<?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>AWS</name>
	<version>2.4.12</version>
  <mincmsversion>1.11.10</mincmsversion>
	<help><![CDATA[PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgJmx0O2pjY0BhdG9tc2VlZHMuY29tJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDIuNC4xMjxiciAvPg==]]></about>
	<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[QVdT]]></data>
	</file>
	<file>
	  <filename>/.idea/AWS.iml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG1vZHVsZSB0eXBlPSJXRUJfTU9EVUxFIiB2ZXJzaW9uPSI0Ij4KICA8Y29tcG9uZW50IG5hbWU9Ik5ld01vZHVsZVJvb3RNYW5hZ2VyIj4KICAgIDxjb250ZW50IHVybD0iZmlsZTovLyRNT0RVTEVfRElSJCIgLz4KICAgIDxvcmRlckVudHJ5IHR5cGU9ImluaGVyaXRlZEpkayIgLz4KICAgIDxvcmRlckVudHJ5IHR5cGU9InNvdXJjZUZvbGRlciIgZm9yVGVzdHM9ImZhbHNlIiAvPgogICAgPG9yZGVyRW50cnkgdHlwZT0ibW9kdWxlLWxpYnJhcnkiPgogICAgICA8bGlicmFyeSBuYW1lPSJQSFAiPgogICAgICAgIDxDTEFTU0VTPgogICAgICAgICAgPHJvb3QgdXJsPSJmaWxlOi8vJE1PRFVMRV9ESVIkLy4uLy4uL2xpYiIgLz4KICAgICAgICA8L0NMQVNTRVM+CiAgICAgICAgPFNPVVJDRVM+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+CiAgPGNvbXBvbmVudCBuYW1lPSJTdm5Db25maWd1cmF0aW9uIiBtYXhBbm5vdGF0ZVJldmlzaW9ucz0iNTAwIiBteVVzZUFjY2VsZXJhdGlvbj0ibm90aGluZyIgbXlBdXRvVXBkYXRlQWZ0ZXJDb21taXQ9ImZhbHNlIiBjbGVhbnVwT25TdGFydFJ1bj0iZmFsc2UiIFNTTF9QUk9UT0NPTFM9InNzbHYzIj4KICAgIDxvcHRpb24gbmFtZT0iVVNFUiIgdmFsdWU9IiIgLz4KICAgIDxvcHRpb24gbmFtZT0iUEFTU1dPUkQiIHZhbHVlPSIiIC8+CiAgICA8b3B0aW9uIG5hbWU9Im15U1NIQ29ubmVjdGlvblRpbWVvdXQiIHZhbHVlPSIzMDAwMCIgLz4KICAgIDxvcHRpb24gbmFtZT0ibXlTU0hSZWFkVGltZW91dCIgdmFsdWU9IjMwMDAwIiAvPgogICAgPG9wdGlvbiBuYW1lPSJMQVNUX01FUkdFRF9SRVZJU0lPTiIgLz4KICAgIDxvcHRpb24gbmFtZT0iTUVSR0VfRFJZX1JVTiIgdmFsdWU9ImZhbHNlIiAvPgogICAgPG9wdGlvbiBuYW1lPSJNRVJHRV9ESUZGX1VTRV9BTkNFU1RSWSIgdmFsdWU9InRydWUiIC8+CiAgICA8b3B0aW9uIG5hbWU9IlVQREFURV9MT0NLX09OX0RFTUFORCIgdmFsdWU9ImZhbHNlIiAvPgogICAgPG9wdGlvbiBuYW1lPSJJR05PUkVfU1BBQ0VTX0lOX01FUkdFIiB2YWx1ZT0iZmFsc2UiIC8+CiAgICA8b3B0aW9uIG5hbWU9IkNIRUNLX05FU1RFRF9GT1JfUVVJQ0tfTUVSR0UiIHZhbHVlPSJmYWxzZSIgLz4KICAgIDxvcHRpb24gbmFtZT0iSUdOT1JFX1NQQUNFU19JTl9BTk5PVEFURSIgdmFsdWU9InRydWUiIC8+CiAgICA8b3B0aW9uIG5hbWU9IlNIT1dfTUVSR0VfU09VUkNFU19JTl9BTk5PVEFURSIgdmFsdWU9InRydWUiIC8+CiAgICA8b3B0aW9uIG5hbWU9IkZPUkNFX1VQREFURSIgdmFsdWU9ImZhbHNlIiAvPgogICAgPG9wdGlvbiBuYW1lPSJJR05PUkVfRVhURVJOQUxTIiB2YWx1ZT0iZmFsc2UiIC8+CiAgICA8bXlJc1VzZURlZmF1bHRQcm94eT5mYWxzZTwvbXlJc1VzZURlZmF1bHRQcm94eT4KICA8L2NvbXBvbmVudD4KPC9wcm9qZWN0PgoK]]></data>
	</file>
	<file>
	  <filename>/.idea/modules.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgdmVyc2lvbj0iNCI+CiAgPGNvbXBvbmVudCBuYW1lPSJQcm9qZWN0TW9kdWxlTWFuYWdlciI+CiAgICA8bW9kdWxlcz4KICAgICAgPG1vZHVsZSBmaWxldXJsPSJmaWxlOi8vJFBST0pFQ1RfRElSJC8uaWRlYS9BV1MuaW1sIiBmaWxlcGF0aD0iJFBST0pFQ1RfRElSJC8uaWRlYS9BV1MuaW1sIiAvPgogICAgPC9tb2R1bGVzPgogIDwvY29tcG9uZW50Pgo8L3Byb2plY3Q+Cgo=]]></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+CiAgICA8bWFwcGluZyBkaXJlY3Rvcnk9IiIgdmNzPSIiIC8+CiAgPC9jb21wb25lbnQ+CjwvcHJvamVjdD4KCg==]]></data>
	</file>
	<file>
	  <filename>/.idea/workspace.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgdmVyc2lvbj0iNCI+CiAgPGNvbXBvbmVudCBuYW1lPSJDaGFuZ2VMaXN0TWFuYWdlciI+CiAgICA8bGlzdCBkZWZhdWx0PSJ0cnVlIiBpZD0iNTZhN2FmOGMtNmNlYi00YmJkLWE1NmYtZmMyZmExNTM5NWM4IiBuYW1lPSJEZWZhdWx0IiBjb21tZW50PSIiIC8+CiAgICA8aWdub3JlZCBwYXRoPSJBV1MuaXdzIiAvPgogICAgPGlnbm9yZWQgcGF0aD0iLmlkZWEvd29ya3NwYWNlLnhtbCIgLz4KICAgIDxvcHRpb24gbmFtZT0iVFJBQ0tJTkdfRU5BQkxFRCIgdmFsdWU9InRydWUiIC8+CiAgICA8b3B0aW9uIG5hbWU9IlNIT1dfRElBTE9HIiB2YWx1ZT0iZmFsc2UiIC8+CiAgICA8b3B0aW9uIG5hbWU9IkhJR0hMSUdIVF9DT05GTElDVFMiIHZhbHVlPSJ0cnVlIiAvPgogICAgPG9wdGlvbiBuYW1lPSJISUdITElHSFRfTk9OX0FDVElWRV9DSEFOR0VMSVNUIiB2YWx1ZT0iZmFsc2UiIC8+CiAgICA8b3B0aW9uIG5hbWU9IkxBU1RfUkVTT0xVVElPTiIgdmFsdWU9IklHTk9SRSIgLz4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IkNoYW5nZXNWaWV3TWFuYWdlciIgZmxhdHRlbmVkX3ZpZXc9InRydWUiIHNob3dfaWdub3JlZD0iZmFsc2UiIC8+CiAgPGNvbXBvbmVudCBuYW1lPSJDcmVhdGVQYXRjaENvbW1pdEV4ZWN1dG9yIj4KICAgIDxvcHRpb24gbmFtZT0iUEFUQ0hfUEFUSCIgdmFsdWU9IiIgLz4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IkRhZW1vbkNvZGVBbmFseXplciI+CiAgICA8ZGlzYWJsZV9oaW50cyAvPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iRXhlY3V0aW9uVGFyZ2V0TWFuYWdlciIgU0VMRUNURURfVEFSR0VUPSJkZWZhdWx0X3RhcmdldCIgLz4KICA8Y29tcG9uZW50IG5hbWU9IkZhdm9yaXRlc01hbmFnZXIiPgogICAgPGZhdm9yaXRlc19saXN0IG5hbWU9IkFXUyIgLz4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IkZpbGVFZGl0b3JNYW5hZ2VyIj4KICAgIDxsZWFmPgogICAgICA8ZmlsZSBsZWFmLWZpbGUtbmFtZT0iQVdTLm1vZHVsZS5waHAiIHBpbm5lZD0iZmFsc2UiIGN1cnJlbnQ9InRydWUiIGN1cnJlbnQtaW4tdGFiPSJ0cnVlIj4KICAgICAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvQVdTLm1vZHVsZS5waHAiPgogICAgICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgICAgICA8c3RhdGUgbGluZT0iMzIiIGNvbHVtbj0iMjIiIHNlbGVjdGlvbi1zdGFydD0iNTMzIiBzZWxlY3Rpb24tZW5kPSI1MzMiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjQ5Mzk2MjY4IiB2ZXJ0aWNhbC1vZmZzZXQ9IjAiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjkxMSI+CiAgICAgICAgICAgICAgPGZvbGRpbmcgLz4KICAgICAgICAgICAgPC9zdGF0ZT4KICAgICAgICAgIDwvcHJvdmlkZXI+CiAgICAgICAgPC9lbnRyeT4KICAgICAgPC9maWxlPgogICAgICA8ZmlsZSBsZWFmLWZpbGUtbmFtZT0iYXV0b2xvYWQucGhwIiBwaW5uZWQ9ImZhbHNlIiBjdXJyZW50PSJmYWxzZSIgY3VycmVudC1pbi10YWI9ImZhbHNlIj4KICAgICAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvbGliL2F1dG9sb2FkLnBocCI+CiAgICAgICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgICAgIDxzdGF0ZSBsaW5lPSIwIiBjb2x1bW49IjAiIHNlbGVjdGlvbi1zdGFydD0iMCIgc2VsZWN0aW9uLWVuZD0iMCIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuMCIgdmVydGljYWwtb2Zmc2V0PSIwIiBtYXgtdmVydGljYWwtb2Zmc2V0PSIxOTUiPgogICAgICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgICAgIDwvc3RhdGU+CiAgICAgICAgICA8L3Byb3ZpZGVyPgogICAgICAgIDwvZW50cnk+CiAgICAgIDwvZmlsZT4KICAgICAgPGZpbGUgbGVhZi1maWxlLW5hbWU9ImF1dG9sb2FkX3JlYWwucGhwIiBwaW5uZWQ9ImZhbHNlIiBjdXJyZW50PSJmYWxzZSIgY3VycmVudC1pbi10YWI9ImZhbHNlIj4KICAgICAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvbGliL2NvbXBvc2VyL2F1dG9sb2FkX3JlYWwucGhwIj4KICAgICAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICAgICAgPHN0YXRlIGxpbmU9IjE3IiBjb2x1bW49IjM3IiBzZWxlY3Rpb24tc3RhcnQ9IjQwOCIgc2VsZWN0aW9uLWVuZD0iNDA4IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iLTEwLjYyNSIgdmVydGljYWwtb2Zmc2V0PSIwIiBtYXgtdmVydGljYWwtb2Zmc2V0PSI3MzUiPgogICAgICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgICAgIDwvc3RhdGU+CiAgICAgICAgICA8L3Byb3ZpZGVyPgogICAgICAgIDwvZW50cnk+CiAgICAgIDwvZmlsZT4KICAgICAgPGZpbGUgbGVhZi1maWxlLW5hbWU9ImF1dG9sb2FkX2NsYXNzbWFwLnBocCIgcGlubmVkPSJmYWxzZSIgY3VycmVudD0iZmFsc2UiIGN1cnJlbnQtaW4tdGFiPSJmYWxzZSI+CiAgICAgICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL2xpYi9jb21wb3Nlci9hdXRvbG9hZF9jbGFzc21hcC5waHAiPgogICAgICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgICAgICA8c3RhdGUgbGluZT0iMCIgY29sdW1uPSIwIiBzZWxlY3Rpb24tc3RhcnQ9IjAiIHNlbGVjdGlvbi1lbmQ9IjAiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjAiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iMjI1Ij4KICAgICAgICAgICAgICA8Zm9sZGluZyAvPgogICAgICAgICAgICA8L3N0YXRlPgogICAgICAgICAgPC9wcm92aWRlcj4KICAgICAgICA8L2VudHJ5PgogICAgICA8L2ZpbGU+CiAgICAgIDxmaWxlIGxlYWYtZmlsZS1uYW1lPSJhdXRvbG9hZF9uYW1lc3BhY2VzLnBocCIgcGlubmVkPSJmYWxzZSIgY3VycmVudD0iZmFsc2UiIGN1cnJlbnQtaW4tdGFiPSJmYWxzZSI+CiAgICAgICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL2xpYi9jb21wb3Nlci9hdXRvbG9hZF9uYW1lc3BhY2VzLnBocCI+CiAgICAgICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgICAgIDxzdGF0ZSBsaW5lPSIxMyIgY29sdW1uPSIwIiBzZWxlY3Rpb24tc3RhcnQ9IjQyNyIgc2VsZWN0aW9uLWVuZD0iNDI3IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC4wIiB2ZXJ0aWNhbC1vZmZzZXQ9IjE5NSIgbWF4LXZlcnRpY2FsLW9mZnNldD0iMjg1Ij4KICAgICAgICAgICAgICA8Zm9sZGluZyAvPgogICAgICAgICAgICA8L3N0YXRlPgogICAgICAgICAgPC9wcm92aWRlcj4KICAgICAgICA8L2VudHJ5PgogICAgICA8L2ZpbGU+CiAgICA8L2xlYWY+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJGaW5kTWFuYWdlciI+CiAgICA8RmluZFVzYWdlc01hbmFnZXI+CiAgICAgIDxzZXR0aW5nIG5hbWU9Ik9QRU5fTkVXX1RBQiIgdmFsdWU9ImZhbHNlIiAvPgogICAgPC9GaW5kVXNhZ2VzTWFuYWdlcj4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IklkZURvY3VtZW50SGlzdG9yeSI+CiAgICA8b3B0aW9uIG5hbWU9ImNoYW5nZWRGaWxlcyI+CiAgICAgIDxsaXN0PgogICAgICAgIDxvcHRpb24gdmFsdWU9IiRQUk9KRUNUX0RJUiQvQVdTLm1vZHVsZS5waHAiIC8+CiAgICAgIDwvbGlzdD4KICAgIDwvb3B0aW9uPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iUGhwV29ya3NwYWNlUHJvamVjdENvbmZpZ3VyYXRpb24iIGJhY2t3YXJkX2NvbXBhdGliaWxpdHlfcGVyZm9ybWVkPSJ0cnVlIj4KICAgIDxpbmNsdWRlX3BhdGg+CiAgICAgIDxwYXRoIHZhbHVlPSIkUFJPSkVDVF9ESVIkLy4uLy4uL2xpYiIgLz4KICAgIDwvaW5jbHVkZV9wYXRoPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iUHJvamVjdEZyYW1lQm91bmRzIj4KICAgIDxvcHRpb24gbmFtZT0ieCIgdmFsdWU9IjYyMCIgLz4KICAgIDxvcHRpb24gbmFtZT0ieSIgdmFsdWU9IjIyOSIgLz4KICAgIDxvcHRpb24gbmFtZT0id2lkdGgiIHZhbHVlPSIxODMwIiAvPgogICAgPG9wdGlvbiBuYW1lPSJoZWlnaHQiIHZhbHVlPSIxMDMyIiAvPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iUHJvamVjdExldmVsVmNzTWFuYWdlciIgc2V0dGluZ3NFZGl0ZWRNYW51YWxseT0iZmFsc2UiPgogICAgPE9wdGlvbnNTZXR0aW5nIHZhbHVlPSJ0cnVlIiBpZD0iQWRkIiAvPgogICAgPE9wdGlvbnNTZXR0aW5nIHZhbHVlPSJ0cnVlIiBpZD0iUmVtb3ZlIiAvPgogICAgPE9wdGlvbnNTZXR0aW5nIHZhbHVlPSJ0cnVlIiBpZD0iQ2hlY2tvdXQiIC8+CiAgICA8T3B0aW9uc1NldHRpbmcgdmFsdWU9InRydWUiIGlkPSJVcGRhdGUiIC8+CiAgICA8T3B0aW9uc1NldHRpbmcgdmFsdWU9InRydWUiIGlkPSJTdGF0dXMiIC8+CiAgICA8T3B0aW9uc1NldHRpbmcgdmFsdWU9InRydWUiIGlkPSJFZGl0IiAvPgogICAgPENvbmZpcm1hdGlvbnNTZXR0aW5nIHZhbHVlPSIwIiBpZD0iQWRkIiAvPgogICAgPENvbmZpcm1hdGlvbnNTZXR0aW5nIHZhbHVlPSIwIiBpZD0iUmVtb3ZlIiAvPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iUHJvamVjdFJlbG9hZFN0YXRlIj4KICAgIDxvcHRpb24gbmFtZT0iU1RBVEUiIHZhbHVlPSIwIiAvPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iUHJvamVjdFZpZXciPgogICAgPG5hdmlnYXRvciBjdXJyZW50Vmlldz0iUHJvamVjdFBhbmUiIHByb3BvcnRpb25zPSIiIHZlcnNpb249IjEiIHNwbGl0dGVyUHJvcG9ydGlvbj0iMC41Ij4KICAgICAgPGZsYXR0ZW5QYWNrYWdlcyAvPgogICAgICA8c2hvd01lbWJlcnMgLz4KICAgICAgPHNob3dNb2R1bGVzIC8+CiAgICAgIDxzaG93TGlicmFyeUNvbnRlbnRzIC8+CiAgICAgIDxoaWRlRW1wdHlQYWNrYWdlcyAvPgogICAgICA8YWJicmV2aWF0ZVBhY2thZ2VOYW1lcyAvPgogICAgICA8YXV0b3Njcm9sbFRvU291cmNlIC8+CiAgICAgIDxhdXRvc2Nyb2xsRnJvbVNvdXJjZSAvPgogICAgICA8c29ydEJ5VHlwZSAvPgogICAgPC9uYXZpZ2F0b3I+CiAgICA8cGFuZXM+CiAgICAgIDxwYW5lIGlkPSJQcm9qZWN0UGFuZSI+CiAgICAgICAgPHN1YlBhbmU+CiAgICAgICAgICA8UEFUSD4KICAgICAgICAgICAgPFBBVEhfRUxFTUVOVD4KICAgICAgICAgICAgICA8b3B0aW9uIG5hbWU9Im15SXRlbUlkIiB2YWx1ZT0iQVdTIiAvPgogICAgICAgICAgICAgIDxvcHRpb24gbmFtZT0ibXlJdGVtVHlwZSIgdmFsdWU9ImNvbS5pbnRlbGxpai5pZGUucHJvamVjdFZpZXcuaW1wbC5ub2Rlcy5Qcm9qZWN0Vmlld1Byb2plY3ROb2RlIiAvPgogICAgICAgICAgICA8L1BBVEhfRUxFTUVOVD4KICAgICAgICAgIDwvUEFUSD4KICAgICAgICAgIDxQQVRIPgogICAgICAgICAgICA8UEFUSF9FTEVNRU5UPgogICAgICAgICAgICAgIDxvcHRpb24gbmFtZT0ibXlJdGVtSWQiIHZhbHVlPSJBV1MiIC8+CiAgICAgICAgICAgICAgPG9wdGlvbiBuYW1lPSJteUl0ZW1UeXBlIiB2YWx1ZT0iY29tLmludGVsbGlqLmlkZS5wcm9qZWN0Vmlldy5pbXBsLm5vZGVzLlByb2plY3RWaWV3UHJvamVjdE5vZGUiIC8+CiAgICAgICAgICAgIDwvUEFUSF9FTEVNRU5UPgogICAgICAgICAgICA8UEFUSF9FTEVNRU5UPgogICAgICAgICAgICAgIDxvcHRpb24gbmFtZT0ibXlJdGVtSWQiIHZhbHVlPSJBV1MiIC8+CiAgICAgICAgICAgICAgPG9wdGlvbiBuYW1lPSJteUl0ZW1UeXBlIiB2YWx1ZT0iY29tLmludGVsbGlqLmlkZS5wcm9qZWN0Vmlldy5pbXBsLm5vZGVzLlBzaURpcmVjdG9yeU5vZGUiIC8+CiAgICAgICAgICAgIDwvUEFUSF9FTEVNRU5UPgogICAgICAgICAgPC9QQVRIPgogICAgICAgIDwvc3ViUGFuZT4KICAgICAgPC9wYW5lPgogICAgICA8cGFuZSBpZD0iU2NvcGUiIC8+CiAgICA8L3BhbmVzPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iUHJvcGVydGllc0NvbXBvbmVudCI+CiAgICA8cHJvcGVydHkgbmFtZT0ib3B0aW9ucy5zcGxpdHRlci5tYWluLnByb3BvcnRpb25zIiB2YWx1ZT0iMC4zIiAvPgogICAgPHByb3BlcnR5IG5hbWU9IldlYlNlcnZlclRvb2xXaW5kb3dGYWN0b3J5U3RhdGUiIHZhbHVlPSJmYWxzZSIgLz4KICAgIDxwcm9wZXJ0eSBuYW1lPSJvcHRpb25zLmxhc3RTZWxlY3RlZCIgdmFsdWU9InByZWZlcmVuY2VzLmZpbGVUeXBlcyIgLz4KICAgIDxwcm9wZXJ0eSBuYW1lPSJsYXN0X29wZW5lZF9maWxlX3BhdGgiIHZhbHVlPSIkUFJPSkVDVF9ESVIkLy4uLy4uL2xpYiIgLz4KICAgIDxwcm9wZXJ0eSBuYW1lPSJvcHRpb25zLnNlYXJjaFZpc2libGUiIHZhbHVlPSJ0cnVlIiAvPgogICAgPHByb3BlcnR5IG5hbWU9Im9wdGlvbnMuc3BsaXR0ZXIuZGV0YWlscy5wcm9wb3J0aW9ucyIgdmFsdWU9IjAuMiIgLz4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IlJ1bk1hbmFnZXIiPgogICAgPGNvbmZpZ3VyYXRpb24gZGVmYXVsdD0idHJ1ZSIgdHlwZT0iUEhQVW5pdFJ1bkNvbmZpZ3VyYXRpb25UeXBlIiBmYWN0b3J5TmFtZT0iUEhQVW5pdCI+CiAgICAgIDxUZXN0UnVubmVyIC8+CiAgICAgIDxtZXRob2QgLz4KICAgIDwvY29uZmlndXJhdGlvbj4KICAgIDxjb25maWd1cmF0aW9uIGRlZmF1bHQ9InRydWUiIHR5cGU9IlBocExvY2FsUnVuQ29uZmlndXJhdGlvblR5cGUiIGZhY3RvcnlOYW1lPSJQSFAgQ29uc29sZSI+CiAgICAgIDxtZXRob2QgLz4KICAgIDwvY29uZmlndXJhdGlvbj4KICAgIDxjb25maWd1cmF0aW9uIGRlZmF1bHQ9InRydWUiIHR5cGU9IkphdmFzY3JpcHREZWJ1Z1R5cGUiIGZhY3RvcnlOYW1lPSJKYXZhU2NyaXB0IERlYnVnIiBzaW5nbGV0b249InRydWUiPgogICAgICA8bWV0aG9kIC8+CiAgICA8L2NvbmZpZ3VyYXRpb24+CiAgICA8Y29uZmlndXJhdGlvbiBkZWZhdWx0PSJ0cnVlIiB0eXBlPSJQaHBVbml0UmVtb3RlUnVuQ29uZmlndXJhdGlvblR5cGUiIGZhY3RvcnlOYW1lPSJQSFBVbml0IG9uIFNlcnZlciI+CiAgICAgIDxtZXRob2QgLz4KICAgIDwvY29uZmlndXJhdGlvbj4KICAgIDxsaXN0IHNpemU9IjAiIC8+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJTaGVsdmVDaGFuZ2VzTWFuYWdlciIgc2hvd19yZWN5Y2xlZD0iZmFsc2UiIC8+CiAgPGNvbXBvbmVudCBuYW1lPSJUYXNrTWFuYWdlciI+CiAgICA8dGFzayBhY3RpdmU9InRydWUiIGlkPSJEZWZhdWx0IiBzdW1tYXJ5PSJEZWZhdWx0IHRhc2siPgogICAgICA8Y2hhbmdlbGlzdCBpZD0iNTZhN2FmOGMtNmNlYi00YmJkLWE1NmYtZmMyZmExNTM5NWM4IiBuYW1lPSJEZWZhdWx0IiBjb21tZW50PSIiIC8+CiAgICAgIDxjcmVhdGVkPjEzODY2OTY1NzMzNjM8L2NyZWF0ZWQ+CiAgICAgIDx1cGRhdGVkPjEzODY2OTY1NzMzNjM8L3VwZGF0ZWQ+CiAgICA8L3Rhc2s+CiAgICA8c2VydmVycyAvPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iVG9vbFdpbmRvd01hbmFnZXIiPgogICAgPGZyYW1lIHg9IjYyMCIgeT0iMjI5IiB3aWR0aD0iMTgzMCIgaGVpZ2h0PSIxMDMyIiBleHRlbmRlZC1zdGF0ZT0iMCIgLz4KICAgIDxlZGl0b3IgYWN0aXZlPSJ0cnVlIiAvPgogICAgPGxheW91dD4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJDaGFuZ2VzIiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9ImJvdHRvbSIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuMzMiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjAiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iVGVybWluYWwiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0iYm90dG9tIiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC4zMyIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iMCIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJUT0RPIiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9ImJvdHRvbSIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuMzMiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjYiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iRGF0YWJhc2UiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0icmlnaHQiIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjMzIiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSIwIiBzaWRlX3Rvb2w9ImZhbHNlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IlN0cnVjdHVyZSIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJsZWZ0IiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC4yNSIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iMSIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJQcm9qZWN0IiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9ImxlZnQiIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJ0cnVlIiB3ZWlnaHQ9IjAuMjQ5NzI2NzciIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjAiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9ImNvbWJvIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IkRlYnVnIiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9ImJvdHRvbSIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuNCIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iMyIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJGYXZvcml0ZXMiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0ibGVmdCIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuMzMiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjAiIHNpZGVfdG9vbD0idHJ1ZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJFdmVudCBMb2ciIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0iYm90dG9tIiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC4zMyIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iMCIgc2lkZV90b29sPSJ0cnVlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IlJ1biIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJib3R0b20iIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjMzIiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSIyIiBzaWRlX3Rvb2w9ImZhbHNlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IlZlcnNpb24gQ29udHJvbCIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJib3R0b20iIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjMzIiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSIwIiBzaWRlX3Rvb2w9ImZhbHNlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IkN2cyIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJib3R0b20iIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjI1IiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSI0IiBzaWRlX3Rvb2w9ImZhbHNlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9Ik1lc3NhZ2UiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0iYm90dG9tIiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC4zMyIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iMCIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJBbnQgQnVpbGQiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0icmlnaHQiIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjI1IiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSIxIiBzaWRlX3Rvb2w9ImZhbHNlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IkZpbmQiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0iYm90dG9tIiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC4zMyIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iMSIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJDb21tYW5kZXIiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0icmlnaHQiIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IlNMSURJTkciIHR5cGU9IlNMSURJTkciIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuNCIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iMCIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJIaWVyYXJjaHkiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0icmlnaHQiIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjI1IiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSIyIiBzaWRlX3Rvb2w9ImZhbHNlIiBjb250ZW50X3VpPSJjb21ibyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJJbnNwZWN0aW9uIiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9ImJvdHRvbSIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuNCIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iNSIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0idGFicyIgLz4KICAgIDwvbGF5b3V0PgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iVmNzLkxvZy5VaVByb3BlcnRpZXMiPgogICAgPG9wdGlvbiBuYW1lPSJSRUNFTlRMWV9GSUxURVJFRF9VU0VSX0dST1VQUyI+CiAgICAgIDxjb2xsZWN0aW9uIC8+CiAgICA8L29wdGlvbj4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IlZjc0NvbnRlbnRBbm5vdGF0aW9uU2V0dGluZ3MiPgogICAgPG9wdGlvbiBuYW1lPSJteUxpbWl0IiB2YWx1ZT0iMjY3ODQwMDAwMCIgLz4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IlZjc01hbmFnZXJDb25maWd1cmF0aW9uIj4KICAgIDxvcHRpb24gbmFtZT0ibXlUb2RvUGFuZWxTZXR0aW5ncyI+CiAgICAgIDxUb2RvUGFuZWxTZXR0aW5ncyAvPgogICAgPC9vcHRpb24+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJYRGVidWdnZXJNYW5hZ2VyIj4KICAgIDxicmVha3BvaW50LW1hbmFnZXIgLz4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9ImVkaXRvckhpc3RvcnlNYW5hZ2VyIj4KICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC8uLi8uLi9saWIvY2xhc3Nlcy9jbGFzcy5DTVNNb2R1bGUucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSIxMTk2IiBjb2x1bW49IjEzIiBzZWxlY3Rpb24tc3RhcnQ9IjI5MDUyIiBzZWxlY3Rpb24tZW5kPSIyOTA1MiIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjEuMDY0MjIwMiIgdmVydGljYWwtb2Zmc2V0PSIxNjc1NyIgbWF4LXZlcnRpY2FsLW9mZnNldD0iNTMwNzAiPgogICAgICAgICAgPGZvbGRpbmcgLz4KICAgICAgICA8L3N0YXRlPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC9saWIvYXV0b2xvYWQucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSIwIiBjb2x1bW49IjAiIHNlbGVjdGlvbi1zdGFydD0iMCIgc2VsZWN0aW9uLWVuZD0iMCIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249Ii0wLjAiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iMTk1Ij4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvbGliL2NvbXBvc2VyL2F1dG9sb2FkX2NsYXNzbWFwLnBocCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iMCIgY29sdW1uPSIwIiBzZWxlY3Rpb24tc3RhcnQ9IjAiIHNlbGVjdGlvbi1lbmQ9IjAiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjAiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iOTA5Ij4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvbGliL2NvbXBvc2VyL2F1dG9sb2FkX25hbWVzcGFjZXMucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSIxMyIgY29sdW1uPSIwIiBzZWxlY3Rpb24tc3RhcnQ9IjQyNyIgc2VsZWN0aW9uLWVuZD0iNDI3IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC4wIiB2ZXJ0aWNhbC1vZmZzZXQ9IjE5NSIgbWF4LXZlcnRpY2FsLW9mZnNldD0iMjg1Ij4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvbGliL2NvbXBvc2VyL2F1dG9sb2FkX3JlYWwucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSIxNyIgY29sdW1uPSIzNyIgc2VsZWN0aW9uLXN0YXJ0PSI0MDgiIHNlbGVjdGlvbi1lbmQ9IjQwOCIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249Ii0xMC42MjUiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iNzM1Ij4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvQVdTLm1vZHVsZS5waHAiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjMyIiBjb2x1bW49IjIyIiBzZWxlY3Rpb24tc3RhcnQ9IjUzMyIgc2VsZWN0aW9uLWVuZD0iNTMzIiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC40OTM5NjI2OCIgdmVydGljYWwtb2Zmc2V0PSIwIiBtYXgtdmVydGljYWwtb2Zmc2V0PSI5MTEiPgogICAgICAgICAgPGZvbGRpbmcgLz4KICAgICAgICA8L3N0YXRlPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICA8L2NvbXBvbmVudD4KPC9wcm9qZWN0PgoK]]></data>
	</file>
	<file>
	  <filename>/AWS.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgICAvKioKICAgICAqIFByb3h5IG1vZHVsZSBmb3IgQW1hem9uIFdlYiBTZXJ2aWNlcwogICAgICovCgpyZXF1aXJlX29uY2UoX19ESVJfXyAuICcvbGliL2F1dG9sb2FkLnBocCcpOwoKY2xhc3MgQVdTIGV4dGVuZHMgQ01TTW9kdWxlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXROYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJ0FXUyc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdBbWF6b24gV2ViIFNlcnZpY2VzJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yKCkKICAgIHsKICAgICAgICByZXR1cm4gJ0plYW4tQ2hyaXN0b3BoZSBDdXZlbGllcic7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkKICAgIHsKICAgICAgICByZXR1cm4gJ2pjY0BhdG9tc2VlZHMuY29tJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICcyLjQuMTInOyAvLyBGb2xsb3cgdGhlIEFXUyBTREsgVmVyc2lvbnMKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gQXV0b2xvYWQoKQogICAgewogICAgICAgIHJlcXVpcmVfb25jZShfX0RJUl9fIC4gJy9saWIvYXV0b2xvYWQucGhwJyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewoJIm5hbWUiOiAiYXdzL2F3cyIsCgkiZGVzY3JpcHRpb24iOiAiQW1hem9uIFdlYiBTZXJ2aWNlcyBmb3IgQ01TIE1hZGUgU2ltcGxlIiwKICAgICJyZXF1aXJlIjogewogICAgICAgICJhd3MvYXdzLXNkay1waHAiOiAiMi40LioiCiAgICB9LAoJImNvbmZpZyI6IHsKCQkidmVuZG9yLWRpciI6ImxpYiIJCgl9Cn0=]]></data>
	</file>
	<file>
	  <filename>/composer.lock</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIl9yZWFkbWUiOiBbCiAgICAgICAgIlRoaXMgZmlsZSBsb2NrcyB0aGUgZGVwZW5kZW5jaWVzIG9mIHlvdXIgcHJvamVjdCB0byBhIGtub3duIHN0YXRlIiwKICAgICAgICAiUmVhZCBtb3JlIGFib3V0IGl0IGF0IGh0dHA6Ly9nZXRjb21wb3Nlci5vcmcvZG9jLzAxLWJhc2ljLXVzYWdlLm1kI2NvbXBvc2VyLWxvY2stdGhlLWxvY2stZmlsZSIKICAgIF0sCiAgICAiaGFzaCI6ICI1NzVjNTJkMDg4Y2VlOTkzZDg0YTZlZGRhMDZiNzRjNyIsCiAgICAicGFja2FnZXMiOiBbCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJhd3MvYXdzLXNkay1waHAiLAogICAgICAgICAgICAidmVyc2lvbiI6ICIyLjQuMTIiLAogICAgICAgICAgICAic291cmNlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiZ2l0IiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3Mtc2RrLXBocC5naXQiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI2MWVhZjY3NWI3ZGU5Y2U4YjJjNmI0NDMxN2IwMWU2ODE4ZWExNmMzIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlzdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInppcCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXdzL2F3cy1zZGstcGhwL3ppcGJhbGwvNjFlYWY2NzViN2RlOWNlOGIyYzZiNDQzMTdiMDFlNjgxOGVhMTZjMyIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogIjYxZWFmNjc1YjdkZTljZThiMmM2YjQ0MzE3YjAxZTY4MThlYTE2YzMiLAogICAgICAgICAgICAgICAgInNoYXN1bSI6ICIiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlIjogewogICAgICAgICAgICAgICAgImd1enpsZS9ndXp6bGUiOiAiPj0zLjcuMCw8My45LjAiLAogICAgICAgICAgICAgICAgInBocCI6ICI+PTUuMy4zIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZS1kZXYiOiB7CiAgICAgICAgICAgICAgICAiZG9jdHJpbmUvY2FjaGUiOiAifjEuMCIsCiAgICAgICAgICAgICAgICAiZXh0LW9wZW5zc2wiOiAiKiIsCiAgICAgICAgICAgICAgICAibW9ub2xvZy9tb25vbG9nIjogIjEuNC4qIiwKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocHVuaXQiOiAiMy43LioiLAogICAgICAgICAgICAgICAgInN5bWZvbnkvY2xhc3MtbG9hZGVyIjogIjIuKiIsCiAgICAgICAgICAgICAgICAic3ltZm9ueS95YW1sIjogIjIuKiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInN1Z2dlc3QiOiB7CiAgICAgICAgICAgICAgICAiZG9jdHJpbmUvY2FjaGUiOiAiQWRkcyBzdXBwb3J0IGZvciBjYWNoaW5nIG9mIGNyZWRlbnRpYWxzIGFuZCByZXNwb25zZXMiLAogICAgICAgICAgICAgICAgImV4dC1hcGMiOiAiQWxsb3dzIHNlcnZpY2UgZGVzY3JpcHRpb24gb3Bjb2RlIGNhY2hpbmcsIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGNhY2hpbmcsIGFuZCBjcmVkZW50aWFscyBjYWNoaW5nIiwKICAgICAgICAgICAgICAgICJleHQtb3BlbnNzbCI6ICJBbGxvd3Mgd29ya2luZyB3aXRoIENsb3VkRnJvbnQgcHJpdmF0ZSBkaXN0cmlidXRpb25zIGFuZCB2ZXJpZnlpbmcgcmVjZWl2ZWQgU05TIG1lc3NhZ2VzIiwKICAgICAgICAgICAgICAgICJtb25vbG9nL21vbm9sb2ciOiAiQWRkcyBzdXBwb3J0IGZvciBsb2dnaW5nIEhUVFAgcmVxdWVzdHMgYW5kIHJlc3BvbnNlcyIsCiAgICAgICAgICAgICAgICAic3ltZm9ueS95YW1sIjogIkVhc2VzIHRoZSBhYmlsaXR5IHRvIHdyaXRlIG1hbmlmZXN0cyBmb3IgY3JlYXRpbmcgam9icyBpbiBBV1MgSW1wb3J0L0V4cG9ydCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMi40LngtZGV2IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgICAgICAgICAicHNyLTAiOiB7CiAgICAgICAgICAgICAgICAgICAgIkF3cyI6ICJzcmMvIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAibm90aWZpY2F0aW9uLXVybCI6ICJodHRwczovL3BhY2thZ2lzdC5vcmcvZG93bmxvYWRzLyIsCiAgICAgICAgICAgICJsaWNlbnNlIjogWwogICAgICAgICAgICAgICAgIkFwYWNoZS0yLjAiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIkFtYXpvbiBXZWIgU2VydmljZXMiLAogICAgICAgICAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwOi8vYXdzLmFtYXpvbi5jb20iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBV1MgU0RLIGZvciBQSFAgLSBVc2UgQW1hem9uIFdlYiBTZXJ2aWNlcyBpbiB5b3VyIFBIUCBwcm9qZWN0IiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHA6Ly9hd3MuYW1hem9uLmNvbS9zZGtmb3JwaHAiLAogICAgICAgICAgICAia2V5d29yZHMiOiBbCiAgICAgICAgICAgICAgICAiYW1hem9uIiwKICAgICAgICAgICAgICAgICJhd3MiLAogICAgICAgICAgICAgICAgImNsb3VkIiwKICAgICAgICAgICAgICAgICJkeW5hbW9kYiIsCiAgICAgICAgICAgICAgICAiZWMyIiwKICAgICAgICAgICAgICAgICJnbGFjaWVyIiwKICAgICAgICAgICAgICAgICJzMyIsCiAgICAgICAgICAgICAgICAic2RrIgogICAgICAgICAgICBdLAogICAgICAgICAgICAidGltZSI6ICIyMDEzLTEyLTEyIDE5OjM1OjUxIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJndXp6bGUvZ3V6emxlIiwKICAgICAgICAgICAgInZlcnNpb24iOiAidjMuOC4xIiwKICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImdpdCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ndXp6bGUvZ3V6emxlLmdpdCIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogIjRkZTA2MThhMDFiMzRhYTFjOGMzM2EzZjEzZjM5NmRjZDM4ODJlYmEiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaXN0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiemlwIiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9ndXp6bGUvZ3V6emxlL3ppcGJhbGwvNGRlMDYxOGEwMWIzNGFhMWM4YzMzYTNmMTNmMzk2ZGNkMzg4MmViYSIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogIjRkZTA2MThhMDFiMzRhYTFjOGMzM2EzZjEzZjM5NmRjZDM4ODJlYmEiLAogICAgICAgICAgICAgICAgInNoYXN1bSI6ICIiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlIjogewogICAgICAgICAgICAgICAgImV4dC1jdXJsIjogIioiLAogICAgICAgICAgICAgICAgInBocCI6ICI+PTUuMy4zIiwKICAgICAgICAgICAgICAgICJzeW1mb255L2V2ZW50LWRpc3BhdGNoZXIiOiAiPj0yLjEiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXBsYWNlIjogewogICAgICAgICAgICAgICAgImd1enpsZS9iYXRjaCI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAgICAgImd1enpsZS9jYWNoZSI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAgICAgImd1enpsZS9jb21tb24iOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAgICAgICAgICJndXp6bGUvaHR0cCI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAgICAgImd1enpsZS9pbmZsZWN0aW9uIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgICAgICAgICAiZ3V6emxlL2l0ZXJhdG9yIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgICAgICAgICAiZ3V6emxlL2xvZyI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAgICAgImd1enpsZS9wYXJzZXIiOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAgICAgICAgICJndXp6bGUvcGx1Z2luIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgICAgICAgICAiZ3V6emxlL3BsdWdpbi1hc3luYyI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAgICAgImd1enpsZS9wbHVnaW4tYmFja29mZiI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAgICAgImd1enpsZS9wbHVnaW4tY2FjaGUiOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAgICAgICAgICJndXp6bGUvcGx1Z2luLWNvb2tpZSI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAgICAgImd1enpsZS9wbHVnaW4tY3VybGF1dGgiOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAgICAgICAgICJndXp6bGUvcGx1Z2luLWVycm9yLXJlc3BvbnNlIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgICAgICAgICAiZ3V6emxlL3BsdWdpbi1oaXN0b3J5IjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgICAgICAgICAiZ3V6emxlL3BsdWdpbi1sb2ciOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAgICAgICAgICJndXp6bGUvcGx1Z2luLW1kNSI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAgICAgImd1enpsZS9wbHVnaW4tbW9jayI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAgICAgImd1enpsZS9wbHVnaW4tb2F1dGgiOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAgICAgICAgICJndXp6bGUvc2VydmljZSI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAgICAgImd1enpsZS9zdHJlYW0iOiAic2VsZi52ZXJzaW9uIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZS1kZXYiOiB7CiAgICAgICAgICAgICAgICAiZG9jdHJpbmUvY2FjaGUiOiAiKiIsCiAgICAgICAgICAgICAgICAibW9ub2xvZy9tb25vbG9nIjogIjEuKiIsCiAgICAgICAgICAgICAgICAicGhwdW5pdC9waHB1bml0IjogIjMuNy4qIiwKICAgICAgICAgICAgICAgICJwc3IvbG9nIjogIjEuMC4qIiwKICAgICAgICAgICAgICAgICJzeW1mb255L2NsYXNzLWxvYWRlciI6ICIqIiwKICAgICAgICAgICAgICAgICJ6ZW5kZnJhbWV3b3JrL3plbmQtY2FjaGUiOiAiPDIuMyIsCiAgICAgICAgICAgICAgICAiemVuZGZyYW1ld29yay96ZW5kLWxvZyI6ICI8Mi4zIgogICAgICAgICAgICB9LAogICAgICAgICAgICAidHlwZSI6ICJsaWJyYXJ5IiwKICAgICAgICAgICAgImV4dHJhIjogewogICAgICAgICAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgICAgICAgICAiZGV2LW1hc3RlciI6ICIzLjgtZGV2IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgICAgICAgICAicHNyLTAiOiB7CiAgICAgICAgICAgICAgICAgICAgIkd1enpsZSI6ICJzcmMvIiwKICAgICAgICAgICAgICAgICAgICAiR3V6emxlXFxUZXN0cyI6ICJ0ZXN0cy8iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJub3RpZmljYXRpb24tdXJsIjogImh0dHBzOi8vcGFja2FnaXN0Lm9yZy9kb3dubG9hZHMvIiwKICAgICAgICAgICAgImxpY2Vuc2UiOiBbCiAgICAgICAgICAgICAgICAiTUlUIgogICAgICAgICAgICBdLAogICAgICAgICAgICAiYXV0aG9ycyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJNaWNoYWVsIERvd2xpbmciLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJtdGRvd2xpbmdAZ21haWwuY29tIiwKICAgICAgICAgICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly9naXRodWIuY29tL210ZG93bGluZyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiR3V6emxlIENvbW11bml0eSIsCiAgICAgICAgICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ndXp6bGUvZ3V6emxlL2NvbnRyaWJ1dG9ycyIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkd1enpsZSBpcyBhIFBIUCBIVFRQIGNsaWVudCBsaWJyYXJ5IGFuZCBmcmFtZXdvcmsgZm9yIGJ1aWxkaW5nIFJFU1RmdWwgd2ViIHNlcnZpY2UgY2xpZW50cyIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwOi8vZ3V6emxlcGhwLm9yZy8iLAogICAgICAgICAgICAia2V5d29yZHMiOiBbCiAgICAgICAgICAgICAgICAiY2xpZW50IiwKICAgICAgICAgICAgICAgICJjdXJsIiwKICAgICAgICAgICAgICAgICJmcmFtZXdvcmsiLAogICAgICAgICAgICAgICAgImh0dHAiLAogICAgICAgICAgICAgICAgImh0dHAgY2xpZW50IiwKICAgICAgICAgICAgICAgICJyZXN0IiwKICAgICAgICAgICAgICAgICJ3ZWIgc2VydmljZSIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInRpbWUiOiAiMjAxNC0wMS0yOCAyMjoyOToxNSIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAic3ltZm9ueS9ldmVudC1kaXNwYXRjaGVyIiwKICAgICAgICAgICAgInZlcnNpb24iOiAidjIuNC4yIiwKICAgICAgICAgICAgInRhcmdldC1kaXIiOiAiU3ltZm9ueS9Db21wb25lbnQvRXZlbnREaXNwYXRjaGVyIiwKICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImdpdCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zeW1mb255L0V2ZW50RGlzcGF0Y2hlci5naXQiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI0NzA4YjhjZDQxOTg0YTViYTI5ZmU3ZGQ0MDcxNmY3Zjc2MWFjNTAxIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlzdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInppcCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvc3ltZm9ueS9FdmVudERpc3BhdGNoZXIvemlwYmFsbC80NzA4YjhjZDQxOTg0YTViYTI5ZmU3ZGQ0MDcxNmY3Zjc2MWFjNTAxIiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiNDcwOGI4Y2Q0MTk4NGE1YmEyOWZlN2RkNDA3MTZmN2Y3NjFhYzUwMSIsCiAgICAgICAgICAgICAgICAic2hhc3VtIjogIiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICAgICAicGhwIjogIj49NS4zLjMiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlLWRldiI6IHsKICAgICAgICAgICAgICAgICJzeW1mb255L2RlcGVuZGVuY3ktaW5qZWN0aW9uIjogIn4yLjAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJzdWdnZXN0IjogewogICAgICAgICAgICAgICAgInN5bWZvbnkvZGVwZW5kZW5jeS1pbmplY3Rpb24iOiAiIiwKICAgICAgICAgICAgICAgICJzeW1mb255L2h0dHAta2VybmVsIjogIiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMi40LWRldiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImF1dG9sb2FkIjogewogICAgICAgICAgICAgICAgInBzci0wIjogewogICAgICAgICAgICAgICAgICAgICJTeW1mb255XFxDb21wb25lbnRcXEV2ZW50RGlzcGF0Y2hlclxcIjogIiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbi11cmwiOiAiaHR0cHM6Ly9wYWNrYWdpc3Qub3JnL2Rvd25sb2Fkcy8iLAogICAgICAgICAgICAibGljZW5zZSI6IFsKICAgICAgICAgICAgICAgICJNSVQiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIkZhYmllbiBQb3RlbmNpZXIiLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJmYWJpZW5Ac3ltZm9ueS5jb20iLAogICAgICAgICAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwOi8vZmFiaWVuLnBvdGVuY2llci5vcmciLAogICAgICAgICAgICAgICAgICAgICJyb2xlIjogIkxlYWQgRGV2ZWxvcGVyIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJTeW1mb255IENvbW11bml0eSIsCiAgICAgICAgICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHA6Ly9zeW1mb255LmNvbS9jb250cmlidXRvcnMiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTeW1mb255IEV2ZW50RGlzcGF0Y2hlciBDb21wb25lbnQiLAogICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cDovL3N5bWZvbnkuY29tIiwKICAgICAgICAgICAgInRpbWUiOiAiMjAxNC0wMi0xMSAxMzo1MjowOSIKICAgICAgICB9CiAgICBdLAogICAgInBhY2thZ2VzLWRldiI6IFsKCiAgICBdLAogICAgImFsaWFzZXMiOiBbCgogICAgXSwKICAgICJtaW5pbXVtLXN0YWJpbGl0eSI6ICJzdGFibGUiLAogICAgInN0YWJpbGl0eS1mbGFncyI6IFsKCiAgICBdLAogICAgInBsYXRmb3JtIjogWwoKICAgIF0sCiAgICAicGxhdGZvcm0tZGV2IjogWwoKICAgIF0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/autoload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIGF1dG9sb2FkLnBocCBAZ2VuZXJhdGVkIGJ5IENvbXBvc2VyCgpyZXF1aXJlX29uY2UgX19ESVJfXyAuICcvY29tcG9zZXInIC4gJy9hdXRvbG9hZF9yZWFsLnBocCc7CgpyZXR1cm4gQ29tcG9zZXJBdXRvbG9hZGVySW5pdGU3MjdhNzUzNWEwOTVlZWZkMjE5YjUwOTI5MDJkOTAwOjpnZXRMb2FkZXIoKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/.travis.yml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[bGFuZ3VhZ2U6IHBocApwaHA6CiAgLSA1LjMKICAtIDUuNAogIC0gNS41CmJlZm9yZV9zY3JpcHQ6Ci0gc2ggLWMgJ2lmIFsgJChwaHAgLXIgImVjaG8gUEhQX01JTk9SX1ZFUlNJT047IikgLWxlIDQgXTsgdGhlbiBlY2hvICJleHRlbnNpb24gPSBhcGMuc28iID4+IH4vLnBocGVudi92ZXJzaW9ucy8kKHBocGVudiB2ZXJzaW9uLW5hbWUpL2V0Yy9waHAuaW5pOyBmaTsnCi0gY3AgdGVzdF9zZXJ2aWNlcy5qc29uLmRpc3QgdGVzdF9zZXJ2aWNlcy5qc29uCi0gY29tcG9zZXIgaW5zdGFsbCAtLWRldgpzY3JpcHQ6IHZlbmRvci9iaW4vcGhwdW5pdAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/build.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgbmFtZT0iYXdzLXNkay1mb3ItcGhwIiBkZWZhdWx0PSJ0ZXN0Ij4KCiAgICA8cHJvcGVydHkgbmFtZT0iZGlyLm91dHB1dCIgdmFsdWU9IiR7cHJvamVjdC5iYXNlZGlyfS9idWlsZC9hcnRpZmFjdHMiIC8+CiAgICA8cHJvcGVydHkgbmFtZT0iY292ZXJhZ2UiIHZhbHVlPSJmYWxzZSIgLz4KICAgIDxwcm9wZXJ0eSBuYW1lPSJtb2NrIiB2YWx1ZT0iZmFsc2UiIC8+CiAgICA8cHJvcGVydHkgbmFtZT0ibWluIiB2YWx1ZT0iZmFsc2UiIC8+CiAgICA8cHJvcGVydHkgbmFtZT0ic2RrX3VybCIgdmFsdWU9Imh0dHA6Ly9hd3MuYW1hem9uLmNvbS9zZGtmb3JwaHAyIiAvPgoKICAgIDxmaWxlc2V0IGlkPSJzcmNfZmlsZXMiIGRpcj0iJHtwcm9qZWN0LmJhc2VkaXJ9L3NyYyIgaW5jbHVkZXM9IioqLyoucGhwIiAvPgoKICAgIDx0YXJnZXQgbmFtZT0idGVzdCIgZGVzY3JpcHRpb249IlJ1biB1bml0IHRlc3RzIiBkZXBlbmRzPSJ0ZXN0LWluaXQiPgogICAgICAgIDxleGVjIHBhc3N0aHJ1PSJ0cnVlIiBjb21tYW5kPSJ2ZW5kb3IvYmluL3BocHVuaXQiIC8+CiAgICA8L3RhcmdldD4KCiAgICA8dGFyZ2V0IG5hbWU9ImludGVncmF0aW9uIiBkZXNjcmlwdGlvbj0iUnVuIGludGVncmF0aW9uIHRlc3RzIj4KICAgICAgICA8aWY+CiAgICAgICAgICAgIDxpc3NldCBwcm9wZXJ0eT0ic2VydmljZSIgLz4KICAgICAgICAgICAgPHRoZW4+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGVzdHBhdGgiIHZhbHVlPSJ0ZXN0cy9Bd3MvVGVzdHMvJHtzZXJ2aWNlfSIgLz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZT4KICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGVzdHBhdGgiIHZhbHVlPSIiIC8+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICA8L2lmPgogICAgICAgIDxpZj4KICAgICAgICAgICAgPGF2YWlsYWJsZSBmaWxlPSJwaHB1bml0LmZ1bmN0aW9uYWwueG1sIiAvPgogICAgICAgICAgICA8dGhlbj4KICAgICAgICAgICAgICAgIDxpZj4KICAgICAgICAgICAgICAgICAgICA8ZXF1YWxzIGFyZzE9IiR7bW9ja30iIGFyZzI9InRydWUiIC8+CiAgICAgICAgICAgICAgICAgICAgPHRoZW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlY2hvPnBocCAtZCBtb2NrPXRydWUgYHdoaWNoIHBocHVuaXRgIC1jIHBocHVuaXQuZnVuY3Rpb25hbC54bWw8L2VjaG8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleGVjIHBhc3N0aHJ1PSJ0cnVlIiBjb21tYW5kPSJwaHAgLWQgbW9jaz10cnVlIGB3aGljaCBwaHB1bml0YCAtYyBwaHB1bml0LmZ1bmN0aW9uYWwueG1sICR7dGVzdHBhdGh9IiAvPgogICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICA8ZWxzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4ZWMgcGFzc3RocnU9InRydWUiIGNvbW1hbmQ9InBocHVuaXQgLWMgcGhwdW5pdC5mdW5jdGlvbmFsLnhtbCAke3Rlc3RwYXRofSIgLz4KICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgICA8L2lmPgogICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDxlbHNlPgogICAgICAgICAgICAgICAgPGZhaWw+WW91IG11c3QgY29weSBwaHB1bml0LmZ1bmN0aW9uYWwuZGlzdCB0byBwaHB1bml0LmZ1bmN0aW9uYWwueG1sIGFuZCBtb2RpZnkgdGhlIGFwcHJvcHJpYXRlIHByb3BlcnR5IHNldHRpbmdzPC9mYWlsPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgPC9pZj4KICAgIDwvdGFyZ2V0PgoKICAgIDx0YXJnZXQgbmFtZT0iY3JlYXRlLXN0YWdpbmciIGRlc2NyaXB0aW9uPSJDcmVhdGVzIGEgc3RhZ2luZyBkaXJlY3RvcnkgZm9yIHppcCBhbmQgcGhhciBjcmVhdGlvbiI+CgogICAgICAgIDxkZWxldGUgZGlyPSIke2Rpci5vdXRwdXR9L3N0YWdpbmciIGZhaWxvbmVycm9yPSJmYWxzZSIgcXVpZXQ9InRydWUiLz4KICAgICAgICA8bWtkaXIgZGlyPSIke2Rpci5vdXRwdXR9L3N0YWdpbmciLz4KICAgICAgICA8bWtkaXIgZGlyPSIke2Rpci5vdXRwdXR9L3N0YWdpbmcvQXdzIi8+CiAgICAgICAgPG1rZGlyIGRpcj0iJHtkaXIub3V0cHV0fS9zdGFnaW5nL0d1enpsZSIvPgogICAgICAgIDxta2RpciBkaXI9IiR7ZGlyLm91dHB1dH0vc3RhZ2luZy9Eb2N0cmluZS9Db21tb24vQ2FjaGUiLz4KICAgICAgICA8bWtkaXIgZGlyPSIke2Rpci5vdXRwdXR9L3N0YWdpbmcvU3ltZm9ueSIvPgogICAgICAgIDxta2RpciBkaXI9IiR7ZGlyLm91dHB1dH0vc3RhZ2luZy9Nb25vbG9nIi8+CgogICAgICAgIDxwYXR0ZXJuc2V0IGlkPSJzZGstZmlsZXMiPgogICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSIqKi8qLnBocCIgLz4KICAgICAgICAgICAgPGluY2x1ZGUgbmFtZT0iKiovKi5wZW0iIC8+CiAgICAgICAgICAgIDxpbmNsdWRlIG5hbWU9IioqLyoubWQ1IiAvPgogICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSIqKi9MSUNFTlNFKiIgLz4KICAgICAgICA8L3BhdHRlcm5zZXQ+CgogICAgICAgIDwhLS0gQ29weSBBV1MgZGVwcyAtLT4KICAgICAgICA8Y29weSBmaWxlPSIke3Byb2plY3QuYmFzZWRpcn0vYnVpbGQvYXdzLWF1dG9sb2FkZXIucGhwIiB0b2ZpbGU9IiR7ZGlyLm91dHB1dH0vc3RhZ2luZy9hd3MtYXV0b2xvYWRlci5waHAiLz4KICAgICAgICA8Y29weSB0b2Rpcj0iJHtkaXIub3V0cHV0fS9zdGFnaW5nIj4KICAgICAgICAgICAgPGZpbGVzZXQgZGlyPSJzcmMiPgogICAgICAgICAgICAgICAgPHBhdHRlcm5zZXQgcmVmaWQ9InNkay1maWxlcyIvPgogICAgICAgICAgICA8L2ZpbGVzZXQ+CiAgICAgICAgPC9jb3B5PgogICAgICAgIDxjb3B5IGZpbGU9IiR7cHJvamVjdC5iYXNlZGlyfS9MSUNFTlNFLm1kIiB0b2ZpbGU9IiR7ZGlyLm91dHB1dH0vc3RhZ2luZy9Bd3MvTElDRU5TRS5tZCIvPgogICAgICAgIDxjb3B5IGZpbGU9IiR7cHJvamVjdC5iYXNlZGlyfS9OT1RJQ0UubWQiIHRvZmlsZT0iJHtkaXIub3V0cHV0fS9zdGFnaW5nL0F3cy9OT1RJQ0UubWQiLz4KCiAgICAgICAgPCEtLSBDb3B5IFN5bWZvbnkgZGVwZW5kZW5jaWVzIC0tPgogICAgICAgIDxjb3B5IHRvZGlyPSIke2Rpci5vdXRwdXR9L3N0YWdpbmciPgogICAgICAgICAgICA8ZmlsZXNldCBkaXI9InZlbmRvci9zeW1mb255L2V2ZW50LWRpc3BhdGNoZXIiPgogICAgICAgICAgICAgICAgPGluY2x1ZGUgbmFtZT0iKiovKi5waHAiIC8+CiAgICAgICAgICAgIDwvZmlsZXNldD4KICAgICAgICA8L2NvcHk+CiAgICAgICAgPGNvcHkgdG9kaXI9IiR7ZGlyLm91dHB1dH0vc3RhZ2luZyI+CiAgICAgICAgICAgIDxmaWxlc2V0IGRpcj0idmVuZG9yL3N5bWZvbnkvY2xhc3MtbG9hZGVyIj4KICAgICAgICAgICAgICAgIDxpbmNsdWRlIG5hbWU9IioqLyoucGhwIiAvPgogICAgICAgICAgICA8L2ZpbGVzZXQ+CiAgICAgICAgPC9jb3B5PgoKICAgICAgICA8IS0tIENvcHkgR3V6emxlIGRlcHMgLS0+CiAgICAgICAgPGNvcHkgdG9kaXI9IiR7ZGlyLm91dHB1dH0vc3RhZ2luZyI+CiAgICAgICAgICAgIDxmaWxlc2V0IGRpcj0idmVuZG9yL2d1enpsZS9ndXp6bGUvc3JjIj4KICAgICAgICAgICAgICAgIDxwYXR0ZXJuc2V0IHJlZmlkPSJzZGstZmlsZXMiLz4KICAgICAgICAgICAgPC9maWxlc2V0PgogICAgICAgIDwvY29weT4KCiAgICAgICAgPCEtLSBDb3B5IE1vbm9sb2cgZGVwcyAtLT4KICAgICAgICA8Y29weSB0b2Rpcj0iJHtkaXIub3V0cHV0fS9zdGFnaW5nIj4KICAgICAgICAgICAgPGZpbGVzZXQgZGlyPSJ2ZW5kb3IvbW9ub2xvZy9tb25vbG9nL3NyYyI+CiAgICAgICAgICAgICAgICA8cGF0dGVybnNldCByZWZpZD0ic2RrLWZpbGVzIi8+CiAgICAgICAgICAgIDwvZmlsZXNldD4KICAgICAgICA8L2NvcHk+CgogICAgICAgIDwhLS0gQ29weSBQU1IgZGVwcyAtLT4KICAgICAgICA8Y29weSB0b2Rpcj0iJHtkaXIub3V0cHV0fS9zdGFnaW5nIj4KICAgICAgICAgICAgPGZpbGVzZXQgZGlyPSJ2ZW5kb3IvcHNyL2xvZyI+CiAgICAgICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSIqKi8qLnBocCIgLz4KICAgICAgICAgICAgPC9maWxlc2V0PgogICAgICAgIDwvY29weT4KCiAgICAgICAgPCEtLSBDb3B5IERvY3RyaW5lIGRlcHMgLS0+CiAgICAgICAgPGNvcHkgdG9kaXI9IiR7ZGlyLm91dHB1dH0vc3RhZ2luZyI+CiAgICAgICAgICAgIDxmaWxlc2V0IGRpcj0idmVuZG9yL2RvY3RyaW5lL2NhY2hlL2xpYiI+CiAgICAgICAgICAgICAgICA8cGF0dGVybnNldCByZWZpZD0ic2RrLWZpbGVzIi8+CiAgICAgICAgICAgIDwvZmlsZXNldD4KICAgICAgICA8L2NvcHk+CgogICAgPC90YXJnZXQ+CgogICAgPHRhcmdldCBuYW1lPSJwaGFyIiBkZXBlbmRzPSJjcmVhdGUtc3RhZ2luZyIgZGVzY3JpcHRpb249IkNyZWF0ZSBhIHBoYXIgd2l0aCBhbiBhdXRvbG9hZGVyIj4KICAgICAgICA8cGhhcnBhY2thZ2UgZGVzdGZpbGU9ImJ1aWxkL2F3cy5waGFyIiBzdHViPSJidWlsZC9waGFyLXN0dWIucGhwIiBiYXNlZGlyPSIke2Rpci5vdXRwdXR9L3N0YWdpbmciPgogICAgICAgICAgICA8ZmlsZXNldCBkaXI9IiR7ZGlyLm91dHB1dH0vc3RhZ2luZyI+CiAgICAgICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSIqKi8qKiIvPgogICAgICAgICAgICA8L2ZpbGVzZXQ+CiAgICAgICAgICAgIDxtZXRhZGF0YT4KICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImxpbmsiIHZhbHVlPSIke3Nka191cmx9IiAvPgogICAgICAgICAgICA8L21ldGFkYXRhPgogICAgICAgIDwvcGhhcnBhY2thZ2U+CiAgICA8L3RhcmdldD4KCiAgICA8dGFyZ2V0IG5hbWU9InppcCIgZGVwZW5kcz0iY3JlYXRlLXN0YWdpbmciIGRlc2NyaXB0aW9uPSJDcmVhdGUgYSBaSVAgZmlsZSBjb250YWluaW5nIHRoZSBTREsgYW5kIGl0cyBkZXBlbmRlbmNpZXMiPgogICAgICAgIDx6aXAgZGVzdGZpbGU9ImJ1aWxkL2F3cy56aXAiIGJhc2VkaXI9IiR7ZGlyLm91dHB1dH0vc3RhZ2luZyI+CiAgICAgICAgICAgIDxmaWxlc2V0IGRpcj0iJHtkaXIub3V0cHV0fS9zdGFnaW5nIj4KICAgICAgICAgICAgICAgIDxpbmNsdWRlIG5hbWU9IioqLyoqIi8+CiAgICAgICAgICAgIDwvZmlsZXNldD4KICAgICAgICA8L3ppcD4KICAgIDwvdGFyZ2V0PgoKICAgIDx0YXJnZXQgbmFtZT0idGVzdC1pbml0IiBkZXNjcmlwdGlvbj0iSW5pdGlhbGl6ZSB0ZXN0IGRlcGVuZGVuY2llcyI+CiAgICAgICAgPGNvcHkgZmlsZT0icGhwdW5pdC54bWwuZGlzdCIgdG9maWxlPSJwaHB1bml0LnhtbCIgb3ZlcndyaXRlPSJmYWxzZSIgLz4KICAgICAgICA8Y29weSBmaWxlPSJwaHB1bml0LmZ1bmN0aW9uYWwueG1sLmRpc3QiIHRvZmlsZT0icGhwdW5pdC5mdW5jdGlvbmFsLnhtbCIgb3ZlcndyaXRlPSJmYWxzZSIgLz4KICAgICAgICA8Y29weSBmaWxlPSJ0ZXN0X3NlcnZpY2VzLmpzb24uZGlzdCIgdG9maWxlPSJ0ZXN0X3NlcnZpY2VzLmpzb24iIG92ZXJ3cml0ZT0iZmFsc2UiIC8+CiAgICA8L3RhcmdldD4KCiAgICA8dGFyZ2V0IG5hbWU9ImNsZWFuIiBkZXNjcmlwdGlvbj0iRGVsZXRlcyBidWlsZCBhcnRpZmFjdHMiPgogICAgICAgIDxkZWxldGUgZGlyPSIke2Rpci5vdXRwdXR9Ii8+CiAgICA8L3RhcmdldD4KCiAgICA8dGFyZ2V0IG5hbWU9InByZXBhcmUiIGRlcGVuZHM9ImNsZWFuLHRlc3QtaW5pdCI+CiAgICAgICAgPG1rZGlyIGRpcj0iJHtkaXIub3V0cHV0fSIvPgogICAgICAgIDxta2RpciBkaXI9IiR7ZGlyLm91dHB1dH0vbG9ncyIgLz4KICAgIDwvdGFyZ2V0PgoKICAgIDx0YXJnZXQgbmFtZT0iY2xlYW4tZGVwZW5kZW5jaWVzIiBkZXNjcmlwdGlvbj0iRGVsZXRlcyBhbGwgZGVwZW5kZW5jaWVzIGRvd25sb2FkZWQgYnkgQ29tcG9zZXIiPgogICAgICAgIDxkZWxldGUgZGlyPSIke3Byb2plY3QuYmFzZWRpcn0vdmVuZG9yIi8+CiAgICAgICAgPGRlbGV0ZSBmaWxlPSJjb21wb3Nlci5sb2NrIiAvPgogICAgPC90YXJnZXQ+CgogICAgPHRhcmdldCBuYW1lPSJ1cGRhdGUtZGVwZW5kZW5jaWVzIiBkZXNjcmlwdGlvbj0iVXBkYXRlcyBDb21wb3NlciBkZXBlbmRlbmNpZXMiPgogICAgICAgIDxleGVjIGNvbW1hbmQ9InBocCBjb21wb3Nlci5waGFyIHVwZGF0ZSAtLWRldiIgcGFzc3RocnU9InRydWUiIC8+CiAgICA8L3RhcmdldD4KCiAgICA8dGFyZ2V0IG5hbWU9ImNvdmVyYWdlIj4KICAgICAgICA8aWY+CiAgICAgICAgICAgIDxpc3NldCBwcm9wZXJ0eT0ic2VydmljZSIgLz4KICAgICAgICAgICAgPHRoZW4+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGVzdHBhdGgiIHZhbHVlPSJ0ZXN0cy9Bd3MvVGVzdHMvJHtzZXJ2aWNlfSIgLz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZT4KICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGVzdHBhdGgiIHZhbHVlPSIiIC8+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICA8L2lmPgogICAgICAgIDxta2RpciBkaXI9IiR7ZGlyLm91dHB1dH0vbG9ncyIgLz4KICAgICAgICA8ZXhlYyBwYXNzdGhydT0idHJ1ZSIgY29tbWFuZD0icGhwdW5pdCAtLWNvdmVyYWdlLWh0bWw9JHtkaXIub3V0cHV0fS9jb3ZlcmFnZSAtLWNvdmVyYWdlLWNsb3Zlcj0ke2Rpci5vdXRwdXR9L2xvZ3MvY2xvdmVyLnhtbCAke3Rlc3RwYXRofSIgLz4KICAgIDwvdGFyZ2V0PgoKICAgIDx0YXJnZXQgbmFtZT0idmlldy1jb3ZlcmFnZSI+CiAgICAgICAgPGV4ZWMgcGFzc3RocnU9InRydWUiIGNvbW1hbmQ9Im9wZW4gJHtkaXIub3V0cHV0fS9jb3ZlcmFnZS9pbmRleC5odG1sIiAvPgogICAgPC90YXJnZXQ+CgogICAgPHRhcmdldCBuYW1lPSJwaHBkZXBlbmQiPgogICAgICAgIDxkZWxldGUgZGlyPSIke2Rpci5vdXRwdXR9L3BkZXBlbmQiIGluY2x1ZGVlbXB0eWRpcnM9InRydWUiIHZlcmJvc2U9InRydWUiIGZhaWxvbmVycm9yPSJ0cnVlIiAvPgogICAgICAgIDxta2RpciBkaXI9IiR7ZGlyLm91dHB1dH0vcGRlcGVuZCIgLz4KICAgICAgICA8cGhwZGVwZW5kPgogICAgICAgICAgICA8ZmlsZXNldCByZWZpZD0ic3JjX2ZpbGVzIiAvPgogICAgICAgICAgICA8YW5hbHl6ZXIgdHlwZT0iY29kZXJhbmstbW9kZSIgdmFsdWU9Im1ldGhvZCIvPgogICAgICAgICAgICA8bG9nZ2VyIHR5cGU9ImpkZXBlbmQtY2hhcnQiIG91dGZpbGU9IiR7ZGlyLm91dHB1dH0vcGRlcGVuZC9qZGVwZW5kLWNoYXJ0LnN2ZyIgLz4KICAgICAgICAgICAgPGxvZ2dlciB0eXBlPSJvdmVydmlldy1weXJhbWlkIiBvdXRmaWxlPSIke2Rpci5vdXRwdXR9L3BkZXBlbmQvb3ZlcnZpZXctcHlyYW1pZC5zdmciIC8+CiAgICAgICAgICAgIDxsb2dnZXIgdHlwZT0iamRlcGVuZC1jaGFydCIgb3V0ZmlsZT0iJHtkaXIub3V0cHV0fS9wZGVwZW5kL2pkZXBlbmQtY2hhcnQucG5nIiAvPgogICAgICAgICAgICA8bG9nZ2VyIHR5cGU9Im92ZXJ2aWV3LXB5cmFtaWQiIG91dGZpbGU9IiR7ZGlyLm91dHB1dH0vcGRlcGVuZC9vdmVydmlldy1weXJhbWlkLnBuZyIgLz4KICAgICAgICAgICAgPGxvZ2dlciB0eXBlPSJqZGVwZW5kLXhtbCIgb3V0ZmlsZT0iJHtkaXIub3V0cHV0fS9wZGVwZW5kL2pkZXBlbmQueG1sIiAvPgogICAgICAgICAgICA8bG9nZ2VyIHR5cGU9InBocHVuaXQteG1sIiBvdXRmaWxlPSIke2Rpci5vdXRwdXR9L3BkZXBlbmQvcGhwdW5pdC54bWwiIC8+CiAgICAgICAgICAgIDxsb2dnZXIgdHlwZT0ic3VtbWFyeS14bWwiIG91dGZpbGU9IiR7ZGlyLm91dHB1dH0vcGRlcGVuZC9zdW1tYXJ5LnhtbCIgLz4KICAgICAgICA8L3BocGRlcGVuZD4KICAgIDwvdGFyZ2V0PgoKICAgIDx0YXJnZXQgbmFtZT0icGhwY3MiPgogICAgICAgIDxkZWxldGUgZGlyPSIke2Rpci5vdXRwdXR9L3BocGNzIiBpbmNsdWRlZW1wdHlkaXJzPSJ0cnVlIiB2ZXJib3NlPSJ0cnVlIiBmYWlsb25lcnJvcj0idHJ1ZSIgLz4KICAgICAgICA8bWtkaXIgZGlyPSIke2Rpci5vdXRwdXR9L3BocGNzIiAvPgogICAgICAgIDwhLS0gPHBocGNvZGVzbmlmZmVyPjwvcGhwY29kZXNuaWZmZXI+IC0tPgogICAgPC90YXJnZXQ+CgogICAgPHRhcmdldCBuYW1lPSJwaHBtZCI+CiAgICAgICAgPGRlbGV0ZSBkaXI9IiR7ZGlyLm91dHB1dH0vcGhwbWQiIGluY2x1ZGVlbXB0eWRpcnM9InRydWUiIHZlcmJvc2U9InRydWUiIGZhaWxvbmVycm9yPSJ0cnVlIiAvPgogICAgICAgIDxta2RpciBkaXI9IiR7ZGlyLm91dHB1dH0vcGhwbWQiIC8+CiAgICAgICAgPHBocG1kPgogICAgICAgICAgICA8ZmlsZXNldCByZWZpZD0ic3JjX2ZpbGVzIiAvPgogICAgICAgICAgICA8Zm9ybWF0dGVyIHR5cGU9Imh0bWwiIG91dGZpbGU9IiR7ZGlyLm91dHB1dH0vcGhwbWQvcGhwbWQuaHRtbCIvPgogICAgICAgICAgICA8Zm9ybWF0dGVyIHR5cGU9InhtbCIgb3V0ZmlsZT0iJHtkaXIub3V0cHV0fS9waHBtZC9waHBtZC54bWwiLz4KICAgICAgICA8L3BocG1kPgogICAgPC90YXJnZXQ+CgogICAgPHRhcmdldCBuYW1lPSJwaHBjcGQiPgogICAgICAgIDxkZWxldGUgZGlyPSIke2Rpci5vdXRwdXR9L3BocGNwZCIgaW5jbHVkZWVtcHR5ZGlycz0idHJ1ZSIgdmVyYm9zZT0idHJ1ZSIgZmFpbG9uZXJyb3I9InRydWUiIC8+CiAgICAgICAgPG1rZGlyIGRpcj0iJHtkaXIub3V0cHV0fS9waHBjcGQiIC8+CiAgICAgICAgPHBocGNwZD4KICAgICAgICAgICAgPGZpbGVzZXQgcmVmaWQ9InNyY19maWxlcyIgLz4KICAgICAgICAgICAgPGZvcm1hdHRlciB0eXBlPSJwbWQiIG91dGZpbGU9IiR7ZGlyLm91dHB1dH0vcGhwY3BkL3BtZC54bWwiIC8+CiAgICAgICAgICAgIDxmb3JtYXR0ZXIgdHlwZT0iZGVmYXVsdCIgb3V0ZmlsZT0iJHtkaXIub3V0cHV0fS9waHBjcGQvZGVmYXVsdC54bWwiIC8+CiAgICAgICAgPC9waHBjcGQ+CiAgICA8L3RhcmdldD4KCiAgICA8dGFyZ2V0IG5hbWU9InBocGxvYyI+CiAgICAgICAgPGV4ZWMgY29tbWFuZD0icGhwbG9jIC0tbG9nLWNzdiAke2Rpci5vdXRwdXR9L2xvZ3MvcGhwbG9jLmNzdiAuIiBkaXI9IiR7cHJvamVjdC5iYXNlZGlyfS9zcmMiIHBhc3N0aHJ1PSJ0cnVlIiAvPgogICAgPC90YXJnZXQ+CgogICAgPHRhcmdldCBuYW1lPSJwaHBsaW50Ij4KICAgICAgICA8cGhwbGludD4KICAgICAgICAgICAgPGZpbGVzZXQgcmVmaWQ9InNyY19maWxlcyIgLz4KICAgICAgICA8L3BocGxpbnQ+CiAgICA8L3RhcmdldD4KCiAgICA8dGFyZ2V0IG5hbWU9InBocGNiIiBkZXNjcmlwdGlvbj0iQWdncmVnYXRlIHRvb2wgb3V0cHV0IHdpdGggUEhQX0NvZGVCcm93c2VyIj4KICAgICAgICA8ZXhlYyBleGVjdXRhYmxlPSJwaHBjYiI+CiAgICAgICAgICAgIDxhcmcgdmFsdWU9Ii0tbG9nIiAvPgogICAgICAgICAgICA8YXJnIHBhdGg9IiR7ZGlyLm91dHB1dH0vbG9ncyIgLz4KICAgICAgICAgICAgPGFyZyB2YWx1ZT0iLS1zb3VyY2UiIC8+CiAgICAgICAgICAgIDxhcmcgcGF0aD0iJHtwcm9qZWN0LmJhc2VkaXJ9L3NyYyIgLz4KICAgICAgICAgICAgPGFyZyB2YWx1ZT0iLS1vdXRwdXQiIC8+CiAgICAgICAgICAgIDxhcmcgcGF0aD0iJHtkaXIub3V0cHV0fS9jb2RlLWJyb3dzZXIiIC8+CiAgICAgICAgPC9leGVjPgogICAgPC90YXJnZXQ+CgogICAgPHRhcmdldCBuYW1lPSJpbnN0YWxsLWJ1aWxkLWRlcHMiPgogICAgICAgIDxleGVjIGNvbW1hbmQ9InBlYXIgaW5zdGFsbCAtLWFsbGRlcHMgcGVhci5waHB1bml0LmRlL1BIUFVuaXQiIHBhc3N0aHJ1PSJ0cnVlIiAvPgogICAgICAgIDxleGVjIGNvbW1hbmQ9InBlYXIgaW5zdGFsbCAtLWFsbGRlcHMgcGhwdW5pdC9QSFBfQ29kZUJyb3dzZXIiIHBhc3N0aHJ1PSJ0cnVlIiAvPgogICAgICAgIDxleGVjIGNvbW1hbmQ9InBlYXIgaW5zdGFsbCAtLWFsbGRlcHMgcGhwdW5pdC9waHBsb2MiIHBhc3N0aHJ1PSJ0cnVlIiAvPgogICAgICAgIDxleGVjIGNvbW1hbmQ9InBlYXIgaW5zdGFsbCAtLWFsbGRlcHMgcGVhci5wZGVwZW5kLm9yZy9QSFBfRGVwZW5kLWJldGEiIHBhc3N0aHJ1PSJ0cnVlIiAvPgogICAgICAgIDxleGVjIGNvbW1hbmQ9InBlYXIgaW5zdGFsbCAtLWFsbGRlcHMgcGVhci5waHBtZC5vcmcvUEhQX1BNRCIgcGFzc3RocnU9InRydWUiIC8+CiAgICAgICAgPGV4ZWMgY29tbWFuZD0icGVhciBpbnN0YWxsIC0tYWxsZGVwcyBwZWFyLnBocHVuaXQuZGUvcGhwY3BkIiBwYXNzdGhydT0idHJ1ZSIgLz4KICAgICAgICA8ZXhlYyBjb21tYW5kPSJwZWFyIGluc3RhbGwgLS1hbGxkZXBzIFBIUF9Db2RlU25pZmZlciIgcGFzc3RocnU9InRydWUiIC8+CiAgICAgICAgPGV4ZWMgY29tbWFuZD0icGVhciBpbnN0YWxsIC0tYWxsZGVwcyBwZWFyLnBoaW5nLmluZm8vcGhpbmciIHBhc3N0aHJ1PSJ0cnVlIiAvPgogICAgPC90YXJnZXQ+CgogICAgPHRhcmdldCBuYW1lPSJhbGwiIGRlcGVuZHM9ImNsZWFuLCBwcmVwYXJlLCB0ZXN0LWluaXQsIGJ1aWxkLCByZXBvcnQiLz4KICAgIDx0YXJnZXQgbmFtZT0iYnVpbGQiIGRlcGVuZHM9InBocGxpbnQsIHByZXBhcmUsIHRlc3QtaW5pdCwgdGVzdCwgcGhhciIvPgogICAgPHRhcmdldCBuYW1lPSJyZXBvcnQiIGRlcGVuZHM9ImNvdmVyYWdlLCBwaHBsb2MsIHBocGNzLCBwaHBtZCwgcGhwY3BkLCBwaHBkZXBlbmQsIHBocGNiIi8+Cgo8L3Byb2plY3Q+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/build/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/build/aws-autoloader.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJlcXVpcmVfb25jZSBfX0RJUl9fIC4gJy9TeW1mb255L0NvbXBvbmVudC9DbGFzc0xvYWRlci9Vbml2ZXJzYWxDbGFzc0xvYWRlci5waHAnOwoKaWYgKCFkZWZpbmVkKCdBV1NfRklMRV9QUkVGSVgnKSkgewogICAgZGVmaW5lKCdBV1NfRklMRV9QUkVGSVgnLCBfX0RJUl9fKTsKfQoKJGNsYXNzTG9hZGVyID0gbmV3IFN5bWZvbnlcQ29tcG9uZW50XENsYXNzTG9hZGVyXFVuaXZlcnNhbENsYXNzTG9hZGVyKCk7CiRjbGFzc0xvYWRlci0+cmVnaXN0ZXJOYW1lc3BhY2VzKGFycmF5KAogICAgJ0F3cycgICAgICA9PiBBV1NfRklMRV9QUkVGSVgsCiAgICAnR3V6emxlJyAgID0+IEFXU19GSUxFX1BSRUZJWCwKICAgICdTeW1mb255JyAgPT4gQVdTX0ZJTEVfUFJFRklYLAogICAgJ0RvY3RyaW5lJyA9PiBBV1NfRklMRV9QUkVGSVgsCiAgICAnUHNyJyAgICAgID0+IEFXU19GSUxFX1BSRUZJWCwKICAgICdNb25vbG9nJyAgPT4gQVdTX0ZJTEVfUFJFRklYCikpOwoKJGNsYXNzTG9hZGVyLT5yZWdpc3RlcigpOwoKcmV0dXJuICRjbGFzc0xvYWRlcjsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/build/phar-stub.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KClBoYXI6Om1hcFBoYXIoJ2F3cy5waGFyJyk7CgpkZWZpbmUoJ0FXU19QSEFSJywgdHJ1ZSk7CmRlZmluZSgnQVdTX0ZJTEVfUFJFRklYJywgJ3BoYXI6Ly9hd3MucGhhcicpOwoKcmV0dXJuIChyZXF1aXJlICdwaGFyOi8vYXdzLnBoYXIvYXdzLWF1dG9sb2FkZXIucGhwJyk7CgpfX0hBTFRfQ09NUElMRVIoKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/CHANGELOG.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q0hBTkdFTE9HCj09PT09PT09PQoKMi40LjEyICgyMDEzLTEyLTEyKQotLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEFkZGVkIHN1cHBvcnQgZm9yICoqQW1hem9uIEtpbmVzaXMqKgoqIEFkZGVkIHRoZSBDbG91ZFRyYWlsIGBMb2dSZWNvcmRJdGVyYXRvcmAsIGBMb2dGaWxlSXRlcmF0b3JgLCBhbmQgYExvZ0ZpbGVSZWFkZXJgIGNsYXNzZXMgZm9yIHJlYWRpbmcgbG9nIGZpbGVzCiAgZ2VuZXJhdGVkIGJ5IHRoZSBDbG91ZFRyYWlsIHNlcnZpY2UKKiBBZGRlZCBzdXBwb3J0IGZvciByZXNvdXJjZS1sZXZlbCBwZXJtaXNzaW9ucyB0byB0aGUgQVdTIE9wc1dvcmtzIGNsaWVudAoqIEFkZGVkIHN1cHBvcnQgZm9yIHdvcmtlciBlbnZpcm9ubWVudCB0aWVycyB0byB0aGUgQVdTIEVsYXN0aWMgQmVhbnN0YWxrIGNsaWVudAoqIEFkZGVkIHN1cHBvcnQgZm9yIHRoZSBuZXcgSTIgaW5zdGFuY2UgdHlwZXMgdG8gdGhlIEFtYXpvbiBFQzIgY2xpZW50CiogQWRkZWQgc3VwcG9ydCBmb3IgcmVzb3VyY2UgdGFnZ2luZyB0byB0aGUgQW1hem9uIEVsYXN0aWMgTWFwUmVkdWNlIGNsaWVudAoqIEFkZGVkIHN1cHBvcnQgZm9yIHNwZWNpZnlpbmcgYSBrZXkgZW5jb2RpbmcgdHlwZSB0byB0aGUgQW1hem9uIFMzIGNsaWVudAoqIEFkZGVkIHN1cHBvcnQgZm9yIGdsb2JhbCBzZWNvbmRhcnkgaW5kZXhlcyB0byB0aGUgQW1hem9uIER5bmFtb0RCIGNsaWVudAoqIFVwZGF0ZWQgdGhlIEFtYXpvbiBFbGFzdGlDYWNoZSBjbGllbnQgdG8gdXNlIFNpZ25hdHVyZSBWZXJzaW9uIDQKKiBGaXhlZCBhbiBpc3N1ZSBpbiB0aGUgd2FpdGVyIGZhY3RvcnkgdGhhdCBjYXVzZWQgYW4gZXJyb3Igd2hlbiBnZXR0aW5nIHRoZSBmYWN0b3J5IGZvciBzZXJ2aWNlIGNsaWVudHMgd2l0aG91dCBhbnkKICBleGlzdGluZyB3YWl0ZXJzCiogRml4ZWQgaXNzdWUgIzE4Nywgd2hlcmUgdGhlIER5bmFtb0RCIFNlc3Npb24gSGFuZGxlciB3b3VsZCBmYWlsIHRvIHNhdmUgdGhlIHNlc3Npb24gaWYgYWxsIHRoZSBkYXRhIGlzIHJlbW92ZWQKCjIuNC4xMSAoMjAxMy0xMS0yNikKLS0tLS0tLS0tLS0tLS0tLS0tLQoKKiBBZGRlZCBzdXBwb3J0IGZvciBjb3B5aW5nIERCIHNuYXBzaG90cyBmcm9tIG9uZSBBV1MgcmVnaW9uIHRvIGFub3RoZXIgdG8gdGhlIEFtYXpvbiBSRFMgY2xpZW50CiogQWRkZWQgc3VwcG9ydCBmb3IgcGFnaW5hdGlvbiBvZiB0aGUgYERlc2NyaWJlSW5zdGFuY2VzYCBhbmQgYERlc2NyaWJlVGFnc2Agb3BlcmF0aW9ucyB0byB0aGUgQW1hem9uIEVDMiBjbGllbnQKKiBBZGRlZCBzdXBwb3J0IGZvciB0aGUgbmV3IEMzIGluc3RhbmNlIHR5cGVzIGFuZCB0aGUgZzIuMnhsYXJnZSBpbnN0YW5jZSB0eXBlIHRvIHRoZSBBbWF6b24gRUMyIGNsaWVudAoqIEFkZGVkIHN1cHBvcnQgZm9yIGVuYWJsaW5nICpTaW5nbGUgUm9vdCBJL08gVmlydHVhbGl6YXRpb24qIChTUi1JT1YpIHN1cHBvcnQgZm9yIHRoZSBuZXcgQzMgaW5zdGFuY2UgdHlwZXMgdG8gdGhlCiAgQW1hem9uIEVDMiBjbGllbnQKKiBVcGRhdGVkIHRoZSBBbWF6b24gRUMyIGNsaWVudCB0byB1c2UgdGhlIDIwMTMtMTAtMTUgQVBJIHZlcnNpb24KKiBVcGRhdGVkIHRoZSBBbWF6b24gUkRTIGNsaWVudCB0byB1c2UgdGhlIDIwMTMtMDktMDkgQVBJIHZlcnNpb24KKiBVcGRhdGVkIHRoZSBBbWF6b24gQ2xvdWRXYXRjaCBjbGllbnQgdG8gdXNlIFNpZ25hdHVyZSBWZXJzaW9uIDQKCjIuNC4xMCAoMjAxMy0xMS0xNCkKLS0tLS0tLS0tLS0tLS0tLS0tLQoKKiBBZGRlZCBzdXBwb3J0IGZvciAqKkFXUyBDbG91ZFRyYWlsKioKKiBBZGRlZCBzdXBwb3J0IGZvciBpZGVudGl0eSBmZWRlcmF0aW9uIHVzaW5nIFNBTUwgMi4wIHRvIHRoZSBBV1MgU1RTIGNsaWVudAoqIEFkZGVkIHN1cHBvcnQgZm9yIGNvbmZpZ3VyaW5nIFNBTUwtY29tcGxpYW50IGlkZW50aXR5IHByb3ZpZGVycyB0byB0aGUgQVdTIElBTSBjbGllbnQKKiBBZGRlZCBzdXBwb3J0IGZvciBldmVudCBub3RpZmljYXRpb25zIHRvIHRoZSBBbWF6b24gUmVkc2hpZnQgY2xpZW50CiogQWRkZWQgc3VwcG9ydCBmb3IgSFNNIHN0b3JhZ2UgZm9yIGVuY3J5cHRpb24ga2V5cyB0byB0aGUgQW1hem9uIFJlZHNoaWZ0IGNsaWVudAoqIEFkZGVkIHN1cHBvcnQgZm9yIGVuY3J5cHRpb24ga2V5IHJvdGF0aW9uIHRvIHRoZSBBbWF6b24gUmVkc2hpZnQgY2xpZW50CiogQWRkZWQgc3VwcG9ydCBmb3IgZGF0YWJhc2UgYXVkaXQgbG9nZ2luZyB0byB0aGUgQW1hem9uIFJlZHNoaWZ0IGNsaWVudAoKMi40LjkgKDIwMTMtMTEtMDgpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBBZGRlZCBzdXBwb3J0IGZvciBbY3Jvc3Mtem9uZSBsb2FkIGJhbGFuY2luZ10oaHR0cDovL2F3cy5hbWF6b24uY29tL2Fib3V0LWF3cy93aGF0cy1uZXcvMjAxMy8xMS8wNi9lbGFzdGljLWxvYWQtYmFsYW5jaW5nLWFkZHMtY3Jvc3Mtem9uZS1sb2FkLWJhbGFuY2luZy8pCiAgdG8gdGhlIEVsYXN0aWMgTG9hZCBCYWxhbmNpbmcgY2xpZW50LgoqIEFkZGVkIHN1cHBvcnQgZm9yIGEgW25ldyBnYXRld2F5IGNvbmZpZ3VyYXRpb25dKGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9hYm91dC1hd3Mvd2hhdHMtbmV3LzIwMTMvMTEvMDUvYXdzLXN0b3JhZ2UtZ2F0ZXdheS1hbm5vdW5jZXMtZ2F0ZXdheS12aXJ0dWFsLXRhcGUtbGlicmFyeS8pLAogIEdhdGV3YXktVmlydHVhbCBUYXBlIExpYnJhcnksIHRvIHRoZSBBV1MgU3RvcmFnZSBHYXRld2F5IGNsaWVudC4KKiBBZGRlZCBzdXBwb3J0IGZvciBzdGFjayBwb2xpY2llcyB0byB0aGUgdGhlIEFXUyBDbG91ZEZvcm1hdGlvbiBjbGllbnQuCiogRml4ZWQgaXNzdWUgIzE3NiB3aGVyZSBhdHRlbXB0aW5nIHRvIHVwbG9hZCBhIGRpcmVjdCB0byBBbWF6b24gUzMgdXNpbmcgdGhlIGBVcGxvYWRCdWlsZGVyYCBmYWlsZWQgd2hlbiB1c2luZyBhIGN1c3RvbQogIGl0ZXJhdG9yIHRoYXQgbmVlZHMgdG8gYmUgcmV3b3VuZC4KCjIuNC44ICgyMDEzLTEwLTMxKQotLS0tLS0tLS0tLS0tLS0tLS0KCiogVXBkYXRlZCB0aGUgQVdTIERpcmVjdCBDb25uZWN0IGNsaWVudAoqIFVwZGF0ZWQgdGhlIEFtYXpvbiBFbGFzdGljIE1hcFJlZHVjZSBjbGllbnQgdG8gYWRkIHN1cHBvcnQgZm9yIG5ldyBFTVIgQVBJcywgdGVybWluYXRpb24gb2Ygc3BlY2lmaWMgY2x1c3RlcgogIGluc3RhbmNlcywgYW5kIHVubGltaXRlZCBFTVIgc3RlcHMuCgoyLjQuNyAoMjAxMy0xMC0xNykKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEFkZGVkIHN1cHBvcnQgZm9yIGF1ZGlvIHRyYW5zY29kaW5nIGZlYXR1cmVzIHRvIHRoZSBBbWF6b24gRWxhc3RpYyBUcmFuc2NvZGVyIGNsaWVudAoqIEFkZGVkIHN1cHBvcnQgZm9yIG1vZGlmeWluZyBSZXNlcnZlZCBJbnN0YW5jZXMgaW4gYSByZWdpb24gdG8gdGhlIEFtYXpvbiBFQzIgY2xpZW50CiogQWRkZWQgc3VwcG9ydCBmb3IgbmV3IHJlc291cmNlIG1hbmFnZW1lbnQgZmVhdHVyZXMgdG8gdGhlIEFXUyBPcHNXb3JrcyBjbGllbnQKKiBBZGRlZCBzdXBwb3J0IGZvciBhZGRpdGlvbmFsIEhUVFAgbWV0aG9kcyB0byB0aGUgQW1hem9uIENsb3VkRnJvbnQgY2xpZW50CiogQWRkZWQgc3VwcG9ydCBmb3IgY3VzdG9tIGVycm9yIHBhZ2UgY29uZmlndXJhdGlvbiB0byB0aGUgQW1hem9uIENsb3VkRnJvbnQgY2xpZW50CiogQWRkZWQgc3VwcG9ydCBmb3IgdGhlIHB1YmxpYyBJUCBhZGRyZXNzIGFzc29jaWF0aW9uIG9mIGluc3RhbmNlcyBpbiBBdXRvIFNjYWxpbmcgZ3JvdXAgdmlhIHRoZSBBdXRvIFNjYWxpbmcgY2xpZW50CiogQWRkZWQgc3VwcG9ydCBmb3IgdGFncyBhbmQgZmlsdGVycyB0byB2YXJpb3VzIG9wZXJhdGlvbnMgaW4gdGhlIEFtYXpvbiBSRFMgY2xpZW50CiogQWRkZWQgdGhlIGFiaWxpdHkgdG8gZWFzaWx5IHNwZWNpZnkgZXZlbnQgbGlzdGVuZXJzIG9uIHdhaXRlcnMKKiBBZGRlZCBzdXBwb3J0IGZvciB1c2luZyB0aGUgYGFwLXNvdXRoZWFzdC0yYCByZWdpb24gdG8gdGhlIEFtYXpvbiBHbGFjaWVyIGNsaWVudAoqIEFkZGVkIHN1cHBvcnQgZm9yIHVzaW5nIHRoZSBgYXAtc291dGhlYXN0LTFgIGFuZCBgYXAtc291dGhlYXN0LTJgIHJlZ2lvbnMgdG8gdGhlIEFtYXpvbiBSZWRzaGlmdCBjbGllbnQKKiBVcGRhdGVkIHRoZSBBbWF6b24gRUMyIGNsaWVudCB0byB1c2UgdGhlIDIwMTMtMDktMTEgQVBJIHZlcnNpb24KKiBVcGRhdGVkIHRoZSBBbWF6b24gQ2xvdWRGcm9udCBjbGllbnQgdG8gdXNlIHRoZSAyMDEzLTA5LTI3IEFQSSB2ZXJzaW9uCiogVXBkYXRlZCB0aGUgQVdTIE9wc1dvcmtzIGNsaWVudCB0byB1c2UgdGhlIDIwMTMtMDctMTUgQVBJIHZlcnNpb24KKiBVcGRhdGVkIHRoZSBBbWF6b24gQ2xvdWRTZWFyY2ggY2xpZW50IHRvIHVzZSBTaWduYXR1cmUgVmVyc2lvbiA0CiogRml4ZWQgYW4gaXNzdWUgd2l0aCB0aGUgQW1hem9uIFMzIENsaWVudCBzbyB0aGF0IHRoZSB0b3AtbGV2ZWwgWE1MIGVsZW1lbnQgb2YgdGhlIGBDb21wbGV0ZU11bHRpcGFydFVwbG9hZGAgb3BlcmF0aW9uCiAgaXMgY29ycmVjdGx5IHNlbnQgYXMgYENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkYAoqIEZpeGVkIGFuIGlzc3VlIHdpdGggdGhlIEFtYXpvbiBTMyBDbGllbnQgc28gdGhhdCB5b3UgY2FuIG5vdyBkaXNhYmxlIGJ1Y2tldCBsb2dnaW5nIHVzaW5nIHdpdGggdGhlIGBQdXRCdWNrZXRMb2dnaW5nYAogIG9wZXJhdGlvbgoqIEZpeGVkIGFuIGlzc3VlIHdpdGggdGhlIEFtYXpvbiBDbG91ZEZyb250IHNvIHRoYXQgcXVlcnkgc3RyaW5nIHBhcmFtZXRlcnMgaW4gcHJlLXNpZ25lZCBVUkxzIGFyZSBjb3JyZWN0bHkgVVJMLWVuY29kZWQKKiBGaXhlZCBhbiBpc3N1ZSB3aXRoIHRoZSBTaWduYXR1cmUgVmVyc2lvbiA0IGltcGxlbWVudGF0aW9uIHdoZXJlIGhlYWRlcnMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgd2VyZSBzb21ldGltZXMgc29ydGVkCiAgYW5kIHNpZ25lZCBpbmNvcnJlY3RseQoKMi40LjYgKDIwMTMtMDktMTIpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBBZGRlZCBzdXBwb3J0IGZvciBtb2RpZnlpbmcgRUMyIFJlc2VydmVkIEluc3RhbmNlcyB0byB0aGUgQW1hem9uIEVDMiBjbGllbnQKKiBBZGRlZCBzdXBwb3J0IGZvciBWUEMgZmVhdHVyZXMgdG8gdGhlIEFXUyBPcHNXb3JrcyBjbGllbnQKKiBVcGRhdGVkIHRoZSBEeW5hbW9EQiBTZXNzaW9uIEhhbmRsZXIgdG8gaW1wbGVtZW50IHRoZSBTZXNzaW9uSGFuZGxlckludGVyZmFjZSBvZiBQSFAgNS40IHdoZW4gYXZhaWxhYmxlCiogVXBkYXRlZCB0aGUgU05TIE1lc3NhZ2UgVmFsaWRhdG9yIHRvIHRocm93IGFuIGV4Y2VwdGlvbiwgaW5zdGVhZCBvZiBhbiBlcnJvciwgd2hlbiB0aGUgcmF3IHBvc3QgZGF0YSBpcyBpbnZhbGlkCiogRml4ZWQgYW4gaXNzdWUgaW4gdGhlIFMzIHNpZ25hdHVyZSB3aGljaCBlbnN1cmVzIHRoYXQgcGFyYW1ldGVycyBhcmUgc29ydGVkIGNvcnJlY3RseSBmb3Igc2lnbmluZwoqIEZpeGVkIGFuIGlzc3VlIGluIHRoZSBTMyBjbGllbnQgd2hlcmUgdGhlIFN5ZG5leSByZWdpb24gd2FzIG5vdCBhbGxvd2VkIGFzIGEgYExvY2F0aW9uQ29uc3RyYWludGAgZm9yIHRoZQogIGBQdXRPYmplY3RgIG9wZXJhdGlvbgoKMi40LjUgKDIwMTMtMDktMDQpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBBZGRlZCBzdXBwb3J0IGZvciByZXBsaWNhdGlvbiBncm91cHMgdG8gdGhlIEFtYXpvbiBFbGFzdGlDYWNoZSBjbGllbnQKKiBBZGRlZCBzdXBwb3J0IGZvciB1c2luZyB0aGUgYHVzLWdvdi13ZXN0LTFgIHJlZ2lvbiB0byB0aGUgQVdTIENsb3VkRm9ybWF0aW9uIGNsaWVudAoKMi40LjQgKDIwMTMtMDgtMjkpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBBZGRlZCBzdXBwb3J0IGZvciBhc3NpZ25pbmcgYSBwdWJsaWMgSVAgYWRkcmVzcyB0byBhbiBpbnN0YW5jZSBhdCBsYXVuY2ggdG8gdGhlIEFtYXpvbiBFQzIgY2xpZW50CiogVXBkYXRlZCB0aGUgQW1hem9uIEVDMiBjbGllbnQgdG8gdXNlIHRoZSAyMDEzLTA3LTE1IEFQSSB2ZXJzaW9uCiogVXBkYXRlZCB0aGUgQW1hem9uIFNXRiBjbGllbnQgdG8gc2lnbiByZXF1ZXN0cyB3aXRoIFNpZ25hdHVyZSBWNAoqIFVwZGF0ZWQgdGhlIEluc3RhbmNlIE1ldGFkYXRhIGNsaWVudCB0byBhbGxvdyBmb3IgaGlnaGVyIGFuZCBtb3JlIGN1c3RvbWl6YWJsZSBjb25uZWN0aW9uIHRpbWVvdXRzCiogRml4ZWQgYW4gaXNzdWUgd2l0aCB0aGUgU0RLIHdoZXJlIFhNTCBtYXAgc3RydWN0dXJlcyB3ZXJlIG5vdCBiZWluZyBzZXJpYWxpemVkIGNvcnJlY3RseSBpbiBzb21lIGNhc2VzCiogRml4ZWQgaXNzdWUgIzEzNiB3aGVyZSBhIGZldyBvZiB0aGUgbmV3IEFtYXpvbiBTTlMgbW9iaWxlIHB1c2ggb3BlcmF0aW9ucyB3ZXJlIG5vdCB3b3JraW5nIHByb3Blcmx5CiogRml4ZWQgYW4gaXNzdWUgd2hlcmUgdGhlIEFXUyBTVFMgYEFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHlgIG9wZXJhdGlvbiB3YXMgcmVxdWlyaW5nIGNyZWRlbnRpYWxzIGFuZCBhIHNpZ25hdHVyZQogIHVubmVjZXNzYXJpbHkKKiBGaXhlZCBhbmQgaXNzdWUgd2l0aCB0aGUgYFMzQ2xpZW50Ojp1cGxvYWREaXJlY3RvcnlgIG1ldGhvZCBzbyB0aGF0IHRydWUga2V5IHByZWZpeGVzIGNhbiBiZSB1c2VkCiogW0RvY3NdIFVwZGF0ZWQgdGhlIEFQSSBkb2NzIHRvIGluY2x1ZGUgc2FtcGxlIGNvZGUgZm9yIGVhY2ggb3BlcmF0aW9uIHRoYXQgaW5kaWNhdGVzIHRoZSBwYXJhbWV0ZXIgc3RydWN0dXJlCiogW0RvY3NdIFVwZGF0ZWQgdGhlIEFQSSBkb2NzIHRvIGluY2x1ZGUgbW9yZSBpbmZvcm1hdGlvbiBpbiB0aGUgZGVzY3JpcHRpb25zIG9mIG9wZXJhdGlvbnMgYW5kIHBhcmFtZXRlcnMKKiBbRG9jc10gQWRkZWQgYSBwYWdlIGFib3V0IEl0ZXJhdG9ycyB0byB0aGUgdXNlciBndWlkZQoKMi40LjMgKDIwMTMtMDgtMTIpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBBZGRlZCBzdXBwb3J0IGZvciBtb2JpbGUgcHVzaCBub3RpZmljYXRpb25zIHRvIHRoZSBBbWF6b24gU05TIGNsaWVudAoqIEFkZGVkIHN1cHBvcnQgZm9yIHByb2dyZXNzIHJlcG9ydGluZyBvbiBzbmFwc2hvdCByZXN0b3JlIG9wZXJhdGlvbnMgdG8gdGhlIHRoZSBBbWF6b24gUmVkc2hpZnQgY2xpZW50CiogVXBkYXRlZCB0aGUgQW1hem9uIEVsYXN0aWMgTWFwUmVkdWNlIGNsaWVudCB0byB1c2UgSlNPTiBzZXJpYWxpemF0aW9uCiogVXBkYXRlZCB0aGUgQW1hem9uIEVsYXN0aWMgTWFwUmVkdWNlIGNsaWVudCB0byBzaWduIHJlcXVlc3RzIHdpdGggU2lnbmF0dXJlIFY0CiogVXBkYXRlZCB0aGUgU0RLIHRvIHRocm93IGBBd3NcQ29tbW9uXEV4Y2VwdGlvblxUcmFuc2ZlckV4Y2VwdGlvbmAgZXhjZXB0aW9ucyB3aGVuIGEgbmV0d29yayBlcnJvciBvY2N1cnMgaW5zdGVhZCBvZiBhCiAgYEd1enpsZVxIdHRwXEV4Y2VwdGlvblxDdXJsRXhjZXB0aW9uYC4gVGhlIFRyYW5zZmVyRXhjZXB0aW9uIGNsYXNzLCBob3dldmVyLCBleHRlbmRzIGZyb20KICBgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEN1cmxFeGNlcHRpb25gLiBZb3UgY2FuIGNvbnRpbnVlIHRvIGNhdGNoIHRoZSBHdXp6bGUgYEN1cmxFeGNlcHRpb25gIG9yIGNhdGNoCiAgYEF3c1xDb21tb25cRXhjZXB0aW9uXEF3c0V4Y2VwdGlvbkludGVyZmFjZWAgdG8gY2F0Y2ggYW55IGV4Y2VwdGlvbiB0aGF0IGNhbiBiZSB0aHJvd24gYnkgYW4gQVdTIGNsaWVudAoqIEZpeGVkIGFuIGlzc3VlIHdpdGggdGhlIEFtYXpvbiBTMyBzdHJlYW0gd3JhcHBlciB3aGVyZSB0cmFpbGluZyBzbGFzaGVzIHdlcmUgYmVpbmcgYWRkZWQgd2hlbiBsaXN0aW5nIGRpcmVjdG9yaWVzCgoyLjQuMiAoMjAxMy0wNy0yNSkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEFkZGVkIHN1cHBvcnQgZm9yIGNyb3NzLWFjY291bnQgc25hcHNob3QgYWNjZXNzIGNvbnRyb2wgdG8gdGhlIEFtYXpvbiBSZWRzaGlmdCBjbGllbnQKKiBBZGRlZCBzdXBwb3J0IGZvciBkZWNvZGluZyBhdXRob3JpemF0aW9uIG1lc3NhZ2VzIHRvIHRoZSBBV1MgU1RTIGNsaWVudAoqIEFkZGVkIHN1cHBvcnQgZm9yIGNoZWNraW5nIGZvciByZXF1aXJlZCBwZXJtaXNzaW9ucyB2aWEgdGhlIGBEcnlSdW5gIHBhcmFtZXRlciB0byB0aGUgQW1hem9uIEVDMiBjbGllbnQKKiBBZGRlZCBzdXBwb3J0IGZvciBjdXN0b20gQW1hem9uIE1hY2hpbmUgSW1hZ2VzIChBTUlzKSBhbmQgQ2hlZiAxMSB0byB0aGUgQVdTIE9wc1dvcmtzIGNsaWVudAoqIEFkZGVkIGFuIFNESyBjb21wYXRpYmlsaXR5IHRlc3QgdG8gYWxsb3cgdXNlcnMgdG8gcXVpY2tseSBkZXRlcm1pbmUgaWYgdGhlaXIgc3lzdGVtIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIFNESwoqIFVwZGF0ZWQgdGhlIEFtYXpvbiBFQzIgY2xpZW50IHRvIHVzZSB0aGUgMjAxMy0wNi0xNSBBUEkgdmVyc2lvbgoqIEZpeGVkIGFuIHVubWFyc2hhbGxpbmcgZXJyb3Igd2l0aCB0aGUgQW1hem9uIEVDMiBgQ3JlYXRlS2V5UGFpcmAgb3BlcmF0aW9uCiogRml4ZWQgYW4gdW5tYXJzaGFsbGluZyBlcnJvciB3aXRoIHRoZSBBbWF6b24gUzMgYExpc3RNdWx0aXBhcnRVcGxvYWRzYCBvcGVyYXRpb24KKiBGaXhlZCBhbiBpc3N1ZSB3aXRoIHRoZSBBbWF6b24gUzMgc3RyZWFtIHdyYXBwZXIgIngiIGZvcGVuIG1vZGUKKiBGaXhlZCBhbiBpc3N1ZSB3aXRoIGBBd3NcUzNcUzNDbGllbnQ6OmRvd25sb2FkQnVja2V0YCBieSByZW1vdmluZyBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0aGUgcGFzc2VkIGAka2V5UHJlZml4YCBhcmd1bWVudAoKMi40LjEgKDIwMTMtMDYtMDgpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBBZGRlZCBzdXBwb3J0IGZvciBzZXR0aW5nIHdhdGVybWFya3MgYW5kIG1heCBmcmFtZXJhdGVzIHRvIHRoZSBBbWF6b24gRWxhc3RpYyBUcmFuc2NvZGVyIGNsaWVudAoqIEFkZGVkIHRoZSBgQXdzXER5bmFtb0RiXEl0ZXJhdG9yXEl0ZW1JdGVyYXRvcmAgY2xhc3MgdG8gbWFrZSBpdCBlYXNpZXIgdG8gZ2V0IGl0ZW1zIGZyb20gdGhlIHJlc3VsdHMgb2YgRHluYW1vREIKICBvcGVyYXRpb25zIGluIGEgc2ltcGxlciBmb3JtCiogQWRkZWQgc3VwcG9ydCBmb3IgdGhlIGBjcjEuOHhsYXJnZWAgRUMyIGluc3RhbmNlIHR5cGUuIFVzZSBgQXdzXEVjMlxFbnVtXEluc3RhbmNlVHlwZTo6Q1IxXzhYTEFSR0VgCiogQWRkZWQgc3VwcG9ydCBmb3IgdGhlIHN1cHByZXNzaW9uIGxpc3QgU0VTIG1haWxib3ggc2ltdWxhdG9yLiBVc2UgYEF3c1xTZXNcRW51bVxNYWlsYm94U2ltdWxhdG9yOjpTVVBQUkVTU0lPTl9MSVNUYAoqIFtTREtdIEZpeGVkIGFuIGlzc3VlIHdpdGggZGF0YSBmb3JtYXRzIHRocm91Z2hvdXQgdGhlIFNESyBkdWUgdG8gYSByZWdyZXNzaW9uLiBEYXRlcyBhcmUgbm93IHNlbnQgb3ZlciB0aGUgd2lyZSB3aXRoCiAgdGhlIGNvcnJlY3QgZm9ybWF0LiBUaGlzIGlzc3VlIGFmZmVjdGVkIHRoZSBBbWF6b24gRUMyLCBBbWF6b24gRWxhc3RpQ2FjaGUsIEFXUyBFbGFzdGljIEJlYW5zdGFsaywgQW1hem9uIEVNUiwgYW5kCiAgQW1hem9uIFJEUyBjbGllbnRzCiogRml4ZWQgYW4gaXNzdWUgd2l0aCB0aGUgcGFyYW1ldGVyIHNlcmlhbGl6YXRpb24gb2YgdGhlIGBJbXBvcnRJbnN0YW5jZWAgb3BlcmF0aW9uIGluIHRoZSBBbWF6b24gRUMyIGNsaWVudAoqIEZpeGVkIGFuIGlzc3VlIHdpdGggdGhlIEFtYXpvbiBTMyBjbGllbnQgd2hlcmUgdGhlIGBSb3V0aW5nUnVsZXMuUmVkaXJlY3QuSG9zdE5hbWVgIHBhcmFtZXRlciBvZiB0aGUKICBgUHV0QnVja2V0V2Vic2l0ZWAgb3BlcmF0aW9uIHdhcyBlcnJvbmVvdXNseSBtYXJrZWQgYXMgcmVxdWlyZWQKKiBGaXhlZCBhbiBpc3N1ZSB3aXRoIHRoZSBBbWF6b24gUzMgY2xpZW50IHdoZXJlIHRoZSBgRGVsZXRlT2JqZWN0YCBvcGVyYXRpb24gd2FzIG1pc3NpbmcgcGFyYW1ldGVycwoqIEZpeGVkIGFuIGlzc3VlIHdpdGggdGhlIEFtYXpvbiBTMyBjbGllbnQgd2hlcmUgdGhlIGBTdGF0dXNgIHBhcmFtZXRlciBvZiB0aGUgYFB1dEJ1Y2tldFZlcnNpb25pbmdgIG9wZXJhdGlvbiBkaWQgbm90CiAgcHJvcGVybHkgc3VwcG9ydCB0aGUgIlN1c3BlbmRlZCIgdmFsdWUKKiBGaXhlZCBhbiBpc3N1ZSB3aXRoIHRoZSBBbWF6b24gR2xhY2llciBgVXBsb2FkUGFydEdlbmVyYXRvcmAgY2xhc3Mgc28gdGhhdCBhbiBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSBwcm92aWRlZCBib2R5CiAgdG8gdXBsb2FkIGlzIGxlc3MgdGhhbiAxIGJ5dGUKKiBBZGRlZCBNRDUgdmFsaWRhdGlvbiB0byBBbWF6b24gU1FTIFJlY2VpdmVNZXNzYWdlIG9wZXJhdGlvbnMKCjIuNC4wICgyMDEzLTA2LTE4KQotLS0tLS0tLS0tLS0tLS0tLS0KCiogW0JDXSBVcGRhdGVkIHRoZSBBbWF6b24gQ2xvdWRGcm9udCBjbGllbnQgdG8gdXNlIHRoZSBuZXcgMjAxMy0wNS0xMiBBUEkgdmVyc2lvbiB3aGljaCBpbmNsdWRlcyBjaGFuZ2VzIGluIGhvdyB5b3UKICBjb25maWd1cmUgZGlzdHJpYnV0aW9ucy4gSWYgeW91IGFyZSBub3QgcmVhZHkgdG8gdXBncmFkZSB0byB0aGUgbmV3IEFQSSwgeW91IGNhbiBjb25maWd1cmUgdGhlIFNESyB0byB1c2UgdGhlIHByZXZpb3VzCiAgdmVyc2lvbiBvZiB0aGUgQVBJIGJ5IHNldHRpbmcgdGhlIGB2ZXJzaW9uYCBvcHRpb24gdG8gYDIwMTItMDUtMDVgIHdoZW4geW91IGluc3RhbnRpYXRlIHRoZSBjbGllbnQgKFNlZQogIFtgVVBHUkFESU5HLm1kYF0oaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3Mtc2RrLXBocC9ibG9iL21hc3Rlci9VUEdSQURJTkcubWQpKQoqIEFkZGVkIGFic3RyYWN0aW9ucyBmb3IgdXBsb2FkaW5nIGEgbG9jYWwgZGlyZWN0b3J5IHRvIGFuIEFtYXpvbiBTMyBidWNrZXQgKGAkczMtPnVwbG9hZERpcmVjdG9yeSgpYCkKKiBBZGRlZCBhYnN0cmFjdGlvbnMgZm9yIGRvd25sb2FkaW5nIGFuIEFtYXpvbiBTMyBidWNrZXQgdG8gbG9jYWwgZGlyZWN0b3J5IChgJHMzLT5kb3dubG9hZEJ1Y2tldCgpYCkKKiBBZGRlZCBhbiBlYXN5IHRvIHdheSB0byBkZWxldGUgb2JqZWN0cyBmcm9tIGFuIEFtYXpvbiBTMyBidWNrZXQgdGhhdCBtYXRjaCBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBvciBrZXkgcHJlZml4CiogQWRkZWQgYW4gZWFzeSB0byB3YXkgdG8gdXBsb2FkIGFuIG9iamVjdCB0byBBbWF6b24gUzMgdGhhdCBhdXRvbWF0aWNhbGx5IHVzZXMgYSBtdWx0aXBhcnQgdXBsb2FkIGlmIHRoZSBzaXplIG9mIHRoZQogIG9iamVjdCBleGNlZWRzIGEgY3VzdG9taXphYmxlIHRocmVzaG9sZCAoYCRzMy0+dXBsb2FkKClgKQoqIFtTREtdIEFkZGVkIGZhY2FkZSBjbGFzc2VzIGZvciBzaW1wbGUsIHN0YXRpYyBhY2Nlc3MgdG8gY2xpZW50cyAoZS5nLiwgYFMzOjpwdXRPYmplY3QoWy4uLl0pYCkKKiBBZGRlZCB0aGUgYEF3c1xTM1xTM0NsaWVudDo6Z2V0T2JqZWN0VXJsYCBjb252ZW5pZW5jZSBtZXRob2QgZm9yIGdldHRpbmcgdGhlIFVSTCBvZiBhbiBBbWF6b24gUzMgb2JqZWN0LiBUaGlzIHdvcmtzCiAgZm9yIGJvdGggcHVibGljIGFuZCBwcmUtc2lnbmVkIFVSTHMKKiBBZGRlZCBzdXBwb3J0IGZvciB1c2luZyB0aGUgYGFwLW5vcnRoZWFzdC0xYCByZWdpb24gdG8gdGhlIEFtYXpvbiBSZWRzaGlmdCBjbGllbnQKKiBBZGRlZCBzdXBwb3J0IGZvciBjb25maWd1cmluZyBjdXN0b20gU1NMIGNlcnRpZmljYXRlcyB0byB0aGUgQW1hem9uIENsb3VkRnJvbnQgY2xpZW50IHZpYSB0aGUgYFZpZXdlckNlcnRpZmljYXRlYAogIHBhcmFtZXRlcgoqIEFkZGVkIHN1cHBvcnQgZm9yIHJlYWQgcmVwbGljYSBzdGF0dXMgdG8gdGhlIEFtYXpvbiBSRFMgY2xpZW50CiogQWRkZWQgIm1hZ2ljIiBhY2Nlc3MgdG8gaXRlcmF0b3JzIHRvIG1ha2UgdXNpbmcgaXRlcmF0b3JzIG1vcmUgY29udmVuaWVudCAoZS5nLiwgYCRzMy0+Z2V0TGlzdEJ1Y2tldHNJdGVyYXRvcigpYCkKKiBBZGRlZCB0aGUgYHdhaXRVbnRpbERCSW5zdGFuY2VBdmFpbGFibGVgIGFuZCBgd2FpdFVudGlsREJJbnN0YW5jZURlbGV0ZWRgIHdhaXRlcnMgdG8gdGhlIEFtYXpvbiBSRFMgY2xpZW50CiogQWRkZWQgdGhlIGBjcmVhdGVDcmVkZW50aWFsc2AgbWV0aG9kIHRvIHRoZSBBV1MgU1RTIGNsaWVudCB0byBtYWtlIGl0IGVhc2llciB0byBjcmVhdGUgYSBjcmVkZW50aWFscyBvYmplY3QgZnJvbSB0aGUKICByZXN1bHRzIG9mIGFuIFNUUyBvcGVyYXRpb24KKiBVcGRhdGVkIHRoZSBBbWF6b24gUkRTIGNsaWVudCB0byB1c2UgdGhlIDIwMTMtMDUtMTUgQVBJIHZlcnNpb24KKiBVcGRhdGVkIHJlcXVlc3QgcmV0cnlpbmcgbG9naWMgdG8gYXV0b21hdGljYWxseSByZWZyZXNoIGV4cGlyZWQgY3JlZGVudGlhbHMgYW5kIHJldHJ5IHdpdGggbmV3IG9uZXMKKiBVcGRhdGVkIHRoZSBBbWF6b24gQ2xvdWRGcm9udCBjbGllbnQgdG8gc2lnbiByZXF1ZXN0cyB3aXRoIFNpZ25hdHVyZSBWNAoqIFVwZGF0ZWQgdGhlIEFtYXpvbiBTTlMgY2xpZW50IHRvIHNpZ24gcmVxdWVzdHMgd2l0aCBTaWduYXR1cmUgVjQsIHdoaWNoIGVuYWJsZXMgbGFyZ2VyIHBheWxvYWRzCiogVXBkYXRlZCB0aGUgUzMgU3RyZWFtIFdyYXBwZXIgc28gdGhhdCB5b3UgY2FuIHVzZSBzdHJlYW0gcmVzb3VyY2VzIGluIGFueSBTMyBvcGVyYXRpb24gd2l0aG91dCBoYXZpbmcgdG8gbWFudWFsbHkKICBzcGVjaWZ5IHRoZSBgQ29udGVudExlbmd0aGAgb3B0aW9uCiogRml4ZWQgaXNzdWUgIzk0IHNvIHRoYXQgdGhlIGBBd3NcUzNcQnVja2V0U3R5bGVMaXN0ZW5lcmAgaXMgaW52b2tlZCBvbiBgY29tbWFuZC5hZnRlcl9wcmVwYXJlYCBhbmQgcHJlc2lnbmVkIFVSTHMKICBhcmUgZ2VuZXJhdGVkIGNvcnJlY3RseSBmcm9tIFMzIGNvbW1hbmRzCiogRml4ZWQgYW4gaXNzdWUgc28gdGhhdCBjcmVhdGluZyBwcmVzaWduZWQgVVJMcyB1c2luZyB0aGUgQW1hem9uIFMzIGNsaWVudCBub3cgd29ya3Mgd2l0aCB0ZW1wb3JhcnkgY3JlZGVudGlhbHMKKiBGaXhlZCBhbiBpc3N1ZSBzbyB0aGF0IHRoZSBgQ09SU1J1bGVzLkFsbG93ZWRIZWFkZXJzYCBwYXJhbWV0ZXIgaXMgbm93IGF2YWlsYWJsZSB3aGVuIGNvbmZpZ3VyaW5nIENPUlMgZm9yIEFtYXpvbiBTMwoqIFNldCB0aGUgR3V6emxlIGRlcGVuZGVuY3kgdG8gfjMuNy4wCgoyLjMuNCAoMjAxMy0wNS0zMCkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIFNldCB0aGUgR3V6emxlIGRlcGVuZGVuY3kgdG8gfjMuNi4wCgoyLjMuMyAoMjAxMy0wNS0yOCkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEFkZGVkIHN1cHBvcnQgZm9yIHdlYiBpZGVudGl0eSBmZWRlcmF0aW9uIGluIHRoZSBBV1MgU2VjdXJpdHkgVG9rZW4gU2VydmljZSAoU1RTKSBBUEkKKiBGaXhlZCBhbiBpc3N1ZSB3aXRoIGNyZWF0aW5nIHByZS1zaWduZWQgQW1hem9uIENsb3VkRnJvbnQgUlRNUCBVUkxzCiogRml4ZWQgaXNzdWUgIzg1IHRvIGNvcnJlY3QgdGhlIHBhcmFtZXRlciBzZXJpYWxpemF0aW9uIG9mIE5ldHdvcmtJbnRlcmZhY2VzIHdpdGhpbiB0aGUgQW1hem9uIEVDMiBSZXF1ZXN0U3BvdEluc3RhbmNlcwogIG9wZXJhdGlvbgoKMi4zLjIgKDIwMTMtMDUtMTUpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBBZGRlZCBzdXBwb3J0IGZvciBkb2luZyBwYXJhbGxlbCBzY2FucyB0byB0aGUgQW1hem9uIER5bmFtb0RCIGNsaWVudAoqIFtPcHNXb3Jrc10gQWRkZWQgc3VwcG9ydCBmb3IgdXNpbmcgRWxhc3RpYyBMb2FkIEJhbGFuY2VyIHRvIHRoZSBBV1MgT3BzV29ya3MgY2xpZW50CiogQWRkZWQgc3VwcG9ydCBmb3IgdXNpbmcgRUJTLWJhY2tlZCBpbnN0YW5jZXMgdG8gdGhlIEFXUyBPcHNXb3JrcyBjbGllbnQgYWxvbmcgd2l0aCBzb21lIG90aGVyIG1pbm9yIHVwZGF0ZXMKKiBBZGRlZCBzdXBwb3J0IGZvciBmaW5lci1ncmFpbmVkIGVycm9yIG1lc3NhZ2VzIHRvIHRoZSBBV1MgRGF0YSBQaXBlbGluZSBjbGllbnQgYW5kIHVwZGF0ZWQgdGhlIHNlcnZpY2UgZGVzY3JpcHRpb24KKiBBZGRlZCB0aGUgYWJpbGl0eSB0byBzZXQgdGhlIGBrZXlfcGFpcl9pZGAgYW5kIGBwcml2YXRlX2tleWAgb3B0aW9ucyBhdCB0aGUgdGltZSBvZiBzaWduaW5nIGEgQ2xvdWRGcm9udCBVUkwgaW5zdGVhZAogIG9mIHdoZW4gaW5zdGFudGlhdGluZyB0aGUgY2xpZW50CiogQWRkZWQgYSBuZXcgW1ppcCBEb3dubG9hZF0oaHR0cDovL3BlYXIuYW1hem9ud2Vic2VydmljZXMuY29tL2dldC9hd3MuemlwKSBmb3IgaW5zdGFsbGluZyB0aGUgU0RLCiogRml4ZWQgdGhlIEFQSSB2ZXJzaW9uIGZvciB0aGUgQVdTIFN1cHBvcnQgY2xpZW50IHRvIGJlIGAyMDEzLTA0LTE1YAoqIEZpeGVkIGlzc3VlICM3OCBieSBpbXBsZW1lbnRpbmcgYEF3c1xTM1xTdHJlYW1XcmFwcGVyOjpzdHJlYW1fY2FzdCgpYCBmb3IgdGhlIFMzIHN0cmVhbSB3cmFwcGVyCiogRml4ZWQgaXNzdWUgIzc5IGJ5IHVwZGF0aW5nIHRoZSBTMyBgQ2xlYXJCdWNrZXRgIG9iamVjdCB0byB3b3JrIHdpdGggdGhlIGBMaXN0T2JqZWN0c2Agb3BlcmF0aW9uCiogRml4ZWQgaXNzdWUgIzgwIHdoZXJlIHRoZSBgRVRhZ2Agd2FzIGluY29ycmVjdGx5IGxhYmVsZWQgYXMgYSBoZWFkZXIgdmFsdWUgaW5zdGVhZCBvZiBiZWluZyBpbiB0aGUgWE1MIGJvZHkgZm9yCiAgdGhlIFMzIGBDb21wbGV0ZU11bHRpcGFydFVwbG9hZGAgb3BlcmF0aW9uIHJlc3BvbnNlCiogRml4ZWQgYW4gaXNzdWUgd2hlcmUgdGhlIGBzZXRDcmVkZW50aWFscygpYCBtZXRob2QgZGlkIG5vdCBwcm9wZXJseSB1cGRhdGUgdGhlIGBTaWduYXR1cmVMaXN0ZW5lcmAKKiBVcGRhdGVkIHRoZSByZXF1aXJlZCB2ZXJzaW9uIG9mIEd1enpsZSB0byBgIj49My40LjMsPDQiYCB0byBzdXBwb3J0IEd1enpsZSAzLjUgd2hpY2ggcHJvdmlkZXMgdGhlIFNESyB3aXRoIGltcHJvdmVkCiAgbWVtb3J5IG1hbmFnZW1lbnQKCjIuMy4xICgyMDEzLTA0LTMwKQotLS0tLS0tLS0tLS0tLS0tLS0KCiogQWRkZWQgc3VwcG9ydCBmb3IgKipBV1MgU3VwcG9ydCoqCiogQWRkZWQgc3VwcG9ydCBmb3IgdXNpbmcgdGhlIGBldS13ZXN0LTFgIHJlZ2lvbiB0byB0aGUgQW1hem9uIFJlZHNoaWZ0IGNsaWVudAoqIEZpeGVkIGFuIGlzc3VlIHdpdGggdGhlIEFtYXpvbiBSRFMgY2xpZW50IHdoZXJlIHRoZSBgRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uYCBvcGVyYXRpb24gd2FzIG5vdCBiZWluZyBzZXJpYWxpemVkCiAgcHJvcGVybHkKKiBGaXhlZCBhbiBpc3N1ZSB3aXRoIHRoZSBBbWF6b24gUzMgY2xpZW50IHdoZXJlIHRoZSBgUHV0T2JqZWN0Q29weWAgYWxpYXMgd2FzIGludGVyZmVyaW5nIHdpdGggdGhlIGBDb3B5T2JqZWN0YAogIG9wZXJhdGlvbgoqIEFkZGVkIHRoZSBhYmlsaXR5IHRvIG1hbnVhbGx5IHNldCBhIENvbnRlbnQtTGVuZ3RoIGhlYWRlciB3aGVuIHVzaW5nIHRoZSBgUHV0T2JqZWN0YCBhbmQgYFVwbG9hZFBhcnRgIG9wZXJhdGlvbnMgb2YKICB0aGUgQW1hem9uIFMzIGNsaWVudAoqIEZpeGVkIGFuIGlzc3VlIHdoZXJlIHRoZSBBbWF6b24gUzMgY2xhc3Mgd2FzIG5vdCB0aHJvd2luZyBhbiBleGNlcHRpb24gZm9yIGEgbm9uLWZvbGxvd2FibGUgMzAxIHJlZGlyZWN0IHJlc3BvbnNlCiogRml4ZWQgYW4gaXNzdWUgd2hlcmUgYGZmbHVzaCgpYCB3YXMgY2FsbGVkIGR1cmluZyB0aGUgc2h1dGRvd24gcHJvY2VzcyBvZiB0aGUgc3RyZWFtIGhhbmRsZXIgZm9yIHJlYWQtb25seSBzdHJlYW1zCgoyLjMuMCAoMjAxMy0wNC0xOCkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEFkZGVkIHN1cHBvcnQgZm9yIExvY2FsIFNlY29uZGFyeSBJbmRleGVzIHRvIHRoZSBBbWF6b24gRHluYW1vREIgY2xpZW50CiogW0JDXSBVcGRhdGVkIHRoZSBBbWF6b24gRHluYW1vREIgY2xpZW50IHRvIHVzZSB0aGUgbmV3IDIwMTItMDgtMTAgQVBJIHZlcnNpb24gd2hpY2ggaW5jbHVkZXMgY2hhbmdlcyBpbiBob3cgeW91CiAgc3BlY2lmeSBrZXlzLiBJZiB5b3UgYXJlIG5vdCByZWFkeSB0byB1cGdyYWRlIHRvIHRoZSBuZXcgQVBJLCB5b3UgY2FuIGNvbmZpZ3VyZSB0aGUgU0RLIHRvIHVzZSB0aGUgcHJldmlvdXMgdmVyc2lvbiBvZgogIHRoZSBBUEkgYnkgc2V0dGluZyB0aGUgYHZlcnNpb25gIG9wdGlvbiB0byBgMjAxMS0xMi0wNWAgd2hlbiB5b3UgaW5zdGFudGlhdGUgdGhlIGNsaWVudCAoU2VlCiAgW2BVUEdSQURJTkcubWRgXShodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstcGhwL2Jsb2IvbWFzdGVyL1VQR1JBRElORy5tZCkpLgoqIEFkZGVkIGFuIEFtYXpvbiBTMyBzdHJlYW0gd3JhcHBlciB0aGF0IGFsbG93cyBQSFAgbmF0aXZlIGZpbGUgZnVuY3Rpb25zIHRvIGJlIHVzZWQgdG8gaW50ZXJhY3Qgd2l0aCBTMyBidWNrZXRzIGFuZAogIG9iamVjdHMKKiBBZGRlZCBzdXBwb3J0IGZvciBhdXRvbWF0aWNhbGx5IHJldHJ5aW5nICp0aHJvdHRsZWQqIHJlcXVlc3RzIHdpdGggZXhwb25lbnRpYWwgYmFja29mZiB0byBhbGwgc2VydmljZSBjbGllbnRzCiogQWRkZWQgYSBuZXcgY29uZmlnIG9wdGlvbiAoYHZlcnNpb25gKSB0byBjbGllbnQgb2JqZWN0cyB0byBzcGVjaWZ5IHRoZSBBUEkgdmVyc2lvbiB0byB1c2UgaWYgbXVsdGlwbGUgYXJlIHN1cHBvcnRlZAoqIEFkZGVkIGEgbmV3IGNvbmZpZyBvcHRpb24gKGBnY19vcGVyYXRpb25fZGVsYXlgKSB0byB0aGUgRHluYW1vREIgU2Vzc2lvbiBIYW5kbGVyIHRvIHNwZWNpZnkgYSBkZWxheSBiZXR3ZWVuIHJlcXVlc3RzCiAgdG8gdGhlIHNlcnZpY2UgZHVyaW5nIGdhcmJhZ2UgY29sbGVjdGlvbiBpbiBvcmRlciB0byBoZWxwIHJlZ3VsYXRlIHRoZSBjb25zdW1wdGlvbiBvZiB0aHJvdWdocHV0CiogQWRkZWQgc3VwcG9ydCBmb3IgdXNpbmcgdGhlIGB1cy13ZXN0LTJgIHJlZ2lvbiB0byB0aGUgQW1hem9uIFJlZHNoaWZ0IGNsaWVudAoqIFtEb2NzXSBBZGRlZCBhIHdheSB0byB1c2UgbWFya2VkIGludGVncmF0aW9uIHRlc3QgY29kZSBhcyBleGFtcGxlIGNvZGUgaW4gdGhlIHVzZXIgZ3VpZGUgYW5kIEFQSSBkb2NzCiogVXBkYXRlZCB0aGUgQW1hem9uIFJEUyBjbGllbnQgdG8gc2lnbiByZXF1ZXN0cyB3aXRoIFNpZ25hdHVyZSBWNAoqIFVwZGF0ZWQgdGhlIEFtYXpvbiBTMyBjbGllbnQgdG8gYXV0b21hdGljYWxseSBhZGQgdGhlIGBDb250ZW50LVR5cGVgIHRvIGBQdXRPYmplY3RgIGFuZCBvdGhlciB1cGxvYWQgb3BlcmF0aW9ucwoqIEZpeGVkIGFuIGlzc3VlIHdoZXJlIHNlcnZpY2UgY2xpZW50cyB3aXRoIGEgZ2xvYmFsIGVuZHBvaW50IGNvdWxkIGhhdmUgdGhlaXIgcmVnaW9uIGZvciBzaWduaW5nIHNldCBpbmNvcnJlY3RseSBpZiBhCiAgcmVnaW9uIG90aGVyIHRoYW4gYHVzLWVhc3QtMWAgd2FzIHNwZWNpZmllZC4KKiBGaXhlZCBhbiBpc3N1ZSB3aGVyZSByZXVzZWQgY29tbWFuZCBvYmplY3RzIGFwcGVuZGVkIGR1cGxpY2F0ZSBjb250ZW50IHRvIHRoZSB1c2VyIGFnZW50IHN0cmluZwoqIFtTREtdIEZpeGVkIGFuIGlzc3VlIGluIGEgZmV3IG9wZXJhdGlvbnMgKGluY2x1ZGluZyBgU1FTOjpyZWNlaXZlTWVzc2FnZWApIHdoZXJlIHRoZSBgY3VybC5vcHRpb25zYCBjb3VsZCBub3QgYmUKICBtb2RpZmllZAoqIFtEb2NzXSBBZGRlZCBrZXkgaW5mb3JtYXRpb24gdG8gdGhlIER5bmFtb0RCIHNlcnZpY2UgZGVzY3JpcHRpb24gdG8gcHJvdmlkZSBtb3JlIGFjY3VyYXRlIEFQSSBkb2NzIGZvciBzb21lIG9wZXJhdGlvbnMKKiBbRG9jc10gQWRkZWQgYSBwYWdlIGFib3V0IFdhaXRlcnMgdG8gdGhlIHVzZXIgZ3VpZGUKKiBbRG9jc10gQWRkZWQgYSBwYWdlIGFib3V0IHRoZSBEeW5hbW9EQiBTZXNzaW9uIEhhbmRsZXIgdG8gdGhlIHVzZXIgZ3VpZGUKKiBbRG9jc10gQWRkZWQgYSBwYWdlIGFib3V0IHJlc3BvbnNlIE1vZGVscyB0byB0aGUgdXNlciBndWlkZQoqIEJ1bXBlZCB0aGUgcmVxdWlyZWQgdmVyc2lvbiBvZiBHdXp6bGUgdG8gfjMuNC4xCgoyLjIuMSAoMjAxMy0wMy0xOCkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEFkZGVkIHN1cHBvcnQgZm9yIHZpZXdpbmcgYW5kIGRvd25sb2FkaW5nIERCIGxvZyBmaWxlcyB0byB0aGUgQW1hem9uIFJEUyBjbGllbnQKKiBBZGRlZCB0aGUgYWJpbGl0eSB0byB2YWxpZGF0ZSBpbmNvbWluZyBBbWF6b24gU05TIG1lc3NhZ2VzLiBTZWUgdGhlIGBBd3NcU25zXE1lc3NhZ2VWYWxpZGF0b3JgIG5hbWVzcGFjZQoqIEFkZGVkIHRoZSBhYmlsaXR5IHRvIGVhc2lseSBjaGFuZ2UgdGhlIGNyZWRlbnRpYWxzIHRoYXQgYSBjbGllbnQgaXMgY29uZmlndXJlZCB0byB1c2UgdmlhIGAkY2xpZW50LT5zZXRDcmVkZW50aWFscygpYAoqIEFkZGVkIHRoZSBgY2xpZW50LnJlZ2lvbl9jaGFuZ2VkYCBhbmQgYGNsaWVudC5jcmVkZW50aWFsc19jaGFuZ2VkYCBldmVudHMgb24gdGhlIGNsaWVudCB0aGF0IGFyZSB0cmlnZ2VyZWQgd2hlbiB0aGUKICBgc2V0UmVnaW9uKClgIGFuZCBgc2V0Q3JlZGVudGlhbHMoKWAgbWV0aG9kcyBhcmUgY2FsbGVkLCByZXNwZWN0aXZlbHkKKiBBZGRlZCBzdXBwb3J0IGZvciB1c2luZyB0aGUgYGFwLXNvdXRoZWFzdC0yYCByZWdpb24gd2l0aCB0aGUgQW1hem9uIEVsYXN0aUNhY2hlIGNsaWVudAoqIEFkZGVkIHN1cHBvcnQgZm9yIHVzaW5nIHRoZSBgdXMtZ292LXdlc3QtMWAgcmVnaW9uIHdpdGggdGhlIEFtYXpvbiBTV0YgY2xpZW50CiogVXBkYXRlZCB0aGUgQW1hem9uIFJEUyBjbGllbnQgdG8gdXNlIHRoZSAyMDEzLTAyLTEyIEFQSSB2ZXJzaW9uCiogRml4ZWQgYW4gaXNzdWUgaW4gdGhlIEFtYXpvbiBFQzIgc2VydmljZSBkZXNjcmlwdGlvbiB0aGF0IHdhcyBhZmZlY3RpbmcgdGhlIHVzZSBvZiB0aGUgbmV3IGBNb2RpZnlWcGNBdHRyaWJ1dGVgIGFuZAogIGBEZXNjcmliZVZwY0F0dHJpYnV0ZWAgb3BlcmF0aW9ucwoqIEFkZGVkIGBPYmplY3RVUkxgIHRvIHRoZSBvdXRwdXQgb2YgYW4gQW1hem9uIFMzIFB1dE9iamVjdCBvcGVyYXRpb24gc28gdGhhdCB5b3UgY2FuIG1vcmUgZWFzaWx5IHJldHJpZXZlIHRoZSBVUkwgb2YgYW4KICBvYmplY3QgYWZ0ZXIgdXBsb2FkaW5nCiogQWRkZWQgYSBgY3JlYXRlUHJlc2lnbmVkVXJsKClgIG1ldGhvZCB0byBhbnkgY29tbWFuZCBvYmplY3QgY3JlYXRlZCBieSB0aGUgQW1hem9uIFMzIGNsaWVudCB0byBtb3JlIGVhc2lseSBjcmVhdGUKICBwcmVzaWduZWQgVVJMcwoKMi4yLjAgKDIwMTMtMDMtMTEpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBBZGRlZCBzdXBwb3J0IGZvciAqKkFtYXpvbiBFbGFzdGljIE1hcFJlZHVjZSAoQW1hem9uIEVNUikqKgoqIEFkZGVkIHN1cHBvcnQgZm9yICoqQVdTIERpcmVjdCBDb25uZWN0KioKKiBBZGRlZCBzdXBwb3J0IGZvciAqKkFtYXpvbiBFbGFzdGlDYWNoZSoqCiogQWRkZWQgc3VwcG9ydCBmb3IgKipBV1MgU3RvcmFnZSBHYXRld2F5KioKKiBBZGRlZCBzdXBwb3J0IGZvciAqKkFXUyBJbXBvcnQvRXhwb3J0KioKKiBBZGRlZCBzdXBwb3J0IGZvciAqKkFXUyBDbG91ZEZvcm1hdGlvbioqCiogQWRkZWQgc3VwcG9ydCBmb3IgKipBbWF6b24gQ2xvdWRTZWFyY2gqKgoqIEFkZGVkIHN1cHBvcnQgZm9yIFtwcm92aXNpb25lZCBJT1BTXShodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25SRFMvbGF0ZXN0L1VzZXJHdWlkZS9PdmVydmlldy5Qcm92aXNpb25lZElPUFMuaHRtbCkKICB0byB0aGUgdGhlIEFtYXpvbiBSRFMgY2xpZW50CiogQWRkZWQgc3VwcG9ydCBmb3IgcHJvbW90aW5nIFtyZWFkIHJlcGxpY2FzXShodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25SRFMvbGF0ZXN0L1VzZXJHdWlkZS9VU0VSX1JlYWRSZXBsLmh0bWwpCiAgdG8gdGhlIEFtYXpvbiBSRFMgY2xpZW50CiogQWRkZWQgc3VwcG9ydCBmb3IgW2V2ZW50IG5vdGlmaWNhdGlvbiBzdWJzY3JpcHRpb25zXShodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25SRFMvbGF0ZXN0L1VzZXJHdWlkZS9VU0VSX0V2ZW50cy5odG1sKQogIHRvIHRoZSBBbWF6b24gUkRTIGNsaWVudAoqIEFkZGVkIHN1cHBvcnQgZm9yIGVuYWJsaW5nXGRpc2FibGluZyBETlMgSG9zdG5hbWVzIGFuZCBETlMgUmVzb2x1dGlvbiBpbiBBbWF6b24gVlBDIHRvIHRoZSBBbWF6b24gRUMyIGNsaWVudAoqIEFkZGVkIHN1cHBvcnQgZm9yIGVudW1lcmF0aW5nIGFjY291bnQgYXR0cmlidXRlcyB0byB0aGUgQW1hem9uIEVDMiBjbGllbnQKKiBBZGRlZCBzdXBwb3J0IGZvciBjb3B5aW5nIEFNSXMgYWNyb3NzIHJlZ2lvbnMgdG8gdGhlIEFtYXpvbiBFQzIgY2xpZW50CiogQWRkZWQgdGhlIGFiaWxpdHkgdG8gZ2V0IGEgV2FpdGVyIG9iamVjdCBmcm9tIGEgY2xpZW50IHVzaW5nIHRoZSBgZ2V0V2FpdGVyKClgIG1ldGhvZAoqIFtTREtdIEFkZGVkIHRoZSBhYmlsaXR5IHRvIGxvYWQgY3JlZGVudGlhbHMgZnJvbSBlbnZpcm9ubWVudGFsIHZhcmlhYmxlcyBgQVdTX0FDQ0VTU19LRVlfSURgIGFuZCBgQVdTX1NFQ1JFVF9LRVlgLgogIFRoaXMgaXMgY29tcGF0aWJsZSB3aXRoIEFXUyBFbGFzdGljIEJlYW5zdGFsayBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9ucwoqIEFkZGVkIHN1cHBvcnQgZm9yIHVzaW5nIHRoZSB1cy13ZXN0LTEsIHVzLXdlc3QtMiwgZXUtd2VzdC0xLCBhbmQgYXAtc291dGhlYXN0LTEgcmVnaW9ucyB3aXRoIEFtYXpvbiBDbG91ZFNlYXJjaAoqIFVwZGF0ZWQgdGhlIEFtYXpvbiBSRFMgY2xpZW50IHRvIHVzZSB0aGUgMjAxMy0wMS0xMCBBUEkgdmVyc2lvbgoqIFVwZGF0ZWQgdGhlIEFtYXpvbiBFQzIgY2xpZW50IHRvIHVzZSB0aGUgMjAxMy0wMi0wMSBBUEkgdmVyc2lvbgoqIEFkZGVkIHN1cHBvcnQgZm9yIHVzaW5nIFNlY3VyaXR5VG9rZW4gd2l0aCBzaWduYXR1cmUgdmVyc2lvbiAyIHNlcnZpY2VzCiogQWRkZWQgdGhlIGNsaWVudCBVc2VyLUFnZW50IGhlYWRlciB0byBleGNlcHRpb24gbWVzc2FnZXMgZm9yIGVhc2llciBkZWJ1Z2dpbmcKKiBBZGRlZCBhbiBlYXNpZXIgd2F5IHRvIGRpc2FibGUgb3BlcmF0aW9uIHBhcmFtZXRlciB2YWxpZGF0aW9uIGJ5IHNldHRpbmcgYHZhbGlkYXRpb25gIHRvIGZhbHNlIHdoZW4gY3JlYXRpbmcgY2xpZW50cwoqIEFkZGVkIHRoZSBhYmlsaXR5IHRvIGRpc2FibGUgdGhlIGV4cG9uZW50aWFsIGJhY2tvZmYgcGx1Z2luCiogQWRkZWQgdGhlIGFiaWxpdHkgdG8gZWFzaWx5IGZldGNoIHRoZSByZWdpb24gbmFtZSB0aGF0IGEgY2xpZW50IGlzIGNvbmZpZ3VyZWQgdG8gdXNlIHZpYSBgJGNsaWVudC0+Z2V0UmVnaW9uKClgCiogQWRkZWQgZW5kLXVzZXIgZ3VpZGVzIGF2YWlsYWJsZSBhdCBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3QvCiogRml4ZWQgaXNzdWUgIzQ4IHdoZXJlIHNpZ25pbmcgQW1hem9uIFMzIHJlcXVlc3RzIHdpdGggbnVsbCBvciBlbXB0eSBtZXRhZGF0YSByZXN1bHRlZCBpbiBhIHNpZ25hdHVyZSBlcnJvcgoqIEZpeGVkIGlzc3VlICMyOSB3aGVyZSBBbWF6b24gUzMgd2FzIGludGVybWl0dGVudGx5IGNsb3NpbmcgYSBjb25uZWN0aW9uCiogVXBkYXRlZCB0aGUgQW1hem9uIFMzIGNsaWVudCB0byBwYXJzZSB0aGUgQWNjZXB0UmFuZ2VzIGhlYWRlciBmb3IgSGVhZE9iamVjdCBhbmQgR2V0T2JqZWN0IG91dHB1dAoqIFVwZGF0ZWQgdGhlIEFtYXpvbiBHbGFjaWVyIGNsaWVudCB0byBhbGxvdyB0aGUgYHNhdmVBc2AgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCBhcyBhbiBhbGlhcyBmb3IgYGNvbW1hbmQucmVzcG9uc2VfYm9keWAKKiBWYXJpb3VzIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cyB0aHJvdWdob3V0IHRoZSBTREsKKiBSZW1vdmVkIGVuZHBvaW50IHByb3ZpZGVycyBhbmQgbm93IHBsYWNpbmcgc2VydmljZSByZWdpb24gaW5mb3JtYXRpb24gZGlyZWN0bHkgaW4gc2VydmljZSBkZXNjcmlwdGlvbnMKKiBSZW1vdmVkIGNsaWVudCByZXNvbHZlcnMgd2hlbiBjcmVhdGluZyBjbGllbnRzIGluIGEgY2xpZW50J3MgZmFjdG9yeSBtZXRob2QgKHRoaXMgc2hvdWxkIG5vdCBoYXZlIGFueSBpbXBhY3QgdG8gZW5kIHVzZXJzKQoKMi4xLjIgKDIwMTMtMDItMTgpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBBZGRlZCBzdXBwb3J0IGZvciAqKkFXUyBPcHNXb3JrcyoqCgoyLjEuMSAoMjAxMy0wMi0xNSkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEFkZGVkIHN1cHBvcnQgZm9yICoqQW1hem9uIFJlZHNoaWZ0KioKKiBBZGRlZCBzdXBwb3J0IGZvciAqKkFtYXpvbiBTaW1wbGUgUXVldWUgU2VydmljZSAoQW1hem9uIFNRUykqKgoqIEFkZGVkIHN1cHBvcnQgZm9yICoqQW1hem9uIFNpbXBsZSBOb3RpZmljYXRpb24gU2VydmljZSAoQW1hem9uIFNOUykqKgoqIEFkZGVkIHN1cHBvcnQgZm9yICoqQW1hem9uIFNpbXBsZSBFbWFpbCBTZXJ2aWNlIChBbWF6b24gU0VTKSoqCiogQWRkZWQgc3VwcG9ydCBmb3IgKipBdXRvIFNjYWxpbmcqKgoqIEFkZGVkIHN1cHBvcnQgZm9yICoqQW1hem9uIENsb3VkV2F0Y2gqKgoqIEFkZGVkIHN1cHBvcnQgZm9yICoqQW1hem9uIFNpbXBsZSBXb3JrZmxvdyBTZXJ2aWNlIChBbWF6b24gU1dGKSoqCiogQWRkZWQgc3VwcG9ydCBmb3IgKipBbWF6b24gUmVsYXRpb25hbCBEYXRhYmFzZSBTZXJ2aWNlIChBbWF6b24gUkRTKSoqCiogQWRkZWQgc3VwcG9ydCBmb3IgaGVhbHRoIGNoZWNrcyBhbmQgZmFpbG92ZXIgaW4gQW1hem9uIFJvdXRlIDUzCiogVXBkYXRlZCB0aGUgQW1hem9uIFJvdXRlIDUzIGNsaWVudCB0byB1c2UgdGhlIDIwMTItMTItMTIgQVBJIHZlcnNpb24KKiBVcGRhdGVkIGBBYnN0cmFjdFdhaXRlcmAgdG8gZGlzcGF0Y2ggYHdhaXRlci5iZWZvcmVfYXR0ZW1wdGAgYW5kIGB3YWl0ZXIuYmVmb3JlX3dhaXRgIGV2ZW50cwoqIFVwZGF0ZWQgYENhbGxhYmxlV2FpdGVyYCB0byBhbGxvdyBmb3IgYW4gYXJyYXkgb2YgY29udGV4dCBkYXRhIHRvIGJlIHBhc3NlZCB0byB0aGUgY2FsbGFibGUKKiBGaXhlZCBpc3N1ZSAjMjkgc28gdGhhdCB0aGUgc3RhdCBjYWNoZSBpcyBjbGVhcmVkIGJlZm9yZSBwZXJmb3JtaW5nIG11bHRpcGFydCB1cGxvYWRzCiogRml4ZWQgaXNzdWUgIzM4IHNvIHRoYXQgQW1hem9uIENsb3VkRnJvbnQgVVJMcyBhcmUgc2lnbmVkIHByb3Blcmx5CiogRml4ZWQgYW4gaXNzdWUgd2l0aCBBbWF6b24gUzMgd2Vic2l0ZSByZWRpcmVjdHMKKiBGaXhlZCBhIFVSTCBlbmNvZGluZyBpbmNvbnNpc3RlbmN5IHdpdGggQW1hem9uIFMzIGFuZCBwcmUtc2lnbmVkIFVSTHMKKiBGaXhlZCBpc3N1ZSAjNDIgdG8gZWxpbWluYXRlIGNVUkwgZXJyb3IgNjUgZm9yIEpTT04gc2VydmljZXMKKiBTZXQgR3V6emxlIGRlcGVuZGVuY3kgdG8gW34zLjIuMF0oaHR0cHM6Ly9naXRodWIuY29tL2d1enpsZS9ndXp6bGUvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HLm1kIzMyMC0yMDEzLTAyLTE0KQoqIE1pbmltdW0gdmVyc2lvbiBvZiBQSFAgaXMgbm93IDUuMy4zCgoyLjEuMCAoMjAxMy0wMS0yOCkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIFdhaXRlcnMgbm93IHJlcXVpcmUgYW4gYXNzb2NpYXRpdmUgYXJyYXkgYXMgaW5wdXQgZm9yIHRoZSB1bmRlcmx5aW5nIG9wZXJhdGlvbiBwZXJmb3JtZWQgYnkgYSB3YWl0ZXIuIFNlZQogIGBVUEdSQURJTkcubWRgIGZvciBkZXRhaWxzLgoqIEFkZGVkIHN1cHBvcnQgZm9yICoqQW1hem9uIEVsYXN0aWMgQ29tcHV0ZSBDbG91ZCAoQW1hem9uIEVDMikqKgoqIEFkZGVkIHN1cHBvcnQgZm9yICoqQW1hem9uIEVsYXN0aWMgVHJhbnNjb2RlcioqCiogQWRkZWQgc3VwcG9ydCBmb3IgKipBbWF6b24gU2ltcGxlREIqKgoqIEFkZGVkIHN1cHBvcnQgZm9yICoqRWxhc3RpYyBMb2FkIEJhbGFuY2luZyoqCiogQWRkZWQgc3VwcG9ydCBmb3IgKipBV1MgRWxhc3RpYyBCZWFuc3RhbGsqKgoqIEFkZGVkIHN1cHBvcnQgZm9yICoqQVdTIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudCAoSUFNKSoqCiogQWRkZWQgc3VwcG9ydCBmb3IgQW1hem9uIFMzIHdlYnNpdGUgcmVkaXJlY3Rpb24gcnVsZXMKKiBBZGRlZCBzdXBwb3J0IGZvciB0aGUgYFJldHJpZXZlQnl0ZVJhbmdlYCBwYXJhbWV0ZXIgb2YgdGhlIGBJbml0aWF0ZUpvYmAgb3BlcmF0aW9uIGluIEFtYXpvbiBHbGFjaWVyCiogQWRkZWQgc3VwcG9ydCBmb3IgU2lnbmF0dXJlIFZlcnNpb24gMgoqIENsaWVudHMgbm93IGdhaW4gbW9yZSBpbmZvcm1hdGlvbiBmcm9tIHNlcnZpY2UgZGVzY3JpcHRpb25zIHJhdGhlciB0aGFuIGNsaWVudCBmYWN0b3J5IG1ldGhvZHMKKiBTZXJ2aWNlIGRlc2NyaXB0aW9ucyBhcmUgbm93IHZlcnNpb25lZCBmb3IgY2xpZW50cwoqIEZpeGVkIGFuIGlzc3VlIHdoZXJlIEFtYXpvbiBTMyBkaWQgbm90IHVzZSAicmVzdG9yZSIgYXMgYSBzaWduYWJsZSByZXNvdXJjZQoqIEZpeGVkIGFuIGlzc3VlIHdpdGggQW1hem9uIFMzIHdoZXJlIGB4LWFtei1tZXRhLSpgIGhlYWRlcnMgd2VyZSBub3QgcHJvcGVybHkgYWRkZWQgd2l0aCB0aGUgQ29weU9iamVjdCBvcGVyYXRpb24KKiBGaXhlZCBhbiBpc3N1ZSB3aGVyZSB0aGUgQW1hem9uIEdsYWNpZXIgY2xpZW50IHdhcyBub3QgdXNpbmcgdGhlIGNvcnJlY3QgVXNlci1BZ2VudCBoZWFkZXIKKiBGaXhlZCBpc3N1ZSAjMTMgaW4gd2hpY2ggY29uc3RhbnRzIGRlZmluZWQgYnkgcmVmZXJlbmNpbmcgb3RoZXIgY29uc3RhbnRzIGNhdXNlZCBlcnJvcnMgd2l0aCBlYXJseSB2ZXJzaW9ucyBvZiBQSFAgNS4zCgoyLjAuMyAoMjAxMi0xMi0yMCkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEFkZGVkIHN1cHBvcnQgZm9yICoqQVdTIERhdGEgUGlwZWxpbmUqKgoqIEFkZGVkIHN1cHBvcnQgZm9yICoqQW1hem9uIFJvdXRlIDUzKioKKiBGaXhlZCBhbiBpc3N1ZSB3aXRoIHRoZSBBbWF6b24gUzMgY2xpZW50IHdoZXJlIG9iamVjdCBrZXlzIHdpdGggc2xhc2hlcyB3ZXJlIGNhdXNpbmcgZXJyb3JzCiogQWRkZWQgYSBgU2F2ZUFzYCBwYXJhbWV0ZXIgdG8gdGhlIEFtYXpvbiBTMyBgR2V0T2JqZWN0YCBvcGVyYXRpb24gdG8gYWxsb3cgc2F2aW5nIHRoZSBvYmplY3QgZGlyZWN0bHkgdG8gYSBmaWxlCiogUmVmYWN0b3JlZCBpdGVyYXRvcnMgdG8gcmVtb3ZlIGNvZGUgZHVwbGljYXRpb24gYW5kIGVhc2UgY3JlYXRpb24gb2YgZnV0dXJlIGl0ZXJhdG9ycwoKMi4wLjIgKDIwMTItMTItMTApCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBGaXhlZCBhbiBpc3N1ZSB3aXRoIHRoZSBBbWF6b24gUzMgY2xpZW50IHdoZXJlIG5vbi1ETlMgY29tcGF0aWJsZSBidWNrZXRzIHRoYXQgd2FzIHByZXZpb3VzbHkgY2F1c2luZyBhIHNpZ25hdHVyZQogIG1pc21hdGNoIGVycm9yCiogRml4ZWQgYW4gaXNzdWUgd2l0aCB0aGUgc2VydmljZSBkZXNjcmlwdGlvbiBmb3IgdGhlIEFtYXpvbiBTMyBgVXBsb2FkUGFydGAgb3BlcmF0aW9uIHNvIHRoYXQgaXQgd29ya3MgY29ycmVjdGx5CiogRml4ZWQgYW4gaXNzdWUgd2l0aCB0aGUgQW1hem9uIFMzIHNlcnZpY2UgZGVzY3JpcHRpb24gZGVhbGluZyB3aXRoIGByZXNwb25zZS0qYCBxdWVyeSBwYXJhbWV0ZXJzIG9mIGBHZXRPYmplY3RgCiogRml4ZWQgYW4gaXNzdWUgd2l0aCB0aGUgQW1hem9uIFMzIGNsaWVudCB3aGVyZSBvYmplY3Qga2V5cyBwcmVmaXhlZCBieSB0aGUgYnVja2V0IG5hbWUgd2VyZSBiZWluZyB0cmVhdGVkIGluY29ycmVjdGx5CiogRml4ZWQgYW4gaXNzdWUgd2l0aCBgQXdzXFMzXE1vZGVsXE11bHRpcGFydFVwbG9hZFxQYXJhbGxlbFRyYW5zZmVyYCBjbGFzcwoqIEFkZGVkIHN1cHBvcnQgZm9yIHRoZSBgQXNzdW1lUm9sZWAgb3BlcmF0aW9uIGZvciBBV1MgU1RTCiogQWRkZWQgYSB0aGUgYFVwbG9hZEJvZHlMaXN0ZW5lcmAgd2hpY2ggYWxsb3dzIHVwbG9hZCBvcGVyYXRpb25zIGluIEFtYXpvbiBTMyBhbmQgQW1hem9uIEdsYWNpZXIgdG8gYWNjZXB0IGZpbGUgaGFuZGxlcwogIGluIHRoZSBgQm9keWAgcGFyYW1ldGVyIGFuZCBmaWxlIHBhdGhzIGluIHRoZSBgU291cmNlRmlsZWAgcGFyYW1ldGVyCiogQWRkZWQgQ29udGVudC1UeXBlIGd1ZXNzaW5nIGZvciB1cGxvYWRzCiogQWRkZWQgbmV3IHJlZ2lvbiBlbmRwb2ludHMsIGluY2x1ZGluZyBzYS1lYXN0LTEgYW5kIHVzLWdvdi13ZXN0LTEgZm9yIEFtYXpvbiBEeW5hbW9EQgoqIEFkZGVkIG1ldGhvZHMgdG8gYEF3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkQnVpbGRlcmAgY2xhc3MgdG8gbWFrZSBzZXR0aW5nIEFDTCBhbmQgQ29udGVudC1UeXBlIGVhc2llcgoKMi4wLjEgKDIwMTItMTEtMTMpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBGaXhlZCBhIHNpZ25hdHVyZSBpc3N1ZSBlbmNvdW50ZXJlZCB3aGVuIGEgcmVxdWVzdCB0byBBbWF6b24gUzMgaXMgcmVkaXJlY3RlZAoqIEFkZGVkIHN1cHBvcnQgZm9yIGFyY2hpdmluZyBBbWF6b24gUzMgb2JqZWN0cyB0byBBbWF6b24gR2xhY2llcgoqIEFkZGVkIENSQzMyIHZhbGlkYXRpb24gb2YgQW1hem9uIER5bmFtb0RCIHJlc3BvbnNlcwoqIEFkZGVkIENvbnNpc3RlbnRSZWFkIHN1cHBvcnQgdG8gdGhlIGBCYXRjaEdldEl0ZW1gIG9wZXJhdGlvbiBvZiBBbWF6b24gRHluYW1vREIKKiBBZGRlZCBuZXcgcmVnaW9uIGVuZHBvaW50cywgaW5jbHVkaW5nIFN5ZG5leQoKMi4wLjAgKDIwMTItMTEtMDIpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBJbml0aWFsIHJlbGVhc2Ugb2YgdGhlIEFXUyBTREsgZm9yIFBIUCBWZXJzaW9uIDIuIFNlZSA8aHR0cDovL2F3cy5hbWF6b24uY29tL3Nka2ZvcnBocDIvPiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKiBBZGRlZCBzdXBwb3J0IGZvciAqKkFtYXpvbiBTaW1wbGUgU3RvcmFnZSBTZXJ2aWNlIChBbWF6b24gUzMpKioKKiBBZGRlZCBzdXBwb3J0IGZvciAqKkFtYXpvbiBEeW5hbW9EQioqCiogQWRkZWQgc3VwcG9ydCBmb3IgKipBbWF6b24gR2xhY2llcioqCiogQWRkZWQgc3VwcG9ydCBmb3IgKipBbWF6b24gQ2xvdWRGcm9udCoqCiogQWRkZWQgc3VwcG9ydCBmb3IgKipBV1MgU2VjdXJpdHkgVG9rZW4gU2VydmljZSAoQVdTIFNUUykqKgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/compatibility-test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCi8vIFJ1biB0aGlzIHNjcmlwdCBmcm9tIHRoZSBjb21tYW5kIGxpbmUgdG8gc2VlIGlmIHlvdXIgc3lzdGVtIGlzIGFibGUgdG8gcnVuIHRoZSBBV1MgU0RLIGZvciBQSFAKCmNsYXNzIENvbXBhdGliaWxpdHlUZXN0CnsKICAgIHByb3RlY3RlZCAkaXNDbGk7CiAgICBwcm90ZWN0ZWQgJGxpbmVzID0gYXJyYXkoKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogICAgewogICAgICAgICR0aGlzLT5pc0NsaSA9IHBocF9zYXBpX25hbWUoKSA9PSAnY2xpJzsKICAgICAgICAkdGl0bGUgPSAnQVdTIFNESyBmb3IgUEhQIENvbXBhdGliaWxpdHkgVGVzdCc7CiAgICAgICAgaWYgKCR0aGlzLT5pc0NsaSkgewogICAgICAgICAgICAkcmVwID0gc3RyX3JlcGVhdCgnPScsIHN0cmxlbigkdGl0bGUpKTsKICAgICAgICAgICAgJHRoaXMtPmxpbmVzW10gPSAieyRyZXB9XG57JHRpdGxlfVxueyRyZXB9IjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+bGluZXNbXSA9IHNwcmludGYoCiAgICAgICAgICAgICAgICAnPHN0eWxlIHR5cGU9InRleHQvY3NzIj4lcyAlczwvc3R5bGU+JywKICAgICAgICAgICAgICAgICdodG1sIHtmb250LWZhbWlseTp2ZXJkYW5hO30gLk9LIHtjb2xvcjogIzE2NjExNjt9JywKICAgICAgICAgICAgICAgICcuRkFJTCB7bWFyZ2luLXRvcDogMWVtOyBjb2xvcjogI0E1MkMyNzt9IC5XQVJOSU5HIHttYXJnaW4tdG9wOiAxZW07IGNvbG9yOiM2QjAzNkI7fScKICAgICAgICAgICAgKTsKICAgICAgICAgICAgJHRoaXMtPmxpbmVzW10gPSAiPGgxPnskdGl0bGV9PC9oMT4iOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZW5kVGVzdCgpCiAgICB7CiAgICAgICAgJHRleHQgPSBpbXBsb2RlKCJcbiIsICR0aGlzLT5saW5lcyk7CiAgICAgICAgZWNobyAkdGhpcy0+aXNDbGkgPyAkdGV4dCA6ICI8aHRtbD48Ym9keT57JHRleHR9PC9ib2R5PjwvaHRtbD4iOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0aXRsZSgkdGV4dCkKICAgIHsKICAgICAgICAkdGhpcy0+bGluZXNbXSA9ICR0aGlzLT5pc0NsaQogICAgICAgICAgICA/ICAiXG4iIC4gJHRleHQgLiAiXG4iIC4gc3RyX3JlcGVhdCgnLScsIHN0cmxlbigkdGV4dCkpIC4gIlxuIgogICAgICAgICAgICA6ICI8aDI+eyR0ZXh0fTwvaDI+IjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gd3JpdGUoJHRleHQpCiAgICB7CiAgICAgICAgJHRoaXMtPmxpbmVzW10gPSAkdGV4dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcXVvdGUoJHRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuICEkdGhpcy0+aXNDbGkKICAgICAgICAgICAgPyAiPHByZT57JHRleHR9PC9wcmU+IgogICAgICAgICAgICA6IGltcGxvZGUoIlxuIiwgYXJyYXlfbWFwKGZ1bmN0aW9uICgkdCkgeyByZXR1cm4gJyAgICAnIC4gJHQ7IH0sIGV4cGxvZGUoIlxuIiwgJHRleHQpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNoZWNrKCRpbmZvLCAkZnVuYywgJHRleHQsICRyZXF1aXJlZCkKICAgIHsKICAgICAgICAkbGV2ZWwgPSAkZnVuYygpID8gJ09LJyA6ICgkcmVxdWlyZWQgPyAnRkFJTCcgOiAnV0FSTklORycpOwogICAgICAgIGlmICgkdGhpcy0+aXNDbGkpIHsKICAgICAgICAgICAgJHRleHQgPSAkbGV2ZWwgPT0gJ09LJyA/ICItIHskaW5mb306IFtPS10iIDogIi0geyRpbmZvfTogW3skbGV2ZWx9XVxuICAtIHskdGV4dH0iOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0ZXh0ID0gJGxldmVsID09ICdPSycKICAgICAgICAgICAgICAgID8gIjxzcGFuIGNsYXNzPVwieyRsZXZlbH1cIj57JGluZm99PC9zcGFuPjxiciAvPiIKICAgICAgICAgICAgICAgIDogIjxkaXYgY2xhc3M9XCJ7JGxldmVsfVwiPnskaW5mb306IFt7JGxldmVsfV08YnIgLz48YmxvY2txdW90ZT57JHRleHR9PC9ibG9ja3F1b3RlPjwvZGl2PiI7CiAgICAgICAgfQogICAgICAgICR0aGlzLT53cml0ZSgkdGV4dCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFkZFJlY29tbWVuZCgkaW5mbywgJGZ1bmMsICR0ZXh0KQogICAgewogICAgICAgICR0aGlzLT5jaGVjaygkaW5mbywgJGZ1bmMsICR0ZXh0LCBmYWxzZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFkZFJlcXVpcmUoJGluZm8sICRmdW5jLCAkdGV4dCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2hlY2soJGluZm8sICRmdW5jLCAkdGV4dCwgdHJ1ZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGluaUNoZWNrKCRpbmZvLCAkc2V0dGluZywgJGV4cGVjdGVkLCAkcmVxdWlyZWQgPSB0cnVlLCAkaGVscCA9IG51bGwpCiAgICB7CiAgICAgICAgJGN1cnJlbnQgPSBpbmlfZ2V0KCRzZXR0aW5nKTsKICAgICAgICAkY2IgPSBmdW5jdGlvbiAoKSB1c2UgKCRjdXJyZW50LCAkZXhwZWN0ZWQpIHsKICAgICAgICAgICAgcmV0dXJuIGlzX2NhbGxhYmxlKCRleHBlY3RlZCkKICAgICAgICAgICAgICAgID8gY2FsbF91c2VyX2Z1bmMoJGV4cGVjdGVkLCAkY3VycmVudCkKICAgICAgICAgICAgICAgIDogJGN1cnJlbnQgPT0gJGV4cGVjdGVkOwogICAgICAgIH07CgogICAgICAgICRtZXNzYWdlID0gc3ByaW50ZigKICAgICAgICAgICAgJyVzIGluICVzIGlzIGN1cnJlbnRseSBzZXQgdG8gJXMgYnV0ICVzIGJlIHNldCB0byAlcy4nLAogICAgICAgICAgICAkc2V0dGluZywKICAgICAgICAgICAgcGhwX2luaV9sb2FkZWRfZmlsZSgpLAogICAgICAgICAgICB2YXJfZXhwb3J0KCRjdXJyZW50LCB0cnVlKSwKICAgICAgICAgICAgJHJlcXVpcmVkID8gJ211c3QnIDogJ3Nob3VsZCcsCiAgICAgICAgICAgIHZhcl9leHBvcnQoJGV4cGVjdGVkLCB0cnVlKQogICAgICAgICkgLiAnICcgLiAkaGVscDsKCiAgICAgICAgJHRoaXMtPmNoZWNrKCRpbmZvLCAkY2IsIHRyaW0oJG1lc3NhZ2UpLCAkcmVxdWlyZWQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBleHRDaGVjaygkZXh0LCAkcmVxdWlyZWQgPSB0cnVlLCAkaGVscCA9ICcnKQogICAgewogICAgICAgICRpbmZvID0gc3ByaW50ZignQ2hlY2tpbmcgaWYgdGhlICVzIGV4dGVuc2lvbiBpcyBpbnN0YWxsZWQnLCAkZXh0KTsKICAgICAgICAkY2IgPSBmdW5jdGlvbiAoKSB1c2UgKCRleHQpIHsgcmV0dXJuIGV4dGVuc2lvbl9sb2FkZWQoJGV4dCk7IH07CiAgICAgICAgJG1lc3NhZ2UgPSAkaGVscCA/OiBzcHJpbnRmKCdUaGUgJXMgZXh0ZW5zaW9uICVzIGJlIGluc3RhbGxlZCcsICRleHQsICRyZXF1aXJlZCA/ICdtdXN0JyA6ICdzaG91bGQnKTsKICAgICAgICAkdGhpcy0+Y2hlY2soJGluZm8sICRjYiwgJG1lc3NhZ2UsICRyZXF1aXJlZCk7CiAgICB9Cn0KCiRjID0gbmV3IENvbXBhdGliaWxpdHlUZXN0KCk7CiRjLT50aXRsZSgnU3lzdGVtIHJlcXVpcmVtZW50cycpOwokYy0+YWRkUmVxdWlyZSgKICAgICdFbnN1cmluZyB0aGF0IHRoZSB2ZXJzaW9uIG9mIFBIUCBpcyA+PSA1LjMuMycsCiAgICBmdW5jdGlvbiAoKSB7IHJldHVybiB2ZXJzaW9uX2NvbXBhcmUocGhwdmVyc2lvbigpLCAnNS4zLjMnLCAnPj0nKTsgfSwKICAgICdZb3UgbXVzdCB1cGRhdGUgeW91ciB2ZXJzaW9uIG9mIFBIUCB0byA1LjMuMyB0byBydW4gdGhlIEFXUyBTREsgZm9yIFBIUCcKKTsKCiRjLT5pbmlDaGVjaygnRW5zdXJpbmcgdGhhdCBkZXRlY3RfdW5pY29kZSBpcyBkaXNhYmxlZCcsICdkZXRlY3RfdW5pY29kZScsIGZhbHNlLCB0cnVlLCAnRW5hYmxpbmcgZGV0ZWN0X3VuaWNvZGUgbWF5IGNhdXNlIGVycm9ycyB3aGVuIHVzaW5nIHBoYXIgZmlsZXMuIFNlZSBodHRwczovL2J1Z3MucGhwLm5ldC9idWcucGhwP2lkPTQyMzk2Jyk7CiRjLT5pbmlDaGVjaygnRW5zdXJpbmcgdGhhdCBzZXNzaW9uLmF1dG9fc3RhcnQgaXMgZGlzYWJsZWQnLCAnc2Vzc2lvbi5hdXRvX3N0YXJ0JywgZmFsc2UpOwoKaWYgKGV4dGVuc2lvbl9sb2FkZWQoJ3N1aG9zaW4nKSkgewogICAgJGMtPmFkZFJlcXVpcmUoCiAgICAgICAgJ0Vuc3VyaW5nIHRoYXQgcGhhciBmaWxlcyBjYW4gYmUgcnVuIHdpdGggdGhlIHN1aG9zaW4gcGF0Y2gnLAogICAgICAgIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlICE9PSBzdHJpcG9zKGluaV9nZXQoJ3N1aG9zaW4uZXhlY3V0b3IuaW5jbHVkZS53aGl0ZWxpc3QnKSwgJ3BoYXInKTsKICAgICAgICB9LAogICAgICAgIHNwcmludGYoJ3N1aG9zaW4uZXhlY3V0b3IuaW5jbHVkZS53aGl0ZWxpc3QgbXVzdCBiZSBjb25maWd1cmVkIHRvIGluY2x1ZGUgInBoYXIiIGluICVzIHNvIHRoYXQgdGhlIHBoYXIgZmlsZSB3b3JrcyBjb3JyZWN0bHknLCBwaHBfaW5pX2xvYWRlZF9maWxlKCkpCiAgICApOwp9Cgpmb3JlYWNoIChhcnJheSgncGNyZScsICdzcGwnLCAnanNvbicsICdkb20nLCAnc2ltcGxleG1sJywgJ2N1cmwnKSBhcyAkZXh0KSB7CiAgICAkYy0+ZXh0Q2hlY2soJGV4dCwgdHJ1ZSk7Cn0KCmlmIChmdW5jdGlvbl9leGlzdHMoJ2N1cmxfdmVyc2lvbicpKSB7CiAgICAkYy0+YWRkUmVxdWlyZSgnRW5zdXJpbmcgdGhhdCBjVVJMIGNhbiBzZW5kIGh0dHBzIHJlcXVlc3RzJywgZnVuY3Rpb24gKCkgewogICAgICAgICR2ZXJzaW9uID0gY3VybF92ZXJzaW9uKCk7CiAgICAgICAgcmV0dXJuIGluX2FycmF5KCdodHRwcycsICR2ZXJzaW9uWydwcm90b2NvbHMnXSwgdHJ1ZSk7CiAgICB9LCAnY1VSTCBtdXN0IGJlIGFibGUgdG8gc2VuZCBodHRwcyByZXF1ZXN0cycpOwp9CgokYy0+YWRkUmVxdWlyZSgnRW5zdXJpbmcgdGhhdCBmaWxlX2dldF9jb250ZW50cyB3b3JrcycsIGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiBmdW5jdGlvbl9leGlzdHMoJ2ZpbGVfZ2V0X2NvbnRlbnRzJyk7Cn0sICdmaWxlX2dldF9jb250ZW50cyBoYXMgYmVlbiBkaXNhYmxlZCcpOwoKJGMtPnRpdGxlKCdTeXN0ZW0gcmVjb21tZW5kYXRpb25zJyk7CgokYy0+YWRkUmVjb21tZW5kKAogICAgJ0NoZWNraW5nIGlmIFBIUCB2ZXJzaW9uIGlzID49IDUuNC4xJywKICAgIGZ1bmN0aW9uICgpIHsgcmV0dXJuIHZlcnNpb25fY29tcGFyZShwaHB2ZXJzaW9uKCksICc1LjQuMScsICc+PScpOyB9LAogICAgJ1lvdSBhcmUgdXNpbmcgYW4gb2xkZXIgdmVyc2lvbiBvZiBQSFAgKCcgLiBwaHB2ZXJzaW9uKCkgLiAnKS4gQ29uc2lkZXIgdXBkYXRpbmcgdG8gUEhQIDUuNC4xIG9yIG5ld2VyIHRvIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIGFuZCBzdGFiaWxpdHkgb2YgdGhlIFNESy4nCik7CgokYy0+YWRkUmVjb21tZW5kKCdDaGVja2luZyBpZiB5b3UgYXJlIHJ1bm5pbmcgb24gYSA2NC1iaXQgcGxhdGZvcm0nLCBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gUEhQX0lOVF9NQVggPT09IDkyMjMzNzIwMzY4NTQ3NzU4MDc7Cn0sICdZb3UgYXJlIG5vdCBydW5uaW5nIG9uIGEgNjQtYml0IGluc3RhbGxhdGlvbiBvZiBQSFAuIFlvdSBtYXkgcnVuIGludG8gaXNzdWVzIHVwbG9hZGluZyBvciBkb3dubG9hZGluZyBmaWxlcyBsYXJnZXIgdGhhbiAyR0IuJyk7CgokYy0+aW5pQ2hlY2soJ0Vuc3VyaW5nIHRoYXQgemVuZC5lbmFibGVfZ2MgaXMgZW5hYmxlZCcsICd6ZW5kLmVuYWJsZV9nYycsIHRydWUsIGZhbHNlKTsKCiRjLT5jaGVjaygnRW5zdXJpbmcgdGhhdCBkYXRlLnRpbWV6b25lIGlzIHNldCcsIGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiAoYm9vbCkgaW5pX2dldCgnZGF0ZS50aW1lem9uZScpOwp9LCAnVGhlIGRhdGUudGltZXpvbmUgUEhQIGluaSBzZXR0aW5nIGhhcyBub3QgYmVlbiBzZXQgaW4gJyAuIHBocF9pbmlfbG9hZGVkX2ZpbGUoKSwgZmFsc2UpOwoKaWYgKGV4dGVuc2lvbl9sb2FkZWQoJ3hkZWJ1ZycpKSB7CiAgICAkYy0+YWRkUmVjb21tZW5kKCdDaGVja2luZyBpZiBYZGVidWcgaXMgaW5zdGFsbGVkJywgZnVuY3Rpb24gKCkgeyByZXR1cm4gZmFsc2U7IH0sICdYZGVidWcgaXMgaW5zdGFsbGVkLiBDb25zaWRlciB1bmluc3RhbGxpbmcgWGRlYnVnIHRvIG1ha2UgdGhlIFNESyBydW4gbXVjaCBmYXN0ZXIuJyk7CiAgICAkYy0+aW5pQ2hlY2soJ0Vuc3VyaW5nIHRoYXQgWGRlYnVnXCdzIGluZmluaXRlIHJlY3Vyc2lvbiBkZXRlY3Rpb24gZG9lcyBub3QgZXJyb25lb3VzbHkgY2F1c2UgYSBmYXRhbCBlcnJvcicsICd4ZGVidWcubWF4X25lc3RpbmdfbGV2ZWwnLCAwLCBmYWxzZSk7Cn0KCiRjLT5leHRDaGVjaygnb3BlbnNzbCcsIGZhbHNlKTsKJGMtPmV4dENoZWNrKCd6bGliJywgZmFsc2UpOwokYy0+ZXh0Q2hlY2soJ3VyaV90ZW1wbGF0ZScsIGZhbHNlLCAnSW5zdGFsbGluZyB0aGUgdXJpX3RlbXBsYXRlIGV4dGVuc2lvbiB3aWxsIG1ha2UgdGhlIFNESyBmYXN0ZXIuIEluc3RhbGwgdXNpbmcgcGVjbCBpbnN0YWxsIHVyaV90ZW1wbGF0ZS1hbHBoYScpOwoKLy8gSXMgYW4gb3Bjb2RlIGNhY2hlIGluc3RhbGxlZCBvciBhcmUgdGhleSBydW5uaW5nID49IFBIUCA1LjU/CiRjLT5hZGRSZWNvbW1lbmQoCiAgICAnQ2hlY2tpbmcgaWYgYW4gb3Bjb2RlIGNhY2hlIGlzIGluc3RhbGxlZCcsCiAgICBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHZlcnNpb25fY29tcGFyZShwaHB2ZXJzaW9uKCksICc1LjUuMCcsICc+PScpIHx8IGV4dGVuc2lvbl9sb2FkZWQoJ2FwYycpIHx8IGV4dGVuc2lvbl9sb2FkZWQoJ3hjYWNoZScpOwogICAgfSwKICAgICdZb3UgYXJlIG5vdCB1dGlsaXppbmcgYW4gb3Bjb2RlIGNhY2hlLiBDb25zaWRlciB1cGdyYWRpbmcgdG8gUEhQID49IDUuNSBvciBpbnN0YWxsIEFQQy4nCik7CgokYy0+dGl0bGUoJ1BIUCBpbmZvcm1hdGlvbicpOwpvYl9zdGFydCgpOwpwaHBpbmZvKElORk9fR0VORVJBTCk7CiRpbmZvID0gb2JfZ2V0X2NsZWFuKCk7CiRjLT53cml0ZSgkYy0+cXVvdGUoJGluZm8pKTsKCiRjLT5lbmRUZXN0KCk7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiYXdzL2F3cy1zZGstcGhwIiwKICAgICJob21lcGFnZSI6ICJodHRwOi8vYXdzLmFtYXpvbi5jb20vc2RrZm9ycGhwIiwKICAgICJkZXNjcmlwdGlvbiI6ICJBV1MgU0RLIGZvciBQSFAgLSBVc2UgQW1hem9uIFdlYiBTZXJ2aWNlcyBpbiB5b3VyIFBIUCBwcm9qZWN0IiwKICAgICJrZXl3b3JkcyI6IFsiYXdzIiwiYW1hem9uIiwic2RrIiwiczMiLCJlYzIiLCJkeW5hbW9kYiIsImNsb3VkIiwiZ2xhY2llciJdLAogICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAibGljZW5zZSI6ICJBcGFjaGUtMi4wIiwKICAgICJhdXRob3JzIjogWwogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAiQW1hem9uIFdlYiBTZXJ2aWNlcyIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwOi8vYXdzLmFtYXpvbi5jb20iCiAgICAgICAgfQogICAgXSwKICAgICJzdXBwb3J0IjogewogICAgICAgICJmb3J1bSI6ICJodHRwczovL2ZvcnVtcy5hd3MuYW1hem9uLmNvbS9mb3J1bS5qc3BhP2ZvcnVtSUQ9ODAiLAogICAgICAgICJpc3N1ZXMiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3Mtc2RrLXBocC9pc3N1ZXMiCiAgICB9LAogICAgInJlcXVpcmUiOiB7CiAgICAgICAgInBocCI6ICI+PTUuMy4zIiwKICAgICAgICAiZ3V6emxlL2d1enpsZSI6ICI+PTMuNy4wLDwzLjkuMCIKICAgIH0sCiAgICAic3VnZ2VzdCI6IHsKICAgICAgICAiZG9jdHJpbmUvY2FjaGUiOiAiQWRkcyBzdXBwb3J0IGZvciBjYWNoaW5nIG9mIGNyZWRlbnRpYWxzIGFuZCByZXNwb25zZXMiLAogICAgICAgICJleHQtYXBjIjogIkFsbG93cyBzZXJ2aWNlIGRlc2NyaXB0aW9uIG9wY29kZSBjYWNoaW5nLCByZXF1ZXN0IGFuZCByZXNwb25zZSBjYWNoaW5nLCBhbmQgY3JlZGVudGlhbHMgY2FjaGluZyIsCiAgICAgICAgImV4dC1vcGVuc3NsIjogIkFsbG93cyB3b3JraW5nIHdpdGggQ2xvdWRGcm9udCBwcml2YXRlIGRpc3RyaWJ1dGlvbnMgYW5kIHZlcmlmeWluZyByZWNlaXZlZCBTTlMgbWVzc2FnZXMiLAogICAgICAgICJtb25vbG9nL21vbm9sb2ciOiAiQWRkcyBzdXBwb3J0IGZvciBsb2dnaW5nIEhUVFAgcmVxdWVzdHMgYW5kIHJlc3BvbnNlcyIsCiAgICAgICAgInN5bWZvbnkveWFtbCI6ICJFYXNlcyB0aGUgYWJpbGl0eSB0byB3cml0ZSBtYW5pZmVzdHMgZm9yIGNyZWF0aW5nIGpvYnMgaW4gQVdTIEltcG9ydC9FeHBvcnQiCiAgICB9LAogICAgInJlcXVpcmUtZGV2IjogewogICAgICAgICJkb2N0cmluZS9jYWNoZSI6ICJ+MS4wIiwKICAgICAgICAiZXh0LW9wZW5zc2wiOiAiKiIsCiAgICAgICAgIm1vbm9sb2cvbW9ub2xvZyI6ICIxLjQuKiIsCiAgICAgICAgInBocHVuaXQvcGhwdW5pdCI6ICIzLjcuKiIsCiAgICAgICAgInN5bWZvbnkvY2xhc3MtbG9hZGVyIjogIjIuKiIsCiAgICAgICAgInN5bWZvbnkveWFtbCI6ICIyLioiCiAgICB9LAogICAgImF1dG9sb2FkIjogewogICAgICAgICJwc3ItMCI6IHsKICAgICAgICAgICAgIkF3cyI6ICJzcmMvIgogICAgICAgIH0KICAgIH0sCiAgICAiZXh0cmEiOiB7CiAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMi40LngtZGV2IgogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/CONTRIBUTING.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBDb250cmlidXRpbmcgdG8gdGhlIEFXUyBTREsgZm9yIFBIUAoKV2Ugd29yayBoYXJkIHRvIHByb3ZpZGUgYSBoaWdoLXF1YWxpdHkgYW5kIHVzZWZ1bCBTREssIGFuZCB3ZSBncmVhdGx5IHZhbHVlIGZlZWRiYWNrIGFuZCBjb250cmlidXRpb25zIGZyb20gb3VyCmNvbW11bml0eS4gV2hldGhlciBpdCdzIGEgbmV3IGZlYXR1cmUsIGNvcnJlY3Rpb24sIG9yIGFkZGl0aW9uYWwgZG9jdW1lbnRhdGlvbiwgd2Ugd2VsY29tZSB5b3VyIHB1bGwgcmVxdWVzdHMuClBsZWFzZSBzdWJtaXQgYW55IFtpc3N1ZXNdW10gb3IgW3B1bGwgcmVxdWVzdHNdW3B1bGwtcmVxdWVzdHNdIHRocm91Z2ggR2l0SHViLgoKIyMgV2hhdCB5b3Ugc2hvdWxkIGtlZXAgaW4gbWluZAoKMS4gVGhlIFNESyBpcyByZWxlYXNlZCB1bmRlciB0aGUgW0FwYWNoZSBsaWNlbnNlXVtsaWNlbnNlXS4gQW55IGNvZGUgeW91IHN1Ym1pdCB3aWxsIGJlIHJlbGVhc2VkIHVuZGVyIHRoYXQgbGljZW5zZS4gRm9yCiAgIHN1YnN0YW50aWFsIGNvbnRyaWJ1dGlvbnMsIHdlIG1heSBhc2sgeW91IHRvIHNpZ24gYSBbQ29udHJpYnV0b3IgTGljZW5zZSBBZ3JlZW1lbnQgKENMQSldW2NsYV0uCjIuIFdlIGZvbGxvdyB0aGUgW1BTUi0wXVtdLCBbUFNSLTFdW10sIGFuZCBbUFNSLTJdW10gcmVjb21tZW5kYXRpb25zIGZyb20gdGhlIFtQSFAgRnJhbWV3b3JrIEludGVyb3AgR3JvdXBdW3BocC1maWddLgogICBQbGVhc2Ugc3VibWl0IGNvZGUgdGhhdCBmb2xsb3dzIHRoZXNlIHN0YW5kYXJkcy4gVGhlIFtQSFAgQ1MgRml4ZXJdW2NzLWZpeGVyXSB0b29sIGNhbiBiZSBoZWxwZnVsIGZvciBmb3JtYXR0aW5nIHlvdXIKICAgY29kZS4KMy4gV2UgbWFpbnRhaW4gYSBoaWdoIHBlcmNlbnRhZ2Ugb2YgY29kZSBjb3ZlcmFnZSBpbiBvdXIgdW5pdCB0ZXN0cy4gSWYgeW91IG1ha2UgY2hhbmdlcyB0byB0aGUgY29kZSwgcGxlYXNlIGFkZCwKICAgdXBkYXRlLCBhbmQvb3IgcmVtb3ZlIHVuaXQgKGFuZCBpbnRlZ3JhdGlvbikgdGVzdHMgYXMgYXBwcm9wcmlhdGUuCjQuIFdlIG1heSBjaG9vc2Ugbm90IHRvIGFjY2VwdCBwdWxsIHJlcXVlc3RzIHRoYXQgY2hhbmdlIHNlcnZpY2UgZGVzY3JpcHRpb25zIChlLmcuLCBmaWxlcyBsaWtlCiAgIGBzcmMvQXdzL09wc1dvcmtzL1Jlc291cmNlcy9vcHN3b3Jrcy0yMDEzLTAyLTE4LnBocGApLiBXZSBnZW5lcmF0ZSB0aGVzZSBmaWxlcyBiYXNlZCBvbiBvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mCiAgIHRoZSBBV1Mgc2VydmljZXMuIElmIHRoZXJlIGlzIHNvbWV0aGluZyBpbmNvcnJlY3Qgd2l0aCBvciBtaXNzaW5nIGZyb20gYSBzZXJ2aWNlIGRlc2NyaXB0aW9uLCBpdCBtYXkgYmUgbW9yZQogICBhcHByb3ByaWF0ZSB0byBbc3VibWl0IGFuIGlzc3VlXVtpc3N1ZXNdLiBXZSAqd2lsbCosIGhvd2V2ZXIsIGNvbnNpZGVyIHB1bGwgcmVxdWVzdHMgYWZmZWN0aW5nIHNlcnZpY2UgZGVzY3JpcHRpb25zLAogICBpZiB0aGUgY2hhbmdlcyBhcmUgcmVsYXRlZCB0byAqKkl0ZXJhdG9yKiogb3IgKipXYWl0ZXIqKiBjb25maWd1cmF0aW9ucyAoZS5nLiBbUFIgIzg0XVtwci04NF0pLgo1LiBJZiB5b3VyIGNvZGUgZG9lcyBub3QgY29uZm9ybSB0byB0aGUgUFNSIHN0YW5kYXJkcyBvciBkb2VzIG5vdCBpbmNsdWRlIGFkZXF1YXRlIHRlc3RzLCB3ZSBtYXkgYXNrIHlvdSB0byB1cGRhdGUgeW91cgogICBwdWxsIHJlcXVlc3RzIGJlZm9yZSB3ZSBhY2NlcHQgdGhlbS4gV2UgYWxzbyByZXNlcnZlIHRoZSByaWdodCB0byBkZW55IGFueSBwdWxsIHJlcXVlc3RzIHRoYXQgZG8gbm90IGFsaWduIHdpdGggb3VyCiAgIHN0YW5kYXJkcyBvciBnb2Fscy4KNi4gSWYgeW91IHdvdWxkIGxpa2UgdG8gaW1wbGVtZW50IHN1cHBvcnQgZm9yIGEgc2lnbmlmaWNhbnQgZmVhdHVyZSB0aGF0IGlzIG5vdCB5ZXQgYXZhaWxhYmxlIGluIHRoZSBTREssIHBsZWFzZSB0YWxrIHRvCiAgIHVzIGJlZm9yZWhhbmQgdG8gYXZvaWQgYW55IGR1cGxpY2F0aW9uIG9mIGVmZm9ydC4KCiMjIFdoYXQgd2UgYXJlIGxvb2tpbmcgZm9yCgpXZSBhcmUgb3BlbiB0byBhbnl0aGluZyB0aGF0IGltcHJvdmVzIHRoZSBTREsgYW5kIGRvZXNuJ3QgdW5uZWNlc3NhcmlseSBjYXVzZSBiYWNrd2FyZHMtaW5jb21wYXRpYmxlIGNoYW5nZXMuIElmIHlvdSBhcmUKdW5zdXJlIGlmIHlvdXIgaWRlYSBpcyBzb21ldGhpbmcgd2Ugd291bGQgYmUgb3BlbiB0bywgcGxlYXNlIGFzayB1cyAob3BlbiBhIHRpY2tldCwgc2VuZCB1cyBhbiBlbWFpbCwgcG9zdCBvbiB0aGUKZm9ydW1zLCBldGMuKSBTcGVjaWZpY2FsbHksIGhlcmUgYXJlIGEgZmV3IHRoaW5ncyB0aGF0IHdlIHdvdWxkIGFwcHJlY2lhdGUgaGVscCBvbjoKCjEuICoqV2FpdGVycyoqIOKAkyBXYWl0ZXIgY29uZmlndXJhdGlvbnMgYXJlIGxvY2F0ZWQgaW4gdGhlIHNlcnZpY2UgZGVzY3JpcHRpb25zLiBZb3UgY2FuIGFsc28gY3JlYXRlIGNvbmNyZXRlIHdhaXRlcnMKICAgd2l0aGluIHRoZSBgQXdzXCpcV2FpdGVyYCBuYW1lc3BhY2Ugb2YgYSBzZXJ2aWNlIGlmIHRoZSBsb2dpYyBvZiB0aGUgd2FpdGVyIGFic29sdXRlbHkgY2Fubm90IGJlIGRlZmluZWQgdXNpbmcgd2FpdGVyCiAgIGNvbmZpZ3VyYXRpb24uIFRoZXJlIGFyZSBtYW55IHdhaXRlcnMgdGhhdCB3ZSBjdXJyZW50bHkgcHJvdmlkZSwgYnV0IG1hbnkgdGhhdCB3ZSBkbyBub3QuIFBsZWFzZSBsZXQgdXMga25vdyBpZiB5b3UKICAgaGF2ZSBhbnkgcXVlc3Rpb25zIGFib3V0IGNyZWF0aW5nIHdhaXRlciBjb25maWd1cmF0aW9ucy4KMi4gKipEb2NzKiog4oCTIE91ciBbVXNlciBHdWlkZV1bdXNlci1ndWlkZV0gaXMgYW4gb25nb2luZyBwcm9qZWN0LCBhbmQgd2Ugd291bGQgZ3JlYXRseSBhcHByZWNpYXRlIGNvbnRyaWJ1dGlvbnMuIFRoZQogICBkb2NzIGFyZSB3cml0dGVuIGFzIGEgW1NwaGlueF1bXSB3ZWJzaXRlIHVzaW5nIFtyZVN0cnVjdHVyZWRUZXh0XVtdICh2ZXJ5IHNpbWlsYXIgdG8gTWFya2Rvd24pLiBUaGUgVXNlciBHdWlkZSBpcwogICBsb2NhdGVkIGluIHRoZSBgZG9jc2AgZGlyZWN0b3J5IG9mIHRoaXMgcmVwb3NpdG9yeS4gUGxlYXNlIHNlZSB0aGUgW1VzZXIgR3VpZGUgUkVBRE1FXVtkb2NzLXJlYWRtZV0gZm9yIG1vcmUKICAgaW5mb3JtYXRpb24gYWJvdXQgaG93IHRvIGJ1aWxkIHRoZSBVc2VyIEd1aWRlLgozLiAqKlRlc3RzKiog4oCTIFdlIG1haW50YWluIGhpZ2ggY29kZSBjb3ZlcmFnZSwgYnV0IGlmIHRoZXJlIGFyZSBhbnkgdGVzdHMgeW91IGZlZWwgYXJlIG1pc3NpbmcsIHBsZWFzZSBhZGQgdGhlbS4KNC4gKipDb252ZW5pZW5jZSBmZWF0dXJlcyoqIOKAkyBBcmUgdGhlcmUgYW55IGZlYXR1cmVzIHlvdSBmZWVsIHdvdWxkIGFkZCB2YWx1ZSB0byB0aGUgU0RLIChlLmcuLCBiYXRjaGluZyBmb3IgU0VTLCBTTlMKICAgbWVzc2FnZSB2ZXJpZmljYXRpb24sIFMzIHN0cmVhbSB3cmFwcGVyLCBldGMuKT8gQ29udHJpYnV0aW9ucyBpbiB0aGlzIGFyZWEgd291bGQgYmUgZ3JlYXRseSBhcHByZWNpYXRlZC4KNS4gKipUaGlyZC1wYXJ0eSBtb2R1bGVzKiog4oCTIFdlIGhhdmUgbW9kdWxlcyBwdWJsaXNoZWQgZm9yIFtTaWxleF0obW9kLXNpbGV4KSwgW0xhcmF2ZWwgNF0obW9kLWxhcmF2ZWwpLCBhbmQgW1plbmQKICAgRnJhbWV3b3JrIDJdW21vZC16ZjJdLiBQbGVhc2UgbGV0IHVzIGtub3cgaWYgeW91IGFyZSBpbnRlcmVzdGVkIGluIGNyZWF0aW5nIGludGVncmF0aW9ucyB3aXRoIG90aGVyIGZyYW1ld29ya3MuIFdlCiAgIHdvdWxkIGJlIGJlIGhhcHB5IHRvIGhlbHAuCjYuIElmIHlvdSBoYXZlIHNvbWUgb3RoZXIgaWRlYXMsIHBsZWFzZSBsZXQgdXMga25vdyEKCiMjIFJ1bm5pbmcgdGhlIHVuaXQgdGVzdHMKClRoZSBBV1MgU0RLIGZvciBQSFAgaXMgdW5pdCB0ZXN0ZWQgdXNpbmcgUEhQVW5pdC4gWW91IGNhbiBydW4gdGhlIHVuaXQgdGVzdHMgb2YgdGhlIFNESyBhZnRlciBjb3B5aW5nCnBocHVuaXQueG1sLmRpc3QgdG8gcGhwdW5pdC54bWw6CgogICAgY3AgcGhwdW5pdC54bWwuZGlzdCBwaHB1bml0LnhtbAoKTmV4dCwgeW91IG5lZWQgdG8gaW5zdGFsbCB0aGUgZGVwZW5kZW5jaWVzIG9mIHRoZSBTREsgdXNpbmcgQ29tcG9zZXI6CgogICAgY29tcG9zZXIucGhhciBpbnN0YWxsCgpOb3cgeW91J3JlIHJlYWR5IHRvIHJ1biB0aGUgdW5pdCB0ZXN0cyB1c2luZyBQSFBVbml0OgoKICAgIHZlbmRvci9iaW4vcGhwdW5pdAoKW2lzc3Vlc106IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLXNkay1waHAvaXNzdWVzCltwdWxsLXJlcXVlc3RzXTogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3Mtc2RrLXBocC9wdWxscwpbbGljZW5zZV06IGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9hcGFjaGUyLjAvCltjbGFdOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NvbnRyaWJ1dG9yX0xpY2Vuc2VfQWdyZWVtZW50Cltwc3ItMF06IGh0dHBzOi8vZ2l0aHViLmNvbS9waHAtZmlnL2ZpZy1zdGFuZGFyZHMvYmxvYi9tYXN0ZXIvYWNjZXB0ZWQvUFNSLTAubWQKW3Bzci0xXTogaHR0cHM6Ly9naXRodWIuY29tL3BocC1maWcvZmlnLXN0YW5kYXJkcy9ibG9iL21hc3Rlci9hY2NlcHRlZC9QU1ItMS1iYXNpYy1jb2Rpbmctc3RhbmRhcmQubWQKW3Bzci0yXTogaHR0cHM6Ly9naXRodWIuY29tL3BocC1maWcvZmlnLXN0YW5kYXJkcy9ibG9iL21hc3Rlci9hY2NlcHRlZC9QU1ItMi1jb2Rpbmctc3R5bGUtZ3VpZGUubWQKW3BocC1maWddOiBodHRwOi8vcGhwLWZpZy5vcmcKW2NzLWZpeGVyXTogaHR0cDovL2NzLnNlbnNpb2xhYnMub3JnLwpbdXNlci1ndWlkZV06IGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9pbmRleC5odG1sCltzcGhpbnhdOiBodHRwOi8vc3BoaW54LWRvYy5vcmcvCltyZXN0cnVjdHVyZWR0ZXh0XTogaHR0cDovL3NwaGlueC1kb2Mub3JnL3Jlc3QuaHRtbApbZG9jcy1yZWFkbWVdOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstcGhwL2Jsb2IvbWFzdGVyL2RvY3MvUkVBRE1FLm1kClttb2Qtc2lsZXhdOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstcGhwLXNpbGV4Clttb2QtbGFyYXZlbF06IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLXNkay1waHAtbGFyYXZlbApbbW9kLXpmMl06IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLXNkay1waHAtemYyCltwci04NF06IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLXNkay1waHAvcHVsbC84NAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/awssignup.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09ClNpZ25pbmcgVXAgZm9yIEFXUwo9PT09PT09PT09PT09PT09PT0KCkNyZWF0aW5nIGFuIEFXUyBhY2NvdW50Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpCZWZvcmUgeW91IGJlZ2luLCB5b3UgbmVlZCB0byBjcmVhdGUgYW4gYWNjb3VudC4gV2hlbiB5b3Ugc2lnbiB1cCBmb3IgQVdTLCBBV1Mgc2lnbnMgeW91ciBhY2NvdW50IHVwIGZvciBhbGwgc2VydmljZXMuCllvdSBhcmUgY2hhcmdlZCBvbmx5IGZvciB0aGUgc2VydmljZXMgeW91IHVzZS4KClRvIHNpZ24gdXAgZm9yIEFXUwp+fn5+fn5+fn5+fn5+fn5+fn4KCiMuIEdvIHRvIGh0dHA6Ly9hd3MuYW1hem9uLmNvbSBhbmQgY2xpY2sgKipTaWduIFVwIE5vdyoqLgoKIy4gRm9sbG93IHRoZSBvbi1zY3JlZW4gaW5zdHJ1Y3Rpb25zLgoKQVdTIHNlbmRzIHlvdSBhIGNvbmZpcm1hdGlvbiBlbWFpbCBhZnRlciB0aGUgc2lnbi11cCBwcm9jZXNzIGlzIGNvbXBsZXRlLiBBdCBhbnkgdGltZSwgeW91IGNhbiB2aWV3IHlvdXIgY3VycmVudCBhY2NvdW50CmFjdGl2aXR5IGFuZCBtYW5hZ2UgeW91ciBhY2NvdW50IGF0IGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9hY2NvdW50LiBGcm9tIHRoZSAqKk15IEFjY291bnQqKiBwYWdlLCB5b3UgY2FuIHZpZXcgY3VycmVudApjaGFyZ2VzIGFuZCBhY2NvdW50IGFjdGl2aXR5IGFuZCBkb3dubG9hZCB1c2FnZSByZXBvcnRzLgoKVG8gdmlldyB5b3VyIEFXUyBjcmVkZW50aWFscwp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgojLiBHbyB0byBodHRwOi8vYXdzLmFtYXpvbi5jb20vLgoKIy4gQ2xpY2sgKipNeSBBY2NvdW50L0NvbnNvbGUqKiwgYW5kIHRoZW4gY2xpY2sgKipTZWN1cml0eSBDcmVkZW50aWFscyoqLgoKIy4gVW5kZXIgKipZb3VyIEFjY291bnQqKiwgY2xpY2sgKipTZWN1cml0eSBDcmVkZW50aWFscyoqLgoKIy4gSW4gdGhlIHNwYWNlcyBwcm92aWRlZCwgdHlwZSB5b3VyIHVzZXIgbmFtZSBhbmQgcGFzc3dvcmQsIGFuZCB0aGVuIGNsaWNrICoqU2lnbiBpbiB1c2luZyBvdXIgc2VjdXJlIHNlcnZlcioqLgoKIy4gVW5kZXIgKipBY2Nlc3MgQ3JlZGVudGlhbHMqKiwgb24gdGhlICoqQWNjZXNzIEtleXMqKiB0YWIsIHlvdXIgYWNjZXNzIGtleSBJRCBpcyBkaXNwbGF5ZWQuIFRvIHZpZXcgeW91ciBzZWNyZXQga2V5LAogICB1bmRlciAqKlNlY3JldCBBY2Nlc3MgS2V5KiosIGNsaWNrICoqU2hvdyoqLgoKWW91ciBzZWNyZXQga2V5IG11c3QgcmVtYWluIGEgc2VjcmV0IHRoYXQgaXMga25vd24gb25seSBieSB5b3UgYW5kIEFXUy4gS2VlcCBpdCBjb25maWRlbnRpYWwgaW4gb3JkZXIgdG8gcHJvdGVjdCB5b3VyCmFjY291bnQuIFN0b3JlIGl0IHNlY3VyZWx5IGluIGEgc2FmZSBwbGFjZSwgYW5kIG5ldmVyIGVtYWlsIGl0LiBEbyBub3Qgc2hhcmUgaXQgb3V0c2lkZSB5b3VyIG9yZ2FuaXphdGlvbiwgZXZlbiBpZiBhbgppbnF1aXJ5IGFwcGVhcnMgdG8gY29tZSBmcm9tIEFXUyBvciBBbWF6b24uY29tLiBObyBvbmUgd2hvIGxlZ2l0aW1hdGVseSByZXByZXNlbnRzIEFtYXpvbiB3aWxsIGV2ZXIgYXNrIHlvdSBmb3IgeW91cgpzZWNyZXQga2V5LgoKR2V0dGluZyB5b3VyIEFXUyBjcmVkZW50aWFscwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpJbiBvcmRlciB0byB1c2UgdGhlIEFXUyBTREsgZm9yIFBIUCwgeW91IG5lZWQgeW91ciBBV1MgQWNjZXNzIEtleSBJRCBhbmQgU2VjcmV0IEFjY2VzcyBLZXkuCgpUbyBnZXQgeW91ciBBV1MgQWNjZXNzIEtleSBJRCBhbmQgU2VjcmV0IEFjY2VzcyBLZXkKCi0gIEdvIHRvIGh0dHA6Ly9hd3MuYW1hem9uLmNvbS8uCi0gIENsaWNrICoqQWNjb3VudCoqIGFuZCB0aGVuIGNsaWNrICoqU2VjdXJpdHkgQ3JlZGVudGlhbHMqKi4gVGhlIFNlY3VyaXR5IENyZWRlbnRpYWxzIHBhZ2UgZGlzcGxheXMgKHlvdSBtaWdodCBiZQogICBwcm9tcHRlZCB0byBsb2cgaW4pLgotICBTY3JvbGwgZG93biB0byBBY2Nlc3MgQ3JlZGVudGlhbHMgYW5kIG1ha2Ugc3VyZSB0aGUgKipBY2Nlc3MgS2V5cyoqIHRhYiBpcyBzZWxlY3RlZC4gVGhlIEFXUyBBY2Nlc3MgS2V5IElEIGFwcGVhcnMgaW4KICAgdGhlIEFjY2VzcyBLZXkgY29sdW1uLgotICBUbyB2aWV3IHRoZSBTZWNyZXQgQWNjZXNzIEtleSwgY2xpY2sgKipTaG93KiouCgouLiBub3RlOjoKCiAgICAqKkltcG9ydGFudDogWW91ciBTZWNyZXQgQWNjZXNzIEtleSBpcyBhIHNlY3JldCoqLCB3aGljaCBvbmx5IHlvdSBhbmQgQVdTIHNob3VsZCBrbm93LiBJdCBpcyBpbXBvcnRhbnQgdG8ga2VlcCBpdCBjb25maWRlbnRpYWwKICAgIHRvIHByb3RlY3QgeW91ciBhY2NvdW50LiBTdG9yZSBpdCBzZWN1cmVseSBpbiBhIHNhZmUgcGxhY2UuIE5ldmVyIGluY2x1ZGUgaXQgaW4geW91ciByZXF1ZXN0cyB0byBBV1MsIGFuZCBuZXZlcgogICAgZS1tYWlsIGl0IHRvIGFueW9uZS4gRG8gbm90IHNoYXJlIGl0IG91dHNpZGUgeW91ciBvcmdhbml6YXRpb24sIGV2ZW4gaWYgYW4gaW5xdWlyeSBhcHBlYXJzIHRvIGNvbWUgZnJvbSBBV1Mgb3IKICAgIEFtYXpvbi5jb20uIE5vIG9uZSB3aG8gbGVnaXRpbWF0ZWx5IHJlcHJlc2VudHMgQW1hem9uIHdpbGwgZXZlciBhc2sgeW91IGZvciB5b3VyIFNlY3JldCBBY2Nlc3MgS2V5Lgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/conf.py</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KIwojIEFXUyBTREsgZm9yIFBIUCBkb2N1bWVudGF0aW9uIGJ1aWxkIGNvbmZpZ3VyYXRpb24gZmlsZSwgY3JlYXRlZCBieQojIHNwaGlueC1xdWlja3N0YXJ0IG9uIE1vbiBEZWMgMTAgMTk6MDA6MTEgMjAxMi4KIwojIFRoaXMgZmlsZSBpcyBleGVjZmlsZSgpZCB3aXRoIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBzZXQgdG8gaXRzIGNvbnRhaW5pbmcgZGlyLgojCiMgTm90ZSB0aGF0IG5vdCBhbGwgcG9zc2libGUgY29uZmlndXJhdGlvbiB2YWx1ZXMgYXJlIHByZXNlbnQgaW4gdGhpcwojIGF1dG9nZW5lcmF0ZWQgZmlsZS4KIwojIEFsbCBjb25maWd1cmF0aW9uIHZhbHVlcyBoYXZlIGEgZGVmYXVsdDsgdmFsdWVzIHRoYXQgYXJlIGNvbW1lbnRlZCBvdXQKIyBzZXJ2ZSB0byBzaG93IHRoZSBkZWZhdWx0LgoKaW1wb3J0IHN5cywgb3MsIHN1YnByb2Nlc3MKCiMgRG9uJ3QgcmVxdWlyZSBvcGVuaW5nIFBIUCB0YWdzIGluIFBIUCBleGFtcGxlcwpmcm9tIHNwaGlueC5oaWdobGlnaHRpbmcgaW1wb3J0IGxleGVycwpmcm9tIHB5Z21lbnRzLmxleGVycy53ZWIgaW1wb3J0IFBocExleGVyCmxleGVyc1sncGhwJ10gPSBQaHBMZXhlcihzdGFydGlubGluZT1UcnVlLCBsaW5lbm9zPTEpCmxleGVyc1sncGhwLWFubm90YXRpb25zJ10gPSBQaHBMZXhlcihzdGFydGlubGluZT1UcnVlLCBsaW5lbm9zPTEpCnByaW1hcnlfZG9tYWluID0gJ3BocCcKCiMgSWYgZXh0ZW5zaW9ucyAob3IgbW9kdWxlcyB0byBkb2N1bWVudCB3aXRoIGF1dG9kb2MpIGFyZSBpbiBhbm90aGVyIGRpcmVjdG9yeSwKIyBhZGQgdGhlc2UgZGlyZWN0b3JpZXMgdG8gc3lzLnBhdGggaGVyZS4gSWYgdGhlIGRpcmVjdG9yeSBpcyByZWxhdGl2ZSB0byB0aGUKIyBkb2N1bWVudGF0aW9uIHJvb3QsIHVzZSBvcy5wYXRoLmFic3BhdGggdG8gbWFrZSBpdCBhYnNvbHV0ZSwgbGlrZSBzaG93biBoZXJlLgojc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguYWJzcGF0aCgnLicpKQoKIyAtLSBHZW5lcmFsIGNvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMgSWYgeW91ciBkb2N1bWVudGF0aW9uIG5lZWRzIGEgbWluaW1hbCBTcGhpbnggdmVyc2lvbiwgc3RhdGUgaXQgaGVyZS4KI25lZWRzX3NwaGlueCA9ICcxLjAnCgojIEFkZCBvdXIgY3VzdG9tIGV4dGVuc2lvbnMKc3lzLnBhdGguYXBwZW5kKG9zLnBhdGguYWJzcGF0aCgnX2V4dC8nKSkKCiMgQWRkIGFueSBTcGhpbnggZXh0ZW5zaW9uIG1vZHVsZSBuYW1lcyBoZXJlLCBhcyBzdHJpbmdzLiBUaGV5IGNhbiBiZSBleHRlbnNpb25zCiMgY29taW5nIHdpdGggU3BoaW54IChuYW1lZCAnc3BoaW54LmV4dC4qJykgb3IgeW91ciBjdXN0b20gb25lcy4KZXh0ZW5zaW9ucyA9IFsnYXdzJywgJ3JzdDJwZGYucGRmYnVpbGRlciddCgojIGluZGV4LCByc3QycGRmLCB0aXRsZSwgYXV0aG9yCnBkZl9kb2N1bWVudHMgPSBbKCdpbmRleCcsIHUnYXdzLXNkay1waHAtZ3VpZGUnLCB1J0FXUyBTREsgZm9yIFBIUCcsIHUnQW1hem9uIFdlYiBTZXJ2aWNlcycpXQoKIyBBZGQgYW55IHBhdGhzIHRoYXQgY29udGFpbiB0ZW1wbGF0ZXMgaGVyZSwgcmVsYXRpdmUgdG8gdGhpcyBkaXJlY3RvcnkuCnRlbXBsYXRlc19wYXRoID0gWydfdGVtcGxhdGVzJ10KCiMgVGhlIHN1ZmZpeCBvZiBzb3VyY2UgZmlsZW5hbWVzLgpzb3VyY2Vfc3VmZml4ID0gJy5yc3QnCgojIFRoZSBlbmNvZGluZyBvZiBzb3VyY2UgZmlsZXMuCiNzb3VyY2VfZW5jb2RpbmcgPSAndXRmLTgtc2lnJwoKIyBUaGUgbWFzdGVyIHRvY3RyZWUgZG9jdW1lbnQuCm1hc3Rlcl9kb2MgPSAnaW5kZXgnCgojIEdlbmVyYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByb2plY3QuCnByb2plY3QgPSB1J0FXUyBTREsgZm9yIFBIUCcKY29weXJpZ2h0ID0gdScyMDEzLCBBbWF6b24gV2ViIFNlcnZpY2VzJwoKIyBUaGUgdmVyc2lvbiBpbmZvIGZvciB0aGUgcHJvamVjdCB5b3UncmUgZG9jdW1lbnRpbmcsIGFjdHMgYXMgcmVwbGFjZW1lbnQgZm9yCiMgfHZlcnNpb258IGFuZCB8cmVsZWFzZXwsIGFsc28gdXNlZCBpbiB2YXJpb3VzIG90aGVyIHBsYWNlcyB0aHJvdWdob3V0IHRoZQojIGJ1aWx0IGRvY3VtZW50cy4KIwojIFRoZSBzaG9ydCBYLlkgdmVyc2lvbi4KdmVyc2lvbiA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KCdnaXQgZGVzY3JpYmUgLS1hYmJyZXY9MCAtLXRhZ3MnLCBzaGVsbD1UcnVlKS5zdHJpcCgpCiMgVGhlIGZ1bGwgdmVyc2lvbiwgaW5jbHVkaW5nIGFscGhhL2JldGEvcmMgdGFncy4KcmVsZWFzZSA9IHZlcnNpb24KCiMgVGhlIGxhbmd1YWdlIGZvciBjb250ZW50IGF1dG9nZW5lcmF0ZWQgYnkgU3BoaW54LiBSZWZlciB0byBkb2N1bWVudGF0aW9uCiMgZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgbGFuZ3VhZ2VzLgojbGFuZ3VhZ2UgPSBOb25lCgojIFRoZXJlIGFyZSB0d28gb3B0aW9ucyBmb3IgcmVwbGFjaW5nIHx0b2RheXw6IGVpdGhlciwgeW91IHNldCB0b2RheSB0byBzb21lCiMgbm9uLWZhbHNlIHZhbHVlLCB0aGVuIGl0IGlzIHVzZWQ6CiN0b2RheSA9ICcnCiMgRWxzZSwgdG9kYXlfZm10IGlzIHVzZWQgYXMgdGhlIGZvcm1hdCBmb3IgYSBzdHJmdGltZSBjYWxsLgojdG9kYXlfZm10ID0gJyVCICVkLCAlWScKCiMgTGlzdCBvZiBwYXR0ZXJucywgcmVsYXRpdmUgdG8gc291cmNlIGRpcmVjdG9yeSwgdGhhdCBtYXRjaCBmaWxlcyBhbmQKIyBkaXJlY3RvcmllcyB0byBpZ25vcmUgd2hlbiBsb29raW5nIGZvciBzb3VyY2UgZmlsZXMuCmV4Y2x1ZGVfcGF0dGVybnMgPSBbJ19idWlsZCddCgojIFRoZSByZVNUIGRlZmF1bHQgcm9sZSAodXNlZCBmb3IgdGhpcyBtYXJrdXA6IGB0ZXh0YCkgdG8gdXNlIGZvciBhbGwgZG9jdW1lbnRzLgojZGVmYXVsdF9yb2xlID0gTm9uZQoKIyBJZiB0cnVlLCAnKCknIHdpbGwgYmUgYXBwZW5kZWQgdG8gOmZ1bmM6IGV0Yy4gY3Jvc3MtcmVmZXJlbmNlIHRleHQuCiNhZGRfZnVuY3Rpb25fcGFyZW50aGVzZXMgPSBUcnVlCgojIElmIHRydWUsIHRoZSBjdXJyZW50IG1vZHVsZSBuYW1lIHdpbGwgYmUgcHJlcGVuZGVkIHRvIGFsbCBkZXNjcmlwdGlvbgojIHVuaXQgdGl0bGVzIChzdWNoIGFzIC4uIGZ1bmN0aW9uOjopLgojYWRkX21vZHVsZV9uYW1lcyA9IFRydWUKCiMgSWYgdHJ1ZSwgc2VjdGlvbmF1dGhvciBhbmQgbW9kdWxlYXV0aG9yIGRpcmVjdGl2ZXMgd2lsbCBiZSBzaG93biBpbiB0aGUKIyBvdXRwdXQuIFRoZXkgYXJlIGlnbm9yZWQgYnkgZGVmYXVsdC4KI3Nob3dfYXV0aG9ycyA9IEZhbHNlCgojIEEgbGlzdCBvZiBpZ25vcmVkIHByZWZpeGVzIGZvciBtb2R1bGUgaW5kZXggc29ydGluZy4KI21vZGluZGV4X2NvbW1vbl9wcmVmaXggPSBbXQoKIyAtLSBPcHRpb25zIGZvciBIVE1MIG91dHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMgVGhlIHRoZW1lIHRvIHVzZSBmb3IgSFRNTCBhbmQgSFRNTCBIZWxwIHBhZ2VzLiAgU2VlIHRoZSBkb2N1bWVudGF0aW9uIGZvcgojIGEgbGlzdCBvZiBidWlsdGluIHRoZW1lcy4KCiMgVGhlbWUgb3B0aW9ucyBhcmUgdGhlbWUtc3BlY2lmaWMgYW5kIGN1c3RvbWl6ZSB0aGUgbG9vayBhbmQgZmVlbCBvZiBhIHRoZW1lCiMgZnVydGhlci4gIEZvciBhIGxpc3Qgb2Ygb3B0aW9ucyBhdmFpbGFibGUgZm9yIGVhY2ggdGhlbWUsIHNlZSB0aGUKIyBkb2N1bWVudGF0aW9uLgojaHRtbF90aGVtZV9vcHRpb25zID0ge30KCiMgQWRkIGFueSBwYXRocyB0aGF0IGNvbnRhaW4gY3VzdG9tIHRoZW1lcyBoZXJlLCByZWxhdGl2ZSB0byB0aGlzIGRpcmVjdG9yeS4KI2h0bWxfdGhlbWVfcGF0aCA9IFtdCgojIFRoZSBuYW1lIGZvciB0aGlzIHNldCBvZiBTcGhpbnggZG9jdW1lbnRzLiAgSWYgTm9uZSwgaXQgZGVmYXVsdHMgdG8KIyAiPHByb2plY3Q+IHY8cmVsZWFzZT4gZG9jdW1lbnRhdGlvbiIuCiNodG1sX3RpdGxlID0gTm9uZQoKIyBBIHNob3J0ZXIgdGl0bGUgZm9yIHRoZSBuYXZpZ2F0aW9uIGJhci4gIERlZmF1bHQgaXMgdGhlIHNhbWUgYXMgaHRtbF90aXRsZS4KI2h0bWxfc2hvcnRfdGl0bGUgPSBOb25lCgojIFRoZSBuYW1lIG9mIGFuIGltYWdlIGZpbGUgKHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5KSB0byBwbGFjZSBhdCB0aGUgdG9wCiMgb2YgdGhlIHNpZGViYXIuCiNodG1sX2xvZ28gPSBOb25lCgojIFRoZSBuYW1lIG9mIGFuIGltYWdlIGZpbGUgKHdpdGhpbiB0aGUgc3RhdGljIHBhdGgpIHRvIHVzZSBhcyBmYXZpY29uIG9mIHRoZQojIGRvY3MuICBUaGlzIGZpbGUgc2hvdWxkIGJlIGEgV2luZG93cyBpY29uIGZpbGUgKC5pY28pIGJlaW5nIDE2eDE2IG9yIDMyeDMyCiMgcGl4ZWxzIGxhcmdlLgojaHRtbF9mYXZpY29uID0gTm9uZQoKIyBBZGQgYW55IHBhdGhzIHRoYXQgY29udGFpbiBjdXN0b20gc3RhdGljIGZpbGVzIChzdWNoIGFzIHN0eWxlIHNoZWV0cykgaGVyZSwKIyByZWxhdGl2ZSB0byB0aGlzIGRpcmVjdG9yeS4gVGhleSBhcmUgY29waWVkIGFmdGVyIHRoZSBidWlsdGluIHN0YXRpYyBmaWxlcywKIyBzbyBhIGZpbGUgbmFtZWQgImRlZmF1bHQuY3NzIiB3aWxsIG92ZXJ3cml0ZSB0aGUgYnVpbHRpbiAiZGVmYXVsdC5jc3MiLgpodG1sX3N0YXRpY19wYXRoID0gWydfc3RhdGljJ10KCiMgSWYgbm90ICcnLCBhICdMYXN0IHVwZGF0ZWQgb246JyB0aW1lc3RhbXAgaXMgaW5zZXJ0ZWQgYXQgZXZlcnkgcGFnZSBib3R0b20sCiMgdXNpbmcgdGhlIGdpdmVuIHN0cmZ0aW1lIGZvcm1hdC4KI2h0bWxfbGFzdF91cGRhdGVkX2ZtdCA9ICclYiAlZCwgJVknCgojIElmIHRydWUsIFNtYXJ0eVBhbnRzIHdpbGwgYmUgdXNlZCB0byBjb252ZXJ0IHF1b3RlcyBhbmQgZGFzaGVzIHRvCiMgdHlwb2dyYXBoaWNhbGx5IGNvcnJlY3QgZW50aXRpZXMuCiNodG1sX3VzZV9zbWFydHlwYW50cyA9IFRydWUKCiMgQ3VzdG9tIHNpZGViYXIgdGVtcGxhdGVzLCBtYXBzIGRvY3VtZW50IG5hbWVzIHRvIHRlbXBsYXRlIG5hbWVzLgpodG1sX3NpZGViYXJzID0gewogICAgJyoqJzogWydzaWRlYmFybG9nby5odG1sJywgJ2xvY2FsdG9jLmh0bWwnLCAnc2VhcmNoYm94Lmh0bWwnLCAnZmVlZGJhY2suaHRtbCddCn0KCiMgQWRkaXRpb25hbCB0ZW1wbGF0ZXMgdGhhdCBzaG91bGQgYmUgcmVuZGVyZWQgdG8gcGFnZXMsIG1hcHMgcGFnZSBuYW1lcyB0bwojIHRlbXBsYXRlIG5hbWVzLgojaHRtbF9hZGRpdGlvbmFsX3BhZ2VzID0ge30KCiMgSWYgZmFsc2UsIG5vIG1vZHVsZSBpbmRleCBpcyBnZW5lcmF0ZWQuCiNodG1sX2RvbWFpbl9pbmRpY2VzID0gVHJ1ZQoKIyBJZiBmYWxzZSwgbm8gaW5kZXggaXMgZ2VuZXJhdGVkLgojaHRtbF91c2VfaW5kZXggPSBUcnVlCgojIElmIHRydWUsIHRoZSBpbmRleCBpcyBzcGxpdCBpbnRvIGluZGl2aWR1YWwgcGFnZXMgZm9yIGVhY2ggbGV0dGVyLgojaHRtbF9zcGxpdF9pbmRleCA9IEZhbHNlCgojIElmIHRydWUsIGxpbmtzIHRvIHRoZSByZVNUIHNvdXJjZXMgYXJlIGFkZGVkIHRvIHRoZSBwYWdlcy4KaHRtbF9zaG93X3NvdXJjZWxpbmsgPSBGYWxzZQoKIyBJZiB0cnVlLCAiQ3JlYXRlZCB1c2luZyBTcGhpbngiIGlzIHNob3duIGluIHRoZSBIVE1MIGZvb3Rlci4gRGVmYXVsdCBpcyBUcnVlLgojaHRtbF9zaG93X3NwaGlueCA9IFRydWUKCiMgSWYgdHJ1ZSwgIihDKSBDb3B5cmlnaHQgLi4uIiBpcyBzaG93biBpbiB0aGUgSFRNTCBmb290ZXIuIERlZmF1bHQgaXMgVHJ1ZS4KI2h0bWxfc2hvd19jb3B5cmlnaHQgPSBUcnVlCgojIElmIHRydWUsIGFuIE9wZW5TZWFyY2ggZGVzY3JpcHRpb24gZmlsZSB3aWxsIGJlIG91dHB1dCwgYW5kIGFsbCBwYWdlcyB3aWxsCiMgY29udGFpbiBhIDxsaW5rPiB0YWcgcmVmZXJyaW5nIHRvIGl0LiAgVGhlIHZhbHVlIG9mIHRoaXMgb3B0aW9uIG11c3QgYmUgdGhlCiMgYmFzZSBVUkwgZnJvbSB3aGljaCB0aGUgZmluaXNoZWQgSFRNTCBpcyBzZXJ2ZWQuCiNodG1sX3VzZV9vcGVuc2VhcmNoID0gJycKCiMgVGhpcyBpcyB0aGUgZmlsZSBuYW1lIHN1ZmZpeCBmb3IgSFRNTCBmaWxlcyAoZS5nLiAiLnhodG1sIikuCiNodG1sX2ZpbGVfc3VmZml4ID0gTm9uZQoKIyBPdXRwdXQgZmlsZSBiYXNlIG5hbWUgZm9yIEhUTUwgaGVscCBidWlsZGVyLgpodG1saGVscF9iYXNlbmFtZSA9ICdBV1NTREtmb3JQSFBkb2MnCgoKIyAtLSBPcHRpb25zIGZvciBMYVRlWCBvdXRwdXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmxhdGV4X2VsZW1lbnRzID0gewojIFRoZSBwYXBlciBzaXplICgnbGV0dGVycGFwZXInIG9yICdhNHBhcGVyJykuCiMncGFwZXJzaXplJzogJ2xldHRlcnBhcGVyJywKCiMgVGhlIGZvbnQgc2l6ZSAoJzEwcHQnLCAnMTFwdCcgb3IgJzEycHQnKS4KIydwb2ludHNpemUnOiAnMTBwdCcsCgojIEFkZGl0aW9uYWwgc3R1ZmYgZm9yIHRoZSBMYVRlWCBwcmVhbWJsZS4KIydwcmVhbWJsZSc6ICcnLAp9CgojIEdyb3VwaW5nIHRoZSBkb2N1bWVudCB0cmVlIGludG8gTGFUZVggZmlsZXMuIExpc3Qgb2YgdHVwbGVzCiMgKHNvdXJjZSBzdGFydCBmaWxlLCB0YXJnZXQgbmFtZSwgdGl0bGUsIGF1dGhvciwgZG9jdW1lbnRjbGFzcyBbaG93dG8vbWFudWFsXSkuCmxhdGV4X2RvY3VtZW50cyA9IFsKICAoJ2luZGV4JywgJ0FXU1NES2ZvclBIUC50ZXgnLCB1J0FXUyBTREsgZm9yIFBIUCBEb2N1bWVudGF0aW9uJywKICAgdSdBbWF6b24gV2ViIFNlcnZpY2VzJywgJ21hbnVhbCcpLApdCgojIFRoZSBuYW1lIG9mIGFuIGltYWdlIGZpbGUgKHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5KSB0byBwbGFjZSBhdCB0aGUgdG9wIG9mCiMgdGhlIHRpdGxlIHBhZ2UuCiNsYXRleF9sb2dvID0gTm9uZQoKIyBGb3IgIm1hbnVhbCIgZG9jdW1lbnRzLCBpZiB0aGlzIGlzIHRydWUsIHRoZW4gdG9wbGV2ZWwgaGVhZGluZ3MgYXJlIHBhcnRzLAojIG5vdCBjaGFwdGVycy4KI2xhdGV4X3VzZV9wYXJ0cyA9IEZhbHNlCgojIElmIHRydWUsIHNob3cgcGFnZSByZWZlcmVuY2VzIGFmdGVyIGludGVybmFsIGxpbmtzLgojbGF0ZXhfc2hvd19wYWdlcmVmcyA9IEZhbHNlCgojIElmIHRydWUsIHNob3cgVVJMIGFkZHJlc3NlcyBhZnRlciBleHRlcm5hbCBsaW5rcy4KI2xhdGV4X3Nob3dfdXJscyA9IEZhbHNlCgojIERvY3VtZW50cyB0byBhcHBlbmQgYXMgYW4gYXBwZW5kaXggdG8gYWxsIG1hbnVhbHMuCiNsYXRleF9hcHBlbmRpY2VzID0gW10KCiMgSWYgZmFsc2UsIG5vIG1vZHVsZSBpbmRleCBpcyBnZW5lcmF0ZWQuCiNsYXRleF9kb21haW5faW5kaWNlcyA9IFRydWUKCgojIC0tIE9wdGlvbnMgZm9yIG1hbnVhbCBwYWdlIG91dHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIyBPbmUgZW50cnkgcGVyIG1hbnVhbCBwYWdlLiBMaXN0IG9mIHR1cGxlcwojIChzb3VyY2Ugc3RhcnQgZmlsZSwgbmFtZSwgZGVzY3JpcHRpb24sIGF1dGhvcnMsIG1hbnVhbCBzZWN0aW9uKS4KbWFuX3BhZ2VzID0gWwogICAgKCdpbmRleCcsICdhd3NzZGtmb3JwaHAnLCB1J0FXUyBTREsgZm9yIFBIUCBEb2N1bWVudGF0aW9uJywKICAgICBbdSdBbWF6b24gV2ViIFNlcnZpY2VzJ10sIDEpCl0KCiMgSWYgdHJ1ZSwgc2hvdyBVUkwgYWRkcmVzc2VzIGFmdGVyIGV4dGVybmFsIGxpbmtzLgojbWFuX3Nob3dfdXJscyA9IEZhbHNlCgoKIyAtLSBPcHRpb25zIGZvciBUZXhpbmZvIG91dHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMgR3JvdXBpbmcgdGhlIGRvY3VtZW50IHRyZWUgaW50byBUZXhpbmZvIGZpbGVzLiBMaXN0IG9mIHR1cGxlcwojIChzb3VyY2Ugc3RhcnQgZmlsZSwgdGFyZ2V0IG5hbWUsIHRpdGxlLCBhdXRob3IsCiMgIGRpciBtZW51IGVudHJ5LCBkZXNjcmlwdGlvbiwgY2F0ZWdvcnkpCnRleGluZm9fZG9jdW1lbnRzID0gWwogICgnaW5kZXgnLCAnQVdTU0RLZm9yUEhQJywgdSdBV1MgU0RLIGZvciBQSFAgRG9jdW1lbnRhdGlvbicsCiAgIHUnQW1hem9uIFdlYiBTZXJ2aWNlcycsICdBV1NTREtmb3JQSFAnLCAnT25lIGxpbmUgZGVzY3JpcHRpb24gb2YgcHJvamVjdC4nLAogICAnTWlzY2VsbGFuZW91cycpLApdCgojIERvY3VtZW50cyB0byBhcHBlbmQgYXMgYW4gYXBwZW5kaXggdG8gYWxsIG1hbnVhbHMuCiN0ZXhpbmZvX2FwcGVuZGljZXMgPSBbXQoKIyBJZiBmYWxzZSwgbm8gbW9kdWxlIGluZGV4IGlzIGdlbmVyYXRlZC4KI3RleGluZm9fZG9tYWluX2luZGljZXMgPSBUcnVlCgojIEhvdyB0byBkaXNwbGF5IFVSTCBhZGRyZXNzZXM6ICdmb290bm90ZScsICdubycsIG9yICdpbmxpbmUnLgojdGV4aW5mb19zaG93X3VybHMgPSAnZm9vdG5vdGUnCgojIC0tIEhUTUwgdGhlbWUgc2V0dGluZ3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmltcG9ydCBndXp6bGVfc3BoaW54X3RoZW1lCmV4dGVuc2lvbnMuYXBwZW5kKCJndXp6bGVfc3BoaW54X3RoZW1lIikKcHlnbWVudHNfc3R5bGUgPSAnZ3V6emxlX3NwaGlueF90aGVtZS5HdXp6bGVTdHlsZScKaHRtbF90cmFuc2xhdG9yX2NsYXNzID0gJ2d1enpsZV9zcGhpbnhfdGhlbWUuSFRNTFRyYW5zbGF0b3InCmh0bWxfdGhlbWVfcGF0aCA9IGd1enpsZV9zcGhpbnhfdGhlbWUuaHRtbF90aGVtZV9wYXRoKCkKaHRtbF90aGVtZSA9ICdndXp6bGVfc3BoaW54X3RoZW1lJwoKIyBHdXp6bGUgdGhlbWUgb3B0aW9ucyAoc2VlIHRoZW1lLmNvbmYgZm9yIG1vcmUgaW5mb3JtYXRpb24pCmh0bWxfdGhlbWVfb3B0aW9ucyA9IHsKICAgICMgaGFjayB0byBhZGQgdHJhY2tpbmcKICAgICJnb29nbGVfYW5hbHl0aWNzX2FjY291bnQiOiBvcy5nZXRlbnYoJ1RSQUNLSU5HJywgRmFsc2UpLAogICAgInByb2plY3RfbmF2X25hbWUiOiAiQVdTIFNESyBmb3IgUEhQIiwKICAgICJnaXRodWJfdXNlciI6ICJhd3MiLAogICAgImdpdGh1Yl9yZXBvIjogImF3cy1zZGstcGhwIiwKICAgICJiYXNlX3VybCI6ICJodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3QvIgp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/configuration.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q29uZmlndXJhdGlvbgo9PT09PT09PT09PT09CgpXaGVuIHBhc3NpbmcgYW4gYXJyYXkgb2YgcGFyYW1ldGVycyB0byB0aGUgZmlyc3QgYXJndW1lbnQgb2YgYGBBd3NcQ29tbW9uXEF3czo6ZmFjdG9yeSgpYGAsIHRoZSBzZXJ2aWNlIGJ1aWxkZXIgbG9hZHMKdGhlIGRlZmF1bHQgYGBhd3MtY29uZmlnLnBocGBgIGZpbGUgYW5kIG1lcmdlcyB0aGUgYXJyYXkgb2Ygc2hhcmVkIHBhcmFtZXRlcnMgaW50byB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uLgoKRXhjZXJwdCBmcm9tIGBgc3JjL0F3cy9Db21tb24vUmVzb3VyY2VzL2F3cy1jb25maWcucGhwYGA6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgPD9waHAgcmV0dXJuIGFycmF5KAogICAgICAgICdzZXJ2aWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdkZWZhdWx0X3NldHRpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdwYXJhbXMnID0+IGFycmF5KCkKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2R5bmFtb2RiJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdhbGlhcycgICA9PiAnRHluYW1vRGInLAogICAgICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdkZWZhdWx0X3NldHRpbmdzJywKICAgICAgICAgICAgICAgICdjbGFzcycgICA9PiAnQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50JwogICAgICAgICAgICApLAogICAgICAgICAgICAnczMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2FsaWFzJyAgID0+ICdTMycsCiAgICAgICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBd3NcUzNcUzNDbGllbnQnCiAgICAgICAgICAgICkKICAgICAgICApCiAgICApOwoKVGhlIGBgYXdzLWNvbmZpZy5waHBgYCBmaWxlIHByb3ZpZGVzIGRlZmF1bHQgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgYXNzb2NpYXRpbmcgY2xpZW50IGNsYXNzZXMgd2l0aCBzZXJ2aWNlIG5hbWVzLgpUaGlzIGZpbGUgdGVsbHMgdGhlIGBgQXdzXENvbW1vblxBd3NgYCBzZXJ2aWNlIGJ1aWxkZXIgd2hpY2ggY2xhc3MgdG8gaW5zdGFudGlhdGUgd2hlbiB5b3UgcmVmZXJlbmNlIGEgY2xpZW50IGJ5IG5hbWUuCgpZb3UgY2FuIHN1cHBseSB5b3VyIGNyZWRlbnRpYWxzIGFuZCBvdGhlciBjb25maWd1cmF0aW9uIHNldHRpbmdzIHRvIHRoZSBzZXJ2aWNlIGJ1aWxkZXIgc28gdGhhdCBlYWNoIGNsaWVudCBpcwppbnN0YW50aWF0ZWQgd2l0aCB0aG9zZSBzZXR0aW5ncy4gVG8gZG8gdGhpcywgcGFzcyBhbiBhcnJheSBvZiBzZXR0aW5ncyAoaW5jbHVkaW5nIHlvdXIgYGBrZXlgYCBhbmQgYGBzZWNyZXRgYCkgaW50byB0aGUKZmlyc3QgYXJndW1lbnQgb2YgYGBBd3NcQ29tbW9uXEF3czo6ZmFjdG9yeSgpYGAuCgpVc2luZyBhIEN1c3RvbSBDb25maWd1cmF0aW9uIEZpbGUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpZb3UgY2FuIHVzZSBhIGN1c3RvbSBjb25maWd1cmF0aW9uIGZpbGUgdGhhdCBhbGxvd3MgeW91IHRvIGNyZWF0ZSBjdXN0b20gbmFtZWQgY2xpZW50cyB3aXRoIHByZS1jb25maWd1cmVkIHNldHRpbmdzLgoKTGV0J3Mgc2F5IHlvdSB3YW50IHRvIHVzZSB0aGUgZGVmYXVsdCBgYGF3cy1jb25maWcucGhwYGAgc2V0dGluZ3MsIGJ1dCB5b3Ugd2FudCB0byBzdXBwbHkgeW91ciBrZXlzIHVzaW5nIGEKY29uZmlndXJhdGlvbiBmaWxlLiBFYWNoIHNlcnZpY2UgZGVmaW5lZCBpbiB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIGZpbGUgZXh0ZW5kcyBmcm9tIGBgZGVmYXVsdF9zZXR0aW5nc2BgIHNlcnZpY2UuCllvdSBjYW4gY3JlYXRlIGEgY3VzdG9tIGNvbmZpZ3VyYXRpb24gZmlsZSB0aGF0IGV4dGVuZHMgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmaWxlIGFuZCBhZGQgY3JlZGVudGlhbHMgdG8gdGhlCmBgZGVmYXVsdF9zZXR0aW5nc2BgIHNlcnZpY2U6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgPD9waHAgcmV0dXJuIGFycmF5KAogICAgICAgICdpbmNsdWRlcycgPT4gYXJyYXkoJ19hd3MnKSwKICAgICAgICAnc2VydmljZXMnID0+IGFycmF5KAogICAgICAgICAgICAnZGVmYXVsdF9zZXR0aW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncGFyYW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAna2V5JyAgICA9PiAneW91ci1hd3MtYWNjZXNzLWtleS1pZCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ3lvdXItYXdzLXNlY3JldC1hY2Nlc3Mta2V5JywKICAgICAgICAgICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtd2VzdC0yJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKQogICAgKTsKCk1ha2Ugc3VyZSB0byBpbmNsdWRlIHRoZSBgYCdpbmNsdWRlcycgPT4gYXJyYXkoJ19hd3MnKSxgYCBsaW5lIGluIHlvdXIgY29uZmlndXJhdGlvbiBmaWxlLCBiZWNhdXNlIHRoaXMgZXh0ZW5kcyB0aGUKZGVmYXVsdCBjb25maWd1cmF0aW9uIHRoYXQgbWFrZXMgYWxsIG9mIHRoZSBzZXJ2aWNlIGNsaWVudHMgYXZhaWxhYmxlIHRvIHRoZSBzZXJ2aWNlIGJ1aWxkZXIuIElmIHRoaXMgaXMgbWlzc2luZywgdGhlbgp5b3Ugd2lsbCBnZXQgYW4gZXhjZXB0aW9uIHdoZW4gdHJ5aW5nIHRvIHJldHJpZXZlIGEgc2VydmljZSBjbGllbnQuCgpZb3UgY2FuIHVzZSB5b3VyIGN1c3RvbSBjb25maWd1cmF0aW9uIGZpbGUgd2l0aCB0aGUgYGBBd3NcQ29tbW9uXEF3c2BgIGNsYXNzIGJ5IHBhc3NpbmcgdGhlIGZ1bGwgcGF0aCB0byB0aGUKY29uZmlndXJhdGlvbiBmaWxlIGluIHRoZSBmaXJzdCBhcmd1bWVudCBvZiB0aGUgYGBmYWN0b3J5KClgYCBtZXRob2Q6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgPD9waHAKCiAgICByZXF1aXJlICd2ZW5kb3IvYXV0b2xvYWQucGhwJzsKCiAgICB1c2UgQXdzXENvbW1vblxBd3M7CgogICAgJGF3cyA9IEF3czo6ZmFjdG9yeSgnL3BhdGgvdG8vY3VzdG9tL2NvbmZpZy5waHAnKTsKCllvdSBjYW4gY3JlYXRlIGN1c3RvbSBuYW1lZCBzZXJ2aWNlcyBpZiB5b3UgbmVlZCB0byB1c2UgbXVsdGlwbGUgYWNjb3VudHMgd2l0aCB0aGUgc2FtZSBzZXJ2aWNlOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIDw/cGhwIHJldHVybiBhcnJheSgKICAgICAgICAnaW5jbHVkZXMnID0+IGFycmF5KCdfYXdzJyksCiAgICAgICAgJ3NlcnZpY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2Zvby5keW5hbW9kYicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2R5bmFtb2RiJywKICAgICAgICAgICAgICAgICdwYXJhbXMnICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAna2V5JyAgICA9PiAneW91ci1hd3MtYWNjZXNzLWtleS1pZC1mb3ItZm9vJywKICAgICAgICAgICAgICAgICAgICAnc2VjcmV0JyA9PiAneW91ci1hd3Mtc2VjcmV0LWFjY2Vzcy1rZXktZm9yLWZvbycsCiAgICAgICAgICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLXdlc3QtMicKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Jhci5keW5hbW9kYicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2R5bmFtb2RiJywKICAgICAgICAgICAgICAgICdwYXJhbXMnICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAna2V5JyAgICA9PiAneW91ci1hd3MtYWNjZXNzLWtleS1pZC1mb3ItYmFyJywKICAgICAgICAgICAgICAgICAgICAnc2VjcmV0JyA9PiAneW91ci1hd3Mtc2VjcmV0LWFjY2Vzcy1rZXktZm9yLWJhcicsCiAgICAgICAgICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLXdlc3QtMicKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkKICAgICk7CgpJZiB5b3UgcHJlZmVyIEpTT04gc3ludGF4LCB5b3UgY2FuIGRlZmluZSB5b3VyIGNvbmZpZ3VyYXRpb24gaW4gSlNPTiBmb3JtYXQgaW5zdGVhZCBvZiBQSFAuCgouLiBjb2RlLWJsb2NrOjoganMKCiAgICB7CiAgICAgICAgImluY2x1ZGVzIjogWyJfYXdzIl0sCiAgICAgICAgInNlcnZpY2VzIjogewogICAgICAgICAgICAiZGVmYXVsdF9zZXR0aW5ncyI6IHsKICAgICAgICAgICAgICAgICJwYXJhbXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImtleSI6ICJ5b3VyLWF3cy1hY2Nlc3Mta2V5LWlkIiwKICAgICAgICAgICAgICAgICAgICAic2VjcmV0IjogInlvdXItYXdzLXNlY3JldC1hY2Nlc3Mta2V5IiwKICAgICAgICAgICAgICAgICAgICAicmVnaW9uIjogInVzLXdlc3QtMiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCldoYXQgSGFwcGVucyBJZiBZb3UgRG8gTm90IFByb3ZpZGUgQ3JlZGVudGlhbHM/Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgU0RLIG5lZWRzIHlvdXIgQVdTIEFjY2VzcyBLZXkgSUQgYW5kIFNlY3JldCBBY2Nlc3MgS2V5IGluIG9yZGVyIHRvIG1ha2UgcmVxdWVzdHMgdG8gQVdTLiBIb3dldmVyLCB5b3UgYXJlIG5vdApyZXF1aXJlZCB0byBwcm92aWRlIHlvdXIgY3JlZGVudGlhbHMgYXQgdGhlIHRpbWUgeW91IGluc3RhbnRpYXRlIHRoZSBTREsgb3Igc2VydmljZSBjbGllbnQuCgpVc2luZyBFbnZpcm9ubWVudCBDcmVkZW50aWFscwp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKSWYgeW91IGRvIG5vdCBwcm92aWRlIGNyZWRlbnRpYWxzLCB0aGUgU0RLIHdpbGwgYXR0ZW1wdCB0byBmaW5kIGNyZWRlbnRpYWxzIGluIHlvdXIgZW52aXJvbm1lbnQgYnkgY2hlY2tpbmcgaW4KYGAkX1NFUlZFUmBgIGFuZCB1c2luZyB0aGUgYGBnZXRlbnYoKWBgIGZ1bmN0aW9uIHRvIGxvb2sgZm9yIHRoZSBgYEFXU19BQ0NFU1NfS0VZX0lEYGAgYW5kIGBgQVdTX1NFQ1JFVF9LRVlgYAplbnZpcm9ubWVudCB2YXJpYWJsZXMuCgpJZiB5b3UgYXJlIGhvc3RpbmcgeW91ciBhcHBsaWNhdGlvbiBvbiBBV1MgRWxhc3RpYyBCZWFuc3RhbGssIHlvdSBjYW4gc2V0IHRoZSBgYEFXU19BQ0NFU1NfS0VZX0lEYGAgYW5kCmBgQVdTX1NFQ1JFVF9LRVlgYCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhyb3VnaCB0aGUgQVdTIEVsYXN0aWMgQmVhbnN0YWxrIGNvbnNvbGUgc28gdGhhdCB0aGUgU0RLIGNhbiB1c2UgdGhvc2UKY3JlZGVudGlhbHMgYXV0b21hdGljYWxseS4KClVzaW5nIEluc3RhbmNlIFByb2ZpbGUgQ3JlZGVudGlhbHMKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKSWYgeW91IGRvIG5vdCBwcm92aWRlIGNyZWRlbnRpYWxzIGFuZCB0aGVyZSBhcmUgbm8gZW52aXJvbm1lbnQgY3JlZGVudGlhbHMgYXZhaWxhYmxlLCB0aGUgU0RLIHdpbGwgYXR0ZW1wdCB0byByZXRyaWV2ZQpgSUFNIEluc3RhbmNlIFByb2ZpbGUgY3JlZGVudGlhbHMgPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL1VzaW5nSUFNLmh0bWwjVXNpbmdJQU1yb2xlc1dpdGhBbWF6b25FQzJJbnN0YW5jZXM+YF8uClRoZXNlIGNyZWRlbnRpYWxzIGFyZSBvbmx5IGF2YWlsYWJsZSBvbiBBbWF6b24gRUMyIGluc3RhbmNlcyBjb25maWd1cmVkIHdpdGggYW4gSUFNIHJvbGUuCgpJZiBhYnNvbHV0ZWx5IG5vIGNyZWRlbnRpYWxzIGFyZSBwcm92aWRlZCBvciBmb3VuZCwgeW91IHdpbGwgcmVjZWl2ZSBhbgpgYEF3c1xDb21tb25cRXhjZXB0aW9uXEluc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzRXhjZXB0aW9uYGAgd2hlbiB5b3UgdHJ5IHRvIG1ha2UgYSByZXF1ZXN0LgoKSW5zdGFuY2UgUHJvZmlsZSBDcmVkZW50aWFscyBhcmUgbm90IHN1cHBvcnRlZCBieSBldmVyeSBzZXJ2aWNlLiBgUGxlYXNlIGNoZWNrIGlmIHRoZSBzZXJ2aWNlIHlvdSBhcmUgdXNpbmcgc3VwcG9ydHMKdGVtcG9yYXJ5IGNyZWRlbnRpYWxzIDxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9TVFMvbGF0ZXN0L1VzaW5nU1RTL1VzaW5nVG9rZW5zLmh0bWw+YF8uCgpNYW51YWxseSBTZXR0aW5nIENyZWRlbnRpYWxzCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCllvdSBjYW4gYWxzbyBtYW51YWxseSBzZXQgeW91ciBjcmVkZW50aWFscyBhZnRlciB0aGUgc2VydmljZSBjbGllbnQgaGFzIGJlZW4gaW5zdGFudGlhdGVkLiBUbyBkbyB0aGlzLCB1c2UgdGhlCmBgc2V0Q3JlZGVudGlhbHMoKWBgIG1ldGhvZCB0byBzZXQgYW4gZW50aXJlbHkgbmV3IGBgQ3JlZGVudGlhbHNgYCBvYmplY3QgZm9yIHRoZSBjbGllbnQuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgPD9waHAKCiAgICByZXF1aXJlICd2ZW5kb3IvYXV0b2xvYWQucGhwJzsKCiAgICB1c2UgQXdzXFMzXFMzQ2xpZW50OwogICAgdXNlIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM7CgogICAgJHMzID0gUzNDbGllbnQ6OmZhY3RvcnkoKTsKCiAgICAkbmV3Q3JlZGVudGlhbHMgPSBuZXcgQ3JlZGVudGlhbHMoJ3lvdXItYXdzLWFjY2Vzcy1rZXktaWQnLCAneW91ci1hd3Mtc2VjcmV0LWFjY2Vzcy1rZXknKTsKICAgICRzMy0+c2V0Q3JlZGVudGlhbHMoJG5ld0NyZWRlbnRpYWxzKTsKClNldHRpbmcgYSByZWdpb24KLS0tLS0tLS0tLS0tLS0tLQoKU29tZSBjbGllbnRzIHJlcXVpcmUgYSBgYHJlZ2lvbmBgIGNvbmZpZ3VyYXRpb24gc2V0dGluZy4gWW91IGNhbiBmaW5kIG91dCBpZiB0aGUgY2xpZW50IHlvdSBhcmUgdXNpbmcgcmVxdWlyZXMgYSByZWdpb24KYW5kIHRoZSByZWdpb25zIGF2YWlsYWJsZSB0byBhIGNsaWVudCBieSBjb25zdWx0aW5nIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGF0IHBhcnRpY3VsYXIgY2xpZW50CihzZWUgOnJlZjpgc3VwcG9ydGVkLXNlcnZpY2VzYCkuCgpIZXJlJ3MgYW4gZXhhbXBsZSBvZiBjcmVhdGluZyBhbiBBbWF6b24gRHluYW1vREIgY2xpZW50IHRoYXQgdXNlcyB0aGUgYGB1cy13ZXN0LTFgYCByZWdpb246CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgcmVxdWlyZSAndmVuZG9yL2F1dG9sb2FkLnBocCc7CgogICAgdXNlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDsKCiAgICAvLyBDcmVhdGUgYSBjbGllbnQgdGhhdCB1c2VzIHRoZSB1cy13ZXN0LTEgcmVnaW9uCiAgICAkY2xpZW50ID0gRHluYW1vRGJDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgJ2tleScgICAgPT4gJ2FiYycsCiAgICAgICAgJ3NlY3JldCcgPT4gJzEyMycsCiAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLXdlc3QtMScKICAgICkpOwoKU2V0dGluZyBhIGN1c3RvbSBlbmRwb2ludAp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpZb3UgY2FuIHNwZWNpZnkgYSBjb21wbGV0ZWx5IGN1c3RvbWl6ZWQgZW5kcG9pbnQgZm9yIGEgY2xpZW50IHVzaW5nIHRoZSBjbGllbnQncyBgYGJhc2VfdXJsYGAgb3B0aW9uLiBJZiB0aGUgY2xpZW50IHlvdQphcmUgdXNpbmcgcmVxdWlyZXMgYSByZWdpb24sIHRoZW4gbXVzdCBzdGlsbCBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSByZWdpb24gdXNpbmcgdGhlIGBgcmVnaW9uYGAgb3B0aW9uLiBTZXR0aW5nIGEKY3VzdG9tIGVuZHBvaW50IGNhbiBiZSB1c2VmdWwgaWYgeW91J3JlIHVzaW5nIGEgbW9jayB3ZWIgc2VydmVyIHRoYXQgZW11bGF0ZXMgYSB3ZWIgc2VydmljZSwgeW91J3JlIHRlc3RpbmcgYWdhaW5zdCBhCnByaXZhdGUgYmV0YSBlbmRwb2ludCwgb3IgeW91IGFyZSB0cnlpbmcgdG8gYSB1c2UgYSByZWdpb24gbm90IHlldCBzdXBwb3J0ZWQgYnkgdGhlIFNESy4KCkhlcmUncyBhbiBleGFtcGxlIG9mIGNyZWF0aW5nIGFuIEFtYXpvbiBEeW5hbW9EQiBjbGllbnQgdGhhdCB1c2VzIGEgY29tcGxldGVseSBjdXN0b21pemVkIGVuZHBvaW50OgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHJlcXVpcmUgJ3ZlbmRvci9hdXRvbG9hZC5waHAnOwoKICAgIHVzZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ7CgogICAgLy8gQ3JlYXRlIGEgY2xpZW50IHRoYXQgdGhhdCBjb250YWN0cyBhIGNvbXBsZXRlbHkgY3VzdG9taXplZCBiYXNlIFVSTAogICAgJGNsaWVudCA9IER5bmFtb0RiQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICdiYXNlX3VybCcgPT4gJ2h0dHA6Ly9teS1jdXN0b20tdXJsJywKICAgICAgICAncmVnaW9uJyAgID0+ICdteS1yZWdpb24tMScsCiAgICAgICAgJ2tleScgICAgICA9PiAnYWJjJywKICAgICAgICAnc2VjcmV0JyAgID0+ICcxMjMnCiAgICApKTsKCklmIHlvdXIgY3VzdG9tIGVuZHBvaW50IHVzZXMgc2lnbmF0dXJlIHZlcnNpb24gNCBhbmQgbXVzdCBiZSBzaWduZWQgd2l0aCBjdXN0b20gc2lnbmF0dXJlIHNjb3BpbmcgdmFsdWVzLCB0aGVuIHlvdSBjYW4Kc3BlY2lmeSB0aGUgc2lnbmF0dXJlIHNjb3BpbmcgdmFsdWVzIHVzaW5nIGBgc2lnbmF0dXJlLnNlcnZpY2VgYCAodGhlIHNjb3BlZCBuYW1lIG9mIHRoZSBzZXJ2aWNlKSBhbmQKYGBzaWduYXR1cmUucmVnaW9uYGAgKHRoZSByZWdpb24gdGhhdCB5b3UgYXJlIGNvbnRhY3RpbmcpLiBUaGVzZSB2YWx1ZXMgYXJlIHR5cGljYWxseSBub3QgcmVxdWlyZWQuCgpVc2luZyBhIHByb3h5Cn5+fn5+fn5+fn5+fn4KCllvdSBjYW4gc2VuZCByZXF1ZXN0cyB3aXRoIHRoZSBBV1MgU0RLIGZvciBQSFAgdGhyb3VnaCBhIHByb3h5IHVzaW5nIHRoZSAicmVxdWVzdCBvcHRpb25zIiBvZiBhIGNsaWVudC4gVGhlc2UKInJlcXVlc3Qgb3B0aW9ucyIgYXJlIGFwcGxpZWQgdG8gZWFjaCBIVFRQIHJlcXVlc3Qgc2VudCBmcm9tIHRoZSBjbGllbnQuIE9uZSBvZiB0aGUgb3B0aW9uIHNldHRpbmdzIHRoYXQgY2FuIGJlCnNwZWNpZmllZCBpcyB0aGUgYHByb3h5YCBvcHRpb24uCgpSZXF1ZXN0IG9wdGlvbnMgYXJlIHBhc3NlZCB0byBhIGNsaWVudCB0aHJvdWdoIHRoZSBjbGllbnQncyBmYWN0b3J5IG1ldGhvZDoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgQXdzXFMzXFMzQ2xpZW50OwoKICAgICRzMyA9IFMzQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICdyZXF1ZXN0Lm9wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAncHJveHknID0+ICcxMjcuMC4wLjE6MTIzJwogICAgICAgICkKICAgICkpOwoKVGhlIGFib3ZlIGV4YW1wbGUgdGVsbHMgdGhlIGNsaWVudCB0aGF0IGFsbCByZXF1ZXN0cyBzaG91bGQgYmUgcHJveGllZCB0aHJvdWdoIGFuIEhUVFAgcHJveHkgbG9jYXRlZCBhdCB0aGUKYDEyNy4wLjAuMWAgSVAgYWRkcmVzcyB1c2luZyBwb3J0IGAxMjNgLgoKWW91IGNhbiBzdXBwbHkgYSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgd2hlbiBzcGVjaWZ5aW5nIHlvdXIgcHJveHkgc2V0dGluZyBpZiBuZWVkZWQsIHVzaW5nIHRoZSBmb3JtYXQgb2YKYGB1c2VybmFtZTpwYXNzd29yZEBob3N0OnBvcnRgYC4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/faq.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KRnJlcXVlbnRseSBBc2tlZCBRdWVzdGlvbnMgKEZBUSkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCldoYXQgbWV0aG9kcyBhcmUgYXZhaWxhYmxlIG9uIGEgY2xpZW50PwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClRoZSBBV1MgU0RLIGZvciBQSFAgdXRpbGl6ZXMgc2VydmljZSBkZXNjcmlwdGlvbnMgYW5kIGR5bmFtaWMKYG1hZ2ljIF9fY2FsbCgpIG1ldGhvZHMgPGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vbGFuZ3VhZ2Uub29wNS5vdmVybG9hZGluZy5waHAjb2JqZWN0LmNhbGw+YF8gdG8gZXhlY3V0ZSBBUEkKb3BlcmF0aW9ucy4gRXZlcnkgbWFnaWMgbWV0aG9kIHN1cHBvcnRlZCBieSBhIGNsaWVudCBpcyBkb2N1bWVudGVkIGluIHRoZSBkb2NibG9jayBvZiBhIGNsaWVudCBjbGFzcyB1c2luZyBgYEBtZXRob2RgYAphbm5vdGF0aW9ucy4gU2V2ZXJhbCBQSFAgSURFcywgaW5jbHVkaW5nIGBQSFBTdG9ybSA8aHR0cDovL3d3dy5qZXRicmFpbnMuY29tL3BocHN0b3JtLz5gXyBhbmQKYFplbmQgU3R1ZGlvIDxodHRwOi8vd3d3LnplbmQuY29tL2VuL3Byb2R1Y3RzL3N0dWRpby8+YF8sIGFyZSBhYmxlIHRvIGF1dG9jb21wbGV0ZSBiYXNlZCBvbiBgYEBtZXRob2RgYCBhbm5vdGF0aW9ucy4KWW91IGNhbiBmaW5kIGEgZnVsbCBsaXN0IG9mIG1ldGhvZHMgYXZhaWxhYmxlIGZvciBhIHdlYiBzZXJ2aWNlIGNsaWVudCBpbiB0aGUKYEFQSSBkb2N1bWVudGF0aW9uIDxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvaW5kZXguaHRtbD5gXyBvZiB0aGUgY2xpZW50IG9yIGluIHRoZQpgdXNlciBndWlkZSA8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L2luZGV4Lmh0bWw+YF8gZm9yIHRoYXQgY2xpZW50LgoKRm9yIGV4YW1wbGUsIHRoZSBBbWF6b24gUzMgY2xpZW50IHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9uczogOnJlZjpgUzNfb3BlcmF0aW9uc2AKCldoYXQgZG8gSSBkbyBhYm91dCBhIGNVUkwgU1NMIGNlcnRpZmljYXRlIGVycm9yPwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClRoaXMgaXNzdWUgY2FuIG9jY3VyIHdoZW4gdXNpbmcgYW4gb3V0IG9mIGRhdGUgQ0EgYnVuZGxlIHdpdGggY1VSTCBhbmQgU1NMLiBZb3UKY2FuIGdldCBhcm91bmQgdGhpcyBpc3N1ZSBieSB1cGRhdGluZyB0aGUgQ0EgYnVuZGxlIG9uIHlvdXIgc2VydmVyIG9yIGRvd25sb2FkaW5nCmEgbW9yZSB1cCB0byBkYXRlIENBIGJ1bmRsZSBmcm9tIHRoZSBgY1VSTCB3ZWJzaXRlIGRpcmVjdGx5IDxodHRwOi8vY3VybC5oYXh4LnNlL2NhL2NhY2VydC5wZW0+YF8uCgpTaW1wbHkgZG93bmxvYWQgYSBtb3JlIHVwIHRvIGRhdGUgQ0EgYnVuZGxlIHNvbWV3aGVyZSBvbiB5b3VyIHN5c3RlbSBhbmQgaW5zdHJ1Y3QgdGhlClNESyB0byB1c2UgdGhhdCBDQSBidW5kbGUgcmF0aGVyIHRoYW4gdGhlIGRlZmF1bHQuIFlvdSBjYW4gY29uZmlndXJlIHRoZSBTREsgdG8KdXNlIGEgbW9yZSB1cCB0byBkYXRlIENBIGJ1bmRsZSBieSBzcGVjaWZ5aW5nIHRoZSBgYHNzbC5jZXJ0aWZpY2F0ZV9hdXRob3JpdHlgYAppbiBhIGNsaWVudCdzIGZhY3RvcnkgbWV0aG9kIG9yIHRoZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIHVzZWQgd2l0aApgYEF3c1xDb21tb25cQXdzYGAuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGF3cyA9IEF3c1xDb21tb25cQXdzOjpmYWN0b3J5KGFycmF5KAogICAgICAgICdyZWdpb24nID0+ICd1cy13ZXN0LTInLAogICAgICAgICdrZXknICAgID0+ICcqKioqJywKICAgICAgICAnc2VjcmV0JyA9PiAnKioqKicsCiAgICAgICAgJ3NzbC5jZXJ0aWZpY2F0ZV9hdXRob3JpdHknID0+ICcvcGF0aC90by91cGRhdGVkL2NhY2VydC5wZW0nCiAgICApKTsKCllvdSBjYW4gZmluZCBvdXQgbW9yZSBhYm91dCBob3cgY1VSTCBidW5kbGVzIHRoZSBDQSBidW5kbGUgaGVyZTogaHR0cDovL2N1cmwuaGF4eC5zZS9kb2NzL2NhZXh0cmFjdC5odG1sCgpIb3cgZG8gSSBkaXNhYmxlIFNTTD8KLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgouLiB3YXJuaW5nOjoKCiAgICBCZWNhdXNlIFNTTCByZXF1aXJlcyBhbGwgZGF0YSB0byBiZSBlbmNyeXB0ZWQgYW5kIHJlcXVpcmVzIG1vcmUgVENQIHBhY2tldHMgdG8gY29tcGxldGUgYSBjb25uZWN0aW9uIGhhbmRzaGFrZSB0aGFuCiAgICBqdXN0IFRDUCwgZGlzYWJsaW5nIFNTTCBtYXkgcHJvdmlkZSBhIHNtYWxsIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50LiBIb3dldmVyLCB3aXRoIFNTTCBkaXNhYmxlZCwgYWxsIGRhdGEgaXMgc2VudAogICAgb3ZlciB0aGUgd2lyZSB1bmVuY3J5cHRlZC4gQmVmb3JlIGRpc2FibGluZyBTU0wsIHlvdSBtdXN0IGNhcmVmdWxseSBjb25zaWRlciB0aGUgc2VjdXJpdHkgaW1wbGljYXRpb25zIGFuZCB0aGUKICAgIHBvdGVudGlhbCBmb3IgZWF2ZXNkcm9wcGluZyBvdmVyIHRoZSBuZXR3b3JrLgoKWW91IGNhbiBkaXNhYmxlIFNTTCBieSBzZXR0aW5nIHRoZSBgYHNjaGVtZWBgIHBhcmFtZXRlciBpbiBhIGNsaWVudCBmYWN0b3J5IG1ldGhvZCB0byAnaHR0cCcuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGNsaWVudCA9IEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAncmVnaW9uJyA9PiAndXMtd2VzdC0yJywKICAgICAgICAnc2NoZW1lJyA9PiAnaHR0cCcKICAgICkpOwoKSG93IGNhbiBJIG1ha2UgdGhlIFNESyBmYXN0ZXI/Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKU2VlIDpkb2M6YHBlcmZvcm1hbmNlYCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KCldoeSBjYW4ndCBJIHVwbG9hZCBvciBkb3dubG9hZCBmaWxlcyBncmVhdGVyIHRoYW4gMkdCPwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkJlY2F1c2UgUEhQJ3MgaW50ZWdlciB0eXBlIGlzIHNpZ25lZCBhbmQgbWFueSBwbGF0Zm9ybXMgdXNlIDMyLWJpdCBpbnRlZ2VycywgdGhlCkFXUyBTREsgZm9yIFBIUCBkb2VzIG5vdCBjb3JyZWN0bHkgaGFuZGxlIGZpbGVzIGxhcmdlciB0aGFuIDJHQiBvbiBhIDMyLWJpdCBzdGFjawood2hlcmUgInN0YWNrIiBpbmNsdWRlcyBDUFUsIE9TLCB3ZWIgc2VydmVyLCBhbmQgUEhQIGJpbmFyeSkuIFRoaXMgaXMgYQpgd2VsbC1rbm93biBQSFAgaXNzdWUgPGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9zZWFyY2g/cT1waHArMmdiKzMyLWJpdD5gXy4gSW4gdGhlCmNhc2Ugb2YgTWljcm9zb2Z0wq4gV2luZG93c8KuLCB0aGVyZSBhcmUgbm8gb2ZmaWNpYWwgYnVpbGRzIG9mIFBIUCB0aGF0IHN1cHBvcnQKNjQtYml0IGludGVnZXJzLgoKVGhlIHJlY29tbWVuZGVkIHNvbHV0aW9uIGlzIHRvIHVzZSBhIGA2NC1iaXQgTGludXggc3RhY2sgPGh0dHA6Ly9hd3MuYW1hem9uLmNvbS9hbWF6b24tbGludXgtYW1pLz5gXywKc3VjaCBhcyB0aGUgNjQtYml0IEFtYXpvbiBMaW51eCBBTUkgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgUEhQIGluc3RhbGxlZC4KCkZvciBtb3JlIGluZm9ybWF0aW9uLCBwbGVhc2Ugc2VlOiBgUEhQIGZpbGVzaXplIDpSZXR1cm4gdmFsdWVzIDxodHRwOi8vZG9jcy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5maWxlc2l6ZS5waHAjcmVmc2VjdDEtZnVuY3Rpb24uZmlsZXNpemUtcmV0dXJudmFsdWVzPmBfLgoKSG93IGNhbiBJIHNlZSB3aGF0IGRhdGEgaXMgc2VudCBvdmVyIHRoZSB3aXJlPwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpZb3UgY2FuIGF0dGFjaCBhIGBgR3V6emxlXFBsdWdpblxMb2dcTG9nUGx1Z2luYGAgdG8gYW55IGNsaWVudCB0byBzZWUgYWxsIHJlcXVlc3QgYW5kCnJlc3BvbnNlIGRhdGEgc2VudCBvdmVyIHRoZSB3aXJlLiBUaGUgTG9nUGx1Z2luIHdvcmtzIHdpdGggYW55IGxvZ2dlciB0aGF0IGltcGxlbWVudHMKdGhlIGBgR3V6emxlXExvZ1xMb2dBZGFwdGVySW50ZXJmYWNlYGAgaW50ZXJmYWNlIChjdXJyZW50bHkgTW9ub2xvZywgWkYxLCBaRjIpLgoKSWYgeW91IGp1c3Qgd2FudCB0byBxdWlja2x5IHNlZSB3aGF0IGRhdGEgaXMgYmVpbmcgc2VudCBvdmVyIHRoZSB3aXJlLCB5b3UgY2FuCnNpbXBseSBhdHRhY2ggYSBkZWJ1ZyBsb2cgcGx1Z2luIHRvIHlvdXIgY2xpZW50LgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBHdXp6bGVcUGx1Z2luXExvZ1xMb2dQbHVnaW47CgogICAgLy8gQ3JlYXRlIGFuIEFtYXpvbiBTMyBjbGllbnQKICAgICRzM0NsaWVudCA9IFMzQ2xpZW50OjpmYWN0b3J5KCk7CgogICAgLy8gQWRkIGEgZGVidWcgbG9nIHBsdWdpbgogICAgJHMzQ2xpZW50LT5hZGRTdWJzY3JpYmVyKExvZ1BsdWdpbjo6Z2V0RGVidWdQbHVnaW4oKSk7CgpGb3IgbW9yZSBjb21wbGV4IGxvZ2dpbmcgb3IgbG9nZ2luZyB0byBhIGZpbGUsIHlvdSBjYW4gYnVpbGQgYSBMb2dQbHVnaW4gbWFudWFsbHkuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxDb21tb25cTG9nXE1vbm9sb2dMb2dBZGFwdGVyOwogICAgdXNlIEd1enpsZVxQbHVnaW5cTG9nXExvZ1BsdWdpbjsKICAgIHVzZSBNb25vbG9nXExvZ2dlcjsKICAgIHVzZSBNb25vbG9nXEhhbmRsZXJcU3RyZWFtSGFuZGxlcjsKCiAgICAvLyBDcmVhdGUgYSBsb2cgY2hhbm5lbAogICAgJGxvZyA9IG5ldyBMb2dnZXIoJ2F3cycpOwogICAgJGxvZy0+cHVzaEhhbmRsZXIobmV3IFN0cmVhbUhhbmRsZXIoJy9wYXRoL3RvL3lvdXIubG9nJywgTG9nZ2VyOjpXQVJOSU5HKSk7CgogICAgLy8gQ3JlYXRlIGEgbG9nIGFkYXB0ZXIgZm9yIE1vbm9sb2cKICAgICRsb2dnZXIgPSBuZXcgTW9ub2xvZ0xvZ0FkYXB0ZXIoJGxvZyk7CgogICAgLy8gQ3JlYXRlIHRoZSBMb2dQbHVnaW4KICAgICRsb2dQbHVnaW4gPSBuZXcgTG9nUGx1Z2luKCRsb2dnZXIpOwoKICAgIC8vIENyZWF0ZSBhbiBBbWF6b24gUzMgY2xpZW50CiAgICAkczNDbGllbnQgPSBTM0NsaWVudDo6ZmFjdG9yeSgpOwoKICAgIC8vIEFkZCB0aGUgTG9nUGx1Z2luIHRvIHRoZSBjbGllbnQKICAgICRzM0NsaWVudC0+YWRkU3Vic2NyaWJlcigkbG9nUGx1Z2luKTsKCllvdSBjYW4gZmluZCBvdXQgbW9yZSBhYm91dCB0aGUgTG9nUGx1Z2luIG9uIHRoZSBHdXp6bGUgd2Vic2l0ZTogaHR0cDovL2d1enpsZXBocC5vcmcvZ3VpZGUvcGx1Z2lucy5odG1sI2xvZy1wbHVnaW4KCkhvdyBjYW4gSSBzZXQgYXJiaXRyYXJ5IGhlYWRlcnMgb24gYSByZXF1ZXN0PwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCllvdSBjYW4gYWRkIGFueSBhcmJpdHJhcnkgaGVhZGVycyB0byBhIHNlcnZpY2Ugb3BlcmF0aW9uIGJ5IHNldHRpbmcgdGhlIGBgY29tbWFuZC5oZWFkZXJzYGAgdmFsdWUuIFRoZSBmb2xsb3dpbmcgZXhhbXBsZQpzaG93cyBob3cgdG8gYWRkIGFuIGBgWC1Gb28tQmF6YGAgaGVhZGVyIHRvIGFuIEFtYXpvbiBTMyBQdXRPYmplY3Qgb3BlcmF0aW9uLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRzM0NsaWVudCA9IFMzQ2xpZW50OjpmYWN0b3J5KCk7CiAgICAkczNDbGllbnQtPnB1dE9iamVjdChhcnJheSgKICAgICAgICAnS2V5JyAgICA9PiAndGVzdCcsCiAgICAgICAgJ0J1Y2tldCcgPT4gJ215YnVja2V0JywKICAgICAgICAnY29tbWFuZC5oZWFkZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ1gtRm9vLUJheicgPT4gJ0JhcicKICAgICAgICApCiAgICApKTsKCkRvZXMgdGhlIFNESyBmb2xsb3cgc2VtYW50aWMgdmVyc2lvbmluZz8KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKWWVzLiBUaGUgU0RLIGZvbGxvd3MgYSBzZW1hbnRpYyB2ZXJzaW9uaW5nIHNjaGVtZSBzaW1pbGFyIHRvIOKAkyBidXQgbm90IHRoZSBzYW1lIGFzIOKAkyBgc2VtdmVyIDxodHRwOi8vc2VtdmVyLm9yZz5gXy4KSW5zdGVhZCBvZiB0aGUgKipNQUpPUi5NSU5PUi5QQVRDSCoqIHNjaGVtZSBzcGVjaWZpZWQgYnkgc2VtdmVyLCB0aGUgU0RLIGFjdHVhbGx5IGZvbGxvd3MgYSBzY2hlbWUgdGhhdCBsb29rcyBsaWtlCioqUEFSQURJR00uTUFKT1IuTUlOT1IqKiB3aGVyZToKCjEuIFRoZSAqKlBBUkFESUdNKiogdmVyc2lvbiBudW1iZXIgaXMgaW5jcmVtZW50ZWQgd2hlbiAqKmRyYXN0aWMsIGJyZWFraW5nIGNoYW5nZXMqKiBhcmUgbWFkZSB0byB0aGUgU0RLLCBzdWNoIHRoYXQgdGhlCiAgIGZ1bmRhbWVudGFsIHdheSBvZiB1c2luZyB0aGUgU0RLIGlzIGRpZmZlcmVudC4gWW91IGFyZSBwcm9iYWJseSBhd2FyZSB0aGF0IHZlcnNpb24gMS54IGFuZCB2ZXJzaW9uIDIueCBvZiB0aGUgQVdTIFNESwogICBmb3IgUEhQIGFyZSAqdmVyeSogZGlmZmVyZW50LgoyLiBUaGUgKipNQUpPUioqIHZlcnNpb24gbnVtYmVyIGlzIGluY3JlbWVudGVkIHdoZW4gKipicmVha2luZyBjaGFuZ2VzKiogYXJlIG1hZGUgdG8gdGhlIEFQSS4gVGhlc2UgYXJlIHVzdWFsbHkgc21hbGwKICAgY2hhbmdlcywgYW5kIG9ubHkgb2NjdXIgd2hlbiBvbmUgb2YgdGhlIHNlcnZpY2VzIG1ha2VzIGJyZWFraW5nIGNoYW5nZXMgY2hhbmdlcyB0byB0aGVpciBBUEkuIE1ha2Ugc3VyZSB0byBjaGVjayB0aGUKICAgYENIQU5HRUxPRyA8aHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3Mtc2RrLXBocC9ibG9iL21hc3Rlci9DSEFOR0VMT0cubWQ+YF8gYW5kCiAgIGBVUEdSQURJTkcgPGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLXNkay1waHAvYmxvYi9tYXN0ZXIvVVBHUkFESU5HLm1kPmBfIGRvY3VtZW50cyB3aGVuIHRoZXNlIGNoYW5nZXMgb2NjdXIuCjMuIFRoZSAqKk1JTk9SKiogdmVyc2lvbiBudW1iZXIgaXMgaW5jcmVtZW50ZWQgd2hlbiBhbnkgKipiYWNrd2FyZHMtY29tcGF0aWJsZSoqIGNoYW5nZSBpcyBtYWRlLCB3aGV0aGVyIGl0J3MgYSBuZXcKICAgZmVhdHVyZSBvciBhIGJ1ZyBmaXguCgpUaGUgYmVzdCB3YXkgdG8gZW5zdXJlIHRoYXQgeW91IGFyZSBub3QgYWZmZWN0ZWQgYnkgYnJlYWtpbmcgY2hhbmdlcyBpcyB0byBzZXQgeW91ciBkZXBlbmRlbmN5IG9uIHRoZSBTREsgaW4gQ29tcG9zZXIgdG8Kc3RheSB3aXRoaW4gYSBwYXJ0aWN1bGFyICoqUEFSQURJR00uTUFKT1IqKiB2ZXJzaW9uLiBUaGlzIGNhbiBiZSBkb25lIHVzaW5nIHRoZSB3aWxkY2FyZCBzeW50YXg6CgouLiBjb2RlLWJsb2NrOjoganNvbgoKICAgIHsKICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgImF3cy9hd3Mtc2RrLXBocCI6ICIyLjQuKiIKICAgICAgICB9CiAgICB9CgouLi5PciBieSB1c2luZyB0aGUgdGhlIHRpbGRlIG9wZXJhdG9yLiBUaGUgZm9sbG93aW5nIHN0YXRlbWVudCBpcyBlcXVpdmFsZW50IHRvIGA+PTIuNC45LDwyLjVgOgoKLi4gY29kZS1ibG9jazo6IGpzb24KCiAgICB7CiAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICJhd3MvYXdzLXNkay1waHAiOiAifjIuNC45IgogICAgICAgIH0KICAgIH0KClNlZSB0aGUgYENvbXBvc2VyIGRvY3VtZW50YXRpb24gPGh0dHA6Ly9nZXRjb21wb3Nlci5vcmcvZG9jLzAxLWJhc2ljLXVzYWdlLm1kI3BhY2thZ2UtdmVyc2lvbnM+YF8gZm9yIG1vcmUgaW5mb3JtYXRpb24Kb24gY29uZmlndXJpbmcgeW91ciBkZXBlbmRlbmNpZXMuCgpUaGUgU0RLIG1heSBhdCBzb21lIHBvaW50IGFkb3B0IHRoZSBzZW12ZXIgc3RhbmRhcmQsIGJ1dCB0aGlzIHdpbGwgcHJvYmFibHkgbm90IGhhcHBlbiB1bnRpbCB0aGUgbmV4dCBwYXJhZGlnbS10eXBlCmNoYW5nZS4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/feature-dynamodb-session-handler.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT09PT09CkR5bmFtb0RCIFNlc3Npb24gSGFuZGxlcgo9PT09PT09PT09PT09PT09PT09PT09PT0KCkludHJvZHVjdGlvbgotLS0tLS0tLS0tLS0KClRoZSAqKkR5bmFtb0RCIFNlc3Npb24gSGFuZGxlcioqIGlzIGEgY3VzdG9tIHNlc3Npb24gaGFuZGxlciBmb3IgUEhQIHRoYXQgYWxsb3dzIGRldmVsb3BlcnMgdG8gdXNlIEFtYXpvbiBEeW5hbW9EQiBhcyBhCnNlc3Npb24gc3RvcmUuIFVzaW5nIER5bmFtb0RCIGZvciBzZXNzaW9uIHN0b3JhZ2UgYWxsZXZpYXRlcyBpc3N1ZXMgdGhhdCBvY2N1ciB3aXRoIHNlc3Npb24gaGFuZGxpbmcgaW4gYSBkaXN0cmlidXRlZAp3ZWIgYXBwbGljYXRpb24gYnkgbW92aW5nIHNlc3Npb25zIG9mZiBvZiB0aGUgbG9jYWwgZmlsZSBzeXN0ZW0gYW5kIGludG8gYSBzaGFyZWQgbG9jYXRpb24uIER5bmFtb0RCIGlzIGZhc3QsIHNjYWxhYmxlLAplYXN5IHRvIHNldHVwLCBhbmQgaGFuZGxlcyByZXBsaWNhdGlvbiBvZiB5b3VyIGRhdGEgYXV0b21hdGljYWxseS4KClRoZSBEeW5hbW9EQiBTZXNzaW9uIEhhbmRsZXIgdXNlcyB0aGUgYGBzZXNzaW9uX3NldF9zYXZlX2hhbmRsZXIoKWBgIGZ1bmN0aW9uIHRvIGhvb2sgRHluYW1vREIgb3BlcmF0aW9ucyBpbnRvIFBIUCdzCmBuYXRpdmUgc2Vzc2lvbiBmdW5jdGlvbnMgPGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vcmVmLnNlc3Npb24ucGhwPmBfIHRvIGFsbG93IGZvciBhIHRydWUgZHJvcCBpbiByZXBsYWNlbWVudC4gVGhpcwppbmNsdWRlcyBzdXBwb3J0IGZvciBmZWF0dXJlcyBsaWtlIHNlc3Npb24gbG9ja2luZyBhbmQgZ2FyYmFnZSBjb2xsZWN0aW9uIHdoaWNoIGFyZSBhIHBhcnQgb2YgUEhQJ3MgZGVmYXVsdCBzZXNzaW9uCmhhbmRsZXIuCgpGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgQW1hem9uIER5bmFtb0RCIHNlcnZpY2UsIHBsZWFzZSB2aXNpdCB0aGUgYEFtYXpvbiBEeW5hbW9EQiBob21lcGFnZQo8aHR0cDovL2F3cy5hbWF6b24uY29tL2R5bmFtb2RiPmBfLgoKQmFzaWMgVXNhZ2UKLS0tLS0tLS0tLS0KCjEuIFJlZ2lzdGVyIHRoZSBoYW5kbGVyCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpUaGUgZmlyc3Qgc3RlcCBpcyB0byBpbnN0YW50aWF0ZSB0aGUgQW1hem9uIER5bmFtb0RCIGNsaWVudCBhbmQgcmVnaXN0ZXIgdGhlIHNlc3Npb24gaGFuZGxlci4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICByZXF1aXJlICd2ZW5kb3IvYXV0b2xvYWQucGhwJzsKCiAgICB1c2UgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OwoKICAgICRkeW5hbW9EYiA9IER5bmFtb0RiQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICdrZXknICAgID0+ICc8YXdzIGFjY2VzcyBrZXk+JywKICAgICAgICAnc2VjcmV0JyA9PiAnPGF3cyBzZWNyZXQga2V5PicsCiAgICAgICAgJ3JlZ2lvbicgPT4gJzxyZWdpb24gbmFtZT4nCiAgICApKTsKCiAgICAkc2Vzc2lvbkhhbmRsZXIgPSAkZHluYW1vRGItPnJlZ2lzdGVyU2Vzc2lvbkhhbmRsZXIoYXJyYXkoCiAgICAgICAgJ3RhYmxlX25hbWUnID0+ICdzZXNzaW9ucycKICAgICkpOwoKWW91IGNhbiBhbHNvIGluc3RhbnRpYXRlIHRoZSBgYFNlc3Npb25IYW5kbGVyYGAgb2JqZWN0IGRpcmVjdGx5IHVzaW5nIGl0J3MgYGBmYWN0b3J5YGAgbWV0aG9kLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHJlcXVpcmUgJ3ZlbmRvci9hdXRvbG9hZC5waHAnOwoKICAgIHVzZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ7CiAgICB1c2UgQXdzXER5bmFtb0RiXFNlc3Npb25cU2Vzc2lvbkhhbmRsZXI7CgogICAgJGR5bmFtb0RiID0gRHluYW1vRGJDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgJ2tleScgICAgPT4gJzxhd3MgYWNjZXNzIGtleT4nLAogICAgICAgICdzZWNyZXQnID0+ICc8YXdzIHNlY3JldCBrZXk+JywKICAgICAgICAncmVnaW9uJyA9PiAnPHJlZ2lvbiBuYW1lPicsCiAgICApKTsKCiAgICAkc2Vzc2lvbkhhbmRsZXIgPSBTZXNzaW9uSGFuZGxlcjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAnZHluYW1vZGJfY2xpZW50JyA9PiAkZHluYW1vRGIsCiAgICAgICAgJ3RhYmxlX25hbWUnICAgICAgPT4gJ3Nlc3Npb25zJywKICAgICkpOwogICAgJHNlc3Npb25IYW5kbGVyLT5yZWdpc3RlcigpOwoKMi4gQ3JlYXRlIGEgdGFibGUgZm9yIHN0b3JpbmcgeW91ciBzZXNzaW9ucwp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpCZWZvcmUgeW91IGNhbiBhY3R1YWxseSB1c2UgdGhlIHNlc3Npb24gaGFuZGxlciwgeW91IG5lZWQgdG8gY3JlYXRlIGEgdGFibGUgaW4gd2hpY2ggdG8gc3RvcmUgdGhlIHNlc3Npb25zLiBUaGlzIGNhbiBiZQpkb25lIGFoZWFkIG9mIHRpbWUgdGhyb3VnaCB0aGUgYEFXUyBDb25zb2xlIGZvciBBbWF6b24gRHluYW1vREIgPGh0dHBzOi8vY29uc29sZS5hd3MuYW1hem9uLmNvbS9keW5hbW9kYi9ob21lPmBfLCBvciB5b3UKY2FuIHVzZSB0aGUgc2Vzc2lvbiBoYW5kbGVyIG9iamVjdCAod2hpY2ggeW91J3ZlIGFscmVhZHkgY29uZmlndXJlZCB3aXRoIHRoZSB0YWJsZSBuYW1lKSBieSBkb2luZyB0aGUgZm9sbG93aW5nOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRzZXNzaW9uSGFuZGxlci0+Y3JlYXRlU2Vzc2lvbnNUYWJsZSg1LCA1KTsKClRoZSB0d28gcGFyYW1ldGVycyBmb3IgdGhpcyBmdW5jdGlvbiBhcmUgdXNlZCB0byBzcGVjaWZ5IHRoZSByZWFkIGFuZCB3cml0ZSBwcm92aXNpb25lZCB0aHJvdWdocHV0IGZvciB0aGUgdGFibGUsCnJlc3BlY3RpdmVseS4KCi4uIG5vdGU6OgoKICAgIFRoZSBgYGNyZWF0ZVNlc3Npb25zVGFibGVgYCBmdW5jdGlvbiB1c2VzIHRoZSBgYFRhYmxlRXhpc3RzYGAgOmRvYzpgd2FpdGVyIDxmZWF0dXJlLXdhaXRlcnM+YCBpbnRlcm5hbGx5LCBzbyB0aGlzCiAgICBmdW5jdGlvbiBjYWxsIHdpbGwgYmxvY2sgdW50aWwgdGhlIHRhYmxlIGV4aXN0cyBhbmQgaXMgcmVhZHkgdG8gYmUgdXNlZC4KCjMuIFVzZSBQSFAgc2Vzc2lvbnMgbGlrZSBub3JtYWwKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKT25jZSB0aGUgc2Vzc2lvbiBoYW5kbGVyIGlzIHJlZ2lzdGVyZWQgYW5kIHRoZSB0YWJsZSBleGlzdHMsIHlvdSBjYW4gd3JpdGUgdG8gYW5kIHJlYWQgZnJvbSB0aGUgc2Vzc2lvbiB1c2luZyB0aGUKYGAkX1NFU1NJT05gYCBzdXBlcmdsb2JhbCwganVzdCBsaWtlIHlvdSBub3JtYWxseSBkbyB3aXRoIFBIUCdzIGRlZmF1bHQgc2Vzc2lvbiBoYW5kbGVyLiBUaGUgRHluYW1vREIgU2Vzc2lvbiBIYW5kbGVyCmVuY2Fwc3VsYXRlcyBhbmQgYWJzdHJhY3RzIHRoZSBpbnRlcmFjdGlvbnMgd2l0aCBBbWF6b24gRHluYW1vREIgYW5kIGVuYWJsZXMgeW91IHRvIHNpbXBseSB1c2UgUEhQJ3MgbmF0aXZlIHNlc3Npb24KZnVuY3Rpb25zIGFuZCBpbnRlcmZhY2UuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgLy8gU3RhcnQgdGhlIHNlc3Npb24KICAgIHNlc3Npb25fc3RhcnQoKTsKCiAgICAvLyBBbHRlciB0aGUgc2Vzc2lvbiBkYXRhCiAgICAkX1NFU1NJT05bJ3VzZXIubmFtZSddID0gJ2plcmVteSc7CiAgICAkX1NFU1NJT05bJ3VzZXIucm9sZSddID0gJ2FkbWluJzsKCiAgICAvLyBDbG9zZSB0aGUgc2Vzc2lvbiAob3B0aW9uYWwsIGJ1dCByZWNvbW1lbmRlZCkKICAgIHNlc3Npb25fd3JpdGVfY2xvc2UoKTsKCkNvbmZpZ3VyYXRpb24KLS0tLS0tLS0tLS0tLQoKWW91IG1heSBjb25maWd1cmUgdGhlIGJlaGF2aW9yIG9mIHRoZSBzZXNzaW9uIGhhbmRsZXIgdXNpbmcgdGhlIGZvbGxvd2luZyBvcHRpb25zLiBBbGwgb3B0aW9ucyBhcmUgb3B0aW9uYWwsIGJ1dCB5b3UKc2hvdWxkIG1ha2Ugc3VyZSB0byB1bmRlcnN0YW5kIHdoYXQgdGhlIGRlZmF1bHRzIGFyZS4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpgYHRhYmxlX25hbWVgYCAgICAgICAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSBEeW5hbW9EQiB0YWJsZSBpbiB3aGljaCB0byBzdG9yZSB0aGUgc2Vzc2lvbnMuIFRoaXMgZGVmYXVsdHMgdG8gYGBzZXNzaW9uc2BgLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KYGBoYXNoX2tleWBgICAgICAgICAgICAgICAgICBUaGUgbmFtZSBvZiB0aGUgaGFzaCBrZXkgaW4gdGhlIER5bmFtb0RCIHNlc3Npb25zIHRhYmxlLiBUaGlzIGRlZmF1bHRzIHRvIGBgaWRgYC4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmBgc2Vzc2lvbl9saWZldGltZWBgICAgICAgICAgVGhlIGxpZmV0aW1lIG9mIGFuIGluYWN0aXZlIHNlc3Npb24gYmVmb3JlIGl0IHNob3VsZCBiZSBnYXJiYWdlIGNvbGxlY3RlZC4gSWYgaXQgaXMgbm90CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZWQsIHRoZW4gdGhlIGFjdHVhbCBsaWZldGltZSB2YWx1ZSB0aGF0IHdpbGwgYmUgdXNlZCBpcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgaW5pX2dldCgnc2Vzc2lvbi5nY19tYXhsaWZldGltZScpYGAuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpgYGNvbnNpc3RlbnRfcmVhZGBgICAgICAgICAgIFdoZXRoZXIgb3Igbm90IHRoZSBzZXNzaW9uIGhhbmRsZXIgc2hvdWxkIHVzZSBjb25zaXN0ZW50IHJlYWRzIGZvciB0aGUgYGBHZXRJdGVtYGAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb24uIFRoaXMgZGVmYXVsdHMgdG8gYGB0cnVlYGAuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpgYGxvY2tpbmdfc3RyYXRlZ3lgYCAgICAgICAgIFRoZSBzdHJhdGVneSB1c2VkIGZvciBkb2luZyBzZXNzaW9uIGxvY2tpbmcuIEJ5IGRlZmF1bHQgdGhlIGhhbmRsZXIgdXNlcyB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYE51bGxMb2NraW5nU3RyYXRlZ3lgYCwgd2hpY2ggbWVhbnMgdGhhdCBzZXNzaW9uIGxvY2tpbmcgaXMgKipub3QqKiBlbmFibGVkIChzZWUgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnJlZjpgZGRic2gtc2Vzc2lvbi1sb2NraW5nYCBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uKS4gVmFsaWQgdmFsdWVzIGZvciB0aGlzIG9wdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGUgbnVsbCwgJ251bGwnLCAncGVzc2VtaXN0aWMnLCBvciBhbiBpbnN0YW5jZSBvZiBgYE51bGxMb2NraW5nU3RyYXRlZ3lgYCBvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgUGVzc2ltaXN0aWNMb2NraW5nU3RyYXRlZ3lgYC4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmBgYXV0b21hdGljX2djYGAgICAgICAgICAgICAgV2hldGhlciBvciBub3QgdG8gdXNlIFBIUCdzIHNlc3Npb24gYXV0byBnYXJiYWdlIGNvbGxlY3Rpb24uIFRoaXMgZGVmYXVsdHMgdG8gdGhlIHZhbHVlIG9mCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGAoYm9vbCkgaW5pX2dldCgnc2Vzc2lvbi5nY19wcm9iYWJpbGl0eScpYGAsIGJ1dCB0aGUgcmVjb21tZW5kZWQgdmFsdWUgaXMgYGBmYWxzZWBgLiAoc2VlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIDpyZWY6YGRkYnNoLWdhcmJhZ2UtY29sbGVjdGlvbmAgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbikuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpgYGdjX2JhdGNoX3NpemVgYCAgICAgICAgICAgIFRoZSBiYXRjaCBzaXplIHVzZWQgZm9yIHJlbW92aW5nIGV4cGlyZWQgc2Vzc2lvbnMgZHVyaW5nIGdhcmJhZ2UgY29sbGVjdGlvbi4gVGhpcyBkZWZhdWx0cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGBgMjVgYCwgd2hpY2ggaXMgdGhlIG1heGltdW0gc2l6ZSBvZiBhIHNpbmdsZSBgYEJhdGNoV3JpdGVJdGVtYGAgb3BlcmF0aW9uLiBUaGlzIHZhbHVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkIGFsc28gdGFrZSB5b3VyIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQgaW50byBhY2NvdW50IGFzIHdlbGwgYXMgdGhlIHRpbWluZyBvZiB5b3VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FyYmFnZSBjb2xsZWN0aW9uLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KYGBnY19vcGVyYXRpb25fZGVsYXlgYCAgICAgICBUaGUgZGVsYXkgKGluIHNlY29uZHMpIGJldHdlZW4gc2VydmljZSBvcGVyYXRpb25zIHBlcmZvcm1lZCBkdXJpbmcgZ2FyYmFnZSBjb2xsZWN0aW9uLiBUaGlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdHMgdG8gYGAwYGAuIEluY3JlYXNpbmcgdGhpcyB2YWx1ZSBhbGxvd3MgeW91IHRvIHRocm90dGxlIHlvdXIgb3duIHJlcXVlc3RzIGluIGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0ZW1wdCB0byBzdGF5IHdpdGhpbiB5b3VyIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQgY2FwYWNpdHkgZHVyaW5nIGdhcmJhZ2UgY29sbGVjdGlvbi4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmBgbWF4X2xvY2tfd2FpdF90aW1lYGAgICAgICAgTWF4aW11bSB0aW1lIChpbiBzZWNvbmRzKSB0aGF0IHRoZSBzZXNzaW9uIGhhbmRsZXIgc2hvdWxkIHdhaXQgdG8gYWNxdWlyZSBhIGxvY2sgYmVmb3JlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2l2aW5nIHVwLiBUaGlzIGRlZmF1bHRzIHRvIGBgMTBgYCBhbmQgaXMgb25seSB1c2VkIHdpdGggdGhlIGBgUGVzc2ltaXN0aWNMb2NraW5nU3RyYXRlZ3lgYC4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmBgbWluX2xvY2tfcmV0cnlfbWljcm90aW1lYGAgTWluaW11bSB0aW1lIChpbiBtaWNyb3NlY29uZHMpIHRoYXQgdGhlIHNlc3Npb24gaGFuZGxlciBzaG91bGQgd2FpdCBiZXR3ZWVuIGF0dGVtcHRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYWNxdWlyZSBhIGxvY2suIFRoaXMgZGVmYXVsdHMgdG8gYGAxMDAwMGBgIGFuZCBpcyBvbmx5IHVzZWQgd2l0aCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYFBlc3NpbWlzdGljTG9ja2luZ1N0cmF0ZWd5YGAuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpgYG1heF9sb2NrX3JldHJ5X21pY3JvdGltZWBgIE1heGltdW0gdGltZSAoaW4gbWljcm9zZWNvbmRzKSB0aGF0IHRoZSBzZXNzaW9uIGhhbmRsZXIgc2hvdWxkIHdhaXQgYmV0d2VlbiBhdHRlbXB0cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGFjcXVpcmUgYSBsb2NrLiBUaGlzIGRlZmF1bHRzIHRvIGBgNTAwMDBgYCBhbmQgaXMgb25seSB1c2VkIHdpdGggdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBQZXNzaW1pc3RpY0xvY2tpbmdTdHJhdGVneWBgLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KYGBkeW5hbW9kYl9jbGllbnRgYCAgICAgICAgICBUaGUgYGBEeW5hbW9EYkNsaWVudGBgIG9iamVjdCB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciBwZXJmb3JtaW5nIER5bmFtb0RCIG9wZXJhdGlvbnMuIElmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeW91IHJlZ2lzdGVyIHRoZSBzZXNzaW9uIGhhbmRsZXIgZnJvbSBhIGNsaWVudCBvYmplY3QgdXNpbmcgdGhlIGBgcmVnaXN0ZXJTZXNzaW9uSGFuZGxlcigpYGAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QsIHRoaXMgd2lsbCBkZWZhdWx0IHRvIHRoZSBjbGllbnQgeW91IGFyZSByZWdpc3RlcmluZyBpdCBmcm9tLiBJZiB1c2luZyB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYFNlc3Npb25IYW5kbGVyOjpmYWN0b3J5KClgYCBtZXRob2QsIHlvdSBhcmUgcmVxdWlyZWQgdG8gcHJvdmlkZSBhbiBpbnN0YW5jZSBvZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgRHluYW1vRGJDbGllbnRgYC4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpUbyBjb25maWd1cmUgdGhlIFNlc3Npb24gSGFuZGxlciwgeW91IG11c3Qgc3BlY2lmeSB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIHdoZW4geW91IGluc3RhbnRpYXRlIHRoZSBoYW5kbGVyLiBUaGUKZm9sbG93aW5nIGNvZGUgaXMgYW4gZXhhbXBsZSB3aXRoIGFsbCBvZiB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIHNwZWNpZmllZC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkc2Vzc2lvbkhhbmRsZXIgPSAkZHluYW1vRGItPnJlZ2lzdGVyU2Vzc2lvbkhhbmRsZXIoYXJyYXkoCiAgICAgICAgJ3RhYmxlX25hbWUnICAgICAgICAgICAgICAgPT4gJ3Nlc3Npb25zJywKICAgICAgICAnaGFzaF9rZXknICAgICAgICAgICAgICAgICA9PiAnaWQnLAogICAgICAgICdzZXNzaW9uX2xpZmV0aW1lJyAgICAgICAgID0+IDM2MDAsCiAgICAgICAgJ2NvbnNpc3RlbnRfcmVhZCcgICAgICAgICAgPT4gdHJ1ZSwKICAgICAgICAnbG9ja2luZ19zdHJhdGVneScgICAgICAgICA9PiBudWxsLAogICAgICAgICdhdXRvbWF0aWNfZ2MnICAgICAgICAgICAgID0+IDAsCiAgICAgICAgJ2djX2JhdGNoX3NpemUnICAgICAgICAgICAgPT4gNTAsCiAgICAgICAgJ21heF9sb2NrX3dhaXRfdGltZScgICAgICAgPT4gMTUsCiAgICAgICAgJ21pbl9sb2NrX3JldHJ5X21pY3JvdGltZScgPT4gNTAwMCwKICAgICAgICAnbWF4X2xvY2tfcmV0cnlfbWljcm90aW1lJyA9PiA1MDAwMCwKICAgICkpOwoKUHJpY2luZwotLS0tLS0tCgpBc2lkZSBmcm9tIGRhdGEgc3RvcmFnZSBhbmQgZGF0YSB0cmFuc2ZlciBmZWVzLCB0aGUgY29zdHMgYXNzb2NpYXRlZCB3aXRoIHVzaW5nIEFtYXpvbiBEeW5hbW9EQiBhcmUgY2FsY3VsYXRlZCBiYXNlZCBvbgp0aGUgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCBjYXBhY2l0eSBvZiB5b3VyIHRhYmxlIChzZWUgdGhlIGBBbWF6b24gRHluYW1vREIgcHJpY2luZyBkZXRhaWxzCjxodHRwOi8vYXdzLmFtYXpvbi5jb20vZHluYW1vZGIvI3ByaWNpbmc+YF8pLiBUaHJvdWdocHV0IGlzIG1lYXN1cmVkIGluIHVuaXRzIG9mIFdyaXRlIENhcGFjaXR5IGFuZCBSZWFkIENhcGFjaXR5LiBUaGUKQW1hem9uIER5bmFtb0RCIGhvbWVwYWdlIHNheXM6CgogICAgQSB1bml0IG9mIFdyaXRlIENhcGFjaXR5IGVuYWJsZXMgeW91IHRvIHBlcmZvcm0gb25lIHdyaXRlIHBlciBzZWNvbmQgZm9yIGl0ZW1zIG9mIHVwIHRvIDFLQiBpbiBzaXplLiBTaW1pbGFybHksIGEKICAgIHVuaXQgb2YgUmVhZCBDYXBhY2l0eSBlbmFibGVzIHlvdSB0byBwZXJmb3JtIG9uZSBzdHJvbmdseSBjb25zaXN0ZW50IHJlYWQgcGVyIHNlY29uZCAob3IgdHdvIGV2ZW50dWFsbHkgY29uc2lzdGVudAogICAgcmVhZHMgcGVyIHNlY29uZCkgb2YgaXRlbXMgb2YgdXAgdG8gMUtCIGluIHNpemUuIExhcmdlciBpdGVtcyB3aWxsIHJlcXVpcmUgbW9yZSBjYXBhY2l0eS4gWW91IGNhbiBjYWxjdWxhdGUgdGhlCiAgICBudW1iZXIgb2YgdW5pdHMgb2YgcmVhZCBhbmQgd3JpdGUgY2FwYWNpdHkgeW91IG5lZWQgYnkgZXN0aW1hdGluZyB0aGUgbnVtYmVyIG9mIHJlYWRzIG9yIHdyaXRlcyB5b3UgbmVlZCB0byBkbyBwZXIKICAgIHNlY29uZCBhbmQgbXVsdGlwbHlpbmcgYnkgdGhlIHNpemUgb2YgeW91ciBpdGVtcyAocm91bmRlZCB1cCB0byB0aGUgbmVhcmVzdCBLQikuCgpVbHRpbWF0ZWx5LCB0aGUgdGhyb3VnaHB1dCBhbmQgdGhlIGNvc3RzIHJlcXVpcmVkIGZvciB5b3VyIHNlc3Npb25zIHRhYmxlIGlzIGdvaW5nIHRvIGNvcnJlbGF0ZSB3aXRoIHlvdXIgZXhwZWN0ZWQKdHJhZmZpYyBhbmQgc2Vzc2lvbiBzaXplLiBUaGUgZm9sbG93aW5nIHRhYmxlIGV4cGxhaW5zIHRoZSBhbW91bnQgb2YgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyB0aGF0IGFyZSBwZXJmb3JtZWQgb24KeW91ciBEeW5hbW9EQiB0YWJsZSBmb3IgZWFjaCBvZiB0aGUgc2Vzc2lvbiBmdW5jdGlvbnMuCgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBSZWFkIHZpYSBgYHNlc3Npb25fc3RhcnQoKWBgICAgICAgICAgICB8ICogMSByZWFkIG9wZXJhdGlvbiAob25seSAwLjUgaWYgYGBjb25zaXN0ZW50X3JlYWRgYCBpcyBgYGZhbHNlYGApLiAgICAgICAgICB8CnwgKFVzaW5nIGBgTnVsbExvY2tpbmdTdHJhdGVneWBgKSAgICAgICAgfCAqIChDb25kaXRpb25hbCkgMSB3cml0ZSBvcGVyYXRpb24gdG8gZGVsZXRlIHRoZSBzZXNzaW9uIGlmIGl0IGlzIGV4cGlyZWQuICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBSZWFkIHZpYSBgYHNlc3Npb25fc3RhcnQoKWBgICAgICAgICAgICB8ICogQSBtaW5pbXVtIG9mIDEgKndyaXRlKiBvcGVyYXRpb24uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgKFVzaW5nIGBgUGVzc2ltaXN0aWNMb2NraW5nU3RyYXRlZ3lgYCkgfCAqIChDb25kaXRpb25hbCkgQWRkaXRpb25hbCB3cml0ZSBvcGVyYXRpb25zIGZvciBlYWNoIGF0dGVtcHQgYXQgYWNxdWlyaW5nIGEgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICBsb2NrIG9uIHRoZSBzZXNzaW9uLiBCYXNlZCBvbiBjb25maWd1cmVkIGxvY2sgd2FpdCB0aW1lIGFuZCByZXRyeSBvcHRpb25zLnwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICogKENvbmRpdGlvbmFsKSAxIHdyaXRlIG9wZXJhdGlvbiB0byBkZWxldGUgdGhlIHNlc3Npb24gaWYgaXQgaXMgZXhwaXJlZC4gICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IFdyaXRlIHZpYSBgYHNlc3Npb25fd3JpdGVfY2xvc2UoKWBgICAgIHwgKiAxIHdyaXRlIG9wZXJhdGlvbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgRGVsZXRlIHZpYSBgYHNlc3Npb25fZGVzdHJveSgpYGAgICAgICAgfCAqIDEgd3JpdGUgb3BlcmF0aW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBHYXJiYWdlIENvbGxlY3Rpb24gICAgICAgICAgICAgICAgICAgICB8ICogMC41IHJlYWQgb3BlcmF0aW9ucyAqKnBlciBLQiBvZiBkYXRhIGluIHRoZSB0YWJsZSoqIHRvIHNjYW4gZm9yIGV4cGlyZWQgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIHNlc3Npb25zLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKiAxIHdyaXRlIG9wZXJhdGlvbiAqKnBlciBleHBpcmVkIGl0ZW0qKiB0byBkZWxldGUgaXQuICAgICAgICAgICAgICAgICAgICAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCgouLiBfZGRic2gtc2Vzc2lvbi1sb2NraW5nOgoKU2Vzc2lvbiBMb2NraW5nCi0tLS0tLS0tLS0tLS0tLQoKVGhlIER5bmFtb0RCIFNlc3Npb24gSGFuZGxlciBzdXBwb3J0cyBwZXNzaW1pc3RpYyBzZXNzaW9uIGxvY2tpbmcgaW4gb3JkZXIgdG8gbWltaWMgdGhlIGJlaGF2aW9yIG9mIFBIUCdzIGRlZmF1bHQKc2Vzc2lvbiBoYW5kbGVyLiBCeSBkZWZhdWx0IHRoZSBEeW5hbW9EQiBTZXNzaW9uIEhhbmRsZXIgaGFzIHRoaXMgZmVhdHVyZSAqdHVybmVkIG9mZiogc2luY2UgaXQgY2FuIGJlY29tZSBhIHBlcmZvcm1hbmNlCmJvdHRsZW5lY2sgYW5kIGRyaXZlIHVwIGNvc3RzLCBlc3BlY2lhbGx5IHdoZW4gYW4gYXBwbGljYXRpb24gYWNjZXNzZXMgdGhlIHNlc3Npb24gd2hlbiB1c2luZyBhamF4IHJlcXVlc3RzIG9yIGlmcmFtZXMuCllvdSBzaG91bGQgY2FyZWZ1bGx5IGNvbnNpZGVyIHdoZXRoZXIgb3Igbm90IHlvdXIgYXBwbGljYXRpb24gcmVxdWlyZXMgc2Vzc2lvbiBsb2NraW5nIG9yIG5vdCBiZWZvcmUgZW5hYmxpbmcgaXQuCgpCeSBkZWZhdWx0IHRoZSBzZXNzaW9uIGhhbmRsZXIgdXNlcyB0aGUgYGBOdWxsTG9ja2luZ1N0cmF0ZWd5YGAgd2hpY2ggZG9lcyBub3QgZG8gYW55IHNlc3Npb24gbG9ja2luZy4gVG8gZW5hYmxlIHNlc3Npb24KbG9ja2luZywgeW91IHNob3VsZCB1c2UgdGhlIGBgUGVzc2ltaXN0aWNMb2NraW5nU3RyYXRlZ3lgYCwgd2hpY2ggY2FuIGJlIHNwZWNpZmllZCB3aGVuIHRoZSBzZXNzaW9uIGhhbmRsZXIgaXMgY3JlYXRlZC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkc2Vzc2lvbkhhbmRsZXIgPSAkZHluYW1vRGItPnJlZ2lzdGVyU2Vzc2lvbkhhbmRsZXIoYXJyYXkoCiAgICAgICAgJ3RhYmxlX25hbWUnICAgICAgID0+ICdzZXNzaW9ucycsCiAgICAgICAgJ2xvY2tpbmdfc3RyYXRlZ3knID0+ICdwZXNzaW1pc3RpYycsCiAgICApKTsKCi4uIF9kZGJzaC1nYXJiYWdlLWNvbGxlY3Rpb246CgpHYXJiYWdlIENvbGxlY3Rpb24KLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgRHluYW1vREIgU2Vzc2lvbiBIYW5kbGVyIHN1cHBvcnRzIHNlc3Npb24gZ2FyYmFnZSBjb2xsZWN0aW9uIGJ5IHVzaW5nIGEgc2VyaWVzIG9mIGBgU2NhbmBgIGFuZCBgYEJhdGNoV3JpdGVJdGVtYGAKb3BlcmF0aW9ucy4gRHVlIHRvIHRoZSBuYXR1cmUgb2YgaG93IHRoZSBgYFNjYW5gYCBvcGVyYXRpb24gd29ya3MgYW5kIGluIG9yZGVyIHRvIGZpbmQgYWxsIG9mIHRoZSBleHBpcmVkIHNlc3Npb25zIGFuZApkZWxldGUgdGhlbSwgdGhlIGdhcmJhZ2UgY29sbGVjdGlvbiBwcm9jZXNzIGNhbiByZXF1aXJlIGEgbG90IG9mIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQuCgpGb3IgdGhpcyByZWFzb24gaXQgaXMgZGlzY291cmFnZWQgdG8gcmVseSBvbiB0aGUgUEhQJ3Mgbm9ybWFsIHNlc3Npb24gZ2FyYmFnZSBjb2xsZWN0aW9uIHRyaWdnZXJzIChpLmUuLCB0aGUKYGBzZXNzaW9uLmdjX3Byb2JhYmlsaXR5YGAgYW5kIGBgc2Vzc2lvbi5nY19kaXZpc29yYGAgaW5pIHNldHRpbmdzKS4gQSBiZXR0ZXIgcHJhY3RpY2UgaXMgdG8gc2V0CmBgc2Vzc2lvbi5nY19wcm9iYWJpbGl0eWBgIHRvIGBgMGBgIGFuZCBzY2hlZHVsZSB0aGUgZ2FyYmFnZSBjb2xsZWN0aW9uIHRvIG9jY3VyIGR1cmluZyBhbiBvZmYtcGVhayB0aW1lIHdoZXJlIGEKYnVyc3Qgb2YgY29uc3VtZWQgdGhyb3VnaHB1dCB3aWxsIG5vdCBkaXNydXB0IHRoZSByZXN0IG9mIHRoZSBhcHBsaWNhdGlvbi4KCkZvciBleGFtcGxlLCB5b3UgY291bGQgaGF2ZSBhIG5pZ2h0bHkgY3JvbiBqb2IgdHJpZ2dlciBhIHNjcmlwdCB0byBydW4gdGhlIGdhcmJhZ2UgY29sbGVjdGlvbi4gVGhpcyBzY3JpcHQgbWlnaHQgbG9vawpzb21ldGhpbmcgbGlrZSB0aGUgZm9sbG93aW5nOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHJlcXVpcmUgJ3ZlbmRvci9hdXRvbG9hZC5waHAnOwoKICAgIHVzZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ7CiAgICB1c2UgQXdzXER5bmFtb0RiXFNlc3Npb25cU2Vzc2lvbkhhbmRsZXI7CgogICAgJGR5bmFtb0RiID0gRHluYW1vRGJDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgJ2tleScgICAgPT4gJzxhd3MgYWNjZXNzIGtleT4nLAogICAgICAgICdzZWNyZXQnID0+ICc8YXdzIHNlY3JldCBrZXk+JywKICAgICAgICAncmVnaW9uJyA9PiAnPHJlZ2lvbiBuYW1lPicsCiAgICApKTsKCiAgICAkc2Vzc2lvbkhhbmRsZXIgPSBTZXNzaW9uSGFuZGxlcjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAnZHluYW1vZGJfY2xpZW50JyA9PiAkZHluYW1vRGIsCiAgICAgICAgJ3RhYmxlX25hbWUnICAgICAgPT4gJ3Nlc3Npb25zJywKICAgICkpOwoKICAgICRzZXNzaW9uSGFuZGxlci0+Z2FyYmFnZUNvbGxlY3QoKTsKCllvdSBjYW4gYWxzbyB1c2UgdGhlIGBgZ2Nfb3BlcmF0aW9uX2RlbGF5YGAgY29uZmlndXJhdGlvbiBvcHRpb24gb24gdGhlIHNlc3Npb24gaGFuZGxlciB0byBpbnRyb2R1Y2UgZGVsYXlzIGluIGJldHdlZW4KdGhlIGBgU2NhbmBgIGFuZCBgYEJhdGNoV3JpdGVJdGVtYGAgb3BlcmF0aW9ucyB0aGF0IGFyZSBwZXJmb3JtZWQgYnkgdGhlIGdhcmJhZ2UgY29sbGVjdGlvbiBwcm9jZXNzLiBUaGlzIHdpbGwgaW5jcmVhc2UKdGhlIGFtb3VudCBvZiB0aW1lIGl0IHRha2VzIHRoZSBnYXJiYWdlIGNvbGxlY3Rpb24gdG8gY29tcGxldGUsIGJ1dCBpdCBjYW4gaGVscCB5b3Ugc3ByZWFkIG91dCB0aGUgcmVxdWVzdHMgbWFkZSBieSB0aGUKc2Vzc2lvbiBoYW5kbGVyIGluIG9yZGVyIHRvIGhlbHAgeW91IHN0YXkgY2xvc2UgdG8gb3Igd2l0aGluIHlvdXIgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCBjYXBhY2l0eSBkdXJpbmcgZ2FyYmFnZQpjb2xsZWN0aW9uLgoKQmVzdCBQcmFjdGljZXMKLS0tLS0tLS0tLS0tLS0KCiMuIENyZWF0ZSB5b3VyIHNlc3Npb25zIHRhYmxlIGluIGEgcmVnaW9uIHRoYXQgaXMgZ2VvZ3JhcGhpY2FsbHkgY2xvc2VzdCB0byBvciBpbiB0aGUgc2FtZSByZWdpb24gYXMgeW91ciBhcHBsaWNhdGlvbgogICBzZXJ2ZXJzLiBUaGlzIHdpbGwgZW5zdXJlIHRoZSBsb3dlc3QgbGF0ZW5jeSBiZXR3ZWVuIHlvdXIgYXBwbGljYXRpb24gYW5kIER5bmFtb0RCIGRhdGFiYXNlLgojLiBDaG9vc2UgdGhlIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQgY2FwYWNpdHkgb2YgeW91ciBzZXNzaW9ucyB0YWJsZSBjYXJlZnVsbHksIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGV4cGVjdGVkIHRyYWZmaWMKICAgdG8geW91ciBhcHBsaWNhdGlvbiBhbmQgdGhlIGV4cGVjdGVkIHNpemUgb2YgeW91ciBzZXNzaW9ucy4KIy4gTW9uaXRvciB5b3VyIGNvbnN1bWVkIHRocm91Z2hwdXQgdGhyb3VnaCB0aGUgQVdTIE1hbmFnZW1lbnQgQ29uc29sZSBvciB3aXRoIEFtYXpvbiBDbG91ZFdhdGNoIGFuZCBhZGp1c3QgeW91cgogICB0aHJvdWdocHV0IHNldHRpbmdzIGFzIG5lZWRlZCB0byBtZWV0IHRoZSBkZW1hbmRzIG9mIHlvdXIgYXBwbGljYXRpb24uCiMuIEtlZXAgdGhlIHNpemUgb2YgeW91ciBzZXNzaW9ucyBzbWFsbC4gU2Vzc2lvbnMgdGhhdCBhcmUgbGVzcyB0aGFuIDFLQiB3aWxsIHBlcmZvcm0gYmV0dGVyIGFuZCByZXF1aXJlIGxlc3MKICAgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCBjYXBhY2l0eS4KIy4gRG8gbm90IHVzZSBzZXNzaW9uIGxvY2tpbmcgdW5sZXNzIHlvdXIgYXBwbGljYXRpb24gcmVxdWlyZXMgaXQuCiMuIEluc3RlYWQgb2YgdXNpbmcgUEhQJ3MgYnVpbHQtaW4gc2Vzc2lvbiBnYXJiYWdlIGNvbGxlY3Rpb24gdHJpZ2dlcnMsIHNjaGVkdWxlIHlvdXIgZ2FyYmFnZSBjb2xsZWN0aW9uIHZpYSBhIGNyb24gam9iLAogICBvciBhbm90aGVyIHNjaGVkdWxpbmcgbWVjaGFuaXNtLCB0byBydW4gZHVyaW5nIG9mZi1wZWFrIGhvdXJzLiBVc2UgdGhlIGBgZ2Nfb3BlcmF0aW9uX2RlbGF5YGAgb3B0aW9uIHRvIGFkZCBkZWxheXMKICAgaW4gYmV0d2VlbiB0aGUgcmVxdWVzdHMgcGVyZm9ybWVkIGZvciB0aGUgZ2FyYmFnZSBjb2xsZWN0aW9uIHByb2Nlc3MuCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/feature-facades.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT09ClN0YXRpYyBDbGllbnQgRmFjYWRlcwo9PT09PT09PT09PT09PT09PT09PT0KCkludHJvZHVjdGlvbgotLS0tLS0tLS0tLS0KClZlcnNpb24gMi40IG9mIHRoZSBBV1MgU0RLIGZvciBQSFAgYWRkcyB0aGUgYWJpbGl0eSB0byBlbmFibGUgYW5kIHVzZSBzdGF0aWMgY2xpZW50ICJmYWNhZGVzIi4gVGhlc2UgZmFjYWRlcyBwcm92aWRlIGFuCmVhc3ksIHN0YXRpYyBpbnRlcmZhY2UgdG8gc2VydmljZSBjbGllbnRzIGF2YWlsYWJsZSBpbiB0aGUgc2VydmljZSBidWlsZGVyLiBGb3IgZXhhbXBsZSwgd2hlbiB3b3JraW5nIHdpdGggYSBub3JtYWwKY2xpZW50IGluc3RhbmNlLCB5b3UgbWlnaHQgaGF2ZSBjb2RlIHRoYXQgbG9va3MgbGlrZSB0aGUgZm9sbG93aW5nOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIEdldCB0aGUgY29uZmlndXJlZCBTMyBjbGllbnQgZnJvbSB0aGUgc2VydmljZSBidWlsZGVyCiAgICAkczMgPSAkYXdzLT5nZXQoJ3MzJyk7CgogICAgLy8gRXhlY3V0ZSB0aGUgQ3JlYXRlQnVja2V0IGNvbW1hbmQgdXNpbmcgdGhlIFMzIGNsaWVudAogICAgJHMzLT5jcmVhdGVCdWNrZXQoYXJyYXkoJ0J1Y2tldCcgPT4gJ3lvdXJfbmV3X2J1Y2tldF9uYW1lJykpOwoKV2l0aCBjbGllbnQgZmFjYWRlcyBlbmFibGVkLCB0aGlzIGNhbiBhbHNvIGJlIGFjY29tcGxpc2hlZCB3aXRoIHRoZSBmb2xsb3dpbmcgY29kZToKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAvLyBFeGVjdXRlIHRoZSBDcmVhdGVCdWNrZXQgY29tbWFuZCB1c2luZyB0aGUgUzMgY2xpZW50CiAgICBTMzo6Y3JlYXRlQnVja2V0KGFycmF5KCdCdWNrZXQnID0+ICd5b3VyX25ld19idWNrZXRfbmFtZScpKTsKCldoeSBVc2UgQ2xpZW50IEZhY2FkZXM/Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgdXNlIG9mIHN0YXRpYyBjbGllbnQgZmFjYWRlcyBpcyBjb21wbGV0ZWx5IG9wdGlvbmFsLiBXZSBoYXZlIGluY2x1ZGVkIHRoaXMgZmVhdHVyZSBpbiB0aGUgU0RLIGluIG9yZGVyIHRvIGFwcGVhbCB0bwpQSFAgZGV2ZWxvcGVycyB3aG8gcHJlZmVyIHN0YXRpYyBub3RhdGlvbiBvciB3aG8gYXJlIGZhbWlsaWFyIHdpdGggUEhQIGZyYW1ld29ya3MgbGlrZSBDb2RlIElnbml0b3IsIExhcmF2ZWwsIG9yIEtvaGFuYQp3aGVyZSB0aGlzIHN0eWxlIG9mIG1ldGhvZCBpbnZvY2F0aW9uIGlzIGNvbW1vbi4KClRob3VnaCB1c2luZyBzdGF0aWMgY2xpZW50IGZhY2FkZXMgaGFzIGxpdHRsZSByZWFsIGJlbmVmaXQgb3ZlciB1c2luZyBjbGllbnQgaW5zdGFuY2VzLCBpdCBjYW4gbWFrZSB5b3VyIGNvZGUgbW9yZQpjb25jaXNlIGFuZCBwcmV2ZW50IHlvdXIgZnJvbSBoYXZpbmcgdG8gaW5qZWN0IHRoZSBzZXJ2aWNlIGJ1aWxkZXIgb3IgY2xpZW50IGluc3RhbmNlIGludG8gdGhlIGNvbnRleHQgb2Ygd2hlcmUgeW91Cm5lZWQgdGhlIGNsaWVudCBvYmplY3QuIFRoaXMgY2FuIG1ha2UgeW91ciBjb2RlIGVhc2llciB0byB3cml0ZSBhbmQgdW5kZXJzdGFuZC4gV2hldGhlciBvciBub3QgeW91IHNob3VsZCB1c2UgdGhlIGNsaWVudApmYWNhZGVzIGlzIHB1cmVseSBhIG1hdHRlciBvZiBwcmVmZXJlbmNlLgoKVGhlIHdheSBpbiB3aGljaCBjbGllbnQgZmFjYWRlcyB3b3JrIGluIHRoZSBBV1MgU0RLIGZvciBQSFAgaXMgc2ltaWxhciB0byBob3cgYGZhY2FkZXMgd29yayBpbiB0aGUgTGFyYXZlbCA0CkZyYW1ld29yayA8aHR0cDovL2xhcmF2ZWwuY29tL2RvY3MvZmFjYWRlcz5gXy4gRXZlbiB0aG91Z2ggeW91IGFyZSBjYWxsaW5nIHN0YXRpYyBjbGFzc2VzLCBhbGwgb2YgdGhlIG1ldGhvZCBjYWxscyBhcmUKcHJveGllZCB0byBtZXRob2QgY2FsbHMgb24gYWN0dWFsIGNsaWVudCBpbnN0YW5jZXMg4oCUIHRoZSBvbmVzIHN0b3JlZCBpbiB0aGUgc2VydmljZSBidWlsZGVyLiBUaGlzIG1lYW5zIHRoYXQgdGhlIHVzYWdlCm9mIHRoZSBjbGllbnRzIHZpYSB0aGUgY2xpZW50IGZhY2FkZXMgY2FuIHN0aWxsIGJlIG1vY2tlZCBpbiB5b3VyIHVuaXQgdGVzdHMsIHdoaWNoIHJlbW92ZXMgb25lIG9mIHRoZSBnZW5lcmFsCmRpc2FkdmFudGFnZXMgdG8gdXNpbmcgc3RhdGljIGNsYXNzZXMgaW4gb2JqZWN0LW9yaWVudGVkIHByb2dyYW1taW5nLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaG93IHRvIHRlc3QgY29kZSB0aGF0IHVzZXMKY2xpZW50IGZhY2FkZXMsIHBsZWFzZSBzZWUgdGhlICoqVGVzdGluZyBDb2RlIHRoYXQgVXNlcyBDbGllbnQgRmFjYWRlcyoqCmJlbG93LgoKRW5hYmxpbmcgYW5kIFVzaW5nIENsaWVudCBGYWNhZGVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVG8gZW5hYmxlIHN0YXRpYyBjbGllbnQgZmFjYWRlcyB0byBiZSB1c2VkIGluIHlvdXIgYXBwbGljYXRpb24sIHlvdSBtdXN0IHVzZSB0aGUgYGBBd3NcQ29tbW9uXEF3czo6ZW5hYmxlRmFjYWRlc2BgCm1ldGhvZCB3aGVuIHlvdSBzZXR1cCB0aGUgc2VydmljZSBidWlsZGVyLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIEluY2x1ZGUgdGhlIENvbXBvc2VyIGF1dG9sb2FkZXIKICAgIHJlcXVpcmUgJ3ZlbmRvci9hdXRvbG9hZC5waHAnOwoKICAgIC8vIEluc3RhbnRpYXRlIHRoZSBTREsgc2VydmljZSBidWlsZGVyIHdpdGggbXkgY29uZmlnIGFuZCBlbmFibGUgZmFjYWRlcwogICAgJGF3cyA9IEF3czo6ZmFjdG9yeSgnL3BhdGgvdG8vbXlfY29uZmlnLnBocCcpLT5lbmFibGVGYWNhZGVzKCk7CgpUaGlzIHdpbGwgc2V0dXAgdGhlIGNsaWVudCBmYWNhZGVzIGFuZCBhbGlhcyB0aGVtIGludG8gdGhlIGdsb2JhbCBuYW1lc3BhY2UuIEFmdGVyIHRoYXQsIHlvdSBjYW4gdXNlIHRoZW0gYW55d2hlcmUgdG8KaGF2ZSBtb3JlIHNpbXBsZSBhbmQgZXhwcmVzc2l2ZSBjb2RlIGZvciBpbnRlcmFjdGluZyB3aXRoIEFXUyBzZXJ2aWNlcy4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAvLyBMaXN0IGN1cnJlbnQgYnVja2V0cwogICAgZWNobyAiQ3VycmVudCBCdWNrZXRzOlxuIjsKICAgIGZvcmVhY2ggKFMzOjpnZXRMaXN0QnVja2V0c0l0ZXJhdG9yKCkgYXMgJGJ1Y2tldCkgewogICAgICAgIGVjaG8gInskYnVja2V0WydOYW1lJ119XG4iOwogICAgfQoKICAgICRhcmdzID0gYXJyYXkoJ0J1Y2tldCcgPT4gJ3lvdXJfbmV3X2J1Y2tldF9uYW1lJyk7CiAgICAkZmlsZSA9ICcvcGF0aC90by90aGUvZmlsZS90by91cGxvYWQuanBnJzsKCiAgICAvLyBDcmVhdGUgYSBuZXcgYnVja2V0IGFuZCB3YWl0IHVudGlsIGl0IGlzIGF2YWlsYWJsZSBmb3IgdXBsb2FkcwogICAgUzM6OmNyZWF0ZUJ1Y2tldCgkYXJncykgYW5kIFMzOjp3YWl0VW50aWxCdWNrZXRFeGlzdHMoJGFyZ3MpOwogICAgZWNobyAiXG5DcmVhdGVkIGEgbmV3IGJ1Y2tldDogeyRhcmdzWydCdWNrZXQnXX0uXG4iOwoKICAgIC8vIFVwbG9hZCBhIGZpbGUgdG8gdGhlIG5ldyBidWNrZXQKICAgICRyZXN1bHQgPSBTMzo6cHV0T2JqZWN0KCRhcmdzICsgYXJyYXkoCiAgICAgICAgJ0tleScgID0+IGJhc2VuYW1lKCRmaWxlKSwKICAgICAgICAnQm9keScgPT4gZm9wZW4oJGZpbGUsICdyJyksCiAgICApKTsKICAgIGVjaG8gIlxuQ3JlYXRlZCBhIG5ldyBvYmplY3Q6IHskcmVzdWx0WydPYmplY3RVUkwnXX1cbiI7CgpZb3UgY2FuIGFsc28gbW91bnQgdGhlIGZhY2FkZXMgaW50byBhIG5hbWVzcGFjZSBvdGhlciB0aGFuIHRoZSBnbG9iYWwgbmFtZXNwYWNlLiBGb3IgZXhhbXBsZSwgaWYgeW91IHdhbnRlZCB0byBtYWtlIHRoZQpjbGllbnQgZmFjYWRlcyBhdmFpbGFibGUgaW4gdGhlICJTZXJ2aWNlcyIgbmFtZXNwYWNlLCB0aGVuIHlvdSBjb3VsZCBkbyB0aGUgZm9sbG93aW5nOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIEF3czo6ZmFjdG9yeSgnL3BhdGgvdG8vbXlfY29uZmlnLnBocCcpLT5lbmFibGVGYWNhZGVzKCdTZXJ2aWNlcycpOwoKICAgICRyZXN1bHQgPSBTZXJ2aWNlc1xEeW5hbW9EYjo6bGlzdFRhYmxlcygpOwoKVGhlIGNsaWVudCBmYWNhZGVzIHRoYXQgYXJlIGF2YWlsYWJsZSBhcmUgZGV0ZXJtaW5lZCBieSB3aGF0IGlzIGluIHlvdXIgc2VydmljZSBidWlsZGVyIGNvbmZpZ3VyYXRpb24gKHNlZQo6ZG9jOmBjb25maWd1cmF0aW9uYCkuIElmIHlvdSBhcmUgZXh0ZW5kaW5nIHRoZSBTREsncyBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZmlsZSBvciBub3QgcHJvdmlkaW5nIG9uZSBhdCBhbGwsIHRoZW4gYWxsCm9mIHRoZSBjbGllbnRzIHNob3VsZCBiZSBhY2Nlc3NpYmxlIGZyb20gdGhlIHNlcnZpY2UgYnVpbGRlciBpbnN0YW5jZSBhbmQgY2xpZW50IGZhY2FkZXMgKG9uY2UgZW5hYmxlZCkgYnkgZGVmYXVsdC4KCkJhc2VkIG9uIHRoZSBmb2xsb3dpbmcgZXhjZXJwdCBmcm9tIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZmlsZSAobG9jYXRlZCBhdApgYHNyYy9Bd3MvQ29tbW9uL1Jlc291cmNlcy9hd3MtY29uZmlnLnBocGBgKToKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAnczMnID0+IGFycmF5KAogICAgICAgICdhbGlhcycgICA9PiAnUzMnLAogICAgICAgICdleHRlbmRzJyA9PiAnZGVmYXVsdF9zZXR0aW5ncycsCiAgICAgICAgJ2NsYXNzJyAgID0+ICdBd3NcUzNcUzNDbGllbnQnCiAgICApLAoKVGhlIGBgJ2NsYXNzJ2BgIGtleSBpbmRpY2F0ZXMgdGhlIGNsaWVudCBjbGFzcyB0aGF0IHRoZSBzdGF0aWMgY2xpZW50IGZhY2FkZSB3aWxsIHByb3h5IHRvLCBhbmQgdGhlIGBgJ2FsaWFzJ2BgIGtleQppbmRpY2F0ZXMgd2hhdCB0aGUgY2xpZW50IGZhY2FkZSB3aWxsIGJlIG5hbWVkLiBPbmx5IGVudHJpZXMgaW4gdGhlIHNlcnZpY2UgYnVpbGRlciBjb25maWcgdGhhdCBoYXZlIGJvdGggdGhlCmBgJ2FsaWFzJ2BgIGFuZCBgYCdjbGFzcydgYCBrZXlzIHNwZWNpZmllZCB3aWxsIGJlIG1vdW50ZWQgYXMgc3RhdGljIGNsaWVudCBmYWNhZGVzLiBZb3UgY2FuIHBvdGVudGlhbGx5IHVwZGF0ZSBvciBhZGQKdG8geW91ciBzZXJ2aWNlIGJ1aWxkZXIgY29uZmlnIHRvIGFsdGVyIG9yIGNyZWF0ZSBuZXcgb3IgY3VzdG9tIGNsaWVudCBmYWNhZGVzLgoKVGVzdGluZyBDb2RlIHRoYXQgVXNlcyBDbGllbnQgRmFjYWRlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpXaXRoIHRoZSBzdGF0aWMgY2xpZW50IGZhY2FkZXMgaW4gdGhlIFNESywgZXZlbiB0aG91Z2ggeW91IGFyZSBjYWxsaW5nIHN0YXRpYyBjbGFzc2VzLCBhbGwgb2YgdGhlIG1ldGhvZCBjYWxscyBhcmUKcHJveGllZCB0byBtZXRob2QgY2FsbHMgb24gYWN0dWFsIGNsaWVudCBpbnN0YW5jZXMg4oCUIHRoZSBvbmVzIHN0b3JlZCBpbiB0aGUgc2VydmljZSBidWlsZGVyLiBUaGlzIG1lYW5zIHRoYXQgdGhleSBjYW4KYmUgbW9ja2VkIGR1cmluZyB0ZXN0cywgd2hpY2ggcmVtb3ZlcyBvbmUgb2YgdGhlIGdlbmVyYWwgZGlzYWR2YW50YWdlcyB0byB1c2luZyBzdGF0aWMgY2xhc3NlcyBpbiBvYmplY3Qtb3JpZW50ZWQKcHJvZ3JhbW1pbmcuCgpUbyBtb2NrIGEgY2xpZW50IGZhY2FkZSBmb3IgYSB0ZXN0LCB5b3UgY2FuIGV4cGxpY2l0bHkgc2V0IGEgbW9ja2VkIGNsaWVudCBvYmplY3QgZm9yIHRoZSBrZXkgaW4gdGhlIHNlcnZpY2UgYnVpbGRlcgp0aGF0IHdvdWxkIG5vcm1hbGx5IGNvbnRhaW4gdGhlIGNsaWVudCByZWZlcmVuY2VkIGJ5IHRoZSBjbGllbnQgZmFjYWRlLiBIZXJlIGlzIGEgY29tcGxldGUsIGJ1dCBjb250cml2ZWQsIFBIUFVuaXQgdGVzdApzaG93aW5nIGhvdyB0aGlzIGlzIGRvbmU6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgPD9waHAKCiAgICB1c2UgQXdzXENvbW1vblxBd3M7CiAgICB1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CiAgICB1c2UgWW91ckFwcFxUaGluZ3NcRmlsZUJyb3dzZXI7CgogICAgY2xhc3MgU29tZUtpbmRPZkZpbGVCcm93c2VyVGVzdCBleHRlbmRzIFBIUFVuaXRfRnJhbWV3b3JrX1Rlc3RDYXNlCiAgICB7CiAgICAgICAgcHJpdmF0ZSAkc2VydmljZUJ1aWxkZXI7CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+c2VydmljZUJ1aWxkZXIgPSBBd3M6OmZhY3RvcnkoKTsKICAgICAgICAgICAgJHRoaXMtPnNlcnZpY2VCdWlsZGVyLT5lbmFibGVGYWNhZGVzKCk7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkRvU29tZXRoaW5nV2l0aFlvdXJBcHBzRmlsZUJyb3dzZXJDbGFzcygpCiAgICAgICAgewogICAgICAgICAgICAvLyBNb2NrIHRoZSBMaXN0QnVja2V0cyBtZXRob2Qgb2YgUzMgY2xpZW50CiAgICAgICAgICAgICRtb2NrUzNDbGllbnQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xTM1xTM0NsaWVudCcpCiAgICAgICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICAgICAkbW9ja1MzQ2xpZW50LT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgICAgIC0+bWV0aG9kKCdsaXN0QnVja2V0cycpCiAgICAgICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKG5ldyBNb2RlbChhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQnVja2V0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdOYW1lJyA9PiAnZm9vJyksCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdOYW1lJyA9PiAnYmFyJyksCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdOYW1lJyA9PiAnYmF6JykKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApKSkpOwogICAgICAgICAgICAkdGhpcy0+c2VydmljZUJ1aWxkZXItPnNldCgnczMnLCAkbW9ja1MzQ2xpZW50KTsKCiAgICAgICAgICAgIC8vIFRlc3QgdGhlIEZpbGVCcm93c2VyIG9iamVjdCB0aGF0IHVzZXMgdGhlIFMzIGNsaWVudCBmYWNhZGUgaW50ZXJuYWxseQogICAgICAgICAgICAkZmlsZUJyb3dzZXIgPSBuZXcgRmlsZUJyb3dzZXIoKTsKICAgICAgICAgICAgJHBhcnRpdGlvbnMgPSAkZmlsZUJyb3dzZXItPmdldFBhcnRpdGlvbnMoKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnZm9vJywgJ2JhcicsICdiYXonKSwgJHBhcnRpdGlvbnMpOwogICAgICAgIH0KICAgIH0KCkFsdGVybmF0aXZlbHksIGlmIHlvdSBhcmUgc3BlY2lmaWNhbGx5IG9ubHkgbW9ja2luZyByZXNwb25zZXMgZnJvbSBjbGllbnRzLCB5b3UgbWlnaHQgY29uc2lkZXIgdXNpbmcgdGhlIGBHdXp6bGUgTW9jawpQbHVnaW4gPGh0dHA6Ly9ndXp6bGVwaHAub3JnL3BsdWdpbnMvbW9jay1wbHVnaW4uaHRtbD5gXy4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/feature-iterators.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09Ckl0ZXJhdG9ycwo9PT09PT09PT0KCkludHJvZHVjdGlvbgotLS0tLS0tLS0tLS0KCi4uIGluY2x1ZGU6OiBfc25pcHBldHMvaXRlcmF0b3JzLWludHJvLnR4dAoKClRoZSAiYGBnZXRb4oCmXUl0ZXJhdG9yYGAiIG1ldGhvZHMgYXJlIGFsbCBpbXBsZW1lbnRlZCB2aWEgdGhlIGBgX19jYWxsYGAgbWFnaWMgbWV0aG9kLCBhbmQgYXJlIGEgbW9yZSBkaXNjb3ZlcmFibGUKc2hvcnRjdXQgdG8gdXNpbmcgdGhlIGNvbmNyZXRlIGBgZ2V0SXRlcmF0b3IoKWBgIG1ldGhvZCwgc2luY2UgbWFueSBJREVzIGNhbiBhdXRvLWNvbXBsZXRlIG1ldGhvZHMgZGVmaW5lZCB1c2luZyB0aGUKYGBAbWV0aG9kYGAgYW5ub3RhdGlvbi4gVGhlIGZvbGxvd2luZyBjb2RlIHVzZXMgdGhlIGBgZ2V0SXRlcmF0b3IoKWBgIG1ldGhvZCwgYnV0IGlzIGVxdWl2YWxlbnQgdG8gdGhlIHByZXZpb3VzIGNvZGUKc2FtcGxlLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRpdGVyYXRvciA9ICRjbGllbnQtPmdldEl0ZXJhdG9yKCdMaXN0T2JqZWN0cycsIGFycmF5KCdCdWNrZXQnID0+ICdteS1idWNrZXQnKSk7CgogICAgZm9yZWFjaCAoJGl0ZXJhdG9yIGFzICRvYmplY3QpIHsKICAgICAgICBlY2hvICRvYmplY3RbJ0tleSddIC4gIlxuIjsKICAgIH0KClRoZSBgYGdldEl0ZXJhdG9yKClgYCBtZXRob2QgYWxzbyBhY2NlcHRzIGEgY29tbWFuZCBvYmplY3QgZm9yIHRoZSBmaXJzdCBhcmd1bWVudC4gSWYgeW91IGhhdmUgYSBjb21tYW5kIG9iamVjdCBhbHJlYWR5Cmluc3RhbnRpYXRlZCwgeW91IGNhbiBjcmVhdGUgYW4gaXRlcmF0b3IgZGlyZWN0bHkgZnJvbSB0aGUgY29tbWFuZCBvYmplY3QuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGNvbW1hbmQgPSAkY2xpZW50LT5nZXRDb21tYW5kKCdMaXN0T2JqZWN0cycsIGFycmF5KCdCdWNrZXQnID0+ICdteS1idWNrZXQnKSk7CiAgICAkaXRlcmF0b3IgPSAkY2xpZW50LT5nZXRJdGVyYXRvcigkY29tbWFuZCk7CgpJdGVyYXRvciBPYmplY3RzCi0tLS0tLS0tLS0tLS0tLS0KClRoZSBhY3R1YWwgb2JqZWN0IHJldHVybmVkIGJ5IGBgZ2V0SXRlcmF0b3IoKWBgLCBhbmQgYW55IGBgZ2V0W+KApl1JdGVyYXRvcigpYGAgbWV0aG9kLCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUKYGBBd3NcQ29tbW9uXEl0ZXJhdG9yXEF3c1Jlc291cmNlSXRlcmF0b3JgYCBjbGFzcyAoc2VlIHRoZQpgQVBJIGRvY3MgPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuQ29tbW9uLkl0ZXJhdG9yLkF3c1Jlc291cmNlSXRlcmF0b3IuaHRtbD5gXyBmb3IKbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBpdHMgbWV0aG9kcyBhbmQgcHJvcGVydGllcykuIFRoaXMgY2xhc3MgaW1wbGVtZW50cyBQSFAncyBuYXRpdmUgYGBJdGVyYXRvcmBgIGludGVyZmFjZSwgd2hpY2ggaXMKd2h5IGl0IHdvcmtzIHdpdGggYGBmb3JlYWNoYGAsIGNhbiBiZSB1c2VkIHdpdGggaXRlcmF0b3IgZnVuY3Rpb25zIGxpa2UgYGBpdGVyYXRvcl90b19hcnJheWBgLCBhbmQgaW50ZWdyYXRlcyB3ZWxsIHdpdGgKYFNQTCBpdGVyYXRvcnMgPGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vc3BsLml0ZXJhdG9ycy5waHA+YF8gbGlrZSBgYExpbWl0SXRlcmF0b3JgYC4KCkl0ZXJhdG9yIG9iamVjdHMgb25seSBzdG9yZSBvbmUgInBhZ2UiIG9mIHJlc3VsdHMgYXQgYSB0aW1lIGFuZCBvbmx5IG1ha2UgYXMgbWFueSByZXF1ZXN0cyBhcyB0aGV5IG5lZWQgYmFzZWQgb24gdGhlCmN1cnJlbnQgaXRlcmF0aW9uLiBUaGUgUzMgYGBMaXN0T2JqZWN0c2BgIG9wZXJhdGlvbiBvbmx5IHJldHVybnMgdXAgdG8gMTAwMCBvYmplY3RzIGF0IGEgdGltZS4gSWYgeW91ciBidWNrZXQgaGFzIH4xMDAwMApvYmplY3RzLCB0aGVuIHRoZSBpdGVyYXRvciB3b3VsZCBuZWVkIHRvIGRvIDEwIHJlcXVlc3RzLiBIb3dldmVyLCBpdCBkb2VzIG5vdCBleGVjdXRlIHRoZSBzdWJzZXF1ZW50IHJlcXVlc3RzIHVudGlsCm5lZWRlZC4gSWYgeW91IGFyZSBpdGVyYXRpbmcgdGhyb3VnaCB0aGUgcmVzdWx0cywgdGhlIGZpcnN0IHJlcXVlc3Qgd291bGQgaGFwcGVuIHdoZW4geW91IHN0YXJ0IGl0ZXJhdGluZywgYW5kIHRoZQpzZWNvbmQgcmVxdWVzdCB3b3VsZCBub3QgaGFwcGVuIHVudGlsIHlvdSBpdGVyYXRlIHRvIHRoZSAxMDAxdGggb2JqZWN0LiBUaGlzIGNhbiBoZWxwIHlvdXIgYXBwbGljYXRpb24gc2F2ZSBtZW1vcnkgYnkKb25seSBob2xkaW5nIG9uZSBwYWdlIG9mIHJlc3VsdHMgYXQgYSB0aW1lLgoKQmFzaWMgQ29uZmlndXJhdGlvbgotLS0tLS0tLS0tLS0tLS0tLS0tCgpJdGVyYXRvcnMgYWNjZXB0IGFuIGV4dHJhIHNldCBvZiBwYXJhbWV0ZXJzIHRoYXQgYXJlIG5vdCBwYXNzZWQgaW50byB0aGUgY29tbWFuZHMuIFlvdSBjYW4gc2V0IGEgbGltaXQgb24gdGhlIG51bWJlciBvZgpyZXN1bHRzIHlvdSB3YW50IHdpdGggdGhlIGBgbGltaXRgYCBwYXJhbWV0ZXIsIGFuZCB5b3UgY2FuIGNvbnRyb2wgaG93IG1hbnkgcmVzdWx0cyB5b3Ugd2FudCB0byBnZXQgYmFjayBwZXIgcmVxdWVzdAp1c2luZyB0aGUgYGBwYWdlX3NpemVgYCBwYXJhbWV0ZXIuIElmIG5vIGBgbGltaXRgYCBpcyBzcGVjaWZpZWQsIHRoZW4gYWxsIHJlc3VsdHMgYXJlIHJldHJpZXZlZC4gSWYgbm8gYGBwYWdlX3NpemVgYCBpcwpzcGVjaWZpZWQsIHRoZW4gdGhlIGl0ZXJhdG9yIHdpbGwgdXNlIHRoZSBtYXhpbXVtIHBhZ2Ugc2l6ZSBhbGxvd2VkIGJ5IHRoZSBvcGVyYXRpb24gYmVpbmcgZXhlY3V0ZWQuCgpUaGUgZm9sbG93aW5nIGV4YW1wbGUgd2lsbCBtYWtlIDEwIEFtYXpvbiBTMyBgYExpc3RPYmplY3RzYGAgcmVxdWVzdHMgKGFzc3VtaW5nIHRoZXJlIGFyZSBtb3JlIHRoYW4gMTAwMCBvYmplY3RzIGluIHRoZQpzcGVjaWZpZWQgYnVja2V0KSB0aGF0IGVhY2ggcmV0dXJuIHVwIHRvIDEwMCBvYmplY3RzLiBUaGUgYGBmb3JlYWNoYGAgbG9vcCB3aWxsIHlpZWxkIHVwIHRvIDk5OSBvYmplY3RzLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRpdGVyYXRvciA9ICRjbGllbnQtPmdldExpc3RPYmplY3RzSXRlcmF0b3IoYXJyYXkoCiAgICAgICAgJ0J1Y2tldCcgPT4gJ215LWJ1Y2tldCcKICAgICksIGFycmF5KAogICAgICAgICdsaW1pdCcgICAgID0+IDk5OSwKICAgICAgICAncGFnZV9zaXplJyA9PiAxMDAKICAgICkpOwoKICAgIGZvcmVhY2ggKCRpdGVyYXRvciBhcyAkb2JqZWN0KSB7CiAgICAgICAgZWNobyAkb2JqZWN0WydLZXknXSAuICJcbiI7CiAgICB9CgpUaGVyZSBhcmUgc29tZSBsaW1pdGF0aW9ucyB0byB0aGUgYGBsaW1pdGBgIGFuZCBgYHBhZ2Vfc2l6ZWBgIHBhcmFtZXRlcnMgdGhvdWdoLiBOb3QgYWxsIG9wZXJhdGlvbnMgc3VwcG9ydCBzcGVjaWZ5aW5nCmEgcGFnZSBzaXplIG9yIGxpbWl0LCBzbyB0aGUgaXRlcmF0b3Igd2lsbCBkbyBpdHMgYmVzdCB3aXRoIHdoYXQgeW91IHByb3ZpZGUuIEZvciBleGFtcGxlLCBpZiBhbiBvcGVyYXRpb24gYWx3YXlzCnJldHVybnMgMTAwMCByZXN1bHRzLCBhbmQgeW91IHNwZWNpZnkgYSBsaW1pdCBvZiAxMDAsIHRoZSBpdGVyYXRvciB3aWxsIG9ubHkgeWllbGQgMTAwIHJlc3VsdHMsIGV2ZW4gdGhvdWdoIHRoZSBhY3R1YWwKcmVxdWVzdCBzZW50IHRvIHRoZSBzZXJ2aWNlIHlpZWxkZWQgMTAwMC4KCkl0ZXJhdG9yIEV2ZW50cwotLS0tLS0tLS0tLS0tLS0KCkl0ZXJhdG9ycyBlbWl0IDIga2luZHMgb2YgZXZlbnRzOgoKMS4gYGByZXNvdXJjZV9pdGVyYXRvci5iZWZvcmVfc2VuZGBgIC0gRW1pdHRlZCByaWdodCBiZWZvcmUgYSByZXF1ZXN0IGlzIHNlbnQgdG8gcmV0cmlldmUgcmVzdWx0cy4KMi4gYGByZXNvdXJjZV9pdGVyYXRvci5hZnRlcl9zZW5kYGAgLSBFbWl0dGVkIHJpZ2h0IGFmdGVyIGEgcmVxdWVzdCBpcyBzZW50IHRvIHJldHJpZXZlIHJlc3VsdHMuCgpJdGVyYXRvciBvYmplY3RzIGV4dGVuZCB0aGUgYGBHdXp6bGVcQ29tbW9uXEFic3RyYWN0SGFzRGlzcGF0Y2hlcmBgIGNsYXNzIHdoaWNoIGV4cG9zZXMgdGhlIGBgYWRkU3Vic2NyaWJlcigpYGAgbWV0aG9kCmFuZCB0aGUgYGBnZXRFdmVudERpc3BhdGNoZXIoKWBgIG1ldGhvZC4gVG8gYXR0YWNoIGxpc3RlbmVycywgeW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBleGFtcGxlIHdoaWNoIGVjaG9lcyBhIG1lc3NhZ2UKcmlnaHQgYmVmb3JlIGFuZCBhZnRlciBhIHJlcXVlc3QgaXMgZXhlY3V0ZWQgYnkgdGhlIGl0ZXJhdG9yLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRpdGVyYXRvciA9ICRjbGllbnQtPmdldExpc3RPYmplY3RzSXRlcmF0b3IoYXJyYXkoCiAgICAgICAgJ0J1Y2tldCcgPT4gJ215LWJ1Y2tldCcKICAgICkpOwoKICAgIC8vIEdldCB0aGUgZXZlbnQgZGlzcGF0Y2hlciBhbmQgcmVnaXN0ZXIgbGlzdGVuZXJzIGZvciBib3RoIGV2ZW50cwogICAgJGRpc3BhdGNoZXIgPSAkaXRlcmF0b3ItPmdldEV2ZW50RGlzcGF0Y2hlcigpOwogICAgJGRpc3BhdGNoZXItPmFkZExpc3RlbmVyKCdyZXNvdXJjZV9pdGVyYXRvci5iZWZvcmVfc2VuZCcsIGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBlY2hvICJHZXR0aW5nIG1vcmUgcmVzdWx0c+KAplxuIjsKICAgIH0pOwogICAgJGRpc3BhdGNoZXItPmFkZExpc3RlbmVyKCdyZXNvdXJjZV9pdGVyYXRvci5hZnRlcl9zZW5kJywgZnVuY3Rpb24gKCRldmVudCkgdXNlICgkaXRlcmF0b3IpIHsKICAgICAgICAkcmVxdWVzdENvdW50ID0gJGl0ZXJhdG9yLT5nZXRSZXF1ZXN0Q291bnQoKTsKICAgICAgICBlY2hvICJSZXN1bHRzIHJlY2VpdmVkLiB7JHJlcXVlc3RDb3VudH0gcmVxdWVzdChzKSBtYWRlIHNvIGZhci5cbiI7CiAgICB9KTsKCiAgICBmb3JlYWNoICgkaXRlcmF0b3IgYXMgJG9iamVjdCkgewogICAgICAgIGVjaG8gJG9iamVjdFsnS2V5J10gLiAiXG4iOwogICAgfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/feature-models.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09ClJlc3BvbnNlIE1vZGVscwo9PT09PT09PT09PT09PT0KCkludHJvZHVjdGlvbgotLS0tLS0tLS0tLS0KCi4uIGluY2x1ZGU6OiBfc25pcHBldHMvbW9kZWxzLWludHJvLnR4dAoKV29ya2luZyB3aXRoIE1vZGVsIE9iamVjdHMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vZGVsIG9iamVjdHMgKGFuZCBDb21tYW5kIG9iamVjdHMpIGluaGVyaXQgZnJvbSB0aGUgYEd1enpsZSBDb2xsZWN0aW9uIGNsYXNzCjxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtR3V6emxlLkNvbW1vbi5Db2xsZWN0aW9uLmh0bWw+YF8gYW5kIGltcGxlbWVudCBQSFAncyBuYXRpdmUKYGBBcnJheUFjY2Vzc2BgLCBgYEl0ZXJhdG9yQWdncmVnYXRlYGAsIGFuZCBgYENvdW50YWJsZWBgIGludGVyZmFjZXMuIFRoaXMgbWVhbnMgdGhhdCB0aGV5IGJlaGF2ZSBsaWtlIGFycmF5cyB3aGVuIHlvdQphcmUgYWNjZXNzaW5nIGtleXMgYW5kIGl0ZXJhdGluZyBvdmVyIGtleS12YWx1ZSBwYWlycy4gWW91IGNhbiBhbHNvIHVzZSB0aGUgYGB0b0FycmF5KClgYCBtZXRob2Qgb2YgdGhlIE1vZGVsIG9iamVjdCB0bwpnZXQgdGhlIGFycmF5IGZvcm0gZGlyZWN0bHkuCgpIb3dldmVyLCBtb2RlbCBvYmplY3RzIHdpbGwgbm90IHRocm93IGVycm9ycyBvbiB1bmRlZmluZWQga2V5cywgc28gaXQncyBzYWZlIHRvIHVzZSB2YWx1ZXMgZGlyZWN0bHkgd2l0aG91dCBkb2luZwpgYGlzc2V0KClgYCBjaGVja3MuIEl0IHRoZSBrZXkgZG9lc24ndCBleGlzdCwgdGhlbiB0aGUgdmFsdWUgd2lsbCBiZSByZXR1cm5lZCBhcyBgYG51bGxgYC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAvLyBVc2luZyBhIHZhbHVlIHRoYXQgbWF5IG5vdCBleGlzdAogICAgaWYgKCEkcmVzdWx0WydDb250ZW50TGVuZ3RoJ10pIHsKICAgICAgICBlY2hvICJFbXB0eSBmaWxlLiI7CiAgICB9CgogICAgJGlzRGVsZXRlZCA9IChib29sKSAkcmVzdWx0LT5nZXQoJ0RlbGV0ZU1hcmtlcicpOwoKT2YgY291cnNlLCB5b3UgY2FuIHN0aWxsIHVzZSBgYGlzc2V0KClgYCBjaGVja3MgaWYgeW91IHdhbnQgdG8sIHNpbmNlIGBgTW9kZWxgYCBkb2VzIGltcGxlbWVudCBgYEFycmF5QWNjZXNzYGAuIFRoZQptb2RlbCBvYmplY3QgKGFuZCB1bmRlcmx5aW5nIENvbGxlY3Rpb24gb2JqZWN0KSBhbHNvIGhhcyBjb252ZW5pZW5jZSBtZXRob2RzIGZvciBmaW5kaW5nIGFuZCBjaGVja2luZyBmb3Iga2V5cyBhbmQKdmFsdWVzLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIFlvdSBjYW4gdXNlIGlzc2V0KCkgc2luY2UgdGhlIG9iamVjdCBpbXBsZW1lbnRzIEFycmF5QWNjZXNzCiAgICBpZiAoIWlzc2V0KCRyZXN1bHRbJ0NvbnRlbnRMZW5ndGgnXSkpIHsKICAgICAgICBlY2hvICJFbXB0eSBmaWxlLiI7CiAgICB9CgogICAgLy8gVGhlcmUgaXMgYWxzbyBhIG1ldGhvZCB0aGF0IGRvZXMgdGhlIHNhbWUgdHlwZSBvZiBjaGVjawogICAgaWYgKCEkcmVzdWx0LT5oYXNLZXkoJ0NvbnRlbnRMZW5ndGgnKSkgewogICAgICAgIGVjaG8gIkVtcHR5IGZpbGUuIjsKICAgIH0KCiAgICAvLyBJZiBuZWVkZWQsIHlvdSBjYW4gc2VhcmNoIGZvciBhIGtleSBpbiBhIGNhc2UtaW5zZW5zaXRpdmUgbWFubmVyCiAgICBlY2hvICRyZXN1bHQtPmtleVNlYXJjaCgnYm9keScpOwogICAgLy8+IEJvZHkKICAgIGVjaG8gJHJlc3VsdC0+a2V5U2VhcmNoKCdCb2R5Jyk7CiAgICAvLz4gQm9keQoKICAgIC8vIFlvdSBjYW4gYWxzbyBsaXN0IGFsbCBvZiB0aGUga2V5cyBpbiB0aGUgcmVzdWx0CiAgICB2YXJfZXhwb3J0KCRyZXN1bHQtPmdldEtleXMoKSk7CiAgICAvLz4gYXJyYXkgKCAnQm9keScsICdEZWxldGVNYXJrZXInLCAnRXhwaXJhdGlvbicsICdDb250ZW50TGVuZ3RoJywgLi4uICkKCiAgICAvLyBUaGUgZ2V0QWxsKCkgbWV0aG9kIHdpbGwgcmV0dXJuIHRoZSByZXN1bHQgZGF0YSBhcyBhbiBhcnJheQogICAgLy8gWW91IGNhbiBzcGVjaWZ5IGEgc2V0IG9mIGtleXMgdG8gb25seSBnZXQgYSBzdWJzZXQgb2YgdGhlIGRhdGEKICAgIHZhcl9leHBvcnQoJHJlc3VsdC0+Z2V0QWxsKGFycmF5KCdCb2R5JywgJ0NvbnRlbnRMZW5ndGgnKSkpOwogICAgLy8+IGFycmF5ICggJ0JvZHknID0+ICdIZWxsbyEnICwgJ0NvbnRlbnRMZW5ndGgnID0+IDYgKQoKR2V0dGluZyBOZXN0ZWQgVmFsdWVzCn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKVGhlIGBgZ2V0UGF0aCgpYGAgbWV0aG9kIG9mIHRoZSBtb2RlbCBpcyB1c2VmdWwgZm9yIGVhc2lseSBnZXR0aW5nIG5lc3RlZCB2YWx1ZXMgZnJvbSBhIHJlc3BvbnNlLiBUaGUgcGF0aCBpcyBzcGVjaWZpZWQKYXMgYSBzZXJpZXMgb2Yga2V5cyBzZXBhcmF0ZWQgYnkgc2xhc2hlcy4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAvLyBQZXJmb3JtIGEgUnVuSW5zdGFuY2VzIG9wZXJhdGlvbiBhbmQgdHJhdmVyc2UgaW50byB0aGUgcmVzdWx0cyB0byBnZXQgdGhlIEluc3RhbmNlSWQKICAgICRyZXN1bHQgPSAkZWMyQ2xpZW50LT5ydW5JbnN0YW5jZXMoYXJyYXkoCiAgICAgICAgJ0ltYWdlSWQnICAgICAgPT4gJ2FtaS01NDhmMTNkJywKICAgICAgICAnTWluQ291bnQnICAgICA9PiAxLAogICAgICAgICdNYXhDb3VudCcgICAgID0+IDEsCiAgICAgICAgJ0luc3RhbmNlVHlwZScgPT4gJ3QxLm1pY3JvJywKICAgICkpOwogICAgJGluc3RhbmNlSWQgPSAkcmVzdWx0LT5nZXRQYXRoKCdJbnN0YW5jZXMvMC9JbnN0YW5jZUlkJyk7CgpXaWxkY2FyZHMgYXJlIGFsc28gc3VwcG9ydGVkIHNvIHRoYXQgeW91IGNhbiBnZXQgZXh0cmFjdCBhbiBhcnJheSBvZiBkYXRhLiBUaGUgZm9sbG93aW5nIGV4YW1wbGUgaXMgYSBtb2RpZmljYXRpb24gb2YKdGhlIHByZWNlZGluZyBzdWNoIHRoYXQgbXVsdGlwbGUgSW5zdGFuY2VJZHMgY2FuIGJlIHJldHJpZXZlZC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAvLyBQZXJmb3JtIGEgUnVuSW5zdGFuY2VzIG9wZXJhdGlvbiBhbmQgZ2V0IGFuIGFycmF5IG9mIHRoZSBJbnN0YW5jZUlkcyB0aGF0IHdlcmUgY3JlYXRlZAogICAgJHJlc3VsdCA9ICRlYzJDbGllbnQtPnJ1bkluc3RhbmNlcyhhcnJheSgKICAgICAgICAnSW1hZ2VJZCcgICAgICA9PiAnYW1pLTU0OGYxM2QnLAogICAgICAgICdNaW5Db3VudCcgICAgID0+IDMsCiAgICAgICAgJ01heENvdW50JyAgICAgPT4gNSwKICAgICAgICAnSW5zdGFuY2VUeXBlJyA9PiAndDEubWljcm8nLAogICAgKSk7CiAgICAkaW5zdGFuY2VJZCA9ICRyZXN1bHQtPmdldFBhdGgoJ0luc3RhbmNlcy8qL0luc3RhbmNlSWQnKTsKClVzaW5nIERhdGEgaW4gdGhlIE1vZGVsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpSZXNwb25zZSBNb2RlbHMgY29udGFpbiB0aGUgcGFyc2VkIGRhdGEgZnJvbSB0aGUgcmVzcG9uc2UgZnJvbSBhIHNlcnZpY2Ugb3BlcmF0aW9uLCBzbyB0aGUgY29udGVudHMgb2YgdGhlIG1vZGVsIHdpbGwKYmUgZGlmZmVyZW50IGRlcGVuZGluZyBvbiB3aGljaCBvcGVyYXRpb24geW91J3ZlIHBlcmZvcm1lZC4KClRoZSBTREsncyBBUEkgZG9jcyBhcmUgdGhlIGJlc3QgcmVzb3VyY2UgZm9yIGRpc2NvdmVyaW5nIHdoYXQgdGhlIG1vZGVsIG9iamVjdCB3aWxsIGNvbnRhaW4gZm9yIGEgZ2l2ZW4gb3BlcmF0aW9uLiBUaGUKQVBJIGRvY3MgY29udGFpbiBhIGZ1bGwgc3BlY2lmaWNhdGlvbiBvZiB0aGUgZGF0YSBpbiB0aGUgcmVzcG9uc2UgbW9kZWwgdW5kZXIgdGhlICpSZXR1cm5zKiBzZWN0aW9uIG9mIHRoZSBkb2NzIGZvciBhbgpvcGVyYXRpb24gKGUuZy4sIGBTMyBHZXRPYmplY3Qgb3BlcmF0aW9uIDxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLlMzLlMzQ2xpZW50Lmh0bWwjX2dldE9iamVjdD5gXywKYEVDMiBSdW5JbnN0YW5jZXMgb3BlcmF0aW9uIDxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkVjMi5FYzJDbGllbnQuaHRtbCNfcnVuSW5zdGFuY2VzPmBfKS4KCkZyb20gd2l0aGluIHlvdXIgY29kZSB5b3UgY2FuIGNvbnZlcnQgdGhlIHJlc3BvbnNlIG1vZGVsIGRpcmVjdGx5IGludG8gYW4gYXJyYXkgdXNpbmcgdGhlIGBgdG9BcnJheSgpYGAgbWV0aG9kLiBJZiB5b3UKYXJlIGRvaW5nIHNvbWUgZGVidWdnaW5nIGluIHlvdXIgY29kZSwgeW91IGNvdWxkIHVzZSBgYHRvQXJyYXkoKWBgIGluIGNvbmp1bmN0aW9uIHdpdGggYGBwcmludF9yKClgYCB0byBwcmludCBvdXQgYQpzaW1wbGUgcmVwcmVzZW50YXRpb24gb2YgdGhlIHJlc3BvbnNlIGRhdGEuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlc3VsdCA9ICRlYzJDbGllbnQtPnJ1bkluc3RhbmNlcyhhcnJheSgvKiAuLi4gKi8pKTsKICAgIHByaW50X3IoJHJlc3VsdC0+dG9BcnJheSgpKTsKCllvdSBjYW4gYWxzbyBleGFtaW5lIHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uIGZvciBhIHNlcnZpY2UsIHdoaWNoIGlzIGxvY2F0ZWQgaW4gdGhlIGBgUmVzb3VyY2VzYGAgZGlyZWN0b3J5IHdpdGhpbiBhCmdpdmVuIGNsaWVudCdzIG5hbWVzcGFjZSBkaXJlY3RvcnkuIEZvciBleGFtcGxlLCBoZXJlIGlzIGEgc25pcHBldCBmcm9tIHRoZSBTUVMgc2VydmljZSBkZXNjcmlwdGlvbiAobG9jYXRlZCBpbgpgYHNyYy9Bd3MvU3FzL1Jlc291cmNlcy9gYCkgdGhhdCBzaG93cyB0aGUgc2NoZW1hIGZvciB0aGUgcmVzcG9uc2Ugb2YgdGhlIGBgU2VuZE1lc3NhZ2VgYCBvcGVyYXRpb24uCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgICAgICdTZW5kTWVzc2FnZVJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTUQ1T2ZNZXNzYWdlQm9keScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQW4gTUQ1IGRpZ2VzdCBvZiB0aGUgbm9uLVVSTC1lbmNvZGVkIG1lc3NhZ2UgYm9keSBzdHJpbmcuIFRoaXMgY2FuIGJlIHVzZWQgdG8gdmVyaWZ5IHRoYXQgU1FTIHJlY2VpdmVkIHRoZSBtZXNzYWdlIGNvcnJlY3RseS4gU1FTIGZpcnN0IFVSTCBkZWNvZGVzIHRoZSBtZXNzYWdlIGJlZm9yZSBjcmVhdGluZyB0aGUgTUQ1IGRpZ2VzdC4gRm9yIGluZm9ybWF0aW9uIGFib3V0IE1ENSwgZ28gdG8gaHR0cDovL2ZhcXMub3JnL3JmY3MvcmZjMTMyMS5odG1sLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01lc3NhZ2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG1lc3NhZ2UgSUQgb2YgdGhlIG1lc3NhZ2UgYWRkZWQgdG8gdGhlIHF1ZXVlLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCgpMYXN0bHksIGlmIHlvdSBhcmUgZmFtaWxpYXIgd2l0aCBHdXp6bGUgYW5kIEd1enpsZSdzIHNlcnZpY2UgZGVzY3JpcHRpb24gY2xhc3NlcywgeW91IGNhbiBhbHNvIGdldCB0aGUgcGFyYW1ldGVyCnN0cnVjdHVyZXMgZnJvbSB0aGUgbW9kZWwgb2JqZWN0IGJ5IGNhbGxpbmcgYGAkcmVzdWx0LT5nZXRTdHJ1Y3R1cmUoKWBgIChzZWUgdGhlIGBBUEkgZG9jcyBmb3IgdGhlIGdldFN0cnVjdHVyZSBtZXRob2QKPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1HdXp6bGUuU2VydmljZS5SZXNvdXJjZS5Nb2RlbC5odG1sI19nZXRTdHJ1Y3R1cmU+YF8pLgoKR2V0dGluZyBSZXNwb25zZSBIZWFkZXJzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhlIGBgUmVzcG9uc2VgYCBvYmplY3QgaXMgbm90IGRpcmVjdGx5IGFjY2Vzc2libGUgZnJvbSB0aGUgYGBNb2RlbGBgIG9iamVjdC4gSWYgeW91IGFyZSBpbnRlcmVzdGVkIGluIGdldHRpbmcgaGVhZGVyCnZhbHVlcywgdGhlIHN0YXR1cyBjb2RlLCBvciBvdGhlciBkYXRhIGZyb20gdGhlIHJlc3BvbnNlIHlvdSB3aWxsIG5lZWQgdG8gZ2V0IHRoZSBgYFJlc3BvbnNlYGAgb2JqZWN0IGZyb20gdGhlCmBgQ29tbWFuZGBgIG9iamVjdCAoc2VlIHRoZSA6cmVmOmBxcy1leGVjdXRpbmctY29tbWFuZHNgIHNlY3Rpb24gb2YgdGhlICoqUXVpY2sgU3RhcnQqKiBndWlkZSkuIFlvdSBtYXkgbmVlZCB0byBzd2l0Y2gKZnJvbSB1c2luZyB0aGUgc2hvcnRoYW5kIGNvbW1hbmQgc3ludGF4IHRvIHRoZSBleHBhbmRlZCBzeW50YXggc28gdGhhdCB0aGUgY29tbWFuZCBvYmplY3QgY2FuIGJlIGFjY2Vzc2VkIGRpcmVjdGx5LgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIEdldHRpbmcgdGhlIHJlc3BvbnNlIE1vZGVsIHdpdGggdGhlIHNob3J0aGFuZCBzeW50YXgKICAgICRyZXN1bHQgPSAkczNDbGllbnQtPmNyZWF0ZUJ1Y2tldChhcnJheSgvKiAuLi4gKi8pKTsKCiAgICAvLyBHZXR0aW5nIHRoZSByZXNwb25zZSBNb2RlbCB3aXRoIHRoZSBleHBhbmRlZCBzeW50YXgKICAgICRjb21tYW5kID0gJHMzQ2xpZW50LT5nZXRDb21tYW5kKCdDcmVhdGVCdWNrZXQnLCBhcnJheSgvKiAuLi4gKi8pKTsKICAgICRyZXN1bHQgPSAkY29tbWFuZC0+Z2V0UmVzdWx0KCk7CgogICAgLy8gR2V0dGluZyB0aGUgUmVzcG9uc2Ugb2JqZWN0IGZyb20gdGhlIENvbW1hbmQKICAgICRyZXNwb25zZSA9ICRjb21tYW5kLT5nZXRSZXNwb25zZSgpOwogICAgJHJlc3BvbnNlLT5nZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJyk7CiAgICAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKTsKCkluIHNvbWUgY2FzZXMsIHBhcnRpY3VsYXJseSB3aXRoIFJFU1QtbGlrZSBzZXJ2aWNlcyBsaWtlIEFtYXpvbiBTMyBhbmQgQW1hem9uIEdsYWNpZXIsIG1vc3Qgb2YgdGhlIGltcG9ydGFudCBoZWFkZXJzIGFyZQphbHJlYWR5IGluY2x1ZGVkIGluIHRoZSByZXNwb25zZSBtb2RlbC4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/feature-waiters.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PQpXYWl0ZXJzCj09PT09PT0KCkludHJvZHVjdGlvbgotLS0tLS0tLS0tLS0KCi4uIGluY2x1ZGU6OiBfc25pcHBldHMvd2FpdGVycy1pbnRyby50eHQKCklmIHRoZSB3YWl0ZXIgaGFzIHRvIHBvbGwgdGhlIGJ1Y2tldCB0b28gbWFueSB0aW1lcywgaXQgd2lsbCB0aHJvdyBhbiBgYEF3c1xDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb25gYApleGNlcHRpb24uCgpUaGUgImBgd2FpdFVudGlsW+KApl1gYCIgbWV0aG9kcyBhcmUgYWxsIGltcGxlbWVudGVkIHZpYSB0aGUgYGBfX2NhbGxgYCBtYWdpYyBtZXRob2QsIGFuZCBhcmUgYSBtb3JlIGRpc2NvdmVyYWJsZSBzaG9ydGN1dAp0byB1c2luZyB0aGUgY29uY3JldGUgYGB3YWl0VW50aWwoKWBgIG1ldGhvZCwgc2luY2UgbWFueSBJREVzIGNhbiBhdXRvLWNvbXBsZXRlIG1ldGhvZHMgZGVmaW5lZCB1c2luZyB0aGUgYGBAbWV0aG9kYGAKYW5ub3RhdGlvbi4gVGhlIGZvbGxvd2luZyBjb2RlIHVzZXMgdGhlIGBgd2FpdFVudGlsKClgYCBtZXRob2QsIGJ1dCBpcyBlcXVpdmFsZW50IHRvIHRoZSBwcmV2aW91cyBjb2RlIHNhbXBsZS4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY2xpZW50LT53YWl0VW50aWwoJ0J1Y2tldEV4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICdteS1idWNrZXQnKSk7CgpCYXNpYyBDb25maWd1cmF0aW9uCi0tLS0tLS0tLS0tLS0tLS0tLS0KCllvdSBjYW4gdHVuZSB0aGUgbnVtYmVyIG9mIHBvbGxpbmcgYXR0ZW1wdHMgaXNzdWVkIGJ5IGEgd2FpdGVyIG9yIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyB0byBkZWxheSBiZXR3ZWVuIGVhY2ggcG9sbCBieQpwYXNzaW5nIG9wdGlvbmFsIHZhbHVlcyBwcmVmaXhlZCB3aXRoICJ3YWl0ZXIuIjoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY2xpZW50LT53YWl0VW50aWxCdWNrZXRFeGlzdHMoYXJyYXkoCiAgICAgICAgJ0J1Y2tldCcgICAgICAgICAgICAgID0+ICdteS1idWNrZXQnLAogICAgICAgICd3YWl0ZXIuaW50ZXJ2YWwnICAgICA9PiAxMCwKICAgICAgICAnd2FpdGVyLm1heF9hdHRlbXB0cycgPT4gMwogICAgKSk7CgpXYWl0ZXIgT2JqZWN0cwotLS0tLS0tLS0tLS0tLQoKVG8gaW50ZXJhY3Qgd2l0aCB0aGUgd2FpdGVyIG9iamVjdCBkaXJlY3RseSwgeW91IG11c3QgdXNlIHRoZSBgYGdldFdhaXRlcigpYGAgbWV0aG9kLiBUaGUgZm9sbG93aW5nIGNvZGUgaXMgZXF1aXZhbGVudAp0byB0aGUgZXhhbXBsZSBpbiB0aGUgcHJlY2VkaW5nIHNlY3Rpb24uCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGJ1Y2tldEV4aXN0c1dhaXRlciA9ICRjbGllbnQtPmdldFdhaXRlcignQnVja2V0RXhpc3RzJykKICAgICAgICAtPnNldENvbmZpZyhhcnJheSgnQnVja2V0JyA9PiAnbXktYnVja2V0JykpCiAgICAgICAgLT5zZXRJbnRlcnZhbCgxMCkKICAgICAgICAtPnNldE1heEF0dGVtcHRzKDMpOwogICAgJGJ1Y2tldEV4aXN0c1dhaXRlci0+d2FpdCgpOwoKV2FpdGVyIEV2ZW50cwotLS0tLS0tLS0tLS0tCgpPbmUgYmVuZWZpdCBvZiB3b3JraW5nIGRpcmVjdGx5IHdpdGggdGhlIHdhaXRlciBvYmplY3QgaXMgdGhhdCB5b3UgY2FuIGF0dGFjaCBldmVudCBsaXN0ZW5lcnMuIFdhaXRlcnMgZW1pdCB1cCB0byB0d28KZXZlbnRzIGluIGVhY2ggKip3YWl0IGN5Y2xlKiouIEEgd2FpdCBjeWNsZSBkb2VzIHRoZSBmb2xsb3dpbmc6CgojLiBEaXNwYXRjaCB0aGUgYGB3YWl0ZXIuYmVmb3JlX2F0dGVtcHRgYCBldmVudC4KIy4gQXR0ZW1wdCB0byByZXNvbHZlIHRoZSB3YWl0IGNvbmRpdGlvbiBieSBtYWtpbmcgYSByZXF1ZXN0IHRvIHRoZSBzZXJ2aWNlIGFuZCBjaGVja2luZyB0aGUgcmVzdWx0LgojLiBJZiB0aGUgd2FpdCBjb25kaXRpb24gaXMgcmVzb2x2ZWQsIHRoZSB3YWl0IGN5Y2xlIGV4aXRzLiBJZiBgYG1heF9hdHRlbXB0c2BgIGlzIHJlYWNoZWQsIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiMuIERpc3BhdGNoIHRoZSBgYHdhaXRlci5iZWZvcmVfd2FpdGBgIGV2ZW50LgojLiBTbGVlcCBgYGludGVydmFsYGAgYW1vdW50IG9mIHNlY29uZHMuCgpXYWl0ZXIgb2JqZWN0cyBleHRlbmQgdGhlIGBgR3V6emxlXENvbW1vblxBYnN0cmFjdEhhc0Rpc3BhdGNoZXJgYCBjbGFzcyB3aGljaCBleHBvc2VzIHRoZSBgYGFkZFN1YnNjcmliZXIoKWBgIG1ldGhvZCBhbmQKYGBnZXRFdmVudERpc3BhdGNoZXIoKWBgIG1ldGhvZC4gVG8gYXR0YWNoIGxpc3RlbmVycywgeW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBleGFtcGxlLCB3aGljaCBpcyBhIG1vZGlmaWVkIHZlcnNpb24gb2YKdGhlIHByZXZpb3VzIG9uZS4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAvLyBHZXQgYW5kIGNvbmZpZ3VyZSB0aGUgd2FpdGVyIG9iamVjdAogICAgJHdhaXRlciA9ICRjbGllbnQtPmdldFdhaXRlcignQnVja2V0RXhpc3RzJykKICAgICAgICAtPnNldENvbmZpZyhhcnJheSgnQnVja2V0JyA9PiAnbXktYnVja2V0JykpCiAgICAgICAgLT5zZXRJbnRlcnZhbCgxMCkKICAgICAgICAtPnNldE1heEF0dGVtcHRzKDMpOwoKICAgIC8vIEdldCB0aGUgZXZlbnQgZGlzcGF0Y2hlciBhbmQgcmVnaXN0ZXIgbGlzdGVuZXJzIGZvciBib3RoIGV2ZW50cyBlbWl0dGVkIGJ5IHRoZSB3YWl0ZXIKICAgICRkaXNwYXRjaGVyID0gJHdhaXRlci0+Z2V0RXZlbnREaXNwYXRjaGVyKCk7CiAgICAkZGlzcGF0Y2hlci0+YWRkTGlzdGVuZXIoJ3dhaXRlci5iZWZvcmVfYXR0ZW1wdCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICBlY2hvICJDaGVja2luZyBpZiB0aGUgd2FpdCBjb25kaXRpb24gaGFzIGJlZW4gbWV04oCmXG4iOwogICAgfSk7CiAgICAkZGlzcGF0Y2hlci0+YWRkTGlzdGVuZXIoJ3dhaXRlci5iZWZvcmVfd2FpdCcsIGZ1bmN0aW9uICgpIHVzZSAoJHdhaXRlcikgewogICAgICAgICRpbnRlcnZhbCA9ICR3YWl0ZXItPmdldEludGVydmFsKCk7CiAgICAgICAgZWNobyAiU2xlZXBpbmcgZm9yIHskaW50ZXJ2YWx9IHNlY29uZHPigKZcbiI7CiAgICB9KTsKCiAgICAkd2FpdGVyLT53YWl0KCk7CgpDdXN0b20gV2FpdGVycwotLS0tLS0tLS0tLS0tLQoKSXQgaXMgcG9zc2libGUgdG8gaW1wbGVtZW50IGN1c3RvbSB3YWl0ZXIgb2JqZWN0cyBpZiB5b3VyIHVzZSBjYXNlIHJlcXVpcmVzIGFwcGxpY2F0aW9uLXNwZWNpZmljIHdhaXRlciBsb2dpYyBvciB3YWl0ZXJzCnRoYXQgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkIGJ5IHRoZSBTREsuIFlvdSBjYW4gdXNlIHRoZSBgYGdldFdhaXRlckZhY3RvcnkoKWBgIGFuZCBgYHNldFdhaXRlckZhY3RvcnkoKWBgIG1ldGhvZHMgb24gdGhlCmNsaWVudCB0byBtYW5pcHVsYXRlIHRoZSB3YWl0ZXIgZmFjdG9yeSB1c2VkIGJ5IHRoZSBjbGllbnQgc3VjaCB0aGF0IHlvdXIgY3VzdG9tIHdhaXRlciBjYW4gYmUgaW5zdGFudGlhdGVkLiBCeSBkZWZhdWx0CnRoZSBzZXJ2aWNlIGNsaWVudHMgdXNlIGEgYGBBd3NcQ29tbW9uXFdhaXRlclxDb21wb3NpdGVXYWl0ZXJGYWN0b3J5YGAgd2hpY2ggYWxsb3dzIHlvdSB0byBhZGQgYWRkaXRpb25hbCBmYWN0b3JpZXMgaWYKbmVlZGVkLiBUaGUgZm9sbG93aW5nIGV4YW1wbGUgc2hvd3MgaG93IHRvIGltcGxlbWVudCBhIGNvbnRyaXZlZCBjdXN0b20gd2FpdGVyIGNsYXNzIGFuZCB0aGVuIG1vZGlmeSBhIGNsaWVudCdzIHdhaXRlcgpmYWN0b3J5IHN1Y2ggdGhhdCBpdCBjYW4gY3JlYXRlIGluc3RhbmNlcyBvZiB0aGUgY3VzdG9tIHdhaXRlci4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICBuYW1lc3BhY2UgTXlBcHBcRmFrZVdhaXRlcnMKICAgIHsKICAgICAgICB1c2UgQXdzXENvbW1vblxXYWl0ZXJcQWJzdHJhY3RSZXNvdXJjZVdhaXRlcjsKCiAgICAgICAgY2xhc3MgU2xlcHRUaHJlZVRpbWVzIGV4dGVuZHMgQWJzdHJhY3RSZXNvdXJjZVdhaXRlcgogICAgICAgIHsKICAgICAgICAgICAgcHVibGljIGZ1bmN0aW9uIGRvV2FpdCgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+YXR0ZW1wdHMgPCAzKSB7CiAgICAgICAgICAgICAgICAgICAgZWNobyAiTmVlZCB0byBzbGVlcOKAplxuIjsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVjaG8gIk5vdyBJJ3ZlIHNsZXB0IDMgdGltZXMuXG4iOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIG5hbWVzcGFjZQogICAgewogICAgICAgIHVzZSBBd3NcUzNcUzNDbGllbnQ7CiAgICAgICAgdXNlIEF3c1xDb21tb25cV2FpdGVyXFdhaXRlckNsYXNzRmFjdG9yeTsKCiAgICAgICAgJGNsaWVudCA9IFMzQ2xpZW50OjpmYWN0b3J5KCk7CgogICAgICAgICRjb21wb3NpdGVGYWN0b3J5ID0gJGNsaWVudC0+Z2V0V2FpdGVyRmFjdG9yeSgpOwogICAgICAgICRjb21wb3NpdGVGYWN0b3J5LT5hZGRGYWN0b3J5KG5ldyBXYWl0ZXJDbGFzc0ZhY3RvcnkoJ015QXBwXEZha2VXYWl0ZXJzJykpOwoKICAgICAgICAkd2FpdGVyID0gJGNsaWVudC0+d2FpdFVudGlsU2xlcHRUaHJlZVRpbWVzKCk7CiAgICB9CgpUaGUgcmVzdWx0IG9mIHRoaXMgY29kZSBzaG91bGQgbG9vayBsaWtlIHRoZSBmb2xsb3dpbmc6OgoKICAgIE5lZWQgdG8gc2xlZXDigKYKICAgIE5lZWQgdG8gc2xlZXDigKYKICAgIE5lZWQgdG8gc2xlZXDigKYKICAgIE5vdyBJJ3ZlIHNsZXB0IDMgdGltZXMuCgpXYWl0ZXIgRGVmaW5pdGlvbnMKLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgd2FpdGVycyB0aGF0IGFyZSBpbmNsdWRlZCBpbiB0aGUgU0RLIGFyZSBkZWZpbmVkIGluIHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uIGZvciB0aGVpciBjbGllbnQuIFRoZXkgYXJlIGRlZmluZWQKdXNpbmcgYSBjb25maWd1cmF0aW9uIERTTCAoZG9tYWluLXNwZWNpZmljIGxhbmd1YWdlKSB0aGF0IGRlc2NyaWJlcyB0aGUgZGVmYXVsdCB3YWl0IGludGVydmFscywgd2FpdCBjb25kaXRpb25zLCBhbmQKaG93IHRvIGNoZWNrIG9yIHBvbGwgdGhlIHJlc291cmNlIHRvIHJlc29sdmUgdGhlIGNvbmRpdGlvbi4KClRoaXMgZGF0YSBpcyBhdXRvbWF0aWNhbGx5IGNvbnN1bWVkIGFuZCB1c2VkIGJ5IHRoZSBgYEF3c1xDb21tb25cV2FpdGVyXFdhaXRlckNvbmZpZ0ZhY3RvcnlgYCBjbGFzcyB3aGVuIGEgY2xpZW50IGlzCmluc3RhbnRpYXRlZCBzbyB0aGF0IHRoZSB3YWl0ZXJzIGRlZmluZWQgaW4gdGhlIHNlcnZpY2UgZGVzY3JpcHRpb24gYXJlIGF2YWlsYWJsZSB0byB0aGUgY2xpZW50LgoKVGhlIGZvbGxvd2luZyBpcyBhbiBleGNlcnB0IG9mIHRoZSBBbWF6b24gR2xhY2llciBzZXJ2aWNlIGRlc2NyaXB0aW9uIHRoYXQgZGVmaW5lcyB0aGUgd2FpdGVycyBwcm92aWRlZCBieQpgYEF3c1xHbGFjaWVyXEdsYWNpZXJDbGllbnRgYC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgLy8gLi4uCgogICAgICAgICd3YWl0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ19fZGVmYXVsdF9fJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdpbnRlcnZhbCcgPT4gMywKICAgICAgICAgICAgICAgICdtYXhfYXR0ZW1wdHMnID0+IDE1LAogICAgICAgICAgICApLAogICAgICAgICAgICAnX19WYXVsdFN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdvcGVyYXRpb24nID0+ICdEZXNjcmliZVZhdWx0JywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ1ZhdWx0RXhpc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdleHRlbmRzJyA9PiAnX19WYXVsdFN0YXRlJywKICAgICAgICAgICAgICAgICdzdWNjZXNzLnR5cGUnID0+ICdvdXRwdXQnLAogICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnV2FpdCB1bnRpbCBhIHZhdWx0IGNhbiBiZSBhY2Nlc3NlZC4nLAogICAgICAgICAgICAgICAgJ2lnbm9yZV9lcnJvcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdWYXVsdE5vdEV4aXN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ19fVmF1bHRTdGF0ZScsCiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdXYWl0IHVudGlsIGEgdmF1bHQgaXMgZGVsZXRlZC4nLAogICAgICAgICAgICAgICAgJ3N1Y2Nlc3MudHlwZScgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKCiAgICAgICAgLy8gLi4uCiAgICApOwoKSW4gb3JkZXIgZm9yIHlvdSB0byBjb250cmlidXRlIHdhaXRlcnMgdG8gdGhlIFNESywgeW91IHdpbGwgbmVlZCB0byBpbXBsZW1lbnQgdGhlbSB1c2luZyB0aGUgd2FpdGVycyBEU0wuIFRoZSBEU0wgaXMgbm90CmRvY3VtZW50ZWQgeWV0LCBzaW5jZSBpdCBpcyBjdXJyZW50bHkgc3ViamVjdCB0byBjaGFuZ2UsIHNvIGlmIHlvdSBhcmUgaW50ZXJlc3RlZCBpbiBoZWxwaW5nIHRvIGltcGxlbWVudCBtb3JlIHdhaXRlcnMsCnBsZWFzZSByZWFjaCBvdXQgdG8gdXMgdmlhIGBHaXRIdWIgPGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLXNkay1waHAvaXNzdWVzPmBfLgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/index.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09CkFXUyBTREsgZm9yIFBIUAo9PT09PT09PT09PT09PT0KCi4uIHRvY3RyZWU6OgogICAgOmhpZGRlbjoKCiAgICBhd3NzaWdudXAKICAgIHJlcXVpcmVtZW50cwogICAgaW5zdGFsbGF0aW9uCiAgICBxdWljay1zdGFydAogICAgY29uZmlndXJhdGlvbgogICAgcGVyZm9ybWFuY2UKICAgIGZhcQoKICAgIG1pZ3JhdGlvbi1ndWlkZQogICAgc2lkZS1ieS1zaWRlCgogICAgc2VydmljZS1hdXRvc2NhbGluZwogICAgc2VydmljZS1jbG91ZGZvcm1hdGlvbgogICAgc2VydmljZS1jbG91ZGZyb250CiAgICBzZXJ2aWNlLWNsb3Vkc2VhcmNoCiAgICBzZXJ2aWNlLWNsb3VkdHJhaWwKICAgIHNlcnZpY2UtY2xvdWR3YXRjaAogICAgc2VydmljZS1kYXRhcGlwZWxpbmUKICAgIHNlcnZpY2UtZGlyZWN0Y29ubmVjdAogICAgc2VydmljZS1keW5hbW9kYgogICAgc2VydmljZS1keW5hbW9kYi0yMDExMTIwNQogICAgc2VydmljZS1lYzIKICAgIHNlcnZpY2UtZWxhc3RpY2FjaGUKICAgIHNlcnZpY2UtZWxhc3RpY2JlYW5zdGFsawogICAgc2VydmljZS1lbGFzdGljbG9hZGJhbGFuY2luZwogICAgc2VydmljZS1lbGFzdGljdHJhbnNjb2RlcgogICAgc2VydmljZS1lbXIKICAgIHNlcnZpY2UtZ2xhY2llcgogICAgc2VydmljZS1pYW0KICAgIHNlcnZpY2UtaW1wb3J0ZXhwb3J0CiAgICBzZXJ2aWNlLWtpbmVzaXMKICAgIHNlcnZpY2Utb3Bzd29ya3MKICAgIHNlcnZpY2UtcmRzCiAgICBzZXJ2aWNlLXJlZHNoaWZ0CiAgICBzZXJ2aWNlLXJvdXRlNTMKICAgIHNlcnZpY2UtczMKICAgIHNlcnZpY2Utc2VzCiAgICBzZXJ2aWNlLXNpbXBsZWRiCiAgICBzZXJ2aWNlLXNucwogICAgc2VydmljZS1zcXMKICAgIHNlcnZpY2Utc3RvcmFnZWdhdGV3YXkKICAgIHNlcnZpY2Utc3RzCiAgICBzZXJ2aWNlLXN1cHBvcnQKICAgIHNlcnZpY2Utc3dmCgogICAgZmVhdHVyZS1keW5hbW9kYi1zZXNzaW9uLWhhbmRsZXIKICAgIGZlYXR1cmUtd2FpdGVycwogICAgZmVhdHVyZS1tb2RlbHMKICAgIGZlYXR1cmUtZmFjYWRlcwoKVGhlICoqQVdTIFNESyBmb3IgUEhQKiogZW5hYmxlcyBQSFAgZGV2ZWxvcGVycyB0byBlYXNpbHkgaW50ZXJmYWNlIHdpdGggQVdTIHNlcnZpY2VzIGFuZCBidWlsZCBzb2x1dGlvbnMgd2l0aCBBbWF6b24KU2ltcGxlIFN0b3JhZ2UgU2VydmljZSAoQW1hem9uIFMzKSwgQW1hem9uIER5bmFtb0RCLCBBbWF6b24gR2xhY2llciwgYW5kIG1vcmUuIFdpdGggdGhlIEFXUyBTREsgZm9yIFBIUCwgZGV2ZWxvcGVycyBjYW4KZ2V0IHN0YXJ0ZWQgaW4gbWludXRlcyBieSB1c2luZyBDb21wb3NlciDigJQgYnkgcmVxdWlyaW5nIHRoZSBgYGF3cy9hd3Mtc2RrLXBocGBgIHBhY2thZ2Ug4oCUIG9yIGJ5IGRvd25sb2FkaW5nIGEgc2luZ2xlCmB6aXAgPGh0dHA6Ly9wZWFyLmFtYXpvbndlYnNlcnZpY2VzLmNvbS9nZXQvYXdzLnppcD5gXyBvciBgcGhhciA8aHR0cDovL3BlYXIuYW1hem9ud2Vic2VydmljZXMuY29tL2dldC9hd3MucGhhcj5gXyBmaWxlLgoKR2V0dGluZyBzdGFydGVkCi0tLS0tLS0tLS0tLS0tLQoKKiA6ZG9jOmBhd3NzaWdudXBgCiogOmRvYzpgcmVxdWlyZW1lbnRzYAoqIDpkb2M6YGluc3RhbGxhdGlvbmAKKiA6ZG9jOmBxdWljay1zdGFydGAKKiA6ZG9jOmBjb25maWd1cmF0aW9uYAoqIDpkb2M6YHBlcmZvcm1hbmNlYAoqIDpkb2M6YGZhcWAKKiBgQ29udHJpYnV0aW5nIHRvIHRoZSBTREsgPGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLXNkay1waHAvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kPmBfCgpNaWdyYXRpbmcgZnJvbSBTREsgMSB0byBTREsgMgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKKiA6ZG9jOmBtaWdyYXRpb24tZ3VpZGVgCiogOmRvYzpgc2lkZS1ieS1zaWRlYAoKLi4gX3N1cHBvcnRlZC1zZXJ2aWNlczoKClN1cHBvcnRlZCBzZXJ2aWNlcwotLS0tLS0tLS0tLS0tLS0tLS0KCiogOmRvYzpgc2VydmljZS1hdXRvc2NhbGluZ2AKKiA6ZG9jOmBzZXJ2aWNlLWNsb3VkZm9ybWF0aW9uYAoqIDpkb2M6YHNlcnZpY2UtY2xvdWRmcm9udGAKKiA6ZG9jOmBzZXJ2aWNlLWNsb3Vkc2VhcmNoYAoqIDpkb2M6YHNlcnZpY2UtY2xvdWR0cmFpbGAKKiA6ZG9jOmBzZXJ2aWNlLWNsb3Vkd2F0Y2hgCiogOmRvYzpgc2VydmljZS1kYXRhcGlwZWxpbmVgCiogOmRvYzpgc2VydmljZS1kaXJlY3Rjb25uZWN0YAoqIDpkb2M6YHNlcnZpY2UtZHluYW1vZGJgCiogOmRvYzpgc2VydmljZS1keW5hbW9kYi0yMDExMTIwNWAKKiA6ZG9jOmBzZXJ2aWNlLWVjMmAKKiA6ZG9jOmBzZXJ2aWNlLWVsYXN0aWNhY2hlYAoqIDpkb2M6YHNlcnZpY2UtZWxhc3RpY2JlYW5zdGFsa2AKKiA6ZG9jOmBzZXJ2aWNlLWVsYXN0aWNsb2FkYmFsYW5jaW5nYAoqIDpkb2M6YHNlcnZpY2UtZWxhc3RpY3RyYW5zY29kZXJgCiogOmRvYzpgc2VydmljZS1lbXJgCiogOmRvYzpgc2VydmljZS1nbGFjaWVyYAoqIDpkb2M6YHNlcnZpY2UtaWFtYAoqIDpkb2M6YHNlcnZpY2UtaW1wb3J0ZXhwb3J0YAoqIDpkb2M6YHNlcnZpY2Uta2luZXNpc2AKKiA6ZG9jOmBzZXJ2aWNlLW9wc3dvcmtzYAoqIDpkb2M6YHNlcnZpY2UtcmRzYAoqIDpkb2M6YHNlcnZpY2UtcmVkc2hpZnRgCiogOmRvYzpgc2VydmljZS1yb3V0ZTUzYAoqIDpkb2M6YHNlcnZpY2UtczNgCiogOmRvYzpgc2VydmljZS1zZXNgCiogOmRvYzpgc2VydmljZS1zaW1wbGVkYmAKKiA6ZG9jOmBzZXJ2aWNlLXNuc2AKKiA6ZG9jOmBzZXJ2aWNlLXNxc2AKKiA6ZG9jOmBzZXJ2aWNlLXN0b3JhZ2VnYXRld2F5YAoqIDpkb2M6YHNlcnZpY2Utc3RzYAoqIDpkb2M6YHNlcnZpY2Utc3VwcG9ydGAKKiA6ZG9jOmBzZXJ2aWNlLXN3ZmAKClNESyBmZWF0dXJlcyBpbiBkZXRhaWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKKiA6ZG9jOmBmZWF0dXJlLWR5bmFtb2RiLXNlc3Npb24taGFuZGxlcmAKKiA6ZG9jOmBmZWF0dXJlLWl0ZXJhdG9yc2AKKiA6ZG9jOmBmZWF0dXJlLXdhaXRlcnNgCiogOmRvYzpgZmVhdHVyZS1tb2RlbHNgCiogOmRvYzpgZmVhdHVyZS1mYWNhZGVzYAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/installation.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09Ckluc3RhbGxhdGlvbgo9PT09PT09PT09PT0KCkluc3RhbGxpbmcgdmlhIENvbXBvc2VyCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpVc2luZyBgQ29tcG9zZXIgPGh0dHA6Ly9nZXRjb21wb3Nlci5vcmc+YF8gaXMgdGhlIHJlY29tbWVuZGVkIHdheSB0byBpbnN0YWxsIHRoZSBBV1MgU0RLIGZvciBQSFAuIENvbXBvc2VyIGlzIGEKZGVwZW5kZW5jeSBtYW5hZ2VtZW50IHRvb2wgZm9yIFBIUCB0aGF0IGFsbG93cyB5b3UgdG8gZGVjbGFyZSB0aGUgZGVwZW5kZW5jaWVzIHlvdXIgcHJvamVjdCBuZWVkcyBhbmQgaW5zdGFsbHMgdGhlbSBpbnRvCnlvdXIgcHJvamVjdC4gSW4gb3JkZXIgdG8gdXNlIHRoZSBTREsgd2l0aCBDb21wb3NlciwgeW91IG11c3QgZG8gdGhlIGZvbGxvd2luZzoKCiMuIEFkZCBgYCJhd3MvYXdzLXNkay1waHAiYGAgYXMgYSBkZXBlbmRlbmN5IGluIHlvdXIgcHJvamVjdCdzIGBgY29tcG9zZXIuanNvbmBgIGZpbGUuCgogICAuLiBjb2RlLWJsb2NrOjoganMKCiAgICAgICB7CiAgICAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICAgICJhd3MvYXdzLXNkay1waHAiOiAiMi4qIgogICAgICAgICAgIH0KICAgICAgIH0KCiAgIENvbnNpZGVyIHRpZ2h0ZW5pbmcgeW91ciBkZXBlbmRlbmNpZXMgdG8gYSBrbm93biB2ZXJzaW9uIChlLmcuLCBgYDIuMy4qYGApLgoKIy4gRG93bmxvYWQgYW5kIGluc3RhbGwgQ29tcG9zZXIuCgogICAuLiBjb2RlLWJsb2NrOjogc2gKCiAgICAgICBjdXJsIC1zUyBodHRwczovL2dldGNvbXBvc2VyLm9yZy9pbnN0YWxsZXIgfCBwaHAKCiMuIEluc3RhbGwgeW91ciBkZXBlbmRlbmNpZXMuCgogICAuLiBjb2RlLWJsb2NrOjogc2gKCiAgICAgICBwaHAgY29tcG9zZXIucGhhciBpbnN0YWxsCgojLiBSZXF1aXJlIENvbXBvc2VyJ3MgYXV0b2xvYWRlci4KCiAgIENvbXBvc2VyIHByZXBhcmVzIGFuIGF1dG9sb2FkIGZpbGUgdGhhdCdzIGNhcGFibGUgb2YgYXV0b2xvYWRpbmcgYWxsIG9mIHRoZSBjbGFzc2VzIGluIGFueSBvZiB0aGUgbGlicmFyaWVzIHRoYXQKICAgaXQgZG93bmxvYWRzLiBUbyB1c2UgaXQsIGp1c3QgYWRkIHRoZSBmb2xsb3dpbmcgbGluZSB0byB5b3VyIGNvZGUncyBib290c3RyYXAgcHJvY2Vzcy4KCiAgIC4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAgICByZXF1aXJlICcvcGF0aC90by9zZGsvdmVuZG9yL2F1dG9sb2FkLnBocCc7CgpZb3UgY2FuIGZpbmQgb3V0IG1vcmUgb24gaG93IHRvIGluc3RhbGwgQ29tcG9zZXIsIGNvbmZpZ3VyZSBhdXRvbG9hZGluZywgYW5kIG90aGVyIGJlc3QtcHJhY3RpY2VzIGZvciBkZWZpbmluZwpkZXBlbmRlbmNpZXMgYXQgYGdldGNvbXBvc2VyLm9yZyA8aHR0cDovL2dldGNvbXBvc2VyLm9yZz5gXy4KCkR1cmluZyB5b3VyIGRldmVsb3BtZW50LCB5b3UgY2FuIGtlZXAgdXAgd2l0aCB0aGUgbGF0ZXN0IGNoYW5nZXMgb24gdGhlIG1hc3RlciBicmFuY2ggYnkgc2V0dGluZyB0aGUgdmVyc2lvbgpyZXF1aXJlbWVudCBmb3IgdGhlIFNESyB0byBgYGRldi1tYXN0ZXJgYC4KCi4uIGNvZGUtYmxvY2s6OiBqcwoKICAgewogICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgImF3cy9hd3Mtc2RrLXBocCI6ICJkZXYtbWFzdGVyIgogICAgICB9CiAgIH0KCkluc3RhbGxpbmcgdmlhIFBoYXIKLS0tLS0tLS0tLS0tLS0tLS0tLQoKRWFjaCByZWxlYXNlIG9mIHRoZSBBV1MgU0RLIGZvciBQSFAgc2hpcHMgd2l0aCBhIHByZS1wYWNrYWdlZCBgcGhhciA8aHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Jvb2sucGhhci5waHA+YF8gKFBIUAphcmNoaXZlKSBmaWxlIGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBjbGFzc2VzIGFuZCBkZXBlbmRlbmNpZXMgeW91IG5lZWQgdG8gcnVuIHRoZSBTREsuIEFkZGl0aW9uYWxseSwgdGhlIHBoYXIgZmlsZQphdXRvbWF0aWNhbGx5IHJlZ2lzdGVycyBhIGNsYXNzIGF1dG9sb2FkZXIgZm9yIHRoZSBBV1MgU0RLIGZvciBQSFAgYW5kIGFsbCBvZiBpdHMgZGVwZW5kZW5jaWVzIHdoZW4gaW5jbHVkZWQuIEJ1bmRsZWQKd2l0aCB0aGUgcGhhciBmaWxlIGFyZSB0aGUgZm9sbG93aW5nIHJlcXVpcmVkIGFuZCBzdWdnZXN0ZWQgbGlicmFyaWVzOgoKLSAgYEd1enpsZSA8aHR0cHM6Ly9naXRodWIuY29tL2d1enpsZS9ndXp6bGU+YF8gZm9yIEhUVFAgcmVxdWVzdHMKLSAgYFN5bWZvbnkyIEV2ZW50RGlzcGF0Y2hlciA8aHR0cDovL3N5bWZvbnkuY29tL2RvYy9tYXN0ZXIvY29tcG9uZW50cy9ldmVudF9kaXNwYXRjaGVyL2ludHJvZHVjdGlvbi5odG1sPmBfIGZvciBldmVudHMKLSAgYE1vbm9sb2cgPGh0dHBzOi8vZ2l0aHViLmNvbS9zZWxkYWVrL21vbm9sb2c+YF8gYW5kIGBQc3JcXExvZyA8aHR0cHM6Ly9naXRodWIuY29tL3BocC1maWcvbG9nPmBfIGZvciBsb2dnaW5nCi0gIGBEb2N0cmluZSA8aHR0cHM6Ly9naXRodWIuY29tL2RvY3RyaW5lL2NvbW1vbj5gXyBmb3IgY2FjaGluZwoKWW91IGNhbiBgZG93bmxvYWQgdGhlIHBhY2thZ2VkIFBoYXIgPGh0dHA6Ly9wZWFyLmFtYXpvbndlYnNlcnZpY2VzLmNvbS9nZXQvYXdzLnBoYXI+YF8gYW5kIHNpbXBseSBpbmNsdWRlIGl0IGluIHlvdXIKc2NyaXB0cyB0byBnZXQgc3RhcnRlZDo6CgogICAgcmVxdWlyZSAnL3BhdGgvdG8vYXdzLnBoYXInOwoKSWYgeW91IGhhdmUgYHBoaW5nIDxodHRwOi8vd3d3LnBoaW5nLmluZm8vPmBfIGluc3RhbGxlZCwgeW91IGNhbiBjbG9uZSB0aGUgU0RLIGFuZCBidWlsZCBhIHBoYXIgZmlsZSB5b3Vyc2VsZiB1c2luZyB0aGUKKiJwaGFyIiogdGFzay4KCi4uIG5vdGU6OgoKICAgIElmIHlvdSBhcmUgdXNpbmcgUEhQIHdpdGggdGhlIFN1aG9zaW4gcGF0Y2ggKGVzcGVjaWFsbHkgY29tbW9uIG9uIFVidW50dSBhbmQgRGViaWFuIGRpc3RyaWJ1dGlvbnMpLCB5b3UgbWF5IG5lZWQKICAgIHRvIGVuYWJsZSB0aGUgdXNlIG9mIHBoYXJzIGluIHRoZSBgYHN1aG9zaW4uaW5pYGAuIFdpdGhvdXQgdGhpcywgaW5jbHVkaW5nIGEgcGhhciBmaWxlIGluIHlvdXIgY29kZSB3aWxsIGNhdXNlIGl0IHRvCiAgICBzaWxlbnRseSBmYWlsLiBZb3Ugc2hvdWxkIG1vZGlmeSB0aGUgYGBzdWhvc2luLmluaWBgIGZpbGUgYnkgYWRkaW5nIHRoZSBsaW5lOgoKICAgIGBgc3Vob3Npbi5leGVjdXRvci5pbmNsdWRlLndoaXRlbGlzdCA9IHBoYXJgYAoKSW5zdGFsbGluZyB2aWEgWmlwCi0tLS0tLS0tLS0tLS0tLS0tLQoKRWFjaCByZWxlYXNlIG9mIHRoZSBBV1MgU0RLIGZvciBQSFAgKHNpbmNlIDIuMy4yKSBzaGlwcyB3aXRoIGEgemlwIGZpbGUgY29udGFpbmluZyBhbGwgb2YgdGhlIGNsYXNzZXMgYW5kIGRlcGVuZGVuY2llcwp5b3UgbmVlZCB0byBydW4gdGhlIFNESyBpbiBhIGBQU1ItMCA8aHR0cHM6Ly9naXRodWIuY29tL3BocC1maWcvZmlnLXN0YW5kYXJkcy9ibG9iL21hc3Rlci9hY2NlcHRlZC9QU1ItMC5tZD5gXwpjb21wYXRpYmxlIGRpcmVjdG9yeSBzdHJ1Y3R1cmUuIEFkZGl0aW9uYWxseSwgdGhlIHppcCBmaWxlIGluY2x1ZGVzIGEgY2xhc3MgYXV0b2xvYWRlciBmb3IgdGhlIEFXUyBTREsgZm9yIFBIUCBhbmQgdGhlCmZvbGxvd2luZyByZXF1aXJlZCBhbmQgc3VnZ2VzdGVkIGxpYnJhcmllczoKCi0gIGBHdXp6bGUgPGh0dHBzOi8vZ2l0aHViLmNvbS9ndXp6bGUvZ3V6emxlPmBfIGZvciBIVFRQIHJlcXVlc3RzCi0gIGBTeW1mb255MiBFdmVudERpc3BhdGNoZXIgPGh0dHA6Ly9zeW1mb255LmNvbS9kb2MvbWFzdGVyL2NvbXBvbmVudHMvZXZlbnRfZGlzcGF0Y2hlci9pbnRyb2R1Y3Rpb24uaHRtbD5gXyBmb3IgZXZlbnRzCi0gIGBNb25vbG9nIDxodHRwczovL2dpdGh1Yi5jb20vc2VsZGFlay9tb25vbG9nPmBfIGFuZCBgUHNyXFxMb2cgPGh0dHBzOi8vZ2l0aHViLmNvbS9waHAtZmlnL2xvZz5gXyBmb3IgbG9nZ2luZwotICBgRG9jdHJpbmUgPGh0dHBzOi8vZ2l0aHViLmNvbS9kb2N0cmluZS9jb21tb24+YF8gZm9yIGNhY2hpbmcKClVzaW5nIHRoZSB6aXAgZmlsZSBpcyBncmVhdCBpZiB5b3U6CgoxLiBQcmVmZXIgbm90IHRvIG9yIGNhbm5vdCB1c2UgcGFja2FnZSBtYW5hZ2VycyBsaWtlIENvbXBvc2VyIGFuZCBQRUFSLgoyLiBDYW5ub3QgdXNlIHBoYXIgZmlsZXMgZHVlIHRvIGVudmlyb25tZW50IGxpbWl0YXRpb25zLgozLiBXYW50IHRvIHVzZSBvbmx5IHNwZWNpZmljIGZpbGVzIGZyb20gdGhlIFNESy4KClRvIGdldCBzdGFydGVkLCB5b3UgbXVzdCBgZG93bmxvYWQgdGhlIHppcCBmaWxlIDxodHRwOi8vcGVhci5hbWF6b253ZWJzZXJ2aWNlcy5jb20vZ2V0L2F3cy56aXA+YF8sIHVuemlwIGl0IGludG8geW91cgpwcm9qZWN0IHRvIGEgbG9jYXRpb24gb2YgeW91ciBjaG9vc2luZywgYW5kIGluY2x1ZGUgdGhlIGF1dG9sb2FkZXI6OgoKICAgIHJlcXVpcmUgJy9wYXRoL3RvL2F3cy1hdXRvbG9hZGVyLnBocCc7CgpBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIHdyaXRlIHlvdXIgb3duIGF1dG9sb2FkZXIgb3IgdXNlIGFuIGV4aXN0aW5nIG9uZSBmcm9tIHlvdXIgcHJvamVjdC4KCklmIHlvdSBoYXZlIGBwaGluZyA8aHR0cDovL3d3dy5waGluZy5pbmZvLz5gXyBpbnN0YWxsZWQsIHlvdSBjYW4gY2xvbmUgdGhlIFNESyBhbmQgYnVpbGQgYSB6aXAgZmlsZSB5b3Vyc2VsZiB1c2luZyB0aGUKKiJ6aXAiKiB0YXNrLgoKSW5zdGFsbGluZyB2aWEgUEVBUgp+fn5+fn5+fn5+fn5+fn5+fn5+CgpgUEVBUiA8aHR0cDovL3BlYXIucGhwLm5ldC8+YF8gcGFja2FnZXMgYXJlIGVhc3kgdG8gaW5zdGFsbCwgYW5kIGFyZSBhdmFpbGFibGUgaW4geW91ciBQSFAgZW52aXJvbm1lbnQgcGF0aCBzbyB0aGF0IHRoZXkKYXJlIGFjY2Vzc2libGUgdG8gYW55IFBIUCBwcm9qZWN0LiBQRUFSIHBhY2thZ2VzIGFyZSBub3Qgc3BlY2lmaWMgdG8geW91ciBwcm9qZWN0LCBidXQgcmF0aGVyIHRvIHRoZSBtYWNoaW5lIHRoZXkncmUKaW5zdGFsbGVkIG9uLgoKRnJvbSB0aGUgY29tbWFuZC1saW5lLCB5b3UgY2FuIGluc3RhbGwgdGhlIFNESyB3aXRoIFBFQVIgYXMgZm9sbG93cyAodGhpcyBtaWdodCBuZWVkIHRvIGJlIHJ1biBhcyBgYHN1ZG9gYCk6CgouLiBjb2RlLWJsb2NrOjogc2gKCiAgICBwZWFyIGNvbmZpZy1zZXQgYXV0b19kaXNjb3ZlciAxCiAgICBwZWFyIGNoYW5uZWwtZGlzY292ZXIgcGVhci5hbWF6b253ZWJzZXJ2aWNlcy5jb20KICAgIHBlYXIgaW5zdGFsbCBhd3Mvc2RrCgpBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIGNvbWJpbmUgYWxsIHRocmVlIG9mIHRoZSBwcmVjZWRpbmcgc3RhdGVtZW50cyBpbnRvIG9uZSBieSBkb2luZyB0aGUgZm9sbG93aW5nOgoKLi4gY29kZS1ibG9jazo6IHNoCgogICAgcGVhciAtRCBhdXRvX2Rpc2NvdmVyPTEgaW5zdGFsbCBwZWFyLmFtYXpvbndlYnNlcnZpY2VzLmNvbS9zZGsKCk9uY2UgdGhlIFNESyBoYXMgYmVlbiBpbnN0YWxsZWQgdmlhIFBFQVIsIHlvdSBjYW4gaW5jbHVkZSB0aGUgYHBoYXIgPGh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9ib29rLnBoYXIucGhwPmBfIGludG8KeW91ciBwcm9qZWN0IHdpdGg6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgcmVxdWlyZSAnQVdTU0RLZm9yUEhQL2F3cy5waGFyJzsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/make.bat</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QEVDSE8gT0ZGCgpSRU0gQ29tbWFuZCBmaWxlIGZvciBTcGhpbnggZG9jdW1lbnRhdGlvbgoKaWYgIiVTUEhJTlhCVUlMRCUiID09ICIiICgKCXNldCBTUEhJTlhCVUlMRD1zcGhpbngtYnVpbGQKKQpzZXQgQlVJTERESVI9X2J1aWxkCnNldCBBTExTUEhJTlhPUFRTPS1kICVCVUlMRERJUiUvZG9jdHJlZXMgJVNQSElOWE9QVFMlIC4Kc2V0IEkxOE5TUEhJTlhPUFRTPSVTUEhJTlhPUFRTJSAuCmlmIE5PVCAiJVBBUEVSJSIgPT0gIiIgKAoJc2V0IEFMTFNQSElOWE9QVFM9LUQgbGF0ZXhfcGFwZXJfc2l6ZT0lUEFQRVIlICVBTExTUEhJTlhPUFRTJQoJc2V0IEkxOE5TUEhJTlhPUFRTPS1EIGxhdGV4X3BhcGVyX3NpemU9JVBBUEVSJSAlSTE4TlNQSElOWE9QVFMlCikKCmlmICIlMSIgPT0gIiIgZ290byBoZWxwCgppZiAiJTEiID09ICJoZWxwIiAoCgk6aGVscAoJZWNoby5QbGVhc2UgdXNlIGBtYWtlIF48dGFyZ2V0Xj5gIHdoZXJlIF48dGFyZ2V0Xj4gaXMgb25lIG9mCgllY2hvLiAgaHRtbCAgICAgICB0byBtYWtlIHN0YW5kYWxvbmUgSFRNTCBmaWxlcwoJZWNoby4gIGRpcmh0bWwgICAgdG8gbWFrZSBIVE1MIGZpbGVzIG5hbWVkIGluZGV4Lmh0bWwgaW4gZGlyZWN0b3JpZXMKCWVjaG8uICBzaW5nbGVodG1sIHRvIG1ha2UgYSBzaW5nbGUgbGFyZ2UgSFRNTCBmaWxlCgllY2hvLiAgcGlja2xlICAgICB0byBtYWtlIHBpY2tsZSBmaWxlcwoJZWNoby4gIGpzb24gICAgICAgdG8gbWFrZSBKU09OIGZpbGVzCgllY2hvLiAgaHRtbGhlbHAgICB0byBtYWtlIEhUTUwgZmlsZXMgYW5kIGEgSFRNTCBoZWxwIHByb2plY3QKCWVjaG8uICBxdGhlbHAgICAgIHRvIG1ha2UgSFRNTCBmaWxlcyBhbmQgYSBxdGhlbHAgcHJvamVjdAoJZWNoby4gIGRldmhlbHAgICAgdG8gbWFrZSBIVE1MIGZpbGVzIGFuZCBhIERldmhlbHAgcHJvamVjdAoJZWNoby4gIGVwdWIgICAgICAgdG8gbWFrZSBhbiBlcHViCgllY2hvLiAgbGF0ZXggICAgICB0byBtYWtlIExhVGVYIGZpbGVzLCB5b3UgY2FuIHNldCBQQVBFUj1hNCBvciBQQVBFUj1sZXR0ZXIKCWVjaG8uICB0ZXh0ICAgICAgIHRvIG1ha2UgdGV4dCBmaWxlcwoJZWNoby4gIG1hbiAgICAgICAgdG8gbWFrZSBtYW51YWwgcGFnZXMKCWVjaG8uICB0ZXhpbmZvICAgIHRvIG1ha2UgVGV4aW5mbyBmaWxlcwoJZWNoby4gIGdldHRleHQgICAgdG8gbWFrZSBQTyBtZXNzYWdlIGNhdGFsb2dzCgllY2hvLiAgY2hhbmdlcyAgICB0byBtYWtlIGFuIG92ZXJ2aWV3IG92ZXIgYWxsIGNoYW5nZWQvYWRkZWQvZGVwcmVjYXRlZCBpdGVtcwoJZWNoby4gIGxpbmtjaGVjayAgdG8gY2hlY2sgYWxsIGV4dGVybmFsIGxpbmtzIGZvciBpbnRlZ3JpdHkKCWVjaG8uICBkb2N0ZXN0ICAgIHRvIHJ1biBhbGwgZG9jdGVzdHMgZW1iZWRkZWQgaW4gdGhlIGRvY3VtZW50YXRpb24gaWYgZW5hYmxlZAoJZ290byBlbmQKKQoKaWYgIiUxIiA9PSAiY2xlYW4iICgKCWZvciAvZCAlJWkgaW4gKCVCVUlMRERJUiVcKikgZG8gcm1kaXIgL3EgL3MgJSVpCglkZWwgL3EgL3MgJUJVSUxERElSJVwqCglnb3RvIGVuZAopCgppZiAiJTEiID09ICJodG1sIiAoCgklU1BISU5YQlVJTEQlIC1iIGh0bWwgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvaHRtbAoJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQoJZWNoby4KCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBIVE1MIHBhZ2VzIGFyZSBpbiAlQlVJTERESVIlL2h0bWwuCglnb3RvIGVuZAopCgppZiAiJTEiID09ICJkaXJodG1sIiAoCgklU1BISU5YQlVJTEQlIC1iIGRpcmh0bWwgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvZGlyaHRtbAoJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQoJZWNoby4KCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBIVE1MIHBhZ2VzIGFyZSBpbiAlQlVJTERESVIlL2Rpcmh0bWwuCglnb3RvIGVuZAopCgppZiAiJTEiID09ICJzaW5nbGVodG1sIiAoCgklU1BISU5YQlVJTEQlIC1iIHNpbmdsZWh0bWwgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvc2luZ2xlaHRtbAoJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQoJZWNoby4KCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBIVE1MIHBhZ2VzIGFyZSBpbiAlQlVJTERESVIlL3NpbmdsZWh0bWwuCglnb3RvIGVuZAopCgppZiAiJTEiID09ICJwaWNrbGUiICgKCSVTUEhJTlhCVUlMRCUgLWIgcGlja2xlICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL3BpY2tsZQoJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQoJZWNoby4KCWVjaG8uQnVpbGQgZmluaXNoZWQ7IG5vdyB5b3UgY2FuIHByb2Nlc3MgdGhlIHBpY2tsZSBmaWxlcy4KCWdvdG8gZW5kCikKCmlmICIlMSIgPT0gImpzb24iICgKCSVTUEhJTlhCVUlMRCUgLWIganNvbiAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS9qc29uCglpZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAxCgllY2hvLgoJZWNoby5CdWlsZCBmaW5pc2hlZDsgbm93IHlvdSBjYW4gcHJvY2VzcyB0aGUgSlNPTiBmaWxlcy4KCWdvdG8gZW5kCikKCmlmICIlMSIgPT0gImh0bWxoZWxwIiAoCgklU1BISU5YQlVJTEQlIC1iIGh0bWxoZWxwICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL2h0bWxoZWxwCglpZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAxCgllY2hvLgoJZWNoby5CdWlsZCBmaW5pc2hlZDsgbm93IHlvdSBjYW4gcnVuIEhUTUwgSGVscCBXb3Jrc2hvcCB3aXRoIHRoZSBeCi5oaHAgcHJvamVjdCBmaWxlIGluICVCVUlMRERJUiUvaHRtbGhlbHAuCglnb3RvIGVuZAopCgppZiAiJTEiID09ICJxdGhlbHAiICgKCSVTUEhJTlhCVUlMRCUgLWIgcXRoZWxwICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL3F0aGVscAoJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQoJZWNoby4KCWVjaG8uQnVpbGQgZmluaXNoZWQ7IG5vdyB5b3UgY2FuIHJ1biAicWNvbGxlY3Rpb25nZW5lcmF0b3IiIHdpdGggdGhlIF4KLnFoY3AgcHJvamVjdCBmaWxlIGluICVCVUlMRERJUiUvcXRoZWxwLCBsaWtlIHRoaXM6CgllY2hvLl4+IHFjb2xsZWN0aW9uZ2VuZXJhdG9yICVCVUlMRERJUiVccXRoZWxwXEFXU1NES2ZvclBIUC5xaGNwCgllY2hvLlRvIHZpZXcgdGhlIGhlbHAgZmlsZToKCWVjaG8uXj4gYXNzaXN0YW50IC1jb2xsZWN0aW9uRmlsZSAlQlVJTERESVIlXHF0aGVscFxBV1NTREtmb3JQSFAuZ2hjCglnb3RvIGVuZAopCgppZiAiJTEiID09ICJkZXZoZWxwIiAoCgklU1BISU5YQlVJTEQlIC1iIGRldmhlbHAgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvZGV2aGVscAoJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQoJZWNoby4KCWVjaG8uQnVpbGQgZmluaXNoZWQuCglnb3RvIGVuZAopCgppZiAiJTEiID09ICJlcHViIiAoCgklU1BISU5YQlVJTEQlIC1iIGVwdWIgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvZXB1YgoJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQoJZWNoby4KCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBlcHViIGZpbGUgaXMgaW4gJUJVSUxERElSJS9lcHViLgoJZ290byBlbmQKKQoKaWYgIiUxIiA9PSAibGF0ZXgiICgKCSVTUEhJTlhCVUlMRCUgLWIgbGF0ZXggJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvbGF0ZXgKCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDEKCWVjaG8uCgllY2hvLkJ1aWxkIGZpbmlzaGVkOyB0aGUgTGFUZVggZmlsZXMgYXJlIGluICVCVUlMRERJUiUvbGF0ZXguCglnb3RvIGVuZAopCgppZiAiJTEiID09ICJ0ZXh0IiAoCgklU1BISU5YQlVJTEQlIC1iIHRleHQgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvdGV4dAoJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQoJZWNoby4KCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSB0ZXh0IGZpbGVzIGFyZSBpbiAlQlVJTERESVIlL3RleHQuCglnb3RvIGVuZAopCgppZiAiJTEiID09ICJtYW4iICgKCSVTUEhJTlhCVUlMRCUgLWIgbWFuICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL21hbgoJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQoJZWNoby4KCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBtYW51YWwgcGFnZXMgYXJlIGluICVCVUlMRERJUiUvbWFuLgoJZ290byBlbmQKKQoKaWYgIiUxIiA9PSAidGV4aW5mbyIgKAoJJVNQSElOWEJVSUxEJSAtYiB0ZXhpbmZvICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL3RleGluZm8KCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDEKCWVjaG8uCgllY2hvLkJ1aWxkIGZpbmlzaGVkLiBUaGUgVGV4aW5mbyBmaWxlcyBhcmUgaW4gJUJVSUxERElSJS90ZXhpbmZvLgoJZ290byBlbmQKKQoKaWYgIiUxIiA9PSAiZ2V0dGV4dCIgKAoJJVNQSElOWEJVSUxEJSAtYiBnZXR0ZXh0ICVJMThOU1BISU5YT1BUUyUgJUJVSUxERElSJS9sb2NhbGUKCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDEKCWVjaG8uCgllY2hvLkJ1aWxkIGZpbmlzaGVkLiBUaGUgbWVzc2FnZSBjYXRhbG9ncyBhcmUgaW4gJUJVSUxERElSJS9sb2NhbGUuCglnb3RvIGVuZAopCgppZiAiJTEiID09ICJjaGFuZ2VzIiAoCgklU1BISU5YQlVJTEQlIC1iIGNoYW5nZXMgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvY2hhbmdlcwoJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQoJZWNoby4KCWVjaG8uVGhlIG92ZXJ2aWV3IGZpbGUgaXMgaW4gJUJVSUxERElSJS9jaGFuZ2VzLgoJZ290byBlbmQKKQoKaWYgIiUxIiA9PSAibGlua2NoZWNrIiAoCgklU1BISU5YQlVJTEQlIC1iIGxpbmtjaGVjayAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS9saW5rY2hlY2sKCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDEKCWVjaG8uCgllY2hvLkxpbmsgY2hlY2sgY29tcGxldGU7IGxvb2sgZm9yIGFueSBlcnJvcnMgaW4gdGhlIGFib3ZlIG91dHB1dCBeCm9yIGluICVCVUlMRERJUiUvbGlua2NoZWNrL291dHB1dC50eHQuCglnb3RvIGVuZAopCgppZiAiJTEiID09ICJkb2N0ZXN0IiAoCgklU1BISU5YQlVJTEQlIC1iIGRvY3Rlc3QgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvZG9jdGVzdAoJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQoJZWNoby4KCWVjaG8uVGVzdGluZyBvZiBkb2N0ZXN0cyBpbiB0aGUgc291cmNlcyBmaW5pc2hlZCwgbG9vayBhdCB0aGUgXgpyZXN1bHRzIGluICVCVUlMRERJUiUvZG9jdGVzdC9vdXRwdXQudHh0LgoJZ290byBlbmQKKQoKOmVuZAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/Makefile</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBNYWtlZmlsZSBmb3IgU3BoaW54IGRvY3VtZW50YXRpb24KIwoKIyBZb3UgY2FuIHNldCB0aGVzZSB2YXJpYWJsZXMgZnJvbSB0aGUgY29tbWFuZCBsaW5lLgpTUEhJTlhPUFRTICAgID0KU1BISU5YQlVJTEQgICA9IHNwaGlueC1idWlsZApQQVBFUiAgICAgICAgID0KQlVJTERESVIgICAgICA9IF9idWlsZApUUkFDS0lORyAgICAgID0KCiMgSW50ZXJuYWwgdmFyaWFibGVzLgpQQVBFUk9QVF9hNCAgICAgPSAtRCBsYXRleF9wYXBlcl9zaXplPWE0ClBBUEVST1BUX2xldHRlciA9IC1EIGxhdGV4X3BhcGVyX3NpemU9bGV0dGVyCkFMTFNQSElOWE9QVFMgICA9IC1kICQoQlVJTERESVIpL2RvY3RyZWVzICQoUEFQRVJPUFRfJChQQVBFUikpICQoU1BISU5YT1BUUykgLgojIHRoZSBpMThuIGJ1aWxkZXIgY2Fubm90IHNoYXJlIHRoZSBlbnZpcm9ubWVudCBhbmQgZG9jdHJlZXMgd2l0aCB0aGUgb3RoZXJzCkkxOE5TUEhJTlhPUFRTICA9ICQoUEFQRVJPUFRfJChQQVBFUikpICQoU1BISU5YT1BUUykgLgoKLlBIT05ZOiBoZWxwIGNsZWFuIGh0bWwgZGlyaHRtbCBzaW5nbGVodG1sIHBpY2tsZSBqc29uIGh0bWxoZWxwIHF0aGVscCBkZXZoZWxwIGVwdWIgbGF0ZXggbGF0ZXhwZGYgdGV4dCBtYW4gY2hhbmdlcyBsaW5rY2hlY2sgZG9jdGVzdCBnZXR0ZXh0CgpoZWxwOgoJQGVjaG8gIlBsZWFzZSB1c2UgXGBtYWtlIDx0YXJnZXQ+JyB3aGVyZSA8dGFyZ2V0PiBpcyBvbmUgb2YiCglAZWNobyAiICBodG1sICAgICAgIHRvIG1ha2Ugc3RhbmRhbG9uZSBIVE1MIGZpbGVzIgoJQGVjaG8gIiAgcGRmICAgICAgICB0byBtYWtlIFBERiBmaWxlcyIKCUBlY2hvICIgIGRpcmh0bWwgICAgdG8gbWFrZSBIVE1MIGZpbGVzIG5hbWVkIGluZGV4Lmh0bWwgaW4gZGlyZWN0b3JpZXMiCglAZWNobyAiICBzaW5nbGVodG1sIHRvIG1ha2UgYSBzaW5nbGUgbGFyZ2UgSFRNTCBmaWxlIgoJQGVjaG8gIiAgcGlja2xlICAgICB0byBtYWtlIHBpY2tsZSBmaWxlcyIKCUBlY2hvICIgIGpzb24gICAgICAgdG8gbWFrZSBKU09OIGZpbGVzIgoJQGVjaG8gIiAgaHRtbGhlbHAgICB0byBtYWtlIEhUTUwgZmlsZXMgYW5kIGEgSFRNTCBoZWxwIHByb2plY3QiCglAZWNobyAiICBxdGhlbHAgICAgIHRvIG1ha2UgSFRNTCBmaWxlcyBhbmQgYSBxdGhlbHAgcHJvamVjdCIKCUBlY2hvICIgIGRldmhlbHAgICAgdG8gbWFrZSBIVE1MIGZpbGVzIGFuZCBhIERldmhlbHAgcHJvamVjdCIKCUBlY2hvICIgIGVwdWIgICAgICAgdG8gbWFrZSBhbiBlcHViIgoJQGVjaG8gIiAgbGF0ZXggICAgICB0byBtYWtlIExhVGVYIGZpbGVzLCB5b3UgY2FuIHNldCBQQVBFUj1hNCBvciBQQVBFUj1sZXR0ZXIiCglAZWNobyAiICBsYXRleHBkZiAgIHRvIG1ha2UgTGFUZVggZmlsZXMgYW5kIHJ1biB0aGVtIHRocm91Z2ggcGRmbGF0ZXgiCglAZWNobyAiICB0ZXh0ICAgICAgIHRvIG1ha2UgdGV4dCBmaWxlcyIKCUBlY2hvICIgIG1hbiAgICAgICAgdG8gbWFrZSBtYW51YWwgcGFnZXMiCglAZWNobyAiICB0ZXhpbmZvICAgIHRvIG1ha2UgVGV4aW5mbyBmaWxlcyIKCUBlY2hvICIgIGluZm8gICAgICAgdG8gbWFrZSBUZXhpbmZvIGZpbGVzIGFuZCBydW4gdGhlbSB0aHJvdWdoIG1ha2VpbmZvIgoJQGVjaG8gIiAgZ2V0dGV4dCAgICB0byBtYWtlIFBPIG1lc3NhZ2UgY2F0YWxvZ3MiCglAZWNobyAiICBjaGFuZ2VzICAgIHRvIG1ha2UgYW4gb3ZlcnZpZXcgb2YgYWxsIGNoYW5nZWQvYWRkZWQvZGVwcmVjYXRlZCBpdGVtcyIKCUBlY2hvICIgIGxpbmtjaGVjayAgdG8gY2hlY2sgYWxsIGV4dGVybmFsIGxpbmtzIGZvciBpbnRlZ3JpdHkiCglAZWNobyAiICBkb2N0ZXN0ICAgIHRvIHJ1biBhbGwgZG9jdGVzdHMgZW1iZWRkZWQgaW4gdGhlIGRvY3VtZW50YXRpb24gKGlmIGVuYWJsZWQpIgoKY2xlYW46Cgktcm0gLXJmICQoQlVJTERESVIpLyoKCmh0bWw6CgkkKFNQSElOWEJVSUxEKSAtYiBodG1sICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvaHRtbAoJQGVjaG8KCUBlY2hvICJCdWlsZCBmaW5pc2hlZC4gVGhlIEhUTUwgcGFnZXMgYXJlIGluICQoQlVJTERESVIpL2h0bWwuIgoKcGRmOgoJJChTUEhJTlhCVUlMRCkgLWIgcGRmICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvcGRmCglAZWNobwoJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgUERGIGZpbGUgaXMgaW4gJChCVUlMRERJUikvcGRmLiIKCmRpcmh0bWw6CgkkKFNQSElOWEJVSUxEKSAtYiBkaXJodG1sICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvZGlyaHRtbAoJQGVjaG8KCUBlY2hvICJCdWlsZCBmaW5pc2hlZC4gVGhlIEhUTUwgcGFnZXMgYXJlIGluICQoQlVJTERESVIpL2Rpcmh0bWwuIgoKc2luZ2xlaHRtbDoKCSQoU1BISU5YQlVJTEQpIC1iIHNpbmdsZWh0bWwgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9zaW5nbGVodG1sCglAZWNobwoJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgSFRNTCBwYWdlIGlzIGluICQoQlVJTERESVIpL3NpbmdsZWh0bWwuIgoKcGlja2xlOgoJJChTUEhJTlhCVUlMRCkgLWIgcGlja2xlICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvcGlja2xlCglAZWNobwoJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkOyBub3cgeW91IGNhbiBwcm9jZXNzIHRoZSBwaWNrbGUgZmlsZXMuIgoKanNvbjoKCSQoU1BISU5YQlVJTEQpIC1iIGpzb24gJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9qc29uCglAZWNobwoJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkOyBub3cgeW91IGNhbiBwcm9jZXNzIHRoZSBKU09OIGZpbGVzLiIKCmh0bWxoZWxwOgoJJChTUEhJTlhCVUlMRCkgLWIgaHRtbGhlbHAgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9odG1saGVscAoJQGVjaG8KCUBlY2hvICJCdWlsZCBmaW5pc2hlZDsgbm93IHlvdSBjYW4gcnVuIEhUTUwgSGVscCBXb3Jrc2hvcCB3aXRoIHRoZSIgXAoJICAgICAgIi5oaHAgcHJvamVjdCBmaWxlIGluICQoQlVJTERESVIpL2h0bWxoZWxwLiIKCnF0aGVscDoKCSQoU1BISU5YQlVJTEQpIC1iIHF0aGVscCAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL3F0aGVscAoJQGVjaG8KCUBlY2hvICJCdWlsZCBmaW5pc2hlZDsgbm93IHlvdSBjYW4gcnVuICJxY29sbGVjdGlvbmdlbmVyYXRvciIgd2l0aCB0aGUiIFwKCSAgICAgICIucWhjcCBwcm9qZWN0IGZpbGUgaW4gJChCVUlMRERJUikvcXRoZWxwLCBsaWtlIHRoaXM6IgoJQGVjaG8gIiMgcWNvbGxlY3Rpb25nZW5lcmF0b3IgJChCVUlMRERJUikvcXRoZWxwL0FXU1NES2ZvclBIUC5xaGNwIgoJQGVjaG8gIlRvIHZpZXcgdGhlIGhlbHAgZmlsZToiCglAZWNobyAiIyBhc3Npc3RhbnQgLWNvbGxlY3Rpb25GaWxlICQoQlVJTERESVIpL3F0aGVscC9BV1NTREtmb3JQSFAucWhjIgoKZGV2aGVscDoKCSQoU1BISU5YQlVJTEQpIC1iIGRldmhlbHAgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9kZXZoZWxwCglAZWNobwoJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiIKCUBlY2hvICJUbyB2aWV3IHRoZSBoZWxwIGZpbGU6IgoJQGVjaG8gIiMgbWtkaXIgLXAgJCRIT01FLy5sb2NhbC9zaGFyZS9kZXZoZWxwL0FXU1NES2ZvclBIUCIKCUBlY2hvICIjIGxuIC1zICQoQlVJTERESVIpL2RldmhlbHAgJCRIT01FLy5sb2NhbC9zaGFyZS9kZXZoZWxwL0FXU1NES2ZvclBIUCIKCUBlY2hvICIjIGRldmhlbHAiCgplcHViOgoJJChTUEhJTlhCVUlMRCkgLWIgZXB1YiAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL2VwdWIKCUBlY2hvCglAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSBlcHViIGZpbGUgaXMgaW4gJChCVUlMRERJUikvZXB1Yi4iCgpsYXRleDoKCSQoU1BISU5YQlVJTEQpIC1iIGxhdGV4ICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvbGF0ZXgKCUBlY2hvCglAZWNobyAiQnVpbGQgZmluaXNoZWQ7IHRoZSBMYVRlWCBmaWxlcyBhcmUgaW4gJChCVUlMRERJUikvbGF0ZXguIgoJQGVjaG8gIlJ1biBcYG1ha2UnIGluIHRoYXQgZGlyZWN0b3J5IHRvIHJ1biB0aGVzZSB0aHJvdWdoIChwZGYpbGF0ZXgiIFwKCSAgICAgICIodXNlIFxgbWFrZSBsYXRleHBkZicgaGVyZSB0byBkbyB0aGF0IGF1dG9tYXRpY2FsbHkpLiIKCmxhdGV4cGRmOgoJJChTUEhJTlhCVUlMRCkgLWIgbGF0ZXggJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9sYXRleAoJQGVjaG8gIlJ1bm5pbmcgTGFUZVggZmlsZXMgdGhyb3VnaCBwZGZsYXRleC4uLiIKCSQoTUFLRSkgLUMgJChCVUlMRERJUikvbGF0ZXggYWxsLXBkZgoJQGVjaG8gInBkZmxhdGV4IGZpbmlzaGVkOyB0aGUgUERGIGZpbGVzIGFyZSBpbiAkKEJVSUxERElSKS9sYXRleC4iCgp0ZXh0OgoJJChTUEhJTlhCVUlMRCkgLWIgdGV4dCAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL3RleHQKCUBlY2hvCglAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSB0ZXh0IGZpbGVzIGFyZSBpbiAkKEJVSUxERElSKS90ZXh0LiIKCm1hbjoKCSQoU1BISU5YQlVJTEQpIC1iIG1hbiAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL21hbgoJQGVjaG8KCUBlY2hvICJCdWlsZCBmaW5pc2hlZC4gVGhlIG1hbnVhbCBwYWdlcyBhcmUgaW4gJChCVUlMRERJUikvbWFuLiIKCnRleGluZm86CgkkKFNQSElOWEJVSUxEKSAtYiB0ZXhpbmZvICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvdGV4aW5mbwoJQGVjaG8KCUBlY2hvICJCdWlsZCBmaW5pc2hlZC4gVGhlIFRleGluZm8gZmlsZXMgYXJlIGluICQoQlVJTERESVIpL3RleGluZm8uIgoJQGVjaG8gIlJ1biBcYG1ha2UnIGluIHRoYXQgZGlyZWN0b3J5IHRvIHJ1biB0aGVzZSB0aHJvdWdoIG1ha2VpbmZvIiBcCgkgICAgICAiKHVzZSBcYG1ha2UgaW5mbycgaGVyZSB0byBkbyB0aGF0IGF1dG9tYXRpY2FsbHkpLiIKCmluZm86CgkkKFNQSElOWEJVSUxEKSAtYiB0ZXhpbmZvICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvdGV4aW5mbwoJQGVjaG8gIlJ1bm5pbmcgVGV4aW5mbyBmaWxlcyB0aHJvdWdoIG1ha2VpbmZvLi4uIgoJbWFrZSAtQyAkKEJVSUxERElSKS90ZXhpbmZvIGluZm8KCUBlY2hvICJtYWtlaW5mbyBmaW5pc2hlZDsgdGhlIEluZm8gZmlsZXMgYXJlIGluICQoQlVJTERESVIpL3RleGluZm8uIgoKZ2V0dGV4dDoKCSQoU1BISU5YQlVJTEQpIC1iIGdldHRleHQgJChJMThOU1BISU5YT1BUUykgJChCVUlMRERJUikvbG9jYWxlCglAZWNobwoJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgbWVzc2FnZSBjYXRhbG9ncyBhcmUgaW4gJChCVUlMRERJUikvbG9jYWxlLiIKCmNoYW5nZXM6CgkkKFNQSElOWEJVSUxEKSAtYiBjaGFuZ2VzICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvY2hhbmdlcwoJQGVjaG8KCUBlY2hvICJUaGUgb3ZlcnZpZXcgZmlsZSBpcyBpbiAkKEJVSUxERElSKS9jaGFuZ2VzLiIKCmxpbmtjaGVjazoKCSQoU1BISU5YQlVJTEQpIC1iIGxpbmtjaGVjayAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL2xpbmtjaGVjawoJQGVjaG8KCUBlY2hvICJMaW5rIGNoZWNrIGNvbXBsZXRlOyBsb29rIGZvciBhbnkgZXJyb3JzIGluIHRoZSBhYm92ZSBvdXRwdXQgIiBcCgkgICAgICAib3IgaW4gJChCVUlMRERJUikvbGlua2NoZWNrL291dHB1dC50eHQuIgoKZG9jdGVzdDoKCSQoU1BISU5YQlVJTEQpIC1iIGRvY3Rlc3QgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9kb2N0ZXN0CglAZWNobyAiVGVzdGluZyBvZiBkb2N0ZXN0cyBpbiB0aGUgc291cmNlcyBmaW5pc2hlZCwgbG9vayBhdCB0aGUgIiBcCgkgICAgICAicmVzdWx0cyBpbiAkKEJVSUxERElSKS9kb2N0ZXN0L291dHB1dC50eHQuIgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/migration-guide.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09Ck1pZ3JhdGlvbiBHdWlkZQo9PT09PT09PT09PT09PT0KClRoaXMgZ3VpZGUgc2hvd3MgaG93IHRvIG1pZ3JhdGUgeW91ciBjb2RlIHRvIHVzZSB0aGUgbmV3IEFXUyBTREsgZm9yIFBIUCBhbmQgaG93IHRoZSBuZXcgU0RLIGRpZmZlcnMgZnJvbSB0aGUKQVdTIFNESyBmb3IgUEhQIC0gVmVyc2lvbiAxLgoKSW50cm9kdWN0aW9uCi0tLS0tLS0tLS0tLQoKVGhlIFBIUCBsYW5ndWFnZSBhbmQgY29tbXVuaXR5IGhhdmUgZXZvbHZlZCBzaWduaWZpY2FudGx5IG92ZXIgdGhlIHBhc3QgZmV3IHllYXJzLiBTaW5jZSB0aGUgaW5jZXB0aW9uIG9mIHRoZSBBV1MgU0RLCmZvciBQSFAsIFBIUCBoYXMgZ29uZSB0aHJvdWdoIHR3byBtYWpvciB2ZXJzaW9uIGNoYW5nZXMgKGB2ZXJzaW9ucyA1LjMgYW5kIDUuNCA8aHR0cDovL3BocC5uZXQvZG93bmxvYWRzLnBocCN2NT5gXykgYW5kCm1hbnkgaW4gdGhlIFBIUCBjb21tdW5pdHkgaGF2ZSB1bmlmaWVkIGJlaGluZCB0aGUgcmVjb21tZW5kYXRpb25zIG9mIHRoZSBgUEhQIEZyYW1ld29yayBJbnRlcm9wIEdyb3VwCjxodHRwOi8vcGhwLWZpZy5vcmc+YF8uIENvbnNlcXVlbnRseSwgd2UgZGVjaWRlZCB0byBtYWtlIGJyZWFraW5nIGNoYW5nZXMgdG8gdGhlIFNESyBpbiBvcmRlciB0byBhbGlnbiB3aXRoIHRoZSBtb3JlCm1vZGVybiBwYXR0ZXJucyB1c2VkIGluIHRoZSBQSFAgY29tbXVuaXR5LgoKRm9yIHRoZSBuZXcgcmVsZWFzZSwgd2UgcmV3cm90ZSB0aGUgU0RLIGZyb20gdGhlIGdyb3VuZCB1cCB0byBhZGRyZXNzIHBvcHVsYXIgY3VzdG9tZXIgcmVxdWVzdHMuIFRoZSBuZXcgU0RLIGlzIGJ1aWx0IG9uCnRvcCBvZiB0aGUgYEd1enpsZSBIVFRQIGNsaWVudCBmcmFtZXdvcmsgPGh0dHA6Ly9ndXp6bGVwaHAub3JnPmBfLCB3aGljaCBwcm92aWRlcyBpbmNyZWFzZWQgcGVyZm9ybWFuY2UgYW5kIGVuYWJsZXMKZXZlbnQtZHJpdmVuIGN1c3RvbWl6YXRpb24uICBXZSBhbHNvIGludHJvZHVjZWQgaGlnaC1sZXZlbCBhYnN0cmFjdGlvbnMgdG8gbWFrZSBwcm9ncmFtbWluZyBjb21tb24gdGFza3MgZWFzeS4gVGhlIFNESwppcyBjb21wYXRpYmxlIHdpdGggUEhQIDUuMy4zIGFuZCBuZXdlciwgYW5kIGZvbGxvd3MgdGhlIFBTUi0wIHN0YW5kYXJkIGZvciBuYW1lc3BhY2VzIGFuZCBhdXRvbG9hZGluZy4KCldoaWNoIFNlcnZpY2VzIGFyZSBTdXBwb3J0ZWQ/Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgQVdTIFNESyBmb3IgUEhQIHN1cHBvcnRzIGFsbCBvZiB0aGUgQVdTIHNlcnZpY2VzIHN1cHBvcnRlZCBieSBWZXJzaW9uIDEgb2YgdGhlIFNESyBhbmQgbW9yZSwgaW5jbHVkaW5nIEFtYXpvbgpSb3V0ZSA1MywgQW1hem9uIEdsYWNpZXIsIGFuZCBBV1MgRGlyZWN0IENvbm5lY3QuIFNlZSB0aGUgYEFXUyBTREsgZm9yIFBIUCB3ZWJzaXRlIDxodHRwOi8vYXdzLmFtYXpvbi5jb20vc2RrZm9ycGhwLz5gXwpmb3IgdGhlIGZ1bGwgbGlzdCBvZiBzZXJ2aWNlcyBzdXBwb3J0ZWQgYnkgdGhlIFNESy4gQmUgc3VyZSB0byB3YXRjaCBvciBzdGFyIG91ciBgQVdTIFNESyBmb3IgUEhQIEdpdEh1YiByZXBvc2l0b3J5CjxodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstcGhwPmBfIHRvIHN0YXkgdXAtdG8tZGF0ZSB3aXRoIHRoZSBsYXRlc3QgY2hhbmdlcy4KCldoYXQncyBOZXc/Ci0tLS0tLS0tLS0tCgotIGBQSFAgNS4zIG5hbWVzcGFjZXMgPGh0dHA6Ly9waHAubmV0L25hbWVzcGFjZXM+YF8KLSBGb2xsb3dzIGBQU1ItMCwgUFNSLTEsIGFuZCBQU1ItMiBzdGFuZGFyZHMgPGh0dHA6Ly9waHAtZmlnLm9yZz5gXwotIEJ1aWx0IG9uIGBHdXp6bGUgPGh0dHA6Ly9ndXp6bGVwaHAub3JnPmBfIGFuZCB1dGlsaXplcyB0aGUgR3V6emxlIGZlYXR1cmUgc2V0Ci0gUGVyc2lzdGVudCBjb25uZWN0aW9uIG1hbmFnZW1lbnQgZm9yIGJvdGggc2VyaWFsIGFuZCBwYXJhbGxlbCByZXF1ZXN0cwotIEV2ZW50IGhvb2tzICh2aWEgYFN5bWZvbnkyIEV2ZW50RGlzcGF0Y2hlcgogIDxodHRwOi8vc3ltZm9ueS5jb20vZG9jLzIuMC9jb21wb25lbnRzL2V2ZW50X2Rpc3BhdGNoZXIvaW50cm9kdWN0aW9uLmh0bWw+YF8pIGZvciBldmVudC1kcml2ZW4sIGN1c3RvbSBiZWhhdmlvcgotIFJlcXVlc3QgYW5kIHJlc3BvbnNlIGVudGl0eSBib2RpZXMgYXJlIHN0b3JlZCBpbiBgYHBocDovL3RlbXBgYCBzdHJlYW1zIHRvIHJlZHVjZSBtZW1vcnkgdXNhZ2UKLSBUcmFuc2llbnQgbmV0d29ya2luZyBhbmQgY1VSTCBmYWlsdXJlcyBhcmUgYXV0b21hdGljYWxseSByZXRyaWVkIHVzaW5nIHRydW5jYXRlZCBleHBvbmVudGlhbCBiYWNrb2ZmCi0gUGx1Zy1pbnMgZm9yIG92ZXItdGhlLXdpcmUgbG9nZ2luZyBhbmQgcmVzcG9uc2UgY2FjaGluZwotICJXYWl0ZXIiIG9iamVjdHMgdGhhdCBhbGxvdyB5b3UgdG8gcG9sbCBhIHJlc291cmNlIHVudGlsIGl0IGlzIGluIGEgZGVzaXJlZCBzdGF0ZQotIFJlc291cmNlIGl0ZXJhdG9yIG9iamVjdHMgZm9yIGVhc2lseSBpdGVyYXRpbmcgb3ZlciBwYWdpbmF0ZWQgcmVzcG9uc2VzCi0gU2VydmljZS1zcGVjaWZpYyBzZXRzIG9mIGV4Y2VwdGlvbnMKLSBNb2RlbGVkIHJlc3BvbnNlcyB3aXRoIGEgc2ltcGxlciBpbnRlcmZhY2UKLSBHcm91cGVkIGNvbnN0YW50cyAoRW51bXMpIGZvciBzZXJ2aWNlIHBhcmFtZXRlciBvcHRpb25zCi0gRmxleGlibGUgcmVxdWVzdCBiYXRjaGluZyBzeXN0ZW0KLSBTZXJ2aWNlIGJ1aWxkZXIvY29udGFpbmVyIHRoYXQgc3VwcG9ydHMgZWFzeSBjb25maWd1cmF0aW9uIGFuZCBkZXBlbmRlbmN5IGluamVjdGlvbgotIEZ1bGwgdW5pdCB0ZXN0IHN1aXRlIHdpdGggZXh0ZW5zaXZlIGNvZGUgY292ZXJhZ2UKLSBgQ29tcG9zZXIgPGh0dHA6Ly9nZXRjb21wb3Nlci5vcmc+YF8gc3VwcG9ydCAoaW5jbHVkaW5nIFBTUi0wIGNvbXBsaWFuY2UpIGZvciBpbnN0YWxsaW5nIGFuZCBhdXRvbG9hZGluZyBTREsKICBkZXBlbmRlbmNpZXMKLSBgUGhpbmcgPGh0dHA6Ly9waGluZy5pbmZvPmBfIGBgYnVpbGQueG1sYGAgZm9yIGluc3RhbGxpbmcgZGV2IHRvb2xzLCBkcml2aW5nIHRlc3RpbmcsIGFuZCBwcm9kdWNpbmcgYGAucGhhcmBgIGZpbGVzCi0gRmFzdCBBbWF6b24gRHluYW1vREIgYmF0Y2ggUHV0SXRlbSBhbmQgRGVsZXRlSXRlbSBzeXN0ZW0KLSBNdWx0aXBhcnQgdXBsb2FkIHN5c3RlbSBmb3IgQW1hem9uIFNpbXBsZSBTdG9yYWdlIFNlcnZpY2UgKEFtYXpvbiBTMykgYW5kIEFtYXpvbiBHbGFjaWVyIHRoYXQgY2FuIGJlIHBhdXNlZCBhbmQKICByZXN1bWVkCi0gUmVkZXNpZ25lZCBEeW5hbW9EQiBTZXNzaW9uIEhhbmRsZXIgd2l0aCBzbWFydGVyIHdyaXRpbmcgYW5kIGdhcmJhZ2UgY29sbGVjdGlvbgotIEltcHJvdmVkIG11bHRpLXJlZ2lvbiBzdXBwb3J0CgpXaGF0J3MgRGlmZmVyZW50PwotLS0tLS0tLS0tLS0tLS0tLQoKQXJjaGl0ZWN0dXJlCn5+fn5+fn5+fn5+fgoKVGhlIG5ldyBTREsgaXMgYnVpbHQgb24gdG9wIG9mIGBHdXp6bGUgPGh0dHA6Ly9ndXp6bGVwaHAub3JnPmBfIGFuZCBpbmhlcml0cyBpdHMgZmVhdHVyZXMgYW5kCmNvbnZlbnRpb25zLiBFdmVyeSBBV1Mgc2VydmljZSBjbGllbnQgZXh0ZW5kcyB0aGUgR3V6emxlIGNsaWVudCwgZGVmaW5pbmcgb3BlcmF0aW9ucyB0aHJvdWdoIGEgc2VydmljZSBkZXNjcmlwdGlvbgpmaWxlLiBUaGUgU0RLIGhhcyBhIG11Y2ggbW9yZSByb2J1c3QgYW5kIGZsZXhpYmxlIG9iamVjdC1vcmllbnRlZCBhcmNoaXRlY3R1cmUsIGluY2x1ZGluZyB0aGUgdXNlIG9mIGRlc2lnbiBwYXR0ZXJucywKZXZlbnQgZGlzcGF0Y2hpbmcgYW5kIGRlcGVuZGVuY3kgaW5qZWN0aW9uLiBBcyBhIHJlc3VsdCwgbWFueSBvZiB0aGUgY2xhc3NlcyBhbmQgbWV0aG9kcyBmcm9tIHRoZSBwcmV2aW91cyBTREsgaGF2ZQpiZWVuIGNoYW5nZWQuCgpQcm9qZWN0IERlcGVuZGVuY2llcwp+fn5+fn5+fn5+fn5+fn5+fn5+fgoKVW5saWtlIHRoZSBWZXJzaW9uIDEgb2YgdGhlIFNESywgdGhlIG5ldyBTREsgZG9lcyBub3QgcHJlLXBhY2thZ2UgYWxsIG9mIGl0cyBkZXBlbmRlbmNpZXMKaW4gdGhlIHJlcG9zaXRvcnkuIERlcGVuZGVuY2llcyBhcmUgYmVzdCByZXNvbHZlZCBhbmQgYXV0b2xvYWRlZCB2aWEgYENvbXBvc2VyIDxodHRwOi8vZ2V0Y29tcG9zZXIub3JnPmBfLiBIb3dldmVyLAp3aGVuIGluc3RhbGxpbmcgdGhlIFNESyB2aWEgdGhlIGRvd25sb2FkYWJsZSBwaGFyLCB0aGUgZGVwZW5kZW5jaWVzIGFyZSByZXNvbHZlZCBmb3IgeW91LgoKTmFtZXNwYWNlcwp+fn5+fn5+fn5+CgpUaGUgU0RLJ3MgZGlyZWN0b3J5IHN0cnVjdHVyZSBhbmQgbmFtZXNwYWNlcyBhcmUgb3JnYW5pemVkIGFjY29yZGluZyB0byBgUFNSLTAgc3RhbmRhcmRzCjxodHRwczovL2dpdGh1Yi5jb20vcGhwLWZpZy9maWctc3RhbmRhcmRzL2Jsb2IvbWFzdGVyL2FjY2VwdGVkL1BTUi0wLm1kPmBfLCBtYWtpbmcgdGhlIFNESyBpbmhlcmVudGx5IG1vZHVsYXIuIFRoZQpgYEF3c1xDb21tb25gYCBuYW1lc3BhY2UgY29udGFpbnMgdGhlIGNvcmUgY29kZSBvZiB0aGUgU0RLLCBhbmQgZWFjaCBzZXJ2aWNlIGNsaWVudCBpcyBjb250YWluZWQgaW4gaXRzIG93biBzZXBhcmF0ZQpuYW1lc3BhY2UgKGUuZy4sIGBgQXdzXER5bmFtb0RiYGApLgoKQ29kaW5nIFN0YW5kYXJkcwp+fn5+fn5+fn5+fn5+fn5+CgpUaGUgU0RLIGFkb3B0cyB0aGUgUFNSIHN0YW5kYXJkcyBwcm9kdWNlZCBieSB0aGUgUEhQIEZyYW1ld29yayBJbnRlcm9wIEdyb3VwLiBBbiBpbW1lZGlhdGVseQpub3RpY2VhYmxlIGNoYW5nZSBpcyB0aGF0IGFsbCBtZXRob2QgbmFtZXMgYXJlIG5vdyBuYW1lZCB1c2luZyBsb3dlciBjYW1lbC1jYXNlCihlLmcuLCBgYHB1dE9iamVjdGBgIGluc3RlYWQgb2YgYGBwdXRfb2JqZWN0YGApLgoKUmVxdWlyZWQgUmVnaW9ucwp+fn5+fn5+fn5+fn5+fn5+CgpUaGUgYHJlZ2lvbiA8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2VuZXJhbC9sYXRlc3QvZ3IvcmFuZGUuaHRtbD5gXyBtdXN0IGJlIHByb3ZpZGVkIHRvIGluc3RhbnRpYXRlIGEgY2xpZW50CihleGNlcHQgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIHNlcnZpY2UgaGFzIGEgc2luZ2xlIGVuZHBvaW50IGxpa2UgQW1hem9uIENsb3VkRnJvbnQpLiBUaGUgQVdTIHJlZ2lvbiB5b3Ugc2VsZWN0IG1heQphZmZlY3QgYm90aCB5b3VyIHBlcmZvcm1hbmNlIGFuZCBjb3N0cy4KCkNsaWVudCBGYWN0b3JpZXMKfn5+fn5+fn5+fn5+fn5+fgoKRmFjdG9yeSBtZXRob2RzIGluc3RhbnRpYXRlIHNlcnZpY2UgY2xpZW50cyBhbmQgZG8gdGhlIHdvcmsgb2Ygc2V0dGluZyB1cCB0aGUgc2lnbmF0dXJlLApleHBvbmVudGlhbCBiYWNrb2ZmIHNldHRpbmdzLCBleGNlcHRpb24gaGFuZGxlciwgYW5kIHNvIGZvcnRoLiBBdCBhIG1pbmltdW0geW91IG11c3QgcHJvdmlkZSB5b3VyIGFjY2VzcyBrZXksIHNlY3JldAprZXksIGFuZCByZWdpb24gdG8gdGhlIGNsaWVudCBmYWN0b3J5LCBidXQgdGhlcmUgYXJlIG1hbnkgb3RoZXIgc2V0dGluZ3MgeW91IGNhbiB1c2UgdG8gY3VzdG9taXplIHRoZSBjbGllbnQKYmVoYXZpb3IuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGR5bmFtb2RiID0gQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICdrZXknICAgID0+ICd5b3VyLWF3cy1hY2Nlc3Mta2V5LWlkJywKICAgICAgICAnc2VjcmV0JyA9PiAneW91ci1hd3Mtc2VjcmV0LWFjY2Vzcy1rZXknLAogICAgICAgICdyZWdpb24nID0+ICd1cy13ZXN0LTInLAogICAgKSk7CgpDb25maWd1cmF0aW9uCn5+fn5+fn5+fn5+fn4KCkEgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gZmlsZSBjYW4gYmUgdXNlZCB0byBpbmplY3QgY3JlZGVudGlhbHMgaW50byBjbGllbnRzCmF1dG9tYXRpY2FsbHkgdmlhIHRoZSBzZXJ2aWNlIGJ1aWxkZXIuIFRoZSBzZXJ2aWNlIGJ1aWxkZXIgYWN0cyBhcyBhIGRlcGVuZGVuY3kgaW5qZWN0aW9uIGNvbnRhaW5lciBmb3IgdGhlIHNlcnZpY2UKY2xpZW50cy4gKCoqTm90ZToqKiBUaGUgU0RLIGRvZXMgbm90IGF1dG9tYXRpY2FsbHkgYXR0ZW1wdCB0byBsb2FkIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgbGlrZSBpbiBWZXJzaW9uIDEgb2YgdGhlClNESy4pCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGF3cyA9IEF3c1xDb21tb25cQXdzOjpmYWN0b3J5KCcvcGF0aC90by9jdXN0b20vY29uZmlnLnBocCcpOwogICAgJHMzID0gJGF3cy0+Z2V0KCdzMycpOwoKVGhpcyB0ZWNobmlxdWUgaXMgdGhlIHByZWZlcnJlZCB3YXkgZm9yIGluc3RhbnRpYXRpbmcgc2VydmljZSBjbGllbnRzLiBZb3VyIGBgY29uZmlnLnBocGBgIG1pZ2h0IGxvb2sgc2ltaWxhciB0byB0aGUKZm9sbG93aW5nOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIDw/cGhwCiAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgJ2luY2x1ZGVzJyA9PiBhcnJheSgnX2F3cycpLAogICAgICAgICdzZXJ2aWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdkZWZhdWx0X3NldHRpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdwYXJhbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdrZXknICAgID0+ICd5b3VyLWF3cy1hY2Nlc3Mta2V5LWlkJywKICAgICAgICAgICAgICAgICAgICAnc2VjcmV0JyA9PiAneW91ci1hd3Mtc2VjcmV0LWFjY2Vzcy1rZXknLAogICAgICAgICAgICAgICAgICAgICdyZWdpb24nID0+ICd1cy13ZXN0LTInCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApCiAgICApOwoKVGhlIGxpbmUgdGhhdCBzYXlzIGBgJ2luY2x1ZGVzJyA9PiBhcnJheSgnX2F3cycpYGAgaW5jbHVkZXMgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmaWxlIHBhY2thZ2VkIHdpdGggdGhlIFNESy4gVGhpcwpzZXRzIHVwIGFsbCBvZiB0aGUgc2VydmljZSBjbGllbnRzIGZvciB5b3Ugc28geW91IGNhbiByZXRyaWV2ZSB0aGVtIGJ5IG5hbWUgd2l0aCB0aGUgYGBnZXQoKWBgIG1ldGhvZCBvZiB0aGUgc2VydmljZQpidWlsZGVyLgoKU2VydmljZSBPcGVyYXRpb25zCn5+fn5+fn5+fn5+fn5+fn5+fgoKRXhlY3V0aW5nIG9wZXJhdGlvbnMgaW4gdGhlIG5ldyBTREsgaXMgc2ltaWxhciB0byBob3cgaXQgd2FzIGluIHRoZSBwcmV2aW91cyBTREssIHdpdGggdHdvCm1haW4gZGlmZmVyZW5jZXMuIEZpcnN0LCBvcGVyYXRpb25zIGZvbGxvdyB0aGUgbG93ZXIgY2FtZWwtY2FzZSBuYW1pbmcgY29udmVudGlvbi4gU2Vjb25kLCBhIHNpbmdsZSBhcnJheSBwYXJhbWV0ZXIgaXMKdXNlZCB0byBwYXNzIGluIGFsbCBvZiB0aGUgb3BlcmF0aW9uIG9wdGlvbnMuIFRoZSBmb2xsb3dpbmcgZXhhbXBsZXMgc2hvdyB0aGUgQW1hem9uIFMzIGBgUHV0T2JqZWN0YGAgb3BlcmF0aW9uCnBlcmZvcm1lZCBpbiBlYWNoIFNESzoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAvLyBQcmV2aW91cyBTREsgLSBQdXRPYmplY3Qgb3BlcmF0aW9uCiAgICAkczMtPmNyZWF0ZV9vYmplY3QoJ2J1Y2tldC1uYW1lJywgJ29iamVjdC1rZXkudHh0JywgYXJyYXkoCiAgICAgICAgJ2JvZHknID0+ICdsb3JlbSBpcHN1bScKICAgICkpOwoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIE5ldyBTREsgLSBQdXRPYmplY3Qgb3BlcmF0aW9uCiAgICAkcmVzdWx0ID0gJHMzLT5wdXRPYmplY3QoYXJyYXkoCiAgICAgICAgJ0J1Y2tldCcgPT4gJ2J1Y2tldC1uYW1lJywKICAgICAgICAnS2V5JyAgICA9PiAnb2JqZWN0LWtleS50eHQnLAogICAgICAgICdCb2R5JyAgID0+ICdsb3JlbSBpcHN1bScKICAgICkpOwoKSW4gdGhlIG5ldyBTREssIHRoZSBgYHB1dE9iamVjdCgpYGAgbWV0aG9kIGRvZXNuJ3QgYWN0dWFsbHkgZXhpc3QgYXMgYSBtZXRob2Qgb24gdGhlIGNsaWVudC4gSXQgaXMgaW1wbGVtZW50ZWQgdXNpbmcKdGhlIGBgX19jYWxsKClgYCBtYWdpYyBtZXRob2Qgb2YgdGhlIGNsaWVudCBhbmQgYWN0cyBhcyBhIHNob3J0Y3V0IHRvIGluc3RhbnRpYXRlIGEgY29tbWFuZCwgZXhlY3V0ZSB0aGUgY29tbWFuZCwKYW5kIHJldHJpZXZlIHRoZSByZXN1bHQuCgpBIGBgQ29tbWFuZGBgIG9iamVjdCBlbmNhcHN1bGF0ZXMgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIG9mIHRoZSBjYWxsIHRvIEFXUy4gRnJvbSB0aGUgYGBDb21tYW5kYGAgb2JqZWN0LCB5b3UgY2FuCmNhbGwgdGhlIGBgZ2V0UmVzdWx0KClgYCBtZXRob2QgKGFzIGluIHRoZSBwcmVjZWRpbmcgZXhhbXBsZSkgdG8gcmV0cmlldmUgdGhlIHBhcnNlZCByZXN1bHQsIG9yIHlvdSBjYW4gY2FsbCB0aGUKYGBnZXRSZXNwb25zZSgpYGAgbWV0aG9kIHRvIHJldHJpZXZlIGRhdGEgYWJvdXQgdGhlIHJlc3BvbnNlIChlLmcuLCB0aGUgc3RhdHVzIGNvZGUgb3IgdGhlIHJhdyByZXNwb25zZSkuCgpUaGUgYGBDb21tYW5kYGAgb2JqZWN0IGNhbiBhbHNvIGJlIHVzZWZ1bCB3aGVuIHlvdSB3YW50IHRvIG1hbmlwdWxhdGUgdGhlIGNvbW1hbmQgYmVmb3JlIGV4ZWN1dGlvbiBvciBuZWVkIHRvIGV4ZWN1dGUKc2V2ZXJhbCBjb21tYW5kcyBpbiBwYXJhbGxlbC4gVGhlIGZvbGxvd2luZyBpcyBhbiBleGFtcGxlIG9mIHRoZSBzYW1lIGBgUHV0T2JqZWN0YGAgb3BlcmF0aW9uIHVzaW5nIHRoZSBjb21tYW5kCnN5bnRheDoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY29tbWFuZCA9ICRzMy0+Z2V0Q29tbWFuZCgnUHV0T2JqZWN0JywgYXJyYXkoCiAgICAgICAgJ0J1Y2tldCcgPT4gJ2J1Y2tldC1uYW1lJywKICAgICAgICAnS2V5JyAgICA9PiAnb2JqZWN0LWtleS50eHQnLAogICAgICAgICdCb2R5JyAgID0+ICdsb3JlbSBpcHN1bScKICAgICkpOwogICAgJHJlc3VsdCA9ICRjb21tYW5kLT5nZXRSZXN1bHQoKTsKCk9yIHlvdSBjYW4gdXNlIHRoZSBjaGFpbmFibGUgYGBzZXQoKWBgIG1ldGhvZCBvbiB0aGUgYGBDb21tYW5kYGAgb2JqZWN0OgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXN1bHQgPSAkczMtPmdldENvbW1hbmQoJ1B1dE9iamVjdCcpCiAgICAgICAgLT5zZXQoJ0J1Y2tldCcsICdidWNrZXQtbmFtZScpCiAgICAgICAgLT5zZXQoJ0tleScsICdvYmplY3Qta2V5LnR4dCcpCiAgICAgICAgLT5zZXQoJ0JvZHknLCAnbG9yZW0gaXBzdW0nKQogICAgICAgIC0+Z2V0UmVzdWx0KCk7CgpSZXNwb25zZXMKfn5+fn5+fn5+CgpUaGUgZm9ybWF0IG9mIHJlc3BvbnNlcyBoYXMgY2hhbmdlZC4gUmVzcG9uc2VzIGFyZSBubyBsb25nZXIgaW5zdGFuY2VzIG9mIHRoZSBgYENGUmVzcG9uc2VgYCBvYmplY3QuClRoZSBgYENvbW1hbmRgYCBvYmplY3QgKGFzIHNlZW4gaW4gdGhlIHByZWNlZGluZyBzZWN0aW9uKSBvZiB0aGUgbmV3IFNESyBlbmNhcHN1bGF0ZXMgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlLCBhbmQgaXMKdGhlIG9iamVjdCBmcm9tIHdoaWNoIHRvIHJldHJpZXZlIHRoZSByZXN1bHRzLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIFByZXZpb3VzIFNESwogICAgLy8gRXhlY3V0ZSB0aGUgb3BlcmF0aW9uIGFuZCBnZXQgdGhlIENGUmVzcG9uc2Ugb2JqZWN0CiAgICAkcmVzcG9uc2UgPSAkczMtPmxpc3RfdGFibGVzKCk7CiAgICAvLyBHZXQgdGhlIHBhcnNlZCByZXNwb25zZSBib2R5IGFzIGEgU2ltcGxlWE1MRWxlbWVudAogICAgJHJlc3VsdCA9ICRyZXNwb25zZS0+Ym9keTsKCiAgICAvLyBOZXcgU0RLCiAgICAvLyBFeGVjdXRlcyB0aGUgb3BlcmF0aW9uIGFuZCBnZXRzIHRoZSByZXNwb25zZSBpbiBhbiBhcnJheS1saWtlIG9iamVjdAogICAgJHJlc3VsdCA9ICRzMy0+bGlzdFRhYmxlcygpOwoKVGhlIG5ldyBzeW50YXggaXMgc2ltaWxhciwgYnV0IGEgZmV3IGZ1bmRhbWVudGFsIGRpZmZlcmVuY2VzIGV4aXN0IGJldHdlZW4gcmVzcG9uc2VzIGluIHRoZSBwcmV2aW91cyBTREsgYW5kIHRoaXMKdmVyc2lvbjoKClRoZSBuZXcgU0RLIHJlcHJlc2VudHMgcGFyc2VkIHJlc3BvbnNlcyAoaS5lLiwgdGhlIHJlc3VsdHMpIGFzIEd1enpsZSBgYE1vZGVsYGAgb2JqZWN0cyBpbnN0ZWFkIG9mIGBgQ0ZTaW1wbGVYTUxgYApvYmplY3RzIGFzIGluIHRoZSBwcmlvciB2ZXJzaW9uLiBUaGVzZSBNb2RlbCBvYmplY3RzIGFyZSBlYXN5IHRvIHdvcmsgd2l0aCBzaW5jZSB0aGV5IGFjdCBsaWtlIGFycmF5cy4gVGhleSBhbHNvCmhhdmUgaGVscGZ1bCBidWlsdC1pbiBmZWF0dXJlcyBzdWNoIGFzIG1hcHBpbmcgYW5kIGZpbHRlcmluZy4gVGhlIGNvbnRlbnQgb2YgdGhlIHJlc3VsdHMgd2lsbCBhbHNvIGxvb2sgZGlmZmVyZW50Cm4gdGhpcyB2ZXJzaW9uIG9mIHRoZSBTREsuIFRoZSBTREsgbWFyc2hhbHMgcmVzcG9uc2VzIGludG8gdGhlIG1vZGVscyBhbmQgdGhlbiB0cmFuc2Zvcm1zIHRoZW0gaW50byBtb3JlIGNvbnZlbmllbnQKc3RydWN0dXJlcyBiYXNlZCBvbiB0aGUgc2VydmljZSBkZXNjcmlwdGlvbi4gVGhlIEFQSSBkb2N1bWVudGF0aW9uIGRldGFpbHMgdGhlIHJlc3BvbnNlIG9mIGFsbCBvcGVyYXRpb25zLgoKRXhjZXB0aW9ucwp+fn5+fn5+fn5+CgpUaGUgbmV3IFNESyB1c2VzIGV4Y2VwdGlvbnMgdG8gY29tbXVuaWNhdGUgZXJyb3JzIGFuZCBiYWQgcmVzcG9uc2VzLgoKSW5zdGVhZCBvZiByZWx5aW5nIG9uIHRoZSBgYENGUmVzcG9uc2U6OmlzT0soKWBgIG1ldGhvZCBvZiB0aGUgcHJldmlvdXMgU0RLIHRvIGRldGVybWluZSBpZiBhbiBvcGVyYXRpb24gaXMKc3VjY2Vzc2Z1bCwgdGhlIG5ldyBTREsgdGhyb3dzIGV4Y2VwdGlvbnMgd2hlbiB0aGUgb3BlcmF0aW9uIGlzICpub3QqIHN1Y2Nlc3NmdWwuIFRoZXJlZm9yZSwgeW91IGNhbiBhc3N1bWUgc3VjY2VzcwppZiB0aGVyZSB3YXMgbm8gZXhjZXB0aW9uIHRocm93biwgYnV0IHlvdSB3aWxsIG5lZWQgdG8gYWRkIGBgdHJ5Li4uY2F0Y2hgYCBsb2dpYyB0byB5b3VyIGFwcGxpY2F0aW9uIGNvZGUgaW4gb3JkZXIgdG8KaGFuZGxlIHBvdGVudGlhbCBlcnJvcnMuIFRoZSBmb2xsb3dpbmcgaXMgYW4gZXhhbXBsZSBvZiBob3cgdG8gaGFuZGxlIHRoZSByZXNwb25zZSBvZiBhbiBBbWF6b24gRHluYW1vREIKYGBEZXNjcmliZVRhYmxlYGAgY2FsbCBpbiB0aGUgbmV3IFNESzoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkdGFibGVOYW1lID0gJ215LXRhYmxlJzsKICAgIHRyeSB7CiAgICAgICAgJHJlc3VsdCA9ICRkeW5hbW9EYi0+ZGVzY3JpYmVUYWJsZShhcnJheSgnVGFibGVOYW1lJyA9PiAkdGFibGVOYW1lKSk7CgogICAgICAgIHByaW50ZignVGhlIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQgZm9yIHRhYmxlICIlcyIgaXMgJWQgUkNVcyBhbmQgJWQgV0NVcy4nLAogICAgICAgICAgICAkdGFibGVOYW1lLAogICAgICAgICAgICAkcmVzdWx0LT5nZXRQYXRoKCdUYWJsZS9Qcm92aXNpb25lZFRocm91Z2hwdXQvUmVhZENhcGFjaXR5VW5pdHMnKSwKICAgICAgICAgICAgJHJlc3VsdC0+Z2V0UGF0aCgnVGFibGUvUHJvdmlzaW9uZWRUaHJvdWdocHV0L1dyaXRlQ2FwYWNpdHlVbml0cycpCiAgICAgICAgKTsKICAgIH0gY2F0Y2ggKEF3c1xEeW5hbW9EYlxFeGNlcHRpb25cRHluYW1vRGJFeGNlcHRpb24gJGUpIHsKICAgICAgICBlY2hvICJFcnJvciBkZXNjcmliaW5nIHRhYmxlIHskdGFibGVOYW1lfSI7CiAgICB9CgpZb3UgY2FuIGdldCB0aGUgR3V6emxlIHJlc3BvbnNlIG9iamVjdCBiYWNrIGZyb20gdGhlIGNvbW1hbmQuIFRoaXMgaXMgaGVscGZ1bCBpZiB5b3UgbmVlZCB0byByZXRyaWV2ZSB0aGUgc3RhdHVzCmNvZGUsIGFkZGl0aW9uYWwgZGF0YSBmcm9tIHRoZSBoZWFkZXJzLCBvciB0aGUgcmF3IHJlc3BvbnNlIGJvZHkuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGNvbW1hbmQgPSAkZHluYW1vRGItPmdldENvbW1hbmQoJ0Rlc2NyaWJlVGFibGUnLCBhcnJheSgnVGFibGVOYW1lJyA9PiAkdGFibGVOYW1lKSk7CiAgICAkc3RhdHVzQ29kZSA9ICRjb21tYW5kLT5nZXRSZXNwb25zZSgpLT5nZXRTdGF0dXNDb2RlKCk7CgpZb3UgY2FuIGFsc28gZ2V0IHRoZSByZXNwb25zZSBvYmplY3QgYW5kIHN0YXR1cyBjb2RlIGZyb20gdGhlIGV4Y2VwdGlvbiBpZiBvbmUgaXMgdGhyb3duLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHRyeSB7CiAgICAgICAgJGNvbW1hbmQgPSAkZHluYW1vRGItPmdldENvbW1hbmQoJ0Rlc2NyaWJlVGFibGUnLCBhcnJheSgKICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJHRhYmxlTmFtZQogICAgICAgICkpOwogICAgICAgICRzdGF0dXNDb2RlID0gJGNvbW1hbmQtPmdldFJlc3BvbnNlKCktPmdldFN0YXR1c0NvZGUoKTsKICAgIH0gY2F0Y2ggKEF3c1xEeW5hbW9EYlxFeGNlcHRpb25cRHluYW1vRGJFeGNlcHRpb24gJGUpIHsKICAgICAgICAkc3RhdHVzQ29kZSA9ICRlLT5nZXRSZXNwb25zZSgpLT5nZXRTdGF0dXNDb2RlKCk7CiAgICB9CgpJdGVyYXRvcnMKfn5+fn5+fn5+CgpUaGUgU0RLIHByb3ZpZGVzIGl0ZXJhdG9yIGNsYXNzZXMgdGhhdCBtYWtlIGl0IGVhc2llciB0byB0cmF2ZXJzZSByZXN1bHRzIGZyb20gbGlzdCBhbmQgZGVzY3JpYmUgdHlwZQpvcGVyYXRpb25zLiBJbnN0ZWFkIG9mIGhhdmluZyB0byBjb2RlIHNvbHV0aW9ucyB0aGF0IHBlcmZvcm0gbXVsdGlwbGUgcmVxdWVzdHMgaW4gYSBsb29wIGFuZCBrZWVwIHRyYWNrIG9mIHRva2VucyBvcgptYXJrZXJzLCB0aGUgaXRlcmF0b3IgY2xhc3NlcyBkbyB0aGF0IGZvciB5b3UuIFlvdSBjYW4gc2ltcGx5IGZvcmVhY2ggb3ZlciB0aGUgaXRlcmF0b3I6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJG9iamVjdHMgPSAkczMtPmdldEl0ZXJhdG9yKCdMaXN0T2JqZWN0cycsIGFycmF5KAogICAgICAgICdCdWNrZXQnID0+ICdteS1idWNrZXQtbmFtZScKICAgICkpOwoKICAgIGZvcmVhY2ggKCRvYmplY3RzIGFzICRvYmplY3QpIHsKICAgICAgICBlY2hvICRvYmplY3RbJ0tleSddIC4gUEhQX0VPTDsKICAgIH0KCkNvbXBhcmluZyBDb2RlIFNhbXBsZXMgZnJvbSBCb3RoIFNES3MKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKRXhhbXBsZSAxIC0gQW1hem9uIFMzIExpc3RQYXJ0cyBPcGVyYXRpb24Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCkZyb20gVmVyc2lvbiAxIG9mIHRoZSBTREsKXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIDw/cGhwCgogICAgcmVxdWlyZSAnL3BhdGgvdG8vc2RrLmNsYXNzLnBocCc7CiAgICByZXF1aXJlICcvcGF0aC90by9jb25maWcuaW5jLnBocCc7CgogICAgJHMzID0gbmV3IEFtYXpvblMzKCk7CgogICAgJHJlc3BvbnNlID0gJHMzLT5saXN0X3BhcnRzKCdteS1idWNrZXQtbmFtZScsICdteS1vYmplY3Qta2V5JywgJ215LXVwbG9hZC1pZCcsIGFycmF5KAogICAgICAgICdtYXgtcGFydHMnID0+IDEwCiAgICApKTsKCiAgICBpZiAoJHJlc3BvbnNlLT5pc09LKCkpCiAgICB7CiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIGFuZCBkaXNwbGF5IHRoZSBwYXJ0IG51bWJlcnMKICAgICAgICBmb3JlYWNoICgkcmVzcG9uc2UtPmJvZHktPlBhcnQgYXMgJHBhcnQpIHsKICAgICAgICAgICAgZWNobyAieyRwYXJ0LT5QYXJ0TnVtYmVyfVxuIjsKICAgICAgICB9CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgZWNobyAiRXJyb3IgZHVyaW5nIFMzIExpc3RQYXJ0cyBvcGVyYXRpb24uXG4iOwogICAgfQoKRnJvbSBWZXJzaW9uIDIgb2YgdGhlIFNESwpeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgPD9waHAKCiAgICByZXF1aXJlICcvcGF0aC90by92ZW5kb3IvYXV0b2xvYWQucGhwJzsKCiAgICB1c2UgQXdzXENvbW1vblxBd3M7CiAgICB1c2UgQXdzXFMzXEV4Y2VwdGlvblxTM0V4Y2VwdGlvbjsKCiAgICAkYXdzID0gQXdzOjpmYWN0b3J5KCcvcGF0aC90by9jb25maWcucGhwJyk7CiAgICAkczMgPSAkYXdzLT5nZXQoJ3MzJyk7CgogICAgdHJ5IHsKICAgICAgICAkcmVzdWx0ID0gJHMzLT5saXN0UGFydHMoYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnICAgPT4gJ215LWJ1Y2tldC1uYW1lJywKICAgICAgICAgICAgJ0tleScgICAgICA9PiAnbXktb2JqZWN0LWtleScsCiAgICAgICAgICAgICdVcGxvYWRJZCcgPT4gJ215LXVwbG9hZC1pZCcsCiAgICAgICAgICAgICdNYXhQYXJ0cycgPT4gMTAKICAgICAgICApKTsKCiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIGFuZCBkaXNwbGF5IHRoZSBwYXJ0IG51bWJlcnMKICAgICAgICBmb3JlYWNoICgkcmVzdWx0WydQYXJ0J10gYXMgJHBhcnQpIHsKICAgICAgICAgICAgZWNobyAieyRwYXJ0W1BhcnROdW1iZXJdfVxuIjsKICAgICAgICB9CiAgICB9IGNhdGNoIChTM0V4Y2VwdGlvbiAkZSkgewogICAgICAgIGVjaG8gIkVycm9yIGR1cmluZyBTMyBMaXN0UGFydHMgb3BlcmF0aW9uLlxuIjsKICAgIH0KCkV4YW1wbGUgMiAtIEFtYXpvbiBEeW5hbW9EQiBTY2FuIE9wZXJhdGlvbgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCkZyb20gVmVyc2lvbiAxIG9mIHRoZSBTREsKXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIDw/cGhwCgogICAgcmVxdWlyZSAnL3BhdGgvdG8vc2RrLmNsYXNzLnBocCc7CiAgICByZXF1aXJlICcvcGF0aC90by9jb25maWcuaW5jLnBocCc7CgogICAgJGR5bmFtb19kYiA9IG5ldyBBbWF6b25EeW5hbW9EQigpOwoKICAgICRzdGFydF9rZXkgPSBudWxsOwogICAgJHBlb3BsZSA9IGFycmF5KCk7CgogICAgLy8gUGVyZm9ybSBhcyBtYW55IFNjYW4gb3BlcmF0aW9ucyBhcyBuZWVkZWQgdG8gYWNxdWlyZSBhbGwgdGhlIG5hbWVzIG9mIHBlb3BsZQogICAgLy8gdGhhdCBhcmUgMTYgb3Igb2xkZXIKICAgIGRvCiAgICB7CiAgICAgICAgLy8gU2V0dXAgdGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBEeW5hbW9EQiBTY2FuIG9wZXJhdGlvbgogICAgICAgICRwYXJhbXMgPSBhcnJheSgKICAgICAgICAgICAgJ1RhYmxlTmFtZScgICAgICAgPT4gJ3Blb3BsZScsCiAgICAgICAgICAgICdBdHRyaWJ1dGVzVG9HZXQnID0+IGFycmF5KCdpZCcsICdhZ2UnLCAnbmFtZScpLAogICAgICAgICAgICAnU2NhbkZpbHRlcicgICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdDb21wYXJpc29uT3BlcmF0b3InID0+CiAgICAgICAgICAgICAgICAgICAgICAgIEFtYXpvbkR5bmFtb0RCOjpDT05ESVRJT05fR1JFQVRFUl9USEFOX09SX0VRVUFMLAogICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVWYWx1ZUxpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheShBbWF6b25EeW5hbW9EQjo6VFlQRV9OVU1CRVIgPT4gJzE2JykKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApCiAgICAgICAgKTsKCiAgICAgICAgLy8gQWRkIHRoZSBleGNsdXNpdmUgc3RhcnQga2V5IHBhcmFtZXRlciBpZiBuZWVkZWQKICAgICAgICBpZiAoJHN0YXJ0X2tleSkKICAgICAgICB7CiAgICAgICAgICAgICRwYXJhbXNbJ0V4Y2x1c2l2ZVN0YXJ0S2V5J10gPSBhcnJheSgKICAgICAgICAgICAgICAgICdIYXNoS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgQW1hem9uRHluYW1vREI6OlRZUEVfU1RSSU5HID0+ICRzdGFydF9rZXkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRzdGFydF9rZXkgPSBudWxsOwogICAgICAgIH0KCiAgICAgICAgLy8gUGVyZm9ybSB0aGUgU2NhbiBvcGVyYXRpb24gYW5kIGdldCB0aGUgcmVzcG9uc2UKICAgICAgICAkcmVzcG9uc2UgPSAkZHluYW1vX2RiLT5zY2FuKCRwYXJhbXMpOwoKICAgICAgICAvLyBJZiB0aGUgcmVzcG9uc2Ugc3VjY2VlZGVkLCBnZXQgdGhlIHJlc3VsdHMKICAgICAgICBpZiAoJHJlc3BvbnNlLT5pc09LKCkpCiAgICAgICAgewogICAgICAgICAgICBmb3JlYWNoICgkcmVzcG9uc2UtPmJvZHktPkl0ZW1zIGFzICRpdGVtKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkcGVvcGxlW10gPSAoc3RyaW5nKSAkaXRlbS0+bmFtZS0+e0FtYXpvbkR5bmFtb0RCOjpUWVBFX1NUUklOR307CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIEdldCB0aGUgbGFzdCBldmFsdWF0ZWQga2V5IGlmIGl0IGlzIHByb3ZpZGVkCiAgICAgICAgICAgIGlmICgkcmVzcG9uc2UtPmJvZHktPkxhc3RFdmFsdWF0ZWRLZXkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRzdGFydF9rZXkgPSAoc3RyaW5nKSAkcmVzcG9uc2UtPmJvZHkKICAgICAgICAgICAgICAgICAgICAtPkxhc3RFdmFsdWF0ZWRLZXkKICAgICAgICAgICAgICAgICAgICAtPkhhc2hLZXlFbGVtZW50CiAgICAgICAgICAgICAgICAgICAgLT57QW1hem9uRHluYW1vREI6OlRZUEVfU1RSSU5HfTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICAvLyBUaHJvdyBhbiBleGNlcHRpb24gaWYgdGhlIHJlc3BvbnNlIHdhcyBub3QgT0sgKDIwMC1sZXZlbCkKICAgICAgICAgICAgdGhyb3cgbmV3IER5bmFtb0RCX0V4Y2VwdGlvbignRHluYW1vREIgU2NhbiBvcGVyYXRpb24gZmFpbGVkLicpOwogICAgICAgIH0KICAgIH0KICAgIHdoaWxlICgkc3RhcnRfa2V5KTsKCiAgICBwcmludF9yKCRwZW9wbGUpOwoKRnJvbSBWZXJzaW9uIDIgb2YgdGhlIFNESwpeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgPD9waHAKCiAgICByZXF1aXJlICcvcGF0aC90by92ZW5kb3IvYXV0b2xvYWQucGhwJzsKCiAgICB1c2UgQXdzXENvbW1vblxBd3M7CiAgICB1c2UgQXdzXER5bmFtb0RiXEVudW1cQ29tcGFyaXNvbk9wZXJhdG9yOwogICAgdXNlIEF3c1xEeW5hbW9EYlxFbnVtXFR5cGU7CgogICAgJGF3cyA9IEF3czo6ZmFjdG9yeSgnL3BhdGgvdG8vY29uZmlnLnBocCcpOwogICAgJGR5bmFtb2RiID0gJGF3cy0+Z2V0KCdkeW5hbW9kYicpOwoKICAgIC8vIENyZWF0ZSBhIFNjYW5JdGVyYXRvciBhbmQgc2V0dXAgdGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBEeW5hbW9EQiBTY2FuIG9wZXJhdGlvbgogICAgJHNjYW4gPSAkZHluYW1vZGItPmdldEl0ZXJhdG9yKCdTY2FuJywgYXJyYXkoCiAgICAgICAgJ1RhYmxlTmFtZScgICAgICAgPT4gJ3Blb3BsZScsCiAgICAgICAgJ0F0dHJpYnV0ZXNUb0dldCcgPT4gYXJyYXkoJ2lkJywgJ2FnZScsICduYW1lJyksCiAgICAgICAgJ1NjYW5GaWx0ZXInICAgICAgPT4gYXJyYXkoCiAgICAgICAgICAgICdhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbXBhcmlzb25PcGVyYXRvcicgPT4gQ29tcGFyaXNvbk9wZXJhdG9yOjpHRSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVWYWx1ZUxpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgIGFycmF5KFR5cGU6Ok5VTUJFUiA9PiAnMTYnKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAogICAgICAgICkKICAgICkpOwoKICAgIC8vIFBlcmZvcm0gYXMgbWFueSBTY2FuIG9wZXJhdGlvbnMgYXMgbmVlZGVkIHRvIGFjcXVpcmUgYWxsIHRoZSBuYW1lcyBvZiBwZW9wbGUKICAgIC8vIHRoYXQgYXJlIDE2IG9yIG9sZGVyCiAgICAkcGVvcGxlID0gYXJyYXkoKTsKICAgIGZvcmVhY2ggKCRzY2FuIGFzICRpdGVtKSB7CiAgICAgICAgJHBlb3BsZVtdID0gJGl0ZW1bJ25hbWUnXVtUeXBlOjpTVFJJTkddOwogICAgfQoKICAgIHByaW50X3IoJHBlb3BsZSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/performance.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT0KUGVyZm9ybWFuY2UgR3VpZGUKPT09PT09PT09PT09PT09PT0KClRoZSBBV1MgU0RLIGZvciBQSFAgaXMgYWJsZSB0byBzZW5kIEhUVFAgcmVxdWVzdHMgdG8gdmFyaW91cyB3ZWIgc2VydmljZXMgd2l0aCBtaW5pbWFsIG92ZXJoZWFkLiBUaGlzIGRvY3VtZW50IHNlcnZlcwphcyBhIGd1aWRlIHRoYXQgd2lsbCBoZWxwIHlvdSB0byBhY2hpZXZlIG9wdGltYWwgcGVyZm9ybWFuY2Ugd2l0aCB0aGUgU0RLLgoKLi4gY29udGVudHM6OgogICA6ZGVwdGg6IDEKICAgOmxvY2FsOgogICA6Y2xhc3M6IGlubGluZS10b2MKClVwZ3JhZGUgUEhQCi0tLS0tLS0tLS0tCgpVc2luZyBhbiB1cC10by1kYXRlIHZlcnNpb24gb2YgUEhQIHdpbGwgZ2VuZXJhbGx5IGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIG9mIHlvdXIgUEhQIGFwcGxpY2F0aW9ucy4gRGlkIHlvdSBrbm93IHRoYXQKUEhQIDUuNCBpcyBgMjAtNDAlIGZhc3RlciA8aHR0cDovL25ld3MucGhwLm5ldC9waHAuaW50ZXJuYWxzLzU3NzYwPmBfIHRoYW4gUEhQIDUuMz8KYFVwZ3JhZGluZyB0byBQSFAgNS40IDxodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL21pZ3JhdGlvbjU0LnBocD5gXyBvciBncmVhdGVyIHdpbGwgcHJvdmlkZSBiZXR0ZXIgcGVyZm9ybWFuY2UgYW5kCmxvd2VyIG1lbW9yeSB1c2FnZS4gSWYgeW91IGNhbm5vdCB1cGdyYWRlIGZyb20gUEhQIDUuMyB0byBQSFAgNS40IG9yIFBIUCA1LjUsIHVwZ3JhZGluZyB0byBQSFAgNS4zLjE4IG9yIGdyZWF0ZXIgd2lsbAppbXByb3ZlIHBlcmZvcm1hbmNlIG92ZXIgb2xkZXIgdmVyc2lvbnMgb2YgUEhQIDUuMy4KCllvdSBjYW4gaW5zdGFsbCBQSFAgNS40IG9uIGFuIEFtYXpvbiBMaW51eCBBTUkgdXNpbmcgdGhlIGZvbGxvd2luZyBjb21tYW5kLgoKLi4gY29kZS1ibG9jazo6IGJhc2gKCiAgICB5dW0gaW5zdGFsbCBwaHA1NAoKVXNlIFBIUCA1LjUgb3IgYW4gb3Bjb2RlIGNhY2hlIGxpa2UgQVBDCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVG8gaW1wcm92ZSB0aGUgb3ZlcmFsbCBwZXJmb3JtYW5jZSBvZiB5b3VyIFBIUCBlbnZpcm9ubWVudCwgaXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgeW91IHVzZSBhbiBvcGNvZGUgY2FjaGUKc3VjaCBhcyB0aGUgT1BDYWNoZSBidWlsdCBpbnRvIFBIUCA1LjUsIEFQQywgWENhY2hlLCBvciBXaW5DYWNoZS4gQnkgZGVmYXVsdCwgUEhQIG11c3QgbG9hZCBhIGZpbGUgZnJvbSBkaXNrLCBwYXJzZQp0aGUgUEhQIGNvZGUgaW50byBvcGNvZGVzLCBhbmQgZmluYWxseSBleGVjdXRlIHRoZSBvcGNvZGVzLiBJbnN0YWxsaW5nIGFuIG9wY29kZSBjYWNoZSBhbGxvd3MgdGhlIHBhcnNlZCBvcGNvZGVzIHRvCmJlIGNhY2hlZCBpbiBtZW1vcnkgc28gdGhhdCB5b3UgZG8gbm90IG5lZWQgdG8gcGFyc2UgdGhlIHNjcmlwdCBvbiBldmVyeSB3ZWIgc2VydmVyIHJlcXVlc3QsIGFuZCBpbiBpZGVhbApjaXJjdW1zdGFuY2VzLCB0aGVzZSBvcGNvZGVzIGNhbiBiZSBzZXJ2ZWQgZGlyZWN0bHkgZnJvbSBtZW1vcnkuCgpXZSBoYXZlIHRha2VuIGdyZWF0IGNhcmUgdG8gZW5zdXJlIHRoYXQgdGhlIFNESyB3aWxsIHBlcmZvcm0gd2VsbCBpbiBhbiBlbnZpcm9ubWVudCB0aGF0IHV0aWxpemVzIGFuIG9wY29kZSBjYWNoZS4KCi4uIG5vdGU6OgoKICAgIFBIUCA1LjUgY29tZXMgd2l0aCBhbiBvcGNvZGUgY2FjaGUgdGhhdCBpcyBpbnN0YWxsZWQgYW5kIGVuYWJsZWQgYnkgZGVmYXVsdDoKICAgIGh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9ib29rLm9wY2FjaGUucGhwCgogICAgSWYgeW91IGFyZSB1c2luZyBQSFAgNS41LCB0aGVuIHlvdSBtYXkgc2tpcCB0aGUgcmVtYWluZGVyIG9mIHRoaXMgc2VjdGlvbi4KCkFQQwp+fn4KCklmIHlvdSBhcmUgbm90IGFibGUgdG8gcnVuIFBIUCA1LjUsIHRoZW4gd2UgcmVjb21tZW5kIHVzaW5nIEFQQyBhcyBhbiBvcGNvZGUgY2FjaGUuCgpJbnN0YWxsaW5nIG9uIEFtYXpvbiBMaW51eApeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgoKV2hlbiB1c2luZyBBbWF6b24gTGludXgsIHlvdSBjYW4gaW5zdGFsbCBBUEMgdXNpbmcgb25lIG9mIHRoZSBmb2xsb3dpbmcgY29tbWFuZHMgZGVwZW5kaW5nIG9uIGlmIHlvdSBhcmUgdXNpbmcgUEhQIDUuMwpvciBQSFAgNS40LgoKLi4gY29kZS1ibG9jazo6IGJhc2gKCiAgICAjIEZvciBQSFAgNS40CiAgICB5dW0gaW5zdGFsbCBwaHA1NC1wZWNsLWFwYwoKICAgICMgRm9yIFBIUCA1LjMKICAgIHl1bSBpbnN0YWxsIHBocC1wZWNsLWFwYwoKTW9kaWZ5aW5nIEFQQyBzZXR0aW5ncwpeXl5eXl5eXl5eXl5eXl5eXl5eXl5eCgpBUEMgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBjYW4gYmUgc2V0IGFuZCBjb25maWd1cmVkIGluIHRoZSBgYGFwYy5pbmlgYCBmaWxlIG9mIG1vc3Qgc3lzdGVtcy4gWW91IGNhbiBmaW5kIG1vcmUKaW5mb3JtYXRpb24gYWJvdXQgY29uZmlndXJpbmcgQVBDIGluIHRoZSBQSFAubmV0IGBBUEMgZG9jdW1lbnRhdGlvbiA8aHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9hcGMuY29uZmlndXJhdGlvbi5waHA+YF8uCgpUaGUgQVBDIGNvbmZpZ3VyYXRpb24gZmlsZSBpcyBsb2NhdGVkIGF0IGBgL2V0Yy9waHAuZC9hcGMuaW5pYGAgb24gQW1hem9uIExpbnV4LgoKLi4gY29kZS1ibG9jazo6IGJhc2gKCiAgICAjIFlvdSBjYW4gb25seSBtb2RpZnkgdGhlIGZpbGUgYXMgc3VkbwogICAgc3VkbyB2aW0gL2V0Yy9waHAuZC9hcGMuaW5pCgphcGMuc2htX3NpemU9MTI4TQpeXl5eXl5eXl5eXl5eXl5eXgoKSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB5b3Ugc2V0IHRoZSBgYXBjLnNobV9zaXplIDxodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2FwYy5jb25maWd1cmF0aW9uLnBocCNpbmkuYXBjLnNobS1zaXplPmBfCnNldHRpbmcgdG8gYmUgMTI4TSBvciBoaWdoZXIuIFlvdSBzaG91bGQgaW52ZXN0aWdhdGUgd2hhdCB0aGUgcmlnaHQgdmFsdWUgd2lsbCBiZSBmb3IgeW91ciBhcHBsaWNhdGlvbi4gVGhlIGlkZWFsCnZhbHVlIHdpbGwgZGVwZW5kIG9uIGhvdyBtYW55IGZpbGVzIHlvdXIgYXBwbGljYXRpb24gaW5jbHVkZXMsIHdoYXQgb3RoZXIgZnJhbWV3b3JrcyBhcmUgdXNlZCBieSB5b3VyIGFwcGxpY2F0aW9uLCBhbmQKaWYgeW91IGFyZSBjYWNoaW5nIGRhdGEgaW4gdGhlIEFQQyB1c2VyIGNhY2hlLgoKWW91IGNhbiBydW4gdGhlIGZvbGxvd2luZyBjb21tYW5kIG9uIEFtYXpvbiBMaW51eCB0byBzZXQgYXBjLnNobV9zaXplIHRvIDEyOE06OgoKICAgIHNlZCAtaSAicy9hcGMuc2htX3NpemU9LiovYXBjLnNobV9zaXplPTEyOE0vZyIgL2V0Yy9waHAuZC9hcGMuaW5pCgphcGMuc3RhdD0wCl5eXl5eXl5eXl4KClRoZSBTREsgYWRoZXJlcyB0byBQU1ItMCBhbmQgcmVsaWVzIGhlYXZpbHkgb24gY2xhc3MgYXV0b2xvYWRpbmcuIFdoZW4gYGBhcGMuc3RhdD0xYGAsIEFQQyB3aWxsIHBlcmZvcm0gYSBzdGF0IG9uCmVhY2ggY2FjaGVkIGVudHJ5IHRvIGVuc3VyZSB0aGF0IHRoZSBmaWxlIGhhcyBub3QgYmVlbiB1cGRhdGVkIHNpbmNlIGl0IHdhcyBjYWNoZSBpbiBBUEMuIFRoaXMgaW5jdXJzIGEgc3lzdGVtIGNhbGwgZm9yCmV2ZXJ5IGF1dG9sb2FkZWQgY2xhc3MgcmVxdWlyZWQgYnkgYSBQSFAgc2NyaXB0ICh5b3UgY2FuIHNlZSB0aGlzIGZvciB5b3Vyc2VsZiBieSBydW5uaW5nIGBgc3RyYWNlYGAgb24geW91cgphcHBsaWNhdGlvbikuCgpZb3UgY2FuIHRlbGwgQVBDIHRvIG5vdCBzdGF0IGVhY2ggY2FjaGVkIGZpbGUgYnkgc2V0dGluZyBgYGFwYy5zdGF0PTBgYCBpbiB5b3UgYXBjLmluaSBmaWxlLiBUaGlzIGNoYW5nZSB3aWxsIGdlbmVyYWxseQppbXByb3ZlIHRoZSBvdmVyYWxsIHBlcmZvcm1hbmNlIG9mIEFQQywgYnV0IGl0IHdpbGwgcmVxdWlyZSB5b3UgdG8gZXhwbGljaXRseSBjbGVhciB0aGUgQVBDIGNhY2hlIHdoZW4gYSBjYWNoZWQgZmlsZQpzaG91bGQgYmUgdXBkYXRlZC4gVGhpcyBjYW4gYmUgYWNjb21wbGlzaGVkIHdpdGggQXBhY2hlIGJ5IGlzc3VpbmcgYSBoYXJkIG9yIGdyYWNlZnVsIHJlc3RhcnQuIFRoaXMgcmVzdGFydCBzdGVwIGNvdWxkCmJlIGFkZGVkIGFzIHBhcnQgb2YgdGhlIGRlcGxveW1lbnQgcHJvY2VzcyBvZiB5b3VyIGFwcGxpY2F0aW9uLgoKWW91IGNhbiBydW4gdGhlIGZvbGxvd2luZyBjb21tYW5kIG9uIEFtYXpvbiBMaW51eCB0byBzZXQgYXBjLnN0YXQgdG8gMDo6CgogICAgc2VkIC1pICJzL2FwYy5zdGF0PTEvYXBjLnN0YXQ9MC9nIiAvZXRjL3BocC5kL2FwYy5pbmkKCi4uIGFkbW9uaXRpb246OiBGcm9tIHRoZSBgUEhQIGRvY3VtZW50YXRpb24gPGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vYXBjLmNvbmZpZ3VyYXRpb24ucGhwI2luaS5hcGMuc3RhdD5gXwoKICAgIFRoaXMgZGVmYXVsdHMgdG8gb24sIGZvcmNpbmcgQVBDIHRvIHN0YXQgKGNoZWNrKSB0aGUgc2NyaXB0IG9uIGVhY2ggcmVxdWVzdCB0byBkZXRlcm1pbmUgaWYgaXQgaGFzIGJlZW4gbW9kaWZpZWQuIElmCiAgICBpdCBoYXMgYmVlbiBtb2RpZmllZCBpdCB3aWxsIHJlY29tcGlsZSBhbmQgY2FjaGUgdGhlIG5ldyB2ZXJzaW9uLiBJZiB0aGlzIHNldHRpbmcgaXMgb2ZmLCBBUEMgd2lsbCBub3QgY2hlY2ssIHdoaWNoCiAgICB1c3VhbGx5IG1lYW5zIHRoYXQgdG8gZm9yY2UgQVBDIHRvIHJlY2hlY2sgZmlsZXMsIHRoZSB3ZWIgc2VydmVyIHdpbGwgaGF2ZSB0byBiZSByZXN0YXJ0ZWQgb3IgdGhlIGNhY2hlIHdpbGwgaGF2ZSB0bwogICAgYmUgbWFudWFsbHkgY2xlYXJlZC4gTm90ZSB0aGF0IEZhc3RDR0kgd2ViIHNlcnZlciBjb25maWd1cmF0aW9ucyBtYXkgbm90IGNsZWFyIHRoZSBjYWNoZSBvbiByZXN0YXJ0LiBPbiBhIHByb2R1Y3Rpb24KICAgIHNlcnZlciB3aGVyZSB0aGUgc2NyaXB0IGZpbGVzIHJhcmVseSBjaGFuZ2UsIGEgc2lnbmlmaWNhbnQgcGVyZm9ybWFuY2UgYm9vc3QgY2FuIGJlIGFjaGlldmVkIGJ5IGRpc2FibGVkIHN0YXRzLgoKICAgIEZvciBpbmNsdWRlZC9yZXF1aXJlZCBmaWxlcyB0aGlzIG9wdGlvbiBhcHBsaWVzIGFzIHdlbGwsIGJ1dCBub3RlIHRoYXQgZm9yIHJlbGF0aXZlIHBhdGggaW5jbHVkZXMgKGFueSBwYXRoIHRoYXQKICAgIGRvZXNuJ3Qgc3RhcnQgd2l0aCAvIG9uIFVuaXgpIEFQQyBoYXMgdG8gY2hlY2sgaW4gb3JkZXIgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhlIGZpbGUuIElmIHlvdSB1c2UgYWJzb2x1dGUgcGF0aAogICAgaW5jbHVkZXMgQVBDIGNhbiBza2lwIHRoZSBzdGF0IGFuZCB1c2UgdGhhdCBhYnNvbHV0ZSBwYXRoIGFzIHRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGZpbGUuCgpVc2UgQ29tcG9zZXIgd2l0aCBhIGNsYXNzbWFwIGF1dG9sb2FkZXIKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpVc2luZyBgQ29tcG9zZXIgPGh0dHA6Ly9nZXRjb21wb3Nlci5vcmc+YF8gaXMgdGhlIHJlY29tbWVuZGVkIHdheSB0byBpbnN0YWxsIHRoZSBBV1MgU0RLIGZvciBQSFAuIENvbXBvc2VyIGlzIGEKZGVwZW5kZW5jeSBtYW5hZ2VyIGZvciBQSFAgdGhhdCBjYW4gYmUgdXNlZCB0byBwdWxsIGluIGFsbCBvZiB0aGUgZGVwZW5kZW5jaWVzIG9mIHRoZSBTREsgYW5kIGdlbmVyYXRlIGFuIGF1dG9sb2FkZXIuCgpBdXRvbG9hZGVycyBhcmUgdXNlZCB0byBsYXppbHkgbG9hZCBjbGFzc2VzIGFzIHRoZXkgYXJlIHJlcXVpcmVkIGJ5IGEgUEhQIHNjcmlwdC4gQ29tcG9zZXIgd2lsbCBnZW5lcmF0ZSBhbiBhdXRvbG9hZGVyCnRoYXQgaXMgYWJsZSB0byBhdXRvbG9hZCB0aGUgUEhQIHNjcmlwdHMgb2YgeW91ciBhcHBsaWNhdGlvbiBhbmQgYWxsIG9mIHRoZSBQSFAgc2NyaXB0cyBvZiB0aGUgdmVuZG9ycyByZXF1aXJlZCBieSB5b3VyCmFwcGxpY2F0aW9uIChpLmUuIHRoZSBBV1MgU0RLIGZvciBQSFApLiBXaGVuIHJ1bm5pbmcgaW4gcHJvZHVjdGlvbiwgaXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgeW91IHVzZSBhIGNsYXNzbWFwCmF1dG9sb2FkZXIgdG8gaW1wcm92ZSB0aGUgYXV0b2xvYWRlcidzIHNwZWVkLiBZb3UgY2FuIGdlbmVyYXRlIGEgY2xhc3NtYXAgYXV0b2xvYWRlciBieSBwYXNzaW5nIHRoZSBgYC1vYGAgb3IKYGAtLW9wdGltaXplLWF1dG9sb2FkZXJgYCBvcHRpb24gdG8gQ29tcG9zZXIncyBgaW5zdGFsbCBjb21tYW5kIDxodHRwOi8vZ2V0Y29tcG9zZXIub3JnL2RvYy8wMy1jbGkubWQjaW5zdGFsbD5gXzo6CgogICAgcGhwIGNvbXBvc2VyLnBoYXIgaW5zdGFsbCAtLW9wdGltaXplLWF1dG9sb2FkZXIKClBsZWFzZSBjb25zdWx0IHRoZSA6ZG9jOmBpbnN0YWxsYXRpb25gIGd1aWRlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyB0byBpbnN0YWxsIHRoZSBTREsgdXNpbmcgQ29tcG9zZXIuCgpVbmluc3RhbGwgWGRlYnVnCi0tLS0tLS0tLS0tLS0tLS0KCmBYZGVidWcgPGh0dHA6Ly94ZGVidWcub3JnLz5gXyBpcyBhbiBhbWF6aW5nIHRvb2wgdGhhdCBjYW4gYmUgdXNlZCB0byBpZGVudGlmeSBwZXJmb3JtYW5jZSBib3R0bGVuZWNrcy4gSG93ZXZlciwgaWYKcGVyZm9ybWFuY2UgaXMgY3JpdGljYWwgdG8geW91ciBhcHBsaWNhdGlvbiwgZG8gbm90IGluc3RhbGwgdGhlIFhkZWJ1ZyBleHRlbnNpb24gb24geW91ciBwcm9kdWN0aW9uIGVudmlyb25tZW50LiBTaW1wbHkKbG9hZGluZyB0aGUgZXh0ZW5zaW9uIHdpbGwgZ3JlYXRseSBzbG93IGRvd24gdGhlIFNESy4KCldoZW4gcnVubmluZyBvbiBBbWF6b24gTGludXgsIFhkZWJ1ZyBjYW4gYmUgcmVtb3ZlZCB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKCi4uIGNvZGUtYmxvY2s6OiBiYXNoCgogICAgIyBQSFAgNS40CiAgICB5dW0gcmVtb3ZlIHBocDU0LXBlY2wteGRlYnVnCgogICAgIyBQSFAgNS4zCiAgICB5dW0gcmVtb3ZlIHBocC1wZWNsLXhkZWJ1ZwoKSW5zdGFsbCBQRUNMIHVyaV90ZW1wbGF0ZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgU0RLIHV0aWxpemVzIFVSSSB0ZW1wbGF0ZXMgdG8gcG93ZXIgZWFjaCBvcGVyYXRpb24uIEluIG9yZGVyIHRvIGJlIGNvbXBhdGlibGUgb3V0IG9mIHRoZSBib3ggd2l0aCB0aGUgbWFqb3JpdHkKb2YgUEhQIGVudmlyb25tZW50cywgdGhlIGRlZmF1bHQgVVJJIHRlbXBsYXRlIGV4cGFuc2lvbiBpbXBsZW1lbnRhdGlvbiBpcyB3cml0dGVuIGluIFBIUC4KYFBFQ0wgVVJJX1RlbXBsYXRlIDxodHRwczovL2dpdGh1Yi5jb20vaW9zZWIvdXJpLXRlbXBsYXRlPmBfIGlzIGEgVVJJIHRlbXBsYXRlIGV4dGVuc2lvbiBmb3IgUEhQIHdyaXR0ZW4gaW4gQy4gVGhpcyBDCmltcGxlbWVudGF0aW9uIGlzIGFib3V0IDMgdGltZXMgZmFzdGVyIHRoYW4gdGhlIGRlZmF1bHQgUEhQIGltcGxlbWVudGF0aW9uIGZvciBleHBhbmRpbmcgVVJJIHRlbXBsYXRlcy4gWW91cgphcHBsaWNhdGlvbiB3aWxsIGF1dG9tYXRpY2FsbHkgYmVnaW4gdXRpbGl6aW5nIHRoZSBQRUNMIHVyaV90ZW1wbGF0ZSBleHRlbnNpb24gYWZ0ZXIgaXQgaXMgaW5zdGFsbGVkLgoKLi4gY29kZS1ibG9jazo6IGJhc2gKCiAgICBwZWNsIGluc3RhbGwgdXJpX3RlbXBsYXRlLWFscGhhCgpUdXJuIG9mZiBwYXJhbWV0ZXIgdmFsaWRhdGlvbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhlIFNESyB1dGlsaXplcyBzZXJ2aWNlIGRlc2NyaXB0aW9ucyB0byB0ZWxsIHRoZSBjbGllbnQgaG93IHRvIHNlcmlhbGl6ZSBhbiBIVFRQIHJlcXVlc3QgYW5kIHBhcnNlIGFuIEhUVFAgcmVzcG9uc2UKaW50byBhIE1vZGVsIG9iamVjdC4gQWxvbmcgd2l0aCBzZXJpYWxpemF0aW9uIGluZm9ybWF0aW9uLCBzZXJ2aWNlIGRlc2NyaXB0aW9ucyBhcmUgdXNlZCB0byB2YWxpZGF0ZSBvcGVyYXRpb24gaW5wdXRzCmNsaWVudC1zaWRlIGJlZm9yZSBzZW5kaW5nIGEgcmVxdWVzdC4gRGlzYWJsaW5nIHBhcmFtZXRlciB2YWxpZGF0aW9uIGlzIGEgbWljcm8tb3B0aW1pemF0aW9uLCBidXQgdGhpcyBzZXR0aW5nIGNhbgp0eXBpY2FsbHkgYmUgZGlzYWJsZWQgaW4gcHJvZHVjdGlvbiBieSBzZXR0aW5nIHRoZSBgYHZhbGlkYXRpb25gYCBvcHRpb24gaW4gYSBjbGllbnQgZmFjdG9yeSBtZXRob2QgdG8gYGBmYWxzZWBgLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjbGllbnQgPSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgJ3JlZ2lvbicgICAgID0+ICd1cy13ZXN0LTInLAogICAgICAgICd2YWxpZGF0aW9uJyA9PiBmYWxzZQogICAgKSk7CgpDYWNoZSBpbnN0YW5jZSBwcm9maWxlIGNyZWRlbnRpYWxzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCldoZW4geW91IGRvIG5vdCBwcm92aWRlIGNyZWRlbnRpYWxzIHRvIHRoZSBTREsgYW5kIGRvIG5vdCBoYXZlIGNyZWRlbnRpYWxzIGRlZmluZWQgaW4geW91ciBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIHRoZQpTREsgd2lsbCBhdHRlbXB0IHRvIHV0aWxpemUgSUFNIGluc3RhbmNlIHByb2ZpbGUgY3JlZGVudGlhbHMgYnkgY29udGFjdGluZyB0aGUgQW1hem9uIEVDMiBpbnN0YW5jZSBtZXRhZGF0YSBzZXJ2aWNlCihJTURTKS4gQ29udGFjdGluZyB0aGUgSU1EUyByZXF1aXJlcyBhbiBIVFRQIHJlcXVlc3QgdG8gcmV0cmlldmUgY3JlZGVudGlhbHMgZnJvbSB0aGUgSU1EUy4KCllvdSBjYW4gY2FjaGUgdGhlc2UgaW5zdGFuY2UgcHJvZmlsZSBjcmVkZW50aWFscyBpbiBtZW1vcnkgdW50aWwgdGhleSBleHBpcmUgYW5kIGF2b2lkIHRoZSBjb3N0IG9mIHNlbmRpbmcgYW4gSFRUUApyZXF1ZXN0IHRvIHRoZSBJTURTIGVhY2ggdGltZSB0aGUgU0RLIGlzIHV0aWxpemVkLiBTZXQgdGhlIGBgY3JlZGVudGlhbHMuY2FjaGVgYCBvcHRpb24gdG8gYGB0cnVlYGAgdG8gYXR0ZW1wdCB0bwp1dGlsaXplIHRoZSBgRG9jdHJpbmUgQ2FjaGUgPGh0dHBzOi8vZ2l0aHViLmNvbS9kb2N0cmluZS9jYWNoZT5gXyBQSFAgbGlicmFyeSB0byBjYWNoZSBjcmVkZW50aWFscyB3aXRoIEFQQy4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY2xpZW50ID0gQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICdyZWdpb24nICAgICAgICAgICAgPT4gJ3VzLXdlc3QtMicsCiAgICAgICAgJ2NyZWRlbnRpYWxzLmNhY2hlJyA9PiB0cnVlCiAgICApKTsKCi4uIG5vdGU6OgoKICAgIFlvdSB3aWxsIG5lZWQgdG8gaW5zdGFsbCBEb2N0cmluZSBDYWNoZSBpbiBvcmRlciBmb3IgdGhlIFNESyB0byBjYWNoZSBjcmVkZW50aWFscyB3aGVuIHNldHRpbmcKICAgIGBgY3JlZGVudGlhbHMuY2FjaGVgYCB0byBgYHRydWVgYC4gWW91IGNhbiBhZGQgZG9jdHJpbmUvY2FjaGUgdG8geW91ciBjb21wb3Nlci5qc29uIGRlcGVuZGVuY2llcyBieSBhZGRpbmcgdG8geW91cgogICAgcHJvamVjdCdzIGBgcmVxdWlyZWRgYCBzZWN0aW9uOjoKCiAgICAgICAgewogICAgICAgICAgICAicmVxdWlyZWQiOiB7CiAgICAgICAgICAgICAgICAiYXdzL3NkayI6ICIyLioiLAogICAgICAgICAgICAgICAgImRvY3RyaW5lL2NhY2hlIjogIjEuKiIKICAgICAgICAgICAgfQogICAgICAgIH0KCkNoZWNrIGlmIHlvdSBhcmUgYmVpbmcgdGhyb3R0bGVkCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpZb3UgY2FuIGNoZWNrIHRvIHNlZSBpZiB5b3UgYXJlIGJlaW5nIHRocm90dGxlZCBieSBlbmFibGluZyB0aGUgZXhwb25lbnRpYWwgYmFja29mZiBsb2dnZXIgb3B0aW9uLiBZb3UgY2FuIHNldCB0aGUKYGBjbGllbnQuYmFja29mZi5sb2dnZXJgYCBvcHRpb24gdG8gYGBkZWJ1Z2BgIHdoZW4gaW4gZGV2ZWxvcG1lbnQsIGJ1dCB3ZSByZWNvbW1lbmQgdGhhdCB5b3UgcHJvdmlkZSBhCmBgR3V6emxlXExvZ1xMb2dBZGFwdGVySW50ZXJmYWNlYGAgb2JqZWN0IHdoZW4gcnVubmluZyBpbiBwcm9kdWN0aW9uLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjbGllbnQgPSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgJ3JlZ2lvbicgICAgICAgICAgICAgICAgPT4gJ3VzLXdlc3QtMicsCiAgICAgICAgJ2NsaWVudC5iYWNrb2ZmLmxvZ2dlcicgPT4gJ2RlYnVnJwogICAgKSk7CgpXaGVuIHVzaW5nIEFtYXpvbiBEeW5hbW9EQiwgeW91IGNhbiBtb25pdG9yIHlvdXIgdGFibGVzIGZvciB0aHJvdHRsaW5nIHVzaW5nCmBBbWF6b24gQ2xvdWRXYXRjaCA8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL01vbml0b3JpbmdEeW5hbW9EQi5odG1sI0Nsb3Vkd2F0Y2hDb25zb2xlX0R5bmFtb0RCPmBfLgoKUHJlbG9hZCBmcmVxdWVudGx5IGluY2x1ZGVkIGZpbGVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhlIEFXUyBTREsgZm9yIFBIUCBhZGhlcmVzIHRvIFBTUi0wIGFuZCBoZWF2aWx5IHV0aWxpemVzIGNsYXNzIGF1dG9sb2FkaW5nLiBFYWNoIGNsYXNzIGlzIGluIGEgc2VwYXJhdGUgZmlsZSBhbmQKYXJlIGluY2x1ZGVkIGxhemlseSBhcyB0aGV5IGFyZSByZXF1aXJlZC4gRW5hYmxpbmcgYW4gb3Bjb2RlIGNhY2hlIGxpa2UgQVBDLCBzZXR0aW5nIGBgYXBjLnN0YXQ9MGBgLCBhbmQgdXRpbGl6aW5nIGFuCm9wdGltaXplZCBDb21wb3NlciBhdXRvbG9hZGVyIHdpbGwgaGVscCB0byBtaXRpZ2F0ZSB0aGUgcGVyZm9ybWFuY2UgY29zdCBvZiBhdXRvbG9hZGluZyB0aGUgY2xhc3NlcyBuZWVkZWQgdG8gdXRpbGl6ZQp0aGUgU0RLLiBJbiBzaXR1YXRpb25zIGxpa2UgaG9zdGluZyBhIHdlYnBhZ2Ugd2hlcmUgeW91IGFyZSBsb2FkaW5nIHRoZSBzYW1lIGNsYXNzZXMgb3ZlciBhbmQgb3ZlciwgeW91IGNhbiBzaGF2ZSBvZmYgYQpiaXQgbW9yZSB0aW1lIGJ5IGNvbXBpbGluZyBhbGwgb2YgdGhlIGF1dG9sb2FkZWQgY2xhc3NlcyBpbnRvIGEgc2luZ2xlIGZpbGUgdGhlcmVieSBjb21wbGV0ZWx5IGVsaW1pbmF0aW5nIHRoZSBjb3N0IG9mCmF1dG9sb2FkaW5nLiBUaGlzIHRlY2huaXF1ZSBjYW4gbm90IG9ubHkgc3BlZWQgdXAgdGhlIHVzZSBvZiB0aGUgU0RLIGZvciBzcGVjaWZpYyB1c2UgY2FzZXMgKGUuZy4gdXNpbmcgdGhlCkFtYXpvbiBEeW5hbW9EQiBzZXNzaW9uIGhhbmRsZXIpLCBidXQgY2FuIGFsc28gc3BlZWQgdXAgb3RoZXIgYXNwZWN0cyBvZiB5b3VyIGFwcGxpY2F0aW9uLiBFdmVuIHdpdGggYGBhcGMuc3RhdD0wYGAsCnByZWxvYWRpbmcgY2xhc3NlcyB0aGF0IHlvdSBrbm93IHdpbGwgYmUgdXNlZCBpbiB5b3VyIGFwcGxpY2F0aW9uIHdpbGwgYmUgc2xpZ2h0bHkgZmFzdGVyIHRoYW4gcmVseWluZyBvbiBhdXRvbG9hZGluZy4KCllvdSBjYW4gZWFzaWx5IGdlbmVyYXRlIGEgY29tcGlsZWQgYXV0b2xvYWRlciBmaWxlIHVzaW5nIHRoZQpgQ2xhc3NQcmVsb2FkZXIgPGh0dHBzOi8vZ2l0aHViLmNvbS9tdGRvd2xpbmcvQ2xhc3NQcmVsb2FkZXI+YF8gcHJvamVjdC4gVmlldyB0aGUgcHJvamVjdCdzIFJFQURNRSBmb3IgaW5mb3JtYXRpb24gb24KY3JlYXRpbmcgYSAicHJlbG9hZGVyIiBmb3IgdXNlIHdpdGggdGhlIEFXUyBTREsgZm9yIFBIUC4KClByb2ZpbGUgeW91ciBjb2RlIHRvIGZpbmQgcGVyZm9ybWFuY2UgYm90dGxlbmVja3MKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKWW91IHdpbGwgbmVlZCB0byBwcm9maWxlIHlvdXIgYXBwbGljYXRpb24gdG8gZGV0ZXJtaW5lIHRoZSBib3R0bGVuZWNrcy4gVGhpcyBjYW4gYmUgZG9uZSB1c2luZwpgWGRlYnVnIDxodHRwOi8veGRlYnVnLm9yZy8+YF8sIGBYSFByb2YgPGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay94aHByb2Y+YF8sCmBzdHJhY2UgPGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvU3RyYWNlPmBfLCBhbmQgdmFyaW91cyBvdGhlciB0b29scy4gVGhlcmUgYXJlIG1hbnkgcmVzb3VyY2VzIGF2YWlsYWJsZSBvbiB0aGUKaW50ZXJuZXQgdG8gaGVscCB5b3UgdHJhY2sgZG93biBwZXJmb3JtYW5jZSBwcm9ibGVtcyB3aXRoIHlvdXIgYXBwbGljYXRpb24uIEhlcmUgYXJlIGEgZmV3IHRoYXQgd2UgaGF2ZSBmb3VuZCB1c2VmdWw6CgoqIGh0dHA6Ly90YWxrcy5waHAubmV0L3Nob3cvZGV2Y29uZi8wCiogaHR0cDovL3RhbGtzLnBocC5uZXQvc2hvdy9wZXJmX3R1bm5pbmcvMTYKCkNvbXBhcmluZyBTREsxIGFuZCBTREsyCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpTb2Z0d2FyZSBwZXJmb3JtYW5jZSBpcyB2ZXJ5IHN1YmplY3RpdmUgYW5kIGRlcGVuZHMgaGVhdmlseSBvbiBmYWN0b3JzIG91dHNpZGUgb2YgdGhlIGNvbnRyb2wgb2YgdGhlIFNESy4gVGhlCkFXUyBTREsgZm9yIFBIUCBpcyB0dW5lZCB0byBjb3ZlciB0aGUgYnJvYWRlc3Qgc2V0IG9mIHBlcmZvcm1hbmNlIHNlbnNpdGl2ZSBhcHBsaWNhdGlvbnMgdXNpbmcgQVdTLiBXaGlsZSB0aGVyZSBtYXkKYmUgYSBmZXcgaXNvbGF0ZWQgY2FzZXMgd2hlcmUgVjEgb2YgdGhlIHRoZSBTREsgaXMgYXMgZmFzdCBvciBmYXN0ZXIgdGhhbiBWMiwgdGhhdCBpcyBub3QgZ2VuZXJhbGx5IHRydWUgYW5kIGNvbWVzCndpdGggdGhlIGxvc3Mgb2YgZXh0ZW5zaWJpbGl0eSwgbWFpbnRhaW5hYmlsaXR5LCBwZXJzaXN0ZW50IEhUVFAgY29ubmVjdGlvbnMsIHJlc3BvbnNlIHBhcnNpbmcsIFBTUiBjb21wbGlhbmNlLCBldGMuCgpEZXBlbmRpbmcgb24geW91ciB1c2UgY2FzZSwgeW91IHdpbGwgZmluZCB0aGF0IGEgcHJvcGVybHkgY29uZmlndXJlZCBlbnZpcm9ubWVudCBydW5uaW5nIHRoZSBBV1MgU0RLIGZvciBQSFAgaXMKZ2VuZXJhbGx5IGp1c3QgYXMgZmFzdCBhcyBTREsxIGZvciBzZW5kaW5nIGEgc2luZ2xlIHJlcXVlc3QgYW5kIG1vcmUgdGhhbiAzNTAlIGZhc3RlciB0aGFuIFNESzEgZm9yIHNlbmRpbmcgbWFueQpyZXF1ZXN0cy4KCkNvbXBhcmluZyBiYXRjaCByZXF1ZXN0cwp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCkEgY29tbW9uIG1pc2NvbmNlcHRpb24gd2hlbiBjb21wYXJpbmcgdGhlIHBlcmZvcm1hbmNlIG9mIFNESzEgYW5kIFNESzIgaXMgdGhhdCBTREsxIGlzIGZhc3RlciB0aGFuIFNESzIgd2hlbiBzZW5kaW5nCnJlcXVlc3RzIHVzaW5nIHRoZSAiYmF0Y2goKSIgQVBJLgoKU0RLMSBpcyBnZW5lcmFsbHkgKm5vdCogZmFzdGVyIGF0IHNlbmRpbmcgcmVxdWVzdHMgaW4gcGFyYWxsZWwgdGhhbiBTREsyLiBUaGVyZSBtYXkgYmUgc29tZSBjYXNlcyB3aGVyZSBTREsxIHdpbGwgYXBwZWFyCnRvIG1vcmUgcXVpY2tseSBjb21wbGV0ZSB0aGUgcHJvY2VzcyBvZiBzZW5kaW5nIG11bHRpcGxlIHJlcXVlc3RzIGluIHBhcmFsbGVsLCBidXQgU0RLMSBkb2VzIG5vdCByZXRyeSB0aHJvdHRsZWQKcmVxdWVzdHMgd2hlbiB1c2luZyB0aGUgYGBiYXRjaCgpYGAgQVBJLiBJbiBTREsyLCB0aHJvdHRsZWQgcmVxdWVzdHMgYXJlIGF1dG9tYXRpY2FsbHkgcmV0cmllZCBpbiBwYXJhbGxlbCB1c2luZwp0cnVuY2F0ZWQgZXhwb25lbnRpYWwgYmFja29mZi4gQXV0b21hdGljYWxseSByZXRyeWluZyBmYWlsZWQgcmVxdWVzdHMgd2lsbCBoZWxwIHRvIGVuc3VyZSB0aGF0IHlvdXIgYXBwbGljYXRpb24gaXMKc3VjY2Vzc2Z1bGx5IGNvbXBsZXRpbmcgdGhlIHJlcXVlc3RzIHRoYXQgeW91IHRoaW5rIGl0IGlzLgoKWW91IGNhbiBhbHdheXMgZGlzYWJsZSByZXRyaWVzIGlmIHlvdXIgdXNlIGNhc2UgZG9lcyBub3QgYmVuZWZpdCBmcm9tIHJldHJ5aW5nIGZhaWxlZCByZXF1ZXN0cy4gVG8gZGlzYWJsZSByZXRyaWVzLApzZXQgJ2NsaWVudC5iYWNrb2ZmJyB0byBgYGZhbHNlYGAgd2hlbiBjcmVhdGluZyBhIGNsaWVudC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY2xpZW50ID0gQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICdyZWdpb24nICAgICAgICAgPT4gJ3VzLXdlc3QtMicsCiAgICAgICAgJ2NsaWVudC5iYWNrb2ZmJyA9PiBmYWxzZQogICAgKSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/quick-start.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT0KUXVpY2sgU3RhcnQKPT09PT09PT09PT0KCkluY2x1ZGluZyB0aGUgU0RLCi0tLS0tLS0tLS0tLS0tLS0tCgpObyBtYXR0ZXIgd2hpY2ggOmRvYzpgaW5zdGFsbGF0aW9uIG1ldGhvZCA8aW5zdGFsbGF0aW9uPmAgeW91IGFyZSB1c2luZywgdGhlIFNESyBjYW4gYmUgaW5jbHVkZWQgaW50byB5b3VyIHByb2plY3Qgb3IKc2NyaXB0IHdpdGggYSBzaW5nbGUgaW5jbHVkZSAob3IgcmVxdWlyZSkgc3RhdGVtZW50LiBQbGVhc2UgcmVmZXIgdG8gdGhlIGZvbGxvd2luZyB0YWJsZSBmb3IgdGhlIGNvZGUgdGhhdCBiZXN0IGZpdHMKeW91ciBpbnN0YWxsYXRpb24gbWV0aG9kLiBQbGVhc2UgcmVwbGFjZSBhbnkgaW5zdGFuY2VzIG9mIGBgL3BhdGgvdG8vYGAgd2l0aCB0aGUgYWN0dWFsIHBhdGggb24geW91ciBzeXN0ZW0uCgo9PT09PT09PT09PT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KSW5zdGFsbGF0aW9uIE1ldGhvZCAgICAgICAgSW5jbHVkZSBTdGF0ZW1lbnQKPT09PT09PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClVzaW5nIENvbXBvc2VyICAgICAgICAgICAgIGBgcmVxdWlyZSAnL3BhdGgvdG8vdmVuZG9yL2F1dG9sb2FkLnBocCc7YGAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClVzaW5nIHRoZSBQaGFyICAgICAgICAgICAgIGBgcmVxdWlyZSAnL3BhdGgvdG8vYXdzLnBoYXInO2BgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpVc2luZyB0aGUgWmlwICAgICAgICAgICAgICBgYHJlcXVpcmUgJy9wYXRoL3RvL2F3cy1hdXRvbG9hZGVyLnBocCc7YGAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClVzaW5nIFBFQVIgICAgICAgICAgICAgICAgIGBgcmVxdWlyZSAnQVdTU0RLZm9yUEhQL2F3cy5waGFyJztgYAo9PT09PT09PT09PT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkZvciB0aGUgcmVtYWluZGVyIG9mIHRoaXMgZ3VpZGUsIHdlIHdpbGwgc2hvdyBleGFtcGxlcyB0aGF0IHVzZSB0aGUgQ29tcG9zZXIgaW5zdGFsbGF0aW9uIG1ldGhvZC4gSWYgeW91IGFyZSB1c2luZyBhCmRpZmZlcmVudCBpbnN0YWxsYXRpb24gbWV0aG9kLCB0aGVuIHlvdSBjYW4gcmVmZXIgdG8gdGhpcyBzZWN0aW9uIGFuZCBzdWJzdGl0dXRlIGluIHRoZSBwcm9wZXIgY29kZS4KCkNyZWF0aW5nIGEgY2xpZW50Ci0tLS0tLS0tLS0tLS0tLS0tCgpZb3UgY2FuIHF1aWNrbHkgZ2V0IHVwIGFuZCBydW5uaW5nIGJ5IHVzaW5nIGEgd2ViIHNlcnZpY2UgY2xpZW50J3MgZmFjdG9yeSBtZXRob2QgdG8gaW5zdGFudGlhdGUgY2xpZW50cyBhcyBuZWVkZWQuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgPD9waHAKCiAgICAvLyBJbmNsdWRlIHRoZSBTREsgdXNpbmcgdGhlIENvbXBvc2VyIGF1dG9sb2FkZXIKICAgIHJlcXVpcmUgJ3ZlbmRvci9hdXRvbG9hZC5waHAnOwoKICAgIHVzZSBBd3NcUzNcUzNDbGllbnQ7CgogICAgLy8gSW5zdGFudGlhdGUgdGhlIFMzIGNsaWVudCB3aXRoIHlvdXIgQVdTIGNyZWRlbnRpYWxzIGFuZCBkZXNpcmVkIEFXUyByZWdpb24KICAgICRjbGllbnQgPSBTM0NsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAna2V5JyAgICA9PiAneW91ci1hd3MtYWNjZXNzLWtleS1pZCcsCiAgICAgICAgJ3NlY3JldCcgPT4gJ3lvdXItYXdzLXNlY3JldC1hY2Nlc3Mta2V5JywKICAgICkpOwoKKipOb3RlOioqIEluc3RhbnRpYXRpbmcgYSBjbGllbnQgd2l0aG91dCBwcm92aWRpbmcgY3JlZGVudGlhbHMgY2F1c2VzIHRoZSBjbGllbnQgdG8gYXR0ZW1wdCB0byByZXRyaWV2ZSBgSUFNIEluc3RhbmNlClByb2ZpbGUgY3JlZGVudGlhbHMKPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL1VzaW5nSUFNLmh0bWwjVXNpbmdJQU1yb2xlc1dpdGhBbWF6b25FQzJJbnN0YW5jZXM+YF8uCkluc3RhbmNlIFByb2ZpbGUgQ3JlZGVudGlhbHMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgZXZlcnkgc2VydmljZS4gYFBsZWFzZSBjaGVjayBpZiB0aGUgc2VydmljZSB5b3UgYXJlIHVzaW5nIHN1cHBvcnRzCnRlbXBvcmFyeSBjcmVkZW50aWFscyA8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vU1RTL2xhdGVzdC9Vc2luZ1NUUy9Vc2luZ1Rva2Vucy5odG1sPmBfLgoKQ29tbWFuZHMKLS0tLS0tLS0KCllvdSBjYW4gdGhlbiBpbnZva2Ugc2VydmljZSBvcGVyYXRpb25zIG9uIHRoZSBjbGllbnQgYnkgY2FsbGluZyB0aGUgb3BlcmF0aW9uIG5hbWUgYW5kIHByb3ZpZGluZyBhbiBhc3NvY2lhdGl2ZSBhcnJheQpvZiBwYXJhbWV0ZXJzLiBTZXJ2aWNlIG9wZXJhdGlvbiBtZXRob2RzIGxpa2UgQW1hem9uIFMzJ3MgYGBjcmVhdGVCdWNrZXQoKWBgIGRvbid0IGFjdHVhbGx5IGV4aXN0IG9uIGEgY2xpZW50LiBUaGVzZQptZXRob2RzIGFyZSBpbXBsZW1lbnRlZCB1c2luZyB0aGUgYGBfX2NhbGwoKWBgIG1hZ2ljIG1ldGhvZCBvZiBhIGNsaWVudC4gVGhlc2UgbWFnaWMgbWV0aG9kcyBhcmUgZGVyaXZlZCBmcm9tIGEgR3V6emxlCmBzZXJ2aWNlIGRlc2NyaXB0aW9uIDxodHRwOi8vZ3V6emxlcGhwLm9yZy9ndWlkZS9zZXJ2aWNlL3NlcnZpY2VfZGVzY3JpcHRpb25zLmh0bWw+YF8gcHJlc2VudCBpbiB0aGUKY2xpZW50J3MgbmFtZXNwYWNlIGluIHRoZSBgYFJlc291cmNlc2BgIGRpcmVjdG9yeS4gWW91IGNhbiB1c2UgdGhlIGBBUEkgZG9jdW1lbnRhdGlvbgo8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0Lz5gXyBvciBkaXJlY3RseSB2aWV3IHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uIHRvIHNlZSB3aGF0Cm9wZXJhdGlvbnMgYXJlIGF2YWlsYWJsZSwgd2hhdCBwYXJhbWV0ZXJzIGNhbiBiZSBzZXQgZm9yIGFuIG9wZXJhdGlvbiwgd2hhdCB2YWx1ZXMgYXJlIHByb3ZpZGVkIGluIHRoZSByZXNwb25zZSBtb2RlbCwKYW5kIHdoYXQgZXhjZXB0aW9ucyBhcmUgdGhyb3duIGJ5IGNhbGxpbmcgdGhlIG9wZXJhdGlvbi4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkYnVja2V0ID0gJ215LWJ1Y2tldCc7CgogICAgJHJlc3VsdCA9ICRjbGllbnQtPmNyZWF0ZUJ1Y2tldChhcnJheSgKICAgICAgICAnQnVja2V0JyA9PiAkYnVja2V0CiAgICApKTsKCiAgICAvLyBXYWl0IHVudGlsIHRoZSBidWNrZXQgaXMgY3JlYXRlZAogICAgJGNsaWVudC0+d2FpdFVudGlsKCdCdWNrZXRFeGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAkYnVja2V0KSk7CgouLiBfcXMtZXhlY3V0aW5nLWNvbW1hbmRzOgoKRXhlY3V0aW5nIGNvbW1hbmRzCn5+fn5+fn5+fn5+fn5+fn5+fgoKQ29tbWFuZHMgY2FuIGJlIGV4ZWN1dGVkIGluIHR3byB3YXlzOiB1c2luZyB0aGUgc2hvcnRoYW5kIHN5bnRheCB2aWEgdGhlIGBgX19jYWxsKClgYCBtYWdpYyBtZXRob2RzIChhcyBzaG93biBpbiB0aGUKcHJlY2VkaW5nIGV4YW1wbGUpIG9yIHVzaW5nIHRoZSBleHBhbmRlZCBzeW50YXggdmlhIHRoZSBgYGdldENvbW1hbmQoKWBgIG1ldGhvZCBvZiB0aGUgY2xpZW50IG9iamVjdC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAvLyBUaGUgc2hvcnRoYW5kIHN5bnRheCAodmlhIF9fY2FsbCgpKQogICAgJHJlc3VsdCA9ICRjbGllbnQtPmNyZWF0ZUJ1Y2tldChhcnJheSgvKiAuLi4gKi8pKTsKCiAgICAvLyBUaGUgZXhwYW5kZWQgc3ludGF4ICh2aWEgZ2V0Q29tbWFuZCgpKQogICAgJGNvbW1hbmQgPSAkY2xpZW50LT5nZXRDb21tYW5kKCdDcmVhdGVCdWNrZXQnLCBhcnJheSgvKiAuLi4gKi8pKTsKICAgICRyZXN1bHQgPSAkY29tbWFuZC0+Z2V0UmVzdWx0KCk7CgpXaGVuIHVzaW5nIHRoZSBleHBhbmRlZCBzeW50YXgsIGEgYGBDb21tYW5kYGAgb2JqZWN0IGlzIHJldHVybmVkIGZyb20gYGBnZXRDb21tYW5kKClgYCwgd2hpY2ggZW5jYXBzdWxhdGVzIHRoZSByZXF1ZXN0CmFuZCByZXNwb25zZSBvZiB0aGUgSFRUUCByZXF1ZXN0IHRvIEFXUy4gRnJvbSB0aGUgYGBDb21tYW5kYGAgb2JqZWN0LCB5b3UgY2FuIGNhbGwgdGhlIGBgZ2V0UmVzdWx0KClgYCBtZXRob2Qgb3IgdGhlCmBgZXhlY3V0ZSgpYGAgbWV0aG9kIHRvIGV4ZWN1dGUgdGhlIGNvbW1hbmQgYW5kIGdldCB0aGUgcGFyc2VkIHJlc3VsdC4gQWRkaXRpb25hbGx5LCB5b3UgY2FuIGNhbGwgdGhlIGBgZ2V0UmVxdWVzdCgpYGAKYW5kIGBgZ2V0UmVzcG9uc2UoKWBgIG1ldGhvZHMgKGFmdGVyIHRoZSBjb21tYW5kIGhhcyBiZWVuIGV4ZWN1dGVkKSB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlLApyZXNwZWN0aXZlbHkgKGUuZy4sIHRoZSBzdGF0dXMgY29kZSBvciB0aGUgcmF3IHJlc3BvbnNlLCBoZWFkZXJzIHNlbnQgaW4gdGhlIHJlcXVlc3QsIGV0Yy4pLgoKVGhlIGBgQ29tbWFuZGBgIG9iamVjdCBhbHNvIHN1cHBvcnRzIGEgY2hhaW5hYmxlIHN5bnRheCBhbmQgY2FuIGFsc28gYmUgdXNlZnVsIHdoZW4geW91IHdhbnQgdG8gbWFuaXB1bGF0ZSB0aGUgcmVxdWVzdApiZWZvcmUgZXhlY3V0aW9uLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXN1bHQgPSAkY2xpZW50LT5nZXRDb21tYW5kKCdMaXN0T2JqZWN0cycpCiAgICAgICAgLT5zZXQoJ01heEtleXMnLCA1MCkKICAgICAgICAtPnNldCgnUHJlZml4JywgJ2Zvby9iYXovJykKICAgICAgICAtPmdldFJlc3VsdCgpOwoKSXQgYWxzbyBhbGxvd3MgZm9yIGV4ZWN1dGluZyBtdWx0aXBsZSBjb21tYW5kcyBpbiBwYXJhbGxlbC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkb3BzID0gYXJyYXkoKTsKICAgICRvcHNbXSA9ICRjbGllbnQtPmdldENvbW1hbmQoJ0dldE9iamVjdCcsIGFycmF5KCdCdWNrZXQnID0+ICdmb28nLCAnS2V5JyA9PiAnQmFyJykpOwogICAgJG9wc1tdID0gJGNsaWVudC0+Z2V0Q29tbWFuZCgnR2V0T2JqZWN0JywgYXJyYXkoJ0J1Y2tldCcgPT4gJ2ZvbycsICdLZXknID0+ICdCYXonKSk7CiAgICAkY2xpZW50LT5leGVjdXRlKCRvcHMpOwoKUmVzcG9uc2UgbW9kZWxzCn5+fn5+fn5+fn5+fn5+fgoKLi4gaW5jbHVkZTo6IF9zbmlwcGV0cy9tb2RlbHMtaW50cm8udHh0CgpUbyBsZWFybiBtb3JlIGFib3V0IGhvdyB0byB3b3JrIHdpdGggbW9kZWxzLCBwbGVhc2UgcmVhZCB0aGUgZGV0YWlsZWQgZ3VpZGUgdG8gOmRvYzpgZmVhdHVyZS1tb2RlbHNgLgoKVXNpbmcgdGhlIHNlcnZpY2UgYnVpbGRlcgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpXaGVuIHVzaW5nIHRoZSBTREssIHlvdSBoYXZlIHRoZSBvcHRpb24gdG8gdXNlIGluZGl2aWR1YWwgZmFjdG9yeSBtZXRob2RzIGZvciBlYWNoIGNsaWVudCBvciB0aGUgYGBBd3NcQ29tbW9uXEF3c2BgCmNsYXNzIHRvIGJ1aWxkIHlvdXIgY2xpZW50cy4gVGhlIGBgQXdzXENvbW1vblxBd3NgYCBjbGFzcyBpcyBhIHNlcnZpY2UgYnVpbGRlciBhbmQgZGVwZW5kZW5jeSBpbmplY3Rpb24gY29udGFpbmVyIGZvcgp0aGUgU0RLIGFuZCBpcyB0aGUgcmVjb21tZW5kZWQgd2F5IGZvciBpbnN0YW50aWF0aW5nIGNsaWVudHMuIFRoZSBzZXJ2aWNlIGJ1aWxkZXIgYWxsb3dzIHlvdSB0byBzaGFyZSBjb25maWd1cmF0aW9uCm9wdGlvbnMgYmV0d2VlbiBtdWx0aXBsZSBzZXJ2aWNlcyBhbmQgcHJlLXdpcmVzIHNob3J0IHNlcnZpY2UgbmFtZXMgd2l0aCB0aGUgYXBwcm9wcmlhdGUgY2xpZW50IGNsYXNzLgoKVGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzIGhvdyB0byB1c2UgdGhlIHNlcnZpY2UgYnVpbGRlciB0byByZXRyaWV2ZSBhIGBgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50YGAgYW5kIHBlcmZvcm0gdGhlCmBgR2V0SXRlbWBgIG9wZXJhdGlvbiB1c2luZyB0aGUgY29tbWFuZCBzeW50YXguCgpQYXNzaW5nIGFuIGFzc29jaWF0aXZlIGFycmF5IG9mIHBhcmFtZXRlcnMgYXMgdGhlIGZpcnN0IG9yIHNlY29uZCBhcmd1bWVudCBvZiBgYEF3c1xDb21tb25cQXdzOjpmYWN0b3J5KClgYCB0cmVhdHMgdGhlCnBhcmFtZXRlcnMgYXMgc2hhcmVkIGFjcm9zcyBhbGwgY2xpZW50cyBnZW5lcmF0ZWQgYnkgdGhlIGJ1aWxkZXIuIEluIHRoZSBleGFtcGxlLCB3ZSB0ZWxsIHRoZSBzZXJ2aWNlIGJ1aWxkZXIgdG8gdXNlIHRoZQpzYW1lIGNyZWRlbnRpYWxzIGZvciBldmVyeSBjbGllbnQuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgPD9waHAKCiAgICByZXF1aXJlICd2ZW5kb3IvYXV0b2xvYWQucGhwJzsKCiAgICB1c2UgQXdzXENvbW1vblxBd3M7CiAgICB1c2UgQXdzXER5bmFtb0RiXEV4Y2VwdGlvblxEeW5hbW9EYkV4Y2VwdGlvbjsKCiAgICAvLyBDcmVhdGUgYSBzZXJ2aWNlIGJ1aWxkaW5nIHVzaW5nIHNoYXJlZCBjcmVkZW50aWFscyBmb3IgZWFjaCBzZXJ2aWNlCiAgICAkYXdzID0gQXdzOjpmYWN0b3J5KGFycmF5KAogICAgICAgICdrZXknICAgID0+ICd5b3VyLWF3cy1hY2Nlc3Mta2V5LWlkJywKICAgICAgICAnc2VjcmV0JyA9PiAneW91ci1hd3Mtc2VjcmV0LWFjY2Vzcy1rZXknLAogICAgICAgICdyZWdpb24nID0+ICd1cy13ZXN0LTInCiAgICApKTsKCiAgICAvLyBSZXRyaWV2ZSB0aGUgRHluYW1vREIgY2xpZW50IGJ5IGl0cyBzaG9ydCBuYW1lIGZyb20gdGhlIHNlcnZpY2UgYnVpbGRlcgogICAgJGNsaWVudCA9ICRhd3MtPmdldCgnZHluYW1vZGInKTsKCiAgICAvLyBHZXQgYW4gaXRlbSBmcm9tIHRoZSAicG9zdHMiCiAgICB0cnkgewogICAgICAgICRyZXN1bHQgPSAkY2xpZW50LT5nZXRJdGVtKGFycmF5KAogICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAncG9zdHMnLAogICAgICAgICAgICAnS2V5JyA9PiAkY2xpZW50LT5mb3JtYXRBdHRyaWJ1dGVzKGFycmF5KAogICAgICAgICAgICAgICAgJ0hhc2hLZXlFbGVtZW50JyA9PiAndXNpbmctZHluYW1vZGItd2l0aC10aGUtcGhwLXNkaycKICAgICAgICAgICAgKSksCiAgICAgICAgICAgICdDb25zaXN0ZW50UmVhZCcgPT4gdHJ1ZQogICAgICAgICkpOwoKICAgICAgICBwcmludF9yKCRyZXN1bHRbJ0l0ZW0nXSk7CiAgICB9IGNhdGNoIChEeW5hbW9EYkV4Y2VwdGlvbiAkZSkgewogICAgICAgIGVjaG8gJ1RoZSBpdGVtIGNvdWxkIG5vdCBiZSByZXRyaWV2ZWQuJzsKICAgIH0KCkVycm9yIGhhbmRsaW5nCi0tLS0tLS0tLS0tLS0tCgpBbiBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gYW4gZXJyb3IgaXMgZW5jb3VudGVyZWQuIEJlIHN1cmUgdG8gdXNlIHRyeS9jYXRjaCBibG9ja3Mgd2hlbiBpbXBsZW1lbnRpbmcgZXJyb3IgaGFuZGxpbmcKbG9naWMgaW4geW91ciBhcHBsaWNhdGlvbnMuIFRoZSBTREsgdGhyb3dzIHNlcnZpY2Ugc3BlY2lmaWMgZXhjZXB0aW9ucyB3aGVuIGEgc2VydmVyLXNpZGUgZXJyb3Igb2NjdXJzLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBBd3NcQ29tbW9uXEF3czsKICAgIHVzZSBBd3NcUzNcRXhjZXB0aW9uXEJ1Y2tldEFscmVhZHlFeGlzdHNFeGNlcHRpb247CgogICAgJGF3cyA9IEF3czo6ZmFjdG9yeSgnL3BhdGgvdG8vbXlfY29uZmlnLmpzb24nKTsKICAgICRzMyA9ICRhd3MtPmdldCgnczMnKTsKCiAgICB0cnkgewogICAgICAgICRzMy0+Y3JlYXRlQnVja2V0KGFycmF5KCdCdWNrZXQnID0+ICdteS1idWNrZXQnKSk7CiAgICB9IGNhdGNoIChCdWNrZXRBbHJlYWR5RXhpc3RzRXhjZXB0aW9uICRlKSB7CiAgICAgICAgZWNobyAnVGhhdCBidWNrZXQgYWxyZWFkeSBleGlzdHMhICcgLiAkZS0+Z2V0TWVzc2FnZSgpIC4gIlxuIjsKICAgIH0KClRoZSBIVFRQIHJlc3BvbnNlIHRvIHRoZSBgYGNyZWF0ZUJ1Y2tldCgpYGAgbWV0aG9kIHdpbGwgcmVjZWl2ZSBhIGBgNDA5IENvbmZsaWN0YGAgcmVzcG9uc2Ugd2l0aCBhCmBgQnVja2V0QWxyZWFkeUV4aXN0c2BgIGVycm9yIGNvZGUuIFdoZW4gdGhlIFNESyBzZWVzIHRoZSBlcnJvciBjb2RlIGl0IHdpbGwgYXR0ZW1wdCB0byB0aHJvdyBhIG5hbWVkIGV4Y2VwdGlvbiB0aGF0Cm1hdGNoZXMgdGhlIG5hbWUgb2YgdGhlIEhUVFAgcmVzcG9uc2UgZXJyb3IgY29kZS4gWW91IGNhbiBzZWUgYSBmdWxsIGxpc3Qgb2Ygc3VwcG9ydGVkIGV4Y2VwdGlvbnMgZm9yIGVhY2ggY2xpZW50IGJ5Cmxvb2tpbmcgaW4gdGhlIGBFeGNlcHRpb24vYCBkaXJlY3Rvcnkgb2YgYSBjbGllbnQgbmFtZXNwYWNlLiBGb3IgZXhhbXBsZSwgYHNyYy9Bd3MvUzMvRXhjZXB0aW9uYCBjb250YWlucyBtYW55IGRpZmZlcmVudApleGNlcHRpb24gY2xhc3Nlczo6CgogICAgLgogICAg4pSc4pSA4pSAIEFjY2Vzc0RlbmllZEV4Y2VwdGlvbi5waHAKICAgIOKUnOKUgOKUgCBBY2NvdW50UHJvYmxlbUV4Y2VwdGlvbi5waHAKICAgIOKUnOKUgOKUgCBBbWJpZ3VvdXNHcmFudEJ5RW1haWxBZGRyZXNzRXhjZXB0aW9uLnBocAogICAg4pSc4pSA4pSAIEJhZERpZ2VzdEV4Y2VwdGlvbi5waHAKICAgIOKUnOKUgOKUgCBCdWNrZXRBbHJlYWR5RXhpc3RzRXhjZXB0aW9uLnBocAogICAg4pSc4pSA4pSAIEJ1Y2tldEFscmVhZHlPd25lZEJ5WW91RXhjZXB0aW9uLnBocAogICAg4pSc4pSA4pSAIEJ1Y2tldE5vdEVtcHR5RXhjZXB0aW9uLnBocAogICAgWy4uLl0KCldhaXRlcnMKLS0tLS0tLQoKLi4gaW5jbHVkZTo6IF9zbmlwcGV0cy93YWl0ZXJzLWludHJvLnR4dAoKVG8gbGVhcm4gbW9yZSBhYm91dCBob3cgdG8gdXNlIGFuZCBjb25maWd1cmUgd2FpdGVycywgcGxlYXNlIHJlYWQgdGhlIGRldGFpbGVkIGd1aWRlIHRvIDpkb2M6YGZlYXR1cmUtd2FpdGVyc2AuCgpJdGVyYXRvcnMKLS0tLS0tLS0tCgouLiBpbmNsdWRlOjogX3NuaXBwZXRzL2l0ZXJhdG9ycy1pbnRyby50eHQKClRvIGxlYXJuIG1vcmUgYWJvdXQgaG93IHRvIHVzZSBhbmQgY29uZmlndXJlIGl0ZXJhdG9ycywgcGxlYXNlIHJlYWQgdGhlIGRldGFpbGVkIGd1aWRlIHRvIDpkb2M6YGZlYXR1cmUtaXRlcmF0b3JzYC4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTIFNESyBmb3IgUEhQCj09PT09PT09PT09PT09PQoKRG9jdW1lbnRhdGlvbiBmb3IgdGhlIFtBV1MgU0RLIGZvciBQSFBdKGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLXNkay1waHApLgoKQnVpbGRpbmcgdGhlIGRvY3VtZW50YXRpb24KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClRoZSBkb2N1bWVudGF0aW9uIGlzIHdyaXR0ZW4gaW4gW3JlU3RydWN0dXJlZFRleHRdKGh0dHA6Ly9kb2N1dGlscy5zb3VyY2Vmb3JnZS5uZXQvcnN0Lmh0bWwpIGFuZCBjYW4gYmUgYnVpbHQgdXNpbmcKW1NwaGlueF0oaHR0cDovL3NwaGlueC5wb2Nvby5vcmcvKS4KCjEuIHBpcCBpbnN0YWxsIC1yIHJlcXVpcmVtZW50cy50eHQKMi4gTWFrZSB0aGUgSFRNTCBkb2N1bWVudGF0aW9uOiBgYG1ha2UgaHRtbGBgCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/requirements.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09ClJlcXVpcmVtZW50cwo9PT09PT09PT09PT0KCkFzaWRlIGZyb20gYSBiYXNlbGluZSB1bmRlcnN0YW5kaW5nIG9mIG9iamVjdC1vcmllbnRlZCBwcm9ncmFtbWluZyBpbiBQSFAgKGluY2x1ZGluZyBQSFAgNS4zIG5hbWVzcGFjZXMpLCB0aGVyZSBhcmUgYQpmZXcgbWluaW11bSBzeXN0ZW0gcmVxdWlyZW1lbnRzIHRvIHN0YXJ0IHVzaW5nIHRoZSBBV1MgU0RLIGZvciBQSFAuIFRoZSBleHRlbnNpb25zIGxpc3RlZCBhcmUgY29tbW9uIGFuZCBhcmUKaW5zdGFsbGVkIHdpdGggUEhQIDUuMyBieSBkZWZhdWx0IGluIG1vc3QgZW52aXJvbm1lbnRzLgoKTWluaW11bSByZXF1aXJlbWVudHMKLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiogUEhQIDUuMy4zKyBjb21waWxlZCB3aXRoIHRoZSBjVVJMIGV4dGVuc2lvbgoqIEEgcmVjZW50IHZlcnNpb24gb2YgY1VSTCA3LjE2LjIrIGNvbXBpbGVkIHdpdGggT3BlblNTTCBhbmQgemxpYgoKLi4gbm90ZTo6CgogICAgVG8gd29yayB3aXRoIEFtYXpvbiBDbG91ZEZyb250IHByaXZhdGUgZGlzdHJpYnV0aW9ucywgeW91IG11c3QgaGF2ZSB0aGUgT3BlblNTTCBQSFAgZXh0ZW5zaW9uIHRvIHNpZ24gcHJpdmF0ZQogICAgQ2xvdWRGcm9udCBVUkxzLgoKLi4gX29wdGltYWwtc2V0dGluZ3M6CgpPcHRpbWFsIHNldHRpbmdzCi0tLS0tLS0tLS0tLS0tLS0KClBsZWFzZSBjb25zdWx0IHRoZSA6ZG9jOmBwZXJmb3JtYW5jZWAgZm9yIGEgbGlzdCBvZiByZWNvbW1lbmRhdGlvbnMgYW5kIG9wdGltYWwgc2V0dGluZ3MgdGhhdCBjYW4gYmUgbWFkZSB0bwplbnN1cmUgdGhhdCB5b3UgYXJlIHVzaW5nIHRoZSBTREsgYXMgZWZmaWNpZW50bHkgYXMgcG9zc2libGUuCgpDb21wYXRpYmlsaXR5IHRlc3QKLS0tLS0tLS0tLS0tLS0tLS0tCgpSdW4gdGhlIGBjb21wYXRpYmlsaXR5LXRlc3QucGhwYCBmaWxlIGluIHRoZSBTREsgdG8gcXVpY2tseSBjaGVjayBpZiB5b3VyIHN5c3RlbSBpcyBjYXBhYmxlIG9mIHJ1bm5pbmcgdGhlIFNESy4gSW4KYWRkaXRpb24gdG8gbWVldGluZyB0aGUgbWluaW11bSBzeXN0ZW0gcmVxdWlyZW1lbnRzIG9mIHRoZSBTREssIHRoZSBjb21wYXRpYmlsaXR5IHRlc3QgY2hlY2tzIGZvciBvcHRpb25hbCBzZXR0aW5ncyBhbmQKbWFrZXMgcmVjb21tZW5kYXRpb25zIHRoYXQgY2FuIGhlbHAgeW91IHRvIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBTREsuIFRoZSBjb21wYXRpYmlsaXR5IHRlc3QgY2FuIG91dHB1dCB0ZXh0CmZvciB0aGUgY29tbWFuZCBsaW5lIG9yIGEgd2ViIGJyb3dzZXIuIFdoZW4gcnVubmluZyBpbiBhIGJyb3dzZXIsIHN1Y2Nlc3NmdWwgY2hlY2tzIGFwcGVhciBpbiBncmVlbiwgd2FybmluZ3MgaW4KcHVycGxlLCBhbmQgZmFpbHVyZXMgaW4gcmVkLiBXaGVuIHJ1bm5pbmcgZnJvbSB0aGUgQ0xJLCB0aGUgcmVzdWx0IG9mIGEgY2hlY2sgd2lsbCBhcHBlYXIgb24gZWFjaCBsaW5lLgoKV2hlbiByZXBvcnRpbmcgYW4gaXNzdWUgd2l0aCB0aGUgU0RLLCBpdCBpcyBvZnRlbiBoZWxwZnVsIHRvIHNoYXJlIGluZm9ybWF0aW9uIGFib3V0IHlvdXIgc3lzdGVtLiBTdXBwbHlpbmcgdGhlIG91dHB1dApvZiB0aGUgY29tcGF0aWJpbGl0eSB0ZXN0IGluIGZvcnVtIHBvc3RzIG9yIEdpdEh1YiBpc3N1ZXMgY2FuIGhlbHAgdG8gc3RyZWFtbGluZSB0aGUgcHJvY2VzcyBvZiBpZGVudGlmeWluZyB0aGUgcm9vdApjYXVzZSBvZiBhbiBpc3N1ZS4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/requirements.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[cnN0MnBkZgpTcGhpbng+PTEuMmIxCmd1enpsZV9zcGhpbnhfdGhlbWU+PTAuMy4wCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-autoscaling.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IEF1dG9TY2FsaW5nCgouLiBpbmNsdWRlOjogX3NuaXBwZXRzL2luY29tcGxldGUudHh0Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-cloudformation.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IENsb3VkRm9ybWF0aW9uCgouLiBpbmNsdWRlOjogX3NuaXBwZXRzL2luY29tcGxldGUudHh0Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-cloudfront.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IENsb3VkRnJvbnQKClNpZ25pbmcgQ2xvdWRGcm9udCBVUkxzIGZvciBQcml2YXRlIERpc3RyaWJ1dGlvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKU2lnbmVkIFVSTHMgYWxsb3cgeW91IHRvIHByb3ZpZGUgdXNlcnMgYWNjZXNzIHRvIHlvdXIgcHJpdmF0ZSBjb250ZW50LiBBIHNpZ25lZCBVUkwgaW5jbHVkZXMgYWRkaXRpb25hbCBpbmZvcm1hdGlvbgooZS5nLiwgZXhwaXJhdGlvbiB0aW1lKSB0aGF0IGdpdmVzIHlvdSBtb3JlIGNvbnRyb2wgb3ZlciBhY2Nlc3MgdG8geW91ciBjb250ZW50LiBUaGlzIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYXBwZWFycyBpbgphIHBvbGljeSBzdGF0ZW1lbnQsIHdoaWNoIGlzIGJhc2VkIG9uIGVpdGhlciBhIGNhbm5lZCBwb2xpY3kgb3IgYSBjdXN0b20gcG9saWN5LiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaG93IHRvIHNldCB1cApwcml2YXRlIGRpc3RyaWJ1dGlvbnMgYW5kIHdoeSB5b3UgbmVlZCB0byBzaWduIFVSTHMsIHBsZWFzZSByZWFkIHRoZSBgU2VydmluZyBQcml2YXRlIENvbnRlbnQgdGhyb3VnaCBDbG91ZEZyb250IHNlY3Rpb24KPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL1ByaXZhdGVDb250ZW50Lmh0bWw+YF8gb2YgdGhlIENsb3VkRnJvbnQgRGV2ZWxvcGVyCkd1aWRlLgoKLi4gbm90ZToKCiAgICBZb3UgbXVzdCBoYXZlIHRoZSBPcGVuU1NMIGV4dGVuc2lvbiBpbnN0YWxsZWQgaW4geW91IFBIUCBlbnZpcm9ubWVudCBpbiBvcmRlciB0byBzaWduIENsb3VkRnJvbnQgVVJMcy4KCllvdSBjYW4gc2lnbiBhIFVSTCB1c2luZyB0aGUgQ2xvdWRGcm9udCBjbGllbnQgaW4gdGhlIFNESy4gRmlyc3QgeW91IG11c3QgbWFrZSBzdXJlIHRvIHByb3ZpZGUgeW91ciBDbG91ZEZyb250ClByaXZhdGUgS2V5IGFuZCBLZXkgUGFpciBJRCB0byB0aGUgQ2xvdWRGcm9udCBjbGllbnQuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgPD9waHAKCiAgICAkY2xvdWRGcm9udCA9IENsb3VkRnJvbnRDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgJ3ByaXZhdGVfa2V5JyA9PiAnL3BhdGgvdG8veW91ci9jbG91ZGZyb250LXByaXZhdGUta2V5LnBlbScsCiAgICAgICAgJ2tleV9wYWlyX2lkJyA9PiAnPGNsb3VkZnJvbnQga2V5IHBhaXIgaWQ+JywKICAgICkpOwoKWW91IGNhbiBhbHRlcm5hdGl2ZWx5IHNwZWNpZnkgdGhlIFByaXZhdGUgS2V5IGFuZCBLZXkgUGFpciBJRCBpbiB5b3VyIEFXUyBjb25maWcgZmlsZSBhbmQgdXNlIHRoZSBzZXJ2aWNlIGJ1aWxkZXIgdG8KaW5zdGFudGlhdGUgdGhlIENsb3VkRnJvbnQgY2xpZW50LiBUaGUgZm9sbG93aW5nIGlzIGFuIGV4YW1wbGUgY29uZmlnIGZpbGUgdGhhdCBzcGVjaWZpZXMgdGhlIENsb3VkRnJvbnQga2V5IGluZm9ybWF0aW9uLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIDw/cGhwIHJldHVybiBhcnJheSgKICAgICAgICAnaW5jbHVkZXMnID0+IGFycmF5KCdfYXdzJyksCiAgICAgICAgJ3NlcnZpY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2RlZmF1bHRfc2V0dGluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3BhcmFtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2tleScgICAgPT4gJzxhd3MgYWNjZXNzIGtleT4nLAogICAgICAgICAgICAgICAgICAgICdzZWNyZXQnID0+ICc8YXdzIHNlY3JldCBrZXk+JywKICAgICAgICAgICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtd2VzdC0yJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAogICAgICAgICAgICAnY2xvdWRmcm9udCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2Nsb3VkZnJvbnQnLAogICAgICAgICAgICAgICAgJ3BhcmFtcycgID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdwcml2YXRlX2tleScgPT4gJy9wYXRoL3RvL3lvdXIvY2xvdWRmcm9udC1wcml2YXRlLWtleS5wZW0nLAogICAgICAgICAgICAgICAgICAgICdrZXlfcGFpcl9pZCcgPT4gJzxjbG91ZGZyb250IGtleSBwYWlyIGlkPicKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkKICAgICk7CgpZb3UgY2FuIHNpZ24gYSBDbG91ZEZyb250IFVSTCBmb3IgYSB2aWRlbyByZXNvdXJjZSB1c2luZyBlaXRoZXIgYSBjYW5uZWQgb3IgY3VzdG9tIHBvbGljeS4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAvLyBTZXR1cCBwYXJhbWV0ZXIgdmFsdWVzIGZvciB0aGUgcmVzb3VyY2UKICAgICRzdHJlYW1Ib3N0VXJsID0gJ3J0bXA6Ly9leGFtcGxlLWRpc3RyaWJ1dGlvbi5jbG91ZGZyb250Lm5ldCc7CiAgICAkcmVzb3VyY2VLZXkgPSAndmlkZW9zL2V4YW1wbGUubXA0JzsKICAgICRleHBpcmVzID0gdGltZSgpICsgMzAwOwoKICAgIC8vIENyZWF0ZSBhIHNpZ25lZCBVUkwgZm9yIHRoZSByZXNvdXJjZSB1c2luZyB0aGUgY2FubmVkIHBvbGljeQogICAgJHNpZ25lZFVybENhbm5lZFBvbGljeSA9ICRjbG91ZEZyb250LT5nZXRTaWduZWRVcmwoYXJyYXkoCiAgICAgICAgJ3VybCcgICAgID0+ICRzdHJlYW1Ib3N0VXJsIC4gJy8nIC4gJHJlc291cmNlS2V5LAogICAgICAgICdleHBpcmVzJyA9PiAkZXhwaXJlcywKICAgICkpOwoKRm9yIHZlcnNpb25zIG9mIHRoZSBTREsgbGF0ZXIgdGhhbiAyLjMuMSwgaW5zdGVhZCBvZiBwcm92aWRpbmcgeW91ciBwcml2YXRlIGtleSBpbmZvcm1hdGlvbiB3aGVuIHlvdSBpbnN0YW50aWF0ZSB0aGUKY2xpZW50LCB5b3UgY2FuIHByb3ZpZGUgaXQgYXQgdGhlIHRpbWUgd2hlbiB5b3Ugc2lnbiB0aGUgVVJMLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRzaWduZWRVcmxDYW5uZWRQb2xpY3kgPSAkY2xvdWRGcm9udC0+Z2V0U2lnbmVkVXJsKGFycmF5KAogICAgICAgICd1cmwnICAgICAgICAgPT4gJHN0cmVhbUhvc3RVcmwgLiAnLycgLiAkcmVzb3VyY2VLZXksCiAgICAgICAgJ2V4cGlyZXMnICAgICA9PiAkZXhwaXJlcywKICAgICAgICAncHJpdmF0ZV9rZXknID0+ICcvcGF0aC90by95b3VyL2Nsb3VkZnJvbnQtcHJpdmF0ZS1rZXkucGVtJywKICAgICAgICAna2V5X3BhaXJfaWQnID0+ICc8Y2xvdWRmcm9udCBrZXkgcGFpciBpZD4nCiAgICApKTsKClRvIHVzZSBhIGN1c3RvbSBwb2xpY3ksIHByb3ZpZGUgdGhlIGBgcG9saWN5YGAga2V5IGluc3RlYWQgb2YgYGBleHBpcmVzYGAuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGN1c3RvbVBvbGljeSA9IDw8PFBPTElDWQogICAgewogICAgICAgICJTdGF0ZW1lbnQiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJSZXNvdXJjZSI6ICJ7JHJlc291cmNlS2V5fSIsCiAgICAgICAgICAgICAgICAiQ29uZGl0aW9uIjogewogICAgICAgICAgICAgICAgICAgICJJcEFkZHJlc3MiOiB7IkFXUzpTb3VyY2VJcCI6ICJ7JF9TRVJWRVJbJ1JFTU9URV9BRERSJ119LzMyIn0sCiAgICAgICAgICAgICAgICAgICAgIkRhdGVMZXNzVGhhbiI6IHsiQVdTOkVwb2NoVGltZSI6IHskZXhwaXJlc319CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICBdCiAgICB9CiAgICBQT0xJQ1k7CgogICAgLy8gQ3JlYXRlIGEgc2lnbmVkIFVSTCBmb3IgdGhlIHJlc291cmNlIHVzaW5nIGEgY3VzdG9tIHBvbGljeQogICAgJHNpZ25lZFVybEN1c3RvbVBvbGljeSA9ICRjbG91ZEZyb250LT5nZXRTaWduZWRVcmwoYXJyYXkoCiAgICAgICAgJ3VybCcgICAgPT4gJHN0cmVhbUhvc3RVcmwgLiAnLycgLiAkcmVzb3VyY2VLZXksCiAgICAgICAgJ3BvbGljeScgPT4gJGN1c3RvbVBvbGljeSwKICAgICkpOwoKVGhlIGZvcm0gb2YgdGhlIHNpZ25lZCBVUkwgaXMgYWN0dWFsbHkgZGlmZmVyZW50IGRlcGVuZGluZyBvbiBpZiB0aGUgVVJMIHlvdSBhcmUgc2lnbmluZyBpcyB1c2luZyB0aGUgImh0dHAiIG9yICJydG1wIgpzY2hlbWUuIEluIHRoZSBjYXNlIG9mICJodHRwIiwgdGhlIGZ1bGwsIGFic29sdXRlIFVSTCBpcyByZXR1cm5lZC4gRm9yICJydG1wIiwgb25seSB0aGUgcmVsYXRpdmUgVVJMIGlzIHJldHVybmVkIGZvcgp5b3VyIGNvbnZlbmllbmNlLCBiZWNhdXNlIHNvbWUgcGxheWVycyByZXF1aXJlIHRoZSBob3N0IGFuZCBwYXRoIHRvIGJlIHByb3ZpZGVkIGFzIHNlcGFyYXRlIHBhcmFtZXRlcnMuCgpUaGUgZm9sbG93aW5nIGlzIGFuIGV4YW1wbGUgb2YgaG93IHlvdSBjb3VsZCB1c2UgdGhlIHNpZ25lZCBVUkwgdG8gY29uc3RydWN0IGEgd2ViIHBhZ2UgZGlzcGxheWluZyBhIHZpZGVvIHVzaW5nCmBKV1BsYXllciA8aHR0cDovL3d3dy5sb25ndGFpbHZpZGVvLmNvbS9qdy1wbGF5ZXIvPmBfLiBUaGUgc2FtZSB0eXBlIG9mIHRlY2huaXF1ZSB3b3VsZCBhcHBseSB0byBvdGhlciBwbGF5ZXJzIGxpa2UKYEZsb3dQbGF5ZXIgPGh0dHA6Ly9mbG93cGxheWVyLm9yZy8+YF8sIGJ1dCB3aWxsIHJlcXVpcmUgZGlmZmVyZW50IGNsaWVudC1zaWRlIGNvZGUuCgouLiBjb2RlLWJsb2NrOjogaHRtbAoKICAgIDxodG1sPgogICAgPGhlYWQ+CiAgICAgICAgPHRpdGxlPkFtYXpvbiBDbG91ZEZyb250IFN0cmVhbWluZyBFeGFtcGxlPC90aXRsZT4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2V4YW1wbGUuY29tL2p3cGxheWVyLmpzIj48L3NjcmlwdD4KICAgIDwvaGVhZD4KICAgIDxib2R5PgogICAgICAgIDxkaXYgaWQ9InZpZGVvIj5UaGUgY2FubmVkIHBvbGljeSB2aWRlbyB3aWxsIGJlIGhlcmUuPC9kaXY+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICAgICBqd3BsYXllcigndmlkZW8nKS5zZXR1cCh7CiAgICAgICAgICAgICAgICBmaWxlOiAiPD89ICRzdHJlYW1Ib3N0VXJsID8+L2NmeC9zdC88Pz0gJHNpZ25lZFVybENhbm5lZFBvbGljeSA/PiIsCiAgICAgICAgICAgICAgICB3aWR0aDogIjcyMCIsCiAgICAgICAgICAgICAgICBoZWlnaHQ6ICI0ODAiCiAgICAgICAgICAgIH0pOwogICAgICAgIDwvc2NyaXB0PgogICAgPC9ib2R5PgogICAgPC9odG1sPgoKLi4gaW5jbHVkZTo6IF9zbmlwcGV0cy9pbmNvbXBsZXRlLnR4dAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-cloudsearch.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IENsb3VkU2VhcmNoCgouLiBpbmNsdWRlOjogX3NuaXBwZXRzL2luY29tcGxldGUudHh0Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-cloudtrail.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IENsb3VkVHJhaWwKCi4uIGluY2x1ZGU6OiBfc25pcHBldHMvaW5jb21wbGV0ZS50eHQK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-cloudwatch.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IENsb3VkV2F0Y2gKCi4uIGluY2x1ZGU6OiBfc25pcHBldHMvaW5jb21wbGV0ZS50eHQK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-datapipeline.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IERhdGFQaXBlbGluZQoKLi4gaW5jbHVkZTo6IF9zbmlwcGV0cy9pbmNvbXBsZXRlLnR4dAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-directconnect.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IERpcmVjdENvbm5lY3QKCi4uIGluY2x1ZGU6OiBfc25pcHBldHMvaW5jb21wbGV0ZS50eHQK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-dynamodb-20111205.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IER5bmFtb0RiIDIwMTEtMTItMDUKCkNyZWF0aW5nIHRhYmxlcwotLS0tLS0tLS0tLS0tLS0KCllvdSBtdXN0IGZpcnN0IGNyZWF0ZSBhIHRhYmxlIHRoYXQgY2FuIGJlIHVzZWQgdG8gc3RvcmUgaXRlbXMuIEV2ZW4gdGhvdWdoIEFtYXpvbiBEeW5hbW9EQiB0YWJsZXMgZG8gbm90IHVzZSBhIGZpeGVkCnNjaGVtYSwgeW91IGRvIG5lZWQgdG8gY3JlYXRlIGEgc2NoZW1hIGZvciB0aGUgdGFibGUncyBrZXlzLiBUaGlzIGlzIGV4cGxhaW5lZCBpbiBncmVhdGVyIGRldGFpbCBpbiBBbWF6b24gRHluYW1vREIncwpgRGF0YSBNb2RlbCBkb2N1bWVudGF0aW9uIDxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvRGF0YU1vZGVsLmh0bWw+YF8uIFlvdQp3aWxsIGFsc28gbmVlZCB0byBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgYHByb3Zpc2lvbmVkIHRocm91Z2hwdXQKPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9Qcm92aXNpb25lZFRocm91Z2hwdXRJbnRyby5odG1sPmBfIHRoYXQgc2hvdWxkCmJlIG1hZGUgYXZhaWxhYmxlIHRvIHRoZSB0YWJsZS4KCi4uIGV4YW1wbGU6OiBEeW5hbW9EYi9JbnRlZ3JhdGlvbi9EeW5hbW9EYl8yMDExMTIwNV9UZXN0LnBocCB0ZXN0Q3JlYXRlVGFibGUKClRoZSB0YWJsZSB3aWxsIG5vdyBoYXZlIGEgc3RhdHVzIG9mIGBgQ1JFQVRJTkdgYCB3aGlsZSB0aGUgdGFibGUgaXMgYmVpbmcgcHJvdmlzaW9uZWQuIFlvdSBjYW4gdXNlIGEgd2FpdGVyIHRvIHBvbGwgdGhlCnRhYmxlIHVudGlsIGl0IGJlY29tZXMgYGBBQ1RJVkVgYC4KCi4uIGV4YW1wbGU6OiBEeW5hbW9EYi9JbnRlZ3JhdGlvbi9EeW5hbW9EYl8yMDExMTIwNV9UZXN0LnBocCB0ZXN0V2FpdFVudGlsVGFibGVFeGlzdHMKCkEgZnVsbCBsaXN0IG9mIHRoZSBwYXJhbWV0ZXJzIGF2YWlsYWJsZSB0byB0aGUgYGBjcmVhdGVUYWJsZSgpYGAgb3BlcmF0aW9uIGNhbiBiZSBmb3VuZCBpbiB0aGUKYEFQSSBkb2N1bWVudGF0aW9uIDxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkR5bmFtb0RiLkR5bmFtb0RiQ2xpZW50Lmh0bWwjX2NyZWF0ZVRhYmxlPmBfLgoKVXBkYXRpbmcgYSB0YWJsZQotLS0tLS0tLS0tLS0tLS0tCgpZb3UgY2FuIGFsc28gdXBkYXRlIHRoZSB0YWJsZSBhZnRlciBpdCdzIGJlZW4gY3JlYXRlZCB1c2luZyB0aGUgYHVwZGF0ZVRhYmxlKCkgPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuRHluYW1vRGIuRHluYW1vRGJDbGllbnQuaHRtbCNfdXBkYXRlVGFibGU+YF8gbWV0aG9kLiBUaGlzIGFsbG93cyB5b3UgdG8gZG8gdGhpbmdzCmxpa2UgaW5jcmVhc2Ugb3IgZGVjcmVhc2UgeW91ciBwcm92aXNpb25lZCB0aHJvdWdocHV0IGNhcGFjaXR5LgoKLi4gZXhhbXBsZTo6IER5bmFtb0RiL0ludGVncmF0aW9uL0R5bmFtb0RiXzIwMTExMjA1X1Rlc3QucGhwIHRlc3RVcGRhdGVUYWJsZQoKRGVzY3JpYmluZyBhIHRhYmxlCi0tLS0tLS0tLS0tLS0tLS0tLQoKTm93IHRoYXQgdGhlIHRhYmxlIGlzIGNyZWF0ZWQsIHlvdSBjYW4gdXNlIHRoZQpgZGVzY3JpYmVUYWJsZSgpIDxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkR5bmFtb0RiLkR5bmFtb0RiQ2xpZW50Lmh0bWwjX2Rlc2NyaWJlVGFibGU+YF8KbWV0aG9kIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFibGUuCgouLiBleGFtcGxlOjogRHluYW1vRGIvSW50ZWdyYXRpb24vRHluYW1vRGJfMjAxMTEyMDVfVGVzdC5waHAgdGVzdERlc2NyaWJlVGFibGUKClRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGBgZGVzY3JpYmVUYWJsZSgpYGAgbWV0aG9kIGlzIGEgYGBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbGBgIG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIGxpa2UKYW4gYXJyYXkuIEZvciBleGFtcGxlLCB5b3UgY291bGQgcmV0cmlldmUgdGhlIG51bWJlciBvZiBpdGVtcyBpbiBhIHRhYmxlIG9yIHRoZSBhbW91bnQgb2YgcHJvdmlzaW9uZWQgcmVhZCB0aHJvdWdocHV0LgoKTGlzdGluZyB0YWJsZXMKLS0tLS0tLS0tLS0tLS0KCllvdSBjYW4gcmV0cmlldmUgYSBsaXN0IG9mIGFsbCBvZiB0aGUgdGFibGVzIGFzc29jaWF0ZWQgd2l0aCBhIHNwZWNpZmljIGVuZHBvaW50IHVzaW5nIHRoZQpgbGlzdFRhYmxlcygpIDxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkR5bmFtb0RiLkR5bmFtb0RiQ2xpZW50Lmh0bWwjX2xpc3RUYWJsZXM+YF8KbWV0aG9kLiBFYWNoIEFtYXpvbiBEeW5hbW9EQiBlbmRwb2ludCBpcyBlbnRpcmVseSBpbmRlcGVuZGVudC4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZlIHR3byB0YWJsZXMgY2FsbGVkICJNeVRhYmxlLCIgb25lCmluIFVTLUVBU1QtMSBhbmQgb25lIGluIFVTLVdFU1QtMiwgdGhleSBhcmUgY29tcGxldGVseSBpbmRlcGVuZGVudCBhbmQgZG8gbm90IHNoYXJlIGFueSBkYXRhLiBUaGUgTGlzdFRhYmxlcyBvcGVyYXRpb24KcmV0dXJucyBhbGwgb2YgdGhlIHRhYmxlIG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgYWNjb3VudCBtYWtpbmcgdGhlIHJlcXVlc3QsIGZvciB0aGUgZW5kcG9pbnQgdGhhdCByZWNlaXZlcyB0aGUKcmVxdWVzdC4KCi4uIGV4YW1wbGU6OiBEeW5hbW9EYi9JbnRlZ3JhdGlvbi9EeW5hbW9EYl8yMDExMTIwNV9UZXN0LnBocCB0ZXN0TGlzdFRhYmxlcwoKSXRlcmF0aW5nIG92ZXIgYWxsIHRhYmxlcwp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpUaGUgcmVzdWx0IG9mIGEgYGBsaXN0VGFibGVzKClgYCBvcGVyYXRpb24gbWlnaHQgYmUgdHJ1bmNhdGVkLiBCZWNhdXNlIG9mIHRoaXMsIGl0IGlzIHVzdWFsbHkgYmV0dGVyIHRvIHVzZSBhbiBpdGVyYXRvcgp0byByZXRyaWV2ZSBhIGNvbXBsZXRlIGxpc3Qgb2YgYWxsIG9mIHRoZSB0YWJsZXMgb3duZWQgYnkgeW91ciBhY2NvdW50IGluIGEgc3BlY2lmaWMgcmVnaW9uLiBUaGUgaXRlcmF0b3Igd2lsbAphdXRvbWF0aWNhbGx5IGhhbmRsZSBzZW5kaW5nIGFueSBuZWNlc3Nhcnkgc3Vic2VxdWVudCByZXF1ZXN0cy4KCi4uIGV4YW1wbGU6OiBEeW5hbW9EYi9JbnRlZ3JhdGlvbi9EeW5hbW9EYl8yMDExMTIwNV9UZXN0LnBocCB0ZXN0TGlzdFRhYmxlc1dpdGhJdGVyYXRvcgoKLi4gdGlwOjoKCiAgICBZb3UgY2FuIGNvbnZlcnQgYW4gaXRlcmF0b3IgdG8gYW4gYXJyYXkgdXNpbmcgdGhlIGBgdG9BcnJheSgpYGAgbWV0aG9kIG9mIHRoZSBpdGVyYXRvci4KCkFkZGluZyBpdGVtcwotLS0tLS0tLS0tLS0KCllvdSBjYW4gYWRkIGFuIGl0ZW0gdG8gb3VyICplcnJvcnMqIHRhYmxlIHVzaW5nIHRoZQpgcHV0SXRlbSgpIDxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkR5bmFtb0RiLkR5bmFtb0RiQ2xpZW50Lmh0bWwjX3B1dEl0ZW0+YF8KbWV0aG9kIG9mIHRoZSBjbGllbnQuCgouLiBleGFtcGxlOjogRHluYW1vRGIvSW50ZWdyYXRpb24vRHluYW1vRGJfMjAxMTEyMDVfVGVzdC5waHAgdGVzdEFkZEl0ZW0KCkFzIHlvdSBjYW4gc2VlLCB0aGUgYGBmb3JtYXRBdHRyaWJ1dGVzKClgYCBtZXRob2Qgb2YgdGhlIGNsaWVudCBjYW4gYmUgdXNlZCB0byBtb3JlIGVhc2lseSBmb3JtYXQgdGhlIGF0dHJpYnV0ZXMgb2YgdGhlCml0ZW0uIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gcHJvdmlkZSB0aGUgaXRlbSBhdHRyaWJ1dGVzIHdpdGhvdXQgdXNpbmcgdGhlIGhlbHBlciBtZXRob2Q6CgouLiBleGFtcGxlOjogRHluYW1vRGIvSW50ZWdyYXRpb24vRHluYW1vRGJfMjAxMTEyMDVfVGVzdC5waHAgdGVzdEFkZEl0ZW1XaXRob3V0SGVscGVyTWV0aG9kCgpSZXRyaWV2aW5nIGl0ZW1zCi0tLS0tLS0tLS0tLS0tLS0KCllvdSBjYW4gY2hlY2sgaWYgdGhlIGl0ZW0gd2FzIGFkZGVkIGNvcnJlY3RseSB1c2luZyB0aGUKYGdldEl0ZW0oKSA8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5EeW5hbW9EYi5EeW5hbW9EYkNsaWVudC5odG1sI19nZXRJdGVtPmBfCm1ldGhvZCBvZiB0aGUgY2xpZW50LiBCZWNhdXNlIEFtYXpvbiBEeW5hbW9EQiB3b3JrcyB1bmRlciBhbiAnZXZlbnR1YWwgY29uc2lzdGVuY3knIG1vZGVsLCB3ZSBuZWVkIHRvIHNwZWNpZnkgdGhhdCB3ZQphcmUgcGVyZm9ybWluZyBhIGBjb25zaXN0ZW50IHJlYWQKPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9BUElTdW1tYXJ5Lmh0bWwjRGF0YVJlYWRDb25zaXN0ZW5jeT5gXyBvcGVyYXRpb24uCgouLiBleGFtcGxlOjogRHluYW1vRGIvSW50ZWdyYXRpb24vRHluYW1vRGJfMjAxMTEyMDVfVGVzdC5waHAgdGVzdEdldEl0ZW0KCllvdSBjYW4gYWxzbyByZXRyaWV2ZSBpdGVtcyBpbiBiYXRjaGVzIG9mIHVwIHRvIDEwMCB1c2luZyB0aGUgYEJhdGNoR2V0SXRlbSgpCjxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkR5bmFtb0RiLkR5bmFtb0RiQ2xpZW50Lmh0bWwjX2JhdGNoR2V0SXRlbT5gXyBtZXRob2QuCgouLiBleGFtcGxlOjogRHluYW1vRGIvSW50ZWdyYXRpb24vRHluYW1vRGJfMjAxMTEyMDVfVGVzdC5waHAgdGVzdEJhdGNoR2V0SXRlbQoKUXVlcnkgYW5kIHNjYW4KLS0tLS0tLS0tLS0tLS0KCk9uY2UgZGF0YSBpcyBpbiBhbiBBbWF6b24gRHluYW1vREIgdGFibGUsIHlvdSBoYXZlIHR3byBBUElzIGZvciBzZWFyY2hpbmcgdGhlIGRhdGE6CmBRdWVyeSBhbmQgU2NhbiA8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL1F1ZXJ5QW5kU2Nhbi5odG1sPmBfLgoKUXVlcnkKfn5+fn4KCkEgcXVlcnkgb3BlcmF0aW9uIHNlYXJjaGVzIG9ubHkgcHJpbWFyeSBrZXkgYXR0cmlidXRlIHZhbHVlcyBhbmQgc3VwcG9ydHMgYSBzdWJzZXQgb2YgY29tcGFyaXNvbiBvcGVyYXRvcnMgb24ga2V5CmF0dHJpYnV0ZSB2YWx1ZXMgdG8gcmVmaW5lIHRoZSBzZWFyY2ggcHJvY2Vzcy4gQSBxdWVyeSByZXR1cm5zIGFsbCBvZiB0aGUgaXRlbSBkYXRhIGZvciB0aGUgbWF0Y2hpbmcgcHJpbWFyeSBrZXlzCihhbGwgb2YgZWFjaCBpdGVtJ3MgYXR0cmlidXRlcykgdXAgdG8gMU1CIG9mIGRhdGEgcGVyIHF1ZXJ5IG9wZXJhdGlvbi4KCkxldCdzIHNheSB3ZSB3YW50IGEgbGlzdCBvZiBhbGwgIjEyMDEiIGVycm9ycyB0aGF0IG9jY3VycmVkIGluIHRoZSBsYXN0IDE1IG1pbnV0ZXMuIFdlIGNvdWxkIGlzc3VlIGEgc2luZ2xlIHF1ZXJ5CnRoYXQgd2lsbCBzZWFyY2ggYnkgdGhlIHByaW1hcnkga2V5IG9mIHRoZSB0YWJsZSBhbmQgcmV0cmlldmUgdXAgdG8gMU1CIG9mIHRoZSBpdGVtcy4gSG93ZXZlciwgYSBiZXR0ZXIgYXBwcm9hY2ggaXMgdG8KdXNlIHRoZSBxdWVyeSBpdGVyYXRvciB0byByZXRyaWV2ZSB0aGUgZW50aXJlIGxpc3Qgb2YgYWxsIGl0ZW1zIG1hdGNoaW5nIHRoZSBxdWVyeS4KCi4uIGV4YW1wbGU6OiBEeW5hbW9EYi9JbnRlZ3JhdGlvbi9EeW5hbW9EYl8yMDExMTIwNV9UZXN0LnBocCB0ZXN0UXVlcnkKClNjYW4Kfn5+fgoKQSBzY2FuIG9wZXJhdGlvbiBzY2FucyB0aGUgZW50aXJlIHRhYmxlLiBZb3UgY2FuIHNwZWNpZnkgZmlsdGVycyB0byBhcHBseSB0byB0aGUgcmVzdWx0cyB0byByZWZpbmUgdGhlIHZhbHVlcwpyZXR1cm5lZCB0byB5b3UsIGFmdGVyIHRoZSBjb21wbGV0ZSBzY2FuLiBBbWF6b24gRHluYW1vREIgcHV0cyBhIDFNQiBsaW1pdCBvbiB0aGUgc2NhbiAodGhlIGxpbWl0IGFwcGxpZXMgYmVmb3JlCnRoZSByZXN1bHRzIGFyZSBmaWx0ZXJlZCkuCgpBIHNjYW4gY2FuIGJlIHVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IHNlYXJjaGVzLiBGb3IgZXhhbXBsZSwgd2UgY2FuIHJldHJpZXZlIGFsbCBvZiB0aGUgZXJyb3JzIGluIHRoZSBsYXN0IDE1Cm1pbnV0ZXMgdGhhdCBjb250YWluIHRoZSB3b3JkICJvdmVyZmxvdyI6CgouLiBleGFtcGxlOjogRHluYW1vRGIvSW50ZWdyYXRpb24vRHluYW1vRGJfMjAxMTEyMDVfVGVzdC5waHAgdGVzdFNjYW4KCkRlbGV0aW5nIGEgdGFibGUKLS0tLS0tLS0tLS0tLS0tLQoKLi4gd2FybmluZzo6CgogICAgRGVsZXRpbmcgYSB0YWJsZSB3aWxsIGFsc28gcGVybWFuZW50bHkgZGVsZXRlIGFsbCBvZiBpdHMgY29udGVudHMuCgpOb3cgdGhhdCB5b3UndmUgdGFrZW4gYSBxdWljayB0b3VyIG9mIHRoZSBQSFAgY2xpZW50IGZvciBBbWF6b24gRHluYW1vREIsIHlvdSB3aWxsIHdhbnQgdG8gY2xlYW4gdXAgYnkgZGVsZXRpbmcgdGhlCnJlc291cmNlcyB5b3UgY3JlYXRlZC4KCi4uIGV4YW1wbGU6OiBEeW5hbW9EYi9JbnRlZ3JhdGlvbi9EeW5hbW9EYl8yMDExMTIwNV9UZXN0LnBocCB0ZXN0RGVsZXRlVGFibGUKClVzaW5nIHRoZSBXcml0ZVJlcXVlc3RCYXRjaAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCllvdSBjYW4gdXNlIHRoZSBgYFdyaXRlUmVxdWVzdEJhdGNoYGAgaWYgeW91IG5lZWQgdG8gd3JpdGUgb3IgZGVsZXRlIG1hbnkgaXRlbXMgYXMgcXVpY2tseSBhcyBwb3NzaWJsZS4gVGhlCldyaXRlUmVxdWVzdEJhdGNoIHByb3ZpZGVzIGEgaGlnaCBsZXZlbCBvZiBwZXJmb3JtYW5jZSBiZWNhdXNlIGl0IGNvbnZlcnRzIHdoYXQgd291bGQgbm9ybWFsbHkgYmUgYSBzZXBhcmF0ZSBIVFRQCnJlcXVlc3QgZm9yIGVhY2ggb3BlcmF0aW9uIGludG8gSFRUUCByZXF1ZXN0cyBjb250YWluaW5nIHVwIHRvIDI1IGNvbXBhcmFibGUgcmVxdWVzdHMgcGVyIHRyYW5zYWN0aW9uLgoKSWYgeW91IGhhdmUgYSBsYXJnZSBhcnJheSBvZiBpdGVtcyB5b3Ugd2lzaCB0byBhZGQgdG8geW91ciB0YWJsZSwgeW91IGNvdWxkIGl0ZXJhdGUgb3ZlciB0aGUgdGhlbSwgYWRkIGVhY2ggaXRlbSB0byB0aGUKYmF0Y2ggb2JqZWN0LiBBZnRlciBhbGwgdGhlIGl0ZW1zIGFyZSBhZGRlZCBjYWxsIGBgZmx1c2goKWBgLiBUaGUgYmF0Y2ggb2JqZWN0IHdpbGwgYXV0b21hdGljYWxseSBmbHVzaCB0aGUgYmF0Y2ggYW5kCndyaXRlIGl0ZW1zIHRvIEFtYXpvbiBEeW5hbW9EQiBhZnRlciBoaXR0aW5nIGEgY3VzdG9taXphYmxlIHRocmVzaG9sZC4gQSBmaW5hbCBjYWxsIHRvIHRoZSBiYXRjaCBvYmplY3QncyBgYGZsdXNoKClgYAptZXRob2QgaXMgbmVjZXNzYXJ5IHRvIHRyYW5zZmVyIGFueSByZW1haW5pbmcgaXRlbXMgaW4gdGhlIHF1ZXVlLgoKLi4gZXhhbXBsZTo6IER5bmFtb0RiL0ludGVncmF0aW9uL1dyaXRlUmVxdWVzdEJhdGNoXzIwMTExMjA1X1Rlc3QucGhwIHRlc3RXcml0ZVJlcXVlc3RCYXRjaEZvclB1dHMKCllvdSBjYW4gYWxzbyB1c2UgdGhlIGBgV3JpdGVSZXF1ZXN0QmF0Y2hgYCBvYmplY3QgdG8gZGVsZXRlIGl0ZW1zIGluIGJhdGNoZXMuCgouLiBleGFtcGxlOjogRHluYW1vRGIvSW50ZWdyYXRpb24vV3JpdGVSZXF1ZXN0QmF0Y2hfMjAxMTEyMDVfVGVzdC5waHAgdGVzdFdyaXRlUmVxdWVzdEJhdGNoRm9yRGVsZXRlcwoKVGhlIGBgV3JpdGVSZXF1ZXN0QmF0Y2hgYCwgYGBQdXRSZXF1ZXN0YGAsIGFuZCBgYERlbGV0ZVJlcXVlc3RgYCBjbGFzc2VzIGFyZSBhbGwgYSBwYXJ0IG9mIHRoZQpgYEF3c1xEeW5hbW9EYlxNb2RlbFxCYXRjaFJlcXVlc3RgYCBuYW1lc3BhY2UuCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-dynamodb.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IER5bmFtb0RiCgpDcmVhdGluZyB0YWJsZXMKLS0tLS0tLS0tLS0tLS0tCgpZb3UgbXVzdCBmaXJzdCBjcmVhdGUgYSB0YWJsZSB0aGF0IGNhbiBiZSB1c2VkIHRvIHN0b3JlIGl0ZW1zLiBFdmVuIHRob3VnaCBBbWF6b24gRHluYW1vREIgdGFibGVzIGRvIG5vdCB1c2UgYSBmaXhlZApzY2hlbWEsIHlvdSBkbyBuZWVkIHRvIGNyZWF0ZSBhIHNjaGVtYSBmb3IgdGhlIHRhYmxlJ3Mga2V5cy4gVGhpcyBpcyBleHBsYWluZWQgaW4gZ3JlYXRlciBkZXRhaWwgaW4gQW1hem9uIER5bmFtb0RCJ3MKYERhdGEgTW9kZWwgZG9jdW1lbnRhdGlvbiA8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL0RhdGFNb2RlbC5odG1sPmBfLiBZb3UKd2lsbCBhbHNvIG5lZWQgdG8gc3BlY2lmeSB0aGUgYW1vdW50IG9mIGBwcm92aXNpb25lZCB0aHJvdWdocHV0CjxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvUHJvdmlzaW9uZWRUaHJvdWdocHV0SW50cm8uaHRtbD5gXyB0aGF0IHNob3VsZApiZSBtYWRlIGF2YWlsYWJsZSB0byB0aGUgdGFibGUuCgouLiBleGFtcGxlOjogRHluYW1vRGIvSW50ZWdyYXRpb24vRHluYW1vRGJfMjAxMjA4MTBfVGVzdC5waHAgdGVzdENyZWF0ZVRhYmxlCgpUaGUgdGFibGUgd2lsbCBub3cgaGF2ZSBhIHN0YXR1cyBvZiBgYENSRUFUSU5HYGAgd2hpbGUgdGhlIHRhYmxlIGlzIGJlaW5nIHByb3Zpc2lvbmVkLiBZb3UgY2FuIHVzZSBhIHdhaXRlciB0byBwb2xsIHRoZQp0YWJsZSB1bnRpbCBpdCBiZWNvbWVzIGBgQUNUSVZFYGAuCgouLiBleGFtcGxlOjogRHluYW1vRGIvSW50ZWdyYXRpb24vRHluYW1vRGJfMjAxMjA4MTBfVGVzdC5waHAgdGVzdFdhaXRVbnRpbFRhYmxlRXhpc3RzCgpBIGZ1bGwgbGlzdCBvZiB0aGUgcGFyYW1ldGVycyBhdmFpbGFibGUgdG8gdGhlIGBgY3JlYXRlVGFibGUoKWBgIG9wZXJhdGlvbiBjYW4gYmUgZm91bmQgaW4gdGhlIGBBUEkgZG9jdW1lbnRhdGlvbgo8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5EeW5hbW9EYi5EeW5hbW9EYkNsaWVudC5odG1sI19jcmVhdGVUYWJsZT5gXy4gRm9yIG1vcmUKaW5mb3JtYXRpb24gYWJvdXQgdXNpbmcgTG9jYWwgU2Vjb25kYXJ5IEluZGV4ZXMsIHBsZWFzZSBzZWUgdGhlIDpyZWY6YGR5bmFtb2RiLWxzaWAgc2VjdGlvbiBvZiB0aGlzIGd1aWRlLgoKVXBkYXRpbmcgYSB0YWJsZQotLS0tLS0tLS0tLS0tLS0tCgpZb3UgY2FuIGFsc28gdXBkYXRlIHRoZSB0YWJsZSBhZnRlciBpdCdzIGJlZW4gY3JlYXRlZCB1c2luZyB0aGUgYHVwZGF0ZVRhYmxlKCkgPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuRHluYW1vRGIuRHluYW1vRGJDbGllbnQuaHRtbCNfdXBkYXRlVGFibGU+YF8gbWV0aG9kLiBUaGlzIGFsbG93cyB5b3UgdG8gZG8gdGhpbmdzCmxpa2UgaW5jcmVhc2Ugb3IgZGVjcmVhc2UgeW91ciBwcm92aXNpb25lZCB0aHJvdWdocHV0IGNhcGFjaXR5LgoKLi4gZXhhbXBsZTo6IER5bmFtb0RiL0ludGVncmF0aW9uL0R5bmFtb0RiXzIwMTIwODEwX1Rlc3QucGhwIHRlc3RVcGRhdGVUYWJsZQoKRGVzY3JpYmluZyBhIHRhYmxlCi0tLS0tLS0tLS0tLS0tLS0tLQoKTm93IHRoYXQgdGhlIHRhYmxlIGlzIGNyZWF0ZWQsIHlvdSBjYW4gdXNlIHRoZQpgZGVzY3JpYmVUYWJsZSgpIDxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkR5bmFtb0RiLkR5bmFtb0RiQ2xpZW50Lmh0bWwjX2Rlc2NyaWJlVGFibGU+YF8KbWV0aG9kIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFibGUuCgouLiBleGFtcGxlOjogRHluYW1vRGIvSW50ZWdyYXRpb24vRHluYW1vRGJfMjAxMjA4MTBfVGVzdC5waHAgdGVzdERlc2NyaWJlVGFibGUKClRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGBgZGVzY3JpYmVUYWJsZSgpYGAgbWV0aG9kIGlzIGEgYGBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbGBgIG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIGxpa2UKYW4gYXJyYXkuIEZvciBleGFtcGxlLCB5b3UgY291bGQgcmV0cmlldmUgdGhlIG51bWJlciBvZiBpdGVtcyBpbiBhIHRhYmxlIG9yIHRoZSBhbW91bnQgb2YgcHJvdmlzaW9uZWQgcmVhZCB0aHJvdWdocHV0LgoKTGlzdGluZyB0YWJsZXMKLS0tLS0tLS0tLS0tLS0KCllvdSBjYW4gcmV0cmlldmUgYSBsaXN0IG9mIGFsbCBvZiB0aGUgdGFibGVzIGFzc29jaWF0ZWQgd2l0aCBhIHNwZWNpZmljIGVuZHBvaW50IHVzaW5nIHRoZQpgbGlzdFRhYmxlcygpIDxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkR5bmFtb0RiLkR5bmFtb0RiQ2xpZW50Lmh0bWwjX2xpc3RUYWJsZXM+YF8KbWV0aG9kLiBFYWNoIEFtYXpvbiBEeW5hbW9EQiBlbmRwb2ludCBpcyBlbnRpcmVseSBpbmRlcGVuZGVudC4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZlIHR3byB0YWJsZXMgY2FsbGVkICJNeVRhYmxlLCIgb25lCmluIFVTLUVBU1QtMSBhbmQgb25lIGluIFVTLVdFU1QtMiwgdGhleSBhcmUgY29tcGxldGVseSBpbmRlcGVuZGVudCBhbmQgZG8gbm90IHNoYXJlIGFueSBkYXRhLiBUaGUgTGlzdFRhYmxlcyBvcGVyYXRpb24KcmV0dXJucyBhbGwgb2YgdGhlIHRhYmxlIG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgYWNjb3VudCBtYWtpbmcgdGhlIHJlcXVlc3QsIGZvciB0aGUgZW5kcG9pbnQgdGhhdCByZWNlaXZlcyB0aGUKcmVxdWVzdC4KCi4uIGV4YW1wbGU6OiBEeW5hbW9EYi9JbnRlZ3JhdGlvbi9EeW5hbW9EYl8yMDEyMDgxMF9UZXN0LnBocCB0ZXN0TGlzdFRhYmxlcwoKSXRlcmF0aW5nIG92ZXIgYWxsIHRhYmxlcwp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpUaGUgcmVzdWx0IG9mIGEgYGBsaXN0VGFibGVzKClgYCBvcGVyYXRpb24gbWlnaHQgYmUgdHJ1bmNhdGVkLiBCZWNhdXNlIG9mIHRoaXMsIGl0IGlzIHVzdWFsbHkgYmV0dGVyIHRvIHVzZSBhbiBpdGVyYXRvcgp0byByZXRyaWV2ZSBhIGNvbXBsZXRlIGxpc3Qgb2YgYWxsIG9mIHRoZSB0YWJsZXMgb3duZWQgYnkgeW91ciBhY2NvdW50IGluIGEgc3BlY2lmaWMgcmVnaW9uLiBUaGUgaXRlcmF0b3Igd2lsbAphdXRvbWF0aWNhbGx5IGhhbmRsZSBzZW5kaW5nIGFueSBuZWNlc3Nhcnkgc3Vic2VxdWVudCByZXF1ZXN0cy4KCi4uIGV4YW1wbGU6OiBEeW5hbW9EYi9JbnRlZ3JhdGlvbi9EeW5hbW9EYl8yMDEyMDgxMF9UZXN0LnBocCB0ZXN0TGlzdFRhYmxlc1dpdGhJdGVyYXRvcgoKLi4gdGlwOjoKCiAgICBZb3UgY2FuIGNvbnZlcnQgYW4gaXRlcmF0b3IgdG8gYW4gYXJyYXkgdXNpbmcgdGhlIGBgdG9BcnJheSgpYGAgbWV0aG9kIG9mIHRoZSBpdGVyYXRvci4KCkFkZGluZyBpdGVtcwotLS0tLS0tLS0tLS0KCllvdSBjYW4gYWRkIGFuIGl0ZW0gdG8gb3VyICplcnJvcnMqIHRhYmxlIHVzaW5nIHRoZQpgcHV0SXRlbSgpIDxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkR5bmFtb0RiLkR5bmFtb0RiQ2xpZW50Lmh0bWwjX3B1dEl0ZW0+YF8KbWV0aG9kIG9mIHRoZSBjbGllbnQuCgouLiBleGFtcGxlOjogRHluYW1vRGIvSW50ZWdyYXRpb24vRHluYW1vRGJfMjAxMjA4MTBfVGVzdC5waHAgdGVzdEFkZEl0ZW0KCkFzIHlvdSBjYW4gc2VlLCB0aGUgYGBmb3JtYXRBdHRyaWJ1dGVzKClgYCBtZXRob2Qgb2YgdGhlIGNsaWVudCBjYW4gYmUgdXNlZCB0byBtb3JlIGVhc2lseSBmb3JtYXQgdGhlIGF0dHJpYnV0ZXMgb2YgdGhlCml0ZW0uIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gcHJvdmlkZSB0aGUgaXRlbSBhdHRyaWJ1dGVzIHdpdGhvdXQgdXNpbmcgdGhlIGhlbHBlciBtZXRob2Q6CgouLiBleGFtcGxlOjogRHluYW1vRGIvSW50ZWdyYXRpb24vRHluYW1vRGJfMjAxMjA4MTBfVGVzdC5waHAgdGVzdEFkZEl0ZW1XaXRob3V0SGVscGVyTWV0aG9kCgpZb3UgY2FuIGFsc28gYWRkIGl0ZW1zIGluIGJhdGNoZXMgb2YgdXAgdG8gMjUgaXRlbXMgdXNpbmcgdGhlIGBCYXRjaFdyaXRlSXRlbSgpCjxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkR5bmFtb0RiLkR5bmFtb0RiQ2xpZW50Lmh0bWwjX2JhdGNoV3JpdGVJdGVtPmBfCm1ldGhvZC4gUGxlYXNlIHNlZSB0aGUgZXhhbXBsZSBhcyBzaG93biBpbiB0aGUgOnJlZjpgZHluYW1vZGItbHNpYCBzZWN0aW9uIG9mIHRoaXMgZ3VpZGUuCgpUaGVyZSBpcyBhbHNvIGEgaGlnaGVyLWxldmVsIGFic3RyYWN0aW9uIGluIHRoZSBTREsgb3ZlciB0aGUgYGBCYXRjaFdyaXRlSXRlbWBgIG9wZXJhdGlvbiBjYWxsZWQgdGhlCmBgV3JpdGVSZXF1ZXN0QmF0Y2hgYCB0aGF0IGhhbmRsZXMgcXVldWluZyBvZiB3cml0ZSByZXF1ZXN0cyBhbmQgcmV0cnlpbmcgb2YgdW5wcm9jZXNzZWQgaXRlbXMuIFBsZWFzZSBzZWUgdGhlCjpyZWY6YGR5bmFtb2RiLXdyYmAgc2VjdGlvbiBvZiB0aGlzIGd1aWRlIGZvciBtb3JlIGluZm9ybWF0aW9uLgoKUmV0cmlldmluZyBpdGVtcwotLS0tLS0tLS0tLS0tLS0tCgpZb3UgY2FuIGNoZWNrIGlmIHRoZSBpdGVtIHdhcyBhZGRlZCBjb3JyZWN0bHkgdXNpbmcgdGhlCmBnZXRJdGVtKCkgPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuRHluYW1vRGIuRHluYW1vRGJDbGllbnQuaHRtbCNfZ2V0SXRlbT5gXwptZXRob2Qgb2YgdGhlIGNsaWVudC4gQmVjYXVzZSBBbWF6b24gRHluYW1vREIgd29ya3MgdW5kZXIgYW4gJ2V2ZW50dWFsIGNvbnNpc3RlbmN5JyBtb2RlbCwgd2UgbmVlZCB0byBzcGVjaWZ5IHRoYXQgd2UKYXJlIHBlcmZvcm1pbmcgYSBgY29uc2lzdGVudCByZWFkCjxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvQVBJU3VtbWFyeS5odG1sI0RhdGFSZWFkQ29uc2lzdGVuY3k+YF8gb3BlcmF0aW9uLgoKLi4gZXhhbXBsZTo6IER5bmFtb0RiL0ludGVncmF0aW9uL0R5bmFtb0RiXzIwMTIwODEwX1Rlc3QucGhwIHRlc3RHZXRJdGVtCgpZb3UgY2FuIGFsc28gcmV0cmlldmUgaXRlbXMgaW4gYmF0Y2hlcyBvZiB1cCB0byAxMDAgdXNpbmcgdGhlIGBCYXRjaEdldEl0ZW0oKQo8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5EeW5hbW9EYi5EeW5hbW9EYkNsaWVudC5odG1sI19iYXRjaEdldEl0ZW0+YF8gbWV0aG9kLgoKLi4gZXhhbXBsZTo6IER5bmFtb0RiL0ludGVncmF0aW9uL0R5bmFtb0RiXzIwMTIwODEwX1Rlc3QucGhwIHRlc3RCYXRjaEdldEl0ZW0KClF1ZXJ5IGFuZCBzY2FuCi0tLS0tLS0tLS0tLS0tCgpPbmNlIGRhdGEgaXMgaW4gYW4gQW1hem9uIER5bmFtb0RCIHRhYmxlLCB5b3UgaGF2ZSB0d28gQVBJcyBmb3Igc2VhcmNoaW5nIHRoZSBkYXRhOgpgUXVlcnkgYW5kIFNjYW4gPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9RdWVyeUFuZFNjYW4uaHRtbD5gXy4KClF1ZXJ5Cn5+fn5+CgpBIHF1ZXJ5IG9wZXJhdGlvbiBzZWFyY2hlcyBvbmx5IHByaW1hcnkga2V5IGF0dHJpYnV0ZSB2YWx1ZXMgYW5kIHN1cHBvcnRzIGEgc3Vic2V0IG9mIGNvbXBhcmlzb24gb3BlcmF0b3JzIG9uIGtleQphdHRyaWJ1dGUgdmFsdWVzIHRvIHJlZmluZSB0aGUgc2VhcmNoIHByb2Nlc3MuIEEgcXVlcnkgcmV0dXJucyBhbGwgb2YgdGhlIGl0ZW0gZGF0YSBmb3IgdGhlIG1hdGNoaW5nIHByaW1hcnkga2V5cwooYWxsIG9mIGVhY2ggaXRlbSdzIGF0dHJpYnV0ZXMpIHVwIHRvIDFNQiBvZiBkYXRhIHBlciBxdWVyeSBvcGVyYXRpb24uCgpMZXQncyBzYXkgd2Ugd2FudCBhIGxpc3Qgb2YgYWxsICIxMjAxIiBlcnJvcnMgdGhhdCBvY2N1cnJlZCBpbiB0aGUgbGFzdCAxNSBtaW51dGVzLiBXZSBjb3VsZCBpc3N1ZSBhIHNpbmdsZSBxdWVyeQp0aGF0IHdpbGwgc2VhcmNoIGJ5IHRoZSBwcmltYXJ5IGtleSBvZiB0aGUgdGFibGUgYW5kIHJldHJpZXZlIHVwIHRvIDFNQiBvZiB0aGUgaXRlbXMuIEhvd2V2ZXIsIGEgYmV0dGVyIGFwcHJvYWNoIGlzIHRvCnVzZSB0aGUgcXVlcnkgaXRlcmF0b3IgdG8gcmV0cmlldmUgdGhlIGVudGlyZSBsaXN0IG9mIGFsbCBpdGVtcyBtYXRjaGluZyB0aGUgcXVlcnkuCgouLiBleGFtcGxlOjogRHluYW1vRGIvSW50ZWdyYXRpb24vRHluYW1vRGJfMjAxMjA4MTBfVGVzdC5waHAgdGVzdFF1ZXJ5CgpTY2FuCn5+fn4KCkEgc2NhbiBvcGVyYXRpb24gc2NhbnMgdGhlIGVudGlyZSB0YWJsZS4gWW91IGNhbiBzcGVjaWZ5IGZpbHRlcnMgdG8gYXBwbHkgdG8gdGhlIHJlc3VsdHMgdG8gcmVmaW5lIHRoZSB2YWx1ZXMKcmV0dXJuZWQgdG8geW91LCBhZnRlciB0aGUgY29tcGxldGUgc2Nhbi4gQW1hem9uIER5bmFtb0RCIHB1dHMgYSAxTUIgbGltaXQgb24gdGhlIHNjYW4gKHRoZSBsaW1pdCBhcHBsaWVzIGJlZm9yZQp0aGUgcmVzdWx0cyBhcmUgZmlsdGVyZWQpLgoKQSBzY2FuIGNhbiBiZSB1c2VmdWwgZm9yIG1vcmUgY29tcGxleCBzZWFyY2hlcy4gRm9yIGV4YW1wbGUsIHdlIGNhbiByZXRyaWV2ZSBhbGwgb2YgdGhlIGVycm9ycyBpbiB0aGUgbGFzdCAxNQptaW51dGVzIHRoYXQgY29udGFpbiB0aGUgd29yZCAib3ZlcmZsb3ciOgoKLi4gZXhhbXBsZTo6IER5bmFtb0RiL0ludGVncmF0aW9uL0R5bmFtb0RiXzIwMTIwODEwX1Rlc3QucGhwIHRlc3RTY2FuCgpEZWxldGluZyBpdGVtcwotLS0tLS0tLS0tLS0tLQoKVG8gZGVsZXRlIGFuIGl0ZW0geW91IG11c3QgdXNlIHRoZSBgRGVsZXRlSXRlbSgpCjxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkR5bmFtb0RiLkR5bmFtb0RiQ2xpZW50Lmh0bWwjX2JhdGNoR2V0SXRlbT5gXyBtZXRob2QuClRoZSBmb2xsb3dpbmcgZXhhbXBsZSBzY2FucyB0aHJvdWdoIGEgdGFibGUgYW5kIGRlbGV0ZXMgZXZlcnkgaXRlbSBvbmUgYnkgb25lLgoKLi4gZXhhbXBsZTo6IER5bmFtb0RiL0ludGVncmF0aW9uL0R5bmFtb0RiXzIwMTIwODEwX1Rlc3QucGhwIHRlc3REZWxldGVJdGVtCgpZb3UgY2FuIGFsc28gZGVsZXRlIGl0ZW1zIGluIGJhdGNoZXMgb2YgdXAgdG8gMjUgaXRlbXMgdXNpbmcgdGhlIGBCYXRjaFdyaXRlSXRlbSgpCjxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkR5bmFtb0RiLkR5bmFtb0RiQ2xpZW50Lmh0bWwjX2JhdGNoV3JpdGVJdGVtPmBfIG1ldGhvZC4KCkRlbGV0aW5nIGEgdGFibGUKLS0tLS0tLS0tLS0tLS0tLQoKLi4gd2FybmluZzo6CgogICAgRGVsZXRpbmcgYSB0YWJsZSB3aWxsIGFsc28gcGVybWFuZW50bHkgZGVsZXRlIGFsbCBvZiBpdHMgY29udGVudHMuCgpOb3cgdGhhdCB5b3UndmUgdGFrZW4gYSBxdWljayB0b3VyIG9mIHRoZSBQSFAgY2xpZW50IGZvciBBbWF6b24gRHluYW1vREIsIHlvdSB3aWxsIHdhbnQgdG8gY2xlYW4gdXAgYnkgZGVsZXRpbmcgdGhlCnJlc291cmNlcyB5b3UgY3JlYXRlZC4KCi4uIGV4YW1wbGU6OiBEeW5hbW9EYi9JbnRlZ3JhdGlvbi9EeW5hbW9EYl8yMDEyMDgxMF9UZXN0LnBocCB0ZXN0RGVsZXRlVGFibGUKCi4uIF9keW5hbW9kYi1sc2k6CgpMb2NhbCBzZWNvbmRhcnkgaW5kZXhlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKTG9jYWwgc2Vjb25kYXJ5IGluZGV4ZXMgKExTSSkgcGFpciB5b3VyIHRhYmxlJ3MgbGVhZGluZyBoYXNoIGtleSB3aXRoIGFuIGFsdGVybmF0ZSByYW5nZSBrZXksIGluIG9yZGVyIHRvIGVuYWJsZQpzcGVjaWZpYyBxdWVyaWVzIHRvIHJ1biBtb3JlIHF1aWNrbHkgdGhhbiB0aGV5IHdvdWxkIHVzaW5nIGEgc3RhbmRhcmQgY29tcG9zaXRlIHByaW1hcnkga2V5LiBUaGUgZm9sbG93aW5nIGNvZGUgc2FtcGxlcwp3aWxsIHNob3cgaG93IHRvIGNyZWF0ZSBhbiAqT3JkZXJzKiB0YWJsZSB3aXRoIGEgaGFzaCBrZXkgb2YgKkN1c3RvbWVySWQqIGFuZCBhIHJhbmdlIGtleSBvZiAqT3JkZXJJZCosIGJ1dCBhbHNvIGluY2x1ZGUKYSBsb2NhbCBzZWNvbmRhcnkgaW5kZXggb24gdGhlICpPcmRlckRhdGUqIGF0dHJpYnV0ZSBzbyB0aGF0IHNlYXJjaGluZyB0aGUgdGFibGUgYmFzZWQgYnkgKk9yZGVyRGF0ZSogY2FuIGJlIGRvbmUgd2l0aCBhCmBgUXVlcnlgYCBvcGVyYXRpb24gaW5zdGVhZCBvZiBhIGBgU2NhbmBgIG9wZXJhdGlvbi4KCkZpcnN0IHlvdSBtdXN0IGNyZWF0ZSB0aGUgdGFibGUgd2l0aCB0aGUgbG9jYWwgc2Vjb25kYXJ5IGluZGV4LiBOb3RlIHRoYXQgdGhlIGF0dHJpYnV0ZXMgcmVmZXJlbmNlZCBpbiB0aGUga2V5IHNjaGVtYQpmb3IgdGhlIHRhYmxlICphbmQqIHRoZSBpbmRleCBtdXN0IGFsbCBiZSBkZWNsYXJlZCBpbiB0aGUgYGBBdHRyaWJ1dGVEZWZpbml0aW9uc2BgIHBhcmFtZXRlci4gV2hlbiB5b3UgY3JlYXRlIGEgbG9jYWwKc2Vjb25kYXJ5IGluZGV4LCB5b3UgY2FuIHNwZWNpZnkgd2hpY2ggYXR0cmlidXRlcyBnZXQgInByb2plY3RlZCIgaW50byB0aGUgaW5kZXggdXNpbmcgdGhlIGBgUHJvamVjdGlvbmBgIHBhcmFtZXRlci4KCi4uIGV4YW1wbGU6OiBEeW5hbW9EYi9JbnRlZ3JhdGlvbi9EeW5hbW9EYl8yMDEyMDgxMF9UZXN0LnBocCB0ZXN0Q3JlYXRlVGFibGVXaXRoTG9jYWxTZWNvbmRhcnlJbmRleGVzCgpOZXh0IHlvdSBtdXN0IGFkZCBzb21lIGl0ZW1zIHRvIHRoZSB0YWJsZSB0aGF0IHlvdSB3aWxsIGJlIHF1ZXJ5aW5nLiBUaGVyZSdzIG5vdGhpbmcgaW4gdGhlIGBgQmF0Y2hXcml0ZUl0ZW1gYCBvcGVyYXRpb24KdGhhdCBpcyBzcGVjaWZpYyB0byB0aGUgTFNJIGZlYXR1cmVzLCBidXQgc2luY2UgdGhlcmUgaXMgbm90IGFuIGV4YW1wbGUgb2YgdGhpcyBvcGVyYXRpb24gZWxzZXdoZXJlIGluIHRoZSBndWlkZSwgdGhpcwpzZWVtcyBsaWtlIGEgZ29vZCBwbGFjZSB0byBzaG93IGhvdyB0byB1c2UgdGhpcyBvcGVyYXRpb24uCgouLiBleGFtcGxlOjogRHluYW1vRGIvSW50ZWdyYXRpb24vRHluYW1vRGJfMjAxMjA4MTBfVGVzdC5waHAgdGVzdEJhdGNoV3JpdGVJdGVtCgpXaGVuIHlvdSBxdWVyeSB0aGUgdGFibGUgd2l0aCBhbiBMU0ksIHlvdSBtdXN0IHNwZWNpZnkgdGhlIG5hbWUgb2YgdGhlIGluZGV4IHVzaW5nIHRoZSBgYEluZGV4TmFtZWBgIHBhcmFtZXRlci4gVGhlCmF0dHJpYnV0ZXMgdGhhdCBhcmUgcmV0dXJuZWQgd2lsbCBkZXBlbmQgb24gdGhlIHZhbHVlIG9mIHRoZSBgYFNlbGVjdGBgIHBhcmFtZXRlciBhbmQgb24gd2hhdCB0aGUgdGFibGUgaXMgcHJvamVjdGluZwp0byB0aGUgaW5kZXguIEluIHRoaXMgY2FzZSBgYCdTZWxlY3QnID0+ICdDT1VOVCdgYCBoYXMgYmVlbiBzcGVjaWZpZWQsIHNvIG9ubHkgdGhlIGNvdW50IG9mIHRoZSBpdGVtcyB3aWxsIGJlIHJldHVybmVkLgoKLi4gZXhhbXBsZTo6IER5bmFtb0RiL0ludGVncmF0aW9uL0R5bmFtb0RiXzIwMTIwODEwX1Rlc3QucGhwIHRlc3RRdWVyeVdpdGhMb2NhbFNlY29uZGFyeUluZGV4ZXMKCi4uIF9keW5hbW9kYi13cmI6CgpVc2luZyB0aGUgV3JpdGVSZXF1ZXN0QmF0Y2gKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpZb3UgY2FuIHVzZSB0aGUgYGBXcml0ZVJlcXVlc3RCYXRjaGBgIGlmIHlvdSBuZWVkIHRvIHdyaXRlIG9yIGRlbGV0ZSBtYW55IGl0ZW1zIGFzIHF1aWNrbHkgYXMgcG9zc2libGUuIFRoZQpXcml0ZVJlcXVlc3RCYXRjaCBwcm92aWRlcyBhIGhpZ2ggbGV2ZWwgb2YgcGVyZm9ybWFuY2UgYmVjYXVzZSBpdCBjb252ZXJ0cyB3aGF0IHdvdWxkIG5vcm1hbGx5IGJlIGEgc2VwYXJhdGUgSFRUUApyZXF1ZXN0IGZvciBlYWNoIG9wZXJhdGlvbiBpbnRvIEhUVFAgcmVxdWVzdHMgY29udGFpbmluZyB1cCB0byAyNSBjb21wYXJhYmxlIHJlcXVlc3RzIHBlciB0cmFuc2FjdGlvbi4KCklmIHlvdSBoYXZlIGEgbGFyZ2UgYXJyYXkgb2YgaXRlbXMgeW91IHdpc2ggdG8gYWRkIHRvIHlvdXIgdGFibGUsIHlvdSBjb3VsZCBpdGVyYXRlIG92ZXIgdGhlIHRoZW0sIGFkZCBlYWNoIGl0ZW0gdG8gdGhlCmJhdGNoIG9iamVjdC4gQWZ0ZXIgYWxsIHRoZSBpdGVtcyBhcmUgYWRkZWQgY2FsbCBgYGZsdXNoKClgYC4gVGhlIGJhdGNoIG9iamVjdCB3aWxsIGF1dG9tYXRpY2FsbHkgZmx1c2ggdGhlIGJhdGNoIGFuZAp3cml0ZSBpdGVtcyB0byBBbWF6b24gRHluYW1vREIgYWZ0ZXIgaGl0dGluZyBhIGN1c3RvbWl6YWJsZSB0aHJlc2hvbGQuIEEgZmluYWwgY2FsbCB0byB0aGUgYmF0Y2ggb2JqZWN0J3MgYGBmbHVzaCgpYGAKbWV0aG9kIGlzIG5lY2Vzc2FyeSB0byB0cmFuc2ZlciBhbnkgcmVtYWluaW5nIGl0ZW1zIGluIHRoZSBxdWV1ZS4KCi4uIGV4YW1wbGU6OiBEeW5hbW9EYi9JbnRlZ3JhdGlvbi9Xcml0ZVJlcXVlc3RCYXRjaF8yMDEyMDgxMF9UZXN0LnBocCB0ZXN0V3JpdGVSZXF1ZXN0QmF0Y2hGb3JQdXRzCgpZb3UgY2FuIGFsc28gdXNlIHRoZSBgYFdyaXRlUmVxdWVzdEJhdGNoYGAgb2JqZWN0IHRvIGRlbGV0ZSBpdGVtcyBpbiBiYXRjaGVzLgoKLi4gZXhhbXBsZTo6IER5bmFtb0RiL0ludGVncmF0aW9uL1dyaXRlUmVxdWVzdEJhdGNoXzIwMTIwODEwX1Rlc3QucGhwIHRlc3RXcml0ZVJlcXVlc3RCYXRjaEZvckRlbGV0ZXMKClRoZSBgYFdyaXRlUmVxdWVzdEJhdGNoYGAsIGBgUHV0UmVxdWVzdGBgLCBhbmQgYGBEZWxldGVSZXF1ZXN0YGAgY2xhc3NlcyBhcmUgYWxsIGEgcGFydCBvZiB0aGUKYGBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0YGAgbmFtZXNwYWNlLgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-ec2.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IEVjMgoKLi4gaW5jbHVkZTo6IF9zbmlwcGV0cy9pbmNvbXBsZXRlLnR4dAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-elasticache.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IEVsYXN0aUNhY2hlCgouLiBpbmNsdWRlOjogX3NuaXBwZXRzL2luY29tcGxldGUudHh0Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-elasticbeanstalk.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IEVsYXN0aWNCZWFuc3RhbGsKCi4uIGluY2x1ZGU6OiBfc25pcHBldHMvaW5jb21wbGV0ZS50eHQK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-elasticloadbalancing.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IEVsYXN0aWNMb2FkQmFsYW5jaW5nCgouLiBpbmNsdWRlOjogX3NuaXBwZXRzL2luY29tcGxldGUudHh0Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-elastictranscoder.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IEVsYXN0aWNUcmFuc2NvZGVyCgouLiBpbmNsdWRlOjogX3NuaXBwZXRzL2luY29tcGxldGUudHh0Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-emr.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IEVtcgoKLi4gaW5jbHVkZTo6IF9zbmlwcGV0cy9pbmNvbXBsZXRlLnR4dAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-glacier.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IEdsYWNpZXIKCi4uIGluY2x1ZGU6OiBfc25pcHBldHMvaW5jb21wbGV0ZS50eHQK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-iam.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IElhbQoKLi4gaW5jbHVkZTo6IF9zbmlwcGV0cy9pbmNvbXBsZXRlLnR4dAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-importexport.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IEltcG9ydEV4cG9ydAoKLi4gaW5jbHVkZTo6IF9zbmlwcGV0cy9pbmNvbXBsZXRlLnR4dAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-kinesis.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IEtpbmVzaXMKClRvIGxlYXJuIGFib3V0IHRoZSBBbWF6b24gS2luZXNpcyBBUEksIHNlZSB0aGUgYEFtYXpvbiBLaW5lc2lzIERldmVsb3BlciBHdWlkZSA8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20va2luZXNpcy9sYXRlc3QvZGV2L2tpbmVzaXMtdXNpbmctYXBpLWphdmEuaHRtbD5gXy4KCkNyZWF0aW5nIGEgc3RyZWFtCi0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgbWFpbiByZXNvdXJjZSBpbiBBbWF6b24gS2luZXNpcyBpcyB0aGUgc3RyZWFtLiBUbyBjcmVhdGUgYSBzdHJlYW0geW91IG5lZWQgdG8gZGVjaWRlIG9uIGEgc3RyZWFtIG5hbWUgYW5kIHNoYXJkCmNvdW50LgoKLi4gZXhhbXBsZTo6IEtpbmVzaXMvSW50ZWdyYXRpb24vS2luZXNpc18yMDEzMTEwNF9UZXN0LnBocCB0ZXN0Q3JlYXRlU3RyZWFtCgouLiBpbmNsdWRlOjogX3NuaXBwZXRzL2luY29tcGxldGUudHh0Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-opsworks.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IE9wc1dvcmtzCgouLiBpbmNsdWRlOjogX3NuaXBwZXRzL2luY29tcGxldGUudHh0Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-rds.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IFJkcwoKLi4gaW5jbHVkZTo6IF9zbmlwcGV0cy9pbmNvbXBsZXRlLnR4dAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-redshift.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IFJlZHNoaWZ0CgpDcmVhdGluZyBhIGNsdXN0ZXIKLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgcHJpbWFyeSByZXNvdXJjZSBpbiBBbWF6b24gUmVkc2hpZnQgaXMgdGhlIGNsdXN0ZXIuIFRvIGNyZWF0ZSBhIGNsdXN0ZXIgeW91IHdpbGwgdXNlIHRoZSBgYENyZWF0ZUNsdXN0ZXJgYApvcGVyYXRpb24uIFRoZXJlIGFyZSBzZXZlcmFsIHBhcmFtZXRlcnMgeW91IGNhbiBzZW5kIHdoZW4gY3JlYXRpbmcgYSBjbHVzdGVyLCBzbyBwbGVhc2UgcmVmZXIgdG8gdGhlIEFQSSBkb2NzIHRvCmRldGVybWluZSB3aGljaCBwYXJhbWV0ZXJzIHRvIHVzZS4gVGhlIGZvbGxvd2luZyBpcyBiYXNpYyBleGFtcGxlLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjbGllbnQtPmNyZWF0ZUNsdXN0ZXIoYXJyYXkoCiAgICAgICAgJ0NsdXN0ZXJJZGVudGlmaWVyJyAgPT4gJ3lvdXItdW5pcXVlLWNsdXN0ZXItaWQnLAogICAgICAgICdDbHVzdGVyVHlwZScgICAgICAgID0+ICdtdWx0aS1ub2RlJywKICAgICAgICAnTWFzdGVyVXNlcm5hbWUnICAgICA9PiAneW91cnVzZXJuYW1lJywKICAgICAgICAnTWFzdGVyVXNlclBhc3N3b3JkJyA9PiAnWTB1clBAJCR3MHJkJywKICAgICAgICAnTm9kZVR5cGUnICAgICAgICAgICA9PiAnZHcuaHMxLnhsYXJnZScsCiAgICAgICAgJ051bWJlck9mTm9kZXMnICAgICAgPT4gMiwKICAgICkpOwoKQWZ0ZXIgdGhlIGBgQ3JlYXRlQ2x1c3RlcmBgIG9wZXJhdGlvbiBpcyBjb21wbGV0ZSwgdGhlIHJlY29yZCBmb3IgeW91ciBjbHVzdGVyIHdpbGwgZXhpc3QsIGJ1dCBpdCB3aWxsIHN0aWxsIHRha2Ugc29tZQp0aW1lIGJlZm9yZSB0aGUgY2x1c3RlciBpcyBhY3R1YWxseSBhdmFpbGFibGUgZm9yIHVzZS4gWW91IGNhbiBkZXNjcmliZSB5b3VyIGNsdXN0ZXIgdG8gY2hlY2sgaXQncyBzdGF0dXMuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlc3VsdCA9ICRjbGllbnQtPmRlc2NyaWJlQ2x1c3RlcnMoYXJyYXkoCiAgICAgICAgJ0NsdXN0ZXJJZGVudGlmaWVyJyA9PiAneW91ci11bmlxdWUtY2x1c3Rlci1pZCcsCiAgICApKTsKICAgICRjbHVzdGVycyA9ICRyZXN1bHQtPmdldCgnQ2x1c3RlcnMnKTsKICAgICRzdGF0dXMgPSAkY2x1c3RlcnNbJ0NsdXN0ZXJTdGF0dXMnXTsKCklmIHlvdSB3b3VsZCBsaWtlIHlvdXIgY29kZSB0byB3YWl0IHVudGlsIHRoZSBjbHVzdGVyIGlzIGF2YWlsYWJsZSwgeW91IGNhbiB1c2UgdGhlIHRoZSBgYENsdXN0ZXJBdmFpbGFibGVgYCB3YWl0ZXIuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGNsaWVudC0+d2FpdFVudGlsQ2x1c3RlckF2YWlsYWJsZShhcnJheSgKICAgICAgICAnQ2x1c3RlcklkZW50aWZpZXInID0+ICd5b3VyLXVuaXF1ZS1jbHVzdGVyLWlkJywKICAgICkpOwoKLi4gd2FybmluZzo6IEl0IGNhbiB0YWtlIG92ZXIgMjAgbWludXRlcyBmb3IgYSBjbHVzdGVyIHRvIGJlY29tZSBhdmFpbGFibGUuCgpDcmVhdGluZyBzbmFwc2hvdHMKLS0tLS0tLS0tLS0tLS0tLS0tCgpZb3UgY2FuIGFsc28gdGFrZSBzbmFwc2hvdHMgb2YgeW91ciBjbHVzdGVyIHdpdGggdGhlIGBgQ3JlYXRlQ2x1c3RlclNuYXBzaG90YGAgb3BlcmF0aW9uLiBTbmFwc2hvdHMgY2FuIHRha2UgYSBsaXR0bGUKdGltZSBiZWZvcmUgdGhleSBiZWNvbWUgYXZhaWxhYmxlIGFzIHdlbGwsIHNvIHRoZXJlIGlzIGEgY29ycmVzcG9uZGluZyBgYFNuYXBzaG90QXZhaWxhYmxlYGAgd2FpdGVyLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjbGllbnQtPmNyZWF0ZUNsdXN0ZXJTbmFwc2hvdChhcnJheSgKICAgICAgICAnQ2x1c3RlcklkZW50aWZpZXInICA9PiAneW91ci11bmlxdWUtY2x1c3Rlci1pZCcsCiAgICAgICAgJ1NuYXBzaG90SWRlbnRpZmllcicgPT4gJ3lvdXItdW5pcXVlLXNuYXBzaG90LWlkJywKICAgICkpOwogICAgJGNsaWVudC0+d2FpdFVudGlsU25hcHNob3RBdmFpbGFibGUoYXJyYXkoCiAgICAgICAgJ1NuYXBzaG90SWRlbnRpZmllcicgPT4gJ3lvdXItdW5pcXVlLXNuYXBzaG90LWlkJywKICAgICkpOwoKRXZlbnRzCi0tLS0tLQoKQW1hem9uIFJlZHNoaWZ0IHJlY29yZHMgZXZlbnRzIHRoYXQgdGFrZSBwbGFjZSB3aXRoIHlvdXIgY2x1c3RlcnMgYW5kIGFjY291bnQuIFRoZXNlIGV2ZW50cyBhcmUgYXZhaWxhYmxlIGZvciB1cCB0byAxNApkYXlzIGFuZCBjYW4gYmUgcmV0cmlldmVkIHZpYSB0aGUgYGBEZXNjcmliZUV2ZW50c2BgIG9wZXJhdGlvbi4gT25seSAxMDAgZXZlbnRzIGNhbiBiZSByZXR1cm5lZCBhdCBhIHRpbWUsIHNvIHVzaW5nIHRoZQpTREsncyBpdGVyYXRvcnMgZmVhdHVyZSBhbGxvd3MgeW91IHRvIGVhc2lseSBmZXRjaCBhbmQgaXRlcmF0ZSBvdmVyIGFsbCB0aGUgZXZlbnRzIGluIHlvdXIgcXVlcnkgd2l0aG91dCBoYXZpbmcgdG8KbWFudWFsbHkgc2VuZCByZXBlYXRlZCByZXF1ZXN0cy4gVGhlIGBgU3RhcnRUaW1lYGAgYW5kIGBgRW5kVGltZWBgIHBhcmFtZXRlcnMgY2FuIHRha2UgYW55IFBIUCBkYXRlIHN0cmluZyBvciBEYXRlVGltZQpvYmplY3QuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGV2ZW50cyA9ICRjbGllbnQtPmdldEl0ZXJhdG9yKCdEZXNjcmliZUV2ZW50cycsIGFycmF5KAogICAgICAgICdTdGFydFRpbWUnICA9PiBzdHJ0b3RpbWUoJy0zIGRheXMnKSwKICAgICAgICAnRW5kVGltZScgICAgPT4gc3RydG90aW1lKCdub3cnKSwKICAgICkpOwoKICAgIGZvcmVhY2ggKCRldmVudHMgYXMgJGV2ZW50KSB7CiAgICAgICAgZWNobyAieyRldmVudFsnRGF0ZSddfTogeyRldmVudFsnTWVzc2FnZSddfVxuIjsKICAgIH0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-route53.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IFJvdXRlNTMKCi4uIGluY2x1ZGU6OiBfc25pcHBldHMvaW5jb21wbGV0ZS50eHQK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-s3.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IFMzCgpDcmVhdGluZyBhIGJ1Y2tldAotLS0tLS0tLS0tLS0tLS0tLQoKTm93IHRoYXQgd2UndmUgY3JlYXRlZCBhIGNsaWVudCBvYmplY3QsIGxldCdzIGNyZWF0ZSBhIGJ1Y2tldC4gVGhpcyBidWNrZXQgd2lsbCBiZSB1c2VkIHRocm91Z2hvdXQgdGhlIHJlbWFpbmRlciBvZiB0aGlzCmd1aWRlLgoKLi4gZXhhbXBsZTo6IFMzL0ludGVncmF0aW9uL1MzXzIwMDYwMzAxX1Rlc3QucGhwIHRlc3RCdWNrZXRBbHJlYWR5RXhpc3RzCgpJZiB5b3UgcnVuIHRoZSBhYm92ZSBjb2RlIGV4YW1wbGUgdW5hbHRlcmVkLCB5b3UnbGwgcHJvYmFibHkgdHJpZ2dlciB0aGUgZm9sbG93aW5nIGV4Y2VwdGlvbjo6CgogICAgUEhQIEZhdGFsIGVycm9yOiAgVW5jYXVnaHQgQXdzXFMzXEV4Y2VwdGlvblxCdWNrZXRBbHJlYWR5RXhpc3RzRXhjZXB0aW9uOiBBV1MgRXJyb3IKICAgIENvZGU6IEJ1Y2tldEFscmVhZHlFeGlzdHMsIFN0YXR1cyBDb2RlOiA0MDksIEFXUyBSZXF1ZXN0IElEOiBEOTRFNjM5NDc5MUU5OEE0LAogICAgQVdTIEVycm9yIFR5cGU6IGNsaWVudCwgQVdTIEVycm9yIE1lc3NhZ2U6IFRoZSByZXF1ZXN0ZWQgYnVja2V0IG5hbWUgaXMgbm90CiAgICBhdmFpbGFibGUuIFRoZSBidWNrZXQgbmFtZXNwYWNlIGlzIHNoYXJlZCBieSBhbGwgdXNlcnMgb2YgdGhlIHN5c3RlbS4gUGxlYXNlIHNlbGVjdAogICAgYSBkaWZmZXJlbnQgbmFtZSBhbmQgdHJ5IGFnYWluLgoKVGhpcyBpcyBiZWNhdXNlIGJ1Y2tldCBuYW1lcyBpbiBBbWF6b24gUzMgcmVzaWRlIGluIGEgZ2xvYmFsIG5hbWVzcGFjZS4gWW91J2xsIG5lZWQgdG8gY2hhbmdlIHRoZSBhY3R1YWwgbmFtZSBvZiB0aGUKYnVja2V0IHVzZWQgaW4gdGhlIGV4YW1wbGVzIG9mIHRoaXMgdHV0b3JpYWwgaW4gb3JkZXIgZm9yIHRoZW0gdG8gd29yayBjb3JyZWN0bHkuCgpDcmVhdGluZyBhIGJ1Y2tldCBpbiBhbm90aGVyIHJlZ2lvbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhlIGFib3ZlIGV4YW1wbGUgY3JlYXRlcyBhIGJ1Y2tldCBpbiB0aGUgc3RhbmRhcmQgVVMtRUFTVC0xIHJlZ2lvbi4gWW91IGNhbiBjaGFuZ2UgdGhlIGJ1Y2tldCBsb2NhdGlvbiBieSBwYXNzaW5nIGEKYGBMb2NhdGlvbkNvbnN0cmFpbnRgYCB2YWx1ZS4KCi4uIGV4YW1wbGU6OiBTMy9JbnRlZ3JhdGlvbi9TM18yMDA2MDMwMV9UZXN0LnBocCB0ZXN0Q3JlYXRlQnVja2V0SW5SZWdpb24KCllvdSdsbCBub3RpY2UgaW4gdGhlIGFib3ZlIGV4YW1wbGUgdGhhdCB3ZSBhcmUgdXNpbmcgdGhlIGBgQXdzXENvbW1vblxFbnVtXFJlZ2lvbmBgIG9iamVjdCB0byBwcm92aWRlIHRoZSBgYFVTX1dFU1RfMmBgCmNvbnN0YW50LiBUaGUgU0RLIHByb3ZpZGVzIHZhcmlvdXMgRW51bSBjbGFzc2VzIHVuZGVyIHRoZSBgYEF3c1xDb21tb25cRW51bWBgIG5hbWVzcGFjZSB0aGF0IGNhbiBiZSB1c2VmdWwgZm9yCnJlbWVtYmVyaW5nIGF2YWlsYWJsZSB2YWx1ZXMgYW5kIGVuc3VyaW5nIHlvdSBkbyBub3QgZW50ZXIgYSB0eXBvLgoKLi4gbm90ZTo6CgogICAgVXNpbmcgdGhlIGVudW0gY2xhc3NlcyBpcyBub3QgcmVxdWlyZWQuIFlvdSBjb3VsZCBqdXN0IHBhc3MgJ3VzLXdlc3QtMicgaW4gdGhlIGBgTG9jYXRpb25Db25zdHJhaW50YGAga2V5LgoKV2FpdGluZyB1bnRpbCB0aGUgYnVja2V0IGV4aXN0cwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpOb3cgdGhhdCB3ZSd2ZSBjcmVhdGVkIGEgYnVja2V0LCBsZXQncyBmb3JjZSBvdXIgYXBwbGljYXRpb24gdG8gd2FpdCB1bnRpbCB0aGUgYnVja2V0IGV4aXN0cy4gVGhpcyBjYW4gYmUgZG9uZSBlYXNpbHkKdXNpbmcgYSAqd2FpdGVyKi4gVGhlIGZvbGxvd2luZyBzbmlwcGV0IG9mIGNvZGUgd2lsbCBwb2xsIHRoZSBidWNrZXQgdW50aWwgaXQgZXhpc3RzIG9yIHRoZSBtYXhpbXVtIG51bWJlciBvZgpwb2xsaW5nIGF0dGVtcHRzIGFyZSBjb21wbGV0ZWQuCgouLiBleGFtcGxlOjogUzMvSW50ZWdyYXRpb24vUzNfMjAwNjAzMDFfVGVzdC5waHAgdGVzdFdhaXRVbnRpbEJ1Y2tldEV4aXN0cwoKVXBsb2FkaW5nIG9iamVjdHMKLS0tLS0tLS0tLS0tLS0tLS0KCk5vdyB0aGF0IHlvdSd2ZSBjcmVhdGVkIGEgYnVja2V0LCBsZXQncyBwdXQgc29tZSBkYXRhIGluIGl0LiBUaGUgZm9sbG93aW5nIGV4YW1wbGUgY3JlYXRlcyBhbiBvYmplY3QgaW4geW91ciBidWNrZXQKY2FsbGVkIGRhdGEudHh0IHRoYXQgY29udGFpbnMgJ0hlbGxvIScuCgouLiBleGFtcGxlOjogUzMvSW50ZWdyYXRpb24vUzNfMjAwNjAzMDFfVGVzdC5waHAgdGVzdFB1dE9iamVjdAoKVGhlIEFXUyBTREsgZm9yIFBIUCB3aWxsIGF0dGVtcHQgdG8gYXV0b21hdGljYWxseSBkZXRlcm1pbmUgdGhlIG1vc3QgYXBwcm9wcmlhdGUgQ29udGVudC1UeXBlIGhlYWRlciB1c2VkIHRvIHN0b3JlIHRoZQpvYmplY3QuIElmIHlvdSBhcmUgdXNpbmcgYSBsZXNzIGNvbW1vbiBmaWxlIGV4dGVuc2lvbiBhbmQgeW91ciBDb250ZW50LVR5cGUgaGVhZGVyIGlzIG5vdCBhZGRlZCBhdXRvbWF0aWNhbGx5LCB5b3UgY2FuCmFkZCBhIENvbnRlbnQtVHlwZSBoZWFkZXIgYnkgcGFzc2luZyBhIGBgQ29udGVudFR5cGVgYCBvcHRpb24gdG8gdGhlIG9wZXJhdGlvbi4KClVwbG9hZGluZyBhIGZpbGUKfn5+fn5+fn5+fn5+fn5+fgoKVGhlIGFib3ZlIGV4YW1wbGUgdXBsb2FkZWQgdGV4dCBkYXRhIHRvIHlvdXIgb2JqZWN0LiBZb3UgY2FuIGFsdGVybmF0aXZlbHkgdXBsb2FkIHRoZSBjb250ZW50cyBvZiBhIGZpbGUgYnkgcGFzc2luZwp0aGUgYGBTb3VyY2VGaWxlYGAgb3B0aW9uLiBMZXQncyBhbHNvIHB1dCBzb21lIG1ldGFkYXRhIG9uIHRoZSBvYmplY3QuCgouLiBleGFtcGxlOjogUzMvSW50ZWdyYXRpb24vUzNfMjAwNjAzMDFfVGVzdC5waHAgdGVzdFB1dE9iamVjdEZyb21GaWxlCgpVcGxvYWRpbmcgZnJvbSBhIHN0cmVhbQp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBwYXNzIGEgcmVzb3VyY2UgcmV0dXJuZWQgZnJvbSBhbiBgYGZvcGVuYGAgY2FsbCB0byB0aGUgYGBCb2R5YGAgcGFyYW1ldGVyLgoKLi4gZXhhbXBsZTo6IFMzL0ludGVncmF0aW9uL1MzXzIwMDYwMzAxX1Rlc3QucGhwIHRlc3RQdXRPYmplY3RGcm9tU3RyZWFtCgpCZWNhdXNlIHRoZSBBV1MgU0RLIGZvciBQSFAgaXMgYnVpbHQgYXJvdW5kIEd1enpsZSwgeW91IGNhbiBhbHNvIHBhc3MgYW4gRW50aXR5Qm9keSBvYmplY3QuCgouLiBleGFtcGxlOjogUzMvSW50ZWdyYXRpb24vUzNfMjAwNjAzMDFfVGVzdC5waHAgdGVzdFB1dE9iamVjdEZyb21FbnRpdHlCb2R5CgpMaXN0aW5nIHlvdXIgYnVja2V0cwotLS0tLS0tLS0tLS0tLS0tLS0tLQoKWW91IGNhbiBsaXN0IGFsbCBvZiB0aGUgYnVja2V0cyBvd25lZCBieSB5b3VyIGFjY291bnQgdXNpbmcgdGhlIGBgbGlzdEJ1Y2tldHNgYCBtZXRob2QuCgouLiBleGFtcGxlOjogUzMvSW50ZWdyYXRpb24vUzNfMjAwNjAzMDFfVGVzdC5waHAgdGVzdExpc3RCdWNrZXRzCgpBbGwgc2VydmljZSBvcGVyYXRpb24gY2FsbHMgdXNpbmcgdGhlIEFXUyBTREsgZm9yIFBIUCByZXR1cm4gYSBgYEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsYGAgb2JqZWN0LiBUaGlzIG9iamVjdApjb250YWlucyBhbGwgb2YgdGhlIGRhdGEgcmV0dXJuZWQgZnJvbSB0aGUgc2VydmljZSBpbiBhIG5vcm1hbGl6ZWQgYXJyYXkgbGlrZSBvYmplY3QuIFRoZSBvYmplY3QgYWxzbyBjb250YWlucyBhCmBgZ2V0KClgYCBtZXRob2QgdXNlZCB0byByZXRyaWV2ZSB2YWx1ZXMgZnJvbSB0aGUgbW9kZWwgYnkgbmFtZSwgYW5kIGEgYGBnZXRQYXRoKClgYCBtZXRob2QgdGhhdCBjYW4gYmUgdXNlZCB0bwpyZXRyaWV2ZSBuZXN0ZWQgdmFsdWVzLgoKLi4gZXhhbXBsZTo6IFMzL0ludGVncmF0aW9uL1MzXzIwMDYwMzAxX1Rlc3QucGhwIHRlc3RMaXN0QnVja2V0c1dpdGhHZXRQYXRoCgpMaXN0aW5nIG9iamVjdHMgaW4geW91ciBidWNrZXRzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkxpc3Rpbmcgb2JqZWN0cyBpcyBhIGxvdCBlYXNpZXIgaW4gdGhlIG5ldyBTREsgdGhhbmtzIHRvICppdGVyYXRvcnMqLiBZb3UgY2FuIGxpc3QgYWxsIG9mIHRoZSBvYmplY3RzIGluIGEgYnVja2V0IHVzaW5nCnRoZSBgYExpc3RPYmplY3RzSXRlcmF0b3JgYC4KCi4uIGV4YW1wbGU6OiBTMy9JbnRlZ3JhdGlvbi9TM18yMDA2MDMwMV9UZXN0LnBocCB0ZXN0TGlzdE9iamVjdHNXaXRoSXRlcmF0b3IKCkl0ZXJhdG9ycyB3aWxsIGhhbmRsZSBzZW5kaW5nIGFueSByZXF1aXJlZCBzdWJzZXF1ZW50IHJlcXVlc3RzIHdoZW4gYSByZXNwb25zZSBpcyB0cnVuY2F0ZWQuIFRoZSBMaXN0T2JqZWN0cyBpdGVyYXRvcgp3b3JrcyB3aXRoIG90aGVyIHBhcmFtZXRlcnMgdG9vLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRpdGVyYXRvciA9ICRjbGllbnQtPmdldEl0ZXJhdG9yKCdMaXN0T2JqZWN0cycsIGFycmF5KAogICAgICAgICdCdWNrZXQnID0+ICRidWNrZXQsCiAgICAgICAgJ1ByZWZpeCcgPT4gJ2ZvbycKICAgICkpOwoKICAgIGZvcmVhY2ggKCRpdGVyYXRvciBhcyAkb2JqZWN0KSB7CiAgICAgICAgZWNobyAkb2JqZWN0WydLZXknXSAuICJcbiI7CiAgICB9CgpZb3UgY2FuIGNvbnZlcnQgYW55IGl0ZXJhdG9yIHRvIGFuIGFycmF5IHVzaW5nIHRoZSBgYHRvQXJyYXkoKWBgIG1ldGhvZCBvZiB0aGUgaXRlcmF0b3IuCgouLiBub3RlOjoKCiAgICBDb252ZXJ0aW5nIGFuIGl0ZXJhdG9yIHRvIGFuIGFycmF5IHdpbGwgbG9hZCB0aGUgZW50aXJlIGNvbnRlbnRzIG9mIHRoZSBpdGVyYXRvciBpbnRvIG1lbW9yeS4KCkRvd25sb2FkaW5nIG9iamVjdHMKLS0tLS0tLS0tLS0tLS0tLS0tLQoKWW91IGNhbiB1c2UgdGhlIGBgR2V0T2JqZWN0YGAgb3BlcmF0aW9uIHRvIGRvd25sb2FkIGFuIG9iamVjdC4KCi4uIGV4YW1wbGU6OiBTMy9JbnRlZ3JhdGlvbi9TM18yMDA2MDMwMV9UZXN0LnBocCB0ZXN0R2V0T2JqZWN0CgpUaGUgY29udGVudHMgb2YgdGhlIG9iamVjdCBhcmUgc3RvcmVkIGluIHRoZSBgYEJvZHlgYCBwYXJhbWV0ZXIgb2YgdGhlIG1vZGVsIG9iamVjdC4gT3RoZXIgcGFyYW1ldGVycyBhcmUgc3RvcmVkIGluCm1vZGVsIGluY2x1ZGluZyBgYENvbnRlbnRUeXBlYGAsIGBgQ29udGVudExlbmd0aGBgLCBgYFZlcnNpb25JZGBgLCBgYEVUYWdgYCwgZXRjLi4uCgpUaGUgYGBCb2R5YGAgcGFyYW1ldGVyIHN0b3JlcyBhIHJlZmVyZW5jZSB0byBhIGBgR3V6emxlXEh0dHBcRW50aXR5Qm9keWBgIG9iamVjdC4gVGhlIFNESyB3aWxsIHN0b3JlIHRoZSBkYXRhIGluIGEKdGVtcG9yYXJ5IFBIUCBzdHJlYW0gYnkgZGVmYXVsdC4gVGhpcyB3aWxsIHdvcmsgZm9yIG1vc3QgdXNlLWNhc2VzIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgcHJvdGVjdCB5b3VyIGFwcGxpY2F0aW9uIGZyb20KYXR0ZW1wdGluZyB0byBkb3dubG9hZCBleHRyZW1lbHkgbGFyZ2UgZmlsZXMgaW50byBtZW1vcnkuCgpUaGUgRW50aXR5Qm9keSBvYmplY3QgaGFzIG90aGVyIG5pY2UgZmVhdHVyZXMgdGhhdCBhbGxvdyB5b3UgdG8gcmVhZCBkYXRhIHVzaW5nIHN0cmVhbXMuCgouLiBleGFtcGxlOjogUzMvSW50ZWdyYXRpb24vUzNfMjAwNjAzMDFfVGVzdC5waHAgdGVzdEdldE9iamVjdFVzaW5nRW50aXR5Qm9keQoKU2F2aW5nIG9iamVjdHMgdG8gYSBmaWxlCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKWW91IGNhbiBzYXZlIHRoZSBjb250ZW50cyBvZiBhbiBvYmplY3QgdG8gYSBmaWxlIGJ5IHNldHRpbmcgdGhlIFNhdmVBcyBwYXJhbWV0ZXIuCgouLiBleGFtcGxlOjogUzMvSW50ZWdyYXRpb24vUzNfMjAwNjAzMDFfVGVzdC5waHAgdGVzdEdldE9iamVjdFdpdGhTYXZlQXMKClVwbG9hZGluZyBsYXJnZSBmaWxlcyB1c2luZyBtdWx0aXBhcnQgdXBsb2FkcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkFtYXpvbiBTMyBhbGxvd3MgeW91IHRvIHVwbG9hZHMgbGFyZ2UgZmlsZXMgaW4gcGllY2VzLiBUaGUgQVdTIFNESyBmb3IgUEhQIHByb3ZpZGVzIGFuIGFic3RyYWN0aW9uIGxheWVyIHRoYXQgbWFrZXMgaXQKZWFzaWVyIHRvIHVwbG9hZCBsYXJnZSBmaWxlcyB1c2luZyBtdWx0aXBhcnQgdXBsb2FkLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBBd3NcQ29tbW9uXEVudW1cU2l6ZTsKICAgIHVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxNdWx0aXBhcnRVcGxvYWRFeGNlcHRpb247CiAgICB1c2UgQXdzXFMzXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRCdWlsZGVyOwoKICAgICR1cGxvYWRlciA9IFVwbG9hZEJ1aWxkZXI6Om5ld0luc3RhbmNlKCkKICAgICAgICAtPnNldENsaWVudCgkY2xpZW50KQogICAgICAgIC0+c2V0U291cmNlKCcvcGF0aC90by9sYXJnZS9maWxlLm1vdicpCiAgICAgICAgLT5zZXRCdWNrZXQoJ215YnVja2V0JykKICAgICAgICAtPnNldEtleSgnbXktb2JqZWN0LWtleScpCiAgICAgICAgLT5zZXRPcHRpb24oJ01ldGFkYXRhJywgYXJyYXkoJ0ZvbycgPT4gJ0JhcicpKQogICAgICAgIC0+c2V0T3B0aW9uKCdDYWNoZUNvbnRyb2wnLCAnbWF4LWFnZT0zNjAwJykKICAgICAgICAtPmJ1aWxkKCk7CgogICAgLy8gUGVyZm9ybSB0aGUgdXBsb2FkLiBBYm9ydCB0aGUgdXBsb2FkIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nCiAgICB0cnkgewogICAgICAgICR1cGxvYWRlci0+dXBsb2FkKCk7CiAgICAgICAgZWNobyAiVXBsb2FkIGNvbXBsZXRlLlxuIjsKICAgIH0gY2F0Y2ggKE11bHRpcGFydFVwbG9hZEV4Y2VwdGlvbiAkZSkgewogICAgICAgICR1cGxvYWRlci0+YWJvcnQoKTsKICAgICAgICBlY2hvICJVcGxvYWQgZmFpbGVkLlxuIjsKICAgIH0KCllvdSBjYW4gYXR0ZW1wdCB0byB1cGxvYWQgcGFydHMgaW4gcGFyYWxsZWwgYnkgc3BlY2lmeWluZyB0aGUgY29uY3VycmVuY3kgb3B0aW9uIG9uIHRoZSBVcGxvYWRCdWlsZGVyIG9iamVjdC4gVGhlCmZvbGxvd2luZyBleGFtcGxlIHdpbGwgY3JlYXRlIGEgdHJhbnNmZXIgb2JqZWN0IHRoYXQgd2lsbCBhdHRlbXB0IHRvIHVwbG9hZCB0aHJlZSBwYXJ0cyBpbiBwYXJhbGxlbCB1bnRpbCB0aGUgZW50aXJlCm9iamVjdCBoYXMgYmVlbiB1cGxvYWRlZC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkdXBsb2FkZXIgPSBVcGxvYWRCdWlsZGVyOjpuZXdJbnN0YW5jZSgpCiAgICAgICAgLT5zZXRDbGllbnQoJGNsaWVudCkKICAgICAgICAtPnNldFNvdXJjZSgnL3BhdGgvdG8vbGFyZ2UvZmlsZS5tb3YnKQogICAgICAgIC0+c2V0QnVja2V0KCdteWJ1Y2tldCcpCiAgICAgICAgLT5zZXRLZXkoJ215LW9iamVjdC1rZXknKQogICAgICAgIC0+c2V0Q29uY3VycmVuY3koMykKICAgICAgICAtPmJ1aWxkKCk7CgpZb3UgY2FuIHVzZSB0aGUgYGBBd3NcUzNcUzNDbGllbnQ6OnVwbG9hZCgpYGAgbWV0aG9kIGlmIHlvdSBqdXN0IHdhbnQgdG8gdXBsb2FkIGZpbGVzIGFuZCBub3Qgd29ycnkgaWYgdGhleSBhcmUgdG9vCmxhcmdlIHRvIHNlbmQgaW4gYSBzaW5nbGUgUHV0T2JqZWN0IG9wZXJhdGlvbiBvciByZXF1aXJlIGEgbXVsdGlwYXJ0IHVwbG9hZC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY2xpZW50LT51cGxvYWQoJ2J1Y2tldCcsICdrZXknLCAnb2JqZWN0IGJvZHknLCAncHVibGljLXJlYWQnKTsKClNldHRpbmcgQUNMcyBhbmQgQWNjZXNzIENvbnRyb2wgUG9saWNpZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKWW91IGNhbiBzcGVjaWZ5IGEgY2FubmVkIEFDTCBvbiBhbiBvYmplY3Qgd2hlbiB1cGxvYWRpbmc6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGNsaWVudC0+cHV0T2JqZWN0KGFycmF5KAogICAgICAgICdCdWNrZXQnICAgICA9PiAnbXlidWNrZXQnLAogICAgICAgICdLZXknICAgICAgICA9PiAnZGF0YS50eHQnLAogICAgICAgICdTb3VyY2VGaWxlJyA9PiAnL3BhdGgvdG8vZGF0YS50eHQnLAogICAgICAgICdBQ0wnICAgICAgICA9PiAncHVibGljLXJlYWQnCiAgICApKTsKCllvdSBjYW4gdXNlIHRoZSBgYEF3c1xTM1xFbnVtXENhbm5lZEFjbGBgIG9iamVjdCB0byBwcm92aWRlIGNhbm5lZCBBQ0wgY29uc3RhbnRzOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBBd3NcUzNcRW51bVxDYW5uZWRBY2w7CgogICAgJGNsaWVudC0+cHV0T2JqZWN0KGFycmF5KAogICAgICAgICdCdWNrZXQnICAgICA9PiAnbXlidWNrZXQnLAogICAgICAgICdLZXknICAgICAgICA9PiAnZGF0YS50eHQnLAogICAgICAgICdTb3VyY2VGaWxlJyA9PiAnL3BhdGgvdG8vZGF0YS50eHQnLAogICAgICAgICdBQ0wnICAgICAgICA9PiBDYW5uZWRBY2w6OlBVQkxJQ19SRUFECiAgICApKTsKCllvdSBjYW4gc3BlY2lmeSBtb3JlIGNvbXBsZXggQUNMcyB1c2luZyB0aGUgYGBBQ1BgYCBwYXJhbWV0ZXIgd2hlbiBzZW5kaW5nIFB1dE9iamVjdCwgQ29weU9iamVjdCwgQ3JlYXRlQnVja2V0LApDcmVhdGVNdWx0aXBhcnRVcGxvYWQsIFB1dEJ1Y2tldEFjbCwgUHV0T2JqZWN0QWNsLCBhbmQgb3RoZXIgb3BlcmF0aW9ucyB0aGF0IGFjY2VwdCBhIGNhbm5lZCBBQ0wuIFVzaW5nIHRoZSBgYEFDUGBgCnBhcmFtZXRlciBhbGxvd3MgeW91IHNwZWNpZnkgbW9yZSBncmFudWxhciBhY2Nlc3MgY29udHJvbCBwb2xpY2llcyB1c2luZyBhIGBgQXdzXFMzXE1vZGVsXEFjcGBgIG9iamVjdC4gVGhlIGVhc2llc3QKd2F5IHRvIGNyZWF0ZSBhbiBBY3Agb2JqZWN0IGlzIHRocm91Z2ggdGhlIGBgQXdzXFMzXE1vZGVsXEFjcEJ1aWxkZXJgYC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgQXdzXFMzXEVudW1cUGVybWlzc2lvbjsKICAgIHVzZSBBd3NcUzNcRW51bVxHcm91cDsKICAgIHVzZSBBd3NcUzNcTW9kZWxcQWNwQnVpbGRlcjsKCiAgICAkYWNwID0gQWNwQnVpbGRlcjo6bmV3SW5zdGFuY2UoKQogICAgICAgIC0+c2V0T3duZXIoJG15T3duZXJJZCkKICAgICAgICAtPmFkZEdyYW50Rm9yRW1haWwoUGVybWlzc2lvbjo6UkVBRCwgJ3Rlc3RAZXhhbXBsZS5jb20nKQogICAgICAgIC0+YWRkR3JhbnRGb3JVc2VyKFBlcm1pc3Npb246OkZVTExfQ09OVFJPTCwgJ3VzZXItaWQnKQogICAgICAgIC0+YWRkR3JhbnRGb3JHcm91cChQZXJtaXNzaW9uOjpSRUFELCBHcm91cDo6QVVUSEVOVElDQVRFRF9VU0VSUykKICAgICAgICAtPmJ1aWxkKCk7CgogICAgJGNsaWVudC0+cHV0T2JqZWN0KGFycmF5KAogICAgICAgICdCdWNrZXQnICAgICA9PiAnbXlidWNrZXQnLAogICAgICAgICdLZXknICAgICAgICA9PiAnZGF0YS50eHQnLAogICAgICAgICdTb3VyY2VGaWxlJyA9PiAnL3BhdGgvdG8vZGF0YS50eHQnLAogICAgICAgICdBQ1AnICAgICAgICA9PiAkYWNwCiAgICApKTsKCkNyZWF0aW5nIGEgcHJlLXNpZ25lZCBVUkwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKWW91IGNhbiBhdXRoZW50aWNhdGUgY2VydGFpbiB0eXBlcyBvZiByZXF1ZXN0cyBieSBwYXNzaW5nIHRoZSByZXF1aXJlZCBpbmZvcm1hdGlvbiBhcyBxdWVyeS1zdHJpbmcgcGFyYW1ldGVycyBpbnN0ZWFkCm9mIHVzaW5nIHRoZSBBdXRob3JpemF0aW9uIEhUVFAgaGVhZGVyLiBUaGlzIGlzIHVzZWZ1bCBmb3IgZW5hYmxpbmcgZGlyZWN0IHRoaXJkLXBhcnR5IGJyb3dzZXIgYWNjZXNzIHRvIHlvdXIgcHJpdmF0ZQpBbWF6b24gUzMgZGF0YSwgd2l0aG91dCBwcm94eWluZyB0aGUgcmVxdWVzdC4gVGhlIGlkZWEgaXMgdG8gY29uc3RydWN0IGEgInByZS1zaWduZWQiIHJlcXVlc3QgYW5kIGVuY29kZSBpdCBhcyBhIFVSTAp0aGF0IGFuIGVuZC11c2VyJ3MgYnJvd3NlciBjYW4gcmV0cmlldmUuIEFkZGl0aW9uYWxseSwgeW91IGNhbiBsaW1pdCBhIHByZS1zaWduZWQgcmVxdWVzdCBieSBzcGVjaWZ5aW5nIGFuIGV4cGlyYXRpb24KdGltZS4KClRoZSBtb3N0IGNvbW1vbiBzY2VuYXJpbyBpcyBjcmVhdGluZyBhIHByZS1zaWduZWQgVVJMIHRvIEdFVCBhbiBvYmplY3QuIFRoZSBlYXNpZXN0IHdheSB0byBkbyB0aGlzIGlzIHRvIHVzZSB0aGUKYGBnZXRPYmplY3RVcmxgYCBtZXRob2Qgb2YgdGhlIEFtYXpvbiBTMyBjbGllbnQuIFRoaXMgc2FtZSBtZXRob2QgY2FuIGFsc28gYmUgdXNlZCB0byBnZXQgYW4gdW5zaWduZWQgVVJMIG9mIGEgcHVibGljClMzIG9iamVjdC4KCi4uIGV4YW1wbGU6OiBTMy9JbnRlZ3JhdGlvbi9TM18yMDA2MDMwMV9UZXN0LnBocCB0ZXN0R2V0T2JqZWN0VXJsCgpZb3UgY2FuIGFsc28gY3JlYXRlIHByZS1zaWduZWQgVVJMcyBmb3IgYW55IEFtYXpvbiBTMyBvcGVyYXRpb24gdXNpbmcgdGhlIGBgZ2V0Q29tbWFuZGBgIG1ldGhvZCBmb3IgY3JlYXRpbmcgYSBHdXp6bGUKY29tbWFuZCBvYmplY3QgYW5kIHRoZW4gY2FsbGluZyB0aGUgYGBjcmVhdGVQcmVzaWduZWRVcmwoKWBgIG1ldGhvZCBvbiB0aGUgY29tbWFuZC4KCi4uIGV4YW1wbGU6OiBTMy9JbnRlZ3JhdGlvbi9TM18yMDA2MDMwMV9UZXN0LnBocCB0ZXN0Q3JlYXRlUHJlc2lnbmVkVXJsRnJvbUNvbW1hbmQKCklmIHlvdSBuZWVkIG1vcmUgZmxleGliaWxpdHkgaW4gY3JlYXRpbmcgeW91ciBwcmUtc2lnbmVkIFVSTCwgdGhlbiB5b3UgY2FuIGNyZWF0ZSBhIHByZS1zaWduZWQgVVJMIGZvciBhIGNvbXBsZXRlbHkKY3VzdG9tIGBgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlYGAgb2JqZWN0LiBZb3UgY2FuIHVzZSB0aGUgYGBnZXQoKWBgLCBgYHBvc3QoKWBgLCBgYGhlYWQoKWBgLCBgYHB1dCgpYGAsCmFuZCBgYGRlbGV0ZSgpYGAgbWV0aG9kcyBvZiBhIGNsaWVudCBvYmplY3QgdG8gZWFzaWx5IGNyZWF0ZSBhIEd1enpsZSByZXF1ZXN0IG9iamVjdC4KCi4uIGV4YW1wbGU6OiBTMy9JbnRlZ3JhdGlvbi9TM18yMDA2MDMwMV9UZXN0LnBocCB0ZXN0Q3JlYXRlUHJlc2lnbmVkVXJsCgpBbWF6b24gUzMgc3RyZWFtIHdyYXBwZXIKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgQW1hem9uIFMzIHN0cmVhbSB3cmFwcGVyIGFsbG93cyB5b3UgdG8gc3RvcmUgYW5kIHJldHJpZXZlIGRhdGEgZnJvbSBBbWF6b24gUzMgdXNpbmcgYnVpbHQtaW4gUEhQIGZ1bmN0aW9ucyBsaWtlCmBgZmlsZV9nZXRfY29udGVudHNgYCwgYGBmb3BlbmBgLCBgYGNvcHlgYCwgYGByZW5hbWVgYCwgYGB1bmxpbmtgYCwgYGBta2RpcmBgLCBgYHJtZGlyYGAsIGV0Yy4KCllvdSBuZWVkIHRvIHJlZ2lzdGVyIHRoZSBBbWF6b24gUzMgc3RyZWFtIHdyYXBwZXIgaW4gb3JkZXIgdG8gdXNlIGl0OgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIFJlZ2lzdGVyIHRoZSBzdHJlYW0gd3JhcHBlciBmcm9tIGFuIFMzQ2xpZW50IG9iamVjdAogICAgJGNsaWVudC0+cmVnaXN0ZXJTdHJlYW1XcmFwcGVyKCk7CgpUaGlzIGFsbG93cyB5b3UgdG8gYWNjZXNzIGJ1Y2tldHMgYW5kIG9iamVjdHMgc3RvcmVkIGluIEFtYXpvbiBTMyB1c2luZyB0aGUgYGBzMzovL2BgIHByb3RvY29sLiBUaGUgInMzIiBzdHJlYW0gd3JhcHBlcgphY2NlcHRzIHN0cmluZ3MgdGhhdCBjb250YWluIGEgYnVja2V0IG5hbWUgZm9sbG93ZWQgYnkgYSBmb3J3YXJkIHNsYXNoIGFuZCBhbiBvcHRpb25hbCBvYmplY3Qga2V5IG9yIHByZWZpeDoKYGBzMzovLzxidWNrZXQ+Wy88a2V5LW9yLXByZWZpeD5dYGAuCgpEb3dubG9hZGluZyBkYXRhCn5+fn5+fn5+fn5+fn5+fn4KCllvdSBjYW4gZ3JhYiB0aGUgY29udGVudHMgb2YgYW4gb2JqZWN0IHVzaW5nIGBgZmlsZV9nZXRfY29udGVudHNgYC4gQmUgY2FyZWZ1bCB3aXRoIHRoaXMgZnVuY3Rpb24gdGhvdWdoOyBpdCBsb2FkcyB0aGUKZW50aXJlIGNvbnRlbnRzIG9mIHRoZSBvYmplY3QgaW50byBtZW1vcnkuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgLy8gRG93bmxvYWQgdGhlIGJvZHkgb2YgdGhlICJrZXkiIG9iamVjdCBpbiB0aGUgImJ1Y2tldCIgYnVja2V0CiAgICAkZGF0YSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCdzMzovL2J1Y2tldC9rZXknKTsKClVzZSBgYGZvcGVuKClgYCB3aGVuIHdvcmtpbmcgd2l0aCBsYXJnZXIgZmlsZXMgb3IgaWYgeW91IG5lZWQgdG8gc3RyZWFtIGRhdGEgZnJvbSBBbWF6b24gUzMuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgLy8gT3BlbiBhIHN0cmVhbSBpbiByZWFkLW9ubHkgbW9kZQogICAgaWYgKCRzdHJlYW0gPSBmb3BlbignczM6Ly9idWNrZXQva2V5JywgJ3InKSkgewogICAgICAgIC8vIFdoaWxlIHRoZSBzdHJlYW0gaXMgc3RpbGwgb3BlbgogICAgICAgIHdoaWxlICghZmVvZigkc3RyZWFtKSkgewogICAgICAgICAgICAvLyBSZWFkIDEwMjQgYnl0ZXMgZnJvbSB0aGUgc3RyZWFtCiAgICAgICAgICAgIGVjaG8gZnJlYWQoJHN0cmVhbSwgMTAyNCk7CiAgICAgICAgfQogICAgICAgIC8vIEJlIHN1cmUgdG8gY2xvc2UgdGhlIHN0cmVhbSByZXNvdXJjZSB3aGVuIHlvdSdyZSBkb25lIHdpdGggaXQKICAgICAgICBmY2xvc2UoJHN0cmVhbSk7CiAgICB9CgpPcGVuaW5nIFNlZWthYmxlIHN0cmVhbXMKXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCgpTdHJlYW1zIG9wZW5lZCBpbiAiciIgbW9kZSBvbmx5IGFsbG93IGRhdGEgdG8gYmUgcmVhZCBmcm9tIHRoZSBzdHJlYW0sIGFuZCBhcmUgbm90IHNlZWthYmxlIGJ5IGRlZmF1bHQuIFRoaXMgaXMgc28gdGhhdApkYXRhIGNhbiBiZSBkb3dubG9hZGVkIGZyb20gQW1hem9uIFMzIGluIGEgdHJ1bHkgc3RyZWFtaW5nIG1hbm5lciB3aGVyZSBwcmV2aW91c2x5IHJlYWQgYnl0ZXMgZG8gbm90IG5lZWQgdG8gYmUKYnVmZmVyZWQgaW50byBtZW1vcnkuIElmIHlvdSBuZWVkIGEgc3RyZWFtIHRvIGJlIHNlZWthYmxlLCB5b3UgY2FuIHBhc3MgYGBzZWVrYWJsZWBgIGludG8gdGhlIGBzdHJlYW0gY29udGV4dApvcHRpb25zIDxodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLnN0cmVhbS1jb250ZXh0LWNyZWF0ZS5waHA+YF8gb2YgYSBmdW5jdGlvbi4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY29udGV4dCA9IHN0cmVhbV9jb250ZXh0X2NyZWF0ZShhcnJheSgKICAgICAgICAnczMnID0+IGFycmF5KAogICAgICAgICAgICAnc2Vla2FibGUnID0+IHRydWUKICAgICAgICApCiAgICApKTsKCiAgICBpZiAoJHN0cmVhbSA9IGZvcGVuKCdzMzovL2J1Y2tldC9rZXknLCAncicsIGZhbHNlLCAkY29udGV4dCkpIHsKICAgICAgICAvLyBSZWFkIGJ5dGVzIGZyb20gdGhlIHN0cmVhbQogICAgICAgIGZyZWFkKCRzdHJlYW0sIDEwMjQpOwogICAgICAgIC8vIFNlZWsgYmFjayB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0KICAgICAgICBmc2Vlaygkc3RlYW0sIDApOwogICAgICAgIC8vIFJlYWQgdGhlIHNhbWUgYnl0ZXMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgcmVhZAogICAgICAgIGZyZWFkKCRzdHJlYW0sIDEwMjQpOwogICAgICAgIGZjbG9zZSgkc3RyZWFtKTsKICAgIH0KCk9wZW5pbmcgc2Vla2FibGUgc3RyZWFtcyBhbGxvd3MgeW91IHRvIHNlZWsgb25seSB0byBieXRlcyB0aGF0IHdlcmUgcHJldmlvdXNseSByZWFkLiBZb3UgY2Fubm90IHNraXAgYWhlYWQgdG8gYnl0ZXMKdGhhdCBoYXZlIG5vdCB5ZXQgYmVlbiByZWFkIGZyb20gdGhlIHJlbW90ZSBzZXJ2ZXIuIEluIG9yZGVyIHRvIGFsbG93IHByZXZpb3VzbHkgcmVhZCBkYXRhIHRvIHJlY2FsbGVkLCBkYXRhIGlzCmJ1ZmZlcmVkIGluIGEgUEhQIHRlbXAgc3RyZWFtIHVzaW5nIEd1enpsZSdzCmBDYWNoaW5nRW50aXR5Qm9keSA8aHR0cHM6Ly9naXRodWIuY29tL2d1enpsZS9ndXp6bGUvYmxvYi9tYXN0ZXIvc3JjL0d1enpsZS9IdHRwL0NhY2hpbmdFbnRpdHlCb2R5LnBocD5gXyBkZWNvcmF0b3IuCldoZW4gdGhlIGFtb3VudCBvZiBjYWNoZWQgZGF0YSBleGNlZWQgMk1CLCB0aGUgZGF0YSBpbiB0aGUgdGVtcCBzdHJlYW0gd2lsbCB0cmFuc2ZlciBmcm9tIG1lbW9yeSB0byBkaXNrLiBLZWVwIHRoaXMgaW4KbWluZCB3aGVuIGRvd25sb2FkaW5nIGxhcmdlIGZpbGVzIGZyb20gQW1hem9uIFMzIHVzaW5nIHRoZSBgYHNlZWthYmxlYGAgc3RyZWFtIGNvbnRleHQgc2V0dGluZy4KClVwbG9hZGluZyBkYXRhCn5+fn5+fn5+fn5+fn5+CgpEYXRhIGNhbiBiZSB1cGxvYWRlZCB0byBBbWF6b24gUzMgdXNpbmcgYGBmaWxlX3B1dF9jb250ZW50cygpYGAuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgZmlsZV9wdXRfY29udGVudHMoJ3MzOi8vYnVja2V0L2tleScsICdIZWxsbyEnKTsKCllvdSBjYW4gdXBsb2FkIGxhcmdlciBmaWxlcyBieSBzdHJlYW1pbmcgZGF0YSB1c2luZyBgYGZvcGVuKClgYCBhbmQgYSAidyIsICJ4Iiwgb3IgImEiIHN0cmVhbSBhY2Nlc3MgbW9kZS4gVGhlIEFtYXpvbgpTMyBzdHJlYW0gd3JhcHBlciBkb2VzICoqbm90Kiogc3VwcG9ydCBzaW11bHRhbmVvdXMgcmVhZCBhbmQgd3JpdGUgc3RyZWFtcyAoZS5nLiAicisiLCAidysiLCBldGMpLiBUaGlzIGlzIGJlY2F1c2UgdGhlCkhUVFAgcHJvdG9jb2wgZG9lcyBub3QgYWxsb3cgc2ltdWx0YW5lb3VzIHJlYWRpbmcgYW5kIHdyaXRpbmcuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHN0cmVhbSA9IGZvcGVuKCdzMzovL2J1Y2tldC9rZXknLCAndycpOwogICAgZndyaXRlKCRzdHJlYW0sICdIZWxsbyEnKTsKICAgIGZjbG9zZSgkc3RyZWFtKTsKCi4uIG5vdGU6OgoKICAgIEJlY2F1c2UgQW1hem9uIFMzIHJlcXVpcmVzIGEgQ29udGVudC1MZW5ndGggaGVhZGVyIHRvIGJlIHNwZWNpZmllZCBiZWZvcmUgdGhlIHBheWxvYWQgb2YgYSByZXF1ZXN0IGlzIHNlbnQsIHRoZQogICAgZGF0YSB0byBiZSB1cGxvYWRlZCBpbiBhIFB1dE9iamVjdCBvcGVyYXRpb24gaXMgaW50ZXJuYWxseSBidWZmZXJlZCB1c2luZyBhIFBIUCB0ZW1wIHN0cmVhbSB1bnRpbCB0aGUgc3RyZWFtIGlzCiAgICBmbHVzaGVkIG9yIGNsb3NlZC4KCmZvcGVuIG1vZGVzCn5+fn5+fn5+fn5+CgpQSFAncyBgZm9wZW4oKSA8aHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLmZvcGVuLnBocD5gXyBmdW5jdGlvbiByZXF1aXJlcyB0aGF0IGEgYGAkbW9kZWBgIG9wdGlvbiBpcyBzcGVjaWZpZWQuClRoZSBtb2RlIG9wdGlvbiBzcGVjaWZpZXMgd2hldGhlciBvciBub3QgZGF0YSBjYW4gYmUgcmVhZCBvciB3cml0dGVuIHRvIGEgc3RyZWFtIGFuZCBpZiB0aGUgZmlsZSBtdXN0IGV4aXN0IHdoZW4Kb3BlbmluZyBhIHN0cmVhbS4gVGhlIEFtYXpvbiBTMyBzdHJlYW0gd3JhcHBlciBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIG1vZGVzOgoKPSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CnIgQSByZWFkIG9ubHkgc3RyZWFtIHdoZXJlIHRoZSBmaWxlIG11c3QgYWxyZWFkeSBleGlzdC4KdyBBIHdyaXRlIG9ubHkgc3RyZWFtLiBJZiB0aGUgZmlsZSBhbHJlYWR5IGV4aXN0cyBpdCB3aWxsIGJlIG92ZXJ3cml0dGVuLgphIEEgd3JpdGUgb25seSBzdHJlYW0uIElmIHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzLCBpdCB3aWxsIGJlIGRvd25sb2FkZWQgdG8gYSB0ZW1wb3Jhcnkgc3RyZWFtIGFuZCBhbnkgd3JpdGVzIHRvCiAgdGhlIHN0cmVhbSB3aWxsIGJlIGFwcGVuZGVkIHRvIGFueSBwcmV2aW91c2x5IHVwbG9hZGVkIGRhdGEuCnggQSB3cml0ZSBvbmx5IHN0cmVhbS4gQW4gZXJyb3IgaXMgcmFpc2VkIGlmIHRoZSBmaWxlIGRvZXMgbm90IGFscmVhZHkgZXhpc3QuCj0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKT3RoZXIgb2JqZWN0IGZ1bmN0aW9ucwp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpTdHJlYW0gd3JhcHBlcnMgYWxsb3cgbWFueSBkaWZmZXJlbnQgYnVpbHQtaW4gUEhQIGZ1bmN0aW9ucyB0byB3b3JrIHdpdGggYSBjdXN0b20gc3lzdGVtIGxpa2UgQW1hem9uIFMzLiBIZXJlIGFyZSBzb21lCm9mIHRoZSBmdW5jdGlvbnMgdGhhdCB0aGUgQW1hem9uIFMzIHN0cmVhbSB3cmFwcGVyIGFsbG93cyB5b3UgdG8gcGVyZm9ybSB3aXRoIG9iamVjdHMgc3RvcmVkIGluIEFtYXpvbiBTMy4KCj09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQp1bmxpbmsoKSAgICAgICAgRGVsZXRlIGFuIG9iamVjdCBmcm9tIGEgYnVja2V0LgoKICAgICAgICAgICAgICAgIC4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAgICAgICAgICAgICAgICAgLy8gRGVsZXRlIGFuIG9iamVjdCBmcm9tIGEgYnVja2V0CiAgICAgICAgICAgICAgICAgICAgdW5saW5rKCdzMzovL2J1Y2tldC9rZXknKTsKCiAgICAgICAgICAgICAgICBZb3UgY2FuIHBhc3MgaW4gYW55IG9wdGlvbnMgYXZhaWxhYmxlIHRvIHRoZSBgYERlbGV0ZU9iamVjdGBgIG9wZXJhdGlvbiB0byBtb2RpZnkgaG93IHRoZSBvYmplY3QgaXMKICAgICAgICAgICAgICAgIGRlbGV0ZWQgKGUuZy4gc3BlY2lmeWluZyBhIHNwZWNpZmljIG9iamVjdCB2ZXJzaW9uKS4KCiAgICAgICAgICAgICAgICAuLiBjb2RlLWJsb2NrOjogcGhwCgogICAgICAgICAgICAgICAgICAgIC8vIERlbGV0ZSBhIHNwZWNpZmljIHZlcnNpb24gb2YgYW4gb2JqZWN0IGZyb20gYSBidWNrZXQKICAgICAgICAgICAgICAgICAgICB1bmxpbmsoJ3MzOi8vYnVja2V0L2tleScsIHN0cmVhbV9jb250ZXh0X2NyZWF0ZShhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3MzJyA9PiBhcnJheSgnVmVyc2lvbklkJyA9PiAnMTIzJykKICAgICAgICAgICAgICAgICAgICApKTsKCmZpbGVzaXplKCkgICAgICBHZXQgdGhlIHNpemUgb2YgYW4gb2JqZWN0LgoKICAgICAgICAgICAgICAgIC4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAgICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBDb250ZW50LUxlbmd0aCBvZiBhbiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCdzMzovL2J1Y2tldC9rZXknLCApOwoKaXNfZmlsZSgpICAgICAgIENoZWNrcyBpZiBhIFVSTCBpcyBhIGZpbGUuCgogICAgICAgICAgICAgICAgLi4gY29kZS1ibG9jazo6IHBocAoKICAgICAgICAgICAgICAgICAgICBpZiAoaXNfZmlsZSgnczM6Ly9idWNrZXQva2V5JykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAnSXQgaXMgYSBmaWxlISc7CiAgICAgICAgICAgICAgICAgICAgfQoKZmlsZV9leGlzdHMoKSAgIENoZWNrcyBpZiBhbiBvYmplY3QgZXhpc3RzLgoKICAgICAgICAgICAgICAgIC4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbGVfZXhpc3RzKCdzMzovL2J1Y2tldC9rZXknKSkgewogICAgICAgICAgICAgICAgICAgICAgICBlY2hvICdJdCBleGlzdHMhJzsKICAgICAgICAgICAgICAgICAgICB9CgpmaWxldHlwZSgpICAgICAgQ2hlY2tzIGlmIGEgVVJMIG1hcHMgdG8gYSBmaWxlIG9yIGJ1Y2tldCAoZGlyKS4KZmlsZSgpICAgICAgICAgIExvYWQgdGhlIGNvbnRlbnRzIG9mIGFuIG9iamVjdCBpbiBhbiBhcnJheSBvZiBsaW5lcy4gWW91IGNhbiBwYXNzIGluIGFueSBvcHRpb25zIGF2YWlsYWJsZSB0byB0aGUKICAgICAgICAgICAgICAgIGBgR2V0T2JqZWN0YGAgb3BlcmF0aW9uIHRvIG1vZGlmeSBob3cgdGhlIGZpbGUgaXMgZG93bmxvYWRlZC4KZmlsZW10aW1lKCkgICAgIEdldCB0aGUgbGFzdCBtb2RpZmllZCBkYXRlIG9mIGFuIG9iamVjdC4KcmVuYW1lKCkgICAgICAgIFJlbmFtZSBhbiBvYmplY3QgYnkgY29weWluZyB0aGUgb2JqZWN0IHRoZW4gZGVsZXRpbmcgdGhlIG9yaWdpbmFsLiBZb3UgY2FuIHBhc3MgaW4gb3B0aW9ucyBhdmFpbGFibGUgdG8KICAgICAgICAgICAgICAgIHRoZSBgYENvcHlPYmplY3RgYCBhbmQgYGBEZWxldGVPYmplY3RgYCBvcGVyYXRpb25zIHRvIHRoZSBzdHJlYW0gY29udGV4dCBwYXJhbWV0ZXJzIHRvIG1vZGlmeSBob3cgdGhlCiAgICAgICAgICAgICAgICBvYmplY3QgaXMgY29waWVkIGFuZCBkZWxldGVkLgpjb3B5KCkgICAgICAgICAgQ29weSBhbiBvYmplY3QgZnJvbSBvbmUgbG9jYXRpb24gdG8gYW5vdGhlci4gWW91IGNhbiBwYXNzIG9wdGlvbnMgYXZhaWxhYmxlIHRvIHRoZSBgYENvcHlPYmplY3RgYAogICAgICAgICAgICAgICAgb3BlcmF0aW9uIGludG8gdGhlIHN0cmVhbSBjb250ZXh0IG9wdGlvbnMgdG8gbW9kaWZ5IGhvdyB0aGUgb2JqZWN0IGlzIGNvcGllZC4KCiAgICAgICAgICAgICAgICAuLiBjb2RlLWJsb2NrOjogcGhwCgogICAgICAgICAgICAgICAgICAgIC8vIENvcHkgYSBmaWxlIG9uIEFtYXpvbiBTMyB0byBhbm90aGVyIGJ1Y2tldAogICAgICAgICAgICAgICAgICAgIGNvcHkoJ3MzOi8vYnVja2V0L2tleScsICdzMzovL290aGVyX2J1Y2tldC9rZXknKTsKCj09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKV29ya2luZyB3aXRoIGJ1Y2tldHMKfn5+fn5+fn5+fn5+fn5+fn5+fn4KCllvdSBjYW4gbW9kaWZ5IGFuZCBicm93c2UgQW1hem9uIFMzIGJ1Y2tldHMgc2ltaWxhciB0byBob3cgUEhQIGFsbG93cyB0aGUgbW9kaWZpY2F0aW9uIGFuZCB0cmF2ZXJzYWwgb2YgZGlyZWN0b3JpZXMgb24KeW91ciBmaWxlc3lzdGVtLgoKSGVyZSdzIGFuIGV4YW1wbGUgb2YgY3JlYXRpbmcgYSBidWNrZXQ6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgbWtkaXIoJ3MzOi8vYnVja2V0Jyk7CgpZb3UgY2FuIHBhc3MgaW4gc3RyZWFtIGNvbnRleHQgb3B0aW9ucyB0byB0aGUgYGBta2RpcigpYGAgbWV0aG9kIHRvIG1vZGlmeSBob3cgdGhlIGJ1Y2tldCBpcyBjcmVhdGVkIHVzaW5nIHRoZQpwYXJhbWV0ZXJzIGF2YWlsYWJsZSB0byB0aGUKYENyZWF0ZUJ1Y2tldCA8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5TMy5TM0NsaWVudC5odG1sI19jcmVhdGVCdWNrZXQ+YF8gb3BlcmF0aW9uLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIENyZWF0ZSBhIGJ1Y2tldCBpbiB0aGUgRVUgcmVnaW9uCiAgICBta2RpcignczM6Ly9idWNrZXQnLCBzdHJlYW1fY29udGV4dF9jcmVhdGUoYXJyYXkoCiAgICAgICAgJ3MzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ0xvY2F0aW9uQ29uc3RyYWludCcgPT4gJ2V1LXdlc3QtMScKICAgICAgICApCiAgICApKTsKCllvdSBjYW4gZGVsZXRlIGJ1Y2tldHMgdXNpbmcgdGhlIGBgcm1kaXIoKWBgIGZ1bmN0aW9uLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIERlbGV0ZSBhIGJ1Y2tldAogICAgcm1kaXIoJ3MzOi8vYnVja2V0Jyk7CgouLiBub3RlOjoKCiAgICBBIGJ1Y2tldCBjYW4gb25seSBiZSBkZWxldGVkIGlmIGl0IGlzIGVtcHR5LgoKTGlzdGluZyB0aGUgY29udGVudHMgb2YgYSBidWNrZXQKXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KClRoZSBgb3BlbmRpcigpIDxodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLm9wZW5kaXIucGhwPmBfLApgcmVhZGRpcigpIDxodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLnJlYWRkaXIucGhwPmBfLApgcmV3aW5kZGlyKCkgPGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24ucmV3aW5kZGlyLnBocD5gXywgYW5kCmBjbG9zZWRpcigpIDxodHRwOi8vcGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uY2xvc2VkaXIucGhwPmBfIFBIUCBmdW5jdGlvbnMgY2FuIGJlIHVzZWQgd2l0aCB0aGUgQW1hem9uIFMzIHN0cmVhbQp3cmFwcGVyIHRvIHRyYXZlcnNlIHRoZSBjb250ZW50cyBvZiBhIGJ1Y2tldC4gWW91IGNhbiBwYXNzIGluIHBhcmFtZXRlcnMgYXZhaWxhYmxlIHRvIHRoZQpgTGlzdE9iamVjdHMgPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuUzMuUzNDbGllbnQuaHRtbCNfbGlzdE9iamVjdHM+YF8gb3BlcmF0aW9uIGFzCmN1c3RvbSBzdHJlYW0gY29udGV4dCBvcHRpb25zIHRvIHRoZSBgYG9wZW5kaXIoKWBgIGZ1bmN0aW9uIHRvIG1vZGlmeSBob3cgb2JqZWN0cyBhcmUgbGlzdGVkLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRkaXIgPSAiczM6Ly9idWNrZXQvIjsKCiAgICBpZiAoaXNfZGlyKCRkaXIpICYmICgkZGggPSBvcGVuZGlyKCRkaXIpKSkgewogICAgICAgIHdoaWxlICgoJGZpbGUgPSByZWFkZGlyKCRkaCkpICE9PSBmYWxzZSkgewogICAgICAgICAgICBlY2hvICJmaWxlbmFtZTogeyRmaWxlfSA6IGZpbGV0eXBlOiAiIC4gZmlsZXR5cGUoJGRpciAuICRmaWxlKSAuICJcbiI7CiAgICAgICAgfQogICAgICAgIGNsb3NlZGlyKCRkaCk7CiAgICB9CgpZb3UgY2FuIHJlY3Vyc2l2ZWx5IGxpc3QgZWFjaCBvYmplY3QgYW5kIHByZWZpeCBpbiBhIGJ1Y2tldCB1c2luZyBQSFAncwpgUmVjdXJzaXZlRGlyZWN0b3J5SXRlcmF0b3IgPGh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9jbGFzcy5yZWN1cnNpdmVkaXJlY3RvcnlpdGVyYXRvci5waHA+YF8uCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGRpciA9ICdzMzovL2J1Y2tldCc7CiAgICAkaXRlcmF0b3IgPSBuZXcgUmVjdXJzaXZlSXRlcmF0b3JJdGVyYXRvcihuZXcgUmVjdXJzaXZlRGlyZWN0b3J5SXRlcmF0b3IoJGRpcikpOwoKICAgIGZvcmVhY2ggKCRpdGVyYXRvciBhcyAkZmlsZSkgewogICAgICAgIGVjaG8gJGZpbGUtPmdldFR5cGUoKSAuICc6ICcgLiAkZmlsZSAuICJcbiI7CiAgICB9CgpBbm90aGVyIGVhc3kgd2F5IHRvIGxpc3QgdGhlIGNvbnRlbnRzIG9mIHRoZSBidWNrZXQgaXMgdXNpbmcgdGhlCmBTeW1mb255MiBGaW5kZXIgY29tcG9uZW50IDxodHRwOi8vc3ltZm9ueS5jb20vZG9jL21hc3Rlci9jb21wb25lbnRzL2ZpbmRlci5odG1sPmBfLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIDw/cGhwCgogICAgcmVxdWlyZSAndmVuZG9yL2F1dG9sb2FkLnBocCc7CgogICAgdXNlIFN5bWZvbnlcQ29tcG9uZW50XEZpbmRlclxGaW5kZXI7CgogICAgJGF3cyA9IEF3c1xDb21tb25cQXdzOjpmYWN0b3J5KCcvcGF0aC90by9jb25maWcuanNvbicpOwogICAgJHMzID0gJGF3cy0+Z2V0KCdzMycpLT5yZWdpc3RlclN0cmVhbVdyYXBwZXIoKTsKCiAgICAkZmluZGVyID0gbmV3IEZpbmRlcigpOwoKICAgIC8vIEdldCBhbGwgZmlsZXMgYW5kIGZvbGRlcnMgKGtleSBwcmVmaXhlcykgZnJvbSAiYnVja2V0IiB0aGF0IGFyZSBsZXNzIHRoYW4gMTAwawogICAgLy8gYW5kIGhhdmUgYmVlbiB1cGRhdGVkIGluIHRoZSBsYXN0IHllYXIKICAgICRmaW5kZXItPmluKCdzMzovL2J1Y2tldCcpCiAgICAgICAgLT5zaXplKCc8IDEwMEsnKQogICAgICAgIC0+ZGF0ZSgnc2luY2UgMSB5ZWFyIGFnbycpOwoKICAgIGZvcmVhY2ggKCRmaW5kZXIgYXMgJGZpbGUpIHsKICAgICAgICBlY2hvICRmaWxlLT5nZXRUeXBlKCkgLiAiOiB7JGZpbGV9XG4iOwogICAgfQoKU3luY2luZyBkYXRhIHdpdGggQW1hem9uIFMzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVXBsb2FkaW5nIGEgZGlyZWN0b3J5IHRvIGEgYnVja2V0Cn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKVXBsb2FkaW5nIGEgbG9jYWwgZGlyZWN0b3J5IHRvIGFuIEFtYXpvbiBTMyBidWNrZXQgaXMgcmF0aGVyIHNpbXBsZToKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY2xpZW50LT51cGxvYWREaXJlY3RvcnkoJy9sb2NhbC9kaXJlY3RvcnknLCAnbXktYnVja2V0Jyk7CgpUaGUgYGB1cGxvYWREaXJlY3RvcnkoKWBgIG1ldGhvZCBvZiBhIGNsaWVudCB3aWxsIGNvbXBhcmUgdGhlIGNvbnRlbnRzIG9mIHRoZSBsb2NhbCBkaXJlY3RvcnkgdG8gdGhlIGNvbnRlbnRzIGluIHRoZQpBbWF6b24gUzMgYnVja2V0IGFuZCBvbmx5IHRyYW5zZmVyIGZpbGVzIHRoYXQgaGF2ZSBjaGFuZ2VkLiBXaGlsZSBpdGVyYXRpbmcgb3ZlciB0aGUga2V5cyBpbiB0aGUgYnVja2V0IGFuZCBjb21wYXJpbmcKYWdhaW5zdCB0aGUgbmFtZXMgb2YgbG9jYWwgZmlsZXMgdXNpbmcgYSBjdXN0b21pemFibGUgZmlsZW5hbWUgdG8ga2V5IGNvbnZlcnRlciwgdGhlIGNoYW5nZWQgZmlsZXMgYXJlIGFkZGVkIHRvIGFuIGluCm1lbW9yeSBxdWV1ZSBhbmQgdXBsb2FkZWQgY29uY3VycmVudGx5LiBXaGVuIHRoZSBzaXplIG9mIGEgZmlsZSBleGNlZWRzIGEgY3VzdG9taXphYmxlIGBgbXVsdGlwYXJ0X3VwbG9hZF9zaXplYGAKcGFyYW1ldGVyLCB0aGUgdXBsb2FkZXIgd2lsbCBhdXRvbWF0aWNhbGx5IHVwbG9hZCB0aGUgZmlsZSB1c2luZyBhIG11bHRpcGFydCB1cGxvYWQuCgpDdXN0b21pemluZyB0aGUgdXBsb2FkIHN5bmMKXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCgpUaGUgbWV0aG9kIHNpZ25hdHVyZSBvZiB0aGUgYHVwbG9hZERpcmVjdG9yeSgpYCBtZXRob2QgYWxsb3dzIGZvciB0aGUgZm9sbG93aW5nIGFyZ3VtZW50czoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICBwdWJsaWMgZnVuY3Rpb24gdXBsb2FkRGlyZWN0b3J5KCRkaXJlY3RvcnksICRidWNrZXQsICRrZXlQcmVmaXggPSBudWxsLCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCkpCgpCeSBzcGVjaWZ5aW5nIGBgJGtleVByZWZpeGBgLCB5b3UgY2FuIGNhdXNlIHRoZSB1cGxvYWRlZCBvYmplY3RzIHRvIGJlIHBsYWNlZCB1bmRlciBhIHZpcnR1YWwgZm9sZGVyIGluIHRoZSBBbWF6b24gUzMKYnVja2V0LiBGb3IgZXhhbXBsZSwgaWYgdGhlIGBgJGJ1Y2tldGBgIG5hbWUgaXMgYGBteS1idWNrZXRgYCBhbmQgdGhlIGBgJGtleVByZWZpeGBgIGlzICd0ZXN0aW5nLycsIHRoZW4geW91ciBmaWxlcwp3aWxsIGJlIHVwbG9hZGVkIHRvIGBgbXktYnVja2V0YGAgdW5kZXIgdGhlIGBgdGVzdGluZy9gYCB2aXJ0dWFsIGZvbGRlcjoKYGBodHRwczovL215LWJ1Y2tldC5zMy5hbWF6b25hd3MuY29tL3Rlc3RpbmcvZmlsZW5hbWUudHh0YGAKClRoZSBgYHVwbG9hZERpcmVjdG9yeSgpYGAgbWV0aG9kIGFsc28gYWNjZXB0cyBhbiBvcHRpb25hbCBhc3NvY2lhdGl2ZSBhcnJheSBvZiBgYCRvcHRpb25zYGAgdGhhdCBjYW4gYmUgdXNlZCB0byBmdXJ0aGVyCmNvbnRyb2wgdGhlIHRyYW5zZmVyLgoKPT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CnBhcmFtcyAgICAgIEFycmF5IG9mIHBhcmFtZXRlcnMgdG8gdXNlIHdpdGggZWFjaCBgYFB1dE9iamVjdGBgIG9yIGBgQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkYGAgb3BlcmF0aW9uIHBlcmZvcm1lZCBkdXJpbmcKICAgICAgICAgICAgdGhlIHRyYW5zZmVyLiBGb3IgZXhhbXBsZSwgeW91IGNhbiBzcGVjaWZ5IGFuIGBgQUNMYGAga2V5IHRvIGNoYW5nZSB0aGUgQUNMIG9mIGVhY2ggdXBsb2FkZWQgb2JqZWN0LgogICAgICAgICAgICBTZWUgYFB1dE9iamVjdCA8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5TMy5TM0NsaWVudC5odG1sI19wdXRPYmplY3Q+YF8KICAgICAgICAgICAgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgb3B0aW9ucy4KYmFzZV9kaXIgICAgQmFzZSBkaXJlY3RvcnkgdG8gcmVtb3ZlIGZyb20gZWFjaCBvYmplY3Qga2V5LiBCeSBkZWZhdWx0LCB0aGUgYGAkZGlyZWN0b3J5YGAgcGFzc2VkIGludG8gdGhlCiAgICAgICAgICAgIGBgdXBsb2FkRGlyZWN0b3J5KClgYCBtZXRob2Qgd2lsbCBiZSByZW1vdmVkIGZyb20gZWFjaCBvYmplY3Qga2V5Lgpmb3JjZSAgICAgICBTZXQgdG8gdHJ1ZSB0byB1cGxvYWQgZXZlcnkgZmlsZSwgZXZlbiBpZiB0aGUgZmlsZSBpcyBhbHJlYWR5IGluIEFtYXpvbiBTMyBhbmQgaGFzIG5vdCBjaGFuZ2VkLgpjb25jdXJyZW5jeSBNYXhpbXVtIG51bWJlciBvZiBwYXJhbGxlbCB1cGxvYWRzIChkZWZhdWx0cyB0byA1KQpkZWJ1ZyAgICAgICBTZXQgdG8gdHJ1ZSB0byBlbmFibGUgZGVidWcgbW9kZSB0byBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBlYWNoIHVwbG9hZC4gU2V0dGluZyB0aGlzIHZhbHVlIHRvIGFuIGBgZm9wZW5gYAogICAgICAgICAgICByZXNvdXJjZSB3aWxsIHdyaXRlIHRoZSBkZWJ1ZyBvdXRwdXQgdG8gYSBzdHJlYW0gcmF0aGVyIHRoYW4gdG8gYGBTVERPVVRgYC4KPT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpJbiB0aGUgZm9sbG93aW5nIGV4YW1wbGUsIGEgbG9jYWwgZGlyZWN0b3J5IGlzIHVwbG9hZGVkIHdpdGggZWFjaCBvYmplY3Qgc3RvcmVkIGluIHRoZSBidWNrZXQgdXNpbmcgYSBgYHB1YmxpYy1yZWFkYGAKQUNMLCAyMCByZXF1ZXN0cyBhcmUgc2VudCBpbiBwYXJhbGxlbCwgYW5kIGRlYnVnIGluZm9ybWF0aW9uIGlzIHByaW50ZWQgdG8gc3RhbmRhcmQgb3V0cHV0IGFzIGVhY2ggcmVxdWVzdCBpcwp0cmFuc2ZlcnJlZC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkZGlyID0gJy9sb2NhbC9kaXJlY3RvcnknOwogICAgJGJ1Y2tldCA9ICdteS1idWNrZXQnOwogICAgJGtleVByZWZpeCA9ICcnOwoKICAgICRjbGllbnQtPnVwbG9hZERpcmVjdG9yeSgkZGlyLCAkYnVja2V0LCAka2V5UHJlZml4LCBhcnJheSgKICAgICAgICAncGFyYW1zJyAgICAgID0+IGFycmF5KCdBQ0wnID0+ICdwdWJsaWMtcmVhZCcpLAogICAgICAgICdjb25jdXJyZW5jeScgPT4gMjAsCiAgICAgICAgJ2RlYnVnJyAgICAgICA9PiB0cnVlCiAgICApKTsKCk1vcmUgY29udHJvbCB3aXRoIHRoZSBVcGxvYWRTeW5jQnVpbGRlcgpeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KClRoZSBgYHVwbG9hZERpcmVjdG9yeSgpYGAgbWV0aG9kIGlzIGFuIGFic3RyYWN0aW9uIGxheWVyIG92ZXIgdGhlIG11Y2ggbW9yZSBwb3dlcmZ1bCBgYEF3c1xTM1xTeW5jXFVwbG9hZFN5bmNCdWlsZGVyYGAuCllvdSBjYW4gdXNlIGFuIGBgVXBsb2FkU3luY0J1aWxkZXJgYCBvYmplY3QgZGlyZWN0bHkgaWYgeW91IG5lZWQgbW9yZSBjb250cm9sIG92ZXIgdGhlIHRyYW5zZmVyLiBVc2luZyBhbgpgYFVwbG9hZFN5bmNCdWlsZGVyYGAgYWxsb3dzIGZvciB0aGUgZm9sbG93aW5nIGFkdmFuY2VkIGZlYXR1cmVzOgoKKiBDYW4gdXBsb2FkIG9ubHkgZmlsZXMgdGhhdCBtYXRjaCBhIGdsb2IgZXhwcmVzc2lvbgoqIENhbiB1cGxvYWQgb25seSBmaWxlcyB0aGF0IG1hdGNoIGEgcmVndWxhciBleHByZXNzaW9uCiogQ2FuIHNwZWNpZnkgYSBjdXN0b20gYGBcSXRlcmF0b3JgYCBvYmplY3QgdG8gdXNlIHRvIHlpZWxkIGZpbGVzIHRvIGFuIGBgVXBsb2FkU3luY2BgIG9iamVjdC4gVGhpcyBjYW4gYmUgdXNlZCwgZm9yCiAgZXhhbXBsZSwgdG8gZmlsdGVyIG91dCB3aGljaCBmaWxlcyBhcmUgdHJhbnNmZXJyZWQgZXZlbiBmdXJ0aGVyIHVzaW5nIHNvbWV0aGluZyBsaWtlIHRoZQogIGBTeW1mb255IDIgRmluZGVyIGNvbXBvbmVudCA8aHR0cDovL3N5bWZvbnkuY29tL2RvYy9tYXN0ZXIvY29tcG9uZW50cy9maW5kZXIuaHRtbD5gXy4KKiBDYW4gc3BlY2lmeSB0aGUgYGBBd3NcUzNcU3luY1xGaWxlbmFtZUNvbnZlcnRlckludGVyZmFjZWBgIG9iamVjdHMgdXNlZCB0byBjb252ZXJ0IEFtYXpvbiBTMyBvYmplY3QgbmFtZXMgdG8gbG9jYWwKICBmaWxlbmFtZXMgYW5kIHZpY2UgdmVyc2EuIFRoaXMgY2FuIGJlIHVzZWZ1bCBpZiB5b3UgcmVxdWlyZSBmaWxlcyB0byBiZSByZW5hbWVkIGluIGEgc3BlY2lmaWMgd2F5LgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBBd3NcUzNcU3luY1xVcGxvYWRTeW5jQnVpbGRlcjsKCiAgICBVcGxvYWRTeW5jQnVpbGRlcjo6Z2V0SW5zdGFuY2UoKQogICAgICAgIC0+c2V0Q2xpZW50KCRjbGllbnQpCiAgICAgICAgLT5zZXRCdWNrZXQoJ215LWJ1Y2tldCcpCiAgICAgICAgLT5zZXRBY2woJ3B1YmxpYy1yZWFkJykKICAgICAgICAtPnVwbG9hZEZyb21HbG9iKCcvcGF0aC90by9maWxlLyoucGhwJykKICAgICAgICAtPmJ1aWxkKCkKICAgICAgICAtPnRyYW5zZmVyKCk7CgpEb3dubG9hZGluZyBhIGJ1Y2tldCB0byBhIGRpcmVjdG9yeQp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKWW91IGNhbiBkb3dubG9hZCB0aGUgb2JqZWN0cyBzdG9yZWQgaW4gYW4gQW1hem9uIFMzIGJ1Y2tldCB1c2luZyBmZWF0dXJlcyBzaW1pbGFyIHRvIHRoZSBgYHVwbG9hZERpcmVjdG9yeSgpYGAgbWV0aG9kCmFuZCB0aGUgYGBVcGxvYWRTeW5jQnVpbGRlcmBgLiBZb3UgY2FuIGRvd25sb2FkIHRoZSBlbnRpcmUgY29udGVudHMgb2YgYSBidWNrZXQgdXNpbmcgdGhlCmBgQXdzXFMzXFMzQ2xpZW50Ojpkb3dubG9hZEJ1Y2tldCgpYGAgbWV0aG9kLgoKVGhlIGZvbGxvd2luZyBleGFtcGxlIHdpbGwgZG93bmxvYWQgYWxsIG9mIHRoZSBvYmplY3RzIGZyb20gYGBteS1idWNrZXRgYCBhbmQgc3RvcmUgdGhlbSBpbiBgYC9sb2NhbC9kaXJlY3RvcnlgYC4KT2JqZWN0IGtleXMgdGhhdCBhcmUgdW5kZXIgdmlydHVhbCBzdWJmb2xkZXJzIGFyZSBjb252ZXJ0ZWQgaW50byBhIG5lc3RlZCBkaXJlY3Rvcnkgc3RydWN0dXJlIHdoZW4gZG93bmxvYWRpbmcgdGhlCm9iamVjdHMuIEFueSBkaXJlY3RvcmllcyBtaXNzaW5nIG9uIHRoZSBsb2NhbCBmaWxlc3lzdGVtIHdpbGwgYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5LgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjbGllbnQtPmRvd25sb2FkQnVja2V0KCcvbG9jYWwvZGlyZWN0b3J5JywgJ215LWJ1Y2tldCcpOwoKQ3VzdG9taXppbmcgdGhlIGRvd25sb2FkIHN5bmMKXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KClRoZSBtZXRob2Qgc2lnbmF0dXJlIG9mIHRoZSBgYGRvd25sb2FkQnVja2V0KClgYCBtZXRob2QgYWxsb3dzIGZvciB0aGUgZm9sbG93aW5nIGFyZ3VtZW50czoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICBwdWJsaWMgZnVuY3Rpb24gZG93bmxvYWRCdWNrZXQoJGRpcmVjdG9yeSwgJGJ1Y2tldCwgJGtleVByZWZpeCA9IG51bGwsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSkKCkJ5IHNwZWNpZnlpbmcgYGAka2V5UHJlZml4YGAsIHlvdSBjYW4gbGltaXQgdGhlIGRvd25sb2FkZWQgb2JqZWN0cyB0byBvbmx5IGtleXMgdGhhdCBiZWdpbiB3aXRoIHRoZSBzcGVjaWZpZWQKYGAka2V5UHJlZml4YGAuIFRoaXMsIGZvciBleGFtcGxlLCBjYW4gYmUgdXNlZnVsIGZvciBkb3dubG9hZGluZyBvYmplY3RzIHVuZGVyIGEgc3BlY2lmaWMgdmlydHVhbCBkaXJlY3RvcnkuCgpUaGUgYGBkb3dubG9hZEJ1Y2tldCgpYGAgbWV0aG9kIGFsc28gYWNjZXB0cyBhbiBvcHRpb25hbCBhc3NvY2lhdGl2ZSBhcnJheSBvZiBgYCRvcHRpb25zYGAgdGhhdCBjYW4gYmUgdXNlZCB0byBmdXJ0aGVyCmNvbnRyb2wgdGhlIHRyYW5zZmVyLgoKPT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpwYXJhbXMgICAgICAgICAgQXJyYXkgb2YgcGFyYW1ldGVycyB0byB1c2Ugd2l0aCBlYWNoIGBgR2V0T2JqZWN0YGAgb3BlcmF0aW9uIHBlcmZvcm1lZCBkdXJpbmcgdGhlIHRyYW5zZmVyLiBTZWUKICAgICAgICAgICAgICAgIGBHZXRPYmplY3QgPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuUzMuUzNDbGllbnQuaHRtbCNfZ2V0T2JqZWN0PmBfCiAgICAgICAgICAgICAgICBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBvcHRpb25zLgpiYXNlX2RpciAgICAgICAgQmFzZSBkaXJlY3RvcnkgdG8gcmVtb3ZlIGZyb20gZWFjaCBvYmplY3Qga2V5IHdoZW4gZG93bmxvYWRpbmcuIEJ5IGRlZmF1bHQsIHRoZSBlbnRpcmUgb2JqZWN0IGtleSBpcwogICAgICAgICAgICAgICAgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHBhdGggdG8gdGhlIGZpbGUgb24gdGhlIGxvY2FsIGZpbGVzeXN0ZW0uCmZvcmNlICAgICAgICAgICBTZXQgdG8gdHJ1ZSB0byBkb3dubG9hZCBldmVyeSBmaWxlLCBldmVuIGlmIHRoZSBmaWxlIGlzIGFscmVhZHkgb24gdGhlIGxvY2FsIGZpbGVzeXN0ZW0gYW5kIGhhcyBub3QKICAgICAgICAgICAgICAgIGNoYW5nZWQuCmNvbmN1cnJlbmN5ICAgICBNYXhpbXVtIG51bWJlciBvZiBwYXJhbGxlbCBkb3dubG9hZHMgKGRlZmF1bHRzIHRvIDEwKQpkZWJ1ZyAgICAgICAgICAgU2V0IHRvIHRydWUgdG8gZW5hYmxlIGRlYnVnIG1vZGUgdG8gcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZWFjaCBkb3dubG9hZC4gU2V0dGluZyB0aGlzIHZhbHVlIHRvIGFuCiAgICAgICAgICAgICAgICBgYGZvcGVuYGAgcmVzb3VyY2Ugd2lsbCB3cml0ZSB0aGUgZGVidWcgb3V0cHV0IHRvIGEgc3RyZWFtIHJhdGhlciB0aGFuIHRvIGBgU1RET1VUYGAuCmFsbG93X3Jlc3VtYWJsZSBTZXQgdG8gdHJ1ZSB0byBhbGxvdyBwcmV2aW91c2x5IGludGVycnVwdGVkIGRvd25sb2FkcyB0byBiZSByZXN1bWVkIHVzaW5nIGEgUmFuZ2UgR0VUCj09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCk1vcmUgY29udHJvbCB3aXRoIHRoZSBEb3dubG9hZFN5bmNCdWlsZGVyCl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCgpUaGUgYGBkb3dubG9hZEJ1Y2tldCgpYGAgbWV0aG9kIGlzIGFuIGFic3RyYWN0aW9uIGxheWVyIG92ZXIgdGhlIG11Y2ggbW9yZSBwb3dlcmZ1bApgYEF3c1xTM1xTeW5jXERvd25sb2FkU3luY0J1aWxkZXJgYC4gWW91IGNhbiB1c2UgYSBgYERvd25sb2FkU3luY0J1aWxkZXJgYCBvYmplY3QgZGlyZWN0bHkgaWYgeW91IG5lZWQgbW9yZSBjb250cm9sCm92ZXIgdGhlIHRyYW5zZmVyLiBVc2luZyB0aGUgYGBEb3dubG9hZFN5bmNCdWlsZGVyYGAgYWxsb3dzIGZvciB0aGUgZm9sbG93aW5nIGFkdmFuY2VkIGZlYXR1cmVzOgoKKiBDYW4gZG93bmxvYWQgb25seSBmaWxlcyB0aGF0IG1hdGNoIGEgcmVndWxhciBleHByZXNzaW9uCiogSnVzdCBsaWtlIHRoZSBgYFVwbG9hZFN5bmNCdWlsZGVyYGAsIHlvdSBjYW4gc3BlY2lmeSBhIGN1c3RvbSBgYFxJdGVyYXRvcmBgIG9iamVjdCB0byB1c2UgdG8geWllbGQgZmlsZXMgdG8gYQogIGBgRG93bmxvYWRTeW5jYGAgb2JqZWN0LgoqIENhbiBzcGVjaWZ5IHRoZSBgYEF3c1xTM1xTeW5jXEZpbGVuYW1lQ29udmVydGVySW50ZXJmYWNlYGAgb2JqZWN0cyB1c2VkIHRvIGNvbnZlcnQgQW1hem9uIFMzIG9iamVjdCBuYW1lcyB0byBsb2NhbAogIGZpbGVuYW1lcyBhbmQgdmljZSB2ZXJzYS4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgQXdzXFMzXFN5bmNcRG93bmxvYWRTeW5jQnVpbGRlcjsKCiAgICBEb3dubG9hZFN5bmNCdWlsZGVyOjpnZXRJbnN0YW5jZSgpCiAgICAgICAgLT5zZXRDbGllbnQoJGNsaWVudCkKICAgICAgICAtPnNldERpcmVjdG9yeSgnL3BhdGgvdG8vZGlyZWN0b3J5JykKICAgICAgICAtPnNldEJ1Y2tldCgnbXktYnVja2V0JykKICAgICAgICAtPnNldEtleVByZWZpeCgnL3VuZGVyLXByZWZpeCcpCiAgICAgICAgLT5hbGxvd1Jlc3VtYWJsZURvd25sb2FkcygpCiAgICAgICAgLT5idWlsZCgpCiAgICAgICAgLT50cmFuc2ZlcigpOwoKQ2xlYW5pbmcgdXAKLS0tLS0tLS0tLS0KCk5vdyB0aGF0IHdlJ3ZlIHRha2VuIGEgdG91ciBvZiBob3cgeW91IGNhbiB1c2UgdGhlIEFtYXpvbiBTMyBjbGllbnQsIGxldCdzIGNsZWFuIHVwIGFueSByZXNvdXJjZXMgd2UgbWF5IGhhdmUgY3JlYXRlZC4KCi4uIGV4YW1wbGU6OiBTMy9JbnRlZ3JhdGlvbi9TM18yMDA2MDMwMV9UZXN0LnBocCB0ZXN0Q2xlYW5VcEJ1Y2tldAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-ses.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IFNlcwoKLi4gaW5jbHVkZTo6IF9zbmlwcGV0cy9pbmNvbXBsZXRlLnR4dAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-simpledb.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IFNpbXBsZURiCgpDcmVhdGluZyBkb21haW5zCi0tLS0tLS0tLS0tLS0tLS0KClRoZSBmaXJzdCBzdGVwIGluIHN0b3JpbmcgZGF0YSB3aXRoaW4gQW1hem9uIFNpbXBsZURCIGlzIHRvCmBjcmVhdGUgb25lIG9yIG1vcmUgZG9tYWlucyA8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uU2ltcGxlREIvbGF0ZXN0L0dldHRpbmdTdGFydGVkR3VpZGUvQ3JlYXRpbmdBRG9tYWluLmh0bWw+YF8uCgpEb21haW5zIGFyZSBzaW1pbGFyIHRvIGRhdGFiYXNlIHRhYmxlcywgZXhjZXB0IHRoYXQgeW91IGNhbm5vdCBwZXJmb3JtIGZ1bmN0aW9ucyBhY3Jvc3MgbXVsdGlwbGUgZG9tYWlucywgc3VjaCBhcwpxdWVyeWluZyBtdWx0aXBsZSBkb21haW5zIG9yIHVzaW5nIGZvcmVpZ24ga2V5cy4gQXMgYSBjb25zZXF1ZW5jZSwgeW91IHNob3VsZCBwbGFuIGFuIEFtYXpvbiBTaW1wbGVEQiBkYXRhCmFyY2hpdGVjdHVyZSB0aGF0IHdpbGwgbWVldCB0aGUgbmVlZHMgb2YgeW91ciBwcm9qZWN0LgoKTGV0J3MgdXNlIHRoZSBDcmVhdGVEb21haW4gb3BlcmF0aW9uIG9mIHRoZSB8c2VydmljZUZ1bGxOYW1lfCBjbGllbnQgdG8gY3JlYXRlIGEgZG9tYWluLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjbGllbnQtPmNyZWF0ZURvbWFpbihhcnJheSgnRG9tYWluTmFtZScgPT4gJ215ZG9tYWluJykpOwoKTGlzdCBhbGwgZG9tYWlucwotLS0tLS0tLS0tLS0tLS0tCgpOb3cgdGhhdCB0aGUgZG9tYWluIGlzIGNyZWF0ZWQsIHdlIGNhbiBsaXN0IHRoZSBkb21haW5zIGluIG91ciBhY2NvdW50IHRvIHZlcmlmeSB0aGF0IGl0IGV4aXN0cy4gVGhpcyBpcyBkb25lIHVzaW5nIHRoZQpMaXN0RG9tYWlucyBvcGVyYXRpb24gYW5kIHRoZSBMaXN0RG9tYWlucyBpdGVyYXRvci4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkZG9tYWlucyA9ICRjbGllbnQtPmdldEl0ZXJhdG9yKCdMaXN0RG9tYWlucycpLT50b0FycmF5KCk7CiAgICB2YXJfZXhwb3J0KCRkb21haW5zKTsKICAgIC8vIExpc3RzIGFuIGFycmF5IG9mIGRvbWFpbiBuYW1lcywgaW5jbHVkaW5nICJteWRvbWFpbiIKClJldHJpZXZpbmcgYSBkb21haW4KLS0tLS0tLS0tLS0tLS0tLS0tLQoKWW91IGNhbiBnZXQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBhIGRvbWFpbiB1c2luZyB0aGUgRG9tYWluTWV0YWRhdGEgb3BlcmF0aW9uLiBUaGlzIG9wZXJhdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0CmEgZG9tYWluLCBpbmNsdWRpbmcgd2hlbiB0aGUgZG9tYWluIHdhcyBjcmVhdGVkLCB0aGUgbnVtYmVyIG9mIGl0ZW1zIGFuZCBhdHRyaWJ1dGVzLCBhbmQgdGhlIHNpemUgb2YgYXR0cmlidXRlIG5hbWVzCmFuZCB2YWx1ZXMuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlc3VsdCA9ICRjbGllbnQtPmRvbWFpbk1ldGFkYXRhKGFycmF5KCdEb21haW5OYW1lJyA9PiAnbXlkb21haW4nKSk7CiAgICBlY2hvICRyZXN1bHRbJ0l0ZW1Db3VudCddIC4gIlxuIjsKICAgIGVjaG8gJHJlc3VsdFsnSXRlbU5hbWVzU2l6ZUJ5dGVzJ10gLiAiXG4iOwogICAgZWNobyAkcmVzdWx0WydBdHRyaWJ1dGVOYW1lQ291bnQnXSAuICJcbiI7CiAgICBlY2hvICRyZXN1bHRbJ0F0dHJpYnV0ZU5hbWVzU2l6ZUJ5dGVzJ10gLiAiXG4iOwogICAgZWNobyAkcmVzdWx0WydBdHRyaWJ1dGVWYWx1ZUNvdW50J10gLiAiXG4iOwogICAgZWNobyAkcmVzdWx0WydBdHRyaWJ1dGVWYWx1ZXNTaXplQnl0ZXMnXSAuICJcbiI7CiAgICBlY2hvICRyZXN1bHRbJ1RpbWVzdGFtcCddIC4gIlxuIjsKCkFkZGluZyBpdGVtcwotLS0tLS0tLS0tLS0KCkFmdGVyIGNyZWF0aW5nIGEgZG9tYWluLCB5b3UgYXJlIHJlYWR5IHRvIHN0YXJ0IHB1dHRpbmcgZGF0YSBpbnRvIGl0LiBEb21haW5zIGNvbnNpc3Qgb2YgaXRlbXMsIHdoaWNoIGFyZSBkZXNjcmliZWQgYnkKYXR0cmlidXRlIG5hbWUtdmFsdWUgcGFpcnMuIEl0ZW1zIGFyZSBhZGRlZCB0byBhIGRvbWFpbiB1c2luZyB0aGUgUHV0QXR0cmlidXRlcyBvcGVyYXRpb24uCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGNsaWVudC0+cHV0QXR0cmlidXRlcyhhcnJheSgKICAgICAgICAnRG9tYWluTmFtZScgPT4gJ215ZG9tYWluJywKICAgICAgICAnSXRlbU5hbWUnICAgPT4gJ3Rlc3QnLAogICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoJ05hbWUnID0+ICdhJywgJ1ZhbHVlJyA9PiAxLCAnUmVwbGFjZScgPT4gdHJ1ZSksCiAgICAgICAgICAgIGFycmF5KCdOYW1lJyA9PiAnYicsICdWYWx1ZScgPT4gMiksCiAgICAgICAgKQogICAgKSk7CgouLiBub3RlOjoKCiAgICBXaGVuIHlvdSBwdXQgYXR0cmlidXRlcywgbm90aWNlIHRoYXQgdGhlIFJlcGxhY2UgcGFyYW1ldGVyIGlzIG9wdGlvbmFsLCBhbmQgc2V0IHRvIGZhbHNlIGJ5IGRlZmF1bHQuIElmIHlvdSBkbyBub3QKICAgIGV4cGxpY2l0bHkgc2V0IFJlcGxhY2UgdG8gdHJ1ZSwgYSBuZXcgYXR0cmlidXRlIG5hbWUtdmFsdWUgcGFpciBpcyBjcmVhdGVkIGVhY2ggdGltZTsgZXZlbiBpZiB0aGUgTmFtZSB2YWx1ZQogICAgYWxyZWFkeSBleGlzdHMgaW4geW91ciBBbWF6b24gU2ltcGxlREIgZG9tYWluLgoKUmV0cmlldmluZyBpdGVtcwotLS0tLS0tLS0tLS0tLS0tCgpHZXRBdHRyaWJ1dGVzCn5+fn5+fn5+fn5+fn4KCldlIGNhbiBjaGVjayB0byBzZWUgaWYgdGhlIGl0ZW0gd2FzIGFkZGVkIGNvcnJlY3RseSBieSByZXRyaWV2aW5nIHRoZSBzcGVjaWZpYyBpdGVtIGJ5IG5hbWUgdXNpbmcgdGhlIEdldEF0dHJpYnV0ZQpvcGVyYXRpb24uCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlc3VsdCA9ICRjbGllbnQtPmdldEF0dHJpYnV0ZXMoYXJyYXkoCiAgICAgICAgJ0RvbWFpbk5hbWUnID0+ICdteWRvbWFpbicsCiAgICAgICAgJ0l0ZW1OYW1lJyAgID0+ICd0ZXN0JywKICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdhJywgJ2InCiAgICAgICAgKSwKICAgICAgICAnQ29uc2lzdGVudFJlYWQnID0+IHRydWUKICAgICkpOwoKTm90aWNlIHRoYXQgd2Ugc2V0IHRoZSBgQ29uc2lzdGVudFJlYWRgIG9wdGlvbiB0byBgdHJ1ZWAuIEFtYXpvbiBTaW1wbGVEQiBrZWVwcyBtdWx0aXBsZSBjb3BpZXMgb2YgZWFjaCBkb21haW4uIEEKc3VjY2Vzc2Z1bCB3cml0ZSAodXNpbmcgUHV0QXR0cmlidXRlcywgQmF0Y2hQdXRBdHRyaWJ1dGVzLCBEZWxldGVBdHRyaWJ1dGVzLCBCYXRjaERlbGV0ZUF0dHJpYnV0ZXMsIENyZWF0ZURvbWFpbiwgb3IKRGVsZXRlRG9tYWluKSBndWFyYW50ZWVzIHRoYXQgYWxsIGNvcGllcyBvZiB0aGUgZG9tYWluIHdpbGwgZHVyYWJseSBwZXJzaXN0LiBBbWF6b24gU2ltcGxlREIgc3VwcG9ydHMgdHdvIHJlYWQKY29uc2lzdGVuY3kgb3B0aW9uczogZXZlbnR1YWxseSBjb25zaXN0ZW50IHJlYWQgYW5kIGNvbnNpc3RlbnQgcmVhZC4gQSBjb25zaXN0ZW50IHJlYWQgKHVzaW5nIFNlbGVjdCBvciBHZXRBdHRyaWJ1dGVzCndpdGggQ29uc2lzdGVudFJlYWQ9dHJ1ZSkgcmV0dXJucyBhIHJlc3VsdCB0aGF0IHJlZmxlY3RzIGFsbCB3cml0ZXMgdGhhdCByZWNlaXZlZCBhIHN1Y2Nlc3NmdWwgcmVzcG9uc2UgcHJpb3IgdG8gdGhlCnJlYWQuCgpZb3UgY2FuIGZpbmQgb3V0IG1vcmUgYWJvdXQgY29uc2lzdGVuY3kgYW5kIHxzZXJ2aWNlRnVsbE5hbWV8IGluIHRoZSBzZXJ2aWNlJ3MKYGRldmVsb3BlciBndWlkZSBvbiBjb25zaXN0ZW5jeSA8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uU2ltcGxlREIvbGF0ZXN0L0RldmVsb3Blckd1aWRlL0NvbnNpc3RlbmN5U3VtbWFyeS5odG1sPmBfLgoKU2VsZWN0Cn5+fn5+fgoKWW91IGNhbiByZXRyaWV2ZSBhdHRyaWJ1dGVzIGZvciBpdGVtcyBieSBuYW1lLCBidXQgfHNlcnZpY2VGdWxsTmFtZXwgYWxzbyBzdXBwb3J0cyB0aGUgU2VsZWN0IG9wZXJhdGlvbi4gVGhlIFNlbGVjdApvcGVyYXRpb24gcmV0dXJucyBhIHNldCBvZiBBdHRyaWJ1dGVzIGZvciBJdGVtTmFtZXMgdGhhdCBtYXRjaCB0aGUgc2VsZWN0IGV4cHJlc3Npb24uIFNlbGVjdCBpcyBzaW1pbGFyIHRvIHRoZSBzdGFuZGFyZApTUUwgU0VMRUNUIHN0YXRlbWVudC4KCkxldCdzIHdyaXRlIGEgc2VsZWN0IHF1ZXJ5IHRoYXQgd2lsbCByZXR1cm4gYWxsIGl0ZW1zIHdpdGhlIHRoZSBgYWAgYXR0cmlidXRlIHNldCB0byBgMWAuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlc3VsdCA9ICRjbGllbnQtPnNlbGVjdChhcnJheSgKICAgICAgICAnU2VsZWN0RXhwcmVzc2lvbicgPT4gInNlbGVjdCAqIGZyb20gbXlkb21haW4gd2hlcmUgYSA9ICcxJyIKICAgICkpOwogICAgZm9yZWFjaCAoJHJlc3VsdFsnSXRlbXMnXSBhcyAkaXRlbSkgewogICAgICAgIGVjaG8gJGl0ZW1bJ05hbWUnXSAuICJcbiI7CiAgICAgICAgdmFyX2V4cG9ydCgkaXRlbVsnQXR0cmlidXRlcyddKTsKICAgIH0KCkJlY2F1c2Ugc29tZSByZXNwb25zZXMgd2lsbCBiZSB0cnVuY2F0ZWQgYW5kIHJlcXVpcmUgc3Vic2VxdWVudCByZXF1ZXN0cywgaXQgaXMgcmVjb21tZW5kZWQgdG8gYWx3YXlzIHVzZSB0aGUKU2VsZWN0IGl0ZXJhdG9yIHRvIGVhc2lseSByZXRyaWV2ZSBhbiBlbnRpcmUgcmVzdWx0IHNldC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkaXRlcmF0b3IgPSAkY2xpZW50LT5nZXRJdGVyYXRvcignU2VsZWN0JywgYXJyYXkoCiAgICAgICAgJ1NlbGVjdEV4cHJlc3Npb24nID0+ICJzZWxlY3QgKiBmcm9tIG15ZG9tYWluIHdoZXJlIGEgPSAnMSciCiAgICApKTsKICAgIGZvcmVhY2ggKCRpdGVyYXRvciBhcyAkaXRlbSkgewogICAgICAgIGVjaG8gJGl0ZW1bJ05hbWUnXSAuICJcbiI7CiAgICAgICAgdmFyX2V4cG9ydCgkaXRlbVsnQXR0cmlidXRlcyddKTsKICAgIH0KCllvdSBjYW4gZmluZCBtdWNoIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIFNlbGVjdCBvcGVyYXRpb24gaW4gdGhlIHNlcnZpY2UncwpgZGV2ZWxvcGVyIGd1aWRlIG9uIHNlbGVjdCA8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uU2ltcGxlREIvbGF0ZXN0L0RldmVsb3Blckd1aWRlL1VzaW5nU2VsZWN0Lmh0bWw+YF8uCgpEZWxldGluZyBpdGVtcwotLS0tLS0tLS0tLS0tLQoKWW91IGNhbiBkZWxldGUgc3BlY2lmaWMgYXR0cmlidXRlcyBvZiBhbiBpdGVtIG9yIGFuIGVudGlyZSBpdGVtIHVzaW5nIHRoZSBEZWxldGVBdHRyaWJ1dGVzIG9wZXJhdGlvbi4gSWYgYWxsIGF0dHJpYnV0ZXMKb2YgYW4gaXRlbSBhcmUgZGVsZXRlZCwgdGhlIGl0ZW0gaXMgZGVsZXRlZC4KCkxldCdzIGdvIGFoZWFkIGFuZCBkZWxldGUgdGhlIGl0ZW0gd2UgY3JlYXRlZCBpbiBgbXlkb21haW5gLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjbGllbnQtPmRlbGV0ZUF0dHJpYnV0ZXMoYXJyYXkoCiAgICAgICAgJ0RvbWFpbk5hbWUnID0+ICdteWRvbWFpbicsCiAgICAgICAgJ0l0ZW1OYW1lJyAgID0+ICd0ZXN0JwogICAgKSk7CgpCZWNhdXNlIHdlIGRpZCBub3Qgc3BlY2lmeSBhbiBgQXR0cmlidXRlc2AgcGFyYW1ldGVyLCB0aGUgZW50aXJlIGl0ZW0gaXMgZGVsZXRlZC4KCkRlbGV0aW5nIGRvbWFpbnMKLS0tLS0tLS0tLS0tLS0tLQoKTm93IHRoYXQgd2UndmUgZXhwbG9yZWQgc29tZSBvZiB0aGUgZmVhdHVyZXMgb2YgfHNlcnZpY2VGdWxsTmFtZXwsIHdlIHNob3VsZCBkZWxldGUgb3VyIHRlc3RpbmcgZGF0YS4gIFRoZQpEZWxldGVEb21haW4gb3BlcmF0aW9uIGRlbGV0ZXMgYSBkb21haW4uIEFueSBpdGVtcyAoYW5kIHRoZWlyIGF0dHJpYnV0ZXMpIGluIHRoZSBkb21haW4gYXJlIGRlbGV0ZWQgYXMgd2VsbC4gVGhlCkRlbGV0ZURvbWFpbiBvcGVyYXRpb24gbWlnaHQgdGFrZSAxMCBvciBtb3JlIHNlY29uZHMgdG8gY29tcGxldGUuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGNsaWVudC0+ZGVsZXRlRG9tYWluKGFycmF5KCdEb21haW5OYW1lJyA9PiAnbXlkb21haW4nKSk7Cgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-sns.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IFNucwoKLi4gaW5jbHVkZTo6IF9zbmlwcGV0cy9pbmNvbXBsZXRlLnR4dAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-sqs.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IFNxcwoKQ3JlYXRpbmcgYSBxdWV1ZQotLS0tLS0tLS0tLS0tLS0tCgpOb3csIGxldCdzIGNyZWF0ZSBhIHF1ZXVlLiBZb3UgY2FuIGNyZWF0ZSBhIHN0YW5kYXJkIHF1ZXVlIGJ5IGp1c3QgcHJvdmlkaW5nIGEgbmFtZS4gTWFrZSBzdXJlIHRvIGdldCB0aGUgcXVldWUncyBVUkwKZnJvbSB0aGUgcmVzdWx0LCBzaW5jZSB0aGUgcXVldWUgVVJMIGlzIHRoZSB1bmlxdWUgaWRlbnRpZmllciB1c2VkIHRvIHNwZWNpZnkgdGhlIHF1ZXVlIGluIG9yZGVyIHRvIHNlbmQgYW5kIHJlY2VpdmUKbWVzc2FnZXMuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlc3VsdCA9ICRjbGllbnQtPmNyZWF0ZVF1ZXVlKGFycmF5KCdRdWV1ZU5hbWUnID0+ICdteS1xdWV1ZScpKTsKICAgICRxdWV1ZVVybCA9ICRyZXN1bHQtPmdldCgnUXVldWVVcmwnKTsKCllvdSBjYW4gYWxzbyBzZXQgYXR0cmlidXRlcyBvbiB5b3VyIHF1ZXVlIHdoZW4geW91IGNyZWF0ZSBpdC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgQXdzXENvbW1vblxFbnVtXFNpemU7CiAgICB1c2UgQXdzXFNxc1xFbnVtXFF1ZXVlQXR0cmlidXRlOwoKICAgICRyZXN1bHQgPSAkY2xpZW50LT5jcmVhdGVRdWV1ZShhcnJheSgKICAgICAgICAnUXVldWVOYW1lJyAgPT4gJ215LXF1ZXVlJywKICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgIFF1ZXVlQXR0cmlidXRlOjpERUxBWV9TRUNPTkRTICAgICAgICA9PiA1LAogICAgICAgICAgICBRdWV1ZUF0dHJpYnV0ZTo6TUFYSU1VTV9NRVNTQUdFX1NJWkUgPT4gNCAqIFNpemU6OktCLAogICAgICAgICksCiAgICApKTsKICAgICRxdWV1ZVVybCA9ICRyZXN1bHQtPmdldCgnUXVldWVVcmwnKTsKCk9yIHlvdSBjYW4gYWxzbyBzZXQgcXVldWUgYXR0cmlidXRlcyBsYXRlci4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgQXdzXENvbW1vblxFbnVtXFRpbWU7CiAgICB1c2UgQXdzXFNxc1xFbnVtXFF1ZXVlQXR0cmlidXRlOwoKICAgICRyZXN1bHQgPSAkY2xpZW50LT5zZXRRdWV1ZUF0dHJpYnV0ZXMoYXJyYXkoCiAgICAgICAgJ1F1ZXVlVXJsJyAgID0+ICRxdWV1ZVVybCwKICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgIFF1ZXVlQXR0cmlidXRlOjpWSVNJQklMSVRZX1RJTUVPVVQgPT4gMiAqIFRpbWU6Ok1JTlVURVMsCiAgICAgICAgKSwKICAgICkpOwoKU2VuZGluZyBtZXNzYWdlcwotLS0tLS0tLS0tLS0tLS0tCgpTZW5kaW5nIGEgbWVzc2FnZSB0byBhIHF1ZXVlIGlzIHN0cmFpZ2h0IGZvcndhcmQgd2l0aCB0aGUgYGBTZW5kTWVzc2FnZWBgIGNvbW1hbmQuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGNsaWVudC0+c2VuZE1lc3NhZ2UoYXJyYXkoCiAgICAgICAgJ1F1ZXVlVXJsJyAgICA9PiAkcXVldWVVcmwsCiAgICAgICAgJ01lc3NhZ2VCb2R5JyA9PiAnQW4gYXdlc29tZSBtZXNzYWdlIScsCiAgICApKTsKCllvdSBjYW4gb3ZlcndyaXRlIHRoZSBxdWV1ZSdzIGRlZmF1bHQgZGVsYXkgZm9yIGEgbWVzc2FnZSB3aGVuIHlvdSBzZW5kIGl0LgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjbGllbnQtPnNlbmRNZXNzYWdlKGFycmF5KAogICAgICAgICdRdWV1ZVVybCcgICAgID0+ICRxdWV1ZVVybCwKICAgICAgICAnTWVzc2FnZUJvZHknICA9PiAnQW4gYXdlc29tZSBtZXNzYWdlIScsCiAgICAgICAgJ0RlbGF5U2Vjb25kcycgPT4gMzAsCiAgICApKTsKClJlY2VpdmluZyBtZXNzYWdlcwotLS0tLS0tLS0tLS0tLS0tLS0KClJlY2VpdmluZyBtZXNzYWdlcyBpcyBkb25lIHdpdGggdGhlIGBgUmVjZWl2ZU1lc3NhZ2VgYCBjb21tYW5kLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXN1bHQgPSAkY2xpZW50LT5yZWNlaXZlTWVzc2FnZShhcnJheSgKICAgICAgICAnUXVldWVVcmwnID0+ICRxdWV1ZVVybCwKICAgICkpOwoKICAgIGZvcmVhY2ggKCRyZXN1bHQtPmdldFBhdGgoJ01lc3NhZ2VzLyovQm9keScpIGFzICRtZXNzYWdlQm9keSkgewogICAgICAgIC8vIERvIHNvbWV0aGluZyB3aXRoIHRoZSBtZXNzYWdlCiAgICAgICAgZWNobyAkbWVzc2FnZUJvZHk7CiAgICB9CgpCeSBkZWZhdWx0LCBvbmx5IG9uZSBtZXNzYWdlIHdpbGwgYmUgcmV0dXJuZWQuIElmIHlvdSB3YW50IHRvIGdldCBtb3JlIG1lc3NhZ2VzLCBtYWtlIHN1cmUgdG8gdXNlIHRoZQpgYE1heE51bWJlck9mTWVzc2FnZXNgYCBwYXJhbWV0ZXIgYW5kIHNwZWNpZnkgYSBudW1iZXIgb2YgbWVzc2FnZXMgKDEgdG8gMTApLiBSZW1lbWJlciB0aGF0IHlvdSBhcmUgbm90IGd1YXJhbnRlZWQgdG8KcmVjZWl2ZSB0aGF0IG1hbnkgbWVzc2FnZXMsIGJ1dCB5b3UgY2FuIHJlY2VpdmUgdXAgdG8gdGhhdCBhbW91bnQgZGVwZW5kaW5nIG9uIGhvdyBtYW55IGFyZSBhY3R1YWxseSBpbiB0aGUgcXVldWUgYXQKdGhlIHRpbWUgb2YgeW91ciByZXF1ZXN0LgoKU1FTIGFsc28gc3VwcG9ydHMgYCJsb25nIHBvbGxpbmciCjxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NTaW1wbGVRdWV1ZVNlcnZpY2UvbGF0ZXN0L1NRU0RldmVsb3Blckd1aWRlL3Nxcy1sb25nLXBvbGxpbmcuaHRtbD5gXywgbWVhbmluZyB0aGF0IHlvdQpjYW4gaW5zdHJ1Y3QgU1FTIHRvIGhvbGQgdGhlIGNvbm5lY3Rpb24gb3BlbiB3aXRoIHRoZSBTREsgZm9yIHVwIHRvIDIwIHNlY29uZHMgaW4gb3JkZXIgdG8gd2FpdCBmb3IgYSBtZXNzYWdlIHRvIGFycml2ZQppbiB0aGUgcXVldWUuIFRvIGNvbmZpZ3VyZSB0aGlzIGJlaGF2aW9yLCB5b3UgbXVzdCB1c2UgdGhlIGBgV2FpdFRpbWVTZWNvbmRzYGAgcGFyYW1ldGVyLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXN1bHQgPSAkY2xpZW50LT5yZWNlaXZlTWVzc2FnZShhcnJheSgKICAgICAgICAnUXVldWVVcmwnICAgICAgICA9PiAkcXVldWVVcmwsCiAgICAgICAgJ1dhaXRUaW1lU2Vjb25kcycgPT4gMTAsCiAgICApKTsKCi4uIG5vdGU6OiBZb3UgY2FuIGFsc28gY29uZmlndXJlIGxvbmctcG9sbGluZyBhdCB0aGUgcXVldWUgbGV2ZWwgYnkgc2V0dGluZyB0aGUgYGBSZWNlaXZlTWVzc2FnZVdhaXRUaW1lU2Vjb25kc2BgIHF1ZXVlCiAgICAgICAgICBhdHRyaWJ1dGUuCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-storagegateway.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IFN0b3JhZ2VHYXRld2F5CgouLiBpbmNsdWRlOjogX3NuaXBwZXRzL2luY29tcGxldGUudHh0Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-sts.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IFN0cwoKLi4gbm90ZTo6CgogICAgRm9yIGluZm9ybWF0aW9uIGFib3V0IHdoeSB5b3UgbWlnaHQgbmVlZCB0byB1c2UgdGVtcG9yYXJ5IGNyZWRlbnRpYWxzIGluIHlvdXIgYXBwbGljYXRpb24gb3IgcHJvamVjdCwgc2VlCiAgICBgU2NlbmFyaW9zIGZvciBHcmFudGluZyBUZW1wb3JhcnkgQWNjZXNzIDxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9TVFMvbGF0ZXN0L1VzaW5nU1RTL1NUU1VzZUNhc2VzLmh0bWw+YF8gaW4gdGhlCiAgICBBV1MgU1RTIGRvY3VtZW50YXRpb24uCgpHZXR0aW5nIFRlbXBvcmFyeSBDcmVkZW50aWFscwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKQVdTIFNUUyBoYXMgZml2ZSBvcGVyYXRpb25zIHRoYXQgcmV0dXJuIHRlbXBvcmFyeSBjcmVkZW50aWFsczogYGBBc3N1bWVSb2xlYGAsIGBgQXNzdW1lUm9sZVdpdGhXZWJJZGVudGl0eWBgLApgYEFzc3VtZVJvbGVXaXRoU0FNTGBgLCBgYEdldEZlZGVyYXRpb25Ub2tlbmBgLCBhbmQgYGBHZXRTZXNzaW9uVG9rZW5gYC4gVXNpbmcgdGhlIGBgR2V0U2Vzc2lvblRva2VuYGAgb3BlcmF0aW9uIGlzCnRyaXZpYWwsIHNvIGxldCdzIHVzZSB0aGF0IG9uZSBhcyBhbiBleGFtcGxlLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXN1bHQgPSAkY2xpZW50LT5nZXRTZXNzaW9uVG9rZW4oKTsKClRoZSByZXN1bHQgZm9yIGBgR2V0U2Vzc2lvblRva2VuYGAgYW5kIHRoZSBvdGhlciBBV1MgU1RTIG9wZXJhdGlvbnMgYWx3YXlzIGNvbnRhaW5zIGEgYGAnQ3JlZGVudGlhbHMnYGAgdmFsdWUuIElmIHlvdQpwcmludCB0aGUgcmVzdWx0IChlLmcuLCBgYHByaW50X3IoJHJlc3VsdClgYCksIGl0IGxvb2tzIGxpa2UgdGhlIGZvbGxvd2luZzoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICBBcnJheQogICAgKAogICAgICAgIC4uLgogICAgICAgIFtDcmVkZW50aWFsc10gPT4gQXJyYXkKICAgICAgICAoCiAgICAgICAgICAgIFtTZXNzaW9uVG9rZW5dID0+ICc8YmFzZTY0IGVuY29kZWQgc2Vzc2lvbiB0b2tlbiB2YWx1ZT4nCiAgICAgICAgICAgIFtTZWNyZXRBY2Nlc3NLZXldID0+ICc8dGVtcG9yYXJ5IHNlY3JldCBhY2Nlc3Mga2V5IHZhbHVlPicKICAgICAgICAgICAgW0V4cGlyYXRpb25dID0+IDIwMTMtMTEtMDFUMDE6NTc6NTJaCiAgICAgICAgICAgIFtBY2Nlc3NLZXlJZF0gPT4gJzx0ZW1wb3JhcnkgYWNjZXNzIGtleSB2YWx1ZT4nCiAgICAgICAgKQogICAgICAgIC4uLgogICAgKQoKVXNpbmcgVGVtcG9yYXJ5IENyZWRlbnRpYWxzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKWW91IGNhbiB1c2UgdGVtcG9yYXJ5IGNyZWRlbnRpYWxzIHdpdGggYW5vdGhlciBBV1MgY2xpZW50IGJ5IGluc3RhbnRpYXRpbmcgdGhlIGNsaWVudCBhbmQgcGFzc2luZyBpbiB0aGUgdmFsdWVzIHJlY2VpdmVkCmZyb20gQVdTIFNUUyBkaXJlY3RseS4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgQXdzXFMzXFMzQ2xpZW50OwoKICAgICRyZXN1bHQgPSAkY2xpZW50LT5nZXRTZXNzaW9uVG9rZW4oKTsKCiAgICAkczMgPSBTM0NsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAna2V5JyAgICA9PiAkcmVzdWx0WydDcmVkZW50aWFscyddWydBY2Nlc3NLZXlJZCddLAogICAgICAgICdzZWNyZXQnID0+ICRyZXN1bHRbJ0NyZWRlbnRpYWxzJ11bJ1NlY3JldEFjY2Vzc0tleSddLAogICAgICAgICd0b2tlbicgID0+ICRyZXN1bHRbJ0NyZWRlbnRpYWxzJ11bJ1Nlc3Npb25Ub2tlbiddLAogICAgKSk7CgpZb3UgY2FuIGFsc28gY29uc3RydWN0IGEgYGBDcmVkZW50aWFsc2BgIG9iamVjdCBhbmQgdXNlIHRoYXQgd2hlbiBpbnN0YW50aWF0aW5nIHRoZSBjbGllbnQuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM7CiAgICB1c2UgQXdzXFMzXFMzQ2xpZW50OwoKICAgICRyZXN1bHQgPSAkY2xpZW50LT5nZXRTZXNzaW9uVG9rZW4oKTsKCiAgICAkY3JlZGVudGlhbHMgPSBuZXcgQ3JlZGVudGlhbHMoCiAgICAgICAgJHJlc3VsdFsnQ3JlZGVudGlhbHMnXVsnQWNjZXNzS2V5SWQnXSwKICAgICAgICAkcmVzdWx0WydDcmVkZW50aWFscyddWydTZWNyZXRBY2Nlc3NLZXknXSwKICAgICAgICAkcmVzdWx0WydDcmVkZW50aWFscyddWydTZXNzaW9uVG9rZW4nXQogICAgKTsKCiAgICAkczMgPSBTM0NsaWVudDo6ZmFjdG9yeShhcnJheSgnY3JlZGVudGlhbHMnID0+ICRjcmVkZW50aWFscykpOwoKSG93ZXZlciwgdGhlICpiZXN0KiB3YXkgdG8gcHJvdmlkZSB0ZW1wb3JhcnkgY3JlZGVudGlhbHMgaXMgdG8gdXNlIHRoZSBgYGNyZWF0ZUNyZWRlbnRpYWxzKClgYCBoZWxwZXIgbWV0aG9kIGluY2x1ZGVkCndpdGggYGBTdHNDbGllbnRgYC4gVGhpcyBtZXRob2QgZXh0cmFjdHMgdGhlIGRhdGEgZnJvbSBhbiBBV1MgU1RTIHJlc3VsdCBhbmQgY3JlYXRlcyB0aGUgYGBDcmVkZW50aWFsc2BgIG9iamVjdCBmb3IgeW91LgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXN1bHQgPSAkc3RzLT5nZXRTZXNzaW9uVG9rZW4oKTsKICAgICRjcmVkZW50aWFscyA9ICRzdHMtPmNyZWF0ZUNyZWRlbnRpYWxzKCRyZXN1bHQpOwoKICAgICRzMyA9IFMzQ2xpZW50OjpmYWN0b3J5KGFycmF5KCdjcmVkZW50aWFscycgPT4gJGNyZWRlbnRpYWxzKSk7CgpZb3UgY2FuIGFsc28gdXNlIHRoZSBzYW1lIHRlY2huaXF1ZSB3aGVuIHNldHRpbmcgY3JlZGVudGlhbHMgb24gYW4gZXhpc3RpbmcgY2xpZW50IG9iamVjdC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY3JlZGVudGlhbHMgPSAkc3RzLT5jcmVhdGVDcmVkZW50aWFscygkc3RzLT5nZXRTZXNzaW9uVG9rZW4oKSk7CiAgICAkczMtPnNldENyZWRlbnRpYWxzKCRjcmVkZW50aWFscyk7CgouLiBpbmNsdWRlOjogX3NuaXBwZXRzL2luY29tcGxldGUudHh0Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-support.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IFN1cHBvcnQKCi4uIGluY2x1ZGU6OiBfc25pcHBldHMvaW5jb21wbGV0ZS50eHQK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/service-swf.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gc2VydmljZTo6IFN3ZgoKLi4gaW5jbHVkZTo6IF9zbmlwcGV0cy9pbmNvbXBsZXRlLnR4dAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/side-by-side.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09ClNpZGUtYnktc2lkZSBHdWlkZQo9PT09PT09PT09PT09PT09PT0KClRoaXMgZ3VpZGUgaGVscHMgeW91IGluc3RhbGwsIGNvbmZpZ3VyZSwgYW5kIHJ1biBWZXJzaW9uIDEgYW5kIFZlcnNpb24gMiBvZiB0aGUgQVdTIFNESyBmb3IgUEhQIHNpZGUtYnktc2lkZSB3aXRoaW4gdGhlCnNhbWUgYXBwbGljYXRpb24gb3IgcHJvamVjdC4gUGxlYXNlIHNlZSB0aGUgOmRvYzpgbWlncmF0aW9uLWd1aWRlYCBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBtaWdyYXRpbmcgY29kZSBmcm9tIHRoZQpvcmlnaW5hbCBBV1MgU0RLIGZvciBQSFAgdG8gVmVyc2lvbiAyLgoKU2luY2UgVmVyc2lvbiAyIG9mIHRoZSBBV1MgU0RLIGZvciBQSFAgbm93IHN1cHBvcnRzIGFsbCBvZiB0aGUgQVdTIHNlcnZpY2VzIHN1cHBvcnRlZCBieSBWZXJzaW9uIDEgKGFuZCBtb3JlKSwgaXQgaXMKcmVjb21tZW5kZWQgdGhhdCB5b3Ugc2hvdWxkIGJlZ2luIG1pZ3JhdGluZyB5b3VyIGNvZGUgdG8gdXNlIFZlcnNpb24gMiBvZiB0aGUgU0RLLiBVc2luZyBib3RoIFNES3Mgc2lkZS1ieS1zaWRlIG1heSBiZQpoZWxwZnVsIGlmIHlvdXIgdXNlIGNhc2UgcmVxdWlyZXMgeW91IHRvIG1pZ3JhdGUgb25seSBzZWN0aW9ucyBvZiB5b3VyIGNvZGUgYXQgYSB0aW1lLgoKSW5zdGFsbGluZyBhbmQgSW5jbHVkaW5nIHRoZSBTREtzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVG8gaW5zdGFsbCBhbmQgaW5jbHVkZSB0aGUgU0RLcyBpbiB5b3VyIHByb2plY3QsIHlvdSBtdXN0IGZpcnN0IGNob29zZSB3aGV0aGVyIG9yIG5vdCB0byB1c2UgQ29tcG9zZXIuCgpVc2luZyBDb21wb3Nlcgp+fn5+fn5+fn5+fn5+fgoKVXNpbmcgYENvbXBvc2VyIDxodHRwOi8vZ2V0Y29tcG9zZXIub3JnPmBfIGlzIHRoZSByZWNvbW1lbmRlZCB3YXkgdG8gaW5zdGFsbCBib3RoIHZlcnNpb25zIG9mIHRoZSBBV1MgU0RLIGZvciBQSFAuCkNvbXBvc2VyIGlzIGEgZGVwZW5kZW5jeSBtYW5hZ2VtZW50IHRvb2wgZm9yIFBIUCB0aGF0IGFsbG93cyB5b3UgdG8gZGVjbGFyZSB0aGUgZGVwZW5kZW5jaWVzIHlvdXIgcHJvamVjdCByZXF1cmVzIGFuZAppbnN0YWxscyB0aGVtIGludG8geW91ciBwcm9qZWN0LiBJbiBvcmRlciB0byBzaW11bHRhbmVvdXNseSB1c2UgYm90aCB2ZXJzaW9ucyBvZiB0aGUgU0RLIGluIHRoZSBzYW1lIHByb2plY3QgdGhyb3VnaApDb21wb3NlciwgeW91IG11c3QgZG8gdGhlIGZvbGxvd2luZzoKCiMuIEFkZCBib3RoIG9mIHRoZSBTREtzIGFzIGRlcGVuZGVuY2llcyBpbiB5b3VyIHByb2plY3QncyBgYGNvbXBvc2VyLmpzb25gYCBmaWxlLgoKICAgLi4gY29kZS1ibG9jazo6IGpzCgogICAgICAgIHsKICAgICAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICAgICAiYXdzL2F3cy1zZGstcGhwIjogIioiLAogICAgICAgICAgICAgICAgImFtYXpvbndlYnNlcnZpY2VzL2F3cy1zZGstZm9yLXBocCI6ICIqIgogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgKipOb3RlOioqIENvbnNpZGVyIHRpZ2h0ZW5pbmcgeW91ciBkZXBlbmRlbmNpZXMgdG8gYSBrbm93biB2ZXJzaW9uIHdoZW4gZGVwbG95aW5nIG1pc3Npb24gY3JpdGljYWwgYXBwbGljYXRpb25zCiAgIChlLmcuLCBgYDIuMC4qYGApLgoKIy4gRG93bmxvYWQgYW5kIGluc3RhbGwgQ29tcG9zZXIuCgogICAuLiBjb2RlLWJsb2NrOjogc2gKCiAgICAgICAgY3VybCAtcyAiaHR0cDovL2dldGNvbXBvc2VyLm9yZy9pbnN0YWxsZXIiIHwgcGhwCgojLiBJbnN0YWxsIHlvdXIgZGVwZW5kZW5jaWVzLgoKICAgLi4gY29kZS1ibG9jazo6IHNoCgogICAgICAgIHBocCBjb21wb3Nlci5waGFyIGluc3RhbGwKCiMuIFJlcXVpcmUgQ29tcG9zZXIncyBhdXRvbG9hZGVyLgoKICAgQ29tcG9zZXIgYWxzbyBwcmVwYXJlcyBhbiBhdXRvbG9hZCBmaWxlIHRoYXQncyBjYXBhYmxlIG9mIGF1dG9sb2FkaW5nIGFsbCBvZiB0aGUgY2xhc3NlcyBpbiBhbnkgb2YgdGhlIGxpYnJhcmllcyB0aGF0CiAgIGl0IGRvd25sb2Fkcy4gVG8gdXNlIGl0LCBqdXN0IGFkZCB0aGUgZm9sbG93aW5nIGxpbmUgdG8geW91ciBjb2RlJ3MgYm9vdHN0cmFwIHByb2Nlc3MuCgogICAuLiBjb2RlLWJsb2NrOjogcGhwCgogICAgICAgIHJlcXVpcmUgJy9wYXRoL3RvL3Nkay92ZW5kb3IvYXV0b2xvYWQucGhwJzsKCllvdSBjYW4gZmluZCBvdXQgbW9yZSBvbiBob3cgdG8gaW5zdGFsbCBDb21wb3NlciwgY29uZmlndXJlIGF1dG9sb2FkaW5nLCBhbmQgb3RoZXIgYmVzdC1wcmFjdGljZXMgZm9yIGRlZmluaW5nCmRlcGVuZGVuY2llcyBhdCBgZ2V0Y29tcG9zZXIub3JnIDxodHRwOi8vZ2V0Y29tcG9zZXIub3JnPmBfLgoKV2l0aG91dCBDb21wb3Nlcgp+fn5+fn5+fn5+fn5+fn5+CgpXaXRob3V0IENvbXBvc2VyLCB5b3UgbXVzdCBtYW5hZ2UgeW91ciBvd24gcHJvamVjdCBkZXBlbmRlbmNpZXMuCgojLiBEb3dubG9hZCBib3RoIG9mIHRoZSBTREtzICh2aWEgUEVBUiwgR2l0SHViLCBvciB0aGUgQVdTIHdlYnNpdGUpIGludG8gYSBsb2NhdGlvbiBhY2Nlc3NpYmxlIGJ5IHlvdXIgcHJvamVjdC4gTWFrZQogICBjZXJ0YWluIHRvIHVzZSB0aGUgcHJlLXBhY2thZ2VkIGBgYXdzLnBoYXJgYCBmaWxlLCB3aGljaCBpbmNsdWRlcyBhbGwgb2YgdGhlIGRlcGVuZGVuY2llcyBmb3IgdGhlIEFXUyBTREsgZm9yIFBIUC4KCiMuIEluIHlvdXIgY29kZSdzIGJvb3RzdHJhcCBwcm9jZXNzLCB5b3UgbmVlZCB0byBleHBsaWNpdGx5IHJlcXVpcmUgdGhlIGJvb3RzdHJhcCBmaWxlIGZyb20gVmVyc2lvbiAxIG9mIHRoZSBTREsgYW5kIHRoZQogICBgYGF3cy5waGFyYGAgZmlsZSBjb250YWluaW5nIFZlcnNpb24gMiBvZiB0aGUgU0RLOgoKICAgLi4gY29kZS1ibG9jazo6IHBocAoKICAgICAgICAvLyBJbmNsdWRlIGVhY2ggb2YgdGhlIFNESydzIGJvb3RzdHJhcCBmaWxlcyB0byBzZXR1cCBhdXRvbG9hZGluZwogICAgICAgIHJlcXVpcmUgJy9wYXRoL3RvL3Nkay5jbGFzcy5waHAnOyAvLyBMb2FkIHRoZSBWZXJzaW9uIDEgYm9vdHN0cmFwIGZpbGUKICAgICAgICByZXF1aXJlICcvcGF0aC90by9hd3MucGhhcic7ICAgICAgLy8gTG9hZCB0aGUgVmVyc2lvbiAyIHByZS1wYWNrYWdlZCBwaGFyIGZpbGUKCkNvbmZpZ3VyaW5nIGFuZCBJbnN0YW50aWF0aW5nIHRoZSBTREtzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpIb3cgeW91IGNvbmZpZ3VyZSBhbmQgaW5zdGFudGlhdGUgdGhlIFNES3MgaXMgZGV0ZXJtaW5lZCBieSB3aGV0aGVyIG9yIG5vdCB5b3UgYXJlIHVzaW5nIHRoZSBzZXJ2aWNlIGJ1aWxkZXIKKGBgQXdzXENvbW1vblxBd3NgYCBjbGFzcykuCgpJbnN0YW50aWF0aW5nIENsaWVudHMgdmlhIHRoZSBTZXJ2aWNlIEJ1aWxkZXIKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpUaGUgc2VydmljZSBidWlsZGVyIChgYEF3c1xDb21tb25cQXdzIGNsYXNzYGApIGluIHRoZSBBV1MgU0RLIGZvciBQSFAgZW5hYmxlcyBjb25maWd1cmluZyBhbGwgc2VydmljZSBjbGllbnRzIHdpdGggdGhlCnNhbWUgY3JlZGVudGlhbHMuIEl0IGFsc28gYWNjZXB0cyBhZGRpdGlvbmFsIHNldHRpbmdzIGZvciBzb21lIG9yIGFsbCBvZiB0aGUgY2xpZW50cy4gVGhlIHNlcnZpY2UgYnVpbGRlciBmdW5jdGlvbmFsaXR5CmlzIGluaGVyaXRlZCBmcm9tIHRoZSBgR3V6emxlIDxodHRwOi8vZ3V6emxlcGhwLm9yZz5gXyBwcm9qZWN0LgoKWW91IGNhbiBwYXNzIHRoZSBzZXJ2aWNlIGJ1aWxkZXIgYSBjb25maWd1cmF0aW9uIGZpbGUgY29udGFpbmluZyB5b3VyIGNyZWRlbnRpYWxzIGFuZCBvdGhlciBzZXR0aW5ncy4gSXQgd2lsbCB0aGVuCmluamVjdCB0aGVzZSBpbnRvIGFsbCBvZiB0aGUgc2VydmljZSBjbGllbnRzIHlvdXIgY29kZSBpbnN0YW50aWF0ZXMuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb25maWd1cmF0aW9uIGZpbGUsCnBsZWFzZSByZWFkIHRoZSA6ZG9jOmBjb25maWd1cmF0aW9uYCBzZWN0aW9uIG9mIHRoZSBndWlkZS4gV2hlbiB1c2luZyBib3RoIFNES3Mgc2lkZS1ieS1zaWRlLCB5b3VyIGNvbmZpZ3VyYXRpb24gZmlsZQptdXN0IGluY2x1ZGUgdGhlIGZvbGxvd2luZyBsaW5lOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICdpbmNsdWRlcycgPT4gYXJyYXkoJ19zZGsxJyksCgpUaGlzIHdpbGwgYXV0b21hdGljYWxseSBzZXQgdXAgdGhlIHNlcnZpY2UgY2xpZW50cyBmcm9tIFZlcnNpb24gMSBvZiB0aGUgU0RLIG1ha2luZyB0aGVtIGFjY2Vzc2libGUgdGhyb3VnaCB0aGUgc2VydmljZQpidWlsZGVyIGJ5IGtleXMgc3VjaCBhcyBgYHYxLnMzYGAgYW5kIGBgdjEuY2xvdWRmb3JtYXRpb25gYC4gSGVyZSBpcyBhbiBleGFtcGxlIGNvbmZpZ3VyYXRpb24gZmlsZSB0aGF0IGluY2x1ZGVzCnJlZmVyZW5jaW5nIHRoZSBWZXJzaW9uIDEgb2YgdGhlIFNESzoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICA8P3BocCByZXR1cm4gYXJyYXkoCiAgICAgICAgJ2luY2x1ZGVzJyA9PiBhcnJheSgnX3NkazEnKSwKICAgICAgICAnc2VydmljZXMnID0+IGFycmF5KAogICAgICAgICAgICAnZGVmYXVsdF9zZXR0aW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncGFyYW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAna2V5JyAgICA9PiAneW91ci1hd3MtYWNjZXNzLWtleS1pZCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ3lvdXItYXdzLXNlY3JldC1hY2Nlc3Mta2V5JywKICAgICAgICAgICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtd2VzdC0yJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKQogICAgKTsKCllvdXIgY29kZSBtdXN0IGluc3RhbnRpYXRlIHRoZSBzZXJ2aWNlIGJ1aWxkZXIgdGhyb3VnaCBpdHMgZmFjdG9yeSBtZXRob2QgYnkgcGFzc2luZyBpbiB0aGUgcGF0aCBvZiB0aGUgY29uZmlndXJhdGlvbgpmaWxlLiBZb3VyIGNvZGUgdGhlbiByZXRyaWV2ZXMgaW5zdGFuY2VzIG9mIHRoZSBzcGVjaWZpYyBzZXJ2aWNlIGNsaWVudHMgZnJvbSB0aGUgcmV0dXJuZWQgYnVpbGRlciBvYmplY3QuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEF3c1xDb21tb25cQXdzOwoKICAgIC8vIEluc3RhbnRpYXRlIHRoZSBzZXJ2aWNlIGJ1aWxkZXIKICAgICRhd3MgPSBBd3M6OmZhY3RvcnkoJy9wYXRoL3RvL3lvdXIvY29uZmlnLnBocCcpOwoKICAgIC8vIEluc3RhbnRpYXRlIFMzIGNsaWVudHMgdmlhIHRoZSBzZXJ2aWNlIGJ1aWxkZXIKICAgICRzM3YxID0gJGF3cy0+Z2V0KCd2MS5zMycpOyAgLy8gQWxsIFZlcnNpb24gMSBjbGllbnRzIGFyZSBwcmVmaXhlZCB3aXRoICJ2MS4iCiAgICAkczN2MiA9ICRhd3MtPmdldCgnczMnKTsKCkluc3RhbnRpYXRpbmcgQ2xpZW50cyB2aWEgQ2xpZW50IEZhY3Rvcmllcwp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCllvdXIgY29kZSBjYW4gaW5zdGFudGlhdGUgc2VydmljZSBjbGllbnRzIHVzaW5nIHRoZWlyIHJlc3BlY3RpdmUgYGBmYWN0b3J5KClgYCBtZXRob2RzIGJ5IHBhc3NpbmcgaW4gYW4gYXJyYXkgb2YKY29uZmlndXJhdGlvbiBkYXRhLCBpbmNsdWRpbmcgeW91ciBjcmVkZW50aWFscy4gVGhlIGBgZmFjdG9yeSgpYGAgd2lsbCB3b3JrIGZvciBjbGllbnRzIGluIGVpdGhlciB2ZXJzaW9ucyBvZiB0aGUgU0RLLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBBd3NcUzNcUzNDbGllbnQ7CgogICAgLy8gQ3JlYXRlIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucwogICAgJGNvbmZpZyA9IGFycmF5KAogICAgICAgICdrZXknICAgID0+ICd5b3VyLWF3cy1hY2Nlc3Mta2V5LWlkJywKICAgICAgICAnc2VjcmV0JyA9PiAneW91ci1hd3Mtc2VjcmV0LWFjY2Vzcy1rZXknLAogICAgKTsKCiAgICAvLyBJbnN0YW50aWF0ZSBBbWF6b24gUzMgY2xpZW50cyBmcm9tIGJvdGggU0RLcyB2aWEgdGhlaXIgZmFjdG9yeSBtZXRob2RzCiAgICAkczN2MSA9IEFtYXpvblMzOjpmYWN0b3J5KCRjb25maWcpOwogICAgJHMzdjIgPSBTM0NsaWVudDo6ZmFjdG9yeSgkY29uZmlnKTsKCk9wdGlvbmFsbHksIHlvdSBjb3VsZCBhbGlhcyB0aGUgY2xhc3NlcyB0byBtYWtlIGl0IGNsZWFyZXIgd2hpY2ggdmVyc2lvbiBvZiB0aGUgU0RLIHRoZXkgYXJlIGZyb20uCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEFtYXpvblMzIGFzIFMzQ2xpZW50VjE7CiAgICB1c2UgQXdzXFMzXFMzQ2xpZW50IGFzIFMzQ2xpZW50VjI7CgogICAgJGNvbmZpZyA9IGFycmF5KAogICAgICAgICdrZXknICAgID0+ICd5b3VyLWF3cy1hY2Nlc3Mta2V5LWlkJywKICAgICAgICAnc2VjcmV0JyA9PiAneW91ci1hd3Mtc2VjcmV0LWFjY2Vzcy1rZXknLAogICAgKTsKCiAgICAkczN2MSA9IFMzQ2xpZW50VjE6OmZhY3RvcnkoJGNvbmZpZyk7CiAgICAkczN2MiA9IFMzQ2xpZW50VjI6OmZhY3RvcnkoJGNvbmZpZyk7CgpDb21wbGV0ZSBFeGFtcGxlcwotLS0tLS0tLS0tLS0tLS0tLQoKVGhlIGZvbGxvd2luZyB0d28gZXhhbXBsZXMgZnVsbHkgZGVtb25zdHJhdGUgaW5jbHVkaW5nLCBjb25maWd1cmluZywgaW5zdGFudGlhdGluZywgYW5kIHVzaW5nIGJvdGggU0RLcyBzaWRlLWJ5LXNpZGUuClRoZXNlIGV4YW1wbGVzIGFkb3B0IHRoZSByZWNvbW1lbmRlZCBwcmFjdGljZXMgb2YgdXNpbmcgQ29tcG9zZXIgYW5kIHRoZSBzZXJ2aWNlIGJ1aWxkZXIuCgpFeGFtcGxlIDEgLSBEdWFsIEFtYXpvbiBTMyBDbGllbnRzCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KClRoaXMgZXhhbXBsZSBkZW1vbnN0cmF0ZXMgdXNpbmcgYW4gQW1hem9uIFMzIGNsaWVudCBmcm9tIHRoZSBBV1MgU0RLIGZvciBQSFAgd29ya2luZyBzaWRlLWJ5LXNpZGUgd2l0aCBhbiBBbWF6b24gUzMKY2xpZW50IGZyb20gdGhlIGZpcnN0IFBIUCBTREsuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgPD9waHAKCiAgICByZXF1aXJlICd2ZW5kb3IvYXV0b2xvYWQucGhwJzsKCiAgICAkYXdzID0gQXdzXENvbW1vblxBd3M6OmZhY3RvcnkoJy9wYXRoL3RvL2NvbmZpZy5qc29uJyk7CgogICAgJHMzdjEgPSAkYXdzLT5nZXQoJ3YxLnMzJyk7CiAgICAkczN2MiA9ICRhd3MtPmdldCgnczMnKTsKCiAgICBlY2hvICJMaXN0QnVja2V0cyB3aXRoIFNESyBWZXJzaW9uIDE6XG4iOwogICAgZWNobyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIjsKICAgICRyZXNwb25zZSA9ICRzM3YxLT5saXN0QnVja2V0cygpOwogICAgaWYgKCRyZXNwb25zZS0+aXNPSygpKSB7CiAgICAgICAgZm9yZWFjaCAoJHJlc3BvbnNlLT5ib2R5LT5CdWNrZXRzLT5CdWNrZXQgYXMgJGJ1Y2tldCkgewogICAgICAgICAgICBlY2hvICItIHskYnVja2V0LT5OYW1lfVxuIjsKICAgICAgICB9CiAgICB9IGVsc2UgewogICAgICAgIGVjaG8gIlJlcXVlc3QgZmFpbGVkLlxuIjsKICAgIH0KICAgIGVjaG8gIlxuIjsKCiAgICBlY2hvICJMaXN0QnVja2V0cyB3aXRoIFNESyBWZXJzaW9uIDI6XG4iOwogICAgZWNobyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIjsKICAgIHRyeSB7CiAgICAgICAgJHJlc3VsdCA9ICRzM3YyLT5saXN0QnVja2V0cygpOwogICAgICAgIGZvcmVhY2ggKCRyZXN1bHRbJ0J1Y2tldHMnXSBhcyAkYnVja2V0KSB7CiAgICAgICAgICAgIGVjaG8gIi0geyRidWNrZXRbJ05hbWUnXX1cbiI7CiAgICAgICAgfQogICAgfSBjYXRjaCAoQXdzXFMzXEV4Y2VwdGlvblxTM0V4Y2VwdGlvbiAkZSkgewogICAgICAgIGVjaG8gIlJlcXVlc3QgZmFpbGVkLlxuIjsKICAgIH0KICAgIGVjaG8gIlxuIjsKCkV4YW1wbGUgMiAtIEFtYXpvbiBEeW5hbW9EQiBhbmQgQW1hem9uIFNOUyBDbGllbnRzCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpUaGlzIGV4YW1wbGUgc2hvd3MgaG93IHRoZSBBV1MgU0RLIGZvciBQSFAgRHluYW1vREIgY2xpZW50IHdvcmtzIHRvZ2V0aGVyIHdpdGggdGhlIFNOUyBjbGllbnQgZnJvbSB0aGUgb3JpZ2luYWwgU0RLLgpGb3IgdGhpcyBleGFtcGxlLCBhbiBpY2UgY3JlYW0gcGFybG9yIHB1Ymxpc2hlcyBhIGRhaWx5IG1lc3NhZ2UgKHZpYSBTTlMpIGNvbnRhaW5pbmcgaXRzICJmbGF2b3JzIG9mIHRoZSBkYXkiIHRvCnN1YnNjcmliZXJzLiBGaXJzdCwgaXQgcmV0cmlldmVzIHRoZSBmbGF2b3JzIG9mIHRoZSBkYXkgZnJvbSBpdHMgRHluYW1vREIgZGF0YWJhc2UgdXNpbmcgdGhlIEFXUyBTREsgZm9yIFBIUCBEeW5hbW9EQgpjbGllbnQuIEl0IHRoZW4gdXNlcyB0aGUgU05TIGNsaWVudCBmcm9tIHRoZSBmaXJzdCBTREsgdG8gcHVibGlzaCBhIG1lc3NhZ2UgdG8gaXRzIFNOUyB0b3BpYy4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICA8P3BocAoKICAgIHJlcXVpcmUgJ3ZlbmRvci9hdXRvbG9hZC5waHAnOwoKICAgICRhd3MgPSBBd3NcQ29tbW9uXEF3czo6ZmFjdG9yeSgnL3BhdGgvdG8vY29uZmlnLnBocCcpOwoKICAgIC8vIEluc3RhbnRpYXRlIHRoZSBjbGllbnRzCiAgICAkZGRiID0gJGF3cy0+Z2V0KCdkeW5hbW9kYicpOwogICAgJHNucyA9ICRhd3MtPmdldCgndjEuc25zJyk7CiAgICAkc25zLT5zZXRfcmVnaW9uKEFtYXpvblNOUzo6UkVHSU9OX1VTX1cyKTsKCiAgICAvLyBHZXQgdG9kYXkncyBmbGF2b3JzIGZyb20gRHluYW1vREIgdXNpbmcgVmVyc2lvbiAyIG9mIHRoZSBTREsKICAgICRkYXRlID0gbmV3IERhdGVUaW1lKCk7CiAgICAkZmxhdm9ycyA9ICRkZGItPmdldEl0ZW0oYXJyYXkoCiAgICAgICAgJ1RhYmxlTmFtZScgPT4gJ2ZsYXZvcnMtb2YtdGhlLWRheScsCiAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICdIYXNoS2V5RWxlbWVudCcgID0+IGFycmF5KCdOJyA9PiAkZGF0ZS0+Zm9ybWF0KCduJykpLAogICAgICAgICAgICAnUmFuZ2VLZXlFbGVtZW50JyA9PiBhcnJheSgnTicgPT4gJGRhdGUtPmZvcm1hdCgnaicpKQogICAgICAgICkKICAgICkpLT5nZXRSZXN1bHQoKS0+Z2V0UGF0aCgnSXRlbS9mbGF2b3JzL1NTJyk7CgogICAgLy8gR2VuZXJhdGUgdGhlIG1lc3NhZ2UKICAgICR0b2RheSA9ICRkYXRlLT5mb3JtYXQoJ2wsIEYgalMnKTsKICAgICRtZXNzYWdlID0gIkl0J3MgeyR0b2RheX0sIGFuZCBoZXJlIGFyZSBvdXIgZmxhdm9ycyBvZiB0aGUgZGF5OlxuIjsKICAgIGZvcmVhY2ggKCRmbGF2b3JzIGFzICRmbGF2b3IpIHsKICAgICAgICAkbWVzc2FnZSAuPSAiLSB7JGZsYXZvcn1cbiI7CiAgICB9CiAgICAkbWVzc2FnZSAuPSAiXG5Db21lIHZpc2l0IE1yLiBGb29cJ3MgSWNlIENyZWFtIFBhcmxvciBvbiA1dGggYW5kIFBpbmUhXG4iOwogICAgZWNobyAieyRtZXNzYWdlfVxuIjsKCiAgICAvLyBTZW5kIHRvZGF5J3MgZmxhdm9ycyB0byBzdWJzY3JpYmVycyB1c2luZyBWZXJzaW9uIDEgb2YgdGhlIFNESwogICAgJHJlc3BvbnNlID0gJHNucy0+cHVibGlzaCgnZmxhdm9ycy1vZi10aGUtZGF5LXNucy10b3BpYycsICRtZXNzYWdlLCBhcnJheSgKICAgICAgICAnU3ViamVjdCcgPT4gJ0ZsYXZvcnMgb2YgdGhlIERheSAtIE1yLiBGb29cJ3MgSWNlIENyZWFtIFBhcmxvcicKICAgICkpOwogICAgaWYgKCRyZXNwb25zZS0+aXNPSygpKSB7CiAgICAgICAgZWNobyAiU2VudCB0aGUgZmxhdm9ycyBvZiB0aGUgZGF5IHRvIHlvdXIgc3Vic2NyaWJlcnMuXG4iOwogICAgfSBlbHNlIHsKICAgICAgICBlY2hvICJUaGVyZSB3YXMgYW4gZXJyb3Igc2VuZGluZyB0aGUgZmxhdm9ycyBvZiB0aGUgZGF5IHRvIHlvdXIgc3Vic2NyaWJlcnMuXG4iOwogICAgfQoKRmluYWwgTm90ZXMKLS0tLS0tLS0tLS0KClJlbWVtYmVyIHRoYXQgKippbnN0YW50aWF0aW5nIGNsaWVudHMgZnJvbSB0aGUgb3JpZ2luYWwgU0RLIHVzaW5nIHRoZSBzZXJ2aWNlIGJ1aWxkZXIgZnJvbSBBV1MgU0RLIGZvciBQSFAgZG9lcyBub3QKY2hhbmdlIGhvdyB0aG9zZSBjbGllbnRzIHdvcmsqKi4gRm9yIGV4YW1wbGUsIG5vdGljZSB0aGUgZGlmZmVyZW5jZXMgaW4gcmVzcG9uc2UgaGFuZGxpbmcgYmV0d2VlbiBTREsgdmVyc2lvbnMuIEZvciBhCmZ1bGwgbGlzdCBvZiBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSB2ZXJzaW9ucywgcGxlYXNlIHNlZSB0aGUgOmRvYzpgbWlncmF0aW9uLWd1aWRlYC4KCkZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHVzaW5nIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIG9mIHRoZSBTREssIHBsZWFzZSBzZWUgdGhlIGBWZXJzaW9uIDEgQVBJIERvY3VtZW50YXRpb24KPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU1NES2ZvclBIUC9sYXRlc3QvPmBfIGFuZCB0aGUgYFZlcnNpb24gMSBTREsgUkVBRE1FCjxodHRwczovL2dpdGh1Yi5jb20vYW1hem9ud2Vic2VydmljZXMvYXdzLXNkay1mb3ItcGhwL2Jsb2IvbWFzdGVyL1JFQURNRS5tZD5gXy4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_ext/aws/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_ext/aws/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_ext/aws/templates/client_intro</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cnt7c2VydmljZUZ1bGxOYW1lfX17JSBpZiBzcGVjaWZpZWRBcGlWZXJzaW9uICV9ICh7e3NwZWNpZmllZEFwaVZlcnNpb259fSl7JSBlbmRpZiAlfQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KClRoaXMgZ3VpZGUgZm9jdXNlcyBvbiB0aGUgQVdTIFNESyBmb3IgUEhQIGNsaWVudCBmb3IgYHt7IHNlcnZpY2VGdWxsTmFtZSB9fSA8e3sgZG9jX3VybCB9fT5gXy4gVGhpcyBndWlkZSBhc3N1bWVzIHRoYXQKeW91IGhhdmUgYWxyZWFkeSBkb3dubG9hZGVkIGFuZCBpbnN0YWxsZWQgdGhlIEFXUyBTREsgZm9yIFBIUC4gU2VlIDpkb2M6YGluc3RhbGxhdGlvbmAgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24KZ2V0dGluZyBzdGFydGVkLgoKeyUgaWYgc3BlY2lmaWVkQXBpVmVyc2lvbiAlfQoqKk5vdGU6KiogVGhpcyBndWlkZSBpcyBmb3IgdGhlICoqe3sgc3BlY2lmaWVkQXBpVmVyc2lvbiB9fSoqIEFQSSB2ZXJzaW9uIG9mIHt7IHNlcnZpY2VGdWxsTmFtZSB9fS4gWW91IG1heSBhbHNvIGJlCmludGVyZXN0ZWQgaW4gdGhlIDpkb2M6YGd1aWRlIGZvciB0aGUgbGF0ZXN0IEFQSSB2ZXJzaW9uIG9mIHt7IHNlcnZpY2VGdWxsTmFtZSB9fSA8c2VydmljZS17eyBuYW1lc3BhY2V8bG93ZXIgfX0+YC4KeyUgZW5kaWYgJX0KCkNyZWF0aW5nIGEgY2xpZW50Ci0tLS0tLS0tLS0tLS0tLS0tCgpGaXJzdCB5b3UgbmVlZCB0byBjcmVhdGUgYSBjbGllbnQgb2JqZWN0IHVzaW5nIG9uZSBvZiB0aGUgZm9sbG93aW5nIHRlY2huaXF1ZXMuCgpGYWN0b3J5IG1ldGhvZAp+fn5+fn5+fn5+fn5+fgoKVGhlIGVhc2llc3Qgd2F5IHRvIGdldCB1cCBhbmQgcnVubmluZyBxdWlja2x5IGlzIHRvIHVzZSB0aGUgYGBBd3Nce3tuYW1lc3BhY2V9fVx7e25hbWVzcGFjZX19Q2xpZW50OjpmYWN0b3J5KClgYCBtZXRob2QKYW5kIHByb3ZpZGUgeW91ciBjcmVkZW50aWFscyAoYGBrZXlgYCBhbmQgYGBzZWNyZXRgYCkuCgp7JSBpZiBub3QgZ2xvYmFsRW5kcG9pbnQgLSV9CkEgYGByZWdpb25gYCBwYXJhbWV0ZXIgaXMgYWxzbyByZXF1aXJlZCBhbmQgbXVzdCBiZSBzZXQgdG8gb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOiBgYHt7IHJlZ2lvbnN8am9pbigiYGAsIGBgIikgfX1gYAp7JSBlbmRpZiAlfQoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBBd3Nce3tuYW1lc3BhY2V9fVx7e25hbWVzcGFjZX19Q2xpZW50OwoKICAgICRjbGllbnQgPSB7e25hbWVzcGFjZX19Q2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICdrZXknICAgIHslIGlmIHNwZWNpZmllZEFwaVZlcnNpb24gJX0geyUgZW5kaWYgJX09PiAnPGF3cyBhY2Nlc3Mga2V5PicsCiAgICAgICAgJ3NlY3JldCcgeyUgaWYgc3BlY2lmaWVkQXBpVmVyc2lvbiAlfSB7JSBlbmRpZiAlfT0+ICc8YXdzIHNlY3JldCBrZXk+J3slIGlmIG5vdCBnbG9iYWxFbmRwb2ludCAtJX0sCiAgICAgICAgJ3JlZ2lvbicgeyUgaWYgc3BlY2lmaWVkQXBpVmVyc2lvbiAlfSB7JSBlbmRpZiAlfT0+ICc8cmVnaW9uIG5hbWU+J3slIGVuZGlmICV9eyUgaWYgc3BlY2lmaWVkQXBpVmVyc2lvbiAtJX0sCiAgICAgICAgJ3ZlcnNpb24nID0+ICd7e3NwZWNpZmllZEFwaVZlcnNpb259fSd7JSBlbmRpZiAlfQogICAgKSk7CgpZb3UgY2FuIHByb3ZpZGUgeW91ciBhY2Nlc3Mga2V5cyBsaWtlIGluIHRoZSBwcmVjZWRpbmcgZXhhbXBsZSwgb3IgeW91IGNhbiBjaG9vc2UgdG8gb21pdCB0aGVtIGlmIHlvdSBhcmUgdXNpbmcgYEFXUwpJZGVudGl0eSBhbmQgQWNjZXNzIE1hbmFnZW1lbnQgKElBTSkgcm9sZXMgZm9yIEVDMiBpbnN0YW5jZXMKPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL1VzaW5nSUFNLmh0bWwjVXNpbmdJQU1yb2xlc1dpdGhBbWF6b25FQzJJbnN0YW5jZXM+YF8gb3IgY3JlZGVudGlhbHMKc291cmNlZCBmcm9tIHRoZSBgYEFXU19BQ0NFU1NfS0VZX0lEYGAgYW5kIGBgQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZYGAgZW52aXJvbm1lbnQgdmFyaWFibGVzLgoKU2VydmljZSBidWlsZGVyCn5+fn5+fn5+fn5+fn5+fgoKQSBtb3JlIHJvYnVzdCB3YXkgdG8gY29ubmVjdCB0byB7eyBzZXJ2aWNlRnVsbE5hbWUgfX0gaXMgdGhyb3VnaCB0aGUgc2VydmljZSBidWlsZGVyLiBUaGlzIGFsbG93cyB5b3UgdG8gc3BlY2lmeQpjcmVkZW50aWFscyBhbmQgb3RoZXIgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBpbiBhIGNvbmZpZ3VyYXRpb24gZmlsZS4gVGhlc2Ugc2V0dGluZ3MgY2FuIHRoZW4gYmUgc2hhcmVkIGFjcm9zcyBhbGwKY2xpZW50cyBzbyB0aGF0IHlvdSBvbmx5IGhhdmUgdG8gc3BlY2lmeSB5b3VyIHNldHRpbmdzIG9uY2UuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEF3c1xDb21tb25cQXdzOwoKICAgIC8vIENyZWF0ZSBhIHNlcnZpY2UgYnVpbGRlciB1c2luZyBhIGNvbmZpZ3VyYXRpb24gZmlsZQogICAgJGF3cyA9IEF3czo6ZmFjdG9yeSgnL3BhdGgvdG8vbXlfY29uZmlnLmpzb24nKTsKCiAgICAvLyBHZXQgdGhlIGNsaWVudCBmcm9tIHRoZSBidWlsZGVyIGJ5IG5hbWVzcGFjZQogICAgJGNsaWVudCA9ICRhd3MtPmdldCgne3sgbmFtZXNwYWNlIH19Jyk7CgouLiBfe3sgbmFtZXNwYWNlIH19e3sgYXBpVmVyc2lvblN1ZmZpeCB9fV9vcGVyYXRpb25zOgoKQXZhaWxhYmxlIG9wZXJhdGlvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0KClBsZWFzZSBzZWUgdGhlIGB7eyBzZXJ2aWNlRnVsbE5hbWUgfX0gQ2xpZW50IEFQSSByZWZlcmVuY2UgPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3Mue3sgbmFtZXNwYWNlIH19e3sgYXBpVmVyc2lvblN1ZmZpeCB9fS57eyBuYW1lc3BhY2UgfX1DbGllbnR7eyBhcGlWZXJzaW9uU3VmZml4IH19Lmh0bWw+YF8KZm9yIGEgZGV0YWlscyBhYm91dCBhbGwgb2YgdGhlIGF2YWlsYWJsZSBtZXRob2RzLCBpbmNsdWRpbmcgZGVzY3JpcHRpb25zIG9mIHRoZSBpbnB1dHMgYW5kIG91dHB1dHMuCgp7IyBIZXJlIHdlIGFyZSBjcmVhdGluZyBhIGxpc3QtdGFibGUuIFRoZSBjb250ZW50cyBvZiBhIGxpc3QtdGFibGUgbG9va3MgbGlrZToKICAgICogLSBGb28KICAgICAgLSBCYXIKICAgICogLSBCYXoKICAgICAgLSBCYW0KCiAgICBXZSBtdXN0IGFsc28gZW5zdXJlIHRoYXQgdGhlIHNhbWUgbnVtYmVyIG9mIGNvbHVtbnMgYXJlIGF2YWlsYWJsZSBmb3IgZWFjaCB0YWJsZSByb3cuCiN9CgouLiBsaXN0LXRhYmxlOjoKICAgIDpoZWFkZXItcm93czogMAogICAgOnN0dWItY29sdW1uczogMAogICAgOmNsYXNzOiB0d28tY29sdW1uCgogICAgeyUgZm9yIGtleSwgb3AgaW4gZGVzY3JpcHRpb24ub3BlcmF0aW9ucy5pdGVyaXRlbXMoKSAlfQogICAgeyUgaWYgbG9vcC5pbmRleCBpcyBvZGQgJX0qIHslIGVsc2UgJX0gIHslIGVuZGlmICV9LSBge3sga2V5IH19IDxodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLnt7IG5hbWVzcGFjZX19e3sgYXBpVmVyc2lvblN1ZmZpeCB9fS57eyBuYW1lc3BhY2UgfX1DbGllbnR7eyBhcGlWZXJzaW9uU3VmZml4IH19Lmh0bWwjX3t7IG9wLm1hZ2ljTWV0aG9kIH19PmBfCiAgICB7JS0gaWYgb3AuZG9jdW1lbnRhdGlvblVybCAlfSAgKGBzZXJ2aWNlIGRvY3MgPHt7IG9wLmRvY3VtZW50YXRpb25Vcmx9fT5gXyl7JS0gZW5kaWYgJX0KICAgIHslLSBpZiBsb29wLmxhc3QgYW5kIGxvb3AuaW5kZXggaXMgb2RkICV9CiAgICAgIC0KICAgIHslLSBlbmRpZiAlfQogICAgeyUgZW5kZm9yICV9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_ext/aws/__init__.py</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[aW1wb3J0IG9zLCByZSwgc3VicHJvY2VzcywganNvbiwgY29sbGVjdGlvbnMKZnJvbSBzcGhpbnguYWRkbm9kZXMgaW1wb3J0IHRvY3RyZWUKZnJvbSBkb2N1dGlscyBpbXBvcnQgaW8sIG5vZGVzLCBzdGF0ZW1hY2hpbmUsIHV0aWxzCmZyb20gZG9jdXRpbHMucGFyc2Vycy5yc3QgaW1wb3J0IERpcmVjdGl2ZQpmcm9tIGppbmphMiBpbXBvcnQgRW52aXJvbm1lbnQsIFBhY2thZ2VMb2FkZXIKCiMgTWFpbnRhaW4gYSBjYWNoZSBvZiBwcmV2aW91c2x5IGxvYWRlZCBleGFtcGxlcwpleGFtcGxlX2NhY2hlID0ge30KCiMgTWFpbnRhaW4gYSBjYWNoZSBvZiBwcmV2aW91c2x5IGxvYWRlZCBzZXJ2aWNlIGRlc2NyaXB0aW9ucwpkZXNjcmlwdGlvbl9jYWNoZSA9IHt9CgoKZGVmIHNldHVwKGFwcCk6CiAgICAiIiIKICAgIHNlZTogaHR0cDovL3NwaGlueC5wb2Nvby5vcmcvZXh0L2FwcGFwaS5odG1sCiAgICB0aGlzIGlzIHRoZSBwcmltYXJ5IGV4dGVuc2lvbiBwb2ludCBmb3IgU3BoaW54CiAgICAiIiIKICAgIGZyb20gc3BoaW54LmFwcGxpY2F0aW9uIGltcG9ydCBTcGhpbngKICAgIGlmIG5vdCBpc2luc3RhbmNlKGFwcCwgU3BoaW54KTogcmV0dXJuCgogICAgYXBwLmFkZF9yb2xlKCdyZWdpb25zJywgcmVnaW9uc19yb2xlKQogICAgYXBwLmFkZF9kaXJlY3RpdmUoJ3NlcnZpY2UnLCBTZXJ2aWNlSW50cm8pCiAgICBhcHAuYWRkX2RpcmVjdGl2ZSgnZXhhbXBsZScsIEV4YW1wbGVEaXJlY3RpdmUpCgoKZGVmIHJlZ2lvbnNfcm9sZShuYW1lLCByYXd0ZXh0LCB0ZXh0LCBsaW5lbm8sIGlubGluZXIsIG9wdGlvbnM9e30sIGNvbnRlbnQ9e30pOgogICAgIiIiSW5zZXJ0cyBhIGxpc3Qgb2YgcmVnaW9ucyBhdmFpbGFibGUgdG8gYSBzZXJ2aWNlIG5hbWUKCiAgICBSZXR1cm5zIDIgcGFydCB0dXBsZSBjb250YWluaW5nIGxpc3Qgb2Ygbm9kZXMgdG8gaW5zZXJ0IGludG8gdGhlCiAgICBkb2N1bWVudCBhbmQgYSBsaXN0IG9mIHN5c3RlbSBtZXNzYWdlcy4gIEJvdGggYXJlIGFsbG93ZWQgdG8gYmUKICAgIGVtcHR5LgoKICAgIDpwYXJhbSBuYW1lOiBUaGUgcm9sZSBuYW1lIHVzZWQgaW4gdGhlIGRvY3VtZW50LgogICAgOnBhcmFtIHJhd3RleHQ6IFRoZSBlbnRpcmUgbWFya3VwIHNuaXBwZXQsIHdpdGggcm9sZS4KICAgIDpwYXJhbSB0ZXh0OiBUaGUgdGV4dCBtYXJrZWQgd2l0aCB0aGUgcm9sZS4KICAgIDpwYXJhbSBsaW5lbm86IFRoZSBsaW5lIG51bWJlciB3aGVyZSByYXd0ZXh0IGFwcGVhcnMgaW4gdGhlIGlucHV0LgogICAgOnBhcmFtIGlubGluZXI6IFRoZSBpbmxpbmVyIGluc3RhbmNlIHRoYXQgY2FsbGVkIHVzLgogICAgOnBhcmFtIG9wdGlvbnM6IERpcmVjdGl2ZSBvcHRpb25zIGZvciBjdXN0b21pemF0aW9uLgogICAgOnBhcmFtIGNvbnRlbnQ6IFRoZSBkaXJlY3RpdmUgY29udGVudCBmb3IgY3VzdG9taXphdGlvbi4KICAgICIiIgogICAgdHJ5OgogICAgICAgIHNlcnZpY2VfbmFtZSA9IHN0cih0ZXh0KQogICAgICAgIGlmIG5vdCBzZXJ2aWNlX25hbWU6CiAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IKICAgICAgICBhcHAgPSBpbmxpbmVyLmRvY3VtZW50LnNldHRpbmdzLmVudi5hcHAKICAgICAgICBub2RlID0gbWFrZV9yZWdpb25zX25vZGUocmF3dGV4dCwgYXBwLCBzdHIoc2VydmljZV9uYW1lKSwgb3B0aW9ucykKICAgICAgICByZXR1cm4gW25vZGVdLCBbXQogICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgbXNnID0gaW5saW5lci5yZXBvcnRlci5lcnJvcigKICAgICAgICAgICAgJ1RoZSBzZXJ2aWNlIG5hbWUgIiVzIiBpcyBpbnZhbGlkOyAnICUgdGV4dCwgbGluZT1saW5lbm8pCiAgICAgICAgcHJiID0gaW5saW5lci5wcm9ibGVtYXRpYyhyYXd0ZXh0LCByYXd0ZXh0LCBtc2cpCiAgICAgICAgcmV0dXJuIFtwcmJdLCBbbXNnXQoKCmRlZiBnZXRfcmVnaW9ucyhzZXJ2aWNlX25hbWUpOgogICAgIiIiR2V0IHRoZSByZWdpb25zIGZvciBhIHNlcnZpY2UgYnkgbmFtZQoKICAgIFJldHVybnMgYSBsaXN0IG9mIHJlZ2lvbnMKCiAgICA6cGFyYW0gc2VydmljZV9uYW1lOiBSZXRyaWV2ZSByZWdpb25zIGZvciB0aGlzIHNlcnZpY2UgYnkgbmFtZQogICAgIiIiCiAgICByZXR1cm4gbG9hZF9zZXJ2aWNlX2Rlc2NyaXB0aW9uKHNlcnZpY2VfbmFtZSlbJ3JlZ2lvbnMnXS5rZXlzKCkKCgpkZWYgbWFrZV9yZWdpb25zX25vZGUocmF3dGV4dCwgYXBwLCBzZXJ2aWNlX25hbWUsIG9wdGlvbnMpOgogICAgIiIiQ3JlYXRlIGEgbGlzdCBvZiByZWdpb25zIGZvciBhIHNlcnZpY2UgbmFtZQoKICAgIDpwYXJhbSByYXd0ZXh0OiAgICAgIFRleHQgYmVpbmcgcmVwbGFjZWQgd2l0aCB0aGUgbGlzdCBub2RlLgogICAgOnBhcmFtIGFwcDogICAgICAgICAgU3BoaW54IGFwcGxpY2F0aW9uIGNvbnRleHQKICAgIDpwYXJhbSBzZXJ2aWNlX25hbWU6IFNlcnZpY2UgbmFtZQogICAgOnBhcmFtIG9wdGlvbnM6ICAgICAgT3B0aW9ucyBkaWN0aW9uYXJ5IHBhc3NlZCB0byByb2xlIGZ1bmMuCiAgICAiIiIKICAgIHJlZ2lvbnMgPSBnZXRfcmVnaW9ucyhzZXJ2aWNlX25hbWUpCiAgICByZXR1cm4gbm9kZXMuVGV4dCgiLCAiLmpvaW4ocmVnaW9ucykpCgoKY2xhc3MgU2VydmljZURlc2NyaXB0aW9uKCk6CiAgICAiIiIKICAgIExvYWRzIHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uIGZvciBhIGdpdmVuIHNvdXJjZSBmaWxlCiAgICAiIiIKCiAgICBkZWYgX19pbml0X18oc2VsZiwgc2VydmljZSk6CiAgICAgICAgc2VsZi5zZXJ2aWNlX25hbWUgPSBzZXJ2aWNlCiAgICAgICAgc2VsZi5kZXNjcmlwdGlvbiA9IHNlbGYubG9hZF9kZXNjcmlwdGlvbihzZWxmLmRldGVybWluZV9maWxlbmFtZSgpKQoKICAgIGRlZiBkZXRlcm1pbmVfZmlsZW5hbWUoc2VsZik6CiAgICAgICAgIiIiRGV0ZXJtaW5lcyB0aGUgZmlsZW5hbWUgdG8gbG9hZCBmb3IgYSBzZXJ2aWNlIiIiCiAgICAgICAgIyBEZXRlcm1pbmUgdGhlIHBhdGggdG8gdGhlIGF3cy1jb25maWcKICAgICAgICBwYXRoID0gb3MucGF0aC5hYnNwYXRoKCIuLi9zcmMvQXdzL0NvbW1vbi9SZXNvdXJjZXMvYXdzLWNvbmZpZy5waHAiKQogICAgICAgIHNlbGYuY29uZmlnID0gc2VsZi5fX2xvYWRfcGhwKHBhdGgpCgogICAgICAgICMgSXRlcmF0ZSBvdmVyIHRoZSBsb2FkZWQgZGljdGlvbmFyeSBhbmQgc2VlIGlmIGEgbWF0Y2hpbmcgc2VydmljZSBleGlzdHMKICAgICAgICBmb3Iga2V5IGluIHNlbGYuY29uZmlnWyJzZXJ2aWNlcyJdOgogICAgICAgICAgICBhbGlhcyA9IHNlbGYuY29uZmlnWyJzZXJ2aWNlcyJdW2tleV0uZ2V0KCJhbGlhcyIsICIiKQogICAgICAgICAgICBpZiBrZXkgPT0gc2VsZi5zZXJ2aWNlX25hbWUgb3IgYWxpYXMgPT0gc2VsZi5zZXJ2aWNlX25hbWU6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIk5vIHNlcnZpY2UgbWF0Y2hlcyAlcyIgJSAoc2VsZi5zZXJ2aWNlX25hbWUpKQoKICAgICAgICAjIERldGVybWluZSB0aGUgbmFtZSBvZiB0aGUgY2xpZW50IGNsYXNzIHRvIGxvYWQKICAgICAgICBjbGFzc19wYXRoID0gc2VsZi5jb25maWdbInNlcnZpY2VzIl1ba2V5XVsiY2xhc3MiXS5yZXBsYWNlKCJcXCIsICIvIikKICAgICAgICBjbGllbnRfcGF0aCA9IG9zLnBhdGguYWJzcGF0aCgiLi4vc3JjLyIgKyBjbGFzc19wYXRoICsgIi5waHAiKQogICAgICAgIGNvbnRlbnRzID0gb3BlbihjbGllbnRfcGF0aCwgJ3InKS5yZWFkKCkKCiAgICAgICAgIyBEZXRlcm1pbmUgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgY2xpZW50IChsb29rIGF0IHRoZSBMQVRFU1RfQVBJX1ZFUlNJT04gY29uc3RhbnQgdmFsdWUpCiAgICAgICAgdmVyc2lvbiA9IHJlLnNlYXJjaCgiTEFURVNUX0FQSV9WRVJTSU9OID0gJyguKyknIiwgY29udGVudHMpLmdyb3VwcygwKVswXQoKICAgICAgICAjIERldGVybWluZSB0aGUgbmFtZSBvZiB0aGUgc2VydmljZSBkZXNjcmlwdGlvbiB1c2VkIGJ5IHRoZSBjbGllbnQKICAgICAgICBtYXRjaGVzID0gcmUuc2VhcmNoKCJfX0RJUl9fIFwuICcvUmVzb3VyY2VzLyguKylcLnBocCciLCBjb250ZW50cykKICAgICAgICBkZXNjcmlwdGlvbiA9IG1hdGNoZXMuZ3JvdXBzKDApWzBdICUgKHZlcnNpb24pCgogICAgICAgICMgU3RyaXAgdGhlIGZpbGVuYW1lIG9mIHRoZSBjbGllbnQgYW5kIGRldGVybWluZSB0aGUgZGVzY3JpcHRpb24gcGF0aAogICAgICAgIHNlcnZpY2VfcGF0aCA9ICIvIi5qb2luKGNsaWVudF9wYXRoLnNwbGl0KG9zLnNlcClbMDotMV0pCiAgICAgICAgc2VydmljZV9wYXRoICs9ICIvUmVzb3VyY2VzLyIgKyBkZXNjcmlwdGlvbiArICIucGhwIgoKICAgICAgICByZXR1cm4gc2VydmljZV9wYXRoCgogICAgZGVmIGxvYWRfZGVzY3JpcHRpb24oc2VsZiwgcGF0aCk6CiAgICAgICAgIiIiRGV0ZXJtaW5lcyB0aGUgZmlsZW5hbWUgdG8gbG9hZCBmb3IgYSBzZXJ2aWNlCgogICAgICAgIDpwYXJhbSBwYXRoOiBQYXRoIHRvIGEgc2VydmljZSBkZXNjcmlwdGlvbiB0byBsb2FkCiAgICAgICAgIiIiCiAgICAgICAgcmV0dXJuIHNlbGYuX19sb2FkX3BocChwYXRoKQoKICAgIGRlZiBfX2xvYWRfcGhwKHNlbGYsIHBhdGgpOgogICAgICAgICIiIkxvYWQgYSBQSFAgc2NyaXB0IHRoYXQgcmV0dXJucyBhbiBhcnJheSB1c2luZyBKU09OCgogICAgICAgIDpwYXJhbSBwYXRoOiBQYXRoIHRvIHRoZSBzY3JpcHQgdG8gbG9hZAogICAgICAgICIiIgogICAgICAgIHBhdGggPSBvcy5wYXRoLmFic3BhdGgocGF0aCkKICAgICAgICAKICAgICAgICAjIE1ha2UgY29tbWFuZCB0byBlYWNoIGVudmlyb25tZW50IExpbnV4L01hYyBhbmQgV2luZG93cwogICAgICAgIGlmIG9zLm5hbWUgPT0gJ250JzoKICAgICAgICAgICAgc2ggPSAncGhwIC1yIFwiJGMgPSBpbmNsdWRlIFwnJyArIHBhdGggKyAnXCc7IGVjaG8ganNvbl9lbmNvZGUoJGMpO1wiJwogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHNoID0gJ3BocCAtciBcJyRjID0gaW5jbHVkZSAiJyArIHBhdGggKyAnIjsgZWNobyBqc29uX2VuY29kZSgkYyk7XCcnCiAgICAgICAgCiAgICAgICAgbG9hZGVkID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoc2gsIHNoZWxsPVRydWUpCiAgICAgICAgcmV0dXJuIGpzb24ubG9hZHMobG9hZGVkKQoKICAgIGRlZiBfX2dldGl0ZW1fXyhzZWxmLCBpKToKICAgICAgICAiIiJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uIGl0ZW1zIHZpYSB0aGUgY2xhc3MiIiIKICAgICAgICByZXR1cm4gc2VsZi5kZXNjcmlwdGlvbi5nZXQoaSkKCgpkZWYgbG9hZF9zZXJ2aWNlX2Rlc2NyaXB0aW9uKG5hbWUpOgogICAgaWYgbmFtZSBub3QgaW4gZGVzY3JpcHRpb25fY2FjaGU6CiAgICAgICAgZGVzY3JpcHRpb25fY2FjaGVbbmFtZV0gPSBTZXJ2aWNlRGVzY3JpcHRpb24obmFtZSkKICAgIHJldHVybiBkZXNjcmlwdGlvbl9jYWNoZVtuYW1lXQoKCmNsYXNzIFNlcnZpY2VJbnRybyhEaXJlY3RpdmUpOgogICAgIiIiCiAgICBDcmVhdGVzIGEgc2VydmljZSBpbnRyb2R1Y3Rpb24gdG8gaW5qZWN0IGludG8gYSBkb2N1bWVudAogICAgIiIiCgogICAgcmVxdWlyZWRfYXJndW1lbnRzID0gMQogICAgb3B0aW9uYWxfYXJndW1lbnRzID0gMQogICAgZmluYWxfYXJndW1lbnRfd2hpdGVzcGFjZSA9IFRydWUKCiAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgIGlmIGxlbihzZWxmLmFyZ3VtZW50cykgPT0gMjoKICAgICAgICAgICAgYXBpX3ZlcnNpb24gPSBzZWxmLmFyZ3VtZW50c1sxXS5zdHJpcCgpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgYXBpX3ZlcnNpb24gPSAiIgogICAgICAgIHNlcnZpY2VfbmFtZSA9IHNlbGYuYXJndW1lbnRzWzBdLnN0cmlwKCkKICAgICAgICBkID0gbG9hZF9zZXJ2aWNlX2Rlc2NyaXB0aW9uKHNlcnZpY2VfbmFtZSkKICAgICAgICByYXd0ZXh0ID0gc2VsZi5nZW5lcmF0ZV9yc3QoZCwgYXBpX3ZlcnNpb24pCiAgICAgICAgdGFiX3dpZHRoID0gNAogICAgICAgIGluY2x1ZGVfbGluZXMgPSBzdGF0ZW1hY2hpbmUuc3RyaW5nMmxpbmVzKAogICAgICAgICAgICByYXd0ZXh0LCB0YWJfd2lkdGgsIGNvbnZlcnRfd2hpdGVzcGFjZT0xKQogICAgICAgIHNlbGYuc3RhdGVfbWFjaGluZS5pbnNlcnRfaW5wdXQoCiAgICAgICAgICAgIGluY2x1ZGVfbGluZXMsIG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpCiAgICAgICAgcmV0dXJuIFtdCgogICAgZGVmIGdldF9kb2NfbGluayhzZWxmLCBuYW1lLCBuYW1lc3BhY2UpOgogICAgICAgICIiIkRldGVybWluZSB0aGUgZG9jdW1lbnRhdGlvbiBsaW5rIGZvciBhbiBlbmRwb2ludCIiIgogICAgICAgIGlmIG5hbWUgPT0gInN0cyI6CiAgICAgICAgICAgIHJldHVybiAiaHR0cDovL2F3cy5hbWF6b24uY29tL2RvY3VtZW50YXRpb24vaWFtLyIKICAgICAgICBlbHNlOgogICAgICAgICAgICByZXR1cm4gImh0dHA6Ly9hd3MuYW1hem9uLmNvbS9kb2N1bWVudGF0aW9uLyIgKyBuYW1lc3BhY2UubG93ZXIoKQoKICAgIGRlZiBnZXRfbG9jYXRvcl9uYW1lKHNlbGYsIG5hbWUpOgogICAgICAgICIiIkRldGVybWluZSB0aGUgc2VydmljZSBsb2NhdG9yIG5hbWUgZm9yIGFuIGVuZHBvaW50IiIiCiAgICAgICAgcmV0dXJuIG5hbWUKCiAgICBkZWYgZ2VuZXJhdGVfcnN0KHNlbGYsIGQsIGFwaV92ZXJzaW9uKToKICAgICAgICByYXd0ZXh0ID0gIiIKICAgICAgICBzY2FsYXIgPSB7fQogICAgICAgICMgU29ydCB0aGUgb3BlcmF0aW9ucyBieSBrZXkKICAgICAgICBvcGVyYXRpb25zID0gY29sbGVjdGlvbnMuT3JkZXJlZERpY3Qoc29ydGVkKGQuZGVzY3JpcHRpb25bJ29wZXJhdGlvbnMnXS5pdGVtcygpKSkKCiAgICAgICAgIyBHcmFiIGFsbCBvZiB0aGUgc2ltcGxlIHN0cmluZ3MgZnJvbSB0aGUgZGVzY3JpcHRpb24KICAgICAgICBmb3Iga2V5IGluIGQuZGVzY3JpcHRpb246CiAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZFtrZXldLCBzdHIpIG9yIGlzaW5zdGFuY2UoZFtrZXldLCB1bmljb2RlKToKICAgICAgICAgICAgICAgIHNjYWxhcltrZXldID0gZFtrZXldCiAgICAgICAgICAgICAgICAjIEFkZCBzdWJzdGl0dXRpb25zIGZvciB0b3AtbGV2ZWwgZGF0YSBpbiBhIHNlcnZpY2UgZGVzY3JpcHRpb24KICAgICAgICAgICAgICAgIHJhd3RleHQgKz0gIi4uIHwlc3wgcmVwbGFjZTo6ICVzXG5cbiIgJSAoa2V5LCBzY2FsYXJba2V5XSkKCiAgICAgICAgIyBBZGQgbWFnaWMgbWV0aG9kcyB0byBlYWNoIG9wZXJhdGlvbgogICAgICAgIGZvciBrZXkgaW4gb3BlcmF0aW9uczoKICAgICAgICAgICAgb3BlcmF0aW9uc1trZXldWydtYWdpY01ldGhvZCddID0ga2V5WzBdLmxvd2VyKCkgKyBrZXlbMTpdCgogICAgICAgICMgU2V0IHRoZSBvcmRlcmVkIGRpY3Qgb2Ygb3BlcmF0aW9ucyBvbiB0aGUgZGVzY3JpcHRpb24KICAgICAgICBkLmRlc2NyaXB0aW9uWydvcGVyYXRpb25zJ10gPSBvcGVyYXRpb25zCgogICAgICAgICMgRGV0ZXJtaW5lIHRoZSBzZXJ2aWNlIGxvY2F0b3IgbmFtZSBhbmQgZG9jIFVSTAogICAgICAgIGxvY2F0b3JfbmFtZSA9IHNlbGYuZ2V0X2xvY2F0b3JfbmFtZShkWyJuYW1lc3BhY2UiXSkKICAgICAgICBkb2NzID0gc2VsZi5nZXRfZG9jX2xpbmsobG9jYXRvcl9uYW1lLCBkWyJuYW1lc3BhY2UiXSkKCiAgICAgICAgIyBEZXRlcm1pbmUgdGhlICJuYW1lc3BhY2UiIHVzZWQgZm9yIGxpbmtpbmcgdG8gQVBJIGRvY3MKICAgICAgICBpZiBhcGlfdmVyc2lvbjoKICAgICAgICAgICAgYXBpVmVyc2lvblN1ZmZpeCA9ICJfIiArIGFwaV92ZXJzaW9uLnJlcGxhY2UoIi0iLCAiXyIpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgYXBpVmVyc2lvblN1ZmZpeCA9ICIiCgogICAgICAgIGVudiA9IEVudmlyb25tZW50KGxvYWRlcj1QYWNrYWdlTG9hZGVyKCdhd3MnLCAndGVtcGxhdGVzJykpCiAgICAgICAgdGVtcGxhdGUgPSBlbnYuZ2V0X3RlbXBsYXRlKCJjbGllbnRfaW50cm8iKQogICAgICAgIHJhd3RleHQgKz0gdGVtcGxhdGUucmVuZGVyKAogICAgICAgICAgICBzY2FsYXIsCiAgICAgICAgICAgIGRlc2NyaXB0aW9uPWQuZGVzY3JpcHRpb24sCiAgICAgICAgICAgIHJlZ2lvbnM9Z2V0X3JlZ2lvbnMoZFsibmFtZXNwYWNlIl0pLAogICAgICAgICAgICBsb2NhdG9yX25hbWU9bG9jYXRvcl9uYW1lLAogICAgICAgICAgICBkb2NfdXJsPWRvY3MsCiAgICAgICAgICAgIHNwZWNpZmllZEFwaVZlcnNpb249YXBpX3ZlcnNpb24sCiAgICAgICAgICAgIGFwaVZlcnNpb25TdWZmaXg9YXBpVmVyc2lvblN1ZmZpeCkKCiAgICAgICAgcmV0dXJuIHJhd3RleHQKCgpjbGFzcyBFeGFtcGxlRGlyZWN0aXZlKERpcmVjdGl2ZSk6CiAgICAiIiIKICAgIEluc2VydHMgYSBmb3JtYXR0ZWQgUEhQVW5pdCBleGFtcGxlIGludG8gdGhlIHNvdXJjZQogICAgIiIiCgogICAgIyBEaXJlY3RpdmUgY29uZmlndXJhdGlvbgogICAgcmVxdWlyZWRfYXJndW1lbnRzID0gMgogICAgb3B0aW9uYWxfYXJndW1lbnRzID0gMAogICAgZmluYWxfYXJndW1lbnRfd2hpdGVzcGFjZSA9IFRydWUKCiAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgIHNlbGYuZW5kX2Z1bmN0aW9uID0gIiAgICB9XG4iCiAgICAgICAgc2VsZi5iZWdpbl90YWcgPSAiICAgICAgICAvLyBAYmVnaW5cbiIKICAgICAgICBzZWxmLmVuZF90YWcgPSAiICAgICAgICAvLyBAZW5kXG4iCgogICAgICAgIGV4YW1wbGVfZmlsZSA9IHNlbGYuYXJndW1lbnRzWzBdLnN0cmlwKCkKICAgICAgICBleGFtcGxlX25hbWUgPSBzZWxmLmFyZ3VtZW50c1sxXS5zdHJpcCgpCgogICAgICAgIGlmIG5vdCBleGFtcGxlX25hbWU6CiAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIk11c3Qgc3BlY2lmeSBib3RoIGFuIGV4YW1wbGUgZmlsZSBhbmQgZXhhbXBsZSBuYW1lIikKCiAgICAgICAgY29udGVudHMgPSBzZWxmLmxvYWRfZXhhbXBsZShleGFtcGxlX2ZpbGUsIGV4YW1wbGVfbmFtZSkKICAgICAgICByYXd0ZXh0ID0gc2VsZi5nZW5lcmF0ZV9yc3QoY29udGVudHMpCiAgICAgICAgdGFiX3dpZHRoID0gNAogICAgICAgIGluY2x1ZGVfbGluZXMgPSBzdGF0ZW1hY2hpbmUuc3RyaW5nMmxpbmVzKAogICAgICAgICAgICByYXd0ZXh0LCB0YWJfd2lkdGgsIGNvbnZlcnRfd2hpdGVzcGFjZT0xKQogICAgICAgIHNlbGYuc3RhdGVfbWFjaGluZS5pbnNlcnRfaW5wdXQoCiAgICAgICAgICAgIGluY2x1ZGVfbGluZXMsIG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpCiAgICAgICAgcmV0dXJuIFtdCgogICAgZGVmIGxvYWRfZXhhbXBsZShzZWxmLCBleGFtcGxlX2ZpbGUsIGV4YW1wbGVfbmFtZSk6CiAgICAgICAgIiIiTG9hZHMgdGhlIGNvbnRlbnRzIG9mIGFuIGV4YW1wbGUgYW5kIHN0cmlwcyBvdXQgbm9uLWV4YW1wbGUgcGFydHMiIiIKICAgICAgICBrZXkgPSBleGFtcGxlX2ZpbGUgKyAnLicgKyBleGFtcGxlX25hbWUKCiAgICAgICAgIyBDaGVjayBpZiB0aGlzIGV4YW1wbGUgaXMgY2FjaGVkIGFscmVhZHkKICAgICAgICBpZiBrZXkgaW4gZXhhbXBsZV9jYWNoZToKICAgICAgICAgICAgcmV0dXJuIGV4YW1wbGVfY2FjaGVba2V5XQoKICAgICAgICAjIE5vdCBjYWNoZWQsIHNvIGluZGV4IHRoZSBleGFtcGxlIGZpbGUgZnVuY3Rpb25zCiAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXyArICIvLi4vLi4vLi4vLi4vdGVzdHMvQXdzL1Rlc3RzLyIgKyBleGFtcGxlX2ZpbGUpCgogICAgICAgIGYgPSBvcGVuKHBhdGgsICdyJykKICAgICAgICBpbl9leGFtcGxlID0gRmFsc2UKICAgICAgICBjYXB0dXJpbmcgPSBGYWxzZQogICAgICAgIGJ1ZmZlciA9ICIiCgogICAgICAgICMgU2NhbiBlYWNoIGxpbmUgb2YgdGhlIGZpbGUgYW5kIGNyZWF0ZSBleGFtcGxlIGhhc2hlcwogICAgICAgIGZvciBsaW5lIGluIGY6CiAgICAgICAgICAgIGlmIGluX2V4YW1wbGU6CiAgICAgICAgICAgICAgICBpZiBsaW5lID09IHNlbGYuZW5kX2Z1bmN0aW9uOgogICAgICAgICAgICAgICAgICAgIGlmIGluX2V4YW1wbGU6CiAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGVfY2FjaGVbaW5fZXhhbXBsZV0gPSBidWZmZXIKICAgICAgICAgICAgICAgICAgICBidWZmZXIgPSAiIgogICAgICAgICAgICAgICAgICAgIGluX2V4YW1wbGUgPSBGYWxzZQogICAgICAgICAgICAgICAgZWxpZiBsaW5lID09IHNlbGYuYmVnaW5fdGFnOgogICAgICAgICAgICAgICAgICAgICMgTG9vayBmb3IgdGhlIG9wZW5pbmcgLy8gQGJlZ2luIHRhZyB0byBiZWdpbiBjYXB0dXJpbmcKICAgICAgICAgICAgICAgICAgICBidWZmZXIgPSAiIgogICAgICAgICAgICAgICAgICAgIGNhcHR1cmluZyA9IFRydWUKICAgICAgICAgICAgICAgIGVsaWYgbGluZSA9PSBzZWxmLmVuZF90YWc6CiAgICAgICAgICAgICAgICAgICAgIyBMb29rIGZvciB0aGUgb3B0aW9uYWwgY2xvc2luZyB0YWcgdG8gc3RvcCBjYXB0dXJpbmcKICAgICAgICAgICAgICAgICAgICBjYXB0dXJpbmcgPSBGYWxzZQogICAgICAgICAgICAgICAgZWxpZiBjYXB0dXJpbmc6CiAgICAgICAgICAgICAgICAgICAgYnVmZmVyICs9IGxpbmUKICAgICAgICAgICAgZWxpZiAicHVibGljIGZ1bmN0aW9uIHRlc3QiIGluIGxpbmU6CiAgICAgICAgICAgICAgICAjIEdyYWIgdGhlIGZ1bmN0aW9uIG5hbWUgZnJvbSB0aGUgbGluZSBhbmQga2VlcCB0cmFjayBvZiB0aGUKICAgICAgICAgICAgICAgICMgbmFtZSBvZiB0aGUgY3VycmVudCBleGFtcGxlIGJlaW5nIGNhcHR1cmVkCiAgICAgICAgICAgICAgICBjdXJyZW50X25hbWUgPSByZS5zZWFyY2goJ2Z1bmN0aW9uICguKylccypcKCcsIGxpbmUpLmdyb3VwKDEpCiAgICAgICAgICAgICAgICBpbl9leGFtcGxlID0gZXhhbXBsZV9maWxlICsgIi4iICsgY3VycmVudF9uYW1lCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgcmV0dXJuIGV4YW1wbGVfY2FjaGVba2V5XQoKICAgIGRlZiBnZW5lcmF0ZV9yc3Qoc2VsZiwgY29udGVudHMpOgogICAgICAgIHJhd3RleHQgPSAiLi4gY29kZS1ibG9jazo6IHBocFxuXG4iICsgY29udGVudHMKICAgICAgICByZXR1cm4gcmF3dGV4dAo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_snippets/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_snippets/incomplete.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgouLiBhZG1vbml0aW9uOjogVGhpcyBndWlkZSBpcyBpbmNvbXBsZXRlCgogICAgVGhpcyBndWlkZSBpcyBub3QgcXVpdGUgZmluaXNoZWQuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSBnb29kIHdheSB0byBjb250cmlidXRlIHRvIHRoZSBTREsgYW5kIHRvIHRoZSByZXN0IG9mCiAgICB0aGUgQVdTIFBIUCBjb21tdW5pdHksIHRoZW4gaGVscGluZyB0byB3cml0ZSBkb2N1bWVudGF0aW9uIGlzIGEgZ3JlYXQgcGxhY2UgdG8gc3RhcnQuIE91ciBndWlkZXMgYXJlIHdyaXR0ZW4KICAgIGluIGBSZVN0cnVjdHVyZWRUZXh0IDxodHRwOi8vZG9jdXRpbHMuc291cmNlZm9yZ2UubmV0L3JzdC5odG1sPmBfIGFuZCBnZW5lcmF0ZWQgdXNpbmcKICAgIGBTcGhpbnggPGh0dHA6Ly9zcGhpbngtZG9jLm9yZy8+YF8uIEZlZWwgZnJlZSB0byBhZGQgc29tZSBjb250ZW50IHRvIG91ciBkb2N1bWVudGF0aW9uIGFuZCBzZW5kIGEgcHVsbCByZXF1ZXN0CiAgICB0byBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstcGhwLiBZb3UgY2FuIHZpZXcgb3VyIGRvY3VtZW50YXRpb24gc291cmNlcyBhdAogICAgaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3Mtc2RrLXBocC90cmVlL21hc3Rlci9kb2NzLgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_snippets/iterators-intro.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[U29tZSBBV1Mgb3BlcmF0aW9ucyByZXR1cm4gdHJ1bmNhdGVkIHJlc3VsdHMgdGhhdCByZXF1aXJlIHN1YnNlcXVlbnQgcmVxdWVzdHMgaW4gb3JkZXIgdG8gcmV0cmlldmUgdGhlIGVudGlyZSByZXN1bHQKc2V0LiBUaGUgc3Vic2VxdWVudCByZXF1ZXN0cyB0eXBpY2FsbHkgcmVxdWlyZSBwYWdpbmF0aW9uIHRva2VucyBvciBtYXJrZXJzIGZyb20gdGhlIHByZXZpb3VzIHJlcXVlc3QgaW4gb3JkZXIgdG8KcmV0cmlldmUgdGhlIG5leHQgc2V0IG9mIHJlc3VsdHMuIFdvcmtpbmcgd2l0aCB0aGVzZSB0b2tlbnMgY2FuIGJlIGN1bWJlcnNvbWUsIHNpbmNlIHlvdSBtdXN0IG1hbnVhbGx5IGtlZXAgdHJhY2sgb2YKdGhlbSwgYW5kIHRoZSBBUEkgZm9yIGVhY2ggc2VydmljZSBtYXkgZGlmZmVyIGluIGhvdyBpdCB1c2VzIHRoZW0uCgpUaGUgQVdTIFNESyBmb3IgUEhQIGhhcyBhIGZlYXR1cmUgY2FsbGVkICoqaXRlcmF0b3JzKiogdGhhdCBhbGxvdyB5b3UgdG8gcmV0cmlldmUgYW4gKmVudGlyZSogcmVzdWx0IHNldCB3aXRob3V0Cm1hbnVhbGx5IGhhbmRsaW5nIHBhZ2luYXRpb24gdG9rZW5zIG9yIG1hcmtlcnMuIFRoZSBpdGVyYXRvcnMgaW4gdGhlIFNESyBpbXBsZW1lbnQgUEhQJ3MgYGBJdGVyYXRvcmBgIGludGVyZmFjZSwgd2hpY2gKYWxsb3dzIHlvdSB0byBlYXNpbHkgZW51bWVyYXRlIG9yIGl0ZXJhdGUgdGhyb3VnaCByZXNvdXJjZXMgZnJvbSBhIHJlc3VsdCBzZXQgd2l0aCBgYGZvcmVhY2hgYC4KCllvdSBjYW4gZmluZCBhIGxpc3Qgb2YgdGhlIGl0ZXJhdG9ycyBzdXBwb3J0ZWQgYnkgYSBjbGllbnQgYnkgdmlld2luZyB0aGUgZG9jYmxvY2sgb2YgYSBjbGllbnQuIEFueSBgYEBtZXRob2RgYCB0YWcgdGhhdApoYXMgYSBuYW1lIHRoYXQgbG9va3MgbGlrZSAiYGBnZXRb4oCmXUl0ZXJhdG9yYGAiIHdpbGwgcmV0dXJuIGFuIGl0ZXJhdG9yLiBGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZyBjb2RlIHVzZXMgdGhlCmBgZ2V0TGlzdE9iamVjdHNJdGVyYXRvcigpYGAgbWV0aG9kIG9mIHRoZSBTMyBjbGllbnQgb2JqZWN0IHRvIGNyZWF0ZSBhbiBpdGVyYXRvciBmb3Igb2JqZWN0cyBpbiBhIGJ1Y2tldC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkaXRlcmF0b3IgPSAkY2xpZW50LT5nZXRMaXN0T2JqZWN0c0l0ZXJhdG9yKGFycmF5KCdCdWNrZXQnID0+ICdteS1idWNrZXQnKSk7CgogICAgZm9yZWFjaCAoJGl0ZXJhdG9yIGFzICRvYmplY3QpIHsKICAgICAgICBlY2hvICRvYmplY3RbJ0tleSddIC4gIlxuIjsKICAgIH0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_snippets/models-intro.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VGhlIHJlc3VsdCBvZiBhIGNvbW1hbmQgaXMgYSBgTW9kZWwgPGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1HdXp6bGUuU2VydmljZS5SZXNvdXJjZS5Nb2RlbC5odG1sPmBfCihgYEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsYGApIG9iamVjdC4gVGhpcyBvYmplY3QgY29udGFpbnMgdGhlIGRhdGEgZnJvbSBhIHJlc3BvbnNlIGJvZHkgYW5kIGNhbiBiZSB1c2VkIGxpa2UgYW4KYXJyYXkgKGUuZy4sIGBgJHJlc3VsdFsnVGFibGVOYW1lJ11gYCkuIEl0IGFsc28gaGFzIGNvbnZlbmllbmNlIG1ldGhvZHMgbGlrZSBgYGdldCgpYGAsIGBgZ2V0UGF0aCgpYGAsIGFuZApgYHRvQXJyYXkoKWBgLiBUaGUgY29udGVudHMgb2YgdGhlIHJlc3BvbnNlIG1vZGVsIGRlcGVuZCBvbiB0aGUgY29tbWFuZCB0aGF0IHdhcyBleGVjdXRlZCBhbmQgYXJlIGRvY3VtZW50ZWQgaW4gdGhlIEFQSQpkb2NzIGZvciBlYWNoIG9wZXJhdGlvbiAoZS5nLiwgc2VlIHRoZSAqUmV0dXJucyogc2VjdGlvbiBpbiB0aGUgQVBJIGRvY3MgZm9yIHRoZSBgUzMgR2V0T2JqZWN0IG9wZXJhdGlvbgo8aHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5TMy5TM0NsaWVudC5odG1sI19nZXRPYmplY3Q+YF8pLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIFVzZSBhbiBpbnN0YW5jZSBvZiBTM0NsaWVudCB0byBnZXQgYW4gb2JqZWN0CiAgICAkcmVzdWx0ID0gJGNsaWVudC0+Z2V0T2JqZWN0KGFycmF5KAogICAgICAgICdCdWNrZXQnID0+ICdteS1idWNrZXQnLAogICAgICAgICdLZXknICAgID0+ICd0ZXN0LnR4dCcKICAgICkpOwoKICAgIC8vIEludHJvc3BlY3QgdGhlIGtleXMKICAgIHZhcl9leHBvcnQoJHJlc3VsdC0+Z2V0S2V5cygpKTsKICAgIC8vPiBhcnJheSggJ0JvZHknLCAnQ29udGVudExlbmd0aCcsICdEZWxldGVNYXJrZXInLCAnRXhwaXJhdGlvbicsIC4uLiApCgogICAgLy8gR2V0IGEgdmFsdWUKICAgIGVjaG8gJHJlc3VsdFsnQ29udGVudExlbmd0aCddOwogICAgLy8gT1IKICAgIGVjaG8gJHJlc3VsdC0+Z2V0KCdDb250ZW50TGVuZ3RoJyk7CiAgICAvLz4gNgoKICAgIC8vIEdldCBhIG5lc3RlZCB2YWx1ZQogICAgZWNobyAkcmVzdWx0LT5nZXRQYXRoKCdNZXRhZGF0YS9DdXN0b21WYWx1ZScpOwogICAgLy8+IFRlc3RpbmcxMjMKCiAgICAvLyBHZXQgYW4gYXJyYXkgb2YgdGhlIGRhdGEKICAgIHZhcl9leHBvcnQoJHJlc3VsdC0+dG9BcnJheSgpKTsKICAgIC8vPiBhcnJheSAoICdCb2R5JyA9PiAnSGVsbG8hJyAsICdDb250ZW50TGVuZ3RoJyA9PiA2LCAuLi4gKQoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_snippets/waiters-intro.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[T25lIG9mIHRoZSBoaWdoZXItbGV2ZWwgYWJzdHJhY3Rpb25zIHByb3ZpZGVkIGJ5IHRoZSBTREsgYXJlICoqd2FpdGVycyoqLiBXYWl0ZXJzIGhlbHAgbWFrZSBpdCBlYXNpZXIgdG8gd29yayB3aXRoCipldmVudHVhbGx5IGNvbnNpc3RlbnQqIHN5c3RlbXMgYnkgcHJvdmlkaW5nIGFuIGVhc3kgd2F5IHRvIHdhaXQgdW50aWwgYSByZXNvdXJjZSBlbnRlcnMgaW50byBhIHBhcnRpY3VsYXIgc3RhdGUgYnkKcG9sbGluZyB0aGUgcmVzb3VyY2UuIFlvdSBjYW4gZmluZCBhIGxpc3Qgb2YgdGhlIHdhaXRlcnMgc3VwcG9ydGVkIGJ5IGEgY2xpZW50IGJ5IHZpZXdpbmcgdGhlIGRvY2Jsb2NrIG9mIGEgY2xpZW50LiBBbnkKYGBAbWV0aG9kYGAgdGFnIHRoYXQgaGFzIGEgbmFtZSBzdGFydGluZyB3aXRoICJgYHdhaXRVbnRpbGBgIiB3aWxsIHV0aWxpemUgYSB3YWl0ZXIuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGNsaWVudC0+d2FpdFVudGlsQnVja2V0RXhpc3RzKGFycmF5KCdCdWNrZXQnID0+ICdteS1idWNrZXQnKSk7CgpUaGUgcHJlY2VkaW5nIG1ldGhvZCBpbnZvY2F0aW9uIHdpbGwgaW5zdGFudGlhdGUgYSB3YWl0ZXIgb2JqZWN0IGFuZCBwb2xsIHRoZSBidWNrZXQgdW50aWwgaXQgZXhpc3RzLgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_static/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_static/logo.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAKAAAAA/CAIAAADonVTsAAABdGlDQ1BJQ0MgUHJvZmlsZQAAGBmtkTFLw0AUx/+JlSoW2qFIB4cDRRwSiXVoi1PaghUcSlVQt/QaW6FpjyRF/Q4uOoiToH4HXRwcxUEHwUHEzyAUukiJ75KhU3Hx4O793rs/7+69B6i+JUQ7BsDp+G5tvch29/ZZ/AMqZpFAEnmLe8KsVjdJMmYN3qHIqzdd5hojGheeadgeB5QpEvCGxx1imUPjwvWJL4n1I19IfiJOu/RB4k/JzYi/JddDVmUpaXe7VgLUDHGqHvGS5GbEecm8ZTVIUyHWoj8QAdOVMssZBd0MvX88nHaP6gyX7FbC7uxskU3RnkMFZTDkYKAAHaZvH1O9QKkrTtzDZstnJnXWZqWuI3q+7Wpso8OXNZY1VgypkzOTFujXwlkos6+jWPcaKMwDE6ejWP0CuH8AMs+j2MIVkFwD7l6E5VpRPjqVQewv3ztYzYZ6JVEEJr+CoL8IxM+B4VkQ/NwEwfCW3qeZPbZ/AXAMYuLfdNBVAAAOBklEQVR4Ae2cTWxc1RXHn6uo6SaOxCILMhHho1JtRJxuaiMISBQHiOmijVESKgEOIqGbRhSStipBglCpjSOou2oqEnfTOOCkXZSgxC5IFIRtVk1FnEoUiIjNEiXppu0m/T3/8cmZ+96MZ94bT8bjGT09n3vuueeec8899+Pc+9x29erVqPVr3hZYcd1U++LdaOZ09OmJWIBb+qPCg9GN91YnTH4O1dW3JKnb6urB/7sczYxHF/4cXTwd/ffLsMFW3hCtezC6uT9ae1/09dVhrtL5OaTzbVpsvQx85bPo09ej2Xei2fGF23Jtb2zp9d+P2m++RpyfwzVeywiql4HVpP/5MvrineiT1+N3qgffeF9067ao0FvSg/NzWEbGjVWti4GPfzOeZfFLxl77MVbzfDY3BzMsY1Qe+8nXmaG3fxzj8nMwzssMqIuBf9/2Vasyy2LmeEmV5qOaXzEqw7j59665RX5+DsvMrqZufQ1s1QJgaczctTfGnR2MvTl1eg4MnJmDL7ic4OtnYLVyGfvVlmA5GdXr+jWfaMHN1wItAzefTYs0ahm4qDmaL9EycPPZtEijloGLmqP5Ei0DN59NizRqGbioOZov0TJw89m0SKO6nAdv+ziOOROr4oyhwh+nDsS5iFHrl59DhfU2HVldIlnWapwFEY9UtJnIMz8fyeIMWJFq3t+4wQoVAfk5FLFr/kQJA+e/LLEgB50m9RyM23hyX+yvPFX98nOoqrqlSewMnP+yRH4OS7MRG1nqOQPnvyyRn0MjN9JSls15cP7LEvk5LOWmbEzZ266O3NaA1y1OjI7+dXx8cnLy31euqOG6e3o6OzufGBgorFvnm/Keu+/2yb+9/z5Jiv/p5EnhC4XCj/fssVJlsjwfMalQBohvXb8+KJ6a/OTCBY+/cvny2NgYtVyZU7O9vf3+3t7Nmze3rw7vHHo1V65cOf722/CpRJe2q4fna2yM6xbT5849vXv37MzMvFhFf1e1tz+/f3//I48YNmhZWvDpXbvGx8aMAIBSx0ZGsPSjO3acn572WcC/Hhz0DMFUKwNFAjGCKizpDTw5MbFv796kpmsLhYODgz133mmlkvzh8/CWLZXo4gzs+V2n6xa0LDYwr/USefiPIyOmf9CyOPrU5KQnFgweA588MXcFrDgb87956pS5eAYZ4BeIUVzDtZQZGOv+cMeOaxkJyOtIZsC/lJqBLhQsEclitzq176tKAVIv0yRkKkJk4vDygQOBdTs6OxG6iHMU/WF4OMBYMtW65IJPtS5Z1Mg4aRzyy2CsAgCrCMPIzCgV5AZJCCALkJYspWagC/R1iWSZXGUBXMfLzUj1u8OHO2+/nUL7nnvOm4e5uSyniKacmZlJjn6Uoscw4QVZ/zx/Xgwzy8A0H4g0PDwcdFajGT561GchEppSHKPaqAsBZHueeSZg65PldRFlCQ/2bOoFa6FhtdEcsi4Y5l3DA/jW8XjBfzl16tjx46y2zGOMhun2zbfeIouVjCEB6A1KZpYBS/iHpg+EHNi506aVk/MLQFWKdkwQPIGaAZkXmFFtQV1E30AejP7vvvcebU0r82YxaSolV5WWFQC0rHWLH2zd6ocEsmwxxWo8WIiJT01kmLl4kdWTF4yqzX0ZJPz4ganM8AAkrWdABrGp4xn285tfaZbSRfQNZGAEUkeWZMxArESmp6dReHZ21qtXBu6Zn+diboWCp2QT4pOl4PwyYF0zkmphVWx9FI181XTIIOk7JcSpBmY35UuVgRvLwBL06JEj7GJtNiojfTJr1apVSaQw3d3dpbKS+MwyUNBbCM5+riHp3TdZb4Cpijgoq2RjGRivTd2qpoq+SMg8MjCi/vLAAS8Y64DyCyVPvBhwYxk4sC4TEjPxd7q7GWzL7xpr2DR5ZAimXuRncK6hbBlYNZCBGdz8sEzrEH5KnYEy6FlhkTwyDL36qpefGrEuM3qFVS8S2Yoo/2WJ/BzmlCMk65UMpi6ftXhwZhlYD/52aMgLFseUH3jAYwSzovbIYGMWJANiX7BCeEW0+rZo48/iJ3lZwvMoc90iP4e5isosL2k+LwswM6WtS4OsPMlsMiBMMDgjA9swxReZhv0xSbBsxulNF4BgDAiIM6jmAh3ckuHj697R6IlL0ZaxaMP8Tg6AJEiyINBlGi5sfPjz+LNdHgCS/KrikBA22Fr4tg6cg6I+uJjglB2RTYbHH3uszHKXRTUxqXs3bSIeh2QM2oFfnpiPkBsgBSDLP8KXmIP9BRrdqqHOUhc2/v6riCf4DxupHMq2PD3dbzAwKmsrNq9Enj1ePIgYs+XNr38gUTYZ/nH2bMAnNUm09eChQ2QRmvipi4SgqfboQT+GLJVPVcgSBg54VHJhg0+2/3UsfjiJSv6HjYBhWpLhyBsSZ/pR6Yg8uTjxziefTOOUHVcfGQhCsdE3ZdHF21vS09UsVpVdn5KnSQFL/hkKk/R3j0f3j8ZXWXHW5A8kWRAwkm/4SdH/T0kSp2FYVbFyTsuJcb/Yv9/nbu3vr7l1qSWnDEiIYDDhsI+HcDEwpkoqxelCMFB7GrJ0/OCR2eAKPNj/fwz++wIPP91orPA/bFQmGosm9kXJ036OlYjCsyJlTNZpMa1W2+iBRTGzydC1ceOaNWsIfacum9Ge1RPT8Pn5MyswqoilWTIkzvLbhzZTG88ETuYGWe5OVpJWmLr/fwzWzDZ80f0tFo84xPHZSNRhc1w3GdCIuUaLOwYA9la1XVhUY2DfA6q68uELtuC5K0F16KNqabdNqqrpM13YqKqGPMSPbt/OHjS5e87Ds1ZlCZZ9r6+Pd60YlueT1cDlubZyG6YFKlhkNYyszSEIi382Y35hsah6Nb8Hs4rhFG9RG7Fa5nWzLoI1kIE3btjAw45C7YVhSDKbWvMJw7VnYbj2zXVw5loeAA5zjFIA620uDxMjZM6DValpj4IBH5NBfDwBDMfOnLGKiD6+/NJL0CMVYlAFEz8A1SGtkQFoWUBXg0aUyqUsTMCoVKCFcuEmAmrxnRVY9SoX2ZLLjgYyMIFJxaekuT5rYL9kLSUMx8MQ0KxEf4gAE1jgPhu2JM4HUmX1ZpfJ3S5yoYEzR/FJG1OEghSHhkd8/J1WDCMC8eEwgPia2ZjoIxtcdue2nbV7Vf7qJyqgCBt6Fs/aEemN/SgLE7IUD6Eu68Hk3rNpE7lsbRUwoRbo1SC8VS9REXJ5Ixun5qGN+X/RC/wOR3z9kP6oZKlc8NX8Drz44i033bT32WdVCIAkz+gbbwiz+6mnSJ776KOLn3+uLGBlAXTdcYdywezYtg0YjBEcee01YURv71J8qAIaqlapy5cuqYhhlFRx3khrNJIcaa0W1Y6CYH7zyivQ8za476GHVJb3prvuInfigw/IFR90MT6es3j6XHGGxugBGsiDdZHMOr4BdkYLhlAATkA3x0dxONtNAnDPEKR5EjAYI2BpQ1n8Juzgc85u0R/o+cqBy52KNuiGPXE0O5okPoyvBHzi2NOhQ0YjRZAEF5xjH+lDKUJdStpbF2PxP5XlrQMG3J2y+C6U/k6I7tWKs8YAkxxKonvER3WeYVU00CpagxujLlMLcgMwaqGqLI1hUAmjIrquMfP2M5aOF6empky34OqhDhJg6Nc4jI1U9HBfHyGkb3Vgu6L1rU5nP5yagsbYMowDez7BsQ8BS3UmQlR0CEwFH43PxgQAvNj6AKfW2Ihhp6Uysy8ITG48pA8NYWym3t7e3lj0YuFVpAID1+jCRiBiapK4JBLLohDIQrGNJybkx5qAwZDLW4Bn5Xu0x5eCiekr+m3tiG0GBgbwBvN1y/JMILOk7zFCMngwNyMzBtbRNR3I6AWYCQO8uFmuhquABjUZbFgWxCHu6Wl1RGgwMx5v4xaYCgxcowsbgYipSSyKgfEY5apRsCItJavTA8iS2wWfZ6UyXBBJW/ChA7akFg4DqIVxgjalCtUFB/tibEFuRsBoTNNrLFXXTI7PRpwK6FI3BuNTjFQCkM+/8AKDBzLz6Q0dIlZhepr+qm9oVaoCAxt7XdjgUgc/nSYpiysf/njf6KsH1Ka0C/5BEzMRCoMTMJqhraZGckiiT+A6LCx9pD4g0MCuxWogGnyMFYtYBJDziQzzWy4Yzaw24waslKTfqBdySQNuwN6rRGM8vdisz5n46Q0ysLmm1eKJQaJv//y9PqY2NoS0jBc46yILi9pNDwCStfghLlaEE24k01pLgTSX0tDNCkVtrZoxDFtevxHyBOiM5vQbJiqTlNZkB2nbEuE7OjoANNHqEyb/MSM1MmF/u6vL70eNoQc0/GiATY7PolRv81OAXV/B/JoFvEZUio5siymO2AiPXlap2sqSArIaOGBTu6RZUdMtjJMYZjj5BxtBjISScjtaxDclFhUBIRFtbZlcvedhbIrgYRQXHyj5KpBKNaKyvgUWAbVAA0PY0guTHhm0gThorWu6BDTiTyfAitKCUce0UC7bd9aS5CIbtcNB+wV1RPRSroqrE9vYEFfn90yNALMF1OZSO1FEOnP6tDBePDa42jIqi7ff9bI7ZBuqPasRBBtEcbMNtJEBeEqYaIdtBLZthYOQXjAPS0KKe6TfB4PXdtaYey3IVWzAcgG8bMncoDgcKjgPDnrd4ic1KNmNHEZFFiw4jd9OSApcSrMUuTi6eScTFetMkgBaneFyZXzO+Mh7/ERORQigRQBwIEYgatA2YhsUYZhlSGDwN3kQEv74OsMSI5BpIW6WS9KXSuYGjSCCRjSwJGu9a9ICDTcH10SrFhNrgZaBrSmaE/g/pf5FrqX85qEAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_templates/feedback.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0ibGVmdC1iYXItb3RoZXIiPgogIDxoMz5GZWVkYmFjazwvaDM+CiAgPHAgY2xhc3M9ImZlZWRiYWNrIj5EaWQgeW91IGZpbmQgdGhpcyBwYWdlIHVzZWZ1bD8gRG8geW91IGhhdmUgYSBzdWdnZXN0aW9uPyA8YSBocmVmPSJodHRwczovL3BvcnRhbC5hd3MuYW1hem9uLmNvbS9ncC9hd3MvaHRtbC1mb3Jtcy1jb250cm9sbGVyL2RvY3VtZW50YXRpb24vYXdzX2RvY19mZWVkYmFja18wND9zZXJ2aWNlX25hbWU9QVdTJTIwU0RLJTIwZm9yJTIwUEhQJmd1aWRlX25hbWU9R3VpZGUmYXBpX3ZlcnNpb249e3sgdmVyc2lvbiB9fSZmaWxlX25hbWU9e3sgcGFnZW5hbWUgfX0iPkdpdmUgdXMgZmVlZGJhY2s8L2E+IG9yCiAgc2VuZCB1cyBhIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLXNkay1waHAiPnB1bGwgcmVxdWVzdDwvYT4gb24gR2l0SHViLjwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJsZWZ0LWJhci1vdGhlciI+CiAgPGgzPkZvbGxvdyBVczwvaDM+CiAgPGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9hd3Nmb3JwaHAiIGNsYXNzPSJ0d2l0dGVyLWZvbGxvdy1idXR0b24iIGRhdGEtc2hvdy1jb3VudD0iZmFsc2UiIGRhdGEtbGFuZz0iZW4iPkZvbGxvdyBAYXdzZm9ycGhwPC9hPgogIDxzY3JpcHQ+IWZ1bmN0aW9uKGQscyxpZCl7dmFyIGpzLGZqcz1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKHMpWzBdO2lmKCFkLmdldEVsZW1lbnRCeUlkKGlkKSl7anM9ZC5jcmVhdGVFbGVtZW50KHMpO2pzLmlkPWlkO2pzLnNyYz0iLy9wbGF0Zm9ybS50d2l0dGVyLmNvbS93aWRnZXRzLmpzIjtmanMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoanMsZmpzKTt9fShkb2N1bWVudCwic2NyaXB0IiwidHdpdHRlci13anMiKTs8L3NjcmlwdD4KICA8YnI+CiAgPGlmcmFtZSBzcmM9Imh0dHA6Ly9naGJ0bnMuY29tL2dpdGh1Yi1idG4uaHRtbD91c2VyPWF3cyZyZXBvPWF3cy1zZGstcGhwJnR5cGU9d2F0Y2gmY291bnQ9dHJ1ZSZzaXplPXNtYWxsIgogICAgYWxsb3d0cmFuc3BhcmVuY3k9InRydWUiIGZyYW1lYm9yZGVyPSIwIiBzY3JvbGxpbmc9IjAiIHdpZHRoPSIxMTAiIGhlaWdodD0iMjAiPjwvaWZyYW1lPgogIDxicj4KICA8YSB0aXRsZT0iUmVjZW50IFBvc3RzIChSU1MpIiBocmVmPSJodHRwOi8vYmxvZ3MuYXdzLmFtYXpvbi5jb20vcGhwL2Jsb2cvZmVlZC9yZWNlbnRQb3N0cy5yc3MiPlJlY2VudCBCbG9nIFBvc3RzIDxpbWcgc3JjPSJodHRwOi8vY2RuLmFtYXpvbmJsb2dzLmNvbS9hd3NibG9nL2Fzc2V0cy9mZWVkLWljb24ucG5nIj48L2E+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_templates/layout.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyUtIGV4dGVuZHMgIiFsYXlvdXQuaHRtbCIgJX0KCnslLSBibG9jayBuYXZfbGlua3MgJX0KPGxpPjxhIGhyZWY9Int7IHBhdGh0byhtYXN0ZXJfZG9jKSB9fSI+RG9jczwvYT48L2xpPgo8bGk+PGEgaHJlZj0iaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0LyI+QVBJIERvY3M8L2E+PC9saT4KPGxpPjxhIGhyZWY9Imh0dHA6Ly9ibG9ncy5hd3MuYW1hem9uLmNvbS9waHAiPkJsb2c8L2E+PC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZm9ydW1zLmF3cy5hbWF6b24uY29tL2ZvcnVtLmpzcGE/Zm9ydW1JRD04MCI+Rm9ydW08L2E+PC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLXNkay1waHAvaXNzdWVzIj5Jc3N1ZXM8L2E+PC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vcGFja2FnaXN0Lm9yZy9wYWNrYWdlcy9hd3MvYXdzLXNkay1waHAiPlBhY2thZ2lzdDwvYT48L2xpPgo8bGk+PGEgaHJlZj0iaHR0cDovL2F3cy5hbWF6b24uY29tL3Nka2ZvcnBocCI+SG9tZXBhZ2U8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ii9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3QvYXdzLXNkay1waHAtZ3VpZGUucGRmIj5QREY8L2E+PC9saT4KeyUtIGVuZGJsb2NrICV9Cgp7JSBibG9jayBnYSAlfQp7JSBpZiB0aGVtZV9nb29nbGVfYW5hbHl0aWNzX2FjY291bnQgJX0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9kMzZjejlidXdydTF0dC5jbG91ZGZyb250Lm5ldC9hbXpuVXJjaGluLmpzIj48L3NjcmlwdD4KPCEtLSBTaXRlQ2F0YWx5c3QgY29kZSB2ZXJzaW9uOiBILjI1LjIuCiAgQ29weXJpZ2h0IDE5OTYtMjAxMiBBZG9iZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAgTW9yZSBpbmZvIGF2YWlsYWJsZSBhdCBodHRwOi8vd3d3Lm9tbml0dXJlLmNvbSAtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9kMzZjejlidXdydTF0dC5jbG91ZGZyb250Lm5ldC9qcy9zaXRlY2F0YWx5c3Qvc19jb2RlLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCnMucHJvcDY2PSdBV1MgU0RLIGZvciBQSFAnOyBzLmVWYXI2Nj0nRD1jNjYnOwpzLnByb3A2NT0nVXNlciBHdWlkZSc7IHMuZVZhcjY1PSdEPWM2NSc7CnZhciBzX2NvZGU9cy50KCk7aWYoc19jb2RlKWRvY3VtZW50LndyaXRlKHNfY29kZSk7Ci8vLS0+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0taWYobmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZignTVNJRScpPj0wKWRvY3VtZW50LndyaXRlKHVuZXNjYXBlKCclM0MnKSsnXCEtJysnLScpLy8tLT48L3NjcmlwdD4KPG5vc2NyaXB0PjxpbWcgc3JjPSJodHRwOi8vYW1hem9ud2Vic2VydmljZXMuZDIuc2Mub210cmRjLm5ldC9iL3NzL2F3c2FtYXpvbmRldi8xL0guMjUuMi0tTlMvMCIgaGVpZ2h0PSIxIiB3aWR0aD0iMSIgYm9yZGVyPSIwIiBhbHQ9IiI+PC9ub3NjcmlwdD48IS0tL0RPIE5PVCBSRU1PVkUvLS0+PCEtLSBFbmQgU2l0ZUNhdGFseXN0IGNvZGUgdmVyc2lvbjogSC4yNS4yLiAtLT4KeyUgZW5kaWYgJX0KeyUgZW5kYmxvY2sgJX0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/docs/_templates/sidebarlogo.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHAgY2xhc3M9ImxvZ28gbGVmdC1iYXItb3RoZXIiPgogIDxhIGhyZWY9Int7IHBhdGh0byhtYXN0ZXJfZG9jKSB9fSI+CiAgICA8aW1nIGNsYXNzPSJsb2dvIiBzcmM9Int7IHBhdGh0bygnX3N0YXRpYy9sb2dvLnBuZycsIDEpIH19IiBhbHQ9IkxvZ28iIGhlaWdodD0iNjMiIC8+CiAgPC9hPgo8L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/LICENSE.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBBcGFjaGUgTGljZW5zZQpWZXJzaW9uIDIuMCwgSmFudWFyeSAyMDA0CgpURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgVVNFLCBSRVBST0RVQ1RJT04sIEFORCBESVNUUklCVVRJT04KCiMjIDEuIERlZmluaXRpb25zLgoKIkxpY2Vuc2UiIHNoYWxsIG1lYW4gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBhcyBkZWZpbmVkIGJ5IFNlY3Rpb25zIDEKdGhyb3VnaCA5IG9mIHRoaXMgZG9jdW1lbnQuCgoiTGljZW5zb3IiIHNoYWxsIG1lYW4gdGhlIGNvcHlyaWdodCBvd25lciBvciBlbnRpdHkgYXV0aG9yaXplZCBieSB0aGUgY29weXJpZ2h0IG93bmVyIHRoYXQgaXMgZ3JhbnRpbmcgdGhlCkxpY2Vuc2UuCgoiTGVnYWwgRW50aXR5IiBzaGFsbCBtZWFuIHRoZSB1bmlvbiBvZiB0aGUgYWN0aW5nIGVudGl0eSBhbmQgYWxsIG90aGVyIGVudGl0aWVzIHRoYXQgY29udHJvbCwgYXJlIGNvbnRyb2xsZWQKYnksIG9yIGFyZSB1bmRlciBjb21tb24gY29udHJvbCB3aXRoIHRoYXQgZW50aXR5LiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIG1lYW5zCihpKSB0aGUgcG93ZXIsIGRpcmVjdCBvciBpbmRpcmVjdCwgdG8gY2F1c2UgdGhlIGRpcmVjdGlvbiBvciBtYW5hZ2VtZW50IG9mIHN1Y2ggZW50aXR5LCB3aGV0aGVyIGJ5IGNvbnRyYWN0Cm9yIG90aGVyd2lzZSwgb3IgKGlpKSBvd25lcnNoaXAgb2YgZmlmdHkgcGVyY2VudCAoNTAlKSBvciBtb3JlIG9mIHRoZSBvdXRzdGFuZGluZyBzaGFyZXMsIG9yIChpaWkpIGJlbmVmaWNpYWwKb3duZXJzaGlwIG9mIHN1Y2ggZW50aXR5LgoKIllvdSIgKG9yICJZb3VyIikgc2hhbGwgbWVhbiBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eSBleGVyY2lzaW5nIHBlcm1pc3Npb25zIGdyYW50ZWQgYnkgdGhpcyBMaWNlbnNlLgoKIlNvdXJjZSIgZm9ybSBzaGFsbCBtZWFuIHRoZSBwcmVmZXJyZWQgZm9ybSBmb3IgbWFraW5nIG1vZGlmaWNhdGlvbnMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gc29mdHdhcmUKc291cmNlIGNvZGUsIGRvY3VtZW50YXRpb24gc291cmNlLCBhbmQgY29uZmlndXJhdGlvbiBmaWxlcy4KCiJPYmplY3QiIGZvcm0gc2hhbGwgbWVhbiBhbnkgZm9ybSByZXN1bHRpbmcgZnJvbSBtZWNoYW5pY2FsIHRyYW5zZm9ybWF0aW9uIG9yIHRyYW5zbGF0aW9uIG9mIGEgU291cmNlIGZvcm0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gY29tcGlsZWQgb2JqZWN0IGNvZGUsIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uLCBhbmQgY29udmVyc2lvbnMgdG8gb3RoZXIgbWVkaWEKdHlwZXMuCgoiV29yayIgc2hhbGwgbWVhbiB0aGUgd29yayBvZiBhdXRob3JzaGlwLCB3aGV0aGVyIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybSwgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIExpY2Vuc2UsCmFzIGluZGljYXRlZCBieSBhIGNvcHlyaWdodCBub3RpY2UgdGhhdCBpcyBpbmNsdWRlZCBpbiBvciBhdHRhY2hlZCB0byB0aGUgd29yayAoYW4gZXhhbXBsZSBpcyBwcm92aWRlZCBpbiB0aGUKQXBwZW5kaXggYmVsb3cpLgoKIkRlcml2YXRpdmUgV29ya3MiIHNoYWxsIG1lYW4gYW55IHdvcmssIHdoZXRoZXIgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLCB0aGF0IGlzIGJhc2VkIG9uIChvciBkZXJpdmVkIGZyb20pCnRoZSBXb3JrIGFuZCBmb3Igd2hpY2ggdGhlIGVkaXRvcmlhbCByZXZpc2lvbnMsIGFubm90YXRpb25zLCBlbGFib3JhdGlvbnMsIG9yIG90aGVyIG1vZGlmaWNhdGlvbnMgcmVwcmVzZW50LAphcyBhIHdob2xlLCBhbiBvcmlnaW5hbCB3b3JrIG9mIGF1dGhvcnNoaXAuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBMaWNlbnNlLCBEZXJpdmF0aXZlIFdvcmtzIHNoYWxsIG5vdAppbmNsdWRlIHdvcmtzIHRoYXQgcmVtYWluIHNlcGFyYWJsZSBmcm9tLCBvciBtZXJlbHkgbGluayAob3IgYmluZCBieSBuYW1lKSB0byB0aGUgaW50ZXJmYWNlcyBvZiwgdGhlIFdvcmsKYW5kIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZi4KCiJDb250cmlidXRpb24iIHNoYWxsIG1lYW4gYW55IHdvcmsgb2YgYXV0aG9yc2hpcCwgaW5jbHVkaW5nIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIG9mIHRoZSBXb3JrIGFuZCBhbnkKbW9kaWZpY2F0aW9ucyBvciBhZGRpdGlvbnMgdG8gdGhhdCBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgdGhhdCBpcyBpbnRlbnRpb25hbGx5IHN1Ym1pdHRlZCB0bwpMaWNlbnNvciBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgYnkgYW4gaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkgYXV0aG9yaXplZCB0bwpzdWJtaXQgb24gYmVoYWxmIG9mIHRoZSBjb3B5cmlnaHQgb3duZXIuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCAic3VibWl0dGVkIiBtZWFucyBhbnkgZm9ybSBvZgplbGVjdHJvbmljLCB2ZXJiYWwsIG9yIHdyaXR0ZW4gY29tbXVuaWNhdGlvbiBzZW50IHRvIHRoZSBMaWNlbnNvciBvciBpdHMgcmVwcmVzZW50YXRpdmVzLCBpbmNsdWRpbmcgYnV0IG5vdApsaW1pdGVkIHRvIGNvbW11bmljYXRpb24gb24gZWxlY3Ryb25pYyBtYWlsaW5nIGxpc3RzLCBzb3VyY2UgY29kZSBjb250cm9sIHN5c3RlbXMsIGFuZCBpc3N1ZSB0cmFja2luZyBzeXN0ZW1zCnRoYXQgYXJlIG1hbmFnZWQgYnksIG9yIG9uIGJlaGFsZiBvZiwgdGhlIExpY2Vuc29yIGZvciB0aGUgcHVycG9zZSBvZiBkaXNjdXNzaW5nIGFuZCBpbXByb3ZpbmcgdGhlIFdvcmssIGJ1dApleGNsdWRpbmcgY29tbXVuaWNhdGlvbiB0aGF0IGlzIGNvbnNwaWN1b3VzbHkgbWFya2VkIG9yIG90aGVyd2lzZSBkZXNpZ25hdGVkIGluIHdyaXRpbmcgYnkgdGhlIGNvcHlyaWdodApvd25lciBhcyAiTm90IGEgQ29udHJpYnV0aW9uLiIKCiJDb250cmlidXRvciIgc2hhbGwgbWVhbiBMaWNlbnNvciBhbmQgYW55IGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5IG9uIGJlaGFsZiBvZiB3aG9tIGEgQ29udHJpYnV0aW9uIGhhcyBiZWVuCnJlY2VpdmVkIGJ5IExpY2Vuc29yIGFuZCBzdWJzZXF1ZW50bHkgaW5jb3Jwb3JhdGVkIHdpdGhpbiB0aGUgV29yay4KCiMjIDIuIEdyYW50IG9mIENvcHlyaWdodCBMaWNlbnNlLgoKU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAp3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZSBjb3B5cmlnaHQgbGljZW5zZSB0byByZXByb2R1Y2UsIHByZXBhcmUKRGVyaXZhdGl2ZSBXb3JrcyBvZiwgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkgcGVyZm9ybSwgc3VibGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgdGhlIFdvcmsgYW5kIHN1Y2gKRGVyaXZhdGl2ZSBXb3JrcyBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0uCgojIyAzLiBHcmFudCBvZiBQYXRlbnQgTGljZW5zZS4KClN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUgKGV4Y2VwdCBhcyBzdGF0ZWQgaW4gdGhpcyBzZWN0aW9uKSBwYXRlbnQKbGljZW5zZSB0byBtYWtlLCBoYXZlIG1hZGUsIHVzZSwgb2ZmZXIgdG8gc2VsbCwgc2VsbCwgaW1wb3J0LCBhbmQgb3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBXb3JrLCB3aGVyZSBzdWNoCmxpY2Vuc2UgYXBwbGllcyBvbmx5IHRvIHRob3NlIHBhdGVudCBjbGFpbXMgbGljZW5zYWJsZSBieSBzdWNoIENvbnRyaWJ1dG9yIHRoYXQgYXJlIG5lY2Vzc2FyaWx5IGluZnJpbmdlZCBieQp0aGVpciBDb250cmlidXRpb24ocykgYWxvbmUgb3IgYnkgY29tYmluYXRpb24gb2YgdGhlaXIgQ29udHJpYnV0aW9uKHMpIHdpdGggdGhlIFdvcmsgdG8gd2hpY2ggc3VjaApDb250cmlidXRpb24ocykgd2FzIHN1Ym1pdHRlZC4gSWYgWW91IGluc3RpdHV0ZSBwYXRlbnQgbGl0aWdhdGlvbiBhZ2FpbnN0IGFueSBlbnRpdHkgKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltCm9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQgdGhlIFdvcmsgb3IgYSBDb250cmlidXRpb24gaW5jb3Jwb3JhdGVkIHdpdGhpbiB0aGUgV29yawpjb25zdGl0dXRlcyBkaXJlY3Qgb3IgY29udHJpYnV0b3J5IHBhdGVudCBpbmZyaW5nZW1lbnQsIHRoZW4gYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHRvIFlvdSB1bmRlciB0aGlzCkxpY2Vuc2UgZm9yIHRoYXQgV29yayBzaGFsbCB0ZXJtaW5hdGUgYXMgb2YgdGhlIGRhdGUgc3VjaCBsaXRpZ2F0aW9uIGlzIGZpbGVkLgoKIyMgNC4gUmVkaXN0cmlidXRpb24uCgpZb3UgbWF5IHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mIGluIGFueSBtZWRpdW0sIHdpdGggb3Igd2l0aG91dAptb2RpZmljYXRpb25zLCBhbmQgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLCBwcm92aWRlZCB0aGF0IFlvdSBtZWV0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKCiAgIDEuIFlvdSBtdXN0IGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlOyBhbmQKCiAgIDIuIFlvdSBtdXN0IGNhdXNlIGFueSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgWW91IGNoYW5nZWQgdGhlIGZpbGVzOyBhbmQKCiAgIDMuIFlvdSBtdXN0IHJldGFpbiwgaW4gdGhlIFNvdXJjZSBmb3JtIG9mIGFueSBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsbCBjb3B5cmlnaHQsIHBhdGVudCwKCSAgdHJhZGVtYXJrLCBhbmQgYXR0cmlidXRpb24gbm90aWNlcyBmcm9tIHRoZSBTb3VyY2UgZm9ybSBvZiB0aGUgV29yaywgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbwoJICBub3QgcGVydGFpbiB0byBhbnkgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3JrczsgYW5kCgogICA0LiBJZiB0aGUgV29yayBpbmNsdWRlcyBhICJOT1RJQ0UiIHRleHQgZmlsZSBhcyBwYXJ0IG9mIGl0cyBkaXN0cmlidXRpb24sIHRoZW4gYW55IERlcml2YXRpdmUgV29ya3MgdGhhdAoJICBZb3UgZGlzdHJpYnV0ZSBtdXN0IGluY2x1ZGUgYSByZWFkYWJsZSBjb3B5IG9mIHRoZSBhdHRyaWJ1dGlvbiBub3RpY2VzIGNvbnRhaW5lZCB3aXRoaW4gc3VjaCBOT1RJQ0UKCSAgZmlsZSwgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QgcGVydGFpbiB0byBhbnkgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaW4gYXQgbGVhc3Qgb25lCgkgIG9mIHRoZSBmb2xsb3dpbmcgcGxhY2VzOiB3aXRoaW4gYSBOT1RJQ0UgdGV4dCBmaWxlIGRpc3RyaWJ1dGVkIGFzIHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3M7IHdpdGhpbgoJICB0aGUgU291cmNlIGZvcm0gb3IgZG9jdW1lbnRhdGlvbiwgaWYgcHJvdmlkZWQgYWxvbmcgd2l0aCB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgb3IsIHdpdGhpbiBhIGRpc3BsYXkKCSAgZ2VuZXJhdGVkIGJ5IHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpZiBhbmQgd2hlcmV2ZXIgc3VjaCB0aGlyZC1wYXJ0eSBub3RpY2VzIG5vcm1hbGx5IGFwcGVhci4gVGhlCgkgIGNvbnRlbnRzIG9mIHRoZSBOT1RJQ0UgZmlsZSBhcmUgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seSBhbmQgZG8gbm90IG1vZGlmeSB0aGUgTGljZW5zZS4gWW91IG1heQoJICBhZGQgWW91ciBvd24gYXR0cmlidXRpb24gbm90aWNlcyB3aXRoaW4gRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbG9uZ3NpZGUgb3IgYXMgYW4KCSAgYWRkZW5kdW0gdG8gdGhlIE5PVElDRSB0ZXh0IGZyb20gdGhlIFdvcmssIHByb3ZpZGVkIHRoYXQgc3VjaCBhZGRpdGlvbmFsIGF0dHJpYnV0aW9uIG5vdGljZXMgY2Fubm90IGJlCgkgIGNvbnN0cnVlZCBhcyBtb2RpZnlpbmcgdGhlIExpY2Vuc2UuCgpZb3UgbWF5IGFkZCBZb3VyIG93biBjb3B5cmlnaHQgc3RhdGVtZW50IHRvIFlvdXIgbW9kaWZpY2F0aW9ucyBhbmQgbWF5IHByb3ZpZGUgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQgbGljZW5zZQp0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3RyaWJ1dGlvbiBvZiBZb3VyIG1vZGlmaWNhdGlvbnMsIG9yIGZvciBhbnkgc3VjaCBEZXJpdmF0aXZlCldvcmtzIGFzIGEgd2hvbGUsIHByb3ZpZGVkIFlvdXIgdXNlLCByZXByb2R1Y3Rpb24sIGFuZCBkaXN0cmlidXRpb24gb2YgdGhlIFdvcmsgb3RoZXJ3aXNlIGNvbXBsaWVzIHdpdGggdGhlCmNvbmRpdGlvbnMgc3RhdGVkIGluIHRoaXMgTGljZW5zZS4KCiMjIDUuIFN1Ym1pc3Npb24gb2YgQ29udHJpYnV0aW9ucy4KClVubGVzcyBZb3UgZXhwbGljaXRseSBzdGF0ZSBvdGhlcndpc2UsIGFueSBDb250cmlidXRpb24gaW50ZW50aW9uYWxseSBzdWJtaXR0ZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieQpZb3UgdG8gdGhlIExpY2Vuc29yIHNoYWxsIGJlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHdpdGhvdXQgYW55IGFkZGl0aW9uYWwgdGVybXMgb3IKY29uZGl0aW9ucy4gTm90d2l0aHN0YW5kaW5nIHRoZSBhYm92ZSwgbm90aGluZyBoZXJlaW4gc2hhbGwgc3VwZXJzZWRlIG9yIG1vZGlmeSB0aGUgdGVybXMgb2YgYW55IHNlcGFyYXRlCmxpY2Vuc2UgYWdyZWVtZW50IHlvdSBtYXkgaGF2ZSBleGVjdXRlZCB3aXRoIExpY2Vuc29yIHJlZ2FyZGluZyBzdWNoIENvbnRyaWJ1dGlvbnMuCgojIyA2LiBUcmFkZW1hcmtzLgoKVGhpcyBMaWNlbnNlIGRvZXMgbm90IGdyYW50IHBlcm1pc3Npb24gdG8gdXNlIHRoZSB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgc2VydmljZSBtYXJrcywgb3IgcHJvZHVjdCBuYW1lcyBvZgp0aGUgTGljZW5zb3IsIGV4Y2VwdCBhcyByZXF1aXJlZCBmb3IgcmVhc29uYWJsZSBhbmQgY3VzdG9tYXJ5IHVzZSBpbiBkZXNjcmliaW5nIHRoZSBvcmlnaW4gb2YgdGhlIFdvcmsgYW5kCnJlcHJvZHVjaW5nIHRoZSBjb250ZW50IG9mIHRoZSBOT1RJQ0UgZmlsZS4KCiMjIDcuIERpc2NsYWltZXIgb2YgV2FycmFudHkuCgpVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIExpY2Vuc29yIHByb3ZpZGVzIHRoZSBXb3JrIChhbmQgZWFjaCBDb250cmlidXRvcgpwcm92aWRlcyBpdHMgQ29udHJpYnV0aW9ucykgb24gYW4gIkFTIElTIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzCm9yIGltcGxpZWQsIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBhbnkgd2FycmFudGllcyBvciBjb25kaXRpb25zIG9mIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULApNRVJDSEFOVEFCSUxJVFksIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBZb3UgYXJlIHNvbGVseSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlCmFwcHJvcHJpYXRlbmVzcyBvZiB1c2luZyBvciByZWRpc3RyaWJ1dGluZyB0aGUgV29yayBhbmQgYXNzdW1lIGFueSByaXNrcyBhc3NvY2lhdGVkIHdpdGggWW91ciBleGVyY2lzZSBvZgpwZXJtaXNzaW9ucyB1bmRlciB0aGlzIExpY2Vuc2UuCgojIyA4LiBMaW1pdGF0aW9uIG9mIExpYWJpbGl0eS4KCkluIG5vIGV2ZW50IGFuZCB1bmRlciBubyBsZWdhbCB0aGVvcnksIHdoZXRoZXIgaW4gdG9ydCAoaW5jbHVkaW5nIG5lZ2xpZ2VuY2UpLCBjb250cmFjdCwgb3Igb3RoZXJ3aXNlLCB1bmxlc3MKcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgKHN1Y2ggYXMgZGVsaWJlcmF0ZSBhbmQgZ3Jvc3NseSBuZWdsaWdlbnQgYWN0cykgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNoYWxsIGFueQpDb250cmlidXRvciBiZSBsaWFibGUgdG8gWW91IGZvciBkYW1hZ2VzLCBpbmNsdWRpbmcgYW55IGRpcmVjdCwgaW5kaXJlY3QsIHNwZWNpYWwsIGluY2lkZW50YWwsIG9yIGNvbnNlcXVlbnRpYWwKZGFtYWdlcyBvZiBhbnkgY2hhcmFjdGVyIGFyaXNpbmcgYXMgYSByZXN1bHQgb2YgdGhpcyBMaWNlbnNlIG9yIG91dCBvZiB0aGUgdXNlIG9yIGluYWJpbGl0eSB0byB1c2UgdGhlIFdvcmsKKGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gZGFtYWdlcyBmb3IgbG9zcyBvZiBnb29kd2lsbCwgd29yayBzdG9wcGFnZSwgY29tcHV0ZXIgZmFpbHVyZSBvciBtYWxmdW5jdGlvbiwgb3IKYW55IGFuZCBhbGwgb3RoZXIgY29tbWVyY2lhbCBkYW1hZ2VzIG9yIGxvc3NlcyksIGV2ZW4gaWYgc3VjaCBDb250cmlidXRvciBoYXMgYmVlbiBhZHZpc2VkIG9mIHRoZSBwb3NzaWJpbGl0eQpvZiBzdWNoIGRhbWFnZXMuCgojIyA5LiBBY2NlcHRpbmcgV2FycmFudHkgb3IgQWRkaXRpb25hbCBMaWFiaWxpdHkuCgpXaGlsZSByZWRpc3RyaWJ1dGluZyB0aGUgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBtYXkgY2hvb3NlIHRvIG9mZmVyLCBhbmQgY2hhcmdlIGEgZmVlIGZvciwKYWNjZXB0YW5jZSBvZiBzdXBwb3J0LCB3YXJyYW50eSwgaW5kZW1uaXR5LCBvciBvdGhlciBsaWFiaWxpdHkgb2JsaWdhdGlvbnMgYW5kL29yIHJpZ2h0cyBjb25zaXN0ZW50IHdpdGggdGhpcwpMaWNlbnNlLiBIb3dldmVyLCBpbiBhY2NlcHRpbmcgc3VjaCBvYmxpZ2F0aW9ucywgWW91IG1heSBhY3Qgb25seSBvbiBZb3VyIG93biBiZWhhbGYgYW5kIG9uIFlvdXIgc29sZQpyZXNwb25zaWJpbGl0eSwgbm90IG9uIGJlaGFsZiBvZiBhbnkgb3RoZXIgQ29udHJpYnV0b3IsIGFuZCBvbmx5IGlmIFlvdSBhZ3JlZSB0byBpbmRlbW5pZnksIGRlZmVuZCwgYW5kIGhvbGQKZWFjaCBDb250cmlidXRvciBoYXJtbGVzcyBmb3IgYW55IGxpYWJpbGl0eSBpbmN1cnJlZCBieSwgb3IgY2xhaW1zIGFzc2VydGVkIGFnYWluc3QsIHN1Y2ggQ29udHJpYnV0b3IgYnkgcmVhc29uCm9mIHlvdXIgYWNjZXB0aW5nIGFueSBzdWNoIHdhcnJhbnR5IG9yIGFkZGl0aW9uYWwgbGlhYmlsaXR5LgoKRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/NOTICE.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBBV1MgU0RLIGZvciBQSFAKCjxodHRwOi8vYXdzLmFtYXpvbi5jb20vcGhwPgoKQ29weXJpZ2h0IDIwMTAtMjAxMyBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgoKTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCllvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKCjxodHRwOi8vYXdzLmFtYXpvbi5jb20vYXBhY2hlMi4wPgoKb3IgaW4gdGhlICJsaWNlbnNlIiBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZApvbiBhbiAiQVMgSVMiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyCmV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCnBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCiMgR3V6emxlCgo8aHR0cHM6Ly9naXRodWIuY29tL2d1enpsZS9ndXp6bGU+CgpDb3B5cmlnaHQgKGMpIDIwMTEgTWljaGFlbCBEb3dsaW5nLCBodHRwczovL2dpdGh1Yi5jb20vbXRkb3dsaW5nCgpQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5Cm9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsCmluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbApjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKClRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCmFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgoKVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCkZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQpBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCkxJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCk9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4KVEhFIFNPRlRXQVJFLgoKIyBTeW1mb255Cgo8aHR0cHM6Ly9naXRodWIuY29tL3N5bWZvbnkvc3ltZm9ueT4KCkNvcHlyaWdodCAoYykgMjAwNC0yMDEyIEZhYmllbiBQb3RlbmNpZXIKClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwp0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQKdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCmNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgpJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgpUSEUgU09GVFdBUkUuCgojIERvY3RyaW5lIENvbW1vbgoKPGh0dHBzOi8vZ2l0aHViLmNvbS9kb2N0cmluZS9jb21tb24+CgpDb3B5cmlnaHQgKGMpIDIwMDYtMjAxMiBEb2N0cmluZSBQcm9qZWN0CgpQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCnRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCnRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMKb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvCnNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKClRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbApjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgoKVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCkZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQpBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCkxJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCk9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFClNPRlRXQVJFLgoKIyBNb25vbG9nCgo8aHR0cHM6Ly9naXRodWIuY29tL1NlbGRhZWsvbW9ub2xvZz4KCkNvcHlyaWdodCAoYykgSm9yZGkgQm9nZ2lhbm8KClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwp0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQKdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCmNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgpJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgpUSEUgU09GVFdBUkUuCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/phpunit.functional.xml.dist</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHBocHVuaXQgYm9vdHN0cmFwPSIuL3Rlc3RzL2Jvb3RzdHJhcC5waHAiCiAgICAgICAgIGNvbG9ycz0idHJ1ZSIKICAgICAgICAgcHJvY2Vzc0lzb2xhdGlvbj0iZmFsc2UiCiAgICAgICAgIHN0b3BPbkZhaWx1cmU9ImZhbHNlIgogICAgICAgICBzeW50YXhDaGVjaz0iZmFsc2UiCiAgICAgICAgIGNvbnZlcnRFcnJvcnNUb0V4Y2VwdGlvbnM9InRydWUiCiAgICAgICAgIGNvbnZlcnROb3RpY2VzVG9FeGNlcHRpb25zPSJ0cnVlIgogICAgICAgICBjb252ZXJ0V2FybmluZ3NUb0V4Y2VwdGlvbnM9InRydWUiCiAgICAgICAgIHRlc3RTdWl0ZUxvYWRlckNsYXNzPSJQSFBVbml0X1J1bm5lcl9TdGFuZGFyZFRlc3RTdWl0ZUxvYWRlciI+CgogICAgPHBocD4KICAgICAgICA8IS0tIElmIHlvdSB3YW50IHRvIHJ1biB0aGUgaW50ZWdyYXRpb24gdGVzdHMsIHlvdSB3aWxsIG5lZWQgdG8gcHJvdmlkZQogICAgICAgICAgICAgdGhlIHBhdGggdG8gYSBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24gZmlsZS4gWW91IFdJTEwgYmUgY2hhcmdlZAogICAgICAgICAgICAgZm9yIHlvdXIgdXNhZ2UgaWYgeW91IGNob29zZSB0byBydW4gdGhlIGludGVncmF0aW9uIHRlc3RzLiAtLT4KICAgICAgICA8c2VydmVyIG5hbWU9IkNPTkZJRyIgdmFsdWU9InRlc3Rfc2VydmljZXMuanNvbiIgLz4KCiAgICAgICAgPCEtLSBUaGUgUFJFRklYIGlzIGFkZGVkIHRvIGFueSBnbG9iYWxseSBzaGFyZWQgbmFtZXNwYWNlZAogICAgICAgICAgICAgcmVzb3VyY2VzIHRoYXQgYXJlIGNyZWF0ZWQgZHVyaW5nIGludGVncmF0aW9uIHRlc3RzIC0tPgogICAgICAgIDxzZXJ2ZXIgbmFtZT0iUFJFRklYIiB2YWx1ZT0iaG9zdG5hbWUiIC8+CgogICAgICAgIDwhLS0gU2V0IHRvIG9uZSB0byBlbmFibGUgd2lyZSBsb2dnaW5nIGluIGludGVncmF0aW9uIHRlc3RzIHRoYXQgYXJlCiAgICAgICAgICAgICBjb25maWd1cmVkIHRvIGRvIHdpcmUgbG9nZ2luZyAtLT4KICAgICAgICA8c2VydmVyIG5hbWU9IldJUkVfTE9HR0lORyIgdmFsdWU9IjAiIC8+CgogICAgICAgIDwhLS0gQW4gU0VTLXZlcmlmaWVkIGVtYWlsIGFkZHJlc3MgZm9yIFNFUyBpbnRlZ3JhdGlvbiB0ZXN0cyAtLT4KICAgICAgICA8c2VydmVyIG5hbWU9IlZFUklGSUVEX0VNQUlMIiB2YWx1ZT0iZXhhbXBsZUBleGFtcGxlLmNvbSIgLz4KICAgIDwvcGhwPgoKICAgIDx0ZXN0c3VpdGVzPgogICAgICAgIDx0ZXN0c3VpdGUgbmFtZT0iQXdzIj4KICAgICAgICAgICAgPGRpcmVjdG9yeT4uL3Rlc3RzL0F3cy9UZXN0czwvZGlyZWN0b3J5PgogICAgICAgIDwvdGVzdHN1aXRlPgogICAgPC90ZXN0c3VpdGVzPgoKICAgIDwhLS0gT25seSBleGVjdXRlIGludGVncmF0aW9uIGFuZCBwZXJmb3JtYW5jZSB0ZXN0cyAtLT4KICAgIDxncm91cHM+CiAgICAgICAgPGluY2x1ZGU+CiAgICAgICAgICAgIDxncm91cD5pbnRlZ3JhdGlvbjwvZ3JvdXA+CiAgICAgICAgICAgIDxncm91cD5wZXJmb3JtYW5jZTwvZ3JvdXA+CiAgICAgICAgPC9pbmNsdWRlPgogICAgPC9ncm91cHM+Cgo8L3BocHVuaXQ+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/phpunit.xml.dist</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHBocHVuaXQgYm9vdHN0cmFwPSIuL3Rlc3RzL2Jvb3RzdHJhcC5waHAiCiAgICAgICAgIGNvbG9ycz0idHJ1ZSIKICAgICAgICAgcHJvY2Vzc0lzb2xhdGlvbj0iZmFsc2UiCiAgICAgICAgIHN0b3BPbkZhaWx1cmU9ImZhbHNlIgogICAgICAgICBzeW50YXhDaGVjaz0iZmFsc2UiCiAgICAgICAgIGNvbnZlcnRFcnJvcnNUb0V4Y2VwdGlvbnM9InRydWUiCiAgICAgICAgIGNvbnZlcnROb3RpY2VzVG9FeGNlcHRpb25zPSJ0cnVlIgogICAgICAgICBjb252ZXJ0V2FybmluZ3NUb0V4Y2VwdGlvbnM9InRydWUiCiAgICAgICAgIHRlc3RTdWl0ZUxvYWRlckNsYXNzPSJQSFBVbml0X1J1bm5lcl9TdGFuZGFyZFRlc3RTdWl0ZUxvYWRlciI+CgogICAgPHRlc3RzdWl0ZXM+CiAgICAgICAgPHRlc3RzdWl0ZSBuYW1lPSJBd3MiPgogICAgICAgICAgICA8ZGlyZWN0b3J5PnRlc3RzL0F3cy9UZXN0czwvZGlyZWN0b3J5PgogICAgICAgIDwvdGVzdHN1aXRlPgogICAgPC90ZXN0c3VpdGVzPgoKICAgIDwhLS0gRXhjbHVkZSB0aGUgaW50ZWdyYXRpb24gdGVzdHMgaW4gcmVndWxhciB1bml0IHRlc3RzIC0tPgogICAgPGdyb3Vwcz4KICAgICAgICA8ZXhjbHVkZT4KICAgICAgICAgICAgPGdyb3VwPmludGVncmF0aW9uPC9ncm91cD4KICAgICAgICAgICAgPGdyb3VwPnBlcmZvcm1hbmNlPC9ncm91cD4KICAgICAgICA8L2V4Y2x1ZGU+CiAgICA8L2dyb3Vwcz4KCiAgICA8bG9nZ2luZz4KICAgICAgICA8bG9nIHR5cGU9Imp1bml0IiB0YXJnZXQ9ImJ1aWxkL2FydGlmYWN0cy9sb2dzL2p1bml0LnhtbCIgbG9nSW5jb21wbGV0ZVNraXBwZWQ9ImZhbHNlIiAvPgogICAgPC9sb2dnaW5nPgoKICAgIDxmaWx0ZXI+CiAgICAgICAgPHdoaXRlbGlzdD4KICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9Ii5waHAiPi4vc3JjL0F3czwvZGlyZWN0b3J5PgogICAgICAgICAgICA8ZXhjbHVkZT4KICAgICAgICAgICAgICAgIDxkaXJlY3Rvcnkgc3VmZml4PSJJbnRlcmZhY2UucGhwIj4uL3NyYy9Bd3M8L2RpcmVjdG9yeT4KICAgICAgICAgICAgICAgIDxkaXJlY3Rvcnk+Li9zcmMvQXdzLyoqL0VudW08L2RpcmVjdG9yeT4KICAgICAgICAgICAgICAgIDxkaXJlY3Rvcnk+Li9zcmMvQXdzLyoqL1Jlc291cmNlczwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeT4uL3NyYy9Bd3MvQ29tbW9uL0V4Y2VwdGlvbi9Eb21haW5FeGNlcHRpb24ucGhwPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5Pi4vc3JjL0F3cy9Db21tb24vRXhjZXB0aW9uL0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbi5waHA8L2RpcmVjdG9yeT4KICAgICAgICAgICAgICAgIDxkaXJlY3Rvcnk+Li9zcmMvQXdzL0NvbW1vbi9FeGNlcHRpb24vTG9naWNFeGNlcHRpb24ucGhwPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5Pi4vc3JjL0F3cy9Db21tb24vRXhjZXB0aW9uL092ZXJmbG93RXhjZXB0aW9uLnBocDwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeT4uL3NyYy9Bd3MvQ29tbW9uL0V4Y2VwdGlvbi9PdXRPZkJvdW5kc0V4Y2VwdGlvbi5waHA8L2RpcmVjdG9yeT4KICAgICAgICAgICAgICAgIDxkaXJlY3Rvcnk+Li9zcmMvQXdzL0NvbW1vbi9FeGNlcHRpb24vUnVudGltZUV4Y2VwdGlvbi5waHA8L2RpcmVjdG9yeT4KICAgICAgICAgICAgICAgIDxkaXJlY3Rvcnk+Li9zcmMvQXdzL0NvbW1vbi9FeGNlcHRpb24vVW5leHBlY3RlZFZhbHVlRXhjZXB0aW9uLnBocDwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkV4Y2VwdGlvbi5waHAiPi4vc3JjL0F3cy9BdXRvU2NhbGluZy9FeGNlcHRpb248L2RpcmVjdG9yeT4KICAgICAgICAgICAgICAgIDxkaXJlY3Rvcnkgc3VmZml4PSJFeGNlcHRpb24ucGhwIj4uL3NyYy9Bd3MvQ2xvdWRGb3JtYXRpb24vRXhjZXB0aW9uPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5IHN1ZmZpeD0iRXhjZXB0aW9uLnBocCI+Li9zcmMvQXdzL0Nsb3VkRnJvbnQvRXhjZXB0aW9uPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5IHN1ZmZpeD0iRXhjZXB0aW9uLnBocCI+Li9zcmMvQXdzL0Nsb3VkU2VhcmNoL0V4Y2VwdGlvbjwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkV4Y2VwdGlvbi5waHAiPi4vc3JjL0F3cy9DbG91ZFRyYWlsL0V4Y2VwdGlvbjwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkV4Y2VwdGlvbi5waHAiPi4vc3JjL0F3cy9DbG91ZFdhdGNoL0V4Y2VwdGlvbjwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkV4Y2VwdGlvbi5waHAiPi4vc3JjL0F3cy9EYXRhUGlwZWxpbmUvRXhjZXB0aW9uPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5IHN1ZmZpeD0iRXhjZXB0aW9uLnBocCI+Li9zcmMvQXdzL0RpcmVjdENvbm5lY3QvRXhjZXB0aW9uPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5IHN1ZmZpeD0iRXhjZXB0aW9uLnBocCI+Li9zcmMvQXdzL0R5bmFtb0RiL0V4Y2VwdGlvbjwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkV4Y2VwdGlvbi5waHAiPi4vc3JjL0F3cy9FYzIvRXhjZXB0aW9uPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5IHN1ZmZpeD0iRXhjZXB0aW9uLnBocCI+Li9zcmMvQXdzL0VsYXN0aUNhY2hlL0V4Y2VwdGlvbjwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkV4Y2VwdGlvbi5waHAiPi4vc3JjL0F3cy9FbGFzdGljQmVhbnN0YWxrL0V4Y2VwdGlvbjwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkV4Y2VwdGlvbi5waHAiPi4vc3JjL0F3cy9FbGFzdGljTG9hZEJhbGFuY2luZy9FeGNlcHRpb248L2RpcmVjdG9yeT4KICAgICAgICAgICAgICAgIDxkaXJlY3Rvcnkgc3VmZml4PSJFeGNlcHRpb24ucGhwIj4uL3NyYy9Bd3MvRWxhc3RpY1RyYW5zY29kZXIvRXhjZXB0aW9uPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5IHN1ZmZpeD0iRXhjZXB0aW9uLnBocCI+Li9zcmMvQXdzL0Vtci9FeGNlcHRpb248L2RpcmVjdG9yeT4KICAgICAgICAgICAgICAgIDxkaXJlY3Rvcnkgc3VmZml4PSJFeGNlcHRpb24ucGhwIj4uL3NyYy9Bd3MvR2xhY2llci9FeGNlcHRpb248L2RpcmVjdG9yeT4KICAgICAgICAgICAgICAgIDxkaXJlY3Rvcnkgc3VmZml4PSJFeGNlcHRpb24ucGhwIj4uL3NyYy9Bd3MvSWFtL0V4Y2VwdGlvbjwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkV4Y2VwdGlvbi5waHAiPi4vc3JjL0F3cy9JbXBvcnRFeHBvcnQvRXhjZXB0aW9uPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5IHN1ZmZpeD0iRXhjZXB0aW9uLnBocCI+Li9zcmMvQXdzL0tpbmVzaXMvRXhjZXB0aW9uPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5IHN1ZmZpeD0iRXhjZXB0aW9uLnBocCI+Li9zcmMvQXdzL09wc1dvcmtzL0V4Y2VwdGlvbjwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkV4Y2VwdGlvbi5waHAiPi4vc3JjL0F3cy9SZHMvRXhjZXB0aW9uPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5IHN1ZmZpeD0iRXhjZXB0aW9uLnBocCI+Li9zcmMvQXdzL1JlZHNoaWZ0L0V4Y2VwdGlvbjwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkV4Y2VwdGlvbi5waHAiPi4vc3JjL0F3cy9Sb3V0ZTUzL0V4Y2VwdGlvbjwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkV4Y2VwdGlvbi5waHAiPi4vc3JjL0F3cy9TMy9FeGNlcHRpb248L2RpcmVjdG9yeT4KICAgICAgICAgICAgICAgIDxkaXJlY3Rvcnkgc3VmZml4PSJFeGNlcHRpb24ucGhwIj4uL3NyYy9Bd3MvU2VzL0V4Y2VwdGlvbjwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkV4Y2VwdGlvbi5waHAiPi4vc3JjL0F3cy9TaW1wbGVEYi9FeGNlcHRpb248L2RpcmVjdG9yeT4KICAgICAgICAgICAgICAgIDxkaXJlY3Rvcnkgc3VmZml4PSJFeGNlcHRpb24ucGhwIj4uL3NyYy9Bd3MvU25zL0V4Y2VwdGlvbjwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkV4Y2VwdGlvbi5waHAiPi4vc3JjL0F3cy9TcXMvRXhjZXB0aW9uPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5IHN1ZmZpeD0iRXhjZXB0aW9uLnBocCI+Li9zcmMvQXdzL1N0b3JhZ2VHYXRld2F5L0V4Y2VwdGlvbjwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkV4Y2VwdGlvbi5waHAiPi4vc3JjL0F3cy9TdHMvRXhjZXB0aW9uPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5IHN1ZmZpeD0iRXhjZXB0aW9uLnBocCI+Li9zcmMvQXdzL1N1cHBvcnQvRXhjZXB0aW9uPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5IHN1ZmZpeD0iRXhjZXB0aW9uLnBocCI+Li9zcmMvQXdzL1N3Zi9FeGNlcHRpb248L2RpcmVjdG9yeT4KICAgICAgICAgICAgPC9leGNsdWRlPgogICAgICAgIDwvd2hpdGVsaXN0PgogICAgPC9maWx0ZXI+Cgo8L3BocHVuaXQ+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBBV1MgU0RLIGZvciBQSFAKClshW0xhdGVzdCBTdGFibGUgVmVyc2lvbl0oaHR0cHM6Ly9wb3Nlci5wdWd4Lm9yZy9hd3MvYXdzLXNkay1waHAvdmVyc2lvbi5wbmcpXShodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvYXdzL2F3cy1zZGstcGhwKQpbIVtUb3RhbCBEb3dubG9hZHNdKGh0dHBzOi8vcG9zZXIucHVneC5vcmcvYXdzL2F3cy1zZGstcGhwL2QvdG90YWwucG5nKV0oaHR0cHM6Ly9wYWNrYWdpc3Qub3JnL3BhY2thZ2VzL2F3cy9hd3Mtc2RrLXBocCkKWyFbQnVpbGQgU3RhdHVzXShodHRwczovL3RyYXZpcy1jaS5vcmcvYXdzL2F3cy1zZGstcGhwLnBuZyldKGh0dHBzOi8vdHJhdmlzLWNpLm9yZy9hd3MvYXdzLXNkay1waHApCgpUaGUgKipBV1MgU0RLIGZvciBQSFAqKiBlbmFibGVzIFBIUCBkZXZlbG9wZXJzIHRvIHVzZSBbQW1hem9uIFdlYiBTZXJ2aWNlc11bYXdzXSBpbiB0aGVpciBQSFAgY29kZSwgYW5kIGJ1aWxkIHJvYnVzdAphcHBsaWNhdGlvbnMgYW5kIHNvZnR3YXJlIHVzaW5nIHNlcnZpY2VzIGxpa2UgQW1hem9uIFMzLCBBbWF6b24gRHluYW1vREIsIEFtYXpvbiBHbGFjaWVyLCBldGMuIFlvdSBjYW4gZ2V0IHN0YXJ0ZWQgaW4KbWludXRlcyBieSBbaW5zdGFsbGluZyB0aGUgU0RLIHRocm91Z2ggQ29tcG9zZXJdW2RvY3MtaW5zdGFsbGF0aW9uXSBvciBieSBkb3dubG9hZGluZyBhIHNpbmdsZSBbemlwXVtpbnN0YWxsLXppcF0gb3IKW3BoYXJdW2luc3RhbGwtcGhhcl0gZmlsZS4KCiMjIFJlc291cmNlcwoKKiBbVXNlciBHdWlkZV1bZG9jcy1ndWlkZV0g4oCTIEZvciBpbi1kZXB0aCBnZXR0aW5nIHN0YXJ0ZWQgYW5kIHVzYWdlIGluZm9ybWF0aW9uCiogW0FQSSBEb2NzXVtkb2NzLWFwaV0g4oCTIEZvciBvcGVyYXRpb25zLCBwYXJhbWV0ZXJzLCByZXNwb25zZXMsIGFuZCBleGFtcGxlcwoqIFtCbG9nXVtzZGstYmxvZ10g4oCTIFRpcHMgJiB0cmlja3MsIGFydGljbGVzLCBhbmQgYW5ub3VuY2VtZW50cwoqIFtTYW1wbGUgUHJvamVjdF1bc2RrLXNhbXBsZV0gLSBBIHF1aWNrLCBzYW1wbGUgcHJvamVjdCB0byBoZWxwIGdldCB5b3Ugc3RhcnRlZAoqIFtGb3J1bV1bc2RrLWZvcnVtXSDigJMgQXNrIHF1ZXN0aW9ucywgZ2V0IGhlbHAsIGFuZCBnaXZlIGZlZWRiYWNrCiogW0lzc3Vlc11bc2RrLWlzc3Vlc10g4oCTIFJlcG9ydCBpc3N1ZXMgYW5kIHN1Ym1pdCBwdWxsIHJlcXVlc3RzIChzZWUgW0FwYWNoZSAyLjAgTGljZW5zZV1bc2RrLWxpY2Vuc2VdKQoqIFtAYXdzZm9ycGhwXVtzZGstdHdpdHRlcl0g4oCTIEZvbGxvdyB1cyBvbiBUd2l0dGVyCgoqKk5FVzoqKiBXYXRjaCBvdXIgdmlkZW8g4oCUICoqW01hc3RlcmluZyB0aGUgQVdTIFNESyBmb3IgUEhQXShodHRwOi8veW91dHUuYmUvX3phVzJWWkIxb2spKiogZnJvbSBBV1MgcmU6SW52ZW50IDIwMTMhCgojIyBGZWF0dXJlcwoKKiBQcm92aWRlcyBlYXN5LXRvLXVzZSBIVFRQIGNsaWVudHMgZm9yIGFsbCBzdXBwb3J0ZWQgQVdTIFtzZXJ2aWNlc11bZG9jcy1zZXJ2aWNlc10sIFtyZWdpb25zXVtkb2NzLXJhbmRlXSwgYW5kCiAgYXV0aGVudGljYXRpb24gcHJvdG9jb2xzLgoqIElzIGJ1aWx0IGZvciBQSFAgNS4zLjMrIGFuZCBpcyBjb21wbGlhbnQgd2l0aCBbUFNSLTBdW10sIFtQU1ItMV1bXSwgYW5kIFtQU1ItMl1bXS4KKiBJcyBlYXN5IHRvIGluc3RhbGwgdGhyb3VnaCBbQ29tcG9zZXJdW2luc3RhbGwtcGFja2FnaXN0XSwgW1BFQVJdW2luc3RhbGwtcGVhcl0sIG9yIHNpbmdsZSBkb3dubG9hZCAoW3ppcF1baW5zdGFsbC16aXBdCiAgb3IgW3BoYXJdW2luc3RhbGwtcGhhcl0pLgoqIElzIGJ1aWx0IG9uIFtHdXp6bGVdW10sIGFuZCB1dGlsaXplcyBtYW55IG9mIGl0cyBmZWF0dXJlcyBpbmNsdWRpbmcgcGVyc2lzdGVudCBjb25uZWN0aW9ucywgcGFyYWxsZWwgcmVxdWVzdHMsIGV2ZW50cwogIGFuZCBwbHVnaW5zICh2aWEgW1N5bWZvbnkyIEV2ZW50RGlzcGF0Y2hlcl1bc3ltZm9ueTItZXZlbnRzXSksIHNlcnZpY2UgZGVzY3JpcHRpb25zLCBbb3Zlci10aGUtd2lyZQogIGxvZ2dpbmddW2RvY3Mtd2lyZS1sb2dnaW5nXSwgY2FjaGluZywgZmxleGlibGUgYmF0Y2hpbmcsIGFuZCByZXF1ZXN0IHJldHJ5aW5nIHdpdGggdHJ1bmNhdGVkIGV4cG9uZW50aWFsIGJhY2tvZmYuCiogUHJvdmlkZXMgY29udmVuaWVuY2UgZmVhdHVyZXMgaW5jbHVkaW5nIGVhc3kgcmVzcG9uc2UgcGFnaW5hdGlvbiB2aWEgW0l0ZXJhdG9yc11bZG9jcy1pdGVyYXRvcnNdLCByZXNvdXJjZQogIFtXYWl0ZXJzXVtkb2NzLXdhaXRlcnNdLCBhbmQgc2ltcGxlIFttb2RlbGxlZCByZXNwb25zZXNdW2RvY3MtbW9kZWxzXS4KKiBBbGxvd3MgeW91IHRvIFtzeW5jIGxvY2FsIGRpcmVjdG9yaWVzIHRvIEFtYXpvbiBTMyBidWNrZXRzXVtkb2NzLXMzLXN5bmNdLgoqIFByb3ZpZGVzIGEgW211bHRpcGFydCB1cGxvYWRlciB0b29sXVtkb2NzLXMzLW11bHRpcGFydF0gZm9yIEFtYXpvbiBTMyBhbmQgQW1hem9uIEdsYWNpZXIgdGhhdCBjYW4gYmUgcGF1c2VkIGFuZAogIHJlc3VtZWQuCiogUHJvdmlkZXMgYW4gW0FtYXpvbiBTMyBTdHJlYW0gV3JhcHBlcl1bZG9jcy1zdHJlYW13cmFwcGVyXSwgc28gdGhhdCB5b3UgY2FuIHVzZSBQSFAncyBuYXRpdmUgZmlsZSBoYW5kbGluZyBmdW5jdGlvbnMKICB0byBpbnRlcmFjdCB3aXRoIHlvdXIgUzMgYnVja2V0cyBhbmQgb2JqZWN0cyBsaWtlIGEgbG9jYWwgZmlsZXN5c3RlbS4KKiBQcm92aWRlcyB0aGUgW0FtYXpvbiBEeW5hbW9EQiBTZXNzaW9uIEhhbmRsZXJdW2RvY3MtZGRic2hdIGZvciBlYXNpbHkgc2NhbGluZyBzZXNzaW9ucyBvbiBhIGZhc3QsIE5vU1FMIGRhdGFiYXNlLgoqIEF1dG9tYXRpY2FsbHkgdXNlcyBbSUFNIEluc3RhbmNlIFByb2ZpbGUgQ3JlZGVudGlhbHNdW2F3cy1pYW0tY3JlZGVudGlhbHNdIG9uIGNvbmZpZ3VyZWQgQW1hem9uIEVDMiBpbnN0YW5jZXMuCgojIyBHZXR0aW5nIFN0YXJ0ZWQKCjEuICoqU2lnbiB1cCBmb3IgQVdTKiog4oCTIEJlZm9yZSB5b3UgYmVnaW4sIHlvdSBuZWVkIHRvIFtzaWduIHVwIGZvciBhbiBBV1MgYWNjb3VudF1bZG9jcy1zaWdudXBdIGFuZCByZXRyaWV2ZSB5b3VyIEFXUwogICBjcmVkZW50aWFscy4KMS4gKipNaW5pbXVtIHJlcXVpcmVtZW50cyoqIOKAkyBUbyBydW4gdGhlIFNESywgeW91ciBzeXN0ZW0gd2lsbCBuZWVkIHRvIG1lZXQgdGhlIFttaW5pbXVtCiAgIHJlcXVpcmVtZW50c11bZG9jcy1yZXF1aXJlbWVudHNdLCBpbmNsdWRpbmcgaGF2aW5nICoqUEhQIDUuMy4zKyoqIGNvbXBpbGVkIHdpdGggdGhlIGNVUkwgZXh0ZW5zaW9uIGFuZCBjVVJMIDcuMTYuMisKICAgY29tcGlsZWQgd2l0aCBPcGVuU1NMIGFuZCB6bGliLgoxLiAqKkluc3RhbGwgdGhlIFNESyoqIOKAkyBVc2luZyBbQ29tcG9zZXJdW10gaXMgdGhlIHJlY29tbWVuZGVkIHdheSB0byBpbnN0YWxsIHRoZSBBV1MgU0RLIGZvciBQSFAuIFRoZSBTREsgaXMgYXZhaWxhYmxlCiAgIHZpYSBbUGFja2FnaXN0XVtdIHVuZGVyIHRoZSBbYGF3cy9hd3Mtc2RrLXBocGBdW2luc3RhbGwtcGFja2FnaXN0XSBwYWNrYWdlLiBQbGVhc2Ugc2VlIHRoZQogICBbSW5zdGFsbGF0aW9uIHNlY3Rpb24gb2YgdGhlIFVzZXIgR3VpZGVdW2RvY3MtaW5zdGFsbGF0aW9uXSBmb3IgbW9yZSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBpbnN0YWxsaW5nIHRoZSBTREsKICAgdGhyb3VnaCBDb21wb3NlciBhbmQgb3RoZXIgbWVhbnMgKGUuZy4sIFtQaGFyXVtpbnN0YWxsLXBoYXJdLCBbWmlwXVtpbnN0YWxsLXppcF0sIFtQRUFSXVtpbnN0YWxsLXBlYXJdKS4KMS4gKipVc2luZyB0aGUgU0RLKiog4oCTIFRoZSBiZXN0IHdheSB0byBiZWNvbWUgZmFtaWxpYXIgd2l0aCBob3cgdG8gdXNlIHRoZSBTREsgaXMgdG8gcmVhZCB0aGUgW1VzZXIgR3VpZGVdW2RvY3MtZ3VpZGVdLgogICBUaGUgW1F1aWNrIFN0YXJ0IEd1aWRlXVtkb2NzLXF1aWNrc3RhcnRdIHdpbGwgaGVscCB5b3UgYmVjb21lIGZhbWlsaWFyIHdpdGggdGhlIGJhc2ljIGNvbmNlcHRzLCBhbmQgdGhlcmUgYXJlIGFsc28KICAgc3BlY2lmaWMgZ3VpZGVzIGZvciBlYWNoIG9mIHRoZSBbc3VwcG9ydGVkIHNlcnZpY2VzXVtkb2NzLXNlcnZpY2VzXS4KCiMjIFF1aWNrIEV4YW1wbGUKCiMjIyBVcGxvYWQgYSBGaWxlIHRvIEFtYXpvbiBTMwoKYGBgcGhwCjw/cGhwCgpyZXF1aXJlICd2ZW5kb3IvYXV0b2xvYWQucGhwJzsKCnVzZSBBd3NcQ29tbW9uXEF3czsKdXNlIEF3c1xTM1xFeGNlcHRpb25cUzNFeGNlcHRpb247CgovLyBJbnN0YW50aWF0ZSBhbiBTMyBjbGllbnQKJGF3cyA9IEF3czo6ZmFjdG9yeSgnL3BhdGgvdG8vY29uZmlnLnBocCcpOwokczMgPSAkYXdzLT5nZXQoJ3MzJyk7CgovLyBVcGxvYWQgYSBwdWJsaWNseSBhY2Nlc3NpYmxlIGZpbGUuCi8vIFRoZSBmaWxlIHNpemUsIGZpbGUgdHlwZSwgYW5kIE1ENSBoYXNoIGFyZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgYnkgdGhlIFNESwp0cnkgewogICAgJHMzLT5wdXRPYmplY3QoYXJyYXkoCiAgICAgICAgJ0J1Y2tldCcgPT4gJ215LWJ1Y2tldCcsCiAgICAgICAgJ0tleScgICAgPT4gJ215LW9iamVjdCcsCiAgICAgICAgJ0JvZHknICAgPT4gZm9wZW4oJy9wYXRoL3RvL2ZpbGUnLCAncicpLAogICAgICAgICdBQ0wnICAgID0+ICdwdWJsaWMtcmVhZCcsCiAgICApKTsKfSBjYXRjaCAoUzNFeGNlcHRpb24gJGUpIHsKICAgIGVjaG8gIlRoZXJlIHdhcyBhbiBlcnJvciB1cGxvYWRpbmcgdGhlIGZpbGUuXG4iOwp9CmBgYAoKWW91IGNhbiBhbHNvIHVzZSB0aGUgZXZlbiBlYXNpZXIgYHVwbG9hZCgpYCBtZXRob2QsIHdoaWNoIHdpbGwgYXV0b21hdGljYWxseSBkbyBlaXRoZXIgc2luZ2xlIG9yIG11bHRpcGFydCB1cGxvYWRzLAphcyBuZWVkZWQuCgpgYGBwaHAKdHJ5IHsKICAgICRzMy0+dXBsb2FkKCdteS1idWNrZXQnLCAnbXktb2JqZWN0JywgZm9wZW4oJy9wYXRoL3RvL2ZpbGUnLCAncicpLCAncHVibGljLXJlYWQnKTsKfSBjYXRjaCAoUzNFeGNlcHRpb24gJGUpIHsKICAgIGVjaG8gIlRoZXJlIHdhcyBhbiBlcnJvciB1cGxvYWRpbmcgdGhlIGZpbGUuXG4iOwp9CmBgYAoKIyMjIE1vcmUgRXhhbXBsZXMKCiogW0dldCBhbiBvYmplY3QgZnJvbSBBbWF6b24gUzMgYW5kIHNhdmUgaXQgdG8gYSBmaWxlXVtleGFtcGxlLXMzLWdldG9iamVjdF0KKiBbVXBsb2FkIGEgbGFyZ2UgZmlsZSB0byBBbWF6b24gUzMgaW4gcGFydHNdW2V4YW1wbGUtczMtbXVsdGlwYXJ0XQoqIFtQdXQgYW4gaXRlbSBpbiB5b3VyIEFtYXpvbiBEeW5hbW9EQiB0YWJsZV1bZXhhbXBsZS1keW5hbW9kYi1wdXRpdGVtXQoqIFtTZW5kIGEgbWVzc2FnZSB0byB5b3VyIEFtYXpvbiBTUVMgcXVldWVdW2V4YW1wbGUtc3FzLXNlbmRtZXNzYWdlXQoqIFBsZWFzZSBicm93c2UgdGhlIFtVc2VyIEd1aWRlXVtkb2NzLWd1aWRlXSBhbmQgW0FQSSBkb2NzXVtkb2NzLWFwaV0gb3IgY2hlY2sgb3V0IG91ciBbQVdTIFNESyBEZXZlbG9wbWVudAogIEJsb2ddW3Nkay1ibG9nXSBmb3IgZXZlbiBtb3JlIGV4YW1wbGVzLgoKIyMjIFJlbGF0ZWQgUHJvamVjdHMKCiogW0FXUyBTZXJ2aWNlIFByb3ZpZGVyIGZvciBMYXJhdmVsXVttb2QtbGFyYXZlbF0KKiBbQVdTIFNESyBaRjIgTW9kdWxlXVttb2QtemYyXQoqIFtBV1MgU2VydmljZSBQcm92aWRlciBmb3IgU2lsZXhdW21vZC1zaWxleF0KKiBbR3V6emxlXVtdIOKAkyBQSFAgSFRUUCBjbGllbnQgYW5kIGZyYW1ld29yawoqIE90aGVyIFtBV1MgU0RLcyAmIFRvb2xzXVthd3MtdG9vbHNdIChlLmcuLCBqcywgY2xpLCBydWJ5LCBweXRob24sIGphdmEsIGV0Yy4pCgpbc2RrLXdlYnNpdGVdOiBodHRwOi8vYXdzLmFtYXpvbi5jb20vc2RrZm9ycGhwCltzZGstZm9ydW1dOiBodHRwczovL2ZvcnVtcy5hd3MuYW1hem9uLmNvbS9mb3J1bS5qc3BhP2ZvcnVtSUQ9ODAKW3Nkay1pc3N1ZXNdOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstcGhwL2lzc3Vlcwpbc2RrLWxpY2Vuc2VdOiBodHRwOi8vYXdzLmFtYXpvbi5jb20vYXBhY2hlMi4wLwpbc2RrLWJsb2ddOiBodHRwOi8vYmxvZ3MuYXdzLmFtYXpvbi5jb20vcGhwCltzZGstdHdpdHRlcl06IGh0dHBzOi8vdHdpdHRlci5jb20vYXdzZm9ycGhwCltzZGstc2FtcGxlXTogaHR0cDovL2F3cy5hbWF6b24uY29tL2RldmVsb3BlcnMvZ2V0dGluZy1zdGFydGVkL3BocC8KCltpbnN0YWxsLXBhY2thZ2lzdF06IGh0dHBzOi8vcGFja2FnaXN0Lm9yZy9wYWNrYWdlcy9hd3MvYXdzLXNkay1waHAKW2luc3RhbGwtcGhhcl06IGh0dHA6Ly9wZWFyLmFtYXpvbndlYnNlcnZpY2VzLmNvbS9nZXQvYXdzLnBoYXIKW2luc3RhbGwtemlwXTogaHR0cDovL3BlYXIuYW1hem9ud2Vic2VydmljZXMuY29tL2dldC9hd3MuemlwCltpbnN0YWxsLXBlYXJdOiBodHRwOi8vcGVhci5hbWF6b253ZWJzZXJ2aWNlcy5jb20KCltkb2NzLWFwaV06IGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9pbmRleC5odG1sCltkb2NzLWd1aWRlXTogaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L2luZGV4Lmh0bWwKW2RvY3MtY29udHJpYnV0aW9uXTogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3Mtc2RrLXBocC9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQKW2RvY3MtcGVyZm9ybWFuY2VdOiBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3QvcGVyZm9ybWFuY2UuaHRtbApbZG9jcy1taWdyYXRpb25dOiBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3QvbWlncmF0aW9uLWd1aWRlLmh0bWwKW2RvY3Mtc2lnbnVwXTogaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L2F3c3NpZ251cC5odG1sCltkb2NzLXJlcXVpcmVtZW50c106IGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9yZXF1aXJlbWVudHMuaHRtbApbZG9jcy1pbnN0YWxsYXRpb25dOiBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3QvaW5zdGFsbGF0aW9uLmh0bWwKW2RvY3MtcXVpY2tzdGFydF06IGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9xdWljay1zdGFydC5odG1sCltkb2NzLWl0ZXJhdG9yc106IGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9xdWljay1zdGFydC5odG1sI2l0ZXJhdG9ycwpbZG9jcy13YWl0ZXJzXTogaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L2ZlYXR1cmUtd2FpdGVycy5odG1sCltkb2NzLW1vZGVsc106IGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9mZWF0dXJlLW1vZGVscy5odG1sCltkb2NzLWV4Y2VwdGlvbnNdOiBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3QvcXVpY2stc3RhcnQuaHRtbCNlcnJvci1oYW5kbGluZwpbZG9jcy13aXJlLWxvZ2dpbmddOiBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3QvZmFxLmh0bWwjaG93LWNhbi1pLXNlZS13aGF0LWRhdGEtaXMtc2VudC1vdmVyLXRoZS13aXJlCltkb2NzLXNlcnZpY2VzXTogaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L2luZGV4Lmh0bWwjc3VwcG9ydGVkLXNlcnZpY2VzCltkb2NzLWRkYnNoXTogaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L2ZlYXR1cmUtZHluYW1vZGItc2Vzc2lvbi1oYW5kbGVyLmh0bWwKW2RvY3MtcmFuZGVdOiBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nZW5lcmFsL2xhdGVzdC9nci9yYW5kZS5odG1sCltkb2NzLXN0cmVhbXdyYXBwZXJdOiBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3Qvc2VydmljZS1zMy5odG1sI2FtYXpvbi1zMy1zdHJlYW0td3JhcHBlcgpbZG9jcy1zMy1zeW5jXTogaHR0cDovL2Jsb2dzLmF3cy5hbWF6b24uY29tL3BocC9wb3N0L1R4Mlc5SkFBN1JYVk9YQS9TeW5jaW5nLURhdGEtd2l0aC1BbWF6b24tUzMKW2RvY3MtczMtbXVsdGlwYXJ0XTogaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2UtczMuaHRtbCN1cGxvYWRpbmctbGFyZ2UtZmlsZXMtdXNpbmctbXVsdGlwYXJ0LXVwbG9hZHMKClthd3NdOiBodHRwOi8vYXdzLmFtYXpvbi5jb20vClthd3MtaWFtLWNyZWRlbnRpYWxzXTogaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvVXNpbmdJQU0uaHRtbCNVc2luZ0lBTXJvbGVzV2l0aEFtYXpvbkVDMkluc3RhbmNlcwpbYXdzLXRvb2xzXTogaHR0cDovL2F3cy5hbWF6b24uY29tL3Rvb2xzLwpbZ3V6emxlXTogaHR0cDovL2d1enpsZXBocC5vcmcKW2NvbXBvc2VyXTogaHR0cDovL2dldGNvbXBvc2VyLm9yZwpbcGFja2FnaXN0XTogaHR0cDovL3BhY2thZ2lzdC5vcmcKW3Bzci0wXTogaHR0cHM6Ly9naXRodWIuY29tL3BocC1maWcvZmlnLXN0YW5kYXJkcy9ibG9iL21hc3Rlci9hY2NlcHRlZC9QU1ItMC5tZApbcHNyLTFdOiBodHRwczovL2dpdGh1Yi5jb20vcGhwLWZpZy9maWctc3RhbmRhcmRzL2Jsb2IvbWFzdGVyL2FjY2VwdGVkL1BTUi0xLWJhc2ljLWNvZGluZy1zdGFuZGFyZC5tZApbcHNyLTJdOiBodHRwczovL2dpdGh1Yi5jb20vcGhwLWZpZy9maWctc3RhbmRhcmRzL2Jsb2IvbWFzdGVyL2FjY2VwdGVkL1BTUi0yLWNvZGluZy1zdHlsZS1ndWlkZS5tZApbc3ltZm9ueTItZXZlbnRzXTogaHR0cDovL3N5bWZvbnkuY29tL2RvYy8yLjAvY29tcG9uZW50cy9ldmVudF9kaXNwYXRjaGVyL2ludHJvZHVjdGlvbi5odG1sCgpbZXhhbXBsZS1zcXMtc2VuZG1lc3NhZ2VdOiBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3Qvc2VydmljZS1zcXMuaHRtbCNzZW5kaW5nLW1lc3NhZ2VzCltleGFtcGxlLXMzLWdldG9iamVjdF06IGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9zZXJ2aWNlLXMzLmh0bWwjc2F2aW5nLW9iamVjdHMtdG8tYS1maWxlCltleGFtcGxlLXMzLW11bHRpcGFydF06IGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9zZXJ2aWNlLXMzLmh0bWwjdXBsb2FkaW5nLWxhcmdlLWZpbGVzLXVzaW5nLW11bHRpcGFydC11cGxvYWRzCltleGFtcGxlLWR5bmFtb2RiLXB1dGl0ZW1dOiBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3Qvc2VydmljZS1keW5hbW9kYi5odG1sI2FkZGluZy1pdGVtcwoKW21vZC1sYXJhdmVsXTogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3Mtc2RrLXBocC1sYXJhdmVsClttb2QtemYyXTogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3Mtc2RrLXBocC16ZjIKW21vZC1zaWxleF06IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLXNkay1waHAtc2lsZXgK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/AutoScaling/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/AutoScaling/AutoScalingClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQXV0b1NjYWxpbmc7Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQ7CnVzZSBBd3NcQ29tbW9uXENsaWVudFxDbGllbnRCdWlsZGVyOwp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZTsKCi8qKgogKiBDbGllbnQgdG8gaW50ZXJhY3Qgd2l0aCBBdXRvIFNjYWxpbmcKICoKICogQG1ldGhvZCBNb2RlbCBjcmVhdGVBdXRvU2NhbGluZ0dyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEF1dG9TY2FsaW5nIENyZWF0ZUF1dG9TY2FsaW5nR3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZU9yVXBkYXRlVGFncyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBDcmVhdGVPclVwZGF0ZVRhZ3N9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlQXV0b1NjYWxpbmdHcm91cChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBEZWxldGVBdXRvU2NhbGluZ0dyb3VwfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUxhdW5jaENvbmZpZ3VyYXRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQXV0b1NjYWxpbmcgRGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvbn0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEF1dG9TY2FsaW5nIERlbGV0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb259CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlUG9saWN5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEF1dG9TY2FsaW5nIERlbGV0ZVBvbGljeX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVTY2hlZHVsZWRBY3Rpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQXV0b1NjYWxpbmcgRGVsZXRlU2NoZWR1bGVkQWN0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVRhZ3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQXV0b1NjYWxpbmcgRGVsZXRlVGFnc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUFkanVzdG1lbnRUeXBlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBEZXNjcmliZUFkanVzdG1lbnRUeXBlc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUF1dG9TY2FsaW5nR3JvdXBzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEF1dG9TY2FsaW5nIERlc2NyaWJlQXV0b1NjYWxpbmdHcm91cHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVBdXRvU2NhbGluZ0luc3RhbmNlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBEZXNjcmliZUF1dG9TY2FsaW5nSW5zdGFuY2VzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlQXV0b1NjYWxpbmdOb3RpZmljYXRpb25UeXBlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBEZXNjcmliZUF1dG9TY2FsaW5nTm90aWZpY2F0aW9uVHlwZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBEZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25zfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlTWV0cmljQ29sbGVjdGlvblR5cGVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEF1dG9TY2FsaW5nIERlc2NyaWJlTWV0cmljQ29sbGVjdGlvblR5cGVzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQXV0b1NjYWxpbmcgRGVzY3JpYmVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVBvbGljaWVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEF1dG9TY2FsaW5nIERlc2NyaWJlUG9saWNpZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVTY2FsaW5nQWN0aXZpdGllcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBEZXNjcmliZVNjYWxpbmdBY3Rpdml0aWVzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlU2NhbGluZ1Byb2Nlc3NUeXBlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBEZXNjcmliZVNjYWxpbmdQcm9jZXNzVHlwZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVTY2hlZHVsZWRBY3Rpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEF1dG9TY2FsaW5nIERlc2NyaWJlU2NoZWR1bGVkQWN0aW9uc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVRhZ3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQXV0b1NjYWxpbmcgRGVzY3JpYmVUYWdzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlVGVybWluYXRpb25Qb2xpY3lUeXBlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBEZXNjcmliZVRlcm1pbmF0aW9uUG9saWN5VHlwZXN9CiAqIEBtZXRob2QgTW9kZWwgZGlzYWJsZU1ldHJpY3NDb2xsZWN0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEF1dG9TY2FsaW5nIERpc2FibGVNZXRyaWNzQ29sbGVjdGlvbn0KICogQG1ldGhvZCBNb2RlbCBlbmFibGVNZXRyaWNzQ29sbGVjdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBFbmFibGVNZXRyaWNzQ29sbGVjdGlvbn0KICogQG1ldGhvZCBNb2RlbCBleGVjdXRlUG9saWN5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEF1dG9TY2FsaW5nIEV4ZWN1dGVQb2xpY3l9CiAqIEBtZXRob2QgTW9kZWwgcHV0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBQdXROb3RpZmljYXRpb25Db25maWd1cmF0aW9ufQogKiBAbWV0aG9kIE1vZGVsIHB1dFNjYWxpbmdQb2xpY3koYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQXV0b1NjYWxpbmcgUHV0U2NhbGluZ1BvbGljeX0KICogQG1ldGhvZCBNb2RlbCBwdXRTY2hlZHVsZWRVcGRhdGVHcm91cEFjdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBQdXRTY2hlZHVsZWRVcGRhdGVHcm91cEFjdGlvbn0KICogQG1ldGhvZCBNb2RlbCByZXN1bWVQcm9jZXNzZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQXV0b1NjYWxpbmcgUmVzdW1lUHJvY2Vzc2VzfQogKiBAbWV0aG9kIE1vZGVsIHNldERlc2lyZWRDYXBhY2l0eShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBTZXREZXNpcmVkQ2FwYWNpdHl9CiAqIEBtZXRob2QgTW9kZWwgc2V0SW5zdGFuY2VIZWFsdGgoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQXV0b1NjYWxpbmcgU2V0SW5zdGFuY2VIZWFsdGh9CiAqIEBtZXRob2QgTW9kZWwgc3VzcGVuZFByb2Nlc3NlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBBdXRvU2NhbGluZyBTdXNwZW5kUHJvY2Vzc2VzfQogKiBAbWV0aG9kIE1vZGVsIHRlcm1pbmF0ZUluc3RhbmNlSW5BdXRvU2NhbGluZ0dyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEF1dG9TY2FsaW5nIFRlcm1pbmF0ZUluc3RhbmNlSW5BdXRvU2NhbGluZ0dyb3VwfQogKiBAbWV0aG9kIE1vZGVsIHVwZGF0ZUF1dG9TY2FsaW5nR3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQXV0b1NjYWxpbmcgVXBkYXRlQXV0b1NjYWxpbmdHcm91cH0KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQXV0b1NjYWxpbmdHcm91cHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUF1dG9TY2FsaW5nR3JvdXBzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVBdXRvU2NhbGluZ0luc3RhbmNlc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlQXV0b1NjYWxpbmdJbnN0YW5jZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25zSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9ucyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVQb2xpY2llc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlUG9saWNpZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVNjYWxpbmdBY3Rpdml0aWVzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVTY2FsaW5nQWN0aXZpdGllcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlU2NoZWR1bGVkQWN0aW9uc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlU2NoZWR1bGVkQWN0aW9ucyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlVGFnc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVGFncyBvcGVyYXRpb24KICoKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2UtYXV0b3NjYWxpbmcuaHRtbCBVc2VyIGd1aWRlCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuQXV0b1NjYWxpbmcuQXV0b1NjYWxpbmdDbGllbnQuaHRtbCBBUEkgZG9jcwogKi8KY2xhc3MgQXV0b1NjYWxpbmdDbGllbnQgZXh0ZW5kcyBBYnN0cmFjdENsaWVudAp7CiAgICBjb25zdCBMQVRFU1RfQVBJX1ZFUlNJT04gPSAnMjAxMS0wMS0wMSc7CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgQXV0byBTY2FsaW5nIGNsaWVudCB1c2luZyBhbiBhcnJheSBvZiBjb25maWd1cmF0aW9uIG9wdGlvbnMuCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gJGNvbmZpZyBDbGllbnQgY29uZmlndXJhdGlvbiBkYXRhCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAc2VlIFxBd3NcQ29tbW9uXENsaWVudFxEZWZhdWx0Q2xpZW50IGZvciBhIGxpc3Qgb2YgYXZhaWxhYmxlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoJGNvbmZpZyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuIENsaWVudEJ1aWxkZXI6OmZhY3RvcnkoX19OQU1FU1BBQ0VfXykKICAgICAgICAgICAgLT5zZXRDb25maWcoJGNvbmZpZykKICAgICAgICAgICAgLT5zZXRDb25maWdEZWZhdWx0cyhhcnJheSgKICAgICAgICAgICAgICAgIE9wdGlvbnM6OlZFUlNJT04gICAgICAgICAgICAgPT4gc2VsZjo6TEFURVNUX0FQSV9WRVJTSU9OLAogICAgICAgICAgICAgICAgT3B0aW9uczo6U0VSVklDRV9ERVNDUklQVElPTiA9PiBfX0RJUl9fIC4gJy9SZXNvdXJjZXMvYXV0b3NjYWxpbmctJXMucGhwJwogICAgICAgICAgICApKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/AutoScaling/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/AutoScaling/Enum/LifecycleState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQXV0b1NjYWxpbmdcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBMaWZlY3ljbGVTdGF0ZSB2YWx1ZXMKICovCmNsYXNzIExpZmVjeWNsZVN0YXRlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBQRU5ESU5HID0gJ1BlbmRpbmcnOwogICAgY29uc3QgUVVBUkFOVElORUQgPSAnUXVhcmFudGluZWQnOwogICAgY29uc3QgSU5fU0VSVklDRSA9ICdJblNlcnZpY2UnOwogICAgY29uc3QgVEVSTUlOQVRJTkcgPSAnVGVybWluYXRpbmcnOwogICAgY29uc3QgVEVSTUlOQVRFRCA9ICdUZXJtaW5hdGVkJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/AutoScaling/Enum/ScalingActivityStatusCode.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQXV0b1NjYWxpbmdcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBTY2FsaW5nQWN0aXZpdHlTdGF0dXNDb2RlIHZhbHVlcwogKi8KY2xhc3MgU2NhbGluZ0FjdGl2aXR5U3RhdHVzQ29kZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgV0FJVElOR19GT1JfU1BPVF9JTlNUQU5DRV9SRVFVRVNUX0lEID0gJ1dhaXRpbmdGb3JTcG90SW5zdGFuY2VSZXF1ZXN0SWQnOwogICAgY29uc3QgV0FJVElOR19GT1JfU1BPVF9JTlNUQU5DRV9JRCA9ICdXYWl0aW5nRm9yU3BvdEluc3RhbmNlSWQnOwogICAgY29uc3QgV0FJVElOR19GT1JfSU5TVEFOQ0VfSUQgPSAnV2FpdGluZ0Zvckluc3RhbmNlSWQnOwogICAgY29uc3QgUFJFX0lOX1NFUlZJQ0UgPSAnUHJlSW5TZXJ2aWNlJzsKICAgIGNvbnN0IElOX1BST0dSRVNTID0gJ0luUHJvZ3Jlc3MnOwogICAgY29uc3QgU1VDQ0VTU0ZVTCA9ICdTdWNjZXNzZnVsJzsKICAgIGNvbnN0IEZBSUxFRCA9ICdGYWlsZWQnOwogICAgY29uc3QgQ0FOQ0VMTEVEID0gJ0NhbmNlbGxlZCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/AutoScaling/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/AutoScaling/Exception/AlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQXV0b1NjYWxpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBuYW1lZCBBdXRvIFNjYWxpbmcgZ3JvdXAgb3IgbGF1bmNoIGNvbmZpZ3VyYXRpb24gYWxyZWFkeSBleGlzdHMuCiAqLwpjbGFzcyBBbHJlYWR5RXhpc3RzRXhjZXB0aW9uIGV4dGVuZHMgQXV0b1NjYWxpbmdFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/AutoScaling/Exception/AutoScalingException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQXV0b1NjYWxpbmdcRXhjZXB0aW9uOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbjsKCi8qKgogKiBEZWZhdWx0IHNlcnZpY2UgZXhjZXB0aW9uIGNsYXNzCiAqLwpjbGFzcyBBdXRvU2NhbGluZ0V4Y2VwdGlvbiBleHRlbmRzIFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/AutoScaling/Exception/InvalidNextTokenException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQXV0b1NjYWxpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBOZXh0VG9rZW4gdmFsdWUgaXMgaW52YWxpZC4KICovCmNsYXNzIEludmFsaWROZXh0VG9rZW5FeGNlcHRpb24gZXh0ZW5kcyBBdXRvU2NhbGluZ0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/AutoScaling/Exception/LimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQXV0b1NjYWxpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBxdW90YSBmb3IgY2FwYWNpdHkgZ3JvdXBzIG9yIGxhdW5jaCBjb25maWd1cmF0aW9ucyBmb3IgdGhpcyBjdXN0b21lciBoYXMgYWxyZWFkeSBiZWVuIHJlYWNoZWQuCiAqLwpjbGFzcyBMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgQXV0b1NjYWxpbmdFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/AutoScaling/Exception/ResourceInUseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQXV0b1NjYWxpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIFRoaXMgaXMgcmV0dXJuZWQgd2hlbiB5b3UgY2Fubm90IGRlbGV0ZSBhIGxhdW5jaCBjb25maWd1cmF0aW9uIG9yIEF1dG8gU2NhbGluZyBncm91cCBiZWNhdXNlIGl0IGlzIGJlaW5nIHVzZWQuCiAqLwpjbGFzcyBSZXNvdXJjZUluVXNlRXhjZXB0aW9uIGV4dGVuZHMgQXV0b1NjYWxpbmdFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/AutoScaling/Exception/ScalingActivityInProgressException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQXV0b1NjYWxpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdSBjYW5ub3QgZGVsZXRlIGFuIEF1dG8gU2NhbGluZyBncm91cCB3aGlsZSB0aGVyZSBhcmUgc2NhbGluZyBhY3Rpdml0aWVzIGluIHByb2dyZXNzIGZvciB0aGF0IGdyb3VwLgogKi8KY2xhc3MgU2NhbGluZ0FjdGl2aXR5SW5Qcm9ncmVzc0V4Y2VwdGlvbiBleHRlbmRzIEF1dG9TY2FsaW5nRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/AutoScaling/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/AutoScaling/Resources/autoscaling-2011-01-01.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTEtMDEtMDEnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnYXV0b3NjYWxpbmcnLAogICAgJ3NlcnZpY2VGdWxsTmFtZScgPT4gJ0F1dG8gU2NhbGluZycsCiAgICAnc2VydmljZVR5cGUnID0+ICdxdWVyeScsCiAgICAncmVzdWx0V3JhcHBlZCcgPT4gdHJ1ZSwKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjQnLAogICAgJ25hbWVzcGFjZScgPT4gJ0F1dG9TY2FsaW5nJywKICAgICdyZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAndXMtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnYXV0b3NjYWxpbmcudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2F1dG9zY2FsaW5nLnVzLXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdhdXRvc2NhbGluZy51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnZXUtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnYXV0b3NjYWxpbmcuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLW5vcnRoZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnYXV0b3NjYWxpbmcuYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdhdXRvc2NhbGluZy5hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2F1dG9zY2FsaW5nLmFwLXNvdXRoZWFzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3NhLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2F1dG9zY2FsaW5nLnNhLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy1nb3Ytd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnYXV0b3NjYWxpbmcudXMtZ292LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQ3JlYXRlQXV0b1NjYWxpbmdHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVBdXRvU2NhbGluZ0dyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMS0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9TY2FsaW5nR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhdW5jaENvbmZpZ3VyYXRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxNjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNaW5TaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNpcmVkQ2FwYWNpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVmYXVsdENvb2xkb3duJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBdmFpbGFiaWxpdHlab25lcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdtaW5JdGVtcycgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1htbFN0cmluZ01heExlbjI1NScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvYWRCYWxhbmNlck5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdMb2FkQmFsYW5jZXJOYW1lcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnWG1sU3RyaW5nTWF4TGVuMjU1JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSGVhbHRoQ2hlY2tUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDMyLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIZWFsdGhDaGVja0dyYWNlUGVyaW9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BsYWNlbWVudEdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVlBDWm9uZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUZXJtaW5hdGlvblBvbGljaWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdUZXJtaW5hdGlvblBvbGljaWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmdNYXhMZW4xNjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxNjAwLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1RhZ3MubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RhZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3BhZ2F0ZUF0TGF1bmNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBuYW1lZCBBdXRvIFNjYWxpbmcgZ3JvdXAgb3IgbGF1bmNoIGNvbmZpZ3VyYXRpb24gYWxyZWFkeSBleGlzdHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHF1b3RhIGZvciBjYXBhY2l0eSBncm91cHMgb3IgbGF1bmNoIGNvbmZpZ3VyYXRpb25zIGZvciB0aGlzIGN1c3RvbWVyIGhhcyBhbHJlYWR5IGJlZW4gcmVhY2hlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAxLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGF1bmNoQ29uZmlndXJhdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW1hZ2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1NlY3VyaXR5R3JvdXBzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVXNlckRhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIxODQ3LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2VybmVsSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSYW1kaXNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdCbG9ja0RldmljZU1hcHBpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdCbG9ja0RldmljZU1hcHBpbmdzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCbG9ja0RldmljZU1hcHBpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaXJ0dWFsTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXZpY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFYnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbmFwc2hvdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlTW9uaXRvcmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTcG90UHJpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJYW1JbnN0YW5jZVByb2ZpbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTYwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRWJzT3B0aW1pemVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXNzb2NpYXRlUHVibGljSXBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIG5hbWVkIEF1dG8gU2NhbGluZyBncm91cCBvciBsYXVuY2ggY29uZmlndXJhdGlvbiBhbHJlYWR5IGV4aXN0cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcXVvdGEgZm9yIGNhcGFjaXR5IGdyb3VwcyBvciBsYXVuY2ggY29uZmlndXJhdGlvbnMgZm9yIHRoaXMgY3VzdG9tZXIgaGFzIGFscmVhZHkgYmVlbiByZWFjaGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZU9yVXBkYXRlVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVPclVwZGF0ZVRhZ3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAxLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1RhZ3MubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RhZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3BhZ2F0ZUF0TGF1bmNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBxdW90YSBmb3IgY2FwYWNpdHkgZ3JvdXBzIG9yIGxhdW5jaCBjb25maWd1cmF0aW9ucyBmb3IgdGhpcyBjdXN0b21lciBoYXMgYWxyZWFkeSBiZWVuIHJlYWNoZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIG5hbWVkIEF1dG8gU2NhbGluZyBncm91cCBvciBsYXVuY2ggY29uZmlndXJhdGlvbiBhbHJlYWR5IGV4aXN0cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVBdXRvU2NhbGluZ0dyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZUF1dG9TY2FsaW5nR3JvdXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAxLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXV0b1NjYWxpbmdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZvcmNlRGVsZXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91IGNhbm5vdCBkZWxldGUgYW4gQXV0byBTY2FsaW5nIGdyb3VwIHdoaWxlIHRoZXJlIGFyZSBzY2FsaW5nIGFjdGl2aXRpZXMgaW4gcHJvZ3Jlc3MgZm9yIHRoYXQgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTY2FsaW5nQWN0aXZpdHlJblByb2dyZXNzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBpcyByZXR1cm5lZCB3aGVuIHlvdSBjYW5ub3QgZGVsZXRlIGEgbGF1bmNoIGNvbmZpZ3VyYXRpb24gb3IgQXV0byBTY2FsaW5nIGdyb3VwIGJlY2F1c2UgaXQgaXMgYmVpbmcgdXNlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlSW5Vc2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZUxhdW5jaENvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAxLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGF1bmNoQ29uZmlndXJhdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgaXMgcmV0dXJuZWQgd2hlbiB5b3UgY2Fubm90IGRlbGV0ZSBhIGxhdW5jaCBjb25maWd1cmF0aW9uIG9yIEF1dG8gU2NhbGluZyBncm91cCBiZWNhdXNlIGl0IGlzIGJlaW5nIHVzZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZUluVXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMS0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9TY2FsaW5nR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxNjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUb3BpY0FSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTYwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZVBvbGljeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDEtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxNjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQb2xpY3lOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxNjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVTY2hlZHVsZWRBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlU2NoZWR1bGVkQWN0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMS0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9TY2FsaW5nR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NjaGVkdWxlZEFjdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVRhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlVGFncycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDEtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVGFncy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvcGFnYXRlQXRMYXVuY2gnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVBZGp1c3RtZW50VHlwZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlQWRqdXN0bWVudFR5cGVzQW5zd2VyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVBZGp1c3RtZW50VHlwZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAxLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVBdXRvU2NhbGluZ0dyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQXV0b1NjYWxpbmdHcm91cHNUeXBlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVBdXRvU2NhbGluZ0dyb3VwcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDEtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ0dyb3VwTmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F1dG9TY2FsaW5nR3JvdXBOYW1lcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUmVzb3VyY2VOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxNjAwLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gNTAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBOZXh0VG9rZW4gdmFsdWUgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWROZXh0VG9rZW5FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUF1dG9TY2FsaW5nSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdBdXRvU2NhbGluZ0luc3RhbmNlc1R5cGUnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUF1dG9TY2FsaW5nSW5zdGFuY2VzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMS0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJbnN0YW5jZUlkcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnWG1sU3RyaW5nTWF4TGVuMTYnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2LAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gNTAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBOZXh0VG9rZW4gdmFsdWUgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWROZXh0VG9rZW5FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUF1dG9TY2FsaW5nTm90aWZpY2F0aW9uVHlwZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlQXV0b1NjYWxpbmdOb3RpZmljYXRpb25UeXBlc0Fuc3dlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlQXV0b1NjYWxpbmdOb3RpZmljYXRpb25UeXBlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDEtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMYXVuY2hDb25maWd1cmF0aW9uc1R5cGUnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMS0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhdW5jaENvbmZpZ3VyYXRpb25OYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTGF1bmNoQ29uZmlndXJhdGlvbk5hbWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZXNvdXJjZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2MDAsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiA1MCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIE5leHRUb2tlbiB2YWx1ZSBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZE5leHRUb2tlbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlTWV0cmljQ29sbGVjdGlvblR5cGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZU1ldHJpY0NvbGxlY3Rpb25UeXBlc0Fuc3dlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlTWV0cmljQ29sbGVjdGlvblR5cGVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMS0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnNBbnN3ZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMS0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9TY2FsaW5nR3JvdXBOYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXV0b1NjYWxpbmdHcm91cE5hbWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZXNvdXJjZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2MDAsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiA1MCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIE5leHRUb2tlbiB2YWx1ZSBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZE5leHRUb2tlbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlUG9saWNpZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1BvbGljaWVzVHlwZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlUG9saWNpZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAxLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXV0b1NjYWxpbmdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTYwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9saWN5TmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1BvbGljeU5hbWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZXNvdXJjZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2MDAsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiA1MCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIE5leHRUb2tlbiB2YWx1ZSBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZE5leHRUb2tlbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlU2NhbGluZ0FjdGl2aXRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0FjdGl2aXRpZXNUeXBlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVTY2FsaW5nQWN0aXZpdGllcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDEtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBY3Rpdml0eUlkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQWN0aXZpdHlJZHMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1htbFN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxNjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhSZWNvcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDUwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgTmV4dFRva2VuIHZhbHVlIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkTmV4dFRva2VuRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTY2FsaW5nUHJvY2Vzc1R5cGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdQcm9jZXNzZXNUeXBlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVTY2FsaW5nUHJvY2Vzc1R5cGVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMS0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlU2NoZWR1bGVkQWN0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnU2NoZWR1bGVkQWN0aW9uc1R5cGUnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZVNjaGVkdWxlZEFjdGlvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAxLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXV0b1NjYWxpbmdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTYwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2NoZWR1bGVkQWN0aW9uTmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1NjaGVkdWxlZEFjdGlvbk5hbWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZXNvdXJjZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2MDAsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhcnRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5kVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdkYXRlLXRpbWUnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gNTAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBOZXh0VG9rZW4gdmFsdWUgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWROZXh0VG9rZW5FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVRhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1RhZ3NUeXBlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVUYWdzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMS0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlcnMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVmFsdWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiA1MCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIE5leHRUb2tlbiB2YWx1ZSBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZE5leHRUb2tlbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVGVybWluYXRpb25Qb2xpY3lUeXBlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVUZXJtaW5hdGlvblBvbGljeVR5cGVzQW5zd2VyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVUZXJtaW5hdGlvblBvbGljeVR5cGVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMS0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rpc2FibGVNZXRyaWNzQ29sbGVjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEaXNhYmxlTWV0cmljc0NvbGxlY3Rpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAxLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXV0b1NjYWxpbmdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01ldHJpY3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ01ldHJpY3MubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1htbFN0cmluZ01heExlbjI1NScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0VuYWJsZU1ldHJpY3NDb2xsZWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0VuYWJsZU1ldHJpY3NDb2xsZWN0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMS0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9TY2FsaW5nR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxNjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNZXRyaWNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdNZXRyaWNzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmdNYXhMZW4yNTUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcmFudWxhcml0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFeGVjdXRlUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0V4ZWN1dGVQb2xpY3knLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAxLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXV0b1NjYWxpbmdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTYwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9saWN5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTYwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSG9ub3JDb29sZG93bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1lvdSBjYW5ub3QgZGVsZXRlIGFuIEF1dG8gU2NhbGluZyBncm91cCB3aGlsZSB0aGVyZSBhcmUgc2NhbGluZyBhY3Rpdml0aWVzIGluIHByb2dyZXNzIGZvciB0aGF0IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU2NhbGluZ0FjdGl2aXR5SW5Qcm9ncmVzc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1B1dE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUHV0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDEtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTYwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVG9waWNBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05vdGlmaWNhdGlvblR5cGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTm90aWZpY2F0aW9uVHlwZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1htbFN0cmluZ01heExlbjI1NScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBxdW90YSBmb3IgY2FwYWNpdHkgZ3JvdXBzIG9yIGxhdW5jaCBjb25maWd1cmF0aW9ucyBmb3IgdGhpcyBjdXN0b21lciBoYXMgYWxyZWFkeSBiZWVuIHJlYWNoZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHV0U2NhbGluZ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUG9saWN5QVJOVHlwZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1B1dFNjYWxpbmdQb2xpY3knLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAxLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXV0b1NjYWxpbmdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvbGljeU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2NhbGluZ0FkanVzdG1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FkanVzdG1lbnRUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Nvb2xkb3duJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01pbkFkanVzdG1lbnRTdGVwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBxdW90YSBmb3IgY2FwYWNpdHkgZ3JvdXBzIG9yIGxhdW5jaCBjb25maWd1cmF0aW9ucyBmb3IgdGhpcyBjdXN0b21lciBoYXMgYWxyZWFkeSBiZWVuIHJlYWNoZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHV0U2NoZWR1bGVkVXBkYXRlR3JvdXBBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUHV0U2NoZWR1bGVkVXBkYXRlR3JvdXBBY3Rpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAxLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXV0b1NjYWxpbmdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NjaGVkdWxlZEFjdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdkYXRlLXRpbWUnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXJ0VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdkYXRlLXRpbWUnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuZFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZWN1cnJlbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWluU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2lyZWRDYXBhY2l0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgbmFtZWQgQXV0byBTY2FsaW5nIGdyb3VwIG9yIGxhdW5jaCBjb25maWd1cmF0aW9uIGFscmVhZHkgZXhpc3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBxdW90YSBmb3IgY2FwYWNpdHkgZ3JvdXBzIG9yIGxhdW5jaCBjb25maWd1cmF0aW9ucyBmb3IgdGhpcyBjdXN0b21lciBoYXMgYWxyZWFkeSBiZWVuIHJlYWNoZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVzdW1lUHJvY2Vzc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1Jlc3VtZVByb2Nlc3NlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDEtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTYwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2NhbGluZ1Byb2Nlc3NlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2NhbGluZ1Byb2Nlc3Nlcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnWG1sU3RyaW5nTWF4TGVuMjU1JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU2V0RGVzaXJlZENhcGFjaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NldERlc2lyZWRDYXBhY2l0eScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDEtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTYwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVzaXJlZENhcGFjaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIb25vckNvb2xkb3duJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91IGNhbm5vdCBkZWxldGUgYW4gQXV0byBTY2FsaW5nIGdyb3VwIHdoaWxlIHRoZXJlIGFyZSBzY2FsaW5nIGFjdGl2aXRpZXMgaW4gcHJvZ3Jlc3MgZm9yIHRoYXQgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTY2FsaW5nQWN0aXZpdHlJblByb2dyZXNzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU2V0SW5zdGFuY2VIZWFsdGgnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2V0SW5zdGFuY2VIZWFsdGgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAxLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0hlYWx0aFN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzIsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Nob3VsZFJlc3BlY3RHcmFjZVBlcmlvZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1N1c3BlbmRQcm9jZXNzZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3VzcGVuZFByb2Nlc3NlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDEtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTYwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2NhbGluZ1Byb2Nlc3NlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2NhbGluZ1Byb2Nlc3Nlcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnWG1sU3RyaW5nTWF4TGVuMjU1JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVGVybWluYXRlSW5zdGFuY2VJbkF1dG9TY2FsaW5nR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0FjdGl2aXR5VHlwZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1Rlcm1pbmF0ZUluc3RhbmNlSW5BdXRvU2NhbGluZ0dyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMS0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTaG91bGREZWNyZW1lbnREZXNpcmVkQ2FwYWNpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91IGNhbm5vdCBkZWxldGUgYW4gQXV0byBTY2FsaW5nIGdyb3VwIHdoaWxlIHRoZXJlIGFyZSBzY2FsaW5nIGFjdGl2aXRpZXMgaW4gcHJvZ3Jlc3MgZm9yIHRoYXQgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTY2FsaW5nQWN0aXZpdHlJblByb2dyZXNzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlQXV0b1NjYWxpbmdHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdVcGRhdGVBdXRvU2NhbGluZ0dyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMS0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9TY2FsaW5nR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxNjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXVuY2hDb25maWd1cmF0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxNjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNaW5TaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFNpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVzaXJlZENhcGFjaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRDb29sZG93bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXZhaWxhYmlsaXR5Wm9uZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnbWluSXRlbXMnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmdNYXhMZW4yNTUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIZWFsdGhDaGVja1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzIsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0hlYWx0aENoZWNrR3JhY2VQZXJpb2QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGxhY2VtZW50R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWUENab25lSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Rlcm1pbmF0aW9uUG9saWNpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1Rlcm1pbmF0aW9uUG9saWNpZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1htbFN0cmluZ01heExlbjE2MDAnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2MDAsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91IGNhbm5vdCBkZWxldGUgYW4gQXV0byBTY2FsaW5nIGdyb3VwIHdoaWxlIHRoZXJlIGFyZSBzY2FsaW5nIGFjdGl2aXRpZXMgaW4gcHJvZ3Jlc3MgZm9yIHRoYXQgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTY2FsaW5nQWN0aXZpdHlJblByb2dyZXNzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnbW9kZWxzJyA9PiBhcnJheSgKICAgICAgICAnRW1wdHlPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUFkanVzdG1lbnRUeXBlc0Fuc3dlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWRqdXN0bWVudFR5cGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWRqdXN0bWVudFR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWRqdXN0bWVudFR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQXV0b1NjYWxpbmdHcm91cHNUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ0dyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F1dG9TY2FsaW5nR3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXV0b1NjYWxpbmdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXV0b1NjYWxpbmdHcm91cEFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXVuY2hDb25maWd1cmF0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5TaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNpcmVkQ2FwYWNpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRDb29sZG93bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnWG1sU3RyaW5nTWF4TGVuMjU1JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMb2FkQmFsYW5jZXJOYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmdNYXhMZW4yNTUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hlYWx0aENoZWNrVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIZWFsdGhDaGVja0dyYWNlUGVyaW9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSW5zdGFuY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xpZmVjeWNsZVN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hlYWx0aFN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXVuY2hDb25maWd1cmF0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVkVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdXNwZW5kZWRQcm9jZXNzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3VzcGVuZGVkUHJvY2VzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9jZXNzTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdXNwZW5zaW9uUmVhc29uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BsYWNlbWVudEdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZQQ1pvbmVJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWRNZXRyaWNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0VuYWJsZWRNZXRyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWV0cmljJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW51bGFyaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RhZ0Rlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9wYWdhdGVBdExhdW5jaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGVybWluYXRpb25Qb2xpY2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmdNYXhMZW4xNjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdBdXRvU2NhbGluZ0luc3RhbmNlc1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0F1dG9TY2FsaW5nSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXV0b1NjYWxpbmdJbnN0YW5jZURldGFpbHMnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xpZmVjeWNsZVN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hlYWx0aFN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXVuY2hDb25maWd1cmF0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUF1dG9TY2FsaW5nTm90aWZpY2F0aW9uVHlwZXNBbnN3ZXInID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0F1dG9TY2FsaW5nTm90aWZpY2F0aW9uVHlwZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmdNYXhMZW4yNTUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xhdW5jaENvbmZpZ3VyYXRpb25zVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTGF1bmNoQ29uZmlndXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdMYXVuY2hDb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhdW5jaENvbmZpZ3VyYXRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhdW5jaENvbmZpZ3VyYXRpb25BUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW1hZ2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1htbFN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlckRhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tlcm5lbElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JhbWRpc2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCbG9ja0RldmljZU1hcHBpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0Jsb2NrRGV2aWNlTWFwcGluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaXJ0dWFsTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXZpY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VicycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NuYXBzaG90SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlTW9uaXRvcmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTcG90UHJpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWFtSW5zdGFuY2VQcm9maWxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZWRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vic09wdGltaXplZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXNzb2NpYXRlUHVibGljSXBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZU1ldHJpY0NvbGxlY3Rpb25UeXBlc0Fuc3dlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWV0cmljcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ01ldHJpY0NvbGxlY3Rpb25UeXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01ldHJpYycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcmFudWxhcml0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTWV0cmljR3JhbnVsYXJpdHlUeXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW51bGFyaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnNBbnN3ZXInID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ05vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb3BpY0FSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb3RpZmljYXRpb25UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1BvbGljaWVzVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU2NhbGluZ1BvbGljaWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU2NhbGluZ1BvbGljeScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb2xpY3lOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NjYWxpbmdBZGp1c3RtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBZGp1c3RtZW50VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb29sZG93bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUG9saWN5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsYXJtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBbGFybScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGFybU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxhcm1BUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWluQWRqdXN0bWVudFN0ZXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0FjdGl2aXRpZXNUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpdml0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWN0aXZpdHknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWN0aXZpdHlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXVzZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGFydFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5kVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXNDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1c01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZ3Jlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RldGFpbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHJvY2Vzc2VzVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUHJvY2Vzc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUHJvY2Vzc1R5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvY2Vzc05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU2NoZWR1bGVkQWN0aW9uc1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1NjaGVkdWxlZFVwZGF0ZUdyb3VwQWN0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NjaGVkdWxlZFVwZGF0ZUdyb3VwQWN0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F1dG9TY2FsaW5nR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NjaGVkdWxlZEFjdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2NoZWR1bGVkQWN0aW9uQVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhcnRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVjdXJyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5TaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNpcmVkQ2FwYWNpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1RhZ3NUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnRGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3BhZ2F0ZUF0TGF1bmNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVRlcm1pbmF0aW9uUG9saWN5VHlwZXNBbnN3ZXInID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Rlcm1pbmF0aW9uUG9saWN5VHlwZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmdNYXhMZW4xNjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQb2xpY3lBUk5UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdQb2xpY3lBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdBY3Rpdml0eVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGl2aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpdml0eUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0F1dG9TY2FsaW5nR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhdXNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1c0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcm9ncmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnaXRlcmF0b3JzJyA9PiBhcnJheSgKICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdEZXNjcmliZUF1dG9TY2FsaW5nR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnQXV0b1NjYWxpbmdHcm91cHMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVBdXRvU2NhbGluZ0luc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0F1dG9TY2FsaW5nSW5zdGFuY2VzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heFJlY29yZHMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdMYXVuY2hDb25maWd1cmF0aW9ucycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVQb2xpY2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1NjYWxpbmdQb2xpY2llcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVNjYWxpbmdBY3Rpdml0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnQWN0aXZpdGllcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVNjaGVkdWxlZEFjdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heFJlY29yZHMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdTY2hlZHVsZWRVcGRhdGVHcm91cEFjdGlvbnMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnVGFncycsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFormation/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFormation/CloudFormationClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGb3JtYXRpb247Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQ7CnVzZSBBd3NcQ29tbW9uXENsaWVudFxDbGllbnRCdWlsZGVyOwp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZTsKCi8qKgogKiBDbGllbnQgdG8gaW50ZXJhY3Qgd2l0aCBBV1MgQ2xvdWRGb3JtYXRpb24KICoKICogQG1ldGhvZCBNb2RlbCBjYW5jZWxVcGRhdGVTdGFjayhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZEZvcm1hdGlvbiBDYW5jZWxVcGRhdGVTdGFja30KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVTdGFjayhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZEZvcm1hdGlvbiBDcmVhdGVTdGFja30KICogQG1ldGhvZCBNb2RlbCBkZWxldGVTdGFjayhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZEZvcm1hdGlvbiBEZWxldGVTdGFja30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVN0YWNrRXZlbnRzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkRm9ybWF0aW9uIERlc2NyaWJlU3RhY2tFdmVudHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVTdGFja1Jlc291cmNlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkRm9ybWF0aW9uIERlc2NyaWJlU3RhY2tSZXNvdXJjZX0KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVN0YWNrUmVzb3VyY2VzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkRm9ybWF0aW9uIERlc2NyaWJlU3RhY2tSZXNvdXJjZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVTdGFja3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRGb3JtYXRpb24gRGVzY3JpYmVTdGFja3N9CiAqIEBtZXRob2QgTW9kZWwgZXN0aW1hdGVUZW1wbGF0ZUNvc3QoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRGb3JtYXRpb24gRXN0aW1hdGVUZW1wbGF0ZUNvc3R9CiAqIEBtZXRob2QgTW9kZWwgZ2V0U3RhY2tQb2xpY3koYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRGb3JtYXRpb24gR2V0U3RhY2tQb2xpY3l9CiAqIEBtZXRob2QgTW9kZWwgZ2V0VGVtcGxhdGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRGb3JtYXRpb24gR2V0VGVtcGxhdGV9CiAqIEBtZXRob2QgTW9kZWwgbGlzdFN0YWNrUmVzb3VyY2VzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkRm9ybWF0aW9uIExpc3RTdGFja1Jlc291cmNlc30KICogQG1ldGhvZCBNb2RlbCBsaXN0U3RhY2tzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkRm9ybWF0aW9uIExpc3RTdGFja3N9CiAqIEBtZXRob2QgTW9kZWwgc2V0U3RhY2tQb2xpY3koYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRGb3JtYXRpb24gU2V0U3RhY2tQb2xpY3l9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlU3RhY2soYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRGb3JtYXRpb24gVXBkYXRlU3RhY2t9CiAqIEBtZXRob2QgTW9kZWwgdmFsaWRhdGVUZW1wbGF0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZEZvcm1hdGlvbiBWYWxpZGF0ZVRlbXBsYXRlfQogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVTdGFja0V2ZW50c0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlU3RhY2tFdmVudHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVN0YWNrc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlU3RhY2tzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdFN0YWNrUmVzb3VyY2VzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdFN0YWNrUmVzb3VyY2VzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdFN0YWNrc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RTdGFja3Mgb3BlcmF0aW9uCiAqCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9zZXJ2aWNlLWNsb3VkZm9ybWF0aW9uLmh0bWwgVXNlciBndWlkZQogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkNsb3VkRm9ybWF0aW9uLkNsb3VkRm9ybWF0aW9uQ2xpZW50Lmh0bWwgQVBJIGRvY3MKICovCmNsYXNzIENsb3VkRm9ybWF0aW9uQ2xpZW50IGV4dGVuZHMgQWJzdHJhY3RDbGllbnQKewogICAgY29uc3QgTEFURVNUX0FQSV9WRVJTSU9OID0gJzIwMTAtMDUtMTUnOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEFXUyBDbG91ZEZvcm1hdGlvbiBjbGllbnQgdXNpbmcgYW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBvcHRpb25zLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICRjb25maWcgQ2xpZW50IGNvbmZpZ3VyYXRpb24gZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQHNlZSBcQXdzXENvbW1vblxDbGllbnRcRGVmYXVsdENsaWVudCBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBjb25maWd1cmF0aW9uIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KF9fTkFNRVNQQUNFX18pCiAgICAgICAgICAgIC0+c2V0Q29uZmlnKCRjb25maWcpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnRGVmYXVsdHMoYXJyYXkoCiAgICAgICAgICAgICAgICBPcHRpb25zOjpWRVJTSU9OICAgICAgICAgICAgID0+IHNlbGY6OkxBVEVTVF9BUElfVkVSU0lPTiwKICAgICAgICAgICAgICAgIE9wdGlvbnM6OlNFUlZJQ0VfREVTQ1JJUFRJT04gPT4gX19ESVJfXyAuICcvUmVzb3VyY2VzL2Nsb3VkZm9ybWF0aW9uLSVzLnBocCcKICAgICAgICAgICAgKSkKICAgICAgICAgICAgLT5idWlsZCgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFormation/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFormation/Enum/Capability.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGb3JtYXRpb25cRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBDYXBhYmlsaXR5IHZhbHVlcwogKi8KY2xhc3MgQ2FwYWJpbGl0eSBleHRlbmRzIEVudW0KewogICAgY29uc3QgQ0FQQUJJTElUWV9JQU0gPSAnQ0FQQUJJTElUWV9JQU0nOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFormation/Enum/OnFailure.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGb3JtYXRpb25cRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBPbkZhaWx1cmUgdmFsdWVzCiAqLwpjbGFzcyBPbkZhaWx1cmUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IERPX05PVEhJTkcgPSAnRE9fTk9USElORyc7CiAgICBjb25zdCBST0xMQkFDSyA9ICdST0xMQkFDSyc7CiAgICBjb25zdCBERUxFVEUgPSAnREVMRVRFJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFormation/Enum/ResourceStatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGb3JtYXRpb25cRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBSZXNvdXJjZVN0YXR1cyB2YWx1ZXMKICovCmNsYXNzIFJlc291cmNlU3RhdHVzIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBDUkVBVEVfSU5fUFJPR1JFU1MgPSAnQ1JFQVRFX0lOX1BST0dSRVNTJzsKICAgIGNvbnN0IENSRUFURV9GQUlMRUQgPSAnQ1JFQVRFX0ZBSUxFRCc7CiAgICBjb25zdCBDUkVBVEVfQ09NUExFVEUgPSAnQ1JFQVRFX0NPTVBMRVRFJzsKICAgIGNvbnN0IERFTEVURV9JTl9QUk9HUkVTUyA9ICdERUxFVEVfSU5fUFJPR1JFU1MnOwogICAgY29uc3QgREVMRVRFX0ZBSUxFRCA9ICdERUxFVEVfRkFJTEVEJzsKICAgIGNvbnN0IERFTEVURV9DT01QTEVURSA9ICdERUxFVEVfQ09NUExFVEUnOwogICAgY29uc3QgVVBEQVRFX0lOX1BST0dSRVNTID0gJ1VQREFURV9JTl9QUk9HUkVTUyc7CiAgICBjb25zdCBVUERBVEVfRkFJTEVEID0gJ1VQREFURV9GQUlMRUQnOwogICAgY29uc3QgVVBEQVRFX0NPTVBMRVRFID0gJ1VQREFURV9DT01QTEVURSc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFormation/Enum/StackStatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGb3JtYXRpb25cRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBTdGFja1N0YXR1cyB2YWx1ZXMKICovCmNsYXNzIFN0YWNrU3RhdHVzIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBDUkVBVEVfSU5fUFJPR1JFU1MgPSAnQ1JFQVRFX0lOX1BST0dSRVNTJzsKICAgIGNvbnN0IENSRUFURV9GQUlMRUQgPSAnQ1JFQVRFX0ZBSUxFRCc7CiAgICBjb25zdCBDUkVBVEVfQ09NUExFVEUgPSAnQ1JFQVRFX0NPTVBMRVRFJzsKICAgIGNvbnN0IFJPTExCQUNLX0lOX1BST0dSRVNTID0gJ1JPTExCQUNLX0lOX1BST0dSRVNTJzsKICAgIGNvbnN0IFJPTExCQUNLX0ZBSUxFRCA9ICdST0xMQkFDS19GQUlMRUQnOwogICAgY29uc3QgUk9MTEJBQ0tfQ09NUExFVEUgPSAnUk9MTEJBQ0tfQ09NUExFVEUnOwogICAgY29uc3QgREVMRVRFX0lOX1BST0dSRVNTID0gJ0RFTEVURV9JTl9QUk9HUkVTUyc7CiAgICBjb25zdCBERUxFVEVfRkFJTEVEID0gJ0RFTEVURV9GQUlMRUQnOwogICAgY29uc3QgREVMRVRFX0NPTVBMRVRFID0gJ0RFTEVURV9DT01QTEVURSc7CiAgICBjb25zdCBVUERBVEVfSU5fUFJPR1JFU1MgPSAnVVBEQVRFX0lOX1BST0dSRVNTJzsKICAgIGNvbnN0IFVQREFURV9DT01QTEVURV9DTEVBTlVQX0lOX1BST0dSRVNTID0gJ1VQREFURV9DT01QTEVURV9DTEVBTlVQX0lOX1BST0dSRVNTJzsKICAgIGNvbnN0IFVQREFURV9DT01QTEVURSA9ICdVUERBVEVfQ09NUExFVEUnOwogICAgY29uc3QgVVBEQVRFX1JPTExCQUNLX0lOX1BST0dSRVNTID0gJ1VQREFURV9ST0xMQkFDS19JTl9QUk9HUkVTUyc7CiAgICBjb25zdCBVUERBVEVfUk9MTEJBQ0tfRkFJTEVEID0gJ1VQREFURV9ST0xMQkFDS19GQUlMRUQnOwogICAgY29uc3QgVVBEQVRFX1JPTExCQUNLX0NPTVBMRVRFX0NMRUFOVVBfSU5fUFJPR1JFU1MgPSAnVVBEQVRFX1JPTExCQUNLX0NPTVBMRVRFX0NMRUFOVVBfSU5fUFJPR1JFU1MnOwogICAgY29uc3QgVVBEQVRFX1JPTExCQUNLX0NPTVBMRVRFID0gJ1VQREFURV9ST0xMQkFDS19DT01QTEVURSc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFormation/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFormation/Exception/AlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGb3JtYXRpb25cRXhjZXB0aW9uOwoKLyoqCiAqIFJlc291cmNlIHdpdGggdGhlIG5hbWUgcmVxdWVzdGVkIGFscmVhZHkgZXhpc3RzLgogKi8KY2xhc3MgQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbiBleHRlbmRzIENsb3VkRm9ybWF0aW9uRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFormation/Exception/CloudFormationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGb3JtYXRpb25cRXhjZXB0aW9uOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbjsKCi8qKgogKiBEZWZhdWx0IHNlcnZpY2UgZXhjZXB0aW9uIGNsYXNzCiAqLwpjbGFzcyBDbG91ZEZvcm1hdGlvbkV4Y2VwdGlvbiBleHRlbmRzIFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFormation/Exception/InsufficientCapabilitiesException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGb3JtYXRpb25cRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSB0ZW1wbGF0ZSBjb250YWlucyByZXNvdXJjZXMgd2l0aCBjYXBhYmlsaXRpZXMgdGhhdCB3ZXJlIG5vdCBzcGVjaWZpZWQgaW4gdGhlIENhcGFiaWxpdGllcyBwYXJhbWV0ZXIuCiAqLwpjbGFzcyBJbnN1ZmZpY2llbnRDYXBhYmlsaXRpZXNFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZvcm1hdGlvbkV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFormation/Exception/LimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGb3JtYXRpb25cRXhjZXB0aW9uOwoKLyoqCiAqIFF1b3RhIGZvciB0aGUgcmVzb3VyY2UgaGFzIGFscmVhZHkgYmVlbiByZWFjaGVkLgogKi8KY2xhc3MgTGltaXRFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIENsb3VkRm9ybWF0aW9uRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFormation/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFormation/Resources/cloudformation-2010-05-15.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTAtMDUtMTUnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnY2xvdWRmb3JtYXRpb24nLAogICAgJ3NlcnZpY2VGdWxsTmFtZScgPT4gJ0FXUyBDbG91ZEZvcm1hdGlvbicsCiAgICAnc2VydmljZVR5cGUnID0+ICdxdWVyeScsCiAgICAncmVzdWx0V3JhcHBlZCcgPT4gdHJ1ZSwKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjQnLAogICAgJ25hbWVzcGFjZScgPT4gJ0Nsb3VkRm9ybWF0aW9uJywKICAgICdyZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAndXMtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2Nsb3VkZm9ybWF0aW9uLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnY2xvdWRmb3JtYXRpb24udXMtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdjbG91ZGZvcm1hdGlvbi51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnZXUtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2Nsb3VkZm9ybWF0aW9uLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1ub3J0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdjbG91ZGZvcm1hdGlvbi5hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdjbG91ZGZvcm1hdGlvbi5hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdjbG91ZGZvcm1hdGlvbi5hcC1zb3V0aGVhc3QtMi5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdzYS1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnY2xvdWRmb3JtYXRpb24uc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLWdvdi13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnY2xvdWRmb3JtYXRpb24udXMtZ292LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQ2FuY2VsVXBkYXRlU3RhY2snID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ2FuY2VsVXBkYXRlU3RhY2snLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhY2tOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVN0YWNrJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVTdGFja091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZVN0YWNrJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YWNrTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUZW1wbGF0ZUJvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTEyMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RlbXBsYXRlVVJMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1BhcmFtZXRlcnMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1BhcmFtZXRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlcktleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEaXNhYmxlUm9sbGJhY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUaW1lb3V0SW5NaW51dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05vdGlmaWNhdGlvbkFSTnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ05vdGlmaWNhdGlvbkFSTnMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDUsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOb3RpZmljYXRpb25BUk4nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FwYWJpbGl0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDYXBhYmlsaXRpZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NhcGFiaWxpdHknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT25GYWlsdXJlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhY2tQb2xpY3lCb2R5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2Mzg0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja1BvbGljeVVSTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMzUwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdUYWdzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUXVvdGEgZm9yIHRoZSByZXNvdXJjZSBoYXMgYWxyZWFkeSBiZWVuIHJlYWNoZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmVzb3VyY2Ugd2l0aCB0aGUgbmFtZSByZXF1ZXN0ZWQgYWxyZWFkeSBleGlzdHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHRlbXBsYXRlIGNvbnRhaW5zIHJlc291cmNlcyB3aXRoIGNhcGFiaWxpdGllcyB0aGF0IHdlcmUgbm90IHNwZWNpZmllZCBpbiB0aGUgQ2FwYWJpbGl0aWVzIHBhcmFtZXRlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luc3VmZmljaWVudENhcGFiaWxpdGllc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVN0YWNrJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZVN0YWNrJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YWNrTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVN0YWNrRXZlbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVN0YWNrRXZlbnRzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVTdGFja0V2ZW50cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTdGFja1Jlc291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVN0YWNrUmVzb3VyY2VPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZVN0YWNrUmVzb3VyY2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhY2tOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvZ2ljYWxSZXNvdXJjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlU3RhY2tSZXNvdXJjZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlU3RhY2tSZXNvdXJjZXNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZVN0YWNrUmVzb3VyY2VzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YWNrTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvZ2ljYWxSZXNvdXJjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGh5c2ljYWxSZXNvdXJjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTdGFja3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlU3RhY2tzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVTdGFja3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhY2tOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0VzdGltYXRlVGVtcGxhdGVDb3N0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFc3RpbWF0ZVRlbXBsYXRlQ29zdE91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0VzdGltYXRlVGVtcGxhdGVDb3N0JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RlbXBsYXRlQm9keScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MTIwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGVtcGxhdGVVUkwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUGFyYW1ldGVycy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlclZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFN0YWNrUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRTdGFja1BvbGljeU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0dldFN0YWNrUG9saWN5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YWNrTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRUZW1wbGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0VGVtcGxhdGVPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRUZW1wbGF0ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFN0YWNrUmVzb3VyY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0U3RhY2tSZXNvdXJjZXNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdMaXN0U3RhY2tSZXNvdXJjZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhY2tOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0U3RhY2tzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0U3RhY2tzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTGlzdFN0YWNrcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhY2tTdGF0dXNGaWx0ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1N0YWNrU3RhdHVzRmlsdGVyLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdGFja1N0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTZXRTdGFja1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTZXRTdGFja1BvbGljeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhY2tQb2xpY3lCb2R5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2Mzg0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja1BvbGljeVVSTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMzUwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVTdGFjaycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVXBkYXRlU3RhY2tPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdVcGRhdGVTdGFjaycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGVtcGxhdGVCb2R5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUxMjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUZW1wbGF0ZVVSTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja1BvbGljeUR1cmluZ1VwZGF0ZUJvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTYzODQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YWNrUG9saWN5RHVyaW5nVXBkYXRlVVJMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEzNTAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1BhcmFtZXRlcnMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1BhcmFtZXRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlcktleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYXBhYmlsaXRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NhcGFiaWxpdGllcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2FwYWJpbGl0eScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja1BvbGljeUJvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTYzODQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YWNrUG9saWN5VVJMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEzNTAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB0ZW1wbGF0ZSBjb250YWlucyByZXNvdXJjZXMgd2l0aCBjYXBhYmlsaXRpZXMgdGhhdCB3ZXJlIG5vdCBzcGVjaWZpZWQgaW4gdGhlIENhcGFiaWxpdGllcyBwYXJhbWV0ZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnN1ZmZpY2llbnRDYXBhYmlsaXRpZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdWYWxpZGF0ZVRlbXBsYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdWYWxpZGF0ZVRlbXBsYXRlT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnVmFsaWRhdGVUZW1wbGF0ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUZW1wbGF0ZUJvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTEyMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RlbXBsYXRlVVJMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ21vZGVscycgPT4gYXJyYXkoCiAgICAgICAgJ0VtcHR5T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlU3RhY2tPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1N0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVN0YWNrRXZlbnRzT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdGFja0V2ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0YWNrRXZlbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YWNrTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMb2dpY2FsUmVzb3VyY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQaHlzaWNhbFJlc291cmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpbWVzdGFtcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZVN0YXR1c1JlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZVByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTdGFja1Jlc291cmNlT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdGFja1Jlc291cmNlRGV0YWlsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGFja05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdMb2dpY2FsUmVzb3VyY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQaHlzaWNhbFJlc291cmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0xhc3RVcGRhdGVkVGltZXN0YW1wJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlU3RhdHVzUmVhc29uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ01ldGFkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVN0YWNrUmVzb3VyY2VzT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdGFja1Jlc291cmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0YWNrUmVzb3VyY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhY2tOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTG9naWNhbFJlc291cmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGh5c2ljYWxSZXNvdXJjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaW1lc3RhbXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VTdGF0dXNSZWFzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTdGFja3NPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1N0YWNrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0YWNrJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhY2tOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlcktleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGlvblRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdFVwZGF0ZWRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YWNrU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YWNrU3RhdHVzUmVhc29uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc2FibGVSb2xsYmFjaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm90aWZpY2F0aW9uQVJOcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOb3RpZmljYXRpb25BUk4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpbWVvdXRJbk1pbnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhcGFiaWxpdGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYXBhYmlsaXR5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPdXRwdXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ091dHB1dCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPdXRwdXRLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3V0cHV0VmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0VzdGltYXRlVGVtcGxhdGVDb3N0T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdVcmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRTdGFja1BvbGljeU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3RhY2tQb2xpY3lCb2R5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0VGVtcGxhdGVPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1RlbXBsYXRlQm9keScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RTdGFja1Jlc291cmNlc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3RhY2tSZXNvdXJjZVN1bW1hcmllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0YWNrUmVzb3VyY2VTdW1tYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xvZ2ljYWxSZXNvdXJjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BoeXNpY2FsUmVzb3VyY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdFVwZGF0ZWRUaW1lc3RhbXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VTdGF0dXNSZWFzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFN0YWNrc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3RhY2tTdW1tYXJpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdGFja1N1bW1hcnknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGFja05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGVtcGxhdGVEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGlvblRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdFVwZGF0ZWRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0aW9uVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGFja1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGFja1N0YXR1c1JlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVTdGFja091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3RhY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1ZhbGlkYXRlVGVtcGxhdGVPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUZW1wbGF0ZVBhcmFtZXRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05vRWNobycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYXBhYmlsaXRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYXBhYmlsaXR5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYXBhYmlsaXRpZXNSZWFzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdpdGVyYXRvcnMnID0+IGFycmF5KAogICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ0Rlc2NyaWJlU3RhY2tFdmVudHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdTdGFja0V2ZW50cycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVN0YWNrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1N0YWNrcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdMaXN0U3RhY2tSZXNvdXJjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdTdGFja1Jlc291cmNlU3VtbWFyaWVzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RTdGFja3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdTdGFja1N1bW1hcmllcycsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/CloudFrontClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udDsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxBYnN0cmFjdENsaWVudDsKdXNlIEF3c1xDb21tb25cQ2xpZW50XENsaWVudEJ1aWxkZXI7CnVzZSBBd3NcQ29tbW9uXEVudW1cQ2xpZW50T3B0aW9ucyBhcyBPcHRpb25zOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUGFyc2VyXERlZmF1bHRYbWxFeGNlcHRpb25QYXJzZXI7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSZXF1aXJlZEV4dGVuc2lvbk5vdExvYWRlZEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxIdHRwXFVybDsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZTsKCi8qKgogKiBDbGllbnQgdG8gaW50ZXJhY3Qgd2l0aCBBbWF6b24gQ2xvdWRGcm9udAogKgogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZEZyb250IENyZWF0ZUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eX0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVEaXN0cmlidXRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRGcm9udCBDcmVhdGVEaXN0cmlidXRpb259CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlSW52YWxpZGF0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkRnJvbnQgQ3JlYXRlSW52YWxpZGF0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVN0cmVhbWluZ0Rpc3RyaWJ1dGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZEZyb250IENyZWF0ZVN0cmVhbWluZ0Rpc3RyaWJ1dGlvbn0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHkoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRGcm9udCBEZWxldGVDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHl9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlRGlzdHJpYnV0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkRnJvbnQgRGVsZXRlRGlzdHJpYnV0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVN0cmVhbWluZ0Rpc3RyaWJ1dGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZEZyb250IERlbGV0ZVN0cmVhbWluZ0Rpc3RyaWJ1dGlvbn0KICogQG1ldGhvZCBNb2RlbCBnZXRDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHkoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRGcm9udCBHZXRDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHl9CiAqIEBtZXRob2QgTW9kZWwgZ2V0Q2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkRnJvbnQgR2V0Q2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnfQogKiBAbWV0aG9kIE1vZGVsIGdldERpc3RyaWJ1dGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZEZyb250IEdldERpc3RyaWJ1dGlvbn0KICogQG1ldGhvZCBNb2RlbCBnZXREaXN0cmlidXRpb25Db25maWcoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRGcm9udCBHZXREaXN0cmlidXRpb25Db25maWd9CiAqIEBtZXRob2QgTW9kZWwgZ2V0SW52YWxpZGF0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkRnJvbnQgR2V0SW52YWxpZGF0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGdldFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZEZyb250IEdldFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbn0KICogQG1ldGhvZCBNb2RlbCBnZXRTdHJlYW1pbmdEaXN0cmlidXRpb25Db25maWcoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRGcm9udCBHZXRTdHJlYW1pbmdEaXN0cmlidXRpb25Db25maWd9CiAqIEBtZXRob2QgTW9kZWwgbGlzdENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0aWVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkRnJvbnQgTGlzdENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0aWVzfQogKiBAbWV0aG9kIE1vZGVsIGxpc3REaXN0cmlidXRpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkRnJvbnQgTGlzdERpc3RyaWJ1dGlvbnN9CiAqIEBtZXRob2QgTW9kZWwgbGlzdEludmFsaWRhdGlvbnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRGcm9udCBMaXN0SW52YWxpZGF0aW9uc30KICogQG1ldGhvZCBNb2RlbCBsaXN0U3RyZWFtaW5nRGlzdHJpYnV0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZEZyb250IExpc3RTdHJlYW1pbmdEaXN0cmlidXRpb25zfQogKiBAbWV0aG9kIE1vZGVsIHVwZGF0ZUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZEZyb250IFVwZGF0ZUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eX0KICogQG1ldGhvZCBNb2RlbCB1cGRhdGVEaXN0cmlidXRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRGcm9udCBVcGRhdGVEaXN0cmlidXRpb259CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlU3RyZWFtaW5nRGlzdHJpYnV0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkRnJvbnQgVXBkYXRlU3RyZWFtaW5nRGlzdHJpYnV0aW9ufQogKiBAbWV0aG9kIHdhaXRVbnRpbFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbkRlcGxveWVkKGFycmF5ICRpbnB1dCkgV2FpdCB1bnRpbCBhIHN0cmVhbWluZyBkaXN0cmlidXRpb24gaXMgZGVwbG95ZWQuIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBHZXRTdHJlYW1pbmdEaXN0cmlidXRpb24gb3BlcmF0aW9uIGFuZCB3YWl0ZXIgc3BlY2lmaWMgc2V0dGluZ3MKICogQG1ldGhvZCB3YWl0VW50aWxEaXN0cmlidXRpb25EZXBsb3llZChhcnJheSAkaW5wdXQpIFdhaXQgdW50aWwgYSBkaXN0cmlidXRpb24gaXMgZGVwbG95ZWQuIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBHZXREaXN0cmlidXRpb24gb3BlcmF0aW9uIGFuZCB3YWl0ZXIgc3BlY2lmaWMgc2V0dGluZ3MKICogQG1ldGhvZCB3YWl0VW50aWxJbnZhbGlkYXRpb25Db21wbGV0ZWQoYXJyYXkgJGlucHV0KSBXYWl0IHVudGlsIGFuIGludmFsaWRhdGlvbiBoYXMgY29tcGxldGVkLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgR2V0SW52YWxpZGF0aW9uIG9wZXJhdGlvbiBhbmQgd2FpdGVyIHNwZWNpZmljIHNldHRpbmdzCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0Q2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXRpZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0Q2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXRpZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0RGlzdHJpYnV0aW9uc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3REaXN0cmlidXRpb25zIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdEludmFsaWRhdGlvbnNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0SW52YWxpZGF0aW9ucyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RTdHJlYW1pbmdEaXN0cmlidXRpb25zSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbnMgb3BlcmF0aW9uCiAqCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9zZXJ2aWNlLWNsb3VkZnJvbnQuaHRtbCBVc2VyIGd1aWRlCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuQ2xvdWRGcm9udC5DbG91ZEZyb250Q2xpZW50Lmh0bWwgQVBJIGRvY3MKICovCmNsYXNzIENsb3VkRnJvbnRDbGllbnQgZXh0ZW5kcyBBYnN0cmFjdENsaWVudAp7CiAgICBjb25zdCBMQVRFU1RfQVBJX1ZFUlNJT04gPSAnMjAxMy0wOS0yNyc7CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgQW1hem9uIENsb3VkRnJvbnQgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBDbG91ZEZyb250IHNwZWNpZmljIG9wdGlvbnMgKGluIGFkZGl0aW9uIHRvIHRoZSBkZWZhdWx0IGNsaWVudCBjb25maWd1cmF0aW9uIG9wdGlvbnMpOgogICAgICogLSBrZXlfcGFpcl9pZDogVGhlIElEIG9mIHRoZSBrZXkgcGFpciB1c2VkIHRvIHNpZ24gQ2xvdWRGcm9udCBVUkxzIGZvciBwcml2YXRlIGRpc3RyaWJ1dGlvbnMuCiAgICAgKiAtIHByaXZhdGVfa2V5OiBUaGUgZmlsZXBhdGggb3QgdGhlIHByaXZhdGUga2V5IHVzZWQgdG8gc2lnbiBDbG91ZEZyb250IFVSTHMgZm9yIHByaXZhdGUgZGlzdHJpYnV0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEF3c1xDb21tb25cQ2xpZW50XERlZmF1bHRDbGllbnQgZm9yIGEgbGlzdCBvZiBvdGhlciBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAvLyBEZWNpZGUgd2hpY2ggc2lnbmF0dXJlIHRvIHVzZQogICAgICAgIGlmIChpc3NldCgkY29uZmlnW09wdGlvbnM6OlZFUlNJT05dKSAmJiAkY29uZmlnW09wdGlvbnM6OlZFUlNJT05dIDwgc2VsZjo6TEFURVNUX0FQSV9WRVJTSU9OKSB7CiAgICAgICAgICAgICRjb25maWdbT3B0aW9uczo6U0lHTkFUVVJFXSA9IG5ldyBDbG91ZEZyb250U2lnbmF0dXJlKCk7CiAgICAgICAgfQoKICAgICAgICAvLyBJbnN0YW50aWF0ZSB0aGUgQ2xvdWRGcm9udCBjbGllbnQKICAgICAgICByZXR1cm4gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9jbG91ZGZyb250LSVzLnBocCcsCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+c2V0RXhjZXB0aW9uUGFyc2VyKG5ldyBEZWZhdWx0WG1sRXhjZXB0aW9uUGFyc2VyKCkpCiAgICAgICAgICAgIC0+c2V0SXRlcmF0b3JzQ29uZmlnKGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknICAgPT4gJ05leHRNYXJrZXInLAogICAgICAgICAgICAgICAgJ21vcmVfa2V5JyAgICA9PiAnSXNUcnVuY2F0ZWQnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknICA9PiAnSXRlbXMnLAogICAgICAgICAgICAgICAgJ29wZXJhdGlvbnMnICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnTGlzdENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0aWVzJywKICAgICAgICAgICAgICAgICAgICAnTGlzdERpc3RyaWJ1dGlvbnMnLAogICAgICAgICAgICAgICAgICAgICdMaXN0SW52YWxpZGF0aW9ucycsCiAgICAgICAgICAgICAgICAgICAgJ0xpc3RTdHJlYW1pbmdEaXN0cmlidXRpb25zJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBzaWduZWQgVVJMLiBLZWVwIGluIG1pbmQgdGhhdCBVUkxzIG1lYW50IGZvciB1c2UgaW4gbWVkaWEvZmxhc2ggcGxheWVycyBtYXkgaGF2ZSBkaWZmZXJlbnQgcmVxdWlyZW1lbnRzCiAgICAgKiBmb3IgVVJMIGZvcm1hdHMgKGUuZy4gc29tZSByZXF1aXJlIHRoYXQgdGhlIGV4dGVuc2lvbiBiZSByZW1vdmVkLCBzb21lIHJlcXVpcmUgdGhlIGZpbGUgbmFtZSB0byBiZSBwcmVmaXhlZCAtCiAgICAgKiBtcDQ6PHBhdGg+LCBzb21lIHJlcXVpcmUgeW91IHRvIGFkZCAiL2NmeC9zdCIgaW50byB5b3VyIFVSTCkuIFNlZQogICAgICogaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRGcm9udC9sYXRlc3QvRGV2ZWxvcGVyR3VpZGUvV29ya2luZ1dpdGhTdHJlYW1pbmdEaXN0cmlidXRpb25zLmh0bWwgZm9yCiAgICAgKiBhZGRpdGlvbmFsIGRldGFpbHMgYW5kIGhlbHAuCiAgICAgKgogICAgICogVGhpcyBtZXRob2QgYWNjZXB0cyBhbiBhcnJheSBvZiBjb25maWd1cmF0aW9uIG9wdGlvbnM6CiAgICAgKiAtIHVybDogICAgICAgICAoc3RyaW5nKSAgVVJMIG9mIHRoZSByZXNvdXJjZSBiZWluZyBzaWduZWQgKGNhbiBpbmNsdWRlIHF1ZXJ5IHN0cmluZyBhbmQgd2lsZGNhcmRzKS4gRm9yIGV4YW1wbGU6CiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgcnRtcDovL3M1YzM5Z3FiOG93NjRyLmNsb3VkZnJvbnQubmV0L3ZpZGVvcy9tcDNfbmFtZS5tcDMKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vZDExMTExMWFiY2RlZjguY2xvdWRmcm9udC5uZXQvaW1hZ2VzL2hvcml6b24uanBnP3NpemU9bGFyZ2UmbGljZW5zZT15ZXMKICAgICAqIC0gcG9saWN5OiAgICAgIChzdHJpbmcpICBKU09OIHBvbGljeS4gVXNlIHRoaXMgb3B0aW9uIHdoZW4gY3JlYXRpbmcgYSBzaWduZWQgVVJMIGZvciBhIGN1c3RvbSBwb2xpY3kuCiAgICAgKiAtIGV4cGlyZXM6ICAgICAoaW50KSAgICAgVVRDIFVuaXggdGltZXN0YW1wIHVzZWQgd2hlbiBzaWduaW5nIHdpdGggYSBjYW5uZWQgcG9saWN5LiBOb3QgcmVxdWlyZWQgd2hlbiBwYXNzaW5nIGEKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b20gJ3BvbGljeScgb3B0aW9uLgogICAgICogLSBrZXlfcGFpcl9pZDogKHN0cmluZykgIFRoZSBJRCBvZiB0aGUga2V5IHBhaXIgdXNlZCB0byBzaWduIENsb3VkRnJvbnQgVVJMcyBmb3IgcHJpdmF0ZSBkaXN0cmlidXRpb25zLgogICAgICogLSBwcml2YXRlX2tleTogKHN0cmluZykgIFRoZSBmaWxlcGF0aCBvdCB0aGUgcHJpdmF0ZSBrZXkgdXNlZCB0byBzaWduIENsb3VkRnJvbnQgVVJMcyBmb3IgcHJpdmF0ZSBkaXN0cmlidXRpb25zLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkb3B0aW9ucyBBcnJheSBvZiBjb25maWd1cmF0aW9uIG9wdGlvbnMgdXNlZCB3aGVuIHNpZ25pbmcKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBmaWxlIFVSTCB3aXRoIGF1dGhlbnRpY2F0aW9uIHBhcmFtZXRlcnMKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uICAgICAgICAgICAgaWYga2V5X3BhaXJfaWQgYW5kIHByaXZhdGVfa2V5IGhhdmUgbm90IGJlZW4gY29uZmlndXJlZCBvbiB0aGUgY2xpZW50CiAgICAgKiBAdGhyb3dzIFJlcXVpcmVkRXh0ZW5zaW9uTm90TG9hZGVkRXhjZXB0aW9uIGlmIHRoZSBvcGVuc3NsIGV4dGVuc2lvbiBpcyBub3QgaW5zdGFsbGVkCiAgICAgKiBAbGluayAgIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL1dvcmtpbmdXaXRoU3RyZWFtaW5nRGlzdHJpYnV0aW9ucy5odG1sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTaWduZWRVcmwoYXJyYXkgJG9wdGlvbnMpCiAgICB7CiAgICAgICAgaWYgKCFleHRlbnNpb25fbG9hZGVkKCdvcGVuc3NsJykpIHsKICAgICAgICAgICAgLy9AY29kZUNvdmVyYWdlSWdub3JlU3RhcnQKICAgICAgICAgICAgdGhyb3cgbmV3IFJlcXVpcmVkRXh0ZW5zaW9uTm90TG9hZGVkRXhjZXB0aW9uKCdUaGUgb3BlbnNzbCBleHRlbnNpb24gaXMgcmVxdWlyZWQgdG8gc2lnbiBDbG91ZEZyb250IHVybHMuJyk7CiAgICAgICAgICAgIC8vQGNvZGVDb3ZlcmFnZUlnbm9yZUVuZAogICAgICAgIH0KCiAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgY29uZmlndXJhdGlvbiBkYXRhIGFuZCBlbnN1cmUgdGhhdCB0aGUgdXJsIHdhcyBzcGVjaWZpZWQKICAgICAgICAkb3B0aW9ucyA9IENvbGxlY3Rpb246OmZyb21Db25maWcoJG9wdGlvbnMsIGFycmF5X2ZpbHRlcihhcnJheSgKICAgICAgICAgICAgJ2tleV9wYWlyX2lkJyA9PiAkdGhpcy0+Z2V0Q29uZmlnKCdrZXlfcGFpcl9pZCcpLAogICAgICAgICAgICAncHJpdmF0ZV9rZXknID0+ICR0aGlzLT5nZXRDb25maWcoJ3ByaXZhdGVfa2V5JyksCiAgICAgICAgKSksIGFycmF5KCd1cmwnLCAna2V5X3BhaXJfaWQnLCAncHJpdmF0ZV9rZXknKSk7CgogICAgICAgIC8vIERldGVybWluZSB0aGUgc2NoZW1lIG9mIHRoZSB1cmwKICAgICAgICAkdXJsU2VjdGlvbnMgPSBleHBsb2RlKCc6Ly8nLCAkb3B0aW9uc1sndXJsJ10pOwogICAgICAgIGlmIChjb3VudCgkdXJsU2VjdGlvbnMpIDwgMikgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdJbnZhbGlkIFVSTDogJyAuICRvcHRpb25zWyd1cmwnXSk7CiAgICAgICAgfQoKICAgICAgICAvLyBHZXQgdGhlIHJlYWwgc2NoZW1lIGJ5IHJlbW92aW5nIHdpbGRjYXJkcyBmcm9tIHRoZSBzY2hlbWUKICAgICAgICAkc2NoZW1lID0gc3RyX3JlcGxhY2UoJyonLCAnJywgJHVybFNlY3Rpb25zWzBdKTsKICAgICAgICAkcG9saWN5ID0gJG9wdGlvbnNbJ3BvbGljeSddID86ICR0aGlzLT5jcmVhdGVDYW5uZWRQb2xpY3koJHNjaGVtZSwgJG9wdGlvbnNbJ3VybCddLCAkb3B0aW9uc1snZXhwaXJlcyddKTsKICAgICAgICAvLyBTdHJpcCB3aGl0ZXNwYWNlIGZyb20gdGhlIHBvbGljeQogICAgICAgICRwb2xpY3kgPSBzdHJfcmVwbGFjZSgnICcsICcnLCAkcG9saWN5KTsKCiAgICAgICAgJHVybCA9IFVybDo6ZmFjdG9yeSgkc2NoZW1lIC4gJzovLycgLiAkdXJsU2VjdGlvbnNbMV0pOwogICAgICAgIGlmICgkb3B0aW9uc1sncG9saWN5J10pIHsKICAgICAgICAgICAgLy8gQ3VzdG9tIHBvbGljaWVzIHJlcXVpcmUgdGhhdCB0aGUgZW5jb2RlZCBwb2xpY3kgYmUgc3BlY2lmaWVkIGluIHRoZSBVUkwKICAgICAgICAgICAgJHVybC0+Z2V0UXVlcnkoKS0+c2V0KCdQb2xpY3knLCBzdHJ0cihiYXNlNjRfZW5jb2RlKCRwb2xpY3kpLCAnKz0vJywgJy1fficpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBDYW5uZWQgcG9saWNpZXMgcmVxdWlyZSB0aGF0IHRoZSBFeHBpcmVzIHBhcmFtZXRlciBiZSBzZXQgaW4gdGhlIFVSTAogICAgICAgICAgICAkdXJsLT5nZXRRdWVyeSgpLT5zZXQoJ0V4cGlyZXMnLCAkb3B0aW9uc1snZXhwaXJlcyddKTsKICAgICAgICB9CgogICAgICAgIC8vIFNpZ24gdGhlIHBvbGljeSB1c2luZyB0aGUgQ2xvdWRGcm9udCBwcml2YXRlIGtleQogICAgICAgICRzaWduZWRQb2xpY3kgPSAkdGhpcy0+cnNhU2hhMVNpZ24oJHBvbGljeSwgJG9wdGlvbnNbJ3ByaXZhdGVfa2V5J10pOwogICAgICAgIC8vIFJlbW92ZSB3aGl0ZXNwYWNlLCBiYXNlNjQgZW5jb2RlIHRoZSBwb2xpY3ksIGFuZCByZXBsYWNlIHNwZWNpYWwgY2hhcmFjdGVycwogICAgICAgICRzaWduZWRQb2xpY3kgPSBzdHJ0cihiYXNlNjRfZW5jb2RlKCRzaWduZWRQb2xpY3kpLCAnKz0vJywgJy1fficpOwoKICAgICAgICAkdXJsLT5nZXRRdWVyeSgpCiAgICAgICAgICAgIC0+c2V0KCdTaWduYXR1cmUnLCAkc2lnbmVkUG9saWN5KQogICAgICAgICAgICAtPnNldCgnS2V5LVBhaXItSWQnLCAkb3B0aW9uc1sna2V5X3BhaXJfaWQnXSk7CgogICAgICAgIGlmICgkc2NoZW1lICE9ICdydG1wJykgewogICAgICAgICAgICAvLyBIVFRQIGFuZCBIVFRQUyBzaWduZWQgVVJMcyBpbmNsdWRlIHRoZSBmdWxsIFVSTAogICAgICAgICAgICByZXR1cm4gKHN0cmluZykgJHVybDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBVc2UgYSByZWxhdGl2ZSBVUkwgd2hlbiBjcmVhdGluZyBGbGFzaCBwbGF5ZXIgVVJMcwogICAgICAgICAgICAkdXJsLT5nZXRRdWVyeSgpLT51c2VVcmxFbmNvZGluZyhmYWxzZSk7CiAgICAgICAgICAgICR1cmwtPnNldFNjaGVtZShudWxsKS0+c2V0SG9zdChudWxsKTsKICAgICAgICAgICAgcmV0dXJuIHN1YnN0cigkdXJsLCAxKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBTaWduIGEgcG9saWN5IHN0cmluZyB1c2luZyBPcGVuU1NMIFJTQSBTSEExCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcG9saWN5ICAgICAgICAgICAgIFBvbGljeSB0byBzaWduCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwcml2YXRlS2V5RmlsZW5hbWUgRmlsZSBjb250YWluaW5nIHRoZSBPcGVuU1NMIHByaXZhdGUga2V5CiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJzYVNoYTFTaWduKCRwb2xpY3ksICRwcml2YXRlS2V5RmlsZW5hbWUpCiAgICB7CiAgICAgICAgJHNpZ25hdHVyZSA9ICcnOwogICAgICAgIG9wZW5zc2xfc2lnbigkcG9saWN5LCAkc2lnbmF0dXJlLCBmaWxlX2dldF9jb250ZW50cygkcHJpdmF0ZUtleUZpbGVuYW1lKSk7CgogICAgICAgIHJldHVybiAkc2lnbmF0dXJlOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgY2FubmVkIHBvbGljeSBmb3IgYSBwYXJ0aWN1bGFyIFVSTCBhbmQgZXhwaXJhdGlvbgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHNjaGVtZSAgUGFyc2VkIHNjaGVtZSB3aXRob3V0IHdpbGRjYXJkcwogICAgICogQHBhcmFtIHN0cmluZyAkdXJsICAgICBVUkwgdGhhdCBpcyBiZWluZyBzaWduZWQKICAgICAqIEBwYXJhbSBpbnQgICAgJGV4cGlyZXMgVGltZSBpbiB3aGljaCB0aGUgc2lnbmF0dXJlIGV4cGlyZXMKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaWYgdGhlIGV4cGlyYXRpb24gaXMgbm90IHNldAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY3JlYXRlQ2FubmVkUG9saWN5KCRzY2hlbWUsICR1cmwsICRleHBpcmVzKQogICAgewogICAgICAgIGlmICghJGV4cGlyZXMpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignQW4gZXhwaXJlcyBvcHRpb24gaXMgcmVxdWlyZWQgd2hlbiB1c2luZyBhIGNhbm5lZCBwb2xpY3knKTsKICAgICAgICB9CgogICAgICAgIC8vIEdlbmVyYXRlIGEgY2FubmVkIHBvbGljeQogICAgICAgIGlmICgkc2NoZW1lID09ICdodHRwJyB8fCAkc2NoZW1lID09ICdodHRwcycpIHsKICAgICAgICAgICAgJHJlc291cmNlID0gJHVybDsKICAgICAgICB9IGVsc2VpZiAoJHNjaGVtZSA9PSAncnRtcCcpIHsKICAgICAgICAgICAgJHBhcnRzID0gcGFyc2VfdXJsKCR1cmwpOwogICAgICAgICAgICAkcGF0aFBhcnRzID0gcGF0aGluZm8oJHBhcnRzWydwYXRoJ10pOwogICAgICAgICAgICAvLyBBZGQgcGF0aCBsZWFkaW5nIHRvIGZpbGUsIHN0cmlwIGZpbGUgZXh0ZW5zaW9uLCBhbmQgYWRkIGEgcXVlcnkgc3RyaW5nIGlmIHByZXNlbnQKICAgICAgICAgICAgJHJlc291cmNlID0gbHRyaW0oJHBhdGhQYXJ0c1snZGlybmFtZSddIC4gJy8nIC4gJHBhdGhQYXJ0c1snYmFzZW5hbWUnXSwgJy8nKQogICAgICAgICAgICAgICAgLiAoaXNzZXQoJHBhcnRzWydxdWVyeSddKSA/ICI/eyRwYXJ0c1sncXVlcnknXX0iIDogJycpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oIkludmFsaWQgVVJJIHNjaGVtZTogeyRzY2hlbWV9LiBNdXN0IGJlIG9uZSBvZiBodHRwIG9yIHJ0bXAuIik7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gc3ByaW50ZigKICAgICAgICAgICAgJ3siU3RhdGVtZW50IjpbeyJSZXNvdXJjZSI6IiVzIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjolZH19fV19JywKICAgICAgICAgICAgJHJlc291cmNlLAogICAgICAgICAgICAkZXhwaXJlcwogICAgICAgICk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/CloudFrontSignature.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udDsKCnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzSW50ZXJmYWNlOwp1c2UgQXdzXENvbW1vblxFbnVtXERhdGVGb3JtYXQ7CnVzZSBBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CgovKioKICogQW1hem9uIENsb3VkRnJvbnQgc2lnbmF0dXJlIGltcGxlbWVudGF0aW9uCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL1JFU1RBdXRoZW50aWNhdGlvbi5odG1sCiAqLwpjbGFzcyBDbG91ZEZyb250U2lnbmF0dXJlIGltcGxlbWVudHMgU2lnbmF0dXJlSW50ZXJmYWNlCnsKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2lnblJlcXVlc3QoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgQ3JlZGVudGlhbHNJbnRlcmZhY2UgJGNyZWRlbnRpYWxzKQogICAgewogICAgICAgIC8vIEFkZCBhIGRhdGUgaGVhZGVyIGlmIG9uZSBpcyBub3Qgc2V0CiAgICAgICAgaWYgKCEkcmVxdWVzdC0+aGFzSGVhZGVyKCdkYXRlJykgJiYgISRyZXF1ZXN0LT5oYXNIZWFkZXIoJ3gtYW16LWRhdGUnKSkgewogICAgICAgICAgICAkcmVxdWVzdC0+c2V0SGVhZGVyKCdEYXRlJywgZ21kYXRlKERhdGVGb3JtYXQ6OlJGQzI4MjIpKTsKICAgICAgICB9CgogICAgICAgICRzdHJpbmdUb1NpZ24gPSAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdEYXRlJykgPzogKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcigneC1hbXotZGF0ZScpOwogICAgICAgICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+c2V0KCdhd3Muc3RyaW5nX3RvX3NpZ24nLCAkc3RyaW5nVG9TaWduKTsKCiAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcigKICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nLAogICAgICAgICAgICAnQVdTICcgLiAkY3JlZGVudGlhbHMtPmdldEFjY2Vzc0tleUlkKCkgLiAnOicgLiAkdGhpcy0+c2lnblN0cmluZygkc3RyaW5nVG9TaWduLCAkY3JlZGVudGlhbHMpCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNpZ24gYSBzaWduYXR1cmUgc3RyaW5nIGJ5IGFwcGx5aW5nIFNIQS0xIEhNQUMgaGFzaGluZy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgJHN0cmluZyAgICAgIFRoZSBzaWduYXR1cmUgc3RyaW5nIHRvIGhhc2guCiAgICAgKiBAcGFyYW0gQ3JlZGVudGlhbHNJbnRlcmZhY2UgJGNyZWRlbnRpYWxzIFNpZ25pbmcgY3JlZGVudGlhbHMuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgVGhlIGhhc2hlZCBzaWduYXR1cmUgc3RyaW5nLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2lnblN0cmluZygkc3RyaW5nLCBDcmVkZW50aWFsc0ludGVyZmFjZSAkY3JlZGVudGlhbHMpCiAgICB7CiAgICAgICAgcmV0dXJuIGJhc2U2NF9lbmNvZGUoaGFzaF9obWFjKCdzaGExJywgJHN0cmluZywgJGNyZWRlbnRpYWxzLT5nZXRTZWNyZXRLZXkoKSwgdHJ1ZSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Enum/ItemSelection.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIEl0ZW1TZWxlY3Rpb24gdmFsdWVzCiAqLwpjbGFzcyBJdGVtU2VsZWN0aW9uIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBOT05FID0gJ25vbmUnOwogICAgY29uc3QgV0hJVEVMSVNUID0gJ3doaXRlbGlzdCc7CiAgICBjb25zdCBBTEwgPSAnYWxsJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Enum/Method.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIE1ldGhvZCB2YWx1ZXMKICovCmNsYXNzIE1ldGhvZCBleHRlbmRzIEVudW0KewogICAgY29uc3QgR0VUID0gJ0dFVCc7CiAgICBjb25zdCBIRUFEID0gJ0hFQUQnOwogICAgY29uc3QgUE9TVCA9ICdQT1NUJzsKICAgIGNvbnN0IFBVVCA9ICdQVVQnOwogICAgY29uc3QgUEFUQ0ggPSAnUEFUQ0gnOwogICAgY29uc3QgT1BUSU9OUyA9ICdPUFRJT05TJzsKICAgIGNvbnN0IERFTEVURSA9ICdERUxFVEUnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Enum/OriginProtocolPolicy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIE9yaWdpblByb3RvY29sUG9saWN5IHZhbHVlcwogKi8KY2xhc3MgT3JpZ2luUHJvdG9jb2xQb2xpY3kgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEhUVFBfT05MWSA9ICdodHRwLW9ubHknOwogICAgY29uc3QgTUFUQ0hfVklFV0VSID0gJ21hdGNoLXZpZXdlcic7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Enum/PriceClass.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIFByaWNlQ2xhc3MgdmFsdWVzCiAqLwpjbGFzcyBQcmljZUNsYXNzIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBQUklDRV9DTEFTU18xMDAgPSAnUHJpY2VDbGFzc18xMDAnOwogICAgY29uc3QgUFJJQ0VfQ0xBU1NfMjAwID0gJ1ByaWNlQ2xhc3NfMjAwJzsKICAgIGNvbnN0IFBSSUNFX0NMQVNTX0FMTCA9ICdQcmljZUNsYXNzX0FsbCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Enum/ViewerProtocolPolicy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIFZpZXdlclByb3RvY29sUG9saWN5IHZhbHVlcwogKi8KY2xhc3MgVmlld2VyUHJvdG9jb2xQb2xpY3kgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEFMTE9XX0FMTCA9ICdhbGxvdy1hbGwnOwogICAgY29uc3QgSFRUUFNfT05MWSA9ICdodHRwcy1vbmx5JzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/AccessDeniedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogQWNjZXNzIGRlbmllZC4KICovCmNsYXNzIEFjY2Vzc0RlbmllZEV4Y2VwdGlvbiBleHRlbmRzIENsb3VkRnJvbnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/BatchTooLargeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBCYXRjaFRvb0xhcmdlRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBCYXRjaFRvb0xhcmdlRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRGcm9udEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/CloudFrontException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uOwoKLyoqCiAqIERlZmF1bHQgc2VydmljZSBleGNlcHRpb24gY2xhc3MKICovCmNsYXNzIENsb3VkRnJvbnRFeGNlcHRpb24gZXh0ZW5kcyBTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/CloudFrontOriginAccessIdentityAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhbiBpZGVudGl0eSBidXQgdGhlIGNvbnRlbnQgb2YgdGhlIENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUNvbmZpZyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdCwgQ2xvdWRGcm9udCByZXR1cm5zIGEgQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5QWxyZWFkeUV4aXN0cyBlcnJvci4KICovCmNsYXNzIENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/CloudFrontOriginAccessIdentityInUseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlJblVzZUV4Y2VwdGlvbiBlcnJvciBpcyBlbmNvdW50ZXJlZAogKi8KY2xhc3MgQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5SW5Vc2VFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/CNAMEAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBDTkFNRUFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXJyb3IgaXMgZW5jb3VudGVyZWQKICovCmNsYXNzIENOQU1FQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbiBleHRlbmRzIENsb3VkRnJvbnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/DistributionAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhlIGNhbGxlciByZWZlcmVuY2UgeW91IGF0dGVtcHRlZCB0byBjcmVhdGUgdGhlIGRpc3RyaWJ1dGlvbiB3aXRoIGlzIGFzc29jaWF0ZWQgd2l0aCBhbm90aGVyIGRpc3RyaWJ1dGlvbi4KICovCmNsYXNzIERpc3RyaWJ1dGlvbkFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/DistributionNotDisabledException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBEaXN0cmlidXRpb25Ob3REaXNhYmxlZEV4Y2VwdGlvbiBlcnJvciBpcyBlbmNvdW50ZXJlZAogKi8KY2xhc3MgRGlzdHJpYnV0aW9uTm90RGlzYWJsZWRFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/Exception.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uOwoKLyoqCiAqIERlZmF1bHQgc2VydmljZSBleGNlcHRpb24gY2xhc3MKICovCmNsYXNzIEV4Y2VwdGlvbiBleHRlbmRzIFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/IllegalUpdateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogT3JpZ2luIGFuZCBDYWxsZXJSZWZlcmVuY2UgY2Fubm90IGJlIHVwZGF0ZWQuCiAqLwpjbGFzcyBJbGxlZ2FsVXBkYXRlRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRGcm9udEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/InconsistentQuantitiesException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhlIHZhbHVlIG9mIFF1YW50aXR5IGFuZCB0aGUgc2l6ZSBvZiBJdGVtcyBkbyBub3QgbWF0Y2guCiAqLwpjbGFzcyBJbmNvbnNpc3RlbnRRdWFudGl0aWVzRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRGcm9udEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/InvalidArgumentException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhlIGFyZ3VtZW50IGlzIGludmFsaWQuCiAqLwpjbGFzcyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/InvalidDefaultRootObjectException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhlIGRlZmF1bHQgcm9vdCBvYmplY3QgZmlsZSBuYW1lIGlzIHRvbyBiaWcgb3IgY29udGFpbnMgYW4gaW52YWxpZCBjaGFyYWN0ZXIuCiAqLwpjbGFzcyBJbnZhbGlkRGVmYXVsdFJvb3RPYmplY3RFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/InvalidErrorCodeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBJbnZhbGlkRXJyb3JDb2RlRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBJbnZhbGlkRXJyb3JDb2RlRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRGcm9udEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/InvalidForwardCookiesException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogWW91ciByZXF1ZXN0IGNvbnRhaW5zIGZvcndhcmQgY29va2llcyBvcHRpb24gd2hpY2ggZG9lc24ndCBtYXRjaCB3aXRoIHRoZSBleHBlY3RhdGlvbiBmb3IgdGhlIHdoaXRlbGlzdGVkIGxpc3Qgb2YgY29va2llIG5hbWVzLiBFaXRoZXIgbGlzdCBvZiBjb29raWUgbmFtZXMgaGFzIGJlZW4gc3BlY2lmaWVkIHdoZW4gbm90IGFsbG93ZWQgb3IgbGlzdCBvZiBjb29raWUgbmFtZXMgaXMgbWlzc2luZyB3aGVuIGV4cGVjdGVkLgogKi8KY2xhc3MgSW52YWxpZEZvcndhcmRDb29raWVzRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRGcm9udEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/InvalidIfMatchVersionException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhlIElmLU1hdGNoIHZlcnNpb24gaXMgbWlzc2luZyBvciBub3QgdmFsaWQgZm9yIHRoZSBkaXN0cmlidXRpb24uCiAqLwpjbGFzcyBJbnZhbGlkSWZNYXRjaFZlcnNpb25FeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/InvalidOriginAccessIdentityException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgaXMgbm90IHZhbGlkIG9yIGRvZXNuJ3QgZXhpc3QuCiAqLwpjbGFzcyBJbnZhbGlkT3JpZ2luQWNjZXNzSWRlbnRpdHlFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/InvalidOriginException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhlIEFtYXpvbiBTMyBvcmlnaW4gc2VydmVyIHNwZWNpZmllZCBkb2VzIG5vdCByZWZlciB0byBhIHZhbGlkIEFtYXpvbiBTMyBidWNrZXQuCiAqLwpjbGFzcyBJbnZhbGlkT3JpZ2luRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRGcm9udEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/InvalidRelativePathException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhlIHJlbGF0aXZlIHBhdGggaXMgdG9vIGJpZywgaXMgbm90IFVSTC1lbmNvZGVkLCBvciBkb2VzIG5vdCBiZWdpbiB3aXRoIGEgc2xhc2ggKC8pLgogKi8KY2xhc3MgSW52YWxpZFJlbGF0aXZlUGF0aEV4Y2VwdGlvbiBleHRlbmRzIENsb3VkRnJvbnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/InvalidRequiredProtocolException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhpcyBvcGVyYXRpb24gcmVxdWlyZXMgdGhlIEhUVFBTIHByb3RvY29sLiBFbnN1cmUgdGhhdCB5b3Ugc3BlY2lmeSB0aGUgSFRUUFMgcHJvdG9jb2wgaW4geW91ciByZXF1ZXN0LCBvciBvbWl0IHRoZSBSZXF1aXJlZFByb3RvY29scyBlbGVtZW50IGZyb20geW91ciBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbi4KICovCmNsYXNzIEludmFsaWRSZXF1aXJlZFByb3RvY29sRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRGcm9udEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/InvalidResponseCodeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBJbnZhbGlkUmVzcG9uc2VDb2RlRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBJbnZhbGlkUmVzcG9uc2VDb2RlRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRGcm9udEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/InvalidViewerCertificateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBJbnZhbGlkVmlld2VyQ2VydGlmaWNhdGVFeGNlcHRpb24gZXJyb3IgaXMgZW5jb3VudGVyZWQKICovCmNsYXNzIEludmFsaWRWaWV3ZXJDZXJ0aWZpY2F0ZUV4Y2VwdGlvbiBleHRlbmRzIENsb3VkRnJvbnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/MissingBodyException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhpcyBvcGVyYXRpb24gcmVxdWlyZXMgYSBib2R5LiBFbnN1cmUgdGhhdCB0aGUgYm9keSBpcyBwcmVzZW50IGFuZCB0aGUgQ29udGVudC1UeXBlIGhlYWRlciBpcyBzZXQuCiAqLwpjbGFzcyBNaXNzaW5nQm9keUV4Y2VwdGlvbiBleHRlbmRzIENsb3VkRnJvbnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/NoSuchCloudFrontOriginAccessIdentityException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhlIHNwZWNpZmllZCBvcmlnaW4gYWNjZXNzIGlkZW50aXR5IGRvZXMgbm90IGV4aXN0LgogKi8KY2xhc3MgTm9TdWNoQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5RXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRGcm9udEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/NoSuchDistributionException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhlIHNwZWNpZmllZCBkaXN0cmlidXRpb24gZG9lcyBub3QgZXhpc3QuCiAqLwpjbGFzcyBOb1N1Y2hEaXN0cmlidXRpb25FeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/NoSuchInvalidationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhlIHNwZWNpZmllZCBpbnZhbGlkYXRpb24gZG9lcyBub3QgZXhpc3QuCiAqLwpjbGFzcyBOb1N1Y2hJbnZhbGlkYXRpb25FeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/NoSuchOriginException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogTm8gb3JpZ2luIGV4aXN0cyB3aXRoIHRoZSBzcGVjaWZpZWQgT3JpZ2luIElkLgogKi8KY2xhc3MgTm9TdWNoT3JpZ2luRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRGcm9udEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/NoSuchStreamingDistributionException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhlIHNwZWNpZmllZCBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uIGRvZXMgbm90IGV4aXN0LgogKi8KY2xhc3MgTm9TdWNoU3RyZWFtaW5nRGlzdHJpYnV0aW9uRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRGcm9udEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/PreconditionFailedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogVGhlIHByZWNvbmRpdGlvbiBnaXZlbiBpbiBvbmUgb3IgbW9yZSBvZiB0aGUgcmVxdWVzdC1oZWFkZXIgZmllbGRzIGV2YWx1YXRlZCB0byBmYWxzZS4KICovCmNsYXNzIFByZWNvbmRpdGlvbkZhaWxlZEV4Y2VwdGlvbiBleHRlbmRzIENsb3VkRnJvbnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/StreamingDistributionAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBTdHJlYW1pbmdEaXN0cmlidXRpb25BbHJlYWR5RXhpc3RzRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBTdHJlYW1pbmdEaXN0cmlidXRpb25BbHJlYWR5RXhpc3RzRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRGcm9udEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/StreamingDistributionNotDisabledException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBTdHJlYW1pbmdEaXN0cmlidXRpb25Ob3REaXNhYmxlZEV4Y2VwdGlvbiBlcnJvciBpcyBlbmNvdW50ZXJlZAogKi8KY2xhc3MgU3RyZWFtaW5nRGlzdHJpYnV0aW9uTm90RGlzYWJsZWRFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/TooManyCacheBehaviorsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogWW91IGNhbm5vdCBjcmVhdGUgYW55bW9yZSBjYWNoZSBiZWhhdmlvcnMgZm9yIHRoZSBkaXN0cmlidXRpb24uCiAqLwpjbGFzcyBUb29NYW55Q2FjaGVCZWhhdmlvcnNFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/TooManyCertificatesException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogWW91IGNhbm5vdCBjcmVhdGUgYW55bW9yZSBjdXN0b20gc3NsIGNlcnRpZmljYXRlcy4KICovCmNsYXNzIFRvb01hbnlDZXJ0aWZpY2F0ZXNFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/TooManyCloudFrontOriginAccessIdentitiesException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogUHJvY2Vzc2luZyB5b3VyIHJlcXVlc3Qgd291bGQgY2F1c2UgeW91IHRvIGV4Y2VlZCB0aGUgbWF4aW11bSBudW1iZXIgb2Ygb3JpZ2luIGFjY2VzcyBpZGVudGl0aWVzIGFsbG93ZWQuCiAqLwpjbGFzcyBUb29NYW55Q2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXRpZXNFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/TooManyCookieNamesInWhiteListException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogWW91ciByZXF1ZXN0IGNvbnRhaW5zIG1vcmUgY29va2llIG5hbWVzIGluIHRoZSB3aGl0ZWxpc3QgdGhhbiBhcmUgYWxsb3dlZCBwZXIgY2FjaGUgYmVoYXZpb3IuCiAqLwpjbGFzcyBUb29NYW55Q29va2llTmFtZXNJbldoaXRlTGlzdEV4Y2VwdGlvbiBleHRlbmRzIENsb3VkRnJvbnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/TooManyDistributionCNAMEsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogWW91ciByZXF1ZXN0IGNvbnRhaW5zIG1vcmUgQ05BTUVzIHRoYW4gYXJlIGFsbG93ZWQgcGVyIGRpc3RyaWJ1dGlvbi4KICovCmNsYXNzIFRvb01hbnlEaXN0cmlidXRpb25DTkFNRXNFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/TooManyDistributionsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogUHJvY2Vzc2luZyB5b3VyIHJlcXVlc3Qgd291bGQgY2F1c2UgeW91IHRvIGV4Y2VlZCB0aGUgbWF4aW11bSBudW1iZXIgb2YgZGlzdHJpYnV0aW9ucyBhbGxvd2VkLgogKi8KY2xhc3MgVG9vTWFueURpc3RyaWJ1dGlvbnNFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/TooManyInvalidationsInProgressException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogWW91IGhhdmUgZXhjZWVkZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGFsbG93YWJsZSBJblByb2dyZXNzIGludmFsaWRhdGlvbiBiYXRjaCByZXF1ZXN0cywgb3IgaW52YWxpZGF0aW9uIG9iamVjdHMuCiAqLwpjbGFzcyBUb29NYW55SW52YWxpZGF0aW9uc0luUHJvZ3Jlc3NFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/TooManyOriginsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogWW91IGNhbm5vdCBjcmVhdGUgYW55bW9yZSBvcmlnaW5zIGZvciB0aGUgZGlzdHJpYnV0aW9uLgogKi8KY2xhc3MgVG9vTWFueU9yaWdpbnNFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZEZyb250RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/TooManyStreamingDistributionCNAMEsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBUb29NYW55U3RyZWFtaW5nRGlzdHJpYnV0aW9uQ05BTUVzRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBUb29NYW55U3RyZWFtaW5nRGlzdHJpYnV0aW9uQ05BTUVzRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRGcm9udEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/TooManyStreamingDistributionsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogUHJvY2Vzc2luZyB5b3VyIHJlcXVlc3Qgd291bGQgY2F1c2UgeW91IHRvIGV4Y2VlZCB0aGUgbWF4aW11bSBudW1iZXIgb2Ygc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbnMgYWxsb3dlZC4KICovCmNsYXNzIFRvb01hbnlTdHJlYW1pbmdEaXN0cmlidXRpb25zRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRGcm9udEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/TooManyTrustedSignersException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogWW91ciByZXF1ZXN0IGNvbnRhaW5zIG1vcmUgdHJ1c3RlZCBzaWduZXJzIHRoYW4gYXJlIGFsbG93ZWQgcGVyIGRpc3RyaWJ1dGlvbi4KICovCmNsYXNzIFRvb01hbnlUcnVzdGVkU2lnbmVyc0V4Y2VwdGlvbiBleHRlbmRzIENsb3VkRnJvbnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Exception/TrustedSignerDoesNotExistException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRGcm9udFxFeGNlcHRpb247CgovKioKICogT25lIG9yIG1vcmUgb2YgeW91ciB0cnVzdGVkIHNpZ25lcnMgZG8gbm90IGV4aXN0LgogKi8KY2xhc3MgVHJ1c3RlZFNpZ25lckRvZXNOb3RFeGlzdEV4Y2VwdGlvbiBleHRlbmRzIENsb3VkRnJvbnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Resources/cloudfront-2012-05-05.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTItMDUtMDUnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnY2xvdWRmcm9udCcsCiAgICAnc2VydmljZUZ1bGxOYW1lJyA9PiAnQW1hem9uIENsb3VkRnJvbnQnLAogICAgJ3NlcnZpY2VBYmJyZXZpYXRpb24nID0+ICdDbG91ZEZyb250JywKICAgICdzZXJ2aWNlVHlwZScgPT4gJ3Jlc3QteG1sJywKICAgICdnbG9iYWxFbmRwb2ludCcgPT4gJ2Nsb3VkZnJvbnQuYW1hem9uYXdzLmNvbScsCiAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ2Nsb3VkZnJvbnQnLAogICAgJ25hbWVzcGFjZScgPT4gJ0Nsb3VkRnJvbnQnLAogICAgJ3JlZ2lvbnMnID0+IGFycmF5KAogICAgICAgICd1cy1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdjbG91ZGZyb250LmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2Nsb3VkZnJvbnQuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtd2VzdC0yJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnY2xvdWRmcm9udC5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdldS13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdjbG91ZGZyb250LmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLW5vcnRoZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnY2xvdWRmcm9udC5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2Nsb3VkZnJvbnQuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdjbG91ZGZyb250LmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3NhLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2Nsb3VkZnJvbnQuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICksCiAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ0NyZWF0ZUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0wNS0wNS9vcmlnaW4tYWNjZXNzLWlkZW50aXR5L2Nsb3VkZnJvbnQnLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eVJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdzdW1tYXJ5JyA9PiAnQ3JlYXRlIGEgbmV3IG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkuJywKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3htbFJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnJywKICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwOi8vY2xvdWRmcm9udC5hbWF6b25hd3MuY29tL2RvYy8yMDEyLTA1LTA1LycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBudW1iZXIgdGhhdCBlbnN1cmVzIHRoZSByZXF1ZXN0IGNhblwndCBiZSByZXBsYXllZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBuZXcgKG5vIG1hdHRlciB0aGUgY29udGVudCBvZiB0aGUgQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnIG9iamVjdCksIGEgbmV3IG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgaXMgY3JlYXRlZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhbiBpZGVudGl0eSwgYW5kIHRoZSBjb250ZW50IG9mIHRoZSBDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlDb25maWcgaXMgaWRlbnRpY2FsIHRvIHRoZSBvcmlnaW5hbCByZXF1ZXN0IChpZ25vcmluZyB3aGl0ZSBzcGFjZSksIHRoZSByZXNwb25zZSBpbmNsdWRlcyB0aGUgc2FtZSBpbmZvcm1hdGlvbiByZXR1cm5lZCB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhbiBpZGVudGl0eSBidXQgdGhlIGNvbnRlbnQgb2YgdGhlIENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUNvbmZpZyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdCwgQ2xvdWRGcm9udCByZXR1cm5zIGEgQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5QWxyZWFkeUV4aXN0cyBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQW55IGNvbW1lbnRzIHlvdSB3YW50IHRvIGluY2x1ZGUgYWJvdXQgdGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nQm9keUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0aWVzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luY29uc2lzdGVudFF1YW50aXRpZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVEaXN0cmlidXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDUtMDUvZGlzdHJpYnV0aW9uJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVEaXN0cmlidXRpb25SZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnc3VtbWFyeScgPT4gJ0NyZWF0ZSBhIG5ldyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3htbFJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRGlzdHJpYnV0aW9uQ29uZmlnJywKICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwOi8vY2xvdWRmcm9udC5hbWF6b25hd3MuY29tL2RvYy8yMDEyLTA1LTA1LycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBudW1iZXIgdGhhdCBlbnN1cmVzIHRoZSByZXF1ZXN0IGNhblwndCBiZSByZXBsYXllZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBuZXcgKG5vIG1hdHRlciB0aGUgY29udGVudCBvZiB0aGUgRGlzdHJpYnV0aW9uQ29uZmlnIG9iamVjdCksIGEgbmV3IGRpc3RyaWJ1dGlvbiBpcyBjcmVhdGVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGEgZGlzdHJpYnV0aW9uLCBhbmQgdGhlIGNvbnRlbnQgb2YgdGhlIERpc3RyaWJ1dGlvbkNvbmZpZyBpcyBpZGVudGljYWwgdG8gdGhlIG9yaWdpbmFsIHJlcXVlc3QgKGlnbm9yaW5nIHdoaXRlIHNwYWNlKSwgdGhlIHJlc3BvbnNlIGluY2x1ZGVzIHRoZSBzYW1lIGluZm9ybWF0aW9uIHJldHVybmVkIHRvIHRoZSBvcmlnaW5hbCByZXF1ZXN0LiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGEgZGlzdHJpYnV0aW9uIGJ1dCB0aGUgY29udGVudCBvZiB0aGUgRGlzdHJpYnV0aW9uQ29uZmlnIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LCBDbG91ZEZyb250IHJldHVybnMgYSBEaXN0cmlidXRpb25BbHJlYWR5RXhpc3RzIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FsaWFzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IENOQU1FcyAoYWx0ZXJuYXRlIGRvbWFpbiBuYW1lcyksIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBDTkFNRXMsIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgQ05BTUUgZWxlbWVudHMsIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRSb290T2JqZWN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG9iamVjdCB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcmV0dXJuIChmb3IgZXhhbXBsZSwgaW5kZXguaHRtbCkgd2hlbiBhbiBlbmQgdXNlciByZXF1ZXN0cyB0aGUgcm9vdCBVUkwgZm9yIHlvdXIgZGlzdHJpYnV0aW9uIChodHRwOi8vd3d3LmV4YW1wbGUuY29tKSBpbnN0ZWFkIG9mIGFuIG9iamVjdCBpbiB5b3VyIGRpc3RyaWJ1dGlvbiAoaHR0cDovL3d3dy5leGFtcGxlLmNvbS9pbmRleC5odG1sKS4gU3BlY2lmeWluZyBhIGRlZmF1bHQgcm9vdCBvYmplY3QgYXZvaWRzIGV4cG9zaW5nIHRoZSBjb250ZW50cyBvZiB5b3VyIGRpc3RyaWJ1dGlvbi4gSWYgeW91IGRvblwndCB3YW50IHRvIHNwZWNpZnkgYSBkZWZhdWx0IHJvb3Qgb2JqZWN0IHdoZW4geW91IGNyZWF0ZSBhIGRpc3RyaWJ1dGlvbiwgaW5jbHVkZSBhbiBlbXB0eSBEZWZhdWx0Um9vdE9iamVjdCBlbGVtZW50LiBUbyBkZWxldGUgdGhlIGRlZmF1bHQgcm9vdCBvYmplY3QgZnJvbSBhbiBleGlzdGluZyBkaXN0cmlidXRpb24sIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIGluY2x1ZGUgYW4gZW1wdHkgRGVmYXVsdFJvb3RPYmplY3QgZWxlbWVudC4gVG8gcmVwbGFjZSB0aGUgZGVmYXVsdCByb290IG9iamVjdCwgdXBkYXRlIHRoZSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbiBhbmQgc3BlY2lmeSB0aGUgbmV3IG9iamVjdC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcmlnaW5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCBvcmlnaW5zIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2Ygb3JpZ2lucyBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIG9yaWdpbnMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5JdGVtcycgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdPcmlnaW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgZGVzY3JpYmVzIHRoZSBBbWF6b24gUzMgYnVja2V0IG9yIHRoZSBIVFRQIHNlcnZlciAoZm9yIGV4YW1wbGUsIGEgd2ViIHNlcnZlcikgZnJvbSB3aGljaCBDbG91ZEZyb250IGdldHMgeW91ciBmaWxlcy5Zb3UgbXVzdCBjcmVhdGUgYXQgbGVhc3Qgb25lIG9yaWdpbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgb3JpZ2luLiBUaGUgdmFsdWUgb2YgSWQgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBkaXN0cmlidXRpb24uIFlvdSB1c2UgdGhlIHZhbHVlIG9mIElkIHdoZW4geW91IGNyZWF0ZSBhIGNhY2hlIGJlaGF2aW9yLiBUaGUgSWQgaWRlbnRpZmllcyB0aGUgb3JpZ2luIHRoYXQgQ2xvdWRGcm9udCByb3V0ZXMgYSByZXF1ZXN0IHRvIHdoZW4gdGhlIHJlcXVlc3QgbWF0Y2hlcyB0aGUgcGF0aCBwYXR0ZXJuIGZvciB0aGF0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FtYXpvbiBTMyBvcmlnaW5zOiBUaGUgRE5TIG5hbWUgb2YgdGhlIEFtYXpvbiBTMyBidWNrZXQgZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzIGZvciB0aGlzIG9yaWdpbiwgZm9yIGV4YW1wbGUsIG15YXdzYnVja2V0LnMzLmFtYXpvbmF3cy5jb20uIEN1c3RvbSBvcmlnaW5zOiBUaGUgRE5TIGRvbWFpbiBuYW1lIGZvciB0aGUgSFRUUCBzZXJ2ZXIgZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzIGZvciB0aGlzIG9yaWdpbiwgZm9yIGV4YW1wbGUsIHd3dy5leGFtcGxlLmNvbS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNPcmlnaW5Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQW1hem9uIFMzIG9yaWdpbi4gSWYgdGhlIG9yaWdpbiBpcyBhIGN1c3RvbSBvcmlnaW4sIHVzZSB0aGUgQ3VzdG9tT3JpZ2luQ29uZmlnIGVsZW1lbnQgaW5zdGVhZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIENsb3VkRnJvbnQgb3JpZ2luIGFjY2VzcyBpZGVudGl0eSB0byBhc3NvY2lhdGUgd2l0aCB0aGUgb3JpZ2luLiBVc2UgYW4gb3JpZ2luIGFjY2VzcyBpZGVudGl0eSB0byBjb25maWd1cmUgdGhlIG9yaWdpbiBzbyB0aGF0IGVuZCB1c2VycyBjYW4gb25seSBhY2Nlc3Mgb2JqZWN0cyBpbiBhbiBBbWF6b24gUzMgYnVja2V0IHRocm91Z2ggQ2xvdWRGcm9udC4gSWYgeW91IHdhbnQgZW5kIHVzZXJzIHRvIGJlIGFibGUgdG8gYWNjZXNzIG9iamVjdHMgdXNpbmcgZWl0aGVyIHRoZSBDbG91ZEZyb250IFVSTCBvciB0aGUgQW1hem9uIFMzIFVSTCwgc3BlY2lmeSBhbiBlbXB0eSBPcmlnaW5BY2Nlc3NJZGVudGl0eSBlbGVtZW50LiBUbyBkZWxldGUgdGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgZnJvbSBhbiBleGlzdGluZyBkaXN0cmlidXRpb24sIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIGluY2x1ZGUgYW4gZW1wdHkgT3JpZ2luQWNjZXNzSWRlbnRpdHkgZWxlbWVudC4gVG8gcmVwbGFjZSB0aGUgb3JpZ2luIGFjY2VzcyBpZGVudGl0eSwgdXBkYXRlIHRoZSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbiBhbmQgc3BlY2lmeSB0aGUgbmV3IG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdG9tT3JpZ2luQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgYSBjdXN0b20gb3JpZ2luLiBJZiB0aGUgb3JpZ2luIGlzIGFuIEFtYXpvbiBTMyBidWNrZXQsIHVzZSB0aGUgUzNPcmlnaW5Db25maWcgZWxlbWVudCBpbnN0ZWFkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hUVFBQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgSFRUUCBwb3J0IHRoZSBjdXN0b20gb3JpZ2luIGxpc3RlbnMgb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIVFRQU1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBIVFRQUyBwb3J0IHRoZSBjdXN0b20gb3JpZ2luIGxpc3RlbnMgb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5Qcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG9yaWdpbiBwcm90b2NvbCBwb2xpY3kgdG8gYXBwbHkgdG8geW91ciBvcmlnaW4uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZW51bScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaHR0cC1vbmx5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXRjaC12aWV3ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRDYWNoZUJlaGF2aW9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBkZXNjcmliZXMgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IgaWYgeW91IGRvIG5vdCBzcGVjaWZ5IGEgQ2FjaGVCZWhhdmlvciBlbGVtZW50IG9yIGlmIGZpbGVzIGRvblwndCBtYXRjaCBhbnkgb2YgdGhlIHZhbHVlcyBvZiBQYXRoUGF0dGVybiBpbiBDYWNoZUJlaGF2aW9yIGVsZW1lbnRzLllvdSBtdXN0IGNyZWF0ZSBleGFjdGx5IG9uZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0T3JpZ2luSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHZhbHVlIG9mIElEIGZvciB0aGUgb3JpZ2luIHRoYXQgeW91IHdhbnQgQ2xvdWRGcm9udCB0byByb3V0ZSByZXF1ZXN0cyB0byB3aGVuIGEgcmVxdWVzdCBtYXRjaGVzIHRoZSBwYXRoIHBhdHRlcm4gZWl0aGVyIGZvciBhIGNhY2hlIGJlaGF2aW9yIG9yIGZvciB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZGVkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgc3BlY2lmaWVzIGhvdyBDbG91ZEZyb250IGhhbmRsZXMgcXVlcnkgc3RyaW5ncy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWVyeVN0cmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnSW5kaWNhdGVzIHdoZXRoZXIgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBmb3J3YXJkIHF1ZXJ5IHN0cmluZ3MgdG8gdGhlIG9yaWdpbiB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNhY2hlIGJlaGF2aW9yLiBJZiBzbywgc3BlY2lmeSB0cnVlOyBpZiBub3QsIHNwZWNpZnkgZmFsc2UuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgc3BlY2lmaWVzIHRoZSBBV1MgYWNjb3VudHMsIGlmIGFueSwgdGhhdCB5b3Ugd2FudCB0byBhbGxvdyB0byBjcmVhdGUgc2lnbmVkIFVSTHMgZm9yIHByaXZhdGUgY29udGVudC4gSWYgeW91IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyBpbiB0aGUgdGFyZ2V0IG9yaWdpbiB0aGF0IG1hdGNoIHRoZSBQYXRoUGF0dGVybiBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvciwgc3BlY2lmeSB0cnVlIGZvciBFbmFibGVkLCBhbmQgc3BlY2lmeSB0aGUgYXBwbGljYWJsZSB2YWx1ZXMgZm9yIFF1YW50aXR5IGFuZCBJdGVtcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIGdvIHRvIFVzaW5nIGEgU2lnbmVkIFVSTCB0byBTZXJ2ZSBQcml2YXRlIENvbnRlbnQgaW4gdGhlIEFtYXpvbiBDbG91ZEZyb250IERldmVsb3BlciBHdWlkZS4gSWYgeW91IGRvblwndCB3YW50IHRvIHJlcXVpcmUgc2lnbmVkIFVSTHMgaW4gcmVxdWVzdHMgZm9yIG9iamVjdHMgdGhhdCBtYXRjaCBQYXRoUGF0dGVybiwgc3BlY2lmeSBmYWxzZSBmb3IgRW5hYmxlZCBhbmQgMCBmb3IgUXVhbnRpdHkuIE9taXQgSXRlbXMuIFRvIGFkZCwgY2hhbmdlLCBvciByZW1vdmUgb25lIG9yIG1vcmUgdHJ1c3RlZCBzaWduZXJzLCBjaGFuZ2UgRW5hYmxlZCB0byB0cnVlIChpZiBpdFwncyBjdXJyZW50bHkgZmFsc2UpLCBjaGFuZ2UgUXVhbnRpdHkgYXMgYXBwbGljYWJsZSwgYW5kIHNwZWNpZnkgYWxsIG9mIHRoZSB0cnVzdGVkIHNpZ25lcnMgdGhhdCB5b3Ugd2FudCB0byBpbmNsdWRlIGluIHRoZSB1cGRhdGVkIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0byByZXF1aXJlIGVuZCB1c2VycyB0byB1c2Ugc2lnbmVkIFVSTHMgdG8gYWNjZXNzIHRoZSBmaWxlcyBzcGVjaWZpZWQgYnkgUGF0aFBhdHRlcm4gYW5kIFRhcmdldE9yaWdpbklkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdPcHRpb25hbDogQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyB0cnVzdGVkIHNpZ25lcnMgZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IuIElmIFF1YW50aXR5IGlzIDAsIHlvdSBjYW4gb21pdCBJdGVtcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWaWV3ZXJQcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdVc2UgdGhpcyBlbGVtZW50IHRvIHNwZWNpZnkgdGhlIHByb3RvY29sIHRoYXQgdXNlcnMgY2FuIHVzZSB0byBhY2Nlc3MgdGhlIGZpbGVzIGluIHRoZSBvcmlnaW4gc3BlY2lmaWVkIGJ5IFRhcmdldE9yaWdpbklkIHdoZW4gYSByZXF1ZXN0IG1hdGNoZXMgdGhlIHBhdGggcGF0dGVybiBpbiBQYXRoUGF0dGVybi4gSWYgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBhbGxvdyBlbmQgdXNlcnMgdG8gdXNlIGFueSBhdmFpbGFibGUgcHJvdG9jb2wsIHNwZWNpZnkgYWxsb3ctYWxsLiBJZiB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHJlcXVpcmUgSFRUUFMsIHNwZWNpZnkgaHR0cHMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlbnVtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWxsb3ctYWxsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaHR0cHMtb25seScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWluVFRMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBtaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoYXQgeW91IHdhbnQgb2JqZWN0cyB0byBzdGF5IGluIENsb3VkRnJvbnQgY2FjaGVzIGJlZm9yZSBDbG91ZEZyb250IHF1ZXJpZXMgeW91ciBvcmlnaW4gdG8gc2VlIHdoZXRoZXIgdGhlIG9iamVjdCBoYXMgYmVlbiB1cGRhdGVkLllvdSBjYW4gc3BlY2lmeSBhIHZhbHVlIGZyb20gMCB0byAzLDE1Myw2MDAsMDAwIHNlY29uZHMgKDEwMCB5ZWFycykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVCZWhhdmlvcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIHplcm8gb3IgbW9yZSBDYWNoZUJlaGF2aW9yIGVsZW1lbnRzLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBjYWNoZSBiZWhhdmlvcnMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgY2FjaGUgYmVoYXZpb3JzIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4gSWYgUXVhbnRpdHkgaXMgMCwgeW91IGNhbiBvbWl0IEl0ZW1zLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZUJlaGF2aW9yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGRlc2NyaWJlcyBob3cgQ2xvdWRGcm9udCBwcm9jZXNzZXMgcmVxdWVzdHMuIFlvdSBjYW4gY3JlYXRlIHVwIHRvIDEwIGNhY2hlIGJlaGF2aW9ycy5Zb3UgbXVzdCBjcmVhdGUgYXQgbGVhc3QgYXMgbWFueSBjYWNoZSBiZWhhdmlvcnMgKGluY2x1ZGluZyB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvcikgYXMgeW91IGhhdmUgb3JpZ2lucyBpZiB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGRpc3RyaWJ1dGUgb2JqZWN0cyBmcm9tIGFsbCBvZiB0aGUgb3JpZ2lucy4gRWFjaCBjYWNoZSBiZWhhdmlvciBzcGVjaWZpZXMgdGhlIG9uZSBvcmlnaW4gZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzLiBJZiB5b3UgaGF2ZSB0d28gb3JpZ2lucyBhbmQgb25seSB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvciwgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3Igd2lsbCBjYXVzZSBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzIGZyb20gb25lIG9mIHRoZSBvcmlnaW5zLCBidXQgdGhlIG90aGVyIG9yaWdpbiB3aWxsIG5ldmVyIGJlIHVzZWQuIElmIHlvdSBkb25cJ3Qgd2FudCB0byBzcGVjaWZ5IGFueSBjYWNoZSBiZWhhdmlvcnMsIGluY2x1ZGUgb25seSBhbiBlbXB0eSBDYWNoZUJlaGF2aW9ycyBlbGVtZW50LiBEb25cJ3QgaW5jbHVkZSBhbiBlbXB0eSBDYWNoZUJlaGF2aW9yIGVsZW1lbnQsIG9yIENsb3VkRnJvbnQgcmV0dXJucyBhIE1hbGZvcm1lZFhNTCBlcnJvci4gVG8gZGVsZXRlIGFsbCBjYWNoZSBiZWhhdmlvcnMgaW4gYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCB1cGRhdGUgdGhlIGRpc3RyaWJ1dGlvbiBjb25maWd1cmF0aW9uIGFuZCBpbmNsdWRlIG9ubHkgYW4gZW1wdHkgQ2FjaGVCZWhhdmlvcnMgZWxlbWVudC4gVG8gYWRkLCBjaGFuZ2UsIG9yIHJlbW92ZSBvbmUgb3IgbW9yZSBjYWNoZSBiZWhhdmlvcnMsIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIHNwZWNpZnkgYWxsIG9mIHRoZSBjYWNoZSBiZWhhdmlvcnMgdGhhdCB5b3Ugd2FudCB0byBpbmNsdWRlIGluIHRoZSB1cGRhdGVkIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXRoUGF0dGVybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgcGF0dGVybiAoZm9yIGV4YW1wbGUsIGltYWdlcy8qLmpwZykgdGhhdCBzcGVjaWZpZXMgd2hpY2ggcmVxdWVzdHMgeW91IHdhbnQgdGhpcyBjYWNoZSBiZWhhdmlvciB0byBhcHBseSB0by4gV2hlbiBDbG91ZEZyb250IHJlY2VpdmVzIGFuIGVuZC11c2VyIHJlcXVlc3QsIHRoZSByZXF1ZXN0ZWQgcGF0aCBpcyBjb21wYXJlZCB3aXRoIHBhdGggcGF0dGVybnMgaW4gdGhlIG9yZGVyIGluIHdoaWNoIGNhY2hlIGJlaGF2aW9ycyBhcmUgbGlzdGVkIGluIHRoZSBkaXN0cmlidXRpb24uIFRoZSBwYXRoIHBhdHRlcm4gZm9yIHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yIGlzICogYW5kIGNhbm5vdCBiZSBjaGFuZ2VkLiBJZiB0aGUgcmVxdWVzdCBmb3IgYW4gb2JqZWN0IGRvZXMgbm90IG1hdGNoIHRoZSBwYXRoIHBhdHRlcm4gZm9yIGFueSBjYWNoZSBiZWhhdmlvcnMsIENsb3VkRnJvbnQgYXBwbGllcyB0aGUgYmVoYXZpb3IgaW4gdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldE9yaWdpbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSB2YWx1ZSBvZiBJRCBmb3IgdGhlIG9yaWdpbiB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcm91dGUgcmVxdWVzdHMgdG8gd2hlbiBhIHJlcXVlc3QgbWF0Y2hlcyB0aGUgcGF0aCBwYXR0ZXJuIGVpdGhlciBmb3IgYSBjYWNoZSBiZWhhdmlvciBvciBmb3IgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmRlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IHNwZWNpZmllcyBob3cgQ2xvdWRGcm9udCBoYW5kbGVzIHF1ZXJ5IHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVlcnlTdHJpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0luZGljYXRlcyB3aGV0aGVyIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gZm9yd2FyZCBxdWVyeSBzdHJpbmdzIHRvIHRoZSBvcmlnaW4gdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBjYWNoZSBiZWhhdmlvci4gSWYgc28sIHNwZWNpZnkgdHJ1ZTsgaWYgbm90LCBzcGVjaWZ5IGZhbHNlLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IHNwZWNpZmllcyB0aGUgQVdTIGFjY291bnRzLCBpZiBhbnksIHRoYXQgeW91IHdhbnQgdG8gYWxsb3cgdG8gY3JlYXRlIHNpZ25lZCBVUkxzIGZvciBwcml2YXRlIGNvbnRlbnQuIElmIHlvdSB3YW50IHRvIHJlcXVpcmUgc2lnbmVkIFVSTHMgaW4gcmVxdWVzdHMgZm9yIG9iamVjdHMgaW4gdGhlIHRhcmdldCBvcmlnaW4gdGhhdCBtYXRjaCB0aGUgUGF0aFBhdHRlcm4gZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IsIHNwZWNpZnkgdHJ1ZSBmb3IgRW5hYmxlZCwgYW5kIHNwZWNpZnkgdGhlIGFwcGxpY2FibGUgdmFsdWVzIGZvciBRdWFudGl0eSBhbmQgSXRlbXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBnbyB0byBVc2luZyBhIFNpZ25lZCBVUkwgdG8gU2VydmUgUHJpdmF0ZSBDb250ZW50IGluIHRoZSBBbWF6b24gQ2xvdWRGcm9udCBEZXZlbG9wZXIgR3VpZGUuIElmIHlvdSBkb25cJ3Qgd2FudCB0byByZXF1aXJlIHNpZ25lZCBVUkxzIGluIHJlcXVlc3RzIGZvciBvYmplY3RzIHRoYXQgbWF0Y2ggUGF0aFBhdHRlcm4sIHNwZWNpZnkgZmFsc2UgZm9yIEVuYWJsZWQgYW5kIDAgZm9yIFF1YW50aXR5LiBPbWl0IEl0ZW1zLiBUbyBhZGQsIGNoYW5nZSwgb3IgcmVtb3ZlIG9uZSBvciBtb3JlIHRydXN0ZWQgc2lnbmVycywgY2hhbmdlIEVuYWJsZWQgdG8gdHJ1ZSAoaWYgaXRcJ3MgY3VycmVudGx5IGZhbHNlKSwgY2hhbmdlIFF1YW50aXR5IGFzIGFwcGxpY2FibGUsIGFuZCBzcGVjaWZ5IGFsbCBvZiB0aGUgdHJ1c3RlZCBzaWduZXJzIHRoYXQgeW91IHdhbnQgdG8gaW5jbHVkZSBpbiB0aGUgdXBkYXRlZCBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3BlY2lmaWVzIHdoZXRoZXIgeW91IHdhbnQgdG8gcmVxdWlyZSBlbmQgdXNlcnMgdG8gdXNlIHNpZ25lZCBVUkxzIHRvIGFjY2VzcyB0aGUgZmlsZXMgc3BlY2lmaWVkIGJ5IFBhdGhQYXR0ZXJuIGFuZCBUYXJnZXRPcmlnaW5JZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlld2VyUHJvdG9jb2xQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVXNlIHRoaXMgZWxlbWVudCB0byBzcGVjaWZ5IHRoZSBwcm90b2NvbCB0aGF0IHVzZXJzIGNhbiB1c2UgdG8gYWNjZXNzIHRoZSBmaWxlcyBpbiB0aGUgb3JpZ2luIHNwZWNpZmllZCBieSBUYXJnZXRPcmlnaW5JZCB3aGVuIGEgcmVxdWVzdCBtYXRjaGVzIHRoZSBwYXRoIHBhdHRlcm4gaW4gUGF0aFBhdHRlcm4uIElmIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gYWxsb3cgZW5kIHVzZXJzIHRvIHVzZSBhbnkgYXZhaWxhYmxlIHByb3RvY29sLCBzcGVjaWZ5IGFsbG93LWFsbC4gSWYgeW91IHdhbnQgQ2xvdWRGcm9udCB0byByZXF1aXJlIEhUVFBTLCBzcGVjaWZ5IGh0dHBzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZW51bScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbG93LWFsbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2h0dHBzLW9ubHknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pblRUTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbWluaW11bSBhbW91bnQgb2YgdGltZSB0aGF0IHlvdSB3YW50IG9iamVjdHMgdG8gc3RheSBpbiBDbG91ZEZyb250IGNhY2hlcyBiZWZvcmUgQ2xvdWRGcm9udCBxdWVyaWVzIHlvdXIgb3JpZ2luIHRvIHNlZSB3aGV0aGVyIHRoZSBvYmplY3QgaGFzIGJlZW4gdXBkYXRlZC5Zb3UgY2FuIHNwZWNpZnkgYSB2YWx1ZSBmcm9tIDAgdG8gMywxNTMsNjAwLDAwMCBzZWNvbmRzICgxMDAgeWVhcnMpLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBbnkgY29tbWVudHMgeW91IHdhbnQgdG8gaW5jbHVkZSBhYm91dCB0aGUgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvZ2dpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRyb2xzIHdoZXRoZXIgYWNjZXNzIGxvZ3MgYXJlIHdyaXR0ZW4gZm9yIHRoZSBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gc2F2ZSBhY2Nlc3MgbG9ncyB0byBhbiBBbWF6b24gUzMgYnVja2V0LiBJZiB5b3UgZG8gbm90IHdhbnQgdG8gZW5hYmxlIGxvZ2dpbmcgd2hlbiB5b3UgY3JlYXRlIGEgZGlzdHJpYnV0aW9uIG9yIGlmIHlvdSB3YW50IHRvIGRpc2FibGUgbG9nZ2luZyBmb3IgYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkLCBhbmQgc3BlY2lmeSBlbXB0eSBCdWNrZXQgYW5kIFByZWZpeCBlbGVtZW50cy4gSWYgeW91IHNwZWNpZnkgZmFsc2UgZm9yIEVuYWJsZWQgYnV0IHlvdSBzcGVjaWZ5IHZhbHVlcyBmb3IgQnVja2V0IGFuZCBQcmVmaXgsIHRoZSB2YWx1ZXMgYXJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIEFtYXpvbiBTMyBidWNrZXQgdG8gc3RvcmUgdGhlIGFjY2VzcyBsb2dzIGluLCBmb3IgZXhhbXBsZSwgbXlhd3Nsb2didWNrZXQuczMuYW1hem9uYXdzLmNvbS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FuIG9wdGlvbmFsIHN0cmluZyB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcHJlZml4IHRvIHRoZSBhY2Nlc3MgbG9nIGZpbGVuYW1lcyBmb3IgdGhpcyBkaXN0cmlidXRpb24sIGZvciBleGFtcGxlLCBteXByZWZpeC8uIElmIHlvdSB3YW50IHRvIGVuYWJsZSBsb2dnaW5nLCBidXQgeW91IGRvIG5vdCB3YW50IHRvIHNwZWNpZnkgYSBwcmVmaXgsIHlvdSBzdGlsbCBtdXN0IGluY2x1ZGUgYW4gZW1wdHkgUHJlZml4IGVsZW1lbnQgaW4gdGhlIExvZ2dpbmcgZWxlbWVudC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdXaGV0aGVyIHRoZSBkaXN0cmlidXRpb24gaXMgZW5hYmxlZCB0byBhY2NlcHQgZW5kIHVzZXIgcmVxdWVzdHMgZm9yIGNvbnRlbnQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDTkFNRUFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0Rpc3RyaWJ1dGlvbkFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRPcmlnaW5FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRPcmlnaW5BY2Nlc3NJZGVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55VHJ1c3RlZFNpZ25lcnNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1RydXN0ZWRTaWduZXJEb2VzTm90RXhpc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01pc3NpbmdCb2R5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55RGlzdHJpYnV0aW9uQ05BTUVzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55RGlzdHJpYnV0aW9uc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZERlZmF1bHRSb290T2JqZWN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRSZXF1aXJlZFByb3RvY29sRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hPcmlnaW5FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlPcmlnaW5zRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55Q2FjaGVCZWhhdmlvcnNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luY29uc2lzdGVudFF1YW50aXRpZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVJbnZhbGlkYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDUtMDUvZGlzdHJpYnV0aW9uL3tEaXN0cmlidXRpb25JZH0vaW52YWxpZGF0aW9uJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVJbnZhbGlkYXRpb25SZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnc3VtbWFyeScgPT4gJ0NyZWF0ZSBhIG5ldyBpbnZhbGlkYXRpb24uJywKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3htbFJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSW52YWxpZGF0aW9uQmF0Y2gnLAogICAgICAgICAgICAgICAgICAgICduYW1lc3BhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2h0dHA6Ly9jbG91ZGZyb250LmFtYXpvbmF3cy5jb20vZG9jLzIwMTItMDUtMDUvJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0Rpc3RyaWJ1dGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGRpc3RyaWJ1dGlvblwncyBpZC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXRocycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBwYXRoIG9mIHRoZSBvYmplY3QgdG8gaW52YWxpZGF0ZS4gVGhlIHBhdGggaXMgcmVsYXRpdmUgdG8gdGhlIGRpc3RyaWJ1dGlvbiBhbmQgbXVzdCBiZWdpbiB3aXRoIGEgc2xhc2ggKC8pLiBZb3UgbXVzdCBlbmNsb3NlIGVhY2ggaW52YWxpZGF0aW9uIG9iamVjdCB3aXRoIHRoZSBQYXRoIGVsZW1lbnQgdGFncy4gSWYgdGhlIHBhdGggaW5jbHVkZXMgbm9uLUFTQ0lJIGNoYXJhY3RlcnMgb3IgdW5zYWZlIGNoYXJhY3RlcnMgYXMgZGVmaW5lZCBpbiBSRkMgMTc4MyAoaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMTczOC50eHQpLCBVUkwgZW5jb2RlIHRob3NlIGNoYXJhY3RlcnMuIERvIG5vdCBVUkwgZW5jb2RlIGFueSBvdGhlciBjaGFyYWN0ZXJzIGluIHRoZSBwYXRoLCBvciBDbG91ZEZyb250IHdpbGwgbm90IGludmFsaWRhdGUgdGhlIG9sZCB2ZXJzaW9uIG9mIHRoZSB1cGRhdGVkIG9iamVjdC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2Ygb2JqZWN0cyB0aGF0IHlvdSB3YW50IHRvIGludmFsaWRhdGUuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgb2JqZWN0cyB0aGF0IHlvdSB3YW50IHRvIGludmFsaWRhdGUuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1BhdGgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FsbGVyUmVmZXJlbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSB1bmlxdWUgbmFtZSB0aGF0IGVuc3VyZXMgdGhlIHJlcXVlc3QgY2FuXCd0IGJlIHJlcGxheWVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIG5ldyAobm8gbWF0dGVyIHRoZSBjb250ZW50IG9mIHRoZSBQYXRoIG9iamVjdCksIGEgbmV3IGRpc3RyaWJ1dGlvbiBpcyBjcmVhdGVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGFuIGludmFsaWRhdGlvbiBiYXRjaCwgYW5kIHRoZSBjb250ZW50IG9mIGVhY2ggUGF0aCBlbGVtZW50IGlzIGlkZW50aWNhbCB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdCwgdGhlIHJlc3BvbnNlIGluY2x1ZGVzIHRoZSBzYW1lIGluZm9ybWF0aW9uIHJldHVybmVkIHRvIHRoZSBvcmlnaW5hbCByZXF1ZXN0LiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGEgZGlzdHJpYnV0aW9uIGJ1dCB0aGUgY29udGVudCBvZiBhbnkgUGF0aCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdCwgQ2xvdWRGcm9udCByZXR1cm5zIGFuIEludmFsaWRhdGlvbkJhdGNoQWxyZWFkeUV4aXN0cyBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ0JvZHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRGlzdHJpYnV0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdCYXRjaFRvb0xhcmdlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55SW52YWxpZGF0aW9uc0luUHJvZ3Jlc3NFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luY29uc2lzdGVudFF1YW50aXRpZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVTdHJlYW1pbmdEaXN0cmlidXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDUtMDUvc3RyZWFtaW5nLWRpc3RyaWJ1dGlvbicsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ3JlYXRlU3RyZWFtaW5nRGlzdHJpYnV0aW9uUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3N1bW1hcnknID0+ICdDcmVhdGUgYSBuZXcgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAneG1sUm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJlYW1pbmdEaXN0cmlidXRpb25Db25maWcnLAogICAgICAgICAgICAgICAgICAgICduYW1lc3BhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2h0dHA6Ly9jbG91ZGZyb250LmFtYXpvbmF3cy5jb20vZG9jLzIwMTItMDUtMDUvJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgdW5pcXVlIG51bWJlciB0aGF0IGVuc3VyZXMgdGhlIHJlcXVlc3QgY2FuXCd0IGJlIHJlcGxheWVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIG5ldyAobm8gbWF0dGVyIHRoZSBjb250ZW50IG9mIHRoZSBTdHJlYW1pbmdEaXN0cmlidXRpb25Db25maWcgb2JqZWN0KSwgYSBuZXcgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbiBpcyBjcmVhdGVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGEgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbiwgYW5kIHRoZSBjb250ZW50IG9mIHRoZSBTdHJlYW1pbmdEaXN0cmlidXRpb25Db25maWcgaXMgaWRlbnRpY2FsIHRvIHRoZSBvcmlnaW5hbCByZXF1ZXN0IChpZ25vcmluZyB3aGl0ZSBzcGFjZSksIHRoZSByZXNwb25zZSBpbmNsdWRlcyB0aGUgc2FtZSBpbmZvcm1hdGlvbiByZXR1cm5lZCB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhIHN0cmVhbWluZyBkaXN0cmlidXRpb24gYnV0IHRoZSBjb250ZW50IG9mIHRoZSBTdHJlYW1pbmdEaXN0cmlidXRpb25Db25maWcgaXMgZGlmZmVyZW50IGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QsIENsb3VkRnJvbnQgcmV0dXJucyBhIERpc3RyaWJ1dGlvbkFscmVhZHlFeGlzdHMgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUzNPcmlnaW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBBbWF6b24gUzMgYnVja2V0IGZyb20gd2hpY2ggeW91IHdhbnQgQ2xvdWRGcm9udCB0byBnZXQgeW91ciBtZWRpYSBmaWxlcyBmb3IgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgRE5TIG5hbWUgb2YgdGhlIFMzIG9yaWdpbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luQWNjZXNzSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnWW91ciBTMyBvcmlnaW5cJ3Mgb3JpZ2luIGFjY2VzcyBpZGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FsaWFzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IENOQU1FcyAoYWx0ZXJuYXRlIGRvbWFpbiBuYW1lcyksIGlmIGFueSwgZm9yIHRoaXMgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgQ05BTUVzLCBpZiBhbnksIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ09wdGlvbmFsOiBBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIENOQU1FIGVsZW1lbnRzLCBpZiBhbnksIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4gSWYgUXVhbnRpdHkgaXMgMCwgeW91IGNhbiBvbWl0IEl0ZW1zLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQW55IGNvbW1lbnRzIHlvdSB3YW50IHRvIGluY2x1ZGUgYWJvdXQgdGhlIHN0cmVhbWluZyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9nZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udHJvbHMgd2hldGhlciBhY2Nlc3MgbG9ncyBhcmUgd3JpdHRlbiBmb3IgdGhlIHN0cmVhbWluZyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gc2F2ZSBhY2Nlc3MgbG9ncyB0byBhbiBBbWF6b24gUzMgYnVja2V0LiBJZiB5b3UgZG8gbm90IHdhbnQgdG8gZW5hYmxlIGxvZ2dpbmcgd2hlbiB5b3UgY3JlYXRlIGEgZGlzdHJpYnV0aW9uIG9yIGlmIHlvdSB3YW50IHRvIGRpc2FibGUgbG9nZ2luZyBmb3IgYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkLCBhbmQgc3BlY2lmeSBlbXB0eSBCdWNrZXQgYW5kIFByZWZpeCBlbGVtZW50cy4gSWYgeW91IHNwZWNpZnkgZmFsc2UgZm9yIEVuYWJsZWQgYnV0IHlvdSBzcGVjaWZ5IHZhbHVlcyBmb3IgQnVja2V0IGFuZCBQcmVmaXgsIHRoZSB2YWx1ZXMgYXJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIEFtYXpvbiBTMyBidWNrZXQgdG8gc3RvcmUgdGhlIGFjY2VzcyBsb2dzIGluLCBmb3IgZXhhbXBsZSwgbXlhd3Nsb2didWNrZXQuczMuYW1hem9uYXdzLmNvbS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FuIG9wdGlvbmFsIHN0cmluZyB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcHJlZml4IHRvIHRoZSBhY2Nlc3MgbG9nIGZpbGVuYW1lcyBmb3IgdGhpcyBkaXN0cmlidXRpb24sIGZvciBleGFtcGxlLCBteXByZWZpeC8uIElmIHlvdSB3YW50IHRvIGVuYWJsZSBsb2dnaW5nLCBidXQgeW91IGRvIG5vdCB3YW50IHRvIHNwZWNpZnkgYSBwcmVmaXgsIHlvdSBzdGlsbCBtdXN0IGluY2x1ZGUgYW4gZW1wdHkgUHJlZml4IGVsZW1lbnQgaW4gdGhlIExvZ2dpbmcgZWxlbWVudC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBzcGVjaWZpZXMgdGhlIEFXUyBhY2NvdW50cywgaWYgYW55LCB0aGF0IHlvdSB3YW50IHRvIGFsbG93IHRvIGNyZWF0ZSBzaWduZWQgVVJMcyBmb3IgcHJpdmF0ZSBjb250ZW50LiBJZiB5b3Ugd2FudCB0byByZXF1aXJlIHNpZ25lZCBVUkxzIGluIHJlcXVlc3RzIGZvciBvYmplY3RzIGluIHRoZSB0YXJnZXQgb3JpZ2luIHRoYXQgbWF0Y2ggdGhlIFBhdGhQYXR0ZXJuIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLCBzcGVjaWZ5IHRydWUgZm9yIEVuYWJsZWQsIGFuZCBzcGVjaWZ5IHRoZSBhcHBsaWNhYmxlIHZhbHVlcyBmb3IgUXVhbnRpdHkgYW5kIEl0ZW1zLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZ28gdG8gVXNpbmcgYSBTaWduZWQgVVJMIHRvIFNlcnZlIFByaXZhdGUgQ29udGVudCBpbiB0aGUgQW1hem9uIENsb3VkRnJvbnQgRGV2ZWxvcGVyIEd1aWRlLiBJZiB5b3UgZG9uXCd0IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyB0aGF0IG1hdGNoIFBhdGhQYXR0ZXJuLCBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkIGFuZCAwIGZvciBRdWFudGl0eS4gT21pdCBJdGVtcy4gVG8gYWRkLCBjaGFuZ2UsIG9yIHJlbW92ZSBvbmUgb3IgbW9yZSB0cnVzdGVkIHNpZ25lcnMsIGNoYW5nZSBFbmFibGVkIHRvIHRydWUgKGlmIGl0XCdzIGN1cnJlbnRseSBmYWxzZSksIGNoYW5nZSBRdWFudGl0eSBhcyBhcHBsaWNhYmxlLCBhbmQgc3BlY2lmeSBhbGwgb2YgdGhlIHRydXN0ZWQgc2lnbmVycyB0aGF0IHlvdSB3YW50IHRvIGluY2x1ZGUgaW4gdGhlIHVwZGF0ZWQgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0byByZXF1aXJlIGVuZCB1c2VycyB0byB1c2Ugc2lnbmVkIFVSTHMgdG8gYWNjZXNzIHRoZSBmaWxlcyBzcGVjaWZpZWQgYnkgUGF0aFBhdHRlcm4gYW5kIFRhcmdldE9yaWdpbklkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1doZXRoZXIgdGhlIHN0cmVhbWluZyBkaXN0cmlidXRpb24gaXMgZW5hYmxlZCB0byBhY2NlcHQgZW5kIHVzZXIgcmVxdWVzdHMgZm9yIGNvbnRlbnQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDTkFNRUFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1N0cmVhbWluZ0Rpc3RyaWJ1dGlvbkFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRPcmlnaW5FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRPcmlnaW5BY2Nlc3NJZGVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55VHJ1c3RlZFNpZ25lcnNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1RydXN0ZWRTaWduZXJEb2VzTm90RXhpc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01pc3NpbmdCb2R5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55U3RyZWFtaW5nRGlzdHJpYnV0aW9uQ05BTUVzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55U3RyZWFtaW5nRGlzdHJpYnV0aW9uc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbmNvbnNpc3RlbnRRdWFudGl0aWVzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdERUxFVEUnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDUtMDUvb3JpZ2luLWFjY2Vzcy1pZGVudGl0eS9jbG91ZGZyb250L3tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RlbGV0ZUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eTIwMTJfMDVfMDVPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnc3VtbWFyeScgPT4gJ0RlbGV0ZSBhbiBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LicsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5XCdzIGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lmTWF0Y2gnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSB2YWx1ZSBvZiB0aGUgRVRhZyBoZWFkZXIgeW91IHJlY2VpdmVkIGZyb20gYSBwcmV2aW91cyBHRVQgb3IgUFVUIHJlcXVlc3QuIEZvciBleGFtcGxlOiBFMlFXUlVIQVBPTVFaTC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJZi1NYXRjaCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkSWZNYXRjaFZlcnNpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJlY29uZGl0aW9uRmFpbGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlJblVzZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZURpc3RyaWJ1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnREVMRVRFJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTA1LTA1L2Rpc3RyaWJ1dGlvbi97SWR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZWxldGVEaXN0cmlidXRpb24yMDEyXzA1XzA1T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3N1bW1hcnknID0+ICdEZWxldGUgYSBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGRpc3RyaWJ1dGlvbiBpZC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJZk1hdGNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgdmFsdWUgb2YgdGhlIEVUYWcgaGVhZGVyIHlvdSByZWNlaXZlZCB3aGVuIHlvdSBkaXNhYmxlZCB0aGUgZGlzdHJpYnV0aW9uLiBGb3IgZXhhbXBsZTogRTJRV1JVSEFQT01RWkwuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSWYtTWF0Y2gnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlzdHJpYnV0aW9uTm90RGlzYWJsZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRJZk1hdGNoVmVyc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRGlzdHJpYnV0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQcmVjb25kaXRpb25GYWlsZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVTdHJlYW1pbmdEaXN0cmlidXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0RFTEVURScsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0wNS0wNS9zdHJlYW1pbmctZGlzdHJpYnV0aW9uL3tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RlbGV0ZVN0cmVhbWluZ0Rpc3RyaWJ1dGlvbjIwMTJfMDVfMDVPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnc3VtbWFyeScgPT4gJ0RlbGV0ZSBhIHN0cmVhbWluZyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGRpc3RyaWJ1dGlvbiBpZC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJZk1hdGNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgdmFsdWUgb2YgdGhlIEVUYWcgaGVhZGVyIHlvdSByZWNlaXZlZCB3aGVuIHlvdSBkaXNhYmxlZCB0aGUgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbi4gRm9yIGV4YW1wbGU6IEUyUVdSVUhBUE9NUVpMLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0lmLU1hdGNoJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1N0cmVhbWluZ0Rpc3RyaWJ1dGlvbk5vdERpc2FibGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkSWZNYXRjaFZlcnNpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJlY29uZGl0aW9uRmFpbGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0Q2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDUtMDUvb3JpZ2luLWFjY2Vzcy1pZGVudGl0eS9jbG91ZGZyb250L3tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eVJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdzdW1tYXJ5JyA9PiAnR2V0IHRoZSBpbmZvcm1hdGlvbiBhYm91dCBhbiBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LicsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBpZGVudGl0eVwncyBpZC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0Q2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDUtMDUvb3JpZ2luLWFjY2Vzcy1pZGVudGl0eS9jbG91ZGZyb250L3tJZH0vY29uZmlnJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlDb25maWdSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnc3VtbWFyeScgPT4gJ0dldCB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBhYm91dCBhbiBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LicsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBpZGVudGl0eVwncyBpZC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0RGlzdHJpYnV0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDUtMDUvZGlzdHJpYnV0aW9uL3tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldERpc3RyaWJ1dGlvblJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdzdW1tYXJ5JyA9PiAnR2V0IHRoZSBpbmZvcm1hdGlvbiBhYm91dCBhIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgZGlzdHJpYnV0aW9uXCdzIGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRGlzdHJpYnV0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXREaXN0cmlidXRpb25Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0wNS0wNS9kaXN0cmlidXRpb24ve0lkfS9jb25maWcnLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldERpc3RyaWJ1dGlvbkNvbmZpZ1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdzdW1tYXJ5JyA9PiAnR2V0IHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGFib3V0IGEgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBkaXN0cmlidXRpb25cJ3MgaWQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hEaXN0cmlidXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEludmFsaWRhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTA1LTA1L2Rpc3RyaWJ1dGlvbi97RGlzdHJpYnV0aW9uSWR9L2ludmFsaWRhdGlvbi97SWR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRJbnZhbGlkYXRpb25SZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnc3VtbWFyeScgPT4gJ0dldCB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYW4gaW52YWxpZGF0aW9uLicsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdEaXN0cmlidXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBkaXN0cmlidXRpb25cJ3MgaWQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgaW52YWxpZGF0aW9uXCdzIGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoSW52YWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hEaXN0cmlidXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTA1LTA1L3N0cmVhbWluZy1kaXN0cmlidXRpb24ve0lkfScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0U3RyZWFtaW5nRGlzdHJpYnV0aW9uUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3N1bW1hcnknID0+ICdHZXQgdGhlIGluZm9ybWF0aW9uIGFib3V0IGEgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvblwncyBpZC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0U3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDUtMDUvc3RyZWFtaW5nLWRpc3RyaWJ1dGlvbi97SWR9L2NvbmZpZycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0U3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3N1bW1hcnknID0+ICdHZXQgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gYWJvdXQgYSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uXCdzIGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoU3RyZWFtaW5nRGlzdHJpYnV0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0Q2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0wNS0wNS9vcmlnaW4tYWNjZXNzLWlkZW50aXR5L2Nsb3VkZnJvbnQnLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdGllc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdzdW1tYXJ5JyA9PiAnTGlzdCBvcmlnaW4gYWNjZXNzIGlkZW50aXRpZXMuJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVXNlIHRoaXMgd2hlbiBwYWdpbmF0aW5nIHJlc3VsdHMgdG8gaW5kaWNhdGUgd2hlcmUgdG8gYmVnaW4gaW4geW91ciBsaXN0IG9mIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdGllcy4gVGhlIHJlc3VsdHMgaW5jbHVkZSBpZGVudGl0aWVzIGluIHRoZSBsaXN0IHRoYXQgb2NjdXIgYWZ0ZXIgdGhlIG1hcmtlci4gVG8gZ2V0IHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0cywgc2V0IHRoZSBNYXJrZXIgdG8gdGhlIHZhbHVlIG9mIHRoZSBOZXh0TWFya2VyIGZyb20gdGhlIGN1cnJlbnQgcGFnZVwncyByZXNwb25zZSAod2hpY2ggaXMgYWxzbyB0aGUgSUQgb2YgdGhlIGxhc3QgaWRlbnRpdHkgb24gdGhhdCBwYWdlKS4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbWF4aW11bSBudW1iZXIgb2Ygb3JpZ2luIGFjY2VzcyBpZGVudGl0aWVzIHlvdSB3YW50IGluIHRoZSByZXNwb25zZSBib2R5LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0RGlzdHJpYnV0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTA1LTA1L2Rpc3RyaWJ1dGlvbicsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdERpc3RyaWJ1dGlvbnNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnc3VtbWFyeScgPT4gJ0xpc3QgZGlzdHJpYnV0aW9ucy4nLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdVc2UgdGhpcyB3aGVuIHBhZ2luYXRpbmcgcmVzdWx0cyB0byBpbmRpY2F0ZSB3aGVyZSB0byBiZWdpbiBpbiB5b3VyIGxpc3Qgb2YgZGlzdHJpYnV0aW9ucy4gVGhlIHJlc3VsdHMgaW5jbHVkZSBkaXN0cmlidXRpb25zIGluIHRoZSBsaXN0IHRoYXQgb2NjdXIgYWZ0ZXIgdGhlIG1hcmtlci4gVG8gZ2V0IHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0cywgc2V0IHRoZSBNYXJrZXIgdG8gdGhlIHZhbHVlIG9mIHRoZSBOZXh0TWFya2VyIGZyb20gdGhlIGN1cnJlbnQgcGFnZVwncyByZXNwb25zZSAod2hpY2ggaXMgYWxzbyB0aGUgSUQgb2YgdGhlIGxhc3QgZGlzdHJpYnV0aW9uIG9uIHRoYXQgcGFnZSkuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG1heGltdW0gbnVtYmVyIG9mIGRpc3RyaWJ1dGlvbnMgeW91IHdhbnQgaW4gdGhlIHJlc3BvbnNlIGJvZHkuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RJbnZhbGlkYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDUtMDUvZGlzdHJpYnV0aW9uL3tEaXN0cmlidXRpb25JZH0vaW52YWxpZGF0aW9uJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0SW52YWxpZGF0aW9uc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdzdW1tYXJ5JyA9PiAnTGlzdCBpbnZhbGlkYXRpb24gYmF0Y2hlcy4nLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRGlzdHJpYnV0aW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgZGlzdHJpYnV0aW9uXCdzIGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVXNlIHRoaXMgcGFyYW1ldGVyIHdoZW4gcGFnaW5hdGluZyByZXN1bHRzIHRvIGluZGljYXRlIHdoZXJlIHRvIGJlZ2luIGluIHlvdXIgbGlzdCBvZiBpbnZhbGlkYXRpb24gYmF0Y2hlcy4gQmVjYXVzZSB0aGUgcmVzdWx0cyBhcmUgcmV0dXJuZWQgaW4gZGVjcmVhc2luZyBvcmRlciBmcm9tIG1vc3QgcmVjZW50IHRvIG9sZGVzdCwgdGhlIG1vc3QgcmVjZW50IHJlc3VsdHMgYXJlIG9uIHRoZSBmaXJzdCBwYWdlLCB0aGUgc2Vjb25kIHBhZ2Ugd2lsbCBjb250YWluIGVhcmxpZXIgcmVzdWx0cywgYW5kIHNvIG9uLiBUbyBnZXQgdGhlIG5leHQgcGFnZSBvZiByZXN1bHRzLCBzZXQgdGhlIE1hcmtlciB0byB0aGUgdmFsdWUgb2YgdGhlIE5leHRNYXJrZXIgZnJvbSB0aGUgY3VycmVudCBwYWdlXCdzIHJlc3BvbnNlLiBUaGlzIHZhbHVlIGlzIHRoZSBzYW1lIGFzIHRoZSBJRCBvZiB0aGUgbGFzdCBpbnZhbGlkYXRpb24gYmF0Y2ggb24gdGhhdCBwYWdlLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBtYXhpbXVtIG51bWJlciBvZiBpbnZhbGlkYXRpb24gYmF0Y2hlcyB5b3Ugd2FudCBpbiB0aGUgcmVzcG9uc2UgYm9keS4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hEaXN0cmlidXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0U3RyZWFtaW5nRGlzdHJpYnV0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTA1LTA1L3N0cmVhbWluZy1kaXN0cmlidXRpb24nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RTdHJlYW1pbmdEaXN0cmlidXRpb25zUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3N1bW1hcnknID0+ICdMaXN0IHN0cmVhbWluZyBkaXN0cmlidXRpb25zLicsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1VzZSB0aGlzIHdoZW4gcGFnaW5hdGluZyByZXN1bHRzIHRvIGluZGljYXRlIHdoZXJlIHRvIGJlZ2luIGluIHlvdXIgbGlzdCBvZiBzdHJlYW1pbmcgZGlzdHJpYnV0aW9ucy4gVGhlIHJlc3VsdHMgaW5jbHVkZSBkaXN0cmlidXRpb25zIGluIHRoZSBsaXN0IHRoYXQgb2NjdXIgYWZ0ZXIgdGhlIG1hcmtlci4gVG8gZ2V0IHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0cywgc2V0IHRoZSBNYXJrZXIgdG8gdGhlIHZhbHVlIG9mIHRoZSBOZXh0TWFya2VyIGZyb20gdGhlIGN1cnJlbnQgcGFnZVwncyByZXNwb25zZSAod2hpY2ggaXMgYWxzbyB0aGUgSUQgb2YgdGhlIGxhc3QgZGlzdHJpYnV0aW9uIG9uIHRoYXQgcGFnZSkuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG1heGltdW0gbnVtYmVyIG9mIHN0cmVhbWluZyBkaXN0cmlidXRpb25zIHlvdSB3YW50IGluIHRoZSByZXNwb25zZSBib2R5LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0wNS0wNS9vcmlnaW4tYWNjZXNzLWlkZW50aXR5L2Nsb3VkZnJvbnQve0lkfS9jb25maWcnLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1VwZGF0ZUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eVJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdzdW1tYXJ5JyA9PiAnVXBkYXRlIGFuIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkuJywKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3htbFJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnJywKICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwOi8vY2xvdWRmcm9udC5hbWF6b25hd3MuY29tL2RvYy8yMDEyLTA1LTA1LycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBudW1iZXIgdGhhdCBlbnN1cmVzIHRoZSByZXF1ZXN0IGNhblwndCBiZSByZXBsYXllZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBuZXcgKG5vIG1hdHRlciB0aGUgY29udGVudCBvZiB0aGUgQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnIG9iamVjdCksIGEgbmV3IG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgaXMgY3JlYXRlZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhbiBpZGVudGl0eSwgYW5kIHRoZSBjb250ZW50IG9mIHRoZSBDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlDb25maWcgaXMgaWRlbnRpY2FsIHRvIHRoZSBvcmlnaW5hbCByZXF1ZXN0IChpZ25vcmluZyB3aGl0ZSBzcGFjZSksIHRoZSByZXNwb25zZSBpbmNsdWRlcyB0aGUgc2FtZSBpbmZvcm1hdGlvbiByZXR1cm5lZCB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhbiBpZGVudGl0eSBidXQgdGhlIGNvbnRlbnQgb2YgdGhlIENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUNvbmZpZyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdCwgQ2xvdWRGcm9udCByZXR1cm5zIGEgQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5QWxyZWFkeUV4aXN0cyBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQW55IGNvbW1lbnRzIHlvdSB3YW50IHRvIGluY2x1ZGUgYWJvdXQgdGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgaWRlbnRpdHlcJ3MgaWQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWZNYXRjaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHZhbHVlIG9mIHRoZSBFVGFnIGhlYWRlciB5b3UgcmVjZWl2ZWQgd2hlbiByZXRyaWV2aW5nIHRoZSBpZGVudGl0eVwncyBjb25maWd1cmF0aW9uLiBGb3IgZXhhbXBsZTogRTJRV1JVSEFQT01RWkwuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSWYtTWF0Y2gnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSWxsZWdhbFVwZGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZElmTWF0Y2hWZXJzaW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nQm9keUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQcmVjb25kaXRpb25GYWlsZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5jb25zaXN0ZW50UXVhbnRpdGllc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZURpc3RyaWJ1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUFVUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTA1LTA1L2Rpc3RyaWJ1dGlvbi97SWR9L2NvbmZpZycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVXBkYXRlRGlzdHJpYnV0aW9uUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3N1bW1hcnknID0+ICdVcGRhdGUgYSBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3htbFJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRGlzdHJpYnV0aW9uQ29uZmlnJywKICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwOi8vY2xvdWRmcm9udC5hbWF6b25hd3MuY29tL2RvYy8yMDEyLTA1LTA1LycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBudW1iZXIgdGhhdCBlbnN1cmVzIHRoZSByZXF1ZXN0IGNhblwndCBiZSByZXBsYXllZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBuZXcgKG5vIG1hdHRlciB0aGUgY29udGVudCBvZiB0aGUgRGlzdHJpYnV0aW9uQ29uZmlnIG9iamVjdCksIGEgbmV3IGRpc3RyaWJ1dGlvbiBpcyBjcmVhdGVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGEgZGlzdHJpYnV0aW9uLCBhbmQgdGhlIGNvbnRlbnQgb2YgdGhlIERpc3RyaWJ1dGlvbkNvbmZpZyBpcyBpZGVudGljYWwgdG8gdGhlIG9yaWdpbmFsIHJlcXVlc3QgKGlnbm9yaW5nIHdoaXRlIHNwYWNlKSwgdGhlIHJlc3BvbnNlIGluY2x1ZGVzIHRoZSBzYW1lIGluZm9ybWF0aW9uIHJldHVybmVkIHRvIHRoZSBvcmlnaW5hbCByZXF1ZXN0LiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGEgZGlzdHJpYnV0aW9uIGJ1dCB0aGUgY29udGVudCBvZiB0aGUgRGlzdHJpYnV0aW9uQ29uZmlnIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LCBDbG91ZEZyb250IHJldHVybnMgYSBEaXN0cmlidXRpb25BbHJlYWR5RXhpc3RzIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FsaWFzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IENOQU1FcyAoYWx0ZXJuYXRlIGRvbWFpbiBuYW1lcyksIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBDTkFNRXMsIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgQ05BTUUgZWxlbWVudHMsIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRSb290T2JqZWN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG9iamVjdCB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcmV0dXJuIChmb3IgZXhhbXBsZSwgaW5kZXguaHRtbCkgd2hlbiBhbiBlbmQgdXNlciByZXF1ZXN0cyB0aGUgcm9vdCBVUkwgZm9yIHlvdXIgZGlzdHJpYnV0aW9uIChodHRwOi8vd3d3LmV4YW1wbGUuY29tKSBpbnN0ZWFkIG9mIGFuIG9iamVjdCBpbiB5b3VyIGRpc3RyaWJ1dGlvbiAoaHR0cDovL3d3dy5leGFtcGxlLmNvbS9pbmRleC5odG1sKS4gU3BlY2lmeWluZyBhIGRlZmF1bHQgcm9vdCBvYmplY3QgYXZvaWRzIGV4cG9zaW5nIHRoZSBjb250ZW50cyBvZiB5b3VyIGRpc3RyaWJ1dGlvbi4gSWYgeW91IGRvblwndCB3YW50IHRvIHNwZWNpZnkgYSBkZWZhdWx0IHJvb3Qgb2JqZWN0IHdoZW4geW91IGNyZWF0ZSBhIGRpc3RyaWJ1dGlvbiwgaW5jbHVkZSBhbiBlbXB0eSBEZWZhdWx0Um9vdE9iamVjdCBlbGVtZW50LiBUbyBkZWxldGUgdGhlIGRlZmF1bHQgcm9vdCBvYmplY3QgZnJvbSBhbiBleGlzdGluZyBkaXN0cmlidXRpb24sIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIGluY2x1ZGUgYW4gZW1wdHkgRGVmYXVsdFJvb3RPYmplY3QgZWxlbWVudC4gVG8gcmVwbGFjZSB0aGUgZGVmYXVsdCByb290IG9iamVjdCwgdXBkYXRlIHRoZSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbiBhbmQgc3BlY2lmeSB0aGUgbmV3IG9iamVjdC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcmlnaW5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCBvcmlnaW5zIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2Ygb3JpZ2lucyBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIG9yaWdpbnMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5JdGVtcycgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdPcmlnaW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgZGVzY3JpYmVzIHRoZSBBbWF6b24gUzMgYnVja2V0IG9yIHRoZSBIVFRQIHNlcnZlciAoZm9yIGV4YW1wbGUsIGEgd2ViIHNlcnZlcikgZnJvbSB3aGljaCBDbG91ZEZyb250IGdldHMgeW91ciBmaWxlcy5Zb3UgbXVzdCBjcmVhdGUgYXQgbGVhc3Qgb25lIG9yaWdpbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgb3JpZ2luLiBUaGUgdmFsdWUgb2YgSWQgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBkaXN0cmlidXRpb24uIFlvdSB1c2UgdGhlIHZhbHVlIG9mIElkIHdoZW4geW91IGNyZWF0ZSBhIGNhY2hlIGJlaGF2aW9yLiBUaGUgSWQgaWRlbnRpZmllcyB0aGUgb3JpZ2luIHRoYXQgQ2xvdWRGcm9udCByb3V0ZXMgYSByZXF1ZXN0IHRvIHdoZW4gdGhlIHJlcXVlc3QgbWF0Y2hlcyB0aGUgcGF0aCBwYXR0ZXJuIGZvciB0aGF0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FtYXpvbiBTMyBvcmlnaW5zOiBUaGUgRE5TIG5hbWUgb2YgdGhlIEFtYXpvbiBTMyBidWNrZXQgZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzIGZvciB0aGlzIG9yaWdpbiwgZm9yIGV4YW1wbGUsIG15YXdzYnVja2V0LnMzLmFtYXpvbmF3cy5jb20uIEN1c3RvbSBvcmlnaW5zOiBUaGUgRE5TIGRvbWFpbiBuYW1lIGZvciB0aGUgSFRUUCBzZXJ2ZXIgZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzIGZvciB0aGlzIG9yaWdpbiwgZm9yIGV4YW1wbGUsIHd3dy5leGFtcGxlLmNvbS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNPcmlnaW5Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQW1hem9uIFMzIG9yaWdpbi4gSWYgdGhlIG9yaWdpbiBpcyBhIGN1c3RvbSBvcmlnaW4sIHVzZSB0aGUgQ3VzdG9tT3JpZ2luQ29uZmlnIGVsZW1lbnQgaW5zdGVhZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIENsb3VkRnJvbnQgb3JpZ2luIGFjY2VzcyBpZGVudGl0eSB0byBhc3NvY2lhdGUgd2l0aCB0aGUgb3JpZ2luLiBVc2UgYW4gb3JpZ2luIGFjY2VzcyBpZGVudGl0eSB0byBjb25maWd1cmUgdGhlIG9yaWdpbiBzbyB0aGF0IGVuZCB1c2VycyBjYW4gb25seSBhY2Nlc3Mgb2JqZWN0cyBpbiBhbiBBbWF6b24gUzMgYnVja2V0IHRocm91Z2ggQ2xvdWRGcm9udC4gSWYgeW91IHdhbnQgZW5kIHVzZXJzIHRvIGJlIGFibGUgdG8gYWNjZXNzIG9iamVjdHMgdXNpbmcgZWl0aGVyIHRoZSBDbG91ZEZyb250IFVSTCBvciB0aGUgQW1hem9uIFMzIFVSTCwgc3BlY2lmeSBhbiBlbXB0eSBPcmlnaW5BY2Nlc3NJZGVudGl0eSBlbGVtZW50LiBUbyBkZWxldGUgdGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgZnJvbSBhbiBleGlzdGluZyBkaXN0cmlidXRpb24sIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIGluY2x1ZGUgYW4gZW1wdHkgT3JpZ2luQWNjZXNzSWRlbnRpdHkgZWxlbWVudC4gVG8gcmVwbGFjZSB0aGUgb3JpZ2luIGFjY2VzcyBpZGVudGl0eSwgdXBkYXRlIHRoZSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbiBhbmQgc3BlY2lmeSB0aGUgbmV3IG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdG9tT3JpZ2luQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgYSBjdXN0b20gb3JpZ2luLiBJZiB0aGUgb3JpZ2luIGlzIGFuIEFtYXpvbiBTMyBidWNrZXQsIHVzZSB0aGUgUzNPcmlnaW5Db25maWcgZWxlbWVudCBpbnN0ZWFkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hUVFBQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgSFRUUCBwb3J0IHRoZSBjdXN0b20gb3JpZ2luIGxpc3RlbnMgb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIVFRQU1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBIVFRQUyBwb3J0IHRoZSBjdXN0b20gb3JpZ2luIGxpc3RlbnMgb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5Qcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG9yaWdpbiBwcm90b2NvbCBwb2xpY3kgdG8gYXBwbHkgdG8geW91ciBvcmlnaW4uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZW51bScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaHR0cC1vbmx5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXRjaC12aWV3ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRDYWNoZUJlaGF2aW9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBkZXNjcmliZXMgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IgaWYgeW91IGRvIG5vdCBzcGVjaWZ5IGEgQ2FjaGVCZWhhdmlvciBlbGVtZW50IG9yIGlmIGZpbGVzIGRvblwndCBtYXRjaCBhbnkgb2YgdGhlIHZhbHVlcyBvZiBQYXRoUGF0dGVybiBpbiBDYWNoZUJlaGF2aW9yIGVsZW1lbnRzLllvdSBtdXN0IGNyZWF0ZSBleGFjdGx5IG9uZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0T3JpZ2luSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHZhbHVlIG9mIElEIGZvciB0aGUgb3JpZ2luIHRoYXQgeW91IHdhbnQgQ2xvdWRGcm9udCB0byByb3V0ZSByZXF1ZXN0cyB0byB3aGVuIGEgcmVxdWVzdCBtYXRjaGVzIHRoZSBwYXRoIHBhdHRlcm4gZWl0aGVyIGZvciBhIGNhY2hlIGJlaGF2aW9yIG9yIGZvciB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZGVkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgc3BlY2lmaWVzIGhvdyBDbG91ZEZyb250IGhhbmRsZXMgcXVlcnkgc3RyaW5ncy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWVyeVN0cmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnSW5kaWNhdGVzIHdoZXRoZXIgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBmb3J3YXJkIHF1ZXJ5IHN0cmluZ3MgdG8gdGhlIG9yaWdpbiB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNhY2hlIGJlaGF2aW9yLiBJZiBzbywgc3BlY2lmeSB0cnVlOyBpZiBub3QsIHNwZWNpZnkgZmFsc2UuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgc3BlY2lmaWVzIHRoZSBBV1MgYWNjb3VudHMsIGlmIGFueSwgdGhhdCB5b3Ugd2FudCB0byBhbGxvdyB0byBjcmVhdGUgc2lnbmVkIFVSTHMgZm9yIHByaXZhdGUgY29udGVudC4gSWYgeW91IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyBpbiB0aGUgdGFyZ2V0IG9yaWdpbiB0aGF0IG1hdGNoIHRoZSBQYXRoUGF0dGVybiBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvciwgc3BlY2lmeSB0cnVlIGZvciBFbmFibGVkLCBhbmQgc3BlY2lmeSB0aGUgYXBwbGljYWJsZSB2YWx1ZXMgZm9yIFF1YW50aXR5IGFuZCBJdGVtcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIGdvIHRvIFVzaW5nIGEgU2lnbmVkIFVSTCB0byBTZXJ2ZSBQcml2YXRlIENvbnRlbnQgaW4gdGhlIEFtYXpvbiBDbG91ZEZyb250IERldmVsb3BlciBHdWlkZS4gSWYgeW91IGRvblwndCB3YW50IHRvIHJlcXVpcmUgc2lnbmVkIFVSTHMgaW4gcmVxdWVzdHMgZm9yIG9iamVjdHMgdGhhdCBtYXRjaCBQYXRoUGF0dGVybiwgc3BlY2lmeSBmYWxzZSBmb3IgRW5hYmxlZCBhbmQgMCBmb3IgUXVhbnRpdHkuIE9taXQgSXRlbXMuIFRvIGFkZCwgY2hhbmdlLCBvciByZW1vdmUgb25lIG9yIG1vcmUgdHJ1c3RlZCBzaWduZXJzLCBjaGFuZ2UgRW5hYmxlZCB0byB0cnVlIChpZiBpdFwncyBjdXJyZW50bHkgZmFsc2UpLCBjaGFuZ2UgUXVhbnRpdHkgYXMgYXBwbGljYWJsZSwgYW5kIHNwZWNpZnkgYWxsIG9mIHRoZSB0cnVzdGVkIHNpZ25lcnMgdGhhdCB5b3Ugd2FudCB0byBpbmNsdWRlIGluIHRoZSB1cGRhdGVkIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0byByZXF1aXJlIGVuZCB1c2VycyB0byB1c2Ugc2lnbmVkIFVSTHMgdG8gYWNjZXNzIHRoZSBmaWxlcyBzcGVjaWZpZWQgYnkgUGF0aFBhdHRlcm4gYW5kIFRhcmdldE9yaWdpbklkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdPcHRpb25hbDogQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyB0cnVzdGVkIHNpZ25lcnMgZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IuIElmIFF1YW50aXR5IGlzIDAsIHlvdSBjYW4gb21pdCBJdGVtcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWaWV3ZXJQcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdVc2UgdGhpcyBlbGVtZW50IHRvIHNwZWNpZnkgdGhlIHByb3RvY29sIHRoYXQgdXNlcnMgY2FuIHVzZSB0byBhY2Nlc3MgdGhlIGZpbGVzIGluIHRoZSBvcmlnaW4gc3BlY2lmaWVkIGJ5IFRhcmdldE9yaWdpbklkIHdoZW4gYSByZXF1ZXN0IG1hdGNoZXMgdGhlIHBhdGggcGF0dGVybiBpbiBQYXRoUGF0dGVybi4gSWYgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBhbGxvdyBlbmQgdXNlcnMgdG8gdXNlIGFueSBhdmFpbGFibGUgcHJvdG9jb2wsIHNwZWNpZnkgYWxsb3ctYWxsLiBJZiB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHJlcXVpcmUgSFRUUFMsIHNwZWNpZnkgaHR0cHMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlbnVtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWxsb3ctYWxsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaHR0cHMtb25seScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWluVFRMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBtaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoYXQgeW91IHdhbnQgb2JqZWN0cyB0byBzdGF5IGluIENsb3VkRnJvbnQgY2FjaGVzIGJlZm9yZSBDbG91ZEZyb250IHF1ZXJpZXMgeW91ciBvcmlnaW4gdG8gc2VlIHdoZXRoZXIgdGhlIG9iamVjdCBoYXMgYmVlbiB1cGRhdGVkLllvdSBjYW4gc3BlY2lmeSBhIHZhbHVlIGZyb20gMCB0byAzLDE1Myw2MDAsMDAwIHNlY29uZHMgKDEwMCB5ZWFycykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVCZWhhdmlvcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIHplcm8gb3IgbW9yZSBDYWNoZUJlaGF2aW9yIGVsZW1lbnRzLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBjYWNoZSBiZWhhdmlvcnMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgY2FjaGUgYmVoYXZpb3JzIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4gSWYgUXVhbnRpdHkgaXMgMCwgeW91IGNhbiBvbWl0IEl0ZW1zLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZUJlaGF2aW9yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGRlc2NyaWJlcyBob3cgQ2xvdWRGcm9udCBwcm9jZXNzZXMgcmVxdWVzdHMuIFlvdSBjYW4gY3JlYXRlIHVwIHRvIDEwIGNhY2hlIGJlaGF2aW9ycy5Zb3UgbXVzdCBjcmVhdGUgYXQgbGVhc3QgYXMgbWFueSBjYWNoZSBiZWhhdmlvcnMgKGluY2x1ZGluZyB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvcikgYXMgeW91IGhhdmUgb3JpZ2lucyBpZiB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGRpc3RyaWJ1dGUgb2JqZWN0cyBmcm9tIGFsbCBvZiB0aGUgb3JpZ2lucy4gRWFjaCBjYWNoZSBiZWhhdmlvciBzcGVjaWZpZXMgdGhlIG9uZSBvcmlnaW4gZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzLiBJZiB5b3UgaGF2ZSB0d28gb3JpZ2lucyBhbmQgb25seSB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvciwgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3Igd2lsbCBjYXVzZSBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzIGZyb20gb25lIG9mIHRoZSBvcmlnaW5zLCBidXQgdGhlIG90aGVyIG9yaWdpbiB3aWxsIG5ldmVyIGJlIHVzZWQuIElmIHlvdSBkb25cJ3Qgd2FudCB0byBzcGVjaWZ5IGFueSBjYWNoZSBiZWhhdmlvcnMsIGluY2x1ZGUgb25seSBhbiBlbXB0eSBDYWNoZUJlaGF2aW9ycyBlbGVtZW50LiBEb25cJ3QgaW5jbHVkZSBhbiBlbXB0eSBDYWNoZUJlaGF2aW9yIGVsZW1lbnQsIG9yIENsb3VkRnJvbnQgcmV0dXJucyBhIE1hbGZvcm1lZFhNTCBlcnJvci4gVG8gZGVsZXRlIGFsbCBjYWNoZSBiZWhhdmlvcnMgaW4gYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCB1cGRhdGUgdGhlIGRpc3RyaWJ1dGlvbiBjb25maWd1cmF0aW9uIGFuZCBpbmNsdWRlIG9ubHkgYW4gZW1wdHkgQ2FjaGVCZWhhdmlvcnMgZWxlbWVudC4gVG8gYWRkLCBjaGFuZ2UsIG9yIHJlbW92ZSBvbmUgb3IgbW9yZSBjYWNoZSBiZWhhdmlvcnMsIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIHNwZWNpZnkgYWxsIG9mIHRoZSBjYWNoZSBiZWhhdmlvcnMgdGhhdCB5b3Ugd2FudCB0byBpbmNsdWRlIGluIHRoZSB1cGRhdGVkIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXRoUGF0dGVybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgcGF0dGVybiAoZm9yIGV4YW1wbGUsIGltYWdlcy8qLmpwZykgdGhhdCBzcGVjaWZpZXMgd2hpY2ggcmVxdWVzdHMgeW91IHdhbnQgdGhpcyBjYWNoZSBiZWhhdmlvciB0byBhcHBseSB0by4gV2hlbiBDbG91ZEZyb250IHJlY2VpdmVzIGFuIGVuZC11c2VyIHJlcXVlc3QsIHRoZSByZXF1ZXN0ZWQgcGF0aCBpcyBjb21wYXJlZCB3aXRoIHBhdGggcGF0dGVybnMgaW4gdGhlIG9yZGVyIGluIHdoaWNoIGNhY2hlIGJlaGF2aW9ycyBhcmUgbGlzdGVkIGluIHRoZSBkaXN0cmlidXRpb24uIFRoZSBwYXRoIHBhdHRlcm4gZm9yIHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yIGlzICogYW5kIGNhbm5vdCBiZSBjaGFuZ2VkLiBJZiB0aGUgcmVxdWVzdCBmb3IgYW4gb2JqZWN0IGRvZXMgbm90IG1hdGNoIHRoZSBwYXRoIHBhdHRlcm4gZm9yIGFueSBjYWNoZSBiZWhhdmlvcnMsIENsb3VkRnJvbnQgYXBwbGllcyB0aGUgYmVoYXZpb3IgaW4gdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldE9yaWdpbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSB2YWx1ZSBvZiBJRCBmb3IgdGhlIG9yaWdpbiB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcm91dGUgcmVxdWVzdHMgdG8gd2hlbiBhIHJlcXVlc3QgbWF0Y2hlcyB0aGUgcGF0aCBwYXR0ZXJuIGVpdGhlciBmb3IgYSBjYWNoZSBiZWhhdmlvciBvciBmb3IgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmRlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IHNwZWNpZmllcyBob3cgQ2xvdWRGcm9udCBoYW5kbGVzIHF1ZXJ5IHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVlcnlTdHJpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0luZGljYXRlcyB3aGV0aGVyIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gZm9yd2FyZCBxdWVyeSBzdHJpbmdzIHRvIHRoZSBvcmlnaW4gdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBjYWNoZSBiZWhhdmlvci4gSWYgc28sIHNwZWNpZnkgdHJ1ZTsgaWYgbm90LCBzcGVjaWZ5IGZhbHNlLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IHNwZWNpZmllcyB0aGUgQVdTIGFjY291bnRzLCBpZiBhbnksIHRoYXQgeW91IHdhbnQgdG8gYWxsb3cgdG8gY3JlYXRlIHNpZ25lZCBVUkxzIGZvciBwcml2YXRlIGNvbnRlbnQuIElmIHlvdSB3YW50IHRvIHJlcXVpcmUgc2lnbmVkIFVSTHMgaW4gcmVxdWVzdHMgZm9yIG9iamVjdHMgaW4gdGhlIHRhcmdldCBvcmlnaW4gdGhhdCBtYXRjaCB0aGUgUGF0aFBhdHRlcm4gZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IsIHNwZWNpZnkgdHJ1ZSBmb3IgRW5hYmxlZCwgYW5kIHNwZWNpZnkgdGhlIGFwcGxpY2FibGUgdmFsdWVzIGZvciBRdWFudGl0eSBhbmQgSXRlbXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBnbyB0byBVc2luZyBhIFNpZ25lZCBVUkwgdG8gU2VydmUgUHJpdmF0ZSBDb250ZW50IGluIHRoZSBBbWF6b24gQ2xvdWRGcm9udCBEZXZlbG9wZXIgR3VpZGUuIElmIHlvdSBkb25cJ3Qgd2FudCB0byByZXF1aXJlIHNpZ25lZCBVUkxzIGluIHJlcXVlc3RzIGZvciBvYmplY3RzIHRoYXQgbWF0Y2ggUGF0aFBhdHRlcm4sIHNwZWNpZnkgZmFsc2UgZm9yIEVuYWJsZWQgYW5kIDAgZm9yIFF1YW50aXR5LiBPbWl0IEl0ZW1zLiBUbyBhZGQsIGNoYW5nZSwgb3IgcmVtb3ZlIG9uZSBvciBtb3JlIHRydXN0ZWQgc2lnbmVycywgY2hhbmdlIEVuYWJsZWQgdG8gdHJ1ZSAoaWYgaXRcJ3MgY3VycmVudGx5IGZhbHNlKSwgY2hhbmdlIFF1YW50aXR5IGFzIGFwcGxpY2FibGUsIGFuZCBzcGVjaWZ5IGFsbCBvZiB0aGUgdHJ1c3RlZCBzaWduZXJzIHRoYXQgeW91IHdhbnQgdG8gaW5jbHVkZSBpbiB0aGUgdXBkYXRlZCBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3BlY2lmaWVzIHdoZXRoZXIgeW91IHdhbnQgdG8gcmVxdWlyZSBlbmQgdXNlcnMgdG8gdXNlIHNpZ25lZCBVUkxzIHRvIGFjY2VzcyB0aGUgZmlsZXMgc3BlY2lmaWVkIGJ5IFBhdGhQYXR0ZXJuIGFuZCBUYXJnZXRPcmlnaW5JZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlld2VyUHJvdG9jb2xQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVXNlIHRoaXMgZWxlbWVudCB0byBzcGVjaWZ5IHRoZSBwcm90b2NvbCB0aGF0IHVzZXJzIGNhbiB1c2UgdG8gYWNjZXNzIHRoZSBmaWxlcyBpbiB0aGUgb3JpZ2luIHNwZWNpZmllZCBieSBUYXJnZXRPcmlnaW5JZCB3aGVuIGEgcmVxdWVzdCBtYXRjaGVzIHRoZSBwYXRoIHBhdHRlcm4gaW4gUGF0aFBhdHRlcm4uIElmIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gYWxsb3cgZW5kIHVzZXJzIHRvIHVzZSBhbnkgYXZhaWxhYmxlIHByb3RvY29sLCBzcGVjaWZ5IGFsbG93LWFsbC4gSWYgeW91IHdhbnQgQ2xvdWRGcm9udCB0byByZXF1aXJlIEhUVFBTLCBzcGVjaWZ5IGh0dHBzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZW51bScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbG93LWFsbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2h0dHBzLW9ubHknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pblRUTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbWluaW11bSBhbW91bnQgb2YgdGltZSB0aGF0IHlvdSB3YW50IG9iamVjdHMgdG8gc3RheSBpbiBDbG91ZEZyb250IGNhY2hlcyBiZWZvcmUgQ2xvdWRGcm9udCBxdWVyaWVzIHlvdXIgb3JpZ2luIHRvIHNlZSB3aGV0aGVyIHRoZSBvYmplY3QgaGFzIGJlZW4gdXBkYXRlZC5Zb3UgY2FuIHNwZWNpZnkgYSB2YWx1ZSBmcm9tIDAgdG8gMywxNTMsNjAwLDAwMCBzZWNvbmRzICgxMDAgeWVhcnMpLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBbnkgY29tbWVudHMgeW91IHdhbnQgdG8gaW5jbHVkZSBhYm91dCB0aGUgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvZ2dpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRyb2xzIHdoZXRoZXIgYWNjZXNzIGxvZ3MgYXJlIHdyaXR0ZW4gZm9yIHRoZSBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gc2F2ZSBhY2Nlc3MgbG9ncyB0byBhbiBBbWF6b24gUzMgYnVja2V0LiBJZiB5b3UgZG8gbm90IHdhbnQgdG8gZW5hYmxlIGxvZ2dpbmcgd2hlbiB5b3UgY3JlYXRlIGEgZGlzdHJpYnV0aW9uIG9yIGlmIHlvdSB3YW50IHRvIGRpc2FibGUgbG9nZ2luZyBmb3IgYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkLCBhbmQgc3BlY2lmeSBlbXB0eSBCdWNrZXQgYW5kIFByZWZpeCBlbGVtZW50cy4gSWYgeW91IHNwZWNpZnkgZmFsc2UgZm9yIEVuYWJsZWQgYnV0IHlvdSBzcGVjaWZ5IHZhbHVlcyBmb3IgQnVja2V0IGFuZCBQcmVmaXgsIHRoZSB2YWx1ZXMgYXJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIEFtYXpvbiBTMyBidWNrZXQgdG8gc3RvcmUgdGhlIGFjY2VzcyBsb2dzIGluLCBmb3IgZXhhbXBsZSwgbXlhd3Nsb2didWNrZXQuczMuYW1hem9uYXdzLmNvbS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FuIG9wdGlvbmFsIHN0cmluZyB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcHJlZml4IHRvIHRoZSBhY2Nlc3MgbG9nIGZpbGVuYW1lcyBmb3IgdGhpcyBkaXN0cmlidXRpb24sIGZvciBleGFtcGxlLCBteXByZWZpeC8uIElmIHlvdSB3YW50IHRvIGVuYWJsZSBsb2dnaW5nLCBidXQgeW91IGRvIG5vdCB3YW50IHRvIHNwZWNpZnkgYSBwcmVmaXgsIHlvdSBzdGlsbCBtdXN0IGluY2x1ZGUgYW4gZW1wdHkgUHJlZml4IGVsZW1lbnQgaW4gdGhlIExvZ2dpbmcgZWxlbWVudC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdXaGV0aGVyIHRoZSBkaXN0cmlidXRpb24gaXMgZW5hYmxlZCB0byBhY2NlcHQgZW5kIHVzZXIgcmVxdWVzdHMgZm9yIGNvbnRlbnQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgZGlzdHJpYnV0aW9uXCdzIGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lmTWF0Y2gnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSB2YWx1ZSBvZiB0aGUgRVRhZyBoZWFkZXIgeW91IHJlY2VpdmVkIHdoZW4gcmV0cmlldmluZyB0aGUgZGlzdHJpYnV0aW9uXCdzIGNvbmZpZ3VyYXRpb24uIEZvciBleGFtcGxlOiBFMlFXUlVIQVBPTVFaTC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJZi1NYXRjaCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDTkFNRUFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0lsbGVnYWxVcGRhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRJZk1hdGNoVmVyc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ0JvZHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaERpc3RyaWJ1dGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJlY29uZGl0aW9uRmFpbGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55RGlzdHJpYnV0aW9uQ05BTUVzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkRGVmYXVsdFJvb3RPYmplY3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZE9yaWdpbkFjY2Vzc0lkZW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55VHJ1c3RlZFNpZ25lcnNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1RydXN0ZWRTaWduZXJEb2VzTm90RXhpc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRSZXF1aXJlZFByb3RvY29sRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hPcmlnaW5FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlPcmlnaW5zRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55Q2FjaGVCZWhhdmlvcnNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luY29uc2lzdGVudFF1YW50aXRpZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVTdHJlYW1pbmdEaXN0cmlidXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0wNS0wNS9zdHJlYW1pbmctZGlzdHJpYnV0aW9uL3tJZH0vY29uZmlnJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdVcGRhdGVTdHJlYW1pbmdEaXN0cmlidXRpb25SZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnc3VtbWFyeScgPT4gJ1VwZGF0ZSBhIHN0cmVhbWluZyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3htbFJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnJywKICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwOi8vY2xvdWRmcm9udC5hbWF6b25hd3MuY29tL2RvYy8yMDEyLTA1LTA1LycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBudW1iZXIgdGhhdCBlbnN1cmVzIHRoZSByZXF1ZXN0IGNhblwndCBiZSByZXBsYXllZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBuZXcgKG5vIG1hdHRlciB0aGUgY29udGVudCBvZiB0aGUgU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnIG9iamVjdCksIGEgbmV3IHN0cmVhbWluZyBkaXN0cmlidXRpb24gaXMgY3JlYXRlZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhIHN0cmVhbWluZyBkaXN0cmlidXRpb24sIGFuZCB0aGUgY29udGVudCBvZiB0aGUgU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnIGlzIGlkZW50aWNhbCB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdCAoaWdub3Jpbmcgd2hpdGUgc3BhY2UpLCB0aGUgcmVzcG9uc2UgaW5jbHVkZXMgdGhlIHNhbWUgaW5mb3JtYXRpb24gcmV0dXJuZWQgdG8gdGhlIG9yaWdpbmFsIHJlcXVlc3QuIElmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgYSB2YWx1ZSB5b3UgYWxyZWFkeSBzZW50IGluIGEgcHJldmlvdXMgcmVxdWVzdCB0byBjcmVhdGUgYSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uIGJ1dCB0aGUgY29udGVudCBvZiB0aGUgU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LCBDbG91ZEZyb250IHJldHVybnMgYSBEaXN0cmlidXRpb25BbHJlYWR5RXhpc3RzIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1MzT3JpZ2luJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQW1hem9uIFMzIGJ1Y2tldCBmcm9tIHdoaWNoIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gZ2V0IHlvdXIgbWVkaWEgZmlsZXMgZm9yIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIEROUyBuYW1lIG9mIHRoZSBTMyBvcmlnaW4uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ09yaWdpbkFjY2Vzc0lkZW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1lvdXIgUzMgb3JpZ2luXCdzIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGlhc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCBDTkFNRXMgKGFsdGVybmF0ZSBkb21haW4gbmFtZXMpLCBpZiBhbnksIGZvciB0aGlzIHN0cmVhbWluZyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIENOQU1FcywgaWYgYW55LCBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdPcHRpb25hbDogQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBDTkFNRSBlbGVtZW50cywgaWYgYW55LCBmb3IgdGhpcyBkaXN0cmlidXRpb24uIElmIFF1YW50aXR5IGlzIDAsIHlvdSBjYW4gb21pdCBJdGVtcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ05BTUUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29tbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FueSBjb21tZW50cyB5b3Ugd2FudCB0byBpbmNsdWRlIGFib3V0IHRoZSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvZ2dpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRyb2xzIHdoZXRoZXIgYWNjZXNzIGxvZ3MgYXJlIHdyaXR0ZW4gZm9yIHRoZSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHNhdmUgYWNjZXNzIGxvZ3MgdG8gYW4gQW1hem9uIFMzIGJ1Y2tldC4gSWYgeW91IGRvIG5vdCB3YW50IHRvIGVuYWJsZSBsb2dnaW5nIHdoZW4geW91IGNyZWF0ZSBhIGRpc3RyaWJ1dGlvbiBvciBpZiB5b3Ugd2FudCB0byBkaXNhYmxlIGxvZ2dpbmcgZm9yIGFuIGV4aXN0aW5nIGRpc3RyaWJ1dGlvbiwgc3BlY2lmeSBmYWxzZSBmb3IgRW5hYmxlZCwgYW5kIHNwZWNpZnkgZW1wdHkgQnVja2V0IGFuZCBQcmVmaXggZWxlbWVudHMuIElmIHlvdSBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkIGJ1dCB5b3Ugc3BlY2lmeSB2YWx1ZXMgZm9yIEJ1Y2tldCBhbmQgUHJlZml4LCB0aGUgdmFsdWVzIGFyZSBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBbWF6b24gUzMgYnVja2V0IHRvIHN0b3JlIHRoZSBhY2Nlc3MgbG9ncyBpbiwgZm9yIGV4YW1wbGUsIG15YXdzbG9nYnVja2V0LnMzLmFtYXpvbmF3cy5jb20uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBbiBvcHRpb25hbCBzdHJpbmcgdGhhdCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHByZWZpeCB0byB0aGUgYWNjZXNzIGxvZyBmaWxlbmFtZXMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLCBmb3IgZXhhbXBsZSwgbXlwcmVmaXgvLiBJZiB5b3Ugd2FudCB0byBlbmFibGUgbG9nZ2luZywgYnV0IHlvdSBkbyBub3Qgd2FudCB0byBzcGVjaWZ5IGEgcHJlZml4LCB5b3Ugc3RpbGwgbXVzdCBpbmNsdWRlIGFuIGVtcHR5IFByZWZpeCBlbGVtZW50IGluIHRoZSBMb2dnaW5nIGVsZW1lbnQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgc3BlY2lmaWVzIHRoZSBBV1MgYWNjb3VudHMsIGlmIGFueSwgdGhhdCB5b3Ugd2FudCB0byBhbGxvdyB0byBjcmVhdGUgc2lnbmVkIFVSTHMgZm9yIHByaXZhdGUgY29udGVudC4gSWYgeW91IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyBpbiB0aGUgdGFyZ2V0IG9yaWdpbiB0aGF0IG1hdGNoIHRoZSBQYXRoUGF0dGVybiBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvciwgc3BlY2lmeSB0cnVlIGZvciBFbmFibGVkLCBhbmQgc3BlY2lmeSB0aGUgYXBwbGljYWJsZSB2YWx1ZXMgZm9yIFF1YW50aXR5IGFuZCBJdGVtcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIGdvIHRvIFVzaW5nIGEgU2lnbmVkIFVSTCB0byBTZXJ2ZSBQcml2YXRlIENvbnRlbnQgaW4gdGhlIEFtYXpvbiBDbG91ZEZyb250IERldmVsb3BlciBHdWlkZS4gSWYgeW91IGRvblwndCB3YW50IHRvIHJlcXVpcmUgc2lnbmVkIFVSTHMgaW4gcmVxdWVzdHMgZm9yIG9iamVjdHMgdGhhdCBtYXRjaCBQYXRoUGF0dGVybiwgc3BlY2lmeSBmYWxzZSBmb3IgRW5hYmxlZCBhbmQgMCBmb3IgUXVhbnRpdHkuIE9taXQgSXRlbXMuIFRvIGFkZCwgY2hhbmdlLCBvciByZW1vdmUgb25lIG9yIG1vcmUgdHJ1c3RlZCBzaWduZXJzLCBjaGFuZ2UgRW5hYmxlZCB0byB0cnVlIChpZiBpdFwncyBjdXJyZW50bHkgZmFsc2UpLCBjaGFuZ2UgUXVhbnRpdHkgYXMgYXBwbGljYWJsZSwgYW5kIHNwZWNpZnkgYWxsIG9mIHRoZSB0cnVzdGVkIHNpZ25lcnMgdGhhdCB5b3Ugd2FudCB0byBpbmNsdWRlIGluIHRoZSB1cGRhdGVkIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3BlY2lmaWVzIHdoZXRoZXIgeW91IHdhbnQgdG8gcmVxdWlyZSBlbmQgdXNlcnMgdG8gdXNlIHNpZ25lZCBVUkxzIHRvIGFjY2VzcyB0aGUgZmlsZXMgc3BlY2lmaWVkIGJ5IFBhdGhQYXR0ZXJuIGFuZCBUYXJnZXRPcmlnaW5JZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ09wdGlvbmFsOiBBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4gSWYgUXVhbnRpdHkgaXMgMCwgeW91IGNhbiBvbWl0IEl0ZW1zLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdXaGV0aGVyIHRoZSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uIGlzIGVuYWJsZWQgdG8gYWNjZXB0IGVuZCB1c2VyIHJlcXVlc3RzIGZvciBjb250ZW50LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHN0cmVhbWluZyBkaXN0cmlidXRpb25cJ3MgaWQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWZNYXRjaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHZhbHVlIG9mIHRoZSBFVGFnIGhlYWRlciB5b3UgcmVjZWl2ZWQgd2hlbiByZXRyaWV2aW5nIHRoZSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uXCdzIGNvbmZpZ3VyYXRpb24uIEZvciBleGFtcGxlOiBFMlFXUlVIQVBPTVFaTC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJZi1NYXRjaCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDTkFNRUFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0lsbGVnYWxVcGRhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRJZk1hdGNoVmVyc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ0JvZHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJlY29uZGl0aW9uRmFpbGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55U3RyZWFtaW5nRGlzdHJpYnV0aW9uQ05BTUVzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRPcmlnaW5BY2Nlc3NJZGVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueVRydXN0ZWRTaWduZXJzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUcnVzdGVkU2lnbmVyRG9lc05vdEV4aXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbmNvbnNpc3RlbnRRdWFudGl0aWVzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnbW9kZWxzJyA9PiBhcnJheSgKICAgICAgICAnQ3JlYXRlQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5UmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIElEIGZvciB0aGUgb3JpZ2luIGFjY2VzcyBpZGVudGl0eS4gRm9yIGV4YW1wbGU6IEU3NEZURTNBSkZKMjU2QS4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTM0Nhbm9uaWNhbFVzZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIEFtYXpvbiBTMyBjYW5vbmljYWwgdXNlciBJRCBmb3IgdGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHksIHdoaWNoIHlvdSB1c2Ugd2hlbiBnaXZpbmcgdGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgcmVhZCBwZXJtaXNzaW9uIHRvIGFuIG9iamVjdCBpbiBBbWF6b24gUzMuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgY3VycmVudCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgaWRlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSB1bmlxdWUgbnVtYmVyIHRoYXQgZW5zdXJlcyB0aGUgcmVxdWVzdCBjYW5cJ3QgYmUgcmVwbGF5ZWQuIElmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgbmV3IChubyBtYXR0ZXIgdGhlIGNvbnRlbnQgb2YgdGhlIENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUNvbmZpZyBvYmplY3QpLCBhIG5ldyBvcmlnaW4gYWNjZXNzIGlkZW50aXR5IGlzIGNyZWF0ZWQuIElmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgYSB2YWx1ZSB5b3UgYWxyZWFkeSBzZW50IGluIGEgcHJldmlvdXMgcmVxdWVzdCB0byBjcmVhdGUgYW4gaWRlbnRpdHksIGFuZCB0aGUgY29udGVudCBvZiB0aGUgQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnIGlzIGlkZW50aWNhbCB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdCAoaWdub3Jpbmcgd2hpdGUgc3BhY2UpLCB0aGUgcmVzcG9uc2UgaW5jbHVkZXMgdGhlIHNhbWUgaW5mb3JtYXRpb24gcmV0dXJuZWQgdG8gdGhlIG9yaWdpbmFsIHJlcXVlc3QuIElmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgYSB2YWx1ZSB5b3UgYWxyZWFkeSBzZW50IGluIGEgcHJldmlvdXMgcmVxdWVzdCB0byBjcmVhdGUgYW4gaWRlbnRpdHkgYnV0IHRoZSBjb250ZW50IG9mIHRoZSBDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlDb25maWcgaXMgZGlmZmVyZW50IGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QsIENsb3VkRnJvbnQgcmV0dXJucyBhIENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUFscmVhZHlFeGlzdHMgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQW55IGNvbW1lbnRzIHlvdSB3YW50IHRvIGluY2x1ZGUgYWJvdXQgdGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2NhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGZ1bGx5IHF1YWxpZmllZCBVUkkgb2YgdGhlIG5ldyBvcmlnaW4gYWNjZXNzIGlkZW50aXR5IGp1c3QgY3JlYXRlZC4gRm9yIGV4YW1wbGU6IGh0dHBzOi8vY2xvdWRmcm9udC5hbWF6b25hd3MuY29tLzIwMTAtMTEtMDEvb3JpZ2luLWFjY2Vzcy1pZGVudGl0eS9jbG91ZGZyb250L0U3NEZURTNBSkZKMjU2QS4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFVGFnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5IGNyZWF0ZWQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdSZXF1ZXN0IElEIG9mIHRoZSBvcGVyYXRpb24nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVEaXN0cmlidXRpb25SZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgaWRlbnRpZmllciBmb3IgdGhlIGRpc3RyaWJ1dGlvbi4gRm9yIGV4YW1wbGU6IEVERkRWQkQ2MzJCSERTNS4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoaXMgcmVzcG9uc2UgZWxlbWVudCBpbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBkaXN0cmlidXRpb24uIFdoZW4gdGhlIHN0YXR1cyBpcyBEZXBsb3llZCwgdGhlIGRpc3RyaWJ1dGlvblwncyBpbmZvcm1hdGlvbiBpcyBmdWxseSBwcm9wYWdhdGVkIHRocm91Z2hvdXQgdGhlIEFtYXpvbiBDbG91ZEZyb250IHN5c3RlbS4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXN0TW9kaWZpZWRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgZGF0ZSBhbmQgdGltZSB0aGUgZGlzdHJpYnV0aW9uIHdhcyBsYXN0IG1vZGlmaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luUHJvZ3Jlc3NJbnZhbGlkYXRpb25CYXRjaGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIGludmFsaWRhdGlvbiBiYXRjaGVzIGN1cnJlbnRseSBpbiBwcm9ncmVzcy4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGRvbWFpbiBuYW1lIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGRpc3RyaWJ1dGlvbi4gRm9yIGV4YW1wbGU6IGQ2MDQ3MjFmeGFhcXk5LmNsb3VkZnJvbnQubmV0LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FjdGl2ZVRydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdDbG91ZEZyb250IGF1dG9tYXRpY2FsbHkgYWRkcyB0aGlzIGVsZW1lbnQgdG8gdGhlIHJlc3BvbnNlIG9ubHkgaWYgeW91XCd2ZSBzZXQgdXAgdGhlIGRpc3RyaWJ1dGlvbiB0byBzZXJ2ZSBwcml2YXRlIGNvbnRlbnQgd2l0aCBzaWduZWQgVVJMcy4gVGhlIGVsZW1lbnQgbGlzdHMgdGhlIGtleSBwYWlyIElEcyB0aGF0IENsb3VkRnJvbnQgaXMgYXdhcmUgb2YgZm9yIGVhY2ggdHJ1c3RlZCBzaWduZXIuIFRoZSBTaWduZXIgY2hpbGQgZWxlbWVudCBsaXN0cyB0aGUgQVdTIGFjY291bnQgbnVtYmVyIG9mIHRoZSB0cnVzdGVkIHNpZ25lciAob3IgYW4gZW1wdHkgU2VsZiBlbGVtZW50IGlmIHRoZSBzaWduZXIgaXMgeW91KS4gVGhlIFNpZ25lciBlbGVtZW50IGFsc28gaW5jbHVkZXMgdGhlIElEcyBvZiBhbnkgYWN0aXZlIGtleSBwYWlycyBhc3NvY2lhdGVkIHdpdGggdGhlIHRydXN0ZWQgc2lnbmVyXCdzIEFXUyBhY2NvdW50LiBJZiBubyBLZXlQYWlySWQgZWxlbWVudCBhcHBlYXJzIGZvciBhIFNpZ25lciwgdGhhdCBzaWduZXIgY2FuXCd0IGNyZWF0ZSB3b3JraW5nIHNpZ25lZCBVUkxzLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdFYWNoIGFjdGl2ZSB0cnVzdGVkIHNpZ25lci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgdW5pcXVlIHRydXN0ZWQgc2lnbmVycyBpbmNsdWRlZCBpbiBhbGwgY2FjaGUgYmVoYXZpb3JzLiBGb3IgZXhhbXBsZSwgaWYgdGhyZWUgY2FjaGUgYmVoYXZpb3JzIGFsbCBsaXN0IHRoZSBzYW1lIHRocmVlIEFXUyBhY2NvdW50cywgdGhlIHZhbHVlIG9mIFF1YW50aXR5IGZvciBBY3RpdmVUcnVzdGVkU2lnbmVycyB3aWxsIGJlIDMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIG9uZSBTaWduZXIgY29tcGxleCB0eXBlIGZvciBlYWNoIHVuaXF1ZSB0cnVzdGVkIHNpZ25lciB0aGF0IGlzIHNwZWNpZmllZCBpbiB0aGUgVHJ1c3RlZFNpZ25lcnMgY29tcGxleCB0eXBlLCBpbmNsdWRpbmcgdHJ1c3RlZCBzaWduZXJzIGluIHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yIGFuZCBpbiBhbGwgb2YgdGhlIG90aGVyIGNhY2hlIGJlaGF2aW9ycy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU2lnbmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGxpc3RzIHRoZSBBV1MgYWNjb3VudHMgdGhhdCB3ZXJlIGluY2x1ZGVkIGluIHRoZSBUcnVzdGVkU2lnbmVycyBjb21wbGV4IHR5cGUsIGFzIHdlbGwgYXMgdGhlaXIgYWN0aXZlIENsb3VkRnJvbnQga2V5IHBhaXIgSURzLCBpZiBhbnkuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1NpZ25lcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXdzQWNjb3VudE51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgYW4gQVdTIGFjY291bnQgdGhhdCBjYW4gY3JlYXRlIHNpZ25lZCBVUkxzLiBWYWx1ZXM6IHNlbGYsIHdoaWNoIGluZGljYXRlcyB0aGF0IHRoZSBBV1MgYWNjb3VudCB0aGF0IHdhcyB1c2VkIHRvIGNyZWF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNhbiBjcmVhdGVkIHNpZ25lZCBVUkxzLCBvciBhbiBBV1MgYWNjb3VudCBudW1iZXIuIE9taXQgdGhlIGRhc2hlcyBpbiB0aGUgYWNjb3VudCBudW1iZXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVBhaXJJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBsaXN0cyB0aGUgYWN0aXZlIENsb3VkRnJvbnQga2V5IHBhaXJzLCBpZiBhbnksIHRoYXQgYXJlIGFzc29jaWF0ZWQgd2l0aCBBd3NBY2NvdW50TnVtYmVyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBhY3RpdmUgQ2xvdWRGcm9udCBrZXkgcGFpcnMgZm9yIEF3c0FjY291bnROdW1iZXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgbGlzdHMgdGhlIGFjdGl2ZSBDbG91ZEZyb250IGtleSBwYWlycywgaWYgYW55LCB0aGF0IGFyZSBhc3NvY2lhdGVkIHdpdGggQXdzQWNjb3VudE51bWJlci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnS2V5UGFpcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdLZXlQYWlySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rpc3RyaWJ1dGlvbkNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBudW1iZXIgdGhhdCBlbnN1cmVzIHRoZSByZXF1ZXN0IGNhblwndCBiZSByZXBsYXllZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBuZXcgKG5vIG1hdHRlciB0aGUgY29udGVudCBvZiB0aGUgRGlzdHJpYnV0aW9uQ29uZmlnIG9iamVjdCksIGEgbmV3IGRpc3RyaWJ1dGlvbiBpcyBjcmVhdGVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGEgZGlzdHJpYnV0aW9uLCBhbmQgdGhlIGNvbnRlbnQgb2YgdGhlIERpc3RyaWJ1dGlvbkNvbmZpZyBpcyBpZGVudGljYWwgdG8gdGhlIG9yaWdpbmFsIHJlcXVlc3QgKGlnbm9yaW5nIHdoaXRlIHNwYWNlKSwgdGhlIHJlc3BvbnNlIGluY2x1ZGVzIHRoZSBzYW1lIGluZm9ybWF0aW9uIHJldHVybmVkIHRvIHRoZSBvcmlnaW5hbCByZXF1ZXN0LiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGEgZGlzdHJpYnV0aW9uIGJ1dCB0aGUgY29udGVudCBvZiB0aGUgRGlzdHJpYnV0aW9uQ29uZmlnIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LCBDbG91ZEZyb250IHJldHVybnMgYSBEaXN0cmlidXRpb25BbHJlYWR5RXhpc3RzIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBbGlhc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgQ05BTUVzIChhbHRlcm5hdGUgZG9tYWluIG5hbWVzKSwgaWYgYW55LCBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIENOQU1FcywgaWYgYW55LCBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ09wdGlvbmFsOiBBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIENOQU1FIGVsZW1lbnRzLCBpZiBhbnksIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4gSWYgUXVhbnRpdHkgaXMgMCwgeW91IGNhbiBvbWl0IEl0ZW1zLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ05BTUUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFJvb3RPYmplY3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG9iamVjdCB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcmV0dXJuIChmb3IgZXhhbXBsZSwgaW5kZXguaHRtbCkgd2hlbiBhbiBlbmQgdXNlciByZXF1ZXN0cyB0aGUgcm9vdCBVUkwgZm9yIHlvdXIgZGlzdHJpYnV0aW9uIChodHRwOi8vd3d3LmV4YW1wbGUuY29tKSBpbnN0ZWFkIG9mIGFuIG9iamVjdCBpbiB5b3VyIGRpc3RyaWJ1dGlvbiAoaHR0cDovL3d3dy5leGFtcGxlLmNvbS9pbmRleC5odG1sKS4gU3BlY2lmeWluZyBhIGRlZmF1bHQgcm9vdCBvYmplY3QgYXZvaWRzIGV4cG9zaW5nIHRoZSBjb250ZW50cyBvZiB5b3VyIGRpc3RyaWJ1dGlvbi4gSWYgeW91IGRvblwndCB3YW50IHRvIHNwZWNpZnkgYSBkZWZhdWx0IHJvb3Qgb2JqZWN0IHdoZW4geW91IGNyZWF0ZSBhIGRpc3RyaWJ1dGlvbiwgaW5jbHVkZSBhbiBlbXB0eSBEZWZhdWx0Um9vdE9iamVjdCBlbGVtZW50LiBUbyBkZWxldGUgdGhlIGRlZmF1bHQgcm9vdCBvYmplY3QgZnJvbSBhbiBleGlzdGluZyBkaXN0cmlidXRpb24sIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIGluY2x1ZGUgYW4gZW1wdHkgRGVmYXVsdFJvb3RPYmplY3QgZWxlbWVudC4gVG8gcmVwbGFjZSB0aGUgZGVmYXVsdCByb290IG9iamVjdCwgdXBkYXRlIHRoZSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbiBhbmQgc3BlY2lmeSB0aGUgbmV3IG9iamVjdC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2lucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IG9yaWdpbnMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBvcmlnaW5zIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBvcmlnaW5zIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnT3JpZ2luJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgZGVzY3JpYmVzIHRoZSBBbWF6b24gUzMgYnVja2V0IG9yIHRoZSBIVFRQIHNlcnZlciAoZm9yIGV4YW1wbGUsIGEgd2ViIHNlcnZlcikgZnJvbSB3aGljaCBDbG91ZEZyb250IGdldHMgeW91ciBmaWxlcy5Zb3UgbXVzdCBjcmVhdGUgYXQgbGVhc3Qgb25lIG9yaWdpbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ09yaWdpbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIG9yaWdpbi4gVGhlIHZhbHVlIG9mIElkIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZGlzdHJpYnV0aW9uLiBZb3UgdXNlIHRoZSB2YWx1ZSBvZiBJZCB3aGVuIHlvdSBjcmVhdGUgYSBjYWNoZSBiZWhhdmlvci4gVGhlIElkIGlkZW50aWZpZXMgdGhlIG9yaWdpbiB0aGF0IENsb3VkRnJvbnQgcm91dGVzIGEgcmVxdWVzdCB0byB3aGVuIHRoZSByZXF1ZXN0IG1hdGNoZXMgdGhlIHBhdGggcGF0dGVybiBmb3IgdGhhdCBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FtYXpvbiBTMyBvcmlnaW5zOiBUaGUgRE5TIG5hbWUgb2YgdGhlIEFtYXpvbiBTMyBidWNrZXQgZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzIGZvciB0aGlzIG9yaWdpbiwgZm9yIGV4YW1wbGUsIG15YXdzYnVja2V0LnMzLmFtYXpvbmF3cy5jb20uIEN1c3RvbSBvcmlnaW5zOiBUaGUgRE5TIGRvbWFpbiBuYW1lIGZvciB0aGUgSFRUUCBzZXJ2ZXIgZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzIGZvciB0aGlzIG9yaWdpbiwgZm9yIGV4YW1wbGUsIHd3dy5leGFtcGxlLmNvbS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNPcmlnaW5Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBBbWF6b24gUzMgb3JpZ2luLiBJZiB0aGUgb3JpZ2luIGlzIGEgY3VzdG9tIG9yaWdpbiwgdXNlIHRoZSBDdXN0b21PcmlnaW5Db25maWcgZWxlbWVudCBpbnN0ZWFkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09yaWdpbkFjY2Vzc0lkZW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgQ2xvdWRGcm9udCBvcmlnaW4gYWNjZXNzIGlkZW50aXR5IHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBvcmlnaW4uIFVzZSBhbiBvcmlnaW4gYWNjZXNzIGlkZW50aXR5IHRvIGNvbmZpZ3VyZSB0aGUgb3JpZ2luIHNvIHRoYXQgZW5kIHVzZXJzIGNhbiBvbmx5IGFjY2VzcyBvYmplY3RzIGluIGFuIEFtYXpvbiBTMyBidWNrZXQgdGhyb3VnaCBDbG91ZEZyb250LiBJZiB5b3Ugd2FudCBlbmQgdXNlcnMgdG8gYmUgYWJsZSB0byBhY2Nlc3Mgb2JqZWN0cyB1c2luZyBlaXRoZXIgdGhlIENsb3VkRnJvbnQgVVJMIG9yIHRoZSBBbWF6b24gUzMgVVJMLCBzcGVjaWZ5IGFuIGVtcHR5IE9yaWdpbkFjY2Vzc0lkZW50aXR5IGVsZW1lbnQuIFRvIGRlbGV0ZSB0aGUgb3JpZ2luIGFjY2VzcyBpZGVudGl0eSBmcm9tIGFuIGV4aXN0aW5nIGRpc3RyaWJ1dGlvbiwgdXBkYXRlIHRoZSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbiBhbmQgaW5jbHVkZSBhbiBlbXB0eSBPcmlnaW5BY2Nlc3NJZGVudGl0eSBlbGVtZW50LiBUbyByZXBsYWNlIHRoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LCB1cGRhdGUgdGhlIGRpc3RyaWJ1dGlvbiBjb25maWd1cmF0aW9uIGFuZCBzcGVjaWZ5IHRoZSBuZXcgb3JpZ2luIGFjY2VzcyBpZGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdG9tT3JpZ2luQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCBhIGN1c3RvbSBvcmlnaW4uIElmIHRoZSBvcmlnaW4gaXMgYW4gQW1hem9uIFMzIGJ1Y2tldCwgdXNlIHRoZSBTM09yaWdpbkNvbmZpZyBlbGVtZW50IGluc3RlYWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSFRUUFBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBIVFRQIHBvcnQgdGhlIGN1c3RvbSBvcmlnaW4gbGlzdGVucyBvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hUVFBTUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIEhUVFBTIHBvcnQgdGhlIGN1c3RvbSBvcmlnaW4gbGlzdGVucyBvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09yaWdpblByb3RvY29sUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgb3JpZ2luIHByb3RvY29sIHBvbGljeSB0byBhcHBseSB0byB5b3VyIG9yaWdpbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0Q2FjaGVCZWhhdmlvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGRlc2NyaWJlcyB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvciBpZiB5b3UgZG8gbm90IHNwZWNpZnkgYSBDYWNoZUJlaGF2aW9yIGVsZW1lbnQgb3IgaWYgZmlsZXMgZG9uXCd0IG1hdGNoIGFueSBvZiB0aGUgdmFsdWVzIG9mIFBhdGhQYXR0ZXJuIGluIENhY2hlQmVoYXZpb3IgZWxlbWVudHMuWW91IG11c3QgY3JlYXRlIGV4YWN0bHkgb25lIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0T3JpZ2luSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgdmFsdWUgb2YgSUQgZm9yIHRoZSBvcmlnaW4gdGhhdCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHJvdXRlIHJlcXVlc3RzIHRvIHdoZW4gYSByZXF1ZXN0IG1hdGNoZXMgdGhlIHBhdGggcGF0dGVybiBlaXRoZXIgZm9yIGEgY2FjaGUgYmVoYXZpb3Igb3IgZm9yIHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb3J3YXJkZWRWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IHNwZWNpZmllcyBob3cgQ2xvdWRGcm9udCBoYW5kbGVzIHF1ZXJ5IHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVlcnlTdHJpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0luZGljYXRlcyB3aGV0aGVyIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gZm9yd2FyZCBxdWVyeSBzdHJpbmdzIHRvIHRoZSBvcmlnaW4gdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBjYWNoZSBiZWhhdmlvci4gSWYgc28sIHNwZWNpZnkgdHJ1ZTsgaWYgbm90LCBzcGVjaWZ5IGZhbHNlLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IHNwZWNpZmllcyB0aGUgQVdTIGFjY291bnRzLCBpZiBhbnksIHRoYXQgeW91IHdhbnQgdG8gYWxsb3cgdG8gY3JlYXRlIHNpZ25lZCBVUkxzIGZvciBwcml2YXRlIGNvbnRlbnQuIElmIHlvdSB3YW50IHRvIHJlcXVpcmUgc2lnbmVkIFVSTHMgaW4gcmVxdWVzdHMgZm9yIG9iamVjdHMgaW4gdGhlIHRhcmdldCBvcmlnaW4gdGhhdCBtYXRjaCB0aGUgUGF0aFBhdHRlcm4gZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IsIHNwZWNpZnkgdHJ1ZSBmb3IgRW5hYmxlZCwgYW5kIHNwZWNpZnkgdGhlIGFwcGxpY2FibGUgdmFsdWVzIGZvciBRdWFudGl0eSBhbmQgSXRlbXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBnbyB0byBVc2luZyBhIFNpZ25lZCBVUkwgdG8gU2VydmUgUHJpdmF0ZSBDb250ZW50IGluIHRoZSBBbWF6b24gQ2xvdWRGcm9udCBEZXZlbG9wZXIgR3VpZGUuIElmIHlvdSBkb25cJ3Qgd2FudCB0byByZXF1aXJlIHNpZ25lZCBVUkxzIGluIHJlcXVlc3RzIGZvciBvYmplY3RzIHRoYXQgbWF0Y2ggUGF0aFBhdHRlcm4sIHNwZWNpZnkgZmFsc2UgZm9yIEVuYWJsZWQgYW5kIDAgZm9yIFF1YW50aXR5LiBPbWl0IEl0ZW1zLiBUbyBhZGQsIGNoYW5nZSwgb3IgcmVtb3ZlIG9uZSBvciBtb3JlIHRydXN0ZWQgc2lnbmVycywgY2hhbmdlIEVuYWJsZWQgdG8gdHJ1ZSAoaWYgaXRcJ3MgY3VycmVudGx5IGZhbHNlKSwgY2hhbmdlIFF1YW50aXR5IGFzIGFwcGxpY2FibGUsIGFuZCBzcGVjaWZ5IGFsbCBvZiB0aGUgdHJ1c3RlZCBzaWduZXJzIHRoYXQgeW91IHdhbnQgdG8gaW5jbHVkZSBpbiB0aGUgdXBkYXRlZCBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3BlY2lmaWVzIHdoZXRoZXIgeW91IHdhbnQgdG8gcmVxdWlyZSBlbmQgdXNlcnMgdG8gdXNlIHNpZ25lZCBVUkxzIHRvIGFjY2VzcyB0aGUgZmlsZXMgc3BlY2lmaWVkIGJ5IFBhdGhQYXR0ZXJuIGFuZCBUYXJnZXRPcmlnaW5JZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdPcHRpb25hbDogQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyB0cnVzdGVkIHNpZ25lcnMgZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IuIElmIFF1YW50aXR5IGlzIDAsIHlvdSBjYW4gb21pdCBJdGVtcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZpZXdlclByb3RvY29sUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVXNlIHRoaXMgZWxlbWVudCB0byBzcGVjaWZ5IHRoZSBwcm90b2NvbCB0aGF0IHVzZXJzIGNhbiB1c2UgdG8gYWNjZXNzIHRoZSBmaWxlcyBpbiB0aGUgb3JpZ2luIHNwZWNpZmllZCBieSBUYXJnZXRPcmlnaW5JZCB3aGVuIGEgcmVxdWVzdCBtYXRjaGVzIHRoZSBwYXRoIHBhdHRlcm4gaW4gUGF0aFBhdHRlcm4uIElmIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gYWxsb3cgZW5kIHVzZXJzIHRvIHVzZSBhbnkgYXZhaWxhYmxlIHByb3RvY29sLCBzcGVjaWZ5IGFsbG93LWFsbC4gSWYgeW91IHdhbnQgQ2xvdWRGcm9udCB0byByZXF1aXJlIEhUVFBTLCBzcGVjaWZ5IGh0dHBzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5UVEwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbWluaW11bSBhbW91bnQgb2YgdGltZSB0aGF0IHlvdSB3YW50IG9iamVjdHMgdG8gc3RheSBpbiBDbG91ZEZyb250IGNhY2hlcyBiZWZvcmUgQ2xvdWRGcm9udCBxdWVyaWVzIHlvdXIgb3JpZ2luIHRvIHNlZSB3aGV0aGVyIHRoZSBvYmplY3QgaGFzIGJlZW4gdXBkYXRlZC5Zb3UgY2FuIHNwZWNpZnkgYSB2YWx1ZSBmcm9tIDAgdG8gMywxNTMsNjAwLDAwMCBzZWNvbmRzICgxMDAgeWVhcnMpLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZUJlaGF2aW9ycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIHplcm8gb3IgbW9yZSBDYWNoZUJlaGF2aW9yIGVsZW1lbnRzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBjYWNoZSBiZWhhdmlvcnMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdPcHRpb25hbDogQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBjYWNoZSBiZWhhdmlvcnMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NhY2hlQmVoYXZpb3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBkZXNjcmliZXMgaG93IENsb3VkRnJvbnQgcHJvY2Vzc2VzIHJlcXVlc3RzLiBZb3UgY2FuIGNyZWF0ZSB1cCB0byAxMCBjYWNoZSBiZWhhdmlvcnMuWW91IG11c3QgY3JlYXRlIGF0IGxlYXN0IGFzIG1hbnkgY2FjaGUgYmVoYXZpb3JzIChpbmNsdWRpbmcgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IpIGFzIHlvdSBoYXZlIG9yaWdpbnMgaWYgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBkaXN0cmlidXRlIG9iamVjdHMgZnJvbSBhbGwgb2YgdGhlIG9yaWdpbnMuIEVhY2ggY2FjaGUgYmVoYXZpb3Igc3BlY2lmaWVzIHRoZSBvbmUgb3JpZ2luIGZyb20gd2hpY2ggeW91IHdhbnQgQ2xvdWRGcm9udCB0byBnZXQgb2JqZWN0cy4gSWYgeW91IGhhdmUgdHdvIG9yaWdpbnMgYW5kIG9ubHkgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IsIHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yIHdpbGwgY2F1c2UgQ2xvdWRGcm9udCB0byBnZXQgb2JqZWN0cyBmcm9tIG9uZSBvZiB0aGUgb3JpZ2lucywgYnV0IHRoZSBvdGhlciBvcmlnaW4gd2lsbCBuZXZlciBiZSB1c2VkLiBJZiB5b3UgZG9uXCd0IHdhbnQgdG8gc3BlY2lmeSBhbnkgY2FjaGUgYmVoYXZpb3JzLCBpbmNsdWRlIG9ubHkgYW4gZW1wdHkgQ2FjaGVCZWhhdmlvcnMgZWxlbWVudC4gRG9uXCd0IGluY2x1ZGUgYW4gZW1wdHkgQ2FjaGVCZWhhdmlvciBlbGVtZW50LCBvciBDbG91ZEZyb250IHJldHVybnMgYSBNYWxmb3JtZWRYTUwgZXJyb3IuIFRvIGRlbGV0ZSBhbGwgY2FjaGUgYmVoYXZpb3JzIGluIGFuIGV4aXN0aW5nIGRpc3RyaWJ1dGlvbiwgdXBkYXRlIHRoZSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbiBhbmQgaW5jbHVkZSBvbmx5IGFuIGVtcHR5IENhY2hlQmVoYXZpb3JzIGVsZW1lbnQuIFRvIGFkZCwgY2hhbmdlLCBvciByZW1vdmUgb25lIG9yIG1vcmUgY2FjaGUgYmVoYXZpb3JzLCB1cGRhdGUgdGhlIGRpc3RyaWJ1dGlvbiBjb25maWd1cmF0aW9uIGFuZCBzcGVjaWZ5IGFsbCBvZiB0aGUgY2FjaGUgYmVoYXZpb3JzIHRoYXQgeW91IHdhbnQgdG8gaW5jbHVkZSBpbiB0aGUgdXBkYXRlZCBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDYWNoZUJlaGF2aW9yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGF0aFBhdHRlcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgcGF0dGVybiAoZm9yIGV4YW1wbGUsIGltYWdlcy8qLmpwZykgdGhhdCBzcGVjaWZpZXMgd2hpY2ggcmVxdWVzdHMgeW91IHdhbnQgdGhpcyBjYWNoZSBiZWhhdmlvciB0byBhcHBseSB0by4gV2hlbiBDbG91ZEZyb250IHJlY2VpdmVzIGFuIGVuZC11c2VyIHJlcXVlc3QsIHRoZSByZXF1ZXN0ZWQgcGF0aCBpcyBjb21wYXJlZCB3aXRoIHBhdGggcGF0dGVybnMgaW4gdGhlIG9yZGVyIGluIHdoaWNoIGNhY2hlIGJlaGF2aW9ycyBhcmUgbGlzdGVkIGluIHRoZSBkaXN0cmlidXRpb24uIFRoZSBwYXRoIHBhdHRlcm4gZm9yIHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yIGlzICogYW5kIGNhbm5vdCBiZSBjaGFuZ2VkLiBJZiB0aGUgcmVxdWVzdCBmb3IgYW4gb2JqZWN0IGRvZXMgbm90IG1hdGNoIHRoZSBwYXRoIHBhdHRlcm4gZm9yIGFueSBjYWNoZSBiZWhhdmlvcnMsIENsb3VkRnJvbnQgYXBwbGllcyB0aGUgYmVoYXZpb3IgaW4gdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldE9yaWdpbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHZhbHVlIG9mIElEIGZvciB0aGUgb3JpZ2luIHRoYXQgeW91IHdhbnQgQ2xvdWRGcm9udCB0byByb3V0ZSByZXF1ZXN0cyB0byB3aGVuIGEgcmVxdWVzdCBtYXRjaGVzIHRoZSBwYXRoIHBhdHRlcm4gZWl0aGVyIGZvciBhIGNhY2hlIGJlaGF2aW9yIG9yIGZvciB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZGVkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBzcGVjaWZpZXMgaG93IENsb3VkRnJvbnQgaGFuZGxlcyBxdWVyeSBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1ZXJ5U3RyaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdJbmRpY2F0ZXMgd2hldGhlciB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGZvcndhcmQgcXVlcnkgc3RyaW5ncyB0byB0aGUgb3JpZ2luIHRoYXQgaXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY2FjaGUgYmVoYXZpb3IuIElmIHNvLCBzcGVjaWZ5IHRydWU7IGlmIG5vdCwgc3BlY2lmeSBmYWxzZS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBzcGVjaWZpZXMgdGhlIEFXUyBhY2NvdW50cywgaWYgYW55LCB0aGF0IHlvdSB3YW50IHRvIGFsbG93IHRvIGNyZWF0ZSBzaWduZWQgVVJMcyBmb3IgcHJpdmF0ZSBjb250ZW50LiBJZiB5b3Ugd2FudCB0byByZXF1aXJlIHNpZ25lZCBVUkxzIGluIHJlcXVlc3RzIGZvciBvYmplY3RzIGluIHRoZSB0YXJnZXQgb3JpZ2luIHRoYXQgbWF0Y2ggdGhlIFBhdGhQYXR0ZXJuIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLCBzcGVjaWZ5IHRydWUgZm9yIEVuYWJsZWQsIGFuZCBzcGVjaWZ5IHRoZSBhcHBsaWNhYmxlIHZhbHVlcyBmb3IgUXVhbnRpdHkgYW5kIEl0ZW1zLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZ28gdG8gVXNpbmcgYSBTaWduZWQgVVJMIHRvIFNlcnZlIFByaXZhdGUgQ29udGVudCBpbiB0aGUgQW1hem9uIENsb3VkRnJvbnQgRGV2ZWxvcGVyIEd1aWRlLiBJZiB5b3UgZG9uXCd0IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyB0aGF0IG1hdGNoIFBhdGhQYXR0ZXJuLCBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkIGFuZCAwIGZvciBRdWFudGl0eS4gT21pdCBJdGVtcy4gVG8gYWRkLCBjaGFuZ2UsIG9yIHJlbW92ZSBvbmUgb3IgbW9yZSB0cnVzdGVkIHNpZ25lcnMsIGNoYW5nZSBFbmFibGVkIHRvIHRydWUgKGlmIGl0XCdzIGN1cnJlbnRseSBmYWxzZSksIGNoYW5nZSBRdWFudGl0eSBhcyBhcHBsaWNhYmxlLCBhbmQgc3BlY2lmeSBhbGwgb2YgdGhlIHRydXN0ZWQgc2lnbmVycyB0aGF0IHlvdSB3YW50IHRvIGluY2x1ZGUgaW4gdGhlIHVwZGF0ZWQgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IHRvIHJlcXVpcmUgZW5kIHVzZXJzIHRvIHVzZSBzaWduZWQgVVJMcyB0byBhY2Nlc3MgdGhlIGZpbGVzIHNwZWNpZmllZCBieSBQYXRoUGF0dGVybiBhbmQgVGFyZ2V0T3JpZ2luSWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiB0cnVzdGVkIHNpZ25lcnMgZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaWV3ZXJQcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1VzZSB0aGlzIGVsZW1lbnQgdG8gc3BlY2lmeSB0aGUgcHJvdG9jb2wgdGhhdCB1c2VycyBjYW4gdXNlIHRvIGFjY2VzcyB0aGUgZmlsZXMgaW4gdGhlIG9yaWdpbiBzcGVjaWZpZWQgYnkgVGFyZ2V0T3JpZ2luSWQgd2hlbiBhIHJlcXVlc3QgbWF0Y2hlcyB0aGUgcGF0aCBwYXR0ZXJuIGluIFBhdGhQYXR0ZXJuLiBJZiB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGFsbG93IGVuZCB1c2VycyB0byB1c2UgYW55IGF2YWlsYWJsZSBwcm90b2NvbCwgc3BlY2lmeSBhbGxvdy1hbGwuIElmIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcmVxdWlyZSBIVFRQUywgc3BlY2lmeSBodHRwcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWluVFRMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG1pbmltdW0gYW1vdW50IG9mIHRpbWUgdGhhdCB5b3Ugd2FudCBvYmplY3RzIHRvIHN0YXkgaW4gQ2xvdWRGcm9udCBjYWNoZXMgYmVmb3JlIENsb3VkRnJvbnQgcXVlcmllcyB5b3VyIG9yaWdpbiB0byBzZWUgd2hldGhlciB0aGUgb2JqZWN0IGhhcyBiZWVuIHVwZGF0ZWQuWW91IGNhbiBzcGVjaWZ5IGEgdmFsdWUgZnJvbSAwIHRvIDMsMTUzLDYwMCwwMDAgc2Vjb25kcyAoMTAwIHllYXJzKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ29tbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBbnkgY29tbWVudHMgeW91IHdhbnQgdG8gaW5jbHVkZSBhYm91dCB0aGUgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdMb2dnaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udHJvbHMgd2hldGhlciBhY2Nlc3MgbG9ncyBhcmUgd3JpdHRlbiBmb3IgdGhlIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3BlY2lmaWVzIHdoZXRoZXIgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBzYXZlIGFjY2VzcyBsb2dzIHRvIGFuIEFtYXpvbiBTMyBidWNrZXQuIElmIHlvdSBkbyBub3Qgd2FudCB0byBlbmFibGUgbG9nZ2luZyB3aGVuIHlvdSBjcmVhdGUgYSBkaXN0cmlidXRpb24gb3IgaWYgeW91IHdhbnQgdG8gZGlzYWJsZSBsb2dnaW5nIGZvciBhbiBleGlzdGluZyBkaXN0cmlidXRpb24sIHNwZWNpZnkgZmFsc2UgZm9yIEVuYWJsZWQsIGFuZCBzcGVjaWZ5IGVtcHR5IEJ1Y2tldCBhbmQgUHJlZml4IGVsZW1lbnRzLiBJZiB5b3Ugc3BlY2lmeSBmYWxzZSBmb3IgRW5hYmxlZCBidXQgeW91IHNwZWNpZnkgdmFsdWVzIGZvciBCdWNrZXQgYW5kIFByZWZpeCwgdGhlIHZhbHVlcyBhcmUgYXV0b21hdGljYWxseSBkZWxldGVkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIEFtYXpvbiBTMyBidWNrZXQgdG8gc3RvcmUgdGhlIGFjY2VzcyBsb2dzIGluLCBmb3IgZXhhbXBsZSwgbXlhd3Nsb2didWNrZXQuczMuYW1hem9uYXdzLmNvbS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQW4gb3B0aW9uYWwgc3RyaW5nIHRoYXQgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBwcmVmaXggdG8gdGhlIGFjY2VzcyBsb2cgZmlsZW5hbWVzIGZvciB0aGlzIGRpc3RyaWJ1dGlvbiwgZm9yIGV4YW1wbGUsIG15cHJlZml4Ly4gSWYgeW91IHdhbnQgdG8gZW5hYmxlIGxvZ2dpbmcsIGJ1dCB5b3UgZG8gbm90IHdhbnQgdG8gc3BlY2lmeSBhIHByZWZpeCwgeW91IHN0aWxsIG11c3QgaW5jbHVkZSBhbiBlbXB0eSBQcmVmaXggZWxlbWVudCBpbiB0aGUgTG9nZ2luZyBlbGVtZW50LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnV2hldGhlciB0aGUgZGlzdHJpYnV0aW9uIGlzIGVuYWJsZWQgdG8gYWNjZXB0IGVuZCB1c2VyIHJlcXVlc3RzIGZvciBjb250ZW50LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgZnVsbHkgcXVhbGlmaWVkIFVSSSBvZiB0aGUgbmV3IGRpc3RyaWJ1dGlvbiByZXNvdXJjZSBqdXN0IGNyZWF0ZWQuIEZvciBleGFtcGxlOiBodHRwczovL2Nsb3VkZnJvbnQuYW1hem9uYXdzLmNvbS8yMDEwLTExLTAxL2Rpc3RyaWJ1dGlvbi9FREZEVkJENjMyQkhEUzUuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgZGlzdHJpYnV0aW9uIGNyZWF0ZWQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdSZXF1ZXN0IElEIG9mIHRoZSBvcGVyYXRpb24nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVJbnZhbGlkYXRpb25SZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0xvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgZnVsbHkgcXVhbGlmaWVkIFVSSSBvZiB0aGUgZGlzdHJpYnV0aW9uIGFuZCBpbnZhbGlkYXRpb24gYmF0Y2ggcmVxdWVzdCwgaW5jbHVkaW5nIHRoZSBJbnZhbGlkYXRpb24gSUQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBpZGVudGlmaWVyIGZvciB0aGUgaW52YWxpZGF0aW9uIHJlcXVlc3QuIEZvciBleGFtcGxlOiBJREZEVkJENjMyQkhEUzUuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgc3RhdHVzIG9mIHRoZSBpbnZhbGlkYXRpb24gcmVxdWVzdC4gV2hlbiB0aGUgaW52YWxpZGF0aW9uIGJhdGNoIGlzIGZpbmlzaGVkLCB0aGUgc3RhdHVzIGlzIENvbXBsZXRlZC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDcmVhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgZGF0ZSBhbmQgdGltZSB0aGUgaW52YWxpZGF0aW9uIHJlcXVlc3Qgd2FzIGZpcnN0IG1hZGUuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW52YWxpZGF0aW9uQmF0Y2gnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBjdXJyZW50IGludmFsaWRhdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIGJhdGNoIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdQYXRocycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgcGF0aCBvZiB0aGUgb2JqZWN0IHRvIGludmFsaWRhdGUuIFRoZSBwYXRoIGlzIHJlbGF0aXZlIHRvIHRoZSBkaXN0cmlidXRpb24gYW5kIG11c3QgYmVnaW4gd2l0aCBhIHNsYXNoICgvKS4gWW91IG11c3QgZW5jbG9zZSBlYWNoIGludmFsaWRhdGlvbiBvYmplY3Qgd2l0aCB0aGUgUGF0aCBlbGVtZW50IHRhZ3MuIElmIHRoZSBwYXRoIGluY2x1ZGVzIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIG9yIHVuc2FmZSBjaGFyYWN0ZXJzIGFzIGRlZmluZWQgaW4gUkZDIDE3ODMgKGh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzE3MzgudHh0KSwgVVJMIGVuY29kZSB0aG9zZSBjaGFyYWN0ZXJzLiBEbyBub3QgVVJMIGVuY29kZSBhbnkgb3RoZXIgY2hhcmFjdGVycyBpbiB0aGUgcGF0aCwgb3IgQ2xvdWRGcm9udCB3aWxsIG5vdCBpbnZhbGlkYXRlIHRoZSBvbGQgdmVyc2lvbiBvZiB0aGUgdXBkYXRlZCBvYmplY3QuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIG9iamVjdHMgdGhhdCB5b3Ugd2FudCB0byBpbnZhbGlkYXRlLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgb2JqZWN0cyB0aGF0IHlvdSB3YW50IHRvIGludmFsaWRhdGUuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1BhdGgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1BhdGgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FsbGVyUmVmZXJlbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgdW5pcXVlIG5hbWUgdGhhdCBlbnN1cmVzIHRoZSByZXF1ZXN0IGNhblwndCBiZSByZXBsYXllZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBuZXcgKG5vIG1hdHRlciB0aGUgY29udGVudCBvZiB0aGUgUGF0aCBvYmplY3QpLCBhIG5ldyBkaXN0cmlidXRpb24gaXMgY3JlYXRlZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhbiBpbnZhbGlkYXRpb24gYmF0Y2gsIGFuZCB0aGUgY29udGVudCBvZiBlYWNoIFBhdGggZWxlbWVudCBpcyBpZGVudGljYWwgdG8gdGhlIG9yaWdpbmFsIHJlcXVlc3QsIHRoZSByZXNwb25zZSBpbmNsdWRlcyB0aGUgc2FtZSBpbmZvcm1hdGlvbiByZXR1cm5lZCB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhIGRpc3RyaWJ1dGlvbiBidXQgdGhlIGNvbnRlbnQgb2YgYW55IFBhdGggaXMgZGlmZmVyZW50IGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QsIENsb3VkRnJvbnQgcmV0dXJucyBhbiBJbnZhbGlkYXRpb25CYXRjaEFscmVhZHlFeGlzdHMgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1JlcXVlc3QgSUQgb2YgdGhlIG9wZXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVN0cmVhbWluZ0Rpc3RyaWJ1dGlvblJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBpZGVudGlmaWVyIGZvciB0aGUgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbi4gRm9yIGV4YW1wbGU6IEVHVFhCRDc5SDI5VFJBOC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbi4gV2hlbiB0aGUgc3RhdHVzIGlzIERlcGxveWVkLCB0aGUgZGlzdHJpYnV0aW9uXCdzIGluZm9ybWF0aW9uIGlzIGZ1bGx5IHByb3BhZ2F0ZWQgdGhyb3VnaG91dCB0aGUgQW1hem9uIENsb3VkRnJvbnQgc3lzdGVtLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhc3RNb2RpZmllZFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBkYXRlIGFuZCB0aW1lIHRoZSBkaXN0cmlidXRpb24gd2FzIGxhc3QgbW9kaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGRvbWFpbiBuYW1lIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHN0cmVhbWluZyBkaXN0cmlidXRpb24uIEZvciBleGFtcGxlOiBzNWMzOWdxYjhvdzY0ci5jbG91ZGZyb250Lm5ldC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBY3RpdmVUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQ2xvdWRGcm9udCBhdXRvbWF0aWNhbGx5IGFkZHMgdGhpcyBlbGVtZW50IHRvIHRoZSByZXNwb25zZSBvbmx5IGlmIHlvdVwndmUgc2V0IHVwIHRoZSBkaXN0cmlidXRpb24gdG8gc2VydmUgcHJpdmF0ZSBjb250ZW50IHdpdGggc2lnbmVkIFVSTHMuIFRoZSBlbGVtZW50IGxpc3RzIHRoZSBrZXkgcGFpciBJRHMgdGhhdCBDbG91ZEZyb250IGlzIGF3YXJlIG9mIGZvciBlYWNoIHRydXN0ZWQgc2lnbmVyLiBUaGUgU2lnbmVyIGNoaWxkIGVsZW1lbnQgbGlzdHMgdGhlIEFXUyBhY2NvdW50IG51bWJlciBvZiB0aGUgdHJ1c3RlZCBzaWduZXIgKG9yIGFuIGVtcHR5IFNlbGYgZWxlbWVudCBpZiB0aGUgc2lnbmVyIGlzIHlvdSkuIFRoZSBTaWduZXIgZWxlbWVudCBhbHNvIGluY2x1ZGVzIHRoZSBJRHMgb2YgYW55IGFjdGl2ZSBrZXkgcGFpcnMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0cnVzdGVkIHNpZ25lclwncyBBV1MgYWNjb3VudC4gSWYgbm8gS2V5UGFpcklkIGVsZW1lbnQgYXBwZWFycyBmb3IgYSBTaWduZXIsIHRoYXQgc2lnbmVyIGNhblwndCBjcmVhdGUgd29ya2luZyBzaWduZWQgVVJMcy4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnRWFjaCBhY3RpdmUgdHJ1c3RlZCBzaWduZXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIHVuaXF1ZSB0cnVzdGVkIHNpZ25lcnMgaW5jbHVkZWQgaW4gYWxsIGNhY2hlIGJlaGF2aW9ycy4gRm9yIGV4YW1wbGUsIGlmIHRocmVlIGNhY2hlIGJlaGF2aW9ycyBhbGwgbGlzdCB0aGUgc2FtZSB0aHJlZSBBV1MgYWNjb3VudHMsIHRoZSB2YWx1ZSBvZiBRdWFudGl0eSBmb3IgQWN0aXZlVHJ1c3RlZFNpZ25lcnMgd2lsbCBiZSAzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBvbmUgU2lnbmVyIGNvbXBsZXggdHlwZSBmb3IgZWFjaCB1bmlxdWUgdHJ1c3RlZCBzaWduZXIgdGhhdCBpcyBzcGVjaWZpZWQgaW4gdGhlIFRydXN0ZWRTaWduZXJzIGNvbXBsZXggdHlwZSwgaW5jbHVkaW5nIHRydXN0ZWQgc2lnbmVycyBpbiB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvciBhbmQgaW4gYWxsIG9mIHRoZSBvdGhlciBjYWNoZSBiZWhhdmlvcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NpZ25lcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBsaXN0cyB0aGUgQVdTIGFjY291bnRzIHRoYXQgd2VyZSBpbmNsdWRlZCBpbiB0aGUgVHJ1c3RlZFNpZ25lcnMgY29tcGxleCB0eXBlLCBhcyB3ZWxsIGFzIHRoZWlyIGFjdGl2ZSBDbG91ZEZyb250IGtleSBwYWlyIElEcywgaWYgYW55LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTaWduZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F3c0FjY291bnROdW1iZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3BlY2lmaWVzIGFuIEFXUyBhY2NvdW50IHRoYXQgY2FuIGNyZWF0ZSBzaWduZWQgVVJMcy4gVmFsdWVzOiBzZWxmLCB3aGljaCBpbmRpY2F0ZXMgdGhhdCB0aGUgQVdTIGFjY291bnQgdGhhdCB3YXMgdXNlZCB0byBjcmVhdGUgdGhlIGRpc3RyaWJ1dGlvbiBjYW4gY3JlYXRlZCBzaWduZWQgVVJMcywgb3IgYW4gQVdTIGFjY291bnQgbnVtYmVyLiBPbWl0IHRoZSBkYXNoZXMgaW4gdGhlIGFjY291bnQgbnVtYmVyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlQYWlySWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgbGlzdHMgdGhlIGFjdGl2ZSBDbG91ZEZyb250IGtleSBwYWlycywgaWYgYW55LCB0aGF0IGFyZSBhc3NvY2lhdGVkIHdpdGggQXdzQWNjb3VudE51bWJlci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgYWN0aXZlIENsb3VkRnJvbnQga2V5IHBhaXJzIGZvciBBd3NBY2NvdW50TnVtYmVyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGxpc3RzIHRoZSBhY3RpdmUgQ2xvdWRGcm9udCBrZXkgcGFpcnMsIGlmIGFueSwgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIEF3c0FjY291bnROdW1iZXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0tleVBhaXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnS2V5UGFpcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdHJlYW1pbmdEaXN0cmlidXRpb25Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FsbGVyUmVmZXJlbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgdW5pcXVlIG51bWJlciB0aGF0IGVuc3VyZXMgdGhlIHJlcXVlc3QgY2FuXCd0IGJlIHJlcGxheWVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIG5ldyAobm8gbWF0dGVyIHRoZSBjb250ZW50IG9mIHRoZSBTdHJlYW1pbmdEaXN0cmlidXRpb25Db25maWcgb2JqZWN0KSwgYSBuZXcgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbiBpcyBjcmVhdGVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGEgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbiwgYW5kIHRoZSBjb250ZW50IG9mIHRoZSBTdHJlYW1pbmdEaXN0cmlidXRpb25Db25maWcgaXMgaWRlbnRpY2FsIHRvIHRoZSBvcmlnaW5hbCByZXF1ZXN0IChpZ25vcmluZyB3aGl0ZSBzcGFjZSksIHRoZSByZXNwb25zZSBpbmNsdWRlcyB0aGUgc2FtZSBpbmZvcm1hdGlvbiByZXR1cm5lZCB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhIHN0cmVhbWluZyBkaXN0cmlidXRpb24gYnV0IHRoZSBjb250ZW50IG9mIHRoZSBTdHJlYW1pbmdEaXN0cmlidXRpb25Db25maWcgaXMgZGlmZmVyZW50IGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QsIENsb3VkRnJvbnQgcmV0dXJucyBhIERpc3RyaWJ1dGlvbkFscmVhZHlFeGlzdHMgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1MzT3JpZ2luJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIEFtYXpvbiBTMyBidWNrZXQgZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCB5b3VyIG1lZGlhIGZpbGVzIGZvciBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBETlMgbmFtZSBvZiB0aGUgUzMgb3JpZ2luLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1lvdXIgUzMgb3JpZ2luXCdzIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQWxpYXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IENOQU1FcyAoYWx0ZXJuYXRlIGRvbWFpbiBuYW1lcyksIGlmIGFueSwgZm9yIHRoaXMgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgQ05BTUVzLCBpZiBhbnksIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgQ05BTUUgZWxlbWVudHMsIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FueSBjb21tZW50cyB5b3Ugd2FudCB0byBpbmNsdWRlIGFib3V0IHRoZSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdMb2dnaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udHJvbHMgd2hldGhlciBhY2Nlc3MgbG9ncyBhcmUgd3JpdHRlbiBmb3IgdGhlIHN0cmVhbWluZyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gc2F2ZSBhY2Nlc3MgbG9ncyB0byBhbiBBbWF6b24gUzMgYnVja2V0LiBJZiB5b3UgZG8gbm90IHdhbnQgdG8gZW5hYmxlIGxvZ2dpbmcgd2hlbiB5b3UgY3JlYXRlIGEgZGlzdHJpYnV0aW9uIG9yIGlmIHlvdSB3YW50IHRvIGRpc2FibGUgbG9nZ2luZyBmb3IgYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkLCBhbmQgc3BlY2lmeSBlbXB0eSBCdWNrZXQgYW5kIFByZWZpeCBlbGVtZW50cy4gSWYgeW91IHNwZWNpZnkgZmFsc2UgZm9yIEVuYWJsZWQgYnV0IHlvdSBzcGVjaWZ5IHZhbHVlcyBmb3IgQnVja2V0IGFuZCBQcmVmaXgsIHRoZSB2YWx1ZXMgYXJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBbWF6b24gUzMgYnVja2V0IHRvIHN0b3JlIHRoZSBhY2Nlc3MgbG9ncyBpbiwgZm9yIGV4YW1wbGUsIG15YXdzbG9nYnVja2V0LnMzLmFtYXpvbmF3cy5jb20uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FuIG9wdGlvbmFsIHN0cmluZyB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcHJlZml4IHRvIHRoZSBhY2Nlc3MgbG9nIGZpbGVuYW1lcyBmb3IgdGhpcyBkaXN0cmlidXRpb24sIGZvciBleGFtcGxlLCBteXByZWZpeC8uIElmIHlvdSB3YW50IHRvIGVuYWJsZSBsb2dnaW5nLCBidXQgeW91IGRvIG5vdCB3YW50IHRvIHNwZWNpZnkgYSBwcmVmaXgsIHlvdSBzdGlsbCBtdXN0IGluY2x1ZGUgYW4gZW1wdHkgUHJlZml4IGVsZW1lbnQgaW4gdGhlIExvZ2dpbmcgZWxlbWVudC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IHNwZWNpZmllcyB0aGUgQVdTIGFjY291bnRzLCBpZiBhbnksIHRoYXQgeW91IHdhbnQgdG8gYWxsb3cgdG8gY3JlYXRlIHNpZ25lZCBVUkxzIGZvciBwcml2YXRlIGNvbnRlbnQuIElmIHlvdSB3YW50IHRvIHJlcXVpcmUgc2lnbmVkIFVSTHMgaW4gcmVxdWVzdHMgZm9yIG9iamVjdHMgaW4gdGhlIHRhcmdldCBvcmlnaW4gdGhhdCBtYXRjaCB0aGUgUGF0aFBhdHRlcm4gZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IsIHNwZWNpZnkgdHJ1ZSBmb3IgRW5hYmxlZCwgYW5kIHNwZWNpZnkgdGhlIGFwcGxpY2FibGUgdmFsdWVzIGZvciBRdWFudGl0eSBhbmQgSXRlbXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBnbyB0byBVc2luZyBhIFNpZ25lZCBVUkwgdG8gU2VydmUgUHJpdmF0ZSBDb250ZW50IGluIHRoZSBBbWF6b24gQ2xvdWRGcm9udCBEZXZlbG9wZXIgR3VpZGUuIElmIHlvdSBkb25cJ3Qgd2FudCB0byByZXF1aXJlIHNpZ25lZCBVUkxzIGluIHJlcXVlc3RzIGZvciBvYmplY3RzIHRoYXQgbWF0Y2ggUGF0aFBhdHRlcm4sIHNwZWNpZnkgZmFsc2UgZm9yIEVuYWJsZWQgYW5kIDAgZm9yIFF1YW50aXR5LiBPbWl0IEl0ZW1zLiBUbyBhZGQsIGNoYW5nZSwgb3IgcmVtb3ZlIG9uZSBvciBtb3JlIHRydXN0ZWQgc2lnbmVycywgY2hhbmdlIEVuYWJsZWQgdG8gdHJ1ZSAoaWYgaXRcJ3MgY3VycmVudGx5IGZhbHNlKSwgY2hhbmdlIFF1YW50aXR5IGFzIGFwcGxpY2FibGUsIGFuZCBzcGVjaWZ5IGFsbCBvZiB0aGUgdHJ1c3RlZCBzaWduZXJzIHRoYXQgeW91IHdhbnQgdG8gaW5jbHVkZSBpbiB0aGUgdXBkYXRlZCBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IHRvIHJlcXVpcmUgZW5kIHVzZXJzIHRvIHVzZSBzaWduZWQgVVJMcyB0byBhY2Nlc3MgdGhlIGZpbGVzIHNwZWNpZmllZCBieSBQYXRoUGF0dGVybiBhbmQgVGFyZ2V0T3JpZ2luSWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdPcHRpb25hbDogQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyB0cnVzdGVkIHNpZ25lcnMgZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IuIElmIFF1YW50aXR5IGlzIDAsIHlvdSBjYW4gb21pdCBJdGVtcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1doZXRoZXIgdGhlIHN0cmVhbWluZyBkaXN0cmlidXRpb24gaXMgZW5hYmxlZCB0byBhY2NlcHQgZW5kIHVzZXIgcmVxdWVzdHMgZm9yIGNvbnRlbnQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9jYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBmdWxseSBxdWFsaWZpZWQgVVJJIG9mIHRoZSBuZXcgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbiByZXNvdXJjZSBqdXN0IGNyZWF0ZWQuIEZvciBleGFtcGxlOiBodHRwczovL2Nsb3VkZnJvbnQuYW1hem9uYXdzLmNvbS8yMDEwLTExLTAxL3N0cmVhbWluZy1kaXN0cmlidXRpb24vRUdUWEJENzlIMjlUUkE4LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VUYWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHN0cmVhbWluZyBkaXN0cmlidXRpb24gY3JlYXRlZC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1JlcXVlc3QgSUQgb2YgdGhlIG9wZXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eTIwMTJfMDVfMDVPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnUmVxdWVzdCBJRCBvZiB0aGUgb3BlcmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlRGlzdHJpYnV0aW9uMjAxMl8wNV8wNU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdSZXF1ZXN0IElEIG9mIHRoZSBvcGVyYXRpb24nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVTdHJlYW1pbmdEaXN0cmlidXRpb24yMDEyXzA1XzA1T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1JlcXVlc3QgSUQgb2YgdGhlIG9wZXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eVJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBJRCBmb3IgdGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkuIEZvciBleGFtcGxlOiBFNzRGVEUzQUpGSjI1NkEuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUzNDYW5vbmljYWxVc2VySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBbWF6b24gUzMgY2Fub25pY2FsIHVzZXIgSUQgZm9yIHRoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LCB3aGljaCB5b3UgdXNlIHdoZW4gZ2l2aW5nIHRoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5IHJlYWQgcGVybWlzc2lvbiB0byBhbiBvYmplY3QgaW4gQW1hem9uIFMzLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Nsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIGlkZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FsbGVyUmVmZXJlbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgdW5pcXVlIG51bWJlciB0aGF0IGVuc3VyZXMgdGhlIHJlcXVlc3QgY2FuXCd0IGJlIHJlcGxheWVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIG5ldyAobm8gbWF0dGVyIHRoZSBjb250ZW50IG9mIHRoZSBDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlDb25maWcgb2JqZWN0KSwgYSBuZXcgb3JpZ2luIGFjY2VzcyBpZGVudGl0eSBpcyBjcmVhdGVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGFuIGlkZW50aXR5LCBhbmQgdGhlIGNvbnRlbnQgb2YgdGhlIENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUNvbmZpZyBpcyBpZGVudGljYWwgdG8gdGhlIG9yaWdpbmFsIHJlcXVlc3QgKGlnbm9yaW5nIHdoaXRlIHNwYWNlKSwgdGhlIHJlc3BvbnNlIGluY2x1ZGVzIHRoZSBzYW1lIGluZm9ybWF0aW9uIHJldHVybmVkIHRvIHRoZSBvcmlnaW5hbCByZXF1ZXN0LiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGFuIGlkZW50aXR5IGJ1dCB0aGUgY29udGVudCBvZiB0aGUgQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LCBDbG91ZEZyb250IHJldHVybnMgYSBDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlBbHJlYWR5RXhpc3RzIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FueSBjb21tZW50cyB5b3Ugd2FudCB0byBpbmNsdWRlIGFib3V0IHRoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgb3JpZ2luIGFjY2VzcyBpZGVudGl0eVwncyBpbmZvcm1hdGlvbi4gRm9yIGV4YW1wbGU6IEUyUVdSVUhBUE9NUVpMLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnUmVxdWVzdCBJRCBvZiB0aGUgb3BlcmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0Q2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgdW5pcXVlIG51bWJlciB0aGF0IGVuc3VyZXMgdGhlIHJlcXVlc3QgY2FuXCd0IGJlIHJlcGxheWVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIG5ldyAobm8gbWF0dGVyIHRoZSBjb250ZW50IG9mIHRoZSBDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlDb25maWcgb2JqZWN0KSwgYSBuZXcgb3JpZ2luIGFjY2VzcyBpZGVudGl0eSBpcyBjcmVhdGVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGFuIGlkZW50aXR5LCBhbmQgdGhlIGNvbnRlbnQgb2YgdGhlIENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUNvbmZpZyBpcyBpZGVudGljYWwgdG8gdGhlIG9yaWdpbmFsIHJlcXVlc3QgKGlnbm9yaW5nIHdoaXRlIHNwYWNlKSwgdGhlIHJlc3BvbnNlIGluY2x1ZGVzIHRoZSBzYW1lIGluZm9ybWF0aW9uIHJldHVybmVkIHRvIHRoZSBvcmlnaW5hbCByZXF1ZXN0LiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGFuIGlkZW50aXR5IGJ1dCB0aGUgY29udGVudCBvZiB0aGUgQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LCBDbG91ZEZyb250IHJldHVybnMgYSBDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlBbHJlYWR5RXhpc3RzIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FueSBjb21tZW50cyB5b3Ugd2FudCB0byBpbmNsdWRlIGFib3V0IHRoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VUYWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIGNvbmZpZ3VyYXRpb24uIEZvciBleGFtcGxlOiBFMlFXUlVIQVBPTVFaTC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1JlcXVlc3QgSUQgb2YgdGhlIG9wZXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldERpc3RyaWJ1dGlvblJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBpZGVudGlmaWVyIGZvciB0aGUgZGlzdHJpYnV0aW9uLiBGb3IgZXhhbXBsZTogRURGRFZCRDYzMkJIRFM1LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhpcyByZXNwb25zZSBlbGVtZW50IGluZGljYXRlcyB0aGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIGRpc3RyaWJ1dGlvbi4gV2hlbiB0aGUgc3RhdHVzIGlzIERlcGxveWVkLCB0aGUgZGlzdHJpYnV0aW9uXCdzIGluZm9ybWF0aW9uIGlzIGZ1bGx5IHByb3BhZ2F0ZWQgdGhyb3VnaG91dCB0aGUgQW1hem9uIENsb3VkRnJvbnQgc3lzdGVtLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhc3RNb2RpZmllZFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBkYXRlIGFuZCB0aW1lIHRoZSBkaXN0cmlidXRpb24gd2FzIGxhc3QgbW9kaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5Qcm9ncmVzc0ludmFsaWRhdGlvbkJhdGNoZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgaW52YWxpZGF0aW9uIGJhdGNoZXMgY3VycmVudGx5IGluIHByb2dyZXNzLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgZG9tYWluIG5hbWUgY29ycmVzcG9uZGluZyB0byB0aGUgZGlzdHJpYnV0aW9uLiBGb3IgZXhhbXBsZTogZDYwNDcyMWZ4YWFxeTkuY2xvdWRmcm9udC5uZXQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWN0aXZlVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Nsb3VkRnJvbnQgYXV0b21hdGljYWxseSBhZGRzIHRoaXMgZWxlbWVudCB0byB0aGUgcmVzcG9uc2Ugb25seSBpZiB5b3VcJ3ZlIHNldCB1cCB0aGUgZGlzdHJpYnV0aW9uIHRvIHNlcnZlIHByaXZhdGUgY29udGVudCB3aXRoIHNpZ25lZCBVUkxzLiBUaGUgZWxlbWVudCBsaXN0cyB0aGUga2V5IHBhaXIgSURzIHRoYXQgQ2xvdWRGcm9udCBpcyBhd2FyZSBvZiBmb3IgZWFjaCB0cnVzdGVkIHNpZ25lci4gVGhlIFNpZ25lciBjaGlsZCBlbGVtZW50IGxpc3RzIHRoZSBBV1MgYWNjb3VudCBudW1iZXIgb2YgdGhlIHRydXN0ZWQgc2lnbmVyIChvciBhbiBlbXB0eSBTZWxmIGVsZW1lbnQgaWYgdGhlIHNpZ25lciBpcyB5b3UpLiBUaGUgU2lnbmVyIGVsZW1lbnQgYWxzbyBpbmNsdWRlcyB0aGUgSURzIG9mIGFueSBhY3RpdmUga2V5IHBhaXJzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdHJ1c3RlZCBzaWduZXJcJ3MgQVdTIGFjY291bnQuIElmIG5vIEtleVBhaXJJZCBlbGVtZW50IGFwcGVhcnMgZm9yIGEgU2lnbmVyLCB0aGF0IHNpZ25lciBjYW5cJ3QgY3JlYXRlIHdvcmtpbmcgc2lnbmVkIFVSTHMuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0VhY2ggYWN0aXZlIHRydXN0ZWQgc2lnbmVyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiB1bmlxdWUgdHJ1c3RlZCBzaWduZXJzIGluY2x1ZGVkIGluIGFsbCBjYWNoZSBiZWhhdmlvcnMuIEZvciBleGFtcGxlLCBpZiB0aHJlZSBjYWNoZSBiZWhhdmlvcnMgYWxsIGxpc3QgdGhlIHNhbWUgdGhyZWUgQVdTIGFjY291bnRzLCB0aGUgdmFsdWUgb2YgUXVhbnRpdHkgZm9yIEFjdGl2ZVRydXN0ZWRTaWduZXJzIHdpbGwgYmUgMy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgb25lIFNpZ25lciBjb21wbGV4IHR5cGUgZm9yIGVhY2ggdW5pcXVlIHRydXN0ZWQgc2lnbmVyIHRoYXQgaXMgc3BlY2lmaWVkIGluIHRoZSBUcnVzdGVkU2lnbmVycyBjb21wbGV4IHR5cGUsIGluY2x1ZGluZyB0cnVzdGVkIHNpZ25lcnMgaW4gdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IgYW5kIGluIGFsbCBvZiB0aGUgb3RoZXIgY2FjaGUgYmVoYXZpb3JzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTaWduZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgbGlzdHMgdGhlIEFXUyBhY2NvdW50cyB0aGF0IHdlcmUgaW5jbHVkZWQgaW4gdGhlIFRydXN0ZWRTaWduZXJzIGNvbXBsZXggdHlwZSwgYXMgd2VsbCBhcyB0aGVpciBhY3RpdmUgQ2xvdWRGcm9udCBrZXkgcGFpciBJRHMsIGlmIGFueS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2lnbmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBd3NBY2NvdW50TnVtYmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyBhbiBBV1MgYWNjb3VudCB0aGF0IGNhbiBjcmVhdGUgc2lnbmVkIFVSTHMuIFZhbHVlczogc2VsZiwgd2hpY2ggaW5kaWNhdGVzIHRoYXQgdGhlIEFXUyBhY2NvdW50IHRoYXQgd2FzIHVzZWQgdG8gY3JlYXRlIHRoZSBkaXN0cmlidXRpb24gY2FuIGNyZWF0ZWQgc2lnbmVkIFVSTHMsIG9yIGFuIEFXUyBhY2NvdW50IG51bWJlci4gT21pdCB0aGUgZGFzaGVzIGluIHRoZSBhY2NvdW50IG51bWJlci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5UGFpcklkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGxpc3RzIHRoZSBhY3RpdmUgQ2xvdWRGcm9udCBrZXkgcGFpcnMsIGlmIGFueSwgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIEF3c0FjY291bnROdW1iZXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIGFjdGl2ZSBDbG91ZEZyb250IGtleSBwYWlycyBmb3IgQXdzQWNjb3VudE51bWJlci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBsaXN0cyB0aGUgYWN0aXZlIENsb3VkRnJvbnQga2V5IHBhaXJzLCBpZiBhbnksIHRoYXQgYXJlIGFzc29jaWF0ZWQgd2l0aCBBd3NBY2NvdW50TnVtYmVyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlQYWlySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0tleVBhaXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGlzdHJpYnV0aW9uQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgY3VycmVudCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FsbGVyUmVmZXJlbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgdW5pcXVlIG51bWJlciB0aGF0IGVuc3VyZXMgdGhlIHJlcXVlc3QgY2FuXCd0IGJlIHJlcGxheWVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIG5ldyAobm8gbWF0dGVyIHRoZSBjb250ZW50IG9mIHRoZSBEaXN0cmlidXRpb25Db25maWcgb2JqZWN0KSwgYSBuZXcgZGlzdHJpYnV0aW9uIGlzIGNyZWF0ZWQuIElmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgYSB2YWx1ZSB5b3UgYWxyZWFkeSBzZW50IGluIGEgcHJldmlvdXMgcmVxdWVzdCB0byBjcmVhdGUgYSBkaXN0cmlidXRpb24sIGFuZCB0aGUgY29udGVudCBvZiB0aGUgRGlzdHJpYnV0aW9uQ29uZmlnIGlzIGlkZW50aWNhbCB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdCAoaWdub3Jpbmcgd2hpdGUgc3BhY2UpLCB0aGUgcmVzcG9uc2UgaW5jbHVkZXMgdGhlIHNhbWUgaW5mb3JtYXRpb24gcmV0dXJuZWQgdG8gdGhlIG9yaWdpbmFsIHJlcXVlc3QuIElmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgYSB2YWx1ZSB5b3UgYWxyZWFkeSBzZW50IGluIGEgcHJldmlvdXMgcmVxdWVzdCB0byBjcmVhdGUgYSBkaXN0cmlidXRpb24gYnV0IHRoZSBjb250ZW50IG9mIHRoZSBEaXN0cmlidXRpb25Db25maWcgaXMgZGlmZmVyZW50IGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QsIENsb3VkRnJvbnQgcmV0dXJucyBhIERpc3RyaWJ1dGlvbkFscmVhZHlFeGlzdHMgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FsaWFzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCBDTkFNRXMgKGFsdGVybmF0ZSBkb21haW4gbmFtZXMpLCBpZiBhbnksIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgQ05BTUVzLCBpZiBhbnksIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgQ05BTUUgZWxlbWVudHMsIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0Um9vdE9iamVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgb2JqZWN0IHRoYXQgeW91IHdhbnQgQ2xvdWRGcm9udCB0byByZXR1cm4gKGZvciBleGFtcGxlLCBpbmRleC5odG1sKSB3aGVuIGFuIGVuZCB1c2VyIHJlcXVlc3RzIHRoZSByb290IFVSTCBmb3IgeW91ciBkaXN0cmlidXRpb24gKGh0dHA6Ly93d3cuZXhhbXBsZS5jb20pIGluc3RlYWQgb2YgYW4gb2JqZWN0IGluIHlvdXIgZGlzdHJpYnV0aW9uIChodHRwOi8vd3d3LmV4YW1wbGUuY29tL2luZGV4Lmh0bWwpLiBTcGVjaWZ5aW5nIGEgZGVmYXVsdCByb290IG9iamVjdCBhdm9pZHMgZXhwb3NpbmcgdGhlIGNvbnRlbnRzIG9mIHlvdXIgZGlzdHJpYnV0aW9uLiBJZiB5b3UgZG9uXCd0IHdhbnQgdG8gc3BlY2lmeSBhIGRlZmF1bHQgcm9vdCBvYmplY3Qgd2hlbiB5b3UgY3JlYXRlIGEgZGlzdHJpYnV0aW9uLCBpbmNsdWRlIGFuIGVtcHR5IERlZmF1bHRSb290T2JqZWN0IGVsZW1lbnQuIFRvIGRlbGV0ZSB0aGUgZGVmYXVsdCByb290IG9iamVjdCBmcm9tIGFuIGV4aXN0aW5nIGRpc3RyaWJ1dGlvbiwgdXBkYXRlIHRoZSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbiBhbmQgaW5jbHVkZSBhbiBlbXB0eSBEZWZhdWx0Um9vdE9iamVjdCBlbGVtZW50LiBUbyByZXBsYWNlIHRoZSBkZWZhdWx0IHJvb3Qgb2JqZWN0LCB1cGRhdGUgdGhlIGRpc3RyaWJ1dGlvbiBjb25maWd1cmF0aW9uIGFuZCBzcGVjaWZ5IHRoZSBuZXcgb2JqZWN0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgb3JpZ2lucyBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIG9yaWdpbnMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIG9yaWdpbnMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdPcmlnaW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBkZXNjcmliZXMgdGhlIEFtYXpvbiBTMyBidWNrZXQgb3IgdGhlIEhUVFAgc2VydmVyIChmb3IgZXhhbXBsZSwgYSB3ZWIgc2VydmVyKSBmcm9tIHdoaWNoIENsb3VkRnJvbnQgZ2V0cyB5b3VyIGZpbGVzLllvdSBtdXN0IGNyZWF0ZSBhdCBsZWFzdCBvbmUgb3JpZ2luLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnT3JpZ2luJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgb3JpZ2luLiBUaGUgdmFsdWUgb2YgSWQgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBkaXN0cmlidXRpb24uIFlvdSB1c2UgdGhlIHZhbHVlIG9mIElkIHdoZW4geW91IGNyZWF0ZSBhIGNhY2hlIGJlaGF2aW9yLiBUaGUgSWQgaWRlbnRpZmllcyB0aGUgb3JpZ2luIHRoYXQgQ2xvdWRGcm9udCByb3V0ZXMgYSByZXF1ZXN0IHRvIHdoZW4gdGhlIHJlcXVlc3QgbWF0Y2hlcyB0aGUgcGF0aCBwYXR0ZXJuIGZvciB0aGF0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQW1hem9uIFMzIG9yaWdpbnM6IFRoZSBETlMgbmFtZSBvZiB0aGUgQW1hem9uIFMzIGJ1Y2tldCBmcm9tIHdoaWNoIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gZ2V0IG9iamVjdHMgZm9yIHRoaXMgb3JpZ2luLCBmb3IgZXhhbXBsZSwgbXlhd3NidWNrZXQuczMuYW1hem9uYXdzLmNvbS4gQ3VzdG9tIG9yaWdpbnM6IFRoZSBETlMgZG9tYWluIG5hbWUgZm9yIHRoZSBIVFRQIHNlcnZlciBmcm9tIHdoaWNoIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gZ2V0IG9iamVjdHMgZm9yIHRoaXMgb3JpZ2luLCBmb3IgZXhhbXBsZSwgd3d3LmV4YW1wbGUuY29tLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTM09yaWdpbkNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIEFtYXpvbiBTMyBvcmlnaW4uIElmIHRoZSBvcmlnaW4gaXMgYSBjdXN0b20gb3JpZ2luLCB1c2UgdGhlIEN1c3RvbU9yaWdpbkNvbmZpZyBlbGVtZW50IGluc3RlYWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luQWNjZXNzSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBDbG91ZEZyb250IG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgdG8gYXNzb2NpYXRlIHdpdGggdGhlIG9yaWdpbi4gVXNlIGFuIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgdG8gY29uZmlndXJlIHRoZSBvcmlnaW4gc28gdGhhdCBlbmQgdXNlcnMgY2FuIG9ubHkgYWNjZXNzIG9iamVjdHMgaW4gYW4gQW1hem9uIFMzIGJ1Y2tldCB0aHJvdWdoIENsb3VkRnJvbnQuIElmIHlvdSB3YW50IGVuZCB1c2VycyB0byBiZSBhYmxlIHRvIGFjY2VzcyBvYmplY3RzIHVzaW5nIGVpdGhlciB0aGUgQ2xvdWRGcm9udCBVUkwgb3IgdGhlIEFtYXpvbiBTMyBVUkwsIHNwZWNpZnkgYW4gZW1wdHkgT3JpZ2luQWNjZXNzSWRlbnRpdHkgZWxlbWVudC4gVG8gZGVsZXRlIHRoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5IGZyb20gYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCB1cGRhdGUgdGhlIGRpc3RyaWJ1dGlvbiBjb25maWd1cmF0aW9uIGFuZCBpbmNsdWRlIGFuIGVtcHR5IE9yaWdpbkFjY2Vzc0lkZW50aXR5IGVsZW1lbnQuIFRvIHJlcGxhY2UgdGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHksIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIHNwZWNpZnkgdGhlIG5ldyBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXN0b21PcmlnaW5Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IGEgY3VzdG9tIG9yaWdpbi4gSWYgdGhlIG9yaWdpbiBpcyBhbiBBbWF6b24gUzMgYnVja2V0LCB1c2UgdGhlIFMzT3JpZ2luQ29uZmlnIGVsZW1lbnQgaW5zdGVhZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIVFRQUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIEhUVFAgcG9ydCB0aGUgY3VzdG9tIG9yaWdpbiBsaXN0ZW5zIG9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSFRUUFNQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgSFRUUFMgcG9ydCB0aGUgY3VzdG9tIG9yaWdpbiBsaXN0ZW5zIG9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luUHJvdG9jb2xQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBvcmlnaW4gcHJvdG9jb2wgcG9saWN5IHRvIGFwcGx5IHRvIHlvdXIgb3JpZ2luLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRDYWNoZUJlaGF2aW9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgZGVzY3JpYmVzIHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yIGlmIHlvdSBkbyBub3Qgc3BlY2lmeSBhIENhY2hlQmVoYXZpb3IgZWxlbWVudCBvciBpZiBmaWxlcyBkb25cJ3QgbWF0Y2ggYW55IG9mIHRoZSB2YWx1ZXMgb2YgUGF0aFBhdHRlcm4gaW4gQ2FjaGVCZWhhdmlvciBlbGVtZW50cy5Zb3UgbXVzdCBjcmVhdGUgZXhhY3RseSBvbmUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYXJnZXRPcmlnaW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSB2YWx1ZSBvZiBJRCBmb3IgdGhlIG9yaWdpbiB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcm91dGUgcmVxdWVzdHMgdG8gd2hlbiBhIHJlcXVlc3QgbWF0Y2hlcyB0aGUgcGF0aCBwYXR0ZXJuIGVpdGhlciBmb3IgYSBjYWNoZSBiZWhhdmlvciBvciBmb3IgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmRlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgc3BlY2lmaWVzIGhvdyBDbG91ZEZyb250IGhhbmRsZXMgcXVlcnkgc3RyaW5ncy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWVyeVN0cmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnSW5kaWNhdGVzIHdoZXRoZXIgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBmb3J3YXJkIHF1ZXJ5IHN0cmluZ3MgdG8gdGhlIG9yaWdpbiB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNhY2hlIGJlaGF2aW9yLiBJZiBzbywgc3BlY2lmeSB0cnVlOyBpZiBub3QsIHNwZWNpZnkgZmFsc2UuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgc3BlY2lmaWVzIHRoZSBBV1MgYWNjb3VudHMsIGlmIGFueSwgdGhhdCB5b3Ugd2FudCB0byBhbGxvdyB0byBjcmVhdGUgc2lnbmVkIFVSTHMgZm9yIHByaXZhdGUgY29udGVudC4gSWYgeW91IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyBpbiB0aGUgdGFyZ2V0IG9yaWdpbiB0aGF0IG1hdGNoIHRoZSBQYXRoUGF0dGVybiBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvciwgc3BlY2lmeSB0cnVlIGZvciBFbmFibGVkLCBhbmQgc3BlY2lmeSB0aGUgYXBwbGljYWJsZSB2YWx1ZXMgZm9yIFF1YW50aXR5IGFuZCBJdGVtcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIGdvIHRvIFVzaW5nIGEgU2lnbmVkIFVSTCB0byBTZXJ2ZSBQcml2YXRlIENvbnRlbnQgaW4gdGhlIEFtYXpvbiBDbG91ZEZyb250IERldmVsb3BlciBHdWlkZS4gSWYgeW91IGRvblwndCB3YW50IHRvIHJlcXVpcmUgc2lnbmVkIFVSTHMgaW4gcmVxdWVzdHMgZm9yIG9iamVjdHMgdGhhdCBtYXRjaCBQYXRoUGF0dGVybiwgc3BlY2lmeSBmYWxzZSBmb3IgRW5hYmxlZCBhbmQgMCBmb3IgUXVhbnRpdHkuIE9taXQgSXRlbXMuIFRvIGFkZCwgY2hhbmdlLCBvciByZW1vdmUgb25lIG9yIG1vcmUgdHJ1c3RlZCBzaWduZXJzLCBjaGFuZ2UgRW5hYmxlZCB0byB0cnVlIChpZiBpdFwncyBjdXJyZW50bHkgZmFsc2UpLCBjaGFuZ2UgUXVhbnRpdHkgYXMgYXBwbGljYWJsZSwgYW5kIHNwZWNpZnkgYWxsIG9mIHRoZSB0cnVzdGVkIHNpZ25lcnMgdGhhdCB5b3Ugd2FudCB0byBpbmNsdWRlIGluIHRoZSB1cGRhdGVkIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0byByZXF1aXJlIGVuZCB1c2VycyB0byB1c2Ugc2lnbmVkIFVSTHMgdG8gYWNjZXNzIHRoZSBmaWxlcyBzcGVjaWZpZWQgYnkgUGF0aFBhdHRlcm4gYW5kIFRhcmdldE9yaWdpbklkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ09wdGlvbmFsOiBBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4gSWYgUXVhbnRpdHkgaXMgMCwgeW91IGNhbiBvbWl0IEl0ZW1zLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlld2VyUHJvdG9jb2xQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdVc2UgdGhpcyBlbGVtZW50IHRvIHNwZWNpZnkgdGhlIHByb3RvY29sIHRoYXQgdXNlcnMgY2FuIHVzZSB0byBhY2Nlc3MgdGhlIGZpbGVzIGluIHRoZSBvcmlnaW4gc3BlY2lmaWVkIGJ5IFRhcmdldE9yaWdpbklkIHdoZW4gYSByZXF1ZXN0IG1hdGNoZXMgdGhlIHBhdGggcGF0dGVybiBpbiBQYXRoUGF0dGVybi4gSWYgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBhbGxvdyBlbmQgdXNlcnMgdG8gdXNlIGFueSBhdmFpbGFibGUgcHJvdG9jb2wsIHNwZWNpZnkgYWxsb3ctYWxsLiBJZiB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHJlcXVpcmUgSFRUUFMsIHNwZWNpZnkgaHR0cHMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pblRUTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBtaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoYXQgeW91IHdhbnQgb2JqZWN0cyB0byBzdGF5IGluIENsb3VkRnJvbnQgY2FjaGVzIGJlZm9yZSBDbG91ZEZyb250IHF1ZXJpZXMgeW91ciBvcmlnaW4gdG8gc2VlIHdoZXRoZXIgdGhlIG9iamVjdCBoYXMgYmVlbiB1cGRhdGVkLllvdSBjYW4gc3BlY2lmeSBhIHZhbHVlIGZyb20gMCB0byAzLDE1Myw2MDAsMDAwIHNlY29uZHMgKDEwMCB5ZWFycykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlQmVoYXZpb3JzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgemVybyBvciBtb3JlIENhY2hlQmVoYXZpb3IgZWxlbWVudHMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIGNhY2hlIGJlaGF2aW9ycyBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ09wdGlvbmFsOiBBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGNhY2hlIGJlaGF2aW9ycyBmb3IgdGhpcyBkaXN0cmlidXRpb24uIElmIFF1YW50aXR5IGlzIDAsIHlvdSBjYW4gb21pdCBJdGVtcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2FjaGVCZWhhdmlvcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGRlc2NyaWJlcyBob3cgQ2xvdWRGcm9udCBwcm9jZXNzZXMgcmVxdWVzdHMuIFlvdSBjYW4gY3JlYXRlIHVwIHRvIDEwIGNhY2hlIGJlaGF2aW9ycy5Zb3UgbXVzdCBjcmVhdGUgYXQgbGVhc3QgYXMgbWFueSBjYWNoZSBiZWhhdmlvcnMgKGluY2x1ZGluZyB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvcikgYXMgeW91IGhhdmUgb3JpZ2lucyBpZiB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGRpc3RyaWJ1dGUgb2JqZWN0cyBmcm9tIGFsbCBvZiB0aGUgb3JpZ2lucy4gRWFjaCBjYWNoZSBiZWhhdmlvciBzcGVjaWZpZXMgdGhlIG9uZSBvcmlnaW4gZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzLiBJZiB5b3UgaGF2ZSB0d28gb3JpZ2lucyBhbmQgb25seSB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvciwgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3Igd2lsbCBjYXVzZSBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzIGZyb20gb25lIG9mIHRoZSBvcmlnaW5zLCBidXQgdGhlIG90aGVyIG9yaWdpbiB3aWxsIG5ldmVyIGJlIHVzZWQuIElmIHlvdSBkb25cJ3Qgd2FudCB0byBzcGVjaWZ5IGFueSBjYWNoZSBiZWhhdmlvcnMsIGluY2x1ZGUgb25seSBhbiBlbXB0eSBDYWNoZUJlaGF2aW9ycyBlbGVtZW50LiBEb25cJ3QgaW5jbHVkZSBhbiBlbXB0eSBDYWNoZUJlaGF2aW9yIGVsZW1lbnQsIG9yIENsb3VkRnJvbnQgcmV0dXJucyBhIE1hbGZvcm1lZFhNTCBlcnJvci4gVG8gZGVsZXRlIGFsbCBjYWNoZSBiZWhhdmlvcnMgaW4gYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCB1cGRhdGUgdGhlIGRpc3RyaWJ1dGlvbiBjb25maWd1cmF0aW9uIGFuZCBpbmNsdWRlIG9ubHkgYW4gZW1wdHkgQ2FjaGVCZWhhdmlvcnMgZWxlbWVudC4gVG8gYWRkLCBjaGFuZ2UsIG9yIHJlbW92ZSBvbmUgb3IgbW9yZSBjYWNoZSBiZWhhdmlvcnMsIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIHNwZWNpZnkgYWxsIG9mIHRoZSBjYWNoZSBiZWhhdmlvcnMgdGhhdCB5b3Ugd2FudCB0byBpbmNsdWRlIGluIHRoZSB1cGRhdGVkIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NhY2hlQmVoYXZpb3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXRoUGF0dGVybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBwYXR0ZXJuIChmb3IgZXhhbXBsZSwgaW1hZ2VzLyouanBnKSB0aGF0IHNwZWNpZmllcyB3aGljaCByZXF1ZXN0cyB5b3Ugd2FudCB0aGlzIGNhY2hlIGJlaGF2aW9yIHRvIGFwcGx5IHRvLiBXaGVuIENsb3VkRnJvbnQgcmVjZWl2ZXMgYW4gZW5kLXVzZXIgcmVxdWVzdCwgdGhlIHJlcXVlc3RlZCBwYXRoIGlzIGNvbXBhcmVkIHdpdGggcGF0aCBwYXR0ZXJucyBpbiB0aGUgb3JkZXIgaW4gd2hpY2ggY2FjaGUgYmVoYXZpb3JzIGFyZSBsaXN0ZWQgaW4gdGhlIGRpc3RyaWJ1dGlvbi4gVGhlIHBhdGggcGF0dGVybiBmb3IgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IgaXMgKiBhbmQgY2Fubm90IGJlIGNoYW5nZWQuIElmIHRoZSByZXF1ZXN0IGZvciBhbiBvYmplY3QgZG9lcyBub3QgbWF0Y2ggdGhlIHBhdGggcGF0dGVybiBmb3IgYW55IGNhY2hlIGJlaGF2aW9ycywgQ2xvdWRGcm9udCBhcHBsaWVzIHRoZSBiZWhhdmlvciBpbiB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0T3JpZ2luSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgdmFsdWUgb2YgSUQgZm9yIHRoZSBvcmlnaW4gdGhhdCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHJvdXRlIHJlcXVlc3RzIHRvIHdoZW4gYSByZXF1ZXN0IG1hdGNoZXMgdGhlIHBhdGggcGF0dGVybiBlaXRoZXIgZm9yIGEgY2FjaGUgYmVoYXZpb3Igb3IgZm9yIHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb3J3YXJkZWRWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IHNwZWNpZmllcyBob3cgQ2xvdWRGcm9udCBoYW5kbGVzIHF1ZXJ5IHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVlcnlTdHJpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0luZGljYXRlcyB3aGV0aGVyIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gZm9yd2FyZCBxdWVyeSBzdHJpbmdzIHRvIHRoZSBvcmlnaW4gdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBjYWNoZSBiZWhhdmlvci4gSWYgc28sIHNwZWNpZnkgdHJ1ZTsgaWYgbm90LCBzcGVjaWZ5IGZhbHNlLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IHNwZWNpZmllcyB0aGUgQVdTIGFjY291bnRzLCBpZiBhbnksIHRoYXQgeW91IHdhbnQgdG8gYWxsb3cgdG8gY3JlYXRlIHNpZ25lZCBVUkxzIGZvciBwcml2YXRlIGNvbnRlbnQuIElmIHlvdSB3YW50IHRvIHJlcXVpcmUgc2lnbmVkIFVSTHMgaW4gcmVxdWVzdHMgZm9yIG9iamVjdHMgaW4gdGhlIHRhcmdldCBvcmlnaW4gdGhhdCBtYXRjaCB0aGUgUGF0aFBhdHRlcm4gZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IsIHNwZWNpZnkgdHJ1ZSBmb3IgRW5hYmxlZCwgYW5kIHNwZWNpZnkgdGhlIGFwcGxpY2FibGUgdmFsdWVzIGZvciBRdWFudGl0eSBhbmQgSXRlbXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBnbyB0byBVc2luZyBhIFNpZ25lZCBVUkwgdG8gU2VydmUgUHJpdmF0ZSBDb250ZW50IGluIHRoZSBBbWF6b24gQ2xvdWRGcm9udCBEZXZlbG9wZXIgR3VpZGUuIElmIHlvdSBkb25cJ3Qgd2FudCB0byByZXF1aXJlIHNpZ25lZCBVUkxzIGluIHJlcXVlc3RzIGZvciBvYmplY3RzIHRoYXQgbWF0Y2ggUGF0aFBhdHRlcm4sIHNwZWNpZnkgZmFsc2UgZm9yIEVuYWJsZWQgYW5kIDAgZm9yIFF1YW50aXR5LiBPbWl0IEl0ZW1zLiBUbyBhZGQsIGNoYW5nZSwgb3IgcmVtb3ZlIG9uZSBvciBtb3JlIHRydXN0ZWQgc2lnbmVycywgY2hhbmdlIEVuYWJsZWQgdG8gdHJ1ZSAoaWYgaXRcJ3MgY3VycmVudGx5IGZhbHNlKSwgY2hhbmdlIFF1YW50aXR5IGFzIGFwcGxpY2FibGUsIGFuZCBzcGVjaWZ5IGFsbCBvZiB0aGUgdHJ1c3RlZCBzaWduZXJzIHRoYXQgeW91IHdhbnQgdG8gaW5jbHVkZSBpbiB0aGUgdXBkYXRlZCBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3BlY2lmaWVzIHdoZXRoZXIgeW91IHdhbnQgdG8gcmVxdWlyZSBlbmQgdXNlcnMgdG8gdXNlIHNpZ25lZCBVUkxzIHRvIGFjY2VzcyB0aGUgZmlsZXMgc3BlY2lmaWVkIGJ5IFBhdGhQYXR0ZXJuIGFuZCBUYXJnZXRPcmlnaW5JZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdPcHRpb25hbDogQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyB0cnVzdGVkIHNpZ25lcnMgZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IuIElmIFF1YW50aXR5IGlzIDAsIHlvdSBjYW4gb21pdCBJdGVtcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZpZXdlclByb3RvY29sUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVXNlIHRoaXMgZWxlbWVudCB0byBzcGVjaWZ5IHRoZSBwcm90b2NvbCB0aGF0IHVzZXJzIGNhbiB1c2UgdG8gYWNjZXNzIHRoZSBmaWxlcyBpbiB0aGUgb3JpZ2luIHNwZWNpZmllZCBieSBUYXJnZXRPcmlnaW5JZCB3aGVuIGEgcmVxdWVzdCBtYXRjaGVzIHRoZSBwYXRoIHBhdHRlcm4gaW4gUGF0aFBhdHRlcm4uIElmIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gYWxsb3cgZW5kIHVzZXJzIHRvIHVzZSBhbnkgYXZhaWxhYmxlIHByb3RvY29sLCBzcGVjaWZ5IGFsbG93LWFsbC4gSWYgeW91IHdhbnQgQ2xvdWRGcm9udCB0byByZXF1aXJlIEhUVFBTLCBzcGVjaWZ5IGh0dHBzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5UVEwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbWluaW11bSBhbW91bnQgb2YgdGltZSB0aGF0IHlvdSB3YW50IG9iamVjdHMgdG8gc3RheSBpbiBDbG91ZEZyb250IGNhY2hlcyBiZWZvcmUgQ2xvdWRGcm9udCBxdWVyaWVzIHlvdXIgb3JpZ2luIHRvIHNlZSB3aGV0aGVyIHRoZSBvYmplY3QgaGFzIGJlZW4gdXBkYXRlZC5Zb3UgY2FuIHNwZWNpZnkgYSB2YWx1ZSBmcm9tIDAgdG8gMywxNTMsNjAwLDAwMCBzZWNvbmRzICgxMDAgeWVhcnMpLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FueSBjb21tZW50cyB5b3Ugd2FudCB0byBpbmNsdWRlIGFib3V0IHRoZSBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0xvZ2dpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250cm9scyB3aGV0aGVyIGFjY2VzcyBsb2dzIGFyZSB3cml0dGVuIGZvciB0aGUgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHNhdmUgYWNjZXNzIGxvZ3MgdG8gYW4gQW1hem9uIFMzIGJ1Y2tldC4gSWYgeW91IGRvIG5vdCB3YW50IHRvIGVuYWJsZSBsb2dnaW5nIHdoZW4geW91IGNyZWF0ZSBhIGRpc3RyaWJ1dGlvbiBvciBpZiB5b3Ugd2FudCB0byBkaXNhYmxlIGxvZ2dpbmcgZm9yIGFuIGV4aXN0aW5nIGRpc3RyaWJ1dGlvbiwgc3BlY2lmeSBmYWxzZSBmb3IgRW5hYmxlZCwgYW5kIHNwZWNpZnkgZW1wdHkgQnVja2V0IGFuZCBQcmVmaXggZWxlbWVudHMuIElmIHlvdSBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkIGJ1dCB5b3Ugc3BlY2lmeSB2YWx1ZXMgZm9yIEJ1Y2tldCBhbmQgUHJlZml4LCB0aGUgdmFsdWVzIGFyZSBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgQW1hem9uIFMzIGJ1Y2tldCB0byBzdG9yZSB0aGUgYWNjZXNzIGxvZ3MgaW4sIGZvciBleGFtcGxlLCBteWF3c2xvZ2J1Y2tldC5zMy5hbWF6b25hd3MuY29tLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBbiBvcHRpb25hbCBzdHJpbmcgdGhhdCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHByZWZpeCB0byB0aGUgYWNjZXNzIGxvZyBmaWxlbmFtZXMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLCBmb3IgZXhhbXBsZSwgbXlwcmVmaXgvLiBJZiB5b3Ugd2FudCB0byBlbmFibGUgbG9nZ2luZywgYnV0IHlvdSBkbyBub3Qgd2FudCB0byBzcGVjaWZ5IGEgcHJlZml4LCB5b3Ugc3RpbGwgbXVzdCBpbmNsdWRlIGFuIGVtcHR5IFByZWZpeCBlbGVtZW50IGluIHRoZSBMb2dnaW5nIGVsZW1lbnQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdXaGV0aGVyIHRoZSBkaXN0cmlidXRpb24gaXMgZW5hYmxlZCB0byBhY2NlcHQgZW5kIHVzZXIgcmVxdWVzdHMgZm9yIGNvbnRlbnQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgZGlzdHJpYnV0aW9uXCdzIGluZm9ybWF0aW9uLiBGb3IgZXhhbXBsZTogRTJRV1JVSEFQT01RWkwuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdSZXF1ZXN0IElEIG9mIHRoZSBvcGVyYXRpb24nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXREaXN0cmlidXRpb25Db25maWdSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSB1bmlxdWUgbnVtYmVyIHRoYXQgZW5zdXJlcyB0aGUgcmVxdWVzdCBjYW5cJ3QgYmUgcmVwbGF5ZWQuIElmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgbmV3IChubyBtYXR0ZXIgdGhlIGNvbnRlbnQgb2YgdGhlIERpc3RyaWJ1dGlvbkNvbmZpZyBvYmplY3QpLCBhIG5ldyBkaXN0cmlidXRpb24gaXMgY3JlYXRlZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhIGRpc3RyaWJ1dGlvbiwgYW5kIHRoZSBjb250ZW50IG9mIHRoZSBEaXN0cmlidXRpb25Db25maWcgaXMgaWRlbnRpY2FsIHRvIHRoZSBvcmlnaW5hbCByZXF1ZXN0IChpZ25vcmluZyB3aGl0ZSBzcGFjZSksIHRoZSByZXNwb25zZSBpbmNsdWRlcyB0aGUgc2FtZSBpbmZvcm1hdGlvbiByZXR1cm5lZCB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhIGRpc3RyaWJ1dGlvbiBidXQgdGhlIGNvbnRlbnQgb2YgdGhlIERpc3RyaWJ1dGlvbkNvbmZpZyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdCwgQ2xvdWRGcm9udCByZXR1cm5zIGEgRGlzdHJpYnV0aW9uQWxyZWFkeUV4aXN0cyBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGlhc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IENOQU1FcyAoYWx0ZXJuYXRlIGRvbWFpbiBuYW1lcyksIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBDTkFNRXMsIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgQ05BTUUgZWxlbWVudHMsIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVmYXVsdFJvb3RPYmplY3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBvYmplY3QgdGhhdCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHJldHVybiAoZm9yIGV4YW1wbGUsIGluZGV4Lmh0bWwpIHdoZW4gYW4gZW5kIHVzZXIgcmVxdWVzdHMgdGhlIHJvb3QgVVJMIGZvciB5b3VyIGRpc3RyaWJ1dGlvbiAoaHR0cDovL3d3dy5leGFtcGxlLmNvbSkgaW5zdGVhZCBvZiBhbiBvYmplY3QgaW4geW91ciBkaXN0cmlidXRpb24gKGh0dHA6Ly93d3cuZXhhbXBsZS5jb20vaW5kZXguaHRtbCkuIFNwZWNpZnlpbmcgYSBkZWZhdWx0IHJvb3Qgb2JqZWN0IGF2b2lkcyBleHBvc2luZyB0aGUgY29udGVudHMgb2YgeW91ciBkaXN0cmlidXRpb24uIElmIHlvdSBkb25cJ3Qgd2FudCB0byBzcGVjaWZ5IGEgZGVmYXVsdCByb290IG9iamVjdCB3aGVuIHlvdSBjcmVhdGUgYSBkaXN0cmlidXRpb24sIGluY2x1ZGUgYW4gZW1wdHkgRGVmYXVsdFJvb3RPYmplY3QgZWxlbWVudC4gVG8gZGVsZXRlIHRoZSBkZWZhdWx0IHJvb3Qgb2JqZWN0IGZyb20gYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCB1cGRhdGUgdGhlIGRpc3RyaWJ1dGlvbiBjb25maWd1cmF0aW9uIGFuZCBpbmNsdWRlIGFuIGVtcHR5IERlZmF1bHRSb290T2JqZWN0IGVsZW1lbnQuIFRvIHJlcGxhY2UgdGhlIGRlZmF1bHQgcm9vdCBvYmplY3QsIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIHNwZWNpZnkgdGhlIG5ldyBvYmplY3QuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3JpZ2lucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCBvcmlnaW5zIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2Ygb3JpZ2lucyBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIG9yaWdpbnMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdPcmlnaW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgZGVzY3JpYmVzIHRoZSBBbWF6b24gUzMgYnVja2V0IG9yIHRoZSBIVFRQIHNlcnZlciAoZm9yIGV4YW1wbGUsIGEgd2ViIHNlcnZlcikgZnJvbSB3aGljaCBDbG91ZEZyb250IGdldHMgeW91ciBmaWxlcy5Zb3UgbXVzdCBjcmVhdGUgYXQgbGVhc3Qgb25lIG9yaWdpbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnT3JpZ2luJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgb3JpZ2luLiBUaGUgdmFsdWUgb2YgSWQgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBkaXN0cmlidXRpb24uIFlvdSB1c2UgdGhlIHZhbHVlIG9mIElkIHdoZW4geW91IGNyZWF0ZSBhIGNhY2hlIGJlaGF2aW9yLiBUaGUgSWQgaWRlbnRpZmllcyB0aGUgb3JpZ2luIHRoYXQgQ2xvdWRGcm9udCByb3V0ZXMgYSByZXF1ZXN0IHRvIHdoZW4gdGhlIHJlcXVlc3QgbWF0Y2hlcyB0aGUgcGF0aCBwYXR0ZXJuIGZvciB0aGF0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FtYXpvbiBTMyBvcmlnaW5zOiBUaGUgRE5TIG5hbWUgb2YgdGhlIEFtYXpvbiBTMyBidWNrZXQgZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzIGZvciB0aGlzIG9yaWdpbiwgZm9yIGV4YW1wbGUsIG15YXdzYnVja2V0LnMzLmFtYXpvbmF3cy5jb20uIEN1c3RvbSBvcmlnaW5zOiBUaGUgRE5TIGRvbWFpbiBuYW1lIGZvciB0aGUgSFRUUCBzZXJ2ZXIgZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzIGZvciB0aGlzIG9yaWdpbiwgZm9yIGV4YW1wbGUsIHd3dy5leGFtcGxlLmNvbS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNPcmlnaW5Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQW1hem9uIFMzIG9yaWdpbi4gSWYgdGhlIG9yaWdpbiBpcyBhIGN1c3RvbSBvcmlnaW4sIHVzZSB0aGUgQ3VzdG9tT3JpZ2luQ29uZmlnIGVsZW1lbnQgaW5zdGVhZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBDbG91ZEZyb250IG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgdG8gYXNzb2NpYXRlIHdpdGggdGhlIG9yaWdpbi4gVXNlIGFuIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgdG8gY29uZmlndXJlIHRoZSBvcmlnaW4gc28gdGhhdCBlbmQgdXNlcnMgY2FuIG9ubHkgYWNjZXNzIG9iamVjdHMgaW4gYW4gQW1hem9uIFMzIGJ1Y2tldCB0aHJvdWdoIENsb3VkRnJvbnQuIElmIHlvdSB3YW50IGVuZCB1c2VycyB0byBiZSBhYmxlIHRvIGFjY2VzcyBvYmplY3RzIHVzaW5nIGVpdGhlciB0aGUgQ2xvdWRGcm9udCBVUkwgb3IgdGhlIEFtYXpvbiBTMyBVUkwsIHNwZWNpZnkgYW4gZW1wdHkgT3JpZ2luQWNjZXNzSWRlbnRpdHkgZWxlbWVudC4gVG8gZGVsZXRlIHRoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5IGZyb20gYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCB1cGRhdGUgdGhlIGRpc3RyaWJ1dGlvbiBjb25maWd1cmF0aW9uIGFuZCBpbmNsdWRlIGFuIGVtcHR5IE9yaWdpbkFjY2Vzc0lkZW50aXR5IGVsZW1lbnQuIFRvIHJlcGxhY2UgdGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHksIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIHNwZWNpZnkgdGhlIG5ldyBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RvbU9yaWdpbkNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IGEgY3VzdG9tIG9yaWdpbi4gSWYgdGhlIG9yaWdpbiBpcyBhbiBBbWF6b24gUzMgYnVja2V0LCB1c2UgdGhlIFMzT3JpZ2luQ29uZmlnIGVsZW1lbnQgaW5zdGVhZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIVFRQUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBIVFRQIHBvcnQgdGhlIGN1c3RvbSBvcmlnaW4gbGlzdGVucyBvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hUVFBTUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBIVFRQUyBwb3J0IHRoZSBjdXN0b20gb3JpZ2luIGxpc3RlbnMgb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5Qcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBvcmlnaW4gcHJvdG9jb2wgcG9saWN5IHRvIGFwcGx5IHRvIHlvdXIgb3JpZ2luLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZWZhdWx0Q2FjaGVCZWhhdmlvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBkZXNjcmliZXMgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IgaWYgeW91IGRvIG5vdCBzcGVjaWZ5IGEgQ2FjaGVCZWhhdmlvciBlbGVtZW50IG9yIGlmIGZpbGVzIGRvblwndCBtYXRjaCBhbnkgb2YgdGhlIHZhbHVlcyBvZiBQYXRoUGF0dGVybiBpbiBDYWNoZUJlaGF2aW9yIGVsZW1lbnRzLllvdSBtdXN0IGNyZWF0ZSBleGFjdGx5IG9uZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0T3JpZ2luSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHZhbHVlIG9mIElEIGZvciB0aGUgb3JpZ2luIHRoYXQgeW91IHdhbnQgQ2xvdWRGcm9udCB0byByb3V0ZSByZXF1ZXN0cyB0byB3aGVuIGEgcmVxdWVzdCBtYXRjaGVzIHRoZSBwYXRoIHBhdHRlcm4gZWl0aGVyIGZvciBhIGNhY2hlIGJlaGF2aW9yIG9yIGZvciB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZGVkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgc3BlY2lmaWVzIGhvdyBDbG91ZEZyb250IGhhbmRsZXMgcXVlcnkgc3RyaW5ncy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWVyeVN0cmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0luZGljYXRlcyB3aGV0aGVyIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gZm9yd2FyZCBxdWVyeSBzdHJpbmdzIHRvIHRoZSBvcmlnaW4gdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBjYWNoZSBiZWhhdmlvci4gSWYgc28sIHNwZWNpZnkgdHJ1ZTsgaWYgbm90LCBzcGVjaWZ5IGZhbHNlLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IHNwZWNpZmllcyB0aGUgQVdTIGFjY291bnRzLCBpZiBhbnksIHRoYXQgeW91IHdhbnQgdG8gYWxsb3cgdG8gY3JlYXRlIHNpZ25lZCBVUkxzIGZvciBwcml2YXRlIGNvbnRlbnQuIElmIHlvdSB3YW50IHRvIHJlcXVpcmUgc2lnbmVkIFVSTHMgaW4gcmVxdWVzdHMgZm9yIG9iamVjdHMgaW4gdGhlIHRhcmdldCBvcmlnaW4gdGhhdCBtYXRjaCB0aGUgUGF0aFBhdHRlcm4gZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IsIHNwZWNpZnkgdHJ1ZSBmb3IgRW5hYmxlZCwgYW5kIHNwZWNpZnkgdGhlIGFwcGxpY2FibGUgdmFsdWVzIGZvciBRdWFudGl0eSBhbmQgSXRlbXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBnbyB0byBVc2luZyBhIFNpZ25lZCBVUkwgdG8gU2VydmUgUHJpdmF0ZSBDb250ZW50IGluIHRoZSBBbWF6b24gQ2xvdWRGcm9udCBEZXZlbG9wZXIgR3VpZGUuIElmIHlvdSBkb25cJ3Qgd2FudCB0byByZXF1aXJlIHNpZ25lZCBVUkxzIGluIHJlcXVlc3RzIGZvciBvYmplY3RzIHRoYXQgbWF0Y2ggUGF0aFBhdHRlcm4sIHNwZWNpZnkgZmFsc2UgZm9yIEVuYWJsZWQgYW5kIDAgZm9yIFF1YW50aXR5LiBPbWl0IEl0ZW1zLiBUbyBhZGQsIGNoYW5nZSwgb3IgcmVtb3ZlIG9uZSBvciBtb3JlIHRydXN0ZWQgc2lnbmVycywgY2hhbmdlIEVuYWJsZWQgdG8gdHJ1ZSAoaWYgaXRcJ3MgY3VycmVudGx5IGZhbHNlKSwgY2hhbmdlIFF1YW50aXR5IGFzIGFwcGxpY2FibGUsIGFuZCBzcGVjaWZ5IGFsbCBvZiB0aGUgdHJ1c3RlZCBzaWduZXJzIHRoYXQgeW91IHdhbnQgdG8gaW5jbHVkZSBpbiB0aGUgdXBkYXRlZCBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IHRvIHJlcXVpcmUgZW5kIHVzZXJzIHRvIHVzZSBzaWduZWQgVVJMcyB0byBhY2Nlc3MgdGhlIGZpbGVzIHNwZWNpZmllZCBieSBQYXRoUGF0dGVybiBhbmQgVGFyZ2V0T3JpZ2luSWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdPcHRpb25hbDogQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyB0cnVzdGVkIHNpZ25lcnMgZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IuIElmIFF1YW50aXR5IGlzIDAsIHlvdSBjYW4gb21pdCBJdGVtcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWaWV3ZXJQcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdVc2UgdGhpcyBlbGVtZW50IHRvIHNwZWNpZnkgdGhlIHByb3RvY29sIHRoYXQgdXNlcnMgY2FuIHVzZSB0byBhY2Nlc3MgdGhlIGZpbGVzIGluIHRoZSBvcmlnaW4gc3BlY2lmaWVkIGJ5IFRhcmdldE9yaWdpbklkIHdoZW4gYSByZXF1ZXN0IG1hdGNoZXMgdGhlIHBhdGggcGF0dGVybiBpbiBQYXRoUGF0dGVybi4gSWYgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBhbGxvdyBlbmQgdXNlcnMgdG8gdXNlIGFueSBhdmFpbGFibGUgcHJvdG9jb2wsIHNwZWNpZnkgYWxsb3ctYWxsLiBJZiB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHJlcXVpcmUgSFRUUFMsIHNwZWNpZnkgaHR0cHMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ01pblRUTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbWluaW11bSBhbW91bnQgb2YgdGltZSB0aGF0IHlvdSB3YW50IG9iamVjdHMgdG8gc3RheSBpbiBDbG91ZEZyb250IGNhY2hlcyBiZWZvcmUgQ2xvdWRGcm9udCBxdWVyaWVzIHlvdXIgb3JpZ2luIHRvIHNlZSB3aGV0aGVyIHRoZSBvYmplY3QgaGFzIGJlZW4gdXBkYXRlZC5Zb3UgY2FuIHNwZWNpZnkgYSB2YWx1ZSBmcm9tIDAgdG8gMywxNTMsNjAwLDAwMCBzZWNvbmRzICgxMDAgeWVhcnMpLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlQmVoYXZpb3JzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIHplcm8gb3IgbW9yZSBDYWNoZUJlaGF2aW9yIGVsZW1lbnRzLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBjYWNoZSBiZWhhdmlvcnMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgY2FjaGUgYmVoYXZpb3JzIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4gSWYgUXVhbnRpdHkgaXMgMCwgeW91IGNhbiBvbWl0IEl0ZW1zLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZUJlaGF2aW9yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGRlc2NyaWJlcyBob3cgQ2xvdWRGcm9udCBwcm9jZXNzZXMgcmVxdWVzdHMuIFlvdSBjYW4gY3JlYXRlIHVwIHRvIDEwIGNhY2hlIGJlaGF2aW9ycy5Zb3UgbXVzdCBjcmVhdGUgYXQgbGVhc3QgYXMgbWFueSBjYWNoZSBiZWhhdmlvcnMgKGluY2x1ZGluZyB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvcikgYXMgeW91IGhhdmUgb3JpZ2lucyBpZiB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGRpc3RyaWJ1dGUgb2JqZWN0cyBmcm9tIGFsbCBvZiB0aGUgb3JpZ2lucy4gRWFjaCBjYWNoZSBiZWhhdmlvciBzcGVjaWZpZXMgdGhlIG9uZSBvcmlnaW4gZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzLiBJZiB5b3UgaGF2ZSB0d28gb3JpZ2lucyBhbmQgb25seSB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvciwgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3Igd2lsbCBjYXVzZSBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzIGZyb20gb25lIG9mIHRoZSBvcmlnaW5zLCBidXQgdGhlIG90aGVyIG9yaWdpbiB3aWxsIG5ldmVyIGJlIHVzZWQuIElmIHlvdSBkb25cJ3Qgd2FudCB0byBzcGVjaWZ5IGFueSBjYWNoZSBiZWhhdmlvcnMsIGluY2x1ZGUgb25seSBhbiBlbXB0eSBDYWNoZUJlaGF2aW9ycyBlbGVtZW50LiBEb25cJ3QgaW5jbHVkZSBhbiBlbXB0eSBDYWNoZUJlaGF2aW9yIGVsZW1lbnQsIG9yIENsb3VkRnJvbnQgcmV0dXJucyBhIE1hbGZvcm1lZFhNTCBlcnJvci4gVG8gZGVsZXRlIGFsbCBjYWNoZSBiZWhhdmlvcnMgaW4gYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCB1cGRhdGUgdGhlIGRpc3RyaWJ1dGlvbiBjb25maWd1cmF0aW9uIGFuZCBpbmNsdWRlIG9ubHkgYW4gZW1wdHkgQ2FjaGVCZWhhdmlvcnMgZWxlbWVudC4gVG8gYWRkLCBjaGFuZ2UsIG9yIHJlbW92ZSBvbmUgb3IgbW9yZSBjYWNoZSBiZWhhdmlvcnMsIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIHNwZWNpZnkgYWxsIG9mIHRoZSBjYWNoZSBiZWhhdmlvcnMgdGhhdCB5b3Ugd2FudCB0byBpbmNsdWRlIGluIHRoZSB1cGRhdGVkIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGVCZWhhdmlvcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGF0aFBhdHRlcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHBhdHRlcm4gKGZvciBleGFtcGxlLCBpbWFnZXMvKi5qcGcpIHRoYXQgc3BlY2lmaWVzIHdoaWNoIHJlcXVlc3RzIHlvdSB3YW50IHRoaXMgY2FjaGUgYmVoYXZpb3IgdG8gYXBwbHkgdG8uIFdoZW4gQ2xvdWRGcm9udCByZWNlaXZlcyBhbiBlbmQtdXNlciByZXF1ZXN0LCB0aGUgcmVxdWVzdGVkIHBhdGggaXMgY29tcGFyZWQgd2l0aCBwYXRoIHBhdHRlcm5zIGluIHRoZSBvcmRlciBpbiB3aGljaCBjYWNoZSBiZWhhdmlvcnMgYXJlIGxpc3RlZCBpbiB0aGUgZGlzdHJpYnV0aW9uLiBUaGUgcGF0aCBwYXR0ZXJuIGZvciB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvciBpcyAqIGFuZCBjYW5ub3QgYmUgY2hhbmdlZC4gSWYgdGhlIHJlcXVlc3QgZm9yIGFuIG9iamVjdCBkb2VzIG5vdCBtYXRjaCB0aGUgcGF0aCBwYXR0ZXJuIGZvciBhbnkgY2FjaGUgYmVoYXZpb3JzLCBDbG91ZEZyb250IGFwcGxpZXMgdGhlIGJlaGF2aW9yIGluIHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYXJnZXRPcmlnaW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgdmFsdWUgb2YgSUQgZm9yIHRoZSBvcmlnaW4gdGhhdCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHJvdXRlIHJlcXVlc3RzIHRvIHdoZW4gYSByZXF1ZXN0IG1hdGNoZXMgdGhlIHBhdGggcGF0dGVybiBlaXRoZXIgZm9yIGEgY2FjaGUgYmVoYXZpb3Igb3IgZm9yIHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb3J3YXJkZWRWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBzcGVjaWZpZXMgaG93IENsb3VkRnJvbnQgaGFuZGxlcyBxdWVyeSBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1ZXJ5U3RyaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnSW5kaWNhdGVzIHdoZXRoZXIgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBmb3J3YXJkIHF1ZXJ5IHN0cmluZ3MgdG8gdGhlIG9yaWdpbiB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNhY2hlIGJlaGF2aW9yLiBJZiBzbywgc3BlY2lmeSB0cnVlOyBpZiBub3QsIHNwZWNpZnkgZmFsc2UuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgc3BlY2lmaWVzIHRoZSBBV1MgYWNjb3VudHMsIGlmIGFueSwgdGhhdCB5b3Ugd2FudCB0byBhbGxvdyB0byBjcmVhdGUgc2lnbmVkIFVSTHMgZm9yIHByaXZhdGUgY29udGVudC4gSWYgeW91IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyBpbiB0aGUgdGFyZ2V0IG9yaWdpbiB0aGF0IG1hdGNoIHRoZSBQYXRoUGF0dGVybiBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvciwgc3BlY2lmeSB0cnVlIGZvciBFbmFibGVkLCBhbmQgc3BlY2lmeSB0aGUgYXBwbGljYWJsZSB2YWx1ZXMgZm9yIFF1YW50aXR5IGFuZCBJdGVtcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIGdvIHRvIFVzaW5nIGEgU2lnbmVkIFVSTCB0byBTZXJ2ZSBQcml2YXRlIENvbnRlbnQgaW4gdGhlIEFtYXpvbiBDbG91ZEZyb250IERldmVsb3BlciBHdWlkZS4gSWYgeW91IGRvblwndCB3YW50IHRvIHJlcXVpcmUgc2lnbmVkIFVSTHMgaW4gcmVxdWVzdHMgZm9yIG9iamVjdHMgdGhhdCBtYXRjaCBQYXRoUGF0dGVybiwgc3BlY2lmeSBmYWxzZSBmb3IgRW5hYmxlZCBhbmQgMCBmb3IgUXVhbnRpdHkuIE9taXQgSXRlbXMuIFRvIGFkZCwgY2hhbmdlLCBvciByZW1vdmUgb25lIG9yIG1vcmUgdHJ1c3RlZCBzaWduZXJzLCBjaGFuZ2UgRW5hYmxlZCB0byB0cnVlIChpZiBpdFwncyBjdXJyZW50bHkgZmFsc2UpLCBjaGFuZ2UgUXVhbnRpdHkgYXMgYXBwbGljYWJsZSwgYW5kIHNwZWNpZnkgYWxsIG9mIHRoZSB0cnVzdGVkIHNpZ25lcnMgdGhhdCB5b3Ugd2FudCB0byBpbmNsdWRlIGluIHRoZSB1cGRhdGVkIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3BlY2lmaWVzIHdoZXRoZXIgeW91IHdhbnQgdG8gcmVxdWlyZSBlbmQgdXNlcnMgdG8gdXNlIHNpZ25lZCBVUkxzIHRvIGFjY2VzcyB0aGUgZmlsZXMgc3BlY2lmaWVkIGJ5IFBhdGhQYXR0ZXJuIGFuZCBUYXJnZXRPcmlnaW5JZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiB0cnVzdGVkIHNpZ25lcnMgZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ09wdGlvbmFsOiBBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4gSWYgUXVhbnRpdHkgaXMgMCwgeW91IGNhbiBvbWl0IEl0ZW1zLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZpZXdlclByb3RvY29sUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1VzZSB0aGlzIGVsZW1lbnQgdG8gc3BlY2lmeSB0aGUgcHJvdG9jb2wgdGhhdCB1c2VycyBjYW4gdXNlIHRvIGFjY2VzcyB0aGUgZmlsZXMgaW4gdGhlIG9yaWdpbiBzcGVjaWZpZWQgYnkgVGFyZ2V0T3JpZ2luSWQgd2hlbiBhIHJlcXVlc3QgbWF0Y2hlcyB0aGUgcGF0aCBwYXR0ZXJuIGluIFBhdGhQYXR0ZXJuLiBJZiB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGFsbG93IGVuZCB1c2VycyB0byB1c2UgYW55IGF2YWlsYWJsZSBwcm90b2NvbCwgc3BlY2lmeSBhbGxvdy1hbGwuIElmIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcmVxdWlyZSBIVFRQUywgc3BlY2lmeSBodHRwcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWluVFRMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBtaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoYXQgeW91IHdhbnQgb2JqZWN0cyB0byBzdGF5IGluIENsb3VkRnJvbnQgY2FjaGVzIGJlZm9yZSBDbG91ZEZyb250IHF1ZXJpZXMgeW91ciBvcmlnaW4gdG8gc2VlIHdoZXRoZXIgdGhlIG9iamVjdCBoYXMgYmVlbiB1cGRhdGVkLllvdSBjYW4gc3BlY2lmeSBhIHZhbHVlIGZyb20gMCB0byAzLDE1Myw2MDAsMDAwIHNlY29uZHMgKDEwMCB5ZWFycykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29tbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQW55IGNvbW1lbnRzIHlvdSB3YW50IHRvIGluY2x1ZGUgYWJvdXQgdGhlIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2dnaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRyb2xzIHdoZXRoZXIgYWNjZXNzIGxvZ3MgYXJlIHdyaXR0ZW4gZm9yIHRoZSBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gc2F2ZSBhY2Nlc3MgbG9ncyB0byBhbiBBbWF6b24gUzMgYnVja2V0LiBJZiB5b3UgZG8gbm90IHdhbnQgdG8gZW5hYmxlIGxvZ2dpbmcgd2hlbiB5b3UgY3JlYXRlIGEgZGlzdHJpYnV0aW9uIG9yIGlmIHlvdSB3YW50IHRvIGRpc2FibGUgbG9nZ2luZyBmb3IgYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkLCBhbmQgc3BlY2lmeSBlbXB0eSBCdWNrZXQgYW5kIFByZWZpeCBlbGVtZW50cy4gSWYgeW91IHNwZWNpZnkgZmFsc2UgZm9yIEVuYWJsZWQgYnV0IHlvdSBzcGVjaWZ5IHZhbHVlcyBmb3IgQnVja2V0IGFuZCBQcmVmaXgsIHRoZSB2YWx1ZXMgYXJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgQW1hem9uIFMzIGJ1Y2tldCB0byBzdG9yZSB0aGUgYWNjZXNzIGxvZ3MgaW4sIGZvciBleGFtcGxlLCBteWF3c2xvZ2J1Y2tldC5zMy5hbWF6b25hd3MuY29tLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQW4gb3B0aW9uYWwgc3RyaW5nIHRoYXQgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBwcmVmaXggdG8gdGhlIGFjY2VzcyBsb2cgZmlsZW5hbWVzIGZvciB0aGlzIGRpc3RyaWJ1dGlvbiwgZm9yIGV4YW1wbGUsIG15cHJlZml4Ly4gSWYgeW91IHdhbnQgdG8gZW5hYmxlIGxvZ2dpbmcsIGJ1dCB5b3UgZG8gbm90IHdhbnQgdG8gc3BlY2lmeSBhIHByZWZpeCwgeW91IHN0aWxsIG11c3QgaW5jbHVkZSBhbiBlbXB0eSBQcmVmaXggZWxlbWVudCBpbiB0aGUgTG9nZ2luZyBlbGVtZW50LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnV2hldGhlciB0aGUgZGlzdHJpYnV0aW9uIGlzIGVuYWJsZWQgdG8gYWNjZXB0IGVuZCB1c2VyIHJlcXVlc3RzIGZvciBjb250ZW50LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFVGFnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBjb25maWd1cmF0aW9uLiBGb3IgZXhhbXBsZTogRTJRV1JVSEFQT01RWkwuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdSZXF1ZXN0IElEIG9mIHRoZSBvcGVyYXRpb24nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRJbnZhbGlkYXRpb25SZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgaWRlbnRpZmllciBmb3IgdGhlIGludmFsaWRhdGlvbiByZXF1ZXN0LiBGb3IgZXhhbXBsZTogSURGRFZCRDYzMkJIRFM1LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHN0YXR1cyBvZiB0aGUgaW52YWxpZGF0aW9uIHJlcXVlc3QuIFdoZW4gdGhlIGludmFsaWRhdGlvbiBiYXRjaCBpcyBmaW5pc2hlZCwgdGhlIHN0YXR1cyBpcyBDb21wbGV0ZWQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ3JlYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGRhdGUgYW5kIHRpbWUgdGhlIGludmFsaWRhdGlvbiByZXF1ZXN0IHdhcyBmaXJzdCBtYWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ludmFsaWRhdGlvbkJhdGNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgY3VycmVudCBpbnZhbGlkYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBiYXRjaCByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUGF0aHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHBhdGggb2YgdGhlIG9iamVjdCB0byBpbnZhbGlkYXRlLiBUaGUgcGF0aCBpcyByZWxhdGl2ZSB0byB0aGUgZGlzdHJpYnV0aW9uIGFuZCBtdXN0IGJlZ2luIHdpdGggYSBzbGFzaCAoLykuIFlvdSBtdXN0IGVuY2xvc2UgZWFjaCBpbnZhbGlkYXRpb24gb2JqZWN0IHdpdGggdGhlIFBhdGggZWxlbWVudCB0YWdzLiBJZiB0aGUgcGF0aCBpbmNsdWRlcyBub24tQVNDSUkgY2hhcmFjdGVycyBvciB1bnNhZmUgY2hhcmFjdGVycyBhcyBkZWZpbmVkIGluIFJGQyAxNzgzIChodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMxNzM4LnR4dCksIFVSTCBlbmNvZGUgdGhvc2UgY2hhcmFjdGVycy4gRG8gbm90IFVSTCBlbmNvZGUgYW55IG90aGVyIGNoYXJhY3RlcnMgaW4gdGhlIHBhdGgsIG9yIENsb3VkRnJvbnQgd2lsbCBub3QgaW52YWxpZGF0ZSB0aGUgb2xkIHZlcnNpb24gb2YgdGhlIHVwZGF0ZWQgb2JqZWN0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBvYmplY3RzIHRoYXQgeW91IHdhbnQgdG8gaW52YWxpZGF0ZS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBhIGxpc3Qgb2YgdGhlIG9iamVjdHMgdGhhdCB5b3Ugd2FudCB0byBpbnZhbGlkYXRlLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQYXRoJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdQYXRoJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBuYW1lIHRoYXQgZW5zdXJlcyB0aGUgcmVxdWVzdCBjYW5cJ3QgYmUgcmVwbGF5ZWQuIElmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgbmV3IChubyBtYXR0ZXIgdGhlIGNvbnRlbnQgb2YgdGhlIFBhdGggb2JqZWN0KSwgYSBuZXcgZGlzdHJpYnV0aW9uIGlzIGNyZWF0ZWQuIElmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgYSB2YWx1ZSB5b3UgYWxyZWFkeSBzZW50IGluIGEgcHJldmlvdXMgcmVxdWVzdCB0byBjcmVhdGUgYW4gaW52YWxpZGF0aW9uIGJhdGNoLCBhbmQgdGhlIGNvbnRlbnQgb2YgZWFjaCBQYXRoIGVsZW1lbnQgaXMgaWRlbnRpY2FsIHRvIHRoZSBvcmlnaW5hbCByZXF1ZXN0LCB0aGUgcmVzcG9uc2UgaW5jbHVkZXMgdGhlIHNhbWUgaW5mb3JtYXRpb24gcmV0dXJuZWQgdG8gdGhlIG9yaWdpbmFsIHJlcXVlc3QuIElmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgYSB2YWx1ZSB5b3UgYWxyZWFkeSBzZW50IGluIGEgcHJldmlvdXMgcmVxdWVzdCB0byBjcmVhdGUgYSBkaXN0cmlidXRpb24gYnV0IHRoZSBjb250ZW50IG9mIGFueSBQYXRoIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LCBDbG91ZEZyb250IHJldHVybnMgYW4gSW52YWxpZGF0aW9uQmF0Y2hBbHJlYWR5RXhpc3RzIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdSZXF1ZXN0IElEIG9mIHRoZSBvcGVyYXRpb24nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRTdHJlYW1pbmdEaXN0cmlidXRpb25SZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgaWRlbnRpZmllciBmb3IgdGhlIHN0cmVhbWluZyBkaXN0cmlidXRpb24uIEZvciBleGFtcGxlOiBFR1RYQkQ3OUgyOVRSQTguJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIHN0cmVhbWluZyBkaXN0cmlidXRpb24uIFdoZW4gdGhlIHN0YXR1cyBpcyBEZXBsb3llZCwgdGhlIGRpc3RyaWJ1dGlvblwncyBpbmZvcm1hdGlvbiBpcyBmdWxseSBwcm9wYWdhdGVkIHRocm91Z2hvdXQgdGhlIEFtYXpvbiBDbG91ZEZyb250IHN5c3RlbS4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXN0TW9kaWZpZWRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgZGF0ZSBhbmQgdGltZSB0aGUgZGlzdHJpYnV0aW9uIHdhcyBsYXN0IG1vZGlmaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBkb21haW4gbmFtZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uLiBGb3IgZXhhbXBsZTogczVjMzlncWI4b3c2NHIuY2xvdWRmcm9udC5uZXQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWN0aXZlVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Nsb3VkRnJvbnQgYXV0b21hdGljYWxseSBhZGRzIHRoaXMgZWxlbWVudCB0byB0aGUgcmVzcG9uc2Ugb25seSBpZiB5b3VcJ3ZlIHNldCB1cCB0aGUgZGlzdHJpYnV0aW9uIHRvIHNlcnZlIHByaXZhdGUgY29udGVudCB3aXRoIHNpZ25lZCBVUkxzLiBUaGUgZWxlbWVudCBsaXN0cyB0aGUga2V5IHBhaXIgSURzIHRoYXQgQ2xvdWRGcm9udCBpcyBhd2FyZSBvZiBmb3IgZWFjaCB0cnVzdGVkIHNpZ25lci4gVGhlIFNpZ25lciBjaGlsZCBlbGVtZW50IGxpc3RzIHRoZSBBV1MgYWNjb3VudCBudW1iZXIgb2YgdGhlIHRydXN0ZWQgc2lnbmVyIChvciBhbiBlbXB0eSBTZWxmIGVsZW1lbnQgaWYgdGhlIHNpZ25lciBpcyB5b3UpLiBUaGUgU2lnbmVyIGVsZW1lbnQgYWxzbyBpbmNsdWRlcyB0aGUgSURzIG9mIGFueSBhY3RpdmUga2V5IHBhaXJzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdHJ1c3RlZCBzaWduZXJcJ3MgQVdTIGFjY291bnQuIElmIG5vIEtleVBhaXJJZCBlbGVtZW50IGFwcGVhcnMgZm9yIGEgU2lnbmVyLCB0aGF0IHNpZ25lciBjYW5cJ3QgY3JlYXRlIHdvcmtpbmcgc2lnbmVkIFVSTHMuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0VhY2ggYWN0aXZlIHRydXN0ZWQgc2lnbmVyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiB1bmlxdWUgdHJ1c3RlZCBzaWduZXJzIGluY2x1ZGVkIGluIGFsbCBjYWNoZSBiZWhhdmlvcnMuIEZvciBleGFtcGxlLCBpZiB0aHJlZSBjYWNoZSBiZWhhdmlvcnMgYWxsIGxpc3QgdGhlIHNhbWUgdGhyZWUgQVdTIGFjY291bnRzLCB0aGUgdmFsdWUgb2YgUXVhbnRpdHkgZm9yIEFjdGl2ZVRydXN0ZWRTaWduZXJzIHdpbGwgYmUgMy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgb25lIFNpZ25lciBjb21wbGV4IHR5cGUgZm9yIGVhY2ggdW5pcXVlIHRydXN0ZWQgc2lnbmVyIHRoYXQgaXMgc3BlY2lmaWVkIGluIHRoZSBUcnVzdGVkU2lnbmVycyBjb21wbGV4IHR5cGUsIGluY2x1ZGluZyB0cnVzdGVkIHNpZ25lcnMgaW4gdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IgYW5kIGluIGFsbCBvZiB0aGUgb3RoZXIgY2FjaGUgYmVoYXZpb3JzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTaWduZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgbGlzdHMgdGhlIEFXUyBhY2NvdW50cyB0aGF0IHdlcmUgaW5jbHVkZWQgaW4gdGhlIFRydXN0ZWRTaWduZXJzIGNvbXBsZXggdHlwZSwgYXMgd2VsbCBhcyB0aGVpciBhY3RpdmUgQ2xvdWRGcm9udCBrZXkgcGFpciBJRHMsIGlmIGFueS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2lnbmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBd3NBY2NvdW50TnVtYmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyBhbiBBV1MgYWNjb3VudCB0aGF0IGNhbiBjcmVhdGUgc2lnbmVkIFVSTHMuIFZhbHVlczogc2VsZiwgd2hpY2ggaW5kaWNhdGVzIHRoYXQgdGhlIEFXUyBhY2NvdW50IHRoYXQgd2FzIHVzZWQgdG8gY3JlYXRlIHRoZSBkaXN0cmlidXRpb24gY2FuIGNyZWF0ZWQgc2lnbmVkIFVSTHMsIG9yIGFuIEFXUyBhY2NvdW50IG51bWJlci4gT21pdCB0aGUgZGFzaGVzIGluIHRoZSBhY2NvdW50IG51bWJlci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5UGFpcklkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGxpc3RzIHRoZSBhY3RpdmUgQ2xvdWRGcm9udCBrZXkgcGFpcnMsIGlmIGFueSwgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIEF3c0FjY291bnROdW1iZXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIGFjdGl2ZSBDbG91ZEZyb250IGtleSBwYWlycyBmb3IgQXdzQWNjb3VudE51bWJlci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBsaXN0cyB0aGUgYWN0aXZlIENsb3VkRnJvbnQga2V5IHBhaXJzLCBpZiBhbnksIHRoYXQgYXJlIGFzc29jaWF0ZWQgd2l0aCBBd3NBY2NvdW50TnVtYmVyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlQYWlySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0tleVBhaXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgY3VycmVudCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBudW1iZXIgdGhhdCBlbnN1cmVzIHRoZSByZXF1ZXN0IGNhblwndCBiZSByZXBsYXllZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBuZXcgKG5vIG1hdHRlciB0aGUgY29udGVudCBvZiB0aGUgU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnIG9iamVjdCksIGEgbmV3IHN0cmVhbWluZyBkaXN0cmlidXRpb24gaXMgY3JlYXRlZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhIHN0cmVhbWluZyBkaXN0cmlidXRpb24sIGFuZCB0aGUgY29udGVudCBvZiB0aGUgU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnIGlzIGlkZW50aWNhbCB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdCAoaWdub3Jpbmcgd2hpdGUgc3BhY2UpLCB0aGUgcmVzcG9uc2UgaW5jbHVkZXMgdGhlIHNhbWUgaW5mb3JtYXRpb24gcmV0dXJuZWQgdG8gdGhlIG9yaWdpbmFsIHJlcXVlc3QuIElmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgYSB2YWx1ZSB5b3UgYWxyZWFkeSBzZW50IGluIGEgcHJldmlvdXMgcmVxdWVzdCB0byBjcmVhdGUgYSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uIGJ1dCB0aGUgY29udGVudCBvZiB0aGUgU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LCBDbG91ZEZyb250IHJldHVybnMgYSBEaXN0cmlidXRpb25BbHJlYWR5RXhpc3RzIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTM09yaWdpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBBbWF6b24gUzMgYnVja2V0IGZyb20gd2hpY2ggeW91IHdhbnQgQ2xvdWRGcm9udCB0byBnZXQgeW91ciBtZWRpYSBmaWxlcyBmb3IgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgRE5TIG5hbWUgb2YgdGhlIFMzIG9yaWdpbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luQWNjZXNzSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdZb3VyIFMzIG9yaWdpblwncyBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FsaWFzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCBDTkFNRXMgKGFsdGVybmF0ZSBkb21haW4gbmFtZXMpLCBpZiBhbnksIGZvciB0aGlzIHN0cmVhbWluZyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIENOQU1FcywgaWYgYW55LCBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ09wdGlvbmFsOiBBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIENOQU1FIGVsZW1lbnRzLCBpZiBhbnksIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4gSWYgUXVhbnRpdHkgaXMgMCwgeW91IGNhbiBvbWl0IEl0ZW1zLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ05BTUUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ29tbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBbnkgY29tbWVudHMgeW91IHdhbnQgdG8gaW5jbHVkZSBhYm91dCB0aGUgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTG9nZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRyb2xzIHdoZXRoZXIgYWNjZXNzIGxvZ3MgYXJlIHdyaXR0ZW4gZm9yIHRoZSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHNhdmUgYWNjZXNzIGxvZ3MgdG8gYW4gQW1hem9uIFMzIGJ1Y2tldC4gSWYgeW91IGRvIG5vdCB3YW50IHRvIGVuYWJsZSBsb2dnaW5nIHdoZW4geW91IGNyZWF0ZSBhIGRpc3RyaWJ1dGlvbiBvciBpZiB5b3Ugd2FudCB0byBkaXNhYmxlIGxvZ2dpbmcgZm9yIGFuIGV4aXN0aW5nIGRpc3RyaWJ1dGlvbiwgc3BlY2lmeSBmYWxzZSBmb3IgRW5hYmxlZCwgYW5kIHNwZWNpZnkgZW1wdHkgQnVja2V0IGFuZCBQcmVmaXggZWxlbWVudHMuIElmIHlvdSBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkIGJ1dCB5b3Ugc3BlY2lmeSB2YWx1ZXMgZm9yIEJ1Y2tldCBhbmQgUHJlZml4LCB0aGUgdmFsdWVzIGFyZSBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgQW1hem9uIFMzIGJ1Y2tldCB0byBzdG9yZSB0aGUgYWNjZXNzIGxvZ3MgaW4sIGZvciBleGFtcGxlLCBteWF3c2xvZ2J1Y2tldC5zMy5hbWF6b25hd3MuY29tLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBbiBvcHRpb25hbCBzdHJpbmcgdGhhdCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHByZWZpeCB0byB0aGUgYWNjZXNzIGxvZyBmaWxlbmFtZXMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLCBmb3IgZXhhbXBsZSwgbXlwcmVmaXgvLiBJZiB5b3Ugd2FudCB0byBlbmFibGUgbG9nZ2luZywgYnV0IHlvdSBkbyBub3Qgd2FudCB0byBzcGVjaWZ5IGEgcHJlZml4LCB5b3Ugc3RpbGwgbXVzdCBpbmNsdWRlIGFuIGVtcHR5IFByZWZpeCBlbGVtZW50IGluIHRoZSBMb2dnaW5nIGVsZW1lbnQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBzcGVjaWZpZXMgdGhlIEFXUyBhY2NvdW50cywgaWYgYW55LCB0aGF0IHlvdSB3YW50IHRvIGFsbG93IHRvIGNyZWF0ZSBzaWduZWQgVVJMcyBmb3IgcHJpdmF0ZSBjb250ZW50LiBJZiB5b3Ugd2FudCB0byByZXF1aXJlIHNpZ25lZCBVUkxzIGluIHJlcXVlc3RzIGZvciBvYmplY3RzIGluIHRoZSB0YXJnZXQgb3JpZ2luIHRoYXQgbWF0Y2ggdGhlIFBhdGhQYXR0ZXJuIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLCBzcGVjaWZ5IHRydWUgZm9yIEVuYWJsZWQsIGFuZCBzcGVjaWZ5IHRoZSBhcHBsaWNhYmxlIHZhbHVlcyBmb3IgUXVhbnRpdHkgYW5kIEl0ZW1zLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZ28gdG8gVXNpbmcgYSBTaWduZWQgVVJMIHRvIFNlcnZlIFByaXZhdGUgQ29udGVudCBpbiB0aGUgQW1hem9uIENsb3VkRnJvbnQgRGV2ZWxvcGVyIEd1aWRlLiBJZiB5b3UgZG9uXCd0IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyB0aGF0IG1hdGNoIFBhdGhQYXR0ZXJuLCBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkIGFuZCAwIGZvciBRdWFudGl0eS4gT21pdCBJdGVtcy4gVG8gYWRkLCBjaGFuZ2UsIG9yIHJlbW92ZSBvbmUgb3IgbW9yZSB0cnVzdGVkIHNpZ25lcnMsIGNoYW5nZSBFbmFibGVkIHRvIHRydWUgKGlmIGl0XCdzIGN1cnJlbnRseSBmYWxzZSksIGNoYW5nZSBRdWFudGl0eSBhcyBhcHBsaWNhYmxlLCBhbmQgc3BlY2lmeSBhbGwgb2YgdGhlIHRydXN0ZWQgc2lnbmVycyB0aGF0IHlvdSB3YW50IHRvIGluY2x1ZGUgaW4gdGhlIHVwZGF0ZWQgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0byByZXF1aXJlIGVuZCB1c2VycyB0byB1c2Ugc2lnbmVkIFVSTHMgdG8gYWNjZXNzIHRoZSBmaWxlcyBzcGVjaWZpZWQgYnkgUGF0aFBhdHRlcm4gYW5kIFRhcmdldE9yaWdpbklkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdXaGV0aGVyIHRoZSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uIGlzIGVuYWJsZWQgdG8gYWNjZXB0IGVuZCB1c2VyIHJlcXVlc3RzIGZvciBjb250ZW50LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VUYWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHN0cmVhbWluZyBkaXN0cmlidXRpb25cJ3MgaW5mb3JtYXRpb24uIEZvciBleGFtcGxlOiBFMlFXUlVIQVBPTVFaTC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1JlcXVlc3QgSUQgb2YgdGhlIG9wZXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbkNvbmZpZ1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ2FsbGVyUmVmZXJlbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBudW1iZXIgdGhhdCBlbnN1cmVzIHRoZSByZXF1ZXN0IGNhblwndCBiZSByZXBsYXllZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBuZXcgKG5vIG1hdHRlciB0aGUgY29udGVudCBvZiB0aGUgU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnIG9iamVjdCksIGEgbmV3IHN0cmVhbWluZyBkaXN0cmlidXRpb24gaXMgY3JlYXRlZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhIHN0cmVhbWluZyBkaXN0cmlidXRpb24sIGFuZCB0aGUgY29udGVudCBvZiB0aGUgU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnIGlzIGlkZW50aWNhbCB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdCAoaWdub3Jpbmcgd2hpdGUgc3BhY2UpLCB0aGUgcmVzcG9uc2UgaW5jbHVkZXMgdGhlIHNhbWUgaW5mb3JtYXRpb24gcmV0dXJuZWQgdG8gdGhlIG9yaWdpbmFsIHJlcXVlc3QuIElmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgYSB2YWx1ZSB5b3UgYWxyZWFkeSBzZW50IGluIGEgcHJldmlvdXMgcmVxdWVzdCB0byBjcmVhdGUgYSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uIGJ1dCB0aGUgY29udGVudCBvZiB0aGUgU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LCBDbG91ZEZyb250IHJldHVybnMgYSBEaXN0cmlidXRpb25BbHJlYWR5RXhpc3RzIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1MzT3JpZ2luJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBBbWF6b24gUzMgYnVja2V0IGZyb20gd2hpY2ggeW91IHdhbnQgQ2xvdWRGcm9udCB0byBnZXQgeW91ciBtZWRpYSBmaWxlcyBmb3IgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgRE5TIG5hbWUgb2YgdGhlIFMzIG9yaWdpbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luQWNjZXNzSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnWW91ciBTMyBvcmlnaW5cJ3Mgb3JpZ2luIGFjY2VzcyBpZGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FsaWFzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgQ05BTUVzIChhbHRlcm5hdGUgZG9tYWluIG5hbWVzKSwgaWYgYW55LCBmb3IgdGhpcyBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBDTkFNRXMsIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgQ05BTUUgZWxlbWVudHMsIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29tbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQW55IGNvbW1lbnRzIHlvdSB3YW50IHRvIGluY2x1ZGUgYWJvdXQgdGhlIHN0cmVhbWluZyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9nZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250cm9scyB3aGV0aGVyIGFjY2VzcyBsb2dzIGFyZSB3cml0dGVuIGZvciB0aGUgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3BlY2lmaWVzIHdoZXRoZXIgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBzYXZlIGFjY2VzcyBsb2dzIHRvIGFuIEFtYXpvbiBTMyBidWNrZXQuIElmIHlvdSBkbyBub3Qgd2FudCB0byBlbmFibGUgbG9nZ2luZyB3aGVuIHlvdSBjcmVhdGUgYSBkaXN0cmlidXRpb24gb3IgaWYgeW91IHdhbnQgdG8gZGlzYWJsZSBsb2dnaW5nIGZvciBhbiBleGlzdGluZyBkaXN0cmlidXRpb24sIHNwZWNpZnkgZmFsc2UgZm9yIEVuYWJsZWQsIGFuZCBzcGVjaWZ5IGVtcHR5IEJ1Y2tldCBhbmQgUHJlZml4IGVsZW1lbnRzLiBJZiB5b3Ugc3BlY2lmeSBmYWxzZSBmb3IgRW5hYmxlZCBidXQgeW91IHNwZWNpZnkgdmFsdWVzIGZvciBCdWNrZXQgYW5kIFByZWZpeCwgdGhlIHZhbHVlcyBhcmUgYXV0b21hdGljYWxseSBkZWxldGVkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBbWF6b24gUzMgYnVja2V0IHRvIHN0b3JlIHRoZSBhY2Nlc3MgbG9ncyBpbiwgZm9yIGV4YW1wbGUsIG15YXdzbG9nYnVja2V0LnMzLmFtYXpvbmF3cy5jb20uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBbiBvcHRpb25hbCBzdHJpbmcgdGhhdCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHByZWZpeCB0byB0aGUgYWNjZXNzIGxvZyBmaWxlbmFtZXMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLCBmb3IgZXhhbXBsZSwgbXlwcmVmaXgvLiBJZiB5b3Ugd2FudCB0byBlbmFibGUgbG9nZ2luZywgYnV0IHlvdSBkbyBub3Qgd2FudCB0byBzcGVjaWZ5IGEgcHJlZml4LCB5b3Ugc3RpbGwgbXVzdCBpbmNsdWRlIGFuIGVtcHR5IFByZWZpeCBlbGVtZW50IGluIHRoZSBMb2dnaW5nIGVsZW1lbnQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBzcGVjaWZpZXMgdGhlIEFXUyBhY2NvdW50cywgaWYgYW55LCB0aGF0IHlvdSB3YW50IHRvIGFsbG93IHRvIGNyZWF0ZSBzaWduZWQgVVJMcyBmb3IgcHJpdmF0ZSBjb250ZW50LiBJZiB5b3Ugd2FudCB0byByZXF1aXJlIHNpZ25lZCBVUkxzIGluIHJlcXVlc3RzIGZvciBvYmplY3RzIGluIHRoZSB0YXJnZXQgb3JpZ2luIHRoYXQgbWF0Y2ggdGhlIFBhdGhQYXR0ZXJuIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLCBzcGVjaWZ5IHRydWUgZm9yIEVuYWJsZWQsIGFuZCBzcGVjaWZ5IHRoZSBhcHBsaWNhYmxlIHZhbHVlcyBmb3IgUXVhbnRpdHkgYW5kIEl0ZW1zLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZ28gdG8gVXNpbmcgYSBTaWduZWQgVVJMIHRvIFNlcnZlIFByaXZhdGUgQ29udGVudCBpbiB0aGUgQW1hem9uIENsb3VkRnJvbnQgRGV2ZWxvcGVyIEd1aWRlLiBJZiB5b3UgZG9uXCd0IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyB0aGF0IG1hdGNoIFBhdGhQYXR0ZXJuLCBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkIGFuZCAwIGZvciBRdWFudGl0eS4gT21pdCBJdGVtcy4gVG8gYWRkLCBjaGFuZ2UsIG9yIHJlbW92ZSBvbmUgb3IgbW9yZSB0cnVzdGVkIHNpZ25lcnMsIGNoYW5nZSBFbmFibGVkIHRvIHRydWUgKGlmIGl0XCdzIGN1cnJlbnRseSBmYWxzZSksIGNoYW5nZSBRdWFudGl0eSBhcyBhcHBsaWNhYmxlLCBhbmQgc3BlY2lmeSBhbGwgb2YgdGhlIHRydXN0ZWQgc2lnbmVycyB0aGF0IHlvdSB3YW50IHRvIGluY2x1ZGUgaW4gdGhlIHVwZGF0ZWQgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0byByZXF1aXJlIGVuZCB1c2VycyB0byB1c2Ugc2lnbmVkIFVSTHMgdG8gYWNjZXNzIHRoZSBmaWxlcyBzcGVjaWZpZWQgYnkgUGF0aFBhdHRlcm4gYW5kIFRhcmdldE9yaWdpbklkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiB0cnVzdGVkIHNpZ25lcnMgZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdPcHRpb25hbDogQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyB0cnVzdGVkIHNpZ25lcnMgZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IuIElmIFF1YW50aXR5IGlzIDAsIHlvdSBjYW4gb21pdCBJdGVtcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnV2hldGhlciB0aGUgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbiBpcyBlbmFibGVkIHRvIGFjY2VwdCBlbmQgdXNlciByZXF1ZXN0cyBmb3IgY29udGVudC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgY29uZmlndXJhdGlvbi4gRm9yIGV4YW1wbGU6IEUyUVdSVUhBUE9NUVpMLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnUmVxdWVzdCBJRCBvZiB0aGUgb3BlcmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0aWVzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSB2YWx1ZSB5b3UgcHJvdmlkZWQgZm9yIHRoZSBNYXJrZXIgcmVxdWVzdCBwYXJhbWV0ZXIuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dE1hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnSWYgSXNUcnVuY2F0ZWQgaXMgdHJ1ZSwgdGhpcyBlbGVtZW50IGlzIHByZXNlbnQgYW5kIGNvbnRhaW5zIHRoZSB2YWx1ZSB5b3UgY2FuIHVzZSBmb3IgdGhlIE1hcmtlciByZXF1ZXN0IHBhcmFtZXRlciB0byBjb250aW51ZSBsaXN0aW5nIHlvdXIgb3JpZ2luIGFjY2VzcyBpZGVudGl0aWVzIHdoZXJlIHRoZXkgbGVmdCBvZmYuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSB2YWx1ZSB5b3UgcHJvdmlkZWQgZm9yIHRoZSBNYXhJdGVtcyByZXF1ZXN0IHBhcmFtZXRlci4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSXNUcnVuY2F0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgZmxhZyB0aGF0IGluZGljYXRlcyB3aGV0aGVyIG1vcmUgb3JpZ2luIGFjY2VzcyBpZGVudGl0aWVzIHJlbWFpbiB0byBiZSBsaXN0ZWQuIElmIHlvdXIgcmVzdWx0cyB3ZXJlIHRydW5jYXRlZCwgeW91IGNhbiBtYWtlIGEgZm9sbG93LXVwIHBhZ2luYXRpb24gcmVxdWVzdCB1c2luZyB0aGUgTWFya2VyIHJlcXVlc3QgcGFyYW1ldGVyIHRvIHJldHJpZXZlIG1vcmUgaXRlbXMgaW4gdGhlIGxpc3QuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIENsb3VkRnJvbnQgb3JpZ2luIGFjY2VzcyBpZGVudGl0aWVzIHRoYXQgd2VyZSBjcmVhdGVkIGJ5IHRoZSBjdXJyZW50IEFXUyBhY2NvdW50LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBvbmUgQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5U3VtbWFyeSBlbGVtZW50IGZvciBlYWNoIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgdGhhdCB3YXMgY3JlYXRlZCBieSB0aGUgY3VycmVudCBBV1MgYWNjb3VudC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlTdW1tYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3VtbWFyeSBvZiB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSBDbG91ZEZyb250IG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5U3VtbWFyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIElEIGZvciB0aGUgb3JpZ2luIGFjY2VzcyBpZGVudGl0eS4gRm9yIGV4YW1wbGU6IEU3NEZURTNBSkZKMjU2QS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNDYW5vbmljYWxVc2VySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBbWF6b24gUzMgY2Fub25pY2FsIHVzZXIgSUQgZm9yIHRoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LCB3aGljaCB5b3UgdXNlIHdoZW4gZ2l2aW5nIHRoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5IHJlYWQgcGVybWlzc2lvbiB0byBhbiBvYmplY3QgaW4gQW1hem9uIFMzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgY29tbWVudCBmb3IgdGhpcyBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LCBhcyBvcmlnaW5hbGx5IHNwZWNpZmllZCB3aGVuIGNyZWF0ZWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnUmVxdWVzdCBJRCBvZiB0aGUgb3BlcmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdERpc3RyaWJ1dGlvbnNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHZhbHVlIHlvdSBwcm92aWRlZCBmb3IgdGhlIE1hcmtlciByZXF1ZXN0IHBhcmFtZXRlci4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0TWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdJZiBJc1RydW5jYXRlZCBpcyB0cnVlLCB0aGlzIGVsZW1lbnQgaXMgcHJlc2VudCBhbmQgY29udGFpbnMgdGhlIHZhbHVlIHlvdSBjYW4gdXNlIGZvciB0aGUgTWFya2VyIHJlcXVlc3QgcGFyYW1ldGVyIHRvIGNvbnRpbnVlIGxpc3RpbmcgeW91ciBkaXN0cmlidXRpb25zIHdoZXJlIHRoZXkgbGVmdCBvZmYuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSB2YWx1ZSB5b3UgcHJvdmlkZWQgZm9yIHRoZSBNYXhJdGVtcyByZXF1ZXN0IHBhcmFtZXRlci4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSXNUcnVuY2F0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgZmxhZyB0aGF0IGluZGljYXRlcyB3aGV0aGVyIG1vcmUgZGlzdHJpYnV0aW9ucyByZW1haW4gdG8gYmUgbGlzdGVkLiBJZiB5b3VyIHJlc3VsdHMgd2VyZSB0cnVuY2F0ZWQsIHlvdSBjYW4gbWFrZSBhIGZvbGxvdy11cCBwYWdpbmF0aW9uIHJlcXVlc3QgdXNpbmcgdGhlIE1hcmtlciByZXF1ZXN0IHBhcmFtZXRlciB0byByZXRyaWV2ZSBtb3JlIGRpc3RyaWJ1dGlvbnMgaW4gdGhlIGxpc3QuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIGRpc3RyaWJ1dGlvbnMgdGhhdCB3ZXJlIGNyZWF0ZWQgYnkgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIG9uZSBEaXN0cmlidXRpb25TdW1tYXJ5IGVsZW1lbnQgZm9yIGVhY2ggZGlzdHJpYnV0aW9uIHRoYXQgd2FzIGNyZWF0ZWQgYnkgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRGlzdHJpYnV0aW9uU3VtbWFyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc3VtbWFyeSBvZiB0aGUgaW5mb3JtYXRpb24gZm9yIGFuIEFtYXpvbiBDbG91ZEZyb250IGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdEaXN0cmlidXRpb25TdW1tYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgaWRlbnRpZmllciBmb3IgdGhlIGRpc3RyaWJ1dGlvbi4gRm9yIGV4YW1wbGU6IEVERkRWQkQ2MzJCSERTNS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGlzIHJlc3BvbnNlIGVsZW1lbnQgaW5kaWNhdGVzIHRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgZGlzdHJpYnV0aW9uLiBXaGVuIHRoZSBzdGF0dXMgaXMgRGVwbG95ZWQsIHRoZSBkaXN0cmlidXRpb25cJ3MgaW5mb3JtYXRpb24gaXMgZnVsbHkgcHJvcGFnYXRlZCB0aHJvdWdob3V0IHRoZSBBbWF6b24gQ2xvdWRGcm9udCBzeXN0ZW0uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhc3RNb2RpZmllZFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBkYXRlIGFuZCB0aW1lIHRoZSBkaXN0cmlidXRpb24gd2FzIGxhc3QgbW9kaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBkb21haW4gbmFtZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBkaXN0cmlidXRpb24uIEZvciBleGFtcGxlOiBkNjA0NzIxZnhhYXF5OS5jbG91ZGZyb250Lm5ldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxpYXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCBDTkFNRXMgKGFsdGVybmF0ZSBkb21haW4gbmFtZXMpLCBpZiBhbnksIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIENOQU1FcywgaWYgYW55LCBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdPcHRpb25hbDogQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBDTkFNRSBlbGVtZW50cywgaWYgYW55LCBmb3IgdGhpcyBkaXN0cmlidXRpb24uIElmIFF1YW50aXR5IGlzIDAsIHlvdSBjYW4gb21pdCBJdGVtcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ05BTUUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ05BTUUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IG9yaWdpbnMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2Ygb3JpZ2lucyBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIG9yaWdpbnMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdPcmlnaW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgZGVzY3JpYmVzIHRoZSBBbWF6b24gUzMgYnVja2V0IG9yIHRoZSBIVFRQIHNlcnZlciAoZm9yIGV4YW1wbGUsIGEgd2ViIHNlcnZlcikgZnJvbSB3aGljaCBDbG91ZEZyb250IGdldHMgeW91ciBmaWxlcy5Zb3UgbXVzdCBjcmVhdGUgYXQgbGVhc3Qgb25lIG9yaWdpbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnT3JpZ2luJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgb3JpZ2luLiBUaGUgdmFsdWUgb2YgSWQgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBkaXN0cmlidXRpb24uIFlvdSB1c2UgdGhlIHZhbHVlIG9mIElkIHdoZW4geW91IGNyZWF0ZSBhIGNhY2hlIGJlaGF2aW9yLiBUaGUgSWQgaWRlbnRpZmllcyB0aGUgb3JpZ2luIHRoYXQgQ2xvdWRGcm9udCByb3V0ZXMgYSByZXF1ZXN0IHRvIHdoZW4gdGhlIHJlcXVlc3QgbWF0Y2hlcyB0aGUgcGF0aCBwYXR0ZXJuIGZvciB0aGF0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FtYXpvbiBTMyBvcmlnaW5zOiBUaGUgRE5TIG5hbWUgb2YgdGhlIEFtYXpvbiBTMyBidWNrZXQgZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzIGZvciB0aGlzIG9yaWdpbiwgZm9yIGV4YW1wbGUsIG15YXdzYnVja2V0LnMzLmFtYXpvbmF3cy5jb20uIEN1c3RvbSBvcmlnaW5zOiBUaGUgRE5TIGRvbWFpbiBuYW1lIGZvciB0aGUgSFRUUCBzZXJ2ZXIgZnJvbSB3aGljaCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGdldCBvYmplY3RzIGZvciB0aGlzIG9yaWdpbiwgZm9yIGV4YW1wbGUsIHd3dy5leGFtcGxlLmNvbS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNPcmlnaW5Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQW1hem9uIFMzIG9yaWdpbi4gSWYgdGhlIG9yaWdpbiBpcyBhIGN1c3RvbSBvcmlnaW4sIHVzZSB0aGUgQ3VzdG9tT3JpZ2luQ29uZmlnIGVsZW1lbnQgaW5zdGVhZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBDbG91ZEZyb250IG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgdG8gYXNzb2NpYXRlIHdpdGggdGhlIG9yaWdpbi4gVXNlIGFuIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgdG8gY29uZmlndXJlIHRoZSBvcmlnaW4gc28gdGhhdCBlbmQgdXNlcnMgY2FuIG9ubHkgYWNjZXNzIG9iamVjdHMgaW4gYW4gQW1hem9uIFMzIGJ1Y2tldCB0aHJvdWdoIENsb3VkRnJvbnQuIElmIHlvdSB3YW50IGVuZCB1c2VycyB0byBiZSBhYmxlIHRvIGFjY2VzcyBvYmplY3RzIHVzaW5nIGVpdGhlciB0aGUgQ2xvdWRGcm9udCBVUkwgb3IgdGhlIEFtYXpvbiBTMyBVUkwsIHNwZWNpZnkgYW4gZW1wdHkgT3JpZ2luQWNjZXNzSWRlbnRpdHkgZWxlbWVudC4gVG8gZGVsZXRlIHRoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5IGZyb20gYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCB1cGRhdGUgdGhlIGRpc3RyaWJ1dGlvbiBjb25maWd1cmF0aW9uIGFuZCBpbmNsdWRlIGFuIGVtcHR5IE9yaWdpbkFjY2Vzc0lkZW50aXR5IGVsZW1lbnQuIFRvIHJlcGxhY2UgdGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHksIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIHNwZWNpZnkgdGhlIG5ldyBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RvbU9yaWdpbkNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IGEgY3VzdG9tIG9yaWdpbi4gSWYgdGhlIG9yaWdpbiBpcyBhbiBBbWF6b24gUzMgYnVja2V0LCB1c2UgdGhlIFMzT3JpZ2luQ29uZmlnIGVsZW1lbnQgaW5zdGVhZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIVFRQUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBIVFRQIHBvcnQgdGhlIGN1c3RvbSBvcmlnaW4gbGlzdGVucyBvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hUVFBTUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBIVFRQUyBwb3J0IHRoZSBjdXN0b20gb3JpZ2luIGxpc3RlbnMgb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5Qcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBvcmlnaW4gcHJvdG9jb2wgcG9saWN5IHRvIGFwcGx5IHRvIHlvdXIgb3JpZ2luLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0Q2FjaGVCZWhhdmlvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBkZXNjcmliZXMgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IgaWYgeW91IGRvIG5vdCBzcGVjaWZ5IGEgQ2FjaGVCZWhhdmlvciBlbGVtZW50IG9yIGlmIGZpbGVzIGRvblwndCBtYXRjaCBhbnkgb2YgdGhlIHZhbHVlcyBvZiBQYXRoUGF0dGVybiBpbiBDYWNoZUJlaGF2aW9yIGVsZW1lbnRzLllvdSBtdXN0IGNyZWF0ZSBleGFjdGx5IG9uZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldE9yaWdpbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSB2YWx1ZSBvZiBJRCBmb3IgdGhlIG9yaWdpbiB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcm91dGUgcmVxdWVzdHMgdG8gd2hlbiBhIHJlcXVlc3QgbWF0Y2hlcyB0aGUgcGF0aCBwYXR0ZXJuIGVpdGhlciBmb3IgYSBjYWNoZSBiZWhhdmlvciBvciBmb3IgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmRlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IHNwZWNpZmllcyBob3cgQ2xvdWRGcm9udCBoYW5kbGVzIHF1ZXJ5IHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVlcnlTdHJpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdJbmRpY2F0ZXMgd2hldGhlciB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGZvcndhcmQgcXVlcnkgc3RyaW5ncyB0byB0aGUgb3JpZ2luIHRoYXQgaXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY2FjaGUgYmVoYXZpb3IuIElmIHNvLCBzcGVjaWZ5IHRydWU7IGlmIG5vdCwgc3BlY2lmeSBmYWxzZS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBzcGVjaWZpZXMgdGhlIEFXUyBhY2NvdW50cywgaWYgYW55LCB0aGF0IHlvdSB3YW50IHRvIGFsbG93IHRvIGNyZWF0ZSBzaWduZWQgVVJMcyBmb3IgcHJpdmF0ZSBjb250ZW50LiBJZiB5b3Ugd2FudCB0byByZXF1aXJlIHNpZ25lZCBVUkxzIGluIHJlcXVlc3RzIGZvciBvYmplY3RzIGluIHRoZSB0YXJnZXQgb3JpZ2luIHRoYXQgbWF0Y2ggdGhlIFBhdGhQYXR0ZXJuIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLCBzcGVjaWZ5IHRydWUgZm9yIEVuYWJsZWQsIGFuZCBzcGVjaWZ5IHRoZSBhcHBsaWNhYmxlIHZhbHVlcyBmb3IgUXVhbnRpdHkgYW5kIEl0ZW1zLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZ28gdG8gVXNpbmcgYSBTaWduZWQgVVJMIHRvIFNlcnZlIFByaXZhdGUgQ29udGVudCBpbiB0aGUgQW1hem9uIENsb3VkRnJvbnQgRGV2ZWxvcGVyIEd1aWRlLiBJZiB5b3UgZG9uXCd0IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyB0aGF0IG1hdGNoIFBhdGhQYXR0ZXJuLCBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkIGFuZCAwIGZvciBRdWFudGl0eS4gT21pdCBJdGVtcy4gVG8gYWRkLCBjaGFuZ2UsIG9yIHJlbW92ZSBvbmUgb3IgbW9yZSB0cnVzdGVkIHNpZ25lcnMsIGNoYW5nZSBFbmFibGVkIHRvIHRydWUgKGlmIGl0XCdzIGN1cnJlbnRseSBmYWxzZSksIGNoYW5nZSBRdWFudGl0eSBhcyBhcHBsaWNhYmxlLCBhbmQgc3BlY2lmeSBhbGwgb2YgdGhlIHRydXN0ZWQgc2lnbmVycyB0aGF0IHlvdSB3YW50IHRvIGluY2x1ZGUgaW4gdGhlIHVwZGF0ZWQgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0byByZXF1aXJlIGVuZCB1c2VycyB0byB1c2Ugc2lnbmVkIFVSTHMgdG8gYWNjZXNzIHRoZSBmaWxlcyBzcGVjaWZpZWQgYnkgUGF0aFBhdHRlcm4gYW5kIFRhcmdldE9yaWdpbklkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlld2VyUHJvdG9jb2xQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVXNlIHRoaXMgZWxlbWVudCB0byBzcGVjaWZ5IHRoZSBwcm90b2NvbCB0aGF0IHVzZXJzIGNhbiB1c2UgdG8gYWNjZXNzIHRoZSBmaWxlcyBpbiB0aGUgb3JpZ2luIHNwZWNpZmllZCBieSBUYXJnZXRPcmlnaW5JZCB3aGVuIGEgcmVxdWVzdCBtYXRjaGVzIHRoZSBwYXRoIHBhdHRlcm4gaW4gUGF0aFBhdHRlcm4uIElmIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gYWxsb3cgZW5kIHVzZXJzIHRvIHVzZSBhbnkgYXZhaWxhYmxlIHByb3RvY29sLCBzcGVjaWZ5IGFsbG93LWFsbC4gSWYgeW91IHdhbnQgQ2xvdWRGcm9udCB0byByZXF1aXJlIEhUVFBTLCBzcGVjaWZ5IGh0dHBzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5UVEwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG1pbmltdW0gYW1vdW50IG9mIHRpbWUgdGhhdCB5b3Ugd2FudCBvYmplY3RzIHRvIHN0YXkgaW4gQ2xvdWRGcm9udCBjYWNoZXMgYmVmb3JlIENsb3VkRnJvbnQgcXVlcmllcyB5b3VyIG9yaWdpbiB0byBzZWUgd2hldGhlciB0aGUgb2JqZWN0IGhhcyBiZWVuIHVwZGF0ZWQuWW91IGNhbiBzcGVjaWZ5IGEgdmFsdWUgZnJvbSAwIHRvIDMsMTUzLDYwMCwwMDAgc2Vjb25kcyAoMTAwIHllYXJzKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZUJlaGF2aW9ycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyB6ZXJvIG9yIG1vcmUgQ2FjaGVCZWhhdmlvciBlbGVtZW50cy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIGNhY2hlIGJlaGF2aW9ycyBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdPcHRpb25hbDogQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBjYWNoZSBiZWhhdmlvcnMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NhY2hlQmVoYXZpb3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgZGVzY3JpYmVzIGhvdyBDbG91ZEZyb250IHByb2Nlc3NlcyByZXF1ZXN0cy4gWW91IGNhbiBjcmVhdGUgdXAgdG8gMTAgY2FjaGUgYmVoYXZpb3JzLllvdSBtdXN0IGNyZWF0ZSBhdCBsZWFzdCBhcyBtYW55IGNhY2hlIGJlaGF2aW9ycyAoaW5jbHVkaW5nIHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yKSBhcyB5b3UgaGF2ZSBvcmlnaW5zIGlmIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gZGlzdHJpYnV0ZSBvYmplY3RzIGZyb20gYWxsIG9mIHRoZSBvcmlnaW5zLiBFYWNoIGNhY2hlIGJlaGF2aW9yIHNwZWNpZmllcyB0aGUgb25lIG9yaWdpbiBmcm9tIHdoaWNoIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gZ2V0IG9iamVjdHMuIElmIHlvdSBoYXZlIHR3byBvcmlnaW5zIGFuZCBvbmx5IHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yLCB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvciB3aWxsIGNhdXNlIENsb3VkRnJvbnQgdG8gZ2V0IG9iamVjdHMgZnJvbSBvbmUgb2YgdGhlIG9yaWdpbnMsIGJ1dCB0aGUgb3RoZXIgb3JpZ2luIHdpbGwgbmV2ZXIgYmUgdXNlZC4gSWYgeW91IGRvblwndCB3YW50IHRvIHNwZWNpZnkgYW55IGNhY2hlIGJlaGF2aW9ycywgaW5jbHVkZSBvbmx5IGFuIGVtcHR5IENhY2hlQmVoYXZpb3JzIGVsZW1lbnQuIERvblwndCBpbmNsdWRlIGFuIGVtcHR5IENhY2hlQmVoYXZpb3IgZWxlbWVudCwgb3IgQ2xvdWRGcm9udCByZXR1cm5zIGEgTWFsZm9ybWVkWE1MIGVycm9yLiBUbyBkZWxldGUgYWxsIGNhY2hlIGJlaGF2aW9ycyBpbiBhbiBleGlzdGluZyBkaXN0cmlidXRpb24sIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIGluY2x1ZGUgb25seSBhbiBlbXB0eSBDYWNoZUJlaGF2aW9ycyBlbGVtZW50LiBUbyBhZGQsIGNoYW5nZSwgb3IgcmVtb3ZlIG9uZSBvciBtb3JlIGNhY2hlIGJlaGF2aW9ycywgdXBkYXRlIHRoZSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbiBhbmQgc3BlY2lmeSBhbGwgb2YgdGhlIGNhY2hlIGJlaGF2aW9ycyB0aGF0IHlvdSB3YW50IHRvIGluY2x1ZGUgaW4gdGhlIHVwZGF0ZWQgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDYWNoZUJlaGF2aW9yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXRoUGF0dGVybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgcGF0dGVybiAoZm9yIGV4YW1wbGUsIGltYWdlcy8qLmpwZykgdGhhdCBzcGVjaWZpZXMgd2hpY2ggcmVxdWVzdHMgeW91IHdhbnQgdGhpcyBjYWNoZSBiZWhhdmlvciB0byBhcHBseSB0by4gV2hlbiBDbG91ZEZyb250IHJlY2VpdmVzIGFuIGVuZC11c2VyIHJlcXVlc3QsIHRoZSByZXF1ZXN0ZWQgcGF0aCBpcyBjb21wYXJlZCB3aXRoIHBhdGggcGF0dGVybnMgaW4gdGhlIG9yZGVyIGluIHdoaWNoIGNhY2hlIGJlaGF2aW9ycyBhcmUgbGlzdGVkIGluIHRoZSBkaXN0cmlidXRpb24uIFRoZSBwYXRoIHBhdHRlcm4gZm9yIHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yIGlzICogYW5kIGNhbm5vdCBiZSBjaGFuZ2VkLiBJZiB0aGUgcmVxdWVzdCBmb3IgYW4gb2JqZWN0IGRvZXMgbm90IG1hdGNoIHRoZSBwYXRoIHBhdHRlcm4gZm9yIGFueSBjYWNoZSBiZWhhdmlvcnMsIENsb3VkRnJvbnQgYXBwbGllcyB0aGUgYmVoYXZpb3IgaW4gdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldE9yaWdpbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSB2YWx1ZSBvZiBJRCBmb3IgdGhlIG9yaWdpbiB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcm91dGUgcmVxdWVzdHMgdG8gd2hlbiBhIHJlcXVlc3QgbWF0Y2hlcyB0aGUgcGF0aCBwYXR0ZXJuIGVpdGhlciBmb3IgYSBjYWNoZSBiZWhhdmlvciBvciBmb3IgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmRlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IHNwZWNpZmllcyBob3cgQ2xvdWRGcm9udCBoYW5kbGVzIHF1ZXJ5IHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVlcnlTdHJpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdJbmRpY2F0ZXMgd2hldGhlciB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGZvcndhcmQgcXVlcnkgc3RyaW5ncyB0byB0aGUgb3JpZ2luIHRoYXQgaXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY2FjaGUgYmVoYXZpb3IuIElmIHNvLCBzcGVjaWZ5IHRydWU7IGlmIG5vdCwgc3BlY2lmeSBmYWxzZS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBzcGVjaWZpZXMgdGhlIEFXUyBhY2NvdW50cywgaWYgYW55LCB0aGF0IHlvdSB3YW50IHRvIGFsbG93IHRvIGNyZWF0ZSBzaWduZWQgVVJMcyBmb3IgcHJpdmF0ZSBjb250ZW50LiBJZiB5b3Ugd2FudCB0byByZXF1aXJlIHNpZ25lZCBVUkxzIGluIHJlcXVlc3RzIGZvciBvYmplY3RzIGluIHRoZSB0YXJnZXQgb3JpZ2luIHRoYXQgbWF0Y2ggdGhlIFBhdGhQYXR0ZXJuIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLCBzcGVjaWZ5IHRydWUgZm9yIEVuYWJsZWQsIGFuZCBzcGVjaWZ5IHRoZSBhcHBsaWNhYmxlIHZhbHVlcyBmb3IgUXVhbnRpdHkgYW5kIEl0ZW1zLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZ28gdG8gVXNpbmcgYSBTaWduZWQgVVJMIHRvIFNlcnZlIFByaXZhdGUgQ29udGVudCBpbiB0aGUgQW1hem9uIENsb3VkRnJvbnQgRGV2ZWxvcGVyIEd1aWRlLiBJZiB5b3UgZG9uXCd0IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyB0aGF0IG1hdGNoIFBhdGhQYXR0ZXJuLCBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkIGFuZCAwIGZvciBRdWFudGl0eS4gT21pdCBJdGVtcy4gVG8gYWRkLCBjaGFuZ2UsIG9yIHJlbW92ZSBvbmUgb3IgbW9yZSB0cnVzdGVkIHNpZ25lcnMsIGNoYW5nZSBFbmFibGVkIHRvIHRydWUgKGlmIGl0XCdzIGN1cnJlbnRseSBmYWxzZSksIGNoYW5nZSBRdWFudGl0eSBhcyBhcHBsaWNhYmxlLCBhbmQgc3BlY2lmeSBhbGwgb2YgdGhlIHRydXN0ZWQgc2lnbmVycyB0aGF0IHlvdSB3YW50IHRvIGluY2x1ZGUgaW4gdGhlIHVwZGF0ZWQgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0byByZXF1aXJlIGVuZCB1c2VycyB0byB1c2Ugc2lnbmVkIFVSTHMgdG8gYWNjZXNzIHRoZSBmaWxlcyBzcGVjaWZpZWQgYnkgUGF0aFBhdHRlcm4gYW5kIFRhcmdldE9yaWdpbklkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlld2VyUHJvdG9jb2xQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVXNlIHRoaXMgZWxlbWVudCB0byBzcGVjaWZ5IHRoZSBwcm90b2NvbCB0aGF0IHVzZXJzIGNhbiB1c2UgdG8gYWNjZXNzIHRoZSBmaWxlcyBpbiB0aGUgb3JpZ2luIHNwZWNpZmllZCBieSBUYXJnZXRPcmlnaW5JZCB3aGVuIGEgcmVxdWVzdCBtYXRjaGVzIHRoZSBwYXRoIHBhdHRlcm4gaW4gUGF0aFBhdHRlcm4uIElmIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gYWxsb3cgZW5kIHVzZXJzIHRvIHVzZSBhbnkgYXZhaWxhYmxlIHByb3RvY29sLCBzcGVjaWZ5IGFsbG93LWFsbC4gSWYgeW91IHdhbnQgQ2xvdWRGcm9udCB0byByZXF1aXJlIEhUVFBTLCBzcGVjaWZ5IGh0dHBzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5UVEwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG1pbmltdW0gYW1vdW50IG9mIHRpbWUgdGhhdCB5b3Ugd2FudCBvYmplY3RzIHRvIHN0YXkgaW4gQ2xvdWRGcm9udCBjYWNoZXMgYmVmb3JlIENsb3VkRnJvbnQgcXVlcmllcyB5b3VyIG9yaWdpbiB0byBzZWUgd2hldGhlciB0aGUgb2JqZWN0IGhhcyBiZWVuIHVwZGF0ZWQuWW91IGNhbiBzcGVjaWZ5IGEgdmFsdWUgZnJvbSAwIHRvIDMsMTUzLDYwMCwwMDAgc2Vjb25kcyAoMTAwIHllYXJzKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgY29tbWVudCBvcmlnaW5hbGx5IHNwZWNpZmllZCB3aGVuIHRoaXMgZGlzdHJpYnV0aW9uIHdhcyBjcmVhdGVkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdXaGV0aGVyIHRoZSBkaXN0cmlidXRpb24gaXMgZW5hYmxlZCB0byBhY2NlcHQgZW5kIHVzZXIgcmVxdWVzdHMgZm9yIGNvbnRlbnQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1JlcXVlc3QgSUQgb2YgdGhlIG9wZXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RJbnZhbGlkYXRpb25zUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSB2YWx1ZSB5b3UgcHJvdmlkZWQgZm9yIHRoZSBNYXJrZXIgcmVxdWVzdCBwYXJhbWV0ZXIuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dE1hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnSWYgSXNUcnVuY2F0ZWQgaXMgdHJ1ZSwgdGhpcyBlbGVtZW50IGlzIHByZXNlbnQgYW5kIGNvbnRhaW5zIHRoZSB2YWx1ZSB5b3UgY2FuIHVzZSBmb3IgdGhlIE1hcmtlciByZXF1ZXN0IHBhcmFtZXRlciB0byBjb250aW51ZSBsaXN0aW5nIHlvdXIgaW52YWxpZGF0aW9uIGJhdGNoZXMgd2hlcmUgdGhleSBsZWZ0IG9mZi4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHZhbHVlIHlvdSBwcm92aWRlZCBmb3IgdGhlIE1heEl0ZW1zIHJlcXVlc3QgcGFyYW1ldGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJc1RydW5jYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBmbGFnIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgbW9yZSBpbnZhbGlkYXRpb24gYmF0Y2ggcmVxdWVzdHMgcmVtYWluIHRvIGJlIGxpc3RlZC4gSWYgeW91ciByZXN1bHRzIHdlcmUgdHJ1bmNhdGVkLCB5b3UgY2FuIG1ha2UgYSBmb2xsb3ctdXAgcGFnaW5hdGlvbiByZXF1ZXN0IHVzaW5nIHRoZSBNYXJrZXIgcmVxdWVzdCBwYXJhbWV0ZXIgdG8gcmV0cmlldmUgbW9yZSBpbnZhbGlkYXRpb24gYmF0Y2hlcyBpbiB0aGUgbGlzdC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgaW52YWxpZGF0aW9uIGJhdGNoZXMgdGhhdCB3ZXJlIGNyZWF0ZWQgYnkgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIG9uZSBJbnZhbGlkYXRpb25TdW1tYXJ5IGVsZW1lbnQgZm9yIGVhY2ggaW52YWxpZGF0aW9uIGJhdGNoIHRoYXQgd2FzIGNyZWF0ZWQgYnkgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSW52YWxpZGF0aW9uU3VtbWFyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1N1bW1hcnkgb2YgYW4gaW52YWxpZGF0aW9uIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSW52YWxpZGF0aW9uU3VtbWFyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHVuaXF1ZSBJRCBmb3IgYW4gaW52YWxpZGF0aW9uIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHN0YXR1cyBvZiBhbiBpbnZhbGlkYXRpb24gcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdSZXF1ZXN0IElEIG9mIHRoZSBvcGVyYXRpb24nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0U3RyZWFtaW5nRGlzdHJpYnV0aW9uc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgdmFsdWUgeW91IHByb3ZpZGVkIGZvciB0aGUgTWFya2VyIHJlcXVlc3QgcGFyYW1ldGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0lmIElzVHJ1bmNhdGVkIGlzIHRydWUsIHRoaXMgZWxlbWVudCBpcyBwcmVzZW50IGFuZCBjb250YWlucyB0aGUgdmFsdWUgeW91IGNhbiB1c2UgZm9yIHRoZSBNYXJrZXIgcmVxdWVzdCBwYXJhbWV0ZXIgdG8gY29udGludWUgbGlzdGluZyB5b3VyIHN0cmVhbWluZyBkaXN0cmlidXRpb25zIHdoZXJlIHRoZXkgbGVmdCBvZmYuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSB2YWx1ZSB5b3UgcHJvdmlkZWQgZm9yIHRoZSBNYXhJdGVtcyByZXF1ZXN0IHBhcmFtZXRlci4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSXNUcnVuY2F0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgZmxhZyB0aGF0IGluZGljYXRlcyB3aGV0aGVyIG1vcmUgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbnMgcmVtYWluIHRvIGJlIGxpc3RlZC4gSWYgeW91ciByZXN1bHRzIHdlcmUgdHJ1bmNhdGVkLCB5b3UgY2FuIG1ha2UgYSBmb2xsb3ctdXAgcGFnaW5hdGlvbiByZXF1ZXN0IHVzaW5nIHRoZSBNYXJrZXIgcmVxdWVzdCBwYXJhbWV0ZXIgdG8gcmV0cmlldmUgbW9yZSBkaXN0cmlidXRpb25zIGluIHRoZSBsaXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBzdHJlYW1pbmcgZGlzdHJpYnV0aW9ucyB0aGF0IHdlcmUgY3JlYXRlZCBieSB0aGUgY3VycmVudCBBV1MgYWNjb3VudC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgb25lIFN0cmVhbWluZ0Rpc3RyaWJ1dGlvblN1bW1hcnkgZWxlbWVudCBmb3IgZWFjaCBkaXN0cmlidXRpb24gdGhhdCB3YXMgY3JlYXRlZCBieSB0aGUgY3VycmVudCBBV1MgYWNjb3VudC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJlYW1pbmdEaXN0cmlidXRpb25TdW1tYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzdW1tYXJ5IG9mIHRoZSBpbmZvcm1hdGlvbiBmb3IgYW4gQW1hem9uIENsb3VkRnJvbnQgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTdHJlYW1pbmdEaXN0cmlidXRpb25TdW1tYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgaWRlbnRpZmllciBmb3IgdGhlIGRpc3RyaWJ1dGlvbi4gRm9yIGV4YW1wbGU6IEVERkRWQkQ2MzJCSERTNS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBkaXN0cmlidXRpb24uIFdoZW4gdGhlIHN0YXR1cyBpcyBEZXBsb3llZCwgdGhlIGRpc3RyaWJ1dGlvblwncyBpbmZvcm1hdGlvbiBpcyBmdWxseSBwcm9wYWdhdGVkIHRocm91Z2hvdXQgdGhlIEFtYXpvbiBDbG91ZEZyb250IHN5c3RlbS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdE1vZGlmaWVkVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGRhdGUgYW5kIHRpbWUgdGhlIGRpc3RyaWJ1dGlvbiB3YXMgbGFzdCBtb2RpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGRvbWFpbiBuYW1lIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGRpc3RyaWJ1dGlvbi4gRm9yIGV4YW1wbGU6IGQ2MDQ3MjFmeGFhcXk5LmNsb3VkZnJvbnQubmV0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTM09yaWdpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQW1hem9uIFMzIGJ1Y2tldCBmcm9tIHdoaWNoIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gZ2V0IHlvdXIgbWVkaWEgZmlsZXMgZm9yIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBETlMgbmFtZSBvZiB0aGUgUzMgb3JpZ2luLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdZb3VyIFMzIG9yaWdpblwncyBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxpYXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCBDTkFNRXMgKGFsdGVybmF0ZSBkb21haW4gbmFtZXMpLCBpZiBhbnksIGZvciB0aGlzIHN0cmVhbWluZyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBDTkFNRXMsIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgQ05BTUUgZWxlbWVudHMsIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgc3BlY2lmaWVzIHRoZSBBV1MgYWNjb3VudHMsIGlmIGFueSwgdGhhdCB5b3Ugd2FudCB0byBhbGxvdyB0byBjcmVhdGUgc2lnbmVkIFVSTHMgZm9yIHByaXZhdGUgY29udGVudC4gSWYgeW91IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyBpbiB0aGUgdGFyZ2V0IG9yaWdpbiB0aGF0IG1hdGNoIHRoZSBQYXRoUGF0dGVybiBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvciwgc3BlY2lmeSB0cnVlIGZvciBFbmFibGVkLCBhbmQgc3BlY2lmeSB0aGUgYXBwbGljYWJsZSB2YWx1ZXMgZm9yIFF1YW50aXR5IGFuZCBJdGVtcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIGdvIHRvIFVzaW5nIGEgU2lnbmVkIFVSTCB0byBTZXJ2ZSBQcml2YXRlIENvbnRlbnQgaW4gdGhlIEFtYXpvbiBDbG91ZEZyb250IERldmVsb3BlciBHdWlkZS4gSWYgeW91IGRvblwndCB3YW50IHRvIHJlcXVpcmUgc2lnbmVkIFVSTHMgaW4gcmVxdWVzdHMgZm9yIG9iamVjdHMgdGhhdCBtYXRjaCBQYXRoUGF0dGVybiwgc3BlY2lmeSBmYWxzZSBmb3IgRW5hYmxlZCBhbmQgMCBmb3IgUXVhbnRpdHkuIE9taXQgSXRlbXMuIFRvIGFkZCwgY2hhbmdlLCBvciByZW1vdmUgb25lIG9yIG1vcmUgdHJ1c3RlZCBzaWduZXJzLCBjaGFuZ2UgRW5hYmxlZCB0byB0cnVlIChpZiBpdFwncyBjdXJyZW50bHkgZmFsc2UpLCBjaGFuZ2UgUXVhbnRpdHkgYXMgYXBwbGljYWJsZSwgYW5kIHNwZWNpZnkgYWxsIG9mIHRoZSB0cnVzdGVkIHNpZ25lcnMgdGhhdCB5b3Ugd2FudCB0byBpbmNsdWRlIGluIHRoZSB1cGRhdGVkIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IHRvIHJlcXVpcmUgZW5kIHVzZXJzIHRvIHVzZSBzaWduZWQgVVJMcyB0byBhY2Nlc3MgdGhlIGZpbGVzIHNwZWNpZmllZCBieSBQYXRoUGF0dGVybiBhbmQgVGFyZ2V0T3JpZ2luSWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ09wdGlvbmFsOiBBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4gSWYgUXVhbnRpdHkgaXMgMCwgeW91IGNhbiBvbWl0IEl0ZW1zLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgY29tbWVudCBvcmlnaW5hbGx5IHNwZWNpZmllZCB3aGVuIHRoaXMgZGlzdHJpYnV0aW9uIHdhcyBjcmVhdGVkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdXaGV0aGVyIHRoZSBkaXN0cmlidXRpb24gaXMgZW5hYmxlZCB0byBhY2NlcHQgZW5kIHVzZXIgcmVxdWVzdHMgZm9yIGNvbnRlbnQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1JlcXVlc3QgSUQgb2YgdGhlIG9wZXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eVJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBJRCBmb3IgdGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkuIEZvciBleGFtcGxlOiBFNzRGVEUzQUpGSjI1NkEuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUzNDYW5vbmljYWxVc2VySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBbWF6b24gUzMgY2Fub25pY2FsIHVzZXIgSUQgZm9yIHRoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LCB3aGljaCB5b3UgdXNlIHdoZW4gZ2l2aW5nIHRoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5IHJlYWQgcGVybWlzc2lvbiB0byBhbiBvYmplY3QgaW4gQW1hem9uIFMzLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Nsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIGlkZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FsbGVyUmVmZXJlbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgdW5pcXVlIG51bWJlciB0aGF0IGVuc3VyZXMgdGhlIHJlcXVlc3QgY2FuXCd0IGJlIHJlcGxheWVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIG5ldyAobm8gbWF0dGVyIHRoZSBjb250ZW50IG9mIHRoZSBDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlDb25maWcgb2JqZWN0KSwgYSBuZXcgb3JpZ2luIGFjY2VzcyBpZGVudGl0eSBpcyBjcmVhdGVkLiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGFuIGlkZW50aXR5LCBhbmQgdGhlIGNvbnRlbnQgb2YgdGhlIENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUNvbmZpZyBpcyBpZGVudGljYWwgdG8gdGhlIG9yaWdpbmFsIHJlcXVlc3QgKGlnbm9yaW5nIHdoaXRlIHNwYWNlKSwgdGhlIHJlc3BvbnNlIGluY2x1ZGVzIHRoZSBzYW1lIGluZm9ybWF0aW9uIHJldHVybmVkIHRvIHRoZSBvcmlnaW5hbCByZXF1ZXN0LiBJZiB0aGUgQ2FsbGVyUmVmZXJlbmNlIGlzIGEgdmFsdWUgeW91IGFscmVhZHkgc2VudCBpbiBhIHByZXZpb3VzIHJlcXVlc3QgdG8gY3JlYXRlIGFuIGlkZW50aXR5IGJ1dCB0aGUgY29udGVudCBvZiB0aGUgQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LCBDbG91ZEZyb250IHJldHVybnMgYSBDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlBbHJlYWR5RXhpc3RzIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FueSBjb21tZW50cyB5b3Ugd2FudCB0byBpbmNsdWRlIGFib3V0IHRoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgY29uZmlndXJhdGlvbi4gRm9yIGV4YW1wbGU6IEUyUVdSVUhBUE9NUVpMLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnUmVxdWVzdCBJRCBvZiB0aGUgb3BlcmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlRGlzdHJpYnV0aW9uUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGlkZW50aWZpZXIgZm9yIHRoZSBkaXN0cmlidXRpb24uIEZvciBleGFtcGxlOiBFREZEVkJENjMyQkhEUzUuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGlzIHJlc3BvbnNlIGVsZW1lbnQgaW5kaWNhdGVzIHRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgZGlzdHJpYnV0aW9uLiBXaGVuIHRoZSBzdGF0dXMgaXMgRGVwbG95ZWQsIHRoZSBkaXN0cmlidXRpb25cJ3MgaW5mb3JtYXRpb24gaXMgZnVsbHkgcHJvcGFnYXRlZCB0aHJvdWdob3V0IHRoZSBBbWF6b24gQ2xvdWRGcm9udCBzeXN0ZW0uJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGFzdE1vZGlmaWVkVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGRhdGUgYW5kIHRpbWUgdGhlIGRpc3RyaWJ1dGlvbiB3YXMgbGFzdCBtb2RpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJblByb2dyZXNzSW52YWxpZGF0aW9uQmF0Y2hlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBpbnZhbGlkYXRpb24gYmF0Y2hlcyBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBkb21haW4gbmFtZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBkaXN0cmlidXRpb24uIEZvciBleGFtcGxlOiBkNjA0NzIxZnhhYXF5OS5jbG91ZGZyb250Lm5ldC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBY3RpdmVUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQ2xvdWRGcm9udCBhdXRvbWF0aWNhbGx5IGFkZHMgdGhpcyBlbGVtZW50IHRvIHRoZSByZXNwb25zZSBvbmx5IGlmIHlvdVwndmUgc2V0IHVwIHRoZSBkaXN0cmlidXRpb24gdG8gc2VydmUgcHJpdmF0ZSBjb250ZW50IHdpdGggc2lnbmVkIFVSTHMuIFRoZSBlbGVtZW50IGxpc3RzIHRoZSBrZXkgcGFpciBJRHMgdGhhdCBDbG91ZEZyb250IGlzIGF3YXJlIG9mIGZvciBlYWNoIHRydXN0ZWQgc2lnbmVyLiBUaGUgU2lnbmVyIGNoaWxkIGVsZW1lbnQgbGlzdHMgdGhlIEFXUyBhY2NvdW50IG51bWJlciBvZiB0aGUgdHJ1c3RlZCBzaWduZXIgKG9yIGFuIGVtcHR5IFNlbGYgZWxlbWVudCBpZiB0aGUgc2lnbmVyIGlzIHlvdSkuIFRoZSBTaWduZXIgZWxlbWVudCBhbHNvIGluY2x1ZGVzIHRoZSBJRHMgb2YgYW55IGFjdGl2ZSBrZXkgcGFpcnMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0cnVzdGVkIHNpZ25lclwncyBBV1MgYWNjb3VudC4gSWYgbm8gS2V5UGFpcklkIGVsZW1lbnQgYXBwZWFycyBmb3IgYSBTaWduZXIsIHRoYXQgc2lnbmVyIGNhblwndCBjcmVhdGUgd29ya2luZyBzaWduZWQgVVJMcy4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnRWFjaCBhY3RpdmUgdHJ1c3RlZCBzaWduZXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIHVuaXF1ZSB0cnVzdGVkIHNpZ25lcnMgaW5jbHVkZWQgaW4gYWxsIGNhY2hlIGJlaGF2aW9ycy4gRm9yIGV4YW1wbGUsIGlmIHRocmVlIGNhY2hlIGJlaGF2aW9ycyBhbGwgbGlzdCB0aGUgc2FtZSB0aHJlZSBBV1MgYWNjb3VudHMsIHRoZSB2YWx1ZSBvZiBRdWFudGl0eSBmb3IgQWN0aXZlVHJ1c3RlZFNpZ25lcnMgd2lsbCBiZSAzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBvbmUgU2lnbmVyIGNvbXBsZXggdHlwZSBmb3IgZWFjaCB1bmlxdWUgdHJ1c3RlZCBzaWduZXIgdGhhdCBpcyBzcGVjaWZpZWQgaW4gdGhlIFRydXN0ZWRTaWduZXJzIGNvbXBsZXggdHlwZSwgaW5jbHVkaW5nIHRydXN0ZWQgc2lnbmVycyBpbiB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvciBhbmQgaW4gYWxsIG9mIHRoZSBvdGhlciBjYWNoZSBiZWhhdmlvcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NpZ25lcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBsaXN0cyB0aGUgQVdTIGFjY291bnRzIHRoYXQgd2VyZSBpbmNsdWRlZCBpbiB0aGUgVHJ1c3RlZFNpZ25lcnMgY29tcGxleCB0eXBlLCBhcyB3ZWxsIGFzIHRoZWlyIGFjdGl2ZSBDbG91ZEZyb250IGtleSBwYWlyIElEcywgaWYgYW55LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTaWduZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F3c0FjY291bnROdW1iZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3BlY2lmaWVzIGFuIEFXUyBhY2NvdW50IHRoYXQgY2FuIGNyZWF0ZSBzaWduZWQgVVJMcy4gVmFsdWVzOiBzZWxmLCB3aGljaCBpbmRpY2F0ZXMgdGhhdCB0aGUgQVdTIGFjY291bnQgdGhhdCB3YXMgdXNlZCB0byBjcmVhdGUgdGhlIGRpc3RyaWJ1dGlvbiBjYW4gY3JlYXRlZCBzaWduZWQgVVJMcywgb3IgYW4gQVdTIGFjY291bnQgbnVtYmVyLiBPbWl0IHRoZSBkYXNoZXMgaW4gdGhlIGFjY291bnQgbnVtYmVyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlQYWlySWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgbGlzdHMgdGhlIGFjdGl2ZSBDbG91ZEZyb250IGtleSBwYWlycywgaWYgYW55LCB0aGF0IGFyZSBhc3NvY2lhdGVkIHdpdGggQXdzQWNjb3VudE51bWJlci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgYWN0aXZlIENsb3VkRnJvbnQga2V5IHBhaXJzIGZvciBBd3NBY2NvdW50TnVtYmVyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGxpc3RzIHRoZSBhY3RpdmUgQ2xvdWRGcm9udCBrZXkgcGFpcnMsIGlmIGFueSwgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIEF3c0FjY291bnROdW1iZXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0tleVBhaXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnS2V5UGFpcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEaXN0cmlidXRpb25Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSB1bmlxdWUgbnVtYmVyIHRoYXQgZW5zdXJlcyB0aGUgcmVxdWVzdCBjYW5cJ3QgYmUgcmVwbGF5ZWQuIElmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgbmV3IChubyBtYXR0ZXIgdGhlIGNvbnRlbnQgb2YgdGhlIERpc3RyaWJ1dGlvbkNvbmZpZyBvYmplY3QpLCBhIG5ldyBkaXN0cmlidXRpb24gaXMgY3JlYXRlZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhIGRpc3RyaWJ1dGlvbiwgYW5kIHRoZSBjb250ZW50IG9mIHRoZSBEaXN0cmlidXRpb25Db25maWcgaXMgaWRlbnRpY2FsIHRvIHRoZSBvcmlnaW5hbCByZXF1ZXN0IChpZ25vcmluZyB3aGl0ZSBzcGFjZSksIHRoZSByZXNwb25zZSBpbmNsdWRlcyB0aGUgc2FtZSBpbmZvcm1hdGlvbiByZXR1cm5lZCB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhIGRpc3RyaWJ1dGlvbiBidXQgdGhlIGNvbnRlbnQgb2YgdGhlIERpc3RyaWJ1dGlvbkNvbmZpZyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdCwgQ2xvdWRGcm9udCByZXR1cm5zIGEgRGlzdHJpYnV0aW9uQWxyZWFkeUV4aXN0cyBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQWxpYXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IENOQU1FcyAoYWx0ZXJuYXRlIGRvbWFpbiBuYW1lcyksIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiBDTkFNRXMsIGlmIGFueSwgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdPcHRpb25hbDogQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBDTkFNRSBlbGVtZW50cywgaWYgYW55LCBmb3IgdGhpcyBkaXN0cmlidXRpb24uIElmIFF1YW50aXR5IGlzIDAsIHlvdSBjYW4gb21pdCBJdGVtcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ05BTUUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRSb290T2JqZWN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBvYmplY3QgdGhhdCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHJldHVybiAoZm9yIGV4YW1wbGUsIGluZGV4Lmh0bWwpIHdoZW4gYW4gZW5kIHVzZXIgcmVxdWVzdHMgdGhlIHJvb3QgVVJMIGZvciB5b3VyIGRpc3RyaWJ1dGlvbiAoaHR0cDovL3d3dy5leGFtcGxlLmNvbSkgaW5zdGVhZCBvZiBhbiBvYmplY3QgaW4geW91ciBkaXN0cmlidXRpb24gKGh0dHA6Ly93d3cuZXhhbXBsZS5jb20vaW5kZXguaHRtbCkuIFNwZWNpZnlpbmcgYSBkZWZhdWx0IHJvb3Qgb2JqZWN0IGF2b2lkcyBleHBvc2luZyB0aGUgY29udGVudHMgb2YgeW91ciBkaXN0cmlidXRpb24uIElmIHlvdSBkb25cJ3Qgd2FudCB0byBzcGVjaWZ5IGEgZGVmYXVsdCByb290IG9iamVjdCB3aGVuIHlvdSBjcmVhdGUgYSBkaXN0cmlidXRpb24sIGluY2x1ZGUgYW4gZW1wdHkgRGVmYXVsdFJvb3RPYmplY3QgZWxlbWVudC4gVG8gZGVsZXRlIHRoZSBkZWZhdWx0IHJvb3Qgb2JqZWN0IGZyb20gYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCB1cGRhdGUgdGhlIGRpc3RyaWJ1dGlvbiBjb25maWd1cmF0aW9uIGFuZCBpbmNsdWRlIGFuIGVtcHR5IERlZmF1bHRSb290T2JqZWN0IGVsZW1lbnQuIFRvIHJlcGxhY2UgdGhlIGRlZmF1bHQgcm9vdCBvYmplY3QsIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIHNwZWNpZnkgdGhlIG5ldyBvYmplY3QuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ09yaWdpbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCBvcmlnaW5zIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2Ygb3JpZ2lucyBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgb3JpZ2lucyBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ09yaWdpbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGRlc2NyaWJlcyB0aGUgQW1hem9uIFMzIGJ1Y2tldCBvciB0aGUgSFRUUCBzZXJ2ZXIgKGZvciBleGFtcGxlLCBhIHdlYiBzZXJ2ZXIpIGZyb20gd2hpY2ggQ2xvdWRGcm9udCBnZXRzIHlvdXIgZmlsZXMuWW91IG11c3QgY3JlYXRlIGF0IGxlYXN0IG9uZSBvcmlnaW4uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPcmlnaW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBvcmlnaW4uIFRoZSB2YWx1ZSBvZiBJZCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGRpc3RyaWJ1dGlvbi4gWW91IHVzZSB0aGUgdmFsdWUgb2YgSWQgd2hlbiB5b3UgY3JlYXRlIGEgY2FjaGUgYmVoYXZpb3IuIFRoZSBJZCBpZGVudGlmaWVzIHRoZSBvcmlnaW4gdGhhdCBDbG91ZEZyb250IHJvdXRlcyBhIHJlcXVlc3QgdG8gd2hlbiB0aGUgcmVxdWVzdCBtYXRjaGVzIHRoZSBwYXRoIHBhdHRlcm4gZm9yIHRoYXQgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBbWF6b24gUzMgb3JpZ2luczogVGhlIEROUyBuYW1lIG9mIHRoZSBBbWF6b24gUzMgYnVja2V0IGZyb20gd2hpY2ggeW91IHdhbnQgQ2xvdWRGcm9udCB0byBnZXQgb2JqZWN0cyBmb3IgdGhpcyBvcmlnaW4sIGZvciBleGFtcGxlLCBteWF3c2J1Y2tldC5zMy5hbWF6b25hd3MuY29tLiBDdXN0b20gb3JpZ2luczogVGhlIEROUyBkb21haW4gbmFtZSBmb3IgdGhlIEhUVFAgc2VydmVyIGZyb20gd2hpY2ggeW91IHdhbnQgQ2xvdWRGcm9udCB0byBnZXQgb2JqZWN0cyBmb3IgdGhpcyBvcmlnaW4sIGZvciBleGFtcGxlLCB3d3cuZXhhbXBsZS5jb20uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzT3JpZ2luQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQW1hem9uIFMzIG9yaWdpbi4gSWYgdGhlIG9yaWdpbiBpcyBhIGN1c3RvbSBvcmlnaW4sIHVzZSB0aGUgQ3VzdG9tT3JpZ2luQ29uZmlnIGVsZW1lbnQgaW5zdGVhZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIENsb3VkRnJvbnQgb3JpZ2luIGFjY2VzcyBpZGVudGl0eSB0byBhc3NvY2lhdGUgd2l0aCB0aGUgb3JpZ2luLiBVc2UgYW4gb3JpZ2luIGFjY2VzcyBpZGVudGl0eSB0byBjb25maWd1cmUgdGhlIG9yaWdpbiBzbyB0aGF0IGVuZCB1c2VycyBjYW4gb25seSBhY2Nlc3Mgb2JqZWN0cyBpbiBhbiBBbWF6b24gUzMgYnVja2V0IHRocm91Z2ggQ2xvdWRGcm9udC4gSWYgeW91IHdhbnQgZW5kIHVzZXJzIHRvIGJlIGFibGUgdG8gYWNjZXNzIG9iamVjdHMgdXNpbmcgZWl0aGVyIHRoZSBDbG91ZEZyb250IFVSTCBvciB0aGUgQW1hem9uIFMzIFVSTCwgc3BlY2lmeSBhbiBlbXB0eSBPcmlnaW5BY2Nlc3NJZGVudGl0eSBlbGVtZW50LiBUbyBkZWxldGUgdGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgZnJvbSBhbiBleGlzdGluZyBkaXN0cmlidXRpb24sIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIGluY2x1ZGUgYW4gZW1wdHkgT3JpZ2luQWNjZXNzSWRlbnRpdHkgZWxlbWVudC4gVG8gcmVwbGFjZSB0aGUgb3JpZ2luIGFjY2VzcyBpZGVudGl0eSwgdXBkYXRlIHRoZSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbiBhbmQgc3BlY2lmeSB0aGUgbmV3IG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RvbU9yaWdpbkNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgYSBjdXN0b20gb3JpZ2luLiBJZiB0aGUgb3JpZ2luIGlzIGFuIEFtYXpvbiBTMyBidWNrZXQsIHVzZSB0aGUgUzNPcmlnaW5Db25maWcgZWxlbWVudCBpbnN0ZWFkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hUVFBQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgSFRUUCBwb3J0IHRoZSBjdXN0b20gb3JpZ2luIGxpc3RlbnMgb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIVFRQU1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBIVFRQUyBwb3J0IHRoZSBjdXN0b20gb3JpZ2luIGxpc3RlbnMgb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5Qcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG9yaWdpbiBwcm90b2NvbCBwb2xpY3kgdG8gYXBwbHkgdG8geW91ciBvcmlnaW4uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdENhY2hlQmVoYXZpb3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBkZXNjcmliZXMgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IgaWYgeW91IGRvIG5vdCBzcGVjaWZ5IGEgQ2FjaGVCZWhhdmlvciBlbGVtZW50IG9yIGlmIGZpbGVzIGRvblwndCBtYXRjaCBhbnkgb2YgdGhlIHZhbHVlcyBvZiBQYXRoUGF0dGVybiBpbiBDYWNoZUJlaGF2aW9yIGVsZW1lbnRzLllvdSBtdXN0IGNyZWF0ZSBleGFjdGx5IG9uZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldE9yaWdpbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHZhbHVlIG9mIElEIGZvciB0aGUgb3JpZ2luIHRoYXQgeW91IHdhbnQgQ2xvdWRGcm9udCB0byByb3V0ZSByZXF1ZXN0cyB0byB3aGVuIGEgcmVxdWVzdCBtYXRjaGVzIHRoZSBwYXRoIHBhdHRlcm4gZWl0aGVyIGZvciBhIGNhY2hlIGJlaGF2aW9yIG9yIGZvciB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZGVkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBzcGVjaWZpZXMgaG93IENsb3VkRnJvbnQgaGFuZGxlcyBxdWVyeSBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1ZXJ5U3RyaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdJbmRpY2F0ZXMgd2hldGhlciB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGZvcndhcmQgcXVlcnkgc3RyaW5ncyB0byB0aGUgb3JpZ2luIHRoYXQgaXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY2FjaGUgYmVoYXZpb3IuIElmIHNvLCBzcGVjaWZ5IHRydWU7IGlmIG5vdCwgc3BlY2lmeSBmYWxzZS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBzcGVjaWZpZXMgdGhlIEFXUyBhY2NvdW50cywgaWYgYW55LCB0aGF0IHlvdSB3YW50IHRvIGFsbG93IHRvIGNyZWF0ZSBzaWduZWQgVVJMcyBmb3IgcHJpdmF0ZSBjb250ZW50LiBJZiB5b3Ugd2FudCB0byByZXF1aXJlIHNpZ25lZCBVUkxzIGluIHJlcXVlc3RzIGZvciBvYmplY3RzIGluIHRoZSB0YXJnZXQgb3JpZ2luIHRoYXQgbWF0Y2ggdGhlIFBhdGhQYXR0ZXJuIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLCBzcGVjaWZ5IHRydWUgZm9yIEVuYWJsZWQsIGFuZCBzcGVjaWZ5IHRoZSBhcHBsaWNhYmxlIHZhbHVlcyBmb3IgUXVhbnRpdHkgYW5kIEl0ZW1zLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZ28gdG8gVXNpbmcgYSBTaWduZWQgVVJMIHRvIFNlcnZlIFByaXZhdGUgQ29udGVudCBpbiB0aGUgQW1hem9uIENsb3VkRnJvbnQgRGV2ZWxvcGVyIEd1aWRlLiBJZiB5b3UgZG9uXCd0IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyB0aGF0IG1hdGNoIFBhdGhQYXR0ZXJuLCBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkIGFuZCAwIGZvciBRdWFudGl0eS4gT21pdCBJdGVtcy4gVG8gYWRkLCBjaGFuZ2UsIG9yIHJlbW92ZSBvbmUgb3IgbW9yZSB0cnVzdGVkIHNpZ25lcnMsIGNoYW5nZSBFbmFibGVkIHRvIHRydWUgKGlmIGl0XCdzIGN1cnJlbnRseSBmYWxzZSksIGNoYW5nZSBRdWFudGl0eSBhcyBhcHBsaWNhYmxlLCBhbmQgc3BlY2lmeSBhbGwgb2YgdGhlIHRydXN0ZWQgc2lnbmVycyB0aGF0IHlvdSB3YW50IHRvIGluY2x1ZGUgaW4gdGhlIHVwZGF0ZWQgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IHRvIHJlcXVpcmUgZW5kIHVzZXJzIHRvIHVzZSBzaWduZWQgVVJMcyB0byBhY2Nlc3MgdGhlIGZpbGVzIHNwZWNpZmllZCBieSBQYXRoUGF0dGVybiBhbmQgVGFyZ2V0T3JpZ2luSWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiB0cnVzdGVkIHNpZ25lcnMgZm9yIHRoaXMgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaWV3ZXJQcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1VzZSB0aGlzIGVsZW1lbnQgdG8gc3BlY2lmeSB0aGUgcHJvdG9jb2wgdGhhdCB1c2VycyBjYW4gdXNlIHRvIGFjY2VzcyB0aGUgZmlsZXMgaW4gdGhlIG9yaWdpbiBzcGVjaWZpZWQgYnkgVGFyZ2V0T3JpZ2luSWQgd2hlbiBhIHJlcXVlc3QgbWF0Y2hlcyB0aGUgcGF0aCBwYXR0ZXJuIGluIFBhdGhQYXR0ZXJuLiBJZiB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGFsbG93IGVuZCB1c2VycyB0byB1c2UgYW55IGF2YWlsYWJsZSBwcm90b2NvbCwgc3BlY2lmeSBhbGxvdy1hbGwuIElmIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcmVxdWlyZSBIVFRQUywgc3BlY2lmeSBodHRwcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWluVFRMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG1pbmltdW0gYW1vdW50IG9mIHRpbWUgdGhhdCB5b3Ugd2FudCBvYmplY3RzIHRvIHN0YXkgaW4gQ2xvdWRGcm9udCBjYWNoZXMgYmVmb3JlIENsb3VkRnJvbnQgcXVlcmllcyB5b3VyIG9yaWdpbiB0byBzZWUgd2hldGhlciB0aGUgb2JqZWN0IGhhcyBiZWVuIHVwZGF0ZWQuWW91IGNhbiBzcGVjaWZ5IGEgdmFsdWUgZnJvbSAwIHRvIDMsMTUzLDYwMCwwMDAgc2Vjb25kcyAoMTAwIHllYXJzKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FjaGVCZWhhdmlvcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyB6ZXJvIG9yIG1vcmUgQ2FjaGVCZWhhdmlvciBlbGVtZW50cy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgY2FjaGUgYmVoYXZpb3JzIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgY2FjaGUgYmVoYXZpb3JzIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4gSWYgUXVhbnRpdHkgaXMgMCwgeW91IGNhbiBvbWl0IEl0ZW1zLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZUJlaGF2aW9yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgZGVzY3JpYmVzIGhvdyBDbG91ZEZyb250IHByb2Nlc3NlcyByZXF1ZXN0cy4gWW91IGNhbiBjcmVhdGUgdXAgdG8gMTAgY2FjaGUgYmVoYXZpb3JzLllvdSBtdXN0IGNyZWF0ZSBhdCBsZWFzdCBhcyBtYW55IGNhY2hlIGJlaGF2aW9ycyAoaW5jbHVkaW5nIHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yKSBhcyB5b3UgaGF2ZSBvcmlnaW5zIGlmIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gZGlzdHJpYnV0ZSBvYmplY3RzIGZyb20gYWxsIG9mIHRoZSBvcmlnaW5zLiBFYWNoIGNhY2hlIGJlaGF2aW9yIHNwZWNpZmllcyB0aGUgb25lIG9yaWdpbiBmcm9tIHdoaWNoIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gZ2V0IG9iamVjdHMuIElmIHlvdSBoYXZlIHR3byBvcmlnaW5zIGFuZCBvbmx5IHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yLCB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvciB3aWxsIGNhdXNlIENsb3VkRnJvbnQgdG8gZ2V0IG9iamVjdHMgZnJvbSBvbmUgb2YgdGhlIG9yaWdpbnMsIGJ1dCB0aGUgb3RoZXIgb3JpZ2luIHdpbGwgbmV2ZXIgYmUgdXNlZC4gSWYgeW91IGRvblwndCB3YW50IHRvIHNwZWNpZnkgYW55IGNhY2hlIGJlaGF2aW9ycywgaW5jbHVkZSBvbmx5IGFuIGVtcHR5IENhY2hlQmVoYXZpb3JzIGVsZW1lbnQuIERvblwndCBpbmNsdWRlIGFuIGVtcHR5IENhY2hlQmVoYXZpb3IgZWxlbWVudCwgb3IgQ2xvdWRGcm9udCByZXR1cm5zIGEgTWFsZm9ybWVkWE1MIGVycm9yLiBUbyBkZWxldGUgYWxsIGNhY2hlIGJlaGF2aW9ycyBpbiBhbiBleGlzdGluZyBkaXN0cmlidXRpb24sIHVwZGF0ZSB0aGUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIGluY2x1ZGUgb25seSBhbiBlbXB0eSBDYWNoZUJlaGF2aW9ycyBlbGVtZW50LiBUbyBhZGQsIGNoYW5nZSwgb3IgcmVtb3ZlIG9uZSBvciBtb3JlIGNhY2hlIGJlaGF2aW9ycywgdXBkYXRlIHRoZSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbiBhbmQgc3BlY2lmeSBhbGwgb2YgdGhlIGNhY2hlIGJlaGF2aW9ycyB0aGF0IHlvdSB3YW50IHRvIGluY2x1ZGUgaW4gdGhlIHVwZGF0ZWQgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGVCZWhhdmlvcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhdGhQYXR0ZXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHBhdHRlcm4gKGZvciBleGFtcGxlLCBpbWFnZXMvKi5qcGcpIHRoYXQgc3BlY2lmaWVzIHdoaWNoIHJlcXVlc3RzIHlvdSB3YW50IHRoaXMgY2FjaGUgYmVoYXZpb3IgdG8gYXBwbHkgdG8uIFdoZW4gQ2xvdWRGcm9udCByZWNlaXZlcyBhbiBlbmQtdXNlciByZXF1ZXN0LCB0aGUgcmVxdWVzdGVkIHBhdGggaXMgY29tcGFyZWQgd2l0aCBwYXRoIHBhdHRlcm5zIGluIHRoZSBvcmRlciBpbiB3aGljaCBjYWNoZSBiZWhhdmlvcnMgYXJlIGxpc3RlZCBpbiB0aGUgZGlzdHJpYnV0aW9uLiBUaGUgcGF0aCBwYXR0ZXJuIGZvciB0aGUgZGVmYXVsdCBjYWNoZSBiZWhhdmlvciBpcyAqIGFuZCBjYW5ub3QgYmUgY2hhbmdlZC4gSWYgdGhlIHJlcXVlc3QgZm9yIGFuIG9iamVjdCBkb2VzIG5vdCBtYXRjaCB0aGUgcGF0aCBwYXR0ZXJuIGZvciBhbnkgY2FjaGUgYmVoYXZpb3JzLCBDbG91ZEZyb250IGFwcGxpZXMgdGhlIGJlaGF2aW9yIGluIHRoZSBkZWZhdWx0IGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYXJnZXRPcmlnaW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSB2YWx1ZSBvZiBJRCBmb3IgdGhlIG9yaWdpbiB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcm91dGUgcmVxdWVzdHMgdG8gd2hlbiBhIHJlcXVlc3QgbWF0Y2hlcyB0aGUgcGF0aCBwYXR0ZXJuIGVpdGhlciBmb3IgYSBjYWNoZSBiZWhhdmlvciBvciBmb3IgdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmRlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgc3BlY2lmaWVzIGhvdyBDbG91ZEZyb250IGhhbmRsZXMgcXVlcnkgc3RyaW5ncy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWVyeVN0cmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnSW5kaWNhdGVzIHdoZXRoZXIgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBmb3J3YXJkIHF1ZXJ5IHN0cmluZ3MgdG8gdGhlIG9yaWdpbiB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNhY2hlIGJlaGF2aW9yLiBJZiBzbywgc3BlY2lmeSB0cnVlOyBpZiBub3QsIHNwZWNpZnkgZmFsc2UuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgc3BlY2lmaWVzIHRoZSBBV1MgYWNjb3VudHMsIGlmIGFueSwgdGhhdCB5b3Ugd2FudCB0byBhbGxvdyB0byBjcmVhdGUgc2lnbmVkIFVSTHMgZm9yIHByaXZhdGUgY29udGVudC4gSWYgeW91IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyBpbiB0aGUgdGFyZ2V0IG9yaWdpbiB0aGF0IG1hdGNoIHRoZSBQYXRoUGF0dGVybiBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvciwgc3BlY2lmeSB0cnVlIGZvciBFbmFibGVkLCBhbmQgc3BlY2lmeSB0aGUgYXBwbGljYWJsZSB2YWx1ZXMgZm9yIFF1YW50aXR5IGFuZCBJdGVtcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIGdvIHRvIFVzaW5nIGEgU2lnbmVkIFVSTCB0byBTZXJ2ZSBQcml2YXRlIENvbnRlbnQgaW4gdGhlIEFtYXpvbiBDbG91ZEZyb250IERldmVsb3BlciBHdWlkZS4gSWYgeW91IGRvblwndCB3YW50IHRvIHJlcXVpcmUgc2lnbmVkIFVSTHMgaW4gcmVxdWVzdHMgZm9yIG9iamVjdHMgdGhhdCBtYXRjaCBQYXRoUGF0dGVybiwgc3BlY2lmeSBmYWxzZSBmb3IgRW5hYmxlZCBhbmQgMCBmb3IgUXVhbnRpdHkuIE9taXQgSXRlbXMuIFRvIGFkZCwgY2hhbmdlLCBvciByZW1vdmUgb25lIG9yIG1vcmUgdHJ1c3RlZCBzaWduZXJzLCBjaGFuZ2UgRW5hYmxlZCB0byB0cnVlIChpZiBpdFwncyBjdXJyZW50bHkgZmFsc2UpLCBjaGFuZ2UgUXVhbnRpdHkgYXMgYXBwbGljYWJsZSwgYW5kIHNwZWNpZnkgYWxsIG9mIHRoZSB0cnVzdGVkIHNpZ25lcnMgdGhhdCB5b3Ugd2FudCB0byBpbmNsdWRlIGluIHRoZSB1cGRhdGVkIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0byByZXF1aXJlIGVuZCB1c2VycyB0byB1c2Ugc2lnbmVkIFVSTHMgdG8gYWNjZXNzIHRoZSBmaWxlcyBzcGVjaWZpZWQgYnkgUGF0aFBhdHRlcm4gYW5kIFRhcmdldE9yaWdpbklkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBudW1iZXIgb2YgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ09wdGlvbmFsOiBBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4gSWYgUXVhbnRpdHkgaXMgMCwgeW91IGNhbiBvbWl0IEl0ZW1zLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlld2VyUHJvdG9jb2xQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdVc2UgdGhpcyBlbGVtZW50IHRvIHNwZWNpZnkgdGhlIHByb3RvY29sIHRoYXQgdXNlcnMgY2FuIHVzZSB0byBhY2Nlc3MgdGhlIGZpbGVzIGluIHRoZSBvcmlnaW4gc3BlY2lmaWVkIGJ5IFRhcmdldE9yaWdpbklkIHdoZW4gYSByZXF1ZXN0IG1hdGNoZXMgdGhlIHBhdGggcGF0dGVybiBpbiBQYXRoUGF0dGVybi4gSWYgeW91IHdhbnQgQ2xvdWRGcm9udCB0byBhbGxvdyBlbmQgdXNlcnMgdG8gdXNlIGFueSBhdmFpbGFibGUgcHJvdG9jb2wsIHNwZWNpZnkgYWxsb3ctYWxsLiBJZiB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHJlcXVpcmUgSFRUUFMsIHNwZWNpZnkgaHR0cHMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pblRUTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBtaW5pbXVtIGFtb3VudCBvZiB0aW1lIHRoYXQgeW91IHdhbnQgb2JqZWN0cyB0byBzdGF5IGluIENsb3VkRnJvbnQgY2FjaGVzIGJlZm9yZSBDbG91ZEZyb250IHF1ZXJpZXMgeW91ciBvcmlnaW4gdG8gc2VlIHdoZXRoZXIgdGhlIG9iamVjdCBoYXMgYmVlbiB1cGRhdGVkLllvdSBjYW4gc3BlY2lmeSBhIHZhbHVlIGZyb20gMCB0byAzLDE1Myw2MDAsMDAwIHNlY29uZHMgKDEwMCB5ZWFycykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQW55IGNvbW1lbnRzIHlvdSB3YW50IHRvIGluY2x1ZGUgYWJvdXQgdGhlIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTG9nZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRyb2xzIHdoZXRoZXIgYWNjZXNzIGxvZ3MgYXJlIHdyaXR0ZW4gZm9yIHRoZSBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gc2F2ZSBhY2Nlc3MgbG9ncyB0byBhbiBBbWF6b24gUzMgYnVja2V0LiBJZiB5b3UgZG8gbm90IHdhbnQgdG8gZW5hYmxlIGxvZ2dpbmcgd2hlbiB5b3UgY3JlYXRlIGEgZGlzdHJpYnV0aW9uIG9yIGlmIHlvdSB3YW50IHRvIGRpc2FibGUgbG9nZ2luZyBmb3IgYW4gZXhpc3RpbmcgZGlzdHJpYnV0aW9uLCBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkLCBhbmQgc3BlY2lmeSBlbXB0eSBCdWNrZXQgYW5kIFByZWZpeCBlbGVtZW50cy4gSWYgeW91IHNwZWNpZnkgZmFsc2UgZm9yIEVuYWJsZWQgYnV0IHlvdSBzcGVjaWZ5IHZhbHVlcyBmb3IgQnVja2V0IGFuZCBQcmVmaXgsIHRoZSB2YWx1ZXMgYXJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBbWF6b24gUzMgYnVja2V0IHRvIHN0b3JlIHRoZSBhY2Nlc3MgbG9ncyBpbiwgZm9yIGV4YW1wbGUsIG15YXdzbG9nYnVja2V0LnMzLmFtYXpvbmF3cy5jb20uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0FuIG9wdGlvbmFsIHN0cmluZyB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcHJlZml4IHRvIHRoZSBhY2Nlc3MgbG9nIGZpbGVuYW1lcyBmb3IgdGhpcyBkaXN0cmlidXRpb24sIGZvciBleGFtcGxlLCBteXByZWZpeC8uIElmIHlvdSB3YW50IHRvIGVuYWJsZSBsb2dnaW5nLCBidXQgeW91IGRvIG5vdCB3YW50IHRvIHNwZWNpZnkgYSBwcmVmaXgsIHlvdSBzdGlsbCBtdXN0IGluY2x1ZGUgYW4gZW1wdHkgUHJlZml4IGVsZW1lbnQgaW4gdGhlIExvZ2dpbmcgZWxlbWVudC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1doZXRoZXIgdGhlIGRpc3RyaWJ1dGlvbiBpcyBlbmFibGVkIHRvIGFjY2VwdCBlbmQgdXNlciByZXF1ZXN0cyBmb3IgY29udGVudC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFVGFnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBjb25maWd1cmF0aW9uLiBGb3IgZXhhbXBsZTogRTJRV1JVSEFQT01RWkwuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdSZXF1ZXN0IElEIG9mIHRoZSBvcGVyYXRpb24nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVTdHJlYW1pbmdEaXN0cmlidXRpb25SZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgaWRlbnRpZmllciBmb3IgdGhlIHN0cmVhbWluZyBkaXN0cmlidXRpb24uIEZvciBleGFtcGxlOiBFR1RYQkQ3OUgyOVRSQTguJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIHN0cmVhbWluZyBkaXN0cmlidXRpb24uIFdoZW4gdGhlIHN0YXR1cyBpcyBEZXBsb3llZCwgdGhlIGRpc3RyaWJ1dGlvblwncyBpbmZvcm1hdGlvbiBpcyBmdWxseSBwcm9wYWdhdGVkIHRocm91Z2hvdXQgdGhlIEFtYXpvbiBDbG91ZEZyb250IHN5c3RlbS4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXN0TW9kaWZpZWRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgZGF0ZSBhbmQgdGltZSB0aGUgZGlzdHJpYnV0aW9uIHdhcyBsYXN0IG1vZGlmaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBkb21haW4gbmFtZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uLiBGb3IgZXhhbXBsZTogczVjMzlncWI4b3c2NHIuY2xvdWRmcm9udC5uZXQuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWN0aXZlVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Nsb3VkRnJvbnQgYXV0b21hdGljYWxseSBhZGRzIHRoaXMgZWxlbWVudCB0byB0aGUgcmVzcG9uc2Ugb25seSBpZiB5b3VcJ3ZlIHNldCB1cCB0aGUgZGlzdHJpYnV0aW9uIHRvIHNlcnZlIHByaXZhdGUgY29udGVudCB3aXRoIHNpZ25lZCBVUkxzLiBUaGUgZWxlbWVudCBsaXN0cyB0aGUga2V5IHBhaXIgSURzIHRoYXQgQ2xvdWRGcm9udCBpcyBhd2FyZSBvZiBmb3IgZWFjaCB0cnVzdGVkIHNpZ25lci4gVGhlIFNpZ25lciBjaGlsZCBlbGVtZW50IGxpc3RzIHRoZSBBV1MgYWNjb3VudCBudW1iZXIgb2YgdGhlIHRydXN0ZWQgc2lnbmVyIChvciBhbiBlbXB0eSBTZWxmIGVsZW1lbnQgaWYgdGhlIHNpZ25lciBpcyB5b3UpLiBUaGUgU2lnbmVyIGVsZW1lbnQgYWxzbyBpbmNsdWRlcyB0aGUgSURzIG9mIGFueSBhY3RpdmUga2V5IHBhaXJzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdHJ1c3RlZCBzaWduZXJcJ3MgQVdTIGFjY291bnQuIElmIG5vIEtleVBhaXJJZCBlbGVtZW50IGFwcGVhcnMgZm9yIGEgU2lnbmVyLCB0aGF0IHNpZ25lciBjYW5cJ3QgY3JlYXRlIHdvcmtpbmcgc2lnbmVkIFVSTHMuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0VhY2ggYWN0aXZlIHRydXN0ZWQgc2lnbmVyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG51bWJlciBvZiB1bmlxdWUgdHJ1c3RlZCBzaWduZXJzIGluY2x1ZGVkIGluIGFsbCBjYWNoZSBiZWhhdmlvcnMuIEZvciBleGFtcGxlLCBpZiB0aHJlZSBjYWNoZSBiZWhhdmlvcnMgYWxsIGxpc3QgdGhlIHNhbWUgdGhyZWUgQVdTIGFjY291bnRzLCB0aGUgdmFsdWUgb2YgUXVhbnRpdHkgZm9yIEFjdGl2ZVRydXN0ZWRTaWduZXJzIHdpbGwgYmUgMy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgb25lIFNpZ25lciBjb21wbGV4IHR5cGUgZm9yIGVhY2ggdW5pcXVlIHRydXN0ZWQgc2lnbmVyIHRoYXQgaXMgc3BlY2lmaWVkIGluIHRoZSBUcnVzdGVkU2lnbmVycyBjb21wbGV4IHR5cGUsIGluY2x1ZGluZyB0cnVzdGVkIHNpZ25lcnMgaW4gdGhlIGRlZmF1bHQgY2FjaGUgYmVoYXZpb3IgYW5kIGluIGFsbCBvZiB0aGUgb3RoZXIgY2FjaGUgYmVoYXZpb3JzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTaWduZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29tcGxleCB0eXBlIHRoYXQgbGlzdHMgdGhlIEFXUyBhY2NvdW50cyB0aGF0IHdlcmUgaW5jbHVkZWQgaW4gdGhlIFRydXN0ZWRTaWduZXJzIGNvbXBsZXggdHlwZSwgYXMgd2VsbCBhcyB0aGVpciBhY3RpdmUgQ2xvdWRGcm9udCBrZXkgcGFpciBJRHMsIGlmIGFueS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2lnbmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBd3NBY2NvdW50TnVtYmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyBhbiBBV1MgYWNjb3VudCB0aGF0IGNhbiBjcmVhdGUgc2lnbmVkIFVSTHMuIFZhbHVlczogc2VsZiwgd2hpY2ggaW5kaWNhdGVzIHRoYXQgdGhlIEFXUyBhY2NvdW50IHRoYXQgd2FzIHVzZWQgdG8gY3JlYXRlIHRoZSBkaXN0cmlidXRpb24gY2FuIGNyZWF0ZWQgc2lnbmVkIFVSTHMsIG9yIGFuIEFXUyBhY2NvdW50IG51bWJlci4gT21pdCB0aGUgZGFzaGVzIGluIHRoZSBhY2NvdW50IG51bWJlci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5UGFpcklkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGxpc3RzIHRoZSBhY3RpdmUgQ2xvdWRGcm9udCBrZXkgcGFpcnMsIGlmIGFueSwgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIEF3c0FjY291bnROdW1iZXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIGFjdGl2ZSBDbG91ZEZyb250IGtleSBwYWlycyBmb3IgQXdzQWNjb3VudE51bWJlci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBsaXN0cyB0aGUgYWN0aXZlIENsb3VkRnJvbnQga2V5IHBhaXJzLCBpZiBhbnksIHRoYXQgYXJlIGFzc29jaWF0ZWQgd2l0aCBBd3NBY2NvdW50TnVtYmVyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlQYWlySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0tleVBhaXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgY3VycmVudCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHVuaXF1ZSBudW1iZXIgdGhhdCBlbnN1cmVzIHRoZSByZXF1ZXN0IGNhblwndCBiZSByZXBsYXllZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBuZXcgKG5vIG1hdHRlciB0aGUgY29udGVudCBvZiB0aGUgU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnIG9iamVjdCksIGEgbmV3IHN0cmVhbWluZyBkaXN0cmlidXRpb24gaXMgY3JlYXRlZC4gSWYgdGhlIENhbGxlclJlZmVyZW5jZSBpcyBhIHZhbHVlIHlvdSBhbHJlYWR5IHNlbnQgaW4gYSBwcmV2aW91cyByZXF1ZXN0IHRvIGNyZWF0ZSBhIHN0cmVhbWluZyBkaXN0cmlidXRpb24sIGFuZCB0aGUgY29udGVudCBvZiB0aGUgU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnIGlzIGlkZW50aWNhbCB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdCAoaWdub3Jpbmcgd2hpdGUgc3BhY2UpLCB0aGUgcmVzcG9uc2UgaW5jbHVkZXMgdGhlIHNhbWUgaW5mb3JtYXRpb24gcmV0dXJuZWQgdG8gdGhlIG9yaWdpbmFsIHJlcXVlc3QuIElmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgYSB2YWx1ZSB5b3UgYWxyZWFkeSBzZW50IGluIGEgcHJldmlvdXMgcmVxdWVzdCB0byBjcmVhdGUgYSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uIGJ1dCB0aGUgY29udGVudCBvZiB0aGUgU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LCBDbG91ZEZyb250IHJldHVybnMgYSBEaXN0cmlidXRpb25BbHJlYWR5RXhpc3RzIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTM09yaWdpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBBbWF6b24gUzMgYnVja2V0IGZyb20gd2hpY2ggeW91IHdhbnQgQ2xvdWRGcm9udCB0byBnZXQgeW91ciBtZWRpYSBmaWxlcyBmb3IgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgRE5TIG5hbWUgb2YgdGhlIFMzIG9yaWdpbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luQWNjZXNzSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdZb3VyIFMzIG9yaWdpblwncyBvcmlnaW4gYWNjZXNzIGlkZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FsaWFzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCBDTkFNRXMgKGFsdGVybmF0ZSBkb21haW4gbmFtZXMpLCBpZiBhbnksIGZvciB0aGlzIHN0cmVhbWluZyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIENOQU1FcywgaWYgYW55LCBmb3IgdGhpcyBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ09wdGlvbmFsOiBBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRhaW5zIENOQU1FIGVsZW1lbnRzLCBpZiBhbnksIGZvciB0aGlzIGRpc3RyaWJ1dGlvbi4gSWYgUXVhbnRpdHkgaXMgMCwgeW91IGNhbiBvbWl0IEl0ZW1zLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ05BTUUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ29tbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBbnkgY29tbWVudHMgeW91IHdhbnQgdG8gaW5jbHVkZSBhYm91dCB0aGUgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTG9nZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGNvbXBsZXggdHlwZSB0aGF0IGNvbnRyb2xzIHdoZXRoZXIgYWNjZXNzIGxvZ3MgYXJlIHdyaXR0ZW4gZm9yIHRoZSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHNhdmUgYWNjZXNzIGxvZ3MgdG8gYW4gQW1hem9uIFMzIGJ1Y2tldC4gSWYgeW91IGRvIG5vdCB3YW50IHRvIGVuYWJsZSBsb2dnaW5nIHdoZW4geW91IGNyZWF0ZSBhIGRpc3RyaWJ1dGlvbiBvciBpZiB5b3Ugd2FudCB0byBkaXNhYmxlIGxvZ2dpbmcgZm9yIGFuIGV4aXN0aW5nIGRpc3RyaWJ1dGlvbiwgc3BlY2lmeSBmYWxzZSBmb3IgRW5hYmxlZCwgYW5kIHNwZWNpZnkgZW1wdHkgQnVja2V0IGFuZCBQcmVmaXggZWxlbWVudHMuIElmIHlvdSBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkIGJ1dCB5b3Ugc3BlY2lmeSB2YWx1ZXMgZm9yIEJ1Y2tldCBhbmQgUHJlZml4LCB0aGUgdmFsdWVzIGFyZSBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgQW1hem9uIFMzIGJ1Y2tldCB0byBzdG9yZSB0aGUgYWNjZXNzIGxvZ3MgaW4sIGZvciBleGFtcGxlLCBteWF3c2xvZ2J1Y2tldC5zMy5hbWF6b25hd3MuY29tLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBbiBvcHRpb25hbCBzdHJpbmcgdGhhdCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHByZWZpeCB0byB0aGUgYWNjZXNzIGxvZyBmaWxlbmFtZXMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLCBmb3IgZXhhbXBsZSwgbXlwcmVmaXgvLiBJZiB5b3Ugd2FudCB0byBlbmFibGUgbG9nZ2luZywgYnV0IHlvdSBkbyBub3Qgd2FudCB0byBzcGVjaWZ5IGEgcHJlZml4LCB5b3Ugc3RpbGwgbXVzdCBpbmNsdWRlIGFuIGVtcHR5IFByZWZpeCBlbGVtZW50IGluIHRoZSBMb2dnaW5nIGVsZW1lbnQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBjb21wbGV4IHR5cGUgdGhhdCBzcGVjaWZpZXMgdGhlIEFXUyBhY2NvdW50cywgaWYgYW55LCB0aGF0IHlvdSB3YW50IHRvIGFsbG93IHRvIGNyZWF0ZSBzaWduZWQgVVJMcyBmb3IgcHJpdmF0ZSBjb250ZW50LiBJZiB5b3Ugd2FudCB0byByZXF1aXJlIHNpZ25lZCBVUkxzIGluIHJlcXVlc3RzIGZvciBvYmplY3RzIGluIHRoZSB0YXJnZXQgb3JpZ2luIHRoYXQgbWF0Y2ggdGhlIFBhdGhQYXR0ZXJuIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLCBzcGVjaWZ5IHRydWUgZm9yIEVuYWJsZWQsIGFuZCBzcGVjaWZ5IHRoZSBhcHBsaWNhYmxlIHZhbHVlcyBmb3IgUXVhbnRpdHkgYW5kIEl0ZW1zLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZ28gdG8gVXNpbmcgYSBTaWduZWQgVVJMIHRvIFNlcnZlIFByaXZhdGUgQ29udGVudCBpbiB0aGUgQW1hem9uIENsb3VkRnJvbnQgRGV2ZWxvcGVyIEd1aWRlLiBJZiB5b3UgZG9uXCd0IHdhbnQgdG8gcmVxdWlyZSBzaWduZWQgVVJMcyBpbiByZXF1ZXN0cyBmb3Igb2JqZWN0cyB0aGF0IG1hdGNoIFBhdGhQYXR0ZXJuLCBzcGVjaWZ5IGZhbHNlIGZvciBFbmFibGVkIGFuZCAwIGZvciBRdWFudGl0eS4gT21pdCBJdGVtcy4gVG8gYWRkLCBjaGFuZ2UsIG9yIHJlbW92ZSBvbmUgb3IgbW9yZSB0cnVzdGVkIHNpZ25lcnMsIGNoYW5nZSBFbmFibGVkIHRvIHRydWUgKGlmIGl0XCdzIGN1cnJlbnRseSBmYWxzZSksIGNoYW5nZSBRdWFudGl0eSBhcyBhcHBsaWNhYmxlLCBhbmQgc3BlY2lmeSBhbGwgb2YgdGhlIHRydXN0ZWQgc2lnbmVycyB0aGF0IHlvdSB3YW50IHRvIGluY2x1ZGUgaW4gdGhlIHVwZGF0ZWQgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0byByZXF1aXJlIGVuZCB1c2VycyB0byB1c2Ugc2lnbmVkIFVSTHMgdG8gYWNjZXNzIHRoZSBmaWxlcyBzcGVjaWZpZWQgYnkgUGF0aFBhdHRlcm4gYW5kIFRhcmdldE9yaWdpbklkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbnVtYmVyIG9mIHRydXN0ZWQgc2lnbmVycyBmb3IgdGhpcyBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnT3B0aW9uYWw6IEEgY29tcGxleCB0eXBlIHRoYXQgY29udGFpbnMgdHJ1c3RlZCBzaWduZXJzIGZvciB0aGlzIGNhY2hlIGJlaGF2aW9yLiBJZiBRdWFudGl0eSBpcyAwLCB5b3UgY2FuIG9taXQgSXRlbXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdXaGV0aGVyIHRoZSBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uIGlzIGVuYWJsZWQgdG8gYWNjZXB0IGVuZCB1c2VyIHJlcXVlc3RzIGZvciBjb250ZW50LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VUYWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIGNvbmZpZ3VyYXRpb24uIEZvciBleGFtcGxlOiBFMlFXUlVIQVBPTVFaTC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1JlcXVlc3QgSUQgb2YgdGhlIG9wZXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ3dhaXRlcnMnID0+IGFycmF5KAogICAgICAgICdfX2RlZmF1bHRfXycgPT4gYXJyYXkoCiAgICAgICAgICAgICdzdWNjZXNzLnR5cGUnID0+ICdvdXRwdXQnLAogICAgICAgICAgICAnc3VjY2Vzcy5wYXRoJyA9PiAnU3RhdHVzJywKICAgICAgICApLAogICAgICAgICdTdHJlYW1pbmdEaXN0cmlidXRpb25EZXBsb3llZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRpb24nID0+ICdHZXRTdHJlYW1pbmdEaXN0cmlidXRpb24nLAogICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdXYWl0IHVudGlsIGEgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbiBpcyBkZXBsb3llZC4nLAogICAgICAgICAgICAnaW50ZXJ2YWwnID0+IDYwLAogICAgICAgICAgICAnbWF4X2F0dGVtcHRzJyA9PiAyNSwKICAgICAgICAgICAgJ3N1Y2Nlc3MudmFsdWUnID0+ICdEZXBsb3llZCcsCiAgICAgICAgKSwKICAgICAgICAnRGlzdHJpYnV0aW9uRGVwbG95ZWQnID0+IGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9uJyA9PiAnR2V0RGlzdHJpYnV0aW9uJywKICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnV2FpdCB1bnRpbCBhIGRpc3RyaWJ1dGlvbiBpcyBkZXBsb3llZC4nLAogICAgICAgICAgICAnaW50ZXJ2YWwnID0+IDYwLAogICAgICAgICAgICAnbWF4X2F0dGVtcHRzJyA9PiAyNSwKICAgICAgICAgICAgJ3N1Y2Nlc3MudmFsdWUnID0+ICdEZXBsb3llZCcsCiAgICAgICAgKSwKICAgICAgICAnSW52YWxpZGF0aW9uQ29tcGxldGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbicgPT4gJ0dldEludmFsaWRhdGlvbicsCiAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1dhaXQgdW50aWwgYW4gaW52YWxpZGF0aW9uIGhhcyBjb21wbGV0ZWQuJywKICAgICAgICAgICAgJ2ludGVydmFsJyA9PiAyMCwKICAgICAgICAgICAgJ21heF9hdHRlbXB0cycgPT4gMzAsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnQ29tcGxldGVkJywKICAgICAgICApLAogICAgKSwKKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudFront/Resources/cloudfront-2013-09-27.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTMtMDktMjcnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnY2xvdWRmcm9udCcsCiAgICAnc2VydmljZUZ1bGxOYW1lJyA9PiAnQW1hem9uIENsb3VkRnJvbnQnLAogICAgJ3NlcnZpY2VBYmJyZXZpYXRpb24nID0+ICdDbG91ZEZyb250JywKICAgICdzZXJ2aWNlVHlwZScgPT4gJ3Jlc3QteG1sJywKICAgICdnbG9iYWxFbmRwb2ludCcgPT4gJ2Nsb3VkZnJvbnQuYW1hem9uYXdzLmNvbScsCiAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3Y0JywKICAgICduYW1lc3BhY2UnID0+ICdDbG91ZEZyb250JywKICAgICdyZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAndXMtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnY2xvdWRmcm9udC5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdjbG91ZGZyb250LmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2Nsb3VkZnJvbnQuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnZXUtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnY2xvdWRmcm9udC5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1ub3J0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2Nsb3VkZnJvbnQuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdjbG91ZGZyb250LmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLXNvdXRoZWFzdC0yJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnY2xvdWRmcm9udC5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdzYS1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdjbG91ZGZyb250LmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICApLAogICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICdDcmVhdGVDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTMtMDktMjcvb3JpZ2luLWFjY2Vzcy1pZGVudGl0eS9jbG91ZGZyb250JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAneG1sUm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlDb25maWcnLAogICAgICAgICAgICAgICAgICAgICduYW1lc3BhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2h0dHA6Ly9jbG91ZGZyb250LmFtYXpvbmF3cy5jb20vZG9jLzIwMTMtMDktMjcvJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0lmIHRoZSBDYWxsZXJSZWZlcmVuY2UgaXMgYSB2YWx1ZSB5b3UgYWxyZWFkeSBzZW50IGluIGEgcHJldmlvdXMgcmVxdWVzdCB0byBjcmVhdGUgYW4gaWRlbnRpdHkgYnV0IHRoZSBjb250ZW50IG9mIHRoZSBDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlDb25maWcgaXMgZGlmZmVyZW50IGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QsIENsb3VkRnJvbnQgcmV0dXJucyBhIENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUFscmVhZHlFeGlzdHMgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBvcGVyYXRpb24gcmVxdWlyZXMgYSBib2R5LiBFbnN1cmUgdGhhdCB0aGUgYm9keSBpcyBwcmVzZW50IGFuZCB0aGUgQ29udGVudC1UeXBlIGhlYWRlciBpcyBzZXQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nQm9keUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1Byb2Nlc3NpbmcgeW91ciByZXF1ZXN0IHdvdWxkIGNhdXNlIHlvdSB0byBleGNlZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdGllcyBhbGxvd2VkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0aWVzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGFyZ3VtZW50IGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgb2YgUXVhbnRpdHkgYW5kIHRoZSBzaXplIG9mIEl0ZW1zIGRvIG5vdCBtYXRjaC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luY29uc2lzdGVudFF1YW50aXRpZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVEaXN0cmlidXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTMtMDktMjcvZGlzdHJpYnV0aW9uJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVEaXN0cmlidXRpb25SZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAneG1sUm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdEaXN0cmlidXRpb25Db25maWcnLAogICAgICAgICAgICAgICAgICAgICduYW1lc3BhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2h0dHA6Ly9jbG91ZGZyb250LmFtYXpvbmF3cy5jb20vZG9jLzIwMTMtMDktMjcvJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGlhc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRSb290T2JqZWN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ09yaWdpbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluSXRlbXMnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnT3JpZ2luJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTM09yaWdpbkNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09yaWdpbkFjY2Vzc0lkZW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXN0b21PcmlnaW5Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIVFRQUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIVFRQU1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luUHJvdG9jb2xQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZWZhdWx0Q2FjaGVCZWhhdmlvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldE9yaWdpbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmRlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1ZXJ5U3RyaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nvb2tpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1doaXRlbGlzdGVkTmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZpZXdlclByb3RvY29sUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ01pblRUTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dlZE1ldGhvZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdNZXRob2QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlQmVoYXZpb3JzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NhY2hlQmVoYXZpb3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXRoUGF0dGVybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYXJnZXRPcmlnaW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb3J3YXJkZWRWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWVyeVN0cmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb29raWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb3J3YXJkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXaGl0ZWxpc3RlZE5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaWV3ZXJQcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5UVEwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93ZWRNZXRob2RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTWV0aG9kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDdXN0b21FcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0N1c3RvbUVycm9yUmVzcG9uc2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvckNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc3BvbnNlUGFnZVBhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzcG9uc2VDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yQ2FjaGluZ01pblRUTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9nZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbmNsdWRlQ29va2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByaWNlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWaWV3ZXJDZXJ0aWZpY2F0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSUFNQ2VydGlmaWNhdGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDbG91ZEZyb250RGVmYXVsdENlcnRpZmljYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ05BTUVBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGNhbGxlciByZWZlcmVuY2UgeW91IGF0dGVtcHRlZCB0byBjcmVhdGUgdGhlIGRpc3RyaWJ1dGlvbiB3aXRoIGlzIGFzc29jaWF0ZWQgd2l0aCBhbm90aGVyIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0Rpc3RyaWJ1dGlvbkFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQW1hem9uIFMzIG9yaWdpbiBzZXJ2ZXIgc3BlY2lmaWVkIGRvZXMgbm90IHJlZmVyIHRvIGEgdmFsaWQgQW1hem9uIFMzIGJ1Y2tldC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRPcmlnaW5FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgb3JpZ2luIGFjY2VzcyBpZGVudGl0eSBpcyBub3QgdmFsaWQgb3IgZG9lc25cJ3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkT3JpZ2luQWNjZXNzSWRlbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBY2Nlc3MgZGVuaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91ciByZXF1ZXN0IGNvbnRhaW5zIG1vcmUgdHJ1c3RlZCBzaWduZXJzIHRoYW4gYXJlIGFsbG93ZWQgcGVyIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlUcnVzdGVkU2lnbmVyc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIG9mIHlvdXIgdHJ1c3RlZCBzaWduZXJzIGRvIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1RydXN0ZWRTaWduZXJEb2VzTm90RXhpc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRWaWV3ZXJDZXJ0aWZpY2F0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgb3BlcmF0aW9uIHJlcXVpcmVzIGEgYm9keS4gRW5zdXJlIHRoYXQgdGhlIGJvZHkgaXMgcHJlc2VudCBhbmQgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXIgaXMgc2V0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ0JvZHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdZb3VyIHJlcXVlc3QgY29udGFpbnMgbW9yZSBDTkFNRXMgdGhhbiBhcmUgYWxsb3dlZCBwZXIgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueURpc3RyaWJ1dGlvbkNOQU1Fc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1Byb2Nlc3NpbmcgeW91ciByZXF1ZXN0IHdvdWxkIGNhdXNlIHlvdSB0byBleGNlZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGRpc3RyaWJ1dGlvbnMgYWxsb3dlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlEaXN0cmlidXRpb25zRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGRlZmF1bHQgcm9vdCBvYmplY3QgZmlsZSBuYW1lIGlzIHRvbyBiaWcgb3IgY29udGFpbnMgYW4gaW52YWxpZCBjaGFyYWN0ZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkRGVmYXVsdFJvb3RPYmplY3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVsYXRpdmUgcGF0aCBpcyB0b28gYmlnLCBpcyBub3QgVVJMLWVuY29kZWQsIG9yIGRvZXMgbm90IGJlZ2luIHdpdGggYSBzbGFzaCAoLykuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVsYXRpdmVQYXRoRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkRXJyb3JDb2RlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVzcG9uc2VDb2RlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGFyZ3VtZW50IGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIG9wZXJhdGlvbiByZXF1aXJlcyB0aGUgSFRUUFMgcHJvdG9jb2wuIEVuc3VyZSB0aGF0IHlvdSBzcGVjaWZ5IHRoZSBIVFRQUyBwcm90b2NvbCBpbiB5b3VyIHJlcXVlc3QsIG9yIG9taXQgdGhlIFJlcXVpcmVkUHJvdG9jb2xzIGVsZW1lbnQgZnJvbSB5b3VyIGRpc3RyaWJ1dGlvbiBjb25maWd1cmF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFJlcXVpcmVkUHJvdG9jb2xFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdObyBvcmlnaW4gZXhpc3RzIHdpdGggdGhlIHNwZWNpZmllZCBPcmlnaW4gSWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hPcmlnaW5FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdZb3UgY2Fubm90IGNyZWF0ZSBhbnltb3JlIG9yaWdpbnMgZm9yIHRoZSBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55T3JpZ2luc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1lvdSBjYW5ub3QgY3JlYXRlIGFueW1vcmUgY2FjaGUgYmVoYXZpb3JzIGZvciB0aGUgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueUNhY2hlQmVoYXZpb3JzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91ciByZXF1ZXN0IGNvbnRhaW5zIG1vcmUgY29va2llIG5hbWVzIGluIHRoZSB3aGl0ZWxpc3QgdGhhbiBhcmUgYWxsb3dlZCBwZXIgY2FjaGUgYmVoYXZpb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55Q29va2llTmFtZXNJbldoaXRlTGlzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1lvdXIgcmVxdWVzdCBjb250YWlucyBmb3J3YXJkIGNvb2tpZXMgb3B0aW9uIHdoaWNoIGRvZXNuXCd0IG1hdGNoIHdpdGggdGhlIGV4cGVjdGF0aW9uIGZvciB0aGUgd2hpdGVsaXN0ZWQgbGlzdCBvZiBjb29raWUgbmFtZXMuIEVpdGhlciBsaXN0IG9mIGNvb2tpZSBuYW1lcyBoYXMgYmVlbiBzcGVjaWZpZWQgd2hlbiBub3QgYWxsb3dlZCBvciBsaXN0IG9mIGNvb2tpZSBuYW1lcyBpcyBtaXNzaW5nIHdoZW4gZXhwZWN0ZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkRm9yd2FyZENvb2tpZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgb2YgUXVhbnRpdHkgYW5kIHRoZSBzaXplIG9mIEl0ZW1zIGRvIG5vdCBtYXRjaC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luY29uc2lzdGVudFF1YW50aXRpZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdZb3UgY2Fubm90IGNyZWF0ZSBhbnltb3JlIGN1c3RvbSBzc2wgY2VydGlmaWNhdGVzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueUNlcnRpZmljYXRlc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUludmFsaWRhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMy0wOS0yNy9kaXN0cmlidXRpb24ve0Rpc3RyaWJ1dGlvbklkfS9pbnZhbGlkYXRpb24nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZUludmFsaWRhdGlvblJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd4bWxSb290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ludmFsaWRhdGlvbkJhdGNoJywKICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwOi8vY2xvdWRmcm9udC5hbWF6b25hd3MuY29tL2RvYy8yMDEzLTA5LTI3LycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdEaXN0cmlidXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXRocycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQYXRoJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBY2Nlc3MgZGVuaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBvcGVyYXRpb24gcmVxdWlyZXMgYSBib2R5LiBFbnN1cmUgdGhhdCB0aGUgYm9keSBpcyBwcmVzZW50IGFuZCB0aGUgQ29udGVudC1UeXBlIGhlYWRlciBpcyBzZXQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nQm9keUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBhcmd1bWVudCBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBkaXN0cmlidXRpb24gZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hEaXN0cmlidXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0JhdGNoVG9vTGFyZ2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdZb3UgaGF2ZSBleGNlZWRlZCB0aGUgbWF4aW11bSBudW1iZXIgb2YgYWxsb3dhYmxlIEluUHJvZ3Jlc3MgaW52YWxpZGF0aW9uIGJhdGNoIHJlcXVlc3RzLCBvciBpbnZhbGlkYXRpb24gb2JqZWN0cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlJbnZhbGlkYXRpb25zSW5Qcm9ncmVzc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB2YWx1ZSBvZiBRdWFudGl0eSBhbmQgdGhlIHNpemUgb2YgSXRlbXMgZG8gbm90IG1hdGNoLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5jb25zaXN0ZW50UXVhbnRpdGllc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVN0cmVhbWluZ0Rpc3RyaWJ1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMy0wOS0yNy9zdHJlYW1pbmctZGlzdHJpYnV0aW9uJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVTdHJlYW1pbmdEaXN0cmlidXRpb25SZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAneG1sUm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJlYW1pbmdEaXN0cmlidXRpb25Db25maWcnLAogICAgICAgICAgICAgICAgICAgICduYW1lc3BhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2h0dHA6Ly9jbG91ZGZyb250LmFtYXpvbmF3cy5jb20vZG9jLzIwMTMtMDktMjcvJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTM09yaWdpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luQWNjZXNzSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FsaWFzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ05BTUUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29tbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2dnaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByaWNlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NOQU1FQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU3RyZWFtaW5nRGlzdHJpYnV0aW9uQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBBbWF6b24gUzMgb3JpZ2luIHNlcnZlciBzcGVjaWZpZWQgZG9lcyBub3QgcmVmZXIgdG8gYSB2YWxpZCBBbWF6b24gUzMgYnVja2V0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZE9yaWdpbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBvcmlnaW4gYWNjZXNzIGlkZW50aXR5IGlzIG5vdCB2YWxpZCBvciBkb2VzblwndCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRPcmlnaW5BY2Nlc3NJZGVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FjY2VzcyBkZW5pZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdZb3VyIHJlcXVlc3QgY29udGFpbnMgbW9yZSB0cnVzdGVkIHNpZ25lcnMgdGhhbiBhcmUgYWxsb3dlZCBwZXIgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueVRydXN0ZWRTaWduZXJzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnT25lIG9yIG1vcmUgb2YgeW91ciB0cnVzdGVkIHNpZ25lcnMgZG8gbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVHJ1c3RlZFNpZ25lckRvZXNOb3RFeGlzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgb3BlcmF0aW9uIHJlcXVpcmVzIGEgYm9keS4gRW5zdXJlIHRoYXQgdGhlIGJvZHkgaXMgcHJlc2VudCBhbmQgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXIgaXMgc2V0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ0JvZHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlTdHJlYW1pbmdEaXN0cmlidXRpb25DTkFNRXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdQcm9jZXNzaW5nIHlvdXIgcmVxdWVzdCB3b3VsZCBjYXVzZSB5b3UgdG8gZXhjZWVkIHRoZSBtYXhpbXVtIG51bWJlciBvZiBzdHJlYW1pbmcgZGlzdHJpYnV0aW9ucyBhbGxvd2VkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueVN0cmVhbWluZ0Rpc3RyaWJ1dGlvbnNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgYXJndW1lbnQgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB2YWx1ZSBvZiBRdWFudGl0eSBhbmQgdGhlIHNpemUgb2YgSXRlbXMgZG8gbm90IG1hdGNoLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5jb25zaXN0ZW50UXVhbnRpdGllc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnREVMRVRFJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEzLTA5LTI3L29yaWdpbi1hY2Nlc3MtaWRlbnRpdHkvY2xvdWRmcm9udC97SWR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZWxldGVDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHkyMDEzXzA5XzI3T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lmTWF0Y2gnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJZi1NYXRjaCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FjY2VzcyBkZW5pZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgSWYtTWF0Y2ggdmVyc2lvbiBpcyBtaXNzaW5nIG9yIG5vdCB2YWxpZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRJZk1hdGNoVmVyc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgb3JpZ2luIGFjY2VzcyBpZGVudGl0eSBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBwcmVjb25kaXRpb24gZ2l2ZW4gaW4gb25lIG9yIG1vcmUgb2YgdGhlIHJlcXVlc3QtaGVhZGVyIGZpZWxkcyBldmFsdWF0ZWQgdG8gZmFsc2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQcmVjb25kaXRpb25GYWlsZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0Nsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUluVXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlRGlzdHJpYnV0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdERUxFVEUnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTMtMDktMjcvZGlzdHJpYnV0aW9uL3tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RlbGV0ZURpc3RyaWJ1dGlvbjIwMTNfMDlfMjdPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWZNYXRjaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0lmLU1hdGNoJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQWNjZXNzIGRlbmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlzdHJpYnV0aW9uTm90RGlzYWJsZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgSWYtTWF0Y2ggdmVyc2lvbiBpcyBtaXNzaW5nIG9yIG5vdCB2YWxpZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRJZk1hdGNoVmVyc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgZGlzdHJpYnV0aW9uIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRGlzdHJpYnV0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHByZWNvbmRpdGlvbiBnaXZlbiBpbiBvbmUgb3IgbW9yZSBvZiB0aGUgcmVxdWVzdC1oZWFkZXIgZmllbGRzIGV2YWx1YXRlZCB0byBmYWxzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ByZWNvbmRpdGlvbkZhaWxlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVN0cmVhbWluZ0Rpc3RyaWJ1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnREVMRVRFJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEzLTA5LTI3L3N0cmVhbWluZy1kaXN0cmlidXRpb24ve0lkfScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVsZXRlU3RyZWFtaW5nRGlzdHJpYnV0aW9uMjAxM18wOV8yN091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJZk1hdGNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSWYtTWF0Y2gnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBY2Nlc3MgZGVuaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTdHJlYW1pbmdEaXN0cmlidXRpb25Ob3REaXNhYmxlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBJZi1NYXRjaCB2ZXJzaW9uIGlzIG1pc3Npbmcgb3Igbm90IHZhbGlkIGZvciB0aGUgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZElmTWF0Y2hWZXJzaW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoU3RyZWFtaW5nRGlzdHJpYnV0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHByZWNvbmRpdGlvbiBnaXZlbiBpbiBvbmUgb3IgbW9yZSBvZiB0aGUgcmVxdWVzdC1oZWFkZXIgZmllbGRzIGV2YWx1YXRlZCB0byBmYWxzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ByZWNvbmRpdGlvbkZhaWxlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEzLTA5LTI3L29yaWdpbi1hY2Nlc3MtaWRlbnRpdHkvY2xvdWRmcm9udC97SWR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBvcmlnaW4gYWNjZXNzIGlkZW50aXR5IGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQWNjZXNzIGRlbmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEzLTA5LTI3L29yaWdpbi1hY2Nlc3MtaWRlbnRpdHkvY2xvdWRmcm9udC97SWR9L2NvbmZpZycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0Q2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgb3JpZ2luIGFjY2VzcyBpZGVudGl0eSBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FjY2VzcyBkZW5pZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXREaXN0cmlidXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMy0wOS0yNy9kaXN0cmlidXRpb24ve0lkfScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0RGlzdHJpYnV0aW9uUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgZGlzdHJpYnV0aW9uIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRGlzdHJpYnV0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQWNjZXNzIGRlbmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldERpc3RyaWJ1dGlvbkNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEzLTA5LTI3L2Rpc3RyaWJ1dGlvbi97SWR9L2NvbmZpZycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0RGlzdHJpYnV0aW9uQ29uZmlnUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgZGlzdHJpYnV0aW9uIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRGlzdHJpYnV0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQWNjZXNzIGRlbmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEludmFsaWRhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEzLTA5LTI3L2Rpc3RyaWJ1dGlvbi97RGlzdHJpYnV0aW9uSWR9L2ludmFsaWRhdGlvbi97SWR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRJbnZhbGlkYXRpb25SZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRGlzdHJpYnV0aW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBpbnZhbGlkYXRpb24gZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hJbnZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGRpc3RyaWJ1dGlvbiBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaERpc3RyaWJ1dGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FjY2VzcyBkZW5pZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRTdHJlYW1pbmdEaXN0cmlidXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMy0wOS0yNy9zdHJlYW1pbmctZGlzdHJpYnV0aW9uL3tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldFN0cmVhbWluZ0Rpc3RyaWJ1dGlvblJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHN0cmVhbWluZyBkaXN0cmlidXRpb24gZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hTdHJlYW1pbmdEaXN0cmlidXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBY2Nlc3MgZGVuaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0U3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTMtMDktMjcvc3RyZWFtaW5nLWRpc3RyaWJ1dGlvbi97SWR9L2NvbmZpZycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0U3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgc3RyZWFtaW5nIGRpc3RyaWJ1dGlvbiBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FjY2VzcyBkZW5pZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0Q2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMy0wOS0yNy9vcmlnaW4tYWNjZXNzLWlkZW50aXR5L2Nsb3VkZnJvbnQnLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdGllc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgYXJndW1lbnQgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3REaXN0cmlidXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTMtMDktMjcvZGlzdHJpYnV0aW9uJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0RGlzdHJpYnV0aW9uc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgYXJndW1lbnQgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RJbnZhbGlkYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTMtMDktMjcvZGlzdHJpYnV0aW9uL3tEaXN0cmlidXRpb25JZH0vaW52YWxpZGF0aW9uJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0SW52YWxpZGF0aW9uc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdEaXN0cmlidXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgYXJndW1lbnQgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgZGlzdHJpYnV0aW9uIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRGlzdHJpYnV0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQWNjZXNzIGRlbmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RTdHJlYW1pbmdEaXN0cmlidXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTMtMDktMjcvc3RyZWFtaW5nLWRpc3RyaWJ1dGlvbicsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbnNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGFyZ3VtZW50IGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMy0wOS0yNy9vcmlnaW4tYWNjZXNzLWlkZW50aXR5L2Nsb3VkZnJvbnQve0lkfS9jb25maWcnLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1VwZGF0ZUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eVJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd4bWxSb290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0Nsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUNvbmZpZycsCiAgICAgICAgICAgICAgICAgICAgJ25hbWVzcGFjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnaHR0cDovL2Nsb3VkZnJvbnQuYW1hem9uYXdzLmNvbS9kb2MvMjAxMy0wOS0yNy8nLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ2FsbGVyUmVmZXJlbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWZNYXRjaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0lmLU1hdGNoJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQWNjZXNzIGRlbmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09yaWdpbiBhbmQgQ2FsbGVyUmVmZXJlbmNlIGNhbm5vdCBiZSB1cGRhdGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSWxsZWdhbFVwZGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBJZi1NYXRjaCB2ZXJzaW9uIGlzIG1pc3Npbmcgb3Igbm90IHZhbGlkIGZvciB0aGUgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZElmTWF0Y2hWZXJzaW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBvcGVyYXRpb24gcmVxdWlyZXMgYSBib2R5LiBFbnN1cmUgdGhhdCB0aGUgYm9keSBpcyBwcmVzZW50IGFuZCB0aGUgQ29udGVudC1UeXBlIGhlYWRlciBpcyBzZXQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nQm9keUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgb3JpZ2luIGFjY2VzcyBpZGVudGl0eSBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBwcmVjb25kaXRpb24gZ2l2ZW4gaW4gb25lIG9yIG1vcmUgb2YgdGhlIHJlcXVlc3QtaGVhZGVyIGZpZWxkcyBldmFsdWF0ZWQgdG8gZmFsc2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQcmVjb25kaXRpb25GYWlsZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgYXJndW1lbnQgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB2YWx1ZSBvZiBRdWFudGl0eSBhbmQgdGhlIHNpemUgb2YgSXRlbXMgZG8gbm90IG1hdGNoLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5jb25zaXN0ZW50UXVhbnRpdGllc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZURpc3RyaWJ1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUFVUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEzLTA5LTI3L2Rpc3RyaWJ1dGlvbi97SWR9L2NvbmZpZycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVXBkYXRlRGlzdHJpYnV0aW9uUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3htbFJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRGlzdHJpYnV0aW9uQ29uZmlnJywKICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwOi8vY2xvdWRmcm9udC5hbWF6b25hd3MuY29tL2RvYy8yMDEzLTA5LTI3LycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWxpYXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZWZhdWx0Um9vdE9iamVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcmlnaW5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkl0ZW1zJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ09yaWdpbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNPcmlnaW5Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdG9tT3JpZ2luQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSFRUUFBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSFRUUFNQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09yaWdpblByb3RvY29sUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVmYXVsdENhY2hlQmVoYXZpb3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdUYXJnZXRPcmlnaW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdGb3J3YXJkZWRWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWVyeVN0cmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb29raWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb3J3YXJkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXaGl0ZWxpc3RlZE5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWaWV3ZXJQcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdNaW5UVEwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93ZWRNZXRob2RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTWV0aG9kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZUJlaGF2aW9ycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZUJlaGF2aW9yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGF0aFBhdHRlcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0T3JpZ2luSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZGVkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVlcnlTdHJpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29va2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2hpdGVsaXN0ZWROYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlld2VyUHJvdG9jb2xQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWluVFRMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvd2VkTWV0aG9kcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ01ldGhvZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ3VzdG9tRXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDdXN0b21FcnJvclJlc3BvbnNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXJyb3JDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNwb25zZVBhZ2VQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc3BvbnNlQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvckNhY2hpbmdNaW5UVEwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvZ2dpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW5jbHVkZUNvb2tpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcmljZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmlld2VyQ2VydGlmaWNhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0lBTUNlcnRpZmljYXRlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2xvdWRGcm9udERlZmF1bHRDZXJ0aWZpY2F0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJZk1hdGNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSWYtTWF0Y2gnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBY2Nlc3MgZGVuaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDTkFNRUFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPcmlnaW4gYW5kIENhbGxlclJlZmVyZW5jZSBjYW5ub3QgYmUgdXBkYXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0lsbGVnYWxVcGRhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgSWYtTWF0Y2ggdmVyc2lvbiBpcyBtaXNzaW5nIG9yIG5vdCB2YWxpZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRJZk1hdGNoVmVyc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgb3BlcmF0aW9uIHJlcXVpcmVzIGEgYm9keS4gRW5zdXJlIHRoYXQgdGhlIGJvZHkgaXMgcHJlc2VudCBhbmQgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXIgaXMgc2V0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ0JvZHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGRpc3RyaWJ1dGlvbiBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaERpc3RyaWJ1dGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBwcmVjb25kaXRpb24gZ2l2ZW4gaW4gb25lIG9yIG1vcmUgb2YgdGhlIHJlcXVlc3QtaGVhZGVyIGZpZWxkcyBldmFsdWF0ZWQgdG8gZmFsc2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQcmVjb25kaXRpb25GYWlsZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdZb3VyIHJlcXVlc3QgY29udGFpbnMgbW9yZSBDTkFNRXMgdGhhbiBhcmUgYWxsb3dlZCBwZXIgZGlzdHJpYnV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueURpc3RyaWJ1dGlvbkNOQU1Fc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBkZWZhdWx0IHJvb3Qgb2JqZWN0IGZpbGUgbmFtZSBpcyB0b28gYmlnIG9yIGNvbnRhaW5zIGFuIGludmFsaWQgY2hhcmFjdGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZERlZmF1bHRSb290T2JqZWN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlbGF0aXZlIHBhdGggaXMgdG9vIGJpZywgaXMgbm90IFVSTC1lbmNvZGVkLCBvciBkb2VzIG5vdCBiZWdpbiB3aXRoIGEgc2xhc2ggKC8pLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFJlbGF0aXZlUGF0aEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEVycm9yQ29kZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFJlc3BvbnNlQ29kZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBhcmd1bWVudCBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgaXMgbm90IHZhbGlkIG9yIGRvZXNuXCd0IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZE9yaWdpbkFjY2Vzc0lkZW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91ciByZXF1ZXN0IGNvbnRhaW5zIG1vcmUgdHJ1c3RlZCBzaWduZXJzIHRoYW4gYXJlIGFsbG93ZWQgcGVyIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlUcnVzdGVkU2lnbmVyc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIG9mIHlvdXIgdHJ1c3RlZCBzaWduZXJzIGRvIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1RydXN0ZWRTaWduZXJEb2VzTm90RXhpc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRWaWV3ZXJDZXJ0aWZpY2F0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgb3BlcmF0aW9uIHJlcXVpcmVzIHRoZSBIVFRQUyBwcm90b2NvbC4gRW5zdXJlIHRoYXQgeW91IHNwZWNpZnkgdGhlIEhUVFBTIHByb3RvY29sIGluIHlvdXIgcmVxdWVzdCwgb3Igb21pdCB0aGUgUmVxdWlyZWRQcm90b2NvbHMgZWxlbWVudCBmcm9tIHlvdXIgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVxdWlyZWRQcm90b2NvbEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ05vIG9yaWdpbiBleGlzdHMgd2l0aCB0aGUgc3BlY2lmaWVkIE9yaWdpbiBJZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaE9yaWdpbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1lvdSBjYW5ub3QgY3JlYXRlIGFueW1vcmUgb3JpZ2lucyBmb3IgdGhlIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlPcmlnaW5zRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91IGNhbm5vdCBjcmVhdGUgYW55bW9yZSBjYWNoZSBiZWhhdmlvcnMgZm9yIHRoZSBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55Q2FjaGVCZWhhdmlvcnNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdZb3VyIHJlcXVlc3QgY29udGFpbnMgbW9yZSBjb29raWUgbmFtZXMgaW4gdGhlIHdoaXRlbGlzdCB0aGFuIGFyZSBhbGxvd2VkIHBlciBjYWNoZSBiZWhhdmlvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlDb29raWVOYW1lc0luV2hpdGVMaXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91ciByZXF1ZXN0IGNvbnRhaW5zIGZvcndhcmQgY29va2llcyBvcHRpb24gd2hpY2ggZG9lc25cJ3QgbWF0Y2ggd2l0aCB0aGUgZXhwZWN0YXRpb24gZm9yIHRoZSB3aGl0ZWxpc3RlZCBsaXN0IG9mIGNvb2tpZSBuYW1lcy4gRWl0aGVyIGxpc3Qgb2YgY29va2llIG5hbWVzIGhhcyBiZWVuIHNwZWNpZmllZCB3aGVuIG5vdCBhbGxvd2VkIG9yIGxpc3Qgb2YgY29va2llIG5hbWVzIGlzIG1pc3Npbmcgd2hlbiBleHBlY3RlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRGb3J3YXJkQ29va2llc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB2YWx1ZSBvZiBRdWFudGl0eSBhbmQgdGhlIHNpemUgb2YgSXRlbXMgZG8gbm90IG1hdGNoLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5jb25zaXN0ZW50UXVhbnRpdGllc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1lvdSBjYW5ub3QgY3JlYXRlIGFueW1vcmUgY3VzdG9tIHNzbCBjZXJ0aWZpY2F0ZXMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55Q2VydGlmaWNhdGVzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlU3RyZWFtaW5nRGlzdHJpYnV0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQVVQnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTMtMDktMjcvc3RyZWFtaW5nLWRpc3RyaWJ1dGlvbi97SWR9L2NvbmZpZycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVXBkYXRlU3RyZWFtaW5nRGlzdHJpYnV0aW9uUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3htbFJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnJywKICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwOi8vY2xvdWRmcm9udC5hbWF6b25hd3MuY29tL2RvYy8yMDEzLTA5LTI3LycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUzNPcmlnaW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ09yaWdpbkFjY2Vzc0lkZW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGlhc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9nZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcmljZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWZNYXRjaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0lmLU1hdGNoJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQWNjZXNzIGRlbmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ05BTUVBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnT3JpZ2luIGFuZCBDYWxsZXJSZWZlcmVuY2UgY2Fubm90IGJlIHVwZGF0ZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbGxlZ2FsVXBkYXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIElmLU1hdGNoIHZlcnNpb24gaXMgbWlzc2luZyBvciBub3QgdmFsaWQgZm9yIHRoZSBkaXN0cmlidXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkSWZNYXRjaFZlcnNpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIG9wZXJhdGlvbiByZXF1aXJlcyBhIGJvZHkuIEVuc3VyZSB0aGF0IHRoZSBib2R5IGlzIHByZXNlbnQgYW5kIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyIGlzIHNldC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01pc3NpbmdCb2R5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBzdHJlYW1pbmcgZGlzdHJpYnV0aW9uIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoU3RyZWFtaW5nRGlzdHJpYnV0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHByZWNvbmRpdGlvbiBnaXZlbiBpbiBvbmUgb3IgbW9yZSBvZiB0aGUgcmVxdWVzdC1oZWFkZXIgZmllbGRzIGV2YWx1YXRlZCB0byBmYWxzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ByZWNvbmRpdGlvbkZhaWxlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueVN0cmVhbWluZ0Rpc3RyaWJ1dGlvbkNOQU1Fc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBhcmd1bWVudCBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgaXMgbm90IHZhbGlkIG9yIGRvZXNuXCd0IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZE9yaWdpbkFjY2Vzc0lkZW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91ciByZXF1ZXN0IGNvbnRhaW5zIG1vcmUgdHJ1c3RlZCBzaWduZXJzIHRoYW4gYXJlIGFsbG93ZWQgcGVyIGRpc3RyaWJ1dGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlUcnVzdGVkU2lnbmVyc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIG9mIHlvdXIgdHJ1c3RlZCBzaWduZXJzIGRvIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1RydXN0ZWRTaWduZXJEb2VzTm90RXhpc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgb2YgUXVhbnRpdHkgYW5kIHRoZSBzaXplIG9mIEl0ZW1zIGRvIG5vdCBtYXRjaC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luY29uc2lzdGVudFF1YW50aXRpZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICdDcmVhdGVDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUzNDYW5vbmljYWxVc2VySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlDb25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2NhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VUYWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVEaXN0cmlidXRpb25SZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGFzdE1vZGlmaWVkVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luUHJvZ3Jlc3NJbnZhbGlkYXRpb25CYXRjaGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBY3RpdmVUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NpZ25lcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTaWduZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F3c0FjY291bnROdW1iZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5UGFpcklkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlQYWlySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0tleVBhaXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGlzdHJpYnV0aW9uQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQWxpYXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ05BTUUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFJvb3RPYmplY3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2lucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdPcmlnaW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ09yaWdpbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNPcmlnaW5Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXN0b21PcmlnaW5Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIVFRQUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSFRUUFNQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5Qcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRDYWNoZUJlaGF2aW9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0T3JpZ2luSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZGVkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVlcnlTdHJpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nvb2tpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb3J3YXJkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1doaXRlbGlzdGVkTmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZpZXdlclByb3RvY29sUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pblRUTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dlZE1ldGhvZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTWV0aG9kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTWV0aG9kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlQmVoYXZpb3JzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NhY2hlQmVoYXZpb3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NhY2hlQmVoYXZpb3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXRoUGF0dGVybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYXJnZXRPcmlnaW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb3J3YXJkZWRWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWVyeVN0cmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29va2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2hpdGVsaXN0ZWROYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlld2VyUHJvdG9jb2xQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWluVFRMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvd2VkTWV0aG9kcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdNZXRob2QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdNZXRob2QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdG9tRXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ3VzdG9tRXJyb3JSZXNwb25zZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ3VzdG9tRXJyb3JSZXNwb25zZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzcG9uc2VQYWdlUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNwb25zZUNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXJyb3JDYWNoaW5nTWluVFRMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTG9nZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luY2x1ZGVDb29raWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJpY2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWaWV3ZXJDZXJ0aWZpY2F0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lBTUNlcnRpZmljYXRlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2xvdWRGcm9udERlZmF1bHRDZXJ0aWZpY2F0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9jYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFVGFnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlSW52YWxpZGF0aW9uUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdMb2NhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ3JlYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ludmFsaWRhdGlvbkJhdGNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdQYXRocycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQYXRoJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdQYXRoJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlU3RyZWFtaW5nRGlzdHJpYnV0aW9uUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhc3RNb2RpZmllZFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWN0aXZlVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTaWduZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2lnbmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBd3NBY2NvdW50TnVtYmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVBhaXJJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnS2V5UGFpcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdLZXlQYWlySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0cmVhbWluZ0Rpc3RyaWJ1dGlvbkNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FsbGVyUmVmZXJlbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1MzT3JpZ2luJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FsaWFzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ05BTUUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTG9nZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaWNlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eTIwMTNfMDlfMjdPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZURpc3RyaWJ1dGlvbjIwMTNfMDlfMjdPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVN0cmVhbWluZ0Rpc3RyaWJ1dGlvbjIwMTNfMDlfMjdPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eVJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTM0Nhbm9uaWNhbFVzZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Nsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eUNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FsbGVyUmVmZXJlbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VUYWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlDb25maWdSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFVGFnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0RGlzdHJpYnV0aW9uUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhc3RNb2RpZmllZFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJblByb2dyZXNzSW52YWxpZGF0aW9uQmF0Y2hlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWN0aXZlVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTaWduZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2lnbmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBd3NBY2NvdW50TnVtYmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVBhaXJJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnS2V5UGFpcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdLZXlQYWlySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rpc3RyaWJ1dGlvbkNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FsbGVyUmVmZXJlbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FsaWFzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ05BTUUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRSb290T2JqZWN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ09yaWdpbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnT3JpZ2luJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPcmlnaW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzT3JpZ2luQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luQWNjZXNzSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdG9tT3JpZ2luQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSFRUUFBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hUVFBTUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luUHJvdG9jb2xQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0Q2FjaGVCZWhhdmlvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldE9yaWdpbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmRlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1ZXJ5U3RyaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb29raWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXaGl0ZWxpc3RlZE5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaWV3ZXJQcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5UVEwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93ZWRNZXRob2RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ01ldGhvZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ01ldGhvZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZUJlaGF2aW9ycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZUJlaGF2aW9yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDYWNoZUJlaGF2aW9yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGF0aFBhdHRlcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0T3JpZ2luSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZGVkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVlcnlTdHJpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nvb2tpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb3J3YXJkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1doaXRlbGlzdGVkTmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZpZXdlclByb3RvY29sUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pblRUTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dlZE1ldGhvZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTWV0aG9kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTWV0aG9kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RvbUVycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0N1c3RvbUVycm9yUmVzcG9uc2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0N1c3RvbUVycm9yUmVzcG9uc2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvckNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc3BvbnNlUGFnZVBhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzcG9uc2VDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yQ2FjaGluZ01pblRUTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0xvZ2dpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmNsdWRlQ29va2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaWNlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVmlld2VyQ2VydGlmaWNhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJQU1DZXJ0aWZpY2F0ZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nsb3VkRnJvbnREZWZhdWx0Q2VydGlmaWNhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VUYWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXREaXN0cmlidXRpb25Db25maWdSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FsaWFzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRSb290T2JqZWN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3JpZ2lucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ09yaWdpbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPcmlnaW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNPcmlnaW5Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RvbU9yaWdpbkNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hUVFBQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIVFRQU1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09yaWdpblByb3RvY29sUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRDYWNoZUJlaGF2aW9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdUYXJnZXRPcmlnaW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdGb3J3YXJkZWRWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWVyeVN0cmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29va2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2hpdGVsaXN0ZWROYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVmlld2VyUHJvdG9jb2xQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWluVFRMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvd2VkTWV0aG9kcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdNZXRob2QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ01ldGhvZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVCZWhhdmlvcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZUJlaGF2aW9yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NhY2hlQmVoYXZpb3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhdGhQYXR0ZXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldE9yaWdpbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmRlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1ZXJ5U3RyaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb29raWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXaGl0ZWxpc3RlZE5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaWV3ZXJQcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5UVEwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93ZWRNZXRob2RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ01ldGhvZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTWV0aG9kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDdXN0b21FcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0N1c3RvbUVycm9yUmVzcG9uc2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ3VzdG9tRXJyb3JSZXNwb25zZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXJyb3JDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNwb25zZVBhZ2VQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc3BvbnNlQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvckNhY2hpbmdNaW5UVEwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9nZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW5jbHVkZUNvb2tpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByaWNlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZpZXdlckNlcnRpZmljYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJQU1DZXJ0aWZpY2F0ZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Nsb3VkRnJvbnREZWZhdWx0Q2VydGlmaWNhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFVGFnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0SW52YWxpZGF0aW9uUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NyZWF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnZhbGlkYXRpb25CYXRjaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUGF0aHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGF0aCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUGF0aCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFN0cmVhbWluZ0Rpc3RyaWJ1dGlvblJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXN0TW9kaWZpZWRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FjdGl2ZVRydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU2lnbmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1NpZ25lcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXdzQWNjb3VudE51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlQYWlySWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0tleVBhaXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnS2V5UGFpcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdHJlYW1pbmdEaXN0cmlidXRpb25Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTM09yaWdpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luQWNjZXNzSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBbGlhc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0xvZ2dpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcmljZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFVGFnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0U3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTM09yaWdpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWxpYXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29tbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvZ2dpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJpY2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdGllc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dE1hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lzVHJ1bmNhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5U3VtbWFyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0Nsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eVN1bW1hcnknLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNDYW5vbmljYWxVc2VySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29tbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0RGlzdHJpYnV0aW9uc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dE1hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lzVHJ1bmNhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRGlzdHJpYnV0aW9uU3VtbWFyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0Rpc3RyaWJ1dGlvblN1bW1hcnknLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhc3RNb2RpZmllZFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGlhc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2lucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdPcmlnaW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnT3JpZ2luJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzT3JpZ2luQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luQWNjZXNzSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXN0b21PcmlnaW5Db25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIVFRQUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSFRUUFNQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5Qcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0Q2FjaGVCZWhhdmlvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldE9yaWdpbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmRlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1ZXJ5U3RyaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb29raWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXaGl0ZWxpc3RlZE5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaWV3ZXJQcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5UVEwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93ZWRNZXRob2RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ01ldGhvZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTWV0aG9kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZUJlaGF2aW9ycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZUJlaGF2aW9yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NhY2hlQmVoYXZpb3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhdGhQYXR0ZXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldE9yaWdpbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmRlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1ZXJ5U3RyaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb29raWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXaGl0ZWxpc3RlZE5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaWV3ZXJQcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5UVEwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93ZWRNZXRob2RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ01ldGhvZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTWV0aG9kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXN0b21FcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDdXN0b21FcnJvclJlc3BvbnNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0N1c3RvbUVycm9yUmVzcG9uc2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzcG9uc2VQYWdlUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNwb25zZUNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXJyb3JDYWNoaW5nTWluVFRMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29tbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmljZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZpZXdlckNlcnRpZmljYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSUFNQ2VydGlmaWNhdGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDbG91ZEZyb250RGVmYXVsdENlcnRpZmljYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdEludmFsaWRhdGlvbnNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJc1RydW5jYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ludmFsaWRhdGlvblN1bW1hcnknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJbnZhbGlkYXRpb25TdW1tYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RTdHJlYW1pbmdEaXN0cmlidXRpb25zUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0TWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSXNUcnVuY2F0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJlYW1pbmdEaXN0cmlidXRpb25TdW1tYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU3RyZWFtaW5nRGlzdHJpYnV0aW9uU3VtbWFyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdE1vZGlmaWVkVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzT3JpZ2luJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmlnaW5BY2Nlc3NJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxpYXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpY2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUzNDYW5vbmljYWxVc2VySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlDb25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFVGFnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlRGlzdHJpYnV0aW9uUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhc3RNb2RpZmllZFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJblByb2dyZXNzSW52YWxpZGF0aW9uQmF0Y2hlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWN0aXZlVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTaWduZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2lnbmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBd3NBY2NvdW50TnVtYmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVBhaXJJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnS2V5UGFpcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdLZXlQYWlySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rpc3RyaWJ1dGlvbkNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FsbGVyUmVmZXJlbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FsaWFzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ05BTUUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NOQU1FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRSb290T2JqZWN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ09yaWdpbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnT3JpZ2luJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPcmlnaW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzT3JpZ2luQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luQWNjZXNzSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdG9tT3JpZ2luQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSFRUUFBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hUVFBTUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luUHJvdG9jb2xQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0Q2FjaGVCZWhhdmlvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldE9yaWdpbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmRlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1ZXJ5U3RyaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb29raWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXaGl0ZWxpc3RlZE5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBd3NBY2NvdW50TnVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaWV3ZXJQcm90b2NvbFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5UVEwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93ZWRNZXRob2RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ01ldGhvZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ01ldGhvZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZUJlaGF2aW9ycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZUJlaGF2aW9yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDYWNoZUJlaGF2aW9yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGF0aFBhdHRlcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0T3JpZ2luSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9yd2FyZGVkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVlcnlTdHJpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nvb2tpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb3J3YXJkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1doaXRlbGlzdGVkTmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXdzQWNjb3VudE51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZpZXdlclByb3RvY29sUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pblRUTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dlZE1ldGhvZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTWV0aG9kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTWV0aG9kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RvbUVycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0N1c3RvbUVycm9yUmVzcG9uc2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0N1c3RvbUVycm9yUmVzcG9uc2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvckNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc3BvbnNlUGFnZVBhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzcG9uc2VDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yQ2FjaGluZ01pblRUTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0xvZ2dpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmNsdWRlQ29va2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaWNlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVmlld2VyQ2VydGlmaWNhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJQU1DZXJ0aWZpY2F0ZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nsb3VkRnJvbnREZWZhdWx0Q2VydGlmaWNhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VUYWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVTdHJlYW1pbmdEaXN0cmlidXRpb25SZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGFzdE1vZGlmaWVkVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBY3RpdmVUcnVzdGVkU2lnbmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NpZ25lcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTaWduZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F3c0FjY291bnROdW1iZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5UGFpcklkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlQYWlySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0tleVBhaXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUzNPcmlnaW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09yaWdpbkFjY2Vzc0lkZW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQWxpYXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1YW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ05BTUUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ29tbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdMb2dnaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RydXN0ZWRTaWduZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F3c0FjY291bnROdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJpY2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ3dhaXRlcnMnID0+IGFycmF5KAogICAgICAgICdfX2RlZmF1bHRfXycgPT4gYXJyYXkoCiAgICAgICAgICAgICdzdWNjZXNzLnR5cGUnID0+ICdvdXRwdXQnLAogICAgICAgICAgICAnc3VjY2Vzcy5wYXRoJyA9PiAnU3RhdHVzJywKICAgICAgICApLAogICAgICAgICdTdHJlYW1pbmdEaXN0cmlidXRpb25EZXBsb3llZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRpb24nID0+ICdHZXRTdHJlYW1pbmdEaXN0cmlidXRpb24nLAogICAgICAgICAgICAnaW50ZXJ2YWwnID0+IDYwLAogICAgICAgICAgICAnbWF4X2F0dGVtcHRzJyA9PiAyNSwKICAgICAgICAgICAgJ3N1Y2Nlc3MudmFsdWUnID0+ICdEZXBsb3llZCcsCiAgICAgICAgKSwKICAgICAgICAnRGlzdHJpYnV0aW9uRGVwbG95ZWQnID0+IGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9uJyA9PiAnR2V0RGlzdHJpYnV0aW9uJywKICAgICAgICAgICAgJ2ludGVydmFsJyA9PiA2MCwKICAgICAgICAgICAgJ21heF9hdHRlbXB0cycgPT4gMjUsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnRGVwbG95ZWQnLAogICAgICAgICksCiAgICAgICAgJ0ludmFsaWRhdGlvbkNvbXBsZXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRpb24nID0+ICdHZXRJbnZhbGlkYXRpb24nLAogICAgICAgICAgICAnaW50ZXJ2YWwnID0+IDIwLAogICAgICAgICAgICAnbWF4X2F0dGVtcHRzJyA9PiAzMCwKICAgICAgICAgICAgJ3N1Y2Nlc3MudmFsdWUnID0+ICdDb21wbGV0ZWQnLAogICAgICAgICksCiAgICApLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/CloudSearchClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRTZWFyY2g7Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQ7CnVzZSBBd3NcQ29tbW9uXENsaWVudFxDbGllbnRCdWlsZGVyOwp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZTsKCi8qKgogKiBDbGllbnQgdG8gaW50ZXJhY3Qgd2l0aCBBbWF6b24gQ2xvdWRTZWFyY2gKICoKICogQG1ldGhvZCBNb2RlbCBjcmVhdGVEb21haW4oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRTZWFyY2ggQ3JlYXRlRG9tYWlufQogKiBAbWV0aG9kIE1vZGVsIGRlZmluZUluZGV4RmllbGQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRTZWFyY2ggRGVmaW5lSW5kZXhGaWVsZH0KICogQG1ldGhvZCBNb2RlbCBkZWZpbmVSYW5rRXhwcmVzc2lvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFNlYXJjaCBEZWZpbmVSYW5rRXhwcmVzc2lvbn0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVEb21haW4oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRTZWFyY2ggRGVsZXRlRG9tYWlufQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUluZGV4RmllbGQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRTZWFyY2ggRGVsZXRlSW5kZXhGaWVsZH0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVSYW5rRXhwcmVzc2lvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFNlYXJjaCBEZWxldGVSYW5rRXhwcmVzc2lvbn0KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZURlZmF1bHRTZWFyY2hGaWVsZChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFNlYXJjaCBEZXNjcmliZURlZmF1bHRTZWFyY2hGaWVsZH0KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZURvbWFpbnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRTZWFyY2ggRGVzY3JpYmVEb21haW5zfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlSW5kZXhGaWVsZHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRTZWFyY2ggRGVzY3JpYmVJbmRleEZpZWxkc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVJhbmtFeHByZXNzaW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFNlYXJjaCBEZXNjcmliZVJhbmtFeHByZXNzaW9uc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFNlYXJjaCBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVN0ZW1taW5nT3B0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFNlYXJjaCBEZXNjcmliZVN0ZW1taW5nT3B0aW9uc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVN0b3B3b3JkT3B0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFNlYXJjaCBEZXNjcmliZVN0b3B3b3JkT3B0aW9uc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVN5bm9ueW1PcHRpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkU2VhcmNoIERlc2NyaWJlU3lub255bU9wdGlvbnN9CiAqIEBtZXRob2QgTW9kZWwgaW5kZXhEb2N1bWVudHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRTZWFyY2ggSW5kZXhEb2N1bWVudHN9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlRGVmYXVsdFNlYXJjaEZpZWxkKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkU2VhcmNoIFVwZGF0ZURlZmF1bHRTZWFyY2hGaWVsZH0KICogQG1ldGhvZCBNb2RlbCB1cGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRTZWFyY2ggVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzfQogKiBAbWV0aG9kIE1vZGVsIHVwZGF0ZVN0ZW1taW5nT3B0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFNlYXJjaCBVcGRhdGVTdGVtbWluZ09wdGlvbnN9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlU3RvcHdvcmRPcHRpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkU2VhcmNoIFVwZGF0ZVN0b3B3b3JkT3B0aW9uc30KICogQG1ldGhvZCBNb2RlbCB1cGRhdGVTeW5vbnltT3B0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFNlYXJjaCBVcGRhdGVTeW5vbnltT3B0aW9uc30KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlRG9tYWluc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlRG9tYWlucyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlSW5kZXhGaWVsZHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUluZGV4RmllbGRzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVSYW5rRXhwcmVzc2lvbnNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVJhbmtFeHByZXNzaW9ucyBvcGVyYXRpb24KICoKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2UtY2xvdWRzZWFyY2guaHRtbCBVc2VyIGd1aWRlCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuQ2xvdWRTZWFyY2guQ2xvdWRTZWFyY2hDbGllbnQuaHRtbCBBUEkgZG9jcwogKi8KY2xhc3MgQ2xvdWRTZWFyY2hDbGllbnQgZXh0ZW5kcyBBYnN0cmFjdENsaWVudAp7CiAgICBjb25zdCBMQVRFU1RfQVBJX1ZFUlNJT04gPSAnMjAxMS0wMi0wMSc7CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgQW1hem9uIENsb3VkU2VhcmNoIGNsaWVudCB1c2luZyBhbiBhcnJheSBvZiBjb25maWd1cmF0aW9uIG9wdGlvbnMuCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gJGNvbmZpZyBDbGllbnQgY29uZmlndXJhdGlvbiBkYXRhCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAc2VlIFxBd3NcQ29tbW9uXENsaWVudFxEZWZhdWx0Q2xpZW50IGZvciBhIGxpc3Qgb2YgYXZhaWxhYmxlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoJGNvbmZpZyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuIENsaWVudEJ1aWxkZXI6OmZhY3RvcnkoX19OQU1FU1BBQ0VfXykKICAgICAgICAgICAgLT5zZXRDb25maWcoJGNvbmZpZykKICAgICAgICAgICAgLT5zZXRDb25maWdEZWZhdWx0cyhhcnJheSgKICAgICAgICAgICAgICAgIE9wdGlvbnM6OlZFUlNJT04gICAgICAgICAgICAgPT4gc2VsZjo6TEFURVNUX0FQSV9WRVJTSU9OLAogICAgICAgICAgICAgICAgT3B0aW9uczo6U0VSVklDRV9ERVNDUklQVElPTiA9PiBfX0RJUl9fIC4gJy9SZXNvdXJjZXMvY2xvdWRzZWFyY2gtJXMucGhwJwogICAgICAgICAgICApKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/Enum/IndexFieldType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRTZWFyY2hcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBJbmRleEZpZWxkVHlwZSB2YWx1ZXMKICovCmNsYXNzIEluZGV4RmllbGRUeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBVSU5UID0gJ3VpbnQnOwogICAgY29uc3QgTElURVJBTCA9ICdsaXRlcmFsJzsKICAgIGNvbnN0IFRFWFQgPSAndGV4dCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/Enum/OptionState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRTZWFyY2hcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBPcHRpb25TdGF0ZSB2YWx1ZXMKICovCmNsYXNzIE9wdGlvblN0YXRlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBSRVFVSVJFU19JTkRFWF9ET0NVTUVOVFMgPSAnUmVxdWlyZXNJbmRleERvY3VtZW50cyc7CiAgICBjb25zdCBQUk9DRVNTSU5HID0gJ1Byb2Nlc3NpbmcnOwogICAgY29uc3QgQUNUSVZFID0gJ0FjdGl2ZSc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/Enum/SearchInstanceType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRTZWFyY2hcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBTZWFyY2hJbnN0YW5jZVR5cGUgdmFsdWVzCiAqLwpjbGFzcyBTZWFyY2hJbnN0YW5jZVR5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFNFQVJDSF9JTlNUQU5DRVQxX01JQ1JPID0gJ1NlYXJjaEluc3RhbmNlOnQxLm1pY3JvJzsKICAgIGNvbnN0IFNFQVJDSF9JTlNUQU5DRU0xX1NNQUxMID0gJ1NlYXJjaEluc3RhbmNlOm0xLnNtYWxsJzsKICAgIGNvbnN0IFNFQVJDSF9JTlNUQU5DRU0xX0xBUkdFID0gJ1NlYXJjaEluc3RhbmNlOm0xLmxhcmdlJzsKICAgIGNvbnN0IFNFQVJDSF9JTlNUQU5DRU0yX1hMQVJHRSA9ICdTZWFyY2hJbnN0YW5jZTptMi54bGFyZ2UnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/Enum/SourceDataFunction.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRTZWFyY2hcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBTb3VyY2VEYXRhRnVuY3Rpb24gdmFsdWVzCiAqLwpjbGFzcyBTb3VyY2VEYXRhRnVuY3Rpb24gZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IENPUFkgPSAnQ29weSc7CiAgICBjb25zdCBUUklNX1RJVExFID0gJ1RyaW1UaXRsZSc7CiAgICBjb25zdCBNQVAgPSAnTWFwJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/Exception/BaseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRTZWFyY2hcRXhjZXB0aW9uOwoKLyoqCiAqIEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuCiAqLwpjbGFzcyBCYXNlRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRTZWFyY2hFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/Exception/CloudSearchException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRTZWFyY2hcRXhjZXB0aW9uOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbjsKCi8qKgogKiBEZWZhdWx0IHNlcnZpY2UgZXhjZXB0aW9uIGNsYXNzCiAqLwpjbGFzcyBDbG91ZFNlYXJjaEV4Y2VwdGlvbiBleHRlbmRzIFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/Exception/InternalException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRTZWFyY2hcRXhjZXB0aW9uOwoKLyoqCiAqIEFuIGludGVybmFsIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuIElmIHRoaXMgcHJvYmxlbSBwZXJzaXN0cywgcmVwb3J0IGFuIGlzc3VlIGZyb20gdGhlIFNlcnZpY2UgSGVhbHRoIERhc2hib2FyZC4KICovCmNsYXNzIEludGVybmFsRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRTZWFyY2hFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/Exception/InvalidTypeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRTZWFyY2hcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHNwZWNpZmllZCBhbiBpbnZhbGlkIHR5cGUgZGVmaW5pdGlvbi4KICovCmNsYXNzIEludmFsaWRUeXBlRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRTZWFyY2hFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/Exception/LimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRTZWFyY2hcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGEgcmVzb3VyY2UgbGltaXQgaGFzIGFscmVhZHkgYmVlbiBtZXQuCiAqLwpjbGFzcyBMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRTZWFyY2hFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/Exception/ResourceNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRTZWFyY2hcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byByZWZlcmVuY2UgYSByZXNvdXJjZSB0aGF0IGRvZXMgbm90IGV4aXN0LgogKi8KY2xhc3MgUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIENsb3VkU2VhcmNoRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudSearch/Resources/cloudsearch-2011-02-01.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTEtMDItMDEnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnY2xvdWRzZWFyY2gnLAogICAgJ3NlcnZpY2VGdWxsTmFtZScgPT4gJ0FtYXpvbiBDbG91ZFNlYXJjaCcsCiAgICAnc2VydmljZVR5cGUnID0+ICdxdWVyeScsCiAgICAncmVzdWx0V3JhcHBlZCcgPT4gdHJ1ZSwKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjQnLAogICAgJ25hbWVzcGFjZScgPT4gJ0Nsb3VkU2VhcmNoJywKICAgICdyZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAndXMtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2Nsb3Vkc2VhcmNoLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnY2xvdWRzZWFyY2gudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdjbG91ZHNlYXJjaC51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnZXUtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2Nsb3Vkc2VhcmNoLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdjbG91ZHNlYXJjaC5hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQ3JlYXRlRG9tYWluJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVEb21haW5SZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZURvbWFpbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0Jhc2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LiBJZiB0aGlzIHByb2JsZW0gcGVyc2lzdHMsIHJlcG9ydCBhbiBpc3N1ZSBmcm9tIHRoZSBTZXJ2aWNlIEhlYWx0aCBEYXNoYm9hcmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGEgcmVzb3VyY2UgbGltaXQgaGFzIGFscmVhZHkgYmVlbiBtZXQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVmaW5lSW5kZXhGaWVsZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVmaW5lSW5kZXhGaWVsZFJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVmaW5lSW5kZXhGaWVsZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5kZXhGaWVsZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0luZGV4RmllbGROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0luZGV4RmllbGRUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1VJbnRPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0xpdGVyYWxPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlYXJjaEVuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZhY2V0RW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzdWx0RW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUZXh0T3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGYWNldEVuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc3VsdEVuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RleHRQcm9jZXNzb3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTb3VyY2VBdHRyaWJ1dGVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU291cmNlQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlRGF0YUZ1bmN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZURhdGFDb3B5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0VmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VEYXRhVHJpbVRpdGxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0VmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VwYXJhdG9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhbmd1YWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlRGF0YU1hcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nhc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FzZXMuZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVfbmFtZScgPT4gJ0ZpZWxkVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQmFzZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuIElmIHRoaXMgcHJvYmxlbSBwZXJzaXN0cywgcmVwb3J0IGFuIGlzc3VlIGZyb20gdGhlIFNlcnZpY2UgSGVhbHRoIERhc2hib2FyZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgYSByZXNvdXJjZSBsaW1pdCBoYXMgYWxyZWFkeSBiZWVuIG1ldC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBzcGVjaWZpZWQgYW4gaW52YWxpZCB0eXBlIGRlZmluaXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkVHlwZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byByZWZlcmVuY2UgYSByZXNvdXJjZSB0aGF0IGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlZmluZVJhbmtFeHByZXNzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZWZpbmVSYW5rRXhwcmVzc2lvblJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVmaW5lUmFua0V4cHJlc3Npb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JhbmtFeHByZXNzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUmFua05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmFua0V4cHJlc3Npb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQwLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdCYXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4gSWYgdGhpcyBwcm9ibGVtIHBlcnNpc3RzLCByZXBvcnQgYW4gaXNzdWUgZnJvbSB0aGUgU2VydmljZSBIZWFsdGggRGFzaGJvYXJkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBhIHJlc291cmNlIGxpbWl0IGhhcyBhbHJlYWR5IGJlZW4gbWV0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHNwZWNpZmllZCBhbiBpbnZhbGlkIHR5cGUgZGVmaW5pdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRUeXBlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIHJlZmVyZW5jZSBhIHJlc291cmNlIHRoYXQgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlRG9tYWluJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZWxldGVEb21haW5SZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZURvbWFpbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0Jhc2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LiBJZiB0aGlzIHByb2JsZW0gcGVyc2lzdHMsIHJlcG9ydCBhbiBpc3N1ZSBmcm9tIHRoZSBTZXJ2aWNlIEhlYWx0aCBEYXNoYm9hcmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUluZGV4RmllbGQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RlbGV0ZUluZGV4RmllbGRSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZUluZGV4RmllbGQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luZGV4RmllbGROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0Jhc2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LiBJZiB0aGlzIHByb2JsZW0gcGVyc2lzdHMsIHJlcG9ydCBhbiBpc3N1ZSBmcm9tIHRoZSBTZXJ2aWNlIEhlYWx0aCBEYXNoYm9hcmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHNwZWNpZmllZCBhbiBpbnZhbGlkIHR5cGUgZGVmaW5pdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRUeXBlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIHJlZmVyZW5jZSBhIHJlc291cmNlIHRoYXQgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlUmFua0V4cHJlc3Npb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RlbGV0ZVJhbmtFeHByZXNzaW9uUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVSYW5rRXhwcmVzc2lvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmFua05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQmFzZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuIElmIHRoaXMgcHJvYmxlbSBwZXJzaXN0cywgcmVwb3J0IGFuIGlzc3VlIGZyb20gdGhlIFNlcnZpY2UgSGVhbHRoIERhc2hib2FyZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgc3BlY2lmaWVkIGFuIGludmFsaWQgdHlwZSBkZWZpbml0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFR5cGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gcmVmZXJlbmNlIGEgcmVzb3VyY2UgdGhhdCBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZURlZmF1bHRTZWFyY2hGaWVsZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVEZWZhdWx0U2VhcmNoRmllbGRSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlRGVmYXVsdFNlYXJjaEZpZWxkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAzLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQmFzZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuIElmIHRoaXMgcHJvYmxlbSBwZXJzaXN0cywgcmVwb3J0IGFuIGlzc3VlIGZyb20gdGhlIFNlcnZpY2UgSGVhbHRoIERhc2hib2FyZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIHJlZmVyZW5jZSBhIHJlc291cmNlIHRoYXQgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVEb21haW5zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZURvbWFpbnNSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlRG9tYWlucycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5OYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRG9tYWluTmFtZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RvbWFpbk5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI4LAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdCYXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4gSWYgdGhpcyBwcm9ibGVtIHBlcnNpc3RzLCByZXBvcnQgYW4gaXNzdWUgZnJvbSB0aGUgU2VydmljZSBIZWFsdGggRGFzaGJvYXJkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUluZGV4RmllbGRzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZUluZGV4RmllbGRzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUluZGV4RmllbGRzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAzLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWVsZE5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWVsZE5hbWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdGaWVsZE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdCYXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4gSWYgdGhpcyBwcm9ibGVtIHBlcnNpc3RzLCByZXBvcnQgYW4gaXNzdWUgZnJvbSB0aGUgU2VydmljZSBIZWFsdGggRGFzaGJvYXJkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gcmVmZXJlbmNlIGEgcmVzb3VyY2UgdGhhdCBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVJhbmtFeHByZXNzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVSYW5rRXhwcmVzc2lvbnNSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlUmFua0V4cHJlc3Npb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAzLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSYW5rTmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1JhbmtOYW1lcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmllbGROYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQmFzZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuIElmIHRoaXMgcHJvYmxlbSBwZXJzaXN0cywgcmVwb3J0IGFuIGlzc3VlIGZyb20gdGhlIFNlcnZpY2UgSGVhbHRoIERhc2hib2FyZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIHJlZmVyZW5jZSBhIHJlc291cmNlIHRoYXQgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0Jhc2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LiBJZiB0aGlzIHByb2JsZW0gcGVyc2lzdHMsIHJlcG9ydCBhbiBpc3N1ZSBmcm9tIHRoZSBTZXJ2aWNlIEhlYWx0aCBEYXNoYm9hcmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byByZWZlcmVuY2UgYSByZXNvdXJjZSB0aGF0IGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlU3RlbW1pbmdPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVN0ZW1taW5nT3B0aW9uc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVTdGVtbWluZ09wdGlvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdCYXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4gSWYgdGhpcyBwcm9ibGVtIHBlcnNpc3RzLCByZXBvcnQgYW4gaXNzdWUgZnJvbSB0aGUgU2VydmljZSBIZWFsdGggRGFzaGJvYXJkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gcmVmZXJlbmNlIGEgcmVzb3VyY2UgdGhhdCBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVN0b3B3b3JkT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVTdG9wd29yZE9wdGlvbnNSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlU3RvcHdvcmRPcHRpb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAzLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQmFzZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuIElmIHRoaXMgcHJvYmxlbSBwZXJzaXN0cywgcmVwb3J0IGFuIGlzc3VlIGZyb20gdGhlIFNlcnZpY2UgSGVhbHRoIERhc2hib2FyZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIHJlZmVyZW5jZSBhIHJlc291cmNlIHRoYXQgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTeW5vbnltT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVTeW5vbnltT3B0aW9uc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVTeW5vbnltT3B0aW9ucycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0Jhc2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LiBJZiB0aGlzIHByb2JsZW0gcGVyc2lzdHMsIHJlcG9ydCBhbiBpc3N1ZSBmcm9tIHRoZSBTZXJ2aWNlIEhlYWx0aCBEYXNoYm9hcmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byByZWZlcmVuY2UgYSByZXNvdXJjZSB0aGF0IGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0luZGV4RG9jdW1lbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdJbmRleERvY3VtZW50c1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnSW5kZXhEb2N1bWVudHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdCYXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4gSWYgdGhpcyBwcm9ibGVtIHBlcnNpc3RzLCByZXBvcnQgYW4gaXNzdWUgZnJvbSB0aGUgU2VydmljZSBIZWFsdGggRGFzaGJvYXJkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gcmVmZXJlbmNlIGEgcmVzb3VyY2UgdGhhdCBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVEZWZhdWx0U2VhcmNoRmllbGQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1VwZGF0ZURlZmF1bHRTZWFyY2hGaWVsZFJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnVXBkYXRlRGVmYXVsdFNlYXJjaEZpZWxkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAzLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZWZhdWx0U2VhcmNoRmllbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0Jhc2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LiBJZiB0aGlzIHByb2JsZW0gcGVyc2lzdHMsIHJlcG9ydCBhbiBpc3N1ZSBmcm9tIHRoZSBTZXJ2aWNlIEhlYWx0aCBEYXNoYm9hcmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHNwZWNpZmllZCBhbiBpbnZhbGlkIHR5cGUgZGVmaW5pdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRUeXBlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIHJlZmVyZW5jZSBhIHJlc291cmNlIHRoYXQgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdVcGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXNSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1VwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWNjZXNzUG9saWNpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0Jhc2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LiBJZiB0aGlzIHByb2JsZW0gcGVyc2lzdHMsIHJlcG9ydCBhbiBpc3N1ZSBmcm9tIHRoZSBTZXJ2aWNlIEhlYWx0aCBEYXNoYm9hcmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGEgcmVzb3VyY2UgbGltaXQgaGFzIGFscmVhZHkgYmVlbiBtZXQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIHJlZmVyZW5jZSBhIHJlc291cmNlIHRoYXQgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgc3BlY2lmaWVkIGFuIGludmFsaWQgdHlwZSBkZWZpbml0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFR5cGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVTdGVtbWluZ09wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1VwZGF0ZVN0ZW1taW5nT3B0aW9uc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnVXBkYXRlU3RlbW1pbmdPcHRpb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMS0wMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAzLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQmFzZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuIElmIHRoaXMgcHJvYmxlbSBwZXJzaXN0cywgcmVwb3J0IGFuIGlzc3VlIGZyb20gdGhlIFNlcnZpY2UgSGVhbHRoIERhc2hib2FyZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgc3BlY2lmaWVkIGFuIGludmFsaWQgdHlwZSBkZWZpbml0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFR5cGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBhIHJlc291cmNlIGxpbWl0IGhhcyBhbHJlYWR5IGJlZW4gbWV0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byByZWZlcmVuY2UgYSByZXNvdXJjZSB0aGF0IGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZVN0b3B3b3JkT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVXBkYXRlU3RvcHdvcmRPcHRpb25zUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdVcGRhdGVTdG9wd29yZE9wdGlvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0b3B3b3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQmFzZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuIElmIHRoaXMgcHJvYmxlbSBwZXJzaXN0cywgcmVwb3J0IGFuIGlzc3VlIGZyb20gdGhlIFNlcnZpY2UgSGVhbHRoIERhc2hib2FyZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgc3BlY2lmaWVkIGFuIGludmFsaWQgdHlwZSBkZWZpbml0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFR5cGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBhIHJlc291cmNlIGxpbWl0IGhhcyBhbHJlYWR5IGJlZW4gbWV0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byByZWZlcmVuY2UgYSByZXNvdXJjZSB0aGF0IGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZVN5bm9ueW1PcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdVcGRhdGVTeW5vbnltT3B0aW9uc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnVXBkYXRlU3lub255bU9wdGlvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTAyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N5bm9ueW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdCYXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4gSWYgdGhpcyBwcm9ibGVtIHBlcnNpc3RzLCByZXBvcnQgYW4gaXNzdWUgZnJvbSB0aGUgU2VydmljZSBIZWFsdGggRGFzaGJvYXJkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBzcGVjaWZpZWQgYW4gaW52YWxpZCB0eXBlIGRlZmluaXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkVHlwZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGEgcmVzb3VyY2UgbGltaXQgaGFzIGFscmVhZHkgYmVlbiBtZXQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIHJlZmVyZW5jZSBhIHJlc291cmNlIHRoYXQgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnbW9kZWxzJyA9PiBhcnJheSgKICAgICAgICAnQ3JlYXRlRG9tYWluUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0RvbWFpblN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRG9tYWluSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEZWxldGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOdW1TZWFyY2hhYmxlRG9jcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRG9jU2VydmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmRwb2ludCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1NlYXJjaFNlcnZpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5kcG9pbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSZXF1aXJlc0luZGV4RG9jdW1lbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcm9jZXNzaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTZWFyY2hJbnN0YW5jZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2VhcmNoUGFydGl0aW9uQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1NlYXJjaEluc3RhbmNlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWZpbmVJbmRleEZpZWxkUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0luZGV4RmllbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmRleEZpZWxkTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmRleEZpZWxkVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVSW50T3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGl0ZXJhbE9wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0VmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VhcmNoRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRmFjZXRFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXN1bHRFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUZXh0T3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGYWNldEVuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc3VsdEVuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RleHRQcm9jZXNzb3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTb3VyY2VBdHRyaWJ1dGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZURhdGFGdW5jdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VEYXRhQ29weScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZURhdGFUcmltVGl0bGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXBhcmF0b3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFuZ3VhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlRGF0YU1hcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nhc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21ldGhvZCcgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxYbWxSZXNwb25zZUxvY2F0aW9uVmlzaXRvcjo6eG1sTWFwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQHZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdlbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2VudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAna2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGlvbkRhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXBkYXRlRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZW5kaW5nRGVsZXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlZmluZVJhbmtFeHByZXNzaW9uUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JhbmtFeHByZXNzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmFua05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmFua0V4cHJlc3Npb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGlvbkRhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXBkYXRlRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZW5kaW5nRGVsZXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZURvbWFpblJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdEb21haW5TdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0RvbWFpbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRGVsZXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTnVtU2VhcmNoYWJsZURvY3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0RvY1NlcnZpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5kcG9pbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTZWFyY2hTZXJ2aWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZHBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmVxdWlyZXNJbmRleERvY3VtZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJvY2Vzc2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2VhcmNoSW5zdGFuY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1NlYXJjaFBhcnRpdGlvbkNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTZWFyY2hJbnN0YW5jZUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlSW5kZXhGaWVsZFJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJbmRleEZpZWxkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5kZXhGaWVsZE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5kZXhGaWVsZFR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVUludE9wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0VmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xpdGVyYWxPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlYXJjaEVuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZhY2V0RW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzdWx0RW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGV4dE9wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0VmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRmFjZXRFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXN1bHRFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUZXh0UHJvY2Vzc29yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZUF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU291cmNlQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VEYXRhRnVuY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlRGF0YUNvcHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VEYXRhVHJpbVRpdGxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0VmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VwYXJhdG9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhbmd1YWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZURhdGFNYXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZXRob2QnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcWG1sUmVzcG9uc2VMb2NhdGlvblZpc2l0b3I6OnhtbE1hcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXJncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0B2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdlbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwZGF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXBkYXRlVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVuZGluZ0RlbGV0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVSYW5rRXhwcmVzc2lvblJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSYW5rRXhwcmVzc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JhbmtOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JhbmtFeHByZXNzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwZGF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXBkYXRlVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVuZGluZ0RlbGV0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZURlZmF1bHRTZWFyY2hGaWVsZFJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdEZWZhdWx0U2VhcmNoRmllbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwZGF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXBkYXRlVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVuZGluZ0RlbGV0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZURvbWFpbnNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRG9tYWluU3RhdHVzTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RvbWFpblN0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ051bVNlYXJjaGFibGVEb2NzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb2NTZXJ2aWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZHBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWFyY2hTZXJ2aWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZHBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXF1aXJlc0luZGV4RG9jdW1lbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9jZXNzaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWFyY2hJbnN0YW5jZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VhcmNoUGFydGl0aW9uQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlYXJjaEluc3RhbmNlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlSW5kZXhGaWVsZHNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSW5kZXhGaWVsZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJbmRleEZpZWxkU3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmRleEZpZWxkTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmRleEZpZWxkVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVSW50T3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMaXRlcmFsT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWFyY2hFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGYWNldEVuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc3VsdEVuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGV4dE9wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0VmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRmFjZXRFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXN1bHRFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUZXh0UHJvY2Vzc29yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTb3VyY2VBdHRyaWJ1dGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VEYXRhRnVuY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlRGF0YUNvcHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZURhdGFUcmltVGl0bGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXBhcmF0b3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFuZ3VhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VEYXRhTWFwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0VmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21ldGhvZCcgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxYbWxSZXNwb25zZUxvY2F0aW9uVmlzaXRvcjo6eG1sTWFwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXJncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdAdmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2VudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAna2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0aW9uRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwZGF0ZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BlbmRpbmdEZWxldGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlUmFua0V4cHJlc3Npb25zUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JhbmtFeHByZXNzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1JhbmtFeHByZXNzaW9uU3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSYW5rTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSYW5rRXhwcmVzc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwZGF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXBkYXRlVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVuZGluZ0RlbGV0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWNjZXNzUG9saWNpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwZGF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXBkYXRlVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVuZGluZ0RlbGV0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVN0ZW1taW5nT3B0aW9uc1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGlvbkRhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXBkYXRlRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZW5kaW5nRGVsZXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlU3RvcHdvcmRPcHRpb25zUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1N0b3B3b3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGlvbkRhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXBkYXRlRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZW5kaW5nRGVsZXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlU3lub255bU9wdGlvbnNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3lub255bXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwZGF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXBkYXRlVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVuZGluZ0RlbGV0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdJbmRleERvY3VtZW50c1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdGaWVsZE5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmllbGROYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVEZWZhdWx0U2VhcmNoRmllbGRSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRGVmYXVsdFNlYXJjaEZpZWxkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0aW9uRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwZGF0ZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BlbmRpbmdEZWxldGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjY2Vzc1BvbGljaWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0aW9uRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwZGF0ZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BlbmRpbmdEZWxldGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlU3RlbW1pbmdPcHRpb25zUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1N0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0aW9uRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwZGF0ZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BlbmRpbmdEZWxldGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlU3RvcHdvcmRPcHRpb25zUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1N0b3B3b3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGlvbkRhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXBkYXRlRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZW5kaW5nRGVsZXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZVN5bm9ueW1PcHRpb25zUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1N5bm9ueW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0aW9uRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwZGF0ZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BlbmRpbmdEZWxldGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnaXRlcmF0b3JzJyA9PiBhcnJheSgKICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdEZXNjcmliZURvbWFpbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdEb21haW5TdGF0dXNMaXN0JywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlSW5kZXhGaWVsZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdJbmRleEZpZWxkcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVJhbmtFeHByZXNzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1JhbmtFeHByZXNzaW9ucycsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/CloudTrailClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbDsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxBYnN0cmFjdENsaWVudDsKdXNlIEF3c1xDb21tb25cQ2xpZW50XENsaWVudEJ1aWxkZXI7CnVzZSBBd3NcQ29tbW9uXEVudW1cQ2xpZW50T3B0aW9ucyBhcyBPcHRpb25zOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUGFyc2VyXEpzb25RdWVyeUV4Y2VwdGlvblBhcnNlcjsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwoKLyoqCiAqIENsaWVudCB0byBpbnRlcmFjdCB3aXRoIEFXUyBDbG91ZFRyYWlsCiAqCiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlVHJhaWwoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRUcmFpbCBDcmVhdGVUcmFpbH0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVUcmFpbChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFRyYWlsIERlbGV0ZVRyYWlsfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlVHJhaWxzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkVHJhaWwgRGVzY3JpYmVUcmFpbHN9CiAqIEBtZXRob2QgTW9kZWwgZ2V0VHJhaWxTdGF0dXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRUcmFpbCBHZXRUcmFpbFN0YXR1c30KICogQG1ldGhvZCBNb2RlbCBzdGFydExvZ2dpbmcoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRUcmFpbCBTdGFydExvZ2dpbmd9CiAqIEBtZXRob2QgTW9kZWwgc3RvcExvZ2dpbmcoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRUcmFpbCBTdG9wTG9nZ2luZ30KICogQG1ldGhvZCBNb2RlbCB1cGRhdGVUcmFpbChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFRyYWlsIFVwZGF0ZVRyYWlsfQogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVUcmFpbHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVRyYWlscyBvcGVyYXRpb24KICoKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2UtY2xvdWR0cmFpbC5odG1sIFVzZXIgZ3VpZGUKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5DbG91ZFRyYWlsLkNsb3VkVHJhaWxDbGllbnQuaHRtbCBBUEkgZG9jcwogKi8KY2xhc3MgQ2xvdWRUcmFpbENsaWVudCBleHRlbmRzIEFic3RyYWN0Q2xpZW50CnsKICAgIGNvbnN0IExBVEVTVF9BUElfVkVSU0lPTiA9ICcyMDEzLTExLTAxJzsKCiAgICAvKioKICAgICAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBBV1MgQ2xvdWRUcmFpbCBjbGllbnQgdXNpbmcgYW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBvcHRpb25zLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICRjb25maWcgQ2xpZW50IGNvbmZpZ3VyYXRpb24gZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQHNlZSBcQXdzXENvbW1vblxDbGllbnRcRGVmYXVsdENsaWVudCBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBjb25maWd1cmF0aW9uIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KF9fTkFNRVNQQUNFX18pCiAgICAgICAgICAgIC0+c2V0Q29uZmlnKCRjb25maWcpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnRGVmYXVsdHMoYXJyYXkoCiAgICAgICAgICAgICAgICBPcHRpb25zOjpWRVJTSU9OICAgICAgICAgICAgID0+IHNlbGY6OkxBVEVTVF9BUElfVkVSU0lPTiwKICAgICAgICAgICAgICAgIE9wdGlvbnM6OlNFUlZJQ0VfREVTQ1JJUFRJT04gPT4gX19ESVJfXyAuICcvUmVzb3VyY2VzL2Nsb3VkdHJhaWwtJXMucGhwJwogICAgICAgICAgICApKQogICAgICAgICAgICAtPnNldEV4Y2VwdGlvblBhcnNlcihuZXcgSnNvblF1ZXJ5RXhjZXB0aW9uUGFyc2VyKCkpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Exception/CloudTrailException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbFxFeGNlcHRpb247Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uOwoKLyoqCiAqIERlZmF1bHQgc2VydmljZSBleGNlcHRpb24gY2xhc3MKICovCmNsYXNzIENsb3VkVHJhaWxFeGNlcHRpb24gZXh0ZW5kcyBTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Exception/InsufficientS3BucketPolicyException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBJbnN1ZmZpY2llbnRTM0J1Y2tldFBvbGljeUV4Y2VwdGlvbiBlcnJvciBpcyBlbmNvdW50ZXJlZAogKi8KY2xhc3MgSW5zdWZmaWNpZW50UzNCdWNrZXRQb2xpY3lFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZFRyYWlsRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Exception/InsufficientSnsTopicPolicyException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBJbnN1ZmZpY2llbnRTbnNUb3BpY1BvbGljeUV4Y2VwdGlvbiBlcnJvciBpcyBlbmNvdW50ZXJlZAogKi8KY2xhc3MgSW5zdWZmaWNpZW50U25zVG9waWNQb2xpY3lFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZFRyYWlsRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Exception/InternalErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBJbnRlcm5hbEVycm9yRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBJbnRlcm5hbEVycm9yRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRUcmFpbEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Exception/InvalidS3BucketNameException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBJbnZhbGlkUzNCdWNrZXROYW1lRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBJbnZhbGlkUzNCdWNrZXROYW1lRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRUcmFpbEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Exception/InvalidS3PrefixException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBJbnZhbGlkUzNQcmVmaXhFeGNlcHRpb24gZXJyb3IgaXMgZW5jb3VudGVyZWQKICovCmNsYXNzIEludmFsaWRTM1ByZWZpeEV4Y2VwdGlvbiBleHRlbmRzIENsb3VkVHJhaWxFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Exception/InvalidSnsTopicNameException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBJbnZhbGlkU25zVG9waWNOYW1lRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBJbnZhbGlkU25zVG9waWNOYW1lRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRUcmFpbEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Exception/InvalidTrailNameException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBJbnZhbGlkVHJhaWxOYW1lRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBJbnZhbGlkVHJhaWxOYW1lRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRUcmFpbEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Exception/MaximumNumberOfTrailsExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBNYXhpbXVtTnVtYmVyT2ZUcmFpbHNFeGNlZWRlZEV4Y2VwdGlvbiBlcnJvciBpcyBlbmNvdW50ZXJlZAogKi8KY2xhc3MgTWF4aW11bU51bWJlck9mVHJhaWxzRXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZFRyYWlsRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Exception/S3BucketDoesNotExistException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBTM0J1Y2tldERvZXNOb3RFeGlzdEV4Y2VwdGlvbiBlcnJvciBpcyBlbmNvdW50ZXJlZAogKi8KY2xhc3MgUzNCdWNrZXREb2VzTm90RXhpc3RFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZFRyYWlsRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Exception/TrailAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBUcmFpbEFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXJyb3IgaXMgZW5jb3VudGVyZWQKICovCmNsYXNzIFRyYWlsQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbiBleHRlbmRzIENsb3VkVHJhaWxFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Exception/TrailNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBUcmFpbE5vdEZvdW5kRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBUcmFpbE5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRUcmFpbEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Exception/TrailNotProvidedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBUcmFpbE5vdFByb3ZpZGVkRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBUcmFpbE5vdFByb3ZpZGVkRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRUcmFpbEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/LogFileIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbDsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBBd3NcUzNcUzNDbGllbnQ7CnVzZSBHdXp6bGVcSXRlcmF0b3JcRmlsdGVySXRlcmF0b3I7CgovKioKICogVGhlIGBBd3NcQ2xvdWRUcmFpbFxMb2dGaWxlSXRlcmF0b3JgIHByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGl0ZXJhdGUgb3ZlciBsb2cgZmlsZSBnZW5lcmF0ZWQgYnkgQVdTIENsb3VkVHJhaWwuCiAqIENsb3VkVHJhaWwgbG9nIGZpbGVzIGNvbnRhaW4gZGF0YSBhYm91dCB5b3VyIEFXUyBBUEkgY2FsbHMgYW5kIGFyZSBzdG9yZWQgaW4gQW1hem9uIFMzIGF0IGEgcHJlZGljdGFibGUgcGF0aCBiYXNlZCBvbgogKiBhIGJ1Y2tldCBuYW1lLCBhIGtleSBwcmVmaXgsIGFuIGFjY291bnQgSUQsIGEgcmVnaW9uLCBhbmQgZGF0ZSBpbmZvcm1hdGlvbi4gVGhpcyBjbGFzcyBhbGxvd3MgeW91IHRvIHNwZWNpZnkgb3B0aW9ucywKICogaW5jbHVkaW5nIGEgZGF0ZSByYW5nZSwgYW5kIGVtaXRzIGVhY2ggbG9nIGZpbGUgdGhhdCBtYXRjaCB0aGUgcHJvdmlkZWQgb3B0aW9ucy4KICoKICogQHlpZWxkcyBhcnJheSBBbiBhcnJheSBjb250YWluaW5nIHRoZSBBbWF6b24gUzMgYnVja2V0IGFuZCBrZXkgb2YgdGhlIGxvZyBmaWxlCiAqLwpjbGFzcyBMb2dGaWxlSXRlcmF0b3IgZXh0ZW5kcyBcSXRlcmF0b3JJdGVyYXRvcgp7CiAgICAvLyBGb3IgaW50ZXJuYWwgdXNlCiAgICBjb25zdCBERUZBVUxUX1RSQUlMX05BTUUgPSAnRGVmYXVsdCc7CiAgICBjb25zdCBQUkVGSVhfVEVNUExBVEUgPSAncHJlZml4L0FXU0xvZ3MvYWNjb3VudC9DbG91ZFRyYWlsL3JlZ2lvbi9kYXRlLyc7CiAgICBjb25zdCBQUkVGSVhfV0lMRENBUkQgPSAnKic7CgogICAgLy8gT3B0aW9uIG5hbWVzIHVzZWQgaW50ZXJuYWxseSBvciBleHRlcm5hbGx5CiAgICBjb25zdCBUUkFJTF9OQU1FID0gJ3RyYWlsX25hbWUnOwogICAgY29uc3QgS0VZX1BSRUZJWCA9ICdrZXlfcHJlZml4JzsKICAgIGNvbnN0IFNUQVJUX0RBVEUgPSAnc3RhcnRfZGF0ZSc7CiAgICBjb25zdCBFTkRfREFURSA9ICdlbmRfZGF0ZSc7CiAgICBjb25zdCBBQ0NPVU5UX0lEID0gJ2FjY291bnRfaWQnOwogICAgY29uc3QgTE9HX1JFR0lPTiA9ICdsb2dfcmVnaW9uJzsKCiAgICAvKioKICAgICAqIEB2YXIgUzNDbGllbnQgVGhlIEFtYXpvbiBTMyBjbGllbnQgdXNlZCB0byBwZXJmb3JtIExpc3RPYmplY3RzIG9wZXJhdGlvbnMKICAgICAqLwogICAgcHJpdmF0ZSAkczNDbGllbnQ7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBUaGUgbmFtZSBvZiB0aGUgQW1hem9uIFMzIGJ1Y2tldCB0aGF0IGNvbnRhaW5zIHRoZSBsb2cgZmlsZXMgcHVibGlzaGVkIGJ5IEFXUyBDbG91ZFRyYWlsCiAgICAgKi8KICAgIHByaXZhdGUgJHMzQnVja2V0TmFtZTsKCiAgICAvKioKICAgICAqIENvbnRydWN0cyBhIExvZ1JlY29yZEl0ZXJhdG9yLiBUaGlzIGZhY3RvcnkgbWV0aG9kIGlzIHVzZWQgaWYgdGhlIG5hbWUgb2YgdGhlIFMzIGJ1Y2tldCBjb250YWluaW5nIHlvdXIgbG9ncyBpcwogICAgICogbm90IGtub3duLiBUaGlzIGZhY3RvcnkgbWV0aG9kIHVzZXMgYSBDbG91ZFRyYWlsIGNsaWVudCBhbmQgdGhlIHRyYWlsIG5hbWUgKG9yICJEZWZhdWx0IikgdG8gZmluZCB0aGUKICAgICAqIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0cmFpbCBuZWNlc3NhcnkgZm9yIGNvbnN0cnVjdGluZyB0aGUgTG9nUmVjb3JkSXRlcmF0b3IKICAgICAqCiAgICAgKiBAcGFyYW0gUzNDbGllbnQgICAgICAgICAkczNDbGllbnQKICAgICAqIEBwYXJhbSBDbG91ZFRyYWlsQ2xpZW50ICRjbG91ZFRyYWlsQ2xpZW50CiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICAkb3B0aW9ucwogICAgICoKICAgICAqIEByZXR1cm4gTG9nUmVjb3JkSXRlcmF0b3IKICAgICAqIEB0aHJvd3MgXEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICogQHNlZSBMb2dSZWNvcmRJdGVyYXRvcjo6X19jb250cnVjdAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZvclRyYWlsKFMzQ2xpZW50ICRzM0NsaWVudCwgQ2xvdWRUcmFpbENsaWVudCAkY2xvdWRUcmFpbENsaWVudCwgYXJyYXkgJG9wdGlvbnMgPSBhcnJheSgpKQogICAgewogICAgICAgICR0cmFpbE5hbWUgPSBpc3NldCgkb3B0aW9uc1tzZWxmOjpUUkFJTF9OQU1FXSkgPyAkb3B0aW9uc1tzZWxmOjpUUkFJTF9OQU1FXSA6IHNlbGY6OkRFRkFVTFRfVFJBSUxfTkFNRTsKICAgICAgICAkczNCdWNrZXROYW1lID0gbnVsbDsKCiAgICAgICAgLy8gVXNlIHRoZSBDbG91ZFRyYWlsIGNsaWVudCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRyYWlsLCBpbmNsdWRpbmcgdGhlIGJ1Y2tldCBuYW1lCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHJlc3VsdCA9ICRjbG91ZFRyYWlsQ2xpZW50LT5kZXNjcmliZVRyYWlscyhhcnJheSgKICAgICAgICAgICAgICAgICd0cmFpbE5hbWVMaXN0JyA9PiBhcnJheSgkdHJhaWxOYW1lKSwKICAgICAgICAgICAgKSk7CiAgICAgICAgICAgICRzM0J1Y2tldE5hbWUgPSAkcmVzdWx0LT5nZXRQYXRoKCd0cmFpbExpc3QvMC9TM0J1Y2tldE5hbWUnKTsKICAgICAgICAgICAgJG9wdGlvbnNbc2VsZjo6S0VZX1BSRUZJWF0gPSAkcmVzdWx0LT5nZXRQYXRoKCd0cmFpbExpc3QvMC9TM0tleVByZWZpeCcpOwogICAgICAgIH0gY2F0Y2ggKENsb3VkVHJhaWxFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgLy8gVGhlcmUgd2FzIGFuIGVycm9yIGRlc2NyaWJpbmcgdGhlIHRyYWlsCiAgICAgICAgfQoKICAgICAgICAvLyBJZiB0aGUgYnVja2V0IG5hbWUgaXMgc3RpbGwgdW5rbm93biwgdGhlbiB0aHJvdyBhbiBleGNlcHRpb24KICAgICAgICBpZiAoISRzM0J1Y2tldE5hbWUpIHsKICAgICAgICAgICAgJHByZXYgPSBpc3NldCgkZSkgPyAkZSA6IG51bGw7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ1RoZSBidWNrZXQgbmFtZSBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZCBmcm9tIHRoZSB0cmFpbC4nLCAwLCAkcHJldik7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbmV3IHNlbGYoJHMzQ2xpZW50LCAkczNCdWNrZXROYW1lLCAkb3B0aW9ucyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb250cnVjdHMgYSBMb2dGaWxlSXRlcmF0b3IgdXNpbmcgdGhlIHNwZWNpZmllZCBvcHRpb25zOgogICAgICoKICAgICAqIC0gdHJhaWxfbmFtZTogVGhlIG5hbWUgb2YgdGhlIHRyYWlsIHRoYXQgaXMgZ2VuZXJhdGluZyBvdXIgbG9ncy4gSWYgbm9uZSBpcyBwcm92aWRlZCwgdGhlbiAiRGVmYXVsdCIgd2lsbCBiZQogICAgICogICAgICAgICAgICAgICB1c2VkLCBzaW5jZSB0aGF0IGlzIHRoZSBuYW1lIG9mIHRoZSB0cmFpbCBjcmVhdGVkIGluIHRoZSBBV1MgTWFuYWdlbWVudCBDb25zb2xlLgogICAgICogLSBrZXlfcHJlZml4OiBUaGUgUzMga2V5IHByZWZpeCBvZiB5b3VyIGxvZyBmaWxlcy4gVGhpcyB2YWx1ZSB3aWxsIGJlIG92ZXJ3cml0dGVuIHdoZW4gdXNpbmcgdGhlIGBmcm9tVHJhaWwoKWAKICAgICAqICAgICAgICAgICAgICAgbWV0aG9kLiBIb3dldmVyLCBpZiB5b3UgYXJlIHVzaW5nIHRoZSBjb250cnVjdG9yLCB0aGVuIHRoaXMgdmFsdWUgd2lsbCBiZSB1c2VkLgogICAgICogLSBzdGFydF9kYXRlOiBUaGUgdGltZXN0YW1wIG9mIHRoZSBiZWdpbm5pbmcgb2YgZGF0ZSByYW5nZSBvZiB0aGUgbG9nIHJlY29yZHMgeW91IHdhbnQgdG8gcmVhZC4gWW91IGNhbiBwYXNzIHRoaXMKICAgICAqICAgICAgICAgICAgICAgaW4gYXMgYSBgRGF0ZVRpbWVgIG9iamVjdCwgaW50ZWdlciAodW5peCB0aW1lc3RhbXApLCBvciBhIHN0cmluZyBjb21wYXRpYmxlIHdpdGggYHN0cnRvdGltZSgpYC4KICAgICAqIC0gZW5kX2RhdGU6ICAgVGhlIHRpbWVzdGFtcCBvZiB0aGUgZW5kIG9mIGRhdGUgcmFuZ2Ugb2YgdGhlIGxvZyByZWNvcmRzIHlvdSB3YW50IHRvIHJlYWQuIFlvdSBjYW4gcGFzcyB0aGlzIGluIGFzCiAgICAgKiAgICAgICAgICAgICAgIGEgYERhdGVUaW1lYCBvYmplY3QsIGludGVnZXIgKHVuaXggdGltZXN0YW1wKSwgb3IgYSBzdHJpbmcgY29tcGF0aWJsZSB3aXRoIGBzdHJ0b3RpbWUoKWAuCiAgICAgKiAtIGFjY291bnRfaWQ6IFRoaXMgaXMgeW91ciBBV1MgYWNjb3VudCBJRCwgd2hpY2ggaXMgdGhlIDEyLWRpZ2l0IG51bWJlciBmb3VuZCBvbiB0aGUgKkFjY291bnQgSWRlbnRpZmllcnMqCiAgICAgKiAgICAgICAgICAgICAgIHNlY3Rpb24gb2YgdGhlICpBV1MgU2VjdXJpdHkgQ3JlZGVudGlhbHMqIHBhZ2UuIFNlZSBodHRwczovL2NvbnNvbGUuYXdzLmFtYXpvbi5jb20vaWFtL2hvbWU/I3NlY3VyaXR5X2NyZWRlbnRpYWwKICAgICAqIC0gbG9nX3JlZ2lvbjogVGhlIHJlZ2lvbiBvZiB0aGUgc2VydmljZXMgb2YgdGhlIGxvZyByZWNvcmRzIHlvdSB3YW50IHRvIHJlYWQuCiAgICAgKgogICAgICogQHBhcmFtIFMzQ2xpZW50ICRzM0NsaWVudAogICAgICogQHBhcmFtIHN0cmluZyAgICRzM0J1Y2tldE5hbWUKICAgICAqIEBwYXJhbSBhcnJheSAgICAkb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoUzNDbGllbnQgJHMzQ2xpZW50LCAkczNCdWNrZXROYW1lLCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJHRoaXMtPnMzQ2xpZW50ID0gJHMzQ2xpZW50OwogICAgICAgICR0aGlzLT5zM0J1Y2tldE5hbWUgPSAkczNCdWNrZXROYW1lOwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJHRoaXMtPmJ1aWxkTGlzdE9iamVjdHNJdGVyYXRvcigkb3B0aW9ucykpOwogICAgfQoKICAgIC8qKgogICAgICogQW4gb3ZlcnJpZGUgb2YgdGhlIHR5cGljYWwgY3VycmVudCBiZWhhdmlvciBvZiBcSXRlcmF0b3JJdGVyYXRvciB0byBmb3JtYXQgdGhlIG91dHB1dCBzdWNoIHRoYXQgdGhlIGJ1Y2tldCBhbmQKICAgICAqIGtleSBhcmUgcmV0dXJuZWQgaW4gYW4gYXJyYXkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5fGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGN1cnJlbnQoKQogICAgewogICAgICAgIGlmICgkb2JqZWN0ID0gcGFyZW50OjpjdXJyZW50KCkpIHsKICAgICAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJHRoaXMtPnMzQnVja2V0TmFtZSwKICAgICAgICAgICAgICAgICdLZXknICAgID0+ICRvYmplY3RbJ0tleSddCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RzIGFuIFMzIExpc3RPYmplY3RzIGl0ZXJhdG9yLCBvcHRpb25hbGx5IGRlY29yYXRlZCB3aXRoIEZpbHRlckl0ZXJhdG9ycywgYmFzZWQgb24gdGhlIHByb3ZpZGVkIG9wdGlvbnMKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJG9wdGlvbnMKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBidWlsZExpc3RPYmplY3RzSXRlcmF0b3IoYXJyYXkgJG9wdGlvbnMpCiAgICB7CiAgICAgICAgLy8gRXh0cmFjdCBhbmQgbm9ybWFsaXplIHRoZSBkYXRlIHZhbHVlcyBmcm9tIHRoZSBvcHRpb25zCiAgICAgICAgJHN0YXJ0RGF0ZSA9IGlzc2V0KCRvcHRpb25zW3NlbGY6OlNUQVJUX0RBVEVdKSA/ICR0aGlzLT5ub3JtYWxpemVEYXRlVmFsdWUoJG9wdGlvbnNbc2VsZjo6U1RBUlRfREFURV0pIDogbnVsbDsKICAgICAgICAkZW5kRGF0ZSA9IGlzc2V0KCRvcHRpb25zW3NlbGY6OkVORF9EQVRFXSkgPyAkdGhpcy0+bm9ybWFsaXplRGF0ZVZhbHVlKCRvcHRpb25zW3NlbGY6OkVORF9EQVRFXSkgOiBudWxsOwoKICAgICAgICAvLyBEZXRlcm1pbmUgdGhlIHBhcnRzIG9mIHRoZSBrZXkgcHJlZml4IG9mIHRoZSBsb2cgZmlsZXMgYmVpbmcgcmVhZAogICAgICAgICRrZXlQcmVmaXhQYXJ0cyA9IGFycmF5KAogICAgICAgICAgICAncHJlZml4JyAgPT4gaXNzZXQoJG9wdGlvbnNbc2VsZjo6S0VZX1BSRUZJWF0pID8gJG9wdGlvbnNbc2VsZjo6S0VZX1BSRUZJWF0gOiBudWxsLAogICAgICAgICAgICAnYWNjb3VudCcgPT4gaXNzZXQoJG9wdGlvbnNbc2VsZjo6QUNDT1VOVF9JRF0pID8gJG9wdGlvbnNbc2VsZjo6QUNDT1VOVF9JRF0gOiBzZWxmOjpQUkVGSVhfV0lMRENBUkQsCiAgICAgICAgICAgICdyZWdpb24nICA9PiBpc3NldCgkb3B0aW9uc1tzZWxmOjpMT0dfUkVHSU9OXSkgPyAkb3B0aW9uc1tzZWxmOjpMT0dfUkVHSU9OXSA6IHNlbGY6OlBSRUZJWF9XSUxEQ0FSRCwKICAgICAgICAgICAgJ2RhdGUnICAgID0+ICR0aGlzLT5kZXRlcm1pbmVEYXRlRm9yUHJlZml4KCRzdGFydERhdGUsICRlbmREYXRlKSwKICAgICAgICApOwoKICAgICAgICAvLyBEZXRlcm1pbmUgdGhlIGxvbmdlc3Qga2V5IHByZWZpeCB0aGF0IGNhbiBiZSB1c2VkIHRvIHJldHJpZXZlIGFsbCBvZiB0aGUgcmVsZXZhbnQgbG9nIGZpbGVzCiAgICAgICAgJGNhbmRpZGF0ZVByZWZpeCA9IGx0cmltKHN0cnRyKHNlbGY6OlBSRUZJWF9URU1QTEFURSwgJGtleVByZWZpeFBhcnRzKSwgJy8nKTsKICAgICAgICAkbG9nS2V5UHJlZml4ID0gJGNhbmRpZGF0ZVByZWZpeDsKICAgICAgICBpZiAoKCRpbmRleCA9IHN0cnBvcygkY2FuZGlkYXRlUHJlZml4LCBzZWxmOjpQUkVGSVhfV0lMRENBUkQpKSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgJGxvZ0tleVByZWZpeCA9IHN1YnN0cigkY2FuZGlkYXRlUHJlZml4LCAwLCAkaW5kZXgpOwogICAgICAgIH0KCiAgICAgICAgLy8gQ3JlYXRlIGFuIGl0ZXJhdG9yIHRoYXQgd2lsbCBlbWl0IGFsbCBvZiB0aGUgb2JqZWN0cyBtYXRjaGluZyB0aGUga2V5IHByZWZpeAogICAgICAgICRvYmplY3RzSXRlcmF0b3IgPSAkdGhpcy0+czNDbGllbnQtPmdldExpc3RPYmplY3RzSXRlcmF0b3IoYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICR0aGlzLT5zM0J1Y2tldE5hbWUsCiAgICAgICAgICAgICdQcmVmaXgnID0+ICRsb2dLZXlQcmVmaXgsCiAgICAgICAgKSk7CgogICAgICAgIC8vIEFwcGx5IHJlZ2V4IGFuZC9vciBkYXRlIGZpbHRlcnMgdG8gdGhlIG9iamVjdHMgaXRlcmF0b3IgdG8gZW1pdCBvbmx5IGxvZyBmaWxlcyBtYXRjaGluZyB0aGUgb3B0aW9ucwogICAgICAgICRvYmplY3RzSXRlcmF0b3IgPSAkdGhpcy0+YXBwbHlSZWdleEZpbHRlcigkb2JqZWN0c0l0ZXJhdG9yLCAkbG9nS2V5UHJlZml4LCAkY2FuZGlkYXRlUHJlZml4KTsKICAgICAgICAkb2JqZWN0c0l0ZXJhdG9yID0gJHRoaXMtPmFwcGx5RGF0ZUZpbHRlcigkb2JqZWN0c0l0ZXJhdG9yLCAkc3RhcnREYXRlLCAkZW5kRGF0ZSk7CgogICAgICAgIHJldHVybiAkb2JqZWN0c0l0ZXJhdG9yOwogICAgfQoKICAgIC8qKgogICAgICogTm9ybWFsaXplcyBhIGRhdGUgdmFsdWUgdG8gYSB1bml4IHRpbWVzdGFtcAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8XERhdGVUaW1lfGludCAkZGF0ZQogICAgICoKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGlmIHRoZSB2YWx1ZSBjYW5ub3QgYmUgY29udmVydGVkIHRvIGEgdGltZXN0YW1wCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gbm9ybWFsaXplRGF0ZVZhbHVlKCRkYXRlKQogICAgewogICAgICAgIC8vIE5vcm1hbGl6ZSBzdGFydCBkYXRlIHRvIGEgdW5peCB0aW1lc3RhbXAKICAgICAgICBpZiAoaXNfc3RyaW5nKCRkYXRlKSkgewogICAgICAgICAgICAkZGF0ZSA9IHN0cnRvdGltZSgkZGF0ZSk7CiAgICAgICAgfSBlbHNlaWYgKCRkYXRlIGluc3RhbmNlb2YgXERhdGVUaW1lKSB7CiAgICAgICAgICAgICRkYXRlID0gJGRhdGUtPmZvcm1hdCgnVScpOwogICAgICAgIH0gZWxzZWlmICghaXNfaW50KCRkYXRlKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignRGF0ZSB2YWx1ZXMgbXVzdCBiZSBhIHN0cmluZywgYW4gaW50LCBvciBhIERhdGVUaW1lIG9iamVjdC4nKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZGF0ZTsKICAgIH0KCiAgICAvKioKICAgICAqIFVzZXMgdGhlIHByb3ZpZGVkIGRhdGUgdmFsdWVzIHRvIGRldGVybWluZSB0aGUgZGF0ZSBwb3J0aW9uIG9mIHRoZSBwcmVmaXgKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBkZXRlcm1pbmVEYXRlRm9yUHJlZml4KCRzdGFydERhdGUsICRlbmREYXRlKQogICAgewogICAgICAgIC8vIFRoZSBkZWZhdWx0IGRhdGUgdmFsdWUgc2hvdWxkIGxvb2sgbGlrZSAiKi8qLyoiIGFmdGVyIGpvaW5pbmcKICAgICAgICAkZGF0ZVBhcnRzID0gYXJyYXlfZmlsbF9rZXlzKGFycmF5KCdZJywgJ20nLCAnZCcpLCBzZWxmOjpQUkVGSVhfV0lMRENBUkQpOwoKICAgICAgICAvLyBOYXJyb3cgZG93biB0aGUgZGF0ZSBieSByZXBsYWNpbmcgdGhlIFdJTERDQVJEcyB3aXRoIHZhbHVlcyBpZiB0aGV5IGFyZSB0aGUgc2FtZSBmb3IgdGhlIHN0YXJ0IGFuZCBlbmQgZGF0ZQogICAgICAgIGlmICgkc3RhcnREYXRlICYmICRlbmREYXRlKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCRkYXRlUGFydHMgYXMgJGtleSA9PiAmJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAkY2FuZGlkYXRlVmFsdWUgPSBkYXRlKCRrZXksICRzdGFydERhdGUpOwogICAgICAgICAgICAgICAgaWYgKCRjYW5kaWRhdGVWYWx1ZSA9PT0gZGF0ZSgka2V5LCAkZW5kRGF0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAkdmFsdWUgPSAkY2FuZGlkYXRlVmFsdWU7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gam9pbignLycsICRkYXRlUGFydHMpOwogICAgfQoKICAgIC8qKgogICAgICogQXBwbGllcyBhIHJlZ2V4IGl0ZXJhdG9yIGZpbHRlciB0aGF0IGxpbWl0cyB0aGUgTGlzdE9iamVjdHMgcmVzdWx0IHNldCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgb3B0aW9ucwogICAgICoKICAgICAqIEBwYXJhbSBcSXRlcmF0b3IgJG9iamVjdHNJdGVyYXRvcgogICAgICogQHBhcmFtIHN0cmluZyAgICAkbG9nS2V5UHJlZml4CiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICRjYW5kaWRhdGVQcmVmaXgKICAgICAqCiAgICAgKiBAcmV0dXJuIFxJdGVyYXRvcgogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGFwcGx5UmVnZXhGaWx0ZXIoJG9iamVjdHNJdGVyYXRvciwgJGxvZ0tleVByZWZpeCwgJGNhbmRpZGF0ZVByZWZpeCkKICAgIHsKICAgICAgICAvLyBJZiB0aGUgcHJlZml4IGFuZCBjYW5kaWRhdGUgcHJlZml4IGFyZSBub3QgdGhlIHNhbWUsIHRoZW4gdGhlcmUgd2VyZSBXSUxEQ0FSRHMKICAgICAgICBpZiAoJGxvZ0tleVByZWZpeCAhPT0gJGNhbmRpZGF0ZVByZWZpeCkgewogICAgICAgICAgICAvLyBUdXJuIHRoZSBjYW5kaWRhdGUgcHJlZml4IGludG8gYSByZWdleCBieSB0cmltbWluZyBhbmQgY29udmVydGluZyBXSUxEQ0FSRHMgdG8gcmVnZXggbm90YXRpb24KICAgICAgICAgICAgJHJlZ2V4ID0gcnRyaW0oJGNhbmRpZGF0ZVByZWZpeCwgJy8nIC4gc2VsZjo6UFJFRklYX1dJTERDQVJEKSAuICcvJzsKICAgICAgICAgICAgJHJlZ2V4ID0gc3RydHIoJHJlZ2V4LCBhcnJheShzZWxmOjpQUkVGSVhfV0lMRENBUkQgPT4gJ1teL10rJykpOwoKICAgICAgICAgICAgLy8gQWZ0ZXIgdHJpbW1pbmcgV0lMRENBUkRzIG9yIHRoZSBlbmQsIGlmIHRoZSByZWdleCBpcyB0aGUgc2FtZSBhcyB0aGUgcHJlZml4LCB0aGVuIG5vIHJlZ2V4IGlzIG5lZWRlZAogICAgICAgICAgICBpZiAoJGxvZ0tleVByZWZpeCAhPT0gJHJlZ2V4KSB7CiAgICAgICAgICAgICAgICAvLyBBcHBseSBhIHJlZ2V4IGZpbHRlciBpdGVyYXRvciB0byByZW1vdmUgZmlsZXMgdGhhdCBkb24ndCBtYXRjaCB0aGUgcHJvdmlkZWQgb3B0aW9ucwogICAgICAgICAgICAgICAgJG9iamVjdHNJdGVyYXRvciA9IG5ldyBGaWx0ZXJJdGVyYXRvcigkb2JqZWN0c0l0ZXJhdG9yLCBmdW5jdGlvbiAoJG9iamVjdCkgdXNlICgkcmVnZXgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJlZ19tYXRjaCgiI3skcmVnZXh9IyIsICRvYmplY3RbJ0tleSddKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJG9iamVjdHNJdGVyYXRvcjsKICAgIH0KCiAgICAvKioKICAgICAqIEFwcGxpZXMgYW4gaXRlcmF0b3IgZmlsdGVyIHRvIHJlc3RyaWN0IHRoZSBMaXN0T2JqZWN0cyByZXN1bHQgc2V0IHRvIHRoZSBzcGVjaWZpZWQgZGF0ZSByYW5nZQogICAgICoKICAgICAqIEBwYXJhbSBcSXRlcmF0b3IgJG9iamVjdHNJdGVyYXRvcgogICAgICoKICAgICAqIEByZXR1cm4gXEl0ZXJhdG9yCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gYXBwbHlEYXRlRmlsdGVyKCRvYmplY3RzSXRlcmF0b3IsICRzdGFydERhdGUsICRlbmREYXRlKQogICAgewogICAgICAgIC8vIElmIGVpdGhlciBhIHN0YXJ0IG9yIGVuZCBkYXRlIHdhcyBwcm92aWRlZCwgZmlsdGVyIG91dCBkYXRlcyB0aGF0IGRvbid0IG1hdGNoIHRoZSBkYXRlIHJhbmdlCiAgICAgICAgaWYgKCRzdGFydERhdGUgfHwgJGVuZERhdGUpIHsKICAgICAgICAgICAgJG9iamVjdHNJdGVyYXRvciA9IG5ldyBGaWx0ZXJJdGVyYXRvcigkb2JqZWN0c0l0ZXJhdG9yLCBmdW5jdGlvbiAoJG9iamVjdCkgdXNlICgkc3RhcnREYXRlLCAkZW5kRGF0ZSkgewogICAgICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJy9bMC05XXs4fVRbMC05XXs0fVovJywgJG9iamVjdFsnS2V5J10sICRtYXRjaGVzKSkgewogICAgICAgICAgICAgICAgICAgICRkYXRlID0gc3RydG90aW1lKCRtYXRjaGVzWzBdKTsKICAgICAgICAgICAgICAgICAgICBpZiAoKCEkc3RhcnREYXRlIHx8ICRkYXRlID49ICRzdGFydERhdGUpICYmICghJGVuZERhdGUgfHwgJGRhdGUgPD0gJGVuZERhdGUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJG9iamVjdHNJdGVyYXRvcjsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/LogFileReader.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbDsKCnVzZSBBd3NcUzNcUzNDbGllbnQ7CgovKioKICogVGhpcyBjbGFzcyBwcm92aWRlcyBhbiBlYXN5IHdheSB0byByZWFkIGxvZyBmaWxlcyBnZW5lcmF0ZWQgYnkgQVdTIENsb3VkVHJhaWwuIENsb3VkVHJhaWwgbG9nIGZpbGVzIGNvbnRhaW4gZGF0YQogKiBhYm91dCB5b3VyIEFXUyBBUEkgY2FsbHMgYW5kIGFyZSBzdG9yZWQgaW4gQW1hem9uIFMzLiBUaGUgbG9nIGZpbGVzIGFyZSBnemlwcGVkIGFuZCBjb250YWluIHN0cnVjdHVyZWQgZGF0YSBpbiBKU09OCiAqIGZvcm1hdC4gVGhpcyBjbGFzcyB3aWxsIGF1dG9tYXRpY2FsbHkgdW5nemlwIGFuZCBkZWNvZGUgdGhlIGRhdGEsIGFuZCByZXR1cm4gdGhlIGRhdGEgYXMgYSBhcnJheSBvZiBsb2cgcmVjb3JkcwogKi8KY2xhc3MgTG9nRmlsZVJlYWRlcgp7CiAgICAvKioKICAgICAqIEB2YXIgUzNDbGllbnQgVGhlIEFtYXpvbiBTMyBjbGllbnQgdXNlZCB0byBwZXJmb3JtIEdldE9iamVjdCBvcGVyYXRpb25zCiAgICAgKi8KICAgIHByaXZhdGUgJHMzQ2xpZW50OwoKICAgIC8qKgogICAgICogQHBhcmFtIFMzQ2xpZW50ICRzM0NsaWVudAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoUzNDbGllbnQgJHMzQ2xpZW50KQogICAgewogICAgICAgICR0aGlzLT5zM0NsaWVudCA9ICRzM0NsaWVudDsKICAgIH0KCiAgICAvKioKICAgICAqIERvd25sb2FkcywgdW56aXBzLCBhbmQgcmVhZHMgYSBDbG91ZFRyYWlsIGxvZyBmaWxlIGZyb20gQW1hem9uIFMzCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkczNCdWNrZXROYW1lIFRoZSBidWNrZXQgbmFtZSBvZiB0aGUgbG9nIGZpbGUgaW4gQW1hem9uIFMzCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsb2dGaWxlS2V5ICAgVGhlIGtleSBvZiB0aGUgbG9nIGZpbGUgaW4gQW1hem9uIFMzCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVhZCgkczNCdWNrZXROYW1lLCAkbG9nRmlsZUtleSkKICAgIHsKICAgICAgICAvLyBDcmVhdGUgYSBjb21tYW5kIGZvciBnZXR0aW5nIHRoZSBsb2cgZmlsZSBvYmplY3QKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5zM0NsaWVudC0+Z2V0Q29tbWFuZCgnR2V0T2JqZWN0JywgYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+IChzdHJpbmcpICRzM0J1Y2tldE5hbWUsCiAgICAgICAgICAgICdLZXknICAgID0+IChzdHJpbmcpICRsb2dGaWxlS2V5LAogICAgICAgICkpOwoKICAgICAgICAvLyBNYWtlIHN1cmUgZ3ppcCBlbmNvZGluZyBoZWFkZXIgaXMgc2VudCBhbmQgYWNjZXB0ZWQgaW4gb3JkZXIgdG8gaW5mbGF0ZSB0aGUgcmVzcG9uc2UgZGF0YQogICAgICAgICRjb21tYW5kLT5zZXQoJ1Jlc3BvbnNlQ29udGVudEVuY29kaW5nJywgJ3gtZ3ppcCcpOwogICAgICAgICRjb21tYW5kLT5wcmVwYXJlKCktPmFkZEhlYWRlcignQWNjZXB0LUVuY29kaW5nJywgJ2d6aXAnKTsKCiAgICAgICAgLy8gR2V0IHRoZSBKU09OIHJlc3BvbnNlIGRhdGEgYW5kIGV4dHJhY3QgdGhlIGxvZyByZWNvcmRzCiAgICAgICAgJGNvbW1hbmQtPmV4ZWN1dGUoKTsKICAgICAgICAkbG9nRGF0YSA9ICRjb21tYW5kLT5nZXRSZXNwb25zZSgpLT5qc29uKCk7CiAgICAgICAgaWYgKGlzc2V0KCRsb2dEYXRhWydSZWNvcmRzJ10pKSB7CiAgICAgICAgICAgIHJldHVybiAkbG9nRGF0YVsnUmVjb3JkcyddOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiBhcnJheSgpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/LogRecordIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBBd3NcQ2xvdWRUcmFpbDsKCnVzZSBBd3NcUzNcUzNDbGllbnQ7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CgovKioKICogVGhlIGBBd3NcQ2xvdWRUcmFpbFxMb2dSZWNvcmRJdGVyYXRvcmAgcHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gaXRlcmF0ZSBvdmVyIGxvZyByZWNvcmRzIGZyb20gbG9nIGZpbGVzIGdlbmVyYXRlZCBieQogKiBBV1MgQ2xvdWRUcmFpbC4gQ2xvdWRUcmFpbCBsb2cgZmlsZXMgY29udGFpbiBkYXRhIGFib3V0IHlvdXIgQVdTIEFQSSBjYWxscyBhbmQgYXJlIHN0b3JlZCBpbiBBbWF6b24gUzMgYXQgYQogKiBwcmVkaWN0YWJsZSBwYXRoIGJhc2VkIG9uIGEgYnVja2V0IG5hbWUsIGEga2V5IHByZWZpeCwgYW4gYWNjb3VudCBJRCwgYSByZWdpb24sIGFuZCBkYXRlIGluZm9ybWF0aW9uLiBUaGUgZmlsZXMgYXJlCiAqIGd6aXBwZWQgYW5kIGNvbnRhaW4gc3RydWN0dXJlZCBkYXRhIGluIEpTT04gZm9ybWF0LiBUaGlzIGNsYXNzIGFsbG93cyB5b3UgdG8gc3BlY2lmeSBvcHRpb25zIHZpYSBpdHMgZmFjdG9yeSBtZXRob2RzLAogKiBpbmNsdWRpbmcgYSBkYXRlIHJhbmdlLCBhbmQgZW1pdHMgZWFjaCBsb2cgcmVjb3JkIGZyb20gYW55IGxvZyBmaWxlcyB0aGF0IG1hdGNoIHRoZSBwcm92aWRlZCBvcHRpb25zLgogKgogKiBAeWllbGRzIENvbGxlY3Rpb24gQSBsb2cgcmVjb3JkIGNvbnRhaW5pbmcgZGF0YSBhYm91dCBhbiBBV1MgQVBJIGNhbGwgaXMgeWllbGRlZCBmb3IgZWFjaCBpdGVyYXRpb24gb24gdGhpcyBvYmplY3QKICovCmNsYXNzIExvZ1JlY29yZEl0ZXJhdG9yIGltcGxlbWVudHMgXE91dGVySXRlcmF0b3IKewogICAgLyoqCiAgICAgKiBAdmFyIExvZ0ZpbGVSZWFkZXIKICAgICAqLwogICAgcHJpdmF0ZSAkbG9nRmlsZVJlYWRlcjsKCiAgICAvKioKICAgICAqIEB2YXIgXEl0ZXJhdG9yCiAgICAgKi8KICAgIHByaXZhdGUgJGxvZ0ZpbGVJdGVyYXRvcjsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkKICAgICAqLwogICAgcHJpdmF0ZSAkcmVjb3JkczsKCiAgICAvKioKICAgICAqIEB2YXIgaW50CiAgICAgKi8KICAgIHByaXZhdGUgJHJlY29yZEluZGV4OwoKICAgIC8qKgogICAgICogQHBhcmFtIFMzQ2xpZW50ICAgICAgICAgJHMzQ2xpZW50CiAgICAgKiBAcGFyYW0gQ2xvdWRUcmFpbENsaWVudCAkY2xvdWRUcmFpbENsaWVudAogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgJG9wdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIExvZ1JlY29yZEl0ZXJhdG9yCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZm9yVHJhaWwoUzNDbGllbnQgJHMzQ2xpZW50LCBDbG91ZFRyYWlsQ2xpZW50ICRjbG91ZFRyYWlsQ2xpZW50LCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJGxvZ0ZpbGVSZWFkZXIgPSBuZXcgTG9nRmlsZVJlYWRlcigkczNDbGllbnQpOwogICAgICAgICRsb2dGaWxlSXRlcmF0b3IgPSBMb2dGaWxlSXRlcmF0b3I6OmZvclRyYWlsKCRzM0NsaWVudCwgJGNsb3VkVHJhaWxDbGllbnQsICRvcHRpb25zKTsKCiAgICAgICAgcmV0dXJuIG5ldyBzZWxmKCRsb2dGaWxlUmVhZGVyLCAkbG9nRmlsZUl0ZXJhdG9yKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBTM0NsaWVudCAkczNDbGllbnQKICAgICAqIEBwYXJhbSBzdHJpbmcgICAkczNCdWNrZXROYW1lCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgJG9wdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIExvZ1JlY29yZEl0ZXJhdG9yCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZm9yQnVja2V0KFMzQ2xpZW50ICRzM0NsaWVudCwgJHMzQnVja2V0TmFtZSwgYXJyYXkgJG9wdGlvbnMgPSBhcnJheSgpKQogICAgewogICAgICAgICRsb2dGaWxlUmVhZGVyID0gbmV3IExvZ0ZpbGVSZWFkZXIoJHMzQ2xpZW50KTsKICAgICAgICAkbG9nRmlsZUl0ZXJhdG9yID0gbmV3IExvZ0ZpbGVJdGVyYXRvcigkczNDbGllbnQsICRzM0J1Y2tldE5hbWUsICRvcHRpb25zKTsKCiAgICAgICAgcmV0dXJuIG5ldyBzZWxmKCRsb2dGaWxlUmVhZGVyLCAkbG9nRmlsZUl0ZXJhdG9yKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBTM0NsaWVudCAkczNDbGllbnQKICAgICAqIEBwYXJhbSBzdHJpbmcgICAkczNCdWNrZXROYW1lCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgJHMzT2JqZWN0S2V5CiAgICAgKgogICAgICogQHJldHVybiBMb2dSZWNvcmRJdGVyYXRvcgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZvckZpbGUoUzNDbGllbnQgJHMzQ2xpZW50LCAkczNCdWNrZXROYW1lLCAkczNPYmplY3RLZXkpCiAgICB7CiAgICAgICAgJGxvZ0ZpbGVSZWFkZXIgPSBuZXcgTG9nRmlsZVJlYWRlcigkczNDbGllbnQpOwogICAgICAgICRsb2dGaWxlSXRlcmF0b3IgPSBuZXcgXEFycmF5SXRlcmF0b3IoYXJyYXkoYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICRzM0J1Y2tldE5hbWUsCiAgICAgICAgICAgICdLZXknICAgPT4gJHMzT2JqZWN0S2V5LAogICAgICAgICkpKTsKCiAgICAgICAgcmV0dXJuIG5ldyBzZWxmKCRsb2dGaWxlUmVhZGVyLCAkbG9nRmlsZUl0ZXJhdG9yKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBMb2dGaWxlUmVhZGVyICRsb2dGaWxlUmVhZGVyCiAgICAgKiBAcGFyYW0gXEl0ZXJhdG9yICAgICAkbG9nRmlsZUl0ZXJhdG9yCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChMb2dGaWxlUmVhZGVyICRsb2dGaWxlUmVhZGVyLCBcSXRlcmF0b3IgJGxvZ0ZpbGVJdGVyYXRvcikKICAgIHsKICAgICAgICAkdGhpcy0+bG9nRmlsZVJlYWRlciA9ICRsb2dGaWxlUmVhZGVyOwogICAgICAgICR0aGlzLT5sb2dGaWxlSXRlcmF0b3IgPSAkbG9nRmlsZUl0ZXJhdG9yOwogICAgICAgICR0aGlzLT5yZWNvcmRzID0gYXJyYXkoKTsKICAgICAgICAkdGhpcy0+cmVjb3JkSW5kZXggPSAwOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgY3VycmVudCBsb2cgcmVjb3JkIGFzIGEgR3V6emxlIENvbGxlY3Rpb24gb2JqZWN0LiBUaGlzIG9iamVjdCBiZWhhdmVzIGxpa2UgYW4gYXNzb2NpYXRpdmUgYXJyYXkKICAgICAqIGV4Y2VwdCB0aGF0IGl0IHJldHVybnMgYG51bGxgIG9uIG5vbi1leGlzdGVudCBrZXlzIGluc3RlYWQgb2YgY2F1c2luZyBhbiBlcnJvci4gU2VlIHRoZSBsaW5rZWQgcmVzb3VyY2VzIGZvciB0aGUKICAgICAqIHNjaGVtYSBvZiB0aGUgbG9nIHJlY29yZCBkYXRhIGFuZCBob3cgdG8gd29yayB3aXRoIEd1enpsZSBDb2xsZWN0aW9ucy4KICAgICAqCiAgICAgKiBAcmV0dXJuIENvbGxlY3Rpb24KICAgICAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3c2Nsb3VkdHJhaWwvbGF0ZXN0L3VzZXJndWlkZS9ldmVudHJlZmVyZW5jZS5odG1sCiAgICAgKiBAbGluayBodHRwOi8vYXBpLmd1enpsZXBocC5vcmcvY2xhc3MtR3V6emxlLkNvbW1vbi5Db2xsZWN0aW9uLmh0bWwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGN1cnJlbnQoKQogICAgewogICAgICAgIGlmICgkdGhpcy0+dmFsaWQoKSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbGxlY3Rpb24oJHRoaXMtPnJlY29yZHNbJHRoaXMtPnJlY29yZEluZGV4XSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gbmV4dCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlY29yZEluZGV4Kys7CgogICAgICAgIC8vIElmIGFsbCB0aGUgcmVjb3JkcyBoYXZlIGJlZW4gZXhoYXVzdGVkLCBnZXQgbW9yZSByZWNvcmRzIGZyb20gdGhlIG5leHQgbG9nIGZpbGUKICAgICAgICB3aGlsZSAoISR0aGlzLT52YWxpZCgpKSB7CiAgICAgICAgICAgICR0aGlzLT5sb2dGaWxlSXRlcmF0b3ItPm5leHQoKTsKICAgICAgICAgICAgJHN1Y2Nlc3MgPSAkdGhpcy0+bG9hZFJlY29yZHNGcm9tQ3VycmVudExvZ0ZpbGUoKTsKICAgICAgICAgICAgaWYgKCEkc3VjY2VzcykgewogICAgICAgICAgICAgICAgLy8gVGhlIG9iamVjdHMgaXRlcmF0b3IgaXMgZXhoYXVzdGVkIGFzIHdlbGwsIHNvIHN0b3AgdHJ5aW5nCiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBrZXkoKQogICAgewogICAgICAgIGlmICgkbG9nRmlsZSA9ICR0aGlzLT5sb2dGaWxlSXRlcmF0b3ItPmN1cnJlbnQoKSkgewogICAgICAgICAgICByZXR1cm4gJGxvZ0ZpbGVbJ0tleSddIC4gJy4nIC4gJHRoaXMtPnJlY29yZEluZGV4OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWQoKQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+cmVjb3Jkc1skdGhpcy0+cmVjb3JkSW5kZXhdKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmV3aW5kKCkKICAgIHsKICAgICAgICAkdGhpcy0+bG9nRmlsZUl0ZXJhdG9yLT5yZXdpbmQoKTsKICAgICAgICAkdGhpcy0+bG9hZFJlY29yZHNGcm9tQ3VycmVudExvZ0ZpbGUoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SW5uZXJJdGVyYXRvcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5sb2dGaWxlSXRlcmF0b3I7CiAgICB9CgogICAgLyoqCiAgICAgKiBFeGFtaW5lcyB0aGUgY3VycmVudCBmaWxlIGluIHRoZSBgbG9nRmlsZUl0ZXJhdG9yYCBhbmQgYXR0ZW1wdHMgdG8gcmVhZCBpdCBhbmQgbG9hZCBsb2cgcmVjb3JkcyBmcm9tIGl0IHVzaW5nCiAgICAgKiB0aGUgYGxvZ0ZpbGVSZWFkZXJgLiBUaGlzIG1ldGhvZCBleHBlY3RzIHRoYXQgaXRlbXMgcHVsbGVkIGZyb20gdGhlIGl0ZXJhdG9yIHdpbGwgdGFrZSB0aGUgZm9ybToKICAgICAqCiAgICAgKiAgICAgYXJyYXkoCiAgICAgKiAgICAgICAgICdCdWNrZXQnID0+ICcuLi4nLAogICAgICogICAgICAgICAnS2V5JyAgICA9PiAnLi4uJywKICAgICAqICAgICApCiAgICAgKgogICAgICogQHJldHVybiBib29sIFJldHVybnMgYHRydWVgIGlmIHJlY29yZHMgd2VyZSBsb2FkZWQgYW5kIGBmYWxzZWAgaWYgbm8gcmVjb3JkcyB3ZXJlIGZvdW5kCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gbG9hZFJlY29yZHNGcm9tQ3VycmVudExvZ0ZpbGUoKQogICAgewogICAgICAgICR0aGlzLT5yZWNvcmRJbmRleCA9IDA7CiAgICAgICAgJHRoaXMtPnJlY29yZHMgPSBhcnJheSgpOwoKICAgICAgICAkbG9nRmlsZSA9ICR0aGlzLT5sb2dGaWxlSXRlcmF0b3ItPmN1cnJlbnQoKTsKICAgICAgICBpZiAoJGxvZ0ZpbGUgJiYgaXNzZXQoJGxvZ0ZpbGVbJ0J1Y2tldCddKSAmJiBpc3NldCgkbG9nRmlsZVsnS2V5J10pKSB7CiAgICAgICAgICAgICR0aGlzLT5yZWNvcmRzID0gJHRoaXMtPmxvZ0ZpbGVSZWFkZXItPnJlYWQoJGxvZ0ZpbGVbJ0J1Y2tldCddLCAkbG9nRmlsZVsnS2V5J10pOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIChib29sKSAkbG9nRmlsZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudTrail/Resources/cloudtrail-2013-11-01.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTMtMTEtMDEnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnY2xvdWR0cmFpbCcsCiAgICAnc2VydmljZUZ1bGxOYW1lJyA9PiAnQVdTIENsb3VkVHJhaWwnLAogICAgJ3NlcnZpY2VBYmJyZXZpYXRpb24nID0+ICdDbG91ZFRyYWlsJywKICAgICdzZXJ2aWNlVHlwZScgPT4gJ2pzb24nLAogICAgJ2pzb25WZXJzaW9uJyA9PiAnMS4xJywKICAgICd0YXJnZXRQcmVmaXgnID0+ICdjb20uYW1hem9uYXdzLmNsb3VkdHJhaWwudjIwMTMxMTAxLkNsb3VkVHJhaWxfMjAxMzExMDEuJywKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjQnLAogICAgJ25hbWVzcGFjZScgPT4gJ0Nsb3VkVHJhaWwnLAogICAgJ3JlZ2lvbnMnID0+IGFycmF5KAogICAgICAgICd1cy1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnY2xvdWR0cmFpbC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtd2VzdC0yJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2Nsb3VkdHJhaWwudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICApLAogICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICdDcmVhdGVUcmFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVUcmFpbFJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdjb20uYW1hem9uYXdzLmNsb3VkdHJhaWwudjIwMTMxMTAxLkNsb3VkVHJhaWxfMjAxMzExMDEuQ3JlYXRlVHJhaWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd0cmFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUzNCdWNrZXROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1MzS2V5UHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Nuc1RvcGljTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbmNsdWRlR2xvYmFsU2VydmljZUV2ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01heGltdW1OdW1iZXJPZlRyYWlsc0V4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUcmFpbEFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1MzQnVja2V0RG9lc05vdEV4aXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnN1ZmZpY2llbnRTM0J1Y2tldFBvbGljeUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5zdWZmaWNpZW50U25zVG9waWNQb2xpY3lFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRTM0J1Y2tldE5hbWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRTM1ByZWZpeEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFNuc1RvcGljTmFtZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFRyYWlsTmFtZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVHJhaWxOb3RQcm92aWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVRyYWlsJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdjb20uYW1hem9uYXdzLmNsb3VkdHJhaWwudjIwMTMxMTAxLkNsb3VkVHJhaWxfMjAxMzExMDEuRGVsZXRlVHJhaWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVHJhaWxOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFRyYWlsTmFtZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVHJhaWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlVHJhaWxzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2NvbS5hbWF6b25hd3MuY2xvdWR0cmFpbC52MjAxMzExMDEuQ2xvdWRUcmFpbF8yMDEzMTEwMS5EZXNjcmliZVRyYWlscycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3RyYWlsTmFtZUxpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFRyYWlsU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldFRyYWlsU3RhdHVzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2NvbS5hbWF6b25hd3MuY2xvdWR0cmFpbC52MjAxMzExMDEuQ2xvdWRUcmFpbF8yMDEzMTEwMS5HZXRUcmFpbFN0YXR1cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUcmFpbE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbEVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkVHJhaWxOYW1lRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU3RhcnRMb2dnaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdjb20uYW1hem9uYXdzLmNsb3VkdHJhaWwudjIwMTMxMTAxLkNsb3VkVHJhaWxfMjAxMzExMDEuU3RhcnRMb2dnaW5nJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1MzQnVja2V0RG9lc05vdEV4aXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnN1ZmZpY2llbnRTM0J1Y2tldFBvbGljeUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5zdWZmaWNpZW50U25zVG9waWNQb2xpY3lFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1RyYWlsTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRUcmFpbE5hbWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTdG9wTG9nZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnY29tLmFtYXpvbmF3cy5jbG91ZHRyYWlsLnYyMDEzMTEwMS5DbG91ZFRyYWlsXzIwMTMxMTAxLlN0b3BMb2dnaW5nJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1RyYWlsTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRUcmFpbE5hbWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVUcmFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdVcGRhdGVUcmFpbFJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdjb20uYW1hem9uYXdzLmNsb3VkdHJhaWwudjIwMTMxMTAxLkNsb3VkVHJhaWxfMjAxMzExMDEuVXBkYXRlVHJhaWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd0cmFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUzNCdWNrZXROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1MzS2V5UHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Nuc1RvcGljTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbmNsdWRlR2xvYmFsU2VydmljZUV2ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1MzQnVja2V0RG9lc05vdEV4aXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnN1ZmZpY2llbnRTM0J1Y2tldFBvbGljeUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5zdWZmaWNpZW50U25zVG9waWNQb2xpY3lFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1RyYWlsTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRTM0J1Y2tldE5hbWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRTM1ByZWZpeEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFNuc1RvcGljTmFtZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFRyYWlsTmFtZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVHJhaWxOb3RQcm92aWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ21vZGVscycgPT4gYXJyYXkoCiAgICAgICAgJ0NyZWF0ZVRyYWlsUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3RyYWlsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTM0J1Y2tldE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUzNLZXlQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU25zVG9waWNOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0luY2x1ZGVHbG9iYWxTZXJ2aWNlRXZlbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRW1wdHlPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVRyYWlsc1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0cmFpbExpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVHJhaWwnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzQnVja2V0TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTM0tleVByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbnNUb3BpY05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5jbHVkZUdsb2JhbFNlcnZpY2VFdmVudHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFRyYWlsU3RhdHVzUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lzTG9nZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGF0ZXN0RGVsaXZlcnlFcnJvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXRlc3ROb3RpZmljYXRpb25FcnJvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXRlc3REZWxpdmVyeUF0dGVtcHRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhdGVzdERlbGl2ZXJ5QXR0ZW1wdFN1Y2NlZWRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXRlc3ROb3RpZmljYXRpb25BdHRlbXB0VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXRlc3ROb3RpZmljYXRpb25BdHRlbXB0U3VjY2VlZGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RpbWVMb2dnaW5nU3RhcnRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUaW1lTG9nZ2luZ1N0b3BwZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlVHJhaWxSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndHJhaWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1MzQnVja2V0TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTM0tleVByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTbnNUb3BpY05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW5jbHVkZUdsb2JhbFNlcnZpY2VFdmVudHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdpdGVyYXRvcnMnID0+IGFycmF5KAogICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ0Rlc2NyaWJlVHJhaWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAndHJhaWxMaXN0JywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/CloudWatchClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaDsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxBYnN0cmFjdENsaWVudDsKdXNlIEF3c1xDb21tb25cQ2xpZW50XENsaWVudEJ1aWxkZXI7CnVzZSBBd3NcQ29tbW9uXEVudW1cQ2xpZW50T3B0aW9ucyBhcyBPcHRpb25zOwp1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlOwoKLyoqCiAqIENsaWVudCB0byBpbnRlcmFjdCB3aXRoIEFtYXpvbiBDbG91ZFdhdGNoCiAqCiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlQWxhcm1zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkV2F0Y2ggRGVsZXRlQWxhcm1zfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlQWxhcm1IaXN0b3J5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkV2F0Y2ggRGVzY3JpYmVBbGFybUhpc3Rvcnl9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVBbGFybXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRXYXRjaCBEZXNjcmliZUFsYXJtc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUFsYXJtc0Zvck1ldHJpYyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFdhdGNoIERlc2NyaWJlQWxhcm1zRm9yTWV0cmljfQogKiBAbWV0aG9kIE1vZGVsIGRpc2FibGVBbGFybUFjdGlvbnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgQ2xvdWRXYXRjaCBEaXNhYmxlQWxhcm1BY3Rpb25zfQogKiBAbWV0aG9kIE1vZGVsIGVuYWJsZUFsYXJtQWN0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFdhdGNoIEVuYWJsZUFsYXJtQWN0aW9uc30KICogQG1ldGhvZCBNb2RlbCBnZXRNZXRyaWNTdGF0aXN0aWNzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkV2F0Y2ggR2V0TWV0cmljU3RhdGlzdGljc30KICogQG1ldGhvZCBNb2RlbCBsaXN0TWV0cmljcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFdhdGNoIExpc3RNZXRyaWNzfQogKiBAbWV0aG9kIE1vZGVsIHB1dE1ldHJpY0FsYXJtKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIENsb3VkV2F0Y2ggUHV0TWV0cmljQWxhcm19CiAqIEBtZXRob2QgTW9kZWwgcHV0TWV0cmljRGF0YShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFdhdGNoIFB1dE1ldHJpY0RhdGF9CiAqIEBtZXRob2QgTW9kZWwgc2V0QWxhcm1TdGF0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBDbG91ZFdhdGNoIFNldEFsYXJtU3RhdGV9CiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUFsYXJtSGlzdG9yeUl0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlQWxhcm1IaXN0b3J5IG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVBbGFybXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUFsYXJtcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQWxhcm1zRm9yTWV0cmljSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVBbGFybXNGb3JNZXRyaWMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0TWV0cmljc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RNZXRyaWNzIG9wZXJhdGlvbgogKgogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3Qvc2VydmljZS1jbG91ZHdhdGNoLmh0bWwgVXNlciBndWlkZQogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkNsb3VkV2F0Y2guQ2xvdWRXYXRjaENsaWVudC5odG1sIEFQSSBkb2NzCiAqLwpjbGFzcyBDbG91ZFdhdGNoQ2xpZW50IGV4dGVuZHMgQWJzdHJhY3RDbGllbnQKewogICAgY29uc3QgTEFURVNUX0FQSV9WRVJTSU9OID0gJzIwMTAtMDgtMDEnOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEFtYXpvbiBDbG91ZFdhdGNoIGNsaWVudCB1c2luZyBhbiBhcnJheSBvZiBjb25maWd1cmF0aW9uIG9wdGlvbnMuCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gJGNvbmZpZyBDbGllbnQgY29uZmlndXJhdGlvbiBkYXRhCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAc2VlIFxBd3NcQ29tbW9uXENsaWVudFxEZWZhdWx0Q2xpZW50IGZvciBhIGxpc3Qgb2YgYXZhaWxhYmxlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoJGNvbmZpZyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuIENsaWVudEJ1aWxkZXI6OmZhY3RvcnkoX19OQU1FU1BBQ0VfXykKICAgICAgICAgICAgLT5zZXRDb25maWcoJGNvbmZpZykKICAgICAgICAgICAgLT5zZXRDb25maWdEZWZhdWx0cyhhcnJheSgKICAgICAgICAgICAgICAgIE9wdGlvbnM6OlZFUlNJT04gICAgICAgICAgICAgPT4gc2VsZjo6TEFURVNUX0FQSV9WRVJTSU9OLAogICAgICAgICAgICAgICAgT3B0aW9uczo6U0VSVklDRV9ERVNDUklQVElPTiA9PiBfX0RJUl9fIC4gJy9SZXNvdXJjZXMvY2xvdWR3YXRjaC0lcy5waHAnCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Enum/ComparisonOperator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaFxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIENvbXBhcmlzb25PcGVyYXRvciB2YWx1ZXMKICovCmNsYXNzIENvbXBhcmlzb25PcGVyYXRvciBleHRlbmRzIEVudW0KewogICAgY29uc3QgR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCA9ICdHcmVhdGVyVGhhbk9yRXF1YWxUb1RocmVzaG9sZCc7CiAgICBjb25zdCBHUkVBVEVSX1RIQU5fVEhSRVNIT0xEID0gJ0dyZWF0ZXJUaGFuVGhyZXNob2xkJzsKICAgIGNvbnN0IExFU1NfVEhBTl9USFJFU0hPTEQgPSAnTGVzc1RoYW5UaHJlc2hvbGQnOwogICAgY29uc3QgTEVTU19USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCA9ICdMZXNzVGhhbk9yRXF1YWxUb1RocmVzaG9sZCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Enum/HistoryItemType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaFxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIEhpc3RvcnlJdGVtVHlwZSB2YWx1ZXMKICovCmNsYXNzIEhpc3RvcnlJdGVtVHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgQ09ORklHVVJBVElPTl9VUERBVEUgPSAnQ29uZmlndXJhdGlvblVwZGF0ZSc7CiAgICBjb25zdCBTVEFURV9VUERBVEUgPSAnU3RhdGVVcGRhdGUnOwogICAgY29uc3QgQUNUSU9OID0gJ0FjdGlvbic7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Enum/StateValue.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaFxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIFN0YXRlVmFsdWUgdmFsdWVzCiAqLwpjbGFzcyBTdGF0ZVZhbHVlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBPSyA9ICdPSyc7CiAgICBjb25zdCBBTEFSTSA9ICdBTEFSTSc7CiAgICBjb25zdCBJTlNVRkZJQ0lFTlRfREFUQSA9ICdJTlNVRkZJQ0lFTlRfREFUQSc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Enum/Statistic.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaFxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIFN0YXRpc3RpYyB2YWx1ZXMKICovCmNsYXNzIFN0YXRpc3RpYyBleHRlbmRzIEVudW0KewogICAgY29uc3QgU0FNUExFX0NPVU5UID0gJ1NhbXBsZUNvdW50JzsKICAgIGNvbnN0IEFWRVJBR0UgPSAnQXZlcmFnZSc7CiAgICBjb25zdCBTVU0gPSAnU3VtJzsKICAgIGNvbnN0IE1JTklNVU0gPSAnTWluaW11bSc7CiAgICBjb25zdCBNQVhJTVVNID0gJ01heGltdW0nOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Enum/Unit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaFxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIFVuaXQgdmFsdWVzCiAqLwpjbGFzcyBVbml0IGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBTRUNPTkRTID0gJ1NlY29uZHMnOwogICAgY29uc3QgTUlDUk9TRUNPTkRTID0gJ01pY3Jvc2Vjb25kcyc7CiAgICBjb25zdCBNSUxMSVNFQ09ORFMgPSAnTWlsbGlzZWNvbmRzJzsKICAgIGNvbnN0IEJZVEVTID0gJ0J5dGVzJzsKICAgIGNvbnN0IEtJTE9CWVRFUyA9ICdLaWxvYnl0ZXMnOwogICAgY29uc3QgTUVHQUJZVEVTID0gJ01lZ2FieXRlcyc7CiAgICBjb25zdCBHSUdBQllURVMgPSAnR2lnYWJ5dGVzJzsKICAgIGNvbnN0IFRFUkFCWVRFUyA9ICdUZXJhYnl0ZXMnOwogICAgY29uc3QgQklUUyA9ICdCaXRzJzsKICAgIGNvbnN0IEtJTE9CSVRTID0gJ0tpbG9iaXRzJzsKICAgIGNvbnN0IE1FR0FCSVRTID0gJ01lZ2FiaXRzJzsKICAgIGNvbnN0IEdJR0FCSVRTID0gJ0dpZ2FiaXRzJzsKICAgIGNvbnN0IFRFUkFCSVRTID0gJ1RlcmFiaXRzJzsKICAgIGNvbnN0IFBFUkNFTlQgPSAnUGVyY2VudCc7CiAgICBjb25zdCBDT1VOVCA9ICdDb3VudCc7CiAgICBjb25zdCBCWVRFU19QRVJfU0VDT05EID0gJ0J5dGVzL1NlY29uZCc7CiAgICBjb25zdCBLSUxPQllURVNfUEVSX1NFQ09ORCA9ICdLaWxvYnl0ZXMvU2Vjb25kJzsKICAgIGNvbnN0IE1FR0FCWVRFU19QRVJfU0VDT05EID0gJ01lZ2FieXRlcy9TZWNvbmQnOwogICAgY29uc3QgR0lHQUJZVEVTX1BFUl9TRUNPTkQgPSAnR2lnYWJ5dGVzL1NlY29uZCc7CiAgICBjb25zdCBURVJBQllURVNfUEVSX1NFQ09ORCA9ICdUZXJhYnl0ZXMvU2Vjb25kJzsKICAgIGNvbnN0IEJJVFNfUEVSX1NFQ09ORCA9ICdCaXRzL1NlY29uZCc7CiAgICBjb25zdCBLSUxPQklUU19QRVJfU0VDT05EID0gJ0tpbG9iaXRzL1NlY29uZCc7CiAgICBjb25zdCBNRUdBQklUU19QRVJfU0VDT05EID0gJ01lZ2FiaXRzL1NlY29uZCc7CiAgICBjb25zdCBHSUdBQklUU19QRVJfU0VDT05EID0gJ0dpZ2FiaXRzL1NlY29uZCc7CiAgICBjb25zdCBURVJBQklUU19QRVJfU0VDT05EID0gJ1RlcmFiaXRzL1NlY29uZCc7CiAgICBjb25zdCBDT1VOVF9QRVJfU0VDT05EID0gJ0NvdW50L1NlY29uZCc7CiAgICBjb25zdCBOT05FID0gJ05vbmUnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Exception/CloudWatchException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaFxFeGNlcHRpb247Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uOwoKLyoqCiAqIERlZmF1bHQgc2VydmljZSBleGNlcHRpb24gY2xhc3MKICovCmNsYXNzIENsb3VkV2F0Y2hFeGNlcHRpb24gZXh0ZW5kcyBTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Exception/InternalServiceException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaFxFeGNlcHRpb247CgovKioKICogSW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3QgcHJvY2Vzc2luZyBoYXMgZmFpbGVkIGR1ZSB0byBzb21lIHVua25vd24gZXJyb3IsIGV4Y2VwdGlvbiwgb3IgZmFpbHVyZS4KICovCmNsYXNzIEludGVybmFsU2VydmljZUV4Y2VwdGlvbiBleHRlbmRzIENsb3VkV2F0Y2hFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Exception/InvalidFormatException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaFxFeGNlcHRpb247CgovKioKICogRGF0YSB3YXMgbm90IHN5bnRhY3RpY2FsbHkgdmFsaWQgSlNPTi4KICovCmNsYXNzIEludmFsaWRGb3JtYXRFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZFdhdGNoRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Exception/InvalidNextTokenException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaFxFeGNlcHRpb247CgovKioKICogVGhlIG5leHQgdG9rZW4gc3BlY2lmaWVkIGlzIGludmFsaWQuCiAqLwpjbGFzcyBJbnZhbGlkTmV4dFRva2VuRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRXYXRjaEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Exception/InvalidParameterCombinationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaFxFeGNlcHRpb247CgovKioKICogUGFyYW1ldGVycyB0aGF0IG11c3Qgbm90IGJlIHVzZWQgdG9nZXRoZXIgd2VyZSB1c2VkIHRvZ2V0aGVyLgogKi8KY2xhc3MgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXhjZXB0aW9uIGV4dGVuZHMgQ2xvdWRXYXRjaEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Exception/InvalidParameterValueException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaFxFeGNlcHRpb247CgovKioKICogQmFkIG9yIG91dC1vZi1yYW5nZSB2YWx1ZSB3YXMgc3VwcGxpZWQgZm9yIHRoZSBpbnB1dCBwYXJhbWV0ZXIuCiAqLwpjbGFzcyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24gZXh0ZW5kcyBDbG91ZFdhdGNoRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Exception/LimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaFxFeGNlcHRpb247CgovKioKICogVGhlIHF1b3RhIGZvciBhbGFybXMgZm9yIHRoaXMgY3VzdG9tZXIgaGFzIGFscmVhZHkgYmVlbiByZWFjaGVkLgogKi8KY2xhc3MgTGltaXRFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIENsb3VkV2F0Y2hFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Exception/MissingRequiredParameterException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaFxFeGNlcHRpb247CgovKioKICogQW4gaW5wdXQgcGFyYW1ldGVyIHRoYXQgaXMgbWFuZGF0b3J5IGZvciBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0IGlzIG5vdCBzdXBwbGllZC4KICovCmNsYXNzIE1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlckV4Y2VwdGlvbiBleHRlbmRzIENsb3VkV2F0Y2hFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Exception/ResourceNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ2xvdWRXYXRjaFxFeGNlcHRpb247CgovKioKICogVGhlIG5hbWVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0LgogKi8KY2xhc3MgUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIENsb3VkV2F0Y2hFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/CloudWatch/Resources/cloudwatch-2010-08-01.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTAtMDgtMDEnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnbW9uaXRvcmluZycsCiAgICAnc2VydmljZUZ1bGxOYW1lJyA9PiAnQW1hem9uIENsb3VkV2F0Y2gnLAogICAgJ3NlcnZpY2VBYmJyZXZpYXRpb24nID0+ICdDbG91ZFdhdGNoJywKICAgICdzZXJ2aWNlVHlwZScgPT4gJ3F1ZXJ5JywKICAgICdyZXN1bHRXcmFwcGVkJyA9PiB0cnVlLAogICAgJ3NpZ25hdHVyZVZlcnNpb24nID0+ICd2NCcsCiAgICAnbmFtZXNwYWNlJyA9PiAnQ2xvdWRXYXRjaCcsCiAgICAncmVnaW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ3VzLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ21vbml0b3JpbmcudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ21vbml0b3JpbmcudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ21vbml0b3JpbmcudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2V1LXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ21vbml0b3JpbmcuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLW5vcnRoZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnbW9uaXRvcmluZy5hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ21vbml0b3JpbmcuYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdtb25pdG9yaW5nLmFwLXNvdXRoZWFzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3NhLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ21vbml0b3Jpbmcuc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLWdvdi13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnbW9uaXRvcmluZy51cy1nb3Ytd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICApLAogICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICdEZWxldGVBbGFybXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlQWxhcm1zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wOC0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FsYXJtTmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBbGFybU5hbWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAxMDAsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBbGFybU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgbmFtZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVBbGFybUhpc3RvcnknID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlQWxhcm1IaXN0b3J5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVBbGFybUhpc3RvcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA4LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWxhcm1OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSGlzdG9yeUl0ZW1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhcnREYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5kRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdkYXRlLXRpbWUnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgbmV4dCB0b2tlbiBzcGVjaWZpZWQgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWROZXh0VG9rZW5FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUFsYXJtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVBbGFybXNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUFsYXJtcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDgtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGFybU5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBbGFybU5hbWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAxMDAsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBbGFybU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGFybU5hbWVQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGF0ZVZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWN0aW9uUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgbmV4dCB0b2tlbiBzcGVjaWZpZWQgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWROZXh0VG9rZW5FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUFsYXJtc0Zvck1ldHJpYycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVBbGFybXNGb3JNZXRyaWNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUFsYXJtc0Zvck1ldHJpYycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDgtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNZXRyaWNOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05hbWVzcGFjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGF0aXN0aWMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEaW1lbnNpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdEaW1lbnNpb25zLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAxMCwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RpbWVuc2lvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQZXJpb2QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gNjAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VuaXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEaXNhYmxlQWxhcm1BY3Rpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rpc2FibGVBbGFybUFjdGlvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA4LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWxhcm1OYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0FsYXJtTmFtZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDEwMCwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0FsYXJtTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0VuYWJsZUFsYXJtQWN0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdFbmFibGVBbGFybUFjdGlvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA4LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWxhcm1OYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0FsYXJtTmFtZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDEwMCwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0FsYXJtTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldE1ldHJpY1N0YXRpc3RpY3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldE1ldHJpY1N0YXRpc3RpY3NPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRNZXRyaWNTdGF0aXN0aWNzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wOC0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05hbWVzcGFjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNZXRyaWNOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RpbWVuc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0RpbWVuc2lvbnMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDEwLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRGltZW5zaW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXJ0VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdkYXRlLXRpbWUnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BlcmlvZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gNjAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXRpc3RpY3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTdGF0aXN0aWNzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkl0ZW1zJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhJdGVtcycgPT4gNSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0YXRpc3RpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVbml0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQmFkIG9yIG91dC1vZi1yYW5nZSB2YWx1ZSB3YXMgc3VwcGxpZWQgZm9yIHRoZSBpbnB1dCBwYXJhbWV0ZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnB1dCBwYXJhbWV0ZXIgdGhhdCBpcyBtYW5kYXRvcnkgZm9yIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QgaXMgbm90IHN1cHBsaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ1JlcXVpcmVkUGFyYW1ldGVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUGFyYW1ldGVycyB0aGF0IG11c3Qgbm90IGJlIHVzZWQgdG9nZXRoZXIgd2VyZSB1c2VkIHRvZ2V0aGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3QgcHJvY2Vzc2luZyBoYXMgZmFpbGVkIGR1ZSB0byBzb21lIHVua25vd24gZXJyb3IsIGV4Y2VwdGlvbiwgb3IgZmFpbHVyZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RNZXRyaWNzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0TWV0cmljc091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0xpc3RNZXRyaWNzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wOC0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05hbWVzcGFjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01ldHJpY05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEaW1lbnNpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdEaW1lbnNpb25zLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAxMCwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RpbWVuc2lvbkZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0IHByb2Nlc3NpbmcgaGFzIGZhaWxlZCBkdWUgdG8gc29tZSB1bmtub3duIGVycm9yLCBleGNlcHRpb24sIG9yIGZhaWx1cmUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZpY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdCYWQgb3Igb3V0LW9mLXJhbmdlIHZhbHVlIHdhcyBzdXBwbGllZCBmb3IgdGhlIGlucHV0IHBhcmFtZXRlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1B1dE1ldHJpY0FsYXJtJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1B1dE1ldHJpY0FsYXJtJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wOC0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FsYXJtTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGFybURlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FjdGlvbnNFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT0tBY3Rpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPS0FjdGlvbnMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDUsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZXNvdXJjZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWxhcm1BY3Rpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBbGFybUFjdGlvbnMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDUsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZXNvdXJjZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdWZmaWNpZW50RGF0YUFjdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0luc3VmZmljaWVudERhdGFBY3Rpb25zLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiA1LAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUmVzb3VyY2VOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01ldHJpY05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmFtZXNwYWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXRpc3RpYycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEaW1lbnNpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdEaW1lbnNpb25zLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAxMCwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RpbWVuc2lvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQZXJpb2QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDYwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVbml0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXZhbHVhdGlvblBlcmlvZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RocmVzaG9sZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29tcGFyaXNvbk9wZXJhdG9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBxdW90YSBmb3IgYWxhcm1zIGZvciB0aGlzIGN1c3RvbWVyIGhhcyBhbHJlYWR5IGJlZW4gcmVhY2hlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRNZXRyaWNEYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1B1dE1ldHJpY0RhdGEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA4LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmFtZXNwYWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01ldHJpY0RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdNZXRyaWNEYXRhLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdNZXRyaWNEYXR1bScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01ldHJpY05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RpbWVuc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdEaW1lbnNpb25zLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAxMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RpbWVuc2lvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaW1lc3RhbXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRpc3RpY1ZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NhbXBsZUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pbmltdW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heGltdW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVbml0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0JhZCBvciBvdXQtb2YtcmFuZ2UgdmFsdWUgd2FzIHN1cHBsaWVkIGZvciB0aGUgaW5wdXQgcGFyYW1ldGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW5wdXQgcGFyYW1ldGVyIHRoYXQgaXMgbWFuZGF0b3J5IGZvciBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0IGlzIG5vdCBzdXBwbGllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01pc3NpbmdSZXF1aXJlZFBhcmFtZXRlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1BhcmFtZXRlcnMgdGhhdCBtdXN0IG5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdlcmUgdXNlZCB0b2dldGhlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0IHByb2Nlc3NpbmcgaGFzIGZhaWxlZCBkdWUgdG8gc29tZSB1bmtub3duIGVycm9yLCBleGNlcHRpb24sIG9yIGZhaWx1cmUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZpY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTZXRBbGFybVN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NldEFsYXJtU3RhdGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA4LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWxhcm1OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXRlVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhdGVSZWFzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDIzLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGF0ZVJlYXNvbkRhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDQwMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBuYW1lZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEYXRhIHdhcyBub3Qgc3ludGFjdGljYWxseSB2YWxpZCBKU09OLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEZvcm1hdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ21vZGVscycgPT4gYXJyYXkoCiAgICAgICAgJ0VtcHR5T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVBbGFybUhpc3RvcnlPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FsYXJtSGlzdG9yeUl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWxhcm1IaXN0b3J5SXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGFybU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGltZXN0YW1wJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hpc3RvcnlJdGVtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIaXN0b3J5U3VtbWFyeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIaXN0b3J5RGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUFsYXJtc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWV0cmljQWxhcm1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTWV0cmljQWxhcm0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxhcm1OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsYXJtQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsYXJtRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxhcm1Db25maWd1cmF0aW9uVXBkYXRlZFRpbWVzdGFtcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb25zRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT0tBY3Rpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Jlc291cmNlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxhcm1BY3Rpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Jlc291cmNlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdWZmaWNpZW50RGF0YUFjdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUmVzb3VyY2VOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZVZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlUmVhc29uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlUmVhc29uRGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZVVwZGF0ZWRUaW1lc3RhbXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWV0cmljTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lc3BhY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGlzdGljJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RpbWVuc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRGltZW5zaW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVyaW9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVbml0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V2YWx1YXRpb25QZXJpb2RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaHJlc2hvbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBhcmlzb25PcGVyYXRvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUFsYXJtc0Zvck1ldHJpY091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWV0cmljQWxhcm1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTWV0cmljQWxhcm0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxhcm1OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsYXJtQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsYXJtRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxhcm1Db25maWd1cmF0aW9uVXBkYXRlZFRpbWVzdGFtcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb25zRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT0tBY3Rpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Jlc291cmNlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxhcm1BY3Rpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Jlc291cmNlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdWZmaWNpZW50RGF0YUFjdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUmVzb3VyY2VOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZVZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlUmVhc29uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlUmVhc29uRGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZVVwZGF0ZWRUaW1lc3RhbXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWV0cmljTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lc3BhY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGlzdGljJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RpbWVuc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRGltZW5zaW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVyaW9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVbml0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V2YWx1YXRpb25QZXJpb2RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaHJlc2hvbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBhcmlzb25PcGVyYXRvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRNZXRyaWNTdGF0aXN0aWNzT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdMYWJlbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RhdGFwb2ludHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdEYXRhcG9pbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGltZXN0YW1wJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NhbXBsZUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdmVyYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pbmltdW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heGltdW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VuaXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdE1ldHJpY3NPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01ldHJpY3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdNZXRyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZXNwYWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01ldHJpY05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGltZW5zaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdEaW1lbnNpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdpdGVyYXRvcnMnID0+IGFycmF5KAogICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ0Rlc2NyaWJlQWxhcm1IaXN0b3J5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnQWxhcm1IaXN0b3J5SXRlbXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVBbGFybXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heFJlY29yZHMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdNZXRyaWNBbGFybXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVBbGFybXNGb3JNZXRyaWMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdNZXRyaWNBbGFybXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdE1ldHJpY3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdNZXRyaWNzJywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Aws.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uOwoKdXNlIEF3c1xDb21tb25cRmFjYWRlXEZhY2FkZTsKdXNlIEd1enpsZVxTZXJ2aWNlXEJ1aWxkZXJcU2VydmljZUJ1aWxkZXI7CnVzZSBHdXp6bGVcU2VydmljZVxCdWlsZGVyXFNlcnZpY2VCdWlsZGVyTG9hZGVyOwoKLyoqCiAqIEJhc2UgY2xhc3MgZm9yIGludGVyYWN0aW5nIHdpdGggd2ViIHNlcnZpY2UgY2xpZW50cwogKi8KY2xhc3MgQXdzIGV4dGVuZHMgU2VydmljZUJ1aWxkZXIKewogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBDdXJyZW50IHZlcnNpb24gb2YgdGhlIFNESwogICAgICovCiAgICBjb25zdCBWRVJTSU9OID0gJzIuNC4xMic7CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBuZXcgc2VydmljZSBsb2NhdG9yIGZvciB0aGUgQVdTIFNESwogICAgICoKICAgICAqIFlvdSBjYW4gY29uZmlndXJlIHRoZSBzZXJ2aWNlIGxvY2F0b3IgaXMgZm91ciBkaWZmZXJlbnQgd2F5czoKICAgICAqCiAgICAgKiAxLiBVc2UgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmaWxlIHNoaXBwZWQgd2l0aCB0aGUgU0RLIHRoYXQgd2lyZXMgY2xhc3MgbmFtZXMgd2l0aCBzZXJ2aWNlIHNob3J0IG5hbWVzIGFuZAogICAgICogICAgc3BlY2lmeSBnbG9iYWwgcGFyYW1ldGVycyB0byBhZGQgdG8gZXZlcnkgZGVmaW5pdGlvbiAoZS5nLiBrZXksIHNlY3JldCwgY3JlZGVudGlhbHMsIGV0YykKICAgICAqCiAgICAgKiAyLiBVc2UgYSBjdXN0b20gY29uZmlndXJhdGlvbiBmaWxlIHRoYXQgZXh0ZW5kcyB0aGUgZGVmYXVsdCBjb25maWcgYW5kIHN1cHBsaWVzIGNyZWRlbnRpYWxzIGZvciBlYWNoIHNlcnZpY2UuCiAgICAgKgogICAgICogMy4gVXNlIGEgY3VzdG9tIGNvbmZpZyBmaWxlIHRoYXQgd2lyZXMgc2VydmljZXMgdG8gY3VzdG9tIHNob3J0IG5hbWVzIGZvciBzZXJ2aWNlcy4KICAgICAqCiAgICAgKiA0LiBJZiB5b3UgYXJlIG9uIEFtYXpvbiBFQzIsIHlvdSBjYW4gdXNlIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZmlsZSBhbmQgbm90IHByb3ZpZGUgYW55IGNyZWRlbnRpYWxzIHNvIHRoYXQKICAgICAqICAgIHlvdSBhcmUgdXNpbmcgSW5zdGFuY2VQcm9maWxlIGNyZWRlbnRpYWxzLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxzdHJpbmcgJGNvbmZpZyAgICAgICAgICAgVGhlIGZ1bGwgcGF0aCB0byBhIC5waHAgb3IgLmpzfC5qc29uIGZpbGUsIG9yIGFuIGFzc29jaWF0aXZlIGFycmF5IG9mIGRhdGEKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdXNlIGFzIGdsb2JhbCBwYXJhbWV0ZXJzIHRvIHBhc3MgdG8gZWFjaCBzZXJ2aWNlLgogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAkZ2xvYmFsUGFyYW1ldGVycyBHbG9iYWwgcGFyYW1ldGVycyB0byBwYXNzIHRvIGV2ZXJ5IHNlcnZpY2UgYXMgaXQgaXMgaW5zdGFudGlhdGVkLgogICAgICoKICAgICAqIEByZXR1cm4gQXdzCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gbnVsbCwgYXJyYXkgJGdsb2JhbFBhcmFtZXRlcnMgPSBhcnJheSgpKQogICAgewogICAgICAgIGlmICghJGNvbmZpZykgewogICAgICAgICAgICAvLyBJZiBub3RoaW5nIGlzIHBhc3NlZCBpbiwgdGhlbiB1c2UgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmaWxlIHdpdGggY3JlZGVudGlhbHMgZnJvbSB0aGUgZW52aXJvbm1lbnQKICAgICAgICAgICAgJGNvbmZpZyA9IHNlbGY6OmdldERlZmF1bHRTZXJ2aWNlRGVmaW5pdGlvbigpOwogICAgICAgIH0gZWxzZWlmIChpc19hcnJheSgkY29uZmlnKSkgewogICAgICAgICAgICAvLyBJZiBhbiBhcnJheSB3YXMgcGFzc2VkLCB0aGVuIHVzZSB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIGZpbGUgd2l0aCBwYXJhbWV0ZXIgb3ZlcnJpZGVzCiAgICAgICAgICAgICRnbG9iYWxQYXJhbWV0ZXJzID0gJGNvbmZpZzsKICAgICAgICAgICAgJGNvbmZpZyA9IHNlbGY6OmdldERlZmF1bHRTZXJ2aWNlRGVmaW5pdGlvbigpOwogICAgICAgIH0KCiAgICAgICAgJGxvYWRlciA9IG5ldyBTZXJ2aWNlQnVpbGRlckxvYWRlcigpOwogICAgICAgICRsb2FkZXItPmFkZEFsaWFzKCdfYXdzJywgc2VsZjo6Z2V0RGVmYXVsdFNlcnZpY2VEZWZpbml0aW9uKCkpCiAgICAgICAgICAgIC0+YWRkQWxpYXMoJ19zZGsxJywgX19ESVJfXyAgLiAnL1Jlc291cmNlcy9zZGsxLWNvbmZpZy5waHAnKTsKCiAgICAgICAgcmV0dXJuICRsb2FkZXItPmxvYWQoJGNvbmZpZywgJGdsb2JhbFBhcmFtZXRlcnMpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBmdWxsIHBhdGggdG8gdGhlIGRlZmF1bHQgc2VydmljZSBidWlsZGVyIGRlZmluaXRpb24gZmlsZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0RGVmYXVsdFNlcnZpY2VEZWZpbml0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gX19ESVJfXyAgLiAnL1Jlc291cmNlcy9hd3MtY29uZmlnLnBocCc7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgc2VydmljZSBidWlsZGVyCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29uZmlnKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmJ1aWxkZXJDb25maWc7CiAgICB9CgogICAgLyoqCiAgICAgKiBFbmFibGVzIHRoZSBmYWNhZGVzIGZvciB0aGUgY2xpZW50cyBkZWZpbmVkIGluIHRoZSBzZXJ2aWNlIGJ1aWxkZXIKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgJG5hbWVzcGFjZSBUaGUgbmFtZXNwYWNlIHRoYXQgdGhlIGZhY2FkZXMgc2hvdWxkIGJlIG1vdW50ZWQgdG8uIERlZmF1bHRzIHRvIGdsb2JhbCBuYW1lc3BhY2UKICAgICAqCiAgICAgKiBAcmV0dXJuIEF3cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZW5hYmxlRmFjYWRlcygkbmFtZXNwYWNlID0gbnVsbCkKICAgIHsKICAgICAgICBGYWNhZGU6Om1vdW50RmFjYWRlcygkdGhpcywgJG5hbWVzcGFjZSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Client/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Client/AbstractClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENsaWVudDsKCnVzZSBBd3NcQ29tbW9uXEF3czsKdXNlIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM7CnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzSW50ZXJmYWNlOwp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFRyYW5zZmVyRXhjZXB0aW9uOwp1c2UgQXdzXENvbW1vblxTaWduYXR1cmVcRW5kcG9pbnRTaWduYXR1cmVJbnRlcmZhY2U7CnVzZSBBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVJbnRlcmZhY2U7CnVzZSBBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVMaXN0ZW5lcjsKdXNlIEF3c1xDb21tb25cV2FpdGVyXFdhaXRlckNsYXNzRmFjdG9yeTsKdXNlIEF3c1xDb21tb25cV2FpdGVyXENvbXBvc2l0ZVdhaXRlckZhY3Rvcnk7CnVzZSBBd3NcQ29tbW9uXFdhaXRlclxXYWl0ZXJGYWN0b3J5SW50ZXJmYWNlOwp1c2UgQXdzXENvbW1vblxXYWl0ZXJcV2FpdGVyQ29uZmlnRmFjdG9yeTsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxDdXJsRXhjZXB0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcQ2xpZW50Owp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlOwoKLyoqCiAqIEFic3RyYWN0IEFXUyBjbGllbnQKICovCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0Q2xpZW50IGV4dGVuZHMgQ2xpZW50IGltcGxlbWVudHMgQXdzQ2xpZW50SW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQHZhciBDcmVkZW50aWFsc0ludGVyZmFjZSBBV1MgY3JlZGVudGlhbHMKICAgICAqLwogICAgcHJvdGVjdGVkICRjcmVkZW50aWFsczsKCiAgICAvKioKICAgICAqIEB2YXIgU2lnbmF0dXJlSW50ZXJmYWNlIFNpZ25hdHVyZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgc2VydmljZQogICAgICovCiAgICBwcm90ZWN0ZWQgJHNpZ25hdHVyZTsKCiAgICAvKioKICAgICAqIEB2YXIgV2FpdGVyRmFjdG9yeUludGVyZmFjZSBGYWN0b3J5IHVzZWQgdG8gY3JlYXRlIHdhaXRlciBjbGFzc2VzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkd2FpdGVyRmFjdG9yeTsKCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRBbGxFdmVudHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheV9tZXJnZShDbGllbnQ6OmdldEFsbEV2ZW50cygpLCBhcnJheSgKICAgICAgICAgICAgJ2NsaWVudC5yZWdpb25fY2hhbmdlZCcsCiAgICAgICAgICAgICdjbGllbnQuY3JlZGVudGlhbHNfY2hhbmdlZCcsCiAgICAgICAgKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0gQ3JlZGVudGlhbHNJbnRlcmZhY2UgJGNyZWRlbnRpYWxzIEFXUyBjcmVkZW50aWFscwogICAgICogQHBhcmFtIFNpZ25hdHVyZUludGVyZmFjZSAgICRzaWduYXR1cmUgICBTaWduYXR1cmUgaW1wbGVtZW50YXRpb24KICAgICAqIEBwYXJhbSBDb2xsZWN0aW9uICAgICAgICAgICAkY29uZmlnICAgICAgQ29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaWYgYW4gZW5kcG9pbnQgcHJvdmlkZXIgaXNuJ3QgcHJvdmlkZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KENyZWRlbnRpYWxzSW50ZXJmYWNlICRjcmVkZW50aWFscywgU2lnbmF0dXJlSW50ZXJmYWNlICRzaWduYXR1cmUsIENvbGxlY3Rpb24gJGNvbmZpZykKICAgIHsKICAgICAgICAvLyBCb290c3RyYXAgd2l0aCBHdXp6bGUKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRjb25maWctPmdldChPcHRpb25zOjpCQVNFX1VSTCksICRjb25maWcpOwogICAgICAgICR0aGlzLT5jcmVkZW50aWFscyA9ICRjcmVkZW50aWFsczsKICAgICAgICAkdGhpcy0+c2lnbmF0dXJlID0gJHNpZ25hdHVyZTsKCiAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSB1c2VyIGFnZW50IGlzIHByZWZpeGVkIGJ5IHRoZSBTREsgdmVyc2lvbgogICAgICAgICR0aGlzLT5zZXRVc2VyQWdlbnQoJ2F3cy1zZGstcGhwMi8nIC4gQXdzOjpWRVJTSU9OLCB0cnVlKTsKCiAgICAgICAgLy8gQWRkIHRoZSBldmVudCBsaXN0ZW5lciBzbyB0aGF0IHJlcXVlc3RzIGFyZSBzaWduZWQgYmVmb3JlIHRoZXkgYXJlIHNlbnQKICAgICAgICAkZGlzcGF0Y2hlciA9ICR0aGlzLT5nZXRFdmVudERpc3BhdGNoZXIoKTsKICAgICAgICAkZGlzcGF0Y2hlci0+YWRkU3Vic2NyaWJlcihuZXcgU2lnbmF0dXJlTGlzdGVuZXIoJGNyZWRlbnRpYWxzLCAkc2lnbmF0dXJlKSk7CgogICAgICAgIGlmICgkYmFja29mZiA9ICRjb25maWctPmdldChPcHRpb25zOjpCQUNLT0ZGKSkgewogICAgICAgICAgICAkZGlzcGF0Y2hlci0+YWRkU3Vic2NyaWJlcigkYmFja29mZiwgLTI1NSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NhbGwoJG1ldGhvZCwgJGFyZ3MpCiAgICB7CiAgICAgICAgaWYgKHN1YnN0cigkbWV0aG9kLCAwLCAzKSA9PT0gJ2dldCcgJiYgc3Vic3RyKCRtZXRob2QsIC04KSA9PT0gJ0l0ZXJhdG9yJykgewogICAgICAgICAgICAvLyBBbGxvdyBtYWdpYyBtZXRob2QgY2FsbHMgZm9yIGl0ZXJhdG9ycyAoZS5nLiAkY2xpZW50LT5nZXQ8Q29tbWFuZE5hbWU+SXRlcmF0b3IoJHBhcmFtcykpCiAgICAgICAgICAgICRjb21tYW5kT3B0aW9ucyA9IGlzc2V0KCRhcmdzWzBdKSA/ICRhcmdzWzBdIDogbnVsbDsKICAgICAgICAgICAgJGl0ZXJhdG9yT3B0aW9ucyA9IGlzc2V0KCRhcmdzWzFdKSA/ICRhcmdzWzFdIDogYXJyYXkoKTsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRJdGVyYXRvcihzdWJzdHIoJG1ldGhvZCwgMywgLTgpLCAkY29tbWFuZE9wdGlvbnMsICRpdGVyYXRvck9wdGlvbnMpOwogICAgICAgIH0gZWxzZWlmIChzdWJzdHIoJG1ldGhvZCwgMCwgOSkgPT0gJ3dhaXRVbnRpbCcpIHsKICAgICAgICAgICAgLy8gQWxsb3cgbWFnaWMgbWV0aG9kIGNhbGxzIGZvciB3YWl0ZXJzIChlLmcuICRjbGllbnQtPndhaXRVbnRpbDxXYWl0ZXJOYW1lPigkcGFyYW1zKSkKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT53YWl0VW50aWwoc3Vic3RyKCRtZXRob2QsIDkpLCBpc3NldCgkYXJnc1swXSkgPyAkYXJnc1swXTogYXJyYXkoKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIHBhcmVudDo6X19jYWxsKHVjZmlyc3QoJG1ldGhvZCksICRhcmdzKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYW4gZW5kcG9pbnQgZm9yIGEgc3BlY2lmaWMgcmVnaW9uIGZyb20gYSBzZXJ2aWNlIGRlc2NyaXB0aW9uCiAgICAgKgogICAgICogQHBhcmFtIFNlcnZpY2VEZXNjcmlwdGlvbkludGVyZmFjZSAkZGVzY3JpcHRpb24gU2VydmljZSBkZXNjcmlwdGlvbgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAkcmVnaW9uICAgICAgUmVnaW9uIG9mIHRoZSBlbmRwb2ludAogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAkc2NoZW1lICAgICAgVVJMIHNjaGVtZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEVuZHBvaW50KFNlcnZpY2VEZXNjcmlwdGlvbkludGVyZmFjZSAkZGVzY3JpcHRpb24sICRyZWdpb24sICRzY2hlbWUpCiAgICB7CiAgICAgICAgJHNlcnZpY2UgPSAkZGVzY3JpcHRpb24tPmdldERhdGEoJ3NlcnZpY2VGdWxsTmFtZScpOwogICAgICAgIC8vIExvb2t1cCB0aGUgcmVnaW9uIGluIHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uCiAgICAgICAgaWYgKCEoJHJlZ2lvbnMgPSAkZGVzY3JpcHRpb24tPmdldERhdGEoJ3JlZ2lvbnMnKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigiTm8gcmVnaW9ucyBmb3VuZCBpbiB0aGUgeyRzZXJ2aWNlfSBkZXNjcmlwdGlvbiIpOwogICAgICAgIH0KICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgcmVnaW9uIGV4aXN0cyBmb3IgdGhlIHNlcnZpY2UKICAgICAgICBpZiAoIWlzc2V0KCRyZWdpb25zWyRyZWdpb25dKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCJ7JHJlZ2lvbn0gaXMgbm90IGEgdmFsaWQgcmVnaW9uIGZvciB7JHNlcnZpY2V9Iik7CiAgICAgICAgfQogICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBzY2hlbWUgaXMgdmFsaWQKICAgICAgICBpZiAoJHJlZ2lvbnNbJHJlZ2lvbl1bJHNjaGVtZV0gPT0gZmFsc2UpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigieyRzY2hlbWV9IGlzIG5vdCBhIHZhbGlkIFVSSSBzY2hlbWUgZm9yIHskc2VydmljZX0gaW4geyRyZWdpb259Iik7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHNjaGVtZSAuICc6Ly8nIC4gJHJlZ2lvbnNbJHJlZ2lvbl1bJ2hvc3RuYW1lJ107CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDcmVkZW50aWFscygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jcmVkZW50aWFsczsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldENyZWRlbnRpYWxzKENyZWRlbnRpYWxzSW50ZXJmYWNlICRjcmVkZW50aWFscykKICAgIHsKICAgICAgICAkZm9ybWVyQ3JlZGVudGlhbHMgPSAkdGhpcy0+Y3JlZGVudGlhbHM7CiAgICAgICAgJHRoaXMtPmNyZWRlbnRpYWxzID0gJGNyZWRlbnRpYWxzOwoKICAgICAgICAvLyBEaXNwYXRjaCBhbiBldmVudCB0aGF0IHRoZSBjcmVkZW50aWFscyBoYXZlIGJlZW4gY2hhbmdlZAogICAgICAgICR0aGlzLT5kaXNwYXRjaCgnY2xpZW50LmNyZWRlbnRpYWxzX2NoYW5nZWQnLCBhcnJheSgKICAgICAgICAgICAgJ2NyZWRlbnRpYWxzJyAgICAgICAgPT4gJGNyZWRlbnRpYWxzLAogICAgICAgICAgICAnZm9ybWVyX2NyZWRlbnRpYWxzJyA9PiAkZm9ybWVyQ3JlZGVudGlhbHMsCiAgICAgICAgKSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFNpZ25hdHVyZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zaWduYXR1cmU7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZWdpb25zKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNlcnZpY2VEZXNjcmlwdGlvbi0+Z2V0RGF0YSgncmVnaW9ucycpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVnaW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldENvbmZpZyhPcHRpb25zOjpSRUdJT04pOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UmVnaW9uKCRyZWdpb24pCiAgICB7CiAgICAgICAgJGNvbmZpZyA9ICR0aGlzLT5nZXRDb25maWcoKTsKICAgICAgICAkZm9ybWVyUmVnaW9uID0gJGNvbmZpZy0+Z2V0KE9wdGlvbnM6OlJFR0lPTik7CiAgICAgICAgJGdsb2JhbCA9ICR0aGlzLT5zZXJ2aWNlRGVzY3JpcHRpb24tPmdldERhdGEoJ2dsb2JhbEVuZHBvaW50Jyk7CgogICAgICAgIC8vIE9ubHkgY2hhbmdlIHRoZSByZWdpb24gaWYgdGhlIHNlcnZpY2UgZG9lcyBub3QgaGF2ZSBhIGdsb2JhbCBlbmRwb2ludAogICAgICAgIGlmICghJGdsb2JhbCB8fCAkdGhpcy0+c2VydmljZURlc2NyaXB0aW9uLT5nZXREYXRhKCduYW1lc3BhY2UnKSA9PT0gJ1MzJykgewogICAgICAgICAgICAkYmFzZVVybCA9IHNlbGY6OmdldEVuZHBvaW50KCR0aGlzLT5zZXJ2aWNlRGVzY3JpcHRpb24sICRyZWdpb24sICRjb25maWctPmdldChPcHRpb25zOjpTQ0hFTUUpKTsKICAgICAgICAgICAgJHRoaXMtPnNldEJhc2VVcmwoJGJhc2VVcmwpOwogICAgICAgICAgICAkY29uZmlnLT5zZXQoT3B0aW9uczo6QkFTRV9VUkwsICRiYXNlVXJsKS0+c2V0KE9wdGlvbnM6OlJFR0lPTiwgJHJlZ2lvbik7CgogICAgICAgICAgICAvLyBVcGRhdGUgdGhlIHNpZ25hdHVyZSBpZiBuZWNlc3NhcnkKICAgICAgICAgICAgJHNpZ25hdHVyZSA9ICR0aGlzLT5nZXRTaWduYXR1cmUoKTsKICAgICAgICAgICAgaWYgKCRzaWduYXR1cmUgaW5zdGFuY2VvZiBFbmRwb2ludFNpZ25hdHVyZUludGVyZmFjZSkgewogICAgICAgICAgICAgICAgLyoqIEB2YXIgJHNpZ25hdHVyZSBFbmRwb2ludFNpZ25hdHVyZUludGVyZmFjZSAqLwogICAgICAgICAgICAgICAgJHNpZ25hdHVyZS0+c2V0UmVnaW9uTmFtZSgkcmVnaW9uKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gRGlzcGF0Y2ggYW4gZXZlbnQgdGhhdCB0aGUgcmVnaW9uIGhhcyBiZWVuIGNoYW5nZWQKICAgICAgICAgICAgJHRoaXMtPmRpc3BhdGNoKCdjbGllbnQucmVnaW9uX2NoYW5nZWQnLCBhcnJheSgKICAgICAgICAgICAgICAgICdyZWdpb24nICAgICAgICA9PiAkcmVnaW9uLAogICAgICAgICAgICAgICAgJ2Zvcm1lcl9yZWdpb24nID0+ICRmb3JtZXJSZWdpb24sCiAgICAgICAgICAgICkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gd2FpdFVudGlsKCR3YWl0ZXIsIGFycmF5ICRpbnB1dCA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFdhaXRlcigkd2FpdGVyLCAkaW5wdXQpLT53YWl0KCk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFdhaXRlcigkd2FpdGVyLCBhcnJheSAkaW5wdXQgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0V2FpdGVyRmFjdG9yeSgpLT5idWlsZCgkd2FpdGVyKQogICAgICAgICAgICAtPnNldENsaWVudCgkdGhpcykKICAgICAgICAgICAgLT5zZXRDb25maWcoJGlucHV0KTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFdhaXRlckZhY3RvcnkoV2FpdGVyRmFjdG9yeUludGVyZmFjZSAkd2FpdGVyRmFjdG9yeSkKICAgIHsKICAgICAgICAkdGhpcy0+d2FpdGVyRmFjdG9yeSA9ICR3YWl0ZXJGYWN0b3J5OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRXYWl0ZXJGYWN0b3J5KCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT53YWl0ZXJGYWN0b3J5KSB7CiAgICAgICAgICAgICRjbGllbnRDbGFzcyA9IGdldF9jbGFzcygkdGhpcyk7CiAgICAgICAgICAgIC8vIFVzZSBhIGNvbXBvc2l0ZSBmYWN0b3J5IHRoYXQgY2hlY2tzIGZvciBjbGFzc2VzIGZpcnN0LCB0aGVuIGNvbmZpZyB3YWl0ZXJzCiAgICAgICAgICAgICR0aGlzLT53YWl0ZXJGYWN0b3J5ID0gbmV3IENvbXBvc2l0ZVdhaXRlckZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICAgICBuZXcgV2FpdGVyQ2xhc3NGYWN0b3J5KHN1YnN0cigkY2xpZW50Q2xhc3MsIDAsIHN0cnJwb3MoJGNsaWVudENsYXNzLCAnXFwnKSkgLiAnXFxXYWl0ZXInKQogICAgICAgICAgICApKTsKICAgICAgICAgICAgaWYgKCR0aGlzLT5nZXREZXNjcmlwdGlvbigpKSB7CiAgICAgICAgICAgICAgICAkd2FpdGVyQ29uZmlnID0gJHRoaXMtPmdldERlc2NyaXB0aW9uKCktPmdldERhdGEoJ3dhaXRlcnMnKSA/OiBhcnJheSgpOwogICAgICAgICAgICAgICAgJHRoaXMtPndhaXRlckZhY3RvcnktPmFkZEZhY3RvcnkobmV3IFdhaXRlckNvbmZpZ0ZhY3RvcnkoJHdhaXRlckNvbmZpZykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPndhaXRlckZhY3Rvcnk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRBcGlWZXJzaW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNlcnZpY2VEZXNjcmlwdGlvbi0+Z2V0QXBpVmVyc2lvbigpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICogQHRocm93cyBcQXdzXENvbW1vblxFeGNlcHRpb25cVHJhbnNmZXJFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNlbmQoJHJlcXVlc3RzKQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHJldHVybiBwYXJlbnQ6OnNlbmQoJHJlcXVlc3RzKTsKICAgICAgICB9IGNhdGNoIChDdXJsRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICR3cmFwcGVkID0gbmV3IFRyYW5zZmVyRXhjZXB0aW9uKCRlLT5nZXRNZXNzYWdlKCksIG51bGwsICRlKTsKICAgICAgICAgICAgJHdyYXBwZWQtPnNldEN1cmxIYW5kbGUoJGUtPmdldEN1cmxIYW5kbGUoKSkKICAgICAgICAgICAgICAgIC0+c2V0Q3VybEluZm8oJGUtPmdldEN1cmxJbmZvKCkpCiAgICAgICAgICAgICAgICAtPnNldEVycm9yKCRlLT5nZXRFcnJvcigpLCAkZS0+Z2V0RXJyb3JObygpKQogICAgICAgICAgICAgICAgLT5zZXRSZXF1ZXN0KCRlLT5nZXRSZXF1ZXN0KCkpOwogICAgICAgICAgICB0aHJvdyAkd3JhcHBlZDsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Client/AwsClientInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENsaWVudDsKCnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzSW50ZXJmYWNlOwp1c2UgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlSW50ZXJmYWNlOwp1c2UgQXdzXENvbW1vblxXYWl0ZXJcV2FpdGVyRmFjdG9yeUludGVyZmFjZTsKdXNlIEF3c1xDb21tb25cV2FpdGVyXFdhaXRlckludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENsaWVudEludGVyZmFjZTsKCi8qKgogKiBJbnRlcmZhY2UgdGhhdCBhbGwgQVdTIGNsaWVudHMgaW1wbGVtZW50CiAqLwppbnRlcmZhY2UgQXdzQ2xpZW50SW50ZXJmYWNlIGV4dGVuZHMgQ2xpZW50SW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgQVdTIGNyZWRlbnRpYWxzIGFzc29jaWF0ZWQgd2l0aCB0aGUgY2xpZW50CiAgICAgKgogICAgICogQHJldHVybiBDcmVkZW50aWFsc0ludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q3JlZGVudGlhbHMoKTsKCiAgICAvKioKICAgICAqIFNldHMgdGhlIGNyZWRlbnRpYWxzIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhlIGNsaWVudAogICAgICoKICAgICAqIEBwYXJhbSBDcmVkZW50aWFsc0ludGVyZmFjZSAkY3JlZGVudGlhbHMgQ3JlZGVudGlhbHMgb2JqZWN0IHRvIHVzZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Q3JlZGVudGlhbHMoQ3JlZGVudGlhbHNJbnRlcmZhY2UgJGNyZWRlbnRpYWxzKTsKCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHNpZ25hdHVyZSBpbXBsZW1lbnRhdGlvbiB1c2VkIHdpdGggdGhlIGNsaWVudAogICAgICoKICAgICAqIEByZXR1cm4gU2lnbmF0dXJlSW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTaWduYXR1cmUoKTsKCiAgICAvKioKICAgICAqIEdldCBhIGxpc3Qgb2YgYXZhaWxhYmxlIHJlZ2lvbnMgYW5kIHJlZ2lvbiBkYXRhCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVnaW9ucygpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBuYW1lIG9mIHRoZSByZWdpb24gdG8gd2hpY2ggdGhlIGNsaWVudCBpcyBjb25maWd1cmVkIHRvIHNlbmQgcmVxdWVzdHMKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVnaW9uKCk7CgogICAgLyoqCiAgICAgKiBDaGFuZ2UgdGhlIHJlZ2lvbiB0byB3aGljaCB0aGUgY2xpZW50IGlzIGNvbmZpZ3VyZWQgdG8gc2VuZCByZXF1ZXN0cwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHJlZ2lvbiBOYW1lIG9mIHRoZSByZWdpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFJlZ2lvbigkcmVnaW9uKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgd2FpdGVyIGZhY3RvcnkgYmVpbmcgdXNlZCBieSB0aGUgY2xpZW50CiAgICAgKgogICAgICogQHJldHVybiBXYWl0ZXJGYWN0b3J5SW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRXYWl0ZXJGYWN0b3J5KCk7CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHdhaXRlciBmYWN0b3J5IHRvIHVzZSB3aXRoIHRoZSBjbGllbnQKICAgICAqCiAgICAgKiBAcGFyYW0gV2FpdGVyRmFjdG9yeUludGVyZmFjZSAkd2FpdGVyRmFjdG9yeSBGYWN0b3J5IHVzZWQgdG8gY3JlYXRlIHdhaXRlcnMKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFdhaXRlckZhY3RvcnkoV2FpdGVyRmFjdG9yeUludGVyZmFjZSAkd2FpdGVyRmFjdG9yeSk7CgogICAgLyoqCiAgICAgKiBXYWl0IHVudGlsIGEgcmVzb3VyY2UgaXMgYXZhaWxhYmxlIG9yIGFuIGFzc29jaWF0ZWQgd2FpdGVyIHJldHVybnMgdHJ1ZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHdhaXRlciBOYW1lIG9mIHRoZSB3YWl0ZXIKICAgICAqIEBwYXJhbSBhcnJheSAgJGlucHV0ICBWYWx1ZXMgdXNlZCBhcyBpbnB1dCBmb3IgdGhlIHVuZGVybHlpbmcgb3BlcmF0aW9uIGFuZCB0byBjb250cm9sIHRoZSB3YWl0ZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHdhaXRVbnRpbCgkd2FpdGVyLCBhcnJheSAkaW5wdXQgPSBhcnJheSgpKTsKCiAgICAvKioKICAgICAqIEdldCBhIG5hbWVkIHdhaXRlciBvYmplY3QKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR3YWl0ZXIgTmFtZSBvZiB0aGUgd2FpdGVyCiAgICAgKiBAcGFyYW0gYXJyYXkgICRpbnB1dCAgVmFsdWVzIHVzZWQgYXMgaW5wdXQgZm9yIHRoZSB1bmRlcmx5aW5nIG9wZXJhdGlvbiBhbmQgdG8gY29udHJvbCB0aGUgd2FpdGVyCiAgICAgKgogICAgICogQHJldHVybiBXYWl0ZXJJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFdhaXRlcigkd2FpdGVyLCBhcnJheSAkaW5wdXQgPSBhcnJheSgpKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgQVBJIHZlcnNpb24gb2YgdGhlIGNsaWVudCAoZS5nLiAyMDA2LTAzLTAxKQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRBcGlWZXJzaW9uKCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Client/ClientBuilder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENsaWVudDsKCnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzOwp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKdXNlIEF3c1xDb21tb25cRW51bVxSZWdpb247CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxFeGNlcHRpb25MaXN0ZW5lcjsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXE5hbWVzcGFjZUV4Y2VwdGlvbkZhY3Rvcnk7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXJcRGVmYXVsdFhtbEV4Y2VwdGlvblBhcnNlcjsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFBhcnNlclxFeGNlcHRpb25QYXJzZXJJbnRlcmZhY2U7CnVzZSBBd3NcQ29tbW9uXEl0ZXJhdG9yXEF3c1Jlc291cmNlSXRlcmF0b3JGYWN0b3J5Owp1c2UgQXdzXENvbW1vblxTaWduYXR1cmVcRW5kcG9pbnRTaWduYXR1cmVJbnRlcmZhY2U7CnVzZSBBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVJbnRlcmZhY2U7CnVzZSBBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWMjsKdXNlIEF3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVYzOwp1c2UgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjNIdHRwczsKdXNlIEF3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0Owp1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEJhY2tvZmZQbHVnaW47CnVzZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmZcQ3VybEJhY2tvZmZTdHJhdGVneTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxFeHBvbmVudGlhbEJhY2tvZmZTdHJhdGVneTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxIdHRwQmFja29mZlN0cmF0ZWd5Owp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXFRydW5jYXRlZEJhY2tvZmZTdHJhdGVneTsKdXNlIEd1enpsZVxTZXJ2aWNlXENsaWVudDsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFNlcnZpY2VEZXNjcmlwdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JDbGFzc0ZhY3Rvcnk7CnVzZSBHdXp6bGVcTG9nXExvZ0FkYXB0ZXJJbnRlcmZhY2U7CnVzZSBHdXp6bGVcTG9nXENsb3N1cmVMb2dBZGFwdGVyOwp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEJhY2tvZmZMb2dnZXI7CgovKioKICogQnVpbGRlciBmb3IgY3JlYXRpbmcgQVdTIHNlcnZpY2UgY2xpZW50cwogKi8KY2xhc3MgQ2xpZW50QnVpbGRlcgp7CiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgRGVmYXVsdCBjbGllbnQgY29uZmlnCiAgICAgKi8KICAgIHByb3RlY3RlZCBzdGF0aWMgJGNvbW1vbkNvbmZpZ0RlZmF1bHRzID0gYXJyYXkoJ3NjaGVtZScgPT4gJ2h0dHBzJyk7CgogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IERlZmF1bHQgY2xpZW50IHJlcXVpcmVtZW50cwogICAgICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRjb21tb25Db25maWdSZXF1aXJlbWVudHMgPSBhcnJheShPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OKTsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRoZSBuYW1lc3BhY2Ugb2YgdGhlIGNsaWVudAogICAgICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudE5hbWVzcGFjZTsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgVGhlIGNvbmZpZyBvcHRpb25zCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY29uZmlnID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgVGhlIGNvbmZpZyBkZWZhdWx0cwogICAgICovCiAgICBwcm90ZWN0ZWQgJGNvbmZpZ0RlZmF1bHRzID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgVGhlIGNvbmZpZyByZXF1aXJlbWVudHMKICAgICAqLwogICAgcHJvdGVjdGVkICRjb25maWdSZXF1aXJlbWVudHMgPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogQHZhciBFeGNlcHRpb25QYXJzZXJJbnRlcmZhY2UgVGhlIFBhcnNlciBpbnRlcmZhY2UgZm9yIHRoZSBjbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRleGNlcHRpb25QYXJzZXI7CgogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IEFycmF5IG9mIGNvbmZpZ3VyYXRpb24gZGF0YSBmb3IgaXRlcmF0b3JzIGF2YWlsYWJsZSBmb3IgdGhlIGNsaWVudAogICAgICovCiAgICBwcm90ZWN0ZWQgJGl0ZXJhdG9yc0NvbmZpZyA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCBmb3IgY3JlYXRpbmcgdGhlIGNsaWVudCBidWlsZGVyCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZXNwYWNlIFRoZSBuYW1lc3BhY2Ugb2YgdGhlIGNsaWVudAogICAgICoKICAgICAqIEByZXR1cm4gQ2xpZW50QnVpbGRlcgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoJG5hbWVzcGFjZSA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBzdGF0aWMoJG5hbWVzcGFjZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RzIGEgY2xpZW50IGJ1aWxkZXIKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lc3BhY2UgVGhlIG5hbWVzcGFjZSBvZiB0aGUgY2xpZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbmFtZXNwYWNlID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50TmFtZXNwYWNlID0gJG5hbWVzcGFjZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldHMgdGhlIGNvbmZpZyBvcHRpb25zCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gJGNvbmZpZyBUaGUgY29uZmlnIG9wdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIENsaWVudEJ1aWxkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldENvbmZpZygkY29uZmlnKQogICAgewogICAgICAgICR0aGlzLT5jb25maWcgPSAkdGhpcy0+cHJvY2Vzc0FycmF5KCRjb25maWcpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXRzIHRoZSBjb25maWcgb3B0aW9ucycgZGVmYXVsdHMKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkZGVmYXVsdHMgVGhlIGRlZmF1bHQgdmFsdWVzCiAgICAgKgogICAgICogQHJldHVybiBDbGllbnRCdWlsZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDb25maWdEZWZhdWx0cygkZGVmYXVsdHMpCiAgICB7CiAgICAgICAgJHRoaXMtPmNvbmZpZ0RlZmF1bHRzID0gJHRoaXMtPnByb2Nlc3NBcnJheSgkZGVmYXVsdHMpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXRzIHRoZSByZXF1aXJlZCBjb25maWcgb3B0aW9ucwogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICRyZXF1aXJlZCBUaGUgcmVxdWlyZWQgY29uZmlnIG9wdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIENsaWVudEJ1aWxkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldENvbmZpZ1JlcXVpcmVtZW50cygkcmVxdWlyZWQpCiAgICB7CiAgICAgICAgJHRoaXMtPmNvbmZpZ1JlcXVpcmVtZW50cyA9ICR0aGlzLT5wcm9jZXNzQXJyYXkoJHJlcXVpcmVkKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0cyB0aGUgZXhjZXB0aW9uIHBhcnNlci4gSWYgb25lIGlzIG5vdCBwcm92aWRlZCB0aGUgYnVpbGRlciB3aWxsIHVzZQogICAgICogdGhlIGRlZmF1bHQgWE1MIGV4Y2VwdGlvbiBwYXJzZXIuCiAgICAgKgogICAgICogQHBhcmFtIEV4Y2VwdGlvblBhcnNlckludGVyZmFjZSAkcGFyc2VyIFRoZSBleGNlcHRpb24gcGFyc2VyCiAgICAgKgogICAgICogQHJldHVybiBDbGllbnRCdWlsZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRFeGNlcHRpb25QYXJzZXIoRXhjZXB0aW9uUGFyc2VySW50ZXJmYWNlICRwYXJzZXIpCiAgICB7CiAgICAgICAgJHRoaXMtPmV4Y2VwdGlvblBhcnNlciA9ICRwYXJzZXI7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGNsaWVudCdzIGl0ZXJhdG9ycwogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkY29uZmlnIENvbmZpZ3VyYXRpb24gZGF0YSBmb3IgY2xpZW50J3MgaXRlcmF0b3JzCiAgICAgKgogICAgICogQHJldHVybiBDbGllbnRCdWlsZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRJdGVyYXRvcnNDb25maWcoYXJyYXkgJGNvbmZpZykKICAgIHsKICAgICAgICAkdGhpcy0+aXRlcmF0b3JzQ29uZmlnID0gJGNvbmZpZzsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogUGVyZm9ybXMgdGhlIGJ1aWxkaW5nIGxvZ2ljIHVzaW5nIGFsbCBvZiB0aGUgcGFyYW1ldGVycyB0aGF0IGhhdmUgYmVlbgogICAgICogc2V0IGFuZCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdCB2YWx1ZXMuIFJldHVybnMgYW4gaW5zdGFudGlhdGUgc2VydmljZQogICAgICogY2xpZW50IHdpdGggY3JlZGVudGlhbHMgcHJlcGFyZWQgYW5kIHBsdWdpbnMgYXR0YWNoZWQuCiAgICAgKgogICAgICogQHJldHVybiBBd3NDbGllbnRJbnRlcmZhY2UKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidWlsZCgpCiAgICB7CiAgICAgICAgLy8gUmVzb2x2ZSBjb25maWd1cmF0aW9uCiAgICAgICAgJGNvbmZpZyA9IENvbGxlY3Rpb246OmZyb21Db25maWcoCiAgICAgICAgICAgICR0aGlzLT5jb25maWcsCiAgICAgICAgICAgIGFycmF5X21lcmdlKHNlbGY6OiRjb21tb25Db25maWdEZWZhdWx0cywgJHRoaXMtPmNvbmZpZ0RlZmF1bHRzKSwKICAgICAgICAgICAgKHNlbGY6OiRjb21tb25Db25maWdSZXF1aXJlbWVudHMgKyAkdGhpcy0+Y29uZmlnUmVxdWlyZW1lbnRzKQogICAgICAgICk7CgogICAgICAgIC8vIFJlc29sdmUgZW5kcG9pbnQgYW5kIHNpZ25hdHVyZSBmcm9tIHRoZSBjb25maWcgYW5kIHNlcnZpY2UgZGVzY3JpcHRpb24KICAgICAgICAkZGVzY3JpcHRpb24gPSAkdGhpcy0+dXBkYXRlQ29uZmlnRnJvbURlc2NyaXB0aW9uKCRjb25maWcpOwogICAgICAgICRzaWduYXR1cmUgPSAkdGhpcy0+Z2V0U2lnbmF0dXJlKCRkZXNjcmlwdGlvbiwgJGNvbmZpZyk7CgogICAgICAgIC8vIFJlc29sdmUgY3JlZGVudGlhbHMKICAgICAgICBpZiAoISRjcmVkZW50aWFscyA9ICRjb25maWctPmdldCgnY3JlZGVudGlhbHMnKSkgewogICAgICAgICAgICAkY3JlZGVudGlhbHMgPSBDcmVkZW50aWFsczo6ZmFjdG9yeSgkY29uZmlnKTsKICAgICAgICB9CgogICAgICAgIC8vIFJlc29sdmUgZXhjZXB0aW9uIHBhcnNlcgogICAgICAgIGlmICghJHRoaXMtPmV4Y2VwdGlvblBhcnNlcikgewogICAgICAgICAgICAkdGhpcy0+ZXhjZXB0aW9uUGFyc2VyID0gbmV3IERlZmF1bHRYbWxFeGNlcHRpb25QYXJzZXIoKTsKICAgICAgICB9CgogICAgICAgIC8vIFJlc29sdmUgYmFja29mZiBzdHJhdGVneQogICAgICAgICRiYWNrb2ZmID0gJGNvbmZpZy0+Z2V0KE9wdGlvbnM6OkJBQ0tPRkYpOwogICAgICAgIGlmICgkYmFja29mZiA9PT0gbnVsbCkgewogICAgICAgICAgICAkYmFja29mZiA9IG5ldyBCYWNrb2ZmUGx1Z2luKAogICAgICAgICAgICAgICAgLy8gUmV0cnkgZmFpbGVkIHJlcXVlc3RzIHVwIHRvIDMgdGltZXMgaWYgaXQgaXMgZGV0ZXJtaW5lZCB0aGF0IHRoZSByZXF1ZXN0IGNhbiBiZSByZXRyaWVkCiAgICAgICAgICAgICAgICBuZXcgVHJ1bmNhdGVkQmFja29mZlN0cmF0ZWd5KDMsCiAgICAgICAgICAgICAgICAgICAgLy8gUmV0cnkgZmFpbGVkIHJlcXVlc3RzIHdpdGggNDAwLWxldmVsIHJlc3BvbnNlcyBkdWUgdG8gdGhyb3R0bGluZwogICAgICAgICAgICAgICAgICAgIG5ldyBUaHJvdHRsaW5nRXJyb3JDaGVja2VyKCR0aGlzLT5leGNlcHRpb25QYXJzZXIsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJldHJ5IGZhaWxlZCByZXF1ZXN0cyB3aXRoIDUwMC1sZXZlbCByZXNwb25zZXMKICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEh0dHBCYWNrb2ZmU3RyYXRlZ3koYXJyYXkoNTAwLCA1MDMsIDUwOSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXRyeSBmYWlsZWQgcmVxdWVzdHMgZHVlIHRvIHRyYW5zaWVudCBuZXR3b3JrIG9yIGNVUkwgcHJvYmxlbXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBDdXJsQmFja29mZlN0cmF0ZWd5KG51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV0cnkgcmVxdWVzdHMgdGhhdCBmYWlsZWQgZHVlIHRvIGV4cGlyZWQgY3JlZGVudGlhbHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgRXhwaXJlZENyZWRlbnRpYWxzQ2hlY2tlcigkdGhpcy0+ZXhjZXB0aW9uUGFyc2VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgRXhwb25lbnRpYWxCYWNrb2ZmU3RyYXRlZ3koKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKTsKICAgICAgICAgICAgJGNvbmZpZy0+c2V0KE9wdGlvbnM6OkJBQ0tPRkYsICRiYWNrb2ZmKTsKICAgICAgICB9CgogICAgICAgIGlmICgkYmFja29mZikgewogICAgICAgICAgICAkdGhpcy0+YWRkQmFja29mZkxvZ2dlcigkYmFja29mZiwgJGNvbmZpZyk7CiAgICAgICAgfQoKICAgICAgICAvLyBEZXRlcm1pbmUgc2VydmljZSBhbmQgY2xhc3MgbmFtZQogICAgICAgICRjbGllbnRDbGFzcyA9ICdBd3NcQ29tbW9uXENsaWVudFxEZWZhdWx0Q2xpZW50JzsKICAgICAgICBpZiAoJHRoaXMtPmNsaWVudE5hbWVzcGFjZSkgewogICAgICAgICAgICAkc2VydmljZU5hbWUgPSBzdWJzdHIoJHRoaXMtPmNsaWVudE5hbWVzcGFjZSwgc3RycnBvcygkdGhpcy0+Y2xpZW50TmFtZXNwYWNlLCAnXFwnKSArIDEpOwogICAgICAgICAgICAkY2xpZW50Q2xhc3MgPSAkdGhpcy0+Y2xpZW50TmFtZXNwYWNlIC4gJ1xcJyAuICRzZXJ2aWNlTmFtZSAuICdDbGllbnQnOwogICAgICAgIH0KCiAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBBd3NDbGllbnRJbnRlcmZhY2UgKi8KICAgICAgICAkY2xpZW50ID0gbmV3ICRjbGllbnRDbGFzcygkY3JlZGVudGlhbHMsICRzaWduYXR1cmUsICRjb25maWcpOwogICAgICAgICRjbGllbnQtPnNldERlc2NyaXB0aW9uKCRkZXNjcmlwdGlvbik7CgogICAgICAgIC8vIEFkZCBleGNlcHRpb24gbWFyc2hhbGluZyBzbyB0aGF0IG1vcmUgZGVzY3JpcHRpdmUgZXhjZXB0aW9uIGFyZSB0aHJvd24KICAgICAgICBpZiAoJHRoaXMtPmNsaWVudE5hbWVzcGFjZSkgewogICAgICAgICAgICAkZXhjZXB0aW9uRmFjdG9yeSA9IG5ldyBOYW1lc3BhY2VFeGNlcHRpb25GYWN0b3J5KAogICAgICAgICAgICAgICAgJHRoaXMtPmV4Y2VwdGlvblBhcnNlciwKICAgICAgICAgICAgICAgICJ7JHRoaXMtPmNsaWVudE5hbWVzcGFjZX1cXEV4Y2VwdGlvbiIsCiAgICAgICAgICAgICAgICAieyR0aGlzLT5jbGllbnROYW1lc3BhY2V9XFxFeGNlcHRpb25cXHskc2VydmljZU5hbWV9RXhjZXB0aW9uIgogICAgICAgICAgICApOwogICAgICAgICAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKG5ldyBFeGNlcHRpb25MaXN0ZW5lcigkZXhjZXB0aW9uRmFjdG9yeSkpOwogICAgICAgIH0KCiAgICAgICAgLy8gQWRkIHRoZSBVc2VyQWdlbnRQbHVnaW4gdG8gYXBwZW5kIHRvIHRoZSBVc2VyLUFnZW50IGhlYWRlciBvZiByZXF1ZXN0cwogICAgICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIobmV3IFVzZXJBZ2VudExpc3RlbmVyKCkpOwoKICAgICAgICAvLyBGaWx0ZXJzIHVzZWQgZm9yIHRoZSBjYWNoZSBwbHVnaW4KICAgICAgICAkY2xpZW50LT5nZXRDb25maWcoKS0+c2V0KAogICAgICAgICAgICAncGFyYW1zLmNhY2hlLmtleV9maWx0ZXInLAogICAgICAgICAgICAnaGVhZGVyPWRhdGUseC1hbXotZGF0ZSx4LWFtei1zZWN1cml0eS10b2tlbix4LWFtem4tYXV0aG9yaXphdGlvbicKICAgICAgICApOwoKICAgICAgICAvLyBTZXQgdGhlIGl0ZXJhdG9yIHJlc291cmNlIGZhY3RvcnkgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGl0ZXJhdG9ycyBjb25maWcKICAgICAgICAkY2xpZW50LT5zZXRSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeShuZXcgQXdzUmVzb3VyY2VJdGVyYXRvckZhY3RvcnkoCiAgICAgICAgICAgICR0aGlzLT5pdGVyYXRvcnNDb25maWcsCiAgICAgICAgICAgIG5ldyBSZXNvdXJjZUl0ZXJhdG9yQ2xhc3NGYWN0b3J5KCR0aGlzLT5jbGllbnROYW1lc3BhY2UgLiAnXFxJdGVyYXRvcicpCiAgICAgICAgKSk7CgogICAgICAgIC8vIERpc2FibGUgcGFyYW1ldGVyIHZhbGlkYXRpb24gaWYgbmVlZGVkCiAgICAgICAgaWYgKCRjb25maWctPmdldChPcHRpb25zOjpWQUxJREFUSU9OKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgJHBhcmFtcyA9ICRjb25maWctPmdldCgnY29tbWFuZC5wYXJhbXMnKSA/OiBhcnJheSgpOwogICAgICAgICAgICAkcGFyYW1zWydjb21tYW5kLmRpc2FibGVfdmFsaWRhdGlvbiddID0gdHJ1ZTsKICAgICAgICAgICAgJGNvbmZpZy0+c2V0KCdjb21tYW5kLnBhcmFtcycsICRwYXJhbXMpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRjbGllbnQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYmFja29mZiBsb2dnaW5nIHRvIHRoZSBiYWNrb2ZmIHBsdWdpbiBpZiBuZWVkZWQKICAgICAqCiAgICAgKiBAcGFyYW0gQmFja29mZlBsdWdpbiAkcGx1Z2luIEJhY2tvZmYgcGx1Z2luCiAgICAgKiBAcGFyYW0gQ29sbGVjdGlvbiAgICAkY29uZmlnIENvbmZpZ3VyYXRpb24gc2V0dGluZ3MKICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkQmFja29mZkxvZ2dlcihCYWNrb2ZmUGx1Z2luICRwbHVnaW4sIENvbGxlY3Rpb24gJGNvbmZpZykKICAgIHsKICAgICAgICAvLyBUaGUgbG9nIG9wdGlvbiBjYW4gYmUgc2V0IHRvIGBkZWJ1Z2Agb3IgYW4gaW5zdGFuY2Ugb2YgYSBMb2dBZGFwdGVySW50ZXJmYWNlCiAgICAgICAgaWYgKCRsb2dnZXIgPSAkY29uZmlnLT5nZXQoT3B0aW9uczo6QkFDS09GRl9MT0dHRVIpKSB7CiAgICAgICAgICAgICRmb3JtYXQgPSAkY29uZmlnLT5nZXQoT3B0aW9uczo6QkFDS09GRl9MT0dHRVJfVEVNUExBVEUpOwogICAgICAgICAgICBpZiAoJGxvZ2dlciA9PT0gJ2RlYnVnJykgewogICAgICAgICAgICAgICAgJGxvZ2dlciA9IG5ldyBDbG9zdXJlTG9nQWRhcHRlcihmdW5jdGlvbiAoJG1lc3NhZ2UpIHsKICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyX2Vycm9yKCRtZXNzYWdlIC4gIlxuIik7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSBlbHNlaWYgKCEoJGxvZ2dlciBpbnN0YW5jZW9mIExvZ0FkYXB0ZXJJbnRlcmZhY2UpKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKAogICAgICAgICAgICAgICAgICAgIE9wdGlvbnM6OkJBQ0tPRkZfTE9HR0VSIC4gJyBtdXN0IGJlIHNldCB0byBgZGVidWdgIG9yIGFuIGluc3RhbmNlIG9mICcKICAgICAgICAgICAgICAgICAgICAgICAgLiAnR3V6emxlXFxDb21tb25cXExvZ1xcTG9nQWRhcHRlckludGVyZmFjZScKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBwbHVnaW4gcmVzcG9uc2libGUgZm9yIGxvZ2dpbmcgZXhwb25lbnRpYWwgYmFja29mZiByZXRyaWVzCiAgICAgICAgICAgICRsb2dQbHVnaW4gPSBuZXcgQmFja29mZkxvZ2dlcigkbG9nZ2VyKTsKICAgICAgICAgICAgLy8gWW91IGNhbiBzcGVjaWZ5IGEgY3VzdG9tIGZvcm1hdCBvciB1c2UgdGhlIGRlZmF1bHQKICAgICAgICAgICAgaWYgKCRmb3JtYXQpIHsKICAgICAgICAgICAgICAgICRsb2dQbHVnaW4tPnNldFRlbXBsYXRlKCRmb3JtYXQpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRwbHVnaW4tPmFkZFN1YnNjcmliZXIoJGxvZ1BsdWdpbik7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogRW5zdXJlcyB0aGF0IGFuIGFycmF5IChlLmcuIGZvciBjb25maWcgZGF0YSkgaXMgYWN0dWFsbHkgaW4gYXJyYXkgZm9ybQogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICRhcnJheSBUaGUgYXJyYXkgZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGlmIHRoZSBhcmcgaXMgbm90IGFuIGFycmF5IG9yIENvbGxlY3Rpb24KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHByb2Nlc3NBcnJheSgkYXJyYXkpCiAgICB7CiAgICAgICAgaWYgKCRhcnJheSBpbnN0YW5jZW9mIENvbGxlY3Rpb24pIHsKICAgICAgICAgICAgJGFycmF5ID0gJGFycmF5LT5nZXRBbGwoKTsKICAgICAgICB9CgogICAgICAgIGlmICghaXNfYXJyYXkoJGFycmF5KSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdUaGUgY29uZmlnIG11c3QgYmUgcHJvdmlkZWQgYXMgYW4gYXJyYXkgb3IgQ29sbGVjdGlvbi4nKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkYXJyYXk7CiAgICB9CgogICAgLyoqCiAgICAgKiBVcGRhdGUgYSBjb25maWd1cmF0aW9uIG9iamVjdCBmcm9tIGEgc2VydmljZSBkZXNjcmlwdGlvbgogICAgICoKICAgICAqIEBwYXJhbSBDb2xsZWN0aW9uICRjb25maWcgQ29uZmlnIHRvIHVwZGF0ZQogICAgICoKICAgICAqIEByZXR1cm4gU2VydmljZURlc2NyaXB0aW9uCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdXBkYXRlQ29uZmlnRnJvbURlc2NyaXB0aW9uKENvbGxlY3Rpb24gJGNvbmZpZykKICAgIHsKICAgICAgICAkZGVzY3JpcHRpb24gPSAkY29uZmlnLT5nZXQoT3B0aW9uczo6U0VSVklDRV9ERVNDUklQVElPTik7CiAgICAgICAgaWYgKCEoJGRlc2NyaXB0aW9uIGluc3RhbmNlb2YgU2VydmljZURlc2NyaXB0aW9uKSkgewogICAgICAgICAgICAvLyBJbmplY3QgdGhlIHZlcnNpb24gaW50byB0aGUgc3ByaW50ZiB0ZW1wbGF0ZSBpZiBpdCBpcyBhIHN0cmluZwogICAgICAgICAgICBpZiAoaXNfc3RyaW5nKCRkZXNjcmlwdGlvbikpIHsKICAgICAgICAgICAgICAgICRkZXNjcmlwdGlvbiA9IHNwcmludGYoJGRlc2NyaXB0aW9uLCAkY29uZmlnLT5nZXQoT3B0aW9uczo6VkVSU0lPTikpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRkZXNjcmlwdGlvbiA9IFNlcnZpY2VEZXNjcmlwdGlvbjo6ZmFjdG9yeSgkZGVzY3JpcHRpb24pOwogICAgICAgICAgICAkY29uZmlnLT5zZXQoT3B0aW9uczo6U0VSVklDRV9ERVNDUklQVElPTiwgJGRlc2NyaXB0aW9uKTsKICAgICAgICB9CgogICAgICAgIGlmICghJGNvbmZpZy0+Z2V0KE9wdGlvbnM6OlNFUlZJQ0UpKSB7CiAgICAgICAgICAgICRjb25maWctPnNldChPcHRpb25zOjpTRVJWSUNFLCAkZGVzY3JpcHRpb24tPmdldERhdGEoJ2VuZHBvaW50UHJlZml4JykpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRpdGVyYXRvcnMgPSAkZGVzY3JpcHRpb24tPmdldERhdGEoJ2l0ZXJhdG9ycycpKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRJdGVyYXRvcnNDb25maWcoJGl0ZXJhdG9ycyk7CiAgICAgICAgfQoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgc2VydmljZSBkZXNjcmlwdGlvbiBoYXMgcmVnaW9ucwogICAgICAgIGlmICghJGRlc2NyaXB0aW9uLT5nZXREYXRhKCdyZWdpb25zJykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigKICAgICAgICAgICAgICAgICdObyByZWdpb25zIGZvdW5kIGluIHRoZSAnIC4gJGRlc2NyaXB0aW9uLT5nZXREYXRhKCdzZXJ2aWNlRnVsbE5hbWUnKS4gJyBkZXNjcmlwdGlvbicKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIC8vIE1ha2Ugc3VyZSBhIHZhbGlkIHJlZ2lvbiBpcyBzZXQKICAgICAgICAkcmVnaW9uID0gJGNvbmZpZy0+Z2V0KE9wdGlvbnM6OlJFR0lPTik7CiAgICAgICAgJGdsb2JhbCA9ICRkZXNjcmlwdGlvbi0+Z2V0RGF0YSgnZ2xvYmFsRW5kcG9pbnQnKTsKICAgICAgICBpZiAoISRnbG9iYWwgJiYgISRyZWdpb24pIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigKICAgICAgICAgICAgICAgICdBIHJlZ2lvbiBpcyByZXF1aXJlZCB3aGVuIHVzaW5nICcgLiAkZGVzY3JpcHRpb24tPmdldERhdGEoJ3NlcnZpY2VGdWxsTmFtZScpCiAgICAgICAgICAgICAgICAuICcuIFNldCAicmVnaW9uIiB0byBvbmUgb2Y6ICcgLiBpbXBsb2RlKCcsICcsIGFycmF5X2tleXMoJGRlc2NyaXB0aW9uLT5nZXREYXRhKCdyZWdpb25zJykpKQogICAgICAgICAgICApOwogICAgICAgIH0gZWxzZWlmICgkZ2xvYmFsICYmICghJHJlZ2lvbiB8fCAkZGVzY3JpcHRpb24tPmdldERhdGEoJ25hbWVzcGFjZScpICE9PSAnUzMnKSkgewogICAgICAgICAgICAkcmVnaW9uID0gUmVnaW9uOjpVU19FQVNUXzE7CiAgICAgICAgICAgICRjb25maWctPnNldChPcHRpb25zOjpSRUdJT04sICRyZWdpb24pOwogICAgICAgIH0KCiAgICAgICAgaWYgKCEkY29uZmlnLT5nZXQoT3B0aW9uczo6QkFTRV9VUkwpKSB7CiAgICAgICAgICAgIC8vIFNldCB0aGUgYmFzZSBVUkwgdXNpbmcgdGhlIHNjaGVtZSBhbmQgaG9zdG5hbWUgb2YgdGhlIHNlcnZpY2UncyByZWdpb24KICAgICAgICAgICAgJGNvbmZpZy0+c2V0KE9wdGlvbnM6OkJBU0VfVVJMLCBBYnN0cmFjdENsaWVudDo6Z2V0RW5kcG9pbnQoCiAgICAgICAgICAgICAgICAkZGVzY3JpcHRpb24sCiAgICAgICAgICAgICAgICAkcmVnaW9uLAogICAgICAgICAgICAgICAgJGNvbmZpZy0+Z2V0KE9wdGlvbnM6OlNDSEVNRSkKICAgICAgICAgICAgKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGRlc2NyaXB0aW9uOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIGFuIGFwcHJvcHJpYXRlIHNpZ25hdHVyZSBvYmplY3QgZm9yIGEgYSBjbGllbnQgYmFzZWQgb24gYSBkZXNjcmlwdGlvbgogICAgICoKICAgICAqIEBwYXJhbSBTZXJ2aWNlRGVzY3JpcHRpb24gJGRlc2NyaXB0aW9uIERlc2NyaXB0aW9uIHRoYXQgaG9sZHMgYSBzaWduYXR1cmUgb3B0aW9uCiAgICAgKiBAcGFyYW0gQ29sbGVjdGlvbiAgICAgICAgICRjb25maWcgICAgICBDb25maWd1cmF0aW9uIG9wdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIFNpZ25hdHVyZUludGVyZmFjZQogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldFNpZ25hdHVyZShTZXJ2aWNlRGVzY3JpcHRpb24gJGRlc2NyaXB0aW9uLCBDb2xsZWN0aW9uICRjb25maWcpCiAgICB7CiAgICAgICAgaWYgKCEkc2lnbmF0dXJlID0gJGNvbmZpZy0+Z2V0KE9wdGlvbnM6OlNJR05BVFVSRSkpIHsKICAgICAgICAgICAgc3dpdGNoICgkZGVzY3JpcHRpb24tPmdldERhdGEoJ3NpZ25hdHVyZVZlcnNpb24nKSkgewogICAgICAgICAgICAgICAgY2FzZSAndjInOgogICAgICAgICAgICAgICAgICAgICRzaWduYXR1cmUgPSBuZXcgU2lnbmF0dXJlVjIoKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ3YzJzoKICAgICAgICAgICAgICAgICAgICAkc2lnbmF0dXJlID0gbmV3IFNpZ25hdHVyZVYzKCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICd2M2h0dHBzJzoKICAgICAgICAgICAgICAgICAgICAkc2lnbmF0dXJlID0gbmV3IFNpZ25hdHVyZVYzSHR0cHMoKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ3Y0JzoKICAgICAgICAgICAgICAgICAgICAkc2lnbmF0dXJlID0gbmV3IFNpZ25hdHVyZVY0KCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ1NlcnZpY2UgZGVzY3JpcHRpb24gZG9lcyBub3Qgc3BlY2lmeSBhIHZhbGlkIHNpZ25hdHVyZVZlcnNpb24nKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gQWxsb3cgYSBjdXN0b20gc2VydmljZSBuYW1lIG9yIHJlZ2lvbiB2YWx1ZSB0byBiZSBwcm92aWRlZAogICAgICAgIGlmICgkc2lnbmF0dXJlIGluc3RhbmNlb2YgRW5kcG9pbnRTaWduYXR1cmVJbnRlcmZhY2UpIHsKCiAgICAgICAgICAgIC8vIERldGVybWluZSB0aGUgc2VydmljZSBuYW1lIHRvIHVzZSB3aGVuIHNpZ25pbmcKICAgICAgICAgICAgaWYgKCEkc2VydmljZSA9ICRjb25maWctPmdldChPcHRpb25zOjpTSUdOQVRVUkVfU0VSVklDRSkpIHsKICAgICAgICAgICAgICAgIGlmICghJHNlcnZpY2UgPSAkZGVzY3JpcHRpb24tPmdldERhdGEoJ3NpZ25pbmdOYW1lJykpIHsKICAgICAgICAgICAgICAgICAgICAkc2VydmljZSA9ICRkZXNjcmlwdGlvbi0+Z2V0RGF0YSgnZW5kcG9pbnRQcmVmaXgnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAkc2lnbmF0dXJlLT5zZXRTZXJ2aWNlTmFtZSgkc2VydmljZSk7CgogICAgICAgICAgICAvLyBEZXRlcm1pbmUgdGhlIHJlZ2lvbiB0byB1c2Ugd2hlbiBzaWduaW5nIHJlcXVlc3RzCiAgICAgICAgICAgIGlmICghJHJlZ2lvbiA9ICRjb25maWctPmdldChPcHRpb25zOjpTSUdOQVRVUkVfUkVHSU9OKSkgewogICAgICAgICAgICAgICAgJHJlZ2lvbiA9ICRjb25maWctPmdldChPcHRpb25zOjpSRUdJT04pOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRzaWduYXR1cmUtPnNldFJlZ2lvbk5hbWUoJHJlZ2lvbik7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHNpZ25hdHVyZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Client/DefaultClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENsaWVudDsKCnVzZSBBd3NcQ29tbW9uXEVudW1cQ2xpZW50T3B0aW9ucyBhcyBPcHRpb25zOwp1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwoKLyoqCiAqIEdlbmVyaWMgY2xpZW50IGZvciBpbnRlcmFjdGluZyB3aXRoIGFuIEFXUyBzZXJ2aWNlCiAqLwpjbGFzcyBEZWZhdWx0Q2xpZW50IGV4dGVuZHMgQWJzdHJhY3RDbGllbnQKewogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBkZWZhdWx0IGNsaWVudCB1c2luZyBhbiBhcnJheSBvZiBjb25maWd1cmF0aW9uIG9wdGlvbnMuCiAgICAgKgogICAgICogVGhlIGZvbGxvd2luZyBhcnJheSBrZXlzIGFuZCB2YWx1ZXMgYXJlIGF2YWlsYWJsZSBvcHRpb25zOgogICAgICoKICAgICAqIENyZWRlbnRpYWwgb3B0aW9ucyAoKGBrZXlgLCBgc2VjcmV0YCwgYW5kIG9wdGlvbmFsIGB0b2tlbmApIE9SIGBjcmVkZW50aWFsc2AgaXMgcmVxdWlyZWQpOgogICAgICoKICAgICAqIC0ga2V5OiBBV1MgQWNjZXNzIEtleSBJRAogICAgICogLSBzZWNyZXQ6IEFXUyBzZWNyZXQgYWNjZXNzIGtleQogICAgICogLSBjcmVkZW50aWFsczogWW91IGNhbiBvcHRpb25hbGx5IHByb3ZpZGUgYSBjdXN0b20gYEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHNJbnRlcmZhY2VgIG9iamVjdAogICAgICogLSB0b2tlbjogQ3VzdG9tIEFXUyBzZWN1cml0eSB0b2tlbiB0byB1c2Ugd2l0aCByZXF1ZXN0IGF1dGhlbnRpY2F0aW9uLiBQbGVhc2Ugbm90ZSB0aGF0IG5vdCBhbGwgc2VydmljZXMgYWNjZXB0IHRlbXBvcmFyeSBjcmVkZW50aWFscy4gU2VlIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL1NUUy9sYXRlc3QvVXNpbmdTVFMvVXNpbmdUb2tlbnMuaHRtbAogICAgICogLSB0b2tlbi50dGQ6IFVOSVggdGltZXN0YW1wIGZvciB3aGVuIHRoZSBjdXN0b20gY3JlZGVudGlhbHMgZXhwaXJlCiAgICAgKiAtIGNyZWRlbnRpYWxzLmNhY2hlLmtleTogT3B0aW9uYWwgY3VzdG9tIGNhY2hlIGtleSB0byB1c2Ugd2l0aCB0aGUgY3JlZGVudGlhbHMKICAgICAqIC0gY3JlZGVudGlhbHMuY2xpZW50OiBQYXNzIHRoaXMgb3B0aW9uIHRvIHNwZWNpZnkgYSBjdXN0b20gYEd1enpsZVxIdHRwXENsaWVudEludGVyZmFjZWAgdG8gdXNlIGlmIHlvdXIgY3JlZGVudGlhbHMgcmVxdWlyZSBhIEhUVFAgcmVxdWVzdCAoZS5nLiBSZWZyZXNoYWJsZUluc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzKQogICAgICoKICAgICAqIFJlZ2lvbiBhbmQgZW5kcG9pbnQgb3B0aW9ucyAoU29tZSBzZXJ2aWNlcyBkbyBub3QgcmVxdWlyZSBhIHJlZ2lvbiB3aGlsZSBvdGhlcnMgZG8uIENoZWNrIHRoZSBzZXJ2aWNlIHNwZWNpZmljIHVzZXIgZ3VpZGUgZG9jdW1lbnRhdGlvbiBmb3IgZGV0YWlscyk6CiAgICAgKgogICAgICogLSByZWdpb246IFJlZ2lvbiBuYW1lIChlLmcuICd1cy1lYXN0LTEnLCAndXMtd2VzdC0xJywgJ3VzLXdlc3QtMicsICdldS13ZXN0LTEnLCBldGMuLi4pCiAgICAgKiAtIHNjaGVtZTogVVJJIFNjaGVtZSBvZiB0aGUgYmFzZSBVUkwgKGUuZy4gJ2h0dHBzJywgJ2h0dHAnKSB1c2VkIHdoZW4gYmFzZV91cmwgaXMgbm90IHN1cHBsaWVkCiAgICAgKiAtIGJhc2VfdXJsOiBBbGxvd3MgeW91IHRvIHNwZWNpZnkgYSBjdXN0b20gZW5kcG9pbnQgaW5zdGVhZCBvZiBidWlsZGluZyBvbmUgZnJvbSB0aGUgcmVnaW9uIGFuZCBzY2hlbWUKICAgICAqCiAgICAgKiBHZW5lcmljIGNsaWVudCBvcHRpb25zOgogICAgICoKICAgICAqIC0gc3NsLnNzbC5jZXJ0aWZpY2F0ZV9hdXRob3JpdHk6IFNldCB0byB0cnVlIHRvIHVzZSB0aGUgYnVuZGxlZCBDQSBjZXJ0IG9yIHBhc3MgdGhlIGZ1bGwgcGF0aCB0byBhbiBTU0wgY2VydGlmaWNhdGUgYnVuZGxlCiAgICAgKiAtIGN1cmwub3B0aW9uczogQXNzb2NpYXRpdmUgb2YgQ1VSTE9QVF8qIGNVUkwgb3B0aW9ucyB0byBhZGQgdG8gZWFjaCByZXF1ZXN0CiAgICAgKiAtIGNsaWVudC5iYWNrb2ZmLmxvZ2dlcjogYEd1enpsZVxMb2dcTG9nQWRhcHRlckludGVyZmFjZWAgb2JqZWN0IHVzZWQgdG8gbG9nIGJhY2tvZmYgcmV0cmllcy4gVXNlICdkZWJ1ZycgdG8gZW1pdCBQSFAgd2FybmluZ3Mgd2hlbiBhIHJldHJ5IGlzIGlzc3VlZC4KICAgICAqIC0gY2xpZW50LmJhY2tvZmYubG9nZ2VyLnRlbXBsYXRlOiBPcHRpb25hbCB0ZW1wbGF0ZSB0byB1c2UgZm9yIGV4cG9uZW50aWFsIGJhY2tvZmYgbG9nIG1lc3NhZ2VzLiBTZWUgYEd1enpsZVxQbHVnaW5cQmFja29mZlxCYWNrb2ZmTG9nZ2VyYCBmb3IgZm9ybWF0dGluZyBpbmZvcm1hdGlvbi4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KCkKICAgICAgICAgICAgLT5zZXRDb25maWcoJGNvbmZpZykKICAgICAgICAgICAgLT5zZXRDb25maWdEZWZhdWx0cyhhcnJheShPcHRpb25zOjpTQ0hFTUUgPT4gJ2h0dHBzJykpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Client/ExpiredCredentialsChecker.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENsaWVudDsKCnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXEFic3RyYWN0UmVmcmVzaGFibGVDcmVkZW50aWFsczsKdXNlIEF3c1xDb21tb25cQ2xpZW50XEF3c0NsaWVudEludGVyZmFjZTsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFBhcnNlclxFeGNlcHRpb25QYXJzZXJJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxFeGNlcHRpb25cSHR0cEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmZcQmFja29mZlN0cmF0ZWd5SW50ZXJmYWNlOwp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEFic3RyYWN0QmFja29mZlN0cmF0ZWd5OwoKLyoqCiAqIEJhY2tvZmYgbG9naWMgdGhhdCBoYW5kbGVzIHJldHJ5aW5nIHJlcXVlc3RzIHdoZW4gY3JlZGVudGlhbHMgZXhwaXJlCiAqLwpjbGFzcyBFeHBpcmVkQ3JlZGVudGlhbHNDaGVja2VyIGV4dGVuZHMgQWJzdHJhY3RCYWNrb2ZmU3RyYXRlZ3kKewogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IEFycmF5IG9mIGtub3duIHJldHJ5aW5nIGV4Y2VwdGlvbiBjb2RlcwogICAgICovCiAgICBwcm90ZWN0ZWQgJHJldHJ5YWJsZSA9IGFycmF5KAogICAgICAgICdSZXF1ZXN0RXhwaXJlZCcgPT4gdHJ1ZSwKICAgICAgICAnRXhwaXJlZFRva2VuRXhjZXB0aW9uJyA9PiB0cnVlLAogICAgICAgICdFeHBpcmVkVG9rZW4nID0+IHRydWUKICAgICk7CgogICAgLyoqCiAgICAgKiBAdmFyIEV4Y2VwdGlvblBhcnNlckludGVyZmFjZSBFeGNlcHRpb24gcGFyc2VyIHVzZWQgdG8gcGFyc2UgZXhjZXB0aW9uIHJlc3BvbnNlcwogICAgICovCiAgICBwcm90ZWN0ZWQgJGV4Y2VwdGlvblBhcnNlcjsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoRXhjZXB0aW9uUGFyc2VySW50ZXJmYWNlICRleGNlcHRpb25QYXJzZXIsIEJhY2tvZmZTdHJhdGVneUludGVyZmFjZSAkbmV4dCA9IG51bGwpIHsKICAgICAgICAkdGhpcy0+ZXhjZXB0aW9uUGFyc2VyID0gJGV4Y2VwdGlvblBhcnNlcjsKICAgICAgICAkdGhpcy0+bmV4dCA9ICRuZXh0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBtYWtlc0RlY2lzaW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RGVsYXkoJHJldHJpZXMsIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSA9IG51bGwsIEh0dHBFeGNlcHRpb24gJGUgPSBudWxsKQogICAgewogICAgICAgIGlmICgkcmVzcG9uc2UgJiYgJHJlc3BvbnNlLT5pc0NsaWVudEVycm9yKCkpIHsKCiAgICAgICAgICAgICRwYXJ0cyA9ICR0aGlzLT5leGNlcHRpb25QYXJzZXItPnBhcnNlKCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgICAgICBpZiAoIWlzc2V0KCR0aGlzLT5yZXRyeWFibGVbJHBhcnRzWydjb2RlJ11dKSB8fCAhJHJlcXVlc3QtPmdldENsaWVudCgpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBBd3NDbGllbnRJbnRlcmZhY2UgKi8KICAgICAgICAgICAgJGNsaWVudCA9ICRyZXF1ZXN0LT5nZXRDbGllbnQoKTsKICAgICAgICAgICAgLy8gT25seSByZXRyeSBpZiB0aGUgY3JlZGVudGlhbHMgY2FuIGJlIHJlZnJlc2hlZAogICAgICAgICAgICBpZiAoISgkY2xpZW50LT5nZXRDcmVkZW50aWFscygpIGluc3RhbmNlb2YgQWJzdHJhY3RSZWZyZXNoYWJsZUNyZWRlbnRpYWxzKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFJlc2lnbiB0aGUgcmVxdWVzdCB1c2luZyBuZXcgY3JlZGVudGlhbHMKICAgICAgICAgICAgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCktPnNpZ25SZXF1ZXN0KCRyZXF1ZXN0LCAkY2xpZW50LT5nZXRDcmVkZW50aWFscygpLT5zZXRFeHBpcmF0aW9uKC0xKSk7CgogICAgICAgICAgICAvLyBSZXRyeSBpbW1lZGlhdGVseSB3aXRoIG5vIGRlbGF5CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Client/ThrottlingErrorChecker.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENsaWVudDsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXJcRXhjZXB0aW9uUGFyc2VySW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEh0dHBFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEJhY2tvZmZTdHJhdGVneUludGVyZmFjZTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxBYnN0cmFjdEJhY2tvZmZTdHJhdGVneTsKCi8qKgogKiBCYWNrb2ZmIGxvZ2ljIHRoYXQgaGFuZGxlcyB0aHJvdHRsaW5nIGV4Y2VwdGlvbnMgZnJvbSBzZXJ2aWNlcwogKi8KY2xhc3MgVGhyb3R0bGluZ0Vycm9yQ2hlY2tlciBleHRlbmRzIEFic3RyYWN0QmFja29mZlN0cmF0ZWd5CnsKICAgIC8qKiBAdmFyIGFycmF5IFdoaXRlbGlzdCBvZiBleGNlcHRpb24gY29kZXMgKGFzIGluZGV4ZXMpIHRoYXQgaW5kaWNhdGUgdGhyb3R0bGluZyAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkdGhyb3R0bGluZ0V4Y2VwdGlvbnMgPSBhcnJheSgKICAgICAgICAnUmVxdWVzdExpbWl0RXhjZWVkZWQnICAgICAgICAgICAgICAgICAgID0+IHRydWUsCiAgICAgICAgJ1Rocm90dGxpbmcnICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLAogICAgICAgICdUaHJvdHRsaW5nRXhjZXB0aW9uJyAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwKICAgICAgICAnUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24nID0+IHRydWUsCiAgICAgICAgJ1JlcXVlc3RUaHJvdHRsZWQnICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLAogICAgKTsKCiAgICAvKioKICAgICAqIEB2YXIgRXhjZXB0aW9uUGFyc2VySW50ZXJmYWNlIEV4Y2VwdGlvbiBwYXJzZXIgdXNlZCB0byBwYXJzZSBleGNlcHRpb24gcmVzcG9uc2VzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkZXhjZXB0aW9uUGFyc2VyOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChFeGNlcHRpb25QYXJzZXJJbnRlcmZhY2UgJGV4Y2VwdGlvblBhcnNlciwgQmFja29mZlN0cmF0ZWd5SW50ZXJmYWNlICRuZXh0ID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+ZXhjZXB0aW9uUGFyc2VyID0gJGV4Y2VwdGlvblBhcnNlcjsKICAgICAgICBpZiAoJG5leHQpIHsKICAgICAgICAgICAgJHRoaXMtPnNldE5leHQoJG5leHQpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG1ha2VzRGVjaXNpb24oKQogICAgewogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RGVsYXkoCiAgICAgICAgJHJldHJpZXMsCiAgICAgICAgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwKICAgICAgICBSZXNwb25zZSAkcmVzcG9uc2UgPSBudWxsLAogICAgICAgIEh0dHBFeGNlcHRpb24gJGUgPSBudWxsCiAgICApIHsKICAgICAgICBpZiAoJHJlc3BvbnNlICYmICRyZXNwb25zZS0+aXNDbGllbnRFcnJvcigpKSB7CiAgICAgICAgICAgICRwYXJ0cyA9ICR0aGlzLT5leGNlcHRpb25QYXJzZXItPnBhcnNlKCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgICAgICByZXR1cm4gaXNzZXQoc2VsZjo6JHRocm90dGxpbmdFeGNlcHRpb25zWyRwYXJ0c1snY29kZSddXSkgPyB0cnVlIDogbnVsbDsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Client/UploadBodyListener.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENsaWVudDsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQWJzdHJhY3RDb21tYW5kIGFzIENvbW1hbmQ7CnVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlOwoKLyoqCiAqIFByZXBhcmVzIHRoZSBib2R5IHBhcmFtZXRlciBvZiBhIGNvbW1hbmQgc3VjaCB0aGF0IHRoZSBwYXJhbWV0ZXIgaXMgbW9yZSBmbGV4aWJsZSAoZS5nLiBhY2NlcHRzIGZpbGUgaGFuZGxlcykgd2l0aAogKiB0aGUgdmFsdWUgaXQgYWNjZXB0cyBidXQgY29udmVydHMgaXQgdG8gdGhlIGNvcnJlY3QgZm9ybWF0IGZvciB0aGUgY29tbWFuZC4gQWxzbyBsb29rcyBmb3IgYSAiRmlsZW5hbWUiIHBhcmFtZXRlci4KICovCmNsYXNzIFVwbG9hZEJvZHlMaXN0ZW5lciBpbXBsZW1lbnRzIEV2ZW50U3Vic2NyaWJlckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgVGhlIG5hbWVzIG9mIHRoZSBjb21tYW5kcyBvZiB3aGljaCB0byBtb2RpZnkgdGhlIGJvZHkgcGFyYW1ldGVyCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY29tbWFuZHM7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBUaGUga2V5IGZvciB0aGUgdXBsb2FkIGJvZHkgcGFyYW1ldGVyCiAgICAgKi8KICAgIHByb3RlY3RlZCAkYm9keVBhcmFtZXRlcjsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRoZSBrZXkgZm9yIHRoZSBzb3VyY2UgZmlsZSBwYXJhbWV0ZXIKICAgICAqLwogICAgcHJvdGVjdGVkICRzb3VyY2VQYXJhbWV0ZXI7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gYXJyYXkgICRjb21tYW5kcyAgICAgICAgVGhlIGNvbW1hbmRzIHRvIG1vZGlmeQogICAgICogQHBhcmFtIHN0cmluZyAkYm9keVBhcmFtZXRlciAgIFRoZSBrZXkgZm9yIHRoZSBib2R5IHBhcmFtZXRlcgogICAgICogQHBhcmFtIHN0cmluZyAkc291cmNlUGFyYW1ldGVyIFRoZSBrZXkgZm9yIHRoZSBzb3VyY2UgZmlsZSBwYXJhbWV0ZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KGFycmF5ICRjb21tYW5kcywgJGJvZHlQYXJhbWV0ZXIgPSAnQm9keScsICRzb3VyY2VQYXJhbWV0ZXIgPSAnU291cmNlRmlsZScpCiAgICB7CiAgICAgICAgJHRoaXMtPmNvbW1hbmRzID0gJGNvbW1hbmRzOwogICAgICAgICR0aGlzLT5ib2R5UGFyYW1ldGVyID0gKHN0cmluZykgJGJvZHlQYXJhbWV0ZXI7CiAgICAgICAgJHRoaXMtPnNvdXJjZVBhcmFtZXRlciA9IChzdHJpbmcpICRzb3VyY2VQYXJhbWV0ZXI7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KCdjb21tYW5kLmJlZm9yZV9wcmVwYXJlJyA9PiBhcnJheSgnb25Db21tYW5kQmVmb3JlUHJlcGFyZScpKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnRzIGZpbGVuYW1lcyBhbmQgZmlsZSBoYW5kbGVzIGludG8gRW50aXR5Qm9keSBvYmplY3RzIGJlZm9yZSB0aGUgY29tbWFuZCBpcyB2YWxpZGF0ZWQKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50IEV2ZW50IGVtaXR0ZWQKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvbkNvbW1hbmRCZWZvcmVQcmVwYXJlKEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICAvKiogQHZhciAkY29tbWFuZCBDb21tYW5kICovCiAgICAgICAgJGNvbW1hbmQgPSAkZXZlbnRbJ2NvbW1hbmQnXTsKICAgICAgICBpZiAoaW5fYXJyYXkoJGNvbW1hbmQtPmdldE5hbWUoKSwgJHRoaXMtPmNvbW1hbmRzKSkgewogICAgICAgICAgICAvLyBHZXQgdGhlIGludGVyZXN0aW5nIHBhcmFtZXRlcnMKICAgICAgICAgICAgJHNvdXJjZSA9ICRjb21tYW5kLT5nZXQoJHRoaXMtPnNvdXJjZVBhcmFtZXRlcik7CiAgICAgICAgICAgICRib2R5ID0gJGNvbW1hbmQtPmdldCgkdGhpcy0+Ym9keVBhcmFtZXRlcik7CgogICAgICAgICAgICAvLyBJZiBhIGZpbGUgcGF0aCBpcyBwYXNzZWQgaW4gdGhlbiBnZXQgdGhlIGZpbGUgaGFuZGxlCiAgICAgICAgICAgIGlmIChpc19zdHJpbmcoJHNvdXJjZSkgJiYgZmlsZV9leGlzdHMoJHNvdXJjZSkpIHsKICAgICAgICAgICAgICAgICRib2R5ID0gZm9wZW4oJHNvdXJjZSwgJ3InKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gUHJlcGFyZSB0aGUgYm9keSBwYXJhbWV0ZXIgYW5kIHJlbW92ZSB0aGUgc291cmNlIGZpbGUgcGFyYW1ldGVyCiAgICAgICAgICAgIGlmIChudWxsICE9PSAkYm9keSkgewogICAgICAgICAgICAgICAgJGNvbW1hbmQtPnJlbW92ZSgkdGhpcy0+c291cmNlUGFyYW1ldGVyKTsKICAgICAgICAgICAgICAgICRjb21tYW5kLT5zZXQoJHRoaXMtPmJvZHlQYXJhbWV0ZXIsIEVudGl0eUJvZHk6OmZhY3RvcnkoJGJvZHkpKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oIllvdSBtdXN0IHNwZWNpZnkgYSBub24tbnVsbCB2YWx1ZSBmb3IgdGhlIHskdGhpcy0+Ym9keVBhcmFtZXRlcn0gb3IgeyR0aGlzLT5zb3VyY2VQYXJhbWV0ZXJ9IHBhcmFtZXRlcnMuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Client/UserAgentListener.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENsaWVudDsKCnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50U3Vic2NyaWJlckludGVyZmFjZTsKCi8qKgogKiBMaXN0ZW5lciB1c2VkIHRvIGFwcGVuZCBzdHJpbmdzIHRvIHRoZSBVc2VyLUFnZW50IGhlYWRlciBvZiBhIHJlcXVlc3QgYmFzZWQKICogb24gdGhlIGB1YS5hcHBlbmRgIG9wdGlvbi4gYHVhLmFwcGVuZGAgY2FuIGNvbnRhaW4gYSBzdHJpbmcgb3IgYXJyYXkgb2YgdmFsdWVzLgogKi8KY2xhc3MgVXNlckFnZW50TGlzdGVuZXIgaW1wbGVtZW50cyBFdmVudFN1YnNjcmliZXJJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBPcHRpb24gdXNlZCB0byBzdG9yZSBVc2VyLUFnZW50IG1vZGlmaWVycwogICAgICovCiAgICBjb25zdCBPUFRJT04gPSAndWEuYXBwZW5kJzsKCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTdWJzY3JpYmVkRXZlbnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoJ2NvbW1hbmQuYmVmb3JlX3NlbmQnID0+ICdvbkJlZm9yZVNlbmQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZHMgc3RyaW5ncyB0byB0aGUgVXNlci1BZ2VudCBoZWFkZXIgdXNpbmcgdGhlIGB1YS5hcHBlbmRgIHBhcmFtZXRlciBvZiBhIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50IEV2ZW50IGVtaXR0ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9uQmVmb3JlU2VuZChFdmVudCAkZXZlbnQpCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSAkZXZlbnRbJ2NvbW1hbmQnXTsKICAgICAgICBpZiAoJHVzZXJBZ2VudEFwcGVuZHMgPSAkY29tbWFuZC0+Z2V0KHNlbGY6Ok9QVElPTikpIHsKICAgICAgICAgICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+Z2V0UmVxdWVzdCgpOwogICAgICAgICAgICAkdXNlckFnZW50ID0gKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcignVXNlci1BZ2VudCcpOwogICAgICAgICAgICBmb3JlYWNoICgoYXJyYXkpICR1c2VyQWdlbnRBcHBlbmRzIGFzICRhcHBlbmQpIHsKICAgICAgICAgICAgICAgICRhcHBlbmQgPSAnICcgLiAkYXBwZW5kOwogICAgICAgICAgICAgICAgaWYgKHN0cnBvcygkdXNlckFnZW50LCAkYXBwZW5kKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICAkdXNlckFnZW50IC49ICRhcHBlbmQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcignVXNlci1BZ2VudCcsICR1c2VyQWdlbnQpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Command/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Command/AwsQueryVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENvbW1hbmQ7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVxdWVzdFxBYnN0cmFjdFJlcXVlc3RWaXNpdG9yOwoKLyoqCiAqIExvY2F0aW9uIHZpc2l0b3IgdXNlZCB0byBzZXJpYWxpemUgQVdTIHF1ZXJ5IHBhcmFtZXRlcnMgKGUuZy4gRUMyLCBTRVMsIFNOUywgU1FTLCBldGMpIGFzIFBPU1QgZmllbGRzCiAqLwpjbGFzcyBBd3NRdWVyeVZpc2l0b3IgZXh0ZW5kcyBBYnN0cmFjdFJlcXVlc3RWaXNpdG9yCnsKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdmlzaXQoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgUGFyYW1ldGVyICRwYXJhbSwgJHZhbHVlKQogICAgewogICAgICAgICRxdWVyeSA9IGFycmF5KCk7CiAgICAgICAgJHRoaXMtPmN1c3RvbVJlc29sdmVyKCR2YWx1ZSwgJHBhcmFtLCAkcXVlcnksICRwYXJhbS0+Z2V0V2lyZU5hbWUoKSk7CiAgICAgICAgJHJlcXVlc3QtPmFkZFBvc3RGaWVsZHMoJHF1ZXJ5KTsKICAgIH0KCiAgICAvKioKICAgICAqIE1hcCBuZXN0ZWQgcGFyYW1ldGVycyBpbnRvIHRoZSBsb2NhdGlvbl9rZXkgYmFzZWQgcGFyYW1ldGVycwogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAgICAgJHZhbHVlICBWYWx1ZSB0byBtYXAKICAgICAqIEBwYXJhbSBQYXJhbWV0ZXIgJHBhcmFtICBQYXJhbWV0ZXIgdGhhdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCBrZXkKICAgICAqIEBwYXJhbSBhcnJheSAgICAgJHF1ZXJ5ICBCdWlsdCB1cCBxdWVyeSBzdHJpbmcgdmFsdWVzCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICRwcmVmaXggU3RyaW5nIHRvIHByZXBlbmQgdG8gc3ViIHF1ZXJ5IHZhbHVlcwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY3VzdG9tUmVzb2x2ZXIoJHZhbHVlLCBQYXJhbWV0ZXIgJHBhcmFtLCBhcnJheSAmJHF1ZXJ5LCAkcHJlZml4ID0gJycpCiAgICB7CiAgICAgICAgc3dpdGNoICgkcGFyYW0tPmdldFR5cGUoKSkgewogICAgICAgICAgICBjYXNlICdvYmplY3QnOgogICAgICAgICAgICAgICAgJHRoaXMtPnJlc29sdmVPYmplY3QoJHBhcmFtLCAkdmFsdWUsICRwcmVmaXgsICRxdWVyeSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnYXJyYXknOgogICAgICAgICAgICAgICAgJHRoaXMtPnJlc29sdmVBcnJheSgkcGFyYW0sICR2YWx1ZSwgJHByZWZpeCwgJHF1ZXJ5KTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgJHF1ZXJ5WyRwcmVmaXhdID0gJHBhcmFtLT5maWx0ZXIoJHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDdXN0b20gaGFuZGxpbmcgZm9yIG9iamVjdHMKICAgICAqCiAgICAgKiBAcGFyYW0gUGFyYW1ldGVyICRwYXJhbSAgUGFyYW1ldGVyIGZvciB0aGUgb2JqZWN0CiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICR2YWx1ZSAgVmFsdWUgdGhhdCBpcyBzZXQgZm9yIHRoaXMgcGFyYW1ldGVyCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICRwcmVmaXggUHJlZml4IGZvciB0aGUgcmVzdWx0aW5nIGtleQogICAgICogQHBhcmFtIGFycmF5ICAgICAkcXVlcnkgIFF1ZXJ5IHN0cmluZyBhcnJheSBwYXNzZWQgYnkgcmVmZXJlbmNlCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiByZXNvbHZlT2JqZWN0KFBhcmFtZXRlciAkcGFyYW0sIGFycmF5ICR2YWx1ZSwgJHByZWZpeCwgYXJyYXkgJiRxdWVyeSkKICAgIHsKICAgICAgICAvLyBNYXBzIGFyZSBpbXBsZW1lbnRlZCB1c2luZyBhZGRpdGlvbmFsIHByb3BlcnRpZXMKICAgICAgICAkaGFzQWRkaXRpb25hbFByb3BlcnRpZXMgPSAoJHBhcmFtLT5nZXRBZGRpdGlvbmFsUHJvcGVydGllcygpIGluc3RhbmNlb2YgUGFyYW1ldGVyKTsKICAgICAgICAkYWRkaXRpb25hbFByb3BlcnR5Q291bnQgPSAwOwoKICAgICAgICBmb3JlYWNoICgkdmFsdWUgYXMgJG5hbWUgPT4gJHYpIHsKICAgICAgICAgICAgaWYgKCRzdWJQYXJhbSA9ICRwYXJhbS0+Z2V0UHJvcGVydHkoJG5hbWUpKSB7CiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgcGFyYW1ldGVyIHdhcyBmb3VuZCBieSBuYW1lIGFzIGEgcmVndWxhciBwcm9wZXJ0eQogICAgICAgICAgICAgICAgJGtleSA9ICRwcmVmaXggLiAnLicgLiAkc3ViUGFyYW0tPmdldFdpcmVOYW1lKCk7CiAgICAgICAgICAgICAgICAkdGhpcy0+Y3VzdG9tUmVzb2x2ZXIoJHYsICRzdWJQYXJhbSwgJHF1ZXJ5LCAka2V5KTsKICAgICAgICAgICAgfSBlbHNlaWYgKCRoYXNBZGRpdGlvbmFsUHJvcGVydGllcykgewogICAgICAgICAgICAgICAgLy8gSGFuZGxlIG1hcCBjYXNlcyBsaWtlICZBdHRyaWJ1dGUuMS5OYW1lPTxuYW1lPiZBdHRyaWJ1dGUuMS5WYWx1ZT08dmFsdWU+CiAgICAgICAgICAgICAgICAkYWRkaXRpb25hbFByb3BlcnR5Q291bnQrKzsKICAgICAgICAgICAgICAgICRkYXRhID0gJHBhcmFtLT5nZXREYXRhKCk7CiAgICAgICAgICAgICAgICAka2V5TmFtZSA9IGlzc2V0KCRkYXRhWydrZXlOYW1lJ10pID8gJGRhdGFbJ2tleU5hbWUnXSA6ICdrZXknOwogICAgICAgICAgICAgICAgJHZhbHVlTmFtZSA9IGlzc2V0KCRkYXRhWyd2YWx1ZU5hbWUnXSkgPyAkZGF0YVsndmFsdWVOYW1lJ10gOiAndmFsdWUnOwogICAgICAgICAgICAgICAgJHF1ZXJ5WyJ7JHByZWZpeH0ueyRhZGRpdGlvbmFsUHJvcGVydHlDb3VudH0ueyRrZXlOYW1lfSJdID0gJG5hbWU7CiAgICAgICAgICAgICAgICAkbmV3UHJlZml4ID0gInskcHJlZml4fS57JGFkZGl0aW9uYWxQcm9wZXJ0eUNvdW50fS57JHZhbHVlTmFtZX0iOwogICAgICAgICAgICAgICAgaWYgKGlzX2FycmF5KCR2KSkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5jdXN0b21SZXNvbHZlcigkdiwgJHBhcmFtLT5nZXRBZGRpdGlvbmFsUHJvcGVydGllcygpLCAkcXVlcnksICRuZXdQcmVmaXgpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkcXVlcnlbJG5ld1ByZWZpeF0gPSAkcGFyYW0tPmZpbHRlcigkdik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDdXN0b20gaGFuZGxpbmcgZm9yIGFycmF5cwogICAgICoKICAgICAqIEBwYXJhbSBQYXJhbWV0ZXIgJHBhcmFtICBQYXJhbWV0ZXIgZm9yIHRoZSBvYmplY3QKICAgICAqIEBwYXJhbSBhcnJheSAgICAgJHZhbHVlICBWYWx1ZSB0aGF0IGlzIHNldCBmb3IgdGhpcyBwYXJhbWV0ZXIKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgJHByZWZpeCBQcmVmaXggZm9yIHRoZSByZXN1bHRpbmcga2V5CiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICRxdWVyeSAgUXVlcnkgc3RyaW5nIGFycmF5IHBhc3NlZCBieSByZWZlcmVuY2UKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlc29sdmVBcnJheShQYXJhbWV0ZXIgJHBhcmFtLCBhcnJheSAkdmFsdWUsICRwcmVmaXgsIGFycmF5ICYkcXVlcnkpCiAgICB7CiAgICAgICAgJG9mZnNldCA9ICRwYXJhbS0+Z2V0RGF0YSgnb2Zmc2V0JykgPzogMTsKICAgICAgICBmb3JlYWNoICgkdmFsdWUgYXMgJGluZGV4ID0+ICR2KSB7CiAgICAgICAgICAgICRpbmRleCArPSAkb2Zmc2V0OwogICAgICAgICAgICBpZiAoaXNfYXJyYXkoJHYpICYmICRpdGVtcyA9ICRwYXJhbS0+Z2V0SXRlbXMoKSkgewogICAgICAgICAgICAgICAgJHRoaXMtPmN1c3RvbVJlc29sdmVyKCR2LCAkaXRlbXMsICRxdWVyeSwgJHByZWZpeCAuICcuJyAuICRpbmRleCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkcXVlcnlbJHByZWZpeCAuICcuJyAuICRpbmRleF0gPSAkcGFyYW0tPmZpbHRlcigkdik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Command/JsonCommand.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENvbW1hbmQ7Cgp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxPcGVyYXRpb25Db21tYW5kOwp1c2UgR3V6emxlXEh0dHBcQ3VybFxDdXJsSGFuZGxlOwoKLyoqCiAqIEFkZHMgQVdTIEpTT04gYm9keSBmdW5jdGlvbmFsaXR5IHRvIGR5bmFtaWNhbGx5IGdlbmVyYXRlZCBIVFRQIHJlcXVlc3RzCiAqLwpjbGFzcyBKc29uQ29tbWFuZCBleHRlbmRzIE9wZXJhdGlvbkNvbW1hbmQKewogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBidWlsZCgpCiAgICB7CiAgICAgICAgcGFyZW50OjpidWlsZCgpOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgYm9keSBvZiB0aGUgcmVxdWVzdCBBTFdBWVMgaW5jbHVkZXMgc29tZSBKU09OLiBCeSBkZWZhdWx0LCB0aGlzIGlzIGFuIGVtcHR5IG9iamVjdC4KICAgICAgICBpZiAoISR0aGlzLT5yZXF1ZXN0LT5nZXRCb2R5KCkpIHsKICAgICAgICAgICAgJHRoaXMtPnJlcXVlc3QtPnNldEJvZHkoJ3t9Jyk7CiAgICAgICAgfQoKICAgICAgICAvLyBOZXZlciBzZW5kIHRoZSBFeHBlY3QgaGVhZGVyIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCBhIEpTT04gcXVlcnkgc2VydmljZQogICAgICAgICR0aGlzLT5yZXF1ZXN0LT5yZW1vdmVIZWFkZXIoJ0V4cGVjdCcpOwoKICAgICAgICAvLyBBbHdheXMgc2VuZCBKU09OIHJlcXVlc3RzIGFzIGEgcmF3IHN0cmluZyByYXRoZXIgdGhhbiB1c2luZyBzdHJlYW1zIHRvIGF2b2lkIGlzc3VlcyB3aXRoCiAgICAgICAgLy8gY1VSTCBlcnJvciBjb2RlIDY1OiAibmVjZXNzYXJ5IGRhdGEgcmV3aW5kIHdhc24ndCBwb3NzaWJsZSIuCiAgICAgICAgLy8gVGhpcyBjb3VsZCBiZSByZW1vdmVkIGFmdGVyIFBIUCBhZGRyZXNzZXMgaHR0cHM6Ly9idWdzLnBocC5uZXQvYnVnLnBocD9pZD00NzIwNAogICAgICAgICR0aGlzLT5yZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5zZXQoQ3VybEhhbmRsZTo6Qk9EWV9BU19TVFJJTkcsIHRydWUpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Command/QueryCommand.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENvbW1hbmQ7Cgp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxPcGVyYXRpb25Db21tYW5kOwoKLyoqCiAqIEFkZHMgQVdTIFF1ZXJ5IHNlcnZpY2Ugc2VyaWFsaXphdGlvbgogKi8KY2xhc3MgUXVlcnlDb21tYW5kIGV4dGVuZHMgT3BlcmF0aW9uQ29tbWFuZAp7CiAgICAvKioKICAgICAqIEB2YXIgQXdzUXVlcnlWaXNpdG9yCiAgICAgKi8KICAgIHByb3RlY3RlZCBzdGF0aWMgJHF1ZXJ5VmlzaXRvcjsKCiAgICAvKioKICAgICAqIEB2YXIgWG1sUmVzcG9uc2VMb2NhdGlvblZpc2l0b3IKICAgICAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkeG1sVmlzaXRvcjsKCiAgICAvKioKICAgICAqIFJlZ2lzdGVyIHRoZSBhd3MucXVlcnkgdmlzaXRvcgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5pdCgpCiAgICB7CiAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZVN0YXJ0CiAgICAgICAgaWYgKCFzZWxmOjokcXVlcnlWaXNpdG9yKSB7CiAgICAgICAgICAgIHNlbGY6OiRxdWVyeVZpc2l0b3IgPSBuZXcgQXdzUXVlcnlWaXNpdG9yKCk7CiAgICAgICAgfQogICAgICAgIGlmICghc2VsZjo6JHhtbFZpc2l0b3IpIHsKICAgICAgICAgICAgc2VsZjo6JHhtbFZpc2l0b3IgPSBuZXcgWG1sUmVzcG9uc2VMb2NhdGlvblZpc2l0b3IoKTsKICAgICAgICB9CiAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZUVuZAoKICAgICAgICAkdGhpcy0+Z2V0UmVxdWVzdFNlcmlhbGl6ZXIoKS0+YWRkVmlzaXRvcignYXdzLnF1ZXJ5Jywgc2VsZjo6JHF1ZXJ5VmlzaXRvcik7CiAgICAgICAgJHRoaXMtPmdldFJlc3BvbnNlUGFyc2VyKCktPmFkZFZpc2l0b3IoJ3htbCcsIHNlbGY6OiR4bWxWaXNpdG9yKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Command/XmlResponseLocationVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENvbW1hbmQ7Cgp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cT3BlcmF0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcjsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlc3BvbnNlXFhtbFZpc2l0b3I7CgovKioKICogQ2xhc3MgdXNlZCBmb3IgY3VzdG9tIEFXUyBYTUwgcmVzcG9uc2UgcGFyc2luZyBvZiBxdWVyeSBzZXJ2aWNlcwogKi8KY2xhc3MgWG1sUmVzcG9uc2VMb2NhdGlvblZpc2l0b3IgZXh0ZW5kcyBYbWxWaXNpdG9yCnsKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYmVmb3JlKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQsIGFycmF5ICYkcmVzdWx0KQogICAgewogICAgICAgIHBhcmVudDo6YmVmb3JlKCRjb21tYW5kLCAkcmVzdWx0KTsKCiAgICAgICAgLy8gVW53cmFwcGVkIHdyYXBwZWQgcmVzcG9uc2VzCiAgICAgICAgJG9wZXJhdGlvbiA9ICRjb21tYW5kLT5nZXRPcGVyYXRpb24oKTsKICAgICAgICBpZiAoJG9wZXJhdGlvbi0+Z2V0U2VydmljZURlc2NyaXB0aW9uKCktPmdldERhdGEoJ3Jlc3VsdFdyYXBwZWQnKSkgewogICAgICAgICAgICAkd3JhcHBpbmdOb2RlID0gJG9wZXJhdGlvbi0+Z2V0TmFtZSgpIC4gJ1Jlc3VsdCc7CiAgICAgICAgICAgIGlmIChpc3NldCgkcmVzdWx0WyR3cmFwcGluZ05vZGVdKSkgewogICAgICAgICAgICAgICAgJHJlc3VsdCA9ICRyZXN1bHRbJHdyYXBwaW5nTm9kZV0gKyAkcmVzdWx0OwogICAgICAgICAgICAgICAgdW5zZXQoJHJlc3VsdFskd3JhcHBpbmdOb2RlXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBBY2NvdW50cyBmb3Igd3JhcHBlciBub2RlcwogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdmlzaXQoCiAgICAgICAgQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwKICAgICAgICBSZXNwb25zZSAkcmVzcG9uc2UsCiAgICAgICAgUGFyYW1ldGVyICRwYXJhbSwKICAgICAgICAmJHZhbHVlLAogICAgICAgICRjb250ZXh0ID0gIG51bGwKICAgICkgewogICAgICAgIHBhcmVudDo6dmlzaXQoJGNvbW1hbmQsICRyZXNwb25zZSwgJHBhcmFtLCAkdmFsdWUsICRjb250ZXh0KTsKCiAgICAgICAgLy8gQWNjb3VudCBmb3Igd3JhcHBlciBub2RlcyAoZS5nLiBSRFMsIEVsYXN0aUNhY2hlLCBldGMpCiAgICAgICAgaWYgKCRwYXJhbS0+Z2V0RGF0YSgnd3JhcHBlcicpKSB7CiAgICAgICAgICAgICR3aXJlTmFtZSA9ICRwYXJhbS0+Z2V0V2lyZU5hbWUoKTsKICAgICAgICAgICAgJHZhbHVlICs9ICR2YWx1ZVskd2lyZU5hbWVdOwogICAgICAgICAgICB1bnNldCgkdmFsdWVbJHdpcmVOYW1lXSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogRmlsdGVyIHVzZWQgd2hlbiBjb252ZXJ0aW5nIFhNTCBtYXBzIGludG8gYXNzb2NpYXRpdmUgYXJyYXlzIGluIHNlcnZpY2UgZGVzY3JpcHRpb25zCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICAkdmFsdWUgICAgIFZhbHVlIHRvIGZpbHRlcgogICAgICogQHBhcmFtIHN0cmluZyAkZW50cnlOYW1lIE5hbWUgb2YgZWFjaCBlbnRyeQogICAgICogQHBhcmFtIHN0cmluZyAka2V5TmFtZSAgIE5hbWUgb2YgZWFjaCBrZXkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHZhbHVlTmFtZSBOYW1lIG9mIGVhY2ggdmFsdWUKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IFJldHVybnMgdGhlIG1hcCBvZiB0aGUgWE1MIGRhdGEKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB4bWxNYXAoJHZhbHVlLCAkZW50cnlOYW1lLCAka2V5TmFtZSwgJHZhbHVlTmFtZSkKICAgIHsKICAgICAgICAkcmVzdWx0ID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkdmFsdWUgYXMgJGVudHJ5KSB7CiAgICAgICAgICAgICRyZXN1bHRbJGVudHJ5WyRrZXlOYW1lXV0gPSAkZW50cnlbJHZhbHVlTmFtZV07CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Credentials/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Credentials/AbstractCredentialsDecorator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzOwoKLyoqCiAqIEFic3RyYWN0IGNyZWRlbnRpYWxzIGRlY29yYXRvcgogKi8KY2xhc3MgQWJzdHJhY3RDcmVkZW50aWFsc0RlY29yYXRvciBpbXBsZW1lbnRzIENyZWRlbnRpYWxzSW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQHZhciBDcmVkZW50aWFsc0ludGVyZmFjZSBXcmFwcGVkIGNyZWRlbnRpYWxzIG9iamVjdAogICAgICovCiAgICBwcm90ZWN0ZWQgJGNyZWRlbnRpYWxzOwoKICAgIC8qKgogICAgICogQ29uc3RydWN0cyBhIG5ldyBCYXNpY0FXU0NyZWRlbnRpYWxzIG9iamVjdCwgd2l0aCB0aGUgc3BlY2lmaWVkIEFXUwogICAgICogYWNjZXNzIGtleSBhbmQgQVdTIHNlY3JldCBrZXkKICAgICAqCiAgICAgKiBAcGFyYW0gQ3JlZGVudGlhbHNJbnRlcmZhY2UgJGNyZWRlbnRpYWxzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChDcmVkZW50aWFsc0ludGVyZmFjZSAkY3JlZGVudGlhbHMpCiAgICB7CiAgICAgICAgJHRoaXMtPmNyZWRlbnRpYWxzID0gJGNyZWRlbnRpYWxzOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VyaWFsaXplKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNyZWRlbnRpYWxzLT5zZXJpYWxpemUoKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVuc2VyaWFsaXplKCRzZXJpYWxpemVkKQogICAgewogICAgICAgICR0aGlzLT5jcmVkZW50aWFscyA9IG5ldyBDcmVkZW50aWFscygnJywgJycpOwogICAgICAgICR0aGlzLT5jcmVkZW50aWFscy0+dW5zZXJpYWxpemUoJHNlcmlhbGl6ZWQpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QWNjZXNzS2V5SWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y3JlZGVudGlhbHMtPmdldEFjY2Vzc0tleUlkKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTZWNyZXRLZXkoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y3JlZGVudGlhbHMtPmdldFNlY3JldEtleSgpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2VjdXJpdHlUb2tlbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jcmVkZW50aWFscy0+Z2V0U2VjdXJpdHlUb2tlbigpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXhwaXJhdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jcmVkZW50aWFscy0+Z2V0RXhwaXJhdGlvbigpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNFeHBpcmVkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNyZWRlbnRpYWxzLT5pc0V4cGlyZWQoKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEFjY2Vzc0tleUlkKCRrZXkpCiAgICB7CiAgICAgICAgJHRoaXMtPmNyZWRlbnRpYWxzLT5zZXRBY2Nlc3NLZXlJZCgka2V5KTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U2VjcmV0S2V5KCRzZWNyZXQpCiAgICB7CiAgICAgICAgJHRoaXMtPmNyZWRlbnRpYWxzLT5zZXRTZWNyZXRLZXkoJHNlY3JldCk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFNlY3VyaXR5VG9rZW4oJHRva2VuKQogICAgewogICAgICAgICR0aGlzLT5jcmVkZW50aWFscy0+c2V0U2VjdXJpdHlUb2tlbigkdG9rZW4pOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRFeHBpcmF0aW9uKCR0aW1lc3RhbXApCiAgICB7CiAgICAgICAgJHRoaXMtPmNyZWRlbnRpYWxzLT5zZXRFeHBpcmF0aW9uKCR0aW1lc3RhbXApOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Credentials/AbstractRefreshableCredentials.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzOwoKLyoqCiAqIEFic3RyYWN0IGRlY29yYXRvciB0byBwcm92aWRlIGEgZm91bmRhdGlvbiBmb3IgcmVmcmVzaGFibGUgY3JlZGVudGlhbHMKICovCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0UmVmcmVzaGFibGVDcmVkZW50aWFscyBleHRlbmRzIEFic3RyYWN0Q3JlZGVudGlhbHNEZWNvcmF0b3IKewogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRBY2Nlc3NLZXlJZCgpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5jcmVkZW50aWFscy0+aXNFeHBpcmVkKCkpIHsKICAgICAgICAgICAgJHRoaXMtPnJlZnJlc2goKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+Y3JlZGVudGlhbHMtPmdldEFjY2Vzc0tleUlkKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTZWNyZXRLZXkoKQogICAgewogICAgICAgIGlmICgkdGhpcy0+Y3JlZGVudGlhbHMtPmlzRXhwaXJlZCgpKSB7CiAgICAgICAgICAgICR0aGlzLT5yZWZyZXNoKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPmNyZWRlbnRpYWxzLT5nZXRTZWNyZXRLZXkoKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFNlY3VyaXR5VG9rZW4oKQogICAgewogICAgICAgIGlmICgkdGhpcy0+Y3JlZGVudGlhbHMtPmlzRXhwaXJlZCgpKSB7CiAgICAgICAgICAgICR0aGlzLT5yZWZyZXNoKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPmNyZWRlbnRpYWxzLT5nZXRTZWN1cml0eVRva2VuKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXJpYWxpemUoKQogICAgewogICAgICAgIGlmICgkdGhpcy0+Y3JlZGVudGlhbHMtPmlzRXhwaXJlZCgpKSB7CiAgICAgICAgICAgICR0aGlzLT5yZWZyZXNoKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPmNyZWRlbnRpYWxzLT5zZXJpYWxpemUoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEF0dGVtcHQgdG8gZ2V0IG5ldyBjcmVkZW50aWFscwogICAgICovCiAgICBhYnN0cmFjdCBwcm90ZWN0ZWQgZnVuY3Rpb24gcmVmcmVzaCgpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Credentials/CacheableCredentials.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzOwoKdXNlIEd1enpsZVxDYWNoZVxDYWNoZUFkYXB0ZXJJbnRlcmZhY2U7CgovKioKICogQ3JlZGVudGlhbHMgZGVjb3JhdG9yIHVzZWQgdG8gaW1wbGVtZW50IGNhY2hpbmcgY3JlZGVudGlhbHMKICovCmNsYXNzIENhY2hlYWJsZUNyZWRlbnRpYWxzIGV4dGVuZHMgQWJzdHJhY3RSZWZyZXNoYWJsZUNyZWRlbnRpYWxzCnsKICAgIC8qKgogICAgICogQHZhciBDYWNoZUFkYXB0ZXJJbnRlcmZhY2UgQ2FjaGUgYWRhcHRlciB1c2VkIHRvIHN0b3JlIGNyZWRlbnRpYWxzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2FjaGU7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBDYWNoZSBrZXkgdXNlZCB0byBzdG9yZSB0aGUgY3JlZGVudGlhbHMKICAgICAqLwogICAgcHJvdGVjdGVkICRjYWNoZUtleTsKCiAgICAvKioKICAgICAqIENhY2hlYWJsZUNyZWRlbnRpYWxzIGlzIGEgZGVjb3JhdG9yIHRoYXQgZGVjb3JhdGVzIG90aGVyIGNyZWRlbnRpYWxzCiAgICAgKgogICAgICogQHBhcmFtIENyZWRlbnRpYWxzSW50ZXJmYWNlICAkY3JlZGVudGlhbHMgQ3JlZGVudGlhbHMgdG8gYWRhcHQKICAgICAqIEBwYXJhbSBDYWNoZUFkYXB0ZXJJbnRlcmZhY2UgJGNhY2hlICAgICAgIENhY2hlIHRvIHVzZSB0byBzdG9yZSBjcmVkZW50aWFscwogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAkY2FjaGVLZXkgICAgQ2FjaGUga2V5IG9mIHRoZSBjcmVkZW50aWFscwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoQ3JlZGVudGlhbHNJbnRlcmZhY2UgJGNyZWRlbnRpYWxzLCBDYWNoZUFkYXB0ZXJJbnRlcmZhY2UgJGNhY2hlLCAkY2FjaGVLZXkpCiAgICB7CiAgICAgICAgJHRoaXMtPmNyZWRlbnRpYWxzID0gJGNyZWRlbnRpYWxzOwogICAgICAgICR0aGlzLT5jYWNoZSA9ICRjYWNoZTsKICAgICAgICAkdGhpcy0+Y2FjaGVLZXkgPSAkY2FjaGVLZXk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBdHRlbXB0IHRvIGdldCBuZXcgY3JlZGVudGlhbHMgZnJvbSBjYWNoZSBvciBmcm9tIHRoZSBhZGFwdGVkIG9iamVjdAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcmVmcmVzaCgpCiAgICB7CiAgICAgICAgaWYgKCEkY2FjaGUgPSAkdGhpcy0+Y2FjaGUtPmZldGNoKCR0aGlzLT5jYWNoZUtleSkpIHsKICAgICAgICAgICAgLy8gVGhlIGNyZWRlbnRpYWxzIHdlcmUgbm90IGZvdW5kLCBzbyB0cnkgYWdhaW4gYW5kIGNhY2hlIGlmIG5ldwogICAgICAgICAgICAkdGhpcy0+Y3JlZGVudGlhbHMtPmdldEFjY2Vzc0tleUlkKCk7CiAgICAgICAgICAgIGlmICghJHRoaXMtPmNyZWRlbnRpYWxzLT5pc0V4cGlyZWQoKSkgewogICAgICAgICAgICAgICAgLy8gVGhlIGNyZWRlbnRpYWxzIHdlcmUgdXBkYXRlZCwgc28gY2FjaGUgdGhlbQogICAgICAgICAgICAgICAgJHRoaXMtPmNhY2hlLT5zYXZlKCR0aGlzLT5jYWNoZUtleSwgJHRoaXMtPmNyZWRlbnRpYWxzLCAkdGhpcy0+Y3JlZGVudGlhbHMtPmdldEV4cGlyYXRpb24oKSAtIHRpbWUoKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBUaGUgY3JlZGVudGlhbHMgd2VyZSBmb3VuZCBpbiBjYWNoZSwgc28gdXBkYXRlIHRoZSBhZGFwdGVyIG9iamVjdAogICAgICAgICAgICAvLyBpZiB0aGUgY2FjaGVkIGNyZWRlbnRpYWxzIGFyZSBub3QgZXhwaXJlZAogICAgICAgICAgICBpZiAoISRjYWNoZS0+aXNFeHBpcmVkKCkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5jcmVkZW50aWFscy0+c2V0QWNjZXNzS2V5SWQoJGNhY2hlLT5nZXRBY2Nlc3NLZXlJZCgpKTsKICAgICAgICAgICAgICAgICR0aGlzLT5jcmVkZW50aWFscy0+c2V0U2VjcmV0S2V5KCRjYWNoZS0+Z2V0U2VjcmV0S2V5KCkpOwogICAgICAgICAgICAgICAgJHRoaXMtPmNyZWRlbnRpYWxzLT5zZXRTZWN1cml0eVRva2VuKCRjYWNoZS0+Z2V0U2VjdXJpdHlUb2tlbigpKTsKICAgICAgICAgICAgICAgICR0aGlzLT5jcmVkZW50aWFscy0+c2V0RXhwaXJhdGlvbigkY2FjaGUtPmdldEV4cGlyYXRpb24oKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Credentials/Credentials.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzOwoKdXNlIEF3c1xDb21tb25cRW51bVxDbGllbnRPcHRpb25zIGFzIE9wdGlvbnM7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSZXF1aXJlZEV4dGVuc2lvbk5vdExvYWRlZEV4Y2VwdGlvbjsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb247CnVzZSBHdXp6bGVcQ29tbW9uXEZyb21Db25maWdJbnRlcmZhY2U7CnVzZSBHdXp6bGVcQ2FjaGVcQ2FjaGVBZGFwdGVySW50ZXJmYWNlOwp1c2UgR3V6emxlXENhY2hlXERvY3RyaW5lQ2FjaGVBZGFwdGVyOwoKLyoqCiAqIEJhc2ljIGltcGxlbWVudGF0aW9uIG9mIHRoZSBBV1NDcmVkZW50aWFscyBpbnRlcmZhY2UgdGhhdCBhbGxvd3MgY2FsbGVycyB0bwogKiBwYXNzIGluIHRoZSBBV1MgYWNjZXNzIGtleSBhbmQgc2VjcmV0IGFjY2VzcyBpbiB0aGUgY29uc3RydWN0b3IuCiAqLwpjbGFzcyBDcmVkZW50aWFscyBpbXBsZW1lbnRzIENyZWRlbnRpYWxzSW50ZXJmYWNlLCBGcm9tQ29uZmlnSW50ZXJmYWNlCnsKICAgIGNvbnN0IEVOVl9LRVkgPSAnQVdTX0FDQ0VTU19LRVlfSUQnOwogICAgY29uc3QgRU5WX1NFQ1JFVCA9ICdBV1NfU0VDUkVUX0tFWSc7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBBV1MgQWNjZXNzIGtleSBJRAogICAgICovCiAgICBwcm90ZWN0ZWQgJGtleTsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIEFXUyBTZWNyZXQgYWNjZXNzIGtleQogICAgICovCiAgICBwcm90ZWN0ZWQgJHNlY3JldDsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFNlY3VyaXR5IHRva2VuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkdG9rZW47CgogICAgLyoqCiAgICAgKiBAdmFyIGludCBUaW1lIHRvIGRpZSBvZiB0b2tlbgogICAgICovCiAgICBwcm90ZWN0ZWQgJHR0ZDsKCiAgICAvKioKICAgICAqIEdldCB0aGUgYXZhaWxhYmxlIGtleXMgZm9yIHRoZSBmYWN0b3J5IG1ldGhvZAogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRDb25maWdEZWZhdWx0cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBPcHRpb25zOjpLRVkgICAgICAgICAgICAgICAgICAgPT4gbnVsbCwKICAgICAgICAgICAgT3B0aW9uczo6U0VDUkVUICAgICAgICAgICAgICAgID0+IG51bGwsCiAgICAgICAgICAgIE9wdGlvbnM6OlRPS0VOICAgICAgICAgICAgICAgICA9PiBudWxsLAogICAgICAgICAgICBPcHRpb25zOjpUT0tFTl9UVEQgICAgICAgICAgICAgPT4gbnVsbCwKICAgICAgICAgICAgT3B0aW9uczo6Q1JFREVOVElBTFNfQ0FDSEUgICAgID0+IG51bGwsCiAgICAgICAgICAgIE9wdGlvbnM6OkNSRURFTlRJQUxTX0NBQ0hFX0tFWSA9PiBudWxsLAogICAgICAgICAgICBPcHRpb25zOjpDUkVERU5USUFMU19DTElFTlQgICAgPT4gbnVsbAogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCBmb3IgY3JlYXRpbmcgbmV3IGNyZWRlbnRpYWxzLiAgVGhpcyBmYWN0b3J5IG1ldGhvZCB3aWxsCiAgICAgKiBjcmVhdGUgdGhlIGFwcHJvcHJpYXRlIGNyZWRlbnRpYWxzIG9iamVjdCB3aXRoIGFwcHJvcHJpYXRlIGRlY29yYXRvcnMKICAgICAqIGJhc2VkIG9uIHRoZSBwYXNzZWQgY29uZmlndXJhdGlvbiBvcHRpb25zLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkY29uZmlnIE9wdGlvbnMgdG8gdXNlIHdoZW4gaW5zdGFudGlhdGluZyB0aGUgY3JlZGVudGlhbHMKICAgICAqCiAgICAgKiBAcmV0dXJuIENyZWRlbnRpYWxzSW50ZXJmYWNlCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBJZiB0aGUgY2FjaGluZyBvcHRpb25zIGFyZSBpbnZhbGlkCiAgICAgKiBAdGhyb3dzIFJ1bnRpbWVFeGNlcHRpb24gICAgICAgICBJZiB1c2luZyB0aGUgZGVmYXVsdCBjYWNoZSBhbmQgQVBDIGlzIGRpc2FibGVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAvLyBBZGQgZGVmYXVsdCBrZXkgdmFsdWVzCiAgICAgICAgZm9yZWFjaCAoc2VsZjo6Z2V0Q29uZmlnRGVmYXVsdHMoKSBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICBpZiAoIWlzc2V0KCRjb25maWdbJGtleV0pKSB7CiAgICAgICAgICAgICAgICAkY29uZmlnWyRrZXldID0gJHZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBTdGFydCB0cmFja2luZyB0aGUgY2FjaGUga2V5CiAgICAgICAgJGNhY2hlS2V5ID0gJGNvbmZpZ1tPcHRpb25zOjpDUkVERU5USUFMU19DQUNIRV9LRVldOwoKICAgICAgICAvLyBDcmVhdGUgdGhlIGNyZWRlbnRpYWxzIG9iamVjdAogICAgICAgIGlmICghJGNvbmZpZ1tPcHRpb25zOjpLRVldIHx8ICEkY29uZmlnW09wdGlvbnM6OlNFQ1JFVF0pIHsKICAgICAgICAgICAgLy8gTm8ga2V5cyB3ZXJlIHByb3ZpZGVkLCBzbyBhdHRlbXB0IHRvIHJldHJpZXZlIHNvbWUgZnJvbSB0aGUgZW52aXJvbm1lbnQKICAgICAgICAgICAgJGVudktleSA9IGlzc2V0KCRfU0VSVkVSW3NlbGY6OkVOVl9LRVldKSA/ICRfU0VSVkVSW3NlbGY6OkVOVl9LRVldIDogZ2V0ZW52KHNlbGY6OkVOVl9LRVkpOwogICAgICAgICAgICAkZW52U2VjcmV0ID0gaXNzZXQoJF9TRVJWRVJbc2VsZjo6RU5WX1NFQ1JFVF0pID8gJF9TRVJWRVJbc2VsZjo6RU5WX1NFQ1JFVF0gOiBnZXRlbnYoc2VsZjo6RU5WX1NFQ1JFVCk7CiAgICAgICAgICAgIGlmICgkZW52S2V5ICYmICRlbnZTZWNyZXQpIHsKICAgICAgICAgICAgICAgIC8vIFVzZSBjcmVkZW50aWFscyBzZXQgaW4gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcwogICAgICAgICAgICAgICAgJGNyZWRlbnRpYWxzID0gbmV3IHN0YXRpYygkZW52S2V5LCAkZW52U2VjcmV0KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIFVzZSBpbnN0YW5jZSBwcm9maWxlIGNyZWRlbnRpYWxzIChhdmFpbGFibGUgb24gRUMyIGluc3RhbmNlcykKICAgICAgICAgICAgICAgICRjcmVkZW50aWFscyA9IG5ldyBSZWZyZXNoYWJsZUluc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzKAogICAgICAgICAgICAgICAgICAgIG5ldyBzdGF0aWMoJycsICcnLCAnJywgMSksCiAgICAgICAgICAgICAgICAgICAgJGNvbmZpZ1tPcHRpb25zOjpDUkVERU5USUFMU19DTElFTlRdCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIElmIG5vIGNhY2hlIGtleSB3YXMgc2V0LCB1c2UgdGhlIGNyYzMyIGhvc3RuYW1lIG9mIHRoZSBzZXJ2ZXIKICAgICAgICAgICAgJGNhY2hlS2V5ID0gJGNhY2hlS2V5ID86ICdjcmVkZW50aWFsc18nIC4gY3JjMzIoZ2V0aG9zdG5hbWUoKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gSW5zdGFudGlhdGUgdXNpbmcgc2hvcnQgb3IgbG9uZyB0ZXJtIGNyZWRlbnRpYWxzCiAgICAgICAgICAgICRjcmVkZW50aWFscyA9IG5ldyBzdGF0aWMoCiAgICAgICAgICAgICAgICAkY29uZmlnW09wdGlvbnM6OktFWV0sCiAgICAgICAgICAgICAgICAkY29uZmlnW09wdGlvbnM6OlNFQ1JFVF0sCiAgICAgICAgICAgICAgICAkY29uZmlnW09wdGlvbnM6OlRPS0VOXSwKICAgICAgICAgICAgICAgICRjb25maWdbT3B0aW9uczo6VE9LRU5fVFREXQogICAgICAgICAgICApOwogICAgICAgICAgICAvLyBJZiBubyBjYWNoZSBrZXkgd2FzIHNldCwgdXNlIHRoZSBhY2Nlc3Mga2V5IElECiAgICAgICAgICAgICRjYWNoZUtleSA9ICRjYWNoZUtleSA/OiAnY3JlZGVudGlhbHNfJyAuICRjb25maWdbT3B0aW9uczo6S0VZXTsKICAgICAgICB9CgogICAgICAgIC8vIENoZWNrIGlmIHRoZSBjcmVkZW50aWFscyBhcmUgcmVmcmVzaGFibGUsIGFuZCBpZiBzbywgY29uZmlndXJlIGNhY2hpbmcKICAgICAgICAkY2FjaGUgPSAkY29uZmlnW09wdGlvbnM6OkNSRURFTlRJQUxTX0NBQ0hFXTsKICAgICAgICBpZiAoJGNhY2hlS2V5ICYmICRjYWNoZSkgewogICAgICAgICAgICBpZiAoJGNhY2hlID09PSAndHJ1ZScgfHwgJGNhY2hlID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAvLyBJZiBubyBjYWNoZSBhZGFwdGVyIHdhcyBwcm92aWRlZCwgdGhlbiBjcmVhdGUgb25lIGZvciB0aGUgdXNlcgogICAgICAgICAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZVN0YXJ0CiAgICAgICAgICAgICAgICBpZiAoIWV4dGVuc2lvbl9sb2FkZWQoJ2FwYycpKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJlcXVpcmVkRXh0ZW5zaW9uTm90TG9hZGVkRXhjZXB0aW9uKCdQSFAgaGFzIG5vdCBiZWVuIGNvbXBpbGVkIHdpdGggQVBDLiBVbmFibGUgdG8gY2FjaGUgJwogICAgICAgICAgICAgICAgICAgICAgICAuICd0aGUgY3JlZGVudGlhbHMuJyk7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoIWNsYXNzX2V4aXN0cygnRG9jdHJpbmVcQ29tbW9uXENhY2hlXEFwY0NhY2hlJykpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbigKICAgICAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBzZXQgJyAuIE9wdGlvbnM6OkNSRURFTlRJQUxTX0NBQ0hFIC4gJyB0byB0cnVlIGJlY2F1c2UgdGhlIERvY3RyaW5lIGNhY2hlIGNvbXBvbmVudCBpcyAnCiAgICAgICAgICAgICAgICAgICAgICAgIC4gJ25vdCBpbnN0YWxsZWQuIEVpdGhlciBpbnN0YWxsIGRvY3RyaW5lL2NhY2hlIG9yIHBhc3MgaW4gYW4gaW5zdGFudGlhdGVkICcKICAgICAgICAgICAgICAgICAgICAgICAgLiAnR3V6emxlXENhY2hlXENhY2hlQWRhcHRlckludGVyZmFjZSBvYmplY3QnCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVFbmQKICAgICAgICAgICAgICAgICRjYWNoZSA9IG5ldyBEb2N0cmluZUNhY2hlQWRhcHRlcihuZXcgXERvY3RyaW5lXENvbW1vblxDYWNoZVxBcGNDYWNoZSgpKTsKICAgICAgICAgICAgfSBlbHNlaWYgKCEoJGNhY2hlIGluc3RhbmNlb2YgQ2FjaGVBZGFwdGVySW50ZXJmYWNlKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignVW5hYmxlIHRvIHV0aWxpemUgY2FjaGluZyB3aXRoIHRoZSBzcGVjaWZpZWQgb3B0aW9ucycpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIERlY29yYXRlIHRoZSBjcmVkZW50aWFscyB3aXRoIGEgY2FjaGUKICAgICAgICAgICAgJGNyZWRlbnRpYWxzID0gbmV3IENhY2hlYWJsZUNyZWRlbnRpYWxzKCRjcmVkZW50aWFscywgJGNhY2hlLCAkY2FjaGVLZXkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRjcmVkZW50aWFsczsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnN0cnVjdHMgYSBuZXcgQmFzaWNBV1NDcmVkZW50aWFscyBvYmplY3QsIHdpdGggdGhlIHNwZWNpZmllZCBBV1MKICAgICAqIGFjY2VzcyBrZXkgYW5kIEFXUyBzZWNyZXQga2V5CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkYWNjZXNzS2V5SWQgICAgIEFXUyBhY2Nlc3Mga2V5IElECiAgICAgKiBAcGFyYW0gc3RyaW5nICRzZWNyZXRBY2Nlc3NLZXkgQVdTIHNlY3JldCBhY2Nlc3Mga2V5CiAgICAgKiBAcGFyYW0gc3RyaW5nICR0b2tlbiAgICAgICAgICAgU2VjdXJpdHkgdG9rZW4gdG8gdXNlCiAgICAgKiBAcGFyYW0gaW50ICAgICRleHBpcmF0aW9uICAgICAgVU5JWCB0aW1lc3RhbXAgZm9yIHdoZW4gY3JlZGVudGlhbHMgZXhwaXJlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkYWNjZXNzS2V5SWQsICRzZWNyZXRBY2Nlc3NLZXksICR0b2tlbiA9IG51bGwsICRleHBpcmF0aW9uID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+a2V5ID0gdHJpbSgkYWNjZXNzS2V5SWQpOwogICAgICAgICR0aGlzLT5zZWNyZXQgPSB0cmltKCRzZWNyZXRBY2Nlc3NLZXkpOwogICAgICAgICR0aGlzLT50b2tlbiA9ICR0b2tlbjsKICAgICAgICAkdGhpcy0+dHRkID0gJGV4cGlyYXRpb247CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXJpYWxpemUoKQogICAgewogICAgICAgIHJldHVybiBqc29uX2VuY29kZShhcnJheSgKICAgICAgICAgICAgT3B0aW9uczo6S0VZICAgICAgID0+ICR0aGlzLT5rZXksCiAgICAgICAgICAgIE9wdGlvbnM6OlNFQ1JFVCAgICA9PiAkdGhpcy0+c2VjcmV0LAogICAgICAgICAgICBPcHRpb25zOjpUT0tFTiAgICAgPT4gJHRoaXMtPnRva2VuLAogICAgICAgICAgICBPcHRpb25zOjpUT0tFTl9UVEQgPT4gJHRoaXMtPnR0ZAogICAgICAgICkpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdW5zZXJpYWxpemUoJHNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgJGRhdGEgPSBqc29uX2RlY29kZSgkc2VyaWFsaXplZCwgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPmtleSAgICA9ICRkYXRhW09wdGlvbnM6OktFWV07CiAgICAgICAgJHRoaXMtPnNlY3JldCA9ICRkYXRhW09wdGlvbnM6OlNFQ1JFVF07CiAgICAgICAgJHRoaXMtPnRva2VuICA9ICRkYXRhW09wdGlvbnM6OlRPS0VOXTsKICAgICAgICAkdGhpcy0+dHRkICAgID0gJGRhdGFbT3B0aW9uczo6VE9LRU5fVFREXTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFjY2Vzc0tleUlkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmtleTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFNlY3JldEtleSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zZWNyZXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTZWN1cml0eVRva2VuKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnRva2VuOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXhwaXJhdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT50dGQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0V4cGlyZWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+dHRkICE9PSBudWxsICYmIHRpbWUoKSA+PSAkdGhpcy0+dHRkOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0QWNjZXNzS2V5SWQoJGtleSkKICAgIHsKICAgICAgICAkdGhpcy0+a2V5ID0gJGtleTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U2VjcmV0S2V5KCRzZWNyZXQpCiAgICB7CiAgICAgICAgJHRoaXMtPnNlY3JldCA9ICRzZWNyZXQ7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFNlY3VyaXR5VG9rZW4oJHRva2VuKQogICAgewogICAgICAgICR0aGlzLT50b2tlbiA9ICR0b2tlbjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RXhwaXJhdGlvbigkdGltZXN0YW1wKQogICAgewogICAgICAgICR0aGlzLT50dGQgPSAkdGltZXN0YW1wOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Credentials/CredentialsInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzOwoKLyoqCiAqIFByb3ZpZGVzIGFjY2VzcyB0byB0aGUgQVdTIGNyZWRlbnRpYWxzIHVzZWQgZm9yIGFjY2Vzc2luZyBBV1Mgc2VydmljZXM6IEFXUwogKiBhY2Nlc3Mga2V5IElELCBzZWNyZXQgYWNjZXNzIGtleSwgYW5kIHNlY3VyaXR5IHRva2VuLiBUaGVzZSBjcmVkZW50aWFscyBhcmUKICogdXNlZCB0byBzZWN1cmVseSBzaWduIHJlcXVlc3RzIHRvIEFXUyBzZXJ2aWNlcy4KICovCmludGVyZmFjZSBDcmVkZW50aWFsc0ludGVyZmFjZSBleHRlbmRzIFxTZXJpYWxpemFibGUKewogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBBV1MgYWNjZXNzIGtleSBJRCBmb3IgdGhpcyBjcmVkZW50aWFscyBvYmplY3QuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFjY2Vzc0tleUlkKCk7CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBBV1Mgc2VjcmV0IGFjY2VzcyBrZXkgZm9yIHRoaXMgY3JlZGVudGlhbHMgb2JqZWN0LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTZWNyZXRLZXkoKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgYXNzb2NpYXRlZCBzZWN1cml0eSB0b2tlbiBpZiBhdmFpbGFibGUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTZWN1cml0eVRva2VuKCk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIFVOSVggdGltZXN0YW1wIGluIHdoaWNoIHRoZSBjcmVkZW50aWFscyB3aWxsIGV4cGlyZQogICAgICoKICAgICAqIEByZXR1cm4gaW50fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEV4cGlyYXRpb24oKTsKCiAgICAvKioKICAgICAqIFNldCB0aGUgQVdTIGFjY2VzcyBrZXkgSUQgZm9yIHRoaXMgY3JlZGVudGlhbHMgb2JqZWN0LgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSBBV1MgYWNjZXNzIGtleSBJRAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0QWNjZXNzS2V5SWQoJGtleSk7CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIEFXUyBzZWNyZXQgYWNjZXNzIGtleSBmb3IgdGhpcyBjcmVkZW50aWFscyBvYmplY3QuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkc2VjcmV0IEFXUyBzZWNyZXQgYWNjZXNzIGtleQogICAgICoKICAgICAqIEByZXR1cm4gQ3JlZGVudGlhbHNJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFNlY3JldEtleSgkc2VjcmV0KTsKCiAgICAvKioKICAgICAqIFNldCB0aGUgc2VjdXJpdHkgdG9rZW4gdG8gdXNlIHdpdGggdGhpcyBjcmVkZW50aWFscyBvYmplY3QKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0b2tlbiBTZWN1cml0eSB0b2tlbgogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U2VjdXJpdHlUb2tlbigkdG9rZW4pOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBVTklYIHRpbWVzdGFtcCBpbiB3aGljaCB0aGUgY3JlZGVudGlhbHMgd2lsbCBleHBpcmUKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICR0aW1lc3RhbXAgVU5JWCB0aW1lc3RhbXAgZXhwaXJhdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RXhwaXJhdGlvbigkdGltZXN0YW1wKTsKCiAgICAvKioKICAgICAqIENoZWNrIGlmIHRoZSBjcmVkZW50aWFscyBhcmUgZXhwaXJlZAogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNFeHBpcmVkKCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Credentials/RefreshableInstanceProfileCredentials.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzOwoKdXNlIEF3c1xDb21tb25cSW5zdGFuY2VNZXRhZGF0YVxJbnN0YW5jZU1ldGFkYXRhQ2xpZW50Owp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cSW5zdGFuY2VQcm9maWxlQ3JlZGVudGlhbHNFeGNlcHRpb247CgovKioKICogQ3JlZGVudGlhbHMgZGVjb3JhdG9yIHVzZWQgdG8gaW1wbGVtZW50IHJldHJpZXZpbmcgY3JlZGVudGlhbHMgZnJvbSB0aGUKICogRUMyIG1ldGFkYXRhIHNlcnZlcgogKi8KY2xhc3MgUmVmcmVzaGFibGVJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFscyBleHRlbmRzIEFic3RyYWN0UmVmcmVzaGFibGVDcmVkZW50aWFscwp7CiAgICAvKioKICAgICAqIEB2YXIgSW5zdGFuY2VNZXRhZGF0YUNsaWVudAogICAgICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICAvKioKICAgICAqIENvbnN0cnVjdHMgYSBuZXcgaW5zdGFuY2UgcHJvZmlsZSBjcmVkZW50aWFscyBkZWNvcmF0b3IKICAgICAqCiAgICAgKiBAcGFyYW0gQ3JlZGVudGlhbHNJbnRlcmZhY2UgICAkY3JlZGVudGlhbHMgQ3JlZGVudGlhbHMgdG8gYWRhcHQKICAgICAqIEBwYXJhbSBJbnN0YW5jZU1ldGFkYXRhQ2xpZW50ICRjbGllbnQgICAgICBDbGllbnQgdXNlZCB0byBnZXQgbmV3IGNyZWRlbnRpYWxzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChDcmVkZW50aWFsc0ludGVyZmFjZSAkY3JlZGVudGlhbHMsIEluc3RhbmNlTWV0YWRhdGFDbGllbnQgJGNsaWVudCA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPmNyZWRlbnRpYWxzID0gJGNyZWRlbnRpYWxzOwogICAgICAgICR0aGlzLT5jbGllbnQgPSAkY2xpZW50ID86IEluc3RhbmNlTWV0YWRhdGFDbGllbnQ6OmZhY3RvcnkoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEF0dGVtcHQgdG8gZ2V0IG5ldyBjcmVkZW50aWFscyBmcm9tIHRoZSBpbnN0YW5jZSBwcm9maWxlCiAgICAgKgogICAgICogQHRocm93cyBJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFsc0V4Y2VwdGlvbiBPbiBlcnJvcgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcmVmcmVzaCgpCiAgICB7CiAgICAgICAgJGNyZWRlbnRpYWxzID0gJHRoaXMtPmNsaWVudC0+Z2V0SW5zdGFuY2VQcm9maWxlQ3JlZGVudGlhbHMoKTsKICAgICAgICAvLyBFeHBpcmUgdGhlIHRva2VuIDEgbWludXRlIGJlZm9yZSBpdCBhY3R1YWxseSBleHBpcmVzIHRvIHByZS1mZXRjaCBiZWZvcmUgZXhwaXJpbmcKICAgICAgICAkdGhpcy0+Y3JlZGVudGlhbHMtPnNldEFjY2Vzc0tleUlkKCRjcmVkZW50aWFscy0+Z2V0QWNjZXNzS2V5SWQoKSkKICAgICAgICAgICAgLT5zZXRTZWNyZXRLZXkoJGNyZWRlbnRpYWxzLT5nZXRTZWNyZXRLZXkoKSkKICAgICAgICAgICAgLT5zZXRTZWN1cml0eVRva2VuKCRjcmVkZW50aWFscy0+Z2V0U2VjdXJpdHlUb2tlbigpKQogICAgICAgICAgICAtPnNldEV4cGlyYXRpb24oJGNyZWRlbnRpYWxzLT5nZXRFeHBpcmF0aW9uKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Enum.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uOwoKLyoqCiAqIFJlcHJlc2VudHMgYW4gZW51bWVyYWJsZSBzZXQgb2YgdmFsdWVzCiAqLwphYnN0cmFjdCBjbGFzcyBFbnVtCnsKICAgIC8qKgogICAgICogQHZhciBhcnJheSBBIGNhY2hlIG9mIGFsbCBlbnVtIHZhbHVlcyB0byBpbmNyZWFzZSBwZXJmb3JtYW5jZQogICAgICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRjYWNoZSA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBuYW1lcyAob3Iga2V5cykgb2YgYWxsIG9mIGNvbnN0YW50cyBpbiB0aGUgZW51bQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBrZXlzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXlfa2V5cyhzdGF0aWM6OnZhbHVlcygpKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgbmFtZXMgYW5kIHZhbHVlcyBvZiBhbGwgdGhlIGNvbnN0YW50cyBpbiB0aGUgZW51bQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB2YWx1ZXMoKQogICAgewogICAgICAgICRjbGFzcyA9IGdldF9jYWxsZWRfY2xhc3MoKTsKCiAgICAgICAgaWYgKCFpc3NldChzZWxmOjokY2FjaGVbJGNsYXNzXSkpIHsKICAgICAgICAgICAgJHJlZmxlY3RlZCA9IG5ldyBcUmVmbGVjdGlvbkNsYXNzKCRjbGFzcyk7CiAgICAgICAgICAgIHNlbGY6OiRjYWNoZVskY2xhc3NdID0gJHJlZmxlY3RlZC0+Z2V0Q29uc3RhbnRzKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gc2VsZjo6JGNhY2hlWyRjbGFzc107CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Enum/ClientOptions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgZGVmYXVsdCBmYWN0b3J5IG9wdGlvbnMgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIGEgY2xpZW50J3MgZmFjdG9yeSBtZXRob2QKICovCmNsYXNzIENsaWVudE9wdGlvbnMgZXh0ZW5kcyBFbnVtCnsKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgQVdTIEFjY2VzcyBLZXkgSUQKICAgICAqLwogICAgY29uc3QgS0VZID0gJ2tleSc7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBBV1Mgc2VjcmV0IGFjY2VzcyBrZXkKICAgICAqLwogICAgY29uc3QgU0VDUkVUID0gJ3NlY3JldCc7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBZb3UgY2FuIG9wdGlvbmFsbHkgcHJvdmlkZSBhIGN1c3RvbSBgQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFsc0ludGVyZmFjZWAgb2JqZWN0CiAgICAgKi8KICAgIGNvbnN0IENSRURFTlRJQUxTID0gJ2NyZWRlbnRpYWxzJzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIEN1c3RvbSBBV1Mgc2VjdXJpdHkgdG9rZW4gdG8gdXNlIHdpdGggcmVxdWVzdCBhdXRoZW50aWNhdGlvbgogICAgICovCiAgICBjb25zdCBUT0tFTiA9ICd0b2tlbic7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBVTklYIHRpbWVzdGFtcCBmb3Igd2hlbiB0aGUgY3VzdG9tIGNyZWRlbnRpYWxzIGV4cGlyZQogICAgICovCiAgICBjb25zdCBUT0tFTl9UVEQgPSAndG9rZW4udHRkJzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFVzZWQgdG8gY2FjaGUgY3JlZGVudGlhbHMgd2hlbiB1c2luZyBwcm92aWRlcnMgdGhhdCByZXF1aXJlIEhUVFAgcmVxdWVzdHMuIFNldCB0aGUgdHJ1ZXRvIHVzZSB0aGUKICAgICAqICAgICAgICAgICAgIGRlZmF1bHQgQVBDIGNhY2hlIG9yIHByb3ZpZGUgYSBgR3V6emxlXENhY2hlXENhY2hlQWRhcHRlckludGVyZmFjZWAgb2JqZWN0LgogICAgICovCiAgICBjb25zdCBDUkVERU5USUFMU19DQUNIRSA9ICdjcmVkZW50aWFscy5jYWNoZSc7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBPcHRpb25hbCBjdXN0b20gY2FjaGUga2V5IHRvIHVzZSB3aXRoIHRoZSBjcmVkZW50aWFscwogICAgICovCiAgICBjb25zdCBDUkVERU5USUFMU19DQUNIRV9LRVkgPSAnY3JlZGVudGlhbHMuY2FjaGUua2V5JzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFBhc3MgdGhpcyBvcHRpb24gdG8gc3BlY2lmeSBhIGN1c3RvbSBgR3V6emxlXEh0dHBcQ2xpZW50SW50ZXJmYWNlYCB0byB1c2UgaWYgeW91ciBjcmVkZW50aWFscyByZXF1aXJlCiAgICAgKiAgICAgICAgICAgICBhIEhUVFAgcmVxdWVzdCAoZS5nLiBSZWZyZXNoYWJsZUluc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzKQogICAgICovCiAgICBjb25zdCBDUkVERU5USUFMU19DTElFTlQgPSAnY3JlZGVudGlhbHMuY2xpZW50JzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFJlZ2lvbiBuYW1lIChlLmcuICd1cy1lYXN0LTEnLCAndXMtd2VzdC0xJywgJ3VzLXdlc3QtMicsICdldS13ZXN0LTEnLCBldGMuLi4pCiAgICAgKi8KICAgIGNvbnN0IFJFR0lPTiA9ICdyZWdpb24nOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVVJJIFNjaGVtZSBvZiB0aGUgYmFzZSBVUkwgKGUuZy4gJ2h0dHBzJywgJ2h0dHAnKS4KICAgICAqLwogICAgY29uc3QgU0NIRU1FID0gJ3NjaGVtZSc7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBTcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlCiAgICAgKi8KICAgIGNvbnN0IFNFUlZJQ0UgPSAnc2VydmljZSc7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBJbnN0ZWFkIG9mIHVzaW5nIGEgYHJlZ2lvbmAgYW5kIGBzY2hlbWVgLCB5b3UgY2FuIHNwZWNpZnkgYSBjdXN0b20gYmFzZSBVUkwgZm9yIHRoZSBjbGllbnQKICAgICAqLwogICAgY29uc3QgQkFTRV9VUkwgPSAnYmFzZV91cmwnOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgWW91IGNhbiBvcHRpb25hbGx5IHByb3ZpZGUgYSBjdXN0b20gc2lnbmF0dXJlIGltcGxlbWVudGF0aW9uIHVzZWQgdG8gc2lnbiByZXF1ZXN0cwogICAgICovCiAgICBjb25zdCBTSUdOQVRVUkUgPSAnc2lnbmF0dXJlJzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFNldCB0byBleHBsaWNpdGx5IG92ZXJyaWRlIHRoZSBzZXJ2aWNlIG5hbWUgdXNlZCBpbiBzaWduYXR1cmVzCiAgICAgKi8KICAgIGNvbnN0IFNJR05BVFVSRV9TRVJWSUNFID0gJ3NpZ25hdHVyZS5zZXJ2aWNlJzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFNldCB0byBleHBsaWNpdGx5IG92ZXJyaWRlIHRoZSByZWdpb24gbmFtZSB1c2VkIGluIHNpZ25hdHVyZXMKICAgICAqLwogICAgY29uc3QgU0lHTkFUVVJFX1JFR0lPTiA9ICdzaWduYXR1cmUucmVnaW9uJzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIE9wdGlvbiBrZXkgaG9sZGluZyBhbiBleHBvbmVudGlhbCBiYWNrb2ZmIHBsdWdpbgogICAgICovCiAgICBjb25zdCBCQUNLT0ZGID0gJ2NsaWVudC5iYWNrb2ZmJzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIGBHdXp6bGVcTG9nXExvZ0FkYXB0ZXJJbnRlcmZhY2VgIG9iamVjdCB1c2VkIHRvIGxvZyBiYWNrb2ZmIHJldHJpZXMuIFVzZSAnZGVidWcnIHRvIGVtaXQgUEhQCiAgICAgKiAgICAgICAgICAgICB3YXJuaW5ncyB3aGVuIGEgcmV0cnkgaXMgaXNzdWVkLgogICAgICovCiAgICBjb25zdCBCQUNLT0ZGX0xPR0dFUiA9ICdjbGllbnQuYmFja29mZi5sb2dnZXInOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgT3B0aW9uYWwgdGVtcGxhdGUgdG8gdXNlIGZvciBleHBvbmVudGlhbCBiYWNrb2ZmIGxvZyBtZXNzYWdlcy4gU2VlCiAgICAgKiAgICAgICAgICAgICBgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEJhY2tvZmZMb2dnZXJgIGZvciBmb3JtYXR0aW5nIGluZm9ybWF0aW9uLgogICAgICovCiAgICBjb25zdCBCQUNLT0ZGX0xPR0dFUl9URU1QTEFURSA9ICdjbGllbnQuYmFja29mZi5sb2dnZXIudGVtcGxhdGUnOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgU2V0IHRvIHRydWUgdG8gdXNlIHRoZSBidW5kbGVkIENBIGNlcnQgb3IgcGFzcyB0aGUgZnVsbCBwYXRoIHRvIGFuIFNTTCBjZXJ0aWZpY2F0ZSBidW5kbGUuIFRoaXMKICAgICAqICAgICAgICAgICAgIG9wdGlvbiBzaG91bGQgYmUgbW9kaWZpZWQgd2hlbiB5b3UgZW5jb3VudGVyIGN1cmwgZXJyb3IgY29kZSA2MC4gU2V0IHRvICJzeXN0ZW0iIHRvIHVzZSB0aGUgY2FjZXJ0CiAgICAgKiAgICAgICAgICAgICBidW5kbGUgb24geW91ciBzeXN0ZW0uCiAgICAgKi8KICAgIGNvbnN0IFNTTF9DRVJUID0gJ3NzbC5jZXJ0aWZpY2F0ZV9hdXRob3JpdHknOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgU2VydmljZSBkZXNjcmlwdGlvbiB0byB1c2Ugd2l0aCB0aGUgY2xpZW50CiAgICAgKi8KICAgIGNvbnN0IFNFUlZJQ0VfREVTQ1JJUFRJT04gPSAnc2VydmljZS5kZXNjcmlwdGlvbic7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBXaGV0aGVyIG9yIG5vdCBtb2RlbGVkIHJlc3BvbnNlcyBoYXZlIHRyYW5zZm9ybWF0aW9ucyBhcHBsaWVkIHRvIHRoZW0KICAgICAqLwogICAgY29uc3QgTU9ERUxfUFJPQ0VTU0lORyA9ICdjb21tYW5kLm1vZGVsX3Byb2Nlc3NpbmcnOwoKICAgIC8qKgogICAgICogQHZhciBib29sIFNldCB0byBmYWxzZSB0byBkaXNhYmxlIHZhbGlkYXRpb24KICAgICAqLwogICAgY29uc3QgVkFMSURBVElPTiA9ICd2YWxpZGF0aW9uJzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIEFQSSB2ZXJzaW9uIHVzZWQgYnkgdGhlIGNsaWVudAogICAgICovCiAgICBjb25zdCBWRVJTSU9OID0gJ3ZlcnNpb24nOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Enum/DateFormat.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgZGF0ZSBmb3JtYXQgdmFsdWVzIHVzZWQgaW4gdGhlIFNESwogKi8KY2xhc3MgRGF0ZUZvcm1hdCBleHRlbmRzIEVudW0KewogICAgY29uc3QgSVNPODYwMSAgICA9ICdZbWRcVEhpc1xaJzsKICAgIGNvbnN0IElTTzg2MDFfUzMgPSAnWS1tLWRcVEg6aTpzXFonOwogICAgY29uc3QgUkZDMTEyMyAgICA9ICdELCBkIE0gWSBIOmk6cyBcR1xNXFQnOwogICAgY29uc3QgUkZDMjgyMiAgICA9IFxEYXRlVGltZTo6UkZDMjgyMjsKICAgIGNvbnN0IFNIT1JUICAgICAgPSAnWW1kJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Enum/Region.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgcmVnaW9uIGNvZGUgdmFsdWVzLiBUaGVzZSBzaG91bGQgYmUgdXNlZnVsIGluIG1vc3QgY2FzZXMsCiAqIHdpdGggQW1hem9uIFMzIGJlaW5nIHRoZSBtb3N0IG5vdGFibGUgZXhjZXB0aW9uCiAqCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dlbmVyYWwvbGF0ZXN0L2dyL3JhbmRlLmh0bWwgQVdTIFJlZ2lvbnMgYW5kIEVuZHBvaW50cwogKi8KY2xhc3MgUmVnaW9uIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBVU19FQVNUXzEgICAgICAgICAgID0gJ3VzLWVhc3QtMSc7CiAgICBjb25zdCBWSVJHSU5JQSAgICAgICAgICAgID0gJ3VzLWVhc3QtMSc7CiAgICBjb25zdCBOT1JUSEVSTl9WSVJHSU5JQSAgID0gJ3VzLWVhc3QtMSc7CgogICAgY29uc3QgVVNfV0VTVF8xICAgICAgICAgICA9ICd1cy13ZXN0LTEnOwogICAgY29uc3QgQ0FMSUZPUk5JQSAgICAgICAgICA9ICd1cy13ZXN0LTEnOwogICAgY29uc3QgTk9SVEhFUk5fQ0FMSUZPUk5JQSA9ICd1cy13ZXN0LTEnOwoKICAgIGNvbnN0IFVTX1dFU1RfMiAgICAgICAgICAgPSAndXMtd2VzdC0yJzsKICAgIGNvbnN0IE9SRUdPTiAgICAgICAgICAgICAgPSAndXMtd2VzdC0yJzsKCiAgICBjb25zdCBFVV9XRVNUXzEgICAgICAgICAgID0gJ2V1LXdlc3QtMSc7CiAgICBjb25zdCBJUkVMQU5EICAgICAgICAgICAgID0gJ2V1LXdlc3QtMSc7CgogICAgY29uc3QgQVBfU09VVEhFQVNUXzEgICAgICA9ICdhcC1zb3V0aGVhc3QtMSc7CiAgICBjb25zdCBTSU5HQVBPUkUgICAgICAgICAgID0gJ2FwLXNvdXRoZWFzdC0xJzsKCiAgICBjb25zdCBBUF9TT1VUSEVBU1RfMiAgICAgID0gJ2FwLXNvdXRoZWFzdC0yJzsKICAgIGNvbnN0IFNZRE5FWSAgICAgICAgICAgICAgPSAnYXAtc291dGhlYXN0LTInOwoKICAgIGNvbnN0IEFQX05PUlRIRUFTVF8xICAgICAgPSAnYXAtbm9ydGhlYXN0LTEnOwogICAgY29uc3QgVE9LWU8gICAgICAgICAgICAgICA9ICdhcC1ub3J0aGVhc3QtMSc7CgogICAgY29uc3QgU0FfRUFTVF8xICAgICAgICAgICA9ICdzYS1lYXN0LTEnOwogICAgY29uc3QgU0FPX1BBVUxPICAgICAgICAgICA9ICdzYS1lYXN0LTEnOwoKICAgIGNvbnN0IFVTX0dPVl9XRVNUXzEgICAgICAgPSAndXMtZ292LXdlc3QtMSc7CiAgICBjb25zdCBHT1ZfQ0xPVURfVVMgICAgICAgID0gJ3VzLWdvdi13ZXN0LTEnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Enum/Size.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgYnl0ZS1zaXplIHZhbHVlcwogKi8KY2xhc3MgU2l6ZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgQiAgICAgICAgID0gMTsKICAgIGNvbnN0IEJZVEUgICAgICA9IDE7CiAgICBjb25zdCBCWVRFUyAgICAgPSAxOwoKICAgIGNvbnN0IEtCICAgICAgICA9IDEwMjQ7CiAgICBjb25zdCBLSUxPQllURSAgPSAxMDI0OwogICAgY29uc3QgS0lMT0JZVEVTID0gMTAyNDsKCiAgICBjb25zdCBNQiAgICAgICAgPSAxMDQ4NTc2OwogICAgY29uc3QgTUVHQUJZVEUgID0gMTA0ODU3NjsKICAgIGNvbnN0IE1FR0FCWVRFUyA9IDEwNDg1NzY7CgogICAgY29uc3QgR0IgICAgICAgID0gMTA3Mzc0MTgyNDsKICAgIGNvbnN0IEdJR0FCWVRFICA9IDEwNzM3NDE4MjQ7CiAgICBjb25zdCBHSUdBQllURVMgPSAxMDczNzQxODI0OwoKICAgIGNvbnN0IFRCICAgICAgICA9IDEwOTk1MTE2Mjc3NzY7CiAgICBjb25zdCBURVJBQllURSAgPSAxMDk5NTExNjI3Nzc2OwogICAgY29uc3QgVEVSQUJZVEVTID0gMTA5OTUxMTYyNzc3NjsKCiAgICBjb25zdCBQQiAgICAgICAgPSAxMTI1ODk5OTA2ODQyNjI0OwogICAgY29uc3QgUEVUQUJZVEUgID0gMTEyNTg5OTkwNjg0MjYyNDsKICAgIGNvbnN0IFBFVEFCWVRFUyA9IDExMjU4OTk5MDY4NDI2MjQ7CgogICAgY29uc3QgRUIgICAgICAgID0gMTE1MjkyMTUwNDYwNjg0Njk3NjsKICAgIGNvbnN0IEVYQUJZVEUgICA9IDExNTI5MjE1MDQ2MDY4NDY5NzY7CiAgICBjb25zdCBFWEFCWVRFUyAgPSAxMTUyOTIxNTA0NjA2ODQ2OTc2Owp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Enum/Time.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgdGltZSB2YWx1ZXMKICovCmNsYXNzIFRpbWUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFNFQ09ORCAgPSAxOwogICAgY29uc3QgU0VDT05EUyA9IDE7CgogICAgY29uc3QgTUlOVVRFICA9IDYwOwogICAgY29uc3QgTUlOVVRFUyA9IDYwOwoKICAgIGNvbnN0IEhPVVIgICAgPSAzNjAwOwogICAgY29uc3QgSE9VUlMgICA9IDM2MDA7CgogICAgY29uc3QgREFZICAgICA9IDg2NDAwOwogICAgY29uc3QgREFZUyAgICA9IDg2NDAwOwoKICAgIGNvbnN0IFdFRUsgICAgPSA2MDQ4MDA7CiAgICBjb25zdCBXRUVLUyAgID0gNjA0ODAwOwoKICAgIGNvbnN0IE1PTlRIICAgPSAyNTkyMDAwOwogICAgY29uc3QgTU9OVEhTICA9IDI1OTIwMDA7CgogICAgY29uc3QgWUVBUiAgICA9IDMxNTU3NjAwOwogICAgY29uc3QgWUVBUlMgICA9IDMxNTU3NjAwOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Enum/UaString.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIFVzZXItQWdlbnQgaGVhZGVyIHN0cmluZ3MgZm9yIHZhcmlvdXMgaGlnaCBsZXZlbCBvcGVyYXRpb25zCiAqLwpjbGFzcyBVYVN0cmluZyBleHRlbmRzIEVudW0KewogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBOYW1lIG9mIHRoZSBvcHRpb24gdXNlZCB0byBhZGQgdG8gdGhlIFVBIHN0cmluZwogICAgICovCiAgICBjb25zdCBPUFRJT04gPSAndWEuYXBwZW5kJzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFJlc291cmNlIGl0ZXJhdG9yCiAgICAgKi8KICAgIGNvbnN0IElURVJBVE9SID0gJ0lUUic7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBSZXNvdXJjZSB3YWl0ZXIKICAgICAqLwogICAgY29uc3QgV0FJVEVSID0gJ1dUUic7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBTZXNzaW9uIGhhbmRsZXJzIChlLmcuIEFtYXpvbiBEeW5hbW9EQiBzZXNzaW9uIGhhbmRsZXIpCiAgICAgKi8KICAgIGNvbnN0IFNFU1NJT04gPSAnU0VTJzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIE11bHRpcGFydCB1cGxvYWQgaGVscGVyIGZvciBBbWF6b24gUzMKICAgICAqLwogICAgY29uc3QgTVVMVElQQVJUX1VQTE9BRCA9ICdNVVAnOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgQ29tbWFuZCBleGVjdXRlZCBkdXJpbmcgYSBiYXRjaCB0cmFuc2ZlcgogICAgICovCiAgICBjb25zdCBCQVRDSCA9ICdCQVQnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/AwsExceptionInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCi8qKgogKiAiTWFya2VyIEludGVyZmFjZSIgaW1wbGVtZW50ZWQgYnkgZXZlcnkgZXhjZXB0aW9uIGluIHRoZSBBV1MgU0RLCiAqLwppbnRlcmZhY2UgQXdzRXhjZXB0aW9uSW50ZXJmYWNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb2RlKCk7CiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGluZSgpOwogICAgcHVibGljIGZ1bmN0aW9uIGdldEZpbGUoKTsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRNZXNzYWdlKCk7CiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UHJldmlvdXMoKTsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUcmFjZSgpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/BadMethodCallException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCi8qKgogKiBBV1MgU0RLIG5hbWVzcGFjZWQgdmVyc2lvbiBvZiB0aGUgU1BMIEJhZE1ldGhvZENhbGxFeGNlcHRpb24uCiAqLwpjbGFzcyBCYWRNZXRob2RDYWxsRXhjZXB0aW9uIGV4dGVuZHMgXEJhZE1ldGhvZENhbGxFeGNlcHRpb24gaW1wbGVtZW50cyBBd3NFeGNlcHRpb25JbnRlcmZhY2Uge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/DomainException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCi8qKgogKiBBV1MgU0RLIG5hbWVzcGFjZWQgdmVyc2lvbiBvZiB0aGUgU1BMIERvbWFpbkV4Y2VwdGlvbi4KICovCmNsYXNzIERvbWFpbkV4Y2VwdGlvbiBleHRlbmRzIFxEb21haW5FeGNlcHRpb24gaW1wbGVtZW50cyBBd3NFeGNlcHRpb25JbnRlcmZhY2Uge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/ExceptionFactoryInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwoKLyoqCiAqIEludGVyZmFjZSB1c2VkIHRvIGNyZWF0ZSBBV1MgZXhjZXB0aW9uCiAqLwppbnRlcmZhY2UgRXhjZXB0aW9uRmFjdG9yeUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIFJldHVybnMgYW4gQVdTIHNlcnZpY2Ugc3BlY2lmaWMgZXhjZXB0aW9uCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgIFVuc3VjY2Vzc2Z1bCByZXF1ZXN0CiAgICAgKiBAcGFyYW0gUmVzcG9uc2UgICAgICAgICAkcmVzcG9uc2UgVW5zdWNjZXNzZnVsIHJlc3BvbnNlIHRoYXQgd2FzIGVuY291bnRlcmVkCiAgICAgKgogICAgICogQHJldHVybiBcRXhjZXB0aW9ufEF3c0V4Y2VwdGlvbkludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZnJvbVJlc3BvbnNlKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/ExceptionListener.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50U3Vic2NyaWJlckludGVyZmFjZTsKCi8qKgogKiBDb252ZXJ0cyBnZW5lcmljIEd1enpsZSByZXNwb25zZSBleGNlcHRpb25zIGludG8gQVdTIHNwZWNpZmljIGV4Y2VwdGlvbnMKICovCmNsYXNzIEV4Y2VwdGlvbkxpc3RlbmVyIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQHZhciBFeGNlcHRpb25GYWN0b3J5SW50ZXJmYWNlIEZhY3RvcnkgdXNlZCB0byBjcmVhdGUgbmV3IGV4Y2VwdGlvbnMKICAgICAqLwogICAgcHJvdGVjdGVkICRmYWN0b3J5OwoKICAgIC8qKgogICAgICogQHBhcmFtIEV4Y2VwdGlvbkZhY3RvcnlJbnRlcmZhY2UgJGZhY3RvcnkgRmFjdG9yeSB1c2VkIHRvIGNyZWF0ZSBleGNlcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChFeGNlcHRpb25GYWN0b3J5SW50ZXJmYWNlICRmYWN0b3J5KQogICAgewogICAgICAgICR0aGlzLT5mYWN0b3J5ID0gJGZhY3Rvcnk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KCdyZXF1ZXN0LmVycm9yJyA9PiBhcnJheSgnb25SZXF1ZXN0RXJyb3InLCAtMSkpOwogICAgfQoKICAgIC8qKgogICAgICogVGhyb3dzIGEgbW9yZSBtZWFuaW5nZnVsIHJlcXVlc3QgZXhjZXB0aW9uIGlmIGF2YWlsYWJsZQogICAgICoKICAgICAqIEBwYXJhbSBFdmVudCAkZXZlbnQgRXZlbnQgZW1pdHRlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb25SZXF1ZXN0RXJyb3IoRXZlbnQgJGV2ZW50KQogICAgewogICAgICAgICRlID0gJHRoaXMtPmZhY3RvcnktPmZyb21SZXNwb25zZSgkZXZlbnRbJ3JlcXVlc3QnXSwgJGV2ZW50WydyZXNwb25zZSddKTsKICAgICAgICAkZXZlbnQtPnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIHRocm93ICRlOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/InstanceProfileCredentialsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwoKLyoqCiAqIEV4Y2VwdGlvbiB0aHJvd24gd2hlbiBhbiBlcnJvciBvY2N1cnMgd2l0aCBpbnN0YW5jZSBwcm9maWxlIGNyZWRlbnRpYWxzCiAqLwpjbGFzcyBJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFsc0V4Y2VwdGlvbiBleHRlbmRzIFJ1bnRpbWVFeGNlcHRpb24KewogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgJHN0YXR1c0NvZGU7CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGVycm9yIHJlc3BvbnNlIGNvZGUgcmVjZWl2ZWQgZnJvbSB0aGUgaW5zdGFuY2UgbWV0YWRhdGEKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2RlIFJlc3BvbnNlIGNvZGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFN0YXR1c0NvZGUoJGNvZGUpCiAgICB7CiAgICAgICAgJHRoaXMtPnN0YXR1c0NvZGUgPSAkY29kZTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZXJyb3IgcmVzcG9uc2UgY29kZSBmcm9tIHRoZSBzZXJ2aWNlCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U3RhdHVzQ29kZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zdGF0dXNDb2RlOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/InvalidArgumentException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCi8qKgogKiBBV1MgU0RLIG5hbWVzcGFjZWQgdmVyc2lvbiBvZiB0aGUgU1BMIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbi4KICovCmNsYXNzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBleHRlbmRzIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaW1wbGVtZW50cyBBd3NFeGNlcHRpb25JbnRlcmZhY2Uge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/LogicException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCi8qKgogKiBBV1MgU0RLIG5hbWVzcGFjZWQgdmVyc2lvbiBvZiB0aGUgU1BMIExvZ2ljRXhjZXB0aW9uLgogKi8KY2xhc3MgTG9naWNFeGNlcHRpb24gZXh0ZW5kcyBcTG9naWNFeGNlcHRpb24gaW1wbGVtZW50cyBBd3NFeGNlcHRpb25JbnRlcmZhY2Uge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/MultipartUploadException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxUcmFuc2ZlclN0YXRlSW50ZXJmYWNlOwoKLyoqCiAqIFRocm93biB3aGVuIGEge0BzZWUgQXdzXENvbW1vblxNdWx0aXBhcnRVcGxvYWRcVHJhbnNmZXJJbnRlcmZhY2V9IG9iamVjdCBlbmNvdW50ZXJzIGFuIGVycm9yIGR1cmluZyB0cmFuc2ZlcgogKi8KY2xhc3MgTXVsdGlwYXJ0VXBsb2FkRXhjZXB0aW9uIGV4dGVuZHMgUnVudGltZUV4Y2VwdGlvbgp7CiAgICAvKioKICAgICAqIEB2YXIgVHJhbnNmZXJTdGF0ZUludGVyZmFjZSBTdGF0ZSBvZiB0aGUgdHJhbnNmZXIgd2hlbiB0aGUgZXJyb3Igd2FzIGVuY291bnRlcmVkCiAgICAgKi8KICAgIHByb3RlY3RlZCAkc3RhdGU7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gVHJhbnNmZXJTdGF0ZUludGVyZmFjZSAkc3RhdGUgICAgIFRyYW5zZmVyIHN0YXRlCiAgICAgKiBAcGFyYW0gXEV4Y2VwdGlvbiAgICAgICAgICAgICAkZXhjZXB0aW9uIExhc3QgZW5jb3VudGVyZWQgZXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChUcmFuc2ZlclN0YXRlSW50ZXJmYWNlICRzdGF0ZSwgXEV4Y2VwdGlvbiAkZXhjZXB0aW9uID0gbnVsbCkKICAgIHsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KAogICAgICAgICAgICAnQW4gZXJyb3Igd2FzIGVuY291bnRlcmVkIHdoaWxlIHBlcmZvcm1pbmcgYSBtdWx0aXBhcnQgdXBsb2FkOiAnIC4gJGV4Y2VwdGlvbi0+Z2V0TWVzc2FnZSgpLAogICAgICAgICAgICAwLAogICAgICAgICAgICAkZXhjZXB0aW9uCiAgICAgICAgKTsKCiAgICAgICAgJHRoaXMtPnN0YXRlID0gJHN0YXRlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBzdGF0ZSBvZiB0aGUgdHJhbnNmZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIFRyYW5zZmVyU3RhdGVJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFN0YXRlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnN0YXRlOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/NamespaceExceptionFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXJcRXhjZXB0aW9uUGFyc2VySW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCi8qKgogKiBBdHRlbXB0cyB0byBjcmVhdGUgZXhjZXB0aW9ucyBieSBpbmZlcnJpbmcgdGhlIG5hbWUgZnJvbSB0aGUgY29kZSBhbmQgYSBiYXNlCiAqIG5hbWVzcGFjZSB0aGF0IGNvbnRhaW5zIGV4Y2VwdGlvbnMuICBFeGNlcHRpb24gY2xhc3NlcyBhcmUgZXhwZWN0ZWQgdG8gYmUgaW4KICogdXBwZXIgY2FtZWxDYXNlIGFuZCBhbHdheXMgZW5kIGluICdFeGNlcHRpb24nLiAnRXhjZXB0aW9uJyB3aWxsIGJlIGFwcGVuZGVkCiAqIGlmIGl0IGlzIG5vdCBwcmVzZW50IGluIHRoZSBleGNlcHRpb24gY29kZS4KICovCmNsYXNzIE5hbWVzcGFjZUV4Y2VwdGlvbkZhY3RvcnkgaW1wbGVtZW50cyBFeGNlcHRpb25GYWN0b3J5SW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQHZhciBFeGNlcHRpb25QYXJzZXJJbnRlcmZhY2UgJHBhcnNlciBQYXJzZXIgdXNlZCB0byBwYXJzZSByZXNwb25zZXMKICAgICAqLwogICAgcHJvdGVjdGVkICRwYXJzZXI7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBCYXNlIG5hbWVzcGFjZSBjb250YWluaW5nIGV4Y2VwdGlvbiBjbGFzc2VzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkYmFzZU5hbWVzcGFjZTsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIERlZmF1bHQgY2xhc3MgdG8gaW5zdGFudGlhdGUgaWYgYSBtYXRjaCBpcyBub3QgZm91bmQKICAgICAqLwogICAgcHJvdGVjdGVkICRkZWZhdWx0RXhjZXB0aW9uOwoKICAgIC8qKgogICAgICogQHBhcmFtIEV4Y2VwdGlvblBhcnNlckludGVyZmFjZSAkcGFyc2VyICAgICAgICAgICBQYXJzZXIgdXNlZCB0byBwYXJzZSBleGNlcHRpb25zCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgICAgICRiYXNlTmFtZXNwYWNlICAgIE5hbWVzcGFjZSBjb250YWluaW5nIGV4Y2VwdGlvbnMKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgICAgICAgICAgJGRlZmF1bHRFeGNlcHRpb24gRGVmYXVsdCBjbGFzcyB0byB1c2UgaWYgb25lIGlzIG5vdCBtYXBwZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KAogICAgICAgIEV4Y2VwdGlvblBhcnNlckludGVyZmFjZSAkcGFyc2VyLAogICAgICAgICRiYXNlTmFtZXNwYWNlLAogICAgICAgICRkZWZhdWx0RXhjZXB0aW9uID0gJ0F3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbicKICAgICkgewogICAgICAgICR0aGlzLT5wYXJzZXIgPSAkcGFyc2VyOwogICAgICAgICR0aGlzLT5iYXNlTmFtZXNwYWNlID0gJGJhc2VOYW1lc3BhY2U7CiAgICAgICAgJHRoaXMtPmRlZmF1bHRFeGNlcHRpb24gPSAkZGVmYXVsdEV4Y2VwdGlvbjsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGZyb21SZXNwb25zZShSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBSZXNwb25zZSAkcmVzcG9uc2UpCiAgICB7CiAgICAgICAgJHBhcnRzID0gJHRoaXMtPnBhcnNlci0+cGFyc2UoJHJlcXVlc3QsICRyZXNwb25zZSk7CgogICAgICAgIC8vIFJlbW92aW5nIGxlYWRpbmcgJ0FXUy4nIGFuZCBlbWJlZGRlZCBwZXJpb2RzCiAgICAgICAgJGNsYXNzTmFtZSA9ICR0aGlzLT5iYXNlTmFtZXNwYWNlIC4gJ1xcJyAuIHN0cl9yZXBsYWNlKGFycmF5KCdBV1MuJywgJy4nKSwgJycsICRwYXJ0c1snY29kZSddKTsKICAgICAgICBpZiAoc3Vic3RyKCRjbGFzc05hbWUsIC05KSAhPT0gJ0V4Y2VwdGlvbicpIHsKICAgICAgICAgICAgJGNsYXNzTmFtZSAuPSAnRXhjZXB0aW9uJzsKICAgICAgICB9CgogICAgICAgICRjbGFzc05hbWUgPSBjbGFzc19leGlzdHMoJGNsYXNzTmFtZSkgPyAkY2xhc3NOYW1lIDogJHRoaXMtPmRlZmF1bHRFeGNlcHRpb247CgogICAgICAgIHJldHVybiAkdGhpcy0+Y3JlYXRlRXhjZXB0aW9uKCRjbGFzc05hbWUsICRyZXF1ZXN0LCAkcmVzcG9uc2UsICRwYXJ0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYW4gcHJlcGFyZSBhbiBleGNlcHRpb24gb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgJGNsYXNzTmFtZSBOYW1lIG9mIHRoZSBjbGFzcyB0byBjcmVhdGUKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0ICAgUmVxdWVzdAogICAgICogQHBhcmFtIFJlc3BvbnNlICAgICAgICAgJHJlc3BvbnNlICBSZXNwb25zZSByZWNlaXZlZAogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgJHBhcnRzICAgICBQYXJzZWQgZXhjZXB0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIFxFeGNlcHRpb24KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNyZWF0ZUV4Y2VwdGlvbigkY2xhc3NOYW1lLCBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBSZXNwb25zZSAkcmVzcG9uc2UsIGFycmF5ICRwYXJ0cykKICAgIHsKICAgICAgICAkY2xhc3MgPSBuZXcgJGNsYXNzTmFtZSgkcGFydHNbJ21lc3NhZ2UnXSk7CgogICAgICAgIGlmICgkY2xhc3MgaW5zdGFuY2VvZiBTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb24pIHsKICAgICAgICAgICAgJGNsYXNzLT5zZXRFeGNlcHRpb25Db2RlKCRwYXJ0c1snY29kZSddKTsKICAgICAgICAgICAgJGNsYXNzLT5zZXRFeGNlcHRpb25UeXBlKCRwYXJ0c1sndHlwZSddKTsKICAgICAgICAgICAgJGNsYXNzLT5zZXRSZXNwb25zZSgkcmVzcG9uc2UpOwogICAgICAgICAgICAkY2xhc3MtPnNldFJlcXVlc3QoJHJlcXVlc3QpOwogICAgICAgICAgICAkY2xhc3MtPnNldFJlcXVlc3RJZCgkcGFydHNbJ3JlcXVlc3RfaWQnXSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGNsYXNzOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/OutOfBoundsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCi8qKgogKiBBV1MgU0RLIG5hbWVzcGFjZWQgdmVyc2lvbiBvZiB0aGUgU1BMIE92ZXJmbG93RXhjZXB0aW9uLgogKi8KY2xhc3MgT3V0T2ZCb3VuZHNFeGNlcHRpb24gZXh0ZW5kcyBcT3V0T2ZCb3VuZHNFeGNlcHRpb24gaW1wbGVtZW50cyBBd3NFeGNlcHRpb25JbnRlcmZhY2Uge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/OverflowException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCi8qKgogKiBBV1MgU0RLIG5hbWVzcGFjZWQgdmVyc2lvbiBvZiB0aGUgU1BMIE92ZXJmbG93RXhjZXB0aW9uLgogKi8KY2xhc3MgT3ZlcmZsb3dFeGNlcHRpb24gZXh0ZW5kcyBcT3ZlcmZsb3dFeGNlcHRpb24gaW1wbGVtZW50cyBBd3NFeGNlcHRpb25JbnRlcmZhY2Uge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/Parser/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/Parser/AbstractJsonExceptionParser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXI7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCi8qKgogKiBQYXJzZXMgSlNPTiBlbmNvZGVkIGV4Y2VwdGlvbiByZXNwb25zZXMKICovCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0SnNvbkV4Y2VwdGlvblBhcnNlciBpbXBsZW1lbnRzIEV4Y2VwdGlvblBhcnNlckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHBhcnNlKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSkKICAgIHsKICAgICAgICAvLyBCdWlsZCBhcnJheSBvZiBkZWZhdWx0IGVycm9yIGRhdGEKICAgICAgICAkZGF0YSA9IGFycmF5KAogICAgICAgICAgICAnY29kZScgICAgICAgPT4gbnVsbCwKICAgICAgICAgICAgJ21lc3NhZ2UnICAgID0+IG51bGwsCiAgICAgICAgICAgICd0eXBlJyAgICAgICA9PiAkcmVzcG9uc2UtPmlzQ2xpZW50RXJyb3IoKSA/ICdjbGllbnQnIDogJ3NlcnZlcicsCiAgICAgICAgICAgICdyZXF1ZXN0X2lkJyA9PiAoc3RyaW5nKSAkcmVzcG9uc2UtPmdldEhlYWRlcigneC1hbXpuLVJlcXVlc3RJZCcpLAogICAgICAgICAgICAncGFyc2VkJyAgICAgPT4gbnVsbAogICAgICAgICk7CgogICAgICAgIC8vIFBhcnNlIHRoZSBqc29uIGFuZCBub3JtYWxpemUga2V5IGNhc2luZ3MKICAgICAgICBpZiAobnVsbCAhPT0gJGpzb24gPSBqc29uX2RlY29kZSgkcmVzcG9uc2UtPmdldEJvZHkodHJ1ZSksIHRydWUpKSB7CiAgICAgICAgICAgICRkYXRhWydwYXJzZWQnXSA9IGFycmF5X2NoYW5nZV9rZXlfY2FzZSgkanNvbik7CiAgICAgICAgfQoKICAgICAgICAvLyBEbyBhZGRpdGlvbmFsLCBwcm90b2NvbC1zcGVjaWZpYyBwYXJzaW5nIGFuZCByZXR1cm4gdGhlIHJlc3VsdAogICAgICAgICRkYXRhID0gJHRoaXMtPmRvUGFyc2UoJGRhdGEsICRyZXNwb25zZSk7CgogICAgICAgIC8vIFJlbW92ZSAiRmF1bHQiIHN1ZmZpeCBmcm9tIGV4Y2VwdGlvbiBuYW1lcwogICAgICAgIGlmIChpc3NldCgkZGF0YVsnY29kZSddKSAmJiBzdHJwb3MoJGRhdGFbJ2NvZGUnXSwgJ0ZhdWx0JykpIHsKICAgICAgICAgICAgJGRhdGFbJ2NvZGUnXSA9IHByZWdfcmVwbGFjZSgnL14oW2EtekEtWl0rKUZhdWx0JC8nLCAnJDEnLCAkZGF0YVsnY29kZSddKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KCiAgICAvKioKICAgICAqIFB1bGwgcmVsZXZhbnQgZXhjZXB0aW9uIGRhdGEgb3V0IG9mIHRoZSBwYXJzZWQganNvbgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAgICAkZGF0YSAgICAgVGhlIGV4Y2VwdGlvbiBkYXRhCiAgICAgKiBAcGFyYW0gUmVzcG9uc2UgJHJlc3BvbnNlIFRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2aWNlIGNvbnRhaW5pbmcgdGhlIGVycm9yCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBhYnN0cmFjdCBwcm90ZWN0ZWQgZnVuY3Rpb24gZG9QYXJzZShhcnJheSAkZGF0YSwgUmVzcG9uc2UgJHJlc3BvbnNlKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/Parser/DefaultXmlExceptionParser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXI7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCi8qKgogKiBQYXJzZXMgZGVmYXVsdCBYTUwgZXhjZXB0aW9uIHJlc3BvbnNlcwogKi8KY2xhc3MgRGVmYXVsdFhtbEV4Y2VwdGlvblBhcnNlciBpbXBsZW1lbnRzIEV4Y2VwdGlvblBhcnNlckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHBhcnNlKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSkKICAgIHsKICAgICAgICAkZGF0YSA9IGFycmF5KAogICAgICAgICAgICAnY29kZScgICAgICAgPT4gbnVsbCwKICAgICAgICAgICAgJ21lc3NhZ2UnICAgID0+IG51bGwsCiAgICAgICAgICAgICd0eXBlJyAgICAgICA9PiAkcmVzcG9uc2UtPmlzQ2xpZW50RXJyb3IoKSA/ICdjbGllbnQnIDogJ3NlcnZlcicsCiAgICAgICAgICAgICdyZXF1ZXN0X2lkJyA9PiBudWxsLAogICAgICAgICAgICAncGFyc2VkJyAgICAgPT4gbnVsbAogICAgICAgICk7CgogICAgICAgIGlmICgkYm9keSA9ICRyZXNwb25zZS0+Z2V0Qm9keSh0cnVlKSkgewogICAgICAgICAgICAkdGhpcy0+cGFyc2VCb2R5KG5ldyBcU2ltcGxlWE1MRWxlbWVudCgkYm9keSksICRkYXRhKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+cGFyc2VIZWFkZXJzKCRyZXF1ZXN0LCAkcmVzcG9uc2UsICRkYXRhKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KCiAgICAvKioKICAgICAqIFBhcnNlcyBhZGRpdGlvbmFsIGV4Y2VwdGlvbiBpbmZvcm1hdGlvbiBmcm9tIHRoZSByZXNwb25zZSBoZWFkZXJzCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgIFJlcXVlc3QgdGhhdCB3YXMgaXNzdWVkCiAgICAgKiBAcGFyYW0gUmVzcG9uc2UgICAgICAgICAkcmVzcG9uc2UgVGhlIHJlc3BvbnNlIGZyb20gdGhlIHJlcXVlc3QKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICRkYXRhICAgICBUaGUgY3VycmVudCBzZXQgb2YgZXhjZXB0aW9uIGRhdGEKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHBhcnNlSGVhZGVycyhSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBSZXNwb25zZSAkcmVzcG9uc2UsIGFycmF5ICYkZGF0YSkKICAgIHsKICAgICAgICAkZGF0YVsnbWVzc2FnZSddID0gJHJlc3BvbnNlLT5nZXRTdGF0dXNDb2RlKCkgLiAnICcgLiAkcmVzcG9uc2UtPmdldFJlYXNvblBocmFzZSgpOwogICAgICAgIGlmICgkcmVxdWVzdElkID0gJHJlc3BvbnNlLT5nZXRIZWFkZXIoJ3gtYW16LXJlcXVlc3QtaWQnKSkgewogICAgICAgICAgICAkZGF0YVsncmVxdWVzdF9pZCddID0gJHJlcXVlc3RJZDsKICAgICAgICAgICAgJGRhdGFbJ21lc3NhZ2UnXSAuPSAiIChSZXF1ZXN0LUlEOiAkcmVxdWVzdElkKSI7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUGFyc2VzIGFkZGl0aW9uYWwgZXhjZXB0aW9uIGluZm9ybWF0aW9uIGZyb20gdGhlIHJlc3BvbnNlIGJvZHkKICAgICAqCiAgICAgKiBAcGFyYW0gXFNpbXBsZVhNTEVsZW1lbnQgJGJvZHkgVGhlIHJlc3BvbnNlIGJvZHkgYXMgWE1MCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICAgJGRhdGEgVGhlIGN1cnJlbnQgc2V0IG9mIGV4Y2VwdGlvbiBkYXRhCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBwYXJzZUJvZHkoXFNpbXBsZVhNTEVsZW1lbnQgJGJvZHksIGFycmF5ICYkZGF0YSkKICAgIHsKICAgICAgICAkZGF0YVsncGFyc2VkJ10gPSAkYm9keTsKCiAgICAgICAgJG5hbWVzcGFjZXMgPSAkYm9keS0+Z2V0RG9jTmFtZXNwYWNlcygpOwogICAgICAgIGlmIChpc3NldCgkbmFtZXNwYWNlc1snJ10pKSB7CiAgICAgICAgICAgIC8vIEFjY291bnQgZm9yIHRoZSBkZWZhdWx0IG5hbWVzcGFjZSBiZWluZyBkZWZpbmVkIGFuZCBQSFAgbm90IGJlaW5nIGFibGUgdG8gaGFuZGxlIGl0IDooCiAgICAgICAgICAgICRib2R5LT5yZWdpc3RlclhQYXRoTmFtZXNwYWNlKCducycsICRuYW1lc3BhY2VzWycnXSk7CiAgICAgICAgICAgICRwcmVmaXggPSAnbnM6JzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkcHJlZml4ID0gJyc7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRlbXBYbWwgPSAkYm9keS0+eHBhdGgoIi8veyRwcmVmaXh9Q29kZVsxXSIpKSB7CiAgICAgICAgICAgICRkYXRhWydjb2RlJ10gPSAoc3RyaW5nKSAkdGVtcFhtbFswXTsKICAgICAgICB9CgogICAgICAgIGlmICgkdGVtcFhtbCA9ICRib2R5LT54cGF0aCgiLy97JHByZWZpeH1NZXNzYWdlWzFdIikpIHsKICAgICAgICAgICAgJGRhdGFbJ21lc3NhZ2UnXSA9IChzdHJpbmcpICR0ZW1wWG1sWzBdOwogICAgICAgIH0KCiAgICAgICAgJHRlbXBYbWwgPSAkYm9keS0+eHBhdGgoIi8veyRwcmVmaXh9UmVxdWVzdElkWzFdIik7CiAgICAgICAgaWYgKGVtcHR5KCR0ZW1wWG1sKSkgewogICAgICAgICAgICAkdGVtcFhtbCA9ICRib2R5LT54cGF0aCgiLy97JHByZWZpeH1SZXF1ZXN0SURbMV0iKTsKICAgICAgICB9CiAgICAgICAgaWYgKGlzc2V0KCR0ZW1wWG1sWzBdKSkgewogICAgICAgICAgICAkZGF0YVsncmVxdWVzdF9pZCddID0gKHN0cmluZykgJHRlbXBYbWxbMF07CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/Parser/ExceptionParserInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXI7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCi8qKgogKiBJbnRlcmZhY2UgdXNlZCB0byBwYXJzZSBleGNlcHRpb25zIGludG8gYW4gYXNzb2NpYXRpdmUgYXJyYXkgb2YgZGF0YQogKi8KaW50ZXJmYWNlIEV4Y2VwdGlvblBhcnNlckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIFBhcnNlcyBhbiBleGNlcHRpb24gaW50byBhbiBhcnJheSBvZiBkYXRhIGNvbnRhaW5pbmcgYXQgbWluaW11bSB0aGUKICAgICAqIGZvbGxvd2luZyBhcnJheSBrZXlzOgogICAgICogLSB0eXBlOiAgICAgICBFeGNlcHRpb24gdHlwZQogICAgICogLSBjb2RlOiAgICAgICBFeGNlcHRpb24gY29kZQogICAgICogLSBtZXNzYWdlOiAgICBFeGNlcHRpb24gbWVzc2FnZQogICAgICogLSByZXF1ZXN0X2lkOiBSZXF1ZXN0IElECiAgICAgKiAtIHBhcnNlZDogICAgIFRoZSBwYXJzZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGRhdGEgKGFycmF5LCBTaW1wbGVYTUxFbGVtZW50LCBldGMpCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QKICAgICAqIEBwYXJhbSBSZXNwb25zZSAgICAgICAgICRyZXNwb25zZSBVbnN1Y2Nlc3NmdWwgcmVzcG9uc2UKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwYXJzZShSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBSZXNwb25zZSAkcmVzcG9uc2UpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/Parser/JsonQueryExceptionParser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXI7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCi8qKgogKiBQYXJzZXMgSlNPTiBlbmNvZGVkIGV4Y2VwdGlvbiByZXNwb25zZXMgZnJvbSBxdWVyeSBzZXJ2aWNlcwogKi8KY2xhc3MgSnNvblF1ZXJ5RXhjZXB0aW9uUGFyc2VyIGV4dGVuZHMgQWJzdHJhY3RKc29uRXhjZXB0aW9uUGFyc2VyCnsKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZG9QYXJzZShhcnJheSAkZGF0YSwgUmVzcG9uc2UgJHJlc3BvbnNlKQogICAgewogICAgICAgIGlmICgkanNvbiA9ICRkYXRhWydwYXJzZWQnXSkgewogICAgICAgICAgICAkcGFydHMgPSBleHBsb2RlKCcjJywgJGpzb25bJ19fdHlwZSddKTsKICAgICAgICAgICAgJGRhdGFbJ2NvZGUnXSA9IGlzc2V0KCRwYXJ0c1sxXSkgPyAkcGFydHNbMV0gOiAkcGFydHNbMF07CiAgICAgICAgICAgICRkYXRhWydtZXNzYWdlJ10gPSBpc3NldCgkanNvblsnbWVzc2FnZSddKSA/ICRqc29uWydtZXNzYWdlJ10gOiBudWxsOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRkYXRhOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/Parser/JsonRestExceptionParser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXI7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCi8qKgogKiBQYXJzZXMgSlNPTiBlbmNvZGVkIGV4Y2VwdGlvbiByZXNwb25zZXMgZnJvbSBSRVNUIHNlcnZpY2VzCiAqLwpjbGFzcyBKc29uUmVzdEV4Y2VwdGlvblBhcnNlciBleHRlbmRzIEFic3RyYWN0SnNvbkV4Y2VwdGlvblBhcnNlcgp7CiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGRvUGFyc2UoYXJyYXkgJGRhdGEsIFJlc3BvbnNlICRyZXNwb25zZSkKICAgIHsKICAgICAgICAvLyBNZXJnZSBpbiBlcnJvciBkYXRhIGZyb20gdGhlIEpTT04gYm9keQogICAgICAgIGlmICgkanNvbiA9ICRkYXRhWydwYXJzZWQnXSkgewogICAgICAgICAgICAkZGF0YSA9IGFycmF5X3JlcGxhY2UoJGRhdGEsICRqc29uKTsKICAgICAgICB9CgogICAgICAgIC8vIENvcnJlY3QgZXJyb3IgdHlwZSBmcm9tIHNlcnZpY2VzIGxpa2UgQW1hem9uIEdsYWNpZXIKICAgICAgICBpZiAoIWVtcHR5KCRkYXRhWyd0eXBlJ10pKSB7CiAgICAgICAgICAgICRkYXRhWyd0eXBlJ10gPSBzdHJ0b2xvd2VyKCRkYXRhWyd0eXBlJ10pOwogICAgICAgIH0KCiAgICAgICAgLy8gUmV0cmlldmUgdGhlIGVycm9yIGNvZGUgZnJvbSBzZXJ2aWNlcyBsaWtlIEFtYXpvbiBFbGFzdGljIFRyYW5zY29kZXIKICAgICAgICBpZiAoJGNvZGUgPSAoc3RyaW5nKSAkcmVzcG9uc2UtPmdldEhlYWRlcigneC1hbXpuLUVycm9yVHlwZScpKSB7CiAgICAgICAgICAgICRkYXRhWydjb2RlJ10gPSBzdWJzdHIoJGNvZGUsIDAsIHN0cnBvcygkY29kZSwgJzonKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGRhdGE7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/RequiredExtensionNotLoadedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCi8qKgogKiBUaHJvd24gd2hlbiBhIHBhcnRpY3VsYXIgUEhQIGV4dGVuc2lvbiBpcyByZXF1aXJlZCB0byBleGVjdXRlIHRoZSBndWFyZGVkIGxvZ2ljLCBidXQgdGhlIGV4dGVuc2lvbiBpcyBub3QgbG9hZGVkCiAqLwpjbGFzcyBSZXF1aXJlZEV4dGVuc2lvbk5vdExvYWRlZEV4Y2VwdGlvbiBleHRlbmRzIFJ1bnRpbWVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/RuntimeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCi8qKgogKiBBV1MgU0RLIG5hbWVzcGFjZWQgdmVyc2lvbiBvZiB0aGUgU1BMIFJ1bnRpbWVFeGNlcHRpb24uCiAqLwpjbGFzcyBSdW50aW1lRXhjZXB0aW9uIGV4dGVuZHMgXFJ1bnRpbWVFeGNlcHRpb24gaW1wbGVtZW50cyBBd3NFeGNlcHRpb25JbnRlcmZhY2Uge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/ServiceResponseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwoKLyoqCiAqIERlZmF1bHQgQVdTIGV4Y2VwdGlvbgogKi8KY2xhc3MgU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uIGV4dGVuZHMgUnVudGltZUV4Y2VwdGlvbgp7CiAgICAvKioKICAgICAqIEB2YXIgUmVzcG9uc2UgUmVzcG9uc2UKICAgICAqLwogICAgcHJvdGVjdGVkICRyZXNwb25zZTsKCiAgICAvKioKICAgICAqIEB2YXIgUmVxdWVzdEludGVyZmFjZSBSZXF1ZXN0CiAgICAgKi8KICAgIHByb3RlY3RlZCAkcmVxdWVzdDsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFJlcXVlc3QgSUQKICAgICAqLwogICAgcHJvdGVjdGVkICRyZXF1ZXN0SWQ7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBFeGNlcHRpb24gdHlwZSAoY2xpZW50IC8gc2VydmVyKQogICAgICovCiAgICBwcm90ZWN0ZWQgJGV4Y2VwdGlvblR5cGU7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBFeGNlcHRpb24gY29kZQogICAgICovCiAgICBwcm90ZWN0ZWQgJGV4Y2VwdGlvbkNvZGU7CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGV4Y2VwdGlvbiBjb2RlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkY29kZSBFeGNlcHRpb24gY29kZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RXhjZXB0aW9uQ29kZSgkY29kZSkKICAgIHsKICAgICAgICAkdGhpcy0+ZXhjZXB0aW9uQ29kZSA9ICRjb2RlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBleGNlcHRpb24gY29kZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEV4Y2VwdGlvbkNvZGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZXhjZXB0aW9uQ29kZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgZXhjZXB0aW9uIHR5cGUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0eXBlIEV4Y2VwdGlvbiB0eXBlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRFeGNlcHRpb25UeXBlKCR0eXBlKQogICAgewogICAgICAgICR0aGlzLT5leGNlcHRpb25UeXBlID0gJHR5cGU7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGV4Y2VwdGlvbiB0eXBlIChvbmUgb2YgY2xpZW50IG9yIHNlcnZlcikKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFeGNlcHRpb25UeXBlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmV4Y2VwdGlvblR5cGU7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHJlcXVlc3QgSUQKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRpZCBSZXF1ZXN0IElECiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRSZXF1ZXN0SWQoJGlkKQogICAgewogICAgICAgICR0aGlzLT5yZXF1ZXN0SWQgPSAkaWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIFJlcXVlc3QgSUQKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXF1ZXN0SWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVxdWVzdElkOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBhc3NvY2lhdGVkIHJlc3BvbnNlCiAgICAgKgogICAgICogQHBhcmFtIFJlc3BvbnNlICRyZXNwb25zZSBSZXNwb25zZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UmVzcG9uc2UoUmVzcG9uc2UgJHJlc3BvbnNlKQogICAgewogICAgICAgICR0aGlzLT5yZXNwb25zZSA9ICRyZXNwb25zZTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgYXNzb2NpYXRlZCByZXNwb25zZSBvYmplY3QKICAgICAqCiAgICAgKiBAcmV0dXJuIFJlc3BvbnNlfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlc3BvbnNlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlc3BvbnNlOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBhc3NvY2lhdGVkIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UmVxdWVzdChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgICR0aGlzLT5yZXF1ZXN0ID0gJHJlcXVlc3Q7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGFzc29jaWF0ZWQgcmVxdWVzdCBvYmplY3QKICAgICAqCiAgICAgKiBAcmV0dXJuIFJlcXVlc3RJbnRlcmZhY2V8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVxdWVzdCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXF1ZXN0OwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBzdGF0dXMgY29kZSBvZiB0aGUgcmVzcG9uc2UKICAgICAqCiAgICAgKiBAcmV0dXJuIGludHxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTdGF0dXNDb2RlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlc3BvbnNlID8gJHRoaXMtPnJlc3BvbnNlLT5nZXRTdGF0dXNDb2RlKCkgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogQ2FzdCB0byBhIHN0cmluZwogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkKICAgIHsKICAgICAgICAkbWVzc2FnZSA9IGdldF9jbGFzcygkdGhpcykgLiAnOiAnCiAgICAgICAgICAgIC4gJ0FXUyBFcnJvciBDb2RlOiAnIC4gJHRoaXMtPmdldEV4Y2VwdGlvbkNvZGUoKSAuICcsICcKICAgICAgICAgICAgLiAnU3RhdHVzIENvZGU6ICcgLiAkdGhpcy0+Z2V0U3RhdHVzQ29kZSgpIC4gJywgJwogICAgICAgICAgICAuICdBV1MgUmVxdWVzdCBJRDogJyAuICR0aGlzLT5nZXRSZXF1ZXN0SWQoKSAuICcsICcKICAgICAgICAgICAgLiAnQVdTIEVycm9yIFR5cGU6ICcgLiAkdGhpcy0+Z2V0RXhjZXB0aW9uVHlwZSgpIC4gJywgJwogICAgICAgICAgICAuICdBV1MgRXJyb3IgTWVzc2FnZTogJyAuICR0aGlzLT5nZXRNZXNzYWdlKCk7CgogICAgICAgIC8vIEFkZCB0aGUgVXNlci1BZ2VudCBpZiBhdmFpbGFibGUKICAgICAgICBpZiAoJHRoaXMtPnJlcXVlc3QpIHsKICAgICAgICAgICAgJG1lc3NhZ2UgLj0gJywgJyAuICdVc2VyLUFnZW50OiAnIC4gJHRoaXMtPnJlcXVlc3QtPmdldEhlYWRlcignVXNlci1BZ2VudCcpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRtZXNzYWdlOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/TransferException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCnVzZSBHdXp6bGVcSHR0cFxFeGNlcHRpb25cQ3VybEV4Y2VwdGlvbjsKCi8qKgogKiBUcmFuc2ZlciByZXF1ZXN0IGV4Y2VwdGlvbgogKi8KY2xhc3MgVHJhbnNmZXJFeGNlcHRpb24gZXh0ZW5kcyBDdXJsRXhjZXB0aW9uIGltcGxlbWVudHMgQXdzRXhjZXB0aW9uSW50ZXJmYWNlIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Exception/UnexpectedValueException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEV4Y2VwdGlvbjsKCi8qKgogKiBBV1MgU0RLIG5hbWVzcGFjZWQgdmVyc2lvbiBvZiB0aGUgU1BMIFVuZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlvbi4KICovCmNsYXNzIFVuZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlvbiBleHRlbmRzIFxVbmV4cGVjdGVkVmFsdWVFeGNlcHRpb24gaW1wbGVtZW50cyBBd3NFeGNlcHRpb25JbnRlcmZhY2Uge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Facade/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Facade/facade-classes.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEZhY2FkZTsKCi8qKgogKiBUaGUgZm9sbG93aW5nIGNsYXNzZXMgYXJlIHVzZWQgdG8gaW1wbGVtZW50IHRoZSBzdGF0aWMgY2xpZW50IGZhY2FkZXMgYW5kIGFyZSBhbGlhc2VkIGludG8gdGhlIGdsb2JhbCBuYW1lc3BhY2VkLiBXZQogKiBkaXNjb3VyYWdlIHRoZSB1c2Ugb2YgdGhlc2UgY2xhc3NlcyBkaXJlY3RseSBieSB0aGVpciBmdWxsIG5hbWVzcGFjZSBzaW5jZSB0aGV5IGFyZSBub3QgYXV0b2xvYWRlZCBhbmQgYXJlIGNvbnNpZGVyZWQKICogYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsIHRoYXQgY291bGQgcG9zc2libHkgYmUgY2hhbmdlZCBpbiB0aGUgZnV0dXJlLgogKi8KCi8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVTdGFydAoKY2xhc3MgQXV0b1NjYWxpbmcgZXh0ZW5kcyBGYWNhZGUKewogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTZXJ2aWNlQnVpbGRlcktleSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdhdXRvc2NhbGluZyc7CiAgICB9Cn0KCmNsYXNzIENsb3VkRm9ybWF0aW9uIGV4dGVuZHMgRmFjYWRlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXJLZXkoKQogICAgewogICAgICAgIHJldHVybiAnY2xvdWRmb3JtYXRpb24nOwogICAgfQp9CgpjbGFzcyBDbG91ZEZyb250IGV4dGVuZHMgRmFjYWRlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXJLZXkoKQogICAgewogICAgICAgIHJldHVybiAnY2xvdWRmcm9udCc7CiAgICB9Cn0KCmNsYXNzIENsb3VkU2VhcmNoIGV4dGVuZHMgRmFjYWRlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXJLZXkoKQogICAgewogICAgICAgIHJldHVybiAnY2xvdWRzZWFyY2gnOwogICAgfQp9CgpjbGFzcyBDbG91ZFRyYWlsIGV4dGVuZHMgRmFjYWRlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXJLZXkoKQogICAgewogICAgICAgIHJldHVybiAnY2xvdWR0cmFpbCc7CiAgICB9Cn0KCmNsYXNzIENsb3VkV2F0Y2ggZXh0ZW5kcyBGYWNhZGUKewogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTZXJ2aWNlQnVpbGRlcktleSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdjbG91ZHdhdGNoJzsKICAgIH0KfQoKY2xhc3MgRGF0YVBpcGVsaW5lIGV4dGVuZHMgRmFjYWRlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXJLZXkoKQogICAgewogICAgICAgIHJldHVybiAnZGF0YXBpcGVsaW5lJzsKICAgIH0KfQoKY2xhc3MgRGlyZWN0Q29ubmVjdCBleHRlbmRzIEZhY2FkZQp7CiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFNlcnZpY2VCdWlsZGVyS2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJ2RpcmVjdGNvbm5lY3QnOwogICAgfQp9CgpjbGFzcyBEeW5hbW9EYiBleHRlbmRzIEZhY2FkZQp7CiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFNlcnZpY2VCdWlsZGVyS2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJ2R5bmFtb2RiJzsKICAgIH0KfQoKY2xhc3MgRWMyIGV4dGVuZHMgRmFjYWRlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXJLZXkoKQogICAgewogICAgICAgIHJldHVybiAnZWMyJzsKICAgIH0KfQoKY2xhc3MgRWxhc3RpQ2FjaGUgZXh0ZW5kcyBGYWNhZGUKewogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTZXJ2aWNlQnVpbGRlcktleSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdlbGFzdGljYWNoZSc7CiAgICB9Cn0KCmNsYXNzIEVsYXN0aWNCZWFuc3RhbGsgZXh0ZW5kcyBGYWNhZGUKewogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTZXJ2aWNlQnVpbGRlcktleSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdlbGFzdGljYmVhbnN0YWxrJzsKICAgIH0KfQoKY2xhc3MgRWxhc3RpY0xvYWRCYWxhbmNpbmcgZXh0ZW5kcyBGYWNhZGUKewogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTZXJ2aWNlQnVpbGRlcktleSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdlbGFzdGljbG9hZGJhbGFuY2luZyc7CiAgICB9Cn0KCmNsYXNzIEVsYXN0aWNUcmFuc2NvZGVyIGV4dGVuZHMgRmFjYWRlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXJLZXkoKQogICAgewogICAgICAgIHJldHVybiAnZWxhc3RpY3RyYW5zY29kZXInOwogICAgfQp9CgpjbGFzcyBFbXIgZXh0ZW5kcyBGYWNhZGUKewogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTZXJ2aWNlQnVpbGRlcktleSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdlbXInOwogICAgfQp9CgpjbGFzcyBHbGFjaWVyIGV4dGVuZHMgRmFjYWRlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXJLZXkoKQogICAgewogICAgICAgIHJldHVybiAnZ2xhY2llcic7CiAgICB9Cn0KCmNsYXNzIElhbSBleHRlbmRzIEZhY2FkZQp7CiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFNlcnZpY2VCdWlsZGVyS2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJ2lhbSc7CiAgICB9Cn0KCmNsYXNzIEltcG9ydEV4cG9ydCBleHRlbmRzIEZhY2FkZQp7CiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFNlcnZpY2VCdWlsZGVyS2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJ2ltcG9ydGV4cG9ydCc7CiAgICB9Cn0KCmNsYXNzIEtpbmVzaXMgZXh0ZW5kcyBGYWNhZGUKewogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTZXJ2aWNlQnVpbGRlcktleSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdraW5lc2lzJzsKICAgIH0KfQoKY2xhc3MgT3BzV29ya3MgZXh0ZW5kcyBGYWNhZGUKewogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTZXJ2aWNlQnVpbGRlcktleSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdvcHN3b3Jrcyc7CiAgICB9Cn0KCmNsYXNzIFJkcyBleHRlbmRzIEZhY2FkZQp7CiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFNlcnZpY2VCdWlsZGVyS2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJ3Jkcyc7CiAgICB9Cn0KCmNsYXNzIFJlZHNoaWZ0IGV4dGVuZHMgRmFjYWRlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXJLZXkoKQogICAgewogICAgICAgIHJldHVybiAncmVkc2hpZnQnOwogICAgfQp9CgpjbGFzcyBSb3V0ZTUzIGV4dGVuZHMgRmFjYWRlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXJLZXkoKQogICAgewogICAgICAgIHJldHVybiAncm91dGU1Myc7CiAgICB9Cn0KCmNsYXNzIFMzIGV4dGVuZHMgRmFjYWRlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXJLZXkoKQogICAgewogICAgICAgIHJldHVybiAnczMnOwogICAgfQp9CgpjbGFzcyBTaW1wbGVEYiBleHRlbmRzIEZhY2FkZQp7CiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFNlcnZpY2VCdWlsZGVyS2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJ3NkYic7CiAgICB9Cn0KCmNsYXNzIFNlcyBleHRlbmRzIEZhY2FkZQp7CiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFNlcnZpY2VCdWlsZGVyS2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJ3Nlcyc7CiAgICB9Cn0KCmNsYXNzIFNucyBleHRlbmRzIEZhY2FkZQp7CiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFNlcnZpY2VCdWlsZGVyS2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJ3Nucyc7CiAgICB9Cn0KCmNsYXNzIFNxcyBleHRlbmRzIEZhY2FkZQp7CiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFNlcnZpY2VCdWlsZGVyS2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJ3Nxcyc7CiAgICB9Cn0KCmNsYXNzIFN0b3JhZ2VHYXRld2F5IGV4dGVuZHMgRmFjYWRlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXJLZXkoKQogICAgewogICAgICAgIHJldHVybiAnc3RvcmFnZWdhdGV3YXknOwogICAgfQp9CgpjbGFzcyBTdHMgZXh0ZW5kcyBGYWNhZGUKewogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTZXJ2aWNlQnVpbGRlcktleSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdzdHMnOwogICAgfQp9CgpjbGFzcyBTdXBwb3J0IGV4dGVuZHMgRmFjYWRlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXJLZXkoKQogICAgewogICAgICAgIHJldHVybiAnc3VwcG9ydCc7CiAgICB9Cn0KCmNsYXNzIFN3ZiBleHRlbmRzIEZhY2FkZQp7CiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFNlcnZpY2VCdWlsZGVyS2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJ3N3Zic7CiAgICB9Cn0KCi8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVFbmQK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Facade/Facade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEZhY2FkZTsKCnVzZSBBd3NcQ29tbW9uXEF3czsKCi8qKgogKiBCYXNlIGZhY2FkZSBjbGFzcyB0aGF0IGhhbmRsZXMgdGhlIGRlbGVnYXRpb24gbG9naWMKICovCmFic3RyYWN0IGNsYXNzIEZhY2FkZSBpbXBsZW1lbnRzIEZhY2FkZUludGVyZmFjZQp7CiAgICAvKiogQHZhciBBd3MgKi8KICAgIHByb3RlY3RlZCBzdGF0aWMgJHNlcnZpY2VCdWlsZGVyOwoKICAgIC8qKgogICAgICogTW91bnRzIHRoZSBmYWNhZGVzIGJ5IGV4dHJhY3RpbmcgaW5mb3JtYXRpb24gZnJvbSB0aGUgc2VydmljZSBidWlsZGVyIGNvbmZpZyBhbmQgdXNpbmcgY3JlYXRpbmcgY2xhc3MgYWxpYXNlcwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAkdGFyZ2V0TmFtZXNwYWNlIE5hbWVzcGFjZSB0aGF0IHRoZSBmYWNhZGVzIHNob3VsZCBiZSBtb3VudGVkIHRvLiBEZWZhdWx0cyB0byBnbG9iYWwgbmFtZXNwYWNlCiAgICAgKgogICAgICogQHBhcmFtIEF3cyAkc2VydmljZUJ1aWxkZXIKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBtb3VudEZhY2FkZXMoQXdzICRzZXJ2aWNlQnVpbGRlciwgJHRhcmdldE5hbWVzcGFjZSA9IG51bGwpCiAgICB7CiAgICAgICAgc2VsZjo6JHNlcnZpY2VCdWlsZGVyID0gJHNlcnZpY2VCdWlsZGVyOwogICAgICAgIHJlcXVpcmVfb25jZSBfX0RJUl9fIC4gJy9mYWNhZGUtY2xhc3Nlcy5waHAnOwogICAgICAgIGZvcmVhY2ggKCRzZXJ2aWNlQnVpbGRlci0+Z2V0Q29uZmlnKCkgYXMgJHNlcnZpY2UpIHsKICAgICAgICAgICAgaWYgKGlzc2V0KCRzZXJ2aWNlWydhbGlhcyddLCAkc2VydmljZVsnY2xhc3MnXSkpIHsKICAgICAgICAgICAgICAgICRmYWNhZGVDbGFzcyA9IF9fTkFNRVNQQUNFX18gLiAnXFwnIC4gJHNlcnZpY2VbJ2FsaWFzJ107CiAgICAgICAgICAgICAgICAkZmFjYWRlQWxpYXMgPSBsdHJpbSgkdGFyZ2V0TmFtZXNwYWNlIC4gJ1xcJyAuICRzZXJ2aWNlWydhbGlhcyddLCAnXFwnKTsKICAgICAgICAgICAgICAgIGlmICghY2xhc3NfZXhpc3RzKCRmYWNhZGVBbGlhcykpIHsKICAgICAgICAgICAgICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlU3RhcnQKICAgICAgICAgICAgICAgICAgICBjbGFzc19hbGlhcygkZmFjYWRlQ2xhc3MsICRmYWNhZGVBbGlhcyk7CiAgICAgICAgICAgICAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZUVuZAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgdGhlIGNsaWVudCB0aGF0IHRoZSBmYWNhZGUgb3BlcmF0ZXMgb24KICAgICAqCiAgICAgKiBAcmV0dXJuIFxBd3NcQ29tbW9uXENsaWVudFxBd3NDbGllbnRJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRDbGllbnQoKQogICAgewogICAgICAgIHJldHVybiBzZWxmOjokc2VydmljZUJ1aWxkZXItPmdldChzdGF0aWM6OmdldFNlcnZpY2VCdWlsZGVyS2V5KCkpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gX19jYWxsU3RhdGljKCRtZXRob2QsICRhcmdzKQogICAgewogICAgICAgIHJldHVybiBjYWxsX3VzZXJfZnVuY19hcnJheShhcnJheShzZWxmOjpnZXRDbGllbnQoKSwgJG1ldGhvZCksICRhcmdzKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Facade/FacadeInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEZhY2FkZTsKCi8qKgogKiBJbnRlcmZhY2UgdGhhdCBkZWZpbmVzIGEgY2xpZW50IGZhY2FkZS4gRmFjYWRlcyBhcmUgY29udmVuaWVudCBzdGF0aWMgY2xhc3NlcyB0aGF0IGFsbG93IHlvdSB0byBydW4gY2xpZW50IG1ldGhvZHMKICogc3RhdGljYWxseSBvbiBhIGRlZmF1bHQgaW5zdGFuY2UgZnJvbSB0aGUgc2VydmljZSBidWlsZGVyLiBUaGUgZmFjYWRlcyB0aGVtc2VsdmVzIGFyZSBhbGlhc2VkIGludG8gdGhlIGdsb2JhbAogKiBuYW1lc3BhY2UgZm9yIGVhc2Ugb2YgdXNlLgogKi8KaW50ZXJmYWNlIEZhY2FkZUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGtleSB1c2VkIHRvIGFjY2VzcyB0aGUgY2xpZW50IGluc3RhbmNlIGZyb20gdGhlIFNlcnZpY2UgQnVpbGRlcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXJLZXkoKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Hash/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Hash/ChunkHash.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEhhc2g7Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cTG9naWNFeGNlcHRpb247CgovKioKICogRW5jYXBzdWxhdGVzIHRoZSBjcmVhdGlvbiBvZiBhIGhhc2ggZnJvbSBzdHJlYW1lZCBjaHVua3Mgb2YgZGF0YQogKi8KY2xhc3MgQ2h1bmtIYXNoIGltcGxlbWVudHMgQ2h1bmtIYXNoSW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQHZhciByZXNvdXJjZSBUaGUgaGFzaCBjb250ZXh0IGFzIGNyZWF0ZWQgYnkgYGhhc2hfaW5pdCgpYAogICAgICovCiAgICBwcm90ZWN0ZWQgJGNvbnRleHQ7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBUaGUgcmVzdWx0aW5nIGhhc2ggaW4gaGV4IGZvcm0KICAgICAqLwogICAgcHJvdGVjdGVkICRoYXNoOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVGhlIHJlc3VsdGluZyBoYXNoIGluIGJpbmFyeSBmb3JtCiAgICAgKi8KICAgIHByb3RlY3RlZCAkaGFzaFJhdzsKCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRhbGdvcml0aG0gPSBzZWxmOjpERUZBVUxUX0FMR09SSVRITSkKICAgIHsKICAgICAgICBIYXNoVXRpbHM6OnZhbGlkYXRlQWxnb3JpdGhtKCRhbGdvcml0aG0pOwogICAgICAgICR0aGlzLT5jb250ZXh0ID0gaGFzaF9pbml0KCRhbGdvcml0aG0pOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkRGF0YSgkZGF0YSkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5jb250ZXh0KSB7CiAgICAgICAgICAgIHRocm93IG5ldyBMb2dpY0V4Y2VwdGlvbignWW91IG1heSBub3QgYWRkIG1vcmUgZGF0YSB0byBhIGZpbmFsaXplZCBjaHVuayBoYXNoLicpOwogICAgICAgIH0KCiAgICAgICAgaGFzaF91cGRhdGUoJHRoaXMtPmNvbnRleHQsICRkYXRhKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SGFzaCgkcmV0dXJuQmluYXJ5Rm9ybSA9IGZhbHNlKQogICAgewogICAgICAgIGlmICghJHRoaXMtPmhhc2gpIHsKICAgICAgICAgICAgJHRoaXMtPmhhc2hSYXcgPSBoYXNoX2ZpbmFsKCR0aGlzLT5jb250ZXh0LCB0cnVlKTsKICAgICAgICAgICAgJHRoaXMtPmhhc2ggPSBIYXNoVXRpbHM6OmJpblRvSGV4KCR0aGlzLT5oYXNoUmF3KTsKICAgICAgICAgICAgJHRoaXMtPmNvbnRleHQgPSBudWxsOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRyZXR1cm5CaW5hcnlGb3JtID8gJHRoaXMtPmhhc2hSYXcgOiAkdGhpcy0+aGFzaDsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY2xvbmUoKQogICAgewogICAgICAgIGlmICgkdGhpcy0+Y29udGV4dCkgewogICAgICAgICAgICAkdGhpcy0+Y29udGV4dCA9IGhhc2hfY29weSgkdGhpcy0+Y29udGV4dCk7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Hash/ChunkHashInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEhhc2g7CgovKioKICogSW50ZXJmYWNlIGZvciBvYmplY3RzIHRoYXQgZW5jYXBzdWxhdGUgdGhlIGNyZWF0aW9uIG9mIGEgaGFzaCBmcm9tIHN0cmVhbWVkIGNodW5rcyBvZiBkYXRhCiAqLwppbnRlcmZhY2UgQ2h1bmtIYXNoSW50ZXJmYWNlCnsKICAgIGNvbnN0IERFRkFVTFRfQUxHT1JJVEhNID0gJ3NoYTI1Nic7CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RzIHRoZSBjaHVuayBoYXNoIGFuZCBzZXRzIHRoZSBhbGdvcml0aG0gdG8gdXNlIGZvciBoYXNoaW5nCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkYWxnb3JpdGhtIEEgdmFsaWQgaGFzaCBhbGdvcml0aG0gbmFtZSBhcyByZXR1cm5lZCBieSBgaGFzaF9hbGdvcygpYAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGFsZ29yaXRobSA9ICdzaGEyNTYnKTsKCiAgICAvKioKICAgICAqIEFkZCBhIGNodW5rIG9mIGRhdGEgdG8gYmUgaGFzaGVkCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZGF0YSBEYXRhIHRvIGJlIGhhc2hlZAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkRGF0YSgkZGF0YSk7CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIHJlc3VsdHMgb2YgdGhlIGhhc2gKICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbCAkcmV0dXJuQmluYXJ5Rm9ybSBJZiB0cnVlLCByZXR1cm5zIHRoZSBoYXNoIGluIGJpbmFyeSBmb3JtIGluc3RlYWQgb2YgaGV4IGZvcm0KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SGFzaCgkcmV0dXJuQmluYXJ5Rm9ybSA9IGZhbHNlKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Hash/HashUtils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEhhc2g7Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwoKLyoqCiAqIENvbnRhaW5zIGhhc2hpbmcgdXRpbGl0aWVzCiAqLwpjbGFzcyBIYXNoVXRpbHMKewogICAgLyoqCiAgICAgKiBDb252ZXJ0cyBhIGhhc2ggaW4gaGV4IGZvcm0gdG8gYmluYXJ5IGZvcm0KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRoYXNoIEhhc2ggaW4gaGV4IGZvcm0KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBIYXNoIGluIGJpbmFyeSBmb3JtCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaGV4VG9CaW4oJGhhc2gpCiAgICB7CiAgICAgICAgLy8gSWYgdXNpbmcgUEhQIDUuNCwgdGhlcmUgaXMgYSBuYXRpdmUgZnVuY3Rpb24gdG8gY29udmVydCBmcm9tIGhleCB0byBiaW5hcnkKICAgICAgICBzdGF0aWMgJHVzZU5hdGl2ZTsKICAgICAgICBpZiAoJHVzZU5hdGl2ZSA9PT0gbnVsbCkgewogICAgICAgICAgICAkdXNlTmF0aXZlID0gZnVuY3Rpb25fZXhpc3RzKCdoZXgyYmluJyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHVzZU5hdGl2ZSA/IGhleDJiaW4oJGhhc2gpIDogcGFjaygiSCoiLCAkaGFzaCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb252ZXJ0cyBhIGhhc2ggaW4gYmluYXJ5IGZvcm0gdG8gaGV4IGZvcm0KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRoYXNoIEhhc2ggaW4gYmluYXJ5IGZvcm0KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBIYXNoIGluIGhleCBmb3JtCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gYmluVG9IZXgoJGhhc2gpCiAgICB7CiAgICAgICAgcmV0dXJuIGJpbjJoZXgoJGhhc2gpOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2tzIGlmIHRoZSBhbGdvcml0aG0gc3BlY2lmaWVkIGV4aXN0cyBhbmQgdGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiBpdCBkb2VzIG5vdAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGFsZ29yaXRobSBOYW1lIG9mIHRoZSBhbGdvcml0aG0gdG8gdmFsaWRhdGUKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGlmIHRoZSBhbGdvcml0aG0gZG9lc24ndCBleGlzdAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHZhbGlkYXRlQWxnb3JpdGhtKCRhbGdvcml0aG0pCiAgICB7CiAgICAgICAgaWYgKCFpbl9hcnJheSgkYWxnb3JpdGhtLCBoYXNoX2FsZ29zKCksIHRydWUpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oIlRoZSBoYXNoaW5nIGFsZ29yaXRobSBzcGVjaWZpZWQgKHskYWxnb3JpdGhtfSkgZG9lcyBub3QgZXhpc3QuIik7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Hash/TreeHash.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEhhc2g7Cgp1c2UgQXdzXENvbW1vblxFbnVtXFNpemU7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxMb2dpY0V4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CgovKioKICogRW5jYXBzdWxhdGVzIHRoZSBjcmVhdGlvbiBvZiBhIHRyZWUgaGFzaCBmcm9tIHN0cmVhbWVkIGNodW5rcyBvZiBkYXRhCiAqLwpjbGFzcyBUcmVlSGFzaCBpbXBsZW1lbnRzIENodW5rSGFzaEludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRoZSBhbGdvcml0aG0gdXNlZCBmb3IgaGFzaGluZwogICAgICovCiAgICBwcm90ZWN0ZWQgJGFsZ29yaXRobTsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgU2V0IG9mIGJpbmFyeSBjaGVja3N1bXMgZnJvbSB3aGljaCB0aGUgdHJlZSBoYXNoIGlzIGRlcml2ZWQKICAgICAqLwogICAgcHJvdGVjdGVkICRjaGVja3N1bXMgPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVGhlIHJlc3VsdGluZyBoYXNoIGluIGhleCBmb3JtCiAgICAgKi8KICAgIHByb3RlY3RlZCAkaGFzaDsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRoZSByZXN1bHRpbmcgaGFzaCBpbiBiaW5hcnkgZm9ybQogICAgICovCiAgICBwcm90ZWN0ZWQgJGhhc2hSYXc7CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSB0cmVlIGhhc2ggZnJvbSBhbiBhcnJheSBvZiBleGlzdGluZyB0cmVlIGhhc2ggY2hlY2tzdW1zCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICAkY2hlY2tzdW1zICAgIFNldCBvZiBjaGVja3N1bXMKICAgICAqIEBwYXJhbSBib29sICAgJGluQmluYXJ5Rm9ybSBXaGV0aGVyIG9yIG5vdCB0aGUgY2hlY2tzdW1zIGFyZSBhbHJlYWR5IGluIGJpbmFyeSBmb3JtCiAgICAgKiBAcGFyYW0gc3RyaW5nICRhbGdvcml0aG0gICAgQSB2YWxpZCBoYXNoIGFsZ29yaXRobSBuYW1lIGFzIHJldHVybmVkIGJ5IGBoYXNoX2FsZ29zKClgCiAgICAgKgogICAgICogQHJldHVybiBUcmVlSGFzaAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZyb21DaGVja3N1bXMoYXJyYXkgJGNoZWNrc3VtcywgJGluQmluYXJ5Rm9ybSA9IGZhbHNlLCAkYWxnb3JpdGhtID0gc2VsZjo6REVGQVVMVF9BTEdPUklUSE0pCiAgICB7CiAgICAgICAgJHRyZWVIYXNoID0gbmV3IHNlbGYoJGFsZ29yaXRobSk7CgogICAgICAgIC8vIENvbnZlcnQgY2hlY2tzdW1zIHRvIGJpbmFyeSBmb3JtIGlmIHByb3ZpZGVkIGluIGhleCBmb3JtIGFuZCBhZGQgdGhlbSB0byB0aGUgdHJlZSBoYXNoCiAgICAgICAgJHRyZWVIYXNoLT5jaGVja3N1bXMgPSAkaW5CaW5hcnlGb3JtID8gJGNoZWNrc3VtcyA6IGFycmF5X21hcCgnQXdzXENvbW1vblxIYXNoXEhhc2hVdGlsczo6aGV4VG9CaW4nLCAkY2hlY2tzdW1zKTsKCiAgICAgICAgLy8gUHJlLWNhbGN1bGF0ZSBoYXNoCiAgICAgICAgJHRyZWVIYXNoLT5nZXRIYXNoKCk7CgogICAgICAgIHJldHVybiAkdHJlZUhhc2g7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSB0cmVlIGhhc2ggZnJvbSBhIGNvbnRlbnQgYm9keQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8cmVzb3VyY2V8RW50aXR5Qm9keSAkY29udGVudCAgIENvbnRlbnQgdG8gY3JlYXRlIGEgdHJlZSBoYXNoIGZvcgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICRhbGdvcml0aG0gQSB2YWxpZCBoYXNoIGFsZ29yaXRobSBuYW1lIGFzIHJldHVybmVkIGJ5IGBoYXNoX2FsZ29zKClgCiAgICAgKgogICAgICogQHJldHVybiBUcmVlSGFzaAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZyb21Db250ZW50KCRjb250ZW50LCAkYWxnb3JpdGhtID0gc2VsZjo6REVGQVVMVF9BTEdPUklUSE0pCiAgICB7CiAgICAgICAgJHRyZWVIYXNoID0gbmV3IHNlbGYoJGFsZ29yaXRobSk7CgogICAgICAgIC8vIFJlYWQgdGhlIGRhdGEgaW4gMU1CIGNodW5rcyBhbmQgYWRkIHRvIHRyZWUgaGFzaAogICAgICAgICRjb250ZW50ID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgkY29udGVudCk7CiAgICAgICAgd2hpbGUgKCRkYXRhID0gJGNvbnRlbnQtPnJlYWQoU2l6ZTo6TUIpKSB7CiAgICAgICAgICAgICR0cmVlSGFzaC0+YWRkRGF0YSgkZGF0YSk7CiAgICAgICAgfQoKICAgICAgICAvLyBQcmUtY2FsY3VsYXRlIGhhc2gKICAgICAgICAkdHJlZUhhc2gtPmdldEhhc2goKTsKCiAgICAgICAgcmV0dXJuICR0cmVlSGFzaDsKICAgIH0KCiAgICAvKioKICAgICAqIFZhbGlkYXRlcyBhbiBlbnRpdHkgYm9keSB3aXRoIGEgdHJlZSBoYXNoIGNoZWNrc3VtCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xyZXNvdXJjZXxFbnRpdHlCb2R5ICRjb250ZW50ICAgQ29udGVudCB0byBjcmVhdGUgYSB0cmVlIGhhc2ggZm9yCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgICAgICAgJGNoZWNrc3VtICBUaGUgY2hlY2tzdW0gdG8gdXNlIGZvciB2YWxpZGF0aW9uCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgICAgICAgJGFsZ29yaXRobSBBIHZhbGlkIGhhc2ggYWxnb3JpdGhtIG5hbWUgYXMgcmV0dXJuZWQgYnkgYGhhc2hfYWxnb3MoKWAKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB2YWxpZGF0ZUNoZWNrc3VtKCRjb250ZW50LCAkY2hlY2tzdW0sICRhbGdvcml0aG0gPSBzZWxmOjpERUZBVUxUX0FMR09SSVRITSkKICAgIHsKICAgICAgICAkdHJlZUhhc2ggPSBzZWxmOjpmcm9tQ29udGVudCgkY29udGVudCwgJGFsZ29yaXRobSk7CgogICAgICAgIHJldHVybiAoJGNoZWNrc3VtID09PSAkdHJlZUhhc2gtPmdldEhhc2goKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkYWxnb3JpdGhtID0gc2VsZjo6REVGQVVMVF9BTEdPUklUSE0pCiAgICB7CiAgICAgICAgSGFzaFV0aWxzOjp2YWxpZGF0ZUFsZ29yaXRobSgkYWxnb3JpdGhtKTsKICAgICAgICAkdGhpcy0+YWxnb3JpdGhtID0gJGFsZ29yaXRobTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqIEB0aHJvd3MgTG9naWNFeGNlcHRpb24gICAgICAgICAgIGlmIHRoZSByb290IHRyZWUgaGFzaCBpcyBhbHJlYWR5IGNhbGN1bGF0ZWQKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGlmIHRoZSBkYXRhIGlzIGxhcmdlciB0aGFuIDFNQgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkRGF0YSgkZGF0YSkKICAgIHsKICAgICAgICAvLyBFcnJvciBpZiBoYXNoIGlzIGFscmVhZHkgY2FsY3VsYXRlZAogICAgICAgIGlmICgkdGhpcy0+aGFzaCkgewogICAgICAgICAgICB0aHJvdyBuZXcgTG9naWNFeGNlcHRpb24oJ1lvdSBtYXkgbm90IGFkZCBtb3JlIGRhdGEgdG8gYSBmaW5hbGl6ZWQgdHJlZSBoYXNoLicpOwogICAgICAgIH0KCiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgb25seSAxTUIgY2h1bmtzIG9yIHNtYWxsZXIgZ2V0IHBhc3NlZCBpbgogICAgICAgIGlmIChzdHJsZW4oJGRhdGEpID4gU2l6ZTo6TUIpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignVGhlIGNodW5rIG9mIGRhdGEgYWRkZWQgaXMgdG9vIGxhcmdlIGZvciB0cmVlIGhhc2hpbmcuJyk7CiAgICAgICAgfQoKICAgICAgICAvLyBTdG9yZSB0aGUgcmF3IGhhc2ggb2YgdGhpcyBkYXRhIHNlZ21lbnQKICAgICAgICAkdGhpcy0+Y2hlY2tzdW1zW10gPSBoYXNoKCR0aGlzLT5hbGdvcml0aG0sICRkYXRhLCB0cnVlKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgY2hlY2tzdW0gdG8gdGhlIHRyZWUgaGFzaCBkaXJlY3RseQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGNoZWNrc3VtICAgICBUaGUgY2hlY2tzdW0gdG8gYWRkCiAgICAgKiBAcGFyYW0gYm9vbCAgICRpbkJpbmFyeUZvcm0gV2hldGhlciBvciBub3QgdGhlIGNoZWNrc3VtIGlzIGFscmVhZHkgaW4gYmluYXJ5IGZvcm0KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEB0aHJvd3MgTG9naWNFeGNlcHRpb24gaWYgdGhlIHJvb3QgdHJlZSBoYXNoIGlzIGFscmVhZHkgY2FsY3VsYXRlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkQ2hlY2tzdW0oJGNoZWNrc3VtLCAkaW5CaW5hcnlGb3JtID0gZmFsc2UpCiAgICB7CiAgICAgICAgLy8gRXJyb3IgaWYgaGFzaCBpcyBhbHJlYWR5IGNhbGN1bGF0ZWQKICAgICAgICBpZiAoJHRoaXMtPmhhc2gpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IExvZ2ljRXhjZXB0aW9uKCdZb3UgbWF5IG5vdCBhZGQgbW9yZSBjaGVja3N1bXMgdG8gYSBmaW5hbGl6ZWQgdHJlZSBoYXNoLicpOwogICAgICAgIH0KCiAgICAgICAgLy8gQ29udmVydCB0aGUgY2hlY2tzdW0gdG8gYmluYXJ5IGZvcm0gaWYgbmVjZXNzYXJ5CiAgICAgICAgJHRoaXMtPmNoZWNrc3Vtc1tdID0gJGluQmluYXJ5Rm9ybSA/ICRjaGVja3N1bSA6IEhhc2hVdGlsczo6aGV4VG9CaW4oJGNoZWNrc3VtKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SGFzaCgkcmV0dXJuQmluYXJ5Rm9ybSA9IGZhbHNlKQogICAgewogICAgICAgIGlmICghJHRoaXMtPmhhc2gpIHsKICAgICAgICAgICAgLy8gUGVyZm9ybSBoYXNoZXMgdXAgdGhlIHRyZWUgdG8gYXJyaXZlIGF0IHRoZSByb290IGNoZWNrc3VtIG9mIHRoZSB0cmVlIGhhc2gKICAgICAgICAgICAgJGhhc2hlcyA9ICR0aGlzLT5jaGVja3N1bXM7CiAgICAgICAgICAgIHdoaWxlIChjb3VudCgkaGFzaGVzKSA+IDEpIHsKICAgICAgICAgICAgICAgICRzZXRzID0gYXJyYXlfY2h1bmsoJGhhc2hlcywgMik7CiAgICAgICAgICAgICAgICAkaGFzaGVzID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRzZXRzIGFzICRzZXQpIHsKICAgICAgICAgICAgICAgICAgICAkaGFzaGVzW10gPSAoY291bnQoJHNldCkgPT09IDEpID8gJHNldFswXSA6IGhhc2goJHRoaXMtPmFsZ29yaXRobSwgJHNldFswXSAuICRzZXRbMV0sIHRydWUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAkdGhpcy0+aGFzaFJhdyA9ICRoYXNoZXNbMF07CiAgICAgICAgICAgICR0aGlzLT5oYXNoID0gSGFzaFV0aWxzOjpiaW5Ub0hleCgkdGhpcy0+aGFzaFJhdyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJldHVybkJpbmFyeUZvcm0gPyAkdGhpcy0+aGFzaFJhdyA6ICR0aGlzLT5oYXNoOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBhcnJheSBBcnJheSBvZiByYXcgY2hlY2tzdW1zIGNvbXBvc2luZyB0aGUgdHJlZSBoYXNoCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDaGVja3N1bXMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2hlY2tzdW1zOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/HostNameUtils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uOwoKdXNlIEd1enpsZVxIdHRwXFVybDsKCi8qKgogKiBVdGlsaXR5IGNsYXNzIGZvciBwYXJzaW5nIHJlZ2lvbnMgYW5kIHNlcnZpY2VzIGZyb20gVVJMcwogKi8KY2xhc3MgSG9zdE5hbWVVdGlscwp7CiAgICBjb25zdCBERUZBVUxUX1JFR0lPTiA9ICd1cy1lYXN0LTEnOwogICAgY29uc3QgREVGQVVMVF9HT1ZfUkVHSU9OID0gJ3VzLWdvdi13ZXN0LTEnOwoKICAgIC8qKgogICAgICogUGFyc2UgdGhlIEFXUyByZWdpb24gbmFtZSBmcm9tIGEgVVJMCiAgICAgKgogICAgICoKICAgICAqIEBwYXJhbSBVcmwgJHVybCBIVFRQIFVSTAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nZW5lcmFsL2xhdGVzdC9nci9yYW5kZS5odG1sCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcGFyc2VSZWdpb25OYW1lKFVybCAkdXJsKQogICAgewogICAgICAgIC8vIElmIHdlIGRvbid0IHJlY29nbml6ZSB0aGUgZG9tYWluLCBqdXN0IHJldHVybiB0aGUgZGVmYXVsdAogICAgICAgIGlmIChzdWJzdHIoJHVybC0+Z2V0SG9zdCgpLCAtMTQpICE9ICcuYW1hem9uYXdzLmNvbScpIHsKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OkRFRkFVTFRfUkVHSU9OOwogICAgICAgIH0KCiAgICAgICAgJHNlcnZpY2VBbmRSZWdpb24gPSBzdWJzdHIoJHVybC0+Z2V0SG9zdCgpLCAwLCAtMTQpOwogICAgICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgZm9yIFMzIHJlZ2lvbnMKICAgICAgICAkc2VwYXJhdG9yID0gc3RycG9zKCRzZXJ2aWNlQW5kUmVnaW9uLCAnczMnKSA9PT0gMCA/ICctJyA6ICcuJzsKICAgICAgICAkc2VwYXJhdG9yUG9zID0gc3RycG9zKCRzZXJ2aWNlQW5kUmVnaW9uLCAkc2VwYXJhdG9yKTsKCiAgICAgICAgLy8gSWYgZG9uJ3QgZGV0ZWN0IGEgc2VwYXJhdG9yLCB0aGVuIHJldHVybiB0aGUgZGVmYXVsdCByZWdpb24KICAgICAgICBpZiAoJHNlcGFyYXRvclBvcyA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OkRFRkFVTFRfUkVHSU9OOwogICAgICAgIH0KCiAgICAgICAgJHJlZ2lvbiA9IHN1YnN0cigkc2VydmljZUFuZFJlZ2lvbiwgJHNlcGFyYXRvclBvcyArIDEpOwoKICAgICAgICAvLyBBbGwgR09WIHJlZ2lvbnMgY3VycmVudGx5IHVzZSB0aGUgZGVmYXVsdCBHT1YgcmVnaW9uCiAgICAgICAgaWYgKCRyZWdpb24gPT0gJ3VzLWdvdicpIHsKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OkRFRkFVTFRfR09WX1JFR0lPTjsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVnaW9uOwogICAgfQoKICAgIC8qKgogICAgICogUGFyc2UgdGhlIEFXUyBzZXJ2aWNlIG5hbWUgZnJvbSBhIFVSTAogICAgICoKICAgICAqIEBwYXJhbSBVcmwgJHVybCBIVFRQIFVSTAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIFJldHVybnMgYSBzZXJ2aWNlIG5hbWUgKG9yIGVtcHR5IHN0cmluZykKICAgICAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dlbmVyYWwvbGF0ZXN0L2dyL3JhbmRlLmh0bWwKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBwYXJzZVNlcnZpY2VOYW1lKFVybCAkdXJsKQogICAgewogICAgICAgIC8vIFRoZSBzZXJ2aWNlIG5hbWUgaXMgdGhlIGZpcnN0IHBhcnQgb2YgdGhlIGhvc3QKICAgICAgICAkcGFydHMgPSBleHBsb2RlKCcuJywgJHVybC0+Z2V0SG9zdCgpLCAyKTsKCiAgICAgICAgLy8gU3BlY2lhbCBoYW5kbGluZyBmb3IgUzMKICAgICAgICBpZiAoc3RyaXBvcygkcGFydHNbMF0sICdzMycpID09PSAwKSB7CiAgICAgICAgICAgIHJldHVybiAnczMnOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRwYXJ0c1swXTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/InstanceMetadata/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/InstanceMetadata/InstanceMetadataClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEluc3RhbmNlTWV0YWRhdGE7Cgp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXEluc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzRXhjZXB0aW9uOwp1c2UgQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFsczsKdXNlIEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50Owp1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0RmFjdG9yeTsKCi8qKgogKiBDbGllbnQgdXNlZCBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgQW1hem9uIEVDMiBpbnN0YW5jZSBtZXRhZGF0YSBzZXJ2ZXIKICovCmNsYXNzIEluc3RhbmNlTWV0YWRhdGFDbGllbnQgZXh0ZW5kcyBBYnN0cmFjdENsaWVudAp7CiAgICAvKioKICAgICAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBJbnN0YW5jZU1ldGFkYXRhQ2xpZW50IHVzaW5nIGFuIGFycmF5CiAgICAgKiBvZiBjb25maWd1cmF0aW9uIG9wdGlvbnMuCiAgICAgKgogICAgICogVGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBhY2NlcHRzIHRoZSBmb2xsb3dpbmcgYXJyYXkga2V5cyBhbmQgdmFsdWVzOgogICAgICogLSBiYXNlX3VybDogT3ZlcnJpZGUgdGhlIGJhc2UgVVJMIG9mIHRoZSBpbnN0YW5jZSBtZXRhZGF0YSBzZXJ2ZXIKICAgICAqIC0gdmVyc2lvbjogIFZlcnNpb24gb2YgdGhlIG1ldGFkYXRhIHNlcnZlciB0byBpbnRlcmFjdCB3aXRoCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gJGNvbmZpZyBDb25maWd1cmF0aW9uIG9wdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIEluc3RhbmNlTWV0YWRhdGFDbGllbnQKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgICRjb25maWcgPSBDb2xsZWN0aW9uOjpmcm9tQ29uZmlnKCRjb25maWcsIGFycmF5KAogICAgICAgICAgICBPcHRpb25zOjpCQVNFX1VSTCA9PiAnaHR0cDovLzE2OS4yNTQuMTY5LjI1NC97dmVyc2lvbn0vJywKICAgICAgICAgICAgJ3ZlcnNpb24nICAgICAgICAgPT4gJ2xhdGVzdCcsCiAgICAgICAgICAgICdyZXF1ZXN0Lm9wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2Nvbm5lY3RfdGltZW91dCcgPT4gNSwKICAgICAgICAgICAgICAgICd0aW1lb3V0JyAgICAgICAgID0+IDEwCiAgICAgICAgICAgICkKICAgICAgICApLCBhcnJheSgnYmFzZV91cmwnLCAndmVyc2lvbicpKTsKCiAgICAgICAgcmV0dXJuIG5ldyBzZWxmKCRjb25maWcpOwogICAgfQoKICAgIC8qKgogICAgICogQ29uc3RydWN0b3Igb3ZlcnJpZGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KENvbGxlY3Rpb24gJGNvbmZpZykKICAgIHsKICAgICAgICAkdGhpcy0+c2V0Q29uZmlnKCRjb25maWcpOwogICAgICAgICR0aGlzLT5zZXRCYXNlVXJsKCRjb25maWctPmdldChPcHRpb25zOjpCQVNFX1VSTCkpOwogICAgICAgICR0aGlzLT5kZWZhdWx0SGVhZGVycyA9IG5ldyBDb2xsZWN0aW9uKCk7CiAgICAgICAgJHRoaXMtPnNldFJlcXVlc3RGYWN0b3J5KFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBpbnN0YW5jZSBwcm9maWxlIGNyZWRlbnRpYWxzCiAgICAgKgogICAgICogQHJldHVybiBDcmVkZW50aWFscwogICAgICogQHRocm93cyBJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFsc0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SW5zdGFuY2VQcm9maWxlQ3JlZGVudGlhbHMoKQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmdldCgnbWV0YS1kYXRhL2lhbS9zZWN1cml0eS1jcmVkZW50aWFscy8nKTsKICAgICAgICAgICAgJGNyZWRlbnRpYWxzID0gdHJpbSgkcmVxdWVzdC0+c2VuZCgpLT5nZXRCb2R5KHRydWUpKTsKICAgICAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5nZXQoIm1ldGEtZGF0YS9pYW0vc2VjdXJpdHktY3JlZGVudGlhbHMveyRjcmVkZW50aWFsc30iKS0+c2VuZCgpLT5qc29uKCk7CiAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAkbWVzc2FnZSA9IHNwcmludGYoJ0Vycm9yIHJldHJpZXZpbmcgY3JlZGVudGlhbHMgZnJvbSB0aGUgaW5zdGFuY2UgcHJvZmlsZSBtZXRhZGF0YSBzZXJ2ZXIuIFdoZW4geW91IGFyZScKICAgICAgICAgICAgICAgIC4gJyBub3QgcnVubmluZyBpbnNpZGUgb2YgQW1hem9uIEVDMiwgeW91IG11c3QgcHJvdmlkZSB5b3VyIEFXUyBhY2Nlc3Mga2V5IElEIGFuZCBzZWNyZXQgYWNjZXNzIGtleSBpbicKICAgICAgICAgICAgICAgIC4gJyB0aGUgImtleSIgYW5kICJzZWNyZXQiIG9wdGlvbnMgd2hlbiBjcmVhdGluZyBhIGNsaWVudCBvciBwcm92aWRlIGFuIGluc3RhbnRpYXRlZCcKICAgICAgICAgICAgICAgIC4gJyBBd3NcXENvbW1vblxcQ3JlZGVudGlhbHNcXENyZWRlbnRpYWxzSW50ZXJmYWNlIG9iamVjdC4gKCVzKScsICRlLT5nZXRNZXNzYWdlKCkpOwogICAgICAgICAgICB0aHJvdyBuZXcgSW5zdGFuY2VQcm9maWxlQ3JlZGVudGlhbHNFeGNlcHRpb24oJG1lc3NhZ2UsICRlLT5nZXRDb2RlKCkpOwogICAgICAgIH0KCiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIHN0YXR1cyBjb2RlIHdhcyBzdWNjZXNzZnVsCiAgICAgICAgaWYgKCRyZXN1bHRbJ0NvZGUnXSAhPT0gJ1N1Y2Nlc3MnKSB7CiAgICAgICAgICAgICRlID0gbmV3IEluc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzRXhjZXB0aW9uKCdVbmV4cGVjdGVkIHJlc3BvbnNlIGNvZGU6ICcgLiAkcmVzdWx0WydDb2RlJ10pOwogICAgICAgICAgICAkZS0+c2V0U3RhdHVzQ29kZSgkcmVzdWx0WydDb2RlJ10pOwogICAgICAgICAgICB0aHJvdyAkZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBuZXcgQ3JlZGVudGlhbHMoCiAgICAgICAgICAgICRyZXN1bHRbJ0FjY2Vzc0tleUlkJ10sCiAgICAgICAgICAgICRyZXN1bHRbJ1NlY3JldEFjY2Vzc0tleSddLAogICAgICAgICAgICAkcmVzdWx0WydUb2tlbiddLAogICAgICAgICAgICBzdHJ0b3RpbWUoJHJlc3VsdFsnRXhwaXJhdGlvbiddKQogICAgICAgICk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/InstanceMetadata/Waiter/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/InstanceMetadata/Waiter/ServiceAvailable.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEluc3RhbmNlTWV0YWRhdGFcV2FpdGVyOwoKdXNlIEF3c1xDb21tb25cV2FpdGVyXEFic3RyYWN0UmVzb3VyY2VXYWl0ZXI7CnVzZSBHdXp6bGVcSHR0cFxFeGNlcHRpb25cQ3VybEV4Y2VwdGlvbjsKCi8qKgogKiBXYWl0cyB1bnRpbCB0aGUgaW5zdGFuY2UgbWV0YWRhdGEgc2VydmljZSBpcyByZXNwb25kaW5nLiAgV2lsbCBzZW5kIHVwIHRvCiAqIDQgcmVxdWVzdHMgd2l0aCBhIDUgc2Vjb25kIGRlbGF5IGJldHdlZW4gZWFjaCB0cnkuICBFYWNoIHRyeSBjYW4gbGFzdCB1cCB0bwogKiAxMSBzZWNvbmRzIHRvIGNvbXBsZXRlIGlmIHRoZSBzZXJ2aWNlIGlzIG5vdCByZXNwb25kaW5nLgogKgogKiBAY29kZUNvdmVyYWdlSWdub3JlCiAqLwpjbGFzcyBTZXJ2aWNlQXZhaWxhYmxlIGV4dGVuZHMgQWJzdHJhY3RSZXNvdXJjZVdhaXRlcgp7CiAgICBwcm90ZWN0ZWQgJGludGVydmFsID0gNTsKICAgIHByb3RlY3RlZCAkbWF4QXR0ZW1wdHMgPSA0OwoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZG9XYWl0KCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5jbGllbnQtPmdldCgpOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5zZXQoQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgMTApCiAgICAgICAgICAgICAgICAtPnNldChDVVJMT1BUX1RJTUVPVVQsIDEwKTsKICAgICAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKCiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0gY2F0Y2ggKEN1cmxFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Iterator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Iterator/AwsResourceIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEl0ZXJhdG9yOwoKdXNlIEF3c1xDb21tb25cRW51bVxVYVN0cmluZyBhcyBVYTsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb247ClVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3I7CgovKioKICogSXRlcmF0ZSBvdmVyIGEgY2xpZW50IGNvbW1hbmQKICovCmNsYXNzIEF3c1Jlc291cmNlSXRlcmF0b3IgZXh0ZW5kcyBSZXNvdXJjZUl0ZXJhdG9yCnsKICAgIC8qKgogICAgICogQHZhciBNb2RlbCBSZXN1bHQgb2YgYSBjb21tYW5kCiAgICAgKi8KICAgIHByb3RlY3RlZCAkbGFzdFJlc3VsdCA9IG51bGw7CgogICAgLyoqCiAgICAgKiBQcm92aWRlcyBhY2Nlc3MgdG8gdGhlIG1vc3QgcmVjZW50IHJlc3VsdCBvYnRhaW5lZCBieSB0aGUgaXRlcmF0b3IuCiAgICAgKgogICAgICogQHJldHVybiBNb2RlbHxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRMYXN0UmVzdWx0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmxhc3RSZXN1bHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKiBUaGlzIEFXUyBzcGVjaWZpYyB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZSBpdGVyYXRvciBwcm92aWRlcyBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgdGhlIHR5cGljYWwgQVdTIGl0ZXJhdG9yCiAgICAgKiBwcm9jZXNzLiBJdCByZWxpZXMgb24gY29uZmlndXJhdGlvbiBhbmQgZXh0ZW5zaW9uIHRvIGltcGxlbWVudCB0aGUgb3BlcmF0aW9uLXNwZWNpZmljIGxvZ2ljIG9mIGhhbmRsaW5nIHJlc3VsdHMKICAgICAqIGFuZCBuZXh0VG9rZW5zLiBUaGlzIG1ldGhvZCB3aWxsIGxvb3AgdW50aWwgcmVzb3VyY2VzIGFyZSBhY3F1aXJlZCBvciB0aGVyZSBhcmUgbm8gbW9yZSBpdGVyYXRpb25zIGF2YWlsYWJsZS4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNlbmRSZXF1ZXN0KCkKICAgIHsKICAgICAgICBkbyB7CiAgICAgICAgICAgIC8vIFByZXBhcmUgdGhlIHJlcXVlc3QgaW5jbHVkaW5nIHNldHRpbmcgdGhlIG5leHQgdG9rZW4KICAgICAgICAgICAgJHRoaXMtPnByZXBhcmVSZXF1ZXN0KCk7CiAgICAgICAgICAgIGlmICgkdGhpcy0+bmV4dFRva2VuKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+YXBwbHlOZXh0VG9rZW4oKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gRXhlY3V0ZSB0aGUgcmVxdWVzdCBhbmQgaGFuZGxlIHRoZSByZXN1bHRzCiAgICAgICAgICAgICR0aGlzLT5jb21tYW5kLT5hZGQoVWE6Ok9QVElPTiwgVWE6OklURVJBVE9SKTsKICAgICAgICAgICAgJHRoaXMtPmxhc3RSZXN1bHQgPSAkdGhpcy0+Y29tbWFuZC0+Z2V0UmVzdWx0KCk7CiAgICAgICAgICAgICRyZXNvdXJjZXMgPSAkdGhpcy0+aGFuZGxlUmVzdWx0cygkdGhpcy0+bGFzdFJlc3VsdCk7CiAgICAgICAgICAgICR0aGlzLT5kZXRlcm1pbmVOZXh0VG9rZW4oJHRoaXMtPmxhc3RSZXN1bHQpOwoKICAgICAgICAgICAgLy8gSWYgbm8gcmVzb3VyY2VzIGNvbGxlY3RlZCwgcHJlcGFyZSB0byByZWl0ZXJhdGUgYmVmb3JlIHlpZWxkaW5nCiAgICAgICAgICAgIGlmICgkcmVpdGVyYXRlID0gZW1wdHkoJHJlc291cmNlcykgJiYgJHRoaXMtPm5leHRUb2tlbikgewogICAgICAgICAgICAgICAgJHRoaXMtPmNvbW1hbmQgPSBjbG9uZSAkdGhpcy0+b3JpZ2luYWxDb21tYW5kOwogICAgICAgICAgICB9CiAgICAgICAgfSB3aGlsZSAoJHJlaXRlcmF0ZSk7CgogICAgICAgIHJldHVybiAkcmVzb3VyY2VzOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJlcGFyZVJlcXVlc3QoKQogICAgewogICAgICAgIC8vIEdldCB0aGUgbGltaXQgcGFyYW1ldGVyIGtleSB0byBzZXQKICAgICAgICAkcGFyYW0gPSAkdGhpcy0+Z2V0KCdsaW1pdF9wYXJhbScpOwogICAgICAgIGlmICgkcGFyYW0gJiYgKCRsaW1pdCA9ICR0aGlzLT5jb21tYW5kLT5nZXQoJHBhcmFtKSkpIHsKICAgICAgICAgICAgJHBhZ2VTaXplID0gJHRoaXMtPmNhbGN1bGF0ZVBhZ2VTaXplKCk7CgogICAgICAgICAgICAvLyBJZiB0aGUgbGltaXQgb2YgdGhlIGNvbW1hbmQgaXMgZGlmZmVyZW50IHRoYW4gdGhlIHBhZ2VTaXplIG9mIHRoZSBpdGVyYXRvciwgdXNlIHRoZSBzbWFsbGVyIHZhbHVlCiAgICAgICAgICAgIGlmICgkbGltaXQgJiYgJHBhZ2VTaXplKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+Y29tbWFuZC0+c2V0KCdsaW1pdCcsIG1pbigkbGltaXQsICRwYWdlU2l6ZSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaGFuZGxlUmVzdWx0cyhNb2RlbCAkcmVzdWx0KQogICAgewogICAgICAgICRyZXN1bHRzID0gYXJyYXkoKTsKCiAgICAgICAgLy8gR2V0IHRoZSByZXN1bHQga2V5IHRoYXQgY29udGFpbnMgdGhlIHJlc3VsdHMKICAgICAgICBpZiAoJHJlc3VsdEtleSA9ICR0aGlzLT5nZXQoJ3Jlc3VsdF9rZXknKSkgewogICAgICAgICAgICAkcmVzdWx0cyA9ICRyZXN1bHQtPmdldFBhdGgoJHJlc3VsdEtleSkgPzogYXJyYXkoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVzdWx0czsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGFwcGx5TmV4dFRva2VuKCkKICAgIHsKICAgICAgICAvLyBHZXQgdGhlIHRva2VuIHBhcmFtZXRlciBrZXkgdG8gc2V0CiAgICAgICAgaWYgKCR0b2tlblBhcmFtID0gJHRoaXMtPmdldCgndG9rZW5fcGFyYW0nKSkgewogICAgICAgICAgICAvLyBTZXQgdGhlIG5leHQgdG9rZW4uIFdvcmtzIHdpdGggbXVsdGktdmFsdWUgdG9rZW5zCiAgICAgICAgICAgIGlmIChpc19hcnJheSgkdG9rZW5QYXJhbSkpIHsKICAgICAgICAgICAgICAgIGlmIChpc19hcnJheSgkdGhpcy0+bmV4dFRva2VuKSAmJiBjb3VudCgkdG9rZW5QYXJhbSkgPT09IGNvdW50KCR0aGlzLT5uZXh0VG9rZW4pKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoYXJyYXlfY29tYmluZSgkdG9rZW5QYXJhbSwgJHRoaXMtPm5leHRUb2tlbikgYXMgJHBhcmFtID0+ICR0b2tlbikgewogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Y29tbWFuZC0+c2V0KCRwYXJhbSwgJHRva2VuKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKCdUaGUgZGVmaW5pdGlvbiBvZiB0aGUgaXRlcmF0b3JcJ3MgdG9rZW4gcGFyYW1ldGVyIGFuZCB0aGUgYWN0dWFsIHRva2VuICcKICAgICAgICAgICAgICAgICAgICAgICAgLiAndmFsdWUgYXJlIG5vdCBjb21wYXRpYmxlLicpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJHRoaXMtPmNvbW1hbmQtPnNldCgkdG9rZW5QYXJhbSwgJHRoaXMtPm5leHRUb2tlbik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBkZXRlcm1pbmVOZXh0VG9rZW4oTW9kZWwgJHJlc3VsdCkKICAgIHsKICAgICAgICAkdGhpcy0+bmV4dFRva2VuID0gbnVsbDsKCiAgICAgICAgLy8gSWYgdGhlIHZhbHVlIG9mICJtb3JlIGtleSIgaXMgdHJ1ZSBvciB0aGVyZSBpcyBubyAibW9yZSBrZXkiIHRvIGNoZWNrLCB0aGVuIHRyeSB0byBnZXQgdGhlIG5leHQgdG9rZW4KICAgICAgICAkbW9yZUtleSA9ICR0aGlzLT5nZXQoJ21vcmVfa2V5Jyk7CiAgICAgICAgaWYgKCRtb3JlS2V5ID09PSBudWxsIHx8ICRyZXN1bHQtPmdldFBhdGgoJG1vcmVLZXkpKSB7CiAgICAgICAgICAgIC8vIEdldCB0aGUgdG9rZW4ga2V5IHRvIGNoZWNrCiAgICAgICAgICAgIGlmICgkdG9rZW5LZXkgPSAkdGhpcy0+Z2V0KCd0b2tlbl9rZXknKSkgewogICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBuZXh0IHRva2VuJ3MgdmFsdWUuIFdvcmtzIHdpdGggbXVsdGktdmFsdWUgdG9rZW5zCiAgICAgICAgICAgICAgICAkZ2V0VG9rZW4gPSBmdW5jdGlvbiAoJGtleSkgdXNlICgkcmVzdWx0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRyZXN1bHQtPmdldFBhdGgoKHN0cmluZykgJGtleSk7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgJHRoaXMtPm5leHRUb2tlbiA9IGlzX2FycmF5KCR0b2tlbktleSkgPyBhcnJheV9tYXAoJGdldFRva2VuLCAkdG9rZW5LZXkpIDogJGdldFRva2VuKCR0b2tlbktleSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Iterator/AwsResourceIteratorFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBBd3NcQ29tbW9uXEl0ZXJhdG9yOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JGYWN0b3J5SW50ZXJmYWNlOwoKLyoqCiAqIFJlc291cmNlIGl0ZXJhdG9yIGZhY3RvcnkgdXNlZCB0byBpbnN0YW50aWF0ZSB0aGUgZGVmYXVsdCBBV1MgcmVzb3VyY2UgaXRlcmF0b3Igd2l0aCB0aGUgY29ycmVjdCBjb25maWd1cmF0aW9uIG9yCiAqIHVzZSBhIGNvbmNyZXRlIGl0ZXJhdG9yIGNsYXNzIGlmIG9uZSBleGlzdHMKICovCmNsYXNzIEF3c1Jlc291cmNlSXRlcmF0b3JGYWN0b3J5IGltcGxlbWVudHMgUmVzb3VyY2VJdGVyYXRvckZhY3RvcnlJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IERlZmF1bHQgY29uZmlndXJhdGlvbiB2YWx1ZXMgZm9yIGl0ZXJhdG9ycwogICAgICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRkZWZhdWx0Q29uZmlnID0gYXJyYXkoCiAgICAgICAgJ2xpbWl0X2tleScgICA9PiBudWxsLAogICAgICAgICdsaW1pdF9wYXJhbScgPT4gbnVsbCwKICAgICAgICAnbW9yZV9rZXknICAgID0+IG51bGwsCiAgICAgICAgJ3Rva2VuX2tleScgICA9PiBudWxsLAogICAgICAgICd0b2tlbl9wYXJhbScgPT4gbnVsbCwKICAgICAgICAnb3BlcmF0aW9ucycgID0+IGFycmF5KCksCiAgICApOwoKICAgIC8qKgogICAgICogQHZhciBDb2xsZWN0aW9uIFRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgaXRlcmF0b3JzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY29uZmlnOwoKICAgIC8qKgogICAgICogQHZhciBDb2xsZWN0aW9uIEFkZGl0aW9uYWwgY29uZmlndXJhdGlvbnMgZm9yIHNwZWNpZmljIGl0ZXJhdG9ycwogICAgICovCiAgICBwcm90ZWN0ZWQgJG9wZXJhdGlvbnM7CgogICAgLyoqCiAgICAgKiBAdmFyIFJlc291cmNlSXRlcmF0b3JGYWN0b3J5SW50ZXJmYWNlIEFub3RoZXIgZmFjdG9yeSB0aGF0IHdpbGwgYmUgdXNlZCBmaXJzdCB0byBpbnN0YW50aWF0ZSB0aGUgaXRlcmF0b3IKICAgICAqLwogICAgcHJvdGVjdGVkICRwcmltYXJ5SXRlcmF0b3JGYWN0b3J5OwoKICAgIC8qKgogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb25maWcgICAgICAgICAgICAgICAgIEFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gdmFsdWVzIGZvciB0aGUgZmFjdG9yeQogICAgICogQHBhcmFtIFJlc291cmNlSXRlcmF0b3JGYWN0b3J5SW50ZXJmYWNlICRwcmltYXJ5SXRlcmF0b3JGYWN0b3J5IEFub3RoZXIgZmFjdG9yeSB0byB1c2UgZm9yIGNoYWluIG9mIGNvbW1hbmQKICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJGNvbmZpZywgUmVzb3VyY2VJdGVyYXRvckZhY3RvcnlJbnRlcmZhY2UgJHByaW1hcnlJdGVyYXRvckZhY3RvcnkgPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5wcmltYXJ5SXRlcmF0b3JGYWN0b3J5ID0gJHByaW1hcnlJdGVyYXRvckZhY3Rvcnk7CiAgICAgICAgLy8gU2V0IHVwIHRoZSBjb25maWcgd2l0aCBkZWZhdWx0IHZhbHVlcwogICAgICAgICR0aGlzLT5jb25maWcgPSBDb2xsZWN0aW9uOjpmcm9tQ29uZmlnKCRjb25maWcsIHNlbGY6OiRkZWZhdWx0Q29uZmlnKTsKCiAgICAgICAgLy8gUHVsbCBvdXQgdGhlIG9wZXJhdGlvbi1zcGVjaWZpYyBjb25maWd1cmF0aW9ucwogICAgICAgICR0aGlzLT5vcGVyYXRpb25zID0gbmV3IENvbGxlY3Rpb24oKTsKICAgICAgICAkcG90ZW50aWFsT3BlcmF0aW9ucyA9ICR0aGlzLT5jb25maWctPmdldCgnb3BlcmF0aW9ucycpID86IGFycmF5KCk7CiAgICAgICAgJHRoaXMtPmNvbmZpZy0+cmVtb3ZlKCdvcGVyYXRpb25zJyk7CiAgICAgICAgZm9yZWFjaCAoJHBvdGVudGlhbE9wZXJhdGlvbnMgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgaWYgKGlzX2ludCgka2V5KSAmJiBpc19zdHJpbmcoJHZhbHVlKSkgewogICAgICAgICAgICAgICAgJHRoaXMtPm9wZXJhdGlvbnMtPnNldCgkdmFsdWUsIGFycmF5KCkpOwogICAgICAgICAgICB9IGVsc2VpZiAoaXNfc3RyaW5nKCRrZXkpICYmIGlzX2FycmF5KCR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5vcGVyYXRpb25zLT5zZXQoJGtleSwgJHZhbHVlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ1RoZSBpdGVyYXRvciBmYWN0b3J5IGNvbmZpZ3VyYXRpb24gd2FzIGludmFsaWQuJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidWlsZChDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgLy8gR2V0IHRoZSBjb25maWd1cmF0aW9uIGRhdGEgZm9yIHRoZSBjb21tYW5kCiAgICAgICAgJGNvbW1hbmROYW1lID0gJGNvbW1hbmQtPmdldE5hbWUoKTsKICAgICAgICAkaXRlcmF0b3JDb25maWcgPSAkdGhpcy0+b3BlcmF0aW9ucy0+Z2V0KCRjb21tYW5kTmFtZSkgPzogYXJyYXkoKTsKICAgICAgICAkb3B0aW9ucyA9IGFycmF5X3JlcGxhY2UoJHRoaXMtPmNvbmZpZy0+Z2V0QWxsKCksICRpdGVyYXRvckNvbmZpZywgJG9wdGlvbnMpOwoKICAgICAgICAvLyBJbnN0YW50aWF0ZSB0aGUgaXRlcmF0b3IgdXNpbmcgdGhlIHByaW1hcnkgZmFjdG9yeSAoaWYgdGhlcmUgaXMgb25lKQogICAgICAgIGlmICgkdGhpcy0+cHJpbWFyeUl0ZXJhdG9yRmFjdG9yeSAmJiAkdGhpcy0+cHJpbWFyeUl0ZXJhdG9yRmFjdG9yeS0+Y2FuQnVpbGQoJGNvbW1hbmQpKSB7CiAgICAgICAgICAgICRpdGVyYXRvciA9ICR0aGlzLT5wcmltYXJ5SXRlcmF0b3JGYWN0b3J5LT5idWlsZCgkY29tbWFuZCwgJG9wdGlvbnMpOwogICAgICAgIH0gZWxzZWlmICghJHRoaXMtPm9wZXJhdGlvbnMtPmhhc0tleSgkY29tbWFuZE5hbWUpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oIkl0ZXJhdG9yIHdhcyBub3QgZm91bmQgZm9yIHskY29tbWFuZE5hbWV9LiIpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIEZhbGxiYWNrIHRvIHRoaXMgZmFjdG9yeSBmb3IgY3JlYXRpbmcgdGhlIGl0ZXJhdG9yIGlmIHRoZSBwcmltYXJ5IGZhY3RvcnkgZGlkIG5vdCB3b3JrCiAgICAgICAgICAgICRpdGVyYXRvciA9IG5ldyBBd3NSZXNvdXJjZUl0ZXJhdG9yKCRjb21tYW5kLCAkb3B0aW9ucyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGl0ZXJhdG9yOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FuQnVpbGQoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCkKICAgIHsKICAgICAgICByZXR1cm4gKCR0aGlzLT5wcmltYXJ5SXRlcmF0b3JGYWN0b3J5ICYmICR0aGlzLT5wcmltYXJ5SXRlcmF0b3JGYWN0b3J5LT5jYW5CdWlsZCgkY29tbWFuZCkpCiAgICAgICAgICAgIHx8ICR0aGlzLT5vcGVyYXRpb25zLT5oYXNLZXkoJGNvbW1hbmQtPmdldE5hbWUoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Model/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Model/MultipartUpload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Model/MultipartUpload/AbstractTransfer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZDsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxBd3NDbGllbnRJbnRlcmZhY2U7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxNdWx0aXBhcnRVcGxvYWRFeGNlcHRpb247CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwp1c2UgR3V6emxlXENvbW1vblxBYnN0cmFjdEhhc0Rpc3BhdGNoZXI7CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5Owp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keUludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcT3BlcmF0aW9uQ29tbWFuZDsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwoKLyoqCiAqIEFic3RyYWN0IGNsYXNzIGZvciB0cmFuc2ZlciBjb21tb25hbGl0aWVzCiAqLwphYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFRyYW5zZmVyIGV4dGVuZHMgQWJzdHJhY3RIYXNEaXNwYXRjaGVyIGltcGxlbWVudHMgVHJhbnNmZXJJbnRlcmZhY2UKewogICAgY29uc3QgQkVGT1JFX1VQTE9BRCAgICAgID0gJ211bHRpcGFydF91cGxvYWQuYmVmb3JlX3VwbG9hZCc7CiAgICBjb25zdCBBRlRFUl9VUExPQUQgICAgICAgPSAnbXVsdGlwYXJ0X3VwbG9hZC5hZnRlcl91cGxvYWQnOwogICAgY29uc3QgQkVGT1JFX1BBUlRfVVBMT0FEID0gJ211bHRpcGFydF91cGxvYWQuYmVmb3JlX3BhcnRfdXBsb2FkJzsKICAgIGNvbnN0IEFGVEVSX1BBUlRfVVBMT0FEICA9ICdtdWx0aXBhcnRfdXBsb2FkLmFmdGVyX3BhcnRfdXBsb2FkJzsKICAgIGNvbnN0IEFGVEVSX0FCT1JUICAgICAgICA9ICdtdWx0aXBhcnRfdXBsb2FkLmFmdGVyX2Fib3J0JzsKICAgIGNvbnN0IEFGVEVSX0NPTVBMRVRFICAgICA9ICdtdWx0aXBhcnRfdXBsb2FkLmFmdGVyX2NvbXBsZXRlJzsKCiAgICAvKioKICAgICAqIEB2YXIgQXdzQ2xpZW50SW50ZXJmYWNlIENsaWVudCB1c2VkIGZvciB0aGUgdHJhbnNmZXJzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2xpZW50OwoKICAgIC8qKgogICAgICogQHZhciBUcmFuc2ZlclN0YXRlSW50ZXJmYWNlIFN0YXRlIG9mIHRoZSB0cmFuc2ZlcgogICAgICovCiAgICBwcm90ZWN0ZWQgJHN0YXRlOwoKICAgIC8qKgogICAgICogQHZhciBFbnRpdHlCb2R5IERhdGEgc291cmNlIG9mIHRoZSB0cmFuc2ZlcgogICAgICovCiAgICBwcm90ZWN0ZWQgJHNvdXJjZTsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgQXNzb2NpYXRpdmUgYXJyYXkgb2Ygb3B0aW9ucwogICAgICovCiAgICBwcm90ZWN0ZWQgJG9wdGlvbnM7CgogICAgLyoqCiAgICAgKiBAdmFyIGludCBTaXplIG9mIGVhY2ggcGFydCB0byB1cGxvYWQKICAgICAqLwogICAgcHJvdGVjdGVkICRwYXJ0U2l6ZTsKCiAgICAvKioKICAgICAqIEB2YXIgYm9vbCBXaGV0aGVyIG9yIG5vdCB0aGUgdHJhbnNmZXIgaGFzIGJlZW4gc3RvcHBlZAogICAgICovCiAgICBwcm90ZWN0ZWQgJHN0b3BwZWQgPSBmYWxzZTsKCiAgICAvKioKICAgICAqIENvbnN0cnVjdCBhIG5ldyB0cmFuc2ZlciBvYmplY3QKICAgICAqCiAgICAgKiBAcGFyYW0gQXdzQ2xpZW50SW50ZXJmYWNlICAgICAkY2xpZW50ICBDbGllbnQgdXNlZCBmb3IgdGhlIHRyYW5zZmVycwogICAgICogQHBhcmFtIFRyYW5zZmVyU3RhdGVJbnRlcmZhY2UgJHN0YXRlICAgU3RhdGUgdXNlZCB0byB0cmFjayB0cmFuc2ZlcgogICAgICogQHBhcmFtIEVudGl0eUJvZHkgICAgICAgICAgICAgJHNvdXJjZSAgRGF0YSBzb3VyY2Ugb2YgdGhlIHRyYW5zZmVyCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICAgICAgICAkb3B0aW9ucyBBcnJheSBvZiBvcHRpb25zIHRvIGFwcGx5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgKICAgICAgICBBd3NDbGllbnRJbnRlcmZhY2UgJGNsaWVudCwKICAgICAgICBUcmFuc2ZlclN0YXRlSW50ZXJmYWNlICRzdGF0ZSwKICAgICAgICBFbnRpdHlCb2R5ICRzb3VyY2UsCiAgICAgICAgYXJyYXkgJG9wdGlvbnMgPSBhcnJheSgpCiAgICApIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ICA9ICRjbGllbnQ7CiAgICAgICAgJHRoaXMtPnN0YXRlICAgPSAkc3RhdGU7CiAgICAgICAgJHRoaXMtPnNvdXJjZSAgPSAkc291cmNlOwogICAgICAgICR0aGlzLT5vcHRpb25zID0gJG9wdGlvbnM7CgogICAgICAgICR0aGlzLT5pbml0KCk7CgogICAgICAgICR0aGlzLT5wYXJ0U2l6ZSA9ICR0aGlzLT5jYWxjdWxhdGVQYXJ0U2l6ZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2ludm9rZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT51cGxvYWQoKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRBbGxFdmVudHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgc2VsZjo6QkVGT1JFX1BBUlRfVVBMT0FELAogICAgICAgICAgICBzZWxmOjpBRlRFUl9VUExPQUQsCiAgICAgICAgICAgIHNlbGY6OkJFRk9SRV9QQVJUX1VQTE9BRCwKICAgICAgICAgICAgc2VsZjo6QUZURVJfUEFSVF9VUExPQUQsCiAgICAgICAgICAgIHNlbGY6OkFGVEVSX0FCT1JULAogICAgICAgICAgICBzZWxmOjpBRlRFUl9DT01QTEVURQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhYm9ydCgpCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0QWJvcnRDb21tYW5kKCk7CiAgICAgICAgJHJlc3VsdCA9ICRjb21tYW5kLT5nZXRSZXN1bHQoKTsKCiAgICAgICAgJHRoaXMtPnN0YXRlLT5zZXRBYm9ydGVkKHRydWUpOwogICAgICAgICR0aGlzLT5zdG9wKCk7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoKHNlbGY6OkFGVEVSX0FCT1JULCAkdGhpcy0+Z2V0RXZlbnREYXRhKCRjb21tYW5kKSk7CgogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc3RvcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnN0b3BwZWQgPSB0cnVlOwoKICAgICAgICByZXR1cm4gJHRoaXMtPnN0YXRlOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U3RhdGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c3RhdGU7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGFycmF5IG9mIG9wdGlvbnMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0cmFuc2ZlcgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE9wdGlvbnMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+b3B0aW9uczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBhbiBvcHRpb24gb24gdGhlIHRyYW5zZmVyCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkb3B0aW9uIE5hbWUgb2YgdGhlIG9wdGlvbgogICAgICogQHBhcmFtIG1peGVkICAkdmFsdWUgIFZhbHVlIHRvIHNldAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0T3B0aW9uKCRvcHRpb24sICR2YWx1ZSkKICAgIHsKICAgICAgICAkdGhpcy0+b3B0aW9uc1skb3B0aW9uXSA9ICR2YWx1ZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBzb3VyY2UgYm9keSBvZiB0aGUgdXBsb2FkCiAgICAgKgogICAgICogQHJldHVybiBFbnRpdHlCb2R5SW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTb3VyY2UoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c291cmNlOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICogQHRocm93cyBNdWx0aXBhcnRVcGxvYWRFeGNlcHRpb24gd2hlbiBhbiBlcnJvciBpcyBlbmNvdW50ZXJlZC4gVXNlIGdldExhc3RFeGNlcHRpb24oKSB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi4KICAgICAqIEB0aHJvd3MgUnVudGltZUV4Y2VwdGlvbiAgICAgICAgIHdoZW4gYXR0ZW1wdGluZyB0byB1cGxvYWQgYW4gYWJvcnRlZCB0cmFuc2ZlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXBsb2FkKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnN0YXRlLT5pc0Fib3J0ZWQoKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbignVGhlIHRyYW5zZmVyIGhhcyBiZWVuIGFib3J0ZWQgYW5kIGNhbm5vdCBiZSB1cGxvYWRlZCcpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnN0b3BwZWQgPSBmYWxzZTsKICAgICAgICAkZXZlbnREYXRhID0gJHRoaXMtPmdldEV2ZW50RGF0YSgpOwogICAgICAgICR0aGlzLT5kaXNwYXRjaChzZWxmOjpCRUZPUkVfVVBMT0FELCAkZXZlbnREYXRhKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHRoaXMtPnRyYW5zZmVyKCk7CiAgICAgICAgICAgICR0aGlzLT5kaXNwYXRjaChzZWxmOjpBRlRFUl9VUExPQUQsICRldmVudERhdGEpOwoKICAgICAgICAgICAgaWYgKCR0aGlzLT5zdG9wcGVkKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y29tcGxldGUoKTsKICAgICAgICAgICAgICAgICR0aGlzLT5kaXNwYXRjaChzZWxmOjpBRlRFUl9DT01QTEVURSwgJGV2ZW50RGF0YSk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBNdWx0aXBhcnRVcGxvYWRFeGNlcHRpb24oJHRoaXMtPnN0YXRlLCAkZSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbiBhcnJheSB1c2VkIGZvciBldmVudCBub3RpZmljYXRpb25zCiAgICAgKgogICAgICogQHBhcmFtIE9wZXJhdGlvbkNvbW1hbmQgJGNvbW1hbmQgQ29tbWFuZCB0byBpbmNsdWRlIGluIGV2ZW50IGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRFdmVudERhdGEoT3BlcmF0aW9uQ29tbWFuZCAkY29tbWFuZCA9IG51bGwpCiAgICB7CiAgICAgICAgJGRhdGEgPSBhcnJheSgKICAgICAgICAgICAgJ3RyYW5zZmVyJyAgPT4gJHRoaXMsCiAgICAgICAgICAgICdzb3VyY2UnICAgID0+ICR0aGlzLT5zb3VyY2UsCiAgICAgICAgICAgICdvcHRpb25zJyAgID0+ICR0aGlzLT5vcHRpb25zLAogICAgICAgICAgICAnY2xpZW50JyAgICA9PiAkdGhpcy0+Y2xpZW50LAogICAgICAgICAgICAncGFydF9zaXplJyA9PiAkdGhpcy0+cGFydFNpemUsCiAgICAgICAgICAgICdzdGF0ZScgICAgID0+ICR0aGlzLT5zdGF0ZQogICAgICAgICk7CgogICAgICAgIGlmICgkY29tbWFuZCkgewogICAgICAgICAgICAkZGF0YVsnY29tbWFuZCddID0gJGNvbW1hbmQ7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGRhdGE7CiAgICB9CgogICAgLyoqCiAgICAgKiBIb29rIHRvIGluaXRpYWxpemUgdGhlIHRyYW5zZmVyCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpbml0KCkge30KCiAgICAvKioKICAgICAqIERldGVybWluZSB0aGUgdXBsb2FkIHBhcnQgc2l6ZSBiYXNlZCBvbiB0aGUgc2l6ZSBvZiB0aGUgc291cmNlIGRhdGEgYW5kCiAgICAgKiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBhY2NlcHRhYmxlIG1pbmltdW0gYW5kIG1heGltdW0gcGFydCBzaXplcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIGludCBUaGUgcGFydCBzaXplCiAgICAgKi8KICAgIGFic3RyYWN0IHByb3RlY3RlZCBmdW5jdGlvbiBjYWxjdWxhdGVQYXJ0U2l6ZSgpOwoKICAgIC8qKgogICAgICogQ29tcGxldGUgdGhlIG11bHRpcGFydCB1cGxvYWQKICAgICAqCiAgICAgKiBAcmV0dXJuIE1vZGVsIFJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgY29tcGxldGUgbXVsdGlwYXJ0IHVwbG9hZCBjb21tYW5kCiAgICAgKi8KICAgIGFic3RyYWN0IHByb3RlY3RlZCBmdW5jdGlvbiBjb21wbGV0ZSgpOwoKICAgIC8qKgogICAgICogSG9vayB0byBpbXBsZW1lbnQgaW4gc3ViY2xhc3NlcyB0byBwZXJmb3JtIHRoZSBhY3R1YWwgdHJhbnNmZXIKICAgICAqLwogICAgYWJzdHJhY3QgcHJvdGVjdGVkIGZ1bmN0aW9uIHRyYW5zZmVyKCk7CgogICAgLyoqCiAgICAgKiBGZXRjaGVzIHRoZSBhYm9ydCBjb21tYW5kIGZvbSB0aGUgY29uY3JldGUgaW1wbGVtZW50YXRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIE9wZXJhdGlvbkNvbW1hbmQKICAgICAqLwogICAgYWJzdHJhY3QgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldEFib3J0Q29tbWFuZCgpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Model/MultipartUpload/AbstractTransferState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZDsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwoKLyoqCiAqIFN0YXRlIG9mIGEgbXVsdGlwYXJ0IHVwbG9hZAogKi8KYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUcmFuc2ZlclN0YXRlIGltcGxlbWVudHMgVHJhbnNmZXJTdGF0ZUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEB2YXIgVXBsb2FkSWRJbnRlcmZhY2UgT2JqZWN0IGhvbGRpbmcgcGFyYW1zIHVzZWQgdG8gaWRlbnRpdHkgdGhlIHVwbG9hZCBwYXJ0CiAgICAgKi8KICAgIHByb3RlY3RlZCAkdXBsb2FkSWQ7CgogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IEFycmF5IG9mIHBhcnRzIHdoZXJlIHRoZSBwYXJ0IG51bWJlciBpcyB0aGUgaW5kZXgKICAgICAqLwogICAgcHJvdGVjdGVkICRwYXJ0cyA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBAdmFyIGJvb2wgV2hldGhlciBvciBub3QgdGhlIHRyYW5zZmVyIHdhcyBhYm9ydGVkCiAgICAgKi8KICAgIHByb3RlY3RlZCAkYWJvcnRlZCA9IGZhbHNlOwoKICAgIC8qKgogICAgICogQ29uc3RydWN0IGEgbmV3IHRyYW5zZmVyIHN0YXRlIG9iamVjdAogICAgICoKICAgICAqIEBwYXJhbSBVcGxvYWRJZEludGVyZmFjZSAkdXBsb2FkSWQgVXBsb2FkIGlkZW50aWZpZXIgb2JqZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChVcGxvYWRJZEludGVyZmFjZSAkdXBsb2FkSWQpCiAgICB7CiAgICAgICAgJHRoaXMtPnVwbG9hZElkID0gJHVwbG9hZElkOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VXBsb2FkSWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+dXBsb2FkSWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYSBkYXRhIHZhbHVlIGZyb20gdGhlIHRyYW5zZmVyIHN0YXRlJ3MgdXBsb2FkSWQKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgS2V5IHRvIHJldHJpZXZlIChlLmcuIEJ1Y2tldCwgS2V5LCBVcGxvYWRJZCwgZXRjKQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEZyb21JZCgka2V5KQogICAgewogICAgICAgICRwYXJhbXMgPSAkdGhpcy0+dXBsb2FkSWQtPnRvUGFyYW1zKCk7CgogICAgICAgIHJldHVybiBpc3NldCgkcGFyYW1zWyRrZXldKSA/ICRwYXJhbXNbJGtleV0gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGFydCgkcGFydE51bWJlcikKICAgIHsKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPnBhcnRzWyRwYXJ0TnVtYmVyXSkgPyAkdGhpcy0+cGFydHNbJHBhcnROdW1iZXJdIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZFBhcnQoVXBsb2FkUGFydEludGVyZmFjZSAkcGFydCkKICAgIHsKICAgICAgICAkcGFydE51bWJlciA9ICRwYXJ0LT5nZXRQYXJ0TnVtYmVyKCk7CiAgICAgICAgJHRoaXMtPnBhcnRzWyRwYXJ0TnVtYmVyXSA9ICRwYXJ0OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNQYXJ0KCRwYXJ0TnVtYmVyKQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+cGFydHNbJHBhcnROdW1iZXJdKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhcnROdW1iZXJzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXlfa2V5cygkdGhpcy0+cGFydHMpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0QWJvcnRlZCgkYWJvcnRlZCkKICAgIHsKICAgICAgICAkdGhpcy0+YWJvcnRlZCA9IChib29sKSAkYWJvcnRlZDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNBYm9ydGVkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmFib3J0ZWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb3VudCgpCiAgICB7CiAgICAgICAgcmV0dXJuIGNvdW50KCR0aGlzLT5wYXJ0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJdGVyYXRvcigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBcQXJyYXlJdGVyYXRvcigkdGhpcy0+cGFydHMpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VyaWFsaXplKCkKICAgIHsKICAgICAgICByZXR1cm4gc2VyaWFsaXplKGdldF9vYmplY3RfdmFycygkdGhpcykpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdW5zZXJpYWxpemUoJHNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgJGRhdGEgPSB1bnNlcmlhbGl6ZSgkc2VyaWFsaXplZCk7CiAgICAgICAgZm9yZWFjaCAoZ2V0X29iamVjdF92YXJzKCR0aGlzKSBhcyAkcHJvcGVydHkgPT4gJG9sZFZhbHVlKSB7CiAgICAgICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCRwcm9wZXJ0eSwgJGRhdGEpKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+eyRwcm9wZXJ0eX0gPSAkZGF0YVskcHJvcGVydHldOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIlRoZSB7JHByb3BlcnR5fSBwcm9wZXJ0eSBjb3VsZCBiZSByZXN0b3JlZCBkdXJpbmcgdW5zZXJpYWxpemF0aW9uLiIpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Model/MultipartUpload/AbstractUploadBuilder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZDsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxBd3NDbGllbnRJbnRlcmZhY2U7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5OwoKLyoqCiAqIEVhc2lseSBjcmVhdGUgYSBtdWx0aXBhcnQgdXBsb2FkZXIgdXNlZCB0byBxdWlja2x5IGFuZCByZWxpYWJseSB1cGxvYWQgYQogKiBsYXJnZSBmaWxlIG9yIGRhdGEgc3RyZWFtIHRvIEFtYXpvbiBTMyB1c2luZyBtdWx0aXBhcnQgdXBsb2FkcwogKi8KYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RVcGxvYWRCdWlsZGVyCnsKICAgIC8qKgogICAgICogQHZhciBBd3NDbGllbnRJbnRlcmZhY2UgQ2xpZW50IHVzZWQgdG8gdHJhbnNmZXIgcmVxdWVzdHMKICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgLyoqCiAgICAgKiBAdmFyIFRyYW5zZmVyU3RhdGVJbnRlcmZhY2UgU3RhdGUgb2YgdGhlIHRyYW5zZmVyCiAgICAgKi8KICAgIHByb3RlY3RlZCAkc3RhdGU7CgogICAgLyoqCiAgICAgKiBAdmFyIEVudGl0eUJvZHkgU291cmNlIG9mIHRoZSBkYXRhCiAgICAgKi8KICAgIHByb3RlY3RlZCAkc291cmNlOwoKICAgIC8qKgogICAgICogQHZhciBhcnJheSBBcnJheSBvZiBoZWFkZXJzIHRvIHNldCBvbiB0aGUgb2JqZWN0CiAgICAgKi8KICAgIHByb3RlY3RlZCAkaGVhZGVycyA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIFVwbG9hZEJ1aWxkZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBuZXdJbnN0YW5jZSgpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBzdGF0aWM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGNsaWVudCB1c2VkIHRvIGNvbm5lY3QgdG8gdGhlIEFXUyBzZXJ2aWNlCiAgICAgKgogICAgICogQHBhcmFtIEF3c0NsaWVudEludGVyZmFjZSAkY2xpZW50IENsaWVudCB0byB1c2UKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldENsaWVudChBd3NDbGllbnRJbnRlcmZhY2UgJGNsaWVudCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gJGNsaWVudDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBzdGF0ZSBvZiB0aGUgdXBsb2FkLiBUaGlzIGlzIHVzZWZ1bCBmb3IgcmVzdW1pbmcgZnJvbSBhIHByZXZpb3VzbHkgc3RhcnRlZCBtdWx0aXBhcnQgdXBsb2FkLgogICAgICogWW91IG11c3QgdXNlIGEgbG9jYWwgZmlsZSBzdHJlYW0gYXMgdGhlIGRhdGEgc291cmNlIGlmIHlvdSB3aXNoIHRvIHJlc3VtZSBmcm9tIGEgcHJldmlvdXMgdXBsb2FkLgogICAgICoKICAgICAqIEBwYXJhbSBUcmFuc2ZlclN0YXRlSW50ZXJmYWNlfHN0cmluZyAkc3RhdGUgUGFzcyBhIFRyYW5zZmVyU3RhdGVJbnRlcmZhY2Ugb2JqZWN0IG9yIHRoZSBJRCBvZiB0aGUgaW5pdGlhdGVkCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGFydCB1cGxvYWQuIFdoZW4gYW4gSUQgaXMgcGFzc2VkLCB0aGUgYnVpbGRlciB3aWxsIGNyZWF0ZSBhCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlIG9iamVjdCB1c2luZyB0aGUgZGF0YSBmcm9tIGEgTGlzdFBhcnRzIEFQSSByZXNwb25zZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlc3VtZUZyb20oJHN0YXRlKQogICAgewogICAgICAgICR0aGlzLT5zdGF0ZSA9ICRzdGF0ZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBkYXRhIHNvdXJjZSBvZiB0aGUgdHJhbnNmZXIKICAgICAqCiAgICAgKiBAcGFyYW0gcmVzb3VyY2V8c3RyaW5nfEVudGl0eUJvZHkgJHNvdXJjZSBTb3VyY2Ugb2YgdGhlIHRyYW5zZmVyLiBQYXNzIGEgc3RyaW5nIHRvIHRyYW5zZmVyIGZyb20gYSBmaWxlIG9uIGRpc2suCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZb3UgY2FuIGFsc28gc3RyZWFtIGZyb20gYSByZXNvdXJjZSByZXR1cm5lZCBmcm9tIGZvcGVuIG9yIGEgR3V6emxlCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7QHNlZSBFbnRpdHlCb2R5fSBvYmplY3QuCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIHRoZSBzb3VyY2UgY2Fubm90IGJlIGZvdW5kIG9yIG9wZW5lZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U291cmNlKCRzb3VyY2UpCiAgICB7CiAgICAgICAgLy8gVXNlIHRoZSBjb250ZW50cyBvZiBhIGZpbGUgYXMgdGhlIGRhdGEgc291cmNlCiAgICAgICAgaWYgKGlzX3N0cmluZygkc291cmNlKSkgewogICAgICAgICAgICBpZiAoIWZpbGVfZXhpc3RzKCRzb3VyY2UpKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCJGaWxlIGRvZXMgbm90IGV4aXN0OiB7JHNvdXJjZX0iKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBDbGVhciB0aGUgY2FjaGUgc28gdGhhdCB3ZSBzZW5kIGFjY3VyYXRlIGZpbGUgc2l6ZXMKICAgICAgICAgICAgY2xlYXJzdGF0Y2FjaGUodHJ1ZSwgJHNvdXJjZSk7CiAgICAgICAgICAgICRzb3VyY2UgPSBmb3Blbigkc291cmNlLCAncicpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnNvdXJjZSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJHNvdXJjZSk7CgogICAgICAgIGlmICgkdGhpcy0+c291cmNlLT5pc1NlZWthYmxlKCkgJiYgJHRoaXMtPnNvdXJjZS0+Z2V0U2l6ZSgpID09IDApIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignRW1wdHkgYm9keSBwcm92aWRlZCB0byB1cGxvYWQgYnVpbGRlcicpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU3BlY2lmeSB0aGUgaGVhZGVycyB0byBzZXQgb24gdGhlIHVwbG9hZAogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkaGVhZGVycyBIZWFkZXJzIHRvIGFkZCB0byB0aGUgdXBsb2FkZWQgb2JqZWN0CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRIZWFkZXJzKGFycmF5ICRoZWFkZXJzKQogICAgewogICAgICAgICR0aGlzLT5oZWFkZXJzID0gJGhlYWRlcnM7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEJ1aWxkIHRoZSBhcHByb3ByaWF0ZSB1cGxvYWRlciBiYXNlZCBvbiB0aGUgYnVpbGRlciBvcHRpb25zCiAgICAgKgogICAgICogQHJldHVybiBUcmFuc2ZlckludGVyZmFjZQogICAgICovCiAgICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gYnVpbGQoKTsKCiAgICAvKioKICAgICAqIEluaXRpYXRlIHRoZSBtdWx0aXBhcnQgdXBsb2FkCiAgICAgKgogICAgICogQHJldHVybiBUcmFuc2ZlclN0YXRlSW50ZXJmYWNlCiAgICAgKi8KICAgIGFic3RyYWN0IHByb3RlY3RlZCBmdW5jdGlvbiBpbml0aWF0ZU11bHRpcGFydFVwbG9hZCgpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Model/MultipartUpload/AbstractUploadId.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZDsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CgovKioKICogQW4gb2JqZWN0IHRoYXQgZW5jYXBzdWxhdGVzIHRoZSBkYXRhIGlkZW50aWZ5aW5nIGFuIHVwbG9hZAogKi8KYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RVcGxvYWRJZCBpbXBsZW1lbnRzIFVwbG9hZElkSW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQHZhciBhcnJheSBFeHBlY3RlZCB2YWx1ZXMgKHdpdGggZGVmYXVsdHMpCiAgICAgKi8KICAgIHByb3RlY3RlZCBzdGF0aWMgJGV4cGVjdGVkVmFsdWVzID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgUGFyYW1zIHJlcHJlc2VudGluZyB0aGUgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24KICAgICAqLwogICAgcHJvdGVjdGVkICRkYXRhID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmcm9tUGFyYW1zKCRkYXRhKQogICAgewogICAgICAgICR1cGxvYWRJZCA9IG5ldyBzdGF0aWMoKTsKICAgICAgICAkdXBsb2FkSWQtPmxvYWREYXRhKCRkYXRhKTsKCiAgICAgICAgcmV0dXJuICR1cGxvYWRJZDsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRvUGFyYW1zKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRhdGE7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXJpYWxpemUoKQogICAgewogICAgICAgIHJldHVybiBzZXJpYWxpemUoJHRoaXMtPmRhdGEpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdW5zZXJpYWxpemUoJHNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgJHRoaXMtPmxvYWREYXRhKHVuc2VyaWFsaXplKCRzZXJpYWxpemVkKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBMb2FkcyBhbiBhcnJheSBvZiBkYXRhIGludG8gdGhlIFVwbG9hZElkIGJ5IGV4dHJhY3Rpbmcgb25seSB0aGUgbmVlZGVkIGtleXMKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGRhdGEgRGF0YSB0byBsb2FkCiAgICAgKgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaWYgYSByZXF1aXJlZCBrZXkgaXMgbWlzc2luZwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gbG9hZERhdGEoJGRhdGEpCiAgICB7CiAgICAgICAgJGRhdGEgPSBhcnJheV9yZXBsYWNlKHN0YXRpYzo6JGV4cGVjdGVkVmFsdWVzLCBhcnJheV9pbnRlcnNlY3Rfa2V5KCRkYXRhLCBzdGF0aWM6OiRleHBlY3RlZFZhbHVlcykpOwogICAgICAgIGZvcmVhY2ggKCRkYXRhIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgIGlmIChpc3NldCgkZGF0YVska2V5XSkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5kYXRhWyRrZXldID0gJGRhdGFbJGtleV07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCJBIHJlcXVpcmVkIGtleSBbJGtleV0gd2FzIG1pc3NpbmcgZnJvbSB0aGUgVXBsb2FkSWQuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Model/MultipartUpload/AbstractUploadPart.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZDsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CgovKioKICogQW4gb2JqZWN0IHRoYXQgZW5jYXBzdWxhdGVzIHRoZSBkYXRhIGZvciBhbiB1cGxvYWQgcGFydAogKi8KYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RVcGxvYWRQYXJ0IGltcGxlbWVudHMgVXBsb2FkUGFydEludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgQSBtYXAgb2YgZXh0ZXJuYWwgYXJyYXkga2V5cyB0byBpbnRlcm5hbCBwcm9wZXJ0eSBuYW1lcwogICAgICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRrZXlNYXAgPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogQHZhciBpbnQgVGhlIG51bWJlciBvZiB0aGUgdXBsb2FkIHBhcnQgcmVwcmVzZW50aW5nIGl0cyBvcmRlciBpbiB0aGUgb3ZlcmFsbCB1cGxvYWQKICAgICAqLwogICAgcHJvdGVjdGVkICRwYXJ0TnVtYmVyOwoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZyb21BcnJheSgkZGF0YSkKICAgIHsKICAgICAgICAkcGFydCA9IG5ldyBzdGF0aWMoKTsKICAgICAgICAkcGFydC0+bG9hZERhdGEoJGRhdGEpOwoKICAgICAgICByZXR1cm4gJHBhcnQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYXJ0TnVtYmVyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnBhcnROdW1iZXI7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0b0FycmF5KCkKICAgIHsKICAgICAgICAkYXJyYXkgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKHN0YXRpYzo6JGtleU1hcCBhcyAka2V5ID0+ICRwcm9wZXJ0eSkgewogICAgICAgICAgICAkYXJyYXlbJGtleV0gPSAkdGhpcy0+eyRwcm9wZXJ0eX07CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGFycmF5OwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VyaWFsaXplKCkKICAgIHsKICAgICAgICByZXR1cm4gc2VyaWFsaXplKCR0aGlzLT50b0FycmF5KCkpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdW5zZXJpYWxpemUoJHNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgJHRoaXMtPmxvYWREYXRhKHVuc2VyaWFsaXplKCRzZXJpYWxpemVkKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBMb2FkcyBhbiBhcnJheSBvZiBkYXRhIGludG8gdGhlIHVwbG9hZCBwYXJ0IGJ5IGV4dHJhY3Rpbmcgb25seSB0aGUgbmVlZGVkIGtleXMKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8XFRyYXZlcnNhYmxlICRkYXRhIERhdGEgdG8gbG9hZCBpbnRvIHRoZSB1cGxvYWQgcGFydCB2YWx1ZSBvYmplY3QKICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBpZiBhIHJlcXVpcmVkIGtleSBpcyBtaXNzaW5nCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBsb2FkRGF0YSgkZGF0YSkKICAgIHsKICAgICAgICBmb3JlYWNoIChzdGF0aWM6OiRrZXlNYXAgYXMgJGtleSA9PiAkcHJvcGVydHkpIHsKICAgICAgICAgICAgaWYgKGlzc2V0KCRkYXRhWyRrZXldKSkgewogICAgICAgICAgICAgICAgJHRoaXMtPnskcHJvcGVydHl9ID0gJGRhdGFbJGtleV07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCJBIHJlcXVpcmVkIGtleSBbJGtleV0gd2FzIG1pc3NpbmcgZnJvbSB0aGUgdXBsb2FkIHBhcnQuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Model/MultipartUpload/TransferInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZDsKCnVzZSBHdXp6bGVcQ29tbW9uXEhhc0Rpc3BhdGNoZXJJbnRlcmZhY2U7CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKCi8qKgogKiBJbnRlcmZhY2UgZm9yIHRyYW5zZmVycmluZyB0aGUgY29udGVudHMgb2YgYSBkYXRhIHNvdXJjZSB0byBhbiBBV1Mgc2VydmljZSB2aWEgYSBtdWx0aXBhcnQgdXBsb2FkIGludGVyZmFjZQogKi8KaW50ZXJmYWNlIFRyYW5zZmVySW50ZXJmYWNlIGV4dGVuZHMgSGFzRGlzcGF0Y2hlckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIFVwbG9hZCB0aGUgc291cmNlIHRvIHVzaW5nIGEgbXVsdGlwYXJ0IHVwbG9hZAogICAgICoKICAgICAqIEByZXR1cm4gTW9kZWx8bnVsbCBSZXN1bHQgb2YgdGhlIGNvbXBsZXRlIG11bHRpcGFydCB1cGxvYWQgY29tbWFuZCBvciBudWxsIGlmIHVwbG9hZGluZyB3YXMgc3RvcHBlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXBsb2FkKCk7CgogICAgLyoqCiAgICAgKiBBYm9ydCB0aGUgdXBsb2FkCiAgICAgKgogICAgICogQHJldHVybiBNb2RlbCBSZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIGFib3J0IG11bHRpcGFydCB1cGxvYWQgY29tbWFuZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWJvcnQoKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgdXBsb2FkCiAgICAgKgogICAgICogQHJldHVybiBUcmFuc2ZlclN0YXRlSW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTdGF0ZSgpOwoKICAgIC8qKgogICAgICogU3RvcCB0aGUgdHJhbnNmZXIgYW5kIHJldHJpZXZlIHRoZSBjdXJyZW50IHN0YXRlLgogICAgICoKICAgICAqIFRoaXMgYWxsb3dzIHlvdSB0byBzdG9wIGFuZCBsYXRlciByZXN1bWUgYSBsb25nIHJ1bm5pbmcgdHJhbnNmZXIgaWYgbmVlZGVkLgogICAgICoKICAgICAqIEByZXR1cm4gVHJhbnNmZXJTdGF0ZUludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc3RvcCgpOwoKICAgIC8qKgogICAgICogU2V0IGFuIG9wdGlvbiBvbiB0aGUgdHJhbnNmZXIgb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkb3B0aW9uIE9wdGlvbiB0byBzZXQKICAgICAqIEBwYXJhbSBtaXhlZCAgJHZhbHVlICBUaGUgdmFsdWUgdG8gc2V0CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRPcHRpb24oJG9wdGlvbiwgJHZhbHVlKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Model/MultipartUpload/TransferStateInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZDsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxBd3NDbGllbnRJbnRlcmZhY2U7CgovKioKICogU3RhdGUgb2YgYSBtdWx0aXBhcnQgdXBsb2FkCiAqLwppbnRlcmZhY2UgVHJhbnNmZXJTdGF0ZUludGVyZmFjZSBleHRlbmRzIFxDb3VudGFibGUsIFxJdGVyYXRvckFnZ3JlZ2F0ZSwgXFNlcmlhbGl6YWJsZQp7CiAgICAvKioKICAgICAqIENyZWF0ZSB0aGUgdHJhbnNmZXIgc3RhdGUgZnJvbSB0aGUgcmVzdWx0cyBvZiBsaXN0IHBhcnRzIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gQXdzQ2xpZW50SW50ZXJmYWNlICRjbGllbnQgICBDbGllbnQgdXNlZCB0byBzZW5kIHRoZSByZXF1ZXN0CiAgICAgKiBAcGFyYW0gVXBsb2FkSWRJbnRlcmZhY2UgICR1cGxvYWRJZCBQYXJhbXMgbmVlZGVkIHRvIGlkZW50aWZ5IHRoZSB1cGxvYWQgYW5kIGZvcm0gdGhlIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmcm9tVXBsb2FkSWQoQXdzQ2xpZW50SW50ZXJmYWNlICRjbGllbnQsIFVwbG9hZElkSW50ZXJmYWNlICR1cGxvYWRJZCk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHBhcmFtcyB1c2VkIHRvIGlkZW50aWZ5IGFuIHVwbG9hZCBwYXJ0CiAgICAgKgogICAgICogQHJldHVybiBVcGxvYWRJZEludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VXBsb2FkSWQoKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgcGFydCBpbmZvcm1hdGlvbiBvZiBhIHNwZWNpZmljIHBhcnQKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRwYXJ0TnVtYmVyIFBhcnQgdG8gcmV0cmlldmUKICAgICAqCiAgICAgKiBAcmV0dXJuIFVwbG9hZFBhcnRJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhcnQoJHBhcnROdW1iZXIpOwoKICAgIC8qKgogICAgICogQWRkIGEgcGFydCB0byB0aGUgdHJhbnNmZXIgc3RhdGUKICAgICAqCiAgICAgKiBAcGFyYW0gVXBsb2FkUGFydEludGVyZmFjZSAkcGFydCBUaGUgcGFydCB0byBhZGQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZFBhcnQoVXBsb2FkUGFydEludGVyZmFjZSAkcGFydCk7CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiBhIHNwZWNpZmljIHBhcnQgaGFzIGJlZW4gdXBsb2FkZWQKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRwYXJ0TnVtYmVyIFBhcnQgdG8gY2hlY2sKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGhhc1BhcnQoJHBhcnROdW1iZXIpOwoKICAgIC8qKgogICAgICogR2V0IGEgbGlzdCBvZiBhbGwgb2YgdGhlIHVwbG9hZGVkIHBhcnQgbnVtYmVycwogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhcnROdW1iZXJzKCk7CgogICAgLyoqCiAgICAgKiBTZXQgd2hldGhlciBvciBub3QgdGhlIHRyYW5zZmVyIGhhcyBiZWVuIGFib3J0ZWQKICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbCAkYWJvcnRlZCBTZXQgdG8gdHJ1ZSB0byBtYXJrIHRoZSB0cmFuc2ZlciBhcyBhYm9ydGVkCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRBYm9ydGVkKCRhYm9ydGVkKTsKCiAgICAvKioKICAgICAqIENoZWNrIGlmIHRoZSB0cmFuc2ZlciBoYXMgYmVlbiBtYXJrZWQgYXMgYWJvcnRlZAogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNBYm9ydGVkKCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Model/MultipartUpload/UploadIdInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZDsKCi8qKgogKiBBbiBvYmplY3QgdGhhdCBlbmNhcHN1bGF0ZXMgdGhlIGRhdGEgaWRlbnRpZnlpbmcgYW4gdXBsb2FkCiAqLwppbnRlcmZhY2UgVXBsb2FkSWRJbnRlcmZhY2UgZXh0ZW5kcyBcU2VyaWFsaXphYmxlCnsKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIFVwbG9hZElkIGZyb20gYW4gYXJyYXkKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGRhdGEgRGF0YSByZXByZXNlbnRpbmcgdGhlIHVwbG9hZCBpZGVudGlmaWNhdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZyb21QYXJhbXMoJGRhdGEpOwoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYXJyYXkgZm9ybSBvZiB0aGUgdXBsb2FkIGlkZW50aWZpY2F0aW9uIGZvciB1c2UgYXMgY29tbWFuZCBwYXJhbXMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0b1BhcmFtcygpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Model/MultipartUpload/UploadPartInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZDsKCi8qKgogKiBBbiBvYmplY3QgdGhhdCBlbmNhcHN1bGF0ZXMgdGhlIGRhdGEgZm9yIGFuIHVwbG9hZCBwYXJ0CiAqLwppbnRlcmZhY2UgVXBsb2FkUGFydEludGVyZmFjZSBleHRlbmRzIFxTZXJpYWxpemFibGUKewogICAgLyoqCiAgICAgKiBDcmVhdGUgYW4gdXBsb2FkIHBhcnQgZnJvbSBhbiBhcnJheQogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxcVHJhdmVyc2FibGUgJGRhdGEgRGF0YSByZXByZXNlbnRpbmcgdGhlIHVwbG9hZCBwYXJ0CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbUFycmF5KCRkYXRhKTsKCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHBhcnQgbnVtYmVyIG9mIHRoZSB1cGxvYWQgcGFydCB3aGljaCBpcyB1c2VkIGFzIGFuIGlkZW50aWZpZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIGludAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGFydE51bWJlcigpOwoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYXJyYXkgZm9ybSBvZiB0aGUgdXBsb2FkIHBhcnQKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0b0FycmF5KCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Resources/aws-config.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSgKICAgICdjbGFzcycgPT4gJ0F3c1xDb21tb25cQXdzJywKICAgICdzZXJ2aWNlcycgPT4gYXJyYXkoCgogICAgICAgICdkZWZhdWx0X3NldHRpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3BhcmFtcycgPT4gYXJyYXkoKQogICAgICAgICksCgogICAgICAgICdhdXRvc2NhbGluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnQXV0b1NjYWxpbmcnLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xBdXRvU2NhbGluZ1xBdXRvU2NhbGluZ0NsaWVudCcKICAgICAgICApLAoKICAgICAgICAnY2xvdWRmb3JtYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnYWxpYXMnICAgPT4gJ0Nsb3VkRm9ybWF0aW9uJywKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdkZWZhdWx0X3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBd3NcQ2xvdWRGb3JtYXRpb25cQ2xvdWRGb3JtYXRpb25DbGllbnQnCiAgICAgICAgKSwKCiAgICAgICAgJ2Nsb3VkZnJvbnQnID0+IGFycmF5KAogICAgICAgICAgICAnYWxpYXMnICAgPT4gJ0Nsb3VkRnJvbnQnLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xDbG91ZEZyb250XENsb3VkRnJvbnRDbGllbnQnCiAgICAgICAgKSwKCiAgICAgICAgJ2Nsb3VkZnJvbnRfMjAxMjA1MDUnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2Nsb3VkZnJvbnQnLAogICAgICAgICAgICAncGFyYW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiAnMjAxMi0wNS0wNScKICAgICAgICAgICAgKQogICAgICAgICksCgogICAgICAgICdjbG91ZHNlYXJjaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnQ2xvdWRTZWFyY2gnLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xDbG91ZFNlYXJjaFxDbG91ZFNlYXJjaENsaWVudCcKICAgICAgICApLAoKICAgICAgICAnY2xvdWR0cmFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnQ2xvdWRUcmFpbCcsCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnZGVmYXVsdF9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQXdzXENsb3VkVHJhaWxcQ2xvdWRUcmFpbENsaWVudCcKICAgICAgICApLAoKICAgICAgICAnY2xvdWR3YXRjaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnQ2xvdWRXYXRjaCcsCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnZGVmYXVsdF9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQXdzXENsb3VkV2F0Y2hcQ2xvdWRXYXRjaENsaWVudCcKICAgICAgICApLAoKICAgICAgICAnZGF0YXBpcGVsaW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2FsaWFzJyAgID0+ICdEYXRhUGlwZWxpbmUnLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xEYXRhUGlwZWxpbmVcRGF0YVBpcGVsaW5lQ2xpZW50JwogICAgICAgICksCgogICAgICAgICdkaXJlY3Rjb25uZWN0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2FsaWFzJyAgID0+ICdEaXJlY3RDb25uZWN0JywKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdkZWZhdWx0X3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBd3NcRGlyZWN0Q29ubmVjdFxEaXJlY3RDb25uZWN0Q2xpZW50JwogICAgICAgICksCgogICAgICAgICdkeW5hbW9kYicgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnRHluYW1vRGInLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudCcKICAgICAgICApLAoKICAgICAgICAnZHluYW1vZGJfMjAxMTEyMDUnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2R5bmFtb2RiJywKICAgICAgICAgICAgJ3BhcmFtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gJzIwMTEtMTItMDUnCiAgICAgICAgICAgICkKICAgICAgICApLAoKICAgICAgICAnZWMyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2FsaWFzJyAgID0+ICdFYzInLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xFYzJcRWMyQ2xpZW50JwogICAgICAgICksCgogICAgICAgICdlbGFzdGljYWNoZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnRWxhc3RpQ2FjaGUnLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xFbGFzdGlDYWNoZVxFbGFzdGlDYWNoZUNsaWVudCcKICAgICAgICApLAoKICAgICAgICAnZWxhc3RpY2JlYW5zdGFsaycgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnRWxhc3RpY0JlYW5zdGFsaycsCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnZGVmYXVsdF9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQXdzXEVsYXN0aWNCZWFuc3RhbGtcRWxhc3RpY0JlYW5zdGFsa0NsaWVudCcKICAgICAgICApLAoKICAgICAgICAnZWxhc3RpY2xvYWRiYWxhbmNpbmcnID0+IGFycmF5KAogICAgICAgICAgICAnYWxpYXMnICAgPT4gJ0VsYXN0aWNMb2FkQmFsYW5jaW5nJywKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdkZWZhdWx0X3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRWxhc3RpY0xvYWRCYWxhbmNpbmdDbGllbnQnCiAgICAgICAgKSwKCiAgICAgICAgJ2VsYXN0aWN0cmFuc2NvZGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2FsaWFzJyAgID0+ICdFbGFzdGljVHJhbnNjb2RlcicsCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnZGVmYXVsdF9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQXdzXEVsYXN0aWNUcmFuc2NvZGVyXEVsYXN0aWNUcmFuc2NvZGVyQ2xpZW50JwogICAgICAgICksCgogICAgICAgICdlbXInID0+IGFycmF5KAogICAgICAgICAgICAnYWxpYXMnICAgPT4gJ0VtcicsCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnZGVmYXVsdF9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQXdzXEVtclxFbXJDbGllbnQnCiAgICAgICAgKSwKCiAgICAgICAgJ2dsYWNpZXInID0+IGFycmF5KAogICAgICAgICAgICAnYWxpYXMnICAgPT4gJ0dsYWNpZXInLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xHbGFjaWVyXEdsYWNpZXJDbGllbnQnCiAgICAgICAgKSwKCiAgICAgICAgJ2tpbmVzaXMnID0+IGFycmF5KAogICAgICAgICAgICAnYWxpYXMnICAgPT4gJ0tpbmVzaXMnLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xLaW5lc2lzXEtpbmVzaXNDbGllbnQnCiAgICAgICAgKSwKCiAgICAgICAgJ2lhbScgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnSWFtJywKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdkZWZhdWx0X3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBd3NcSWFtXElhbUNsaWVudCcKICAgICAgICApLAoKICAgICAgICAnaW1wb3J0ZXhwb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2FsaWFzJyAgID0+ICdJbXBvcnRFeHBvcnQnLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xJbXBvcnRFeHBvcnRcSW1wb3J0RXhwb3J0Q2xpZW50JwogICAgICAgICksCgogICAgICAgICdvcHN3b3JrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnT3BzV29ya3MnLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xPcHNXb3Jrc1xPcHNXb3Jrc0NsaWVudCcKICAgICAgICApLAoKICAgICAgICAncmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2FsaWFzJyAgID0+ICdSZHMnLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xSZHNcUmRzQ2xpZW50JwogICAgICAgICksCgogICAgICAgICdyZWRzaGlmdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnUmVkc2hpZnQnLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xSZWRzaGlmdFxSZWRzaGlmdENsaWVudCcKICAgICAgICApLAoKICAgICAgICAncm91dGU1MycgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnUm91dGU1MycsCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnZGVmYXVsdF9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQXdzXFJvdXRlNTNcUm91dGU1M0NsaWVudCcKICAgICAgICApLAoKICAgICAgICAnczMnID0+IGFycmF5KAogICAgICAgICAgICAnYWxpYXMnICAgPT4gJ1MzJywKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdkZWZhdWx0X3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBd3NcUzNcUzNDbGllbnQnCiAgICAgICAgKSwKCiAgICAgICAgJ3NkYicgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnU2ltcGxlRGInLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xTaW1wbGVEYlxTaW1wbGVEYkNsaWVudCcKICAgICAgICApLAoKICAgICAgICAnc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2FsaWFzJyAgID0+ICdTZXMnLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xTZXNcU2VzQ2xpZW50JwogICAgICAgICksCgogICAgICAgICdzbnMnID0+IGFycmF5KAogICAgICAgICAgICAnYWxpYXMnICAgPT4gJ1NucycsCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnZGVmYXVsdF9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQXdzXFNuc1xTbnNDbGllbnQnCiAgICAgICAgKSwKCiAgICAgICAgJ3NxcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnU3FzJywKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdkZWZhdWx0X3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBd3NcU3FzXFNxc0NsaWVudCcKICAgICAgICApLAoKICAgICAgICAnc3RvcmFnZWdhdGV3YXknID0+IGFycmF5KAogICAgICAgICAgICAnYWxpYXMnICAgPT4gJ1N0b3JhZ2VHYXRld2F5JywKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdkZWZhdWx0X3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBd3NcU3RvcmFnZUdhdGV3YXlcU3RvcmFnZUdhdGV3YXlDbGllbnQnCiAgICAgICAgKSwKCiAgICAgICAgJ3N0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnU3RzJywKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdkZWZhdWx0X3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBd3NcU3RzXFN0c0NsaWVudCcKICAgICAgICApLAoKICAgICAgICAnc3VwcG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdhbGlhcycgICA9PiAnU3VwcG9ydCcsCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnZGVmYXVsdF9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQXdzXFN1cHBvcnRcU3VwcG9ydENsaWVudCcKICAgICAgICApLAoKICAgICAgICAnc3dmJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2FsaWFzJyAgID0+ICdTd2YnLAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2RlZmF1bHRfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0F3c1xTd2ZcU3dmQ2xpZW50JwogICAgICAgICksCiAgICApCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Resources/sdk1-config.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSgKICAgICdpbmNsdWRlcycgPT4gYXJyYXkoJ19hd3MnKSwKICAgICdzZXJ2aWNlcycgPT4gYXJyYXkoCgogICAgICAgICdzZGsxX3NldHRpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdkZWZhdWx0X3NldHRpbmdzJywKICAgICAgICAgICAgJ3BhcmFtcycgID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2NlcnRpZmljYXRlX2F1dGhvcml0eScgPT4gZmFsc2UKICAgICAgICAgICAgKQogICAgICAgICksCgogICAgICAgICd2MS5hdXRvc2NhbGluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnc2RrMV9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQW1hem9uQVMnCiAgICAgICAgKSwKCiAgICAgICAgJ3YxLmNsb3VkZm9ybWF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdzZGsxX3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBbWF6b25DbG91ZEZvcm1hdGlvbicKICAgICAgICApLAoKICAgICAgICAndjEuY2xvdWRmcm9udCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnc2RrMV9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQW1hem9uQ2xvdWRGcm9udCcKICAgICAgICApLAoKICAgICAgICAndjEuY2xvdWRzZWFyY2gnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ3NkazFfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0FtYXpvbkNsb3VkU2VhcmNoJwogICAgICAgICksCgogICAgICAgICd2MS5jbG91ZHdhdGNoJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdzZGsxX3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBbWF6b25DbG91ZFdhdGNoJwogICAgICAgICksCgogICAgICAgICd2MS5keW5hbW9kYicgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnc2RrMV9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQW1hem9uRHluYW1vREInCiAgICAgICAgKSwKCiAgICAgICAgJ3YxLmVjMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnc2RrMV9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQW1hem9uRUMyJwogICAgICAgICksCgogICAgICAgICd2MS5lbGFzdGljYWNoZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnc2RrMV9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQW1hem9uRWxhc3RpQ2FjaGUnCiAgICAgICAgKSwKCiAgICAgICAgJ3YxLmVsYXN0aWNiZWFuc3RhbGsnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ3NkazFfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0FtYXpvbkVsYXN0aWNCZWFuc3RhbGsnCiAgICAgICAgKSwKCiAgICAgICAgJ3YxLmVsYicgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnc2RrMV9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQW1hem9uRUxCJwogICAgICAgICksCgogICAgICAgICd2MS5lbXInID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ3NkazFfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0FtYXpvbkVNUicKICAgICAgICApLAoKICAgICAgICAndjEuaWFtJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdzZGsxX3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBbWF6b25JQU0nCiAgICAgICAgKSwKCiAgICAgICAgJ3YxLmltcG9ydGV4cG9ydCcgICAgID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ3NkazFfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0FtYXpvbkltcG9ydEV4cG9ydCcKICAgICAgICApLAoKICAgICAgICAndjEucmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdzZGsxX3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBbWF6b25SRFMnCiAgICAgICAgKSwKCiAgICAgICAgJ3YxLnMzJyAgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnc2RrMV9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQW1hem9uUzMnCiAgICAgICAgKSwKCiAgICAgICAgJ3YxLnNkYicgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnc2RrMV9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQW1hem9uU0RCJwogICAgICAgICksCgogICAgICAgICd2MS5zZXMnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ3NkazFfc2V0dGluZ3MnLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ0FtYXpvblNFUycKICAgICAgICApLAoKICAgICAgICAndjEuc25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdzZGsxX3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBbWF6b25TTlMnCiAgICAgICAgKSwKCiAgICAgICAgJ3YxLnNxcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnc2RrMV9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQW1hem9uU1FTJwogICAgICAgICksCgogICAgICAgICd2MS5zdG9yYWdlZ2F0ZXdheScgICA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdzZGsxX3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBbWF6b25TdG9yYWdlR2F0ZXdheScKICAgICAgICApLAoKICAgICAgICAndjEuc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdzZGsxX3NldHRpbmdzJywKICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdBbWF6b25TVFMnCiAgICAgICAgKSwKCiAgICAgICAgJ3YxLnN3ZicgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnc2RrMV9zZXR0aW5ncycsCiAgICAgICAgICAgICdjbGFzcycgICA9PiAnQW1hem9uU1dGJwogICAgICAgICkKICAgICkKKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Signature/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Signature/AbstractSignature.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFNpZ25hdHVyZTsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CgovKioKICogQWJzdHJhY3Qgc2lnbmF0dXJlIGNsYXNzIHRoYXQgY2FuIGJlIHVzZWQgd2hlbiBpbXBsZW1lbnRpbmcgbmV3IGNvbmNyZXRlCiAqIEFXUyBzaWduYXR1cmUgcHJvdG9jb2wgc3RyYXRlZ2llcwogKi8KYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RTaWduYXR1cmUgaW1wbGVtZW50cyBTaWduYXR1cmVJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBAdmFyIGludCBUaW1lc3RhbXAKICAgICAqLwogICAgcHJpdmF0ZSAkdGltZXN0YW1wOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBjYW5vbmljYWxpemVkIHF1ZXJ5IHN0cmluZyBmb3IgYSByZXF1ZXN0CiAgICAgKgogICAgICogQHBhcmFtICBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0CiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0Q2Fub25pY2FsaXplZFF1ZXJ5U3RyaW5nKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QpCiAgICB7CiAgICAgICAgJHF1ZXJ5UGFyYW1zID0gJHJlcXVlc3QtPmdldFF1ZXJ5KCktPmdldEFsbCgpOwogICAgICAgIHVuc2V0KCRxdWVyeVBhcmFtc1snWC1BbXotU2lnbmF0dXJlJ10pOwogICAgICAgIGlmIChlbXB0eSgkcXVlcnlQYXJhbXMpKSB7CiAgICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICB9CgogICAgICAgICRxcyA9ICcnOwogICAgICAgIGtzb3J0KCRxdWVyeVBhcmFtcyk7CiAgICAgICAgZm9yZWFjaCAoJHF1ZXJ5UGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlcykgewogICAgICAgICAgICBpZiAoaXNfYXJyYXkoJHZhbHVlcykpIHsKICAgICAgICAgICAgICAgIHNvcnQoJHZhbHVlcyk7CiAgICAgICAgICAgIH0gZWxzZWlmICghJHZhbHVlcykgewogICAgICAgICAgICAgICAgJHZhbHVlcyA9IGFycmF5KCcnKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZm9yZWFjaCAoKGFycmF5KSAkdmFsdWVzIGFzICR2YWx1ZSkgewogICAgICAgICAgICAgICAgJHFzIC49IHJhd3VybGVuY29kZSgka2V5KSAuICc9JyAuIHJhd3VybGVuY29kZSgkdmFsdWUpIC4gJyYnOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gc3Vic3RyKCRxcywgMCwgLTEpOwogICAgfQoKICAgIC8qKgogICAgICogUHJvdmlkZXMgdGhlIHRpbWVzdGFtcCB1c2VkIGZvciB0aGUgY2xhc3MKICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbCAkcmVmcmVzaCBTZXQgdG8gVFJVRSB0byByZWZyZXNoIHRoZSBjYWNoZWQgdGltZXN0YW1wCiAgICAgKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldFRpbWVzdGFtcCgkcmVmcmVzaCA9IGZhbHNlKQogICAgewogICAgICAgIGlmICghJHRoaXMtPnRpbWVzdGFtcCB8fCAkcmVmcmVzaCkgewogICAgICAgICAgICAkdGhpcy0+dGltZXN0YW1wID0gdGltZSgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT50aW1lc3RhbXA7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYSBkYXRlIGZvciBvbmUgb2YgdGhlIHBhcnRzIG9mIHRoZSByZXF1ZXN0cwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGZvcm1hdCBEYXRlIGZvcm1hdAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXREYXRlVGltZSgkZm9ybWF0KQogICAgewogICAgICAgIHJldHVybiBnbWRhdGUoJGZvcm1hdCwgJHRoaXMtPmdldFRpbWVzdGFtcCgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Signature/EndpointSignatureInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFNpZ25hdHVyZTsKCi8qKgogKiBJbnRlcmZhY2UgZm9yIHNpZ25hdHVyZXMgdGhhdCB1c2Ugc3BlY2lmaWMgcmVnaW9uIGFuZCBzZXJ2aWNlIG5hbWVzIHdoZW4KICogc2lnbmluZyByZXF1ZXN0cy4KICovCmludGVyZmFjZSBFbmRwb2ludFNpZ25hdHVyZUludGVyZmFjZSBleHRlbmRzIFNpZ25hdHVyZUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIFNldCB0aGUgc2VydmljZSBuYW1lIGluc3RlYWQgb2YgaW5mZXJyaW5nIGl0IGZyb20gYSByZXF1ZXN0IFVSTAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHNlcnZpY2UgTmFtZSBvZiB0aGUgc2VydmljZSB1c2VkIHdoZW4gc2lnbmluZwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U2VydmljZU5hbWUoJHNlcnZpY2UpOwoKICAgIC8qKgogICAgICogU2V0IHRoZSByZWdpb24gbmFtZSBpbnN0ZWFkIG9mIGluZmVycmluZyBpdCBmcm9tIGEgcmVxdWVzdCBVUkwKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRyZWdpb24gTmFtZSBvZiB0aGUgcmVnaW9uIHVzZWQgd2hlbiBzaWduaW5nCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRSZWdpb25OYW1lKCRyZWdpb24pOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Signature/SignatureInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFNpZ25hdHVyZTsKCnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzSW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwoKLyoqCiAqIEludGVyZmFjZSB1c2VkIHRvIHByb3ZpZGUgaW50ZXJjaGFuZ2VhYmxlIHN0cmF0ZWdpZXMgZm9yIHNpZ25pbmcgcmVxdWVzdHMKICogdXNpbmcgdGhlIHZhcmlvdXMgQVdTIHNpZ25hdHVyZSBwcm90b2NvbHMuCiAqLwppbnRlcmZhY2UgU2lnbmF0dXJlSW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogU2lnbnMgdGhlIHNwZWNpZmllZCByZXF1ZXN0IHdpdGggYW4gQVdTIHNpZ25pbmcgcHJvdG9jb2wgYnkgdXNpbmcgdGhlCiAgICAgKiBwcm92aWRlZCBBV1MgYWNjb3VudCBjcmVkZW50aWFscyBhbmQgYWRkaW5nIHRoZSByZXF1aXJlZCBoZWFkZXJzIHRvIHRoZQogICAgICogcmVxdWVzdC4KICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAgICAgJHJlcXVlc3QgICAgIFJlcXVlc3QgdG8gYWRkIGEgc2lnbmF0dXJlIHRvCiAgICAgKiBAcGFyYW0gQ3JlZGVudGlhbHNJbnRlcmZhY2UgJGNyZWRlbnRpYWxzIFNpZ25pbmcgY3JlZGVudGlhbHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNpZ25SZXF1ZXN0KFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIENyZWRlbnRpYWxzSW50ZXJmYWNlICRjcmVkZW50aWFscyk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Signature/SignatureListener.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFNpZ25hdHVyZTsKCnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzSW50ZXJmYWNlOwp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CgovKioKICogTGlzdGVuZXIgdXNlZCB0byBzaWduIHJlcXVlc3RzIGJlZm9yZSB0aGV5IGFyZSBzZW50IG92ZXIgdGhlIHdpcmUKICovCmNsYXNzIFNpZ25hdHVyZUxpc3RlbmVyIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQHZhciBDcmVkZW50aWFsc0ludGVyZmFjZQogICAgICovCiAgICBwcm90ZWN0ZWQgJGNyZWRlbnRpYWxzOwoKICAgIC8qKgogICAgICogQHZhciBTaWduYXR1cmVJbnRlcmZhY2UKICAgICAqLwogICAgcHJvdGVjdGVkICRzaWduYXR1cmU7CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3QgYSBuZXcgcmVxdWVzdCBzaWduaW5nIHBsdWdpbgogICAgICoKICAgICAqIEBwYXJhbSBDcmVkZW50aWFsc0ludGVyZmFjZSAkY3JlZGVudGlhbHMgQ3JlZGVudGlhbHMgdXNlZCB0byBzaWduIHJlcXVlc3RzCiAgICAgKiBAcGFyYW0gU2lnbmF0dXJlSW50ZXJmYWNlICAgJHNpZ25hdHVyZSAgIFNpZ25hdHVyZSBpbXBsZW1lbnRhdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoQ3JlZGVudGlhbHNJbnRlcmZhY2UgJGNyZWRlbnRpYWxzLCBTaWduYXR1cmVJbnRlcmZhY2UgJHNpZ25hdHVyZSkKICAgIHsKICAgICAgICAkdGhpcy0+Y3JlZGVudGlhbHMgPSAkY3JlZGVudGlhbHM7CiAgICAgICAgJHRoaXMtPnNpZ25hdHVyZSA9ICRzaWduYXR1cmU7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAncmVxdWVzdC5iZWZvcmVfc2VuZCcgICAgICAgID0+IGFycmF5KCdvblJlcXVlc3RCZWZvcmVTZW5kJywgLTI1NSksCiAgICAgICAgICAgICdjbGllbnQuY3JlZGVudGlhbHNfY2hhbmdlZCcgPT4gYXJyYXkoJ29uQ3JlZGVudGlhbHNDaGFuZ2VkJykKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogVXBkYXRlcyB0aGUgbGlzdGVuZXIgd2l0aCBuZXcgY3JlZGVudGlhbHMgaWYgdGhlIGNsaWVudCBpcyB1cGRhdGVkCiAgICAgKgogICAgICogQHBhcmFtIEV2ZW50ICRldmVudCBFdmVudCBlbWl0dGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvbkNyZWRlbnRpYWxzQ2hhbmdlZChFdmVudCAkZXZlbnQpCiAgICB7CiAgICAgICAgJHRoaXMtPmNyZWRlbnRpYWxzID0gJGV2ZW50WydjcmVkZW50aWFscyddOwogICAgfQoKICAgIC8qKgogICAgICogU2lnbnMgcmVxdWVzdHMgYmVmb3JlIHRoZXkgYXJlIHNlbnQKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50IEV2ZW50IGVtaXR0ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9uUmVxdWVzdEJlZm9yZVNlbmQoRXZlbnQgJGV2ZW50KQogICAgewogICAgICAgICR0aGlzLT5zaWduYXR1cmUtPnNpZ25SZXF1ZXN0KCRldmVudFsncmVxdWVzdCddLCAkdGhpcy0+Y3JlZGVudGlhbHMpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Signature/SignatureV2.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFNpZ25hdHVyZTsKCnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzSW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwoKLyoqCiAqIEltcGxlbWVudGF0aW9uIG9mIFNpZ25hdHVyZSBWZXJzaW9uIDIKICogQGxpbmsgaHR0cDovL2F3cy5hbWF6b24uY29tL2FydGljbGVzLzE5MjgKICovCmNsYXNzIFNpZ25hdHVyZVYyIGV4dGVuZHMgQWJzdHJhY3RTaWduYXR1cmUKewogICAgLyoqCiAgICAgKiB7QGluaGVyaXREb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzaWduUmVxdWVzdChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBDcmVkZW50aWFsc0ludGVyZmFjZSAkY3JlZGVudGlhbHMpCiAgICB7CiAgICAgICAgLy8gcmVmcmVzaCB0aGUgY2FjaGVkIHRpbWVzdGFtcAogICAgICAgICR0aGlzLT5nZXRUaW1lc3RhbXAodHJ1ZSk7CgogICAgICAgIC8vIHNldCB2YWx1ZXMgd2UgbmVlZCBpbiBDYW5vbmljYWxpemVkUGFyYW1ldGVyU3RyaW5nCiAgICAgICAgJHRoaXMtPmFkZFBhcmFtZXRlcigkcmVxdWVzdCwgJ1RpbWVzdGFtcCcsICR0aGlzLT5nZXREYXRlVGltZSgnYycpKTsKICAgICAgICAkdGhpcy0+YWRkUGFyYW1ldGVyKCRyZXF1ZXN0LCAnU2lnbmF0dXJlVmVyc2lvbicsICcyJyk7CiAgICAgICAgJHRoaXMtPmFkZFBhcmFtZXRlcigkcmVxdWVzdCwgJ1NpZ25hdHVyZU1ldGhvZCcsICdIbWFjU0hBMjU2Jyk7CiAgICAgICAgJHRoaXMtPmFkZFBhcmFtZXRlcigkcmVxdWVzdCwgJ0FXU0FjY2Vzc0tleUlkJywgJGNyZWRlbnRpYWxzLT5nZXRBY2Nlc3NLZXlJZCgpKTsKCiAgICAgICAgaWYgKCR0b2tlbiA9ICRjcmVkZW50aWFscy0+Z2V0U2VjdXJpdHlUb2tlbigpKSB7CiAgICAgICAgICAgICR0aGlzLT5hZGRQYXJhbWV0ZXIoJHJlcXVlc3QsICdTZWN1cml0eVRva2VuJywgJHRva2VuKTsKICAgICAgICB9CgogICAgICAgIC8vIEdldCB0aGUgcGF0aCBhbmQgZW5zdXJlIGl0J3MgYWJzb2x1dGUKICAgICAgICAkcGF0aCA9ICcvJyAuIGx0cmltKCRyZXF1ZXN0LT5nZXRVcmwodHJ1ZSktPm5vcm1hbGl6ZVBhdGgoKS0+Z2V0UGF0aCgpLCAnLycpOwoKICAgICAgICAvLyBidWlsZCBzdHJpbmcgdG8gc2lnbgogICAgICAgICRzaWduID0gJHJlcXVlc3QtPmdldE1ldGhvZCgpIC4gIlxuIgogICAgICAgICAgICAuICRyZXF1ZXN0LT5nZXRIb3N0KCkgLiAiXG4iCiAgICAgICAgICAgIC4gJHBhdGggLiAiXG4iCiAgICAgICAgICAgIC4gJHRoaXMtPmdldENhbm9uaWNhbGl6ZWRQYXJhbWV0ZXJTdHJpbmcoJHJlcXVlc3QpOwoKICAgICAgICAvLyBBZGQgdGhlIHN0cmluZyB0byBzaWduIHRvIHRoZSByZXF1ZXN0IGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMKICAgICAgICAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPnNldCgnYXdzLnN0cmluZ190b19zaWduJywgJHNpZ24pOwoKICAgICAgICAkc2lnbmF0dXJlID0gYmFzZTY0X2VuY29kZSgKICAgICAgICAgICAgaGFzaF9obWFjKAogICAgICAgICAgICAgICAgJ3NoYTI1NicsCiAgICAgICAgICAgICAgICAkc2lnbiwKICAgICAgICAgICAgICAgICRjcmVkZW50aWFscy0+Z2V0U2VjcmV0S2V5KCksCiAgICAgICAgICAgICAgICB0cnVlCiAgICAgICAgICAgICkKICAgICAgICApOwoKICAgICAgICAkdGhpcy0+YWRkUGFyYW1ldGVyKCRyZXF1ZXN0LCAnU2lnbmF0dXJlJywgJHNpZ25hdHVyZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYSBwYXJhbWV0ZXIga2V5IGFuZCB2YWx1ZSB0byB0aGUgcmVxdWVzdCBhY2NvcmRpbmcgdG8gdHlwZQogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0IFRoZSByZXF1ZXN0CiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAka2V5ICAgICBUaGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAkdmFsdWUgICBUaGUgdmFsdWUgb2YgdGhlIHBhcmFtZXRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkUGFyYW1ldGVyKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsICRrZXksICR2YWx1ZSkKICAgIHsKICAgICAgICBpZiAoJHJlcXVlc3QtPmdldE1ldGhvZCgpID09ICdQT1NUJykgewogICAgICAgICAgICAkcmVxdWVzdC0+c2V0UG9zdEZpZWxkKCRrZXksICR2YWx1ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHJlcXVlc3QtPmdldFF1ZXJ5KCktPnNldCgka2V5LCAkdmFsdWUpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgY2Fub25pY2FsaXplZCBxdWVyeS9wYXJhbWV0ZXIgc3RyaW5nIGZvciBhIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCBSZXF1ZXN0IHVzZWQgdG8gYnVpbGQgY2Fub25pY2FsaXplZCBzdHJpbmcKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2Fub25pY2FsaXplZFBhcmFtZXRlclN0cmluZyhSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgIGlmICgkcmVxdWVzdC0+Z2V0TWV0aG9kKCkgPT0gJ1BPU1QnKSB7CiAgICAgICAgICAgICRwYXJhbXMgPSAkcmVxdWVzdC0+Z2V0UG9zdEZpZWxkcygpLT50b0FycmF5KCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHBhcmFtcyA9ICRyZXF1ZXN0LT5nZXRRdWVyeSgpLT50b0FycmF5KCk7CiAgICAgICAgfQoKICAgICAgICAvLyBEb24ndCByZXNpZ24gYSBwcmV2aW91cyBzaWduYXR1cmUgdmFsdWUKICAgICAgICB1bnNldCgkcGFyYW1zWydTaWduYXR1cmUnXSk7CiAgICAgICAgdWtzb3J0KCRwYXJhbXMsICdzdHJjbXAnKTsKCiAgICAgICAgJHN0ciA9ICcnOwogICAgICAgIGZvcmVhY2ggKCRwYXJhbXMgYXMgJGtleSA9PiAkdmFsKSB7CiAgICAgICAgICAgICRzdHIgLj0gcmF3dXJsZW5jb2RlKCRrZXkpIC4gJz0nIC4gcmF3dXJsZW5jb2RlKCR2YWwpIC4gJyYnOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHN1YnN0cigkc3RyLCAwLCAtMSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Signature/SignatureV3.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFNpZ25hdHVyZTsKCnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzSW50ZXJmYWNlOwp1c2UgQXdzXENvbW1vblxFbnVtXERhdGVGb3JtYXQ7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2U7CgovKioKICogSW1wbGVtZW50YXRpb24gb2YgU2lnbmF0dXJlIFZlcnNpb24gMwogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25zd2YvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL0hNQUNBdXRoLXN3Zi5odG1sCiAqLwpjbGFzcyBTaWduYXR1cmVWMyBleHRlbmRzIEFic3RyYWN0U2lnbmF0dXJlCnsKICAgIC8qKgogICAgICogR2V0IGFuIGFycmF5IG9mIGhlYWRlcnMgdG8gYmUgc2lnbmVkCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgUmVxdWVzdCB0byBnZXQgaGVhZGVycyBmcm9tCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0SGVhZGVyc1RvU2lnbihSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgICRoZWFkZXJzID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkcmVxdWVzdC0+Z2V0SGVhZGVycygpLT50b0FycmF5KCkgYXMgJGsgPT4gJHYpIHsKICAgICAgICAgICAgJGsgPSBzdHJ0b2xvd2VyKCRrKTsKICAgICAgICAgICAgaWYgKCRrID09ICdob3N0JyB8fCBzdHJwb3MoJGssICd4LWFtei0nKSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICRoZWFkZXJzWyRrXSA9IGltcGxvZGUoJywnLCAkdik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIFNvcnQgdGhlIGhlYWRlcnMgYWxwaGFiZXRpY2FsbHkgYW5kIGFkZCB0aGVtIHRvIHRoZSBzdHJpbmcgdG8gc2lnbgogICAgICAgIGtzb3J0KCRoZWFkZXJzKTsKCiAgICAgICAgcmV0dXJuICRoZWFkZXJzOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2lnblJlcXVlc3QoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgQ3JlZGVudGlhbHNJbnRlcmZhY2UgJGNyZWRlbnRpYWxzKQogICAgewogICAgICAgIC8vIFJlZnJlc2ggdGhlIGNhY2hlZCB0aW1lc3RhbXAKICAgICAgICAkdGhpcy0+Z2V0VGltZXN0YW1wKHRydWUpOwoKICAgICAgICAvLyBBZGQgZGVmYXVsdCBoZWFkZXJzCiAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcigneC1hbXotZGF0ZScsICR0aGlzLT5nZXREYXRlVGltZShEYXRlRm9ybWF0OjpSRkMxMTIzKSk7CgogICAgICAgIC8vIEFkZCB0aGUgc2VjdXJpdHkgdG9rZW4gaWYgb25lIGlzIHByZXNlbnQKICAgICAgICBpZiAoJGNyZWRlbnRpYWxzLT5nZXRTZWN1cml0eVRva2VuKCkpIHsKICAgICAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcigneC1hbXotc2VjdXJpdHktdG9rZW4nLCAkY3JlZGVudGlhbHMtPmdldFNlY3VyaXR5VG9rZW4oKSk7CiAgICAgICAgfQoKICAgICAgICAvLyBHcmFiIHRoZSBwYXRoIGFuZCBlbnN1cmUgdGhhdCBpdCBpcyBhYnNvbHV0ZQogICAgICAgICRwYXRoID0gJy8nIC4gbHRyaW0oJHJlcXVlc3QtPmdldFVybCh0cnVlKS0+bm9ybWFsaXplUGF0aCgpLT5nZXRQYXRoKCksICcvJyk7CgogICAgICAgIC8vIEJlZ2luIGJ1aWxkaW5nIHRoZSBzdHJpbmcgdG8gc2lnbgogICAgICAgICRzaWduID0gJHJlcXVlc3QtPmdldE1ldGhvZCgpIC4gIlxuIgogICAgICAgICAgICAuICJ7JHBhdGh9XG4iCiAgICAgICAgICAgIC4gJHRoaXMtPmdldENhbm9uaWNhbGl6ZWRRdWVyeVN0cmluZygkcmVxdWVzdCkgLiAiXG4iOwoKICAgICAgICAvLyBHZXQgYWxsIG9mIHRoZSBoZWFkZXJzIHRoYXQgbXVzdCBiZSBzaWduZWQgKGhvc3QgYW5kIHgtYW16LSopCiAgICAgICAgJGhlYWRlcnMgPSAkdGhpcy0+Z2V0SGVhZGVyc1RvU2lnbigkcmVxdWVzdCk7CiAgICAgICAgZm9yZWFjaCAoJGhlYWRlcnMgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgJHNpZ24gLj0gJGtleSAuICc6JyAuICR2YWx1ZSAuICJcbiI7CiAgICAgICAgfQoKICAgICAgICAkc2lnbiAuPSAiXG4iOwoKICAgICAgICAvLyBBZGQgdGhlIGJvZHkgb2YgdGhlIHJlcXVlc3QgaWYgYSBib2R5IGlzIHByZXNlbnQKICAgICAgICBpZiAoJHJlcXVlc3QgaW5zdGFuY2VvZiBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0SW50ZXJmYWNlKSB7CiAgICAgICAgICAgICRzaWduIC49IChzdHJpbmcpICRyZXF1ZXN0LT5nZXRCb2R5KCk7CiAgICAgICAgfQoKICAgICAgICAvLyBBZGQgdGhlIHN0cmluZyB0byBzaWduIHRvIHRoZSByZXF1ZXN0IGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMKICAgICAgICAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPnNldCgnYXdzLnN0cmluZ190b19zaWduJywgJHNpZ24pOwoKICAgICAgICAkc2lnbmF0dXJlID0gYmFzZTY0X2VuY29kZShoYXNoX2htYWMoJ3NoYTI1NicsCiAgICAgICAgICAgIGhhc2goJ3NoYTI1NicsICRzaWduLCB0cnVlKSwgJGNyZWRlbnRpYWxzLT5nZXRTZWNyZXRLZXkoKSwgdHJ1ZSkpOwoKICAgICAgICAvLyBBZGQgdGhlIGF1dGhvcml6YXRpb24gaGVhZGVyIHRvIHRoZSByZXF1ZXN0CiAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcigneC1hbXpuLWF1dGhvcml6YXRpb24nLCBzcHJpbnRmKCdBV1MzIEFXU0FjY2Vzc0tleUlkPSVzLEFsZ29yaXRobT1IbWFjU0hBMjU2LFNpZ25lZEhlYWRlcnM9JXMsU2lnbmF0dXJlPSVzJywKICAgICAgICAgICAgJGNyZWRlbnRpYWxzLT5nZXRBY2Nlc3NLZXlJZCgpLAogICAgICAgICAgICBpbXBsb2RlKCc7JywgYXJyYXlfa2V5cygkaGVhZGVycykpLAogICAgICAgICAgICAkc2lnbmF0dXJlKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Signature/SignatureV3Https.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFNpZ25hdHVyZTsKCnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzSW50ZXJmYWNlOwp1c2UgQXdzXENvbW1vblxFbnVtXERhdGVGb3JtYXQ7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CgovKioKICogSW1wbGVtZW50YXRpb24gb2YgU2lnbmF0dXJlIFZlcnNpb24gMyBIVFRQUwogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9Sb3V0ZTUzL2xhdGVzdC9EZXZlbG9wZXJHdWlkZS9SRVNUQXV0aGVudGljYXRpb24uaHRtbAogKi8KY2xhc3MgU2lnbmF0dXJlVjNIdHRwcyBleHRlbmRzIEFic3RyYWN0U2lnbmF0dXJlCnsKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2lnblJlcXVlc3QoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgQ3JlZGVudGlhbHNJbnRlcmZhY2UgJGNyZWRlbnRpYWxzKQogICAgewogICAgICAgIC8vIEFkZCBhIGRhdGUgaGVhZGVyIGlmIG9uZSBpcyBub3Qgc2V0CiAgICAgICAgaWYgKCEkcmVxdWVzdC0+aGFzSGVhZGVyKCdkYXRlJykgJiYgISRyZXF1ZXN0LT5oYXNIZWFkZXIoJ3gtYW16LWRhdGUnKSkgewogICAgICAgICAgICAkcmVxdWVzdC0+c2V0SGVhZGVyKCdEYXRlJywgJHRoaXMtPmdldERhdGVUaW1lKERhdGVGb3JtYXQ6OlJGQzExMjMpKTsKICAgICAgICB9CgogICAgICAgIC8vIEFkZCB0aGUgc2VjdXJpdHkgdG9rZW4gaWYgb25lIGlzIHByZXNlbnQKICAgICAgICBpZiAoJGNyZWRlbnRpYWxzLT5nZXRTZWN1cml0eVRva2VuKCkpIHsKICAgICAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcigneC1hbXotc2VjdXJpdHktdG9rZW4nLCAkY3JlZGVudGlhbHMtPmdldFNlY3VyaXR5VG9rZW4oKSk7CiAgICAgICAgfQoKICAgICAgICAvLyBEZXRlcm1pbmUgdGhlIHN0cmluZyB0byBzaWduCiAgICAgICAgJHN0cmluZ1RvU2lnbiA9ICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0RhdGUnLCB0cnVlKSA/OiAkcmVxdWVzdC0+Z2V0SGVhZGVyKCd4LWFtei1kYXRlJywgdHJ1ZSk7CiAgICAgICAgJHJlcXVlc3QtPmdldFBhcmFtcygpLT5zZXQoJ2F3cy5zdHJpbmdfdG9fc2lnbicsICRzdHJpbmdUb1NpZ24pOwoKICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHNpZ25hdHVyZQogICAgICAgICRzaWduYXR1cmUgPSBiYXNlNjRfZW5jb2RlKGhhc2hfaG1hYygnc2hhMjU2JywgJHN0cmluZ1RvU2lnbiwgJGNyZWRlbnRpYWxzLT5nZXRTZWNyZXRLZXkoKSwgdHJ1ZSkpOwoKICAgICAgICAvLyBBZGQgdGhlIGF1dGhvcml6YXRpb24gaGVhZGVyIHRvIHRoZSByZXF1ZXN0CiAgICAgICAgJGhlYWRlckZvcm1hdCA9ICdBV1MzLUhUVFBTIEFXU0FjY2Vzc0tleUlkPSVzLEFsZ29yaXRobT1IbWFjU0hBMjU2LFNpZ25hdHVyZT0lcyc7CiAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcignWC1BbXpuLUF1dGhvcml6YXRpb24nLCBzcHJpbnRmKCRoZWFkZXJGb3JtYXQsICRjcmVkZW50aWFscy0+Z2V0QWNjZXNzS2V5SWQoKSwgJHNpZ25hdHVyZSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Signature/SignatureV4.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFNpZ25hdHVyZTsKCnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzSW50ZXJmYWNlOwp1c2UgQXdzXENvbW1vblxFbnVtXERhdGVGb3JtYXQ7CnVzZSBBd3NcQ29tbW9uXEhvc3ROYW1lVXRpbHM7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxVcmw7CgovKioKICogU2lnbmF0dXJlIFZlcnNpb24gNAogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nZW5lcmFsL2xhdGVzdC9nci9zaWduYXR1cmUtdmVyc2lvbi00Lmh0bWwKICovCmNsYXNzIFNpZ25hdHVyZVY0IGV4dGVuZHMgQWJzdHJhY3RTaWduYXR1cmUgaW1wbGVtZW50cyBFbmRwb2ludFNpZ25hdHVyZUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIENhY2hlIG9mIHRoZSBkZWZhdWx0IGVtcHR5IGVudGl0eS1ib2R5IHBheWxvYWQKICAgICAqLwogICAgY29uc3QgREVGQVVMVF9QQVlMT0FEID0gJ2UzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTUnOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgRXhwbGljaXRseSBzZXQgc2VydmljZSBuYW1lCiAgICAgKi8KICAgIHByb3RlY3RlZCAkc2VydmljZU5hbWU7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBFeHBsaWNpdGx5IHNldCByZWdpb24gbmFtZQogICAgICovCiAgICBwcm90ZWN0ZWQgJHJlZ2lvbk5hbWU7CgogICAgLyoqCiAgICAgKiBAdmFyIGludCBNYXhpbXVtIG51bWJlciBvZiBoYXNoZXMgdG8gY2FjaGUKICAgICAqLwogICAgcHJvdGVjdGVkICRtYXhDYWNoZVNpemUgPSA1MDsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgQ2FjaGUgb2YgcHJldmlvdXNseSBzaWduZWQgdmFsdWVzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkaGFzaENhY2hlID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIEB2YXIgaW50IFNpemUgb2YgdGhlIGhhc2ggY2FjaGUKICAgICAqLwogICAgcHJvdGVjdGVkICRjYWNoZVNpemUgPSAwOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBzZXJ2aWNlIG5hbWUgaW5zdGVhZCBvZiBpbmZlcnJpbmcgaXQgZnJvbSBhIHJlcXVlc3QgVVJMCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkc2VydmljZSBOYW1lIG9mIHRoZSBzZXJ2aWNlIHVzZWQgd2hlbiBzaWduaW5nCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRTZXJ2aWNlTmFtZSgkc2VydmljZSkKICAgIHsKICAgICAgICAkdGhpcy0+c2VydmljZU5hbWUgPSAkc2VydmljZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSByZWdpb24gbmFtZSBpbnN0ZWFkIG9mIGluZmVycmluZyBpdCBmcm9tIGEgcmVxdWVzdCBVUkwKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRyZWdpb24gTmFtZSBvZiB0aGUgcmVnaW9uIHVzZWQgd2hlbiBzaWduaW5nCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRSZWdpb25OYW1lKCRyZWdpb24pCiAgICB7CiAgICAgICAgJHRoaXMtPnJlZ2lvbk5hbWUgPSAkcmVnaW9uOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbXB1dGVkIGhhc2hlcyB0byBjYWNoZQogICAgICoKICAgICAqIEBwYXJhbSBpbnQgJG1heENhY2hlU2l6ZSBNYXhpbXVtIG51bWJlciBvZiBoYXNoZXMgdG8gY2FjaGUKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldE1heENhY2hlU2l6ZSgkbWF4Q2FjaGVTaXplKQogICAgewogICAgICAgICR0aGlzLT5tYXhDYWNoZVNpemUgPSAkbWF4Q2FjaGVTaXplOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzaWduUmVxdWVzdChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBDcmVkZW50aWFsc0ludGVyZmFjZSAkY3JlZGVudGlhbHMpCiAgICB7CiAgICAgICAgLy8gUmVmcmVzaCB0aGUgY2FjaGVkIHRpbWVzdGFtcAogICAgICAgICR0aGlzLT5nZXRUaW1lc3RhbXAodHJ1ZSk7CgogICAgICAgICRsb25nRGF0ZSA9ICR0aGlzLT5nZXREYXRlVGltZShEYXRlRm9ybWF0OjpJU084NjAxKTsKICAgICAgICAkc2hvcnREYXRlID0gJHRoaXMtPmdldERhdGVUaW1lKERhdGVGb3JtYXQ6OlNIT1JUKTsKCiAgICAgICAgLy8gUmVtb3ZlIGFueSBwcmV2aW91c2x5IHNldCBBdXRob3JpemF0aW9uIGhlYWRlcnMgc28gdGhhdAogICAgICAgIC8vIGV4cG9uZW50aWFsIGJhY2tvZmYgd29ya3MgY29ycmVjdGx5CiAgICAgICAgJHJlcXVlc3QtPnJlbW92ZUhlYWRlcignQXV0aG9yaXphdGlvbicpOwoKICAgICAgICAvLyBSZXF1aXJlcyBhIHgtYW16LWRhdGUgaGVhZGVyIG9yIERhdGUKICAgICAgICBpZiAoJHJlcXVlc3QtPmhhc0hlYWRlcigneC1hbXotZGF0ZScpIHx8ICEkcmVxdWVzdC0+aGFzSGVhZGVyKCdEYXRlJykpIHsKICAgICAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcigneC1hbXotZGF0ZScsICRsb25nRGF0ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcignRGF0ZScsICR0aGlzLT5nZXREYXRlVGltZShEYXRlRm9ybWF0OjpSRkMxMTIzKSk7CiAgICAgICAgfQoKICAgICAgICAvLyBBZGQgdGhlIHNlY3VyaXR5IHRva2VuIGlmIG9uZSBpcyBwcmVzZW50CiAgICAgICAgaWYgKCRjcmVkZW50aWFscy0+Z2V0U2VjdXJpdHlUb2tlbigpKSB7CiAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRIZWFkZXIoJ3gtYW16LXNlY3VyaXR5LXRva2VuJywgJGNyZWRlbnRpYWxzLT5nZXRTZWN1cml0eVRva2VuKCkpOwogICAgICAgIH0KCiAgICAgICAgLy8gUGFyc2UgdGhlIHNlcnZpY2UgYW5kIHJlZ2lvbiBvciB1c2Ugb25lIHRoYXQgaXMgZXhwbGljaXRseSBzZXQKICAgICAgICAkdXJsID0gbnVsbDsKICAgICAgICBpZiAoISR0aGlzLT5yZWdpb25OYW1lIHx8ICEkdGhpcy0+c2VydmljZU5hbWUpIHsKICAgICAgICAgICAgJHVybCA9IFVybDo6ZmFjdG9yeSgkcmVxdWVzdC0+Z2V0VXJsKCkpOwogICAgICAgIH0KICAgICAgICBpZiAoISRyZWdpb24gPSAkdGhpcy0+cmVnaW9uTmFtZSkgewogICAgICAgICAgICAkcmVnaW9uID0gSG9zdE5hbWVVdGlsczo6cGFyc2VSZWdpb25OYW1lKCR1cmwpOwogICAgICAgIH0KICAgICAgICBpZiAoISRzZXJ2aWNlID0gJHRoaXMtPnNlcnZpY2VOYW1lKSB7CiAgICAgICAgICAgICRzZXJ2aWNlID0gSG9zdE5hbWVVdGlsczo6cGFyc2VTZXJ2aWNlTmFtZSgkdXJsKTsKICAgICAgICB9CgogICAgICAgICRjcmVkZW50aWFsU2NvcGUgPSAieyRzaG9ydERhdGV9L3skcmVnaW9ufS97JHNlcnZpY2V9L2F3czRfcmVxdWVzdCI7CgogICAgICAgICRzaWduaW5nQ29udGV4dCA9ICR0aGlzLT5jcmVhdGVDYW5vbmljYWxSZXF1ZXN0KCRyZXF1ZXN0KTsKICAgICAgICAkc2lnbmluZ0NvbnRleHRbJ3N0cmluZ190b19zaWduJ10gPSAiQVdTNC1ITUFDLVNIQTI1NlxueyRsb25nRGF0ZX1cbnskY3JlZGVudGlhbFNjb3BlfVxuIgogICAgICAgICAgICAuIGhhc2goJ3NoYTI1NicsICRzaWduaW5nQ29udGV4dFsnY2Fub25pY2FsX3JlcXVlc3QnXSk7CgogICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgc2lnbmluZyBrZXkgdXNpbmcgYSBzZXJpZXMgb2YgZGVyaXZlZCBrZXlzCiAgICAgICAgJHNpZ25pbmdLZXkgPSAkdGhpcy0+Z2V0U2lnbmluZ0tleSgkc2hvcnREYXRlLCAkcmVnaW9uLCAkc2VydmljZSwgJGNyZWRlbnRpYWxzLT5nZXRTZWNyZXRLZXkoKSk7CiAgICAgICAgJHNpZ25hdHVyZSA9IGhhc2hfaG1hYygnc2hhMjU2JywgJHNpZ25pbmdDb250ZXh0WydzdHJpbmdfdG9fc2lnbiddLCAkc2lnbmluZ0tleSk7CgogICAgICAgICRyZXF1ZXN0LT5zZXRIZWFkZXIoJ0F1dGhvcml6YXRpb24nLCAiQVdTNC1ITUFDLVNIQTI1NiAiCiAgICAgICAgICAgIC4gIkNyZWRlbnRpYWw9eyRjcmVkZW50aWFscy0+Z2V0QWNjZXNzS2V5SWQoKX0veyRjcmVkZW50aWFsU2NvcGV9LCAiCiAgICAgICAgICAgIC4gIlNpZ25lZEhlYWRlcnM9eyRzaWduaW5nQ29udGV4dFsnc2lnbmVkX2hlYWRlcnMnXX0sIFNpZ25hdHVyZT17JHNpZ25hdHVyZX0iKTsKCiAgICAgICAgLy8gQWRkIGRlYnVnIGluZm9ybWF0aW9uIHRvIHRoZSByZXF1ZXN0CiAgICAgICAgJHJlcXVlc3QtPmdldFBhcmFtcygpLT5zZXQoJ2F3cy5zaWduYXR1cmUnLCAkc2lnbmluZ0NvbnRleHQpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIHRoZSBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gb2YgYSByZXF1ZXN0CiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgUmVxdWVzdCB0byBjYW5vbmljYWxpemUKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IFJldHVybnMgYW4gYXJyYXkgb2YgY29udGV4dCBpbmZvcm1hdGlvbgogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGNyZWF0ZUNhbm9uaWNhbFJlcXVlc3QoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCkKICAgIHsKICAgICAgICAvLyBOb3JtYWxpemUgdGhlIHBhdGggYXMgcmVxdWlyZWQgYnkgU2lnVjQgYW5kIGVuc3VyZSBpdCdzIGFic29sdXRlCiAgICAgICAgJG1ldGhvZCA9ICRyZXF1ZXN0LT5nZXRNZXRob2QoKTsKICAgICAgICAkY2Fub24gPSAkbWV0aG9kIC4gIlxuIgogICAgICAgICAgICAuICcvJyAuIGx0cmltKCRyZXF1ZXN0LT5nZXRVcmwodHJ1ZSktPm5vcm1hbGl6ZVBhdGgoKS0+Z2V0UGF0aCgpLCAnLycpIC4gIlxuIgogICAgICAgICAgICAuICR0aGlzLT5nZXRDYW5vbmljYWxpemVkUXVlcnlTdHJpbmcoJHJlcXVlc3QpIC4gIlxuIjsKCiAgICAgICAgLy8gQ3JlYXRlIHRoZSBjYW5vbmljYWwgaGVhZGVycwogICAgICAgICRoZWFkZXJzID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkcmVxdWVzdC0+Z2V0SGVhZGVycygpLT5nZXRBbGwoKSBhcyAka2V5ID0+ICR2YWx1ZXMpIHsKICAgICAgICAgICAgaWYgKCRrZXkgIT0gJ1VzZXItQWdlbnQnKSB7CiAgICAgICAgICAgICAgICAka2V5ID0gc3RydG9sb3dlcigka2V5KTsKICAgICAgICAgICAgICAgIGlmICghaXNzZXQoJGhlYWRlcnNbJGtleV0pKSB7CiAgICAgICAgICAgICAgICAgICAgJGhlYWRlcnNbJGtleV0gPSBhcnJheSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZm9yZWFjaCAoJHZhbHVlcyBhcyAkdmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAkaGVhZGVyc1ska2V5XVtdID0gcHJlZ19yZXBsYWNlKCcvXHMrLycsICcgJywgdHJpbSgkdmFsdWUpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVGhlIGhlYWRlcnMgbXVzdCBiZSBzb3J0ZWQKICAgICAgICBrc29ydCgkaGVhZGVycyk7CgogICAgICAgIC8vIENvbnRpbnVlIHRvIGJ1aWxkIHRoZSBjYW5vbmljYWwgcmVxdWVzdCBieSBhZGRpbmcgaGVhZGVycwogICAgICAgIGZvcmVhY2ggKCRoZWFkZXJzIGFzICRrZXkgPT4gJHZhbHVlcykgewogICAgICAgICAgICAvLyBDb21iaW5lIG11bHRpLXZhbHVlIGhlYWRlcnMgaW50byBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0CiAgICAgICAgICAgICRjYW5vbiAuPSAka2V5IC4gJzonIC4gaW1wbG9kZSgnLCcsICR2YWx1ZXMpIC4gIlxuIjsKICAgICAgICB9CgogICAgICAgIC8vIENyZWF0ZSB0aGUgc2lnbmVkIGhlYWRlcnMKICAgICAgICAkc2lnbmVkSGVhZGVycyA9IGltcGxvZGUoJzsnLCBhcnJheV9rZXlzKCRoZWFkZXJzKSk7CiAgICAgICAgJGNhbm9uIC49ICJcbnskc2lnbmVkSGVhZGVyc31cbiI7CgogICAgICAgIC8vIENyZWF0ZSB0aGUgcGF5bG9hZCBpZiB0aGlzIHJlcXVlc3QgaGFzIGFuIGVudGl0eSBib2R5CiAgICAgICAgaWYgKCRyZXF1ZXN0LT5oYXNIZWFkZXIoJ3gtYW16LWNvbnRlbnQtc2hhMjU2JykpIHsKICAgICAgICAgICAgLy8gSGFuZGxlIHN0cmVhbWluZyBvcGVyYXRpb25zIChlLmcuIEdsYWNpZXIuVXBsb2FkQXJjaGl2ZSkKICAgICAgICAgICAgJGNhbm9uIC49ICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ3gtYW16LWNvbnRlbnQtc2hhMjU2Jyk7CiAgICAgICAgfSBlbHNlaWYgKCRyZXF1ZXN0IGluc3RhbmNlb2YgRW50aXR5RW5jbG9zaW5nUmVxdWVzdEludGVyZmFjZSkgewogICAgICAgICAgICAkY2Fub24gLj0gaGFzaCgKICAgICAgICAgICAgICAgICdzaGEyNTYnLAogICAgICAgICAgICAgICAgJG1ldGhvZCA9PSAnUE9TVCcgJiYgY291bnQoJHJlcXVlc3QtPmdldFBvc3RGaWVsZHMoKSkKICAgICAgICAgICAgICAgICAgICA/IChzdHJpbmcpICRyZXF1ZXN0LT5nZXRQb3N0RmllbGRzKCkgOiAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0Qm9keSgpCiAgICAgICAgICAgICk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGNhbm9uIC49IHNlbGY6OkRFRkFVTFRfUEFZTE9BRDsKICAgICAgICB9CgogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgJ2Nhbm9uaWNhbF9yZXF1ZXN0JyA9PiAkY2Fub24sCiAgICAgICAgICAgICdzaWduZWRfaGVhZGVycycgICAgPT4gJHNpZ25lZEhlYWRlcnMKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGEgaGFzaCBmb3IgYSBzcGVjaWZpYyBrZXkgYW5kIHZhbHVlLiAgSWYgdGhlIGhhc2ggd2FzIHByZXZpb3VzbHkKICAgICAqIGNhY2hlZCwgcmV0dXJuIGl0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkc2hvcnREYXRlIFNob3J0IGRhdGUKICAgICAqIEBwYXJhbSBzdHJpbmcgJHJlZ2lvbiAgICBSZWdpb24gbmFtZQogICAgICogQHBhcmFtIHN0cmluZyAkc2VydmljZSAgIFNlcnZpY2UgbmFtZQogICAgICogQHBhcmFtIHN0cmluZyAkc2VjcmV0S2V5IFNlY3JldCBBY2Nlc3MgS2V5CiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRTaWduaW5nS2V5KCRzaG9ydERhdGUsICRyZWdpb24sICRzZXJ2aWNlLCAkc2VjcmV0S2V5KQogICAgewogICAgICAgICRjYWNoZUtleSA9ICRzaG9ydERhdGUgLiAnXycgLiAkcmVnaW9uIC4gJ18nIC4gJHNlcnZpY2UgLiAnXycgLiAkc2VjcmV0S2V5OwoKICAgICAgICAvLyBSZXRyaWV2ZSB0aGUgaGFzaCBmb3JtIHRoZSBjYWNoZSBvciBjcmVhdGUgaXQgYW5kIGFkZCBpdCB0byB0aGUgY2FjaGUKICAgICAgICBpZiAoIWlzc2V0KCR0aGlzLT5oYXNoQ2FjaGVbJGNhY2hlS2V5XSkpIHsKICAgICAgICAgICAgLy8gV2hlbiB0aGUgY2FjaGUgc2l6ZSByZWFjaGVzIHRoZSBtYXgsIHRoZW4ganVzdCBjbGVhciB0aGUgY2FjaGUKICAgICAgICAgICAgaWYgKCsrJHRoaXMtPmNhY2hlU2l6ZSA+ICR0aGlzLT5tYXhDYWNoZVNpemUpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5oYXNoQ2FjaGUgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgJHRoaXMtPmNhY2hlU2l6ZSA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGRhdGVLZXkgPSBoYXNoX2htYWMoJ3NoYTI1NicsICRzaG9ydERhdGUsICdBV1M0JyAuICRzZWNyZXRLZXksIHRydWUpOwogICAgICAgICAgICAkcmVnaW9uS2V5ID0gaGFzaF9obWFjKCdzaGEyNTYnLCAkcmVnaW9uLCAkZGF0ZUtleSwgdHJ1ZSk7CiAgICAgICAgICAgICRzZXJ2aWNlS2V5ID0gaGFzaF9obWFjKCdzaGEyNTYnLCAkc2VydmljZSwgJHJlZ2lvbktleSwgdHJ1ZSk7CiAgICAgICAgICAgICR0aGlzLT5oYXNoQ2FjaGVbJGNhY2hlS2V5XSA9IGhhc2hfaG1hYygnc2hhMjU2JywgJ2F3czRfcmVxdWVzdCcsICRzZXJ2aWNlS2V5LCB0cnVlKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+aGFzaENhY2hlWyRjYWNoZUtleV07CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Waiter/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Waiter/AbstractResourceWaiter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxBd3NDbGllbnRJbnRlcmZhY2U7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwoKLyoqCiAqIEFic3RyYWN0IHdhaXRlciBpbXBsZW1lbnRhdGlvbiB1c2VkIHRvIHdhaXQgb24gcmVzb3VyY2VzCiAqLwphYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFJlc291cmNlV2FpdGVyIGV4dGVuZHMgQWJzdHJhY3RXYWl0ZXIgaW1wbGVtZW50cyBSZXNvdXJjZVdhaXRlckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEB2YXIgQXdzQ2xpZW50SW50ZXJmYWNlCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2xpZW50OwoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Q2xpZW50KEF3c0NsaWVudEludGVyZmFjZSAkY2xpZW50KQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSAkY2xpZW50OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB3YWl0KCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5jbGllbnQpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oJ05vIGNsaWVudCBoYXMgYmVlbiBzcGVjaWZpZWQgb24gdGhlIHdhaXRlcicpOwogICAgICAgIH0KCiAgICAgICAgcGFyZW50Ojp3YWl0KCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Waiter/AbstractWaiter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwp1c2UgR3V6emxlXENvbW1vblxBYnN0cmFjdEhhc0Rpc3BhdGNoZXI7CgovKioKICogQWJzdHJhY3Qgd2FpdCBpbXBsZW1lbnRhdGlvbgogKi8KYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RXYWl0ZXIgZXh0ZW5kcyBBYnN0cmFjdEhhc0Rpc3BhdGNoZXIgaW1wbGVtZW50cyBXYWl0ZXJJbnRlcmZhY2UKewogICAgcHJvdGVjdGVkICRhdHRlbXB0cyA9IDA7CiAgICBwcm90ZWN0ZWQgJGNvbmZpZyA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0QWxsRXZlbnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIC8vIEFib3V0IHRvIGNoZWNrIGlmIHRoZSB3YWl0ZXIgbmVlZHMgdG8gd2FpdAogICAgICAgICAgICAnd2FpdGVyLmJlZm9yZV9hdHRlbXB0JywKICAgICAgICAgICAgLy8gQWJvdXQgdG8gc2xlZXAKICAgICAgICAgICAgJ3dhaXRlci5iZWZvcmVfd2FpdCcsCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFRoZSBtYXggYXR0ZW1wdHMgYWxsb3dlZCBieSB0aGUgd2FpdGVyCiAgICAgKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE1heEF0dGVtcHRzKCkKICAgIHsKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPmNvbmZpZ1tzZWxmOjpNQVhfQVRURU1QVFNdKSA/ICR0aGlzLT5jb25maWdbc2VsZjo6TUFYX0FUVEVNUFRTXSA6IDEwOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBhbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIHRvIGRlbGF5IGJldHdlZW4gYXR0ZW1wdHMKICAgICAqCiAgICAgKiBAcmV0dXJuIGludAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SW50ZXJ2YWwoKQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+Y29uZmlnW3NlbGY6OklOVEVSVkFMXSkgPyAkdGhpcy0+Y29uZmlnW3NlbGY6OklOVEVSVkFMXSA6IDA7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRNYXhBdHRlbXB0cygkbWF4QXR0ZW1wdHMpCiAgICB7CiAgICAgICAgJHRoaXMtPmNvbmZpZ1tzZWxmOjpNQVhfQVRURU1QVFNdID0gJG1heEF0dGVtcHRzOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRJbnRlcnZhbCgkaW50ZXJ2YWwpCiAgICB7CiAgICAgICAgJHRoaXMtPmNvbmZpZ1tzZWxmOjpJTlRFUlZBTF0gPSAkaW50ZXJ2YWw7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBjb25maWcgb3B0aW9ucyBhc3NvY2lhdGVkIHdpdGggdGhlIHdhaXRlcgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkY29uZmlnIE9wdGlvbnMgdG8gc2V0CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDb25maWcoYXJyYXkgJGNvbmZpZykKICAgIHsKICAgICAgICBpZiAoaXNzZXQoJGNvbmZpZ1snd2FpdGVyLmJlZm9yZV9hdHRlbXB0J10pKSB7CiAgICAgICAgICAgICR0aGlzLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ3dhaXRlci5iZWZvcmVfYXR0ZW1wdCcsICRjb25maWdbJ3dhaXRlci5iZWZvcmVfYXR0ZW1wdCddKTsKICAgICAgICAgICAgdW5zZXQoJGNvbmZpZ1snd2FpdGVyLmJlZm9yZV9hdHRlbXB0J10pOwogICAgICAgIH0KCiAgICAgICAgaWYgKGlzc2V0KCRjb25maWdbJ3dhaXRlci5iZWZvcmVfd2FpdCddKSkgewogICAgICAgICAgICAkdGhpcy0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCd3YWl0ZXIuYmVmb3JlX3dhaXQnLCAkY29uZmlnWyd3YWl0ZXIuYmVmb3JlX3dhaXQnXSk7CiAgICAgICAgICAgIHVuc2V0KCRjb25maWdbJ3dhaXRlci5iZWZvcmVfd2FpdCddKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5jb25maWcgPSAkY29uZmlnOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB3YWl0KCkKICAgIHsKICAgICAgICAkdGhpcy0+YXR0ZW1wdHMgPSAwOwoKICAgICAgICBkbyB7CiAgICAgICAgICAgICR0aGlzLT5kaXNwYXRjaCgnd2FpdGVyLmJlZm9yZV9hdHRlbXB0JywgYXJyYXkoCiAgICAgICAgICAgICAgICAnd2FpdGVyJyA9PiAkdGhpcywKICAgICAgICAgICAgICAgICdjb25maWcnID0+ICR0aGlzLT5jb25maWcsCiAgICAgICAgICAgICkpOwoKICAgICAgICAgICAgaWYgKCR0aGlzLT5kb1dhaXQoKSkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgrKyR0aGlzLT5hdHRlbXB0cyA+PSAkdGhpcy0+Z2V0TWF4QXR0ZW1wdHMoKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oJ1dhaXQgbWV0aG9kIG5ldmVyIHJlc29sdmVkIHRvIHRydWUgYWZ0ZXIgJyAuICR0aGlzLT5hdHRlbXB0cyAuICcgYXR0ZW1wdHMnKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHRoaXMtPmRpc3BhdGNoKCd3YWl0ZXIuYmVmb3JlX3dhaXQnLCBhcnJheSgKICAgICAgICAgICAgICAgICd3YWl0ZXInID0+ICR0aGlzLAogICAgICAgICAgICAgICAgJ2NvbmZpZycgPT4gJHRoaXMtPmNvbmZpZywKICAgICAgICAgICAgKSk7CgogICAgICAgICAgICBpZiAoJHRoaXMtPmdldEludGVydmFsKCkpIHsKICAgICAgICAgICAgICAgIHVzbGVlcCgkdGhpcy0+Z2V0SW50ZXJ2YWwoKSAqIDEwMDAwMDApOwogICAgICAgICAgICB9CgogICAgICAgIH0gd2hpbGUgKDEpOwogICAgfQoKICAgIC8qKgogICAgICogTWV0aG9kIHRvIGltcGxlbWVudCBpbiBzdWJjbGFzc2VzCiAgICAgKgogICAgICogQHJldHVybiBib29sIFJldHVybiB0cnVlIHdoZW4gc3VjY2Vzc2Z1bCwgZmFsc2Ugb24gZmFpbHVyZQogICAgICovCiAgICBhYnN0cmFjdCBwcm90ZWN0ZWQgZnVuY3Rpb24gZG9XYWl0KCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Waiter/CallableWaiter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwoKLyoqCiAqIENhbGxhYmxlIHdhaXQgaW1wbGVtZW50YXRpb24KICovCmNsYXNzIENhbGxhYmxlV2FpdGVyIGV4dGVuZHMgQWJzdHJhY3RXYWl0ZXIKewogICAgLyoqCiAgICAgKiBAdmFyIGNhbGxhYmxlIENhbGxhYmxlIGZ1bmN0aW9uCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2FsbGFibGU7CgogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IEFkZGl0aW9uYWwgY29udGV4dCBmb3IgdGhlIGNhbGxhYmxlIGZ1bmN0aW9uCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY29udGV4dCA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGNhbGxhYmxlIGZ1bmN0aW9uIHRvIGNhbGwgaW4gZWFjaCB3YWl0IGF0dGVtcHQKICAgICAqCiAgICAgKiBAcGFyYW0gY2FsbGFibGUgJGNhbGxhYmxlIENhbGxhYmxlIGZ1bmN0aW9uCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIHRoZSBtZXRob2QgaXMgbm90IGNhbGxhYmxlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDYWxsYWJsZSgkY2FsbGFibGUpCiAgICB7CiAgICAgICAgaWYgKCFpc19jYWxsYWJsZSgkY2FsbGFibGUpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ1ZhbHVlIGlzIG5vdCBjYWxsYWJsZScpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmNhbGxhYmxlID0gJGNhbGxhYmxlOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgYWRkaXRpb25hbCBjb250ZXh0IGZvciB0aGUgY2FsbGFibGUgZnVuY3Rpb24uIFRoaXMgZGF0YSB3aWxsIGJlIHBhc3NlZCBpbnRvIHRoZSBjYWxsYWJsZSBmdW5jdGlvbiBhcyB0aGUKICAgICAqIHNlY29uZCBhcmd1bWVudAogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkY29udGV4dCBBZGRpdGlvbmFsIGNvbnRleHQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldENvbnRleHQoYXJyYXkgJGNvbnRleHQpCiAgICB7CiAgICAgICAgJHRoaXMtPmNvbnRleHQgPSAkY29udGV4dDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZG9XYWl0KCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5jYWxsYWJsZSkgewogICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbignTm8gY2FsbGFibGUgd2FzIHNwZWNpZmllZCBmb3IgdGhlIHdhaXQgbWV0aG9kJyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gY2FsbF91c2VyX2Z1bmMoJHRoaXMtPmNhbGxhYmxlLCAkdGhpcy0+YXR0ZW1wdHMsICR0aGlzLT5jb250ZXh0KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Waiter/CompositeWaiterFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CgovKioKICogRmFjdG9yeSB0aGF0IHV0aWxpemVzIG11bHRpcGxlIGZhY3RvcmllcyBmb3IgY3JlYXRpbmcgd2FpdGVycwogKi8KY2xhc3MgQ29tcG9zaXRlV2FpdGVyRmFjdG9yeSBpbXBsZW1lbnRzIFdhaXRlckZhY3RvcnlJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IEFycmF5IG9mIGZhY3RvcmllcwogICAgICovCiAgICBwcm90ZWN0ZWQgJGZhY3RvcmllczsKCiAgICAvKioKICAgICAqIEBwYXJhbSBhcnJheSAkZmFjdG9yaWVzIEFycmF5IG9mIGZhY3RvcmllcyB1c2VkIHRvIGluc3RhbnRpYXRlIHdhaXRlcnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KGFycmF5ICRmYWN0b3JpZXMpCiAgICB7CiAgICAgICAgJHRoaXMtPmZhY3RvcmllcyA9ICRmYWN0b3JpZXM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidWlsZCgkd2FpdGVyKQogICAgewogICAgICAgIGlmICghKCRmYWN0b3J5ID0gJHRoaXMtPmdldEZhY3RvcnkoJHdhaXRlcikpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oIldhaXRlciB3YXMgbm90IGZvdW5kIG1hdGNoaW5nIHskd2FpdGVyfS4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZmFjdG9yeS0+YnVpbGQoJHdhaXRlcik7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjYW5CdWlsZCgkd2FpdGVyKQogICAgewogICAgICAgIHJldHVybiAoYm9vbCkgJHRoaXMtPmdldEZhY3RvcnkoJHdhaXRlcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYSBmYWN0b3J5IHRvIHRoZSBjb21wb3NpdGUgZmFjdG9yeQogICAgICoKICAgICAqIEBwYXJhbSBXYWl0ZXJGYWN0b3J5SW50ZXJmYWNlICRmYWN0b3J5IEZhY3RvcnkgdG8gYWRkCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRGYWN0b3J5KFdhaXRlckZhY3RvcnlJbnRlcmZhY2UgJGZhY3RvcnkpCiAgICB7CiAgICAgICAgJHRoaXMtPmZhY3Rvcmllc1tdID0gJGZhY3Rvcnk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZmFjdG9yeSB0aGF0IG1hdGNoZXMgdGhlIHdhaXRlciBuYW1lCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkd2FpdGVyIE5hbWUgb2YgdGhlIHdhaXRlcgogICAgICoKICAgICAqIEByZXR1cm4gV2FpdGVyRmFjdG9yeUludGVyZmFjZXxib29sCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRGYWN0b3J5KCR3YWl0ZXIpCiAgICB7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmZhY3RvcmllcyBhcyAkZmFjdG9yeSkgewogICAgICAgICAgICBpZiAoJGZhY3RvcnktPmNhbkJ1aWxkKCR3YWl0ZXIpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJGZhY3Rvcnk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Waiter/ConfigResourceWaiter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CnVzZSBHdXp6bGVcU2VydmljZVxFeGNlcHRpb25cVmFsaWRhdGlvbkV4Y2VwdGlvbjsKCi8qKgogKiBSZXNvdXJjZSB3YWl0ZXIgZHJpdmVuIGJ5IGNvbmZpZ3VyYXRpb24gb3B0aW9ucwogKi8KY2xhc3MgQ29uZmlnUmVzb3VyY2VXYWl0ZXIgZXh0ZW5kcyBBYnN0cmFjdFJlc291cmNlV2FpdGVyCnsKICAgIC8qKgogICAgICogQHZhciBXYWl0ZXJDb25maWcgV2FpdGVyIGNvbmZpZ3VyYXRpb24KICAgICAqLwogICAgcHJvdGVjdGVkICR3YWl0ZXJDb25maWc7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gV2FpdGVyQ29uZmlnICR3YWl0ZXJDb25maWcgV2FpdGVyIGNvbmZpZ3VyYXRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFdhaXRlckNvbmZpZyAkd2FpdGVyQ29uZmlnKQogICAgewogICAgICAgICR0aGlzLT53YWl0ZXJDb25maWcgPSAkd2FpdGVyQ29uZmlnOwogICAgICAgICR0aGlzLT5zZXRJbnRlcnZhbCgkd2FpdGVyQ29uZmlnLT5nZXQoV2FpdGVyQ29uZmlnOjpJTlRFUlZBTCkpOwogICAgICAgICR0aGlzLT5zZXRNYXhBdHRlbXB0cygkd2FpdGVyQ29uZmlnLT5nZXQoV2FpdGVyQ29uZmlnOjpNQVhfQVRURU1QVFMpKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldENvbmZpZyhhcnJheSAkY29uZmlnKQogICAgewogICAgICAgIGZvcmVhY2ggKCRjb25maWcgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgaWYgKHN1YnN0cigka2V5LCAwLCA3KSA9PSAnd2FpdGVyLicpIHsKICAgICAgICAgICAgICAgICR0aGlzLT53YWl0ZXJDb25maWctPnNldChzdWJzdHIoJGtleSwgNyksICR2YWx1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICghaXNzZXQoJGNvbmZpZ1tzZWxmOjpJTlRFUlZBTF0pKSB7CiAgICAgICAgICAgICRjb25maWdbc2VsZjo6SU5URVJWQUxdID0gJHRoaXMtPndhaXRlckNvbmZpZy0+Z2V0KFdhaXRlckNvbmZpZzo6SU5URVJWQUwpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCFpc3NldCgkY29uZmlnW3NlbGY6Ok1BWF9BVFRFTVBUU10pKSB7CiAgICAgICAgICAgICRjb25maWdbc2VsZjo6TUFYX0FUVEVNUFRTXSA9ICR0aGlzLT53YWl0ZXJDb25maWctPmdldChXYWl0ZXJDb25maWc6Ok1BWF9BVFRFTVBUUyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gcGFyZW50OjpzZXRDb25maWcoJGNvbmZpZyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHdhaXRlcidzIGNvbmZpZ3VyYXRpb24gZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gV2FpdGVyQ29uZmlnCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRXYWl0ZXJDb25maWcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+d2FpdGVyQ29uZmlnOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZG9XYWl0KCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gJHRoaXMtPmNvbmZpZzsKICAgICAgICAvLyByZW1vdmUgd2FpdGVyIHNldHRpbmdzIGZyb20gdGhlIG9wZXJhdGlvbidzIGlucHV0CiAgICAgICAgZm9yZWFjaCAoYXJyYXlfa2V5cygkcGFyYW1zKSBhcyAka2V5KSB7CiAgICAgICAgICAgIGlmIChzdWJzdHIoJGtleSwgMCwgNykgPT0gJ3dhaXRlci4nKSB7CiAgICAgICAgICAgICAgICB1bnNldCgkcGFyYW1zWyRrZXldKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJG9wZXJhdGlvbiA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJHRoaXMtPndhaXRlckNvbmZpZy0+Z2V0KFdhaXRlckNvbmZpZzo6T1BFUkFUSU9OKSwgJHBhcmFtcyk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Y2hlY2tSZXN1bHQoJHRoaXMtPmNsaWVudC0+ZXhlY3V0ZSgkb3BlcmF0aW9uKSk7CiAgICAgICAgfSBjYXRjaCAoVmFsaWRhdGlvbkV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKAogICAgICAgICAgICAgICAgJHRoaXMtPndhaXRlckNvbmZpZy0+Z2V0KFdhaXRlckNvbmZpZzo6V0FJVEVSX05BTUUpIC4gJyB3YWl0ZXIgdmFsaWRhdGlvbiBmYWlsZWQ6ICAnIC4gJGUtPmdldE1lc3NhZ2UoKSwKICAgICAgICAgICAgICAgICRlLT5nZXRDb2RlKCksCiAgICAgICAgICAgICAgICAkZQogICAgICAgICAgICApOwogICAgICAgIH0gY2F0Y2ggKFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbiAkZSkgewoKICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhpcyBleGNlcHRpb24gc2F0aXNmaWVzIGEgc3VjY2VzcyBvciBmYWlsdXJlIGFjY2VwdG9yCiAgICAgICAgICAgICR0cmFuc2l0aW9uID0gJHRoaXMtPmNoZWNrRXJyb3JBY2NlcHRvcigkZSk7CiAgICAgICAgICAgIGlmIChudWxsICE9PSAkdHJhbnNpdGlvbikgewogICAgICAgICAgICAgICAgcmV0dXJuICR0cmFuc2l0aW9uOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBDaGVjayBpZiB0aGlzIGV4Y2VwdGlvbiBzaG91bGQgYmUgaWdub3JlZAogICAgICAgICAgICBmb3JlYWNoICgoYXJyYXkpICR0aGlzLT53YWl0ZXJDb25maWctPmdldChXYWl0ZXJDb25maWc6OklHTk9SRV9FUlJPUlMpIGFzICRpZ25vcmUpIHsKICAgICAgICAgICAgICAgIGlmICgkZS0+Z2V0RXhjZXB0aW9uQ29kZSgpID09ICRpZ25vcmUpIHsKICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGV4Y2VwdGlvbiBpcyBpZ25vcmVkLCBzbyBpdCBjb3VudHMgYXMgYSBmYWlsZWQgYXR0ZW1wdCByYXRoZXIgdGhhbiBhIGZhc3QtZmFpbAogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gQWxsb3cgbm9uLWlnbm9yZSBleGNlcHRpb25zIHRvIGJ1YmJsZSB0aHJvdWdoCiAgICAgICAgICAgIHRocm93ICRlOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIGFuIGV4Y2VwdGlvbiBzYXRpc2ZpZXMgYSBzdWNjZXNzIG9yIGZhaWx1cmUgYWNjZXB0b3IKICAgICAqCiAgICAgKiBAcGFyYW0gU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uICRlCiAgICAgKgogICAgICogQHJldHVybiBib29sfG51bGwgUmV0dXJucyB0cnVlIGZvciBzdWNjZXNzLCBmYWxzZSBmb3IgZmFpbHVyZSwgYW5kIG51bGwgZm9yIG5vIHRyYW5zaXRpb24KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNoZWNrRXJyb3JBY2NlcHRvcihTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb24gJGUpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT53YWl0ZXJDb25maWctPmdldChXYWl0ZXJDb25maWc6OlNVQ0NFU1NfVFlQRSkgPT0gJ2Vycm9yJykgewogICAgICAgICAgICBpZiAoJGUtPmdldEV4Y2VwdGlvbkNvZGUoKSA9PSAkdGhpcy0+d2FpdGVyQ29uZmlnLT5nZXQoV2FpdGVyQ29uZmlnOjpTVUNDRVNTX1ZBTFVFKSkgewogICAgICAgICAgICAgICAgLy8gTWFyayBhcyBhIHN1Y2Nlc3MKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBNYXJrIGFzIGFuIGF0dGVtcHQKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGUgcmVzcG9uc2UgbW9kZWwgc2F0aXNmaWVzIGEgc3VjY2VzcyBvciBmYWlsdXJlIHN0YXRlCiAgICAgKgogICAgICogQHBhcmFtIE1vZGVsICRyZXN1bHQgUmVzdWx0IG1vZGVsCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKiBAdGhyb3dzIFJ1bnRpbWVFeGNlcHRpb24KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNoZWNrUmVzdWx0KE1vZGVsICRyZXN1bHQpCiAgICB7CiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHJlc3VsdCBldmFsdWF0ZXMgdG8gdHJ1ZSBiYXNlZCBvbiB0aGUgcGF0aCBhbmQgb3V0cHV0IG1vZGVsCiAgICAgICAgaWYgKCR0aGlzLT53YWl0ZXJDb25maWctPmdldChXYWl0ZXJDb25maWc6OlNVQ0NFU1NfVFlQRSkgPT0gJ291dHB1dCcgJiYKICAgICAgICAgICAgJHRoaXMtPmNoZWNrUGF0aCgKICAgICAgICAgICAgICAgICRyZXN1bHQsCiAgICAgICAgICAgICAgICAkdGhpcy0+d2FpdGVyQ29uZmlnLT5nZXQoV2FpdGVyQ29uZmlnOjpTVUNDRVNTX1BBVEgpLAogICAgICAgICAgICAgICAgJHRoaXMtPndhaXRlckNvbmZpZy0+Z2V0KFdhaXRlckNvbmZpZzo6U1VDQ0VTU19WQUxVRSkKICAgICAgICAgICAgKQogICAgICAgICkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIC8vIEl0IGRpZCBub3QgZmluaXNoIHdhaXRpbmcgeWV0LiBEZXRlcm1pbmUgaWYgd2UgbmVlZCB0byBmYWlsLWZhc3QgYmFzZWQgb24gdGhlIGZhaWx1cmUgYWNjZXB0b3IuCiAgICAgICAgaWYgKCR0aGlzLT53YWl0ZXJDb25maWctPmdldChXYWl0ZXJDb25maWc6OkZBSUxVUkVfVFlQRSkgPT0gJ291dHB1dCcpIHsKICAgICAgICAgICAgJGZhaWx1cmVWYWx1ZSA9ICR0aGlzLT53YWl0ZXJDb25maWctPmdldChXYWl0ZXJDb25maWc6OkZBSUxVUkVfVkFMVUUpOwogICAgICAgICAgICBpZiAoJGZhaWx1cmVWYWx1ZSkgewogICAgICAgICAgICAgICAgJGtleSA9ICR0aGlzLT53YWl0ZXJDb25maWctPmdldChXYWl0ZXJDb25maWc6OkZBSUxVUkVfUEFUSCk7CiAgICAgICAgICAgICAgICBpZiAoJHRoaXMtPmNoZWNrUGF0aCgkcmVzdWx0LCAka2V5LCAkZmFpbHVyZVZhbHVlLCBmYWxzZSkpIHsKICAgICAgICAgICAgICAgICAgICAvLyBEZXRlcm1pbmUgd2hpY2ggb2YgdGhlIHJlc3VsdHMgdHJpZ2dlcmVkIHRoZSBmYWlsdXJlCiAgICAgICAgICAgICAgICAgICAgJHRyaWdnZXJlZCA9IGFycmF5X2ludGVyc2VjdCgKICAgICAgICAgICAgICAgICAgICAgICAgKGFycmF5KSAkdGhpcy0+d2FpdGVyQ29uZmlnLT5nZXQoV2FpdGVyQ29uZmlnOjpGQUlMVVJFX1ZBTFVFKSwKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlfdW5pcXVlKChhcnJheSkgJHJlc3VsdC0+Z2V0UGF0aCgka2V5KSkKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIC8vIGZhc3QgZmFpbCBiZWNhdXNlIHRoZSBmYWlsdXJlIGNhc2Ugd2FzIHNhdGlzZmllZAogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgICAgICAgICAnQSByZXNvdXJjZSBlbnRlcmVkIGludG8gYW4gaW52YWxpZCBzdGF0ZSBvZiAiJwogICAgICAgICAgICAgICAgICAgICAgICAuIGltcGxvZGUoJywgJywgJHRyaWdnZXJlZCkgLiAnIiB3aGlsZSB3YWl0aW5nIHdpdGggdGhlICInCiAgICAgICAgICAgICAgICAgICAgICAgIC4gJHRoaXMtPndhaXRlckNvbmZpZy0+Z2V0KFdhaXRlckNvbmZpZzo6V0FJVEVSX05BTUUpIC4gJyIgd2FpdGVyLicKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayB0byBzZWUgaWYgdGhlIHBhdGggb2YgdGhlIG91dHB1dCBrZXkgaXMgc2F0aXNmaWVkIGJ5IHRoZSB2YWx1ZQogICAgICoKICAgICAqIEBwYXJhbSBNb2RlbCAgJG1vZGVsICAgICAgUmVzdWx0IG1vZGVsCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgICAgICAgIEtleSB0byBjaGVjawogICAgICogQHBhcmFtIHN0cmluZyAkY2hlY2tWYWx1ZSBDb21wYXJlIHRoZSBrZXkgdG8gdGhlIHZhbHVlCiAgICAgKiBAcGFyYW0gYm9vbCAgICRhbGwgICAgICAgIFNldCB0byB0cnVlIHRvIGVuc3VyZSBhbGwgdmFsdWUgbWF0Y2ggb3IgZmFsc2UgdG8gb25seSBtYXRjaCBvbmUKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNoZWNrUGF0aChNb2RlbCAkbW9kZWwsICRrZXkgPSBudWxsLCAkY2hlY2tWYWx1ZSA9IGFycmF5KCksICRhbGwgPSB0cnVlKQogICAgewogICAgICAgIC8vIElmIG5vIGtleSBpcyBzZXQsIHRoZW4ganVzdCBhc3N1bWUgdHJ1ZSBiZWNhdXNlIHRoZSByZXF1ZXN0IHN1Y2NlZWRlZAogICAgICAgIGlmICghJGtleSkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIGlmICghKCRyZXN1bHQgPSAkbW9kZWwtPmdldFBhdGgoJGtleSkpKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgICR0b3RhbCA9ICRtYXRjaGVzID0gMDsKICAgICAgICBmb3JlYWNoICgoYXJyYXkpICRyZXN1bHQgYXMgJHZhbHVlKSB7CiAgICAgICAgICAgICR0b3RhbCsrOwogICAgICAgICAgICBmb3JlYWNoICgoYXJyYXkpICRjaGVja1ZhbHVlIGFzICRjaGVjaykgewogICAgICAgICAgICAgICAgaWYgKCR2YWx1ZSA9PSAkY2hlY2spIHsKICAgICAgICAgICAgICAgICAgICAkbWF0Y2hlcysrOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBXaGVuIG1hdGNoaW5nIGFsbCB2YWx1ZXMsIGVuc3VyZSB0aGF0IHRoZSBtYXRjaCBjb3VudCBtYXRjaGVzIHRoZSB0b3RhbCBjb3VudAogICAgICAgIGlmICgkYWxsICYmICR0b3RhbCAhPSAkbWF0Y2hlcykgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJG1hdGNoZXMgPiAwOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Waiter/ResourceWaiterInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxBd3NDbGllbnRJbnRlcmZhY2U7CgovKioKICogSW50ZXJmYWNlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBjbGllbnRzIHRvIHdhaXQgb24gYSByZXNvdXJjZQogKi8KaW50ZXJmYWNlIFJlc291cmNlV2FpdGVySW50ZXJmYWNlIGV4dGVuZHMgV2FpdGVySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogU2V0IHRoZSBjbGllbnQgYXNzb2NpYXRlZCB3aXRoIHRoZSB3YWl0ZXIKICAgICAqCiAgICAgKiBAcGFyYW0gQXdzQ2xpZW50SW50ZXJmYWNlICRjbGllbnQgQ2xpZW50IHRvIHVzZSB3aXRoIHRoZSB3YWl0ZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldENsaWVudChBd3NDbGllbnRJbnRlcmZhY2UgJGNsaWVudCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Waiter/WaiterClassFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcSW5mbGVjdGlvblxJbmZsZWN0b3I7CnVzZSBHdXp6bGVcSW5mbGVjdGlvblxJbmZsZWN0b3JJbnRlcmZhY2U7CgovKioKICogRmFjdG9yeSBmb3IgY3JlYXRpbmcge0BzZWUgV2FpdGVySW50ZXJmYWNlfSBvYmplY3RzIHVzaW5nIGEgY29udmVudGlvbiBvZgogKiBzdG9yaW5nIHdhaXRlciBjbGFzc2VzIGluIHRoZSBXYWl0ZXIgZm9sZGVyIG9mIGEgY2xpZW50IGNsYXNzIG5hbWVzcGFjZSB1c2luZwogKiBhIHNuYWtlX2Nhc2UgdG8gQ2FtZWxDYXNlIGNvbnZlcnNpb24gKGUuZy4gY2FtZWxfY2FzZSA9PiBDYW1lbENhc2UpLgogKi8KY2xhc3MgV2FpdGVyQ2xhc3NGYWN0b3J5IGltcGxlbWVudHMgV2FpdGVyRmFjdG9yeUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgTGlzdCBvZiBuYW1lc3BhY2VzIHVzZWQgdG8gbG9vayBmb3IgY2xhc3NlcwogICAgICovCiAgICBwcm90ZWN0ZWQgJG5hbWVzcGFjZXM7CgogICAgLyoqCiAgICAgKiBAdmFyIEluZmxlY3RvckludGVyZmFjZSBJbmZsZWN0b3IgdXNlZCB0byBpbmZsZWN0IGNsYXNzIG5hbWVzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkaW5mbGVjdG9yOwoKICAgIC8qKgogICAgICogQHBhcmFtIGFycmF5fHN0cmluZyAgICAgICAkbmFtZXNwYWNlcyBOYW1lc3BhY2VzIG9mIHdhaXRlciBvYmplY3RzCiAgICAgKiBAcGFyYW0gSW5mbGVjdG9ySW50ZXJmYWNlICRpbmZsZWN0b3IgIEluZmxlY3RvciB1c2VkIHRvIHJlc29sdmUgY2xhc3MgbmFtZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRuYW1lc3BhY2VzID0gYXJyYXkoKSwgSW5mbGVjdG9ySW50ZXJmYWNlICRpbmZsZWN0b3IgPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5uYW1lc3BhY2VzID0gKGFycmF5KSAkbmFtZXNwYWNlczsKICAgICAgICAkdGhpcy0+aW5mbGVjdG9yID0gJGluZmxlY3RvciA/OiBJbmZsZWN0b3I6OmdldERlZmF1bHQoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlZ2lzdGVycyBhIG5hbWVzcGFjZSB0byBjaGVjayBmb3IgV2FpdGVycwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWVzcGFjZSBOYW1lc3BhY2Ugd2hpY2ggY29udGFpbnMgV2FpdGVyIGNsYXNzZXMKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlZ2lzdGVyTmFtZXNwYWNlKCRuYW1lc3BhY2UpCiAgICB7CiAgICAgICAgYXJyYXlfdW5zaGlmdCgkdGhpcy0+bmFtZXNwYWNlcywgJG5hbWVzcGFjZSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJ1aWxkKCR3YWl0ZXIpCiAgICB7CiAgICAgICAgaWYgKCEoJGNsYXNzTmFtZSA9ICR0aGlzLT5nZXRDbGFzc05hbWUoJHdhaXRlcikpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oIldhaXRlciB3YXMgbm90IGZvdW5kIG1hdGNoaW5nIHskd2FpdGVyfS4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBuZXcgJGNsYXNzTmFtZSgpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FuQnVpbGQoJHdhaXRlcikKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldENsYXNzTmFtZSgkd2FpdGVyKSAhPT0gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbmFtZSBvZiBhIHdhaXRlciBjbGFzcwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHdhaXRlciBXYWl0ZXIgbmFtZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldENsYXNzTmFtZSgkd2FpdGVyKQogICAgewogICAgICAgICR3YWl0ZXJOYW1lID0gJHRoaXMtPmluZmxlY3Rvci0+Y2FtZWwoJHdhaXRlcik7CgogICAgICAgIC8vIERldGVybWluZSB0aGUgbmFtZSBvZiB0aGUgY2xhc3MgdG8gbG9hZAogICAgICAgICRjbGFzc05hbWUgPSBudWxsOwogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5uYW1lc3BhY2VzIGFzICRuYW1lc3BhY2UpIHsKICAgICAgICAgICAgJHBvdGVudGlhbENsYXNzTmFtZSA9ICRuYW1lc3BhY2UgLiAnXFwnIC4gJHdhaXRlck5hbWU7CiAgICAgICAgICAgIGlmIChjbGFzc19leGlzdHMoJHBvdGVudGlhbENsYXNzTmFtZSkpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkcG90ZW50aWFsQ2xhc3NOYW1lOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Waiter/WaiterConfig.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFdhaXRlcjsKCnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CgovKioKICogQ29uZmlndXJhdGlvbiBpbmZvIG9mIGEgd2FpdGVyIG9iamVjdAogKi8KY2xhc3MgV2FpdGVyQ29uZmlnIGV4dGVuZHMgQ29sbGVjdGlvbgp7CiAgICBjb25zdCBXQUlURVJfTkFNRSA9ICduYW1lJzsKICAgIGNvbnN0IE1BWF9BVFRFTVBUUyA9ICdtYXhfYXR0ZW1wdHMnOwogICAgY29uc3QgSU5URVJWQUwgPSAnaW50ZXJ2YWwnOwogICAgY29uc3QgT1BFUkFUSU9OID0gJ29wZXJhdGlvbic7CiAgICBjb25zdCBJR05PUkVfRVJST1JTID0gJ2lnbm9yZV9lcnJvcnMnOwogICAgY29uc3QgREVTQ1JJUFRJT04gPSAnZGVzY3JpcHRpb24nOwogICAgY29uc3QgU1VDQ0VTU19UWVBFID0gJ3N1Y2Nlc3MudHlwZSc7CiAgICBjb25zdCBTVUNDRVNTX1BBVEggPSAnc3VjY2Vzcy5wYXRoJzsKICAgIGNvbnN0IFNVQ0NFU1NfVkFMVUUgPSAnc3VjY2Vzcy52YWx1ZSc7CiAgICBjb25zdCBGQUlMVVJFX1RZUEUgPSAnZmFpbHVyZS50eXBlJzsKICAgIGNvbnN0IEZBSUxVUkVfUEFUSCA9ICdmYWlsdXJlLnBhdGgnOwogICAgY29uc3QgRkFJTFVSRV9WQUxVRSA9ICdmYWlsdXJlLnZhbHVlJzsKCiAgICAvKioKICAgICAqIEBwYXJhbSBhcnJheSAkZGF0YSBBcnJheSBvZiBjb25maWd1cmF0aW9uIGRpcmVjdGl2ZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KGFycmF5ICRkYXRhID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkdGhpcy0+ZGF0YSA9ICRkYXRhOwogICAgICAgICR0aGlzLT5leHRyYWN0Q29uZmlnKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgdGhlIGNvbW1hbmQgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGV4dHJhY3RDb25maWcoKQogICAgewogICAgICAgIC8vIFBvcHVsYXRlIHN1Y2Nlc3MuKiBhbmQgZmFpbHVyZS4qIGlmIHNwZWNpZmllZCBpbiBhY2NlcHRvci4qCiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmRhdGEgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgaWYgKHN1YnN0cigka2V5LCAwLCA5KSA9PSAnYWNjZXB0b3IuJykgewogICAgICAgICAgICAgICAgJG5hbWUgPSBzdWJzdHIoJGtleSwgOSk7CiAgICAgICAgICAgICAgICBpZiAoIWlzc2V0KCR0aGlzLT5kYXRhWyJzdWNjZXNzLnskbmFtZX0iXSkpIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+ZGF0YVsic3VjY2Vzcy57JG5hbWV9Il0gPSAkdmFsdWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoIWlzc2V0KCR0aGlzLT5kYXRhWyJmYWlsdXJlLnskbmFtZX0iXSkpIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+ZGF0YVsiZmFpbHVyZS57JG5hbWV9Il0gPSAkdmFsdWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB1bnNldCgkdGhpcy0+ZGF0YVska2V5XSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Waiter/WaiterConfigFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcSW5mbGVjdGlvblxJbmZsZWN0b3I7CnVzZSBHdXp6bGVcSW5mbGVjdGlvblxJbmZsZWN0b3JJbnRlcmZhY2U7CgovKioKICogRmFjdG9yeSBmb3IgY3JlYXRpbmcge0BzZWUgV2FpdGVySW50ZXJmYWNlfSBvYmplY3RzIHVzaW5nIGEgY29uZmlndXJhdGlvbiBEU0wuCiAqLwpjbGFzcyBXYWl0ZXJDb25maWdGYWN0b3J5IGltcGxlbWVudHMgV2FpdGVyRmFjdG9yeUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgQ29uZmlndXJhdGlvbiBkaXJlY3RpdmVzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY29uZmlnOwoKICAgIC8qKgogICAgICogQHZhciBJbmZsZWN0b3JJbnRlcmZhY2UgSW5mbGVjdG9yIHVzZWQgdG8gaW5mbGVjdCBjbGFzcyBuYW1lcwogICAgICovCiAgICBwcm90ZWN0ZWQgJGluZmxlY3RvcjsKCiAgICAvKioKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICAgJGNvbmZpZyAgICBBcnJheSBvZiBjb25maWd1cmF0aW9uIGRpcmVjdGl2ZXMKICAgICAqIEBwYXJhbSBJbmZsZWN0b3JJbnRlcmZhY2UgJGluZmxlY3RvciBJbmZsZWN0b3IgdXNlZCB0byByZXNvbHZlIGNsYXNzIG5hbWVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgKICAgICAgICBhcnJheSAkY29uZmlnLAogICAgICAgIEluZmxlY3RvckludGVyZmFjZSAkaW5mbGVjdG9yID0gbnVsbAogICAgKSB7CiAgICAgICAgJHRoaXMtPmNvbmZpZyA9ICRjb25maWc7CiAgICAgICAgJHRoaXMtPmluZmxlY3RvciA9ICRpbmZsZWN0b3IgPzogSW5mbGVjdG9yOjpnZXREZWZhdWx0KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidWlsZCgkd2FpdGVyKQogICAgewogICAgICAgIHJldHVybiBuZXcgQ29uZmlnUmVzb3VyY2VXYWl0ZXIoJHRoaXMtPmdldFdhaXRlckNvbmZpZygkd2FpdGVyKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjYW5CdWlsZCgkd2FpdGVyKQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+Y29uZmlnWyR3YWl0ZXJdKSB8fCBpc3NldCgkdGhpcy0+Y29uZmlnWyR0aGlzLT5pbmZsZWN0b3ItPmNhbWVsKCR3YWl0ZXIpXSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgd2FpdGVyIGNvbmZpZ3VyYXRpb24gZGF0YSwgdGFraW5nIF9fZGVmYXVsdF9fIGFuZCBleHRlbnNpb25zIGludG8gYWNjb3VudAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUgV2FpdGVyIG5hbWUKICAgICAqCiAgICAgKiBAcmV0dXJuIFdhaXRlckNvbmZpZwogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldFdhaXRlckNvbmZpZygkbmFtZSkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5jYW5CdWlsZCgkbmFtZSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignTm8gd2FpdGVyIGZvdW5kIG1hdGNoaW5nICInIC4gJG5hbWUgLiAnIicpOwogICAgICAgIH0KCiAgICAgICAgLy8gaW5mbGVjdCB0aGUgbmFtZSBpZiBuZWVkZWQKICAgICAgICAkbmFtZSA9IGlzc2V0KCR0aGlzLT5jb25maWdbJG5hbWVdKSA/ICRuYW1lIDogJHRoaXMtPmluZmxlY3Rvci0+Y2FtZWwoJG5hbWUpOwogICAgICAgICR3YWl0ZXIgPSBuZXcgV2FpdGVyQ29uZmlnKCR0aGlzLT5jb25maWdbJG5hbWVdKTsKICAgICAgICAkd2FpdGVyWyduYW1lJ10gPSAkbmFtZTsKCiAgICAgICAgLy8gQWx3YXlzIHVzZSBfX2RlZmF1bHRfXyBhcyB0aGUgYmFzaXMgaWYgaXQncyBzZXQKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPmNvbmZpZ1snX19kZWZhdWx0X18nXSkpIHsKICAgICAgICAgICAgJHBhcmVudFdhaXRlciA9IG5ldyBXYWl0ZXJDb25maWcoJHRoaXMtPmNvbmZpZ1snX19kZWZhdWx0X18nXSk7CiAgICAgICAgICAgICR3YWl0ZXIgPSAkcGFyZW50V2FpdGVyLT5vdmVyd3JpdGVXaXRoKCR3YWl0ZXIpOwogICAgICAgIH0KCiAgICAgICAgLy8gQWxsb3cgZm9yIGNvbmZpZ3VyYXRpb24gZXh0ZW5zaW9ucwogICAgICAgIGlmIChpc3NldCgkdGhpcy0+Y29uZmlnWyRuYW1lXVsnZXh0ZW5kcyddKSkgewogICAgICAgICAgICAkd2FpdGVyID0gJHRoaXMtPmdldFdhaXRlckNvbmZpZygkdGhpcy0+Y29uZmlnWyRuYW1lXVsnZXh0ZW5kcyddKS0+b3ZlcndyaXRlV2l0aCgkd2FpdGVyKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkd2FpdGVyOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Waiter/WaiterFactoryInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFdhaXRlcjsKCi8qKgogKiBXYWl0ZXIgZmFjdG9yeSB1c2VkIHRvIGNyZWF0ZSB3YWl0ZXIgb2JqZWN0cyBieSBzaG9ydCBuYW1lcwogKi8KaW50ZXJmYWNlIFdhaXRlckZhY3RvcnlJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBDcmVhdGUgYSB3YWl0ZXIgYnkgbmFtZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHdhaXRlciBOYW1lIG9mIHRoZSB3YWl0ZXIgdG8gY3JlYXRlCiAgICAgKgogICAgICogQHJldHVybiBXYWl0ZXJJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJ1aWxkKCR3YWl0ZXIpOwoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgdGhlIGZhY3RvcnkgY2FuIGNyZWF0ZSBhIHdhaXRlciBieSBhIHNwZWNpZmljIG5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR3YWl0ZXIgTmFtZSBvZiB0aGUgd2FpdGVyIHRvIGNoZWNrCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjYW5CdWlsZCgkd2FpdGVyKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Common/Waiter/WaiterInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcQ29tbW9uXFdhaXRlcjsKCi8qKgogKiBXYWl0ZXJJbnRlcmZhY2UgdXNlZCB0byB3YWl0IG9uIHNvbWV0aGluZyB0byBiZSBpbiBhIHBhcnRpY3VsYXIgc3RhdGUKICovCmludGVyZmFjZSBXYWl0ZXJJbnRlcmZhY2UKewogICAgY29uc3QgSU5URVJWQUwgPSAnd2FpdGVyLmludGVydmFsJzsKICAgIGNvbnN0IE1BWF9BVFRFTVBUUyA9ICd3YWl0ZXIubWF4X2F0dGVtcHRzJzsKCiAgICAvKioKICAgICAqIFNldCB0aGUgbWF4aW11bSBudW1iZXIgb2YgYXR0ZW1wdHMgdG8gbWFrZSB3aGVuIHdhaXRpbmcKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRtYXhBdHRlbXB0cyBNYXggbnVtYmVyIG9mIGF0dGVtcHRzCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRNYXhBdHRlbXB0cygkbWF4QXR0ZW1wdHMpOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBhbW91bnQgb2YgdGltZSB0byBpbnRlcnZhbCBiZXR3ZWVuIGF0dGVtcHRzCiAgICAgKgogICAgICogQHBhcmFtIGludCAkaW50ZXJ2YWwgSW50ZXJ2YWwgaW4gc2Vjb25kcwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0SW50ZXJ2YWwoJGludGVydmFsKTsKCiAgICAvKioKICAgICAqIFNldCBjb25maWd1cmF0aW9uIG9wdGlvbnMgYXNzb2NpYXRlZCB3aXRoIHRoZSB3YWl0ZXIKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGNvbmZpZyBDb25maWd1cmF0aW9uIG9wdGlvbnMgdG8gc2V0CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDb25maWcoYXJyYXkgJGNvbmZpZyk7CgogICAgLyoqCiAgICAgKiBCZWdpbiB0aGUgd2FpdGluZyBsb29wCiAgICAgKgogICAgICogQHRocm93IFJ1bnRpbWVFeGNlcHRpb24gaWYgdGhlIG1ldGhvZCBuZXZlciByZXNvbHZlcyB0byB0cnVlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB3YWl0KCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DataPipeline/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DataPipeline/DataPipelineClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGF0YVBpcGVsaW5lOwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50Owp1c2UgQXdzXENvbW1vblxDbGllbnRcQ2xpZW50QnVpbGRlcjsKdXNlIEF3c1xDb21tb25cRW51bVxDbGllbnRPcHRpb25zIGFzIE9wdGlvbnM7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXJcSnNvblF1ZXJ5RXhjZXB0aW9uUGFyc2VyOwp1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlOwoKLyoqCiAqIENsaWVudCB0byBpbnRlcmFjdCB3aXRoIEFXUyBEYXRhIFBpcGVsaW5lCiAqCiAqIEBtZXRob2QgTW9kZWwgYWN0aXZhdGVQaXBlbGluZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEYXRhUGlwZWxpbmUgQWN0aXZhdGVQaXBlbGluZX0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVQaXBlbGluZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEYXRhUGlwZWxpbmUgQ3JlYXRlUGlwZWxpbmV9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlUGlwZWxpbmUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRGF0YVBpcGVsaW5lIERlbGV0ZVBpcGVsaW5lfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlT2JqZWN0cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEYXRhUGlwZWxpbmUgRGVzY3JpYmVPYmplY3RzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlUGlwZWxpbmVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIERhdGFQaXBlbGluZSBEZXNjcmliZVBpcGVsaW5lc30KICogQG1ldGhvZCBNb2RlbCBldmFsdWF0ZUV4cHJlc3Npb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRGF0YVBpcGVsaW5lIEV2YWx1YXRlRXhwcmVzc2lvbn0KICogQG1ldGhvZCBNb2RlbCBnZXRQaXBlbGluZURlZmluaXRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRGF0YVBpcGVsaW5lIEdldFBpcGVsaW5lRGVmaW5pdGlvbn0KICogQG1ldGhvZCBNb2RlbCBsaXN0UGlwZWxpbmVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIERhdGFQaXBlbGluZSBMaXN0UGlwZWxpbmVzfQogKiBAbWV0aG9kIE1vZGVsIHBvbGxGb3JUYXNrKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIERhdGFQaXBlbGluZSBQb2xsRm9yVGFza30KICogQG1ldGhvZCBNb2RlbCBwdXRQaXBlbGluZURlZmluaXRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRGF0YVBpcGVsaW5lIFB1dFBpcGVsaW5lRGVmaW5pdGlvbn0KICogQG1ldGhvZCBNb2RlbCBxdWVyeU9iamVjdHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRGF0YVBpcGVsaW5lIFF1ZXJ5T2JqZWN0c30KICogQG1ldGhvZCBNb2RlbCByZXBvcnRUYXNrUHJvZ3Jlc3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRGF0YVBpcGVsaW5lIFJlcG9ydFRhc2tQcm9ncmVzc30KICogQG1ldGhvZCBNb2RlbCByZXBvcnRUYXNrUnVubmVySGVhcnRiZWF0KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIERhdGFQaXBlbGluZSBSZXBvcnRUYXNrUnVubmVySGVhcnRiZWF0fQogKiBAbWV0aG9kIE1vZGVsIHNldFN0YXR1cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEYXRhUGlwZWxpbmUgU2V0U3RhdHVzfQogKiBAbWV0aG9kIE1vZGVsIHNldFRhc2tTdGF0dXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRGF0YVBpcGVsaW5lIFNldFRhc2tTdGF0dXN9CiAqIEBtZXRob2QgTW9kZWwgdmFsaWRhdGVQaXBlbGluZURlZmluaXRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRGF0YVBpcGVsaW5lIFZhbGlkYXRlUGlwZWxpbmVEZWZpbml0aW9ufQogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdFBpcGVsaW5lc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RQaXBlbGluZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZU9iamVjdHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZU9iamVjdHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRRdWVyeU9iamVjdHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBRdWVyeU9iamVjdHMgb3BlcmF0aW9uCiAqCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9zZXJ2aWNlLWRhdGFwaXBlbGluZS5odG1sIFVzZXIgZ3VpZGUKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5EYXRhUGlwZWxpbmUuRGF0YVBpcGVsaW5lQ2xpZW50Lmh0bWwgQVBJIGRvY3MKICovCmNsYXNzIERhdGFQaXBlbGluZUNsaWVudCBleHRlbmRzIEFic3RyYWN0Q2xpZW50CnsKICAgIGNvbnN0IExBVEVTVF9BUElfVkVSU0lPTiA9ICcyMDEyLTEwLTI5JzsKCiAgICAvKioKICAgICAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBBbWF6b24gRGF0YSBQaXBlbGluZSBjbGllbnQgdXNpbmcgYW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBvcHRpb25zLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICRjb25maWcgQ2xpZW50IGNvbmZpZ3VyYXRpb24gZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQHNlZSBcQXdzXENvbW1vblxDbGllbnRcRGVmYXVsdENsaWVudCBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBjb25maWd1cmF0aW9uIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgIC8vIENvbnN0cnVjdCB0aGUgRGF0YSBQaXBlbGluZSBjbGllbnQgd2l0aCB0aGUgY2xpZW50IGJ1aWxkZXIKICAgICAgICAkY2xpZW50ID0gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9kYXRhcGlwZWxpbmUtJXMucGhwJwogICAgICAgICAgICApKQogICAgICAgICAgICAtPnNldEV4Y2VwdGlvblBhcnNlcihuZXcgSnNvblF1ZXJ5RXhjZXB0aW9uUGFyc2VyKCkpCiAgICAgICAgICAgIC0+c2V0SXRlcmF0b3JzQ29uZmlnKGFycmF5KAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgICA9PiAnbGltaXQnLAogICAgICAgICAgICAgICAgJ21vcmVfa2V5JyAgICA9PiAnaGFzTW9yZVJlc3VsdHMnLAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnbWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknICAgPT4gJ21hcmtlcicsCiAgICAgICAgICAgICAgICAnb3BlcmF0aW9ucycgID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdMaXN0UGlwZWxpbmVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknICA9PiAncGlwZWxpbmVJZExpc3QnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaWJlT2JqZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyAgPT4gJ3BpcGVsaW5lT2JqZWN0cycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnUXVlcnlPYmplY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknICA9PiAnaWRzJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKQogICAgICAgICAgICAtPmJ1aWxkKCk7CgogICAgICAgIHJldHVybiAkY2xpZW50OwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DataPipeline/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DataPipeline/Enum/WorkStatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGF0YVBpcGVsaW5lXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgV29ya1N0YXR1cyB2YWx1ZXMKICovCmNsYXNzIFdvcmtTdGF0dXMgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEZJTklTSEVEID0gJ0ZJTklTSEVEJzsKICAgIGNvbnN0IEZBSUxFRCA9ICdGQUlMRUQnOwogICAgY29uc3QgRkFMU0UgPSAnRkFMU0UnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DataPipeline/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DataPipeline/Exception/DataPipelineException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGF0YVBpcGVsaW5lXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb247CgovKioKICogRGVmYXVsdCBzZXJ2aWNlIGV4Y2VwdGlvbiBjbGFzcwogKi8KY2xhc3MgRGF0YVBpcGVsaW5lRXhjZXB0aW9uIGV4dGVuZHMgU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DataPipeline/Exception/InternalServiceErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGF0YVBpcGVsaW5lXEV4Y2VwdGlvbjsKCi8qKgogKiBBbiBpbnRlcm5hbCBzZXJ2aWNlIGVycm9yIG9jY3VycmVkLgogKi8KY2xhc3MgSW50ZXJuYWxTZXJ2aWNlRXJyb3JFeGNlcHRpb24gZXh0ZW5kcyBEYXRhUGlwZWxpbmVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DataPipeline/Exception/InvalidRequestException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGF0YVBpcGVsaW5lXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgbm90IHZhbGlkLiBWZXJpZnkgdGhhdCB5b3VyIHJlcXVlc3Qgd2FzIHByb3Blcmx5IGZvcm1hdHRlZCwgdGhhdCB0aGUgc2lnbmF0dXJlIHdhcyBnZW5lcmF0ZWQgd2l0aCB0aGUgY29ycmVjdCBjcmVkZW50aWFscywgYW5kIHRoYXQgeW91IGhhdmVuJ3QgZXhjZWVkZWQgYW55IG9mIHRoZSBzZXJ2aWNlIGxpbWl0cyBmb3IgeW91ciBhY2NvdW50LgogKi8KY2xhc3MgSW52YWxpZFJlcXVlc3RFeGNlcHRpb24gZXh0ZW5kcyBEYXRhUGlwZWxpbmVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DataPipeline/Exception/PipelineDeletedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGF0YVBpcGVsaW5lXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgc3BlY2lmaWVkIHBpcGVsaW5lIGhhcyBiZWVuIGRlbGV0ZWQuCiAqLwpjbGFzcyBQaXBlbGluZURlbGV0ZWRFeGNlcHRpb24gZXh0ZW5kcyBEYXRhUGlwZWxpbmVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DataPipeline/Exception/PipelineNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGF0YVBpcGVsaW5lXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgc3BlY2lmaWVkIHBpcGVsaW5lIHdhcyBub3QgZm91bmQuIFZlcmlmeSB0aGF0IHlvdSB1c2VkIHRoZSBjb3JyZWN0IHVzZXIgYW5kIGFjY291bnQgaWRlbnRpZmllcnMuCiAqLwpjbGFzcyBQaXBlbGluZU5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgRGF0YVBpcGVsaW5lRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DataPipeline/Exception/TaskNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGF0YVBpcGVsaW5lXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgc3BlY2lmaWVkIHRhc2sgd2FzIG5vdCBmb3VuZC4KICovCmNsYXNzIFRhc2tOb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIERhdGFQaXBlbGluZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DataPipeline/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DataPipeline/Resources/datapipeline-2012-10-29.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTItMTAtMjknLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnZGF0YXBpcGVsaW5lJywKICAgICdzZXJ2aWNlRnVsbE5hbWUnID0+ICdBV1MgRGF0YSBQaXBlbGluZScsCiAgICAnc2VydmljZVR5cGUnID0+ICdqc29uJywKICAgICdqc29uVmVyc2lvbicgPT4gJzEuMScsCiAgICAndGFyZ2V0UHJlZml4JyA9PiAnRGF0YVBpcGVsaW5lLicsCiAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3Y0JywKICAgICduYW1lc3BhY2UnID0+ICdEYXRhUGlwZWxpbmUnLAogICAgJ3JlZ2lvbnMnID0+IGFycmF5KAogICAgICAgICd1cy1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZGF0YXBpcGVsaW5lLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQWN0aXZhdGVQaXBlbGluZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGF0YVBpcGVsaW5lLkFjdGl2YXRlUGlwZWxpbmUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdwaXBlbGluZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBwaXBlbGluZSB3YXMgbm90IGZvdW5kLiBWZXJpZnkgdGhhdCB5b3UgdXNlZCB0aGUgY29ycmVjdCB1c2VyIGFuZCBhY2NvdW50IGlkZW50aWZpZXJzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUGlwZWxpbmVOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgcGlwZWxpbmUgaGFzIGJlZW4gZGVsZXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1BpcGVsaW5lRGVsZXRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZpY2UgZXJyb3Igb2NjdXJyZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZpY2VFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyBub3QgdmFsaWQuIFZlcmlmeSB0aGF0IHlvdXIgcmVxdWVzdCB3YXMgcHJvcGVybHkgZm9ybWF0dGVkLCB0aGF0IHRoZSBzaWduYXR1cmUgd2FzIGdlbmVyYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGNyZWRlbnRpYWxzLCBhbmQgdGhhdCB5b3UgaGF2ZW5cJ3QgZXhjZWVkZWQgYW55IG9mIHRoZSBzZXJ2aWNlIGxpbWl0cyBmb3IgeW91ciBhY2NvdW50LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVQaXBlbGluZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVQaXBlbGluZU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGF0YVBpcGVsaW5lLkNyZWF0ZVBpcGVsaW5lJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3VuaXF1ZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2aWNlIGVycm9yIG9jY3VycmVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2aWNlRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgbm90IHZhbGlkLiBWZXJpZnkgdGhhdCB5b3VyIHJlcXVlc3Qgd2FzIHByb3Blcmx5IGZvcm1hdHRlZCwgdGhhdCB0aGUgc2lnbmF0dXJlIHdhcyBnZW5lcmF0ZWQgd2l0aCB0aGUgY29ycmVjdCBjcmVkZW50aWFscywgYW5kIHRoYXQgeW91IGhhdmVuXCd0IGV4Y2VlZGVkIGFueSBvZiB0aGUgc2VydmljZSBsaW1pdHMgZm9yIHlvdXIgYWNjb3VudC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlUGlwZWxpbmUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RhdGFQaXBlbGluZS5EZWxldGVQaXBlbGluZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3BpcGVsaW5lSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHBpcGVsaW5lIHdhcyBub3QgZm91bmQuIFZlcmlmeSB0aGF0IHlvdSB1c2VkIHRoZSBjb3JyZWN0IHVzZXIgYW5kIGFjY291bnQgaWRlbnRpZmllcnMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQaXBlbGluZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmljZSBlcnJvciBvY2N1cnJlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIG5vdCB2YWxpZC4gVmVyaWZ5IHRoYXQgeW91ciByZXF1ZXN0IHdhcyBwcm9wZXJseSBmb3JtYXR0ZWQsIHRoYXQgdGhlIHNpZ25hdHVyZSB3YXMgZ2VuZXJhdGVkIHdpdGggdGhlIGNvcnJlY3QgY3JlZGVudGlhbHMsIGFuZCB0aGF0IHlvdSBoYXZlblwndCBleGNlZWRlZCBhbnkgb2YgdGhlIHNlcnZpY2UgbGltaXRzIGZvciB5b3VyIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlT2JqZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZU9iamVjdHNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RhdGFQaXBlbGluZS5EZXNjcmliZU9iamVjdHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdwaXBlbGluZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnb2JqZWN0SWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdldmFsdWF0ZUV4cHJlc3Npb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ21hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZpY2UgZXJyb3Igb2NjdXJyZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZpY2VFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyBub3QgdmFsaWQuIFZlcmlmeSB0aGF0IHlvdXIgcmVxdWVzdCB3YXMgcHJvcGVybHkgZm9ybWF0dGVkLCB0aGF0IHRoZSBzaWduYXR1cmUgd2FzIGdlbmVyYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGNyZWRlbnRpYWxzLCBhbmQgdGhhdCB5b3UgaGF2ZW5cJ3QgZXhjZWVkZWQgYW55IG9mIHRoZSBzZXJ2aWNlIGxpbWl0cyBmb3IgeW91ciBhY2NvdW50LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHBpcGVsaW5lIHdhcyBub3QgZm91bmQuIFZlcmlmeSB0aGF0IHlvdSB1c2VkIHRoZSBjb3JyZWN0IHVzZXIgYW5kIGFjY291bnQgaWRlbnRpZmllcnMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQaXBlbGluZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBwaXBlbGluZSBoYXMgYmVlbiBkZWxldGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUGlwZWxpbmVEZWxldGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVQaXBlbGluZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVQaXBlbGluZXNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RhdGFQaXBlbGluZS5EZXNjcmliZVBpcGVsaW5lcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3BpcGVsaW5lSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHBpcGVsaW5lIHdhcyBub3QgZm91bmQuIFZlcmlmeSB0aGF0IHlvdSB1c2VkIHRoZSBjb3JyZWN0IHVzZXIgYW5kIGFjY291bnQgaWRlbnRpZmllcnMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQaXBlbGluZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBwaXBlbGluZSBoYXMgYmVlbiBkZWxldGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUGlwZWxpbmVEZWxldGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmljZSBlcnJvciBvY2N1cnJlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIG5vdCB2YWxpZC4gVmVyaWZ5IHRoYXQgeW91ciByZXF1ZXN0IHdhcyBwcm9wZXJseSBmb3JtYXR0ZWQsIHRoYXQgdGhlIHNpZ25hdHVyZSB3YXMgZ2VuZXJhdGVkIHdpdGggdGhlIGNvcnJlY3QgY3JlZGVudGlhbHMsIGFuZCB0aGF0IHlvdSBoYXZlblwndCBleGNlZWRlZCBhbnkgb2YgdGhlIHNlcnZpY2UgbGltaXRzIGZvciB5b3VyIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0V2YWx1YXRlRXhwcmVzc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFdmFsdWF0ZUV4cHJlc3Npb25PdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RhdGFQaXBlbGluZS5FdmFsdWF0ZUV4cHJlc3Npb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdwaXBlbGluZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnb2JqZWN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdleHByZXNzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIwOTcxNTIwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2aWNlIGVycm9yIG9jY3VycmVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2aWNlRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHRhc2sgd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rhc2tOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyBub3QgdmFsaWQuIFZlcmlmeSB0aGF0IHlvdXIgcmVxdWVzdCB3YXMgcHJvcGVybHkgZm9ybWF0dGVkLCB0aGF0IHRoZSBzaWduYXR1cmUgd2FzIGdlbmVyYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGNyZWRlbnRpYWxzLCBhbmQgdGhhdCB5b3UgaGF2ZW5cJ3QgZXhjZWVkZWQgYW55IG9mIHRoZSBzZXJ2aWNlIGxpbWl0cyBmb3IgeW91ciBhY2NvdW50LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHBpcGVsaW5lIHdhcyBub3QgZm91bmQuIFZlcmlmeSB0aGF0IHlvdSB1c2VkIHRoZSBjb3JyZWN0IHVzZXIgYW5kIGFjY291bnQgaWRlbnRpZmllcnMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQaXBlbGluZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBwaXBlbGluZSBoYXMgYmVlbiBkZWxldGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUGlwZWxpbmVEZWxldGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0UGlwZWxpbmVEZWZpbml0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldFBpcGVsaW5lRGVmaW5pdGlvbk91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGF0YVBpcGVsaW5lLkdldFBpcGVsaW5lRGVmaW5pdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3BpcGVsaW5lSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmljZSBlcnJvciBvY2N1cnJlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIG5vdCB2YWxpZC4gVmVyaWZ5IHRoYXQgeW91ciByZXF1ZXN0IHdhcyBwcm9wZXJseSBmb3JtYXR0ZWQsIHRoYXQgdGhlIHNpZ25hdHVyZSB3YXMgZ2VuZXJhdGVkIHdpdGggdGhlIGNvcnJlY3QgY3JlZGVudGlhbHMsIGFuZCB0aGF0IHlvdSBoYXZlblwndCBleGNlZWRlZCBhbnkgb2YgdGhlIHNlcnZpY2UgbGltaXRzIGZvciB5b3VyIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgcGlwZWxpbmUgd2FzIG5vdCBmb3VuZC4gVmVyaWZ5IHRoYXQgeW91IHVzZWQgdGhlIGNvcnJlY3QgdXNlciBhbmQgYWNjb3VudCBpZGVudGlmaWVycy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1BpcGVsaW5lTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHBpcGVsaW5lIGhhcyBiZWVuIGRlbGV0ZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQaXBlbGluZURlbGV0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0UGlwZWxpbmVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RQaXBlbGluZXNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RhdGFQaXBlbGluZS5MaXN0UGlwZWxpbmVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmljZSBlcnJvciBvY2N1cnJlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIG5vdCB2YWxpZC4gVmVyaWZ5IHRoYXQgeW91ciByZXF1ZXN0IHdhcyBwcm9wZXJseSBmb3JtYXR0ZWQsIHRoYXQgdGhlIHNpZ25hdHVyZSB3YXMgZ2VuZXJhdGVkIHdpdGggdGhlIGNvcnJlY3QgY3JlZGVudGlhbHMsIGFuZCB0aGF0IHlvdSBoYXZlblwndCBleGNlZWRlZCBhbnkgb2YgdGhlIHNlcnZpY2UgbGltaXRzIGZvciB5b3VyIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1BvbGxGb3JUYXNrJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1BvbGxGb3JUYXNrT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEYXRhUGlwZWxpbmUuUG9sbEZvclRhc2snLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd3b3JrZXJHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdob3N0bmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnaW5zdGFuY2VJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2RvY3VtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdzaWduYXR1cmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2aWNlIGVycm9yIG9jY3VycmVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2aWNlRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgbm90IHZhbGlkLiBWZXJpZnkgdGhhdCB5b3VyIHJlcXVlc3Qgd2FzIHByb3Blcmx5IGZvcm1hdHRlZCwgdGhhdCB0aGUgc2lnbmF0dXJlIHdhcyBnZW5lcmF0ZWQgd2l0aCB0aGUgY29ycmVjdCBjcmVkZW50aWFscywgYW5kIHRoYXQgeW91IGhhdmVuXCd0IGV4Y2VlZGVkIGFueSBvZiB0aGUgc2VydmljZSBsaW1pdHMgZm9yIHlvdXIgYWNjb3VudC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCB0YXNrIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUYXNrTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRQaXBlbGluZURlZmluaXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUHV0UGlwZWxpbmVEZWZpbml0aW9uT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEYXRhUGlwZWxpbmUuUHV0UGlwZWxpbmVEZWZpbml0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAncGlwZWxpbmVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3BpcGVsaW5lT2JqZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGlwZWxpbmVPYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWVsZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpZWxkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAna2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWZWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2aWNlIGVycm9yIG9jY3VycmVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2aWNlRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgbm90IHZhbGlkLiBWZXJpZnkgdGhhdCB5b3VyIHJlcXVlc3Qgd2FzIHByb3Blcmx5IGZvcm1hdHRlZCwgdGhhdCB0aGUgc2lnbmF0dXJlIHdhcyBnZW5lcmF0ZWQgd2l0aCB0aGUgY29ycmVjdCBjcmVkZW50aWFscywgYW5kIHRoYXQgeW91IGhhdmVuXCd0IGV4Y2VlZGVkIGFueSBvZiB0aGUgc2VydmljZSBsaW1pdHMgZm9yIHlvdXIgYWNjb3VudC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBwaXBlbGluZSB3YXMgbm90IGZvdW5kLiBWZXJpZnkgdGhhdCB5b3UgdXNlZCB0aGUgY29ycmVjdCB1c2VyIGFuZCBhY2NvdW50IGlkZW50aWZpZXJzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUGlwZWxpbmVOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgcGlwZWxpbmUgaGFzIGJlZW4gZGVsZXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1BpcGVsaW5lRGVsZXRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1F1ZXJ5T2JqZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdRdWVyeU9iamVjdHNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RhdGFQaXBlbGluZS5RdWVyeU9iamVjdHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdwaXBlbGluZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAncXVlcnknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdzZWxlY3RvcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU2VsZWN0b3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWVsZE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29wZXJhdG9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdzcGhlcmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbGltaXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgcGlwZWxpbmUgd2FzIG5vdCBmb3VuZC4gVmVyaWZ5IHRoYXQgeW91IHVzZWQgdGhlIGNvcnJlY3QgdXNlciBhbmQgYWNjb3VudCBpZGVudGlmaWVycy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1BpcGVsaW5lTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHBpcGVsaW5lIGhhcyBiZWVuIGRlbGV0ZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQaXBlbGluZURlbGV0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2aWNlIGVycm9yIG9jY3VycmVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2aWNlRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgbm90IHZhbGlkLiBWZXJpZnkgdGhhdCB5b3VyIHJlcXVlc3Qgd2FzIHByb3Blcmx5IGZvcm1hdHRlZCwgdGhhdCB0aGUgc2lnbmF0dXJlIHdhcyBnZW5lcmF0ZWQgd2l0aCB0aGUgY29ycmVjdCBjcmVkZW50aWFscywgYW5kIHRoYXQgeW91IGhhdmVuXCd0IGV4Y2VlZGVkIGFueSBvZiB0aGUgc2VydmljZSBsaW1pdHMgZm9yIHlvdXIgYWNjb3VudC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVwb3J0VGFza1Byb2dyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1JlcG9ydFRhc2tQcm9ncmVzc091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGF0YVBpcGVsaW5lLlJlcG9ydFRhc2tQcm9ncmVzcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3Rhc2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIwNDgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZpY2UgZXJyb3Igb2NjdXJyZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZpY2VFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyBub3QgdmFsaWQuIFZlcmlmeSB0aGF0IHlvdXIgcmVxdWVzdCB3YXMgcHJvcGVybHkgZm9ybWF0dGVkLCB0aGF0IHRoZSBzaWduYXR1cmUgd2FzIGdlbmVyYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGNyZWRlbnRpYWxzLCBhbmQgdGhhdCB5b3UgaGF2ZW5cJ3QgZXhjZWVkZWQgYW55IG9mIHRoZSBzZXJ2aWNlIGxpbWl0cyBmb3IgeW91ciBhY2NvdW50LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHRhc2sgd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rhc2tOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgcGlwZWxpbmUgd2FzIG5vdCBmb3VuZC4gVmVyaWZ5IHRoYXQgeW91IHVzZWQgdGhlIGNvcnJlY3QgdXNlciBhbmQgYWNjb3VudCBpZGVudGlmaWVycy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1BpcGVsaW5lTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHBpcGVsaW5lIGhhcyBiZWVuIGRlbGV0ZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQaXBlbGluZURlbGV0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXBvcnRUYXNrUnVubmVySGVhcnRiZWF0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1JlcG9ydFRhc2tSdW5uZXJIZWFydGJlYXRPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RhdGFQaXBlbGluZS5SZXBvcnRUYXNrUnVubmVySGVhcnRiZWF0JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndGFza3J1bm5lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnd29ya2VyR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdob3N0bmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmljZSBlcnJvciBvY2N1cnJlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIG5vdCB2YWxpZC4gVmVyaWZ5IHRoYXQgeW91ciByZXF1ZXN0IHdhcyBwcm9wZXJseSBmb3JtYXR0ZWQsIHRoYXQgdGhlIHNpZ25hdHVyZSB3YXMgZ2VuZXJhdGVkIHdpdGggdGhlIGNvcnJlY3QgY3JlZGVudGlhbHMsIGFuZCB0aGF0IHlvdSBoYXZlblwndCBleGNlZWRlZCBhbnkgb2YgdGhlIHNlcnZpY2UgbGltaXRzIGZvciB5b3VyIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NldFN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGF0YVBpcGVsaW5lLlNldFN0YXR1cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3BpcGVsaW5lSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdvYmplY3RJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2lkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHBpcGVsaW5lIHdhcyBub3QgZm91bmQuIFZlcmlmeSB0aGF0IHlvdSB1c2VkIHRoZSBjb3JyZWN0IHVzZXIgYW5kIGFjY291bnQgaWRlbnRpZmllcnMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQaXBlbGluZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBwaXBlbGluZSBoYXMgYmVlbiBkZWxldGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUGlwZWxpbmVEZWxldGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmljZSBlcnJvciBvY2N1cnJlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIG5vdCB2YWxpZC4gVmVyaWZ5IHRoYXQgeW91ciByZXF1ZXN0IHdhcyBwcm9wZXJseSBmb3JtYXR0ZWQsIHRoYXQgdGhlIHNpZ25hdHVyZSB3YXMgZ2VuZXJhdGVkIHdpdGggdGhlIGNvcnJlY3QgY3JlZGVudGlhbHMsIGFuZCB0aGF0IHlvdSBoYXZlblwndCBleGNlZWRlZCBhbnkgb2YgdGhlIHNlcnZpY2UgbGltaXRzIGZvciB5b3VyIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NldFRhc2tTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RhdGFQaXBlbGluZS5TZXRUYXNrU3RhdHVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndGFza0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjA0OCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndGFza1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZXJyb3JJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2Vycm9yTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdlcnJvclN0YWNrVHJhY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2aWNlIGVycm9yIG9jY3VycmVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2aWNlRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHRhc2sgd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rhc2tOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyBub3QgdmFsaWQuIFZlcmlmeSB0aGF0IHlvdXIgcmVxdWVzdCB3YXMgcHJvcGVybHkgZm9ybWF0dGVkLCB0aGF0IHRoZSBzaWduYXR1cmUgd2FzIGdlbmVyYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGNyZWRlbnRpYWxzLCBhbmQgdGhhdCB5b3UgaGF2ZW5cJ3QgZXhjZWVkZWQgYW55IG9mIHRoZSBzZXJ2aWNlIGxpbWl0cyBmb3IgeW91ciBhY2NvdW50LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHBpcGVsaW5lIHdhcyBub3QgZm91bmQuIFZlcmlmeSB0aGF0IHlvdSB1c2VkIHRoZSBjb3JyZWN0IHVzZXIgYW5kIGFjY291bnQgaWRlbnRpZmllcnMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQaXBlbGluZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBwaXBlbGluZSBoYXMgYmVlbiBkZWxldGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUGlwZWxpbmVEZWxldGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVmFsaWRhdGVQaXBlbGluZURlZmluaXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVmFsaWRhdGVQaXBlbGluZURlZmluaXRpb25PdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RhdGFQaXBlbGluZS5WYWxpZGF0ZVBpcGVsaW5lRGVmaW5pdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3BpcGVsaW5lSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdwaXBlbGluZU9iamVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1BpcGVsaW5lT2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmllbGRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdGaWVsZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVmVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmljZSBlcnJvciBvY2N1cnJlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIG5vdCB2YWxpZC4gVmVyaWZ5IHRoYXQgeW91ciByZXF1ZXN0IHdhcyBwcm9wZXJseSBmb3JtYXR0ZWQsIHRoYXQgdGhlIHNpZ25hdHVyZSB3YXMgZ2VuZXJhdGVkIHdpdGggdGhlIGNvcnJlY3QgY3JlZGVudGlhbHMsIGFuZCB0aGF0IHlvdSBoYXZlblwndCBleGNlZWRlZCBhbnkgb2YgdGhlIHNlcnZpY2UgbGltaXRzIGZvciB5b3VyIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgcGlwZWxpbmUgd2FzIG5vdCBmb3VuZC4gVmVyaWZ5IHRoYXQgeW91IHVzZWQgdGhlIGNvcnJlY3QgdXNlciBhbmQgYWNjb3VudCBpZGVudGlmaWVycy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1BpcGVsaW5lTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHBpcGVsaW5lIGhhcyBiZWVuIGRlbGV0ZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQaXBlbGluZURlbGV0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICdFbXB0eU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVBpcGVsaW5lT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdwaXBlbGluZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlT2JqZWN0c091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncGlwZWxpbmVPYmplY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1BpcGVsaW5lT2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWVsZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmllbGQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVmVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2hhc01vcmVSZXN1bHRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVBpcGVsaW5lc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncGlwZWxpbmVEZXNjcmlwdGlvbkxpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGlwZWxpbmVEZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BpcGVsaW5lSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWVsZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmllbGQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVmVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRXZhbHVhdGVFeHByZXNzaW9uT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdldmFsdWF0ZWRFeHByZXNzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFBpcGVsaW5lRGVmaW5pdGlvbk91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncGlwZWxpbmVPYmplY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1BpcGVsaW5lT2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWVsZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmllbGQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVmVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFBpcGVsaW5lc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncGlwZWxpbmVJZExpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGlwZWxpbmVJZE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ21hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdoYXNNb3JlUmVzdWx0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUG9sbEZvclRhc2tPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rhc2tPYmplY3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0YXNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAncGlwZWxpbmVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdhdHRlbXB0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpZWxkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdGaWVsZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWZWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHV0UGlwZWxpbmVEZWZpbml0aW9uT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd2YWxpZGF0aW9uRXJyb3JzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZhbGlkYXRpb25FcnJvcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Vycm9ycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICd2YWxpZGF0aW9uTWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd2YWxpZGF0aW9uV2FybmluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsaWRhdGlvbldhcm5pbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3YXJuaW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICd2YWxpZGF0aW9uTWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdlcnJvcmVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdRdWVyeU9iamVjdHNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2lkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdtYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnaGFzTW9yZVJlc3VsdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlcG9ydFRhc2tQcm9ncmVzc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnY2FuY2VsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlcG9ydFRhc2tSdW5uZXJIZWFydGJlYXRPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rlcm1pbmF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVmFsaWRhdGVQaXBlbGluZURlZmluaXRpb25PdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3ZhbGlkYXRpb25FcnJvcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsaWRhdGlvbkVycm9yJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXJyb3JzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ3ZhbGlkYXRpb25NZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3ZhbGlkYXRpb25XYXJuaW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWxpZGF0aW9uV2FybmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dhcm5pbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ3ZhbGlkYXRpb25NZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2Vycm9yZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DirectConnect/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DirectConnect/DirectConnectClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGlyZWN0Q29ubmVjdDsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxBYnN0cmFjdENsaWVudDsKdXNlIEF3c1xDb21tb25cQ2xpZW50XENsaWVudEJ1aWxkZXI7CnVzZSBBd3NcQ29tbW9uXEVudW1cQ2xpZW50T3B0aW9ucyBhcyBPcHRpb25zOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUGFyc2VyXEpzb25RdWVyeUV4Y2VwdGlvblBhcnNlcjsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZTsKCi8qKgogKiBDbGllbnQgdG8gaW50ZXJhY3Qgd2l0aCBBV1MgRGlyZWN0IENvbm5lY3QKICoKICogQG1ldGhvZCBNb2RlbCBhbGxvY2F0ZUNvbm5lY3Rpb25PbkludGVyY29ubmVjdChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEaXJlY3RDb25uZWN0IEFsbG9jYXRlQ29ubmVjdGlvbk9uSW50ZXJjb25uZWN0fQogKiBAbWV0aG9kIE1vZGVsIGFsbG9jYXRlUHJpdmF0ZVZpcnR1YWxJbnRlcmZhY2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRGlyZWN0Q29ubmVjdCBBbGxvY2F0ZVByaXZhdGVWaXJ0dWFsSW50ZXJmYWNlfQogKiBAbWV0aG9kIE1vZGVsIGFsbG9jYXRlUHVibGljVmlydHVhbEludGVyZmFjZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEaXJlY3RDb25uZWN0IEFsbG9jYXRlUHVibGljVmlydHVhbEludGVyZmFjZX0KICogQG1ldGhvZCBNb2RlbCBjb25maXJtQ29ubmVjdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEaXJlY3RDb25uZWN0IENvbmZpcm1Db25uZWN0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGNvbmZpcm1Qcml2YXRlVmlydHVhbEludGVyZmFjZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEaXJlY3RDb25uZWN0IENvbmZpcm1Qcml2YXRlVmlydHVhbEludGVyZmFjZX0KICogQG1ldGhvZCBNb2RlbCBjb25maXJtUHVibGljVmlydHVhbEludGVyZmFjZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEaXJlY3RDb25uZWN0IENvbmZpcm1QdWJsaWNWaXJ0dWFsSW50ZXJmYWNlfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZUNvbm5lY3Rpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRGlyZWN0Q29ubmVjdCBDcmVhdGVDb25uZWN0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZUludGVyY29ubmVjdChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEaXJlY3RDb25uZWN0IENyZWF0ZUludGVyY29ubmVjdH0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVQcml2YXRlVmlydHVhbEludGVyZmFjZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEaXJlY3RDb25uZWN0IENyZWF0ZVByaXZhdGVWaXJ0dWFsSW50ZXJmYWNlfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVB1YmxpY1ZpcnR1YWxJbnRlcmZhY2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRGlyZWN0Q29ubmVjdCBDcmVhdGVQdWJsaWNWaXJ0dWFsSW50ZXJmYWNlfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUNvbm5lY3Rpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRGlyZWN0Q29ubmVjdCBEZWxldGVDb25uZWN0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUludGVyY29ubmVjdChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEaXJlY3RDb25uZWN0IERlbGV0ZUludGVyY29ubmVjdH0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVWaXJ0dWFsSW50ZXJmYWNlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIERpcmVjdENvbm5lY3QgRGVsZXRlVmlydHVhbEludGVyZmFjZX0KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUNvbm5lY3Rpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIERpcmVjdENvbm5lY3QgRGVzY3JpYmVDb25uZWN0aW9uc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUNvbm5lY3Rpb25zT25JbnRlcmNvbm5lY3QoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRGlyZWN0Q29ubmVjdCBEZXNjcmliZUNvbm5lY3Rpb25zT25JbnRlcmNvbm5lY3R9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVJbnRlcmNvbm5lY3RzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIERpcmVjdENvbm5lY3QgRGVzY3JpYmVJbnRlcmNvbm5lY3RzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlTG9jYXRpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIERpcmVjdENvbm5lY3QgRGVzY3JpYmVMb2NhdGlvbnN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVWaXJ0dWFsR2F0ZXdheXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRGlyZWN0Q29ubmVjdCBEZXNjcmliZVZpcnR1YWxHYXRld2F5c30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVZpcnR1YWxJbnRlcmZhY2VzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIERpcmVjdENvbm5lY3QgRGVzY3JpYmVWaXJ0dWFsSW50ZXJmYWNlc30KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQ29ubmVjdGlvbnNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUNvbm5lY3Rpb25zIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVPZmZlcmluZ3NJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZU9mZmVyaW5ncyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlVmlydHVhbEdhdGV3YXlzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVWaXJ0dWFsR2F0ZXdheXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVZpcnR1YWxJbnRlcmZhY2VzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVWaXJ0dWFsSW50ZXJmYWNlcyBvcGVyYXRpb24KICoKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2UtZGlyZWN0Y29ubmVjdC5odG1sIFVzZXIgZ3VpZGUKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5EaXJlY3RDb25uZWN0LkRpcmVjdENvbm5lY3RDbGllbnQuaHRtbCBBUEkgZG9jcwogKi8KY2xhc3MgRGlyZWN0Q29ubmVjdENsaWVudCBleHRlbmRzIEFic3RyYWN0Q2xpZW50CnsKICAgIGNvbnN0IExBVEVTVF9BUElfVkVSU0lPTiA9ICcyMDEyLTEwLTI1JzsKCiAgICAvKioKICAgICAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBBV1MgRGlyZWN0IENvbm5lY3QgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEF3c1xDb21tb25cQ2xpZW50XERlZmF1bHRDbGllbnQgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9kaXJlY3Rjb25uZWN0LSVzLnBocCcKICAgICAgICAgICAgKSkKICAgICAgICAgICAgLT5zZXRFeGNlcHRpb25QYXJzZXIobmV3IEpzb25RdWVyeUV4Y2VwdGlvblBhcnNlcigpKQogICAgICAgICAgICAtPnNldEl0ZXJhdG9yc0NvbmZpZyhhcnJheSgKICAgICAgICAgICAgICAgICdvcGVyYXRpb25zJyAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaWJlQ29ubmVjdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ2Nvbm5lY3Rpb25zJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdEZXNjcmliZU9mZmVyaW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnb2ZmZXJpbmdzJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdEZXNjcmliZVZpcnR1YWxHYXRld2F5cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAndmlydHVhbEdhdGV3YXlzJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdEZXNjcmliZVZpcnR1YWxJbnRlcmZhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICd2aXJ0dWFsSW50ZXJmYWNlcycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSkKICAgICAgICAgICAgLT5idWlsZCgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DirectConnect/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DirectConnect/Enum/ConnectionState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGlyZWN0Q29ubmVjdFxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIENvbm5lY3Rpb25TdGF0ZSB2YWx1ZXMKICovCmNsYXNzIENvbm5lY3Rpb25TdGF0ZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgT1JERVJJTkcgPSAnb3JkZXJpbmcnOwogICAgY29uc3QgUkVRVUVTVEVEID0gJ3JlcXVlc3RlZCc7CiAgICBjb25zdCBQRU5ESU5HID0gJ3BlbmRpbmcnOwogICAgY29uc3QgQVZBSUxBQkxFID0gJ2F2YWlsYWJsZSc7CiAgICBjb25zdCBET1dOID0gJ2Rvd24nOwogICAgY29uc3QgREVMRVRJTkcgPSAnZGVsZXRpbmcnOwogICAgY29uc3QgREVMRVRFRCA9ICdkZWxldGVkJzsKICAgIGNvbnN0IFJFSkVDVEVEID0gJ3JlamVjdGVkJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DirectConnect/Enum/InterconnectState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGlyZWN0Q29ubmVjdFxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIEludGVyY29ubmVjdFN0YXRlIHZhbHVlcwogKi8KY2xhc3MgSW50ZXJjb25uZWN0U3RhdGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFJFUVVFU1RFRCA9ICdyZXF1ZXN0ZWQnOwogICAgY29uc3QgUEVORElORyA9ICdwZW5kaW5nJzsKICAgIGNvbnN0IEFWQUlMQUJMRSA9ICdhdmFpbGFibGUnOwogICAgY29uc3QgRE9XTiA9ICdkb3duJzsKICAgIGNvbnN0IERFTEVUSU5HID0gJ2RlbGV0aW5nJzsKICAgIGNvbnN0IERFTEVURUQgPSAnZGVsZXRlZCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DirectConnect/Enum/StepState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGlyZWN0Q29ubmVjdFxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIFN0ZXBTdGF0ZSB2YWx1ZXMKICovCmNsYXNzIFN0ZXBTdGF0ZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgUEVORElORyA9ICdwZW5kaW5nJzsKICAgIGNvbnN0IENPTVBMRVRFRCA9ICdjb21wbGV0ZWQnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DirectConnect/Enum/VirtualInterfaceState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGlyZWN0Q29ubmVjdFxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIFZpcnR1YWxJbnRlcmZhY2VTdGF0ZSB2YWx1ZXMKICovCmNsYXNzIFZpcnR1YWxJbnRlcmZhY2VTdGF0ZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgQ09ORklSTUlORyA9ICdjb25maXJtaW5nJzsKICAgIGNvbnN0IFZFUklGWUlORyA9ICd2ZXJpZnlpbmcnOwogICAgY29uc3QgUEVORElORyA9ICdwZW5kaW5nJzsKICAgIGNvbnN0IEFWQUlMQUJMRSA9ICdhdmFpbGFibGUnOwogICAgY29uc3QgREVMRVRJTkcgPSAnZGVsZXRpbmcnOwogICAgY29uc3QgREVMRVRFRCA9ICdkZWxldGVkJzsKICAgIGNvbnN0IFJFSkVDVEVEID0gJ3JlamVjdGVkJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DirectConnect/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DirectConnect/Exception/DirectConnectClientException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGlyZWN0Q29ubmVjdFxFeGNlcHRpb247CgovKioKICogVGhlIEFQSSB3YXMgY2FsbGVkIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiBUaGUgZXJyb3IgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYWRkaXRpb25hbCBkZXRhaWxzIGFib3V0IHRoZSBjYXVzZS4KICovCmNsYXNzIERpcmVjdENvbm5lY3RDbGllbnRFeGNlcHRpb24gZXh0ZW5kcyBEaXJlY3RDb25uZWN0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DirectConnect/Exception/DirectConnectException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGlyZWN0Q29ubmVjdFxFeGNlcHRpb247Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uOwoKLyoqCiAqIERlZmF1bHQgc2VydmljZSBleGNlcHRpb24gY2xhc3MKICovCmNsYXNzIERpcmVjdENvbm5lY3RFeGNlcHRpb24gZXh0ZW5kcyBTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DirectConnect/Exception/DirectConnectServerException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRGlyZWN0Q29ubmVjdFxFeGNlcHRpb247CgovKioKICogQSBzZXJ2ZXItc2lkZSBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIEFQSSBjYWxsLiBUaGUgZXJyb3IgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYWRkaXRpb25hbCBkZXRhaWxzIGFib3V0IHRoZSBjYXVzZS4KICovCmNsYXNzIERpcmVjdENvbm5lY3RTZXJ2ZXJFeGNlcHRpb24gZXh0ZW5kcyBEaXJlY3RDb25uZWN0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DirectConnect/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DirectConnect/Resources/directconnect-2012-10-25.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTItMTAtMjUnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnZGlyZWN0Y29ubmVjdCcsCiAgICAnc2VydmljZUZ1bGxOYW1lJyA9PiAnQVdTIERpcmVjdCBDb25uZWN0JywKICAgICdzZXJ2aWNlVHlwZScgPT4gJ2pzb24nLAogICAgJ2pzb25WZXJzaW9uJyA9PiAnMS4xJywKICAgICd0YXJnZXRQcmVmaXgnID0+ICdPdmVydHVyZVNlcnZpY2UuJywKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjQnLAogICAgJ25hbWVzcGFjZScgPT4gJ0RpcmVjdENvbm5lY3QnLAogICAgJ3JlZ2lvbnMnID0+IGFycmF5KAogICAgICAgICd1cy1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZGlyZWN0Y29ubmVjdC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2RpcmVjdGNvbm5lY3QudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdkaXJlY3Rjb25uZWN0LnVzLXdlc3QtMi5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdldS13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZGlyZWN0Y29ubmVjdC5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtbm9ydGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZGlyZWN0Y29ubmVjdC5hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdkaXJlY3Rjb25uZWN0LmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLXNvdXRoZWFzdC0yJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2RpcmVjdGNvbm5lY3QuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnc2EtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2RpcmVjdGNvbm5lY3Quc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICApLAogICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICdBbGxvY2F0ZUNvbm5lY3Rpb25PbkludGVyY29ubmVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDb25uZWN0aW9uJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPdmVydHVyZVNlcnZpY2UuQWxsb2NhdGVDb25uZWN0aW9uT25JbnRlcmNvbm5lY3QnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdiYW5kd2lkdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2Nvbm5lY3Rpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdvd25lckFjY291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2ludGVyY29ubmVjdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd2bGFuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBzZXJ2ZXItc2lkZSBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIEFQSSBjYWxsLiBUaGUgZXJyb3IgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYWRkaXRpb25hbCBkZXRhaWxzIGFib3V0IHRoZSBjYXVzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RpcmVjdENvbm5lY3RTZXJ2ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQVBJIHdhcyBjYWxsZWQgd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdENsaWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0FsbG9jYXRlUHJpdmF0ZVZpcnR1YWxJbnRlcmZhY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVmlydHVhbEludGVyZmFjZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3ZlcnR1cmVTZXJ2aWNlLkFsbG9jYXRlUHJpdmF0ZVZpcnR1YWxJbnRlcmZhY2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb25uZWN0aW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ293bmVyQWNjb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbmV3UHJpdmF0ZVZpcnR1YWxJbnRlcmZhY2VBbGxvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3ZpcnR1YWxJbnRlcmZhY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3ZsYW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FzbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnYXV0aEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdhbWF6b25BZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2N1c3RvbWVyQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBzZXJ2ZXItc2lkZSBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIEFQSSBjYWxsLiBUaGUgZXJyb3IgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYWRkaXRpb25hbCBkZXRhaWxzIGFib3V0IHRoZSBjYXVzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RpcmVjdENvbm5lY3RTZXJ2ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQVBJIHdhcyBjYWxsZWQgd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdENsaWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0FsbG9jYXRlUHVibGljVmlydHVhbEludGVyZmFjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdWaXJ0dWFsSW50ZXJmYWNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPdmVydHVyZVNlcnZpY2UuQWxsb2NhdGVQdWJsaWNWaXJ0dWFsSW50ZXJmYWNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29ubmVjdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdvd25lckFjY291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ25ld1B1YmxpY1ZpcnR1YWxJbnRlcmZhY2VBbGxvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3ZpcnR1YWxJbnRlcmZhY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3ZsYW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FzbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnYXV0aEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdhbWF6b25BZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2N1c3RvbWVyQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdyb3V0ZUZpbHRlclByZWZpeGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1JvdXRlRmlsdGVyUHJlZml4JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2lkcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBzZXJ2ZXItc2lkZSBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIEFQSSBjYWxsLiBUaGUgZXJyb3IgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYWRkaXRpb25hbCBkZXRhaWxzIGFib3V0IHRoZSBjYXVzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RpcmVjdENvbm5lY3RTZXJ2ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQVBJIHdhcyBjYWxsZWQgd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdENsaWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NvbmZpcm1Db25uZWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NvbmZpcm1Db25uZWN0aW9uUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ092ZXJ0dXJlU2VydmljZS5Db25maXJtQ29ubmVjdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2Nvbm5lY3Rpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBzZXJ2ZXItc2lkZSBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIEFQSSBjYWxsLiBUaGUgZXJyb3IgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYWRkaXRpb25hbCBkZXRhaWxzIGFib3V0IHRoZSBjYXVzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RpcmVjdENvbm5lY3RTZXJ2ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQVBJIHdhcyBjYWxsZWQgd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdENsaWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NvbmZpcm1Qcml2YXRlVmlydHVhbEludGVyZmFjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDb25maXJtUHJpdmF0ZVZpcnR1YWxJbnRlcmZhY2VSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3ZlcnR1cmVTZXJ2aWNlLkNvbmZpcm1Qcml2YXRlVmlydHVhbEludGVyZmFjZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3ZpcnR1YWxJbnRlcmZhY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndmlydHVhbEdhdGV3YXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBzZXJ2ZXItc2lkZSBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIEFQSSBjYWxsLiBUaGUgZXJyb3IgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYWRkaXRpb25hbCBkZXRhaWxzIGFib3V0IHRoZSBjYXVzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RpcmVjdENvbm5lY3RTZXJ2ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQVBJIHdhcyBjYWxsZWQgd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdENsaWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NvbmZpcm1QdWJsaWNWaXJ0dWFsSW50ZXJmYWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NvbmZpcm1QdWJsaWNWaXJ0dWFsSW50ZXJmYWNlUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ092ZXJ0dXJlU2VydmljZS5Db25maXJtUHVibGljVmlydHVhbEludGVyZmFjZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3ZpcnR1YWxJbnRlcmZhY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBzZXJ2ZXItc2lkZSBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIEFQSSBjYWxsLiBUaGUgZXJyb3IgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYWRkaXRpb25hbCBkZXRhaWxzIGFib3V0IHRoZSBjYXVzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RpcmVjdENvbm5lY3RTZXJ2ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQVBJIHdhcyBjYWxsZWQgd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdENsaWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUNvbm5lY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ29ubmVjdGlvbicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3ZlcnR1cmVTZXJ2aWNlLkNyZWF0ZUNvbm5lY3Rpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnYmFuZHdpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb25uZWN0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBzZXJ2ZXItc2lkZSBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIEFQSSBjYWxsLiBUaGUgZXJyb3IgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYWRkaXRpb25hbCBkZXRhaWxzIGFib3V0IHRoZSBjYXVzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RpcmVjdENvbm5lY3RTZXJ2ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQVBJIHdhcyBjYWxsZWQgd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdENsaWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUludGVyY29ubmVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdJbnRlcmNvbm5lY3QnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ092ZXJ0dXJlU2VydmljZS5DcmVhdGVJbnRlcmNvbm5lY3QnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdpbnRlcmNvbm5lY3ROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdiYW5kd2lkdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBIHNlcnZlci1zaWRlIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgQVBJIGNhbGwuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdFNlcnZlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBBUEkgd2FzIGNhbGxlZCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gVGhlIGVycm9yIG1lc3NhZ2Ugd2lsbCBjb250YWluIGFkZGl0aW9uYWwgZGV0YWlscyBhYm91dCB0aGUgY2F1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEaXJlY3RDb25uZWN0Q2xpZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlUHJpdmF0ZVZpcnR1YWxJbnRlcmZhY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVmlydHVhbEludGVyZmFjZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3ZlcnR1cmVTZXJ2aWNlLkNyZWF0ZVByaXZhdGVWaXJ0dWFsSW50ZXJmYWNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29ubmVjdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICduZXdQcml2YXRlVmlydHVhbEludGVyZmFjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd2aXJ0dWFsSW50ZXJmYWNlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICd2bGFuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdhc24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2F1dGhLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnYW1hem9uQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdjdXN0b21lckFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAndmlydHVhbEdhdGV3YXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBzZXJ2ZXItc2lkZSBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIEFQSSBjYWxsLiBUaGUgZXJyb3IgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYWRkaXRpb25hbCBkZXRhaWxzIGFib3V0IHRoZSBjYXVzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RpcmVjdENvbm5lY3RTZXJ2ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQVBJIHdhcyBjYWxsZWQgd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdENsaWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVB1YmxpY1ZpcnR1YWxJbnRlcmZhY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVmlydHVhbEludGVyZmFjZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3ZlcnR1cmVTZXJ2aWNlLkNyZWF0ZVB1YmxpY1ZpcnR1YWxJbnRlcmZhY2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb25uZWN0aW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ25ld1B1YmxpY1ZpcnR1YWxJbnRlcmZhY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndmlydHVhbEludGVyZmFjZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAndmxhbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnYXNuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdhdXRoS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FtYXpvbkFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnY3VzdG9tZXJBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3JvdXRlRmlsdGVyUHJlZml4ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUm91dGVGaWx0ZXJQcmVmaXgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaWRyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBIHNlcnZlci1zaWRlIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgQVBJIGNhbGwuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdFNlcnZlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBBUEkgd2FzIGNhbGxlZCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gVGhlIGVycm9yIG1lc3NhZ2Ugd2lsbCBjb250YWluIGFkZGl0aW9uYWwgZGV0YWlscyBhYm91dCB0aGUgY2F1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEaXJlY3RDb25uZWN0Q2xpZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQ29ubmVjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDb25uZWN0aW9uJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPdmVydHVyZVNlcnZpY2UuRGVsZXRlQ29ubmVjdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2Nvbm5lY3Rpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBzZXJ2ZXItc2lkZSBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIEFQSSBjYWxsLiBUaGUgZXJyb3IgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYWRkaXRpb25hbCBkZXRhaWxzIGFib3V0IHRoZSBjYXVzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RpcmVjdENvbm5lY3RTZXJ2ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQVBJIHdhcyBjYWxsZWQgd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdENsaWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUludGVyY29ubmVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZWxldGVJbnRlcmNvbm5lY3RSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3ZlcnR1cmVTZXJ2aWNlLkRlbGV0ZUludGVyY29ubmVjdCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2ludGVyY29ubmVjdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBIHNlcnZlci1zaWRlIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgQVBJIGNhbGwuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdFNlcnZlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBBUEkgd2FzIGNhbGxlZCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gVGhlIGVycm9yIG1lc3NhZ2Ugd2lsbCBjb250YWluIGFkZGl0aW9uYWwgZGV0YWlscyBhYm91dCB0aGUgY2F1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEaXJlY3RDb25uZWN0Q2xpZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlVmlydHVhbEludGVyZmFjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZWxldGVWaXJ0dWFsSW50ZXJmYWNlUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ092ZXJ0dXJlU2VydmljZS5EZWxldGVWaXJ0dWFsSW50ZXJmYWNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndmlydHVhbEludGVyZmFjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBIHNlcnZlci1zaWRlIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgQVBJIGNhbGwuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdFNlcnZlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBBUEkgd2FzIGNhbGxlZCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gVGhlIGVycm9yIG1lc3NhZ2Ugd2lsbCBjb250YWluIGFkZGl0aW9uYWwgZGV0YWlscyBhYm91dCB0aGUgY2F1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEaXJlY3RDb25uZWN0Q2xpZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVDb25uZWN0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDb25uZWN0aW9ucycsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3ZlcnR1cmVTZXJ2aWNlLkRlc2NyaWJlQ29ubmVjdGlvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb25uZWN0aW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBzZXJ2ZXItc2lkZSBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIEFQSSBjYWxsLiBUaGUgZXJyb3IgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYWRkaXRpb25hbCBkZXRhaWxzIGFib3V0IHRoZSBjYXVzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RpcmVjdENvbm5lY3RTZXJ2ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQVBJIHdhcyBjYWxsZWQgd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdENsaWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlQ29ubmVjdGlvbnNPbkludGVyY29ubmVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDb25uZWN0aW9ucycsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3ZlcnR1cmVTZXJ2aWNlLkRlc2NyaWJlQ29ubmVjdGlvbnNPbkludGVyY29ubmVjdCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2ludGVyY29ubmVjdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBIHNlcnZlci1zaWRlIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgQVBJIGNhbGwuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdFNlcnZlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBBUEkgd2FzIGNhbGxlZCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gVGhlIGVycm9yIG1lc3NhZ2Ugd2lsbCBjb250YWluIGFkZGl0aW9uYWwgZGV0YWlscyBhYm91dCB0aGUgY2F1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEaXJlY3RDb25uZWN0Q2xpZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVJbnRlcmNvbm5lY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0ludGVyY29ubmVjdHMnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ092ZXJ0dXJlU2VydmljZS5EZXNjcmliZUludGVyY29ubmVjdHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdpbnRlcmNvbm5lY3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBIHNlcnZlci1zaWRlIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgQVBJIGNhbGwuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdFNlcnZlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBBUEkgd2FzIGNhbGxlZCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gVGhlIGVycm9yIG1lc3NhZ2Ugd2lsbCBjb250YWluIGFkZGl0aW9uYWwgZGV0YWlscyBhYm91dCB0aGUgY2F1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEaXJlY3RDb25uZWN0Q2xpZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVMb2NhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTG9jYXRpb25zJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPdmVydHVyZVNlcnZpY2UuRGVzY3JpYmVMb2NhdGlvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBIHNlcnZlci1zaWRlIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgQVBJIGNhbGwuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdFNlcnZlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBBUEkgd2FzIGNhbGxlZCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gVGhlIGVycm9yIG1lc3NhZ2Ugd2lsbCBjb250YWluIGFkZGl0aW9uYWwgZGV0YWlscyBhYm91dCB0aGUgY2F1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEaXJlY3RDb25uZWN0Q2xpZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVWaXJ0dWFsR2F0ZXdheXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVmlydHVhbEdhdGV3YXlzJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPdmVydHVyZVNlcnZpY2UuRGVzY3JpYmVWaXJ0dWFsR2F0ZXdheXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBIHNlcnZlci1zaWRlIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgQVBJIGNhbGwuIFRoZSBlcnJvciBtZXNzYWdlIHdpbGwgY29udGFpbiBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGNhdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGlyZWN0Q29ubmVjdFNlcnZlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBBUEkgd2FzIGNhbGxlZCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gVGhlIGVycm9yIG1lc3NhZ2Ugd2lsbCBjb250YWluIGFkZGl0aW9uYWwgZGV0YWlscyBhYm91dCB0aGUgY2F1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEaXJlY3RDb25uZWN0Q2xpZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVWaXJ0dWFsSW50ZXJmYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdWaXJ0dWFsSW50ZXJmYWNlcycsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3ZlcnR1cmVTZXJ2aWNlLkRlc2NyaWJlVmlydHVhbEludGVyZmFjZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb25uZWN0aW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndmlydHVhbEludGVyZmFjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0Egc2VydmVyLXNpZGUgZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRoZSBBUEkgY2FsbC4gVGhlIGVycm9yIG1lc3NhZ2Ugd2lsbCBjb250YWluIGFkZGl0aW9uYWwgZGV0YWlscyBhYm91dCB0aGUgY2F1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEaXJlY3RDb25uZWN0U2VydmVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIEFQSSB3YXMgY2FsbGVkIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiBUaGUgZXJyb3IgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYWRkaXRpb25hbCBkZXRhaWxzIGFib3V0IHRoZSBjYXVzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RpcmVjdENvbm5lY3RDbGllbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICdDb25uZWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdvd25lckFjY291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29ubmVjdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2Nvbm5lY3Rpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2Nvbm5lY3Rpb25TdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdyZWdpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnYmFuZHdpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3ZsYW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3BhcnRuZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1ZpcnR1YWxJbnRlcmZhY2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ293bmVyQWNjb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd2aXJ0dWFsSW50ZXJmYWNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29ubmVjdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3ZpcnR1YWxJbnRlcmZhY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3ZpcnR1YWxJbnRlcmZhY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3ZsYW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2FzbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnYXV0aEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdhbWF6b25BZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2N1c3RvbWVyQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd2aXJ0dWFsSW50ZXJmYWNlU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY3VzdG9tZXJSb3V0ZXJDb25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndmlydHVhbEdhdGV3YXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdyb3V0ZUZpbHRlclByZWZpeGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1JvdXRlRmlsdGVyUHJlZml4JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2lkcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDb25maXJtQ29ubmVjdGlvblJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdjb25uZWN0aW9uU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ29uZmlybVByaXZhdGVWaXJ0dWFsSW50ZXJmYWNlUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3ZpcnR1YWxJbnRlcmZhY2VTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDb25maXJtUHVibGljVmlydHVhbEludGVyZmFjZVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd2aXJ0dWFsSW50ZXJmYWNlU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnSW50ZXJjb25uZWN0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdpbnRlcmNvbm5lY3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdpbnRlcmNvbm5lY3ROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2ludGVyY29ubmVjdFN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3JlZ2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdiYW5kd2lkdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlSW50ZXJjb25uZWN0UmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2ludGVyY29ubmVjdFN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVZpcnR1YWxJbnRlcmZhY2VSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndmlydHVhbEludGVyZmFjZVN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Nvbm5lY3Rpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdjb25uZWN0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDb25uZWN0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3duZXJBY2NvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Nvbm5lY3Rpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb25uZWN0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb25uZWN0aW9uU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVnaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhbmR3aWR0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2bGFuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYXJ0bmVyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdJbnRlcmNvbm5lY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdpbnRlcmNvbm5lY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ludGVyY29ubmVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVyY29ubmVjdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVyY29ubmVjdE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW50ZXJjb25uZWN0U3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVnaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhbmR3aWR0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMb2NhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2xvY2F0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdMb2NhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVmlydHVhbEdhdGV3YXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd2aXJ0dWFsR2F0ZXdheXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmlydHVhbEdhdGV3YXknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aXJ0dWFsR2F0ZXdheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZpcnR1YWxHYXRld2F5U3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVmlydHVhbEludGVyZmFjZXMnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3ZpcnR1YWxJbnRlcmZhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZpcnR1YWxJbnRlcmZhY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvd25lckFjY291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmlydHVhbEludGVyZmFjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Nvbm5lY3Rpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aXJ0dWFsSW50ZXJmYWNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aXJ0dWFsSW50ZXJmYWNlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2bGFuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhc24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2F1dGhLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYW1hem9uQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjdXN0b21lckFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmlydHVhbEludGVyZmFjZVN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2N1c3RvbWVyUm91dGVyQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZpcnR1YWxHYXRld2F5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncm91dGVGaWx0ZXJQcmVmaXhlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSb3V0ZUZpbHRlclByZWZpeCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NpZHInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Crc32ErrorChecker.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGI7Cgp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEh0dHBFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEJhY2tvZmZTdHJhdGVneUludGVyZmFjZTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxBYnN0cmFjdEJhY2tvZmZTdHJhdGVneTsKdXNlIEd1enpsZVxTdHJlYW1cU3RyZWFtOwoKLyoqCiAqIFZhbGlkYXRlcyB0aGUgeC1hbXotY3JjMzIgaGVhZGVyIG9mIGEgcmVzcG9uc2UsIGFuZCBpZiBjb3JydXB0LCB3aWxsIHJldHJ5IHRoZSByZXF1ZXN0CiAqLwpjbGFzcyBDcmMzMkVycm9yQ2hlY2tlciBleHRlbmRzIEFic3RyYWN0QmFja29mZlN0cmF0ZWd5CnsKICAgIC8qKgogICAgICogQ3JlYXRlIHRoZSBpbnRlcm5hbCBwYXJzZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEJhY2tvZmZTdHJhdGVneUludGVyZmFjZSAkbmV4dCA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKCRuZXh0KSB7CiAgICAgICAgICAgICR0aGlzLT5zZXROZXh0KCRuZXh0KTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaWRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG1ha2VzRGVjaXNpb24oKQogICAgewogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RGVsYXkoCiAgICAgICAgJHJldHJpZXMsCiAgICAgICAgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwKICAgICAgICBSZXNwb25zZSAkcmVzcG9uc2UgPSBudWxsLAogICAgICAgIEh0dHBFeGNlcHRpb24gJGUgPSBudWxsCiAgICApIHsKICAgICAgICBpZiAoJHJlc3BvbnNlKSB7CiAgICAgICAgICAgIC8vIFZhbGlkYXRlIHRoZSBjaGVja3N1bSBhZ2FpbnN0IG91ciBjb21wdXRlZCBjaGVja3N1bQogICAgICAgICAgICBpZiAoJGNoZWNrc3VtID0gKHN0cmluZykgJHJlc3BvbnNlLT5nZXRIZWFkZXIoJ3gtYW16LWNyYzMyJykpIHsKICAgICAgICAgICAgICAgIC8vIFJldHJ5IHRoZSByZXF1ZXN0IGlmIHRoZSBjaGVja3N1bXMgZG9uJ3QgbWF0Y2gsIG90aGVyd2lzZSwgcmV0dXJuIG51bGwKICAgICAgICAgICAgICAgIHJldHVybiAkY2hlY2tzdW0gIT0gaGV4ZGVjKFN0cmVhbTo6Z2V0SGFzaCgkcmVzcG9uc2UtPmdldEJvZHkoKSwgJ2NyYzMyYicpKSA/IHRydWUgOiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/DynamoDbClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGI7Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQ7CnVzZSBBd3NcQ29tbW9uXENsaWVudFxDbGllbnRCdWlsZGVyOwp1c2UgQXdzXENvbW1vblxDbGllbnRcRXhwaXJlZENyZWRlbnRpYWxzQ2hlY2tlcjsKdXNlIEF3c1xDb21tb25cQ2xpZW50XFRocm90dGxpbmdFcnJvckNoZWNrZXI7CnVzZSBBd3NcQ29tbW9uXEVudW1cQ2xpZW50T3B0aW9ucyBhcyBPcHRpb25zOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUGFyc2VyXEpzb25RdWVyeUV4Y2VwdGlvblBhcnNlcjsKdXNlIEF3c1xEeW5hbW9EYlxNb2RlbFxBdHRyaWJ1dGU7CnVzZSBBd3NcRHluYW1vRGJcU2Vzc2lvblxTZXNzaW9uSGFuZGxlcjsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxCYWNrb2ZmUGx1Z2luOwp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXENhbGxiYWNrQmFja29mZlN0cmF0ZWd5Owp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEN1cmxCYWNrb2ZmU3RyYXRlZ3k7CnVzZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmZcSHR0cEJhY2tvZmZTdHJhdGVneTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxUcnVuY2F0ZWRCYWNrb2ZmU3RyYXRlZ3k7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXEFic3RyYWN0Q29tbWFuZCBhcyBDbWQ7CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2U7CgovKioKICogQ2xpZW50IHRvIGludGVyYWN0IHdpdGggQW1hem9uIER5bmFtb0RCCiAqCiAqIEBtZXRob2QgTW9kZWwgYmF0Y2hHZXRJdGVtKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIER5bmFtb0RiIEJhdGNoR2V0SXRlbX0KICogQG1ldGhvZCBNb2RlbCBiYXRjaFdyaXRlSXRlbShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEeW5hbW9EYiBCYXRjaFdyaXRlSXRlbX0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVUYWJsZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEeW5hbW9EYiBDcmVhdGVUYWJsZX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVJdGVtKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIER5bmFtb0RiIERlbGV0ZUl0ZW19CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlVGFibGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRHluYW1vRGIgRGVsZXRlVGFibGV9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVUYWJsZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEeW5hbW9EYiBEZXNjcmliZVRhYmxlfQogKiBAbWV0aG9kIE1vZGVsIGdldEl0ZW0oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRHluYW1vRGIgR2V0SXRlbX0KICogQG1ldGhvZCBNb2RlbCBsaXN0VGFibGVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIER5bmFtb0RiIExpc3RUYWJsZXN9CiAqIEBtZXRob2QgTW9kZWwgcHV0SXRlbShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBEeW5hbW9EYiBQdXRJdGVtfQogKiBAbWV0aG9kIE1vZGVsIHF1ZXJ5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIER5bmFtb0RiIFF1ZXJ5fQogKiBAbWV0aG9kIE1vZGVsIHNjYW4oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRHluYW1vRGIgU2Nhbn0KICogQG1ldGhvZCBNb2RlbCB1cGRhdGVJdGVtKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIER5bmFtb0RiIFVwZGF0ZUl0ZW19CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlVGFibGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRHluYW1vRGIgVXBkYXRlVGFibGV9CiAqIEBtZXRob2Qgd2FpdFVudGlsVGFibGVFeGlzdHMoYXJyYXkgJGlucHV0KSBXYWl0IHVudGlsIGEgdGFibGUgZXhpc3RzIGFuZCBjYW4gYmUgYWNjZXNzZWQgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVGFibGUgb3BlcmF0aW9uIGFuZCB3YWl0ZXIgc3BlY2lmaWMgc2V0dGluZ3MKICogQG1ldGhvZCB3YWl0VW50aWxUYWJsZU5vdEV4aXN0cyhhcnJheSAkaW5wdXQpIFdhaXQgdW50aWwgYSB0YWJsZSBpcyBkZWxldGVkIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVRhYmxlIG9wZXJhdGlvbiBhbmQgd2FpdGVyIHNwZWNpZmljIHNldHRpbmdzCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRCYXRjaEdldEl0ZW1JdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBCYXRjaEdldEl0ZW0gb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0VGFibGVzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdFRhYmxlcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldFF1ZXJ5SXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgUXVlcnkgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRTY2FuSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgU2NhbiBvcGVyYXRpb24KICoKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2UtZHluYW1vZGIuaHRtbCBVc2VyIGd1aWRlCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuRHluYW1vRGIuRHluYW1vRGJDbGllbnQuaHRtbCBBUEkgZG9jcwogKi8KY2xhc3MgRHluYW1vRGJDbGllbnQgZXh0ZW5kcyBBYnN0cmFjdENsaWVudAp7CiAgICBjb25zdCBMQVRFU1RfQVBJX1ZFUlNJT04gPSAnMjAxMi0wOC0xMCc7CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgQW1hem9uIER5bmFtb0RCIGNsaWVudCB1c2luZyBhbiBhcnJheSBvZiBjb25maWd1cmF0aW9uIG9wdGlvbnMuCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gJGNvbmZpZyBDbGllbnQgY29uZmlndXJhdGlvbiBkYXRhCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAc2VlIFxBd3NcQ29tbW9uXENsaWVudFxEZWZhdWx0Q2xpZW50IGZvciBhIGxpc3Qgb2YgYXZhaWxhYmxlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoJGNvbmZpZyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgLy8gQ29uZmlndXJlIHRoZSBjdXN0b20gZXhwb25lbnRpYWwgYmFja29mZiBwbHVnaW4gZm9yIER5bmFtb0RCIHRocm90dGxpbmcKICAgICAgICAkZXhjZXB0aW9uUGFyc2VyID0gbmV3IEpzb25RdWVyeUV4Y2VwdGlvblBhcnNlcigpOwogICAgICAgIGlmICghaXNzZXQoJGNvbmZpZ1tPcHRpb25zOjpCQUNLT0ZGXSkpIHsKICAgICAgICAgICAgJGNvbmZpZ1tPcHRpb25zOjpCQUNLT0ZGXSA9IG5ldyBCYWNrb2ZmUGx1Z2luKAogICAgICAgICAgICAgICAgLy8gUmV0cnkgcmVxdWVzdHMgKGV2ZW4gaWYgc3VjY2Vzc2Z1bCkgaWYgdGhlIENSQzMyIGhlYWRlciBpcyBkb2VzIG5vdCBtYXRjaCB0aGUgQ1JDMzIgb2YgdGhlIHJlc3BvbnNlCiAgICAgICAgICAgICAgICBuZXcgQ3JjMzJFcnJvckNoZWNrZXIoCiAgICAgICAgICAgICAgICAgICAgLy8gUmV0cnkgZmFpbGVkIHJlcXVlc3RzIHVwIHRvIDExIHRpbWVzIGluc3RlYWQgb2YgdGhlIG5vcm1hbCAzCiAgICAgICAgICAgICAgICAgICAgbmV3IFRydW5jYXRlZEJhY2tvZmZTdHJhdGVneSgxMSwKICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV0cnkgZmFpbGVkIHJlcXVlc3RzIHdpdGggNDAwLWxldmVsIHJlc3BvbnNlcyBkdWUgdG8gdGhyb3R0bGluZwogICAgICAgICAgICAgICAgICAgICAgICBuZXcgVGhyb3R0bGluZ0Vycm9yQ2hlY2tlcigkZXhjZXB0aW9uUGFyc2VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV0cnkgZmFpbGVkIHJlcXVlc3RzIHdpdGggNTAwLWxldmVsIHJlc3BvbnNlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEh0dHBCYWNrb2ZmU3RyYXRlZ3kobnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXRyeSBmYWlsZWQgcmVxdWVzdHMgZHVlIHRvIHRyYW5zaWVudCBuZXR3b3JrIG9yIGNVUkwgcHJvYmxlbXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQ3VybEJhY2tvZmZTdHJhdGVneShudWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgRXhwaXJlZENyZWRlbnRpYWxzQ2hlY2tlcigkZXhjZXB0aW9uUGFyc2VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVzZSB0aGUgY3VzdG9tIHJldHJ5IGRlbGF5IG1ldGhvZCBpbnN0ZWFkIG9mIGRlZmF1bHQgZXhwb25lbnRpYWwgYmFja29mZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBDYWxsYmFja0JhY2tvZmZTdHJhdGVneShfX0NMQVNTX18gLiAnOjpjYWxjdWxhdGVSZXRyeURlbGF5JywgZmFsc2UpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAvLyBDb25zdHJ1Y3QgdGhlIER5bmFtb0RCIGNsaWVudCB3aXRoIHRoZSBjbGllbnQgYnVpbGRlcgogICAgICAgIHJldHVybiBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KF9fTkFNRVNQQUNFX18pCiAgICAgICAgICAgIC0+c2V0Q29uZmlnKCRjb25maWcpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnRGVmYXVsdHMoYXJyYXkoCiAgICAgICAgICAgICAgICAvLyBEeW5hbW9EQiBkb2VzIG5vdCB1c2UgcmVkaXJlY3RzCiAgICAgICAgICAgICAgICBzZWxmOjpESVNBQkxFX1JFRElSRUNUUyA9PiB0cnVlLAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9keW5hbW9kYi0lcy5waHAnLAogICAgICAgICAgICAgICAgLy8gRHluYW1vREIgZG9lcyBub3QgcmVxdWlyZSByZXNwb25zZSBwcm9jZXNzaW5nIG90aGVyIHRoYW4gdHVybmluZyBKU09OIGludG8gYW4gYXJyYXkKICAgICAgICAgICAgICAgIHNlbGY6OkNPTU1BTkRfUEFSQU1TID0+IGFycmF5KENtZDo6UkVTUE9OU0VfUFJPQ0VTU0lORyA9PiBDbWQ6OlRZUEVfTk9fVFJBTlNMQVRJT04pCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+c2V0RXhjZXB0aW9uUGFyc2VyKCRleGNlcHRpb25QYXJzZXIpCiAgICAgICAgICAgIC0+c2V0SXRlcmF0b3JzQ29uZmlnKGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknICA9PiAnSXRlbXMnLAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnRXhjbHVzaXZlU3RhcnRLZXknLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgICA9PiAnTGFzdEV2YWx1YXRlZEtleScsCiAgICAgICAgICAgICAgICAnb3BlcmF0aW9ucycgID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdCYXRjaEdldEl0ZW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdSZXF1ZXN0SXRlbXMnLAogICAgICAgICAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyAgID0+ICdVbnByb2Nlc3NlZEtleXMnLAogICAgICAgICAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgID0+ICdSZXNwb25zZXMvKicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnTGlzdFRhYmxlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyAgPT4gJ1RhYmxlTmFtZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdFeGNsdXNpdmVTdGFydFRhYmxlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0b2tlbl9rZXknICAgPT4gJ0xhc3RFdmFsdWF0ZWRUYWJsZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ1F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnU2NhbicsCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEZvcm1hdHMgYSB2YWx1ZSBhcyBhIER5bmFtb0RCIGF0dHJpYnV0ZS4KICAgICAqCiAgICAgKiBAcGFyYW0gbWl4ZWQgICR2YWx1ZSAgVGhlIHZhbHVlIHRvIGZvcm1hdCBmb3IgRHluYW1vREIuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmb3JtYXQgVGhlIHR5cGUgb2YgZm9ybWF0IChlLmcuIHB1dCwgdXBkYXRlKS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IFRoZSBmb3JtYXR0ZWQgdmFsdWUuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBmb3JtYXRWYWx1ZSgkdmFsdWUsICRmb3JtYXQgPSBBdHRyaWJ1dGU6OkZPUk1BVF9QVVQpCiAgICB7CiAgICAgICAgcmV0dXJuIEF0dHJpYnV0ZTo6ZmFjdG9yeSgkdmFsdWUpLT5nZXRGb3JtYXR0ZWQoJGZvcm1hdCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBGb3JtYXRzIGFuIGFycmF5IG9mIHZhbHVlcyBhcyBEeW5hbW9EQiBhdHRyaWJ1dGVzLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAgJHZhbHVlcyBUaGUgdmFsdWVzIHRvIGZvcm1hdCBmb3IgRHluYW1vREIuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmb3JtYXQgVGhlIHR5cGUgb2YgZm9ybWF0IChlLmcuIHB1dCwgdXBkYXRlKS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IFRoZSBmb3JtYXR0ZWQgdmFsdWVzLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZm9ybWF0QXR0cmlidXRlcyhhcnJheSAkdmFsdWVzLCAkZm9ybWF0ID0gQXR0cmlidXRlOjpGT1JNQVRfUFVUKQogICAgewogICAgICAgICRmb3JtYXR0ZWQgPSBhcnJheSgpOwoKICAgICAgICBmb3JlYWNoICgkdmFsdWVzIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICRmb3JtYXR0ZWRbJGtleV0gPSAkdGhpcy0+Zm9ybWF0VmFsdWUoJHZhbHVlLCAkZm9ybWF0KTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZm9ybWF0dGVkOwogICAgfQoKICAgIC8qKgogICAgICogQ2FsY3VsYXRlIHRoZSBhbW91bnQgb2YgdGltZSBuZWVkZWQgZm9yIGFuIGV4cG9uZW50aWFsIGJhY2tvZmYgdG8gd2FpdAogICAgICogYmVmb3JlIHJldHJ5aW5nIGEgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBpbnQgJHJldHJpZXMgTnVtYmVyIG9mIHJldHJpZXMKICAgICAqCiAgICAgKiBAcmV0dXJuIGZsb2F0IFJldHVybnMgdGhlIGFtb3VudCBvZiB0aW1lIHRvIHdhaXQgaW4gc2Vjb25kcwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNhbGN1bGF0ZVJldHJ5RGVsYXkoJHJldHJpZXMpCiAgICB7CiAgICAgICAgcmV0dXJuICRyZXRyaWVzID09IDAgPyAwIDogKDUwICogKGludCkgcG93KDIsICRyZXRyaWVzIC0gMSkpIC8gMTAwMDsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgaW5zdGFudGlhdGluZyBhbmQgcmVnaXN0ZXJpbmcgdGhlIER5bmFtb0RCCiAgICAgKiBTZXNzaW9uIGhhbmRsZXIgd2l0aCB0aGlzIER5bmFtb0RCIGNsaWVudCBvYmplY3QuCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRjb25maWcgQXJyYXkgb2Ygb3B0aW9ucyBmb3IgdGhlIHNlc3Npb24gaGFuZGxlciBmYWN0b3J5CiAgICAgKgogICAgICogQHJldHVybiBTZXNzaW9uSGFuZGxlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVnaXN0ZXJTZXNzaW9uSGFuZGxlcihhcnJheSAkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkY29uZmlnID0gYXJyYXlfcmVwbGFjZShhcnJheSgnZHluYW1vZGJfY2xpZW50JyA9PiAkdGhpcyksICRjb25maWcpOwoKICAgICAgICAkaGFuZGxlciA9IFNlc3Npb25IYW5kbGVyOjpmYWN0b3J5KCRjb25maWcpOwogICAgICAgICRoYW5kbGVyLT5yZWdpc3RlcigpOwoKICAgICAgICByZXR1cm4gJGhhbmRsZXI7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Enum/AttributeAction.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBBdHRyaWJ1dGVBY3Rpb24gdmFsdWVzCiAqLwpjbGFzcyBBdHRyaWJ1dGVBY3Rpb24gZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEFERCA9ICdBREQnOwogICAgY29uc3QgUFVUID0gJ1BVVCc7CiAgICBjb25zdCBERUxFVEUgPSAnREVMRVRFJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Enum/AttributeType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBBdHRyaWJ1dGVUeXBlIHZhbHVlcwogKi8KY2xhc3MgQXR0cmlidXRlVHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgUyA9ICdTJzsKICAgIGNvbnN0IE4gPSAnTic7CiAgICBjb25zdCBCID0gJ0InOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Enum/ComparisonOperator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBDb21wYXJpc29uT3BlcmF0b3IgdmFsdWVzCiAqLwpjbGFzcyBDb21wYXJpc29uT3BlcmF0b3IgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEVRID0gJ0VRJzsKICAgIGNvbnN0IE5FID0gJ05FJzsKICAgIGNvbnN0IElOID0gJ0lOJzsKICAgIGNvbnN0IExFID0gJ0xFJzsKICAgIGNvbnN0IExUID0gJ0xUJzsKICAgIGNvbnN0IEdFID0gJ0dFJzsKICAgIGNvbnN0IEdUID0gJ0dUJzsKICAgIGNvbnN0IEJFVFdFRU4gPSAnQkVUV0VFTic7CiAgICBjb25zdCBOT1RfTlVMTCA9ICdOT1RfTlVMTCc7CiAgICBjb25zdCBOVUxMID0gJ05VTEwnOwogICAgY29uc3QgQ09OVEFJTlMgPSAnQ09OVEFJTlMnOwogICAgY29uc3QgTk9UX0NPTlRBSU5TID0gJ05PVF9DT05UQUlOUyc7CiAgICBjb25zdCBCRUdJTlNfV0lUSCA9ICdCRUdJTlNfV0lUSCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Enum/IndexStatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBJbmRleFN0YXR1cyB2YWx1ZXMKICovCmNsYXNzIEluZGV4U3RhdHVzIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBDUkVBVElORyA9ICdDUkVBVElORyc7CiAgICBjb25zdCBVUERBVElORyA9ICdVUERBVElORyc7CiAgICBjb25zdCBERUxFVElORyA9ICdERUxFVElORyc7CiAgICBjb25zdCBBQ1RJVkUgPSAnQUNUSVZFJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Enum/KeyType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBLZXlUeXBlIHZhbHVlcwogKi8KY2xhc3MgS2V5VHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgSEFTSCA9ICdIQVNIJzsKICAgIGNvbnN0IFJBTkdFID0gJ1JBTkdFJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Enum/ProjectionType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBQcm9qZWN0aW9uVHlwZSB2YWx1ZXMKICovCmNsYXNzIFByb2plY3Rpb25UeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBBTEwgPSAnQUxMJzsKICAgIGNvbnN0IEtFWVNfT05MWSA9ICdLRVlTX09OTFknOwogICAgY29uc3QgSU5DTFVERUQgPSAnSU5DTFVERSc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Enum/ReturnConsumedCapacity.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBSZXR1cm5Db25zdW1lZENhcGFjaXR5IHZhbHVlcwogKi8KY2xhc3MgUmV0dXJuQ29uc3VtZWRDYXBhY2l0eSBleHRlbmRzIEVudW0KewogICAgY29uc3QgSU5ERVhFUyA9ICdJTkRFWEVTJzsKICAgIGNvbnN0IFRPVEFMID0gJ1RPVEFMJzsKICAgIGNvbnN0IE5PTkUgPSAnTk9ORSc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Enum/ReturnItemCollectionMetrics.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBSZXR1cm5JdGVtQ29sbGVjdGlvbk1ldHJpY3MgdmFsdWVzCiAqLwpjbGFzcyBSZXR1cm5JdGVtQ29sbGVjdGlvbk1ldHJpY3MgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFNJWkUgPSAnU0laRSc7CiAgICBjb25zdCBOT05FID0gJ05PTkUnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Enum/ReturnValue.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBSZXR1cm5WYWx1ZSB2YWx1ZXMKICovCmNsYXNzIFJldHVyblZhbHVlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBOT05FID0gJ05PTkUnOwogICAgY29uc3QgQUxMX09MRCA9ICdBTExfT0xEJzsKICAgIGNvbnN0IFVQREFURURfT0xEID0gJ1VQREFURURfT0xEJzsKICAgIGNvbnN0IEFMTF9ORVcgPSAnQUxMX05FVyc7CiAgICBjb25zdCBVUERBVEVEX05FVyA9ICdVUERBVEVEX05FVyc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Enum/ScalarAttributeType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBTY2FsYXJBdHRyaWJ1dGVUeXBlIHZhbHVlcwogKi8KY2xhc3MgU2NhbGFyQXR0cmlidXRlVHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgUyA9ICdTJzsKICAgIGNvbnN0IE4gPSAnTic7CiAgICBjb25zdCBCID0gJ0InOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Enum/Select.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBTZWxlY3QgdmFsdWVzCiAqLwpjbGFzcyBTZWxlY3QgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEFMTF9BVFRSSUJVVEVTID0gJ0FMTF9BVFRSSUJVVEVTJzsKICAgIGNvbnN0IEFMTF9QUk9KRUNURURfQVRUUklCVVRFUyA9ICdBTExfUFJPSkVDVEVEX0FUVFJJQlVURVMnOwogICAgY29uc3QgU1BFQ0lGSUNfQVRUUklCVVRFUyA9ICdTUEVDSUZJQ19BVFRSSUJVVEVTJzsKICAgIGNvbnN0IENPVU5UID0gJ0NPVU5UJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Enum/TableStatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBUYWJsZVN0YXR1cyB2YWx1ZXMKICovCmNsYXNzIFRhYmxlU3RhdHVzIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBDUkVBVElORyA9ICdDUkVBVElORyc7CiAgICBjb25zdCBVUERBVElORyA9ICdVUERBVElORyc7CiAgICBjb25zdCBERUxFVElORyA9ICdERUxFVElORyc7CiAgICBjb25zdCBBQ1RJVkUgPSAnQUNUSVZFJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Enum/Type.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgYWxsIGVudW1lcmFibGUgRHluYW1vREIgYXR0cmlidXRlIHR5cGUgdmFsdWVzCiAqLwpjbGFzcyBUeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBTID0gJ1MnOwogICAgY29uc3QgTiA9ICdOJzsKICAgIGNvbnN0IEIgPSAnQic7CgogICAgY29uc3QgU1MgPSAnU1MnOwogICAgY29uc3QgTlMgPSAnTlMnOwogICAgY29uc3QgQlMgPSAnQlMnOwoKICAgIGNvbnN0IFNUUklORyA9ICdTJzsKICAgIGNvbnN0IE5VTUJFUiA9ICdOJzsKICAgIGNvbnN0IEJJTkFSWSA9ICdCJzsKCiAgICBjb25zdCBTVFJJTkdfU0VUID0gJ1NTJzsKICAgIGNvbnN0IE5VTUJFUl9TRVQgPSAnTlMnOwogICAgY29uc3QgQklOQVJZX1NFVCA9ICdCUyc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/AccessDeniedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIEFjY2VzcyBkZW5pZWQuCiAqLwpjbGFzcyBBY2Nlc3NEZW5pZWRFeGNlcHRpb24gZXh0ZW5kcyBEeW5hbW9EYkV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/ConditionalCheckFailedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIEEgY29uZGl0aW9uIHNwZWNpZmllZCBpbiB0aGUgb3BlcmF0aW9uIGNvdWxkIG5vdCBiZSBldmFsdWF0ZWQuCiAqLwpjbGFzcyBDb25kaXRpb25hbENoZWNrRmFpbGVkRXhjZXB0aW9uIGV4dGVuZHMgRHluYW1vRGJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/DynamoDbException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbjsKCi8qKgogKiBEZWZhdWx0IHNlcnZpY2UgZXhjZXB0aW9uIGNsYXNzCiAqLwpjbGFzcyBEeW5hbW9EYkV4Y2VwdGlvbiBleHRlbmRzIFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/IncompleteSignatureException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IHNpZ25hdHVyZSBkb2VzIG5vdCBjb25mb3JtIHRvIEFXUyBzdGFuZGFyZHMuCiAqLwpjbGFzcyBJbmNvbXBsZXRlU2lnbmF0dXJlRXhjZXB0aW9uIGV4dGVuZHMgRHluYW1vRGJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/InternalFailureException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzZXJ2ZXIgZW5jb3VudGVyZWQgYW4gaW50ZXJuYWwgZXJyb3IgdHJ5aW5nIHRvIGZ1bGZpbGwgdGhlIHJlcXVlc3QuCiAqLwpjbGFzcyBJbnRlcm5hbEZhaWx1cmVFeGNlcHRpb24gZXh0ZW5kcyBEeW5hbW9EYkV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/InternalServerErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIEFuIGVycm9yIG9jY3VycmVkIG9uIHRoZSBzZXJ2ZXIgc2lkZS4KICovCmNsYXNzIEludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24gZXh0ZW5kcyBEeW5hbW9EYkV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/ItemCollectionSizeLimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIEFuIGl0ZW0gY29sbGVjdGlvbiBpcyB0b28gbGFyZ2UuIFRoaXMgZXhjZXB0aW9uIGlzIG9ubHkgcmV0dXJuZWQgZm9yIHRhYmxlcyB0aGF0IGhhdmUgb25lIG9yIG1vcmUgbG9jYWwgc2Vjb25kYXJ5IGluZGV4ZXMuCiAqLwpjbGFzcyBJdGVtQ29sbGVjdGlvblNpemVMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgRHluYW1vRGJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/LimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBudW1iZXIgb2YgY29uY3VycmVudCB0YWJsZSByZXF1ZXN0cyAoY3VtdWxhdGl2ZSBudW1iZXIgb2YgdGFibGVzIGluIHRoZSBDUkVBVElORywgREVMRVRJTkcgb3IgVVBEQVRJTkcgc3RhdGUpIGV4Y2VlZHMgdGhlIG1heGltdW0gYWxsb3dlZCBvZiAxMC4gQWxzbywgZm9yIHRhYmxlcyB3aXRoIHNlY29uZGFyeSBpbmRleGVzLCBvbmx5IG9uZSBvZiB0aG9zZSB0YWJsZXMgY2FuIGJlIGluIHRoZSBDUkVBVElORyBzdGF0ZSBhdCBhbnkgcG9pbnQgaW4gdGltZS4gRG8gbm90IGF0dGVtcHQgdG8gY3JlYXRlIG1vcmUgdGhhbiBvbmUgc3VjaCB0YWJsZSBzaW11bHRhbmVvdXNseS4gVGhlIHRvdGFsIGxpbWl0IG9mIHRhYmxlcyBpbiB0aGUgQUNUSVZFIHN0YXRlIGlzIDI1MC4KICovCmNsYXNzIExpbWl0RXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBEeW5hbW9EYkV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/MissingAuthenticationTokenException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFJlcXVlc3QgbXVzdCBjb250YWluIGEgdmFsaWQgKHJlZ2lzdGVyZWQpIEFXUyBBY2Nlc3MgS2V5IElELgogKi8KY2xhc3MgTWlzc2luZ0F1dGhlbnRpY2F0aW9uVG9rZW5FeGNlcHRpb24gZXh0ZW5kcyBEeW5hbW9EYkV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/ProvisionedThroughputExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IHJhdGUgaXMgdG9vIGhpZ2gsIG9yIHRoZSByZXF1ZXN0IGlzIHRvbyBsYXJnZSwgZm9yIHRoZSBhdmFpbGFibGUgdGhyb3VnaHB1dCB0byBhY2NvbW1vZGF0ZS4gVGhlIEFXUyBTREtzIGF1dG9tYXRpY2FsbHkgcmV0cnkgcmVxdWVzdHMgdGhhdCByZWNlaXZlIHRoaXMgZXhjZXB0aW9uOyB0aGVyZWZvcmUsIHlvdXIgcmVxdWVzdCB3aWxsIGV2ZW50dWFsbHkgc3VjY2VlZCwgdW5sZXNzIHRoZSByZXF1ZXN0IGlzIHRvbyBsYXJnZSBvciB5b3VyIHJldHJ5IHF1ZXVlIGlzIHRvbyBsYXJnZSB0byBmaW5pc2guIFJlZHVjZSB0aGUgZnJlcXVlbmN5IG9mIHJlcXVlc3RzIGJ5IHVzaW5nIHRoZSBzdHJhdGVnaWVzIGxpc3RlZCBpbiBFcnJvciBSZXRyaWVzIGFuZCBFeHBvbmVudGlhbCBCYWNrb2ZmIGluIHRoZSBBbWF6b24gRHluYW1vREIgRGV2ZWxvcGVyIEd1aWRlLgogKi8KY2xhc3MgUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBEeW5hbW9EYkV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/ResourceInUseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBvcGVyYXRpb24gY29uZmxpY3RzIHdpdGggdGhlIHJlc291cmNlJ3MgYXZhaWxhYmlsaXR5LiBGb3IgZXhhbXBsZSwgeW91IGF0dGVtcHRlZCB0byByZWNyZWF0ZSBhbiBleGlzdGluZyB0YWJsZSwgb3IgdHJpZWQgdG8gZGVsZXRlIGEgdGFibGUgY3VycmVudGx5IGluIHRoZSBDUkVBVElORyBzdGF0ZS4KICovCmNsYXNzIFJlc291cmNlSW5Vc2VFeGNlcHRpb24gZXh0ZW5kcyBEeW5hbW9EYkV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/ResourceNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBvcGVyYXRpb24gdHJpZWQgdG8gYWNjZXNzIGEgbm9uZXhpc3RlbnQgdGFibGUgb3IgaW5kZXguIFRoZSByZXNvdXJjZSBtYXkgbm90IGJlIHNwZWNpZmllZCBjb3JyZWN0bHksIG9yIGl0cyBzdGF0dXMgbWF5IG5vdCBiZSBBQ1RJVkUuCiAqLwpjbGFzcyBSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgRHluYW1vRGJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/ServiceUnavailableException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzZXJ2aWNlIGlzIGN1cnJlbnRseSB1bmF2YWlsYWJsZSBvciBidXN5LgogKi8KY2xhc3MgU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uICBleHRlbmRzIER5bmFtb0RiRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/ThrottlingException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFJhdGUgb2YgcmVxdWVzdHMgZXhjZWVkcyB0aGUgYWxsb3dlZCB0aHJvdWdocHV0LgogKi8KY2xhc3MgVGhyb3R0bGluZ0V4Y2VwdGlvbiBleHRlbmRzIER5bmFtb0RiRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/UnprocessedWriteRequestsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb247CnVzZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0XFdyaXRlUmVxdWVzdEludGVyZmFjZTsKCi8qKgogKiBUaGlzIGV4Y2VwdGlvbiBtYXkgY29udGFpbiB1bnByb2Nlc3NlZCB3cml0ZSByZXF1ZXN0IGl0ZW1zCiAqLwpjbGFzcyBVbnByb2Nlc3NlZFdyaXRlUmVxdWVzdHNFeGNlcHRpb24gZXh0ZW5kcyBSdW50aW1lRXhjZXB0aW9uIGltcGxlbWVudHMgXEl0ZXJhdG9yQWdncmVnYXRlLCBcQ291bnRhYmxlCnsKICAgIC8qKgogICAgICogQHZhciBhcnJheSBVbnByb2Nlc3NlZCB3cml0ZSByZXF1ZXN0cwogICAgICovCiAgICBwcml2YXRlICRpdGVtcyA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChhcnJheSAkdW5wcm9jZXNzZWRJdGVtcyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgnVGhlcmUgd2VyZSB1bnByb2Nlc3NlZCBpdGVtcyBpbiB0aGUgRHluYW1vRGIgJwogICAgICAgICAgICAuICdCYXRjaFdyaXRlSXRlbSBvcGVyYXRpb24uJyk7CgogICAgICAgIGZvcmVhY2ggKCR1bnByb2Nlc3NlZEl0ZW1zIGFzICR1bnByb2Nlc3NlZEl0ZW0pIHsKICAgICAgICAgICAgJHRoaXMtPmFkZEl0ZW0oJHVucHJvY2Vzc2VkSXRlbSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQWRkcyBhbiB1bnByb2Nlc3NlZCB3cml0ZSByZXF1ZXN0IHRvIHRoZSBjb2xsZWN0aW9uCiAgICAgKgogICAgICogQHBhcmFtIFdyaXRlUmVxdWVzdEludGVyZmFjZSAkdW5wcm9jZXNzZWRJdGVtCiAgICAgKgogICAgICogQHJldHVybiBVbnByb2Nlc3NlZFdyaXRlUmVxdWVzdHNFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZEl0ZW0oV3JpdGVSZXF1ZXN0SW50ZXJmYWNlICR1bnByb2Nlc3NlZEl0ZW0pCiAgICB7CiAgICAgICAgJHRoaXMtPml0ZW1zW10gPSAkdW5wcm9jZXNzZWRJdGVtOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHRvdGFsIG51bWJlciBvZiByZXF1ZXN0IGV4Y2VwdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIGludAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY291bnQoKQogICAgewogICAgICAgIHJldHVybiBjb3VudCgkdGhpcy0+aXRlbXMpOwogICAgfQoKICAgIC8qKgogICAgICogQWxsb3dzIGFycmF5LWxpa2UgaXRlcmF0aW9uIG92ZXIgdGhlIHJlcXVlc3QgZXhjZXB0aW9ucwogICAgICoKICAgICAqIEByZXR1cm4gXEFycmF5SXRlcmF0b3IKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEl0ZXJhdG9yKCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IFxBcnJheUl0ZXJhdG9yKCR0aGlzLT5pdGVtcyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/UnrecognizedClientException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFVucmVjb2duaXplZCBjbGllbnQgZXhjZXB0aW9uCiAqLwpjbGFzcyBVbnJlY29nbml6ZWRDbGllbnRFeGNlcHRpb24gZXh0ZW5kcyBEeW5hbW9EYkV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Exception/ValidationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uOwoKLyoqCiAqIE9uZSBvciBtb3JlIHJlcXVpcmVkIHBhcmFtZXRlciB2YWx1ZXMgd2VyZSBtaXNzaW5nLgogKi8KY2xhc3MgVmFsaWRhdGlvbkV4Y2VwdGlvbiBleHRlbmRzIER5bmFtb0RiRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Iterator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Iterator/ItemIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcSXRlcmF0b3I7Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwp1c2UgR3V6emxlXENvbW1vblxUb0FycmF5SW50ZXJmYWNlOwoKLyoqCiAqIENvbnZlcnRzIGl0ZW1zIHRvIGEgc2ltcGxlIGFzc29jaWF0aXZlIGFycmF5IGZvcm0gd2l0aCB0eXBlIGluZm9ybWF0aW9uIHJlbW92ZWQuIEFsc28gcGVyZm9ybXMgYmFzZTY0X2RlY29kZSBvbgogKiB2YWx1ZXMgc3BlY2lmaWVkIGFzIGJpbmFyeS4gRWFjaCBpdGVtIGlzIHlpZWxkZWQgYXMgYW4gYXJyYXktYWNjZXNzaWJsZSBDb2xsZWN0aW9uIG9iamVjdAogKi8KY2xhc3MgSXRlbUl0ZXJhdG9yIGV4dGVuZHMgXEl0ZXJhdG9ySXRlcmF0b3IgaW1wbGVtZW50cyBcQ291bnRhYmxlLCBUb0FycmF5SW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQ29sbGVjdHMgaXRlbXMgZnJvbSB0aGUgcmVzdWx0IG9mIGEgRHluYW1vREIgb3BlcmF0aW9uIGFuZCByZXR1cm5zIHRoZW0gYXMgYW4gSXRlbUl0ZXJhdG9yLgogICAgICoKICAgICAqIEBwYXJhbSBDb2xsZWN0aW9uICRyZXN1bHQgIFRoZSByZXN1bHQgb2YgYSBEeW5hbW9EQiBvcGVyYXRpb24gdGhhdCBwb3RlbnRpYWxseSBjb250YWlucyBpdGVtcwogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGUuZy4sIEJhdGNoR2V0SXRlbSwgRGVsZXRlSXRlbSwgR2V0SXRlbSwgUHV0SXRlbSwgUXVlcnksIFNjYW4sIFVwZGF0ZUl0ZW0pCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbVJlc3VsdChDb2xsZWN0aW9uICRyZXN1bHQpCiAgICB7CiAgICAgICAgaWYgKCEoJGl0ZW1zID0gJHJlc3VsdC0+Z2V0KCdJdGVtcycpKSkgewogICAgICAgICAgICBpZiAoJGl0ZW0gPSAkcmVzdWx0LT5nZXQoJ0l0ZW0nKSA/OiAkcmVzdWx0LT5nZXQoJ0F0dHJpYnV0ZXMnKSkgewogICAgICAgICAgICAgICAgJGl0ZW1zID0gYXJyYXkoJGl0ZW0pOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGl0ZW1zID0gJHJlc3VsdC0+Z2V0UGF0aCgnUmVzcG9uc2VzLyonKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG5ldyBzZWxmKG5ldyBcQXJyYXlJdGVyYXRvcigkaXRlbXMgPzogYXJyYXkoKSkpOwogICAgfQoKICAgIC8qKgogICAgICogRW5zdXJlcyB0aGF0IHRoZSBpbm5lciBpdGVyYXRvciBpcyBib3RoIFRyYXZlcnNhYmxlIGFuZCBDb3VudGFibGUKICAgICAqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFxUcmF2ZXJzYWJsZSAkaXRlcmF0b3IpCiAgICB7CiAgICAgICAgaWYgKCEoJGl0ZXJhdG9yIGluc3RhbmNlb2YgXENvdW50YWJsZSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignVGhlIGlubmVyIGl0ZXJhdG9yIGZvciBhbiBJdGVtSXRlcmF0b3IgbXVzdCBiZSBDb3VudGFibGUuJyk7CiAgICAgICAgfQoKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRpdGVyYXRvcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBpdGVyYXRvcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Rmlyc3QoKQogICAgewogICAgICAgICR0aGlzLT5yZXdpbmQoKTsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5jdXJyZW50KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKiBAcmV0dXJuIENvbGxlY3Rpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGN1cnJlbnQoKQogICAgewogICAgICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbihhcnJheV9tYXAoYXJyYXkoJHRoaXMsICdwcm9jZXNzQXR0cmlidXRlJyksIHBhcmVudDo6Y3VycmVudCgpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNvdW50KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldElubmVySXRlcmF0b3IoKS0+Y291bnQoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdG9BcnJheSgpCiAgICB7CiAgICAgICAgcmV0dXJuIGl0ZXJhdG9yX3RvX2FycmF5KCR0aGlzLCBmYWxzZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb252ZXJ0cyBhbiBpdGVtJ3MgYXR0cmlidXRlIGZyb20gdGhlIER5bmFtb0RCIGZvcm1hdCB0byBhIHR5cGVsZXNzIHZhbHVlIGluIG9yZGVyIHRvIHNpbXBsaWZ5IHRoZSBvdmVyYWxsCiAgICAgKiBhcnJheSBzdHJ1Y3R1cmUgb2YgYW4gaXRlbS4gVGhlIG1ldGhvZCBhbHNvIGJhc2U2NCBkZWNvZGVzIHRoZSB2YWx1ZSBhbnkgQmluYXJ5IGF0dHJpYnV0ZXMKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGF0dHJpYnV0ZQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXl8c3RyaW5nCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBwcm9jZXNzQXR0cmlidXRlKGFycmF5ICRhdHRyaWJ1dGUpCiAgICB7CiAgICAgICAgbGlzdCgkdHlwZSwgJHZhbHVlKSA9IGVhY2goJGF0dHJpYnV0ZSk7CgogICAgICAgIGlmICgkdHlwZSA9PT0gJ0InKSB7CiAgICAgICAgICAgICR2YWx1ZSA9IGJhc2U2NF9kZWNvZGUoJHZhbHVlKTsKICAgICAgICB9IGVsc2VpZiAoJHR5cGUgPT09ICdCUycpIHsKICAgICAgICAgICAgJHZhbHVlID0gYXJyYXlfbWFwKCdiYXNlNjRfZGVjb2RlJywgJHZhbHVlKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdmFsdWU7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Iterator/ScanIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcSXRlcmF0b3I7Cgp1c2UgQXdzXENvbW1vblxJdGVyYXRvclxBd3NSZXNvdXJjZUl0ZXJhdG9yOwp1c2UgR3V6emxlXENvbW1vblxWZXJzaW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CgovKioKICogSXRlcmF0b3IgZm9yIGEgRHluYW1vREIgU2NhbiBvcGVyYXRpb24uIENhbiBhbHNvIGdldCB0aGUgdG90YWwgc2Nhbm5lZCBjb3VudAogKgogKiBAZGVwcmVjYXRlZCBHZXR0aW5nIHRoZSBzY2FubmVkIGNvdW50IGlzIHBvc3NpYmxlIHVzaW5nIGV2ZW50IGxpc3RlbmVycywgc28gdGhpcyBjbGFzcyBpcyBub3QgbmVlZGVkCiAqLwpjbGFzcyBTY2FuSXRlcmF0b3IgZXh0ZW5kcyBBd3NSZXNvdXJjZUl0ZXJhdG9yCnsKICAgIC8qKgogICAgICogQHZhciBpbnQgVG90YWwgbnVtYmVyIG9mIHNjYW5uZWQgaXRlbXMKICAgICAqLwogICAgcHJvdGVjdGVkICRzY2FubmVkQ291bnQgPSAwOwoKICAgIC8qKgogICAgICogR2V0IHRoZSB0b3RhbCBudW1iZXIgb2Ygc2Nhbm5lZCBpdGVtcwogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTY2FubmVkQ291bnQoKQogICAgewogICAgICAgIFZlcnNpb246Ondhcm4oJ1RoaXMgbWV0aG9kIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mIHRoZSBTREsuIEdldHRpbmcgdGhlICcKICAgICAgICAgICAgLiAnc2Nhbm5lZCBjb3VudCBpcyBwb3NzaWJsZSB1c2luZyBldmVudCBsaXN0ZW5lcnMuJyk7CgogICAgICAgIHJldHVybiAkdGhpcy0+c2Nhbm5lZENvdW50OwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaGFuZGxlUmVzdWx0cyhNb2RlbCAkcmVzdWx0KQogICAgewogICAgICAgICR0aGlzLT5zY2FubmVkQ291bnQgKz0gKGludCkgJHJlc3VsdC0+Z2V0KCdTY2FubmVkQ291bnQnKTsKCiAgICAgICAgcmV0dXJuIHBhcmVudDo6aGFuZGxlUmVzdWx0cygkcmVzdWx0KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Model/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Model/Attribute.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcTW9kZWw7Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgQXdzXER5bmFtb0RiXEVudW1cVHlwZTsKdXNlIEd1enpsZVxDb21tb25cVG9BcnJheUludGVyZmFjZTsKCi8qKgogKiBDbGFzcyByZXByZXNlbnRpbmcgYSBEeW5hbW9EQiBpdGVtIGF0dHJpYnV0ZS4gQ29udGFpbnMgaGVscGVycyBmb3IgYnVpbGRpbmcKICogYXR0cmlidXRlcyBhbmQgYXJyYXlzIG9mIGF0dHJpYnV0ZXMuCiAqLwpjbGFzcyBBdHRyaWJ1dGUgaW1wbGVtZW50cyBUb0FycmF5SW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgQSBjb25zdGFudCB1c2VkIHRvIGV4cHJlc3MgdGhlIGF0dHJpYnV0ZSBiZSBmb3JtYXR0ZWQgZm9yIGV4cGVjdGVkIGNvbmRpdGlvbnMKICAgICAqLwogICAgY29uc3QgRk9STUFUX0VYUEVDVEVEID0gJ2V4cGVjdGVkJzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIEEgY29uc3RhbnQgdXNlZCB0byBleHByZXNzIHRoZSBhdHRyaWJ1dGUgYmUgZm9ybWF0dGVkIGZvciBwdXQgb3BlcmF0aW9ucwogICAgICovCiAgICBjb25zdCBGT1JNQVRfUFVUID0gJ3B1dCc7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBBIGNvbnN0YW50IHVzZWQgdG8gZXhwcmVzcyB0aGUgYXR0cmlidXRlIGJlIGZvcm1hdHRlZCBmb3IgdXBkYXRlIG9wZXJhdGlvbnMKICAgICAqLwogICAgY29uc3QgRk9STUFUX1VQREFURSA9ICd1cGRhdGUnOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVGhlIHN1ZmZpeCBmb3IgYWxsIHN0cmluZyB0eXBlcwogICAgICovCiAgICBjb25zdCBTRVRfU1VGRklYID0gJ1MnOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVGhlIER5bmFtb0RCIGF0dHJpYnV0ZSB0eXBlIChlLmcuIE4sIFMsIEIsIE5TLCBTUywgQlMpCiAgICAgKi8KICAgIHByb3RlY3RlZCAkdHlwZTsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nfGFycmF5IFRoZSBEeW5hbW9EQiBhdHRyaWJ1dGUgdmFsdWUKICAgICAqLwogICAgcHJvdGVjdGVkICR2YWx1ZTsKCiAgICAvKioKICAgICAqIENyZWF0ZXMgYSBEeW5hbW9EQiBhdHRyaWJ1dGUsIHZhbGlkYXRlcyBpdCwgYW5kIHByZXBhcmVzIHRoZSB0eXBlIGFuZAogICAgICogdmFsdWUuIFNvbWUgb2JqZWN0cyBjYW4gYmUgdXNlZCBhcyB2YWx1ZXMgYXMgd2VsbC4gSWYgdGhlIG9iamVjdCBoYXMgYQogICAgICogX190b1N0cmluZyBtZXRob2Qgb3IgaW1wbGVtZW50cyB0aGUgVHJhdmVyc2FibGUgaW50ZXJmYWNlLCBpdCBjYW4gYmUKICAgICAqIGNvbnZlcnRlZCB0byBhIHN0cmluZyBvciBhcnJheSwgcmVzcGVjdGl2ZWx5LgogICAgICoKICAgICAqIEBwYXJhbSBtaXhlZCAkdmFsdWUgVGhlIER5bmFtb0RCIGF0dHJpYnV0ZSB2YWx1ZQogICAgICogQHBhcmFtIGludCAgICRkZXB0aCBBIHZhcmlhYmxlIHVzZWQgaW50ZXJuYWxseSB0byBrZWVwIHRyYWNrIG9mIHJlY3Vyc2lvbgogICAgICogZGVwdGggb2YgYXJyYXkgcHJvY2Vzc2luZwogICAgICoKICAgICAqIEByZXR1cm4gQXR0cmlidXRlCiAgICAgKgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCR2YWx1ZSwgJGRlcHRoID0gMCkKICAgIHsKICAgICAgICAvLyBIYW5kbGUgZGVlcCByZWN1cnNpb24KICAgICAgICBpZiAoJGRlcHRoID4gMSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdTZXRzIG11c3QgYmUgYXQgbW9zdCBvbmUgbGV2ZWwgZGVlcC4nKTsKICAgICAgICB9CgogICAgICAgIC8vIEhhbmRsZSBzcGVjaWZpYywgYWxsb3dlZCBvYmplY3QgdHlwZXMKICAgICAgICBpZiAoJHZhbHVlIGluc3RhbmNlb2YgQXR0cmlidXRlKSB7CiAgICAgICAgICAgIHJldHVybiAkdmFsdWU7CiAgICAgICAgfSBlbHNlaWYgKCR2YWx1ZSBpbnN0YW5jZW9mIFxUcmF2ZXJzYWJsZSkgewogICAgICAgICAgICAkdmFsdWUgPSBpdGVyYXRvcl90b19hcnJheSgkdmFsdWUpOwogICAgICAgIH0gZWxzZWlmIChpc19vYmplY3QoJHZhbHVlKSAmJiBtZXRob2RfZXhpc3RzKCR2YWx1ZSwgJ19fdG9TdHJpbmcnKSkgewogICAgICAgICAgICAkdmFsdWUgPSAoc3RyaW5nKSAkdmFsdWU7CiAgICAgICAgfQoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgdmFsdWUgaXMgdmFsaWQKICAgICAgICBpZiAoJHZhbHVlID09PSBudWxsIHx8ICR2YWx1ZSA9PT0gYXJyYXkoKSB8fCAkdmFsdWUgPT09ICcnKSB7CiAgICAgICAgICAgIC8vIE5vdGU6ICJFbXB0eSIgdmFsdWVzIGFyZSBub3QgYWxsb3dlZCBleGNlcHQgZm9yIHplcm8gYW5kIGZhbHNlLgogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdUaGUgdmFsdWUgbXVzdCBub3QgYmUgZW1wdHkuJyk7CiAgICAgICAgfSBlbHNlaWYgKGlzX3Jlc291cmNlKCR2YWx1ZSkgfHwgaXNfb2JqZWN0KCR2YWx1ZSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignVGhlIHZhbHVlIG11c3QgYmUgYWJsZSB0byBiZSBjb252ZXJ0ZWQgdG8gc3RyaW5nLicpOwogICAgICAgIH0KCiAgICAgICAgLy8gQ3JlYXRlIHRoZSBhdHRyaWJ1dGUgdG8gcmV0dXJuCiAgICAgICAgaWYgKGlzX2ludCgkdmFsdWUpIHx8IGlzX2Zsb2F0KCR2YWx1ZSkpIHsKICAgICAgICAgICAgLy8gSGFuZGxlIG51bWVyaWMgdmFsdWVzCiAgICAgICAgICAgICRhdHRyaWJ1dGUgPSBuZXcgQXR0cmlidXRlKChzdHJpbmcpICR2YWx1ZSwgVHlwZTo6TlVNQkVSKTsKICAgICAgICB9IGVsc2VpZiAoaXNfYm9vbCgkdmFsdWUpKSB7CiAgICAgICAgICAgIC8vIEhhbmRsZSBib29sZWFuIHZhbHVlcwogICAgICAgICAgICAkYXR0cmlidXRlID0gbmV3IEF0dHJpYnV0ZSgkdmFsdWUgPyAnMScgOiAnMCcsIFR5cGU6Ok5VTUJFUik7CiAgICAgICAgfSBlbHNlaWYgKGlzX2FycmF5KCR2YWx1ZSkgfHwgJHZhbHVlIGluc3RhbmNlb2YgXFRyYXZlcnNhYmxlKSB7CiAgICAgICAgICAgIC8vIEhhbmRsZSBhcnJheXMKICAgICAgICAgICAgJHNldFR5cGUgPSBudWxsOwogICAgICAgICAgICAkYXR0cmlidXRlID0gbmV3IEF0dHJpYnV0ZShhcnJheSgpKTsKCiAgICAgICAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIHZhbHVlIHRvIGFuYWx5emUgYW5kIHByZXBhcmUgaXQKICAgICAgICAgICAgZm9yZWFjaCAoJHZhbHVlIGFzICRzdWJWYWx1ZSkgewogICAgICAgICAgICAgICAgLy8gUmVjdXJzaXZlbHkgZ2V0IHRoZSBhdHRyaWJ1dGUgZm9yIHRoZSBzZXQuIFRoZSBkZXB0aCBwYXJhbSBvbmx5IGFsbG93cyBvbmUgbGV2ZWwgb2YgcmVjdXJzaW9uCiAgICAgICAgICAgICAgICAkc3ViQXR0cmlidXRlID0gc3RhdGljOjpmYWN0b3J5KCRzdWJWYWx1ZSwgJGRlcHRoICsgMSk7CgogICAgICAgICAgICAgICAgLy8gVGhlIHR5cGUgb2YgZWFjaCBzdWItdmFsdWUgbXVzdCBiZSB0aGUgc2FtZSwgb3IgZWxzZSB0aGUgd2hvbGUgYXJyYXkgaXMgaW52YWxpZAogICAgICAgICAgICAgICAgaWYgKCRzZXRUeXBlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICAgICAgJHNldFR5cGUgPSAkc3ViQXR0cmlidXRlLT50eXBlOwogICAgICAgICAgICAgICAgfSBlbHNlaWYgKCRzZXRUeXBlICE9PSAkc3ViQXR0cmlidXRlLT50eXBlKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignVGhlIHNldCBkaWQgbm90IGNvbnRhaW4gdmFsdWVzIG9mIGEgdW5pZm9ybSB0eXBlLicpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIFNhdmUgdGhlIHZhbHVlIGZvciB0aGUgdXBzdHJlYW0gYXJyYXkKICAgICAgICAgICAgICAgICRhdHRyaWJ1dGUtPnZhbHVlW10gPSAoc3RyaW5nKSAkc3ViQXR0cmlidXRlLT52YWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSB0eXBlIGlzIGNoYW5nZWQgdG8gYmUgYSBzZXQgdHlwZQogICAgICAgICAgICAkYXR0cmlidXRlLT50eXBlID0gJHNldFR5cGUgLiBzZWxmOjpTRVRfU1VGRklYOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRhdHRyaWJ1dGUgPSBuZXcgQXR0cmlidXRlKChzdHJpbmcpICR2YWx1ZSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGF0dHJpYnV0ZTsKICAgIH0KCiAgICAvKioKICAgICAqIEluc3RhbnRpYXRlcyBhIER5bmFtb0RCIGF0dHJpYnV0ZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfGFycmF5ICR2YWx1ZSBUaGUgRHluYW1vREIgYXR0cmlidXRlIHZhbHVlCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICR0eXBlICBUaGUgRHluYW1vREIgYXR0cmlidXRlIHR5cGUgKE4sIFMsIEIsIE5TLCBTUywgQlMpCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkdmFsdWUsICR0eXBlID0gVHlwZTo6U1RSSU5HKQogICAgewogICAgICAgICR0aGlzLT5zZXRWYWx1ZSgkdmFsdWUpOwogICAgICAgICR0aGlzLT5zZXRUeXBlKCR0eXBlKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnQgdGhlIGF0dHJpYnV0ZSB0byBhIHN0cmluZwogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkKICAgIHsKICAgICAgICByZXR1cm4gaW1wbG9kZSgnLCAnLCAoYXJyYXkpICR0aGlzLT52YWx1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXRyaWV2ZSB0aGUgZm9ybWF0dGVkIGRhdGEKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmb3JtYXQgVGhlIGZvcm1hdCB0byBhcHBseSB0byB0aGUgZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIFRoZSBmb3JtYXR0ZWQgdmVyc2lvbiBvZiB0aGUgZGF0YQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Rm9ybWF0dGVkKCRmb3JtYXQgPSBBdHRyaWJ1dGU6OkZPUk1BVF9QVVQpCiAgICB7CiAgICAgICAgc3dpdGNoICgkZm9ybWF0KSB7CiAgICAgICAgICAgIGNhc2Ugc2VsZjo6Rk9STUFUX0VYUEVDVEVEOgogICAgICAgICAgICAgICAgLy8gbm8gYnJlYWsKICAgICAgICAgICAgY2FzZSBzZWxmOjpGT1JNQVRfVVBEQVRFOgogICAgICAgICAgICAgICAgJGZvcm1hdHRlZCA9IGFycmF5KCdWYWx1ZScgPT4gYXJyYXkoJHRoaXMtPnR5cGUgPT4gJHRoaXMtPnZhbHVlKSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBzZWxmOjpGT1JNQVRfUFVUOgogICAgICAgICAgICAgICAgLy8gbm8gYnJlYWsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICRmb3JtYXR0ZWQgPSBhcnJheSgkdGhpcy0+dHlwZSA9PiAkdGhpcy0+dmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRmb3JtYXR0ZWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXRyaWV2ZSB0aGUgYXR0cmlidXRlIHR5cGUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBUaGUgYXR0cmlidXRlIHR5cGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFR5cGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+dHlwZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHJpZXZlIHRoZSBhdHRyaWJ1dGUgdmFsdWUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBUaGUgYXR0cmlidXRlIHZhbHVlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRWYWx1ZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT52YWx1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgYXR0cmlidXRlIHR5cGUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0eXBlIFRoZSBhdHRyaWJ1dGUgdHlwZSB0byBzZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRUeXBlKCR0eXBlKQogICAgewogICAgICAgIGlmIChpbl9hcnJheSgkdHlwZSwgVHlwZTo6dmFsdWVzKCkpKSB7CiAgICAgICAgICAgICR0aGlzLT50eXBlID0gJHR5cGU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignQW4gYXR0cmlidXRlIHR5cGUgbXVzdCBiZSBhIHZhbGlkIER5bmFtb0RCIHR5cGUuJyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGF0dHJpYnV0ZSB2YWx1ZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8YXJyYXkgJHZhbHVlIFRoZSBhdHRyaWJ1dGUgdmFsdWUKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRWYWx1ZSgkdmFsdWUpCiAgICB7CiAgICAgICAgaWYgKGlzX3N0cmluZygkdmFsdWUpIHx8IGlzX2FycmF5KCR2YWx1ZSkpIHsKICAgICAgICAgICAgJHRoaXMtPnZhbHVlID0gJHZhbHVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0FuIGF0dHJpYnV0ZSB2YWx1ZSBtYXkgb25seSBiZSBhIHN0cmluZyBvciBhcnJheS4nKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRvQXJyYXkoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0Rm9ybWF0dGVkKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Model/BatchRequest/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Model/BatchRequest/AbstractWriteRequest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0OwoKLyoqCiAqIEEgYmFzZSBiYXRjaCB3cml0ZSByZXF1ZXN0IGRlZmluaW5nIHRoZSBhYmlsaXR5IHRvIGdldCB0aGUgdGFibGUgbmFtZQogKi8KYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RXcml0ZVJlcXVlc3QgaW1wbGVtZW50cyBXcml0ZVJlcXVlc3RJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBUaGUgbmFtZSBvZiB0aGUgRHluYW1vREIgdGFibGUKICAgICAqLwogICAgcHJvdGVjdGVkICR0YWJsZU5hbWU7CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXREb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUYWJsZU5hbWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+dGFibGVOYW1lOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Model/BatchRequest/DeleteRequest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0OwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEF3c1xEeW5hbW9EYlxNb2RlbFxBdHRyaWJ1dGU7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXEFic3RyYWN0Q29tbWFuZDsKCi8qKgogKiBSZXByZXNlbnRzIGEgYmF0Y2ggZGVsZXRlIHJlcXVlc3QuIEl0IGlzIGNvbXBvc2VkIG9mIGEgdGFibGUgbmFtZSBhbmQga2V5CiAqLwpjbGFzcyBEZWxldGVSZXF1ZXN0IGV4dGVuZHMgQWJzdHJhY3RXcml0ZVJlcXVlc3QKewogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IFRoZSBrZXkgb2YgdGhlIGl0ZW0gdG8gZGVsZXRlCiAgICAgKi8KICAgIHByb3RlY3RlZCAka2V5OwoKICAgIC8qKgogICAgICogRmFjdG9yeSB0aGF0IGNyZWF0ZXMgYSBEZWxldGVSZXF1ZXN0IGZyb20gYSBEZWxldGVJdGVtIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcGFyYW0gQWJzdHJhY3RDb21tYW5kICRjb21tYW5kIFRoZSBjb21tYW5kIHRvIGNyZWF0ZSB0aGUgcmVxdWVzdCBmcm9tCiAgICAgKgogICAgICogQHJldHVybiBQdXRSZXF1ZXN0CiAgICAgKgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaWYgdGhlIGNvbW1hbmQgaXMgbm90IGEgRGVsZXRlSXRlbSBjb21tYW5kCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbUNvbW1hbmQoQWJzdHJhY3RDb21tYW5kICRjb21tYW5kKQogICAgewogICAgICAgIGlmICgkY29tbWFuZC0+Z2V0TmFtZSgpICE9PSAnRGVsZXRlSXRlbScpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigpOwogICAgICAgIH0KCiAgICAgICAgLy8gR2V0IHJlbGV2YW50IGRhdGEgZm9yIGEgRGVsZXRlUmVxdWVzdAogICAgICAgICR0YWJsZSA9ICRjb21tYW5kLT5nZXQoJ1RhYmxlTmFtZScpOwogICAgICAgICRrZXkgICA9ICRjb21tYW5kLT5nZXQoJ0tleScpOwoKICAgICAgICAvLyBSZXR1cm4gYW4gaW5zdGFudGlhdGVkIERlbGV0ZVJlcXVlc3Qgb2JqZWN0CiAgICAgICAgcmV0dXJuIG5ldyBEZWxldGVSZXF1ZXN0KCRrZXksICR0YWJsZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RzIGEgbmV3IGRlbGV0ZSByZXF1ZXN0CiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICAka2V5ICAgICAgIFRoZSBrZXkgb2YgdGhlIGl0ZW0gdG8gZGVsZXRlCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0YWJsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIHRhYmxlIHdoaWNoIGhhcyB0aGUgaXRlbQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJGtleSwgJHRhYmxlTmFtZSkKICAgIHsKICAgICAgICAkdGhpcy0+a2V5ICAgICAgID0gJGtleTsKICAgICAgICAkdGhpcy0+dGFibGVOYW1lID0gJHRhYmxlTmFtZTsKICAgIH0KCiAgICAvKioKICAgICAqIFRoZSBwYXJhbWV0ZXIgZm9ybSBvZiB0aGUgcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRvQXJyYXkoKQogICAgewogICAgICAgICRrZXkgPSAkdGhpcy0+a2V5OwogICAgICAgIGZvcmVhY2ggKCRrZXkgYXMgJiRlbGVtZW50KSB7CiAgICAgICAgICAgIGlmICgkZWxlbWVudCBpbnN0YW5jZW9mIEF0dHJpYnV0ZSkgewogICAgICAgICAgICAgICAgJGVsZW1lbnQgPSAkZWxlbWVudC0+dG9BcnJheSgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXJyYXkoJ0RlbGV0ZVJlcXVlc3QnID0+IGFycmF5KCdLZXknID0+ICRrZXkpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUga2V5CiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0S2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmtleTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Model/BatchRequest/PutRequest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0OwoKdXNlIEF3c1xEeW5hbW9EYlxNb2RlbFxJdGVtOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBYnN0cmFjdENvbW1hbmQ7CgovKioKICogUmVwcmVzZW50cyBhIGJhdGNoIHB1dCByZXF1ZXN0LiBJdCBpcyBjb21wb3NlZCBvZiBhIHRhYmxlIG5hbWUgYW5kIGl0ZW0KICovCmNsYXNzIFB1dFJlcXVlc3QgZXh0ZW5kcyBBYnN0cmFjdFdyaXRlUmVxdWVzdAp7CiAgICAvKioKICAgICAqIEB2YXIgSXRlbSBUaGUgaXRlbSB0byBiZSBpbnNlcnRlZCBpbnRvIHRoZSBEeW5hbW9EQiB0YWJsZQogICAgICovCiAgICBwcm90ZWN0ZWQgJGl0ZW07CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IHRoYXQgY3JlYXRlcyBhIFB1dFJlcXVlc3QgZnJvbSBhIFB1dEl0ZW0gY29tbWFuZAogICAgICoKICAgICAqIEBwYXJhbSBBYnN0cmFjdENvbW1hbmQgJGNvbW1hbmQgVGhlIGNvbW1hbmQgdG8gY3JlYXRlIHRoZSByZXF1ZXN0IGZyb20KICAgICAqCiAgICAgKiBAcmV0dXJuIFB1dFJlcXVlc3QKICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBpZiB0aGUgY29tbWFuZCBpcyBub3QgYSBQdXRJdGVtIGNvbW1hbmQKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmcm9tQ29tbWFuZChBYnN0cmFjdENvbW1hbmQgJGNvbW1hbmQpCiAgICB7CiAgICAgICAgaWYgKCRjb21tYW5kLT5nZXROYW1lKCkgIT09ICdQdXRJdGVtJykgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCk7CiAgICAgICAgfQoKICAgICAgICAvLyBHZXQgcmVsZXZhbnQgZGF0YSBmb3IgYSBQdXRSZXF1ZXN0CiAgICAgICAgJHRhYmxlID0gJGNvbW1hbmQtPmdldCgnVGFibGVOYW1lJyk7CiAgICAgICAgJGl0ZW0gID0gJGNvbW1hbmQtPmdldCgnSXRlbScpOwoKICAgICAgICAvLyBDcmVhdGUgYW4gSXRlbSBvYmplY3QgZnJvbSB0aGUgJ2l0ZW0nIGNvbW1hbmQgZGF0YQogICAgICAgIGlmICghKCRpdGVtIGluc3RhbmNlb2YgSXRlbSkpIHsKICAgICAgICAgICAgJGl0ZW0gPSBuZXcgSXRlbSgkaXRlbSwgJHRhYmxlKTsKICAgICAgICB9CgogICAgICAgIC8vIFJldHVybiBhbiBpbnN0YW50aWF0ZWQgUHV0UmVxdWVzdCBvYmplY3QKICAgICAgICByZXR1cm4gbmV3IFB1dFJlcXVlc3QoJGl0ZW0sICR0YWJsZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RzIGEgbmV3IHB1dCByZXF1ZXN0CiAgICAgKgogICAgICogQHBhcmFtIEl0ZW0gICAkaXRlbSAgICAgIFRoZSBpdGVtIHRvIHB1dCBpbnRvIER5bmFtb0RCCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0YWJsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIHRhYmxlIHdoaWNoIGhhcyB0aGUgaXRlbQogICAgICoKICAgICAqIEB0aHJvdyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaWYgdGhlIHRhYmxlIG5hbWUgaXMgbm90IHByb3ZpZGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChJdGVtICRpdGVtLCAkdGFibGVOYW1lID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+aXRlbSAgICAgID0gJGl0ZW07CiAgICAgICAgJHRoaXMtPnRhYmxlTmFtZSA9ICR0YWJsZU5hbWUgPzogJGl0ZW0tPmdldFRhYmxlTmFtZSgpOwoKICAgICAgICBpZiAoISR0aGlzLT50YWJsZU5hbWUpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignQSB0YWJsZSBuYW1lIGlzIHJlcXVpcmVkIHRvIGNyZWF0ZSBhIFB1dFJlcXVlc3QuJyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogVGhlIHBhcmFtZXRlciBmb3JtIG9mIHRoZSByZXF1ZXN0CiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdG9BcnJheSgpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KCdQdXRSZXF1ZXN0JyA9PiBhcnJheSgnSXRlbScgPT4gJHRoaXMtPml0ZW0tPnRvQXJyYXkoKSkpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBpdGVtCiAgICAgKgogICAgICogQHJldHVybiBJdGVtCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJdGVtKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPml0ZW07CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Model/BatchRequest/UnprocessedRequest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0OwoKLyoqCiAqIFJlcHJlc2VudHMgYSBiYXRjaCBkZWxldGUgcmVxdWVzdC4gSXQgaXMgY29tcG9zZWQgb2YgYSB0YWJsZSBuYW1lIGFuZCBrZXkKICovCmNsYXNzIFVucHJvY2Vzc2VkUmVxdWVzdCBleHRlbmRzIEFic3RyYWN0V3JpdGVSZXF1ZXN0CnsKICAgIC8qKgogICAgICogQHZhciBhcnJheSBUaGUgcmF3IGRhdGEgZnJvbSBhIGJhdGNoIHdyaXRlIHJlcXVlc3QncyByZXNwb25zZQogICAgICovCiAgICBwcm90ZWN0ZWQgJGRhdGE7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gYXJyYXkgICRkYXRhCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0YWJsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIER5bmFtb0RCIHRhYmxlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChhcnJheSAkZGF0YSwgJHRhYmxlTmFtZSkKICAgIHsKICAgICAgICAkdGhpcy0+ZGF0YSAgICAgID0gJGRhdGE7CiAgICAgICAgJHRoaXMtPnRhYmxlTmFtZSA9ICR0YWJsZU5hbWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBUaGUgcGFyYW1ldGVyIGZvcm0gb2YgdGhlIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0b0FycmF5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRhdGE7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Model/BatchRequest/WriteRequestBatch.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0OwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEF3c0NsaWVudEludGVyZmFjZTsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEF3c1xEeW5hbW9EYlxFeGNlcHRpb25cVW5wcm9jZXNzZWRXcml0ZVJlcXVlc3RzRXhjZXB0aW9uOwp1c2UgQXdzXER5bmFtb0RiXE1vZGVsXEl0ZW07CnVzZSBHdXp6bGVcQmF0Y2hcQWJzdHJhY3RCYXRjaERlY29yYXRvcjsKdXNlIEd1enpsZVxCYXRjaFxCYXRjaEJ1aWxkZXI7CnVzZSBHdXp6bGVcQmF0Y2hcQmF0Y2hTaXplRGl2aXNvcjsKdXNlIEd1enpsZVxCYXRjaFxGbHVzaGluZ0JhdGNoOwp1c2UgR3V6emxlXEJhdGNoXEV4Y2VwdGlvblxCYXRjaFRyYW5zZmVyRXhjZXB0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBYnN0cmFjdENvbW1hbmQ7CgovKioKICogVGhlIEJhdGNoV3JpdGVJdGVtUXVldWUgaXMgYSBCYXRjaERlY29yYXRvciBmb3IgR3V6emxlIHRoYXQgaW1wbGVtZW50cyBhCiAqIHF1ZXVlIGZvciBzZW5kaW5nIER5bmFtb0RCIERlbGV0ZUl0ZW0gYW5kIFB1dEl0ZW0gcmVxdWVzdHMuIFlvdSBjYW4gYWRkCiAqIHJlcXVlc3RzIHRvIHRoZSBxdWV1ZSB1c2luZyB0aGUgZWFzeS10by11c2UgRGVsZXRlUmVxdWVzdCBhbmQgUHV0UmVxdWVzdAogKiBvYmplY3RzLCBvciB5b3UgY2FuIGFkZCBEZWxldGVJdGVtIGFuZCBQdXRJdGVtIGNvbW1hbmRzIHdoaWNoIHdpbGwgYmUKICogY29udmVydGVkIGludG8gdGhlIHByb3BlciBmb3JtYXQgZm9yIHlvdS4gVGhpcyBxdWV1ZSBhdHRlbXB0cyB0byBzZW5kIHRoZQogKiByZXF1ZXN0cyB3aXRoIHRoZSBmZXdlc3Qgc2VydmljZSBjYWxscyBhcyBwb3NzaWJsZSBhbmQgYWxzbyByZS1xdWV1ZXMgYW55CiAqIHVucHJvY2Vzc2VkIGl0ZW1zLgogKi8KY2xhc3MgV3JpdGVSZXF1ZXN0QmF0Y2ggZXh0ZW5kcyBBYnN0cmFjdEJhdGNoRGVjb3JhdG9yCnsKICAgIC8qKgogICAgICogRmFjdG9yeSBmb3IgY3JlYXRpbmcgYSBEeW5hbW9EQiBCYXRjaFdyaXRlSXRlbVF1ZXVlCiAgICAgKgogICAgICogQHBhcmFtIEF3c0NsaWVudEludGVyZmFjZSAkY2xpZW50ICAgIENsaWVudCB1c2VkIHRvIHRyYW5zZmVyIHJlcXVlc3RzCiAgICAgKiBAcGFyYW0gaW50ICAgICAgICAgICAgICAgICRiYXRjaFNpemUgU2l6ZSBvZiBlYWNoIGJhdGNoLiBUaGUgV3JpdGVSZXF1ZXN0QmF0Y2ggd29ya3MgbW9zdCBlZmZpY2llbnRseSB3aXRoIGEKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXRjaCBzaXplIHRoYXQgaXMgYSBtdWx0aXBsZSBvZiAyNQogICAgICogQHBhcmFtIG1peGVkICRub3RpZnkgQ2FsbGJhY2sgdG8gYmUgcnVuIGFmdGVyIGVhY2ggZmx1c2gKICAgICAqCiAgICAgKiBAcmV0dXJuIFdyaXRlUmVxdWVzdEJhdGNoCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgKICAgICAgICBBd3NDbGllbnRJbnRlcmZhY2UgJGNsaWVudCwKICAgICAgICAkYmF0Y2hTaXplID0gV3JpdGVSZXF1ZXN0QmF0Y2hUcmFuc2Zlcjo6QkFUQ0hfV1JJVEVfTUFYX1NJWkUsCiAgICAgICAgJG5vdGlmeSA9IG51bGwKICAgICkgewogICAgICAgICRidWlsZGVyID0gQmF0Y2hCdWlsZGVyOjpmYWN0b3J5KCkKICAgICAgICAgICAgLT5jcmVhdGVCYXRjaGVzV2l0aChuZXcgQmF0Y2hTaXplRGl2aXNvcigkYmF0Y2hTaXplKSkKICAgICAgICAgICAgLT50cmFuc2ZlcldpdGgobmV3IFdyaXRlUmVxdWVzdEJhdGNoVHJhbnNmZXIoJGNsaWVudCkpOwoKICAgICAgICBpZiAoJG5vdGlmeSkgewogICAgICAgICAgICAkYnVpbGRlci0+bm90aWZ5KCRub3RpZnkpOwogICAgICAgIH0KCiAgICAgICAgJGJhdGNoID0gbmV3IHNlbGYoJGJ1aWxkZXItPmJ1aWxkKCkpOwogICAgICAgICRiYXRjaCA9IG5ldyBGbHVzaGluZ0JhdGNoKCRiYXRjaCwgJGJhdGNoU2l6ZSk7CgogICAgICAgIHJldHVybiAkYmF0Y2g7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGQoJGl0ZW0pCiAgICB7CiAgICAgICAgaWYgKCRpdGVtIGluc3RhbmNlb2YgQWJzdHJhY3RDb21tYW5kKSB7CiAgICAgICAgICAgIC8vIENvbnZlcnQgUHV0SXRlbSBhbmQgRGVsZXRlSXRlbSBpbnRvIHRoZSBjb3JyZWN0IGZvcm1hdAogICAgICAgICAgICAkbmFtZSA9ICRpdGVtLT5nZXROYW1lKCk7CiAgICAgICAgICAgIGlmIChpbl9hcnJheSgkbmFtZSwgYXJyYXkoJ1B1dEl0ZW0nLCAnRGVsZXRlSXRlbScpKSkgewogICAgICAgICAgICAgICAgJGNsYXNzID0gX19OQU1FU1BBQ0VfXyAuICdcXCcgLiBzdHJfcmVwbGFjZSgnSXRlbScsICdSZXF1ZXN0JywgJG5hbWUpOwogICAgICAgICAgICAgICAgJGl0ZW0gID0gJGNsYXNzOjpmcm9tQ29tbWFuZCgkaXRlbSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdUaGUgY29tbWFuZCBwcm92aWRlZCB3YXMgbm90IGEgUHV0SXRlbSBvciBEZWxldGVJdGVtIGNvbW1hbmQuJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICghKCRpdGVtIGluc3RhbmNlb2YgV3JpdGVSZXF1ZXN0SW50ZXJmYWNlKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdUaGUgaXRlbSBhcmUgYXJlIHRyeWluZyB0byBhZGQgdG8gdGhlIGJhdGNoIHF1ZXVlIGlzIGludmFsaWQuJyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPmRlY29yYXRlZEJhdGNoLT5hZGQoJGl0ZW0pOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZmx1c2goKQogICAgewogICAgICAgIC8vIEZsdXNoIHRoZSBxdWV1ZQogICAgICAgICRpdGVtcyA9IGFycmF5KCk7CiAgICAgICAgd2hpbGUgKCEkdGhpcy0+ZGVjb3JhdGVkQmF0Y2gtPmlzRW1wdHkoKSkgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgJGl0ZW1zID0gYXJyYXlfbWVyZ2UoJGl0ZW1zLCAkdGhpcy0+ZGVjb3JhdGVkQmF0Y2gtPmZsdXNoKCkpOwogICAgICAgICAgICB9IGNhdGNoIChCYXRjaFRyYW5zZmVyRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICAgICAkdW5wcm9jZXNzZWQgPSAkZS0+Z2V0UHJldmlvdXMoKTsKICAgICAgICAgICAgICAgIGlmICgkdW5wcm9jZXNzZWQgaW5zdGFuY2VvZiBVbnByb2Nlc3NlZFdyaXRlUmVxdWVzdHNFeGNlcHRpb24pIHsKICAgICAgICAgICAgICAgICAgICAvLyBIYW5kbGVzIHRoZSBVbnByb2Nlc3NlZEl0ZW1zRXhjZXB0aW9uIHRoYXQgbWF5IG9jY3VyIGZvcgogICAgICAgICAgICAgICAgICAgIC8vIHRocm90dGxlZCBpdGVtcyB0aGUgYmF0Y2guIFRoZXNlIGFyZSByZS1xdWV1ZWQgaGVyZQogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCR1bnByb2Nlc3NlZCBhcyAkdW5wcm9jZXNzZWRJdGVtKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5hZGQoJHVucHJvY2Vzc2VkSXRlbSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBSZS10aHJvdyB0aGUgZXhjZXB0aW9uIGlmIG5vdCBoYW5kbGVkCiAgICAgICAgICAgICAgICAgICAgdGhyb3cgJGU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkaXRlbXM7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Model/BatchRequest/WriteRequestBatchTransfer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0OwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEF3c0NsaWVudEludGVyZmFjZTsKdXNlIEF3c1xDb21tb25cRW51bVxVYVN0cmluZyBhcyBVYTsKdXNlIEF3c1xEeW5hbW9EYlxFeGNlcHRpb25cRHluYW1vRGJFeGNlcHRpb247CnVzZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uXFVucHJvY2Vzc2VkV3JpdGVSZXF1ZXN0c0V4Y2VwdGlvbjsKdXNlIEd1enpsZVxCYXRjaFxCYXRjaFRyYW5zZmVySW50ZXJmYWNlOwp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cRXhjZXB0aW9uQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcRW50aXR5RW5jbG9zaW5nUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKCi8qKgogKiBUcmFuc2ZlciBsb2dpYyBmb3IgZXhlY3V0aW5nIHRoZSB3cml0ZSByZXF1ZXN0IGJhdGNoCiAqLwpjbGFzcyBXcml0ZVJlcXVlc3RCYXRjaFRyYW5zZmVyIGltcGxlbWVudHMgQmF0Y2hUcmFuc2ZlckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyBhbGxvd2VkIGluIGEgQmF0Y2hXcml0ZUl0ZW0gb3BlcmF0aW9uCiAgICAgKi8KICAgIGNvbnN0IEJBVENIX1dSSVRFX01BWF9TSVpFID0gMjU7CgogICAgLyoqCiAgICAgKiBAdmFyIEF3c0NsaWVudEludGVyZmFjZSBUaGUgRHluYW1vREIgY2xpZW50IGZvciBkb2luZyB0cmFuc2ZlcnMKICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RzIGEgdHJhbnNmZXIgdXNpbmcgdGhlIGluamVjdGVkIGNsaWVudAogICAgICoKICAgICAqIEBwYXJhbSBBd3NDbGllbnRJbnRlcmZhY2UgJGNsaWVudAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoQXdzQ2xpZW50SW50ZXJmYWNlICRjbGllbnQpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9ICRjbGllbnQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2ZlcihhcnJheSAkYmF0Y2gpCiAgICB7CiAgICAgICAgLy8gQ3JlYXRlIGEgY29udGFpbmVyIGV4Y2VwdGlvbiBmb3IgYW55IHVucHJvY2Vzc2VkIGl0ZW1zCiAgICAgICAgJHVucHJvY2Vzc2VkID0gbmV3IFVucHJvY2Vzc2VkV3JpdGVSZXF1ZXN0c0V4Y2VwdGlvbigpOwoKICAgICAgICAvLyBFeGVjdXRlIHRoZSB0cmFuc2ZlciBsb2dpYwogICAgICAgICR0aGlzLT5wZXJmb3JtVHJhbnNmZXIoJGJhdGNoLCAkdW5wcm9jZXNzZWQpOwoKICAgICAgICAvLyBUaHJvdyBhbiBleGNlcHRpb24gY29udGFpbmluZyB0aGUgdW5wcm9jZXNzZWQgaXRlbXMgaWYgdGhlcmUgYXJlIGFueQogICAgICAgIGlmIChjb3VudCgkdW5wcm9jZXNzZWQpKSB7CiAgICAgICAgICAgIHRocm93ICR1bnByb2Nlc3NlZDsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBUcmFuc2ZlciBhIGJhdGNoIG9mIHJlcXVlc3RzIGFuZCBjb2xsZWN0IGFueSB1bnByb2Nlc3NlZCBpdGVtcwogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhdGNoICAgICAgICAgICAgICAgQSBiYXRjaCBvZiB3cml0ZSByZXF1ZXN0cwogICAgICogQHBhcmFtIFVucHJvY2Vzc2VkV3JpdGVSZXF1ZXN0c0V4Y2VwdGlvbiAkdW5wcm9jZXNzZWRSZXF1ZXN0cyBDb2xsZWN0aW9uIG9mIHVucHJvY2Vzc2VkIGl0ZW1zCiAgICAgKgogICAgICogQHRocm93cyBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cRXhjZXB0aW9uQ29sbGVjdGlvbgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcGVyZm9ybVRyYW5zZmVyKAogICAgICAgIGFycmF5ICRiYXRjaCwKICAgICAgICBVbnByb2Nlc3NlZFdyaXRlUmVxdWVzdHNFeGNlcHRpb24gJHVucHJvY2Vzc2VkUmVxdWVzdHMKICAgICkgewogICAgICAgIC8vIERvIG5vdGhpbmcgaWYgdGhlIGJhdGNoIGlzIGVtcHR5CiAgICAgICAgaWYgKGVtcHR5KCRiYXRjaCkpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgLy8gQ2h1bmsgdGhlIGFycmF5IGFuZCBwcmVwYXJlIGEgc2V0IG9mIHBhcmFsbGVsIGNvbW1hbmRzCiAgICAgICAgJGNvbW1hbmRzID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoIChhcnJheV9jaHVuaygkYmF0Y2gsIHNlbGY6OkJBVENIX1dSSVRFX01BWF9TSVpFKSBhcyAkY2h1bmspIHsKICAgICAgICAgICAgLy8gQ29udmVydCB0aGUgcmVxdWVzdCBpdGVtcyBpbnRvIHRoZSBmb3JtYXQgcmVxdWlyZWQgYnkgdGhlIGNsaWVudAogICAgICAgICAgICAkaXRlbXMgPSBhcnJheSgpOwogICAgICAgICAgICBmb3JlYWNoICgkY2h1bmsgYXMgJGl0ZW0pIHsKICAgICAgICAgICAgICAgIGlmICgkaXRlbSBpbnN0YW5jZW9mIEFic3RyYWN0V3JpdGVSZXF1ZXN0KSB7CiAgICAgICAgICAgICAgICAgICAgLyoqIEB2YXIgJGl0ZW0gQWJzdHJhY3RXcml0ZVJlcXVlc3QgKi8KICAgICAgICAgICAgICAgICAgICAkdGFibGUgPSAkaXRlbS0+Z2V0VGFibGVOYW1lKCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc3NldCgkaXRlbXNbJHRhYmxlXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGl0ZW1zWyR0YWJsZV0gPSBhcnJheSgpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkaXRlbXNbJHRhYmxlXVtdID0gJGl0ZW0tPnRvQXJyYXkoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBCYXRjaFdyaXRlSXRlbSByZXF1ZXN0CiAgICAgICAgICAgICRjb21tYW5kc1tdID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnQmF0Y2hXcml0ZUl0ZW0nLCBhcnJheSgKICAgICAgICAgICAgICAgICdSZXF1ZXN0SXRlbXMnID0+ICRpdGVtcywKICAgICAgICAgICAgICAgIFVhOjpPUFRJT04gICAgID0+IFVhOjpCQVRDSAogICAgICAgICAgICApKTsKICAgICAgICB9CgogICAgICAgIC8vIEV4ZWN1dGUgdGhlIGNvbW1hbmRzIGFuZCBoYW5kbGUgZXhjZXB0aW9ucwogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRjb21tYW5kcyA9ICR0aGlzLT5jbGllbnQtPmV4ZWN1dGUoJGNvbW1hbmRzKTsKICAgICAgICAgICAgJHRoaXMtPmdldFVucHJvY2Vzc2VkUmVxdWVzdHNGcm9tQ29tbWFuZHMoJGNvbW1hbmRzLCAkdW5wcm9jZXNzZWRSZXF1ZXN0cyk7CiAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uQ29sbGVjdGlvbiAkZXhjZXB0aW9ucykgewogICAgICAgICAgICAvLyBDcmVhdGUgYSBjb250YWluZXIgZXhjZXB0aW9uIGZvciBhbnkgdW5oYW5kbGVkICh0cnVlKSBleGNlcHRpb25zCiAgICAgICAgICAgICR1bmhhbmRsZWRFeGNlcHRpb25zID0gbmV3IEV4Y2VwdGlvbkNvbGxlY3Rpb24oKTsKCiAgICAgICAgICAgIC8vIExvb3AgdGhyb3VnaCBjYXVnaHQgZXhjZXB0aW9ucyBhbmQgaGFuZGxlIFJlcXVlc3RUb29MYXJnZSBzY2VuYXJpb3MKICAgICAgICAgICAgLyoqIEB2YXIgJGUgRHluYW1vRGJFeGNlcHRpb24gKi8KICAgICAgICAgICAgZm9yZWFjaCAoJGV4Y2VwdGlvbnMgYXMgJGUpIHsKICAgICAgICAgICAgICAgIGlmICgkZSBpbnN0YW5jZW9mIER5bmFtb0RiRXhjZXB0aW9uICYmICRlLT5nZXRTdGF0dXNDb2RlKCkgPT09IDQxMykgewogICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0ID0gJGUtPmdldFJlc3BvbnNlKCktPmdldFJlcXVlc3QoKTsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cmV0cnlMYXJnZVJlcXVlc3QoJHJlcXVlc3QsICR1bnByb2Nlc3NlZFJlcXVlc3RzKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJHVuaGFuZGxlZEV4Y2VwdGlvbnMtPmFkZCgkZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIElmIHRoZXJlIHdlcmUgdW5oYW5kbGVkIGV4Y2VwdGlvbnMsIHRocm93IHRoZW0KICAgICAgICAgICAgaWYgKGNvdW50KCR1bmhhbmRsZWRFeGNlcHRpb25zKSkgewogICAgICAgICAgICAgICAgdGhyb3cgJHVuaGFuZGxlZEV4Y2VwdGlvbnM7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBIYW5kbGVzIHVucHJvY2Vzc2VkIGl0ZW1zIGZyb20gdGhlIGV4ZWN1dGVkIGNvbW1hbmRzLiBVbnByb2Nlc3NlZCBpdGVtcwogICAgICogY2FuIGJlIGNvbGxlY3RlZCBhbmQgdGhyb3duIGluIGFuIFVucHJvY2Vzc2VkV3JpdGVSZXF1ZXN0c0V4Y2VwdGlvbgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbW1hbmRzICAgICAgICAgICAgQXJyYXkgb2YgY29tbWFuZHMKICAgICAqIEBwYXJhbSBVbnByb2Nlc3NlZFdyaXRlUmVxdWVzdHNFeGNlcHRpb24gJHVucHJvY2Vzc2VkUmVxdWVzdHMgQ29sbGVjdGlvbiBvZiB1bnByb2Nlc3NlZCBpdGVtcwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0VW5wcm9jZXNzZWRSZXF1ZXN0c0Zyb21Db21tYW5kcygKICAgICAgICBhcnJheSAkY29tbWFuZHMsCiAgICAgICAgVW5wcm9jZXNzZWRXcml0ZVJlcXVlc3RzRXhjZXB0aW9uICR1bnByb2Nlc3NlZFJlcXVlc3RzCiAgICApIHsKICAgICAgICAvKiogQHZhciAkY29tbWFuZCBDb21tYW5kSW50ZXJmYWNlICovCiAgICAgICAgZm9yZWFjaCAoJGNvbW1hbmRzIGFzICRjb21tYW5kKSB7CiAgICAgICAgICAgIGlmICgkY29tbWFuZCBpbnN0YW5jZW9mIENvbW1hbmRJbnRlcmZhY2UgJiYgJGNvbW1hbmQtPmlzRXhlY3V0ZWQoKSkgewogICAgICAgICAgICAgICAgJHJlc3VsdCA9ICRjb21tYW5kLT5nZXRSZXN1bHQoKTsKICAgICAgICAgICAgICAgICRpdGVtcyA9ICR0aGlzLT5jb252ZXJ0UmVzdWx0c1RvVW5wcm9jZXNzZWRSZXF1ZXN0cygkcmVzdWx0WydVbnByb2Nlc3NlZEl0ZW1zJ10pOwogICAgICAgICAgICAgICAgZm9yZWFjaCAoJGl0ZW1zIGFzICRyZXF1ZXN0KSB7CiAgICAgICAgICAgICAgICAgICAgJHVucHJvY2Vzc2VkUmVxdWVzdHMtPmFkZEl0ZW0oJHJlcXVlc3QpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogSGFuZGxlcyBleGNlcHRpb25zIGNhdXNlZCBieSB0aGUgcmVxdWVzdCBiZWluZyB0b28gbGFyZ2UgKG92ZXIgMSBNQikuIFRoZQogICAgICogcmVzcG9uc2Ugd2lsbCBoYXZlIGEgc3RhdHVzIGNvZGUgb2YgNDEzLiBJbiB0aGlzIGNhc2UgdGhlIGJhdGNoIHNob3VsZCBiZQogICAgICogc3BsaXQgdXAgaW50byBzbWFsbGVyIGJhdGNoZXMgYW5kIHJldHJpZWQuCiAgICAgKgogICAgICogQHBhcmFtIEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2UgICAkcmVxdWVzdCAgICAgICAgICAgICBUaGUgZmFpbGVkIHJlcXVlc3QKICAgICAqIEBwYXJhbSBVbnByb2Nlc3NlZFdyaXRlUmVxdWVzdHNFeGNlcHRpb24gJHVucHJvY2Vzc2VkUmVxdWVzdHMgQ29sbGVjdGlvbiBvZiB1bnByb2Nlc3NlZCBpdGVtcwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcmV0cnlMYXJnZVJlcXVlc3QoCiAgICAgICAgRW50aXR5RW5jbG9zaW5nUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwKICAgICAgICBVbnByb2Nlc3NlZFdyaXRlUmVxdWVzdHNFeGNlcHRpb24gJHVucHJvY2Vzc2VkUmVxdWVzdHMKICAgICkgewogICAgICAgIC8vIENvbGxlY3QgdGhlIGl0ZW1zIG91dCBmcm9tIHRoZSByZXF1ZXN0IG9iamVjdAogICAgICAgICRpdGVtcyA9IGpzb25fZGVjb2RlKCRyZXF1ZXN0LT5nZXRCb2R5KHRydWUpLCB0cnVlKTsKICAgICAgICAkaXRlbXMgPSAkdGhpcy0+Y29udmVydFJlc3VsdHNUb1VucHJvY2Vzc2VkUmVxdWVzdHMoJGl0ZW1zWydSZXF1ZXN0SXRlbXMnXSk7CgogICAgICAgIC8vIERpdmlkZSBiYXRjaCBpbnRvIHNtYWxsZXIgYmF0Y2hlcyBhbmQgdHJhbnNmZXIgdGhlbSB2aWEgcmVjdXJzaW9uCiAgICAgICAgLy8gTk9URTogRGl2aWRpbmcgdGhlIGJhdGNoIGludG8gMyAoaW5zdGVhZCBvZiAyKSBiYXRjaGVzIHJlc3VsdGVkIGluIGxlc3MgcmVjdXJzaW9uIGR1cmluZyB0ZXN0aW5nCiAgICAgICAgaWYgKCRpdGVtcykgewogICAgICAgICAgICAkbmV3QmF0Y2hlcyA9IGFycmF5X2NodW5rKCRpdGVtcywgY2VpbChjb3VudCgkaXRlbXMpIC8gMykpOwogICAgICAgICAgICBmb3JlYWNoICgkbmV3QmF0Y2hlcyBhcyAkbmV3QmF0Y2gpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5wZXJmb3JtVHJhbnNmZXIoJG5ld0JhdGNoLCAkdW5wcm9jZXNzZWRSZXF1ZXN0cyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDb2xsZWN0cyBhbmQgY3JlYXRlcyB1bnByb2Nlc3NlZCByZXF1ZXN0IG9iamVjdHMgZnJvbSBkYXRhIGNvbGxlY3RlZCBmcm9tIGVycm9uZW91cyBjYXNlcwogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkaXRlbXMgRGF0YSBmb3JtYXR0ZWQgdW5kZXIgIlJlcXVlc3RJdGVtcyIgb3IgIlVucHJvY2Vzc2VkSXRlbXMiIGtleXMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjb252ZXJ0UmVzdWx0c1RvVW5wcm9jZXNzZWRSZXF1ZXN0cyhhcnJheSAkaXRlbXMpCiAgICB7CiAgICAgICAgJHVucHJvY2Vzc2VkID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkaXRlbXMgYXMgJHRhYmxlID0+ICRyZXF1ZXN0cykgewogICAgICAgICAgICBmb3JlYWNoICgkcmVxdWVzdHMgYXMgJHJlcXVlc3QpIHsKICAgICAgICAgICAgICAgICR1bnByb2Nlc3NlZFtdID0gbmV3IFVucHJvY2Vzc2VkUmVxdWVzdCgkcmVxdWVzdCwgJHRhYmxlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR1bnByb2Nlc3NlZDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Model/BatchRequest/WriteRequestInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0OwoKdXNlIEd1enpsZVxDb21tb25cVG9BcnJheUludGVyZmFjZTsKCi8qKgogKiBBbiBpbnRlcmZhY2UgdXNlZCB0byBkZXNjcmliZSBhIGJhdGNoIHdyaXRlIHJlcXVlc3QKICovCmludGVyZmFjZSBXcml0ZVJlcXVlc3RJbnRlcmZhY2UgZXh0ZW5kcyBUb0FycmF5SW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgdGFibGUgbmFtZSB0aGF0IHRoZSB3cml0ZSByZXF1ZXN0IGlzIGZvci4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBUaGUgdGFibGUgbmFtZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VGFibGVOYW1lKCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Model/Item.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcTW9kZWw7Cgp1c2UgR3V6emxlXENvbW1vblxUb0FycmF5SW50ZXJmYWNlOwoKLyoqCiAqIEFtYXpvbiBEeW5hbW9EQiBpdGVtIG1vZGVsCiAqLwpjbGFzcyBJdGVtIGltcGxlbWVudHMgXEFycmF5QWNjZXNzLCBcSXRlcmF0b3JBZ2dyZWdhdGUsIFRvQXJyYXlJbnRlcmZhY2UsIFxDb3VudGFibGUKewogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgJHRhYmxlTmFtZTsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgRGF0YQogICAgICovCiAgICBwcm90ZWN0ZWQgJGRhdGEgPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIGl0ZW0gZnJvbSBhIHNpbXBsaWZpZWQgYXJyYXkKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgICRhdHRyaWJ1dGVzIEFycmF5IG9mIGF0dHJpYnV0ZXMKICAgICAqIEBwYXJhbSBzdHJpbmcgJHRhYmxlTmFtZSAgTmFtZSBvZiB0aGUgdGFibGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVtCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbUFycmF5KGFycmF5ICRhdHRyaWJ1dGVzLCAkdGFibGVOYW1lID0gbnVsbCkKICAgIHsKICAgICAgICBmb3JlYWNoICgkYXR0cmlidXRlcyBhcyAmJHZhbHVlKSB7CiAgICAgICAgICAgICR2YWx1ZSA9IEF0dHJpYnV0ZTo6ZmFjdG9yeSgkdmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG5ldyBzZWxmKCRhdHRyaWJ1dGVzLCAkdGFibGVOYW1lKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRvQXJyYXkoKQogICAgewogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+ZGF0YTsKICAgICAgICBmb3JlYWNoICgkcmVzdWx0IGFzICYkdmFsdWUpIHsKICAgICAgICAgICAgaWYgKCR2YWx1ZSBpbnN0YW5jZW9mIEF0dHJpYnV0ZSkgewogICAgICAgICAgICAgICAgJHZhbHVlID0gJHZhbHVlLT50b0FycmF5KCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQoKICAgIC8qKgogICAgICogQ29uc3RydWN0IGEgbmV3IEl0ZW0KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgICRhdHRyaWJ1dGVzIEFycmF5IG9mIGF0dHJpYnV0ZXMKICAgICAqIEBwYXJhbSBzdHJpbmcgJHRhYmxlTmFtZSAgVGFibGUgb2YgdGhlIGl0ZW0gKGlmIGtub3duKQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJGF0dHJpYnV0ZXMgPSBhcnJheSgpLCAkdGFibGVOYW1lID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+cmVwbGFjZSgkYXR0cmlidXRlcyk7CiAgICAgICAgJHRoaXMtPnRhYmxlTmFtZSA9ICR0YWJsZU5hbWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIG5hbWUgb2YgdGhlIHRhYmxlIGFzc29jaWF0ZWQgd2l0aCB0aGUgaXRlbQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHRhYmxlTmFtZSBUYWJsZSBuYW1lCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRUYWJsZU5hbWUoJHRhYmxlTmFtZSkKICAgIHsKICAgICAgICAkdGhpcy0+dGFibGVOYW1lID0gJHRhYmxlTmFtZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBuYW1lIG9mIHRoZSB0YWJsZSBhc3NvY2lhdGVkIHdpdGggdGhlIGl0ZW0KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUYWJsZU5hbWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+dGFibGVOYW1lOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGF0dHJpYnV0ZSBvYmplY3QgYnkgbmFtZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUgTmFtZSBvZiB0aGUgYXR0cmlidXRlIHRvIHJldHJpZXZlCiAgICAgKgogICAgICogQHJldHVybiBBdHRyaWJ1dGV8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0KCRuYW1lKQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+ZGF0YVskbmFtZV0pID8gJHRoaXMtPmRhdGFbJG5hbWVdIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbGwgb2YgdGhlIGF0dHJpYnV0ZSBuYW1lcyBvZiB0aGUgaXRlbQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGtleXMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheV9rZXlzKCR0aGlzLT5kYXRhKTsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIGEgcGFydGljdWxhciBhdHRyaWJ1dGUgZXhpc3RzIG9uIHRoZSBpdGVtCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkYXR0cmlidXRlIEF0dHJpYnV0ZSBuYW1lIHRvIGNoZWNrCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBoYXMoJGF0dHJpYnV0ZSkKICAgIHsKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPmRhdGFbJGF0dHJpYnV0ZV0pOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFsbCBvZiB0aGUge0BzZWUgQXR0cmlidXRlfSBvYmplY3RzCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWxsKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRhdGE7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYW4gYXR0cmlidXRlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAgICAkbmFtZSAgICAgIE5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB0byBhZGQKICAgICAqIEBwYXJhbSBBdHRyaWJ1dGUgJGF0dHJpYnV0ZSBBdHRyaWJ1dGUgdG8gYWRkCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGQoJG5hbWUsIEF0dHJpYnV0ZSAkYXR0cmlidXRlKQogICAgewogICAgICAgICR0aGlzLT5kYXRhWyRuYW1lXSA9ICRhdHRyaWJ1dGU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBhbGwgb2YgdGhlIGF0dHJpYnV0ZXMKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGF0dHJpYnV0ZXMgQXJyYXkgb2Yge0BzZWUgQXR0cmlidXRlfSBvYmplY3RzCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZXBsYWNlKGFycmF5ICRhdHRyaWJ1dGVzKQogICAgewogICAgICAgIGZvcmVhY2ggKCRhdHRyaWJ1dGVzIGFzICRuYW1lID0+ICRhdHRyaWJ1dGUpIHsKICAgICAgICAgICAgaWYgKCEoJGF0dHJpYnV0ZSBpbnN0YW5jZW9mIEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICRhdHRyaWJ1dGUgPSBuZXcgQXR0cmlidXRlKGN1cnJlbnQoJGF0dHJpYnV0ZSksIGtleSgkYXR0cmlidXRlKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMtPmFkZCgkbmFtZSwgJGF0dHJpYnV0ZSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW1vdmUgYW4gYXR0cmlidXRlIGJ5IG5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIE5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB0byByZW1vdmUKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZSgkbmFtZSkKICAgIHsKICAgICAgICB1bnNldCgkdGhpcy0+ZGF0YVskbmFtZV0pOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHRvdGFsIG51bWJlciBvZiBhdHRyaWJ1dGVzCiAgICAgKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNvdW50KCkKICAgIHsKICAgICAgICByZXR1cm4gY291bnQoJHRoaXMtPmRhdGEpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SXRlcmF0b3IoKQogICAgewogICAgICAgIHJldHVybiBuZXcgXEFycmF5SXRlcmF0b3IoJHRoaXMtPmRhdGEpOwogICAgfQoKICAgIC8qKgogICAgICogQXJyYXlBY2Nlc3MgaW1wbGVtZW50YXRpb24gb2Ygb2Zmc2V0RXhpc3RzKCkKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRvZmZzZXQgQXJyYXkga2V5CiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRFeGlzdHMoJG9mZnNldCkKICAgIHsKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPmRhdGFbJG9mZnNldF0pOwogICAgfQoKICAgIC8qKgogICAgICogQXJyYXlBY2Nlc3MgaW1wbGVtZW50YXRpb24gb2Ygb2Zmc2V0R2V0KCkKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRvZmZzZXQgQXJyYXkga2V5CiAgICAgKgogICAgICogQHJldHVybiBudWxsfG1peGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRHZXQoJG9mZnNldCkKICAgIHsKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPmRhdGFbJG9mZnNldF0pID8gJHRoaXMtPmRhdGFbJG9mZnNldF0gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogQXJyYXlBY2Nlc3MgaW1wbGVtZW50YXRpb24gb2Ygb2Zmc2V0R2V0KCkKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRvZmZzZXQgQXJyYXkga2V5CiAgICAgKiBAcGFyYW0gbWl4ZWQgICR2YWx1ZSAgVmFsdWUgdG8gc2V0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRTZXQoJG9mZnNldCwgJHZhbHVlKQogICAgewogICAgICAgICR0aGlzLT5kYXRhWyRvZmZzZXRdID0gJHZhbHVlOwogICAgfQoKICAgIC8qKgogICAgICogQXJyYXlBY2Nlc3MgaW1wbGVtZW50YXRpb24gb2Ygb2Zmc2V0VW5zZXQoKQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG9mZnNldCBBcnJheSBrZXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9mZnNldFVuc2V0KCRvZmZzZXQpCiAgICB7CiAgICAgICAgdW5zZXQoJHRoaXMtPmRhdGFbJG9mZnNldF0pOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Resources/dynamodb-2011-12-05.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTEtMTItMDUnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnZHluYW1vZGInLAogICAgJ3NlcnZpY2VGdWxsTmFtZScgPT4gJ0FtYXpvbiBEeW5hbW9EQicsCiAgICAnc2VydmljZUFiYnJldmlhdGlvbicgPT4gJ0R5bmFtb0RCJywKICAgICdzZXJ2aWNlVHlwZScgPT4gJ2pzb24nLAogICAgJ2pzb25WZXJzaW9uJyA9PiAnMS4wJywKICAgICd0YXJnZXRQcmVmaXgnID0+ICdEeW5hbW9EQl8yMDExMTIwNS4nLAogICAgJ3NpZ25hdHVyZVZlcnNpb24nID0+ICd2NCcsCiAgICAnbmFtZXNwYWNlJyA9PiAnRHluYW1vRGInLAogICAgJ3JlZ2lvbnMnID0+IGFycmF5KAogICAgICAgICd1cy1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdkeW5hbW9kYi51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZHluYW1vZGIudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2R5bmFtb2RiLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdldS13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdkeW5hbW9kYi5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtbm9ydGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdkeW5hbW9kYi5hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2R5bmFtb2RiLmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLXNvdXRoZWFzdC0yJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZHluYW1vZGIuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnc2EtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZHluYW1vZGIuc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLWdvdi13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZHluYW1vZGIudXMtZ292LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQmF0Y2hHZXRJdGVtJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0JhdGNoR2V0SXRlbU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdyZXNwb25zZU5vdGVzJyA9PiAnUmV0dXJucyBhIGpzb25fZGVjb2RlZCBhcnJheSBvZiB0aGUgcmVzcG9uc2UgYm9keScsCiAgICAgICAgICAgICdzdW1tYXJ5JyA9PiAnUmV0cmlldmVzIHRoZSBhdHRyaWJ1dGVzIGZvciBtdWx0aXBsZSBpdGVtcyBmcm9tIG11bHRpcGxlIHRhYmxlcyB1c2luZyB0aGVpciBwcmltYXJ5IGtleXMuJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEeW5hbW9EQl8yMDExMTIwNS5CYXRjaEdldEl0ZW0nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVfbmFtZScgPT4gJ1RhYmxlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAna2V5X3BhdHRlcm4nID0+ICcvW2EtekEtWjAtOV8uLV0rLycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkl0ZW1zJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhJdGVtcycgPT4gMTAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnS2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIHByaW1hcnkga2V5IHRoYXQgdW5pcXVlbHkgaWRlbnRpZmllcyBlYWNoIGl0ZW0gaW4gYSB0YWJsZS4gQSBwcmltYXJ5IGtleSBjYW4gYmUgYSBvbmUgYXR0cmlidXRlIChoYXNoKSBwcmltYXJ5IGtleSBvciBhIHR3byBhdHRyaWJ1dGUgKGhhc2gtYW5kLXJhbmdlKSBwcmltYXJ5IGtleS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIYXNoS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgaGFzaCBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIHRoZSBwcmltYXJ5IGtleSwgYW5kIGNhbiBiZSBhIHN0cmluZyBvciBhIG51bWJlci4gU2luZ2xlIGF0dHJpYnV0ZSBwcmltYXJ5IGtleXMgaGF2ZSBvbmUgaW5kZXggdmFsdWUuIFRoZSB2YWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIFN0cmluZ1NldCwgTnVtYmVyU2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ051bWJlcnMgYXJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGV4YWN0LXZhbHVlIGRlY2ltYWxzIGFuZCBpbnRlZ2Vycy4gQSBudW1iZXIgY2FuIGhhdmUgdXAgdG8gMzggZGlnaXRzIHByZWNpc2lvbiBhbmQgY2FuIGJlIGJldHdlZW4gMTBeLTEyOCB0byAxMF4rMTI2LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0JpbmFyeSBhdHRyaWJ1dGVzIGFyZSBzZXF1ZW5jZXMgb2YgdW5zaWduZWQgYnl0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2Ygc3RyaW5ncy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBudW1iZXJzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JhbmdlS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSByYW5nZSBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIGEgc2Vjb25kYXJ5IGtleSAodXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcmltYXJ5IGtleSksIGFuZCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBudW1iZXIsIGFuZCBpcyBvbmx5IHVzZWQgZm9yIGhhc2gtYW5kLXJhbmdlIHByaW1hcnkga2V5cy4gVGhlIHZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgU3RyaW5nU2V0LCBOdW1iZXJTZXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTdHJpbmdzIGFyZSBVbmljb2RlIHdpdGggVVRGLTggYmluYXJ5IGVuY29kaW5nLiBUaGUgbWF4aW11bSBzaXplIGlzIGxpbWl0ZWQgYnkgdGhlIHNpemUgb2YgdGhlIHByaW1hcnkga2V5ICgxMDI0IGJ5dGVzIGFzIGEgcmFuZ2UgcGFydCBvZiBhIGtleSBvciAyMDQ4IGJ5dGVzIGFzIGEgc2luZ2xlIHBhcnQgaGFzaCBrZXkpIG9yIHRoZSBpdGVtIHNpemUgKDY0aykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQmluYXJ5IGF0dHJpYnV0ZXMgYXJlIHNlcXVlbmNlcyBvZiB1bnNpZ25lZCBieXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlc1RvR2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluSXRlbXMnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnNpc3RlbnRSZWFkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBsZXZlbCBvZiBwcm92aXNpb25lZCB0aHJvdWdocHV0IGRlZmluZWQgZm9yIHRoZSB0YWJsZSBpcyBleGNlZWRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Byb3Zpc2lvbmVkVGhyb3VnaHB1dEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gdGhlIHJlc291cmNlIHdoaWNoIGlzIGJlaW5nIGF0dGVtcHRlZCB0byBiZSBjaGFuZ2VkIGlzIGluIHVzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgc2VydmljZSBoYXMgYSBwcm9ibGVtIHdoZW4gdHJ5aW5nIHRvIHByb2Nlc3MgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQmF0Y2hXcml0ZUl0ZW0nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQmF0Y2hXcml0ZUl0ZW1PdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncmVzcG9uc2VOb3RlcycgPT4gJ1JldHVybnMgYSBqc29uX2RlY29kZWQgYXJyYXkgb2YgdGhlIHJlc3BvbnNlIGJvZHknLAogICAgICAgICAgICAnc3VtbWFyeScgPT4gJ0FsbG93cyB0byBleGVjdXRlIGEgYmF0Y2ggb2YgUHV0IGFuZC9vciBEZWxldGUgUmVxdWVzdHMgZm9yIG1hbnkgdGFibGVzIGluIGEgc2luZ2xlIGNhbGwuIEEgdG90YWwgb2YgMjUgcmVxdWVzdHMgYXJlIGFsbG93ZWQuJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEeW5hbW9EQl8yMDExMTIwNS5CYXRjaFdyaXRlSXRlbScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgbWFwIG9mIHRhYmxlIG5hbWUgdG8gbGlzdC1vZi13cml0ZS1yZXF1ZXN0cy4gVXNlZCBhcyBpbnB1dCB0byB0aGUgQmF0Y2hXcml0ZUl0ZW0gQVBJIGNhbGwnLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkl0ZW1zJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDI1LAogICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVfbmFtZScgPT4gJ1RhYmxlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAna2V5X3BhdHRlcm4nID0+ICcvW2EtekEtWjAtOV8uLV0rLycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1dyaXRlUmVxdWVzdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGlzIHN0cnVjdHVyZSBpcyBhIFVuaW9uIG9mIFB1dFJlcXVlc3QgYW5kIERlbGV0ZVJlcXVlc3QuIEl0IGNhbiBjb250YWluIGV4YWN0bHkgb25lIG9mIFB1dFJlcXVlc3Qgb3IgRGVsZXRlUmVxdWVzdC4gTmV2ZXIgQm90aC4gVGhpcyBpcyBlbmZvcmNlZCBpbiB0aGUgY29kZS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQdXRSZXF1ZXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBpdGVtIHRvIHB1dCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0F0dHJpYnV0ZVZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgQmluYXJ5LCBTdHJpbmdTZXQsIE51bWJlclNldCwgQmluYXJ5U2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1N0cmluZ3MgYXJlIFVuaWNvZGUgd2l0aCBVVEYtOCBiaW5hcnkgZW5jb2RpbmcuIFRoZSBtYXhpbXVtIHNpemUgaXMgbGltaXRlZCBieSB0aGUgc2l6ZSBvZiB0aGUgcHJpbWFyeSBrZXkgKDEwMjQgYnl0ZXMgYXMgYSByYW5nZSBwYXJ0IG9mIGEga2V5IG9yIDIwNDggYnl0ZXMgYXMgYSBzaW5nbGUgcGFydCBoYXNoIGtleSkgb3IgdGhlIGl0ZW0gc2l6ZSAoNjRrKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0JpbmFyeSBhdHRyaWJ1dGVzIGFyZSBzZXF1ZW5jZXMgb2YgdW5zaWduZWQgYnl0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBudW1iZXJzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVsZXRlUmVxdWVzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBpdGVtXCdzIGtleSB0byBiZSBkZWxldGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIYXNoS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGhhc2gga2V5IGVsZW1lbnQgaXMgdHJlYXRlZCBhcyB0aGUgcHJpbWFyeSBrZXksIGFuZCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBudW1iZXIuIFNpbmdsZSBhdHRyaWJ1dGUgcHJpbWFyeSBrZXlzIGhhdmUgb25lIGluZGV4IHZhbHVlLiBUaGUgdmFsdWUgY2FuIGJlIFN0cmluZywgTnVtYmVyLCBTdHJpbmdTZXQsIE51bWJlclNldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdCaW5hcnkgYXR0cmlidXRlcyBhcmUgc2VxdWVuY2VzIG9mIHVuc2lnbmVkIGJ5dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2Ygc3RyaW5ncy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgbnVtYmVycy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmFuZ2VLZXlFbGVtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgcmFuZ2Uga2V5IGVsZW1lbnQgaXMgdHJlYXRlZCBhcyBhIHNlY29uZGFyeSBrZXkgKHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgcHJpbWFyeSBrZXkpLCBhbmQgY2FuIGJlIGEgc3RyaW5nIG9yIGEgbnVtYmVyLCBhbmQgaXMgb25seSB1c2VkIGZvciBoYXNoLWFuZC1yYW5nZSBwcmltYXJ5IGtleXMuIFRoZSB2YWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIFN0cmluZ1NldCwgTnVtYmVyU2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTdHJpbmdzIGFyZSBVbmljb2RlIHdpdGggVVRGLTggYmluYXJ5IGVuY29kaW5nLiBUaGUgbWF4aW11bSBzaXplIGlzIGxpbWl0ZWQgYnkgdGhlIHNpemUgb2YgdGhlIHByaW1hcnkga2V5ICgxMDI0IGJ5dGVzIGFzIGEgcmFuZ2UgcGFydCBvZiBhIGtleSBvciAyMDQ4IGJ5dGVzIGFzIGEgc2luZ2xlIHBhcnQgaGFzaCBrZXkpIG9yIHRoZSBpdGVtIHNpemUgKDY0aykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdOdW1iZXJzIGFyZSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBleGFjdC12YWx1ZSBkZWNpbWFscyBhbmQgaW50ZWdlcnMuIEEgbnVtYmVyIGNhbiBoYXZlIHVwIHRvIDM4IGRpZ2l0cyBwcmVjaXNpb24gYW5kIGNhbiBiZSBiZXR3ZWVuIDEwXi0xMjggdG8gMTBeKzEyNi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0JpbmFyeSBhdHRyaWJ1dGVzIGFyZSBzZXF1ZW5jZXMgb2YgdW5zaWduZWQgYnl0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBudW1iZXJzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBiaW5hcnkgYXR0cmlidXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gdGhlIGxldmVsIG9mIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQgZGVmaW5lZCBmb3IgdGhlIHRhYmxlIGlzIGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgcmVzb3VyY2Ugd2hpY2ggaXMgYmVpbmcgYXR0ZW1wdGVkIHRvIGJlIGNoYW5nZWQgaXMgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBzZXJ2aWNlIGhhcyBhIHByb2JsZW0gd2hlbiB0cnlpbmcgdG8gcHJvY2VzcyB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVUYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVUYWJsZU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdyZXNwb25zZU5vdGVzJyA9PiAnUmV0dXJucyBhIGpzb25fZGVjb2RlZCBhcnJheSBvZiB0aGUgcmVzcG9uc2UgYm9keScsCiAgICAgICAgICAgICdzdW1tYXJ5JyA9PiAnQWRkcyBhIG5ldyB0YWJsZSB0byB5b3VyIGFjY291bnQuJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEeW5hbW9EQl8yMDExMTIwNS5DcmVhdGVUYWJsZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBuYW1lIG9mIHRoZSB0YWJsZSB5b3Ugd2FudCB0byBjcmVhdGUuIEFsbG93ZWQgY2hhcmFjdGVycyBhcmUgYS16LCBBLVosIDAtOSwgXyAodW5kZXJzY29yZSksIC0gKGh5cGhlbikgYW5kIC4gKHBlcmlvZCkuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tleVNjaGVtYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdIYXNoS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGhhc2gga2V5IGVsZW1lbnQgaXMgdHJlYXRlZCBhcyB0aGUgcHJpbWFyeSBrZXksIGFuZCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBudW1iZXIuIFNpbmdsZSBhdHRyaWJ1dGUgcHJpbWFyeSBrZXlzIGhhdmUgb25lIGluZGV4IHZhbHVlLiBUaGUgdmFsdWUgY2FuIGJlIFN0cmluZywgTnVtYmVyLCBTdHJpbmdTZXQsIE51bWJlclNldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgQXR0cmlidXRlTmFtZSBvZiB0aGUgS2V5U2NoZW1hRWxlbWVudC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgQXR0cmlidXRlVHlwZSBvZiB0aGUgS2V5U2NoZW1hRWxlbWVudCB3aGljaCBjYW4gYmUgYSBTdHJpbmcgb3IgYSBOdW1iZXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZW51bScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSYW5nZUtleUVsZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSByYW5nZSBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIGEgc2Vjb25kYXJ5IGtleSAodXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcmltYXJ5IGtleSksIGFuZCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBudW1iZXIsIGFuZCBpcyBvbmx5IHVzZWQgZm9yIGhhc2gtYW5kLXJhbmdlIHByaW1hcnkga2V5cy4gVGhlIHZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgU3RyaW5nU2V0LCBOdW1iZXJTZXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIEF0dHJpYnV0ZU5hbWUgb2YgdGhlIEtleVNjaGVtYUVsZW1lbnQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIEF0dHJpYnV0ZVR5cGUgb2YgdGhlIEtleVNjaGVtYUVsZW1lbnQgd2hpY2ggY2FuIGJlIGEgU3RyaW5nIG9yIGEgTnVtYmVyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VudW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Byb3Zpc2lvbmVkVGhyb3VnaHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdSZWFkQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdSZWFkQ2FwYWNpdHlVbml0cyBhcmUgaW4gdGVybXMgb2Ygc3RyaWN0bHkgY29uc2lzdGVudCByZWFkcywgYXNzdW1pbmcgaXRlbXMgb2YgMWsuIDJrIGl0ZW1zIHJlcXVpcmUgdHdpY2UgdGhlIFJlYWRDYXBhY2l0eVVuaXRzLiBFdmVudHVhbGx5LWNvbnNpc3RlbnQgcmVhZHMgb25seSByZXF1aXJlIGhhbGYgdGhlIFJlYWRDYXBhY2l0eVVuaXRzIG9mIHN0aXJjdGx5IGNvbnNpc3RlbnQgcmVhZHMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1dyaXRlQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdXcml0ZUNhcGFjaXR5VW5pdHMgYXJlIGluIHRlcm1zIG9mIHN0cmljdGx5IGNvbnNpc3RlbnQgcmVhZHMsIGFzc3VtaW5nIGl0ZW1zIG9mIDFrLiAyayBpdGVtcyByZXF1aXJlIHR3aWNlIHRoZSBXcml0ZUNhcGFjaXR5VW5pdHMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgcmVzb3VyY2Ugd2hpY2ggaXMgYmVpbmcgYXR0ZW1wdGVkIHRvIGJlIGNoYW5nZWQgaXMgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VJblVzZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBzdWJzY3JpYmVyIGV4Y2VlZGVkIHRoZSBsaW1pdHMgb24gdGhlIG51bWJlciBvZiBvYmplY3RzIG9yIG9wZXJhdGlvbnMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gdGhlIHNlcnZpY2UgaGFzIGEgcHJvYmxlbSB3aGVuIHRyeWluZyB0byBwcm9jZXNzIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUl0ZW0nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVsZXRlSXRlbU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdyZXNwb25zZU5vdGVzJyA9PiAnUmV0dXJucyBhIGpzb25fZGVjb2RlZCBhcnJheSBvZiB0aGUgcmVzcG9uc2UgYm9keScsCiAgICAgICAgICAgICdzdW1tYXJ5JyA9PiAnRGVsZXRlcyBhIHNpbmdsZSBpdGVtIGluIGEgdGFibGUgYnkgcHJpbWFyeSBrZXkuJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEeW5hbW9EQl8yMDExMTIwNS5EZWxldGVJdGVtJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG5hbWUgb2YgdGhlIHRhYmxlIGluIHdoaWNoIHlvdSB3YW50IHRvIGRlbGV0ZSBhbiBpdGVtLiBBbGxvd2VkIGNoYXJhY3RlcnMgYXJlIGEteiwgQS1aLCAwLTksIF8gKHVuZGVyc2NvcmUpLCAtIChoeXBoZW4pIGFuZCAuIChwZXJpb2QpLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSGFzaEtleUVsZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBoYXNoIGtleSBlbGVtZW50IGlzIHRyZWF0ZWQgYXMgdGhlIHByaW1hcnkga2V5LCBhbmQgY2FuIGJlIGEgc3RyaW5nIG9yIGEgbnVtYmVyLiBTaW5nbGUgYXR0cmlidXRlIHByaW1hcnkga2V5cyBoYXZlIG9uZSBpbmRleCB2YWx1ZS4gVGhlIHZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgU3RyaW5nU2V0LCBOdW1iZXJTZXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1N0cmluZ3MgYXJlIFVuaWNvZGUgd2l0aCBVVEYtOCBiaW5hcnkgZW5jb2RpbmcuIFRoZSBtYXhpbXVtIHNpemUgaXMgbGltaXRlZCBieSB0aGUgc2l6ZSBvZiB0aGUgcHJpbWFyeSBrZXkgKDEwMjQgYnl0ZXMgYXMgYSByYW5nZSBwYXJ0IG9mIGEga2V5IG9yIDIwNDggYnl0ZXMgYXMgYSBzaW5nbGUgcGFydCBoYXNoIGtleSkgb3IgdGhlIGl0ZW0gc2l6ZSAoNjRrKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ051bWJlcnMgYXJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGV4YWN0LXZhbHVlIGRlY2ltYWxzIGFuZCBpbnRlZ2Vycy4gQSBudW1iZXIgY2FuIGhhdmUgdXAgdG8gMzggZGlnaXRzIHByZWNpc2lvbiBhbmQgY2FuIGJlIGJldHdlZW4gMTBeLTEyOCB0byAxMF4rMTI2LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQmluYXJ5IGF0dHJpYnV0ZXMgYXJlIHNlcXVlbmNlcyBvZiB1bnNpZ25lZCBieXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1JhbmdlS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHJhbmdlIGtleSBlbGVtZW50IGlzIHRyZWF0ZWQgYXMgYSBzZWNvbmRhcnkga2V5ICh1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHByaW1hcnkga2V5KSwgYW5kIGNhbiBiZSBhIHN0cmluZyBvciBhIG51bWJlciwgYW5kIGlzIG9ubHkgdXNlZCBmb3IgaGFzaC1hbmQtcmFuZ2UgcHJpbWFyeSBrZXlzLiBUaGUgdmFsdWUgY2FuIGJlIFN0cmluZywgTnVtYmVyLCBTdHJpbmdTZXQsIE51bWJlclNldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdCaW5hcnkgYXR0cmlidXRlcyBhcmUgc2VxdWVuY2VzIG9mIHVuc2lnbmVkIGJ5dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2Ygc3RyaW5ncy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgbnVtYmVycy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V4cGVjdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQWxsb3dzIHlvdSB0byBwcm92aWRlIGFuIGF0dHJpYnV0ZSBuYW1lLCBhbmQgd2hldGhlciBvciBub3QgQW1hem9uIER5bmFtb0RCIHNob3VsZCBjaGVjayB0byBzZWUgaWYgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBhbHJlYWR5IGV4aXN0czsgb3IgaWYgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBleGlzdHMgYW5kIGhhcyBhIHBhcnRpY3VsYXIgdmFsdWUgYmVmb3JlIGNoYW5naW5nIGl0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZ5IHdoZXRoZXIgb3Igbm90IGEgdmFsdWUgYWxyZWFkeSBleGlzdHMgYW5kIGhhcyBhIHNwZWNpZmljIGNvbnRlbnQgZm9yIHRoZSBhdHRyaWJ1dGUgbmFtZS12YWx1ZSBwYWlyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ051bWJlcnMgYXJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGV4YWN0LXZhbHVlIGRlY2ltYWxzIGFuZCBpbnRlZ2Vycy4gQSBudW1iZXIgY2FuIGhhdmUgdXAgdG8gMzggZGlnaXRzIHByZWNpc2lvbiBhbmQgY2FuIGJlIGJldHdlZW4gMTBeLTEyOCB0byAxMF4rMTI2LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0JpbmFyeSBhdHRyaWJ1dGVzIGFyZSBzZXF1ZW5jZXMgb2YgdW5zaWduZWQgYnl0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2Ygc3RyaW5ncy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBudW1iZXJzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V4aXN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3BlY2lmeSB3aGV0aGVyIG9yIG5vdCBhIHZhbHVlIGFscmVhZHkgZXhpc3RzIGZvciB0aGUgYXR0cmlidXRlIG5hbWUtdmFsdWUgcGFpci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmV0dXJuVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2VudW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnTk9ORScsCiAgICAgICAgICAgICAgICAgICAgICAgICdBTExfT0xEJywKICAgICAgICAgICAgICAgICAgICAgICAgJ1VQREFURURfT0xEJywKICAgICAgICAgICAgICAgICAgICAgICAgJ0FMTF9ORVcnLAogICAgICAgICAgICAgICAgICAgICAgICAnVVBEQVRFRF9ORVcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIGFuIGV4cGVjdGVkIHZhbHVlIGRvZXMgbm90IG1hdGNoIHdoYXQgd2FzIGZvdW5kIGluIHRoZSBzeXN0ZW0uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDb25kaXRpb25hbENoZWNrRmFpbGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gdGhlIGxldmVsIG9mIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQgZGVmaW5lZCBmb3IgdGhlIHRhYmxlIGlzIGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgcmVzb3VyY2Ugd2hpY2ggaXMgYmVpbmcgYXR0ZW1wdGVkIHRvIGJlIGNoYW5nZWQgaXMgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBzZXJ2aWNlIGhhcyBhIHByb2JsZW0gd2hlbiB0cnlpbmcgdG8gcHJvY2VzcyB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVUYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZWxldGVUYWJsZU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdyZXNwb25zZU5vdGVzJyA9PiAnUmV0dXJucyBhIGpzb25fZGVjb2RlZCBhcnJheSBvZiB0aGUgcmVzcG9uc2UgYm9keScsCiAgICAgICAgICAgICdzdW1tYXJ5JyA9PiAnRGVsZXRlcyBhIHRhYmxlIGFuZCBhbGwgb2YgaXRzIGl0ZW1zLicsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRHluYW1vREJfMjAxMTEyMDUuRGVsZXRlVGFibGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbmFtZSBvZiB0aGUgdGFibGUgeW91IHdhbnQgdG8gZGVsZXRlLiBBbGxvd2VkIGNoYXJhY3RlcnMgYXJlIGEteiwgQS1aLCAwLTksIF8gKHVuZGVyc2NvcmUpLCAtIChoeXBoZW4pIGFuZCAuIChwZXJpb2QpLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgcmVzb3VyY2Ugd2hpY2ggaXMgYmVpbmcgYXR0ZW1wdGVkIHRvIGJlIGNoYW5nZWQgaXMgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VJblVzZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSByZXNvdXJjZSB3aGljaCBpcyBiZWluZyBhdHRlbXB0ZWQgdG8gYmUgY2hhbmdlZCBpcyBpbiB1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gdGhlIHN1YnNjcmliZXIgZXhjZWVkZWQgdGhlIGxpbWl0cyBvbiB0aGUgbnVtYmVyIG9mIG9iamVjdHMgb3Igb3BlcmF0aW9ucy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgc2VydmljZSBoYXMgYSBwcm9ibGVtIHdoZW4gdHJ5aW5nIHRvIHByb2Nlc3MgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVUYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVRhYmxlT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3Jlc3BvbnNlTm90ZXMnID0+ICdSZXR1cm5zIGEganNvbl9kZWNvZGVkIGFycmF5IG9mIHRoZSByZXNwb25zZSBib2R5JywKICAgICAgICAgICAgJ3N1bW1hcnknID0+ICdSZXRyaWV2ZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRhYmxlLCBpbmNsdWRpbmcgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSB0YWJsZSwgdGhlIHByaW1hcnkga2V5IHNjaGVtYSBhbmQgd2hlbiB0aGUgdGFibGUgd2FzIGNyZWF0ZWQuJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEeW5hbW9EQl8yMDExMTIwNS5EZXNjcmliZVRhYmxlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG5hbWUgb2YgdGhlIHRhYmxlIHlvdSB3YW50IHRvIGRlc2NyaWJlLiBBbGxvd2VkIGNoYXJhY3RlcnMgYXJlIGEteiwgQS1aLCAwLTksIF8gKHVuZGVyc2NvcmUpLCAtIChoeXBoZW4pIGFuZCAuIChwZXJpb2QpLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgcmVzb3VyY2Ugd2hpY2ggaXMgYmVpbmcgYXR0ZW1wdGVkIHRvIGJlIGNoYW5nZWQgaXMgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBzZXJ2aWNlIGhhcyBhIHByb2JsZW0gd2hlbiB0cnlpbmcgdG8gcHJvY2VzcyB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRJdGVtJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldEl0ZW1PdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncmVzcG9uc2VOb3RlcycgPT4gJ1JldHVybnMgYSBqc29uX2RlY29kZWQgYXJyYXkgb2YgdGhlIHJlc3BvbnNlIGJvZHknLAogICAgICAgICAgICAnc3VtbWFyeScgPT4gJ1JldHJpZXZlcyBhIHNldCBvZiBBdHRyaWJ1dGVzIGZvciBhbiBpdGVtIHRoYXQgbWF0Y2hlcyB0aGUgcHJpbWFyeSBrZXkuJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEeW5hbW9EQl8yMDExMTIwNS5HZXRJdGVtJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG5hbWUgb2YgdGhlIHRhYmxlIGluIHdoaWNoIHlvdSB3YW50IHRvIGdldCBhbiBpdGVtLiBBbGxvd2VkIGNoYXJhY3RlcnMgYXJlIGEteiwgQS1aLCAwLTksIF8gKHVuZGVyc2NvcmUpLCAtIChoeXBoZW4pIGFuZCAuIChwZXJpb2QpLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSGFzaEtleUVsZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBoYXNoIGtleSBlbGVtZW50IGlzIHRyZWF0ZWQgYXMgdGhlIHByaW1hcnkga2V5LCBhbmQgY2FuIGJlIGEgc3RyaW5nIG9yIGEgbnVtYmVyLiBTaW5nbGUgYXR0cmlidXRlIHByaW1hcnkga2V5cyBoYXZlIG9uZSBpbmRleCB2YWx1ZS4gVGhlIHZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgU3RyaW5nU2V0LCBOdW1iZXJTZXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1N0cmluZ3MgYXJlIFVuaWNvZGUgd2l0aCBVVEYtOCBiaW5hcnkgZW5jb2RpbmcuIFRoZSBtYXhpbXVtIHNpemUgaXMgbGltaXRlZCBieSB0aGUgc2l6ZSBvZiB0aGUgcHJpbWFyeSBrZXkgKDEwMjQgYnl0ZXMgYXMgYSByYW5nZSBwYXJ0IG9mIGEga2V5IG9yIDIwNDggYnl0ZXMgYXMgYSBzaW5nbGUgcGFydCBoYXNoIGtleSkgb3IgdGhlIGl0ZW0gc2l6ZSAoNjRrKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ051bWJlcnMgYXJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGV4YWN0LXZhbHVlIGRlY2ltYWxzIGFuZCBpbnRlZ2Vycy4gQSBudW1iZXIgY2FuIGhhdmUgdXAgdG8gMzggZGlnaXRzIHByZWNpc2lvbiBhbmQgY2FuIGJlIGJldHdlZW4gMTBeLTEyOCB0byAxMF4rMTI2LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQmluYXJ5IGF0dHJpYnV0ZXMgYXJlIHNlcXVlbmNlcyBvZiB1bnNpZ25lZCBieXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1JhbmdlS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHJhbmdlIGtleSBlbGVtZW50IGlzIHRyZWF0ZWQgYXMgYSBzZWNvbmRhcnkga2V5ICh1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHByaW1hcnkga2V5KSwgYW5kIGNhbiBiZSBhIHN0cmluZyBvciBhIG51bWJlciwgYW5kIGlzIG9ubHkgdXNlZCBmb3IgaGFzaC1hbmQtcmFuZ2UgcHJpbWFyeSBrZXlzLiBUaGUgdmFsdWUgY2FuIGJlIFN0cmluZywgTnVtYmVyLCBTdHJpbmdTZXQsIE51bWJlclNldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdCaW5hcnkgYXR0cmlidXRlcyBhcmUgc2VxdWVuY2VzIG9mIHVuc2lnbmVkIGJ5dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2Ygc3RyaW5ncy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgbnVtYmVycy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXNUb0dldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkl0ZW1zJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb25zaXN0ZW50UmVhZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgbGV2ZWwgb2YgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCBkZWZpbmVkIGZvciB0aGUgdGFibGUgaXMgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQcm92aXNpb25lZFRocm91Z2hwdXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSByZXNvdXJjZSB3aGljaCBpcyBiZWluZyBhdHRlbXB0ZWQgdG8gYmUgY2hhbmdlZCBpcyBpbiB1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gdGhlIHNlcnZpY2UgaGFzIGEgcHJvYmxlbSB3aGVuIHRyeWluZyB0byBwcm9jZXNzIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RUYWJsZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdFRhYmxlc091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdyZXNwb25zZU5vdGVzJyA9PiAnUmV0dXJucyBhIGpzb25fZGVjb2RlZCBhcnJheSBvZiB0aGUgcmVzcG9uc2UgYm9keScsCiAgICAgICAgICAgICdzdW1tYXJ5JyA9PiAnUmV0cmlldmVzIGEgcGFnaW5hdGVkIGxpc3Qgb2YgdGFibGUgbmFtZXMgY3JlYXRlZCBieSB0aGUgQVdTIEFjY291bnQgb2YgdGhlIGNhbGxlciBpbiB0aGUgQVdTIFJlZ2lvbiAoZS5nLiB1cy1lYXN0LTEpLicsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRHluYW1vREJfMjAxMTEyMDUuTGlzdFRhYmxlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V4Y2x1c2l2ZVN0YXJ0VGFibGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbmFtZSBvZiB0aGUgdGFibGUgdGhhdCBzdGFydHMgdGhlIGxpc3QuIElmIHlvdSBhbHJlYWR5IHJhbiBhIExpc3RUYWJsZXMgb3BlcmF0aW9uIGFuZCByZWNlaXZlZCBhIExhc3RFdmFsdWF0ZWRUYWJsZU5hbWUgdmFsdWUgaW4gdGhlIHJlc3BvbnNlLCB1c2UgdGhhdCB2YWx1ZSBoZXJlIHRvIGNvbnRpbnVlIHRoZSBsaXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMaW1pdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgc2VydmljZSBoYXMgYSBwcm9ibGVtIHdoZW4gdHJ5aW5nIHRvIHByb2Nlc3MgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHV0SXRlbScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdQdXRJdGVtT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3Jlc3BvbnNlTm90ZXMnID0+ICdSZXR1cm5zIGEganNvbl9kZWNvZGVkIGFycmF5IG9mIHRoZSByZXNwb25zZSBib2R5JywKICAgICAgICAgICAgJ3N1bW1hcnknID0+ICdDcmVhdGVzIGEgbmV3IGl0ZW0sIG9yIHJlcGxhY2VzIGFuIG9sZCBpdGVtIHdpdGggYSBuZXcgaXRlbSAoaW5jbHVkaW5nIGFsbCB0aGUgYXR0cmlidXRlcykuJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEeW5hbW9EQl8yMDExMTIwNS5QdXRJdGVtJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG5hbWUgb2YgdGhlIHRhYmxlIGluIHdoaWNoIHlvdSB3YW50IHRvIHB1dCBhbiBpdGVtLiBBbGxvd2VkIGNoYXJhY3RlcnMgYXJlIGEteiwgQS1aLCAwLTksIF8gKHVuZGVyc2NvcmUpLCAtIChoeXBoZW4pIGFuZCAuIChwZXJpb2QpLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJdGVtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0F0dHJpYnV0ZVZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgQmluYXJ5LCBTdHJpbmdTZXQsIE51bWJlclNldCwgQmluYXJ5U2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1N0cmluZ3MgYXJlIFVuaWNvZGUgd2l0aCBVVEYtOCBiaW5hcnkgZW5jb2RpbmcuIFRoZSBtYXhpbXVtIHNpemUgaXMgbGltaXRlZCBieSB0aGUgc2l6ZSBvZiB0aGUgcHJpbWFyeSBrZXkgKDEwMjQgYnl0ZXMgYXMgYSByYW5nZSBwYXJ0IG9mIGEga2V5IG9yIDIwNDggYnl0ZXMgYXMgYSBzaW5nbGUgcGFydCBoYXNoIGtleSkgb3IgdGhlIGl0ZW0gc2l6ZSAoNjRrKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0JpbmFyeSBhdHRyaWJ1dGVzIGFyZSBzZXF1ZW5jZXMgb2YgdW5zaWduZWQgYnl0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBudW1iZXJzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXhwZWN0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBbGxvd3MgeW91IHRvIHByb3ZpZGUgYW4gYXR0cmlidXRlIG5hbWUsIGFuZCB3aGV0aGVyIG9yIG5vdCBBbWF6b24gRHluYW1vREIgc2hvdWxkIGNoZWNrIHRvIHNlZSBpZiB0aGUgYXR0cmlidXRlIHZhbHVlIGFscmVhZHkgZXhpc3RzOyBvciBpZiB0aGUgYXR0cmlidXRlIHZhbHVlIGV4aXN0cyBhbmQgaGFzIGEgcGFydGljdWxhciB2YWx1ZSBiZWZvcmUgY2hhbmdpbmcgaXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVfbmFtZScgPT4gJ0F0dHJpYnV0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZnkgd2hldGhlciBvciBub3QgYSB2YWx1ZSBhbHJlYWR5IGV4aXN0cyBhbmQgaGFzIGEgc3BlY2lmaWMgY29udGVudCBmb3IgdGhlIGF0dHJpYnV0ZSBuYW1lLXZhbHVlIHBhaXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTdHJpbmdzIGFyZSBVbmljb2RlIHdpdGggVVRGLTggYmluYXJ5IGVuY29kaW5nLiBUaGUgbWF4aW11bSBzaXplIGlzIGxpbWl0ZWQgYnkgdGhlIHNpemUgb2YgdGhlIHByaW1hcnkga2V5ICgxMDI0IGJ5dGVzIGFzIGEgcmFuZ2UgcGFydCBvZiBhIGtleSBvciAyMDQ4IGJ5dGVzIGFzIGEgc2luZ2xlIHBhcnQgaGFzaCBrZXkpIG9yIHRoZSBpdGVtIHNpemUgKDY0aykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQmluYXJ5IGF0dHJpYnV0ZXMgYXJlIHNlcXVlbmNlcyBvZiB1bnNpZ25lZCBieXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXhpc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZ5IHdoZXRoZXIgb3Igbm90IGEgdmFsdWUgYWxyZWFkeSBleGlzdHMgZm9yIHRoZSBhdHRyaWJ1dGUgbmFtZS12YWx1ZSBwYWlyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXR1cm5WYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnZW51bScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdOT05FJywKICAgICAgICAgICAgICAgICAgICAgICAgJ0FMTF9PTEQnLAogICAgICAgICAgICAgICAgICAgICAgICAnVVBEQVRFRF9PTEQnLAogICAgICAgICAgICAgICAgICAgICAgICAnQUxMX05FVycsCiAgICAgICAgICAgICAgICAgICAgICAgICdVUERBVEVEX05FVycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gYW4gZXhwZWN0ZWQgdmFsdWUgZG9lcyBub3QgbWF0Y2ggd2hhdCB3YXMgZm91bmQgaW4gdGhlIHN5c3RlbS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NvbmRpdGlvbmFsQ2hlY2tGYWlsZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgbGV2ZWwgb2YgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCBkZWZpbmVkIGZvciB0aGUgdGFibGUgaXMgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQcm92aXNpb25lZFRocm91Z2hwdXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSByZXNvdXJjZSB3aGljaCBpcyBiZWluZyBhdHRlbXB0ZWQgdG8gYmUgY2hhbmdlZCBpcyBpbiB1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gdGhlIHNlcnZpY2UgaGFzIGEgcHJvYmxlbSB3aGVuIHRyeWluZyB0byBwcm9jZXNzIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1F1ZXJ5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1F1ZXJ5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3Jlc3BvbnNlTm90ZXMnID0+ICdSZXR1cm5zIGEganNvbl9kZWNvZGVkIGFycmF5IG9mIHRoZSByZXNwb25zZSBib2R5JywKICAgICAgICAgICAgJ3N1bW1hcnknID0+ICdHZXRzIHRoZSB2YWx1ZXMgb2Ygb25lIG9yIG1vcmUgaXRlbXMgYW5kIGl0cyBhdHRyaWJ1dGVzIGJ5IHByaW1hcnkga2V5IChjb21wb3NpdGUgcHJpbWFyeSBrZXksIG9ubHkpLicsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRHluYW1vREJfMjAxMTEyMDUuUXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbmFtZSBvZiB0aGUgdGFibGUgaW4gd2hpY2ggeW91IHdhbnQgdG8gcXVlcnkuIEFsbG93ZWQgY2hhcmFjdGVycyBhcmUgYS16LCBBLVosIDAtOSwgXyAodW5kZXJzY29yZSksIC0gKGh5cGhlbikgYW5kIC4gKHBlcmlvZCkuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXNUb0dldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkl0ZW1zJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMaW1pdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIHJldHVybi4gSWYgQW1hem9uIER5bmFtb0RCIGhpdHMgdGhpcyBsaW1pdCB3aGlsZSBxdWVyeWluZyB0aGUgdGFibGUsIGl0IHN0b3BzIHRoZSBxdWVyeSBhbmQgcmV0dXJucyB0aGUgbWF0Y2hpbmcgdmFsdWVzIHVwIHRvIHRoZSBsaW1pdCwgYW5kIGEgTGFzdEV2YWx1YXRlZEtleSB0byBhcHBseSBpbiBhIHN1YnNlcXVlbnQgb3BlcmF0aW9uIHRvIGNvbnRpbnVlIHRoZSBxdWVyeS4gQWxzbywgaWYgdGhlIHJlc3VsdCBzZXQgc2l6ZSBleGNlZWRzIDFNQiBiZWZvcmUgQW1hem9uIER5bmFtb0RCIGhpdHMgdGhpcyBsaW1pdCwgaXQgc3RvcHMgdGhlIHF1ZXJ5IGFuZCByZXR1cm5zIHRoZSBtYXRjaGluZyB2YWx1ZXMsIGFuZCBhIExhc3RFdmFsdWF0ZWRLZXkgdG8gYXBwbHkgaW4gYSBzdWJzZXF1ZW50IG9wZXJhdGlvbiB0byBjb250aW51ZSB0aGUgcXVlcnkuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb25zaXN0ZW50UmVhZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnSWYgc2V0IHRvIHRydWUsIEFtYXpvbiBEeW5hbW9EQiByZXR1cm5zIGEgdG90YWwgbnVtYmVyIG9mIGl0ZW1zIHRoYXQgbWF0Y2ggdGhlIHF1ZXJ5IHBhcmFtZXRlcnMsIGluc3RlYWQgb2YgYSBsaXN0IG9mIHRoZSBtYXRjaGluZyBpdGVtcyBhbmQgdGhlaXIgYXR0cmlidXRlcy4gRG8gbm90IHNldCBDb3VudCB0byB0cnVlIHdoaWxlIHByb3ZpZGluZyBhIGxpc3Qgb2YgQXR0cmlidXRlc1RvR2V0LCBvdGhlcndpc2UgQW1hem9uIER5bmFtb0RCIHJldHVybnMgYSB2YWxpZGF0aW9uIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIYXNoS2V5VmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBdHRyaWJ1dGUgdmFsdWUgb2YgdGhlIGhhc2ggY29tcG9uZW50IG9mIHRoZSBjb21wb3NpdGUgcHJpbWFyeSBrZXkuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTdHJpbmdzIGFyZSBVbmljb2RlIHdpdGggVVRGLTggYmluYXJ5IGVuY29kaW5nLiBUaGUgbWF4aW11bSBzaXplIGlzIGxpbWl0ZWQgYnkgdGhlIHNpemUgb2YgdGhlIHByaW1hcnkga2V5ICgxMDI0IGJ5dGVzIGFzIGEgcmFuZ2UgcGFydCBvZiBhIGtleSBvciAyMDQ4IGJ5dGVzIGFzIGEgc2luZ2xlIHBhcnQgaGFzaCBrZXkpIG9yIHRoZSBpdGVtIHNpemUgKDY0aykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQmluYXJ5IGF0dHJpYnV0ZXMgYXJlIHNlcXVlbmNlcyBvZiB1bnNpZ25lZCBieXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmFuZ2VLZXlDb25kaXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgY29udGFpbmVyIGZvciB0aGUgYXR0cmlidXRlIHZhbHVlcyBhbmQgY29tcGFyaXNvbiBvcGVyYXRvcnMgdG8gdXNlIGZvciB0aGUgcXVlcnkuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlVmFsdWVMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBdHRyaWJ1dGVWYWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIEJpbmFyeSwgU3RyaW5nU2V0LCBOdW1iZXJTZXQsIEJpbmFyeVNldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1N0cmluZ3MgYXJlIFVuaWNvZGUgd2l0aCBVVEYtOCBiaW5hcnkgZW5jb2RpbmcuIFRoZSBtYXhpbXVtIHNpemUgaXMgbGltaXRlZCBieSB0aGUgc2l6ZSBvZiB0aGUgcHJpbWFyeSBrZXkgKDEwMjQgYnl0ZXMgYXMgYSByYW5nZSBwYXJ0IG9mIGEga2V5IG9yIDIwNDggYnl0ZXMgYXMgYSBzaW5nbGUgcGFydCBoYXNoIGtleSkgb3IgdGhlIGl0ZW0gc2l6ZSAoNjRrKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdOdW1iZXJzIGFyZSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBleGFjdC12YWx1ZSBkZWNpbWFscyBhbmQgaW50ZWdlcnMuIEEgbnVtYmVyIGNhbiBoYXZlIHVwIHRvIDM4IGRpZ2l0cyBwcmVjaXNpb24gYW5kIGNhbiBiZSBiZXR3ZWVuIDEwXi0xMjggdG8gMTBeKzEyNi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdCaW5hcnkgYXR0cmlidXRlcyBhcmUgc2VxdWVuY2VzIG9mIHVuc2lnbmVkIGJ5dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgbnVtYmVycy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBiaW5hcnkgYXR0cmlidXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBhcmlzb25PcGVyYXRvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZW51bScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VRJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTkUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJTicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xFJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTFQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dUJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQkVUV0VFTicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05PVF9OVUxMJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlVMTCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NPTlRBSU5TJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTk9UX0NPTlRBSU5TJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQkVHSU5TX1dJVEgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTY2FuSW5kZXhGb3J3YXJkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZpZXMgZm9yd2FyZCBvciBiYWNrd2FyZCB0cmF2ZXJzYWwgb2YgdGhlIGluZGV4LiBBbWF6b24gRHluYW1vREIgcmV0dXJucyByZXN1bHRzIHJlZmxlY3RpbmcgdGhlIHJlcXVlc3RlZCBvcmRlciwgZGV0ZXJtaW5lZCBieSB0aGUgcmFuZ2Uga2V5LiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0cnVlIChmb3J3YXJkKS4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXhjbHVzaXZlU3RhcnRLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1ByaW1hcnkga2V5IG9mIHRoZSBpdGVtIGZyb20gd2hpY2ggdG8gY29udGludWUgYW4gZWFybGllciBxdWVyeS4gQW4gZWFybGllciBxdWVyeSBtaWdodCBwcm92aWRlIHRoaXMgdmFsdWUgYXMgdGhlIExhc3RFdmFsdWF0ZWRLZXkgaWYgdGhhdCBxdWVyeSBvcGVyYXRpb24gd2FzIGludGVycnVwdGVkIGJlZm9yZSBjb21wbGV0aW5nIHRoZSBxdWVyeTsgZWl0aGVyIGJlY2F1c2Ugb2YgdGhlIHJlc3VsdCBzZXQgc2l6ZSBvciB0aGUgTGltaXQgcGFyYW1ldGVyLiBUaGUgTGFzdEV2YWx1YXRlZEtleSBjYW4gYmUgcGFzc2VkIGJhY2sgaW4gYSBuZXcgcXVlcnkgcmVxdWVzdCB0byBjb250aW51ZSB0aGUgb3BlcmF0aW9uIGZyb20gdGhhdCBwb2ludC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdIYXNoS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGhhc2gga2V5IGVsZW1lbnQgaXMgdHJlYXRlZCBhcyB0aGUgcHJpbWFyeSBrZXksIGFuZCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBudW1iZXIuIFNpbmdsZSBhdHRyaWJ1dGUgcHJpbWFyeSBrZXlzIGhhdmUgb25lIGluZGV4IHZhbHVlLiBUaGUgdmFsdWUgY2FuIGJlIFN0cmluZywgTnVtYmVyLCBTdHJpbmdTZXQsIE51bWJlclNldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdCaW5hcnkgYXR0cmlidXRlcyBhcmUgc2VxdWVuY2VzIG9mIHVuc2lnbmVkIGJ5dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2Ygc3RyaW5ncy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgbnVtYmVycy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmFuZ2VLZXlFbGVtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgcmFuZ2Uga2V5IGVsZW1lbnQgaXMgdHJlYXRlZCBhcyBhIHNlY29uZGFyeSBrZXkgKHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgcHJpbWFyeSBrZXkpLCBhbmQgY2FuIGJlIGEgc3RyaW5nIG9yIGEgbnVtYmVyLCBhbmQgaXMgb25seSB1c2VkIGZvciBoYXNoLWFuZC1yYW5nZSBwcmltYXJ5IGtleXMuIFRoZSB2YWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIFN0cmluZ1NldCwgTnVtYmVyU2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTdHJpbmdzIGFyZSBVbmljb2RlIHdpdGggVVRGLTggYmluYXJ5IGVuY29kaW5nLiBUaGUgbWF4aW11bSBzaXplIGlzIGxpbWl0ZWQgYnkgdGhlIHNpemUgb2YgdGhlIHByaW1hcnkga2V5ICgxMDI0IGJ5dGVzIGFzIGEgcmFuZ2UgcGFydCBvZiBhIGtleSBvciAyMDQ4IGJ5dGVzIGFzIGEgc2luZ2xlIHBhcnQgaGFzaCBrZXkpIG9yIHRoZSBpdGVtIHNpemUgKDY0aykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdOdW1iZXJzIGFyZSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBleGFjdC12YWx1ZSBkZWNpbWFscyBhbmQgaW50ZWdlcnMuIEEgbnVtYmVyIGNhbiBoYXZlIHVwIHRvIDM4IGRpZ2l0cyBwcmVjaXNpb24gYW5kIGNhbiBiZSBiZXR3ZWVuIDEwXi0xMjggdG8gMTBeKzEyNi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0JpbmFyeSBhdHRyaWJ1dGVzIGFyZSBzZXF1ZW5jZXMgb2YgdW5zaWduZWQgYnl0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBudW1iZXJzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBiaW5hcnkgYXR0cmlidXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gdGhlIGxldmVsIG9mIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQgZGVmaW5lZCBmb3IgdGhlIHRhYmxlIGlzIGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgcmVzb3VyY2Ugd2hpY2ggaXMgYmVpbmcgYXR0ZW1wdGVkIHRvIGJlIGNoYW5nZWQgaXMgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBzZXJ2aWNlIGhhcyBhIHByb2JsZW0gd2hlbiB0cnlpbmcgdG8gcHJvY2VzcyB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTY2FuJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1NjYW5PdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncmVzcG9uc2VOb3RlcycgPT4gJ1JldHVybnMgYSBqc29uX2RlY29kZWQgYXJyYXkgb2YgdGhlIHJlc3BvbnNlIGJvZHknLAogICAgICAgICAgICAnc3VtbWFyeScgPT4gJ1JldHJpZXZlcyBvbmUgb3IgbW9yZSBpdGVtcyBhbmQgaXRzIGF0dHJpYnV0ZXMgYnkgcGVyZm9ybWluZyBhIGZ1bGwgc2NhbiBvZiBhIHRhYmxlLicsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRHluYW1vREJfMjAxMTEyMDUuU2NhbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBuYW1lIG9mIHRoZSB0YWJsZSBpbiB3aGljaCB5b3Ugd2FudCB0byBzY2FuLiBBbGxvd2VkIGNoYXJhY3RlcnMgYXJlIGEteiwgQS1aLCAwLTksIF8gKHVuZGVyc2NvcmUpLCAtIChoeXBoZW4pIGFuZCAuIChwZXJpb2QpLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzVG9HZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5JdGVtcycgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F0dHJpYnV0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGltaXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byByZXR1cm4uIElmIEFtYXpvbiBEeW5hbW9EQiBoaXRzIHRoaXMgbGltaXQgd2hpbGUgc2Nhbm5pbmcgdGhlIHRhYmxlLCBpdCBzdG9wcyB0aGUgc2NhbiBhbmQgcmV0dXJucyB0aGUgbWF0Y2hpbmcgdmFsdWVzIHVwIHRvIHRoZSBsaW1pdCwgYW5kIGEgTGFzdEV2YWx1YXRlZEtleSB0byBhcHBseSBpbiBhIHN1YnNlcXVlbnQgb3BlcmF0aW9uIHRvIGNvbnRpbnVlIHRoZSBzY2FuLiBBbHNvLCBpZiB0aGUgc2Nhbm5lZCBkYXRhIHNldCBzaXplIGV4Y2VlZHMgMSBNQiBiZWZvcmUgQW1hem9uIER5bmFtb0RCIGhpdHMgdGhpcyBsaW1pdCwgaXQgc3RvcHMgdGhlIHNjYW4gYW5kIHJldHVybnMgdGhlIG1hdGNoaW5nIHZhbHVlcyB1cCB0byB0aGUgbGltaXQsIGFuZCBhIExhc3RFdmFsdWF0ZWRLZXkgdG8gYXBwbHkgaW4gYSBzdWJzZXF1ZW50IG9wZXJhdGlvbiB0byBjb250aW51ZSB0aGUgc2Nhbi4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdJZiBzZXQgdG8gdHJ1ZSwgQW1hem9uIER5bmFtb0RCIHJldHVybnMgYSB0b3RhbCBudW1iZXIgb2YgaXRlbXMgZm9yIHRoZSBTY2FuIG9wZXJhdGlvbiwgZXZlbiBpZiB0aGUgb3BlcmF0aW9uIGhhcyBubyBtYXRjaGluZyBpdGVtcyBmb3IgdGhlIGFzc2lnbmVkIGZpbHRlci4gRG8gbm90IHNldCBDb3VudCB0byB0cnVlIHdoaWxlIHByb3ZpZGluZyBhIGxpc3Qgb2YgQXR0cmlidXRlc1RvR2V0LCBvdGhlcndpc2UgQW1hem9uIER5bmFtb0RCIHJldHVybnMgYSB2YWxpZGF0aW9uIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTY2FuRmlsdGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdFdmFsdWF0ZXMgdGhlIHNjYW4gcmVzdWx0cyBhbmQgcmV0dXJucyBvbmx5IHRoZSBkZXNpcmVkIHZhbHVlcy4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVZhbHVlTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0F0dHJpYnV0ZVZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgQmluYXJ5LCBTdHJpbmdTZXQsIE51bWJlclNldCwgQmluYXJ5U2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1N0cmluZ3MgYXJlIFVuaWNvZGUgd2l0aCBVVEYtOCBiaW5hcnkgZW5jb2RpbmcuIFRoZSBtYXhpbXVtIHNpemUgaXMgbGltaXRlZCBieSB0aGUgc2l6ZSBvZiB0aGUgcHJpbWFyeSBrZXkgKDEwMjQgYnl0ZXMgYXMgYSByYW5nZSBwYXJ0IG9mIGEga2V5IG9yIDIwNDggYnl0ZXMgYXMgYSBzaW5nbGUgcGFydCBoYXNoIGtleSkgb3IgdGhlIGl0ZW0gc2l6ZSAoNjRrKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0JpbmFyeSBhdHRyaWJ1dGVzIGFyZSBzZXF1ZW5jZXMgb2YgdW5zaWduZWQgYnl0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBudW1iZXJzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29tcGFyaXNvbk9wZXJhdG9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlbnVtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VRJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05FJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lOJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xFJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xUJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dFJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dUJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JFVFdFRU4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTk9UX05VTEwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlVMTCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDT05UQUlOUycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOT1RfQ09OVEFJTlMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQkVHSU5TX1dJVEgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V4Y2x1c2l2ZVN0YXJ0S2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdQcmltYXJ5IGtleSBvZiB0aGUgaXRlbSBmcm9tIHdoaWNoIHRvIGNvbnRpbnVlIGFuIGVhcmxpZXIgc2Nhbi4gQW4gZWFybGllciBzY2FuIG1pZ2h0IHByb3ZpZGUgdGhpcyB2YWx1ZSBpZiB0aGF0IHNjYW4gb3BlcmF0aW9uIHdhcyBpbnRlcnJ1cHRlZCBiZWZvcmUgc2Nhbm5pbmcgdGhlIGVudGlyZSB0YWJsZTsgZWl0aGVyIGJlY2F1c2Ugb2YgdGhlIHJlc3VsdCBzZXQgc2l6ZSBvciB0aGUgTGltaXQgcGFyYW1ldGVyLiBUaGUgTGFzdEV2YWx1YXRlZEtleSBjYW4gYmUgcGFzc2VkIGJhY2sgaW4gYSBuZXcgc2NhbiByZXF1ZXN0IHRvIGNvbnRpbnVlIHRoZSBvcGVyYXRpb24gZnJvbSB0aGF0IHBvaW50LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0hhc2hLZXlFbGVtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgaGFzaCBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIHRoZSBwcmltYXJ5IGtleSwgYW5kIGNhbiBiZSBhIHN0cmluZyBvciBhIG51bWJlci4gU2luZ2xlIGF0dHJpYnV0ZSBwcmltYXJ5IGtleXMgaGF2ZSBvbmUgaW5kZXggdmFsdWUuIFRoZSB2YWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIFN0cmluZ1NldCwgTnVtYmVyU2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTdHJpbmdzIGFyZSBVbmljb2RlIHdpdGggVVRGLTggYmluYXJ5IGVuY29kaW5nLiBUaGUgbWF4aW11bSBzaXplIGlzIGxpbWl0ZWQgYnkgdGhlIHNpemUgb2YgdGhlIHByaW1hcnkga2V5ICgxMDI0IGJ5dGVzIGFzIGEgcmFuZ2UgcGFydCBvZiBhIGtleSBvciAyMDQ4IGJ5dGVzIGFzIGEgc2luZ2xlIHBhcnQgaGFzaCBrZXkpIG9yIHRoZSBpdGVtIHNpemUgKDY0aykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdOdW1iZXJzIGFyZSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBleGFjdC12YWx1ZSBkZWNpbWFscyBhbmQgaW50ZWdlcnMuIEEgbnVtYmVyIGNhbiBoYXZlIHVwIHRvIDM4IGRpZ2l0cyBwcmVjaXNpb24gYW5kIGNhbiBiZSBiZXR3ZWVuIDEwXi0xMjggdG8gMTBeKzEyNi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0JpbmFyeSBhdHRyaWJ1dGVzIGFyZSBzZXF1ZW5jZXMgb2YgdW5zaWduZWQgYnl0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBudW1iZXJzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBiaW5hcnkgYXR0cmlidXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSYW5nZUtleUVsZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSByYW5nZSBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIGEgc2Vjb25kYXJ5IGtleSAodXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcmltYXJ5IGtleSksIGFuZCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBudW1iZXIsIGFuZCBpcyBvbmx5IHVzZWQgZm9yIGhhc2gtYW5kLXJhbmdlIHByaW1hcnkga2V5cy4gVGhlIHZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgU3RyaW5nU2V0LCBOdW1iZXJTZXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1N0cmluZ3MgYXJlIFVuaWNvZGUgd2l0aCBVVEYtOCBiaW5hcnkgZW5jb2RpbmcuIFRoZSBtYXhpbXVtIHNpemUgaXMgbGltaXRlZCBieSB0aGUgc2l6ZSBvZiB0aGUgcHJpbWFyeSBrZXkgKDEwMjQgYnl0ZXMgYXMgYSByYW5nZSBwYXJ0IG9mIGEga2V5IG9yIDIwNDggYnl0ZXMgYXMgYSBzaW5nbGUgcGFydCBoYXNoIGtleSkgb3IgdGhlIGl0ZW0gc2l6ZSAoNjRrKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ051bWJlcnMgYXJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGV4YWN0LXZhbHVlIGRlY2ltYWxzIGFuZCBpbnRlZ2Vycy4gQSBudW1iZXIgY2FuIGhhdmUgdXAgdG8gMzggZGlnaXRzIHByZWNpc2lvbiBhbmQgY2FuIGJlIGJldHdlZW4gMTBeLTEyOCB0byAxMF4rMTI2LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQmluYXJ5IGF0dHJpYnV0ZXMgYXJlIHNlcXVlbmNlcyBvZiB1bnNpZ25lZCBieXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgbGV2ZWwgb2YgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCBkZWZpbmVkIGZvciB0aGUgdGFibGUgaXMgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQcm92aXNpb25lZFRocm91Z2hwdXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSByZXNvdXJjZSB3aGljaCBpcyBiZWluZyBhdHRlbXB0ZWQgdG8gYmUgY2hhbmdlZCBpcyBpbiB1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gdGhlIHNlcnZpY2UgaGFzIGEgcHJvYmxlbSB3aGVuIHRyeWluZyB0byBwcm9jZXNzIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZUl0ZW0nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVXBkYXRlSXRlbU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdyZXNwb25zZU5vdGVzJyA9PiAnUmV0dXJucyBhIGpzb25fZGVjb2RlZCBhcnJheSBvZiB0aGUgcmVzcG9uc2UgYm9keScsCiAgICAgICAgICAgICdzdW1tYXJ5JyA9PiAnRWRpdHMgYW4gZXhpc3RpbmcgaXRlbVwncyBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRHluYW1vREJfMjAxMTEyMDUuVXBkYXRlSXRlbScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBuYW1lIG9mIHRoZSB0YWJsZSBpbiB3aGljaCB5b3Ugd2FudCB0byB1cGRhdGUgYW4gaXRlbS4gQWxsb3dlZCBjaGFyYWN0ZXJzIGFyZSBhLXosIEEtWiwgMC05LCBfICh1bmRlcnNjb3JlKSwgLSAoaHlwaGVuKSBhbmQgLiAocGVyaW9kKS4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAzLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0hhc2hLZXlFbGVtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgaGFzaCBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIHRoZSBwcmltYXJ5IGtleSwgYW5kIGNhbiBiZSBhIHN0cmluZyBvciBhIG51bWJlci4gU2luZ2xlIGF0dHJpYnV0ZSBwcmltYXJ5IGtleXMgaGF2ZSBvbmUgaW5kZXggdmFsdWUuIFRoZSB2YWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIFN0cmluZ1NldCwgTnVtYmVyU2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTdHJpbmdzIGFyZSBVbmljb2RlIHdpdGggVVRGLTggYmluYXJ5IGVuY29kaW5nLiBUaGUgbWF4aW11bSBzaXplIGlzIGxpbWl0ZWQgYnkgdGhlIHNpemUgb2YgdGhlIHByaW1hcnkga2V5ICgxMDI0IGJ5dGVzIGFzIGEgcmFuZ2UgcGFydCBvZiBhIGtleSBvciAyMDQ4IGJ5dGVzIGFzIGEgc2luZ2xlIHBhcnQgaGFzaCBrZXkpIG9yIHRoZSBpdGVtIHNpemUgKDY0aykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdOdW1iZXJzIGFyZSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBleGFjdC12YWx1ZSBkZWNpbWFscyBhbmQgaW50ZWdlcnMuIEEgbnVtYmVyIGNhbiBoYXZlIHVwIHRvIDM4IGRpZ2l0cyBwcmVjaXNpb24gYW5kIGNhbiBiZSBiZXR3ZWVuIDEwXi0xMjggdG8gMTBeKzEyNi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0JpbmFyeSBhdHRyaWJ1dGVzIGFyZSBzZXF1ZW5jZXMgb2YgdW5zaWduZWQgYnl0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBudW1iZXJzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBiaW5hcnkgYXR0cmlidXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSYW5nZUtleUVsZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSByYW5nZSBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIGEgc2Vjb25kYXJ5IGtleSAodXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcmltYXJ5IGtleSksIGFuZCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBudW1iZXIsIGFuZCBpcyBvbmx5IHVzZWQgZm9yIGhhc2gtYW5kLXJhbmdlIHByaW1hcnkga2V5cy4gVGhlIHZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgU3RyaW5nU2V0LCBOdW1iZXJTZXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1N0cmluZ3MgYXJlIFVuaWNvZGUgd2l0aCBVVEYtOCBiaW5hcnkgZW5jb2RpbmcuIFRoZSBtYXhpbXVtIHNpemUgaXMgbGltaXRlZCBieSB0aGUgc2l6ZSBvZiB0aGUgcHJpbWFyeSBrZXkgKDEwMjQgYnl0ZXMgYXMgYSByYW5nZSBwYXJ0IG9mIGEga2V5IG9yIDIwNDggYnl0ZXMgYXMgYSBzaW5nbGUgcGFydCBoYXNoIGtleSkgb3IgdGhlIGl0ZW0gc2l6ZSAoNjRrKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ051bWJlcnMgYXJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGV4YWN0LXZhbHVlIGRlY2ltYWxzIGFuZCBpbnRlZ2Vycy4gQSBudW1iZXIgY2FuIGhhdmUgdXAgdG8gMzggZGlnaXRzIHByZWNpc2lvbiBhbmQgY2FuIGJlIGJldHdlZW4gMTBeLTEyOCB0byAxMF4rMTI2LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQmluYXJ5IGF0dHJpYnV0ZXMgYXJlIHNlcXVlbmNlcyBvZiB1bnNpZ25lZCBieXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVVcGRhdGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwZWNpZmllcyB0aGUgYXR0cmlidXRlIHRvIHVwZGF0ZSBhbmQgaG93IHRvIHBlcmZvcm0gdGhlIHVwZGF0ZS4gUG9zc2libGUgdmFsdWVzOiBQVVQgKGRlZmF1bHQpLCBBREQgb3IgREVMRVRFLicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTdHJpbmdzIGFyZSBVbmljb2RlIHdpdGggVVRGLTggYmluYXJ5IGVuY29kaW5nLiBUaGUgbWF4aW11bSBzaXplIGlzIGxpbWl0ZWQgYnkgdGhlIHNpemUgb2YgdGhlIHByaW1hcnkga2V5ICgxMDI0IGJ5dGVzIGFzIGEgcmFuZ2UgcGFydCBvZiBhIGtleSBvciAyMDQ4IGJ5dGVzIGFzIGEgc2luZ2xlIHBhcnQgaGFzaCBrZXkpIG9yIHRoZSBpdGVtIHNpemUgKDY0aykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQmluYXJ5IGF0dHJpYnV0ZXMgYXJlIHNlcXVlbmNlcyBvZiB1bnNpZ25lZCBieXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VudW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQUREJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BVVCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdERUxFVEUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V4cGVjdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQWxsb3dzIHlvdSB0byBwcm92aWRlIGFuIGF0dHJpYnV0ZSBuYW1lLCBhbmQgd2hldGhlciBvciBub3QgQW1hem9uIER5bmFtb0RCIHNob3VsZCBjaGVjayB0byBzZWUgaWYgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBhbHJlYWR5IGV4aXN0czsgb3IgaWYgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBleGlzdHMgYW5kIGhhcyBhIHBhcnRpY3VsYXIgdmFsdWUgYmVmb3JlIGNoYW5naW5nIGl0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGVjaWZ5IHdoZXRoZXIgb3Igbm90IGEgdmFsdWUgYWxyZWFkeSBleGlzdHMgYW5kIGhhcyBhIHNwZWNpZmljIGNvbnRlbnQgZm9yIHRoZSBhdHRyaWJ1dGUgbmFtZS12YWx1ZSBwYWlyLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ051bWJlcnMgYXJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGV4YWN0LXZhbHVlIGRlY2ltYWxzIGFuZCBpbnRlZ2Vycy4gQSBudW1iZXIgY2FuIGhhdmUgdXAgdG8gMzggZGlnaXRzIHByZWNpc2lvbiBhbmQgY2FuIGJlIGJldHdlZW4gMTBeLTEyOCB0byAxMF4rMTI2LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0JpbmFyeSBhdHRyaWJ1dGVzIGFyZSBzZXF1ZW5jZXMgb2YgdW5zaWduZWQgYnl0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2Ygc3RyaW5ncy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBudW1iZXJzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V4aXN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3BlY2lmeSB3aGV0aGVyIG9yIG5vdCBhIHZhbHVlIGFscmVhZHkgZXhpc3RzIGZvciB0aGUgYXR0cmlidXRlIG5hbWUtdmFsdWUgcGFpci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmV0dXJuVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2VudW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnTk9ORScsCiAgICAgICAgICAgICAgICAgICAgICAgICdBTExfT0xEJywKICAgICAgICAgICAgICAgICAgICAgICAgJ1VQREFURURfT0xEJywKICAgICAgICAgICAgICAgICAgICAgICAgJ0FMTF9ORVcnLAogICAgICAgICAgICAgICAgICAgICAgICAnVVBEQVRFRF9ORVcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIGFuIGV4cGVjdGVkIHZhbHVlIGRvZXMgbm90IG1hdGNoIHdoYXQgd2FzIGZvdW5kIGluIHRoZSBzeXN0ZW0uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDb25kaXRpb25hbENoZWNrRmFpbGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gdGhlIGxldmVsIG9mIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQgZGVmaW5lZCBmb3IgdGhlIHRhYmxlIGlzIGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgcmVzb3VyY2Ugd2hpY2ggaXMgYmVpbmcgYXR0ZW1wdGVkIHRvIGJlIGNoYW5nZWQgaXMgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBzZXJ2aWNlIGhhcyBhIHByb2JsZW0gd2hlbiB0cnlpbmcgdG8gcHJvY2VzcyB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVUYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdVcGRhdGVUYWJsZU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdyZXNwb25zZU5vdGVzJyA9PiAnUmV0dXJucyBhIGpzb25fZGVjb2RlZCBhcnJheSBvZiB0aGUgcmVzcG9uc2UgYm9keScsCiAgICAgICAgICAgICdzdW1tYXJ5JyA9PiAnVXBkYXRlcyB0aGUgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCBmb3IgdGhlIGdpdmVuIHRhYmxlLicsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRHluYW1vREJfMjAxMTEyMDUuVXBkYXRlVGFibGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbmFtZSBvZiB0aGUgdGFibGUgeW91IHdhbnQgdG8gdXBkYXRlLiBBbGxvd2VkIGNoYXJhY3RlcnMgYXJlIGEteiwgQS1aLCAwLTksIF8gKHVuZGVyc2NvcmUpLCAtIChoeXBoZW4pIGFuZCAuIChwZXJpb2QpLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcm92aXNpb25lZFRocm91Z2hwdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUmVhZENhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnUmVhZENhcGFjaXR5VW5pdHMgYXJlIGluIHRlcm1zIG9mIHN0cmljdGx5IGNvbnNpc3RlbnQgcmVhZHMsIGFzc3VtaW5nIGl0ZW1zIG9mIDFrLiAyayBpdGVtcyByZXF1aXJlIHR3aWNlIHRoZSBSZWFkQ2FwYWNpdHlVbml0cy4gRXZlbnR1YWxseS1jb25zaXN0ZW50IHJlYWRzIG9ubHkgcmVxdWlyZSBoYWxmIHRoZSBSZWFkQ2FwYWNpdHlVbml0cyBvZiBzdGlyY3RseSBjb25zaXN0ZW50IHJlYWRzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdXcml0ZUNhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnV3JpdGVDYXBhY2l0eVVuaXRzIGFyZSBpbiB0ZXJtcyBvZiBzdHJpY3RseSBjb25zaXN0ZW50IHJlYWRzLCBhc3N1bWluZyBpdGVtcyBvZiAxay4gMmsgaXRlbXMgcmVxdWlyZSB0d2ljZSB0aGUgV3JpdGVDYXBhY2l0eVVuaXRzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gdGhlIHJlc291cmNlIHdoaWNoIGlzIGJlaW5nIGF0dGVtcHRlZCB0byBiZSBjaGFuZ2VkIGlzIGluIHVzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlSW5Vc2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgcmVzb3VyY2Ugd2hpY2ggaXMgYmVpbmcgYXR0ZW1wdGVkIHRvIGJlIGNoYW5nZWQgaXMgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBzdWJzY3JpYmVyIGV4Y2VlZGVkIHRoZSBsaW1pdHMgb24gdGhlIG51bWJlciBvZiBvYmplY3RzIG9yIG9wZXJhdGlvbnMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gdGhlIHNlcnZpY2UgaGFzIGEgcHJvYmxlbSB3aGVuIHRyeWluZyB0byBwcm9jZXNzIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ21vZGVscycgPT4gYXJyYXkoCiAgICAgICAgJ0JhdGNoR2V0SXRlbU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGl0ZW0gYXR0cmlidXRlcyBmcm9tIGEgcmVzcG9uc2UgaW4gYSBzcGVjaWZpYyB0YWJsZSwgYWxvbmcgd2l0aCB0aGUgcmVhZCByZXNvdXJjZXMgY29uc3VtZWQgb24gdGhlIHRhYmxlIGR1cmluZyB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGVNYXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBdHRyaWJ1dGVWYWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIEJpbmFyeSwgU3RyaW5nU2V0LCBOdW1iZXJTZXQsIEJpbmFyeVNldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdCaW5hcnkgYXR0cmlidXRlcyBhcmUgc2VxdWVuY2VzIG9mIHVuc2lnbmVkIGJ5dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29uc3VtZWRDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVbnByb2Nlc3NlZEtleXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0NvbnRhaW5zIGEgbWFwIG9mIHRhYmxlcyBhbmQgdGhlaXIgcmVzcGVjdGl2ZSBrZXlzIHRoYXQgd2VyZSBub3QgcHJvY2Vzc2VkIHdpdGggdGhlIGN1cnJlbnQgcmVzcG9uc2UsIHBvc3NpYmx5IGR1ZSB0byByZWFjaGluZyBhIGxpbWl0IG9uIHRoZSByZXNwb25zZSBzaXplLiBUaGUgVW5wcm9jZXNzZWRLZXlzIHZhbHVlIGlzIGluIHRoZSBzYW1lIGZvcm0gYXMgYSBSZXF1ZXN0SXRlbXMgcGFyYW1ldGVyIChzbyB0aGUgdmFsdWUgY2FuIGJlIHByb3ZpZGVkIGRpcmVjdGx5IHRvIGEgc3Vic2VxdWVudCBCYXRjaEdldEl0ZW0gb3BlcmF0aW9uKS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUgYWJvdmUgUmVxdWVzdEl0ZW1zIHBhcmFtZXRlci4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBwcmltYXJ5IGtleSB0aGF0IHVuaXF1ZWx5IGlkZW50aWZpZXMgZWFjaCBpdGVtIGluIGEgdGFibGUuIEEgcHJpbWFyeSBrZXkgY2FuIGJlIGEgb25lIGF0dHJpYnV0ZSAoaGFzaCkgcHJpbWFyeSBrZXkgb3IgYSB0d28gYXR0cmlidXRlIChoYXNoLWFuZC1yYW5nZSkgcHJpbWFyeSBrZXkuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSGFzaEtleUVsZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgaGFzaCBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIHRoZSBwcmltYXJ5IGtleSwgYW5kIGNhbiBiZSBhIHN0cmluZyBvciBhIG51bWJlci4gU2luZ2xlIGF0dHJpYnV0ZSBwcmltYXJ5IGtleXMgaGF2ZSBvbmUgaW5kZXggdmFsdWUuIFRoZSB2YWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIFN0cmluZ1NldCwgTnVtYmVyU2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ051bWJlcnMgYXJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGV4YWN0LXZhbHVlIGRlY2ltYWxzIGFuZCBpbnRlZ2Vycy4gQSBudW1iZXIgY2FuIGhhdmUgdXAgdG8gMzggZGlnaXRzIHByZWNpc2lvbiBhbmQgY2FuIGJlIGJldHdlZW4gMTBeLTEyOCB0byAxMF4rMTI2LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0JpbmFyeSBhdHRyaWJ1dGVzIGFyZSBzZXF1ZW5jZXMgb2YgdW5zaWduZWQgYnl0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgbnVtYmVycy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBiaW5hcnkgYXR0cmlidXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmFuZ2VLZXlFbGVtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHJhbmdlIGtleSBlbGVtZW50IGlzIHRyZWF0ZWQgYXMgYSBzZWNvbmRhcnkga2V5ICh1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHByaW1hcnkga2V5KSwgYW5kIGNhbiBiZSBhIHN0cmluZyBvciBhIG51bWJlciwgYW5kIGlzIG9ubHkgdXNlZCBmb3IgaGFzaC1hbmQtcmFuZ2UgcHJpbWFyeSBrZXlzLiBUaGUgdmFsdWUgY2FuIGJlIFN0cmluZywgTnVtYmVyLCBTdHJpbmdTZXQsIE51bWJlclNldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1N0cmluZ3MgYXJlIFVuaWNvZGUgd2l0aCBVVEYtOCBiaW5hcnkgZW5jb2RpbmcuIFRoZSBtYXhpbXVtIHNpemUgaXMgbGltaXRlZCBieSB0aGUgc2l6ZSBvZiB0aGUgcHJpbWFyeSBrZXkgKDEwMjQgYnl0ZXMgYXMgYSByYW5nZSBwYXJ0IG9mIGEga2V5IG9yIDIwNDggYnl0ZXMgYXMgYSBzaW5nbGUgcGFydCBoYXNoIGtleSkgb3IgdGhlIGl0ZW0gc2l6ZSAoNjRrKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdOdW1iZXJzIGFyZSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBleGFjdC12YWx1ZSBkZWNpbWFscyBhbmQgaW50ZWdlcnMuIEEgbnVtYmVyIGNhbiBoYXZlIHVwIHRvIDM4IGRpZ2l0cyBwcmVjaXNpb24gYW5kIGNhbiBiZSBiZXR3ZWVuIDEwXi0xMjggdG8gMTBeKzEyNi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdCaW5hcnkgYXR0cmlidXRlcyBhcmUgc2VxdWVuY2VzIG9mIHVuc2lnbmVkIGJ5dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXNUb0dldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnNpc3RlbnRSZWFkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdCYXRjaFdyaXRlSXRlbU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgcmVzcG9uc2Ugb2JqZWN0IGFzIGEgcmVzdWx0IG9mIEJhdGNoV3JpdGVJdGVtIGNhbGwuIFRoaXMgaXMgZXNzZW50aWFsbHkgYSBtYXAgb2YgdGFibGUgbmFtZSB0byBDb25zdW1lZENhcGFjaXR5VW5pdHMuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29uc3VtZWRDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVbnByb2Nlc3NlZEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgSXRlbXMgd2hpY2ggd2UgY291bGQgbm90IHN1Y2Nlc3NmdWxseSBwcm9jZXNzIGluIGEgQmF0Y2hXcml0ZUl0ZW0gY2FsbCBpcyByZXR1cm5lZCBhcyBVbnByb2Nlc3NlZEl0ZW1zJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1dyaXRlUmVxdWVzdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGlzIHN0cnVjdHVyZSBpcyBhIFVuaW9uIG9mIFB1dFJlcXVlc3QgYW5kIERlbGV0ZVJlcXVlc3QuIEl0IGNhbiBjb250YWluIGV4YWN0bHkgb25lIG9mIFB1dFJlcXVlc3Qgb3IgRGVsZXRlUmVxdWVzdC4gTmV2ZXIgQm90aC4gVGhpcyBpcyBlbmZvcmNlZCBpbiB0aGUgY29kZS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQdXRSZXF1ZXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIGl0ZW0gdG8gcHV0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQXR0cmlidXRlVmFsdWUgY2FuIGJlIFN0cmluZywgTnVtYmVyLCBCaW5hcnksIFN0cmluZ1NldCwgTnVtYmVyU2V0LCBCaW5hcnlTZXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdOdW1iZXJzIGFyZSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBleGFjdC12YWx1ZSBkZWNpbWFscyBhbmQgaW50ZWdlcnMuIEEgbnVtYmVyIGNhbiBoYXZlIHVwIHRvIDM4IGRpZ2l0cyBwcmVjaXNpb24gYW5kIGNhbiBiZSBiZXR3ZWVuIDEwXi0xMjggdG8gMTBeKzEyNi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQmluYXJ5IGF0dHJpYnV0ZXMgYXJlIHNlcXVlbmNlcyBvZiB1bnNpZ25lZCBieXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBudW1iZXJzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZVJlcXVlc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBpdGVtXCdzIGtleSB0byBiZSBkZWxldGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIYXNoS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGhhc2gga2V5IGVsZW1lbnQgaXMgdHJlYXRlZCBhcyB0aGUgcHJpbWFyeSBrZXksIGFuZCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBudW1iZXIuIFNpbmdsZSBhdHRyaWJ1dGUgcHJpbWFyeSBrZXlzIGhhdmUgb25lIGluZGV4IHZhbHVlLiBUaGUgdmFsdWUgY2FuIGJlIFN0cmluZywgTnVtYmVyLCBTdHJpbmdTZXQsIE51bWJlclNldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdCaW5hcnkgYXR0cmlidXRlcyBhcmUgc2VxdWVuY2VzIG9mIHVuc2lnbmVkIGJ5dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSYW5nZUtleUVsZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSByYW5nZSBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIGEgc2Vjb25kYXJ5IGtleSAodXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcmltYXJ5IGtleSksIGFuZCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBudW1iZXIsIGFuZCBpcyBvbmx5IHVzZWQgZm9yIGhhc2gtYW5kLXJhbmdlIHByaW1hcnkga2V5cy4gVGhlIHZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgU3RyaW5nU2V0LCBOdW1iZXJTZXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1N0cmluZ3MgYXJlIFVuaWNvZGUgd2l0aCBVVEYtOCBiaW5hcnkgZW5jb2RpbmcuIFRoZSBtYXhpbXVtIHNpemUgaXMgbGltaXRlZCBieSB0aGUgc2l6ZSBvZiB0aGUgcHJpbWFyeSBrZXkgKDEwMjQgYnl0ZXMgYXMgYSByYW5nZSBwYXJ0IG9mIGEga2V5IG9yIDIwNDggYnl0ZXMgYXMgYSBzaW5nbGUgcGFydCBoYXNoIGtleSkgb3IgdGhlIGl0ZW0gc2l6ZSAoNjRrKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ051bWJlcnMgYXJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGV4YWN0LXZhbHVlIGRlY2ltYWxzIGFuZCBpbnRlZ2Vycy4gQSBudW1iZXIgY2FuIGhhdmUgdXAgdG8gMzggZGlnaXRzIHByZWNpc2lvbiBhbmQgY2FuIGJlIGJldHdlZW4gMTBeLTEyOCB0byAxMF4rMTI2LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQmluYXJ5IGF0dHJpYnV0ZXMgYXJlIHNlcXVlbmNlcyBvZiB1bnNpZ25lZCBieXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBudW1iZXJzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBiaW5hcnkgYXR0cmlidXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVRhYmxlT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdUYWJsZURlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBuYW1lIG9mIHRoZSB0YWJsZSBiZWluZyBkZXNjcmliZWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVNjaGVtYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hhc2hLZXlFbGVtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBoYXNoIGtleSBlbGVtZW50IGlzIHRyZWF0ZWQgYXMgdGhlIHByaW1hcnkga2V5LCBhbmQgY2FuIGJlIGEgc3RyaW5nIG9yIGEgbnVtYmVyLiBTaW5nbGUgYXR0cmlidXRlIHByaW1hcnkga2V5cyBoYXZlIG9uZSBpbmRleCB2YWx1ZS4gVGhlIHZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgU3RyaW5nU2V0LCBOdW1iZXJTZXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIEF0dHJpYnV0ZU5hbWUgb2YgdGhlIEtleVNjaGVtYUVsZW1lbnQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBdHRyaWJ1dGVUeXBlIG9mIHRoZSBLZXlTY2hlbWFFbGVtZW50IHdoaWNoIGNhbiBiZSBhIFN0cmluZyBvciBhIE51bWJlci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmFuZ2VLZXlFbGVtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSByYW5nZSBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIGEgc2Vjb25kYXJ5IGtleSAodXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcmltYXJ5IGtleSksIGFuZCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBudW1iZXIsIGFuZCBpcyBvbmx5IHVzZWQgZm9yIGhhc2gtYW5kLXJhbmdlIHByaW1hcnkga2V5cy4gVGhlIHZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgU3RyaW5nU2V0LCBOdW1iZXJTZXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIEF0dHJpYnV0ZU5hbWUgb2YgdGhlIEtleVNjaGVtYUVsZW1lbnQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBdHRyaWJ1dGVUeXBlIG9mIHRoZSBLZXlTY2hlbWFFbGVtZW50IHdoaWNoIGNhbiBiZSBhIFN0cmluZyBvciBhIE51bWJlci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUYWJsZVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGlvbkRhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3Zpc2lvbmVkVGhyb3VnaHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhc3RJbmNyZWFzZURhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhc3REZWNyZWFzZURhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlYWRDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXcml0ZUNhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGVTaXplQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1Db3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUl0ZW1PdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0lmIHRoZSBSZXR1cm5WYWx1ZXMgcGFyYW1ldGVyIGlzIHByb3ZpZGVkIGFzIEFMTF9PTEQgaW4gdGhlIHJlcXVlc3QsIEFtYXpvbiBEeW5hbW9EQiByZXR1cm5zIGFuIGFycmF5IG9mIGF0dHJpYnV0ZSBuYW1lLXZhbHVlIHBhaXJzIChlc3NlbnRpYWxseSwgdGhlIGRlbGV0ZWQgaXRlbSkuIE90aGVyd2lzZSwgdGhlIHJlc3BvbnNlIGNvbnRhaW5zIGFuIGVtcHR5IHNldC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBdHRyaWJ1dGVWYWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIEJpbmFyeSwgU3RyaW5nU2V0LCBOdW1iZXJTZXQsIEJpbmFyeVNldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTdHJpbmdzIGFyZSBVbmljb2RlIHdpdGggVVRGLTggYmluYXJ5IGVuY29kaW5nLiBUaGUgbWF4aW11bSBzaXplIGlzIGxpbWl0ZWQgYnkgdGhlIHNpemUgb2YgdGhlIHByaW1hcnkga2V5ICgxMDI0IGJ5dGVzIGFzIGEgcmFuZ2UgcGFydCBvZiBhIGtleSBvciAyMDQ4IGJ5dGVzIGFzIGEgc2luZ2xlIHBhcnQgaGFzaCBrZXkpIG9yIHRoZSBpdGVtIHNpemUgKDY0aykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ051bWJlcnMgYXJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGV4YWN0LXZhbHVlIGRlY2ltYWxzIGFuZCBpbnRlZ2Vycy4gQSBudW1iZXIgY2FuIGhhdmUgdXAgdG8gMzggZGlnaXRzIHByZWNpc2lvbiBhbmQgY2FuIGJlIGJldHdlZW4gMTBeLTEyOCB0byAxMF4rMTI2LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdCaW5hcnkgYXR0cmlidXRlcyBhcmUgc2VxdWVuY2VzIG9mIHVuc2lnbmVkIGJ5dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2Ygc3RyaW5ncy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBiaW5hcnkgYXR0cmlidXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29uc3VtZWRDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVUYWJsZU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFibGVEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbmFtZSBvZiB0aGUgdGFibGUgYmVpbmcgZGVzY3JpYmVkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdLZXlTY2hlbWEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIYXNoS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgaGFzaCBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIHRoZSBwcmltYXJ5IGtleSwgYW5kIGNhbiBiZSBhIHN0cmluZyBvciBhIG51bWJlci4gU2luZ2xlIGF0dHJpYnV0ZSBwcmltYXJ5IGtleXMgaGF2ZSBvbmUgaW5kZXggdmFsdWUuIFRoZSB2YWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIFN0cmluZ1NldCwgTnVtYmVyU2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBdHRyaWJ1dGVOYW1lIG9mIHRoZSBLZXlTY2hlbWFFbGVtZW50LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgQXR0cmlidXRlVHlwZSBvZiB0aGUgS2V5U2NoZW1hRWxlbWVudCB3aGljaCBjYW4gYmUgYSBTdHJpbmcgb3IgYSBOdW1iZXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JhbmdlS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgcmFuZ2Uga2V5IGVsZW1lbnQgaXMgdHJlYXRlZCBhcyBhIHNlY29uZGFyeSBrZXkgKHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgcHJpbWFyeSBrZXkpLCBhbmQgY2FuIGJlIGEgc3RyaW5nIG9yIGEgbnVtYmVyLCBhbmQgaXMgb25seSB1c2VkIGZvciBoYXNoLWFuZC1yYW5nZSBwcmltYXJ5IGtleXMuIFRoZSB2YWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIFN0cmluZ1NldCwgTnVtYmVyU2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBdHRyaWJ1dGVOYW1lIG9mIHRoZSBLZXlTY2hlbWFFbGVtZW50LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgQXR0cmlidXRlVHlwZSBvZiB0aGUgS2V5U2NoZW1hRWxlbWVudCB3aGljaCBjYW4gYmUgYSBTdHJpbmcgb3IgYSBOdW1iZXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGVTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcm92aXNpb25lZFRocm91Z2hwdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0SW5jcmVhc2VEYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0RGVjcmVhc2VEYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWFkQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV3JpdGVDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhYmxlU2l6ZUJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVRhYmxlT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdUYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgbmFtZSBvZiB0aGUgdGFibGUgYmVpbmcgZGVzY3JpYmVkLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdLZXlTY2hlbWEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIYXNoS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgaGFzaCBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIHRoZSBwcmltYXJ5IGtleSwgYW5kIGNhbiBiZSBhIHN0cmluZyBvciBhIG51bWJlci4gU2luZ2xlIGF0dHJpYnV0ZSBwcmltYXJ5IGtleXMgaGF2ZSBvbmUgaW5kZXggdmFsdWUuIFRoZSB2YWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIFN0cmluZ1NldCwgTnVtYmVyU2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBdHRyaWJ1dGVOYW1lIG9mIHRoZSBLZXlTY2hlbWFFbGVtZW50LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgQXR0cmlidXRlVHlwZSBvZiB0aGUgS2V5U2NoZW1hRWxlbWVudCB3aGljaCBjYW4gYmUgYSBTdHJpbmcgb3IgYSBOdW1iZXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JhbmdlS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgcmFuZ2Uga2V5IGVsZW1lbnQgaXMgdHJlYXRlZCBhcyBhIHNlY29uZGFyeSBrZXkgKHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgcHJpbWFyeSBrZXkpLCBhbmQgY2FuIGJlIGEgc3RyaW5nIG9yIGEgbnVtYmVyLCBhbmQgaXMgb25seSB1c2VkIGZvciBoYXNoLWFuZC1yYW5nZSBwcmltYXJ5IGtleXMuIFRoZSB2YWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIFN0cmluZ1NldCwgTnVtYmVyU2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBdHRyaWJ1dGVOYW1lIG9mIHRoZSBLZXlTY2hlbWFFbGVtZW50LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUaGUgQXR0cmlidXRlVHlwZSBvZiB0aGUgS2V5U2NoZW1hRWxlbWVudCB3aGljaCBjYW4gYmUgYSBTdHJpbmcgb3IgYSBOdW1iZXIuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGVTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcm92aXNpb25lZFRocm91Z2hwdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0SW5jcmVhc2VEYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0RGVjcmVhc2VEYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWFkQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV3JpdGVDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhYmxlU2l6ZUJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRJdGVtT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJdGVtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdDb250YWlucyB0aGUgcmVxdWVzdGVkIGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQXR0cmlidXRlVmFsdWUgY2FuIGJlIFN0cmluZywgTnVtYmVyLCBCaW5hcnksIFN0cmluZ1NldCwgTnVtYmVyU2V0LCBCaW5hcnlTZXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdOdW1iZXJzIGFyZSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBleGFjdC12YWx1ZSBkZWNpbWFscyBhbmQgaW50ZWdlcnMuIEEgbnVtYmVyIGNhbiBoYXZlIHVwIHRvIDM4IGRpZ2l0cyBwcmVjaXNpb24gYW5kIGNhbiBiZSBiZXR3ZWVuIDEwXi0xMjggdG8gMTBeKzEyNi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQmluYXJ5IGF0dHJpYnV0ZXMgYXJlIHNlcXVlbmNlcyBvZiB1bnNpZ25lZCBieXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBudW1iZXJzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnN1bWVkQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFRhYmxlc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFibGVOYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWJsZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGFzdEV2YWx1YXRlZFRhYmxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIG5hbWUgb2YgdGhlIGxhc3QgdGFibGUgaW4gdGhlIGN1cnJlbnQgbGlzdC4gVXNlIHRoaXMgdmFsdWUgYXMgdGhlIEV4Y2x1c2l2ZVN0YXJ0VGFibGVOYW1lIGluIGEgbmV3IHJlcXVlc3QgdG8gY29udGludWUgdGhlIGxpc3QgdW50aWwgYWxsIHRoZSB0YWJsZSBuYW1lcyBhcmUgcmV0dXJuZWQuIElmIHRoaXMgdmFsdWUgaXMgbnVsbCwgYWxsIHRhYmxlIG5hbWVzIGhhdmUgYmVlbiByZXR1cm5lZC4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHV0SXRlbU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQXR0cmlidXRlIHZhbHVlcyBiZWZvcmUgdGhlIHB1dCBvcGVyYXRpb24sIGJ1dCBvbmx5IGlmIHRoZSBSZXR1cm5WYWx1ZXMgcGFyYW1ldGVyIGlzIHNwZWNpZmllZCBhcyBBTExfT0xEIGluIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0F0dHJpYnV0ZVZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgQmluYXJ5LCBTdHJpbmdTZXQsIE51bWJlclNldCwgQmluYXJ5U2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1N0cmluZ3MgYXJlIFVuaWNvZGUgd2l0aCBVVEYtOCBiaW5hcnkgZW5jb2RpbmcuIFRoZSBtYXhpbXVtIHNpemUgaXMgbGltaXRlZCBieSB0aGUgc2l6ZSBvZiB0aGUgcHJpbWFyeSBrZXkgKDEwMjQgYnl0ZXMgYXMgYSByYW5nZSBwYXJ0IG9mIGEga2V5IG9yIDIwNDggYnl0ZXMgYXMgYSBzaW5nbGUgcGFydCBoYXNoIGtleSkgb3IgdGhlIGl0ZW0gc2l6ZSAoNjRrKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0JpbmFyeSBhdHRyaWJ1dGVzIGFyZSBzZXF1ZW5jZXMgb2YgdW5zaWduZWQgYnl0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgbnVtYmVycy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb25zdW1lZENhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1F1ZXJ5T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGVNYXAnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBdHRyaWJ1dGVWYWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIEJpbmFyeSwgU3RyaW5nU2V0LCBOdW1iZXJTZXQsIEJpbmFyeVNldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdCaW5hcnkgYXR0cmlidXRlcyBhcmUgc2VxdWVuY2VzIG9mIHVuc2lnbmVkIGJ5dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ051bWJlciBvZiBpdGVtcyBpbiB0aGUgcmVzcG9uc2UuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXN0RXZhbHVhdGVkS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdQcmltYXJ5IGtleSBvZiB0aGUgaXRlbSB3aGVyZSB0aGUgcXVlcnkgb3BlcmF0aW9uIHN0b3BwZWQsIGluY2x1c2l2ZSBvZiB0aGUgcHJldmlvdXMgcmVzdWx0IHNldC4gVXNlIHRoaXMgdmFsdWUgdG8gc3RhcnQgYSBuZXcgb3BlcmF0aW9uIGV4Y2x1ZGluZyB0aGlzIHZhbHVlIGluIHRoZSBuZXcgcmVxdWVzdC4gVGhlIExhc3RFdmFsdWF0ZWRLZXkgaXMgbnVsbCB3aGVuIHRoZSBlbnRpcmUgcXVlcnkgcmVzdWx0IHNldCBpcyBjb21wbGV0ZSAoaS5lLiB0aGUgb3BlcmF0aW9uIHByb2Nlc3NlZCB0aGUgImxhc3QgcGFnZSIpLicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0hhc2hLZXlFbGVtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0EgaGFzaCBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIHRoZSBwcmltYXJ5IGtleSwgYW5kIGNhbiBiZSBhIHN0cmluZyBvciBhIG51bWJlci4gU2luZ2xlIGF0dHJpYnV0ZSBwcmltYXJ5IGtleXMgaGF2ZSBvbmUgaW5kZXggdmFsdWUuIFRoZSB2YWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIFN0cmluZ1NldCwgTnVtYmVyU2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTdHJpbmdzIGFyZSBVbmljb2RlIHdpdGggVVRGLTggYmluYXJ5IGVuY29kaW5nLiBUaGUgbWF4aW11bSBzaXplIGlzIGxpbWl0ZWQgYnkgdGhlIHNpemUgb2YgdGhlIHByaW1hcnkga2V5ICgxMDI0IGJ5dGVzIGFzIGEgcmFuZ2UgcGFydCBvZiBhIGtleSBvciAyMDQ4IGJ5dGVzIGFzIGEgc2luZ2xlIHBhcnQgaGFzaCBrZXkpIG9yIHRoZSBpdGVtIHNpemUgKDY0aykuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdOdW1iZXJzIGFyZSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBleGFjdC12YWx1ZSBkZWNpbWFscyBhbmQgaW50ZWdlcnMuIEEgbnVtYmVyIGNhbiBoYXZlIHVwIHRvIDM4IGRpZ2l0cyBwcmVjaXNpb24gYW5kIGNhbiBiZSBiZXR3ZWVuIDEwXi0xMjggdG8gMTBeKzEyNi4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0JpbmFyeSBhdHRyaWJ1dGVzIGFyZSBzZXF1ZW5jZXMgb2YgdW5zaWduZWQgYnl0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2Ygc3RyaW5ncy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgbnVtYmVycy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgYmluYXJ5IGF0dHJpYnV0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1JhbmdlS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHJhbmdlIGtleSBlbGVtZW50IGlzIHRyZWF0ZWQgYXMgYSBzZWNvbmRhcnkga2V5ICh1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHByaW1hcnkga2V5KSwgYW5kIGNhbiBiZSBhIHN0cmluZyBvciBhIG51bWJlciwgYW5kIGlzIG9ubHkgdXNlZCBmb3IgaGFzaC1hbmQtcmFuZ2UgcHJpbWFyeSBrZXlzLiBUaGUgdmFsdWUgY2FuIGJlIFN0cmluZywgTnVtYmVyLCBTdHJpbmdTZXQsIE51bWJlclNldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdCaW5hcnkgYXR0cmlidXRlcyBhcmUgc2VxdWVuY2VzIG9mIHVuc2lnbmVkIGJ5dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29uc3VtZWRDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTY2FuT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGVNYXAnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBdHRyaWJ1dGVWYWx1ZSBjYW4gYmUgU3RyaW5nLCBOdW1iZXIsIEJpbmFyeSwgU3RyaW5nU2V0LCBOdW1iZXJTZXQsIEJpbmFyeVNldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdCaW5hcnkgYXR0cmlidXRlcyBhcmUgc2VxdWVuY2VzIG9mIHVuc2lnbmVkIGJ5dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ051bWJlciBvZiBpdGVtcyBpbiB0aGUgcmVzcG9uc2UuJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTY2FubmVkQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ051bWJlciBvZiBpdGVtcyBpbiB0aGUgY29tcGxldGUgc2NhbiBiZWZvcmUgYW55IGZpbHRlcnMgYXJlIGFwcGxpZWQuIEEgaGlnaCBTY2FubmVkQ291bnQgdmFsdWUgd2l0aCBmZXcsIG9yIG5vLCBDb3VudCByZXN1bHRzIGluZGljYXRlcyBhbiBpbmVmZmljaWVudCBTY2FuIG9wZXJhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhc3RFdmFsdWF0ZWRLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1ByaW1hcnkga2V5IG9mIHRoZSBpdGVtIHdoZXJlIHRoZSBzY2FuIG9wZXJhdGlvbiBzdG9wcGVkLiBQcm92aWRlIHRoaXMgdmFsdWUgaW4gYSBzdWJzZXF1ZW50IHNjYW4gb3BlcmF0aW9uIHRvIGNvbnRpbnVlIHRoZSBvcGVyYXRpb24gZnJvbSB0aGF0IHBvaW50LiBUaGUgTGFzdEV2YWx1YXRlZEtleSBpcyBudWxsIHdoZW4gdGhlIGVudGlyZSBzY2FuIHJlc3VsdCBzZXQgaXMgY29tcGxldGUgKGkuZS4gdGhlIG9wZXJhdGlvbiBwcm9jZXNzZWQgdGhlICJsYXN0IHBhZ2UiKS4nLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdIYXNoS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIGhhc2gga2V5IGVsZW1lbnQgaXMgdHJlYXRlZCBhcyB0aGUgcHJpbWFyeSBrZXksIGFuZCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBudW1iZXIuIFNpbmdsZSBhdHRyaWJ1dGUgcHJpbWFyeSBrZXlzIGhhdmUgb25lIGluZGV4IHZhbHVlLiBUaGUgdmFsdWUgY2FuIGJlIFN0cmluZywgTnVtYmVyLCBTdHJpbmdTZXQsIE51bWJlclNldC4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnU3RyaW5ncyBhcmUgVW5pY29kZSB3aXRoIFVURi04IGJpbmFyeSBlbmNvZGluZy4gVGhlIG1heGltdW0gc2l6ZSBpcyBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIHRoZSBwcmltYXJ5IGtleSAoMTAyNCBieXRlcyBhcyBhIHJhbmdlIHBhcnQgb2YgYSBrZXkgb3IgMjA0OCBieXRlcyBhcyBhIHNpbmdsZSBwYXJ0IGhhc2gga2V5KSBvciB0aGUgaXRlbSBzaXplICg2NGspLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdCaW5hcnkgYXR0cmlidXRlcyBhcmUgc2VxdWVuY2VzIG9mIHVuc2lnbmVkIGJ5dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIHN0cmluZ3MuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIG51bWJlcnMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSYW5nZUtleUVsZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSByYW5nZSBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIGEgc2Vjb25kYXJ5IGtleSAodXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcmltYXJ5IGtleSksIGFuZCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBudW1iZXIsIGFuZCBpcyBvbmx5IHVzZWQgZm9yIGhhc2gtYW5kLXJhbmdlIHByaW1hcnkga2V5cy4gVGhlIHZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgU3RyaW5nU2V0LCBOdW1iZXJTZXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1N0cmluZ3MgYXJlIFVuaWNvZGUgd2l0aCBVVEYtOCBiaW5hcnkgZW5jb2RpbmcuIFRoZSBtYXhpbXVtIHNpemUgaXMgbGltaXRlZCBieSB0aGUgc2l6ZSBvZiB0aGUgcHJpbWFyeSBrZXkgKDEwMjQgYnl0ZXMgYXMgYSByYW5nZSBwYXJ0IG9mIGEga2V5IG9yIDIwNDggYnl0ZXMgYXMgYSBzaW5nbGUgcGFydCBoYXNoIGtleSkgb3IgdGhlIGl0ZW0gc2l6ZSAoNjRrKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ051bWJlcnMgYXJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGV4YWN0LXZhbHVlIGRlY2ltYWxzIGFuZCBpbnRlZ2Vycy4gQSBudW1iZXIgY2FuIGhhdmUgdXAgdG8gMzggZGlnaXRzIHByZWNpc2lvbiBhbmQgY2FuIGJlIGJldHdlZW4gMTBeLTEyOCB0byAxMF4rMTI2LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQmluYXJ5IGF0dHJpYnV0ZXMgYXJlIHNlcXVlbmNlcyBvZiB1bnNpZ25lZCBieXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBudW1iZXJzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBiaW5hcnkgYXR0cmlidXRlcy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnN1bWVkQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlSXRlbU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBtYXAgb2YgYXR0cmlidXRlIG5hbWUtdmFsdWUgcGFpcnMsIGJ1dCBvbmx5IGlmIHRoZSBSZXR1cm5WYWx1ZXMgcGFyYW1ldGVyIGlzIHNwZWNpZmllZCBhcyBzb21ldGhpbmcgb3RoZXIgdGhhbiBOT05FIGluIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0F0dHJpYnV0ZVZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgQmluYXJ5LCBTdHJpbmdTZXQsIE51bWJlclNldCwgQmluYXJ5U2V0LicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1N0cmluZ3MgYXJlIFVuaWNvZGUgd2l0aCBVVEYtOCBiaW5hcnkgZW5jb2RpbmcuIFRoZSBtYXhpbXVtIHNpemUgaXMgbGltaXRlZCBieSB0aGUgc2l6ZSBvZiB0aGUgcHJpbWFyeSBrZXkgKDEwMjQgYnl0ZXMgYXMgYSByYW5nZSBwYXJ0IG9mIGEga2V5IG9yIDIwNDggYnl0ZXMgYXMgYSBzaW5nbGUgcGFydCBoYXNoIGtleSkgb3IgdGhlIGl0ZW0gc2l6ZSAoNjRrKS4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnTnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgZXhhY3QtdmFsdWUgZGVjaW1hbHMgYW5kIGludGVnZXJzLiBBIG51bWJlciBjYW4gaGF2ZSB1cCB0byAzOCBkaWdpdHMgcHJlY2lzaW9uIGFuZCBjYW4gYmUgYmV0d2VlbiAxMF4tMTI4IHRvIDEwXisxMjYuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0JpbmFyeSBhdHRyaWJ1dGVzIGFyZSBzZXF1ZW5jZXMgb2YgdW5zaWduZWQgYnl0ZXMuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdBIHNldCBvZiBzdHJpbmdzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBzZXQgb2YgbnVtYmVycy4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0Egc2V0IG9mIGJpbmFyeSBhdHRyaWJ1dGVzLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb25zdW1lZENhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZVRhYmxlT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdUYWJsZURlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBuYW1lIG9mIHRoZSB0YWJsZSBiZWluZyBkZXNjcmliZWQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVNjaGVtYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hhc2hLZXlFbGVtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSBoYXNoIGtleSBlbGVtZW50IGlzIHRyZWF0ZWQgYXMgdGhlIHByaW1hcnkga2V5LCBhbmQgY2FuIGJlIGEgc3RyaW5nIG9yIGEgbnVtYmVyLiBTaW5nbGUgYXR0cmlidXRlIHByaW1hcnkga2V5cyBoYXZlIG9uZSBpbmRleCB2YWx1ZS4gVGhlIHZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgU3RyaW5nU2V0LCBOdW1iZXJTZXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIEF0dHJpYnV0ZU5hbWUgb2YgdGhlIEtleVNjaGVtYUVsZW1lbnQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBdHRyaWJ1dGVUeXBlIG9mIHRoZSBLZXlTY2hlbWFFbGVtZW50IHdoaWNoIGNhbiBiZSBhIFN0cmluZyBvciBhIE51bWJlci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmFuZ2VLZXlFbGVtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnQSByYW5nZSBrZXkgZWxlbWVudCBpcyB0cmVhdGVkIGFzIGEgc2Vjb25kYXJ5IGtleSAodXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcmltYXJ5IGtleSksIGFuZCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBudW1iZXIsIGFuZCBpcyBvbmx5IHVzZWQgZm9yIGhhc2gtYW5kLXJhbmdlIHByaW1hcnkga2V5cy4gVGhlIHZhbHVlIGNhbiBiZSBTdHJpbmcsIE51bWJlciwgU3RyaW5nU2V0LCBOdW1iZXJTZXQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhlIEF0dHJpYnV0ZU5hbWUgb2YgdGhlIEtleVNjaGVtYUVsZW1lbnQuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1RoZSBBdHRyaWJ1dGVUeXBlIG9mIHRoZSBLZXlTY2hlbWFFbGVtZW50IHdoaWNoIGNhbiBiZSBhIFN0cmluZyBvciBhIE51bWJlci4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUYWJsZVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGlvbkRhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3Zpc2lvbmVkVGhyb3VnaHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhc3RJbmNyZWFzZURhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhc3REZWNyZWFzZURhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlYWRDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXcml0ZUNhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGVTaXplQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1Db3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ3dhaXRlcnMnID0+IGFycmF5KAogICAgICAgICdfX2RlZmF1bHRfXycgPT4gYXJyYXkoCiAgICAgICAgICAgICdpbnRlcnZhbCcgPT4gMjAsCiAgICAgICAgICAgICdtYXhfYXR0ZW1wdHMnID0+IDI1LAogICAgICAgICksCiAgICAgICAgJ19fVGFibGVTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRpb24nID0+ICdEZXNjcmliZVRhYmxlJywKICAgICAgICApLAogICAgICAgICdUYWJsZUV4aXN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnX19UYWJsZVN0YXRlJywKICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnV2FpdCB1bnRpbCBhIHRhYmxlIGV4aXN0cyBhbmQgY2FuIGJlIGFjY2Vzc2VkJywKICAgICAgICAgICAgJ3N1Y2Nlc3MudHlwZScgPT4gJ291dHB1dCcsCiAgICAgICAgICAgICdzdWNjZXNzLnBhdGgnID0+ICdUYWJsZS9UYWJsZVN0YXR1cycsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnQUNUSVZFJywKICAgICAgICAgICAgJ2lnbm9yZV9lcnJvcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1RhYmxlTm90RXhpc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdfX1RhYmxlU3RhdGUnLAogICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdXYWl0IHVudGlsIGEgdGFibGUgaXMgZGVsZXRlZCcsCiAgICAgICAgICAgICdzdWNjZXNzLnR5cGUnID0+ICdlcnJvcicsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgKSwKICAgICksCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Resources/dynamodb-2012-08-10.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTItMDgtMTAnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnZHluYW1vZGInLAogICAgJ3NlcnZpY2VGdWxsTmFtZScgPT4gJ0FtYXpvbiBEeW5hbW9EQicsCiAgICAnc2VydmljZUFiYnJldmlhdGlvbicgPT4gJ0R5bmFtb0RCJywKICAgICdzZXJ2aWNlVHlwZScgPT4gJ2pzb24nLAogICAgJ2pzb25WZXJzaW9uJyA9PiAnMS4wJywKICAgICd0YXJnZXRQcmVmaXgnID0+ICdEeW5hbW9EQl8yMDEyMDgxMC4nLAogICAgJ3NpZ25hdHVyZVZlcnNpb24nID0+ICd2NCcsCiAgICAnbmFtZXNwYWNlJyA9PiAnRHluYW1vRGInLAogICAgJ3JlZ2lvbnMnID0+IGFycmF5KAogICAgICAgICd1cy1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdkeW5hbW9kYi51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZHluYW1vZGIudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2R5bmFtb2RiLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdldS13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdkeW5hbW9kYi5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtbm9ydGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdkeW5hbW9kYi5hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2R5bmFtb2RiLmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLXNvdXRoZWFzdC0yJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZHluYW1vZGIuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnc2EtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZHluYW1vZGIuc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLWdvdi13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZHluYW1vZGIudXMtZ292LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQmF0Y2hHZXRJdGVtJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0JhdGNoR2V0SXRlbU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRHluYW1vREJfMjAxMjA4MTAuQmF0Y2hHZXRJdGVtJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdUYWJsZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleV9wYXR0ZXJuJyA9PiAnL1thLXpBLVowLTlfLi1dKy8nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5JdGVtcycgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVfbmFtZScgPT4gJ0F0dHJpYnV0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXNUb0dldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkl0ZW1zJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb25zaXN0ZW50UmVhZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXR1cm5Db25zdW1lZENhcGFjaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHJhdGUgaXMgdG9vIGhpZ2gsIG9yIHRoZSByZXF1ZXN0IGlzIHRvbyBsYXJnZSwgZm9yIHRoZSBhdmFpbGFibGUgdGhyb3VnaHB1dCB0byBhY2NvbW1vZGF0ZS4gVGhlIEFXUyBTREtzIGF1dG9tYXRpY2FsbHkgcmV0cnkgcmVxdWVzdHMgdGhhdCByZWNlaXZlIHRoaXMgZXhjZXB0aW9uOyB0aGVyZWZvcmUsIHlvdXIgcmVxdWVzdCB3aWxsIGV2ZW50dWFsbHkgc3VjY2VlZCwgdW5sZXNzIHRoZSByZXF1ZXN0IGlzIHRvbyBsYXJnZSBvciB5b3VyIHJldHJ5IHF1ZXVlIGlzIHRvbyBsYXJnZSB0byBmaW5pc2guIFJlZHVjZSB0aGUgZnJlcXVlbmN5IG9mIHJlcXVlc3RzIGJ5IHVzaW5nIHRoZSBzdHJhdGVnaWVzIGxpc3RlZCBpbiBFcnJvciBSZXRyaWVzIGFuZCBFeHBvbmVudGlhbCBCYWNrb2ZmIGluIHRoZSBBbWF6b24gRHluYW1vREIgRGV2ZWxvcGVyIEd1aWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgb3BlcmF0aW9uIHRyaWVkIHRvIGFjY2VzcyBhIG5vbmV4aXN0ZW50IHRhYmxlIG9yIGluZGV4LiBUaGUgcmVzb3VyY2UgbWF5IG5vdCBiZSBzcGVjaWZpZWQgY29ycmVjdGx5LCBvciBpdHMgc3RhdHVzIG1heSBub3QgYmUgQUNUSVZFLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGVycm9yIG9jY3VycmVkIG9uIHRoZSBzZXJ2ZXIgc2lkZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdCYXRjaFdyaXRlSXRlbScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdCYXRjaFdyaXRlSXRlbU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRHluYW1vREJfMjAxMjA4MTAuQmF0Y2hXcml0ZUl0ZW0nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5JdGVtcycgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAyNSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdUYWJsZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleV9wYXR0ZXJuJyA9PiAnL1thLXpBLVowLTlfLi1dKy8nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdXcml0ZVJlcXVlc3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQdXRSZXF1ZXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVsZXRlUmVxdWVzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmV0dXJuQ29uc3VtZWRDYXBhY2l0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXR1cm5JdGVtQ29sbGVjdGlvbk1ldHJpY3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3QgcmF0ZSBpcyB0b28gaGlnaCwgb3IgdGhlIHJlcXVlc3QgaXMgdG9vIGxhcmdlLCBmb3IgdGhlIGF2YWlsYWJsZSB0aHJvdWdocHV0IHRvIGFjY29tbW9kYXRlLiBUaGUgQVdTIFNES3MgYXV0b21hdGljYWxseSByZXRyeSByZXF1ZXN0cyB0aGF0IHJlY2VpdmUgdGhpcyBleGNlcHRpb247IHRoZXJlZm9yZSwgeW91ciByZXF1ZXN0IHdpbGwgZXZlbnR1YWxseSBzdWNjZWVkLCB1bmxlc3MgdGhlIHJlcXVlc3QgaXMgdG9vIGxhcmdlIG9yIHlvdXIgcmV0cnkgcXVldWUgaXMgdG9vIGxhcmdlIHRvIGZpbmlzaC4gUmVkdWNlIHRoZSBmcmVxdWVuY3kgb2YgcmVxdWVzdHMgYnkgdXNpbmcgdGhlIHN0cmF0ZWdpZXMgbGlzdGVkIGluIEVycm9yIFJldHJpZXMgYW5kIEV4cG9uZW50aWFsIEJhY2tvZmYgaW4gdGhlIEFtYXpvbiBEeW5hbW9EQiBEZXZlbG9wZXIgR3VpZGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQcm92aXNpb25lZFRocm91Z2hwdXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBvcGVyYXRpb24gdHJpZWQgdG8gYWNjZXNzIGEgbm9uZXhpc3RlbnQgdGFibGUgb3IgaW5kZXguIFRoZSByZXNvdXJjZSBtYXkgbm90IGJlIHNwZWNpZmllZCBjb3JyZWN0bHksIG9yIGl0cyBzdGF0dXMgbWF5IG5vdCBiZSBBQ1RJVkUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaXRlbSBjb2xsZWN0aW9uIGlzIHRvbyBsYXJnZS4gVGhpcyBleGNlcHRpb24gaXMgb25seSByZXR1cm5lZCBmb3IgdGFibGVzIHRoYXQgaGF2ZSBvbmUgb3IgbW9yZSBsb2NhbCBzZWNvbmRhcnkgaW5kZXhlcy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0l0ZW1Db2xsZWN0aW9uU2l6ZUxpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBlcnJvciBvY2N1cnJlZCBvbiB0aGUgc2VydmVyIHNpZGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlVGFibGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ3JlYXRlVGFibGVPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0R5bmFtb0RCXzIwMTIwODEwLkNyZWF0ZVRhYmxlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlRGVmaW5pdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F0dHJpYnV0ZURlZmluaXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tleVNjaGVtYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5JdGVtcycgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDIsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlTY2hlbWFFbGVtZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9jYWxTZWNvbmRhcnlJbmRleGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0xvY2FsU2Vjb25kYXJ5SW5kZXgnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmRleE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVNjaGVtYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5JdGVtcycgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlTY2hlbWFFbGVtZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvamVjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9qZWN0aW9uVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb25LZXlBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkl0ZW1zJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAyMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOb25LZXlBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dsb2JhbFNlY29uZGFyeUluZGV4ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnR2xvYmFsU2Vjb25kYXJ5SW5kZXgnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmRleE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVNjaGVtYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5JdGVtcycgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlTY2hlbWFFbGVtZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvamVjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9qZWN0aW9uVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb25LZXlBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkl0ZW1zJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAyMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOb25LZXlBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3Zpc2lvbmVkVGhyb3VnaHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWFkQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXcml0ZUNhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Byb3Zpc2lvbmVkVGhyb3VnaHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdSZWFkQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdXcml0ZUNhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBvcGVyYXRpb24gY29uZmxpY3RzIHdpdGggdGhlIHJlc291cmNlXCdzIGF2YWlsYWJpbGl0eS4gRm9yIGV4YW1wbGUsIHlvdSBhdHRlbXB0ZWQgdG8gcmVjcmVhdGUgYW4gZXhpc3RpbmcgdGFibGUsIG9yIHRyaWVkIHRvIGRlbGV0ZSBhIHRhYmxlIGN1cnJlbnRseSBpbiB0aGUgQ1JFQVRJTkcgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZUluVXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIG51bWJlciBvZiBjb25jdXJyZW50IHRhYmxlIHJlcXVlc3RzIChjdW11bGF0aXZlIG51bWJlciBvZiB0YWJsZXMgaW4gdGhlIENSRUFUSU5HLCBERUxFVElORyBvciBVUERBVElORyBzdGF0ZSkgZXhjZWVkcyB0aGUgbWF4aW11bSBhbGxvd2VkIG9mIDEwLiBBbHNvLCBmb3IgdGFibGVzIHdpdGggc2Vjb25kYXJ5IGluZGV4ZXMsIG9ubHkgb25lIG9mIHRob3NlIHRhYmxlcyBjYW4gYmUgaW4gdGhlIENSRUFUSU5HIHN0YXRlIGF0IGFueSBwb2ludCBpbiB0aW1lLiBEbyBub3QgYXR0ZW1wdCB0byBjcmVhdGUgbW9yZSB0aGFuIG9uZSBzdWNoIHRhYmxlIHNpbXVsdGFuZW91c2x5LiBUaGUgdG90YWwgbGltaXQgb2YgdGFibGVzIGluIHRoZSBBQ1RJVkUgc3RhdGUgaXMgMjUwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGVycm9yIG9jY3VycmVkIG9uIHRoZSBzZXJ2ZXIgc2lkZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVJdGVtJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RlbGV0ZUl0ZW1PdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0R5bmFtb0RCXzIwMTIwODEwLkRlbGV0ZUl0ZW0nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXhwZWN0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXhpc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JldHVyblZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXR1cm5Db25zdW1lZENhcGFjaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JldHVybkl0ZW1Db2xsZWN0aW9uTWV0cmljcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBIGNvbmRpdGlvbiBzcGVjaWZpZWQgaW4gdGhlIG9wZXJhdGlvbiBjb3VsZCBub3QgYmUgZXZhbHVhdGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ29uZGl0aW9uYWxDaGVja0ZhaWxlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHJhdGUgaXMgdG9vIGhpZ2gsIG9yIHRoZSByZXF1ZXN0IGlzIHRvbyBsYXJnZSwgZm9yIHRoZSBhdmFpbGFibGUgdGhyb3VnaHB1dCB0byBhY2NvbW1vZGF0ZS4gVGhlIEFXUyBTREtzIGF1dG9tYXRpY2FsbHkgcmV0cnkgcmVxdWVzdHMgdGhhdCByZWNlaXZlIHRoaXMgZXhjZXB0aW9uOyB0aGVyZWZvcmUsIHlvdXIgcmVxdWVzdCB3aWxsIGV2ZW50dWFsbHkgc3VjY2VlZCwgdW5sZXNzIHRoZSByZXF1ZXN0IGlzIHRvbyBsYXJnZSBvciB5b3VyIHJldHJ5IHF1ZXVlIGlzIHRvbyBsYXJnZSB0byBmaW5pc2guIFJlZHVjZSB0aGUgZnJlcXVlbmN5IG9mIHJlcXVlc3RzIGJ5IHVzaW5nIHRoZSBzdHJhdGVnaWVzIGxpc3RlZCBpbiBFcnJvciBSZXRyaWVzIGFuZCBFeHBvbmVudGlhbCBCYWNrb2ZmIGluIHRoZSBBbWF6b24gRHluYW1vREIgRGV2ZWxvcGVyIEd1aWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgb3BlcmF0aW9uIHRyaWVkIHRvIGFjY2VzcyBhIG5vbmV4aXN0ZW50IHRhYmxlIG9yIGluZGV4LiBUaGUgcmVzb3VyY2UgbWF5IG5vdCBiZSBzcGVjaWZpZWQgY29ycmVjdGx5LCBvciBpdHMgc3RhdHVzIG1heSBub3QgYmUgQUNUSVZFLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGl0ZW0gY29sbGVjdGlvbiBpcyB0b28gbGFyZ2UuIFRoaXMgZXhjZXB0aW9uIGlzIG9ubHkgcmV0dXJuZWQgZm9yIHRhYmxlcyB0aGF0IGhhdmUgb25lIG9yIG1vcmUgbG9jYWwgc2Vjb25kYXJ5IGluZGV4ZXMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJdGVtQ29sbGVjdGlvblNpemVMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXJyb3Igb2NjdXJyZWQgb24gdGhlIHNlcnZlciBzaWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVRhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RlbGV0ZVRhYmxlT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEeW5hbW9EQl8yMDEyMDgxMC5EZWxldGVUYWJsZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAzLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIG9wZXJhdGlvbiBjb25mbGljdHMgd2l0aCB0aGUgcmVzb3VyY2VcJ3MgYXZhaWxhYmlsaXR5LiBGb3IgZXhhbXBsZSwgeW91IGF0dGVtcHRlZCB0byByZWNyZWF0ZSBhbiBleGlzdGluZyB0YWJsZSwgb3IgdHJpZWQgdG8gZGVsZXRlIGEgdGFibGUgY3VycmVudGx5IGluIHRoZSBDUkVBVElORyBzdGF0ZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlSW5Vc2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgb3BlcmF0aW9uIHRyaWVkIHRvIGFjY2VzcyBhIG5vbmV4aXN0ZW50IHRhYmxlIG9yIGluZGV4LiBUaGUgcmVzb3VyY2UgbWF5IG5vdCBiZSBzcGVjaWZpZWQgY29ycmVjdGx5LCBvciBpdHMgc3RhdHVzIG1heSBub3QgYmUgQUNUSVZFLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBudW1iZXIgb2YgY29uY3VycmVudCB0YWJsZSByZXF1ZXN0cyAoY3VtdWxhdGl2ZSBudW1iZXIgb2YgdGFibGVzIGluIHRoZSBDUkVBVElORywgREVMRVRJTkcgb3IgVVBEQVRJTkcgc3RhdGUpIGV4Y2VlZHMgdGhlIG1heGltdW0gYWxsb3dlZCBvZiAxMC4gQWxzbywgZm9yIHRhYmxlcyB3aXRoIHNlY29uZGFyeSBpbmRleGVzLCBvbmx5IG9uZSBvZiB0aG9zZSB0YWJsZXMgY2FuIGJlIGluIHRoZSBDUkVBVElORyBzdGF0ZSBhdCBhbnkgcG9pbnQgaW4gdGltZS4gRG8gbm90IGF0dGVtcHQgdG8gY3JlYXRlIG1vcmUgdGhhbiBvbmUgc3VjaCB0YWJsZSBzaW11bHRhbmVvdXNseS4gVGhlIHRvdGFsIGxpbWl0IG9mIHRhYmxlcyBpbiB0aGUgQUNUSVZFIHN0YXRlIGlzIDI1MC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBlcnJvciBvY2N1cnJlZCBvbiB0aGUgc2VydmVyIHNpZGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVUYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVRhYmxlT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEeW5hbW9EQl8yMDEyMDgxMC5EZXNjcmliZVRhYmxlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgb3BlcmF0aW9uIHRyaWVkIHRvIGFjY2VzcyBhIG5vbmV4aXN0ZW50IHRhYmxlIG9yIGluZGV4LiBUaGUgcmVzb3VyY2UgbWF5IG5vdCBiZSBzcGVjaWZpZWQgY29ycmVjdGx5LCBvciBpdHMgc3RhdHVzIG1heSBub3QgYmUgQUNUSVZFLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGVycm9yIG9jY3VycmVkIG9uIHRoZSBzZXJ2ZXIgc2lkZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRJdGVtJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldEl0ZW1PdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0R5bmFtb0RCXzIwMTIwODEwLkdldEl0ZW0nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlc1RvR2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluSXRlbXMnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnNpc3RlbnRSZWFkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JldHVybkNvbnN1bWVkQ2FwYWNpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3QgcmF0ZSBpcyB0b28gaGlnaCwgb3IgdGhlIHJlcXVlc3QgaXMgdG9vIGxhcmdlLCBmb3IgdGhlIGF2YWlsYWJsZSB0aHJvdWdocHV0IHRvIGFjY29tbW9kYXRlLiBUaGUgQVdTIFNES3MgYXV0b21hdGljYWxseSByZXRyeSByZXF1ZXN0cyB0aGF0IHJlY2VpdmUgdGhpcyBleGNlcHRpb247IHRoZXJlZm9yZSwgeW91ciByZXF1ZXN0IHdpbGwgZXZlbnR1YWxseSBzdWNjZWVkLCB1bmxlc3MgdGhlIHJlcXVlc3QgaXMgdG9vIGxhcmdlIG9yIHlvdXIgcmV0cnkgcXVldWUgaXMgdG9vIGxhcmdlIHRvIGZpbmlzaC4gUmVkdWNlIHRoZSBmcmVxdWVuY3kgb2YgcmVxdWVzdHMgYnkgdXNpbmcgdGhlIHN0cmF0ZWdpZXMgbGlzdGVkIGluIEVycm9yIFJldHJpZXMgYW5kIEV4cG9uZW50aWFsIEJhY2tvZmYgaW4gdGhlIEFtYXpvbiBEeW5hbW9EQiBEZXZlbG9wZXIgR3VpZGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQcm92aXNpb25lZFRocm91Z2hwdXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBvcGVyYXRpb24gdHJpZWQgdG8gYWNjZXNzIGEgbm9uZXhpc3RlbnQgdGFibGUgb3IgaW5kZXguIFRoZSByZXNvdXJjZSBtYXkgbm90IGJlIHNwZWNpZmllZCBjb3JyZWN0bHksIG9yIGl0cyBzdGF0dXMgbWF5IG5vdCBiZSBBQ1RJVkUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXJyb3Igb2NjdXJyZWQgb24gdGhlIHNlcnZlciBzaWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RUYWJsZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdFRhYmxlc091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRHluYW1vREJfMjAxMjA4MTAuTGlzdFRhYmxlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V4Y2x1c2l2ZVN0YXJ0VGFibGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xpbWl0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGVycm9yIG9jY3VycmVkIG9uIHRoZSBzZXJ2ZXIgc2lkZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRJdGVtJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1B1dEl0ZW1PdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0R5bmFtb0RCXzIwMTIwODEwLlB1dEl0ZW0nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0l0ZW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVfbmFtZScgPT4gJ0F0dHJpYnV0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V4cGVjdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVfbmFtZScgPT4gJ0F0dHJpYnV0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V4aXN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXR1cm5WYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmV0dXJuQ29uc3VtZWRDYXBhY2l0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXR1cm5JdGVtQ29sbGVjdGlvbk1ldHJpY3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBjb25kaXRpb24gc3BlY2lmaWVkIGluIHRoZSBvcGVyYXRpb24gY291bGQgbm90IGJlIGV2YWx1YXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NvbmRpdGlvbmFsQ2hlY2tGYWlsZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCByYXRlIGlzIHRvbyBoaWdoLCBvciB0aGUgcmVxdWVzdCBpcyB0b28gbGFyZ2UsIGZvciB0aGUgYXZhaWxhYmxlIHRocm91Z2hwdXQgdG8gYWNjb21tb2RhdGUuIFRoZSBBV1MgU0RLcyBhdXRvbWF0aWNhbGx5IHJldHJ5IHJlcXVlc3RzIHRoYXQgcmVjZWl2ZSB0aGlzIGV4Y2VwdGlvbjsgdGhlcmVmb3JlLCB5b3VyIHJlcXVlc3Qgd2lsbCBldmVudHVhbGx5IHN1Y2NlZWQsIHVubGVzcyB0aGUgcmVxdWVzdCBpcyB0b28gbGFyZ2Ugb3IgeW91ciByZXRyeSBxdWV1ZSBpcyB0b28gbGFyZ2UgdG8gZmluaXNoLiBSZWR1Y2UgdGhlIGZyZXF1ZW5jeSBvZiByZXF1ZXN0cyBieSB1c2luZyB0aGUgc3RyYXRlZ2llcyBsaXN0ZWQgaW4gRXJyb3IgUmV0cmllcyBhbmQgRXhwb25lbnRpYWwgQmFja29mZiBpbiB0aGUgQW1hem9uIER5bmFtb0RCIERldmVsb3BlciBHdWlkZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Byb3Zpc2lvbmVkVGhyb3VnaHB1dEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIG9wZXJhdGlvbiB0cmllZCB0byBhY2Nlc3MgYSBub25leGlzdGVudCB0YWJsZSBvciBpbmRleC4gVGhlIHJlc291cmNlIG1heSBub3QgYmUgc3BlY2lmaWVkIGNvcnJlY3RseSwgb3IgaXRzIHN0YXR1cyBtYXkgbm90IGJlIEFDVElWRS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpdGVtIGNvbGxlY3Rpb24gaXMgdG9vIGxhcmdlLiBUaGlzIGV4Y2VwdGlvbiBpcyBvbmx5IHJldHVybmVkIGZvciB0YWJsZXMgdGhhdCBoYXZlIG9uZSBvciBtb3JlIGxvY2FsIHNlY29uZGFyeSBpbmRleGVzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSXRlbUNvbGxlY3Rpb25TaXplTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGVycm9yIG9jY3VycmVkIG9uIHRoZSBzZXJ2ZXIgc2lkZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdRdWVyeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdRdWVyeU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRHluYW1vREJfMjAxMjA4MTAuUXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luZGV4TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZWxlY3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlc1RvR2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluSXRlbXMnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xpbWl0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb25zaXN0ZW50UmVhZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXlDb25kaXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVfbmFtZScgPT4gJ0F0dHJpYnV0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlVmFsdWVMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBhcmlzb25PcGVyYXRvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2NhbkluZGV4Rm9yd2FyZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFeGNsdXNpdmVTdGFydEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXR1cm5Db25zdW1lZENhcGFjaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHJhdGUgaXMgdG9vIGhpZ2gsIG9yIHRoZSByZXF1ZXN0IGlzIHRvbyBsYXJnZSwgZm9yIHRoZSBhdmFpbGFibGUgdGhyb3VnaHB1dCB0byBhY2NvbW1vZGF0ZS4gVGhlIEFXUyBTREtzIGF1dG9tYXRpY2FsbHkgcmV0cnkgcmVxdWVzdHMgdGhhdCByZWNlaXZlIHRoaXMgZXhjZXB0aW9uOyB0aGVyZWZvcmUsIHlvdXIgcmVxdWVzdCB3aWxsIGV2ZW50dWFsbHkgc3VjY2VlZCwgdW5sZXNzIHRoZSByZXF1ZXN0IGlzIHRvbyBsYXJnZSBvciB5b3VyIHJldHJ5IHF1ZXVlIGlzIHRvbyBsYXJnZSB0byBmaW5pc2guIFJlZHVjZSB0aGUgZnJlcXVlbmN5IG9mIHJlcXVlc3RzIGJ5IHVzaW5nIHRoZSBzdHJhdGVnaWVzIGxpc3RlZCBpbiBFcnJvciBSZXRyaWVzIGFuZCBFeHBvbmVudGlhbCBCYWNrb2ZmIGluIHRoZSBBbWF6b24gRHluYW1vREIgRGV2ZWxvcGVyIEd1aWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgb3BlcmF0aW9uIHRyaWVkIHRvIGFjY2VzcyBhIG5vbmV4aXN0ZW50IHRhYmxlIG9yIGluZGV4LiBUaGUgcmVzb3VyY2UgbWF5IG5vdCBiZSBzcGVjaWZpZWQgY29ycmVjdGx5LCBvciBpdHMgc3RhdHVzIG1heSBub3QgYmUgQUNUSVZFLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGVycm9yIG9jY3VycmVkIG9uIHRoZSBzZXJ2ZXIgc2lkZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTY2FuJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1NjYW5PdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0R5bmFtb0RCXzIwMTIwODEwLlNjYW4nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXNUb0dldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkl0ZW1zJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMaW1pdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VsZWN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NjYW5GaWx0ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVWYWx1ZUxpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29tcGFyaXNvbk9wZXJhdG9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFeGNsdXNpdmVTdGFydEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXR1cm5Db25zdW1lZENhcGFjaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RvdGFsU2VnbWVudHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDQwOTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NlZ21lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDQwOTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHJhdGUgaXMgdG9vIGhpZ2gsIG9yIHRoZSByZXF1ZXN0IGlzIHRvbyBsYXJnZSwgZm9yIHRoZSBhdmFpbGFibGUgdGhyb3VnaHB1dCB0byBhY2NvbW1vZGF0ZS4gVGhlIEFXUyBTREtzIGF1dG9tYXRpY2FsbHkgcmV0cnkgcmVxdWVzdHMgdGhhdCByZWNlaXZlIHRoaXMgZXhjZXB0aW9uOyB0aGVyZWZvcmUsIHlvdXIgcmVxdWVzdCB3aWxsIGV2ZW50dWFsbHkgc3VjY2VlZCwgdW5sZXNzIHRoZSByZXF1ZXN0IGlzIHRvbyBsYXJnZSBvciB5b3VyIHJldHJ5IHF1ZXVlIGlzIHRvbyBsYXJnZSB0byBmaW5pc2guIFJlZHVjZSB0aGUgZnJlcXVlbmN5IG9mIHJlcXVlc3RzIGJ5IHVzaW5nIHRoZSBzdHJhdGVnaWVzIGxpc3RlZCBpbiBFcnJvciBSZXRyaWVzIGFuZCBFeHBvbmVudGlhbCBCYWNrb2ZmIGluIHRoZSBBbWF6b24gRHluYW1vREIgRGV2ZWxvcGVyIEd1aWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgb3BlcmF0aW9uIHRyaWVkIHRvIGFjY2VzcyBhIG5vbmV4aXN0ZW50IHRhYmxlIG9yIGluZGV4LiBUaGUgcmVzb3VyY2UgbWF5IG5vdCBiZSBzcGVjaWZpZWQgY29ycmVjdGx5LCBvciBpdHMgc3RhdHVzIG1heSBub3QgYmUgQUNUSVZFLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGVycm9yIG9jY3VycmVkIG9uIHRoZSBzZXJ2ZXIgc2lkZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVJdGVtJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1VwZGF0ZUl0ZW1PdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0R5bmFtb0RCXzIwMTIwODEwLlVwZGF0ZUl0ZW0nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlVXBkYXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXhwZWN0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXhpc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JldHVyblZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXR1cm5Db25zdW1lZENhcGFjaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JldHVybkl0ZW1Db2xsZWN0aW9uTWV0cmljcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBIGNvbmRpdGlvbiBzcGVjaWZpZWQgaW4gdGhlIG9wZXJhdGlvbiBjb3VsZCBub3QgYmUgZXZhbHVhdGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ29uZGl0aW9uYWxDaGVja0ZhaWxlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHJhdGUgaXMgdG9vIGhpZ2gsIG9yIHRoZSByZXF1ZXN0IGlzIHRvbyBsYXJnZSwgZm9yIHRoZSBhdmFpbGFibGUgdGhyb3VnaHB1dCB0byBhY2NvbW1vZGF0ZS4gVGhlIEFXUyBTREtzIGF1dG9tYXRpY2FsbHkgcmV0cnkgcmVxdWVzdHMgdGhhdCByZWNlaXZlIHRoaXMgZXhjZXB0aW9uOyB0aGVyZWZvcmUsIHlvdXIgcmVxdWVzdCB3aWxsIGV2ZW50dWFsbHkgc3VjY2VlZCwgdW5sZXNzIHRoZSByZXF1ZXN0IGlzIHRvbyBsYXJnZSBvciB5b3VyIHJldHJ5IHF1ZXVlIGlzIHRvbyBsYXJnZSB0byBmaW5pc2guIFJlZHVjZSB0aGUgZnJlcXVlbmN5IG9mIHJlcXVlc3RzIGJ5IHVzaW5nIHRoZSBzdHJhdGVnaWVzIGxpc3RlZCBpbiBFcnJvciBSZXRyaWVzIGFuZCBFeHBvbmVudGlhbCBCYWNrb2ZmIGluIHRoZSBBbWF6b24gRHluYW1vREIgRGV2ZWxvcGVyIEd1aWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgb3BlcmF0aW9uIHRyaWVkIHRvIGFjY2VzcyBhIG5vbmV4aXN0ZW50IHRhYmxlIG9yIGluZGV4LiBUaGUgcmVzb3VyY2UgbWF5IG5vdCBiZSBzcGVjaWZpZWQgY29ycmVjdGx5LCBvciBpdHMgc3RhdHVzIG1heSBub3QgYmUgQUNUSVZFLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGl0ZW0gY29sbGVjdGlvbiBpcyB0b28gbGFyZ2UuIFRoaXMgZXhjZXB0aW9uIGlzIG9ubHkgcmV0dXJuZWQgZm9yIHRhYmxlcyB0aGF0IGhhdmUgb25lIG9yIG1vcmUgbG9jYWwgc2Vjb25kYXJ5IGluZGV4ZXMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJdGVtQ29sbGVjdGlvblNpemVMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXJyb3Igb2NjdXJyZWQgb24gdGhlIHNlcnZlciBzaWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZVRhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1VwZGF0ZVRhYmxlT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEeW5hbW9EQl8yMDEyMDgxMC5VcGRhdGVUYWJsZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAzLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJvdmlzaW9uZWRUaHJvdWdocHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUmVhZENhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnV3JpdGVDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHbG9iYWxTZWNvbmRhcnlJbmRleFVwZGF0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnR2xvYmFsU2Vjb25kYXJ5SW5kZXhVcGRhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmRleE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3Zpc2lvbmVkVGhyb3VnaHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlYWRDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXcml0ZUNhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBvcGVyYXRpb24gY29uZmxpY3RzIHdpdGggdGhlIHJlc291cmNlXCdzIGF2YWlsYWJpbGl0eS4gRm9yIGV4YW1wbGUsIHlvdSBhdHRlbXB0ZWQgdG8gcmVjcmVhdGUgYW4gZXhpc3RpbmcgdGFibGUsIG9yIHRyaWVkIHRvIGRlbGV0ZSBhIHRhYmxlIGN1cnJlbnRseSBpbiB0aGUgQ1JFQVRJTkcgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZUluVXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIG9wZXJhdGlvbiB0cmllZCB0byBhY2Nlc3MgYSBub25leGlzdGVudCB0YWJsZSBvciBpbmRleC4gVGhlIHJlc291cmNlIG1heSBub3QgYmUgc3BlY2lmaWVkIGNvcnJlY3RseSwgb3IgaXRzIHN0YXR1cyBtYXkgbm90IGJlIEFDVElWRS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgbnVtYmVyIG9mIGNvbmN1cnJlbnQgdGFibGUgcmVxdWVzdHMgKGN1bXVsYXRpdmUgbnVtYmVyIG9mIHRhYmxlcyBpbiB0aGUgQ1JFQVRJTkcsIERFTEVUSU5HIG9yIFVQREFUSU5HIHN0YXRlKSBleGNlZWRzIHRoZSBtYXhpbXVtIGFsbG93ZWQgb2YgMTAuIEFsc28sIGZvciB0YWJsZXMgd2l0aCBzZWNvbmRhcnkgaW5kZXhlcywgb25seSBvbmUgb2YgdGhvc2UgdGFibGVzIGNhbiBiZSBpbiB0aGUgQ1JFQVRJTkcgc3RhdGUgYXQgYW55IHBvaW50IGluIHRpbWUuIERvIG5vdCBhdHRlbXB0IHRvIGNyZWF0ZSBtb3JlIHRoYW4gb25lIHN1Y2ggdGFibGUgc2ltdWx0YW5lb3VzbHkuIFRoZSB0b3RhbCBsaW1pdCBvZiB0YWJsZXMgaW4gdGhlIEFDVElWRSBzdGF0ZSBpcyAyNTAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXJyb3Igb2NjdXJyZWQgb24gdGhlIHNlcnZlciBzaWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ21vZGVscycgPT4gYXJyYXkoCiAgICAgICAgJ0JhdGNoR2V0SXRlbU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F0dHJpYnV0ZU1hcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VucHJvY2Vzc2VkS2V5cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnS2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZGVjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlc1RvR2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F0dHJpYnV0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29uc2lzdGVudFJlYWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnN1bWVkQ2FwYWNpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ29uc3VtZWRDYXBhY2l0eScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMb2NhbFNlY29uZGFyeUluZGV4ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHbG9iYWxTZWNvbmRhcnlJbmRleGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQmF0Y2hXcml0ZUl0ZW1PdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1VucHJvY2Vzc2VkSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnV3JpdGVSZXF1ZXN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHV0UmVxdWVzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2RlY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVsZXRlUmVxdWVzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2RlY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZGVjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJdGVtQ29sbGVjdGlvbk1ldHJpY3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSXRlbUNvbGxlY3Rpb25NZXRyaWNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbUNvbGxlY3Rpb25LZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2RlY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXplRXN0aW1hdGVSYW5nZUdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0l0ZW1Db2xsZWN0aW9uU2l6ZUVzdGltYXRlQm91bmQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb25zdW1lZENhcGFjaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NvbnN1bWVkQ2FwYWNpdHknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFibGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTG9jYWxTZWNvbmRhcnlJbmRleGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR2xvYmFsU2Vjb25kYXJ5SW5kZXhlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVRhYmxlT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdUYWJsZURlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlRGVmaW5pdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXR0cmlidXRlRGVmaW5pdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnS2V5U2NoZW1hJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0tleVNjaGVtYUVsZW1lbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGVTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcm92aXNpb25lZFRocm91Z2hwdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0SW5jcmVhc2VEYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0RGVjcmVhc2VEYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOdW1iZXJPZkRlY3JlYXNlc1RvZGF5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWFkQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV3JpdGVDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhYmxlU2l6ZUJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0xvY2FsU2Vjb25kYXJ5SW5kZXhlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdMb2NhbFNlY29uZGFyeUluZGV4RGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmRleE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5U2NoZW1hJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0tleVNjaGVtYUVsZW1lbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvamVjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2plY3Rpb25UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05vbktleUF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTm9uS2V5QXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmRleFNpemVCeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdHbG9iYWxTZWNvbmRhcnlJbmRleGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0dsb2JhbFNlY29uZGFyeUluZGV4RGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmRleE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5U2NoZW1hJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0tleVNjaGVtYUVsZW1lbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvamVjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2plY3Rpb25UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05vbktleUF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTm9uS2V5QXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmRleFN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm92aXNpb25lZFRocm91Z2hwdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0SW5jcmVhc2VEYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0RGVjcmVhc2VEYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOdW1iZXJPZkRlY3JlYXNlc1RvZGF5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWFkQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV3JpdGVDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luZGV4U2l6ZUJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVJdGVtT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZGVjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnN1bWVkQ2FwYWNpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0xvY2FsU2Vjb25kYXJ5SW5kZXhlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdHbG9iYWxTZWNvbmRhcnlJbmRleGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJdGVtQ29sbGVjdGlvbk1ldHJpY3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtQ29sbGVjdGlvbktleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2l6ZUVzdGltYXRlUmFuZ2VHQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJdGVtQ29sbGVjdGlvblNpemVFc3RpbWF0ZUJvdW5kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVUYWJsZU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFibGVEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZURlZmluaXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F0dHJpYnV0ZURlZmluaXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVNjaGVtYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlTY2hlbWFFbGVtZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhYmxlU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0aW9uRGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJvdmlzaW9uZWRUaHJvdWdocHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdEluY3JlYXNlRGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdERlY3JlYXNlRGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTnVtYmVyT2ZEZWNyZWFzZXNUb2RheScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVhZENhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dyaXRlQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUYWJsZVNpemVCeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdMb2NhbFNlY29uZGFyeUluZGV4ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTG9jYWxTZWNvbmRhcnlJbmRleERlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5kZXhOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVNjaGVtYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlTY2hlbWFFbGVtZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2plY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9qZWN0aW9uVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb25LZXlBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ05vbktleUF0dHJpYnV0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5kZXhTaXplQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1Db3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnR2xvYmFsU2Vjb25kYXJ5SW5kZXhlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdHbG9iYWxTZWNvbmRhcnlJbmRleERlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5kZXhOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVNjaGVtYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlTY2hlbWFFbGVtZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2plY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9qZWN0aW9uVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb25LZXlBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ05vbktleUF0dHJpYnV0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5kZXhTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvdmlzaW9uZWRUaHJvdWdocHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdEluY3JlYXNlRGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdERlY3JlYXNlRGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTnVtYmVyT2ZEZWNyZWFzZXNUb2RheScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVhZENhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dyaXRlQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmRleFNpemVCeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVUYWJsZU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFibGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVEZWZpbml0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGVEZWZpbml0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdLZXlTY2hlbWEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnS2V5U2NoZW1hRWxlbWVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUYWJsZVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGlvbkRhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3Zpc2lvbmVkVGhyb3VnaHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhc3RJbmNyZWFzZURhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhc3REZWNyZWFzZURhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ051bWJlck9mRGVjcmVhc2VzVG9kYXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlYWRDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXcml0ZUNhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGVTaXplQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1Db3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTG9jYWxTZWNvbmRhcnlJbmRleGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0xvY2FsU2Vjb25kYXJ5SW5kZXhEZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luZGV4TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlTY2hlbWEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnS2V5U2NoZW1hRWxlbWVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9qZWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvamVjdGlvblR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9uS2V5QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOb25LZXlBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luZGV4U2l6ZUJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0dsb2JhbFNlY29uZGFyeUluZGV4ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnR2xvYmFsU2Vjb25kYXJ5SW5kZXhEZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luZGV4TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlTY2hlbWEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnS2V5U2NoZW1hRWxlbWVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9qZWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvamVjdGlvblR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9uS2V5QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOb25LZXlBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luZGV4U3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3Zpc2lvbmVkVGhyb3VnaHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhc3RJbmNyZWFzZURhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhc3REZWNyZWFzZURhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ051bWJlck9mRGVjcmVhc2VzVG9kYXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlYWRDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXcml0ZUNhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5kZXhTaXplQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1Db3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEl0ZW1PdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0l0ZW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2RlY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29uc3VtZWRDYXBhY2l0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTG9jYWxTZWNvbmRhcnlJbmRleGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0dsb2JhbFNlY29uZGFyeUluZGV4ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RUYWJsZXNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1RhYmxlTmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFibGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhc3RFdmFsdWF0ZWRUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHV0SXRlbU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2RlY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZGVjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb25zdW1lZENhcGFjaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdMb2NhbFNlY29uZGFyeUluZGV4ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnR2xvYmFsU2Vjb25kYXJ5SW5kZXhlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSXRlbUNvbGxlY3Rpb25NZXRyaWNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbUNvbGxlY3Rpb25LZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZGVjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmluYXJ5QXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZGVjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1NpemVFc3RpbWF0ZVJhbmdlR0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSXRlbUNvbGxlY3Rpb25TaXplRXN0aW1hdGVCb3VuZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUXVlcnlPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F0dHJpYnV0ZU1hcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZGVjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JpbmFyeUF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2RlY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXN0RXZhbHVhdGVkS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZGVjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnN1bWVkQ2FwYWNpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0xvY2FsU2Vjb25kYXJ5SW5kZXhlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdHbG9iYWxTZWNvbmRhcnlJbmRleGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTY2FuT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGVNYXAnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2RlY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05TJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ051bWJlckF0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2Nhbm5lZENvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXN0RXZhbHVhdGVkS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZGVjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnN1bWVkQ2FwYWNpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0xvY2FsU2Vjb25kYXJ5SW5kZXhlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdHbG9iYWxTZWNvbmRhcnlJbmRleGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVJdGVtT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjRfZGVjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmdBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOdW1iZXJBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnN1bWVkQ2FwYWNpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0xvY2FsU2Vjb25kYXJ5SW5kZXhlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXBhY2l0eVVuaXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdHbG9iYWxTZWNvbmRhcnlJbmRleGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJdGVtQ29sbGVjdGlvbk1ldHJpY3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtQ29sbGVjdGlvbktleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NTJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZ0F0dHJpYnV0ZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTnVtYmVyQXR0cmlidXRlVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCUycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCaW5hcnlBdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9kZWNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2l6ZUVzdGltYXRlUmFuZ2VHQicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJdGVtQ29sbGVjdGlvblNpemVFc3RpbWF0ZUJvdW5kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVUYWJsZU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFibGVEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZURlZmluaXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F0dHJpYnV0ZURlZmluaXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVNjaGVtYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlTY2hlbWFFbGVtZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhYmxlU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0aW9uRGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJvdmlzaW9uZWRUaHJvdWdocHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdEluY3JlYXNlRGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdERlY3JlYXNlRGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTnVtYmVyT2ZEZWNyZWFzZXNUb2RheScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVhZENhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dyaXRlQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUYWJsZVNpemVCeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSXRlbUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdMb2NhbFNlY29uZGFyeUluZGV4ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTG9jYWxTZWNvbmRhcnlJbmRleERlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5kZXhOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVNjaGVtYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlTY2hlbWFFbGVtZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2plY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9qZWN0aW9uVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb25LZXlBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ05vbktleUF0dHJpYnV0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5kZXhTaXplQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1Db3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnR2xvYmFsU2Vjb25kYXJ5SW5kZXhlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdHbG9iYWxTZWNvbmRhcnlJbmRleERlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5kZXhOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVNjaGVtYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlTY2hlbWFFbGVtZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2plY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9qZWN0aW9uVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb25LZXlBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ05vbktleUF0dHJpYnV0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5kZXhTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvdmlzaW9uZWRUaHJvdWdocHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdEluY3JlYXNlRGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdERlY3JlYXNlRGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTnVtYmVyT2ZEZWNyZWFzZXNUb2RheScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVhZENhcGFjaXR5VW5pdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dyaXRlQ2FwYWNpdHlVbml0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmRleFNpemVCeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnd2FpdGVycycgPT4gYXJyYXkoCiAgICAgICAgJ19fZGVmYXVsdF9fJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2ludGVydmFsJyA9PiAyMCwKICAgICAgICAgICAgJ21heF9hdHRlbXB0cycgPT4gMjUsCiAgICAgICAgKSwKICAgICAgICAnX19UYWJsZVN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbicgPT4gJ0Rlc2NyaWJlVGFibGUnLAogICAgICAgICksCiAgICAgICAgJ1RhYmxlRXhpc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdfX1RhYmxlU3RhdGUnLAogICAgICAgICAgICAnc3VjY2Vzcy50eXBlJyA9PiAnb3V0cHV0JywKICAgICAgICAgICAgJ3N1Y2Nlc3MucGF0aCcgPT4gJ1RhYmxlL1RhYmxlU3RhdHVzJywKICAgICAgICAgICAgJ3N1Y2Nlc3MudmFsdWUnID0+ICdBQ1RJVkUnLAogICAgICAgICAgICAnaWdub3JlX2Vycm9ycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVGFibGVOb3RFeGlzdHMnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ19fVGFibGVTdGF0ZScsCiAgICAgICAgICAgICdzdWNjZXNzLnR5cGUnID0+ICdlcnJvcicsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgKSwKICAgICksCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Session/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Session/LockingStrategy/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Session/LockingStrategy/AbstractLockingStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3k7Cgp1c2UgQXdzXENvbW1vblxFbnVtXFVhU3RyaW5nIGFzIFVhOwp1c2UgQXdzXER5bmFtb0RiXFNlc3Npb25cU2Vzc2lvbkhhbmRsZXJDb25maWc7CnVzZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ7CnVzZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uXER5bmFtb0RiRXhjZXB0aW9uOwoKLyoqCiAqIEJhc2UgY2xhc3MgZm9yIHNlc3Npb24gbG9ja2luZyBzdHJhdGVnaWVzLiBJbmNsdWRlcyB3cml0ZSBhbmQgZGVsZXRlIGxvZ2ljCiAqLwphYnN0cmFjdCBjbGFzcyBBYnN0cmFjdExvY2tpbmdTdHJhdGVneSBpbXBsZW1lbnRzIExvY2tpbmdTdHJhdGVneUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEB2YXIgRHluYW1vRGJDbGllbnQgVGhlIER5bmFtb0RCIGNsaWVudAogICAgICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICAvKioKICAgICAqIEB2YXIgU2Vzc2lvbkhhbmRsZXJDb25maWcgVGhlIHNlc3Npb24gaGFuZGxlciBjb25maWcgb3B0aW9ucwogICAgICovCiAgICBwcm90ZWN0ZWQgJGNvbmZpZzsKCiAgICAvKioKICAgICAqIEBwYXJhbSBEeW5hbW9EYkNsaWVudCAgICAgICAkY2xpZW50IFRoZSBEeW5hbW9EQiBjbGllbnQKICAgICAqIEBwYXJhbSBTZXNzaW9uSGFuZGxlckNvbmZpZyAkY29uZmlnIFRoZSBzZXNzaW9uIGhhbmRsZXIgY29uZmlnIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KER5bmFtb0RiQ2xpZW50ICRjbGllbnQsIFNlc3Npb25IYW5kbGVyQ29uZmlnICRjb25maWcpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9ICRjbGllbnQ7CiAgICAgICAgJHRoaXMtPmNvbmZpZyA9ICRjb25maWc7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBkb1dyaXRlKCRpZCwgJGRhdGEsICRpc0RhdGFDaGFuZ2VkKQogICAgewogICAgICAgIC8vIFByZXBhcmUgdGhlIGF0dHJpYnV0ZXMKICAgICAgICAkZXhwaXJlcyA9IHRpbWUoKSArICR0aGlzLT5jb25maWctPmdldCgnc2Vzc2lvbl9saWZldGltZScpOwogICAgICAgICRhdHRyaWJ1dGVzID0gYXJyYXkoCiAgICAgICAgICAgICdleHBpcmVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ04nID0+IChzdHJpbmcpICRleHBpcmVzCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApOwogICAgICAgIGlmICgkaXNEYXRhQ2hhbmdlZCkgewogICAgICAgICAgICBpZiAoJGRhdGEgIT0gJycpIHsKICAgICAgICAgICAgICAgICRhdHRyaWJ1dGVzWydkYXRhJ10gPSBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gJGRhdGEKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGF0dHJpYnV0ZXNbJ2RhdGEnXSA9IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdBY3Rpb24nID0+ICdERUxFVEUnCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICRhdHRyaWJ1dGVzID0gYXJyYXlfbWVyZ2UoJGF0dHJpYnV0ZXMsICR0aGlzLT5nZXRFeHRyYUF0dHJpYnV0ZXMoKSk7CgogICAgICAgIC8vIFBlcmZvcm0gdGhlIFVwZGF0ZUl0ZW0gY29tbWFuZAogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHJldHVybiAoYm9vbCkgJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnVXBkYXRlSXRlbScsIGFycmF5KAogICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJHRoaXMtPmNvbmZpZy0+Z2V0KCd0YWJsZV9uYW1lJyksCiAgICAgICAgICAgICAgICAnS2V5JyA9PiAkdGhpcy0+Zm9ybWF0S2V5KCRpZCksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlVXBkYXRlcycgPT4gJGF0dHJpYnV0ZXMsCiAgICAgICAgICAgICAgICBVYTo6T1BUSU9OID0+IFVhOjpTRVNTSU9OCiAgICAgICAgICAgICkpLT5leGVjdXRlKCk7CiAgICAgICAgfSBjYXRjaCAoRHluYW1vRGJFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRvRGVzdHJveSgkaWQpCiAgICB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgcmV0dXJuIChib29sKSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdEZWxldGVJdGVtJywgYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAkdGhpcy0+Y29uZmlnLT5nZXQoJ3RhYmxlX25hbWUnKSwKICAgICAgICAgICAgICAgICdLZXknID0+ICR0aGlzLT5mb3JtYXRLZXkoJGlkKSwKICAgICAgICAgICAgICAgIFVhOjpPUFRJT04gPT4gVWE6OlNFU1NJT04KICAgICAgICAgICAgKSktPmV4ZWN1dGUoKTsKICAgICAgICB9IGNhdGNoIChEeW5hbW9EYkV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2VuZXJhdGVzIHRoZSBjb3JyZWN0IGtleSBzdHJ1Y3R1cmUgYmFzZWQgb24gdGhlIGtleSB2YWx1ZSBhbmQgRHluYW1vREIgQVBJIHZlcnNpb24KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXlWYWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGtleSAoaS5lLiwgdGhlIHNlc3Npb24gSUQpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheSBmb3JtYXR0ZWQga2V5IHN0cnVjdHVyZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZm9ybWF0S2V5KCRrZXlWYWx1ZSkKICAgIHsKICAgICAgICAka2V5TmFtZSA9ICgkdGhpcy0+Y2xpZW50LT5nZXRBcGlWZXJzaW9uKCkgPCAnMjAxMi0wOC0xMCcpCiAgICAgICAgICAgID8gJ0hhc2hLZXlFbGVtZW50JwogICAgICAgICAgICA6ICR0aGlzLT5jb25maWctPmdldCgnaGFzaF9rZXknKTsKCiAgICAgICAgcmV0dXJuIGFycmF5KCRrZXlOYW1lID0+IGFycmF5KCdTJyA9PiAka2V5VmFsdWUpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFsbG93cyB0aGUgc3BlY2lmaWMgc3RyYXRlZ3kgdG8gYWRkIGFkZGl0aW9uYWwgYXR0cmlidXRlcyB0byB1cGRhdGUKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIGFic3RyYWN0IHByb3RlY3RlZCBmdW5jdGlvbiBnZXRFeHRyYUF0dHJpYnV0ZXMoKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Session/LockingStrategy/LockingStrategyFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3k7Cgp1c2UgQXdzXER5bmFtb0RiXFNlc3Npb25cU2Vzc2lvbkhhbmRsZXJDb25maWc7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcSW5mbGVjdGlvblxJbmZsZWN0b3I7CnVzZSBHdXp6bGVcSW5mbGVjdGlvblxJbmZsZWN0b3JJbnRlcmZhY2U7CgovKioKICogRmFjdG9yeSBmb3IgaW5zdGFudGlhdGluZyBsb2NraW5nIHN0cmF0ZWdpZXMKICovCmNsYXNzIExvY2tpbmdTdHJhdGVneUZhY3RvcnkKewogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBCYXNlIG5hbWVzcGFjZSB1c2VkIHRvIGxvb2sgZm9yIGNsYXNzZXMKICAgICAqLwogICAgcHJvdGVjdGVkICRiYXNlTmFtZXNwYWNlOwoKICAgIC8qKgogICAgICogQHZhciBJbmZsZWN0b3JJbnRlcmZhY2UgSW5mbGVjdG9yIHVzZWQgdG8gaW5mbGVjdCBjbGFzcyBuYW1lcwogICAgICovCiAgICBwcm90ZWN0ZWQgJGluZmxlY3RvcjsKCiAgICAvKioKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgICAgJGJhc2VOYW1lc3BhY2UgQmFzZSBuYW1lc3BhY2Ugb2YgYWxsIGxvY2tpbmcgc3RyYXRlZ2llcwogICAgICogQHBhcmFtIEluZmxlY3RvckludGVyZmFjZSAkaW5mbGVjdG9yICAgICBJbmZsZWN0b3IgdXNlZCB0byByZXNvbHZlIGNsYXNzIG5hbWVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkYmFzZU5hbWVzcGFjZSA9IG51bGwsIEluZmxlY3RvckludGVyZmFjZSAkaW5mbGVjdG9yID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+YmFzZU5hbWVzcGFjZSA9ICRiYXNlTmFtZXNwYWNlID86IF9fTkFNRVNQQUNFX187CiAgICAgICAgJHRoaXMtPmluZmxlY3RvciA9ICRpbmZsZWN0b3IgPzogSW5mbGVjdG9yOjpnZXREZWZhdWx0KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGVzIGEgc2Vzc2lvbiBoYW5kbGVyIGxvY2tpbmcgc3RyYXRlZ3kKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgJGxvY2tpbmdTdHJhdGVneSBUaGUgbmFtZSBpZiB0aGUgbG9ja2luZyBzdHJhdGVneQogICAgICogQHBhcmFtIFNlc3Npb25IYW5kbGVyQ29uZmlnICRjb25maWcgICAgICAgICAgVGhlIHNlc3Npb24gaGFuZGxlciBjb25maWcgZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gTG9ja2luZ1N0cmF0ZWd5SW50ZXJmYWNlCiAgICAgKgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gSWYgdGhlIGxvY2tpbmcgc3RyYXRlZ3kgZG9lc24ndCBleGlzdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZmFjdG9yeSgkbG9ja2luZ1N0cmF0ZWd5ID0gbnVsbCwgU2Vzc2lvbkhhbmRsZXJDb25maWcgJGNvbmZpZyA9IG51bGwpCiAgICB7CiAgICAgICAgLy8gSWYgdGhlIGxvY2tpbmcgc3RyYXRlZ3kgaXMgbnVsbCwgbGV0J3MgZ2l2ZSBpdCB0aGUgbmFtZSAibnVsbCIKICAgICAgICBpZiAoJGxvY2tpbmdTdHJhdGVneSA9PT0gbnVsbCkgewogICAgICAgICAgICAkbG9ja2luZ1N0cmF0ZWd5ID0gJ251bGwnOwogICAgICAgIH0KCiAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBsb2NraW5nIHN0cmF0ZWd5IG5hbWUgcHJvdmlkZWQgaXMgYSBzdHJpbmcKICAgICAgICBpZiAoIWlzX3N0cmluZygkbG9ja2luZ1N0cmF0ZWd5KSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdUaGUgc2Vzc2lvbiBsb2NraW5nIHN0cmF0ZWd5ICcKICAgICAgICAgICAgICAgIC4gJ25hbWUgbXVzdCBiZSBwcm92aWRlZCBhcyBhIHN0cmluZy4nKTsKICAgICAgICB9CgogICAgICAgIC8vIERldGVybWluZSB0aGUgY2xhc3MgbmFtZSBvZiB0aGUgbG9ja2luZyBzdHJhdGVneSBjbGFzcwogICAgICAgICRjbGFzc1BhdGggPSAkdGhpcy0+YmFzZU5hbWVzcGFjZSAuICdcXCcKICAgICAgICAgICAgLiAkdGhpcy0+aW5mbGVjdG9yLT5jYW1lbCgkbG9ja2luZ1N0cmF0ZWd5KSAuICdMb2NraW5nU3RyYXRlZ3knOwoKICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIGxvY2tpbmcgc3RyYXRlZ3kgY2xhc3MgZXhpc3RzCiAgICAgICAgaWYgKCFjbGFzc19leGlzdHMoJGNsYXNzUGF0aCkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigiVGhlcmUgaXMgbm8gc2Vzc2lvbiBsb2NraW5nICIKICAgICAgICAgICAgICAgIC4gInN0cmF0ZWd5IG5hbWVkIFwieyRjbGFzc1BhdGh9XCIuIik7CiAgICAgICAgfQoKICAgICAgICAvLyBDYWxsIHRoZSBmYWN0b3J5IG9uIHRoZSBsb2NraW5nIHN0cmF0ZWd5IGNsYXNzIHRvIGNyZWF0ZSBpdAogICAgICAgIHJldHVybiBuZXcgJGNsYXNzUGF0aCgkY29uZmlnLT5nZXQoJ2R5bmFtb2RiX2NsaWVudCcpLCAkY29uZmlnKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Session/LockingStrategy/LockingStrategyFactoryInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3k7Cgp1c2UgQXdzXER5bmFtb0RiXFNlc3Npb25cU2Vzc2lvbkhhbmRsZXJDb25maWc7CgovKioKICogSW50ZXJmYWNlIGZvciBsb2NraW5nIHN0cmF0ZWd5IGZhY3Rvcmllcy4gVXNlZnVsIGZvciB0aG9zZSB3aG8gYXJlIGNyZWF0aW5nCiAqIHRoZWlyIG93biBsb2NraW5nIHN0cmF0ZWdpZXMuCiAqLwppbnRlcmZhY2UgTG9ja2luZ1N0cmF0ZWd5RmFjdG9yeUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIENyZWF0ZXMgYSBzZXNzaW9uIGhhbmRsZXIgbG9ja2luZyBzdHJhdGVneSBvYmplY3QKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgJGxvY2tpbmdTdHJhdGVneSBUaGUgbmFtZSBvZiB0aGUgbG9ja2luZyBzdHJhdGVneQogICAgICogQHBhcmFtIFNlc3Npb25IYW5kbGVyQ29uZmlnICRjb25maWcgICAgICAgICAgVGhlIHNlc3Npb24gaGFuZGxlciBjb25maWcgZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gTG9ja2luZ1N0cmF0ZWd5SW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBmYWN0b3J5KCRsb2NraW5nU3RyYXRlZ3ksIFNlc3Npb25IYW5kbGVyQ29uZmlnICRjb25maWcpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Session/LockingStrategy/LockingStrategyInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3k7CgovKioKICogQW4gaW50ZXJmYWNlIGRlc2NyaWJpbmcgaG93IGEgbG9ja2luZyBzdHJhdGVneSBzaG91bGQgYmUgZGVmaW5lZAogKi8KaW50ZXJmYWNlIExvY2tpbmdTdHJhdGVneUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIFJlYWRzIHRoZSBzZXNzaW9uIGRhdGEgZnJvbSBEeW5hbW8gREIKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRpZCBUaGUgc2Vzc2lvbiBJRAogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRvUmVhZCgkaWQpOwoKICAgIC8qKgogICAgICogV3JpdGVzIHRoZSBzZXNzaW9uIGRhdGEgdG8gRHluYW1vIERCCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkaWQgICAgICAgICAgICBUaGUgc2Vzc2lvbiBJRAogICAgICogQHBhcmFtIHN0cmluZyAkZGF0YSAgICAgICAgICBUaGUgc2VyaWFsaXplZCBzZXNzaW9uIGRhdGEKICAgICAqIEBwYXJhbSBib29sICAgJGlzRGF0YUNoYW5nZWQgV2hldGhlciBvciBub3QgdGhlIGRhdGEgaGFzIGNoYW5nZWQKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRvV3JpdGUoJGlkLCAkZGF0YSwgJGlzRGF0YUNoYW5nZWQpOwoKICAgIC8qKgogICAgICogRGVsZXRlcyBhIHNlc3Npb24gcmVjb3JkIGZyb20gRHluYW1vIERCCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkaWQgVGhlIHNlc3Npb24gSUQKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRvRGVzdHJveSgkaWQpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Session/LockingStrategy/NullLockingStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3k7Cgp1c2UgQXdzXENvbW1vblxFbnVtXFVhU3RyaW5nIGFzIFVhOwp1c2UgQXdzXER5bmFtb0RiXEV4Y2VwdGlvblxEeW5hbW9EYkV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgTlVMTCBsb2NraW5nIHN0cmF0ZWd5IGlzIHRoZSBkZWZhdWx0IHN0cmF0ZWd5IHRoYXQgZG9lcyBOT1QgZG8gc2Vzc2lvbgogKiBsb2NraW5nLiBTZXNzaW9uIGxvY2tpbmcgY2FuIGNhdXNlIGV4dHJhIGxhdGVuY3kgYW5kIGNvc3RzIHdoZW4gcmV0cnlpbmcKICogbG9jayBhY3F1aXNpdGlvbnMuIFRodXMsIHRoZSBudWxsIHN0cmF0ZWd5IGlzIHRoZSBtb3N0IHJlYXNvbmFibGUgZGVmYXVsdC4KICovCmNsYXNzIE51bGxMb2NraW5nU3RyYXRlZ3kgZXh0ZW5kcyBBYnN0cmFjdExvY2tpbmdTdHJhdGVneQp7CiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRvUmVhZCgkaWQpCiAgICB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgLy8gRXhlY3V0ZSBhIEdldEl0ZW0gY29tbWFuZCB0byByZXRyaWV2ZSB0aGUgaXRlbQogICAgICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnR2V0SXRlbScsIGFycmF5KAogICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJHRoaXMtPmNvbmZpZy0+Z2V0KCd0YWJsZV9uYW1lJyksCiAgICAgICAgICAgICAgICAnS2V5JyA9PiAkdGhpcy0+Zm9ybWF0S2V5KCRpZCksCiAgICAgICAgICAgICAgICAnQ29uc2lzdGVudFJlYWQnID0+IChib29sKSAkdGhpcy0+Y29uZmlnLT5nZXQoJ2NvbnNpc3RlbnRfcmVhZCcpLAogICAgICAgICAgICAgICAgVWE6Ok9QVElPTiAgICAgICA9PiBVYTo6U0VTU0lPTgogICAgICAgICAgICApKS0+ZXhlY3V0ZSgpOwoKICAgICAgICAgICAgLy8gR2V0IHRoZSBpdGVtIHZhbHVlcwogICAgICAgICAgICAkaXRlbSAgID0gYXJyYXkoKTsKICAgICAgICAgICAgJHJlc3VsdCA9IGlzc2V0KCRyZXN1bHRbJ0l0ZW0nXSkgPyAkcmVzdWx0WydJdGVtJ10gOiBhcnJheSgpOwogICAgICAgICAgICBmb3JlYWNoICgkcmVzdWx0IGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAkaXRlbVska2V5XSA9IGN1cnJlbnQoJHZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgIH0gY2F0Y2ggKER5bmFtb0RiRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICRpdGVtID0gYXJyYXkoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkaXRlbTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldEV4dHJhQXR0cmlidXRlcygpCiAgICB7CiAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZVN0YXJ0CiAgICAgICAgcmV0dXJuIGFycmF5KCk7CiAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZUVuZAogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Session/LockingStrategy/PessimisticLockingStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3k7Cgp1c2UgQXdzXENvbW1vblxFbnVtXFVhU3RyaW5nIGFzIFVhOwp1c2UgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50Owp1c2UgQXdzXER5bmFtb0RiXFNlc3Npb25cU2Vzc2lvbkhhbmRsZXJDb25maWc7CnVzZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uXER5bmFtb0RiRXhjZXB0aW9uOwp1c2UgQXdzXER5bmFtb0RiXEV4Y2VwdGlvblxDb25kaXRpb25hbENoZWNrRmFpbGVkRXhjZXB0aW9uOwoKLyoqCiAqIFRoaXMgbG9ja2luZyBzdHJhdGVneSB1c2VzIHBlc3NpbWlzdGljIGxvY2tpbmcgKHNpbWlsYXIgdG8gaG93IHRoZSBuYXRpdmUKICogUEhQIHNlc3Npb24gaGFuZGxlciB3b3JrcykgdG8gZW5zdXJlIHRoYXQgc2Vzc2lvbnMgYXJlIG5vdCBlZGl0ZWQgd2hpbGUKICogYW5vdGhlciBwcm9jZXNzIGlzIHJlYWRpbmcvd3JpdGluZyB0byBpdC4gUGVzc2ltaXN0aWMgbG9ja2luZyBjYW4gYmUKICogZXhwZW5zaXZlIGFuZCBjYW4gaW5jcmVhc2UgbGF0ZW5jaWVzLCBlc3BlY2lhbGx5IGluIGNhc2VzIHdoZXJlIHRoZSB1c2VyIGNhbgogKiBhY2Nlc3MgdGhlIHNlc3Npb24gbW9yZSB0aGFuIG9uY2UgYXQgdGhlIHNhbWUgdGltZSAoZS5nLiBhamF4LCBpZnJhbWVzLCBvcgogKiBtdWx0aXBsZSBicm93c2VyIHRhYnMpCiAqLwpjbGFzcyBQZXNzaW1pc3RpY0xvY2tpbmdTdHJhdGVneSBleHRlbmRzIEFic3RyYWN0TG9ja2luZ1N0cmF0ZWd5CnsKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICogQWRkcyB0aGUgZGVmYXVsdHMgZm9yIHRoZSBwZXNzaW1pc3RpYyBsb2NraW5nIHN0cmF0ZWd5IGlmIG5vdCBzZXQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KER5bmFtb0RiQ2xpZW50ICRjbGllbnQsIFNlc3Npb25IYW5kbGVyQ29uZmlnICRjb25maWcpCiAgICB7CiAgICAgICAgJGNvbmZpZy0+YWRkRGVmYXVsdHMoYXJyYXkoCiAgICAgICAgICAgICdtYXhfbG9ja193YWl0X3RpbWUnICAgICAgID0+IDEwLAogICAgICAgICAgICAnbWluX2xvY2tfcmV0cnlfbWljcm90aW1lJyA9PiAxMDAwMCwKICAgICAgICAgICAgJ21heF9sb2NrX3JldHJ5X21pY3JvdGltZScgPT4gNTAwMDAsCiAgICAgICAgKSk7CgogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJGNsaWVudCwgJGNvbmZpZyk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKiBSZXRyaWVzIHRoZSByZXF1ZXN0IHVudGlsIHRoZSBsb2NrIGNhbiBiZSBhY3F1aXJlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZG9SZWFkKCRpZCkKICAgIHsKICAgICAgICAkaXRlbSAgICAgPSBhcnJheSgpOwogICAgICAgICRyaWdodE5vdyA9IHRpbWUoKTsKICAgICAgICAkdGltZW91dCAgPSAkcmlnaHROb3cgKyAkdGhpcy0+Y29uZmlnLT5nZXQoJ21heF9sb2NrX3dhaXRfdGltZScpOwoKICAgICAgICAvLyBDcmVhdGUgYW4gVXBkYXRlSXRlbSBjb21tYW5kIHNvIHRoYXQgYSBsb2NrIGNhbiBiZSBzZXQgYW5kIHRoZSBpdGVtCiAgICAgICAgLy8gcmV0dXJuZWQgKHZpYSBSZXR1cm5WYWx1ZXMpIGluIGEgc2luZ2xlLCBhdG9taWMgb3BlcmF0aW9uCiAgICAgICAgJHVwZGF0ZUl0ZW0gPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdVcGRhdGVJdGVtJywgYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnID0+ICR0aGlzLT5jb25maWctPmdldCgndGFibGVfbmFtZScpLAogICAgICAgICAgICAnS2V5JyA9PiAkdGhpcy0+Zm9ybWF0S2V5KCRpZCksCiAgICAgICAgICAgICdFeHBlY3RlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnbG9jaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0V4aXN0cycgPT4gZmFsc2UKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0F0dHJpYnV0ZVVwZGF0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2xvY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdOJyA9PiAnMScKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdSZXR1cm5WYWx1ZXMnID0+ICdBTExfTkVXJywKICAgICAgICAgICAgVWE6Ok9QVElPTiAgICAgPT4gVWE6OlNFU1NJT04KICAgICAgICApKTsKCiAgICAgICAgLy8gQWNxdWlyZSB0aGUgbG9jayBhbmQgZmV0Y2ggdGhlIGl0ZW0gZGF0YQogICAgICAgIGRvIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkdXBkYXRlSXRlbS0+ZXhlY3V0ZSgpOwogICAgICAgICAgICB9IGNhdGNoIChDb25kaXRpb25hbENoZWNrRmFpbGVkRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICAgICAvLyBJZiBsb2NrIGZhaWxzLCBzbGVlcCBhbmQgdHJ5IGFnYWluIGxhdGVyCiAgICAgICAgICAgICAgICB1c2xlZXAocmFuZCgKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Y29uZmlnLT5nZXQoJ21pbl9sb2NrX3JldHJ5X21pY3JvdGltZScpLAogICAgICAgICAgICAgICAgICAgICR0aGlzLT5jb25maWctPmdldCgnbWF4X2xvY2tfcmV0cnlfbWljcm90aW1lJykKICAgICAgICAgICAgICAgICkpOwoKICAgICAgICAgICAgICAgICRyZXN1bHQgICA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAkcmlnaHROb3cgPSB0aW1lKCk7CiAgICAgICAgICAgIH0gY2F0Y2ggKER5bmFtb0RiRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJGl0ZW07CiAgICAgICAgICAgIH0KICAgICAgICB9IHdoaWxlICghJHJlc3VsdCAmJiAkcmlnaHROb3cgPCAkdGltZW91dCk7CgogICAgICAgIC8vIEdldCB0aGUgaXRlbSBhdHRyaWJ1dGVzCiAgICAgICAgaWYgKGlzc2V0KCRyZXN1bHRbJ0F0dHJpYnV0ZXMnXSkpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHJlc3VsdFsnQXR0cmlidXRlcyddIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAkaXRlbVska2V5XSA9IGN1cnJlbnQoJHZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRpdGVtOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RXh0cmFBdHRyaWJ1dGVzKCkKICAgIHsKICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlU3RhcnQKICAgICAgICByZXR1cm4gYXJyYXkoJ2xvY2snID0+IGFycmF5KCdBY3Rpb24nID0+ICdERUxFVEUnKSk7CiAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZUVuZAogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Session/SessionHandler.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcU2Vzc2lvbjsKCnVzZSBBd3NcQ29tbW9uXEVudW1cVWFTdHJpbmcgYXMgVWE7CnVzZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ7CnVzZSBBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3lcTG9ja2luZ1N0cmF0ZWd5SW50ZXJmYWNlOwp1c2UgQXdzXER5bmFtb0RiXFNlc3Npb25cTG9ja2luZ1N0cmF0ZWd5XExvY2tpbmdTdHJhdGVneUZhY3Rvcnk7CnVzZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0XFdyaXRlUmVxdWVzdEJhdGNoOwp1c2UgQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxEZWxldGVSZXF1ZXN0OwoKLyoqCiAqIFByb3ZpZGVzIGFuIGludGVyZmFjZSBmb3IgdXNpbmcgQW1hem9uIER5bmFtb0RCIGFzIGEgc2Vzc2lvbiBzdG9yZSBieSBob29raW5nIGludG8gUEhQJ3Mgc2Vzc2lvbiBoYW5kbGVyIGhvb2tzLiBPbmNlCiAqIHJlZ2lzdGVyZWQsIFlvdSBtYXkgdXNlIHRoZSBuYXRpdmUgYCRfU0VTU0lPTmAgc3VwZXJnbG9iYWwgYW5kIHNlc3Npb24gZnVuY3Rpb25zLCBhbmQgdGhlIHNlc3Npb25zIHdpbGwgYmUgc3RvcmVkCiAqIGF1dG9tYXRpY2FsbHkgaW4gRHluYW1vREIuIER5bmFtb0RCIGlzIGEgZ3JlYXQgc2Vzc2lvbiBzdG9yYWdlIHNvbHV0aW9uIGR1ZSB0byBpdHMgc3BlZWQsIHNjYWxhYmlsaXR5LCBhbmQgZmF1bHQKICogdG9sZXJhbmNlLgogKgogKiBGb3IgbWF4aW11bSBwZXJmb3JtYW5jZSwgd2UgcmVjb21tZW5kIHRoYXQgeW91IGtlZXAgdGhlIHNpemUgb2YgeW91ciBzZXNzaW9ucyBzbWFsbC4gSXRlbXMgZ3JlYXRlciB0aGFuIDFLQiByZXF1aXJlCiAqIG1vcmUgdGhyb3VnaHB1dCBpbiBEeW5hbW9EQi4gQWxzbywgaW4gdGhpcyB2ZXJzaW9uIG9mIHRoZSBzZXNzaW9uIGhhbmRsZXIsIHNlc3Npb24gbG9ja2luZyBpcyB0dXJuZWQgb2ZmIGJ5IGRlZmF1bHQKICogc2luY2UgaXQgY2FuIGRyaXZlIHVwIGxhdGVuY2llcyBhbmQgY29zdHMgdW5kZXIgaGlnaCB0cmFmZmljIGFuZCBwb29yIHNlc3Npb24gbWFuYWdlbWVudCwgZXNwZWNpYWxseSB3aGVuIHVzaW5nIGFqYXguCiAqIE9ubHkgdHVybiBpdCBvbiBpZiB5b3UgbmVlZCBpdC4KICoKICogQnkgZmFyLCB0aGUgbW9zdCBleHBlbnNpdmUgb3BlcmF0aW9uIGlzIGdhcmJhZ2UgY29sbGVjdGlvbi4gVGhlcmVmb3JlLCB3ZSBlbmNvdXJhZ2UgeW91IHRvIGNhcmVmdWxseSBjb25zaWRlciB5b3VyCiAqIHNlc3Npb24gZ2FyYmFnZSBjb2xsZWN0aW9uIHN0cmF0ZWd5LiBXZSByZWNvbW1lbmQgdGhhdCB5b3UgY2hhbmdlIHRoZSBgc2Vzc2lvbi5nY19wcm9iYWJpbGl0eWAgaW5pIHNldHRpbmcgdG8gMCBzbwogKiB0aGF0IGdhcmJhZ2UgY29sbGVjdGlvbiBpcyBub3QgdHJpZ2dlcmVkIHJhbmRvbWx5LiBZb3Ugc2hvdWxkIGNvbnNpZGVyIHVzaW5nIGEgY3JvbiBqb2Igb3Igc2ltaWxhciBzY2hlZHVsaW5nCiAqIHRlY2huaXF1ZSBmb3IgdHJpZ2dlcmluZyBnYXJiYWdlIGNvbGxlY3Rpb24gYXQgYXBwcm9wcmlhdGUgdGltZXMuCiAqLwpjbGFzcyBTZXNzaW9uSGFuZGxlciBpbXBsZW1lbnRzIFNlc3Npb25IYW5kbGVySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQHZhciBEeW5hbW9EYkNsaWVudCBUaGUgRHluYW1vREIgY2xpZW50CiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2xpZW50OwoKICAgIC8qKgogICAgICogQHZhciBMb2NraW5nU3RyYXRlZ3lJbnRlcmZhY2UgVGhlIGxvY2tpbmcgc3RyYXRlZ3kKICAgICAqLwogICAgcHJvdGVjdGVkICRsb2NraW5nU3RyYXRlZ3k7CgogICAgLyoqCiAgICAgKiBAdmFyIFNlc3Npb25IYW5kbGVyQ29uZmlnIFRoZSBjb25maWcgZm9yIHRoZSBoYW5kbGVyIGFuZCBsb2NraW5nIHN0cmF0ZWd5CiAgICAgKi8KICAgIHByb3RlY3RlZCAkY29uZmlnOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVGhlIHNlc3Npb24gc2F2ZSBwYXRoCiAgICAgKi8KICAgIHByb3RlY3RlZCAkc2F2ZVBhdGg7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBUaGUgc2Vzc2lvbiBuYW1lCiAgICAgKi8KICAgIHByb3RlY3RlZCAkc2Vzc2lvbk5hbWU7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBTdG9yZXMgdGhlIHNlcmlhbGl6ZWQgZGF0YSB0aGF0IHdhcyByZWFkIGZvciB0cmFja2luZyBjaGFuZ2VzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkZGF0YVJlYWQ7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBLZWVwcyB0cmFjayBvZiB0aGUgb3BlbiBzZXNzaW9uJ3MgSUQKICAgICAqLwogICAgcHJvdGVjdGVkICRvcGVuU2Vzc2lvbklkOwoKICAgIC8qKgogICAgICogQHZhciBib29sIEtlZXBzIHRyYWNrIG9mIHdoZXRoZXIgdGhlIHNlc3Npb24gaGFzIGJlZW4gd3JpdHRlbgogICAgICovCiAgICBwcm90ZWN0ZWQgJHNlc3Npb25Xcml0dGVuOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IER5bmFtb0RCIFNlc3Npb24gSGFuZGxlcgogICAgICoKICAgICAqIFRoZSBjb25maWd1cmF0aW9uIGFycmF5IGFjY2VwdHMgdGhlIGZvbGxvd2luZyBhcnJheSBrZXlzIGFuZCB2YWx1ZXM6CiAgICAgKiAtIGxvY2tpbmdfc3RyYXRlZ3k6ICAgICAgICAgTG9ja2luZyBzdHJhdGVneSBmdXNlZCBmb3IgZG9pbmcgc2Vzc2lvbiBsb2NraW5nLiBEZWZhdWx0OiBudWxsCiAgICAgKiAtIGR5bmFtb2RiX2NsaWVudDogICAgICAgICAgRHluYW1vRGJDbGllbnQgb2JqZWN0IHVzZWQgZm9yIHBlcmZvcm1pbmcgRHluYW1vREIgb3BlcmF0aW9ucwogICAgICogLSB0YWJsZV9uYW1lOiAgICAgICAgICAgICAgIE5hbWUgb2YgdGhlIER5bmFtb0RCIHRhYmxlIGluIHdoaWNoIHRvIHN0b3JlIHRoZSBzZXNzaW9ucy4gRGVmYXVsdDogInNlc3Npb25zIgogICAgICogLSBoYXNoX2tleTogICAgICAgICAgICAgICAgIE5hbWUgb2YgdGhlIGhhc2gga2V5IGluIHRoZSBEeW5hbW9EQiBzZXNzaW9ucyB0YWJsZS4gRGVmYXVsdDogImlkIgogICAgICogLSBzZXNzaW9uX2xpZmV0aW1lOiAgICAgICAgIExpZmV0aW1lIG9mIGFuIGluYWN0aXZlIHNlc3Npb24gYmVmb3JlIGl0IHNob3VsZCBiZSBnYXJiYWdlIGNvbGxlY3RlZC4KICAgICAqIC0gY29uc2lzdGVudF9yZWFkOiAgICAgICAgICBXaGV0aGVyIG9yIG5vdCB0byB1c2UgRHluYW1vREIgY29uc2lzdGVudCByZWFkcyBmb3IgYEdldEl0ZW1gLiBEZWZhdWx0OiB0cnVlCiAgICAgKiAtIGF1dG9tYXRpY19nYzogICAgICAgICAgICAgV2hldGhlciBvciBub3QgdG8gdXNlIFBIUCdzIHNlc3Npb24gYXV0byBnYXJiYWdlIGNvbGxlY3Rpb24gdHJpZ2dlcnMuCiAgICAgKiAtIGdjX2JhdGNoX3NpemU6ICAgICAgICAgICAgQmF0Y2ggc2l6ZSB1c2VkIGZvciByZW1vdmluZyBleHBpcmVkIHNlc3Npb25zIGR1cmluZyBnYXJiYWdlIGNvbGxlY3Rpb24uIERlZmF1bHQ6IDI1CiAgICAgKiAtIGdjX29wZXJhdGlvbl9kZWxheTogICAgICAgRGVsYXkgYmV0d2VlbiBzZXJ2aWNlIG9wZXJhdGlvbnMgZHVyaW5nIGdhcmJhZ2UgY29sbGVjdGlvbgogICAgICogLSBtYXhfbG9ja193YWl0X3RpbWU6ICAgICAgIE1heGltdW0gdGltZSAoaW4gc2Vjb25kcykgdG8gd2FpdCB0byBhY3F1aXJlIGEgbG9jayBiZWZvcmUgZ2l2aW5nIHVwCiAgICAgKiAtIG1pbl9sb2NrX3JldHJ5X21pY3JvdGltZTogTWluaW11bSB0aW1lIChpbiBtaWNyb3NlY29uZHMpIHRvIHdhaXQgYmV0d2VlbiBhdHRlbXB0cyB0byBhY3F1aXJlIGEgbG9jawogICAgICogLSBtYXhfbG9ja19yZXRyeV9taWNyb3RpbWU6IE1heGltdW0gdGltZSAoaW4gbWljcm9zZWNvbmRzKSB0byB3YWl0IGJldHdlZW4gYXR0ZW1wdHMgdG8gYWNxdWlyZSBhIGxvY2sKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGNvbmZpZyBDb25maWd1cmF0aW9uIG9wdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIFNlc3Npb25IYW5kbGVyCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeShhcnJheSAkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAvLyBTZXR1cCBzZXNzaW9uIGhhbmRsZXIgY29uZmlndXJhdGlvbiBhbmQgZ2V0IHRoZSBjbGllbnQKICAgICAgICAkY29uZmlnID0gbmV3IFNlc3Npb25IYW5kbGVyQ29uZmlnKCRjb25maWcpOwogICAgICAgICRjbGllbnQgPSAkY29uZmlnLT5nZXQoJ2R5bmFtb2RiX2NsaWVudCcpOwoKICAgICAgICAvLyBNYWtlIHN1cmUgbG9ja2luZyBzdHJhdGVneSBoYXMgYmVlbiBwcm92aWRlZCBvciBwcm92aWRlIGEgZGVmYXVsdAogICAgICAgICRzdHJhdGVneSA9ICRjb25maWctPmdldCgnbG9ja2luZ19zdHJhdGVneScpOwogICAgICAgIGlmICghKCRzdHJhdGVneSBpbnN0YW5jZW9mIExvY2tpbmdTdHJhdGVneUludGVyZmFjZSkpIHsKICAgICAgICAgICAgJGZhY3RvcnkgID0gbmV3IExvY2tpbmdTdHJhdGVneUZhY3RvcnkoKTsKICAgICAgICAgICAgJHN0cmF0ZWd5ID0gJGZhY3RvcnktPmZhY3RvcnkoJHN0cmF0ZWd5LCAkY29uZmlnKTsKICAgICAgICB9CgogICAgICAgIC8vIFJldHVybiBhbiBpbnN0YW5jZSBvZiB0aGUgc2Vzc2lvbiBoYW5kbGVyCiAgICAgICAgcmV0dXJuIG5ldyBzdGF0aWMoJGNsaWVudCwgJHN0cmF0ZWd5LCAkY29uZmlnKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnN0cnVjdHMgYSBuZXcgRHluYW1vREIgU2Vzc2lvbiBIYW5kbGVyCiAgICAgKgogICAgICogQHBhcmFtIER5bmFtb0RiQ2xpZW50ICAgICAgICAgICAkY2xpZW50ICAgQ2xpZW50IGZvciBkb2luZyBEeW5hbW9EQiBvcGVyYXRpb25zCiAgICAgKiBAcGFyYW0gTG9ja2luZ1N0cmF0ZWd5SW50ZXJmYWNlICRzdHJhdGVneSBMb2NraW5nIHN0cmF0ZWd5IGZvciBwZXJmb3JtaW5nIHNlc3Npb24gbG9ja2luZyBsb2dpYwogICAgICogQHBhcmFtIFNlc3Npb25IYW5kbGVyQ29uZmlnICAgICAkY29uZmlnICAgQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgc2Vzc2lvbiBoYW5kbGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgKICAgICAgICBEeW5hbW9EYkNsaWVudCAkY2xpZW50LAogICAgICAgIExvY2tpbmdTdHJhdGVneUludGVyZmFjZSAkc3RyYXRlZ3ksCiAgICAgICAgU2Vzc2lvbkhhbmRsZXJDb25maWcgJGNvbmZpZwogICAgKSB7CiAgICAgICAgJHRoaXMtPmNsaWVudCAgICAgICAgICA9ICRjbGllbnQ7CiAgICAgICAgJHRoaXMtPmxvY2tpbmdTdHJhdGVneSA9ICRzdHJhdGVneTsKICAgICAgICAkdGhpcy0+Y29uZmlnICAgICAgICAgID0gJGNvbmZpZzsKICAgIH0KCiAgICAvKioKICAgICAqIERlc3RydWN0IHRoZSBzZXNzaW9uIGhhbmRsZXIgYW5kIG1ha2Ugc3VyZSB0aGUgc2Vzc2lvbiBnZXRzIHdyaXR0ZW4KICAgICAqCiAgICAgKiBOT1RFOiBJdCBpcyB1c3VhbGx5IGJldHRlciBwcmFjdGljZSB0byBjYWxsIGBzZXNzaW9uX3dyaXRlX2Nsb3NlKClgIG1hbnVhbGx5IGluIHlvdXIgYXBwbGljYXRpb24gYXMgc29vbiBhcwogICAgICogc2Vzc2lvbiBtb2RpZmljYXRpb25zIGFyZSBjb21wbGV0ZS4gVGhpcyBpcyBlc3BlY2lhbGx5IHRydWUgaWYgc2Vzc2lvbiBsb2NraW5nIGlzIGVuYWJsZWQuCiAgICAgKgogICAgICogQGxpbmsgaHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLnNlc3Npb24tc2V0LXNhdmUtaGFuZGxlci5waHAjcmVmc2VjdDEtZnVuY3Rpb24uc2Vzc2lvbi1zZXQtc2F2ZS1oYW5kbGVyLW5vdGVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2Rlc3RydWN0KCkKICAgIHsKICAgICAgICBzZXNzaW9uX3dyaXRlX2Nsb3NlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZWdpc3RlciB0aGUgRHluYW1vREIgc2Vzc2lvbiBoYW5kbGVyLgogICAgICoKICAgICAqIFVzZXMgdGhlIFBIUC1wcm92aWRlZCBtZXRob2QgdG8gcmVnaXN0ZXIgdGhpcyBjbGFzcyBhcyBhIHNlc3Npb24gaGFuZGxlci4KICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wgV2hldGhlciBvciBub3QgdGhlIGhhbmRsZXIgd2FzIHJlZ2lzdGVyZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlZ2lzdGVyKCkKICAgIHsKICAgICAgICAvLyBTZXQgZ2FyYmFnZSBjb2xsZWN0aW9uIHByb2JhYmlsaXR5IGJhc2VkIG9uIGNvbmZpZwogICAgICAgICRhdXRvR2FyYmFnZUNvbGxlY3Rpb24gPSAkdGhpcy0+Y29uZmlnLT5nZXQoJ2F1dG9tYXRpY19nYycpID8gJzEnIDogJzAnOwogICAgICAgIGluaV9zZXQoJ3Nlc3Npb24uZ2NfcHJvYmFiaWxpdHknLCAkYXV0b0dhcmJhZ2VDb2xsZWN0aW9uKTsKCiAgICAgICAgLy8gUmVnaXN0ZXIgdGhlIHNlc3Npb24gaGFuZGxlcgogICAgICAgIHJldHVybiBzZXNzaW9uX3NldF9zYXZlX2hhbmRsZXIoCiAgICAgICAgICAgIGFycmF5KCR0aGlzLCAnb3BlbicpLAogICAgICAgICAgICBhcnJheSgkdGhpcywgJ2Nsb3NlJyksCiAgICAgICAgICAgIGFycmF5KCR0aGlzLCAncmVhZCcpLAogICAgICAgICAgICBhcnJheSgkdGhpcywgJ3dyaXRlJyksCiAgICAgICAgICAgIGFycmF5KCR0aGlzLCAnZGVzdHJveScpLAogICAgICAgICAgICBhcnJheSgkdGhpcywgJ2djJykKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2tzIGlmIHRoZSBzZXNzaW9uIGlzIG9wZW4gYW5kIHdyaXRhYmxlCiAgICAgKgogICAgICogQHJldHVybiBib29sIFdoZXRoZXIgb3Igbm90IHRoZSBzZXNzaW9uIGlzIG9wZW4gZm9yIHdyaXRpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzU2Vzc2lvbk9wZW4oKQogICAgewogICAgICAgIHJldHVybiAoYm9vbCkgJHRoaXMtPm9wZW5TZXNzaW9uSWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVja3MgaWYgdGhlIHNlc3Npb24gaGFzIGJlZW4gd3JpdHRlbgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbCBXaGV0aGVyIG9yIG5vdCB0aGUgc2Vzc2lvbiBoYXMgYmVlbiB3cml0dGVuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc1Nlc3Npb25Xcml0dGVuKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNlc3Npb25Xcml0dGVuOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlcyBhIHRhYmxlIGluIER5bmFtb0RCIGZvciBzZXNzaW9uIHN0b3JhZ2UgYWNjb3JkaW5nIHRvIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBOb3RlOiBUaGlzIGlzIGEgb25lLXRpbWUgb3BlcmF0aW9uLiBJdCBtYXkgYmUgYmV0dGVyIHRvIGRvIHRoaXMgdmlhIHRoZSBBV1MgbWFuYWdlbWVudCBjb25zb2xlIGFoZWFkIG9mIHRpbWUuCiAgICAgKgogICAgICogQHBhcmFtIGludCAkcmVhZENhcGFjaXR5VW5pdHMgIFJDVXMgZm9yIHRhYmxlIHJlYWQgdGhyb3VnaHB1dAogICAgICogQHBhcmFtIGludCAkd3JpdGVDYXBhY2l0eVVuaXRzIFdDVXMgdGFibGUgd3JpdGUgdGhyb3VnaHB1dAogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkgVGhlIGNvbW1hbmQgcmVzdWx0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGVTZXNzaW9uc1RhYmxlKCRyZWFkQ2FwYWNpdHlVbml0cywgJHdyaXRlQ2FwYWNpdHlVbml0cykKICAgIHsKICAgICAgICAkdGFibGVOYW1lID0gJHRoaXMtPmNvbmZpZy0+Z2V0KCd0YWJsZV9uYW1lJyk7CiAgICAgICAgJGhhc2hLZXkgPSAkdGhpcy0+Y29uZmlnLT5nZXQoJ2hhc2hfa2V5Jyk7CgogICAgICAgICRwYXJhbXMgPSBhcnJheSgKICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJHRhYmxlTmFtZSwKICAgICAgICAgICAgJ1Byb3Zpc2lvbmVkVGhyb3VnaHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVhZENhcGFjaXR5VW5pdHMnICA9PiAoaW50KSAkcmVhZENhcGFjaXR5VW5pdHMsCiAgICAgICAgICAgICAgICAnV3JpdGVDYXBhY2l0eVVuaXRzJyA9PiAoaW50KSAkd3JpdGVDYXBhY2l0eVVuaXRzLAogICAgICAgICAgICApLAogICAgICAgICAgICBVYTo6T1BUSU9OID0+IFVhOjpTRVNTSU9OCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCR0aGlzLT5jbGllbnQtPmdldEFwaVZlcnNpb24oKSA8ICcyMDEyLTA4LTEwJykgewogICAgICAgICAgICAkcGFyYW1zWydLZXlTY2hlbWEnXSA9IGFycmF5KAogICAgICAgICAgICAgICAgJ0hhc2hLZXlFbGVtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gJGhhc2hLZXksCiAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVR5cGUnID0+ICdTJywKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkcGFyYW1zWydBdHRyaWJ1dGVEZWZpbml0aW9ucyddID0gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gJGhhc2hLZXksCiAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVR5cGUnID0+ICdTJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApOwogICAgICAgICAgICAkcGFyYW1zWydLZXlTY2hlbWEnXSA9IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUnID0+ICRoYXNoS2V5LAogICAgICAgICAgICAgICAgICAgICdLZXlUeXBlJyA9PiAnSEFTSCcKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdDcmVhdGVUYWJsZScsICRwYXJhbXMpLT5leGVjdXRlKCk7CgogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbCgndGFibGVfZXhpc3RzJywgYXJyYXkoJ1RhYmxlTmFtZScgPT4gJHRhYmxlTmFtZSkpOwoKICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KCiAgICAvKioKICAgICAqIE9wZW4gYSBzZXNzaW9uIGZvciB3cml0aW5nLiBUcmlnZ2VyZWQgYnkgc2Vzc2lvbl9zdGFydCgpCiAgICAgKgogICAgICogUGFydCBvZiB0aGUgc3RhbmRhcmQgUEhQIHNlc3Npb24gaGFuZGxlciBpbnRlcmZhY2UKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzYXZlUGF0aCAgICBUaGUgc2Vzc2lvbiBzYXZlIHBhdGgKICAgICAqIEBwYXJhbSBzdHJpbmcgJHNlc3Npb25OYW1lIFRoZSBzZXNzaW9uIG5hbWUKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wgV2hldGhlciBvciBub3QgdGhlIG9wZXJhdGlvbiBzdWNjZWVkZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9wZW4oJHNhdmVQYXRoLCAkc2Vzc2lvbk5hbWUpCiAgICB7CiAgICAgICAgJHRoaXMtPnNhdmVQYXRoICAgICAgPSAkc2F2ZVBhdGg7CiAgICAgICAgJHRoaXMtPnNlc3Npb25OYW1lICAgPSAkc2Vzc2lvbk5hbWU7CiAgICAgICAgJHRoaXMtPm9wZW5TZXNzaW9uSWQgPSBzZXNzaW9uX2lkKCk7CgogICAgICAgIHJldHVybiAkdGhpcy0+aXNTZXNzaW9uT3BlbigpOwogICAgfQoKICAgIC8qKgogICAgICogQ2xvc2UgYSBzZXNzaW9uIGZyb20gd3JpdGluZwogICAgICoKICAgICAqIFBhcnQgb2YgdGhlIHN0YW5kYXJkIFBIUCBzZXNzaW9uIGhhbmRsZXIgaW50ZXJmYWNlCiAgICAgKgogICAgICogQHJldHVybiBib29sIFN1Y2Nlc3MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNsb3NlKCkKICAgIHsKICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHNlc3Npb24gaXMgdW5sb2NrZWQgYW5kIHRoZSBleHBpcmF0aW9uIHRpbWUgaXMgdXBkYXRlZCwgZXZlbiBpZiB0aGUgd3JpdGUgZGlkIG5vdCBvY2N1cgogICAgICAgIGlmICghJHRoaXMtPmlzU2Vzc2lvbldyaXR0ZW4oKSkgewogICAgICAgICAgICAkaWQgICAgID0gJHRoaXMtPmZvcm1hdElkKCR0aGlzLT5vcGVuU2Vzc2lvbklkKTsKICAgICAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5sb2NraW5nU3RyYXRlZ3ktPmRvV3JpdGUoJGlkLCAnJywgZmFsc2UpOwogICAgICAgICAgICAkdGhpcy0+c2Vzc2lvbldyaXR0ZW4gPSAoYm9vbCkgJHJlc3VsdDsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5vcGVuU2Vzc2lvbklkID0gbnVsbDsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5pc1Nlc3Npb25Xcml0dGVuKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZWFkIGEgc2Vzc2lvbiBzdG9yZWQgaW4gRHluYW1vREIKICAgICAqCiAgICAgKiBQYXJ0IG9mIHRoZSBzdGFuZGFyZCBQSFAgc2Vzc2lvbiBoYW5kbGVyIGludGVyZmFjZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGlkIFRoZSBzZXNzaW9uIElECiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgVGhlIHNlc3Npb24gZGF0YQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVhZCgkaWQpCiAgICB7CiAgICAgICAgLy8gUEhQIGV4cGVjdHMgYW4gZW1wdHkgc3RyaW5nIHRvIGJlIHJldHVybmVkIGZyb20gdGhpcyBtZXRob2QgaWYgbm8KICAgICAgICAvLyBkYXRhIGlzIHJldHJpZXZlZAogICAgICAgICR0aGlzLT5kYXRhUmVhZCA9ICcnOwoKICAgICAgICAvLyBHZXQgc2Vzc2lvbiBkYXRhIHVzaW5nIHRoZSBzZWxlY3RlZCBsb2NraW5nIHN0cmF0ZWd5CiAgICAgICAgJGl0ZW0gPSAkdGhpcy0+bG9ja2luZ1N0cmF0ZWd5LT5kb1JlYWQoJHRoaXMtPmZvcm1hdElkKCRpZCkpOwoKICAgICAgICAvLyBSZXR1cm4gdGhlIGRhdGEgaWYgaXQgaXMgbm90IGV4cGlyZWQuIElmIGl0IGlzIGV4cGlyZWQsIHJlbW92ZSBpdAogICAgICAgIGlmIChpc3NldCgkaXRlbVsnZXhwaXJlcyddKSAmJiBpc3NldCgkaXRlbVsnZGF0YSddKSkgewogICAgICAgICAgICAkdGhpcy0+ZGF0YVJlYWQgPSAkaXRlbVsnZGF0YSddOwogICAgICAgICAgICBpZiAoJGl0ZW1bJ2V4cGlyZXMnXSA8PSB0aW1lKCkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5kYXRhUmVhZCA9ICcnOwogICAgICAgICAgICAgICAgJHRoaXMtPmRlc3Ryb3koJGlkKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5kYXRhUmVhZDsKICAgIH0KCiAgICAvKioKICAgICAqIFdyaXRlIGEgc2Vzc2lvbiB0byBEeW5hbW9EQgogICAgICoKICAgICAqIFBhcnQgb2YgdGhlIHN0YW5kYXJkIFBIUCBzZXNzaW9uIGhhbmRsZXIgaW50ZXJmYWNlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkaWQgICBUaGUgc2Vzc2lvbiBJRAogICAgICogQHBhcmFtIHN0cmluZyAkZGF0YSBUaGUgc2VyaWFsaXplZCBzZXNzaW9uIGRhdGEgdG8gd3JpdGUKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wgV2hldGhlciBvciBub3QgdGhlIG9wZXJhdGlvbiBzdWNjZWVkZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHdyaXRlKCRpZCwgJGRhdGEpCiAgICB7CiAgICAgICAgLy8gV3JpdGUgdGhlIHNlc3Npb24gZGF0YSB1c2luZyB0aGUgc2VsZWN0ZWQgbG9ja2luZyBzdHJhdGVneQogICAgICAgICR0aGlzLT5zZXNzaW9uV3JpdHRlbiA9ICR0aGlzLT5sb2NraW5nU3RyYXRlZ3ktPmRvV3JpdGUoCiAgICAgICAgICAgICR0aGlzLT5mb3JtYXRJZCgkaWQpLAogICAgICAgICAgICAkZGF0YSwKICAgICAgICAgICAgKCRkYXRhICE9PSAkdGhpcy0+ZGF0YVJlYWQpCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5pc1Nlc3Npb25Xcml0dGVuKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZWxldGUgYSBzZXNzaW9uIHN0b3JlZCBpbiBEeW5hbW9EQgogICAgICoKICAgICAqIFBhcnQgb2YgdGhlIHN0YW5kYXJkIFBIUCBzZXNzaW9uIGhhbmRsZXIgaW50ZXJmYWNlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkaWQgVGhlIHNlc3Npb24gSUQKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wgV2hldGhlciBvciBub3QgdGhlIG9wZXJhdGlvbiBzdWNjZWVkZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRlc3Ryb3koJGlkKQogICAgewogICAgICAgIC8vIERlbGV0ZSB0aGUgc2Vzc2lvbiBkYXRhIHVzaW5nIHRoZSBzZWxlY3RlZCBsb2NraW5nIHN0cmF0ZWd5CiAgICAgICAgJHRoaXMtPnNlc3Npb25Xcml0dGVuID0gJHRoaXMtPmxvY2tpbmdTdHJhdGVneS0+ZG9EZXN0cm95KCR0aGlzLT5mb3JtYXRJZCgkaWQpKTsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5pc1Nlc3Npb25Xcml0dGVuKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBUcmlnZ2VycyBnYXJiYWdlIGNvbGxlY3Rpb24gb24gZXhwaXJlZCBzZXNzaW9ucwogICAgICoKICAgICAqIFBhcnQgb2YgdGhlIHN0YW5kYXJkIFBIUCBzZXNzaW9uIGhhbmRsZXIgaW50ZXJmYWNlCiAgICAgKgogICAgICogQHBhcmFtIGludCAkbWF4TGlmZXRpbWUgVGhlIHZhbHVlIG9mIGBzZXNzaW9uLmdjX21heGxpZmV0aW1lYC4gSWdub3JlZAogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2MoJG1heExpZmV0aW1lKQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR0aGlzLT5nYXJiYWdlQ29sbGVjdCgpOwoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUGVyZm9ybXMgZ2FyYmFnZSBjb2xsZWN0aW9uIG9uIHRoZSBzZXNzaW9ucyBzdG9yZWQgaW4gdGhlIER5bmFtb0RCIHRhYmxlCiAgICAgKgogICAgICogSWYgdHJpZ2dlcmluZyBnYXJiYWdlIGNvbGxlY3Rpb24gbWFudWFsbHksIHVzZSB0aGlzIG1ldGhvZC4gSWYgeW91ciBnYXJiYWdlIGNvbGxlY3Rpb24gaXMgdHJpZ2dlcmVkIGF1dG9tYXRpY2FsbHkKICAgICAqIGJ5IHBocCAobm90IHJlY29tbWVuZGVkKSwgdGhlbiB1c2UgdGhlIGBnY2AgbWV0aG9kLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2FyYmFnZUNvbGxlY3QoKQogICAgewogICAgICAgIC8vIEdldCByZWxldmFudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAgICAkZGVsYXkgICAgID0gKGludCkgJHRoaXMtPmNvbmZpZy0+Z2V0KCdnY19vcGVyYXRpb25fZGVsYXknKTsKICAgICAgICAkYmF0Y2hTaXplID0gKGludCkgJHRoaXMtPmNvbmZpZy0+Z2V0KCdnY19iYXRjaF9zaXplJyk7CiAgICAgICAgJHRhYmxlTmFtZSA9ICR0aGlzLT5jb25maWctPmdldCgndGFibGVfbmFtZScpOwogICAgICAgICRoYXNoS2V5ICAgPSAkdGhpcy0+Y29uZmlnLT5nZXQoJ2hhc2hfa2V5Jyk7CiAgICAgICAgJGV4cGlyZXMgICA9IChzdHJpbmcpIHRpbWUoKTsKICAgICAgICAkaXNPbGRBcGkgID0gKCR0aGlzLT5jbGllbnQtPmdldEFwaVZlcnNpb24oKSA8ICcyMDEyLTA4LTEwJyk7CgogICAgICAgIC8vIEluc3RhbnRpYXRlIGFuZCBjb25maWd1cmUgdGhlIFdyaXRlUmVxdWVzdEJhdGNoIG9iamVjdCB0aGF0IHdpbGwgYmUgZGVsZXRpbmcgdGhlIGV4cGlyZWQgc2Vzc2lvbnMKICAgICAgICBpZiAoJGRlbGF5KSB7CiAgICAgICAgICAgICRkZWxheUZ1bmN0aW9uID0gZnVuY3Rpb24gKCkgdXNlICgkZGVsYXkpIHsKICAgICAgICAgICAgICAgIHNsZWVwKCRkZWxheSk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgICRkZWxldGVCYXRjaCA9IFdyaXRlUmVxdWVzdEJhdGNoOjpmYWN0b3J5KCR0aGlzLT5jbGllbnQsICRiYXRjaFNpemUsICRkZWxheUZ1bmN0aW9uKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkZGVsZXRlQmF0Y2ggPSBXcml0ZVJlcXVlc3RCYXRjaDo6ZmFjdG9yeSgkdGhpcy0+Y2xpZW50LCAkYmF0Y2hTaXplKTsKICAgICAgICB9CgogICAgICAgIC8vIFNldHVwIGEgc2NhbiB0YWJsZSBpdGVyYXRvciBmb3IgZmluZGluZyBleHBpcmVkIHNlc3Npb24gaXRlbXMKICAgICAgICAkc2NhblBhcmFtcyA9IGFycmF5KAogICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAkdGFibGVOYW1lLAogICAgICAgICAgICAnQXR0cmlidXRlc1RvR2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICR0aGlzLT5jb25maWctPmdldCgnaGFzaF9rZXknKQogICAgICAgICAgICApLAogICAgICAgICAgICAnU2NhbkZpbHRlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZXhwaXJlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0NvbXBhcmlzb25PcGVyYXRvcicgPT4gJ0xUJywKICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlVmFsdWVMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTicgPT4gJGV4cGlyZXMKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2xvY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdDb21wYXJpc29uT3BlcmF0b3InID0+ICdOVUxMJywKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSwKICAgICAgICAgICAgVWE6Ok9QVElPTiA9PiBVYTo6U0VTU0lPTgogICAgICAgICk7CiAgICAgICAgaWYgKCEkaXNPbGRBcGkpIHsKICAgICAgICAgICAgJHNjYW5QYXJhbXNbJ1NlbGVjdCddID0gJ1NQRUNJRklDX0FUVFJJQlVURVMnOwogICAgICAgIH0KCiAgICAgICAgLy8gQ3JlYXRlIGEgc2NhbiB0YWJsZSBpdGVyYXRvciBmb3IgZmluZGluZyBleHBpcmVkIHNlc3Npb24gaXRlbXMKICAgICAgICAkdGFibGVTY2FubmVyID0gJHRoaXMtPmNsaWVudC0+Z2V0SXRlcmF0b3IoJ1NjYW4nLCAkc2NhblBhcmFtcyk7CgogICAgICAgIC8vIElmIGEgZGVsYXkgaGFzIGJlZW4gc2V0LCB0aGVuIGF0dGFjaCB0aGUgZGVsYXkgZnVuY3Rpb24gdG8gZXhlY3V0ZSBhZnRlciBlYWNoIHNjYW4gb3BlcmF0aW9uCiAgICAgICAgaWYgKGlzc2V0KCRkZWxheUZ1bmN0aW9uKSkgewogICAgICAgICAgICAkdGFibGVTY2FubmVyLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ3Jlc291cmNlX2l0ZXJhdG9yLmFmdGVyX3NlbmQnLCAkZGVsYXlGdW5jdGlvbik7CiAgICAgICAgfQoKICAgICAgICAvLyBQZXJmb3JtIHNjYW4gYW5kIGJhdGNoIGRlbGV0ZSBvcGVyYXRpb25zIGFzIG5lZWRlZAogICAgICAgICRrZXlOYW1lID0gJGlzT2xkQXBpID8gJ0hhc2hLZXlFbGVtZW50JyA6ICRoYXNoS2V5OwogICAgICAgIGZvcmVhY2ggKCR0YWJsZVNjYW5uZXIgYXMgJGl0ZW0pIHsKICAgICAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZVN0YXJ0CiAgICAgICAgICAgICRkZWxldGVCYXRjaC0+YWRkKG5ldyBEZWxldGVSZXF1ZXN0KGFycmF5KCRrZXlOYW1lID0+ICRpdGVtWyRoYXNoS2V5XSksICR0YWJsZU5hbWUpKTsKICAgICAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZUVuZAogICAgICAgIH0KCiAgICAgICAgLy8gRGVsZXRlIGFueSByZW1haW5pbmcgaXRlbXMKICAgICAgICAkZGVsZXRlQmF0Y2gtPmZsdXNoKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBQcmVwZW5kIHRoZSBzZXNzaW9uIElEIHdpdGggdGhlIHNlc3Npb24gbmFtZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGlkIFRoZSBzZXNzaW9uIElECiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgUHJlcGFyZWQgc2Vzc2lvbiBJRAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZm9ybWF0SWQoJGlkKQogICAgewogICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5zZXNzaW9uTmFtZSAuICdfJyAuICRpZCwgJ18nKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Session/SessionHandlerConfig.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcU2Vzc2lvbjsKCnVzZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CgovKioKICogQSBzaW1wbGUgb2JqZWN0IGNvbnRhaW5pbmcgY29uZmlnIHZhbHVlcyBmb3IgdGhlIHNlc3Npb24gaGFuZGxlcgogKi8KY2xhc3MgU2Vzc2lvbkhhbmRsZXJDb25maWcKewogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IFRoZSBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqLwogICAgcHJvdGVjdGVkICRkYXRhOwoKICAgIC8qKgogICAgICogQ29uc3RydWN0cyB0aGUgc2Vzc2lvbiBoYW5kbGVyIGNvbmZpZyB3aXRoIGRlZmF1bHQgdmFsdWVzCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRkYXRhIFRoZSBjb25maWcgZGF0YQogICAgICoKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIElmIGEgdmFsaWQgY2xpZW50IGlzbid0IHByb3ZpZGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChhcnJheSAkZGF0YSA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJHRoaXMtPmRhdGEgPSAkZGF0YTsKCiAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBEeW5hbW9EQiBjbGllbnQgaGFzIGJlZW4gcHJvdmlkZWQKICAgICAgICBpZiAoISgkdGhpcy0+Z2V0KCdkeW5hbW9kYl9jbGllbnQnKSBpbnN0YW5jZW9mIER5bmFtb0RiQ2xpZW50KSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdUaGUgRHluYW1vREIgU2Vzc2lvbiBIYW5kbGVyICcKICAgICAgICAgICAgICAgIC4gJ211c3QgYmUgcHJvdmlkZWQgYW4gaW5zdGFuY2Ugb2YgdGhlIER5bmFtb0RiQ2xpZW50LicpOwogICAgICAgIH0KCiAgICAgICAgLy8gTWVyZ2UgcHJvdmlkZWQgZGF0YSB3aXRoIGRlZmF1bHRzCiAgICAgICAgJHRoaXMtPmFkZERlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAndGFibGVfbmFtZScgICAgICAgICA9PiAnc2Vzc2lvbnMnLAogICAgICAgICAgICAnaGFzaF9rZXknICAgICAgICAgICA9PiAnaWQnLAogICAgICAgICAgICAnc2Vzc2lvbl9saWZldGltZScgICA9PiAoaW50KSBpbmlfZ2V0KCdzZXNzaW9uLmdjX21heGxpZmV0aW1lJyksCiAgICAgICAgICAgICdjb25zaXN0ZW50X3JlYWQnICAgID0+IHRydWUsCiAgICAgICAgICAgICdhdXRvbWF0aWNfZ2MnICAgICAgID0+IChib29sKSBpbmlfZ2V0KCdzZXNzaW9uLmdjX3Byb2JhYmlsaXR5JyksCiAgICAgICAgICAgICdnY19iYXRjaF9zaXplJyAgICAgID0+IDI1LAogICAgICAgICAgICAnZ2Nfb3BlcmF0aW9uX2RlbGF5JyA9PiAwLAogICAgICAgICkpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0cyBhIGNvbmZpZyB2YWx1ZSBpZiBpdCBleGlzdHMsIG90aGVyd2lzZSBpdCByZXR1cm5zIG51bGwKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgVGhlIGtleSBvZiB0aGUgY29uZmlnIGl0ZW0KICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXQoJGtleSkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXlfa2V5X2V4aXN0cygka2V5LCAkdGhpcy0+ZGF0YSkgPyAkdGhpcy0+ZGF0YVska2V5XSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBBcHBsaWVzIGRlZmF1bHQgdmFsdWVzIGJ5IG1lcmdpbmcgdW5kZXJuZWF0aCB0aGUgY3VycmVudCBkYXRhCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRkZWZhdWx0cyBUaGUgbmV3IGRlZmF1bHQgZGF0YSB0byBtZXJnZSB1bmRlcm5lYXRoCiAgICAgKgogICAgICogQHJldHVybiBTZXNzaW9uSGFuZGxlckNvbmZpZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkRGVmYXVsdHMoYXJyYXkgJGRlZmF1bHRzKQogICAgewogICAgICAgICR0aGlzLT5kYXRhID0gYXJyYXlfcmVwbGFjZSgkZGVmYXVsdHMsICR0aGlzLT5kYXRhKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/DynamoDb/Session/SessionHandlerInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcU2Vzc2lvbjsKCmlmIChQSFBfVkVSU0lPTl9JRCA+PSA1MDQwMCkgewogICAgLyoqCiAgICAgKiBAc2VlIGh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9jbGFzcy5zZXNzaW9uaGFuZGxlcmludGVyZmFjZS5waHAKICAgICAqLwogICAgaW50ZXJmYWNlIFNlc3Npb25IYW5kbGVySW50ZXJmYWNlIGV4dGVuZHMgXFNlc3Npb25IYW5kbGVySW50ZXJmYWNlIHt9Cn0gZWxzZSB7CiAgICBpbnRlcmZhY2UgU2Vzc2lvbkhhbmRsZXJJbnRlcmZhY2UKICAgIHsKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gY2xvc2UoKTsKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gZGVzdHJveSgkc2Vzc2lvbl9pZCk7CiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGdjKCRtYXhMaWZldGltZSk7CiAgICAgICAgcHVibGljIGZ1bmN0aW9uIG9wZW4oJHNhdmVQYXRoLCAkc2Vzc2lvbk5hbWUpOwogICAgICAgIHB1YmxpYyBmdW5jdGlvbiByZWFkKCRzZXNzaW9uSWQpOwogICAgICAgIHB1YmxpYyBmdW5jdGlvbiB3cml0ZSgkc2Vzc2lvbklkLCAkc2Vzc2lvbkRhdGEpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Ec2Client.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyOwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50Owp1c2UgQXdzXENvbW1vblxDbGllbnRcQ2xpZW50QnVpbGRlcjsKdXNlIEF3c1xDb21tb25cRW51bVxDbGllbnRPcHRpb25zIGFzIE9wdGlvbnM7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2U7CgovKioKICogQ2xpZW50IHRvIGludGVyYWN0IHdpdGggQW1hem9uIEVsYXN0aWMgQ29tcHV0ZSBDbG91ZAogKgogKiBAbWV0aG9kIE1vZGVsIGFjdGl2YXRlTGljZW5zZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQWN0aXZhdGVMaWNlbnNlfQogKiBAbWV0aG9kIE1vZGVsIGFsbG9jYXRlQWRkcmVzcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQWxsb2NhdGVBZGRyZXNzfQogKiBAbWV0aG9kIE1vZGVsIGFzc2lnblByaXZhdGVJcEFkZHJlc3NlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzfQogKiBAbWV0aG9kIE1vZGVsIGFzc29jaWF0ZUFkZHJlc3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIEFzc29jaWF0ZUFkZHJlc3N9CiAqIEBtZXRob2QgTW9kZWwgYXNzb2NpYXRlRGhjcE9wdGlvbnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIEFzc29jaWF0ZURoY3BPcHRpb25zfQogKiBAbWV0aG9kIE1vZGVsIGFzc29jaWF0ZVJvdXRlVGFibGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIEFzc29jaWF0ZVJvdXRlVGFibGV9CiAqIEBtZXRob2QgTW9kZWwgYXR0YWNoSW50ZXJuZXRHYXRld2F5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBBdHRhY2hJbnRlcm5ldEdhdGV3YXl9CiAqIEBtZXRob2QgTW9kZWwgYXR0YWNoTmV0d29ya0ludGVyZmFjZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQXR0YWNoTmV0d29ya0ludGVyZmFjZX0KICogQG1ldGhvZCBNb2RlbCBhdHRhY2hWb2x1bWUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIEF0dGFjaFZvbHVtZX0KICogQG1ldGhvZCBNb2RlbCBhdHRhY2hWcG5HYXRld2F5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBBdHRhY2hWcG5HYXRld2F5fQogKiBAbWV0aG9kIE1vZGVsIGF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIEF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3N9CiAqIEBtZXRob2QgTW9kZWwgYXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIEF1dGhvcml6ZVNlY3VyaXR5R3JvdXBJbmdyZXNzfQogKiBAbWV0aG9kIE1vZGVsIGJ1bmRsZUluc3RhbmNlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBCdW5kbGVJbnN0YW5jZX0KICogQG1ldGhvZCBNb2RlbCBjYW5jZWxCdW5kbGVUYXNrKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBDYW5jZWxCdW5kbGVUYXNrfQogKiBAbWV0aG9kIE1vZGVsIGNhbmNlbENvbnZlcnNpb25UYXNrKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBDYW5jZWxDb252ZXJzaW9uVGFza30KICogQG1ldGhvZCBNb2RlbCBjYW5jZWxFeHBvcnRUYXNrKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBDYW5jZWxFeHBvcnRUYXNrfQogKiBAbWV0aG9kIE1vZGVsIGNhbmNlbFJlc2VydmVkSW5zdGFuY2VzTGlzdGluZyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQ2FuY2VsUmVzZXJ2ZWRJbnN0YW5jZXNMaXN0aW5nfQogKiBAbWV0aG9kIE1vZGVsIGNhbmNlbFNwb3RJbnN0YW5jZVJlcXVlc3RzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBDYW5jZWxTcG90SW5zdGFuY2VSZXF1ZXN0c30KICogQG1ldGhvZCBNb2RlbCBjb25maXJtUHJvZHVjdEluc3RhbmNlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBDb25maXJtUHJvZHVjdEluc3RhbmNlfQogKiBAbWV0aG9kIE1vZGVsIGNvcHlJbWFnZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQ29weUltYWdlfQogKiBAbWV0aG9kIE1vZGVsIGNvcHlTbmFwc2hvdChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQ29weVNuYXBzaG90fQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZUN1c3RvbWVyR2F0ZXdheShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQ3JlYXRlQ3VzdG9tZXJHYXRld2F5fQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZURoY3BPcHRpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBDcmVhdGVEaGNwT3B0aW9uc30KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVJbWFnZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQ3JlYXRlSW1hZ2V9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlSW5zdGFuY2VFeHBvcnRUYXNrKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBDcmVhdGVJbnN0YW5jZUV4cG9ydFRhc2t9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlSW50ZXJuZXRHYXRld2F5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBDcmVhdGVJbnRlcm5ldEdhdGV3YXl9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlS2V5UGFpcihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQ3JlYXRlS2V5UGFpcn0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVOZXR3b3JrQWNsKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBDcmVhdGVOZXR3b3JrQWNsfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZU5ldHdvcmtBY2xFbnRyeShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQ3JlYXRlTmV0d29ya0FjbEVudHJ5fQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZU5ldHdvcmtJbnRlcmZhY2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIENyZWF0ZU5ldHdvcmtJbnRlcmZhY2V9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlUGxhY2VtZW50R3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIENyZWF0ZVBsYWNlbWVudEdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVJlc2VydmVkSW5zdGFuY2VzTGlzdGluZyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQ3JlYXRlUmVzZXJ2ZWRJbnN0YW5jZXNMaXN0aW5nfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVJvdXRlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBDcmVhdGVSb3V0ZX0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVSb3V0ZVRhYmxlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBDcmVhdGVSb3V0ZVRhYmxlfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVNlY3VyaXR5R3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIENyZWF0ZVNlY3VyaXR5R3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlU25hcHNob3QoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIENyZWF0ZVNuYXBzaG90fQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVNwb3REYXRhZmVlZFN1YnNjcmlwdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQ3JlYXRlU3BvdERhdGFmZWVkU3Vic2NyaXB0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVN1Ym5ldChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQ3JlYXRlU3VibmV0fQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVRhZ3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIENyZWF0ZVRhZ3N9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlVm9sdW1lKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBDcmVhdGVWb2x1bWV9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlVnBjKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBDcmVhdGVWcGN9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlVnBuQ29ubmVjdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgQ3JlYXRlVnBuQ29ubmVjdGlvbn0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVWcG5Db25uZWN0aW9uUm91dGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIENyZWF0ZVZwbkNvbm5lY3Rpb25Sb3V0ZX0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVWcG5HYXRld2F5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBDcmVhdGVWcG5HYXRld2F5fQogKiBAbWV0aG9kIE1vZGVsIGRlYWN0aXZhdGVMaWNlbnNlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZWFjdGl2YXRlTGljZW5zZX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVDdXN0b21lckdhdGV3YXkoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlbGV0ZUN1c3RvbWVyR2F0ZXdheX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVEaGNwT3B0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVsZXRlRGhjcE9wdGlvbnN9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlSW50ZXJuZXRHYXRld2F5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZWxldGVJbnRlcm5ldEdhdGV3YXl9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlS2V5UGFpcihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVsZXRlS2V5UGFpcn0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVOZXR3b3JrQWNsKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZWxldGVOZXR3b3JrQWNsfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZU5ldHdvcmtBY2xFbnRyeShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVsZXRlTmV0d29ya0FjbEVudHJ5fQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZU5ldHdvcmtJbnRlcmZhY2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlbGV0ZU5ldHdvcmtJbnRlcmZhY2V9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlUGxhY2VtZW50R3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlbGV0ZVBsYWNlbWVudEdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVJvdXRlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZWxldGVSb3V0ZX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVSb3V0ZVRhYmxlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZWxldGVSb3V0ZVRhYmxlfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVNlY3VyaXR5R3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlbGV0ZVNlY3VyaXR5R3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlU25hcHNob3QoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlbGV0ZVNuYXBzaG90fQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVNwb3REYXRhZmVlZFN1YnNjcmlwdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVsZXRlU3BvdERhdGFmZWVkU3Vic2NyaXB0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVN1Ym5ldChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVsZXRlU3VibmV0fQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVRhZ3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlbGV0ZVRhZ3N9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlVm9sdW1lKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZWxldGVWb2x1bWV9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlVnBjKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZWxldGVWcGN9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlVnBuQ29ubmVjdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVsZXRlVnBuQ29ubmVjdGlvbn0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVWcG5Db25uZWN0aW9uUm91dGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlbGV0ZVZwbkNvbm5lY3Rpb25Sb3V0ZX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVWcG5HYXRld2F5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZWxldGVWcG5HYXRld2F5fQogKiBAbWV0aG9kIE1vZGVsIGRlcmVnaXN0ZXJJbWFnZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVyZWdpc3RlckltYWdlfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVBZGRyZXNzZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlc2NyaWJlQWRkcmVzc2VzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlQXZhaWxhYmlsaXR5Wm9uZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlc2NyaWJlQXZhaWxhYmlsaXR5Wm9uZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVCdW5kbGVUYXNrcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVCdW5kbGVUYXNrc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUNvbnZlcnNpb25UYXNrcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVDb252ZXJzaW9uVGFza3N9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVDdXN0b21lckdhdGV3YXlzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZXNjcmliZUN1c3RvbWVyR2F0ZXdheXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVEaGNwT3B0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVEaGNwT3B0aW9uc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUV4cG9ydFRhc2tzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZXNjcmliZUV4cG9ydFRhc2tzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlSW1hZ2VBdHRyaWJ1dGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlc2NyaWJlSW1hZ2VBdHRyaWJ1dGV9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVJbWFnZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlc2NyaWJlSW1hZ2VzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlSW5zdGFuY2VBdHRyaWJ1dGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlc2NyaWJlSW5zdGFuY2VBdHRyaWJ1dGV9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVJbnN0YW5jZVN0YXR1cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVJbnN0YW5jZVN0YXR1c30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUluc3RhbmNlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVJbnN0YW5jZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVJbnRlcm5ldEdhdGV3YXlzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZXNjcmliZUludGVybmV0R2F0ZXdheXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVLZXlQYWlycyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVLZXlQYWlyc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUxpY2Vuc2VzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZXNjcmliZUxpY2Vuc2VzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlTmV0d29ya0FjbHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlc2NyaWJlTmV0d29ya0FjbHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVOZXR3b3JrSW50ZXJmYWNlQXR0cmlidXRlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZXNjcmliZU5ldHdvcmtJbnRlcmZhY2VBdHRyaWJ1dGV9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVOZXR3b3JrSW50ZXJmYWNlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVOZXR3b3JrSW50ZXJmYWNlc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVBsYWNlbWVudEdyb3VwcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVQbGFjZW1lbnRHcm91cHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVSZWdpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZXNjcmliZVJlZ2lvbnN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzTGlzdGluZ3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZXNMaXN0aW5nc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzTW9kaWZpY2F0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc01vZGlmaWNhdGlvbnN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc09mZmVyaW5ncyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc09mZmVyaW5nc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVJvdXRlVGFibGVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZXNjcmliZVJvdXRlVGFibGVzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlU2VjdXJpdHlHcm91cHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlc2NyaWJlU2VjdXJpdHlHcm91cHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVTbmFwc2hvdEF0dHJpYnV0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVTbmFwc2hvdEF0dHJpYnV0ZX0KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVNuYXBzaG90cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVTbmFwc2hvdHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVTcG90RGF0YWZlZWRTdWJzY3JpcHRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlc2NyaWJlU3BvdERhdGFmZWVkU3Vic2NyaXB0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlU3BvdEluc3RhbmNlUmVxdWVzdHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlc2NyaWJlU3BvdEluc3RhbmNlUmVxdWVzdHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVTcG90UHJpY2VIaXN0b3J5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZXNjcmliZVNwb3RQcmljZUhpc3Rvcnl9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVTdWJuZXRzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZXNjcmliZVN1Ym5ldHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVUYWdzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZXNjcmliZVRhZ3N9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVWb2x1bWVBdHRyaWJ1dGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlc2NyaWJlVm9sdW1lQXR0cmlidXRlfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlVm9sdW1lU3RhdHVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZXNjcmliZVZvbHVtZVN0YXR1c30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVZvbHVtZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERlc2NyaWJlVm9sdW1lc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVZwY0F0dHJpYnV0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVWcGNBdHRyaWJ1dGV9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVWcGNzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZXNjcmliZVZwY3N9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVWcG5Db25uZWN0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGVzY3JpYmVWcG5Db25uZWN0aW9uc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVZwbkdhdGV3YXlzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZXNjcmliZVZwbkdhdGV3YXlzfQogKiBAbWV0aG9kIE1vZGVsIGRldGFjaEludGVybmV0R2F0ZXdheShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGV0YWNoSW50ZXJuZXRHYXRld2F5fQogKiBAbWV0aG9kIE1vZGVsIGRldGFjaE5ldHdvcmtJbnRlcmZhY2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIERldGFjaE5ldHdvcmtJbnRlcmZhY2V9CiAqIEBtZXRob2QgTW9kZWwgZGV0YWNoVm9sdW1lKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEZXRhY2hWb2x1bWV9CiAqIEBtZXRob2QgTW9kZWwgZGV0YWNoVnBuR2F0ZXdheShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGV0YWNoVnBuR2F0ZXdheX0KICogQG1ldGhvZCBNb2RlbCBkaXNhYmxlVmd3Um91dGVQcm9wYWdhdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGlzYWJsZVZnd1JvdXRlUHJvcGFnYXRpb259CiAqIEBtZXRob2QgTW9kZWwgZGlzYXNzb2NpYXRlQWRkcmVzcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgRGlzYXNzb2NpYXRlQWRkcmVzc30KICogQG1ldGhvZCBNb2RlbCBkaXNhc3NvY2lhdGVSb3V0ZVRhYmxlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBEaXNhc3NvY2lhdGVSb3V0ZVRhYmxlfQogKiBAbWV0aG9kIE1vZGVsIGVuYWJsZVZnd1JvdXRlUHJvcGFnYXRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIEVuYWJsZVZnd1JvdXRlUHJvcGFnYXRpb259CiAqIEBtZXRob2QgTW9kZWwgZW5hYmxlVm9sdW1lSU8oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIEVuYWJsZVZvbHVtZUlPfQogKiBAbWV0aG9kIE1vZGVsIGdldENvbnNvbGVPdXRwdXQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIEdldENvbnNvbGVPdXRwdXR9CiAqIEBtZXRob2QgTW9kZWwgZ2V0UGFzc3dvcmREYXRhKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBHZXRQYXNzd29yZERhdGF9CiAqIEBtZXRob2QgTW9kZWwgaW1wb3J0SW5zdGFuY2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIEltcG9ydEluc3RhbmNlfQogKiBAbWV0aG9kIE1vZGVsIGltcG9ydEtleVBhaXIoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIEltcG9ydEtleVBhaXJ9CiAqIEBtZXRob2QgTW9kZWwgaW1wb3J0Vm9sdW1lKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBJbXBvcnRWb2x1bWV9CiAqIEBtZXRob2QgTW9kZWwgbW9kaWZ5SW1hZ2VBdHRyaWJ1dGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIE1vZGlmeUltYWdlQXR0cmlidXRlfQogKiBAbWV0aG9kIE1vZGVsIG1vZGlmeUluc3RhbmNlQXR0cmlidXRlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBNb2RpZnlJbnN0YW5jZUF0dHJpYnV0ZX0KICogQG1ldGhvZCBNb2RlbCBtb2RpZnlOZXR3b3JrSW50ZXJmYWNlQXR0cmlidXRlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBNb2RpZnlOZXR3b3JrSW50ZXJmYWNlQXR0cmlidXRlfQogKiBAbWV0aG9kIE1vZGVsIG1vZGlmeVJlc2VydmVkSW5zdGFuY2VzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBNb2RpZnlSZXNlcnZlZEluc3RhbmNlc30KICogQG1ldGhvZCBNb2RlbCBtb2RpZnlTbmFwc2hvdEF0dHJpYnV0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgTW9kaWZ5U25hcHNob3RBdHRyaWJ1dGV9CiAqIEBtZXRob2QgTW9kZWwgbW9kaWZ5Vm9sdW1lQXR0cmlidXRlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBNb2RpZnlWb2x1bWVBdHRyaWJ1dGV9CiAqIEBtZXRob2QgTW9kZWwgbW9kaWZ5VnBjQXR0cmlidXRlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBNb2RpZnlWcGNBdHRyaWJ1dGV9CiAqIEBtZXRob2QgTW9kZWwgbW9uaXRvckluc3RhbmNlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgTW9uaXRvckluc3RhbmNlc30KICogQG1ldGhvZCBNb2RlbCBwdXJjaGFzZVJlc2VydmVkSW5zdGFuY2VzT2ZmZXJpbmcoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIFB1cmNoYXNlUmVzZXJ2ZWRJbnN0YW5jZXNPZmZlcmluZ30KICogQG1ldGhvZCBNb2RlbCByZWJvb3RJbnN0YW5jZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIFJlYm9vdEluc3RhbmNlc30KICogQG1ldGhvZCBNb2RlbCByZWdpc3RlckltYWdlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBSZWdpc3RlckltYWdlfQogKiBAbWV0aG9kIE1vZGVsIHJlbGVhc2VBZGRyZXNzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBSZWxlYXNlQWRkcmVzc30KICogQG1ldGhvZCBNb2RlbCByZXBsYWNlTmV0d29ya0FjbEFzc29jaWF0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBSZXBsYWNlTmV0d29ya0FjbEFzc29jaWF0aW9ufQogKiBAbWV0aG9kIE1vZGVsIHJlcGxhY2VOZXR3b3JrQWNsRW50cnkoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIFJlcGxhY2VOZXR3b3JrQWNsRW50cnl9CiAqIEBtZXRob2QgTW9kZWwgcmVwbGFjZVJvdXRlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBSZXBsYWNlUm91dGV9CiAqIEBtZXRob2QgTW9kZWwgcmVwbGFjZVJvdXRlVGFibGVBc3NvY2lhdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgUmVwbGFjZVJvdXRlVGFibGVBc3NvY2lhdGlvbn0KICogQG1ldGhvZCBNb2RlbCByZXBvcnRJbnN0YW5jZVN0YXR1cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgUmVwb3J0SW5zdGFuY2VTdGF0dXN9CiAqIEBtZXRob2QgTW9kZWwgcmVxdWVzdFNwb3RJbnN0YW5jZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIFJlcXVlc3RTcG90SW5zdGFuY2VzfQogKiBAbWV0aG9kIE1vZGVsIHJlc2V0SW1hZ2VBdHRyaWJ1dGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIFJlc2V0SW1hZ2VBdHRyaWJ1dGV9CiAqIEBtZXRob2QgTW9kZWwgcmVzZXRJbnN0YW5jZUF0dHJpYnV0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgUmVzZXRJbnN0YW5jZUF0dHJpYnV0ZX0KICogQG1ldGhvZCBNb2RlbCByZXNldE5ldHdvcmtJbnRlcmZhY2VBdHRyaWJ1dGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIFJlc2V0TmV0d29ya0ludGVyZmFjZUF0dHJpYnV0ZX0KICogQG1ldGhvZCBNb2RlbCByZXNldFNuYXBzaG90QXR0cmlidXRlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBSZXNldFNuYXBzaG90QXR0cmlidXRlfQogKiBAbWV0aG9kIE1vZGVsIHJldm9rZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIFJldm9rZVNlY3VyaXR5R3JvdXBFZ3Jlc3N9CiAqIEBtZXRob2QgTW9kZWwgcmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIFJldm9rZVNlY3VyaXR5R3JvdXBJbmdyZXNzfQogKiBAbWV0aG9kIE1vZGVsIHJ1bkluc3RhbmNlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgUnVuSW5zdGFuY2VzfQogKiBAbWV0aG9kIE1vZGVsIHN0YXJ0SW5zdGFuY2VzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBTdGFydEluc3RhbmNlc30KICogQG1ldGhvZCBNb2RlbCBzdG9wSW5zdGFuY2VzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBTdG9wSW5zdGFuY2VzfQogKiBAbWV0aG9kIE1vZGVsIHRlcm1pbmF0ZUluc3RhbmNlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFYzIgVGVybWluYXRlSW5zdGFuY2VzfQogKiBAbWV0aG9kIE1vZGVsIHVuYXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVjMiBVbmFzc2lnblByaXZhdGVJcEFkZHJlc3Nlc30KICogQG1ldGhvZCBNb2RlbCB1bm1vbml0b3JJbnN0YW5jZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWMyIFVubW9uaXRvckluc3RhbmNlc30KICogQG1ldGhvZCB3YWl0VW50aWxJbnN0YW5jZVJ1bm5pbmcoYXJyYXkgJGlucHV0KSBXYWl0IHVzaW5nIHRoZSBJbnN0YW5jZVJ1bm5pbmcgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVJbnN0YW5jZXMgb3BlcmF0aW9uIGFuZCB3YWl0ZXIgc3BlY2lmaWMgc2V0dGluZ3MKICogQG1ldGhvZCB3YWl0VW50aWxJbnN0YW5jZVN0b3BwZWQoYXJyYXkgJGlucHV0KSBXYWl0IHVzaW5nIHRoZSBJbnN0YW5jZVN0b3BwZWQgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVJbnN0YW5jZXMgb3BlcmF0aW9uIGFuZCB3YWl0ZXIgc3BlY2lmaWMgc2V0dGluZ3MKICogQG1ldGhvZCB3YWl0VW50aWxJbnN0YW5jZVRlcm1pbmF0ZWQoYXJyYXkgJGlucHV0KSBXYWl0IHVzaW5nIHRoZSBJbnN0YW5jZVRlcm1pbmF0ZWQgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVJbnN0YW5jZXMgb3BlcmF0aW9uIGFuZCB3YWl0ZXIgc3BlY2lmaWMgc2V0dGluZ3MKICogQG1ldGhvZCB3YWl0VW50aWxFeHBvcnRUYXNrQ29tcGxldGVkKGFycmF5ICRpbnB1dCkgV2FpdCB1c2luZyB0aGUgRXhwb3J0VGFza0NvbXBsZXRlZCB3YWl0ZXIuIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUV4cG9ydFRhc2tzIG9wZXJhdGlvbiBhbmQgd2FpdGVyIHNwZWNpZmljIHNldHRpbmdzCiAqIEBtZXRob2Qgd2FpdFVudGlsRXhwb3J0VGFza0NhbmNlbGxlZChhcnJheSAkaW5wdXQpIFdhaXQgdXNpbmcgdGhlIEV4cG9ydFRhc2tDYW5jZWxsZWQgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVFeHBvcnRUYXNrcyBvcGVyYXRpb24gYW5kIHdhaXRlciBzcGVjaWZpYyBzZXR0aW5ncwogKiBAbWV0aG9kIHdhaXRVbnRpbFNuYXBzaG90Q29tcGxldGVkKGFycmF5ICRpbnB1dCkgV2FpdCB1c2luZyB0aGUgU25hcHNob3RDb21wbGV0ZWQgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVTbmFwc2hvdHMgb3BlcmF0aW9uIGFuZCB3YWl0ZXIgc3BlY2lmaWMgc2V0dGluZ3MKICogQG1ldGhvZCB3YWl0VW50aWxTdWJuZXRBdmFpbGFibGUoYXJyYXkgJGlucHV0KSBXYWl0IHVzaW5nIHRoZSBTdWJuZXRBdmFpbGFibGUgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVTdWJuZXRzIG9wZXJhdGlvbiBhbmQgd2FpdGVyIHNwZWNpZmljIHNldHRpbmdzCiAqIEBtZXRob2Qgd2FpdFVudGlsVm9sdW1lQXZhaWxhYmxlKGFycmF5ICRpbnB1dCkgV2FpdCB1c2luZyB0aGUgVm9sdW1lQXZhaWxhYmxlIHdhaXRlci4gVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVm9sdW1lcyBvcGVyYXRpb24gYW5kIHdhaXRlciBzcGVjaWZpYyBzZXR0aW5ncwogKiBAbWV0aG9kIHdhaXRVbnRpbFZvbHVtZUluVXNlKGFycmF5ICRpbnB1dCkgV2FpdCB1c2luZyB0aGUgVm9sdW1lSW5Vc2Ugd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVWb2x1bWVzIG9wZXJhdGlvbiBhbmQgd2FpdGVyIHNwZWNpZmljIHNldHRpbmdzCiAqIEBtZXRob2Qgd2FpdFVudGlsVm9sdW1lRGVsZXRlZChhcnJheSAkaW5wdXQpIFdhaXQgdXNpbmcgdGhlIFZvbHVtZURlbGV0ZWQgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVWb2x1bWVzIG9wZXJhdGlvbiBhbmQgd2FpdGVyIHNwZWNpZmljIHNldHRpbmdzCiAqIEBtZXRob2Qgd2FpdFVudGlsVnBjQXZhaWxhYmxlKGFycmF5ICRpbnB1dCkgV2FpdCB1c2luZyB0aGUgVnBjQXZhaWxhYmxlIHdhaXRlci4gVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVnBjcyBvcGVyYXRpb24gYW5kIHdhaXRlciBzcGVjaWZpYyBzZXR0aW5ncwogKiBAbWV0aG9kIHdhaXRVbnRpbFZwbkNvbm5lY3Rpb25BdmFpbGFibGUoYXJyYXkgJGlucHV0KSBXYWl0IHVzaW5nIHRoZSBWcG5Db25uZWN0aW9uQXZhaWxhYmxlIHdhaXRlci4gVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVnBuQ29ubmVjdGlvbnMgb3BlcmF0aW9uIGFuZCB3YWl0ZXIgc3BlY2lmaWMgc2V0dGluZ3MKICogQG1ldGhvZCB3YWl0VW50aWxWcG5Db25uZWN0aW9uRGVsZXRlZChhcnJheSAkaW5wdXQpIFdhaXQgdXNpbmcgdGhlIFZwbkNvbm5lY3Rpb25EZWxldGVkIHdhaXRlci4gVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVnBuQ29ubmVjdGlvbnMgb3BlcmF0aW9uIGFuZCB3YWl0ZXIgc3BlY2lmaWMgc2V0dGluZ3MKICogQG1ldGhvZCB3YWl0VW50aWxCdW5kbGVUYXNrQ29tcGxldGUoYXJyYXkgJGlucHV0KSBXYWl0IHVzaW5nIHRoZSBCdW5kbGVUYXNrQ29tcGxldGUgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVCdW5kbGVUYXNrcyBvcGVyYXRpb24gYW5kIHdhaXRlciBzcGVjaWZpYyBzZXR0aW5ncwogKiBAbWV0aG9kIHdhaXRVbnRpbENvbnZlcnNpb25UYXNrQ29tcGxldGVkKGFycmF5ICRpbnB1dCkgV2FpdCB1c2luZyB0aGUgQ29udmVyc2lvblRhc2tDb21wbGV0ZWQgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVDb252ZXJzaW9uVGFza3Mgb3BlcmF0aW9uIGFuZCB3YWl0ZXIgc3BlY2lmaWMgc2V0dGluZ3MKICogQG1ldGhvZCB3YWl0VW50aWxDb252ZXJzaW9uVGFza0NhbmNlbGxlZChhcnJheSAkaW5wdXQpIFdhaXQgdXNpbmcgdGhlIENvbnZlcnNpb25UYXNrQ2FuY2VsbGVkIHdhaXRlci4gVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlQ29udmVyc2lvblRhc2tzIG9wZXJhdGlvbiBhbmQgd2FpdGVyIHNwZWNpZmljIHNldHRpbmdzCiAqIEBtZXRob2Qgd2FpdFVudGlsQ3VzdG9tZXJHYXRld2F5QXZhaWxhYmxlKGFycmF5ICRpbnB1dCkgV2FpdCB1c2luZyB0aGUgQ3VzdG9tZXJHYXRld2F5QXZhaWxhYmxlIHdhaXRlci4gVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlQ3VzdG9tZXJHYXRld2F5cyBvcGVyYXRpb24gYW5kIHdhaXRlciBzcGVjaWZpYyBzZXR0aW5ncwogKiBAbWV0aG9kIHdhaXRVbnRpbENvbnZlcnNpb25UYXNrRGVsZXRlZChhcnJheSAkaW5wdXQpIFdhaXQgdXNpbmcgdGhlIENvbnZlcnNpb25UYXNrRGVsZXRlZCB3YWl0ZXIuIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUN1c3RvbWVyR2F0ZXdheXMgb3BlcmF0aW9uIGFuZCB3YWl0ZXIgc3BlY2lmaWMgc2V0dGluZ3MKICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVBZGRyZXNzZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUFkZHJlc3NlcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQXZhaWxhYmlsaXR5Wm9uZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUF2YWlsYWJpbGl0eVpvbmVzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVCdW5kbGVUYXNrc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlQnVuZGxlVGFza3Mgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUNvbnZlcnNpb25UYXNrc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlQ29udmVyc2lvblRhc2tzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVDdXN0b21lckdhdGV3YXlzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVDdXN0b21lckdhdGV3YXlzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVEaGNwT3B0aW9uc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlRGhjcE9wdGlvbnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUV4cG9ydFRhc2tzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVFeHBvcnRUYXNrcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlSW1hZ2VzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVJbWFnZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUluc3RhbmNlU3RhdHVzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVJbnN0YW5jZVN0YXR1cyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlSW5zdGFuY2VzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVJbnN0YW5jZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUludGVybmV0R2F0ZXdheXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUludGVybmV0R2F0ZXdheXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUtleVBhaXJzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVLZXlQYWlycyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlTGljZW5zZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUxpY2Vuc2VzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVOZXR3b3JrQWNsc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlTmV0d29ya0FjbHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZU5ldHdvcmtJbnRlcmZhY2VzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVOZXR3b3JrSW50ZXJmYWNlcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlUGxhY2VtZW50R3JvdXBzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVQbGFjZW1lbnRHcm91cHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVJlZ2lvbnNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVJlZ2lvbnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZXNMaXN0aW5nc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZXNMaXN0aW5ncyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZXNNb2RpZmljYXRpb25zSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc01vZGlmaWNhdGlvbnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzT2ZmZXJpbmdzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc09mZmVyaW5ncyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlUm91dGVUYWJsZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVJvdXRlVGFibGVzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVTZWN1cml0eUdyb3Vwc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlU2VjdXJpdHlHcm91cHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVNuYXBzaG90c0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlU25hcHNob3RzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVTcG90SW5zdGFuY2VSZXF1ZXN0c0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlU3BvdEluc3RhbmNlUmVxdWVzdHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVNwb3RQcmljZUhpc3RvcnlJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVNwb3RQcmljZUhpc3Rvcnkgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVN1Ym5ldHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVN1Ym5ldHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVRhZ3NJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVRhZ3Mgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVZvbHVtZVN0YXR1c0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVm9sdW1lU3RhdHVzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVWb2x1bWVzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVWb2x1bWVzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVWcGNzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVWcGNzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVWcG5Db25uZWN0aW9uc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVnBuQ29ubmVjdGlvbnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVZwbkdhdGV3YXlzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVWcG5HYXRld2F5cyBvcGVyYXRpb24KICoKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2UtZWMyLmh0bWwgVXNlciBndWlkZQogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkVjMi5FYzJDbGllbnQuaHRtbCBBUEkgZG9jcwogKi8KY2xhc3MgRWMyQ2xpZW50IGV4dGVuZHMgQWJzdHJhY3RDbGllbnQKewogICAgY29uc3QgTEFURVNUX0FQSV9WRVJTSU9OID0gJzIwMTMtMTAtMTUnOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEFXUyBFbGFzdGljIEJlYW5zdGFsayBjbGllbnQgdXNpbmcgYW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBvcHRpb25zLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICRjb25maWcgQ2xpZW50IGNvbmZpZ3VyYXRpb24gZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQHNlZSBcQXdzXENvbW1vblxDbGllbnRcRGVmYXVsdENsaWVudCBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBjb25maWd1cmF0aW9uIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KF9fTkFNRVNQQUNFX18pCiAgICAgICAgICAgIC0+c2V0Q29uZmlnKCRjb25maWcpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnRGVmYXVsdHMoYXJyYXkoCiAgICAgICAgICAgICAgICBPcHRpb25zOjpWRVJTSU9OICAgICAgICAgICAgID0+IHNlbGY6OkxBVEVTVF9BUElfVkVSU0lPTiwKICAgICAgICAgICAgICAgIE9wdGlvbnM6OlNFUlZJQ0VfREVTQ1JJUFRJT04gPT4gX19ESVJfXyAuICcvUmVzb3VyY2VzL2VjMi0lcy5waHAnCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/ContainerFormat.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgQ29udGFpbmVyRm9ybWF0IHZhbHVlcwogKi8KY2xhc3MgQ29udGFpbmVyRm9ybWF0IGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBPVkEgPSAnb3ZhJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/DiskImageFormat.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgRGlza0ltYWdlRm9ybWF0IHZhbHVlcwogKi8KY2xhc3MgRGlza0ltYWdlRm9ybWF0IGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBWTURLID0gJ1ZNREsnOwogICAgY29uc3QgUkFXID0gJ1JBVyc7CiAgICBjb25zdCBWSEQgPSAnVkhEJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/DomainType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgRG9tYWluVHlwZSB2YWx1ZXMKICovCmNsYXNzIERvbWFpblR5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFZQQyA9ICd2cGMnOwogICAgY29uc3QgU1RBTkRBUkQgPSAnc3RhbmRhcmQnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/ExportEnvironment.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgRXhwb3J0RW52aXJvbm1lbnQgdmFsdWVzCiAqLwpjbGFzcyBFeHBvcnRFbnZpcm9ubWVudCBleHRlbmRzIEVudW0KewogICAgY29uc3QgQ0lUUklYID0gJ2NpdHJpeCc7CiAgICBjb25zdCBWTVdBUkUgPSAndm13YXJlJzsKICAgIGNvbnN0IE1JQ1JPU09GVCA9ICdtaWNyb3NvZnQnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/HypervisorType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgSHlwZXJ2aXNvclR5cGUgdmFsdWVzCiAqLwpjbGFzcyBIeXBlcnZpc29yVHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgT1ZNID0gJ292bSc7CiAgICBjb25zdCBYRU4gPSAneGVuJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/ImageState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgSW1hZ2VTdGF0ZSB2YWx1ZXMKICovCmNsYXNzIEltYWdlU3RhdGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEFWQUlMQUJMRSA9ICdhdmFpbGFibGUnOwogICAgY29uc3QgREVSRUdJU1RFUkVEID0gJ2RlcmVnaXN0ZXJlZCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/InstanceAttributeName.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgSW5zdGFuY2VBdHRyaWJ1dGVOYW1lIHZhbHVlcwogKi8KY2xhc3MgSW5zdGFuY2VBdHRyaWJ1dGVOYW1lIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBJTlNUQU5DRV9UWVBFID0gJ2luc3RhbmNlVHlwZSc7CiAgICBjb25zdCBLRVJORUwgPSAna2VybmVsJzsKICAgIGNvbnN0IFJBTURJU0sgPSAncmFtZGlzayc7CiAgICBjb25zdCBVU0VSX0RBVEEgPSAndXNlckRhdGEnOwogICAgY29uc3QgRElTQUJMRV9BUElfVEVSTUlOQVRJT04gPSAnZGlzYWJsZUFwaVRlcm1pbmF0aW9uJzsKICAgIGNvbnN0IElOU1RBTkNFX0lOSVRJQVRFRF9TSFVURE9XTl9CRUhBVklPUiA9ICdpbnN0YW5jZUluaXRpYXRlZFNodXRkb3duQmVoYXZpb3InOwogICAgY29uc3QgUk9PVF9ERVZJQ0VfTkFNRSA9ICdyb290RGV2aWNlTmFtZSc7CiAgICBjb25zdCBCTE9DS19ERVZJQ0VfTUFQUElORyA9ICdibG9ja0RldmljZU1hcHBpbmcnOwogICAgY29uc3QgUFJPRFVDVF9DT0RFUyA9ICdwcm9kdWN0Q29kZXMnOwogICAgY29uc3QgU09VUkNFX0RFU1RfQ0hFQ0sgPSAnc291cmNlRGVzdENoZWNrJzsKICAgIGNvbnN0IEdST1VQX1NFVCA9ICdncm91cFNldCc7CiAgICBjb25zdCBFQlNfT1BUSU1JWkVEID0gJ2Vic09wdGltaXplZCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/InstanceStateName.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgSW5zdGFuY2VTdGF0ZU5hbWUgdmFsdWVzCiAqLwpjbGFzcyBJbnN0YW5jZVN0YXRlTmFtZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgUEVORElORyA9ICdwZW5kaW5nJzsKICAgIGNvbnN0IFJVTk5JTkcgPSAncnVubmluZyc7CiAgICBjb25zdCBTSFVUVElOR19ET1dOID0gJ3NodXR0aW5nLWRvd24nOwogICAgY29uc3QgVEVSTUlOQVRFRCA9ICd0ZXJtaW5hdGVkJzsKICAgIGNvbnN0IFNUT1BQSU5HID0gJ3N0b3BwaW5nJzsKICAgIGNvbnN0IFNUT1BQRUQgPSAnc3RvcHBlZCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/InstanceType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgSW5zdGFuY2VUeXBlIHZhbHVlcwogKi8KY2xhc3MgSW5zdGFuY2VUeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBUMV9NSUNSTyA9ICd0MS5taWNybyc7CiAgICBjb25zdCBNMV9TTUFMTCA9ICdtMS5zbWFsbCc7CiAgICBjb25zdCBNMV9NRURJVU0gPSAnbTEubWVkaXVtJzsKICAgIGNvbnN0IE0xX0xBUkdFID0gJ20xLmxhcmdlJzsKICAgIGNvbnN0IE0xX1hMQVJHRSA9ICdtMS54bGFyZ2UnOwogICAgY29uc3QgTTNfWExBUkdFID0gJ20zLnhsYXJnZSc7CiAgICBjb25zdCBNM18yWExBUkdFID0gJ20zLjJ4bGFyZ2UnOwogICAgY29uc3QgTTJfWExBUkdFID0gJ20yLnhsYXJnZSc7CiAgICBjb25zdCBNMl8yWExBUkdFID0gJ20yLjJ4bGFyZ2UnOwogICAgY29uc3QgTTJfNFhMQVJHRSA9ICdtMi40eGxhcmdlJzsKICAgIGNvbnN0IENSMV84WExBUkdFID0gJ2NyMS44eGxhcmdlJzsKICAgIGNvbnN0IEkyX1hMQVJHRSA9ICdpMi54bGFyZ2UnOwogICAgY29uc3QgSTJfMlhMQVJHRSA9ICdpMi4yeGxhcmdlJzsKICAgIGNvbnN0IEkyXzRYTEFSR0UgPSAnaTIuNHhsYXJnZSc7CiAgICBjb25zdCBJMl84WExBUkdFID0gJ2kyLjh4bGFyZ2UnOwogICAgY29uc3QgSEkxXzRYTEFSR0UgPSAnaGkxLjR4bGFyZ2UnOwogICAgY29uc3QgSFMxXzhYTEFSR0UgPSAnaHMxLjh4bGFyZ2UnOwogICAgY29uc3QgQzFfTUVESVVNID0gJ2MxLm1lZGl1bSc7CiAgICBjb25zdCBDMV9YTEFSR0UgPSAnYzEueGxhcmdlJzsKICAgIGNvbnN0IEMzX0xBUkdFID0gJ2MzLmxhcmdlJzsKICAgIGNvbnN0IEMzX1hMQVJHRSA9ICdjMy54bGFyZ2UnOwogICAgY29uc3QgQzNfMlhMQVJHRSA9ICdjMy4yeGxhcmdlJzsKICAgIGNvbnN0IEMzXzRYTEFSR0UgPSAnYzMuNHhsYXJnZSc7CiAgICBjb25zdCBDM184WExBUkdFID0gJ2MzLjh4bGFyZ2UnOwogICAgY29uc3QgQ0MxXzRYTEFSR0UgPSAnY2MxLjR4bGFyZ2UnOwogICAgY29uc3QgQ0MyXzhYTEFSR0UgPSAnY2MyLjh4bGFyZ2UnOwogICAgY29uc3QgRzJfMlhMQVJHRSA9ICdnMi4yeGxhcmdlJzsKICAgIGNvbnN0IENHMV80WExBUkdFID0gJ2NnMS40eGxhcmdlJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/PlacementGroupState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgUGxhY2VtZW50R3JvdXBTdGF0ZSB2YWx1ZXMKICovCmNsYXNzIFBsYWNlbWVudEdyb3VwU3RhdGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFBFTkRJTkcgPSAncGVuZGluZyc7CiAgICBjb25zdCBBVkFJTEFCTEUgPSAnYXZhaWxhYmxlJzsKICAgIGNvbnN0IERFTEVUSU5HID0gJ2RlbGV0aW5nJzsKICAgIGNvbnN0IERFTEVURUQgPSAnZGVsZXRlZCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/PlacementStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgUGxhY2VtZW50U3RyYXRlZ3kgdmFsdWVzCiAqLwpjbGFzcyBQbGFjZW1lbnRTdHJhdGVneSBleHRlbmRzIEVudW0KewogICAgY29uc3QgQ0xVU1RFUiA9ICdjbHVzdGVyJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/ResourceType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgUmVzb3VyY2VUeXBlIHZhbHVlcwogKi8KY2xhc3MgUmVzb3VyY2VUeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBDVVNUT01FUl9HQVRFV0FZID0gJ2N1c3RvbWVyLWdhdGV3YXknOwogICAgY29uc3QgREhDUF9PUFRJT05TID0gJ2RoY3Atb3B0aW9ucyc7CiAgICBjb25zdCBJTUFHRSA9ICdpbWFnZSc7CiAgICBjb25zdCBJTlNUQU5DRSA9ICdpbnN0YW5jZSc7CiAgICBjb25zdCBJTlRFUk5FVF9HQVRFV0FZID0gJ2ludGVybmV0LWdhdGV3YXknOwogICAgY29uc3QgTkVUV09SS19BQ0wgPSAnbmV0d29yay1hY2wnOwogICAgY29uc3QgTkVUV09SS19JTlRFUkZBQ0UgPSAnbmV0d29yay1pbnRlcmZhY2UnOwogICAgY29uc3QgUkVTRVJWRURfSU5TVEFOQ0VTID0gJ3Jlc2VydmVkLWluc3RhbmNlcyc7CiAgICBjb25zdCBST1VURV9UQUJMRSA9ICdyb3V0ZS10YWJsZSc7CiAgICBjb25zdCBTTkFQU0hPVCA9ICdzbmFwc2hvdCc7CiAgICBjb25zdCBTUE9UX0lOU1RBTkNFU19SRVFVRVNUID0gJ3Nwb3QtaW5zdGFuY2VzLXJlcXVlc3QnOwogICAgY29uc3QgU1VCTkVUID0gJ3N1Ym5ldCc7CiAgICBjb25zdCBTRUNVUklUWV9HUk9VUCA9ICdzZWN1cml0eS1ncm91cCc7CiAgICBjb25zdCBWT0xVTUUgPSAndm9sdW1lJzsKICAgIGNvbnN0IFZQQyA9ICd2cGMnOwogICAgY29uc3QgVlBOX0NPTk5FQ1RJT04gPSAndnBuLWNvbm5lY3Rpb24nOwogICAgY29uc3QgVlBOX0dBVEVXQVkgPSAndnBuLWdhdGV3YXknOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/RuleAction.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgUnVsZUFjdGlvbiB2YWx1ZXMKICovCmNsYXNzIFJ1bGVBY3Rpb24gZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEFMTE9XID0gJ2FsbG93JzsKICAgIGNvbnN0IERFTlkgPSAnZGVueSc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/SnapshotAttributeName.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgU25hcHNob3RBdHRyaWJ1dGVOYW1lIHZhbHVlcwogKi8KY2xhc3MgU25hcHNob3RBdHRyaWJ1dGVOYW1lIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBQUk9EVUNUX0NPREVTID0gJ3Byb2R1Y3RDb2Rlcyc7CiAgICBjb25zdCBDUkVBVEVfVk9MVU1FX1BFUk1JU1NJT04gPSAnY3JlYXRlVm9sdW1lUGVybWlzc2lvbic7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/SnapshotState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgU25hcHNob3RTdGF0ZSB2YWx1ZXMKICovCmNsYXNzIFNuYXBzaG90U3RhdGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFBFTkRJTkcgPSAncGVuZGluZyc7CiAgICBjb25zdCBDT01QTEVURUQgPSAnY29tcGxldGVkJzsKICAgIGNvbnN0IEVSUk9SID0gJ2Vycm9yJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/SpotInstanceType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgU3BvdEluc3RhbmNlVHlwZSB2YWx1ZXMKICovCmNsYXNzIFNwb3RJbnN0YW5jZVR5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IE9ORV9USU1FID0gJ29uZS10aW1lJzsKICAgIGNvbnN0IFBFUlNJU1RFTlQgPSAncGVyc2lzdGVudCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/VirtualizationType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgVmlydHVhbGl6YXRpb25UeXBlIHZhbHVlcwogKi8KY2xhc3MgVmlydHVhbGl6YXRpb25UeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBIVk0gPSAnaHZtJzsKICAgIGNvbnN0IFBBUkFWSVJUVUFMID0gJ3BhcmF2aXJ0dWFsJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/VolumeAttachmentState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgVm9sdW1lQXR0YWNobWVudFN0YXRlIHZhbHVlcwogKi8KY2xhc3MgVm9sdW1lQXR0YWNobWVudFN0YXRlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBBVFRBQ0hJTkcgPSAnYXR0YWNoaW5nJzsKICAgIGNvbnN0IEFUVEFDSEVEID0gJ2F0dGFjaGVkJzsKICAgIGNvbnN0IERFVEFDSElORyA9ICdkZXRhY2hpbmcnOwogICAgY29uc3QgREVUQUNIRUQgPSAnZGV0YWNoZWQnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/VolumeAttributeName.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgVm9sdW1lQXR0cmlidXRlTmFtZSB2YWx1ZXMKICovCmNsYXNzIFZvbHVtZUF0dHJpYnV0ZU5hbWUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEFVVE9fRU5BQkxFX0lPID0gJ2F1dG9FbmFibGVJTyc7CiAgICBjb25zdCBQUk9EVUNUX0NPREVTID0gJ3Byb2R1Y3RDb2Rlcyc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/VolumeState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgVm9sdW1lU3RhdGUgdmFsdWVzCiAqLwpjbGFzcyBWb2x1bWVTdGF0ZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgQ1JFQVRJTkcgPSAnY3JlYXRpbmcnOwogICAgY29uc3QgQVZBSUxBQkxFID0gJ2F2YWlsYWJsZSc7CiAgICBjb25zdCBJTl9VU0UgPSAnaW4tdXNlJzsKICAgIGNvbnN0IERFTEVUSU5HID0gJ2RlbGV0aW5nJzsKICAgIGNvbnN0IERFTEVURUQgPSAnZGVsZXRlZCc7CiAgICBjb25zdCBFUlJPUiA9ICdlcnJvcic7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/VolumeType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgVm9sdW1lVHlwZSB2YWx1ZXMKICovCmNsYXNzIFZvbHVtZVR5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFNUQU5EQVJEID0gJ3N0YW5kYXJkJzsKICAgIGNvbnN0IElPMSA9ICdpbzEnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Enum/VpcAttributeName.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgVnBjQXR0cmlidXRlTmFtZSB2YWx1ZXMKICovCmNsYXNzIFZwY0F0dHJpYnV0ZU5hbWUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEVOQUJMRV9ETlNfU1VQUE9SVCA9ICdlbmFibGVEbnNTdXBwb3J0JzsKICAgIGNvbnN0IEVOQUJMRV9ETlNfSE9TVE5BTUVTID0gJ2VuYWJsZURuc0hvc3RuYW1lcyc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Exception/Ec2Exception.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb247CgovKioKICogRGVmYXVsdCBzZXJ2aWNlIGV4Y2VwdGlvbiBjbGFzcwogKi8KY2xhc3MgRWMyRXhjZXB0aW9uIGV4dGVuZHMgU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Iterator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Iterator/DescribeInstancesIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWMyXEl0ZXJhdG9yOwoKdXNlIEF3c1xDb21tb25cSXRlcmF0b3JcQXdzUmVzb3VyY2VJdGVyYXRvcjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwoKLyoqCiAqIEl0ZXJhdG9yIGZvciBhbiBFQzIgRGVzY3JpYmVJbnN0YW5jZXMgY29tbWFuZC4KICoKICogVGhpcyBpdGVyYXRvciBpbnZlcnRzIHRoZSB0eXBpY2FsIHN0cnVjdHVyZSBvZiB0aGUgRGVzY3JpYmVJdGVyYXRvcnMgb3BlcmF0aW9uLCBzdWNoIHRoYXQgdGhlIHlpZWxkZWQgaXRlbXMgYXJlIHRoZQogKiBhY3R1YWwgaW5zdGFuY2VzLCBhbmQgdGhlIHJlc2VydmF0aW9uIGlzIGV4cG9zZWQgYXMgYSBwcm9wZXJ0eSBvZiB0aGUgaW5zdGFuY2UgdmlhIHRoZSAiUmVzZXJ2YXRpb24iIGtleS4KICovCmNsYXNzIERlc2NyaWJlSW5zdGFuY2VzSXRlcmF0b3IgZXh0ZW5kcyBBd3NSZXNvdXJjZUl0ZXJhdG9yCnsKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaGFuZGxlUmVzdWx0cyhNb2RlbCAkcmVzdWx0KQogICAgewogICAgICAgICRpbnN0YW5jZXMgPSBhcnJheSgpOwoKICAgICAgICAvLyBJbnZlcnQgdGhlIHN0cnVjdHVyZSBzbyB0aGF0IGluc3RhbmNlcyBhcmUgeWllbGRlZCBhbmQgdGhlIHJlc2VydmF0aW9uIGlzIGV4cG9zZWQgYXMgYSBwcm9wZXJ0eQogICAgICAgIGZvcmVhY2ggKCRyZXN1bHQtPmdldCgnUmVzZXJ2YXRpb25zJykgYXMgJHJlc2VydmF0aW9uKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCRyZXNlcnZhdGlvblsnSW5zdGFuY2VzJ10gYXMgJGluc3RhbmNlKSB7CiAgICAgICAgICAgICAgICAkaW5zdGFuY2VbJ1Jlc2VydmF0aW9uJ10gPSAkcmVzZXJ2YXRpb247CiAgICAgICAgICAgICAgICB1bnNldCgkaW5zdGFuY2VbJ1Jlc2VydmF0aW9uJ11bJ0luc3RhbmNlcyddKTsKICAgICAgICAgICAgICAgICRpbnN0YW5jZXNbXSA9ICRpbnN0YW5jZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRpbnN0YW5jZXM7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ec2/Resources/ec2-2013-10-15.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTMtMTAtMTUnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnZWMyJywKICAgICdzZXJ2aWNlRnVsbE5hbWUnID0+ICdBbWF6b24gRWxhc3RpYyBDb21wdXRlIENsb3VkJywKICAgICdzZXJ2aWNlQWJicmV2aWF0aW9uJyA9PiAnQW1hem9uIEVDMicsCiAgICAnc2VydmljZVR5cGUnID0+ICdxdWVyeScsCiAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3YyJywKICAgICduYW1lc3BhY2UnID0+ICdFYzInLAogICAgJ3JlZ2lvbnMnID0+IGFycmF5KAogICAgICAgICd1cy1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlYzIudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VjMi51cy13ZXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtd2VzdC0yJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWMyLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdldS13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlYzIuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLW5vcnRoZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWMyLmFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLXNvdXRoZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWMyLmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLXNvdXRoZWFzdC0yJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWMyLmFwLXNvdXRoZWFzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3NhLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VjMi5zYS1lYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtZ292LXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlYzIudXMtZ292LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQWN0aXZhdGVMaWNlbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0FjdGl2YXRlTGljZW5zZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMaWNlbnNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FwYWNpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0FsbG9jYXRlQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQWxsb2NhdGVBZGRyZXNzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQWxsb2NhdGVBZGRyZXNzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Fzc2lnblByaXZhdGVJcEFkZHJlc3NlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBc3NpZ25Qcml2YXRlSXBBZGRyZXNzZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV0d29ya0ludGVyZmFjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByaXZhdGVJcEFkZHJlc3NlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUHJpdmF0ZUlwQWRkcmVzcycsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQcml2YXRlSXBBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NlY29uZGFyeVByaXZhdGVJcEFkZHJlc3NDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGxvd1JlYXNzaWdubWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Fzc29jaWF0ZUFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Fzc29jaWF0ZUFkZHJlc3NSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBc3NvY2lhdGVBZGRyZXNzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQdWJsaWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FsbG9jYXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByaXZhdGVJcEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGxvd1JlYXNzb2NpYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdBc3NvY2lhdGVEaGNwT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBc3NvY2lhdGVEaGNwT3B0aW9ucycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEaGNwT3B0aW9uc0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Fzc29jaWF0ZVJvdXRlVGFibGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Fzc29jaWF0ZVJvdXRlVGFibGVSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBc3NvY2lhdGVSb3V0ZVRhYmxlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JvdXRlVGFibGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdBdHRhY2hJbnRlcm5ldEdhdGV3YXknID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQXR0YWNoSW50ZXJuZXRHYXRld2F5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ludGVybmV0R2F0ZXdheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0F0dGFjaE5ldHdvcmtJbnRlcmZhY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0F0dGFjaE5ldHdvcmtJbnRlcmZhY2VSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBdHRhY2hOZXR3b3JrSW50ZXJmYWNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RldmljZUluZGV4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdBdHRhY2hWb2x1bWUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ2F0dGFjaG1lbnQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBdHRhY2hWb2x1bWUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVm9sdW1lSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXZpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQXR0YWNoVnBuR2F0ZXdheScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQXR0YWNoVnBuR2F0ZXdheVJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0F0dGFjaFZwbkdhdGV3YXknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVnBuR2F0ZXdheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0F1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQXV0aG9yaXplU2VjdXJpdHlHcm91cEVncmVzcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZVNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlU2VjdXJpdHlHcm91cE93bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJcFByb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRnJvbVBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVG9Qb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NpZHJJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lwUGVybWlzc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJcFBlcm1pc3Npb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcFByb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Zyb21Qb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJJZEdyb3VwUGFpcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdHcm91cHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnR3JvdXBzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lwUmFuZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0lwUmFuZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaWRySXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZVNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlU2VjdXJpdHlHcm91cE93bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJcFByb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRnJvbVBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVG9Qb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NpZHJJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lwUGVybWlzc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJcFBlcm1pc3Npb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcFByb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Zyb21Qb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJJZEdyb3VwUGFpcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdHcm91cHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnR3JvdXBzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lwUmFuZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0lwUmFuZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaWRySXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQnVuZGxlSW5zdGFuY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0J1bmRsZUluc3RhbmNlUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQnVuZGxlSW5zdGFuY2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdG9yYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUzMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FXU0FjY2Vzc0tleUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwbG9hZFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGxvYWRQb2xpY3lTaWduYXR1cmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ2FuY2VsQnVuZGxlVGFzaycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2FuY2VsQnVuZGxlVGFza1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NhbmNlbEJ1bmRsZVRhc2snLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQnVuZGxlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ2FuY2VsQ29udmVyc2lvblRhc2snID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ2FuY2VsQ29udmVyc2lvblRhc2snLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udmVyc2lvblRhc2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZWFzb25NZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ2FuY2VsRXhwb3J0VGFzaycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDYW5jZWxFeHBvcnRUYXNrJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V4cG9ydFRhc2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDYW5jZWxSZXNlcnZlZEluc3RhbmNlc0xpc3RpbmcnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NhbmNlbFJlc2VydmVkSW5zdGFuY2VzTGlzdGluZ1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NhbmNlbFJlc2VydmVkSW5zdGFuY2VzTGlzdGluZycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXNlcnZlZEluc3RhbmNlc0xpc3RpbmdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDYW5jZWxTcG90SW5zdGFuY2VSZXF1ZXN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2FuY2VsU3BvdEluc3RhbmNlUmVxdWVzdHNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDYW5jZWxTcG90SW5zdGFuY2VSZXF1ZXN0cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTcG90SW5zdGFuY2VSZXF1ZXN0SWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU3BvdEluc3RhbmNlUmVxdWVzdElkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Nwb3RJbnN0YW5jZVJlcXVlc3RJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDb25maXJtUHJvZHVjdEluc3RhbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDb25maXJtUHJvZHVjdEluc3RhbmNlUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ29uZmlybVByb2R1Y3RJbnN0YW5jZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcm9kdWN0Q29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NvcHlJbWFnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ29weUltYWdlUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ29weUltYWdlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZVJlZ2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTb3VyY2VJbWFnZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbGllbnRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NvcHlTbmFwc2hvdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ29weVNuYXBzaG90UmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ29weVNuYXBzaG90JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZVJlZ2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTb3VyY2VTbmFwc2hvdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlQ3VzdG9tZXJHYXRld2F5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVDdXN0b21lckdhdGV3YXlSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVDdXN0b21lckdhdGV3YXknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQdWJsaWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJcEFkZHJlc3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdCZ3BBc24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZURoY3BPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVEaGNwT3B0aW9uc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZURoY3BPcHRpb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RoY3BDb25maWd1cmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0RoY3BDb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RoY3BDb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUltYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVJbWFnZVJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZUltYWdlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05vUmVib290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQmxvY2tEZXZpY2VNYXBwaW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQmxvY2tEZXZpY2VNYXBwaW5nJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0Jsb2NrRGV2aWNlTWFwcGluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZpcnR1YWxOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RldmljZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRWJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU25hcHNob3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWxldGVPblRlcm1pbmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJb3BzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9EZXZpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlSW5zdGFuY2VFeHBvcnRUYXNrJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVJbnN0YW5jZUV4cG9ydFRhc2tSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVJbnN0YW5jZUV4cG9ydFRhc2snLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhcmdldEVudmlyb25tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXhwb3J0VG9TM1Rhc2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFeHBvcnRUb1MzJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdEaXNrSW1hZ2VGb3JtYXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ29udGFpbmVyRm9ybWF0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1MzQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1MzUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVJbnRlcm5ldEdhdGV3YXknID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZUludGVybmV0R2F0ZXdheVJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZUludGVybmV0R2F0ZXdheScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVLZXlQYWlyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVLZXlQYWlyUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlS2V5UGFpcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZU5ldHdvcmtBY2wnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZU5ldHdvcmtBY2xSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVOZXR3b3JrQWNsJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZU5ldHdvcmtBY2xFbnRyeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVOZXR3b3JrQWNsRW50cnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV0d29ya0FjbElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1J1bGVOdW1iZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Byb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1J1bGVBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRWdyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NpZHJCbG9jaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJY21wVHlwZUNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJY21wJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9ydFJhbmdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdGcm9tJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZU5ldHdvcmtJbnRlcmZhY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZU5ldHdvcmtJbnRlcmZhY2VSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVOZXR3b3JrSW50ZXJmYWNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2VjdXJpdHlHcm91cElkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NlY3VyaXR5R3JvdXBJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcml2YXRlSXBBZGRyZXNzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQcml2YXRlSXBBZGRyZXNzU3BlY2lmaWNhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVJcEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaW1hcnknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2Vjb25kYXJ5UHJpdmF0ZUlwQWRkcmVzc0NvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVBsYWNlbWVudEdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZVBsYWNlbWVudEdyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdHJhdGVneScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVSZXNlcnZlZEluc3RhbmNlc0xpc3RpbmcnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZVJlc2VydmVkSW5zdGFuY2VzTGlzdGluZ1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZVJlc2VydmVkSW5zdGFuY2VzTGlzdGluZycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXNlcnZlZEluc3RhbmNlc0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByaWNlU2NoZWR1bGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ByaWNlU2NoZWR1bGVTcGVjaWZpY2F0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGVybScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1cnJlbmN5Q29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbGllbnRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVSb3V0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVSb3V0ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSb3V0ZVRhYmxlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVzdGluYXRpb25DaWRyQmxvY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVJvdXRlVGFibGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZVJvdXRlVGFibGVSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVSb3V0ZVRhYmxlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVNlY3VyaXR5R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZVNlY3VyaXR5R3JvdXBSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdHcm91cERlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVTbmFwc2hvdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnc25hcHNob3QnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVTbmFwc2hvdCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVNwb3REYXRhZmVlZFN1YnNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ3JlYXRlU3BvdERhdGFmZWVkU3Vic2NyaXB0aW9uUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlU3BvdERhdGFmZWVkU3Vic2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVTdWJuZXQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZVN1Ym5ldFJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZVN1Ym5ldCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDaWRyQmxvY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVRhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlVGFncycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXNvdXJjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZXNvdXJjZUlkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Jlc291cmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1RhZycsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlVm9sdW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICd2b2x1bWUnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVWb2x1bWUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTbmFwc2hvdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW9wcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVWcGMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZVZwY1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZVZwYycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDaWRyQmxvY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VUZW5hbmN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlVnBuQ29ubmVjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ3JlYXRlVnBuQ29ubmVjdGlvblJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZVZwbkNvbm5lY3Rpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDdXN0b21lckdhdGV3YXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWcG5HYXRld2F5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGljUm91dGVzT25seScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVWcG5Db25uZWN0aW9uUm91dGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlVnBuQ29ubmVjdGlvblJvdXRlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZwbkNvbm5lY3Rpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXN0aW5hdGlvbkNpZHJCbG9jaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVWcG5HYXRld2F5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVWcG5HYXRld2F5UmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlVnBuR2F0ZXdheScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWFjdGl2YXRlTGljZW5zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWFjdGl2YXRlTGljZW5zZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMaWNlbnNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FwYWNpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUN1c3RvbWVyR2F0ZXdheScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVDdXN0b21lckdhdGV3YXknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ3VzdG9tZXJHYXRld2F5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlRGhjcE9wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlRGhjcE9wdGlvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGhjcE9wdGlvbnNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVJbnRlcm5ldEdhdGV3YXknID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlSW50ZXJuZXRHYXRld2F5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ludGVybmV0R2F0ZXdheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUtleVBhaXInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlS2V5UGFpcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZU5ldHdvcmtBY2wnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlTmV0d29ya0FjbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXR3b3JrQWNsSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlTmV0d29ya0FjbEVudHJ5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZU5ldHdvcmtBY2xFbnRyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXR3b3JrQWNsSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUnVsZU51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRWdyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZU5ldHdvcmtJbnRlcmZhY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlTmV0d29ya0ludGVyZmFjZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXR3b3JrSW50ZXJmYWNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlUGxhY2VtZW50R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlUGxhY2VtZW50R3JvdXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVJvdXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZVJvdXRlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JvdXRlVGFibGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXN0aW5hdGlvbkNpZHJCbG9jaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVSb3V0ZVRhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZVJvdXRlVGFibGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUm91dGVUYWJsZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVNlY3VyaXR5R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlU25hcHNob3QnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlU25hcHNob3QnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU25hcHNob3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVTcG90RGF0YWZlZWRTdWJzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlU3BvdERhdGFmZWVkU3Vic2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVN1Ym5ldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVTdWJuZXQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3VibmV0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVUYWdzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc291cmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1Jlc291cmNlSWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUmVzb3VyY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVZvbHVtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVWb2x1bWUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVm9sdW1lSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlVnBjJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZVZwYycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVWcG5Db25uZWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZVZwbkNvbm5lY3Rpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVnBuQ29ubmVjdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVZwbkNvbm5lY3Rpb25Sb3V0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVWcG5Db25uZWN0aW9uUm91dGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVnBuQ29ubmVjdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc3RpbmF0aW9uQ2lkckJsb2NrJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVZwbkdhdGV3YXknID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlVnBuR2F0ZXdheScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWcG5HYXRld2F5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVyZWdpc3RlckltYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlcmVnaXN0ZXJJbWFnZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbWFnZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F0dHJpYnV0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVBZGRyZXNzZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlQWRkcmVzc2VzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVBZGRyZXNzZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHVibGljSXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdQdWJsaWNJcCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQdWJsaWNJcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGxvY2F0aW9uSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBbGxvY2F0aW9uSWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWxsb2NhdGlvbklkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlQXZhaWxhYmlsaXR5Wm9uZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlQXZhaWxhYmlsaXR5Wm9uZXNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUF2YWlsYWJpbGl0eVpvbmVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1pvbmVOYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnWm9uZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnWm9uZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVCdW5kbGVUYXNrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVCdW5kbGVUYXNrc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlQnVuZGxlVGFza3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQnVuZGxlSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdCdW5kbGVJZCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCdW5kbGVJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNvbnZlcnNpb25UYXNrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVDb252ZXJzaW9uVGFza3NSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUNvbnZlcnNpb25UYXNrcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb252ZXJzaW9uVGFza0lkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ29udmVyc2lvblRhc2tJZCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDb252ZXJzaW9uVGFza0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlQ3VzdG9tZXJHYXRld2F5cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVDdXN0b21lckdhdGV3YXlzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVDdXN0b21lckdhdGV3YXlzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0N1c3RvbWVyR2F0ZXdheUlkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ3VzdG9tZXJHYXRld2F5SWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ3VzdG9tZXJHYXRld2F5SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVEaGNwT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVEaGNwT3B0aW9uc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlRGhjcE9wdGlvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGhjcE9wdGlvbnNJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0RoY3BPcHRpb25zSWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRGhjcE9wdGlvbnNJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUV4cG9ydFRhc2tzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZUV4cG9ydFRhc2tzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVFeHBvcnRUYXNrcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFeHBvcnRUYXNrSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFeHBvcnRUYXNrSWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRXhwb3J0VGFza0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlSW1hZ2VBdHRyaWJ1dGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ2ltYWdlQXR0cmlidXRlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVJbWFnZUF0dHJpYnV0ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbWFnZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUltYWdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVJbWFnZXNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUltYWdlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbWFnZUlkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSW1hZ2VJZCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJbWFnZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ093bmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnT3duZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnT3duZXInLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXhlY3V0YWJsZVVzZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFeGVjdXRhYmxlQnknLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRXhlY3V0YWJsZUJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlSW5zdGFuY2VBdHRyaWJ1dGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0luc3RhbmNlQXR0cmlidXRlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVJbnN0YW5jZUF0dHJpYnV0ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUluc3RhbmNlU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZUluc3RhbmNlU3RhdHVzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVJbnN0YW5jZVN0YXR1cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJbnN0YW5jZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlc3VsdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5jbHVkZUFsbEluc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZUluc3RhbmNlc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlSW5zdGFuY2VzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJbnN0YW5jZUlkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVzdWx0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUludGVybmV0R2F0ZXdheXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlSW50ZXJuZXRHYXRld2F5c1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlSW50ZXJuZXRHYXRld2F5cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnRlcm5ldEdhdGV3YXlJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ludGVybmV0R2F0ZXdheUlkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ludGVybmV0R2F0ZXdheUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlS2V5UGFpcnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlS2V5UGFpcnNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUtleVBhaXJzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tleU5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdLZXlOYW1lJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0tleU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVMaWNlbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVMaWNlbnNlc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlTGljZW5zZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGljZW5zZUlkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTGljZW5zZUlkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0xpY2Vuc2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZU5ldHdvcmtBY2xzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZU5ldHdvcmtBY2xzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVOZXR3b3JrQWNscycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXR3b3JrQWNsSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdOZXR3b3JrQWNsSWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTmV0d29ya0FjbElkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlTmV0d29ya0ludGVyZmFjZUF0dHJpYnV0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVOZXR3b3JrSW50ZXJmYWNlQXR0cmlidXRlUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVOZXR3b3JrSW50ZXJmYWNlQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZURlc3RDaGVjaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0dyb3VwU2V0JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0YWNobWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlTmV0d29ya0ludGVyZmFjZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlTmV0d29ya0ludGVyZmFjZXNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZU5ldHdvcmtJbnRlcmZhY2VzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ05ldHdvcmtJbnRlcmZhY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOZXR3b3JrSW50ZXJmYWNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVQbGFjZW1lbnRHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlUGxhY2VtZW50R3JvdXBzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVQbGFjZW1lbnRHcm91cHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JvdXBOYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnR3JvdXBOYW1lJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0dyb3VwTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVJlZ2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlUmVnaW9uc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlUmVnaW9ucycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZWdpb25OYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUmVnaW9uTmFtZScsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZWdpb25OYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZXNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkSW5zdGFuY2VzSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZXNlcnZlZEluc3RhbmNlc0lkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Jlc2VydmVkSW5zdGFuY2VzSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT2ZmZXJpbmdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc0xpc3RpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzTGlzdGluZ3NSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzTGlzdGluZ3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzZXJ2ZWRJbnN0YW5jZXNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkSW5zdGFuY2VzTGlzdGluZ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc01vZGlmaWNhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZXNNb2RpZmljYXRpb25zUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc01vZGlmaWNhdGlvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzZXJ2ZWRJbnN0YW5jZXNNb2RpZmljYXRpb25JZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1Jlc2VydmVkSW5zdGFuY2VzTW9kaWZpY2F0aW9uSWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUmVzZXJ2ZWRJbnN0YW5jZXNNb2RpZmljYXRpb25JZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzT2ZmZXJpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzT2ZmZXJpbmdzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc09mZmVyaW5ncycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXNlcnZlZEluc3RhbmNlc09mZmVyaW5nSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZXNlcnZlZEluc3RhbmNlc09mZmVyaW5nSWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUmVzZXJ2ZWRJbnN0YW5jZXNPZmZlcmluZ0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcm9kdWN0RGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZVRlbmFuY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPZmZlcmluZ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhSZXN1bHRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luY2x1ZGVNYXJrZXRwbGFjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01pbkR1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heER1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEluc3RhbmNlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVSb3V0ZVRhYmxlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVSb3V0ZVRhYmxlc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlUm91dGVUYWJsZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUm91dGVUYWJsZUlkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUm91dGVUYWJsZUlkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1JvdXRlVGFibGVJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVNlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVNlY3VyaXR5R3JvdXBzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVTZWN1cml0eUdyb3VwcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcm91cE5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdHcm91cE5hbWUnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnR3JvdXBOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyb3VwSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdHcm91cElkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0dyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTbmFwc2hvdEF0dHJpYnV0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVTbmFwc2hvdEF0dHJpYnV0ZVJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlU25hcHNob3RBdHRyaWJ1dGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU25hcHNob3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTbmFwc2hvdHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlU25hcHNob3RzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVTbmFwc2hvdHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU25hcHNob3RJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1NuYXBzaG90SWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU25hcHNob3RJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPd25lcklkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnT3duZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnT3duZXInLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzdG9yYWJsZUJ5VXNlcklkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUmVzdG9yYWJsZUJ5JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Jlc3RvcmFibGVCeScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVNwb3REYXRhZmVlZFN1YnNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVTcG90RGF0YWZlZWRTdWJzY3JpcHRpb25SZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZVNwb3REYXRhZmVlZFN1YnNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVNwb3RJbnN0YW5jZVJlcXVlc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVNwb3RJbnN0YW5jZVJlcXVlc3RzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVTcG90SW5zdGFuY2VSZXF1ZXN0cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTcG90SW5zdGFuY2VSZXF1ZXN0SWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTcG90SW5zdGFuY2VSZXF1ZXN0SWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3BvdEluc3RhbmNlUmVxdWVzdElkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlU3BvdFByaWNlSGlzdG9yeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVTcG90UHJpY2VIaXN0b3J5UmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVTcG90UHJpY2VIaXN0b3J5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXJ0VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdkYXRlLXRpbWUnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuZFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZVR5cGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJbnN0YW5jZVR5cGUnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSW5zdGFuY2VUeXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Byb2R1Y3REZXNjcmlwdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1Byb2R1Y3REZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQcm9kdWN0RGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlc3VsdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTdWJuZXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVN1Ym5ldHNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZVN1Ym5ldHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3VibmV0SWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTdWJuZXRJZCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdWJuZXRJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVRhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlVGFnc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlVGFncycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhSZXN1bHRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVm9sdW1lQXR0cmlidXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVZvbHVtZUF0dHJpYnV0ZVJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlVm9sdW1lQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZvbHVtZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVm9sdW1lU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVZvbHVtZVN0YXR1c1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlVm9sdW1lU3RhdHVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZvbHVtZUlkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVm9sdW1lSWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVm9sdW1lSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVzdWx0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVZvbHVtZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlVm9sdW1lc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlVm9sdW1lcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZvbHVtZUlkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZvbHVtZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVnBjQXR0cmlidXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVZwY0F0dHJpYnV0ZVJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlVnBjQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVnBjcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVWcGNzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVWcGNzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZwY0lkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVnBjSWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVnBjSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVWcG5Db25uZWN0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVWcG5Db25uZWN0aW9uc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlVnBuQ29ubmVjdGlvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVnBuQ29ubmVjdGlvbklkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVnBuQ29ubmVjdGlvbklkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZwbkNvbm5lY3Rpb25JZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVZwbkdhdGV3YXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVZwbkdhdGV3YXlzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVWcG5HYXRld2F5cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWcG5HYXRld2F5SWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWcG5HYXRld2F5SWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVnBuR2F0ZXdheUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RldGFjaEludGVybmV0R2F0ZXdheScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXRhY2hJbnRlcm5ldEdhdGV3YXknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW50ZXJuZXRHYXRld2F5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGV0YWNoTmV0d29ya0ludGVyZmFjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXRhY2hOZXR3b3JrSW50ZXJmYWNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dGFjaG1lbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGb3JjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RldGFjaFZvbHVtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnYXR0YWNobWVudCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RldGFjaFZvbHVtZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGV2aWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRm9yY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXRhY2hWcG5HYXRld2F5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RldGFjaFZwbkdhdGV3YXknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVnBuR2F0ZXdheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rpc2FibGVWZ3dSb3V0ZVByb3BhZ2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rpc2FibGVWZ3dSb3V0ZVByb3BhZ2F0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JvdXRlVGFibGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHYXRld2F5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGlzYXNzb2NpYXRlQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEaXNhc3NvY2lhdGVBZGRyZXNzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1B1YmxpY0lwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXNzb2NpYXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rpc2Fzc29jaWF0ZVJvdXRlVGFibGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGlzYXNzb2NpYXRlUm91dGVUYWJsZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBc3NvY2lhdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0VuYWJsZVZnd1JvdXRlUHJvcGFnYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRW5hYmxlVmd3Um91dGVQcm9wYWdhdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSb3V0ZVRhYmxlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0VuYWJsZVZvbHVtZUlPJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0VuYWJsZVZvbHVtZUlPJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZvbHVtZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldENvbnNvbGVPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldENvbnNvbGVPdXRwdXRSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRDb25zb2xlT3V0cHV0JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0UGFzc3dvcmREYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRQYXNzd29yZERhdGFSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRQYXNzd29yZERhdGEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdJbXBvcnRJbnN0YW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnSW1wb3J0SW5zdGFuY2VSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdJbXBvcnRJbnN0YW5jZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhdW5jaFNwZWNpZmljYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0FyY2hpdGVjdHVyZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cE5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0dyb3VwTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnR3JvdXBOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQWRkaXRpb25hbEluZm8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVXNlckRhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1BsYWNlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RlbmFuY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdNb25pdG9yaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJbml0aWF0ZWRTaHV0ZG93bkJlaGF2aW9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVJcEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rpc2tJbWFnZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0Rpc2tJbWFnZScsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdEaXNrSW1hZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbWFnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Zvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW1wb3J0TWFuaWZlc3RVcmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQbGF0Zm9ybScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdJbXBvcnRLZXlQYWlyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdJbXBvcnRLZXlQYWlyUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnSW1wb3J0S2V5UGFpcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1B1YmxpY0tleU1hdGVyaWFsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnSW1wb3J0Vm9sdW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdJbXBvcnRWb2x1bWVSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdJbXBvcnRWb2x1bWUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ltYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdGb3JtYXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0ltcG9ydE1hbmlmZXN0VXJsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZvbHVtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ01vZGlmeUltYWdlQXR0cmlidXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ01vZGlmeUltYWdlQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ltYWdlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3BlcmF0aW9uVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZXJJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1VzZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdVc2VySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVXNlckdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVXNlckdyb3VwJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1VzZXJHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcm9kdWN0Q29kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1Byb2R1Y3RDb2RlJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Byb2R1Y3RDb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGF1bmNoUGVybWlzc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQWRkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0xhdW5jaFBlcm1pc3Npb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVc2VySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmVtb3ZlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0xhdW5jaFBlcm1pc3Npb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVc2VySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTW9kaWZ5SW5zdGFuY2VBdHRyaWJ1dGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTW9kaWZ5SW5zdGFuY2VBdHRyaWJ1dGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Jsb2NrRGV2aWNlTWFwcGluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0Jsb2NrRGV2aWNlTWFwcGluZycsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCbG9ja0RldmljZU1hcHBpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXZpY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VicycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZU9uVGVybWluYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlydHVhbE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9EZXZpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlRGVzdENoZWNrJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEaXNhYmxlQXBpVGVybWluYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tlcm5lbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JhbWRpc2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVc2VyRGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSW5pdGlhdGVkU2h1dGRvd25CZWhhdmlvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnR3JvdXBJZCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdHcm91cElkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Vic09wdGltaXplZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3Jpb3ZOZXRTdXBwb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTW9kaWZ5TmV0d29ya0ludGVyZmFjZUF0dHJpYnV0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdNb2RpZnlOZXR3b3JrSW50ZXJmYWNlQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZURlc3RDaGVjaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTZWN1cml0eUdyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU2VjdXJpdHlHcm91cElkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dGFjaG1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dGFjaG1lbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEZWxldGVPblRlcm1pbmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ01vZGlmeVJlc2VydmVkSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdNb2RpZnlSZXNlcnZlZEluc3RhbmNlc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ01vZGlmeVJlc2VydmVkSW5zdGFuY2VzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsaWVudFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzZXJ2ZWRJbnN0YW5jZXNJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZXNlcnZlZEluc3RhbmNlc0lkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Jlc2VydmVkSW5zdGFuY2VzSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFyZ2V0Q29uZmlndXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZXNlcnZlZEluc3RhbmNlc0NvbmZpZ3VyYXRpb25TZXRJdGVtVHlwZScsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZXNlcnZlZEluc3RhbmNlc0NvbmZpZ3VyYXRpb25TZXRJdGVtVHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGxhdGZvcm0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ01vZGlmeVNuYXBzaG90QXR0cmlidXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ01vZGlmeVNuYXBzaG90QXR0cmlidXRlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NuYXBzaG90SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3BlcmF0aW9uVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZXJJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1VzZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdVc2VySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JvdXBOYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVXNlckdyb3VwJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1VzZXJHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDcmVhdGVWb2x1bWVQZXJtaXNzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBZGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ3JlYXRlVm9sdW1lUGVybWlzc2lvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSZW1vdmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ3JlYXRlVm9sdW1lUGVybWlzc2lvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTW9kaWZ5Vm9sdW1lQXR0cmlidXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ01vZGlmeVZvbHVtZUF0dHJpYnV0ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRvRW5hYmxlSU8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdNb2RpZnlWcGNBdHRyaWJ1dGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTW9kaWZ5VnBjQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuYWJsZURuc1N1cHBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuYWJsZURuc0hvc3RuYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTW9uaXRvckluc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTW9uaXRvckluc3RhbmNlc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ01vbml0b3JJbnN0YW5jZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJbnN0YW5jZUlkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHVyY2hhc2VSZXNlcnZlZEluc3RhbmNlc09mZmVyaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdQdXJjaGFzZVJlc2VydmVkSW5zdGFuY2VzT2ZmZXJpbmdSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdQdXJjaGFzZVJlc2VydmVkSW5zdGFuY2VzT2ZmZXJpbmcnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzZXJ2ZWRJbnN0YW5jZXNPZmZlcmluZ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xpbWl0UHJpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0Ftb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ3VycmVuY3lDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZWJvb3RJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmVib290SW5zdGFuY2VzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJbnN0YW5jZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlZ2lzdGVySW1hZ2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1JlZ2lzdGVySW1hZ2VSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZWdpc3RlckltYWdlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ltYWdlTG9jYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBcmNoaXRlY3R1cmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXJuZWxJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JhbWRpc2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jvb3REZXZpY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQmxvY2tEZXZpY2VNYXBwaW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQmxvY2tEZXZpY2VNYXBwaW5nJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0Jsb2NrRGV2aWNlTWFwcGluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZpcnR1YWxOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RldmljZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRWJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU25hcHNob3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWxldGVPblRlcm1pbmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJb3BzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9EZXZpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmlydHVhbGl6YXRpb25UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3Jpb3ZOZXRTdXBwb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVsZWFzZUFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmVsZWFzZUFkZHJlc3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHVibGljSXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGxvY2F0aW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXBsYWNlTmV0d29ya0FjbEFzc29jaWF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdSZXBsYWNlTmV0d29ya0FjbEFzc29jaWF0aW9uUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmVwbGFjZU5ldHdvcmtBY2xBc3NvY2lhdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBc3NvY2lhdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05ldHdvcmtBY2xJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXBsYWNlTmV0d29ya0FjbEVudHJ5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1JlcGxhY2VOZXR3b3JrQWNsRW50cnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV0d29ya0FjbElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1J1bGVOdW1iZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Byb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1J1bGVBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRWdyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NpZHJCbG9jaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJY21wVHlwZUNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJY21wJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9ydFJhbmdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdGcm9tJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlcGxhY2VSb3V0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZXBsYWNlUm91dGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUm91dGVUYWJsZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc3RpbmF0aW9uQ2lkckJsb2NrJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXR3b3JrSW50ZXJmYWNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXBsYWNlUm91dGVUYWJsZUFzc29jaWF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdSZXBsYWNlUm91dGVUYWJsZUFzc29jaWF0aW9uUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmVwbGFjZVJvdXRlVGFibGVBc3NvY2lhdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBc3NvY2lhdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JvdXRlVGFibGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXBvcnRJbnN0YW5jZVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZXBvcnRJbnN0YW5jZVN0YXR1cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFydFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVhc29uQ29kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1JlYXNvbkNvZGUnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUmVhc29uQ29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlcXVlc3RTcG90SW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdSZXF1ZXN0U3BvdEluc3RhbmNlc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1JlcXVlc3RTcG90SW5zdGFuY2VzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Nwb3RQcmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWYWxpZEZyb20nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWYWxpZFVudGlsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGF1bmNoR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXVuY2hTcGVjaWZpY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJbWFnZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0tleU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVXNlckRhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQWRkcmVzc2luZ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1BsYWNlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnS2VybmVsSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmFtZGlza0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Jsb2NrRGV2aWNlTWFwcGluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQmxvY2tEZXZpY2VNYXBwaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCbG9ja0RldmljZU1hcHBpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaXJ0dWFsTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXZpY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VicycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NuYXBzaG90SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVsZXRlT25UZXJtaW5hdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJb3BzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05vRGV2aWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ01vbml0b3JpbmdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTmV0d29ya0ludGVyZmFjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTmV0d29ya0ludGVyZmFjZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTmV0d29ya0ludGVyZmFjZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXZpY2VJbmRleCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2VjdXJpdHlHcm91cElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTZWN1cml0eUdyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWxldGVPblRlcm1pbmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwQWRkcmVzc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ByaXZhdGVJcEFkZHJlc3NTcGVjaWZpY2F0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmltYXJ5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2Vjb25kYXJ5UHJpdmF0ZUlwQWRkcmVzc0NvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBc3NvY2lhdGVQdWJsaWNJcEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJYW1JbnN0YW5jZVByb2ZpbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Vic09wdGltaXplZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1NlY3VyaXR5R3JvdXBJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2VjdXJpdHlHcm91cElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTZWN1cml0eUdyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTZWN1cml0eUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1Jlc2V0SW1hZ2VBdHRyaWJ1dGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmVzZXRJbWFnZUF0dHJpYnV0ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbWFnZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXNldEluc3RhbmNlQXR0cmlidXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1Jlc2V0SW5zdGFuY2VBdHRyaWJ1dGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVzZXROZXR3b3JrSW50ZXJmYWNlQXR0cmlidXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1Jlc2V0TmV0d29ya0ludGVyZmFjZUF0dHJpYnV0ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXR3b3JrSW50ZXJmYWNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlRGVzdENoZWNrJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVzZXRTbmFwc2hvdEF0dHJpYnV0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZXNldFNuYXBzaG90QXR0cmlidXRlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NuYXBzaG90SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1Jldm9rZVNlY3VyaXR5R3JvdXBFZ3Jlc3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmV2b2tlU2VjdXJpdHlHcm91cEVncmVzcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZVNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlU2VjdXJpdHlHcm91cE93bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJcFByb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRnJvbVBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVG9Qb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NpZHJJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lwUGVybWlzc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJcFBlcm1pc3Npb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcFByb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Zyb21Qb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJJZEdyb3VwUGFpcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdHcm91cHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnR3JvdXBzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lwUmFuZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0lwUmFuZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaWRySXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZVNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlU2VjdXJpdHlHcm91cE93bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJcFByb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRnJvbVBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVG9Qb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NpZHJJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lwUGVybWlzc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJcFBlcm1pc3Npb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcFByb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Zyb21Qb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJJZEdyb3VwUGFpcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdHcm91cHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnR3JvdXBzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lwUmFuZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0lwUmFuZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaWRySXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUnVuSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdyZXNlcnZhdGlvbicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1J1bkluc3RhbmNlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbWFnZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01pbkNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2V5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VjdXJpdHlHcm91cElkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2VjdXJpdHlHcm91cElkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NlY3VyaXR5R3JvdXBJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVc2VyRGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BsYWNlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGVuYW5jeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2VybmVsSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSYW1kaXNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdCbG9ja0RldmljZU1hcHBpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdCbG9ja0RldmljZU1hcHBpbmcnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQmxvY2tEZXZpY2VNYXBwaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlydHVhbE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGV2aWNlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFYnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbmFwc2hvdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZVNpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZU9uVGVybWluYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lvcHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb0RldmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNb25pdG9yaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGlzYWJsZUFwaVRlcm1pbmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJbml0aWF0ZWRTaHV0ZG93bkJlaGF2aW9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGljZW5zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUG9vbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsaWVudFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWRkaXRpb25hbEluZm8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXR3b3JrSW50ZXJmYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTmV0d29ya0ludGVyZmFjZScsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOZXR3b3JrSW50ZXJmYWNlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmV0d29ya0ludGVyZmFjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RldmljZUluZGV4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcml2YXRlSXBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1NlY3VyaXR5R3JvdXBJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTZWN1cml0eUdyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVsZXRlT25UZXJtaW5hdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcml2YXRlSXBBZGRyZXNzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdQcml2YXRlSXBBZGRyZXNzZXNTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUHJpdmF0ZUlwQWRkcmVzc2VzU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpbWFyeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWNvbmRhcnlQcml2YXRlSXBBZGRyZXNzQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Fzc29jaWF0ZVB1YmxpY0lwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJYW1JbnN0YW5jZVByb2ZpbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFYnNPcHRpbWl6ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTdGFydEluc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnU3RhcnRJbnN0YW5jZXNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdGFydEluc3RhbmNlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBZGRpdGlvbmFsSW5mbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1N0b3BJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1N0b3BJbnN0YW5jZXNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9wSW5zdGFuY2VzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0xMC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RyeVJ1bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJbnN0YW5jZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZvcmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVGVybWluYXRlSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdUZXJtaW5hdGVJbnN0YW5jZXNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdUZXJtaW5hdGVJbnN0YW5jZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHJ5UnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJbnN0YW5jZUlkJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVW5hc3NpZ25Qcml2YXRlSXBBZGRyZXNzZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnVW5hc3NpZ25Qcml2YXRlSXBBZGRyZXNzZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTEwLTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV0d29ya0ludGVyZmFjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByaXZhdGVJcEFkZHJlc3NlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ByaXZhdGVJcEFkZHJlc3MnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUHJpdmF0ZUlwQWRkcmVzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVbm1vbml0b3JJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1VubW9uaXRvckluc3RhbmNlc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1VubW9uaXRvckluc3RhbmNlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMTAtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEcnlSdW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICdFbXB0eU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICksCiAgICAgICAgJ0FsbG9jYXRlQWRkcmVzc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUHVibGljSXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwdWJsaWNJcCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RvbWFpbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FsbG9jYXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2FsbG9jYXRpb25JZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Fzc29jaWF0ZUFkZHJlc3NSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0Fzc29jaWF0aW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhc3NvY2lhdGlvbklkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQXNzb2NpYXRlUm91dGVUYWJsZVJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQXNzb2NpYXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Fzc29jaWF0aW9uSWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdBdHRhY2hOZXR3b3JrSW50ZXJmYWNlUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBdHRhY2htZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRhY2htZW50SWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdhdHRhY2htZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZUlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXZpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXZpY2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dGFjaFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRhY2hUaW1lJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVsZXRlT25UZXJtaW5hdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZWxldGVPblRlcm1pbmF0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQXR0YWNoVnBuR2F0ZXdheVJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVnBjQXR0YWNoZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRhY2htZW50JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndnBjSWQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdCdW5kbGVJbnN0YW5jZVJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVuZGxlVGFzaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2J1bmRsZUluc3RhbmNlVGFzaycsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdCdW5kbGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYnVuZGxlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhcnRUaW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1VwZGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VwZGF0ZVRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RvcmFnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RvcmFnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2J1Y2tldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcmVmaXgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBV1NBY2Nlc3NLZXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGxvYWRQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndXBsb2FkUG9saWN5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXBsb2FkUG9saWN5U2lnbmF0dXJlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VwbG9hZFBvbGljeVNpZ25hdHVyZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJvZ3Jlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Byb2dyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0J1bmRsZVRhc2tFcnJvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lc3NhZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NhbmNlbEJ1bmRsZVRhc2tSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1bmRsZVRhc2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdidW5kbGVJbnN0YW5jZVRhc2snLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQnVuZGxlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2J1bmRsZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGFydFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXJ0VGltZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd1cGRhdGVUaW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0b3JhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0b3JhZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdidWNrZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJlZml4JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQVdTQWNjZXNzS2V5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXBsb2FkUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VwbG9hZFBvbGljeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwbG9hZFBvbGljeVNpZ25hdHVyZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd1cGxvYWRQb2xpY3lTaWduYXR1cmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2dyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcm9ncmVzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdCdW5kbGVUYXNrRXJyb3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDYW5jZWxSZXNlcnZlZEluc3RhbmNlc0xpc3RpbmdSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkSW5zdGFuY2VzTGlzdGluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Jlc2VydmVkSW5zdGFuY2VzTGlzdGluZ3NTZXQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzZXJ2ZWRJbnN0YW5jZXNMaXN0aW5nSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVzZXJ2ZWRJbnN0YW5jZXNMaXN0aW5nSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNlcnZlZEluc3RhbmNlc0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Jlc2VydmVkSW5zdGFuY2VzSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NyZWF0ZURhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VwZGF0ZURhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXNNZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VDb3VudHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZUNvdW50cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlQ291bnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmljZVNjaGVkdWxlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByaWNlU2NoZWR1bGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Rlcm0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Rlcm0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXJyZW5jeUNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY3VycmVuY3lDb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWN0aXZlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhY3RpdmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGFnU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NsaWVudFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NsaWVudFRva2VuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ2FuY2VsU3BvdEluc3RhbmNlUmVxdWVzdHNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NhbmNlbGxlZFNwb3RJbnN0YW5jZVJlcXVlc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzcG90SW5zdGFuY2VSZXF1ZXN0U2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Nwb3RJbnN0YW5jZVJlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzcG90SW5zdGFuY2VSZXF1ZXN0SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NvbmZpcm1Qcm9kdWN0SW5zdGFuY2VSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ093bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdvd25lcklkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ29weUltYWdlUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJbWFnZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW1hZ2VJZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NvcHlTbmFwc2hvdFJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU25hcHNob3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NuYXBzaG90SWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVDdXN0b21lckdhdGV3YXlSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0N1c3RvbWVyR2F0ZXdheScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2N1c3RvbWVyR2F0ZXdheScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdG9tZXJHYXRld2F5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2N1c3RvbWVyR2F0ZXdheUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0eXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0lwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXBBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0JncEFzbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYmdwQXNuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGFnU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlRGhjcE9wdGlvbnNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0RoY3BPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGhjcE9wdGlvbnMnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0RoY3BPcHRpb25zSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RoY3BPcHRpb25zSWQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRGhjcENvbmZpZ3VyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RoY3BDb25maWd1cmF0aW9uU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZVNldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUltYWdlUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJbWFnZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW1hZ2VJZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUluc3RhbmNlRXhwb3J0VGFza1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRXhwb3J0VGFzaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2V4cG9ydFRhc2snLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0V4cG9ydFRhc2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZXhwb3J0VGFza0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzTWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUV4cG9ydERldGFpbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlRXhwb3J0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldEVudmlyb25tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGFyZ2V0RW52aXJvbm1lbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRXhwb3J0VG9TM1Rhc2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2V4cG9ydFRvUzMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEaXNrSW1hZ2VGb3JtYXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkaXNrSW1hZ2VGb3JtYXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRhaW5lckZvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvbnRhaW5lckZvcm1hdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzM0J1Y2tldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzM0tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlSW50ZXJuZXRHYXRld2F5UmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJbnRlcm5ldEdhdGV3YXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnRlcm5ldEdhdGV3YXknLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0ludGVybmV0R2F0ZXdheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnRlcm5ldEdhdGV3YXlJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBdHRhY2htZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRhY2htZW50U2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2cGNJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVLZXlQYWlyUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdLZXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5TmFtZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tleUZpbmdlcnByaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5RmluZ2VycHJpbnQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXlNYXRlcmlhbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleU1hdGVyaWFsJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlTmV0d29ya0FjbFJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTmV0d29ya0FjbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25ldHdvcmtBY2wnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ05ldHdvcmtBY2xJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmV0d29ya0FjbElkJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2cGNJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJc0RlZmF1bHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZWZhdWx0JywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VudHJpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZW50cnlTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUnVsZU51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3J1bGVOdW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvdG9jb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Byb3RvY29sJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1J1bGVBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3J1bGVBY3Rpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRWdyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZWdyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NpZHJCbG9jaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY2lkckJsb2NrJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ljbXBUeXBlQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaWNtcFR5cGVDb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0eXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUG9ydFJhbmdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwb3J0UmFuZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGcm9tJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Zyb20nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RvJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RvJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Fzc29jaWF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhc3NvY2lhdGlvblNldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOZXR3b3JrQWNsQXNzb2NpYXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmV0d29ya0FjbEFzc29jaWF0aW9uSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmV0d29ya0FjbElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduZXR3b3JrQWNsSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N1Ym5ldElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGFnU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlTmV0d29ya0ludGVyZmFjZVJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTmV0d29ya0ludGVyZmFjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25ldHdvcmtJbnRlcmZhY2UnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmV0d29ya0ludGVyZmFjZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdWJuZXRJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndnBjSWQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXZhaWxhYmlsaXR5Wm9uZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnT3duZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnb3duZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSZXF1ZXN0ZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVxdWVzdGVySWQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmVxdWVzdGVyTWFuYWdlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3JlcXVlc3Rlck1hbmFnZWQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWFjQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWFjQWRkcmVzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcml2YXRlSXBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcml2YXRlSXBBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVEbnNOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcml2YXRlRG5zTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VEZXN0Q2hlY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzb3VyY2VEZXN0Q2hlY2snLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZ3JvdXBOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXR0YWNobWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXR0YWNobWVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dGFjaG1lbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F0dGFjaG1lbnRJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlT3duZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlT3duZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGV2aWNlSW5kZXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGV2aWNlSW5kZXgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0YWNoVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F0dGFjaFRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZU9uVGVybWluYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVsZXRlT25UZXJtaW5hdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBc3NvY2lhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXNzb2NpYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQdWJsaWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3B1YmxpY0lwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcE93bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpcE93bmVySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG9jYXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2FsbG9jYXRpb25JZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXNzb2NpYXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Fzc29jaWF0aW9uSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFnU2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwQWRkcmVzc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByaXZhdGVJcEFkZHJlc3Nlc1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcml2YXRlSXBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcml2YXRlSXBBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVEbnNOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcml2YXRlRG5zTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmltYXJ5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpbWFyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBc3NvY2lhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXNzb2NpYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQdWJsaWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3B1YmxpY0lwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcE93bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpcE93bmVySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG9jYXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2FsbG9jYXRpb25JZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXNzb2NpYXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Fzc29jaWF0aW9uSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVJlc2VydmVkSW5zdGFuY2VzTGlzdGluZ1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVzZXJ2ZWRJbnN0YW5jZXNMaXN0aW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVzZXJ2ZWRJbnN0YW5jZXNMaXN0aW5nc1NldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNlcnZlZEluc3RhbmNlc0xpc3RpbmdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZXNlcnZlZEluc3RhbmNlc0xpc3RpbmdJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc2VydmVkSW5zdGFuY2VzSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVzZXJ2ZWRJbnN0YW5jZXNJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY3JlYXRlRGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwZGF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndXBkYXRlRGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXNNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1c01lc3NhZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUNvdW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlQ291bnRzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VDb3VudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaWNlU2NoZWR1bGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpY2VTY2hlZHVsZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGVybScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGVybScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcmljZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1cnJlbmN5Q29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjdXJyZW5jeUNvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY3RpdmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2FjdGl2ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2xpZW50VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY2xpZW50VG9rZW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVSb3V0ZVRhYmxlUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSb3V0ZVRhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncm91dGVUYWJsZScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUm91dGVUYWJsZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyb3V0ZVRhYmxlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZwY0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1JvdXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyb3V0ZVNldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXN0aW5hdGlvbkNpZHJCbG9jaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVzdGluYXRpb25DaWRyQmxvY2snLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR2F0ZXdheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdnYXRld2F5SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZU93bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlT3duZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOZXR3b3JrSW50ZXJmYWNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25ldHdvcmtJbnRlcmZhY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXNzb2NpYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Fzc29jaWF0aW9uU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvdXRlVGFibGVBc3NvY2lhdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyb3V0ZVRhYmxlQXNzb2NpYXRpb25JZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSb3V0ZVRhYmxlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3JvdXRlVGFibGVJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3VibmV0SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21haW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3BhZ2F0aW5nVmd3cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcm9wYWdhdGluZ1Znd1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHYXRld2F5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dhdGV3YXlJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlU2VjdXJpdHlHcm91cFJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwSWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdzbmFwc2hvdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU25hcHNob3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NuYXBzaG90SWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZUlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFydFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGFydFRpbWUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcm9ncmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Byb2dyZXNzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3duZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ293bmVySWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Rlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVm9sdW1lU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2b2x1bWVTaXplJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3duZXJBbGlhcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ293bmVyQWxpYXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlU3BvdERhdGFmZWVkU3Vic2NyaXB0aW9uUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTcG90RGF0YWZlZWRTdWJzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzcG90RGF0YWZlZWRTdWJzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ093bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ293bmVySWQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdidWNrZXQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcmVmaXgnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0ZhdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdmYXVsdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlU3VibmV0UmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdWJuZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdWJuZXQnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdWJuZXRJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZwY0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NpZHJCbG9jaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY2lkckJsb2NrJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJsZUlwQWRkcmVzc0NvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXZhaWxhYmxlSXBBZGRyZXNzQ291bnQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXZhaWxhYmlsaXR5Wm9uZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0Rm9yQXonID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZWZhdWx0Rm9yQXonLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWFwUHVibGljSXBPbkxhdW5jaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21hcFB1YmxpY0lwT25MYXVuY2gnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICd2b2x1bWUnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1ZvbHVtZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndm9sdW1lSWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NpemUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTbmFwc2hvdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc25hcHNob3RJZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdmFpbGFiaWxpdHlab25lJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDcmVhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY3JlYXRlVGltZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dGFjaG1lbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRhY2htZW50U2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGV2aWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RldmljZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dGFjaFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXR0YWNoVGltZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZU9uVGVybWluYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RlbGV0ZU9uVGVybWluYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVm9sdW1lVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZVR5cGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJb3BzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lvcHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVWcGNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1ZwYycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZwYycsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZwY0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDaWRyQmxvY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NpZHJCbG9jaycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEaGNwT3B0aW9uc0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkaGNwT3B0aW9uc0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGFnU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVRlbmFuY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlVGVuYW5jeScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJc0RlZmF1bHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpc0RlZmF1bHQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVZwbkNvbm5lY3Rpb25SZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1ZwbkNvbm5lY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2cG5Db25uZWN0aW9uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdWcG5Db25uZWN0aW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZwbkNvbm5lY3Rpb25JZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdG9tZXJHYXRld2F5Q29uZmlndXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY3VzdG9tZXJHYXRld2F5Q29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0eXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RvbWVyR2F0ZXdheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjdXN0b21lckdhdGV3YXlJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWcG5HYXRld2F5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZwbkdhdGV3YXlJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVmd3VGVsZW1ldHJ5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Znd1RlbGVtZXRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPdXRzaWRlSXBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdvdXRzaWRlSXBBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhc3RTdGF0dXNDaGFuZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2xhc3RTdGF0dXNDaGFuZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzTWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY2NlcHRlZFJvdXRlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhY2NlcHRlZFJvdXRlQ291bnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnb3B0aW9ucycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRpY1JvdXRlc09ubHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGljUm91dGVzT25seScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSb3V0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncm91dGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc3RpbmF0aW9uQ2lkckJsb2NrJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXN0aW5hdGlvbkNpZHJCbG9jaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NvdXJjZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVZwbkdhdGV3YXlSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1ZwbkdhdGV3YXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2cG5HYXRld2F5JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdWcG5HYXRld2F5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZwbkdhdGV3YXlJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdmFpbGFiaWxpdHlab25lJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY0F0dGFjaG1lbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F0dGFjaG1lbnRzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2cGNJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY2NvdW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYWNjb3VudEF0dHJpYnV0ZVNldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F0dHJpYnV0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRyaWJ1dGVWYWx1ZVNldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRyaWJ1dGVWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlQWRkcmVzc2VzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBZGRyZXNzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2FkZHJlc3Nlc1NldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQdWJsaWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwdWJsaWNJcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG9jYXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhbGxvY2F0aW9uSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBc3NvY2lhdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Fzc29jaWF0aW9uSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZG9tYWluJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmV0d29ya0ludGVyZmFjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25ldHdvcmtJbnRlcmZhY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25ldHdvcmtJbnRlcmZhY2VPd25lcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcml2YXRlSXBBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVBdmFpbGFiaWxpdHlab25lc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F2YWlsYWJpbGl0eVpvbmVJbmZvJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1pvbmVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3pvbmVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnem9uZVN0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVnaW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZWdpb25OYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZXNzYWdlU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlQnVuZGxlVGFza3NSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1bmRsZVRhc2tzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdidW5kbGVJbnN0YW5jZVRhc2tzU2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0J1bmRsZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2J1bmRsZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGFydFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhcnRUaW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXBkYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd1cGRhdGVUaW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RvcmFnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdG9yYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2J1Y2tldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJlZml4JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBV1NBY2Nlc3NLZXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGxvYWRQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd1cGxvYWRQb2xpY3knLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwbG9hZFBvbGljeVNpZ25hdHVyZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VwbG9hZFBvbGljeVNpZ25hdHVyZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZ3Jlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJvZ3Jlc3MnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCdW5kbGVUYXNrRXJyb3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVDb252ZXJzaW9uVGFza3NSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnZlcnNpb25UYXNrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29udmVyc2lvblRhc2tzJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnZlcnNpb25UYXNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29udmVyc2lvblRhc2tJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V4cGlyYXRpb25UaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2V4cGlyYXRpb25UaW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW1wb3J0SW5zdGFuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW1wb3J0SW5zdGFuY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndm9sdW1lcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCeXRlc0NvbnZlcnRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2J5dGVzQ29udmVydGVkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F2YWlsYWJpbGl0eVpvbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW1hZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ltYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9ybWF0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZm9ybWF0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NpemUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ltcG9ydE1hbmlmZXN0VXJsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW1wb3J0TWFuaWZlc3RVcmwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NoZWNrc3VtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY2hlY2tzdW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2b2x1bWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NpemUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzTWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQbGF0Zm9ybScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncGxhdGZvcm0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Rlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbXBvcnRWb2x1bWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW1wb3J0Vm9sdW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCeXRlc0NvbnZlcnRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2J5dGVzQ29udmVydGVkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F2YWlsYWJpbGl0eVpvbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Rlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ltYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbWFnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Zvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Zvcm1hdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzaXplJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbXBvcnRNYW5pZmVzdFVybCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ltcG9ydE1hbmlmZXN0VXJsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGVja3N1bScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NoZWNrc3VtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndm9sdW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzaXplJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1c01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzTWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVDdXN0b21lckdhdGV3YXlzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDdXN0b21lckdhdGV3YXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjdXN0b21lckdhdGV3YXlTZXQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdG9tZXJHYXRld2F5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY3VzdG9tZXJHYXRld2F5SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpcEFkZHJlc3MnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCZ3BBc24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYmdwQXNuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZURoY3BPcHRpb25zUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdEaGNwT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGhjcE9wdGlvbnNTZXQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGhjcE9wdGlvbnNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkaGNwT3B0aW9uc0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGhjcENvbmZpZ3VyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGhjcENvbmZpZ3VyYXRpb25TZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGFnU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlRXhwb3J0VGFza3NSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0V4cG9ydFRhc2tzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdleHBvcnRUYXNrU2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V4cG9ydFRhc2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdleHBvcnRUYXNrSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXNNZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VFeHBvcnREZXRhaWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlRXhwb3J0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldEVudmlyb25tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YXJnZXRFbnZpcm9ubWVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXhwb3J0VG9TM1Rhc2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZXhwb3J0VG9TMycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGlza0ltYWdlRm9ybWF0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkaXNrSW1hZ2VGb3JtYXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29udGFpbmVyRm9ybWF0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjb250YWluZXJGb3JtYXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3MzQnVja2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzM0tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnaW1hZ2VBdHRyaWJ1dGUnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0ltYWdlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbWFnZUlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGF1bmNoUGVybWlzc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2xhdW5jaFBlcm1pc3Npb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VzZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJvZHVjdENvZGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcm9kdWN0Q29kZXMnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZHVjdENvZGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcm9kdWN0Q29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2R1Y3RDb2RlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0eXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2VybmVsSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXJuZWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmFtZGlza0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmFtZGlzaycsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Rlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NyaW92TmV0U3VwcG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NyaW92TmV0U3VwcG9ydCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdCbG9ja0RldmljZU1hcHBpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdibG9ja0RldmljZU1hcHBpbmcnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlydHVhbE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmlydHVhbE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXZpY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RldmljZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFYnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZWJzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbmFwc2hvdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzbmFwc2hvdElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZVNpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2b2x1bWVTaXplJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZU9uVGVybWluYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZWxldGVPblRlcm1pbmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZVR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW9wcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lvcHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05vRGV2aWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25vRGV2aWNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVJbWFnZXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0ltYWdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW1hZ2VzU2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ltYWdlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW1hZ2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ltYWdlTG9jYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW1hZ2VMb2NhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ltYWdlU3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ltYWdlT3duZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1B1YmxpYycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXNQdWJsaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9kdWN0Q29kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcm9kdWN0Q29kZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZHVjdENvZGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcm9kdWN0Q29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2R1Y3RDb2RlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0eXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJjaGl0ZWN0dXJlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2FyY2hpdGVjdHVyZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ltYWdlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbWFnZVR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXJuZWxJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXJuZWxJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JhbWRpc2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyYW1kaXNrSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQbGF0Zm9ybScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwbGF0Zm9ybScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NyaW92TmV0U3VwcG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzcmlvdk5ldFN1cHBvcnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZVJlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZVJlYXNvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbWFnZU93bmVyQWxpYXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW1hZ2VPd25lckFsaWFzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSb290RGV2aWNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyb290RGV2aWNlVHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jvb3REZXZpY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Jvb3REZXZpY2VOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQmxvY2tEZXZpY2VNYXBwaW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Jsb2NrRGV2aWNlTWFwcGluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaXJ0dWFsTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2aXJ0dWFsTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RldmljZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGV2aWNlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VicycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdlYnMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NuYXBzaG90SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NuYXBzaG90SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZVNpemUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVsZXRlT25UZXJtaW5hdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RlbGV0ZU9uVGVybWluYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndm9sdW1lVHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJb3BzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW9wcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9EZXZpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbm9EZXZpY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaXJ0dWFsaXphdGlvblR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmlydHVhbGl6YXRpb25UeXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIeXBlcnZpc29yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2h5cGVydmlzb3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdJbnN0YW5jZUF0dHJpYnV0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZVR5cGUnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2VybmVsSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXJuZWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmFtZGlza0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmFtZGlzaycsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVc2VyRGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VzZXJEYXRhJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rpc2FibGVBcGlUZXJtaW5hdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Rpc2FibGVBcGlUZXJtaW5hdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJbml0aWF0ZWRTaHV0ZG93bkJlaGF2aW9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VJbml0aWF0ZWRTaHV0ZG93bkJlaGF2aW9yJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jvb3REZXZpY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncm9vdERldmljZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQmxvY2tEZXZpY2VNYXBwaW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYmxvY2tEZXZpY2VNYXBwaW5nJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RldmljZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGV2aWNlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VicycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdlYnMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2b2x1bWVJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRhY2hUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRhY2hUaW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZU9uVGVybWluYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZWxldGVPblRlcm1pbmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcm9kdWN0Q29kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Byb2R1Y3RDb2RlcycsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9kdWN0Q29kZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Byb2R1Y3RDb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZHVjdENvZGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3R5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFYnNPcHRpbWl6ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdlYnNPcHRpbWl6ZWQnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NyaW92TmV0U3VwcG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NyaW92TmV0U3VwcG9ydCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUluc3RhbmNlU3RhdHVzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJbnN0YW5jZVN0YXR1c2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZVN0YXR1c1NldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F2YWlsYWJpbGl0eVpvbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFdmVudHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdldmVudHNTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb3RCZWZvcmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbm90QmVmb3JlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm90QWZ0ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbm90QWZ0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlU3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N5c3RlbVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzeXN0ZW1TdGF0dXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RldGFpbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGV0YWlscycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ltcGFpcmVkU2luY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ltcGFpcmVkU2luY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlU3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXRhaWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RldGFpbHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbXBhaXJlZFNpbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbXBhaXJlZFNpbmNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUluc3RhbmNlc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVzZXJ2YXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZXNlcnZhdGlvblNldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNlcnZhdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Jlc2VydmF0aW9uSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ293bmVySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXF1ZXN0ZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZXF1ZXN0ZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZXNTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW1hZ2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbWFnZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VTdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZURuc05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpdmF0ZURuc05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQdWJsaWNEbnNOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Ruc05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZVRyYW5zaXRpb25SZWFzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVhc29uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXlOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQW1pTGF1bmNoSW5kZXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2FtaUxhdW5jaEluZGV4JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZHVjdENvZGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJvZHVjdENvZGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2R1Y3RDb2RlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJvZHVjdENvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9kdWN0Q29kZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZVR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXVuY2hUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2xhdW5jaFRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQbGFjZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncGxhY2VtZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdmFpbGFiaWxpdHlab25lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZ3JvdXBOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RlbmFuY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RlbmFuY3knLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tlcm5lbElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tlcm5lbElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmFtZGlza0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3JhbWRpc2tJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BsYXRmb3JtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3BsYXRmb3JtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTW9uaXRvcmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtb25pdG9yaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N1Ym5ldElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndnBjSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcml2YXRlSXBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByaXZhdGVJcEFkZHJlc3MnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQdWJsaWNJcEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXBBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGVSZWFzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGVSZWFzb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJjaGl0ZWN0dXJlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2FyY2hpdGVjdHVyZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jvb3REZXZpY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Jvb3REZXZpY2VUeXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUm9vdERldmljZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncm9vdERldmljZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCbG9ja0RldmljZU1hcHBpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYmxvY2tEZXZpY2VNYXBwaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RldmljZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGV2aWNlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VicycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdlYnMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2b2x1bWVJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRhY2hUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRhY2hUaW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZU9uVGVybWluYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZWxldGVPblRlcm1pbmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaXJ0dWFsaXphdGlvblR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmlydHVhbGl6YXRpb25UeXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VMaWZlY3ljbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VMaWZlY3ljbGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTcG90SW5zdGFuY2VSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3BvdEluc3RhbmNlUmVxdWVzdElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGljZW5zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdsaWNlbnNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwb29sJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDbGllbnRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjbGllbnRUb2tlbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cFNldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZ3JvdXBOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlRGVzdENoZWNrJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzb3VyY2VEZXN0Q2hlY2snLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIeXBlcnZpc29yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2h5cGVydmlzb3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOZXR3b3JrSW50ZXJmYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25ldHdvcmtJbnRlcmZhY2VTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmV0d29ya0ludGVyZmFjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25ldHdvcmtJbnRlcmZhY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N1Ym5ldElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndnBjSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ093bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnb3duZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcml2YXRlSXBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByaXZhdGVJcEFkZHJlc3MnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcml2YXRlRG5zTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcml2YXRlRG5zTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZURlc3RDaGVjaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc291cmNlRGVzdENoZWNrJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZ3JvdXBTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZ3JvdXBJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dGFjaG1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXR0YWNobWVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0YWNobWVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRhY2htZW50SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGV2aWNlSW5kZXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXZpY2VJbmRleCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRhY2hUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRhY2hUaW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZU9uVGVybWluYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZWxldGVPblRlcm1pbmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBc3NvY2lhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhc3NvY2lhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHVibGljSXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3B1YmxpY0lwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1B1YmxpY0Ruc05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3B1YmxpY0Ruc05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXBPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpcE93bmVySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVJcEFkZHJlc3NlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByaXZhdGVJcEFkZHJlc3Nlc1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcml2YXRlSXBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByaXZhdGVJcEFkZHJlc3MnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcml2YXRlRG5zTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcml2YXRlRG5zTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaW1hcnknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByaW1hcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBc3NvY2lhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhc3NvY2lhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHVibGljSXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3B1YmxpY0lwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1B1YmxpY0Ruc05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3B1YmxpY0Ruc05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXBPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpcE93bmVySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lhbUluc3RhbmNlUHJvZmlsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpYW1JbnN0YW5jZVByb2ZpbGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXJuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRWJzT3B0aW1pemVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdlYnNPcHRpbWl6ZWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTcmlvdk5ldFN1cHBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3Jpb3ZOZXRTdXBwb3J0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmV4dFRva2VuJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVJbnRlcm5ldEdhdGV3YXlzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJbnRlcm5ldEdhdGV3YXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnRlcm5ldEdhdGV3YXlTZXQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW50ZXJuZXRHYXRld2F5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW50ZXJuZXRHYXRld2F5SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRhY2htZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F0dGFjaG1lbnRTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndnBjSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVLZXlQYWlyc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnS2V5UGFpcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleVNldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlGaW5nZXJwcmludCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXlGaW5nZXJwcmludCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlTGljZW5zZXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0xpY2Vuc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdsaWNlbnNlU2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xpY2Vuc2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdsaWNlbnNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3R5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Bvb2wnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYXBhY2l0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY2FwYWNpdHlTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FwYWNpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NhcGFjaXR5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VDYXBhY2l0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VDYXBhY2l0eScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRWFybGllc3RBbGxvd2VkRGVhY3RpdmF0aW9uVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdlYXJsaWVzdEFsbG93ZWREZWFjdGl2YXRpb25UaW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZU5ldHdvcmtBY2xzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdOZXR3b3JrQWNscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmV0d29ya0FjbFNldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOZXR3b3JrQWNsSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmV0d29ya0FjbElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndnBjSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJc0RlZmF1bHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RlZmF1bHQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbnRyaWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZW50cnlTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUnVsZU51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncnVsZU51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Byb3RvY29sJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUnVsZUFjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdydWxlQWN0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRWdyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdlZ3Jlc3MnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaWRyQmxvY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY2lkckJsb2NrJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWNtcFR5cGVDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ljbXBUeXBlQ29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3R5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvcnRSYW5nZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwb3J0UmFuZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Zyb20nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdmcm9tJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RvJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndG8nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Fzc29jaWF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Fzc29jaWF0aW9uU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05ldHdvcmtBY2xBc3NvY2lhdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25ldHdvcmtBY2xBc3NvY2lhdGlvbklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmV0d29ya0FjbElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25ldHdvcmtBY2xJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N1Ym5ldElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZU5ldHdvcmtJbnRlcmZhY2VBdHRyaWJ1dGVSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25ldHdvcmtJbnRlcmZhY2VJZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlRGVzdENoZWNrJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc291cmNlRGVzdENoZWNrJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwU2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRhY2htZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXR0YWNobWVudCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXR0YWNobWVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRhY2htZW50SWQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZU93bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlT3duZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEZXZpY2VJbmRleCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RldmljZUluZGV4JywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dGFjaFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F0dGFjaFRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRGVsZXRlT25UZXJtaW5hdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RlbGV0ZU9uVGVybWluYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlTmV0d29ya0ludGVyZmFjZXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduZXR3b3JrSW50ZXJmYWNlU2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduZXR3b3JrSW50ZXJmYWNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdWJuZXRJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZwY0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdmFpbGFiaWxpdHlab25lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ293bmVySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXF1ZXN0ZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZXF1ZXN0ZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlcXVlc3Rlck1hbmFnZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3JlcXVlc3Rlck1hbmFnZWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWFjQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtYWNBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcml2YXRlSXBBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZURuc05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpdmF0ZURuc05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VEZXN0Q2hlY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NvdXJjZURlc3RDaGVjaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRhY2htZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F0dGFjaG1lbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dGFjaG1lbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXR0YWNobWVudElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZU93bmVySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGV2aWNlSW5kZXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXZpY2VJbmRleCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRhY2hUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRhY2hUaW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZU9uVGVybWluYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZWxldGVPblRlcm1pbmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBc3NvY2lhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhc3NvY2lhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHVibGljSXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3B1YmxpY0lwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lwT3duZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXBPd25lcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG9jYXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYWxsb2NhdGlvbklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Fzc29jaWF0aW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Fzc29jaWF0aW9uSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhZ1NldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcml2YXRlSXBBZGRyZXNzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcml2YXRlSXBBZGRyZXNzZXNTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcml2YXRlSXBBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZURuc05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpdmF0ZURuc05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmltYXJ5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcmltYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXNzb2NpYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXNzb2NpYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1B1YmxpY0lwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwdWJsaWNJcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcE93bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lwT3duZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvY2F0aW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2FsbG9jYXRpb25JZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBc3NvY2lhdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhc3NvY2lhdGlvbklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVBsYWNlbWVudEdyb3Vwc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUGxhY2VtZW50R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwbGFjZW1lbnRHcm91cFNldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZ3JvdXBOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RyYXRlZ3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RyYXRlZ3knLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlUmVnaW9uc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVnaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVnaW9uSW5mbycsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWdpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3JlZ2lvbk5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmRwb2ludCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZWdpb25FbmRwb2ludCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZXNlcnZlZEluc3RhbmNlc1NldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNlcnZlZEluc3RhbmNlc0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Jlc2VydmVkSW5zdGFuY2VzSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VUeXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdmFpbGFiaWxpdHlab25lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhcnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZW5kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2R1cmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNhZ2VQcmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndXNhZ2VQcmljZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZpeGVkUHJpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ZpeGVkUHJpY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZUNvdW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZHVjdERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Byb2R1Y3REZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVRlbmFuY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VUZW5hbmN5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VycmVuY3lDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2N1cnJlbmN5Q29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09mZmVyaW5nVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdvZmZlcmluZ1R5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWN1cnJpbmdDaGFyZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVjdXJyaW5nQ2hhcmdlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGcmVxdWVuY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZnJlcXVlbmN5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQW1vdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhbW91bnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzTGlzdGluZ3NSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkSW5zdGFuY2VzTGlzdGluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Jlc2VydmVkSW5zdGFuY2VzTGlzdGluZ3NTZXQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzZXJ2ZWRJbnN0YW5jZXNMaXN0aW5nSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVzZXJ2ZWRJbnN0YW5jZXNMaXN0aW5nSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNlcnZlZEluc3RhbmNlc0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Jlc2VydmVkSW5zdGFuY2VzSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NyZWF0ZURhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VwZGF0ZURhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXNNZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VDb3VudHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZUNvdW50cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlQ291bnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmljZVNjaGVkdWxlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByaWNlU2NoZWR1bGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Rlcm0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Rlcm0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXJyZW5jeUNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY3VycmVuY3lDb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWN0aXZlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhY3RpdmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGFnU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NsaWVudFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NsaWVudFRva2VuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc01vZGlmaWNhdGlvbnNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkSW5zdGFuY2VzTW9kaWZpY2F0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVzZXJ2ZWRJbnN0YW5jZXNNb2RpZmljYXRpb25zU2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc2VydmVkSW5zdGFuY2VzTW9kaWZpY2F0aW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVzZXJ2ZWRJbnN0YW5jZXNNb2RpZmljYXRpb25JZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc2VydmVkSW5zdGFuY2VzSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVzZXJ2ZWRJbnN0YW5jZXNTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzZXJ2ZWRJbnN0YW5jZXNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZXNlcnZlZEluc3RhbmNlc0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTW9kaWZpY2F0aW9uUmVzdWx0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21vZGlmaWNhdGlvblJlc3VsdFNldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNlcnZlZEluc3RhbmNlc0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Jlc2VydmVkSW5zdGFuY2VzSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYXJnZXRDb25maWd1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhcmdldENvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F2YWlsYWJpbGl0eVpvbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGxhdGZvcm0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3BsYXRmb3JtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZUNvdW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VUeXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NyZWF0ZURhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VwZGF0ZURhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3RpdmVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2VmZmVjdGl2ZURhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXNNZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2xpZW50VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY2xpZW50VG9rZW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzT2ZmZXJpbmdzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSZXNlcnZlZEluc3RhbmNlc09mZmVyaW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVzZXJ2ZWRJbnN0YW5jZXNPZmZlcmluZ3NTZXQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzZXJ2ZWRJbnN0YW5jZXNPZmZlcmluZ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Jlc2VydmVkSW5zdGFuY2VzT2ZmZXJpbmdJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZVR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F2YWlsYWJpbGl0eVpvbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZHVyYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVc2FnZVByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd1c2FnZVByaWNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRml4ZWRQcmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZml4ZWRQcmljZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2R1Y3REZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcm9kdWN0RGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVRlbmFuY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VUZW5hbmN5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VycmVuY3lDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2N1cnJlbmN5Q29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09mZmVyaW5nVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdvZmZlcmluZ1R5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWN1cnJpbmdDaGFyZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVjdXJyaW5nQ2hhcmdlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGcmVxdWVuY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZnJlcXVlbmN5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQW1vdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhbW91bnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXJrZXRwbGFjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWFya2V0cGxhY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmljaW5nRGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByaWNpbmdEZXRhaWxzU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcmljZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjb3VudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25leHRUb2tlbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlUm91dGVUYWJsZXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JvdXRlVGFibGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyb3V0ZVRhYmxlU2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvdXRlVGFibGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyb3V0ZVRhYmxlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2cGNJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvdXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3JvdXRlU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc3RpbmF0aW9uQ2lkckJsb2NrJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Rlc3RpbmF0aW9uQ2lkckJsb2NrJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR2F0ZXdheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dhdGV3YXlJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlT3duZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZU93bmVySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOZXR3b3JrSW50ZXJmYWNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmV0d29ya0ludGVyZmFjZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBc3NvY2lhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhc3NvY2lhdGlvblNldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSb3V0ZVRhYmxlQXNzb2NpYXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyb3V0ZVRhYmxlQXNzb2NpYXRpb25JZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvdXRlVGFibGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyb3V0ZVRhYmxlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdWJuZXRJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01haW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21haW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGFnU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3BhZ2F0aW5nVmd3cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Byb3BhZ2F0aW5nVmd3U2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dhdGV3YXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdnYXRld2F5SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVNlY3VyaXR5R3JvdXBzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTZWN1cml0eUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc2VjdXJpdHlHcm91cEluZm8nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3duZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdvd25lcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZ3JvdXBJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwRGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcFBlcm1pc3Npb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXBQZXJtaXNzaW9ucycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcFByb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lwUHJvdG9jb2wnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGcm9tUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZnJvbVBvcnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RvUG9ydCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJJZEdyb3VwUGFpcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VzZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcFJhbmdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lwUmFuZ2VzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NpZHJJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjaWRySXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcFBlcm1pc3Npb25zRWdyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXBQZXJtaXNzaW9uc0VncmVzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcFByb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lwUHJvdG9jb2wnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGcm9tUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZnJvbVBvcnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RvUG9ydCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJJZEdyb3VwUGFpcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VzZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcFJhbmdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lwUmFuZ2VzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NpZHJJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjaWRySXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2cGNJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTbmFwc2hvdEF0dHJpYnV0ZVJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU25hcHNob3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NuYXBzaG90SWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDcmVhdGVWb2x1bWVQZXJtaXNzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY3JlYXRlVm9sdW1lUGVybWlzc2lvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVc2VySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndXNlcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZ3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcm9kdWN0Q29kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Byb2R1Y3RDb2RlcycsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9kdWN0Q29kZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Byb2R1Y3RDb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZHVjdENvZGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3R5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVNuYXBzaG90c1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU25hcHNob3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzbmFwc2hvdFNldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbmFwc2hvdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NuYXBzaG90SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2b2x1bWVJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGFydFRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9ncmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcm9ncmVzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ093bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnb3duZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Rlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndm9sdW1lU2l6ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ093bmVyQWxpYXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnb3duZXJBbGlhcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTcG90RGF0YWZlZWRTdWJzY3JpcHRpb25SZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Nwb3REYXRhZmVlZFN1YnNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Nwb3REYXRhZmVlZFN1YnNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnT3duZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnb3duZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2J1Y2tldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByZWZpeCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRmF1bHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ZhdWx0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVNwb3RJbnN0YW5jZVJlcXVlc3RzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTcG90SW5zdGFuY2VSZXF1ZXN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3BvdEluc3RhbmNlUmVxdWVzdFNldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTcG90SW5zdGFuY2VSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3BvdEluc3RhbmNlUmVxdWVzdElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3BvdFByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Nwb3RQcmljZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRmF1bHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZmF1bHQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd1cGRhdGVUaW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lc3NhZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbGlkRnJvbScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWxpZEZyb20nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWxpZFVudGlsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbGlkVW50aWwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXVuY2hHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdsYXVuY2hHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmVHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdmFpbGFiaWxpdHlab25lR3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXVuY2hTcGVjaWZpY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2xhdW5jaFNwZWNpZmljYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ltYWdlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ltYWdlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5TmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWN1cml0eUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cFNldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJEYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd1c2VyRGF0YScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBZGRyZXNzaW5nVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYWRkcmVzc2luZ1R5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZVR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGxhY2VtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwbGFjZW1lbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXZhaWxhYmlsaXR5Wm9uZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZ3JvdXBOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tlcm5lbElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXJuZWxJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSYW1kaXNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3JhbWRpc2tJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCbG9ja0RldmljZU1hcHBpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Jsb2NrRGV2aWNlTWFwcGluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWaXJ0dWFsTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmlydHVhbE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGV2aWNlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGV2aWNlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFYnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2VicycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NuYXBzaG90SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzbmFwc2hvdElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZVNpemUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZU9uVGVybWluYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVsZXRlT25UZXJtaW5hdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZVR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lvcHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW9wcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb0RldmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbm9EZXZpY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTW9uaXRvcmluZ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtb25pdG9yaW5nRW5hYmxlZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3VibmV0SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmV0d29ya0ludGVyZmFjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmV0d29ya0ludGVyZmFjZVNldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOZXR3b3JrSW50ZXJmYWNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25ldHdvcmtJbnRlcmZhY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXZpY2VJbmRleCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RldmljZUluZGV4JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdWJuZXRJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpdmF0ZUlwQWRkcmVzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2VjdXJpdHlHcm91cElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTZWN1cml0eUdyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2VjdXJpdHlHcm91cElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWxldGVPblRlcm1pbmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVsZXRlT25UZXJtaW5hdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcml2YXRlSXBBZGRyZXNzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpdmF0ZUlwQWRkcmVzc2VzU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVJcEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByaXZhdGVJcEFkZHJlc3MnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpbWFyeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByaW1hcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2Vjb25kYXJ5UHJpdmF0ZUlwQWRkcmVzc0NvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc2Vjb25kYXJ5UHJpdmF0ZUlwQWRkcmVzc0NvdW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Fzc29jaWF0ZVB1YmxpY0lwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Fzc29jaWF0ZVB1YmxpY0lwQWRkcmVzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJYW1JbnN0YW5jZVByb2ZpbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lhbUluc3RhbmNlUHJvZmlsZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2FybicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRWJzT3B0aW1pemVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZWJzT3B0aW1pemVkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NyZWF0ZVRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9kdWN0RGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJvZHVjdERlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXVuY2hlZEF2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbGF1bmNoZWRBdmFpbGFiaWxpdHlab25lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTcG90UHJpY2VIaXN0b3J5UmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTcG90UHJpY2VIaXN0b3J5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzcG90UHJpY2VIaXN0b3J5U2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZVR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9kdWN0RGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJvZHVjdERlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3BvdFByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Nwb3RQcmljZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpbWVzdGFtcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0aW1lc3RhbXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F2YWlsYWJpbGl0eVpvbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVN1Ym5ldHNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1N1Ym5ldHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N1Ym5ldFNldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdWJuZXRJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndnBjSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaWRyQmxvY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY2lkckJsb2NrJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmxlSXBBZGRyZXNzQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F2YWlsYWJsZUlwQWRkcmVzc0NvdW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdmFpbGFiaWxpdHlab25lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdEZvckF6JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZWZhdWx0Rm9yQXonLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXBQdWJsaWNJcE9uTGF1bmNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtYXBQdWJsaWNJcE9uTGF1bmNoJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVRhZ3NSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ1NldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Jlc291cmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVzb3VyY2VUeXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmV4dFRva2VuJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVWb2x1bWVBdHRyaWJ1dGVSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1ZvbHVtZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndm9sdW1lSWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRvRW5hYmxlSU8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdXRvRW5hYmxlSU8nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Byb2R1Y3RDb2RlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJvZHVjdENvZGVzJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2R1Y3RDb2RlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJvZHVjdENvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9kdWN0Q29kZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVm9sdW1lU3RhdHVzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdWb2x1bWVTdGF0dXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndm9sdW1lU3RhdHVzU2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdmFpbGFiaWxpdHlab25lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZVN0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXRhaWxzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V2ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2V2ZW50c1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFdmVudFR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZXZlbnRUeXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb3RCZWZvcmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbm90QmVmb3JlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm90QWZ0ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbm90QWZ0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2V2ZW50SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYWN0aW9uc1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V2ZW50VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdldmVudFR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2V2ZW50SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVZvbHVtZXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1ZvbHVtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZVNldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2b2x1bWVJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NpemUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbmFwc2hvdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NuYXBzaG90SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F2YWlsYWJpbGl0eVpvbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NyZWF0ZVRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRhY2htZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F0dGFjaG1lbnRTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndm9sdW1lSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXZpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGV2aWNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0YWNoVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRhY2hUaW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVsZXRlT25UZXJtaW5hdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVsZXRlT25UZXJtaW5hdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2b2x1bWVUeXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW9wcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW9wcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVnBjQXR0cmlidXRlUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZwY0lkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5hYmxlRG5zU3VwcG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2VuYWJsZURuc1N1cHBvcnQnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuYWJsZURuc0hvc3RuYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2VuYWJsZURuc0hvc3RuYW1lcycsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVWcGNzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdWcGNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2cGNTZXQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndnBjSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NpZHJCbG9jaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjaWRyQmxvY2snLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEaGNwT3B0aW9uc0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RoY3BPcHRpb25zSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGFnU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlVGVuYW5jeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZVRlbmFuY3knLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJc0RlZmF1bHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lzRGVmYXVsdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVnBuQ29ubmVjdGlvbnNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1ZwbkNvbm5lY3Rpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2cG5Db25uZWN0aW9uU2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwbkNvbm5lY3Rpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2cG5Db25uZWN0aW9uSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RvbWVyR2F0ZXdheUNvbmZpZ3VyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY3VzdG9tZXJHYXRld2F5Q29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RvbWVyR2F0ZXdheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2N1c3RvbWVyR2F0ZXdheUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBuR2F0ZXdheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZwbkdhdGV3YXlJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmd3VGVsZW1ldHJ5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmd3VGVsZW1ldHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ091dHNpZGVJcEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnb3V0c2lkZUlwQWRkcmVzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0U3RhdHVzQ2hhbmdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2xhc3RTdGF0dXNDaGFuZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXNNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1c01lc3NhZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY2NlcHRlZFJvdXRlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2FjY2VwdGVkUm91dGVDb3VudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnb3B0aW9ucycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGljUm91dGVzT25seScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXRpY1JvdXRlc09ubHknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvdXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3JvdXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXN0aW5hdGlvbkNpZHJCbG9jaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXN0aW5hdGlvbkNpZHJCbG9jaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzb3VyY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVnBuR2F0ZXdheXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1ZwbkdhdGV3YXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2cG5HYXRld2F5U2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwbkdhdGV3YXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2cG5HYXRld2F5SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXZhaWxhYmlsaXR5Wm9uZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY0F0dGFjaG1lbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXR0YWNobWVudHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndnBjSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0Q29uc29sZU91dHB1dFJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUaW1lc3RhbXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0aW1lc3RhbXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdvdXRwdXQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRQYXNzd29yZERhdGFSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZUlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGltZXN0YW1wJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGltZXN0YW1wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGFzc3dvcmREYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncGFzc3dvcmREYXRhJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnSW1wb3J0SW5zdGFuY2VSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnZlcnNpb25UYXNrJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29udmVyc2lvblRhc2snLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnZlcnNpb25UYXNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvbnZlcnNpb25UYXNrSWQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRXhwaXJhdGlvblRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2V4cGlyYXRpb25UaW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0ltcG9ydEluc3RhbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbXBvcnRJbnN0YW5jZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQnl0ZXNDb252ZXJ0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYnl0ZXNDb252ZXJ0ZWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdmFpbGFiaWxpdHlab25lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbWFnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ltYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Zvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdmb3JtYXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzaXplJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW1wb3J0TWFuaWZlc3RVcmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW1wb3J0TWFuaWZlc3RVcmwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGVja3N1bScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjaGVja3N1bScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzaXplJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1c01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXNNZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Rlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGxhdGZvcm0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwbGF0Zm9ybScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbXBvcnRWb2x1bWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ltcG9ydFZvbHVtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0J5dGVzQ29udmVydGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2J5dGVzQ29udmVydGVkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXZhaWxhYmlsaXR5Wm9uZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW1hZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbWFnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb3JtYXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZm9ybWF0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc2l6ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ltcG9ydE1hbmlmZXN0VXJsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ltcG9ydE1hbmlmZXN0VXJsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2hlY2tzdW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY2hlY2tzdW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2b2x1bWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc2l6ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzTWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0ltcG9ydEtleVBhaXJSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0tleU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXlOYW1lJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2V5RmluZ2VycHJpbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXlGaW5nZXJwcmludCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0ltcG9ydFZvbHVtZVJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udmVyc2lvblRhc2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjb252ZXJzaW9uVGFzaycsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ29udmVyc2lvblRhc2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29udmVyc2lvblRhc2tJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdFeHBpcmF0aW9uVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZXhwaXJhdGlvblRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW1wb3J0SW5zdGFuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ltcG9ydEluc3RhbmNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndm9sdW1lcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCeXRlc0NvbnZlcnRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdieXRlc0NvbnZlcnRlZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F2YWlsYWJpbGl0eVpvbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ltYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW1hZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9ybWF0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Zvcm1hdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NpemUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbXBvcnRNYW5pZmVzdFVybCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbXBvcnRNYW5pZmVzdFVybCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NoZWNrc3VtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NoZWNrc3VtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndm9sdW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NpemUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1c01lc3NhZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQbGF0Zm9ybScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3BsYXRmb3JtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Rlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0ltcG9ydFZvbHVtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW1wb3J0Vm9sdW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQnl0ZXNDb252ZXJ0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYnl0ZXNDb252ZXJ0ZWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdmFpbGFiaWxpdHlab25lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Rlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbWFnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ltYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Zvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdmb3JtYXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzaXplJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW1wb3J0TWFuaWZlc3RVcmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW1wb3J0TWFuaWZlc3RVcmwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGVja3N1bScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjaGVja3N1bScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzaXplJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXNNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0dXNNZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGFnU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTW9kaWZ5UmVzZXJ2ZWRJbnN0YW5jZXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkSW5zdGFuY2VzTW9kaWZpY2F0aW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZXNlcnZlZEluc3RhbmNlc01vZGlmaWNhdGlvbklkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTW9uaXRvckluc3RhbmNlc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VNb25pdG9yaW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VzU2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01vbml0b3JpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbW9uaXRvcmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXJjaGFzZVJlc2VydmVkSW5zdGFuY2VzT2ZmZXJpbmdSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkSW5zdGFuY2VzSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZXNlcnZlZEluc3RhbmNlc0lkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVnaXN0ZXJJbWFnZVJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSW1hZ2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ltYWdlSWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXBsYWNlTmV0d29ya0FjbEFzc29jaWF0aW9uUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdOZXdBc3NvY2lhdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmV3QXNzb2NpYXRpb25JZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlcGxhY2VSb3V0ZVRhYmxlQXNzb2NpYXRpb25SZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ05ld0Fzc29jaWF0aW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduZXdBc3NvY2lhdGlvbklkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVxdWVzdFNwb3RJbnN0YW5jZXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Nwb3RJbnN0YW5jZVJlcXVlc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzcG90SW5zdGFuY2VSZXF1ZXN0U2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Nwb3RJbnN0YW5jZVJlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzcG90SW5zdGFuY2VSZXF1ZXN0SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTcG90UHJpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3BvdFByaWNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0eXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGYXVsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdmYXVsdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwZGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VwZGF0ZVRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsaWRGcm9tJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZhbGlkRnJvbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbGlkVW50aWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsaWRVbnRpbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhdW5jaEdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2xhdW5jaEdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZUdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F2YWlsYWJpbGl0eVpvbmVHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhdW5jaFNwZWNpZmljYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbGF1bmNoU3BlY2lmaWNhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW1hZ2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW1hZ2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXlOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZ3JvdXBOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlckRhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VzZXJEYXRhJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FkZHJlc3NpbmdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhZGRyZXNzaW5nVHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlVHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQbGFjZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3BsYWNlbWVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdmFpbGFiaWxpdHlab25lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2VybmVsSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tlcm5lbElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JhbWRpc2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmFtZGlza0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Jsb2NrRGV2aWNlTWFwcGluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYmxvY2tEZXZpY2VNYXBwaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZpcnR1YWxOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2aXJ0dWFsTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXZpY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXZpY2VOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VicycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZWJzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU25hcHNob3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NuYXBzaG90SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZVNpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndm9sdW1lU2l6ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVsZXRlT25UZXJtaW5hdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZWxldGVPblRlcm1pbmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndm9sdW1lVHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW9wcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpb3BzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05vRGV2aWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdub0RldmljZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNb25pdG9yaW5nRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21vbml0b3JpbmdFbmFibGVkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdWJuZXRJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOZXR3b3JrSW50ZXJmYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduZXR3b3JrSW50ZXJmYWNlU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmV0d29ya0ludGVyZmFjZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RldmljZUluZGV4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGV2aWNlSW5kZXgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N1Ym5ldElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcml2YXRlSXBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcml2YXRlSXBBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTZWN1cml0eUdyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NlY3VyaXR5R3JvdXBJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTZWN1cml0eUdyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZU9uVGVybWluYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZWxldGVPblRlcm1pbmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVJcEFkZHJlc3NlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcml2YXRlSXBBZGRyZXNzZXNTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpdmF0ZUlwQWRkcmVzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmltYXJ5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpbWFyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWNvbmRhcnlQcml2YXRlSXBBZGRyZXNzQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzZWNvbmRhcnlQcml2YXRlSXBBZGRyZXNzQ291bnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXNzb2NpYXRlUHVibGljSXBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXNzb2NpYXRlUHVibGljSXBBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lhbUluc3RhbmNlUHJvZmlsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaWFtSW5zdGFuY2VQcm9maWxlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXJuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFYnNPcHRpbWl6ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdlYnNPcHRpbWl6ZWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaW5zdGFuY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY3JlYXRlVGltZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2R1Y3REZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcm9kdWN0RGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGFnU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhdW5jaGVkQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdsYXVuY2hlZEF2YWlsYWJpbGl0eVpvbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdyZXNlcnZhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVzZXJ2YXRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Jlc2VydmF0aW9uSWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnb3duZXJJZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVxdWVzdGVySWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwU2V0JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlc1NldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbWFnZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2ltYWdlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZVN0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcml2YXRlRG5zTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcml2YXRlRG5zTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1B1YmxpY0Ruc05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZG5zTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlVHJhbnNpdGlvblJlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZWFzb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2tleU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbWlMYXVuY2hJbmRleCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYW1pTGF1bmNoSW5kZXgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9kdWN0Q29kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcm9kdWN0Q29kZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZHVjdENvZGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcm9kdWN0Q29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2R1Y3RDb2RlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0eXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlVHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhdW5jaFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbGF1bmNoVGltZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BsYWNlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwbGFjZW1lbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F2YWlsYWJpbGl0eVpvbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGVuYW5jeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGVuYW5jeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2VybmVsSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2VybmVsSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSYW1kaXNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmFtZGlza0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGxhdGZvcm0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncGxhdGZvcm0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNb25pdG9yaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21vbml0b3JpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3VibmV0SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2cGNJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVJcEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpdmF0ZUlwQWRkcmVzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1B1YmxpY0lwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpcEFkZHJlc3MnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZVJlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZVJlYXNvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcmNoaXRlY3R1cmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYXJjaGl0ZWN0dXJlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUm9vdERldmljZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncm9vdERldmljZVR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSb290RGV2aWNlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyb290RGV2aWNlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Jsb2NrRGV2aWNlTWFwcGluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdibG9ja0RldmljZU1hcHBpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGV2aWNlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZXZpY2VOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRWJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2VicycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZvbHVtZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dGFjaFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F0dGFjaFRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVsZXRlT25UZXJtaW5hdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RlbGV0ZU9uVGVybWluYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZpcnR1YWxpemF0aW9uVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2aXJ0dWFsaXphdGlvblR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUxpZmVjeWNsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZUxpZmVjeWNsZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Nwb3RJbnN0YW5jZVJlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzcG90SW5zdGFuY2VSZXF1ZXN0SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMaWNlbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2xpY2Vuc2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Bvb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Bvb2wnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NsaWVudFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NsaWVudFRva2VuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ1NldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWN1cml0eUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2dyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VEZXN0Q2hlY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3NvdXJjZURlc3RDaGVjaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0h5cGVydmlzb3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaHlwZXJ2aXNvcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmV0d29ya0ludGVyZmFjZVNldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOZXR3b3JrSW50ZXJmYWNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmV0d29ya0ludGVyZmFjZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3VibmV0SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2cGNJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Rlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3duZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdvd25lcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3N0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVJcEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpdmF0ZUlwQWRkcmVzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVEbnNOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByaXZhdGVEbnNOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlRGVzdENoZWNrJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzb3VyY2VEZXN0Q2hlY2snLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cFNldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZ3JvdXBOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdncm91cElkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0YWNobWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhdHRhY2htZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRhY2htZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F0dGFjaG1lbnRJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXZpY2VJbmRleCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RldmljZUluZGV4JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnc3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dGFjaFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2F0dGFjaFRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVsZXRlT25UZXJtaW5hdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RlbGV0ZU9uVGVybWluYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Fzc29jaWF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Fzc29jaWF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQdWJsaWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHVibGljSXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHVibGljRG5zTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHVibGljRG5zTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcE93bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lwT3duZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwQWRkcmVzc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpdmF0ZUlwQWRkcmVzc2VzU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVJcEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpdmF0ZUlwQWRkcmVzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVEbnNOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByaXZhdGVEbnNOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpbWFyeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJpbWFyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Fzc29jaWF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Fzc29jaWF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQdWJsaWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHVibGljSXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHVibGljRG5zTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHVibGljRG5zTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcE93bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lwT3duZXJJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWFtSW5zdGFuY2VQcm9maWxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lhbUluc3RhbmNlUHJvZmlsZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhcm4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2lkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFYnNPcHRpbWl6ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2Vic09wdGltaXplZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NyaW92TmV0U3VwcG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzcmlvdk5ldFN1cHBvcnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTdGFydEluc3RhbmNlc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3RhcnRpbmdJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlc1NldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXJyZW50U3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY3VycmVudFN0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmV2aW91c1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ByZXZpb3VzU3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1N0b3BJbnN0YW5jZXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1N0b3BwaW5nSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZXNTZXQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VycmVudFN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2N1cnJlbnRTdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJldmlvdXNTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcmV2aW91c1N0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdUZXJtaW5hdGVJbnN0YW5jZXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Rlcm1pbmF0aW5nSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZXNTZXQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpbnN0YW5jZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VycmVudFN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2N1cnJlbnRTdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJldmlvdXNTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcmV2aW91c1N0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICduYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVbm1vbml0b3JJbnN0YW5jZXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0luc3RhbmNlTW9uaXRvcmluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlc1NldCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNb25pdG9yaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21vbml0b3JpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnaXRlcmF0b3JzJyA9PiBhcnJheSgKICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnQWNjb3VudEF0dHJpYnV0ZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVBZGRyZXNzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdBZGRyZXNzZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVBdmFpbGFiaWxpdHlab25lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0F2YWlsYWJpbGl0eVpvbmVzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlQnVuZGxlVGFza3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdCdW5kbGVUYXNrcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUNvbnZlcnNpb25UYXNrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0NvbnZlcnNpb25UYXNrcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUN1c3RvbWVyR2F0ZXdheXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdDdXN0b21lckdhdGV3YXlzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlRGhjcE9wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdEaGNwT3B0aW9ucycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUV4cG9ydFRhc2tzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnRXhwb3J0VGFza3MnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVJbWFnZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdJbWFnZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVJbnN0YW5jZVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVzdWx0cycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0luc3RhbmNlU3RhdHVzZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heFJlc3VsdHMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdSZXNlcnZhdGlvbnMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVJbnRlcm5ldEdhdGV3YXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnSW50ZXJuZXRHYXRld2F5cycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUtleVBhaXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnS2V5UGFpcnMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVMaWNlbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0xpY2Vuc2VzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlTmV0d29ya0FjbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdOZXR3b3JrQWNscycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZU5ldHdvcmtJbnRlcmZhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnTmV0d29ya0ludGVyZmFjZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVQbGFjZW1lbnRHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdQbGFjZW1lbnRHcm91cHMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVSZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnUmVnaW9ucycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnUmVzZXJ2ZWRJbnN0YW5jZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc0xpc3RpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnUmVzZXJ2ZWRJbnN0YW5jZXNMaXN0aW5ncycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzTW9kaWZpY2F0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1Jlc2VydmVkSW5zdGFuY2VzTW9kaWZpY2F0aW9ucycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzT2ZmZXJpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZXN1bHRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnUmVzZXJ2ZWRJbnN0YW5jZXNPZmZlcmluZ3MnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVSb3V0ZVRhYmxlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1JvdXRlVGFibGVzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdTZWN1cml0eUdyb3VwcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVNuYXBzaG90cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1NuYXBzaG90cycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVNwb3RJbnN0YW5jZVJlcXVlc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnU3BvdEluc3RhbmNlUmVxdWVzdHMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVTcG90UHJpY2VIaXN0b3J5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZXN1bHRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnU3BvdFByaWNlSGlzdG9yeScsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVN1Ym5ldHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdTdWJuZXRzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVzdWx0cycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1RhZ3MnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVWb2x1bWVTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heFJlc3VsdHMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdWb2x1bWVTdGF0dXNlcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVZvbHVtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdWb2x1bWVzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlVnBjcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1ZwY3MnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVWcG5Db25uZWN0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1ZwbkNvbm5lY3Rpb25zJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlVnBuR2F0ZXdheXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdWcG5HYXRld2F5cycsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnd2FpdGVycycgPT4gYXJyYXkoCiAgICAgICAgJ19fZGVmYXVsdF9fJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2ludGVydmFsJyA9PiAxNSwKICAgICAgICAgICAgJ21heF9hdHRlbXB0cycgPT4gNDAsCiAgICAgICAgICAgICdhY2NlcHRvci50eXBlJyA9PiAnb3V0cHV0JywKICAgICAgICApLAogICAgICAgICdfX0luc3RhbmNlU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9uJyA9PiAnRGVzY3JpYmVJbnN0YW5jZXMnLAogICAgICAgICAgICAnYWNjZXB0b3IucGF0aCcgPT4gJ1Jlc2VydmF0aW9ucy8qL0luc3RhbmNlcy8qL1N0YXRlL05hbWUnLAogICAgICAgICksCiAgICAgICAgJ0luc3RhbmNlUnVubmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnX19JbnN0YW5jZVN0YXRlJywKICAgICAgICAgICAgJ3N1Y2Nlc3MudmFsdWUnID0+ICdydW5uaW5nJywKICAgICAgICAgICAgJ2ZhaWx1cmUudmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3NodXR0aW5nLWRvd24nLAogICAgICAgICAgICAgICAgJ3Rlcm1pbmF0ZWQnLAogICAgICAgICAgICAgICAgJ3N0b3BwaW5nJywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdJbnN0YW5jZVN0b3BwZWQnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ19fSW5zdGFuY2VTdGF0ZScsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnc3RvcHBlZCcsCiAgICAgICAgICAgICdmYWlsdXJlLnZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdwZW5kaW5nJywKICAgICAgICAgICAgICAgICd0ZXJtaW5hdGVkJywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdJbnN0YW5jZVRlcm1pbmF0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ19fSW5zdGFuY2VTdGF0ZScsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAndGVybWluYXRlZCcsCiAgICAgICAgICAgICdmYWlsdXJlLnZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdwZW5kaW5nJywKICAgICAgICAgICAgICAgICdzdG9wcGluZycsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnX19FeHBvcnRUYXNrU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9uJyA9PiAnRGVzY3JpYmVFeHBvcnRUYXNrcycsCiAgICAgICAgICAgICdhY2NlcHRvci5wYXRoJyA9PiAnRXhwb3J0VGFza3MvKi9TdGF0ZScsCiAgICAgICAgKSwKICAgICAgICAnRXhwb3J0VGFza0NvbXBsZXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnX19FeHBvcnRUYXNrU3RhdGUnLAogICAgICAgICAgICAnc3VjY2Vzcy52YWx1ZScgPT4gJ2NvbXBsZXRlZCcsCiAgICAgICAgKSwKICAgICAgICAnRXhwb3J0VGFza0NhbmNlbGxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnX19FeHBvcnRUYXNrU3RhdGUnLAogICAgICAgICAgICAnc3VjY2Vzcy52YWx1ZScgPT4gJ2NhbmNlbGxlZCcsCiAgICAgICAgKSwKICAgICAgICAnU25hcHNob3RDb21wbGV0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9uJyA9PiAnRGVzY3JpYmVTbmFwc2hvdHMnLAogICAgICAgICAgICAnc3VjY2Vzcy5wYXRoJyA9PiAnU25hcHNob3RzLyovU3RhdGUnLAogICAgICAgICAgICAnc3VjY2Vzcy52YWx1ZScgPT4gJ2NvbXBsZXRlZCcsCiAgICAgICAgKSwKICAgICAgICAnU3VibmV0QXZhaWxhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbicgPT4gJ0Rlc2NyaWJlU3VibmV0cycsCiAgICAgICAgICAgICdzdWNjZXNzLnBhdGgnID0+ICdTdWJuZXRzLyovU3RhdGUnLAogICAgICAgICAgICAnc3VjY2Vzcy52YWx1ZScgPT4gJ2F2YWlsYWJsZScsCiAgICAgICAgKSwKICAgICAgICAnX19Wb2x1bWVTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9uJyA9PiAnRGVzY3JpYmVWb2x1bWVzJywKICAgICAgICAgICAgJ2FjY2VwdG9yLmtleScgPT4gJ1ZvbHVtZVN0YXR1c2VzLyovVm9sdW1lU3RhdHVzL1N0YXR1cycsCiAgICAgICAgKSwKICAgICAgICAnVm9sdW1lQXZhaWxhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdfX1ZvbHVtZVN0YXR1cycsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnYXZhaWxhYmxlJywKICAgICAgICAgICAgJ2ZhaWx1cmUudmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2RlbGV0ZWQnLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1ZvbHVtZUluVXNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdfX1ZvbHVtZVN0YXR1cycsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnaW4tdXNlJywKICAgICAgICAgICAgJ2ZhaWx1cmUudmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2RlbGV0ZWQnLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1ZvbHVtZURlbGV0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ19fVm9sdW1lU3RhdHVzJywKICAgICAgICAgICAgJ3N1Y2Nlc3MudmFsdWUnID0+ICdkZWxldGVkJywKICAgICAgICApLAogICAgICAgICdWcGNBdmFpbGFibGUnID0+IGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9uJyA9PiAnRGVzY3JpYmVWcGNzJywKICAgICAgICAgICAgJ3N1Y2Nlc3MucGF0aCcgPT4gJ1ZwY3MvKi9TdGF0ZScsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnYXZhaWxhYmxlJywKICAgICAgICApLAogICAgICAgICdfX1ZwbkNvbm5lY3Rpb25TdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRpb24nID0+ICdEZXNjcmliZVZwbkNvbm5lY3Rpb25zJywKICAgICAgICAgICAgJ2FjY2VwdG9yLnBhdGgnID0+ICdWcG5Db25uZWN0aW9ucy8qL1N0YXRlJywKICAgICAgICApLAogICAgICAgICdWcG5Db25uZWN0aW9uQXZhaWxhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdfX1ZwbkNvbm5lY3Rpb25TdGF0ZScsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnYXZhaWxhYmxlJywKICAgICAgICAgICAgJ2ZhaWx1cmUudmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2RlbGV0aW5nJywKICAgICAgICAgICAgICAgICdkZWxldGVkJywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdWcG5Db25uZWN0aW9uRGVsZXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnX19WcG5Db25uZWN0aW9uU3RhdGUnLAogICAgICAgICAgICAnc3VjY2Vzcy52YWx1ZScgPT4gJ2RlbGV0ZWQnLAogICAgICAgICAgICAnZmFpbHVyZS52YWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncGVuZGluZycsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQnVuZGxlVGFza0NvbXBsZXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbicgPT4gJ0Rlc2NyaWJlQnVuZGxlVGFza3MnLAogICAgICAgICAgICAnYWNjZXB0b3IucGF0aCcgPT4gJ0J1bmRsZVRhc2tzLyovU3RhdGUnLAogICAgICAgICAgICAnc3VjY2Vzcy52YWx1ZScgPT4gJ2NvbXBsZXRlJywKICAgICAgICAgICAgJ2ZhaWx1cmUudmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2ZhaWxlZCcsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnX19Db252ZXJzaW9uVGFza1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbicgPT4gJ0Rlc2NyaWJlQ29udmVyc2lvblRhc2tzJywKICAgICAgICAgICAgJ2FjY2VwdG9yLnBhdGgnID0+ICdDb252ZXJzaW9uVGFza3MvKi9TdGF0ZScsCiAgICAgICAgKSwKICAgICAgICAnQ29udmVyc2lvblRhc2tDb21wbGV0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ19fQ29udmVyc2lvblRhc2tTdGF0ZScsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnY29tcGxldGVkJywKICAgICAgICAgICAgJ2ZhaWx1cmUudmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2NhbmNlbGxlZCcsCiAgICAgICAgICAgICAgICAnY2FuY2VsbGluZycsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ29udmVyc2lvblRhc2tDYW5jZWxsZWQnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ19fQ29udmVyc2lvblRhc2tTdGF0ZScsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnY2FuY2VsbGVkJywKICAgICAgICApLAogICAgICAgICdfX0N1c3RvbWVyR2F0ZXdheVN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbicgPT4gJ0Rlc2NyaWJlQ3VzdG9tZXJHYXRld2F5cycsCiAgICAgICAgICAgICdhY2NlcHRvci5wYXRoJyA9PiAnQ3VzdG9tZXJHYXRld2F5cy8qL1N0YXRlJywKICAgICAgICApLAogICAgICAgICdDdXN0b21lckdhdGV3YXlBdmFpbGFibGUnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ19fQ3VzdG9tZXJHYXRld2F5U3RhdGUnLAogICAgICAgICAgICAnc3VjY2Vzcy52YWx1ZScgPT4gJ2F2YWlsYWJsZScsCiAgICAgICAgICAgICdmYWlsdXJlLnZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdkZWxldGVkJywKICAgICAgICAgICAgICAgICdkZWxldGluZycsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ29udmVyc2lvblRhc2tEZWxldGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdfX0N1c3RvbWVyR2F0ZXdheVN0YXRlJywKICAgICAgICAgICAgJ3N1Y2Nlc3MudmFsdWUnID0+ICdkZWxldGVkJywKICAgICAgICApLAogICAgKSwKKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/ElastiCacheClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGU7Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQ7CnVzZSBBd3NcQ29tbW9uXENsaWVudFxDbGllbnRCdWlsZGVyOwp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZTsKCi8qKgogKiBDbGllbnQgdG8gaW50ZXJhY3Qgd2l0aCBBbWF6b24gRWxhc3RpQ2FjaGUKICoKICogQG1ldGhvZCBNb2RlbCBhdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aUNhY2hlIEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3N9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlQ2FjaGVDbHVzdGVyKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aUNhY2hlIENyZWF0ZUNhY2hlQ2x1c3Rlcn0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aUNhY2hlIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aUNhY2hlIENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cH0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVDYWNoZVN1Ym5ldEdyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aUNhY2hlIENyZWF0ZUNhY2hlU3VibmV0R3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlUmVwbGljYXRpb25Hcm91cChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGlDYWNoZSBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUNhY2hlQ2x1c3RlcihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGlDYWNoZSBEZWxldGVDYWNoZUNsdXN0ZXJ9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGlDYWNoZSBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGlDYWNoZSBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlQ2FjaGVTdWJuZXRHcm91cChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGlDYWNoZSBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVJlcGxpY2F0aW9uR3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpQ2FjaGUgRGVsZXRlUmVwbGljYXRpb25Hcm91cH0KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUNhY2hlQ2x1c3RlcnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpQ2FjaGUgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGlDYWNoZSBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3VwcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGlDYWNoZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aUNhY2hlIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3VwcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGlDYWNoZSBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3VwcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGlDYWNoZSBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpQ2FjaGUgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUV2ZW50cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGlDYWNoZSBEZXNjcmliZUV2ZW50c30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aUNhY2hlIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpQ2FjaGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpQ2FjaGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3N9CiAqIEBtZXRob2QgTW9kZWwgbW9kaWZ5Q2FjaGVDbHVzdGVyKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aUNhY2hlIE1vZGlmeUNhY2hlQ2x1c3Rlcn0KICogQG1ldGhvZCBNb2RlbCBtb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aUNhY2hlIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgbW9kaWZ5Q2FjaGVTdWJuZXRHcm91cChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGlDYWNoZSBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIG1vZGlmeVJlcGxpY2F0aW9uR3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpQ2FjaGUgTW9kaWZ5UmVwbGljYXRpb25Hcm91cH0KICogQG1ldGhvZCBNb2RlbCBwdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aUNhY2hlIFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmd9CiAqIEBtZXRob2QgTW9kZWwgcmVib290Q2FjaGVDbHVzdGVyKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aUNhY2hlIFJlYm9vdENhY2hlQ2x1c3Rlcn0KICogQG1ldGhvZCBNb2RlbCByZXNldENhY2hlUGFyYW1ldGVyR3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpQ2FjaGUgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIHJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpQ2FjaGUgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc30KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQ2FjaGVDbHVzdGVyc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlQ2FjaGVDbHVzdGVycyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9ucyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVycyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3VwcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUV2ZW50c0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlRXZlbnRzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5ncyBvcGVyYXRpb24KICoKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2UtZWxhc3RpY2FjaGUuaHRtbCBVc2VyIGd1aWRlCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuRWxhc3RpQ2FjaGUuRWxhc3RpQ2FjaGVDbGllbnQuaHRtbCBBUEkgZG9jcwogKi8KY2xhc3MgRWxhc3RpQ2FjaGVDbGllbnQgZXh0ZW5kcyBBYnN0cmFjdENsaWVudAp7CiAgICBjb25zdCBMQVRFU1RfQVBJX1ZFUlNJT04gPSAnMjAxMy0wNi0xNSc7CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgQW1hem9uIEVsYXN0aUNhY2hlIGNsaWVudCB1c2luZyBhbiBhcnJheSBvZiBjb25maWd1cmF0aW9uIG9wdGlvbnMuCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gJGNvbmZpZyBDbGllbnQgY29uZmlndXJhdGlvbiBkYXRhCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAc2VlIFxBd3NcQ29tbW9uXENsaWVudFxEZWZhdWx0Q2xpZW50IGZvciBhIGxpc3Qgb2YgYXZhaWxhYmxlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoJGNvbmZpZyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuIENsaWVudEJ1aWxkZXI6OmZhY3RvcnkoX19OQU1FU1BBQ0VfXykKICAgICAgICAgICAgLT5zZXRDb25maWcoJGNvbmZpZykKICAgICAgICAgICAgLT5zZXRDb25maWdEZWZhdWx0cyhhcnJheSgKICAgICAgICAgICAgICAgIE9wdGlvbnM6OlZFUlNJT04gICAgICAgICAgICAgPT4gc2VsZjo6TEFURVNUX0FQSV9WRVJTSU9OLAogICAgICAgICAgICAgICAgT3B0aW9uczo6U0VSVklDRV9ERVNDUklQVElPTiA9PiBfX0RJUl9fIC4gJy9SZXNvdXJjZXMvZWxhc3RpY2FjaGUtJXMucGhwJwogICAgICAgICAgICApKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Enum/SourceType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBTb3VyY2VUeXBlIHZhbHVlcwogKi8KY2xhc3MgU291cmNlVHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgQ0FDSEVfQ0xVU1RFUiA9ICdjYWNoZS1jbHVzdGVyJzsKICAgIGNvbnN0IENBQ0hFX1BBUkFNRVRFUl9HUk9VUCA9ICdjYWNoZS1wYXJhbWV0ZXItZ3JvdXAnOwogICAgY29uc3QgQ0FDSEVfU0VDVVJJVFlfR1JPVVAgPSAnY2FjaGUtc2VjdXJpdHktZ3JvdXAnOwogICAgY29uc3QgQ0FDSEVfU1VCTkVUX0dST1VQID0gJ2NhY2hlLXN1Ym5ldC1ncm91cCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/AuthorizationAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgQW1hem9uIEVDMiBzZWN1cml0eSBncm91cCBpcyBhbHJlYWR5IGF1dGhvcml6ZWQgZm9yIHRoZSBzcGVjaWZpZWQgY2FjaGUgc2VjdXJpdHkgZ3JvdXAuCiAqLwpjbGFzcyBBdXRob3JpemF0aW9uQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aUNhY2hlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/AuthorizationNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgQW1hem9uIEVDMiBzZWN1cml0eSBncm91cCBpcyBub3QgYXV0aG9yaXplZCBmb3IgdGhlIHNwZWNpZmllZCBjYWNoZSBzZWN1cml0eSBncm91cC4KICovCmNsYXNzIEF1dGhvcml6YXRpb25Ob3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aUNhY2hlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/CacheClusterAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoaXMgdXNlciBhbHJlYWR5IGhhcyBhIGNhY2hlIGNsdXN0ZXIgd2l0aCB0aGUgZ2l2ZW4gaWRlbnRpZmllci4KICovCmNsYXNzIENhY2hlQ2x1c3RlckFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/CacheClusterNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgY2FjaGUgY2x1c3RlciBJRCBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjYWNoZSBjbHVzdGVyLgogKi8KY2xhc3MgQ2FjaGVDbHVzdGVyTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/CacheParameterGroupAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIEEgY2FjaGUgcGFyYW1ldGVyIGdyb3VwIHdpdGggdGhlIHJlcXVlc3RlZCBuYW1lIGFscmVhZHkgZXhpc3RzLgogKi8KY2xhc3MgQ2FjaGVQYXJhbWV0ZXJHcm91cEFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/CacheParameterGroupNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgY2FjaGUgcGFyYW1ldGVyIGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2FjaGUgcGFyYW1ldGVyIGdyb3VwLgogKi8KY2xhc3MgQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpQ2FjaGVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/CacheParameterGroupQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCB3b3VsZCBleGNlZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNhY2hlIHNlY3VyaXR5IGdyb3Vwcy4KICovCmNsYXNzIENhY2hlUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpQ2FjaGVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/CacheSecurityGroupAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIEEgY2FjaGUgc2VjdXJpdHkgZ3JvdXAgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUgYWxyZWFkeSBleGlzdHMuCiAqLwpjbGFzcyBDYWNoZVNlY3VyaXR5R3JvdXBBbHJlYWR5RXhpc3RzRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpQ2FjaGVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/CacheSecurityGroupNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgY2FjaGUgc2VjdXJpdHkgZ3JvdXAgbmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjYWNoZSBzZWN1cml0eSBncm91cC4KICovCmNsYXNzIENhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpQ2FjaGVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/CacheSecurityGroupQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCB3b3VsZCBleGNlZWQgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGNhY2hlIHNlY3VyaXR5IGdyb3Vwcy4KICovCmNsYXNzIENhY2hlU2VjdXJpdHlHcm91cFF1b3RhRXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/CacheSubnetGroupAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgY2FjaGUgc3VibmV0IGdyb3VwIG5hbWUgaXMgYWxyZWFkeSBpbiB1c2UgYnkgYW4gZXhpc3RpbmcgY2FjaGUgc3VibmV0IGdyb3VwLgogKi8KY2xhc3MgQ2FjaGVTdWJuZXRHcm91cEFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/CacheSubnetGroupInUseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgY2FjaGUgc3VibmV0IGdyb3VwIGlzIGN1cnJlbnRseSBpbiB1c2UuCiAqLwpjbGFzcyBDYWNoZVN1Ym5ldEdyb3VwSW5Vc2VFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/CacheSubnetGroupNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgY2FjaGUgc3VibmV0IGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2FjaGUgc3VibmV0IGdyb3VwLgogKi8KY2xhc3MgQ2FjaGVTdWJuZXRHcm91cE5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpQ2FjaGVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/CacheSubnetGroupQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCB3b3VsZCBleGNlZWQgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGNhY2hlIHN1Ym5ldCBncm91cHMuCiAqLwpjbGFzcyBDYWNoZVN1Ym5ldEdyb3VwUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aUNhY2hlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/CacheSubnetQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCB3b3VsZCBleGNlZWQgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIHN1Ym5ldHMgaW4gYSBjYWNoZSBzdWJuZXQgZ3JvdXAuCiAqLwpjbGFzcyBDYWNoZVN1Ym5ldFF1b3RhRXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/ClusterQuotaForCustomerExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCB3b3VsZCBleGNlZWQgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGNhY2hlIGNsdXN0ZXJzIHBlciBjdXN0b21lci4KICovCmNsYXNzIENsdXN0ZXJRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/ElastiCacheException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbjsKCi8qKgogKiBEZWZhdWx0IHNlcnZpY2UgZXhjZXB0aW9uIGNsYXNzCiAqLwpjbGFzcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiBleHRlbmRzIFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/InsufficientCacheClusterCapacityException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgY2FjaGUgbm9kZSB0eXBlIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIHNwZWNpZmllZCBBdmFpbGFiaWxpdHkgWm9uZS4KICovCmNsYXNzIEluc3VmZmljaWVudENhY2hlQ2x1c3RlckNhcGFjaXR5RXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpQ2FjaGVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/InvalidCacheClusterStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgY2FjaGUgY2x1c3RlciBpcyBub3QgaW4gdGhlIGF2YWlsYWJsZSBzdGF0ZS4KICovCmNsYXNzIEludmFsaWRDYWNoZUNsdXN0ZXJTdGF0ZUV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aUNhY2hlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/InvalidCacheParameterGroupStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBjYWNoZSBwYXJhbWV0ZXIgZ3JvdXAgZG9lcyBub3QgYWxsb3cgdGhlIHJlcXVlc3RlZCBhY3Rpb24gdG8gb2NjdXIuCiAqLwpjbGFzcyBJbnZhbGlkQ2FjaGVQYXJhbWV0ZXJHcm91cFN0YXRlRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpQ2FjaGVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/InvalidCacheSecurityGroupStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBjYWNoZSBzZWN1cml0eSBncm91cCBkb2VzIG5vdCBhbGxvdyBkZWxldGlvbi4KICovCmNsYXNzIEludmFsaWRDYWNoZVNlY3VyaXR5R3JvdXBTdGF0ZUV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aUNhY2hlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/InvalidParameterCombinationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFR3byBvciBtb3JlIGluY29tcGF0aWJsZSBwYXJhbWV0ZXJzIHdlcmUgc3BlY2lmaWVkLgogKi8KY2xhc3MgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpQ2FjaGVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/InvalidParameterValueException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSB2YWx1ZSBmb3IgYSBwYXJhbWV0ZXIgaXMgaW52YWxpZC4KICovCmNsYXNzIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aUNhY2hlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/InvalidReplicationGroupStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgcmVwbGljYXRpb24gZ3JvdXAgaXMgbm90IGluIHRoZSBhdmFpbGFibGUgc3RhdGUuCiAqLwpjbGFzcyBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpQ2FjaGVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/InvalidSubnetException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIEFuIGludmFsaWQgc3VibmV0IGlkZW50aWZpZXIgd2FzIHNwZWNpZmllZC4KICovCmNsYXNzIEludmFsaWRTdWJuZXRFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/InvalidVPCNetworkStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBWUEMgbmV0d29yayBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLgogKi8KY2xhc3MgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aUNhY2hlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/NodeQuotaForClusterExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCB3b3VsZCBleGNlZWQgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGNhY2hlIG5vZGVzIGluIGEgc2luZ2xlIGNhY2hlIGNsdXN0ZXIuCiAqLwpjbGFzcyBOb2RlUXVvdGFGb3JDbHVzdGVyRXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/NodeQuotaForCustomerExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCB3b3VsZCBleGNlZWQgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGNhY2hlIG5vZGVzIHBlciBjdXN0b21lci4KICovCmNsYXNzIE5vZGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/ReplicationGroupAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgcmVwbGljYXRpb24gZ3JvdXAgYWxyZWFkeSBleGlzdHMuCiAqLwpjbGFzcyBSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aUNhY2hlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/ReplicationGroupNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgcmVwbGljYXRpb24gZ3JvdXAgZG9lcyBub3QgZXhpc3QuCiAqLwpjbGFzcyBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/ReservedCacheNodeAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoaXMgdXNlciBhbHJlYWR5IGhhcyBhIHJlc2VydmF0aW9uIHdpdGggdGhlIGdpdmVuIGlkZW50aWZpZXIuCiAqLwpjbGFzcyBSZXNlcnZlZENhY2hlTm9kZUFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/ReservedCacheNodeNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgcmVzZXJ2ZWQgY2FjaGUgbm9kZSB3YXMgbm90IGZvdW5kLgogKi8KY2xhc3MgUmVzZXJ2ZWRDYWNoZU5vZGVOb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aUNhY2hlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/ReservedCacheNodeQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCB3b3VsZCBleGNlZWQgdGhlIHVzZXIncyBjYWNoZSBub2RlIHF1b3RhLgogKi8KY2xhc3MgUmVzZXJ2ZWRDYWNoZU5vZGVRdW90YUV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpQ2FjaGVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/ReservedCacheNodesOfferingNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgY2FjaGUgbm9kZSBvZmZlcmluZyBkb2VzIG5vdCBleGlzdC4KICovCmNsYXNzIFJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGlDYWNoZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Exception/SubnetInUseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpQ2FjaGVcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgc3VibmV0IGlzIGJlaW5nIHVzZWQgYnkgYW5vdGhlciBjYWNoZSBzdWJuZXQgZ3JvdXAuCiAqLwpjbGFzcyBTdWJuZXRJblVzZUV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aUNhY2hlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElastiCache/Resources/elasticache-2013-06-15.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTMtMDYtMTUnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnZWxhc3RpY2FjaGUnLAogICAgJ3NlcnZpY2VGdWxsTmFtZScgPT4gJ0FtYXpvbiBFbGFzdGlDYWNoZScsCiAgICAnc2VydmljZVR5cGUnID0+ICdxdWVyeScsCiAgICAncmVzdWx0V3JhcHBlZCcgPT4gdHJ1ZSwKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjQnLAogICAgJ25hbWVzcGFjZScgPT4gJ0VsYXN0aUNhY2hlJywKICAgICdyZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAndXMtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VsYXN0aWNhY2hlLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWxhc3RpY2FjaGUudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljYWNoZS51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnZXUtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VsYXN0aWNhY2hlLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1ub3J0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljYWNoZS5hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljYWNoZS5hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljYWNoZS5hcC1zb3V0aGVhc3QtMi5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdzYS1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWxhc3RpY2FjaGUuc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICApLAogICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICdBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDYWNoZVNlY3VyaXR5R3JvdXBXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgc2VjdXJpdHkgZ3JvdXAgbmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjYWNoZSBzZWN1cml0eSBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGNhY2hlIHNlY3VyaXR5IGdyb3VwIGRvZXMgbm90IGFsbG93IGRlbGV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZENhY2hlU2VjdXJpdHlHcm91cFN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBBbWF6b24gRUMyIHNlY3VyaXR5IGdyb3VwIGlzIGFscmVhZHkgYXV0aG9yaXplZCBmb3IgdGhlIHNwZWNpZmllZCBjYWNoZSBzZWN1cml0eSBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0F1dGhvcml6YXRpb25BbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHZhbHVlIGZvciBhIHBhcmFtZXRlciBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVHdvIG9yIG1vcmUgaW5jb21wYXRpYmxlIHBhcmFtZXRlcnMgd2VyZSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVDYWNoZUNsdXN0ZXInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NhY2hlQ2x1c3RlcldyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVDYWNoZUNsdXN0ZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA2LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVDbHVzdGVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVwbGljYXRpb25Hcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTnVtQ2FjaGVOb2RlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVOb2RlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmdpbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5naW5lVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlUGFyYW1ldGVyR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVTdWJuZXRHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVNlY3VyaXR5R3JvdXBOYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGVTZWN1cml0eUdyb3VwTmFtZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NhY2hlU2VjdXJpdHlHcm91cE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VjdXJpdHlHcm91cElkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2VjdXJpdHlHcm91cElkcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU2VjdXJpdHlHcm91cElkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NuYXBzaG90QXJucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU25hcHNob3RBcm5zLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTbmFwc2hvdEFybicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcmVmZXJyZWRBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3cnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05vdGlmaWNhdGlvblRvcGljQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXV0b01pbm9yVmVyc2lvblVwZ3JhZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHJlcGxpY2F0aW9uIGdyb3VwIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCByZXBsaWNhdGlvbiBncm91cCBpcyBub3QgaW4gdGhlIGF2YWlsYWJsZSBzdGF0ZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRSZXBsaWNhdGlvbkdyb3VwU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIHVzZXIgYWxyZWFkeSBoYXMgYSBjYWNoZSBjbHVzdGVyIHdpdGggdGhlIGdpdmVuIGlkZW50aWZpZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDYWNoZUNsdXN0ZXJBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCBjYWNoZSBub2RlIHR5cGUgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgc3BlY2lmaWVkIEF2YWlsYWJpbGl0eSBab25lLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5zdWZmaWNpZW50Q2FjaGVDbHVzdGVyQ2FwYWNpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIGNhY2hlIHNlY3VyaXR5IGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2FjaGUgc2VjdXJpdHkgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDYWNoZVNlY3VyaXR5R3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgc3VibmV0IGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2FjaGUgc3VibmV0IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVTdWJuZXRHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3QgY2Fubm90IGJlIHByb2Nlc3NlZCBiZWNhdXNlIGl0IHdvdWxkIGV4Y2VlZCB0aGUgYWxsb3dlZCBudW1iZXIgb2YgY2FjaGUgY2x1c3RlcnMgcGVyIGN1c3RvbWVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCB3b3VsZCBleGNlZWQgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGNhY2hlIG5vZGVzIGluIGEgc2luZ2xlIGNhY2hlIGNsdXN0ZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb2RlUXVvdGFGb3JDbHVzdGVyRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCBjYW5ub3QgYmUgcHJvY2Vzc2VkIGJlY2F1c2UgaXQgd291bGQgZXhjZWVkIHRoZSBhbGxvd2VkIG51bWJlciBvZiBjYWNoZSBub2RlcyBwZXIgY3VzdG9tZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb2RlUXVvdGFGb3JDdXN0b21lckV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCBjYWNoZSBwYXJhbWV0ZXIgZ3JvdXAgbmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjYWNoZSBwYXJhbWV0ZXIgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDYWNoZVBhcmFtZXRlckdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgVlBDIG5ldHdvcmsgaXMgaW4gYW4gaW52YWxpZCBzdGF0ZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRWUENOZXR3b3JrU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgZm9yIGEgcGFyYW1ldGVyIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUd28gb3IgbW9yZSBpbmNvbXBhdGlibGUgcGFyYW1ldGVycyB3ZXJlIHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NhY2hlUGFyYW1ldGVyR3JvdXBXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVBhcmFtZXRlckdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVBhcmFtZXRlckdyb3VwRmFtaWx5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCB3b3VsZCBleGNlZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNhY2hlIHNlY3VyaXR5IGdyb3Vwcy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NhY2hlUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBjYWNoZSBwYXJhbWV0ZXIgZ3JvdXAgd2l0aCB0aGUgcmVxdWVzdGVkIG5hbWUgYWxyZWFkeSBleGlzdHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDYWNoZVBhcmFtZXRlckdyb3VwQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBjYWNoZSBwYXJhbWV0ZXIgZ3JvdXAgZG9lcyBub3QgYWxsb3cgdGhlIHJlcXVlc3RlZCBhY3Rpb24gdG8gb2NjdXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2FjaGVQYXJhbWV0ZXJHcm91cFN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHZhbHVlIGZvciBhIHBhcmFtZXRlciBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVHdvIG9yIG1vcmUgaW5jb21wYXRpYmxlIHBhcmFtZXRlcnMgd2VyZSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NhY2hlU2VjdXJpdHlHcm91cFdyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA2LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBIGNhY2hlIHNlY3VyaXR5IGdyb3VwIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGFscmVhZHkgZXhpc3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVTZWN1cml0eUdyb3VwQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCB3b3VsZCBleGNlZWQgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGNhY2hlIHNlY3VyaXR5IGdyb3Vwcy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NhY2hlU2VjdXJpdHlHcm91cFF1b3RhRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgZm9yIGEgcGFyYW1ldGVyIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUd28gb3IgbW9yZSBpbmNvbXBhdGlibGUgcGFyYW1ldGVycyB3ZXJlIHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUNhY2hlU3VibmV0R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NhY2hlU3VibmV0R3JvdXBXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVN1Ym5ldEdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVN1Ym5ldEdyb3VwRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3VibmV0SWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU3VibmV0SWRzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdWJuZXRJZGVudGlmaWVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgc3VibmV0IGdyb3VwIG5hbWUgaXMgYWxyZWFkeSBpbiB1c2UgYnkgYW4gZXhpc3RpbmcgY2FjaGUgc3VibmV0IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVTdWJuZXRHcm91cEFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCBjYW5ub3QgYmUgcHJvY2Vzc2VkIGJlY2F1c2UgaXQgd291bGQgZXhjZWVkIHRoZSBhbGxvd2VkIG51bWJlciBvZiBjYWNoZSBzdWJuZXQgZ3JvdXBzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVTdWJuZXRHcm91cFF1b3RhRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCBjYW5ub3QgYmUgcHJvY2Vzc2VkIGJlY2F1c2UgaXQgd291bGQgZXhjZWVkIHRoZSBhbGxvd2VkIG51bWJlciBvZiBzdWJuZXRzIGluIGEgY2FjaGUgc3VibmV0IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVTdWJuZXRRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW52YWxpZCBzdWJuZXQgaWRlbnRpZmllciB3YXMgc3BlY2lmaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFN1Ym5ldEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVJlcGxpY2F0aW9uR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1JlcGxpY2F0aW9uR3JvdXBXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlUmVwbGljYXRpb25Hcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXBsaWNhdGlvbkdyb3VwSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJpbWFyeUNsdXN0ZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXBsaWNhdGlvbkdyb3VwRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCBjYWNoZSBjbHVzdGVyIElEIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNhY2hlIGNsdXN0ZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDYWNoZUNsdXN0ZXJOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgY2x1c3RlciBpcyBub3QgaW4gdGhlIGF2YWlsYWJsZSBzdGF0ZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDYWNoZUNsdXN0ZXJTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgcmVwbGljYXRpb24gZ3JvdXAgYWxyZWFkeSBleGlzdHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB2YWx1ZSBmb3IgYSBwYXJhbWV0ZXIgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1R3byBvciBtb3JlIGluY29tcGF0aWJsZSBwYXJhbWV0ZXJzIHdlcmUgc3BlY2lmaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQ2FjaGVDbHVzdGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDYWNoZUNsdXN0ZXJXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlQ2FjaGVDbHVzdGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wNi0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlQ2x1c3RlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgY2x1c3RlciBJRCBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjYWNoZSBjbHVzdGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVDbHVzdGVyTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIGNhY2hlIGNsdXN0ZXIgaXMgbm90IGluIHRoZSBhdmFpbGFibGUgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2FjaGVDbHVzdGVyU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgZm9yIGEgcGFyYW1ldGVyIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUd28gb3IgbW9yZSBpbmNvbXBhdGlibGUgcGFyYW1ldGVycyB3ZXJlIHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVBhcmFtZXRlckdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgY2FjaGUgcGFyYW1ldGVyIGdyb3VwIGRvZXMgbm90IGFsbG93IHRoZSByZXF1ZXN0ZWQgYWN0aW9uIHRvIG9jY3VyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZENhY2hlUGFyYW1ldGVyR3JvdXBTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgcGFyYW1ldGVyIGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2FjaGUgcGFyYW1ldGVyIGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHZhbHVlIGZvciBhIHBhcmFtZXRlciBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVHdvIG9yIG1vcmUgaW5jb21wYXRpYmxlIHBhcmFtZXRlcnMgd2VyZSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wNi0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlU2VjdXJpdHlHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGNhY2hlIHNlY3VyaXR5IGdyb3VwIGRvZXMgbm90IGFsbG93IGRlbGV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZENhY2hlU2VjdXJpdHlHcm91cFN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCBjYWNoZSBzZWN1cml0eSBncm91cCBuYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNhY2hlIHNlY3VyaXR5IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVTZWN1cml0eUdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgZm9yIGEgcGFyYW1ldGVyIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUd28gb3IgbW9yZSBpbmNvbXBhdGlibGUgcGFyYW1ldGVycyB3ZXJlIHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUNhY2hlU3VibmV0R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlQ2FjaGVTdWJuZXRHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVN1Ym5ldEdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIGNhY2hlIHN1Ym5ldCBncm91cCBpcyBjdXJyZW50bHkgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVTdWJuZXRHcm91cEluVXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCBjYWNoZSBzdWJuZXQgZ3JvdXAgbmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjYWNoZSBzdWJuZXQgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDYWNoZVN1Ym5ldEdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVSZXBsaWNhdGlvbkdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdSZXBsaWNhdGlvbkdyb3VwV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZVJlcGxpY2F0aW9uR3JvdXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA2LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVwbGljYXRpb25Hcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgcmVwbGljYXRpb24gZ3JvdXAgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIHJlcGxpY2F0aW9uIGdyb3VwIGlzIG5vdCBpbiB0aGUgYXZhaWxhYmxlIHN0YXRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB2YWx1ZSBmb3IgYSBwYXJhbWV0ZXIgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1R3byBvciBtb3JlIGluY29tcGF0aWJsZSBwYXJhbWV0ZXJzIHdlcmUgc3BlY2lmaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVDYWNoZUNsdXN0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDYWNoZUNsdXN0ZXJNZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVDYWNoZUNsdXN0ZXJzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wNi0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlQ2x1c3RlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTaG93Q2FjaGVOb2RlSW5mbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgY2x1c3RlciBJRCBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjYWNoZSBjbHVzdGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVDbHVzdGVyTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgZm9yIGEgcGFyYW1ldGVyIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUd28gb3IgbW9yZSBpbmNvbXBhdGlibGUgcGFyYW1ldGVycyB3ZXJlIHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2FjaGVFbmdpbmVWZXJzaW9uTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9ucycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmdpbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVQYXJhbWV0ZXJHcm91cEZhbWlseScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVmYXVsdE9ubHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDYWNoZVBhcmFtZXRlckdyb3Vwc01lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wNi0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlUGFyYW1ldGVyR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIGNhY2hlIHBhcmFtZXRlciBncm91cCBuYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNhY2hlIHBhcmFtZXRlciBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NhY2hlUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB2YWx1ZSBmb3IgYSBwYXJhbWV0ZXIgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1R3byBvciBtb3JlIGluY29tcGF0aWJsZSBwYXJhbWV0ZXJzIHdlcmUgc3BlY2lmaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NhY2hlUGFyYW1ldGVyR3JvdXBEZXRhaWxzJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA2LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVQYXJhbWV0ZXJHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIGNhY2hlIHBhcmFtZXRlciBncm91cCBuYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNhY2hlIHBhcmFtZXRlciBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NhY2hlUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB2YWx1ZSBmb3IgYSBwYXJhbWV0ZXIgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1R3byBvciBtb3JlIGluY29tcGF0aWJsZSBwYXJhbWV0ZXJzIHdlcmUgc3BlY2lmaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDYWNoZVNlY3VyaXR5R3JvdXBNZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wNi0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlU2VjdXJpdHlHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhSZWNvcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgc2VjdXJpdHkgZ3JvdXAgbmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjYWNoZSBzZWN1cml0eSBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHZhbHVlIGZvciBhIHBhcmFtZXRlciBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVHdvIG9yIG1vcmUgaW5jb21wYXRpYmxlIHBhcmFtZXRlcnMgd2VyZSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDYWNoZVN1Ym5ldEdyb3VwTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA2LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVTdWJuZXRHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhSZWNvcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgc3VibmV0IGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2FjaGUgc3VibmV0IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVTdWJuZXRHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW5naW5lRGVmYXVsdHNXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVycycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVBhcmFtZXRlckdyb3VwRmFtaWx5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHZhbHVlIGZvciBhIHBhcmFtZXRlciBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVHdvIG9yIG1vcmUgaW5jb21wYXRpYmxlIHBhcmFtZXRlcnMgd2VyZSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUV2ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRXZlbnRzTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlRXZlbnRzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wNi0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTb3VyY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhcnRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5kVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdkYXRlLXRpbWUnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0R1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHZhbHVlIGZvciBhIHBhcmFtZXRlciBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVHdvIG9yIG1vcmUgaW5jb21wYXRpYmxlIHBhcmFtZXRlcnMgd2VyZSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdSZXBsaWNhdGlvbkdyb3VwTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlUmVwbGljYXRpb25Hcm91cHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA2LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVwbGljYXRpb25Hcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHJlcGxpY2F0aW9uIGdyb3VwIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHZhbHVlIGZvciBhIHBhcmFtZXRlciBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVHdvIG9yIG1vcmUgaW5jb21wYXRpYmxlIHBhcmFtZXRlcnMgd2VyZSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2RlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUmVzZXJ2ZWRDYWNoZU5vZGVNZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA2LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzZXJ2ZWRDYWNoZU5vZGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZU5vZGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcm9kdWN0RGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPZmZlcmluZ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhSZWNvcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgcmVzZXJ2ZWQgY2FjaGUgbm9kZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzZXJ2ZWRDYWNoZU5vZGVOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB2YWx1ZSBmb3IgYSBwYXJhbWV0ZXIgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1R3byBvciBtb3JlIGluY29tcGF0aWJsZSBwYXJhbWV0ZXJzIHdlcmUgc3BlY2lmaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1Jlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wNi0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZU5vZGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcm9kdWN0RGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPZmZlcmluZ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhSZWNvcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgbm9kZSBvZmZlcmluZyBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgZm9yIGEgcGFyYW1ldGVyIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUd28gb3IgbW9yZSBpbmNvbXBhdGlibGUgcGFyYW1ldGVycyB3ZXJlIHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ01vZGlmeUNhY2hlQ2x1c3RlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2FjaGVDbHVzdGVyV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ01vZGlmeUNhY2hlQ2x1c3RlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZUNsdXN0ZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOdW1DYWNoZU5vZGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlTm9kZUlkc1RvUmVtb3ZlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDYWNoZU5vZGVJZHNUb1JlbW92ZS5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2FjaGVOb2RlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVTZWN1cml0eUdyb3VwTmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NhY2hlU2VjdXJpdHlHcm91cE5hbWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZVNlY3VyaXR5R3JvdXBOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NlY3VyaXR5R3JvdXBJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1NlY3VyaXR5R3JvdXBJZHMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NlY3VyaXR5R3JvdXBJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05vdGlmaWNhdGlvblRvcGljQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVQYXJhbWV0ZXJHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOb3RpZmljYXRpb25Ub3BpY1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FwcGx5SW1tZWRpYXRlbHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXV0b01pbm9yVmVyc2lvblVwZ3JhZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIGNhY2hlIGNsdXN0ZXIgaXMgbm90IGluIHRoZSBhdmFpbGFibGUgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2FjaGVDbHVzdGVyU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgY2FjaGUgc2VjdXJpdHkgZ3JvdXAgZG9lcyBub3QgYWxsb3cgZGVsZXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2FjaGVTZWN1cml0eUdyb3VwU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIGNhY2hlIGNsdXN0ZXIgSUQgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2FjaGUgY2x1c3Rlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NhY2hlQ2x1c3Rlck5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3QgY2Fubm90IGJlIHByb2Nlc3NlZCBiZWNhdXNlIGl0IHdvdWxkIGV4Y2VlZCB0aGUgYWxsb3dlZCBudW1iZXIgb2YgY2FjaGUgbm9kZXMgaW4gYSBzaW5nbGUgY2FjaGUgY2x1c3Rlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vZGVRdW90YUZvckNsdXN0ZXJFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCB3b3VsZCBleGNlZWQgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGNhY2hlIG5vZGVzIHBlciBjdXN0b21lci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vZGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIGNhY2hlIHNlY3VyaXR5IGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2FjaGUgc2VjdXJpdHkgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDYWNoZVNlY3VyaXR5R3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgcGFyYW1ldGVyIGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2FjaGUgcGFyYW1ldGVyIGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIFZQQyBuZXR3b3JrIGlzIGluIGFuIGludmFsaWQgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkVlBDTmV0d29ya1N0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHZhbHVlIGZvciBhIHBhcmFtZXRlciBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVHdvIG9yIG1vcmUgaW5jb21wYXRpYmxlIHBhcmFtZXRlcnMgd2VyZSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDYWNoZVBhcmFtZXRlckdyb3VwTmFtZU1lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wNi0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlUGFyYW1ldGVyR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhcmFtZXRlck5hbWVWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdQYXJhbWV0ZXJOYW1lVmFsdWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQYXJhbWV0ZXJOYW1lVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlclZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgcGFyYW1ldGVyIGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2FjaGUgcGFyYW1ldGVyIGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGNhY2hlIHBhcmFtZXRlciBncm91cCBkb2VzIG5vdCBhbGxvdyB0aGUgcmVxdWVzdGVkIGFjdGlvbiB0byBvY2N1ci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDYWNoZVBhcmFtZXRlckdyb3VwU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgZm9yIGEgcGFyYW1ldGVyIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUd28gb3IgbW9yZSBpbmNvbXBhdGlibGUgcGFyYW1ldGVycyB3ZXJlIHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ01vZGlmeUNhY2hlU3VibmV0R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NhY2hlU3VibmV0R3JvdXBXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVN1Ym5ldEdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVN1Ym5ldEdyb3VwRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJuZXRJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1N1Ym5ldElkcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3VibmV0SWRlbnRpZmllcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIGNhY2hlIHN1Ym5ldCBncm91cCBuYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNhY2hlIHN1Ym5ldCBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NhY2hlU3VibmV0R3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCB3b3VsZCBleGNlZWQgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIHN1Ym5ldHMgaW4gYSBjYWNoZSBzdWJuZXQgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDYWNoZVN1Ym5ldFF1b3RhRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIHN1Ym5ldCBpcyBiZWluZyB1c2VkIGJ5IGFub3RoZXIgY2FjaGUgc3VibmV0IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU3VibmV0SW5Vc2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnZhbGlkIHN1Ym5ldCBpZGVudGlmaWVyIHdhcyBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkU3VibmV0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTW9kaWZ5UmVwbGljYXRpb25Hcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUmVwbGljYXRpb25Hcm91cFdyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdNb2RpZnlSZXBsaWNhdGlvbkdyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wNi0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcGxpY2F0aW9uR3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXBsaWNhdGlvbkdyb3VwRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVNlY3VyaXR5R3JvdXBOYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGVTZWN1cml0eUdyb3VwTmFtZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NhY2hlU2VjdXJpdHlHcm91cE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VjdXJpdHlHcm91cElkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2VjdXJpdHlHcm91cElkcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU2VjdXJpdHlHcm91cElkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTm90aWZpY2F0aW9uVG9waWNBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVBhcmFtZXRlckdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05vdGlmaWNhdGlvblRvcGljU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXBwbHlJbW1lZGlhdGVseScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuZ2luZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRvTWlub3JWZXJzaW9uVXBncmFkZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByaW1hcnlDbHVzdGVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHJlcGxpY2F0aW9uIGdyb3VwIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCByZXBsaWNhdGlvbiBncm91cCBpcyBub3QgaW4gdGhlIGF2YWlsYWJsZSBzdGF0ZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRSZXBsaWNhdGlvbkdyb3VwU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIGNhY2hlIGNsdXN0ZXIgaXMgbm90IGluIHRoZSBhdmFpbGFibGUgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2FjaGVDbHVzdGVyU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgY2FjaGUgc2VjdXJpdHkgZ3JvdXAgZG9lcyBub3QgYWxsb3cgZGVsZXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2FjaGVTZWN1cml0eUdyb3VwU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIGNhY2hlIGNsdXN0ZXIgSUQgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2FjaGUgY2x1c3Rlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NhY2hlQ2x1c3Rlck5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCBjYWNoZSBzZWN1cml0eSBncm91cCBuYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNhY2hlIHNlY3VyaXR5IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVTZWN1cml0eUdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIGNhY2hlIHBhcmFtZXRlciBncm91cCBuYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNhY2hlIHBhcmFtZXRlciBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NhY2hlUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBWUEMgbmV0d29yayBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB2YWx1ZSBmb3IgYSBwYXJhbWV0ZXIgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1R3byBvciBtb3JlIGluY29tcGF0aWJsZSBwYXJhbWV0ZXJzIHdlcmUgc3BlY2lmaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUmVzZXJ2ZWRDYWNoZU5vZGVXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkQ2FjaGVOb2RlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZU5vZGVDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIGNhY2hlIG5vZGUgb2ZmZXJpbmcgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ05vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyB1c2VyIGFscmVhZHkgaGFzIGEgcmVzZXJ2YXRpb24gd2l0aCB0aGUgZ2l2ZW4gaWRlbnRpZmllci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc2VydmVkQ2FjaGVOb2RlQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYmVjYXVzZSBpdCB3b3VsZCBleGNlZWQgdGhlIHVzZXJcJ3MgY2FjaGUgbm9kZSBxdW90YS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc2VydmVkQ2FjaGVOb2RlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB2YWx1ZSBmb3IgYSBwYXJhbWV0ZXIgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1R3byBvciBtb3JlIGluY29tcGF0aWJsZSBwYXJhbWV0ZXJzIHdlcmUgc3BlY2lmaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVib290Q2FjaGVDbHVzdGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDYWNoZUNsdXN0ZXJXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmVib290Q2FjaGVDbHVzdGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wNi0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlQ2x1c3RlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlTm9kZUlkc1RvUmVib290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGVOb2RlSWRzVG9SZWJvb3QubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NhY2hlTm9kZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgY2x1c3RlciBpcyBub3QgaW4gdGhlIGF2YWlsYWJsZSBzdGF0ZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDYWNoZUNsdXN0ZXJTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgY2x1c3RlciBJRCBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjYWNoZSBjbHVzdGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVDbHVzdGVyTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXNldENhY2hlUGFyYW1ldGVyR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NhY2hlUGFyYW1ldGVyR3JvdXBOYW1lTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1Jlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVBhcmFtZXRlckdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXNldEFsbFBhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJOYW1lVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUGFyYW1ldGVyTmFtZVZhbHVlcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGFyYW1ldGVyTmFtZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgY2FjaGUgcGFyYW1ldGVyIGdyb3VwIGRvZXMgbm90IGFsbG93IHRoZSByZXF1ZXN0ZWQgYWN0aW9uIHRvIG9jY3VyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZENhY2hlUGFyYW1ldGVyR3JvdXBTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgcGFyYW1ldGVyIGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2FjaGUgcGFyYW1ldGVyIGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHZhbHVlIGZvciBhIHBhcmFtZXRlciBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVHdvIG9yIG1vcmUgaW5jb21wYXRpYmxlIHBhcmFtZXRlcnMgd2VyZSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDYWNoZVNlY3VyaXR5R3JvdXBXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgY2FjaGUgc2VjdXJpdHkgZ3JvdXAgbmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjYWNoZSBzZWN1cml0eSBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBBbWF6b24gRUMyIHNlY3VyaXR5IGdyb3VwIGlzIG5vdCBhdXRob3JpemVkIGZvciB0aGUgc3BlY2lmaWVkIGNhY2hlIHNlY3VyaXR5IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXV0aG9yaXphdGlvbk5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGNhY2hlIHNlY3VyaXR5IGdyb3VwIGRvZXMgbm90IGFsbG93IGRlbGV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZENhY2hlU2VjdXJpdHlHcm91cFN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHZhbHVlIGZvciBhIHBhcmFtZXRlciBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVHdvIG9yIG1vcmUgaW5jb21wYXRpYmxlIHBhcmFtZXRlcnMgd2VyZSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICdDYWNoZVNlY3VyaXR5R3JvdXBXcmFwcGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDYWNoZVNlY3VyaXR5R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3dyYXBwZXInID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlU2VjdXJpdHlHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRUMyU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRUMyU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFQzJTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRUMyU2VjdXJpdHlHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRUMyU2VjdXJpdHlHcm91cE93bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NhY2hlQ2x1c3RlcldyYXBwZXInID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NhY2hlQ2x1c3RlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnd3JhcHBlcicgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlQ2x1c3RlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbmZpZ3VyYXRpb25FbmRwb2ludCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDbGllbnREb3dubG9hZExhbmRpbmdQYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlTm9kZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRW5naW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZ2luZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FjaGVDbHVzdGVyU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ051bUNhY2hlTm9kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZlcnJlZEF2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FjaGVDbHVzdGVyQ3JlYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQZW5kaW5nTW9kaWZpZWRWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOdW1DYWNoZU5vZGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZU5vZGVJZHNUb1JlbW92ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZU5vZGVJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGVOb2RlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZ2luZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOb3RpZmljYXRpb25Db25maWd1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVG9waWNBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVG9waWNTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZVNlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NhY2hlU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDYWNoZVNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlU2VjdXJpdHlHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlUGFyYW1ldGVyR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZVBhcmFtZXRlckdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJBcHBseVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZU5vZGVJZHNUb1JlYm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZU5vZGVJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGVOb2RlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FjaGVTdWJuZXRHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2FjaGVOb2RlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZU5vZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGVOb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZU5vZGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZU5vZGVTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FjaGVOb2RlQ3JlYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmRwb2ludCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJHcm91cFN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VDYWNoZU5vZGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBdXRvTWlub3JWZXJzaW9uVXBncmFkZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU2VjdXJpdHlHcm91cE1lbWJlcnNoaXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWN1cml0eUdyb3VwSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1JlcGxpY2F0aW9uR3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ2FjaGVQYXJhbWV0ZXJHcm91cFdyYXBwZXInID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NhY2hlUGFyYW1ldGVyR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3dyYXBwZXInID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZVBhcmFtZXRlckdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZVBhcmFtZXRlckdyb3VwRmFtaWx5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDYWNoZVN1Ym5ldEdyb3VwV3JhcHBlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ2FjaGVTdWJuZXRHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnd3JhcHBlcicgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlU3VibmV0R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlU3VibmV0R3JvdXBEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N1Ym5ldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTdWJuZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0QXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVwbGljYXRpb25Hcm91cFdyYXBwZXInID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlcGxpY2F0aW9uR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3dyYXBwZXInID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdSZXBsaWNhdGlvbkdyb3VwSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1BlbmRpbmdNb2RpZmllZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaW1hcnlDbHVzdGVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdNZW1iZXJDbHVzdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDbHVzdGVySWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2x1c3RlcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOb2RlR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ05vZGVHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdOb2RlR3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05vZGVHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmltYXJ5RW5kcG9pbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9kZUdyb3VwTWVtYmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOb2RlR3JvdXBNZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTm9kZUdyb3VwTWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZUNsdXN0ZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZU5vZGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWFkRW5kcG9pbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlZmVycmVkQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXJyZW50Um9sZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRW1wdHlPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICApLAogICAgICAgICdDYWNoZUNsdXN0ZXJNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZUNsdXN0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2FjaGVDbHVzdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGVDbHVzdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlQ2x1c3RlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbmZpZ3VyYXRpb25FbmRwb2ludCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NsaWVudERvd25sb2FkTGFuZGluZ1BhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FjaGVOb2RlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmdpbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5naW5lVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZUNsdXN0ZXJTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTnVtQ2FjaGVOb2RlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlZmVycmVkQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZUNsdXN0ZXJDcmVhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BlbmRpbmdNb2RpZmllZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ051bUNhY2hlTm9kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlTm9kZUlkc1RvUmVtb3ZlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NhY2hlTm9kZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NhY2hlTm9kZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb3RpZmljYXRpb25Db25maWd1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVG9waWNBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVG9waWNTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2FjaGVTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGVTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlU2VjdXJpdHlHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlUGFyYW1ldGVyR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZVBhcmFtZXRlckdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJBcHBseVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZU5vZGVJZHNUb1JlYm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZU5vZGVJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDYWNoZU5vZGVJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlU3VibmV0R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlTm9kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2FjaGVOb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGVOb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlTm9kZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlTm9kZVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZU5vZGVDcmVhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZHBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyR3JvdXBTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlQ2FjaGVOb2RlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXV0b01pbm9yVmVyc2lvblVwZ3JhZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NlY3VyaXR5R3JvdXBNZW1iZXJzaGlwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlY3VyaXR5R3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVwbGljYXRpb25Hcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NhY2hlRW5naW5lVmVyc2lvbk1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlRW5naW5lVmVyc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZUVuZ2luZVZlcnNpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDYWNoZUVuZ2luZVZlcnNpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5naW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZ2luZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FjaGVQYXJhbWV0ZXJHcm91cEZhbWlseScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZUVuZ2luZURlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlRW5naW5lVmVyc2lvbkRlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NhY2hlUGFyYW1ldGVyR3JvdXBzTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVQYXJhbWV0ZXJHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZVBhcmFtZXRlckdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGVQYXJhbWV0ZXJHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZVBhcmFtZXRlckdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZVBhcmFtZXRlckdyb3VwRmFtaWx5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NhY2hlUGFyYW1ldGVyR3JvdXBEZXRhaWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RhdGFUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93ZWRWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXNNb2RpZmlhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5pbXVtRW5naW5lVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZU5vZGVUeXBlU3BlY2lmaWNQYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2FjaGVOb2RlVHlwZVNwZWNpZmljUGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGVOb2RlVHlwZVNwZWNpZmljUGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RhdGFUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93ZWRWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXNNb2RpZmlhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5pbXVtRW5naW5lVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZU5vZGVUeXBlU3BlY2lmaWNWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2FjaGVOb2RlVHlwZVNwZWNpZmljVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDYWNoZU5vZGVUeXBlU3BlY2lmaWNWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZU5vZGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NhY2hlU2VjdXJpdHlHcm91cE1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZVNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDYWNoZVNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3duZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZVNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0VDMlNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFQzJTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFQzJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFQzJTZWN1cml0eUdyb3VwT3duZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDYWNoZVN1Ym5ldEdyb3VwTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVTdWJuZXRHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZVN1Ym5ldEdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGVTdWJuZXRHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZVN1Ym5ldEdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZVN1Ym5ldEdyb3VwRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdWJuZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTdWJuZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0SWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRW5naW5lRGVmYXVsdHNXcmFwcGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdFbmdpbmVEZWZhdWx0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnd3JhcHBlcicgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlUGFyYW1ldGVyR3JvdXBGYW1pbHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1BhcmFtZXRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0YVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJc01vZGlmaWFibGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pbmltdW1FbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlTm9kZVR5cGVTcGVjaWZpY1BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2FjaGVOb2RlVHlwZVNwZWNpZmljUGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NhY2hlTm9kZVR5cGVTcGVjaWZpY1BhcmFtZXRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0YVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJc01vZGlmaWFibGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pbmltdW1FbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlTm9kZVR5cGVTcGVjaWZpY1ZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDYWNoZU5vZGVUeXBlU3BlY2lmaWNWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDYWNoZU5vZGVUeXBlU3BlY2lmaWNWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FjaGVOb2RlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRXZlbnRzTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXZlbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRXZlbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFdmVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlcGxpY2F0aW9uR3JvdXBNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXBsaWNhdGlvbkdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1JlcGxpY2F0aW9uR3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZXBsaWNhdGlvbkdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlcGxpY2F0aW9uR3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVuZGluZ01vZGlmaWVkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpbWFyeUNsdXN0ZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVtYmVyQ2x1c3RlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2x1c3RlcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2x1c3RlcklkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb2RlR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ05vZGVHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ05vZGVHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb2RlR3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpbWFyeUVuZHBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9kZUdyb3VwTWVtYmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOb2RlR3JvdXBNZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdOb2RlR3JvdXBNZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FjaGVDbHVzdGVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FjaGVOb2RlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVhZEVuZHBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlZmVycmVkQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXJyZW50Um9sZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXNlcnZlZENhY2hlTm9kZU1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkQ2FjaGVOb2RlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Jlc2VydmVkQ2FjaGVOb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUmVzZXJ2ZWRDYWNoZU5vZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzZXJ2ZWRDYWNoZU5vZGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlTm9kZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhcnRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0R1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGaXhlZFByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVc2FnZVByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZU5vZGVDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZHVjdERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09mZmVyaW5nVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWN1cnJpbmdDaGFyZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1JlY3VycmluZ0NoYXJnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1JlY3VycmluZ0NoYXJnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWN1cnJpbmdDaGFyZ2VBbW91bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlY3VycmluZ0NoYXJnZUZyZXF1ZW5jeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Jlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZU5vZGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0R1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGaXhlZFByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVc2FnZVByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9kdWN0RGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT2ZmZXJpbmdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlY3VycmluZ0NoYXJnZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUmVjdXJyaW5nQ2hhcmdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUmVjdXJyaW5nQ2hhcmdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlY3VycmluZ0NoYXJnZUFtb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVjdXJyaW5nQ2hhcmdlRnJlcXVlbmN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NhY2hlUGFyYW1ldGVyR3JvdXBOYW1lTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ2FjaGVQYXJhbWV0ZXJHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXNlcnZlZENhY2hlTm9kZVdyYXBwZXInID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkQ2FjaGVOb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3cmFwcGVyJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUmVzZXJ2ZWRDYWNoZU5vZGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlTm9kZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhcnRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0R1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdGaXhlZFByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdVc2FnZVByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDYWNoZU5vZGVDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJvZHVjdERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ09mZmVyaW5nVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSZWN1cnJpbmdDaGFyZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1JlY3VycmluZ0NoYXJnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZWN1cnJpbmdDaGFyZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlY3VycmluZ0NoYXJnZUFtb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVjdXJyaW5nQ2hhcmdlRnJlcXVlbmN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdpdGVyYXRvcnMnID0+IGFycmF5KAogICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ0Rlc2NyaWJlQ2FjaGVDbHVzdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0NhY2hlQ2x1c3RlcnMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnQ2FjaGVFbmdpbmVWZXJzaW9ucycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnQ2FjaGVQYXJhbWV0ZXJHcm91cHMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heFJlY29yZHMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdQYXJhbWV0ZXJzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0NhY2hlU2VjdXJpdHlHcm91cHMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0NhY2hlU3VibmV0R3JvdXBzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heFJlY29yZHMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdQYXJhbWV0ZXJzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlRXZlbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnRXZlbnRzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlUmVwbGljYXRpb25Hcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heFJlY29yZHMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdSZXBsaWNhdGlvbkdyb3VwcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2RlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1Jlc2VydmVkQ2FjaGVOb2RlcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1Jlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5ncycsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/ElasticBeanstalkClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsazsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxBYnN0cmFjdENsaWVudDsKdXNlIEF3c1xDb21tb25cQ2xpZW50XENsaWVudEJ1aWxkZXI7CnVzZSBBd3NcQ29tbW9uXEVudW1cQ2xpZW50T3B0aW9ucyBhcyBPcHRpb25zOwp1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlOwoKLyoqCiAqIENsaWVudCB0byBpbnRlcmFjdCB3aXRoIEFXUyBFbGFzdGljIEJlYW5zdGFsawogKgogKiBAbWV0aG9kIE1vZGVsIGNoZWNrRE5TQXZhaWxhYmlsaXR5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgQ2hlY2tETlNBdmFpbGFiaWxpdHl9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlQXBwbGljYXRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0JlYW5zdGFsayBDcmVhdGVBcHBsaWNhdGlvbn0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVBcHBsaWNhdGlvblZlcnNpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0JlYW5zdGFsayBDcmVhdGVBcHBsaWNhdGlvblZlcnNpb259CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlQ29uZmlndXJhdGlvblRlbXBsYXRlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgQ3JlYXRlQ29uZmlndXJhdGlvblRlbXBsYXRlfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZUVudmlyb25tZW50KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgQ3JlYXRlRW52aXJvbm1lbnR9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlU3RvcmFnZUxvY2F0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgQ3JlYXRlU3RvcmFnZUxvY2F0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUFwcGxpY2F0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgRGVsZXRlQXBwbGljYXRpb259CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlQXBwbGljYXRpb25WZXJzaW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgRGVsZXRlQXBwbGljYXRpb25WZXJzaW9ufQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUNvbmZpZ3VyYXRpb25UZW1wbGF0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljQmVhbnN0YWxrIERlbGV0ZUNvbmZpZ3VyYXRpb25UZW1wbGF0ZX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVFbnZpcm9ubWVudENvbmZpZ3VyYXRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0JlYW5zdGFsayBEZWxldGVFbnZpcm9ubWVudENvbmZpZ3VyYXRpb259CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVBcHBsaWNhdGlvblZlcnNpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgRGVzY3JpYmVBcHBsaWNhdGlvblZlcnNpb25zfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlQXBwbGljYXRpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgRGVzY3JpYmVBcHBsaWNhdGlvbnN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVDb25maWd1cmF0aW9uT3B0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljQmVhbnN0YWxrIERlc2NyaWJlQ29uZmlndXJhdGlvbk9wdGlvbnN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVDb25maWd1cmF0aW9uU2V0dGluZ3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0JlYW5zdGFsayBEZXNjcmliZUNvbmZpZ3VyYXRpb25TZXR0aW5nc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUVudmlyb25tZW50UmVzb3VyY2VzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgRGVzY3JpYmVFbnZpcm9ubWVudFJlc291cmNlc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUVudmlyb25tZW50cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljQmVhbnN0YWxrIERlc2NyaWJlRW52aXJvbm1lbnRzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlRXZlbnRzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgRGVzY3JpYmVFdmVudHN9CiAqIEBtZXRob2QgTW9kZWwgbGlzdEF2YWlsYWJsZVNvbHV0aW9uU3RhY2tzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgTGlzdEF2YWlsYWJsZVNvbHV0aW9uU3RhY2tzfQogKiBAbWV0aG9kIE1vZGVsIHJlYnVpbGRFbnZpcm9ubWVudChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljQmVhbnN0YWxrIFJlYnVpbGRFbnZpcm9ubWVudH0KICogQG1ldGhvZCBNb2RlbCByZXF1ZXN0RW52aXJvbm1lbnRJbmZvKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgUmVxdWVzdEVudmlyb25tZW50SW5mb30KICogQG1ldGhvZCBNb2RlbCByZXN0YXJ0QXBwU2VydmVyKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgUmVzdGFydEFwcFNlcnZlcn0KICogQG1ldGhvZCBNb2RlbCByZXRyaWV2ZUVudmlyb25tZW50SW5mbyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljQmVhbnN0YWxrIFJldHJpZXZlRW52aXJvbm1lbnRJbmZvfQogKiBAbWV0aG9kIE1vZGVsIHN3YXBFbnZpcm9ubWVudENOQU1FcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljQmVhbnN0YWxrIFN3YXBFbnZpcm9ubWVudENOQU1Fc30KICogQG1ldGhvZCBNb2RlbCB0ZXJtaW5hdGVFbnZpcm9ubWVudChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljQmVhbnN0YWxrIFRlcm1pbmF0ZUVudmlyb25tZW50fQogKiBAbWV0aG9kIE1vZGVsIHVwZGF0ZUFwcGxpY2F0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgVXBkYXRlQXBwbGljYXRpb259CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlQXBwbGljYXRpb25WZXJzaW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgVXBkYXRlQXBwbGljYXRpb25WZXJzaW9ufQogKiBAbWV0aG9kIE1vZGVsIHVwZGF0ZUNvbmZpZ3VyYXRpb25UZW1wbGF0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljQmVhbnN0YWxrIFVwZGF0ZUNvbmZpZ3VyYXRpb25UZW1wbGF0ZX0KICogQG1ldGhvZCBNb2RlbCB1cGRhdGVFbnZpcm9ubWVudChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljQmVhbnN0YWxrIFVwZGF0ZUVudmlyb25tZW50fQogKiBAbWV0aG9kIE1vZGVsIHZhbGlkYXRlQ29uZmlndXJhdGlvblNldHRpbmdzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNCZWFuc3RhbGsgVmFsaWRhdGVDb25maWd1cmF0aW9uU2V0dGluZ3N9CiAqIEBtZXRob2Qgd2FpdFVudGlsRW52aXJvbm1lbnRSZWFkeShhcnJheSAkaW5wdXQpIFdhaXQgdXNpbmcgdGhlIEVudmlyb25tZW50UmVhZHkgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVFbnZpcm9ubWVudHMgb3BlcmF0aW9uIGFuZCB3YWl0ZXIgc3BlY2lmaWMgc2V0dGluZ3MKICogQG1ldGhvZCB3YWl0VW50aWxFbnZpcm9ubWVudFRlcm1pbmF0ZWQoYXJyYXkgJGlucHV0KSBXYWl0IHVzaW5nIHRoZSBFbnZpcm9ubWVudFRlcm1pbmF0ZWQgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVFbnZpcm9ubWVudHMgb3BlcmF0aW9uIGFuZCB3YWl0ZXIgc3BlY2lmaWMgc2V0dGluZ3MKICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQXBwbGljYXRpb25WZXJzaW9uc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlQXBwbGljYXRpb25WZXJzaW9ucyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQXBwbGljYXRpb25zSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVBcHBsaWNhdGlvbnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUNvbmZpZ3VyYXRpb25PcHRpb25zSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVDb25maWd1cmF0aW9uT3B0aW9ucyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlRW52aXJvbm1lbnRzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVFbnZpcm9ubWVudHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUV2ZW50c0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlRXZlbnRzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdEF2YWlsYWJsZVNvbHV0aW9uU3RhY2tzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdEF2YWlsYWJsZVNvbHV0aW9uU3RhY2tzIG9wZXJhdGlvbgogKgogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3Qvc2VydmljZS1lbGFzdGljYmVhbnN0YWxrLmh0bWwgVXNlciBndWlkZQogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkVsYXN0aWNCZWFuc3RhbGsuRWxhc3RpY0JlYW5zdGFsa0NsaWVudC5odG1sIEFQSSBkb2NzCiAqLwpjbGFzcyBFbGFzdGljQmVhbnN0YWxrQ2xpZW50IGV4dGVuZHMgQWJzdHJhY3RDbGllbnQKewogICAgY29uc3QgTEFURVNUX0FQSV9WRVJTSU9OID0gJzIwMTAtMTItMDEnOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEFXUyBFbGFzdGljIEJlYW5zdGFsayBjbGllbnQgdXNpbmcgYW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBvcHRpb25zLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICRjb25maWcgQ2xpZW50IGNvbmZpZ3VyYXRpb24gZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQHNlZSBcQXdzXENvbW1vblxDbGllbnRcRGVmYXVsdENsaWVudCBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBjb25maWd1cmF0aW9uIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KF9fTkFNRVNQQUNFX18pCiAgICAgICAgICAgIC0+c2V0Q29uZmlnKCRjb25maWcpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnRGVmYXVsdHMoYXJyYXkoCiAgICAgICAgICAgICAgICBPcHRpb25zOjpWRVJTSU9OICAgICAgICAgICAgID0+IHNlbGY6OkxBVEVTVF9BUElfVkVSU0lPTiwKICAgICAgICAgICAgICAgIE9wdGlvbnM6OlNFUlZJQ0VfREVTQ1JJUFRJT04gPT4gX19ESVJfXyAuICcvUmVzb3VyY2VzL2VsYXN0aWNiZWFuc3RhbGstJXMucGhwJwogICAgICAgICAgICApKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Enum/ConfigurationDeploymentStatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIENvbmZpZ3VyYXRpb25EZXBsb3ltZW50U3RhdHVzIHZhbHVlcwogKi8KY2xhc3MgQ29uZmlndXJhdGlvbkRlcGxveW1lbnRTdGF0dXMgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IERFUExPWUVEID0gJ2RlcGxveWVkJzsKICAgIGNvbnN0IFBFTkRJTkcgPSAncGVuZGluZyc7CiAgICBjb25zdCBGQUlMRUQgPSAnZmFpbGVkJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Enum/ConfigurationOptionValueType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIENvbmZpZ3VyYXRpb25PcHRpb25WYWx1ZVR5cGUgdmFsdWVzCiAqLwpjbGFzcyBDb25maWd1cmF0aW9uT3B0aW9uVmFsdWVUeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBTQ0FMQVJfVFlQRSA9ICdTY2FsYXInOwogICAgY29uc3QgTElTVF9UWVBFID0gJ0xpc3QnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Enum/EnvironmentHealth.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIEVudmlyb25tZW50SGVhbHRoIHZhbHVlcwogKi8KY2xhc3MgRW52aXJvbm1lbnRIZWFsdGggZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEdSRUVOID0gJ0dyZWVuJzsKICAgIGNvbnN0IFlFTExPVyA9ICdZZWxsb3cnOwogICAgY29uc3QgUkVEID0gJ1JlZCc7CiAgICBjb25zdCBHUkVZID0gJ0dyZXknOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Enum/EnvironmentInfoType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIEVudmlyb25tZW50SW5mb1R5cGUgdmFsdWVzCiAqLwpjbGFzcyBFbnZpcm9ubWVudEluZm9UeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBUQUlMID0gJ3RhaWwnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Enum/EnvironmentStatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIEVudmlyb25tZW50U3RhdHVzIHZhbHVlcwogKi8KY2xhc3MgRW52aXJvbm1lbnRTdGF0dXMgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IExBVU5DSElORyA9ICdMYXVuY2hpbmcnOwogICAgY29uc3QgVVBEQVRJTkcgPSAnVXBkYXRpbmcnOwogICAgY29uc3QgUkVBRFkgPSAnUmVhZHknOwogICAgY29uc3QgVEVSTUlOQVRJTkcgPSAnVGVybWluYXRpbmcnOwogICAgY29uc3QgVEVSTUlOQVRFRCA9ICdUZXJtaW5hdGVkJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Enum/EventSeverity.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIEV2ZW50U2V2ZXJpdHkgdmFsdWVzCiAqLwpjbGFzcyBFdmVudFNldmVyaXR5IGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBUUkFDRSA9ICdUUkFDRSc7CiAgICBjb25zdCBERUJVRyA9ICdERUJVRyc7CiAgICBjb25zdCBJTkZPID0gJ0lORk8nOwogICAgY29uc3QgV0FSTiA9ICdXQVJOJzsKICAgIGNvbnN0IEVSUk9SID0gJ0VSUk9SJzsKICAgIGNvbnN0IEZBVEFMID0gJ0ZBVEFMJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Enum/ValidationSeverity.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIFZhbGlkYXRpb25TZXZlcml0eSB2YWx1ZXMKICovCmNsYXNzIFZhbGlkYXRpb25TZXZlcml0eSBleHRlbmRzIEVudW0KewogICAgY29uc3QgRVJST1IgPSAnZXJyb3InOwogICAgY29uc3QgV0FSTklORyA9ICd3YXJuaW5nJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Exception/ElasticBeanstalkException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFeGNlcHRpb247Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uOwoKLyoqCiAqIERlZmF1bHQgc2VydmljZSBleGNlcHRpb24gY2xhc3MKICovCmNsYXNzIEVsYXN0aWNCZWFuc3RhbGtFeGNlcHRpb24gZXh0ZW5kcyBTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Exception/InsufficientPrivilegesException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFeGNlcHRpb247CgovKioKICogVW5hYmxlIHRvIHBlcmZvcm0gdGhlIHNwZWNpZmllZCBvcGVyYXRpb24gYmVjYXVzZSB0aGUgdXNlciBkb2VzIG5vdCBoYXZlIGVub3VnaCBwcml2aWxlZ2VzIGZvciBvbmUgb2YgbW9yZSBkb3duc3RyZWFtIGF3cyBzZXJ2aWNlcwogKi8KY2xhc3MgSW5zdWZmaWNpZW50UHJpdmlsZWdlc0V4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aWNCZWFuc3RhbGtFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Exception/OperationInProgressException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFeGNlcHRpb247CgovKioKICogVW5hYmxlIHRvIHBlcmZvcm0gdGhlIHNwZWNpZmllZCBvcGVyYXRpb24gYmVjYXVzZSBhbm90aGVyIG9wZXJhdGlvbiBpcyBhbHJlYWR5IGluIHByb2dyZXNzIGFmZmVjdGluZyBhbiBhbiBlbGVtZW50IGluIHRoaXMgYWN0aXZpdHkuCiAqLwpjbGFzcyBPcGVyYXRpb25JblByb2dyZXNzRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY0JlYW5zdGFsa0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Exception/S3LocationNotInServiceRegionException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFeGNlcHRpb247CgovKioKICogVGhlIHNwZWNpZmllZCBTMyBidWNrZXQgZG9lcyBub3QgYmVsb25nIHRvIHRoZSBTMyByZWdpb24gaW4gd2hpY2ggdGhlIHNlcnZpY2UgaXMgcnVubmluZy4KICovCmNsYXNzIFMzTG9jYXRpb25Ob3RJblNlcnZpY2VSZWdpb25FeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGljQmVhbnN0YWxrRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Exception/S3SubscriptionRequiredException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFeGNlcHRpb247CgovKioKICogVGhlIGNhbGxlciBkb2VzIG5vdCBoYXZlIGEgc3Vic2NyaXB0aW9uIHRvIEFtYXpvbiBTMy4KICovCmNsYXNzIFMzU3Vic2NyaXB0aW9uUmVxdWlyZWRFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGljQmVhbnN0YWxrRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Exception/SourceBundleDeletionException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFeGNlcHRpb247CgovKioKICogVW5hYmxlIHRvIGRlbGV0ZSB0aGUgQW1hem9uIFMzIHNvdXJjZSBidW5kbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBhcHBsaWNhdGlvbiB2ZXJzaW9uLCBhbHRob3VnaCB0aGUgYXBwbGljYXRpb24gdmVyc2lvbiBkZWxldGVkIHN1Y2Nlc3NmdWxseS4KICovCmNsYXNzIFNvdXJjZUJ1bmRsZURlbGV0aW9uRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY0JlYW5zdGFsa0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Exception/TooManyApplicationsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFeGNlcHRpb247CgovKioKICogVGhlIGNhbGxlciBoYXMgZXhjZWVkZWQgdGhlIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgYXBwbGljYXRpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGVpciBhY2NvdW50LgogKi8KY2xhc3MgVG9vTWFueUFwcGxpY2F0aW9uc0V4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aWNCZWFuc3RhbGtFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Exception/TooManyApplicationVersionsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFeGNlcHRpb247CgovKioKICogVGhlIGNhbGxlciBoYXMgZXhjZWVkZWQgdGhlIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgYXBwbGljYXRpb24gdmVyc2lvbnMgYXNzb2NpYXRlZCB3aXRoIHRoZWlyIGFjY291bnQuCiAqLwpjbGFzcyBUb29NYW55QXBwbGljYXRpb25WZXJzaW9uc0V4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aWNCZWFuc3RhbGtFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Exception/TooManyBucketsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFeGNlcHRpb247CgovKioKICogVGhlIHdlYiBzZXJ2aWNlIGF0dGVtcHRlZCB0byBjcmVhdGUgYSBidWNrZXQgaW4gYW4gQW1hem9uIFMzIGFjY291bnQgdGhhdCBhbHJlYWR5IGhhcyAxMDAgYnVja2V0cy4KICovCmNsYXNzIFRvb01hbnlCdWNrZXRzRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY0JlYW5zdGFsa0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Exception/TooManyConfigurationTemplatesException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFeGNlcHRpb247CgovKioKICogVGhlIGNhbGxlciBoYXMgZXhjZWVkZWQgdGhlIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgY29uZmlndXJhdGlvbiB0ZW1wbGF0ZXMgYXNzb2NpYXRlZCB3aXRoIHRoZWlyIGFjY291bnQuCiAqLwpjbGFzcyBUb29NYW55Q29uZmlndXJhdGlvblRlbXBsYXRlc0V4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aWNCZWFuc3RhbGtFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Exception/TooManyEnvironmentsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFeGNlcHRpb247CgovKioKICogVGhlIGNhbGxlciBoYXMgZXhjZWVkZWQgdGhlIGxpbWl0IG9mIGFsbG93ZWQgZW52aXJvbm1lbnRzIGFzc29jaWF0ZWQgd2l0aCB0aGUgYWNjb3VudC4KICovCmNsYXNzIFRvb01hbnlFbnZpcm9ubWVudHNFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGljQmVhbnN0YWxrRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticBeanstalk/Resources/elasticbeanstalk-2010-12-01.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTAtMTItMDEnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnZWxhc3RpY2JlYW5zdGFsaycsCiAgICAnc2VydmljZUZ1bGxOYW1lJyA9PiAnQVdTIEVsYXN0aWMgQmVhbnN0YWxrJywKICAgICdzZXJ2aWNlQWJicmV2aWF0aW9uJyA9PiAnRWxhc3RpYyBCZWFuc3RhbGsnLAogICAgJ3NlcnZpY2VUeXBlJyA9PiAncXVlcnknLAogICAgJ3Jlc3VsdFdyYXBwZWQnID0+IHRydWUsCiAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3Y0JywKICAgICduYW1lc3BhY2UnID0+ICdFbGFzdGljQmVhbnN0YWxrJywKICAgICdyZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAndXMtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VsYXN0aWNiZWFuc3RhbGsudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljYmVhbnN0YWxrLnVzLXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWxhc3RpY2JlYW5zdGFsay51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnZXUtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VsYXN0aWNiZWFuc3RhbGsuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLW5vcnRoZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VsYXN0aWNiZWFuc3RhbGsuYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWxhc3RpY2JlYW5zdGFsay5hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljYmVhbnN0YWxrLmFwLXNvdXRoZWFzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3NhLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljYmVhbnN0YWxrLnNhLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQ2hlY2tETlNBdmFpbGFiaWxpdHknID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NoZWNrRE5TQXZhaWxhYmlsaXR5UmVzdWx0TWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NoZWNrRE5TQXZhaWxhYmlsaXR5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NOQU1FUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2MywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlQXBwbGljYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0FwcGxpY2F0aW9uRGVzY3JpcHRpb25NZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlQXBwbGljYXRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXBwbGljYXRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBjYWxsZXIgaGFzIGV4Y2VlZGVkIHRoZSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIGFwcGxpY2F0aW9ucyBhc3NvY2lhdGVkIHdpdGggdGhlaXIgYWNjb3VudC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlBcHBsaWNhdGlvbnNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVBcHBsaWNhdGlvblZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0FwcGxpY2F0aW9uVmVyc2lvbkRlc2NyaXB0aW9uTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZUFwcGxpY2F0aW9uVmVyc2lvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBcHBsaWNhdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbkxhYmVsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZUJ1bmRsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUzNCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUzNLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRvQ3JlYXRlQXBwbGljYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgY2FsbGVyIGhhcyBleGNlZWRlZCB0aGUgbGltaXQgb24gdGhlIG51bWJlciBvZiBhcHBsaWNhdGlvbnMgYXNzb2NpYXRlZCB3aXRoIHRoZWlyIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55QXBwbGljYXRpb25zRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGNhbGxlciBoYXMgZXhjZWVkZWQgdGhlIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgYXBwbGljYXRpb24gdmVyc2lvbnMgYXNzb2NpYXRlZCB3aXRoIHRoZWlyIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55QXBwbGljYXRpb25WZXJzaW9uc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1VuYWJsZSB0byBwZXJmb3JtIHRoZSBzcGVjaWZpZWQgb3BlcmF0aW9uIGJlY2F1c2UgdGhlIHVzZXIgZG9lcyBub3QgaGF2ZSBlbm91Z2ggcHJpdmlsZWdlcyBmb3Igb25lIG9mIG1vcmUgZG93bnN0cmVhbSBhd3Mgc2VydmljZXMnLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luc3VmZmljaWVudFByaXZpbGVnZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIFMzIGJ1Y2tldCBkb2VzIG5vdCBiZWxvbmcgdG8gdGhlIFMzIHJlZ2lvbiBpbiB3aGljaCB0aGUgc2VydmljZSBpcyBydW5uaW5nLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUzNMb2NhdGlvbk5vdEluU2VydmljZVJlZ2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUNvbmZpZ3VyYXRpb25UZW1wbGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ29uZmlndXJhdGlvblNldHRpbmdzRGVzY3JpcHRpb24nLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVDb25maWd1cmF0aW9uVGVtcGxhdGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXBwbGljYXRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RlbXBsYXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTb2x1dGlvblN0YWNrTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTb3VyY2VDb25maWd1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBcHBsaWNhdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RlbXBsYXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Vudmlyb25tZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcHRpb25TZXR0aW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnT3B0aW9uU2V0dGluZ3MubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NvbmZpZ3VyYXRpb25PcHRpb25TZXR0aW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZXNwYWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVW5hYmxlIHRvIHBlcmZvcm0gdGhlIHNwZWNpZmllZCBvcGVyYXRpb24gYmVjYXVzZSB0aGUgdXNlciBkb2VzIG5vdCBoYXZlIGVub3VnaCBwcml2aWxlZ2VzIGZvciBvbmUgb2YgbW9yZSBkb3duc3RyZWFtIGF3cyBzZXJ2aWNlcycsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5zdWZmaWNpZW50UHJpdmlsZWdlc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBjYWxsZXIgaGFzIGV4Y2VlZGVkIHRoZSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIGNvbmZpZ3VyYXRpb24gdGVtcGxhdGVzIGFzc29jaWF0ZWQgd2l0aCB0aGVpciBhY2NvdW50LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueUNvbmZpZ3VyYXRpb25UZW1wbGF0ZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVFbnZpcm9ubWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW52aXJvbm1lbnREZXNjcmlwdGlvbicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZUVudmlyb25tZW50JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FwcGxpY2F0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbnZpcm9ubWVudE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA0LAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIzLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDTkFNRVByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2MywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb25MYWJlbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RlbXBsYXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvbHV0aW9uU3RhY2tOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ09wdGlvblNldHRpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPcHRpb25TZXR0aW5ncy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ29uZmlndXJhdGlvbk9wdGlvblNldHRpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lc3BhY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcHRpb25zVG9SZW1vdmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ09wdGlvbnNUb1JlbW92ZS5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnT3B0aW9uU3BlY2lmaWNhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWVzcGFjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBjYWxsZXIgaGFzIGV4Y2VlZGVkIHRoZSBsaW1pdCBvZiBhbGxvd2VkIGVudmlyb25tZW50cyBhc3NvY2lhdGVkIHdpdGggdGhlIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55RW52aXJvbm1lbnRzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVW5hYmxlIHRvIHBlcmZvcm0gdGhlIHNwZWNpZmllZCBvcGVyYXRpb24gYmVjYXVzZSB0aGUgdXNlciBkb2VzIG5vdCBoYXZlIGVub3VnaCBwcml2aWxlZ2VzIGZvciBvbmUgb2YgbW9yZSBkb3duc3RyZWFtIGF3cyBzZXJ2aWNlcycsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5zdWZmaWNpZW50UHJpdmlsZWdlc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVN0b3JhZ2VMb2NhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ3JlYXRlU3RvcmFnZUxvY2F0aW9uUmVzdWx0TWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZVN0b3JhZ2VMb2NhdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgd2ViIHNlcnZpY2UgYXR0ZW1wdGVkIHRvIGNyZWF0ZSBhIGJ1Y2tldCBpbiBhbiBBbWF6b24gUzMgYWNjb3VudCB0aGF0IGFscmVhZHkgaGFzIDEwMCBidWNrZXRzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueUJ1Y2tldHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgY2FsbGVyIGRvZXMgbm90IGhhdmUgYSBzdWJzY3JpcHRpb24gdG8gQW1hem9uIFMzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUzNTdWJzY3JpcHRpb25SZXF1aXJlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1VuYWJsZSB0byBwZXJmb3JtIHRoZSBzcGVjaWZpZWQgb3BlcmF0aW9uIGJlY2F1c2UgdGhlIHVzZXIgZG9lcyBub3QgaGF2ZSBlbm91Z2ggcHJpdmlsZWdlcyBmb3Igb25lIG9mIG1vcmUgZG93bnN0cmVhbSBhd3Mgc2VydmljZXMnLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luc3VmZmljaWVudFByaXZpbGVnZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVBcHBsaWNhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVBcHBsaWNhdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBcHBsaWNhdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGVybWluYXRlRW52QnlGb3JjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1VuYWJsZSB0byBwZXJmb3JtIHRoZSBzcGVjaWZpZWQgb3BlcmF0aW9uIGJlY2F1c2UgYW5vdGhlciBvcGVyYXRpb24gaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyBhZmZlY3RpbmcgYW4gYW4gZWxlbWVudCBpbiB0aGlzIGFjdGl2aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT3BlcmF0aW9uSW5Qcm9ncmVzc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUFwcGxpY2F0aW9uVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVBcHBsaWNhdGlvblZlcnNpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXBwbGljYXRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb25MYWJlbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZWxldGVTb3VyY2VCdW5kbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdVbmFibGUgdG8gZGVsZXRlIHRoZSBBbWF6b24gUzMgc291cmNlIGJ1bmRsZSBhc3NvY2lhdGVkIHdpdGggdGhlIGFwcGxpY2F0aW9uIHZlcnNpb24sIGFsdGhvdWdoIHRoZSBhcHBsaWNhdGlvbiB2ZXJzaW9uIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU291cmNlQnVuZGxlRGVsZXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdVbmFibGUgdG8gcGVyZm9ybSB0aGUgc3BlY2lmaWVkIG9wZXJhdGlvbiBiZWNhdXNlIHRoZSB1c2VyIGRvZXMgbm90IGhhdmUgZW5vdWdoIHByaXZpbGVnZXMgZm9yIG9uZSBvZiBtb3JlIGRvd25zdHJlYW0gYXdzIHNlcnZpY2VzJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnN1ZmZpY2llbnRQcml2aWxlZ2VzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVW5hYmxlIHRvIHBlcmZvcm0gdGhlIHNwZWNpZmllZCBvcGVyYXRpb24gYmVjYXVzZSBhbm90aGVyIG9wZXJhdGlvbiBpcyBhbHJlYWR5IGluIHByb2dyZXNzIGFmZmVjdGluZyBhbiBhbiBlbGVtZW50IGluIHRoaXMgYWN0aXZpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcGVyYXRpb25JblByb2dyZXNzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBTMyBidWNrZXQgZG9lcyBub3QgYmVsb25nIHRvIHRoZSBTMyByZWdpb24gaW4gd2hpY2ggdGhlIHNlcnZpY2UgaXMgcnVubmluZy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1MzTG9jYXRpb25Ob3RJblNlcnZpY2VSZWdpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVDb25maWd1cmF0aW9uVGVtcGxhdGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlQ29uZmlndXJhdGlvblRlbXBsYXRlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FwcGxpY2F0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUZW1wbGF0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVW5hYmxlIHRvIHBlcmZvcm0gdGhlIHNwZWNpZmllZCBvcGVyYXRpb24gYmVjYXVzZSBhbm90aGVyIG9wZXJhdGlvbiBpcyBhbHJlYWR5IGluIHByb2dyZXNzIGFmZmVjdGluZyBhbiBhbiBlbGVtZW50IGluIHRoaXMgYWN0aXZpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcGVyYXRpb25JblByb2dyZXNzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlRW52aXJvbm1lbnRDb25maWd1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZUVudmlyb25tZW50Q29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBcHBsaWNhdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW52aXJvbm1lbnROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVBcHBsaWNhdGlvblZlcnNpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdBcHBsaWNhdGlvblZlcnNpb25EZXNjcmlwdGlvbnNNZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVBcHBsaWNhdGlvblZlcnNpb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FwcGxpY2F0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb25MYWJlbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZlcnNpb25MYWJlbHMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZlcnNpb25MYWJlbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlQXBwbGljYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdBcHBsaWNhdGlvbkRlc2NyaXB0aW9uc01lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUFwcGxpY2F0aW9ucycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBcHBsaWNhdGlvbk5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBcHBsaWNhdGlvbk5hbWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBcHBsaWNhdGlvbk5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMCwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNvbmZpZ3VyYXRpb25PcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDb25maWd1cmF0aW9uT3B0aW9uc0Rlc2NyaXB0aW9uJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVDb25maWd1cmF0aW9uT3B0aW9ucycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBcHBsaWNhdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUZW1wbGF0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbnZpcm9ubWVudE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDQsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjMsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvbHV0aW9uU3RhY2tOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ09wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ09wdGlvbnMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ09wdGlvblNwZWNpZmljYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lc3BhY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNvbmZpZ3VyYXRpb25TZXR0aW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ29uZmlndXJhdGlvblNldHRpbmdzRGVzY3JpcHRpb25zJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVDb25maWd1cmF0aW9uU2V0dGluZ3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXBwbGljYXRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RlbXBsYXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Vudmlyb25tZW50TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVFbnZpcm9ubWVudFJlc291cmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW52aXJvbm1lbnRSZXNvdXJjZURlc2NyaXB0aW9uc01lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUVudmlyb25tZW50UmVzb3VyY2VzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Vudmlyb25tZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbnZpcm9ubWVudE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDQsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjMsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1VuYWJsZSB0byBwZXJmb3JtIHRoZSBzcGVjaWZpZWQgb3BlcmF0aW9uIGJlY2F1c2UgdGhlIHVzZXIgZG9lcyBub3QgaGF2ZSBlbm91Z2ggcHJpdmlsZWdlcyBmb3Igb25lIG9mIG1vcmUgZG93bnN0cmVhbSBhd3Mgc2VydmljZXMnLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luc3VmZmljaWVudFByaXZpbGVnZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUVudmlyb25tZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW52aXJvbm1lbnREZXNjcmlwdGlvbnNNZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVFbnZpcm9ubWVudHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXBwbGljYXRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbkxhYmVsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW52aXJvbm1lbnRJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0Vudmlyb25tZW50SWRzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdFbnZpcm9ubWVudElkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Vudmlyb25tZW50TmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0Vudmlyb25tZW50TmFtZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0Vudmlyb25tZW50TmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNCwKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjMsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5jbHVkZURlbGV0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbmNsdWRlZERlbGV0ZWRCYWNrVG8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUV2ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRXZlbnREZXNjcmlwdGlvbnNNZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVFdmVudHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXBwbGljYXRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbkxhYmVsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGVtcGxhdGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW52aXJvbm1lbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Vudmlyb25tZW50TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2V2ZXJpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFydFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMDAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0QXZhaWxhYmxlU29sdXRpb25TdGFja3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RBdmFpbGFibGVTb2x1dGlvblN0YWNrc1Jlc3VsdE1lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdMaXN0QXZhaWxhYmxlU29sdXRpb25TdGFja3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVidWlsZEVudmlyb25tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1JlYnVpbGRFbnZpcm9ubWVudCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbnZpcm9ubWVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW52aXJvbm1lbnROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA0LAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIzLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdVbmFibGUgdG8gcGVyZm9ybSB0aGUgc3BlY2lmaWVkIG9wZXJhdGlvbiBiZWNhdXNlIHRoZSB1c2VyIGRvZXMgbm90IGhhdmUgZW5vdWdoIHByaXZpbGVnZXMgZm9yIG9uZSBvZiBtb3JlIGRvd25zdHJlYW0gYXdzIHNlcnZpY2VzJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnN1ZmZpY2llbnRQcml2aWxlZ2VzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVxdWVzdEVudmlyb25tZW50SW5mbycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZXF1ZXN0RW52aXJvbm1lbnRJbmZvJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Vudmlyb25tZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbnZpcm9ubWVudE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDQsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjMsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luZm9UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1Jlc3RhcnRBcHBTZXJ2ZXInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmVzdGFydEFwcFNlcnZlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbnZpcm9ubWVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW52aXJvbm1lbnROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA0LAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIzLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXRyaWV2ZUVudmlyb25tZW50SW5mbycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUmV0cmlldmVFbnZpcm9ubWVudEluZm9SZXN1bHRNZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmV0cmlldmVFbnZpcm9ubWVudEluZm8nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW52aXJvbm1lbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Vudmlyb25tZW50TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5mb1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU3dhcEVudmlyb25tZW50Q05BTUVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N3YXBFbnZpcm9ubWVudENOQU1FcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTb3VyY2VFbnZpcm9ubWVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlRW52aXJvbm1lbnROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA0LAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIzLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXN0aW5hdGlvbkVudmlyb25tZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXN0aW5hdGlvbkVudmlyb25tZW50TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVGVybWluYXRlRW52aXJvbm1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Vudmlyb25tZW50RGVzY3JpcHRpb24nLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdUZXJtaW5hdGVFbnZpcm9ubWVudCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbnZpcm9ubWVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW52aXJvbm1lbnROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA0LAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIzLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUZXJtaW5hdGVSZXNvdXJjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdVbmFibGUgdG8gcGVyZm9ybSB0aGUgc3BlY2lmaWVkIG9wZXJhdGlvbiBiZWNhdXNlIHRoZSB1c2VyIGRvZXMgbm90IGhhdmUgZW5vdWdoIHByaXZpbGVnZXMgZm9yIG9uZSBvZiBtb3JlIGRvd25zdHJlYW0gYXdzIHNlcnZpY2VzJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnN1ZmZpY2llbnRQcml2aWxlZ2VzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlQXBwbGljYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0FwcGxpY2F0aW9uRGVzY3JpcHRpb25NZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnVXBkYXRlQXBwbGljYXRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXBwbGljYXRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZUFwcGxpY2F0aW9uVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQXBwbGljYXRpb25WZXJzaW9uRGVzY3JpcHRpb25NZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnVXBkYXRlQXBwbGljYXRpb25WZXJzaW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FwcGxpY2F0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uTGFiZWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlQ29uZmlndXJhdGlvblRlbXBsYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDb25maWd1cmF0aW9uU2V0dGluZ3NEZXNjcmlwdGlvbicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1VwZGF0ZUNvbmZpZ3VyYXRpb25UZW1wbGF0ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBcHBsaWNhdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGVtcGxhdGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ09wdGlvblNldHRpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPcHRpb25TZXR0aW5ncy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ29uZmlndXJhdGlvbk9wdGlvblNldHRpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lc3BhY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcHRpb25zVG9SZW1vdmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ09wdGlvbnNUb1JlbW92ZS5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnT3B0aW9uU3BlY2lmaWNhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWVzcGFjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1VuYWJsZSB0byBwZXJmb3JtIHRoZSBzcGVjaWZpZWQgb3BlcmF0aW9uIGJlY2F1c2UgdGhlIHVzZXIgZG9lcyBub3QgaGF2ZSBlbm91Z2ggcHJpdmlsZWdlcyBmb3Igb25lIG9mIG1vcmUgZG93bnN0cmVhbSBhd3Mgc2VydmljZXMnLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luc3VmZmljaWVudFByaXZpbGVnZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVFbnZpcm9ubWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW52aXJvbm1lbnREZXNjcmlwdGlvbicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1VwZGF0ZUVudmlyb25tZW50JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Vudmlyb25tZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbnZpcm9ubWVudE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDQsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjMsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uTGFiZWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUZW1wbGF0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcHRpb25TZXR0aW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnT3B0aW9uU2V0dGluZ3MubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NvbmZpZ3VyYXRpb25PcHRpb25TZXR0aW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZXNwYWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3B0aW9uc1RvUmVtb3ZlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPcHRpb25zVG9SZW1vdmUubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ09wdGlvblNwZWNpZmljYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lc3BhY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdVbmFibGUgdG8gcGVyZm9ybSB0aGUgc3BlY2lmaWVkIG9wZXJhdGlvbiBiZWNhdXNlIHRoZSB1c2VyIGRvZXMgbm90IGhhdmUgZW5vdWdoIHByaXZpbGVnZXMgZm9yIG9uZSBvZiBtb3JlIGRvd25zdHJlYW0gYXdzIHNlcnZpY2VzJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnN1ZmZpY2llbnRQcml2aWxlZ2VzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVmFsaWRhdGVDb25maWd1cmF0aW9uU2V0dGluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NvbmZpZ3VyYXRpb25TZXR0aW5nc1ZhbGlkYXRpb25NZXNzYWdlcycsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1ZhbGlkYXRlQ29uZmlndXJhdGlvblNldHRpbmdzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FwcGxpY2F0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUZW1wbGF0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbnZpcm9ubWVudE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDQsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjMsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ09wdGlvblNldHRpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnT3B0aW9uU2V0dGluZ3MubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NvbmZpZ3VyYXRpb25PcHRpb25TZXR0aW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZXNwYWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVW5hYmxlIHRvIHBlcmZvcm0gdGhlIHNwZWNpZmllZCBvcGVyYXRpb24gYmVjYXVzZSB0aGUgdXNlciBkb2VzIG5vdCBoYXZlIGVub3VnaCBwcml2aWxlZ2VzIGZvciBvbmUgb2YgbW9yZSBkb3duc3RyZWFtIGF3cyBzZXJ2aWNlcycsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5zdWZmaWNpZW50UHJpdmlsZWdlc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ21vZGVscycgPT4gYXJyYXkoCiAgICAgICAgJ0NoZWNrRE5TQXZhaWxhYmlsaXR5UmVzdWx0TWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQXZhaWxhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Z1bGx5UXVhbGlmaWVkQ05BTUUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdBcHBsaWNhdGlvbkRlc2NyaXB0aW9uTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQXBwbGljYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0FwcGxpY2F0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEYXRlQ3JlYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEYXRlVXBkYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWZXJzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWZXJzaW9uTGFiZWwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb25maWd1cmF0aW9uVGVtcGxhdGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NvbmZpZ3VyYXRpb25UZW1wbGF0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQXBwbGljYXRpb25WZXJzaW9uRGVzY3JpcHRpb25NZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBcHBsaWNhdGlvblZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0FwcGxpY2F0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWZXJzaW9uTGFiZWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlQnVuZGxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzNLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEYXRlQ3JlYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEYXRlVXBkYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ29uZmlndXJhdGlvblNldHRpbmdzRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1NvbHV0aW9uU3RhY2tOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXBwbGljYXRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGVtcGxhdGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbnZpcm9ubWVudE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXBsb3ltZW50U3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGF0ZUNyZWF0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEYXRlVXBkYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ09wdGlvblNldHRpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ29uZmlndXJhdGlvbk9wdGlvblNldHRpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZXNwYWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRW52aXJvbm1lbnREZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRW52aXJvbm1lbnROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW52aXJvbm1lbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FwcGxpY2F0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb25MYWJlbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvbHV0aW9uU3RhY2tOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGVtcGxhdGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmRwb2ludFVSTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NOQU1FJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGF0ZUNyZWF0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEYXRlVXBkYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0hlYWx0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc291cmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnTG9hZEJhbGFuY2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTG9hZEJhbGFuY2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGlzdGVuZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0xpc3RlbmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm90b2NvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlU3RvcmFnZUxvY2F0aW9uUmVzdWx0TWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUzNCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFbXB0eU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICksCiAgICAgICAgJ0FwcGxpY2F0aW9uVmVyc2lvbkRlc2NyaXB0aW9uc01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FwcGxpY2F0aW9uVmVyc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBcHBsaWNhdGlvblZlcnNpb25EZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcHBsaWNhdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmVyc2lvbkxhYmVsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZUJ1bmRsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXRlQ3JlYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXRlVXBkYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdBcHBsaWNhdGlvbkRlc2NyaXB0aW9uc01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FwcGxpY2F0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0FwcGxpY2F0aW9uRGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXBwbGljYXRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RhdGVDcmVhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RhdGVVcGRhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZlcnNpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZlcnNpb25MYWJlbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29uZmlndXJhdGlvblRlbXBsYXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDb25maWd1cmF0aW9uVGVtcGxhdGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDb25maWd1cmF0aW9uT3B0aW9uc0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTb2x1dGlvblN0YWNrTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ09wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDb25maWd1cmF0aW9uT3B0aW9uRGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZXNwYWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NoYW5nZVNldmVyaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJEZWZpbmVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWVPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NvbmZpZ3VyYXRpb25PcHRpb25Qb3NzaWJsZVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5WYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWF4VmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heExlbmd0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVnZXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXR0ZXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhYmVsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDb25maWd1cmF0aW9uU2V0dGluZ3NEZXNjcmlwdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbmZpZ3VyYXRpb25TZXR0aW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NvbmZpZ3VyYXRpb25TZXR0aW5nc0Rlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvbHV0aW9uU3RhY2tOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FwcGxpY2F0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUZW1wbGF0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW52aXJvbm1lbnROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlcGxveW1lbnRTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0ZUNyZWF0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0ZVVwZGF0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9uU2V0dGluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ29uZmlndXJhdGlvbk9wdGlvblNldHRpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZXNwYWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRW52aXJvbm1lbnRSZXNvdXJjZURlc2NyaXB0aW9uc01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0Vudmlyb25tZW50UmVzb3VyY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdFbnZpcm9ubWVudE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXV0b1NjYWxpbmdHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXV0b1NjYWxpbmdHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0luc3RhbmNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTGF1bmNoQ29uZmlndXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTGF1bmNoQ29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTG9hZEJhbGFuY2VycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdMb2FkQmFsYW5jZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RyaWdnZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RyaWdnZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1F1ZXVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdRdWV1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVVJMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFbnZpcm9ubWVudERlc2NyaXB0aW9uc01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0Vudmlyb25tZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0Vudmlyb25tZW50RGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW52aXJvbm1lbnROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vudmlyb25tZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXBwbGljYXRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZlcnNpb25MYWJlbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb2x1dGlvblN0YWNrTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUZW1wbGF0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5kcG9pbnRVUkwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ05BTUUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0ZUNyZWF0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0ZVVwZGF0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hlYWx0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMb2FkQmFsYW5jZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMb2FkQmFsYW5jZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMaXN0ZW5lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTGlzdGVuZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRXZlbnREZXNjcmlwdGlvbnNNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdFdmVudHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdFdmVudERlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V2ZW50RGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FwcGxpY2F0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWZXJzaW9uTGFiZWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGVtcGxhdGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vudmlyb25tZW50TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2V2ZXJpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdEF2YWlsYWJsZVNvbHV0aW9uU3RhY2tzUmVzdWx0TWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU29sdXRpb25TdGFja3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTb2x1dGlvblN0YWNrTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU29sdXRpb25TdGFja0RldGFpbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTb2x1dGlvblN0YWNrRGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU29sdXRpb25TdGFja05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVybWl0dGVkRmlsZVR5cGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbGVUeXBlRXh0ZW5zaW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXRyaWV2ZUVudmlyb25tZW50SW5mb1Jlc3VsdE1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0Vudmlyb25tZW50SW5mbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0Vudmlyb25tZW50SW5mb0Rlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luZm9UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VjMkluc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2FtcGxlVGltZXN0YW1wJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ29uZmlndXJhdGlvblNldHRpbmdzVmFsaWRhdGlvbk1lc3NhZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNZXNzYWdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZhbGlkYXRpb25NZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2V2ZXJpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZXNwYWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnaXRlcmF0b3JzJyA9PiBhcnJheSgKICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdEZXNjcmliZUFwcGxpY2F0aW9uVmVyc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdBcHBsaWNhdGlvblZlcnNpb25zJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlQXBwbGljYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnQXBwbGljYXRpb25zJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlQ29uZmlndXJhdGlvbk9wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdPcHRpb25zJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlRW52aXJvbm1lbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnRW52aXJvbm1lbnRzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlRXZlbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnRXZlbnRzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RBdmFpbGFibGVTb2x1dGlvblN0YWNrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1NvbHV0aW9uU3RhY2tzJywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICd3YWl0ZXJzJyA9PiBhcnJheSgKICAgICAgICAnX19kZWZhdWx0X18nID0+IGFycmF5KAogICAgICAgICAgICAnaW50ZXJ2YWwnID0+IDIwLAogICAgICAgICAgICAnbWF4X2F0dGVtcHRzJyA9PiA0MCwKICAgICAgICAgICAgJ2FjY2VwdG9yLnR5cGUnID0+ICdvdXRwdXQnLAogICAgICAgICksCiAgICAgICAgJ19fRW52aXJvbm1lbnRTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRpb24nID0+ICdEZXNjcmliZUVudmlyb25tZW50cycsCiAgICAgICAgICAgICdhY2NlcHRvci5wYXRoJyA9PiAnRW52aXJvbm1lbnRzLyovU3RhdHVzJywKICAgICAgICApLAogICAgICAgICdFbnZpcm9ubWVudFJlYWR5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdfX0Vudmlyb25tZW50U3RhdGUnLAogICAgICAgICAgICAnc3VjY2Vzcy52YWx1ZScgPT4gJ1JlYWR5JywKICAgICAgICAgICAgJ2ZhaWx1cmUudmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Rlcm1pbmF0ZWQnLAogICAgICAgICAgICAgICAgJ1Rlcm1pbmF0aW5nJywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFbnZpcm9ubWVudFRlcm1pbmF0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ19fRW52aXJvbm1lbnRTdGF0ZScsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnVGVybWluYXRlZCcsCiAgICAgICAgICAgICdmYWlsdXJlLnZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdMYXVuY2hpbmcnLAogICAgICAgICAgICAgICAgJ1VwZGF0aW5nJywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/ElasticLoadBalancingClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmc7Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQ7CnVzZSBBd3NcQ29tbW9uXENsaWVudFxDbGllbnRCdWlsZGVyOwp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZTsKCi8qKgogKiBDbGllbnQgdG8gaW50ZXJhY3Qgd2l0aCBFbGFzdGljIExvYWQgQmFsYW5jaW5nCiAqCiAqIEBtZXRob2QgTW9kZWwgYXBwbHlTZWN1cml0eUdyb3Vwc1RvTG9hZEJhbGFuY2VyKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNMb2FkQmFsYW5jaW5nIEFwcGx5U2VjdXJpdHlHcm91cHNUb0xvYWRCYWxhbmNlcn0KICogQG1ldGhvZCBNb2RlbCBhdHRhY2hMb2FkQmFsYW5jZXJUb1N1Ym5ldHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0xvYWRCYWxhbmNpbmcgQXR0YWNoTG9hZEJhbGFuY2VyVG9TdWJuZXRzfQogKiBAbWV0aG9kIE1vZGVsIGNvbmZpZ3VyZUhlYWx0aENoZWNrKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNMb2FkQmFsYW5jaW5nIENvbmZpZ3VyZUhlYWx0aENoZWNrfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZUFwcENvb2tpZVN0aWNraW5lc3NQb2xpY3koYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0xvYWRCYWxhbmNpbmcgQ3JlYXRlQXBwQ29va2llU3RpY2tpbmVzc1BvbGljeX0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVMQkNvb2tpZVN0aWNraW5lc3NQb2xpY3koYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0xvYWRCYWxhbmNpbmcgQ3JlYXRlTEJDb29raWVTdGlja2luZXNzUG9saWN5fQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZUxvYWRCYWxhbmNlcihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljTG9hZEJhbGFuY2luZyBDcmVhdGVMb2FkQmFsYW5jZXJ9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlTG9hZEJhbGFuY2VyTGlzdGVuZXJzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNMb2FkQmFsYW5jaW5nIENyZWF0ZUxvYWRCYWxhbmNlckxpc3RlbmVyc30KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVMb2FkQmFsYW5jZXJQb2xpY3koYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0xvYWRCYWxhbmNpbmcgQ3JlYXRlTG9hZEJhbGFuY2VyUG9saWN5fQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUxvYWRCYWxhbmNlcihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljTG9hZEJhbGFuY2luZyBEZWxldGVMb2FkQmFsYW5jZXJ9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlTG9hZEJhbGFuY2VyTGlzdGVuZXJzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNMb2FkQmFsYW5jaW5nIERlbGV0ZUxvYWRCYWxhbmNlckxpc3RlbmVyc30KICogQG1ldGhvZCBNb2RlbCBkZWxldGVMb2FkQmFsYW5jZXJQb2xpY3koYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0xvYWRCYWxhbmNpbmcgRGVsZXRlTG9hZEJhbGFuY2VyUG9saWN5fQogKiBAbWV0aG9kIE1vZGVsIGRlcmVnaXN0ZXJJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNMb2FkQmFsYW5jaW5nIERlcmVnaXN0ZXJJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlSW5zdGFuY2VIZWFsdGgoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0xvYWRCYWxhbmNpbmcgRGVzY3JpYmVJbnN0YW5jZUhlYWx0aH0KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUxvYWRCYWxhbmNlckF0dHJpYnV0ZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0xvYWRCYWxhbmNpbmcgRGVzY3JpYmVMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWNpZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0xvYWRCYWxhbmNpbmcgRGVzY3JpYmVMb2FkQmFsYW5jZXJQb2xpY2llc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUxvYWRCYWxhbmNlclBvbGljeVR5cGVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNMb2FkQmFsYW5jaW5nIERlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWN5VHlwZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVMb2FkQmFsYW5jZXJzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNMb2FkQmFsYW5jaW5nIERlc2NyaWJlTG9hZEJhbGFuY2Vyc30KICogQG1ldGhvZCBNb2RlbCBkZXRhY2hMb2FkQmFsYW5jZXJGcm9tU3VibmV0cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljTG9hZEJhbGFuY2luZyBEZXRhY2hMb2FkQmFsYW5jZXJGcm9tU3VibmV0c30KICogQG1ldGhvZCBNb2RlbCBkaXNhYmxlQXZhaWxhYmlsaXR5Wm9uZXNGb3JMb2FkQmFsYW5jZXIoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0xvYWRCYWxhbmNpbmcgRGlzYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyfQogKiBAbWV0aG9kIE1vZGVsIGVuYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNMb2FkQmFsYW5jaW5nIEVuYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyfQogKiBAbWV0aG9kIE1vZGVsIG1vZGlmeUxvYWRCYWxhbmNlckF0dHJpYnV0ZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0xvYWRCYWxhbmNpbmcgTW9kaWZ5TG9hZEJhbGFuY2VyQXR0cmlidXRlc30KICogQG1ldGhvZCBNb2RlbCByZWdpc3Rlckluc3RhbmNlc1dpdGhMb2FkQmFsYW5jZXIoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0xvYWRCYWxhbmNpbmcgUmVnaXN0ZXJJbnN0YW5jZXNXaXRoTG9hZEJhbGFuY2VyfQogKiBAbWV0aG9kIE1vZGVsIHNldExvYWRCYWxhbmNlckxpc3RlbmVyU1NMQ2VydGlmaWNhdGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0xvYWRCYWxhbmNpbmcgU2V0TG9hZEJhbGFuY2VyTGlzdGVuZXJTU0xDZXJ0aWZpY2F0ZX0KICogQG1ldGhvZCBNb2RlbCBzZXRMb2FkQmFsYW5jZXJQb2xpY2llc0ZvckJhY2tlbmRTZXJ2ZXIoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY0xvYWRCYWxhbmNpbmcgU2V0TG9hZEJhbGFuY2VyUG9saWNpZXNGb3JCYWNrZW5kU2VydmVyfQogKiBAbWV0aG9kIE1vZGVsIHNldExvYWRCYWxhbmNlclBvbGljaWVzT2ZMaXN0ZW5lcihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljTG9hZEJhbGFuY2luZyBTZXRMb2FkQmFsYW5jZXJQb2xpY2llc09mTGlzdGVuZXJ9CiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUluc3RhbmNlSGVhbHRoSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVJbnN0YW5jZUhlYWx0aCBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWNpZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljaWVzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVMb2FkQmFsYW5jZXJQb2xpY3lUeXBlc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWN5VHlwZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUxvYWRCYWxhbmNlcnNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUxvYWRCYWxhbmNlcnMgb3BlcmF0aW9uCiAqCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9zZXJ2aWNlLWVsYXN0aWNsb2FkYmFsYW5jaW5nLmh0bWwgVXNlciBndWlkZQogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLkVsYXN0aWNMb2FkQmFsYW5jaW5nLkVsYXN0aWNMb2FkQmFsYW5jaW5nQ2xpZW50Lmh0bWwgQVBJIGRvY3MKICovCmNsYXNzIEVsYXN0aWNMb2FkQmFsYW5jaW5nQ2xpZW50IGV4dGVuZHMgQWJzdHJhY3RDbGllbnQKewogICAgY29uc3QgTEFURVNUX0FQSV9WRVJTSU9OID0gJzIwMTItMDYtMDEnOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEVsYXN0aWMgTG9hZCBCYWxhbmNpbmcgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEF3c1xDb21tb25cQ2xpZW50XERlZmF1bHRDbGllbnQgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9lbGFzdGljbG9hZGJhbGFuY2luZy0lcy5waHAnCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/AccessPointNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgbG9hZCBiYWxhbmNlciBjb3VsZCBub3QgYmUgZm91bmQuCiAqLwpjbGFzcyBBY2Nlc3NQb2ludE5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY0xvYWRCYWxhbmNpbmdFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/CertificateNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgU1NMIElEIGRvZXMgbm90IHJlZmVyIHRvIGEgdmFsaWQgU1NMIGNlcnRpZmljYXRlIGluIHRoZSBBV1MgSWRlbnRpdHkgYW5kIEFjY2VzcyBNYW5hZ2VtZW50IFNlcnZpY2UuCiAqLwpjbGFzcyBDZXJ0aWZpY2F0ZU5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY0xvYWRCYWxhbmNpbmdFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/DuplicateAccessPointNameException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIExvYWQgYmFsYW5jZXIgbmFtZSBhbHJlYWR5IGV4aXN0cyBmb3IgdGhpcyBhY2NvdW50LiBQbGVhc2UgY2hvb3NlIGFub3RoZXIgbmFtZS4KICovCmNsYXNzIER1cGxpY2F0ZUFjY2Vzc1BvaW50TmFtZUV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aWNMb2FkQmFsYW5jaW5nRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/DuplicateListenerException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIEEgTGlzdGVuZXIgYWxyZWFkeSBleGlzdHMgZm9yIHRoZSBnaXZlbiBMb2FkQmFsYW5jZXJOYW1lIGFuZCBMb2FkQmFsYW5jZXJQb3J0LCBidXQgd2l0aCBhIGRpZmZlcmVudCBJbnN0YW5jZVBvcnQsIFByb3RvY29sLCBvciBTU0xDZXJ0aWZpY2F0ZUlkLgogKi8KY2xhc3MgRHVwbGljYXRlTGlzdGVuZXJFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGljTG9hZEJhbGFuY2luZ0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/DuplicatePolicyNameException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIFBvbGljeSB3aXRoIHRoZSBzYW1lIG5hbWUgZXhpc3RzIGZvciB0aGlzIGxvYWQgYmFsYW5jZXIuIFBsZWFzZSBjaG9vc2UgYW5vdGhlciBuYW1lLgogKi8KY2xhc3MgRHVwbGljYXRlUG9saWN5TmFtZUV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aWNMb2FkQmFsYW5jaW5nRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/ElasticLoadBalancingException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbjsKCi8qKgogKiBEZWZhdWx0IHNlcnZpY2UgZXhjZXB0aW9uIGNsYXNzCiAqLwpjbGFzcyBFbGFzdGljTG9hZEJhbGFuY2luZ0V4Y2VwdGlvbiBleHRlbmRzIFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/InvalidConfigurationRequestException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIFJlcXVlc3RlZCBjb25maWd1cmF0aW9uIGNoYW5nZSBpcyBpbnZhbGlkLgogKi8KY2xhc3MgSW52YWxpZENvbmZpZ3VyYXRpb25SZXF1ZXN0RXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY0xvYWRCYWxhbmNpbmdFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/InvalidEndPointException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgRW5kUG9pbnQgaXMgbm90IHZhbGlkLgogKi8KY2xhc3MgSW52YWxpZEVuZFBvaW50RXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY0xvYWRCYWxhbmNpbmdFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/InvalidSchemeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIEludmFsaWQgdmFsdWUgZm9yIHNjaGVtZS4gU2NoZW1lIGNhbiBvbmx5IGJlIHNwZWNpZmllZCBmb3IgbG9hZCBiYWxhbmNlcnMgaW4gVlBDLgogKi8KY2xhc3MgSW52YWxpZFNjaGVtZUV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aWNMb2FkQmFsYW5jaW5nRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/InvalidSecurityGroupException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIE9uZSBvciBtb3JlIHNwZWNpZmllZCBzZWN1cml0eSBncm91cHMgZG8gbm90IGV4aXN0LgogKi8KY2xhc3MgSW52YWxpZFNlY3VyaXR5R3JvdXBFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGljTG9hZEJhbGFuY2luZ0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/InvalidSubnetException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBWUEMgaGFzIG5vIEludGVybmV0IGdhdGV3YXkuCiAqLwpjbGFzcyBJbnZhbGlkU3VibmV0RXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY0xvYWRCYWxhbmNpbmdFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/ListenerNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIExvYWQgYmFsYW5jZXIgZG9lcyBub3QgaGF2ZSBhIGxpc3RlbmVyIGNvbmZpZ3VyZWQgYXQgdGhlIGdpdmVuIHBvcnQuCiAqLwpjbGFzcyBMaXN0ZW5lck5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY0xvYWRCYWxhbmNpbmdFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/LoadBalancerAttributeNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgbG9hZCBiYWxhbmNlciBhdHRyaWJ1dGUgY291bGQgbm90IGJlIGZvdW5kLgogKi8KY2xhc3MgTG9hZEJhbGFuY2VyQXR0cmlidXRlTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGljTG9hZEJhbGFuY2luZ0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/PolicyNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIE9uZSBvciBtb3JlIHNwZWNpZmllZCBwb2xpY2llcyB3ZXJlIG5vdCBmb3VuZC4KICovCmNsYXNzIFBvbGljeU5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY0xvYWRCYWxhbmNpbmdFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/PolicyTypeNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIE9uZSBvciBtb3JlIG9mIHRoZSBzcGVjaWZpZWQgcG9saWN5IHR5cGVzIGRvIG5vdCBleGlzdC4KICovCmNsYXNzIFBvbGljeVR5cGVOb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aWNMb2FkQmFsYW5jaW5nRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/SubnetNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIE9uZSBvciBtb3JlIHN1Ym5ldHMgd2VyZSBub3QgZm91bmQuCiAqLwpjbGFzcyBTdWJuZXROb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aWNMb2FkQmFsYW5jaW5nRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/TooManyAccessPointsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBxdW90YSBmb3IgdGhlIG51bWJlciBvZiBsb2FkIGJhbGFuY2VycyBoYXMgYWxyZWFkeSBiZWVuIHJlYWNoZWQuCiAqLwpjbGFzcyBUb29NYW55QWNjZXNzUG9pbnRzRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY0xvYWRCYWxhbmNpbmdFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Exception/TooManyPoliciesException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRXhjZXB0aW9uOwoKLyoqCiAqIFF1b3RhIGZvciBudW1iZXIgb2YgcG9saWNpZXMgZm9yIHRoaXMgbG9hZCBiYWxhbmNlciBoYXMgYWxyZWFkeSBiZWVuIHJlYWNoZWQuCiAqLwpjbGFzcyBUb29NYW55UG9saWNpZXNFeGNlcHRpb24gZXh0ZW5kcyBFbGFzdGljTG9hZEJhbGFuY2luZ0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticLoadBalancing/Resources/elasticloadbalancing-2012-06-01.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTItMDYtMDEnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnZWxhc3RpY2xvYWRiYWxhbmNpbmcnLAogICAgJ3NlcnZpY2VGdWxsTmFtZScgPT4gJ0VsYXN0aWMgTG9hZCBCYWxhbmNpbmcnLAogICAgJ3NlcnZpY2VUeXBlJyA9PiAncXVlcnknLAogICAgJ3Jlc3VsdFdyYXBwZWQnID0+IHRydWUsCiAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3Y0JywKICAgICduYW1lc3BhY2UnID0+ICdFbGFzdGljTG9hZEJhbGFuY2luZycsCiAgICAncmVnaW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ3VzLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VsYXN0aWNsb2FkYmFsYW5jaW5nLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljbG9hZGJhbGFuY2luZy51cy13ZXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtd2VzdC0yJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWxhc3RpY2xvYWRiYWxhbmNpbmcudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2V1LXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VsYXN0aWNsb2FkYmFsYW5jaW5nLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1ub3J0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VsYXN0aWNsb2FkYmFsYW5jaW5nLmFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLXNvdXRoZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWxhc3RpY2xvYWRiYWxhbmNpbmcuYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljbG9hZGJhbGFuY2luZy5hcC1zb3V0aGVhc3QtMi5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdzYS1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljbG9hZGJhbGFuY2luZy5zYS1lYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtZ292LXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VsYXN0aWNsb2FkYmFsYW5jaW5nLnVzLWdvdi13ZXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICksCiAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ0FwcGx5U2VjdXJpdHlHcm91cHNUb0xvYWRCYWxhbmNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQXBwbHlTZWN1cml0eUdyb3Vwc1RvTG9hZEJhbGFuY2VyT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQXBwbHlTZWN1cml0eUdyb3Vwc1RvTG9hZEJhbGFuY2VyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0wNi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvYWRCYWxhbmNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTZWN1cml0eUdyb3Vwcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU2VjdXJpdHlHcm91cElkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgbG9hZCBiYWxhbmNlciBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NQb2ludE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmVxdWVzdGVkIGNvbmZpZ3VyYXRpb24gY2hhbmdlIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ29uZmlndXJhdGlvblJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSBzcGVjaWZpZWQgc2VjdXJpdHkgZ3JvdXBzIGRvIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRTZWN1cml0eUdyb3VwRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQXR0YWNoTG9hZEJhbGFuY2VyVG9TdWJuZXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdBdHRhY2hMb2FkQmFsYW5jZXJUb1N1Ym5ldHNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBdHRhY2hMb2FkQmFsYW5jZXJUb1N1Ym5ldHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTA2LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9hZEJhbGFuY2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJuZXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU3VibmV0cy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3VibmV0SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBsb2FkIGJhbGFuY2VyIGNvdWxkIG5vdCBiZSBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc1BvaW50Tm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXF1ZXN0ZWQgY29uZmlndXJhdGlvbiBjaGFuZ2UgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDb25maWd1cmF0aW9uUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIHN1Ym5ldHMgd2VyZSBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTdWJuZXROb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBWUEMgaGFzIG5vIEludGVybmV0IGdhdGV3YXkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkU3VibmV0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ29uZmlndXJlSGVhbHRoQ2hlY2snID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NvbmZpZ3VyZUhlYWx0aENoZWNrT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ29uZmlndXJlSGVhbHRoQ2hlY2snLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTA2LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9hZEJhbGFuY2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIZWFsdGhDaGVjaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnRlcnZhbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMzAwLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMzAwLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVW5oZWFsdGh5VGhyZXNob2xkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMCwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0hlYWx0aHlUaHJlc2hvbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEwLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgbG9hZCBiYWxhbmNlciBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NQb2ludE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlQXBwQ29va2llU3RpY2tpbmVzc1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVBcHBDb29raWVTdGlja2luZXNzUG9saWN5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0wNi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvYWRCYWxhbmNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9saWN5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb29raWVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgbG9hZCBiYWxhbmNlciBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NQb2ludE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUG9saWN5IHdpdGggdGhlIHNhbWUgbmFtZSBleGlzdHMgZm9yIHRoaXMgbG9hZCBiYWxhbmNlci4gUGxlYXNlIGNob29zZSBhbm90aGVyIG5hbWUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEdXBsaWNhdGVQb2xpY3lOYW1lRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUXVvdGEgZm9yIG51bWJlciBvZiBwb2xpY2llcyBmb3IgdGhpcyBsb2FkIGJhbGFuY2VyIGhhcyBhbHJlYWR5IGJlZW4gcmVhY2hlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlQb2xpY2llc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JlcXVlc3RlZCBjb25maWd1cmF0aW9uIGNoYW5nZSBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZENvbmZpZ3VyYXRpb25SZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlTEJDb29raWVTdGlja2luZXNzUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZUxCQ29va2llU3RpY2tpbmVzc1BvbGljeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMDYtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2FkQmFsYW5jZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvbGljeU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29va2llRXhwaXJhdGlvblBlcmlvZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGxvYWQgYmFsYW5jZXIgY291bGQgbm90IGJlIGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzUG9pbnROb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1BvbGljeSB3aXRoIHRoZSBzYW1lIG5hbWUgZXhpc3RzIGZvciB0aGlzIGxvYWQgYmFsYW5jZXIuIFBsZWFzZSBjaG9vc2UgYW5vdGhlciBuYW1lLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRHVwbGljYXRlUG9saWN5TmFtZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1F1b3RhIGZvciBudW1iZXIgb2YgcG9saWNpZXMgZm9yIHRoaXMgbG9hZCBiYWxhbmNlciBoYXMgYWxyZWFkeSBiZWVuIHJlYWNoZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55UG9saWNpZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXF1ZXN0ZWQgY29uZmlndXJhdGlvbiBjaGFuZ2UgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDb25maWd1cmF0aW9uUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUxvYWRCYWxhbmNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ3JlYXRlQWNjZXNzUG9pbnRPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVMb2FkQmFsYW5jZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTA2LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9hZEJhbGFuY2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMaXN0ZW5lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdMaXN0ZW5lcnMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0xpc3RlbmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvdG9jb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xvYWRCYWxhbmNlclBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVByb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDY1NTM1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTU0xDZXJ0aWZpY2F0ZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBdmFpbGFiaWxpdHlab25lcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXZhaWxhYmlsaXR5Wm9uZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJuZXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTdWJuZXRzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdWJuZXRJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZWN1cml0eUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2VjdXJpdHlHcm91cHMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NlY3VyaXR5R3JvdXBJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTY2hlbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdMb2FkIGJhbGFuY2VyIG5hbWUgYWxyZWFkeSBleGlzdHMgZm9yIHRoaXMgYWNjb3VudC4gUGxlYXNlIGNob29zZSBhbm90aGVyIG5hbWUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEdXBsaWNhdGVBY2Nlc3NQb2ludE5hbWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcXVvdGEgZm9yIHRoZSBudW1iZXIgb2YgbG9hZCBiYWxhbmNlcnMgaGFzIGFscmVhZHkgYmVlbiByZWFjaGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueUFjY2Vzc1BvaW50c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgU1NMIElEIGRvZXMgbm90IHJlZmVyIHRvIGEgdmFsaWQgU1NMIGNlcnRpZmljYXRlIGluIHRoZSBBV1MgSWRlbnRpdHkgYW5kIEFjY2VzcyBNYW5hZ2VtZW50IFNlcnZpY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDZXJ0aWZpY2F0ZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmVxdWVzdGVkIGNvbmZpZ3VyYXRpb24gY2hhbmdlIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ29uZmlndXJhdGlvblJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSBzdWJuZXRzIHdlcmUgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU3VibmV0Tm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgVlBDIGhhcyBubyBJbnRlcm5ldCBnYXRld2F5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFN1Ym5ldEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIHNwZWNpZmllZCBzZWN1cml0eSBncm91cHMgZG8gbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFNlY3VyaXR5R3JvdXBFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbnZhbGlkIHZhbHVlIGZvciBzY2hlbWUuIFNjaGVtZSBjYW4gb25seSBiZSBzcGVjaWZpZWQgZm9yIGxvYWQgYmFsYW5jZXJzIGluIFZQQy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRTY2hlbWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlTG9hZEJhbGFuY2VyTGlzdGVuZXJzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0wNi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvYWRCYWxhbmNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGlzdGVuZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTGlzdGVuZXJzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdMaXN0ZW5lcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMb2FkQmFsYW5jZXJQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VQcm90b2NvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiA2NTUzNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1NMQ2VydGlmaWNhdGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGxvYWQgYmFsYW5jZXIgY291bGQgbm90IGJlIGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzUG9pbnROb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0EgTGlzdGVuZXIgYWxyZWFkeSBleGlzdHMgZm9yIHRoZSBnaXZlbiBMb2FkQmFsYW5jZXJOYW1lIGFuZCBMb2FkQmFsYW5jZXJQb3J0LCBidXQgd2l0aCBhIGRpZmZlcmVudCBJbnN0YW5jZVBvcnQsIFByb3RvY29sLCBvciBTU0xDZXJ0aWZpY2F0ZUlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRHVwbGljYXRlTGlzdGVuZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIFNTTCBJRCBkb2VzIG5vdCByZWZlciB0byBhIHZhbGlkIFNTTCBjZXJ0aWZpY2F0ZSBpbiB0aGUgQVdTIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudCBTZXJ2aWNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2VydGlmaWNhdGVOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JlcXVlc3RlZCBjb25maWd1cmF0aW9uIGNoYW5nZSBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZENvbmZpZ3VyYXRpb25SZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlTG9hZEJhbGFuY2VyUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZUxvYWRCYWxhbmNlclBvbGljeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMDYtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2FkQmFsYW5jZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvbGljeU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9saWN5VHlwZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9saWN5QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUG9saWN5QXR0cmlidXRlcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUG9saWN5QXR0cmlidXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGxvYWQgYmFsYW5jZXIgY291bGQgbm90IGJlIGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzUG9pbnROb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIG9mIHRoZSBzcGVjaWZpZWQgcG9saWN5IHR5cGVzIGRvIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1BvbGljeVR5cGVOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1BvbGljeSB3aXRoIHRoZSBzYW1lIG5hbWUgZXhpc3RzIGZvciB0aGlzIGxvYWQgYmFsYW5jZXIuIFBsZWFzZSBjaG9vc2UgYW5vdGhlciBuYW1lLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRHVwbGljYXRlUG9saWN5TmFtZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1F1b3RhIGZvciBudW1iZXIgb2YgcG9saWNpZXMgZm9yIHRoaXMgbG9hZCBiYWxhbmNlciBoYXMgYWxyZWFkeSBiZWVuIHJlYWNoZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55UG9saWNpZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXF1ZXN0ZWQgY29uZmlndXJhdGlvbiBjaGFuZ2UgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDb25maWd1cmF0aW9uUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUxvYWRCYWxhbmNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVMb2FkQmFsYW5jZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTA2LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9hZEJhbGFuY2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlTG9hZEJhbGFuY2VyTGlzdGVuZXJzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0wNi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvYWRCYWxhbmNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9hZEJhbGFuY2VyUG9ydHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdMb2FkQmFsYW5jZXJQb3J0cy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWNjZXNzUG9pbnRQb3J0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGxvYWQgYmFsYW5jZXIgY291bGQgbm90IGJlIGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzUG9pbnROb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUxvYWRCYWxhbmNlclBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVMb2FkQmFsYW5jZXJQb2xpY3knLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTA2LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9hZEJhbGFuY2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQb2xpY3lOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgbG9hZCBiYWxhbmNlciBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NQb2ludE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmVxdWVzdGVkIGNvbmZpZ3VyYXRpb24gY2hhbmdlIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ29uZmlndXJhdGlvblJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXJlZ2lzdGVySW5zdGFuY2VzRnJvbUxvYWRCYWxhbmNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVyZWdpc3RlckVuZFBvaW50c091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlcmVnaXN0ZXJJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0wNi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvYWRCYWxhbmNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSW5zdGFuY2VzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJbnN0YW5jZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBsb2FkIGJhbGFuY2VyIGNvdWxkIG5vdCBiZSBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc1BvaW50Tm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIEVuZFBvaW50IGlzIG5vdCB2YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRFbmRQb2ludEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlSW5zdGFuY2VIZWFsdGgnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlRW5kUG9pbnRTdGF0ZU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlSW5zdGFuY2VIZWFsdGgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTA2LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9hZEJhbGFuY2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0luc3RhbmNlcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSW5zdGFuY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgbG9hZCBiYWxhbmNlciBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NQb2ludE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBFbmRQb2ludCBpcyBub3QgdmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkRW5kUG9pbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUxvYWRCYWxhbmNlckF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlTG9hZEJhbGFuY2VyQXR0cmlidXRlc091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlTG9hZEJhbGFuY2VyQXR0cmlidXRlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMDYtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2FkQmFsYW5jZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgbG9hZCBiYWxhbmNlciBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NQb2ludE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBsb2FkIGJhbGFuY2VyIGF0dHJpYnV0ZSBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMb2FkQmFsYW5jZXJBdHRyaWJ1dGVOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWNpZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWNpZXNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljaWVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0wNi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvYWRCYWxhbmNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQb2xpY3lOYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUG9saWN5TmFtZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1BvbGljeU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBsb2FkIGJhbGFuY2VyIGNvdWxkIG5vdCBiZSBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc1BvaW50Tm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSBzcGVjaWZpZWQgcG9saWNpZXMgd2VyZSBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQb2xpY3lOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWN5VHlwZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWN5VHlwZXNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljeVR5cGVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0wNi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvbGljeVR5cGVOYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUG9saWN5VHlwZU5hbWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQb2xpY3lUeXBlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSBvZiB0aGUgc3BlY2lmaWVkIHBvbGljeSB0eXBlcyBkbyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQb2xpY3lUeXBlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUxvYWRCYWxhbmNlcnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlQWNjZXNzUG9pbnRzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVMb2FkQmFsYW5jZXJzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0wNi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvYWRCYWxhbmNlck5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdMb2FkQmFsYW5jZXJOYW1lcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWNjZXNzUG9pbnROYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgbG9hZCBiYWxhbmNlciBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NQb2ludE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGV0YWNoTG9hZEJhbGFuY2VyRnJvbVN1Ym5ldHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RldGFjaExvYWRCYWxhbmNlckZyb21TdWJuZXRzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGV0YWNoTG9hZEJhbGFuY2VyRnJvbVN1Ym5ldHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTA2LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9hZEJhbGFuY2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJuZXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU3VibmV0cy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3VibmV0SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBsb2FkIGJhbGFuY2VyIGNvdWxkIG5vdCBiZSBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc1BvaW50Tm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXF1ZXN0ZWQgY29uZmlndXJhdGlvbiBjaGFuZ2UgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDb25maWd1cmF0aW9uUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rpc2FibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUmVtb3ZlQXZhaWxhYmlsaXR5Wm9uZXNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEaXNhYmxlQXZhaWxhYmlsaXR5Wm9uZXNGb3JMb2FkQmFsYW5jZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTA2LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9hZEJhbGFuY2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F2YWlsYWJpbGl0eVpvbmVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdmFpbGFiaWxpdHlab25lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgbG9hZCBiYWxhbmNlciBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NQb2ludE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmVxdWVzdGVkIGNvbmZpZ3VyYXRpb24gY2hhbmdlIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ29uZmlndXJhdGlvblJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFbmFibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQWRkQXZhaWxhYmlsaXR5Wm9uZXNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdFbmFibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMDYtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2FkQmFsYW5jZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXZhaWxhYmlsaXR5Wm9uZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F2YWlsYWJpbGl0eVpvbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBsb2FkIGJhbGFuY2VyIGNvdWxkIG5vdCBiZSBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc1BvaW50Tm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdNb2RpZnlMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ01vZGlmeUxvYWRCYWxhbmNlckF0dHJpYnV0ZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTA2LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9hZEJhbGFuY2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ3Jvc3Nab25lTG9hZEJhbGFuY2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBsb2FkIGJhbGFuY2VyIGNvdWxkIG5vdCBiZSBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc1BvaW50Tm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGxvYWQgYmFsYW5jZXIgYXR0cmlidXRlIGNvdWxkIG5vdCBiZSBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xvYWRCYWxhbmNlckF0dHJpYnV0ZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmVxdWVzdGVkIGNvbmZpZ3VyYXRpb24gY2hhbmdlIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ29uZmlndXJhdGlvblJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZWdpc3Rlckluc3RhbmNlc1dpdGhMb2FkQmFsYW5jZXInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1JlZ2lzdGVyRW5kUG9pbnRzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmVnaXN0ZXJJbnN0YW5jZXNXaXRoTG9hZEJhbGFuY2VyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0wNi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvYWRCYWxhbmNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSW5zdGFuY2VzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJbnN0YW5jZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBsb2FkIGJhbGFuY2VyIGNvdWxkIG5vdCBiZSBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc1BvaW50Tm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIEVuZFBvaW50IGlzIG5vdCB2YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRFbmRQb2ludEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NldExvYWRCYWxhbmNlckxpc3RlbmVyU1NMQ2VydGlmaWNhdGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2V0TG9hZEJhbGFuY2VyTGlzdGVuZXJTU0xDZXJ0aWZpY2F0ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMDYtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2FkQmFsYW5jZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvYWRCYWxhbmNlclBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NTTENlcnRpZmljYXRlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBTU0wgSUQgZG9lcyBub3QgcmVmZXIgdG8gYSB2YWxpZCBTU0wgY2VydGlmaWNhdGUgaW4gdGhlIEFXUyBJZGVudGl0eSBhbmQgQWNjZXNzIE1hbmFnZW1lbnQgU2VydmljZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NlcnRpZmljYXRlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGxvYWQgYmFsYW5jZXIgY291bGQgbm90IGJlIGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzUG9pbnROb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0xvYWQgYmFsYW5jZXIgZG9lcyBub3QgaGF2ZSBhIGxpc3RlbmVyIGNvbmZpZ3VyZWQgYXQgdGhlIGdpdmVuIHBvcnQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaXN0ZW5lck5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmVxdWVzdGVkIGNvbmZpZ3VyYXRpb24gY2hhbmdlIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ29uZmlndXJhdGlvblJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTZXRMb2FkQmFsYW5jZXJQb2xpY2llc0ZvckJhY2tlbmRTZXJ2ZXInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2V0TG9hZEJhbGFuY2VyUG9saWNpZXNGb3JCYWNrZW5kU2VydmVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0wNi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvYWRCYWxhbmNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQb2xpY3lOYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1BvbGljeU5hbWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQb2xpY3lOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgbG9hZCBiYWxhbmNlciBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NQb2ludE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnT25lIG9yIG1vcmUgc3BlY2lmaWVkIHBvbGljaWVzIHdlcmUgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUG9saWN5Tm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXF1ZXN0ZWQgY29uZmlndXJhdGlvbiBjaGFuZ2UgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDb25maWd1cmF0aW9uUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NldExvYWRCYWxhbmNlclBvbGljaWVzT2ZMaXN0ZW5lcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTZXRMb2FkQmFsYW5jZXJQb2xpY2llc09mTGlzdGVuZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTA2LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9hZEJhbGFuY2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2FkQmFsYW5jZXJQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQb2xpY3lOYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1BvbGljeU5hbWVzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQb2xpY3lOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgbG9hZCBiYWxhbmNlciBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NQb2ludE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnT25lIG9yIG1vcmUgc3BlY2lmaWVkIHBvbGljaWVzIHdlcmUgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUG9saWN5Tm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdMb2FkIGJhbGFuY2VyIGRvZXMgbm90IGhhdmUgYSBsaXN0ZW5lciBjb25maWd1cmVkIGF0IHRoZSBnaXZlbiBwb3J0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGlzdGVuZXJOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JlcXVlc3RlZCBjb25maWd1cmF0aW9uIGNoYW5nZSBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZENvbmZpZ3VyYXRpb25SZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnbW9kZWxzJyA9PiBhcnJheSgKICAgICAgICAnQXBwbHlTZWN1cml0eUdyb3Vwc1RvTG9hZEJhbGFuY2VyT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTZWN1cml0eUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NlY3VyaXR5R3JvdXBJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQXR0YWNoTG9hZEJhbGFuY2VyVG9TdWJuZXRzT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdWJuZXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3VibmV0SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NvbmZpZ3VyZUhlYWx0aENoZWNrT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdIZWFsdGhDaGVjaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0ludGVydmFsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdVbmhlYWx0aHlUaHJlc2hvbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0hlYWx0aHlUaHJlc2hvbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFbXB0eU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUFjY2Vzc1BvaW50T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdETlNOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVyZWdpc3RlckVuZFBvaW50c091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSW5zdGFuY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUVuZFBvaW50U3RhdGVPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0luc3RhbmNlU3RhdGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSW5zdGFuY2VTdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlYXNvbkNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdDcm9zc1pvbmVMb2FkQmFsYW5jaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVMb2FkQmFsYW5jZXJQb2xpY2llc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUG9saWN5RGVzY3JpcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUG9saWN5RGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUG9saWN5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb2xpY3lUeXBlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb2xpY3lBdHRyaWJ1dGVEZXNjcmlwdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUG9saWN5QXR0cmlidXRlRGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljeVR5cGVzT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdQb2xpY3lUeXBlRGVzY3JpcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUG9saWN5VHlwZURlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvbGljeVR5cGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvbGljeUF0dHJpYnV0ZVR5cGVEZXNjcmlwdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUG9saWN5QXR0cmlidXRlVHlwZURlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0VmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FyZGluYWxpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVBY2Nlc3NQb2ludHNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0xvYWRCYWxhbmNlckRlc2NyaXB0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0xvYWRCYWxhbmNlckRlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xvYWRCYWxhbmNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRE5TTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYW5vbmljYWxIb3N0ZWRab25lTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYW5vbmljYWxIb3N0ZWRab25lTmFtZUlEJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xpc3RlbmVyRGVzY3JpcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0xpc3RlbmVyRGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGlzdGVuZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm90b2NvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMb2FkQmFsYW5jZXJQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVByb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU1NMQ2VydGlmaWNhdGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUG9saWN5TmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUG9saWN5TmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUG9saWNpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcHBDb29raWVTdGlja2luZXNzUG9saWNpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXBwQ29va2llU3RpY2tpbmVzc1BvbGljeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvbGljeU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29va2llTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMQkNvb2tpZVN0aWNraW5lc3NQb2xpY2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdMQkNvb2tpZVN0aWNraW5lc3NQb2xpY3knLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb2xpY3lOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nvb2tpZUV4cGlyYXRpb25QZXJpb2QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ090aGVyUG9saWNpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUG9saWN5TmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCYWNrZW5kU2VydmVyRGVzY3JpcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JhY2tlbmRTZXJ2ZXJEZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvbGljeU5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1BvbGljeU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F2YWlsYWJpbGl0eVpvbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3VibmV0SWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZQQ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJbnN0YW5jZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hlYWx0aENoZWNrJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ludGVydmFsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVbmhlYWx0aHlUaHJlc2hvbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hlYWx0aHlUaHJlc2hvbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VTZWN1cml0eUdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3duZXJBbGlhcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NlY3VyaXR5R3JvdXBJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlZFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2NoZW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXRhY2hMb2FkQmFsYW5jZXJGcm9tU3VibmV0c091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3VibmV0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N1Ym5ldElkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZW1vdmVBdmFpbGFiaWxpdHlab25lc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdmFpbGFiaWxpdHlab25lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdBZGRBdmFpbGFiaWxpdHlab25lc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdmFpbGFiaWxpdHlab25lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZWdpc3RlckVuZFBvaW50c091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSW5zdGFuY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdpdGVyYXRvcnMnID0+IGFycmF5KAogICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ0Rlc2NyaWJlSW5zdGFuY2VIZWFsdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdJbnN0YW5jZVN0YXRlcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljaWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnUG9saWN5RGVzY3JpcHRpb25zJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWN5VHlwZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdQb2xpY3lUeXBlRGVzY3JpcHRpb25zJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlTG9hZEJhbGFuY2VycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ05leHRNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdMb2FkQmFsYW5jZXJEZXNjcmlwdGlvbnMnLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticTranscoder/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticTranscoder/ElasticTranscoderClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY1RyYW5zY29kZXI7Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQ7CnVzZSBBd3NcQ29tbW9uXENsaWVudFxDbGllbnRCdWlsZGVyOwp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFBhcnNlclxKc29uUmVzdEV4Y2VwdGlvblBhcnNlcjsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZTsKCi8qKgogKiBDbGllbnQgdG8gaW50ZXJhY3Qgd2l0aCBBbWF6b24gRWxhc3RpYyBUcmFuc2NvZGVyCiAqCiAqIEBtZXRob2QgTW9kZWwgY2FuY2VsSm9iKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNUcmFuc2NvZGVyIENhbmNlbEpvYn0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVKb2IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY1RyYW5zY29kZXIgQ3JlYXRlSm9ifQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVBpcGVsaW5lKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNUcmFuc2NvZGVyIENyZWF0ZVBpcGVsaW5lfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVByZXNldChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljVHJhbnNjb2RlciBDcmVhdGVQcmVzZXR9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlUGlwZWxpbmUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY1RyYW5zY29kZXIgRGVsZXRlUGlwZWxpbmV9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlUHJlc2V0KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNUcmFuc2NvZGVyIERlbGV0ZVByZXNldH0KICogQG1ldGhvZCBNb2RlbCBsaXN0Sm9ic0J5UGlwZWxpbmUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY1RyYW5zY29kZXIgTGlzdEpvYnNCeVBpcGVsaW5lfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RKb2JzQnlTdGF0dXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY1RyYW5zY29kZXIgTGlzdEpvYnNCeVN0YXR1c30KICogQG1ldGhvZCBNb2RlbCBsaXN0UGlwZWxpbmVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNUcmFuc2NvZGVyIExpc3RQaXBlbGluZXN9CiAqIEBtZXRob2QgTW9kZWwgbGlzdFByZXNldHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY1RyYW5zY29kZXIgTGlzdFByZXNldHN9CiAqIEBtZXRob2QgTW9kZWwgcmVhZEpvYihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljVHJhbnNjb2RlciBSZWFkSm9ifQogKiBAbWV0aG9kIE1vZGVsIHJlYWRQaXBlbGluZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljVHJhbnNjb2RlciBSZWFkUGlwZWxpbmV9CiAqIEBtZXRob2QgTW9kZWwgcmVhZFByZXNldChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljVHJhbnNjb2RlciBSZWFkUHJlc2V0fQogKiBAbWV0aG9kIE1vZGVsIHRlc3RSb2xlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNUcmFuc2NvZGVyIFRlc3RSb2xlfQogKiBAbWV0aG9kIE1vZGVsIHVwZGF0ZVBpcGVsaW5lKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVsYXN0aWNUcmFuc2NvZGVyIFVwZGF0ZVBpcGVsaW5lfQogKiBAbWV0aG9kIE1vZGVsIHVwZGF0ZVBpcGVsaW5lTm90aWZpY2F0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbGFzdGljVHJhbnNjb2RlciBVcGRhdGVQaXBlbGluZU5vdGlmaWNhdGlvbnN9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlUGlwZWxpbmVTdGF0dXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRWxhc3RpY1RyYW5zY29kZXIgVXBkYXRlUGlwZWxpbmVTdGF0dXN9CiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0Sm9ic0J5UGlwZWxpbmVJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0Sm9ic0J5UGlwZWxpbmUgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0Sm9ic0J5U3RhdHVzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdEpvYnNCeVN0YXR1cyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RQaXBlbGluZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0UGlwZWxpbmVzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdFByZXNldHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0UHJlc2V0cyBvcGVyYXRpb24KICoKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2UtZWxhc3RpY3RyYW5zY29kZXIuaHRtbCBVc2VyIGd1aWRlCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuRWxhc3RpY1RyYW5zY29kZXIuRWxhc3RpY1RyYW5zY29kZXJDbGllbnQuaHRtbCBBUEkgZG9jcwogKi8KY2xhc3MgRWxhc3RpY1RyYW5zY29kZXJDbGllbnQgZXh0ZW5kcyBBYnN0cmFjdENsaWVudAp7CiAgICBjb25zdCBMQVRFU1RfQVBJX1ZFUlNJT04gPSAnMjAxMi0wOS0yNSc7CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgQW1hem9uIEVsYXN0aWMgVHJhbnNjb2RlciBjbGllbnQgdXNpbmcgYW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBvcHRpb25zLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICRjb25maWcgQ2xpZW50IGNvbmZpZ3VyYXRpb24gZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQHNlZSBcQXdzXENvbW1vblxDbGllbnRcRGVmYXVsdENsaWVudCBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBjb25maWd1cmF0aW9uIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KF9fTkFNRVNQQUNFX18pCiAgICAgICAgICAgIC0+c2V0Q29uZmlnKCRjb25maWcpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnRGVmYXVsdHMoYXJyYXkoCiAgICAgICAgICAgICAgICBPcHRpb25zOjpWRVJTSU9OICAgICAgICAgICAgID0+IHNlbGY6OkxBVEVTVF9BUElfVkVSU0lPTiwKICAgICAgICAgICAgICAgIE9wdGlvbnM6OlNFUlZJQ0VfREVTQ1JJUFRJT04gPT4gX19ESVJfXyAuICcvUmVzb3VyY2VzL2VsYXN0aWN0cmFuc2NvZGVyLSVzLnBocCcKICAgICAgICAgICAgKSkKICAgICAgICAgICAgLT5zZXRFeGNlcHRpb25QYXJzZXIobmV3IEpzb25SZXN0RXhjZXB0aW9uUGFyc2VyKCkpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticTranscoder/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticTranscoder/Exception/AccessDeniedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY1RyYW5zY29kZXJcRXhjZXB0aW9uOwoKLyoqCiAqIEdlbmVyYWwgYXV0aGVudGljYXRpb24gZmFpbHVyZS4gVGhlIHJlcXVlc3Qgd2FzIG5vdCBzaWduZWQgY29ycmVjdGx5LgogKi8KY2xhc3MgQWNjZXNzRGVuaWVkRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY1RyYW5zY29kZXJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticTranscoder/Exception/ElasticTranscoderException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY1RyYW5zY29kZXJcRXhjZXB0aW9uOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbjsKCi8qKgogKiBEZWZhdWx0IHNlcnZpY2UgZXhjZXB0aW9uIGNsYXNzCiAqLwpjbGFzcyBFbGFzdGljVHJhbnNjb2RlckV4Y2VwdGlvbiBleHRlbmRzIFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticTranscoder/Exception/IncompatibleVersionException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY1RyYW5zY29kZXJcRXhjZXB0aW9uOwoKLyoqCiAqIEV4Y2VwdGlvbiB0aGF0IG9jY3VycyB3aGVuIGEgSW5jb21wYXRpYmxlVmVyc2lvbkV4Y2VwdGlvbiBlcnJvciBpcyBlbmNvdW50ZXJlZAogKi8KY2xhc3MgSW5jb21wYXRpYmxlVmVyc2lvbkV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aWNUcmFuc2NvZGVyRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticTranscoder/Exception/InternalServiceException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY1RyYW5zY29kZXJcRXhjZXB0aW9uOwoKLyoqCiAqIEVsYXN0aWMgVHJhbnNjb2RlciBlbmNvdW50ZXJlZCBhbiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGlsZSB0cnlpbmcgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC4KICovCmNsYXNzIEludGVybmFsU2VydmljZUV4Y2VwdGlvbiBleHRlbmRzIEVsYXN0aWNUcmFuc2NvZGVyRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticTranscoder/Exception/LimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY1RyYW5zY29kZXJcRXhjZXB0aW9uOwoKLyoqCiAqIFRvbyBtYW55IG9wZXJhdGlvbnMgZm9yIGEgZ2l2ZW4gQVdTIGFjY291bnQuIEZvciBleGFtcGxlLCB0aGUgbnVtYmVyIG9mIHBpcGVsaW5lcyBleGNlZWRzIHRoZSBtYXhpbXVtIGFsbG93ZWQuCiAqLwpjbGFzcyBMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY1RyYW5zY29kZXJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticTranscoder/Exception/ResourceInUseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY1RyYW5zY29kZXJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXNvdXJjZSB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gY2hhbmdlIGlzIGluIHVzZS4gRm9yIGV4YW1wbGUsIHlvdSBhcmUgYXR0ZW1wdGluZyB0byBkZWxldGUgYSBwaXBlbGluZSB0aGF0IGlzIGN1cnJlbnRseSBpbiB1c2UuCiAqLwpjbGFzcyBSZXNvdXJjZUluVXNlRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY1RyYW5zY29kZXJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticTranscoder/Exception/ResourceNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY1RyYW5zY29kZXJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IGF2YWlsYWJsZS4gRm9yIGV4YW1wbGUsIHRoZSBwaXBlbGluZSB0byB3aGljaCB5b3UncmUgdHJ5aW5nIHRvIGFkZCBhIGpvYiBkb2Vzbid0IGV4aXN0IG9yIGlzIHN0aWxsIGJlaW5nIGNyZWF0ZWQuCiAqLwpjbGFzcyBSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY1RyYW5zY29kZXJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticTranscoder/Exception/ValidationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRWxhc3RpY1RyYW5zY29kZXJcRXhjZXB0aW9uOwoKLyoqCiAqIE9uZSBvciBtb3JlIHJlcXVpcmVkIHBhcmFtZXRlciB2YWx1ZXMgd2VyZSBub3QgcHJvdmlkZWQgaW4gdGhlIHJlcXVlc3QuCiAqLwpjbGFzcyBWYWxpZGF0aW9uRXhjZXB0aW9uIGV4dGVuZHMgRWxhc3RpY1RyYW5zY29kZXJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticTranscoder/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ElasticTranscoder/Resources/elastictranscoder-2012-09-25.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTItMDktMjUnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnZWxhc3RpY3RyYW5zY29kZXInLAogICAgJ3NlcnZpY2VGdWxsTmFtZScgPT4gJ0FtYXpvbiBFbGFzdGljIFRyYW5zY29kZXInLAogICAgJ3NlcnZpY2VUeXBlJyA9PiAncmVzdC1qc29uJywKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjQnLAogICAgJ25hbWVzcGFjZScgPT4gJ0VsYXN0aWNUcmFuc2NvZGVyJywKICAgICdyZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAndXMtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VsYXN0aWN0cmFuc2NvZGVyLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWxhc3RpY3RyYW5zY29kZXIudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljdHJhbnNjb2Rlci51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnZXUtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VsYXN0aWN0cmFuc2NvZGVyLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1ub3J0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljdHJhbnNjb2Rlci5hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljdHJhbnNjb2Rlci5hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljdHJhbnNjb2Rlci5hcC1zb3V0aGVhc3QtMi5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdzYS1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWxhc3RpY3RyYW5zY29kZXIuc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICApLAogICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICdDYW5jZWxKb2InID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0RFTEVURScsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0wOS0yNS9qb2JzL3tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIHJlcXVpcmVkIHBhcmFtZXRlciB2YWx1ZXMgd2VyZSBub3QgcHJvdmlkZWQgaW4gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbmNvbXBhdGlibGVWZXJzaW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdCBvciBpcyBub3QgYXZhaWxhYmxlLiBGb3IgZXhhbXBsZSwgdGhlIHBpcGVsaW5lIHRvIHdoaWNoIHlvdVwncmUgdHJ5aW5nIHRvIGFkZCBhIGpvYiBkb2VzblwndCBleGlzdCBvciBpcyBzdGlsbCBiZWluZyBjcmVhdGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXNvdXJjZSB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gY2hhbmdlIGlzIGluIHVzZS4gRm9yIGV4YW1wbGUsIHlvdSBhcmUgYXR0ZW1wdGluZyB0byBkZWxldGUgYSBwaXBlbGluZSB0aGF0IGlzIGN1cnJlbnRseSBpbiB1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZUluVXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnR2VuZXJhbCBhdXRoZW50aWNhdGlvbiBmYWlsdXJlLiBUaGUgcmVxdWVzdCB3YXMgbm90IHNpZ25lZCBjb3JyZWN0bHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdFbGFzdGljIFRyYW5zY29kZXIgZW5jb3VudGVyZWQgYW4gdW5leHBlY3RlZCBleGNlcHRpb24gd2hpbGUgdHJ5aW5nIHRvIGZ1bGZpbGwgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZpY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVKb2InID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDktMjUvam9icycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ3JlYXRlSm9iUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUGlwZWxpbmVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRnJhbWVSYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc29sdXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXNwZWN0UmF0aW8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW50ZXJsYWNlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb250YWluZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGh1bWJuYWlsUGF0dGVybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSb3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJlc2V0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2VnbWVudER1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1dhdGVybWFya3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSm9iV2F0ZXJtYXJrJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlc2V0V2F0ZXJtYXJrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDQwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5wdXRLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FsYnVtQXJ0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVyZ2VQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJ0d29yaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBcnR3b3JrJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5wdXRLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhXaWR0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhIZWlnaHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2l6aW5nUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhZGRpbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxidW1BcnRGb3JtYXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb21wb3NpdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDbGlwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGltZVNwYW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGFydFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3V0cHV0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAzMCwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NyZWF0ZUpvYk91dHB1dCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaHVtYm5haWxQYXR0ZXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVzZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWdtZW50RHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2F0ZXJtYXJrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdKb2JXYXRlcm1hcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVzZXRXYXRlcm1hcmtJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lucHV0S2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsYnVtQXJ0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVyZ2VQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJ0d29yaycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBcnR3b3JrJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5wdXRLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heFdpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heEhlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXppbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFkZGluZ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGJ1bUFydEZvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29tcG9zaXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2xpcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpbWVTcGFuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhcnRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0R1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPdXRwdXRLZXlQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGxheWxpc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDMwLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ3JlYXRlSm9iUGxheWxpc3QnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Zvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPdXRwdXRLZXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDMwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnS2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnT25lIG9yIG1vcmUgcmVxdWlyZWQgcGFyYW1ldGVyIHZhbHVlcyB3ZXJlIG5vdCBwcm92aWRlZCBpbiB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luY29tcGF0aWJsZVZlcnNpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0IG9yIGlzIG5vdCBhdmFpbGFibGUuIEZvciBleGFtcGxlLCB0aGUgcGlwZWxpbmUgdG8gd2hpY2ggeW91XCdyZSB0cnlpbmcgdG8gYWRkIGEgam9iIGRvZXNuXCd0IGV4aXN0IG9yIGlzIHN0aWxsIGJlaW5nIGNyZWF0ZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnR2VuZXJhbCBhdXRoZW50aWNhdGlvbiBmYWlsdXJlLiBUaGUgcmVxdWVzdCB3YXMgbm90IHNpZ25lZCBjb3JyZWN0bHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUb28gbWFueSBvcGVyYXRpb25zIGZvciBhIGdpdmVuIEFXUyBhY2NvdW50LiBGb3IgZXhhbXBsZSwgdGhlIG51bWJlciBvZiBwaXBlbGluZXMgZXhjZWVkcyB0aGUgbWF4aW11bSBhbGxvd2VkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0VsYXN0aWMgVHJhbnNjb2RlciBlbmNvdW50ZXJlZCBhbiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGlsZSB0cnlpbmcgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVBpcGVsaW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTA5LTI1L3BpcGVsaW5lcycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ3JlYXRlUGlwZWxpbmVSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA0MCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5wdXRCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3V0cHV0QnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JvbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTm90aWZpY2F0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2dyZXNzaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBsZXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdXYXJuaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50Q29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0b3JhZ2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQZXJtaXNzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhJdGVtcycgPT4gMzAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGVybWlzc2lvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FjY2VzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhJdGVtcycgPT4gMzAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWNjZXNzQ29udHJvbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUaHVtYm5haWxDb25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RvcmFnZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Blcm1pc3Npb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAzMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQZXJtaXNzaW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWNjZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAzMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBY2Nlc3NDb250cm9sJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIHJlcXVpcmVkIHBhcmFtZXRlciB2YWx1ZXMgd2VyZSBub3QgcHJvdmlkZWQgaW4gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbmNvbXBhdGlibGVWZXJzaW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnR2VuZXJhbCBhdXRoZW50aWNhdGlvbiBmYWlsdXJlLiBUaGUgcmVxdWVzdCB3YXMgbm90IHNpZ25lZCBjb3JyZWN0bHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0IG9yIGlzIG5vdCBhdmFpbGFibGUuIEZvciBleGFtcGxlLCB0aGUgcGlwZWxpbmUgdG8gd2hpY2ggeW91XCdyZSB0cnlpbmcgdG8gYWRkIGEgam9iIGRvZXNuXCd0IGV4aXN0IG9yIGlzIHN0aWxsIGJlaW5nIGNyZWF0ZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVG9vIG1hbnkgb3BlcmF0aW9ucyBmb3IgYSBnaXZlbiBBV1MgYWNjb3VudC4gRm9yIGV4YW1wbGUsIHRoZSBudW1iZXIgb2YgcGlwZWxpbmVzIGV4Y2VlZHMgdGhlIG1heGltdW0gYWxsb3dlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdFbGFzdGljIFRyYW5zY29kZXIgZW5jb3VudGVyZWQgYW4gdW5leHBlY3RlZCBleGNlcHRpb24gd2hpbGUgdHJ5aW5nIHRvIGZ1bGZpbGwgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZpY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVQcmVzZXQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDktMjUvcHJlc2V0cycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ3JlYXRlUHJlc2V0UmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250YWluZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmlkZW8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlYycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlY09wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVfbmFtZScgPT4gJ0NvZGVjT3B0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0tleWZyYW1lc01heERpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRml4ZWRHT1AnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQml0UmF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdGcmFtZVJhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWF4RnJhbWVSYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc29sdXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXNwZWN0UmF0aW8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWF4V2lkdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWF4SGVpZ2h0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc3BsYXlBc3BlY3RSYXRpbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTaXppbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUGFkZGluZ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdXYXRlcm1hcmtzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ByZXNldFdhdGVybWFyaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA0MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heFdpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heEhlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXppbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSG9yaXpvbnRhbEFsaWduJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hvcml6b250YWxPZmZzZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmVydGljYWxBbGlnbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWZXJ0aWNhbE9mZnNldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcGFjaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXVkaW8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlYycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTYW1wbGVSYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0JpdFJhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2hhbm5lbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RodW1ibmFpbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdGb3JtYXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW50ZXJ2YWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmVzb2x1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBc3BlY3RSYXRpbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdNYXhXaWR0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdNYXhIZWlnaHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2l6aW5nUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1BhZGRpbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIHJlcXVpcmVkIHBhcmFtZXRlciB2YWx1ZXMgd2VyZSBub3QgcHJvdmlkZWQgaW4gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbmNvbXBhdGlibGVWZXJzaW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnR2VuZXJhbCBhdXRoZW50aWNhdGlvbiBmYWlsdXJlLiBUaGUgcmVxdWVzdCB3YXMgbm90IHNpZ25lZCBjb3JyZWN0bHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUb28gbWFueSBvcGVyYXRpb25zIGZvciBhIGdpdmVuIEFXUyBhY2NvdW50LiBGb3IgZXhhbXBsZSwgdGhlIG51bWJlciBvZiBwaXBlbGluZXMgZXhjZWVkcyB0aGUgbWF4aW11bSBhbGxvd2VkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0VsYXN0aWMgVHJhbnNjb2RlciBlbmNvdW50ZXJlZCBhbiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGlsZSB0cnlpbmcgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVBpcGVsaW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdERUxFVEUnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDktMjUvcGlwZWxpbmVzL3tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIHJlcXVpcmVkIHBhcmFtZXRlciB2YWx1ZXMgd2VyZSBub3QgcHJvdmlkZWQgaW4gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbmNvbXBhdGlibGVWZXJzaW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdCBvciBpcyBub3QgYXZhaWxhYmxlLiBGb3IgZXhhbXBsZSwgdGhlIHBpcGVsaW5lIHRvIHdoaWNoIHlvdVwncmUgdHJ5aW5nIHRvIGFkZCBhIGpvYiBkb2VzblwndCBleGlzdCBvciBpcyBzdGlsbCBiZWluZyBjcmVhdGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXNvdXJjZSB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gY2hhbmdlIGlzIGluIHVzZS4gRm9yIGV4YW1wbGUsIHlvdSBhcmUgYXR0ZW1wdGluZyB0byBkZWxldGUgYSBwaXBlbGluZSB0aGF0IGlzIGN1cnJlbnRseSBpbiB1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZUluVXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnR2VuZXJhbCBhdXRoZW50aWNhdGlvbiBmYWlsdXJlLiBUaGUgcmVxdWVzdCB3YXMgbm90IHNpZ25lZCBjb3JyZWN0bHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdFbGFzdGljIFRyYW5zY29kZXIgZW5jb3VudGVyZWQgYW4gdW5leHBlY3RlZCBleGNlcHRpb24gd2hpbGUgdHJ5aW5nIHRvIGZ1bGZpbGwgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZpY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVQcmVzZXQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0RFTEVURScsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0wOS0yNS9wcmVzZXRzL3tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIHJlcXVpcmVkIHBhcmFtZXRlciB2YWx1ZXMgd2VyZSBub3QgcHJvdmlkZWQgaW4gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbmNvbXBhdGlibGVWZXJzaW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdCBvciBpcyBub3QgYXZhaWxhYmxlLiBGb3IgZXhhbXBsZSwgdGhlIHBpcGVsaW5lIHRvIHdoaWNoIHlvdVwncmUgdHJ5aW5nIHRvIGFkZCBhIGpvYiBkb2VzblwndCBleGlzdCBvciBpcyBzdGlsbCBiZWluZyBjcmVhdGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0dlbmVyYWwgYXV0aGVudGljYXRpb24gZmFpbHVyZS4gVGhlIHJlcXVlc3Qgd2FzIG5vdCBzaWduZWQgY29ycmVjdGx5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnRWxhc3RpYyBUcmFuc2NvZGVyIGVuY291bnRlcmVkIGFuIHVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoaWxlIHRyeWluZyB0byBmdWxmaWxsIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2aWNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdEpvYnNCeVBpcGVsaW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDktMjUvam9ic0J5UGlwZWxpbmUve1BpcGVsaW5lSWR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0Sm9ic0J5UGlwZWxpbmVSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdQaXBlbGluZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FzY2VuZGluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGFnZVRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSByZXF1aXJlZCBwYXJhbWV0ZXIgdmFsdWVzIHdlcmUgbm90IHByb3ZpZGVkIGluIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5jb21wYXRpYmxlVmVyc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IGF2YWlsYWJsZS4gRm9yIGV4YW1wbGUsIHRoZSBwaXBlbGluZSB0byB3aGljaCB5b3VcJ3JlIHRyeWluZyB0byBhZGQgYSBqb2IgZG9lc25cJ3QgZXhpc3Qgb3IgaXMgc3RpbGwgYmVpbmcgY3JlYXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdHZW5lcmFsIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmUuIFRoZSByZXF1ZXN0IHdhcyBub3Qgc2lnbmVkIGNvcnJlY3RseS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0VsYXN0aWMgVHJhbnNjb2RlciBlbmNvdW50ZXJlZCBhbiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGlsZSB0cnlpbmcgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RKb2JzQnlTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0wOS0yNS9qb2JzQnlTdGF0dXMve1N0YXR1c30nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RKb2JzQnlTdGF0dXNSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXNjZW5kaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYWdlVG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIHJlcXVpcmVkIHBhcmFtZXRlciB2YWx1ZXMgd2VyZSBub3QgcHJvdmlkZWQgaW4gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbmNvbXBhdGlibGVWZXJzaW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdCBvciBpcyBub3QgYXZhaWxhYmxlLiBGb3IgZXhhbXBsZSwgdGhlIHBpcGVsaW5lIHRvIHdoaWNoIHlvdVwncmUgdHJ5aW5nIHRvIGFkZCBhIGpvYiBkb2VzblwndCBleGlzdCBvciBpcyBzdGlsbCBiZWluZyBjcmVhdGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0dlbmVyYWwgYXV0aGVudGljYXRpb24gZmFpbHVyZS4gVGhlIHJlcXVlc3Qgd2FzIG5vdCBzaWduZWQgY29ycmVjdGx5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnRWxhc3RpYyBUcmFuc2NvZGVyIGVuY291bnRlcmVkIGFuIHVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoaWxlIHRyeWluZyB0byBmdWxmaWxsIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2aWNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFBpcGVsaW5lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTA5LTI1L3BpcGVsaW5lcycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdFBpcGVsaW5lc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSByZXF1aXJlZCBwYXJhbWV0ZXIgdmFsdWVzIHdlcmUgbm90IHByb3ZpZGVkIGluIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5jb21wYXRpYmxlVmVyc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0dlbmVyYWwgYXV0aGVudGljYXRpb24gZmFpbHVyZS4gVGhlIHJlcXVlc3Qgd2FzIG5vdCBzaWduZWQgY29ycmVjdGx5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnRWxhc3RpYyBUcmFuc2NvZGVyIGVuY291bnRlcmVkIGFuIHVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoaWxlIHRyeWluZyB0byBmdWxmaWxsIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2aWNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0UHJlc2V0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTA5LTI1L3ByZXNldHMnLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RQcmVzZXRzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIHJlcXVpcmVkIHBhcmFtZXRlciB2YWx1ZXMgd2VyZSBub3QgcHJvdmlkZWQgaW4gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbmNvbXBhdGlibGVWZXJzaW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnR2VuZXJhbCBhdXRoZW50aWNhdGlvbiBmYWlsdXJlLiBUaGUgcmVxdWVzdCB3YXMgbm90IHNpZ25lZCBjb3JyZWN0bHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdFbGFzdGljIFRyYW5zY29kZXIgZW5jb3VudGVyZWQgYW4gdW5leHBlY3RlZCBleGNlcHRpb24gd2hpbGUgdHJ5aW5nIHRvIGZ1bGZpbGwgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZpY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlYWRKb2InID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0wOS0yNS9qb2JzL3tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1JlYWRKb2JSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSByZXF1aXJlZCBwYXJhbWV0ZXIgdmFsdWVzIHdlcmUgbm90IHByb3ZpZGVkIGluIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5jb21wYXRpYmxlVmVyc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IGF2YWlsYWJsZS4gRm9yIGV4YW1wbGUsIHRoZSBwaXBlbGluZSB0byB3aGljaCB5b3VcJ3JlIHRyeWluZyB0byBhZGQgYSBqb2IgZG9lc25cJ3QgZXhpc3Qgb3IgaXMgc3RpbGwgYmVpbmcgY3JlYXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdHZW5lcmFsIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmUuIFRoZSByZXF1ZXN0IHdhcyBub3Qgc2lnbmVkIGNvcnJlY3RseS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0VsYXN0aWMgVHJhbnNjb2RlciBlbmNvdW50ZXJlZCBhbiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGlsZSB0cnlpbmcgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlYWRQaXBlbGluZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTA5LTI1L3BpcGVsaW5lcy97SWR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdSZWFkUGlwZWxpbmVSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSByZXF1aXJlZCBwYXJhbWV0ZXIgdmFsdWVzIHdlcmUgbm90IHByb3ZpZGVkIGluIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5jb21wYXRpYmxlVmVyc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IGF2YWlsYWJsZS4gRm9yIGV4YW1wbGUsIHRoZSBwaXBlbGluZSB0byB3aGljaCB5b3VcJ3JlIHRyeWluZyB0byBhZGQgYSBqb2IgZG9lc25cJ3QgZXhpc3Qgb3IgaXMgc3RpbGwgYmVpbmcgY3JlYXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdHZW5lcmFsIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmUuIFRoZSByZXF1ZXN0IHdhcyBub3Qgc2lnbmVkIGNvcnJlY3RseS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0VsYXN0aWMgVHJhbnNjb2RlciBlbmNvdW50ZXJlZCBhbiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGlsZSB0cnlpbmcgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlYWRQcmVzZXQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0wOS0yNS9wcmVzZXRzL3tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1JlYWRQcmVzZXRSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSByZXF1aXJlZCBwYXJhbWV0ZXIgdmFsdWVzIHdlcmUgbm90IHByb3ZpZGVkIGluIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5jb21wYXRpYmxlVmVyc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IGF2YWlsYWJsZS4gRm9yIGV4YW1wbGUsIHRoZSBwaXBlbGluZSB0byB3aGljaCB5b3VcJ3JlIHRyeWluZyB0byBhZGQgYSBqb2IgZG9lc25cJ3QgZXhpc3Qgb3IgaXMgc3RpbGwgYmVpbmcgY3JlYXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdHZW5lcmFsIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmUuIFRoZSByZXF1ZXN0IHdhcyBub3Qgc2lnbmVkIGNvcnJlY3RseS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0VsYXN0aWMgVHJhbnNjb2RlciBlbmNvdW50ZXJlZCBhbiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGlsZSB0cnlpbmcgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1Rlc3RSb2xlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTA5LTI1L3JvbGVUZXN0cycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVGVzdFJvbGVSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSb2xlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lucHV0QnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ091dHB1dEJ1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUb3BpY3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhJdGVtcycgPT4gMzAsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTbnNUb3BpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSByZXF1aXJlZCBwYXJhbWV0ZXIgdmFsdWVzIHdlcmUgbm90IHByb3ZpZGVkIGluIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5jb21wYXRpYmxlVmVyc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IGF2YWlsYWJsZS4gRm9yIGV4YW1wbGUsIHRoZSBwaXBlbGluZSB0byB3aGljaCB5b3VcJ3JlIHRyeWluZyB0byBhZGQgYSBqb2IgZG9lc25cJ3QgZXhpc3Qgb3IgaXMgc3RpbGwgYmVpbmcgY3JlYXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdHZW5lcmFsIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmUuIFRoZSByZXF1ZXN0IHdhcyBub3Qgc2lnbmVkIGNvcnJlY3RseS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0FjY2Vzc0RlbmllZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0VsYXN0aWMgVHJhbnNjb2RlciBlbmNvdW50ZXJlZCBhbiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGlsZSB0cnlpbmcgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmljZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZVBpcGVsaW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQVVQnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDktMjUvcGlwZWxpbmVzL3tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1VwZGF0ZVBpcGVsaW5lUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lucHV0QnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JvbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTm90aWZpY2F0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2dyZXNzaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBsZXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdXYXJuaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50Q29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0b3JhZ2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQZXJtaXNzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhJdGVtcycgPT4gMzAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGVybWlzc2lvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FjY2VzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhJdGVtcycgPT4gMzAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWNjZXNzQ29udHJvbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUaHVtYm5haWxDb25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RvcmFnZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Blcm1pc3Npb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAzMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQZXJtaXNzaW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWNjZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAzMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBY2Nlc3NDb250cm9sJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIHJlcXVpcmVkIHBhcmFtZXRlciB2YWx1ZXMgd2VyZSBub3QgcHJvdmlkZWQgaW4gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbmNvbXBhdGlibGVWZXJzaW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnR2VuZXJhbCBhdXRoZW50aWNhdGlvbiBmYWlsdXJlLiBUaGUgcmVxdWVzdCB3YXMgbm90IHNpZ25lZCBjb3JyZWN0bHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NEZW5pZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVzb3VyY2UgeW91IGFyZSBhdHRlbXB0aW5nIHRvIGNoYW5nZSBpcyBpbiB1c2UuIEZvciBleGFtcGxlLCB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gZGVsZXRlIGEgcGlwZWxpbmUgdGhhdCBpcyBjdXJyZW50bHkgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VJblVzZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IGF2YWlsYWJsZS4gRm9yIGV4YW1wbGUsIHRoZSBwaXBlbGluZSB0byB3aGljaCB5b3VcJ3JlIHRyeWluZyB0byBhZGQgYSBqb2IgZG9lc25cJ3QgZXhpc3Qgb3IgaXMgc3RpbGwgYmVpbmcgY3JlYXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdFbGFzdGljIFRyYW5zY29kZXIgZW5jb3VudGVyZWQgYW4gdW5leHBlY3RlZCBleGNlcHRpb24gd2hpbGUgdHJ5aW5nIHRvIGZ1bGZpbGwgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZpY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVQaXBlbGluZU5vdGlmaWNhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDktMjUvcGlwZWxpbmVzL3tJZH0vbm90aWZpY2F0aW9ucycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVXBkYXRlUGlwZWxpbmVOb3RpZmljYXRpb25zUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTm90aWZpY2F0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2dyZXNzaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBsZXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdXYXJuaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSByZXF1aXJlZCBwYXJhbWV0ZXIgdmFsdWVzIHdlcmUgbm90IHByb3ZpZGVkIGluIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5jb21wYXRpYmxlVmVyc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IGF2YWlsYWJsZS4gRm9yIGV4YW1wbGUsIHRoZSBwaXBlbGluZSB0byB3aGljaCB5b3VcJ3JlIHRyeWluZyB0byBhZGQgYSBqb2IgZG9lc25cJ3QgZXhpc3Qgb3IgaXMgc3RpbGwgYmVpbmcgY3JlYXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVzb3VyY2UgeW91IGFyZSBhdHRlbXB0aW5nIHRvIGNoYW5nZSBpcyBpbiB1c2UuIEZvciBleGFtcGxlLCB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gZGVsZXRlIGEgcGlwZWxpbmUgdGhhdCBpcyBjdXJyZW50bHkgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VJblVzZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0dlbmVyYWwgYXV0aGVudGljYXRpb24gZmFpbHVyZS4gVGhlIHJlcXVlc3Qgd2FzIG5vdCBzaWduZWQgY29ycmVjdGx5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnRWxhc3RpYyBUcmFuc2NvZGVyIGVuY291bnRlcmVkIGFuIHVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoaWxlIHRyeWluZyB0byBmdWxmaWxsIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2aWNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlUGlwZWxpbmVTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMDktMjUvcGlwZWxpbmVzL3tJZH0vc3RhdHVzJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdVcGRhdGVQaXBlbGluZVN0YXR1c1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSByZXF1aXJlZCBwYXJhbWV0ZXIgdmFsdWVzIHdlcmUgbm90IHByb3ZpZGVkIGluIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5jb21wYXRpYmxlVmVyc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IGF2YWlsYWJsZS4gRm9yIGV4YW1wbGUsIHRoZSBwaXBlbGluZSB0byB3aGljaCB5b3VcJ3JlIHRyeWluZyB0byBhZGQgYSBqb2IgZG9lc25cJ3QgZXhpc3Qgb3IgaXMgc3RpbGwgYmVpbmcgY3JlYXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVzb3VyY2UgeW91IGFyZSBhdHRlbXB0aW5nIHRvIGNoYW5nZSBpcyBpbiB1c2UuIEZvciBleGFtcGxlLCB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gZGVsZXRlIGEgcGlwZWxpbmUgdGhhdCBpcyBjdXJyZW50bHkgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VJblVzZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0dlbmVyYWwgYXV0aGVudGljYXRpb24gZmFpbHVyZS4gVGhlIHJlcXVlc3Qgd2FzIG5vdCBzaWduZWQgY29ycmVjdGx5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQWNjZXNzRGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnRWxhc3RpYyBUcmFuc2NvZGVyIGVuY291bnRlcmVkIGFuIHVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoaWxlIHRyeWluZyB0byBmdWxmaWxsIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2aWNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnbW9kZWxzJyA9PiBhcnJheSgKICAgICAgICAnRW1wdHlPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVKb2JSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSm9iJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUGlwZWxpbmVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGcmFtZVJhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb2x1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBc3BlY3RSYXRpbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnRlcmxhY2VkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRhaW5lcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaHVtYm5haWxQYXR0ZXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVzZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWdtZW50RHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1c0RldGFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2lkdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2F0ZXJtYXJrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdKb2JXYXRlcm1hcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVzZXRXYXRlcm1hcmtJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGJ1bUFydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lcmdlUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FydHdvcmsnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXJ0d29yaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lucHV0S2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heFdpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heEhlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXppbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFkZGluZ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGJ1bUFydEZvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb21wb3NpdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDbGlwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGltZVNwYW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGFydFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdPdXRwdXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0pvYk91dHB1dCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaHVtYm5haWxQYXR0ZXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVzZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWdtZW50RHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1c0RldGFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2lkdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2F0ZXJtYXJrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdKb2JXYXRlcm1hcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVzZXRXYXRlcm1hcmtJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGJ1bUFydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lcmdlUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FydHdvcmsnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXJ0d29yaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lucHV0S2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heFdpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heEhlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXppbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFkZGluZ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGJ1bUFydEZvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBvc2l0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NsaXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaW1lU3BhbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ091dHB1dEtleVByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQbGF5bGlzdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGxheWxpc3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Zvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPdXRwdXRLZXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXNEZXRhaWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVQaXBlbGluZVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdQaXBlbGluZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dEJ1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdPdXRwdXRCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUm9sZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOb3RpZmljYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZ3Jlc3NpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29tcGxldGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dhcm5pbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXJyb3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50Q29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0b3JhZ2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZXJtaXNzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQZXJtaXNzaW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY2Nlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWNjZXNzQ29udHJvbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUaHVtYm5haWxDb25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RvcmFnZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Blcm1pc3Npb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Blcm1pc3Npb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcmFudGVlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcmFudGVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FjY2VzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBY2Nlc3NDb250cm9sJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVQcmVzZXRSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUHJlc2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb250YWluZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXVkaW8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlYycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTYW1wbGVSYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JpdFJhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2hhbm5lbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWaWRlbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGVjJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGVjT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlmcmFtZXNNYXhEaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZpeGVkR09QJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JpdFJhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRnJhbWVSYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heEZyYW1lUmF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvbHV0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FzcGVjdFJhdGlvJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heFdpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heEhlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEaXNwbGF5QXNwZWN0UmF0aW8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2l6aW5nUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhZGRpbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2F0ZXJtYXJrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQcmVzZXRXYXRlcm1hcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhXaWR0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhIZWlnaHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2l6aW5nUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hvcml6b250YWxBbGlnbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIb3Jpem9udGFsT2Zmc2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZlcnRpY2FsQWxpZ24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmVydGljYWxPZmZzZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3BhY2l0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUaHVtYm5haWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9ybWF0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ludGVydmFsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc29sdXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXNwZWN0UmF0aW8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWF4V2lkdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWF4SGVpZ2h0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NpemluZ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYWRkaW5nUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnV2FybmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0Sm9ic0J5UGlwZWxpbmVSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSm9icycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdKb2InLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQaXBlbGluZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lucHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZyYW1lUmF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvbHV0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FzcGVjdFJhdGlvJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ludGVybGFjZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29udGFpbmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGh1bWJuYWlsUGF0dGVybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSb3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlc2V0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VnbWVudER1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXNEZXRhaWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIZWlnaHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dhdGVybWFya3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSm9iV2F0ZXJtYXJrJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlc2V0V2F0ZXJtYXJrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5wdXRLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxidW1BcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXJnZVBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcnR3b3JrJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0FydHdvcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhXaWR0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhIZWlnaHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2l6aW5nUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhZGRpbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxidW1BcnRGb3JtYXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb21wb3NpdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDbGlwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGltZVNwYW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGFydFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3V0cHV0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdKb2JPdXRwdXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGh1bWJuYWlsUGF0dGVybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSb3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlc2V0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VnbWVudER1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXNEZXRhaWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIZWlnaHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dhdGVybWFya3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSm9iV2F0ZXJtYXJrJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlc2V0V2F0ZXJtYXJrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5wdXRLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxidW1BcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXJnZVBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcnR3b3JrJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0FydHdvcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhXaWR0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhIZWlnaHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2l6aW5nUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhZGRpbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxidW1BcnRGb3JtYXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBvc2l0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NsaXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaW1lU3BhbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3V0cHV0S2V5UHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BsYXlsaXN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQbGF5bGlzdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9ybWF0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ091dHB1dEtleXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnS2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXNEZXRhaWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRQYWdlVG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdEpvYnNCeVN0YXR1c1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdKb2JzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0pvYicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BpcGVsaW5lSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5wdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRnJhbWVSYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc29sdXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXNwZWN0UmF0aW8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW50ZXJsYWNlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb250YWluZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaHVtYm5haWxQYXR0ZXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVzZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWdtZW50RHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1c0RldGFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2lkdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2F0ZXJtYXJrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdKb2JXYXRlcm1hcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVzZXRXYXRlcm1hcmtJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGJ1bUFydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lcmdlUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FydHdvcmsnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXJ0d29yaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lucHV0S2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heFdpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heEhlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXppbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFkZGluZ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGJ1bUFydEZvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBvc2l0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NsaXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaW1lU3BhbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPdXRwdXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0pvYk91dHB1dCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaHVtYm5haWxQYXR0ZXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVzZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWdtZW50RHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1c0RldGFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2lkdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2F0ZXJtYXJrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdKb2JXYXRlcm1hcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVzZXRXYXRlcm1hcmtJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGJ1bUFydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lcmdlUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FydHdvcmsnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXJ0d29yaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lucHV0S2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heFdpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heEhlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXppbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFkZGluZ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGJ1bUFydEZvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29tcG9zaXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2xpcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpbWVTcGFuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhcnRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0R1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPdXRwdXRLZXlQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGxheWxpc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1BsYXlsaXN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb3JtYXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3V0cHV0S2V5cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1c0RldGFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFBhZ2VUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0UGlwZWxpbmVzUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1BpcGVsaW5lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQaXBlbGluZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dEJ1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPdXRwdXRCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUm9sZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb3RpZmljYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZ3Jlc3NpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29tcGxldGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dhcm5pbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXJyb3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnRDb25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RvcmFnZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Blcm1pc3Npb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Blcm1pc3Npb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcmFudGVlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcmFudGVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FjY2VzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBY2Nlc3NDb250cm9sJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RodW1ibmFpbENvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdG9yYWdlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVybWlzc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGVybWlzc2lvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWNjZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0FjY2Vzc0NvbnRyb2wnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFByZXNldHNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUHJlc2V0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQcmVzZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRhaW5lcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdWRpbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGVjJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NhbXBsZVJhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQml0UmF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGFubmVscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlkZW8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlYycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlY09wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5ZnJhbWVzTWF4RGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGaXhlZEdPUCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCaXRSYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZyYW1lUmF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhGcmFtZVJhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb2x1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBc3BlY3RSYXRpbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhXaWR0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhIZWlnaHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGlzcGxheUFzcGVjdFJhdGlvJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NpemluZ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYWRkaW5nUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dhdGVybWFya3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUHJlc2V0V2F0ZXJtYXJrJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWF4V2lkdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWF4SGVpZ2h0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NpemluZ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIb3Jpem9udGFsQWxpZ24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSG9yaXpvbnRhbE9mZnNldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWZXJ0aWNhbEFsaWduJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZlcnRpY2FsT2Zmc2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wYWNpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaHVtYm5haWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRm9ybWF0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ludGVydmFsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc29sdXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXNwZWN0UmF0aW8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWF4V2lkdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWF4SGVpZ2h0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NpemluZ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYWRkaW5nUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlYWRKb2JSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSm9iJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUGlwZWxpbmVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGcmFtZVJhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb2x1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBc3BlY3RSYXRpbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnRlcmxhY2VkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRhaW5lcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaHVtYm5haWxQYXR0ZXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVzZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWdtZW50RHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1c0RldGFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2lkdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2F0ZXJtYXJrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdKb2JXYXRlcm1hcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVzZXRXYXRlcm1hcmtJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGJ1bUFydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lcmdlUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FydHdvcmsnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXJ0d29yaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lucHV0S2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heFdpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heEhlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXppbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFkZGluZ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGJ1bUFydEZvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb21wb3NpdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDbGlwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGltZVNwYW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGFydFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdPdXRwdXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0pvYk91dHB1dCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaHVtYm5haWxQYXR0ZXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVzZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWdtZW50RHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1c0RldGFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2lkdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2F0ZXJtYXJrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdKb2JXYXRlcm1hcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVzZXRXYXRlcm1hcmtJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGJ1bUFydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lcmdlUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FydHdvcmsnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXJ0d29yaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lucHV0S2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heFdpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heEhlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXppbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFkZGluZ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGJ1bUFydEZvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBvc2l0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NsaXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaW1lU3BhbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ091dHB1dEtleVByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQbGF5bGlzdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGxheWxpc3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Zvcm1hdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPdXRwdXRLZXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXNEZXRhaWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZWFkUGlwZWxpbmVSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUGlwZWxpbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW5wdXRCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnT3V0cHV0QnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1JvbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTm90aWZpY2F0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2dyZXNzaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBsZXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXYXJuaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudENvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdG9yYWdlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVybWlzc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGVybWlzc2lvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWNjZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0FjY2Vzc0NvbnRyb2wnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGh1bWJuYWlsQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0b3JhZ2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZXJtaXNzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQZXJtaXNzaW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY2Nlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWNjZXNzQ29udHJvbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVhZFByZXNldFJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdQcmVzZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRhaW5lcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBdWRpbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGVjJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NhbXBsZVJhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQml0UmF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGFubmVscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZpZGVvJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZWMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZWNPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleWZyYW1lc01heERpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRml4ZWRHT1AnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQml0UmF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGcmFtZVJhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWF4RnJhbWVSYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc29sdXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXNwZWN0UmF0aW8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWF4V2lkdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWF4SGVpZ2h0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc3BsYXlBc3BlY3RSYXRpbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXppbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFkZGluZ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXYXRlcm1hcmtzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ByZXNldFdhdGVybWFyaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heFdpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heEhlaWdodCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXppbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSG9yaXpvbnRhbEFsaWduJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hvcml6b250YWxPZmZzZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmVydGljYWxBbGlnbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWZXJ0aWNhbE9mZnNldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcGFjaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RodW1ibmFpbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb3JtYXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW50ZXJ2YWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb2x1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBc3BlY3RSYXRpbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhXaWR0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhIZWlnaHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2l6aW5nUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhZGRpbmdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdUZXN0Um9sZVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdWNjZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01lc3NhZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVQaXBlbGluZVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdQaXBlbGluZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dEJ1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdPdXRwdXRCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUm9sZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOb3RpZmljYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZ3Jlc3NpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29tcGxldGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dhcm5pbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXJyb3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50Q29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0b3JhZ2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZXJtaXNzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQZXJtaXNzaW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY2Nlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWNjZXNzQ29udHJvbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUaHVtYm5haWxDb25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RvcmFnZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Blcm1pc3Npb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Blcm1pc3Npb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcmFudGVlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcmFudGVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FjY2VzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBY2Nlc3NDb250cm9sJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVQaXBlbGluZU5vdGlmaWNhdGlvbnNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUGlwZWxpbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW5wdXRCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnT3V0cHV0QnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1JvbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTm90aWZpY2F0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2dyZXNzaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBsZXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXYXJuaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudENvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdG9yYWdlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVybWlzc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGVybWlzc2lvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWNjZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0FjY2Vzc0NvbnRyb2wnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGh1bWJuYWlsQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0b3JhZ2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZXJtaXNzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQZXJtaXNzaW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY2Nlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWNjZXNzQ29udHJvbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlUGlwZWxpbmVTdGF0dXNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUGlwZWxpbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW5wdXRCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnT3V0cHV0QnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1JvbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTm90aWZpY2F0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2dyZXNzaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBsZXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdXYXJuaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudENvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdG9yYWdlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVybWlzc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGVybWlzc2lvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWNjZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0FjY2Vzc0NvbnRyb2wnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGh1bWJuYWlsQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0b3JhZ2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZXJtaXNzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQZXJtaXNzaW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY2Nlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWNjZXNzQ29udHJvbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnaXRlcmF0b3JzJyA9PiBhcnJheSgKICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdMaXN0Sm9ic0J5UGlwZWxpbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnUGFnZVRva2VuJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdOZXh0UGFnZVRva2VuJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnSm9icycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdMaXN0Sm9ic0J5U3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ1BhZ2VUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTmV4dFBhZ2VUb2tlbicsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0pvYnMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdFBpcGVsaW5lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1BpcGVsaW5lcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdMaXN0UHJlc2V0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1ByZXNldHMnLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/EmrClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yOwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50Owp1c2UgQXdzXENvbW1vblxDbGllbnRcQ2xpZW50QnVpbGRlcjsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFBhcnNlclxKc29uUXVlcnlFeGNlcHRpb25QYXJzZXI7CnVzZSBBd3NcQ29tbW9uXEVudW1cQ2xpZW50T3B0aW9ucyBhcyBPcHRpb25zOwp1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlOwoKLyoqCiAqIENsaWVudCB0byBpbnRlcmFjdCB3aXRoIEFtYXpvbiBFbGFzdGljIE1hcFJlZHVjZQogKgogKiBAbWV0aG9kIE1vZGVsIGFkZEluc3RhbmNlR3JvdXBzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVtciBBZGRJbnN0YW5jZUdyb3Vwc30KICogQG1ldGhvZCBNb2RlbCBhZGRKb2JGbG93U3RlcHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRW1yIEFkZEpvYkZsb3dTdGVwc30KICogQG1ldGhvZCBNb2RlbCBhZGRUYWdzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVtciBBZGRUYWdzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlQ2x1c3RlcihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbXIgRGVzY3JpYmVDbHVzdGVyfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlSm9iRmxvd3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRW1yIERlc2NyaWJlSm9iRmxvd3N9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVTdGVwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVtciBEZXNjcmliZVN0ZXB9CiAqIEBtZXRob2QgTW9kZWwgbGlzdEJvb3RzdHJhcEFjdGlvbnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRW1yIExpc3RCb290c3RyYXBBY3Rpb25zfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RDbHVzdGVycyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbXIgTGlzdENsdXN0ZXJzfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RJbnN0YW5jZUdyb3VwcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbXIgTGlzdEluc3RhbmNlR3JvdXBzfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RJbnN0YW5jZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRW1yIExpc3RJbnN0YW5jZXN9CiAqIEBtZXRob2QgTW9kZWwgbGlzdFN0ZXBzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEVtciBMaXN0U3RlcHN9CiAqIEBtZXRob2QgTW9kZWwgbW9kaWZ5SW5zdGFuY2VHcm91cHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRW1yIE1vZGlmeUluc3RhbmNlR3JvdXBzfQogKiBAbWV0aG9kIE1vZGVsIHJlbW92ZVRhZ3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRW1yIFJlbW92ZVRhZ3N9CiAqIEBtZXRob2QgTW9kZWwgcnVuSm9iRmxvdyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbXIgUnVuSm9iRmxvd30KICogQG1ldGhvZCBNb2RlbCBzZXRUZXJtaW5hdGlvblByb3RlY3Rpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRW1yIFNldFRlcm1pbmF0aW9uUHJvdGVjdGlvbn0KICogQG1ldGhvZCBNb2RlbCBzZXRWaXNpYmxlVG9BbGxVc2VycyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBFbXIgU2V0VmlzaWJsZVRvQWxsVXNlcnN9CiAqIEBtZXRob2QgTW9kZWwgdGVybWluYXRlSm9iRmxvd3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgRW1yIFRlcm1pbmF0ZUpvYkZsb3dzfQogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVKb2JGbG93c0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlSm9iRmxvd3Mgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0Qm9vdHN0cmFwQWN0aW9uc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RCb290c3RyYXBBY3Rpb25zIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdENsdXN0ZXJzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdENsdXN0ZXJzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdEluc3RhbmNlR3JvdXBzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdEluc3RhbmNlR3JvdXBzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdEluc3RhbmNlc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RJbnN0YW5jZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0U3RlcHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0U3RlcHMgb3BlcmF0aW9uCiAqCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9zZXJ2aWNlLWVtci5odG1sIFVzZXIgZ3VpZGUKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5FbXIuRW1yQ2xpZW50Lmh0bWwgQVBJIGRvY3MKICovCmNsYXNzIEVtckNsaWVudCBleHRlbmRzIEFic3RyYWN0Q2xpZW50CnsKICAgIGNvbnN0IExBVEVTVF9BUElfVkVSU0lPTiA9ICcyMDA5LTAzLTMxJzsKCiAgICAvKioKICAgICAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBBbWF6b24gRWxhc3RpYyBNYXBSZWR1Y2UgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEF3c1xDb21tb25cQ2xpZW50XERlZmF1bHRDbGllbnQgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9lbXItJXMucGhwJwogICAgICAgICAgICApKQogICAgICAgICAgICAtPnNldEV4Y2VwdGlvblBhcnNlcihuZXcgSnNvblF1ZXJ5RXhjZXB0aW9uUGFyc2VyKCkpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/ActionOnFailure.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgQWN0aW9uT25GYWlsdXJlIHZhbHVlcwogKi8KY2xhc3MgQWN0aW9uT25GYWlsdXJlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBURVJNSU5BVEVfSk9CX0ZMT1cgPSAnVEVSTUlOQVRFX0pPQl9GTE9XJzsKICAgIGNvbnN0IFRFUk1JTkFURV9DTFVTVEVSID0gJ1RFUk1JTkFURV9DTFVTVEVSJzsKICAgIGNvbnN0IENBTkNFTF9BTkRfV0FJVCA9ICdDQU5DRUxfQU5EX1dBSVQnOwogICAgY29uc3QgQ09OVElOVUVfSk9CX0ZMT1cgPSAnQ09OVElOVUUnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/ClusterState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgQ2x1c3RlclN0YXRlIHZhbHVlcwogKi8KY2xhc3MgQ2x1c3RlclN0YXRlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBTVEFSVElORyA9ICdTVEFSVElORyc7CiAgICBjb25zdCBCT09UU1RSQVBQSU5HID0gJ0JPT1RTVFJBUFBJTkcnOwogICAgY29uc3QgUlVOTklORyA9ICdSVU5OSU5HJzsKICAgIGNvbnN0IFdBSVRJTkcgPSAnV0FJVElORyc7CiAgICBjb25zdCBURVJNSU5BVElORyA9ICdURVJNSU5BVElORyc7CiAgICBjb25zdCBURVJNSU5BVEVEID0gJ1RFUk1JTkFURUQnOwogICAgY29uc3QgVEVSTUlOQVRFRF9XSVRIX0VSUk9SUyA9ICdURVJNSU5BVEVEX1dJVEhfRVJST1JTJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/ClusterStateChangeReasonCode.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgQ2x1c3RlclN0YXRlQ2hhbmdlUmVhc29uQ29kZSB2YWx1ZXMKICovCmNsYXNzIENsdXN0ZXJTdGF0ZUNoYW5nZVJlYXNvbkNvZGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IElOVEVSTkFMX0VSUk9SID0gJ0lOVEVSTkFMX0VSUk9SJzsKICAgIGNvbnN0IFZBTElEQVRJT05fRVJST1IgPSAnVkFMSURBVElPTl9FUlJPUic7CiAgICBjb25zdCBJTlNUQU5DRV9GQUlMVVJFID0gJ0lOU1RBTkNFX0ZBSUxVUkUnOwogICAgY29uc3QgQk9PVFNUUkFQX0ZBSUxVUkUgPSAnQk9PVFNUUkFQX0ZBSUxVUkUnOwogICAgY29uc3QgVVNFUl9SRVFVRVNUID0gJ1VTRVJfUkVRVUVTVCc7CiAgICBjb25zdCBTVEVQX0ZBSUxVUkUgPSAnU1RFUF9GQUlMVVJFJzsKICAgIGNvbnN0IEFMTF9TVEVQU19DT01QTEVURUQgPSAnQUxMX1NURVBTX0NPTVBMRVRFRCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/InstanceGroupState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgSW5zdGFuY2VHcm91cFN0YXRlIHZhbHVlcwogKi8KY2xhc3MgSW5zdGFuY2VHcm91cFN0YXRlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBQUk9WSVNJT05JTkcgPSAnUFJPVklTSU9OSU5HJzsKICAgIGNvbnN0IEJPT1RTVFJBUFBJTkcgPSAnQk9PVFNUUkFQUElORyc7CiAgICBjb25zdCBSVU5OSU5HID0gJ1JVTk5JTkcnOwogICAgY29uc3QgUkVTSVpJTkcgPSAnUkVTSVpJTkcnOwogICAgY29uc3QgU1VTUEVOREVEID0gJ1NVU1BFTkRFRCc7CiAgICBjb25zdCBURVJNSU5BVElORyA9ICdURVJNSU5BVElORyc7CiAgICBjb25zdCBURVJNSU5BVEVEID0gJ1RFUk1JTkFURUQnOwogICAgY29uc3QgQVJSRVNURUQgPSAnQVJSRVNURUQnOwogICAgY29uc3QgU0hVVFRJTkdfRE9XTiA9ICdTSFVUVElOR19ET1dOJzsKICAgIGNvbnN0IEVOREVEID0gJ0VOREVEJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/InstanceGroupStateChangeReasonCode.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgSW5zdGFuY2VHcm91cFN0YXRlQ2hhbmdlUmVhc29uQ29kZSB2YWx1ZXMKICovCmNsYXNzIEluc3RhbmNlR3JvdXBTdGF0ZUNoYW5nZVJlYXNvbkNvZGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IElOVEVSTkFMX0VSUk9SID0gJ0lOVEVSTkFMX0VSUk9SJzsKICAgIGNvbnN0IFZBTElEQVRJT05fRVJST1IgPSAnVkFMSURBVElPTl9FUlJPUic7CiAgICBjb25zdCBJTlNUQU5DRV9GQUlMVVJFID0gJ0lOU1RBTkNFX0ZBSUxVUkUnOwogICAgY29uc3QgQ0xVU1RFUl9URVJNSU5BVEVEID0gJ0NMVVNURVJfVEVSTUlOQVRFRCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/InstanceGroupType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgSW5zdGFuY2VHcm91cFR5cGUgdmFsdWVzCiAqLwpjbGFzcyBJbnN0YW5jZUdyb3VwVHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgTUFTVEVSID0gJ01BU1RFUic7CiAgICBjb25zdCBDT1JFID0gJ0NPUkUnOwogICAgY29uc3QgVEFTSyA9ICdUQVNLJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/InstanceRoleType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgSW5zdGFuY2VSb2xlVHlwZSB2YWx1ZXMKICovCmNsYXNzIEluc3RhbmNlUm9sZVR5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IE1BU1RFUiA9ICdNQVNURVInOwogICAgY29uc3QgQ09SRSA9ICdDT1JFJzsKICAgIGNvbnN0IFRBU0sgPSAnVEFTSyc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/InstanceState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgSW5zdGFuY2VTdGF0ZSB2YWx1ZXMKICovCmNsYXNzIEluc3RhbmNlU3RhdGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEFXQUlUSU5HX0ZVTEZJTExNRU5UID0gJ0FXQUlUSU5HX0ZVTEZJTExNRU5UJzsKICAgIGNvbnN0IFBST1ZJU0lPTklORyA9ICdQUk9WSVNJT05JTkcnOwogICAgY29uc3QgQk9PVFNUUkFQUElORyA9ICdCT09UU1RSQVBQSU5HJzsKICAgIGNvbnN0IFJVTk5JTkcgPSAnUlVOTklORyc7CiAgICBjb25zdCBURVJNSU5BVEVEID0gJ1RFUk1JTkFURUQnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/InstanceStateChangeReasonCode.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgSW5zdGFuY2VTdGF0ZUNoYW5nZVJlYXNvbkNvZGUgdmFsdWVzCiAqLwpjbGFzcyBJbnN0YW5jZVN0YXRlQ2hhbmdlUmVhc29uQ29kZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgSU5URVJOQUxfRVJST1IgPSAnSU5URVJOQUxfRVJST1InOwogICAgY29uc3QgVkFMSURBVElPTl9FUlJPUiA9ICdWQUxJREFUSU9OX0VSUk9SJzsKICAgIGNvbnN0IElOU1RBTkNFX0ZBSUxVUkUgPSAnSU5TVEFOQ0VfRkFJTFVSRSc7CiAgICBjb25zdCBCT09UU1RSQVBfRkFJTFVSRSA9ICdCT09UU1RSQVBfRkFJTFVSRSc7CiAgICBjb25zdCBDTFVTVEVSX1RFUk1JTkFURUQgPSAnQ0xVU1RFUl9URVJNSU5BVEVEJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/JobFlowExecutionState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgSm9iRmxvd0V4ZWN1dGlvblN0YXRlIHZhbHVlcwogKi8KY2xhc3MgSm9iRmxvd0V4ZWN1dGlvblN0YXRlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBTVEFSVElORyA9ICdTVEFSVElORyc7CiAgICBjb25zdCBCT09UU1RSQVBQSU5HID0gJ0JPT1RTVFJBUFBJTkcnOwogICAgY29uc3QgUlVOTklORyA9ICdSVU5OSU5HJzsKICAgIGNvbnN0IFdBSVRJTkcgPSAnV0FJVElORyc7CiAgICBjb25zdCBTSFVUVElOR19ET1dOID0gJ1NIVVRUSU5HX0RPV04nOwogICAgY29uc3QgVEVSTUlOQVRFRCA9ICdURVJNSU5BVEVEJzsKICAgIGNvbnN0IENPTVBMRVRFRCA9ICdDT01QTEVURUQnOwogICAgY29uc3QgRkFJTEVEID0gJ0ZBSUxFRCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/MarketType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgTWFya2V0VHlwZSB2YWx1ZXMKICovCmNsYXNzIE1hcmtldFR5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IE9OX0RFTUFORCA9ICdPTl9ERU1BTkQnOwogICAgY29uc3QgU1BPVCA9ICdTUE9UJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/StepExecutionState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgU3RlcEV4ZWN1dGlvblN0YXRlIHZhbHVlcwogKi8KY2xhc3MgU3RlcEV4ZWN1dGlvblN0YXRlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBQRU5ESU5HID0gJ1BFTkRJTkcnOwogICAgY29uc3QgUlVOTklORyA9ICdSVU5OSU5HJzsKICAgIGNvbnN0IENPTlRJTlVFRCA9ICdDT05USU5VRSc7CiAgICBjb25zdCBDT01QTEVURUQgPSAnQ09NUExFVEVEJzsKICAgIGNvbnN0IENBTkNFTExFRCA9ICdDQU5DRUxMRUQnOwogICAgY29uc3QgRkFJTEVEID0gJ0ZBSUxFRCc7CiAgICBjb25zdCBJTlRFUlJVUFRFRCA9ICdJTlRFUlJVUFRFRCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/StepState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgU3RlcFN0YXRlIHZhbHVlcwogKi8KY2xhc3MgU3RlcFN0YXRlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBQRU5ESU5HID0gJ1BFTkRJTkcnOwogICAgY29uc3QgUlVOTklORyA9ICdSVU5OSU5HJzsKICAgIGNvbnN0IENPTVBMRVRFRCA9ICdDT01QTEVURUQnOwogICAgY29uc3QgQ0FOQ0VMTEVEID0gJ0NBTkNFTExFRCc7CiAgICBjb25zdCBGQUlMRUQgPSAnRkFJTEVEJzsKICAgIGNvbnN0IElOVEVSUlVQVEVEID0gJ0lOVEVSUlVQVEVEJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Enum/StepStateChangeReasonCode.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgU3RlcFN0YXRlQ2hhbmdlUmVhc29uQ29kZSB2YWx1ZXMKICovCmNsYXNzIFN0ZXBTdGF0ZUNoYW5nZVJlYXNvbkNvZGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IE5PTkUgPSAnTk9ORSc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Exception/EmrException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb247CgovKioKICogRGVmYXVsdCBzZXJ2aWNlIGV4Y2VwdGlvbiBjbGFzcwogKi8KY2xhc3MgRW1yRXhjZXB0aW9uIGV4dGVuZHMgU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Exception/InternalServerErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEV4Y2VwdGlvbjsKCi8qKgogKiBJbmRpY2F0ZXMgdGhhdCBhbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0IGFuZCB0aGF0IHRoZSByZXF1ZXN0IHdhcyBub3QgY29tcGxldGVkLgogKi8KY2xhc3MgSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbiBleHRlbmRzIEVtckV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Exception/InternalServerException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGlzIGV4Y2VwdGlvbiBvY2N1cnMgd2hlbiB0aGVyZSBpcyBhbiBpbnRlcm5hbCBmYWlsdXJlIGluIHRoZSBFTVIgc2VydmljZS4KICovCmNsYXNzIEludGVybmFsU2VydmVyRXhjZXB0aW9uIGV4dGVuZHMgRW1yRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Exception/InvalidRequestException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRW1yXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGlzIGV4Y2VwdGlvbiBvY2N1cnMgd2hlbiB0aGVyZSBpcyBzb21ldGhpbmcgd3Jvbmcgd2l0aCB1c2VyIGlucHV0LgogKi8KY2xhc3MgSW52YWxpZFJlcXVlc3RFeGNlcHRpb24gZXh0ZW5kcyBFbXJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Emr/Resources/emr-2009-03-31.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMDktMDMtMzEnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnZWxhc3RpY21hcHJlZHVjZScsCiAgICAnc2VydmljZUZ1bGxOYW1lJyA9PiAnQW1hem9uIEVsYXN0aWMgTWFwUmVkdWNlJywKICAgICdzZXJ2aWNlQWJicmV2aWF0aW9uJyA9PiAnQW1hem9uIEVNUicsCiAgICAnc2VydmljZVR5cGUnID0+ICdqc29uJywKICAgICdqc29uVmVyc2lvbicgPT4gJzEuMScsCiAgICAndGFyZ2V0UHJlZml4JyA9PiAnRWxhc3RpY01hcFJlZHVjZS4nLAogICAgJ3RpbWVzdGFtcEZvcm1hdCcgPT4gJ3VuaXhUaW1lc3RhbXAnLAogICAgJ3NpZ25hdHVyZVZlcnNpb24nID0+ICd2NCcsCiAgICAnbmFtZXNwYWNlJyA9PiAnRW1yJywKICAgICdyZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAndXMtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWxhc3RpY21hcHJlZHVjZS51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWxhc3RpY21hcHJlZHVjZS51cy13ZXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtd2VzdC0yJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWxhc3RpY21hcHJlZHVjZS51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnZXUtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWxhc3RpY21hcHJlZHVjZS5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtbm9ydGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdlbGFzdGljbWFwcmVkdWNlLmFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLXNvdXRoZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWxhc3RpY21hcHJlZHVjZS5hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VsYXN0aWNtYXByZWR1Y2UuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnc2EtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZWxhc3RpY21hcHJlZHVjZS5zYS1lYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtZ292LXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2VsYXN0aWNtYXByZWR1Y2UudXMtZ292LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQWRkSW5zdGFuY2VHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQWRkSW5zdGFuY2VHcm91cHNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0VsYXN0aWNNYXBSZWR1Y2UuQWRkSW5zdGFuY2VHcm91cHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSW5zdGFuY2VHcm91cENvbmZpZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01hcmtldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVJvbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JpZFByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdKb2JGbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0IGFuZCB0aGF0IHRoZSByZXF1ZXN0IHdhcyBub3QgY29tcGxldGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0FkZEpvYkZsb3dTdGVwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdBZGRKb2JGbG93U3RlcHNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0VsYXN0aWNNYXBSZWR1Y2UuQWRkSm9iRmxvd1N0ZXBzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSm9iRmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RlcHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0ZXBDb25maWcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uT25GYWlsdXJlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hhZG9vcEphclN0ZXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdLZXlWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI4MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjgwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSmFyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjgwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWFpbkNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjgwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI4MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdCBhbmQgdGhhdCB0aGUgcmVxdWVzdCB3YXMgbm90IGNvbXBsZXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdBZGRUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdFbGFzdGljTWFwUmVkdWNlLkFkZFRhZ3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXNvdXJjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIG9jY3VycyB3aGVuIHRoZXJlIGlzIGFuIGludGVybmFsIGZhaWx1cmUgaW4gdGhlIEVNUiBzZXJ2aWNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBvY2N1cnMgd2hlbiB0aGVyZSBpcyBzb21ldGhpbmcgd3Jvbmcgd2l0aCB1c2VyIGlucHV0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNsdXN0ZXInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVDbHVzdGVyT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdFbGFzdGljTWFwUmVkdWNlLkRlc2NyaWJlQ2x1c3RlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBvY2N1cnMgd2hlbiB0aGVyZSBpcyBhbiBpbnRlcm5hbCBmYWlsdXJlIGluIHRoZSBFTVIgc2VydmljZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gb2NjdXJzIHdoZW4gdGhlcmUgaXMgc29tZXRoaW5nIHdyb25nIHdpdGggdXNlciBpbnB1dC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVKb2JGbG93cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZUpvYkZsb3dzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdFbGFzdGljTWFwUmVkdWNlLkRlc2NyaWJlSm9iRmxvd3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDcmVhdGVkQWZ0ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAndGltZXN0YW1wJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ3JlYXRlZEJlZm9yZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICd0aW1lc3RhbXAnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdKb2JGbG93SWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1htbFN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyODAsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSm9iRmxvd1N0YXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdKb2JGbG93RXhlY3V0aW9uU3RhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdCBhbmQgdGhhdCB0aGUgcmVxdWVzdCB3YXMgbm90IGNvbXBsZXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVN0ZXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVTdGVwT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdFbGFzdGljTWFwUmVkdWNlLkRlc2NyaWJlU3RlcCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGVwSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gb2NjdXJzIHdoZW4gdGhlcmUgaXMgYW4gaW50ZXJuYWwgZmFpbHVyZSBpbiB0aGUgRU1SIHNlcnZpY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIG9jY3VycyB3aGVuIHRoZXJlIGlzIHNvbWV0aGluZyB3cm9uZyB3aXRoIHVzZXIgaW5wdXQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RCb290c3RyYXBBY3Rpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RCb290c3RyYXBBY3Rpb25zT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdFbGFzdGljTWFwUmVkdWNlLkxpc3RCb290c3RyYXBBY3Rpb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBvY2N1cnMgd2hlbiB0aGVyZSBpcyBhbiBpbnRlcm5hbCBmYWlsdXJlIGluIHRoZSBFTVIgc2VydmljZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gb2NjdXJzIHdoZW4gdGhlcmUgaXMgc29tZXRoaW5nIHdyb25nIHdpdGggdXNlciBpbnB1dC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdENsdXN0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RDbHVzdGVyc091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRWxhc3RpY01hcFJlZHVjZS5MaXN0Q2x1c3RlcnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDcmVhdGVkQWZ0ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAndGltZXN0YW1wJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ3JlYXRlZEJlZm9yZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICd0aW1lc3RhbXAnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbHVzdGVyU3RhdGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NsdXN0ZXJTdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gb2NjdXJzIHdoZW4gdGhlcmUgaXMgYW4gaW50ZXJuYWwgZmFpbHVyZSBpbiB0aGUgRU1SIHNlcnZpY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIG9jY3VycyB3aGVuIHRoZXJlIGlzIHNvbWV0aGluZyB3cm9uZyB3aXRoIHVzZXIgaW5wdXQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RJbnN0YW5jZUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0SW5zdGFuY2VHcm91cHNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0VsYXN0aWNNYXBSZWR1Y2UuTGlzdEluc3RhbmNlR3JvdXBzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBvY2N1cnMgd2hlbiB0aGVyZSBpcyBhbiBpbnRlcm5hbCBmYWlsdXJlIGluIHRoZSBFTVIgc2VydmljZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gb2NjdXJzIHdoZW4gdGhlcmUgaXMgc29tZXRoaW5nIHdyb25nIHdpdGggdXNlciBpbnB1dC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdEluc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0SW5zdGFuY2VzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdFbGFzdGljTWFwUmVkdWNlLkxpc3RJbnN0YW5jZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbHVzdGVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlR3JvdXBUeXBlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJbnN0YW5jZUdyb3VwVHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gb2NjdXJzIHdoZW4gdGhlcmUgaXMgYW4gaW50ZXJuYWwgZmFpbHVyZSBpbiB0aGUgRU1SIHNlcnZpY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgZXhjZXB0aW9uIG9jY3VycyB3aGVuIHRoZXJlIGlzIHNvbWV0aGluZyB3cm9uZyB3aXRoIHVzZXIgaW5wdXQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RTdGVwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0U3RlcHNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0VsYXN0aWNNYXBSZWR1Y2UuTGlzdFN0ZXBzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0ZXBTdGF0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RlcFN0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBvY2N1cnMgd2hlbiB0aGVyZSBpcyBhbiBpbnRlcm5hbCBmYWlsdXJlIGluIHRoZSBFTVIgc2VydmljZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gb2NjdXJzIHdoZW4gdGhlcmUgaXMgc29tZXRoaW5nIHdyb25nIHdpdGggdXNlciBpbnB1dC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTW9kaWZ5SW5zdGFuY2VHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0VsYXN0aWNNYXBSZWR1Y2UuTW9kaWZ5SW5zdGFuY2VHcm91cHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJbnN0YW5jZUdyb3VwTW9kaWZ5Q29uZmlnJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRUMySW5zdGFuY2VJZHNUb1Rlcm1pbmF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJbnN0YW5jZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QgYW5kIHRoYXQgdGhlIHJlcXVlc3Qgd2FzIG5vdCBjb21wbGV0ZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVtb3ZlVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRWxhc3RpY01hcFJlZHVjZS5SZW1vdmVUYWdzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzb3VyY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWdLZXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGV4Y2VwdGlvbiBvY2N1cnMgd2hlbiB0aGVyZSBpcyBhbiBpbnRlcm5hbCBmYWlsdXJlIGluIHRoZSBFTVIgc2VydmljZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBleGNlcHRpb24gb2NjdXJzIHdoZW4gdGhlcmUgaXMgc29tZXRoaW5nIHdyb25nIHdpdGggdXNlciBpbnB1dC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUnVuSm9iRmxvdycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdSdW5Kb2JGbG93T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdFbGFzdGljTWFwUmVkdWNlLlJ1bkpvYkZsb3cnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9nVXJpJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyODAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FkZGl0aW9uYWxJbmZvJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyODAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FtaVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdNYXN0ZXJJbnN0YW5jZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1NsYXZlSW5zdGFuY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJbnN0YW5jZUdyb3VwQ29uZmlnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXJrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VSb2xlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JpZFByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRWMyS2V5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQbGFjZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjgwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnS2VlcEpvYkZsb3dBbGl2ZVdoZW5Ob1N0ZXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGVybWluYXRpb25Qcm90ZWN0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdIYWRvb3BWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VjMlN1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGVwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdGVwQ29uZmlnJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FjdGlvbk9uRmFpbHVyZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIYWRvb3BKYXJTdGVwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnS2V5VmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyODAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI4MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0phcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI4MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01haW5DbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI4MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FyZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnWG1sU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyODAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Jvb3RzdHJhcEFjdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQm9vdHN0cmFwQWN0aW9uQ29uZmlnJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NjcmlwdEJvb3RzdHJhcEFjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjgwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI4MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3VwcG9ydGVkUHJvZHVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnWG1sU3RyaW5nTWF4TGVuMjU2JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV3U3VwcG9ydGVkUHJvZHVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3VwcG9ydGVkUHJvZHVjdENvbmZpZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FyZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnWG1sU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI4MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWaXNpYmxlVG9BbGxVc2VycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdKb2JGbG93Um9sZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjgwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RhZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0IGFuZCB0aGF0IHRoZSByZXF1ZXN0IHdhcyBub3QgY29tcGxldGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NldFRlcm1pbmF0aW9uUHJvdGVjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRWxhc3RpY01hcFJlZHVjZS5TZXRUZXJtaW5hdGlvblByb3RlY3Rpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdKb2JGbG93SWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjgwLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Rlcm1pbmF0aW9uUHJvdGVjdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0IGFuZCB0aGF0IHRoZSByZXF1ZXN0IHdhcyBub3QgY29tcGxldGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NldFZpc2libGVUb0FsbFVzZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdFbGFzdGljTWFwUmVkdWNlLlNldFZpc2libGVUb0FsbFVzZXJzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSm9iRmxvd0lkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnWG1sU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI4MCwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWaXNpYmxlVG9BbGxVc2VycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdCBhbmQgdGhhdCB0aGUgcmVxdWVzdCB3YXMgbm90IGNvbXBsZXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdUZXJtaW5hdGVKb2JGbG93cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRWxhc3RpY01hcFJlZHVjZS5UZXJtaW5hdGVKb2JGbG93cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0pvYkZsb3dJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1htbFN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyODAsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdCBhbmQgdGhhdCB0aGUgcmVxdWVzdCB3YXMgbm90IGNvbXBsZXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICdBZGRJbnN0YW5jZUdyb3Vwc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSm9iRmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlR3JvdXBJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnWG1sU3RyaW5nTWF4TGVuMjU2JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0FkZEpvYkZsb3dTdGVwc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3RlcElkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmdNYXhMZW4yNTYnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRW1wdHlPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNsdXN0ZXJPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NsdXN0ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlQ2hhbmdlUmVhc29uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpbWVsaW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWFkeURhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZERhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRWMySW5zdGFuY2VBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRWMyS2V5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFYzJTdWJuZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFYzJBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lhbUluc3RhbmNlUHJvZmlsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0xvZ1VyaScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSZXF1ZXN0ZWRBbWlWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1J1bm5pbmdBbWlWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0F1dG9UZXJtaW5hdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Rlcm1pbmF0aW9uUHJvdGVjdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWaXNpYmxlVG9BbGxVc2VycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXBwbGljYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0FwcGxpY2F0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FyZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWRkaXRpb25hbEluZm8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlSm9iRmxvd3NPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0pvYkZsb3dzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0pvYkZsb3dEZXRhaWwnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdKb2JGbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMb2dVcmknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQW1pVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFeGVjdXRpb25TdGF0dXNEZXRhaWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGlvbkRhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0RGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVhZHlEYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmREYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0U3RhdGVDaGFuZ2VSZWFzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01hc3Rlckluc3RhbmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXN0ZXJQdWJsaWNEbnNOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01hc3Rlckluc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2xhdmVJbnN0YW5jZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSW5zdGFuY2VHcm91cERldGFpbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlR3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01hcmtldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVJvbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQmlkUHJpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlUmVxdWVzdENvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVJ1bm5pbmdDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdFN0YXRlQ2hhbmdlUmVhc29uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0aW9uRGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhcnREYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWFkeURhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZERhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05vcm1hbGl6ZWRJbnN0YW5jZUhvdXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFYzJLZXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VjMlN1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BsYWNlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZWVwSm9iRmxvd0FsaXZlV2hlbk5vU3RlcHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Rlcm1pbmF0aW9uUHJvdGVjdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIYWRvb3BWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGVwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdGVwRGV0YWlsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RlcENvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uT25GYWlsdXJlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hhZG9vcEphclN0ZXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0tleVZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0phcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYWluQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V4ZWN1dGlvblN0YXR1c0RldGFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0aW9uRGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhcnREYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmREYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0U3RhdGVDaGFuZ2VSZWFzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Jvb3RzdHJhcEFjdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQm9vdHN0cmFwQWN0aW9uRGV0YWlsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQm9vdHN0cmFwQWN0aW9uQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTY3JpcHRCb290c3RyYXBBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FyZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnWG1sU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdXBwb3J0ZWRQcm9kdWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdYbWxTdHJpbmdNYXhMZW4yNTYnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlzaWJsZVRvQWxsVXNlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0pvYkZsb3dSb2xlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlU3RlcE91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3RlcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSmFyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWFpbkNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FyZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FjdGlvbk9uRmFpbHVyZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZUNoYW5nZVJlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaW1lbGluZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0aW9uRGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhcnREYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmREYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0Qm9vdHN0cmFwQWN0aW9uc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQm9vdHN0cmFwQWN0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDb21tYW5kJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTY3JpcHRQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FyZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0Q2x1c3RlcnNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NsdXN0ZXJTdW1tYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZUNoYW5nZVJlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpbWVsaW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWFkeURhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZERhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0SW5zdGFuY2VHcm91cHNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0luc3RhbmNlR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0luc3RhbmNlR3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01hcmtldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUdyb3VwVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCaWRQcmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVxdWVzdGVkSW5zdGFuY2VDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUnVubmluZ0luc3RhbmNlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlQ2hhbmdlUmVhc29uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGltZWxpbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGlvbkRhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlYWR5RGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5kRGF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RJbnN0YW5jZXNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0luc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJbnN0YW5jZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VjMkluc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHVibGljRG5zTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQdWJsaWNJcEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZURuc05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZUNoYW5nZVJlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpbWVsaW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWFkeURhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZERhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0U3RlcHNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1N0ZXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0ZXBTdW1tYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZUNoYW5nZVJlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpbWVsaW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGFydERhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZERhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSdW5Kb2JGbG93T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdKb2JGbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnaXRlcmF0b3JzJyA9PiBhcnJheSgKICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdEZXNjcmliZUpvYkZsb3dzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnSm9iRmxvd3MnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdEJvb3RzdHJhcEFjdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdCb290c3RyYXBBY3Rpb25zJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RDbHVzdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0NsdXN0ZXJzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RJbnN0YW5jZUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0luc3RhbmNlR3JvdXBzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdJbnN0YW5jZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdFN0ZXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnU3RlcHMnLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Enum/Action.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIEFjdGlvbiB2YWx1ZXMKICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuIFVzZSBBY3Rpb25Db2RlLgogKi8KY2xhc3MgQWN0aW9uIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBBUkNISVZFX1JFVFJJRVZBTCA9ICdBcmNoaXZlUmV0cmlldmFsJzsKICAgIGNvbnN0IElOVkVOVE9SWV9SRVRSSUVWQUwgPSAnSW52ZW50b3J5UmV0cmlldmFsJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Enum/ActionCode.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIEFjdGlvbkNvZGUgdmFsdWVzCiAqLwpjbGFzcyBBY3Rpb25Db2RlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBBUkNISVZFX1JFVFJJRVZBTCA9ICdBcmNoaXZlUmV0cmlldmFsJzsKICAgIGNvbnN0IElOVkVOVE9SWV9SRVRSSUVWQUwgPSAnSW52ZW50b3J5UmV0cmlldmFsJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Enum/StatusCode.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIFN0YXR1c0NvZGUgdmFsdWVzCiAqLwpjbGFzcyBTdGF0dXNDb2RlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBJTl9QUk9HUkVTUyA9ICdJblByb2dyZXNzJzsKICAgIGNvbnN0IFNVQ0NFRURFRCA9ICdTdWNjZWVkZWQnOwogICAgY29uc3QgRkFJTEVEID0gJ0ZhaWxlZCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Exception/GlacierException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxFeGNlcHRpb247Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uOwoKLyoqCiAqIERlZmF1bHQgc2VydmljZSBleGNlcHRpb24gY2xhc3MKICovCmNsYXNzIEdsYWNpZXJFeGNlcHRpb24gZXh0ZW5kcyBTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Exception/InvalidParameterValueException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxFeGNlcHRpb247CgovKioKICogUmV0dXJuZWQgaWYgYSBwYXJhbWV0ZXIgb2YgdGhlIHJlcXVlc3QgaXMgaW5jb3JyZWN0bHkgc3BlY2lmaWVkLgogKi8KY2xhc3MgSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uIGV4dGVuZHMgR2xhY2llckV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Exception/LimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxFeGNlcHRpb247CgovKioKICogUmV0dXJuZWQgaWYgdGhlIHJlcXVlc3QgcmVzdWx0cyBpbiBhIHZhdWx0IG9yIGFjY291bnQgbGltaXQgYmVpbmcgZXhjZWVkZWQuCiAqLwpjbGFzcyBMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgR2xhY2llckV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Exception/MissingParameterValueException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxFeGNlcHRpb247CgovKioKICogUmV0dXJuZWQgaWYgYSByZXF1aXJlZCBoZWFkZXIgb3IgcGFyYW1ldGVyIGlzIG1pc3NpbmcgZnJvbSB0aGUgcmVxdWVzdC4KICovCmNsYXNzIE1pc3NpbmdQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbiBleHRlbmRzIEdsYWNpZXJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Exception/RequestTimeoutException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxFeGNlcHRpb247CgovKioKICogUmV0dXJuZWQgaWYsIHdoZW4gdXBsb2FkaW5nIGFuIGFyY2hpdmUsIEFtYXpvbiBHbGFjaWVyIHRpbWVzIG91dCB3aGlsZSByZWNlaXZpbmcgdGhlIHVwbG9hZC4KICovCmNsYXNzIFJlcXVlc3RUaW1lb3V0RXhjZXB0aW9uIGV4dGVuZHMgR2xhY2llckV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Exception/ResourceNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxFeGNlcHRpb247CgovKioKICogUmV0dXJuZWQgaWYgdGhlIHNwZWNpZmllZCByZXNvdXJjZSwgc3VjaCBhcyBhIHZhdWx0LCB1cGxvYWQgSUQsIG9yIGpvYiBJRCwgZG9lcyBub3QgZXhpc3QuCiAqLwpjbGFzcyBSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgR2xhY2llckV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Exception/ServiceUnavailableException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxFeGNlcHRpb247CgovKioKICogUmV0dXJuZWQgaWYgdGhlIHNlcnZpY2UgY2Fubm90IGNvbXBsZXRlIHRoZSByZXF1ZXN0LgogKi8KY2xhc3MgU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uIGV4dGVuZHMgR2xhY2llckV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/GlacierClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llcjsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxBYnN0cmFjdENsaWVudDsKdXNlIEF3c1xDb21tb25cQ2xpZW50XENsaWVudEJ1aWxkZXI7CnVzZSBBd3NcQ29tbW9uXENsaWVudFxVcGxvYWRCb2R5TGlzdGVuZXI7CnVzZSBBd3NcQ29tbW9uXEVudW1cQ2xpZW50T3B0aW9ucyBhcyBPcHRpb25zOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUGFyc2VyXEpzb25SZXN0RXhjZXB0aW9uUGFyc2VyOwp1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlOwoKLyoqCiAqIENsaWVudCB0byBpbnRlcmFjdCB3aXRoIEFtYXpvbiBHbGFjaWVyCiAqCiAqIEBtZXRob2QgTW9kZWwgYWJvcnRNdWx0aXBhcnRVcGxvYWQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgR2xhY2llciBBYm9ydE11bHRpcGFydFVwbG9hZH0KICogQG1ldGhvZCBNb2RlbCBjb21wbGV0ZU11bHRpcGFydFVwbG9hZChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBHbGFjaWVyIENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVZhdWx0KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEdsYWNpZXIgQ3JlYXRlVmF1bHR9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlQXJjaGl2ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBHbGFjaWVyIERlbGV0ZUFyY2hpdmV9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlVmF1bHQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgR2xhY2llciBEZWxldGVWYXVsdH0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVWYXVsdE5vdGlmaWNhdGlvbnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgR2xhY2llciBEZWxldGVWYXVsdE5vdGlmaWNhdGlvbnN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVKb2IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgR2xhY2llciBEZXNjcmliZUpvYn0KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVZhdWx0KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEdsYWNpZXIgRGVzY3JpYmVWYXVsdH0KICogQG1ldGhvZCBNb2RlbCBnZXRKb2JPdXRwdXQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgR2xhY2llciBHZXRKb2JPdXRwdXR9CiAqIEBtZXRob2QgTW9kZWwgZ2V0VmF1bHROb3RpZmljYXRpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEdsYWNpZXIgR2V0VmF1bHROb3RpZmljYXRpb25zfQogKiBAbWV0aG9kIE1vZGVsIGluaXRpYXRlSm9iKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEdsYWNpZXIgSW5pdGlhdGVKb2J9CiAqIEBtZXRob2QgTW9kZWwgaW5pdGlhdGVNdWx0aXBhcnRVcGxvYWQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgR2xhY2llciBJbml0aWF0ZU11bHRpcGFydFVwbG9hZH0KICogQG1ldGhvZCBNb2RlbCBsaXN0Sm9icyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBHbGFjaWVyIExpc3RKb2JzfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RNdWx0aXBhcnRVcGxvYWRzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEdsYWNpZXIgTGlzdE11bHRpcGFydFVwbG9hZHN9CiAqIEBtZXRob2QgTW9kZWwgbGlzdFBhcnRzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEdsYWNpZXIgTGlzdFBhcnRzfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RWYXVsdHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgR2xhY2llciBMaXN0VmF1bHRzfQogKiBAbWV0aG9kIE1vZGVsIHNldFZhdWx0Tm90aWZpY2F0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBHbGFjaWVyIFNldFZhdWx0Tm90aWZpY2F0aW9uc30KICogQG1ldGhvZCBNb2RlbCB1cGxvYWRBcmNoaXZlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEdsYWNpZXIgVXBsb2FkQXJjaGl2ZX0KICogQG1ldGhvZCBNb2RlbCB1cGxvYWRNdWx0aXBhcnRQYXJ0KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEdsYWNpZXIgVXBsb2FkTXVsdGlwYXJ0UGFydH0KICogQG1ldGhvZCB3YWl0VW50aWxWYXVsdEV4aXN0cyhhcnJheSAkaW5wdXQpIFdhaXQgdW50aWwgYSB2YXVsdCBjYW4gYmUgYWNjZXNzZWQuIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVZhdWx0IG9wZXJhdGlvbiBhbmQgd2FpdGVyIHNwZWNpZmljIHNldHRpbmdzCiAqIEBtZXRob2Qgd2FpdFVudGlsVmF1bHROb3RFeGlzdHMoYXJyYXkgJGlucHV0KSBXYWl0IHVudGlsIGEgdmF1bHQgaXMgZGVsZXRlZC4gVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVmF1bHQgb3BlcmF0aW9uIGFuZCB3YWl0ZXIgc3BlY2lmaWMgc2V0dGluZ3MKICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RKb2JzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdEpvYnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0TXVsdGlwYXJ0VXBsb2Fkc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RNdWx0aXBhcnRVcGxvYWRzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdFBhcnRzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdFBhcnRzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdFZhdWx0c0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RWYXVsdHMgb3BlcmF0aW9uCiAqCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9zZXJ2aWNlLWdsYWNpZXIuaHRtbCBVc2VyIGd1aWRlCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuR2xhY2llci5HbGFjaWVyQ2xpZW50Lmh0bWwgQVBJIGRvY3MKICovCmNsYXNzIEdsYWNpZXJDbGllbnQgZXh0ZW5kcyBBYnN0cmFjdENsaWVudAp7CiAgICBjb25zdCBMQVRFU1RfQVBJX1ZFUlNJT04gPSAnMjAxMi0wNi0wMSc7CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgQW1hem9uIEdsYWNpZXIgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEF3c1xDb21tb25cQ2xpZW50XERlZmF1bHRDbGllbnQgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAvLyBTZXR1cCB0aGUgR2xhY2llciBjbGllbnQKICAgICAgICAkY2xpZW50ID0gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9nbGFjaWVyLSVzLnBocCcsCiAgICAgICAgICAgICAgICAvLyBTZXQgZGVmYXVsdCB2YWx1ZSBmb3IgImFjY291bnRJZCIgZm9yIGFsbCByZXF1ZXN0cwogICAgICAgICAgICAgICAgJ2NvbW1hbmQucGFyYW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnYWNjb3VudElkJyAgICAgICAgICAgICAgID0+ICctJywKICAgICAgICAgICAgICAgICAgICBPcHRpb25zOjpNT0RFTF9QUk9DRVNTSU5HID0+IHRydWUKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSkKICAgICAgICAgICAgLT5zZXRFeGNlcHRpb25QYXJzZXIobmV3IEpzb25SZXN0RXhjZXB0aW9uUGFyc2VyKCkpCiAgICAgICAgICAgIC0+c2V0SXRlcmF0b3JzQ29uZmlnKGFycmF5KAogICAgICAgICAgICAgICAgJ2xpbWl0X3BhcmFtJyA9PiAnbGltaXQnLAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnbWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknICAgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnb3BlcmF0aW9ucycgID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdMaXN0Sm9icycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnSm9iTGlzdCcKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdMaXN0TXVsdGlwYXJ0VXBsb2FkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnVXBsb2Fkc0xpc3QnCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnTGlzdFBhcnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdQYXJ0cycKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdMaXN0VmF1bHRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdWYXVsdExpc3QnCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKQogICAgICAgICAgICAtPmJ1aWxkKCk7CgogICAgICAgIC8vIEFkZCB0aGUgR2xhY2llciB2ZXJzaW9uIGhlYWRlciByZXF1aXJlZCBmb3IgYWxsIG9wZXJhdGlvbnMKICAgICAgICAkY2xpZW50LT5nZXRDb25maWcoKS0+c2V0UGF0aCgKICAgICAgICAgICAgJ3JlcXVlc3Qub3B0aW9ucy9oZWFkZXJzL3gtYW16LWdsYWNpZXItdmVyc2lvbicsCiAgICAgICAgICAgICRjbGllbnQtPmdldERlc2NyaXB0aW9uKCktPmdldEFwaVZlcnNpb24oKQogICAgICAgICk7CgogICAgICAgIC8vIEFsbG93IGZvciBzcGVjaWZ5aW5nIGJvZGllcyB3aXRoIGZpbGUgcGF0aHMgYW5kIGZpbGUgaGFuZGxlcwogICAgICAgICR1cGxvYWRPcGVyYXRpb25zID0gYXJyYXkoJ1VwbG9hZEFyY2hpdmUnLCAnVXBsb2FkTXVsdGlwYXJ0UGFydCcpOwogICAgICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIobmV3IFVwbG9hZEJvZHlMaXN0ZW5lcigkdXBsb2FkT3BlcmF0aW9ucywgJ2JvZHknLCAnc291cmNlRmlsZScpKTsKCiAgICAgICAgLy8gTGlzdGVuIGZvciB1cGxvYWQgb3BlcmF0aW9ucyBhbmQgbWFrZSBzdXJlIHRoZSByZXF1aXJlZCBoYXNoIGhlYWRlcnMgYXJlIGFkZGVkCiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgR2xhY2llclVwbG9hZExpc3RlbmVyKCkpOwoKICAgICAgICByZXR1cm4gJGNsaWVudDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/GlacierUploadListener.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llcjsKCnVzZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkUGFydEdlbmVyYXRvcjsKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3Q7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXEFic3RyYWN0Q29tbWFuZDsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CgovKioKICogQWRkcyB0aGUgY29udGVudCBzaGEyNTYgYW5kIHRyZWUgaGFzaCB0byBHbGFjaWVyIHVwbG9hZCByZXF1ZXN0cyBpZiBub3Qgc2V0CiAqLwpjbGFzcyBHbGFjaWVyVXBsb2FkTGlzdGVuZXIgaW1wbGVtZW50cyBFdmVudFN1YnNjcmliZXJJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAnY29tbWFuZC5iZWZvcmVfc2VuZCcgPT4gYXJyYXkoJ29uQ29tbWFuZEJlZm9yZVNlbmQnKSwKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogUmV0cmlldmUgYm9kaWVzIHBhc3NlZCBpbiBhcyBVcGxvYWRQYXJ0Q29udGV4dCBvYmplY3RzIGFuZCBzZXQgdGhlIHJlYWwgaGFzaCwgbGVuZ3RoLCBldGMuIHZhbHVlcyBvbiB0aGUgY29tbWFuZAogICAgICoKICAgICAqIEBwYXJhbSBFdmVudCAkZXZlbnQgRXZlbnQgZW1pdHRlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb25Db21tYW5kQmVmb3JlU2VuZChFdmVudCAkZXZlbnQpCiAgICB7CiAgICAgICAgLyoqIEB2YXIgJGNvbW1hbmQgQWJzdHJhY3RDb21tYW5kICovCiAgICAgICAgJGNvbW1hbmQgPSAkZXZlbnRbJ2NvbW1hbmQnXTsKICAgICAgICAkY29udGVudEhhc2ggPSAkY29tbWFuZC0+Z2V0KCdDb250ZW50U0hBMjU2Jyk7CiAgICAgICAgaWYgKCRjb250ZW50SGFzaCA9PT0gdHJ1ZSkgewogICAgICAgICAgICAvKiogQHZhciAkcmVxdWVzdCBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0ICovCiAgICAgICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPmdldFJlcXVlc3QoKTsKICAgICAgICAgICAgJHVwbG9hZCA9IFVwbG9hZFBhcnRHZW5lcmF0b3I6OmNyZWF0ZVNpbmdsZVVwbG9hZFBhcnQoJHJlcXVlc3QtPmdldEJvZHkoKSk7CiAgICAgICAgICAgICRyZXF1ZXN0LT5hZGRIZWFkZXIoJ3gtYW16LWNvbnRlbnQtc2hhMjU2JywgJHVwbG9hZC0+Z2V0Q29udGVudEhhc2goKSk7CiAgICAgICAgICAgIGlmICghJGNvbW1hbmQtPmdldCgnY2hlY2tzdW0nKSkgewogICAgICAgICAgICAgICAgJHJlcXVlc3QtPmFkZEhlYWRlcigneC1hbXotc2hhMjU2LXRyZWUtaGFzaCcsICR1cGxvYWQtPmdldENoZWNrc3VtKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlaWYgKGlzX3N0cmluZygkY29udGVudEhhc2gpKSB7CiAgICAgICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPmdldFJlcXVlc3QoKTsKICAgICAgICAgICAgJHJlcXVlc3QtPmFkZEhlYWRlcigneC1hbXotY29udGVudC1zaGEyNTYnLCAkY29udGVudEhhc2gpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Model/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Model/MultipartUpload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Model/MultipartUpload/AbstractTransfer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXENvbW1vblxFbnVtXFVhU3RyaW5nIGFzIFVhOwp1c2UgQXdzXENvbW1vblxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RUcmFuc2ZlciBhcyBDb21tb25BYnN0cmFjdFRyYW5zZmVyOwp1c2UgQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFRyYW5zZmVyU3RhdGU7CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5Owp1c2UgR3V6emxlXEh0dHBcUmVhZExpbWl0RW50aXR5Qm9keTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcT3BlcmF0aW9uQ29tbWFuZDsKCi8qKgogKiBBYnN0cmFjdCBjbGFzcyBmb3IgdHJhbnNmZXIgY29tbW9uYWxpdGllcwogKi8KYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUcmFuc2ZlciBleHRlbmRzIENvbW1vbkFic3RyYWN0VHJhbnNmZXIKewogICAgLyoqCiAgICAgKiBAdmFyIFRyYW5zZmVyU3RhdGUgR2xhY2llciB0cmFuc2ZlciBzdGF0ZQogICAgICovCiAgICBwcm90ZWN0ZWQgJHN0YXRlOwoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY2FsY3VsYXRlUGFydFNpemUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c3RhdGUtPmdldFBhcnRHZW5lcmF0b3IoKS0+Z2V0UGFydFNpemUoKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNvbXBsZXRlKCkKICAgIHsKICAgICAgICAkcGFydEdlbmVyYXRvciA9ICR0aGlzLT5zdGF0ZS0+Z2V0UGFydEdlbmVyYXRvcigpOwoKICAgICAgICAkcGFyYW1zID0gYXJyYXlfcmVwbGFjZSgkdGhpcy0+c3RhdGUtPmdldFVwbG9hZElkKCktPnRvUGFyYW1zKCksIGFycmF5KAogICAgICAgICAgICAnYXJjaGl2ZVNpemUnID0+ICRwYXJ0R2VuZXJhdG9yLT5nZXRBcmNoaXZlU2l6ZSgpLAogICAgICAgICAgICAnY2hlY2tzdW0nICAgID0+ICRwYXJ0R2VuZXJhdG9yLT5nZXRSb290Q2hlY2tzdW0oKSwKICAgICAgICAgICAgVWE6Ok9QVElPTiAgICA9PiBVYTo6TVVMVElQQVJUX1VQTE9BRAogICAgICAgICkpOwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnQ29tcGxldGVNdWx0aXBhcnRVcGxvYWQnLCAkcGFyYW1zKTsKCiAgICAgICAgcmV0dXJuICRjb21tYW5kLT5nZXRSZXN1bHQoKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldEFib3J0Q29tbWFuZCgpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9ICR0aGlzLT5zdGF0ZS0+Z2V0VXBsb2FkSWQoKS0+dG9QYXJhbXMoKTsKICAgICAgICAkcGFyYW1zW1VhOjpPUFRJT05dID0gVWE6Ok1VTFRJUEFSVF9VUExPQUQ7CgogICAgICAgIC8qKiBAdmFyICRjb21tYW5kIE9wZXJhdGlvbkNvbW1hbmQgKi8KICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ0Fib3J0TXVsdGlwYXJ0VXBsb2FkJywgJHBhcmFtcyk7CgogICAgICAgIHJldHVybiAkY29tbWFuZDsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZXMgYW4gVXBsb2FkTXVsdGlwYXJ0UGFydCBjb21tYW5kIGZyb20gYW4gVXBsb2FkUGFydCBvYmplY3QKICAgICAqCiAgICAgKiBAcGFyYW0gVXBsb2FkUGFydCAkcGFydCAgICAgICAgICBVcGxvYWRQYXJ0IGZvciB3aGljaCB0byBjcmVhdGUgYSBjb21tYW5kCiAgICAgKiBAcGFyYW0gYm9vbCAgICAgICAkdXNlU291cmNlQ29weSBXaGV0aGVyIG9yIG5vdCB0byB1c2UgdGhlIG9yaWdpbmFsIHNvdXJjZSBvciBhIGNvcHkgb2YgaXQKICAgICAqCiAgICAgKiBAcmV0dXJuIE9wZXJhdGlvbkNvbW1hbmQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldENvbW1hbmRGb3JQYXJ0KFVwbG9hZFBhcnQgJHBhcnQsICR1c2VTb3VyY2VDb3B5ID0gZmFsc2UpCiAgICB7CiAgICAgICAgLy8gU2V0dXAgdGhlIGNvbW1hbmQgd2l0aCBpZGVudGlmeWluZyBwYXJhbWV0ZXJzIChhY2NvdW50SWQsIHZhdWx0TmFtZSwgYW5kIHVwbG9hZElkKQogICAgICAgIC8qKiBAdmFyICRjb21tYW5kIE9wZXJhdGlvbkNvbW1hbmQgKi8KICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ1VwbG9hZE11bHRpcGFydFBhcnQnLCAkdGhpcy0+c3RhdGUtPmdldFVwbG9hZElkKCktPnRvUGFyYW1zKCkpOwogICAgICAgICRjb21tYW5kLT5zZXQoVWE6Ok9QVElPTiwgVWE6Ok1VTFRJUEFSVF9VUExPQUQpOwoKICAgICAgICAvLyBHZXQgdGhlIGNvcnJlY3Qgc291cmNlCiAgICAgICAgJHNvdXJjZSA9ICR0aGlzLT5zb3VyY2U7CiAgICAgICAgaWYgKCR1c2VTb3VyY2VDb3B5KSB7CiAgICAgICAgICAgICRzb3VyY2VVcmkgPSAkdGhpcy0+c291cmNlLT5nZXRVcmkoKTsKICAgICAgICAgICAgJHNvdXJjZSA9IG5ldyBFbnRpdHlCb2R5KGZvcGVuKCRzb3VyY2VVcmksICdyJykpOwogICAgICAgIH0KCiAgICAgICAgLy8gQWRkIHRoZSByYW5nZSwgY2hlY2tzdW0sIGFuZCB0aGUgYm9keSBsaW1pdGVkIGJ5IHRoZSByYW5nZQogICAgICAgICRjb21tYW5kLT5zZXQoJ3JhbmdlJywgJHBhcnQtPmdldEZvcm1hdHRlZFJhbmdlKCkpOwogICAgICAgICRjb21tYW5kLT5zZXQoJ2NoZWNrc3VtJywgJHBhcnQtPmdldENoZWNrc3VtKCkpOwogICAgICAgICRjb21tYW5kLT5zZXQoJ0NvbnRlbnRTSEEyNTYnLCAkcGFydC0+Z2V0Q29udGVudEhhc2goKSk7CiAgICAgICAgJGNvbW1hbmQtPnNldCgnYm9keScsIG5ldyBSZWFkTGltaXRFbnRpdHlCb2R5KCRzb3VyY2UsICRwYXJ0LT5nZXRTaXplKCksICRwYXJ0LT5nZXRPZmZzZXQoKSkpOwoKICAgICAgICByZXR1cm4gJGNvbW1hbmQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Model/MultipartUpload/ParallelTransfer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKdXNlIEd1enpsZVxJdGVyYXRvclxDaHVua2VkSXRlcmF0b3I7CgovKioKICogVHJhbnNmZXJzIG11bHRpcGFydCB1cGxvYWQgcGFydHMgaW4gcGFyYWxsZWwKICovCmNsYXNzIFBhcmFsbGVsVHJhbnNmZXIgZXh0ZW5kcyBBYnN0cmFjdFRyYW5zZmVyCnsKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5pdCgpCiAgICB7CiAgICAgICAgcGFyZW50Ojppbml0KCk7CgogICAgICAgIGlmICghJHRoaXMtPnNvdXJjZS0+aXNMb2NhbCgpIHx8ICR0aGlzLT5zb3VyY2UtPmdldFdyYXBwZXIoKSAhPSAncGxhaW5maWxlJykgewogICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbignVGhlIHNvdXJjZSBkYXRhIG11c3QgYmUgYSBsb2NhbCBmaWxlIHN0cmVhbSB3aGVuIHVwbG9hZGluZyBpbiBwYXJhbGxlbC4nKTsKICAgICAgICB9CgogICAgICAgIGlmIChlbXB0eSgkdGhpcy0+b3B0aW9uc1snY29uY3VycmVuY3knXSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oJ1RoZSBgY29uY3VycmVuY3lgIG9wdGlvbiBtdXN0IGJlIHNwZWNpZmllZCB3aGVuIGluc3RhbnRpYXRpbmcuJyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdHJhbnNmZXIoKQogICAgewogICAgICAgIC8qKiBAdmFyICRwYXJ0cyBVcGxvYWRQYXJ0R2VuZXJhdG9yICovCiAgICAgICAgJHBhcnRzICAgICA9ICR0aGlzLT5zdGF0ZS0+Z2V0UGFydEdlbmVyYXRvcigpOwogICAgICAgICRjaHVua1NpemUgPSBtaW4oJHRoaXMtPm9wdGlvbnNbJ2NvbmN1cnJlbmN5J10sIGNvdW50KCRwYXJ0cykpOwogICAgICAgICRwYXJ0U2V0cyAgPSBuZXcgQ2h1bmtlZEl0ZXJhdG9yKCRwYXJ0cywgJGNodW5rU2l6ZSk7CgogICAgICAgIGZvcmVhY2ggKCRwYXJ0U2V0cyBhcyAkcGFydFNldCkgewogICAgICAgICAgICAvKiogQHZhciAkcGFydCBVcGxvYWRQYXJ0ICovCiAgICAgICAgICAgICRjb21tYW5kcyA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCRwYXJ0U2V0IGFzICRpbmRleCA9PiAkcGFydCkgewogICAgICAgICAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0Q29tbWFuZEZvclBhcnQoJHBhcnQsIChib29sKSAkaW5kZXgpLT5zZXQoJ3BhcnQnLCAkcGFydCk7CiAgICAgICAgICAgICAgICAkdGhpcy0+ZGlzcGF0Y2goc2VsZjo6QkVGT1JFX1BBUlRfVVBMT0FELCAkdGhpcy0+Z2V0RXZlbnREYXRhKCRjb21tYW5kKSk7CiAgICAgICAgICAgICAgICAkY29tbWFuZHNbXSA9ICRjb21tYW5kOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBBbGxvdyBsaXN0ZW5lcnMgdG8gc3RvcCB0aGUgdHJhbnNmZXIgaWYgbmVlZGVkCiAgICAgICAgICAgIGlmICgkdGhpcy0+c3RvcHBlZCkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIEV4ZWN1dGUgZWFjaCBjb21tYW5kLCBpdGVyYXRlIG92ZXIgdGhlIHJlc3VsdHMsIGFuZCBhZGQgdG8gdGhlIHRyYW5zZmVyIHN0YXRlCiAgICAgICAgICAgIC8qKiBAdmFyICRjb21tYW5kIFxHdXp6bGVcU2VydmljZVxDb21tYW5kXE9wZXJhdGlvbkNvbW1hbmQgKi8KICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmNsaWVudC0+ZXhlY3V0ZSgkY29tbWFuZHMpIGFzICRjb21tYW5kKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+c3RhdGUtPmFkZFBhcnQoJGNvbW1hbmQtPmdldCgncGFydCcpKTsKICAgICAgICAgICAgICAgICR0aGlzLT5kaXNwYXRjaChzZWxmOjpBRlRFUl9QQVJUX1VQTE9BRCwgJHRoaXMtPmdldEV2ZW50RGF0YSgkY29tbWFuZCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Model/MultipartUpload/SerialTransfer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7CgovKioKICogVHJhbnNmZXJzIG11bHRpcGFydCB1cGxvYWQgcGFydHMgc2VyaWFsbHkKICovCmNsYXNzIFNlcmlhbFRyYW5zZmVyIGV4dGVuZHMgQWJzdHJhY3RUcmFuc2Zlcgp7CiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHRyYW5zZmVyKCkKICAgIHsKICAgICAgICAvKiogQHZhciAkcGFydEdlbmVyYXRvciBVcGxvYWRQYXJ0R2VuZXJhdG9yICovCiAgICAgICAgJHBhcnRHZW5lcmF0b3IgPSAkdGhpcy0+c3RhdGUtPmdldFBhcnRHZW5lcmF0b3IoKTsKCiAgICAgICAgLyoqIEB2YXIgJHBhcnQgVXBsb2FkUGFydCAqLwogICAgICAgIGZvcmVhY2ggKCRwYXJ0R2VuZXJhdG9yIGFzICRwYXJ0KSB7CiAgICAgICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldENvbW1hbmRGb3JQYXJ0KCRwYXJ0KTsKCiAgICAgICAgICAgIC8vIE5vdGlmeSBvYnNlcnZlcnMgdGhhdCB0aGUgcGFydCBpcyBhYm91dCB0byBiZSB1cGxvYWRlZAogICAgICAgICAgICAkZXZlbnREYXRhID0gJHRoaXMtPmdldEV2ZW50RGF0YSgkY29tbWFuZCk7CiAgICAgICAgICAgICR0aGlzLT5kaXNwYXRjaChzZWxmOjpCRUZPUkVfUEFSVF9VUExPQUQsICRldmVudERhdGEpOwoKICAgICAgICAgICAgLy8gQWxsb3cgbGlzdGVuZXJzIHRvIHN0b3AgdGhlIHRyYW5zZmVyIGlmIG5lZWRlZAogICAgICAgICAgICBpZiAoJHRoaXMtPnN0b3BwZWQpIHsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgICAgICAkdGhpcy0+c3RhdGUtPmFkZFBhcnQoJHBhcnQpOwoKICAgICAgICAgICAgLy8gTm90aWZ5IG9ic2VydmVycyB0aGF0IHRoZSBwYXJ0IHdhcyB1cGxvYWRlZAogICAgICAgICAgICAkdGhpcy0+ZGlzcGF0Y2goc2VsZjo6QUZURVJfUEFSVF9VUExPQUQsICRldmVudERhdGEpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Model/MultipartUpload/TransferState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZFBhcnRHZW5lcmF0b3I7CnVzZSBBd3NcQ29tbW9uXENsaWVudFxBd3NDbGllbnRJbnRlcmZhY2U7CnVzZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFRyYW5zZmVyU3RhdGU7CnVzZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRJZEludGVyZmFjZTsKCi8qKgogKiBTdGF0ZSBvZiBhIG11bHRpcGFydCB1cGxvYWQKICovCmNsYXNzIFRyYW5zZmVyU3RhdGUgZXh0ZW5kcyBBYnN0cmFjdFRyYW5zZmVyU3RhdGUKewogICAgY29uc3QgQUxSRUFEWV9VUExPQURFRCA9ICctJzsKCiAgICAvKioKICAgICAqIEB2YXIgVXBsb2FkUGFydEdlbmVyYXRvciBHbGFjaWVyIHVwbG9hZCBoZWxwZXIgb2JqZWN0IHRoYXQgY29udGFpbnMgcGFydCBpbmZvcm1hdGlvbgogICAgICovCiAgICBwcm90ZWN0ZWQgJHBhcnRHZW5lcmF0b3I7CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbVVwbG9hZElkKEF3c0NsaWVudEludGVyZmFjZSAkY2xpZW50LCBVcGxvYWRJZEludGVyZmFjZSAkdXBsb2FkSWQpCiAgICB7CiAgICAgICAgJHRyYW5zZmVyU3RhdGUgPSBuZXcgc2VsZigkdXBsb2FkSWQpOwogICAgICAgICRsaXN0UGFydHMgPSAkY2xpZW50LT5nZXRJdGVyYXRvcignTGlzdFBhcnRzJywgJHVwbG9hZElkLT50b1BhcmFtcygpKTsKCiAgICAgICAgZm9yZWFjaCAoJGxpc3RQYXJ0cyBhcyAkcGFydCkgewogICAgICAgICAgICBsaXN0KCRmaXJzdEJ5dGUsICRsYXN0Qnl0ZSkgPSBleHBsb2RlKCctJywgJHBhcnRbJ1JhbmdlSW5CeXRlcyddKTsKICAgICAgICAgICAgJHBhcnRTaXplID0gKGZsb2F0KSAkbGlzdFBhcnRzLT5nZXRMYXN0UmVzdWx0KCktPmdldCgnUGFydFNpemVJbkJ5dGVzJyk7CiAgICAgICAgICAgICRwYXJ0RGF0YSA9IGFycmF5KAogICAgICAgICAgICAgICAgJ3BhcnROdW1iZXInICA9PiAkZmlyc3RCeXRlIC8gJHBhcnRTaXplICsgMSwKICAgICAgICAgICAgICAgICdjaGVja3N1bScgICAgPT4gJHBhcnRbJ1NIQTI1NlRyZWVIYXNoJ10sCiAgICAgICAgICAgICAgICAnY29udGVudEhhc2gnID0+IHNlbGY6OkFMUkVBRFlfVVBMT0FERUQsCiAgICAgICAgICAgICAgICAnc2l6ZScgICAgICAgID0+ICRsYXN0Qnl0ZSAtICRmaXJzdEJ5dGUgKyAxLAogICAgICAgICAgICAgICAgJ29mZnNldCcgICAgICA9PiAkZmlyc3RCeXRlCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICR0cmFuc2ZlclN0YXRlLT5hZGRQYXJ0KFVwbG9hZFBhcnQ6OmZyb21BcnJheSgkcGFydERhdGEpKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdHJhbnNmZXJTdGF0ZTsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBVcGxvYWRQYXJ0R2VuZXJhdG9yICRwYXJ0R2VuZXJhdG9yIEdsYWNpZXIgdXBsb2FkIGhlbHBlciBvYmplY3QKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFBhcnRHZW5lcmF0b3IoVXBsb2FkUGFydEdlbmVyYXRvciAkcGFydEdlbmVyYXRvcikKICAgIHsKICAgICAgICAkdGhpcy0+cGFydEdlbmVyYXRvciA9ICRwYXJ0R2VuZXJhdG9yOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIFVwbG9hZFBhcnRHZW5lcmF0b3IgR2xhY2llciB1cGxvYWQgaGVscGVyIG9iamVjdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGFydEdlbmVyYXRvcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5wYXJ0R2VuZXJhdG9yOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Model/MultipartUpload/UploadBuilder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXENvbW1vblxFbnVtXFNpemU7CnVzZSBBd3NcQ29tbW9uXEVudW1cVWFTdHJpbmcgYXMgVWE7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFVwbG9hZEJ1aWxkZXI7CnVzZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxUcmFuc2ZlclN0YXRlSW50ZXJmYWNlIGFzIFN0YXRlOwp1c2UgQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZFBhcnRHZW5lcmF0b3I7CgovKioKICogRWFzaWx5IGNyZWF0ZSBhIG11bHRpcGFydCB1cGxvYWRlciB1c2VkIHRvIHF1aWNrbHkgYW5kIHJlbGlhYmx5IHVwbG9hZCBhCiAqIGxhcmdlIGZpbGUgb3IgZGF0YSBzdHJlYW0gdG8gQW1hem9uIEdsYWNpZXIgdXNpbmcgbXVsdGlwYXJ0IHVwbG9hZHMKICovCmNsYXNzIFVwbG9hZEJ1aWxkZXIgZXh0ZW5kcyBBYnN0cmFjdFVwbG9hZEJ1aWxkZXIKewogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBBY2NvdW50IElEIHRvIHVwbG9hZCB0bwogICAgICovCiAgICBwcm90ZWN0ZWQgJGFjY291bnRJZCA9ICctJzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIE5hbWUgb2YgdGhlIHZhdWx0IHRvIHVwbG9hZCB0bwogICAgICovCiAgICBwcm90ZWN0ZWQgJHZhdWx0TmFtZTsKCiAgICAvKioKICAgICAqIEB2YXIgaW50IENvbmN1cnJlbmN5IGxldmVsIHRvIHRyYW5zZmVyIHRoZSBwYXJ0cwogICAgICovCiAgICBwcm90ZWN0ZWQgJGNvbmN1cnJlbmN5ID0gMTsKCiAgICAvKioKICAgICAqIEB2YXIgaW50IFNpemUgb2YgdXBsb2FkIHBhcnRzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkcGFydFNpemU7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBBcmNoaXZlIGRlc2NyaXB0aW9uCiAgICAgKi8KICAgIHByb3RlY3RlZCAkYXJjaGl2ZURlc2NyaXB0aW9uOwoKICAgIC8qKgogICAgICogQHZhciBVcGxvYWRQYXJ0R2VuZXJhdG9yIEdsYWNpZXIgdXBsb2FkIGhlbHBlciBvYmplY3QKICAgICAqLwogICAgcHJvdGVjdGVkICRwYXJ0R2VuZXJhdG9yOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBhY2NvdW50IElEIHRvIHVwbG9hZCB0aGUgcGFydCB0bwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGFjY291bnRJZCBJRCBvZiB0aGUgYWNjb3VudAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0QWNjb3VudElkKCRhY2NvdW50SWQpCiAgICB7CiAgICAgICAgJHRoaXMtPmFjY291bnRJZCA9ICRhY2NvdW50SWQ7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgdmF1bHQgbmFtZSB0byB1cGxvYWQgdGhlIHBhcnQgdG8KICAgICAgKgogICAgICAqIEBwYXJhbSBzdHJpbmcgJHZhdWx0TmFtZSBOYW1lIG9mIHRoZSB2YXVsdAogICAgICAqCiAgICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRWYXVsdE5hbWUoJHZhdWx0TmFtZSkKICAgIHsKICAgICAgICAkdGhpcy0+dmF1bHROYW1lID0gJHZhdWx0TmFtZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSB1cGxvYWQgcGFydCBzaXplCiAgICAgKgogICAgICogQHBhcmFtIGludCAkcGFydFNpemUgVXBsb2FkIHBhcnQgc2l6ZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UGFydFNpemUoJHBhcnRTaXplKQogICAgewogICAgICAgICR0aGlzLT5wYXJ0U2l6ZSA9IChpbnQpICRwYXJ0U2l6ZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBhcmNoaXZlIGRlc2NyaXB0aW9uCiAgICAgICoKICAgICAgKiBAcGFyYW0gc3RyaW5nICRhcmNoaXZlRGVzY3JpcHRpb24gQXJjaGl2ZSBkZXNjcmlwdGlvbgogICAgICAqCiAgICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRBcmNoaXZlRGVzY3JpcHRpb24oJGFyY2hpdmVEZXNjcmlwdGlvbikKICAgIHsKICAgICAgICAkdGhpcy0+YXJjaGl2ZURlc2NyaXB0aW9uID0gJGFyY2hpdmVEZXNjcmlwdGlvbjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBjb25jdXJyZW5jeSBsZXZlbCB0byB1c2Ugd2hlbiB1cGxvYWRpbmcgcGFydHMuIFRoaXMgYWZmZWN0cyBob3cgbWFueSBwYXJ0cyBhcmUgdXBsb2FkZWQgaW4gcGFyYWxsZWwuIFlvdQogICAgICogbXVzdCB1c2UgYSBsb2NhbCBmaWxlIGFzIHlvdXIgZGF0YSBzb3VyY2Ugd2hlbiB1c2luZyBhIGNvbmN1cnJlbmN5IGdyZWF0ZXIgdGhhbiAxCiAgICAgKgogICAgICogQHBhcmFtIGludCAkY29uY3VycmVuY3kgQ29uY3VycmVuY3kgbGV2ZWwKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldENvbmN1cnJlbmN5KCRjb25jdXJyZW5jeSkKICAgIHsKICAgICAgICAkdGhpcy0+Y29uY3VycmVuY3kgPSAkY29uY3VycmVuY3k7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldHMgdGhlIEdsYWNpZXIgdXBsb2FkIGhlbHBlciBvYmplY3QgdGhhdCBwcmUtY2FsY3VsYXRlcyBoYXNoZXMgYW5kIHNpemVzIGZvciBhbGwgdXBsb2FkIHBhcnRzCiAgICAgKgogICAgICogQHBhcmFtIFVwbG9hZFBhcnRHZW5lcmF0b3IgJHBhcnRHZW5lcmF0b3IgR2xhY2llciB1cGxvYWQgaGVscGVyIG9iamVjdAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UGFydEdlbmVyYXRvcihVcGxvYWRQYXJ0R2VuZXJhdG9yICRwYXJ0R2VuZXJhdG9yKQogICAgewogICAgICAgICR0aGlzLT5wYXJ0R2VuZXJhdG9yID0gJHBhcnRHZW5lcmF0b3I7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIHdoZW4gYXR0ZW1wdGluZyB0byByZXN1bWUgYSB0cmFuc2ZlciB1c2luZyBhIG5vbi1zZWVrYWJsZSBzdHJlYW0KICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIHdoZW4gbWlzc2luZyByZXF1aXJlZCBwcm9wZXJ0aWVzIChidWNrZXQsIGtleSwgY2xpZW50LCBzb3VyY2UpCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidWlsZCgpCiAgICB7CiAgICAgICAgLy8gSWYgYSBHbGFjaWVyIHVwbG9hZCBoZWxwZXIgb2JqZWN0IHdhcyBzZXQsIHVzZSB0aGUgc291cmNlIGFuZCBwYXJ0IHNpemUgZnJvbSBpdAogICAgICAgIGlmICgkdGhpcy0+cGFydEdlbmVyYXRvcikgewogICAgICAgICAgICAkdGhpcy0+cGFydFNpemUgPSAkdGhpcy0+cGFydEdlbmVyYXRvci0+Z2V0UGFydFNpemUoKTsKICAgICAgICB9CgogICAgICAgIGlmICghKCR0aGlzLT5zdGF0ZSBpbnN0YW5jZW9mIFN0YXRlKSAmJiAhJHRoaXMtPnZhdWx0TmFtZSB8fCAhJHRoaXMtPmNsaWVudCB8fCAhJHRoaXMtPnNvdXJjZSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdZb3UgbXVzdCBzcGVjaWZ5IGEgdmF1bHQgbmFtZSwgY2xpZW50LCBhbmQgc291cmNlLicpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCEkdGhpcy0+c291cmNlLT5pc1NlZWthYmxlKCkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignWW91IGNhbm5vdCB1cGxvYWQgZnJvbSBhIG5vbi1zZWVrYWJsZSBzb3VyY2UuJyk7CiAgICAgICAgfQoKICAgICAgICAvLyBJZiBubyBzdGF0ZSB3YXMgc2V0LCB0aGVuIGNyZWF0ZSBvbmUgYnkgaW5pdGlhdGluZyBvciBsb2FkaW5nIGEgbXVsdGlwYXJ0IHVwbG9hZAogICAgICAgIGlmIChpc19zdHJpbmcoJHRoaXMtPnN0YXRlKSkgewogICAgICAgICAgICBpZiAoISR0aGlzLT5wYXJ0R2VuZXJhdG9yKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdZb3UgbXVzdCBwcm92aWRlIGFuIFVwbG9hZFBhcnRHZW5lcmF0b3Igd2hlbiByZXN1bWluZyBhbiB1cGxvYWQuJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLyoqIEB2YXIgJHN0YXRlIFxBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVHJhbnNmZXJTdGF0ZSAqLwogICAgICAgICAgICAkdGhpcy0+c3RhdGUgPSBUcmFuc2ZlclN0YXRlOjpmcm9tVXBsb2FkSWQoJHRoaXMtPmNsaWVudCwgVXBsb2FkSWQ6OmZyb21QYXJhbXMoYXJyYXkoCiAgICAgICAgICAgICAgICAnYWNjb3VudElkJyA9PiAkdGhpcy0+YWNjb3VudElkLAogICAgICAgICAgICAgICAgJ3ZhdWx0TmFtZScgPT4gJHRoaXMtPnZhdWx0TmFtZSwKICAgICAgICAgICAgICAgICd1cGxvYWRJZCcgID0+ICR0aGlzLT5zdGF0ZQogICAgICAgICAgICApKSk7CiAgICAgICAgICAgICR0aGlzLT5zdGF0ZS0+c2V0UGFydEdlbmVyYXRvcigkdGhpcy0+cGFydEdlbmVyYXRvcik7CiAgICAgICAgfSBlbHNlaWYgKCEkdGhpcy0+c3RhdGUpIHsKICAgICAgICAgICAgJHRoaXMtPnN0YXRlID0gJHRoaXMtPmluaXRpYXRlTXVsdGlwYXJ0VXBsb2FkKCk7CiAgICAgICAgfQoKICAgICAgICAkb3B0aW9ucyA9IGFycmF5KAogICAgICAgICAgICAnY29uY3VycmVuY3knID0+ICR0aGlzLT5jb25jdXJyZW5jeQogICAgICAgICk7CgogICAgICAgIHJldHVybiAkdGhpcy0+Y29uY3VycmVuY3kgPiAxCiAgICAgICAgICAgID8gbmV3IFBhcmFsbGVsVHJhbnNmZXIoJHRoaXMtPmNsaWVudCwgJHRoaXMtPnN0YXRlLCAkdGhpcy0+c291cmNlLCAkb3B0aW9ucykKICAgICAgICAgICAgOiBuZXcgU2VyaWFsVHJhbnNmZXIoJHRoaXMtPmNsaWVudCwgJHRoaXMtPnN0YXRlLCAkdGhpcy0+c291cmNlLCAkb3B0aW9ucyk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpbml0aWF0ZU11bHRpcGFydFVwbG9hZCgpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KAogICAgICAgICAgICAnYWNjb3VudElkJyA9PiAkdGhpcy0+YWNjb3VudElkLAogICAgICAgICAgICAndmF1bHROYW1lJyA9PiAkdGhpcy0+dmF1bHROYW1lCiAgICAgICAgKTsKCiAgICAgICAgJHBhcnRHZW5lcmF0b3IgPSAkdGhpcy0+cGFydEdlbmVyYXRvciA/OiBVcGxvYWRQYXJ0R2VuZXJhdG9yOjpmYWN0b3J5KCR0aGlzLT5zb3VyY2UsICR0aGlzLT5wYXJ0U2l6ZSk7CgogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnSW5pdGlhdGVNdWx0aXBhcnRVcGxvYWQnLCBhcnJheV9yZXBsYWNlKCRwYXJhbXMsIGFycmF5KAogICAgICAgICAgICAnY29tbWFuZC5oZWFkZXJzJyAgICA9PiAkdGhpcy0+aGVhZGVycywKICAgICAgICAgICAgJ3BhcnRTaXplJyAgICAgICAgICAgPT4gJHBhcnRHZW5lcmF0b3ItPmdldFBhcnRTaXplKCksCiAgICAgICAgICAgICdhcmNoaXZlRGVzY3JpcHRpb24nID0+ICR0aGlzLT5hcmNoaXZlRGVzY3JpcHRpb24sCiAgICAgICAgICAgIFVhOjpPUFRJT04gICAgICAgICAgID0+IFVhOjpNVUxUSVBBUlRfVVBMT0FECiAgICAgICAgKSkpOwogICAgICAgICRwYXJhbXNbJ3VwbG9hZElkJ10gPSAkY29tbWFuZC0+Z2V0UmVzdWx0KCktPmdldCgndXBsb2FkSWQnKTsKCiAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IHN0YXRlIGJhc2VkIG9uIHRoZSBpbml0aWF0ZWQgdXBsb2FkCiAgICAgICAgJHN0YXRlID0gbmV3IFRyYW5zZmVyU3RhdGUoVXBsb2FkSWQ6OmZyb21QYXJhbXMoJHBhcmFtcykpOwogICAgICAgICRzdGF0ZS0+c2V0UGFydEdlbmVyYXRvcigkcGFydEdlbmVyYXRvcik7CgogICAgICAgIHJldHVybiAkc3RhdGU7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Model/MultipartUpload/UploadId.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXENvbW1vblxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RVcGxvYWRJZDsKCi8qKgogKiBBbiBvYmplY3QgdGhhdCBlbmNhcHN1bGF0ZXMgdGhlIGlkZW50aWZpY2F0aW9uIGZvciBhIEdsYWNpZXIgdXBsb2FkIHBhcnQKICogQGNvZGVDb3ZlcmFnZUlnbm9yZQogKi8KY2xhc3MgVXBsb2FkSWQgZXh0ZW5kcyBBYnN0cmFjdFVwbG9hZElkCnsKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRleHBlY3RlZFZhbHVlcyA9IGFycmF5KAogICAgICAgICdhY2NvdW50SWQnID0+ICctJywKICAgICAgICAndXBsb2FkSWQnICA9PiBmYWxzZSwKICAgICAgICAndmF1bHROYW1lJyA9PiBmYWxzZQogICAgKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Model/MultipartUpload/UploadPart.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXENvbW1vblxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RVcGxvYWRQYXJ0OwoKLyoqCiAqIEFuIG9iamVjdCB0aGF0IGVuY2Fwc3VsYXRlcyB0aGUgZGF0YSBmb3IgYSBHbGFjaWVyIHVwbG9hZCBvcGVyYXRpb24KICovCmNsYXNzIFVwbG9hZFBhcnQgZXh0ZW5kcyBBYnN0cmFjdFVwbG9hZFBhcnQKewogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHByb3RlY3RlZCBzdGF0aWMgJGtleU1hcCA9IGFycmF5KAogICAgICAgICdwYXJ0TnVtYmVyJyAgPT4gJ3BhcnROdW1iZXInLAogICAgICAgICdjaGVja3N1bScgICAgPT4gJ2NoZWNrc3VtJywKICAgICAgICAnY29udGVudEhhc2gnID0+ICdjb250ZW50SGFzaCcsCiAgICAgICAgJ3NpemUnICAgICAgICA9PiAnc2l6ZScsCiAgICAgICAgJ29mZnNldCcgICAgICA9PiAnb2Zmc2V0JwogICAgKTsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRoZSBzaGEyNTYgdHJlZSBoYXNoIG9mIHRoZSB1cGxvYWQgYm9keQogICAgICovCiAgICBwcm90ZWN0ZWQgJGNoZWNrc3VtOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVGhlIHNoYTI1NiBsaW5lYXIgaGFzaCBvZiB0aGUgdXBsb2FkIGJvZHkKICAgICAqLwogICAgcHJvdGVjdGVkICRjb250ZW50SGFzaDsKCiAgICAvKioKICAgICAqIEB2YXIgaW50IFRoZSBzaXplIChvciBjb250ZW50LWxlbmd0aCkgaW4gYnl0ZXMgb2YgdGhlIHVwbG9hZCBib2R5CiAgICAgKi8KICAgIHByb3RlY3RlZCAkc2l6ZTsKCiAgICAvKioKICAgICAqIEB2YXIgaW50IFRoZSBzdGFydGluZyBvZmZzZXQgYnl0ZSBvZiB0aGUgdXBsb2FkIGJvZHkKICAgICAqLwogICAgcHJvdGVjdGVkICRvZmZzZXQ7CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2hlY2tzdW0oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2hlY2tzdW07CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29udGVudEhhc2goKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y29udGVudEhhc2g7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIGludAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2l6ZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zaXplOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE9mZnNldCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5vZmZzZXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBieXRlIHJhbmdlIG9mIHRoZSBwYXJ0IGFzIGFuIGFycmF5CiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmFuZ2UoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgkdGhpcy0+b2Zmc2V0LCAkdGhpcy0+b2Zmc2V0ICsgJHRoaXMtPnNpemUgLSAxKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGJ5dGUgcmFuZ2Ugb3QgdGhlIHBhcnQgZm9ybWF0dGVkIGZvciB0aGUgQ29udGVudC1SYW5nZSBoZWFkZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Rm9ybWF0dGVkUmFuZ2UoKQogICAgewogICAgICAgIGxpc3QoJGZpcnN0Qnl0ZSwgJGxhc3RCeXRlKSA9ICR0aGlzLT5nZXRSYW5nZSgpOwoKICAgICAgICByZXR1cm4gImJ5dGVzIHskZmlyc3RCeXRlfS17JGxhc3RCeXRlfS8qIjsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Model/MultipartUpload/UploadPartContext.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXENvbW1vblxIYXNoXENodW5rSGFzaDsKdXNlIEF3c1xDb21tb25cSGFzaFxUcmVlSGFzaDsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXExvZ2ljRXhjZXB0aW9uOwoKLyoqCiAqIEFuIG9iamVjdCB0aGF0IGVuY2Fwc3VsYXRlcyB0aGUgZGF0YSBmb3IgYSBHbGFjaWVyIHVwbG9hZCBvcGVyYXRpb24KICovCmNsYXNzIFVwbG9hZFBhcnRDb250ZXh0CnsKICAgIC8qKgogICAgICogQHZhciBUcmVlSGFzaCBUcmVlIGhhc2ggY29udGV4dCBvZiB0aGUgZGF0YQogICAgICovCiAgICBwcm90ZWN0ZWQgJHRyZWVIYXNoOwoKICAgIC8qKgogICAgICogQHZhciBDaHVua0hhc2ggQ2h1bmsgaGFzaCBjb250ZXh0IG9mIHRoZSBkYXRhCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2h1bmtIYXNoOwoKICAgIC8qKgogICAgICogQHZhciBpbnQgVGhlIHNpemUgKG9yIGNvbnRlbnQtbGVuZ3RoKSBpbiBieXRlcyBvZiB0aGUgdXBsb2FkIGJvZHkKICAgICAqLwogICAgcHJvdGVjdGVkICRzaXplOwoKICAgIC8qKgogICAgICogQHZhciBpbnQgVGhlIHN0YXJ0aW5nIG9mZnNldCBieXRlIG9mIHRoZSB1cGxvYWQgYm9keQogICAgICovCiAgICBwcm90ZWN0ZWQgJG9mZnNldDsKCiAgICAvKioKICAgICAqIEB2YXIgaW50IFRoZSBtYXhpbXVtIHNpemUgb2YgdGhlIHVwbG9hZCBpbiBieXRlcwogICAgICovCiAgICBwcm90ZWN0ZWQgJG1heFNpemU7CgogICAgLyoqCiAgICAgKiBAdmFyIFVwbG9hZFBhcnQgVGhlIGNhbGN1bGF0ZWQgdXBsb2FkIHBhcnQKICAgICAqLwogICAgcHJvdGVjdGVkICR1cGxvYWRQYXJ0OwoKICAgIC8qKgogICAgICogQHBhcmFtIGludCAkbWF4U2l6ZSBNYXhpbXVtIGFsbG93ZWQgc2l6ZSBvZiB0aGlzIHVwbG9hZCBjb250ZXh0CiAgICAgKiBAcGFyYW0gaW50ICRvZmZzZXQgIFRoZSBzdGFydGluZyBvZmZzZXQgYnl0ZSBvZiB0aGUgdXBsb2FkIGJvZHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRtYXhTaXplLCAkb2Zmc2V0ID0gMCkKICAgIHsKICAgICAgICAkdGhpcy0+bWF4U2l6ZSA9ICRtYXhTaXplOwogICAgICAgICR0aGlzLT5vZmZzZXQgID0gJG9mZnNldDsKICAgICAgICAkdGhpcy0+c2l6ZSAgICA9IDA7CgogICAgICAgICR0aGlzLT50cmVlSGFzaCAgPSBuZXcgVHJlZUhhc2goKTsKICAgICAgICAkdGhpcy0+Y2h1bmtIYXNoID0gbmV3IENodW5rSGFzaCgpOwogICAgfQoKICAgIC8qKgogICAgICogQWRkcyBkYXRhIHRvIHRoZSBjb250ZXh0LiBUaGlzIGFkZHMgZGF0YSB0byBib3RoIHRoZSB0cmVlIGFuZCBjaHVuayBoYXNoZXMgYW5kIGluY3JlYXNlcyB0aGUgc2l6ZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGRhdGEgRGF0YSB0byBhZGQgdG8gdGhlIGNvbnRleHQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEB0aHJvd3MgTG9naWNFeGNlcHRpb24gd2hlbiB0aGUgY29udGV4dCBpcyBhbHJlYWR5IGZpbmFsaXplZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkRGF0YSgkZGF0YSkKICAgIHsKICAgICAgICAkc2l6ZSA9IHN0cmxlbigkZGF0YSk7CgogICAgICAgIGlmICgkdGhpcy0+c2l6ZSArICRzaXplID4gJHRoaXMtPm1heFNpemUpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IExvZ2ljRXhjZXB0aW9uKCdZb3UgY2Fubm90IGFkZCBkYXRhIHRoYXQgd2lsbCBleGNlZWQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGlzIHVwbG9hZC4nKTsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR0aGlzLT50cmVlSGFzaC0+YWRkRGF0YSgkZGF0YSk7CiAgICAgICAgICAgICR0aGlzLT5jaHVua0hhc2gtPmFkZERhdGEoJGRhdGEpOwogICAgICAgICAgICAkdGhpcy0+c2l6ZSArPSAkc2l6ZTsKICAgICAgICB9IGNhdGNoIChMb2dpY0V4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICB0aHJvdyBuZXcgTG9naWNFeGNlcHRpb24oJ1lvdSBjYW5ub3QgYWRkIGRhdGEgdG8gYSBmaW5hbGl6ZWQgVXBsb2FkUGFydENvbnRleHQuJywgMCwgJGUpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogRmluYWxpemVzIHRoZSBjb250ZXh0IGJ5IGNhbGN1bGF0aW5nIHRoZSBmaW5hbCBoYXNoZXMgYW5kIGdlbmVyYXRlcyBhbiB1cGxvYWQgcGFydCBvYmplY3QKICAgICAqCiAgICAgKiBAcmV0dXJuIFVwbG9hZFBhcnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdlbmVyYXRlUGFydCgpCiAgICB7CiAgICAgICAgaWYgKCEkdGhpcy0+dXBsb2FkUGFydCkgewogICAgICAgICAgICAkdGhpcy0+dXBsb2FkUGFydCA9IFVwbG9hZFBhcnQ6OmZyb21BcnJheShhcnJheSgKICAgICAgICAgICAgICAgICdwYXJ0TnVtYmVyJyAgPT4gKGludCkgKCR0aGlzLT5vZmZzZXQgLyAkdGhpcy0+bWF4U2l6ZSArIDEpLAogICAgICAgICAgICAgICAgJ2NoZWNrc3VtJyAgICA9PiAkdGhpcy0+dHJlZUhhc2gtPmdldEhhc2goKSwKICAgICAgICAgICAgICAgICdjb250ZW50SGFzaCcgPT4gJHRoaXMtPmNodW5rSGFzaC0+Z2V0SGFzaCgpLAogICAgICAgICAgICAgICAgJ3NpemUnICAgICAgICA9PiAkdGhpcy0+c2l6ZSwKICAgICAgICAgICAgICAgICdvZmZzZXQnICAgICAgPT4gJHRoaXMtPm9mZnNldAogICAgICAgICAgICApKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+dXBsb2FkUGFydDsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrcyBpZiB0aGUgc2l6ZSBvZiB0aGUgY29udGV4dCBpcyB0aGUgc2FtZSBhcyB0aGUgbWF4aW11bSBzaXplCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0Z1bGwoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c2l6ZSA9PT0gJHRoaXMtPm1heFNpemU7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVja3MgaWYgdGhlIHNpemUgb2YgdGhlIGNvbnRleHQgaXMgMAogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNFbXB0eSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zaXplID09PSAwOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Model/MultipartUpload/UploadPartGenerator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXENvbW1vblxFbnVtXFNpemU7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxPdXRPZkJvdW5kc0V4Y2VwdGlvbjsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXE92ZXJmbG93RXhjZXB0aW9uOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKdXNlIEF3c1xDb21tb25cSGFzaFxUcmVlSGFzaDsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5SW50ZXJmYWNlOwoKLyoqCiAqIEdlbmVyYXRlcyBVcGxvYWRQYXJ0IG9iamVjdHMgZnJvbSBhIHN0cmluZy9zdHJlYW0gdGhhdCBlbmNhcHN1bGF0ZSB0aGUgZGF0YSBuZWVkZWQgZm9yIHVwbG9hZCByZXF1ZXN0cwogKi8KY2xhc3MgVXBsb2FkUGFydEdlbmVyYXRvciBpbXBsZW1lbnRzIFxTZXJpYWxpemFibGUsIFxJdGVyYXRvckFnZ3JlZ2F0ZSwgXENvdW50YWJsZQp7CiAgICBjb25zdCBNQVhfTlVNX1BBUlRTID0gMTAwMDA7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBUaGUgcm9vdCBjaGVja3N1bSAodHJlZSBoYXNoKSBvZiB0aGUgZW50aXJlIGVudGl0eSBib2R5CiAgICAgKi8KICAgIHByb3RlY3RlZCAkcm9vdENoZWNrc3VtOwoKICAgIC8qKgogICAgICogQHZhciBhcnJheSBMaXN0IG9mIHVwbG9hZCBwYXJ0cyBnZW5lcmF0ZWQgYnkgdGhpcyBoZWxwZXIKICAgICAqLwogICAgcHJvdGVjdGVkICR1cGxvYWRQYXJ0czsKCiAgICAvKioKICAgICAqIEB2YXIgaW50IFRoZSB0b3RhbCBzaXplIG9mIHRoZSBlbnRpcmUgdXBsb2FkIGJvZHkKICAgICAqLwogICAgcHJvdGVjdGVkICRhcmNoaXZlU2l6ZTsKCiAgICAvKioKICAgICAqIEB2YXIgaW50IFNpemUgb2YgdXBsb2FkIHBhcnRzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkcGFydFNpemU7CgogICAgLyoqCiAgICAgKiBDcmVhdGVzIGEgVXBsb2FkUGFydEdlbmVyYXRvciBhbmQgd3JhcHMgdGhlIHVwbG9hZCBib2R5IGluIGEgR3V6emxlIEVudGl0eUJvZHkgb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xyZXNvdXJjZXxFbnRpdHlCb2R5SW50ZXJmYWNlICRib2R5ICAgICBUaGUgdXBsb2FkIGJvZHkKICAgICAqIEBwYXJhbSBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFydFNpemUgVGhlIHNpemUgb2YgcGFydHMgdG8gc3BsaXQgdGhlIHVwbG9hZCBpbnRvCiAgICAgKgogICAgICogQHJldHVybiBVcGxvYWRQYXJ0R2VuZXJhdG9yCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkYm9keSwgJHBhcnRTaXplKQogICAgewogICAgICAgIHJldHVybiBuZXcgc3RhdGljKEVudGl0eUJvZHk6OmZhY3RvcnkoJGJvZHkpLCAkcGFydFNpemUpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlcyBhIHNpbmdsZSB1cGxvYWQgcGFydCAodXAgdG8gNEdCKSB1c2VmdWwgZm9yIHRoZSBVcGxvYWRBcmNoaXZlIG9wZXJhdGlvbgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8cmVzb3VyY2V8RW50aXR5Qm9keUludGVyZmFjZSAkYm9keSBUaGUgdXBsb2FkIGJvZHkKICAgICAqCiAgICAgKiBAcmV0dXJuIFVwbG9hZFBhcnQKICAgICAqIEB0aHJvd3MgUnVudGltZUV4Y2VwdGlvbiBpZiB0aGUgYm9keSBlbmRzIHVwIGJlaW5nIGxhcmdlciB0aGFuIDRHQgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNyZWF0ZVNpbmdsZVVwbG9hZFBhcnQoJGJvZHkpCiAgICB7CiAgICAgICAgJGdlbmVyYXRvciA9IG5ldyBzdGF0aWMoRW50aXR5Qm9keTo6ZmFjdG9yeSgkYm9keSksIDQgKiBTaXplOjpHQik7CiAgICAgICAgaWYgKGNvdW50KCRnZW5lcmF0b3IpID4gMSkgewogICAgICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlU3RhcnQKICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oJ1lvdSBjYW5ub3QgY3JlYXRlIGEgc2luZ2xlIHVwbG9hZCB0aGF0IGlzIGxhcmdlciB0aGFuIDQgR0IuJyk7CiAgICAgICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVFbmQKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZ2VuZXJhdG9yLT5nZXRVcGxvYWRQYXJ0KDEpOwogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIEVudGl0eUJvZHlJbnRlcmZhY2UgJGJvZHkgICAgIFRoZSB1cGxvYWQgYm9keQogICAgICogQHBhcmFtIGludCAgICAgICAgICAgICAgICAgJHBhcnRTaXplIFRoZSBzaXplIG9mIHBhcnRzIHRvIHNwbGl0IHRoZSB1cGxvYWQgaW50by4gRGVmYXVsdCBpcyB0aGUgNEdCIG1heAogICAgICoKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIHdoZW4gdGhlIHBhcnQgc2l6ZSBpcyBpbnZhbGlkIChpLmUuIG5vdCBhIHBvd2VyIG9mIDIgb2YgMU1CKQogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gd2hlbiB0aGUgYm9keSBpcyBub3Qgc2Vla2FibGUgKG11c3QgYmUgYWJsZSB0byByZXdpbmQgYWZ0ZXIgY2FsY3VsYXRpbmcgaGFzaGVzKQogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gd2hlbiB0aGUgYXJjaGl2ZSBzaXplIGlzIGxlc3MgdGhhbiBvbmUgYnl0ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoRW50aXR5Qm9keUludGVyZmFjZSAkYm9keSwgJHBhcnRTaXplKQogICAgewogICAgICAgICR0aGlzLT5wYXJ0U2l6ZSA9ICRwYXJ0U2l6ZTsKCiAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHBhcnQgc2l6ZSBpcyB2YWxpZAogICAgICAgICR2YWxpZFBhcnRTaXplcyA9IGFycmF5X21hcChmdW5jdGlvbiAoJHZhbHVlKSB7cmV0dXJuIHBvdygyLCAkdmFsdWUpICogU2l6ZTo6TUI7fSwgcmFuZ2UoMCwgMTIpKTsKICAgICAgICBpZiAoIWluX2FycmF5KCR0aGlzLT5wYXJ0U2l6ZSwgJHZhbGlkUGFydFNpemVzKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdUaGUgcGFydCBzaXplIG11c3QgYmUgYSBtZWdhYnl0ZSBtdWx0aXBsaWVkIGJ5IGEgcG93ZXIgb2YgMiBhbmQgbm8gJwogICAgICAgICAgICAgICAgLiAnZ3JlYXRlciB0aGFuIDQgZ2lnYWJ5dGVzLicpOwogICAgICAgIH0KCiAgICAgICAgLy8gVmFsaWRhdGUgYm9keQogICAgICAgIGlmICghJGJvZHktPmlzU2Vla2FibGUoKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdUaGUgdXBsb2FkIGJvZHkgbXVzdCBiZSBzZWVrYWJsZS4nKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5nZW5lcmF0ZVVwbG9hZFBhcnRzKCRib2R5KTsKCiAgICAgICAgLy8gVmFsaWRhdGUgYXJjaGl2ZSBzaXplCiAgICAgICAgaWYgKCR0aGlzLT5hcmNoaXZlU2l6ZSA8IDEpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignVGhlIGFyY2hpdmUgc2l6ZSBtdXN0IGJlIGF0IGxlYXN0IDEgYnl0ZS4nKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgc2luZ2xlIHVwbG9hZCBwYXJ0IGZyb20gdGhlIGNhbGN1bGF0ZWQgdXBsb2FkcyBieSBwYXJ0IG51bWJlci4gQnkgZGVmYXVsdCBpdCByZXR1cm5zIHRoZSBmaXJzdCwgd2hpY2gKICAgICAqIGlzIHVzZWZ1bCBiZWhhdmlvciBpZiB0aGVyZSBpcyBvbmx5IG9uZSB1cGxvYWQuCiAgICAgKgogICAgICogQHBhcmFtIGludCAkcGFydE51bWJlciBUaGUgbnVtZXJpY2FsIGluZGV4IG9mIHRoZSB1cGxvYWQKICAgICAqCiAgICAgKiBAcmV0dXJuIFVwbG9hZFBhcnQKICAgICAqIEB0aHJvd3MgT3V0T2ZCb3VuZHNFeGNlcHRpb24gaWYgdGhlIGluZGV4IG9mIHRoZSB1cGxvYWQgZG9lc24ndCBleGlzdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VXBsb2FkUGFydCgkcGFydE51bWJlcikKICAgIHsKICAgICAgICAkcGFydE51bWJlciA9IChpbnQpICRwYXJ0TnVtYmVyOwoKICAgICAgICAvLyBHZXQgdGhlIHVwbG9hZCBhdCB0aGUgaW5kZXggaWYgaXQgZXhpc3RzCiAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT51cGxvYWRQYXJ0c1skcGFydE51bWJlciAtIDFdKSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnVwbG9hZFBhcnRzWyRwYXJ0TnVtYmVyIC0gMV07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGhyb3cgbmV3IE91dE9mQm91bmRzRXhjZXB0aW9uKCJBbiB1cGxvYWQgcGFydCB3aXRoIHBhcnQgbnVtYmVyIHskcGFydE51bWJlcn0gYXQgaW5kZXggZGlkIG5vdCBleGlzdC4iKTsKICAgICAgICB9CiAgICB9CiAgICAvKioKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFsbFBhcnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnVwbG9hZFBhcnRzOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QXJjaGl2ZVNpemUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+YXJjaGl2ZVNpemU7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Um9vdENoZWNrc3VtKCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5yb290Q2hlY2tzdW0pIHsKICAgICAgICAgICAgJHRoaXMtPnJvb3RDaGVja3N1bSA9IFRyZWVIYXNoOjpmcm9tQ2hlY2tzdW1zKGFycmF5X21hcChmdW5jdGlvbiAoVXBsb2FkUGFydCAkcGFydCkgewogICAgICAgICAgICAgICAgcmV0dXJuICRwYXJ0LT5nZXRDaGVja3N1bSgpOwogICAgICAgICAgICB9LCAkdGhpcy0+dXBsb2FkUGFydHMpKS0+Z2V0SGFzaCgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5yb290Q2hlY2tzdW07CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGFydFNpemUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cGFydFNpemU7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXJpYWxpemUoKQogICAgewogICAgICAgIHJldHVybiBzZXJpYWxpemUoYXJyYXkoCiAgICAgICAgICAgICd1cGxvYWRQYXJ0cycgPT4gJHRoaXMtPnVwbG9hZFBhcnRzLAogICAgICAgICAgICAnYXJjaGl2ZVNpemUnID0+ICR0aGlzLT5hcmNoaXZlU2l6ZSwKICAgICAgICAgICAgJ3BhcnRTaXplJyAgICA9PiAkdGhpcy0+cGFydFNpemUKICAgICAgICApKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVuc2VyaWFsaXplKCRzZXJpYWxpemVkKQogICAgewogICAgICAgIC8vIFVuc2VyaWFsaXplIGRhdGEKICAgICAgICAkZGF0YSA9IHVuc2VyaWFsaXplKCRzZXJpYWxpemVkKTsKCiAgICAgICAgLy8gU2V0IHByb3BlcnRpZXMKICAgICAgICBmb3JlYWNoIChhcnJheSgndXBsb2FkUGFydHMnLCAnYXJjaGl2ZVNpemUnLCAncGFydFNpemUnKSBhcyAkcHJvcGVydHkpIHsKICAgICAgICAgICAgaWYgKGlzc2V0KCRkYXRhWyRwcm9wZXJ0eV0pKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+eyRwcm9wZXJ0eX0gPSAkZGF0YVskcHJvcGVydHldOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oc3ByaW50ZignQ2Fubm90IHVuc2VyaWFsaXplIHRoZSAlcyBjbGFzcy4gVGhlICVzIHByb3BlcnR5IGlzIG1pc3NpbmcuJywKICAgICAgICAgICAgICAgICAgICBfX0NMQVNTX18sICRwcm9wZXJ0eQogICAgICAgICAgICAgICAgKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJdGVyYXRvcigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBcQXJyYXlJdGVyYXRvcigkdGhpcy0+dXBsb2FkUGFydHMpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY291bnQoKQogICAgewogICAgICAgIHJldHVybiBjb3VudCgkdGhpcy0+dXBsb2FkUGFydHMpOwogICAgfQoKICAgIC8qKgogICAgICogUGVyZm9ybXMgdGhlIHdvcmsgb2YgcmVhZGluZyB0aGUgYm9keSBzdHJlYW0sIGNyZWF0aW5nIHRyZWUgaGFzaGVzLCBhbmQgY3JlYXRpbmcgVXBsb2FkUGFydENvbnRleHQgb2JqZWN0cwogICAgICoKICAgICAqIEBwYXJhbSBFbnRpdHlCb2R5SW50ZXJmYWNlICRib2R5IFRoZSBib2R5IHRvIGNyZWF0ZSBwYXJ0cyBmcm9tCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZW5lcmF0ZVVwbG9hZFBhcnRzKEVudGl0eUJvZHlJbnRlcmZhY2UgJGJvZHkpCiAgICB7CiAgICAgICAgLy8gUmV3aW5kIHRoZSBib2R5IHN0cmVhbQogICAgICAgICRib2R5LT5zZWVrKDApOwoKICAgICAgICAvLyBJbml0aWFsaXplIHZhcmlhYmxlcyBmb3IgdHJhY2tpbmcgZGF0YSBmb3IgdXBsb2FkCiAgICAgICAgJHVwbG9hZENvbnRleHQgPSBuZXcgVXBsb2FkUGFydENvbnRleHQoJHRoaXMtPnBhcnRTaXplLCAkYm9keS0+ZnRlbGwoKSk7CgogICAgICAgIC8vIFJlYWQgdGhlIGRhdGEgZnJvbSB0aGUgc3RyZWFtZWQgYm9keSBpbiAxTUIgY2h1bmtzCiAgICAgICAgd2hpbGUgKCRkYXRhID0gJGJvZHktPnJlYWQobWluKCR0aGlzLT5wYXJ0U2l6ZSwgU2l6ZTo6TUIpKSkgewogICAgICAgICAgICAvLyBBZGQgZGF0YSB0byB0aGUgaGFzaGVzIGFuZCBzaXplIGNhbGN1bGF0aW9ucwogICAgICAgICAgICAkdXBsb2FkQ29udGV4dC0+YWRkRGF0YSgkZGF0YSk7CgogICAgICAgICAgICAvLyBJZiB0aGUgdXBsb2FkIHBhcnQgaXMgY29tcGxldGUsIGdlbmVyYXRlIGFuIHVwbG9hZCBvYmplY3QgYW5kIHJlc2V0IHRoZSBjdXJyZW50bHkgdHJhY2tlZCB1cGxvYWQgZGF0YQogICAgICAgICAgICBpZiAoJHVwbG9hZENvbnRleHQtPmlzRnVsbCgpKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+dXBkYXRlVG90YWxzKCR1cGxvYWRDb250ZXh0LT5nZW5lcmF0ZVBhcnQoKSk7CiAgICAgICAgICAgICAgICAkdXBsb2FkQ29udGV4dCA9IG5ldyBVcGxvYWRQYXJ0Q29udGV4dCgkdGhpcy0+cGFydFNpemUsICRib2R5LT5mdGVsbCgpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gSGFuZGxlIGFueSBsZWZ0b3ZlciBkYXRhCiAgICAgICAgaWYgKCEkdXBsb2FkQ29udGV4dC0+aXNFbXB0eSgpKSB7CiAgICAgICAgICAgICR0aGlzLT51cGRhdGVUb3RhbHMoJHVwbG9hZENvbnRleHQtPmdlbmVyYXRlUGFydCgpKTsKICAgICAgICB9CgogICAgICAgIC8vIFJld2luZCB0aGUgYm9keSBzdHJlYW0KICAgICAgICAkYm9keS0+c2VlaygwKTsKICAgIH0KCiAgICAvKioKICAgICAqIFVwZGF0ZWQgdGhlIHVwbG9hZCBoZWxwZXIgcnVubmluZyB0b3RhbHMgYW5kIHRyZWUgaGFzaCB3aXRoIHRoZSBkYXRhIGZyb20gYSBjb21wbGV0ZSB1cGxvYWQgcGFydAogICAgICoKICAgICAqIEBwYXJhbSBVcGxvYWRQYXJ0ICRwYXJ0IFRoZSBuZXdseSBjb21wbGV0ZWQgdXBsb2FkIHBhcnQKICAgICAqCiAgICAgKiBAdGhyb3dzIE92ZXJmbG93RXhjZXB0aW9uIGlmIHRoZSBtYXhpbXVtIG51bWJlciBvZiBhbGxvd2VkIHVwbG9hZCBwYXJ0cyBpcyBleGNlZWRlZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdXBkYXRlVG90YWxzKFVwbG9hZFBhcnQgJHBhcnQpCiAgICB7CiAgICAgICAgLy8gVGhyb3cgYW4gZXhjZXB0aW9uIGlmIHRoZXJlIGFyZSBtb3JlIHBhcnRzIHRoYW4gdG90YWwgYWxsb3dlZAogICAgICAgIGlmICgkcGFydC0+Z2V0UGFydE51bWJlcigpID4gc2VsZjo6TUFYX05VTV9QQVJUUykgewogICAgICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlU3RhcnQKICAgICAgICAgICAgdGhyb3cgbmV3IE92ZXJmbG93RXhjZXB0aW9uKCdBbiBhcmNoaXZlIG11c3QgYmUgdXBsb2FkZWQgaW4gJyAuIHNlbGY6Ok1BWF9OVU1fUEFSVFMgLiAnIHBhcnRzIG9yIGxlc3MuJyk7CiAgICAgICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVFbmQKICAgICAgICB9CgogICAgICAgICR0aGlzLT51cGxvYWRQYXJ0c1tdID0gJHBhcnQ7CiAgICAgICAgJHRoaXMtPmFyY2hpdmVTaXplICs9ICRwYXJ0LT5nZXRTaXplKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Glacier/Resources/glacier-2012-06-01.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTItMDYtMDEnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnZ2xhY2llcicsCiAgICAnc2VydmljZUZ1bGxOYW1lJyA9PiAnQW1hem9uIEdsYWNpZXInLAogICAgJ3NlcnZpY2VUeXBlJyA9PiAncmVzdC1qc29uJywKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjQnLAogICAgJ25hbWVzcGFjZScgPT4gJ0dsYWNpZXInLAogICAgJ3JlZ2lvbnMnID0+IGFycmF5KAogICAgICAgICd1cy1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdnbGFjaWVyLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdnbGFjaWVyLnVzLXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdnbGFjaWVyLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdldS13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdnbGFjaWVyLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2dsYWNpZXIuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtbm9ydGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdnbGFjaWVyLmFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICApLAogICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICdBYm9ydE11bHRpcGFydFVwbG9hZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnREVMRVRFJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97YWNjb3VudElkfS92YXVsdHMve3ZhdWx0TmFtZX0vbXVsdGlwYXJ0LXVwbG9hZHMve3VwbG9hZElkfScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnYWNjb3VudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3ZhdWx0TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd1cGxvYWRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlLCBzdWNoIGFzIGEgdmF1bHQsIHVwbG9hZCBJRCwgb3Igam9iIElELCBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHBhcmFtZXRlciBvZiB0aGUgcmVxdWVzdCBpcyBpbmNvcnJlY3RseSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHJlcXVpcmVkIGhlYWRlciBvciBwYXJhbWV0ZXIgaXMgbWlzc2luZyBmcm9tIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ1BhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgdGhlIHNlcnZpY2UgY2Fubm90IGNvbXBsZXRlIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ29tcGxldGVNdWx0aXBhcnRVcGxvYWQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnL3thY2NvdW50SWR9L3ZhdWx0cy97dmF1bHROYW1lfS9tdWx0aXBhcnQtdXBsb2Fkcy97dXBsb2FkSWR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdBcmNoaXZlQ3JlYXRpb25PdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnYWNjb3VudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3ZhdWx0TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd1cGxvYWRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdhcmNoaXZlU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWFyY2hpdmUtc2l6ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NoZWNrc3VtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotc2hhMjU2LXRyZWUtaGFzaCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UsIHN1Y2ggYXMgYSB2YXVsdCwgdXBsb2FkIElELCBvciBqb2IgSUQsIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcGFyYW1ldGVyIG9mIHRoZSByZXF1ZXN0IGlzIGluY29ycmVjdGx5IHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcmVxdWlyZWQgaGVhZGVyIG9yIHBhcmFtZXRlciBpcyBtaXNzaW5nIGZyb20gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc2VydmljZSBjYW5ub3QgY29tcGxldGUgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVWYXVsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUFVUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97YWNjb3VudElkfS92YXVsdHMve3ZhdWx0TmFtZX0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZVZhdWx0T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2FjY291bnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd2YXVsdE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgYSBwYXJhbWV0ZXIgb2YgdGhlIHJlcXVlc3QgaXMgaW5jb3JyZWN0bHkgc3BlY2lmaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgYSByZXF1aXJlZCBoZWFkZXIgb3IgcGFyYW1ldGVyIGlzIG1pc3NpbmcgZnJvbSB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01pc3NpbmdQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIHRoZSBzZXJ2aWNlIGNhbm5vdCBjb21wbGV0ZSB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1NlcnZpY2VVbmF2YWlsYWJsZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIHRoZSByZXF1ZXN0IHJlc3VsdHMgaW4gYSB2YXVsdCBvciBhY2NvdW50IGxpbWl0IGJlaW5nIGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUFyY2hpdmUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0RFTEVURScsCiAgICAgICAgICAgICd1cmknID0+ICcve2FjY291bnRJZH0vdmF1bHRzL3t2YXVsdE5hbWV9L2FyY2hpdmVzL3thcmNoaXZlSWR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdhY2NvdW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndmF1bHROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2FyY2hpdmVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlLCBzdWNoIGFzIGEgdmF1bHQsIHVwbG9hZCBJRCwgb3Igam9iIElELCBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHBhcmFtZXRlciBvZiB0aGUgcmVxdWVzdCBpcyBpbmNvcnJlY3RseSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHJlcXVpcmVkIGhlYWRlciBvciBwYXJhbWV0ZXIgaXMgbWlzc2luZyBmcm9tIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ1BhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgdGhlIHNlcnZpY2UgY2Fubm90IGNvbXBsZXRlIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlVmF1bHQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0RFTEVURScsCiAgICAgICAgICAgICd1cmknID0+ICcve2FjY291bnRJZH0vdmF1bHRzL3t2YXVsdE5hbWV9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdhY2NvdW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndmF1bHROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UsIHN1Y2ggYXMgYSB2YXVsdCwgdXBsb2FkIElELCBvciBqb2IgSUQsIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcGFyYW1ldGVyIG9mIHRoZSByZXF1ZXN0IGlzIGluY29ycmVjdGx5IHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcmVxdWlyZWQgaGVhZGVyIG9yIHBhcmFtZXRlciBpcyBtaXNzaW5nIGZyb20gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc2VydmljZSBjYW5ub3QgY29tcGxldGUgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVWYXVsdE5vdGlmaWNhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0RFTEVURScsCiAgICAgICAgICAgICd1cmknID0+ICcve2FjY291bnRJZH0vdmF1bHRzL3t2YXVsdE5hbWV9L25vdGlmaWNhdGlvbi1jb25maWd1cmF0aW9uJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdhY2NvdW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndmF1bHROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UsIHN1Y2ggYXMgYSB2YXVsdCwgdXBsb2FkIElELCBvciBqb2IgSUQsIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcGFyYW1ldGVyIG9mIHRoZSByZXF1ZXN0IGlzIGluY29ycmVjdGx5IHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcmVxdWlyZWQgaGVhZGVyIG9yIHBhcmFtZXRlciBpcyBtaXNzaW5nIGZyb20gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc2VydmljZSBjYW5ub3QgY29tcGxldGUgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUpvYicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97YWNjb3VudElkfS92YXVsdHMve3ZhdWx0TmFtZX0vam9icy97am9iSWR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHbGFjaWVySm9iRGVzY3JpcHRpb24nLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnYWNjb3VudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3ZhdWx0TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdqb2JJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlLCBzdWNoIGFzIGEgdmF1bHQsIHVwbG9hZCBJRCwgb3Igam9iIElELCBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHBhcmFtZXRlciBvZiB0aGUgcmVxdWVzdCBpcyBpbmNvcnJlY3RseSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHJlcXVpcmVkIGhlYWRlciBvciBwYXJhbWV0ZXIgaXMgbWlzc2luZyBmcm9tIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ1BhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgdGhlIHNlcnZpY2UgY2Fubm90IGNvbXBsZXRlIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVWYXVsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97YWNjb3VudElkfS92YXVsdHMve3ZhdWx0TmFtZX0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlVmF1bHRPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnYWNjb3VudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3ZhdWx0TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlLCBzdWNoIGFzIGEgdmF1bHQsIHVwbG9hZCBJRCwgb3Igam9iIElELCBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHBhcmFtZXRlciBvZiB0aGUgcmVxdWVzdCBpcyBpbmNvcnJlY3RseSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHJlcXVpcmVkIGhlYWRlciBvciBwYXJhbWV0ZXIgaXMgbWlzc2luZyBmcm9tIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ1BhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgdGhlIHNlcnZpY2UgY2Fubm90IGNvbXBsZXRlIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0Sm9iT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnL3thY2NvdW50SWR9L3ZhdWx0cy97dmF1bHROYW1lfS9qb2JzL3tqb2JJZH0vb3V0cHV0JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRKb2JPdXRwdXRPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnYWNjb3VudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3ZhdWx0TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdqb2JJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdyYW5nZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1JhbmdlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnc2F2ZUFzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdyZXNwb25zZV9ib2R5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgdGhlIHNwZWNpZmllZCByZXNvdXJjZSwgc3VjaCBhcyBhIHZhdWx0LCB1cGxvYWQgSUQsIG9yIGpvYiBJRCwgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgYSBwYXJhbWV0ZXIgb2YgdGhlIHJlcXVlc3QgaXMgaW5jb3JyZWN0bHkgc3BlY2lmaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgYSByZXF1aXJlZCBoZWFkZXIgb3IgcGFyYW1ldGVyIGlzIG1pc3NpbmcgZnJvbSB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01pc3NpbmdQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIHRoZSBzZXJ2aWNlIGNhbm5vdCBjb21wbGV0ZSB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1NlcnZpY2VVbmF2YWlsYWJsZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFZhdWx0Tm90aWZpY2F0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97YWNjb3VudElkfS92YXVsdHMve3ZhdWx0TmFtZX0vbm90aWZpY2F0aW9uLWNvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldFZhdWx0Tm90aWZpY2F0aW9uc091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdhY2NvdW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndmF1bHROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UsIHN1Y2ggYXMgYSB2YXVsdCwgdXBsb2FkIElELCBvciBqb2IgSUQsIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcGFyYW1ldGVyIG9mIHRoZSByZXF1ZXN0IGlzIGluY29ycmVjdGx5IHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcmVxdWlyZWQgaGVhZGVyIG9yIHBhcmFtZXRlciBpcyBtaXNzaW5nIGZyb20gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc2VydmljZSBjYW5ub3QgY29tcGxldGUgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdJbml0aWF0ZUpvYicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve2FjY291bnRJZH0vdmF1bHRzL3t2YXVsdE5hbWV9L2pvYnMnLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0luaXRpYXRlSm9iT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2FjY291bnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd2YXVsdE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRm9ybWF0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXJjaGl2ZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NOU1RvcGljJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JldHJpZXZhbEJ5dGVSYW5nZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlLCBzdWNoIGFzIGEgdmF1bHQsIHVwbG9hZCBJRCwgb3Igam9iIElELCBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHBhcmFtZXRlciBvZiB0aGUgcmVxdWVzdCBpcyBpbmNvcnJlY3RseSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHJlcXVpcmVkIGhlYWRlciBvciBwYXJhbWV0ZXIgaXMgbWlzc2luZyBmcm9tIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ1BhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgdGhlIHNlcnZpY2UgY2Fubm90IGNvbXBsZXRlIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnSW5pdGlhdGVNdWx0aXBhcnRVcGxvYWQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnL3thY2NvdW50SWR9L3ZhdWx0cy97dmF1bHROYW1lfS9tdWx0aXBhcnQtdXBsb2FkcycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnSW5pdGlhdGVNdWx0aXBhcnRVcGxvYWRPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnYWNjb3VudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3ZhdWx0TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdhcmNoaXZlRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1hcmNoaXZlLWRlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAncGFydFNpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1wYXJ0LXNpemUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlLCBzdWNoIGFzIGEgdmF1bHQsIHVwbG9hZCBJRCwgb3Igam9iIElELCBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHBhcmFtZXRlciBvZiB0aGUgcmVxdWVzdCBpcyBpbmNvcnJlY3RseSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHJlcXVpcmVkIGhlYWRlciBvciBwYXJhbWV0ZXIgaXMgbWlzc2luZyBmcm9tIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ1BhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgdGhlIHNlcnZpY2UgY2Fubm90IGNvbXBsZXRlIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdEpvYnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve2FjY291bnRJZH0vdmF1bHRzL3t2YXVsdE5hbWV9L2pvYnMnLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RKb2JzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2FjY291bnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd2YXVsdE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbGltaXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ21hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnc3RhdHVzY29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tcGxldGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlLCBzdWNoIGFzIGEgdmF1bHQsIHVwbG9hZCBJRCwgb3Igam9iIElELCBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHBhcmFtZXRlciBvZiB0aGUgcmVxdWVzdCBpcyBpbmNvcnJlY3RseSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHJlcXVpcmVkIGhlYWRlciBvciBwYXJhbWV0ZXIgaXMgbWlzc2luZyBmcm9tIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ1BhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgdGhlIHNlcnZpY2UgY2Fubm90IGNvbXBsZXRlIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdE11bHRpcGFydFVwbG9hZHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve2FjY291bnRJZH0vdmF1bHRzL3t2YXVsdE5hbWV9L211bHRpcGFydC11cGxvYWRzJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0TXVsdGlwYXJ0VXBsb2Fkc091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdhY2NvdW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndmF1bHROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2xpbWl0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdtYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UsIHN1Y2ggYXMgYSB2YXVsdCwgdXBsb2FkIElELCBvciBqb2IgSUQsIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcGFyYW1ldGVyIG9mIHRoZSByZXF1ZXN0IGlzIGluY29ycmVjdGx5IHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcmVxdWlyZWQgaGVhZGVyIG9yIHBhcmFtZXRlciBpcyBtaXNzaW5nIGZyb20gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc2VydmljZSBjYW5ub3QgY29tcGxldGUgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0UGFydHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve2FjY291bnRJZH0vdmF1bHRzL3t2YXVsdE5hbWV9L211bHRpcGFydC11cGxvYWRzL3t1cGxvYWRJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RQYXJ0c091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdhY2NvdW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndmF1bHROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3VwbG9hZElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ21hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbGltaXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UsIHN1Y2ggYXMgYSB2YXVsdCwgdXBsb2FkIElELCBvciBqb2IgSUQsIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcGFyYW1ldGVyIG9mIHRoZSByZXF1ZXN0IGlzIGluY29ycmVjdGx5IHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcmVxdWlyZWQgaGVhZGVyIG9yIHBhcmFtZXRlciBpcyBtaXNzaW5nIGZyb20gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc2VydmljZSBjYW5ub3QgY29tcGxldGUgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0VmF1bHRzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnL3thY2NvdW50SWR9L3ZhdWx0cycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdFZhdWx0c091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdhY2NvdW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdsaW1pdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgdGhlIHNwZWNpZmllZCByZXNvdXJjZSwgc3VjaCBhcyBhIHZhdWx0LCB1cGxvYWQgSUQsIG9yIGpvYiBJRCwgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgYSBwYXJhbWV0ZXIgb2YgdGhlIHJlcXVlc3QgaXMgaW5jb3JyZWN0bHkgc3BlY2lmaWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgYSByZXF1aXJlZCBoZWFkZXIgb3IgcGFyYW1ldGVyIGlzIG1pc3NpbmcgZnJvbSB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01pc3NpbmdQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIHRoZSBzZXJ2aWNlIGNhbm5vdCBjb21wbGV0ZSB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1NlcnZpY2VVbmF2YWlsYWJsZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NldFZhdWx0Tm90aWZpY2F0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUFVUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97YWNjb3VudElkfS92YXVsdHMve3ZhdWx0TmFtZX0vbm90aWZpY2F0aW9uLWNvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2FjY291bnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd2YXVsdE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU05TVG9waWMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXZlbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlLCBzdWNoIGFzIGEgdmF1bHQsIHVwbG9hZCBJRCwgb3Igam9iIElELCBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHBhcmFtZXRlciBvZiB0aGUgcmVxdWVzdCBpcyBpbmNvcnJlY3RseSBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiBhIHJlcXVpcmVkIGhlYWRlciBvciBwYXJhbWV0ZXIgaXMgbWlzc2luZyBmcm9tIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ1BhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgaWYgdGhlIHNlcnZpY2UgY2Fubm90IGNvbXBsZXRlIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBsb2FkQXJjaGl2ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve2FjY291bnRJZH0vdmF1bHRzL3t2YXVsdE5hbWV9L2FyY2hpdmVzJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdBcmNoaXZlQ3JlYXRpb25PdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndmF1bHROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2FjY291bnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdhcmNoaXZlRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1hcmNoaXZlLWRlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY2hlY2tzdW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1zaGEyNTYtdHJlZS1oYXNoJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnYm9keScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdib2R5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudFNIQTI1NicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+IHRydWUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UsIHN1Y2ggYXMgYSB2YXVsdCwgdXBsb2FkIElELCBvciBqb2IgSUQsIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcGFyYW1ldGVyIG9mIHRoZSByZXF1ZXN0IGlzIGluY29ycmVjdGx5IHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcmVxdWlyZWQgaGVhZGVyIG9yIHBhcmFtZXRlciBpcyBtaXNzaW5nIGZyb20gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiwgd2hlbiB1cGxvYWRpbmcgYW4gYXJjaGl2ZSwgQW1hem9uIEdsYWNpZXIgdGltZXMgb3V0IHdoaWxlIHJlY2VpdmluZyB0aGUgdXBsb2FkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVxdWVzdFRpbWVvdXRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc2VydmljZSBjYW5ub3QgY29tcGxldGUgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGxvYWRNdWx0aXBhcnRQYXJ0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQVVQnLAogICAgICAgICAgICAndXJpJyA9PiAnL3thY2NvdW50SWR9L3ZhdWx0cy97dmF1bHROYW1lfS9tdWx0aXBhcnQtdXBsb2Fkcy97dXBsb2FkSWR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdVcGxvYWRNdWx0aXBhcnRQYXJ0T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2FjY291bnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd2YXVsdE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndXBsb2FkSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY2hlY2tzdW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1zaGEyNTYtdHJlZS1oYXNoJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAncmFuZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDb250ZW50LVJhbmdlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnYm9keScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdib2R5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudFNIQTI1NicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+IHRydWUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UsIHN1Y2ggYXMgYSB2YXVsdCwgdXBsb2FkIElELCBvciBqb2IgSUQsIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcGFyYW1ldGVyIG9mIHRoZSByZXF1ZXN0IGlzIGluY29ycmVjdGx5IHNwZWNpZmllZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIGEgcmVxdWlyZWQgaGVhZGVyIG9yIHBhcmFtZXRlciBpcyBtaXNzaW5nIGZyb20gdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiwgd2hlbiB1cGxvYWRpbmcgYW4gYXJjaGl2ZSwgQW1hem9uIEdsYWNpZXIgdGltZXMgb3V0IHdoaWxlIHJlY2VpdmluZyB0aGUgdXBsb2FkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVxdWVzdFRpbWVvdXRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc2VydmljZSBjYW5ub3QgY29tcGxldGUgdGhlIHJlcXVlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICdFbXB0eU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICksCiAgICAgICAgJ0FyY2hpdmVDcmVhdGlvbk91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdMb2NhdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NoZWNrc3VtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotc2hhMjU2LXRyZWUtaGFzaCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2FyY2hpdmVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWFyY2hpdmUtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVWYXVsdE91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdMb2NhdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dsYWNpZXJKb2JEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSm9iSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSm9iRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FyY2hpdmVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWYXVsdEFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDcmVhdGlvbkRhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29tcGxldGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGF0dXNDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXR1c01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXJjaGl2ZVNpemVJbkJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnZlbnRvcnlTaXplSW5CeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU05TVG9waWMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29tcGxldGlvbkRhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU0hBMjU2VHJlZUhhc2gnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXJjaGl2ZVNIQTI1NlRyZWVIYXNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JldHJpZXZhbEJ5dGVSYW5nZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVZhdWx0T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdWYXVsdEFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWYXVsdE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhc3RJbnZlbnRvcnlEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ051bWJlck9mQXJjaGl2ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NpemVJbkJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRKb2JPdXRwdXRPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2JvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnaW5zdGFuY2VPZicgPT4gJ0d1enpsZVxcSHR0cFxcRW50aXR5Qm9keScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYm9keScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NoZWNrc3VtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotc2hhMjU2LXRyZWUtaGFzaCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdzdGF0dXNDb2RlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29udGVudFJhbmdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ29udGVudC1SYW5nZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2FjY2VwdFJhbmdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0FjY2VwdC1SYW5nZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb250ZW50VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NvbnRlbnQtVHlwZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2FyY2hpdmVEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWFyY2hpdmUtZGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRWYXVsdE5vdGlmaWNhdGlvbnNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1NOU1RvcGljJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V2ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnSW5pdGlhdGVKb2JPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTG9jYXRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdqb2JJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWpvYi1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0luaXRpYXRlTXVsdGlwYXJ0VXBsb2FkT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0xvY2F0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndXBsb2FkSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1tdWx0aXBhcnQtdXBsb2FkLWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdEpvYnNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0pvYkxpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnR2xhY2llckpvYkRlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSm9iSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSm9iRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FyY2hpdmVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYXVsdEFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGlvbkRhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29tcGxldGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXNDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1c01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJjaGl2ZVNpemVJbkJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnZlbnRvcnlTaXplSW5CeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU05TVG9waWMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29tcGxldGlvbkRhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU0hBMjU2VHJlZUhhc2gnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJjaGl2ZVNIQTI1NlRyZWVIYXNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JldHJpZXZhbEJ5dGVSYW5nZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdE11bHRpcGFydFVwbG9hZHNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1VwbG9hZHNMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1VwbG9hZExpc3RFbGVtZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTXVsdGlwYXJ0VXBsb2FkSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmF1bHRBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJjaGl2ZURlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcnRTaXplSW5CeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0UGFydHNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ011bHRpcGFydFVwbG9hZElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZhdWx0QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FyY2hpdmVEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXJ0U2l6ZUluQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NyZWF0aW9uRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXJ0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQYXJ0TGlzdEVsZW1lbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSYW5nZUluQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU0hBMjU2VHJlZUhhc2gnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RWYXVsdHNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1ZhdWx0TGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdEZXNjcmliZVZhdWx0T3V0cHV0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmF1bHRBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmF1bHROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0aW9uRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0SW52ZW50b3J5RGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOdW1iZXJPZkFyY2hpdmVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXplSW5CeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwbG9hZE11bHRpcGFydFBhcnRPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2NoZWNrc3VtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotc2hhMjU2LXRyZWUtaGFzaCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ3dhaXRlcnMnID0+IGFycmF5KAogICAgICAgICdfX2RlZmF1bHRfXycgPT4gYXJyYXkoCiAgICAgICAgICAgICdpbnRlcnZhbCcgPT4gMywKICAgICAgICAgICAgJ21heF9hdHRlbXB0cycgPT4gMTUsCiAgICAgICAgKSwKICAgICAgICAnX19WYXVsdFN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbicgPT4gJ0Rlc2NyaWJlVmF1bHQnLAogICAgICAgICksCiAgICAgICAgJ1ZhdWx0RXhpc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdfX1ZhdWx0U3RhdGUnLAogICAgICAgICAgICAnc3VjY2Vzcy50eXBlJyA9PiAnb3V0cHV0JywKICAgICAgICAgICAgJ2lnbm9yZV9lcnJvcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1ZhdWx0Tm90RXhpc3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdfX1ZhdWx0U3RhdGUnLAogICAgICAgICAgICAnc3VjY2Vzcy50eXBlJyA9PiAnZXJyb3InLAogICAgICAgICAgICAnc3VjY2Vzcy52YWx1ZScgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICksCiAgICApLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Enum/AssignmentStatusType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgQXNzaWdubWVudFN0YXR1c1R5cGUgdmFsdWVzCiAqLwpjbGFzcyBBc3NpZ25tZW50U3RhdHVzVHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgQVNTSUdORUQgPSAnQXNzaWduZWQnOwogICAgY29uc3QgVU5BU1NJR05FRCA9ICdVbmFzc2lnbmVkJzsKICAgIGNvbnN0IEFOWSA9ICdBbnknOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Enum/StatusType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgU3RhdHVzVHlwZSB2YWx1ZXMKICovCmNsYXNzIFN0YXR1c1R5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEFDVElWRSA9ICdBY3RpdmUnOwogICAgY29uc3QgSU5BQ1RJVkUgPSAnSW5hY3RpdmUnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/DeleteConflictException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gZGVsZXRlIGEgcmVzb3VyY2UgdGhhdCBoYXMgYXR0YWNoZWQgc3Vib3JkaW5hdGUgZW50aXRpZXMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGVzZSBlbnRpdGllcy4KICovCmNsYXNzIERlbGV0ZUNvbmZsaWN0RXhjZXB0aW9uIGV4dGVuZHMgSWFtRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/DuplicateCertificateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgc2FtZSBjZXJ0aWZpY2F0ZSBpcyBhc3NvY2lhdGVkIHRvIGFub3RoZXIgdXNlciB1bmRlciB0aGUgYWNjb3VudC4KICovCmNsYXNzIER1cGxpY2F0ZUNlcnRpZmljYXRlRXhjZXB0aW9uIGV4dGVuZHMgSWFtRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/EntityAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIGEgcmVzb3VyY2UgdGhhdCBhbHJlYWR5IGV4aXN0cy4KICovCmNsYXNzIEVudGl0eUFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBJYW1FeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/EntityTemporarilyUnmodifiableException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGlzIHRlbXBvcmFyaWx5IHVubW9kaWZpYWJsZSwgc3VjaCBhcyBhIHVzZXIgbmFtZSB0aGF0IHdhcyBkZWxldGVkIGFuZCB0aGVuIHJlY3JlYXRlZC4gVGhlIGVycm9yIGluZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0IGlzIGxpa2VseSB0byBzdWNjZWVkIGlmIHlvdSB0cnkgYWdhaW4gYWZ0ZXIgd2FpdGluZyBzZXZlcmFsIG1pbnV0ZXMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LgogKi8KY2xhc3MgRW50aXR5VGVtcG9yYXJpbHlVbm1vZGlmaWFibGVFeGNlcHRpb24gZXh0ZW5kcyBJYW1FeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/IamException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb247CgovKioKICogRGVmYXVsdCBzZXJ2aWNlIGV4Y2VwdGlvbiBjbGFzcwogKi8KY2xhc3MgSWFtRXhjZXB0aW9uIGV4dGVuZHMgU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/InvalidAuthenticationCodeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgYXV0aGVudGljYXRpb24gY29kZSB3YXMgbm90IHJlY29nbml6ZWQuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgc3BlY2lmaWMgZXJyb3IuCiAqLwpjbGFzcyBJbnZhbGlkQXV0aGVudGljYXRpb25Db2RlRXhjZXB0aW9uIGV4dGVuZHMgSWFtRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/InvalidCertificateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgY2VydGlmaWNhdGUgaXMgaW52YWxpZC4KICovCmNsYXNzIEludmFsaWRDZXJ0aWZpY2F0ZUV4Y2VwdGlvbiBleHRlbmRzIElhbUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/InvalidInputException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCi8qKgogKiBFeGNlcHRpb24gdGhhdCBvY2N1cnMgd2hlbiBhIEludmFsaWRJbnB1dEV4Y2VwdGlvbiBlcnJvciBpcyBlbmNvdW50ZXJlZAogKi8KY2xhc3MgSW52YWxpZElucHV0RXhjZXB0aW9uIGV4dGVuZHMgSWFtRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/InvalidUserTypeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdHlwZSBvZiB1c2VyIGZvciB0aGUgdHJhbnNhY3Rpb24gd2FzIGluY29ycmVjdC4KICovCmNsYXNzIEludmFsaWRVc2VyVHlwZUV4Y2VwdGlvbiBleHRlbmRzIElhbUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/KeyPairMismatchException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcHVibGljIGtleSBjZXJ0aWZpY2F0ZSBhbmQgdGhlIHByaXZhdGUga2V5IGRvIG5vdCBtYXRjaC4KICovCmNsYXNzIEtleVBhaXJNaXNtYXRjaEV4Y2VwdGlvbiBleHRlbmRzIElhbUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/LimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLgogKi8KY2xhc3MgTGltaXRFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIElhbUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/MalformedCertificateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgY2VydGlmaWNhdGUgd2FzIG1hbGZvcm1lZCBvciBleHBpcmVkLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIHNwZWNpZmljIGVycm9yLgogKi8KY2xhc3MgTWFsZm9ybWVkQ2VydGlmaWNhdGVFeGNlcHRpb24gZXh0ZW5kcyBJYW1FeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/MalformedPolicyDocumentException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcG9saWN5IGRvY3VtZW50IHdhcyBtYWxmb3JtZWQuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgc3BlY2lmaWMgZXJyb3IuCiAqLwpjbGFzcyBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEV4Y2VwdGlvbiBleHRlbmRzIElhbUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/NoSuchEntityException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4KICovCmNsYXNzIE5vU3VjaEVudGl0eUV4Y2VwdGlvbiBleHRlbmRzIElhbUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Exception/PasswordPolicyViolationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcHJvdmlkZWQgcGFzc3dvcmQgZGlkIG5vdCBtZWV0IHRoZSByZXF1aXJlbWVudHMgaW1wb3NlZCBieSB0aGUgYWNjb3VudCBwYXNzd29yZCBwb2xpY3kuCiAqLwpjbGFzcyBQYXNzd29yZFBvbGljeVZpb2xhdGlvbkV4Y2VwdGlvbiBleHRlbmRzIElhbUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/IamClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSWFtOwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50Owp1c2UgQXdzXENvbW1vblxDbGllbnRcQ2xpZW50QnVpbGRlcjsKdXNlIEF3c1xDb21tb25cRW51bVxDbGllbnRPcHRpb25zIGFzIE9wdGlvbnM7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2U7CgovKioKICogQ2xpZW50IHRvIGludGVyYWN0IHdpdGggQVdTIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudAogKgogKiBAbWV0aG9kIE1vZGVsIGFkZFJvbGVUb0luc3RhbmNlUHJvZmlsZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gQWRkUm9sZVRvSW5zdGFuY2VQcm9maWxlfQogKiBAbWV0aG9kIE1vZGVsIGFkZFVzZXJUb0dyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBBZGRVc2VyVG9Hcm91cH0KICogQG1ldGhvZCBNb2RlbCBjaGFuZ2VQYXNzd29yZChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gQ2hhbmdlUGFzc3dvcmR9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlQWNjZXNzS2V5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBDcmVhdGVBY2Nlc3NLZXl9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlQWNjb3VudEFsaWFzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBDcmVhdGVBY2NvdW50QWxpYXN9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlR3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIENyZWF0ZUdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZUluc3RhbmNlUHJvZmlsZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gQ3JlYXRlSW5zdGFuY2VQcm9maWxlfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZUxvZ2luUHJvZmlsZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gQ3JlYXRlTG9naW5Qcm9maWxlfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVJvbGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIENyZWF0ZVJvbGV9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlU0FNTFByb3ZpZGVyKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBDcmVhdGVTQU1MUHJvdmlkZXJ9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlVXNlcihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gQ3JlYXRlVXNlcn0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVWaXJ0dWFsTUZBRGV2aWNlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBDcmVhdGVWaXJ0dWFsTUZBRGV2aWNlfQogKiBAbWV0aG9kIE1vZGVsIGRlYWN0aXZhdGVNRkFEZXZpY2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIERlYWN0aXZhdGVNRkFEZXZpY2V9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlQWNjZXNzS2V5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBEZWxldGVBY2Nlc3NLZXl9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlQWNjb3VudEFsaWFzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBEZWxldGVBY2NvdW50QWxpYXN9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlQWNjb3VudFBhc3N3b3JkUG9saWN5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBEZWxldGVBY2NvdW50UGFzc3dvcmRQb2xpY3l9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlR3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIERlbGV0ZUdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUdyb3VwUG9saWN5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBEZWxldGVHcm91cFBvbGljeX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVJbnN0YW5jZVByb2ZpbGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIERlbGV0ZUluc3RhbmNlUHJvZmlsZX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVMb2dpblByb2ZpbGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIERlbGV0ZUxvZ2luUHJvZmlsZX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVSb2xlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBEZWxldGVSb2xlfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVJvbGVQb2xpY3koYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIERlbGV0ZVJvbGVQb2xpY3l9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlU0FNTFByb3ZpZGVyKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBEZWxldGVTQU1MUHJvdmlkZXJ9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlU2VydmVyQ2VydGlmaWNhdGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIERlbGV0ZVNlcnZlckNlcnRpZmljYXRlfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVNpZ25pbmdDZXJ0aWZpY2F0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gRGVsZXRlU2lnbmluZ0NlcnRpZmljYXRlfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVVzZXIoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIERlbGV0ZVVzZXJ9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlVXNlclBvbGljeShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gRGVsZXRlVXNlclBvbGljeX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVWaXJ0dWFsTUZBRGV2aWNlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBEZWxldGVWaXJ0dWFsTUZBRGV2aWNlfQogKiBAbWV0aG9kIE1vZGVsIGVuYWJsZU1GQURldmljZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gRW5hYmxlTUZBRGV2aWNlfQogKiBAbWV0aG9kIE1vZGVsIGdldEFjY291bnRQYXNzd29yZFBvbGljeShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gR2V0QWNjb3VudFBhc3N3b3JkUG9saWN5fQogKiBAbWV0aG9kIE1vZGVsIGdldEFjY291bnRTdW1tYXJ5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBHZXRBY2NvdW50U3VtbWFyeX0KICogQG1ldGhvZCBNb2RlbCBnZXRHcm91cChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gR2V0R3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgZ2V0R3JvdXBQb2xpY3koYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIEdldEdyb3VwUG9saWN5fQogKiBAbWV0aG9kIE1vZGVsIGdldEluc3RhbmNlUHJvZmlsZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gR2V0SW5zdGFuY2VQcm9maWxlfQogKiBAbWV0aG9kIE1vZGVsIGdldExvZ2luUHJvZmlsZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gR2V0TG9naW5Qcm9maWxlfQogKiBAbWV0aG9kIE1vZGVsIGdldFJvbGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIEdldFJvbGV9CiAqIEBtZXRob2QgTW9kZWwgZ2V0Um9sZVBvbGljeShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gR2V0Um9sZVBvbGljeX0KICogQG1ldGhvZCBNb2RlbCBnZXRTQU1MUHJvdmlkZXIoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIEdldFNBTUxQcm92aWRlcn0KICogQG1ldGhvZCBNb2RlbCBnZXRTZXJ2ZXJDZXJ0aWZpY2F0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gR2V0U2VydmVyQ2VydGlmaWNhdGV9CiAqIEBtZXRob2QgTW9kZWwgZ2V0VXNlcihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gR2V0VXNlcn0KICogQG1ldGhvZCBNb2RlbCBnZXRVc2VyUG9saWN5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBHZXRVc2VyUG9saWN5fQogKiBAbWV0aG9kIE1vZGVsIGxpc3RBY2Nlc3NLZXlzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBMaXN0QWNjZXNzS2V5c30KICogQG1ldGhvZCBNb2RlbCBsaXN0QWNjb3VudEFsaWFzZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIExpc3RBY2NvdW50QWxpYXNlc30KICogQG1ldGhvZCBNb2RlbCBsaXN0R3JvdXBQb2xpY2llcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gTGlzdEdyb3VwUG9saWNpZXN9CiAqIEBtZXRob2QgTW9kZWwgbGlzdEdyb3VwcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gTGlzdEdyb3Vwc30KICogQG1ldGhvZCBNb2RlbCBsaXN0R3JvdXBzRm9yVXNlcihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gTGlzdEdyb3Vwc0ZvclVzZXJ9CiAqIEBtZXRob2QgTW9kZWwgbGlzdEluc3RhbmNlUHJvZmlsZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIExpc3RJbnN0YW5jZVByb2ZpbGVzfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gTGlzdEluc3RhbmNlUHJvZmlsZXNGb3JSb2xlfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RNRkFEZXZpY2VzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBMaXN0TUZBRGV2aWNlc30KICogQG1ldGhvZCBNb2RlbCBsaXN0Um9sZVBvbGljaWVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBMaXN0Um9sZVBvbGljaWVzfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RSb2xlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gTGlzdFJvbGVzfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RTQU1MUHJvdmlkZXJzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBMaXN0U0FNTFByb3ZpZGVyc30KICogQG1ldGhvZCBNb2RlbCBsaXN0U2VydmVyQ2VydGlmaWNhdGVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBMaXN0U2VydmVyQ2VydGlmaWNhdGVzfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RTaWduaW5nQ2VydGlmaWNhdGVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBMaXN0U2lnbmluZ0NlcnRpZmljYXRlc30KICogQG1ldGhvZCBNb2RlbCBsaXN0VXNlclBvbGljaWVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBMaXN0VXNlclBvbGljaWVzfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RVc2VycyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gTGlzdFVzZXJzfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RWaXJ0dWFsTUZBRGV2aWNlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gTGlzdFZpcnR1YWxNRkFEZXZpY2VzfQogKiBAbWV0aG9kIE1vZGVsIHB1dEdyb3VwUG9saWN5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBQdXRHcm91cFBvbGljeX0KICogQG1ldGhvZCBNb2RlbCBwdXRSb2xlUG9saWN5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBQdXRSb2xlUG9saWN5fQogKiBAbWV0aG9kIE1vZGVsIHB1dFVzZXJQb2xpY3koYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIFB1dFVzZXJQb2xpY3l9CiAqIEBtZXRob2QgTW9kZWwgcmVtb3ZlUm9sZUZyb21JbnN0YW5jZVByb2ZpbGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIFJlbW92ZVJvbGVGcm9tSW5zdGFuY2VQcm9maWxlfQogKiBAbWV0aG9kIE1vZGVsIHJlbW92ZVVzZXJGcm9tR3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIFJlbW92ZVVzZXJGcm9tR3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgcmVzeW5jTUZBRGV2aWNlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBSZXN5bmNNRkFEZXZpY2V9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlQWNjZXNzS2V5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBVcGRhdGVBY2Nlc3NLZXl9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlQWNjb3VudFBhc3N3b3JkUG9saWN5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBVcGRhdGVBY2NvdW50UGFzc3dvcmRQb2xpY3l9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlQXNzdW1lUm9sZVBvbGljeShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gVXBkYXRlQXNzdW1lUm9sZVBvbGljeX0KICogQG1ldGhvZCBNb2RlbCB1cGRhdGVHcm91cChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gVXBkYXRlR3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlTG9naW5Qcm9maWxlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBVcGRhdGVMb2dpblByb2ZpbGV9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlU0FNTFByb3ZpZGVyKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIElhbSBVcGRhdGVTQU1MUHJvdmlkZXJ9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlU2VydmVyQ2VydGlmaWNhdGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIFVwZGF0ZVNlcnZlckNlcnRpZmljYXRlfQogKiBAbWV0aG9kIE1vZGVsIHVwZGF0ZVNpZ25pbmdDZXJ0aWZpY2F0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gVXBkYXRlU2lnbmluZ0NlcnRpZmljYXRlfQogKiBAbWV0aG9kIE1vZGVsIHVwZGF0ZVVzZXIoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIFVwZGF0ZVVzZXJ9CiAqIEBtZXRob2QgTW9kZWwgdXBsb2FkU2VydmVyQ2VydGlmaWNhdGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSWFtIFVwbG9hZFNlcnZlckNlcnRpZmljYXRlfQogKiBAbWV0aG9kIE1vZGVsIHVwbG9hZFNpZ25pbmdDZXJ0aWZpY2F0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJYW0gVXBsb2FkU2lnbmluZ0NlcnRpZmljYXRlfQogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0R2V0R3JvdXBJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBHZXRHcm91cCBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RBY2Nlc3NLZXlzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdEFjY2Vzc0tleXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0QWNjb3VudEFsaWFzZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0QWNjb3VudEFsaWFzZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0R3JvdXBQb2xpY2llc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RHcm91cFBvbGljaWVzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdEdyb3Vwc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RHcm91cHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0R3JvdXBzRm9yVXNlckl0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RHcm91cHNGb3JVc2VyIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdEluc3RhbmNlUHJvZmlsZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0SW5zdGFuY2VQcm9maWxlcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZUl0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZSBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RNRkFEZXZpY2VzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdE1GQURldmljZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0Um9sZVBvbGljaWVzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdFJvbGVQb2xpY2llcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RSb2xlc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RSb2xlcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RTQU1MUHJvdmlkZXJzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdFNBTUxQcm92aWRlcnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0U2VydmVyQ2VydGlmaWNhdGVzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdFNlcnZlckNlcnRpZmljYXRlcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RTaWduaW5nQ2VydGlmaWNhdGVzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdFNpZ25pbmdDZXJ0aWZpY2F0ZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0VXNlclBvbGljaWVzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdFVzZXJQb2xpY2llcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RVc2Vyc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RVc2VycyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RWaXJ0dWFsTUZBRGV2aWNlc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RWaXJ0dWFsTUZBRGV2aWNlcyBvcGVyYXRpb24KICoKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2UtaWFtLmh0bWwgVXNlciBndWlkZQogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLklhbS5JYW1DbGllbnQuaHRtbCBBUEkgZG9jcwogKi8KY2xhc3MgSWFtQ2xpZW50IGV4dGVuZHMgQWJzdHJhY3RDbGllbnQKewogICAgY29uc3QgTEFURVNUX0FQSV9WRVJTSU9OID0gJzIwMTAtMDUtMDgnOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEFXUyBJZGVudGl0eSBhbmQgQWNjZXNzIE1hbmFnZW1lbnQgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEF3c1xDb21tb25cQ2xpZW50XERlZmF1bHRDbGllbnQgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9pYW0tJXMucGhwJwogICAgICAgICAgICApKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Iam/Resources/iam-2010-05-08.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTAtMDUtMDgnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnaWFtJywKICAgICdzZXJ2aWNlRnVsbE5hbWUnID0+ICdBV1MgSWRlbnRpdHkgYW5kIEFjY2VzcyBNYW5hZ2VtZW50JywKICAgICdzZXJ2aWNlQWJicmV2aWF0aW9uJyA9PiAnSUFNJywKICAgICdzZXJ2aWNlVHlwZScgPT4gJ3F1ZXJ5JywKICAgICdnbG9iYWxFbmRwb2ludCcgPT4gJ2lhbS5hbWF6b25hd3MuY29tJywKICAgICdyZXN1bHRXcmFwcGVkJyA9PiB0cnVlLAogICAgJ3NpZ25hdHVyZVZlcnNpb24nID0+ICd2NCcsCiAgICAnbmFtZXNwYWNlJyA9PiAnSWFtJywKICAgICdyZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAndXMtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2lhbS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnaWFtLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdpYW0uYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnZXUtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2lhbS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1ub3J0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdpYW0uYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnaWFtLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLXNvdXRoZWFzdC0yJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2lhbS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdzYS1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnaWFtLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLWdvdi13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnaWFtLnVzLWdvdi5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQWRkUm9sZVRvSW5zdGFuY2VQcm9maWxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0FkZFJvbGVUb0luc3RhbmNlUHJvZmlsZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZVByb2ZpbGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JvbGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIGEgcmVzb3VyY2UgdGhhdCBhbHJlYWR5IGV4aXN0cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0VudGl0eUFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0FkZFVzZXJUb0dyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0FkZFVzZXJUb0dyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ2hhbmdlUGFzc3dvcmQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ2hhbmdlUGFzc3dvcmQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT2xkUGFzc3dvcmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV3UGFzc3dvcmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdHlwZSBvZiB1c2VyIGZvciB0aGUgdHJhbnNhY3Rpb24gd2FzIGluY29ycmVjdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRVc2VyVHlwZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBpcyB0ZW1wb3JhcmlseSB1bm1vZGlmaWFibGUsIHN1Y2ggYXMgYSB1c2VyIG5hbWUgdGhhdCB3YXMgZGVsZXRlZCBhbmQgdGhlbiByZWNyZWF0ZWQuIFRoZSBlcnJvciBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdCBpcyBsaWtlbHkgdG8gc3VjY2VlZCBpZiB5b3UgdHJ5IGFnYWluIGFmdGVyIHdhaXRpbmcgc2V2ZXJhbCBtaW51dGVzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0VudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlQWNjZXNzS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVBY2Nlc3NLZXlSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZUFjY2Vzc0tleScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIGNyZWF0ZSByZXNvdXJjZXMgYmV5b25kIHRoZSBjdXJyZW50IEFXUyBhY2NvdW50IGxpbWl0cy4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBsaW1pdCBleGNlZWRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVBY2NvdW50QWxpYXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlQWNjb3VudEFsaWFzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FjY291bnRBbGlhcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjMsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgYSByZXNvdXJjZSB0aGF0IGFscmVhZHkgZXhpc3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRW50aXR5QWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZUdyb3VwUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUxMiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIGNyZWF0ZSBhIHJlc291cmNlIHRoYXQgYWxyZWFkeSBleGlzdHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdFbnRpdHlBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVJbnN0YW5jZVByb2ZpbGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZUluc3RhbmNlUHJvZmlsZVJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlSW5zdGFuY2VQcm9maWxlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlUHJvZmlsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MTIsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgYSByZXNvdXJjZSB0aGF0IGFscmVhZHkgZXhpc3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRW50aXR5QWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlTG9naW5Qcm9maWxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVMb2dpblByb2ZpbGVSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZUxvZ2luUHJvZmlsZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Bhc3N3b3JkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgYSByZXNvdXJjZSB0aGF0IGFscmVhZHkgZXhpc3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRW50aXR5QWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgdGhlIHByb3ZpZGVkIHBhc3N3b3JkIGRpZCBub3QgbWVldCB0aGUgcmVxdWlyZW1lbnRzIGltcG9zZWQgYnkgdGhlIGFjY291bnQgcGFzc3dvcmQgcG9saWN5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUGFzc3dvcmRQb2xpY3lWaW9sYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVJvbGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZVJvbGVSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZVJvbGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MTIsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JvbGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXNzdW1lUm9sZVBvbGljeURvY3VtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMzEwNzIsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIGNyZWF0ZSBhIHJlc291cmNlIHRoYXQgYWxyZWFkeSBleGlzdHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdFbnRpdHlBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgdGhlIHBvbGljeSBkb2N1bWVudCB3YXMgbWFsZm9ybWVkLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIHNwZWNpZmljIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVTQU1MUHJvdmlkZXInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZVNBTUxQcm92aWRlclJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlU0FNTFByb3ZpZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NBTUxNZXRhZGF0YURvY3VtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMTAwMCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAwMDAwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRJbnB1dEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgYSByZXNvdXJjZSB0aGF0IGFscmVhZHkgZXhpc3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRW50aXR5QWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlVXNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ3JlYXRlVXNlclJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlVXNlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUxMiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVXNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgYSByZXNvdXJjZSB0aGF0IGFscmVhZHkgZXhpc3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRW50aXR5QWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlVmlydHVhbE1GQURldmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ3JlYXRlVmlydHVhbE1GQURldmljZVJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlVmlydHVhbE1GQURldmljZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUxMiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmlydHVhbE1GQURldmljZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgYSByZXNvdXJjZSB0aGF0IGFscmVhZHkgZXhpc3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRW50aXR5QWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlYWN0aXZhdGVNRkFEZXZpY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVhY3RpdmF0ZU1GQURldmljZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZXJpYWxOdW1iZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA5LAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBpcyB0ZW1wb3JhcmlseSB1bm1vZGlmaWFibGUsIHN1Y2ggYXMgYSB1c2VyIG5hbWUgdGhhdCB3YXMgZGVsZXRlZCBhbmQgdGhlbiByZWNyZWF0ZWQuIFRoZSBlcnJvciBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdCBpcyBsaWtlbHkgdG8gc3VjY2VlZCBpZiB5b3UgdHJ5IGFnYWluIGFmdGVyIHdhaXRpbmcgc2V2ZXJhbCBtaW51dGVzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0VudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUFjY2Vzc0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVBY2Nlc3NLZXknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVXNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBY2Nlc3NLZXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDE2LAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDMyLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQWNjb3VudEFsaWFzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZUFjY291bnRBbGlhcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBY2NvdW50QWxpYXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAzLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDYzLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQWNjb3VudFBhc3N3b3JkUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZUFjY291bnRQYXNzd29yZFBvbGljeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZUdyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBkZWxldGUgYSByZXNvdXJjZSB0aGF0IGhhcyBhdHRhY2hlZCBzdWJvcmRpbmF0ZSBlbnRpdGllcy4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZXNlIGVudGl0aWVzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGVsZXRlQ29uZmxpY3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUdyb3VwUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZUdyb3VwUG9saWN5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQb2xpY3lOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIGNyZWF0ZSByZXNvdXJjZXMgYmV5b25kIHRoZSBjdXJyZW50IEFXUyBhY2NvdW50IGxpbWl0cy4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBsaW1pdCBleGNlZWRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVJbnN0YW5jZVByb2ZpbGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlSW5zdGFuY2VQcm9maWxlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlUHJvZmlsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gZGVsZXRlIGEgcmVzb3VyY2UgdGhhdCBoYXMgYXR0YWNoZWQgc3Vib3JkaW5hdGUgZW50aXRpZXMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGVzZSBlbnRpdGllcy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RlbGV0ZUNvbmZsaWN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIGNyZWF0ZSByZXNvdXJjZXMgYmV5b25kIHRoZSBjdXJyZW50IEFXUyBhY2NvdW50IGxpbWl0cy4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBsaW1pdCBleGNlZWRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVMb2dpblByb2ZpbGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlTG9naW5Qcm9maWxlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBpcyB0ZW1wb3JhcmlseSB1bm1vZGlmaWFibGUsIHN1Y2ggYXMgYSB1c2VyIG5hbWUgdGhhdCB3YXMgZGVsZXRlZCBhbmQgdGhlbiByZWNyZWF0ZWQuIFRoZSBlcnJvciBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdCBpcyBsaWtlbHkgdG8gc3VjY2VlZCBpZiB5b3UgdHJ5IGFnYWluIGFmdGVyIHdhaXRpbmcgc2V2ZXJhbCBtaW51dGVzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0VudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVJvbGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlUm9sZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSb2xlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIGRlbGV0ZSBhIHJlc291cmNlIHRoYXQgaGFzIGF0dGFjaGVkIHN1Ym9yZGluYXRlIGVudGl0aWVzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlc2UgZW50aXRpZXMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEZWxldGVDb25mbGljdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlUm9sZVBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVSb2xlUG9saWN5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JvbGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9saWN5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlU0FNTFByb3ZpZGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZVNBTUxQcm92aWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTQU1MUHJvdmlkZXJBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAyMCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMDQ4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRJbnB1dEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVNlcnZlckNlcnRpZmljYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZVNlcnZlckNlcnRpZmljYXRlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NlcnZlckNlcnRpZmljYXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBkZWxldGUgYSByZXNvdXJjZSB0aGF0IGhhcyBhdHRhY2hlZCBzdWJvcmRpbmF0ZSBlbnRpdGllcy4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZXNlIGVudGl0aWVzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGVsZXRlQ29uZmxpY3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVNpZ25pbmdDZXJ0aWZpY2F0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVTaWduaW5nQ2VydGlmaWNhdGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVXNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDZXJ0aWZpY2F0ZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMjQsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlVXNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVVc2VyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gZGVsZXRlIGEgcmVzb3VyY2UgdGhhdCBoYXMgYXR0YWNoZWQgc3Vib3JkaW5hdGUgZW50aXRpZXMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGVzZSBlbnRpdGllcy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RlbGV0ZUNvbmZsaWN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlVXNlclBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVVc2VyUG9saWN5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvbGljeU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVZpcnR1YWxNRkFEZXZpY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlVmlydHVhbE1GQURldmljZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZXJpYWxOdW1iZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA5LAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gZGVsZXRlIGEgcmVzb3VyY2UgdGhhdCBoYXMgYXR0YWNoZWQgc3Vib3JkaW5hdGUgZW50aXRpZXMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGVzZSBlbnRpdGllcy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RlbGV0ZUNvbmZsaWN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIGNyZWF0ZSByZXNvdXJjZXMgYmV5b25kIHRoZSBjdXJyZW50IEFXUyBhY2NvdW50IGxpbWl0cy4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBsaW1pdCBleGNlZWRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFbmFibGVNRkFEZXZpY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRW5hYmxlTUZBRGV2aWNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NlcmlhbE51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDksCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRoZW50aWNhdGlvbkNvZGUxJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNiwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRoZW50aWNhdGlvbkNvZGUyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNiwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIGEgcmVzb3VyY2UgdGhhdCBhbHJlYWR5IGV4aXN0cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0VudGl0eUFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGlzIHRlbXBvcmFyaWx5IHVubW9kaWZpYWJsZSwgc3VjaCBhcyBhIHVzZXIgbmFtZSB0aGF0IHdhcyBkZWxldGVkIGFuZCB0aGVuIHJlY3JlYXRlZC4gVGhlIGVycm9yIGluZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0IGlzIGxpa2VseSB0byBzdWNjZWVkIGlmIHlvdSB0cnkgYWdhaW4gYWZ0ZXIgd2FpdGluZyBzZXZlcmFsIG1pbnV0ZXMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRW50aXR5VGVtcG9yYXJpbHlVbm1vZGlmaWFibGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgYXV0aGVudGljYXRpb24gY29kZSB3YXMgbm90IHJlY29nbml6ZWQuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgc3BlY2lmaWMgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQXV0aGVudGljYXRpb25Db2RlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIGNyZWF0ZSByZXNvdXJjZXMgYmV5b25kIHRoZSBjdXJyZW50IEFXUyBhY2NvdW50IGxpbWl0cy4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBsaW1pdCBleGNlZWRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEFjY291bnRQYXNzd29yZFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0QWNjb3VudFBhc3N3b3JkUG9saWN5UmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRBY2NvdW50UGFzc3dvcmRQb2xpY3knLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRBY2NvdW50U3VtbWFyeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0QWNjb3VudFN1bW1hcnlSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0dldEFjY291bnRTdW1tYXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRHcm91cFJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnR2V0R3JvdXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEwMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0R3JvdXBQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldEdyb3VwUG9saWN5UmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRHcm91cFBvbGljeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9saWN5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEluc3RhbmNlUHJvZmlsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0SW5zdGFuY2VQcm9maWxlUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRJbnN0YW5jZVByb2ZpbGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VQcm9maWxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldExvZ2luUHJvZmlsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0TG9naW5Qcm9maWxlUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRMb2dpblByb2ZpbGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVXNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFJvbGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldFJvbGVSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0dldFJvbGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUm9sZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFJvbGVQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldFJvbGVQb2xpY3lSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0dldFJvbGVQb2xpY3knLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUm9sZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQb2xpY3lOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0U0FNTFByb3ZpZGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRTQU1MUHJvdmlkZXJSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0dldFNBTUxQcm92aWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTQU1MUHJvdmlkZXJBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAyMCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMDQ4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZElucHV0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0U2VydmVyQ2VydGlmaWNhdGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldFNlcnZlckNlcnRpZmljYXRlUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRTZXJ2ZXJDZXJ0aWZpY2F0ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZXJ2ZXJDZXJ0aWZpY2F0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRVc2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRVc2VyUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRVc2VyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRVc2VyUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRVc2VyUG9saWN5UmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRVc2VyUG9saWN5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvbGljeU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0QWNjZXNzS2V5cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdEFjY2Vzc0tleXNSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0xpc3RBY2Nlc3NLZXlzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDMyMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTAwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0QWNjb3VudEFsaWFzZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RBY2NvdW50QWxpYXNlc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTGlzdEFjY291bnRBbGlhc2VzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEwMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RHcm91cFBvbGljaWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0R3JvdXBQb2xpY2llc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTGlzdEdyb3VwUG9saWNpZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEwMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdEdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdEdyb3Vwc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTGlzdEdyb3VwcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXRoUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUxMiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDMyMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTAwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdEdyb3Vwc0ZvclVzZXInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RHcm91cHNGb3JVc2VyUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdMaXN0R3JvdXBzRm9yVXNlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzIwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMDAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RJbnN0YW5jZVByb2ZpbGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0SW5zdGFuY2VQcm9maWxlc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTGlzdEluc3RhbmNlUHJvZmlsZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGF0aFByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MTIsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEwMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdEluc3RhbmNlUHJvZmlsZXNGb3JSb2xlUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdMaXN0SW5zdGFuY2VQcm9maWxlc0ZvclJvbGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUm9sZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzIwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMDAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RNRkFEZXZpY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0TUZBRGV2aWNlc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTGlzdE1GQURldmljZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVXNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzIwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMDAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RSb2xlUG9saWNpZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RSb2xlUG9saWNpZXNSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0xpc3RSb2xlUG9saWNpZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUm9sZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzIwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMDAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RSb2xlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdFJvbGVzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdMaXN0Um9sZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGF0aFByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MTIsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEwMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RTQU1MUHJvdmlkZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0U0FNTFByb3ZpZGVyc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTGlzdFNBTUxQcm92aWRlcnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFNlcnZlckNlcnRpZmljYXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdFNlcnZlckNlcnRpZmljYXRlc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTGlzdFNlcnZlckNlcnRpZmljYXRlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXRoUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUxMiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDMyMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTAwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFNpZ25pbmdDZXJ0aWZpY2F0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RTaWduaW5nQ2VydGlmaWNhdGVzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdMaXN0U2lnbmluZ0NlcnRpZmljYXRlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEwMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFVzZXJQb2xpY2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdFVzZXJQb2xpY2llc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTGlzdFVzZXJQb2xpY2llcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzIwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMDAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RVc2VycycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdFVzZXJzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdMaXN0VXNlcnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGF0aFByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MTIsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEwMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RWaXJ0dWFsTUZBRGV2aWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdFZpcnR1YWxNRkFEZXZpY2VzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdMaXN0VmlydHVhbE1GQURldmljZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXNzaWdubWVudFN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEwMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1B1dEdyb3VwUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1B1dEdyb3VwUG9saWN5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQb2xpY3lOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvbGljeURvY3VtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMzEwNzIsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgdGhlIHBvbGljeSBkb2N1bWVudCB3YXMgbWFsZm9ybWVkLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIHNwZWNpZmljIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1B1dFJvbGVQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUHV0Um9sZVBvbGljeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSb2xlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvbGljeU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9saWN5RG9jdW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEzMTA3MiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIGNyZWF0ZSByZXNvdXJjZXMgYmV5b25kIHRoZSBjdXJyZW50IEFXUyBhY2NvdW50IGxpbWl0cy4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBsaW1pdCBleGNlZWRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcG9saWN5IGRvY3VtZW50IHdhcyBtYWxmb3JtZWQuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgc3BlY2lmaWMgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHV0VXNlclBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdQdXRVc2VyUG9saWN5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvbGljeU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9saWN5RG9jdW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEzMTA3MiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIGNyZWF0ZSByZXNvdXJjZXMgYmV5b25kIHRoZSBjdXJyZW50IEFXUyBhY2NvdW50IGxpbWl0cy4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBsaW1pdCBleGNlZWRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcG9saWN5IGRvY3VtZW50IHdhcyBtYWxmb3JtZWQuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgc3BlY2lmaWMgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVtb3ZlUm9sZUZyb21JbnN0YW5jZVByb2ZpbGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmVtb3ZlUm9sZUZyb21JbnN0YW5jZVByb2ZpbGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VQcm9maWxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSb2xlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIGNyZWF0ZSByZXNvdXJjZXMgYmV5b25kIHRoZSBjdXJyZW50IEFXUyBhY2NvdW50IGxpbWl0cy4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBsaW1pdCBleGNlZWRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZW1vdmVVc2VyRnJvbUdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1JlbW92ZVVzZXJGcm9tR3JvdXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIGNyZWF0ZSByZXNvdXJjZXMgYmV5b25kIHRoZSBjdXJyZW50IEFXUyBhY2NvdW50IGxpbWl0cy4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBsaW1pdCBleGNlZWRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXN5bmNNRkFEZXZpY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmVzeW5jTUZBRGV2aWNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NlcmlhbE51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDksCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRoZW50aWNhdGlvbkNvZGUxJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNiwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRoZW50aWNhdGlvbkNvZGUyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNiwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgYXV0aGVudGljYXRpb24gY29kZSB3YXMgbm90IHJlY29nbml6ZWQuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgc3BlY2lmaWMgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQXV0aGVudGljYXRpb25Db2RlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZUFjY2Vzc0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdVcGRhdGVBY2Nlc3NLZXknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVXNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBY2Nlc3NLZXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDE2LAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDMyLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZUFjY291bnRQYXNzd29yZFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdVcGRhdGVBY2NvdW50UGFzc3dvcmRQb2xpY3knLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWluaW11bVBhc3N3b3JkTGVuZ3RoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDYsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWlyZVN5bWJvbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1aXJlTnVtYmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVpcmVVcHBlcmNhc2VDaGFyYWN0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWlyZUxvd2VyY2FzZUNoYXJhY3RlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGxvd1VzZXJzVG9DaGFuZ2VQYXNzd29yZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgdGhlIHBvbGljeSBkb2N1bWVudCB3YXMgbWFsZm9ybWVkLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIHNwZWNpZmljIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZUFzc3VtZVJvbGVQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnVXBkYXRlQXNzdW1lUm9sZVBvbGljeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSb2xlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvbGljeURvY3VtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMzEwNzIsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgdGhlIHBvbGljeSBkb2N1bWVudCB3YXMgbWFsZm9ybWVkLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIHNwZWNpZmljIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZUdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1VwZGF0ZUdyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXdQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUxMiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV3R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIGEgcmVzb3VyY2UgdGhhdCBhbHJlYWR5IGV4aXN0cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0VudGl0eUFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZUxvZ2luUHJvZmlsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdVcGRhdGVMb2dpblByb2ZpbGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVXNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXNzd29yZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGlzIHRlbXBvcmFyaWx5IHVubW9kaWZpYWJsZSwgc3VjaCBhcyBhIHVzZXIgbmFtZSB0aGF0IHdhcyBkZWxldGVkIGFuZCB0aGVuIHJlY3JlYXRlZC4gVGhlIGVycm9yIGluZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0IGlzIGxpa2VseSB0byBzdWNjZWVkIGlmIHlvdSB0cnkgYWdhaW4gYWZ0ZXIgd2FpdGluZyBzZXZlcmFsIG1pbnV0ZXMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgZW50aXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRW50aXR5VGVtcG9yYXJpbHlVbm1vZGlmaWFibGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIHRoZSBwcm92aWRlZCBwYXNzd29yZCBkaWQgbm90IG1lZXQgdGhlIHJlcXVpcmVtZW50cyBpbXBvc2VkIGJ5IHRoZSBhY2NvdW50IHBhc3N3b3JkIHBvbGljeS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Bhc3N3b3JkUG9saWN5VmlvbGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIGNyZWF0ZSByZXNvdXJjZXMgYmV5b25kIHRoZSBjdXJyZW50IEFXUyBhY2NvdW50IGxpbWl0cy4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBsaW1pdCBleGNlZWRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVTQU1MUHJvdmlkZXInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1VwZGF0ZVNBTUxQcm92aWRlclJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnVXBkYXRlU0FNTFByb3ZpZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NBTUxNZXRhZGF0YURvY3VtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMTAwMCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAwMDAwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU0FNTFByb3ZpZGVyQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMjAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjA0OCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRJbnB1dEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlU2VydmVyQ2VydGlmaWNhdGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnVXBkYXRlU2VydmVyQ2VydGlmaWNhdGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VydmVyQ2VydGlmaWNhdGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05ld1BhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTEyLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXdTZXJ2ZXJDZXJ0aWZpY2F0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgYSByZXNvdXJjZSB0aGF0IGFscmVhZHkgZXhpc3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRW50aXR5QWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlU2lnbmluZ0NlcnRpZmljYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1VwZGF0ZVNpZ25pbmdDZXJ0aWZpY2F0ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NlcnRpZmljYXRlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAyNCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCByZWZlcmVuY2VkIGFuIGVudGl0eSB0aGF0IGRvZXMgbm90IGV4aXN0LiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGVudGl0eS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEVudGl0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlVXNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdVcGRhdGVVc2VyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNS0wOCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05ld1BhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTEyLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgYSByZXNvdXJjZSB0aGF0IGFscmVhZHkgZXhpc3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRW50aXR5QWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IHJlZmVyZW5jZWQgYW4gZW50aXR5IHRoYXQgaXMgdGVtcG9yYXJpbHkgdW5tb2RpZmlhYmxlLCBzdWNoIGFzIGEgdXNlciBuYW1lIHRoYXQgd2FzIGRlbGV0ZWQgYW5kIHRoZW4gcmVjcmVhdGVkLiBUaGUgZXJyb3IgaW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3QgaXMgbGlrZWx5IHRvIHN1Y2NlZWQgaWYgeW91IHRyeSBhZ2FpbiBhZnRlciB3YWl0aW5nIHNldmVyYWwgbWludXRlcy4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdFbnRpdHlUZW1wb3JhcmlseVVubW9kaWZpYWJsZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwbG9hZFNlcnZlckNlcnRpZmljYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdVcGxvYWRTZXJ2ZXJDZXJ0aWZpY2F0ZVJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnVXBsb2FkU2VydmVyQ2VydGlmaWNhdGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA1LTA4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MTIsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NlcnZlckNlcnRpZmljYXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDZXJ0aWZpY2F0ZUJvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE2Mzg0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcml2YXRlS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxNjM4NCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2VydGlmaWNhdGVDaGFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMDk3MTUyLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSBpdCBhdHRlbXB0ZWQgdG8gY3JlYXRlIHJlc291cmNlcyBiZXlvbmQgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQgbGltaXRzLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIGxpbWl0IGV4Y2VlZGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgYSByZXNvdXJjZSB0aGF0IGFscmVhZHkgZXhpc3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRW50aXR5QWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIHRoZSBjZXJ0aWZpY2F0ZSB3YXMgbWFsZm9ybWVkIG9yIGV4cGlyZWQuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgc3BlY2lmaWMgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNYWxmb3JtZWRDZXJ0aWZpY2F0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIHRoZSBwdWJsaWMga2V5IGNlcnRpZmljYXRlIGFuZCB0aGUgcHJpdmF0ZSBrZXkgZG8gbm90IG1hdGNoLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnS2V5UGFpck1pc21hdGNoRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBsb2FkU2lnbmluZ0NlcnRpZmljYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdVcGxvYWRTaWduaW5nQ2VydGlmaWNhdGVSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1VwbG9hZFNpZ25pbmdDZXJ0aWZpY2F0ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDUtMDgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NlcnRpZmljYXRlQm9keScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTYzODQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIGl0IGF0dGVtcHRlZCB0byBjcmVhdGUgcmVzb3VyY2VzIGJleW9uZCB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBsaW1pdHMuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgbGltaXQgZXhjZWVkZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgYXR0ZW1wdGVkIHRvIGNyZWF0ZSBhIHJlc291cmNlIHRoYXQgYWxyZWFkeSBleGlzdHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdFbnRpdHlBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgdGhlIGNlcnRpZmljYXRlIHdhcyBtYWxmb3JtZWQgb3IgZXhwaXJlZC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBzcGVjaWZpYyBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01hbGZvcm1lZENlcnRpZmljYXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgdGhlIGNlcnRpZmljYXRlIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2VydGlmaWNhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgc2FtZSBjZXJ0aWZpY2F0ZSBpcyBhc3NvY2lhdGVkIHRvIGFub3RoZXIgdXNlciB1bmRlciB0aGUgYWNjb3VudC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0R1cGxpY2F0ZUNlcnRpZmljYXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgaXQgcmVmZXJlbmNlZCBhbiBlbnRpdHkgdGhhdCBkb2VzIG5vdCBleGlzdC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBlbnRpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hFbnRpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICdFbXB0eU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUFjY2Vzc0tleVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY2Nlc3NLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FjY2Vzc0tleUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTZWNyZXRBY2Nlc3NLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlR3JvdXBSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1BhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUluc3RhbmNlUHJvZmlsZVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJbnN0YW5jZVByb2ZpbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1BhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VQcm9maWxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVByb2ZpbGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSb2xlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSb2xlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSb2xlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSb2xlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXNzdW1lUm9sZVBvbGljeURvY3VtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVMb2dpblByb2ZpbGVSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTG9naW5Qcm9maWxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVSb2xlUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JvbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1BhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUm9sZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUm9sZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Fzc3VtZVJvbGVQb2xpY3lEb2N1bWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlU0FNTFByb3ZpZGVyUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1NBTUxQcm92aWRlckFybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVVzZXJSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVXNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdVc2VySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVZpcnR1YWxNRkFEZXZpY2VSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVmlydHVhbE1GQURldmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnU2VyaWFsTnVtYmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Jhc2UzMlN0cmluZ1NlZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUVJDb2RlUE5HJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEFjY291bnRQYXNzd29yZFBvbGljeVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdQYXNzd29yZFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnTWluaW11bVBhc3N3b3JkTGVuZ3RoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSZXF1aXJlU3ltYm9scycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmVxdWlyZU51bWJlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1JlcXVpcmVVcHBlcmNhc2VDaGFyYWN0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSZXF1aXJlTG93ZXJjYXNlQ2hhcmFjdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dVc2Vyc1RvQ2hhbmdlUGFzc3dvcmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0V4cGlyZVBhc3N3b3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWF4UGFzc3dvcmRBZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRBY2NvdW50U3VtbWFyeVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdW1tYXJ5TWFwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3htbE1hcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlcnMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJzUXVvdGEnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXBzUXVvdGEnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlcnZlckNlcnRpZmljYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VydmVyQ2VydGlmaWNhdGVzUXVvdGEnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJQb2xpY3lTaXplUXVvdGEnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwUG9saWN5U2l6ZVF1b3RhJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cHNQZXJVc2VyUXVvdGEnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NpZ25pbmdDZXJ0aWZpY2F0ZXNQZXJVc2VyUXVvdGEnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FjY2Vzc0tleXNQZXJVc2VyUXVvdGEnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01GQURldmljZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01GQURldmljZXNJblVzZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWNjb3VudE1GQUVuYWJsZWQnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZXRob2QnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcWG1sUmVzcG9uc2VMb2NhdGlvblZpc2l0b3I6OnhtbE1hcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXJncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0B2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdlbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGZhbHNlLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRHcm91cFJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVXNlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdVc2VyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lzVHJ1bmNhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEdyb3VwUG9saWN5UmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvbGljeU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQb2xpY3lEb2N1bWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEluc3RhbmNlUHJvZmlsZVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJbnN0YW5jZVByb2ZpbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1BhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VQcm9maWxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVByb2ZpbGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSb2xlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSb2xlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSb2xlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSb2xlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXNzdW1lUm9sZVBvbGljeURvY3VtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRMb2dpblByb2ZpbGVSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTG9naW5Qcm9maWxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRSb2xlUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JvbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1BhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUm9sZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUm9sZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Fzc3VtZVJvbGVQb2xpY3lEb2N1bWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0Um9sZVBvbGljeVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSb2xlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvbGljeU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQb2xpY3lEb2N1bWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFNBTUxQcm92aWRlclJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTQU1MTWV0YWRhdGFEb2N1bWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NyZWF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWYWxpZFVudGlsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0U2VydmVyQ2VydGlmaWNhdGVSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU2VydmVyQ2VydGlmaWNhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1NlcnZlckNlcnRpZmljYXRlTWV0YWRhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlcnZlckNlcnRpZmljYXRlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXJ2ZXJDZXJ0aWZpY2F0ZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGxvYWREYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2VydGlmaWNhdGVCb2R5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NlcnRpZmljYXRlQ2hhaW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFVzZXJSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVXNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdVc2VySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFVzZXJQb2xpY3lSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVXNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQb2xpY3lOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9saWN5RG9jdW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0QWNjZXNzS2V5c1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY2Nlc3NLZXlNZXRhZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0FjY2Vzc0tleU1ldGFkYXRhJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FjY2Vzc0tleUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lzVHJ1bmNhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RBY2NvdW50QWxpYXNlc1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY2NvdW50QWxpYXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2FjY291bnRBbGlhc1R5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lzVHJ1bmNhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RHcm91cFBvbGljaWVzUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1BvbGljeU5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAncG9saWN5TmFtZVR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lzVHJ1bmNhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RHcm91cHNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnR3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJc1RydW5jYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0R3JvdXBzRm9yVXNlclJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lzVHJ1bmNhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RJbnN0YW5jZVByb2ZpbGVzUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0luc3RhbmNlUHJvZmlsZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJbnN0YW5jZVByb2ZpbGUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVByb2ZpbGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlUHJvZmlsZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvbGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1JvbGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSb2xlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSb2xlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXNzdW1lUm9sZVBvbGljeURvY3VtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lzVHJ1bmNhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJbnN0YW5jZVByb2ZpbGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSW5zdGFuY2VQcm9maWxlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VQcm9maWxlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVByb2ZpbGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSb2xlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSb2xlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUm9sZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUm9sZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Fzc3VtZVJvbGVQb2xpY3lEb2N1bWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJc1RydW5jYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0TUZBRGV2aWNlc1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNRkFEZXZpY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnTUZBRGV2aWNlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlcmlhbE51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lzVHJ1bmNhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RSb2xlUG9saWNpZXNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUG9saWN5TmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdwb2xpY3lOYW1lVHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSXNUcnVuY2F0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFJvbGVzUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JvbGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUm9sZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvbGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JvbGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBc3N1bWVSb2xlUG9saWN5RG9jdW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSXNUcnVuY2F0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFNBTUxQcm92aWRlcnNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU0FNTFByb3ZpZGVyTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NBTUxQcm92aWRlckxpc3RFbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsaWRVbnRpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZXNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU2VydmVyQ2VydGlmaWNhdGVNZXRhZGF0YUxpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTZXJ2ZXJDZXJ0aWZpY2F0ZU1ldGFkYXRhJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VydmVyQ2VydGlmaWNhdGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlcnZlckNlcnRpZmljYXRlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VwbG9hZERhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSXNUcnVuY2F0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFNpZ25pbmdDZXJ0aWZpY2F0ZXNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ2VydGlmaWNhdGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU2lnbmluZ0NlcnRpZmljYXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NlcnRpZmljYXRlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2VydGlmaWNhdGVCb2R5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGxvYWREYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lzVHJ1bmNhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RVc2VyUG9saWNpZXNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUG9saWN5TmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdwb2xpY3lOYW1lVHlwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSXNUcnVuY2F0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFVzZXJzUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1VzZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVXNlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJc1RydW5jYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0VmlydHVhbE1GQURldmljZXNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVmlydHVhbE1GQURldmljZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWaXJ0dWFsTUZBRGV2aWNlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlcmlhbE51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCYXNlMzJTdHJpbmdTZWVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1FSQ29kZVBORycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVc2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVc2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVc2VySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZURhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSXNUcnVuY2F0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlU0FNTFByb3ZpZGVyUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1NBTUxQcm92aWRlckFybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwbG9hZFNlcnZlckNlcnRpZmljYXRlUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1NlcnZlckNlcnRpZmljYXRlTWV0YWRhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1BhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2VydmVyQ2VydGlmaWNhdGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1NlcnZlckNlcnRpZmljYXRlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1VwbG9hZERhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwbG9hZFNpZ25pbmdDZXJ0aWZpY2F0ZVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDZXJ0aWZpY2F0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVXNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2VydGlmaWNhdGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDZXJ0aWZpY2F0ZUJvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1VwbG9hZERhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ2l0ZXJhdG9ycycgPT4gYXJyYXkoCiAgICAgICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnR2V0R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ21vcmVfa2V5JyA9PiAnSXNUcnVuY2F0ZWQnLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heEl0ZW1zJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnVXNlcnMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdEFjY2Vzc0tleXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ21vcmVfa2V5JyA9PiAnSXNUcnVuY2F0ZWQnLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heEl0ZW1zJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnQWNjZXNzS2V5TWV0YWRhdGEnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdEFjY291bnRBbGlhc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdtb3JlX2tleScgPT4gJ0lzVHJ1bmNhdGVkJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhJdGVtcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0FjY291bnRBbGlhc2VzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RHcm91cFBvbGljaWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdtb3JlX2tleScgPT4gJ0lzVHJ1bmNhdGVkJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhJdGVtcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1BvbGljeU5hbWVzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ21vcmVfa2V5JyA9PiAnSXNUcnVuY2F0ZWQnLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heEl0ZW1zJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnR3JvdXBzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RHcm91cHNGb3JVc2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdtb3JlX2tleScgPT4gJ0lzVHJ1bmNhdGVkJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhJdGVtcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0dyb3VwcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdMaXN0SW5zdGFuY2VQcm9maWxlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbW9yZV9rZXknID0+ICdJc1RydW5jYXRlZCcsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4SXRlbXMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdJbnN0YW5jZVByb2ZpbGVzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbW9yZV9rZXknID0+ICdJc1RydW5jYXRlZCcsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4SXRlbXMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdJbnN0YW5jZVByb2ZpbGVzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RNRkFEZXZpY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdtb3JlX2tleScgPT4gJ0lzVHJ1bmNhdGVkJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhJdGVtcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ01GQURldmljZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdFJvbGVQb2xpY2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbW9yZV9rZXknID0+ICdJc1RydW5jYXRlZCcsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4SXRlbXMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdQb2xpY3lOYW1lcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdMaXN0Um9sZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ21vcmVfa2V5JyA9PiAnSXNUcnVuY2F0ZWQnLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heEl0ZW1zJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnUm9sZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdFNBTUxQcm92aWRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdTQU1MUHJvdmlkZXJMaXN0JywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ21vcmVfa2V5JyA9PiAnSXNUcnVuY2F0ZWQnLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heEl0ZW1zJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnU2VydmVyQ2VydGlmaWNhdGVNZXRhZGF0YUxpc3QnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdFNpZ25pbmdDZXJ0aWZpY2F0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ21vcmVfa2V5JyA9PiAnSXNUcnVuY2F0ZWQnLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heEl0ZW1zJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnQ2VydGlmaWNhdGVzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RVc2VyUG9saWNpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ21vcmVfa2V5JyA9PiAnSXNUcnVuY2F0ZWQnLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heEl0ZW1zJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnUG9saWN5TmFtZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdFVzZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdtb3JlX2tleScgPT4gJ0lzVHJ1bmNhdGVkJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhJdGVtcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1VzZXJzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RWaXJ0dWFsTUZBRGV2aWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbW9yZV9rZXknID0+ICdJc1RydW5jYXRlZCcsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4SXRlbXMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdWaXJ0dWFsTUZBRGV2aWNlcycsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Enum/JobType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgSm9iVHlwZSB2YWx1ZXMKICovCmNsYXNzIEpvYlR5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IElNUE9SVCA9ICdJbXBvcnQnOwogICAgY29uc3QgRVhQT1JUID0gJ0V4cG9ydCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/BucketPermissionException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgYWNjb3VudCBzcGVjaWZpZWQgZG9lcyBub3QgaGF2ZSB0aGUgYXBwcm9wcmlhdGUgYnVja2V0IHBlcm1pc3Npb25zLgogKi8KY2xhc3MgQnVja2V0UGVybWlzc2lvbkV4Y2VwdGlvbiBleHRlbmRzIEltcG9ydEV4cG9ydEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/CanceledJobIdException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgc3BlY2lmaWVkIGpvYiBJRCBoYXMgYmVlbiBjYW5jZWxlZCBhbmQgaXMgbm8gbG9uZ2VyIHZhbGlkLgogKi8KY2xhc3MgQ2FuY2VsZWRKb2JJZEV4Y2VwdGlvbiBleHRlbmRzIEltcG9ydEV4cG9ydEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/ExpiredJobIdException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBJbmRpY2F0ZXMgdGhhdCB0aGUgc3BlY2lmaWVkIGpvYiBoYXMgZXhwaXJlZCBvdXQgb2YgdGhlIHN5c3RlbS4KICovCmNsYXNzIEV4cGlyZWRKb2JJZEV4Y2VwdGlvbiBleHRlbmRzIEltcG9ydEV4cG9ydEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/ImportExportException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb247CgovKioKICogRGVmYXVsdCBzZXJ2aWNlIGV4Y2VwdGlvbiBjbGFzcwogKi8KY2xhc3MgSW1wb3J0RXhwb3J0RXhjZXB0aW9uIGV4dGVuZHMgU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/InvalidAccessKeyIdException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgQVdTIEFjY2VzcyBLZXkgSUQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IGRpZCBub3QgbWF0Y2ggdGhlIG1hbmlmZXN0J3MgYWNjZXNzS2V5SWQgdmFsdWUuIFRoZSBtYW5pZmVzdCBhbmQgdGhlIHJlcXVlc3QgYXV0aGVudGljYXRpb24gbXVzdCB1c2UgdGhlIHNhbWUgQVdTIEFjY2VzcyBLZXkgSUQuCiAqLwpjbGFzcyBJbnZhbGlkQWNjZXNzS2V5SWRFeGNlcHRpb24gZXh0ZW5kcyBJbXBvcnRFeHBvcnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/InvalidAddressException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgYWRkcmVzcyBzcGVjaWZpZWQgaW4gdGhlIG1hbmlmZXN0IGlzIGludmFsaWQuCiAqLwpjbGFzcyBJbnZhbGlkQWRkcmVzc0V4Y2VwdGlvbiBleHRlbmRzIEltcG9ydEV4cG9ydEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/InvalidCustomsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBPbmUgb3IgbW9yZSBjdXN0b21zIHBhcmFtZXRlcnMgd2FzIGludmFsaWQuIFBsZWFzZSBjb3JyZWN0IGFuZCByZXN1Ym1pdC4KICovCmNsYXNzIEludmFsaWRDdXN0b21zRXhjZXB0aW9uIGV4dGVuZHMgSW1wb3J0RXhwb3J0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/InvalidFileSystemException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBGaWxlIHN5c3RlbSBzcGVjaWZpZWQgaW4gZXhwb3J0IG1hbmlmZXN0IGlzIGludmFsaWQuCiAqLwpjbGFzcyBJbnZhbGlkRmlsZVN5c3RlbUV4Y2VwdGlvbiBleHRlbmRzIEltcG9ydEV4cG9ydEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/InvalidJobIdException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgSk9CSUQgd2FzIG1pc3NpbmcsIG5vdCBmb3VuZCwgb3Igbm90IGFzc29jaWF0ZWQgd2l0aCB0aGUgQVdTIGFjY291bnQuCiAqLwpjbGFzcyBJbnZhbGlkSm9iSWRFeGNlcHRpb24gZXh0ZW5kcyBJbXBvcnRFeHBvcnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/InvalidManifestFieldException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBPbmUgb3IgbW9yZSBtYW5pZmVzdCBmaWVsZHMgd2FzIGludmFsaWQuIFBsZWFzZSBjb3JyZWN0IGFuZCByZXN1Ym1pdC4KICovCmNsYXNzIEludmFsaWRNYW5pZmVzdEZpZWxkRXhjZXB0aW9uIGV4dGVuZHMgSW1wb3J0RXhwb3J0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/InvalidParameterException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBPbmUgb3IgbW9yZSBwYXJhbWV0ZXJzIGhhZCBhbiBpbnZhbGlkIHZhbHVlLgogKi8KY2xhc3MgSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbiBleHRlbmRzIEltcG9ydEV4cG9ydEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/MalformedManifestException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBZb3VyIG1hbmlmZXN0IGlzIG5vdCB3ZWxsLWZvcm1lZC4KICovCmNsYXNzIE1hbGZvcm1lZE1hbmlmZXN0RXhjZXB0aW9uIGV4dGVuZHMgSW1wb3J0RXhwb3J0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/MissingCustomsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBPbmUgb3IgbW9yZSByZXF1aXJlZCBjdXN0b21zIHBhcmFtZXRlcnMgd2FzIG1pc3NpbmcgZnJvbSB0aGUgbWFuaWZlc3QuCiAqLwpjbGFzcyBNaXNzaW5nQ3VzdG9tc0V4Y2VwdGlvbiBleHRlbmRzIEltcG9ydEV4cG9ydEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/MissingManifestFieldException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBPbmUgb3IgbW9yZSByZXF1aXJlZCBmaWVsZHMgd2VyZSBtaXNzaW5nIGZyb20gdGhlIG1hbmlmZXN0IGZpbGUuIFBsZWFzZSBjb3JyZWN0IGFuZCByZXN1Ym1pdC4KICovCmNsYXNzIE1pc3NpbmdNYW5pZmVzdEZpZWxkRXhjZXB0aW9uIGV4dGVuZHMgSW1wb3J0RXhwb3J0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/MissingParameterException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBPbmUgb3IgbW9yZSByZXF1aXJlZCBwYXJhbWV0ZXJzIHdhcyBtaXNzaW5nIGZyb20gdGhlIHJlcXVlc3QuCiAqLwpjbGFzcyBNaXNzaW5nUGFyYW1ldGVyRXhjZXB0aW9uIGV4dGVuZHMgSW1wb3J0RXhwb3J0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/MultipleRegionsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBZb3VyIG1hbmlmZXN0IGZpbGUgY29udGFpbmVkIGJ1Y2tldHMgZnJvbSBtdWx0aXBsZSByZWdpb25zLiBBIGpvYiBpcyByZXN0cmljdGVkIHRvIGJ1Y2tldHMgZnJvbSBvbmUgcmVnaW9uLiBQbGVhc2UgY29ycmVjdCBhbmQgcmVzdWJtaXQuCiAqLwpjbGFzcyBNdWx0aXBsZVJlZ2lvbnNFeGNlcHRpb24gZXh0ZW5kcyBJbXBvcnRFeHBvcnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/NoSuchBucketException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgc3BlY2lmaWVkIGJ1Y2tldCBkb2VzIG5vdCBleGlzdC4gQ3JlYXRlIHRoZSBzcGVjaWZpZWQgYnVja2V0IG9yIGNoYW5nZSB0aGUgbWFuaWZlc3QncyBidWNrZXQsIGV4cG9ydEJ1Y2tldCwgb3IgbG9nQnVja2V0IGZpZWxkIHRvIGEgYnVja2V0IHRoYXQgdGhlIGFjY291bnQsIGFzIHNwZWNpZmllZCBieSB0aGUgbWFuaWZlc3QncyBBY2Nlc3MgS2V5IElELCBoYXMgd3JpdGUgcGVybWlzc2lvbnMgdG8uCiAqLwpjbGFzcyBOb1N1Y2hCdWNrZXRFeGNlcHRpb24gZXh0ZW5kcyBJbXBvcnRFeHBvcnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Exception/UnableToCancelJobIdException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEV4Y2VwdGlvbjsKCi8qKgogKiBBV1MgSW1wb3J0L0V4cG9ydCBjYW5ub3QgY2FuY2VsIHRoZSBqb2IKICovCmNsYXNzIFVuYWJsZVRvQ2FuY2VsSm9iSWRFeGNlcHRpb24gZXh0ZW5kcyBJbXBvcnRFeHBvcnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/ImportExportClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0OwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50Owp1c2UgQXdzXENvbW1vblxDbGllbnRcQ2xpZW50QnVpbGRlcjsKdXNlIEF3c1xDb21tb25cRW51bVxDbGllbnRPcHRpb25zIGFzIE9wdGlvbnM7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2U7CgovKioKICogQ2xpZW50IHRvIGludGVyYWN0IHdpdGggQVdTIEltcG9ydC9FeHBvcnQKICoKICogQG1ldGhvZCBNb2RlbCBjYW5jZWxKb2IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSW1wb3J0RXhwb3J0IENhbmNlbEpvYn0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVKb2IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSW1wb3J0RXhwb3J0IENyZWF0ZUpvYn0KICogQG1ldGhvZCBNb2RlbCBnZXRTdGF0dXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgSW1wb3J0RXhwb3J0IEdldFN0YXR1c30KICogQG1ldGhvZCBNb2RlbCBsaXN0Sm9icyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBJbXBvcnRFeHBvcnQgTGlzdEpvYnN9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlSm9iKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEltcG9ydEV4cG9ydCBVcGRhdGVKb2J9CiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0Sm9ic0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RKb2JzIG9wZXJhdGlvbgogKgogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3Qvc2VydmljZS1pbXBvcnRleHBvcnQuaHRtbCBVc2VyIGd1aWRlCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuSW1wb3J0RXhwb3J0LkltcG9ydEV4cG9ydENsaWVudC5odG1sIEFQSSBkb2NzCiAqLwpjbGFzcyBJbXBvcnRFeHBvcnRDbGllbnQgZXh0ZW5kcyBBYnN0cmFjdENsaWVudAp7CiAgICBjb25zdCBMQVRFU1RfQVBJX1ZFUlNJT04gPSAnMjAxMC0wNi0wMSc7CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgQVdTIEltcG9ydC9FeHBvcnQgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEF3c1xDb21tb25cQ2xpZW50XERlZmF1bHRDbGllbnQgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkY2xpZW50ID0gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9pbXBvcnRleHBvcnQtJXMucGhwJwogICAgICAgICAgICApKQogICAgICAgICAgICAtPmJ1aWxkKCk7CgogICAgICAgIC8vIElmIHRoZSBTeW1mb255IFlBTUwgY29tcG9uZW50IGlzIGluc3RhbGxlZCwgYWRkIGEgbGlzdGVuZXIgdGhhdCB3aWxsIGNvbnZlcnQgYXJyYXlzIHRvIHByb3BlciBZQU1MIGluIHdoZW4KICAgICAgICAvLyBzcGVjaWZ5aW5nIHRoZSAiTWFuaWZlc3QiIHBhcmFtZXRlciBvZiB0aGUgIkNyZWF0ZUpvYiIgb3BlcmF0aW9uCiAgICAgICAgaWYgKGNsYXNzX2V4aXN0cygnU3ltZm9ueVxDb21wb25lbnRcWWFtbFxZYW1sJykpIHsKICAgICAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgSm9iTWFuaWZlc3RMaXN0ZW5lcigpKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkY2xpZW50OwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Iterator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Iterator/ListJobsIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0XEl0ZXJhdG9yOwoKdXNlIEF3c1xDb21tb25cSXRlcmF0b3JcQXdzUmVzb3VyY2VJdGVyYXRvcjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwoKLyoqCiAqIEl0ZXJhdG9yIGZvciBhbiBJbXBvcnRFeHBvcnQgTGlzdEpvYnMgY29tbWFuZAogKi8KY2xhc3MgTGlzdEpvYnNJdGVyYXRvciBleHRlbmRzIEF3c1Jlc291cmNlSXRlcmF0b3IKewogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBkZXRlcm1pbmVOZXh0VG9rZW4oTW9kZWwgJHJlc3VsdCkKICAgIHsKICAgICAgICAkdGhpcy0+bmV4dFRva2VuID0gbnVsbDsKCiAgICAgICAgaWYgKCRyZXN1bHQtPmdldCgkdGhpcy0+Z2V0KCdtb3JlX2tleScpKSkgewogICAgICAgICAgICAkam9icyA9ICRyZXN1bHQtPmdldCgkdGhpcy0+Z2V0KCdyZXN1bHRfa2V5JykpID86IGFycmF5KCk7CiAgICAgICAgICAgICRudW1Kb2JzID0gY291bnQoJGpvYnMpOwogICAgICAgICAgICAkdGhpcy0+bmV4dFRva2VuID0gJG51bUpvYnMgPyAkam9ic1skbnVtSm9icyAtIDFdWydKb2JJZCddIDogbnVsbDsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/JobManifestListener.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcSW1wb3J0RXhwb3J0OwoKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlOwoKLyoqCiAqIExpc3RlbmVyIHVzZWQgdG8gYXNzaXN0IHdpdGggZm9ybWF0dGluZyB0aGUgTWFuaWZlc3QgcGFyYW1ldGVyIG9mIENyZWF0ZUpvYiBvcGVyYXRpb24gaW50byBZQU1MCiAqLwpjbGFzcyBKb2JNYW5pZmVzdExpc3RlbmVyIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFN1YnNjcmliZWRFdmVudHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgnY29tbWFuZC5iZWZvcmVfcHJlcGFyZScgPT4gYXJyYXkoJ29uQ29tbWFuZEJlZm9yZVByZXBhcmUnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBbiBldmVudCBoYW5kbGVyIGZvciBhc3Npc3Rpbmcgd2l0aCBmb3JtYXR0aW5nIHRoZSBNYW5pZmVzdCBwYXJhbWV0ZXIgb2YgQ3JlYXRlSm9iIG9wZXJhdGlvbiBpbnRvIFlBTUwKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50IFRoZSBldmVudCBiZWluZyBoYW5kbGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvbkNvbW1hbmRCZWZvcmVQcmVwYXJlKEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICAvKiogQHZhciAkY29tbWFuZCBcR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBYnN0cmFjdENvbW1hbmQgKi8KICAgICAgICAkY29tbWFuZCA9ICRldmVudFsnY29tbWFuZCddOwogICAgICAgIGlmICgkY29tbWFuZC0+Z2V0TmFtZSgpID09PSAnQ3JlYXRlSm9iJykgewogICAgICAgICAgICAkbWFuaWZlc3QgPSAkY29tbWFuZC0+Z2V0KCdNYW5pZmVzdCcpOwogICAgICAgICAgICBpZiAoIWlzX3N0cmluZygkbWFuaWZlc3QpICYmIGNsYXNzX2V4aXN0cygnU3ltZm9ueVxDb21wb25lbnRcWWFtbFxZYW1sJykpIHsKICAgICAgICAgICAgICAgICRjb21tYW5kLT5zZXQoJ01hbmlmZXN0JywgXFN5bWZvbnlcQ29tcG9uZW50XFlhbWxcWWFtbDo6ZHVtcCgkbWFuaWZlc3QpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/ImportExport/Resources/importexport-2010-06-01.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTAtMDYtMDEnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnaW1wb3J0ZXhwb3J0JywKICAgICdzZXJ2aWNlRnVsbE5hbWUnID0+ICdBV1MgSW1wb3J0L0V4cG9ydCcsCiAgICAnc2VydmljZVR5cGUnID0+ICdxdWVyeScsCiAgICAnZ2xvYmFsRW5kcG9pbnQnID0+ICdpbXBvcnRleHBvcnQuYW1hem9uYXdzLmNvbScsCiAgICAncmVzdWx0V3JhcHBlZCcgPT4gdHJ1ZSwKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjInLAogICAgJ25hbWVzcGFjZScgPT4gJ0ltcG9ydEV4cG9ydCcsCiAgICAncmVnaW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ3VzLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdpbXBvcnRleHBvcnQuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2ltcG9ydGV4cG9ydC5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnaW1wb3J0ZXhwb3J0LmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2V1LXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdpbXBvcnRleHBvcnQuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtbm9ydGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnaW1wb3J0ZXhwb3J0LmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLXNvdXRoZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2ltcG9ydGV4cG9ydC5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdpbXBvcnRleHBvcnQuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnc2EtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2ltcG9ydGV4cG9ydC5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQ2FuY2VsSm9iJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDYW5jZWxKb2JPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDYW5jZWxKb2InLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA2LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSm9iSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIEpPQklEIHdhcyBtaXNzaW5nLCBub3QgZm91bmQsIG9yIG5vdCBhc3NvY2lhdGVkIHdpdGggdGhlIEFXUyBhY2NvdW50LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEpvYklkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgdGhlIHNwZWNpZmllZCBqb2IgaGFzIGV4cGlyZWQgb3V0IG9mIHRoZSBzeXN0ZW0uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdFeHBpcmVkSm9iSWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGpvYiBJRCBoYXMgYmVlbiBjYW5jZWxlZCBhbmQgaXMgbm8gbG9uZ2VyIHZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FuY2VsZWRKb2JJZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FXUyBJbXBvcnQvRXhwb3J0IGNhbm5vdCBjYW5jZWwgdGhlIGpvYicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVW5hYmxlVG9DYW5jZWxKb2JJZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBBV1MgQWNjZXNzIEtleSBJRCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3QgZGlkIG5vdCBtYXRjaCB0aGUgbWFuaWZlc3RcJ3MgYWNjZXNzS2V5SWQgdmFsdWUuIFRoZSBtYW5pZmVzdCBhbmQgdGhlIHJlcXVlc3QgYXV0aGVudGljYXRpb24gbXVzdCB1c2UgdGhlIHNhbWUgQVdTIEFjY2VzcyBLZXkgSUQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQWNjZXNzS2V5SWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVKb2InID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZUpvYk91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZUpvYicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDYtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdKb2JUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hbmlmZXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hbmlmZXN0QWRkZW5kdW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWYWxpZGF0ZU9ubHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnT25lIG9yIG1vcmUgcmVxdWlyZWQgcGFyYW1ldGVycyB3YXMgbWlzc2luZyBmcm9tIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ1BhcmFtZXRlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIHBhcmFtZXRlcnMgaGFkIGFuIGludmFsaWQgdmFsdWUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnT25lIG9yIG1vcmUgcGFyYW1ldGVycyBoYWQgYW4gaW52YWxpZCB2YWx1ZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQVdTIEFjY2VzcyBLZXkgSUQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IGRpZCBub3QgbWF0Y2ggdGhlIG1hbmlmZXN0XCdzIGFjY2Vzc0tleUlkIHZhbHVlLiBUaGUgbWFuaWZlc3QgYW5kIHRoZSByZXF1ZXN0IGF1dGhlbnRpY2F0aW9uIG11c3QgdXNlIHRoZSBzYW1lIEFXUyBBY2Nlc3MgS2V5IElELicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEFjY2Vzc0tleUlkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGFkZHJlc3Mgc3BlY2lmaWVkIGluIHRoZSBtYW5pZmVzdCBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEFkZHJlc3NFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSBtYW5pZmVzdCBmaWVsZHMgd2FzIGludmFsaWQuIFBsZWFzZSBjb3JyZWN0IGFuZCByZXN1Ym1pdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRNYW5pZmVzdEZpZWxkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnT25lIG9yIG1vcmUgcmVxdWlyZWQgZmllbGRzIHdlcmUgbWlzc2luZyBmcm9tIHRoZSBtYW5pZmVzdCBmaWxlLiBQbGVhc2UgY29ycmVjdCBhbmQgcmVzdWJtaXQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nTWFuaWZlc3RGaWVsZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgYnVja2V0IGRvZXMgbm90IGV4aXN0LiBDcmVhdGUgdGhlIHNwZWNpZmllZCBidWNrZXQgb3IgY2hhbmdlIHRoZSBtYW5pZmVzdFwncyBidWNrZXQsIGV4cG9ydEJ1Y2tldCwgb3IgbG9nQnVja2V0IGZpZWxkIHRvIGEgYnVja2V0IHRoYXQgdGhlIGFjY291bnQsIGFzIHNwZWNpZmllZCBieSB0aGUgbWFuaWZlc3RcJ3MgQWNjZXNzIEtleSBJRCwgaGFzIHdyaXRlIHBlcm1pc3Npb25zIHRvLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoQnVja2V0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnT25lIG9yIG1vcmUgcmVxdWlyZWQgY3VzdG9tcyBwYXJhbWV0ZXJzIHdhcyBtaXNzaW5nIGZyb20gdGhlIG1hbmlmZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ0N1c3RvbXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSBjdXN0b21zIHBhcmFtZXRlcnMgd2FzIGludmFsaWQuIFBsZWFzZSBjb3JyZWN0IGFuZCByZXN1Ym1pdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDdXN0b21zRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnRmlsZSBzeXN0ZW0gc3BlY2lmaWVkIGluIGV4cG9ydCBtYW5pZmVzdCBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEZpbGVTeXN0ZW1FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdZb3VyIG1hbmlmZXN0IGZpbGUgY29udGFpbmVkIGJ1Y2tldHMgZnJvbSBtdWx0aXBsZSByZWdpb25zLiBBIGpvYiBpcyByZXN0cmljdGVkIHRvIGJ1Y2tldHMgZnJvbSBvbmUgcmVnaW9uLiBQbGVhc2UgY29ycmVjdCBhbmQgcmVzdWJtaXQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNdWx0aXBsZVJlZ2lvbnNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgYWNjb3VudCBzcGVjaWZpZWQgZG9lcyBub3QgaGF2ZSB0aGUgYXBwcm9wcmlhdGUgYnVja2V0IHBlcm1pc3Npb25zLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQnVja2V0UGVybWlzc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1lvdXIgbWFuaWZlc3QgaXMgbm90IHdlbGwtZm9ybWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWFsZm9ybWVkTWFuaWZlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldFN0YXR1c091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0dldFN0YXR1cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDYtMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdKb2JJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgSk9CSUQgd2FzIG1pc3NpbmcsIG5vdCBmb3VuZCwgb3Igbm90IGFzc29jaWF0ZWQgd2l0aCB0aGUgQVdTIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkSm9iSWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgc3BlY2lmaWVkIGpvYiBoYXMgZXhwaXJlZCBvdXQgb2YgdGhlIHN5c3RlbS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0V4cGlyZWRKb2JJZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgam9iIElEIGhhcyBiZWVuIGNhbmNlbGVkIGFuZCBpcyBubyBsb25nZXIgdmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDYW5jZWxlZEpvYklkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIEFXUyBBY2Nlc3MgS2V5IElEIHNwZWNpZmllZCBpbiB0aGUgcmVxdWVzdCBkaWQgbm90IG1hdGNoIHRoZSBtYW5pZmVzdFwncyBhY2Nlc3NLZXlJZCB2YWx1ZS4gVGhlIG1hbmlmZXN0IGFuZCB0aGUgcmVxdWVzdCBhdXRoZW50aWNhdGlvbiBtdXN0IHVzZSB0aGUgc2FtZSBBV1MgQWNjZXNzIEtleSBJRC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBY2Nlc3NLZXlJZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RKb2JzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0Sm9ic091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0xpc3RKb2JzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wNi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEpvYnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnT25lIG9yIG1vcmUgcGFyYW1ldGVycyBoYWQgYW4gaW52YWxpZCB2YWx1ZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQVdTIEFjY2VzcyBLZXkgSUQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IGRpZCBub3QgbWF0Y2ggdGhlIG1hbmlmZXN0XCdzIGFjY2Vzc0tleUlkIHZhbHVlLiBUaGUgbWFuaWZlc3QgYW5kIHRoZSByZXF1ZXN0IGF1dGhlbnRpY2F0aW9uIG11c3QgdXNlIHRoZSBzYW1lIEFXUyBBY2Nlc3MgS2V5IElELicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEFjY2Vzc0tleUlkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlSm9iJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdVcGRhdGVKb2JPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdVcGRhdGVKb2InLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTA2LTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSm9iSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFuaWZlc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSm9iVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWYWxpZGF0ZU9ubHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnT25lIG9yIG1vcmUgcmVxdWlyZWQgcGFyYW1ldGVycyB3YXMgbWlzc2luZyBmcm9tIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ1BhcmFtZXRlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIHBhcmFtZXRlcnMgaGFkIGFuIGludmFsaWQgdmFsdWUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIEFXUyBBY2Nlc3MgS2V5IElEIHNwZWNpZmllZCBpbiB0aGUgcmVxdWVzdCBkaWQgbm90IG1hdGNoIHRoZSBtYW5pZmVzdFwncyBhY2Nlc3NLZXlJZCB2YWx1ZS4gVGhlIG1hbmlmZXN0IGFuZCB0aGUgcmVxdWVzdCBhdXRoZW50aWNhdGlvbiBtdXN0IHVzZSB0aGUgc2FtZSBBV1MgQWNjZXNzIEtleSBJRC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBY2Nlc3NLZXlJZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBhZGRyZXNzIHNwZWNpZmllZCBpbiB0aGUgbWFuaWZlc3QgaXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBZGRyZXNzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnT25lIG9yIG1vcmUgbWFuaWZlc3QgZmllbGRzIHdhcyBpbnZhbGlkLiBQbGVhc2UgY29ycmVjdCBhbmQgcmVzdWJtaXQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkTWFuaWZlc3RGaWVsZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBKT0JJRCB3YXMgbWlzc2luZywgbm90IGZvdW5kLCBvciBub3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBBV1MgYWNjb3VudC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRKb2JJZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIHJlcXVpcmVkIGZpZWxkcyB3ZXJlIG1pc3NpbmcgZnJvbSB0aGUgbWFuaWZlc3QgZmlsZS4gUGxlYXNlIGNvcnJlY3QgYW5kIHJlc3VibWl0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ01hbmlmZXN0RmllbGRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGJ1Y2tldCBkb2VzIG5vdCBleGlzdC4gQ3JlYXRlIHRoZSBzcGVjaWZpZWQgYnVja2V0IG9yIGNoYW5nZSB0aGUgbWFuaWZlc3RcJ3MgYnVja2V0LCBleHBvcnRCdWNrZXQsIG9yIGxvZ0J1Y2tldCBmaWVsZCB0byBhIGJ1Y2tldCB0aGF0IHRoZSBhY2NvdW50LCBhcyBzcGVjaWZpZWQgYnkgdGhlIG1hbmlmZXN0XCdzIEFjY2VzcyBLZXkgSUQsIGhhcyB3cml0ZSBwZXJtaXNzaW9ucyB0by4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEJ1Y2tldEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IHRoZSBzcGVjaWZpZWQgam9iIGhhcyBleHBpcmVkIG91dCBvZiB0aGUgc3lzdGVtLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRXhwaXJlZEpvYklkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBqb2IgSUQgaGFzIGJlZW4gY2FuY2VsZWQgYW5kIGlzIG5vIGxvbmdlciB2YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NhbmNlbGVkSm9iSWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdPbmUgb3IgbW9yZSByZXF1aXJlZCBjdXN0b21zIHBhcmFtZXRlcnMgd2FzIG1pc3NpbmcgZnJvbSB0aGUgbWFuaWZlc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nQ3VzdG9tc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ09uZSBvciBtb3JlIGN1c3RvbXMgcGFyYW1ldGVycyB3YXMgaW52YWxpZC4gUGxlYXNlIGNvcnJlY3QgYW5kIHJlc3VibWl0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEN1c3RvbXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdGaWxlIHN5c3RlbSBzcGVjaWZpZWQgaW4gZXhwb3J0IG1hbmlmZXN0IGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkRmlsZVN5c3RlbUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1lvdXIgbWFuaWZlc3QgZmlsZSBjb250YWluZWQgYnVja2V0cyBmcm9tIG11bHRpcGxlIHJlZ2lvbnMuIEEgam9iIGlzIHJlc3RyaWN0ZWQgdG8gYnVja2V0cyBmcm9tIG9uZSByZWdpb24uIFBsZWFzZSBjb3JyZWN0IGFuZCByZXN1Ym1pdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ011bHRpcGxlUmVnaW9uc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBhY2NvdW50IHNwZWNpZmllZCBkb2VzIG5vdCBoYXZlIHRoZSBhcHByb3ByaWF0ZSBidWNrZXQgcGVybWlzc2lvbnMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdCdWNrZXRQZXJtaXNzaW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91ciBtYW5pZmVzdCBpcyBub3Qgd2VsbC1mb3JtZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNYWxmb3JtZWRNYW5pZmVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ21vZGVscycgPT4gYXJyYXkoCiAgICAgICAgJ0NhbmNlbEpvYk91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3VjY2VzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVKb2JPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0pvYklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSm9iVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F3c1NoaXBwaW5nQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NpZ25hdHVyZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NpZ25hdHVyZUZpbGVDb250ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1dhcm5pbmdNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0U3RhdHVzT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdKb2JJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0pvYlR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBd3NTaGlwcGluZ0FkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2NhdGlvbkNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2NhdGlvbk1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcm9ncmVzc0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcm9ncmVzc01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYXJyaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVHJhY2tpbmdOdW1iZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2dCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2dLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFcnJvckNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NpZ25hdHVyZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NpZ25hdHVyZUZpbGVDb250ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0N1cnJlbnRNYW5pZmVzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NyZWF0aW9uRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RKb2JzT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdKb2JzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSm9iJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0pvYklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0aW9uRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJc0NhbmNlbGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdKb2JUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lzVHJ1bmNhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZUpvYk91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3VjY2VzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdXYXJuaW5nTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ2l0ZXJhdG9ycycgPT4gYXJyYXkoCiAgICAgICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnTGlzdEpvYnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdtb3JlX2tleScgPT4gJ0lzVHJ1bmNhdGVkJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhKb2JzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnSm9icycsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/Enum/ShardIteratorType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcS2luZXNpc1xFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIFNoYXJkSXRlcmF0b3JUeXBlIHZhbHVlcwogKi8KY2xhc3MgU2hhcmRJdGVyYXRvclR5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEFUX1NFUVVFTkNFX05VTUJFUiA9ICdBVF9TRVFVRU5DRV9OVU1CRVInOwogICAgY29uc3QgQUZURVJfU0VRVUVOQ0VfTlVNQkVSID0gJ0FGVEVSX1NFUVVFTkNFX05VTUJFUic7CiAgICBjb25zdCBUUklNX0hPUklaT04gPSAnVFJJTV9IT1JJWk9OJzsKICAgIGNvbnN0IExBVEVTVCA9ICdMQVRFU1QnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/Enum/StreamStatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcS2luZXNpc1xFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIFN0cmVhbVN0YXR1cyB2YWx1ZXMKICovCmNsYXNzIFN0cmVhbVN0YXR1cyBleHRlbmRzIEVudW0KewogICAgY29uc3QgQ1JFQVRJTkcgPSAnQ1JFQVRJTkcnOwogICAgY29uc3QgREVMRVRJTkcgPSAnREVMRVRJTkcnOwogICAgY29uc3QgQUNUSVZFID0gJ0FDVElWRSc7CiAgICBjb25zdCBVUERBVElORyA9ICdVUERBVElORyc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/Exception/ExpiredIteratorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcS2luZXNpc1xFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBFeHBpcmVkSXRlcmF0b3JFeGNlcHRpb24gZXJyb3IgaXMgZW5jb3VudGVyZWQKICovCmNsYXNzIEV4cGlyZWRJdGVyYXRvckV4Y2VwdGlvbiBleHRlbmRzIEtpbmVzaXNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/Exception/InvalidArgumentException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcS2luZXNpc1xFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gZXJyb3IgaXMgZW5jb3VudGVyZWQKICovCmNsYXNzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBleHRlbmRzIEtpbmVzaXNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/Exception/KinesisException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcS2luZXNpc1xFeGNlcHRpb247Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uOwoKLyoqCiAqIERlZmF1bHQgc2VydmljZSBleGNlcHRpb24gY2xhc3MKICovCmNsYXNzIEtpbmVzaXNFeGNlcHRpb24gZXh0ZW5kcyBTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/Exception/LimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcS2luZXNpc1xFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgS2luZXNpc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/Exception/ProvisionedThroughputExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcS2luZXNpc1xFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBQcm92aXNpb25lZFRocm91Z2hwdXRFeGNlZWRlZEV4Y2VwdGlvbiBlcnJvciBpcyBlbmNvdW50ZXJlZAogKi8KY2xhc3MgUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBLaW5lc2lzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/Exception/ResourceInUseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcS2luZXNpc1xFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBSZXNvdXJjZUluVXNlRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBSZXNvdXJjZUluVXNlRXhjZXB0aW9uIGV4dGVuZHMgS2luZXNpc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/Exception/ResourceNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcS2luZXNpc1xFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgS2luZXNpc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/KinesisClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcS2luZXNpczsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxBYnN0cmFjdENsaWVudDsKdXNlIEF3c1xDb21tb25cQ2xpZW50XENsaWVudEJ1aWxkZXI7CnVzZSBBd3NcQ29tbW9uXEVudW1cQ2xpZW50T3B0aW9ucyBhcyBPcHRpb25zOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUGFyc2VyXEpzb25RdWVyeUV4Y2VwdGlvblBhcnNlcjsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwoKLyoqCiAqIENsaWVudCB0byBpbnRlcmFjdCB3aXRoIEFtYXpvbiBLaW5lc2lzCiAqCiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlU3RyZWFtKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEtpbmVzaXMgQ3JlYXRlU3RyZWFtfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVN0cmVhbShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBLaW5lc2lzIERlbGV0ZVN0cmVhbX0KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVN0cmVhbShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBLaW5lc2lzIERlc2NyaWJlU3RyZWFtfQogKiBAbWV0aG9kIE1vZGVsIGdldFJlY29yZHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgS2luZXNpcyBHZXRSZWNvcmRzfQogKiBAbWV0aG9kIE1vZGVsIGdldFNoYXJkSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgS2luZXNpcyBHZXRTaGFyZEl0ZXJhdG9yfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RTdHJlYW1zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIEtpbmVzaXMgTGlzdFN0cmVhbXN9CiAqIEBtZXRob2QgTW9kZWwgbWVyZ2VTaGFyZHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgS2luZXNpcyBNZXJnZVNoYXJkc30KICogQG1ldGhvZCBNb2RlbCBwdXRSZWNvcmQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgS2luZXNpcyBQdXRSZWNvcmR9CiAqIEBtZXRob2QgTW9kZWwgc3BsaXRTaGFyZChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBLaW5lc2lzIFNwbGl0U2hhcmR9CiAqCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9zZXJ2aWNlLWtpbmVzaXMuaHRtbCBVc2VyIGd1aWRlCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuS2luZXNpcy5LaW5lc2lzQ2xpZW50Lmh0bWwgQVBJIGRvY3MKICovCmNsYXNzIEtpbmVzaXNDbGllbnQgZXh0ZW5kcyBBYnN0cmFjdENsaWVudAp7CiAgICBjb25zdCBMQVRFU1RfQVBJX1ZFUlNJT04gPSAnMjAxMy0xMi0wMic7CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgQW1hem9uIEtpbmVzaXMgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEF3c1xDb21tb25cQ2xpZW50XERlZmF1bHRDbGllbnQgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9raW5lc2lzLSVzLnBocCcKICAgICAgICAgICAgKSkKICAgICAgICAgICAgLT5zZXRFeGNlcHRpb25QYXJzZXIobmV3IEpzb25RdWVyeUV4Y2VwdGlvblBhcnNlcikKICAgICAgICAgICAgLT5idWlsZCgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Kinesis/Resources/kinesis-2013-12-02.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTMtMTItMDInLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAna2luZXNpcycsCiAgICAnc2VydmljZUZ1bGxOYW1lJyA9PiAnQW1hem9uIEtpbmVzaXMnLAogICAgJ3NlcnZpY2VBYmJyZXZpYXRpb24nID0+ICdLaW5lc2lzJywKICAgICdzZXJ2aWNlVHlwZScgPT4gJ2pzb24nLAogICAgJ2pzb25WZXJzaW9uJyA9PiAnMS4xJywKICAgICd0YXJnZXRQcmVmaXgnID0+ICdLaW5lc2lzXzIwMTMxMjAyLicsCiAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3Y0JywKICAgICduYW1lc3BhY2UnID0+ICdLaW5lc2lzJywKICAgICdyZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAndXMtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ2tpbmVzaXMudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICApLAogICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICdDcmVhdGVTdHJlYW0nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0tpbmVzaXNfMjAxMzEyMDIuQ3JlYXRlU3RyZWFtJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RyZWFtTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2hhcmRDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VJblVzZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlU3RyZWFtJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdLaW5lc2lzXzIwMTMxMjAyLkRlbGV0ZVN0cmVhbScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0cmVhbU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlU3RyZWFtJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlU3RyZWFtT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdLaW5lc2lzXzIwMTMxMjAyLkRlc2NyaWJlU3RyZWFtJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RyZWFtTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGltaXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEwMDAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFeGNsdXNpdmVTdGFydFNoYXJkSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRSZWNvcmRzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdLaW5lc2lzXzIwMTMxMjAyLkdldFJlY29yZHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTaGFyZEl0ZXJhdG9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTEyLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMaW1pdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTAwMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQcm92aXNpb25lZFRocm91Z2hwdXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRXhwaXJlZEl0ZXJhdG9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0U2hhcmRJdGVyYXRvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRTaGFyZEl0ZXJhdG9yT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdLaW5lc2lzXzIwMTMxMjAyLkdldFNoYXJkSXRlcmF0b3InLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdHJlYW1OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTaGFyZElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTaGFyZEl0ZXJhdG9yVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhcnRpbmdTZXF1ZW5jZU51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0U3RyZWFtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0U3RyZWFtc091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnS2luZXNpc18yMDEzMTIwMi5MaXN0U3RyZWFtcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xpbWl0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMDAwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXhjbHVzaXZlU3RhcnRTdHJlYW1OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ01lcmdlU2hhcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdLaW5lc2lzXzIwMTMxMjAyLk1lcmdlU2hhcmRzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RyZWFtTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2hhcmRUb01lcmdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBZGphY2VudFNoYXJkVG9NZXJnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEyOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZUluVXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRSZWNvcmQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUHV0UmVjb3JkT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdLaW5lc2lzXzIwMTMxMjAyLlB1dFJlY29yZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0cmVhbU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGFydGl0aW9uS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFeHBsaWNpdEhhc2hLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VxdWVuY2VOdW1iZXJGb3JPcmRlcmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTcGxpdFNoYXJkJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdLaW5lc2lzXzIwMTMxMjAyLlNwbGl0U2hhcmQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdHJlYW1OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTaGFyZFRvU3BsaXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05ld1N0YXJ0aW5nSGFzaEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZUluVXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICdFbXB0eU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlU3RyZWFtT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdHJlYW1EZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0cmVhbU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RyZWFtQVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0cmVhbVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTaGFyZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU2hhcmQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaGFyZElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmVudFNoYXJkSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWRqYWNlbnRQYXJlbnRTaGFyZElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hhc2hLZXlSYW5nZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0aW5nSGFzaEtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmRpbmdIYXNoS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VxdWVuY2VOdW1iZXJSYW5nZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0aW5nU2VxdWVuY2VOdW1iZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5kaW5nU2VxdWVuY2VOdW1iZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdIYXNNb3JlU2hhcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0UmVjb3Jkc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZWNvcmQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXF1ZW5jZU51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2RlY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFydGl0aW9uS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRTaGFyZEl0ZXJhdG9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFNoYXJkSXRlcmF0b3JPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1NoYXJkSXRlcmF0b3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFN0cmVhbXNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1N0cmVhbU5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmVhbU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSGFzTW9yZVN0cmVhbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1B1dFJlY29yZE91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU2hhcmRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZXF1ZW5jZU51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Enum/AppType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcT3BzV29ya3NcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBBcHBUeXBlIHZhbHVlcwogKi8KY2xhc3MgQXBwVHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgVFlQRV9SQUlMUyA9ICdyYWlscyc7CiAgICBjb25zdCBUWVBFX1BIUCA9ICdwaHAnOwogICAgY29uc3QgVFlQRV9OT0RFSlMgPSAnbm9kZWpzJzsKICAgIGNvbnN0IFRZUEVfU1RBVElDID0gJ3N0YXRpYyc7CiAgICBjb25zdCBUWVBFX09USEVSID0gJ290aGVyJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Enum/Architecture.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcT3BzV29ya3NcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBBcmNoaXRlY3R1cmUgdmFsdWVzCiAqLwpjbGFzcyBBcmNoaXRlY3R1cmUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFg4Nl82NCA9ICd4ODZfNjQnOwogICAgY29uc3QgSTM4NiA9ICdpMzg2JzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Enum/AutoScalingType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcT3BzV29ya3NcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBBdXRvU2NhbGluZ1R5cGUgdmFsdWVzCiAqLwpjbGFzcyBBdXRvU2NhbGluZ1R5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IExPQUQgPSAnbG9hZCc7CiAgICBjb25zdCBUSU1FUiA9ICd0aW1lcic7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Enum/DeploymentCommandName.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcT3BzV29ya3NcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBEZXBsb3ltZW50Q29tbWFuZE5hbWUgdmFsdWVzCiAqLwpjbGFzcyBEZXBsb3ltZW50Q29tbWFuZE5hbWUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IElOU1RBTExfREVQRU5ERU5DSUVTID0gJ2luc3RhbGxfZGVwZW5kZW5jaWVzJzsKICAgIGNvbnN0IFVQREFURV9ERVBFTkRFTkNJRVMgPSAndXBkYXRlX2RlcGVuZGVuY2llcyc7CiAgICBjb25zdCBVUERBVEVfQ1VTVE9NX0NPT0tCT09LUyA9ICd1cGRhdGVfY3VzdG9tX2Nvb2tib29rcyc7CiAgICBjb25zdCBFWEVDVVRFX1JFQ0lQRVMgPSAnZXhlY3V0ZV9yZWNpcGVzJzsKICAgIGNvbnN0IERFUExPWSA9ICdkZXBsb3knOwogICAgY29uc3QgUk9MTEJBQ0sgPSAncm9sbGJhY2snOwogICAgY29uc3QgU1RBUlQgPSAnc3RhcnQnOwogICAgY29uc3QgU1RPUCA9ICdzdG9wJzsKICAgIGNvbnN0IFJFU1RBUlQgPSAncmVzdGFydCc7CiAgICBjb25zdCBVTkRFUExPWSA9ICd1bmRlcGxveSc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Enum/LayerType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcT3BzV29ya3NcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBMYXllclR5cGUgdmFsdWVzCiAqLwpjbGFzcyBMYXllclR5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IExCID0gJ2xiJzsKICAgIGNvbnN0IFdFQiA9ICd3ZWInOwogICAgY29uc3QgUEhQX0FQUCA9ICdwaHAtYXBwJzsKICAgIGNvbnN0IFJBSUxTX0FQUCA9ICdyYWlscy1hcHAnOwogICAgY29uc3QgTk9ERUpTX0FQUCA9ICdub2RlanMtYXBwJzsKICAgIGNvbnN0IE1FTUNBQ0hFRCA9ICdtZW1jYWNoZWQnOwogICAgY29uc3QgREJfTUFTVEVSID0gJ2RiLW1hc3Rlcic7CiAgICBjb25zdCBNT05JVE9SSU5HX01BU1RFUiA9ICdtb25pdG9yaW5nLW1hc3Rlcic7CiAgICBjb25zdCBDVVNUT00gPSAnY3VzdG9tJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Enum/PermissionLevel.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcT3BzV29ya3NcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBQZXJtaXNzaW9uTGV2ZWwgdmFsdWVzCiAqLwpjbGFzcyBQZXJtaXNzaW9uTGV2ZWwgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IERFTlkgPSAnRGVueSc7CiAgICBjb25zdCBTSE9XID0gJ1Nob3cnOwogICAgY29uc3QgREVQTE9ZID0gJ0RlcGxveSc7CiAgICBjb25zdCBNQU5BR0UgPSAnTWFuYWdlJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Enum/RootDeviceType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcT3BzV29ya3NcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBSb290RGV2aWNlVHlwZSB2YWx1ZXMKICovCmNsYXNzIFJvb3REZXZpY2VUeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBFQlMgPSAnZWJzJzsKICAgIGNvbnN0IElOU1RBTkNFX1NUT1JFID0gJ2luc3RhbmNlLXN0b3JlJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Enum/SourceType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcT3BzV29ya3NcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBTb3VyY2VUeXBlIHZhbHVlcwogKi8KY2xhc3MgU291cmNlVHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgR0lUID0gJ2dpdCc7CiAgICBjb25zdCBTVk4gPSAnc3ZuJzsKICAgIGNvbnN0IEFSQ0hJVkUgPSAnYXJjaGl2ZSc7CiAgICBjb25zdCBTMyA9ICdzMyc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Exception/OpsWorksException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcT3BzV29ya3NcRXhjZXB0aW9uOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbjsKCi8qKgogKiBEZWZhdWx0IHNlcnZpY2UgZXhjZXB0aW9uIGNsYXNzCiAqLwpjbGFzcyBPcHNXb3Jrc0V4Y2VwdGlvbiBleHRlbmRzIFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Exception/ResourceNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcT3BzV29ya3NcRXhjZXB0aW9uOwoKLyoqCiAqIEluZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4KICovCmNsYXNzIFJlc291cmNlTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBPcHNXb3Jrc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Exception/ValidationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcT3BzV29ya3NcRXhjZXB0aW9uOwoKLyoqCiAqIEluZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4KICovCmNsYXNzIFZhbGlkYXRpb25FeGNlcHRpb24gZXh0ZW5kcyBPcHNXb3Jrc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/OpsWorksClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcT3BzV29ya3M7Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQ7CnVzZSBBd3NcQ29tbW9uXENsaWVudFxDbGllbnRCdWlsZGVyOwp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFBhcnNlclxKc29uUXVlcnlFeGNlcHRpb25QYXJzZXI7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2U7CgovKioKICogQ2xpZW50IHRvIGludGVyYWN0IHdpdGggQVdTIE9wc1dvcmtzCiAqCiAqIEBtZXRob2QgTW9kZWwgYXNzaWduVm9sdW1lKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIEFzc2lnblZvbHVtZX0KICogQG1ldGhvZCBNb2RlbCBhc3NvY2lhdGVFbGFzdGljSXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgQXNzb2NpYXRlRWxhc3RpY0lwfQogKiBAbWV0aG9kIE1vZGVsIGF0dGFjaEVsYXN0aWNMb2FkQmFsYW5jZXIoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgQXR0YWNoRWxhc3RpY0xvYWRCYWxhbmNlcn0KICogQG1ldGhvZCBNb2RlbCBjbG9uZVN0YWNrKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIENsb25lU3RhY2t9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlQXBwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIENyZWF0ZUFwcH0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVEZXBsb3ltZW50KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIENyZWF0ZURlcGxveW1lbnR9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlSW5zdGFuY2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgQ3JlYXRlSW5zdGFuY2V9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlTGF5ZXIoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgQ3JlYXRlTGF5ZXJ9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlU3RhY2soYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgQ3JlYXRlU3RhY2t9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlVXNlclByb2ZpbGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgQ3JlYXRlVXNlclByb2ZpbGV9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlQXBwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIERlbGV0ZUFwcH0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVJbnN0YW5jZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBEZWxldGVJbnN0YW5jZX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVMYXllcihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBEZWxldGVMYXllcn0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVTdGFjayhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBEZWxldGVTdGFja30KICogQG1ldGhvZCBNb2RlbCBkZWxldGVVc2VyUHJvZmlsZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBEZWxldGVVc2VyUHJvZmlsZX0KICogQG1ldGhvZCBNb2RlbCBkZXJlZ2lzdGVyRWxhc3RpY0lwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIERlcmVnaXN0ZXJFbGFzdGljSXB9CiAqIEBtZXRob2QgTW9kZWwgZGVyZWdpc3RlclZvbHVtZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBEZXJlZ2lzdGVyVm9sdW1lfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlQXBwcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBEZXNjcmliZUFwcHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVDb21tYW5kcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBEZXNjcmliZUNvbW1hbmRzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlRGVwbG95bWVudHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgRGVzY3JpYmVEZXBsb3ltZW50c30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUVsYXN0aWNJcHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgRGVzY3JpYmVFbGFzdGljSXBzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlRWxhc3RpY0xvYWRCYWxhbmNlcnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgRGVzY3JpYmVFbGFzdGljTG9hZEJhbGFuY2Vyc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUluc3RhbmNlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBEZXNjcmliZUluc3RhbmNlc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUxheWVycyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBEZXNjcmliZUxheWVyc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUxvYWRCYXNlZEF1dG9TY2FsaW5nKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIERlc2NyaWJlTG9hZEJhc2VkQXV0b1NjYWxpbmd9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVNeVVzZXJQcm9maWxlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIERlc2NyaWJlTXlVc2VyUHJvZmlsZX0KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVBlcm1pc3Npb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIERlc2NyaWJlUGVybWlzc2lvbnN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVSYWlkQXJyYXlzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIERlc2NyaWJlUmFpZEFycmF5c30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVNlcnZpY2VFcnJvcnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgRGVzY3JpYmVTZXJ2aWNlRXJyb3JzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlU3RhY2tTdW1tYXJ5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIERlc2NyaWJlU3RhY2tTdW1tYXJ5fQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlU3RhY2tzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIERlc2NyaWJlU3RhY2tzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlVGltZUJhc2VkQXV0b1NjYWxpbmcoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgRGVzY3JpYmVUaW1lQmFzZWRBdXRvU2NhbGluZ30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVVzZXJQcm9maWxlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBEZXNjcmliZVVzZXJQcm9maWxlc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVZvbHVtZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgRGVzY3JpYmVWb2x1bWVzfQogKiBAbWV0aG9kIE1vZGVsIGRldGFjaEVsYXN0aWNMb2FkQmFsYW5jZXIoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgRGV0YWNoRWxhc3RpY0xvYWRCYWxhbmNlcn0KICogQG1ldGhvZCBNb2RlbCBkaXNhc3NvY2lhdGVFbGFzdGljSXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgRGlzYXNzb2NpYXRlRWxhc3RpY0lwfQogKiBAbWV0aG9kIE1vZGVsIGdldEhvc3RuYW1lU3VnZ2VzdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBHZXRIb3N0bmFtZVN1Z2dlc3Rpb259CiAqIEBtZXRob2QgTW9kZWwgcmVib290SW5zdGFuY2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgUmVib290SW5zdGFuY2V9CiAqIEBtZXRob2QgTW9kZWwgcmVnaXN0ZXJFbGFzdGljSXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgUmVnaXN0ZXJFbGFzdGljSXB9CiAqIEBtZXRob2QgTW9kZWwgcmVnaXN0ZXJWb2x1bWUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgUmVnaXN0ZXJWb2x1bWV9CiAqIEBtZXRob2QgTW9kZWwgc2V0TG9hZEJhc2VkQXV0b1NjYWxpbmcoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgU2V0TG9hZEJhc2VkQXV0b1NjYWxpbmd9CiAqIEBtZXRob2QgTW9kZWwgc2V0UGVybWlzc2lvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBTZXRQZXJtaXNzaW9ufQogKiBAbWV0aG9kIE1vZGVsIHNldFRpbWVCYXNlZEF1dG9TY2FsaW5nKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIFNldFRpbWVCYXNlZEF1dG9TY2FsaW5nfQogKiBAbWV0aG9kIE1vZGVsIHN0YXJ0SW5zdGFuY2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgU3RhcnRJbnN0YW5jZX0KICogQG1ldGhvZCBNb2RlbCBzdGFydFN0YWNrKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIFN0YXJ0U3RhY2t9CiAqIEBtZXRob2QgTW9kZWwgc3RvcEluc3RhbmNlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIFN0b3BJbnN0YW5jZX0KICogQG1ldGhvZCBNb2RlbCBzdG9wU3RhY2soYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgU3RvcFN0YWNrfQogKiBAbWV0aG9kIE1vZGVsIHVuYXNzaWduVm9sdW1lKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIFVuYXNzaWduVm9sdW1lfQogKiBAbWV0aG9kIE1vZGVsIHVwZGF0ZUFwcChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBVcGRhdGVBcHB9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlRWxhc3RpY0lwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIFVwZGF0ZUVsYXN0aWNJcH0KICogQG1ldGhvZCBNb2RlbCB1cGRhdGVJbnN0YW5jZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBVcGRhdGVJbnN0YW5jZX0KICogQG1ldGhvZCBNb2RlbCB1cGRhdGVMYXllcihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBPcHNXb3JrcyBVcGRhdGVMYXllcn0KICogQG1ldGhvZCBNb2RlbCB1cGRhdGVNeVVzZXJQcm9maWxlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIFVwZGF0ZU15VXNlclByb2ZpbGV9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlU3RhY2soYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgVXBkYXRlU3RhY2t9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlVXNlclByb2ZpbGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgT3BzV29ya3MgVXBkYXRlVXNlclByb2ZpbGV9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlVm9sdW1lKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIE9wc1dvcmtzIFVwZGF0ZVZvbHVtZX0KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQXBwc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlQXBwcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQ29tbWFuZHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUNvbW1hbmRzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVEZXBsb3ltZW50c0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlRGVwbG95bWVudHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUVsYXN0aWNJcHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUVsYXN0aWNJcHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUVsYXN0aWNMb2FkQmFsYW5jZXJzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVFbGFzdGljTG9hZEJhbGFuY2VycyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlSW5zdGFuY2VzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVJbnN0YW5jZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUxheWVyc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlTGF5ZXJzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVMb2FkQmFzZWRBdXRvU2NhbGluZ0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlTG9hZEJhc2VkQXV0b1NjYWxpbmcgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVJhaWRBcnJheXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVJhaWRBcnJheXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVNlcnZpY2VFcnJvcnNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVNlcnZpY2VFcnJvcnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVN0YWNrc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlU3RhY2tzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVUaW1lQmFzZWRBdXRvU2NhbGluZ0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVGltZUJhc2VkQXV0b1NjYWxpbmcgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVVzZXJQcm9maWxlc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVXNlclByb2ZpbGVzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVWb2x1bWVzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVWb2x1bWVzIG9wZXJhdGlvbgogKgogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3Qvc2VydmljZS1vcHN3b3Jrcy5odG1sIFVzZXIgZ3VpZGUKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5PcHNXb3Jrcy5PcHNXb3Jrc0NsaWVudC5odG1sIEFQSSBkb2NzCiAqLwpjbGFzcyBPcHNXb3Jrc0NsaWVudCBleHRlbmRzIEFic3RyYWN0Q2xpZW50CnsKICAgIGNvbnN0IExBVEVTVF9BUElfVkVSU0lPTiA9ICcyMDEzLTAyLTE4JzsKCiAgICAvKioKICAgICAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBBV1MgT3BzV29ya3MgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEF3c1xDb21tb25cQ2xpZW50XERlZmF1bHRDbGllbnQgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9vcHN3b3Jrcy0lcy5waHAnCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+c2V0RXhjZXB0aW9uUGFyc2VyKG5ldyBKc29uUXVlcnlFeGNlcHRpb25QYXJzZXIoKSkKICAgICAgICAgICAgLT5idWlsZCgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/OpsWorks/Resources/opsworks-2013-02-18.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTMtMDItMTgnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnb3Bzd29ya3MnLAogICAgJ3NlcnZpY2VGdWxsTmFtZScgPT4gJ0FXUyBPcHNXb3JrcycsCiAgICAnc2VydmljZVR5cGUnID0+ICdqc29uJywKICAgICdqc29uVmVyc2lvbicgPT4gJzEuMScsCiAgICAndGFyZ2V0UHJlZml4JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguJywKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjQnLAogICAgJ25hbWVzcGFjZScgPT4gJ09wc1dvcmtzJywKICAgICdyZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAndXMtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ29wc3dvcmtzLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQXNzaWduVm9sdW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5Bc3NpZ25Wb2x1bWUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Fzc29jaWF0ZUVsYXN0aWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguQXNzb2NpYXRlRWxhc3RpY0lwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRWxhc3RpY0lwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQXR0YWNoRWxhc3RpY0xvYWRCYWxhbmNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguQXR0YWNoRWxhc3RpY0xvYWRCYWxhbmNlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VsYXN0aWNMb2FkQmFsYW5jZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXllcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Nsb25lU3RhY2snID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2xvbmVTdGFja1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguQ2xvbmVTdGFjaycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZVN0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVnaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnU3RhY2tBdHRyaWJ1dGVzS2V5cycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VydmljZVJvbGVBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRJbnN0YW5jZVByb2ZpbGVBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVmYXVsdE9zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0hvc3RuYW1lVGhlbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVmYXVsdEF2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVmYXVsdFN1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0N1c3RvbUpzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29uZmlndXJhdGlvbk1hbmFnZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZUN1c3RvbUNvb2tib29rcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDdXN0b21Db29rYm9va3NTb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1VybCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdVc2VybmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQYXNzd29yZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTc2hLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmV2aXNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRTc2hLZXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Nsb25lUGVybWlzc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2xvbmVBcHBJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRSb290RGV2aWNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUFwcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVBcHBSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ09wc1dvcmtzXzIwMTMwMjE4LkNyZWF0ZUFwcCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Nob3J0bmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBcHBTb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1VybCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdVc2VybmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQYXNzd29yZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTc2hLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmV2aXNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuYWJsZVNzbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTc2xDb25maWd1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ2VydGlmaWNhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUtleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDaGFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdBcHBBdHRyaWJ1dGVzS2V5cycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVEZXBsb3ltZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZURlcGxveW1lbnRSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ09wc1dvcmtzXzIwMTMwMjE4LkNyZWF0ZURlcGxveW1lbnQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBcHBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29tbWFuZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FyZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ3VzdG9tSnNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUluc3RhbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZUluc3RhbmNlUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5DcmVhdGVJbnN0YW5jZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xheWVySWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSG9zdG5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQW1pSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3NoS2V5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FyY2hpdGVjdHVyZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSb290RGV2aWNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YWxsVXBkYXRlc09uQm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUxheWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZUxheWVyUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5DcmVhdGVMYXllcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Nob3J0bmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdMYXllckF0dHJpYnV0ZXNLZXlzJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDdXN0b21JbnN0YW5jZVByb2ZpbGVBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ3VzdG9tU2VjdXJpdHlHcm91cElkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGFja2FnZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZvbHVtZUNvbmZpZ3VyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZvbHVtZUNvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNb3VudFBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSYWlkTGV2ZWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ051bWJlck9mRGlza3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5hYmxlQXV0b0hlYWxpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXV0b0Fzc2lnbkVsYXN0aWNJcHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXV0b0Fzc2lnblB1YmxpY0lwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDdXN0b21SZWNpcGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnU2V0dXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ29uZmlndXJlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0RlcGxveScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdVbmRlcGxveScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTaHV0ZG93bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFsbFVwZGF0ZXNPbkJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVTdGFjaycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVTdGFja1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguQ3JlYXRlU3RhY2snLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZWdpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnU3RhY2tBdHRyaWJ1dGVzS2V5cycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VydmljZVJvbGVBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRJbnN0YW5jZVByb2ZpbGVBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRPcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIb3N0bmFtZVRoZW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRTdWJuZXRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDdXN0b21Kc29uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbmZpZ3VyYXRpb25NYW5hZ2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVc2VDdXN0b21Db29rYm9va3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ3VzdG9tQ29va2Jvb2tzU291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdVcmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVXNlcm5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUGFzc3dvcmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3NoS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1JldmlzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZWZhdWx0U3NoS2V5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZWZhdWx0Um9vdERldmljZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVVzZXJQcm9maWxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZVVzZXJQcm9maWxlUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5DcmVhdGVVc2VyUHJvZmlsZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lhbVVzZXJBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NzaFVzZXJuYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NzaFB1YmxpY0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGxvd1NlbGZNYW5hZ2VtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVBcHAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ09wc1dvcmtzXzIwMTMwMjE4LkRlbGV0ZUFwcCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FwcElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUluc3RhbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5EZWxldGVJbnN0YW5jZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlbGV0ZUVsYXN0aWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZWxldGVWb2x1bWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlTGF5ZXInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ09wc1dvcmtzXzIwMTMwMjE4LkRlbGV0ZUxheWVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGF5ZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVTdGFjaycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguRGVsZXRlU3RhY2snLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVVzZXJQcm9maWxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5EZWxldGVVc2VyUHJvZmlsZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lhbVVzZXJBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVyZWdpc3RlckVsYXN0aWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguRGVyZWdpc3RlckVsYXN0aWNJcCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VsYXN0aWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXJlZ2lzdGVyVm9sdW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5EZXJlZ2lzdGVyVm9sdW1lJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVm9sdW1lSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVBcHBzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlQXBwc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguRGVzY3JpYmVBcHBzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBcHBJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVDb21tYW5kcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZUNvbW1hbmRzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5EZXNjcmliZUNvbW1hbmRzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVwbG95bWVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29tbWFuZElkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZURlcGxveW1lbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlRGVwbG95bWVudHNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ09wc1dvcmtzXzIwMTMwMjE4LkRlc2NyaWJlRGVwbG95bWVudHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FwcElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlcGxveW1lbnRJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVFbGFzdGljSXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlRWxhc3RpY0lwc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguRGVzY3JpYmVFbGFzdGljSXBzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUVsYXN0aWNMb2FkQmFsYW5jZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlRWxhc3RpY0xvYWRCYWxhbmNlcnNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ09wc1dvcmtzXzIwMTMwMjE4LkRlc2NyaWJlRWxhc3RpY0xvYWRCYWxhbmNlcnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xheWVySWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlSW5zdGFuY2VzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5EZXNjcmliZUluc3RhbmNlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGF5ZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUxheWVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZUxheWVyc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguRGVzY3JpYmVMYXllcnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xheWVySWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlTG9hZEJhc2VkQXV0b1NjYWxpbmcnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVMb2FkQmFzZWRBdXRvU2NhbGluZ1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguRGVzY3JpYmVMb2FkQmFzZWRBdXRvU2NhbGluZycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xheWVySWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZU15VXNlclByb2ZpbGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVNeVVzZXJQcm9maWxlUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5EZXNjcmliZU15VXNlclByb2ZpbGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVBlcm1pc3Npb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlUGVybWlzc2lvbnNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ09wc1dvcmtzXzIwMTMwMjE4LkRlc2NyaWJlUGVybWlzc2lvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJYW1Vc2VyQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVJhaWRBcnJheXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVSYWlkQXJyYXlzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5EZXNjcmliZVJhaWRBcnJheXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JhaWRBcnJheUlkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVNlcnZpY2VFcnJvcnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVTZXJ2aWNlRXJyb3JzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5EZXNjcmliZVNlcnZpY2VFcnJvcnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VydmljZUVycm9ySWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlU3RhY2tTdW1tYXJ5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlU3RhY2tTdW1tYXJ5UmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5EZXNjcmliZVN0YWNrU3VtbWFyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTdGFja3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVTdGFja3NSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ09wc1dvcmtzXzIwMTMwMjE4LkRlc2NyaWJlU3RhY2tzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhY2tJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVUaW1lQmFzZWRBdXRvU2NhbGluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVRpbWVCYXNlZEF1dG9TY2FsaW5nUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5EZXNjcmliZVRpbWVCYXNlZEF1dG9TY2FsaW5nJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVXNlclByb2ZpbGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlVXNlclByb2ZpbGVzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5EZXNjcmliZVVzZXJQcm9maWxlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lhbVVzZXJBcm5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVm9sdW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVZvbHVtZXNSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ09wc1dvcmtzXzIwMTMwMjE4LkRlc2NyaWJlVm9sdW1lcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSYWlkQXJyYXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGV0YWNoRWxhc3RpY0xvYWRCYWxhbmNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguRGV0YWNoRWxhc3RpY0xvYWRCYWxhbmNlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VsYXN0aWNMb2FkQmFsYW5jZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXllcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGlzYXNzb2NpYXRlRWxhc3RpY0lwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5EaXNhc3NvY2lhdGVFbGFzdGljSXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbGFzdGljSXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0SG9zdG5hbWVTdWdnZXN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldEhvc3RuYW1lU3VnZ2VzdGlvblJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguR2V0SG9zdG5hbWVTdWdnZXN0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGF5ZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZWJvb3RJbnN0YW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguUmVib290SW5zdGFuY2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlZ2lzdGVyRWxhc3RpY0lwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1JlZ2lzdGVyRWxhc3RpY0lwUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5SZWdpc3RlckVsYXN0aWNJcCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VsYXN0aWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZWdpc3RlclZvbHVtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdSZWdpc3RlclZvbHVtZVJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguUmVnaXN0ZXJWb2x1bWUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFYzJWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NldExvYWRCYXNlZEF1dG9TY2FsaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5TZXRMb2FkQmFzZWRBdXRvU2NhbGluZycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xheWVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVcFNjYWxpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUaHJlc2hvbGRzV2FpdFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0lnbm9yZU1ldHJpY3NUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDcHVUaHJlc2hvbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ01lbW9yeVRocmVzaG9sZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTG9hZFRocmVzaG9sZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rvd25TY2FsaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVGhyZXNob2xkc1dhaXRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJZ25vcmVNZXRyaWNzVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTAwLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ3B1VGhyZXNob2xkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdNZW1vcnlUaHJlc2hvbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0xvYWRUaHJlc2hvbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NldFBlcm1pc3Npb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ09wc1dvcmtzXzIwMTMwMjE4LlNldFBlcm1pc3Npb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJYW1Vc2VyQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGxvd1NzaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGxvd1N1ZG8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGV2ZWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTZXRUaW1lQmFzZWRBdXRvU2NhbGluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguU2V0VGltZUJhc2VkQXV0b1NjYWxpbmcnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ1NjaGVkdWxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnTW9uZGF5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdIb3VyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1R1ZXNkYXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVfbmFtZScgPT4gJ0hvdXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnV2VkbmVzZGF5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdIb3VyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RodXJzZGF5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdIb3VyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0ZyaWRheScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnSG91cicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTYXR1cmRheScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnSG91cicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdW5kYXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVfbmFtZScgPT4gJ0hvdXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU3RhcnRJbnN0YW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguU3RhcnRJbnN0YW5jZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU3RhcnRTdGFjaycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguU3RhcnRTdGFjaycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU3RvcEluc3RhbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5TdG9wSW5zdGFuY2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1N0b3BTdGFjaycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguU3RvcFN0YWNrJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVbmFzc2lnblZvbHVtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguVW5hc3NpZ25Wb2x1bWUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVBcHAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ09wc1dvcmtzXzIwMTMwMjE4LlVwZGF0ZUFwcCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FwcElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXBwU291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdVcmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVXNlcm5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUGFzc3dvcmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3NoS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1JldmlzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmFibGVTc2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3NsQ29uZmlndXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NlcnRpZmljYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2hhaW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnQXBwQXR0cmlidXRlc0tleXMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlRWxhc3RpY0lwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5VcGRhdGVFbGFzdGljSXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbGFzdGljSXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHdhcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVmFsaWRhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVJbnN0YW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguVXBkYXRlSW5zdGFuY2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXllcklkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9TY2FsaW5nVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIb3N0bmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbWlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTc2hLZXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FyY2hpdGVjdHVyZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbnN0YWxsVXBkYXRlc09uQm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZUxheWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5VcGRhdGVMYXllcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xheWVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2hvcnRuYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnTGF5ZXJBdHRyaWJ1dGVzS2V5cycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ3VzdG9tSW5zdGFuY2VQcm9maWxlQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0N1c3RvbVNlY3VyaXR5R3JvdXBJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhY2thZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVDb25maWd1cmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWb2x1bWVDb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTW91bnRQb2ludCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmFpZExldmVsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOdW1iZXJPZkRpc2tzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuYWJsZUF1dG9IZWFsaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9Bc3NpZ25FbGFzdGljSXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9Bc3NpZ25QdWJsaWNJcHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ3VzdG9tUmVjaXBlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1NldHVwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbmZpZ3VyZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEZXBsb3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVW5kZXBsb3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2h1dGRvd24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luc3RhbGxVcGRhdGVzT25Cb290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlTXlVc2VyUHJvZmlsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnT3BzV29ya3NfMjAxMzAyMTguVXBkYXRlTXlVc2VyUHJvZmlsZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NzaFB1YmxpY0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlU3RhY2snID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ09wc1dvcmtzXzIwMTMwMjE4LlVwZGF0ZVN0YWNrJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVfbmFtZScgPT4gJ1N0YWNrQXR0cmlidXRlc0tleXMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NlcnZpY2VSb2xlQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRJbnN0YW5jZVByb2ZpbGVBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVmYXVsdE9zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0hvc3RuYW1lVGhlbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVmYXVsdEF2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVmYXVsdFN1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0N1c3RvbUpzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29uZmlndXJhdGlvbk1hbmFnZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VzZUN1c3RvbUNvb2tib29rcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDdXN0b21Db29rYm9va3NTb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1VybCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdVc2VybmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQYXNzd29yZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTc2hLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmV2aXNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRTc2hLZXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlZmF1bHRSb290RGV2aWNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3Qgd2FzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdWYWxpZGF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZVVzZXJQcm9maWxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5VcGRhdGVVc2VyUHJvZmlsZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lhbVVzZXJBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NzaFVzZXJuYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NzaFB1YmxpY0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGxvd1NlbGZNYW5hZ2VtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlVm9sdW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdPcHNXb3Jrc18yMDEzMDIxOC5VcGRhdGVWb2x1bWUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNb3VudFBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCB3YXMgaW52YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1ZhbGlkYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlc291cmNlIHdhcyBub3QgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnbW9kZWxzJyA9PiBhcnJheSgKICAgICAgICAnRW1wdHlPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICApLAogICAgICAgICdDbG9uZVN0YWNrUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdGFja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUFwcFJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQXBwSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlRGVwbG95bWVudFJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRGVwbG95bWVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUluc3RhbmNlUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUxheWVyUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdMYXllcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVN0YWNrUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdGFja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVVzZXJQcm9maWxlUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJYW1Vc2VyQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlQXBwc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQXBwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBcHAnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcHBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGFja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Nob3J0bmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXBwU291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlcm5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFzc3dvcmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3NoS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JldmlzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEb21haW5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVTc2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NzbENvbmZpZ3VyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDZXJ0aWZpY2F0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcml2YXRlS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NoYWluJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZWRBdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNvbW1hbmRzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb21tYW5kcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDb21tYW5kJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29tbWFuZElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVwbG95bWVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZWRBdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY2tub3dsZWRnZWRBdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb21wbGV0ZWRBdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXhpdENvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xvZ1VybCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlRGVwbG95bWVudHNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0RlcGxveW1lbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RlcGxveW1lbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXBsb3ltZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcHBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVkQXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29tcGxldGVkQXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lhbVVzZXJBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29tbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb21tYW5kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RvbUpzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlRWxhc3RpY0lwc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRWxhc3RpY0lwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdFbGFzdGljSXAnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWdpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUVsYXN0aWNMb2FkQmFsYW5jZXJzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdFbGFzdGljTG9hZEJhbGFuY2VycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdFbGFzdGljTG9hZEJhbGFuY2VyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRWxhc3RpY0xvYWRCYWxhbmNlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVnaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Ruc05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXllcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VjMkluc3RhbmNlSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUluc3RhbmNlc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0luc3RhbmNlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFYzJJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hvc3RuYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGF5ZXJJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlY3VyaXR5R3JvdXBJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZVByb2ZpbGVBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FtaUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHVibGljRG5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVEbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHVibGljSXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUlwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VsYXN0aWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3NoS2V5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTc2hIb3N0UnNhS2V5RmluZ2VycHJpbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3NoSG9zdERzYUtleUZpbmdlcnByaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZWRBdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0U2VydmljZUVycm9ySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJjaGl0ZWN0dXJlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jvb3REZXZpY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jvb3REZXZpY2VWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YWxsVXBkYXRlc09uQm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVMYXllcnNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0xheWVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdMYXllcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGF5ZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2hvcnRuYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdG9tSW5zdGFuY2VQcm9maWxlQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RvbVNlY3VyaXR5R3JvdXBJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRTZWN1cml0eUdyb3VwTmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhY2thZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVDb25maWd1cmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWb2x1bWVDb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTW91bnRQb2ludCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSYWlkTGV2ZWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ051bWJlck9mRGlza3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuYWJsZUF1dG9IZWFsaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdXRvQXNzaWduRWxhc3RpY0lwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXV0b0Fzc2lnblB1YmxpY0lwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFJlY2lwZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXR1cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb25maWd1cmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVwbG95JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VuZGVwbG95JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NodXRkb3duJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXN0b21SZWNpcGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2V0dXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29uZmlndXJlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlcGxveScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVbmRlcGxveScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaHV0ZG93bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlZEF0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbGxVcGRhdGVzT25Cb290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUxvYWRCYXNlZEF1dG9TY2FsaW5nUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdMb2FkQmFzZWRBdXRvU2NhbGluZ0NvbmZpZ3VyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0xvYWRCYXNlZEF1dG9TY2FsaW5nQ29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xheWVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcFNjYWxpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaHJlc2hvbGRzV2FpdFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lnbm9yZU1ldHJpY3NUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcHVUaHJlc2hvbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lbW9yeVRocmVzaG9sZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTG9hZFRocmVzaG9sZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rvd25TY2FsaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGhyZXNob2xkc1dhaXRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZ25vcmVNZXRyaWNzVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3B1VGhyZXNob2xkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZW1vcnlUaHJlc2hvbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xvYWRUaHJlc2hvbGQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZU15VXNlclByb2ZpbGVSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1VzZXJQcm9maWxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSWFtVXNlckFybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1NzaFVzZXJuYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1NzaFB1YmxpY0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVQZXJtaXNzaW9uc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUGVybWlzc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGVybWlzc2lvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWFtVXNlckFybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvd1NzaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dTdWRvJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMZXZlbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVJhaWRBcnJheXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JhaWRBcnJheXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUmFpZEFycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmFpZEFycmF5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JhaWRMZXZlbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTnVtYmVyT2ZEaXNrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGV2aWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01vdW50UG9pbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVkQXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTZXJ2aWNlRXJyb3JzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTZXJ2aWNlRXJyb3JzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NlcnZpY2VFcnJvcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlcnZpY2VFcnJvcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlZEF0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlU3RhY2tTdW1tYXJ5UmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdGFja1N1bW1hcnknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGFja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTGF5ZXJzQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FwcHNDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VzQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCb290aW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb25uZWN0aW9uTG9zdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVuZGluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVib290aW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXF1ZXN0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1J1bm5pbmdTZXR1cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2V0dXBGYWlsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NodXR0aW5nRG93bicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhcnRGYWlsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0b3BwZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Rlcm1pbmF0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Rlcm1pbmF0aW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVN0YWNrc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3RhY2tzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0YWNrJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlZ2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlcnZpY2VSb2xlQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRJbnN0YW5jZVByb2ZpbGVBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdE9zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hvc3RuYW1lVGhlbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdEF2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFN1Ym5ldElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RvbUpzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29uZmlndXJhdGlvbk1hbmFnZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZUN1c3RvbUNvb2tib29rcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdG9tQ29va2Jvb2tzU291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlcm5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFzc3dvcmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3NoS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JldmlzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0U3NoS2V5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVkQXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFJvb3REZXZpY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVGltZUJhc2VkQXV0b1NjYWxpbmdSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1RpbWVCYXNlZEF1dG9TY2FsaW5nQ29uZmlndXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGltZUJhc2VkQXV0b1NjYWxpbmdDb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdXRvU2NhbGluZ1NjaGVkdWxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTW9uZGF5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1R1ZXNkYXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2VkbmVzZGF5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RodXJzZGF5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZyaWRheScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTYXR1cmRheScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdW5kYXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVXNlclByb2ZpbGVzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdVc2VyUHJvZmlsZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVXNlclByb2ZpbGUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJYW1Vc2VyQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3NoVXNlcm5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3NoUHVibGljS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93U2VsZk1hbmFnZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVm9sdW1lc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVm9sdW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWb2x1bWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFYzJWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JhaWRBcnJheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RldmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNb3VudFBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlZ2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEhvc3RuYW1lU3VnZ2VzdGlvblJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTGF5ZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIb3N0bmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZWdpc3RlckVsYXN0aWNJcFJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRWxhc3RpY0lwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlZ2lzdGVyVm9sdW1lUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdWb2x1bWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdpdGVyYXRvcnMnID0+IGFycmF5KAogICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ0Rlc2NyaWJlQXBwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0FwcHMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVDb21tYW5kcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0NvbW1hbmRzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlRGVwbG95bWVudHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdEZXBsb3ltZW50cycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUVsYXN0aWNJcHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdFbGFzdGljSXBzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlRWxhc3RpY0xvYWRCYWxhbmNlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdFbGFzdGljTG9hZEJhbGFuY2VycycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUluc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0luc3RhbmNlcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUxheWVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0xheWVycycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUxvYWRCYXNlZEF1dG9TY2FsaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnTG9hZEJhc2VkQXV0b1NjYWxpbmdDb25maWd1cmF0aW9ucycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVJhaWRBcnJheXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdSYWlkQXJyYXlzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlU2VydmljZUVycm9ycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1NlcnZpY2VFcnJvcnMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVTdGFja3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdTdGFja3MnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVUaW1lQmFzZWRBdXRvU2NhbGluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1RpbWVCYXNlZEF1dG9TY2FsaW5nQ29uZmlndXJhdGlvbnMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVVc2VyUHJvZmlsZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdVc2VyUHJvZmlsZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVWb2x1bWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnVm9sdW1lcycsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Enum/ApplyMethod.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgQXBwbHlNZXRob2QgdmFsdWVzCiAqLwpjbGFzcyBBcHBseU1ldGhvZCBleHRlbmRzIEVudW0KewogICAgY29uc3QgSU1NRURJQVRFID0gJ2ltbWVkaWF0ZSc7CiAgICBjb25zdCBQRU5ESU5HX1JFQk9PVCA9ICdwZW5kaW5nLXJlYm9vdCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Enum/SourceType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgU291cmNlVHlwZSB2YWx1ZXMKICovCmNsYXNzIFNvdXJjZVR5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IERCX0lOU1RBTkNFID0gJ2RiLWluc3RhbmNlJzsKICAgIGNvbnN0IERCX1BBUkFNRVRFUl9HUk9VUCA9ICdkYi1wYXJhbWV0ZXItZ3JvdXAnOwogICAgY29uc3QgREJfU0VDVVJJVFlfR1JPVVAgPSAnZGItc2VjdXJpdHktZ3JvdXAnOwogICAgY29uc3QgREJfU05BUFNIT1QgPSAnZGItc25hcHNob3QnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/AuthorizationAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgc3BlY2lmaWVkIENJRFJJUCBvciBFQzIgc2VjdXJpdHkgZ3JvdXAgaXMgYWxyZWFkeSBhdXRob3JpemVkIGZvciB0aGUgc3BlY2lmaWVkIERCIHNlY3VyaXR5IGdyb3VwLgogKi8KY2xhc3MgQXV0aG9yaXphdGlvbkFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/AuthorizationNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBTcGVjaWZpZWQgQ0lEUklQIG9yIEVDMiBzZWN1cml0eSBncm91cCBpcyBub3QgYXV0aG9yaXplZCBmb3IgdGhlIHNwZWNpZmllZCBEQiBzZWN1cml0eSBncm91cC4KICovCmNsYXNzIEF1dGhvcml6YXRpb25Ob3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/AuthorizationQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBEQiBzZWN1cml0eSBncm91cCBhdXRob3JpemF0aW9uIHF1b3RhIGhhcyBiZWVuIHJlYWNoZWQuCiAqLwpjbGFzcyBBdXRob3JpemF0aW9uUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBInstanceAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBVc2VyIGFscmVhZHkgaGFzIGEgREIgaW5zdGFuY2Ugd2l0aCB0aGUgZ2l2ZW4gaWRlbnRpZmllci4KICovCmNsYXNzIERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBInstanceNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBEQkluc3RhbmNlSWRlbnRpZmllciBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBpbnN0YW5jZS4KICovCmNsYXNzIERCSW5zdGFuY2VOb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBParameterGroupAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBBIERCIHBhcmFtZXRlciBncm91cCB3aXRoIHRoZSBzYW1lIG5hbWUgZXhpc3RzLgogKi8KY2xhc3MgREJQYXJhbWV0ZXJHcm91cEFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBParameterGroupNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBEQlBhcmFtZXRlckdyb3VwTmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBwYXJhbWV0ZXIgZ3JvdXAuCiAqLwpjbGFzcyBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBParameterGroupQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2YgREIgcGFyYW1ldGVyIGdyb3Vwcy4KICovCmNsYXNzIERCUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBSecurityGroupAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBBIERCIHNlY3VyaXR5IGdyb3VwIHdpdGggdGhlIG5hbWUgc3BlY2lmaWVkIGluIERCU2VjdXJpdHlHcm91cE5hbWUgYWxyZWFkeSBleGlzdHMuCiAqLwpjbGFzcyBEQlNlY3VyaXR5R3JvdXBBbHJlYWR5RXhpc3RzRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBSecurityGroupNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBEQlNlY3VyaXR5R3JvdXBOYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIERCIHNlY3VyaXR5IGdyb3VwLgogKi8KY2xhc3MgREJTZWN1cml0eUdyb3VwTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBSecurityGroupNotSupportedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBBIERCIHNlY3VyaXR5IGdyb3VwIGlzIG5vdCBhbGxvd2VkIGZvciB0aGlzIGFjdGlvbi4KICovCmNsYXNzIERCU2VjdXJpdHlHcm91cE5vdFN1cHBvcnRlZEV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBSecurityGroupQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2YgREIgc2VjdXJpdHkgZ3JvdXBzLgogKi8KY2xhc3MgREJTZWN1cml0eUdyb3VwUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBSnapshotAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBEQlNuYXBzaG90SWRlbnRpZmllciBpcyBhbHJlYWR5IHVzZWQgYnkgYW4gZXhpc3Rpbmcgc25hcHNob3QuCiAqLwpjbGFzcyBEQlNuYXBzaG90QWxyZWFkeUV4aXN0c0V4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBSnapshotNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBEQlNuYXBzaG90SWRlbnRpZmllciBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBzbmFwc2hvdC4KICovCmNsYXNzIERCU25hcHNob3ROb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBSubnetGroupAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBEQlN1Ym5ldEdyb3VwTmFtZSBpcyBhbHJlYWR5IHVzZWQgYnkgYW4gZXhpc3RpbmcgREIgc3VibmV0IGdyb3VwLgogKi8KY2xhc3MgREJTdWJuZXRHcm91cEFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBSubnetGroupDoesNotCoverEnoughAZsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBTdWJuZXRzIGluIHRoZSBEQiBzdWJuZXQgZ3JvdXAgc2hvdWxkIGNvdmVyIGF0IGxlYXN0IDIgQXZhaWxhYmlsaXR5IFpvbmVzIHVubGVzcyB0aGVyZSBpcyBvbmx5IDEgYXZhaWxhYmxpbGl0eSB6b25lLgogKi8KY2xhc3MgREJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFac0V4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBSubnetGroupNotAllowedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBJbmRpY2F0ZXMgdGhhdCB0aGUgREJTdWJuZXRHcm91cCBzaG91bGQgbm90IGJlIHNwZWNpZmllZCB3aGlsZSBjcmVhdGluZyByZWFkIHJlcGxpY2FzIHRoYXQgbGllIGluIHRoZSBzYW1lIHJlZ2lvbiBhcyB0aGUgc291cmNlIGluc3RhbmNlLgogKi8KY2xhc3MgREJTdWJuZXRHcm91cE5vdEFsbG93ZWRFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBSubnetGroupNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBEQlN1Ym5ldEdyb3VwTmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBzdWJuZXQgZ3JvdXAuCiAqLwpjbGFzcyBEQlN1Ym5ldEdyb3VwTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBSubnetGroupQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2YgREIgc3VibmV0IGdyb3Vwcy4KICovCmNsYXNzIERCU3VibmV0R3JvdXBRdW90YUV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBSubnetQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2Ygc3VibmV0cyBpbiBhIERCIHN1Ym5ldCBncm91cHMuCiAqLwpjbGFzcyBEQlN1Ym5ldFF1b3RhRXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/DBUpgradeDependencyFailureException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgREIgdXBncmFkZSBmYWlsZWQgYmVjYXVzZSBhIHJlc291cmNlIHRoZSBEQiBkZXBlbmRzIG9uIGNvdWxkIG5vdCBiZSBtb2RpZmllZC4KICovCmNsYXNzIERCVXBncmFkZURlcGVuZGVuY3lGYWlsdXJlRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/EventSubscriptionQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBZb3UgaGF2ZSByZWFjaGVkIHRoZSBtYXhpbXVtIG51bWJlciBvZiBldmVudCBzdWJzY3JpcHRpb25zLgogKi8KY2xhc3MgRXZlbnRTdWJzY3JpcHRpb25RdW90YUV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/InstanceQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2YgREIgaW5zdGFuY2VzLgogKi8KY2xhc3MgSW5zdGFuY2VRdW90YUV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/InsufficientDBInstanceCapacityException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBTcGVjaWZpZWQgREIgaW5zdGFuY2UgY2xhc3MgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgc3BlY2lmaWVkIEF2YWlsYWJpbGl0eSBab25lLgogKi8KY2xhc3MgSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/InvalidDBInstanceStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgc3BlY2lmaWVkIERCIGluc3RhbmNlIGlzIG5vdCBpbiB0aGUgYXZhaWxhYmxlIHN0YXRlLgogKi8KY2xhc3MgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/InvalidDBParameterGroupStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgREIgcGFyYW1ldGVyIGdyb3VwIGNhbm5vdCBiZSBkZWxldGVkIGJlY2F1c2UgaXQgaXMgaW4gdXNlLgogKi8KY2xhc3MgSW52YWxpZERCUGFyYW1ldGVyR3JvdXBTdGF0ZUV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/InvalidDBSecurityGroupStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgc3RhdGUgb2YgdGhlIERCIHNlY3VyaXR5IGdyb3VwIGRvZXMgbm90IGFsbG93IGRlbGV0aW9uLgogKi8KY2xhc3MgSW52YWxpZERCU2VjdXJpdHlHcm91cFN0YXRlRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/InvalidDBSnapshotStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgc3RhdGUgb2YgdGhlIERCIHNuYXBzaG90IGRvZXMgbm90IGFsbG93IGRlbGV0aW9uLgogKi8KY2xhc3MgSW52YWxpZERCU25hcHNob3RTdGF0ZUV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/InvalidDBSubnetGroupException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBJbmRpY2F0ZXMgdGhlIERCU3VibmV0R3JvdXAgZG9lcyBub3QgYmVsb25nIHRvIHRoZSBzYW1lIFZQQyBhcyB0aGF0IG9mIGFuIGV4aXN0aW5nIGNyb3NzIHJlZ2lvbiByZWFkIHJlcGxpY2Egb2YgdGhlIHNhbWUgc291cmNlIGluc3RhbmNlLgogKi8KY2xhc3MgSW52YWxpZERCU3VibmV0R3JvdXBFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/InvalidDBSubnetGroupStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgREIgc3VibmV0IGdyb3VwIGNhbm5vdCBiZSBkZWxldGVkIGJlY2F1c2UgaXQgaXMgaW4gdXNlLgogKi8KY2xhc3MgSW52YWxpZERCU3VibmV0R3JvdXBTdGF0ZUV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/InvalidDBSubnetStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgREIgc3VibmV0IGlzIG5vdCBpbiB0aGUgYXZhaWxhYmxlIHN0YXRlLgogKi8KY2xhc3MgSW52YWxpZERCU3VibmV0U3RhdGVFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/InvalidEventSubscriptionStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGlzIGVycm9yIGNhbiBvY2N1ciBpZiBzb21lb25lIGVsc2UgaXMgbW9kaWZ5aW5nIGEgc3Vic2NyaXB0aW9uLiBZb3Ugc2hvdWxkIHJldHJ5IHRoZSBhY3Rpb24uCiAqLwpjbGFzcyBJbnZhbGlkRXZlbnRTdWJzY3JpcHRpb25TdGF0ZUV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/InvalidOptionGroupStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgb3B0aW9uIGdyb3VwIGlzIG5vdCBpbiB0aGUgYXZhaWxhYmxlIHN0YXRlLgogKi8KY2xhc3MgSW52YWxpZE9wdGlvbkdyb3VwU3RhdGVFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/InvalidRestoreException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBDYW5ub3QgcmVzdG9yZSBmcm9tIHZwYyBiYWNrdXAgdG8gbm9uLXZwYyBEQiBpbnN0YW5jZS4KICovCmNsYXNzIEludmFsaWRSZXN0b3JlRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/InvalidSubnetException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdGVkIHN1Ym5ldCBpcyBpbnZhbGlkLCBvciBtdWx0aXBsZSBzdWJuZXRzIHdlcmUgcmVxdWVzdGVkIHRoYXQgYXJlIG5vdCBhbGwgaW4gYSBjb21tb24gVlBDLgogKi8KY2xhc3MgSW52YWxpZFN1Ym5ldEV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/InvalidVPCNetworkStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBEQiBzdWJuZXQgZ3JvdXAgZG9lcyBub3QgY292ZXIgYWxsIEF2YWlsYWJpbGl0eSBab25lcyBhZnRlciBpdCBpcyBjcmVhdGVkIGJlY2F1c2UgdXNlcnMnIGNoYW5nZS4KICovCmNsYXNzIEludmFsaWRWUENOZXR3b3JrU3RhdGVFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/OptionGroupAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgb3B0aW9uIGdyb3VwIHlvdSBhcmUgdHJ5aW5nIHRvIGNyZWF0ZSBhbHJlYWR5IGV4aXN0cy4KICovCmNsYXNzIE9wdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/OptionGroupNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgc3BlY2lmaWVkIG9wdGlvbiBncm91cCBjb3VsZCBub3QgYmUgZm91bmQuCiAqLwpjbGFzcyBPcHRpb25Hcm91cE5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/OptionGroupQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcXVvdGEgb2YgMjAgb3B0aW9uIGdyb3VwcyB3YXMgZXhjZWVkZWQgZm9yIHRoaXMgQVdTIGFjY291bnQuCiAqLwpjbGFzcyBPcHRpb25Hcm91cFF1b3RhRXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/PointInTimeRestoreNotEnabledException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBTb3VyY2VEQkluc3RhbmNlSWRlbnRpZmllciByZWZlcnMgdG8gYSBEQiBpbnN0YW5jZSB3aXRoIEJhY2t1cFJldGVudGlvblBlcmlvZCBlcXVhbCB0byAwLgogKi8KY2xhc3MgUG9pbnRJblRpbWVSZXN0b3JlTm90RW5hYmxlZEV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/ProvisionedIopsNotAvailableInAZException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBQcm92aXNpb25lZCBJT1BTIG5vdCBhdmFpbGFibGUgaW4gdGhlIHNwZWNpZmllZCBBdmFpbGFiaWxpdHkgWm9uZS4KICovCmNsYXNzIFByb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/RdsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb247CgovKioKICogRGVmYXVsdCBzZXJ2aWNlIGV4Y2VwdGlvbiBjbGFzcwogKi8KY2xhc3MgUmRzRXhjZXB0aW9uIGV4dGVuZHMgU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/ReservedDBInstanceAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBVc2VyIGFscmVhZHkgaGFzIGEgcmVzZXJ2YXRpb24gd2l0aCB0aGUgZ2l2ZW4gaWRlbnRpZmllci4KICovCmNsYXNzIFJlc2VydmVkREJJbnN0YW5jZUFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/ReservedDBInstanceNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgc3BlY2lmaWVkIHJlc2VydmVkIERCIEluc3RhbmNlIG5vdCBmb3VuZC4KICovCmNsYXNzIFJlc2VydmVkREJJbnN0YW5jZU5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/ReservedDBInstanceQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXF1ZXN0IHdvdWxkIGV4Y2VlZCB0aGUgdXNlcidzIERCIEluc3RhbmNlIHF1b3RhLgogKi8KY2xhc3MgUmVzZXJ2ZWREQkluc3RhbmNlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/ReservedDBInstancesOfferingNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBTcGVjaWZpZWQgb2ZmZXJpbmcgZG9lcyBub3QgZXhpc3QuCiAqLwpjbGFzcyBSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdOb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/SnapshotQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2YgREIgc25hcHNob3RzLgogKi8KY2xhc3MgU25hcHNob3RRdW90YUV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/SNSInvalidTopicException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBTTlMgaGFzIHJlc3BvbmRlZCB0aGF0IHRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoZSBTTkQgdG9waWMgc3BlY2lmaWVkLgogKi8KY2xhc3MgU05TSW52YWxpZFRvcGljRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/SNSNoAuthorizationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBZb3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byBwdWJsaXNoIHRvIHRoZSBTTlMgdG9waWMgQVJOLgogKi8KY2xhc3MgU05TTm9BdXRob3JpemF0aW9uRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/SNSTopicArnNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgU05TIHRvcGljIEFSTiBkb2VzIG5vdCBleGlzdC4KICovCmNsYXNzIFNOU1RvcGljQXJuTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/SourceNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdGVkIHNvdXJjZSBjb3VsZCBub3QgYmUgZm91bmQuCiAqLwpjbGFzcyBTb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/StorageQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBhbW91bnQgb2Ygc3RvcmFnZSBhdmFpbGFibGUgYWNyb3NzIGFsbCBEQiBpbnN0YW5jZXMuCiAqLwpjbGFzcyBTdG9yYWdlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/SubnetAlreadyInUseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgREIgc3VibmV0IGlzIGFscmVhZHkgaW4gdXNlIGluIHRoZSBBdmFpbGFiaWxpdHkgWm9uZS4KICovCmNsYXNzIFN1Ym5ldEFscmVhZHlJblVzZUV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/SubscriptionAlreadyExistException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgc3VwcGxpZWQgc3Vic2NyaXB0aW9uIG5hbWUgYWxyZWFkeSBleGlzdHMuCiAqLwpjbGFzcyBTdWJzY3JpcHRpb25BbHJlYWR5RXhpc3RFeGNlcHRpb24gZXh0ZW5kcyBSZHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/SubscriptionCategoryNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgc3VwcGxpZWQgY2F0ZWdvcnkgZG9lcyBub3QgZXhpc3QuCiAqLwpjbGFzcyBTdWJzY3JpcHRpb25DYXRlZ29yeU5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgUmRzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Exception/SubscriptionNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgc3Vic2NyaXB0aW9uIG5hbWUgZG9lcyBub3QgZXhpc3QuCiAqLwpjbGFzcyBTdWJzY3JpcHRpb25Ob3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIFJkc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/RdsClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmRzOwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50Owp1c2UgQXdzXENvbW1vblxDbGllbnRcQ2xpZW50QnVpbGRlcjsKdXNlIEF3c1xDb21tb25cRW51bVxDbGllbnRPcHRpb25zIGFzIE9wdGlvbnM7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2U7CgovKioKICogQ2xpZW50IHRvIGludGVyYWN0IHdpdGggQW1hem9uIFJlbGF0aW9uYWwgRGF0YWJhc2UgU2VydmljZQogKgogKiBAbWV0aG9kIE1vZGVsIGFkZFNvdXJjZUlkZW50aWZpZXJUb1N1YnNjcmlwdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGFkZFRhZ3NUb1Jlc291cmNlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBBZGRUYWdzVG9SZXNvdXJjZX0KICogQG1ldGhvZCBNb2RlbCBhdXRob3JpemVEQlNlY3VyaXR5R3JvdXBJbmdyZXNzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBBdXRob3JpemVEQlNlY3VyaXR5R3JvdXBJbmdyZXNzfQogKiBAbWV0aG9kIE1vZGVsIGNvcHlEQlNuYXBzaG90KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBDb3B5REJTbmFwc2hvdH0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVEQkluc3RhbmNlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBDcmVhdGVEQkluc3RhbmNlfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZURCSW5zdGFuY2VSZWFkUmVwbGljYShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgQ3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZURCUGFyYW1ldGVyR3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmRzIENyZWF0ZURCUGFyYW1ldGVyR3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlREJTZWN1cml0eUdyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBDcmVhdGVEQlNlY3VyaXR5R3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlREJTbmFwc2hvdChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgQ3JlYXRlREJTbmFwc2hvdH0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVEQlN1Ym5ldEdyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBDcmVhdGVEQlN1Ym5ldEdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBDcmVhdGVFdmVudFN1YnNjcmlwdGlvbn0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVPcHRpb25Hcm91cChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgQ3JlYXRlT3B0aW9uR3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlREJJbnN0YW5jZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgRGVsZXRlREJJbnN0YW5jZX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVEQlBhcmFtZXRlckdyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBEZWxldGVEQlBhcmFtZXRlckdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZURCU2VjdXJpdHlHcm91cChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgRGVsZXRlREJTZWN1cml0eUdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZURCU25hcHNob3QoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmRzIERlbGV0ZURCU25hcHNob3R9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlREJTdWJuZXRHcm91cChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgRGVsZXRlREJTdWJuZXRHcm91cH0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVFdmVudFN1YnNjcmlwdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgRGVsZXRlRXZlbnRTdWJzY3JpcHRpb259CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlT3B0aW9uR3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmRzIERlbGV0ZU9wdGlvbkdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlREJFbmdpbmVWZXJzaW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgRGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlREJJbnN0YW5jZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmRzIERlc2NyaWJlREJJbnN0YW5jZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVEQkxvZ0ZpbGVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBEZXNjcmliZURCTG9nRmlsZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVEQlBhcmFtZXRlckdyb3VwcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgRGVzY3JpYmVEQlBhcmFtZXRlckdyb3Vwc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZURCUGFyYW1ldGVycyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgRGVzY3JpYmVEQlBhcmFtZXRlcnN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBEZXNjcmliZURCU2VjdXJpdHlHcm91cHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVEQlNuYXBzaG90cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgRGVzY3JpYmVEQlNuYXBzaG90c30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZURCU3VibmV0R3JvdXBzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBEZXNjcmliZURCU3VibmV0R3JvdXBzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmRzIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVFdmVudENhdGVnb3JpZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmRzIERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBEZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9uc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUV2ZW50cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgRGVzY3JpYmVFdmVudHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmRzIERlc2NyaWJlT3B0aW9uR3JvdXBPcHRpb25zfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlT3B0aW9uR3JvdXBzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBEZXNjcmliZU9wdGlvbkdyb3Vwc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZU9yZGVyYWJsZURCSW5zdGFuY2VPcHRpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBEZXNjcmliZU9yZGVyYWJsZURCSW5zdGFuY2VPcHRpb25zfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5ncyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzfQogKiBAbWV0aG9kIE1vZGVsIGRvd25sb2FkREJMb2dGaWxlUG9ydGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGxpc3RUYWdzRm9yUmVzb3VyY2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmRzIExpc3RUYWdzRm9yUmVzb3VyY2V9CiAqIEBtZXRob2QgTW9kZWwgbW9kaWZ5REJJbnN0YW5jZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgTW9kaWZ5REJJbnN0YW5jZX0KICogQG1ldGhvZCBNb2RlbCBtb2RpZnlEQlBhcmFtZXRlckdyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBNb2RpZnlEQlBhcmFtZXRlckdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIG1vZGlmeURCU3VibmV0R3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmRzIE1vZGlmeURCU3VibmV0R3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgbW9kaWZ5RXZlbnRTdWJzY3JpcHRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmRzIE1vZGlmeUV2ZW50U3Vic2NyaXB0aW9ufQogKiBAbWV0aG9kIE1vZGVsIG1vZGlmeU9wdGlvbkdyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBNb2RpZnlPcHRpb25Hcm91cH0KICogQG1ldGhvZCBNb2RlbCBwcm9tb3RlUmVhZFJlcGxpY2EoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmRzIFByb21vdGVSZWFkUmVwbGljYX0KICogQG1ldGhvZCBNb2RlbCBwdXJjaGFzZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgUHVyY2hhc2VSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmd9CiAqIEBtZXRob2QgTW9kZWwgcmVib290REJJbnN0YW5jZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgUmVib290REJJbnN0YW5jZX0KICogQG1ldGhvZCBNb2RlbCByZW1vdmVTb3VyY2VJZGVudGlmaWVyRnJvbVN1YnNjcmlwdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgUmVtb3ZlU291cmNlSWRlbnRpZmllckZyb21TdWJzY3JpcHRpb259CiAqIEBtZXRob2QgTW9kZWwgcmVtb3ZlVGFnc0Zyb21SZXNvdXJjZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZX0KICogQG1ldGhvZCBNb2RlbCByZXNldERCUGFyYW1ldGVyR3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmRzIFJlc2V0REJQYXJhbWV0ZXJHcm91cH0KICogQG1ldGhvZCBNb2RlbCByZXN0b3JlREJJbnN0YW5jZUZyb21EQlNuYXBzaG90KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJkcyBSZXN0b3JlREJJbnN0YW5jZUZyb21EQlNuYXBzaG90fQogKiBAbWV0aG9kIE1vZGVsIHJlc3RvcmVEQkluc3RhbmNlVG9Qb2ludEluVGltZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZHMgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lfQogKiBAbWV0aG9kIE1vZGVsIHJldm9rZURCU2VjdXJpdHlHcm91cEluZ3Jlc3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmRzIFJldm9rZURCU2VjdXJpdHlHcm91cEluZ3Jlc3N9CiAqIEBtZXRob2Qgd2FpdFVudGlsREJJbnN0YW5jZUF2YWlsYWJsZShhcnJheSAkaW5wdXQpIFdhaXQgdXNpbmcgdGhlIERCSW5zdGFuY2VBdmFpbGFibGUgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVEQkluc3RhbmNlcyBvcGVyYXRpb24gYW5kIHdhaXRlciBzcGVjaWZpYyBzZXR0aW5ncwogKiBAbWV0aG9kIHdhaXRVbnRpbERCSW5zdGFuY2VEZWxldGVkKGFycmF5ICRpbnB1dCkgV2FpdCB1c2luZyB0aGUgREJJbnN0YW5jZURlbGV0ZWQgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVEQkluc3RhbmNlcyBvcGVyYXRpb24gYW5kIHdhaXRlciBzcGVjaWZpYyBzZXR0aW5ncwogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVEQkluc3RhbmNlc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlREJJbnN0YW5jZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZURCTG9nRmlsZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZURCTG9nRmlsZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZURCUGFyYW1ldGVyR3JvdXBzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVEQlBhcmFtZXRlckdyb3VwcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlREJQYXJhbWV0ZXJzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVEQlBhcmFtZXRlcnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZURCU2VjdXJpdHlHcm91cHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZURCU2VjdXJpdHlHcm91cHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZURCU25hcHNob3RzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVEQlNuYXBzaG90cyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlREJTdWJuZXRHcm91cHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZURCU3VibmV0R3JvdXBzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9uc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVFdmVudHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUV2ZW50cyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlT3B0aW9uR3JvdXBPcHRpb25zSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZU9wdGlvbkdyb3Vwc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlT3B0aW9uR3JvdXBzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9uc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlT3JkZXJhYmxlREJJbnN0YW5jZU9wdGlvbnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ3NJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ3Mgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREb3dubG9hZERCTG9nRmlsZVBvcnRpb25JdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEb3dubG9hZERCTG9nRmlsZVBvcnRpb24gb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0VGFnc0ZvclJlc291cmNlSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBvcGVyYXRpb24KICoKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2UtcmRzLmh0bWwgVXNlciBndWlkZQogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLlJkcy5SZHNDbGllbnQuaHRtbCBBUEkgZG9jcwogKi8KY2xhc3MgUmRzQ2xpZW50IGV4dGVuZHMgQWJzdHJhY3RDbGllbnQKewogICAgY29uc3QgTEFURVNUX0FQSV9WRVJTSU9OID0gJzIwMTMtMDktMDknOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEFtYXpvbiBSZWxhdGlvbmFsIERhdGFiYXNlIFNlcnZpY2UgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEF3c1xDb21tb25cQ2xpZW50XERlZmF1bHRDbGllbnQgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9yZHMtJXMucGhwJwogICAgICAgICAgICApKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Rds/Resources/rds-2013-09-09.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTMtMDktMDknLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAncmRzJywKICAgICdzZXJ2aWNlRnVsbE5hbWUnID0+ICdBbWF6b24gUmVsYXRpb25hbCBEYXRhYmFzZSBTZXJ2aWNlJywKICAgICdzZXJ2aWNlQWJicmV2aWF0aW9uJyA9PiAnQW1hem9uIFJEUycsCiAgICAnc2VydmljZVR5cGUnID0+ICdxdWVyeScsCiAgICAncmVzdWx0V3JhcHBlZCcgPT4gdHJ1ZSwKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjQnLAogICAgJ25hbWVzcGFjZScgPT4gJ1JkcycsCiAgICAncmVnaW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ3VzLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdyZHMudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdyZHMudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdyZHMudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2V1LXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdyZHMuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLW5vcnRoZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3Jkcy5hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdyZHMuYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAncmRzLmFwLXNvdXRoZWFzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3NhLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdyZHMuc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLWdvdi13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAncmRzLnVzLWdvdi13ZXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICksCiAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ0FkZFNvdXJjZUlkZW50aWZpZXJUb1N1YnNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRXZlbnRTdWJzY3JpcHRpb25XcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YnNjcmlwdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3Vic2NyaXB0aW9uIG5hbWUgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTdWJzY3JpcHRpb25Ob3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgc291cmNlIGNvdWxkIG5vdCBiZSBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1NvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQWRkVGFnc1RvUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQWRkVGFnc1RvUmVzb3VyY2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzb3VyY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdUYWdzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJJbnN0YW5jZUlkZW50aWZpZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgaW5zdGFuY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQkluc3RhbmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQlNuYXBzaG90SWRlbnRpZmllciBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBzbmFwc2hvdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCU25hcHNob3ROb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0F1dGhvcml6ZURCU2VjdXJpdHlHcm91cEluZ3Jlc3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RCU2VjdXJpdHlHcm91cFdyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBdXRob3JpemVEQlNlY3VyaXR5R3JvdXBJbmdyZXNzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCU2VjdXJpdHlHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ0lEUklQJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRUMyU2VjdXJpdHlHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFQzJTZWN1cml0eUdyb3VwSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFQzJTZWN1cml0eUdyb3VwT3duZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCU2VjdXJpdHlHcm91cE5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgc2VjdXJpdHkgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlNlY3VyaXR5R3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzdGF0ZSBvZiB0aGUgREIgc2VjdXJpdHkgZ3JvdXAgZG9lcyBub3QgYWxsb3cgZGVsZXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkREJTZWN1cml0eUdyb3VwU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIENJRFJJUCBvciBFQzIgc2VjdXJpdHkgZ3JvdXAgaXMgYWxyZWFkeSBhdXRob3JpemVkIGZvciB0aGUgc3BlY2lmaWVkIERCIHNlY3VyaXR5IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXV0aG9yaXphdGlvbkFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQiBzZWN1cml0eSBncm91cCBhdXRob3JpemF0aW9uIHF1b3RhIGhhcyBiZWVuIHJlYWNoZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NvcHlEQlNuYXBzaG90JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEQlNuYXBzaG90V3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NvcHlEQlNuYXBzaG90JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZURCU25hcHNob3RJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhcmdldERCU25hcHNob3RJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1RhZ3MubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RhZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQlNuYXBzaG90SWRlbnRpZmllciBpcyBhbHJlYWR5IHVzZWQgYnkgYW4gZXhpc3Rpbmcgc25hcHNob3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlNuYXBzaG90QWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCU25hcHNob3RJZGVudGlmaWVyIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIERCIHNuYXBzaG90LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJTbmFwc2hvdE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHN0YXRlIG9mIHRoZSBEQiBzbmFwc2hvdCBkb2VzIG5vdCBhbGxvdyBkZWxldGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWREQlNuYXBzaG90U3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2YgREIgc25hcHNob3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU25hcHNob3RRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlREJJbnN0YW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnREJJbnN0YW5jZVdyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVEQkluc3RhbmNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FsbG9jYXRlZFN0b3JhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmdpbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFzdGVyVXNlcm5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFzdGVyVXNlclBhc3N3b3JkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0RCU2VjdXJpdHlHcm91cHMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RCU2VjdXJpdHlHcm91cE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVnBjU2VjdXJpdHlHcm91cElkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVnBjU2VjdXJpdHlHcm91cElkcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVnBjU2VjdXJpdHlHcm91cElkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQlN1Ym5ldEdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJQYXJhbWV0ZXJHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdCYWNrdXBSZXRlbnRpb25QZXJpb2QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJlZmVycmVkQmFja3VwV2luZG93JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNdWx0aUFaJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5naW5lVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9NaW5vclZlcnNpb25VcGdyYWRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGljZW5zZU1vZGVsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW9wcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcHRpb25Hcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDaGFyYWN0ZXJTZXROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHVibGljbHlBY2Nlc3NpYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVGFncy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1VzZXIgYWxyZWFkeSBoYXMgYSBEQiBpbnN0YW5jZSB3aXRoIHRoZSBnaXZlbiBpZGVudGlmaWVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJJbnN0YW5jZUFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdTcGVjaWZpZWQgREIgaW5zdGFuY2UgY2xhc3MgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgc3BlY2lmaWVkIEF2YWlsYWJpbGl0eSBab25lLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJQYXJhbWV0ZXJHcm91cE5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgcGFyYW1ldGVyIGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJTZWN1cml0eUdyb3VwTmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBzZWN1cml0eSBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCU2VjdXJpdHlHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmVxdWVzdCB3b3VsZCByZXN1bHQgaW4gdXNlciBleGNlZWRpbmcgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIERCIGluc3RhbmNlcy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luc3RhbmNlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JlcXVlc3Qgd291bGQgcmVzdWx0IGluIHVzZXIgZXhjZWVkaW5nIHRoZSBhbGxvd2VkIGFtb3VudCBvZiBzdG9yYWdlIGF2YWlsYWJsZSBhY3Jvc3MgYWxsIERCIGluc3RhbmNlcy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1N0b3JhZ2VRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJTdWJuZXRHcm91cE5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgc3VibmV0IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJTdWJuZXRHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnU3VibmV0cyBpbiB0aGUgREIgc3VibmV0IGdyb3VwIHNob3VsZCBjb3ZlciBhdCBsZWFzdCAyIEF2YWlsYWJpbGl0eSBab25lcyB1bmxlc3MgdGhlcmUgaXMgb25seSAxIGF2YWlsYWJsaWxpdHkgem9uZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIHN1Ym5ldCBpcyBpbnZhbGlkLCBvciBtdWx0aXBsZSBzdWJuZXRzIHdlcmUgcmVxdWVzdGVkIHRoYXQgYXJlIG5vdCBhbGwgaW4gYSBjb21tb24gVlBDLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFN1Ym5ldEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCIHN1Ym5ldCBncm91cCBkb2VzIG5vdCBjb3ZlciBhbGwgQXZhaWxhYmlsaXR5IFpvbmVzIGFmdGVyIGl0IGlzIGNyZWF0ZWQgYmVjYXVzZSB1c2Vyc1wnIGNoYW5nZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRWUENOZXR3b3JrU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdQcm92aXNpb25lZCBJT1BTIG5vdCBhdmFpbGFibGUgaW4gdGhlIHNwZWNpZmllZCBBdmFpbGFiaWxpdHkgWm9uZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Byb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIG9wdGlvbiBncm91cCBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcHRpb25Hcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEQkluc3RhbmNlV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZURCSW5zdGFuY2VSZWFkUmVwbGljYScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQkluc3RhbmNlSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTb3VyY2VEQkluc3RhbmNlSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQkluc3RhbmNlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdXRvTWlub3JWZXJzaW9uVXBncmFkZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lvcHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3B0aW9uR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHVibGljbHlBY2Nlc3NpYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVGFncy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCU3VibmV0R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVXNlciBhbHJlYWR5IGhhcyBhIERCIGluc3RhbmNlIHdpdGggdGhlIGdpdmVuIGlkZW50aWZpZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1NwZWNpZmllZCBEQiBpbnN0YW5jZSBjbGFzcyBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBzcGVjaWZpZWQgQXZhaWxhYmlsaXR5IFpvbmUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnN1ZmZpY2llbnREQkluc3RhbmNlQ2FwYWNpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQlBhcmFtZXRlckdyb3VwTmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBwYXJhbWV0ZXIgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQlNlY3VyaXR5R3JvdXBOYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIERCIHNlY3VyaXR5IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJTZWN1cml0eUdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2YgREIgaW5zdGFuY2VzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5zdGFuY2VRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmVxdWVzdCB3b3VsZCByZXN1bHQgaW4gdXNlciBleGNlZWRpbmcgdGhlIGFsbG93ZWQgYW1vdW50IG9mIHN0b3JhZ2UgYXZhaWxhYmxlIGFjcm9zcyBhbGwgREIgaW5zdGFuY2VzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU3RvcmFnZVF1b3RhRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQkluc3RhbmNlSWRlbnRpZmllciBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBpbnN0YW5jZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCSW5zdGFuY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgREIgaW5zdGFuY2UgaXMgbm90IGluIHRoZSBhdmFpbGFibGUgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkREJJbnN0YW5jZVN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJTdWJuZXRHcm91cE5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgc3VibmV0IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJTdWJuZXRHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnU3VibmV0cyBpbiB0aGUgREIgc3VibmV0IGdyb3VwIHNob3VsZCBjb3ZlciBhdCBsZWFzdCAyIEF2YWlsYWJpbGl0eSBab25lcyB1bmxlc3MgdGhlcmUgaXMgb25seSAxIGF2YWlsYWJsaWxpdHkgem9uZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIHN1Ym5ldCBpcyBpbnZhbGlkLCBvciBtdWx0aXBsZSBzdWJuZXRzIHdlcmUgcmVxdWVzdGVkIHRoYXQgYXJlIG5vdCBhbGwgaW4gYSBjb21tb24gVlBDLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFN1Ym5ldEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCIHN1Ym5ldCBncm91cCBkb2VzIG5vdCBjb3ZlciBhbGwgQXZhaWxhYmlsaXR5IFpvbmVzIGFmdGVyIGl0IGlzIGNyZWF0ZWQgYmVjYXVzZSB1c2Vyc1wnIGNoYW5nZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRWUENOZXR3b3JrU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdQcm92aXNpb25lZCBJT1BTIG5vdCBhdmFpbGFibGUgaW4gdGhlIHNwZWNpZmllZCBBdmFpbGFiaWxpdHkgWm9uZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Byb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIG9wdGlvbiBncm91cCBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcHRpb25Hcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgdGhlIERCU3VibmV0R3JvdXAgc2hvdWxkIG5vdCBiZSBzcGVjaWZpZWQgd2hpbGUgY3JlYXRpbmcgcmVhZCByZXBsaWNhcyB0aGF0IGxpZSBpbiB0aGUgc2FtZSByZWdpb24gYXMgdGhlIHNvdXJjZSBpbnN0YW5jZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCU3VibmV0R3JvdXBOb3RBbGxvd2VkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoZSBEQlN1Ym5ldEdyb3VwIGRvZXMgbm90IGJlbG9uZyB0byB0aGUgc2FtZSBWUEMgYXMgdGhhdCBvZiBhbiBleGlzdGluZyBjcm9zcyByZWdpb24gcmVhZCByZXBsaWNhIG9mIHRoZSBzYW1lIHNvdXJjZSBpbnN0YW5jZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWREQlN1Ym5ldEdyb3VwRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlREJQYXJhbWV0ZXJHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnREJQYXJhbWV0ZXJHcm91cFdyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVEQlBhcmFtZXRlckdyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCUGFyYW1ldGVyR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCUGFyYW1ldGVyR3JvdXBGYW1pbHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVGFncy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JlcXVlc3Qgd291bGQgcmVzdWx0IGluIHVzZXIgZXhjZWVkaW5nIHRoZSBhbGxvd2VkIG51bWJlciBvZiBEQiBwYXJhbWV0ZXIgZ3JvdXBzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJQYXJhbWV0ZXJHcm91cFF1b3RhRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBIERCIHBhcmFtZXRlciBncm91cCB3aXRoIHRoZSBzYW1lIG5hbWUgZXhpc3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJQYXJhbWV0ZXJHcm91cEFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVEQlNlY3VyaXR5R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RCU2VjdXJpdHlHcm91cFdyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVEQlNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQlNlY3VyaXR5R3JvdXBEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdUYWdzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBEQiBzZWN1cml0eSBncm91cCB3aXRoIHRoZSBuYW1lIHNwZWNpZmllZCBpbiBEQlNlY3VyaXR5R3JvdXBOYW1lIGFscmVhZHkgZXhpc3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJTZWN1cml0eUdyb3VwQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JlcXVlc3Qgd291bGQgcmVzdWx0IGluIHVzZXIgZXhjZWVkaW5nIHRoZSBhbGxvd2VkIG51bWJlciBvZiBEQiBzZWN1cml0eSBncm91cHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlNlY3VyaXR5R3JvdXBRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBEQiBzZWN1cml0eSBncm91cCBpcyBub3QgYWxsb3dlZCBmb3IgdGhpcyBhY3Rpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlNlY3VyaXR5R3JvdXBOb3RTdXBwb3J0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVEQlNuYXBzaG90JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEQlNuYXBzaG90V3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZURCU25hcHNob3QnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJTbmFwc2hvdElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJJbnN0YW5jZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVGFncy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCU25hcHNob3RJZGVudGlmaWVyIGlzIGFscmVhZHkgdXNlZCBieSBhbiBleGlzdGluZyBzbmFwc2hvdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCU25hcHNob3RBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBEQiBpbnN0YW5jZSBpcyBub3QgaW4gdGhlIGF2YWlsYWJsZSBzdGF0ZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWREQkluc3RhbmNlU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQkluc3RhbmNlSWRlbnRpZmllciBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBpbnN0YW5jZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCSW5zdGFuY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JlcXVlc3Qgd291bGQgcmVzdWx0IGluIHVzZXIgZXhjZWVkaW5nIHRoZSBhbGxvd2VkIG51bWJlciBvZiBEQiBzbmFwc2hvdHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTbmFwc2hvdFF1b3RhRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVEQlN1Ym5ldEdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEQlN1Ym5ldEdyb3VwV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZURCU3VibmV0R3JvdXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJTdWJuZXRHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJTdWJuZXRHcm91cERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1Ym5ldElkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1N1Ym5ldElkcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3VibmV0SWRlbnRpZmllcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdUYWdzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJTdWJuZXRHcm91cE5hbWUgaXMgYWxyZWFkeSB1c2VkIGJ5IGFuIGV4aXN0aW5nIERCIHN1Ym5ldCBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCU3VibmV0R3JvdXBBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmVxdWVzdCB3b3VsZCByZXN1bHQgaW4gdXNlciBleGNlZWRpbmcgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIERCIHN1Ym5ldCBncm91cHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlN1Ym5ldEdyb3VwUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JlcXVlc3Qgd291bGQgcmVzdWx0IGluIHVzZXIgZXhjZWVkaW5nIHRoZSBhbGxvd2VkIG51bWJlciBvZiBzdWJuZXRzIGluIGEgREIgc3VibmV0IGdyb3Vwcy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCU3VibmV0UXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1N1Ym5ldHMgaW4gdGhlIERCIHN1Ym5ldCBncm91cCBzaG91bGQgY292ZXIgYXQgbGVhc3QgMiBBdmFpbGFiaWxpdHkgWm9uZXMgdW5sZXNzIHRoZXJlIGlzIG9ubHkgMSBhdmFpbGFibGlsaXR5IHpvbmUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCBzdWJuZXQgaXMgaW52YWxpZCwgb3IgbXVsdGlwbGUgc3VibmV0cyB3ZXJlIHJlcXVlc3RlZCB0aGF0IGFyZSBub3QgYWxsIGluIGEgY29tbW9uIFZQQy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRTdWJuZXRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVFdmVudFN1YnNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRXZlbnRTdWJzY3JpcHRpb25XcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlRXZlbnRTdWJzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3Vic2NyaXB0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTbnNUb3BpY0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTb3VyY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXZlbnRDYXRlZ29yaWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFdmVudENhdGVnb3JpZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0V2ZW50Q2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTb3VyY2VJZHMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NvdXJjZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdUYWdzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBudW1iZXIgb2YgZXZlbnQgc3Vic2NyaXB0aW9ucy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0V2ZW50U3Vic2NyaXB0aW9uUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzdXBwbGllZCBzdWJzY3JpcHRpb24gbmFtZSBhbHJlYWR5IGV4aXN0cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1N1YnNjcmlwdGlvbkFscmVhZHlFeGlzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1NOUyBoYXMgcmVzcG9uZGVkIHRoYXQgdGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIFNORCB0b3BpYyBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTTlNJbnZhbGlkVG9waWNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdZb3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byBwdWJsaXNoIHRvIHRoZSBTTlMgdG9waWMgQVJOLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU05TTm9BdXRob3JpemF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIFNOUyB0b3BpYyBBUk4gZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTTlNUb3BpY0Fybk5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHN1cHBsaWVkIGNhdGVnb3J5IGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU3Vic2NyaXB0aW9uQ2F0ZWdvcnlOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgc291cmNlIGNvdWxkIG5vdCBiZSBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1NvdXJjZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlT3B0aW9uR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ09wdGlvbkdyb3VwV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZU9wdGlvbkdyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ09wdGlvbkdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmdpbmVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01ham9yRW5naW5lVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcHRpb25Hcm91cERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1RhZ3MubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RhZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgb3B0aW9uIGdyb3VwIHlvdSBhcmUgdHJ5aW5nIHRvIGNyZWF0ZSBhbHJlYWR5IGV4aXN0cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ09wdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBxdW90YSBvZiAyMCBvcHRpb24gZ3JvdXBzIHdhcyBleGNlZWRlZCBmb3IgdGhpcyBBV1MgYWNjb3VudC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ09wdGlvbkdyb3VwUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZURCSW5zdGFuY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RCSW5zdGFuY2VXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlREJJbnN0YW5jZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQkluc3RhbmNlSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTa2lwRmluYWxTbmFwc2hvdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbmFsREJTbmFwc2hvdElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQkluc3RhbmNlSWRlbnRpZmllciBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBpbnN0YW5jZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCSW5zdGFuY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgREIgaW5zdGFuY2UgaXMgbm90IGluIHRoZSBhdmFpbGFibGUgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkREJJbnN0YW5jZVN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJTbmFwc2hvdElkZW50aWZpZXIgaXMgYWxyZWFkeSB1c2VkIGJ5IGFuIGV4aXN0aW5nIHNuYXBzaG90LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJTbmFwc2hvdEFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2YgREIgc25hcHNob3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU25hcHNob3RRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlREJQYXJhbWV0ZXJHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVEQlBhcmFtZXRlckdyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCUGFyYW1ldGVyR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBEQiBwYXJhbWV0ZXIgZ3JvdXAgY2Fubm90IGJlIGRlbGV0ZWQgYmVjYXVzZSBpdCBpcyBpbiB1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJQYXJhbWV0ZXJHcm91cE5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgcGFyYW1ldGVyIGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlREJTZWN1cml0eUdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZURCU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQlNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzdGF0ZSBvZiB0aGUgREIgc2VjdXJpdHkgZ3JvdXAgZG9lcyBub3QgYWxsb3cgZGVsZXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkREJTZWN1cml0eUdyb3VwU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQlNlY3VyaXR5R3JvdXBOYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIERCIHNlY3VyaXR5IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJTZWN1cml0eUdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVEQlNuYXBzaG90JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEQlNuYXBzaG90V3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZURCU25hcHNob3QnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJTbmFwc2hvdElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHN0YXRlIG9mIHRoZSBEQiBzbmFwc2hvdCBkb2VzIG5vdCBhbGxvdyBkZWxldGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWREQlNuYXBzaG90U3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQlNuYXBzaG90SWRlbnRpZmllciBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBzbmFwc2hvdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCU25hcHNob3ROb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZURCU3VibmV0R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlREJTdWJuZXRHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQlN1Ym5ldEdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgREIgc3VibmV0IGdyb3VwIGNhbm5vdCBiZSBkZWxldGVkIGJlY2F1c2UgaXQgaXMgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZERCU3VibmV0R3JvdXBTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBEQiBzdWJuZXQgaXMgbm90IGluIHRoZSBhdmFpbGFibGUgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkREJTdWJuZXRTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCU3VibmV0R3JvdXBOYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIERCIHN1Ym5ldCBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCU3VibmV0R3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFdmVudFN1YnNjcmlwdGlvbldyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVFdmVudFN1YnNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJzY3JpcHRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzdWJzY3JpcHRpb24gbmFtZSBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1N1YnNjcmlwdGlvbk5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhpcyBlcnJvciBjYW4gb2NjdXIgaWYgc29tZW9uZSBlbHNlIGlzIG1vZGlmeWluZyBhIHN1YnNjcmlwdGlvbi4gWW91IHNob3VsZCByZXRyeSB0aGUgYWN0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEV2ZW50U3Vic2NyaXB0aW9uU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVPcHRpb25Hcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVPcHRpb25Hcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcHRpb25Hcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBvcHRpb24gZ3JvdXAgY291bGQgbm90IGJlIGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT3B0aW9uR3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBvcHRpb24gZ3JvdXAgaXMgbm90IGluIHRoZSBhdmFpbGFibGUgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkT3B0aW9uR3JvdXBTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlREJFbmdpbmVWZXJzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnREJFbmdpbmVWZXJzaW9uTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlREJFbmdpbmVWZXJzaW9ucycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmdpbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJQYXJhbWV0ZXJHcm91cEZhbWlseScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVmYXVsdE9ubHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMaXN0U3VwcG9ydGVkQ2hhcmFjdGVyU2V0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlREJJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RCSW5zdGFuY2VNZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVEQkluc3RhbmNlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQkluc3RhbmNlSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlcnMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZpbHRlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZpbHRlclZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlclZhbHVlLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhSZWNvcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCSW5zdGFuY2VJZGVudGlmaWVyIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIERCIGluc3RhbmNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJJbnN0YW5jZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVEQkxvZ0ZpbGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZURCTG9nRmlsZXNSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlREJMb2dGaWxlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQkluc3RhbmNlSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWxlbmFtZUNvbnRhaW5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsZUxhc3RXcml0dGVuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbGVTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJJbnN0YW5jZUlkZW50aWZpZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgaW5zdGFuY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQkluc3RhbmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZURCUGFyYW1ldGVyR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEQlBhcmFtZXRlckdyb3Vwc01lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZURCUGFyYW1ldGVyR3JvdXBzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCUGFyYW1ldGVyR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVycy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRmlsdGVyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRmlsdGVyVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVyVmFsdWUubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJQYXJhbWV0ZXJHcm91cE5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgcGFyYW1ldGVyIGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVEQlBhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RCUGFyYW1ldGVyR3JvdXBEZXRhaWxzJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVEQlBhcmFtZXRlcnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJQYXJhbWV0ZXJHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQlBhcmFtZXRlckdyb3VwTmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBwYXJhbWV0ZXIgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZURCU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RCU2VjdXJpdHlHcm91cE1lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZURCU2VjdXJpdHlHcm91cHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlcnMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZpbHRlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZpbHRlclZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlclZhbHVlLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhSZWNvcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCU2VjdXJpdHlHcm91cE5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgc2VjdXJpdHkgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlNlY3VyaXR5R3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlREJTbmFwc2hvdHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RCU25hcHNob3RNZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVEQlNuYXBzaG90cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQkluc3RhbmNlSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCU25hcHNob3RJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU25hcHNob3RUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVycy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRmlsdGVyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRmlsdGVyVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVyVmFsdWUubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJTbmFwc2hvdElkZW50aWZpZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgc25hcHNob3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlNuYXBzaG90Tm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZURCU3VibmV0R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEQlN1Ym5ldEdyb3VwTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlREJTdWJuZXRHcm91cHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJTdWJuZXRHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXJzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGaWx0ZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGaWx0ZXJWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXJWYWx1ZS5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQlN1Ym5ldEdyb3VwTmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBzdWJuZXQgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlN1Ym5ldEdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbmdpbmVEZWZhdWx0c1dyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCUGFyYW1ldGVyR3JvdXBGYW1pbHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUV2ZW50Q2F0ZWdvcmllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRXZlbnRDYXRlZ29yaWVzTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlRXZlbnRDYXRlZ29yaWVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRXZlbnRTdWJzY3JpcHRpb25zTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YnNjcmlwdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXJzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdGaWx0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGaWx0ZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGaWx0ZXJWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdGaWx0ZXJWYWx1ZS5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3Vic2NyaXB0aW9uIG5hbWUgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTdWJzY3JpcHRpb25Ob3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlRXZlbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFdmVudHNNZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVFdmVudHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFydFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXZlbnRDYXRlZ29yaWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFdmVudENhdGVnb3JpZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0V2ZW50Q2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZU9wdGlvbkdyb3VwT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnT3B0aW9uR3JvdXBPcHRpb25zTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlT3B0aW9uR3JvdXBPcHRpb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuZ2luZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFqb3JFbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZU9wdGlvbkdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnT3B0aW9uR3JvdXBzJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVPcHRpb25Hcm91cHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3B0aW9uR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVycy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRmlsdGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRmlsdGVyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRmlsdGVyVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRmlsdGVyVmFsdWUubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5naW5lTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01ham9yRW5naW5lVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgb3B0aW9uIGdyb3VwIGNvdWxkIG5vdCBiZSBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ09wdGlvbkdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZU9yZGVyYWJsZURCSW5zdGFuY2VPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9uc01lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZU9yZGVyYWJsZURCSW5zdGFuY2VPcHRpb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuZ2luZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJJbnN0YW5jZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGljZW5zZU1vZGVsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVnBjJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1Jlc2VydmVkREJJbnN0YW5jZU1lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzZXJ2ZWREQkluc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0R1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJvZHVjdERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT2ZmZXJpbmdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTXVsdGlBWicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlcnMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0ZpbHRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZpbHRlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZpbHRlclZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZpbHRlclZhbHVlLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhSZWNvcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgcmVzZXJ2ZWQgREIgSW5zdGFuY2Ugbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzZXJ2ZWREQkluc3RhbmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1Jlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ01lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQkluc3RhbmNlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Byb2R1Y3REZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ09mZmVyaW5nVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ011bHRpQVonID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhSZWNvcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1NwZWNpZmllZCBvZmZlcmluZyBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Jlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ05vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEb3dubG9hZERCTG9nRmlsZVBvcnRpb25EZXRhaWxzJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvZ0ZpbGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ051bWJlck9mTGluZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJJbnN0YW5jZUlkZW50aWZpZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgaW5zdGFuY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQkluc3RhbmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0VGFnc0ZvclJlc291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdUYWdMaXN0TWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0xpc3RUYWdzRm9yUmVzb3VyY2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzb3VyY2VOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCSW5zdGFuY2VJZGVudGlmaWVyIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIERCIGluc3RhbmNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJJbnN0YW5jZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJTbmFwc2hvdElkZW50aWZpZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgc25hcHNob3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlNuYXBzaG90Tm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdNb2RpZnlEQkluc3RhbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEQkluc3RhbmNlV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ01vZGlmeURCSW5zdGFuY2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJJbnN0YW5jZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWxsb2NhdGVkU3RvcmFnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQkluc3RhbmNlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQlNlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdEQlNlY3VyaXR5R3JvdXBzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdEQlNlY3VyaXR5R3JvdXBOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZwY1NlY3VyaXR5R3JvdXBJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZwY1NlY3VyaXR5R3JvdXBJZHMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZwY1NlY3VyaXR5R3JvdXBJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBcHBseUltbWVkaWF0ZWx5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFzdGVyVXNlclBhc3N3b3JkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJQYXJhbWV0ZXJHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdCYWNrdXBSZXRlbnRpb25QZXJpb2QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJlZmVycmVkQmFja3VwV2luZG93JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3cnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNdWx0aUFaJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5naW5lVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FsbG93TWFqb3JWZXJzaW9uVXBncmFkZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9NaW5vclZlcnNpb25VcGdyYWRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW9wcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcHRpb25Hcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXdEQkluc3RhbmNlSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgREIgaW5zdGFuY2UgaXMgbm90IGluIHRoZSBhdmFpbGFibGUgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkREJJbnN0YW5jZVN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHN0YXRlIG9mIHRoZSBEQiBzZWN1cml0eSBncm91cCBkb2VzIG5vdCBhbGxvdyBkZWxldGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWREQlNlY3VyaXR5R3JvdXBTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1VzZXIgYWxyZWFkeSBoYXMgYSBEQiBpbnN0YW5jZSB3aXRoIHRoZSBnaXZlbiBpZGVudGlmaWVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJJbnN0YW5jZUFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQkluc3RhbmNlSWRlbnRpZmllciBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBpbnN0YW5jZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCSW5zdGFuY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCU2VjdXJpdHlHcm91cE5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgc2VjdXJpdHkgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlNlY3VyaXR5R3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCUGFyYW1ldGVyR3JvdXBOYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIERCIHBhcmFtZXRlciBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1NwZWNpZmllZCBEQiBpbnN0YW5jZSBjbGFzcyBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBzcGVjaWZpZWQgQXZhaWxhYmlsaXR5IFpvbmUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnN1ZmZpY2llbnREQkluc3RhbmNlQ2FwYWNpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBhbW91bnQgb2Ygc3RvcmFnZSBhdmFpbGFibGUgYWNyb3NzIGFsbCBEQiBpbnN0YW5jZXMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTdG9yYWdlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCIHN1Ym5ldCBncm91cCBkb2VzIG5vdCBjb3ZlciBhbGwgQXZhaWxhYmlsaXR5IFpvbmVzIGFmdGVyIGl0IGlzIGNyZWF0ZWQgYmVjYXVzZSB1c2Vyc1wnIGNoYW5nZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRWUENOZXR3b3JrU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdQcm92aXNpb25lZCBJT1BTIG5vdCBhdmFpbGFibGUgaW4gdGhlIHNwZWNpZmllZCBBdmFpbGFiaWxpdHkgWm9uZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Byb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIG9wdGlvbiBncm91cCBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcHRpb25Hcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIERCIHVwZ3JhZGUgZmFpbGVkIGJlY2F1c2UgYSByZXNvdXJjZSB0aGUgREIgZGVwZW5kcyBvbiBjb3VsZCBub3QgYmUgbW9kaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlVwZ3JhZGVEZXBlbmRlbmN5RmFpbHVyZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ01vZGlmeURCUGFyYW1ldGVyR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RCUGFyYW1ldGVyR3JvdXBOYW1lTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ01vZGlmeURCUGFyYW1ldGVyR3JvdXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJQYXJhbWV0ZXJHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1BhcmFtZXRlcnMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1BhcmFtZXRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FwcGx5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXRhVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvd2VkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lzTW9kaWZpYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5pbXVtRW5naW5lVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcHBseU1ldGhvZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQlBhcmFtZXRlckdyb3VwTmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBwYXJhbWV0ZXIgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgREIgcGFyYW1ldGVyIGdyb3VwIGNhbm5vdCBiZSBkZWxldGVkIGJlY2F1c2UgaXQgaXMgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZERCUGFyYW1ldGVyR3JvdXBTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ01vZGlmeURCU3VibmV0R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RCU3VibmV0R3JvdXBXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTW9kaWZ5REJTdWJuZXRHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQlN1Ym5ldEdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQlN1Ym5ldEdyb3VwRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJuZXRJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTdWJuZXRJZHMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N1Ym5ldElkZW50aWZpZXInLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJTdWJuZXRHcm91cE5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgc3VibmV0IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJTdWJuZXRHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmVxdWVzdCB3b3VsZCByZXN1bHQgaW4gdXNlciBleGNlZWRpbmcgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIHN1Ym5ldHMgaW4gYSBEQiBzdWJuZXQgZ3JvdXBzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJTdWJuZXRRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIERCIHN1Ym5ldCBpcyBhbHJlYWR5IGluIHVzZSBpbiB0aGUgQXZhaWxhYmlsaXR5IFpvbmUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTdWJuZXRBbHJlYWR5SW5Vc2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdTdWJuZXRzIGluIHRoZSBEQiBzdWJuZXQgZ3JvdXAgc2hvdWxkIGNvdmVyIGF0IGxlYXN0IDIgQXZhaWxhYmlsaXR5IFpvbmVzIHVubGVzcyB0aGVyZSBpcyBvbmx5IDEgYXZhaWxhYmxpbGl0eSB6b25lLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFac0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgc3VibmV0IGlzIGludmFsaWQsIG9yIG11bHRpcGxlIHN1Ym5ldHMgd2VyZSByZXF1ZXN0ZWQgdGhhdCBhcmUgbm90IGFsbCBpbiBhIGNvbW1vbiBWUEMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkU3VibmV0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTW9kaWZ5RXZlbnRTdWJzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0V2ZW50U3Vic2NyaXB0aW9uV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ01vZGlmeUV2ZW50U3Vic2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YnNjcmlwdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU25zVG9waWNBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTb3VyY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXZlbnRDYXRlZ29yaWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFdmVudENhdGVnb3JpZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0V2ZW50Q2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1lvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGV2ZW50IHN1YnNjcmlwdGlvbnMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdFdmVudFN1YnNjcmlwdGlvblF1b3RhRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3Vic2NyaXB0aW9uIG5hbWUgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTdWJzY3JpcHRpb25Ob3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1NOUyBoYXMgcmVzcG9uZGVkIHRoYXQgdGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIFNORCB0b3BpYyBzcGVjaWZpZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTTlNJbnZhbGlkVG9waWNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdZb3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byBwdWJsaXNoIHRvIHRoZSBTTlMgdG9waWMgQVJOLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU05TTm9BdXRob3JpemF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIFNOUyB0b3BpYyBBUk4gZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTTlNUb3BpY0Fybk5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHN1cHBsaWVkIGNhdGVnb3J5IGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU3Vic2NyaXB0aW9uQ2F0ZWdvcnlOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ01vZGlmeU9wdGlvbkdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdPcHRpb25Hcm91cFdyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdNb2RpZnlPcHRpb25Hcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcHRpb25Hcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3B0aW9uc1RvSW5jbHVkZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnT3B0aW9uc1RvSW5jbHVkZS5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnT3B0aW9uQ29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCU2VjdXJpdHlHcm91cE1lbWJlcnNoaXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnREJTZWN1cml0eUdyb3VwTWVtYmVyc2hpcHMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RCU2VjdXJpdHlHcm91cE5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjU2VjdXJpdHlHcm91cE1lbWJlcnNoaXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVnBjU2VjdXJpdHlHcm91cE1lbWJlcnNoaXBzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWcGNTZWN1cml0eUdyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9uU2V0dGluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPcHRpb25TZXR0aW5ncy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnT3B0aW9uU2V0dGluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FwcGx5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXRhVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvd2VkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lzTW9kaWZpYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJc0NvbGxlY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3B0aW9uc1RvUmVtb3ZlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPcHRpb25zVG9SZW1vdmUubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBcHBseUltbWVkaWF0ZWx5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIG9wdGlvbiBncm91cCBpcyBub3QgaW4gdGhlIGF2YWlsYWJsZSBzdGF0ZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRPcHRpb25Hcm91cFN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBvcHRpb24gZ3JvdXAgY291bGQgbm90IGJlIGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT3B0aW9uR3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1Byb21vdGVSZWFkUmVwbGljYScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnREJJbnN0YW5jZVdyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdQcm9tb3RlUmVhZFJlcGxpY2EnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJJbnN0YW5jZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQmFja3VwUmV0ZW50aW9uUGVyaW9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByZWZlcnJlZEJhY2t1cFdpbmRvdycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgREIgaW5zdGFuY2UgaXMgbm90IGluIHRoZSBhdmFpbGFibGUgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkREJJbnN0YW5jZVN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJJbnN0YW5jZUlkZW50aWZpZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgaW5zdGFuY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQkluc3RhbmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXJjaGFzZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUmVzZXJ2ZWREQkluc3RhbmNlV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1B1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkREJJbnN0YW5jZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJJbnN0YW5jZUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1RhZ3MubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RhZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdTcGVjaWZpZWQgb2ZmZXJpbmcgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1VzZXIgYWxyZWFkeSBoYXMgYSByZXNlcnZhdGlvbiB3aXRoIHRoZSBnaXZlbiBpZGVudGlmaWVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzZXJ2ZWREQkluc3RhbmNlQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JlcXVlc3Qgd291bGQgZXhjZWVkIHRoZSB1c2VyXCdzIERCIEluc3RhbmNlIHF1b3RhLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzZXJ2ZWREQkluc3RhbmNlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlYm9vdERCSW5zdGFuY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RCSW5zdGFuY2VXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmVib290REJJbnN0YW5jZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQkluc3RhbmNlSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGb3JjZUZhaWxvdmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBEQiBpbnN0YW5jZSBpcyBub3QgaW4gdGhlIGF2YWlsYWJsZSBzdGF0ZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWREQkluc3RhbmNlU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQkluc3RhbmNlSWRlbnRpZmllciBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBpbnN0YW5jZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCSW5zdGFuY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFdmVudFN1YnNjcmlwdGlvbldyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZW1vdmVTb3VyY2VJZGVudGlmaWVyRnJvbVN1YnNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJzY3JpcHRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHN1YnNjcmlwdGlvbiBuYW1lIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU3Vic2NyaXB0aW9uTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIHNvdXJjZSBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlbW92ZVRhZ3NGcm9tUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTMtMDktMDknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXNvdXJjZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFnS2V5cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1RhZ0tleXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQkluc3RhbmNlSWRlbnRpZmllciBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBpbnN0YW5jZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCSW5zdGFuY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCU25hcHNob3RJZGVudGlmaWVyIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIERCIHNuYXBzaG90LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJTbmFwc2hvdE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVzZXREQlBhcmFtZXRlckdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEQlBhcmFtZXRlckdyb3VwTmFtZU1lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZXNldERCUGFyYW1ldGVyR3JvdXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJQYXJhbWV0ZXJHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzZXRBbGxQYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUGFyYW1ldGVycy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXBwbHlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RhdGFUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93ZWRWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXNNb2RpZmlhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pbmltdW1FbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FwcGx5TWV0aG9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBEQiBwYXJhbWV0ZXIgZ3JvdXAgY2Fubm90IGJlIGRlbGV0ZWQgYmVjYXVzZSBpdCBpcyBpbiB1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJQYXJhbWV0ZXJHcm91cE5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgREIgcGFyYW1ldGVyIGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnREJJbnN0YW5jZVdyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZXN0b3JlREJJbnN0YW5jZUZyb21EQlNuYXBzaG90JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMy0wOS0wOScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCU25hcHNob3RJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCU3VibmV0R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTXVsdGlBWicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1B1YmxpY2x5QWNjZXNzaWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9NaW5vclZlcnNpb25VcGdyYWRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGljZW5zZU1vZGVsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5naW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW9wcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcHRpb25Hcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdUYWdzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVXNlciBhbHJlYWR5IGhhcyBhIERCIGluc3RhbmNlIHdpdGggdGhlIGdpdmVuIGlkZW50aWZpZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCU25hcHNob3RJZGVudGlmaWVyIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIERCIHNuYXBzaG90LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJTbmFwc2hvdE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmVxdWVzdCB3b3VsZCByZXN1bHQgaW4gdXNlciBleGNlZWRpbmcgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIERCIGluc3RhbmNlcy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luc3RhbmNlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1NwZWNpZmllZCBEQiBpbnN0YW5jZSBjbGFzcyBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBzcGVjaWZpZWQgQXZhaWxhYmlsaXR5IFpvbmUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnN1ZmZpY2llbnREQkluc3RhbmNlQ2FwYWNpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3RhdGUgb2YgdGhlIERCIHNuYXBzaG90IGRvZXMgbm90IGFsbG93IGRlbGV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZERCU25hcHNob3RTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JlcXVlc3Qgd291bGQgcmVzdWx0IGluIHVzZXIgZXhjZWVkaW5nIHRoZSBhbGxvd2VkIGFtb3VudCBvZiBzdG9yYWdlIGF2YWlsYWJsZSBhY3Jvc3MgYWxsIERCIGluc3RhbmNlcy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1N0b3JhZ2VRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREIgc3VibmV0IGdyb3VwIGRvZXMgbm90IGNvdmVyIGFsbCBBdmFpbGFiaWxpdHkgWm9uZXMgYWZ0ZXIgaXQgaXMgY3JlYXRlZCBiZWNhdXNlIHVzZXJzXCcgY2hhbmdlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0Nhbm5vdCByZXN0b3JlIGZyb20gdnBjIGJhY2t1cCB0byBub24tdnBjIERCIGluc3RhbmNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFJlc3RvcmVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQlN1Ym5ldEdyb3VwTmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBzdWJuZXQgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlN1Ym5ldEdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdTdWJuZXRzIGluIHRoZSBEQiBzdWJuZXQgZ3JvdXAgc2hvdWxkIGNvdmVyIGF0IGxlYXN0IDIgQXZhaWxhYmlsaXR5IFpvbmVzIHVubGVzcyB0aGVyZSBpcyBvbmx5IDEgYXZhaWxhYmxpbGl0eSB6b25lLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFac0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgc3VibmV0IGlzIGludmFsaWQsIG9yIG11bHRpcGxlIHN1Ym5ldHMgd2VyZSByZXF1ZXN0ZWQgdGhhdCBhcmUgbm90IGFsbCBpbiBhIGNvbW1vbiBWUEMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkU3VibmV0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUHJvdmlzaW9uZWQgSU9QUyBub3QgYXZhaWxhYmxlIGluIHRoZSBzcGVjaWZpZWQgQXZhaWxhYmlsaXR5IFpvbmUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQcm92aXNpb25lZElvcHNOb3RBdmFpbGFibGVJbkFaRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBvcHRpb24gZ3JvdXAgY291bGQgbm90IGJlIGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT3B0aW9uR3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1Jlc3RvcmVEQkluc3RhbmNlVG9Qb2ludEluVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnREJJbnN0YW5jZVdyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZXN0b3JlREJJbnN0YW5jZVRvUG9pbnRJblRpbWUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlREJJbnN0YW5jZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFyZ2V0REJJbnN0YW5jZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzdG9yZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVc2VMYXRlc3RSZXN0b3JhYmxlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCU3VibmV0R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTXVsdGlBWicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1B1YmxpY2x5QWNjZXNzaWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9NaW5vclZlcnNpb25VcGdyYWRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGljZW5zZU1vZGVsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5naW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW9wcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPcHRpb25Hcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYWdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdUYWdzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVXNlciBhbHJlYWR5IGhhcyBhIERCIGluc3RhbmNlIHdpdGggdGhlIGdpdmVuIGlkZW50aWZpZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCSW5zdGFuY2VJZGVudGlmaWVyIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIERCIGluc3RhbmNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnREJJbnN0YW5jZU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmVxdWVzdCB3b3VsZCByZXN1bHQgaW4gdXNlciBleGNlZWRpbmcgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIERCIGluc3RhbmNlcy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luc3RhbmNlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1NwZWNpZmllZCBEQiBpbnN0YW5jZSBjbGFzcyBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBzcGVjaWZpZWQgQXZhaWxhYmlsaXR5IFpvbmUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnN1ZmZpY2llbnREQkluc3RhbmNlQ2FwYWNpdHlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIERCIGluc3RhbmNlIGlzIG5vdCBpbiB0aGUgYXZhaWxhYmxlIHN0YXRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZERCSW5zdGFuY2VTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1NvdXJjZURCSW5zdGFuY2VJZGVudGlmaWVyIHJlZmVycyB0byBhIERCIGluc3RhbmNlIHdpdGggQmFja3VwUmV0ZW50aW9uUGVyaW9kIGVxdWFsIHRvIDAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQb2ludEluVGltZVJlc3RvcmVOb3RFbmFibGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmVxdWVzdCB3b3VsZCByZXN1bHQgaW4gdXNlciBleGNlZWRpbmcgdGhlIGFsbG93ZWQgYW1vdW50IG9mIHN0b3JhZ2UgYXZhaWxhYmxlIGFjcm9zcyBhbGwgREIgaW5zdGFuY2VzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU3RvcmFnZVF1b3RhRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdEQiBzdWJuZXQgZ3JvdXAgZG9lcyBub3QgY292ZXIgYWxsIEF2YWlsYWJpbGl0eSBab25lcyBhZnRlciBpdCBpcyBjcmVhdGVkIGJlY2F1c2UgdXNlcnNcJyBjaGFuZ2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkVlBDTmV0d29ya1N0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQ2Fubm90IHJlc3RvcmUgZnJvbSB2cGMgYmFja3VwIHRvIG5vbi12cGMgREIgaW5zdGFuY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVzdG9yZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0RCU3VibmV0R3JvdXBOYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIERCIHN1Ym5ldCBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCU3VibmV0R3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1N1Ym5ldHMgaW4gdGhlIERCIHN1Ym5ldCBncm91cCBzaG91bGQgY292ZXIgYXQgbGVhc3QgMiBBdmFpbGFiaWxpdHkgWm9uZXMgdW5sZXNzIHRoZXJlIGlzIG9ubHkgMSBhdmFpbGFibGlsaXR5IHpvbmUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCBzdWJuZXQgaXMgaW52YWxpZCwgb3IgbXVsdGlwbGUgc3VibmV0cyB3ZXJlIHJlcXVlc3RlZCB0aGF0IGFyZSBub3QgYWxsIGluIGEgY29tbW9uIFZQQy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRTdWJuZXRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdQcm92aXNpb25lZCBJT1BTIG5vdCBhdmFpbGFibGUgaW4gdGhlIHNwZWNpZmllZCBBdmFpbGFiaWxpdHkgWm9uZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Byb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIG9wdGlvbiBncm91cCBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcHRpb25Hcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnREJTZWN1cml0eUdyb3VwV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1Jldm9rZURCU2VjdXJpdHlHcm91cEluZ3Jlc3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEzLTA5LTA5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDSURSSVAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFQzJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnREJTZWN1cml0eUdyb3VwTmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBEQiBzZWN1cml0eSBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0RCU2VjdXJpdHlHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnU3BlY2lmaWVkIENJRFJJUCBvciBFQzIgc2VjdXJpdHkgZ3JvdXAgaXMgbm90IGF1dGhvcml6ZWQgZm9yIHRoZSBzcGVjaWZpZWQgREIgc2VjdXJpdHkgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3RhdGUgb2YgdGhlIERCIHNlY3VyaXR5IGdyb3VwIGRvZXMgbm90IGFsbG93IGRlbGV0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZERCU2VjdXJpdHlHcm91cFN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnbW9kZWxzJyA9PiBhcnJheSgKICAgICAgICAnRXZlbnRTdWJzY3JpcHRpb25XcmFwcGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdFdmVudFN1YnNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnd3JhcHBlcicgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RvbWVyQXdzSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdFN1YnNjcmlwdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Nuc1RvcGljQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdWJzY3JpcHRpb25DcmVhdGlvblRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VJZHNMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NvdXJjZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1NvdXJjZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdFdmVudENhdGVnb3JpZXNMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0V2ZW50Q2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRXZlbnRDYXRlZ29yeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0VtcHR5T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgKSwKICAgICAgICAnREJTZWN1cml0eUdyb3VwV3JhcHBlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnREJTZWN1cml0eUdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3cmFwcGVyJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnT3duZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEQlNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0RCU2VjdXJpdHlHcm91cERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0VDMlNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRUMyU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFQzJTZWN1cml0eUdyb3VwT3duZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJUFJhbmdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJUFJhbmdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0lQUmFuZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDSURSSVAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RCU25hcHNob3RXcmFwcGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdEQlNuYXBzaG90JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3cmFwcGVyJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnREJTbmFwc2hvdElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnREJJbnN0YW5jZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU25hcHNob3RDcmVhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZ2luZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvY2F0ZWRTdG9yYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUNyZWF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWFzdGVyVXNlcm5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRW5naW5lVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdMaWNlbnNlTW9kZWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU25hcHNob3RUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0lvcHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbkdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQZXJjZW50UHJvZ3Jlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZVJlZ2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnREJJbnN0YW5jZVdyYXBwZXInID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3dyYXBwZXInID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdEQkluc3RhbmNlSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEQkluc3RhbmNlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRW5naW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWFzdGVyVXNlcm5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnREJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZHBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG9jYXRlZFN0b3JhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlQ3JlYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcmVmZXJyZWRCYWNrdXBXaW5kb3cnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQmFja3VwUmV0ZW50aW9uUGVyaW9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEQlNlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RCU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdEQlNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCU2VjdXJpdHlHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY1NlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZwY1NlY3VyaXR5R3JvdXBNZW1iZXJzaGlwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZwY1NlY3VyaXR5R3JvdXBNZW1iZXJzaGlwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWcGNTZWN1cml0eUdyb3VwSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0RCUGFyYW1ldGVyR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RCUGFyYW1ldGVyR3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnREJQYXJhbWV0ZXJHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJQYXJhbWV0ZXJHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyQXBwbHlTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEQlN1Ym5ldEdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJTdWJuZXRHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJTdWJuZXRHcm91cERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldEdyb3VwU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3VibmV0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTdWJuZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldEF2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3Zpc2lvbmVkSW9wc0NhcGFibGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldFN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1BlbmRpbmdNb2RpZmllZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvY2F0ZWRTdG9yYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXN0ZXJVc2VyUGFzc3dvcmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQmFja3VwUmV0ZW50aW9uUGVyaW9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aUFaJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lvcHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTGF0ZXN0UmVzdG9yYWJsZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTXVsdGlBWicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRW5naW5lVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBdXRvTWlub3JWZXJzaW9uVXBncmFkZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmVhZFJlcGxpY2FTb3VyY2VEQkluc3RhbmNlSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSZWFkUmVwbGljYURCSW5zdGFuY2VJZGVudGlmaWVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZWFkUmVwbGljYURCSW5zdGFuY2VJZGVudGlmaWVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1JlYWRSZXBsaWNhREJJbnN0YW5jZUlkZW50aWZpZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0xpY2Vuc2VNb2RlbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJb3BzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25Hcm91cE1lbWJlcnNoaXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ09wdGlvbkdyb3VwTWVtYmVyc2hpcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPcHRpb25Hcm91cE1lbWJlcnNoaXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbkdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2hhcmFjdGVyU2V0TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTZWNvbmRhcnlBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1B1YmxpY2x5QWNjZXNzaWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzSW5mb3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnREJJbnN0YW5jZVN0YXR1c0luZm8nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnREJJbnN0YW5jZVN0YXR1c0luZm8nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1c1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9ybWFsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnREJQYXJhbWV0ZXJHcm91cFdyYXBwZXInID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0RCUGFyYW1ldGVyR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3dyYXBwZXInID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdEQlBhcmFtZXRlckdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEQlBhcmFtZXRlckdyb3VwRmFtaWx5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEQlN1Ym5ldEdyb3VwV3JhcHBlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnREJTdWJuZXRHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnd3JhcHBlcicgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0RCU3VibmV0R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0RCU3VibmV0R3JvdXBEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRHcm91cFN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N1Ym5ldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTdWJuZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0QXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvdmlzaW9uZWRJb3BzQ2FwYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ09wdGlvbkdyb3VwV3JhcHBlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnT3B0aW9uR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3dyYXBwZXInID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25Hcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9uR3JvdXBEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmdpbmVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ01ham9yRW5naW5lVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ09wdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9uRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVyc2lzdGVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVybWFuZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25TZXR0aW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdPcHRpb25TZXR0aW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ09wdGlvblNldHRpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FwcGx5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXRhVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvd2VkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lzTW9kaWZpYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXNDb2xsZWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEQlNlY3VyaXR5R3JvdXBNZW1iZXJzaGlwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdEQlNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnREJTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEQlNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWcGNTZWN1cml0eUdyb3VwTWVtYmVyc2hpcHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVnBjU2VjdXJpdHlHcm91cE1lbWJlcnNoaXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVnBjU2VjdXJpdHlHcm91cE1lbWJlcnNoaXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY1NlY3VyaXR5R3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dzVnBjQW5kTm9uVnBjSW5zdGFuY2VNZW1iZXJzaGlwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RCRW5naW5lVmVyc2lvbk1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCRW5naW5lVmVyc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdEQkVuZ2luZVZlcnNpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdEQkVuZ2luZVZlcnNpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5naW5lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZ2luZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJQYXJhbWV0ZXJHcm91cEZhbWlseScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEQkVuZ2luZURlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCRW5naW5lVmVyc2lvbkRlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRDaGFyYWN0ZXJTZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGFyYWN0ZXJTZXROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NoYXJhY3RlclNldERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdXBwb3J0ZWRDaGFyYWN0ZXJTZXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NoYXJhY3RlclNldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NoYXJhY3RlclNldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGFyYWN0ZXJTZXROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NoYXJhY3RlclNldERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RCSW5zdGFuY2VNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQkluc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RCSW5zdGFuY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdEQkluc3RhbmNlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmdpbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJJbnN0YW5jZVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXN0ZXJVc2VybmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEQk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5kcG9pbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvY2F0ZWRTdG9yYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbnN0YW5jZUNyZWF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlZmVycmVkQmFja3VwV2luZG93JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JhY2t1cFJldGVudGlvblBlcmlvZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJTZWN1cml0eUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdEQlNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdEQlNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVnBjU2VjdXJpdHlHcm91cE1lbWJlcnNoaXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWcGNTZWN1cml0eUdyb3VwTWVtYmVyc2hpcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWcGNTZWN1cml0eUdyb3VwSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCUGFyYW1ldGVyR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RCUGFyYW1ldGVyR3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdEQlBhcmFtZXRlckdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCUGFyYW1ldGVyR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlckFwcGx5U3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJTdWJuZXRHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCU3VibmV0R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCU3VibmV0R3JvdXBEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRHcm91cFN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N1Ym5ldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdTdWJuZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0QXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvdmlzaW9uZWRJb3BzQ2FwYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BlbmRpbmdNb2RpZmllZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvY2F0ZWRTdG9yYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXN0ZXJVc2VyUGFzc3dvcmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQmFja3VwUmV0ZW50aW9uUGVyaW9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aUFaJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lvcHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXRlc3RSZXN0b3JhYmxlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aUFaJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F1dG9NaW5vclZlcnNpb25VcGdyYWRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWFkUmVwbGljYVNvdXJjZURCSW5zdGFuY2VJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlYWRSZXBsaWNhREJJbnN0YW5jZUlkZW50aWZpZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1JlYWRSZXBsaWNhREJJbnN0YW5jZUlkZW50aWZpZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZWFkUmVwbGljYURCSW5zdGFuY2VJZGVudGlmaWVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMaWNlbnNlTW9kZWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW9wcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9uR3JvdXBNZW1iZXJzaGlwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdPcHRpb25Hcm91cE1lbWJlcnNoaXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPcHRpb25Hcm91cE1lbWJlcnNoaXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9uR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGFyYWN0ZXJTZXROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlY29uZGFyeUF2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHVibGljbHlBY2Nlc3NpYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXNJbmZvcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdEQkluc3RhbmNlU3RhdHVzSW5mbycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0RCSW5zdGFuY2VTdGF0dXNJbmZvJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1c1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9ybWFsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZURCTG9nRmlsZXNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRGVzY3JpYmVEQkxvZ0ZpbGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRGVzY3JpYmVEQkxvZ0ZpbGVzRGV0YWlscycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0Rlc2NyaWJlREJMb2dGaWxlc0RldGFpbHMnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTG9nRmlsZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdFdyaXR0ZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RCUGFyYW1ldGVyR3JvdXBzTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJQYXJhbWV0ZXJHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdEQlBhcmFtZXRlckdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnREJQYXJhbWV0ZXJHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEQlBhcmFtZXRlckdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEQlBhcmFtZXRlckdyb3VwRmFtaWx5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RCUGFyYW1ldGVyR3JvdXBEZXRhaWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FwcGx5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXRhVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvd2VkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lzTW9kaWZpYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWluaW11bUVuZ2luZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXBwbHlNZXRob2QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnREJTZWN1cml0eUdyb3VwTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnREJTZWN1cml0eUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RCU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0RCU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCU2VjdXJpdHlHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJTZWN1cml0eUdyb3VwRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRUMyU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRUMyU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0VDMlNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFQzJTZWN1cml0eUdyb3VwT3duZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJUFJhbmdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJUFJhbmdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSVBSYW5nZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ0lEUklQJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RCU25hcHNob3RNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQlNuYXBzaG90cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RCU25hcHNob3QnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdEQlNuYXBzaG90JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCU25hcHNob3RJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NuYXBzaG90Q3JlYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmdpbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxsb2NhdGVkU3RvcmFnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5zdGFuY2VDcmVhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01hc3RlclVzZXJuYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZ2luZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGljZW5zZU1vZGVsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NuYXBzaG90VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJb3BzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25Hcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVyY2VudFByb2dyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VSZWdpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnREJTdWJuZXRHcm91cE1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RCU3VibmV0R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnREJTdWJuZXRHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0RCU3VibmV0R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJTdWJuZXRHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJTdWJuZXRHcm91cERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldEdyb3VwU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3VibmV0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU3VibmV0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0QXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvdmlzaW9uZWRJb3BzQ2FwYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldFN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFbmdpbmVEZWZhdWx0c1dyYXBwZXInID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0VuZ2luZURlZmF1bHRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3cmFwcGVyJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnREJQYXJhbWV0ZXJHcm91cEZhbWlseScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQYXJhbWV0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlclZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcHBseVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0YVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJc01vZGlmaWFibGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pbmltdW1FbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FwcGx5TWV0aG9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFdmVudENhdGVnb3JpZXNNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdFdmVudENhdGVnb3JpZXNNYXBMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRXZlbnRDYXRlZ29yaWVzTWFwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRXZlbnRDYXRlZ29yaWVzTWFwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXZlbnRDYXRlZ29yaWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0V2ZW50Q2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFdmVudENhdGVnb3J5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFdmVudFN1YnNjcmlwdGlvbnNNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFdmVudFN1YnNjcmlwdGlvbnNMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRXZlbnRTdWJzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFdmVudFN1YnNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXN0b21lckF3c0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RTdWJzY3JpcHRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbnNUb3BpY0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3Vic2NyaXB0aW9uQ3JlYXRpb25UaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlSWRzTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTb3VyY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1NvdXJjZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFdmVudENhdGVnb3JpZXNMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0V2ZW50Q2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFdmVudENhdGVnb3J5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFdmVudHNNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFdmVudHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdFdmVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0V2ZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V2ZW50Q2F0ZWdvcmllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdFdmVudENhdGVnb3J5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRXZlbnRDYXRlZ29yeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdPcHRpb25Hcm91cE9wdGlvbnNNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdPcHRpb25Hcm91cE9wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdPcHRpb25Hcm91cE9wdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ09wdGlvbkdyb3VwT3B0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5naW5lTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYWpvckVuZ2luZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWluaW11bVJlcXVpcmVkTWlub3JFbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvcnRSZXF1aXJlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVmYXVsdFBvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbnNEZXBlbmRlZE9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ09wdGlvbk5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPcHRpb25OYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZXJzaXN0ZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZXJtYW5lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbkdyb3VwT3B0aW9uU2V0dGluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnT3B0aW9uR3JvdXBPcHRpb25TZXR0aW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnT3B0aW9uR3JvdXBPcHRpb25TZXR0aW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NldHRpbmdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NldHRpbmdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWZhdWx0VmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXBwbHlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93ZWRWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXNNb2RpZmlhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdPcHRpb25Hcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ09wdGlvbkdyb3Vwc0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdPcHRpb25Hcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ09wdGlvbkdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbkdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25Hcm91cERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZ2luZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWFqb3JFbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnT3B0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnT3B0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09wdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3B0aW9uRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVyc2lzdGVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGVybWFuZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcHRpb25TZXR0aW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdPcHRpb25TZXR0aW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnT3B0aW9uU2V0dGluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlZmF1bHRWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcHBseVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0YVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJc01vZGlmaWFibGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lzQ29sbGVjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJTZWN1cml0eUdyb3VwTWVtYmVyc2hpcHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnREJTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnREJTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCU2VjdXJpdHlHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY1NlY3VyaXR5R3JvdXBNZW1iZXJzaGlwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWcGNTZWN1cml0eUdyb3VwTWVtYmVyc2hpcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZwY1NlY3VyaXR5R3JvdXBNZW1iZXJzaGlwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY1NlY3VyaXR5R3JvdXBJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dzVnBjQW5kTm9uVnBjSW5zdGFuY2VNZW1iZXJzaGlwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnT3JkZXJhYmxlREJJbnN0YW5jZU9wdGlvbnNNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ09yZGVyYWJsZURCSW5zdGFuY2VPcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZ2luZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMaWNlbnNlTW9kZWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXZhaWxhYmlsaXR5Wm9uZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F2YWlsYWJpbGl0eVpvbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm92aXNpb25lZElvcHNDYXBhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aUFaQ2FwYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVhZFJlcGxpY2FDYXBhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWcGMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1Jlc2VydmVkREJJbnN0YW5jZU1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkREJJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZXNlcnZlZERCSW5zdGFuY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZXNlcnZlZERCSW5zdGFuY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzZXJ2ZWREQkluc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJJbnN0YW5jZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRml4ZWRQcmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNhZ2VQcmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VycmVuY3lDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZHVjdERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09mZmVyaW5nVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aUFaJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWN1cnJpbmdDaGFyZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1JlY3VycmluZ0NoYXJnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1JlY3VycmluZ0NoYXJnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWN1cnJpbmdDaGFyZ2VBbW91bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlY3VycmluZ0NoYXJnZUZyZXF1ZW5jeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RCSW5zdGFuY2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRml4ZWRQcmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNhZ2VQcmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VycmVuY3lDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb2R1Y3REZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPZmZlcmluZ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTXVsdGlBWicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVjdXJyaW5nQ2hhcmdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZWN1cnJpbmdDaGFyZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZWN1cnJpbmdDaGFyZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVjdXJyaW5nQ2hhcmdlQW1vdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWN1cnJpbmdDaGFyZ2VGcmVxdWVuY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uRGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTG9nRmlsZURhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBZGRpdGlvbmFsRGF0YVBlbmRpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVGFnTGlzdE1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1RhZ0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RCUGFyYW1ldGVyR3JvdXBOYW1lTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnREJQYXJhbWV0ZXJHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXNlcnZlZERCSW5zdGFuY2VXcmFwcGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSZXNlcnZlZERCSW5zdGFuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3dyYXBwZXInID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdSZXNlcnZlZERCSW5zdGFuY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdEQkluc3RhbmNlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhcnRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0R1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdGaXhlZFByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdVc2FnZVByaWNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDdXJyZW5jeUNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnREJJbnN0YW5jZUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcm9kdWN0RGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnT2ZmZXJpbmdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ011bHRpQVonID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1JlY3VycmluZ0NoYXJnZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUmVjdXJyaW5nQ2hhcmdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1JlY3VycmluZ0NoYXJnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVjdXJyaW5nQ2hhcmdlQW1vdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWN1cnJpbmdDaGFyZ2VGcmVxdWVuY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ2l0ZXJhdG9ycycgPT4gYXJyYXkoCiAgICAgICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnRGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnREJFbmdpbmVWZXJzaW9ucycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZURCSW5zdGFuY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnREJJbnN0YW5jZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVEQkxvZ0ZpbGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnRGVzY3JpYmVEQkxvZ0ZpbGVzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlREJQYXJhbWV0ZXJHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heFJlY29yZHMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdEQlBhcmFtZXRlckdyb3VwcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZURCUGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1BhcmFtZXRlcnMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnREJTZWN1cml0eUdyb3VwcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZURCU25hcHNob3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnREJTbmFwc2hvdHMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVEQlN1Ym5ldEdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0RCU3VibmV0R3JvdXBzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnRXZlbnRTdWJzY3JpcHRpb25zTGlzdCcsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUV2ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0V2ZW50cycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZU9wdGlvbkdyb3VwT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ09wdGlvbkdyb3VwT3B0aW9ucycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZU9wdGlvbkdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ09wdGlvbkdyb3Vwc0xpc3QnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ09yZGVyYWJsZURCSW5zdGFuY2VPcHRpb25zJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1Jlc2VydmVkREJJbnN0YW5jZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5ncycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEb3dubG9hZERCTG9nRmlsZVBvcnRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdFRhZ3NGb3JSZXNvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1RhZ0xpc3QnLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ3dhaXRlcnMnID0+IGFycmF5KAogICAgICAgICdfX2RlZmF1bHRfXycgPT4gYXJyYXkoCiAgICAgICAgICAgICdpbnRlcnZhbCcgPT4gMzAsCiAgICAgICAgICAgICdtYXhfYXR0ZW1wdHMnID0+IDYwLAogICAgICAgICksCiAgICAgICAgJ19fREJJbnN0YW5jZVN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbicgPT4gJ0Rlc2NyaWJlREJJbnN0YW5jZXMnLAogICAgICAgICAgICAnYWNjZXB0b3IucGF0aCcgPT4gJ0RCSW5zdGFuY2VzLyovREJJbnN0YW5jZVN0YXR1cycsCiAgICAgICAgICAgICdhY2NlcHRvci50eXBlJyA9PiAnb3V0cHV0JywKICAgICAgICApLAogICAgICAgICdEQkluc3RhbmNlQXZhaWxhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdfX0RCSW5zdGFuY2VTdGF0ZScsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnYXZhaWxhYmxlJywKICAgICAgICAgICAgJ2ZhaWx1cmUudmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2RlbGV0ZWQnLAogICAgICAgICAgICAgICAgJ2RlbGV0aW5nJywKICAgICAgICAgICAgICAgICdmYWlsZWQnLAogICAgICAgICAgICAgICAgJ2luY29tcGF0aWJsZS1yZXN0b3JlJywKICAgICAgICAgICAgICAgICdpbmNvbXBhdGlibGUtcGFyYW1ldGVycycsCiAgICAgICAgICAgICAgICAnaW5jb21wYXRpYmxlLXBhcmFtZXRlcnMnLAogICAgICAgICAgICAgICAgJ2luY29tcGF0aWJsZS1yZXN0b3JlJywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEQkluc3RhbmNlRGVsZXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnX19EQkluc3RhbmNlU3RhdGUnLAogICAgICAgICAgICAnc3VjY2Vzcy52YWx1ZScgPT4gJ2RlbGV0ZWQnLAogICAgICAgICAgICAnZmFpbHVyZS52YWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnY3JlYXRpbmcnLAogICAgICAgICAgICAgICAgJ21vZGlmeWluZycsCiAgICAgICAgICAgICAgICAncmVib290aW5nJywKICAgICAgICAgICAgICAgICdyZXNldHRpbmctbWFzdGVyLWNyZWRlbnRpYWxzJywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Enum/SourceType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBTb3VyY2VUeXBlIHZhbHVlcwogKi8KY2xhc3MgU291cmNlVHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgQ0xVU1RFUiA9ICdjbHVzdGVyJzsKICAgIGNvbnN0IENMVVNURVJfUEFSQU1FVEVSX0dST1VQID0gJ2NsdXN0ZXItcGFyYW1ldGVyLWdyb3VwJzsKICAgIGNvbnN0IENMVVNURVJfU0VDVVJJVFlfR1JPVVAgPSAnY2x1c3Rlci1zZWN1cml0eS1ncm91cCc7CiAgICBjb25zdCBDTFVTVEVSX1NOQVBTSE9UID0gJ2NsdXN0ZXItc25hcHNob3QnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/AccessToSnapshotDeniedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBvd25lciBvZiB0aGUgc3BlY2lmaWVkIHNuYXBzaG90IGhhcyBub3QgYXV0aG9yaXplZCB5b3VyIGFjY291bnQgdG8gYWNjZXNzIHRoZSBzbmFwc2hvdC4KICovCmNsYXNzIEFjY2Vzc1RvU25hcHNob3REZW5pZWRFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/AuthorizationAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgQ0lEUiBibG9jayBvciBFQzIgc2VjdXJpdHkgZ3JvdXAgaXMgYWxyZWFkeSBhdXRob3JpemVkIGZvciB0aGUgc3BlY2lmaWVkIGNsdXN0ZXIgc2VjdXJpdHkgZ3JvdXAuCiAqLwpjbGFzcyBBdXRob3JpemF0aW9uQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/AuthorizationNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgQ0lEUiBJUCByYW5nZSBvciBFQzIgc2VjdXJpdHkgZ3JvdXAgaXMgbm90IGF1dGhvcml6ZWQgZm9yIHRoZSBzcGVjaWZpZWQgY2x1c3RlciBzZWN1cml0eSBncm91cC4KICovCmNsYXNzIEF1dGhvcml6YXRpb25Ob3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/AuthorizationQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBhdXRob3JpemF0aW9uIHF1b3RhIGZvciB0aGUgY2x1c3RlciBzZWN1cml0eSBncm91cCBoYXMgYmVlbiByZWFjaGVkLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaW5jcmVhc2luZyB5b3VyIHF1b3RhLCBnbyB0byBMaW1pdHMgaW4gQW1hem9uIFJlZHNoaWZ0IGluIHRoZSBBbWF6b24gUmVkc2hpZnQgTWFuYWdlbWVudCBHdWlkZS4KICovCmNsYXNzIEF1dGhvcml6YXRpb25RdW90YUV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/BucketNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIENvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgUzMgYnVja2V0LgogKi8KY2xhc3MgQnVja2V0Tm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBhY2NvdW50IGFscmVhZHkgaGFzIGEgY2x1c3RlciB3aXRoIHRoZSBnaXZlbiBpZGVudGlmaWVyLgogKi8KY2xhc3MgQ2x1c3RlckFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBDbHVzdGVySWRlbnRpZmllciBwYXJhbWV0ZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2x1c3Rlci4KICovCmNsYXNzIENsdXN0ZXJOb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterParameterGroupAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIEEgY2x1c3RlciBwYXJhbWV0ZXIgZ3JvdXAgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzLgogKi8KY2xhc3MgQ2x1c3RlclBhcmFtZXRlckdyb3VwQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterParameterGroupNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBwYXJhbWV0ZXIgZ3JvdXAgbmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBwYXJhbWV0ZXIgZ3JvdXAuCiAqLwpjbGFzcyBDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterParameterGroupQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB0aGUgdXNlciBleGNlZWRpbmcgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGNsdXN0ZXIgcGFyYW1ldGVyIGdyb3Vwcy4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGluY3JlYXNpbmcgeW91ciBxdW90YSwgZ28gdG8gTGltaXRzIGluIEFtYXpvbiBSZWRzaGlmdCBpbiB0aGUgQW1hem9uIFJlZHNoaWZ0IE1hbmFnZW1lbnQgR3VpZGUuCiAqLwpjbGFzcyBDbHVzdGVyUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IHdvdWxkIGV4Y2VlZCB0aGUgYWxsb3dlZCBudW1iZXIgb2YgY2x1c3RlciBpbnN0YW5jZXMgZm9yIHRoaXMgYWNjb3VudC4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGluY3JlYXNpbmcgeW91ciBxdW90YSwgZ28gdG8gTGltaXRzIGluIEFtYXpvbiBSZWRzaGlmdCBpbiB0aGUgQW1hem9uIFJlZHNoaWZ0IE1hbmFnZW1lbnQgR3VpZGUuCiAqLwpjbGFzcyBDbHVzdGVyUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterSecurityGroupAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIEEgY2x1c3RlciBzZWN1cml0eSBncm91cCB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHMuCiAqLwpjbGFzcyBDbHVzdGVyU2VjdXJpdHlHcm91cEFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterSecurityGroupNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBjbHVzdGVyIHNlY3VyaXR5IGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2x1c3RlciBzZWN1cml0eSBncm91cC4KICovCmNsYXNzIENsdXN0ZXJTZWN1cml0eUdyb3VwTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterSecurityGroupQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB0aGUgdXNlciBleGNlZWRpbmcgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGNsdXN0ZXIgc2VjdXJpdHkgZ3JvdXBzLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaW5jcmVhc2luZyB5b3VyIHF1b3RhLCBnbyB0byBMaW1pdHMgaW4gQW1hem9uIFJlZHNoaWZ0IGluIHRoZSBBbWF6b24gUmVkc2hpZnQgTWFuYWdlbWVudCBHdWlkZS4KICovCmNsYXNzIENsdXN0ZXJTZWN1cml0eUdyb3VwUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterSnapshotAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSB2YWx1ZSBzcGVjaWZpZWQgYXMgYSBzbmFwc2hvdCBpZGVudGlmaWVyIGlzIGFscmVhZHkgdXNlZCBieSBhbiBleGlzdGluZyBzbmFwc2hvdC4KICovCmNsYXNzIENsdXN0ZXJTbmFwc2hvdEFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterSnapshotNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzbmFwc2hvdCBpZGVudGlmaWVyIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNsdXN0ZXIgc25hcHNob3QuCiAqLwpjbGFzcyBDbHVzdGVyU25hcHNob3ROb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterSnapshotQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB0aGUgdXNlciBleGNlZWRpbmcgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGNsdXN0ZXIgc25hcHNob3RzLgogKi8KY2xhc3MgQ2x1c3RlclNuYXBzaG90UXVvdGFFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterSubnetGroupAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIEEgQ2x1c3RlclN1Ym5ldEdyb3VwTmFtZSBpcyBhbHJlYWR5IHVzZWQgYnkgYW4gZXhpc3RpbmcgY2x1c3RlciBzdWJuZXQgZ3JvdXAuCiAqLwpjbGFzcyBDbHVzdGVyU3VibmV0R3JvdXBBbHJlYWR5RXhpc3RzRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterSubnetGroupNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBjbHVzdGVyIHN1Ym5ldCBncm91cCBuYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNsdXN0ZXIgc3VibmV0IGdyb3VwLgogKi8KY2xhc3MgQ2x1c3RlclN1Ym5ldEdyb3VwTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterSubnetGroupQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2YgY2x1c3RlciBzdWJuZXQgZ3JvdXBzLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaW5jcmVhc2luZyB5b3VyIHF1b3RhLCBnbyB0byBMaW1pdHMgaW4gQW1hem9uIFJlZHNoaWZ0IGluIHRoZSBBbWF6b24gUmVkc2hpZnQgTWFuYWdlbWVudCBHdWlkZS4KICovCmNsYXNzIENsdXN0ZXJTdWJuZXRHcm91cFF1b3RhRXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ClusterSubnetQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2Ygc3VibmV0cyBpbiBhIGNsdXN0ZXIgc3VibmV0IGdyb3Vwcy4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGluY3JlYXNpbmcgeW91ciBxdW90YSwgZ28gdG8gTGltaXRzIGluIEFtYXpvbiBSZWRzaGlmdCBpbiB0aGUgQW1hem9uIFJlZHNoaWZ0IE1hbmFnZW1lbnQgR3VpZGUuCiAqLwpjbGFzcyBDbHVzdGVyU3VibmV0UXVvdGFFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/CopyToRegionDisabledException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIENyb3NzLXJlZ2lvbiBzbmFwc2hvdCBjb3B5IHdhcyB0ZW1wb3JhcmlseSBkaXNhYmxlZC4gVHJ5IHlvdXIgcmVxdWVzdCBhZ2Fpbi4KICovCmNsYXNzIENvcHlUb1JlZ2lvbkRpc2FibGVkRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/EventSubscriptionQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IHdvdWxkIGV4Y2VlZCB0aGUgYWxsb3dlZCBudW1iZXIgb2YgZXZlbnQgc3Vic2NyaXB0aW9ucyBmb3IgdGhpcyBhY2NvdW50LiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaW5jcmVhc2luZyB5b3VyIHF1b3RhLCBnbyB0byBMaW1pdHMgaW4gQW1hem9uIFJlZHNoaWZ0IGluIHRoZSBBbWF6b24gUmVkc2hpZnQgTWFuYWdlbWVudCBHdWlkZS4KICovCmNsYXNzIEV2ZW50U3Vic2NyaXB0aW9uUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/HsmClientCertificateAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZXJlIGlzIGFscmVhZHkgYW4gZXhpc3RpbmcgQW1hem9uIFJlZHNoaWZ0IEhTTSBjbGllbnQgY2VydGlmaWNhdGUgd2l0aCB0aGUgc3BlY2lmaWVkIGlkZW50aWZpZXIuCiAqLwpjbGFzcyBIc21DbGllbnRDZXJ0aWZpY2F0ZUFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/HsmClientCertificateNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZXJlIGlzIG5vIEFtYXpvbiBSZWRzaGlmdCBIU00gY2xpZW50IGNlcnRpZmljYXRlIHdpdGggdGhlIHNwZWNpZmllZCBpZGVudGlmaWVyLgogKi8KY2xhc3MgSHNtQ2xpZW50Q2VydGlmaWNhdGVOb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/HsmClientCertificateQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBxdW90YSBmb3IgSFNNIGNsaWVudCBjZXJ0aWZpY2F0ZXMgaGFzIGJlZW4gcmVhY2hlZC4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGluY3JlYXNpbmcgeW91ciBxdW90YSwgZ28gdG8gTGltaXRzIGluIEFtYXpvbiBSZWRzaGlmdCBpbiB0aGUgQW1hem9uIFJlZHNoaWZ0IE1hbmFnZW1lbnQgR3VpZGUuCiAqLwpjbGFzcyBIc21DbGllbnRDZXJ0aWZpY2F0ZVF1b3RhRXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/HsmConfigurationAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZXJlIGlzIGFscmVhZHkgYW4gZXhpc3RpbmcgQW1hem9uIFJlZHNoaWZ0IEhTTSBjb25maWd1cmF0aW9uIHdpdGggdGhlIHNwZWNpZmllZCBpZGVudGlmaWVyLgogKi8KY2xhc3MgSHNtQ29uZmlndXJhdGlvbkFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/HsmConfigurationNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZXJlIGlzIG5vIEFtYXpvbiBSZWRzaGlmdCBIU00gY29uZmlndXJhdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgaWRlbnRpZmllci4KICovCmNsYXNzIEhzbUNvbmZpZ3VyYXRpb25Ob3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/HsmConfigurationQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBxdW90YSBmb3IgSFNNIGNvbmZpZ3VyYXRpb25zIGhhcyBiZWVuIHJlYWNoZWQuIEZvciBpbmZvcm1hdGlvbiBhYm91dCBpbmNyZWFzaW5nIHlvdXIgcXVvdGEsIGdvIHRvIExpbWl0cyBpbiBBbWF6b24gUmVkc2hpZnQgaW4gdGhlIEFtYXpvbiBSZWRzaGlmdCBNYW5hZ2VtZW50IEd1aWRlLgogKi8KY2xhc3MgSHNtQ29uZmlndXJhdGlvblF1b3RhRXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/IncompatibleOrderableOptionsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLgogKi8KY2xhc3MgSW5jb21wYXRpYmxlT3JkZXJhYmxlT3B0aW9uc0V4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InsufficientClusterCapacityException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBudW1iZXIgb2Ygbm9kZXMgc3BlY2lmaWVkIGV4Y2VlZHMgdGhlIGFsbG90dGVkIGNhcGFjaXR5IG9mIHRoZSBjbHVzdGVyLgogKi8KY2xhc3MgSW5zdWZmaWNpZW50Q2x1c3RlckNhcGFjaXR5RXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InsufficientS3BucketPolicyFaultException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBjbHVzdGVyIGRvZXMgbm90IGhhdmUgcmVhZCBidWNrZXQgb3IgcHV0IG9iamVjdCBwZXJtaXNzaW9ucyBvbiB0aGUgUzMgYnVja2V0IHNwZWNpZmllZCB3aGVuIGVuYWJsaW5nIGxvZ2dpbmcuCiAqLwpjbGFzcyBJbnN1ZmZpY2llbnRTM0J1Y2tldFBvbGljeUZhdWx0RXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InvalidClusterParameterGroupStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBjbHVzdGVyIHBhcmFtZXRlciBncm91cCBhY3Rpb24gY2FuIG5vdCBiZSBjb21wbGV0ZWQgYmVjYXVzZSBhbm90aGVyIHRhc2sgaXMgaW4gcHJvZ3Jlc3MgdGhhdCBpbnZvbHZlcyB0aGUgcGFyYW1ldGVyIGdyb3VwLiBXYWl0IGEgZmV3IG1vbWVudHMgYW5kIHRyeSB0aGUgb3BlcmF0aW9uIGFnYWluLgogKi8KY2xhc3MgSW52YWxpZENsdXN0ZXJQYXJhbWV0ZXJHcm91cFN0YXRlRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InvalidClusterSecurityGroupStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzdGF0ZSBvZiB0aGUgY2x1c3RlciBzZWN1cml0eSBncm91cCBpcyBub3QgImF2YWlsYWJsZSIuCiAqLwpjbGFzcyBJbnZhbGlkQ2x1c3RlclNlY3VyaXR5R3JvdXBTdGF0ZUV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InvalidClusterSnapshotStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzdGF0ZSBvZiB0aGUgY2x1c3RlciBzbmFwc2hvdCBpcyBub3QgImF2YWlsYWJsZSIsIG9yIG90aGVyIGFjY291bnRzIGFyZSBhdXRob3JpemVkIHRvIGFjY2VzcyB0aGUgc25hcHNob3QuCiAqLwpjbGFzcyBJbnZhbGlkQ2x1c3RlclNuYXBzaG90U3RhdGVFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InvalidClusterStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgY2x1c3RlciBpcyBub3QgaW4gdGhlIGF2YWlsYWJsZSBzdGF0ZS4KICovCmNsYXNzIEludmFsaWRDbHVzdGVyU3RhdGVFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InvalidClusterSubnetGroupStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBjbHVzdGVyIHN1Ym5ldCBncm91cCBjYW5ub3QgYmUgZGVsZXRlZCBiZWNhdXNlIGl0IGlzIGluIHVzZS4KICovCmNsYXNzIEludmFsaWRDbHVzdGVyU3VibmV0R3JvdXBTdGF0ZUV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InvalidClusterSubnetStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzdGF0ZSBvZiB0aGUgc3VibmV0IGlzIGludmFsaWQuCiAqLwpjbGFzcyBJbnZhbGlkQ2x1c3RlclN1Ym5ldFN0YXRlRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InvalidElasticIpException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBFbGFzdGljIElQIChFSVApIGlzIGludmFsaWQgb3IgY2Fubm90IGJlIGZvdW5kLgogKi8KY2xhc3MgSW52YWxpZEVsYXN0aWNJcEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InvalidHsmClientCertificateStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgSFNNIGNsaWVudCBjZXJ0aWZpY2F0ZSBpcyBub3QgaW4gdGhlIGF2YWlsYWJsZSBzdGF0ZSwgb3IgaXQgaXMgc3RpbGwgaW4gdXNlIGJ5IG9uZSBvciBtb3JlIEFtYXpvbiBSZWRzaGlmdCBjbHVzdGVycy4KICovCmNsYXNzIEludmFsaWRIc21DbGllbnRDZXJ0aWZpY2F0ZVN0YXRlRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InvalidHsmConfigurationStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgSFNNIGNvbmZpZ3VyYXRpb24gaXMgbm90IGluIHRoZSBhdmFpbGFibGUgc3RhdGUsIG9yIGl0IGlzIHN0aWxsIGluIHVzZSBieSBvbmUgb3IgbW9yZSBBbWF6b24gUmVkc2hpZnQgY2x1c3RlcnMuCiAqLwpjbGFzcyBJbnZhbGlkSHNtQ29uZmlndXJhdGlvblN0YXRlRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InvalidRestoreException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXN0b3JlIGlzIGludmFsaWQuCiAqLwpjbGFzcyBJbnZhbGlkUmVzdG9yZUV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InvalidS3BucketNameFaultException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBTMyBidWNrZXQgbmFtZSBpcyBpbnZhbGlkLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBuYW1pbmcgcnVsZXMsIGdvIHRvIEJ1Y2tldCBSZXN0cmljdGlvbnMgYW5kIExpbWl0YXRpb25zIGluIHRoZSBBbWF6b24gU2ltcGxlIFN0b3JhZ2UgU2VydmljZSAoUzMpIERldmVsb3BlciBHdWlkZS4KICovCmNsYXNzIEludmFsaWRTM0J1Y2tldE5hbWVGYXVsdEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InvalidS3KeyPrefixFaultException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzdHJpbmcgc3BlY2lmaWVkIGZvciB0aGUgbG9nZ2luZyBTMyBrZXkgcHJlZml4IGRvZXMgbm90IGNvbXBseSB3aXRoIHRoZSBkb2N1bWVudGVkIGNvbnN0cmFpbnRzLgogKi8KY2xhc3MgSW52YWxpZFMzS2V5UHJlZml4RmF1bHRFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InvalidSubnetException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgc3VibmV0IGlzIG5vdCB2YWxpZCwgb3Igbm90IGFsbCBvZiB0aGUgc3VibmV0cyBhcmUgaW4gdGhlIHNhbWUgVlBDLgogKi8KY2xhc3MgSW52YWxpZFN1Ym5ldEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/InvalidVPCNetworkStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBjbHVzdGVyIHN1Ym5ldCBncm91cCBkb2VzIG5vdCBjb3ZlciBhbGwgQXZhaWxhYmlsaXR5IFpvbmVzLgogKi8KY2xhc3MgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/NumberOfNodesPerClusterLimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBvcGVyYXRpb24gd291bGQgZXhjZWVkIHRoZSBudW1iZXIgb2Ygbm9kZXMgYWxsb3dlZCBmb3IgYSBjbHVzdGVyLgogKi8KY2xhc3MgTnVtYmVyT2ZOb2Rlc1BlckNsdXN0ZXJMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/NumberOfNodesQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBvcGVyYXRpb24gd291bGQgZXhjZWVkIHRoZSBudW1iZXIgb2Ygbm9kZXMgYWxsb3R0ZWQgdG8gdGhlIGFjY291bnQuIEZvciBpbmZvcm1hdGlvbiBhYm91dCBpbmNyZWFzaW5nIHlvdXIgcXVvdGEsIGdvIHRvIExpbWl0cyBpbiBBbWF6b24gUmVkc2hpZnQgaW4gdGhlIEFtYXpvbiBSZWRzaGlmdCBNYW5hZ2VtZW50IEd1aWRlLgogKi8KY2xhc3MgTnVtYmVyT2ZOb2Rlc1F1b3RhRXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/RedshiftException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbjsKCi8qKgogKiBEZWZhdWx0IHNlcnZpY2UgZXhjZXB0aW9uIGNsYXNzCiAqLwpjbGFzcyBSZWRzaGlmdEV4Y2VwdGlvbiBleHRlbmRzIFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ReservedNodeAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFVzZXIgYWxyZWFkeSBoYXMgYSByZXNlcnZhdGlvbiB3aXRoIHRoZSBnaXZlbiBpZGVudGlmaWVyLgogKi8KY2xhc3MgUmVzZXJ2ZWROb2RlQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ReservedNodeNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgcmVzZXJ2ZWQgY29tcHV0ZSBub2RlIG5vdCBmb3VuZC4KICovCmNsYXNzIFJlc2VydmVkTm9kZU5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ReservedNodeOfferingNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFNwZWNpZmllZCBvZmZlcmluZyBkb2VzIG5vdCBleGlzdC4KICovCmNsYXNzIFJlc2VydmVkTm9kZU9mZmVyaW5nTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ReservedNodeQuotaExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFJlcXVlc3Qgd291bGQgZXhjZWVkIHRoZSB1c2VyJ3MgY29tcHV0ZSBub2RlIHF1b3RhLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaW5jcmVhc2luZyB5b3VyIHF1b3RhLCBnbyB0byBMaW1pdHMgaW4gQW1hem9uIFJlZHNoaWZ0IGluIHRoZSBBbWF6b24gUmVkc2hpZnQgTWFuYWdlbWVudCBHdWlkZS4KICovCmNsYXNzIFJlc2VydmVkTm9kZVF1b3RhRXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/ResizeNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIEEgcmVzaXplIG9wZXJhdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBjbHVzdGVyIGlzIG5vdCBmb3VuZC4KICovCmNsYXNzIFJlc2l6ZU5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/SnapshotCopyAlreadyDisabledException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBjbHVzdGVyIGFscmVhZHkgaGFzIGNyb3NzLXJlZ2lvbiBzbmFwc2hvdCBjb3B5IGRpc2FibGVkLgogKi8KY2xhc3MgU25hcHNob3RDb3B5QWxyZWFkeURpc2FibGVkRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/SnapshotCopyAlreadyEnabledException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBjbHVzdGVyIGFscmVhZHkgaGFzIGNyb3NzLXJlZ2lvbiBzbmFwc2hvdCBjb3B5IGVuYWJsZWQuCiAqLwpjbGFzcyBTbmFwc2hvdENvcHlBbHJlYWR5RW5hYmxlZEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/SnapshotCopyDisabledException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIENyb3NzLXJlZ2lvbiBzbmFwc2hvdCBjb3B5IHdhcyB0ZW1wb3JhcmlseSBkaXNhYmxlZC4gVHJ5IHlvdXIgcmVxdWVzdCBhZ2Fpbi4KICovCmNsYXNzIFNuYXBzaG90Q29weURpc2FibGVkRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/SNSInvalidTopicException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIEFtYXpvbiBTTlMgaGFzIHJlc3BvbmRlZCB0aGF0IHRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoZSBzcGVjaWZpZWQgQW1hem9uIFNOUyB0b3BpYy4KICovCmNsYXNzIFNOU0ludmFsaWRUb3BpY0V4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/SNSNoAuthorizationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHB1Ymxpc2ggdG8gdGhlIHNwZWNpZmllZCBBbWF6b24gU05TIHRvcGljLgogKi8KY2xhc3MgU05TTm9BdXRob3JpemF0aW9uRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/SNSTopicArnNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIEFuIEFtYXpvbiBTTlMgdG9waWMgd2l0aCB0aGUgc3BlY2lmaWVkIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIGRvZXMgbm90IGV4aXN0LgogKi8KY2xhc3MgU05TVG9waWNBcm5Ob3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/SourceNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgQW1hem9uIFJlZHNoaWZ0IGV2ZW50IHNvdXJjZSBjb3VsZCBub3QgYmUgZm91bmQuCiAqLwpjbGFzcyBTb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/SubnetAlreadyInUseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIEEgc3BlY2lmaWVkIHN1Ym5ldCBpcyBhbHJlYWR5IGluIHVzZSBieSBhbm90aGVyIGNsdXN0ZXIuCiAqLwpjbGFzcyBTdWJuZXRBbHJlYWR5SW5Vc2VFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/SubscriptionAlreadyExistException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZXJlIGlzIGFscmVhZHkgYW4gZXhpc3RpbmcgZXZlbnQgbm90aWZpY2F0aW9uIHN1YnNjcmlwdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZS4KICovCmNsYXNzIFN1YnNjcmlwdGlvbkFscmVhZHlFeGlzdEV4Y2VwdGlvbiBleHRlbmRzIFJlZHNoaWZ0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/SubscriptionCategoryNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBldmVudCBjYXRlZ29yeSB3YXMgbm90IG9uZSBvZiB0aGUgYWxsb3dlZCB2YWx1ZXMsIG9yIGl0IHNwZWNpZmllZCBhIGNhdGVnb3J5IHRoYXQgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBzb3VyY2UgdHlwZS4gVGhlIGFsbG93ZWQgdmFsdWVzIGFyZSBDb25maWd1cmF0aW9uLCBNYW5hZ2VtZW50LCBNb25pdG9yaW5nLCBhbmQgU2VjdXJpdHkuCiAqLwpjbGFzcyBTdWJzY3JpcHRpb25DYXRlZ29yeU5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/SubscriptionEventIdNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIEFuIEFtYXpvbiBSZWRzaGlmdCBldmVudCB3aXRoIHRoZSBzcGVjaWZpZWQgZXZlbnQgSUQgZG9lcyBub3QgZXhpc3QuCiAqLwpjbGFzcyBTdWJzY3JpcHRpb25FdmVudElkTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/SubscriptionNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIEFuIEFtYXpvbiBSZWRzaGlmdCBldmVudCBub3RpZmljYXRpb24gc3Vic2NyaXB0aW9uIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGRvZXMgbm90IGV4aXN0LgogKi8KY2xhc3MgU3Vic2NyaXB0aW9uTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/SubscriptionSeverityNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBldmVudCBzZXZlcml0eSB3YXMgbm90IG9uZSBvZiB0aGUgYWxsb3dlZCB2YWx1ZXMsIG9yIGl0IHNwZWNpZmllZCBhIHNldmVyaXR5IHRoYXQgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBzb3VyY2UgdHlwZS4gVGhlIGFsbG93ZWQgdmFsdWVzIGFyZSBFUlJPUiBhbmQgSU5GTy4KICovCmNsYXNzIFN1YnNjcmlwdGlvblNldmVyaXR5Tm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/UnauthorizedOperationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdXIgYWNjb3VudCBpcyBub3QgYXV0aG9yaXplZCB0byBwZXJmb3JtIHRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uLgogKi8KY2xhc3MgVW5hdXRob3JpemVkT3BlcmF0aW9uRXhjZXB0aW9uIGV4dGVuZHMgUmVkc2hpZnRFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/UnknownSnapshotCopyRegionException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgcmVnaW9uIGlzIGluY29ycmVjdCBvciBkb2VzIG5vdCBleGlzdC4KICovCmNsYXNzIFVua25vd25TbmFwc2hvdENvcHlSZWdpb25FeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Exception/UnsupportedOptionException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnRcRXhjZXB0aW9uOwoKLyoqCiAqIEFuIHJlcXVlc3Qgb3B0aW9uIHdhcyBzcGVjaWZpZWQgdGhhdCBpcyBub3Qgc3VwcG9ydGVkLgogKi8KY2xhc3MgVW5zdXBwb3J0ZWRPcHRpb25FeGNlcHRpb24gZXh0ZW5kcyBSZWRzaGlmdEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/RedshiftClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUmVkc2hpZnQ7Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQ7CnVzZSBBd3NcQ29tbW9uXENsaWVudFxDbGllbnRCdWlsZGVyOwp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZTsKCi8qKgogKiBDbGllbnQgdG8gaW50ZXJhY3Qgd2l0aCBBbWF6b24gUmVkc2hpZnQKICoKICogQG1ldGhvZCBNb2RlbCBhdXRob3JpemVDbHVzdGVyU2VjdXJpdHlHcm91cEluZ3Jlc3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgQXV0aG9yaXplQ2x1c3RlclNlY3VyaXR5R3JvdXBJbmdyZXNzfQogKiBAbWV0aG9kIE1vZGVsIGF1dGhvcml6ZVNuYXBzaG90QWNjZXNzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IEF1dGhvcml6ZVNuYXBzaG90QWNjZXNzfQogKiBAbWV0aG9kIE1vZGVsIGNvcHlDbHVzdGVyU25hcHNob3QoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgQ29weUNsdXN0ZXJTbmFwc2hvdH0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVDbHVzdGVyKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IENyZWF0ZUNsdXN0ZXJ9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlQ2x1c3RlclBhcmFtZXRlckdyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IENyZWF0ZUNsdXN0ZXJQYXJhbWV0ZXJHcm91cH0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVDbHVzdGVyU2VjdXJpdHlHcm91cChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBDcmVhdGVDbHVzdGVyU2VjdXJpdHlHcm91cH0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVDbHVzdGVyU25hcHNob3QoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgQ3JlYXRlQ2x1c3RlclNuYXBzaG90fQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZUNsdXN0ZXJTdWJuZXRHcm91cChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBDcmVhdGVDbHVzdGVyU3VibmV0R3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlRXZlbnRTdWJzY3JpcHRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgQ3JlYXRlRXZlbnRTdWJzY3JpcHRpb259CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlSHNtQ2xpZW50Q2VydGlmaWNhdGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgQ3JlYXRlSHNtQ2xpZW50Q2VydGlmaWNhdGV9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlSHNtQ29uZmlndXJhdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBDcmVhdGVIc21Db25maWd1cmF0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUNsdXN0ZXIoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgRGVsZXRlQ2x1c3Rlcn0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVDbHVzdGVyUGFyYW1ldGVyR3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgRGVsZXRlQ2x1c3RlclBhcmFtZXRlckdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUNsdXN0ZXJTZWN1cml0eUdyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IERlbGV0ZUNsdXN0ZXJTZWN1cml0eUdyb3VwfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUNsdXN0ZXJTbmFwc2hvdChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBEZWxldGVDbHVzdGVyU25hcHNob3R9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlQ2x1c3RlclN1Ym5ldEdyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IERlbGV0ZUNsdXN0ZXJTdWJuZXRHcm91cH0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVFdmVudFN1YnNjcmlwdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBEZWxldGVFdmVudFN1YnNjcmlwdGlvbn0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVIc21DbGllbnRDZXJ0aWZpY2F0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBEZWxldGVIc21DbGllbnRDZXJ0aWZpY2F0ZX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVIc21Db25maWd1cmF0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IERlbGV0ZUhzbUNvbmZpZ3VyYXRpb259CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVDbHVzdGVyUGFyYW1ldGVyR3JvdXBzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IERlc2NyaWJlQ2x1c3RlclBhcmFtZXRlckdyb3Vwc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUNsdXN0ZXJQYXJhbWV0ZXJzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IERlc2NyaWJlQ2x1c3RlclBhcmFtZXRlcnN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVDbHVzdGVyU2VjdXJpdHlHcm91cHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgRGVzY3JpYmVDbHVzdGVyU2VjdXJpdHlHcm91cHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVDbHVzdGVyU25hcHNob3RzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IERlc2NyaWJlQ2x1c3RlclNuYXBzaG90c30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUNsdXN0ZXJTdWJuZXRHcm91cHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgRGVzY3JpYmVDbHVzdGVyU3VibmV0R3JvdXBzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlQ2x1c3RlclZlcnNpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IERlc2NyaWJlQ2x1c3RlclZlcnNpb25zfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlQ2x1c3RlcnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgRGVzY3JpYmVDbHVzdGVyc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVycyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBEZXNjcmliZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVyc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUV2ZW50Q2F0ZWdvcmllcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBEZXNjcmliZUV2ZW50Q2F0ZWdvcmllc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBEZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9uc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUV2ZW50cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBEZXNjcmliZUV2ZW50c30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUhzbUNsaWVudENlcnRpZmljYXRlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBEZXNjcmliZUhzbUNsaWVudENlcnRpZmljYXRlc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUhzbUNvbmZpZ3VyYXRpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IERlc2NyaWJlSHNtQ29uZmlndXJhdGlvbnN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVMb2dnaW5nU3RhdHVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IERlc2NyaWJlTG9nZ2luZ1N0YXR1c30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZU9yZGVyYWJsZUNsdXN0ZXJPcHRpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IERlc2NyaWJlT3JkZXJhYmxlQ2x1c3Rlck9wdGlvbnN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVSZXNlcnZlZE5vZGVPZmZlcmluZ3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgRGVzY3JpYmVSZXNlcnZlZE5vZGVPZmZlcmluZ3N9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVSZXNlcnZlZE5vZGVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IERlc2NyaWJlUmVzZXJ2ZWROb2Rlc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVJlc2l6ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBEZXNjcmliZVJlc2l6ZX0KICogQG1ldGhvZCBNb2RlbCBkaXNhYmxlTG9nZ2luZyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBEaXNhYmxlTG9nZ2luZ30KICogQG1ldGhvZCBNb2RlbCBkaXNhYmxlU25hcHNob3RDb3B5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IERpc2FibGVTbmFwc2hvdENvcHl9CiAqIEBtZXRob2QgTW9kZWwgZW5hYmxlTG9nZ2luZyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBFbmFibGVMb2dnaW5nfQogKiBAbWV0aG9kIE1vZGVsIGVuYWJsZVNuYXBzaG90Q29weShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBFbmFibGVTbmFwc2hvdENvcHl9CiAqIEBtZXRob2QgTW9kZWwgbW9kaWZ5Q2x1c3RlcihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBNb2RpZnlDbHVzdGVyfQogKiBAbWV0aG9kIE1vZGVsIG1vZGlmeUNsdXN0ZXJQYXJhbWV0ZXJHcm91cChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBNb2RpZnlDbHVzdGVyUGFyYW1ldGVyR3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgbW9kaWZ5Q2x1c3RlclN1Ym5ldEdyb3VwKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IE1vZGlmeUNsdXN0ZXJTdWJuZXRHcm91cH0KICogQG1ldGhvZCBNb2RlbCBtb2RpZnlFdmVudFN1YnNjcmlwdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbn0KICogQG1ldGhvZCBNb2RlbCBtb2RpZnlTbmFwc2hvdENvcHlSZXRlbnRpb25QZXJpb2QoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgTW9kaWZ5U25hcHNob3RDb3B5UmV0ZW50aW9uUGVyaW9kfQogKiBAbWV0aG9kIE1vZGVsIHB1cmNoYXNlUmVzZXJ2ZWROb2RlT2ZmZXJpbmcoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgUHVyY2hhc2VSZXNlcnZlZE5vZGVPZmZlcmluZ30KICogQG1ldGhvZCBNb2RlbCByZWJvb3RDbHVzdGVyKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IFJlYm9vdENsdXN0ZXJ9CiAqIEBtZXRob2QgTW9kZWwgcmVzZXRDbHVzdGVyUGFyYW1ldGVyR3JvdXAoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgUmVzZXRDbHVzdGVyUGFyYW1ldGVyR3JvdXB9CiAqIEBtZXRob2QgTW9kZWwgcmVzdG9yZUZyb21DbHVzdGVyU25hcHNob3QoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUmVkc2hpZnQgUmVzdG9yZUZyb21DbHVzdGVyU25hcHNob3R9CiAqIEBtZXRob2QgTW9kZWwgcmV2b2tlQ2x1c3RlclNlY3VyaXR5R3JvdXBJbmdyZXNzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IFJldm9rZUNsdXN0ZXJTZWN1cml0eUdyb3VwSW5ncmVzc30KICogQG1ldGhvZCBNb2RlbCByZXZva2VTbmFwc2hvdEFjY2VzcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSZWRzaGlmdCBSZXZva2VTbmFwc2hvdEFjY2Vzc30KICogQG1ldGhvZCBNb2RlbCByb3RhdGVFbmNyeXB0aW9uS2V5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJlZHNoaWZ0IFJvdGF0ZUVuY3J5cHRpb25LZXl9CiAqIEBtZXRob2Qgd2FpdFVudGlsQ2x1c3RlckF2YWlsYWJsZShhcnJheSAkaW5wdXQpIFdhaXQgdXNpbmcgdGhlIENsdXN0ZXJBdmFpbGFibGUgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVDbHVzdGVycyBvcGVyYXRpb24gYW5kIHdhaXRlciBzcGVjaWZpYyBzZXR0aW5ncwogKiBAbWV0aG9kIHdhaXRVbnRpbENsdXN0ZXJEZWxldGVkKGFycmF5ICRpbnB1dCkgV2FpdCB1c2luZyB0aGUgQ2x1c3RlckRlbGV0ZWQgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVDbHVzdGVycyBvcGVyYXRpb24gYW5kIHdhaXRlciBzcGVjaWZpYyBzZXR0aW5ncwogKiBAbWV0aG9kIHdhaXRVbnRpbFNuYXBzaG90QXZhaWxhYmxlKGFycmF5ICRpbnB1dCkgV2FpdCB1c2luZyB0aGUgU25hcHNob3RBdmFpbGFibGUgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVDbHVzdGVyU25hcHNob3RzIG9wZXJhdGlvbiBhbmQgd2FpdGVyIHNwZWNpZmljIHNldHRpbmdzCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUNsdXN0ZXJQYXJhbWV0ZXJHcm91cHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUNsdXN0ZXJQYXJhbWV0ZXJHcm91cHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUNsdXN0ZXJQYXJhbWV0ZXJzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVDbHVzdGVyUGFyYW1ldGVycyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQ2x1c3RlclNlY3VyaXR5R3JvdXBzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVDbHVzdGVyU2VjdXJpdHlHcm91cHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUNsdXN0ZXJTbmFwc2hvdHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUNsdXN0ZXJTbmFwc2hvdHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUNsdXN0ZXJTdWJuZXRHcm91cHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUNsdXN0ZXJTdWJuZXRHcm91cHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUNsdXN0ZXJWZXJzaW9uc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlQ2x1c3RlclZlcnNpb25zIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVDbHVzdGVyc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlQ2x1c3RlcnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVyc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVFdmVudFN1YnNjcmlwdGlvbnNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9ucyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlRXZlbnRzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVFdmVudHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZUhzbUNsaWVudENlcnRpZmljYXRlc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlSHNtQ2xpZW50Q2VydGlmaWNhdGVzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVIc21Db25maWd1cmF0aW9uc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlSHNtQ29uZmlndXJhdGlvbnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZU9yZGVyYWJsZUNsdXN0ZXJPcHRpb25zSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVPcmRlcmFibGVDbHVzdGVyT3B0aW9ucyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlUmVzZXJ2ZWROb2RlT2ZmZXJpbmdzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVSZXNlcnZlZE5vZGVPZmZlcmluZ3Mgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVJlc2VydmVkTm9kZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVJlc2VydmVkTm9kZXMgb3BlcmF0aW9uCiAqCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9zZXJ2aWNlLXJlZHNoaWZ0Lmh0bWwgVXNlciBndWlkZQogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLlJlZHNoaWZ0LlJlZHNoaWZ0Q2xpZW50Lmh0bWwgQVBJIGRvY3MKICovCmNsYXNzIFJlZHNoaWZ0Q2xpZW50IGV4dGVuZHMgQWJzdHJhY3RDbGllbnQKewogICAgY29uc3QgTEFURVNUX0FQSV9WRVJTSU9OID0gJzIwMTItMTItMDEnOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEFtYXpvbiBSZWRzaGlmdCBjbGllbnQgdXNpbmcgYW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBvcHRpb25zLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICRjb25maWcgQ2xpZW50IGNvbmZpZ3VyYXRpb24gZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQHNlZSBcQXdzXENvbW1vblxDbGllbnRcRGVmYXVsdENsaWVudCBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBjb25maWd1cmF0aW9uIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KF9fTkFNRVNQQUNFX18pCiAgICAgICAgICAgIC0+c2V0Q29uZmlnKCRjb25maWcpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnRGVmYXVsdHMoYXJyYXkoCiAgICAgICAgICAgICAgICBPcHRpb25zOjpWRVJTSU9OICAgICAgICAgICAgID0+IHNlbGY6OkxBVEVTVF9BUElfVkVSU0lPTiwKICAgICAgICAgICAgICAgIE9wdGlvbnM6OlNFUlZJQ0VfREVTQ1JJUFRJT04gPT4gX19ESVJfXyAuICcvUmVzb3VyY2VzL3JlZHNoaWZ0LSVzLnBocCcKICAgICAgICAgICAgKSkKICAgICAgICAgICAgLT5idWlsZCgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Redshift/Resources/redshift-2012-12-01.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTItMTItMDEnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAncmVkc2hpZnQnLAogICAgJ3NlcnZpY2VGdWxsTmFtZScgPT4gJ0FtYXpvbiBSZWRzaGlmdCcsCiAgICAnc2VydmljZVR5cGUnID0+ICdxdWVyeScsCiAgICAncmVzdWx0V3JhcHBlZCcgPT4gdHJ1ZSwKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjQnLAogICAgJ25hbWVzcGFjZScgPT4gJ1JlZHNoaWZ0JywKICAgICdyZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAndXMtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3JlZHNoaWZ0LnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAncmVkc2hpZnQudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2V1LXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdyZWRzaGlmdC5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAncmVkc2hpZnQuYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAncmVkc2hpZnQuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtbm9ydGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAncmVkc2hpZnQuYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICksCiAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ0F1dGhvcml6ZUNsdXN0ZXJTZWN1cml0eUdyb3VwSW5ncmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2x1c3RlclNlY3VyaXR5R3JvdXBXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQXV0aG9yaXplQ2x1c3RlclNlY3VyaXR5R3JvdXBJbmdyZXNzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDSURSSVAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFQzJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGNsdXN0ZXIgc2VjdXJpdHkgZ3JvdXAgbmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjbHVzdGVyIHNlY3VyaXR5IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclNlY3VyaXR5R3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzdGF0ZSBvZiB0aGUgY2x1c3RlciBzZWN1cml0eSBncm91cCBpcyBub3QgImF2YWlsYWJsZSIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2x1c3RlclNlY3VyaXR5R3JvdXBTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgQ0lEUiBibG9jayBvciBFQzIgc2VjdXJpdHkgZ3JvdXAgaXMgYWxyZWFkeSBhdXRob3JpemVkIGZvciB0aGUgc3BlY2lmaWVkIGNsdXN0ZXIgc2VjdXJpdHkgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBhdXRob3JpemF0aW9uIHF1b3RhIGZvciB0aGUgY2x1c3RlciBzZWN1cml0eSBncm91cCBoYXMgYmVlbiByZWFjaGVkLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaW5jcmVhc2luZyB5b3VyIHF1b3RhLCBnbyB0byBMaW1pdHMgaW4gQW1hem9uIFJlZHNoaWZ0IGluIHRoZSBBbWF6b24gUmVkc2hpZnQgTWFuYWdlbWVudCBHdWlkZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0F1dGhvcml6YXRpb25RdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQXV0aG9yaXplU25hcHNob3RBY2Nlc3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1NuYXBzaG90V3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0F1dGhvcml6ZVNuYXBzaG90QWNjZXNzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NuYXBzaG90SWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTbmFwc2hvdENsdXN0ZXJJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWNjb3VudFdpdGhSZXN0b3JlQWNjZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzbmFwc2hvdCBpZGVudGlmaWVyIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNsdXN0ZXIgc25hcHNob3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyU25hcHNob3ROb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgQ0lEUiBibG9jayBvciBFQzIgc2VjdXJpdHkgZ3JvdXAgaXMgYWxyZWFkeSBhdXRob3JpemVkIGZvciB0aGUgc3BlY2lmaWVkIGNsdXN0ZXIgc2VjdXJpdHkgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBhdXRob3JpemF0aW9uIHF1b3RhIGZvciB0aGUgY2x1c3RlciBzZWN1cml0eSBncm91cCBoYXMgYmVlbiByZWFjaGVkLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaW5jcmVhc2luZyB5b3VyIHF1b3RhLCBnbyB0byBMaW1pdHMgaW4gQW1hem9uIFJlZHNoaWZ0IGluIHRoZSBBbWF6b24gUmVkc2hpZnQgTWFuYWdlbWVudCBHdWlkZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0F1dGhvcml6YXRpb25RdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ29weUNsdXN0ZXJTbmFwc2hvdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnU25hcHNob3RXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ29weUNsdXN0ZXJTbmFwc2hvdCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTb3VyY2VTbmFwc2hvdElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlU25hcHNob3RDbHVzdGVySWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhcmdldFNuYXBzaG90SWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgc3BlY2lmaWVkIGFzIGEgc25hcHNob3QgaWRlbnRpZmllciBpcyBhbHJlYWR5IHVzZWQgYnkgYW4gZXhpc3Rpbmcgc25hcHNob3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyU25hcHNob3RBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNuYXBzaG90IGlkZW50aWZpZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2x1c3RlciBzbmFwc2hvdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHN0YXRlIG9mIHRoZSBjbHVzdGVyIHNuYXBzaG90IGlzIG5vdCAiYXZhaWxhYmxlIiwgb3Igb3RoZXIgYWNjb3VudHMgYXJlIGF1dGhvcml6ZWQgdG8gYWNjZXNzIHRoZSBzbmFwc2hvdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDbHVzdGVyU25hcHNob3RTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB0aGUgdXNlciBleGNlZWRpbmcgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGNsdXN0ZXIgc25hcHNob3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclNuYXBzaG90UXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUNsdXN0ZXInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NsdXN0ZXJXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlQ2x1c3RlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEQk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbHVzdGVySWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbHVzdGVyVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05vZGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hc3RlclVzZXJuYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hc3RlclVzZXJQYXNzd29yZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbHVzdGVyU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NsdXN0ZXJTZWN1cml0eUdyb3Vwcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2x1c3RlclNlY3VyaXR5R3JvdXBOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZwY1NlY3VyaXR5R3JvdXBJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZwY1NlY3VyaXR5R3JvdXBJZHMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZwY1NlY3VyaXR5R3JvdXBJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbHVzdGVyU3VibmV0R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlclBhcmFtZXRlckdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9tYXRlZFNuYXBzaG90UmV0ZW50aW9uUGVyaW9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlclZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGxvd1ZlcnNpb25VcGdyYWRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTnVtYmVyT2ZOb2RlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQdWJsaWNseUFjY2Vzc2libGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmNyeXB0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIc21DbGllbnRDZXJ0aWZpY2F0ZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIc21Db25maWd1cmF0aW9uSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VsYXN0aWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBhY2NvdW50IGFscmVhZHkgaGFzIGEgY2x1c3RlciB3aXRoIHRoZSBnaXZlbiBpZGVudGlmaWVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlckFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgbnVtYmVyIG9mIG5vZGVzIHNwZWNpZmllZCBleGNlZWRzIHRoZSBhbGxvdHRlZCBjYXBhY2l0eSBvZiB0aGUgY2x1c3Rlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luc3VmZmljaWVudENsdXN0ZXJDYXBhY2l0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBwYXJhbWV0ZXIgZ3JvdXAgbmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBwYXJhbWV0ZXIgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBjbHVzdGVyIHNlY3VyaXR5IGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2x1c3RlciBzZWN1cml0eSBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NsdXN0ZXJTZWN1cml0eUdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3b3VsZCBleGNlZWQgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGNsdXN0ZXIgaW5zdGFuY2VzIGZvciB0aGlzIGFjY291bnQuIEZvciBpbmZvcm1hdGlvbiBhYm91dCBpbmNyZWFzaW5nIHlvdXIgcXVvdGEsIGdvIHRvIExpbWl0cyBpbiBBbWF6b24gUmVkc2hpZnQgaW4gdGhlIEFtYXpvbiBSZWRzaGlmdCBNYW5hZ2VtZW50IEd1aWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclF1b3RhRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgb3BlcmF0aW9uIHdvdWxkIGV4Y2VlZCB0aGUgbnVtYmVyIG9mIG5vZGVzIGFsbG90dGVkIHRvIHRoZSBhY2NvdW50LiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaW5jcmVhc2luZyB5b3VyIHF1b3RhLCBnbyB0byBMaW1pdHMgaW4gQW1hem9uIFJlZHNoaWZ0IGluIHRoZSBBbWF6b24gUmVkc2hpZnQgTWFuYWdlbWVudCBHdWlkZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ051bWJlck9mTm9kZXNRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIG9wZXJhdGlvbiB3b3VsZCBleGNlZWQgdGhlIG51bWJlciBvZiBub2RlcyBhbGxvd2VkIGZvciBhIGNsdXN0ZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOdW1iZXJPZk5vZGVzUGVyQ2x1c3RlckxpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgY2x1c3RlciBzdWJuZXQgZ3JvdXAgbmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjbHVzdGVyIHN1Ym5ldCBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NsdXN0ZXJTdWJuZXRHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGNsdXN0ZXIgc3VibmV0IGdyb3VwIGRvZXMgbm90IGNvdmVyIGFsbCBBdmFpbGFiaWxpdHkgWm9uZXMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkVlBDTmV0d29ya1N0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGNsdXN0ZXIgc3VibmV0IGdyb3VwIGNhbm5vdCBiZSBkZWxldGVkIGJlY2F1c2UgaXQgaXMgaW4gdXNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZENsdXN0ZXJTdWJuZXRHcm91cFN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCBzdWJuZXQgaXMgbm90IHZhbGlkLCBvciBub3QgYWxsIG9mIHRoZSBzdWJuZXRzIGFyZSBpbiB0aGUgc2FtZSBWUEMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkU3VibmV0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91ciBhY2NvdW50IGlzIG5vdCBhdXRob3JpemVkIHRvIHBlcmZvcm0gdGhlIHJlcXVlc3RlZCBvcGVyYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdVbmF1dGhvcml6ZWRPcGVyYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGVyZSBpcyBubyBBbWF6b24gUmVkc2hpZnQgSFNNIGNsaWVudCBjZXJ0aWZpY2F0ZSB3aXRoIHRoZSBzcGVjaWZpZWQgaWRlbnRpZmllci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0hzbUNsaWVudENlcnRpZmljYXRlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGVyZSBpcyBubyBBbWF6b24gUmVkc2hpZnQgSFNNIGNvbmZpZ3VyYXRpb24gd2l0aCB0aGUgc3BlY2lmaWVkIGlkZW50aWZpZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdIc21Db25maWd1cmF0aW9uTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgRWxhc3RpYyBJUCAoRUlQKSBpcyBpbnZhbGlkIG9yIGNhbm5vdCBiZSBmb3VuZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRFbGFzdGljSXBFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVDbHVzdGVyUGFyYW1ldGVyR3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NsdXN0ZXJQYXJhbWV0ZXJHcm91cFdyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVDbHVzdGVyUGFyYW1ldGVyR3JvdXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGFyYW1ldGVyR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhcmFtZXRlckdyb3VwRmFtaWx5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB0aGUgdXNlciBleGNlZWRpbmcgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGNsdXN0ZXIgcGFyYW1ldGVyIGdyb3Vwcy4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGluY3JlYXNpbmcgeW91ciBxdW90YSwgZ28gdG8gTGltaXRzIGluIEFtYXpvbiBSZWRzaGlmdCBpbiB0aGUgQW1hem9uIFJlZHNoaWZ0IE1hbmFnZW1lbnQgR3VpZGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSBjbHVzdGVyIHBhcmFtZXRlciBncm91cCB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyUGFyYW1ldGVyR3JvdXBBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlQ2x1c3RlclNlY3VyaXR5R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NsdXN0ZXJTZWN1cml0eUdyb3VwV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZUNsdXN0ZXJTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBIGNsdXN0ZXIgc2VjdXJpdHkgZ3JvdXAgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclNlY3VyaXR5R3JvdXBBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd291bGQgcmVzdWx0IGluIHRoZSB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2YgY2x1c3RlciBzZWN1cml0eSBncm91cHMuIEZvciBpbmZvcm1hdGlvbiBhYm91dCBpbmNyZWFzaW5nIHlvdXIgcXVvdGEsIGdvIHRvIExpbWl0cyBpbiBBbWF6b24gUmVkc2hpZnQgaW4gdGhlIEFtYXpvbiBSZWRzaGlmdCBNYW5hZ2VtZW50IEd1aWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclNlY3VyaXR5R3JvdXBRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlQ2x1c3RlclNuYXBzaG90JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdTbmFwc2hvdFdyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVDbHVzdGVyU25hcHNob3QnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU25hcHNob3RJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB2YWx1ZSBzcGVjaWZpZWQgYXMgYSBzbmFwc2hvdCBpZGVudGlmaWVyIGlzIGFscmVhZHkgdXNlZCBieSBhbiBleGlzdGluZyBzbmFwc2hvdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NsdXN0ZXJTbmFwc2hvdEFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGNsdXN0ZXIgaXMgbm90IGluIHRoZSBhdmFpbGFibGUgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2x1c3RlclN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIENsdXN0ZXJJZGVudGlmaWVyIHBhcmFtZXRlciBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjbHVzdGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3Rlck5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd291bGQgcmVzdWx0IGluIHRoZSB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2YgY2x1c3RlciBzbmFwc2hvdHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyU25hcHNob3RRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlQ2x1c3RlclN1Ym5ldEdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDbHVzdGVyU3VibmV0R3JvdXBXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlQ2x1c3RlclN1Ym5ldEdyb3VwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJTdWJuZXRHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3VibmV0SWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU3VibmV0SWRzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdWJuZXRJZGVudGlmaWVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0EgQ2x1c3RlclN1Ym5ldEdyb3VwTmFtZSBpcyBhbHJlYWR5IHVzZWQgYnkgYW4gZXhpc3RpbmcgY2x1c3RlciBzdWJuZXQgZ3JvdXAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyU3VibmV0R3JvdXBBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd291bGQgcmVzdWx0IGluIHVzZXIgZXhjZWVkaW5nIHRoZSBhbGxvd2VkIG51bWJlciBvZiBjbHVzdGVyIHN1Ym5ldCBncm91cHMuIEZvciBpbmZvcm1hdGlvbiBhYm91dCBpbmNyZWFzaW5nIHlvdXIgcXVvdGEsIGdvIHRvIExpbWl0cyBpbiBBbWF6b24gUmVkc2hpZnQgaW4gdGhlIEFtYXpvbiBSZWRzaGlmdCBNYW5hZ2VtZW50IEd1aWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclN1Ym5ldEdyb3VwUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdvdWxkIHJlc3VsdCBpbiB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2Ygc3VibmV0cyBpbiBhIGNsdXN0ZXIgc3VibmV0IGdyb3Vwcy4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGluY3JlYXNpbmcgeW91ciBxdW90YSwgZ28gdG8gTGltaXRzIGluIEFtYXpvbiBSZWRzaGlmdCBpbiB0aGUgQW1hem9uIFJlZHNoaWZ0IE1hbmFnZW1lbnQgR3VpZGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyU3VibmV0UXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgc3VibmV0IGlzIG5vdCB2YWxpZCwgb3Igbm90IGFsbCBvZiB0aGUgc3VibmV0cyBhcmUgaW4gdGhlIHNhbWUgVlBDLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFN1Ym5ldEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1lvdXIgYWNjb3VudCBpcyBub3QgYXV0aG9yaXplZCB0byBwZXJmb3JtIHRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVW5hdXRob3JpemVkT3BlcmF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlRXZlbnRTdWJzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0V2ZW50U3Vic2NyaXB0aW9uV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YnNjcmlwdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU25zVG9waWNBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZUlkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU291cmNlSWRzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTb3VyY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFdmVudENhdGVnb3JpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0V2ZW50Q2F0ZWdvcmllcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRXZlbnRDYXRlZ29yeScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZXZlcml0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3b3VsZCBleGNlZWQgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIGV2ZW50IHN1YnNjcmlwdGlvbnMgZm9yIHRoaXMgYWNjb3VudC4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGluY3JlYXNpbmcgeW91ciBxdW90YSwgZ28gdG8gTGltaXRzIGluIEFtYXpvbiBSZWRzaGlmdCBpbiB0aGUgQW1hem9uIFJlZHNoaWZ0IE1hbmFnZW1lbnQgR3VpZGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdFdmVudFN1YnNjcmlwdGlvblF1b3RhRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGVyZSBpcyBhbHJlYWR5IGFuIGV4aXN0aW5nIGV2ZW50IG5vdGlmaWNhdGlvbiBzdWJzY3JpcHRpb24gd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTdWJzY3JpcHRpb25BbHJlYWR5RXhpc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbWF6b24gU05TIGhhcyByZXNwb25kZWQgdGhhdCB0aGVyZSBpcyBhIHByb2JsZW0gd2l0aCB0aGUgc3BlY2lmaWVkIEFtYXpvbiBTTlMgdG9waWMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTTlNJbnZhbGlkVG9waWNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdZb3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byBwdWJsaXNoIHRvIHRoZSBzcGVjaWZpZWQgQW1hem9uIFNOUyB0b3BpYy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1NOU05vQXV0aG9yaXphdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIEFtYXpvbiBTTlMgdG9waWMgd2l0aCB0aGUgc3BlY2lmaWVkIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU05TVG9waWNBcm5Ob3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIEFtYXpvbiBSZWRzaGlmdCBldmVudCB3aXRoIHRoZSBzcGVjaWZpZWQgZXZlbnQgSUQgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTdWJzY3JpcHRpb25FdmVudElkTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgZXZlbnQgY2F0ZWdvcnkgd2FzIG5vdCBvbmUgb2YgdGhlIGFsbG93ZWQgdmFsdWVzLCBvciBpdCBzcGVjaWZpZWQgYSBjYXRlZ29yeSB0aGF0IGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgc291cmNlIHR5cGUuIFRoZSBhbGxvd2VkIHZhbHVlcyBhcmUgQ29uZmlndXJhdGlvbiwgTWFuYWdlbWVudCwgTW9uaXRvcmluZywgYW5kIFNlY3VyaXR5LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU3Vic2NyaXB0aW9uQ2F0ZWdvcnlOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBldmVudCBzZXZlcml0eSB3YXMgbm90IG9uZSBvZiB0aGUgYWxsb3dlZCB2YWx1ZXMsIG9yIGl0IHNwZWNpZmllZCBhIHNldmVyaXR5IHRoYXQgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBzb3VyY2UgdHlwZS4gVGhlIGFsbG93ZWQgdmFsdWVzIGFyZSBFUlJPUiBhbmQgSU5GTy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1N1YnNjcmlwdGlvblNldmVyaXR5Tm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIEFtYXpvbiBSZWRzaGlmdCBldmVudCBzb3VyY2UgY291bGQgbm90IGJlIGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU291cmNlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVIc21DbGllbnRDZXJ0aWZpY2F0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnSHNtQ2xpZW50Q2VydGlmaWNhdGVXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQ3JlYXRlSHNtQ2xpZW50Q2VydGlmaWNhdGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSHNtQ2xpZW50Q2VydGlmaWNhdGVJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZXJlIGlzIGFscmVhZHkgYW4gZXhpc3RpbmcgQW1hem9uIFJlZHNoaWZ0IEhTTSBjbGllbnQgY2VydGlmaWNhdGUgd2l0aCB0aGUgc3BlY2lmaWVkIGlkZW50aWZpZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdIc21DbGllbnRDZXJ0aWZpY2F0ZUFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcXVvdGEgZm9yIEhTTSBjbGllbnQgY2VydGlmaWNhdGVzIGhhcyBiZWVuIHJlYWNoZWQuIEZvciBpbmZvcm1hdGlvbiBhYm91dCBpbmNyZWFzaW5nIHlvdXIgcXVvdGEsIGdvIHRvIExpbWl0cyBpbiBBbWF6b24gUmVkc2hpZnQgaW4gdGhlIEFtYXpvbiBSZWRzaGlmdCBNYW5hZ2VtZW50IEd1aWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSHNtQ2xpZW50Q2VydGlmaWNhdGVRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlSHNtQ29uZmlndXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnSHNtQ29uZmlndXJhdGlvbldyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVIc21Db25maWd1cmF0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0hzbUNvbmZpZ3VyYXRpb25JZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0hzbUlwQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIc21QYXJ0aXRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0hzbVBhcnRpdGlvblBhc3N3b3JkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0hzbVNlcnZlclB1YmxpY0NlcnRpZmljYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZXJlIGlzIGFscmVhZHkgYW4gZXhpc3RpbmcgQW1hem9uIFJlZHNoaWZ0IEhTTSBjb25maWd1cmF0aW9uIHdpdGggdGhlIHNwZWNpZmllZCBpZGVudGlmaWVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSHNtQ29uZmlndXJhdGlvbkFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcXVvdGEgZm9yIEhTTSBjb25maWd1cmF0aW9ucyBoYXMgYmVlbiByZWFjaGVkLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaW5jcmVhc2luZyB5b3VyIHF1b3RhLCBnbyB0byBMaW1pdHMgaW4gQW1hem9uIFJlZHNoaWZ0IGluIHRoZSBBbWF6b24gUmVkc2hpZnQgTWFuYWdlbWVudCBHdWlkZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0hzbUNvbmZpZ3VyYXRpb25RdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQ2x1c3RlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2x1c3RlcldyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVDbHVzdGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NraXBGaW5hbENsdXN0ZXJTbmFwc2hvdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZpbmFsQ2x1c3RlclNuYXBzaG90SWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBDbHVzdGVySWRlbnRpZmllciBwYXJhbWV0ZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2x1c3Rlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NsdXN0ZXJOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgY2x1c3RlciBpcyBub3QgaW4gdGhlIGF2YWlsYWJsZSBzdGF0ZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDbHVzdGVyU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgc3BlY2lmaWVkIGFzIGEgc25hcHNob3QgaWRlbnRpZmllciBpcyBhbHJlYWR5IHVzZWQgYnkgYW4gZXhpc3Rpbmcgc25hcHNob3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyU25hcHNob3RBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd291bGQgcmVzdWx0IGluIHRoZSB1c2VyIGV4Y2VlZGluZyB0aGUgYWxsb3dlZCBudW1iZXIgb2YgY2x1c3RlciBzbmFwc2hvdHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyU25hcHNob3RRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQ2x1c3RlclBhcmFtZXRlckdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZUNsdXN0ZXJQYXJhbWV0ZXJHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGNsdXN0ZXIgcGFyYW1ldGVyIGdyb3VwIGFjdGlvbiBjYW4gbm90IGJlIGNvbXBsZXRlZCBiZWNhdXNlIGFub3RoZXIgdGFzayBpcyBpbiBwcm9ncmVzcyB0aGF0IGludm9sdmVzIHRoZSBwYXJhbWV0ZXIgZ3JvdXAuIFdhaXQgYSBmZXcgbW9tZW50cyBhbmQgdHJ5IHRoZSBvcGVyYXRpb24gYWdhaW4uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2x1c3RlclBhcmFtZXRlckdyb3VwU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcGFyYW1ldGVyIGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgcGFyYW1ldGVyIGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclBhcmFtZXRlckdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVDbHVzdGVyU2VjdXJpdHlHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVDbHVzdGVyU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbHVzdGVyU2VjdXJpdHlHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHN0YXRlIG9mIHRoZSBjbHVzdGVyIHNlY3VyaXR5IGdyb3VwIGlzIG5vdCAiYXZhaWxhYmxlIi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDbHVzdGVyU2VjdXJpdHlHcm91cFN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGNsdXN0ZXIgc2VjdXJpdHkgZ3JvdXAgbmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjbHVzdGVyIHNlY3VyaXR5IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclNlY3VyaXR5R3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUNsdXN0ZXJTbmFwc2hvdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnU25hcHNob3RXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlQ2x1c3RlclNuYXBzaG90JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NuYXBzaG90SWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTbmFwc2hvdENsdXN0ZXJJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHN0YXRlIG9mIHRoZSBjbHVzdGVyIHNuYXBzaG90IGlzIG5vdCAiYXZhaWxhYmxlIiwgb3Igb3RoZXIgYWNjb3VudHMgYXJlIGF1dGhvcml6ZWQgdG8gYWNjZXNzIHRoZSBzbmFwc2hvdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDbHVzdGVyU25hcHNob3RTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzbmFwc2hvdCBpZGVudGlmaWVyIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNsdXN0ZXIgc25hcHNob3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyU25hcHNob3ROb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUNsdXN0ZXJTdWJuZXRHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVDbHVzdGVyU3VibmV0R3JvdXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlclN1Ym5ldEdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgY2x1c3RlciBzdWJuZXQgZ3JvdXAgY2Fubm90IGJlIGRlbGV0ZWQgYmVjYXVzZSBpdCBpcyBpbiB1c2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2x1c3RlclN1Ym5ldEdyb3VwU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3RhdGUgb2YgdGhlIHN1Ym5ldCBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZENsdXN0ZXJTdWJuZXRTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBjbHVzdGVyIHN1Ym5ldCBncm91cCBuYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNsdXN0ZXIgc3VibmV0IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclN1Ym5ldEdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVFdmVudFN1YnNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVFdmVudFN1YnNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJzY3JpcHRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIEFtYXpvbiBSZWRzaGlmdCBldmVudCBub3RpZmljYXRpb24gc3Vic2NyaXB0aW9uIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU3Vic2NyaXB0aW9uTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVIc21DbGllbnRDZXJ0aWZpY2F0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVIc21DbGllbnRDZXJ0aWZpY2F0ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIc21DbGllbnRDZXJ0aWZpY2F0ZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBIU00gY2xpZW50IGNlcnRpZmljYXRlIGlzIG5vdCBpbiB0aGUgYXZhaWxhYmxlIHN0YXRlLCBvciBpdCBpcyBzdGlsbCBpbiB1c2UgYnkgb25lIG9yIG1vcmUgQW1hem9uIFJlZHNoaWZ0IGNsdXN0ZXJzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEhzbUNsaWVudENlcnRpZmljYXRlU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGVyZSBpcyBubyBBbWF6b24gUmVkc2hpZnQgSFNNIGNsaWVudCBjZXJ0aWZpY2F0ZSB3aXRoIHRoZSBzcGVjaWZpZWQgaWRlbnRpZmllci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0hzbUNsaWVudENlcnRpZmljYXRlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVIc21Db25maWd1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZUhzbUNvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSHNtQ29uZmlndXJhdGlvbklkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBIU00gY29uZmlndXJhdGlvbiBpcyBub3QgaW4gdGhlIGF2YWlsYWJsZSBzdGF0ZSwgb3IgaXQgaXMgc3RpbGwgaW4gdXNlIGJ5IG9uZSBvciBtb3JlIEFtYXpvbiBSZWRzaGlmdCBjbHVzdGVycy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRIc21Db25maWd1cmF0aW9uU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGVyZSBpcyBubyBBbWF6b24gUmVkc2hpZnQgSFNNIGNvbmZpZ3VyYXRpb24gd2l0aCB0aGUgc3BlY2lmaWVkIGlkZW50aWZpZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdIc21Db25maWd1cmF0aW9uTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNsdXN0ZXJQYXJhbWV0ZXJHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NsdXN0ZXJQYXJhbWV0ZXJHcm91cHNNZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVDbHVzdGVyUGFyYW1ldGVyR3JvdXBzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhcmFtZXRlckdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHBhcmFtZXRlciBncm91cCBuYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIHBhcmFtZXRlciBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NsdXN0ZXJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVDbHVzdGVyUGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2x1c3RlclBhcmFtZXRlckdyb3VwRGV0YWlscycsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlQ2x1c3RlclBhcmFtZXRlcnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGFyYW1ldGVyR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHBhcmFtZXRlciBncm91cCBuYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIHBhcmFtZXRlciBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NsdXN0ZXJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVDbHVzdGVyU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NsdXN0ZXJTZWN1cml0eUdyb3VwTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlQ2x1c3RlclNlY3VyaXR5R3JvdXBzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGNsdXN0ZXIgc2VjdXJpdHkgZ3JvdXAgbmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjbHVzdGVyIHNlY3VyaXR5IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclNlY3VyaXR5R3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlQ2x1c3RlclNuYXBzaG90cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnU25hcHNob3RNZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVDbHVzdGVyU25hcHNob3RzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU25hcHNob3RJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU25hcHNob3RUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhcnRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5kVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdkYXRlLXRpbWUnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3duZXJBY2NvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNuYXBzaG90IGlkZW50aWZpZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2x1c3RlciBzbmFwc2hvdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVDbHVzdGVyU3VibmV0R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDbHVzdGVyU3VibmV0R3JvdXBNZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVDbHVzdGVyU3VibmV0R3JvdXBzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJTdWJuZXRHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhSZWNvcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBjbHVzdGVyIHN1Ym5ldCBncm91cCBuYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNsdXN0ZXIgc3VibmV0IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclN1Ym5ldEdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNsdXN0ZXJWZXJzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2x1c3RlclZlcnNpb25zTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlQ2x1c3RlclZlcnNpb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlclBhcmFtZXRlckdyb3VwRmFtaWx5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNsdXN0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDbHVzdGVyc01lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUNsdXN0ZXJzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQ2x1c3RlcklkZW50aWZpZXIgcGFyYW1ldGVyIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNsdXN0ZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhcmFtZXRlckdyb3VwRmFtaWx5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVFdmVudENhdGVnb3JpZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0V2ZW50Q2F0ZWdvcmllc01lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUV2ZW50Q2F0ZWdvcmllcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTb3VyY2VUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVFdmVudFN1YnNjcmlwdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0V2ZW50U3Vic2NyaXB0aW9uc01lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9ucycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJzY3JpcHRpb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBBbWF6b24gUmVkc2hpZnQgZXZlbnQgbm90aWZpY2F0aW9uIHN1YnNjcmlwdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZSBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1N1YnNjcmlwdGlvbk5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVFdmVudHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0V2ZW50c01lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUV2ZW50cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTb3VyY2VJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXJ0VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdkYXRlLXRpbWUnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuZFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEdXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhSZWNvcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlSHNtQ2xpZW50Q2VydGlmaWNhdGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdIc21DbGllbnRDZXJ0aWZpY2F0ZU1lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZUhzbUNsaWVudENlcnRpZmljYXRlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIc21DbGllbnRDZXJ0aWZpY2F0ZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhSZWNvcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZXJlIGlzIG5vIEFtYXpvbiBSZWRzaGlmdCBIU00gY2xpZW50IGNlcnRpZmljYXRlIHdpdGggdGhlIHNwZWNpZmllZCBpZGVudGlmaWVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSHNtQ2xpZW50Q2VydGlmaWNhdGVOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlSHNtQ29uZmlndXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0hzbUNvbmZpZ3VyYXRpb25NZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVIc21Db25maWd1cmF0aW9ucycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIc21Db25maWd1cmF0aW9uSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlcmUgaXMgbm8gQW1hem9uIFJlZHNoaWZ0IEhTTSBjb25maWd1cmF0aW9uIHdpdGggdGhlIHNwZWNpZmllZCBpZGVudGlmaWVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSHNtQ29uZmlndXJhdGlvbk5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVMb2dnaW5nU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMb2dnaW5nU3RhdHVzJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVMb2dnaW5nU3RhdHVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBDbHVzdGVySWRlbnRpZmllciBwYXJhbWV0ZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2x1c3Rlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NsdXN0ZXJOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlT3JkZXJhYmxlQ2x1c3Rlck9wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ09yZGVyYWJsZUNsdXN0ZXJPcHRpb25zTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlT3JkZXJhYmxlQ2x1c3Rlck9wdGlvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlclZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOb2RlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVSZXNlcnZlZE5vZGVPZmZlcmluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1Jlc2VydmVkTm9kZU9mZmVyaW5nc01lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZXNjcmliZVJlc2VydmVkTm9kZU9mZmVyaW5ncycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXNlcnZlZE5vZGVPZmZlcmluZ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4UmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdTcGVjaWZpZWQgb2ZmZXJpbmcgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNlcnZlZE5vZGVPZmZlcmluZ05vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVSZXNlcnZlZE5vZGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdSZXNlcnZlZE5vZGVzTWVzc2FnZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rlc2NyaWJlUmVzZXJ2ZWROb2RlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXNlcnZlZE5vZGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCByZXNlcnZlZCBjb21wdXRlIG5vZGUgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzZXJ2ZWROb2RlTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVJlc2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUmVzaXplUHJvZ3Jlc3NNZXNzYWdlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVzY3JpYmVSZXNpemUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlcklkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIENsdXN0ZXJJZGVudGlmaWVyIHBhcmFtZXRlciBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjbHVzdGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3Rlck5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSByZXNpemUgb3BlcmF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIGNsdXN0ZXIgaXMgbm90IGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzaXplTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEaXNhYmxlTG9nZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTG9nZ2luZ1N0YXR1cycsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0Rpc2FibGVMb2dnaW5nJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBDbHVzdGVySWRlbnRpZmllciBwYXJhbWV0ZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2x1c3Rlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NsdXN0ZXJOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rpc2FibGVTbmFwc2hvdENvcHknID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NsdXN0ZXJXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGlzYWJsZVNuYXBzaG90Q29weScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbHVzdGVySWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQ2x1c3RlcklkZW50aWZpZXIgcGFyYW1ldGVyIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNsdXN0ZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgY2x1c3RlciBhbHJlYWR5IGhhcyBjcm9zcy1yZWdpb24gc25hcHNob3QgY29weSBkaXNhYmxlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1NuYXBzaG90Q29weUFscmVhZHlEaXNhYmxlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1lvdXIgYWNjb3VudCBpcyBub3QgYXV0aG9yaXplZCB0byBwZXJmb3JtIHRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVW5hdXRob3JpemVkT3BlcmF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRW5hYmxlTG9nZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTG9nZ2luZ1N0YXR1cycsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0VuYWJsZUxvZ2dpbmcnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlcklkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQnVja2V0TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTM0tleVByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBDbHVzdGVySWRlbnRpZmllciBwYXJhbWV0ZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2x1c3Rlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NsdXN0ZXJOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0NvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgUzMgYnVja2V0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQnVja2V0Tm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgY2x1c3RlciBkb2VzIG5vdCBoYXZlIHJlYWQgYnVja2V0IG9yIHB1dCBvYmplY3QgcGVybWlzc2lvbnMgb24gdGhlIFMzIGJ1Y2tldCBzcGVjaWZpZWQgd2hlbiBlbmFibGluZyBsb2dnaW5nLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5zdWZmaWNpZW50UzNCdWNrZXRQb2xpY3lGYXVsdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzdHJpbmcgc3BlY2lmaWVkIGZvciB0aGUgbG9nZ2luZyBTMyBrZXkgcHJlZml4IGRvZXMgbm90IGNvbXBseSB3aXRoIHRoZSBkb2N1bWVudGVkIGNvbnN0cmFpbnRzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFMzS2V5UHJlZml4RmF1bHRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgUzMgYnVja2V0IG5hbWUgaXMgaW52YWxpZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgbmFtaW5nIHJ1bGVzLCBnbyB0byBCdWNrZXQgUmVzdHJpY3Rpb25zIGFuZCBMaW1pdGF0aW9ucyBpbiB0aGUgQW1hem9uIFNpbXBsZSBTdG9yYWdlIFNlcnZpY2UgKFMzKSBEZXZlbG9wZXIgR3VpZGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUzNCdWNrZXROYW1lRmF1bHRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFbmFibGVTbmFwc2hvdENvcHknID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NsdXN0ZXJXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRW5hYmxlU25hcHNob3RDb3B5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc3RpbmF0aW9uUmVnaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JldGVudGlvblBlcmlvZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luY29tcGF0aWJsZU9yZGVyYWJsZU9wdGlvbnNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGNsdXN0ZXIgaXMgbm90IGluIHRoZSBhdmFpbGFibGUgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2x1c3RlclN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIENsdXN0ZXJJZGVudGlmaWVyIHBhcmFtZXRlciBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjbHVzdGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3Rlck5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQ3Jvc3MtcmVnaW9uIHNuYXBzaG90IGNvcHkgd2FzIHRlbXBvcmFyaWx5IGRpc2FibGVkLiBUcnkgeW91ciByZXF1ZXN0IGFnYWluLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ29weVRvUmVnaW9uRGlzYWJsZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgY2x1c3RlciBhbHJlYWR5IGhhcyBjcm9zcy1yZWdpb24gc25hcHNob3QgY29weSBlbmFibGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU25hcHNob3RDb3B5QWxyZWFkeUVuYWJsZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIHJlZ2lvbiBpcyBpbmNvcnJlY3Qgb3IgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdVbmtub3duU25hcHNob3RDb3B5UmVnaW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91ciBhY2NvdW50IGlzIG5vdCBhdXRob3JpemVkIHRvIHBlcmZvcm0gdGhlIHJlcXVlc3RlZCBvcGVyYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdVbmF1dGhvcml6ZWRPcGVyYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdNb2RpZnlDbHVzdGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDbHVzdGVyV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ01vZGlmeUNsdXN0ZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlcklkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlclR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOb2RlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ051bWJlck9mTm9kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlclNlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDbHVzdGVyU2VjdXJpdHlHcm91cHMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NsdXN0ZXJTZWN1cml0eUdyb3VwTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWcGNTZWN1cml0eUdyb3VwSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWcGNTZWN1cml0eUdyb3VwSWRzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWcGNTZWN1cml0eUdyb3VwSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFzdGVyVXNlclBhc3N3b3JkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlclBhcmFtZXRlckdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dG9tYXRlZFNuYXBzaG90UmV0ZW50aW9uUGVyaW9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlclZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBbGxvd1ZlcnNpb25VcGdyYWRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSHNtQ2xpZW50Q2VydGlmaWNhdGVJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSHNtQ29uZmlndXJhdGlvbklkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGNsdXN0ZXIgaXMgbm90IGluIHRoZSBhdmFpbGFibGUgc3RhdGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2x1c3RlclN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHN0YXRlIG9mIHRoZSBjbHVzdGVyIHNlY3VyaXR5IGdyb3VwIGlzIG5vdCAiYXZhaWxhYmxlIi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDbHVzdGVyU2VjdXJpdHlHcm91cFN0YXRlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIENsdXN0ZXJJZGVudGlmaWVyIHBhcmFtZXRlciBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjbHVzdGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3Rlck5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIG9wZXJhdGlvbiB3b3VsZCBleGNlZWQgdGhlIG51bWJlciBvZiBub2RlcyBhbGxvdHRlZCB0byB0aGUgYWNjb3VudC4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGluY3JlYXNpbmcgeW91ciBxdW90YSwgZ28gdG8gTGltaXRzIGluIEFtYXpvbiBSZWRzaGlmdCBpbiB0aGUgQW1hem9uIFJlZHNoaWZ0IE1hbmFnZW1lbnQgR3VpZGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOdW1iZXJPZk5vZGVzUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBjbHVzdGVyIHNlY3VyaXR5IGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2x1c3RlciBzZWN1cml0eSBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NsdXN0ZXJTZWN1cml0eUdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcGFyYW1ldGVyIGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgcGFyYW1ldGVyIGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclBhcmFtZXRlckdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgbnVtYmVyIG9mIG5vZGVzIHNwZWNpZmllZCBleGNlZWRzIHRoZSBhbGxvdHRlZCBjYXBhY2l0eSBvZiB0aGUgY2x1c3Rlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0luc3VmZmljaWVudENsdXN0ZXJDYXBhY2l0eUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIHJlcXVlc3Qgb3B0aW9uIHdhcyBzcGVjaWZpZWQgdGhhdCBpcyBub3Qgc3VwcG9ydGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVW5zdXBwb3J0ZWRPcHRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdZb3VyIGFjY291bnQgaXMgbm90IGF1dGhvcml6ZWQgdG8gcGVyZm9ybSB0aGUgcmVxdWVzdGVkIG9wZXJhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1VuYXV0aG9yaXplZE9wZXJhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZXJlIGlzIG5vIEFtYXpvbiBSZWRzaGlmdCBIU00gY2xpZW50IGNlcnRpZmljYXRlIHdpdGggdGhlIHNwZWNpZmllZCBpZGVudGlmaWVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSHNtQ2xpZW50Q2VydGlmaWNhdGVOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZXJlIGlzIG5vIEFtYXpvbiBSZWRzaGlmdCBIU00gY29uZmlndXJhdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgaWRlbnRpZmllci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0hzbUNvbmZpZ3VyYXRpb25Ob3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ01vZGlmeUNsdXN0ZXJQYXJhbWV0ZXJHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2x1c3RlclBhcmFtZXRlckdyb3VwTmFtZU1lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdNb2RpZnlDbHVzdGVyUGFyYW1ldGVyR3JvdXAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGFyYW1ldGVyR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdQYXJhbWV0ZXJzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQYXJhbWV0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlclZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXRhVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvd2VkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lzTW9kaWZpYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaW5pbXVtRW5naW5lVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcGFyYW1ldGVyIGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgcGFyYW1ldGVyIGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclBhcmFtZXRlckdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgY2x1c3RlciBwYXJhbWV0ZXIgZ3JvdXAgYWN0aW9uIGNhbiBub3QgYmUgY29tcGxldGVkIGJlY2F1c2UgYW5vdGhlciB0YXNrIGlzIGluIHByb2dyZXNzIHRoYXQgaW52b2x2ZXMgdGhlIHBhcmFtZXRlciBncm91cC4gV2FpdCBhIGZldyBtb21lbnRzIGFuZCB0cnkgdGhlIG9wZXJhdGlvbiBhZ2Fpbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDbHVzdGVyUGFyYW1ldGVyR3JvdXBTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ01vZGlmeUNsdXN0ZXJTdWJuZXRHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2x1c3RlclN1Ym5ldEdyb3VwV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ01vZGlmeUNsdXN0ZXJTdWJuZXRHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbHVzdGVyU3VibmV0R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3VibmV0SWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU3VibmV0SWRzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdWJuZXRJZGVudGlmaWVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBjbHVzdGVyIHN1Ym5ldCBncm91cCBuYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNsdXN0ZXIgc3VibmV0IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclN1Ym5ldEdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3b3VsZCByZXN1bHQgaW4gdXNlciBleGNlZWRpbmcgdGhlIGFsbG93ZWQgbnVtYmVyIG9mIHN1Ym5ldHMgaW4gYSBjbHVzdGVyIHN1Ym5ldCBncm91cHMuIEZvciBpbmZvcm1hdGlvbiBhYm91dCBpbmNyZWFzaW5nIHlvdXIgcXVvdGEsIGdvIHRvIExpbWl0cyBpbiBBbWF6b24gUmVkc2hpZnQgaW4gdGhlIEFtYXpvbiBSZWRzaGlmdCBNYW5hZ2VtZW50IEd1aWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclN1Ym5ldFF1b3RhRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBIHNwZWNpZmllZCBzdWJuZXQgaXMgYWxyZWFkeSBpbiB1c2UgYnkgYW5vdGhlciBjbHVzdGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU3VibmV0QWxyZWFkeUluVXNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3RlZCBzdWJuZXQgaXMgbm90IHZhbGlkLCBvciBub3QgYWxsIG9mIHRoZSBzdWJuZXRzIGFyZSBpbiB0aGUgc2FtZSBWUEMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkU3VibmV0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnWW91ciBhY2NvdW50IGlzIG5vdCBhdXRob3JpemVkIHRvIHBlcmZvcm0gdGhlIHJlcXVlc3RlZCBvcGVyYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdVbmF1dGhvcml6ZWRPcGVyYXRpb25FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdNb2RpZnlFdmVudFN1YnNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRXZlbnRTdWJzY3JpcHRpb25XcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTW9kaWZ5RXZlbnRTdWJzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3Vic2NyaXB0aW9uTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTbnNUb3BpY0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NvdXJjZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTb3VyY2VJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1NvdXJjZUlkcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU291cmNlSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXZlbnRDYXRlZ29yaWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFdmVudENhdGVnb3JpZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0V2ZW50Q2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2V2ZXJpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gQW1hem9uIFJlZHNoaWZ0IGV2ZW50IG5vdGlmaWNhdGlvbiBzdWJzY3JpcHRpb24gd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTdWJzY3JpcHRpb25Ob3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FtYXpvbiBTTlMgaGFzIHJlc3BvbmRlZCB0aGF0IHRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoZSBzcGVjaWZpZWQgQW1hem9uIFNOUyB0b3BpYy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1NOU0ludmFsaWRUb3BpY0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1lvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHB1Ymxpc2ggdG8gdGhlIHNwZWNpZmllZCBBbWF6b24gU05TIHRvcGljLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU05TTm9BdXRob3JpemF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gQW1hem9uIFNOUyB0b3BpYyB3aXRoIHRoZSBzcGVjaWZpZWQgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTTlNUb3BpY0Fybk5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gQW1hem9uIFJlZHNoaWZ0IGV2ZW50IHdpdGggdGhlIHNwZWNpZmllZCBldmVudCBJRCBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1N1YnNjcmlwdGlvbkV2ZW50SWROb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBldmVudCBjYXRlZ29yeSB3YXMgbm90IG9uZSBvZiB0aGUgYWxsb3dlZCB2YWx1ZXMsIG9yIGl0IHNwZWNpZmllZCBhIGNhdGVnb3J5IHRoYXQgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBzb3VyY2UgdHlwZS4gVGhlIGFsbG93ZWQgdmFsdWVzIGFyZSBDb25maWd1cmF0aW9uLCBNYW5hZ2VtZW50LCBNb25pdG9yaW5nLCBhbmQgU2VjdXJpdHkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTdWJzY3JpcHRpb25DYXRlZ29yeU5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIGV2ZW50IHNldmVyaXR5IHdhcyBub3Qgb25lIG9mIHRoZSBhbGxvd2VkIHZhbHVlcywgb3IgaXQgc3BlY2lmaWVkIGEgc2V2ZXJpdHkgdGhhdCBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIHNvdXJjZSB0eXBlLiBUaGUgYWxsb3dlZCB2YWx1ZXMgYXJlIEVSUk9SIGFuZCBJTkZPLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnU3Vic2NyaXB0aW9uU2V2ZXJpdHlOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgQW1hem9uIFJlZHNoaWZ0IGV2ZW50IHNvdXJjZSBjb3VsZCBub3QgYmUgZm91bmQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ01vZGlmeVNuYXBzaG90Q29weVJldGVudGlvblBlcmlvZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2x1c3RlcldyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdNb2RpZnlTbmFwc2hvdENvcHlSZXRlbnRpb25QZXJpb2QnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlcklkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmV0ZW50aW9uUGVyaW9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQ2x1c3RlcklkZW50aWZpZXIgcGFyYW1ldGVyIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNsdXN0ZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdDcm9zcy1yZWdpb24gc25hcHNob3QgY29weSB3YXMgdGVtcG9yYXJpbHkgZGlzYWJsZWQuIFRyeSB5b3VyIHJlcXVlc3QgYWdhaW4uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTbmFwc2hvdENvcHlEaXNhYmxlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1lvdXIgYWNjb3VudCBpcyBub3QgYXV0aG9yaXplZCB0byBwZXJmb3JtIHRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVW5hdXRob3JpemVkT3BlcmF0aW9uRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHVyY2hhc2VSZXNlcnZlZE5vZGVPZmZlcmluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUmVzZXJ2ZWROb2RlV3JhcHBlcicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1B1cmNoYXNlUmVzZXJ2ZWROb2RlT2ZmZXJpbmcnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzZXJ2ZWROb2RlT2ZmZXJpbmdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOb2RlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnU3BlY2lmaWVkIG9mZmVyaW5nIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzZXJ2ZWROb2RlT2ZmZXJpbmdOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1VzZXIgYWxyZWFkeSBoYXMgYSByZXNlcnZhdGlvbiB3aXRoIHRoZSBnaXZlbiBpZGVudGlmaWVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVzZXJ2ZWROb2RlQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JlcXVlc3Qgd291bGQgZXhjZWVkIHRoZSB1c2VyXCdzIGNvbXB1dGUgbm9kZSBxdW90YS4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGluY3JlYXNpbmcgeW91ciBxdW90YSwgZ28gdG8gTGltaXRzIGluIEFtYXpvbiBSZWRzaGlmdCBpbiB0aGUgQW1hem9uIFJlZHNoaWZ0IE1hbmFnZW1lbnQgR3VpZGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdSZXNlcnZlZE5vZGVRdW90YUV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVib290Q2x1c3RlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2x1c3RlcldyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZWJvb3RDbHVzdGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgY2x1c3RlciBpcyBub3QgaW4gdGhlIGF2YWlsYWJsZSBzdGF0ZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDbHVzdGVyU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgQ2x1c3RlcklkZW50aWZpZXIgcGFyYW1ldGVyIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNsdXN0ZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXNldENsdXN0ZXJQYXJhbWV0ZXJHcm91cCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2x1c3RlclBhcmFtZXRlckdyb3VwTmFtZU1lc3NhZ2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZXNldENsdXN0ZXJQYXJhbWV0ZXJHcm91cCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzZXRBbGxQYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUGFyYW1ldGVycy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0YVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJc01vZGlmaWFibGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWluaW11bUVuZ2luZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGNsdXN0ZXIgcGFyYW1ldGVyIGdyb3VwIGFjdGlvbiBjYW4gbm90IGJlIGNvbXBsZXRlZCBiZWNhdXNlIGFub3RoZXIgdGFzayBpcyBpbiBwcm9ncmVzcyB0aGF0IGludm9sdmVzIHRoZSBwYXJhbWV0ZXIgZ3JvdXAuIFdhaXQgYSBmZXcgbW9tZW50cyBhbmQgdHJ5IHRoZSBvcGVyYXRpb24gYWdhaW4uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2x1c3RlclBhcmFtZXRlckdyb3VwU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcGFyYW1ldGVyIGdyb3VwIG5hbWUgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgcGFyYW1ldGVyIGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclBhcmFtZXRlckdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXN0b3JlRnJvbUNsdXN0ZXJTbmFwc2hvdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2x1c3RlcldyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZXN0b3JlRnJvbUNsdXN0ZXJTbmFwc2hvdCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbHVzdGVySWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTbmFwc2hvdElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU25hcHNob3RDbHVzdGVySWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FsbG93VmVyc2lvblVwZ3JhZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbHVzdGVyU3VibmV0R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHVibGljbHlBY2Nlc3NpYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3duZXJBY2NvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSHNtQ2xpZW50Q2VydGlmaWNhdGVJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSHNtQ29uZmlndXJhdGlvbklkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbGFzdGljSXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgb3duZXIgb2YgdGhlIHNwZWNpZmllZCBzbmFwc2hvdCBoYXMgbm90IGF1dGhvcml6ZWQgeW91ciBhY2NvdW50IHRvIGFjY2VzcyB0aGUgc25hcHNob3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NUb1NuYXBzaG90RGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGFjY291bnQgYWxyZWFkeSBoYXMgYSBjbHVzdGVyIHdpdGggdGhlIGdpdmVuIGlkZW50aWZpZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzbmFwc2hvdCBpZGVudGlmaWVyIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNsdXN0ZXIgc25hcHNob3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyU25hcHNob3ROb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdvdWxkIGV4Y2VlZCB0aGUgYWxsb3dlZCBudW1iZXIgb2YgY2x1c3RlciBpbnN0YW5jZXMgZm9yIHRoaXMgYWNjb3VudC4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGluY3JlYXNpbmcgeW91ciBxdW90YSwgZ28gdG8gTGltaXRzIGluIEFtYXpvbiBSZWRzaGlmdCBpbiB0aGUgQW1hem9uIFJlZHNoaWZ0IE1hbmFnZW1lbnQgR3VpZGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDbHVzdGVyUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBudW1iZXIgb2Ygbm9kZXMgc3BlY2lmaWVkIGV4Y2VlZHMgdGhlIGFsbG90dGVkIGNhcGFjaXR5IG9mIHRoZSBjbHVzdGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW5zdWZmaWNpZW50Q2x1c3RlckNhcGFjaXR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHN0YXRlIG9mIHRoZSBjbHVzdGVyIHNuYXBzaG90IGlzIG5vdCAiYXZhaWxhYmxlIiwgb3Igb3RoZXIgYWNjb3VudHMgYXJlIGF1dGhvcml6ZWQgdG8gYWNjZXNzIHRoZSBzbmFwc2hvdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDbHVzdGVyU25hcHNob3RTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXN0b3JlIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUmVzdG9yZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBvcGVyYXRpb24gd291bGQgZXhjZWVkIHRoZSBudW1iZXIgb2Ygbm9kZXMgYWxsb3R0ZWQgdG8gdGhlIGFjY291bnQuIEZvciBpbmZvcm1hdGlvbiBhYm91dCBpbmNyZWFzaW5nIHlvdXIgcXVvdGEsIGdvIHRvIExpbWl0cyBpbiBBbWF6b24gUmVkc2hpZnQgaW4gdGhlIEFtYXpvbiBSZWRzaGlmdCBNYW5hZ2VtZW50IEd1aWRlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTnVtYmVyT2ZOb2Rlc1F1b3RhRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgb3BlcmF0aW9uIHdvdWxkIGV4Y2VlZCB0aGUgbnVtYmVyIG9mIG5vZGVzIGFsbG93ZWQgZm9yIGEgY2x1c3Rlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ051bWJlck9mTm9kZXNQZXJDbHVzdGVyTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBjbHVzdGVyIHN1Ym5ldCBncm91cCBkb2VzIG5vdCBjb3ZlciBhbGwgQXZhaWxhYmlsaXR5IFpvbmVzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBjbHVzdGVyIHN1Ym5ldCBncm91cCBjYW5ub3QgYmUgZGVsZXRlZCBiZWNhdXNlIGl0IGlzIGluIHVzZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDbHVzdGVyU3VibmV0R3JvdXBTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0ZWQgc3VibmV0IGlzIG5vdCB2YWxpZCwgb3Igbm90IGFsbCBvZiB0aGUgc3VibmV0cyBhcmUgaW4gdGhlIHNhbWUgVlBDLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFN1Ym5ldEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBjbHVzdGVyIHN1Ym5ldCBncm91cCBuYW1lIGRvZXMgbm90IHJlZmVyIHRvIGFuIGV4aXN0aW5nIGNsdXN0ZXIgc3VibmV0IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclN1Ym5ldEdyb3VwTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdZb3VyIGFjY291bnQgaXMgbm90IGF1dGhvcml6ZWQgdG8gcGVyZm9ybSB0aGUgcmVxdWVzdGVkIG9wZXJhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1VuYXV0aG9yaXplZE9wZXJhdGlvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZXJlIGlzIG5vIEFtYXpvbiBSZWRzaGlmdCBIU00gY2xpZW50IGNlcnRpZmljYXRlIHdpdGggdGhlIHNwZWNpZmllZCBpZGVudGlmaWVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSHNtQ2xpZW50Q2VydGlmaWNhdGVOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZXJlIGlzIG5vIEFtYXpvbiBSZWRzaGlmdCBIU00gY29uZmlndXJhdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgaWRlbnRpZmllci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0hzbUNvbmZpZ3VyYXRpb25Ob3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBFbGFzdGljIElQIChFSVApIGlzIGludmFsaWQgb3IgY2Fubm90IGJlIGZvdW5kLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEVsYXN0aWNJcEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1Jldm9rZUNsdXN0ZXJTZWN1cml0eUdyb3VwSW5ncmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2x1c3RlclNlY3VyaXR5R3JvdXBXcmFwcGVyJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUmV2b2tlQ2x1c3RlclNlY3VyaXR5R3JvdXBJbmdyZXNzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDSURSSVAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFQzJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGNsdXN0ZXIgc2VjdXJpdHkgZ3JvdXAgbmFtZSBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBjbHVzdGVyIHNlY3VyaXR5IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2x1c3RlclNlY3VyaXR5R3JvdXBOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgQ0lEUiBJUCByYW5nZSBvciBFQzIgc2VjdXJpdHkgZ3JvdXAgaXMgbm90IGF1dGhvcml6ZWQgZm9yIHRoZSBzcGVjaWZpZWQgY2x1c3RlciBzZWN1cml0eSBncm91cC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0F1dGhvcml6YXRpb25Ob3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzdGF0ZSBvZiB0aGUgY2x1c3RlciBzZWN1cml0eSBncm91cCBpcyBub3QgImF2YWlsYWJsZSIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2x1c3RlclNlY3VyaXR5R3JvdXBTdGF0ZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1Jldm9rZVNuYXBzaG90QWNjZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdTbmFwc2hvdFdyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZXZva2VTbmFwc2hvdEFjY2VzcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTbmFwc2hvdElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU25hcHNob3RDbHVzdGVySWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FjY291bnRXaXRoUmVzdG9yZUFjY2VzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgb3duZXIgb2YgdGhlIHNwZWNpZmllZCBzbmFwc2hvdCBoYXMgbm90IGF1dGhvcml6ZWQgeW91ciBhY2NvdW50IHRvIGFjY2VzcyB0aGUgc25hcHNob3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBY2Nlc3NUb1NuYXBzaG90RGVuaWVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBDSURSIElQIHJhbmdlIG9yIEVDMiBzZWN1cml0eSBncm91cCBpcyBub3QgYXV0aG9yaXplZCBmb3IgdGhlIHNwZWNpZmllZCBjbHVzdGVyIHNlY3VyaXR5IGdyb3VwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXV0aG9yaXphdGlvbk5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNuYXBzaG90IGlkZW50aWZpZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2x1c3RlciBzbmFwc2hvdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUm90YXRlRW5jcnlwdGlvbktleScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ2x1c3RlcldyYXBwZXInLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSb3RhdGVFbmNyeXB0aW9uS2V5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBDbHVzdGVySWRlbnRpZmllciBwYXJhbWV0ZXIgZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhpc3RpbmcgY2x1c3Rlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0NsdXN0ZXJOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgY2x1c3RlciBpcyBub3QgaW4gdGhlIGF2YWlsYWJsZSBzdGF0ZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRDbHVzdGVyU3RhdGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICdDbHVzdGVyU2VjdXJpdHlHcm91cFdyYXBwZXInID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJTZWN1cml0eUdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3cmFwcGVyJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlclNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0VDMlNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRUMyU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VDMlNlY3VyaXR5R3JvdXBPd25lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0lQUmFuZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0lQUmFuZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSVBSYW5nZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NJRFJJUCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU25hcHNob3RXcmFwcGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTbmFwc2hvdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnd3JhcHBlcicgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1NuYXBzaG90SWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDbHVzdGVySWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTbmFwc2hvdENyZWF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1BvcnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0F2YWlsYWJpbGl0eVpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlckNyZWF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWFzdGVyVXNlcm5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlclZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU25hcHNob3RUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ05vZGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ051bWJlck9mTm9kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0RCTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmNyeXB0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuY3J5cHRlZFdpdGhIU00nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0FjY291bnRzV2l0aFJlc3RvcmVBY2Nlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWNjb3VudFdpdGhSZXN0b3JlQWNjZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0FjY291bnRXaXRoUmVzdG9yZUFjY2VzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWNjb3VudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ093bmVyQWNjb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUb3RhbEJhY2t1cFNpemVJbk1lZ2FCeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQWN0dWFsSW5jcmVtZW50YWxCYWNrdXBTaXplSW5NZWdhQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0JhY2t1cFByb2dyZXNzSW5NZWdhQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0N1cnJlbnRCYWNrdXBSYXRlSW5NZWdhQnl0ZXNQZXJTZWNvbmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VzdGltYXRlZFNlY29uZHNUb0NvbXBsZXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VsYXBzZWRUaW1lSW5TZWNvbmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VSZWdpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NsdXN0ZXJXcmFwcGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDbHVzdGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3cmFwcGVyJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlcklkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTm9kZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlclN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdNb2RpZnlTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWFzdGVyVXNlcm5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnREJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZHBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NsdXN0ZXJDcmVhdGVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0F1dG9tYXRlZFNuYXBzaG90UmV0ZW50aW9uUGVyaW9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDbHVzdGVyU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2x1c3RlclNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2x1c3RlclNlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NsdXN0ZXJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVnBjU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVnBjU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdWcGNTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWcGNTZWN1cml0eUdyb3VwSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NsdXN0ZXJQYXJhbWV0ZXJHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2x1c3RlclBhcmFtZXRlckdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NsdXN0ZXJQYXJhbWV0ZXJHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlckFwcGx5U3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NsdXN0ZXJTdWJuZXRHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnVnBjSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQZW5kaW5nTW9kaWZpZWRWYWx1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXN0ZXJVc2VyUGFzc3dvcmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9kZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTnVtYmVyT2ZOb2RlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlclR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlclZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXV0b21hdGVkU25hcHNob3RSZXRlbnRpb25QZXJpb2QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlclZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dWZXJzaW9uVXBncmFkZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTnVtYmVyT2ZOb2RlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHVibGljbHlBY2Nlc3NpYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdFbmNyeXB0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc3RvcmVTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VycmVudFJlc3RvcmVSYXRlSW5NZWdhQnl0ZXNQZXJTZWNvbmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NuYXBzaG90U2l6ZUluTWVnYUJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9ncmVzc0luTWVnYUJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbGFwc2VkVGltZUluU2Vjb25kcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXN0aW1hdGVkVGltZVRvQ29tcGxldGlvbkluU2Vjb25kcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdIc21TdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIc21DbGllbnRDZXJ0aWZpY2F0ZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSHNtQ29uZmlndXJhdGlvbklkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlclNuYXBzaG90Q29weVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc3RpbmF0aW9uUmVnaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JldGVudGlvblBlcmlvZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDbHVzdGVyUHVibGljS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NsdXN0ZXJOb2RlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDbHVzdGVyTm9kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05vZGVSb2xlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaXZhdGVJUEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHVibGljSVBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0VsYXN0aWNJcFN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VsYXN0aWNJcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ2x1c3RlclBhcmFtZXRlckdyb3VwV3JhcHBlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ2x1c3RlclBhcmFtZXRlckdyb3VwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3cmFwcGVyJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyR3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlckdyb3VwRmFtaWx5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDbHVzdGVyU3VibmV0R3JvdXBXcmFwcGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDbHVzdGVyU3VibmV0R3JvdXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3dyYXBwZXInID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdDbHVzdGVyU3VibmV0R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldEdyb3VwU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3VibmV0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1N1Ym5ldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0SWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdWJuZXRBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldFN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRXZlbnRTdWJzY3JpcHRpb25XcmFwcGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdFdmVudFN1YnNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnd3JhcHBlcicgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RvbWVyQXdzSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdFN1YnNjcmlwdGlvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Nuc1RvcGljQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdWJzY3JpcHRpb25DcmVhdGlvblRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VJZHNMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NvdXJjZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1NvdXJjZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdFdmVudENhdGVnb3JpZXNMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0V2ZW50Q2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRXZlbnRDYXRlZ29yeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2V2ZXJpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0hzbUNsaWVudENlcnRpZmljYXRlV3JhcHBlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSHNtQ2xpZW50Q2VydGlmaWNhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3dyYXBwZXInID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdIc21DbGllbnRDZXJ0aWZpY2F0ZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSHNtQ2xpZW50Q2VydGlmaWNhdGVQdWJsaWNLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0hzbUNvbmZpZ3VyYXRpb25XcmFwcGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdIc21Db25maWd1cmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3cmFwcGVyJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSHNtQ29uZmlndXJhdGlvbklkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSHNtSXBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0hzbVBhcnRpdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0VtcHR5T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgKSwKICAgICAgICAnQ2x1c3RlclBhcmFtZXRlckdyb3Vwc01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhcmFtZXRlckdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NsdXN0ZXJQYXJhbWV0ZXJHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NsdXN0ZXJQYXJhbWV0ZXJHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyR3JvdXBGYW1pbHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ2x1c3RlclBhcmFtZXRlckdyb3VwRGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1BhcmFtZXRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1BhcmFtZXRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlclZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXRhVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvd2VkVmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lzTW9kaWZpYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWluaW11bUVuZ2luZVZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ2x1c3RlclNlY3VyaXR5R3JvdXBNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbHVzdGVyU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDbHVzdGVyU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NsdXN0ZXJTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NsdXN0ZXJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFQzJTZWN1cml0eUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdFQzJTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRUMyU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRUMyU2VjdXJpdHlHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRUMyU2VjdXJpdHlHcm91cE93bmVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSVBSYW5nZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSVBSYW5nZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0lQUmFuZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NJRFJJUCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTbmFwc2hvdE1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NuYXBzaG90cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NuYXBzaG90JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU25hcHNob3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU25hcHNob3RJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NsdXN0ZXJJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NuYXBzaG90Q3JlYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDbHVzdGVyQ3JlYXRlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXN0ZXJVc2VybmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDbHVzdGVyVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbmFwc2hvdFR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9kZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTnVtYmVyT2ZOb2RlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuY3J5cHRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5jcnlwdGVkV2l0aEhTTScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWNjb3VudHNXaXRoUmVzdG9yZUFjY2VzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBY2NvdW50V2l0aFJlc3RvcmVBY2Nlc3MnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBY2NvdW50V2l0aFJlc3RvcmVBY2Nlc3MnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWNjb3VudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ093bmVyQWNjb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb3RhbEJhY2t1cFNpemVJbk1lZ2FCeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWN0dWFsSW5jcmVtZW50YWxCYWNrdXBTaXplSW5NZWdhQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JhY2t1cFByb2dyZXNzSW5NZWdhQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1cnJlbnRCYWNrdXBSYXRlSW5NZWdhQnl0ZXNQZXJTZWNvbmQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VzdGltYXRlZFNlY29uZHNUb0NvbXBsZXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VsYXBzZWRUaW1lSW5TZWNvbmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2VSZWdpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ2x1c3RlclN1Ym5ldEdyb3VwTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2x1c3RlclN1Ym5ldEdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NsdXN0ZXJTdWJuZXRHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NsdXN0ZXJTdWJuZXRHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDbHVzdGVyU3VibmV0R3JvdXBOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZwY0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldEdyb3VwU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3VibmV0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU3VibmV0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VibmV0QXZhaWxhYmlsaXR5Wm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym5ldFN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDbHVzdGVyVmVyc2lvbnNNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDbHVzdGVyVmVyc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDbHVzdGVyVmVyc2lvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NsdXN0ZXJWZXJzaW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NsdXN0ZXJWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NsdXN0ZXJQYXJhbWV0ZXJHcm91cEZhbWlseScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDbHVzdGVyc01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2x1c3RlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NsdXN0ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlcklkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9kZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlclN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNb2RpZnlTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWFzdGVyVXNlcm5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnREJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZHBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlckNyZWF0ZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXV0b21hdGVkU25hcHNob3RSZXRlbnRpb25QZXJpb2QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NsdXN0ZXJTZWN1cml0eUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDbHVzdGVyU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NsdXN0ZXJTZWN1cml0eUdyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NsdXN0ZXJTZWN1cml0eUdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjU2VjdXJpdHlHcm91cHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVnBjU2VjdXJpdHlHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZwY1NlY3VyaXR5R3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnBjU2VjdXJpdHlHcm91cElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDbHVzdGVyUGFyYW1ldGVyR3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NsdXN0ZXJQYXJhbWV0ZXJHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NsdXN0ZXJQYXJhbWV0ZXJHcm91cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJHcm91cE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyQXBwbHlTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlclN1Ym5ldEdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWcGNJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdmFpbGFiaWxpdHlab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BlbmRpbmdNb2RpZmllZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01hc3RlclVzZXJQYXNzd29yZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb2RlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOdW1iZXJPZk5vZGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDbHVzdGVyVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDbHVzdGVyVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdXRvbWF0ZWRTbmFwc2hvdFJldGVudGlvblBlcmlvZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NsdXN0ZXJWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93VmVyc2lvblVwZ3JhZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ051bWJlck9mTm9kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1B1YmxpY2x5QWNjZXNzaWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5jcnlwdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXN0b3JlU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1cnJlbnRSZXN0b3JlUmF0ZUluTWVnYUJ5dGVzUGVyU2Vjb25kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbmFwc2hvdFNpemVJbk1lZ2FCeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZ3Jlc3NJbk1lZ2FCeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRWxhcHNlZFRpbWVJblNlY29uZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VzdGltYXRlZFRpbWVUb0NvbXBsZXRpb25JblNlY29uZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIc21TdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIc21DbGllbnRDZXJ0aWZpY2F0ZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSHNtQ29uZmlndXJhdGlvbklkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDbHVzdGVyU25hcHNob3RDb3B5U3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzdGluYXRpb25SZWdpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmV0ZW50aW9uUGVyaW9kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlclB1YmxpY0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDbHVzdGVyTm9kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2x1c3Rlck5vZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9kZVJvbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJpdmF0ZUlQQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQdWJsaWNJUEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRWxhc3RpY0lwU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRWxhc3RpY0lwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzV3JhcHBlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3cmFwcGVyJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyR3JvdXBGYW1pbHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1BhcmFtZXRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFyYW1ldGVyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJhbWV0ZXJWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0YVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJc01vZGlmaWFibGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pbmltdW1FbmdpbmVWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFdmVudENhdGVnb3JpZXNNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdFdmVudENhdGVnb3JpZXNNYXBMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRXZlbnRDYXRlZ29yaWVzTWFwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRXZlbnRDYXRlZ29yaWVzTWFwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXZlbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0V2ZW50SW5mb01hcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0V2ZW50SW5mb01hcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V2ZW50Q2F0ZWdvcmllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdFdmVudENhdGVnb3J5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRXZlbnRDYXRlZ29yeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXZlbnREZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXZlcml0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFdmVudFN1YnNjcmlwdGlvbnNNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFdmVudFN1YnNjcmlwdGlvbnNMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRXZlbnRTdWJzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFdmVudFN1YnNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXN0b21lckF3c0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1c3RTdWJzY3JpcHRpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbnNUb3BpY0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3Vic2NyaXB0aW9uQ3JlYXRpb25UaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlSWRzTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTb3VyY2VJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1NvdXJjZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFdmVudENhdGVnb3JpZXNMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0V2ZW50Q2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFdmVudENhdGVnb3J5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXZlcml0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdFdmVudHNNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFdmVudHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdFdmVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0V2ZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V2ZW50Q2F0ZWdvcmllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdFdmVudENhdGVnb3J5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRXZlbnRDYXRlZ29yeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2V2ZXJpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0hzbUNsaWVudENlcnRpZmljYXRlTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSHNtQ2xpZW50Q2VydGlmaWNhdGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSHNtQ2xpZW50Q2VydGlmaWNhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdIc21DbGllbnRDZXJ0aWZpY2F0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIc21DbGllbnRDZXJ0aWZpY2F0ZUlkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSHNtQ2xpZW50Q2VydGlmaWNhdGVQdWJsaWNLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnSHNtQ29uZmlndXJhdGlvbk1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0hzbUNvbmZpZ3VyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSHNtQ29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0hzbUNvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSHNtQ29uZmlndXJhdGlvbklkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSHNtSXBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hzbVBhcnRpdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTG9nZ2luZ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTG9nZ2luZ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQnVja2V0TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1MzS2V5UHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGFzdFN1Y2Nlc3NmdWxEZWxpdmVyeVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXN0RmFpbHVyZVRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXN0RmFpbHVyZU1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdPcmRlcmFibGVDbHVzdGVyT3B0aW9uc01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ09yZGVyYWJsZUNsdXN0ZXJPcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnT3JkZXJhYmxlQ2x1c3Rlck9wdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ09yZGVyYWJsZUNsdXN0ZXJPcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlclZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2x1c3RlclR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9kZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXZhaWxhYmlsaXR5Wm9uZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXZhaWxhYmlsaXR5Wm9uZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F2YWlsYWJpbGl0eVpvbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXNlcnZlZE5vZGVPZmZlcmluZ3NNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXNlcnZlZE5vZGVPZmZlcmluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZXNlcnZlZE5vZGVPZmZlcmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1Jlc2VydmVkTm9kZU9mZmVyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc2VydmVkTm9kZU9mZmVyaW5nSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9kZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZpeGVkUHJpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzYWdlUHJpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1cnJlbmN5Q29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPZmZlcmluZ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVjdXJyaW5nQ2hhcmdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZWN1cnJpbmdDaGFyZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZWN1cnJpbmdDaGFyZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVjdXJyaW5nQ2hhcmdlQW1vdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWN1cnJpbmdDaGFyZ2VGcmVxdWVuY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVzZXJ2ZWROb2Rlc01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc2VydmVkTm9kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZXNlcnZlZE5vZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZXNlcnZlZE5vZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzZXJ2ZWROb2RlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzZXJ2ZWROb2RlT2ZmZXJpbmdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb2RlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGFydFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZpeGVkUHJpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzYWdlUHJpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0N1cnJlbmN5Q29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb2RlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09mZmVyaW5nVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWN1cnJpbmdDaGFyZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1JlY3VycmluZ0NoYXJnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1JlY3VycmluZ0NoYXJnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWN1cnJpbmdDaGFyZ2VBbW91bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlY3VycmluZ0NoYXJnZUZyZXF1ZW5jeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXNpemVQcm9ncmVzc01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1RhcmdldE5vZGVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFyZ2V0TnVtYmVyT2ZOb2RlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYXJnZXRDbHVzdGVyVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ltcG9ydFRhYmxlc0NvbXBsZXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW1wb3J0VGFibGVzSW5Qcm9ncmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW1wb3J0VGFibGVzTm90U3RhcnRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ2x1c3RlclBhcmFtZXRlckdyb3VwTmFtZU1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1BhcmFtZXRlckdyb3VwTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhcmFtZXRlckdyb3VwU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVzZXJ2ZWROb2RlV3JhcHBlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVzZXJ2ZWROb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3cmFwcGVyJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUmVzZXJ2ZWROb2RlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmVzZXJ2ZWROb2RlT2ZmZXJpbmdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOb2RlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGFydFRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRHVyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0ZpeGVkUHJpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1VzYWdlUHJpY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0N1cnJlbmN5Q29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOb2RlQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ09mZmVyaW5nVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdSZWN1cnJpbmdDaGFyZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1JlY3VycmluZ0NoYXJnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZWN1cnJpbmdDaGFyZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlY3VycmluZ0NoYXJnZUFtb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVjdXJyaW5nQ2hhcmdlRnJlcXVlbmN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdpdGVyYXRvcnMnID0+IGFycmF5KAogICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ0Rlc2NyaWJlQ2x1c3RlclBhcmFtZXRlckdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1BhcmFtZXRlckdyb3VwcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUNsdXN0ZXJQYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnUGFyYW1ldGVycycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUNsdXN0ZXJTZWN1cml0eUdyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0NsdXN0ZXJTZWN1cml0eUdyb3VwcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUNsdXN0ZXJTbmFwc2hvdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heFJlY29yZHMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdTbmFwc2hvdHMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVDbHVzdGVyU3VibmV0R3JvdXBzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnQ2x1c3RlclN1Ym5ldEdyb3VwcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUNsdXN0ZXJWZXJzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0NsdXN0ZXJWZXJzaW9ucycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUNsdXN0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnQ2x1c3RlcnMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVEZWZhdWx0Q2x1c3RlclBhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnRXZlbnRTdWJzY3JpcHRpb25zTGlzdCcsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUV2ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0V2ZW50cycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUhzbUNsaWVudENlcnRpZmljYXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0hzbUNsaWVudENlcnRpZmljYXRlcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUhzbUNvbmZpZ3VyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnSHNtQ29uZmlndXJhdGlvbnMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVPcmRlcmFibGVDbHVzdGVyT3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ09yZGVyYWJsZUNsdXN0ZXJPcHRpb25zJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlUmVzZXJ2ZWROb2RlT2ZmZXJpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhSZWNvcmRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnUmVzZXJ2ZWROb2RlT2ZmZXJpbmdzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlUmVzZXJ2ZWROb2RlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4UmVjb3JkcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1Jlc2VydmVkTm9kZXMnLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ3dhaXRlcnMnID0+IGFycmF5KAogICAgICAgICdfX2RlZmF1bHRfXycgPT4gYXJyYXkoCiAgICAgICAgICAgICdhY2NlcHRvci50eXBlJyA9PiAnb3V0cHV0JywKICAgICAgICApLAogICAgICAgICdfX0NsdXN0ZXJTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdpbnRlcnZhbCcgPT4gNjAsCiAgICAgICAgICAgICdtYXhfYXR0ZW1wdHMnID0+IDMwLAogICAgICAgICAgICAnb3BlcmF0aW9uJyA9PiAnRGVzY3JpYmVDbHVzdGVycycsCiAgICAgICAgICAgICdhY2NlcHRvci5wYXRoJyA9PiAnQ2x1c3RlcnMvKi9DbHVzdGVyU3RhdHVzJywKICAgICAgICApLAogICAgICAgICdDbHVzdGVyQXZhaWxhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdfX0NsdXN0ZXJTdGF0ZScsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnYXZhaWxhYmxlJywKICAgICAgICAgICAgJ2ZhaWx1cmUudmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2RlbGV0aW5nJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2lnbm9yZV9lcnJvcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NsdXN0ZXJOb3RGb3VuZCcsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ2x1c3RlckRlbGV0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ19fQ2x1c3RlclN0YXRlJywKICAgICAgICAgICAgJ3N1Y2Nlc3MudHlwZScgPT4gJ2Vycm9yJywKICAgICAgICAgICAgJ3N1Y2Nlc3MudmFsdWUnID0+ICdDbHVzdGVyTm90Rm91bmQnLAogICAgICAgICAgICAnZmFpbHVyZS52YWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnY3JlYXRpbmcnLAogICAgICAgICAgICAgICAgJ3JlYm9vdGluZycsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU25hcHNob3RBdmFpbGFibGUnID0+IGFycmF5KAogICAgICAgICAgICAnaW50ZXJ2YWwnID0+IDE1LAogICAgICAgICAgICAnbWF4X2F0dGVtcHRzJyA9PiAyMCwKICAgICAgICAgICAgJ29wZXJhdGlvbicgPT4gJ0Rlc2NyaWJlQ2x1c3RlclNuYXBzaG90cycsCiAgICAgICAgICAgICdhY2NlcHRvci5wYXRoJyA9PiAnU25hcHNob3RzLyovU3RhdHVzJywKICAgICAgICAgICAgJ3N1Y2Nlc3MudmFsdWUnID0+ICdhdmFpbGFibGUnLAogICAgICAgICAgICAnZmFpbHVyZS52YWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZmFpbGVkJywKICAgICAgICAgICAgICAgICdkZWxldGVkJywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Enum/Action.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIEFjdGlvbiB2YWx1ZXMKICovCmNsYXNzIEFjdGlvbiBleHRlbmRzIEVudW0KewogICAgY29uc3QgQ1JFQVRFID0gJ0NSRUFURSc7CiAgICBjb25zdCBERUxFVEUgPSAnREVMRVRFJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Enum/HealthCheckType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIEhlYWx0aENoZWNrVHlwZSB2YWx1ZXMKICovCmNsYXNzIEhlYWx0aENoZWNrVHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgSFRUUCA9ICdIVFRQJzsKICAgIGNvbnN0IFRDUCA9ICdUQ1AnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Enum/RecordType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIFJlY29yZFR5cGUgdmFsdWVzCiAqLwpjbGFzcyBSZWNvcmRUeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBTT0EgPSAnU09BJzsKICAgIGNvbnN0IEEgPSAnQSc7CiAgICBjb25zdCBUWFQgPSAnVFhUJzsKICAgIGNvbnN0IE5TID0gJ05TJzsKICAgIGNvbnN0IENOQU1FID0gJ0NOQU1FJzsKICAgIGNvbnN0IE1YID0gJ01YJzsKICAgIGNvbnN0IFBUUiA9ICdQVFInOwogICAgY29uc3QgU1JWID0gJ1NSVic7CiAgICBjb25zdCBTUEYgPSAnU1BGJzsKICAgIGNvbnN0IEFBQUEgPSAnQUFBQSc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Enum/ResourceRecordSetFailover.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIFJlc291cmNlUmVjb3JkU2V0RmFpbG92ZXIgdmFsdWVzCiAqLwpjbGFzcyBSZXNvdXJjZVJlY29yZFNldEZhaWxvdmVyIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBQUklNQVJZID0gJ1BSSU1BUlknOwogICAgY29uc3QgU0VDT05EQVJZID0gJ1NFQ09OREFSWSc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Enum/Status.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFbnVtOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCi8qKgogKiBDb250YWlucyBlbnVtZXJhYmxlIFN0YXR1cyB2YWx1ZXMKICovCmNsYXNzIFN0YXR1cyBleHRlbmRzIEVudW0KewogICAgY29uc3QgUEVORElORyA9ICdQRU5ESU5HJzsKICAgIGNvbnN0IElOU1lOQyA9ICdJTlNZTkMnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/DelegationSetNotAvailableException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247CgovKioKICogUm91dGUgNTMgYWxsb3dzIHNvbWUgZHVwbGljYXRlIGRvbWFpbiBuYW1lcywgYnV0IHRoZXJlIGlzIGEgbWF4aW11bSBudW1iZXIgb2YgZHVwbGljYXRlIG5hbWVzLiBUaGlzIGVycm9yIGluZGljYXRlcyB0aGF0IHlvdSBoYXZlIHJlYWNoZWQgdGhhdCBtYXhpbXVtLiBJZiB5b3Ugd2FudCB0byBjcmVhdGUgYW5vdGhlciBob3N0ZWQgem9uZSB3aXRoIHRoZSBzYW1lIG5hbWUgYW5kIFJvdXRlIDUzIGdlbmVyYXRlcyB0aGlzIGVycm9yLCB5b3UgY2FuIHJlcXVlc3QgYW4gaW5jcmVhc2UgdG8gdGhlIGxpbWl0IG9uIHRoZSBDb250YWN0IFVzIHBhZ2UuCiAqLwpjbGFzcyBEZWxlZ2F0aW9uU2V0Tm90QXZhaWxhYmxlRXhjZXB0aW9uIGV4dGVuZHMgUm91dGU1M0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/HealthCheckAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247CgovKioKICogVGhlIGhlYWx0aCBjaGVjayB5b3UgYXJlIHRyeWluZyB0byBjcmVhdGUgYWxyZWFkeSBleGlzdHMuIFJvdXRlIDUzIHJldHVybnMgdGhpcyBlcnJvciB3aGVuIGEgaGVhbHRoIGNoZWNrIGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgQ2FsbGVyUmVmZXJlbmNlLgogKi8KY2xhc3MgSGVhbHRoQ2hlY2tBbHJlYWR5RXhpc3RzRXhjZXB0aW9uIGV4dGVuZHMgUm91dGU1M0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/HealthCheckInUseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247CgovKioKICogVGhlcmUgYXJlIHJlc291cmNlIHJlY29yZHMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgaGVhbHRoIGNoZWNrLiBCZWZvcmUgeW91IGNhbiBkZWxldGUgdGhlIGhlYWx0aCBjaGVjaywgeW91IG11c3QgZGlzYXNzb2NpYXRlIGl0IGZyb20gdGhlIHJlc291cmNlIHJlY29yZCBzZXRzLgogKi8KY2xhc3MgSGVhbHRoQ2hlY2tJblVzZUV4Y2VwdGlvbiBleHRlbmRzIFJvdXRlNTNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/HostedZoneAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247CgovKioKICogVGhlIGhvc3RlZCB6b25lIHlvdSBhcmUgdHJ5aW5nIHRvIGNyZWF0ZSBhbHJlYWR5IGV4aXN0cy4gUm91dGUgNTMgcmV0dXJucyB0aGlzIGVycm9yIHdoZW4gYSBob3N0ZWQgem9uZSBoYXMgYWxyZWFkeSBiZWVuIGNyZWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIENhbGxlclJlZmVyZW5jZS4KICovCmNsYXNzIEhvc3RlZFpvbmVBbHJlYWR5RXhpc3RzRXhjZXB0aW9uIGV4dGVuZHMgUm91dGU1M0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/HostedZoneNotEmptyException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247CgovKioKICogVGhlIGhvc3RlZCB6b25lIGNvbnRhaW5zIHJlc291cmNlIHJlY29yZCBzZXRzIGluIGFkZGl0aW9uIHRvIHRoZSBkZWZhdWx0IE5TIGFuZCBTT0EgcmVzb3VyY2UgcmVjb3JkIHNldHMuIEJlZm9yZSB5b3UgY2FuIGRlbGV0ZSB0aGUgaG9zdGVkIHpvbmUsIHlvdSBtdXN0IGRlbGV0ZSB0aGUgYWRkaXRpb25hbCByZXNvdXJjZSByZWNvcmQgc2V0cy4KICovCmNsYXNzIEhvc3RlZFpvbmVOb3RFbXB0eUV4Y2VwdGlvbiBleHRlbmRzIFJvdXRlNTNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/InvalidChangeBatchException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247CgovKioKICogVGhpcyBlcnJvciBjb250YWlucyBhIGxpc3Qgb2Ygb25lIG9yIG1vcmUgZXJyb3IgbWVzc2FnZXMuIEVhY2ggZXJyb3IgbWVzc2FnZSBpbmRpY2F0ZXMgb25lIGVycm9yIGluIHRoZSBjaGFuZ2UgYmF0Y2guIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgRXhhbXBsZSBJbnZhbGlkQ2hhbmdlQmF0Y2ggRXJyb3JzLgogKi8KY2xhc3MgSW52YWxpZENoYW5nZUJhdGNoRXhjZXB0aW9uIGV4dGVuZHMgUm91dGU1M0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/InvalidDomainNameException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247CgovKioKICogVGhpcyBlcnJvciBpbmRpY2F0ZXMgdGhhdCB0aGUgc3BlY2lmaWVkIGRvbWFpbiBuYW1lIGlzIG5vdCB2YWxpZC4KICovCmNsYXNzIEludmFsaWREb21haW5OYW1lRXhjZXB0aW9uIGV4dGVuZHMgUm91dGU1M0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/InvalidInputException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247CgovKioKICogU29tZSB2YWx1ZSBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3QgaXMgaW52YWxpZCBvciB0aGUgWE1MIGRvY3VtZW50IGlzIG1hbGZvcm1lZC4KICovCmNsYXNzIEludmFsaWRJbnB1dEV4Y2VwdGlvbiBleHRlbmRzIFJvdXRlNTNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/NoSuchChangeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBOb1N1Y2hDaGFuZ2VFeGNlcHRpb24gZXJyb3IgaXMgZW5jb3VudGVyZWQKICovCmNsYXNzIE5vU3VjaENoYW5nZUV4Y2VwdGlvbiBleHRlbmRzIFJvdXRlNTNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/NoSuchHealthCheckException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247CgovKioKICogVGhlIGhlYWx0aCBjaGVjayB5b3UgYXJlIHRyeWluZyB0byBnZXQgb3IgZGVsZXRlIGRvZXMgbm90IGV4aXN0LgogKi8KY2xhc3MgTm9TdWNoSGVhbHRoQ2hlY2tFeGNlcHRpb24gZXh0ZW5kcyBSb3V0ZTUzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/NoSuchHostedZoneException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBOb1N1Y2hIb3N0ZWRab25lRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBOb1N1Y2hIb3N0ZWRab25lRXhjZXB0aW9uIGV4dGVuZHMgUm91dGU1M0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/PriorRequestNotCompleteException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247CgovKioKICogVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgUm91dGUgNTMgd2FzIHN0aWxsIHByb2Nlc3NpbmcgYSBwcmlvciByZXF1ZXN0LgogKi8KY2xhc3MgUHJpb3JSZXF1ZXN0Tm90Q29tcGxldGVFeGNlcHRpb24gZXh0ZW5kcyBSb3V0ZTUzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/Route53Exception.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uOwoKLyoqCiAqIERlZmF1bHQgc2VydmljZSBleGNlcHRpb24gY2xhc3MKICovCmNsYXNzIFJvdXRlNTNFeGNlcHRpb24gZXh0ZW5kcyBTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/TooManyHealthChecksException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gYSBUb29NYW55SGVhbHRoQ2hlY2tzRXhjZXB0aW9uIGVycm9yIGlzIGVuY291bnRlcmVkCiAqLwpjbGFzcyBUb29NYW55SGVhbHRoQ2hlY2tzRXhjZXB0aW9uIGV4dGVuZHMgUm91dGU1M0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Exception/TooManyHostedZonesException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1M1xFeGNlcHRpb247CgovKioKICogVGhpcyBlcnJvciBpbmRpY2F0ZXMgdGhhdCB5b3UndmUgcmVhY2hlZCB0aGUgbWF4aW11bSBudW1iZXIgb2YgaG9zdGVkIHpvbmVzIHRoYXQgY2FuIGJlIGNyZWF0ZWQgZm9yIHRoZSBjdXJyZW50IEFXUyBhY2NvdW50LiBZb3UgY2FuIHJlcXVlc3QgYW4gaW5jcmVhc2UgdG8gdGhlIGxpbWl0IG9uIHRoZSBDb250YWN0IFVzIHBhZ2UuCiAqLwpjbGFzcyBUb29NYW55SG9zdGVkWm9uZXNFeGNlcHRpb24gZXh0ZW5kcyBSb3V0ZTUzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Resources/route53-2012-12-12.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTItMTItMTInLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAncm91dGU1MycsCiAgICAnc2VydmljZUZ1bGxOYW1lJyA9PiAnQW1hem9uIFJvdXRlIDUzJywKICAgICdzZXJ2aWNlQWJicmV2aWF0aW9uJyA9PiAnUm91dGUgNTMnLAogICAgJ3NlcnZpY2VUeXBlJyA9PiAncmVzdC14bWwnLAogICAgJ2dsb2JhbEVuZHBvaW50JyA9PiAncm91dGU1My5hbWF6b25hd3MuY29tJywKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjNodHRwcycsCiAgICAnbmFtZXNwYWNlJyA9PiAnUm91dGU1MycsCiAgICAncmVnaW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ3VzLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdyb3V0ZTUzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdyb3V0ZTUzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdyb3V0ZTUzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2V1LXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdyb3V0ZTUzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLW5vcnRoZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3JvdXRlNTMuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAncm91dGU1My5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdyb3V0ZTUzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3NhLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdyb3V0ZTUzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICApLAogICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICdDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMTItMTIvaG9zdGVkem9uZS97SG9zdGVkWm9uZUlkfS9ycnNldC8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NoYW5nZVJlc291cmNlUmVjb3JkU2V0c1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3htbFJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzUmVxdWVzdCcsCiAgICAgICAgICAgICAgICAgICAgJ25hbWVzcGFjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnaHR0cHM6Ly9yb3V0ZTUzLmFtYXpvbmF3cy5jb20vZG9jLzIwMTItMTItMTIvJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0hvc3RlZFpvbmVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDMyLAogICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0F3c1xcUm91dGU1M1xcUm91dGU1M0NsaWVudDo6Y2xlYW5JZCcsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2hhbmdlQmF0Y2gnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NoYW5nZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluSXRlbXMnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2hhbmdlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlUmVjb3JkU2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXRJZGVudGlmaWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2VpZ2h0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDI1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWdpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZhaWxvdmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RUTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAyMTQ3NDgzNjQ3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlUmVjb3JkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluSXRlbXMnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Jlc291cmNlUmVjb3JkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGlhc1RhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hvc3RlZFpvbmVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRE5TTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFdmFsdWF0ZVRhcmdldEhlYWx0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSGVhbHRoQ2hlY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hIb3N0ZWRab25lRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGhlYWx0aCBjaGVjayB5b3UgYXJlIHRyeWluZyB0byBnZXQgb3IgZGVsZXRlIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoSGVhbHRoQ2hlY2tFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGVycm9yIGNvbnRhaW5zIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBlcnJvciBtZXNzYWdlcy4gRWFjaCBlcnJvciBtZXNzYWdlIGluZGljYXRlcyBvbmUgZXJyb3IgaW4gdGhlIGNoYW5nZSBiYXRjaC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBFeGFtcGxlIEludmFsaWRDaGFuZ2VCYXRjaCBFcnJvcnMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQ2hhbmdlQmF0Y2hFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdTb21lIHZhbHVlIHNwZWNpZmllZCBpbiB0aGUgcmVxdWVzdCBpcyBpbnZhbGlkIG9yIHRoZSBYTUwgZG9jdW1lbnQgaXMgbWFsZm9ybWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZElucHV0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgUm91dGUgNTMgd2FzIHN0aWxsIHByb2Nlc3NpbmcgYSBwcmlvciByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJpb3JSZXF1ZXN0Tm90Q29tcGxldGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVIZWFsdGhDaGVjaycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0xMi0xMi9oZWFsdGhjaGVjaycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ3JlYXRlSGVhbHRoQ2hlY2tSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd4bWxSb290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NyZWF0ZUhlYWx0aENoZWNrUmVxdWVzdCcsCiAgICAgICAgICAgICAgICAgICAgJ25hbWVzcGFjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnaHR0cHM6Ly9yb3V0ZTUzLmFtYXpvbmF3cy5jb20vZG9jLzIwMTItMTItMTIvJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0hlYWx0aENoZWNrQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSVBBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDE1LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gNjU1MzUsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdGdWxseVF1YWxpZmllZERvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueUhlYWx0aENoZWNrc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBoZWFsdGggY2hlY2sgeW91IGFyZSB0cnlpbmcgdG8gY3JlYXRlIGFscmVhZHkgZXhpc3RzLiBSb3V0ZSA1MyByZXR1cm5zIHRoaXMgZXJyb3Igd2hlbiBhIGhlYWx0aCBjaGVjayBoYXMgYWxyZWFkeSBiZWVuIGNyZWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIENhbGxlclJlZmVyZW5jZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0hlYWx0aENoZWNrQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1NvbWUgdmFsdWUgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IGlzIGludmFsaWQgb3IgdGhlIFhNTCBkb2N1bWVudCBpcyBtYWxmb3JtZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkSW5wdXRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVIb3N0ZWRab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTEyLTEyL2hvc3RlZHpvbmUnLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZUhvc3RlZFpvbmVSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd4bWxSb290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NyZWF0ZUhvc3RlZFpvbmVSZXF1ZXN0JywKICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwczovL3JvdXRlNTMuYW1hem9uYXdzLmNvbS9kb2MvMjAxMi0xMi0xMi8nLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTI4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdIb3N0ZWRab25lQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGVycm9yIGluZGljYXRlcyB0aGF0IHRoZSBzcGVjaWZpZWQgZG9tYWluIG5hbWUgaXMgbm90IHZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZERvbWFpbk5hbWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgaG9zdGVkIHpvbmUgeW91IGFyZSB0cnlpbmcgdG8gY3JlYXRlIGFscmVhZHkgZXhpc3RzLiBSb3V0ZSA1MyByZXR1cm5zIHRoaXMgZXJyb3Igd2hlbiBhIGhvc3RlZCB6b25lIGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgQ2FsbGVyUmVmZXJlbmNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSG9zdGVkWm9uZUFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGlzIGVycm9yIGluZGljYXRlcyB0aGF0IHlvdVwndmUgcmVhY2hlZCB0aGUgbWF4aW11bSBudW1iZXIgb2YgaG9zdGVkIHpvbmVzIHRoYXQgY2FuIGJlIGNyZWF0ZWQgZm9yIHRoZSBjdXJyZW50IEFXUyBhY2NvdW50LiBZb3UgY2FuIHJlcXVlc3QgYW4gaW5jcmVhc2UgdG8gdGhlIGxpbWl0IG9uIHRoZSBDb250YWN0IFVzIHBhZ2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUb29NYW55SG9zdGVkWm9uZXNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdTb21lIHZhbHVlIHNwZWNpZmllZCBpbiB0aGUgcmVxdWVzdCBpcyBpbnZhbGlkIG9yIHRoZSBYTUwgZG9jdW1lbnQgaXMgbWFsZm9ybWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZElucHV0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUm91dGUgNTMgYWxsb3dzIHNvbWUgZHVwbGljYXRlIGRvbWFpbiBuYW1lcywgYnV0IHRoZXJlIGlzIGEgbWF4aW11bSBudW1iZXIgb2YgZHVwbGljYXRlIG5hbWVzLiBUaGlzIGVycm9yIGluZGljYXRlcyB0aGF0IHlvdSBoYXZlIHJlYWNoZWQgdGhhdCBtYXhpbXVtLiBJZiB5b3Ugd2FudCB0byBjcmVhdGUgYW5vdGhlciBob3N0ZWQgem9uZSB3aXRoIHRoZSBzYW1lIG5hbWUgYW5kIFJvdXRlIDUzIGdlbmVyYXRlcyB0aGlzIGVycm9yLCB5b3UgY2FuIHJlcXVlc3QgYW4gaW5jcmVhc2UgdG8gdGhlIGxpbWl0IG9uIHRoZSBDb250YWN0IFVzIHBhZ2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEZWxlZ2F0aW9uU2V0Tm90QXZhaWxhYmxlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlSGVhbHRoQ2hlY2snID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0RFTEVURScsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0xMi0xMi9oZWFsdGhjaGVjay97SGVhbHRoQ2hlY2tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RlbGV0ZUhlYWx0aENoZWNrUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSGVhbHRoQ2hlY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgaGVhbHRoIGNoZWNrIHlvdSBhcmUgdHJ5aW5nIHRvIGdldCBvciBkZWxldGUgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hIZWFsdGhDaGVja0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZXJlIGFyZSByZXNvdXJjZSByZWNvcmRzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGhlYWx0aCBjaGVjay4gQmVmb3JlIHlvdSBjYW4gZGVsZXRlIHRoZSBoZWFsdGggY2hlY2ssIHlvdSBtdXN0IGRpc2Fzc29jaWF0ZSBpdCBmcm9tIHRoZSByZXNvdXJjZSByZWNvcmQgc2V0cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0hlYWx0aENoZWNrSW5Vc2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdTb21lIHZhbHVlIHNwZWNpZmllZCBpbiB0aGUgcmVxdWVzdCBpcyBpbnZhbGlkIG9yIHRoZSBYTUwgZG9jdW1lbnQgaXMgbWFsZm9ybWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZElucHV0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlSG9zdGVkWm9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnREVMRVRFJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTEyLTEyL2hvc3RlZHpvbmUve0lkfScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVsZXRlSG9zdGVkWm9uZVJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzIsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXdzXFxSb3V0ZTUzXFxSb3V0ZTUzQ2xpZW50OjpjbGVhbklkJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEhvc3RlZFpvbmVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgaG9zdGVkIHpvbmUgY29udGFpbnMgcmVzb3VyY2UgcmVjb3JkIHNldHMgaW4gYWRkaXRpb24gdG8gdGhlIGRlZmF1bHQgTlMgYW5kIFNPQSByZXNvdXJjZSByZWNvcmQgc2V0cy4gQmVmb3JlIHlvdSBjYW4gZGVsZXRlIHRoZSBob3N0ZWQgem9uZSwgeW91IG11c3QgZGVsZXRlIHRoZSBhZGRpdGlvbmFsIHJlc291cmNlIHJlY29yZCBzZXRzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSG9zdGVkWm9uZU5vdEVtcHR5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgUm91dGUgNTMgd2FzIHN0aWxsIHByb2Nlc3NpbmcgYSBwcmlvciByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUHJpb3JSZXF1ZXN0Tm90Q29tcGxldGVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdTb21lIHZhbHVlIHNwZWNpZmllZCBpbiB0aGUgcmVxdWVzdCBpcyBpbnZhbGlkIG9yIHRoZSBYTUwgZG9jdW1lbnQgaXMgbWFsZm9ybWVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZElucHV0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0Q2hhbmdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnLzIwMTItMTItMTIvY2hhbmdlL3tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldENoYW5nZVJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzIsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXdzXFxSb3V0ZTUzXFxSb3V0ZTUzQ2xpZW50OjpjbGVhbklkJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaENoYW5nZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1NvbWUgdmFsdWUgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IGlzIGludmFsaWQgb3IgdGhlIFhNTCBkb2N1bWVudCBpcyBtYWxmb3JtZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkSW5wdXRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRIZWFsdGhDaGVjaycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTEyLTEyL2hlYWx0aGNoZWNrL3tIZWFsdGhDaGVja0lkfScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0SGVhbHRoQ2hlY2tSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdIZWFsdGhDaGVja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBoZWFsdGggY2hlY2sgeW91IGFyZSB0cnlpbmcgdG8gZ2V0IG9yIGRlbGV0ZSBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaEhlYWx0aENoZWNrRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnU29tZSB2YWx1ZSBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3QgaXMgaW52YWxpZCBvciB0aGUgWE1MIGRvY3VtZW50IGlzIG1hbGZvcm1lZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRJbnB1dEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEhvc3RlZFpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0xMi0xMi9ob3N0ZWR6b25lL3tJZH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldEhvc3RlZFpvbmVSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDMyLAogICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0F3c1xcUm91dGU1M1xcUm91dGU1M0NsaWVudDo6Y2xlYW5JZCcsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hIb3N0ZWRab25lRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnU29tZSB2YWx1ZSBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3QgaXMgaW52YWxpZCBvciB0aGUgWE1MIGRvY3VtZW50IGlzIG1hbGZvcm1lZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRJbnB1dEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RIZWFsdGhDaGVja3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0xMi0xMi9oZWFsdGhjaGVjaycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdEhlYWx0aENoZWNrc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWFya2VyJywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21heGl0ZW1zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnU29tZSB2YWx1ZSBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3QgaXMgaW52YWxpZCBvciB0aGUgWE1MIGRvY3VtZW50IGlzIG1hbGZvcm1lZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRJbnB1dEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RIb3N0ZWRab25lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8yMDEyLTEyLTEyL2hvc3RlZHpvbmUnLAogICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RIb3N0ZWRab25lc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWFya2VyJywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21heGl0ZW1zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnU29tZSB2YWx1ZSBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3QgaXMgaW52YWxpZCBvciB0aGUgWE1MIGRvY3VtZW50IGlzIG1hbGZvcm1lZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRJbnB1dEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RSZXNvdXJjZVJlY29yZFNldHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvMjAxMi0xMi0xMi9ob3N0ZWR6b25lL3tIb3N0ZWRab25lSWR9L3Jyc2V0JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0UmVzb3VyY2VSZWNvcmRTZXRzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSG9zdGVkWm9uZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzIsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXdzXFxSb3V0ZTUzXFxSb3V0ZTUzQ2xpZW50OjpjbGVhbklkJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFydFJlY29yZE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25hbWUnLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXJ0UmVjb3JkVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndHlwZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXJ0UmVjb3JkSWRlbnRpZmllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaWRlbnRpZmllcicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtYXhpdGVtcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoSG9zdGVkWm9uZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1NvbWUgdmFsdWUgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IGlzIGludmFsaWQgb3IgdGhlIFhNTCBkb2N1bWVudCBpcyBtYWxmb3JtZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkSW5wdXRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICdDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ2hhbmdlSW5mbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym1pdHRlZEF0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUhlYWx0aENoZWNrUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0hlYWx0aENoZWNrJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSGVhbHRoQ2hlY2tDb25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJUEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZVBhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRnVsbHlRdWFsaWZpZWREb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlSG9zdGVkWm9uZVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdIb3N0ZWRab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VSZWNvcmRTZXRDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NoYW5nZUluZm8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdWJtaXR0ZWRBdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZWxlZ2F0aW9uU2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lU2VydmVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOYW1lU2VydmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ05hbWVTZXJ2ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2NhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUhlYWx0aENoZWNrUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUhvc3RlZFpvbmVSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ2hhbmdlSW5mbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N1Ym1pdHRlZEF0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldENoYW5nZVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDaGFuZ2VJbmZvJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU3VibWl0dGVkQXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ29tbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0SGVhbHRoQ2hlY2tSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSGVhbHRoQ2hlY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdIZWFsdGhDaGVja0NvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lQQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlUGF0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGdWxseVF1YWxpZmllZERvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0SG9zdGVkWm9uZVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdIb3N0ZWRab25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdDb25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VSZWNvcmRTZXRDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlbGVnYXRpb25TZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWVTZXJ2ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ05hbWVTZXJ2ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTmFtZVNlcnZlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RIZWFsdGhDaGVja3NSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSGVhbHRoQ2hlY2tzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSGVhbHRoQ2hlY2snLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdIZWFsdGhDaGVjaycsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSGVhbHRoQ2hlY2tDb25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJUEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZVBhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRnVsbHlRdWFsaWZpZWREb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJc1RydW5jYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0TWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0SG9zdGVkWm9uZXNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSG9zdGVkWm9uZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdIb3N0ZWRab25lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSG9zdGVkWm9uZScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb25maWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb21tZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZVJlY29yZFNldENvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJc1RydW5jYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0TWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0UmVzb3VyY2VSZWNvcmRTZXRzUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Jlc291cmNlUmVjb3JkU2V0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1Jlc291cmNlUmVjb3JkU2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUmVzb3VyY2VSZWNvcmRTZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NldElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2VpZ2h0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWdpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRmFpbG92ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVFRMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZVJlY29yZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUmVzb3VyY2VSZWNvcmQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZXNvdXJjZVJlY29yZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGlhc1RhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hvc3RlZFpvbmVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdETlNOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V2YWx1YXRlVGFyZ2V0SGVhbHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSGVhbHRoQ2hlY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJc1RydW5jYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0UmVjb3JkTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRSZWNvcmRUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFJlY29yZElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ2l0ZXJhdG9ycycgPT4gYXJyYXkoCiAgICAgICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnTGlzdEhlYWx0aENoZWNrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbW9yZV9rZXknID0+ICdJc1RydW5jYXRlZCcsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4SXRlbXMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdIZWFsdGhDaGVja3MnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdEhvc3RlZFpvbmVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdtb3JlX2tleScgPT4gJ0lzVHJ1bmNhdGVkJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdNYXhJdGVtcycsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0hvc3RlZFpvbmVzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RSZXNvdXJjZVJlY29yZFNldHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ21vcmVfa2V5JyA9PiAnSXNUcnVuY2F0ZWQnLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ01heEl0ZW1zJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnUmVzb3VyY2VSZWNvcmRTZXRzJywKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0UmVjb3JkTmFtZScsCiAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0UmVjb3JkVHlwZScsCiAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0UmVjb3JkSWRlbnRpZmllcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ05leHRSZWNvcmROYW1lJywKICAgICAgICAgICAgICAgICAgICAnTmV4dFJlY29yZFR5cGUnLAogICAgICAgICAgICAgICAgICAgICdOZXh0UmVjb3JkSWRlbnRpZmllcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Route53/Route53Client.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUm91dGU1MzsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxBYnN0cmFjdENsaWVudDsKdXNlIEF3c1xDb21tb25cQ2xpZW50XENsaWVudEJ1aWxkZXI7CnVzZSBBd3NcQ29tbW9uXEVudW1cQ2xpZW50T3B0aW9ucyBhcyBPcHRpb25zOwp1c2UgQXdzXENvbW1vblxFbnVtXERhdGVGb3JtYXQ7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb247CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2U7CgovKioKICogQ2xpZW50IHRvIGludGVyYWN0IHdpdGggQW1hem9uIFJvdXRlIDUzCiAqCiAqIEBtZXRob2QgTW9kZWwgY2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJvdXRlNTMgQ2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZUhlYWx0aENoZWNrKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJvdXRlNTMgQ3JlYXRlSGVhbHRoQ2hlY2t9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlSG9zdGVkWm9uZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSb3V0ZTUzIENyZWF0ZUhvc3RlZFpvbmV9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlSGVhbHRoQ2hlY2soYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUm91dGU1MyBEZWxldGVIZWFsdGhDaGVja30KICogQG1ldGhvZCBNb2RlbCBkZWxldGVIb3N0ZWRab25lKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJvdXRlNTMgRGVsZXRlSG9zdGVkWm9uZX0KICogQG1ldGhvZCBNb2RlbCBnZXRDaGFuZ2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUm91dGU1MyBHZXRDaGFuZ2V9CiAqIEBtZXRob2QgTW9kZWwgZ2V0SGVhbHRoQ2hlY2soYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUm91dGU1MyBHZXRIZWFsdGhDaGVja30KICogQG1ldGhvZCBNb2RlbCBnZXRIb3N0ZWRab25lKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJvdXRlNTMgR2V0SG9zdGVkWm9uZX0KICogQG1ldGhvZCBNb2RlbCBsaXN0SGVhbHRoQ2hlY2tzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFJvdXRlNTMgTGlzdEhlYWx0aENoZWNrc30KICogQG1ldGhvZCBNb2RlbCBsaXN0SG9zdGVkWm9uZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUm91dGU1MyBMaXN0SG9zdGVkWm9uZXN9CiAqIEBtZXRob2QgTW9kZWwgbGlzdFJlc291cmNlUmVjb3JkU2V0cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBSb3V0ZTUzIExpc3RSZXNvdXJjZVJlY29yZFNldHN9CiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0SGVhbHRoQ2hlY2tzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdEhlYWx0aENoZWNrcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RIb3N0ZWRab25lc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RIb3N0ZWRab25lcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RSZXNvdXJjZVJlY29yZFNldHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0UmVzb3VyY2VSZWNvcmRTZXRzIG9wZXJhdGlvbgogKgogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3Qvc2VydmljZS1yb3V0ZTUzLmh0bWwgVXNlciBndWlkZQogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLlJvdXRlNTMuUm91dGU1M0NsaWVudC5odG1sIEFQSSBkb2NzCiAqLwpjbGFzcyBSb3V0ZTUzQ2xpZW50IGV4dGVuZHMgQWJzdHJhY3RDbGllbnQKewogICAgY29uc3QgTEFURVNUX0FQSV9WRVJTSU9OID0gJzIwMTItMTItMTInOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEFtYXpvbiBHbGFjaWVyIGNsaWVudCB1c2luZyBhbiBhcnJheSBvZiBjb25maWd1cmF0aW9uIG9wdGlvbnMuCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gJGNvbmZpZyBDbGllbnQgY29uZmlndXJhdGlvbiBkYXRhCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAc2VlIFxBd3NcQ29tbW9uXENsaWVudFxEZWZhdWx0Q2xpZW50IGZvciBhIGxpc3Qgb2YgYXZhaWxhYmxlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoJGNvbmZpZyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgLy8gU2V0dXAgUm91dGU1MyBjbGllbnQKICAgICAgICByZXR1cm4gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9yb3V0ZTUzLSVzLnBocCcKICAgICAgICAgICAgKSkKICAgICAgICAgICAgLT5idWlsZCgpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0cmlldmVzIHRoZSBzZXJ2ZXIgdGltZSBmcm9tIFJvdXRlNTMuIENhbiBiZSB1c2VmdWwgZm9yIGRldGVjdGluZyBhbmQvb3IgcHJldmVudGluZyBjbG9jayBza2V3LgogICAgICoKICAgICAqIEByZXR1cm4gXERhdGVUaW1lIFRoZSBzZXJ2ZXIgdGltZSBmcm9tIFJvdXRlNTMKICAgICAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL1JvdXRlNTMvbGF0ZXN0L0RldmVsb3Blckd1aWRlL1JFU1RBdXRoZW50aWNhdGlvbi5odG1sI0ZldGNoaW5nRGF0ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2VydmVyVGltZSgpCiAgICB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHJlc3BvbnNlID0gJHRoaXMtPmdldCgnaHR0cHM6Ly9yb3V0ZTUzLmFtYXpvbmF3cy5jb20vZGF0ZScpLT5zZW5kKCk7CiAgICAgICAgfSBjYXRjaCAoU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICRyZXNwb25zZSA9ICRlLT5nZXRSZXNwb25zZSgpOwogICAgICAgIH0KCiAgICAgICAgJHNlcnZlclRpbWUgPSB0cmltKCRyZXNwb25zZS0+Z2V0SGVhZGVyKCdEYXRlJywgdHJ1ZSkpOwogICAgICAgICRzZXJ2ZXJUaW1lID0gXERhdGVUaW1lOjpjcmVhdGVGcm9tRm9ybWF0KERhdGVGb3JtYXQ6OlJGQzExMjMsICRzZXJ2ZXJUaW1lKTsKCiAgICAgICAgcmV0dXJuICRzZXJ2ZXJUaW1lOwogICAgfQoKICAgIC8qKgogICAgICogRmlsdGVyIGZ1bmN0aW9uIHVzZWQgdG8gcmVtb3ZlIElEIHByZWZpeGVzLiBUaGlzIGlzIHVzZWQgYXV0b21hdGljYWxseSBieSB0aGUgY2xpZW50IHNvIHRoYXQgSG9zdGVkIFpvbmUgYW5kCiAgICAgKiBDaGFuZ2UgUmVjb3JkIElEcyBjYW4gYmUgc3BlY2lmaWVkIHdpdGggb3Igd2l0aG91dCB0aGUgcHJlZml4LgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGlkIFRoZSBJRCB2YWx1ZSB0byBjbGVhbgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY2xlYW5JZCgkaWQpCiAgICB7CiAgICAgICAgcmV0dXJuIHN0cl9yZXBsYWNlKGFycmF5KCcvaG9zdGVkem9uZS8nLCAnL2NoYW5nZS8nKSwgJycsICRpZCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/AcpListener.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzM7Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgQXdzXFMzXE1vZGVsXEFjcDsKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlOwoKLyoqCiAqIExpc3RlbmVyIHVzZWQgdG8gYWRkIGFuIEFjY2VzcyBDb250cm9sIFBvbGljeSB0byBhIHJlcXVlc3QKICovCmNsYXNzIEFjcExpc3RlbmVyIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFN1YnNjcmliZWRFdmVudHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgnY29tbWFuZC5iZWZvcmVfcHJlcGFyZScgPT4gYXJyYXkoJ29uQ29tbWFuZEJlZm9yZVByZXBhcmUnLCAtMjU1KSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBbiBldmVudCBoYW5kbGVyIGZvciBjb25zdHJ1Y3RpbmcgQUNQIGRlZmluaXRpb25zLgogICAgICoKICAgICAqIEBwYXJhbSBFdmVudCAkZXZlbnQgVGhlIGV2ZW50IHRvIHJlc3BvbmQgdG8uCiAgICAgKgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9uQ29tbWFuZEJlZm9yZVByZXBhcmUoRXZlbnQgJGV2ZW50KQogICAgewogICAgICAgIC8qKiBAdmFyICRjb21tYW5kIFxHdXp6bGVcU2VydmljZVxDb21tYW5kXEFic3RyYWN0Q29tbWFuZCAqLwogICAgICAgICRjb21tYW5kID0gJGV2ZW50Wydjb21tYW5kJ107CiAgICAgICAgJG9wZXJhdGlvbiA9ICRjb21tYW5kLT5nZXRPcGVyYXRpb24oKTsKICAgICAgICBpZiAoJG9wZXJhdGlvbi0+aGFzUGFyYW0oJ0FDUCcpICYmICRjb21tYW5kLT5oYXNLZXkoJ0FDUCcpKSB7CiAgICAgICAgICAgIGlmICgkYWNwID0gJGNvbW1hbmQtPmdldCgnQUNQJykpIHsKICAgICAgICAgICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBjb3JyZWN0IG9iamVjdCB3YXMgcGFzc2VkCiAgICAgICAgICAgICAgICBpZiAoISgkYWNwIGluc3RhbmNlb2YgQWNwKSkgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0FDUCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEF3c1xTM1xNb2RlbFxBY3AnKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgdXNlciBzcGVjaWZpZWQgYm90aCBhbiBBQ1AgYW5kIEdyYW50cwogICAgICAgICAgICAgICAgaWYgKCRjb21tYW5kLT5oYXNLZXkoJ0dyYW50cycpKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigKICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZSBlaXRoZXIgdGhlIEFDUCBwYXJhbWV0ZXIgb3IgdGhlIEdyYW50cyBwYXJhbWV0ZXIuIERvIG5vdCB1c2UgYm90aC4nCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIGNvcnJlY3QgaGVhZGVycy9ib2R5IGJhc2VkIHBhcmFtZXRlcnMgdG8gdGhlIGNvbW1hbmQKICAgICAgICAgICAgICAgIGlmICgkb3BlcmF0aW9uLT5oYXNQYXJhbSgnR3JhbnRzJykpIHsKICAgICAgICAgICAgICAgICAgICAkY29tbWFuZC0+b3ZlcndyaXRlV2l0aCgkYWNwLT50b0FycmF5KCkpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkYWNwLT51cGRhdGVDb21tYW5kKCRjb21tYW5kKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBBQ1AgcGFyYW1ldGVyCiAgICAgICAgICAgICRjb21tYW5kLT5yZW1vdmUoJ0FDUCcpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/BucketStyleListener.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzM7Cgp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CgovKioKICogTGlzdGVuZXIgdXNlZCB0byBjaGFuZ2UgdGhlIHdheSBpbiB3aGljaCBidWNrZXRzIGFyZSByZWZlcmVuY2VkIChwYXRoL3ZpcnR1YWwgc3R5bGUpIGJhc2VkIG9uIGNvbnRleHQKICovCmNsYXNzIEJ1Y2tldFN0eWxlTGlzdGVuZXIgaW1wbGVtZW50cyBFdmVudFN1YnNjcmliZXJJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KCdjb21tYW5kLmFmdGVyX3ByZXBhcmUnID0+IGFycmF5KCdvbkNvbW1hbmRBZnRlclByZXBhcmUnLCAtMjU1KSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGFuZ2VzIGhvdyBidWNrZXRzIGFyZSByZWZlcmVuY2VkIGluIHRoZSBIVFRQIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50IEV2ZW50IGVtaXR0ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9uQ29tbWFuZEFmdGVyUHJlcGFyZShFdmVudCAkZXZlbnQpCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSAkZXZlbnRbJ2NvbW1hbmQnXTsKICAgICAgICAkYnVja2V0ID0gJGNvbW1hbmRbJ0J1Y2tldCddOwogICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPmdldFJlcXVlc3QoKTsKICAgICAgICAkcGF0aFN0eWxlID0gZmFsc2U7CgogICAgICAgIGlmICgka2V5ID0gJGNvbW1hbmRbJ0tleSddKSB7CiAgICAgICAgICAgIC8vIE1vZGlmeSB0aGUgY29tbWFuZCBLZXkgdG8gYWNjb3VudCBmb3IgdGhlIHsvS2V5Kn0gZXhwbG9zaW9uIGludG8gYW4gYXJyYXkKICAgICAgICAgICAgaWYgKGlzX2FycmF5KCRrZXkpKSB7CiAgICAgICAgICAgICAgICAkY29tbWFuZFsnS2V5J10gPSAka2V5ID0gaW1wbG9kZSgnLycsICRrZXkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBTZXQgdGhlIGtleSBhbmQgYnVja2V0IG9uIHRoZSByZXF1ZXN0CiAgICAgICAgJHJlcXVlc3QtPmdldFBhcmFtcygpLT5zZXQoJ2J1Y2tldCcsICRidWNrZXQpLT5zZXQoJ2tleScsICRrZXkpOwoKICAgICAgICAvLyBTd2l0Y2ggdG8gdmlydHVhbCBpZiBQYXRoU3R5bGUgaXMgZGlzYWJsZWQsIG9yIG5vdCBhIEROUyBjb21wYXRpYmxlIGJ1Y2tldCBuYW1lLCBvciB0aGUgc2NoZW1lIGlzCiAgICAgICAgLy8gaHR0cCwgb3IgdGhlIHNjaGVtZSBpcyBodHRwcyBhbmQgdGhlcmUgYXJlIG5vIGRvdHMgaW4gdGhlIGhvc3QgaGVhZGVyIChhdm9pZHMgU1NMIGlzc3VlcykKICAgICAgICBpZiAoISRjb21tYW5kWydQYXRoU3R5bGUnXSAmJiAkY29tbWFuZC0+Z2V0Q2xpZW50KCktPmlzVmFsaWRCdWNrZXROYW1lKCRidWNrZXQpCiAgICAgICAgICAgICYmICEoJGNvbW1hbmQtPmdldFJlcXVlc3QoKS0+Z2V0U2NoZW1lKCkgPT0gJ2h0dHBzJyAmJiBzdHJwb3MoJGJ1Y2tldCwgJy4nKSkKICAgICAgICApIHsKICAgICAgICAgICAgLy8gU3dpdGNoIHRvIHZpcnR1YWwgaG9zdGVkIGJ1Y2tldAogICAgICAgICAgICAkcmVxdWVzdC0+c2V0SG9zdCgkYnVja2V0IC4gJy4nIC4gJHJlcXVlc3QtPmdldEhvc3QoKSk7CiAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRQYXRoKHByZWdfcmVwbGFjZSgiI14veyRidWNrZXR9IyIsICcnLCAkcmVxdWVzdC0+Z2V0UGF0aCgpKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHBhdGhTdHlsZSA9IHRydWU7CiAgICAgICAgfQoKICAgICAgICBpZiAoISRidWNrZXQpIHsKICAgICAgICAgICAgJHJlcXVlc3QtPmdldFBhcmFtcygpLT5zZXQoJ3MzLnJlc291cmNlJywgJy8nKTsKICAgICAgICB9IGVsc2VpZiAoJHBhdGhTdHlsZSkgewogICAgICAgICAgICAvLyBQYXRoIHN0eWxlIGRvZXMgbm90IG5lZWQgYSB0cmFpbGluZyBzbGFzaAogICAgICAgICAgICAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPnNldCgKICAgICAgICAgICAgICAgICdzMy5yZXNvdXJjZScsCiAgICAgICAgICAgICAgICAnLycgLiByYXd1cmxlbmNvZGUoJGJ1Y2tldCkgLiAoJGtleSA/ICgnLycgLiBTM0NsaWVudDo6ZW5jb2RlS2V5KCRrZXkpKSA6ICcnKQogICAgICAgICAgICApOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIEJ1Y2tldCBzdHlsZSBuZWVkcyBhIHRyYWlsaW5nIHNsYXNoCiAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+c2V0KAogICAgICAgICAgICAgICAgJ3MzLnJlc291cmNlJywKICAgICAgICAgICAgICAgICcvJyAuIHJhd3VybGVuY29kZSgkYnVja2V0KSAuICgka2V5ID8gKCcvJyAuIFMzQ2xpZW50OjplbmNvZGVLZXkoJGtleSkpIDogJy8nKQogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Command/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Command/S3Command.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcQ29tbWFuZDsKCnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXE9wZXJhdGlvbkNvbW1hbmQ7CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CgovKioKICogQWRkcyBmdW5jdGlvbmFsaXR5IHRvIEFtYXpvbiBTMyBjb21tYW5kczoKICogLSBBZGRzIHRoZSBQdXRPYmplY3QgVVJMIHRvIGEgcmVzcG9uc2UKICogLSBBbGxvd3MgY3JlYXRpbmcgYSBQcmUtc2lnbmVkIFVSTCBmcm9tIGFueSBjb21tYW5kCiAqLwpjbGFzcyBTM0NvbW1hbmQgZXh0ZW5kcyBPcGVyYXRpb25Db21tYW5kCnsKICAgIC8qKgogICAgICogQ3JlYXRlIGEgcHJlLXNpZ25lZCBVUkwgZm9yIHRoZSBvcGVyYXRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gaW50fHN0cmluZyAkZXhwaXJlcyBUaGUgVW5peCB0aW1lc3RhbXAgdG8gZXhwaXJlIGF0IG9yIGEgc3RyaW5nIHRoYXQgY2FuIGJlIGV2YWx1YXRlZCBieSBzdHJ0b3RpbWUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY3JlYXRlUHJlc2lnbmVkVXJsKCRleHBpcmVzKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2xpZW50LT5jcmVhdGVQcmVzaWduZWRVcmwoJHRoaXMtPnByZXBhcmUoKSwgJGV4cGlyZXMpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJvY2VzcygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+Z2V0UmVxdWVzdCgpOwogICAgICAgICRyZXNwb25zZSA9ICR0aGlzLT5nZXRSZXNwb25zZSgpOwoKICAgICAgICAvLyBEaXNwYXRjaCBhbiBlcnJvciBpZiBhIDMwMSByZWRpcmVjdCBvY2N1cnJlZAogICAgICAgIGlmICgkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSA9PSAzMDEpIHsKICAgICAgICAgICAgJHRoaXMtPmdldENsaWVudCgpLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+ZGlzcGF0Y2goJ3JlcXVlc3QuZXJyb3InLCBuZXcgRXZlbnQoYXJyYXkoCiAgICAgICAgICAgICAgICAncmVxdWVzdCcgID0+ICR0aGlzLT5nZXRSZXF1ZXN0KCksCiAgICAgICAgICAgICAgICAncmVzcG9uc2UnID0+ICRyZXNwb25zZQogICAgICAgICAgICApKSk7CiAgICAgICAgfQoKICAgICAgICBwYXJlbnQ6OnByb2Nlc3MoKTsKCiAgICAgICAgLy8gU2V0IHRoZSBHZXRPYmplY3QgVVJMIGlmIHVzaW5nIHRoZSBQdXRPYmplY3Qgb3BlcmF0aW9uCiAgICAgICAgaWYgKCR0aGlzLT5yZXN1bHQgaW5zdGFuY2VvZiBNb2RlbCAmJiAkdGhpcy0+Z2V0TmFtZSgpID09ICdQdXRPYmplY3QnKSB7CiAgICAgICAgICAgICR0aGlzLT5yZXN1bHQtPnNldCgnT2JqZWN0VVJMJywgJHJlcXVlc3QtPmdldFVybCgpKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/CannedAcl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBDYW5uZWRBY2wgdmFsdWVzCiAqLwpjbGFzcyBDYW5uZWRBY2wgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFBSSVZBVEVfQUNDRVNTID0gJ3ByaXZhdGUnOwogICAgY29uc3QgUFVCTElDX1JFQUQgPSAncHVibGljLXJlYWQnOwogICAgY29uc3QgUFVCTElDX1JFQURfV1JJVEUgPSAncHVibGljLXJlYWQtd3JpdGUnOwogICAgY29uc3QgQVVUSEVOVElDQVRFRF9SRUFEID0gJ2F1dGhlbnRpY2F0ZWQtcmVhZCc7CiAgICBjb25zdCBCVUNLRVRfT1dORVJfUkVBRCA9ICdidWNrZXQtb3duZXItcmVhZCc7CiAgICBjb25zdCBCVUNLRVRfT1dORVJfRlVMTF9DT05UUk9MID0gJ2J1Y2tldC1vd25lci1mdWxsLWNvbnRyb2wnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/EncodingType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBFbmNvZGluZ1R5cGUgdmFsdWVzCiAqLwpjbGFzcyBFbmNvZGluZ1R5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFVSTCA9ICd1cmwnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/Event.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBFdmVudCB2YWx1ZXMKICovCmNsYXNzIEV2ZW50IGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBSRURVQ0VEX1JFRFVOREFOQ1lfTE9TVF9PQkpFQ1QgPSAnczM6UmVkdWNlZFJlZHVuZGFuY3lMb3N0T2JqZWN0JzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/GranteeType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBHcmFudGVlVHlwZSB2YWx1ZXMKICovCmNsYXNzIEdyYW50ZWVUeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBVU0VSID0gJ0Nhbm9uaWNhbFVzZXInOwogICAgY29uc3QgRU1BSUwgPSAnQW1hem9uQ3VzdG9tZXJCeUVtYWlsJzsKICAgIGNvbnN0IEdST1VQID0gJ0dyb3VwJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/Group.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBBbWF6b24gUzMgZ3JvdXAgb3B0aW9ucyBmb3IgQUNMIGdyYW50ZWVzCiAqLwpjbGFzcyBHcm91cCBleHRlbmRzIEVudW0KewogICAgY29uc3QgQVVUSEVOVElDQVRFRF9VU0VSUyA9ICdodHRwOi8vYWNzLmFtYXpvbmF3cy5jb20vZ3JvdXBzL2dsb2JhbC9BdXRoZW50aWNhdGVkVXNlcnMnOwogICAgY29uc3QgQUxMX1VTRVJTICAgICAgICAgICA9ICdodHRwOi8vYWNzLmFtYXpvbmF3cy5jb20vZ3JvdXBzL2dsb2JhbC9BbGxVc2Vycyc7CiAgICBjb25zdCBMT0dfREVMSVZFUlkgICAgICAgID0gJ2h0dHA6Ly9hY3MuYW1hem9uYXdzLmNvbS9ncm91cHMvczMvTG9nRGVsaXZlcnknOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/MetadataDirective.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBNZXRhZGF0YURpcmVjdGl2ZSB2YWx1ZXMKICovCmNsYXNzIE1ldGFkYXRhRGlyZWN0aXZlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBDT1BZID0gJ0NPUFknOwogICAgY29uc3QgUkVQTEFDRSA9ICdSRVBMQUNFJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/MFADelete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBNRkFEZWxldGUgdmFsdWVzCiAqLwpjbGFzcyBNRkFEZWxldGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEVOQUJMRUQgPSAnRW5hYmxlZCc7CiAgICBjb25zdCBESVNBQkxFRCA9ICdEaXNhYmxlZCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/Payer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBQYXllciB2YWx1ZXMKICovCmNsYXNzIFBheWVyIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBSRVFVRVNURVIgPSAnUmVxdWVzdGVyJzsKICAgIGNvbnN0IEJVQ0tFVF9PV05FUiA9ICdCdWNrZXRPd25lcic7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/Permission.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBQZXJtaXNzaW9uIHZhbHVlcwogKi8KY2xhc3MgUGVybWlzc2lvbiBleHRlbmRzIEVudW0KewogICAgY29uc3QgRlVMTF9DT05UUk9MID0gJ0ZVTExfQ09OVFJPTCc7CiAgICBjb25zdCBXUklURSA9ICdXUklURSc7CiAgICBjb25zdCBXUklURV9BQ1AgPSAnV1JJVEVfQUNQJzsKICAgIGNvbnN0IFJFQUQgPSAnUkVBRCc7CiAgICBjb25zdCBSRUFEX0FDUCA9ICdSRUFEX0FDUCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/Protocol.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBQcm90b2NvbCB2YWx1ZXMKICovCmNsYXNzIFByb3RvY29sIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBIVFRQID0gJ2h0dHAnOwogICAgY29uc3QgSFRUUFMgPSAnaHR0cHMnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/ServerSideEncryption.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBTZXJ2ZXJTaWRlRW5jcnlwdGlvbiB2YWx1ZXMKICovCmNsYXNzIFNlcnZlclNpZGVFbmNyeXB0aW9uIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBBRVMyNTYgPSAnQUVTMjU2JzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/Status.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBTdGF0dXMgdmFsdWVzCiAqLwpjbGFzcyBTdGF0dXMgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEVOQUJMRUQgPSAnRW5hYmxlZCc7CiAgICBjb25zdCBTVVNQRU5ERUQgPSAnU3VzcGVuZGVkJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/Storage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBBbWF6b24gUzMgc3RvcmFnZSBvcHRpb25zCiAqLwpjbGFzcyBTdG9yYWdlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBTVEFOREFSRCA9ICdTVEFOREFSRCc7CiAgICBjb25zdCBSRURVQ0VEICA9ICdSRURVQ0VEX1JFRFVOREFOQ1knOwogICAgY29uc3QgR0xBQ0lFUiA9ICdHTEFDSUVSJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Enum/StorageClass.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBTdG9yYWdlQ2xhc3MgdmFsdWVzCiAqLwpjbGFzcyBTdG9yYWdlQ2xhc3MgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFNUQU5EQVJEID0gJ1NUQU5EQVJEJzsKICAgIGNvbnN0IFJFRFVDRURfUkVEVU5EQU5DWSA9ICdSRURVQ0VEX1JFRFVOREFOQ1knOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/AccessDeniedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIEFjY2VzcyBEZW5pZWQKICovCmNsYXNzIEFjY2Vzc0RlbmllZEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/AccountProblemException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHlvdXIgQVdTIGFjY291bnQgdGhhdCBwcmV2ZW50cyB0aGUgb3BlcmF0aW9uIGZyb20gY29tcGxldGluZyBzdWNjZXNzZnVsbHkuIFBsZWFzZSB1c2UgQ29udGFjdCBVcy4KICovCmNsYXNzIEFjY291bnRQcm9ibGVtRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/AmbiguousGrantByEmailAddressException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBlLW1haWwgYWRkcmVzcyB5b3UgcHJvdmlkZWQgaXMgYXNzb2NpYXRlZCB3aXRoIG1vcmUgdGhhbiBvbmUgYWNjb3VudC4KICovCmNsYXNzIEFtYmlndW91c0dyYW50QnlFbWFpbEFkZHJlc3NFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/BadDigestException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBDb250ZW50LU1ENSB5b3Ugc3BlY2lmaWVkIGRpZCBub3QgbWF0Y2ggd2hhdCB3ZSByZWNlaXZlZC4KICovCmNsYXNzIEJhZERpZ2VzdEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/BucketAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgYnVja2V0IG5hbWUgaXMgbm90IGF2YWlsYWJsZS4gVGhlIGJ1Y2tldCBuYW1lc3BhY2UgaXMgc2hhcmVkIGJ5IGFsbCB1c2VycyBvZiB0aGUgc3lzdGVtLiBQbGVhc2Ugc2VsZWN0IGEgZGlmZmVyZW50IG5hbWUgYW5kIHRyeSBhZ2Fpbi4KICovCmNsYXNzIEJ1Y2tldEFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/BucketAlreadyOwnedByYouException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdXIgcHJldmlvdXMgcmVxdWVzdCB0byBjcmVhdGUgdGhlIG5hbWVkIGJ1Y2tldCBzdWNjZWVkZWQgYW5kIHlvdSBhbHJlYWR5IG93biBpdC4KICovCmNsYXNzIEJ1Y2tldEFscmVhZHlPd25lZEJ5WW91RXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/BucketNotEmptyException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBidWNrZXQgeW91IHRyaWVkIHRvIGRlbGV0ZSBpcyBub3QgZW1wdHkuCiAqLwpjbGFzcyBCdWNrZXROb3RFbXB0eUV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/CredentialsNotSupportedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoaXMgcmVxdWVzdCBkb2VzIG5vdCBzdXBwb3J0IGNyZWRlbnRpYWxzLgogKi8KY2xhc3MgQ3JlZGVudGlhbHNOb3RTdXBwb3J0ZWRFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/CrossLocationLoggingProhibitedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIENyb3NzIGxvY2F0aW9uIGxvZ2dpbmcgbm90IGFsbG93ZWQuIEJ1Y2tldHMgaW4gb25lIGdlb2dyYXBoaWMgbG9jYXRpb24gY2Fubm90IGxvZyBpbmZvcm1hdGlvbiB0byBhIGJ1Y2tldCBpbiBhbm90aGVyIGxvY2F0aW9uLgogKi8KY2xhc3MgQ3Jvc3NMb2NhdGlvbkxvZ2dpbmdQcm9oaWJpdGVkRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/DeleteMultipleObjectsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIEV4Y2VwdGlvbiB0aHJvd24gd2hlbiBlcnJvcnMgb2NjdXIgaW4gYSBEZWxldGVNdWx0aXBsZU9iamVjdHMgcmVxdWVzdAogKi8KY2xhc3MgRGVsZXRlTXVsdGlwbGVPYmplY3RzRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24KewogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IEFycmF5IG9mIGVycm9ycwogICAgICovCiAgICBwcm90ZWN0ZWQgJGVycm9ycyA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGVycm9ycyBBcnJheSBvZiBlcnJvcnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KGFycmF5ICRlcnJvcnMgPSBhcnJheSgpKQogICAgewogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJ1VuYWJsZSB0byBkZWxldGUgY2VydGFpbiBrZXlzIHdoZW4gZXhlY3V0aW5nIGEgRGVsZXRlTXVsdGlwbGVPYmplY3RzIHJlcXVlc3QnKTsKICAgICAgICAkdGhpcy0+ZXJyb3JzID0gJGVycm9yczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZXJyb3JlZCBvYmplY3RzCiAgICAgKgogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFuIGFycmF5IG9mIGFzc29jaWF0aXZlIGFycmF5cywgZWFjaCBjb250YWluaW5nCiAgICAgKiAgICAgICAgICAgICAgIGEgJ0NvZGUnLCAnTWVzc2FnZScsIGFuZCAnS2V5JyBrZXkuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFcnJvcnMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZXJyb3JzOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/EntityTooLargeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdXIgcHJvcG9zZWQgdXBsb2FkIGV4Y2VlZHMgdGhlIG1heGltdW0gYWxsb3dlZCBvYmplY3Qgc2l6ZS4KICovCmNsYXNzIEVudGl0eVRvb0xhcmdlRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/EntityTooSmallException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdXIgcHJvcG9zZWQgdXBsb2FkIGlzIHNtYWxsZXIgdGhhbiB0aGUgbWluaW11bSBhbGxvd2VkIG9iamVjdCBzaXplLgogKi8KY2xhc3MgRW50aXR5VG9vU21hbGxFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/ExpiredTokenException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBwcm92aWRlZCB0b2tlbiBoYXMgZXhwaXJlZC4KICovCmNsYXNzIEV4cGlyZWRUb2tlbkV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/IllegalVersioningConfigurationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIEluZGljYXRlcyB0aGF0IHRoZSBWZXJzaW9uaW5nIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IGlzIGludmFsaWQuCiAqLwpjbGFzcyBJbGxlZ2FsVmVyc2lvbmluZ0NvbmZpZ3VyYXRpb25FeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/IncompleteBodyException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdSBkaWQgbm90IHByb3ZpZGUgdGhlIG51bWJlciBvZiBieXRlcyBzcGVjaWZpZWQgYnkgdGhlIENvbnRlbnQtTGVuZ3RoIEhUVFAgaGVhZGVyCiAqLwpjbGFzcyBJbmNvbXBsZXRlQm9keUV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/IncorrectNumberOfFilesInPostRequestException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFBPU1QgcmVxdWlyZXMgZXhhY3RseSBvbmUgZmlsZSB1cGxvYWQgcGVyIHJlcXVlc3QuCiAqLwpjbGFzcyBJbmNvcnJlY3ROdW1iZXJPZkZpbGVzSW5Qb3N0UmVxdWVzdEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InlineDataTooLargeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIElubGluZSBkYXRhIGV4Y2VlZHMgdGhlIG1heGltdW0gYWxsb3dlZCBzaXplLgogKi8KY2xhc3MgSW5saW5lRGF0YVRvb0xhcmdlRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InternalErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFdlIGVuY291bnRlcmVkIGFuIGludGVybmFsIGVycm9yLiBQbGVhc2UgdHJ5IGFnYWluLgogKi8KY2xhc3MgSW50ZXJuYWxFcnJvckV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidAccessKeyIdException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBBV1MgQWNjZXNzIEtleSBJZCB5b3UgcHJvdmlkZWQgZG9lcyBub3QgZXhpc3QgaW4gb3VyIHJlY29yZHMuCiAqLwpjbGFzcyBJbnZhbGlkQWNjZXNzS2V5SWRFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidAddressingHeaderException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdSBtdXN0IHNwZWNpZnkgdGhlIEFub255bW91cyByb2xlLgogKi8KY2xhc3MgSW52YWxpZEFkZHJlc3NpbmdIZWFkZXJFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidArgumentException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIEludmFsaWQgQXJndW1lbnQKICovCmNsYXNzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidBucketNameException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgYnVja2V0IGlzIG5vdCB2YWxpZC4KICovCmNsYXNzIEludmFsaWRCdWNrZXROYW1lRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidBucketStateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IGlzIG5vdCB2YWxpZCB3aXRoIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBidWNrZXQuCiAqLwpjbGFzcyBJbnZhbGlkQnVja2V0U3RhdGVFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidDigestException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBDb250ZW50LU1ENSB5b3Ugc3BlY2lmaWVkIHdhcyBhbiBpbnZhbGlkLgogKi8KY2xhc3MgSW52YWxpZERpZ2VzdEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidLocationConstraintException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgbG9jYXRpb24gY29uc3RyYWludCBpcyBub3QgdmFsaWQuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IFJlZ2lvbnMsIHNlZSBIb3cgdG8gU2VsZWN0IGEgUmVnaW9uIGZvciBZb3VyIEJ1Y2tldHMuCiAqLwpjbGFzcyBJbnZhbGlkTG9jYXRpb25Db25zdHJhaW50RXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidPartException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIE9uZSBvciBtb3JlIG9mIHRoZSBzcGVjaWZpZWQgcGFydHMgY291bGQgbm90IGJlIGZvdW5kLiBUaGUgcGFydCBtaWdodCBub3QgaGF2ZSBiZWVuIHVwbG9hZGVkLCBvciB0aGUgc3BlY2lmaWVkIGVudGl0eSB0YWcgbWlnaHQgbm90IGhhdmUgbWF0Y2hlZCB0aGUgcGFydCdzIGVudGl0eSB0YWcuCiAqLwpjbGFzcyBJbnZhbGlkUGFydEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidPartOrderException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBsaXN0IG9mIHBhcnRzIHdhcyBub3QgaW4gYXNjZW5kaW5nIG9yZGVyLlBhcnRzIGxpc3QgbXVzdCBzcGVjaWZpZWQgaW4gb3JkZXIgYnkgcGFydCBudW1iZXIuCiAqLwpjbGFzcyBJbnZhbGlkUGFydE9yZGVyRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidPayerException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIEFsbCBhY2Nlc3MgdG8gdGhpcyBvYmplY3QgaGFzIGJlZW4gZGlzYWJsZWQuCiAqLwpjbGFzcyBJbnZhbGlkUGF5ZXJFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidPolicyDocumentException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBjb250ZW50IG9mIHRoZSBmb3JtIGRvZXMgbm90IG1lZXQgdGhlIGNvbmRpdGlvbnMgc3BlY2lmaWVkIGluIHRoZSBwb2xpY3kgZG9jdW1lbnQuCiAqLwpjbGFzcyBJbnZhbGlkUG9saWN5RG9jdW1lbnRFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidRangeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0ZWQgcmFuZ2UgY2Fubm90IGJlIHNhdGlzZmllZC4KICovCmNsYXNzIEludmFsaWRSYW5nZUV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidRequestException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFNPQVAgcmVxdWVzdHMgbXVzdCBiZSBtYWRlIG92ZXIgYW4gSFRUUFMgY29ubmVjdGlvbi4KICovCmNsYXNzIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidSecurityException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBwcm92aWRlZCBzZWN1cml0eSBjcmVkZW50aWFscyBhcmUgbm90IHZhbGlkLgogKi8KY2xhc3MgSW52YWxpZFNlY3VyaXR5RXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidSOAPRequestException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBTT0FQIHJlcXVlc3QgYm9keSBpcyBpbnZhbGlkLgogKi8KY2xhc3MgSW52YWxpZFNPQVBSZXF1ZXN0RXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidStorageClassException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzdG9yYWdlIGNsYXNzIHlvdSBzcGVjaWZpZWQgaXMgbm90IHZhbGlkLgogKi8KY2xhc3MgSW52YWxpZFN0b3JhZ2VDbGFzc0V4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidTagErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBUYWcgcHJvdmlkZWQgd2FzIG5vdCBhIHZhbGlkIHRhZy4gVGhpcyBjYW4gb2NjdXIgaWYgdGhlIFRhZyBkaWQgbm90IHBhc3MgaW5wdXQgdmFsaWRhdGlvbi4gU2VlIHRoZQogKiBDb3N0QWxsb2NhdGlvbiBkb2NzIGZvciBhIGRlc2NyaXB0aW9uIG9mIHZhbGlkIHRhZ3MuCiAqLwpjbGFzcyBJbnZhbGlkVGFnRXJyb3JFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidTargetBucketForLoggingException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSB0YXJnZXQgYnVja2V0IGZvciBsb2dnaW5nIGRvZXMgbm90IGV4aXN0LCBpcyBub3Qgb3duZWQgYnkgeW91LCBvciBkb2VzIG5vdCBoYXZlIHRoZSBhcHByb3ByaWF0ZSBncmFudHMgZm9yIHRoZSBsb2ctZGVsaXZlcnkgZ3JvdXAuCiAqLwpjbGFzcyBJbnZhbGlkVGFyZ2V0QnVja2V0Rm9yTG9nZ2luZ0V4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidTokenException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBwcm92aWRlZCB0b2tlbiBpcyBtYWxmb3JtZWQgb3Igb3RoZXJ3aXNlIGludmFsaWQuCiAqLwpjbGFzcyBJbnZhbGlkVG9rZW5FeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/InvalidURIException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIENvdWxkbid0IHBhcnNlIHRoZSBzcGVjaWZpZWQgVVJJLgogKi8KY2xhc3MgSW52YWxpZFVSSUV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/KeyTooLongException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdXIga2V5IGlzIHRvbyBsb25nLgogKi8KY2xhc3MgS2V5VG9vTG9uZ0V4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/MalformedACLErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBYTUwgeW91IHByb3ZpZGVkIHdhcyBub3Qgd2VsbC1mb3JtZWQgb3IgZGlkIG5vdCB2YWxpZGF0ZSBhZ2FpbnN0IG91ciBwdWJsaXNoZWQgc2NoZW1hLgogKi8KY2xhc3MgTWFsZm9ybWVkQUNMRXJyb3JFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/MalformedPOSTRequestException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBib2R5IG9mIHlvdXIgUE9TVCByZXF1ZXN0IGlzIG5vdCB3ZWxsLWZvcm1lZCBtdWx0aXBhcnQvZm9ybS1kYXRhLgogKi8KY2xhc3MgTWFsZm9ybWVkUE9TVFJlcXVlc3RFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/MalformedXMLException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoaXMgaGFwcGVucyB3aGVuIHRoZSB1c2VyIHNlbmRzIGEgbWFsZm9ybWVkIHhtbCAoeG1sIHRoYXQgZG9lc24ndCBjb25mb3JtIHRvIHRoZSBwdWJsaXNoZWQgeHNkKSBmb3IgdGhlIGNvbmZpZ3VyYXRpb24uIFRoZSBlcnJvciBtZXNzYWdlIGlzLCAiVGhlIFhNTCB5b3UgcHJvdmlkZWQgd2FzIG5vdCB3ZWxsLWZvcm1lZCBvciBkaWQgbm90IHZhbGlkYXRlIGFnYWluc3Qgb3VyIHB1Ymxpc2hlZCBzY2hlbWEuIgogKi8KY2xhc3MgTWFsZm9ybWVkWE1MRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/MaxMessageLengthExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdXIgcmVxdWVzdCB3YXMgdG9vIGJpZy4KICovCmNsYXNzIE1heE1lc3NhZ2VMZW5ndGhFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/MaxPostPreDataLengthExceededErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdXIgUE9TVCByZXF1ZXN0IGZpZWxkcyBwcmVjZWRpbmcgdGhlIHVwbG9hZCBmaWxlIHdlcmUgdG9vIGxhcmdlLgogKi8KY2xhc3MgTWF4UG9zdFByZURhdGFMZW5ndGhFeGNlZWRlZEVycm9yRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/MetadataTooLargeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdXIgbWV0YWRhdGEgaGVhZGVycyBleGNlZWQgdGhlIG1heGltdW0gYWxsb3dlZCBtZXRhZGF0YSBzaXplLgogKi8KY2xhc3MgTWV0YWRhdGFUb29MYXJnZUV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/MethodNotAllowedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgbWV0aG9kIGlzIG5vdCBhbGxvd2VkIGFnYWluc3QgdGhpcyByZXNvdXJjZS4KICovCmNsYXNzIE1ldGhvZE5vdEFsbG93ZWRFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/MissingAttachmentException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIEEgU09BUCBhdHRhY2htZW50IHdhcyBleHBlY3RlZCwgYnV0IG5vbmUgd2VyZSBmb3VuZC4KICovCmNsYXNzIE1pc3NpbmdBdHRhY2htZW50RXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/MissingContentLengthException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdSBtdXN0IHByb3ZpZGUgdGhlIENvbnRlbnQtTGVuZ3RoIEhUVFAgaGVhZGVyLgogKi8KY2xhc3MgTWlzc2luZ0NvbnRlbnRMZW5ndGhFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/MissingRequestBodyErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoaXMgaGFwcGVucyB3aGVuIHRoZSB1c2VyIHNlbmRzIGFuIGVtcHR5IHhtbCBkb2N1bWVudCBhcyBhIHJlcXVlc3QuIFRoZSBlcnJvciBtZXNzYWdlIGlzLCAiUmVxdWVzdCBib2R5IGlzIGVtcHR5LiIKICovCmNsYXNzIE1pc3NpbmdSZXF1ZXN0Qm9keUVycm9yRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/MissingSecurityElementException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBTT0FQIDEuMSByZXF1ZXN0IGlzIG1pc3NpbmcgYSBzZWN1cml0eSBlbGVtZW50LgogKi8KY2xhc3MgTWlzc2luZ1NlY3VyaXR5RWxlbWVudEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/MissingSecurityHeaderException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdXIgcmVxdWVzdCB3YXMgbWlzc2luZyBhIHJlcXVpcmVkIGhlYWRlci4KICovCmNsYXNzIE1pc3NpbmdTZWN1cml0eUhlYWRlckV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/NoLoggingStatusForKeyException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZXJlIGlzIG5vIHN1Y2ggdGhpbmcgYXMgYSBsb2dnaW5nIHN0YXR1cyBzdWItcmVzb3VyY2UgZm9yIGEga2V5LgogKi8KY2xhc3MgTm9Mb2dnaW5nU3RhdHVzRm9yS2V5RXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/NoSuchBucketException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgYnVja2V0IGRvZXMgbm90IGV4aXN0LgogKi8KY2xhc3MgTm9TdWNoQnVja2V0RXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/NoSuchBucketPolicyException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgYnVja2V0IHBvbGljeSBkb2VzIG5vdCBleGlzdC4KICovCmNsYXNzIE5vU3VjaEJ1Y2tldFBvbGljeUV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/NoSuchCORSConfigurationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgYnVja2V0IGRvZXMgbm90IGhhdmUgYSBDT1JzIGNvbmZpZ3VyYXRpb24uCiAqLwpjbGFzcyBOb1N1Y2hDT1JTQ29uZmlndXJhdGlvbkV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/NoSuchKeyException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQga2V5IGRvZXMgbm90IGV4aXN0LgogKi8KY2xhc3MgTm9TdWNoS2V5RXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/NoSuchLifecycleConfigurationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBsaWZlY3ljbGUgY29uZmlndXJhdGlvbiBkb2VzIG5vdCBleGlzdC4KICovCmNsYXNzIE5vU3VjaExpZmVjeWNsZUNvbmZpZ3VyYXRpb25FeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/NoSuchTagSetErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZXJlIGlzIG5vIFRhZ1NldCBhc3NvY2lhdGVkIHdpdGggdGhlIGJ1Y2tldC4KICovCmNsYXNzIE5vU3VjaFRhZ1NldEVycm9yRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/NoSuchUploadException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgbXVsdGlwYXJ0IHVwbG9hZCBkb2VzIG5vdCBleGlzdC4KICovCmNsYXNzIE5vU3VjaFVwbG9hZEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/NoSuchVersionException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIEluZGljYXRlcyB0aGF0IHRoZSB2ZXJzaW9uIElEIHNwZWNpZmllZCBpbiB0aGUgcmVxdWVzdCBkb2VzIG5vdCBtYXRjaCBhbiBleGlzdGluZyB2ZXJzaW9uLgogKi8KY2xhc3MgTm9TdWNoVmVyc2lvbkV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/NoSuchWebsiteConfigurationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgYnVja2V0IGRvZXMgbm90IGhhdmUgYSB3ZWJzaXRlIGNvbmZpZ3VyYXRpb24uCiAqLwpjbGFzcyBOb1N1Y2hXZWJzaXRlQ29uZmlndXJhdGlvbkV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/NotImplementedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIEEgaGVhZGVyIHlvdSBwcm92aWRlZCBpbXBsaWVzIGZ1bmN0aW9uYWxpdHkgdGhhdCBpcyBub3QgaW1wbGVtZW50ZWQuCiAqLwpjbGFzcyBOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/NotSignedUpException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdXIgYWNjb3VudCBpcyBub3Qgc2lnbmVkIHVwIGZvciB0aGUgQW1hem9uIFMzIHNlcnZpY2UuIFlvdSBtdXN0IHNpZ24gdXAgYmVmb3JlIHlvdSBjYW4gdXNlIEFtYXpvbiBTMy4gWW91IGNhbiBzaWduIHVwIGF0IHRoZSBmb2xsb3dpbmcgVVJMOiBodHRwOi8vYXdzLmFtYXpvbi5jb20vczMKICovCmNsYXNzIE5vdFNpZ25lZFVwRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/NotSuchBucketPolicyException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgYnVja2V0IGRvZXMgbm90IGhhdmUgYSBidWNrZXQgcG9saWN5LgogKi8KY2xhc3MgTm90U3VjaEJ1Y2tldFBvbGljeUV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/ObjectAlreadyInActiveTierErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoaXMgb3BlcmF0aW9uIGlzIG5vdCBhbGxvd2VkIGFnYWluc3QgdGhpcyBzdG9yYWdlIHRpZXIKICovCmNsYXNzIE9iamVjdEFscmVhZHlJbkFjdGl2ZVRpZXJFcnJvckV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/ObjectNotInActiveTierErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzb3VyY2Ugb2JqZWN0IG9mIHRoZSBDT1BZIG9wZXJhdGlvbiBpcyBub3QgaW4gdGhlIGFjdGl2ZSB0aWVyIGFuZCBpcyBvbmx5IHN0b3JlZCBpbiBBbWF6b24gR2xhY2llci4KICovCmNsYXNzIE9iamVjdE5vdEluQWN0aXZlVGllckVycm9yRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/OperationAbortedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIEEgY29uZmxpY3RpbmcgY29uZGl0aW9uYWwgb3BlcmF0aW9uIGlzIGN1cnJlbnRseSBpbiBwcm9ncmVzcyBhZ2FpbnN0IHRoaXMgcmVzb3VyY2UuIFBsZWFzZSB0cnkgYWdhaW4uCiAqLwpjbGFzcyBPcGVyYXRpb25BYm9ydGVkRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/Parser/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/Parser/S3ExceptionParser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uXFBhcnNlcjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXJcRGVmYXVsdFhtbEV4Y2VwdGlvblBhcnNlcjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogUGFyc2VzIFMzIGV4Y2VwdGlvbiByZXNwb25zZXMKICovCmNsYXNzIFMzRXhjZXB0aW9uUGFyc2VyIGV4dGVuZHMgRGVmYXVsdFhtbEV4Y2VwdGlvblBhcnNlcgp7CiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHBhcnNlKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSkKICAgIHsKICAgICAgICAkZGF0YSA9IHBhcmVudDo6cGFyc2UoJHJlcXVlc3QsICRyZXNwb25zZSk7CgogICAgICAgIGlmICgkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSA9PT0gMzAxKSB7CiAgICAgICAgICAgICRkYXRhWyd0eXBlJ10gPSAnY2xpZW50JzsKICAgICAgICAgICAgaWYgKGlzc2V0KCRkYXRhWydtZXNzYWdlJ10sICRkYXRhWydwYXJzZWQnXSkpIHsKICAgICAgICAgICAgICAgICRkYXRhWydtZXNzYWdlJ10gPSBydHJpbSgkZGF0YVsnbWVzc2FnZSddLCAnLicpIC4gJzogIicgLiAkZGF0YVsncGFyc2VkJ10tPkVuZHBvaW50IC4gJyIuJzsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRkYXRhOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcGFyc2VIZWFkZXJzKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSwgYXJyYXkgJiRkYXRhKQogICAgewogICAgICAgIHBhcmVudDo6cGFyc2VIZWFkZXJzKCRyZXF1ZXN0LCAkcmVzcG9uc2UsICRkYXRhKTsKCiAgICAgICAgLy8gR2V0IHRoZSByZXF1ZXN0CiAgICAgICAgJHN0YXR1cyAgPSAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKTsKICAgICAgICAkbWV0aG9kICA9ICRyZXF1ZXN0LT5nZXRNZXRob2QoKTsKCiAgICAgICAgLy8gQXR0ZW1wdCB0byBkZXRlcm1pbmUgY29kZSBmb3IgNDAzcyBhbmQgNDA0cwogICAgICAgIGlmICgkc3RhdHVzID09PSA0MDMpIHsKICAgICAgICAgICAgJGRhdGFbJ2NvZGUnXSA9ICdBY2Nlc3NEZW5pZWQnOwogICAgICAgIH0gZWxzZWlmICgkbWV0aG9kID09PSAnSEVBRCcgJiYgJHN0YXR1cyA9PT0gNDA0KSB7CiAgICAgICAgICAgICRwYXRoICAgPSBleHBsb2RlKCcvJywgdHJpbSgkcmVxdWVzdC0+Z2V0UGF0aCgpLCAnLycpKTsKICAgICAgICAgICAgJGhvc3QgICA9IGV4cGxvZGUoJy4nLCAkcmVxdWVzdC0+Z2V0SG9zdCgpKTsKICAgICAgICAgICAgJGJ1Y2tldCA9IChjb3VudCgkaG9zdCkgPT09IDQpID8gJGhvc3RbMF0gOiBhcnJheV9zaGlmdCgkcGF0aCk7CiAgICAgICAgICAgICRvYmplY3QgPSBhcnJheV9zaGlmdCgkcGF0aCk7CgogICAgICAgICAgICBpZiAoJGJ1Y2tldCAmJiAkb2JqZWN0KSB7CiAgICAgICAgICAgICAgICAkZGF0YVsnY29kZSddID0gJ05vU3VjaEtleSc7CiAgICAgICAgICAgIH0gZWxzZWlmICgkYnVja2V0KSB7CiAgICAgICAgICAgICAgICAkZGF0YVsnY29kZSddID0gJ05vU3VjaEJ1Y2tldCc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/PermanentRedirectException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBidWNrZXQgeW91IGFyZSBhdHRlbXB0aW5nIHRvIGFjY2VzcyBtdXN0IGJlIGFkZHJlc3NlZCB1c2luZyB0aGUgc3BlY2lmaWVkIGVuZHBvaW50LiBQbGVhc2Ugc2VuZCBhbGwgZnV0dXJlIHJlcXVlc3RzIHRvIHRoaXMgZW5kcG9pbnQuCiAqLwpjbGFzcyBQZXJtYW5lbnRSZWRpcmVjdEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/PreconditionFailedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIEF0IGxlYXN0IG9uZSBvZiB0aGUgcHJlY29uZGl0aW9ucyB5b3Ugc3BlY2lmaWVkIGRpZCBub3QgaG9sZC4KICovCmNsYXNzIFByZWNvbmRpdGlvbkZhaWxlZEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/RedirectException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRlbXBvcmFyeSByZWRpcmVjdC4KICovCmNsYXNzIFJlZGlyZWN0RXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/RequestIsNotMultiPartContentException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIEJ1Y2tldCBQT1NUIG11c3QgYmUgb2YgdGhlIGVuY2xvc3VyZS10eXBlIG11bHRpcGFydC9mb3JtLWRhdGEuCiAqLwpjbGFzcyBSZXF1ZXN0SXNOb3RNdWx0aVBhcnRDb250ZW50RXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/RequestTimeoutException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdXIgc29ja2V0IGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciB3YXMgbm90IHJlYWQgZnJvbSBvciB3cml0dGVuIHRvIHdpdGhpbiB0aGUgdGltZW91dCBwZXJpb2QuCiAqLwpjbGFzcyBSZXF1ZXN0VGltZW91dEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/RequestTimeTooSkewedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHJlcXVlc3QgdGltZSBhbmQgdGhlIHNlcnZlcidzIHRpbWUgaXMgdG9vIGxhcmdlLgogKi8KY2xhc3MgUmVxdWVzdFRpbWVUb29Ta2V3ZWRFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/RequestTorrentOfBucketErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFJlcXVlc3RpbmcgdGhlIHRvcnJlbnQgZmlsZSBvZiBhIGJ1Y2tldCBpcyBub3QgcGVybWl0dGVkLgogKi8KY2xhc3MgUmVxdWVzdFRvcnJlbnRPZkJ1Y2tldEVycm9yRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/S3Exception.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbjsKCi8qKgogKiBEZWZhdWx0IHNlcnZpY2UgZXhjZXB0aW9uIGNsYXNzCiAqLwpjbGFzcyBTM0V4Y2VwdGlvbiBleHRlbmRzIFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/ServiceUnavailableException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFBsZWFzZSByZWR1Y2UgeW91ciByZXF1ZXN0IHJhdGUuCiAqLwpjbGFzcyBTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/SignatureDoesNotMatchException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IHNpZ25hdHVyZSB3ZSBjYWxjdWxhdGVkIGRvZXMgbm90IG1hdGNoIHRoZSBzaWduYXR1cmUgeW91IHByb3ZpZGVkLiBDaGVjayB5b3VyIEFXUyBTZWNyZXQgQWNjZXNzIEtleSBhbmQgc2lnbmluZyBtZXRob2QuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgUkVTVCBBdXRoZW50aWNhdGlvbiBhbmQgU09BUCBBdXRoZW50aWNhdGlvbiBmb3IgZGV0YWlscy4KICovCmNsYXNzIFNpZ25hdHVyZURvZXNOb3RNYXRjaEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/SlowDownException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFBsZWFzZSByZWR1Y2UgeW91ciByZXF1ZXN0IHJhdGUuCiAqLwpjbGFzcyBTbG93RG93bkV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/TemporaryRedirectException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdSBhcmUgYmVpbmcgcmVkaXJlY3RlZCB0byB0aGUgYnVja2V0IHdoaWxlIEROUyB1cGRhdGVzLgogKi8KY2xhc3MgVGVtcG9yYXJ5UmVkaXJlY3RFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/TokenRefreshRequiredException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBwcm92aWRlZCB0b2tlbiBtdXN0IGJlIHJlZnJlc2hlZC4KICovCmNsYXNzIFRva2VuUmVmcmVzaFJlcXVpcmVkRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/TooManyBucketsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFlvdSBoYXZlIGF0dGVtcHRlZCB0byBjcmVhdGUgbW9yZSBidWNrZXRzIHRoYW4gYWxsb3dlZC4KICovCmNsYXNzIFRvb01hbnlCdWNrZXRzRXhjZXB0aW9uIGV4dGVuZHMgUzNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/UnexpectedContentException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoaXMgcmVxdWVzdCBkb2VzIG5vdCBzdXBwb3J0IGNvbnRlbnQuCiAqLwpjbGFzcyBVbmV4cGVjdGVkQ29udGVudEV4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/UnresolvableGrantByEmailAddressException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBlLW1haWwgYWRkcmVzcyB5b3UgcHJvdmlkZWQgZG9lcyBub3QgbWF0Y2ggYW55IGFjY291bnQgb24gcmVjb3JkLgogKi8KY2xhc3MgVW5yZXNvbHZhYmxlR3JhbnRCeUVtYWlsQWRkcmVzc0V4Y2VwdGlvbiBleHRlbmRzIFMzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Exception/UserKeyMustBeSpecifiedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBidWNrZXQgUE9TVCBtdXN0IGNvbnRhaW4gdGhlIHNwZWNpZmllZCBmaWVsZCBuYW1lLiBJZiBpdCBpcyBzcGVjaWZpZWQsIHBsZWFzZSBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkcy4KICovCmNsYXNzIFVzZXJLZXlNdXN0QmVTcGVjaWZpZWRFeGNlcHRpb24gZXh0ZW5kcyBTM0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Iterator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Iterator/ListBucketsIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcSXRlcmF0b3I7Cgp1c2UgQXdzXENvbW1vblxJdGVyYXRvclxBd3NSZXNvdXJjZUl0ZXJhdG9yOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CgovKioKICogSXRlcmF0b3IgZm9yIHRoZSBTMyBMaXN0QnVja2V0cyBjb21tYW5kCiAqCiAqIFRoaXMgaXRlcmF0b3IgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIG9wdGlvbnM6CiAqCiAqIC0gbmFtZXNfb25seTogU2V0IHRvIHRydWUgdG8gcmVjZWl2ZSBvbmx5IHRoZSBvYmplY3QvcHJlZml4IG5hbWVzCiAqLwpjbGFzcyBMaXN0QnVja2V0c0l0ZXJhdG9yIGV4dGVuZHMgQXdzUmVzb3VyY2VJdGVyYXRvcgp7CiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGhhbmRsZVJlc3VsdHMoTW9kZWwgJHJlc3VsdCkKICAgIHsKICAgICAgICAvLyBHZXQgdGhlIHJlc3VsdHMKICAgICAgICAkYnVja2V0cyA9ICRyZXN1bHQtPmdldCgnQnVja2V0cycpID86IGFycmF5KCk7CgogICAgICAgIC8vIElmIG9ubHkgdGhlIG5hbWVzX29ubHkgc2V0LCBjaGFuZ2UgYXJyYXlzIHRvIGEgc3RyaW5nCiAgICAgICAgaWYgKCR0aGlzLT5nZXQoJ25hbWVzX29ubHknKSkgewogICAgICAgICAgICBmb3JlYWNoICgkYnVja2V0cyBhcyAmJGJ1Y2tldCkgewogICAgICAgICAgICAgICAgJGJ1Y2tldCA9ICRidWNrZXRbJ05hbWUnXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRidWNrZXRzOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Iterator/ListMultipartUploadsIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcSXRlcmF0b3I7Cgp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CnVzZSBBd3NcQ29tbW9uXEl0ZXJhdG9yXEF3c1Jlc291cmNlSXRlcmF0b3I7CgovKioKICogSXRlcmF0b3IgZm9yIHRoZSBTMyBMaXN0TXVsdGlwYXJ0VXBsb2FkcyBjb21tYW5kCiAqCiAqIFRoaXMgaXRlcmF0b3IgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIG9wdGlvbnM6CiAqCiAqIC0gcmV0dXJuX3ByZWZpeGVzOiBTZXQgdG8gdHJ1ZSB0byByZXR1cm4gYm90aCBwcmVmaXhlcyBhbmQgdXBsb2FkcwogKi8KY2xhc3MgTGlzdE11bHRpcGFydFVwbG9hZHNJdGVyYXRvciBleHRlbmRzIEF3c1Jlc291cmNlSXRlcmF0b3IKewogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBoYW5kbGVSZXN1bHRzKE1vZGVsICRyZXN1bHQpCiAgICB7CiAgICAgICAgLy8gR2V0IHRoZSBsaXN0IG9mIHVwbG9hZHMKICAgICAgICAkdXBsb2FkcyA9ICRyZXN1bHQtPmdldCgnVXBsb2FkcycpID86IGFycmF5KCk7CgogICAgICAgIC8vIElmIHRoZXJlIGFyZSBwcmVmaXhlcyBhbmQgd2Ugd2FudCB0aGVtLCBtZXJnZSB0aGVtIGluCiAgICAgICAgaWYgKCR0aGlzLT5nZXQoJ3JldHVybl9wcmVmaXhlcycpICYmICRyZXN1bHQtPmhhc0tleSgnQ29tbW9uUHJlZml4ZXMnKSkgewogICAgICAgICAgICAkdXBsb2FkcyA9IGFycmF5X21lcmdlKCR1cGxvYWRzLCAkcmVzdWx0LT5nZXQoJ0NvbW1vblByZWZpeGVzJykpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR1cGxvYWRzOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Iterator/ListObjectsIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcSXRlcmF0b3I7Cgp1c2UgQXdzXENvbW1vblxJdGVyYXRvclxBd3NSZXNvdXJjZUl0ZXJhdG9yOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CgovKioKICogSXRlcmF0b3IgZm9yIGFuIFMzIExpc3RPYmplY3RzIGNvbW1hbmQKICoKICogVGhpcyBpdGVyYXRvciBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgb3B0aW9uczoKICoKICogLSByZXR1cm5fcHJlZml4ZXM6IFNldCB0byB0cnVlIHRvIHJlY2VpdmUgYm90aCBwcmVmaXhlcyBhbmQgb2JqZWN0cyBpbiByZXN1bHRzCiAqIC0gc29ydF9yZXN1bHRzOiBTZXQgdG8gdHJ1ZSB0byBzb3J0IG1peGVkIChvYmplY3QvcHJlZml4KSByZXN1bHRzCiAqIC0gbmFtZXNfb25seTogU2V0IHRvIHRydWUgdG8gcmVjZWl2ZSBvbmx5IHRoZSBvYmplY3QvcHJlZml4IG5hbWVzCiAqLwpjbGFzcyBMaXN0T2JqZWN0c0l0ZXJhdG9yIGV4dGVuZHMgQXdzUmVzb3VyY2VJdGVyYXRvcgp7CiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGhhbmRsZVJlc3VsdHMoTW9kZWwgJHJlc3VsdCkKICAgIHsKICAgICAgICAvLyBHZXQgdGhlIGxpc3Qgb2Ygb2JqZWN0cyBhbmQgcmVjb3JkIHRoZSBsYXN0IGtleQogICAgICAgICRvYmplY3RzID0gJHJlc3VsdC0+Z2V0KCdDb250ZW50cycpID86IGFycmF5KCk7CiAgICAgICAgJG51bU9iamVjdHMgPSBjb3VudCgkb2JqZWN0cyk7CiAgICAgICAgJGxhc3RLZXkgPSAkbnVtT2JqZWN0cyA/ICRvYmplY3RzWyRudW1PYmplY3RzIC0gMV1bJ0tleSddIDogZmFsc2U7CiAgICAgICAgaWYgKCRsYXN0S2V5ICYmICEkcmVzdWx0LT5oYXNLZXkoJHRoaXMtPmdldCgndG9rZW5fa2V5JykpKSB7CiAgICAgICAgICAgICRyZXN1bHQtPnNldCgkdGhpcy0+Z2V0KCd0b2tlbl9rZXknKSwgJGxhc3RLZXkpOwogICAgICAgIH0KCiAgICAgICAgLy8gQ2xvc3VyZSBmb3IgZ2V0dGluZyB0aGUgbmFtZSBvZiBhbiBvYmplY3Qgb3IgcHJlZml4CiAgICAgICAgJGdldE5hbWUgPSBmdW5jdGlvbiAoJG9iamVjdCkgewogICAgICAgICAgICByZXR1cm4gaXNzZXQoJG9iamVjdFsnS2V5J10pID8gJG9iamVjdFsnS2V5J10gOiAkb2JqZWN0WydQcmVmaXgnXTsKICAgICAgICB9OwoKICAgICAgICAvLyBJZiBjb21tb24gcHJlZml4ZXMgcmV0dXJuZWQgKGkuZS4gYSBkZWxpbWl0ZXIgd2FzIHNldCkgYW5kIHRoZXkgbmVlZCB0byBiZSByZXR1cm5lZCwgdGhlcmUgaXMgbW9yZSB0byBkbwogICAgICAgIGlmICgkdGhpcy0+Z2V0KCdyZXR1cm5fcHJlZml4ZXMnKSAmJiAkcmVzdWx0LT5oYXNLZXkoJ0NvbW1vblByZWZpeGVzJykpIHsKICAgICAgICAgICAgLy8gQ29sbGVjdCBhbmQgZm9ybWF0IHRoZSBwcmVmaXhlcyB0byBpbmNsdWRlIHdpdGggdGhlIG9iamVjdHMKICAgICAgICAgICAgJG9iamVjdHMgPSBhcnJheV9tZXJnZSgkb2JqZWN0cywgJHJlc3VsdC0+Z2V0KCdDb21tb25QcmVmaXhlcycpKTsKCiAgICAgICAgICAgIC8vIFNvcnQgdGhlIG9iamVjdHMgYW5kIHByZWZpeGVzIHRvIG1haW50YWluIGFscGhhYmV0aWNhbCBvcmRlciwgYnV0IG9ubHkgaWYgc29tZSBvZiBlYWNoIHdlcmUgcmV0dXJuZWQKICAgICAgICAgICAgaWYgKCR0aGlzLT5nZXQoJ3NvcnRfcmVzdWx0cycpICYmICRsYXN0S2V5ICYmICRvYmplY3RzKSB7CiAgICAgICAgICAgICAgICB1c29ydCgkb2JqZWN0cywgZnVuY3Rpb24gKCRvYmplY3QxLCAkb2JqZWN0MikgdXNlICgkZ2V0TmFtZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBzdHJjbXAoJGdldE5hbWUoJG9iamVjdDEpLCAkZ2V0TmFtZSgkb2JqZWN0MikpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIElmIG9ubHkgdGhlIG5hbWVzIGFyZSBkZXNpcmVkLCBpdGVyYXRlIHRocm91Z2ggdGhlIHJlc3VsdHMgYW5kIGNvbnZlcnQgdGhlIGFycmF5cyB0byB0aGUgb2JqZWN0L3ByZWZpeCBuYW1lcwogICAgICAgIGlmICgkdGhpcy0+Z2V0KCduYW1lc19vbmx5JykpIHsKICAgICAgICAgICAgJG9iamVjdHMgPSBhcnJheV9tYXAoJGdldE5hbWUsICRvYmplY3RzKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkb2JqZWN0czsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Iterator/ListObjectVersionsIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcSXRlcmF0b3I7Cgp1c2UgQXdzXENvbW1vblxJdGVyYXRvclxBd3NSZXNvdXJjZUl0ZXJhdG9yOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CgovKioKICogSXRlcmF0b3IgZm9yIGFuIFMzIExpc3RPYmplY3RWZXJzaW9ucyBjb21tYW5kCiAqCiAqIFRoaXMgaXRlcmF0b3IgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIG9wdGlvbnM6CiAqCiAqIC0gcmV0dXJuX3ByZWZpeGVzOiBTZXQgdG8gdHJ1ZSB0byByZWNlaXZlIGJvdGggcHJlZml4ZXMgYW5kIHZlcnNpb25zIGluIHJlc3VsdHMKICovCmNsYXNzIExpc3RPYmplY3RWZXJzaW9uc0l0ZXJhdG9yIGV4dGVuZHMgQXdzUmVzb3VyY2VJdGVyYXRvcgp7CiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGhhbmRsZVJlc3VsdHMoTW9kZWwgJHJlc3VsdCkKICAgIHsKICAgICAgICAvLyBHZXQgdGhlIGxpc3Qgb2Ygb2JqZWN0IHZlcnNpb25zCiAgICAgICAgJHZlcnNpb25zID0gJHJlc3VsdC0+Z2V0KCdWZXJzaW9ucycpID86IGFycmF5KCk7CiAgICAgICAgJGRlbGV0ZU1hcmtlcnMgPSAkcmVzdWx0LT5nZXQoJ0RlbGV0ZU1hcmtlcnMnKSA/OiBhcnJheSgpOwogICAgICAgICR2ZXJzaW9ucyA9IGFycmF5X21lcmdlKCR2ZXJzaW9ucywgJGRlbGV0ZU1hcmtlcnMpOwoKICAgICAgICAvLyBJZiB0aGVyZSBhcmUgcHJlZml4ZXMgYW5kIHdlIHdhbnQgdGhlbSwgbWVyZ2UgdGhlbSBpbgogICAgICAgIGlmICgkdGhpcy0+Z2V0KCdyZXR1cm5fcHJlZml4ZXMnKSAmJiAkcmVzdWx0LT5oYXNLZXkoJ0NvbW1vblByZWZpeGVzJykpIHsKICAgICAgICAgICAgJHZlcnNpb25zID0gYXJyYXlfbWVyZ2UoJHZlcnNpb25zLCAkcmVzdWx0LT5nZXQoJ0NvbW1vblByZWZpeGVzJykpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR2ZXJzaW9uczsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Iterator/OpendirIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcSXRlcmF0b3I7CgovKioKICogUHJvdmlkZXMgYW4gaXRlcmF0b3IgYXJvdW5kIGFuIG9wZW5kaXIgcmVzb3VyY2UuIFRoaXMgaXMgdXNlZnVsIHdoZW4geW91IG5lZWQgdG8gcHJvdmlkZSBjb250ZXh0IHRvIGFuIG9wZW5kaXIgc28KICogeW91IGNhbid0IHVzZSBSZWN1cnNpdmVEaXJlY3RvcnlJdGVyYXRvcgogKi8KY2xhc3MgT3BlbmRpckl0ZXJhdG9yIGltcGxlbWVudHMgXEl0ZXJhdG9yCnsKICAgIC8qKiBAdmFyIHJlc291cmNlICovCiAgICBwcm90ZWN0ZWQgJGRpckhhbmRsZTsKCiAgICAvKiogQHZhciBcU3BsRmlsZUluZm8gKi8KICAgIHByb3RlY3RlZCAkY3VycmVudEZpbGU7CgogICAgLyoqIEB2YXIgaW50ICovCiAgICBwcm90ZWN0ZWQgJGtleSA9IC0xOwoKICAgIC8qKiBAdmFyIHN0cmluZyAqLwogICAgcHJvdGVjdGVkICRmaWxlUHJlZml4OwoKICAgIC8qKgogICAgICogQHBhcmFtIHJlc291cmNlICRkaXJIYW5kbGUgIE9wZW5lZCBkaXJlY3RvcnkgaGFuZGxlZCByZXR1cm5lZCBmcm9tIG9wZW5kaXIKICAgICAqIEBwYXJhbSBzdHJpbmcgICAkZmlsZVByZWZpeCBQcmVmaXggdG8gYWRkIHRvIGVhY2ggZmlsZW5hbWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRkaXJIYW5kbGUsICRmaWxlUHJlZml4ID0gJycpCiAgICB7CiAgICAgICAgJHRoaXMtPmZpbGVQcmVmaXggPSAkZmlsZVByZWZpeDsKICAgICAgICAkdGhpcy0+ZGlySGFuZGxlID0gJGRpckhhbmRsZTsKICAgICAgICAkdGhpcy0+bmV4dCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2Rlc3RydWN0KCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPmRpckhhbmRsZSkgewogICAgICAgICAgICBjbG9zZWRpcigkdGhpcy0+ZGlySGFuZGxlKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJld2luZCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmtleSA9IDA7CiAgICAgICAgcmV3aW5kZGlyKCR0aGlzLT5kaXJIYW5kbGUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjdXJyZW50KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmN1cnJlbnRGaWxlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBuZXh0KCkKICAgIHsKICAgICAgICBpZiAoJGZpbGUgPSByZWFkZGlyKCR0aGlzLT5kaXJIYW5kbGUpKSB7CiAgICAgICAgICAgICR0aGlzLT5jdXJyZW50RmlsZSA9IG5ldyBcU3BsRmlsZUluZm8oJHRoaXMtPmZpbGVQcmVmaXggLiAkZmlsZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmN1cnJlbnRGaWxlID0gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+a2V5Kys7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGtleSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5rZXk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmN1cnJlbnRGaWxlICE9PSBmYWxzZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/Acp.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWw7Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cT3ZlcmZsb3dFeGNlcHRpb247CnVzZSBHdXp6bGVcQ29tbW9uXFRvQXJyYXlJbnRlcmZhY2U7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXEFic3RyYWN0Q29tbWFuZDsKCi8qKgogKiBBbWF6b24gUzMgQWNjZXNzIENvbnRyb2wgUG9saWN5IChBQ1ApCiAqLwpjbGFzcyBBY3AgaW1wbGVtZW50cyBUb0FycmF5SW50ZXJmYWNlLCBcSXRlcmF0b3JBZ2dyZWdhdGUsIFxDb3VudGFibGUKewogICAgLyoqCiAgICAgKiBAdmFyIFxTcGxPYmplY3RTdG9yYWdlIExpc3Qgb2YgZ3JhbnRzIG9uIHRoZSBBQ1AKICAgICAqLwogICAgcHJvdGVjdGVkICRncmFudHMgPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogQHZhciBHcmFudGVlIFRoZSBvd25lciBvZiB0aGUgQUNQCiAgICAgKi8KICAgIHByb3RlY3RlZCAkb3duZXI7CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RzIGFuIEFDUAogICAgICoKICAgICAqIEBwYXJhbSBHcmFudGVlICAgICAgICAgICAgJG93bmVyICBBQ1AgcG9saWN5IG93bmVyCiAgICAgKiBAcGFyYW0gYXJyYXl8XFRyYXZlcnNhYmxlICRncmFudHMgTGlzdCBvZiBncmFudHMgZm9yIHRoZSBBQ1AKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEdyYW50ZWUgJG93bmVyLCAkZ3JhbnRzID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0T3duZXIoJG93bmVyKTsKICAgICAgICAkdGhpcy0+c2V0R3JhbnRzKCRncmFudHMpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIEFjcCBvYmplY3QgZnJvbSBhbiBhcnJheS4gVGhpcyBjYW4gYmUgdXNlZCB0byBjcmVhdGUgYW4gQUNQIGZyb20gYSByZXNwb25zZSB0byBhIEdldE9iamVjdC9CdWNrZXQgQUNMCiAgICAgKiBvcGVyYXRpb24uCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRkYXRhIEFycmF5IG9mIEFDUCBkYXRhCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbUFycmF5KGFycmF5ICRkYXRhKQogICAgewogICAgICAgICRidWlsZGVyID0gbmV3IEFjcEJ1aWxkZXIoKTsKICAgICAgICAkYnVpbGRlci0+c2V0T3duZXIoKHN0cmluZykgJGRhdGFbJ093bmVyJ11bJ0lEJ10sICRkYXRhWydPd25lciddWydEaXNwbGF5TmFtZSddKTsKCiAgICAgICAgLy8gQWRkIGVhY2ggR3JhbnRlZSB0byB0aGUgQUNQCiAgICAgICAgZm9yZWFjaCAoJGRhdGFbJ0dyYW50cyddIGFzICRncmFudCkgewogICAgICAgICAgICAkcGVybWlzc2lvbiA9ICRncmFudFsnUGVybWlzc2lvbiddOwoKICAgICAgICAgICAgLy8gRGV0ZXJtaW5lIHRoZSB0eXBlIGZvciByZXNwb25zZSBib2RpZXMgdGhhdCBhcmUgbWlzc2luZyB0aGUgVHlwZSBwYXJhbWV0ZXIKICAgICAgICAgICAgaWYgKCFpc3NldCgkZ3JhbnRbJ0dyYW50ZWUnXVsnVHlwZSddKSkgewogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRncmFudFsnR3JhbnRlZSddWydJRCddKSkgewogICAgICAgICAgICAgICAgICAgICRncmFudFsnR3JhbnRlZSddWydUeXBlJ10gPSAnQ2Fub25pY2FsVXNlcic7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoaXNzZXQoJGdyYW50WydHcmFudGVlJ11bJ1VSSSddKSkgewogICAgICAgICAgICAgICAgICAgICRncmFudFsnR3JhbnRlZSddWydUeXBlJ10gPSAnR3JvdXAnOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkZ3JhbnRbJ0dyYW50ZWUnXVsnVHlwZSddID0gJ0FtYXpvbkN1c3RvbWVyQnlFbWFpbCc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHN3aXRjaCAoJGdyYW50WydHcmFudGVlJ11bJ1R5cGUnXSkgewogICAgICAgICAgICAgICAgY2FzZSAnR3JvdXAnOgogICAgICAgICAgICAgICAgICAgICRidWlsZGVyLT5hZGRHcmFudEZvckdyb3VwKCRwZXJtaXNzaW9uLCAkZ3JhbnRbJ0dyYW50ZWUnXVsnVVJJJ10pOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAnQW1hem9uQ3VzdG9tZXJCeUVtYWlsJzoKICAgICAgICAgICAgICAgICAgICAkYnVpbGRlci0+YWRkR3JhbnRGb3JFbWFpbCgkcGVybWlzc2lvbiwgJGdyYW50WydHcmFudGVlJ11bJ0VtYWlsQWRkcmVzcyddKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ0Nhbm9uaWNhbFVzZXInOgogICAgICAgICAgICAgICAgICAgICRidWlsZGVyLT5hZGRHcmFudEZvclVzZXIoCiAgICAgICAgICAgICAgICAgICAgICAgICRwZXJtaXNzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAkZ3JhbnRbJ0dyYW50ZWUnXVsnSUQnXSwKICAgICAgICAgICAgICAgICAgICAgICAgJGdyYW50WydHcmFudGVlJ11bJ0Rpc3BsYXlOYW1lJ10KICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGJ1aWxkZXItPmJ1aWxkKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIG93bmVyIG9mIHRoZSBBQ1AgcG9saWN5CiAgICAgKgogICAgICogQHBhcmFtIEdyYW50ZWUgJG93bmVyIEFDUCBwb2xpY3kgb3duZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBpZiB0aGUgZ3JhbnRlZSBkb2VzIG5vdCBoYXZlIGFuIElEIHNldAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0T3duZXIoR3JhbnRlZSAkb3duZXIpCiAgICB7CiAgICAgICAgaWYgKCEkb3duZXItPmlzQ2Fub25pY2FsVXNlcigpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ1RoZSBvd25lciBtdXN0IGhhdmUgYW4gSUQgc2V0LicpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPm93bmVyID0gJG93bmVyOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG93bmVyIG9mIHRoZSBBQ1AgcG9saWN5CiAgICAgKgogICAgICogQHJldHVybiBHcmFudGVlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRPd25lcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5vd25lcjsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgZ3JhbnRzIGZvciB0aGUgQUNQCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fFxUcmF2ZXJzYWJsZSAkZ3JhbnRzIExpc3Qgb2YgZ3JhbnRzIGZvciB0aGUgQUNQCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEdyYW50cygkZ3JhbnRzID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkdGhpcy0+Z3JhbnRzID0gbmV3IFxTcGxPYmplY3RTdG9yYWdlKCk7CgogICAgICAgIGlmICgkZ3JhbnRzKSB7CiAgICAgICAgICAgIGlmIChpc19hcnJheSgkZ3JhbnRzKSB8fCAkZ3JhbnRzIGluc3RhbmNlb2YgXFRyYXZlcnNhYmxlKSB7CiAgICAgICAgICAgICAgICAvKiogQHZhciAkZ3JhbnQgR3JhbnQgKi8KICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRncmFudHMgYXMgJGdyYW50KSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmFkZEdyYW50KCRncmFudCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdHcmFudHMgbXVzdCBiZSBwYXNzZWQgaW4gYXMgYW4gYXJyYXkgb3IgVHJhdmVyc2FibGUgb2JqZWN0LicpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYWxsIG9mIHRoZSBncmFudHMKICAgICAqCiAgICAgKiBAcmV0dXJuIFxTcGxPYmplY3RTdG9yYWdlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRHcmFudHMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z3JhbnRzOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgR3JhbnQKICAgICAqCiAgICAgKiBAcGFyYW0gR3JhbnQgJGdyYW50IEdyYW50IHRvIGFkZAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkR3JhbnQoR3JhbnQgJGdyYW50KQogICAgewogICAgICAgIGlmIChjb3VudCgkdGhpcy0+Z3JhbnRzKSA8IDEwMCkgewogICAgICAgICAgICAkdGhpcy0+Z3JhbnRzLT5hdHRhY2goJGdyYW50KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aHJvdyBuZXcgT3ZlcmZsb3dFeGNlcHRpb24oJ0FuIEFDUCBtYXkgY29udGFpbiB1cCB0byAxMDAgZ3JhbnRzLicpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB0b3RhbCBudW1iZXIgb2YgYXR0cmlidXRlcwogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb3VudCgpCiAgICB7CiAgICAgICAgcmV0dXJuIGNvdW50KCR0aGlzLT5ncmFudHMpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgZ3JhbnRzIGZvciBpdGVyYXRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIFxTcGxPYmplY3RTdG9yYWdlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJdGVyYXRvcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ncmFudHM7CiAgICB9CgogICAgLyoqCiAgICAgKiBBcHBsaWVzIGdyYW50IGhlYWRlcnMgdG8gYSBjb21tYW5kJ3MgcGFyYW1ldGVycwogICAgICoKICAgICAqIEBwYXJhbSBBYnN0cmFjdENvbW1hbmQgJGNvbW1hbmQgQ29tbWFuZCB0byBiZSB1cGRhdGVkCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1cGRhdGVDb21tYW5kKEFic3RyYWN0Q29tbWFuZCAkY29tbWFuZCkKICAgIHsKICAgICAgICAkcGFyYW1ldGVycyA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmdyYW50cyBhcyAkZ3JhbnQpIHsKICAgICAgICAgICAgLyoqIEB2YXIgJGdyYW50IEdyYW50ICovCiAgICAgICAgICAgICRwYXJhbWV0ZXJzID0gYXJyYXlfbWVyZ2VfcmVjdXJzaXZlKCRwYXJhbWV0ZXJzLCAkZ3JhbnQtPmdldFBhcmFtZXRlckFycmF5KCkpOwogICAgICAgIH0KCiAgICAgICAgZm9yZWFjaCAoJHBhcmFtZXRlcnMgYXMgJG5hbWUgPT4gJHZhbHVlcykgewogICAgICAgICAgICAkY29tbWFuZC0+c2V0KCRuYW1lLCBpbXBsb2RlKCcsICcsIChhcnJheSkgJHZhbHVlcykpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdG9BcnJheSgpCiAgICB7CiAgICAgICAgJGdyYW50cyA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmdyYW50cyBhcyAkZ3JhbnQpIHsKICAgICAgICAgICAgJGdyYW50c1tdID0gJGdyYW50LT50b0FycmF5KCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgICdPd25lcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSUQnICAgICAgICAgID0+ICR0aGlzLT5vd25lci0+Z2V0SWQoKSwKICAgICAgICAgICAgICAgICdEaXNwbGF5TmFtZScgPT4gJHRoaXMtPm93bmVyLT5nZXREaXNwbGF5TmFtZSgpCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdHcmFudHMnID0+ICRncmFudHMKICAgICAgICApOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/AcpBuilder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWw7Cgp1c2UgQXdzXFMzXEVudW1cR3JhbnRlZVR5cGU7CgovKioKICogQnVpbGRlciBmb3IgY3JlYXRpbmcgQWNjZXNzIENvbnRyb2wgUG9saWNpZXMKICovCmNsYXNzIEFjcEJ1aWxkZXIKewogICAgLyoqCiAgICAgKiBAdmFyIEdyYW50ZWUgVGhlIG93bmVyIGZvciB0aGUgQUNMCiAgICAgKi8KICAgIHByb3RlY3RlZCAkb3duZXI7CgogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IEFuIGFycmF5IG9mIEdyYW50IG9iamVjdHMgZm9yIHRoZSBBQ0wKICAgICAqLwogICAgcHJvdGVjdGVkICRncmFudHMgPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogU3RhdGljIG1ldGhvZCBmb3IgY2hhaW5hYmxlIGluc3RhbnRpYXRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBuZXdJbnN0YW5jZSgpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBzZWxmOwogICAgfQoKICAgIC8qKgogICAgICogU2V0cyB0aGUgb3duZXIgdG8gYmUgc2V0IG9uIHRoZSBBQ0wKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRpZCAgICAgICAgICBPd25lciBpZGVudGlmaWVyCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkaXNwbGF5TmFtZSBPd25lciBkaXNwbGF5IG5hbWUKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldE93bmVyKCRpZCwgJGRpc3BsYXlOYW1lID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+b3duZXIgPSBuZXcgR3JhbnRlZSgkaWQsICRkaXNwbGF5TmFtZSA/OiAkaWQsIEdyYW50ZWVUeXBlOjpVU0VSKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuZCBzdG9yZSBhIEdyYW50IHdpdGggYSBDYW5vbmljYWxVc2VyIEdyYW50ZWUgZm9yIHRoZSBBQ0wKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwZXJtaXNzaW9uICBQZXJtaXNzaW9uIGZvciB0aGUgR3JhbnQKICAgICAqIEBwYXJhbSBzdHJpbmcgJGlkICAgICAgICAgIEdyYW50ZWUgaWRlbnRpZmllcgogICAgICogQHBhcmFtIHN0cmluZyAkZGlzcGxheU5hbWUgR3JhbnRlZSBkaXNwbGF5IG5hbWUKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZEdyYW50Rm9yVXNlcigkcGVybWlzc2lvbiwgJGlkLCAkZGlzcGxheU5hbWUgPSBudWxsKQogICAgewogICAgICAgICRncmFudGVlID0gbmV3IEdyYW50ZWUoJGlkLCAkZGlzcGxheU5hbWUgPzogJGlkLCBHcmFudGVlVHlwZTo6VVNFUik7CiAgICAgICAgJHRoaXMtPmFkZEdyYW50KCRwZXJtaXNzaW9uLCAkZ3JhbnRlZSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhbmQgc3RvcmUgYSBHcmFudCB3aXRoIGEgQW1hem9uQ3VzdG9tZXJCeUVtYWlsIEdyYW50ZWUgZm9yIHRoZSBBQ0wKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwZXJtaXNzaW9uIFBlcm1pc3Npb24gZm9yIHRoZSBHcmFudAogICAgICogQHBhcmFtIHN0cmluZyAkZW1haWwgICAgICBHcmFudGVlIGVtYWlsIGFkZHJlc3MKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZEdyYW50Rm9yRW1haWwoJHBlcm1pc3Npb24sICRlbWFpbCkKICAgIHsKICAgICAgICAkZ3JhbnRlZSA9IG5ldyBHcmFudGVlKCRlbWFpbCwgbnVsbCwgR3JhbnRlZVR5cGU6OkVNQUlMKTsKICAgICAgICAkdGhpcy0+YWRkR3JhbnQoJHBlcm1pc3Npb24sICRncmFudGVlKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuZCBzdG9yZSBhIEdyYW50IHdpdGggYSBHcm91cCBHcmFudGVlIGZvciB0aGUgQUNMCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcGVybWlzc2lvbiBQZXJtaXNzaW9uIGZvciB0aGUgR3JhbnQKICAgICAqIEBwYXJhbSBzdHJpbmcgJGdyb3VwICAgICAgR3JhbnRlZSBncm91cAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkR3JhbnRGb3JHcm91cCgkcGVybWlzc2lvbiwgJGdyb3VwKQogICAgewogICAgICAgICRncmFudGVlID0gbmV3IEdyYW50ZWUoJGdyb3VwLCBudWxsLCBHcmFudGVlVHlwZTo6R1JPVVApOwogICAgICAgICR0aGlzLT5hZGRHcmFudCgkcGVybWlzc2lvbiwgJGdyYW50ZWUpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYW5kIHN0b3JlIGEgR3JhbnQgZm9yIHRoZSBBQ0wKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAkcGVybWlzc2lvbiBQZXJtaXNzaW9uIGZvciB0aGUgR3JhbnQKICAgICAqIEBwYXJhbSBHcmFudGVlICRncmFudGVlICAgIFRoZSBHcmFudGVlIGZvciB0aGUgR3JhbnQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZEdyYW50KCRwZXJtaXNzaW9uLCBHcmFudGVlICRncmFudGVlKQogICAgewogICAgICAgICR0aGlzLT5ncmFudHNbXSA9IG5ldyBHcmFudCgkZ3JhbnRlZSwgJHBlcm1pc3Npb24pOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBCdWlsZHMgdGhlIEFDUCBhbmQgcmV0dXJucyBpdAogICAgICoKICAgICAqIEByZXR1cm4gQWNwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidWlsZCgpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBBY3AoJHRoaXMtPm93bmVyLCAkdGhpcy0+Z3JhbnRzKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/ClearBucket.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWw7Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQXdzQ2xpZW50SW50ZXJmYWNlOwp1c2UgR3V6emxlXENvbW1vblxBYnN0cmFjdEhhc0Rpc3BhdGNoZXI7CnVzZSBHdXp6bGVcQmF0Y2hcRmx1c2hpbmdCYXRjaDsKdXNlIEd1enpsZVxCYXRjaFxFeGNlcHRpb25CdWZmZXJpbmdCYXRjaDsKdXNlIEd1enpsZVxCYXRjaFxOb3RpZnlpbmdCYXRjaDsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEV4Y2VwdGlvbkNvbGxlY3Rpb247CgovKioKICogQ2xhc3MgdXNlZCB0byBjbGVhciB0aGUgY29udGVudHMgb2YgYSBidWNrZXQgb3IgdGhlIHJlc3VsdHMgb2YgYW4gaXRlcmF0b3IKICovCmNsYXNzIENsZWFyQnVja2V0IGV4dGVuZHMgQWJzdHJhY3RIYXNEaXNwYXRjaGVyCnsKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgRXZlbnQgZW1pdHRlZCB3aGVuIGEgYmF0Y2ggcmVxdWVzdCBoYXMgY29tcGxldGVkCiAgICAgKi8KICAgIGNvbnN0IEFGVEVSX0RFTEVURSA9ICdjbGVhcl9idWNrZXQuYWZ0ZXJfZGVsZXRlJzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIEV2ZW50IGVtaXR0ZWQgYmVmb3JlIHRoZSBidWNrZXQgaXMgY2xlYXJlZAogICAgICovCiAgICBjb25zdCBCRUZPUkVfQ0xFQVIgPSAnY2xlYXJfYnVja2V0LmJlZm9yZV9jbGVhcic7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBFdmVudCBlbWl0dGVkIGFmdGVyIHRoZSBidWNrZXQgaXMgY2xlYXJlZAogICAgICovCiAgICBjb25zdCBBRlRFUl9DTEVBUiA9ICdjbGVhcl9idWNrZXQuYWZ0ZXJfY2xlYXInOwoKICAgIC8qKgogICAgICogQHZhciBBd3NDbGllbnRJbnRlcmZhY2UgQ2xpZW50IHVzZWQgdG8gZXhlY3V0ZSB0aGUgcmVxdWVzdHMKICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgLyoqCiAgICAgKiBAdmFyIEFic3RyYWN0UzNSZXNvdXJjZUl0ZXJhdG9yIEl0ZXJhdG9yIHVzZWQgdG8geWllbGQga2V5cwogICAgICovCiAgICBwcm90ZWN0ZWQgJGl0ZXJhdG9yOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgTUZBIHVzZWQgd2l0aCBlYWNoIHJlcXVlc3QKICAgICAqLwogICAgcHJvdGVjdGVkICRtZmE7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gQXdzQ2xpZW50SW50ZXJmYWNlICRjbGllbnQgQ2xpZW50IHVzZWQgdG8gZXhlY3V0ZSByZXF1ZXN0cwogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAkYnVja2V0IE5hbWUgb2YgdGhlIGJ1Y2tldCB0byBjbGVhcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoQXdzQ2xpZW50SW50ZXJmYWNlICRjbGllbnQsICRidWNrZXQpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9ICRjbGllbnQ7CiAgICAgICAgJHRoaXMtPmJ1Y2tldCA9ICRidWNrZXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0QWxsRXZlbnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoc2VsZjo6QUZURVJfREVMRVRFLCBzZWxmOjpCRUZPUkVfQ0xFQVIsIHNlbGY6OkFGVEVSX0NMRUFSKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgYnVja2V0IHRoYXQgaXMgdG8gYmUgY2xlYXJlZAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1Y2tldCBOYW1lIG9mIHRoZSBidWNrZXQgdG8gY2xlYXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEJ1Y2tldCgkYnVja2V0KQogICAgewogICAgICAgICR0aGlzLT5idWNrZXQgPSAkYnVja2V0OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGl0ZXJhdG9yIHVzZWQgdG8geWllbGQgdGhlIGtleXMgdG8gYmUgZGVsZXRlZC4gQSBkZWZhdWx0IGl0ZXJhdG9yCiAgICAgKiB3aWxsIGJlIGNyZWF0ZWQgYW5kIHJldHVybmVkIGlmIG5vIGl0ZXJhdG9yIGhhcyBiZWVuIGV4cGxpY2l0bHkgc2V0LgogICAgICoKICAgICAqIEByZXR1cm4gXEl0ZXJhdG9yCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJdGVyYXRvcigpCiAgICB7CiAgICAgICAgaWYgKCEkdGhpcy0+aXRlcmF0b3IpIHsKICAgICAgICAgICAgJHRoaXMtPml0ZXJhdG9yID0gJHRoaXMtPmNsaWVudC0+Z2V0SXRlcmF0b3IoJ0xpc3RPYmplY3RWZXJzaW9ucycsIGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldAogICAgICAgICAgICApKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+aXRlcmF0b3I7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXRzIGEgZGlmZmVyZW50IGl0ZXJhdG9yIHRvIHVzZSB0aGFuIHRoZSBkZWZhdWx0IGl0ZXJhdG9yLiBUaGlzIGNhbiBiZSBoZWxwZnVsIHdoZW4geW91IHdpc2ggdG8gZGVsZXRlCiAgICAgKiBvbmx5IHNwZWNpZmljIGtleXMgZnJvbSBhIGJ1Y2tldCAoZS5nLiBrZXlzIHRoYXQgbWF0Y2ggYSBjZXJ0YWluIHByZWZpeCBvciBkZWxpbWl0ZXIsIG9yIHBlcmhhcHMga2V5cyB0aGF0CiAgICAgKiBwYXNzIHRocm91Z2ggYSBmaWx0ZXJlZCwgZGVjb3JhdGVkIGl0ZXJhdG9yKS4KICAgICAqCiAgICAgKiBAcGFyYW0gXEl0ZXJhdG9yICRpdGVyYXRvciBJdGVyYXRvciB1c2VkIHRvIHlpZWxkIHRoZSBrZXlzIHRvIGJlIGRlbGV0ZWQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEl0ZXJhdG9yKFxJdGVyYXRvciAkaXRlcmF0b3IpCiAgICB7CiAgICAgICAgJHRoaXMtPml0ZXJhdG9yID0gJGl0ZXJhdG9yOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIE1GQSB0b2tlbiB0byBzZW5kIHdpdGggZWFjaCByZXF1ZXN0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbWZhIE1GQSB0b2tlbiB0byBzZW5kIHdpdGggZWFjaCByZXF1ZXN0LiBUaGUgdmFsdWUgaXMgdGhlIGNvbmNhdGVuYXRpb24gb2YgdGhlIGF1dGhlbnRpY2F0aW9uCiAgICAgKiAgICAgICAgICAgICAgICAgICAgZGV2aWNlJ3Mgc2VyaWFsIG51bWJlciwgYSBzcGFjZSwgYW5kIHRoZSB2YWx1ZSBkaXNwbGF5ZWQgb24geW91ciBhdXRoZW50aWNhdGlvbiBkZXZpY2UuCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRNZmEoJG1mYSkKICAgIHsKICAgICAgICAkdGhpcy0+bWZhID0gJG1mYTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogQ2xlYXIgdGhlIGJ1Y2tldAogICAgICoKICAgICAqIEByZXR1cm4gaW50IFJldHVybnMgdGhlIG51bWJlciBvZiBkZWxldGVkIGtleXMKICAgICAqIEB0aHJvd3MgRXhjZXB0aW9uQ29sbGVjdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xlYXIoKQogICAgewogICAgICAgICR0aGF0ID0gJHRoaXM7CiAgICAgICAgJGJhdGNoID0gRGVsZXRlT2JqZWN0c0JhdGNoOjpmYWN0b3J5KCR0aGlzLT5jbGllbnQsICR0aGlzLT5idWNrZXQsICR0aGlzLT5tZmEpOwogICAgICAgICRiYXRjaCA9IG5ldyBOb3RpZnlpbmdCYXRjaCgkYmF0Y2gsIGZ1bmN0aW9uICgkaXRlbXMpIHVzZSAoJHRoYXQpIHsKICAgICAgICAgICAgJHRoYXQtPmRpc3BhdGNoKENsZWFyQnVja2V0OjpBRlRFUl9ERUxFVEUsIGFycmF5KCdrZXlzJyA9PiAkaXRlbXMpKTsKICAgICAgICB9KTsKICAgICAgICAkYmF0Y2ggPSBuZXcgRmx1c2hpbmdCYXRjaChuZXcgRXhjZXB0aW9uQnVmZmVyaW5nQmF0Y2goJGJhdGNoKSwgMTAwMCk7CgogICAgICAgIC8vIExldCBhbnkgbGlzdGVuZXJzIGtub3cgdGhhdCB0aGUgYnVja2V0IGlzIGFib3V0IHRvIGJlIGNsZWFyZWQKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2goc2VsZjo6QkVGT1JFX0NMRUFSLCBhcnJheSgKICAgICAgICAgICAgJ2l0ZXJhdG9yJyA9PiAkdGhpcy0+Z2V0SXRlcmF0b3IoKSwKICAgICAgICAgICAgJ2JhdGNoJyAgICA9PiAkYmF0Y2gsCiAgICAgICAgICAgICdtZmEnICAgICAgPT4gJHRoaXMtPm1mYQogICAgICAgICkpOwoKICAgICAgICAkZGVsZXRlZCA9IDA7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmdldEl0ZXJhdG9yKCkgYXMgJG9iamVjdCkgewogICAgICAgICAgICBpZiAoaXNzZXQoJG9iamVjdFsnVmVyc2lvbklkJ10pKSB7CiAgICAgICAgICAgICAgICAkdmVyc2lvbklkID0gJG9iamVjdFsnVmVyc2lvbklkJ10gPT0gJ251bGwnID8gbnVsbCA6ICRvYmplY3RbJ1ZlcnNpb25JZCddOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJHZlcnNpb25JZCA9IG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGJhdGNoLT5hZGRLZXkoJG9iamVjdFsnS2V5J10sICR2ZXJzaW9uSWQpOwogICAgICAgICAgICAkZGVsZXRlZCsrOwogICAgICAgIH0KICAgICAgICAkYmF0Y2gtPmZsdXNoKCk7CgogICAgICAgIC8vIElmIGFueSBlcnJvcnMgd2VyZSBlbmNvdW50ZXJlZCwgdGhlbiB0aHJvdyBhbiBFeGNlcHRpb25Db2xsZWN0aW9uCiAgICAgICAgaWYgKGNvdW50KCRiYXRjaC0+Z2V0RXhjZXB0aW9ucygpKSkgewogICAgICAgICAgICAkZSA9IG5ldyBFeGNlcHRpb25Db2xsZWN0aW9uKCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCRiYXRjaC0+Z2V0RXhjZXB0aW9ucygpIGFzICRleGNlcHRpb24pIHsKICAgICAgICAgICAgICAgICRlLT5hZGQoJGV4Y2VwdGlvbi0+Z2V0UHJldmlvdXMoKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhyb3cgJGU7CiAgICAgICAgfQoKICAgICAgICAvLyBMZXQgYW55IGxpc3RlbmVycyBrbm93IHRoYXQgdGhlIGJ1Y2tldCB3YXMgY2xlYXJlZAogICAgICAgICR0aGlzLT5kaXNwYXRjaChzZWxmOjpBRlRFUl9DTEVBUiwgYXJyYXkoJ2RlbGV0ZWQnID0+ICRkZWxldGVkKSk7CgogICAgICAgIHJldHVybiAkZGVsZXRlZDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/DeleteObjectsBatch.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWw7Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQXdzQ2xpZW50SW50ZXJmYWNlOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBYnN0cmFjdENvbW1hbmQ7CnVzZSBHdXp6bGVcQmF0Y2hcQmF0Y2hCdWlsZGVyOwp1c2UgR3V6emxlXEJhdGNoXEJhdGNoU2l6ZURpdmlzb3I7CnVzZSBHdXp6bGVcQmF0Y2hcQWJzdHJhY3RCYXRjaERlY29yYXRvcjsKCi8qKgogKiBUaGUgRGVsZXRlT2JqZWN0c0JhdGNoIGlzIGEgQmF0Y2hEZWNvcmF0b3IgZm9yIEd1enpsZSB0aGF0IGltcGxlbWVudHMgYQogKiBxdWV1ZSBmb3IgZGVsZXRpbmcga2V5cyBmcm9tIGFuIEFtYXpvbiBTMyBidWNrZXQuIFlvdSBjYW4gYWRkIERlbGV0ZU9iamVjdAogKiBvciBhbiBhcnJheSBvZiBbS2V5ID0+ICVzLCBWZXJzaW9uSWQgPT4gJXNdIGFuZCBjYWxsIGZsdXNoIHdoZW4gdGhlIG9iamVjdHMKICogc2hvdWxkIGJlIGRlbGV0ZWQuCiAqLwpjbGFzcyBEZWxldGVPYmplY3RzQmF0Y2ggZXh0ZW5kcyBBYnN0cmFjdEJhdGNoRGVjb3JhdG9yCnsKICAgIC8qKgogICAgICogRmFjdG9yeSBmb3IgY3JlYXRpbmcgYSBEZWxldGVPYmplY3RzQmF0Y2gKICAgICAqCiAgICAgKiBAcGFyYW0gQXdzQ2xpZW50SW50ZXJmYWNlICRjbGllbnQgQ2xpZW50IHVzZWQgdG8gdHJhbnNmZXIgcmVxdWVzdHMKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgICAgJGJ1Y2tldCBCdWNrZXQgdGhhdCBjb250YWlucyB0aGUgb2JqZWN0cyB0byBkZWxldGUKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgICAgJG1mYSAgICBNRkEgdG9rZW4gdG8gdXNlIHdpdGggdGhlIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KEF3c0NsaWVudEludGVyZmFjZSAkY2xpZW50LCAkYnVja2V0LCAkbWZhID0gbnVsbCkKICAgIHsKICAgICAgICAkYmF0Y2ggPSBCYXRjaEJ1aWxkZXI6OmZhY3RvcnkoKQogICAgICAgICAgICAtPmNyZWF0ZUJhdGNoZXNXaXRoKG5ldyBCYXRjaFNpemVEaXZpc29yKDEwMDApKQogICAgICAgICAgICAtPnRyYW5zZmVyV2l0aChuZXcgRGVsZXRlT2JqZWN0c1RyYW5zZmVyKCRjbGllbnQsICRidWNrZXQsICRtZmEpKQogICAgICAgICAgICAtPmJ1aWxkKCk7CgogICAgICAgIHJldHVybiBuZXcgc2VsZigkYmF0Y2gpOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGFuIG9iamVjdCB0byBiZSBkZWxldGVkCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5ICAgICAgIEtleSBvZiB0aGUgb2JqZWN0CiAgICAgKiBAcGFyYW0gc3RyaW5nICR2ZXJzaW9uSWQgVmVyc2lvbklEIG9mIHRoZSBvYmplY3QKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZEtleSgka2V5LCAkdmVyc2lvbklkID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmFkZChhcnJheSgKICAgICAgICAgICAgJ0tleScgICAgICAgPT4gJGtleSwKICAgICAgICAgICAgJ1ZlcnNpb25JZCcgPT4gJHZlcnNpb25JZAogICAgICAgICkpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkKCRpdGVtKQogICAgewogICAgICAgIGlmICgkaXRlbSBpbnN0YW5jZW9mIEFic3RyYWN0Q29tbWFuZCAmJiAkaXRlbS0+Z2V0TmFtZSgpID09ICdEZWxldGVPYmplY3QnKSB7CiAgICAgICAgICAgICRpdGVtID0gYXJyYXkoCiAgICAgICAgICAgICAgICAnS2V5JyAgICAgICA9PiAkaXRlbVsnS2V5J10sCiAgICAgICAgICAgICAgICAnVmVyc2lvbklkJyA9PiAkaXRlbVsnVmVyc2lvbklkJ10KICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIGlmICghaXNfYXJyYXkoJGl0ZW0pIHx8ICghaXNzZXQoJGl0ZW1bJ0tleSddKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignSXRlbSBtdXN0IGJlIGEgRGVsZXRlT2JqZWN0IGNvbW1hbmQgb3IgYXJyYXkgY29udGFpbmluZyBhIEtleSBhbmQgVmVyc2lvbklkIGtleS4nKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+ZGVjb3JhdGVkQmF0Y2gtPmFkZCgkaXRlbSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/DeleteObjectsTransfer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWw7Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQXdzQ2xpZW50SW50ZXJmYWNlOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cT3ZlcmZsb3dFeGNlcHRpb247CnVzZSBBd3NcQ29tbW9uXEVudW1cVWFTdHJpbmcgYXMgVWE7CnVzZSBBd3NcUzNcRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEF3c1xTM1xFeGNlcHRpb25cRGVsZXRlTXVsdGlwbGVPYmplY3RzRXhjZXB0aW9uOwp1c2UgR3V6emxlXEJhdGNoXEJhdGNoVHJhbnNmZXJJbnRlcmZhY2U7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2U7CgovKioKICogVHJhbnNmZXIgbG9naWMgZm9yIGRlbGV0aW5nIG11bHRpcGxlIG9iamVjdHMgZnJvbSBhbiBBbWF6b24gUzMgYnVja2V0IGluIGEKICogc2luZ2xlIHJlcXVlc3QKICovCmNsYXNzIERlbGV0ZU9iamVjdHNUcmFuc2ZlciBpbXBsZW1lbnRzIEJhdGNoVHJhbnNmZXJJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBAdmFyIEF3c0NsaWVudEludGVyZmFjZSBUaGUgQW1hem9uIFMzIGNsaWVudCBmb3IgZG9pbmcgdHJhbnNmZXJzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2xpZW50OwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgQnVja2V0IGZyb20gd2hpY2ggdG8gZGVsZXRlIHRoZSBvYmplY3RzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkYnVja2V0OwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgTUZBIHRva2VuIHRvIGFwcGx5IHRvIHRoZSByZXF1ZXN0CiAgICAgKi8KICAgIHByb3RlY3RlZCAkbWZhOwoKICAgIC8qKgogICAgICogQ29uc3RydWN0cyBhIHRyYW5zZmVyIHVzaW5nIHRoZSBpbmplY3RlZCBjbGllbnQKICAgICAqCiAgICAgKiBAcGFyYW0gQXdzQ2xpZW50SW50ZXJmYWNlICRjbGllbnQgQ2xpZW50IHVzZWQgdG8gdHJhbnNmZXIgdGhlIHJlcXVlc3RzCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICRidWNrZXQgTmFtZSBvZiB0aGUgYnVja2V0IHRoYXQgc3RvcmVzIHRoZSBvYmplY3RzCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICRtZmEgICAgTUZBIHRva2VuIHVzZWQgd2hlbiBjb250YWN0aW5nIHRoZSBBbWF6b24gUzMgQVBJCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChBd3NDbGllbnRJbnRlcmZhY2UgJGNsaWVudCwgJGJ1Y2tldCwgJG1mYSA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9ICRjbGllbnQ7CiAgICAgICAgJHRoaXMtPmJ1Y2tldCA9ICRidWNrZXQ7CiAgICAgICAgJHRoaXMtPm1mYSA9ICRtZmE7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgYSBuZXcgTUZBIHRva2VuIHZhbHVlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdG9rZW4gTUZBIHRva2VuCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRNZmEoJHRva2VuKQogICAgewogICAgICAgICR0aGlzLT5tZmEgPSAkdG9rZW47CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqIEB0aHJvd3MgT3ZlcmZsb3dFeGNlcHRpb24gICAgICAgIGlmIGEgYmF0Y2ggaGFzIG1vcmUgdGhhbiAxMDAwIGl0ZW1zCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIGFuIGludmFsaWQgYmF0Y2ggaXRlbSBpcyBlbmNvdW50ZXJlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmZXIoYXJyYXkgJGJhdGNoKQogICAgewogICAgICAgIGlmIChlbXB0eSgkYmF0Y2gpKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIGlmIChjb3VudCgkYmF0Y2gpID4gMTAwMCkgewogICAgICAgICAgICB0aHJvdyBuZXcgT3ZlcmZsb3dFeGNlcHRpb24oJ0JhdGNoZXMgc2hvdWxkIGJlIGRpdmlkZWQgaW50byBjaHVua3Mgb2Ygbm8gbGFyZ2VyIHRoYW4gMTAwMCBrZXlzJyk7CiAgICAgICAgfQoKICAgICAgICAkZGVsID0gYXJyYXkoKTsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ0RlbGV0ZU9iamVjdHMnLCBhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgICA9PiAkdGhpcy0+YnVja2V0LAogICAgICAgICAgICBVYTo6T1BUSU9OID0+IFVhOjpCQVRDSAogICAgICAgICkpOwoKICAgICAgICBpZiAoJHRoaXMtPm1mYSkgewogICAgICAgICAgICAkY29tbWFuZC0+Z2V0UmVxdWVzdEhlYWRlcnMoKS0+c2V0KCd4LWFtei1tZmEnLCAkdGhpcy0+bWZhKTsKICAgICAgICB9CgogICAgICAgIGZvcmVhY2ggKCRiYXRjaCBhcyAkb2JqZWN0KSB7CiAgICAgICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBiYXRjaCBpdGVtIGlzIHZhbGlkCiAgICAgICAgICAgIGlmICghaXNfYXJyYXkoJG9iamVjdCkgfHwgIWlzc2V0KCRvYmplY3RbJ0tleSddKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignSW52YWxpZCBiYXRjaCBpdGVtIGVuY291bnRlcmVkOiAnIC4gdmFyX2V4cG9ydCgkYmF0Y2gsIHRydWUpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkZGVsW10gPSBhcnJheSgKICAgICAgICAgICAgICAgICdLZXknICAgICAgID0+ICRvYmplY3RbJ0tleSddLAogICAgICAgICAgICAgICAgJ1ZlcnNpb25JZCcgPT4gaXNzZXQoJG9iamVjdFsnVmVyc2lvbklkJ10pID8gJG9iamVjdFsnVmVyc2lvbklkJ10gOiBudWxsCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAkY29tbWFuZFsnT2JqZWN0cyddID0gJGRlbDsKCiAgICAgICAgJGNvbW1hbmQtPmV4ZWN1dGUoKTsKICAgICAgICAkdGhpcy0+cHJvY2Vzc1Jlc3BvbnNlKCRjb21tYW5kKTsKICAgIH0KCiAgICAvKioKICAgICAqIFByb2Nlc3MgdGhlIHJlc3BvbnNlIG9mIHRoZSBEZWxldGVNdWx0aXBsZU9iamVjdHMgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbUNvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQgQ29tbWFuZCBleGVjdXRlZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJvY2Vzc1Jlc3BvbnNlKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQpCiAgICB7CiAgICAgICAgJHJlc3VsdCA9ICRjb21tYW5kLT5nZXRSZXN1bHQoKTsKCiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIG9iamVjdHMgd2VyZSBkZWxldGVkIHN1Y2Nlc3NmdWxseQogICAgICAgIGlmICghZW1wdHkoJHJlc3VsdFsnRXJyb3JzJ10pKSB7CiAgICAgICAgICAgICRlcnJvcnMgPSAkcmVzdWx0WydFcnJvcnMnXTsKICAgICAgICAgICAgdGhyb3cgbmV3IERlbGV0ZU11bHRpcGxlT2JqZWN0c0V4Y2VwdGlvbigkZXJyb3JzKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/Grant.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWw7Cgp1c2UgQXdzXFMzXEVudW1cUGVybWlzc2lvbjsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxDb21tb25cVG9BcnJheUludGVyZmFjZTsKCi8qKgogKiBBbWF6b24gUzMgR3JhbnQgbW9kZWwKICovCmNsYXNzIEdyYW50IGltcGxlbWVudHMgVG9BcnJheUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgQSBtYXAgb2YgcGVybWlzc2lvbnMgdG8gb3BlcmF0aW9uIHBhcmFtZXRlcnMKICAgICAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkcGFyYW1ldGVyTWFwID0gYXJyYXkoCiAgICAgICAgUGVybWlzc2lvbjo6UkVBRCAgICAgICAgID0+ICdHcmFudFJlYWQnLAogICAgICAgIFBlcm1pc3Npb246OldSSVRFICAgICAgICA9PiAnR3JhbnRXcml0ZScsCiAgICAgICAgUGVybWlzc2lvbjo6UkVBRF9BQ1AgICAgID0+ICdHcmFudFJlYWRBQ1AnLAogICAgICAgIFBlcm1pc3Npb246OldSSVRFX0FDUCAgICA9PiAnR3JhbnRXcml0ZUFDUCcsCiAgICAgICAgUGVybWlzc2lvbjo6RlVMTF9DT05UUk9MID0+ICdHcmFudEZ1bGxDb250cm9sJwogICAgKTsKCiAgICAvKioKICAgICAqIEB2YXIgR3JhbnRlZSBUaGUgZ3JhbnRlZSBhZmZlY3RlZCBieSB0aGUgZ3JhbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRncmFudGVlOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVGhlIHBlcm1pc3Npb24gc2V0IGJ5IHRoZSBncmFudAogICAgICovCiAgICBwcm90ZWN0ZWQgJHBlcm1pc3Npb247CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RzIGFuIEFDTAogICAgICoKICAgICAqIEBwYXJhbSBHcmFudGVlICRncmFudGVlICAgIEFmZmVjdGVkIGdyYW50ZWUKICAgICAqIEBwYXJhbSBzdHJpbmcgICRwZXJtaXNzaW9uIFBlcm1pc3Npb24gYXBwbGllZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoR3JhbnRlZSAkZ3JhbnRlZSwgJHBlcm1pc3Npb24pCiAgICB7CiAgICAgICAgJHRoaXMtPnNldEdyYW50ZWUoJGdyYW50ZWUpOwogICAgICAgICR0aGlzLT5zZXRQZXJtaXNzaW9uKCRwZXJtaXNzaW9uKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgZ3JhbnRlZSBhZmZlY3RlZCBieSB0aGUgZ3JhbnQKICAgICAqCiAgICAgKiBAcGFyYW0gR3JhbnRlZSAkZ3JhbnRlZSBBZmZlY3RlZCBncmFudGVlCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRHcmFudGVlKEdyYW50ZWUgJGdyYW50ZWUpCiAgICB7CiAgICAgICAgJHRoaXMtPmdyYW50ZWUgPSAkZ3JhbnRlZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBncmFudGVlIGFmZmVjdGVkIGJ5IHRoZSBncmFudAogICAgICoKICAgICAqIEByZXR1cm4gR3JhbnRlZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0R3JhbnRlZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ncmFudGVlOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBwZXJtaXNzaW9uIHNldCBieSB0aGUgZ3JhbnQKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwZXJtaXNzaW9uIFBlcm1pc3Npb24gYXBwbGllZAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICoKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRQZXJtaXNzaW9uKCRwZXJtaXNzaW9uKQogICAgewogICAgICAgICR2YWxpZCA9IFBlcm1pc3Npb246OnZhbHVlcygpOwogICAgICAgIGlmICghaW5fYXJyYXkoJHBlcm1pc3Npb24sICR2YWxpZCkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignVGhlIHBlcm1pc3Npb24gbXVzdCBiZSBvbmUgb2YgJwogICAgICAgICAgICAgICAgLiAndGhlIGZvbGxvd2luZzogJyAuIGltcGxvZGUoJywgJywgJHZhbGlkKSAuICcuJyk7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+cGVybWlzc2lvbiA9ICRwZXJtaXNzaW9uOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHBlcm1pc3Npb24gc2V0IGJ5IHRoZSBncmFudAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQZXJtaXNzaW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnBlcm1pc3Npb247CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBvcGVyYXRpb24gcGFyYW1ldGVyIGFuZCB2YWx1ZSB0byBzZXQgb24gdGhlIG9wZXJhdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhcmFtZXRlckFycmF5KCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIHNlbGY6OiRwYXJhbWV0ZXJNYXBbJHRoaXMtPnBlcm1pc3Npb25dID0+ICR0aGlzLT5ncmFudGVlLT5nZXRIZWFkZXJWYWx1ZSgpCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRvQXJyYXkoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgJ0dyYW50ZWUnICAgID0+ICR0aGlzLT5ncmFudGVlLT50b0FycmF5KCksCiAgICAgICAgICAgICdQZXJtaXNzaW9uJyA9PiAkdGhpcy0+cGVybWlzc2lvbgogICAgICAgICk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/Grantee.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWw7Cgp1c2UgQXdzXFMzXEVudW1cR3JvdXA7CnVzZSBBd3NcUzNcRW51bVxHcmFudGVlVHlwZTsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFVuZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlvbjsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXExvZ2ljRXhjZXB0aW9uOwp1c2UgR3V6emxlXENvbW1vblxUb0FycmF5SW50ZXJmYWNlOwoKLyoqCiAqIEFtYXpvbiBTMyBHcmFudGVlIG1vZGVsCiAqLwpjbGFzcyBHcmFudGVlIGltcGxlbWVudHMgVG9BcnJheUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgQSBtYXAgb2YgZ3JhbnRlZSB0eXBlcyB0byBncmFudCBoZWFkZXIgdmFsdWUgcHJlZml4ZXMKICAgICAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkaGVhZGVyTWFwID0gYXJyYXkoCiAgICAgICAgR3JhbnRlZVR5cGU6OlVTRVIgID0+ICdpZCcsCiAgICAgICAgR3JhbnRlZVR5cGU6OkVNQUlMID0+ICdlbWFpbEFkZHJlc3MnLAogICAgICAgIEdyYW50ZWVUeXBlOjpHUk9VUCA9PiAndXJpJwogICAgKTsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRoZSBhY2NvdW50IElELCBlbWFpbCwgb3IgVVJMIGlkZW50aWZ5aW5nIHRoZSBncmFudGVlCiAgICAgKi8KICAgIHByb3RlY3RlZCAkaWQ7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBUaGUgZGlzcGxheSBuYW1lIG9mIHRoZSBncmFudGVlCiAgICAgKi8KICAgIHByb3RlY3RlZCAkZGlzcGxheU5hbWU7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBUaGUgdHlwZSBvZiB0aGUgZ3JhbnRlZSAoQ2Fub25pY2FsVXNlciBvciBHcm91cCkKICAgICAqLwogICAgcHJvdGVjdGVkICR0eXBlOwoKICAgIC8qKgogICAgICogQ29uc3RydWN0cyBhIEdyYW50ZWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRpZCAgICAgICAgICAgR3JhbnRlZSBpZGVudGlmaWVyCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkaXNwbGF5TmFtZSAgR3JhbnRlZSBkaXNwbGF5IG5hbWUKICAgICAqIEBwYXJhbSBzdHJpbmcgJGV4cGVjdGVkVHlwZSBUaGUgZXhwZWN0ZWQgdHlwZSBvZiB0aGUgZ3JhbnRlZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGlkLCAkZGlzcGxheU5hbWUgPSBudWxsLCAkZXhwZWN0ZWRUeXBlID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+dHlwZSA9IEdyYW50ZWVUeXBlOjpVU0VSOwogICAgICAgICR0aGlzLT5zZXRJZCgkaWQsICRleHBlY3RlZFR5cGUpOwogICAgICAgICR0aGlzLT5zZXREaXNwbGF5TmFtZSgkZGlzcGxheU5hbWUpOwogICAgfQoKICAgIC8qKgogICAgICogU2V0cyB0aGUgYWNjb3VudCBJRCwgZW1haWwsIG9yIFVSTCBpZGVudGlmeWluZyB0aGUgZ3JhbnRlZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGlkICAgICAgICAgICBHcmFudGVlIGlkZW50aWZpZXIKICAgICAqIEBwYXJhbSBzdHJpbmcgJGV4cGVjdGVkVHlwZSBUaGUgZXhwZWN0ZWQgdHlwZSBvZiB0aGUgZ3JhbnRlZQogICAgICoKICAgICAqIEByZXR1cm4gR3JhbnRlZQogICAgICoKICAgICAqIEB0aHJvd3MgVW5leHBlY3RlZFZhbHVlRXhjZXB0aW9uIGlmICRleHBlY3RlZFR5cGUgaXMgc2V0IGFuZCB0aGUgZ3JhbnRlZQogICAgICogICAgIGlzIG5vdCBvZiB0aGF0IHR5cGUgYWZ0ZXIgaW5zdGFudGlhdGlvbgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gd2hlbiB0aGUgSUQgcHJvdmlkZWQgaXMgbm90IGEgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRJZCgkaWQsICRleHBlY3RlZFR5cGUgPSBudWxsKQogICAgewogICAgICAgIGlmIChpbl9hcnJheSgkaWQsIEdyb3VwOjp2YWx1ZXMoKSkpIHsKICAgICAgICAgICAgJHRoaXMtPnR5cGUgPSBHcmFudGVlVHlwZTo6R1JPVVA7CiAgICAgICAgfSBlbHNlaWYgKCFpc19zdHJpbmcoJGlkKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdUaGUgZ3JhbnRlZSBJRCBtdXN0IGJlIHByb3ZpZGVkIGFzIGEgc3RyaW5nIHZhbHVlLicpOwogICAgICAgIH0KCiAgICAgICAgaWYgKHN0cnBvcygkaWQsICdAJykgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICR0aGlzLT50eXBlID0gR3JhbnRlZVR5cGU6OkVNQUlMOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRleHBlY3RlZFR5cGUgJiYgJGV4cGVjdGVkVHlwZSAhPT0gJHRoaXMtPnR5cGUpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFVuZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlvbignVGhlIHR5cGUgb2YgdGhlIGdyYW50ZWUgYWZ0ZXIgJwogICAgICAgICAgICAgICAgLiAnc2V0dGluZyB0aGUgSUQgZGlkIG5vdCBtYXRjaCB0aGUgc3BlY2lmaWVkLCBleHBlY3RlZCB0eXBlICInCiAgICAgICAgICAgICAgICAuICRleHBlY3RlZFR5cGUgLiAnIiBidXQgcmVjZWl2ZWQgIicgLiAkdGhpcy0+dHlwZSAuICciLicpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmlkID0gJGlkOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXRzIHRoZSBncmFudGVlIGlkZW50aWZpZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+aWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXRzIHRoZSBncmFudGVlIGVtYWlsIGFkZHJlc3MgKGlmIGl0IGlzIHNldCkKICAgICAqCiAgICAgKiBAcmV0dXJuIG51bGx8c3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFbWFpbEFkZHJlc3MoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+aXNBbWF6b25DdXN0b21lckJ5RW1haWwoKSA/ICR0aGlzLT5pZCA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXRzIHRoZSBncmFudGVlIFVSSSAoaWYgaXQgaXMgc2V0KQogICAgICoKICAgICAqIEByZXR1cm4gbnVsbHxzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEdyb3VwVXJpKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmlzR3JvdXAoKSA/ICR0aGlzLT5pZCA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXRzIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIGdyYW50ZWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkaXNwbGF5TmFtZSBHcmFudGVlIG5hbWUKICAgICAqCiAgICAgKiBAcmV0dXJuIEdyYW50ZWUKICAgICAqCiAgICAgKiBAdGhyb3dzIExvZ2ljRXhjZXB0aW9uIHdoZW4gdGhlIGdyYW50ZWUgdHlwZSBub3QgQ2Fub25pY2FsVXNlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RGlzcGxheU5hbWUoJGRpc3BsYXlOYW1lKQogICAgewogICAgICAgIGlmICgkdGhpcy0+dHlwZSA9PT0gR3JhbnRlZVR5cGU6OlVTRVIpIHsKICAgICAgICAgICAgaWYgKGVtcHR5KCRkaXNwbGF5TmFtZSkgfHwgIWlzX3N0cmluZygkZGlzcGxheU5hbWUpKSB7CiAgICAgICAgICAgICAgICAkZGlzcGxheU5hbWUgPSAkdGhpcy0+aWQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMtPmRpc3BsYXlOYW1lID0gJGRpc3BsYXlOYW1lOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmICgkZGlzcGxheU5hbWUpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBMb2dpY0V4Y2VwdGlvbignVGhlIGRpc3BsYXkgbmFtZSBjYW4gb25seSBiZSBzZXQgJwogICAgICAgICAgICAgICAgICAgIC4gJ2ZvciBncmFudGVlcyBzcGVjaWZpZWQgYnkgSUQuJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldHMgdGhlIGdyYW50ZWUgZGlzcGxheSBuYW1lCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldERpc3BsYXlOYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRpc3BsYXlOYW1lOwogICAgfQoKICAgIC8qKgogICAgICogR2V0cyB0aGUgZ3JhbnRlZSB0eXBlIChkZXRlcm1pbmVkIGJ5IElEKQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUeXBlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnR5cGU7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhpcyBncmFudGVlIG9iamVjdCByZXByZXNlbnRzIGEgY2Fub25pY2FsIHVzZXIgYnkgSUQKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzQ2Fub25pY2FsVXNlcigpCiAgICB7CiAgICAgICAgcmV0dXJuICgkdGhpcy0+dHlwZSA9PT0gR3JhbnRlZVR5cGU6OlVTRVIpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgZ3JhbnRlZSBvYmplY3QgcmVwcmVzZW50cyBhIGN1c3RvbWVyIGJ5IGVtYWlsCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0FtYXpvbkN1c3RvbWVyQnlFbWFpbCgpCiAgICB7CiAgICAgICAgcmV0dXJuICgkdGhpcy0+dHlwZSA9PT0gR3JhbnRlZVR5cGU6OkVNQUlMKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIGdyYW50ZWUgb2JqZWN0IHJlcHJlc2VudHMgYSBncm91cCBieSBVUkwKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzR3JvdXAoKQogICAgewogICAgICAgIHJldHVybiAoJHRoaXMtPnR5cGUgPT09IEdyYW50ZWVUeXBlOjpHUk9VUCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSB1c2VkIGluIGhlYWRlcnMgdG8gc3BlY2lmeSB0aGlzIGdyYW50ZWUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SGVhZGVyVmFsdWUoKQogICAgewogICAgICAgICRrZXkgPSBzZWxmOjokaGVhZGVyTWFwWyR0aGlzLT50eXBlXTsKCiAgICAgICAgcmV0dXJuICJ7JGtleX09XCJ7JHRoaXMtPmlkfVwiIjsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRvQXJyYXkoKQogICAgewogICAgICAgICRyZXN1bHQgPSBhcnJheSgKICAgICAgICAgICAgJ1R5cGUnID0+ICR0aGlzLT50eXBlCiAgICAgICAgKTsKCiAgICAgICAgc3dpdGNoICgkdGhpcy0+dHlwZSkgewogICAgICAgICAgICBjYXNlIEdyYW50ZWVUeXBlOjpVU0VSOgogICAgICAgICAgICAgICAgJHJlc3VsdFsnSUQnXSA9ICR0aGlzLT5pZDsKICAgICAgICAgICAgICAgICRyZXN1bHRbJ0Rpc3BsYXlOYW1lJ10gPSAkdGhpcy0+ZGlzcGxheU5hbWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBHcmFudGVlVHlwZTo6RU1BSUw6CiAgICAgICAgICAgICAgICAkcmVzdWx0WydFbWFpbEFkZHJlc3MnXSA9ICR0aGlzLT5pZDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIEdyYW50ZWVUeXBlOjpHUk9VUDoKICAgICAgICAgICAgICAgICRyZXN1bHRbJ1VSSSddID0gJHRoaXMtPmlkOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/MultipartUpload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/MultipartUpload/AbstractTransfer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkOwoKdXNlIEF3c1xDb21tb25cRW51bVxVYVN0cmluZyBhcyBVYTsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb247CnVzZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFRyYW5zZmVyIGFzIENvbW1vbkFic3RyYWN0VHJhbnNmZXI7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXE9wZXJhdGlvbkNvbW1hbmQ7CgovKioKICogQWJzdHJhY3QgY2xhc3MgZm9yIHRyYW5zZmVyIGNvbW1vbmFsaXRpZXMKICovCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0VHJhbnNmZXIgZXh0ZW5kcyBDb21tb25BYnN0cmFjdFRyYW5zZmVyCnsKICAgIC8vIEFuIFMzIHVwbG9hZCBwYXJ0IGNhbiBiZSBhbnl3aGVyZSBmcm9tIDUgTUIgdG8gNSBHQiwgYnV0IHlvdSBjYW4gb25seSBoYXZlIDEwMDAwIHBhcnRzIHBlciB1cGxvYWQKICAgIGNvbnN0IE1JTl9QQVJUX1NJWkUgPSA1MjQyODgwOwogICAgY29uc3QgTUFYX1BBUlRfU0laRSA9IDUzNjg3MDkxMjA7CiAgICBjb25zdCBNQVhfUEFSVFMgICAgID0gMTAwMDA7CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKiBAdGhyb3dzIFJ1bnRpbWVFeGNlcHRpb24gaWYgdGhlIHBhcnQgc2l6ZSBjYW4gbm90IGJlIGNhbGN1bGF0ZWQgZnJvbSB0aGUgcHJvdmlkZWQgZGF0YQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5pdCgpCiAgICB7CiAgICAgICAgLy8gTWVyZ2UgcHJvdmlkZWQgb3B0aW9ucyBvbnRvIHRoZSBkZWZhdWx0IG9wdGlvbiB2YWx1ZXMKICAgICAgICAkdGhpcy0+b3B0aW9ucyA9IGFycmF5X3JlcGxhY2UoYXJyYXkoCiAgICAgICAgICAgICdtaW5fcGFydF9zaXplJyA9PiBzZWxmOjpNSU5fUEFSVF9TSVpFLAogICAgICAgICAgICAncGFydF9tZDUnICAgICAgPT4gdHJ1ZQogICAgICAgICksICR0aGlzLT5vcHRpb25zKTsKCiAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBwYXJ0IHNpemUgY2FuIGJlIGNhbGN1bGF0ZWQgc29tZWhvdwogICAgICAgIGlmICghJHRoaXMtPm9wdGlvbnNbJ21pbl9wYXJ0X3NpemUnXSAmJiAhJHRoaXMtPnNvdXJjZS0+Z2V0Q29udGVudExlbmd0aCgpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKCdUaGUgQ29udGVudExlbmd0aCBvZiB0aGUgZGF0YSBzb3VyY2UgY291bGQgbm90IGJlIGRldGVybWluZWQsIGFuZCBubyAnCiAgICAgICAgICAgICAgICAuICdtaW5fcGFydF9zaXplIG9wdGlvbiB3YXMgcHJvdmlkZWQnKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjYWxjdWxhdGVQYXJ0U2l6ZSgpCiAgICB7CiAgICAgICAgJHBhcnRTaXplID0gJHRoaXMtPnNvdXJjZS0+Z2V0Q29udGVudExlbmd0aCgpCiAgICAgICAgICAgID8gKGludCkgY2VpbCgoJHRoaXMtPnNvdXJjZS0+Z2V0Q29udGVudExlbmd0aCgpIC8gc2VsZjo6TUFYX1BBUlRTKSkKICAgICAgICAgICAgOiBzZWxmOjpNSU5fUEFSVF9TSVpFOwogICAgICAgICRwYXJ0U2l6ZSA9IG1heCgkdGhpcy0+b3B0aW9uc1snbWluX3BhcnRfc2l6ZSddLCAkcGFydFNpemUpOwogICAgICAgICRwYXJ0U2l6ZSA9IG1pbigkcGFydFNpemUsIHNlbGY6Ok1BWF9QQVJUX1NJWkUpOwogICAgICAgICRwYXJ0U2l6ZSA9IG1heCgkcGFydFNpemUsIHNlbGY6Ok1JTl9QQVJUX1NJWkUpOwoKICAgICAgICByZXR1cm4gJHBhcnRTaXplOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY29tcGxldGUoKQogICAgewogICAgICAgIC8qKiBAdmFyICRwYXJ0IFVwbG9hZFBhcnQgICovCiAgICAgICAgJHBhcnRzID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+c3RhdGUgYXMgJHBhcnQpIHsKICAgICAgICAgICAgJHBhcnRzW10gPSBhcnJheSgKICAgICAgICAgICAgICAgICdQYXJ0TnVtYmVyJyA9PiAkcGFydC0+Z2V0UGFydE51bWJlcigpLAogICAgICAgICAgICAgICAgJ0VUYWcnICAgICAgID0+ICRwYXJ0LT5nZXRFVGFnKCksCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAkcGFyYW1zID0gJHRoaXMtPnN0YXRlLT5nZXRVcGxvYWRJZCgpLT50b1BhcmFtcygpOwogICAgICAgICRwYXJhbXNbVWE6Ok9QVElPTl0gPSBVYTo6TVVMVElQQVJUX1VQTE9BRDsKICAgICAgICAkcGFyYW1zWydQYXJ0cyddID0gJHBhcnRzOwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnQ29tcGxldGVNdWx0aXBhcnRVcGxvYWQnLCAkcGFyYW1zKTsKCiAgICAgICAgcmV0dXJuICRjb21tYW5kLT5nZXRSZXN1bHQoKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldEFib3J0Q29tbWFuZCgpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9ICR0aGlzLT5zdGF0ZS0+Z2V0VXBsb2FkSWQoKS0+dG9QYXJhbXMoKTsKICAgICAgICAkcGFyYW1zW1VhOjpPUFRJT05dID0gVWE6Ok1VTFRJUEFSVF9VUExPQUQ7CgogICAgICAgIC8qKiBAdmFyICRjb21tYW5kIE9wZXJhdGlvbkNvbW1hbmQgKi8KICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ0Fib3J0TXVsdGlwYXJ0VXBsb2FkJywgJHBhcmFtcyk7CgogICAgICAgIHJldHVybiAkY29tbWFuZDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/MultipartUpload/ParallelTransfer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb247CnVzZSBBd3NcQ29tbW9uXEVudW1cRGF0ZUZvcm1hdDsKdXNlIEF3c1xDb21tb25cRW51bVxVYVN0cmluZyBhcyBVYTsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcSHR0cFxSZWFkTGltaXRFbnRpdHlCb2R5OwoKLyoqCiAqIFRyYW5zZmVycyBtdWx0aXBhcnQgdXBsb2FkIHBhcnRzIGluIHBhcmFsbGVsCiAqLwpjbGFzcyBQYXJhbGxlbFRyYW5zZmVyIGV4dGVuZHMgQWJzdHJhY3RUcmFuc2Zlcgp7CiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGluaXQoKQogICAgewogICAgICAgIHBhcmVudDo6aW5pdCgpOwoKICAgICAgICBpZiAoISR0aGlzLT5zb3VyY2UtPmlzTG9jYWwoKSB8fCAkdGhpcy0+c291cmNlLT5nZXRXcmFwcGVyKCkgIT0gJ3BsYWluZmlsZScpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oJ1RoZSBzb3VyY2UgZGF0YSBtdXN0IGJlIGEgbG9jYWwgZmlsZSBzdHJlYW0gd2hlbiB1cGxvYWRpbmcgaW4gcGFyYWxsZWwuJyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoZW1wdHkoJHRoaXMtPm9wdGlvbnNbJ2NvbmN1cnJlbmN5J10pKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKCdUaGUgYGNvbmN1cnJlbmN5YCBvcHRpb24gbXVzdCBiZSBzcGVjaWZpZWQgd2hlbiBpbnN0YW50aWF0aW5nLicpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHRyYW5zZmVyKCkKICAgIHsKICAgICAgICAkdG90YWxQYXJ0cyAgPSAoaW50KSBjZWlsKCR0aGlzLT5zb3VyY2UtPmdldENvbnRlbnRMZW5ndGgoKSAvICR0aGlzLT5wYXJ0U2l6ZSk7CiAgICAgICAgJGNvbmN1cnJlbmN5ID0gbWluKCR0b3RhbFBhcnRzLCAkdGhpcy0+b3B0aW9uc1snY29uY3VycmVuY3knXSk7CiAgICAgICAgJHBhcnRzVG9TZW5kID0gJHRoaXMtPnByZXBhcmVQYXJ0cygkY29uY3VycmVuY3kpOwogICAgICAgICRldmVudERhdGEgICA9ICR0aGlzLT5nZXRFdmVudERhdGEoKTsKCiAgICAgICAgd2hpbGUgKCEkdGhpcy0+c3RvcHBlZCAmJiBjb3VudCgkdGhpcy0+c3RhdGUpIDwgJHRvdGFsUGFydHMpIHsKCiAgICAgICAgICAgICRjdXJyZW50VG90YWwgPSBjb3VudCgkdGhpcy0+c3RhdGUpOwogICAgICAgICAgICAkY29tbWFuZHMgPSBhcnJheSgpOwoKICAgICAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgJGNvbmN1cnJlbmN5ICYmICRpICsgJGN1cnJlbnRUb3RhbCA8ICR0b3RhbFBhcnRzOyAkaSsrKSB7CgogICAgICAgICAgICAgICAgLy8gTW92ZSB0aGUgb2Zmc2V0IHRvIHRoZSBjb3JyZWN0IHBvc2l0aW9uCiAgICAgICAgICAgICAgICAkcGFydHNUb1NlbmRbJGldLT5zZXRPZmZzZXQoKCRjdXJyZW50VG90YWwgKyAkaSkgKiAkdGhpcy0+cGFydFNpemUpOwoKICAgICAgICAgICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVTdGFydAogICAgICAgICAgICAgICAgaWYgKCRwYXJ0c1RvU2VuZFskaV0tPmdldENvbnRlbnRMZW5ndGgoKSA9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlRW5kCgogICAgICAgICAgICAgICAgJHBhcmFtcyA9ICR0aGlzLT5zdGF0ZS0+Z2V0VXBsb2FkSWQoKS0+dG9QYXJhbXMoKTsKICAgICAgICAgICAgICAgICRldmVudERhdGFbJ2NvbW1hbmQnXSA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ1VwbG9hZFBhcnQnLCBhcnJheV9yZXBsYWNlKCRwYXJhbXMsIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdQYXJ0TnVtYmVyJyA9PiBjb3VudCgkdGhpcy0+c3RhdGUpICsgMSArICRpLAogICAgICAgICAgICAgICAgICAgICdCb2R5JyAgICAgICA9PiAkcGFydHNUb1NlbmRbJGldLAogICAgICAgICAgICAgICAgICAgICdDb250ZW50TUQ1JyA9PiAoYm9vbCkgJHRoaXMtPm9wdGlvbnNbJ3BhcnRfbWQ1J10sCiAgICAgICAgICAgICAgICAgICAgVWE6Ok9QVElPTiAgID0+IFVhOjpNVUxUSVBBUlRfVVBMT0FECiAgICAgICAgICAgICAgICApKSk7CiAgICAgICAgICAgICAgICAkY29tbWFuZHNbXSA9ICRldmVudERhdGFbJ2NvbW1hbmQnXTsKICAgICAgICAgICAgICAgIC8vIE5vdGlmeSBhbnkgbGlzdGVuZXJzIG9mIHRoZSBwYXJ0IHVwbG9hZAogICAgICAgICAgICAgICAgJHRoaXMtPmRpc3BhdGNoKHNlbGY6OkJFRk9SRV9QQVJUX1VQTE9BRCwgJGV2ZW50RGF0YSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIEFsbG93IGxpc3RlbmVycyB0byBzdG9wIHRoZSB0cmFuc2ZlciBpZiBuZWVkZWQKICAgICAgICAgICAgaWYgKCR0aGlzLT5zdG9wcGVkKSB7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gRXhlY3V0ZSBlYWNoIGNvbW1hbmQsIGl0ZXJhdGUgb3ZlciB0aGUgcmVzdWx0cywgYW5kIGFkZCB0byB0aGUgdHJhbnNmZXIgc3RhdGUKICAgICAgICAgICAgLyoqIEB2YXIgJGNvbW1hbmQgXEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcT3BlcmF0aW9uQ29tbWFuZCAqLwogICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+Y2xpZW50LT5leGVjdXRlKCRjb21tYW5kcykgYXMgJGNvbW1hbmQpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5zdGF0ZS0+YWRkUGFydChVcGxvYWRQYXJ0Ojpmcm9tQXJyYXkoYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ1BhcnROdW1iZXInICAgPT4gY291bnQoJHRoaXMtPnN0YXRlKSArIDEsCiAgICAgICAgICAgICAgICAgICAgJ0VUYWcnICAgICAgICAgPT4gJGNvbW1hbmQtPmdldFJlc3BvbnNlKCktPmdldEV0YWcoKSwKICAgICAgICAgICAgICAgICAgICAnU2l6ZScgICAgICAgICA9PiAoaW50KSAkY29tbWFuZC0+Z2V0UmVzcG9uc2UoKS0+Z2V0Q29udGVudExlbmd0aCgpLAogICAgICAgICAgICAgICAgICAgICdMYXN0TW9kaWZpZWQnID0+IGdtZGF0ZShEYXRlRm9ybWF0OjpSRkMyODIyKQogICAgICAgICAgICAgICAgKSkpOwogICAgICAgICAgICAgICAgJGV2ZW50RGF0YVsnY29tbWFuZCddID0gJGNvbW1hbmQ7CiAgICAgICAgICAgICAgICAvLyBOb3RpZnkgYW55IGxpc3RlbmVycyB0aGUgdGhlIHBhcnQgd2FzIHVwbG9hZGVkCiAgICAgICAgICAgICAgICAkdGhpcy0+ZGlzcGF0Y2goc2VsZjo6QUZURVJfUEFSVF9VUExPQUQsICRldmVudERhdGEpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUHJlcGFyZSB0aGUgZW50aXR5IGJvZHkgaGFuZGxlcyB0byB1c2Ugd2hpbGUgdHJhbnNmZXJyaW5nCiAgICAgKgogICAgICogQHBhcmFtIGludCAkY29uY3VycmVuY3kgTnVtYmVyIG9mIHBhcnRzIHRvIHByZXBhcmUKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IFBhcnRzIHRvIHNlbmQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHByZXBhcmVQYXJ0cygkY29uY3VycmVuY3kpCiAgICB7CiAgICAgICAgJHVybCA9ICR0aGlzLT5zb3VyY2UtPmdldFVyaSgpOwogICAgICAgIC8vIFVzZSB0aGUgc291cmNlIEVudGl0eUJvZHkgYXMgdGhlIGZpcnN0IHBhcnQKICAgICAgICAkcGFydHMgPSBhcnJheShuZXcgUmVhZExpbWl0RW50aXR5Qm9keSgkdGhpcy0+c291cmNlLCAkdGhpcy0+cGFydFNpemUpKTsKICAgICAgICAvLyBPcGVuIEVudGl0eUJvZHkgaGFuZGxlcyBmb3IgZWFjaCBwYXJ0IHRvIHVwbG9hZCBpbiBwYXJhbGxlbAogICAgICAgIGZvciAoJGkgPSAxOyAkaSA8ICRjb25jdXJyZW5jeTsgJGkrKykgewogICAgICAgICAgICAkcGFydHNbXSA9IG5ldyBSZWFkTGltaXRFbnRpdHlCb2R5KG5ldyBFbnRpdHlCb2R5KGZvcGVuKCR1cmwsICdyJykpLCAkdGhpcy0+cGFydFNpemUpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRwYXJ0czsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/MultipartUpload/SerialTransfer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkOwoKdXNlIEF3c1xDb21tb25cRW51bVxEYXRlRm9ybWF0Owp1c2UgQXdzXENvbW1vblxFbnVtXFNpemU7CnVzZSBBd3NcQ29tbW9uXEVudW1cVWFTdHJpbmcgYXMgVWE7CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5Owp1c2UgR3V6emxlXEh0dHBcUmVhZExpbWl0RW50aXR5Qm9keTsKCi8qKgogKiBUcmFuc2ZlcnMgbXVsdGlwYXJ0IHVwbG9hZCBwYXJ0cyBzZXJpYWxseQogKi8KY2xhc3MgU2VyaWFsVHJhbnNmZXIgZXh0ZW5kcyBBYnN0cmFjdFRyYW5zZmVyCnsKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdHJhbnNmZXIoKQogICAgewogICAgICAgIHdoaWxlICghJHRoaXMtPnN0b3BwZWQgJiYgISR0aGlzLT5zb3VyY2UtPmlzQ29uc3VtZWQoKSkgewoKICAgICAgICAgICAgaWYgKCR0aGlzLT5zb3VyY2UtPmdldENvbnRlbnRMZW5ndGgoKSAmJiAkdGhpcy0+c291cmNlLT5pc1NlZWthYmxlKCkpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSBzdHJlYW0gaXMgc2Vla2FibGUgYW5kIHRoZSBDb250ZW50LUxlbmd0aCBrbm93biwgdGhlbiBzdHJlYW0gZnJvbSB0aGUgZGF0YSBzb3VyY2UKICAgICAgICAgICAgICAgICRib2R5ID0gbmV3IFJlYWRMaW1pdEVudGl0eUJvZHkoJHRoaXMtPnNvdXJjZSwgJHRoaXMtPnBhcnRTaXplLCAkdGhpcy0+c291cmNlLT5mdGVsbCgpKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gcmVhZCB0aGUgZGF0YSBzb3VyY2UgaW50byBhIHRlbXBvcmFyeSBidWZmZXIgYmVmb3JlIHN0cmVhbWluZwogICAgICAgICAgICAgICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KCk7CiAgICAgICAgICAgICAgICB3aGlsZSAoJGJvZHktPmdldENvbnRlbnRMZW5ndGgoKSA8ICR0aGlzLT5wYXJ0U2l6ZQogICAgICAgICAgICAgICAgICAgICYmICRib2R5LT53cml0ZSgKICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnNvdXJjZS0+cmVhZChtYXgoMSwgbWluKDEwICogU2l6ZTo6S0IsICR0aGlzLT5wYXJ0U2l6ZSAtICRib2R5LT5nZXRDb250ZW50TGVuZ3RoKCkpKSkKICAgICAgICAgICAgICAgICAgICApKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZVN0YXJ0CiAgICAgICAgICAgIGlmICgkYm9keS0+Z2V0Q29udGVudExlbmd0aCgpID09IDApIHsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVFbmQKCiAgICAgICAgICAgICRwYXJhbXMgPSAkdGhpcy0+c3RhdGUtPmdldFVwbG9hZElkKCktPnRvUGFyYW1zKCk7CiAgICAgICAgICAgICRjb21tYW5kID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnVXBsb2FkUGFydCcsIGFycmF5X3JlcGxhY2UoJHBhcmFtcywgYXJyYXkoCiAgICAgICAgICAgICAgICAnUGFydE51bWJlcicgPT4gY291bnQoJHRoaXMtPnN0YXRlKSArIDEsCiAgICAgICAgICAgICAgICAnQm9keScgICAgICAgPT4gJGJvZHksCiAgICAgICAgICAgICAgICAnQ29udGVudE1ENScgPT4gKGJvb2wpICR0aGlzLT5vcHRpb25zWydwYXJ0X21kNSddLAogICAgICAgICAgICAgICAgVWE6Ok9QVElPTiAgID0+IFVhOjpNVUxUSVBBUlRfVVBMT0FECiAgICAgICAgICAgICkpKTsKCiAgICAgICAgICAgIC8vIE5vdGlmeSBvYnNlcnZlcnMgdGhhdCB0aGUgcGFydCBpcyBhYm91dCB0byBiZSB1cGxvYWRlZAogICAgICAgICAgICAkZXZlbnREYXRhID0gJHRoaXMtPmdldEV2ZW50RGF0YSgpOwogICAgICAgICAgICAkZXZlbnREYXRhWydjb21tYW5kJ10gPSAkY29tbWFuZDsKICAgICAgICAgICAgJHRoaXMtPmRpc3BhdGNoKHNlbGY6OkJFRk9SRV9QQVJUX1VQTE9BRCwgJGV2ZW50RGF0YSk7CgogICAgICAgICAgICAvLyBBbGxvdyBsaXN0ZW5lcnMgdG8gc3RvcCB0aGUgdHJhbnNmZXIgaWYgbmVlZGVkCiAgICAgICAgICAgIGlmICgkdGhpcy0+c3RvcHBlZCkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRyZXNwb25zZSA9ICRjb21tYW5kLT5nZXRSZXNwb25zZSgpOwoKICAgICAgICAgICAgJHRoaXMtPnN0YXRlLT5hZGRQYXJ0KFVwbG9hZFBhcnQ6OmZyb21BcnJheShhcnJheSgKICAgICAgICAgICAgICAgICdQYXJ0TnVtYmVyJyAgID0+IGNvdW50KCR0aGlzLT5zdGF0ZSkgKyAxLAogICAgICAgICAgICAgICAgJ0VUYWcnICAgICAgICAgPT4gJHJlc3BvbnNlLT5nZXRFdGFnKCksCiAgICAgICAgICAgICAgICAnU2l6ZScgICAgICAgICA9PiAkYm9keS0+Z2V0Q29udGVudExlbmd0aCgpLAogICAgICAgICAgICAgICAgJ0xhc3RNb2RpZmllZCcgPT4gZ21kYXRlKERhdGVGb3JtYXQ6OlJGQzI4MjIpCiAgICAgICAgICAgICkpKTsKCiAgICAgICAgICAgIC8vIE5vdGlmeSBvYnNlcnZlcnMgdGhhdCB0aGUgcGFydCB3YXMgdXBsb2FkZWQKICAgICAgICAgICAgJHRoaXMtPmRpc3BhdGNoKHNlbGY6OkFGVEVSX1BBUlRfVVBMT0FELCAkZXZlbnREYXRhKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/MultipartUpload/TransferState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkOwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEF3c0NsaWVudEludGVyZmFjZTsKdXNlIEF3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VHJhbnNmZXJTdGF0ZTsKdXNlIEF3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZElkSW50ZXJmYWNlOwoKLyoqCiAqIFN0YXRlIG9mIGEgbXVsdGlwYXJ0IHVwbG9hZAogKi8KY2xhc3MgVHJhbnNmZXJTdGF0ZSBleHRlbmRzIEFic3RyYWN0VHJhbnNmZXJTdGF0ZQp7CiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmcm9tVXBsb2FkSWQoQXdzQ2xpZW50SW50ZXJmYWNlICRjbGllbnQsIFVwbG9hZElkSW50ZXJmYWNlICR1cGxvYWRJZCkKICAgIHsKICAgICAgICAkdHJhbnNmZXJTdGF0ZSA9IG5ldyBzZWxmKCR1cGxvYWRJZCk7CgogICAgICAgIGZvcmVhY2ggKCRjbGllbnQtPmdldEl0ZXJhdG9yKCdMaXN0UGFydHMnLCAkdXBsb2FkSWQtPnRvUGFyYW1zKCkpIGFzICRwYXJ0KSB7CiAgICAgICAgICAgICR0cmFuc2ZlclN0YXRlLT5hZGRQYXJ0KFVwbG9hZFBhcnQ6OmZyb21BcnJheSgkcGFydCkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0cmFuc2ZlclN0YXRlOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/MultipartUpload/UploadBuilder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkOwoKdXNlIEF3c1xDb21tb25cRW51bVxVYVN0cmluZyBhcyBVYTsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEF3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VXBsb2FkQnVpbGRlcjsKdXNlIEF3c1xTM1xNb2RlbFxBY3A7CgovKioKICogRWFzaWx5IGNyZWF0ZSBhIG11bHRpcGFydCB1cGxvYWRlciB1c2VkIHRvIHF1aWNrbHkgYW5kIHJlbGlhYmx5IHVwbG9hZCBhCiAqIGxhcmdlIGZpbGUgb3IgZGF0YSBzdHJlYW0gdG8gQW1hem9uIFMzIHVzaW5nIG11bHRpcGFydCB1cGxvYWRzCiAqLwpjbGFzcyBVcGxvYWRCdWlsZGVyIGV4dGVuZHMgQWJzdHJhY3RVcGxvYWRCdWlsZGVyCnsKICAgIC8qKgogICAgICogQHZhciBpbnQgQ29uY3VycmVuY3kgbGV2ZWwgdG8gdHJhbnNmZXIgdGhlIHBhcnRzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY29uY3VycmVuY3kgPSAxOwoKICAgIC8qKgogICAgICogQHZhciBpbnQgTWluaW11bSBwYXJ0IHNpemUgdG8gdXBsb2FkCiAgICAgKi8KICAgIHByb3RlY3RlZCAkbWluUGFydFNpemUgPSBBYnN0cmFjdFRyYW5zZmVyOjpNSU5fUEFSVF9TSVpFOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgTUQ1IGhhc2ggb2YgdGhlIGVudGlyZSBib2R5IHRvIHRyYW5zZmVyCiAgICAgKi8KICAgIHByb3RlY3RlZCAkbWQ1OwoKICAgIC8qKgogICAgICogQHZhciBib29sIFdoZXRoZXIgb3Igbm90IHRvIGNhbGN1bGF0ZSB0aGUgZW50aXJlIE1ENSBoYXNoIG9mIHRoZSBvYmplY3QKICAgICAqLwogICAgcHJvdGVjdGVkICRjYWxjdWxhdGVFbnRpcmVNZDUgPSBmYWxzZTsKCiAgICAvKioKICAgICAqIEB2YXIgYm9vbCBXaGV0aGVyIG9yIG5vdCB0byBjYWxjdWxhdGUgTUQ1IGhhc2ggb2YgZWFjaCBwYXJ0CiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2FsY3VsYXRlUGFydE1kNSA9IHRydWU7CgogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IEFycmF5IG9mIGluaXRpYXRlIGNvbW1hbmQgb3B0aW9ucwogICAgICovCiAgICBwcm90ZWN0ZWQgJGNvbW1hbmRPcHRpb25zID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgQXJyYXkgb2YgdHJhbnNmZXIgb3B0aW9ucwogICAgICovCiAgICBwcm90ZWN0ZWQgJHRyYW5zZmVyT3B0aW9ucyA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGJ1Y2tldCB0byB1cGxvYWQgdGhlIG9iamVjdCB0bwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1Y2tldCBOYW1lIG9mIHRoZSBidWNrZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEJ1Y2tldCgkYnVja2V0KQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c2V0T3B0aW9uKCdCdWNrZXQnLCAkYnVja2V0KTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUga2V5IG9mIHRoZSBvYmplY3QKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgS2V5IG9mIHRoZSBvYmplY3QgdG8gdXBsb2FkCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRLZXkoJGtleSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNldE9wdGlvbignS2V5JywgJGtleSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIG1pbmltdW0gYWNjZXB0YWJsZSBwYXJ0IHNpemUKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRtaW5TaXplIE1pbmltdW0gYWNjZXB0YWJsZSBwYXJ0IHNpemUgaW4gYnl0ZXMKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldE1pblBhcnRTaXplKCRtaW5TaXplKQogICAgewogICAgICAgICR0aGlzLT5taW5QYXJ0U2l6ZSA9IChpbnQpIG1heCgoaW50KSAkbWluU2l6ZSwgQWJzdHJhY3RUcmFuc2Zlcjo6TUlOX1BBUlRfU0laRSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgY29uY3VycmVuY3kgbGV2ZWwgdG8gdXNlIHdoZW4gdXBsb2FkaW5nIHBhcnRzLiBUaGlzIGFmZmVjdHMgaG93CiAgICAgKiBtYW55IHBhcnRzIGFyZSB1cGxvYWRlZCBpbiBwYXJhbGxlbC4gWW91IG11c3QgdXNlIGEgbG9jYWwgZmlsZSBhcyB5b3VyCiAgICAgKiBkYXRhIHNvdXJjZSB3aGVuIHVzaW5nIGEgY29uY3VycmVuY3kgZ3JlYXRlciB0aGFuIDEKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRjb25jdXJyZW5jeSBDb25jdXJyZW5jeSBsZXZlbAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Q29uY3VycmVuY3koJGNvbmN1cnJlbmN5KQogICAgewogICAgICAgICR0aGlzLT5jb25jdXJyZW5jeSA9ICRjb25jdXJyZW5jeTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogRXhwbGljaXRseSBzZXQgdGhlIE1ENSBoYXNoIG9mIHRoZSBlbnRpcmUgYm9keQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG1kNSBNRDUgaGFzaCBvZiB0aGUgZW50aXJlIGJvZHkKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldE1kNSgkbWQ1KQogICAgewogICAgICAgICR0aGlzLT5tZDUgPSAkbWQ1OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdG8gdHJ1ZSB0byBoYXZlIHRoZSBidWlsZGVyIGNhbGN1bGF0ZSB0aGUgTUQ1IGhhc2ggb2YgdGhlIGVudGlyZSBkYXRhCiAgICAgKiBzb3VyY2UgYmVmb3JlIGluaXRpYXRpbmcgYSBtdWx0aXBhcnQgdXBsb2FkICh0aGlzIGNvdWxkIGJlIGFuIGV4cGVuc2l2ZQogICAgICogb3BlcmF0aW9uKS4gVGhpcyBzZXR0aW5nIGNhbiBvbnkgYmUgdXNlZCB3aXRoIHNlZWthYmxlIGRhdGEgc291cmNlcy4KICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbCAkY2FsY3VsYXRlTWQ1IFNldCB0byB0cnVlIHRvIGNhbGN1bGF0ZSB0aGUgTUQ1IGhhc2ggb2YgdGhlIGJvZHkKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNhbGN1bGF0ZU1kNSgkY2FsY3VsYXRlTWQ1KQogICAgewogICAgICAgICR0aGlzLT5jYWxjdWxhdGVFbnRpcmVNZDUgPSAoYm9vbCkgJGNhbGN1bGF0ZU1kNTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU3BlY2lmeSB3aGV0aGVyIG9yIG5vdCB0byBjYWxjdWxhdGUgdGhlIE1ENSBoYXNoIG9mIGVhY2ggdXBsb2FkZWQgcGFydC4KICAgICAqIFRoaXMgc2V0dGluZyBkZWZhdWx0cyB0byB0cnVlLgogICAgICoKICAgICAqIEBwYXJhbSBib29sICR1c2VQYXJ0TWQ1IFNldCB0byB0cnVlIHRvIGNhbGN1bGF0ZSB0aGUgTUQ1IGhhcyBvZiBlYWNoIHBhcnQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNhbGN1bGF0ZVBhcnRNZDUoJHVzZVBhcnRNZDUpCiAgICB7CiAgICAgICAgJHRoaXMtPmNhbGN1bGF0ZVBhcnRNZDUgPSAoYm9vbCkgJHVzZVBhcnRNZDU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgQUNQIHRvIHVzZSBvbiB0aGUgb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIEFjcCAkYWNwIEFDUCB0byBzZXQgb24gdGhlIG9iamVjdAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0QWNwKEFjcCAkYWNwKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c2V0T3B0aW9uKCdBQ1AnLCAkYWNwKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBhbiBvcHRpb24gdG8gcGFzcyB0byB0aGUgaW5pdGlhbCBDcmVhdGVNdWx0aXBhcnRVcGxvYWQgb3BlcmF0aW9uCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSAgT3B0aW9uIG5hbWUKICAgICAqIEBwYXJhbSBzdHJpbmcgJHZhbHVlIE9wdGlvbiB2YWx1ZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0T3B0aW9uKCRuYW1lLCAkdmFsdWUpCiAgICB7CiAgICAgICAgJHRoaXMtPmNvbW1hbmRPcHRpb25zWyRuYW1lXSA9ICR2YWx1ZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGFuIGFycmF5IG9mIG9wdGlvbnMgdG8gcGFzcyB0byB0aGUgaW5pdGlhbCBDcmVhdGVNdWx0aXBhcnRVcGxvYWQgb3BlcmF0aW9uCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRvcHRpb25zIEFycmF5IG9mIENyZWF0ZU11bHRpcGFydFVwbG9hZCBvcGVyYXRpb24gcGFyYW1ldGVycwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkT3B0aW9ucyhhcnJheSAkb3B0aW9ucykKICAgIHsKICAgICAgICAkdGhpcy0+Y29tbWFuZE9wdGlvbnMgPSBhcnJheV9yZXBsYWNlKCR0aGlzLT5jb21tYW5kT3B0aW9ucywgJG9wdGlvbnMpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgYW4gYXJyYXkgb2YgdHJhbnNmZXIgb3B0aW9ucyB0byBhcHBseSB0byB0aGUgdXBsb2FkIHRyYW5zZmVyIG9iamVjdAogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkb3B0aW9ucyBUcmFuc2ZlciBvcHRpb25zCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRUcmFuc2Zlck9wdGlvbnMoYXJyYXkgJG9wdGlvbnMpCiAgICB7CiAgICAgICAgJHRoaXMtPnRyYW5zZmVyT3B0aW9ucyA9ICRvcHRpb25zOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIGF0dGVtcHRpbmcgdG8gcmVzdW1lIGEgdHJhbnNmZXIgdXNpbmcgYSBub24tc2Vla2FibGUgc3RyZWFtCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIG1pc3NpbmcgcmVxdWlyZWQgcHJvcGVydGllcyAoYnVja2V0LCBrZXksIGNsaWVudCwgc291cmNlKQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVpbGQoKQogICAgewogICAgICAgIGlmICgkdGhpcy0+c3RhdGUgaW5zdGFuY2VvZiBUcmFuc2ZlclN0YXRlKSB7CiAgICAgICAgICAgICR0aGlzLT5jb21tYW5kT3B0aW9ucyA9IGFycmF5X3JlcGxhY2UoJHRoaXMtPmNvbW1hbmRPcHRpb25zLCAkdGhpcy0+c3RhdGUtPmdldFVwbG9hZElkKCktPnRvUGFyYW1zKCkpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+Y29tbWFuZE9wdGlvbnNbJ0J1Y2tldCddKSB8fCAhaXNzZXQoJHRoaXMtPmNvbW1hbmRPcHRpb25zWydLZXknXSkKICAgICAgICAgICAgfHwgISR0aGlzLT5jbGllbnQgfHwgISR0aGlzLT5zb3VyY2UKICAgICAgICApIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignWW91IG11c3Qgc3BlY2lmeSBhIEJ1Y2tldCwgS2V5LCBjbGllbnQsIGFuZCBzb3VyY2UuJyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRoaXMtPnN0YXRlICYmICEkdGhpcy0+c291cmNlLT5pc1NlZWthYmxlKCkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignWW91IGNhbm5vdCByZXN1bWUgYSB0cmFuc2ZlciB1c2luZyBhIG5vbi1zZWVrYWJsZSBzb3VyY2UuJyk7CiAgICAgICAgfQoKICAgICAgICAvLyBJZiBubyBzdGF0ZSB3YXMgc2V0LCB0aGVuIGNyZWF0ZSBvbmUgYnkgaW5pdGlhdGluZyBvciBsb2FkaW5nIGEgbXVsdGlwYXJ0IHVwbG9hZAogICAgICAgIGlmIChpc19zdHJpbmcoJHRoaXMtPnN0YXRlKSkgewogICAgICAgICAgICAkdGhpcy0+c3RhdGUgPSBUcmFuc2ZlclN0YXRlOjpmcm9tVXBsb2FkSWQoJHRoaXMtPmNsaWVudCwgVXBsb2FkSWQ6OmZyb21QYXJhbXMoYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyAgID0+ICR0aGlzLT5jb21tYW5kT3B0aW9uc1snQnVja2V0J10sCiAgICAgICAgICAgICAgICAnS2V5JyAgICAgID0+ICR0aGlzLT5jb21tYW5kT3B0aW9uc1snS2V5J10sCiAgICAgICAgICAgICAgICAnVXBsb2FkSWQnID0+ICR0aGlzLT5zdGF0ZQogICAgICAgICAgICApKSk7CiAgICAgICAgfSBlbHNlaWYgKCEkdGhpcy0+c3RhdGUpIHsKICAgICAgICAgICAgJHRoaXMtPnN0YXRlID0gJHRoaXMtPmluaXRpYXRlTXVsdGlwYXJ0VXBsb2FkKCk7CiAgICAgICAgfQoKICAgICAgICAkb3B0aW9ucyA9IGFycmF5X3JlcGxhY2UoYXJyYXkoCiAgICAgICAgICAgICdtaW5fcGFydF9zaXplJyA9PiAkdGhpcy0+bWluUGFydFNpemUsCiAgICAgICAgICAgICdwYXJ0X21kNScgICAgICA9PiAoYm9vbCkgJHRoaXMtPmNhbGN1bGF0ZVBhcnRNZDUsCiAgICAgICAgICAgICdjb25jdXJyZW5jeScgICA9PiAkdGhpcy0+Y29uY3VycmVuY3kKICAgICAgICApLCAkdGhpcy0+dHJhbnNmZXJPcHRpb25zKTsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5jb25jdXJyZW5jeSA+IDEKICAgICAgICAgICAgPyBuZXcgUGFyYWxsZWxUcmFuc2ZlcigkdGhpcy0+Y2xpZW50LCAkdGhpcy0+c3RhdGUsICR0aGlzLT5zb3VyY2UsICRvcHRpb25zKQogICAgICAgICAgICA6IG5ldyBTZXJpYWxUcmFuc2ZlcigkdGhpcy0+Y2xpZW50LCAkdGhpcy0+c3RhdGUsICR0aGlzLT5zb3VyY2UsICRvcHRpb25zKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGluaXRpYXRlTXVsdGlwYXJ0VXBsb2FkKCkKICAgIHsKICAgICAgICAvLyBEZXRlcm1pbmUgQ29udGVudC1UeXBlCiAgICAgICAgaWYgKCRtaW1lVHlwZSA9ICR0aGlzLT5zb3VyY2UtPmdldENvbnRlbnRUeXBlKCkpIHsKICAgICAgICAgICAgJHRoaXMtPmNvbW1hbmRPcHRpb25zWydDb250ZW50VHlwZSddID0gJG1pbWVUeXBlOwogICAgICAgIH0KCiAgICAgICAgJHBhcmFtcyA9IGFycmF5X3JlcGxhY2UoYXJyYXkoCiAgICAgICAgICAgIFVhOjpPUFRJT04gICAgICAgID0+IFVhOjpNVUxUSVBBUlRfVVBMT0FELAogICAgICAgICAgICAnY29tbWFuZC5oZWFkZXJzJyA9PiAkdGhpcy0+aGVhZGVycywKICAgICAgICAgICAgJ01ldGFkYXRhJyAgICAgICAgPT4gYXJyYXkoKQogICAgICAgICksICR0aGlzLT5jb21tYW5kT3B0aW9ucyk7CgogICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgTUQ1IGhhc2ggaWYgbm9uZSB3YXMgc2V0IGFuZCBpdCBpcyBhc2tlZCBvZiB0aGUgYnVpbGRlcgogICAgICAgIGlmICgkdGhpcy0+Y2FsY3VsYXRlRW50aXJlTWQ1KSB7CiAgICAgICAgICAgICR0aGlzLT5tZDUgPSAkdGhpcy0+c291cmNlLT5nZXRDb250ZW50TWQ1KCk7CiAgICAgICAgfQoKICAgICAgICAvLyBJZiBhbiBNRDUgaXMgc3BlY2lmaWVkLCB0aGVuIGFkZCBpdCB0byB0aGUgY3VzdG9tIGhlYWRlcnMgb2YgdGhlIHJlcXVlc3QKICAgICAgICAvLyBzbyB0aGF0IGl0IHdpbGwgYmUgcmV0dXJuZWQgd2hlbiBkb3dubG9hZGluZyB0aGUgb2JqZWN0IGZyb20gQW1hem9uIFMzCiAgICAgICAgaWYgKCR0aGlzLT5tZDUpIHsKICAgICAgICAgICAgJHBhcmFtc1snTWV0YWRhdGEnXVsneC1hbXotQ29udGVudC1NRDUnXSA9ICR0aGlzLT5tZDU7CiAgICAgICAgfQoKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkJywgJHBhcmFtcyktPmV4ZWN1dGUoKTsKICAgICAgICAvLyBDcmVhdGUgYSBuZXcgc3RhdGUgYmFzZWQgb24gdGhlIGluaXRpYXRlZCB1cGxvYWQKICAgICAgICAkcGFyYW1zWydVcGxvYWRJZCddID0gJHJlc3VsdFsnVXBsb2FkSWQnXTsKCiAgICAgICAgcmV0dXJuIG5ldyBUcmFuc2ZlclN0YXRlKFVwbG9hZElkOjpmcm9tUGFyYW1zKCRwYXJhbXMpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/MultipartUpload/UploadId.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkOwoKdXNlIEF3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VXBsb2FkSWQ7CgovKioKICogQW4gb2JqZWN0IHRoYXQgZW5jYXBzdWxhdGVzIHRoZSBpZGVudGlmaWNhdGlvbiBmb3IgYSBHbGFjaWVyIHVwbG9hZCBwYXJ0CiAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICovCmNsYXNzIFVwbG9hZElkIGV4dGVuZHMgQWJzdHJhY3RVcGxvYWRJZAp7CiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkZXhwZWN0ZWRWYWx1ZXMgPSBhcnJheSgKICAgICAgICAnQnVja2V0JyAgID0+IGZhbHNlLAogICAgICAgICdLZXknICAgICAgPT4gZmFsc2UsCiAgICAgICAgJ1VwbG9hZElkJyA9PiBmYWxzZQogICAgKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/MultipartUpload/UploadPart.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkOwoKdXNlIEF3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VXBsb2FkUGFydDsKCi8qKgogKiBBbiBvYmplY3QgdGhhdCBlbmNhcHN1bGF0ZXMgdGhlIGRhdGEgZm9yIGEgR2xhY2llciB1cGxvYWQgb3BlcmF0aW9uCiAqLwpjbGFzcyBVcGxvYWRQYXJ0IGV4dGVuZHMgQWJzdHJhY3RVcGxvYWRQYXJ0CnsKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRrZXlNYXAgPSBhcnJheSgKICAgICAgICAnUGFydE51bWJlcicgICA9PiAncGFydE51bWJlcicsCiAgICAgICAgJ0VUYWcnICAgICAgICAgPT4gJ2VUYWcnLAogICAgICAgICdMYXN0TW9kaWZpZWQnID0+ICdsYXN0TW9kaWZpZWQnLAogICAgICAgICdTaXplJyAgICAgICAgID0+ICdzaXplJwogICAgKTsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRoZSBFVGFnIGZvciB0aGlzIHBhcnQKICAgICAqLwogICAgcHJvdGVjdGVkICRlVGFnOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVGhlIGxhc3QgbW9kaWZpZWQgZGF0ZQogICAgICovCiAgICBwcm90ZWN0ZWQgJGxhc3RNb2RpZmllZDsKCiAgICAvKioKICAgICAqIEB2YXIgaW50IFRoZSBzaXplIChvciBjb250ZW50LWxlbmd0aCkgaW4gYnl0ZXMgb2YgdGhlIHVwbG9hZCBib2R5CiAgICAgKi8KICAgIHByb3RlY3RlZCAkc2l6ZTsKCiAgICAvKioKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFVGFnKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmVUYWc7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGFzdE1vZGlmaWVkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmxhc3RNb2RpZmllZDsKICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTaXplKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNpemU7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Model/PostObject.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcTW9kZWw7Cgp1c2UgQXdzXENvbW1vblxFbnVtXERhdGVGb3JtYXQ7CnVzZSBBd3NcUzNcUzNDbGllbnQ7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcSHR0cFxVcmw7CgovKioKICogRW5jYXBzdWxhdGVzIHRoZSBsb2dpYyBmb3IgZ2V0dGluZyB0aGUgZGF0YSBmb3IgYW4gUzMgb2JqZWN0IFBPU1QgdXBsb2FkIGZvcm0KICovCmNsYXNzIFBvc3RPYmplY3QgZXh0ZW5kcyBDb2xsZWN0aW9uCnsKICAgIC8qKgogICAgICogQHZhciBTM0NsaWVudCBUaGUgUzMgY2xpZW50IGJlaW5nIHVzZWQgdG8gc2lnbiB0aGUgcG9saWN5CiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2xpZW50OwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVGhlIGJ1Y2tldCBuYW1lIHdoZXJlIHRoZSBvYmplY3Qgd2lsbCBiZSBwb3N0ZWQKICAgICAqLwogICAgcHJvdGVjdGVkICRidWNrZXQ7CgogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IFRoZSA8Zm9ybT4gdGFnIGF0dHJpYnV0ZXMgYXMgYW4gYXJyYXkKICAgICAqLwogICAgcHJvdGVjdGVkICRmb3JtQXR0cmlidXRlczsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgVGhlIGZvcm0ncyA8aW5wdXQ+IGVsZW1lbnRzIGFzIGFuIGFycmF5CiAgICAgKi8KICAgIHByb3RlY3RlZCAkZm9ybUlucHV0czsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRoZSByYXcganNvbiBwb2xpY3kKICAgICAqLwogICAgcHJvdGVjdGVkICRqc29uUG9saWN5OwoKICAgIC8qKgogICAgICogQ29uc3RydWN0cyB0aGUgUG9zdE9iamVjdAogICAgICoKICAgICAqIFRoZSBvcHRpb25zIGFycmF5IGFjY2VwdHMgdGhlIGZvbGxvd2luZyBrZXlzOgogICAgICoKICAgICAqIC0gYWNsOiAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGFjY2VzcyBjb250cm9sIHNldHRpbmcgdG8gYXBwbHkgdG8gdGhlIHVwbG9hZGVkIGZpbGUuIEFjY2VwdHMgYW55IG9mIHRoZQogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYW5uZWRBY2wgY29uc3RhbnRzCiAgICAgKiAtIENhY2hlLUNvbnRyb2w6ICAgICAgICAgICAgICAgIFRoZSBDYWNoZS1Db250cm9sIEhUVFAgaGVhZGVyIHZhbHVlIHRvIGFwcGx5IHRvIHRoZSB1cGxvYWRlZCBmaWxlCiAgICAgKiAtIENvbnRlbnQtRGlzcG9zaXRpb246ICAgICAgICAgIFRoZSBDb250ZW50LURpc3Bvc2l0aW9uIEhUVFAgaGVhZGVyIHZhbHVlIHRvIGFwcGx5IHRvIHRoZSB1cGxvYWRlZCBmaWxlCiAgICAgKiAtIENvbnRlbnQtRW5jb2Rpbmc6ICAgICAgICAgICAgIFRoZSBDb250ZW50LUVuY29kaW5nIEhUVFAgaGVhZGVyIHZhbHVlIHRvIGFwcGx5IHRvIHRoZSB1cGxvYWRlZCBmaWxlCiAgICAgKiAtIENvbnRlbnQtVHlwZTogICAgICAgICAgICAgICAgIFRoZSBDb250ZW50LVR5cGUgSFRUUCBoZWFkZXIgdmFsdWUgdG8gYXBwbHkgdG8gdGhlIHVwbG9hZGVkIGZpbGUuIFRoZSBkZWZhdWx0CiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGlzIGBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1gCiAgICAgKiAtIEV4cGlyZXM6ICAgICAgICAgICAgICAgICAgICAgIFRoZSBFeHBpcmVzIEhUVFAgaGVhZGVyIHZhbHVlIHRvIGFwcGx5IHRvIHRoZSB1cGxvYWRlZCBmaWxlCiAgICAgKiAtIGtleTogICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgZmlsZSBzaG91bGQgYmUgdXBsb2FkZWQgdG8uIFRoZSBkZWZhdWx0IHZhbHVlIGlzCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBeJHtmaWxlbmFtZX1gIHdoaWNoIHdpbGwgdXNlIHRoZSBuYW1lIG9mIHRoZSB1cGxvYWRlZCBmaWxlCiAgICAgKiAtIHBvbGljeTogICAgICAgICAgICAgICAgICAgICAgIEEgcmF3IHBvbGljeSBpbiBKU09OIGZvcm1hdC4gQnkgZGVmYXVsdCwgdGhlIFBvc3RPYmplY3QgY3JlYXRlcyBvbmUgZm9yIHlvdQogICAgICogLSBzdWNjZXNzX2FjdGlvbl9yZWRpcmVjdDogICAgICBUaGUgVVJJIGZvciBBbWF6b24gUzMgdG8gcmVkaXJlY3QgdG8gdXBvbiBzdWNjZXNzZnVsIHVwbG9hZAogICAgICogLSBzdWNjZXNzX2FjdGlvbl9zdGF0dXM6ICAgICAgICBUaGUgc3RhdHVzIGNvZGUgZm9yIEFtYXpvbiBTMyB0byByZXR1cm4gdXBvbiBzdWNjZXNzZnVsIHVwbG9hZAogICAgICogLSB0dGQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgZXhwaXJhdGlvbiB0aW1lIGZvciB0aGUgZ2VuZXJhdGVkIHVwbG9hZCBmb3JtIGRhdGEKICAgICAqIC0geC1hbXotc2VydmVyLXNpZGUtZW5jcnlwdGlvbjogVGhlIHNlcnZlci1zaWRlIGVuY3J5cHRpb24gbWVjaGFuaXNtIHRvIHVzZQogICAgICogLSB4LWFtei1zdG9yYWdlLWNsYXNzOiAgICAgICAgICBUaGUgc3RvcmFnZSBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBvYmplY3QKICAgICAqIC0geC1hbXotbWV0YS0qOiAgICAgICAgICAgICAgICAgQW55IGN1c3RvbSBtZXRhIHRhZyB0aGF0IHNob3VsZCBiZSBzZXQgdG8gdGhlIG9iamVjdAogICAgICoKICAgICAqIEZvciB0aGUgQ2FjaGUtQ29udHJvbCwgQ29udGVudC1EaXNwb3NpdGlvbiwgQ29udGVudC1FbmNvZGluZywKICAgICAqIENvbnRlbnQtVHlwZSwgRXhwaXJlcywgYW5kIGtleSBvcHRpb25zLCB0byB1c2UgYSAic3RhcnRzLXdpdGgiIGNvbXBhcmlzb24KICAgICAqIGluc3RlYWQgb2YgYW4gZXF1YWxzIGNvbXBhcmlzb24sIHByZWZpeCB0aGUgdmFsdWUgd2l0aCBhIF4gKGNhcmF0KQogICAgICogY2hhcmFjdGVyCiAgICAgKgogICAgICogQHBhcmFtIFMzQ2xpZW50ICRjbGllbnQKICAgICAqIEBwYXJhbSAkYnVja2V0CiAgICAgKiBAcGFyYW0gYXJyYXkgJG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFMzQ2xpZW50ICRjbGllbnQsICRidWNrZXQsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0Q2xpZW50KCRjbGllbnQpOwogICAgICAgICR0aGlzLT5zZXRCdWNrZXQoJGJ1Y2tldCk7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkb3B0aW9ucyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBbmFseXplcyB0aGUgcHJvdmlkZWQgZGF0YSBhbmQgdHVybnMgaXQgaW50byB1c2VmdWwgZGF0YSB0aGF0IGNhbiBiZQogICAgICogY29uc3VtZWQgYW5kIHVzZWQgdG8gYnVpbGQgYW4gdXBsb2FkIGZvcm0KICAgICAqCiAgICAgKiBAcmV0dXJuIFBvc3RPYmplY3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHByZXBhcmVEYXRhKCkKICAgIHsKICAgICAgICAvLyBWYWxpZGF0ZSByZXF1aXJlZCBvcHRpb25zCiAgICAgICAgJG9wdGlvbnMgPSBDb2xsZWN0aW9uOjpmcm9tQ29uZmlnKCR0aGlzLT5kYXRhLCBhcnJheSgKICAgICAgICAgICAgJ3R0ZCcgPT4gJysxIGhvdXInLAogICAgICAgICAgICAna2V5JyA9PiAnXiR7ZmlsZW5hbWV9JywKICAgICAgICApKTsKCiAgICAgICAgLy8gRm9ybWF0IHR0ZCBvcHRpb24KICAgICAgICAkdHRkID0gJG9wdGlvbnNbJ3R0ZCddOwogICAgICAgICR0dGQgPSBpc19udW1lcmljKCR0dGQpID8gKGludCkgJHR0ZCA6IHN0cnRvdGltZSgkdHRkKTsKICAgICAgICB1bnNldCgkb3B0aW9uc1sndHRkJ10pOwoKICAgICAgICAvLyBTYXZlIHBvbGljeSBpZiBwYXNzZWQgaW4KICAgICAgICAkcmF3UG9saWN5ID0gJG9wdGlvbnNbJ3BvbGljeSddOwogICAgICAgIHVuc2V0KCRvcHRpb25zWydwb2xpY3knXSk7CgogICAgICAgIC8vIFNldHVwIHBvbGljeSBkb2N1bWVudAogICAgICAgICRwb2xpY3kgPSBhcnJheSgKICAgICAgICAgICAgJ2V4cGlyYXRpb24nID0+IGdtZGF0ZShEYXRlRm9ybWF0OjpJU084NjAxX1MzLCAkdHRkKSwKICAgICAgICAgICAgJ2NvbmRpdGlvbnMnID0+IGFycmF5KGFycmF5KCdidWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKQogICAgICAgICk7CgogICAgICAgIC8vIENvbmZpZ3VyZSB0aGUgZW5kcG9pbnQvYWN0aW9uCiAgICAgICAgJHVybCA9IFVybDo6ZmFjdG9yeSgkdGhpcy0+Y2xpZW50LT5nZXRCYXNlVXJsKCkpOwogICAgICAgICR1cmwtPnNldEhvc3QoJHRoaXMtPmJ1Y2tldCAuICcuJyAuICR1cmwtPmdldEhvc3QoKSk7CgogICAgICAgIC8vIFNldHVwIGJhc2ljIGZvcm0KICAgICAgICAkdGhpcy0+Zm9ybUF0dHJpYnV0ZXMgPSBhcnJheSgKICAgICAgICAgICAgJ2FjdGlvbicgPT4gKHN0cmluZykgJHVybCwKICAgICAgICAgICAgJ21ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAnZW5jdHlwZScgPT4gJ211bHRpcGFydC9mb3JtLWRhdGEnCiAgICAgICAgKTsKICAgICAgICAkdGhpcy0+Zm9ybUlucHV0cyA9IGFycmF5KAogICAgICAgICAgICAnQVdTQWNjZXNzS2V5SWQnID0+ICR0aGlzLT5jbGllbnQtPmdldENyZWRlbnRpYWxzKCktPmdldEFjY2Vzc0tleUlkKCkKICAgICAgICApOwoKICAgICAgICAvLyBBZGQgc3VjY2VzcyBhY3Rpb24gc3RhdHVzCiAgICAgICAgJHN0YXR1cyA9IChpbnQpICRvcHRpb25zLT5nZXQoJ3N1Y2Nlc3NfYWN0aW9uX3N0YXR1cycpOwogICAgICAgIGlmICgkc3RhdHVzICYmIGluX2FycmF5KCRzdGF0dXMsIGFycmF5KDIwMCwgMjAxLCAyMDQpKSkgewogICAgICAgICAgICAkdGhpcy0+Zm9ybUlucHV0c1snc3VjY2Vzc19hY3Rpb25fc3RhdHVzJ10gPSAoc3RyaW5nKSAkc3RhdHVzOwogICAgICAgICAgICAkcG9saWN5Wydjb25kaXRpb25zJ11bXSA9IGFycmF5KAogICAgICAgICAgICAgICAgJ3N1Y2Nlc3NfYWN0aW9uX3N0YXR1cycgPT4gKHN0cmluZykgJHN0YXR1cwogICAgICAgICAgICApOwogICAgICAgICAgICAkb3B0aW9ucy0+cmVtb3ZlKCdzdWNjZXNzX2FjdGlvbl9zdGF0dXMnKTsKICAgICAgICB9CgogICAgICAgIC8vIEFkZCBvdGhlciBvcHRpb25zCiAgICAgICAgZm9yZWFjaCAoJG9wdGlvbnMgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgJHZhbHVlID0gKHN0cmluZykgJHZhbHVlOwogICAgICAgICAgICBpZiAoJHZhbHVlWzBdID09PSAnXicpIHsKICAgICAgICAgICAgICAgICR2YWx1ZSA9IHN1YnN0cigkdmFsdWUsIDEpOwogICAgICAgICAgICAgICAgJHRoaXMtPmZvcm1JbnB1dHNbJGtleV0gPSAkdmFsdWU7CiAgICAgICAgICAgICAgICAkdmFsdWUgPSBwcmVnX3JlcGxhY2UoJy9cJFx7KFx3KilcfS8nLCAnJywgJHZhbHVlKTsKICAgICAgICAgICAgICAgICRwb2xpY3lbJ2NvbmRpdGlvbnMnXVtdID0gYXJyYXkoJ3N0YXJ0cy13aXRoJywgJyQnIC4gJGtleSwgJHZhbHVlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICR0aGlzLT5mb3JtSW5wdXRzWyRrZXldID0gJHZhbHVlOwogICAgICAgICAgICAgICAgJHBvbGljeVsnY29uZGl0aW9ucyddW10gPSBhcnJheSgka2V5ID0+ICR2YWx1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEFkZCBwb2xpY3kKICAgICAgICAkdGhpcy0+anNvblBvbGljeSA9ICRyYXdQb2xpY3kgPzoganNvbl9lbmNvZGUoJHBvbGljeSk7CiAgICAgICAgJGpzb25Qb2xpY3k2NCA9IGJhc2U2NF9lbmNvZGUoJHRoaXMtPmpzb25Qb2xpY3kpOwogICAgICAgICR0aGlzLT5mb3JtSW5wdXRzWydwb2xpY3knXSA9ICRqc29uUG9saWN5NjQ7CgogICAgICAgIC8vIEFkZCBzaWduYXR1cmUKICAgICAgICAkdGhpcy0+Zm9ybUlucHV0c1snc2lnbmF0dXJlJ10gPSBiYXNlNjRfZW5jb2RlKGhhc2hfaG1hYygKICAgICAgICAgICAgJ3NoYTEnLAogICAgICAgICAgICAkanNvblBvbGljeTY0LAogICAgICAgICAgICAkdGhpcy0+Y2xpZW50LT5nZXRDcmVkZW50aWFscygpLT5nZXRTZWNyZXRLZXkoKSwKICAgICAgICAgICAgdHJ1ZQogICAgICAgICkpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXRzIHRoZSBTMyBjbGllbnQKICAgICAqCiAgICAgKiBAcGFyYW0gUzNDbGllbnQgJGNsaWVudAogICAgICoKICAgICAqIEByZXR1cm4gUG9zdE9iamVjdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Q2xpZW50KFMzQ2xpZW50ICRjbGllbnQpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9ICRjbGllbnQ7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldHMgdGhlIFMzIGNsaWVudAogICAgICoKICAgICAqIEByZXR1cm4gUzNDbGllbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENsaWVudCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jbGllbnQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXRzIHRoZSBidWNrZXQgYW5kIG1ha2VzIHN1cmUgaXQgaXMgYSB2YWxpZCBidWNrZXQgbmFtZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1Y2tldAogICAgICoKICAgICAqIEByZXR1cm4gUG9zdE9iamVjdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0QnVja2V0KCRidWNrZXQpCiAgICB7CiAgICAgICAgJHRoaXMtPmJ1Y2tldCA9ICRidWNrZXQ7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldHMgdGhlIGJ1Y2tldCBuYW1lCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEJ1Y2tldCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5idWNrZXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXRzIHRoZSBmb3JtIGF0dHJpYnV0ZXMgYXMgYW4gYXJyYXkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGb3JtQXR0cmlidXRlcygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5mb3JtQXR0cmlidXRlczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldHMgdGhlIGZvcm0gaW5wdXRzIGFzIGFuIGFycmF5CiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Rm9ybUlucHV0cygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5mb3JtSW5wdXRzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0cyB0aGUgcmF3IEpTT04gcG9saWN5CiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEpzb25Qb2xpY3koKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+anNvblBvbGljeTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Resources/s3-2006-03-01.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMDYtMDMtMDEnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnczMnLAogICAgJ3NlcnZpY2VGdWxsTmFtZScgPT4gJ0FtYXpvbiBTaW1wbGUgU3RvcmFnZSBTZXJ2aWNlJywKICAgICdzZXJ2aWNlQWJicmV2aWF0aW9uJyA9PiAnQW1hem9uIFMzJywKICAgICdzZXJ2aWNlVHlwZScgPT4gJ3Jlc3QteG1sJywKICAgICd0aW1lc3RhbXBGb3JtYXQnID0+ICdyZmM4MjInLAogICAgJ2dsb2JhbEVuZHBvaW50JyA9PiAnczMuYW1hem9uYXdzLmNvbScsCiAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3MzJywKICAgICduYW1lc3BhY2UnID0+ICdTMycsCiAgICAncmVnaW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ3VzLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3MzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3MzLXVzLXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzMy11cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnZXUtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnczMtZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLW5vcnRoZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnczMtYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzMy1hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3MzLWFwLXNvdXRoZWFzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3NhLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3MzLXNhLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy1nb3Ytd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnczMtdXMtZ292LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQWJvcnRNdWx0aXBhcnRVcGxvYWQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0RFTEVURScsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH17L0tleSp9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdBYm9ydE11bHRpcGFydFVwbG9hZE91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L0FQSS9tcFVwbG9hZEFib3J0Lmh0bWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0F3c1xcUzNcXFMzQ2xpZW50OjpleHBsb2RlS2V5JywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVcGxvYWRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VwbG9hZElkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBtdWx0aXBhcnQgdXBsb2FkIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoVXBsb2FkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ29tcGxldGVNdWx0aXBhcnRVcGxvYWQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnL3tCdWNrZXR9ey9LZXkqfScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcUzNcXENvbW1hbmRcXFMzQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ29tcGxldGVNdWx0aXBhcnRVcGxvYWRPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvbXBVcGxvYWRDb21wbGV0ZS5odG1sJywKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3htbFJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ29tcGxldGVNdWx0aXBhcnRVcGxvYWQnLAogICAgICAgICAgICAgICAgICAgICduYW1lc3BhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2h0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2RvYy8yMDA2LTAzLTAxLycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXdzXFxTM1xcUzNDbGllbnQ6OmV4cGxvZGVLZXknLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhcnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1BhcnQnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXJ0TnVtYmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVcGxvYWRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VwbG9hZElkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ29weU9iamVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUFVUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97QnVja2V0fXsvS2V5Kn0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NvcHlPYmplY3RPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvUkVTVE9iamVjdENPUFkuaHRtbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBQ0wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1hY2wnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVDb250cm9sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGUtQ29udHJvbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnRlbnREaXNwb3NpdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NvbnRlbnQtRGlzcG9zaXRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50RW5jb2RpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDb250ZW50LUVuY29kaW5nJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudExhbmd1YWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ29udGVudC1MYW5ndWFnZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnRlbnRUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ29udGVudC1UeXBlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29weVNvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1jb3B5LXNvdXJjZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvcHlTb3VyY2VJZk1hdGNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZS1odHRwJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1jb3B5LXNvdXJjZS1pZi1tYXRjaCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvcHlTb3VyY2VJZk1vZGlmaWVkU2luY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lLWh0dHAnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWNvcHktc291cmNlLWlmLW1vZGlmaWVkLXNpbmNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29weVNvdXJjZUlmTm9uZU1hdGNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZS1odHRwJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1jb3B5LXNvdXJjZS1pZi1ub25lLW1hdGNoJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29weVNvdXJjZUlmVW5tb2RpZmllZFNpbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZS1odHRwJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1jb3B5LXNvdXJjZS1pZi11bm1vZGlmaWVkLXNpbmNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXhwaXJlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdkYXRlLXRpbWUtaHR0cCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JhbnRGdWxsQ29udHJvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWdyYW50LWZ1bGwtY29udHJvbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyYW50UmVhZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWdyYW50LXJlYWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcmFudFJlYWRBQ1AnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1ncmFudC1yZWFkLWFjcCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyYW50V3JpdGVBQ1AnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1ncmFudC13cml0ZS1hY3AnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBd3NcXFMzXFxTM0NsaWVudDo6ZXhwbG9kZUtleScsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWV0YWRhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1tZXRhLScsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01ldGFkYXRhRGlyZWN0aXZlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotbWV0YWRhdGEtZGlyZWN0aXZlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VydmVyU2lkZUVuY3J5cHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1zZXJ2ZXItc2lkZS1lbmNyeXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RvcmFnZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotc3RvcmFnZS1jbGFzcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1dlYnNpdGVSZWRpcmVjdExvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotd2Vic2l0ZS1yZWRpcmVjdC1sb2NhdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FDUCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNvdXJjZSBvYmplY3Qgb2YgdGhlIENPUFkgb3BlcmF0aW9uIGlzIG5vdCBpbiB0aGUgYWN0aXZlIHRpZXIgYW5kIGlzIG9ubHkgc3RvcmVkIGluIEFtYXpvbiBHbGFjaWVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT2JqZWN0Tm90SW5BY3RpdmVUaWVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZUJ1Y2tldE91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L0FQSS9SRVNUQnVja2V0UFVULmh0bWwnLAogICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAneG1sUm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDcmVhdGVCdWNrZXRDb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kb2MvMjAwNi0wMy0wMS8nLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQUNMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotYWNsJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xvY2F0aW9uQ29uc3RyYWludCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyYW50RnVsbENvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1ncmFudC1mdWxsLWNvbnRyb2wnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcmFudFJlYWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1ncmFudC1yZWFkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JhbnRSZWFkQUNQJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZ3JhbnQtcmVhZC1hY3AnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcmFudFdyaXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZ3JhbnQtd3JpdGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcmFudFdyaXRlQUNQJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZ3JhbnQtd3JpdGUtYWNwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQUNQJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdGVkIGJ1Y2tldCBuYW1lIGlzIG5vdCBhdmFpbGFibGUuIFRoZSBidWNrZXQgbmFtZXNwYWNlIGlzIHNoYXJlZCBieSBhbGwgdXNlcnMgb2YgdGhlIHN5c3RlbS4gUGxlYXNlIHNlbGVjdCBhIGRpZmZlcmVudCBuYW1lIGFuZCB0cnkgYWdhaW4uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdCdWNrZXRBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97QnVja2V0fXsvS2V5Kn0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZU11bHRpcGFydFVwbG9hZE91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L0FQSS9tcFVwbG9hZEluaXRpYXRlLmh0bWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQUNMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotYWNsJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlQ29udHJvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NhY2hlLUNvbnRyb2wnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50RGlzcG9zaXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDb250ZW50LURpc3Bvc2l0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudEVuY29kaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ29udGVudC1FbmNvZGluZycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnRlbnRMYW5ndWFnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NvbnRlbnQtTGFuZ3VhZ2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NvbnRlbnQtVHlwZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V4cGlyZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lLWh0dHAnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyYW50RnVsbENvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1ncmFudC1mdWxsLWNvbnRyb2wnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcmFudFJlYWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1ncmFudC1yZWFkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JhbnRSZWFkQUNQJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZ3JhbnQtcmVhZC1hY3AnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcmFudFdyaXRlQUNQJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZ3JhbnQtd3JpdGUtYWNwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXdzXFxTM1xcUzNDbGllbnQ6OmV4cGxvZGVLZXknLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01ldGFkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotbWV0YS0nLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZXJ2ZXJTaWRlRW5jcnlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXNlcnZlci1zaWRlLWVuY3J5cHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdG9yYWdlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1zdG9yYWdlLWNsYXNzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnV2Vic2l0ZVJlZGlyZWN0TG9jYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei13ZWJzaXRlLXJlZGlyZWN0LWxvY2F0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndXBsb2FkcycsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdfZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FDUCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdERUxFVEUnLAogICAgICAgICAgICAndXJpJyA9PiAnL3tCdWNrZXR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZWxldGVCdWNrZXRPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvUkVTVEJ1Y2tldERFTEVURS5odG1sJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVCdWNrZXRDb3JzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdERUxFVEUnLAogICAgICAgICAgICAndXJpJyA9PiAnL3tCdWNrZXR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZWxldGVCdWNrZXRDb3JzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RCdWNrZXRERUxFVEVjb3JzLmh0bWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YlJlc291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvcnMnLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnX2d1enpsZV9ibGFua18nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVCdWNrZXRMaWZlY3ljbGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0RFTEVURScsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RlbGV0ZUJ1Y2tldExpZmVjeWNsZU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L0FQSS9SRVNUQnVja2V0REVMRVRFbGlmZWN5Y2xlLmh0bWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YlJlc291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2xpZmVjeWNsZScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdfZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUJ1Y2tldFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnREVMRVRFJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97QnVja2V0fScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcUzNcXENvbW1hbmRcXFMzQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVsZXRlQnVja2V0UG9saWN5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RCdWNrZXRERUxFVEVwb2xpY3kuaHRtbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncG9saWN5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ19ndXp6bGVfYmxhbmtfJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQnVja2V0VGFnZ2luZycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnREVMRVRFJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97QnVja2V0fScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcUzNcXENvbW1hbmRcXFMzQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVsZXRlQnVja2V0VGFnZ2luZ091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L0FQSS9SRVNUQnVja2V0REVMRVRFdGFnZ2luZy5odG1sJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJSZXNvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd0YWdnaW5nJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ19ndXp6bGVfYmxhbmtfJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQnVja2V0V2Vic2l0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnREVMRVRFJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97QnVja2V0fScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcUzNcXENvbW1hbmRcXFMzQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVsZXRlQnVja2V0V2Vic2l0ZU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L0FQSS9SRVNUQnVja2V0REVMRVRFd2Vic2l0ZS5odG1sJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJSZXNvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd3ZWJzaXRlJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ19ndXp6bGVfYmxhbmtfJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlT2JqZWN0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdERUxFVEUnLAogICAgICAgICAgICAndXJpJyA9PiAnL3tCdWNrZXR9ey9LZXkqfScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcUzNcXENvbW1hbmRcXFMzQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVsZXRlT2JqZWN0T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RPYmplY3RERUxFVEUuaHRtbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXdzXFxTM1xcUzNDbGllbnQ6OmV4cGxvZGVLZXknLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01GQScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LW1mYScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmVyc2lvbklkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlT2JqZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RlbGV0ZU9iamVjdHNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvbXVsdGlvYmplY3RkZWxldGVhcGkuaHRtbCcsCiAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd4bWxSb290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RlbGV0ZScsCiAgICAgICAgICAgICAgICAgICAgJ25hbWVzcGFjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vZG9jLzIwMDYtMDMtMDEvJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPYmplY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd4bWxGbGF0dGVuZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdPYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWZXJzaW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUXVpZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNRkEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1tZmEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJSZXNvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZWxldGUnLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnX2d1enpsZV9ibGFua18nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50TUQ1JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0QnVja2V0QWNsJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnL3tCdWNrZXR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRCdWNrZXRBY2xPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvUkVTVEJ1Y2tldEdFVGFjbC5odG1sJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJSZXNvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhY2wnLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnX2d1enpsZV9ibGFua18nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRCdWNrZXRDb3JzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnL3tCdWNrZXR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRCdWNrZXRDb3JzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RCdWNrZXRHRVRjb3JzLmh0bWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YlJlc291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvcnMnLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnX2d1enpsZV9ibGFua18nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRCdWNrZXRMaWZlY3ljbGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldEJ1Y2tldExpZmVjeWNsZU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L0FQSS9SRVNUQnVja2V0R0VUbGlmZWN5Y2xlLmh0bWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YlJlc291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2xpZmVjeWNsZScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdfZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEJ1Y2tldExvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnL3tCdWNrZXR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRCdWNrZXRMb2NhdGlvbk91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L0FQSS9SRVNUQnVja2V0R0VUbG9jYXRpb24uaHRtbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbG9jYXRpb24nLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnX2d1enpsZV9ibGFua18nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRCdWNrZXRMb2dnaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnL3tCdWNrZXR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRCdWNrZXRMb2dnaW5nT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RCdWNrZXRHRVRsb2dnaW5nLmh0bWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YlJlc291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2xvZ2dpbmcnLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnX2d1enpsZV9ibGFua18nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRCdWNrZXROb3RpZmljYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldEJ1Y2tldE5vdGlmaWNhdGlvbk91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L0FQSS9SRVNUQnVja2V0R0VUbm90aWZpY2F0aW9uLmh0bWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YlJlc291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25vdGlmaWNhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdfZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEJ1Y2tldFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97QnVja2V0fScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcUzNcXENvbW1hbmRcXFMzQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0QnVja2V0UG9saWN5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RCdWNrZXRHRVRwb2xpY3kuaHRtbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncG9saWN5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ19ndXp6bGVfYmxhbmtfJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0QnVja2V0UmVxdWVzdFBheW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldEJ1Y2tldFJlcXVlc3RQYXltZW50T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RyZXF1ZXN0UGF5bWVudEdFVC5odG1sJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJSZXNvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZXF1ZXN0UGF5bWVudCcsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdfZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEJ1Y2tldFRhZ2dpbmcnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldEJ1Y2tldFRhZ2dpbmdPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvUkVTVEJ1Y2tldEdFVHRhZ2dpbmcuaHRtbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndGFnZ2luZycsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdfZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEJ1Y2tldFZlcnNpb25pbmcnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldEJ1Y2tldFZlcnNpb25pbmdPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvUkVTVEJ1Y2tldEdFVHZlcnNpb25pbmdTdGF0dXMuaHRtbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmVyc2lvbmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdfZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEJ1Y2tldFdlYnNpdGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldEJ1Y2tldFdlYnNpdGVPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvUkVTVEJ1Y2tldEdFVHdlYnNpdGUuaHRtbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnd2Vic2l0ZScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdfZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldE9iamVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97QnVja2V0fXsvS2V5Kn0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldE9iamVjdE91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L0FQSS9SRVNUT2JqZWN0R0VULmh0bWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lmTWF0Y2gnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJZi1NYXRjaCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lmTW9kaWZpZWRTaW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdkYXRlLXRpbWUtaHR0cCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSWYtTW9kaWZpZWQtU2luY2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJZk5vbmVNYXRjaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0lmLU5vbmUtTWF0Y2gnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJZlVubW9kaWZpZWRTaW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdkYXRlLXRpbWUtaHR0cCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSWYtVW5tb2RpZmllZC1TaW5jZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0F3c1xcUzNcXFMzQ2xpZW50OjpleHBsb2RlS2V5JywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSYW5nZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc3BvbnNlQ2FjaGVDb250cm9sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZXNwb25zZS1jYWNoZS1jb250cm9sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzcG9uc2VDb250ZW50RGlzcG9zaXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Jlc3BvbnNlLWNvbnRlbnQtZGlzcG9zaXRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXNwb25zZUNvbnRlbnRFbmNvZGluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVzcG9uc2UtY29udGVudC1lbmNvZGluZycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc3BvbnNlQ29udGVudExhbmd1YWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZXNwb25zZS1jb250ZW50LWxhbmd1YWdlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzcG9uc2VDb250ZW50VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVzcG9uc2UtY29udGVudC10eXBlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzcG9uc2VFeHBpcmVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZS1odHRwJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3Jlc3BvbnNlLWV4cGlyZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZlcnNpb25JZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NhdmVBcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncmVzcG9uc2VfYm9keScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQga2V5IGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoS2V5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0T2JqZWN0QWNsJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnL3tCdWNrZXR9ey9LZXkqfScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcUzNcXENvbW1hbmRcXFMzQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0T2JqZWN0QWNsT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RPYmplY3RHRVRhY2wuaHRtbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXdzXFxTM1xcUzNDbGllbnQ6OmV4cGxvZGVLZXknLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmVyc2lvbklkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYWNsJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ19ndXp6bGVfYmxhbmtfJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBrZXkgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hLZXlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRPYmplY3RUb3JyZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAndXJpJyA9PiAnL3tCdWNrZXR9ey9LZXkqfScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcUzNcXENvbW1hbmRcXFMzQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0T2JqZWN0VG9ycmVudE91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L0FQSS9SRVNUT2JqZWN0R0VUdG9ycmVudC5odG1sJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBd3NcXFMzXFxTM0NsaWVudDo6ZXhwbG9kZUtleScsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndG9ycmVudCcsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdfZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0hlYWRCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0hFQUQnLAogICAgICAgICAgICAndXJpJyA9PiAnL3tCdWNrZXR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdIZWFkQnVja2V0T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RCdWNrZXRIRUFELmh0bWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgYnVja2V0IGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoQnVja2V0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnSGVhZE9iamVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnSEVBRCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH17L0tleSp9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdIZWFkT2JqZWN0T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RPYmplY3RIRUFELmh0bWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lmTWF0Y2gnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJZi1NYXRjaCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lmTW9kaWZpZWRTaW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdkYXRlLXRpbWUtaHR0cCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSWYtTW9kaWZpZWQtU2luY2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJZk5vbmVNYXRjaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0lmLU5vbmUtTWF0Y2gnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJZlVubW9kaWZpZWRTaW5jZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdkYXRlLXRpbWUtaHR0cCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnSWYtVW5tb2RpZmllZC1TaW5jZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0F3c1xcUzNcXFMzQ2xpZW50OjpleHBsb2RlS2V5JywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSYW5nZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmVyc2lvbklkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBrZXkgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hLZXlFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0QnVja2V0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RCdWNrZXRzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RTZXJ2aWNlR0VULmh0bWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdE11bHRpcGFydFVwbG9hZHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RNdWx0aXBhcnRVcGxvYWRzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL21wVXBsb2FkTGlzdE1QVXBsb2FkLmh0bWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlbGltaXRlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZGVsaW1pdGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5jb2RpbmdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdlbmNvZGluZy10eXBlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2V5TWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdrZXktbWFya2VyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWF4VXBsb2FkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21heC11cGxvYWRzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcmVmaXgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVcGxvYWRJZE1hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndXBsb2FkLWlkLW1hcmtlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YlJlc291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VwbG9hZHMnLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnX2d1enpsZV9ibGFua18nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0T2JqZWN0VmVyc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RPYmplY3RWZXJzaW9uc091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L0FQSS9SRVNUQnVja2V0R0VUVmVyc2lvbi5odG1sJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZWxpbWl0ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2RlbGltaXRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuY29kaW5nVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZW5jb2RpbmctdHlwZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tleU1hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAna2V5LW1hcmtlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEtleXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtYXgta2V5cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJlZml4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbklkTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd2ZXJzaW9uLWlkLW1hcmtlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YlJlc291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3ZlcnNpb25zJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ19ndXp6bGVfYmxhbmtfJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdE9iamVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RPYmplY3RzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RCdWNrZXRHRVQuaHRtbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVsaW1pdGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdkZWxpbWl0ZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmNvZGluZ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2VuY29kaW5nLXR5cGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21hcmtlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEtleXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtYXgta2V5cycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncHJlZml4JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBidWNrZXQgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hCdWNrZXRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0UGFydHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH17L0tleSp9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0UGFydHNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvbXBVcGxvYWRMaXN0UGFydHMuaHRtbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXdzXFxTM1xcUzNDbGllbnQ6OmV4cGxvZGVLZXknLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFBhcnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWF4LXBhcnRzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGFydE51bWJlck1hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3BhcnQtbnVtYmVyLW1hcmtlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VwbG9hZElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndXBsb2FkSWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRCdWNrZXRBY2wnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1B1dEJ1Y2tldEFjbE91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L0FQSS9SRVNUQnVja2V0UFVUYWNsLmh0bWwnLAogICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAneG1sUm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBY2Nlc3NDb250cm9sUG9saWN5JywKICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kb2MvMjAwNi0wMy0wMS8nLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQUNMJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotYWNsJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JhbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBY2Nlc3NDb250cm9sTGlzdCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdHcmFudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEaXNwbGF5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbWFpbEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSUQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneHNpOnR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxBdHRyaWJ1dGUnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbE5hbWVzcGFjZScgPT4gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVUkknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Blcm1pc3Npb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3duZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc3BsYXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0lEJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudE1ENScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+IHRydWUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyYW50RnVsbENvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1ncmFudC1mdWxsLWNvbnRyb2wnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcmFudFJlYWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1ncmFudC1yZWFkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JhbnRSZWFkQUNQJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZ3JhbnQtcmVhZC1hY3AnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcmFudFdyaXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZ3JhbnQtd3JpdGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcmFudFdyaXRlQUNQJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZ3JhbnQtd3JpdGUtYWNwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYWNsJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ19ndXp6bGVfYmxhbmtfJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQUNQJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRCdWNrZXRDb3JzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQVVQnLAogICAgICAgICAgICAndXJpJyA9PiAnL3tCdWNrZXR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdQdXRCdWNrZXRDb3JzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RCdWNrZXRQVVRjb3JzLmh0bWwnLAogICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAneG1sUm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDT1JTQ29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ25hbWVzcGFjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vZG9jLzIwMDYtMDMtMDEvJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDT1JTUnVsZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAneG1sRmxhdHRlbmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ09SU1J1bGUnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dlZEhlYWRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0FsbG93ZWRIZWFkZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93ZWRNZXRob2RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxGbGF0dGVuZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBbGxvd2VkTWV0aG9kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvd2VkT3JpZ2lucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sRmxhdHRlbmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQWxsb3dlZE9yaWdpbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXhwb3NlSGVhZGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sRmxhdHRlbmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRXhwb3NlSGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhBZ2VTZWNvbmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50TUQ1JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29ycycsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdfZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1B1dEJ1Y2tldExpZmVjeWNsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUFVUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97QnVja2V0fScsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcUzNcXENvbW1hbmRcXFMzQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUHV0QnVja2V0TGlmZWN5Y2xlT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RCdWNrZXRQVVRsaWZlY3ljbGUuaHRtbCcsCiAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd4bWxSb290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0xpZmVjeWNsZUNvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgICAgICAgICduYW1lc3BhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2h0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2RvYy8yMDA2LTAzLTAxLycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudE1ENScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+IHRydWUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1J1bGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd4bWxGbGF0dGVuZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSdWxlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V4cGlyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSUQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RyYW5zaXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdG9yYWdlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YlJlc291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2xpZmVjeWNsZScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdfZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1B1dEJ1Y2tldExvZ2dpbmcnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1B1dEJ1Y2tldExvZ2dpbmdPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvUkVTVEJ1Y2tldFBVVGxvZ2dpbmcuaHRtbCcsCiAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd4bWxSb290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0J1Y2tldExvZ2dpbmdTdGF0dXMnLAogICAgICAgICAgICAgICAgICAgICduYW1lc3BhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2h0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2RvYy8yMDA2LTAzLTAxLycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAneG1sQWxsb3dFbXB0eScgPT4gdHJ1ZSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMb2dnaW5nRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0QnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldEdyYW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdHcmFudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEaXNwbGF5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbWFpbEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSUQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneHNpOnR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sQXR0cmlidXRlJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbE5hbWVzcGFjZScgPT4gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVUkknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZXJtaXNzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldFByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudE1ENScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+IHRydWUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YlJlc291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2xvZ2dpbmcnLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnX2d1enpsZV9ibGFua18nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRCdWNrZXROb3RpZmljYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1B1dEJ1Y2tldE5vdGlmaWNhdGlvbk91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L0FQSS9SRVNUQnVja2V0UFVUbm90aWZpY2F0aW9uLmh0bWwnLAogICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAneG1sUm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOb3RpZmljYXRpb25Db25maWd1cmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kb2MvMjAwNi0wMy0wMS8nLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnRlbnRNRDUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUb3BpY0NvbmZpZ3VyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdFdmVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdUb3BpYycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbm90aWZpY2F0aW9uJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ19ndXp6bGVfYmxhbmtfJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHV0QnVja2V0UG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQVVQnLAogICAgICAgICAgICAndXJpJyA9PiAnL3tCdWNrZXR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdQdXRCdWNrZXRQb2xpY3lPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvUkVTVEJ1Y2tldFBVVHBvbGljeS5odG1sJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50TUQ1JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdib2R5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncG9saWN5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ19ndXp6bGVfYmxhbmtfJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHV0QnVja2V0UmVxdWVzdFBheW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1B1dEJ1Y2tldFJlcXVlc3RQYXltZW50T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RyZXF1ZXN0UGF5bWVudFBVVC5odG1sJywKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3htbFJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUmVxdWVzdFBheW1lbnRDb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kb2MvMjAwNi0wMy0wMS8nLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnRlbnRNRDUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXllcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJSZXNvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdyZXF1ZXN0UGF5bWVudCcsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdfZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1B1dEJ1Y2tldFRhZ2dpbmcnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1B1dEJ1Y2tldFRhZ2dpbmdPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvUkVTVEJ1Y2tldFBVVHRhZ2dpbmcuaHRtbCcsCiAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd4bWxSb290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RhZ2dpbmcnLAogICAgICAgICAgICAgICAgICAgICduYW1lc3BhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2h0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2RvYy8yMDA2LTAzLTAxLycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudE1ENScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+IHRydWUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhZ1NldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YlJlc291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3RhZ2dpbmcnLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnX2d1enpsZV9ibGFua18nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRCdWNrZXRWZXJzaW9uaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQVVQnLAogICAgICAgICAgICAndXJpJyA9PiAnL3tCdWNrZXR9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdQdXRCdWNrZXRWZXJzaW9uaW5nT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RCdWNrZXRQVVRWZXJzaW9uaW5nU3RhdHVzLmh0bWwnLAogICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAneG1sUm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWZXJzaW9uaW5nQ29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ25hbWVzcGFjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vZG9jLzIwMDYtMDMtMDEvJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50TUQ1JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTUZBJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotbWZhJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTUZBRGVsZXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAndmVyc2lvbmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdfZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1B1dEJ1Y2tldFdlYnNpdGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1B1dEJ1Y2tldFdlYnNpdGVPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvUkVTVEJ1Y2tldFBVVHdlYnNpdGUuaHRtbCcsCiAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd4bWxSb290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1dlYnNpdGVDb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kb2MvMjAwNi0wMy0wMS8nLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3htbEFsbG93RW1wdHknID0+IHRydWUsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudE1ENScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+IHRydWUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Vycm9yRG9jdW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5kZXhEb2N1bWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnU3VmZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZWRpcmVjdEFsbFJlcXVlc3RzVG8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0hvc3ROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSb3V0aW5nUnVsZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSb3V0aW5nUnVsZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbmRpdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0h0dHBFcnJvckNvZGVSZXR1cm5lZEVxdWFscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXlQcmVmaXhFcXVhbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlZGlyZWN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hvc3ROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0h0dHBSZWRpcmVjdENvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvdG9jb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVwbGFjZUtleVByZWZpeFdpdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVwbGFjZUtleVdpdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YlJlc291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3dlYnNpdGUnLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnX2d1enpsZV9ibGFua18nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRPYmplY3QnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH17L0tleSp9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdQdXRPYmplY3RPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvUkVTVE9iamVjdFBVVC5odG1sJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FDTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWFjbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0JvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYm9keScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZUNvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDYWNoZS1Db250cm9sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudERpc3Bvc2l0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ29udGVudC1EaXNwb3NpdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnRlbnRFbmNvZGluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NvbnRlbnQtRW5jb2RpbmcnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50TGFuZ3VhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDb250ZW50LUxhbmd1YWdlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudExlbmd0aCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDb250ZW50LUxlbmd0aCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnRlbnRNRDUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NvbnRlbnQtVHlwZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V4cGlyZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lLWh0dHAnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyYW50RnVsbENvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1ncmFudC1mdWxsLWNvbnRyb2wnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcmFudFJlYWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1ncmFudC1yZWFkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JhbnRSZWFkQUNQJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZ3JhbnQtcmVhZC1hY3AnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcmFudFdyaXRlQUNQJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZ3JhbnQtd3JpdGUtYWNwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXdzXFxTM1xcUzNDbGllbnQ6OmV4cGxvZGVLZXknLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01ldGFkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotbWV0YS0nLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZXJ2ZXJTaWRlRW5jcnlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXNlcnZlci1zaWRlLWVuY3J5cHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdG9yYWdlQ2xhc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1zdG9yYWdlLWNsYXNzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnV2Vic2l0ZVJlZGlyZWN0TG9jYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei13ZWJzaXRlLXJlZGlyZWN0LWxvY2F0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQUNQJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRPYmplY3RBY2wnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH17L0tleSp9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdQdXRPYmplY3RBY2xPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZG9jdW1lbnRhdGlvblVybCcgPT4gJ2h0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9BUEkvUkVTVE9iamVjdFBVVGFjbC5odG1sJywKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3htbFJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWNjZXNzQ29udHJvbFBvbGljeScsCiAgICAgICAgICAgICAgICAgICAgJ25hbWVzcGFjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vZG9jLzIwMDYtMDMtMDEvJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FDTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWFjbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyYW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQWNjZXNzQ29udHJvbExpc3QnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnR3JhbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcmFudGVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGlzcGxheU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW1haWxBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lEJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3hzaTp0eXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sQXR0cmlidXRlJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxOYW1lc3BhY2UnID0+ICdodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVVJJJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZXJtaXNzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ093bmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdEaXNwbGF5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdJRCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3VyaScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnRlbnRNRDUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHcmFudEZ1bGxDb250cm9sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZ3JhbnQtZnVsbC1jb250cm9sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JhbnRSZWFkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZ3JhbnQtcmVhZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dyYW50UmVhZEFDUCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWdyYW50LXJlYWQtYWNwJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JhbnRXcml0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWdyYW50LXdyaXRlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR3JhbnRXcml0ZUFDUCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWdyYW50LXdyaXRlLWFjcCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0F3c1xcUzNcXFMzQ2xpZW50OjpleHBsb2RlS2V5JywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJSZXNvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhY2wnLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnX2d1enpsZV9ibGFua18nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBQ1AnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQga2V5IGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoS2V5RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVzdG9yZU9iamVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH17L0tleSp9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdSZXN0b3JlT2JqZWN0T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL1JFU1RPYmplY3RSZXN0b3JlLmh0bWwnLAogICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAneG1sUm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdSZXN0b3JlUmVxdWVzdCcsCiAgICAgICAgICAgICAgICAgICAgJ25hbWVzcGFjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vZG9jLzIwMDYtMDMtMDEvJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBd3NcXFMzXFxTM0NsaWVudDo6ZXhwbG9kZUtleScsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGF5cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncmVzdG9yZScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdfZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoaXMgb3BlcmF0aW9uIGlzIG5vdCBhbGxvd2VkIGFnYWluc3QgdGhpcyBzdG9yYWdlIHRpZXInLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ09iamVjdEFscmVhZHlJbkFjdGl2ZVRpZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwbG9hZFBhcnQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcsCiAgICAgICAgICAgICd1cmknID0+ICcve0J1Y2tldH17L0tleSp9JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxTM1xcQ29tbWFuZFxcUzNDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdVcGxvYWRQYXJ0T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL21wVXBsb2FkVXBsb2FkUGFydC5odG1sJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0JvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYm9keScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50TGVuZ3RoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NvbnRlbnQtTGVuZ3RoJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudE1ENScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+IHRydWUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0F3c1xcUzNcXFMzQ2xpZW50OjpleHBsb2RlS2V5JywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYXJ0TnVtYmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3BhcnROdW1iZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVcGxvYWRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3VwbG9hZElkJywKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGxvYWRQYXJ0Q29weScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUFVUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy97QnVja2V0fXsvS2V5Kn0nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXFMzXFxDb21tYW5kXFxTM0NvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1VwbG9hZFBhcnRDb3B5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RvY3VtZW50YXRpb25VcmwnID0+ICdodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvQVBJL21wVXBsb2FkVXBsb2FkUGFydENvcHkuaHRtbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29weVNvdXJjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1jb3B5LXNvdXJjZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvcHlTb3VyY2VJZk1hdGNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZS1odHRwJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1jb3B5LXNvdXJjZS1pZi1tYXRjaCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvcHlTb3VyY2VJZk1vZGlmaWVkU2luY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZS10aW1lLWh0dHAnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWNvcHktc291cmNlLWlmLW1vZGlmaWVkLXNpbmNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29weVNvdXJjZUlmTm9uZU1hdGNoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZS1odHRwJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1jb3B5LXNvdXJjZS1pZi1ub25lLW1hdGNoJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29weVNvdXJjZUlmVW5tb2RpZmllZFNpbmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2RhdGUtdGltZS1odHRwJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1jb3B5LXNvdXJjZS1pZi11bm1vZGlmaWVkLXNpbmNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29weVNvdXJjZVJhbmdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotY29weS1zb3VyY2UtcmFuZ2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBd3NcXFMzXFxTM0NsaWVudDo6ZXhwbG9kZUtleScsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGFydE51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwYXJ0TnVtYmVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVXBsb2FkSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAncXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd1cGxvYWRJZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ21vZGVscycgPT4gYXJyYXkoCiAgICAgICAgJ0Fib3J0TXVsdGlwYXJ0VXBsb2FkT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDb21wbGV0ZU11bHRpcGFydFVwbG9hZE91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V4cGlyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1leHBpcmF0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTG9jYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZXJ2ZXJTaWRlRW5jcnlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXNlcnZlci1zaWRlLWVuY3J5cHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei12ZXJzaW9uLWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ29weU9iamVjdE91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhc3RNb2RpZmllZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvcHlTb3VyY2VWZXJzaW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1jb3B5LXNvdXJjZS12ZXJzaW9uLWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXhwaXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWV4cGlyYXRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZXJ2ZXJTaWRlRW5jcnlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXNlcnZlci1zaWRlLWVuY3J5cHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVCdWNrZXRPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0xvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdCdWNrZXQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZXJ2ZXJTaWRlRW5jcnlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXNlcnZlci1zaWRlLWVuY3J5cHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVcGxvYWRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUJ1Y2tldE91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQnVja2V0Q29yc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQnVja2V0TGlmZWN5Y2xlT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVCdWNrZXRQb2xpY3lPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUJ1Y2tldFRhZ2dpbmdPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUJ1Y2tldFdlYnNpdGVPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZU9iamVjdE91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRGVsZXRlTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LWRlbGV0ZS1tYXJrZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei12ZXJzaW9uLWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlT2JqZWN0c091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRGVsZXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd4bWxGbGF0dGVuZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWxldGVNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZU1hcmtlclZlcnNpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmVyc2lvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Vycm9ycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRXJyb3InLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0Vycm9yJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmVyc2lvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEJ1Y2tldEFjbE91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR3JhbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBY2Nlc3NDb250cm9sTGlzdCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdHcmFudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0dyYW50JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEaXNwbGF5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbWFpbEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSUQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneHNpOnR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxBdHRyaWJ1dGUnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbE5hbWVzcGFjZScgPT4gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVUkknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Blcm1pc3Npb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3duZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc3BsYXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0lEJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRCdWNrZXRDb3JzT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDT1JTUnVsZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NPUlNSdWxlJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd4bWxGbGF0dGVuZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDT1JTUnVsZScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbGxvd2VkSGVhZGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0FsbG93ZWRIZWFkZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0FsbG93ZWRIZWFkZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FsbG93ZWRNZXRob2RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQWxsb3dlZE1ldGhvZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sRmxhdHRlbmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQWxsb3dlZE1ldGhvZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWxsb3dlZE9yaWdpbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBbGxvd2VkT3JpZ2luJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxGbGF0dGVuZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBbGxvd2VkT3JpZ2luJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFeHBvc2VIZWFkZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRXhwb3NlSGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxGbGF0dGVuZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdFeHBvc2VIZWFkZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heEFnZVNlY29uZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEJ1Y2tldExpZmVjeWNsZU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUnVsZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1J1bGUnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1J1bGUnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXhwaXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF5cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lEJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJhbnNpdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF5cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RvcmFnZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRCdWNrZXRMb2NhdGlvbk91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTG9jYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdib2R5JywKICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJ2YWwnLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaXBfdGFncycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0cmltJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRCdWNrZXRMb2dnaW5nT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdMb2dnaW5nRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0QnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldEdyYW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdHcmFudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdHcmFudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc3BsYXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VtYWlsQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJRCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneHNpOnR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sQXR0cmlidXRlJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbE5hbWVzcGFjZScgPT4gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVUkknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQZXJtaXNzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldFByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0QnVja2V0Tm90aWZpY2F0aW9uT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdUb3BpY0NvbmZpZ3VyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0V2ZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1RvcGljJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRCdWNrZXRQb2xpY3lPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1BvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdpbnN0YW5jZU9mJyA9PiAnR3V6emxlXFxIdHRwXFxFbnRpdHlCb2R5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdib2R5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0QnVja2V0UmVxdWVzdFBheW1lbnRPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1BheWVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0QnVja2V0VGFnZ2luZ091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFnU2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRCdWNrZXRWZXJzaW9uaW5nT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNRkFEZWxldGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRCdWNrZXRXZWJzaXRlT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdFcnJvckRvY3VtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luZGV4RG9jdW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1N1ZmZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVkaXJlY3RBbGxSZXF1ZXN0c1RvJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdIb3N0TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdQcm90b2NvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUm91dGluZ1J1bGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnUm91dGluZ1J1bGUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSb3V0aW5nUnVsZScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb25kaXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIdHRwRXJyb3JDb2RlUmV0dXJuZWRFcXVhbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5UHJlZml4RXF1YWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWRpcmVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hvc3ROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0h0dHBSZWRpcmVjdENvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvdG9jb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVwbGFjZUtleVByZWZpeFdpdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVwbGFjZUtleVdpdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldE9iamVjdE91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWNjZXB0UmFuZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYWNjZXB0LXJhbmdlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0JvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnaW5zdGFuY2VPZicgPT4gJ0d1enpsZVxcSHR0cFxcRW50aXR5Qm9keScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYm9keScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NhY2hlQ29udHJvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NhY2hlLUNvbnRyb2wnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50RGlzcG9zaXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDb250ZW50LURpc3Bvc2l0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudEVuY29kaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ29udGVudC1FbmNvZGluZycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnRlbnRMYW5ndWFnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NvbnRlbnQtTGFuZ3VhZ2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50TGVuZ3RoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NvbnRlbnQtTGVuZ3RoJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudFR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDb250ZW50LVR5cGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZWxldGVNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZGVsZXRlLW1hcmtlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VUYWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFeHBpcmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZXhwaXJhdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V4cGlyZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYXN0TW9kaWZpZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdMYXN0LU1vZGlmaWVkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWV0YWRhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1tZXRhLScsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01pc3NpbmdNZXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LW1pc3NpbmctbWV0YScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Jlc3RvcmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXN0b3JlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VydmVyU2lkZUVuY3J5cHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1zZXJ2ZXItc2lkZS1lbmNyeXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotdmVyc2lvbi1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1dlYnNpdGVSZWRpcmVjdExvY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotd2Vic2l0ZS1yZWRpcmVjdC1sb2NhdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldE9iamVjdEFjbE91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR3JhbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBY2Nlc3NDb250cm9sTGlzdCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdHcmFudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0dyYW50JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEaXNwbGF5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbWFpbEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSUQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneHNpOnR5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxBdHRyaWJ1dGUnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbE5hbWVzcGFjZScgPT4gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVUkknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Blcm1pc3Npb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3duZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc3BsYXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0lEJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRPYmplY3RUb3JyZW50T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCb2R5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2luc3RhbmNlT2YnID0+ICdHdXp6bGVcXEh0dHBcXEVudGl0eUJvZHknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2JvZHknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdIZWFkQnVja2V0T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdIZWFkT2JqZWN0T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY2NlcHRSYW5nZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdhY2NlcHQtcmFuZ2VzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVDb250cm9sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2FjaGUtQ29udHJvbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnRlbnREaXNwb3NpdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NvbnRlbnQtRGlzcG9zaXRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50RW5jb2RpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDb250ZW50LUVuY29kaW5nJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29udGVudExhbmd1YWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ29udGVudC1MYW5ndWFnZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnRlbnRMZW5ndGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ29udGVudC1MZW5ndGgnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0NvbnRlbnQtVHlwZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RlbGV0ZU1hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1kZWxldGUtbWFya2VyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V4cGlyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1leHBpcmF0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRXhwaXJlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhc3RNb2RpZmllZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0xhc3QtTW9kaWZpZWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNZXRhZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LW1ldGEtJywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWlzc2luZ01ldGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotbWlzc2luZy1tZXRhJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVzdG9yZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlc3RvcmUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZXJ2ZXJTaWRlRW5jcnlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXNlcnZlci1zaWRlLWVuY3J5cHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei12ZXJzaW9uLWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnV2Vic2l0ZVJlZGlyZWN0TG9jYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei13ZWJzaXRlLXJlZGlyZWN0LWxvY2F0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdEJ1Y2tldHNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCdWNrZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdCdWNrZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRpb25EYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3duZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc3BsYXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0lEJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0TXVsdGlwYXJ0VXBsb2Fkc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29tbW9uUHJlZml4ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAneG1sRmxhdHRlbmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuY29kaW5nVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0VuY29kaW5nLVR5cGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJc1RydW5jYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXlNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhVcGxvYWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRLZXlNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VXBsb2FkSWRNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVcGxvYWRJZE1hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VwbG9hZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1VwbG9hZCcsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAneG1sRmxhdHRlbmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVXBsb2FkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0luaXRpYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbml0aWF0b3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEaXNwbGF5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJRCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ093bmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGlzcGxheU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSUQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0b3JhZ2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVcGxvYWRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0T2JqZWN0VmVyc2lvbnNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbW1vblByZWZpeGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZWxldGVNYXJrZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdEZWxldGVNYXJrZXInLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0RlbGV0ZU1hcmtlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJc0xhdGVzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhc3RNb2RpZmllZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPd25lcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc3BsYXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lEJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWZXJzaW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5jb2RpbmdUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRW5jb2RpbmctVHlwZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lzVHJ1bmNhdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0tleU1hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEtleXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRLZXlNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VmVyc2lvbklkTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbklkTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZlcnNpb24nLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1ZlcnNpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJc0xhdGVzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0xhc3RNb2RpZmllZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPd25lcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc3BsYXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lEJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0b3JhZ2VDbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWZXJzaW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdE9iamVjdHNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbW1vblByZWZpeGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDb250ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd4bWxGbGF0dGVuZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFVGFnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0TW9kaWZpZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3duZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEaXNwbGF5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJRCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RvcmFnZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuY29kaW5nVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0VuY29kaW5nLVR5cGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJc1RydW5jYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhLZXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0TWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFBhcnRzT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbml0aWF0b3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc3BsYXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0lEJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJc1RydW5jYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXhQYXJ0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0UGFydE51bWJlck1hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPd25lcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRGlzcGxheU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnSUQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhcnROdW1iZXJNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGFydHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1BhcnQnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1BhcnQnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0TW9kaWZpZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGFydE51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3RvcmFnZUNsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVXBsb2FkSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRCdWNrZXRBY2xPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1B1dEJ1Y2tldENvcnNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1B1dEJ1Y2tldExpZmVjeWNsZU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHV0QnVja2V0TG9nZ2luZ091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHV0QnVja2V0Tm90aWZpY2F0aW9uT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRCdWNrZXRQb2xpY3lPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1B1dEJ1Y2tldFJlcXVlc3RQYXltZW50T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRCdWNrZXRUYWdnaW5nT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRCdWNrZXRWZXJzaW9uaW5nT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRCdWNrZXRXZWJzaXRlT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRPYmplY3RPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0VUYWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFeHBpcmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotZXhwaXJhdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NlcnZlclNpZGVFbmNyeXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotc2VydmVyLXNpZGUtZW5jcnlwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb25JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXZlcnNpb24taWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdPYmplY3RVUkwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdQdXRPYmplY3RBY2xPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1Jlc3RvcmVPYmplY3RPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlcXVlc3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAneC1hbXotcmVxdWVzdC1pZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwbG9hZFBhcnRPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0VUYWcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZXJ2ZXJTaWRlRW5jcnlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXNlcnZlci1zaWRlLWVuY3J5cHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXF1ZXN0SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ3gtYW16LXJlcXVlc3QtaWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGxvYWRQYXJ0Q29weU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRVRhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhc3RNb2RpZmllZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvcHlTb3VyY2VWZXJzaW9uSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1jb3B5LXNvdXJjZS12ZXJzaW9uLWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VydmVyU2lkZUVuY3J5cHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1zZXJ2ZXItc2lkZS1lbmNyeXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVxdWVzdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4LWFtei1yZXF1ZXN0LWlkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnd2FpdGVycycgPT4gYXJyYXkoCiAgICAgICAgJ19fZGVmYXVsdF9fJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2ludGVydmFsJyA9PiA1LAogICAgICAgICAgICAnbWF4X2F0dGVtcHRzJyA9PiAyMCwKICAgICAgICApLAogICAgICAgICdCdWNrZXRFeGlzdHMnID0+IGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9uJyA9PiAnSGVhZEJ1Y2tldCcsCiAgICAgICAgICAgICdzdWNjZXNzLnR5cGUnID0+ICdvdXRwdXQnLAogICAgICAgICAgICAnaWdub3JlX2Vycm9ycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTm9TdWNoQnVja2V0JywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdCdWNrZXROb3RFeGlzdHMnID0+IGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9uJyA9PiAnSGVhZEJ1Y2tldCcsCiAgICAgICAgICAgICdzdWNjZXNzLnR5cGUnID0+ICdlcnJvcicsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnTm9TdWNoQnVja2V0JywKICAgICAgICApLAogICAgICAgICdPYmplY3RFeGlzdHMnID0+IGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9uJyA9PiAnSGVhZE9iamVjdCcsCiAgICAgICAgICAgICdzdWNjZXNzLnR5cGUnID0+ICdvdXRwdXQnLAogICAgICAgICAgICAnaWdub3JlX2Vycm9ycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTm9TdWNoS2V5JywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/ResumableDownload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzM7Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFVuZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcSHR0cFxSZWFkTGltaXRFbnRpdHlCb2R5Owp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keUludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwoKLyoqCiAqIEFsbG93cyB5b3UgdG8gcmVzdW1lIHRoZSBkb3dubG9hZCBvZiBhIHBhcnRpYWxseSBkb3dubG9hZGVkIG9iamVjdC4KICoKICogRG93bmxvYWRzIG9iamVjdHMgZnJvbSBBbWF6b24gUzMgaW4gdXNpbmcgIlJhbmdlIiBkb3dubG9hZHMuIFRoaXMgYWxsb3dzIGEgcGFydGlhbGx5IGRvd25sb2FkZWQgb2JqZWN0IHRvIGJlIHJlc3VtZWQKICogc28gdGhhdCBvbmx5IHRoZSByZW1haW5pbmcgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGlzIGRvd25sb2FkZWQuCiAqLwpjbGFzcyBSZXN1bWFibGVEb3dubG9hZAp7CiAgICAvKiogQHZhciBTM0NsaWVudCBUaGUgUzMgY2xpZW50IHRvIHVzZSB0byBkb3dubG9hZCBvYmplY3RzIGFuZCBpc3N1ZSBIRUFEIHJlcXVlc3RzICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICAvKiogQHZhciBcR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWwgTW9kZWwgb2JqZWN0IHJldHVybmVkIHdoZW4gdGhlIGluaXRpYWwgSGVhZE9iamVjdCBvcGVyYXRpb24gd2FzIGNhbGxlZCAqLwogICAgcHJvdGVjdGVkICRtZXRhOwoKICAgIC8qKiBAdmFyIGFycmF5IEFycmF5IG9mIHBhcmFtZXRlcnMgdG8gcGFzcyB0byBhIEdldE9iamVjdCBvcGVyYXRpb24gKi8KICAgIHByb3RlY3RlZCAkcGFyYW1zOwoKICAgIC8qKiBAdmFyIFxHdXp6bGVcSHR0cFxFbnRpdHlCb2R5IFdoZXJlIHRoZSBvYmplY3Qgd2lsbCBiZSBkb3dubG9hZGVkICovCiAgICBwcm90ZWN0ZWQgJHRhcmdldDsKCiAgICAvKioKICAgICAqIEBwYXJhbSBTM0NsaWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2xpZW50IENsaWVudCB0byB1c2Ugd2hlbiBleGVjdXRpbmcgcmVxdWVzdHMKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYnVja2V0IEJ1Y2tldCB0aGF0IGhvbGRzIHRoZSBvYmplY3QKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAka2V5ICAgIEtleSBvZiB0aGUgb2JqZWN0CiAgICAgKiBAcGFyYW0gc3RyaW5nfHJlc291cmNlfEVudGl0eUJvZHlJbnRlcmZhY2UgJHRhcmdldCBXaGVyZSB0aGUgb2JqZWN0IHNob3VsZCBiZSBkb3dubG9hZGVkIHRvLiBQYXNzIGEgc3RyaW5nIHRvCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIHRoZSBvYmplY3QgdG8gYSBmaWxlLCBwYXNzIGEgcmVzb3VyY2UgcmV0dXJuZWQgYnkKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcGVuKCkgdG8gc2F2ZSB0aGUgb2JqZWN0IHRvIGEgc3RyZWFtIHJlc291cmNlLCBvciBwYXNzIGEKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1enpsZSBFbnRpdHlCb2R5IG9iamVjdCB0byBzYXZlIHRoZSBjb250ZW50cyB0byBhbgogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50aXR5Qm9keS4KICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1zIEFueSBhZGRpdGlvbmFsIEdldE9iamVjdCBvciBIZWFkT2JqZWN0IHBhcmFtZXRlcnMgdG8gdXNlCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGVhY2ggY29tbWFuZCBpc3N1ZWQgYnkgdGhlIGNsaWVudC4gKGUuZy4gcGFzcyAiVmVyc2lvbiIKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRvd25sb2FkIGEgc3BlY2lmaWMgdmVyc2lvbiBvZiBhbiBvYmplY3QpCiAgICAgKiBAdGhyb3dzIFJ1bnRpbWVFeGNlcHRpb24gaWYgdGhlIHRhcmdldCB2YXJpYWJsZSBwb2ludHMgdG8gYSBmaWxlIHRoYXQgY2Fubm90IGJlIG9wZW5lZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoUzNDbGllbnQgJGNsaWVudCwgJGJ1Y2tldCwgJGtleSwgJHRhcmdldCwgYXJyYXkgJHBhcmFtcyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJHRoaXMtPnBhcmFtcyA9ICRwYXJhbXM7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9ICRjbGllbnQ7CiAgICAgICAgJHRoaXMtPnBhcmFtc1snQnVja2V0J10gPSAkYnVja2V0OwogICAgICAgICR0aGlzLT5wYXJhbXNbJ0tleSddID0gJGtleTsKCiAgICAgICAgLy8gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGVuIGFzc3VtZSB0aGF0IHRoZSBkb3dubG9hZCBzaG91bGQgc3RyZWFtIHRvIGEgZmlsZSBvbiBkaXNrCiAgICAgICAgaWYgKGlzX3N0cmluZygkdGFyZ2V0KSkgewogICAgICAgICAgICBpZiAoISgkdGFyZ2V0ID0gZm9wZW4oJHRhcmdldCwgJ2ErJykpKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbigiVW5hYmxlIHRvIG9wZW4geyR0YXJnZXR9IGZvciB3cml0aW5nIik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gQWx3YXlzIGFwcGVuZCB0byB0aGUgZmlsZQogICAgICAgICAgICBmc2VlaygkdGFyZ2V0LCAwLCBTRUVLX0VORCk7CiAgICAgICAgfQoKICAgICAgICAvLyBHZXQgdGhlIG1ldGFkYXRhIGFuZCBDb250ZW50LU1ENSBvZiB0aGUgb2JqZWN0CiAgICAgICAgJHRoaXMtPnRhcmdldCA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJHRhcmdldCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGJ1Y2tldCBvZiB0aGUgZG93bmxvYWQKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QnVja2V0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnBhcmFtc1snQnVja2V0J107CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGtleSBvZiB0aGUgZG93bmxvYWQKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0S2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnBhcmFtc1snS2V5J107CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGZpbGUgdG8gd2hpY2ggdGhlIGNvbnRlbnRzIGFyZSBkb3dubG9hZGVkCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEZpbGVuYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnRhcmdldC0+Z2V0VXJpKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBEb3dubG9hZCB0aGUgcmVtYWluZGVyIG9mIHRoZSBvYmplY3QgZnJvbSBBbWF6b24gUzMKICAgICAqCiAgICAgKiBQZXJmb3JtcyBhIG1lc3NhZ2UgaW50ZWdyaXR5IGNoZWNrIGlmIHBvc3NpYmxlCiAgICAgKgogICAgICogQHJldHVybiBNb2RlbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19pbnZva2UoKQogICAgewogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnSGVhZE9iamVjdCcsICR0aGlzLT5wYXJhbXMpOwogICAgICAgICR0aGlzLT5tZXRhID0gJGNvbW1hbmQtPmV4ZWN1dGUoKTsKCiAgICAgICAgaWYgKCR0aGlzLT50YXJnZXQtPmZ0ZWxsKCkgPj0gJHRoaXMtPm1ldGFbJ0NvbnRlbnRMZW5ndGgnXSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+bWV0YVsnQ29udGVudE1ENSddID0gKHN0cmluZykgJGNvbW1hbmQtPmdldFJlc3BvbnNlKCktPmdldEhlYWRlcignQ29udGVudC1NRDUnKTsKCiAgICAgICAgLy8gVXNlIGEgUmVhZExpbWl0RW50aXR5Qm9keSBzbyB0aGF0IHJld2luZGluZyB0aGUgc3RyZWFtIGFmdGVyIGFuIGVycm9yIGRvZXMgbm90IGNhdXNlIHRoZSBmaWxlIHBvaW50ZXIKICAgICAgICAvLyB0byBlbnRlciBhbiBpbmNvbnNpc3RlbnQgc3RhdGUgd2l0aCB0aGUgZGF0YSBiZWluZyBkb3dubG9hZGVkCiAgICAgICAgJHRoaXMtPnBhcmFtc1snU2F2ZUFzJ10gPSBuZXcgUmVhZExpbWl0RW50aXR5Qm9keSgKICAgICAgICAgICAgJHRoaXMtPnRhcmdldCwKICAgICAgICAgICAgJHRoaXMtPm1ldGFbJ0NvbnRlbnRMZW5ndGgnXSwKICAgICAgICAgICAgJHRoaXMtPnRhcmdldC0+ZnRlbGwoKQogICAgICAgICk7CgogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Z2V0UmVtYWluaW5nKCk7CiAgICAgICAgJHRoaXMtPmNoZWNrSW50ZWdyaXR5KCk7CgogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQoKICAgIC8qKgogICAgICogU2VuZCB0aGUgY29tbWFuZCB0byBnZXQgdGhlIHJlbWFpbmRlciBvZiB0aGUgb2JqZWN0CiAgICAgKgogICAgICogQHJldHVybiBNb2RlbAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0UmVtYWluaW5nKCkKICAgIHsKICAgICAgICAkY3VycmVudCA9ICR0aGlzLT50YXJnZXQtPmZ0ZWxsKCk7CiAgICAgICAgJHRhcmdldEJ5dGUgPSAkdGhpcy0+bWV0YVsnQ29udGVudExlbmd0aCddIC0gMTsKICAgICAgICAkdGhpcy0+cGFyYW1zWydSYW5nZSddID0gImJ5dGVzPXskY3VycmVudH0teyR0YXJnZXRCeXRlfSI7CgogICAgICAgIC8vIFNldCB0aGUgc3RhcnRpbmcgb2Zmc2V0IHNvIHRoYXQgdGhlIGJvZHkgaXMgbmV2ZXIgc2Vla2VkIHRvIGJlZm9yZSB0aGlzIHBvaW50IGluIHRoZSBldmVudCBvZiBhIHJldHJ5CiAgICAgICAgJHRoaXMtPnBhcmFtc1snU2F2ZUFzJ10tPnNldE9mZnNldCgkY3VycmVudCk7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdHZXRPYmplY3QnLCAkdGhpcy0+cGFyYW1zKTsKCiAgICAgICAgcmV0dXJuICRjb21tYW5kLT5leGVjdXRlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBQZXJmb3JtcyBhbiBNRDUgbWVzc2FnZSBpbnRlZ3JpdHkgY2hlY2sgaWYgcG9zc2libGUKICAgICAqCiAgICAgKiBAdGhyb3dzIFVuZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlvbiBpZiB0aGUgbWVzc2FnZSBkb2VzIG5vdCB2YWxpZGF0ZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY2hlY2tJbnRlZ3JpdHkoKQogICAgewogICAgICAgIGlmICgkdGhpcy0+dGFyZ2V0LT5pc1JlYWRhYmxlKCkgJiYgJGV4cGVjdGVkID0gJHRoaXMtPm1ldGFbJ0NvbnRlbnRNRDUnXSkgewogICAgICAgICAgICAkYWN0dWFsID0gJHRoaXMtPnRhcmdldC0+Z2V0Q29udGVudE1kNSgpOwogICAgICAgICAgICBpZiAoJGFjdHVhbCAhPSAkZXhwZWN0ZWQpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBVbmV4cGVjdGVkVmFsdWVFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAgICAgIk1lc3NhZ2UgaW50ZWdyaXR5IGNoZWNrIGZhaWxlZC4gRXhwZWN0ZWQgeyRleHBlY3RlZH0gYnV0IGdvdCB7JGFjdHVhbH0uIgogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/S3Client.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzM7Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQ7CnVzZSBBd3NcQ29tbW9uXENsaWVudFxDbGllbnRCdWlsZGVyOwp1c2UgQXdzXENvbW1vblxDbGllbnRcRXhwaXJlZENyZWRlbnRpYWxzQ2hlY2tlcjsKdXNlIEF3c1xDb21tb25cQ2xpZW50XFVwbG9hZEJvZHlMaXN0ZW5lcjsKdXNlIEF3c1xDb21tb25cRW51bVxDbGllbnRPcHRpb25zIGFzIE9wdGlvbnM7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgQXdzXENvbW1vblxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RUcmFuc2ZlcjsKdXNlIEF3c1xTM1xFeGNlcHRpb25cQWNjZXNzRGVuaWVkRXhjZXB0aW9uOwp1c2UgQXdzXFMzXEV4Y2VwdGlvblxQYXJzZXJcUzNFeGNlcHRpb25QYXJzZXI7CnVzZSBBd3NcUzNcRXhjZXB0aW9uXFMzRXhjZXB0aW9uOwp1c2UgQXdzXFMzXE1vZGVsXENsZWFyQnVja2V0Owp1c2UgQXdzXFMzXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFRyYW5zZmVyIGFzIEFic3RyYWN0TXVsdGk7CnVzZSBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZEJ1aWxkZXI7CnVzZSBBd3NcUzNcU3luY1xEb3dubG9hZFN5bmNCdWlsZGVyOwp1c2UgQXdzXFMzXFN5bmNcVXBsb2FkU3luY0J1aWxkZXI7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEl0ZXJhdG9yXEZpbHRlckl0ZXJhdG9yOwp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEJhY2tvZmZQbHVnaW47CnVzZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmZcQ3VybEJhY2tvZmZTdHJhdGVneTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxFeHBvbmVudGlhbEJhY2tvZmZTdHJhdGVneTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxIdHRwQmFja29mZlN0cmF0ZWd5Owp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXFRydW5jYXRlZEJhY2tvZmZTdHJhdGVneTsKdXNlIEd1enpsZVxQbHVnaW5cTWQ1XENvbW1hbmRDb250ZW50TWQ1UGx1Z2luOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxGYWN0b3J5XEFsaWFzRmFjdG9yeTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcRmFjdG9yeVxDb21wb3NpdGVGYWN0b3J5Owp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlOwoKLyoqCiAqIENsaWVudCB0byBpbnRlcmFjdCB3aXRoIEFtYXpvbiBTaW1wbGUgU3RvcmFnZSBTZXJ2aWNlCiAqCiAqIEBtZXRob2QgXEF3c1xTM1xTM1NpZ25hdHVyZUludGVyZmFjZSBnZXRTaWduYXR1cmUoKQogKiBAbWV0aG9kIE1vZGVsIGFib3J0TXVsdGlwYXJ0VXBsb2FkKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIEFib3J0TXVsdGlwYXJ0VXBsb2FkfQogKiBAbWV0aG9kIE1vZGVsIGNvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkfQogKiBAbWV0aG9kIE1vZGVsIGNvcHlPYmplY3QoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUzMgQ29weU9iamVjdH0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVCdWNrZXQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUzMgQ3JlYXRlQnVja2V0fQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZU11bHRpcGFydFVwbG9hZChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTMyBDcmVhdGVNdWx0aXBhcnRVcGxvYWR9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlQnVja2V0KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIERlbGV0ZUJ1Y2tldH0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVCdWNrZXRDb3JzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIERlbGV0ZUJ1Y2tldENvcnN9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlQnVja2V0TGlmZWN5Y2xlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIERlbGV0ZUJ1Y2tldExpZmVjeWNsZX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVCdWNrZXRQb2xpY3koYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUzMgRGVsZXRlQnVja2V0UG9saWN5fQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUJ1Y2tldFRhZ2dpbmcoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUzMgRGVsZXRlQnVja2V0VGFnZ2luZ30KICogQG1ldGhvZCBNb2RlbCBkZWxldGVCdWNrZXRXZWJzaXRlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIERlbGV0ZUJ1Y2tldFdlYnNpdGV9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlT2JqZWN0KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIERlbGV0ZU9iamVjdH0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVPYmplY3RzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIERlbGV0ZU9iamVjdHN9CiAqIEBtZXRob2QgTW9kZWwgZ2V0QnVja2V0QWNsKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIEdldEJ1Y2tldEFjbH0KICogQG1ldGhvZCBNb2RlbCBnZXRCdWNrZXRDb3JzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIEdldEJ1Y2tldENvcnN9CiAqIEBtZXRob2QgTW9kZWwgZ2V0QnVja2V0TGlmZWN5Y2xlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIEdldEJ1Y2tldExpZmVjeWNsZX0KICogQG1ldGhvZCBNb2RlbCBnZXRCdWNrZXRMb2NhdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTMyBHZXRCdWNrZXRMb2NhdGlvbn0KICogQG1ldGhvZCBNb2RlbCBnZXRCdWNrZXRMb2dnaW5nKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIEdldEJ1Y2tldExvZ2dpbmd9CiAqIEBtZXRob2QgTW9kZWwgZ2V0QnVja2V0Tm90aWZpY2F0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIEdldEJ1Y2tldE5vdGlmaWNhdGlvbn0KICogQG1ldGhvZCBNb2RlbCBnZXRCdWNrZXRQb2xpY3koYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUzMgR2V0QnVja2V0UG9saWN5fQogKiBAbWV0aG9kIE1vZGVsIGdldEJ1Y2tldFJlcXVlc3RQYXltZW50KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIEdldEJ1Y2tldFJlcXVlc3RQYXltZW50fQogKiBAbWV0aG9kIE1vZGVsIGdldEJ1Y2tldFRhZ2dpbmcoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUzMgR2V0QnVja2V0VGFnZ2luZ30KICogQG1ldGhvZCBNb2RlbCBnZXRCdWNrZXRWZXJzaW9uaW5nKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIEdldEJ1Y2tldFZlcnNpb25pbmd9CiAqIEBtZXRob2QgTW9kZWwgZ2V0QnVja2V0V2Vic2l0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTMyBHZXRCdWNrZXRXZWJzaXRlfQogKiBAbWV0aG9kIE1vZGVsIGdldE9iamVjdChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTMyBHZXRPYmplY3R9CiAqIEBtZXRob2QgTW9kZWwgZ2V0T2JqZWN0QWNsKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIEdldE9iamVjdEFjbH0KICogQG1ldGhvZCBNb2RlbCBnZXRPYmplY3RUb3JyZW50KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIEdldE9iamVjdFRvcnJlbnR9CiAqIEBtZXRob2QgTW9kZWwgaGVhZEJ1Y2tldChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTMyBIZWFkQnVja2V0fQogKiBAbWV0aG9kIE1vZGVsIGhlYWRPYmplY3QoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUzMgSGVhZE9iamVjdH0KICogQG1ldGhvZCBNb2RlbCBsaXN0QnVja2V0cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTMyBMaXN0QnVja2V0c30KICogQG1ldGhvZCBNb2RlbCBsaXN0TXVsdGlwYXJ0VXBsb2FkcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTMyBMaXN0TXVsdGlwYXJ0VXBsb2Fkc30KICogQG1ldGhvZCBNb2RlbCBsaXN0T2JqZWN0VmVyc2lvbnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUzMgTGlzdE9iamVjdFZlcnNpb25zfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RPYmplY3RzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIExpc3RPYmplY3RzfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RQYXJ0cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTMyBMaXN0UGFydHN9CiAqIEBtZXRob2QgTW9kZWwgcHV0QnVja2V0QWNsKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIFB1dEJ1Y2tldEFjbH0KICogQG1ldGhvZCBNb2RlbCBwdXRCdWNrZXRDb3JzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIFB1dEJ1Y2tldENvcnN9CiAqIEBtZXRob2QgTW9kZWwgcHV0QnVja2V0TGlmZWN5Y2xlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIFB1dEJ1Y2tldExpZmVjeWNsZX0KICogQG1ldGhvZCBNb2RlbCBwdXRCdWNrZXRMb2dnaW5nKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIFB1dEJ1Y2tldExvZ2dpbmd9CiAqIEBtZXRob2QgTW9kZWwgcHV0QnVja2V0Tm90aWZpY2F0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIFB1dEJ1Y2tldE5vdGlmaWNhdGlvbn0KICogQG1ldGhvZCBNb2RlbCBwdXRCdWNrZXRQb2xpY3koYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUzMgUHV0QnVja2V0UG9saWN5fQogKiBAbWV0aG9kIE1vZGVsIHB1dEJ1Y2tldFJlcXVlc3RQYXltZW50KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50fQogKiBAbWV0aG9kIE1vZGVsIHB1dEJ1Y2tldFRhZ2dpbmcoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgUzMgUHV0QnVja2V0VGFnZ2luZ30KICogQG1ldGhvZCBNb2RlbCBwdXRCdWNrZXRWZXJzaW9uaW5nKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIFB1dEJ1Y2tldFZlcnNpb25pbmd9CiAqIEBtZXRob2QgTW9kZWwgcHV0QnVja2V0V2Vic2l0ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTMyBQdXRCdWNrZXRXZWJzaXRlfQogKiBAbWV0aG9kIE1vZGVsIHB1dE9iamVjdChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTMyBQdXRPYmplY3R9CiAqIEBtZXRob2QgTW9kZWwgcHV0T2JqZWN0QWNsKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIFB1dE9iamVjdEFjbH0KICogQG1ldGhvZCBNb2RlbCByZXN0b3JlT2JqZWN0KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIFJlc3RvcmVPYmplY3R9CiAqIEBtZXRob2QgTW9kZWwgdXBsb2FkUGFydChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTMyBVcGxvYWRQYXJ0fQogKiBAbWV0aG9kIE1vZGVsIHVwbG9hZFBhcnRDb3B5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFMzIFVwbG9hZFBhcnRDb3B5fQogKiBAbWV0aG9kIHdhaXRVbnRpbEJ1Y2tldEV4aXN0cyhhcnJheSAkaW5wdXQpIFdhaXQgdW50aWwgYSBidWNrZXQgZXhpc3RzLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgSGVhZEJ1Y2tldCBvcGVyYXRpb24gYW5kIHdhaXRlciBzcGVjaWZpYyBzZXR0aW5ncwogKiBAbWV0aG9kIHdhaXRVbnRpbEJ1Y2tldE5vdEV4aXN0cyhhcnJheSAkaW5wdXQpIFdhaXQgdW50aWwgYSBidWNrZXQgZG9lcyBub3QgZXhpc3QuIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBIZWFkQnVja2V0IG9wZXJhdGlvbiBhbmQgd2FpdGVyIHNwZWNpZmljIHNldHRpbmdzCiAqIEBtZXRob2Qgd2FpdFVudGlsT2JqZWN0RXhpc3RzKGFycmF5ICRpbnB1dCkgV2FpdCB1bnRpbCBhbiBvYmplY3QgZXhpc3RzLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgSGVhZE9iamVjdCBvcGVyYXRpb24gYW5kIHdhaXRlciBzcGVjaWZpYyBzZXR0aW5ncwogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdEJ1Y2tldHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0QnVja2V0cyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RNdWx0aXBhcnRVcGxvYWRzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdE11bHRpcGFydFVwbG9hZHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0T2JqZWN0c0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RPYmplY3RzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdE9iamVjdFZlcnNpb25zSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdE9iamVjdFZlcnNpb25zIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdFBhcnRzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdFBhcnRzIG9wZXJhdGlvbgogKgogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3Qvc2VydmljZS1zMy5odG1sIFVzZXIgZ3VpZGUKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5TMy5TM0NsaWVudC5odG1sIEFQSSBkb2NzCiAqLwpjbGFzcyBTM0NsaWVudCBleHRlbmRzIEFic3RyYWN0Q2xpZW50CnsKICAgIGNvbnN0IExBVEVTVF9BUElfVkVSU0lPTiA9ICcyMDA2LTAzLTAxJzsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgQWxpYXNlcyBmb3IgUzMgb3BlcmF0aW9ucwogICAgICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRjb21tYW5kQWxpYXNlcyA9IGFycmF5KAogICAgICAgIC8vIFJFU1QgQVBJIERvY3MgQWxpYXNlcwogICAgICAgICdHZXRTZXJ2aWNlJyA9PiAnTGlzdEJ1Y2tldHMnLAogICAgICAgICdHZXRCdWNrZXQnICA9PiAnTGlzdE9iamVjdHMnLAogICAgICAgICdQdXRCdWNrZXQnICA9PiAnQ3JlYXRlQnVja2V0JywKCiAgICAgICAgLy8gU0RLIDEueCBBbGlhc2VzCiAgICAgICAgJ0dldEJ1Y2tldEhlYWRlcnMnICAgICAgICAgICAgICA9PiAnSGVhZEJ1Y2tldCcsCiAgICAgICAgJ0dldE9iamVjdEhlYWRlcnMnICAgICAgICAgICAgICA9PiAnSGVhZE9iamVjdCcsCiAgICAgICAgJ1NldEJ1Y2tldEFjbCcgICAgICAgICAgICAgICAgICA9PiAnUHV0QnVja2V0QWNsJywKICAgICAgICAnQ3JlYXRlT2JqZWN0JyAgICAgICAgICAgICAgICAgID0+ICdQdXRPYmplY3QnLAogICAgICAgICdEZWxldGVPYmplY3RzJyAgICAgICAgICAgICAgICAgPT4gJ0RlbGV0ZU11bHRpcGxlT2JqZWN0cycsCiAgICAgICAgJ1B1dE9iamVjdENvcHknICAgICAgICAgICAgICAgICA9PiAnQ29weU9iamVjdCcsCiAgICAgICAgJ1NldE9iamVjdEFjbCcgICAgICAgICAgICAgICAgICA9PiAnUHV0T2JqZWN0QWNsJywKICAgICAgICAnR2V0TG9ncycgICAgICAgICAgICAgICAgICAgICAgID0+ICdHZXRCdWNrZXRMb2dnaW5nJywKICAgICAgICAnR2V0VmVyc2lvbmluZ1N0YXR1cycgICAgICAgICAgID0+ICdHZXRCdWNrZXRWZXJzaW9uaW5nJywKICAgICAgICAnU2V0QnVja2V0UG9saWN5JyAgICAgICAgICAgICAgID0+ICdQdXRCdWNrZXRQb2xpY3knLAogICAgICAgICdDcmVhdGVCdWNrZXROb3RpZmljYXRpb24nICAgICAgPT4gJ1B1dEJ1Y2tldE5vdGlmaWNhdGlvbicsCiAgICAgICAgJ0dldEJ1Y2tldE5vdGlmaWNhdGlvbnMnICAgICAgICA9PiAnR2V0QnVja2V0Tm90aWZpY2F0aW9uJywKICAgICAgICAnQ29weVBhcnQnICAgICAgICAgICAgICAgICAgICAgID0+ICdVcGxvYWRQYXJ0Q29weScsCiAgICAgICAgJ0NyZWF0ZVdlYnNpdGVDb25maWcnICAgICAgICAgICA9PiAnUHV0QnVja2V0V2Vic2l0ZScsCiAgICAgICAgJ0dldFdlYnNpdGVDb25maWcnICAgICAgICAgICAgICA9PiAnR2V0QnVja2V0V2Vic2l0ZScsCiAgICAgICAgJ0RlbGV0ZVdlYnNpdGVDb25maWcnICAgICAgICAgICA9PiAnRGVsZXRlQnVja2V0V2Vic2l0ZScsCiAgICAgICAgJ0NyZWF0ZU9iamVjdEV4cGlyYXRpb25Db25maWcnICA9PiAnUHV0QnVja2V0TGlmZWN5Y2xlJywKICAgICAgICAnR2V0T2JqZWN0RXhwaXJhdGlvbkNvbmZpZycgICAgID0+ICdHZXRCdWNrZXRMaWZlY3ljbGUnLAogICAgICAgICdEZWxldGVPYmplY3RFeHBpcmF0aW9uQ29uZmlnJyAgPT4gJ0RlbGV0ZUJ1Y2tldExpZmVjeWNsZScsCiAgICApOwoKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHJvdGVjdGVkICRkaXJlY3RvcnkgPSBfX0RJUl9fOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEFtYXpvbiBTMyBjbGllbnQgdXNpbmcgYW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBvcHRpb25zLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICRjb25maWcgQ2xpZW50IGNvbmZpZ3VyYXRpb24gZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQHNlZSBcQXdzXENvbW1vblxDbGllbnRcRGVmYXVsdENsaWVudCBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBjb25maWd1cmF0aW9uIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgICRleGNlcHRpb25QYXJzZXIgPSBuZXcgUzNFeGNlcHRpb25QYXJzZXIoKTsKCiAgICAgICAgLy8gQ29uZmlndXJlIHRoZSBjdXN0b20gZXhwb25lbnRpYWwgYmFja29mZiBwbHVnaW4gZm9yIHJldHJ5aW5nIFMzIHNwZWNpZmljIGVycm9ycwogICAgICAgIGlmICghaXNzZXQoJGNvbmZpZ1tPcHRpb25zOjpCQUNLT0ZGXSkpIHsKICAgICAgICAgICAgJGNvbmZpZ1tPcHRpb25zOjpCQUNLT0ZGXSA9IG5ldyBCYWNrb2ZmUGx1Z2luKAogICAgICAgICAgICAgICAgbmV3IFRydW5jYXRlZEJhY2tvZmZTdHJhdGVneSgzLAogICAgICAgICAgICAgICAgICAgIG5ldyBIdHRwQmFja29mZlN0cmF0ZWd5KG51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBTb2NrZXRUaW1lb3V0Q2hlY2tlcigKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBDdXJsQmFja29mZlN0cmF0ZWd5KG51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEV4cGlyZWRDcmVkZW50aWFsc0NoZWNrZXIoJGV4Y2VwdGlvblBhcnNlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEV4cG9uZW50aWFsQmFja29mZlN0cmF0ZWd5KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAkY2xpZW50ID0gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6U0lHTkFUVVJFID0+IG5ldyBTM1NpZ25hdHVyZSgpLAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9zMy0lcy5waHAnCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+c2V0RXhjZXB0aW9uUGFyc2VyKCRleGNlcHRpb25QYXJzZXIpCiAgICAgICAgICAgIC0+c2V0SXRlcmF0b3JzQ29uZmlnKGFycmF5KAogICAgICAgICAgICAgICAgJ21vcmVfa2V5JyA9PiAnSXNUcnVuY2F0ZWQnLAogICAgICAgICAgICAgICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdMaXN0QnVja2V0cycsCiAgICAgICAgICAgICAgICAgICAgJ0xpc3RNdWx0aXBhcnRVcGxvYWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2xpbWl0X3BhcmFtJyA9PiAnTWF4VXBsb2FkcycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gYXJyYXkoJ0tleU1hcmtlcicsICdVcGxvYWRJZE1hcmtlcicpLAogICAgICAgICAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyAgID0+IGFycmF5KCdOZXh0S2V5TWFya2VyJywgJ05leHRVcGxvYWRJZE1hcmtlcicpLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ0xpc3RPYmplY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2xpbWl0X3BhcmFtJyA9PiAnTWF4S2V5cycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0b2tlbl9rZXknICAgPT4gJ05leHRNYXJrZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ0xpc3RPYmplY3RWZXJzaW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdsaW1pdF9wYXJhbScgPT4gJ01heEtleXMnLAogICAgICAgICAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+IGFycmF5KCdLZXlNYXJrZXInLCAnVmVyc2lvbklkTWFya2VyJyksCiAgICAgICAgICAgICAgICAgICAgICAgICd0b2tlbl9rZXknICAgPT4gYXJyYXkoJ25leHRLZXlNYXJrZXInLCAnbmV4dFZlcnNpb25JZE1hcmtlcicpLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ0xpc3RQYXJ0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdsaW1pdF9wYXJhbScgPT4gJ01heFBhcnRzJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknICA9PiAnUGFydHMnLAogICAgICAgICAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdQYXJ0TnVtYmVyTWFya2VyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgICA9PiAnTmV4dFBhcnROdW1iZXJNYXJrZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKCiAgICAgICAgLy8gVXNlIHZpcnR1YWwgaG9zdGVkIGJ1Y2tldHMgd2hlbiBwb3NzaWJsZQogICAgICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIobmV3IEJ1Y2tldFN0eWxlTGlzdGVuZXIoKSk7CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IEFDUCBoZWFkZXJzIGFyZSBhcHBsaWVkIHdoZW4gbmVlZGVkCiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgQWNwTGlzdGVuZXIoKSk7CgogICAgICAgIC8vIFZhbGlkYXRlIGFuZCBhZGQgQ29udGVudC1NRDUgaGFzaGVzCiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgQ29tbWFuZENvbnRlbnRNZDVQbHVnaW4oKSk7CgogICAgICAgIC8vIEFsbG93IGZvciBzcGVjaWZ5aW5nIGJvZGllcyB3aXRoIGZpbGUgcGF0aHMgYW5kIGZpbGUgaGFuZGxlcwogICAgICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIobmV3IFVwbG9hZEJvZHlMaXN0ZW5lcihhcnJheSgnUHV0T2JqZWN0JywgJ1VwbG9hZFBhcnQnKSkpOwoKICAgICAgICAvLyBBZGQgYWxpYXNlcyBmb3Igc29tZSBTMyBvcGVyYXRpb25zCiAgICAgICAgJGRlZmF1bHQgPSBDb21wb3NpdGVGYWN0b3J5OjpnZXREZWZhdWx0Q2hhaW4oJGNsaWVudCk7CiAgICAgICAgJGRlZmF1bHQtPmFkZCgKICAgICAgICAgICAgbmV3IEFsaWFzRmFjdG9yeSgkY2xpZW50LCBzZWxmOjokY29tbWFuZEFsaWFzZXMpLAogICAgICAgICAgICAnR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxGYWN0b3J5XFNlcnZpY2VEZXNjcmlwdGlvbkZhY3RvcnknCiAgICAgICAgKTsKICAgICAgICAkY2xpZW50LT5zZXRDb21tYW5kRmFjdG9yeSgkZGVmYXVsdCk7CgogICAgICAgIHJldHVybiAkY2xpZW50OwogICAgfQoKICAgIC8qKgogICAgICogRGV0ZXJtaW5lIGlmIGEgc3RyaW5nIGlzIGEgdmFsaWQgbmFtZSBmb3IgYSBETlMgY29tcGF0aWJsZSBBbWF6b24gUzMKICAgICAqIGJ1Y2tldCwgbWVhbmluZyB0aGUgYnVja2V0IGNhbiBiZSB1c2VkIGFzIGEgc3ViZG9tYWluIGluIGEgVVJMIChlLmcuLAogICAgICogIjxidWNrZXQ+LnMzLmFtYXpvbmF3cy5jb20iKS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidWNrZXQgVGhlIG5hbWUgb2YgdGhlIGJ1Y2tldCB0byBjaGVjay4KICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wgVFJVRSBpZiB0aGUgYnVja2V0IG5hbWUgaXMgdmFsaWQgb3IgRkFMU0UgaWYgaXQgaXMgaW52YWxpZC4KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpc1ZhbGlkQnVja2V0TmFtZSgkYnVja2V0KQogICAgewogICAgICAgICRidWNrZXRMZW4gPSBzdHJsZW4oJGJ1Y2tldCk7CiAgICAgICAgaWYgKCRidWNrZXRMZW4gPCAzIHx8ICRidWNrZXRMZW4gPiA2MyB8fAogICAgICAgICAgICAvLyBDYW5ub3Qgc3RhcnQgb3IgZW5kIHdpdGggYSAnLicKICAgICAgICAgICAgJGJ1Y2tldFswXSA9PSAnLicgfHwgJGJ1Y2tldFskYnVja2V0TGVuIC0gMV0gPT0gJy4nIHx8CiAgICAgICAgICAgIC8vIENhbm5vdCBsb29rIGxpa2UgYW4gSVAgYWRkcmVzcwogICAgICAgICAgICBwcmVnX21hdGNoKCcvKFxkK1wuKXszfVxkKyQvJywgJGJ1Y2tldCkgfHwKICAgICAgICAgICAgLy8gQ2Fubm90IGluY2x1ZGUgc3BlY2lhbCBjaGFyYWN0ZXJzLCBtdXN0IHN0YXJ0IGFuZCBlbmQgd2l0aCBsb3dlciBhbG51bQogICAgICAgICAgICAhcHJlZ19tYXRjaCgnL15bYS16MC05XVthLXowLTlcLVwuXSpbYS16MC05XT8kLycsICRidWNrZXQpCiAgICAgICAgKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgcHJlLXNpZ25lZCBVUkwgZm9yIGEgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICAgICAkcmVxdWVzdCBSZXF1ZXN0IHRvIGdlbmVyYXRlIHRoZSBVUkwgZm9yLiBVc2UgdGhlIGZhY3RvcnkgbWV0aG9kcyBvZiB0aGUgY2xpZW50IHRvCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIHRoaXMgcmVxdWVzdCBvYmplY3QKICAgICAqIEBwYXJhbSBpbnR8c3RyaW5nfFxEYXRlVGltZSAkZXhwaXJlcyBUaGUgdGltZSBhdCB3aGljaCB0aGUgVVJMIHNob3VsZCBleHBpcmUuIFRoaXMgY2FuIGJlIGEgVW5peCB0aW1lc3RhbXAsIGEKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQSFAgRGF0ZVRpbWUgb2JqZWN0LCBvciBhIHN0cmluZyB0aGF0IGNhbiBiZSBldmFsdWF0ZWQgYnkgc3RydG90aW1lCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGlmIHRoZSByZXF1ZXN0IGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggdGhpcyBjbGllbnQgb2JqZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGVQcmVzaWduZWRVcmwoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgJGV4cGlyZXMpCiAgICB7CiAgICAgICAgaWYgKCRyZXF1ZXN0LT5nZXRDbGllbnQoKSAhPT0gJHRoaXMpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignVGhlIHJlcXVlc3Qgb2JqZWN0IG11c3QgYmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGllbnQuIFVzZSB0aGUgJwogICAgICAgICAgICAgICAgLiAnJGNsaWVudC0+Z2V0KCksICRjbGllbnQtPmhlYWQoKSwgJGNsaWVudC0+cG9zdCgpLCAkY2xpZW50LT5wdXQoKSwgZXRjLiBtZXRob2RzIHdoZW4gcGFzc2luZyBpbiBhICcKICAgICAgICAgICAgICAgIC4gJ3JlcXVlc3Qgb2JqZWN0Jyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJGV4cGlyZXMgaW5zdGFuY2VvZiBcRGF0ZVRpbWUpIHsKICAgICAgICAgICAgJGV4cGlyZXMgPSAkZXhwaXJlcy0+Z2V0VGltZXN0YW1wKCk7CiAgICAgICAgfSBlbHNlaWYgKCFpc19udW1lcmljKCRleHBpcmVzKSkgewogICAgICAgICAgICAkZXhwaXJlcyA9IHN0cnRvdGltZSgkZXhwaXJlcyk7CiAgICAgICAgfQoKICAgICAgICAvLyBPcGVyYXRlIG9uIGEgY2xvbmUgb2YgdGhlIHJlcXVlc3QsIHNvIHRoZSBvcmlnaW5hbCBpcyBub3QgYWx0ZXJlZAogICAgICAgICRyZXF1ZXN0ID0gY2xvbmUgJHJlcXVlc3Q7CgogICAgICAgIC8vIFVSTCBlbmNvZGluZyBhbHJlYWR5IG9jY3VycyBpbiB0aGUgVVJJIHRlbXBsYXRlIGV4cGFuc2lvbi4gVW5kbyB0aGF0IGFuZCBlbmNvZGUgdXNpbmcgdGhlIHNhbWUgZW5jb2RpbmcgYXMKICAgICAgICAvLyBHRVQgb2JqZWN0LCBQVVQgb2JqZWN0LCBldGMuCiAgICAgICAgJHBhdGggPSAkdGhpcy0+ZW5jb2RlS2V5KHJhd3VybGRlY29kZSgkcmVxdWVzdC0+Z2V0UGF0aCgpKSk7CiAgICAgICAgJHJlcXVlc3QtPnNldFBhdGgoJHBhdGgpOwoKICAgICAgICAvLyBNYWtlIHN1cmUgdG8gaGFuZGxlIHRlbXBvcmFyeSBjcmVkZW50aWFscwogICAgICAgIGlmICgkdG9rZW4gPSAkdGhpcy0+Y3JlZGVudGlhbHMtPmdldFNlY3VyaXR5VG9rZW4oKSkgewogICAgICAgICAgICAkcmVxdWVzdC0+c2V0SGVhZGVyKCd4LWFtei1zZWN1cml0eS10b2tlbicsICR0b2tlbik7CiAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRRdWVyeSgpLT5zZXQoJ3gtYW16LXNlY3VyaXR5LXRva2VuJywgJHRva2VuKTsKICAgICAgICB9CgogICAgICAgIC8vIFNldCBxdWVyeSBwYXJhbXMgcmVxdWlyZWQgZm9yIHByZS1zaWduZWQgVVJMcwogICAgICAgICRyZXF1ZXN0LT5nZXRRdWVyeSgpCiAgICAgICAgICAgIC0+c2V0KCdBV1NBY2Nlc3NLZXlJZCcsICR0aGlzLT5jcmVkZW50aWFscy0+Z2V0QWNjZXNzS2V5SWQoKSkKICAgICAgICAgICAgLT5zZXQoJ0V4cGlyZXMnLCAkZXhwaXJlcykKICAgICAgICAgICAgLT5zZXQoJ1NpZ25hdHVyZScsICR0aGlzLT5zaWduYXR1cmUtPnNpZ25TdHJpbmcoCiAgICAgICAgICAgICAgICAkdGhpcy0+c2lnbmF0dXJlLT5jcmVhdGVDYW5vbmljYWxpemVkU3RyaW5nKCRyZXF1ZXN0LCAkZXhwaXJlcyksCiAgICAgICAgICAgICAgICAkdGhpcy0+Y3JlZGVudGlhbHMKICAgICAgICAgICAgKSk7CgogICAgICAgIHJldHVybiAkcmVxdWVzdC0+Z2V0VXJsKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBVUkwgdG8gYW4gb2JqZWN0IGlkZW50aWZpZWQgYnkgaXRzIGJ1Y2tldCBhbmQga2V5LiBJZiBhbiBleHBpcmF0aW9uIHRpbWUgaXMgcHJvdmlkZWQsIHRoZSBVUkwgd2lsbAogICAgICogYmUgc2lnbmVkIGFuZCBzZXQgdG8gZXhwaXJlIGF0IHRoZSBwcm92aWRlZCB0aW1lLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1Y2tldCAgVGhlIG5hbWUgb2YgdGhlIGJ1Y2tldCB3aGVyZSB0aGUgb2JqZWN0IGlzIGxvY2F0ZWQKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSAgICAgVGhlIGtleSBvZiB0aGUgb2JqZWN0CiAgICAgKiBAcGFyYW0gbWl4ZWQgICRleHBpcmVzIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSBVUkwgc2hvdWxkIGV4cGlyZQogICAgICogQHBhcmFtIGFycmF5ICAkYXJncyAgICBBcmd1bWVudHMgdG8gdGhlIEdldE9iamVjdCBjb21tYW5kLiBBZGRpdGlvbmFsbHkgeW91IGNhbiBzcGVjaWZ5IGEgIlNjaGVtZSIgaWYgeW91IHdvdWxkCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UgdGhlIFVSTCB0byB1c2UgYSBkaWZmZXJlbnQgc2NoZW1lIHRoYW4gd2hhdCB0aGUgY2xpZW50IGlzIGNvbmZpZ3VyZWQgdG8gdXNlCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgVGhlIFVSTCB0byB0aGUgb2JqZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRPYmplY3RVcmwoJGJ1Y2tldCwgJGtleSwgJGV4cGlyZXMgPSBudWxsLCBhcnJheSAkYXJncyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0Q29tbWFuZCgnR2V0T2JqZWN0JywgJGFyZ3MgKyBhcnJheSgnQnVja2V0JyA9PiAkYnVja2V0LCAnS2V5JyA9PiAka2V5KSk7CgogICAgICAgIGlmICgkY29tbWFuZC0+aGFzS2V5KCdTY2hlbWUnKSkgewogICAgICAgICAgICAkc2NoZW1lID0gJGNvbW1hbmRbJ1NjaGVtZSddOwogICAgICAgICAgICAkcmVxdWVzdCA9ICRjb21tYW5kLT5yZW1vdmUoJ1NjaGVtZScpLT5wcmVwYXJlKCktPnNldFNjaGVtZSgkc2NoZW1lKS0+c2V0UG9ydChudWxsKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkcmVxdWVzdCA9ICRjb21tYW5kLT5wcmVwYXJlKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGV4cGlyZXMgPyAkdGhpcy0+Y3JlYXRlUHJlc2lnbmVkVXJsKCRyZXF1ZXN0LCAkZXhwaXJlcykgOiAkcmVxdWVzdC0+Z2V0VXJsKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBIZWxwZXIgdXNlZCB0byBjbGVhciB0aGUgY29udGVudHMgb2YgYSBidWNrZXQuIFVzZSB0aGUge0BzZWUgQ2xlYXJCdWNrZXR9IG9iamVjdCBkaXJlY3RseQogICAgICogZm9yIG1vcmUgYWR2YW5jZWQgb3B0aW9ucyBhbmQgY29udHJvbC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidWNrZXQgTmFtZSBvZiB0aGUgYnVja2V0IHRvIGNsZWFyLgogICAgICoKICAgICAqIEByZXR1cm4gaW50IFJldHVybnMgdGhlIG51bWJlciBvZiBkZWxldGVkIGtleXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNsZWFyQnVja2V0KCRidWNrZXQpCiAgICB7CiAgICAgICAgJGNsZWFyID0gbmV3IENsZWFyQnVja2V0KCR0aGlzLCAkYnVja2V0KTsKCiAgICAgICAgcmV0dXJuICRjbGVhci0+Y2xlYXIoKTsKICAgIH0KCiAgICAvKioKICAgICAqIERldGVybWluZXMgd2hldGhlciBvciBub3QgYSBidWNrZXQgZXhpc3RzIGJ5IG5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidWNrZXQgICAgVGhlIG5hbWUgb2YgdGhlIGJ1Y2tldAogICAgICogQHBhcmFtIGJvb2wgICAkYWNjZXB0NDAzIFNldCB0byB0cnVlIGlmIDQwM3MgYXJlIGFjY2VwdGFibGUKICAgICAqIEBwYXJhbSBhcnJheSAgJG9wdGlvbnMgICBBZGRpdGlvbmFsIG9wdGlvbnMgdG8gYWRkIHRvIHRoZSBleGVjdXRlZCBjb21tYW5kCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBkb2VzQnVja2V0RXhpc3QoJGJ1Y2tldCwgJGFjY2VwdDQwMyA9IHRydWUsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNoZWNrRXhpc3RlbmNlV2l0aENvbW1hbmQoCiAgICAgICAgICAgICR0aGlzLT5nZXRDb21tYW5kKCdIZWFkQnVja2V0JywgYXJyYXlfbWVyZ2UoJG9wdGlvbnMsIGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJGJ1Y2tldAogICAgICAgICAgICApKSksICRhY2NlcHQ0MDMKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCBhbiBvYmplY3QgZXhpc3RzIGJ5IG5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidWNrZXQgIFRoZSBuYW1lIG9mIHRoZSBidWNrZXQKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSAgICAgVGhlIGtleSBvZiB0aGUgb2JqZWN0CiAgICAgKiBAcGFyYW0gYXJyYXkgICRvcHRpb25zIEFkZGl0aW9uYWwgb3B0aW9ucyB0byBhZGQgdG8gdGhlIGV4ZWN1dGVkIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRvZXNPYmplY3RFeGlzdCgkYnVja2V0LCAka2V5LCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jaGVja0V4aXN0ZW5jZVdpdGhDb21tYW5kKAogICAgICAgICAgICAkdGhpcy0+Z2V0Q29tbWFuZCgnSGVhZE9iamVjdCcsIGFycmF5X21lcmdlKCRvcHRpb25zLCBhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+ICRidWNrZXQsCiAgICAgICAgICAgICAgICAnS2V5JyAgICA9PiAka2V5CiAgICAgICAgICAgICkpKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IGEgYnVja2V0IHBvbGljeSBleGlzdHMgZm9yIGEgYnVja2V0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkYnVja2V0ICBUaGUgbmFtZSBvZiB0aGUgYnVja2V0CiAgICAgKiBAcGFyYW0gYXJyYXkgICRvcHRpb25zIEFkZGl0aW9uYWwgb3B0aW9ucyB0byBhZGQgdG8gdGhlIGV4ZWN1dGVkIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRvZXNCdWNrZXRQb2xpY3lFeGlzdCgkYnVja2V0LCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jaGVja0V4aXN0ZW5jZVdpdGhDb21tYW5kKAogICAgICAgICAgICAkdGhpcy0+Z2V0Q29tbWFuZCgnR2V0QnVja2V0UG9saWN5JywgYXJyYXlfbWVyZ2UoJG9wdGlvbnMsIGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJGJ1Y2tldAogICAgICAgICAgICApKSkKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogUmF3IFVSTCBlbmNvZGUgYSBrZXkgYW5kIGFsbG93IGZvciAnLycgY2hhcmFjdGVycwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSBLZXkgdG8gZW5jb2RlCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgUmV0dXJucyB0aGUgZW5jb2RlZCBrZXkKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBlbmNvZGVLZXkoJGtleSkKICAgIHsKICAgICAgICByZXR1cm4gc3RyX3JlcGxhY2UoJyUyRicsICcvJywgcmF3dXJsZW5jb2RlKCRrZXkpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEV4cGxvZGUgYSBwcmVmaXhlZCBrZXkgaW50byBhbiBhcnJheSBvZiB2YWx1ZXMKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgS2V5IHRvIGV4cGxvZGUKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IFJldHVybnMgdGhlIGV4cGxvZGVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZXhwbG9kZUtleSgka2V5KQogICAgewogICAgICAgIC8vIFJlbW92ZSBhIGxlYWRpbmcgc2xhc2ggaWYgb25lIGlzIGZvdW5kCiAgICAgICAgcmV0dXJuIGV4cGxvZGUoJy8nLCAka2V5ICYmICRrZXlbMF0gPT0gJy8nID8gc3Vic3RyKCRrZXksIDEpIDogJGtleSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZWdpc3RlciB0aGUgQW1hem9uIFMzIHN0cmVhbSB3cmFwcGVyIGFuZCBhc3NvY2lhdGVzIGl0IHdpdGggdGhpcyBjbGllbnQgb2JqZWN0CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZWdpc3RlclN0cmVhbVdyYXBwZXIoKQogICAgewogICAgICAgIFN0cmVhbVdyYXBwZXI6OnJlZ2lzdGVyKCR0aGlzKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogVXBsb2FkIGEgZmlsZSwgc3RyZWFtLCBvciBzdHJpbmcgdG8gYSBidWNrZXQuIElmIHRoZSB1cGxvYWQgc2l6ZSBleGNlZWRzIHRoZSBzcGVjaWZpZWQgdGhyZXNob2xkLCB0aGUgdXBsb2FkCiAgICAgKiB3aWxsIGJlIHBlcmZvcm1lZCB1c2luZyBwYXJhbGxlbCBtdWx0aXBhcnQgdXBsb2Fkcy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidWNrZXQgIEJ1Y2tldCB0byB1cGxvYWQgdGhlIG9iamVjdAogICAgICogQHBhcmFtIHN0cmluZyAka2V5ICAgICBLZXkgb2YgdGhlIG9iamVjdAogICAgICogQHBhcmFtIG1peGVkICAkYm9keSAgICBPYmplY3QgZGF0YSB0byB1cGxvYWQuIENhbiBiZSBhIEd1enpsZVxIdHRwXEVudGl0eUJvZHlJbnRlcmZhY2UsIHN0cmVhbSByZXNvdXJjZSwgb3IKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nIG9mIGRhdGEgdG8gdXBsb2FkLgogICAgICogQHBhcmFtIHN0cmluZyAkYWNsICAgICBBQ0wgdG8gYXBwbHkgdG8gdGhlIG9iamVjdAogICAgICogQHBhcmFtIGFycmF5ICAkb3B0aW9ucyBDdXN0b20gb3B0aW9ucyB1c2VkIHdoZW4gZXhlY3V0aW5nIGNvbW1hbmRzOgogICAgICogICAgIC0gcGFyYW1zOiBDdXN0b20gcGFyYW1ldGVycyB0byB1c2Ugd2l0aCB0aGUgdXBsb2FkLiBUaGUgcGFyYW1ldGVycyBtdXN0IG1hcCB0byBhIFB1dE9iamVjdAogICAgICogICAgICAgb3IgSW5pdGlhdGVNdWx0aXBhcnRVcGxvYWQgb3BlcmF0aW9uIHBhcmFtZXRlcnMuCiAgICAgKiAgICAgLSBtaW5fcGFydF9zaXplOiBNaW5pbXVtIHNpemUgdG8gYWxsb3cgZm9yIGVhY2ggdXBsb2FkZWQgcGFydCB3aGVuIHBlcmZvcm1pbmcgYSBtdWx0aXBhcnQgdXBsb2FkLgogICAgICogICAgIC0gY29uY3VycmVuY3k6IE1heGltdW0gbnVtYmVyIG9mIGNvbmN1cnJlbnQgbXVsdGlwYXJ0IHVwbG9hZHMuCiAgICAgKiAgICAgLSBiZWZvcmVfdXBsb2FkOiBDYWxsYmFjayB0byBpbnZva2UgYmVmb3JlIGVhY2ggbXVsdGlwYXJ0IHVwbG9hZC4gVGhlIGNhbGxiYWNrIHdpbGwgcmVjZWl2ZSBhCiAgICAgKiAgICAgICBHdXp6bGVcQ29tbW9uXEV2ZW50IG9iamVjdCB3aXRoIGNvbnRleHQuCiAgICAgKgogICAgICogQHNlZSBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZEJ1aWxkZXIgZm9yIG1vcmUgb3B0aW9ucyBhbmQgY3VzdG9taXphdGlvbgogICAgICogQHJldHVybiBcR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWwgUmV0dXJucyB0aGUgbW9kZWxlZCByZXN1bHQgb2YgdGhlIHBlcmZvcm1lZCBvcGVyYXRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVwbG9hZCgkYnVja2V0LCAka2V5LCAkYm9keSwgJGFjbCA9ICdwcml2YXRlJywgYXJyYXkgJG9wdGlvbnMgPSBhcnJheSgpKQogICAgewogICAgICAgICRib2R5ID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgkYm9keSk7CiAgICAgICAgJG9wdGlvbnMgPSBDb2xsZWN0aW9uOjpmcm9tQ29uZmlnKGFycmF5X2NoYW5nZV9rZXlfY2FzZSgkb3B0aW9ucyksIGFycmF5KAogICAgICAgICAgICAnbWluX3BhcnRfc2l6ZScgPT4gQWJzdHJhY3RNdWx0aTo6TUlOX1BBUlRfU0laRSwKICAgICAgICAgICAgJ3BhcmFtcycgICAgICAgID0+IGFycmF5KCksCiAgICAgICAgICAgICdjb25jdXJyZW5jeScgICA9PiAkYm9keS0+Z2V0V3JhcHBlcigpID09ICdwbGFpbmZpbGUnID8gMyA6IDEKICAgICAgICApKTsKCiAgICAgICAgaWYgKCRib2R5LT5nZXRTaXplKCkgPCAkb3B0aW9uc1snbWluX3BhcnRfc2l6ZSddKSB7CiAgICAgICAgICAgIC8vIFBlcmZvcm0gYSBzaW1wbGUgUHV0T2JqZWN0IG9wZXJhdGlvbgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnB1dE9iamVjdChhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+ICRidWNrZXQsCiAgICAgICAgICAgICAgICAnS2V5JyAgICA9PiAka2V5LAogICAgICAgICAgICAgICAgJ0JvZHknICAgPT4gJGJvZHksCiAgICAgICAgICAgICAgICAnQUNMJyAgICA9PiAkYWNsCiAgICAgICAgICAgICkgKyAkb3B0aW9uc1sncGFyYW1zJ10pOwogICAgICAgIH0KCiAgICAgICAgLy8gUGVyZm9ybSBhIG11bHRpcGFydCB1cGxvYWQgaWYgdGhlIGZpbGUgaXMgbGFyZ2UgZW5vdWdoCiAgICAgICAgJHRyYW5zZmVyID0gVXBsb2FkQnVpbGRlcjo6bmV3SW5zdGFuY2UoKQogICAgICAgICAgICAtPnNldEJ1Y2tldCgkYnVja2V0KQogICAgICAgICAgICAtPnNldEtleSgka2V5KQogICAgICAgICAgICAtPnNldE1pblBhcnRTaXplKCRvcHRpb25zWydtaW5fcGFydF9zaXplJ10pCiAgICAgICAgICAgIC0+c2V0Q29uY3VycmVuY3koJG9wdGlvbnNbJ2NvbmN1cnJlbmN5J10pCiAgICAgICAgICAgIC0+c2V0Q2xpZW50KCR0aGlzKQogICAgICAgICAgICAtPnNldFNvdXJjZSgkYm9keSkKICAgICAgICAgICAgLT5zZXRUcmFuc2Zlck9wdGlvbnMoJG9wdGlvbnMtPnRvQXJyYXkoKSkKICAgICAgICAgICAgLT5hZGRPcHRpb25zKCRvcHRpb25zWydwYXJhbXMnXSkKICAgICAgICAgICAgLT5zZXRPcHRpb24oJ0FDTCcsICRhY2wpCiAgICAgICAgICAgIC0+YnVpbGQoKQogICAgICAgICAgICAtPnVwbG9hZCgpOwoKICAgICAgICBpZiAoJG9wdGlvbnNbJ2JlZm9yZV91cGxvYWQnXSkgewogICAgICAgICAgICAkdHJhbnNmZXItPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcigKICAgICAgICAgICAgICAgIEFic3RyYWN0VHJhbnNmZXI6OkJFRk9SRV9QQVJUX1VQTE9BRCwKICAgICAgICAgICAgICAgICRvcHRpb25zWydiZWZvcmVfdXBsb2FkJ10KICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdHJhbnNmZXI7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZWN1cnNpdmVseSB1cGxvYWRzIGFsbCBmaWxlcyBpbiBhIGdpdmVuIGRpcmVjdG9yeSB0byBhIGdpdmVuIGJ1Y2tldC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkaXJlY3RvcnkgRnVsbCBwYXRoIHRvIGEgZGlyZWN0b3J5IHRvIHVwbG9hZAogICAgICogQHBhcmFtIHN0cmluZyAkYnVja2V0ICAgIE5hbWUgb2YgdGhlIGJ1Y2tldAogICAgICogQHBhcmFtIHN0cmluZyAka2V5UHJlZml4IFZpcnR1YWwgZGlyZWN0b3J5IGtleSBwcmVmaXggdG8gYWRkIHRvIGVhY2ggdXBsb2FkCiAgICAgKiBAcGFyYW0gYXJyYXkgICRvcHRpb25zICAgQXNzb2NpYXRpdmUgYXJyYXkgb2YgdXBsb2FkIG9wdGlvbnMKICAgICAqICAgICAtIHBhcmFtczogQXJyYXkgb2YgcGFyYW1ldGVycyB0byB1c2Ugd2l0aCBlYWNoIFB1dE9iamVjdCBvcGVyYXRpb24gcGVyZm9ybWVkIGR1cmluZyB0aGUgdHJhbnNmZXIKICAgICAqICAgICAtIGJhc2VfZGlyOiBCYXNlIGRpcmVjdG9yeSB0byByZW1vdmUgZnJvbSBlYWNoIG9iamVjdCBrZXkKICAgICAqICAgICAtIGZvcmNlOiBTZXQgdG8gdHJ1ZSB0byB1cGxvYWQgZXZlcnkgZmlsZSwgZXZlbiBpZiB0aGUgZmlsZSBpcyBhbHJlYWR5IGluIEFtYXpvbiBTMyBhbmQgaGFzIG5vdCBjaGFuZ2VkCiAgICAgKiAgICAgLSBjb25jdXJyZW5jeTogTWF4aW11bSBudW1iZXIgb2YgcGFyYWxsZWwgdXBsb2FkcyAoZGVmYXVsdHMgdG8gMTApCiAgICAgKiAgICAgLSBkZWJ1ZzogU2V0IHRvIHRydWUgb3IgYW4gZm9wZW4gcmVzb3VyY2UgdG8gZW5hYmxlIGRlYnVnIG1vZGUgdG8gcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZWFjaCB1cGxvYWQKICAgICAqICAgICAtIG11bHRpcGFydF91cGxvYWRfc2l6ZTogV2hlbiB0aGUgc2l6ZSBvZiBhIGZpbGUgZXhjZWVkcyB0aGlzIHZhbHVlLCB0aGUgZmlsZSB3aWxsIGJlIHVwbG9hZGVkIHVzaW5nIGEKICAgICAqICAgICAgIG11bHRpcGFydCB1cGxvYWQuCiAgICAgKgogICAgICogQHNlZSBBd3NcUzNcUzNTeW5jXFMzU3luYyBmb3IgbW9yZSBvcHRpb25zIGFuZCBjdXN0b21pemF0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1cGxvYWREaXJlY3RvcnkoJGRpcmVjdG9yeSwgJGJ1Y2tldCwgJGtleVByZWZpeCA9IG51bGwsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkb3B0aW9ucyA9IENvbGxlY3Rpb246OmZyb21Db25maWcoJG9wdGlvbnMsIGFycmF5KCdiYXNlX2RpcicgPT4gJGRpcmVjdG9yeSkpOwogICAgICAgICRidWlsZGVyID0gJG9wdGlvbnNbJ2J1aWxkZXInXSA/OiBVcGxvYWRTeW5jQnVpbGRlcjo6Z2V0SW5zdGFuY2UoKTsKICAgICAgICAkYnVpbGRlci0+dXBsb2FkRnJvbURpcmVjdG9yeSgkZGlyZWN0b3J5KQogICAgICAgICAgICAtPnNldENsaWVudCgkdGhpcykKICAgICAgICAgICAgLT5zZXRCdWNrZXQoJGJ1Y2tldCkKICAgICAgICAgICAgLT5zZXRLZXlQcmVmaXgoJGtleVByZWZpeCkKICAgICAgICAgICAgLT5zZXRDb25jdXJyZW5jeSgkb3B0aW9uc1snY29uY3VycmVuY3knXSA/OiA1KQogICAgICAgICAgICAtPnNldEJhc2VEaXIoJG9wdGlvbnNbJ2Jhc2VfZGlyJ10pCiAgICAgICAgICAgIC0+Zm9yY2UoJG9wdGlvbnNbJ2ZvcmNlJ10pCiAgICAgICAgICAgIC0+c2V0T3BlcmF0aW9uUGFyYW1zKCRvcHRpb25zWydwYXJhbXMnXSA/OiBhcnJheSgpKQogICAgICAgICAgICAtPmVuYWJsZURlYnVnT3V0cHV0KCRvcHRpb25zWydkZWJ1ZyddKTsKCiAgICAgICAgaWYgKCRvcHRpb25zLT5oYXNLZXkoJ211bHRpcGFydF91cGxvYWRfc2l6ZScpKSB7CiAgICAgICAgICAgICRidWlsZGVyLT5zZXRNdWx0aXBhcnRVcGxvYWRTaXplKCRvcHRpb25zWydtdWx0aXBhcnRfdXBsb2FkX3NpemUnXSk7CiAgICAgICAgfQoKICAgICAgICAkYnVpbGRlci0+YnVpbGQoKS0+dHJhbnNmZXIoKTsKICAgIH0KCiAgICAvKioKICAgICAqIERvd25sb2FkcyBhIGJ1Y2tldCB0byB0aGUgbG9jYWwgZmlsZXN5c3RlbQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGRpcmVjdG9yeSBEaXJlY3RvcnkgdG8gZG93bmxvYWQgdG8KICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1Y2tldCAgICBCdWNrZXQgdG8gZG93bmxvYWQgZnJvbQogICAgICogQHBhcmFtIHN0cmluZyAka2V5UHJlZml4IE9ubHkgZG93bmxvYWQgb2JqZWN0cyB0aGF0IHVzZSB0aGlzIGtleSBwcmVmaXgKICAgICAqIEBwYXJhbSBhcnJheSAgJG9wdGlvbnMgICBBc3NvY2lhdGl2ZSBhcnJheSBvZiBkb3dubG9hZCBvcHRpb25zCiAgICAgKiAgICAgLSBwYXJhbXM6IEFycmF5IG9mIHBhcmFtZXRlcnMgdG8gdXNlIHdpdGggZWFjaCBHZXRPYmplY3Qgb3BlcmF0aW9uIHBlcmZvcm1lZCBkdXJpbmcgdGhlIHRyYW5zZmVyCiAgICAgKiAgICAgLSBiYXNlX2RpcjogQmFzZSBkaXJlY3RvcnkgdG8gcmVtb3ZlIGZyb20gZWFjaCBvYmplY3Qga2V5IHdoZW4gc3RvcmluZyBpbiB0aGUgbG9jYWwgZmlsZXN5c3RlbQogICAgICogICAgIC0gZm9yY2U6IFNldCB0byB0cnVlIHRvIGRvd25sb2FkIGV2ZXJ5IGZpbGUsIGV2ZW4gaWYgdGhlIGZpbGUgaXMgYWxyZWFkeSBvbiB0aGUgbG9jYWwgZmlsZXN5c3RlbSBhbmQgaGFzIG5vdAogICAgICogICAgICAgY2hhbmdlZAogICAgICogICAgIC0gY29uY3VycmVuY3k6IE1heGltdW0gbnVtYmVyIG9mIHBhcmFsbGVsIGRvd25sb2FkcyAoZGVmYXVsdHMgdG8gMTApCiAgICAgKiAgICAgLSBkZWJ1ZzogU2V0IHRvIHRydWUgb3IgYSBmb3BlbiByZXNvdXJjZSB0byBlbmFibGUgZGVidWcgbW9kZSB0byBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBlYWNoIGRvd25sb2FkCiAgICAgKiAgICAgLSBhbGxvd19yZXN1bWFibGU6IFNldCB0byB0cnVlIHRvIGFsbG93IHByZXZpb3VzbHkgaW50ZXJydXB0ZWQgZG93bmxvYWRzIHRvIGJlIHJlc3VtZWQgdXNpbmcgYSBSYW5nZSBHRVQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRvd25sb2FkQnVja2V0KCRkaXJlY3RvcnksICRidWNrZXQsICRrZXlQcmVmaXggPSAnJywgYXJyYXkgJG9wdGlvbnMgPSBhcnJheSgpKQogICAgewogICAgICAgICRvcHRpb25zID0gbmV3IENvbGxlY3Rpb24oJG9wdGlvbnMpOwogICAgICAgICRidWlsZGVyID0gJG9wdGlvbnNbJ2J1aWxkZXInXSA/OiBEb3dubG9hZFN5bmNCdWlsZGVyOjpnZXRJbnN0YW5jZSgpOwogICAgICAgICRidWlsZGVyLT5zZXREaXJlY3RvcnkoJGRpcmVjdG9yeSkKICAgICAgICAgICAgLT5zZXRDbGllbnQoJHRoaXMpCiAgICAgICAgICAgIC0+c2V0QnVja2V0KCRidWNrZXQpCiAgICAgICAgICAgIC0+c2V0S2V5UHJlZml4KCRrZXlQcmVmaXgpCiAgICAgICAgICAgIC0+c2V0Q29uY3VycmVuY3koJG9wdGlvbnNbJ2NvbmN1cnJlbmN5J10gPzogMTApCiAgICAgICAgICAgIC0+c2V0QmFzZURpcigkb3B0aW9uc1snYmFzZV9kaXInXSkKICAgICAgICAgICAgLT5mb3JjZSgkb3B0aW9uc1snZm9yY2UnXSkKICAgICAgICAgICAgLT5zZXRPcGVyYXRpb25QYXJhbXMoJG9wdGlvbnNbJ3BhcmFtcyddID86IGFycmF5KCkpCiAgICAgICAgICAgIC0+ZW5hYmxlRGVidWdPdXRwdXQoJG9wdGlvbnNbJ2RlYnVnJ10pOwoKICAgICAgICBpZiAoJG9wdGlvbnNbJ2FsbG93X3Jlc3VtYWJsZSddKSB7CiAgICAgICAgICAgICRidWlsZGVyLT5hbGxvd1Jlc3VtYWJsZURvd25sb2FkcygpOwogICAgICAgIH0KCiAgICAgICAgJGJ1aWxkZXItPmJ1aWxkKCktPnRyYW5zZmVyKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZWxldGVzIG9iamVjdHMgZnJvbSBBbWF6b24gUzMgdGhhdCBtYXRjaCB0aGUgcmVzdWx0IG9mIGEgTGlzdE9iamVjdHMgb3BlcmF0aW9uLiBGb3IgZXhhbXBsZSwgdGhpcyBhbGxvd3MgeW91CiAgICAgKiB0byBkbyB0aGluZ3MgbGlrZSBkZWxldGUgYWxsIG9iamVjdHMgdGhhdCBtYXRjaCBhIHNwZWNpZmljIGtleSBwcmVmaXguCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkYnVja2V0ICBCdWNrZXQgdGhhdCBjb250YWlucyB0aGUgb2JqZWN0IGtleXMKICAgICAqIEBwYXJhbSBzdHJpbmcgJHByZWZpeCAgT3B0aW9uYWxseSBkZWxldGUgb25seSBvYmplY3RzIHVuZGVyIHRoaXMga2V5IHByZWZpeAogICAgICogQHBhcmFtIHN0cmluZyAkcmVnZXggICBEZWxldGUgb25seSBvYmplY3RzIHRoYXQgbWF0Y2ggdGhpcyByZWdleAogICAgICogQHBhcmFtIGFycmF5ICAkb3B0aW9ucyBPcHRpb25zIHVzZWQgd2hlbiBkZWxldGluZyB0aGUgb2JqZWN0OgogICAgICogICAgIC0gYmVmb3JlX2RlbGV0ZTogQ2FsbGJhY2sgdG8gaW52b2tlIGJlZm9yZSBlYWNoIGRlbGV0ZS4gVGhlIGNhbGxiYWNrIHdpbGwgcmVjZWl2ZSBhCiAgICAgKiAgICAgICBHdXp6bGVcQ29tbW9uXEV2ZW50IG9iamVjdCB3aXRoIGNvbnRleHQuCiAgICAgKgogICAgICogQHNlZSBBd3NcUzNcUzNDbGllbnQ6Omxpc3RPYmplY3RzCiAgICAgKiBAc2VlIEF3c1xTM1xNb2RlbFxDbGVhckJ1Y2tldCBGb3IgbW9yZSBvcHRpb25zIG9yIGN1c3RvbWl6YXRpb24KICAgICAqIEByZXR1cm4gaW50IFJldHVybnMgdGhlIG51bWJlciBvZiBkZWxldGVkIGtleXMKICAgICAqIEB0aHJvd3MgUnVudGltZUV4Y2VwdGlvbiBpZiBubyBwcmVmaXggYW5kIG5vIHJlZ2V4IGlzIGdpdmVuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGVNYXRjaGluZ09iamVjdHMoJGJ1Y2tldCwgJHByZWZpeCA9ICcnLCAkcmVnZXggPSAnJywgYXJyYXkgJG9wdGlvbnMgPSBhcnJheSgpKQogICAgewogICAgICAgIGlmICghJHByZWZpeCAmJiAhJHJlZ2V4KSB7CiAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKCdBIHByZWZpeCBvciByZWdleCBpcyByZXF1aXJlZCwgb3IgdXNlIFMzQ2xpZW50OjpjbGVhckJ1Y2tldCgpLicpOwogICAgICAgIH0KCiAgICAgICAgJGNsZWFyID0gbmV3IENsZWFyQnVja2V0KCR0aGlzLCAkYnVja2V0KTsKICAgICAgICAkaXRlcmF0b3IgPSAkdGhpcy0+Z2V0SXRlcmF0b3IoJ0xpc3RPYmplY3RzJywgYXJyYXkoJ0J1Y2tldCcgPT4gJGJ1Y2tldCwgJ1ByZWZpeCcgPT4gJHByZWZpeCkpOwoKICAgICAgICBpZiAoJHJlZ2V4KSB7CiAgICAgICAgICAgICRpdGVyYXRvciA9IG5ldyBGaWx0ZXJJdGVyYXRvcigkaXRlcmF0b3IsIGZ1bmN0aW9uICgkY3VycmVudCkgdXNlICgkcmVnZXgpIHsKICAgICAgICAgICAgICAgIHJldHVybiBwcmVnX21hdGNoKCRyZWdleCwgJGN1cnJlbnRbJ0tleSddKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICAkY2xlYXItPnNldEl0ZXJhdG9yKCRpdGVyYXRvcik7CiAgICAgICAgaWYgKGlzc2V0KCRvcHRpb25zWydiZWZvcmVfZGVsZXRlJ10pKSB7CiAgICAgICAgICAgICRjbGVhci0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKENsZWFyQnVja2V0OjpCRUZPUkVfQ0xFQVIsICRvcHRpb25zWydiZWZvcmVfZGVsZXRlJ10pOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRjbGVhci0+Y2xlYXIoKTsKICAgIH0KCiAgICAvKioKICAgICAqIERldGVybWluZXMgd2hldGhlciBvciBub3QgYSByZXNvdXJjZSBleGlzdHMgdXNpbmcgYSBjb21tYW5kCiAgICAgKgogICAgICogQHBhcmFtIENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQgICBDb21tYW5kIHVzZWQgdG8gcG9sbCBmb3IgdGhlIHJlc291cmNlCiAgICAgKiBAcGFyYW0gYm9vbCAgICAgICAgICAgICAkYWNjZXB0NDAzIFNldCB0byB0cnVlIGlmIDQwM3MgYXJlIGFjY2VwdGFibGUKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqIEB0aHJvd3MgUzNFeGNlcHRpb258XEV4Y2VwdGlvbiBpZiB0aGVyZSBpcyBhbiB1bmhhbmRsZWQgZXhjZXB0aW9uCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjaGVja0V4aXN0ZW5jZVdpdGhDb21tYW5kKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQsICRhY2NlcHQ0MDMgPSBmYWxzZSkKICAgIHsKICAgICAgICB0cnkgewogICAgICAgICAgICAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgICAgICAkZXhpc3RzID0gdHJ1ZTsKICAgICAgICB9IGNhdGNoIChBY2Nlc3NEZW5pZWRFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgJGV4aXN0cyA9IChib29sKSAkYWNjZXB0NDAzOwogICAgICAgIH0gY2F0Y2ggKFMzRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICRleGlzdHMgPSBmYWxzZTsKICAgICAgICAgICAgaWYgKCRlLT5nZXRSZXNwb25zZSgpLT5nZXRTdGF0dXNDb2RlKCkgPj0gNTAwKSB7CiAgICAgICAgICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlU3RhcnQKICAgICAgICAgICAgICAgIHRocm93ICRlOwogICAgICAgICAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZUVuZAogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGV4aXN0czsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/S3Signature.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzM7Cgp1c2UgQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFsc0ludGVyZmFjZTsKdXNlIEF3c1xDb21tb25cRW51bVxEYXRlRm9ybWF0Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcUXVlcnlTdHJpbmc7CnVzZSBHdXp6bGVcSHR0cFxVcmw7CgovKioKICogRGVmYXVsdCBBbWF6b24gUzMgc2lnbmF0dXJlIGltcGxlbWVudGF0aW9uCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9kZXYvUkVTVEF1dGhlbnRpY2F0aW9uLmh0bWwKICovCmNsYXNzIFMzU2lnbmF0dXJlIGltcGxlbWVudHMgUzNTaWduYXR1cmVJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IFF1ZXJ5IHN0cmluZyB2YWx1ZXMgdGhhdCBtdXN0IGJlIHNpZ25lZAogICAgICovCiAgICBwcm90ZWN0ZWQgJHNpZ25hYmxlUXVlcnlTdHJpbmcgPSBhcnJheSAoCiAgICAgICAgJ2FjbCcsCiAgICAgICAgJ2NvcnMnLAogICAgICAgICdkZWxldGUnLAogICAgICAgICdsaWZlY3ljbGUnLAogICAgICAgICdsb2NhdGlvbicsCiAgICAgICAgJ2xvZ2dpbmcnLAogICAgICAgICdub3RpZmljYXRpb24nLAogICAgICAgICdwYXJ0TnVtYmVyJywKICAgICAgICAncG9saWN5JywKICAgICAgICAncmVxdWVzdFBheW1lbnQnLAogICAgICAgICdyZXNwb25zZS1jYWNoZS1jb250cm9sJywKICAgICAgICAncmVzcG9uc2UtY29udGVudC1kaXNwb3NpdGlvbicsCiAgICAgICAgJ3Jlc3BvbnNlLWNvbnRlbnQtZW5jb2RpbmcnLAogICAgICAgICdyZXNwb25zZS1jb250ZW50LWxhbmd1YWdlJywKICAgICAgICAncmVzcG9uc2UtY29udGVudC10eXBlJywKICAgICAgICAncmVzcG9uc2UtZXhwaXJlcycsCiAgICAgICAgJ3Jlc3RvcmUnLAogICAgICAgICd0YWdnaW5nJywKICAgICAgICAndG9ycmVudCcsCiAgICAgICAgJ3VwbG9hZElkJywKICAgICAgICAndXBsb2FkcycsCiAgICAgICAgJ3ZlcnNpb25JZCcsCiAgICAgICAgJ3ZlcnNpb25pbmcnLAogICAgICAgICd2ZXJzaW9ucycsCiAgICAgICAgJ3dlYnNpdGUnLAogICAgKTsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgU29ydGVkIGhlYWRlcnMgdGhhdCBtdXN0IGJlIHNpZ25lZAogICAgICovCiAgICBwcm90ZWN0ZWQgJHNpZ25hYmxlSGVhZGVycyA9IGFycmF5KCdDb250ZW50LU1ENScsICdDb250ZW50LVR5cGUnKTsKCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNpZ25SZXF1ZXN0KFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIENyZWRlbnRpYWxzSW50ZXJmYWNlICRjcmVkZW50aWFscykKICAgIHsKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgc2lnbmFibGUgcXVlcnkgc3RyaW5nIHBhcmFtZXRlcnMgYXJlIHNvcnRlZAogICAgICAgIHNvcnQoJHRoaXMtPnNpZ25hYmxlUXVlcnlTdHJpbmcpOwoKICAgICAgICAvLyBBZGQgdGhlIHNlY3VyaXR5IHRva2VuIGhlYWRlciBpZiBvbmUgaXMgYmVpbmcgdXNlZCBieSB0aGUgY3JlZGVudGlhbHMKICAgICAgICBpZiAoJHRva2VuID0gJGNyZWRlbnRpYWxzLT5nZXRTZWN1cml0eVRva2VuKCkpIHsKICAgICAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcigneC1hbXotc2VjdXJpdHktdG9rZW4nLCAkdG9rZW4pOwogICAgICAgIH0KCiAgICAgICAgLy8gQWRkIGEgZGF0ZSBoZWFkZXIgaWYgb25lIGlzIG5vdCBzZXQKICAgICAgICBpZiAoISRyZXF1ZXN0LT5oYXNIZWFkZXIoJ2RhdGUnKSAmJiAhJHJlcXVlc3QtPmhhc0hlYWRlcigneC1hbXotZGF0ZScpKSB7CiAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRIZWFkZXIoJ0RhdGUnLCBnbWRhdGUoRGF0ZUZvcm1hdDo6UkZDMjgyMikpOwogICAgICAgIH0KCiAgICAgICAgJHN0cmluZ1RvU2lnbiA9ICR0aGlzLT5jcmVhdGVDYW5vbmljYWxpemVkU3RyaW5nKCRyZXF1ZXN0KTsKICAgICAgICAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPnNldCgnYXdzLnN0cmluZ190b19zaWduJywgJHN0cmluZ1RvU2lnbik7CgogICAgICAgICRyZXF1ZXN0LT5zZXRIZWFkZXIoCiAgICAgICAgICAgICdBdXRob3JpemF0aW9uJywKICAgICAgICAgICAgJ0FXUyAnIC4gJGNyZWRlbnRpYWxzLT5nZXRBY2Nlc3NLZXlJZCgpIC4gJzonIC4gJHRoaXMtPnNpZ25TdHJpbmcoJHN0cmluZ1RvU2lnbiwgJGNyZWRlbnRpYWxzKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzaWduU3RyaW5nKCRzdHJpbmcsIENyZWRlbnRpYWxzSW50ZXJmYWNlICRjcmVkZW50aWFscykKICAgIHsKICAgICAgICByZXR1cm4gYmFzZTY0X2VuY29kZShoYXNoX2htYWMoJ3NoYTEnLCAkc3RyaW5nLCAkY3JlZGVudGlhbHMtPmdldFNlY3JldEtleSgpLCB0cnVlKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGVDYW5vbmljYWxpemVkU3RyaW5nKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsICRleHBpcmVzID0gbnVsbCkKICAgIHsKICAgICAgICAkYnVmZmVyID0gJHJlcXVlc3QtPmdldE1ldGhvZCgpIC4gIlxuIjsKCiAgICAgICAgLy8gQWRkIHRoZSBpbnRlcmVzdGluZyBoZWFkZXJzCiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnNpZ25hYmxlSGVhZGVycyBhcyAkaGVhZGVyKSB7CiAgICAgICAgICAgICRidWZmZXIgLj0gKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcigkaGVhZGVyKSAuICJcbiI7CiAgICAgICAgfQoKICAgICAgICAvLyBDaG9vc2UgZGF0ZXMgZnJvbSBsZWZ0IHRvIHJpZ2h0IGJhc2VkIG9uIHdoYXQncyBzZXQKICAgICAgICAkZGF0ZSA9ICRleHBpcmVzID86IChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ2RhdGUnKTsKCiAgICAgICAgJGJ1ZmZlciAuPSAieyRkYXRlfVxuIgogICAgICAgICAgICAuICR0aGlzLT5jcmVhdGVDYW5vbmljYWxpemVkQW16SGVhZGVycygkcmVxdWVzdCkKICAgICAgICAgICAgLiAkdGhpcy0+Y3JlYXRlQ2Fub25pY2FsaXplZFJlc291cmNlKCRyZXF1ZXN0KTsKCiAgICAgICAgcmV0dXJuICRidWZmZXI7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBjYW5vbmljYWxpemVkIEFtekhlYWRlcnMgc3RyaW5nIGZvciBhIHNpZ25hdHVyZS4KICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCBSZXF1ZXN0IGZyb20gd2hpY2ggdG8gZ2F0aGVyIGhlYWRlcnMKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBSZXR1cm5zIGNhbm9uaWNhbGl6ZWQgQU1aIGhlYWRlcnMuCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjcmVhdGVDYW5vbmljYWxpemVkQW16SGVhZGVycyhSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgICRoZWFkZXJzID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkcmVxdWVzdC0+Z2V0SGVhZGVycyh0cnVlKSBhcyAkaGVhZGVyKSB7CiAgICAgICAgICAgIC8qKiBAdmFyICRoZWFkZXIgXEd1enpsZVxIdHRwXE1lc3NhZ2VcSGVhZGVyICovCiAgICAgICAgICAgICRuYW1lID0gc3RydG9sb3dlcigkaGVhZGVyLT5nZXROYW1lKCkpOwogICAgICAgICAgICBpZiAoc3RycG9zKCRuYW1lLCAneC1hbXotJykgPT09IDApIHsKICAgICAgICAgICAgICAgICR2YWx1ZSA9IHRyaW0oKHN0cmluZykgJGhlYWRlcik7CiAgICAgICAgICAgICAgICBpZiAoJHZhbHVlIHx8ICR2YWx1ZSA9PT0gJzAnKSB7CiAgICAgICAgICAgICAgICAgICAgJGhlYWRlcnNbJG5hbWVdID0gJG5hbWUgLiAnOicgLiAkdmFsdWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChlbXB0eSgkaGVhZGVycykpIHsKICAgICAgICAgICAgcmV0dXJuICcnOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGtzb3J0KCRoZWFkZXJzKTsKCiAgICAgICAgICAgIHJldHVybiBpbXBsb2RlKCJcbiIsICRoZWFkZXJzKSAuICJcbiI7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgY2Fub25pY2FsaXplZCByZXNvdXJjZSBmb3IgYSByZXF1ZXN0CiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgUmVxdWVzdCBmb3IgdGhlIHJlc291cmNlCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNyZWF0ZUNhbm9uaWNhbGl6ZWRSZXNvdXJjZShSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgICRidWZmZXIgPSAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmdldCgnczMucmVzb3VyY2UnKTsKICAgICAgICAvLyBXaGVuIHNlbmRpbmcgYSByYXcgSFRUUCByZXF1ZXN0IChlLmcuICRjbGllbnQtPmdldCgpKQogICAgICAgIGlmIChudWxsID09PSAkYnVmZmVyKSB7CiAgICAgICAgICAgICRidWNrZXQgPSAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmdldCgnYnVja2V0JykgPzogJHRoaXMtPnBhcnNlQnVja2V0TmFtZSgkcmVxdWVzdCk7CiAgICAgICAgICAgIC8vIFVzZSBhbnkgc3BlY2lmaWVkIGJ1Y2tldCBuYW1lLCB0aGUgcGFyc2VkIGJ1Y2tldCBuYW1lLCBvciBubyBidWNrZXQgbmFtZSB3aGVuIGludGVyYWN0aW5nIHdpdGggR2V0U2VydmljZQogICAgICAgICAgICAkYnVmZmVyID0gJGJ1Y2tldCA/ICIveyRidWNrZXR9IiA6ICcnOwogICAgICAgICAgICAvLyBSZW1vdmUgZW5jb2RpbmcgZnJvbSB0aGUgcGF0aCBhbmQgdXNlIHRoZSBTMyBzcGVjaWZpYyBlbmNvZGluZwogICAgICAgICAgICAkcGF0aCA9IFMzQ2xpZW50OjplbmNvZGVLZXkocmF3dXJsZGVjb2RlKCRyZXF1ZXN0LT5nZXRQYXRoKCkpKTsKICAgICAgICAgICAgLy8gaWYgdGhlIGJ1Y2tldCB3YXMgcGF0aCBzdHlsZSwgdGhlbiBlbnN1cmUgdGhhdCB0aGUgYnVja2V0IHdhc24ndCBkdXBsaWNhdGVkIGluIHRoZSByZXNvdXJjZQogICAgICAgICAgICAkYnVmZmVyIC49IHByZWdfcmVwbGFjZSgiI14veyRidWNrZXR9L3skYnVja2V0fSMiLCAiL3skYnVja2V0fSIsICRwYXRoKTsKICAgICAgICB9CgogICAgICAgIC8vIFJlbW92ZSBkb3VibGUgc2xhc2hlcwogICAgICAgICRidWZmZXIgPSBzdHJfcmVwbGFjZSgnLy8nLCAnLycsICRidWZmZXIpOwoKICAgICAgICAvLyBBZGQgc3ViIHJlc291cmNlIHBhcmFtZXRlcnMKICAgICAgICAkcXVlcnkgPSAkcmVxdWVzdC0+Z2V0UXVlcnkoKTsKICAgICAgICAkZmlyc3QgPSB0cnVlOwogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5zaWduYWJsZVF1ZXJ5U3RyaW5nIGFzICRrZXkpIHsKICAgICAgICAgICAgaWYgKCR2YWx1ZSA9ICRxdWVyeS0+Z2V0KCRrZXkpKSB7CiAgICAgICAgICAgICAgICAkYnVmZmVyIC49ICRmaXJzdCA/ICc/JyA6ICcmJzsKICAgICAgICAgICAgICAgICRmaXJzdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgJGJ1ZmZlciAuPSAka2V5OwogICAgICAgICAgICAgICAgaWYgKCR2YWx1ZSAhPT0gUXVlcnlTdHJpbmc6OkJMQU5LKSB7CiAgICAgICAgICAgICAgICAgICAgJGJ1ZmZlciAuPSAiPXskdmFsdWV9IjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRidWZmZXI7CiAgICB9CgogICAgLyoqCiAgICAgKiBQYXJzZSB0aGUgYnVja2V0IG5hbWUgZnJvbSBhIHJlcXVlc3Qgb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgUmVxdWVzdCB0byBwYXJzZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBwYXJzZUJ1Y2tldE5hbWUoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCkKICAgIHsKICAgICAgICAkYmFzZVVybCA9IFVybDo6ZmFjdG9yeSgkcmVxdWVzdC0+Z2V0Q2xpZW50KCktPmdldEJhc2VVcmwoKSk7CiAgICAgICAgJGJhc2VIb3N0ID0gJGJhc2VVcmwtPmdldEhvc3QoKTsKICAgICAgICAkaG9zdCA9ICRyZXF1ZXN0LT5nZXRIb3N0KCk7CgogICAgICAgIGlmIChzdHJwb3MoJGhvc3QsICRiYXNlSG9zdCkgPT09IGZhbHNlKSB7CiAgICAgICAgICAgIC8vIERvZXMgbm90IGNvbnRhaW4gdGhlIGJhc2UgVVJMLCBzbyBpdCdzIGVpdGhlciBhIHJlZGlyZWN0LCBDTkFNRSwgb3IgdXNpbmcgYSBkaWZmZXJlbnQgcmVnaW9uCiAgICAgICAgICAgICRiYXNlSG9zdCA9ICcnOwogICAgICAgICAgICAvLyBGb3IgZXZlcnkga25vd24gUzMgaG9zdCwgY2hlY2sgaWYgdGhhdCBob3N0IGlzIHByZXNlbnQgb24gdGhlIHJlcXVlc3QKICAgICAgICAgICAgJHJlZ2lvbnMgPSAkcmVxdWVzdC0+Z2V0Q2xpZW50KCktPmdldERlc2NyaXB0aW9uKCktPmdldERhdGEoJ3JlZ2lvbnMnKTsKICAgICAgICAgICAgZm9yZWFjaCAoJHJlZ2lvbnMgYXMgJHJlZ2lvbikgewogICAgICAgICAgICAgICAgaWYgKHN0cnBvcygkaG9zdCwgJHJlZ2lvblsnaG9zdG5hbWUnXSkgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBob3N0IG1hdGNoZXMgdGhlIHJlcXVlc3QgaG9zdC4gVGVsbHMgdXNlIHRoZSByZWdpb24gYW5kIGVuZHBvaW50LS0gd2UgY2FuIGRlcml2ZSB0aGUgYnVja2V0CiAgICAgICAgICAgICAgICAgICAgJGJhc2VIb3N0ID0gJHJlZ2lvblsnaG9zdG5hbWUnXTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBJZiBubyBtYXRjaGluZyBiYXNlIFVSTCB3YXMgZm91bmQsIHRoZW4gYXNzdW1lIHRoYXQgdGhpcyBpcyBhIENOQU1FLCBhbmQgdGhlIENOQU1FIGlzIHRoZSBidWNrZXQKICAgICAgICAgICAgaWYgKCEkYmFzZUhvc3QpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkaG9zdDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gUmVtb3ZlIHRoZSBiYXNlVVJMIGZyb20gdGhlIGhvc3Qgb2YgdGhlIHJlcXVlc3QgdG8gYXR0ZW1wdCB0byBkZXRlcm1pbmUgdGhlIGJ1Y2tldCBuYW1lCiAgICAgICAgcmV0dXJuIHRyaW0oc3RyX3JlcGxhY2UoJGJhc2VIb3N0LCAnJywgJHJlcXVlc3QtPmdldEhvc3QoKSksICcgLicpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/S3SignatureInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzM7Cgp1c2UgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlSW50ZXJmYWNlOwp1c2UgQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFsc0ludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKCi8qKgogKiBBbWF6b24gUzMgc2lnbmF0dXJlIGludGVyZmFjZQogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvZGV2L1JFU1RBdXRoZW50aWNhdGlvbi5odG1sCiAqLwppbnRlcmZhY2UgUzNTaWduYXR1cmVJbnRlcmZhY2UgZXh0ZW5kcyBTaWduYXR1cmVJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBTaWduIGEgc3RyaW5nIGZvciBBbWF6b24gUzMKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgJHN0cmluZyAgICAgIFN0cmluZyB0byBzaWduCiAgICAgKiBAcGFyYW0gQ3JlZGVudGlhbHNJbnRlcmZhY2UgJGNyZWRlbnRpYWxzIENyZWRlbnRpYWxzIHVzZWQgdG8gc2lnbgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzaWduU3RyaW5nKCRzdHJpbmcsIENyZWRlbnRpYWxzSW50ZXJmYWNlICRjcmVkZW50aWFscyk7CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBjYW5vbmljYWxpemVkIHN0cmluZyBmb3IgYSBzaWduYXR1cmUuCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgQmFzZSBvbiB0aGUgcmVxdWVzdAogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgJGV4cGlyZXMgUGFzcyBhIFVOSVggdGltZXN0YW1wIGlmIGNyZWF0aW5nIGEgcXVlcnkgc2lnbmF0dXJlCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgUmV0dXJucyBhIGNhbm9uaWNhbGl6ZWQgc3RyaW5nIGZvciBhbiBBbWF6b24gUzMgc2lnbmF0dXJlLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY3JlYXRlQ2Fub25pY2FsaXplZFN0cmluZyhSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCAkZXhwaXJlcyA9IG51bGwpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/SocketTimeoutChecker.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzM7Cgp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEh0dHBFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEJhY2tvZmZTdHJhdGVneUludGVyZmFjZTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxBYnN0cmFjdEJhY2tvZmZTdHJhdGVneTsKCi8qKgogKiBDdXN0b20gUzMgZXhwb25lbnRpYWwgYmFja29mZiBjaGVja2luZyB1c2UgdG8gcmV0cnkgNDAwIHJlc3BvbnNlcyBjb250YWluaW5nIHRoZSBmb2xsb3dpbmcgcmVhc29uIHBocmFzZToKICogIllvdXIgc29ja2V0IGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciB3YXMgbm90IHJlYWQgZnJvbSBvciB3cml0dGVuIHRvIHdpdGhpbiB0aGUgdGltZW91dCBwZXJpb2QuIi4KICogVGhpcyBlcnJvciBoYXMgYmVlbiByZXBvcnRlZCBhcyBpbnRlcm1pdHRlbnQvcmFuZG9tLCBhbmQgaW4gbW9zdCBjYXNlcywgc2VlbXMgdG8gb2NjdXIgZHVyaW5nIHRoZSBtaWRkbGUgb2YgYQogKiB0cmFuc2Zlci4gVGhpcyBwbHVnaW4gd2lsbCBhdHRlbXB0IHRvIHJldHJ5IHRoZXNlIGZhaWxlZCByZXF1ZXN0cywgYW5kIGlmIHVzaW5nIGEgbG9jYWwgZmlsZSwgd2lsbCBjbGVhciB0aGUKICogc3RhdCBjYWNoZSBvZiB0aGUgZmlsZSBhbmQgc2V0IGEgbmV3IGNvbnRlbnQtbGVuZ3RoIGhlYWRlciBvbiB0aGUgdXBsb2FkLgogKi8KY2xhc3MgU29ja2V0VGltZW91dENoZWNrZXIgZXh0ZW5kcyBBYnN0cmFjdEJhY2tvZmZTdHJhdGVneQp7CiAgICBjb25zdCBFUlIgPSAnWW91ciBzb2NrZXQgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIHdhcyBub3QgcmVhZCBmcm9tIG9yIHdyaXR0ZW4gdG8gd2l0aGluIHRoZSB0aW1lb3V0IHBlcmlvZCc7CgogICAgLyoqCiAgICAgKiB7QGluaGVyaWRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEJhY2tvZmZTdHJhdGVneUludGVyZmFjZSAkbmV4dCA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKCRuZXh0KSB7CiAgICAgICAgICAgICR0aGlzLT5zZXROZXh0KCRuZXh0KTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaWRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG1ha2VzRGVjaXNpb24oKQogICAgewogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RGVsYXkoCiAgICAgICAgJHJldHJpZXMsCiAgICAgICAgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwKICAgICAgICBSZXNwb25zZSAkcmVzcG9uc2UgPSBudWxsLAogICAgICAgIEh0dHBFeGNlcHRpb24gJGUgPSBudWxsCiAgICApIHsKICAgICAgICBpZiAoJHJlc3BvbnNlCiAgICAgICAgICAgICYmICRyZXNwb25zZS0+Z2V0U3RhdHVzQ29kZSgpID09IDQwMAogICAgICAgICAgICAmJiBzdHJwb3MoJHJlc3BvbnNlLT5nZXRCb2R5KCksIHNlbGY6OkVSUikKICAgICAgICApIHsKICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHJlcXVlc3QgaXMgc2VuZGluZyBhIGxvY2FsIGZpbGUsIGFuZCBpZiBzbywgY2xlYXIgdGhlIHN0YXQgY2FjaGUgYW5kIHJlY2FsY3VsYXRlIHRoZSBzaXplLgogICAgICAgICAgICBpZiAoJHJlcXVlc3QgaW5zdGFuY2VvZiBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0SW50ZXJmYWNlKSB7CiAgICAgICAgICAgICAgICBpZiAoJHJlcXVlc3QtPmdldEJvZHkoKS0+Z2V0V3JhcHBlcigpID09ICdwbGFpbmZpbGUnKSB7CiAgICAgICAgICAgICAgICAgICAgJGZpbGVuYW1lID0gJHJlcXVlc3QtPmdldEJvZHkoKS0+Z2V0VXJpKCk7CiAgICAgICAgICAgICAgICAgICAgLy8gQ2xlYXIgdGhlIGNhY2hlIHNvIHRoYXQgd2Ugc2VuZCBhY2N1cmF0ZSBmaWxlIHNpemVzCiAgICAgICAgICAgICAgICAgICAgY2xlYXJzdGF0Y2FjaGUodHJ1ZSwgJGZpbGVuYW1lKTsKICAgICAgICAgICAgICAgICAgICAkbGVuZ3RoID0gZmlsZXNpemUoJGZpbGVuYW1lKTsKICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdC0+Z2V0Qm9keSgpLT5zZXRTaXplKCRsZW5ndGgpOwogICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJywgJGxlbmd0aCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/StreamWrapper.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzM7Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKdXNlIEF3c1xTM1xFeGNlcHRpb25cUzNFeGNlcHRpb247CnVzZSBBd3NcUzNcRXhjZXB0aW9uXE5vU3VjaEtleUV4Y2VwdGlvbjsKdXNlIEF3c1xTM1xJdGVyYXRvclxMaXN0T2JqZWN0c0l0ZXJhdG9yOwp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKdXNlIEd1enpsZVxIdHRwXENhY2hpbmdFbnRpdHlCb2R5Owp1c2UgR3V6emxlXFN0cmVhbVxQaHBTdHJlYW1SZXF1ZXN0RmFjdG9yeTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKCi8qKgogKiBBbWF6b24gUzMgc3RyZWFtIHdyYXBwZXIgdG8gdXNlICJzMzovLzxidWNrZXQ+LzxrZXk+IiBmaWxlcyB3aXRoIFBIUCBzdHJlYW1zLCBzdXBwb3J0aW5nICJyIiwgInciLCAiYSIsICJ4Ii4KICoKICogIyBTdXBwb3J0ZWQgc3RyZWFtIHJlbGF0ZWQgUEhQIGZ1bmN0aW9uczoKICogLSBmb3BlbiwgZmNsb3NlLCBmcmVhZCwgZndyaXRlLCBmc2VlaywgZnRlbGwsIGZlb2YsIGZmbHVzaAogKiAtIG9wZW5kaXIsIGNsb3NlZGlyLCByZWFkZGlyLCByZXdpbmRkaXIKICogLSBjb3B5LCByZW5hbWUsIHVubGluawogKiAtIG1rZGlyLCBybWRpciwgcm1kaXIgKHJlY3Vyc2l2ZSkKICogLSBmaWxlX2dldF9jb250ZW50cywgZmlsZV9wdXRfY29udGVudHMKICogLSBmaWxlX2V4aXN0cywgZmlsZXNpemUsIGlzX2ZpbGUsIGlzX2RpcgogKgogKiAjIE9wZW5pbmcgInIiIChyZWFkIG9ubHkpIHN0cmVhbXM6CiAqCiAqIFJlYWQgb25seSBzdHJlYW1zIGFyZSB0cnVseSBzdHJlYW1pbmcgYnkgZGVmYXVsdCBhbmQgd2lsbCBub3QgYWxsb3cgeW91IHRvIHNlZWsuIFRoaXMgaXMgYmVjYXVzZSBkYXRhCiAqIHJlYWQgZnJvbSB0aGUgc3RyZWFtIGlzIG5vdCBrZXB0IGluIG1lbW9yeSBvciBvbiB0aGUgbG9jYWwgZmlsZXN5c3RlbS4gWW91IGNhbiBmb3JjZSBhICJyIiBzdHJlYW0gdG8gYmUgc2Vla2FibGUKICogYnkgc2V0dGluZyB0aGUgInNlZWthYmxlIiBzdHJlYW0gY29udGV4dCBvcHRpb24gdHJ1ZS4gVGhpcyB3aWxsIGFsbG93IHRydWUgc3RyZWFtaW5nIG9mIGRhdGEgZnJvbSBBbWF6b24gUzMsIGJ1dAogKiB3aWxsIG1haW50YWluIGEgYnVmZmVyIG9mIHByZXZpb3VzbHkgcmVhZCBieXRlcyBpbiBhICdwaHA6Ly90ZW1wJyBzdHJlYW0gdG8gYWxsb3cgc2Vla2luZyB0byBwcmV2aW91c2x5IHJlYWQgYnl0ZXMKICogZnJvbSB0aGUgc3RyZWFtLgogKgogKiBZb3UgbWF5IHBhc3MgYW55IEdldE9iamVjdCBwYXJhbWV0ZXJzIGFzICdzMycgc3RyZWFtIGNvbnRleHQgb3B0aW9ucy4gVGhlc2Ugb3B0aW9ucyB3aWxsIGFmZmVjdCBob3cgdGhlIGRhdGEgaXMKICogZG93bmxvYWRlZCBmcm9tIEFtYXpvbiBTMy4KICoKICogIyBPcGVuaW5nICJ3IiBhbmQgIngiICh3cml0ZSBvbmx5KSBzdHJlYW1zOgogKgogKiBCZWNhdXNlIEFtYXpvbiBTMyByZXF1aXJlcyBhIENvbnRlbnQtTGVuZ3RoIGhlYWRlciwgd3JpdGUgb25seSBzdHJlYW1zIHdpbGwgbWFpbnRhaW4gYSAncGhwOi8vdGVtcCcgc3RyZWFtIHRvIGJ1ZmZlcgogKiBkYXRhIHdyaXR0ZW4gdG8gdGhlIHN0cmVhbSB1bnRpbCB0aGUgc3RyZWFtIGlzIGZsdXNoZWQgKHVzdWFsbHkgYnkgY2xvc2luZyB0aGUgc3RyZWFtIHdpdGggZmNsb3NlKS4KICoKICogWW91IG1heSBwYXNzIGFueSBQdXRPYmplY3QgcGFyYW1ldGVycyBhcyAnczMnIHN0cmVhbSBjb250ZXh0IG9wdGlvbnMuIFRoZXNlIG9wdGlvbnMgd2lsbCBhZmZlY3QgaG93IHRoZSBkYXRhIGlzCiAqIHVwbG9hZGVkIHRvIEFtYXpvbiBTMy4KICoKICogV2hlbiBvcGVuaW5nIGFuICJ4IiBzdHJlYW0sIHRoZSBmaWxlIG11c3QgZXhpc3Qgb24gQW1hem9uIFMzIGZvciB0aGUgc3RyZWFtIHRvIG9wZW4gc3VjY2Vzc2Z1bGx5LgogKgogKiAjIE9wZW5pbmcgImEiICh3cml0ZSBvbmx5IGFwcGVuZCkgc3RyZWFtczoKICoKICogU2ltaWxhciB0byAidyIgc3RyZWFtcywgb3BlbmluZyBhcHBlbmQgc3RyZWFtcyByZXF1aXJlcyB0aGF0IHRoZSBkYXRhIGJlIGJ1ZmZlcmVkIGluIGEgInBocDovL3RlbXAiIHN0cmVhbS4gQXBwZW5kCiAqIHN0cmVhbXMgd2lsbCBhdHRlbXB0IHRvIGRvd25sb2FkIHRoZSBjb250ZW50cyBvZiBhbiBvYmplY3QgaW4gQW1hem9uIFMzLCBzZWVrIHRvIHRoZSBlbmQgb2YgdGhlIG9iamVjdCwgdGhlbiBhbGxvdwogKiB5b3UgdG8gYXBwZW5kIHRvIHRoZSBjb250ZW50cyBvZiB0aGUgb2JqZWN0LiBUaGUgZGF0YSB3aWxsIHRoZW4gYmUgdXBsb2FkZWQgdXNpbmcgYSBQdXRPYmplY3Qgb3BlcmF0aW9uIHdoZW4gdGhlCiAqIHN0cmVhbSBpcyBmbHVzaGVkICh1c3VhbGx5IHdpdGggZmNsb3NlKS4KICoKICogWW91IG1heSBwYXNzIGFueSBHZXRPYmplY3QgYW5kL29yIFB1dE9iamVjdCBwYXJhbWV0ZXJzIGFzICdzMycgc3RyZWFtIGNvbnRleHQgb3B0aW9ucy4gVGhlc2Ugb3B0aW9ucyB3aWxsIGFmZmVjdCBob3cKICogdGhlIGRhdGEgaXMgZG93bmxvYWRlZCBhbmQgdXBsb2FkZWQgZnJvbSBBbWF6b24gUzMuCiAqCiAqIFN0cmVhbSBjb250ZXh0IG9wdGlvbnM6CiAqCiAqIC0gInNlZWthYmxlIjogU2V0IHRvIHRydWUgdG8gY3JlYXRlIGEgc2Vla2FibGUgInIiIChyZWFkIG9ubHkpIHN0cmVhbSBieSB1c2luZyBhIHBocDovL3RlbXAgc3RyZWFtIGJ1ZmZlcgogKiAtICJ0aHJvd19leGNlcHRpb25zIjogU2V0IHRvIHRydWUgdG8gdGhyb3cgZXhjZXB0aW9ucyBpbnN0ZWFkIG9mIHRyaWdnZXJfZXJyb3JzCiAqIC0gRm9yICJ1bmxpbmsiIG9ubHk6IEFueSBvcHRpb24gdGhhdCBjYW4gYmUgcGFzc2VkIHRvIHRoZSBEZWxldGVPYmplY3Qgb3BlcmF0aW9uCiAqLwpjbGFzcyBTdHJlYW1XcmFwcGVyCnsKICAgIC8qKgogICAgICogQHZhciByZXNvdXJjZXxudWxsIFN0cmVhbSBjb250ZXh0ICh0aGlzIGlzIHNldCBieSBQSFAgd2hlbiBhIGNvbnRleHQgaXMgdXNlZCkKICAgICAqLwogICAgcHVibGljICRjb250ZXh0OwoKICAgIC8qKgogICAgICogQHZhciBTM0NsaWVudCBDbGllbnQgdXNlZCB0byBzZW5kIHJlcXVlc3RzCiAgICAgKi8KICAgIHByb3RlY3RlZCBzdGF0aWMgJGNsaWVudDsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIE1vZGUgdGhlIHN0cmVhbSB3YXMgb3BlbmVkIHdpdGgKICAgICAqLwogICAgcHJvdGVjdGVkICRtb2RlOwoKICAgIC8qKgogICAgICogQHZhciBFbnRpdHlCb2R5IFVuZGVybHlpbmcgc3RyZWFtIHJlc291cmNlCiAgICAgKi8KICAgIHByb3RlY3RlZCAkYm9keTsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgQ3VycmVudCBwYXJhbWV0ZXJzIHRvIHVzZSB3aXRoIHRoZSBmbHVzaCBvcGVyYXRpb24KICAgICAqLwogICAgcHJvdGVjdGVkICRwYXJhbXM7CgogICAgLyoqCiAgICAgKiBAdmFyIExpc3RPYmplY3RzSXRlcmF0b3IgSXRlcmF0b3IgdXNlZCB3aXRoIG9wZW5kaXIoKSBhbmQgc3Vic2VxdWVudCByZWFkZGlyKCkgY2FsbHMKICAgICAqLwogICAgcHJvdGVjdGVkICRvYmplY3RJdGVyYXRvcjsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRoZSBidWNrZXQgdGhhdCB3YXMgb3BlbmVkIHdoZW4gb3BlbmRpcigpIHdhcyBjYWxsZWQKICAgICAqLwogICAgcHJvdGVjdGVkICRvcGVuZWRCdWNrZXQ7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBUaGUgcHJlZml4IG9mIHRoZSBidWNrZXQgdGhhdCB3YXMgb3BlbmVkIHdpdGggb3BlbmRpcigpCiAgICAgKi8KICAgIHByb3RlY3RlZCAkb3BlbmVkQnVja2V0UHJlZml4OwoKICAgIC8qKgogICAgICogQHZhciBhcnJheSBUaGUgbmV4dCBrZXkgdG8gcmV0cmlldmUgd2hlbiB1c2luZyBhIGRpcmVjdG9yeSBpdGVyYXRvci4gSGVscHMgZm9yIGZhc3QgZGlyZWN0b3J5IHRyYXZlcnNhbC4KICAgICAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkbmV4dFN0YXQgPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogUmVnaXN0ZXIgdGhlICdzMzovLycgc3RyZWFtIHdyYXBwZXIKICAgICAqCiAgICAgKiBAcGFyYW0gUzNDbGllbnQgJGNsaWVudCBDbGllbnQgdG8gdXNlIHdpdGggdGhlIHN0cmVhbSB3cmFwcGVyCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVnaXN0ZXIoUzNDbGllbnQgJGNsaWVudCkKICAgIHsKICAgICAgICBpZiAoaW5fYXJyYXkoJ3MzJywgc3RyZWFtX2dldF93cmFwcGVycygpKSkgewogICAgICAgICAgICBzdHJlYW1fd3JhcHBlcl91bnJlZ2lzdGVyKCdzMycpOwogICAgICAgIH0KCiAgICAgICAgc3RyZWFtX3dyYXBwZXJfcmVnaXN0ZXIoJ3MzJywgX19DTEFTU19fLCBTVFJFQU1fSVNfVVJMKTsKICAgICAgICBzZWxmOjokY2xpZW50ID0gJGNsaWVudDsKICAgIH0KCiAgICAvKioKICAgICAqIENsb3NlIHRoZSBzdHJlYW0KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHN0cmVhbV9jbG9zZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmJvZHkgPSBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIHN0cmluZyAkcGF0aAogICAgICogQHBhcmFtIHN0cmluZyAkbW9kZQogICAgICogQHBhcmFtIGludCAgICAkb3B0aW9ucwogICAgICogQHBhcmFtIHN0cmluZyAkb3BlbmVkX3BhdGgKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHN0cmVhbV9vcGVuKCRwYXRoLCAkbW9kZSwgJG9wdGlvbnMsICYkb3BlbmVkX3BhdGgpCiAgICB7CiAgICAgICAgLy8gV2UgZG9uJ3QgY2FyZSBhYm91dCB0aGUgYmluYXJ5IGZsYWcKICAgICAgICAkdGhpcy0+bW9kZSA9ICRtb2RlID0gcnRyaW0oJG1vZGUsICdidCcpOwogICAgICAgICR0aGlzLT5wYXJhbXMgPSAkcGFyYW1zID0gJHRoaXMtPmdldFBhcmFtcygkcGF0aCk7CiAgICAgICAgJGVycm9ycyA9IGFycmF5KCk7CgogICAgICAgIGlmICghJHBhcmFtc1snS2V5J10pIHsKICAgICAgICAgICAgJGVycm9yc1tdID0gJ0Nhbm5vdCBvcGVuIGEgYnVja2V0LiBZb3UgbXVzdCBzcGVjaWZ5IGEgcGF0aCBpbiB0aGUgZm9ybSBvZiBzMzovL2J1Y2tldC9rZXknOwogICAgICAgIH0KCiAgICAgICAgaWYgKHN0cnBvcygkbW9kZSwgJysnKSkgewogICAgICAgICAgICAkZXJyb3JzW10gPSAnVGhlIEFtYXpvbiBTMyBzdHJlYW0gd3JhcHBlciBkb2VzIG5vdCBhbGxvdyBzaW11bHRhbmVvdXMgcmVhZGluZyBhbmQgd3JpdGluZy4nOwogICAgICAgIH0KCiAgICAgICAgaWYgKCFpbl9hcnJheSgkbW9kZSwgYXJyYXkoJ3InLCAndycsICdhJywgJ3gnKSkpIHsKICAgICAgICAgICAgJGVycm9yc1tdID0gIk1vZGUgbm90IHN1cHBvcnRlZDogeyRtb2RlfS4gVXNlIG9uZSAncicsICd3JywgJ2EnLCBvciAneCcuIjsKICAgICAgICB9CgogICAgICAgIC8vIFdoZW4gdXNpbmcgbW9kZSAieCIgdmFsaWRhdGUgaWYgdGhlIGZpbGUgZXhpc3RzIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHJlYWQKICAgICAgICBpZiAoJG1vZGUgPT0gJ3gnICYmIHNlbGY6OiRjbGllbnQtPmRvZXNPYmplY3RFeGlzdCgkcGFyYW1zWydCdWNrZXQnXSwgJHBhcmFtc1snS2V5J10sICR0aGlzLT5nZXRPcHRpb25zKCkpKSB7CiAgICAgICAgICAgICRlcnJvcnNbXSA9ICJ7JHBhdGh9IGFscmVhZHkgZXhpc3RzIG9uIEFtYXpvbiBTMyI7CiAgICAgICAgfQoKICAgICAgICBpZiAoISRlcnJvcnMpIHsKICAgICAgICAgICAgaWYgKCRtb2RlID09ICdyJykgewogICAgICAgICAgICAgICAgJHRoaXMtPm9wZW5SZWFkU3RyZWFtKCRwYXJhbXMsICRlcnJvcnMpOwogICAgICAgICAgICB9IGVsc2VpZiAoJG1vZGUgPT0gJ2EnKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+b3BlbkFwcGVuZFN0cmVhbSgkcGFyYW1zLCAkZXJyb3JzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICR0aGlzLT5vcGVuV3JpdGVTdHJlYW0oJHBhcmFtcywgJGVycm9ycyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkZXJyb3JzID8gJHRoaXMtPnRyaWdnZXJFcnJvcigkZXJyb3JzKSA6IHRydWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHN0cmVhbV9lb2YoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+ZmVvZigpOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzdHJlYW1fZmx1c2goKQogICAgewogICAgICAgIGlmICgkdGhpcy0+bW9kZSA9PSAncicpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmJvZHktPnJld2luZCgpOwogICAgICAgICRwYXJhbXMgPSAkdGhpcy0+cGFyYW1zOwogICAgICAgICRwYXJhbXNbJ0JvZHknXSA9ICR0aGlzLT5ib2R5OwoKICAgICAgICB0cnkgewogICAgICAgICAgICBzZWxmOjokY2xpZW50LT5wdXRPYmplY3QoJHBhcmFtcyk7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT50cmlnZ2VyRXJyb3IoJGUtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUmVhZCBkYXRhIGZyb20gdGhlIHVuZGVybHlpbmcgc3RyZWFtCiAgICAgKgogICAgICogQHBhcmFtIGludCAkY291bnQgQW1vdW50IG9mIGJ5dGVzIHRvIHJlYWQKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc3RyZWFtX3JlYWQoJGNvdW50KQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+cmVhZCgkY291bnQpOwogICAgfQoKICAgIC8qKgogICAgICogU2VlayB0byBhIHNwZWNpZmljIGJ5dGUgaW4gdGhlIHN0cmVhbQogICAgICoKICAgICAqIEBwYXJhbSBpbnQgJG9mZnNldCBTZWVrIG9mZnNldAogICAgICogQHBhcmFtIGludCAkd2hlbmNlIFdoZW5jZSAoU0VFS19TRVQsIFNFRUtfQ1VSLCBTRUVLX0VORCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHN0cmVhbV9zZWVrKCRvZmZzZXQsICR3aGVuY2UgPSBTRUVLX1NFVCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmJvZHktPnNlZWsoJG9mZnNldCwgJHdoZW5jZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gb2YgdGhlIHN0cmVhbQogICAgICoKICAgICAqIEByZXR1cm4gaW50IFJldHVybnMgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gdGhlIHN0cmVhbQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc3RyZWFtX3RlbGwoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+ZnRlbGwoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFdyaXRlIGRhdGEgdGhlIHRvIHRoZSBzdHJlYW0KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkYXRhCiAgICAgKgogICAgICogQHJldHVybiBpbnQgUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gdG8gdGhlIHN0cmVhbQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc3RyZWFtX3dyaXRlKCRkYXRhKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+d3JpdGUoJGRhdGEpOwogICAgfQoKICAgIC8qKgogICAgICogRGVsZXRlIGEgc3BlY2lmaWMgb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcGF0aAogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1bmxpbmsoJHBhdGgpCiAgICB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHRoaXMtPmNsZWFyU3RhdEluZm8oJHBhdGgpOwogICAgICAgICAgICBzZWxmOjokY2xpZW50LT5kZWxldGVPYmplY3QoJHRoaXMtPmdldFBhcmFtcygkcGF0aCkpOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+dHJpZ2dlckVycm9yKCRlLT5nZXRNZXNzYWdlKCkpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHN0cmVhbV9zdGF0KCkKICAgIHsKICAgICAgICAkc3RhdCA9IGZzdGF0KCR0aGlzLT5ib2R5LT5nZXRTdHJlYW0oKSk7CiAgICAgICAgLy8gQWRkIHRoZSBzaXplIG9mIHRoZSB1bmRlcmx5aW5nIHN0cmVhbSBpZiBpdCBpcyBrbm93bgogICAgICAgIGlmICgkdGhpcy0+bW9kZSA9PSAncicgJiYgJHRoaXMtPmJvZHktPmdldFNpemUoKSkgewogICAgICAgICAgICAkc3RhdFs3XSA9ICRzdGF0WydzaXplJ10gPSAkdGhpcy0+Ym9keS0+Z2V0U2l6ZSgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRzdGF0OwogICAgfQoKICAgIC8qKgogICAgICogUHJvdmlkZXMgaW5mb3JtYXRpb24gZm9yIGlzX2RpciwgaXNfZmlsZSwgZmlsZXNpemUsIGV0Yy4gV29ya3Mgb24gYnVja2V0cywga2V5cywgYW5kIHByZWZpeGVzCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcGF0aAogICAgICogQHBhcmFtIGludCAgICAkZmxhZ3MKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IFJldHVybnMgYW4gYXJyYXkgb2Ygc3RhdCBkYXRhCiAgICAgKiBAbGluayBodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL3N0cmVhbXdyYXBwZXIudXJsLXN0YXQucGhwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1cmxfc3RhdCgkcGF0aCwgJGZsYWdzKQogICAgewogICAgICAgIC8vIENoZWNrIGlmIHRoaXMgcGF0aCBpcyBpbiB0aGUgdXJsX3N0YXQgY2FjaGUKICAgICAgICBpZiAoaXNzZXQoc2VsZjo6JG5leHRTdGF0WyRwYXRoXSkpIHsKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OiRuZXh0U3RhdFskcGF0aF07CiAgICAgICAgfQoKICAgICAgICAkcGFydHMgPSAkdGhpcy0+Z2V0UGFyYW1zKCRwYXRoKTsKCiAgICAgICAgLy8gU3RhdCBhIGJ1Y2tldCBvciBqdXN0IHMzOi8vCiAgICAgICAgaWYgKCEkcGFydHNbJ0tleSddICYmICghJHBhcnRzWydCdWNrZXQnXSB8fCBzZWxmOjokY2xpZW50LT5kb2VzQnVja2V0RXhpc3QoJHBhcnRzWydCdWNrZXQnXSkpKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Zm9ybWF0VXJsU3RhdCgkcGF0aCk7CiAgICAgICAgfQoKICAgICAgICAvLyBZb3UgbXVzdCBwYXNzIGVpdGhlciBhIGJ1Y2tldCBvciBhIGJ1Y2tldCArIGtleQogICAgICAgIGlmICghJHBhcnRzWydLZXknXSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnRyaWdnZXJFcnJvcigiRmlsZSBvciBkaXJlY3Rvcnkgbm90IGZvdW5kOiB7JHBhdGh9IiwgJGZsYWdzKTsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAvLyBBdHRlbXB0IHRvIHN0YXQgYW5kIGNhY2hlIHJlZ3VsYXIgb2JqZWN0CiAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPmZvcm1hdFVybFN0YXQoc2VsZjo6JGNsaWVudC0+aGVhZE9iamVjdCgkcGFydHMpLT50b0FycmF5KCkpOwogICAgICAgICAgICB9IGNhdGNoIChOb1N1Y2hLZXlFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgICAgIC8vIE1heWJlIHRoaXMgaXNuJ3QgYW4gYWN0dWFsIGtleSwgYnV0IGEgcHJlZml4LiBEbyBhIHByZWZpeCBsaXN0aW5nIG9mIG9iamVjdHMgdG8gZGV0ZXJtaW5lLgogICAgICAgICAgICAgICAgJHJlc3VsdCA9IHNlbGY6OiRjbGllbnQtPmxpc3RPYmplY3RzKGFycmF5KAogICAgICAgICAgICAgICAgICAgICdCdWNrZXQnICA9PiAkcGFydHNbJ0J1Y2tldCddLAogICAgICAgICAgICAgICAgICAgICdQcmVmaXgnICA9PiAkcGFydHNbJ0tleSddLAogICAgICAgICAgICAgICAgICAgICdNYXhLZXlzJyA9PiAxCiAgICAgICAgICAgICAgICApKTsKICAgICAgICAgICAgICAgIGlmICghJHJlc3VsdFsnQ29udGVudHMnXSAmJiAhJHJlc3VsdFsnQ29tbW9uUHJlZml4ZXMnXSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+dHJpZ2dlckVycm9yKCJGaWxlIG9yIGRpcmVjdG9yeSBub3QgZm91bmQ6IHskcGF0aH0iLCAkZmxhZ3MpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIGRpcmVjdG9yeSBwcmVmaXgKICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Zm9ybWF0VXJsU3RhdCgkcGF0aCk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+dHJpZ2dlckVycm9yKCRlLT5nZXRNZXNzYWdlKCksICRmbGFncyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogU3VwcG9ydCBmb3IgbWtkaXIoKS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXRoICAgIERpcmVjdG9yeSB3aGljaCBzaG91bGQgYmUgY3JlYXRlZC4KICAgICAqIEBwYXJhbSBpbnQgICAgJG1vZGUgICAgUGVybWlzc2lvbnMuIDcwMC1yYW5nZSBwZXJtaXNzaW9ucyBtYXAgdG8gQUNMX1BVQkxJQy4gNjAwLXJhbmdlIHBlcm1pc3Npb25zIG1hcCB0bwogICAgICogICAgICAgICAgICAgICAgICAgICAgICBBQ0xfQVVUSF9SRUFELiBBbGwgb3RoZXIgcGVybWlzc2lvbnMgbWFwIHRvIEFDTF9QUklWQVRFLiBFeHBlY3RzIG9jdGFsIGZvcm0uCiAgICAgKiBAcGFyYW0gaW50ICAgICRvcHRpb25zIEEgYml0d2lzZSBtYXNrIG9mIHZhbHVlcywgc3VjaCBhcyBTVFJFQU1fTUtESVJfUkVDVVJTSVZFLiAodW51c2VkKQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICogQGxpbmsgaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9zdHJlYW13cmFwcGVyLm1rZGlyLnBocAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbWtkaXIoJHBhdGgsICRtb2RlLCAkb3B0aW9ucykKICAgIHsKICAgICAgICAkcGFyYW1zID0gJHRoaXMtPmdldFBhcmFtcygkcGF0aCk7CiAgICAgICAgJHRoaXMtPmNsZWFyU3RhdEluZm8oJHBhdGgpOwoKICAgICAgICBpZiAoISRwYXJhbXNbJ0J1Y2tldCddIHx8ICRwYXJhbXNbJ0tleSddKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlmICghaXNzZXQoJHBhcmFtc1snQUNMJ10pKSB7CiAgICAgICAgICAgICAgICAkbW9kZSA9IGRlY29jdCgkbW9kZSk7CiAgICAgICAgICAgICAgICBpZiAoJG1vZGUgPj0gNzAwIGFuZCAkbW9kZSA8PSA3OTkpIHsKICAgICAgICAgICAgICAgICAgICAkcGFyYW1zWydBQ0wnXSA9ICdwdWJsaWMtcmVhZCc7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJG1vZGUgPj0gNjAwICYmICRtb2RlIDw9IDY5OSkgewogICAgICAgICAgICAgICAgICAgICRwYXJhbXNbJ0FDTCddID0gJ2F1dGhlbnRpY2F0ZWQtcmVhZCc7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRwYXJhbXNbJ0FDTCddID0gJ3ByaXZhdGUnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHNlbGY6OiRjbGllbnQtPmNyZWF0ZUJ1Y2tldCgkcGFyYW1zKTsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnRyaWdnZXJFcnJvcigkZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW1vdmUgYSBidWNrZXQgZnJvbSBBbWF6b24gUzMKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXRoIHRoZSBkaXJlY3RvcnkgcGF0aAogICAgICoKICAgICAqIEByZXR1cm4gYm9vbCB0cnVlIGlmIGRpcmVjdG9yeSB3YXMgc3VjY2Vzc2Z1bGx5IHJlbW92ZWQKICAgICAqIEBsaW5rIGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vc3RyZWFtd3JhcHBlci5ybWRpci5waHAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJtZGlyKCRwYXRoKQogICAgewogICAgICAgICRwYXJhbXMgPSAkdGhpcy0+Z2V0UGFyYW1zKCRwYXRoKTsKICAgICAgICBpZiAoISRwYXJhbXNbJ0J1Y2tldCddKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+dHJpZ2dlckVycm9yKCdZb3UgY2Fubm90IGRlbGV0ZSBzMzovLy4gUGxlYXNlIHNwZWNpZnkgYSBidWNrZXQuJyk7CiAgICAgICAgfSBlbHNlaWYgKCRwYXJhbXNbJ0tleSddKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+dHJpZ2dlckVycm9yKCdybWRpcigpIG9ubHkgc3VwcG9ydHMgYnVja2V0IGRlbGV0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICBzZWxmOjokY2xpZW50LT5kZWxldGVCdWNrZXQoYXJyYXkoJ0J1Y2tldCcgPT4gJHBhcmFtc1snQnVja2V0J10pKTsKICAgICAgICAgICAgJHRoaXMtPmNsZWFyU3RhdEluZm8oJHBhdGgpOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+dHJpZ2dlckVycm9yKCRlLT5nZXRNZXNzYWdlKCkpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFN1cHBvcnQgZm9yIG9wZW5kaXIoKS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXRoICAgIFRoZSBwYXRoIHRvIHRoZSBkaXJlY3RvcnkgKGUuZy4gInMzOi8vZGlyWzwvcHJlZml4Pl0iKQogICAgICogQHBhcmFtIHN0cmluZyAkb3B0aW9ucyBXaGV0aGVyIG9yIG5vdCB0byBlbmZvcmNlIHNhZmVfbW9kZSAoMHgwNCkuIFVudXNlZC4KICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wgdHJ1ZSBvbiBzdWNjZXNzCiAgICAgKiBAc2VlIGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24ub3BlbmRpci5waHAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRpcl9vcGVuZGlyKCRwYXRoLCAkb3B0aW9ucykKICAgIHsKICAgICAgICAvLyBSZXNldCB0aGUgY2FjaGUKICAgICAgICAkdGhpcy0+Y2xlYXJTdGF0SW5mbygpOwogICAgICAgICRwYXJhbXMgPSAkdGhpcy0+Z2V0UGFyYW1zKCRwYXRoKTsKICAgICAgICAkZGVsaW1pdGVyID0gJHRoaXMtPmdldE9wdGlvbignZGVsaW1pdGVyJyk7CgogICAgICAgIGlmICgkZGVsaW1pdGVyID09PSBudWxsKSB7CiAgICAgICAgICAgICRkZWxpbWl0ZXIgPSAnLyc7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHBhcmFtc1snS2V5J10pIHsKICAgICAgICAgICAgJHBhcmFtc1snS2V5J10gPSBydHJpbSgkcGFyYW1zWydLZXknXSwgJGRlbGltaXRlcikgLiAkZGVsaW1pdGVyOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPm9wZW5lZEJ1Y2tldCA9ICRwYXJhbXNbJ0J1Y2tldCddOwogICAgICAgICR0aGlzLT5vcGVuZWRCdWNrZXRQcmVmaXggPSAkcGFyYW1zWydLZXknXTsKICAgICAgICAkb3BlcmF0aW9uUGFyYW1zID0gYXJyYXkoJ0J1Y2tldCcgPT4gJHBhcmFtc1snQnVja2V0J10sICdQcmVmaXgnID0+ICRwYXJhbXNbJ0tleSddKTsKCiAgICAgICAgaWYgKCRkZWxpbWl0ZXIpIHsKICAgICAgICAgICAgJG9wZXJhdGlvblBhcmFtc1snRGVsaW1pdGVyJ10gPSAkZGVsaW1pdGVyOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPm9iamVjdEl0ZXJhdG9yID0gc2VsZjo6JGNsaWVudC0+Z2V0SXRlcmF0b3IoJ0xpc3RPYmplY3RzJywgJG9wZXJhdGlvblBhcmFtcywgYXJyYXkoCiAgICAgICAgICAgICdyZXR1cm5fcHJlZml4ZXMnID0+IHRydWUsCiAgICAgICAgICAgICdzb3J0X3Jlc3VsdHMnICAgID0+IHRydWUKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPm9iamVjdEl0ZXJhdG9yLT5uZXh0KCk7CgogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogQ2xvc2UgdGhlIGRpcmVjdG9yeSBsaXN0aW5nIGhhbmRsZXMKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wgdHJ1ZSBvbiBzdWNjZXNzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBkaXJfY2xvc2VkaXIoKQogICAgewogICAgICAgICR0aGlzLT5vYmplY3RJdGVyYXRvciA9IG51bGw7CgogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIGluIHJlc3BvbnNlIHRvIHJld2luZGRpcigpCiAgICAgKgogICAgICogQHJldHVybiBib29sZWFuIHRydWUgb24gc3VjY2VzcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZGlyX3Jld2luZGRpcigpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsZWFyU3RhdEluZm8oKTsKICAgICAgICAkdGhpcy0+b2JqZWN0SXRlcmF0b3ItPnJld2luZCgpOwoKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBpbiByZXNwb25zZSB0byByZWFkZGlyKCkKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBTaG91bGQgcmV0dXJuIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgbmV4dCBmaWxlbmFtZSwgb3IgZmFsc2UgaWYgdGhlcmUgaXMgbm8gbmV4dCBmaWxlLgogICAgICoKICAgICAqIEBsaW5rIGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24ucmVhZGRpci5waHAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRpcl9yZWFkZGlyKCkKICAgIHsKICAgICAgICAkcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgaWYgKCR0aGlzLT5vYmplY3RJdGVyYXRvci0+dmFsaWQoKSkgewogICAgICAgICAgICAkY3VycmVudCA9ICR0aGlzLT5vYmplY3RJdGVyYXRvci0+Y3VycmVudCgpOwogICAgICAgICAgICBpZiAoaXNzZXQoJGN1cnJlbnRbJ1ByZWZpeCddKSkgewogICAgICAgICAgICAgICAgLy8gSW5jbHVkZSAiZGlyZWN0b3JpZXMiLiBCZSBzdXJlIHRvIHN0cmlwIGEgdHJhaWxpbmcgIi8iIG9uIHByZWZpeGVzLgogICAgICAgICAgICAgICAgJHByZWZpeCA9IHJ0cmltKCRjdXJyZW50WydQcmVmaXgnXSwgJy8nKTsKICAgICAgICAgICAgICAgICRyZXN1bHQgPSBzdHJfcmVwbGFjZSgkdGhpcy0+b3BlbmVkQnVja2V0UHJlZml4LCAnJywgJHByZWZpeCk7CiAgICAgICAgICAgICAgICAka2V5ID0gInMzOi8veyR0aGlzLT5vcGVuZWRCdWNrZXR9L3skcHJlZml4fSI7CiAgICAgICAgICAgICAgICAkc3RhdCA9ICR0aGlzLT5mb3JtYXRVcmxTdGF0KCRwcmVmaXgpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBwcmVmaXggZnJvbSB0aGUgcmVzdWx0IHRvIGVtdWxhdGUgb3RoZXIgc3RyZWFtIHdyYXBwZXJzCiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gc3RyX3JlcGxhY2UoJHRoaXMtPm9wZW5lZEJ1Y2tldFByZWZpeCwgJycsICRjdXJyZW50WydLZXknXSk7CiAgICAgICAgICAgICAgICAka2V5ID0gInMzOi8veyR0aGlzLT5vcGVuZWRCdWNrZXR9L3skY3VycmVudFsnS2V5J119IjsKICAgICAgICAgICAgICAgICRzdGF0ID0gJHRoaXMtPmZvcm1hdFVybFN0YXQoJGN1cnJlbnQpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBDYWNoZSB0aGUgb2JqZWN0IGRhdGEgZm9yIHF1aWNrIHVybF9zdGF0IGxvb2t1cHMgdXNlZCB3aXRoIFJlY3Vyc2l2ZURpcmVjdG9yeUl0ZXJhdG9yCiAgICAgICAgICAgIHNlbGY6OiRuZXh0U3RhdCA9IGFycmF5KCRrZXkgPT4gJHN0YXQpOwogICAgICAgICAgICAkdGhpcy0+b2JqZWN0SXRlcmF0b3ItPm5leHQoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQoKICAgIC8qKgogICAgICogQ2FsbGVkIGluIHJlc3BvbnNlIHRvIHJlbmFtZSgpIHRvIHJlbmFtZSBhIGZpbGUgb3IgZGlyZWN0b3J5LiBDdXJyZW50bHkgb25seSBzdXBwb3J0cyByZW5hbWluZyBvYmplY3RzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdGhfZnJvbSB0aGUgcGF0aCB0byB0aGUgZmlsZSB0byByZW5hbWUKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdGhfdG8gICB0aGUgbmV3IHBhdGggdG8gdGhlIGZpbGUKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wgdHJ1ZSBpZiBmaWxlIHdhcyBzdWNjZXNzZnVsbHkgcmVuYW1lZAogICAgICogQGxpbmsgaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5yZW5hbWUucGhwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZW5hbWUoJHBhdGhfZnJvbSwgJHBhdGhfdG8pCiAgICB7CiAgICAgICAgJHBhcnRzRnJvbSA9ICR0aGlzLT5nZXRQYXJhbXMoJHBhdGhfZnJvbSk7CiAgICAgICAgJHBhcnRzVG8gPSAkdGhpcy0+Z2V0UGFyYW1zKCRwYXRoX3RvKTsKICAgICAgICAkdGhpcy0+Y2xlYXJTdGF0SW5mbygkcGF0aF9mcm9tKTsKICAgICAgICAkdGhpcy0+Y2xlYXJTdGF0SW5mbygkcGF0aF90byk7CgogICAgICAgIGlmICghJHBhcnRzRnJvbVsnS2V5J10gfHwgISRwYXJ0c1RvWydLZXknXSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnRyaWdnZXJFcnJvcignVGhlIEFtYXpvbiBTMyBzdHJlYW0gd3JhcHBlciBvbmx5IHN1cHBvcnRzIGNvcHlpbmcgb2JqZWN0cycpOwogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgLy8gQ29weSB0aGUgb2JqZWN0IGFuZCBhbGxvdyBvdmVycmlkaW5nIGRlZmF1bHQgcGFyYW1ldGVycyBpZiBkZXNpcmVkLCBidXQgYnkgZGVmYXVsdCBjb3B5IG1ldGFkYXRhCiAgICAgICAgICAgIHNlbGY6OiRjbGllbnQtPmNvcHlPYmplY3QoJHRoaXMtPmdldE9wdGlvbnMoKSArIGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJHBhcnRzVG9bJ0J1Y2tldCddLAogICAgICAgICAgICAgICAgJ0tleScgPT4gJHBhcnRzVG9bJ0tleSddLAogICAgICAgICAgICAgICAgJ0NvcHlTb3VyY2UnID0+ICcvJyAuICRwYXJ0c0Zyb21bJ0J1Y2tldCddIC4gJy8nIC4gcmF3dXJsZW5jb2RlKCRwYXJ0c0Zyb21bJ0tleSddKSwKICAgICAgICAgICAgICAgICdNZXRhZGF0YURpcmVjdGl2ZScgPT4gJ0NPUFknCiAgICAgICAgICAgICkpOwogICAgICAgICAgICAvLyBEZWxldGUgdGhlIG9yaWdpbmFsIG9iamVjdAogICAgICAgICAgICBzZWxmOjokY2xpZW50LT5kZWxldGVPYmplY3QoYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiAkcGFydHNGcm9tWydCdWNrZXQnXSwKICAgICAgICAgICAgICAgICdLZXknICAgID0+ICRwYXJ0c0Zyb21bJ0tleSddCiAgICAgICAgICAgICkgKyAkdGhpcy0+Z2V0T3B0aW9ucygpKTsKICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+dHJpZ2dlckVycm9yKCRlLT5nZXRNZXNzYWdlKCkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBDYXN0IHRoZSBzdHJlYW0gdG8gcmV0dXJuIHRoZSB1bmRlcmx5aW5nIGZpbGUgcmVzb3VyY2UKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRjYXN0X2FzIFNUUkVBTV9DQVNUX0ZPUl9TRUxFQ1Qgb3IgU1RSRUFNX0NBU1RfQVNfU1RSRUFNCiAgICAgKgogICAgICogQHJldHVybiByZXNvdXJjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc3RyZWFtX2Nhc3QoJGNhc3RfYXMpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ib2R5LT5nZXRTdHJlYW0oKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgc3RyZWFtIGNvbnRleHQgb3B0aW9ucyBhdmFpbGFibGUgdG8gdGhlIGN1cnJlbnQgc3RyZWFtCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0T3B0aW9ucygpCiAgICB7CiAgICAgICAgJGNvbnRleHQgPSAkdGhpcy0+Y29udGV4dCA/OiBzdHJlYW1fY29udGV4dF9nZXRfZGVmYXVsdCgpOwogICAgICAgICRvcHRpb25zID0gc3RyZWFtX2NvbnRleHRfZ2V0X29wdGlvbnMoJGNvbnRleHQpOwoKICAgICAgICByZXR1cm4gaXNzZXQoJG9wdGlvbnNbJ3MzJ10pID8gJG9wdGlvbnNbJ3MzJ10gOiBhcnJheSgpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGEgc3BlY2lmaWMgc3RyZWFtIGNvbnRleHQgb3B0aW9uCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSBOYW1lIG9mIHRoZSBvcHRpb24gdG8gcmV0cmlldmUKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkfG51bGwKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldE9wdGlvbigkbmFtZSkKICAgIHsKICAgICAgICAkb3B0aW9ucyA9ICR0aGlzLT5nZXRPcHRpb25zKCk7CgogICAgICAgIHJldHVybiBpc3NldCgkb3B0aW9uc1skbmFtZV0pID8gJG9wdGlvbnNbJG5hbWVdIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgYnVja2V0IGFuZCBrZXkgZnJvbSB0aGUgcGFzc2VkIHBhdGggKGUuZy4gczM6Ly9idWNrZXQva2V5KQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdGggUGF0aCBwYXNzZWQgdG8gdGhlIHN0cmVhbSB3cmFwcGVyCiAgICAgKgogICAgICogQHJldHVybiBhcnJheSBIYXNoIG9mICdCdWNrZXQnLCAnS2V5JywgYW5kIGN1c3RvbSBwYXJhbXMKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldFBhcmFtcygkcGF0aCkKICAgIHsKICAgICAgICAkcGFydHMgPSBleHBsb2RlKCcvJywgc3Vic3RyKCRwYXRoLCA1KSwgMik7CgogICAgICAgICRwYXJhbXMgPSAkdGhpcy0+Z2V0T3B0aW9ucygpOwogICAgICAgIHVuc2V0KCRwYXJhbXNbJ3NlZWthYmxlJ10pOwogICAgICAgIHVuc2V0KCRwYXJhbXNbJ3Rocm93X2V4Y2VwdGlvbnMnXSk7CgogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJHBhcnRzWzBdLAogICAgICAgICAgICAnS2V5JyAgICA9PiBpc3NldCgkcGFydHNbMV0pID8gJHBhcnRzWzFdIDogbnVsbAogICAgICAgICkgKyAkcGFyYW1zOwogICAgfQoKICAgIC8qKgogICAgICogU2VyaWFsaXplIGFuZCBzaWduIGEgY29tbWFuZCwgcmV0dXJuaW5nIGEgcmVxdWVzdCBvYmplY3QKICAgICAqCiAgICAgKiBAcGFyYW0gQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCBDb21tYW5kIHRvIHNpZ24KICAgICAqCiAgICAgKiBAcmV0dXJuIFJlcXVlc3RJbnRlcmZhY2UKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldFNpZ25lZFJlcXVlc3QoJGNvbW1hbmQpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgICRyZXF1ZXN0LT5kaXNwYXRjaCgncmVxdWVzdC5iZWZvcmVfc2VuZCcsIGFycmF5KCdyZXF1ZXN0JyA9PiAkcmVxdWVzdCkpOwoKICAgICAgICByZXR1cm4gJHJlcXVlc3Q7CiAgICB9CgogICAgLyoqCiAgICAgKiBJbml0aWFsaXplIHRoZSBzdHJlYW0gd3JhcHBlciBmb3IgYSByZWFkIG9ubHkgc3RyZWFtCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRwYXJhbXMgT3BlcmF0aW9uIHBhcmFtZXRlcnMKICAgICAqIEBwYXJhbSBhcnJheSAkZXJyb3JzIEFueSBlbmNvdW50ZXJlZCBlcnJvcnMgdG8gYXBwZW5kIHRvCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBvcGVuUmVhZFN0cmVhbShhcnJheSAkcGFyYW1zLCBhcnJheSAmJGVycm9ycykKICAgIHsKICAgICAgICAvLyBDcmVhdGUgdGhlIGNvbW1hbmQgYW5kIHNlcmlhbGl6ZSB0aGUgcmVxdWVzdAogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmdldFNpZ25lZFJlcXVlc3Qoc2VsZjo6JGNsaWVudC0+Z2V0Q29tbWFuZCgnR2V0T2JqZWN0JywgJHBhcmFtcykpOwogICAgICAgIC8vIENyZWF0ZSBhIHN0cmVhbSB0aGF0IHVzZXMgdGhlIEVudGl0eUJvZHkgb2JqZWN0CiAgICAgICAgJGZhY3RvcnkgPSAkdGhpcy0+Z2V0T3B0aW9uKCdzdHJlYW1fZmFjdG9yeScpID86IG5ldyBQaHBTdHJlYW1SZXF1ZXN0RmFjdG9yeSgpOwogICAgICAgICR0aGlzLT5ib2R5ID0gJGZhY3RvcnktPmZyb21SZXF1ZXN0KCRyZXF1ZXN0LCBhcnJheSgpLCBhcnJheSgnc3RyZWFtX2NsYXNzJyA9PiAnR3V6emxlXEh0dHBcRW50aXR5Qm9keScpKTsKCiAgICAgICAgLy8gV3JhcCB0aGUgYm9keSBpbiBhIGNhY2hpbmcgZW50aXR5IGJvZHkgaWYgc2Vla2luZyBpcyBhbGxvd2VkCiAgICAgICAgaWYgKCR0aGlzLT5nZXRPcHRpb24oJ3NlZWthYmxlJykpIHsKICAgICAgICAgICAgJHRoaXMtPmJvZHkgPSBuZXcgQ2FjaGluZ0VudGl0eUJvZHkoJHRoaXMtPmJvZHkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBJbml0aWFsaXplIHRoZSBzdHJlYW0gd3JhcHBlciBmb3IgYSB3cml0ZSBvbmx5IHN0cmVhbQogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIE9wZXJhdGlvbiBwYXJhbWV0ZXJzCiAgICAgKiBAcGFyYW0gYXJyYXkgJGVycm9ycyBBbnkgZW5jb3VudGVyZWQgZXJyb3JzIHRvIGFwcGVuZCB0bwogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gb3BlbldyaXRlU3RyZWFtKGFycmF5ICRwYXJhbXMsIGFycmF5ICYkZXJyb3JzKQogICAgewogICAgICAgICR0aGlzLT5ib2R5ID0gbmV3IEVudGl0eUJvZHkoZm9wZW4oJ3BocDovL3RlbXAnLCAncisnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBJbml0aWFsaXplIHRoZSBzdHJlYW0gd3JhcHBlciBmb3IgYW4gYXBwZW5kIHN0cmVhbQogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIE9wZXJhdGlvbiBwYXJhbWV0ZXJzCiAgICAgKiBAcGFyYW0gYXJyYXkgJGVycm9ycyBBbnkgZW5jb3VudGVyZWQgZXJyb3JzIHRvIGFwcGVuZCB0bwogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gb3BlbkFwcGVuZFN0cmVhbShhcnJheSAkcGFyYW1zLCBhcnJheSAmJGVycm9ycykKICAgIHsKICAgICAgICB0cnkgewogICAgICAgICAgICAvLyBHZXQgdGhlIGJvZHkgb2YgdGhlIG9iamVjdAogICAgICAgICAgICAkdGhpcy0+Ym9keSA9IHNlbGY6OiRjbGllbnQtPmdldE9iamVjdCgkcGFyYW1zKS0+Z2V0KCdCb2R5Jyk7CiAgICAgICAgICAgICR0aGlzLT5ib2R5LT5zZWVrKDAsIFNFRUtfRU5EKTsKICAgICAgICB9IGNhdGNoIChTM0V4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAvLyBUaGUgb2JqZWN0IGRvZXMgbm90IGV4aXN0LCBzbyB1c2UgYSBzaW1wbGUgd3JpdGUgc3RyZWFtCiAgICAgICAgICAgICR0aGlzLT5vcGVuV3JpdGVTdHJlYW0oJHBhcmFtcywgJGVycm9ycyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIFRyaWdnZXIgb25lIG9yIG1vcmUgZXJyb3JzCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xhcnJheSAkZXJyb3JzIEVycm9ycyB0byB0cmlnZ2VyCiAgICAgKiBAcGFyYW0gbWl4ZWQgICAgICAgICRmbGFncyAgSWYgc2V0IHRvIFNUUkVBTV9VUkxfU1RBVF9RVUlFVCwgdGhlbiBubyBlcnJvciBvciBleGNlcHRpb24gb2NjdXJzCiAgICAgKgogICAgICogQHJldHVybiBib29sIFJldHVybnMgZmFsc2UKICAgICAqIEB0aHJvd3MgUnVudGltZUV4Y2VwdGlvbiBpZiB0aHJvd19lcnJvcnMgaXMgdHJ1ZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdHJpZ2dlckVycm9yKCRlcnJvcnMsICRmbGFncyA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKCRmbGFncyAhPSBTVFJFQU1fVVJMX1NUQVRfUVVJRVQpIHsKICAgICAgICAgICAgaWYgKCR0aGlzLT5nZXRPcHRpb24oJ3Rocm93X2V4Y2VwdGlvbnMnKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oaW1wbG9kZSgiXG4iLCAoYXJyYXkpICRlcnJvcnMpKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRyaWdnZXJfZXJyb3IoaW1wbG9kZSgiXG4iLCAoYXJyYXkpICRlcnJvcnMpLCBFX1VTRVJfV0FSTklORyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIFByZXBhcmUgYSB1cmxfc3RhdCByZXN1bHQgYXJyYXkKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfGFycmF5ICRyZXN1bHQgRGF0YSB0byBhZGQKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IFJldHVybnMgdGhlIG1vZGlmaWVkIHVybF9zdGF0IHJlc3VsdAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZm9ybWF0VXJsU3RhdCgkcmVzdWx0ID0gbnVsbCkKICAgIHsKICAgICAgICBzdGF0aWMgJHN0YXRUZW1wbGF0ZSA9IGFycmF5KAogICAgICAgICAgICAwICA9PiAwLCAgJ2RldicgICAgID0+IDAsCiAgICAgICAgICAgIDEgID0+IDAsICAnaW5vJyAgICAgPT4gMCwKICAgICAgICAgICAgMiAgPT4gMCwgICdtb2RlJyAgICA9PiAwLAogICAgICAgICAgICAzICA9PiAwLCAgJ25saW5rJyAgID0+IDAsCiAgICAgICAgICAgIDQgID0+IDAsICAndWlkJyAgICAgPT4gMCwKICAgICAgICAgICAgNSAgPT4gMCwgICdnaWQnICAgICA9PiAwLAogICAgICAgICAgICA2ICA9PiAtMSwgJ3JkZXYnICAgID0+IC0xLAogICAgICAgICAgICA3ICA9PiAwLCAgJ3NpemUnICAgID0+IDAsCiAgICAgICAgICAgIDggID0+IDAsICAnYXRpbWUnICAgPT4gMCwKICAgICAgICAgICAgOSAgPT4gMCwgICdtdGltZScgICA9PiAwLAogICAgICAgICAgICAxMCA9PiAwLCAgJ2N0aW1lJyAgID0+IDAsCiAgICAgICAgICAgIDExID0+IC0xLCAnYmxrc2l6ZScgPT4gLTEsCiAgICAgICAgICAgIDEyID0+IC0xLCAnYmxvY2tzJyAgPT4gLTEsCiAgICAgICAgKTsKCiAgICAgICAgJHN0YXQgPSAkc3RhdFRlbXBsYXRlOwoKICAgICAgICAvLyBEZXRlcm1pbmUgd2hhdCB0eXBlIG9mIGRhdGEgaXMgYmVpbmcgY2FjaGVkCiAgICAgICAgaWYgKCEkcmVzdWx0IHx8IGlzX3N0cmluZygkcmVzdWx0KSkgewogICAgICAgICAgICAvLyBEaXJlY3Rvcnkgd2l0aCAwNzc3IGFjY2VzcyAtIHNlZSAibWFuIDIgc3RhdCIuCiAgICAgICAgICAgICRzdGF0Wydtb2RlJ10gPSAkc3RhdFsyXSA9IDAwNDA3Nzc7CiAgICAgICAgfSBlbHNlaWYgKGlzX2FycmF5KCRyZXN1bHQpICYmIGlzc2V0KCRyZXN1bHRbJ0xhc3RNb2RpZmllZCddKSkgewogICAgICAgICAgICAvLyBMaXN0T2JqZWN0cyBvciBIZWFkT2JqZWN0IHJlc3VsdAogICAgICAgICAgICAkc3RhdFsnbXRpbWUnXSA9ICRzdGF0WzldID0gJHN0YXRbJ2N0aW1lJ10gPSAkc3RhdFsxMF0gPSBzdHJ0b3RpbWUoJHJlc3VsdFsnTGFzdE1vZGlmaWVkJ10pOwogICAgICAgICAgICAkc3RhdFsnc2l6ZSddID0gJHN0YXRbN10gPSAoaXNzZXQoJHJlc3VsdFsnQ29udGVudExlbmd0aCddKSA/ICRyZXN1bHRbJ0NvbnRlbnRMZW5ndGgnXSA6ICRyZXN1bHRbJ1NpemUnXSk7CiAgICAgICAgICAgIC8vIFJlZ3VsYXIgZmlsZSB3aXRoIDA3NzcgYWNjZXNzIC0gc2VlICJtYW4gMiBzdGF0Ii4KICAgICAgICAgICAgJHN0YXRbJ21vZGUnXSA9ICRzdGF0WzJdID0gMDEwMDc3NzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkc3RhdFsnbW9kZSddID0gJHN0YXRbMl0gPSAwMTAwNzc3OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRzdGF0OwogICAgfQoKICAgIC8qKgogICAgICogQ2xlYXIgdGhlIG5leHQgc3RhdCByZXN1bHQgZnJvbSB0aGUgY2FjaGUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXRoIElmIGEgcGF0aCBpcyBzcGVjaWZpYywgY2xlYXJzdGF0Y2FjaGUoKSB3aWxsIGJlIGNhbGxlZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY2xlYXJTdGF0SW5mbygkcGF0aCA9IG51bGwpCiAgICB7CiAgICAgICAgc2VsZjo6JG5leHRTdGF0ID0gYXJyYXkoKTsKICAgICAgICBpZiAoJHBhdGgpIHsKICAgICAgICAgICAgY2xlYXJzdGF0Y2FjaGUodHJ1ZSwgJHBhdGgpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Sync/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Sync/AbstractSync.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcU3luYzsKCnVzZSBBd3NcUzNcUzNDbGllbnQ7CnVzZSBHdXp6bGVcQ29tbW9uXEFic3RyYWN0SGFzRGlzcGF0Y2hlcjsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxJdGVyYXRvclxDaHVua2VkSXRlcmF0b3I7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2U7CgphYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFN5bmMgZXh0ZW5kcyBBYnN0cmFjdEhhc0Rpc3BhdGNoZXIKewogICAgY29uc3QgQkVGT1JFX1RSQU5TRkVSID0gJ3MzLnN5bmMuYmVmb3JlX3RyYW5zZmVyJzsKICAgIGNvbnN0IEFGVEVSX1RSQU5TRkVSID0gJ3MzLnN5bmMuYWZ0ZXJfdHJhbnNmZXInOwoKICAgIC8qKiBAdmFyIENvbGxlY3Rpb24gKi8KICAgIHByb3RlY3RlZCAkb3B0aW9uczsKCiAgICAvKioKICAgICAqIEBwYXJhbSBhcnJheSAkb3B0aW9ucyBBc3NvY2lhdGl2ZSBhcnJheSBvZiBvcHRpb25zOgogICAgICogICAgIC0gY2xpZW50OiAoUzNDbGllbnQpIHVzZWQgdG8gdHJhbnNmZXIgcmVxdWVzdHMKICAgICAqICAgICAtIGJ1Y2tldDogKHN0cmluZykgQW1hem9uIFMzIGJ1Y2tldAogICAgICogICAgIC0gaXRlcmF0b3I6IChcSXRlcmF0b3IpIEl0ZXJhdG9yIHRoYXQgeWllbGRzIFNwbEZpbGVJbmZvIG9iamVjdHMgdG8gdHJhbnNmZXIKICAgICAqICAgICAtIHNvdXJjZV9jb252ZXJ0ZXI6IChGaWxlbmFtZUNvbnZlcnRlckludGVyZmFjZSkgQ29udmVydGVyIHVzZWQgdG8gY29udmVydCBmaWxlbmFtZXMKICAgICAqICAgICAtICo6IEFueSBvdGhlciBvcHRpb25zIHJlcXVpcmVkIGJ5IHN1YmNsYXNzZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KGFycmF5ICRvcHRpb25zKQogICAgewogICAgICAgICR0aGlzLT5vcHRpb25zID0gQ29sbGVjdGlvbjo6ZnJvbUNvbmZpZygKICAgICAgICAgICAgJG9wdGlvbnMsCiAgICAgICAgICAgIGFycmF5KCdjb25jdXJyZW5jeScgPT4gMTApLAogICAgICAgICAgICBhcnJheSgnY2xpZW50JywgJ2J1Y2tldCcsICdpdGVyYXRvcicsICdzb3VyY2VfY29udmVydGVyJykKICAgICAgICApOwogICAgICAgICR0aGlzLT5pbml0KCk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRBbGxFdmVudHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheShzZWxmOjpCRUZPUkVfVFJBTlNGRVIsIHNlbGY6OkFGVEVSX1RSQU5TRkVSKTsKICAgIH0KCiAgICAvKioKICAgICAqIEJlZ2luIHRyYW5zZmVycmluZyBmaWxlcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmZXIoKQogICAgewogICAgICAgIC8vIFB1bGwgb3V0IGNodW5rcyBvZiB1cGxvYWRzIHRvIHVwbG9hZCBpbiBwYXJhbGxlbAogICAgICAgICRpdGVyYXRvciA9IG5ldyBDaHVua2VkSXRlcmF0b3IoJHRoaXMtPm9wdGlvbnNbJ2l0ZXJhdG9yJ10sICR0aGlzLT5vcHRpb25zWydjb25jdXJyZW5jeSddKTsKICAgICAgICBmb3JlYWNoICgkaXRlcmF0b3IgYXMgJGZpbGVzKSB7CiAgICAgICAgICAgICR0aGlzLT50cmFuc2ZlckZpbGVzKCRmaWxlcyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgY29tbWFuZCBvciBzcGVjaWFsIHRyYW5zZmVyIGFjdGlvbiBmb3IgdGhlCiAgICAgKgogICAgICogQHBhcmFtIFxTcGxGaWxlSW5mbyAkZmlsZSBGaWxlIHVzZWQgdG8gYnVpbGQgdGhlIHRyYW5zZmVyCiAgICAgKgogICAgICogQHJldHVybiBDb21tYW5kSW50ZXJmYWNlfGNhbGxhYmxlCiAgICAgKi8KICAgIGFic3RyYWN0IHByb3RlY3RlZCBmdW5jdGlvbiBjcmVhdGVUcmFuc2ZlckFjdGlvbihcU3BsRmlsZUluZm8gJGZpbGUpOwoKICAgIC8qKgogICAgICogSG9vayB0byBpbml0aWFsaXplIHN1YmNsYXNzZXMKICAgICAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGluaXQoKSB7fQoKICAgIC8qKgogICAgICogUHJvY2VzcyBhbmQgdHJhbnNmZXIgYSBncm91cCBvZiBmaWxlcwogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkZmlsZXMgRmlsZXMgdG8gdHJhbnNmZXIKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHRyYW5zZmVyRmlsZXMoYXJyYXkgJGZpbGVzKQogICAgewogICAgICAgIC8vIENyZWF0ZSB0aGUgYmFzZSBldmVudCBkYXRhIG9iamVjdAogICAgICAgICRldmVudCA9IGFycmF5KCdzeW5jJyA9PiAkdGhpcywgJ2NsaWVudCcgPT4gJHRoaXMtPm9wdGlvbnNbJ2NsaWVudCddKTsKCiAgICAgICAgJGNvbW1hbmRzID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGUpIHsKICAgICAgICAgICAgaWYgKCRhY3Rpb24gPSAkdGhpcy0+Y3JlYXRlVHJhbnNmZXJBY3Rpb24oJGZpbGUpKSB7CiAgICAgICAgICAgICAgICAkZXZlbnQgPSBhcnJheSgnY29tbWFuZCcgPT4gJGFjdGlvbiwgJ2ZpbGUnID0+ICRmaWxlKSArICRldmVudDsKICAgICAgICAgICAgICAgICR0aGlzLT5kaXNwYXRjaChzZWxmOjpCRUZPUkVfVFJBTlNGRVIsICRldmVudCk7CiAgICAgICAgICAgICAgICBpZiAoJGFjdGlvbiBpbnN0YW5jZW9mIENvbW1hbmRJbnRlcmZhY2UpIHsKICAgICAgICAgICAgICAgICAgICAkY29tbWFuZHNbXSA9ICRhY3Rpb247CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoaXNfY2FsbGFibGUoJGFjdGlvbikpIHsKICAgICAgICAgICAgICAgICAgICAkYWN0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmRpc3BhdGNoKHNlbGY6OkFGVEVSX1RSQU5TRkVSLCAkZXZlbnQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+dHJhbnNmZXJDb21tYW5kcygkY29tbWFuZHMpOwogICAgfQoKICAgIC8qKgogICAgICogVHJhbnNmZXIgYW4gYXJyYXkgb2YgY29tbWFuZHMgaW4gcGFyYWxsZWwKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGNvbW1hbmRzIENvbW1hbmRzIHRvIHRyYW5zZmVyCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiB0cmFuc2ZlckNvbW1hbmRzKGFycmF5ICRjb21tYW5kcykKICAgIHsKICAgICAgICBpZiAoJGNvbW1hbmRzKSB7CiAgICAgICAgICAgICR0aGlzLT5vcHRpb25zWydjbGllbnQnXS0+ZXhlY3V0ZSgkY29tbWFuZHMpOwogICAgICAgICAgICAvLyBOb3RpZnkgbGlzdGVuZXJzIHRoYXQgZWFjaCBjb21tYW5kIGZpbmlzaGVkCiAgICAgICAgICAgICRldmVudCA9IGFycmF5KCdzeW5jJyA9PiAkdGhpcywgJ2NsaWVudCcgPT4gJHRoaXMtPm9wdGlvbnNbJ2NsaWVudCddKTsKICAgICAgICAgICAgZm9yZWFjaCAoJGNvbW1hbmRzIGFzICRjb21tYW5kKSB7CiAgICAgICAgICAgICAgICAkZXZlbnRbJ2NvbW1hbmQnXSA9ICRjb21tYW5kOwogICAgICAgICAgICAgICAgJHRoaXMtPmRpc3BhdGNoKHNlbGY6OkFGVEVSX1RSQU5TRkVSLCAkZXZlbnQpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Sync/AbstractSyncBuilder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcU3luYzsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cVW5leHBlY3RlZFZhbHVlRXhjZXB0aW9uOwp1c2UgQXdzXENvbW1vblxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVHJhbnNmZXJJbnRlcmZhY2U7CnVzZSBBd3NcUzNcUzNDbGllbnQ7CnVzZSBBd3NcUzNcSXRlcmF0b3JcT3BlbmRpckl0ZXJhdG9yOwp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIEd1enpsZVxDb21tb25cSGFzRGlzcGF0Y2hlckludGVyZmFjZTsKdXNlIEd1enpsZVxJdGVyYXRvclxGaWx0ZXJJdGVyYXRvcjsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0U3luY0J1aWxkZXIKewogICAgLyoqIEB2YXIgXEl0ZXJhdG9yIEl0ZXJhdG9yIHRoYXQgcmV0dXJucyBTcGxGaWxlSW5mbyBvYmplY3RzIHRvIHVwbG9hZCAqLwogICAgcHJvdGVjdGVkICRzb3VyY2VJdGVyYXRvcjsKCiAgICAvKiogQHZhciBTM0NsaWVudCBBbWF6b24gUzMgY2xpZW50IHVzZWQgdG8gc2VuZCByZXF1ZXN0cyAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgLyoqIEB2YXIgc3RyaW5nIEJ1Y2tldCB1c2VkIHdpdGggdGhlIHRyYW5zZmVyICovCiAgICBwcm90ZWN0ZWQgJGJ1Y2tldDsKCiAgICAvKiogQHZhciBpbnQgTnVtYmVyIG9mIGZpbGVzIHRoYXQgY2FuIGJlIHRyYW5zZmVycmVkIGNvbmN1cnJlbnRseSAqLwogICAgcHJvdGVjdGVkICRjb25jdXJyZW5jeSA9IDEwOwoKICAgIC8qKiBAdmFyIGFycmF5IEN1c3RvbSBwYXJhbWV0ZXJzIHRvIGFkZCB0byBlYWNoIG9wZXJhdGlvbiBzZW50IHdoaWxlIHRyYW5zZmVycmluZyAqLwogICAgcHJvdGVjdGVkICRwYXJhbXMgPSBhcnJheSgpOwoKICAgIC8qKiBAdmFyIEZpbGVuYW1lQ29udmVydGVySW50ZXJmYWNlICovCiAgICBwcm90ZWN0ZWQgJHNvdXJjZUNvbnZlcnRlcjsKCiAgICAvKiogQHZhciBGaWxlbmFtZUNvbnZlcnRlckludGVyZmFjZSAqLwogICAgcHJvdGVjdGVkICR0YXJnZXRDb252ZXJ0ZXI7CgogICAgLyoqIEB2YXIgc3RyaW5nIFByZWZpeCBhdCBwcmVwZW5kIHRvIGVhY2ggQW1hem9uIFMzIG9iamVjdCBrZXkgKi8KICAgIHByb3RlY3RlZCAka2V5UHJlZml4ID0gJyc7CgogICAgLyoqIEB2YXIgc3RyaW5nIERpcmVjdG9yeSBzZXBhcmF0b3IgZm9yIEFtYXpvbiBTMyBrZXlzICovCiAgICBwcm90ZWN0ZWQgJGRlbGltaXRlciA9ICcvJzsKCiAgICAvKiogQHZhciBzdHJpbmcgQmFzZSBkaXJlY3RvcnkgdG8gcmVtb3ZlIGZyb20gZWFjaCBmaWxlIHBhdGggYmVmb3JlIGNvbnZlcnRpbmcgdG8gYW4gb2JqZWN0IG5hbWUgb3IgZmlsZSBuYW1lICovCiAgICBwcm90ZWN0ZWQgJGJhc2VEaXI7CgogICAgLyoqIEB2YXIgYm9vbCBXaGV0aGVyIG9yIG5vdCB0byBvbmx5IHRyYW5zZmVyIG1vZGlmaWVkIG9yIG5ldyBmaWxlcyAqLwogICAgcHJvdGVjdGVkICRmb3JjaW5nID0gZmFsc2U7CgogICAgLyoqIEB2YXIgYm9vbCBXaGV0aGVyIG9yIG5vdCBkZWJ1ZyBvdXRwdXQgaXMgZW5hYmxlICovCiAgICBwcm90ZWN0ZWQgJGRlYnVnOwoKICAgIC8qKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0SW5zdGFuY2UoKQogICAgewogICAgICAgIHJldHVybiBuZXcgc3RhdGljKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGJ1Y2tldCB0byB1c2Ugd2l0aCB0aGUgc3luYwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1Y2tldCBBbWF6b24gUzMgYnVja2V0IG5hbWUKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEJ1Y2tldCgkYnVja2V0KQogICAgewogICAgICAgICR0aGlzLT5idWNrZXQgPSAkYnVja2V0OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIEFtYXpvbiBTMyBjbGllbnQgb2JqZWN0IHRoYXQgd2lsbCBzZW5kIHJlcXVlc3RzCiAgICAgKgogICAgICogQHBhcmFtIFMzQ2xpZW50ICRjbGllbnQgQW1hem9uIFMzIGNsaWVudAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Q2xpZW50KFMzQ2xpZW50ICRjbGllbnQpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9ICRjbGllbnQ7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBhIGN1c3RvbSBpdGVyYXRvciB0aGF0IHJldHVybnMgXFNwbEZpbGVJbmZvIG9iamVjdHMgZm9yIHRoZSBzb3VyY2UgZGF0YQogICAgICoKICAgICAqIEBwYXJhbSBcSXRlcmF0b3IgJGl0ZXJhdG9yCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRTb3VyY2VJdGVyYXRvcihcSXRlcmF0b3IgJGl0ZXJhdG9yKQogICAgewogICAgICAgICR0aGlzLT5zb3VyY2VJdGVyYXRvciA9ICRpdGVyYXRvcjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IGEgY3VzdG9tIG9iamVjdCBrZXkgcHJvdmlkZXIgaW5zdGVhZCBvZiBidWlsZGluZyBvbmUgaW50ZXJuYWxseQogICAgICoKICAgICAqIEBwYXJhbSBGaWxlTmFtZUNvbnZlcnRlckludGVyZmFjZSAkY29udmVydGVyIEZpbGVuYW1lIHRvIG9iamVjdCBrZXkgcHJvdmlkZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFNvdXJjZUZpbGVuYW1lQ29udmVydGVyKEZpbGVuYW1lQ29udmVydGVySW50ZXJmYWNlICRjb252ZXJ0ZXIpCiAgICB7CiAgICAgICAgJHRoaXMtPnNvdXJjZUNvbnZlcnRlciA9ICRjb252ZXJ0ZXI7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBhIGN1c3RvbSBvYmplY3Qga2V5IHByb3ZpZGVyIGluc3RlYWQgb2YgYnVpbGRpbmcgb25lIGludGVybmFsbHkKICAgICAqCiAgICAgKiBAcGFyYW0gRmlsZU5hbWVDb252ZXJ0ZXJJbnRlcmZhY2UgJGNvbnZlcnRlciBGaWxlbmFtZSB0byBvYmplY3Qga2V5IHByb3ZpZGVyCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRUYXJnZXRGaWxlbmFtZUNvbnZlcnRlcihGaWxlbmFtZUNvbnZlcnRlckludGVyZmFjZSAkY29udmVydGVyKQogICAgewogICAgICAgICR0aGlzLT50YXJnZXRDb252ZXJ0ZXIgPSAkY29udmVydGVyOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGJhc2UgZGlyZWN0b3J5IG9mIHRoZSBmaWxlcyBiZWluZyB0cmFuc2ZlcnJlZC4gVGhlIGJhc2UgZGlyZWN0b3J5IGlzIHJlbW92ZWQgZnJvbSBlYWNoIGZpbGUgcGF0aCBiZWZvcmUKICAgICAqIGNvbnZlcnRpbmcgdGhlIGZpbGUgcGF0aCB0byBhbiBvYmplY3Qga2V5IG9yIHZpY2UgdmVyc2EuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkYmFzZURpciBCYXNlIGRpcmVjdG9yeSwgd2hpY2ggd2lsbCBiZSBkZWxldGVkIGZyb20gZWFjaCB1cGxvYWRlZCBvYmplY3Qga2V5CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRCYXNlRGlyKCRiYXNlRGlyKQogICAgewogICAgICAgICR0aGlzLT5iYXNlRGlyID0gJGJhc2VEaXI7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNwZWNpZnkgYSBwcmVmaXggdG8gcHJlcGVuZCB0byBlYWNoIEFtYXpvbiBTMyBvYmplY3Qga2V5IG9yIHRoZSBwcmVmaXggd2hlcmUgb2JqZWN0IGFyZSBzdG9yZWQgaW4gYSBidWNrZXQKICAgICAqCiAgICAgKiBDYW4gYmUgdXNlZCB0byB1cGxvYWQgZmlsZXMgdG8gYSBwc2V1ZG8gc3ViLWZvbGRlciBrZXkgb3Igb25seSBkb3dubG9hZCBmaWxlcyBmcm9tIGEgcHNldWRvIHN1Yi1mb2xkZXIKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXlQcmVmaXggUHJlZml4IGZvciBlYWNoIHVwbG9hZGVkIGtleQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0S2V5UHJlZml4KCRrZXlQcmVmaXgpCiAgICB7CiAgICAgICAgLy8gUmVtb3ZpbmcgbGVhZGluZyBzbGFzaAogICAgICAgICR0aGlzLT5rZXlQcmVmaXggPSBsdHJpbSgka2V5UHJlZml4LCAnLycpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTcGVjaWZ5IHRoZSBkZWxpbWl0ZXIgdXNlZCBmb3IgdGhlIHRhcmdldGVkIGZpbGVzeXN0ZW0gKGRlZmF1bHQgZGVsaW1pdGVyIGlzICIvIikKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkZWxpbWl0ZXIgRGVsaW1pdGVyIHRvIHVzZSB0byBzZXBhcmF0ZSBwYXRocwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RGVsaW1pdGVyKCRkZWxpbWl0ZXIpCiAgICB7CiAgICAgICAgJHRoaXMtPmRlbGltaXRlciA9ICRkZWxpbWl0ZXI7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNwZWNpZnkgYW4gYXJyYXkgb2Ygb3BlcmF0aW9uIHBhcmFtZXRlcnMgdG8gYXBwbHkgdG8gZWFjaCBvcGVyYXRpb24gZXhlY3V0ZWQgYnkgdGhlIHN5bmMgb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRwYXJhbXMgQXNzb2NpYXRpdmUgYXJyYXkgb2YgUHV0T2JqZWN0ICh1cGxvYWQpIEdldE9iamVjdCAoZG93bmxvYWQpIHBhcmFtZXRlcnMKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldE9wZXJhdGlvblBhcmFtcyhhcnJheSAkcGFyYW1zKQogICAgewogICAgICAgICR0aGlzLT5wYXJhbXMgPSAkcGFyYW1zOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIG51bWJlciBvZiBmaWxlcyB0aGF0IGNhbiBiZSB0cmFuc2ZlcnJlZCBjb25jdXJyZW50bHkKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRjb25jdXJyZW5jeSBOdW1iZXIgb2YgY29uY3VycmVudCB0cmFuc2ZlcnMKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldENvbmN1cnJlbmN5KCRjb25jdXJyZW5jeSkKICAgIHsKICAgICAgICAkdGhpcy0+Y29uY3VycmVuY3kgPSAkY29uY3VycmVuY3k7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0byB0cnVlIHRvIGZvcmNlIHRyYW5zZmVycyBldmVuIGlmIGEgZmlsZSBhbHJlYWR5IGV4aXN0cyBhbmQgaGFzIG5vdCBjaGFuZ2VkCiAgICAgKgogICAgICogQHBhcmFtIGJvb2wgJGZvcmNlIFNldCB0byB0cnVlIHRvIGZvcmNlIHRyYW5zZmVycyB3aXRob3V0IGNoZWNraW5nIGlmIGl0IGhhcyBjaGFuZ2VkCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBmb3JjZSgkZm9yY2UgPSBmYWxzZSkKICAgIHsKICAgICAgICAkdGhpcy0+Zm9yY2luZyA9IChib29sKSAkZm9yY2U7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEVuYWJsZSBkZWJ1ZyBtb2RlCiAgICAgKgogICAgICogQHBhcmFtIGJvb2x8cmVzb3VyY2UgJGVuYWJsZWRPclJlc291cmNlIFNldCB0byB0cnVlIG9yIGZhbHNlIHRvIGVuYWJsZSBvciBkaXNhYmxlIGRlYnVnIG91dHB1dC4gUGFzcyBhbiBvcGVuZWQKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3BlbiByZXNvdXJjZSB0byB3cml0ZSB0byBpbnN0ZWFkIG9mIHdyaXRpbmcgdG8gc3RhbmRhcmQgb3V0LgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBlbmFibGVEZWJ1Z091dHB1dCgkZW5hYmxlZE9yUmVzb3VyY2UgPSB0cnVlKQogICAgewogICAgICAgICR0aGlzLT5kZWJ1ZyA9ICRlbmFibGVkT3JSZXNvdXJjZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgZmlsZW5hbWUgZmlsdGVyIHRoYXQgdXNlcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBmaWx0ZXIgb3V0IGZpbGVzIHRoYXQgeW91IGRvIG5vdCB3aXNoIHRvIHRyYW5zZmVyLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHNlYXJjaCBSZWd1bGFyIGV4cHJlc3Npb24gc2VhcmNoIChpbiBwcmVnX21hdGNoIGZvcm1hdCkuIEFueSBmaWxlbmFtZSB0aGF0IG1hdGNoZXMgdGhpcyByZWdleAogICAgICogICAgICAgICAgICAgICAgICAgICAgIHdpbGwgbm90IGJlIHRyYW5zZmVycmVkLgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRSZWdleEZpbHRlcigkc2VhcmNoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRGaWxlSXRlcmF0b3JTZXQoKTsKICAgICAgICAkdGhpcy0+c291cmNlSXRlcmF0b3IgPSBuZXcgRmlsdGVySXRlcmF0b3IoJHRoaXMtPnNvdXJjZUl0ZXJhdG9yLCBmdW5jdGlvbiAoJGkpIHVzZSAoJHNlYXJjaCkgewogICAgICAgICAgICByZXR1cm4gIXByZWdfbWF0Y2goJHNlYXJjaCwgKHN0cmluZykgJGkpOwogICAgICAgIH0pOwogICAgICAgICR0aGlzLT5zb3VyY2VJdGVyYXRvci0+cmV3aW5kKCk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEJ1aWxkcyBhIFVwbG9hZFN5bmMgb3IgRG93bmxvYWRTeW5jIG9iamVjdAogICAgICoKICAgICAqIEByZXR1cm4gQWJzdHJhY3RTeW5jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidWlsZCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnZhbGlkYXRlUmVxdWlyZW1lbnRzKCk7CiAgICAgICAgJHRoaXMtPnNvdXJjZUNvbnZlcnRlciA9ICR0aGlzLT5zb3VyY2VDb252ZXJ0ZXIgPzogJHRoaXMtPmdldERlZmF1bHRTb3VyY2VDb252ZXJ0ZXIoKTsKICAgICAgICAkdGhpcy0+dGFyZ2V0Q29udmVydGVyID0gJHRoaXMtPnRhcmdldENvbnZlcnRlciA/OiAkdGhpcy0+Z2V0RGVmYXVsdFRhcmdldENvbnZlcnRlcigpOwoKICAgICAgICAvLyBPbmx5IHdyYXAgdGhlIHNvdXJjZSBpdGVyYXRvciBpbiBhIGNoYW5nZWQgZmlsZXMgaXRlcmF0b3IgaWYgd2UgYXJlIG5vdCBmb3JjaW5nIHRoZSB0cmFuc2ZlcnMKICAgICAgICBpZiAoISR0aGlzLT5mb3JjaW5nKSB7CiAgICAgICAgICAgICR0aGlzLT5zb3VyY2VJdGVyYXRvci0+cmV3aW5kKCk7CiAgICAgICAgICAgICR0aGlzLT5zb3VyY2VJdGVyYXRvciA9IG5ldyBDaGFuZ2VkRmlsZXNJdGVyYXRvcigKICAgICAgICAgICAgICAgIG5ldyBcTm9SZXdpbmRJdGVyYXRvcigkdGhpcy0+c291cmNlSXRlcmF0b3IpLAogICAgICAgICAgICAgICAgJHRoaXMtPmdldFRhcmdldEl0ZXJhdG9yKCksCiAgICAgICAgICAgICAgICAkdGhpcy0+c291cmNlQ29udmVydGVyLAogICAgICAgICAgICAgICAgJHRoaXMtPnRhcmdldENvbnZlcnRlcgogICAgICAgICAgICApOwogICAgICAgICAgICAkdGhpcy0+c291cmNlSXRlcmF0b3ItPnJld2luZCgpOwogICAgICAgIH0KCiAgICAgICAgJHN5bmMgPSAkdGhpcy0+c3BlY2lmaWNCdWlsZCgpOwoKICAgICAgICBpZiAoJHRoaXMtPnBhcmFtcykgewogICAgICAgICAgICAkdGhpcy0+YWRkQ3VzdG9tUGFyYW1MaXN0ZW5lcigkc3luYyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRoaXMtPmRlYnVnKSB7CiAgICAgICAgICAgICR0aGlzLT5hZGREZWJ1Z0xpc3RlbmVyKCRzeW5jLCBpc19ib29sKCR0aGlzLT5kZWJ1ZykgPyBTVERPVVQgOiAkdGhpcy0+ZGVidWcpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRzeW5jOwogICAgfQoKICAgIC8qKgogICAgICogSG9vayB0byBpbXBsZW1lbnQgaW4gc3ViY2xhc3NlcwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBhYnN0cmFjdCBwcm90ZWN0ZWQgZnVuY3Rpb24gc3BlY2lmaWNCdWlsZCgpOwoKICAgIC8qKgogICAgICogQHJldHVybiBcSXRlcmF0b3IKICAgICAqLwogICAgYWJzdHJhY3QgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldFRhcmdldEl0ZXJhdG9yKCk7CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIEZpbGVuYW1lQ29udmVydGVySW50ZXJmYWNlCiAgICAgKi8KICAgIGFic3RyYWN0IHByb3RlY3RlZCBmdW5jdGlvbiBnZXREZWZhdWx0U291cmNlQ29udmVydGVyKCk7CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIEZpbGVuYW1lQ29udmVydGVySW50ZXJmYWNlCiAgICAgKi8KICAgIGFic3RyYWN0IHByb3RlY3RlZCBmdW5jdGlvbiBnZXREZWZhdWx0VGFyZ2V0Q29udmVydGVyKCk7CgogICAgLyoqCiAgICAgKiBBZGQgYSBsaXN0ZW5lciB0byB0aGUgc3luYyBvYmplY3QgdG8gb3V0cHV0IGRlYnVnIGluZm9ybWF0aW9uIHdoaWxlIHRyYW5zZmVycmluZwogICAgICoKICAgICAqIEBwYXJhbSBBYnN0cmFjdFN5bmMgJHN5bmMgICAgIFN5bmMgb2JqZWN0IHRvIGxpc3RlbiB0bwogICAgICogQHBhcmFtIHJlc291cmNlICAgICAkcmVzb3VyY2UgV2hlcmUgdG8gd3JpdGUgZGVidWcgbWVzc2FnZXMKICAgICAqLwogICAgYWJzdHJhY3QgcHJvdGVjdGVkIGZ1bmN0aW9uIGFkZERlYnVnTGlzdGVuZXIoQWJzdHJhY3RTeW5jICRzeW5jLCAkcmVzb3VyY2UpOwoKICAgIC8qKgogICAgICogVmFsaWRhdGUgdGhhdCB0aGUgYnVpbGRlciBoYXMgdGhlIG1pbmltYWwgcmVxdWlyZW1lbnRzCiAgICAgKgogICAgICogQHRocm93cyBSdW50aW1lRXhjZXB0aW9uIGlmIHRoZSBidWlsZGVyIGlzIG5vdCBjb25maWd1cmVkIGNvbXBsZXRlbHkKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHZhbGlkYXRlUmVxdWlyZW1lbnRzKCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5jbGllbnQpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oJ05vIGNsaWVudCB3YXMgcHJvdmlkZWQnKTsKICAgICAgICB9CiAgICAgICAgaWYgKCEkdGhpcy0+YnVja2V0KSB7CiAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKCdObyBidWNrZXQgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5hc3NlcnRGaWxlSXRlcmF0b3JTZXQoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEVuc3VyZSB0aGF0IHRoZSBiYXNlIGZpbGUgaXRlcmF0b3IgaGFzIGJlZW4gcHJvdmlkZWQKICAgICAqCiAgICAgKiBAdGhyb3dzIFJ1bnRpbWVFeGNlcHRpb24KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGFzc2VydEZpbGVJdGVyYXRvclNldCgpCiAgICB7CiAgICAgICAgLy8gSW50ZXJlc3RpbmcuLi4gTmVlZCB0byB1c2UgaXNzZXQgYmVjYXVzZTogT2JqZWN0IG9mIGNsYXNzIEdsb2JJdGVyYXRvciBjb3VsZCBub3QgYmUgY29udmVydGVkIHRvIGJvb2xlYW4KICAgICAgICBpZiAoIWlzc2V0KCR0aGlzLT5zb3VyY2VJdGVyYXRvcikpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oJ0Egc291cmNlIGZpbGUgaXRlcmF0b3IgbXVzdCBiZSBzcGVjaWZpZWQnKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBXcmFwcyBhIGdlbmVyYXRlZCBpdGVyYXRvciBpbiBhIGZpbHRlciBpdGVyYXRvciB0aGF0IHJlbW92ZXMgZGlyZWN0b3JpZXMKICAgICAqCiAgICAgKiBAcGFyYW0gXEl0ZXJhdG9yICRpdGVyYXRvciBJdGVyYXRvciB0byB3cmFwCiAgICAgKgogICAgICogQHJldHVybiBcSXRlcmF0b3IKICAgICAqIEB0aHJvd3MgVW5leHBlY3RlZFZhbHVlRXhjZXB0aW9uCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBmaWx0ZXJJdGVyYXRvcihcSXRlcmF0b3IgJGl0ZXJhdG9yKQogICAgewogICAgICAgICRmID0gbmV3IEZpbHRlckl0ZXJhdG9yKCRpdGVyYXRvciwgZnVuY3Rpb24gKCRpKSB7CiAgICAgICAgICAgIGlmICghJGkgaW5zdGFuY2VvZiBcU3BsRmlsZUluZm8pIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBVbmV4cGVjdGVkVmFsdWVFeGNlcHRpb24oJ0FsbCBpdGVyYXRvcnMgZm9yIFVwbG9hZFN5bmMgbXVzdCByZXR1cm4gU3BsRmlsZUluZm8gb2JqZWN0cycpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkaS0+aXNGaWxlKCk7CiAgICAgICAgfSk7CgogICAgICAgICRmLT5yZXdpbmQoKTsKCiAgICAgICAgcmV0dXJuICRmOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIHRoZSBjdXN0b20gcGFyYW0gbGlzdGVuZXIgdG8gYSB0cmFuc2ZlciBvYmplY3QKICAgICAqCiAgICAgKiBAcGFyYW0gSGFzRGlzcGF0Y2hlckludGVyZmFjZSAkc3luYwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkQ3VzdG9tUGFyYW1MaXN0ZW5lcihIYXNEaXNwYXRjaGVySW50ZXJmYWNlICRzeW5jKQogICAgewogICAgICAgICRwYXJhbXMgPSAkdGhpcy0+cGFyYW1zOwogICAgICAgICRzeW5jLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoCiAgICAgICAgICAgIFVwbG9hZFN5bmM6OkJFRk9SRV9UUkFOU0ZFUiwKICAgICAgICAgICAgZnVuY3Rpb24gKEV2ZW50ICRlKSB1c2UgKCRwYXJhbXMpIHsKICAgICAgICAgICAgICAgIGlmICgkZVsnY29tbWFuZCddIGluc3RhbmNlb2YgQ29tbWFuZEludGVyZmFjZSkgewogICAgICAgICAgICAgICAgICAgICRlWydjb21tYW5kJ10tPm92ZXJ3cml0ZVdpdGgoJHBhcmFtcyk7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJGVbJ2NvbW1hbmQnXSBpbnN0YW5jZW9mIFRyYW5zZmVySW50ZXJmYWNlKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gTXVsdGlwYXJ0IHVwbG9hZCB0cmFuc2ZlciBvYmplY3QKICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1zIGFzICRrID0+ICR2KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRlWydjb21tYW5kJ10tPnNldE9wdGlvbigkaywgJHYpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYW4gQW1hem9uIFMzIGZpbGUgaXRlcmF0b3IgYmFzZWQgb24gdGhlIGdpdmVuIGJ1aWxkZXIgc2V0dGluZ3MKICAgICAqCiAgICAgKiBAcmV0dXJuIE9wZW5kaXJJdGVyYXRvcgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY3JlYXRlUzNJdGVyYXRvcigpCiAgICB7CiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIHN0cmVhbSB3cmFwcGVyIGlzIHJlZ2lzdGVyZWQKICAgICAgICAkdGhpcy0+Y2xpZW50LT5yZWdpc3RlclN0cmVhbVdyYXBwZXIoKTsKCiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBvcGVuZGlyKCkgYnVja2V0IGFuZCBvcHRpb25hbCBrZXkgcHJlZml4IGxvY2F0aW9uCiAgICAgICAgJGRpciA9ICJzMzovL3skdGhpcy0+YnVja2V0fSI7CiAgICAgICAgaWYgKCR0aGlzLT5rZXlQcmVmaXgpIHsKICAgICAgICAgICAgJGRpciAuPSAnLycgLiBsdHJpbSgkdGhpcy0+a2V5UHJlZml4LCAnLyAnKTsKICAgICAgICB9CgogICAgICAgIC8vIFVzZSBvcGVuZGlyIHNvIHRoYXQgd2UgY2FuIHBhc3Mgc3RyZWFtIGNvbnRleHQgdG8gdGhlIGl0ZXJhdG9yCiAgICAgICAgJGRoID0gb3BlbmRpcigkZGlyLCBzdHJlYW1fY29udGV4dF9jcmVhdGUoYXJyYXkoJ3MzJyA9PiBhcnJheSgnZGVsaW1pdGVyJyA9PiAnJykpKSk7CgogICAgICAgIC8vIEFkZCB0aGUgdHJhaWxpbmcgc2xhc2ggZm9yIHRoZSBPcGVuZGlySXRlcmF0b3IgY29uY2F0ZW5hdGlvbgogICAgICAgIGlmICghJHRoaXMtPmtleVByZWZpeCkgewogICAgICAgICAgICAkZGlyIC49ICcvJzsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+ZmlsdGVySXRlcmF0b3IobmV3IFxOb1Jld2luZEl0ZXJhdG9yKG5ldyBPcGVuZGlySXRlcmF0b3IoJGRoLCAkZGlyKSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Sync/ChangedFilesIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcU3luYzsKCi8qKgogKiBJdGVyYXRvciB1c2VkIHRvIGZpbHRlciBhbiBpbnRlcm5hbCBpdGVyYXRvciB0byBvbmx5IHlpZWxkIGZpbGVzIHRoYXQgZG8gbm90IGV4aXN0IGluIHRoZSB0YXJnZXQgaXRlcmF0b3Igb3IgZmlsZXMKICogdGhhdCBoYXZlIGNoYW5nZWQKICovCmNsYXNzIENoYW5nZWRGaWxlc0l0ZXJhdG9yIGV4dGVuZHMgXEZpbHRlckl0ZXJhdG9yCnsKICAgIC8qKiBAdmFyIFxJdGVyYXRvciAqLwogICAgcHJvdGVjdGVkICRzb3VyY2VJdGVyYXRvcjsKCiAgICAvKiogQHZhciBcSXRlcmF0b3IgKi8KICAgIHByb3RlY3RlZCAkdGFyZ2V0SXRlcmF0b3I7CgogICAgLyoqIEB2YXIgRmlsZW5hbWVDb252ZXJ0ZXJJbnRlcmZhY2UgKi8KICAgIHByb3RlY3RlZCAkc291cmNlQ29udmVydGVyOwoKICAgIC8qKiBAdmFyIEZpbGVuYW1lQ29udmVydGVySW50ZXJmYWNlICovCiAgICBwcm90ZWN0ZWQgJHRhcmdldENvbnZlcnRlcjsKCiAgICAvKiogQHZhciBhcnJheSBQcmV2aW91c2x5IGxvYWRlZCBkYXRhICovCiAgICBwcm90ZWN0ZWQgJGNhY2hlID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIEBwYXJhbSBcSXRlcmF0b3IgICAgICAgICAgICAgICAgICAkc291cmNlSXRlcmF0b3IgIEl0ZXJhdG9yIHRvIHdyYXAgYW5kIGZpbHRlcgogICAgICogQHBhcmFtIFxJdGVyYXRvciAgICAgICAgICAgICAgICAgICR0YXJnZXRJdGVyYXRvciAgSXRlcmF0b3IgdXNlZCB0byBjb21wYXJlIGFnYWluc3QgdGhlIHNvdXJjZSBpdGVyYXRvcgogICAgICogQHBhcmFtIEZpbGVuYW1lQ29udmVydGVySW50ZXJmYWNlICRzb3VyY2VDb252ZXJ0ZXIgS2V5IGNvbnZlcnRlciB0byBjb252ZXJ0IHNvdXJjZSB0byB0YXJnZXQga2V5cwogICAgICogQHBhcmFtIEZpbGVuYW1lQ29udmVydGVySW50ZXJmYWNlICR0YXJnZXRDb252ZXJ0ZXIgS2V5IGNvbnZlcnRlciB0byBjb252ZXJ0IHRhcmdldCB0byBzb3VyY2Uga2V5cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoCiAgICAgICAgXEl0ZXJhdG9yICRzb3VyY2VJdGVyYXRvciwKICAgICAgICBcSXRlcmF0b3IgJHRhcmdldEl0ZXJhdG9yLAogICAgICAgIEZpbGVuYW1lQ29udmVydGVySW50ZXJmYWNlICRzb3VyY2VDb252ZXJ0ZXIsCiAgICAgICAgRmlsZW5hbWVDb252ZXJ0ZXJJbnRlcmZhY2UgJHRhcmdldENvbnZlcnRlcgogICAgKSB7CiAgICAgICAgJHRoaXMtPnRhcmdldEl0ZXJhdG9yID0gJHRhcmdldEl0ZXJhdG9yOwogICAgICAgICR0aGlzLT5zb3VyY2VDb252ZXJ0ZXIgPSAkc291cmNlQ29udmVydGVyOwogICAgICAgICR0aGlzLT50YXJnZXRDb252ZXJ0ZXIgPSAkdGFyZ2V0Q29udmVydGVyOwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJHNvdXJjZUl0ZXJhdG9yKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWNjZXB0KCkKICAgIHsKICAgICAgICAkY3VycmVudCA9ICR0aGlzLT5jdXJyZW50KCk7CiAgICAgICAgJGtleSA9ICR0aGlzLT5zb3VyY2VDb252ZXJ0ZXItPmNvbnZlcnQoKHN0cmluZykgJGN1cnJlbnQpOwogICAgICAgIGlmICghKCRkYXRhID0gJHRoaXMtPmdldFRhcmdldERhdGEoJGtleSkpKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KCiAgICAgICAgLy8gRW5zdXJlIHRoZSBDb250ZW50LUxlbmd0aCBtYXRjaGVzIGFuZCBpdCBoYXNuJ3QgYmVlbiBtb2RpZmllZCBzaW5jZSB0aGUgbXRpbWUKICAgICAgICByZXR1cm4gJGN1cnJlbnQtPmdldFNpemUoKSAhPSAkZGF0YVswXSB8fCAkY3VycmVudC0+Z2V0TVRpbWUoKSA+ICRkYXRhWzFdOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBhcnJheSBvZiB0aGUgZmlsZXMgZnJvbSB0aGUgdGFyZ2V0IGl0ZXJhdG9yIHRoYXQgd2VyZSBub3QgZm91bmQgaW4gdGhlIHNvdXJjZSBpdGVyYXRvcgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFVubWF0Y2hlZCgpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5X2tleXMoJHRoaXMtPmNhY2hlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBrZXkgaW5mb3JtYXRpb24gZnJvbSB0aGUgdGFyZ2V0IGl0ZXJhdG9yIGZvciBhIHBhcnRpY3VsYXIgZmlsZW5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgVGFyZ2V0IGl0ZXJhdG9yIGZpbGVuYW1lCiAgICAgKgogICAgICogQHJldHVybiBhcnJheXxib29sIFJldHVybnMgYW4gYXJyYXkgb2YgZGF0YSwgb3IgZmFsc2UgaWYgdGhlIGtleSBpcyBub3QgaW4gdGhlIGl0ZXJhdG9yCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRUYXJnZXREYXRhKCRrZXkpCiAgICB7CiAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5jYWNoZVska2V5XSkpIHsKICAgICAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jYWNoZVska2V5XTsKICAgICAgICAgICAgdW5zZXQoJHRoaXMtPmNhY2hlWyRrZXldKTsKICAgICAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICAgICAgfQoKICAgICAgICAkaXQgPSAkdGhpcy0+dGFyZ2V0SXRlcmF0b3I7CgogICAgICAgIHdoaWxlICgkaXQtPnZhbGlkKCkpIHsKICAgICAgICAgICAgJHZhbHVlID0gJGl0LT5jdXJyZW50KCk7CiAgICAgICAgICAgICRkYXRhID0gYXJyYXkoJHZhbHVlLT5nZXRTaXplKCksICR2YWx1ZS0+Z2V0TVRpbWUoKSk7CiAgICAgICAgICAgICRmaWxlbmFtZSA9ICR0aGlzLT50YXJnZXRDb252ZXJ0ZXItPmNvbnZlcnQoKHN0cmluZykgJHZhbHVlKTsKICAgICAgICAgICAgaWYgKCRmaWxlbmFtZSA9PSAka2V5KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJGRhdGE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMtPmNhY2hlWyRmaWxlbmFtZV0gPSAkZGF0YTsKICAgICAgICAgICAgJGl0LT5uZXh0KCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Sync/DownloadSync.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcU3luYzsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwp1c2UgQXdzXFMzXFJlc3VtYWJsZURvd25sb2FkOwoKLyoqCiAqIERvd25sb2FkcyBhbmQgQW1hem9uIFMzIGJ1Y2tldCB0byBhIGxvY2FsIGRpcmVjdG9yeQogKi8KY2xhc3MgRG93bmxvYWRTeW5jIGV4dGVuZHMgQWJzdHJhY3RTeW5jCnsKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjcmVhdGVUcmFuc2ZlckFjdGlvbihcU3BsRmlsZUluZm8gJGZpbGUpCiAgICB7CiAgICAgICAgJHNvdXJjZUZpbGVuYW1lID0gJGZpbGUtPmdldFBhdGhuYW1lKCk7CiAgICAgICAgbGlzdCgkYnVja2V0LCAka2V5KSA9IGV4cGxvZGUoJy8nLCBzdWJzdHIoJHNvdXJjZUZpbGVuYW1lLCA1KSwgMik7CiAgICAgICAgJGZpbGVuYW1lID0gJy8nIC4gbHRyaW0oJHRoaXMtPm9wdGlvbnNbJ3NvdXJjZV9jb252ZXJ0ZXInXS0+Y29udmVydCgkc291cmNlRmlsZW5hbWUpLCAnLycpOwoKICAgICAgICAkdGhpcy0+Y3JlYXRlRGlyZWN0b3J5KCRmaWxlbmFtZSk7CgogICAgICAgIC8vIFNvbWUgUzMgYnVja2V0cyBjb250YWlucyBuZXN0ZWQgZmlsZXMgdW5kZXIgdGhlIHNhbWUgbmFtZSBhcyBhIGRpcmVjdG9yeQogICAgICAgIGlmIChpc19kaXIoJGZpbGVuYW1lKSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICAvLyBBbGxvdyBhIHByZXZpb3VzbHkgaW50ZXJydXB0ZWQgZG93bmxvYWQgdG8gcmVzdW1lCiAgICAgICAgaWYgKGZpbGVfZXhpc3RzKCRmaWxlbmFtZSkgJiYgJHRoaXMtPm9wdGlvbnNbJ3Jlc3VtYWJsZSddKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgUmVzdW1hYmxlRG93bmxvYWQoJHRoaXMtPm9wdGlvbnNbJ2NsaWVudCddLCAkYnVja2V0LCAka2V5LCAkZmlsZW5hbWUpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5vcHRpb25zWydjbGllbnQnXS0+Z2V0Q29tbWFuZCgnR2V0T2JqZWN0JywgYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICRidWNrZXQsCiAgICAgICAgICAgICdLZXknICAgID0+ICRrZXksCiAgICAgICAgICAgICdTYXZlQXMnID0+ICRmaWxlbmFtZQogICAgICAgICkpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvZGVDb3ZlcmFnZUlnbm9yZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY3JlYXRlRGlyZWN0b3J5KCRmaWxlbmFtZSkKICAgIHsKICAgICAgICAkZGlyZWN0b3J5ID0gZGlybmFtZSgkZmlsZW5hbWUpOwogICAgICAgIC8vIFNvbWUgUzMgY2xpZW50cyBjcmVhdGUgZW1wdHkgZmlsZXMgdG8gZGVub3RlIGRpcmVjdG9yaWVzLiBSZW1vdmUgdGhlc2Ugc28gdGhhdCB3ZSBjYW4gY3JlYXRlIHRoZSBkaXJlY3RvcnkuCiAgICAgICAgaWYgKGlzX2ZpbGUoJGRpcmVjdG9yeSkgJiYgZmlsZXNpemUoJGRpcmVjdG9yeSkgPT0gMCkgewogICAgICAgICAgICB1bmxpbmsoJGRpcmVjdG9yeSk7CiAgICAgICAgfQogICAgICAgIC8vIENyZWF0ZSB0aGUgZGlyZWN0b3J5IGlmIGl0IGRvZXMgbm90IGV4aXN0CiAgICAgICAgaWYgKCFpc19kaXIoJGRpcmVjdG9yeSkgJiYgIW1rZGlyKCRkaXJlY3RvcnksIDA3NzcsIHRydWUpKSB7CiAgICAgICAgICAgICRlcnJvcnMgPSBlcnJvcl9nZXRfbGFzdCgpOwogICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbignQ291bGQgbm90IGNyZWF0ZSBkaXJlY3Rvcnk6ICcgLiAkZGlyZWN0b3J5IC4gJyAtICcgLiAkZXJyb3JzWydtZXNzYWdlJ10pOwogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZmlsdGVyQ29tbWFuZHMoYXJyYXkgJGNvbW1hbmRzKQogICAgewogICAgICAgIC8vIEJ1aWxkIGEgbGlzdCBvZiBhbGwgb2YgdGhlIGRpcmVjdG9yaWVzIGluIGVhY2ggY29tbWFuZCBzbyB0aGF0IHdlIGRvbid0IGF0dGVtcHQgdG8gY3JlYXRlIGFuIGVtcHR5IGRpciBpbgogICAgICAgIC8vIHRoZSBzYW1lIHBhcmFsbGVsIHRyYW5zZmVyIGFzIGF0dGVtcHRpbmcgdG8gY3JlYXRlIGEgZmlsZSBpbiB0aGF0IGRpcgogICAgICAgICRkaXJzID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkY29tbWFuZHMgYXMgJGNvbW1hbmQpIHsKICAgICAgICAgICAgJHBhcnRzID0gYXJyYXlfdmFsdWVzKGFycmF5X2ZpbHRlcihleHBsb2RlKCcvJywgJGNvbW1hbmRbJ1NhdmVBcyddKSkpOwogICAgICAgICAgICBmb3IgKCRpID0gMCwgJHRvdGFsID0gY291bnQoJHBhcnRzKTsgJGkgPCAkdG90YWw7ICRpKyspIHsKICAgICAgICAgICAgICAgICRkaXIgPSAnJzsKICAgICAgICAgICAgICAgIGZvciAoJGogPSAwOyAkaiA8ICRpOyAkaisrKSB7CiAgICAgICAgICAgICAgICAgICAgJGRpciAuPSAnLycgLiAkcGFydHNbJGpdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKCRkaXIgJiYgIWluX2FycmF5KCRkaXIsICRkaXJzKSkgewogICAgICAgICAgICAgICAgICAgICRkaXJzW10gPSAkZGlyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXJyYXlfZmlsdGVyKCRjb21tYW5kcywgZnVuY3Rpb24gKCRjb21tYW5kKSB1c2UgKCRkaXJzKSB7CiAgICAgICAgICAgIHJldHVybiAhaW5fYXJyYXkoJGNvbW1hbmRbJ1NhdmVBcyddLCAkZGlycyk7CiAgICAgICAgfSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHRyYW5zZmVyQ29tbWFuZHMoYXJyYXkgJGNvbW1hbmRzKQogICAgewogICAgICAgIHBhcmVudDo6dHJhbnNmZXJDb21tYW5kcygkdGhpcy0+ZmlsdGVyQ29tbWFuZHMoJGNvbW1hbmRzKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Sync/DownloadSyncBuilder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcU3luYzsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwp1c2UgQXdzXFMzXFJlc3VtYWJsZURvd25sb2FkOwp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHlJbnRlcmZhY2U7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2U7CgpjbGFzcyBEb3dubG9hZFN5bmNCdWlsZGVyIGV4dGVuZHMgQWJzdHJhY3RTeW5jQnVpbGRlcgp7CiAgICAvKiogQHZhciBib29sICovCiAgICBwcm90ZWN0ZWQgJHJlc3VtYWJsZSA9IGZhbHNlOwoKICAgIC8qKiBAdmFyIHN0cmluZyAqLwogICAgcHJvdGVjdGVkICRkaXJlY3Rvcnk7CgogICAgLyoqIEB2YXIgaW50IE51bWJlciBvZiBmaWxlcyB0aGF0IGNhbiBiZSB0cmFuc2ZlcnJlZCBjb25jdXJyZW50bHkgKi8KICAgIHByb3RlY3RlZCAkY29uY3VycmVuY3kgPSA1OwoKICAgIC8qKgogICAgICogU2V0IHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIG9iamVjdHMgZnJvbSBiZSBkb3dubG9hZGVkIHRvCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZGlyZWN0b3J5IERpcmVjdG9yeQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RGlyZWN0b3J5KCRkaXJlY3RvcnkpCiAgICB7CiAgICAgICAgJHRoaXMtPmRpcmVjdG9yeSA9ICRkaXJlY3Rvcnk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIENhbGwgdGhpcyBmdW5jdGlvbiB0byBhbGxvdyBwYXJ0aWFsIGRvd25sb2FkcyB0byBiZSByZXN1bWVkIGlmIHRoZSBkb3dubG9hZCB3YXMgcHJldmlvdXNseSBpbnRlcnJ1cHRlZAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWxsb3dSZXN1bWFibGVEb3dubG9hZHMoKQogICAgewogICAgICAgICR0aGlzLT5yZXN1bWFibGUgPSB0cnVlOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNwZWNpZmljQnVpbGQoKQogICAgewogICAgICAgICRzeW5jID0gbmV3IERvd25sb2FkU3luYyhhcnJheSgKICAgICAgICAgICAgJ2NsaWVudCcgICAgICAgICAgID0+ICR0aGlzLT5jbGllbnQsCiAgICAgICAgICAgICdidWNrZXQnICAgICAgICAgICA9PiAkdGhpcy0+YnVja2V0LAogICAgICAgICAgICAnaXRlcmF0b3InICAgICAgICAgPT4gJHRoaXMtPnNvdXJjZUl0ZXJhdG9yLAogICAgICAgICAgICAnc291cmNlX2NvbnZlcnRlcicgPT4gJHRoaXMtPnNvdXJjZUNvbnZlcnRlciwKICAgICAgICAgICAgJ3RhcmdldF9jb252ZXJ0ZXInID0+ICR0aGlzLT50YXJnZXRDb252ZXJ0ZXIsCiAgICAgICAgICAgICdjb25jdXJyZW5jeScgICAgICA9PiAkdGhpcy0+Y29uY3VycmVuY3ksCiAgICAgICAgICAgICdyZXN1bWFibGUnICAgICAgICA9PiAkdGhpcy0+cmVzdW1hYmxlLAogICAgICAgICAgICAnZGlyZWN0b3J5JyAgICAgICAgPT4gJHRoaXMtPmRpcmVjdG9yeQogICAgICAgICkpOwoKICAgICAgICByZXR1cm4gJHN5bmM7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldFRhcmdldEl0ZXJhdG9yKCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5kaXJlY3RvcnkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oJ0EgZGlyZWN0b3J5IGlzIHJlcXVpcmVkJyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoIWlzX2RpcigkdGhpcy0+ZGlyZWN0b3J5KSAmJiAhbWtkaXIoJHRoaXMtPmRpcmVjdG9yeSwgMDc3NywgdHJ1ZSkpIHsKICAgICAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZVN0YXJ0CiAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKCdVbmFibGUgdG8gY3JlYXRlIHJvb3QgZG93bmxvYWQgZGlyZWN0b3J5OiAnIC4gJHRoaXMtPmRpcmVjdG9yeSk7CiAgICAgICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVFbmQKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+ZmlsdGVySXRlcmF0b3IoCiAgICAgICAgICAgIG5ldyBcUmVjdXJzaXZlSXRlcmF0b3JJdGVyYXRvcihuZXcgXFJlY3Vyc2l2ZURpcmVjdG9yeUl0ZXJhdG9yKCR0aGlzLT5kaXJlY3RvcnkpKQogICAgICAgICk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldERlZmF1bHRTb3VyY2VDb252ZXJ0ZXIoKQogICAgewogICAgICAgIHJldHVybiBuZXcgS2V5Q29udmVydGVyKAogICAgICAgICAgICAiczM6Ly97JHRoaXMtPmJ1Y2tldH0veyR0aGlzLT5iYXNlRGlyfSIsCiAgICAgICAgICAgICR0aGlzLT5kaXJlY3RvcnkgLiBESVJFQ1RPUllfU0VQQVJBVE9SLCAkdGhpcy0+ZGVsaW1pdGVyCiAgICAgICAgKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RGVmYXVsdFRhcmdldENvbnZlcnRlcigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBLZXlDb252ZXJ0ZXIoInMzOi8veyR0aGlzLT5idWNrZXR9L3skdGhpcy0+YmFzZURpcn0iLCAnJywgJHRoaXMtPmRlbGltaXRlcik7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGFzc2VydEZpbGVJdGVyYXRvclNldCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnNvdXJjZUl0ZXJhdG9yID0gJHRoaXMtPnNvdXJjZUl0ZXJhdG9yID86ICR0aGlzLT5jcmVhdGVTM0l0ZXJhdG9yKCk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGFkZERlYnVnTGlzdGVuZXIoQWJzdHJhY3RTeW5jICRzeW5jLCAkcmVzb3VyY2UpCiAgICB7CiAgICAgICAgJHN5bmMtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcihVcGxvYWRTeW5jOjpCRUZPUkVfVFJBTlNGRVIsIGZ1bmN0aW9uIChFdmVudCAkZSkgdXNlICgkcmVzb3VyY2UpIHsKICAgICAgICAgICAgaWYgKCRlWydjb21tYW5kJ10gaW5zdGFuY2VvZiBDb21tYW5kSW50ZXJmYWNlKSB7CiAgICAgICAgICAgICAgICAkZnJvbSA9ICRlWydjb21tYW5kJ11bJ0J1Y2tldCddIC4gJy8nIC4gJGVbJ2NvbW1hbmQnXVsnS2V5J107CiAgICAgICAgICAgICAgICAkdG8gPSAkZVsnY29tbWFuZCddWydTYXZlQXMnXSBpbnN0YW5jZW9mIEVudGl0eUJvZHlJbnRlcmZhY2UKICAgICAgICAgICAgICAgICAgICA/ICRlWydjb21tYW5kJ11bJ1NhdmVBcyddLT5nZXRVcmkoKQogICAgICAgICAgICAgICAgICAgIDogJGVbJ2NvbW1hbmQnXVsnU2F2ZUFzJ107CiAgICAgICAgICAgICAgICBmd3JpdGUoJHJlc291cmNlLCAiRG93bmxvYWRpbmcgeyRmcm9tfSAtPiB7JHRvfVxuIik7CiAgICAgICAgICAgIH0gZWxzZWlmICgkZVsnY29tbWFuZCddIGluc3RhbmNlb2YgUmVzdW1hYmxlRG93bmxvYWQpIHsKICAgICAgICAgICAgICAgICRmcm9tID0gJGVbJ2NvbW1hbmQnXS0+Z2V0QnVja2V0KCkgLiAnLycgLiAkZVsnY29tbWFuZCddLT5nZXRLZXkoKTsKICAgICAgICAgICAgICAgICR0byA9ICRlWydjb21tYW5kJ10tPmdldEZpbGVuYW1lKCk7CiAgICAgICAgICAgICAgICBmd3JpdGUoJHJlc291cmNlLCAiUmVzdW1pbmcgeyRmcm9tfSAtPiB7JHRvfVxuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Sync/FilenameConverterInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcU3luYzsKCi8qKgogKiBDb252ZXJ0cyBmaWxlbmFtZXMgZnJvbSBvbmUgc3lzdGVtIHRvIGFub3RoZXIgKGUuZy4gbG9jYWwgdG8gQW1hem9uIFMzKQogKi8KaW50ZXJmYWNlIEZpbGVuYW1lQ29udmVydGVySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQ29udmVydCBhIGZpbGVuYW1lCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZmlsZW5hbWUgTmFtZSBvZiB0aGUgZmlsZSB0byBjb252ZXJ0CiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNvbnZlcnQoJGZpbGVuYW1lKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Sync/KeyConverter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcU3luYzsKCi8qKgogKiBDb252ZXJ0cyBmaWxlbmFtZXMgZnJvbSBvbmUgc3lzdGVtIHRvIGFub3RoZXIKICovCmNsYXNzIEtleUNvbnZlcnRlciBpbXBsZW1lbnRzIEZpbGVuYW1lQ29udmVydGVySW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIHN0cmluZyBEaXJlY3Rvcnkgc2VwYXJhdG9yIGZvciBBbWF6b24gUzMga2V5cyAqLwogICAgcHJvdGVjdGVkICRkZWxpbWl0ZXI7CgogICAgLyoqIEB2YXIgc3RyaW5nIFByZWZpeCB0byBwcmVwZW5kIHRvIGVhY2ggQW1hem9uIFMzIG9iamVjdCBrZXkgKi8KICAgIHByb3RlY3RlZCAkcHJlZml4OwoKICAgIC8qKiBAdmFyIHN0cmluZyBCYXNlIGRpcmVjdG9yeSB0byByZW1vdmUgZnJvbSBlYWNoIGZpbGUgcGF0aCBiZWZvcmUgY29udmVydGluZyB0byBhbiBvYmplY3Qga2V5ICovCiAgICBwcm90ZWN0ZWQgJGJhc2VEaXI7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRiYXNlRGlyICAgQmFzZSBkaXJlY3RvcnkgdG8gcmVtb3ZlIGZyb20gZWFjaCBjb252ZXJ0ZWQgbmFtZQogICAgICogQHBhcmFtIHN0cmluZyAkcHJlZml4ICAgIEFtYXpvbiBTMyBwcmVmaXgKICAgICAqIEBwYXJhbSBzdHJpbmcgJGRlbGltaXRlciBEaXJlY3Rvcnkgc2VwYXJhdG9yIHVzZWQgd2l0aCBnZW5lcmF0ZWQgbmFtZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRiYXNlRGlyID0gJycsICRwcmVmaXggPSAnJywgJGRlbGltaXRlciA9ICcvJykKICAgIHsKICAgICAgICAkdGhpcy0+YmFzZURpciA9ICRiYXNlRGlyOwogICAgICAgICR0aGlzLT5wcmVmaXggPSAkcHJlZml4OwogICAgICAgICR0aGlzLT5kZWxpbWl0ZXIgPSAkZGVsaW1pdGVyOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjb252ZXJ0KCRmaWxlbmFtZSkKICAgIHsKICAgICAgICAvLyBSZW1vdmUgYmFzZSBkaXJlY3RvcnkgZnJvbSB0aGUga2V5CiAgICAgICAgJGtleSA9IHN0cl9yZXBsYWNlKCR0aGlzLT5iYXNlRGlyLCAnJywgJGZpbGVuYW1lKTsKICAgICAgICAvLyBSZXBsYWNlIFdpbmRvd3MgZGlyZWN0b3J5IHNlcGFyYXRvcnMgdG8gYmVjb21lIFVuaXggc3R5bGUsIGFuZCBjb252ZXJ0IHRoYXQgdG8gdGhlIGN1c3RvbSBkaXIgc2VwYXJhdG9yCiAgICAgICAgJGtleSA9IHN0cl9yZXBsYWNlKCcvJywgJHRoaXMtPmRlbGltaXRlciwgc3RyX3JlcGxhY2UoJ1xcJywgJy8nLCAka2V5KSk7CiAgICAgICAgLy8gQWRkIHRoZSBrZXkgcHJlZml4IGFuZCByZW1vdmUgZG91YmxlIHNsYXNoZXMKICAgICAgICAka2V5ID0gc3RyX3JlcGxhY2UoJHRoaXMtPmRlbGltaXRlciAuICR0aGlzLT5kZWxpbWl0ZXIsICR0aGlzLT5kZWxpbWl0ZXIsICR0aGlzLT5wcmVmaXggLiAka2V5KTsKCiAgICAgICAgcmV0dXJuIGx0cmltKCRrZXksICR0aGlzLT5kZWxpbWl0ZXIpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Sync/UploadSync.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcU3luYzsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwp1c2UgQXdzXFMzXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRCdWlsZGVyOwp1c2UgQXdzXFMzXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFRyYW5zZmVyOwp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKCi8qKgogKiBVcGxvYWRzIGEgbG9jYWwgZGlyZWN0b3J5IHRyZWUgdG8gQW1hem9uIFMzCiAqLwpjbGFzcyBVcGxvYWRTeW5jIGV4dGVuZHMgQWJzdHJhY3RTeW5jCnsKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpbml0KCkKICAgIHsKICAgICAgICBpZiAobnVsbCA9PSAkdGhpcy0+b3B0aW9uc1snbXVsdGlwYXJ0X3VwbG9hZF9zaXplJ10pIHsKICAgICAgICAgICAgJHRoaXMtPm9wdGlvbnNbJ211bHRpcGFydF91cGxvYWRfc2l6ZSddID0gQWJzdHJhY3RUcmFuc2Zlcjo6TUlOX1BBUlRfU0laRTsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNyZWF0ZVRyYW5zZmVyQWN0aW9uKFxTcGxGaWxlSW5mbyAkZmlsZSkKICAgIHsKICAgICAgICAvLyBPcGVuIHRoZSBmaWxlIGZvciByZWFkaW5nCiAgICAgICAgJGZpbGVuYW1lID0gJGZpbGUtPmdldFBhdGhOYW1lKCk7CiAgICAgICAgaWYgKCEoJHJlc291cmNlID0gZm9wZW4oJGZpbGVuYW1lLCAncicpKSkgewogICAgICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlU3RhcnQKICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIkNvdWxkIG5vdCBvcGVuIHskZmlsZW5hbWV9IGZvciByZWFkaW5nIik7CiAgICAgICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVFbmQKICAgICAgICB9CgogICAgICAgICRrZXkgPSAkdGhpcy0+b3B0aW9uc1snc291cmNlX2NvbnZlcnRlciddLT5jb252ZXJ0KCRmaWxlbmFtZSk7CiAgICAgICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KCRyZXNvdXJjZSk7CgogICAgICAgIC8vIERldGVybWluZSBob3cgdGhlIEFDTCBzaG91bGQgYmUgYXBwbGllZAogICAgICAgIGlmICgkYWNsID0gJHRoaXMtPm9wdGlvbnNbJ2FjbCddKSB7CiAgICAgICAgICAgICRhY2xUeXBlID0gaXNfc3RyaW5nKCR0aGlzLT5vcHRpb25zWydhY2wnXSkgPyAnQUNMJyA6ICdBQ1AnOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRhY2wgPSAncHJpdmF0ZSc7CiAgICAgICAgICAgICRhY2xUeXBlID0gJ0FDTCc7CiAgICAgICAgfQoKICAgICAgICAvLyBVc2UgYSBtdWx0aS1wYXJ0IHVwbG9hZCBpZiB0aGUgZmlsZSBpcyBsYXJnZXIgdGhhbiB0aGUgY3V0b2ZmIHNpemUgYW5kIGlzIGEgcmVndWxhciBmaWxlCiAgICAgICAgaWYgKCRib2R5LT5nZXRXcmFwcGVyKCkgPT0gJ3BsYWluZmlsZScgJiYgJGZpbGUtPmdldFNpemUoKSA+PSAkdGhpcy0+b3B0aW9uc1snbXVsdGlwYXJ0X3VwbG9hZF9zaXplJ10pIHsKICAgICAgICAgICAgcmV0dXJuIFVwbG9hZEJ1aWxkZXI6Om5ld0luc3RhbmNlKCkKICAgICAgICAgICAgICAgIC0+c2V0QnVja2V0KCR0aGlzLT5vcHRpb25zWydidWNrZXQnXSkKICAgICAgICAgICAgICAgIC0+c2V0S2V5KCRrZXkpCiAgICAgICAgICAgICAgICAtPnNldE1pblBhcnRTaXplKCR0aGlzLT5vcHRpb25zWydtdWx0aXBhcnRfdXBsb2FkX3NpemUnXSkKICAgICAgICAgICAgICAgIC0+c2V0T3B0aW9uKCRhY2xUeXBlLCAkYWNsKQogICAgICAgICAgICAgICAgLT5zZXRDbGllbnQoJHRoaXMtPm9wdGlvbnNbJ2NsaWVudCddKQogICAgICAgICAgICAgICAgLT5zZXRTb3VyY2UoJGJvZHkpCiAgICAgICAgICAgICAgICAtPnNldENvbmN1cnJlbmN5KCR0aGlzLT5vcHRpb25zWydjb25jdXJyZW5jeSddKQogICAgICAgICAgICAgICAgLT5idWlsZCgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5vcHRpb25zWydjbGllbnQnXS0+Z2V0Q29tbWFuZCgnUHV0T2JqZWN0JywgYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICR0aGlzLT5vcHRpb25zWydidWNrZXQnXSwKICAgICAgICAgICAgJ0tleScgICAgPT4gJGtleSwKICAgICAgICAgICAgJ0JvZHknICAgPT4gJGJvZHksCiAgICAgICAgICAgICRhY2xUeXBlID0+ICRhY2wKICAgICAgICApKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/S3/Sync/UploadSyncBuilder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcU3luYzsKCnVzZSBcRmlsZXN5c3RlbUl0ZXJhdG9yIGFzIEZJOwp1c2UgQXdzXENvbW1vblxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RUcmFuc2ZlcjsKdXNlIEF3c1xTM1xNb2RlbFxBY3A7CnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwoKY2xhc3MgVXBsb2FkU3luY0J1aWxkZXIgZXh0ZW5kcyBBYnN0cmFjdFN5bmNCdWlsZGVyCnsKICAgIC8qKiBAdmFyIHN0cmluZ3xBY3AgQWNjZXNzIGNvbnRyb2wgcG9saWN5IHRvIHNldCBvbiBlYWNoIG9iamVjdCAqLwogICAgcHJvdGVjdGVkICRhY3AgPSAncHJpdmF0ZSc7CgogICAgLyoqIEB2YXIgaW50ICovCiAgICBwcm90ZWN0ZWQgJG11bHRpcGFydFVwbG9hZFNpemU7CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHBhdGggdGhhdCBjb250YWlucyBmaWxlcyB0byByZWN1cnNpdmVseSB1cGxvYWQgdG8gQW1hem9uIFMzCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcGF0aCBQYXRoIHRoYXQgY29udGFpbnMgZmlsZXMgdG8gdXBsb2FkCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1cGxvYWRGcm9tRGlyZWN0b3J5KCRwYXRoKQogICAgewogICAgICAgICR0aGlzLT5iYXNlRGlyID0gJHBhdGg7CiAgICAgICAgJHRoaXMtPnNvdXJjZUl0ZXJhdG9yID0gJHRoaXMtPmZpbHRlckl0ZXJhdG9yKG5ldyBcUmVjdXJzaXZlSXRlcmF0b3JJdGVyYXRvcihuZXcgXFJlY3Vyc2l2ZURpcmVjdG9yeUl0ZXJhdG9yKAogICAgICAgICAgICAkcGF0aCwKICAgICAgICAgICAgRkk6OlNLSVBfRE9UUyB8IEZJOjpVTklYX1BBVEhTIHwgRkk6OkZPTExPV19TWU1MSU5LUwogICAgICAgICkpKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IGEgZ2xvYiBleHByZXNzaW9uIHRoYXQgd2lsbCBtYXRjaCBmaWxlcyB0byB1cGxvYWQgdG8gQW1hem9uIFMzCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZ2xvYiBHbG9iIGV4cHJlc3Npb24KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBsaW5rIGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uZ2xvYi5waHAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVwbG9hZEZyb21HbG9iKCRnbG9iKQogICAgewogICAgICAgICR0aGlzLT5zb3VyY2VJdGVyYXRvciA9ICR0aGlzLT5maWx0ZXJJdGVyYXRvcigKICAgICAgICAgICAgbmV3IFxHbG9iSXRlcmF0b3IoJGdsb2IsIEZJOjpTS0lQX0RPVFMgfCBGSTo6VU5JWF9QQVRIUyB8IEZJOjpGT0xMT1dfU1lNTElOS1MpCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IGEgY2FubmVkIEFDTCB0byBhcHBseSB0byBlYWNoIHVwbG9hZGVkIG9iamVjdAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGFjbCBDYW5uZWQgQUNMIGZvciBlYWNoIHVwbG9hZAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0QWNsKCRhY2wpCiAgICB7CiAgICAgICAgJHRoaXMtPmFjcCA9ICRhY2w7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBhbiBBY2Nlc3MgQ29udHJvbCBQb2xpY3kgdG8gYXBwbHkgdG8gZWFjaCB1cGxvYWRlZCBvYmplY3QKICAgICAqCiAgICAgKiBAcGFyYW0gQWNwICRhY3AgQWNjZXNzIGNvbnRyb2wgcG9saWN5CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRBY3AoQWNwICRhY3ApCiAgICB7CiAgICAgICAgJHRoaXMtPmFjcCA9ICRhY3A7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgbXVsdGlwYXJ0IHVwbG9hZCBzaXplIHRocmVzaG9sZC4gV2hlbiB0aGUgc2l6ZSBvZiBhIGZpbGUgZXhjZWVkcyB0aGlzIHZhbHVlLCB0aGUgZmlsZSB3aWxsIGJlIHVwbG9hZGVkCiAgICAgKiB1c2luZyBhIG11bHRpcGFydCB1cGxvYWQuCiAgICAgKgogICAgICogQHBhcmFtIGludCAkc2l6ZSBTaXplIHRocmVzaG9sZAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0TXVsdGlwYXJ0VXBsb2FkU2l6ZSgkc2l6ZSkKICAgIHsKICAgICAgICAkdGhpcy0+bXVsdGlwYXJ0VXBsb2FkU2l6ZSA9ICRzaXplOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNwZWNpZmljQnVpbGQoKQogICAgewogICAgICAgICRzeW5jID0gbmV3IFVwbG9hZFN5bmMoYXJyYXkoCiAgICAgICAgICAgICdjbGllbnQnID0+ICR0aGlzLT5jbGllbnQsCiAgICAgICAgICAgICdidWNrZXQnID0+ICR0aGlzLT5idWNrZXQsCiAgICAgICAgICAgICdpdGVyYXRvcicgPT4gJHRoaXMtPnNvdXJjZUl0ZXJhdG9yLAogICAgICAgICAgICAnc291cmNlX2NvbnZlcnRlcicgPT4gJHRoaXMtPnNvdXJjZUNvbnZlcnRlciwKICAgICAgICAgICAgJ3RhcmdldF9jb252ZXJ0ZXInID0+ICR0aGlzLT50YXJnZXRDb252ZXJ0ZXIsCiAgICAgICAgICAgICdjb25jdXJyZW5jeScgPT4gJHRoaXMtPmNvbmN1cnJlbmN5LAogICAgICAgICAgICAnbXVsdGlwYXJ0X3VwbG9hZF9zaXplJyA9PiAkdGhpcy0+bXVsdGlwYXJ0VXBsb2FkU2l6ZSwKICAgICAgICAgICAgJ2FjbCcgPT4gJHRoaXMtPmFjcAogICAgICAgICkpOwoKICAgICAgICByZXR1cm4gJHN5bmM7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldFRhcmdldEl0ZXJhdG9yKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNyZWF0ZVMzSXRlcmF0b3IoKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RGVmYXVsdFNvdXJjZUNvbnZlcnRlcigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBLZXlDb252ZXJ0ZXIoJHRoaXMtPmJhc2VEaXIsICR0aGlzLT5rZXlQcmVmaXggLiAkdGhpcy0+ZGVsaW1pdGVyLCAkdGhpcy0+ZGVsaW1pdGVyKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RGVmYXVsdFRhcmdldENvbnZlcnRlcigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBLZXlDb252ZXJ0ZXIoJ3MzOi8vJyAuICR0aGlzLT5idWNrZXQgLiAnLycsICcnLCBESVJFQ1RPUllfU0VQQVJBVE9SKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkRGVidWdMaXN0ZW5lcihBYnN0cmFjdFN5bmMgJHN5bmMsICRyZXNvdXJjZSkKICAgIHsKICAgICAgICAkc3luYy0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKFVwbG9hZFN5bmM6OkJFRk9SRV9UUkFOU0ZFUiwgZnVuY3Rpb24gKEV2ZW50ICRlKSB1c2UgKCRyZXNvdXJjZSkgewoKICAgICAgICAgICAgJGMgPSAkZVsnY29tbWFuZCddOwoKICAgICAgICAgICAgaWYgKCRjIGluc3RhbmNlb2YgQ29tbWFuZEludGVyZmFjZSkgewogICAgICAgICAgICAgICAgJHVyaSA9ICRjWydCb2R5J10tPmdldFVyaSgpOwogICAgICAgICAgICAgICAgJHNpemUgPSAkY1snQm9keSddLT5nZXRTaXplKCk7CiAgICAgICAgICAgICAgICBmd3JpdGUoJHJlc291cmNlLCAiVXBsb2FkaW5nIHskdXJpfSAtPiB7JGNbJ0tleSddfSAoeyRzaXplfSBieXRlcylcbiIpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBNdWx0aXBhcnQgdXBsb2FkCiAgICAgICAgICAgICRib2R5ID0gJGMtPmdldFNvdXJjZSgpOwogICAgICAgICAgICAkdG90YWxTaXplID0gJGJvZHktPmdldFNpemUoKTsKICAgICAgICAgICAgJHByb2dyZXNzID0gMDsKICAgICAgICAgICAgZndyaXRlKCRyZXNvdXJjZSwgIkJlZ2lubmluZyBtdWx0aXBhcnQgdXBsb2FkOiAiIC4gJGJvZHktPmdldFVyaSgpIC4gJyAtPiAnKTsKICAgICAgICAgICAgZndyaXRlKCRyZXNvdXJjZSwgJGMtPmdldFN0YXRlKCktPmdldEZyb21JZCgnS2V5JykgLiAiICh7JHRvdGFsU2l6ZX0gYnl0ZXMpXG4iKTsKCiAgICAgICAgICAgICRjLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoCiAgICAgICAgICAgICAgICBBYnN0cmFjdFRyYW5zZmVyOjpCRUZPUkVfUEFSVF9VUExPQUQsCiAgICAgICAgICAgICAgICBmdW5jdGlvbiAoJGUpIHVzZSAoJiRwcm9ncmVzcywgJHRvdGFsU2l6ZSwgJHJlc291cmNlKSB7CiAgICAgICAgICAgICAgICAgICAgJGNvbW1hbmQgPSAkZVsnY29tbWFuZCddOwogICAgICAgICAgICAgICAgICAgICRzaXplID0gJGNvbW1hbmRbJ0JvZHknXS0+Z2V0Q29udGVudExlbmd0aCgpOwogICAgICAgICAgICAgICAgICAgICRwZXJjZW50YWdlID0gbnVtYmVyX2Zvcm1hdCgoJHByb2dyZXNzIC8gJHRvdGFsU2l6ZSkgKiAxMDAsIDIpOwogICAgICAgICAgICAgICAgICAgIGZ3cml0ZSgkcmVzb3VyY2UsICItIFBhcnQgeyRjb21tYW5kWydQYXJ0TnVtYmVyJ119ICh7JHNpemV9IGJ5dGVzLCB7JHBlcmNlbnRhZ2V9JSlcbiIpOwogICAgICAgICAgICAgICAgICAgICRwcm9ncmVzcyArPSAkc2l6ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKICAgICAgICB9KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ses/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ses/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ses/Enum/IdentityType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2VzXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgSWRlbnRpdHlUeXBlIHZhbHVlcwogKi8KY2xhc3MgSWRlbnRpdHlUeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBFTUFJTF9BRERSRVNTID0gJ0VtYWlsQWRkcmVzcyc7CiAgICBjb25zdCBET01BSU4gPSAnRG9tYWluJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ses/Enum/MailboxSimulator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2VzXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgTWFpbGJveFNpbXVsYXRvciB2YWx1ZXMKICovCmNsYXNzIE1haWxib3hTaW11bGF0b3IgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFNVQ0NFU1MgPSAnc3VjY2Vzc0BzaW11bGF0b3IuYW1hem9uc2VzLmNvbSc7CiAgICBjb25zdCBCT1VOQ0UgPSAnYm91bmNlQHNpbXVsYXRvci5hbWF6b25zZXMuY29tJzsKICAgIGNvbnN0IE9VVF9PRl9USEVfT0ZGSUNFID0gJ29vdG9Ac2ltdWxhdG9yLmFtYXpvbnNlcy5jb20nOwogICAgY29uc3QgQ09NUExBSU5UID0gJ2NvbXBsYWludEBzaW11bGF0b3IuYW1hem9uc2VzLmNvbSc7CiAgICBjb25zdCBCTEFDS0xJU1QgPSAnYmxhY2tsaXN0QHNpbXVsYXRvci5hbWF6b25zZXMuY29tJzsKICAgIGNvbnN0IFNVUFBSRVNTSU9OX0xJU1QgPSAnc3VwcHJlc3Npb25saXN0QHNpbXVsYXRvci5hbWF6b25zZXMuY29tJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ses/Enum/NotificationType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2VzXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgTm90aWZpY2F0aW9uVHlwZSB2YWx1ZXMKICovCmNsYXNzIE5vdGlmaWNhdGlvblR5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEJPVU5DRSA9ICdCb3VuY2UnOwogICAgY29uc3QgQ09NUExBSU5UID0gJ0NvbXBsYWludCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ses/Enum/VerificationStatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2VzXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgVmVyaWZpY2F0aW9uU3RhdHVzIHZhbHVlcwogKi8KY2xhc3MgVmVyaWZpY2F0aW9uU3RhdHVzIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBQRU5ESU5HID0gJ1BlbmRpbmcnOwogICAgY29uc3QgU1VDQ0VTUyA9ICdTdWNjZXNzJzsKICAgIGNvbnN0IEZBSUxFRCA9ICdGYWlsZWQnOwogICAgY29uc3QgVEVNUE9SQVJZX0ZBSUxVUkUgPSAnVGVtcG9yYXJ5RmFpbHVyZSc7CiAgICBjb25zdCBOT1RfU1RBUlRFRCA9ICdOb3RTdGFydGVkJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ses/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ses/Exception/MessageRejectedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2VzXEV4Y2VwdGlvbjsKCi8qKgogKiBJbmRpY2F0ZXMgdGhhdCB0aGUgYWN0aW9uIGZhaWxlZCwgYW5kIHRoZSBtZXNzYWdlIGNvdWxkIG5vdCBiZSBzZW50LiBDaGVjayB0aGUgZXJyb3Igc3RhY2sgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBjYXVzZWQgdGhlIGVycm9yLgogKi8KY2xhc3MgTWVzc2FnZVJlamVjdGVkRXhjZXB0aW9uIGV4dGVuZHMgU2VzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ses/Exception/SesException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2VzXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb247CgovKioKICogRGVmYXVsdCBzZXJ2aWNlIGV4Y2VwdGlvbiBjbGFzcwogKi8KY2xhc3MgU2VzRXhjZXB0aW9uIGV4dGVuZHMgU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ses/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ses/Resources/ses-2010-12-01.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTAtMTItMDEnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnZW1haWwnLAogICAgJ3NlcnZpY2VGdWxsTmFtZScgPT4gJ0FtYXpvbiBTaW1wbGUgRW1haWwgU2VydmljZScsCiAgICAnc2VydmljZUFiYnJldmlhdGlvbicgPT4gJ0FtYXpvbiBTRVMnLAogICAgJ3NlcnZpY2VUeXBlJyA9PiAncXVlcnknLAogICAgJ3Jlc3VsdFdyYXBwZWQnID0+IHRydWUsCiAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3Y0JywKICAgICduYW1lc3BhY2UnID0+ICdTZXMnLAogICAgJ3JlZ2lvbnMnID0+IGFycmF5KAogICAgICAgICd1cy1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnZW1haWwudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICApLAogICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICdEZWxldGVJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVJZGVudGl0eScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVWZXJpZmllZEVtYWlsQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAnZGVwcmVjYXRlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVsZXRlVmVyaWZpZWRFbWFpbEFkZHJlc3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW1haWxBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldElkZW50aXR5RGtpbUF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldElkZW50aXR5RGtpbUF0dHJpYnV0ZXNSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0dldElkZW50aXR5RGtpbUF0dHJpYnV0ZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWRlbnRpdGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0lkZW50aXRpZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0lkZW50aXR5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldElkZW50aXR5Tm90aWZpY2F0aW9uQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0SWRlbnRpdHlOb3RpZmljYXRpb25BdHRyaWJ1dGVzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRJZGVudGl0eU5vdGlmaWNhdGlvbkF0dHJpYnV0ZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWRlbnRpdGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0lkZW50aXRpZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0lkZW50aXR5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldElkZW50aXR5VmVyaWZpY2F0aW9uQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0SWRlbnRpdHlWZXJpZmljYXRpb25BdHRyaWJ1dGVzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRJZGVudGl0eVZlcmlmaWNhdGlvbkF0dHJpYnV0ZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSWRlbnRpdGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0lkZW50aXRpZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0lkZW50aXR5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFNlbmRRdW90YScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0U2VuZFF1b3RhUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRTZW5kUXVvdGEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0U2VuZFN0YXRpc3RpY3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldFNlbmRTdGF0aXN0aWNzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRTZW5kU3RhdGlzdGljcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0SWRlbnRpdGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdElkZW50aXRpZXNSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0xpc3RJZGVudGl0aWVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lkZW50aXR5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RWZXJpZmllZEVtYWlsQWRkcmVzc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0VmVyaWZpZWRFbWFpbEFkZHJlc3Nlc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ2RlcHJlY2F0ZWQnID0+IHRydWUsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0xpc3RWZXJpZmllZEVtYWlsQWRkcmVzc2VzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NlbmRFbWFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnU2VuZEVtYWlsUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTZW5kRW1haWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU291cmNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc3RpbmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVG9BZGRyZXNzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnVG9BZGRyZXNzZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQ2NBZGRyZXNzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2NBZGRyZXNzZXMubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQmNjQWRkcmVzc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0JjY0FkZHJlc3Nlcy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0FkZHJlc3MnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1N1YmplY3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2hhcnNldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0JvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUZXh0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2hhcnNldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIdG1sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2hhcnNldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSZXBseVRvQWRkcmVzc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdSZXBseVRvQWRkcmVzc2VzLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JldHVyblBhdGgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgYWN0aW9uIGZhaWxlZCwgYW5kIHRoZSBtZXNzYWdlIGNvdWxkIG5vdCBiZSBzZW50LiBDaGVjayB0aGUgZXJyb3Igc3RhY2sgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBjYXVzZWQgdGhlIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWVzc2FnZVJlamVjdGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU2VuZFJhd0VtYWlsJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdTZW5kUmF3RW1haWxSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NlbmRSYXdFbWFpbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXN0aW5hdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0Rlc3RpbmF0aW9ucy5tZW1iZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQWRkcmVzcycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSYXdNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgdGhlIGFjdGlvbiBmYWlsZWQsIGFuZCB0aGUgbWVzc2FnZSBjb3VsZCBub3QgYmUgc2VudC4gQ2hlY2sgdGhlIGVycm9yIHN0YWNrIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHdoYXQgY2F1c2VkIHRoZSBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01lc3NhZ2VSZWplY3RlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NldElkZW50aXR5RGtpbUVuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2V0SWRlbnRpdHlEa2ltRW5hYmxlZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEa2ltRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTZXRJZGVudGl0eUZlZWRiYWNrRm9yd2FyZGluZ0VuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2V0SWRlbnRpdHlGZWVkYmFja0ZvcndhcmRpbmdFbmFibGVkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0xMi0wMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0lkZW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZvcndhcmRpbmdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NldElkZW50aXR5Tm90aWZpY2F0aW9uVG9waWMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2V0SWRlbnRpdHlOb3RpZmljYXRpb25Ub3BpYycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOb3RpZmljYXRpb25UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Nuc1RvcGljJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVmVyaWZ5RG9tYWluRGtpbScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVmVyaWZ5RG9tYWluRGtpbVJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnVmVyaWZ5RG9tYWluRGtpbScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVmVyaWZ5RG9tYWluSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1ZlcmlmeURvbWFpbklkZW50aXR5UmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdWZXJpZnlEb21haW5JZGVudGl0eScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVmVyaWZ5RW1haWxBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdkZXByZWNhdGVkJyA9PiB0cnVlLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdWZXJpZnlFbWFpbEFkZHJlc3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTEyLTAxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW1haWxBZGRyZXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1ZlcmlmeUVtYWlsSWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnVmVyaWZ5RW1haWxJZGVudGl0eScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMTItMDEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbWFpbEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnbW9kZWxzJyA9PiBhcnJheSgKICAgICAgICAnRW1wdHlPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICApLAogICAgICAgICdHZXRJZGVudGl0eURraW1BdHRyaWJ1dGVzUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0RraW1BdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWV0aG9kJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFhtbFJlc3BvbnNlTG9jYXRpb25WaXNpdG9yOjp4bWxNYXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FyZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdAdmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2VudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEa2ltRW5hYmxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGtpbVZlcmlmaWNhdGlvblN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEa2ltVG9rZW5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1ZlcmlmaWNhdGlvblRva2VuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBmYWxzZSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0SWRlbnRpdHlOb3RpZmljYXRpb25BdHRyaWJ1dGVzUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ05vdGlmaWNhdGlvbkF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZXRob2QnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcWG1sUmVzcG9uc2VMb2NhdGlvblZpc2l0b3I6OnhtbE1hcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXJncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0B2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdlbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JvdW5jZVRvcGljJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBsYWludFRvcGljJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcndhcmRpbmdFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGZhbHNlLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRJZGVudGl0eVZlcmlmaWNhdGlvbkF0dHJpYnV0ZXNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVmVyaWZpY2F0aW9uQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21ldGhvZCcgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxYbWxSZXNwb25zZUxvY2F0aW9uVmlzaXRvcjo6eG1sTWFwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQHZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdlbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2VudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAna2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmVyaWZpY2F0aW9uU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZlcmlmaWNhdGlvblRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gZmFsc2UsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFNlbmRRdW90YVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNYXgyNEhvdXJTZW5kJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heFNlbmRSYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NlbnRMYXN0MjRIb3VycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRTZW5kU3RhdGlzdGljc1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTZW5kRGF0YVBvaW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NlbmREYXRhUG9pbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGltZXN0YW1wJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlbGl2ZXJ5QXR0ZW1wdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JvdW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbXBsYWludHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlamVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RJZGVudGl0aWVzUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lkZW50aXRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJZGVudGl0eScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ21lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFZlcmlmaWVkRW1haWxBZGRyZXNzZXNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVmVyaWZpZWRFbWFpbEFkZHJlc3NlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0FkZHJlc3MnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NlbmRFbWFpbFJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNZXNzYWdlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTZW5kUmF3RW1haWxSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWVzc2FnZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVmVyaWZ5RG9tYWluRGtpbVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdEa2ltVG9rZW5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVmVyaWZpY2F0aW9uVG9rZW4nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1ZlcmlmeURvbWFpbklkZW50aXR5UmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1ZlcmlmaWNhdGlvblRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnaXRlcmF0b3JzJyA9PiBhcnJheSgKICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdMaXN0SWRlbnRpdGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4SXRlbXMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdJZGVudGl0aWVzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RWZXJpZmllZEVtYWlsQWRkcmVzc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnVmVyaWZpZWRFbWFpbEFkZHJlc3NlcycsCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnd2FpdGVycycgPT4gYXJyYXkoCiAgICAgICAgJ19fZGVmYXVsdF9fJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2ludGVydmFsJyA9PiAzLAogICAgICAgICAgICAnbWF4X2F0dGVtcHRzJyA9PiAyMCwKICAgICAgICApLAogICAgICAgICdJZGVudGl0eUV4aXN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRpb24nID0+ICdHZXRJZGVudGl0eVZlcmlmaWNhdGlvbkF0dHJpYnV0ZXMnLAogICAgICAgICAgICAnc3VjY2Vzcy50eXBlJyA9PiAnb3V0cHV0JywKICAgICAgICAgICAgJ3N1Y2Nlc3MucGF0aCcgPT4gJ1ZlcmlmaWNhdGlvbkF0dHJpYnV0ZXMvKi9WZXJpZmljYXRpb25TdGF0dXMnLAogICAgICAgICAgICAnc3VjY2Vzcy52YWx1ZScgPT4gdHJ1ZSwKICAgICAgICApLAogICAgKSwKKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Ses/SesClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2VzOwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50Owp1c2UgQXdzXENvbW1vblxDbGllbnRcQ2xpZW50QnVpbGRlcjsKdXNlIEF3c1xDb21tb25cRW51bVxDbGllbnRPcHRpb25zIGFzIE9wdGlvbnM7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2U7CgovKioKICogQ2xpZW50IHRvIGludGVyYWN0IHdpdGggQW1hem9uIFNpbXBsZSBFbWFpbCBTZXJ2aWNlCiAqCiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlSWRlbnRpdHkoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU2VzIERlbGV0ZUlkZW50aXR5fQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVZlcmlmaWVkRW1haWxBZGRyZXNzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNlcyBEZWxldGVWZXJpZmllZEVtYWlsQWRkcmVzc30KICogQG1ldGhvZCBNb2RlbCBnZXRJZGVudGl0eURraW1BdHRyaWJ1dGVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNlcyBHZXRJZGVudGl0eURraW1BdHRyaWJ1dGVzfQogKiBAbWV0aG9kIE1vZGVsIGdldElkZW50aXR5Tm90aWZpY2F0aW9uQXR0cmlidXRlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTZXMgR2V0SWRlbnRpdHlOb3RpZmljYXRpb25BdHRyaWJ1dGVzfQogKiBAbWV0aG9kIE1vZGVsIGdldElkZW50aXR5VmVyaWZpY2F0aW9uQXR0cmlidXRlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTZXMgR2V0SWRlbnRpdHlWZXJpZmljYXRpb25BdHRyaWJ1dGVzfQogKiBAbWV0aG9kIE1vZGVsIGdldFNlbmRRdW90YShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTZXMgR2V0U2VuZFF1b3RhfQogKiBAbWV0aG9kIE1vZGVsIGdldFNlbmRTdGF0aXN0aWNzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNlcyBHZXRTZW5kU3RhdGlzdGljc30KICogQG1ldGhvZCBNb2RlbCBsaXN0SWRlbnRpdGllcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTZXMgTGlzdElkZW50aXRpZXN9CiAqIEBtZXRob2QgTW9kZWwgbGlzdFZlcmlmaWVkRW1haWxBZGRyZXNzZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU2VzIExpc3RWZXJpZmllZEVtYWlsQWRkcmVzc2VzfQogKiBAbWV0aG9kIE1vZGVsIHNlbmRFbWFpbChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTZXMgU2VuZEVtYWlsfQogKiBAbWV0aG9kIE1vZGVsIHNlbmRSYXdFbWFpbChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTZXMgU2VuZFJhd0VtYWlsfQogKiBAbWV0aG9kIE1vZGVsIHNldElkZW50aXR5RGtpbUVuYWJsZWQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU2VzIFNldElkZW50aXR5RGtpbUVuYWJsZWR9CiAqIEBtZXRob2QgTW9kZWwgc2V0SWRlbnRpdHlGZWVkYmFja0ZvcndhcmRpbmdFbmFibGVkKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNlcyBTZXRJZGVudGl0eUZlZWRiYWNrRm9yd2FyZGluZ0VuYWJsZWR9CiAqIEBtZXRob2QgTW9kZWwgc2V0SWRlbnRpdHlOb3RpZmljYXRpb25Ub3BpYyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTZXMgU2V0SWRlbnRpdHlOb3RpZmljYXRpb25Ub3BpY30KICogQG1ldGhvZCBNb2RlbCB2ZXJpZnlEb21haW5Ea2ltKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNlcyBWZXJpZnlEb21haW5Ea2ltfQogKiBAbWV0aG9kIE1vZGVsIHZlcmlmeURvbWFpbklkZW50aXR5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNlcyBWZXJpZnlEb21haW5JZGVudGl0eX0KICogQG1ldGhvZCBNb2RlbCB2ZXJpZnlFbWFpbEFkZHJlc3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU2VzIFZlcmlmeUVtYWlsQWRkcmVzc30KICogQG1ldGhvZCBNb2RlbCB2ZXJpZnlFbWFpbElkZW50aXR5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNlcyBWZXJpZnlFbWFpbElkZW50aXR5fQogKiBAbWV0aG9kIHdhaXRVbnRpbElkZW50aXR5RXhpc3RzKGFycmF5ICRpbnB1dCkgV2FpdCB1c2luZyB0aGUgSWRlbnRpdHlFeGlzdHMgd2FpdGVyLiBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgR2V0SWRlbnRpdHlWZXJpZmljYXRpb25BdHRyaWJ1dGVzIG9wZXJhdGlvbiBhbmQgd2FpdGVyIHNwZWNpZmljIHNldHRpbmdzCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0SWRlbnRpdGllc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RJZGVudGl0aWVzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdFZlcmlmaWVkRW1haWxBZGRyZXNzZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0VmVyaWZpZWRFbWFpbEFkZHJlc3NlcyBvcGVyYXRpb24KICoKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2Utc2VzLmh0bWwgVXNlciBndWlkZQogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLlNlcy5TZXNDbGllbnQuaHRtbCBBUEkgZG9jcwogKi8KY2xhc3MgU2VzQ2xpZW50IGV4dGVuZHMgQWJzdHJhY3RDbGllbnQKewogICAgY29uc3QgTEFURVNUX0FQSV9WRVJTSU9OID0gJzIwMTAtMTItMDEnOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEFtYXpvbiBTaW1wbGUgRW1haWwgU2VydmljZSBjbGllbnQgdXNpbmcgYW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBvcHRpb25zLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICRjb25maWcgQ2xpZW50IGNvbmZpZ3VyYXRpb24gZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQHNlZSBcQXdzXENvbW1vblxDbGllbnRcRGVmYXVsdENsaWVudCBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBjb25maWd1cmF0aW9uIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KF9fTkFNRVNQQUNFX18pCiAgICAgICAgICAgIC0+c2V0Q29uZmlnKCRjb25maWcpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnRGVmYXVsdHMoYXJyYXkoCiAgICAgICAgICAgICAgICBPcHRpb25zOjpWRVJTSU9OICAgICAgICAgICAgID0+IHNlbGY6OkxBVEVTVF9BUElfVkVSU0lPTiwKICAgICAgICAgICAgICAgIE9wdGlvbnM6OlNFUlZJQ0VfREVTQ1JJUFRJT04gPT4gX19ESVJfXyAuICcvUmVzb3VyY2VzL3Nlcy0lcy5waHAnLAogICAgICAgICAgICAgICAgT3B0aW9uczo6U0lHTkFUVVJFX1NFUlZJQ0UgICA9PiAnc2VzJywKICAgICAgICAgICAgKSkKICAgICAgICAgICAgLT5idWlsZCgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/AttributeDoesNotExistException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgYXR0cmlidXRlIGRvZXMgbm90IGV4aXN0LgogKi8KY2xhc3MgQXR0cmlidXRlRG9lc05vdEV4aXN0RXhjZXB0aW9uIGV4dGVuZHMgU2ltcGxlRGJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/DuplicateItemNameException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBpdGVtIG5hbWUgd2FzIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZS4KICovCmNsYXNzIER1cGxpY2F0ZUl0ZW1OYW1lRXhjZXB0aW9uIGV4dGVuZHMgU2ltcGxlRGJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/InvalidNextTokenException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgTmV4dFRva2VuIGlzIG5vdCB2YWxpZC4KICovCmNsYXNzIEludmFsaWROZXh0VG9rZW5FeGNlcHRpb24gZXh0ZW5kcyBTaW1wbGVEYkV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/InvalidNumberPredicatesException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRvbyBtYW55IHByZWRpY2F0ZXMgZXhpc3QgaW4gdGhlIHF1ZXJ5IGV4cHJlc3Npb24uCiAqLwpjbGFzcyBJbnZhbGlkTnVtYmVyUHJlZGljYXRlc0V4Y2VwdGlvbiBleHRlbmRzIFNpbXBsZURiRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/InvalidNumberValueTestsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRvbyBtYW55IHByZWRpY2F0ZXMgZXhpc3QgaW4gdGhlIHF1ZXJ5IGV4cHJlc3Npb24uCiAqLwpjbGFzcyBJbnZhbGlkTnVtYmVyVmFsdWVUZXN0c0V4Y2VwdGlvbiBleHRlbmRzIFNpbXBsZURiRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/InvalidParameterValueException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSB2YWx1ZSBmb3IgYSBwYXJhbWV0ZXIgaXMgaW52YWxpZC4KICovCmNsYXNzIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbiBleHRlbmRzIFNpbXBsZURiRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/InvalidQueryExpressionException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgcXVlcnkgZXhwcmVzc2lvbiBzeW50YXggaXMgbm90IHZhbGlkLgogKi8KY2xhc3MgSW52YWxpZFF1ZXJ5RXhwcmVzc2lvbkV4Y2VwdGlvbiBleHRlbmRzIFNpbXBsZURiRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/MissingParameterException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSByZXF1ZXN0IG11c3QgY29udGFpbiB0aGUgc3BlY2lmaWVkIG1pc3NpbmcgcGFyYW1ldGVyLgogKi8KY2xhc3MgTWlzc2luZ1BhcmFtZXRlckV4Y2VwdGlvbiBleHRlbmRzIFNpbXBsZURiRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/NoSuchDomainException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRoZSBzcGVjaWZpZWQgZG9tYWluIGRvZXMgbm90IGV4aXN0LgogKi8KY2xhc3MgTm9TdWNoRG9tYWluRXhjZXB0aW9uIGV4dGVuZHMgU2ltcGxlRGJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/NumberDomainAttributesExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRvbyBtYW55IGF0dHJpYnV0ZXMgaW4gdGhpcyBkb21haW4uCiAqLwpjbGFzcyBOdW1iZXJEb21haW5BdHRyaWJ1dGVzRXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBTaW1wbGVEYkV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/NumberDomainBytesExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRvbyBtYW55IGJ5dGVzIGluIHRoaXMgZG9tYWluLgogKi8KY2xhc3MgTnVtYmVyRG9tYWluQnl0ZXNFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFNpbXBsZURiRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/NumberDomainsExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRvbyBtYW55IGRvbWFpbnMgZXhpc3QgcGVyIHRoaXMgYWNjb3VudC4KICovCmNsYXNzIE51bWJlckRvbWFpbnNFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFNpbXBsZURiRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/NumberItemAttributesExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRvbyBtYW55IGF0dHJpYnV0ZXMgaW4gdGhpcyBpdGVtLgogKi8KY2xhc3MgTnVtYmVySXRlbUF0dHJpYnV0ZXNFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFNpbXBsZURiRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/NumberSubmittedAttributesExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRvbyBtYW55IGF0dHJpYnV0ZXMgZXhpc3QgaW4gYSBzaW5nbGUgY2FsbC4KICovCmNsYXNzIE51bWJlclN1Ym1pdHRlZEF0dHJpYnV0ZXNFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFNpbXBsZURiRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/NumberSubmittedItemsExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRvbyBtYW55IGl0ZW1zIGV4aXN0IGluIGEgc2luZ2xlIGNhbGwuCiAqLwpjbGFzcyBOdW1iZXJTdWJtaXR0ZWRJdGVtc0V4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgU2ltcGxlRGJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/RequestTimeoutException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIEEgdGltZW91dCBvY2N1cnJlZCB3aGVuIGF0dGVtcHRpbmcgdG8gcXVlcnkgdGhlIHNwZWNpZmllZCBkb21haW4gd2l0aCBzcGVjaWZpZWQgcXVlcnkgZXhwcmVzc2lvbi4KICovCmNsYXNzIFJlcXVlc3RUaW1lb3V0RXhjZXB0aW9uIGV4dGVuZHMgU2ltcGxlRGJFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/SimpleDbException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbjsKCi8qKgogKiBEZWZhdWx0IHNlcnZpY2UgZXhjZXB0aW9uIGNsYXNzCiAqLwpjbGFzcyBTaW1wbGVEYkV4Y2VwdGlvbiBleHRlbmRzIFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Exception/TooManyRequestedAttributesException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGJcRXhjZXB0aW9uOwoKLyoqCiAqIFRvbyBtYW55IGF0dHJpYnV0ZXMgcmVxdWVzdGVkLgogKi8KY2xhc3MgVG9vTWFueVJlcXVlc3RlZEF0dHJpYnV0ZXNFeGNlcHRpb24gZXh0ZW5kcyBTaW1wbGVEYkV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/Resources/simpledb-2009-04-15.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMDktMDQtMTUnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnc2RiJywKICAgICdzZXJ2aWNlRnVsbE5hbWUnID0+ICdBbWF6b24gU2ltcGxlREInLAogICAgJ3NlcnZpY2VUeXBlJyA9PiAncXVlcnknLAogICAgJ3Jlc3VsdFdyYXBwZWQnID0+IHRydWUsCiAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3YyJywKICAgICduYW1lc3BhY2UnID0+ICdTaW1wbGVEYicsCiAgICAncmVnaW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ3VzLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3NkYi5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzZGIudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3NkYi51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnZXUtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc2RiLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1ub3J0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3NkYi5hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3NkYi5hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3NkYi5hcC1zb3V0aGVhc3QtMi5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdzYS1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzZGIuc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICApLAogICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICdCYXRjaERlbGV0ZUF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQmF0Y2hEZWxldGVBdHRyaWJ1dGVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAwOS0wNC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJdGVtJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdJdGVtTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBdHRyaWJ1dGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWx0ZXJuYXRlTmFtZUVuY29kaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbHRlcm5hdGVWYWx1ZUVuY29kaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0JhdGNoUHV0QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdCYXRjaFB1dEF0dHJpYnV0ZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDA5LTA0LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0l0ZW0nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0l0ZW1OYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBdHRyaWJ1dGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlcGxhY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGl0ZW0gbmFtZSB3YXMgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRHVwbGljYXRlSXRlbU5hbWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgZm9yIGEgcGFyYW1ldGVyIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCBtdXN0IGNvbnRhaW4gdGhlIHNwZWNpZmllZCBtaXNzaW5nIHBhcmFtZXRlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01pc3NpbmdQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGRvbWFpbiBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaERvbWFpbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RvbyBtYW55IGF0dHJpYnV0ZXMgaW4gdGhpcyBpdGVtLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTnVtYmVySXRlbUF0dHJpYnV0ZXNFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RvbyBtYW55IGF0dHJpYnV0ZXMgaW4gdGhpcyBkb21haW4uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOdW1iZXJEb21haW5BdHRyaWJ1dGVzRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUb28gbWFueSBieXRlcyBpbiB0aGlzIGRvbWFpbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ051bWJlckRvbWFpbkJ5dGVzRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUb28gbWFueSBpdGVtcyBleGlzdCBpbiBhIHNpbmdsZSBjYWxsLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTnVtYmVyU3VibWl0dGVkSXRlbXNFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RvbyBtYW55IGF0dHJpYnV0ZXMgZXhpc3QgaW4gYSBzaW5nbGUgY2FsbC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ051bWJlclN1Ym1pdHRlZEF0dHJpYnV0ZXNFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZURvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVEb21haW4nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDA5LTA0LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgZm9yIGEgcGFyYW1ldGVyIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCBtdXN0IGNvbnRhaW4gdGhlIHNwZWNpZmllZCBtaXNzaW5nIHBhcmFtZXRlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01pc3NpbmdQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUb28gbWFueSBkb21haW5zIGV4aXN0IHBlciB0aGlzIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOdW1iZXJEb21haW5zRXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZUF0dHJpYnV0ZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDA5LTA0LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJdGVtTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBdHRyaWJ1dGUnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWx0ZXJuYXRlTmFtZUVuY29kaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbHRlcm5hdGVWYWx1ZUVuY29kaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V4cGVjdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0V4aXN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgZm9yIGEgcGFyYW1ldGVyIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCBtdXN0IGNvbnRhaW4gdGhlIHNwZWNpZmllZCBtaXNzaW5nIHBhcmFtZXRlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01pc3NpbmdQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGRvbWFpbiBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaERvbWFpbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgYXR0cmlidXRlIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXR0cmlidXRlRG9lc05vdEV4aXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlRG9tYWluJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZURvbWFpbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMDktMDQtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IG11c3QgY29udGFpbiB0aGUgc3BlY2lmaWVkIG1pc3NpbmcgcGFyYW1ldGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ1BhcmFtZXRlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RvbWFpbk1ldGFkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEb21haW5NZXRhZGF0YVJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RvbWFpbk1ldGFkYXRhJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAwOS0wNC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3QgbXVzdCBjb250YWluIHRoZSBzcGVjaWZpZWQgbWlzc2luZyBwYXJhbWV0ZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nUGFyYW1ldGVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBkb21haW4gZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hEb21haW5FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRBdHRyaWJ1dGVzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnR2V0QXR0cmlidXRlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMDktMDQtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEb21haW5OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0l0ZW1OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F0dHJpYnV0ZU5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ29uc2lzdGVudFJlYWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgZm9yIGEgcGFyYW1ldGVyIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCBtdXN0IGNvbnRhaW4gdGhlIHNwZWNpZmllZCBtaXNzaW5nIHBhcmFtZXRlci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01pc3NpbmdQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIGRvbWFpbiBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vU3VjaERvbWFpbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3REb21haW5zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0RG9tYWluc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0xpc3REb21haW5zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAwOS0wNC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heE51bWJlck9mRG9tYWlucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgdmFsdWUgZm9yIGEgcGFyYW1ldGVyIGlzIGludmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWVFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgc3BlY2lmaWVkIE5leHRUb2tlbiBpcyBub3QgdmFsaWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkTmV4dFRva2VuRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHV0QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdQdXRBdHRyaWJ1dGVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAwOS0wNC0xNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSXRlbU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F0dHJpYnV0ZScsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVwbGFjZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFeHBlY3RlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdFeGlzdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHZhbHVlIGZvciBhIHBhcmFtZXRlciBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3QgbXVzdCBjb250YWluIHRoZSBzcGVjaWZpZWQgbWlzc2luZyBwYXJhbWV0ZXIuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNaXNzaW5nUGFyYW1ldGVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBkb21haW4gZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb1N1Y2hEb21haW5FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUb28gbWFueSBhdHRyaWJ1dGVzIGluIHRoaXMgZG9tYWluLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTnVtYmVyRG9tYWluQXR0cmlidXRlc0V4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVG9vIG1hbnkgYnl0ZXMgaW4gdGhpcyBkb21haW4uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOdW1iZXJEb21haW5CeXRlc0V4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVG9vIG1hbnkgYXR0cmlidXRlcyBpbiB0aGlzIGl0ZW0uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOdW1iZXJJdGVtQXR0cmlidXRlc0V4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBhdHRyaWJ1dGUgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdHRyaWJ1dGVEb2VzTm90RXhpc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTZWxlY3QnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1NlbGVjdFJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NlbGVjdCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMDktMDQtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZWxlY3RFeHByZXNzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbnNpc3RlbnRSZWFkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHZhbHVlIGZvciBhIHBhcmFtZXRlciBpcyBpbnZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHNwZWNpZmllZCBOZXh0VG9rZW4gaXMgbm90IHZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZE5leHRUb2tlbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RvbyBtYW55IHByZWRpY2F0ZXMgZXhpc3QgaW4gdGhlIHF1ZXJ5IGV4cHJlc3Npb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkTnVtYmVyUHJlZGljYXRlc0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RvbyBtYW55IHByZWRpY2F0ZXMgZXhpc3QgaW4gdGhlIHF1ZXJ5IGV4cHJlc3Npb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkTnVtYmVyVmFsdWVUZXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgcXVlcnkgZXhwcmVzc2lvbiBzeW50YXggaXMgbm90IHZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFF1ZXJ5RXhwcmVzc2lvbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IG11c3QgY29udGFpbiB0aGUgc3BlY2lmaWVkIG1pc3NpbmcgcGFyYW1ldGVyLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWlzc2luZ1BhcmFtZXRlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBzcGVjaWZpZWQgZG9tYWluIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm9TdWNoRG9tYWluRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQSB0aW1lb3V0IG9jY3VycmVkIHdoZW4gYXR0ZW1wdGluZyB0byBxdWVyeSB0aGUgc3BlY2lmaWVkIGRvbWFpbiB3aXRoIHNwZWNpZmllZCBxdWVyeSBleHByZXNzaW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVxdWVzdFRpbWVvdXRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUb28gbWFueSBhdHRyaWJ1dGVzIHJlcXVlc3RlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlSZXF1ZXN0ZWRBdHRyaWJ1dGVzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnbW9kZWxzJyA9PiBhcnJheSgKICAgICAgICAnRW1wdHlPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICApLAogICAgICAgICdEb21haW5NZXRhZGF0YVJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSXRlbUNvdW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0l0ZW1OYW1lc1NpemVCeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lQ291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZXNTaXplQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlVmFsdWVDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVWYWx1ZXNTaXplQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGltZXN0YW1wJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEF0dHJpYnV0ZXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F0dHJpYnV0ZScsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAneG1sRmxhdHRlbmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBdHRyaWJ1dGUnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbHRlcm5hdGVOYW1lRW5jb2RpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWx0ZXJuYXRlVmFsdWVFbmNvZGluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0RG9tYWluc1Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRG9tYWluTmFtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0RvbWFpbk5hbWUnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRG9tYWluTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0RvbWFpbk5hbWUnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NlbGVjdFJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0l0ZW0nLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbHRlcm5hdGVOYW1lRW5jb2RpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F0dHJpYnV0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sRmxhdHRlbmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBdHRyaWJ1dGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBbHRlcm5hdGVOYW1lRW5jb2RpbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWx0ZXJuYXRlVmFsdWVFbmNvZGluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/SimpleDb/SimpleDbClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU2ltcGxlRGI7Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQ7CnVzZSBBd3NcQ29tbW9uXENsaWVudFxDbGllbnRCdWlsZGVyOwp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZTsKCi8qKgogKiBDbGllbnQgdG8gaW50ZXJhY3Qgd2l0aCBBbWF6b24gU2ltcGxlREIKICoKICogQG1ldGhvZCBNb2RlbCBiYXRjaERlbGV0ZUF0dHJpYnV0ZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU2ltcGxlRGIgQmF0Y2hEZWxldGVBdHRyaWJ1dGVzfQogKiBAbWV0aG9kIE1vZGVsIGJhdGNoUHV0QXR0cmlidXRlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTaW1wbGVEYiBCYXRjaFB1dEF0dHJpYnV0ZXN9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlRG9tYWluKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNpbXBsZURiIENyZWF0ZURvbWFpbn0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVBdHRyaWJ1dGVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNpbXBsZURiIERlbGV0ZUF0dHJpYnV0ZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlRG9tYWluKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNpbXBsZURiIERlbGV0ZURvbWFpbn0KICogQG1ldGhvZCBNb2RlbCBkb21haW5NZXRhZGF0YShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTaW1wbGVEYiBEb21haW5NZXRhZGF0YX0KICogQG1ldGhvZCBNb2RlbCBnZXRBdHRyaWJ1dGVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNpbXBsZURiIEdldEF0dHJpYnV0ZXN9CiAqIEBtZXRob2QgTW9kZWwgbGlzdERvbWFpbnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU2ltcGxlRGIgTGlzdERvbWFpbnN9CiAqIEBtZXRob2QgTW9kZWwgcHV0QXR0cmlidXRlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTaW1wbGVEYiBQdXRBdHRyaWJ1dGVzfQogKiBAbWV0aG9kIE1vZGVsIHNlbGVjdChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTaW1wbGVEYiBTZWxlY3R9CiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0RG9tYWluc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3REb21haW5zIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0U2VsZWN0SXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgU2VsZWN0IG9wZXJhdGlvbgogKgogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3Qvc2VydmljZS1zaW1wbGVkYi5odG1sIFVzZXIgZ3VpZGUKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5TaW1wbGVEYi5TaW1wbGVEYkNsaWVudC5odG1sIEFQSSBkb2NzCiAqLwpjbGFzcyBTaW1wbGVEYkNsaWVudCBleHRlbmRzIEFic3RyYWN0Q2xpZW50CnsKICAgIGNvbnN0IExBVEVTVF9BUElfVkVSU0lPTiA9ICcyMDA5LTA0LTE1JzsKCiAgICAvKioKICAgICAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBBbWF6b24gU2ltcGxlREIgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEF3c1xDb21tb25cQ2xpZW50XERlZmF1bHRDbGllbnQgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9zaW1wbGVkYi0lcy5waHAnCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+c2V0SXRlcmF0b3JzQ29uZmlnKGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdMaXN0RG9tYWlucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnRG9tYWluTmFtZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTWF4TnVtYmVyT2ZEb21haW5zJwogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ1NlbGVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnSXRlbXMnCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/Exception/AuthorizationErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXEV4Y2VwdGlvbjsKCi8qKgogKiBJbmRpY2F0ZXMgdGhhdCB0aGUgdXNlciBoYXMgYmVlbiBkZW5pZWQgYWNjZXNzIHRvIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UuCiAqLwpjbGFzcyBBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24gZXh0ZW5kcyBTbnNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/Exception/EndpointDisabledException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXEV4Y2VwdGlvbjsKCi8qKgogKiBFeGNlcHRpb24gZXJyb3IgaW5kaWNhdGluZyBlbmRwb2ludCBkaXNhYmxlZC4KICovCmNsYXNzIEVuZHBvaW50RGlzYWJsZWRFeGNlcHRpb24gZXh0ZW5kcyBTbnNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/Exception/InternalErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXEV4Y2VwdGlvbjsKCi8qKgogKiBJbmRpY2F0ZXMgYW4gaW50ZXJuYWwgc2VydmljZSBlcnJvci4KICovCmNsYXNzIEludGVybmFsRXJyb3JFeGNlcHRpb24gZXh0ZW5kcyBTbnNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/Exception/InvalidParameterException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXEV4Y2VwdGlvbjsKCi8qKgogKiBJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3QgcGFyYW1ldGVyIGRvZXMgbm90IGNvbXBseSB3aXRoIHRoZSBhc3NvY2lhdGVkIGNvbnN0cmFpbnRzLgogKi8KY2xhc3MgSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbiBleHRlbmRzIFNuc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/Exception/NotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXEV4Y2VwdGlvbjsKCi8qKgogKiBJbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdGVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0LgogKi8KY2xhc3MgTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBTbnNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/Exception/PlatformApplicationDisabledException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXEV4Y2VwdGlvbjsKCi8qKgogKiBFeGNlcHRpb24gZXJyb3IgaW5kaWNhdGluZyBwbGF0Zm9ybSBhcHBsaWNhdGlvbiBkaXNhYmxlZC4KICovCmNsYXNzIFBsYXRmb3JtQXBwbGljYXRpb25EaXNhYmxlZEV4Y2VwdGlvbiBleHRlbmRzIFNuc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/Exception/SnsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb247CgovKioKICogRGVmYXVsdCBzZXJ2aWNlIGV4Y2VwdGlvbiBjbGFzcwogKi8KY2xhc3MgU25zRXhjZXB0aW9uIGV4dGVuZHMgU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/Exception/SubscriptionLimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXEV4Y2VwdGlvbjsKCi8qKgogKiBJbmRpY2F0ZXMgdGhhdCB0aGUgY3VzdG9tZXIgYWxyZWFkeSBvd25zIHRoZSBtYXhpbXVtIGFsbG93ZWQgbnVtYmVyIG9mIHN1YnNjcmlwdGlvbnMuCiAqLwpjbGFzcyBTdWJzY3JpcHRpb25MaW1pdEV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgU25zRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/Exception/TopicLimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXEV4Y2VwdGlvbjsKCi8qKgogKiBJbmRpY2F0ZXMgdGhhdCB0aGUgY3VzdG9tZXIgYWxyZWFkeSBvd25zIHRoZSBtYXhpbXVtIGFsbG93ZWQgbnVtYmVyIG9mIHRvcGljcy4KICovCmNsYXNzIFRvcGljTGltaXRFeGNlZWRlZEV4Y2VwdGlvbiBleHRlbmRzIFNuc0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/MessageValidator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/MessageValidator/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/MessageValidator/Exception/CannotGetPublicKeyFromCertificateException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXE1lc3NhZ2VWYWxpZGF0b3JcRXhjZXB0aW9uOwoKdXNlIEF3c1xTbnNcTWVzc2FnZVZhbGlkYXRvclxFeGNlcHRpb25cU25zTWVzc2FnZVZhbGlkYXRvckV4Y2VwdGlvbjsKCi8qKgogKiBJbmRpY2F0ZXMgdGhhdCB0aGUgcHVibGljIGtleSBjYW4ndCBiZSBleHRyYWN0ZWQgZnJvbSB0aGUgdGhlIGNlcnRpZmljYXRlLgogKi8KY2xhc3MgQ2Fubm90R2V0UHVibGljS2V5RnJvbUNlcnRpZmljYXRlRXhjZXB0aW9uIGV4dGVuZHMgU25zTWVzc2FnZVZhbGlkYXRvckV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/MessageValidator/Exception/CertificateFromUnrecognizedSourceException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXE1lc3NhZ2VWYWxpZGF0b3JcRXhjZXB0aW9uOwoKdXNlIEF3c1xTbnNcTWVzc2FnZVZhbGlkYXRvclxFeGNlcHRpb25cU25zTWVzc2FnZVZhbGlkYXRvckV4Y2VwdGlvbjsKCi8qKgogKiBJbmRpY2F0ZXMgdGhhdCBjZXJ0aWZpY2F0ZSB3YXMgZnJvbSBhbiB1bnJlY29nbml6ZWQgc291cmNlLgogKi8KY2xhc3MgQ2VydGlmaWNhdGVGcm9tVW5yZWNvZ25pemVkU291cmNlRXhjZXB0aW9uIGV4dGVuZHMgU25zTWVzc2FnZVZhbGlkYXRvckV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/MessageValidator/Exception/InvalidMessageSignatureException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXE1lc3NhZ2VWYWxpZGF0b3JcRXhjZXB0aW9uOwoKdXNlIEF3c1xTbnNcTWVzc2FnZVZhbGlkYXRvclxFeGNlcHRpb25cU25zTWVzc2FnZVZhbGlkYXRvckV4Y2VwdGlvbjsKCi8qKgogKiBJbmRpY2F0ZXMgdGhhdCB0aGUgc2lnbmF0dXJlIGZvciBTTlMgbWVzc2FnZSB3YXMgaW52YWxpZC4KICovCmNsYXNzIEludmFsaWRNZXNzYWdlU2lnbmF0dXJlRXhjZXB0aW9uIGV4dGVuZHMgU25zTWVzc2FnZVZhbGlkYXRvckV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/MessageValidator/Exception/SnsMessageValidatorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXE1lc3NhZ2VWYWxpZGF0b3JcRXhjZXB0aW9uOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb247CgovKioKICogR2VuZXJpYyBleGNlcHRpb24gdGhyb3duIGJ5IHRoZSBTTlMgTWVzc2FnZSBWYWxpZGF0b3IuCiAqLwpjbGFzcyBTbnNNZXNzYWdlVmFsaWRhdG9yRXhjZXB0aW9uIGV4dGVuZHMgUnVudGltZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/MessageValidator/Message.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXE1lc3NhZ2VWYWxpZGF0b3I7Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cVW5leHBlY3RlZFZhbHVlRXhjZXB0aW9uOwp1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwoKY2xhc3MgTWVzc2FnZQp7CiAgICBwcm90ZWN0ZWQgc3RhdGljICRyZXF1aXJlZEtleXMgPSBhcnJheSgKICAgICAgICAnX19kZWZhdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ01lc3NhZ2UnLAogICAgICAgICAgICAnTWVzc2FnZUlkJywKICAgICAgICAgICAgJ1RpbWVzdGFtcCcsCiAgICAgICAgICAgICdUb3BpY0FybicsCiAgICAgICAgICAgICdUeXBlJywKICAgICAgICAgICAgJ1NpZ25hdHVyZScsCiAgICAgICAgICAgICdTaWduaW5nQ2VydFVSTCcsCiAgICAgICAgKSwKICAgICAgICAnU3Vic2NyaXB0aW9uQ29uZmlybWF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ1N1YnNjcmliZVVSTCcsCiAgICAgICAgICAgICdUb2tlbicKICAgICAgICApLAogICAgICAgICdVbnN1YnNjcmliZUNvbmZpcm1hdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdTdWJzY3JpYmVVUkwnLAogICAgICAgICAgICAnVG9rZW4nCiAgICAgICAgKSwKICAgICk7CgogICAgcHJvdGVjdGVkIHN0YXRpYyAkc2lnbmFibGVLZXlzID0gYXJyYXkoCiAgICAgICAgJ01lc3NhZ2UnLAogICAgICAgICdNZXNzYWdlSWQnLAogICAgICAgICdTdWJqZWN0JywKICAgICAgICAnU3Vic2NyaWJlVVJMJywKICAgICAgICAnVGltZXN0YW1wJywKICAgICAgICAnVG9rZW4nLAogICAgICAgICdUb3BpY0FybicsCiAgICAgICAgJ1R5cGUnLAogICAgKTsKCiAgICAvKioKICAgICAqIEB2YXIgQ29sbGVjdGlvbiBUaGUgbWVzc2FnZSBkYXRhCiAgICAgKi8KICAgIHByb3RlY3RlZCAkZGF0YTsKCiAgICAvKioKICAgICAqIENyZWF0ZXMgYSBNZXNzYWdlIG9iamVjdCBmcm9tIGFuIGFycmF5IG9mIHJhdyBtZXNzYWdlIGRhdGEKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGRhdGEgVGhlIG1lc3NhZ2UgZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gTWVzc2FnZQogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gSWYgYSB2YWxpZCB0eXBlIGlzIG5vdCBwcm92aWRlZCBvciB0aGVyZSBhcmUgb3RoZXIgcmVxdWlyZWQga2V5cyBtaXNzaW5nCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbUFycmF5KGFycmF5ICRkYXRhKQogICAgewogICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgdHlwZSBrZXkgaXMgc2V0CiAgICAgICAgaWYgKCFpc3NldCgkZGF0YVsnVHlwZSddKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdUaGUgIlR5cGUiIGtleSBtdXN0IGJlIHByb3ZpZGVkIHRvIGluc3RhbnRpYXRlIGEgTWVzc2FnZSBvYmplY3QuJyk7CiAgICAgICAgfQoKICAgICAgICAvLyBEZXRlcm1pbmUgcmVxdWlyZWQga2V5cyBhbmQgY3JlYXRlIGEgY29sbGVjdGlvbiBmcm9tIHRoZSBtZXNzYWdlIGRhdGEKICAgICAgICAkcmVxdWlyZWRLZXlzID0gYXJyYXlfbWVyZ2UoCiAgICAgICAgICAgIHNlbGY6OiRyZXF1aXJlZEtleXNbJ19fZGVmYXVsdCddLAogICAgICAgICAgICBpc3NldChzZWxmOjokcmVxdWlyZWRLZXlzWyRkYXRhWydUeXBlJ11dKSA/IHNlbGY6OiRyZXF1aXJlZEtleXNbJGRhdGFbJ1R5cGUnXV0gOiBhcnJheSgpCiAgICAgICAgKTsKICAgICAgICAkZGF0YSA9IENvbGxlY3Rpb246OmZyb21Db25maWcoJGRhdGEsIGFycmF5KCksICRyZXF1aXJlZEtleXMpOwoKICAgICAgICByZXR1cm4gbmV3IHNlbGYoJGRhdGEpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlcyBhIG1lc3NhZ2Ugb2JqZWN0IGZyb20gdGhlIHJhdyBQT1NUIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIE1lc3NhZ2UKICAgICAqIEB0aHJvd3MgVW5leHBlY3RlZFZhbHVlRXhjZXB0aW9uIElmIHRoZSBQT1NUIGRhdGEgaXMgYWJzZW50LCBvciBub3QgYSB2YWxpZCBKU09OIGRvY3VtZW50CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbVJhd1Bvc3REYXRhKCkKICAgIHsKICAgICAgICAkZGF0YSA9IGpzb25fZGVjb2RlKGZpbGVfZ2V0X2NvbnRlbnRzKCdwaHA6Ly9pbnB1dCcpLCB0cnVlKTsKICAgICAgICBpZiAoIWlzX2FycmF5KCRkYXRhKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgVW5leHBlY3RlZFZhbHVlRXhjZXB0aW9uKCdQT1NUIGRhdGEgYWJzZW50LCBvciBub3QgYSB2YWxpZCBKU09OIGRvY3VtZW50JywganNvbl9sYXN0X2Vycm9yKCkpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gc2VsZjo6ZnJvbUFycmF5KCRkYXRhKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBDb2xsZWN0aW9uICRkYXRhIEEgQ29sbGVjdGlvbiBvZiBtZXNzYWdlIGRhdGEgd2l0aCBhbGwgcmVxdWlyZWQga2V5cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoQ29sbGVjdGlvbiAkZGF0YSkKICAgIHsKICAgICAgICAkdGhpcy0+ZGF0YSA9ICRkYXRhOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBlbnRpcmUgbWVzc2FnZSBkYXRhIGFzIGEgQ29sbGVjdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gQ29sbGVjdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGF0YSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5kYXRhOwogICAgfQoKICAgIC8qKgogICAgICogR2V0cyBhIHNpbmdsZSBrZXkgZnJvbSB0aGUgbWVzc2FnZSBkYXRhCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldCgka2V5KQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZGF0YS0+Z2V0KCRrZXkpOwogICAgfQoKICAgIC8qKgogICAgICogQnVpbGRzIGEgbmV3bGluZSBkZWxpbWl0ZWQgc3RyaW5nIHRvIHNpZ24gYWNjb3JkaW5nIHRvIHRoZSBzcGVjcwogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zbnMvbGF0ZXN0L2dzZy9TZW5kTWVzc2FnZVRvSHR0cC52ZXJpZnkuc2lnbmF0dXJlLmh0bWwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFN0cmluZ1RvU2lnbigpCiAgICB7CiAgICAgICAgJHN0cmluZ1RvU2lnbiA9ICcnOwoKICAgICAgICAkZGF0YSA9ICR0aGlzLT5kYXRhLT50b0FycmF5KCk7CiAgICAgICAga3NvcnQoJGRhdGEpOwoKICAgICAgICBmb3JlYWNoICgkZGF0YSBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICBpZiAoaW5fYXJyYXkoJGtleSwgc2VsZjo6JHNpZ25hYmxlS2V5cykpIHsKICAgICAgICAgICAgICAgICRzdHJpbmdUb1NpZ24gLj0gInska2V5fVxueyR2YWx1ZX1cbiI7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkc3RyaW5nVG9TaWduOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/MessageValidator/MessageValidator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zXE1lc3NhZ2VWYWxpZGF0b3I7Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUmVxdWlyZWRFeHRlbnNpb25Ob3RMb2FkZWRFeGNlcHRpb247CnVzZSBBd3NcU25zXE1lc3NhZ2VWYWxpZGF0b3JcRXhjZXB0aW9uXENhbm5vdEdldFB1YmxpY0tleUZyb21DZXJ0aWZpY2F0ZUV4Y2VwdGlvbjsKdXNlIEF3c1xTbnNcTWVzc2FnZVZhbGlkYXRvclxFeGNlcHRpb25cQ2VydGlmaWNhdGVGcm9tVW5yZWNvZ25pemVkU291cmNlRXhjZXB0aW9uOwp1c2UgQXdzXFNuc1xNZXNzYWdlVmFsaWRhdG9yXEV4Y2VwdGlvblxJbnZhbGlkTWVzc2FnZVNpZ25hdHVyZUV4Y2VwdGlvbjsKdXNlIEF3c1xTbnNcTWVzc2FnZVZhbGlkYXRvclxFeGNlcHRpb25cU25zTWVzc2FnZVZhbGlkYXRvckV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXFVybDsKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKCi8qKgogKiBUaGlzIGNsYXNzIHVzZXMgb3BlbnNzbCB0byB2ZXJpZnkgU05TIG1lc3NhZ2VzIHRvIGVuc3VyZSB0aGF0IHRoZXkgd2VyZSBzZW50IGJ5IEFXUy4KICovCmNsYXNzIE1lc3NhZ2VWYWxpZGF0b3IKewogICAgLyoqCiAgICAgKiBAdmFyIENsaWVudCBUaGUgSFRUUCBjbGllbnQgdXNlZCB0byBmZXRjaCB0aGUgY2VydGlmaWNhdGUKICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RzIHRoZSBNZXNzYWdlIFZhbGlkYXRvciBvYmplY3QgYW5kIGVuc3VyZXMgdGhhdCBvcGVuc3NsIGlzIGluc3RhbGxlZAogICAgICoKICAgICAqIEB0aHJvd3MgUmVxdWlyZWRFeHRlbnNpb25Ob3RMb2FkZWRFeGNlcHRpb24gSWYgb3BlbnNzbCBpcyBub3QgaW5zdGFsbGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChDbGllbnQgJGNsaWVudCA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKCFleHRlbnNpb25fbG9hZGVkKCdvcGVuc3NsJykpIHsKICAgICAgICAgICAgLy9AY29kZUNvdmVyYWdlSWdub3JlU3RhcnQKICAgICAgICAgICAgdGhyb3cgbmV3IFJlcXVpcmVkRXh0ZW5zaW9uTm90TG9hZGVkRXhjZXB0aW9uKCdUaGUgb3BlbnNzbCBleHRlbnNpb24gaXMgcmVxdWlyZWQgdG8gdXNlIHRoZSBTTlMgTWVzc2FnZSAnCiAgICAgICAgICAgICAgICAuICdWYWxpZGF0b3IuIFBsZWFzZSBpbnN0YWxsIHRoaXMgZXh0ZW5zaW9uIGluIG9yZGVyIHRvIHVzZSB0aGlzIGZlYXR1cmUuJyk7CiAgICAgICAgICAgIC8vQGNvZGVDb3ZlcmFnZUlnbm9yZUVuZAogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmNsaWVudCA9ICRjbGllbnQgPzogbmV3IENsaWVudCgpOwogICAgfQoKICAgIC8qKgogICAgICogVmFsaWRhdGVzIGEgbWVzc2FnZSBmcm9tIFNOUyB0byBlbnN1cmUgdGhhdCBpdCB3YXMgZGVsaXZlcmVkIGJ5IEFXUwogICAgICoKICAgICAqIEBwYXJhbSBNZXNzYWdlICRtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIHZhbGlkYXRlCiAgICAgKgogICAgICogQHRocm93cyBDYW5ub3RHZXRQdWJsaWNLZXlGcm9tQ2VydGlmaWNhdGVFeGNlcHRpb24gSWYgdGhlIGNlcnRpZmljYXRlIGNhbm5vdCBiZSByZXRyaWV2ZWQKICAgICAqIEB0aHJvd3MgQ2VydGlmaWNhdGVGcm9tVW5yZWNvZ25pemVkU291cmNlRXhjZXB0aW9uIElmIHRoZSBjZXJ0aWZpY2F0ZSdzIHNvdXJjZSBjYW5ub3QgYmUgdmVyaWZpZWQKICAgICAqIEB0aHJvd3MgSW52YWxpZE1lc3NhZ2VTaWduYXR1cmVFeGNlcHRpb24gICAgICAgICAgIElmIHRoZSBtZXNzYWdlJ3Mgc2lnbmF0dXJlIGlzIGludmFsaWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlKE1lc3NhZ2UgJG1lc3NhZ2UpCiAgICB7CiAgICAgICAgLy8gR2V0IHRoZSBjZXJ0J3MgVVJMIGFuZCBlbnN1cmUgaXQgaXMgZnJvbSBBV1MKICAgICAgICAkY2VydFVybCA9IFVybDo6ZmFjdG9yeSgkbWVzc2FnZS0+Z2V0KCdTaWduaW5nQ2VydFVSTCcpKTsKICAgICAgICBpZiAoJy5hbWF6b25hd3MuY29tJyAhPSBzdWJzdHIoJGNlcnRVcmwtPmdldEhvc3QoKSwgLTE0KSkgewogICAgICAgICAgICB0aHJvdyBuZXcgQ2VydGlmaWNhdGVGcm9tVW5yZWNvZ25pemVkU291cmNlRXhjZXB0aW9uKCk7CiAgICAgICAgfQoKICAgICAgICAvLyBHZXQgdGhlIGNlcnQgaXRzZWxmIGFuZCBleHRyYWN0IHRoZSBwdWJsaWMga2V5CiAgICAgICAgJGNlcnRpZmljYXRlID0gJHRoaXMtPmNsaWVudC0+Z2V0KChzdHJpbmcpICRjZXJ0VXJsKS0+c2VuZCgpLT5nZXRCb2R5KCk7CiAgICAgICAgJHB1YmxpY0tleSA9IG9wZW5zc2xfZ2V0X3B1YmxpY2tleSgkY2VydGlmaWNhdGUpOwogICAgICAgIGlmICghJHB1YmxpY0tleSkgewogICAgICAgICAgICB0aHJvdyBuZXcgQ2Fubm90R2V0UHVibGljS2V5RnJvbUNlcnRpZmljYXRlRXhjZXB0aW9uKCk7CiAgICAgICAgfQoKICAgICAgICAvLyBWZXJpZnkgdGhlIHNpZ25hdHVyZSBvZiB0aGUgbWVzc2FnZQogICAgICAgICRzdHJpbmdUb1NpZ24gPSAkbWVzc2FnZS0+Z2V0U3RyaW5nVG9TaWduKCk7CiAgICAgICAgJGluY29taW5nU2lnbmF0dXJlID0gYmFzZTY0X2RlY29kZSgkbWVzc2FnZS0+Z2V0KCdTaWduYXR1cmUnKSk7CiAgICAgICAgaWYgKCFvcGVuc3NsX3ZlcmlmeSgkc3RyaW5nVG9TaWduLCAkaW5jb21pbmdTaWduYXR1cmUsICRwdWJsaWNLZXksIE9QRU5TU0xfQUxHT19TSEExKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE1lc3NhZ2VTaWduYXR1cmVFeGNlcHRpb24oKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBEZXRlcm1pbmVzIGlmIGEgbWVzc2FnZSBpcyB2YWxpZCBhbmQgdGhhdCBpcyB3YXMgZGVsaXZlcmVkIGJ5IEFXUy4gVGhpcyBtZXRob2QgZG9lcyBub3QgdGhyb3cgZXhjZXB0aW9ucyBhbmQKICAgICAqIHJldHVybnMgYSBzaW1wbGUgYm9vbGVhbiB2YWx1ZS4KICAgICAqCiAgICAgKiBAcGFyYW0gTWVzc2FnZSAkbWVzc2FnZSBUaGUgbWVzc2FnZSB0byB2YWxpZGF0ZQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNWYWxpZChNZXNzYWdlICRtZXNzYWdlKQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR0aGlzLT52YWxpZGF0ZSgkbWVzc2FnZSk7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0gY2F0Y2ggKFNuc01lc3NhZ2VWYWxpZGF0b3JFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/Resources/sns-2010-03-31.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTAtMDMtMzEnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnc25zJywKICAgICdzZXJ2aWNlRnVsbE5hbWUnID0+ICdBbWF6b24gU2ltcGxlIE5vdGlmaWNhdGlvbiBTZXJ2aWNlJywKICAgICdzZXJ2aWNlQWJicmV2aWF0aW9uJyA9PiAnQW1hem9uIFNOUycsCiAgICAnc2VydmljZVR5cGUnID0+ICdxdWVyeScsCiAgICAncmVzdWx0V3JhcHBlZCcgPT4gdHJ1ZSwKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjQnLAogICAgJ25hbWVzcGFjZScgPT4gJ1NucycsCiAgICAncmVnaW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ3VzLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3Nucy51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc25zLnVzLXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzbnMudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2V1LXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3Nucy5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtbm9ydGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzbnMuYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzbnMuYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzbnMuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnc2EtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc25zLnNhLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy1nb3Ytd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc25zLnVzLWdvdi13ZXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICksCiAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ0FkZFBlcm1pc3Npb24nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQWRkUGVybWlzc2lvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDMtMzEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUb3BpY0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMYWJlbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBV1NBY2NvdW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBV1NBY2NvdW50SWQubWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2RlbGVnYXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FjdGlvbk5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBY3Rpb25OYW1lLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdhY3Rpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHBhcmFtZXRlciBkb2VzIG5vdCBjb21wbHkgd2l0aCB0aGUgYXNzb2NpYXRlZCBjb25zdHJhaW50cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgYW4gaW50ZXJuYWwgc2VydmljZSBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgdXNlciBoYXMgYmVlbiBkZW5pZWQgYWNjZXNzIHRvIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdGVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDb25maXJtU3Vic2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDb25maXJtU3Vic2NyaXB0aW9uUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDb25maXJtU3Vic2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wMy0zMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RvcGljQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Rva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F1dGhlbnRpY2F0ZU9uVW5zdWJzY3JpYmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgY3VzdG9tZXIgYWxyZWFkeSBvd25zIHRoZSBtYXhpbXVtIGFsbG93ZWQgbnVtYmVyIG9mIHN1YnNjcmlwdGlvbnMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTdWJzY3JpcHRpb25MaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHBhcmFtZXRlciBkb2VzIG5vdCBjb21wbHkgd2l0aCB0aGUgYXNzb2NpYXRlZCBjb25zdHJhaW50cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdGVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgYW4gaW50ZXJuYWwgc2VydmljZSBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgdXNlciBoYXMgYmVlbiBkZW5pZWQgYWNjZXNzIHRvIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wMy0zMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGxhdGZvcm0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBdHRyaWJ1dGVzLmVudHJ5JywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3QgcGFyYW1ldGVyIGRvZXMgbm90IGNvbXBseSB3aXRoIHRoZSBhc3NvY2lhdGVkIGNvbnN0cmFpbnRzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyBhbiBpbnRlcm5hbCBzZXJ2aWNlIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IHRoZSB1c2VyIGhhcyBiZWVuIGRlbmllZCBhY2Nlc3MgdG8gdGhlIHJlcXVlc3RlZCByZXNvdXJjZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0F1dGhvcml6YXRpb25FcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVBsYXRmb3JtRW5kcG9pbnQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZUVuZHBvaW50UmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDcmVhdGVQbGF0Zm9ybUVuZHBvaW50JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wMy0zMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BsYXRmb3JtQXBwbGljYXRpb25Bcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ3VzdG9tVXNlckRhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXR0cmlidXRlcy5lbnRyeScsCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVfbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHBhcmFtZXRlciBkb2VzIG5vdCBjb21wbHkgd2l0aCB0aGUgYXNzb2NpYXRlZCBjb25zdHJhaW50cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgYW4gaW50ZXJuYWwgc2VydmljZSBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgdXNlciBoYXMgYmVlbiBkZW5pZWQgYWNjZXNzIHRvIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdGVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVUb3BpYycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ3JlYXRlVG9waWNSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZVRvcGljJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wMy0zMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHBhcmFtZXRlciBkb2VzIG5vdCBjb21wbHkgd2l0aCB0aGUgYXNzb2NpYXRlZCBjb25zdHJhaW50cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgY3VzdG9tZXIgYWxyZWFkeSBvd25zIHRoZSBtYXhpbXVtIGFsbG93ZWQgbnVtYmVyIG9mIHRvcGljcy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1RvcGljTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyBhbiBpbnRlcm5hbCBzZXJ2aWNlIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IHRoZSB1c2VyIGhhcyBiZWVuIGRlbmllZCBhY2Nlc3MgdG8gdGhlIHJlcXVlc3RlZCByZXNvdXJjZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0F1dGhvcml6YXRpb25FcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUVuZHBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZUVuZHBvaW50JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wMy0zMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VuZHBvaW50QXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCBwYXJhbWV0ZXIgZG9lcyBub3QgY29tcGx5IHdpdGggdGhlIGFzc29jaWF0ZWQgY29uc3RyYWludHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIGFuIGludGVybmFsIHNlcnZpY2UgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbEVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgdGhlIHVzZXIgaGFzIGJlZW4gZGVuaWVkIGFjY2VzcyB0byB0aGUgcmVxdWVzdGVkIHJlc291cmNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXV0aG9yaXphdGlvbkVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wMy0zMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BsYXRmb3JtQXBwbGljYXRpb25Bcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHBhcmFtZXRlciBkb2VzIG5vdCBjb21wbHkgd2l0aCB0aGUgYXNzb2NpYXRlZCBjb25zdHJhaW50cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgYW4gaW50ZXJuYWwgc2VydmljZSBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgdXNlciBoYXMgYmVlbiBkZW5pZWQgYWNjZXNzIHRvIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVUb3BpYycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVUb3BpYycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDMtMzEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUb3BpY0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3QgcGFyYW1ldGVyIGRvZXMgbm90IGNvbXBseSB3aXRoIHRoZSBhc3NvY2lhdGVkIGNvbnN0cmFpbnRzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyBhbiBpbnRlcm5hbCBzZXJ2aWNlIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IHRoZSB1c2VyIGhhcyBiZWVuIGRlbmllZCBhY2Nlc3MgdG8gdGhlIHJlcXVlc3RlZCByZXNvdXJjZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0F1dGhvcml6YXRpb25FcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEVuZHBvaW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0RW5kcG9pbnRBdHRyaWJ1dGVzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRFbmRwb2ludEF0dHJpYnV0ZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTAzLTMxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5kcG9pbnRBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHBhcmFtZXRlciBkb2VzIG5vdCBjb21wbHkgd2l0aCB0aGUgYXNzb2NpYXRlZCBjb25zdHJhaW50cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgYW4gaW50ZXJuYWwgc2VydmljZSBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgdXNlciBoYXMgYmVlbiBkZW5pZWQgYWNjZXNzIHRvIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdGVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0dldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wMy0zMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BsYXRmb3JtQXBwbGljYXRpb25Bcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHBhcmFtZXRlciBkb2VzIG5vdCBjb21wbHkgd2l0aCB0aGUgYXNzb2NpYXRlZCBjb25zdHJhaW50cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgYW4gaW50ZXJuYWwgc2VydmljZSBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgdXNlciBoYXMgYmVlbiBkZW5pZWQgYWNjZXNzIHRvIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdGVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wMy0zMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YnNjcmlwdGlvbkFybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3QgcGFyYW1ldGVyIGRvZXMgbm90IGNvbXBseSB3aXRoIHRoZSBhc3NvY2lhdGVkIGNvbnN0cmFpbnRzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyBhbiBpbnRlcm5hbCBzZXJ2aWNlIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IHRoZSB1c2VyIGhhcyBiZWVuIGRlbmllZCBhY2Nlc3MgdG8gdGhlIHJlcXVlc3RlZCByZXNvdXJjZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0F1dGhvcml6YXRpb25FcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFRvcGljQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnR2V0VG9waWNBdHRyaWJ1dGVzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdHZXRUb3BpY0F0dHJpYnV0ZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTAzLTMxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVG9waWNBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHBhcmFtZXRlciBkb2VzIG5vdCBjb21wbHkgd2l0aCB0aGUgYXNzb2NpYXRlZCBjb25zdHJhaW50cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgYW4gaW50ZXJuYWwgc2VydmljZSBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdGVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgdXNlciBoYXMgYmVlbiBkZW5pZWQgYWNjZXNzIHRvIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wMy0zMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BsYXRmb3JtQXBwbGljYXRpb25Bcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHBhcmFtZXRlciBkb2VzIG5vdCBjb21wbHkgd2l0aCB0aGUgYXNzb2NpYXRlZCBjb25zdHJhaW50cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgYW4gaW50ZXJuYWwgc2VydmljZSBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgdXNlciBoYXMgYmVlbiBkZW5pZWQgYWNjZXNzIHRvIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdGVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wMy0zMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCBwYXJhbWV0ZXIgZG9lcyBub3QgY29tcGx5IHdpdGggdGhlIGFzc29jaWF0ZWQgY29uc3RyYWludHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIGFuIGludGVybmFsIHNlcnZpY2UgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbEVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgdGhlIHVzZXIgaGFzIGJlZW4gZGVuaWVkIGFjY2VzcyB0byB0aGUgcmVxdWVzdGVkIHJlc291cmNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXV0aG9yaXphdGlvbkVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFN1YnNjcmlwdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RTdWJzY3JpcHRpb25zUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdMaXN0U3Vic2NyaXB0aW9ucycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDMtMzEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3QgcGFyYW1ldGVyIGRvZXMgbm90IGNvbXBseSB3aXRoIHRoZSBhc3NvY2lhdGVkIGNvbnN0cmFpbnRzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyBhbiBpbnRlcm5hbCBzZXJ2aWNlIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IHRoZSB1c2VyIGhhcyBiZWVuIGRlbmllZCBhY2Nlc3MgdG8gdGhlIHJlcXVlc3RlZCByZXNvdXJjZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0F1dGhvcml6YXRpb25FcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RTdWJzY3JpcHRpb25zQnlUb3BpYycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTAzLTMxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVG9waWNBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHBhcmFtZXRlciBkb2VzIG5vdCBjb21wbHkgd2l0aCB0aGUgYXNzb2NpYXRlZCBjb25zdHJhaW50cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgYW4gaW50ZXJuYWwgc2VydmljZSBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdGVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgdXNlciBoYXMgYmVlbiBkZW5pZWQgYWNjZXNzIHRvIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0VG9waWNzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0VG9waWNzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdMaXN0VG9waWNzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wMy0zMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCBwYXJhbWV0ZXIgZG9lcyBub3QgY29tcGx5IHdpdGggdGhlIGFzc29jaWF0ZWQgY29uc3RyYWludHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIGFuIGludGVybmFsIHNlcnZpY2UgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbEVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgdGhlIHVzZXIgaGFzIGJlZW4gZGVuaWVkIGFjY2VzcyB0byB0aGUgcmVxdWVzdGVkIHJlc291cmNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXV0aG9yaXphdGlvbkVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUHVibGlzaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUHVibGlzaFJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnUHVibGlzaCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDMtMzEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUb3BpY0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhcmdldEFybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU3ViamVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01lc3NhZ2VTdHJ1Y3R1cmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3QgcGFyYW1ldGVyIGRvZXMgbm90IGNvbXBseSB3aXRoIHRoZSBhc3NvY2lhdGVkIGNvbnN0cmFpbnRzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyBhbiBpbnRlcm5hbCBzZXJ2aWNlIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0V4Y2VwdGlvbiBlcnJvciBpbmRpY2F0aW5nIGVuZHBvaW50IGRpc2FibGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRW5kcG9pbnREaXNhYmxlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0V4Y2VwdGlvbiBlcnJvciBpbmRpY2F0aW5nIHBsYXRmb3JtIGFwcGxpY2F0aW9uIGRpc2FibGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUGxhdGZvcm1BcHBsaWNhdGlvbkRpc2FibGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgdGhlIHVzZXIgaGFzIGJlZW4gZGVuaWVkIGFjY2VzcyB0byB0aGUgcmVxdWVzdGVkIHJlc291cmNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXV0aG9yaXphdGlvbkVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVtb3ZlUGVybWlzc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZW1vdmVQZXJtaXNzaW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wMy0zMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RvcGljQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhYmVsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCBwYXJhbWV0ZXIgZG9lcyBub3QgY29tcGx5IHdpdGggdGhlIGFzc29jaWF0ZWQgY29uc3RyYWludHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIGFuIGludGVybmFsIHNlcnZpY2UgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbEVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgdGhlIHVzZXIgaGFzIGJlZW4gZGVuaWVkIGFjY2VzcyB0byB0aGUgcmVxdWVzdGVkIHJlc291cmNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXV0aG9yaXphdGlvbkVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU2V0RW5kcG9pbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NldEVuZHBvaW50QXR0cmlidXRlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDMtMzEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbmRwb2ludEFybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F0dHJpYnV0ZXMuZW50cnknLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCBwYXJhbWV0ZXIgZG9lcyBub3QgY29tcGx5IHdpdGggdGhlIGFzc29jaWF0ZWQgY29uc3RyYWludHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIGFuIGludGVybmFsIHNlcnZpY2UgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbEVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgdGhlIHVzZXIgaGFzIGJlZW4gZGVuaWVkIGFjY2VzcyB0byB0aGUgcmVxdWVzdGVkIHJlc291cmNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXV0aG9yaXphdGlvbkVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTAzLTMxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUGxhdGZvcm1BcHBsaWNhdGlvbkFybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F0dHJpYnV0ZXMuZW50cnknLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlX25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IGEgcmVxdWVzdCBwYXJhbWV0ZXIgZG9lcyBub3QgY29tcGx5IHdpdGggdGhlIGFzc29jaWF0ZWQgY29uc3RyYWludHMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIGFuIGludGVybmFsIHNlcnZpY2UgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbEVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgdGhlIHVzZXIgaGFzIGJlZW4gZGVuaWVkIGFjY2VzcyB0byB0aGUgcmVxdWVzdGVkIHJlc291cmNlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXV0aG9yaXphdGlvbkVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ05vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wMy0zMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N1YnNjcmlwdGlvbkFybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVZhbHVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHBhcmFtZXRlciBkb2VzIG5vdCBjb21wbHkgd2l0aCB0aGUgYXNzb2NpYXRlZCBjb25zdHJhaW50cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgYW4gaW50ZXJuYWwgc2VydmljZSBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdGVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgdXNlciBoYXMgYmVlbiBkZW5pZWQgYWNjZXNzIHRvIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTZXRUb3BpY0F0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2V0VG9waWNBdHRyaWJ1dGVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMC0wMy0zMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RvcGljQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCBhIHJlcXVlc3QgcGFyYW1ldGVyIGRvZXMgbm90IGNvbXBseSB3aXRoIHRoZSBhc3NvY2lhdGVkIGNvbnN0cmFpbnRzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyBhbiBpbnRlcm5hbCBzZXJ2aWNlIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdOb3RGb3VuZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0luZGljYXRlcyB0aGF0IHRoZSB1c2VyIGhhcyBiZWVuIGRlbmllZCBhY2Nlc3MgdG8gdGhlIHJlcXVlc3RlZCByZXNvdXJjZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0F1dGhvcml6YXRpb25FcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1N1YnNjcmliZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnU3Vic2NyaWJlUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdWJzY3JpYmUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEwLTAzLTMxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVG9waWNBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJvdG9jb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5kcG9pbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgY3VzdG9tZXIgYWxyZWFkeSBvd25zIHRoZSBtYXhpbXVtIGFsbG93ZWQgbnVtYmVyIG9mIHN1YnNjcmlwdGlvbnMuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdTdWJzY3JpcHRpb25MaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHBhcmFtZXRlciBkb2VzIG5vdCBjb21wbHkgd2l0aCB0aGUgYXNzb2NpYXRlZCBjb25zdHJhaW50cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgYW4gaW50ZXJuYWwgc2VydmljZSBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdGVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgdXNlciBoYXMgYmVlbiBkZW5pZWQgYWNjZXNzIHRvIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVbnN1YnNjcmliZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdVbnN1YnNjcmliZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTAtMDMtMzEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJzY3JpcHRpb25Bcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnSW5kaWNhdGVzIHRoYXQgYSByZXF1ZXN0IHBhcmFtZXRlciBkb2VzIG5vdCBjb21wbHkgd2l0aCB0aGUgYXNzb2NpYXRlZCBjb25zdHJhaW50cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgYW4gaW50ZXJuYWwgc2VydmljZSBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgdXNlciBoYXMgYmVlbiBkZW5pZWQgYWNjZXNzIHRvIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdJbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdGVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICdFbXB0eU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICksCiAgICAgICAgJ0NvbmZpcm1TdWJzY3JpcHRpb25SZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3Vic2NyaXB0aW9uQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvblJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdQbGF0Zm9ybUFwcGxpY2F0aW9uQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlRW5kcG9pbnRSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRW5kcG9pbnRBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVUb3BpY1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdUb3BpY0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldEVuZHBvaW50QXR0cmlidXRlc1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWV0aG9kJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFhtbFJlc3BvbnNlTG9jYXRpb25WaXNpdG9yOjp4bWxNYXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FyZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdAdmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2VudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGZhbHNlLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWV0aG9kJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFhtbFJlc3BvbnNlTG9jYXRpb25WaXNpdG9yOjp4bWxNYXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FyZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdAdmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2VudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGZhbHNlLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZXRob2QnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcWG1sUmVzcG9uc2VMb2NhdGlvblZpc2l0b3I6OnhtbE1hcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXJncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0B2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdlbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gZmFsc2UsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFRvcGljQXR0cmlidXRlc1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWV0aG9kJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFhtbFJlc3BvbnNlTG9jYXRpb25WaXNpdG9yOjp4bWxNYXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FyZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdAdmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2VudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGZhbHNlLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0VuZHBvaW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0VuZHBvaW50JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZHBvaW50QXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWV0aG9kJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFhtbFJlc3BvbnNlTG9jYXRpb25WaXNpdG9yOjp4bWxNYXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FyZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdAdmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2VudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUGxhdGZvcm1BcHBsaWNhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdQbGF0Zm9ybUFwcGxpY2F0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BsYXRmb3JtQXBwbGljYXRpb25Bcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZXRob2QnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcWG1sUmVzcG9uc2VMb2NhdGlvblZpc2l0b3I6OnhtbE1hcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXJncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0B2YWx1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAna2V5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnZW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdlbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RTdWJzY3JpcHRpb25zUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1N1YnNjcmlwdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdWJzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdtZW1iZXInLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3Vic2NyaXB0aW9uQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ093bmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3RvY29sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VuZHBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RvcGljQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RTdWJzY3JpcHRpb25zQnlUb3BpY1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdWJzY3JpcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3Vic2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N1YnNjcmlwdGlvbkFybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPd25lcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm90b2NvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbmRwb2ludCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb3BpY0FybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0VG9waWNzUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1RvcGljcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RvcGljJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbWVtYmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RvcGljQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1B1Ymxpc2hSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTWVzc2FnZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU3Vic2NyaWJlUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1N1YnNjcmlwdGlvbkFybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ2l0ZXJhdG9ycycgPT4gYXJyYXkoCiAgICAgICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnTGlzdEVuZHBvaW50c0J5UGxhdGZvcm1BcHBsaWNhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ0VuZHBvaW50cycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdQbGF0Zm9ybUFwcGxpY2F0aW9ucycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdMaXN0U3Vic2NyaXB0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1N1YnNjcmlwdGlvbnMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnU3Vic2NyaXB0aW9ucycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdMaXN0VG9waWNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ05leHRUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTmV4dFRva2VuJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnVG9waWNzLyovVG9waWNBcm4nLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sns/SnsClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU25zOwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50Owp1c2UgQXdzXENvbW1vblxDbGllbnRcQ2xpZW50QnVpbGRlcjsKdXNlIEF3c1xDb21tb25cRW51bVxDbGllbnRPcHRpb25zIGFzIE9wdGlvbnM7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2U7CgovKioKICogQ2xpZW50IHRvIGludGVyYWN0IHdpdGggQW1hem9uIFNpbXBsZSBOb3RpZmljYXRpb24gU2VydmljZQogKgogKiBAbWV0aG9kIE1vZGVsIGFkZFBlcm1pc3Npb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU25zIEFkZFBlcm1pc3Npb259CiAqIEBtZXRob2QgTW9kZWwgY29uZmlybVN1YnNjcmlwdGlvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTbnMgQ29uZmlybVN1YnNjcmlwdGlvbn0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNucyBDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVBsYXRmb3JtRW5kcG9pbnQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU25zIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnR9CiAqIEBtZXRob2QgTW9kZWwgY3JlYXRlVG9waWMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU25zIENyZWF0ZVRvcGljfQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUVuZHBvaW50KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNucyBEZWxldGVFbmRwb2ludH0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNucyBEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVRvcGljKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNucyBEZWxldGVUb3BpY30KICogQG1ldGhvZCBNb2RlbCBnZXRFbmRwb2ludEF0dHJpYnV0ZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU25zIEdldEVuZHBvaW50QXR0cmlidXRlc30KICogQG1ldGhvZCBNb2RlbCBnZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTbnMgR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXN9CiAqIEBtZXRob2QgTW9kZWwgZ2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTbnMgR2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc30KICogQG1ldGhvZCBNb2RlbCBnZXRUb3BpY0F0dHJpYnV0ZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU25zIEdldFRvcGljQXR0cmlidXRlc30KICogQG1ldGhvZCBNb2RlbCBsaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNucyBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGxpc3RQbGF0Zm9ybUFwcGxpY2F0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTbnMgTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RTdWJzY3JpcHRpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNucyBMaXN0U3Vic2NyaXB0aW9uc30KICogQG1ldGhvZCBNb2RlbCBsaXN0U3Vic2NyaXB0aW9uc0J5VG9waWMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU25zIExpc3RTdWJzY3JpcHRpb25zQnlUb3BpY30KICogQG1ldGhvZCBNb2RlbCBsaXN0VG9waWNzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNucyBMaXN0VG9waWNzfQogKiBAbWV0aG9kIE1vZGVsIHB1Ymxpc2goYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU25zIFB1Ymxpc2h9CiAqIEBtZXRob2QgTW9kZWwgcmVtb3ZlUGVybWlzc2lvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTbnMgUmVtb3ZlUGVybWlzc2lvbn0KICogQG1ldGhvZCBNb2RlbCBzZXRFbmRwb2ludEF0dHJpYnV0ZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU25zIFNldEVuZHBvaW50QXR0cmlidXRlc30KICogQG1ldGhvZCBNb2RlbCBzZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTbnMgU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXN9CiAqIEBtZXRob2QgTW9kZWwgc2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTbnMgU2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc30KICogQG1ldGhvZCBNb2RlbCBzZXRUb3BpY0F0dHJpYnV0ZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU25zIFNldFRvcGljQXR0cmlidXRlc30KICogQG1ldGhvZCBNb2RlbCBzdWJzY3JpYmUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU25zIFN1YnNjcmliZX0KICogQG1ldGhvZCBNb2RlbCB1bnN1YnNjcmliZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTbnMgVW5zdWJzY3JpYmV9CiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdEVuZHBvaW50c0J5UGxhdGZvcm1BcHBsaWNhdGlvbiBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9ucyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RTdWJzY3JpcHRpb25zSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdFN1YnNjcmlwdGlvbnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0VG9waWNzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdFRvcGljcyBvcGVyYXRpb24KICoKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2Utc25zLmh0bWwgVXNlciBndWlkZQogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLlNucy5TbnNDbGllbnQuaHRtbCBBUEkgZG9jcwogKi8KY2xhc3MgU25zQ2xpZW50IGV4dGVuZHMgQWJzdHJhY3RDbGllbnQKewogICAgY29uc3QgTEFURVNUX0FQSV9WRVJTSU9OID0gJzIwMTAtMDMtMzEnOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEFtYXpvbiBTaW1wbGUgTm90aWZpY2F0aW9uIFNlcnZpY2UgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEF3c1xDb21tb25cQ2xpZW50XERlZmF1bHRDbGllbnQgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9zbnMtJXMucGhwJwogICAgICAgICAgICApKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sqs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sqs/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sqs/Enum/MessageAttribute.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3FzXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgTWVzc2FnZUF0dHJpYnV0ZSB2YWx1ZXMKICovCmNsYXNzIE1lc3NhZ2VBdHRyaWJ1dGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEFMTCA9ICdBbGwnOwogICAgY29uc3QgU0VOREVSX0lEID0gJ1NlbmRlcklkJzsKICAgIGNvbnN0IFNFTlRfVElNRVNUQU1QID0gJ1NlbnRUaW1lc3RhbXAnOwogICAgY29uc3QgQVBQUk9YSU1BVEVfUkVDRUlWRV9DT1VOVCA9ICdBcHByb3hpbWF0ZVJlY2VpdmVDb3VudCc7CiAgICBjb25zdCBBUFBST1hJTUFURV9GSVJTVF9SRUNFSVZFX1RJTUVTVEFNUCA9ICdBcHByb3hpbWF0ZUZpcnN0UmVjZWl2ZVRpbWVzdGFtcCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sqs/Enum/QueueAttribute.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3FzXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgUXVldWVBdHRyaWJ1dGUgdmFsdWVzCiAqLwpjbGFzcyBRdWV1ZUF0dHJpYnV0ZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgQUxMID0gJ0FsbCc7CiAgICBjb25zdCBQT0xJQ1kgPSAnUG9saWN5JzsKICAgIGNvbnN0IFZJU0lCSUxJVFlfVElNRU9VVCA9ICdWaXNpYmlsaXR5VGltZW91dCc7CiAgICBjb25zdCBNQVhJTVVNX01FU1NBR0VfU0laRSA9ICdNYXhpbXVtTWVzc2FnZVNpemUnOwogICAgY29uc3QgTUVTU0FHRV9SRVRFTlRJT05fUEVSSU9EID0gJ01lc3NhZ2VSZXRlbnRpb25QZXJpb2QnOwogICAgY29uc3QgQVBQUk9YSU1BVEVfTlVNQkVSX09GX01FU1NBR0VTID0gJ0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlcyc7CiAgICBjb25zdCBBUFBST1hJTUFURV9OVU1CRVJfT0ZfTUVTU0FHRVNfTk9UX1ZJU0lCTEUgPSAnQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzTm90VmlzaWJsZSc7CiAgICBjb25zdCBDUkVBVEVEX1RJTUVTVEFNUCA9ICdDcmVhdGVkVGltZXN0YW1wJzsKICAgIGNvbnN0IExBU1RfTU9ESUZJRURfVElNRVNUQU1QID0gJ0xhc3RNb2RpZmllZFRpbWVzdGFtcCc7CiAgICBjb25zdCBRVUVVRV9BUk4gPSAnUXVldWVBcm4nOwogICAgY29uc3QgQVBQUk9YSU1BVEVfTlVNQkVSX09GX01FU1NBR0VTX0RFTEFZRUQgPSAnQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzRGVsYXllZCc7CiAgICBjb25zdCBERUxBWV9TRUNPTkRTID0gJ0RlbGF5U2Vjb25kcyc7CiAgICBjb25zdCBSRUNFSVZFX01FU1NBR0VfV0FJVF9USU1FX1NFQ09ORFMgPSAnUmVjZWl2ZU1lc3NhZ2VXYWl0VGltZVNlY29uZHMnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sqs/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sqs/Exception/SqsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3FzXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb247CgovKioKICogRGVmYXVsdCBzZXJ2aWNlIGV4Y2VwdGlvbiBjbGFzcwogKi8KY2xhc3MgU3FzRXhjZXB0aW9uIGV4dGVuZHMgU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sqs/Md5ValidatorListener.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3FzOwoKdXNlIEF3c1xTcXNcRXhjZXB0aW9uXFNxc0V4Y2VwdGlvbjsKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlOwoKLyoqCiAqIExpc3RlbmVyIHVzZWQgdG8gdmFsaWRhdGUgdGhlIE1ENSBvZiB0aGUgUmVjZWl2ZU1lc3NhZ2UgYm9keQogKi8KY2xhc3MgTWQ1VmFsaWRhdG9yTGlzdGVuZXIgaW1wbGVtZW50cyBFdmVudFN1YnNjcmliZXJJbnRlcmZhY2UKewogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTdWJzY3JpYmVkRXZlbnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoJ2NvbW1hbmQuYWZ0ZXJfc2VuZCcgPT4gYXJyYXkoJ29uQ29tbWFuZEJlZm9yZVNlbmQnLCAtMjU1KSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBWYWxpZGF0ZXMgdGhlIE1ENU9mQm9keSBhdHRyaWJ1dGUgYWdhaW5zdCB0aGUgYm9keQogICAgICoKICAgICAqIEBwYXJhbSBFdmVudCAkZXZlbnQgRXZlbnQgZW1pdHRlZAogICAgICogQHRocm93cyBTcXNFeGNlcHRpb24gd2hlbiBhbiBNRDUgbWlzbWF0Y2ggb2NjdXJzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvbkNvbW1hbmRCZWZvcmVTZW5kKEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICBpZiAoJGV2ZW50Wydjb21tYW5kJ10tPmdldE5hbWUoKSAhPSAnUmVjZWl2ZU1lc3NhZ2UnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICRyZXN1bHQgPSAkZXZlbnRbJ2NvbW1hbmQnXS0+Z2V0UmVzdWx0KCk7CiAgICAgICAgaWYgKGlzc2V0KCRyZXN1bHRbJ01lc3NhZ2VzJ10pKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCRyZXN1bHRbJ01lc3NhZ2VzJ10gYXMgJG1lc3NhZ2UpIHsKICAgICAgICAgICAgICAgIGlmICgkbWVzc2FnZVsnTUQ1T2ZCb2R5J10gIT0gbWQ1KCRtZXNzYWdlWydCb2R5J10pKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFNxc0V4Y2VwdGlvbignQm9keSBNRDUgbWlzbWF0Y2ggZm9yICcgLiB2YXJfZXhwb3J0KCRtZXNzYWdlLCB0cnVlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sqs/QueueUrlListener.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3FzOwoKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBYnN0cmFjdENvbW1hbmQ7CgovKioKICogTGlzdGVuZXIgdXNlZCB0byBjaGFuZ2UgdGhlIGVuZHBvaW50IHRvIHRoZSBxdWV1ZSBVUkwKICovCmNsYXNzIFF1ZXVlVXJsTGlzdGVuZXIgaW1wbGVtZW50cyBFdmVudFN1YnNjcmliZXJJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KCdjb21tYW5kLmJlZm9yZV9zZW5kJyA9PiBhcnJheSgnb25Db21tYW5kQmVmb3JlU2VuZCcsIC0yNTUpKTsKICAgIH0KCiAgICAvKioKICAgICAqIFVwZGF0ZXMgdGhlIHJlcXVlc3QgVVJMIHRvIHVzZSB0aGUgUXVldWUgVVJMCiAgICAgKgogICAgICogQHBhcmFtIEV2ZW50ICRldmVudCBFdmVudCBlbWl0dGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvbkNvbW1hbmRCZWZvcmVTZW5kKEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICAvKiogQHZhciAkY29tbWFuZCBBYnN0cmFjdENvbW1hbmQgKi8KICAgICAgICAkY29tbWFuZCA9ICRldmVudFsnY29tbWFuZCddOwogICAgICAgIGlmICgkY29tbWFuZC0+aGFzS2V5KCdRdWV1ZVVybCcpKSB7CiAgICAgICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPmdldFJlcXVlc3QoKTsKICAgICAgICAgICAgJHJlcXVlc3RVcmwgPSAkcmVxdWVzdC0+Z2V0VXJsKHRydWUpOwogICAgICAgICAgICAkcmVxdWVzdC0+c2V0VXJsKCRyZXF1ZXN0VXJsLT5jb21iaW5lKCRjb21tYW5kLT5nZXQoJ1F1ZXVlVXJsJykpKTsKICAgICAgICAgICAgJHJlcXVlc3QtPmdldFBhcmFtcygpLT5yZW1vdmUoJ1F1ZXVlVXJsJyk7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sqs/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sqs/Resources/sqs-2012-11-05.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTItMTEtMDUnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnc3FzJywKICAgICdzZXJ2aWNlRnVsbE5hbWUnID0+ICdBbWF6b24gU2ltcGxlIFF1ZXVlIFNlcnZpY2UnLAogICAgJ3NlcnZpY2VBYmJyZXZpYXRpb24nID0+ICdBbWF6b24gU1FTJywKICAgICdzZXJ2aWNlVHlwZScgPT4gJ3F1ZXJ5JywKICAgICdyZXN1bHRXcmFwcGVkJyA9PiB0cnVlLAogICAgJ3NpZ25hdHVyZVZlcnNpb24nID0+ICd2NCcsCiAgICAnbmFtZXNwYWNlJyA9PiAnU3FzJywKICAgICdyZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAndXMtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc3FzLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzcXMudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3Nxcy51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnZXUtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc3FzLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1ub3J0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3Nxcy5hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3Nxcy5hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3Nxcy5hcC1zb3V0aGVhc3QtMi5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdzYS1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzcXMuc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLWdvdi13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzcXMudXMtZ292LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQWRkUGVybWlzc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBZGRQZXJtaXNzaW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMS0wNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1F1ZXVlVXJsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xhYmVsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FXU0FjY291bnRJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBV1NBY2NvdW50SWQnLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQVdTQWNjb3VudElkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FjdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdBY3Rpb25OYW1lJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0FjdGlvbk5hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIG9wZXJhdGlvbiB0aGF0IHlvdSByZXF1ZXN0ZWQgd291bGQgdmlvbGF0ZSBhIGxpbWl0LiBGb3IgZXhhbXBsZSwgUmVjZWl2ZU1lc3NhZ2UgcmV0dXJucyB0aGlzIGVycm9yIGlmIHRoZSBtYXhpbXVtIG51bWJlciBvZiBtZXNzYWdlcyBpbmZsaWdodCBoYXMgYWxyZWFkeSBiZWVuIHJlYWNoZWQuIEFkZFBlcm1pc3Npb24gcmV0dXJucyB0aGlzIGVycm9yIGlmIHRoZSBtYXhpbXVtIG51bWJlciBvZiBwZXJtaXNzaW9ucyBmb3IgdGhlIHF1ZXVlIGhhcyBhbHJlYWR5IGJlZW4gcmVhY2hlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ092ZXJMaW1pdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMS0wNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1F1ZXVlVXJsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlY2VpcHRIYW5kbGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmlzaWJpbGl0eVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBtZXNzYWdlIHJlZmVycmVkIHRvIGlzIG5vdCBpbiBmbGlnaHQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNZXNzYWdlTm90SW5mbGlnaHRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVjZWlwdCBoYW5kbGUgcHJvdmlkZWQgaXMgbm90IHZhbGlkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUmVjZWlwdEhhbmRsZUlzSW52YWxpZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5QmF0Y2gnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5QmF0Y2hSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMS0wNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1F1ZXVlVXJsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0VudHJpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoUmVxdWVzdEVudHJ5JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5QmF0Y2hSZXF1ZXN0RW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVjZWlwdEhhbmRsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlzaWJpbGl0eVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0JhdGNoIHJlcXVlc3QgY29udGFpbnMgbW9yZSBudW1iZXIgb2YgZW50cmllcyB0aGFuIHBlcm1pc3NpYmxlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVG9vTWFueUVudHJpZXNJbkJhdGNoUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0JhdGNoIHJlcXVlc3QgZG9lcyBub3QgY29udGFpbiBhbiBlbnRyeS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0VtcHR5QmF0Y2hSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVHdvIG9yIG1vcmUgYmF0Y2ggZW50cmllcyBoYXZlIHRoZSBzYW1lIElkIGluIHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQmF0Y2hFbnRyeUlkc05vdERpc3RpbmN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIElkIG9mIGEgYmF0Y2ggZW50cnkgaW4gYSBiYXRjaCByZXF1ZXN0IGRvZXMgbm90IGFiaWRlIGJ5IHRoZSBzcGVjaWZpY2F0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEJhdGNoRW50cnlJZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVF1ZXVlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVRdWV1ZVJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0NyZWF0ZVF1ZXVlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMS0wNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1F1ZXVlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdrZXlOYW1lJyA9PiAnTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZU5hbWUnID0+ICdWYWx1ZScsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZV9uYW1lJyA9PiAnUXVldWVBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdZb3UgbXVzdCB3YWl0IDYwIHNlY29uZHMgYWZ0ZXIgZGVsZXRpbmcgYSBxdWV1ZSBiZWZvcmUgeW91IGNhbiBjcmVhdGUgYW5vdGhlciB3aXRoIHRoZSBzYW1lIG5hbWUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdRdWV1ZURlbGV0ZWRSZWNlbnRseUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0EgcXVldWUgYWxyZWFkeSBleGlzdHMgd2l0aCB0aGlzIG5hbWUuIFNRUyByZXR1cm5zIHRoaXMgZXJyb3Igb25seSBpZiB0aGUgcmVxdWVzdCBpbmNsdWRlcyBhdHRyaWJ1dGVzIHdob3NlIHZhbHVlcyBkaWZmZXIgZnJvbSB0aG9zZSBvZiB0aGUgZXhpc3RpbmcgcXVldWUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdRdWV1ZU5hbWVFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZU1lc3NhZ2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTExLTA1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUXVldWVVcmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUmVjZWlwdEhhbmRsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVjZWlwdCBoYW5kbGUgaXMgbm90IHZhbGlkIGZvciB0aGUgY3VycmVudCB2ZXJzaW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZElkRm9ybWF0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlY2VpcHQgaGFuZGxlIHByb3ZpZGVkIGlzIG5vdCB2YWxpZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1JlY2VpcHRIYW5kbGVJc0ludmFsaWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVNZXNzYWdlQmF0Y2gnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RlbGV0ZU1lc3NhZ2VCYXRjaFJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0RlbGV0ZU1lc3NhZ2VCYXRjaCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTEtMDUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdRdWV1ZVVybCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdFbnRyaWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRGVsZXRlTWVzc2FnZUJhdGNoUmVxdWVzdEVudHJ5JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0RlbGV0ZU1lc3NhZ2VCYXRjaFJlcXVlc3RFbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWNlaXB0SGFuZGxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdCYXRjaCByZXF1ZXN0IGNvbnRhaW5zIG1vcmUgbnVtYmVyIG9mIGVudHJpZXMgdGhhbiBwZXJtaXNzaWJsZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlFbnRyaWVzSW5CYXRjaFJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdCYXRjaCByZXF1ZXN0IGRvZXMgbm90IGNvbnRhaW4gYW4gZW50cnkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdFbXB0eUJhdGNoUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1R3byBvciBtb3JlIGJhdGNoIGVudHJpZXMgaGF2ZSB0aGUgc2FtZSBJZCBpbiB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0JhdGNoRW50cnlJZHNOb3REaXN0aW5jdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBJZCBvZiBhIGJhdGNoIGVudHJ5IGluIGEgYmF0Y2ggcmVxdWVzdCBkb2VzIG5vdCBhYmlkZSBieSB0aGUgc3BlY2lmaWNhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRCYXRjaEVudHJ5SWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVRdWV1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdEZWxldGVRdWV1ZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTEtMDUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdRdWV1ZVVybCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRRdWV1ZUF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0dldFF1ZXVlQXR0cmlidXRlc1Jlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0dldFF1ZXVlQXR0cmlidXRlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTEtMDUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdRdWV1ZVVybCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBhdHRyaWJ1dGUgcmVmZXJyZWQgdG8gZG9lcyBub3QgZXhpc3QuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQXR0cmlidXRlTmFtZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0dldFF1ZXVlVXJsJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRRdWV1ZVVybFJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0dldFF1ZXVlVXJsJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMjAxMi0xMS0wNScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1F1ZXVlTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdRdWV1ZU93bmVyQVdTQWNjb3VudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHF1ZXVlIHJlZmVycmVkIHRvIGRvZXMgbm90IGV4aXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUXVldWVEb2VzTm90RXhpc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0UXVldWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0UXVldWVzUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnTGlzdFF1ZXVlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTEtMDUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdRdWV1ZU5hbWVQcmVmaXgnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZWNlaXZlTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUmVjZWl2ZU1lc3NhZ2VSZXN1bHQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdSZWNlaXZlTWVzc2FnZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTEtMDUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdRdWV1ZVVybCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBdHRyaWJ1dGVOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01heE51bWJlck9mTWVzc2FnZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVmlzaWJpbGl0eVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnV2FpdFRpbWVTZWNvbmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBvcGVyYXRpb24gdGhhdCB5b3UgcmVxdWVzdGVkIHdvdWxkIHZpb2xhdGUgYSBsaW1pdC4gRm9yIGV4YW1wbGUsIFJlY2VpdmVNZXNzYWdlIHJldHVybnMgdGhpcyBlcnJvciBpZiB0aGUgbWF4aW11bSBudW1iZXIgb2YgbWVzc2FnZXMgaW5mbGlnaHQgaGFzIGFscmVhZHkgYmVlbiByZWFjaGVkLiBBZGRQZXJtaXNzaW9uIHJldHVybnMgdGhpcyBlcnJvciBpZiB0aGUgbWF4aW11bSBudW1iZXIgb2YgcGVybWlzc2lvbnMgZm9yIHRoZSBxdWV1ZSBoYXMgYWxyZWFkeSBiZWVuIHJlYWNoZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPdmVyTGltaXRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZW1vdmVQZXJtaXNzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1JlbW92ZVBlcm1pc3Npb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTExLTA1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUXVldWVVcmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGFiZWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU2VuZE1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxRdWVyeUNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1NlbmRNZXNzYWdlUmVzdWx0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2VuZE1lc3NhZ2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTExLTA1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUXVldWVVcmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWVzc2FnZUJvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGVsYXlTZWNvbmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBtZXNzYWdlIGNvbnRhaW5zIGNoYXJhY3RlcnMgb3V0c2lkZSB0aGUgYWxsb3dlZCBzZXQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkTWVzc2FnZUNvbnRlbnRzRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU2VuZE1lc3NhZ2VCYXRjaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnU2VuZE1lc3NhZ2VCYXRjaFJlc3VsdCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NlbmRNZXNzYWdlQmF0Y2gnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDEyLTExLTA1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUXVldWVVcmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW50cmllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1NlbmRNZXNzYWdlQmF0Y2hSZXF1ZXN0RW50cnknLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU2VuZE1lc3NhZ2VCYXRjaFJlcXVlc3RFbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXNzYWdlQm9keScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVsYXlTZWNvbmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdCYXRjaCByZXF1ZXN0IGNvbnRhaW5zIG1vcmUgbnVtYmVyIG9mIGVudHJpZXMgdGhhbiBwZXJtaXNzaWJsZS4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Rvb01hbnlFbnRyaWVzSW5CYXRjaFJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdCYXRjaCByZXF1ZXN0IGRvZXMgbm90IGNvbnRhaW4gYW4gZW50cnkuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdFbXB0eUJhdGNoUmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1R3byBvciBtb3JlIGJhdGNoIGVudHJpZXMgaGF2ZSB0aGUgc2FtZSBJZCBpbiB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0JhdGNoRW50cnlJZHNOb3REaXN0aW5jdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSBsZW5ndGggb2YgYWxsIHRoZSBtZXNzYWdlcyBwdXQgdG9nZXRoZXIgaXMgbW9yZSB0aGFuIHRoZSBsaW1pdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0JhdGNoUmVxdWVzdFRvb0xvbmdFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgSWQgb2YgYSBiYXRjaCBlbnRyeSBpbiBhIGJhdGNoIHJlcXVlc3QgZG9lcyBub3QgYWJpZGUgYnkgdGhlIHNwZWNpZmljYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkQmF0Y2hFbnRyeUlkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU2V0UXVldWVBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NldFF1ZXVlQXR0cmlidXRlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTItMTEtMDUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdRdWV1ZVVybCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F0dHJpYnV0ZScsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAna2V5TmFtZScgPT4gJ05hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAndmFsdWVOYW1lJyA9PiAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVfbmFtZScgPT4gJ1F1ZXVlQXR0cmlidXRlTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIGF0dHJpYnV0ZSByZWZlcnJlZCB0byBkb2VzIG5vdCBleGlzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRBdHRyaWJ1dGVOYW1lRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnbW9kZWxzJyA9PiBhcnJheSgKICAgICAgICAnRW1wdHlPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICApLAogICAgICAgICdDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTdWNjZXNzZnVsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoUmVzdWx0RW50cnknLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaFJlc3VsdEVudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaFJlc3VsdEVudHJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZhaWxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQmF0Y2hSZXN1bHRFcnJvckVudHJ5JywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd4bWxGbGF0dGVuZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0JhdGNoUmVzdWx0RXJyb3JFbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0JhdGNoUmVzdWx0RXJyb3JFbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZW5kZXJGYXVsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVF1ZXVlUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdRdWV1ZVVybCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZU1lc3NhZ2VCYXRjaFJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3VjY2Vzc2Z1bCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRGVsZXRlTWVzc2FnZUJhdGNoUmVzdWx0RW50cnknLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRGVsZXRlTWVzc2FnZUJhdGNoUmVzdWx0RW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdEZWxldGVNZXNzYWdlQmF0Y2hSZXN1bHRFbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGYWlsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0JhdGNoUmVzdWx0RXJyb3JFbnRyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAneG1sRmxhdHRlbmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCYXRjaFJlc3VsdEVycm9yRW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdCYXRjaFJlc3VsdEVycm9yRW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VuZGVyRmF1bHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRRdWV1ZUF0dHJpYnV0ZXNSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F0dHJpYnV0ZScsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAneG1sRmxhdHRlbmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAneG1sTWFwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQb2xpY3knLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Zpc2liaWxpdHlUaW1lb3V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYXhpbXVtTWVzc2FnZVNpemUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01lc3NhZ2VSZXRlbnRpb25QZXJpb2QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzTm90VmlzaWJsZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlZFRpbWVzdGFtcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTGFzdE1vZGlmaWVkVGltZXN0YW1wJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdRdWV1ZUFybicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzRGVsYXllZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGVsYXlTZWNvbmRzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZWNlaXZlTWVzc2FnZVdhaXRUaW1lU2Vjb25kcycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21ldGhvZCcgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxYbWxSZXNwb25zZUxvY2F0aW9uVmlzaXRvcjo6eG1sTWFwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQHZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0F0dHJpYnV0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F0dHJpYnV0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGZhbHNlLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdHZXRRdWV1ZVVybFJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUXVldWVVcmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0UXVldWVzUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdRdWV1ZVVybHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1F1ZXVlVXJsJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd4bWxGbGF0dGVuZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1F1ZXVlVXJsJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnUXVldWVVcmwnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlY2VpdmVNZXNzYWdlUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNZXNzYWdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAneG1sRmxhdHRlbmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdNZXNzYWdlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnTWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXNzYWdlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVjZWlwdEhhbmRsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNRDVPZkJvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQm9keScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxGbGF0dGVuZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxNYXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvbGljeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmlzaWJpbGl0eVRpbWVvdXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01heGltdW1NZXNzYWdlU2l6ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZVJldGVudGlvblBlcmlvZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNOb3RWaXNpYmxlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcmVhdGVkVGltZXN0YW1wJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMYXN0TW9kaWZpZWRUaW1lc3RhbXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1F1ZXVlQXJuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNEZWxheWVkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZWxheVNlY29uZHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlY2VpdmVNZXNzYWdlV2FpdFRpbWVTZWNvbmRzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWV0aG9kJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFhtbFJlc3BvbnNlTG9jYXRpb25WaXNpdG9yOjp4bWxNYXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FyZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdAdmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXR0cmlidXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWYWx1ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NlbmRNZXNzYWdlUmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNRDVPZk1lc3NhZ2VCb2R5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWVzc2FnZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU2VuZE1lc3NhZ2VCYXRjaFJlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3VjY2Vzc2Z1bCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnU2VuZE1lc3NhZ2VCYXRjaFJlc3VsdEVudHJ5JywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd4bWxGbGF0dGVuZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NlbmRNZXNzYWdlQmF0Y2hSZXN1bHRFbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ1NlbmRNZXNzYWdlQmF0Y2hSZXN1bHRFbnRyeScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNZXNzYWdlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTUQ1T2ZNZXNzYWdlQm9keScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGYWlsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0JhdGNoUmVzdWx0RXJyb3JFbnRyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAneG1sRmxhdHRlbmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdCYXRjaFJlc3VsdEVycm9yRW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdCYXRjaFJlc3VsdEVycm9yRW50cnknLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VuZGVyRmF1bHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdpdGVyYXRvcnMnID0+IGFycmF5KAogICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ0xpc3RRdWV1ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdRdWV1ZVVybHMnLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sqs/SqsClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3FzOwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50Owp1c2UgQXdzXENvbW1vblxDbGllbnRcQ2xpZW50QnVpbGRlcjsKdXNlIEF3c1xDb21tb25cRW51bVxDbGllbnRPcHRpb25zIGFzIE9wdGlvbnM7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2U7CgovKioKICogQ2xpZW50IHRvIGludGVyYWN0IHdpdGggQW1hem9uIFNpbXBsZSBRdWV1ZSBTZXJ2aWNlCiAqCiAqIEBtZXRob2QgTW9kZWwgYWRkUGVybWlzc2lvbihhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTcXMgQWRkUGVybWlzc2lvbn0KICogQG1ldGhvZCBNb2RlbCBjaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTcXMgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHl9CiAqIEBtZXRob2QgTW9kZWwgY2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTcXMgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaH0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVRdWV1ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTcXMgQ3JlYXRlUXVldWV9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlTWVzc2FnZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTcXMgRGVsZXRlTWVzc2FnZX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVNZXNzYWdlQmF0Y2goYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3FzIERlbGV0ZU1lc3NhZ2VCYXRjaH0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVRdWV1ZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTcXMgRGVsZXRlUXVldWV9CiAqIEBtZXRob2QgTW9kZWwgZ2V0UXVldWVBdHRyaWJ1dGVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNxcyBHZXRRdWV1ZUF0dHJpYnV0ZXN9CiAqIEBtZXRob2QgTW9kZWwgZ2V0UXVldWVVcmwoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3FzIEdldFF1ZXVlVXJsfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RRdWV1ZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3FzIExpc3RRdWV1ZXN9CiAqIEBtZXRob2QgTW9kZWwgcmVjZWl2ZU1lc3NhZ2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3FzIFJlY2VpdmVNZXNzYWdlfQogKiBAbWV0aG9kIE1vZGVsIHJlbW92ZVBlcm1pc3Npb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3FzIFJlbW92ZVBlcm1pc3Npb259CiAqIEBtZXRob2QgTW9kZWwgc2VuZE1lc3NhZ2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3FzIFNlbmRNZXNzYWdlfQogKiBAbWV0aG9kIE1vZGVsIHNlbmRNZXNzYWdlQmF0Y2goYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3FzIFNlbmRNZXNzYWdlQmF0Y2h9CiAqIEBtZXRob2QgTW9kZWwgc2V0UXVldWVBdHRyaWJ1dGVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFNxcyBTZXRRdWV1ZUF0dHJpYnV0ZXN9CiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0UXVldWVzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdFF1ZXVlcyBvcGVyYXRpb24KICoKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2Utc3FzLmh0bWwgVXNlciBndWlkZQogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLlNxcy5TcXNDbGllbnQuaHRtbCBBUEkgZG9jcwogKi8KY2xhc3MgU3FzQ2xpZW50IGV4dGVuZHMgQWJzdHJhY3RDbGllbnQKewogICAgY29uc3QgTEFURVNUX0FQSV9WRVJTSU9OID0gJzIwMTItMTEtMDUnOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEFtYXpvbiBTaW1wbGUgUXVldWUgU2VydmljZSBjbGllbnQgdXNpbmcgYW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBvcHRpb25zLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICRjb25maWcgQ2xpZW50IGNvbmZpZ3VyYXRpb24gZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQHNlZSBcQXdzXENvbW1vblxDbGllbnRcRGVmYXVsdENsaWVudCBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBjb25maWd1cmF0aW9uIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgICRjbGllbnQgPSBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KF9fTkFNRVNQQUNFX18pCiAgICAgICAgICAgIC0+c2V0Q29uZmlnKCRjb25maWcpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnRGVmYXVsdHMoYXJyYXkoCiAgICAgICAgICAgICAgICBPcHRpb25zOjpWRVJTSU9OICAgICAgICAgICAgID0+IHNlbGY6OkxBVEVTVF9BUElfVkVSU0lPTiwKICAgICAgICAgICAgICAgIE9wdGlvbnM6OlNFUlZJQ0VfREVTQ1JJUFRJT04gPT4gX19ESVJfXyAuICcvUmVzb3VyY2VzL3Nxcy0lcy5waHAnCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKCiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgUXVldWVVcmxMaXN0ZW5lcigpKTsKICAgICAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKG5ldyBNZDVWYWxpZGF0b3JMaXN0ZW5lcigpKTsKCiAgICAgICAgcmV0dXJuICRjbGllbnQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb252ZXJ0cyBhIHF1ZXVlIFVSTCBpbnRvIGEgcXVldWUgQVJOLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHF1ZXVlVXJsIFRoZSBxdWV1ZSBVUkwgdG8gcGVyZm9ybSB0aGUgYWN0aW9uIG9uLiBSZXRyaWV2ZWQgd2hlbiB0aGUgcXVldWUgaXMgZmlyc3QgY3JlYXRlZC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBBbiBBUk4gcmVwcmVzZW50YXRpb24gb2YgdGhlIHF1ZXVlIFVSTC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFF1ZXVlQXJuKCRxdWV1ZVVybCkKICAgIHsKICAgICAgICByZXR1cm4gc3RydHIoJHF1ZXVlVXJsLCBhcnJheSgKICAgICAgICAgICAgJ2h0dHA6Ly8nICAgICAgICA9PiAnYXJuOmF3czonLAogICAgICAgICAgICAnaHR0cHM6Ly8nICAgICAgID0+ICdhcm46YXdzOicsCiAgICAgICAgICAgICcuYW1hem9uYXdzLmNvbScgPT4gJycsCiAgICAgICAgICAgICcvJyAgICAgICAgICAgICAgPT4gJzonLAogICAgICAgICAgICAnLicgICAgICAgICAgICAgID0+ICc6JywKICAgICAgICApKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Enum/BandwidthType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RvcmFnZUdhdGV3YXlcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBCYW5kd2lkdGhUeXBlIHZhbHVlcwogKi8KY2xhc3MgQmFuZHdpZHRoVHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgVVBMT0FEID0gJ1VQTE9BRCc7CiAgICBjb25zdCBET1dOTE9BRCA9ICdET1dOTE9BRCc7CiAgICBjb25zdCBBTEwgPSAnQUxMJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Enum/DiskAllocationType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RvcmFnZUdhdGV3YXlcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBEaXNrQWxsb2NhdGlvblR5cGUgdmFsdWVzCiAqLwpjbGFzcyBEaXNrQWxsb2NhdGlvblR5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEFWQUlMQUJMRSA9ICdBVkFJTEFCTEUnOwogICAgY29uc3QgQ0FDSEVfU1RPUkFHRSA9ICdDQUNIRSBTVE9SQUdFJzsKICAgIGNvbnN0IFNUT1JFRF9JU0NTSV9WT0xVTUUgPSAnU1RPUkVEIGlTQ1NJIFZPTFVNRSc7CiAgICBjb25zdCBVUExPQURfQlVGRkVSID0gJ1VQTE9BRCBCVUZGRVInOwogICAgY29uc3QgV09SS0lOR19TVE9SQUdFID0gJ1dPUktJTkcgU1RPUkFHRSc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Enum/ErrorCode.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RvcmFnZUdhdGV3YXlcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBFcnJvckNvZGUgdmFsdWVzCiAqLwpjbGFzcyBFcnJvckNvZGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEFDVElWQVRJT05fS0VZX0VYUElSRUQgPSAnQWN0aXZhdGlvbktleUV4cGlyZWQnOwogICAgY29uc3QgQUNUSVZBVElPTl9LRVlfSU5WQUxJRCA9ICdBY3RpdmF0aW9uS2V5SW52YWxpZCc7CiAgICBjb25zdCBBQ1RJVkFUSU9OX0tFWV9OT1RfRk9VTkQgPSAnQWN0aXZhdGlvbktleU5vdEZvdW5kJzsKICAgIGNvbnN0IEdBVEVXQVlfSU5URVJOQUxfRVJST1IgPSAnR2F0ZXdheUludGVybmFsRXJyb3InOwogICAgY29uc3QgR0FURVdBWV9OT1RfQ09OTkVDVEVEID0gJ0dhdGV3YXlOb3RDb25uZWN0ZWQnOwogICAgY29uc3QgR0FURVdBWV9OT1RfRk9VTkQgPSAnR2F0ZXdheU5vdEZvdW5kJzsKICAgIGNvbnN0IEdBVEVXQVlfUFJPWFlfTkVUV09SS19DT05ORUNUSU9OX0JVU1kgPSAnR2F0ZXdheVByb3h5TmV0d29ya0Nvbm5lY3Rpb25CdXN5JzsKICAgIGNvbnN0IEFVVEhFTlRJQ0FUSU9OX0ZBSUxVUkUgPSAnQXV0aGVudGljYXRpb25GYWlsdXJlJzsKICAgIGNvbnN0IEJBTkRXSURUSF9USFJPVFRMRV9TQ0hFRFVMRV9OT1RfRk9VTkQgPSAnQmFuZHdpZHRoVGhyb3R0bGVTY2hlZHVsZU5vdEZvdW5kJzsKICAgIGNvbnN0IEJMT0NLRUQgPSAnQmxvY2tlZCc7CiAgICBjb25zdCBDQU5OT1RfRVhQT1JUX1NOQVBTSE9UID0gJ0Nhbm5vdEV4cG9ydFNuYXBzaG90JzsKICAgIGNvbnN0IENIQVBfQ1JFREVOVElBTF9OT1RfRk9VTkQgPSAnQ2hhcENyZWRlbnRpYWxOb3RGb3VuZCc7CiAgICBjb25zdCBESVNLX0FMUkVBRFlfQUxMT0NBVEVEID0gJ0Rpc2tBbHJlYWR5QWxsb2NhdGVkJzsKICAgIGNvbnN0IERJU0tfRE9FU19OT1RfRVhJU1QgPSAnRGlza0RvZXNOb3RFeGlzdCc7CiAgICBjb25zdCBESVNLX1NJWkVfR1JFQVRFUl9USEFOX1ZPTFVNRV9NQVhfU0laRSA9ICdEaXNrU2l6ZUdyZWF0ZXJUaGFuVm9sdW1lTWF4U2l6ZSc7CiAgICBjb25zdCBESVNLX1NJWkVfTEVTU19USEFOX1ZPTFVNRV9TSVpFID0gJ0Rpc2tTaXplTGVzc1RoYW5Wb2x1bWVTaXplJzsKICAgIGNvbnN0IERJU0tfU0laRV9OT1RfR0lHX0FMSUdORUQgPSAnRGlza1NpemVOb3RHaWdBbGlnbmVkJzsKICAgIGNvbnN0IERVUExJQ0FURV9DRVJUSUZJQ0FURV9JTkZPID0gJ0R1cGxpY2F0ZUNlcnRpZmljYXRlSW5mbyc7CiAgICBjb25zdCBEVVBMSUNBVEVfU0NIRURVTEUgPSAnRHVwbGljYXRlU2NoZWR1bGUnOwogICAgY29uc3QgRU5EUE9JTlRfTk9UX0ZPVU5EID0gJ0VuZHBvaW50Tm90Rm91bmQnOwogICAgY29uc3QgSUFNX05PVF9TVVBQT1JURUQgPSAnSUFNTm90U3VwcG9ydGVkJzsKICAgIGNvbnN0IElOSVRJQVRPUl9JTlZBTElEID0gJ0luaXRpYXRvckludmFsaWQnOwogICAgY29uc3QgSU5JVElBVE9SX05PVF9GT1VORCA9ICdJbml0aWF0b3JOb3RGb3VuZCc7CiAgICBjb25zdCBJTlRFUk5BTF9FUlJPUiA9ICdJbnRlcm5hbEVycm9yJzsKICAgIGNvbnN0IElOVkFMSURfR0FURVdBWSA9ICdJbnZhbGlkR2F0ZXdheSc7CiAgICBjb25zdCBJTlZBTElEX0VORFBPSU5UID0gJ0ludmFsaWRFbmRwb2ludCc7CiAgICBjb25zdCBJTlZBTElEX1BBUkFNRVRFUlMgPSAnSW52YWxpZFBhcmFtZXRlcnMnOwogICAgY29uc3QgSU5WQUxJRF9TQ0hFRFVMRSA9ICdJbnZhbGlkU2NoZWR1bGUnOwogICAgY29uc3QgTE9DQUxfU1RPUkFHRV9MSU1JVF9FWENFRURFRCA9ICdMb2NhbFN0b3JhZ2VMaW1pdEV4Y2VlZGVkJzsKICAgIGNvbnN0IExVTl9BTFJFQURZX0FMTE9DQVRFRCAgPSAnTHVuQWxyZWFkeUFsbG9jYXRlZCAnOwogICAgY29uc3QgTFVOX0lOVkFMSUQgPSAnTHVuSW52YWxpZCc7CiAgICBjb25zdCBNQVhJTVVNX0NPTlRFTlRfTEVOR1RIX0VYQ0VFREVEID0gJ01heGltdW1Db250ZW50TGVuZ3RoRXhjZWVkZWQnOwogICAgY29uc3QgTUFYSU1VTV9UQVBFX0NBUlRSSURHRV9DT1VOVF9FWENFRURFRCA9ICdNYXhpbXVtVGFwZUNhcnRyaWRnZUNvdW50RXhjZWVkZWQnOwogICAgY29uc3QgTUFYSU1VTV9WT0xVTUVfQ09VTlRfRVhDRUVERUQgPSAnTWF4aW11bVZvbHVtZUNvdW50RXhjZWVkZWQnOwogICAgY29uc3QgTkVUV09SS19DT05GSUdVUkFUSU9OX0NIQU5HRUQgPSAnTmV0d29ya0NvbmZpZ3VyYXRpb25DaGFuZ2VkJzsKICAgIGNvbnN0IE5PX0RJU0tTX0FWQUlMQUJMRSA9ICdOb0Rpc2tzQXZhaWxhYmxlJzsKICAgIGNvbnN0IE5PVF9JTVBMRU1FTlRFRCA9ICdOb3RJbXBsZW1lbnRlZCc7CiAgICBjb25zdCBOT1RfU1VQUE9SVEVEID0gJ05vdFN1cHBvcnRlZCc7CiAgICBjb25zdCBPUEVSQVRJT05fQUJPUlRFRCA9ICdPcGVyYXRpb25BYm9ydGVkJzsKICAgIGNvbnN0IE9VVERBVEVEX0dBVEVXQVkgPSAnT3V0ZGF0ZWRHYXRld2F5JzsKICAgIGNvbnN0IFBBUkFNRVRFUlNfTk9UX0lNUExFTUVOVEVEID0gJ1BhcmFtZXRlcnNOb3RJbXBsZW1lbnRlZCc7CiAgICBjb25zdCBSRUdJT05fSU5WQUxJRCA9ICdSZWdpb25JbnZhbGlkJzsKICAgIGNvbnN0IFJFUVVFU1RfVElNRU9VVCA9ICdSZXF1ZXN0VGltZW91dCc7CiAgICBjb25zdCBTRVJWSUNFX1VOQVZBSUxBQkxFID0gJ1NlcnZpY2VVbmF2YWlsYWJsZSc7CiAgICBjb25zdCBTTkFQU0hPVF9ERUxFVEVEID0gJ1NuYXBzaG90RGVsZXRlZCc7CiAgICBjb25zdCBTTkFQU0hPVF9JRF9JTlZBTElEID0gJ1NuYXBzaG90SWRJbnZhbGlkJzsKICAgIGNvbnN0IFNOQVBTSE9UX0lOX1BST0dSRVNTID0gJ1NuYXBzaG90SW5Qcm9ncmVzcyc7CiAgICBjb25zdCBTTkFQU0hPVF9OT1RfRk9VTkQgPSAnU25hcHNob3ROb3RGb3VuZCc7CiAgICBjb25zdCBTTkFQU0hPVF9TQ0hFRFVMRV9OT1RfRk9VTkQgPSAnU25hcHNob3RTY2hlZHVsZU5vdEZvdW5kJzsKICAgIGNvbnN0IFNUQUdJTkdfQVJFQV9GVUxMID0gJ1N0YWdpbmdBcmVhRnVsbCc7CiAgICBjb25zdCBTVE9SQUdFX0ZBSUxVUkUgPSAnU3RvcmFnZUZhaWx1cmUnOwogICAgY29uc3QgVEFQRV9DQVJUUklER0VfTk9UX0ZPVU5EID0gJ1RhcGVDYXJ0cmlkZ2VOb3RGb3VuZCc7CiAgICBjb25zdCBUQVJHRVRfQUxSRUFEWV9FWElTVFMgPSAnVGFyZ2V0QWxyZWFkeUV4aXN0cyc7CiAgICBjb25zdCBUQVJHRVRfSU5WQUxJRCA9ICdUYXJnZXRJbnZhbGlkJzsKICAgIGNvbnN0IFRBUkdFVF9OT1RfRk9VTkQgPSAnVGFyZ2V0Tm90Rm91bmQnOwogICAgY29uc3QgVU5BVVRIT1JJWkVEX09QRVJBVElPTiA9ICdVbmF1dGhvcml6ZWRPcGVyYXRpb24nOwogICAgY29uc3QgVk9MVU1FX0FMUkVBRFlfRVhJU1RTID0gJ1ZvbHVtZUFscmVhZHlFeGlzdHMnOwogICAgY29uc3QgVk9MVU1FX0lEX0lOVkFMSUQgPSAnVm9sdW1lSWRJbnZhbGlkJzsKICAgIGNvbnN0IFZPTFVNRV9JTl9VU0UgPSAnVm9sdW1lSW5Vc2UnOwogICAgY29uc3QgVk9MVU1FX05PVF9GT1VORCA9ICdWb2x1bWVOb3RGb3VuZCc7CiAgICBjb25zdCBWT0xVTUVfTk9UX1JFQURZID0gJ1ZvbHVtZU5vdFJlYWR5JzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Enum/GatewayState.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RvcmFnZUdhdGV3YXlcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBHYXRld2F5U3RhdGUgdmFsdWVzCiAqLwpjbGFzcyBHYXRld2F5U3RhdGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFJVTk5JTkcgPSAnUlVOTklORyc7CiAgICBjb25zdCBTSFVURE9XTiA9ICdTSFVURE9XTic7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Enum/GatewayTimezone.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RvcmFnZUdhdGV3YXlcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBHYXRld2F5VGltZXpvbmUgdmFsdWVzCiAqLwpjbGFzcyBHYXRld2F5VGltZXpvbmUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IEdNVF9NSU5VU18xMjAwID0gJ0dNVC0xMjowMCc7CiAgICBjb25zdCBHTVRfTUlOVVNfMTEwMCA9ICdHTVQtMTE6MDAnOwogICAgY29uc3QgR01UX01JTlVTXzEwMDAgPSAnR01ULTEwOjAwJzsKICAgIGNvbnN0IEdNVF9NSU5VU185MDAgPSAnR01ULTk6MDAnOwogICAgY29uc3QgR01UX01JTlVTXzgwMCA9ICdHTVQtODowMCc7CiAgICBjb25zdCBHTVRfTUlOVVNfNzAwID0gJ0dNVC03OjAwJzsKICAgIGNvbnN0IEdNVF9NSU5VU182MDAgPSAnR01ULTY6MDAnOwogICAgY29uc3QgR01UX01JTlVTXzUwMCA9ICdHTVQtNTowMCc7CiAgICBjb25zdCBHTVRfTUlOVVNfNDAwID0gJ0dNVC00OjAwJzsKICAgIGNvbnN0IEdNVF9NSU5VU18zMzAgPSAnR01ULTM6MzAnOwogICAgY29uc3QgR01UX01JTlVTXzMwMCA9ICdHTVQtMzowMCc7CiAgICBjb25zdCBHTVRfTUlOVVNfMjAwID0gJ0dNVC0yOjAwJzsKICAgIGNvbnN0IEdNVF9NSU5VU18xMDAgPSAnR01ULTE6MDAnOwogICAgY29uc3QgR01UID0gJ0dNVCc7CiAgICBjb25zdCBHTVRfUExVU18xMDAgPSAnR01UKzE6MDAnOwogICAgY29uc3QgR01UX1BMVVNfMjAwID0gJ0dNVCsyOjAwJzsKICAgIGNvbnN0IEdNVF9QTFVTXzMwMCA9ICdHTVQrMzowMCc7CiAgICBjb25zdCBHTVRfUExVU18zMzAgPSAnR01UKzM6MzAnOwogICAgY29uc3QgR01UX1BMVVNfNDAwID0gJ0dNVCs0OjAwJzsKICAgIGNvbnN0IEdNVF9QTFVTXzQzMCA9ICdHTVQrNDozMCc7CiAgICBjb25zdCBHTVRfUExVU181MDAgPSAnR01UKzU6MDAnOwogICAgY29uc3QgR01UX1BMVVNfNTMwID0gJ0dNVCs1OjMwJzsKICAgIGNvbnN0IEdNVF9QTFVTXzU0NSA9ICdHTVQrNTo0NSc7CiAgICBjb25zdCBHTVRfUExVU182MDAgPSAnR01UKzY6MDAnOwogICAgY29uc3QgR01UX1BMVVNfNzAwID0gJ0dNVCs3OjAwJzsKICAgIGNvbnN0IEdNVF9QTFVTXzgwMCA9ICdHTVQrODowMCc7CiAgICBjb25zdCBHTVRfUExVU185MDAgPSAnR01UKzk6MDAnOwogICAgY29uc3QgR01UX1BMVVNfOTMwID0gJ0dNVCs5OjMwJzsKICAgIGNvbnN0IEdNVF9QTFVTXzEwMDAgPSAnR01UKzEwOjAwJzsKICAgIGNvbnN0IEdNVF9QTFVTXzExMDAgPSAnR01UKzExOjAwJzsKICAgIGNvbnN0IEdNVF9QTFVTXzEyMDAgPSAnR01UKzEyOjAwJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Enum/GatewayType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RvcmFnZUdhdGV3YXlcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBHYXRld2F5VHlwZSB2YWx1ZXMKICovCmNsYXNzIEdhdGV3YXlUeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBTVE9SRUQgPSAnU1RPUkVEJzsKICAgIGNvbnN0IENBQ0hFRCA9ICdDQUNIRUQnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Enum/VolumeStatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RvcmFnZUdhdGV3YXlcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBWb2x1bWVTdGF0dXMgdmFsdWVzCiAqLwpjbGFzcyBWb2x1bWVTdGF0dXMgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IENSRUFUSU5HID0gJ0NSRUFUSU5HJzsKICAgIGNvbnN0IEFWQUlMQUJMRSA9ICdBVkFJTEFCTEUnOwogICAgY29uc3QgUkVTVE9SSU5HID0gJ1JFU1RPUklORyc7CiAgICBjb25zdCBCT09UU1RSQVBQSU5HID0gJ0JPT1RTVFJBUFBJTkcnOwogICAgY29uc3QgSVJSRUNPVkVSQUJMRSA9ICdJUlJFQ09WRVJBQkxFJzsKICAgIGNvbnN0IFBBU1NfVEhST1VHSCA9ICdQQVNTIFRIUk9VR0gnOwogICAgY29uc3QgUkVTVE9SRV9BTkRfUEFTU19USFJPVUdIID0gJ1JFU1RPUkUgQU5EIFBBU1MgVEhST1VHSCc7CiAgICBjb25zdCBERUxFVEVEID0gJ0RFTEVURUQnOwogICAgY29uc3QgV09SS0lOR19TVE9SQUdFX05PVF9DT05GSUdVUkVEID0gJ1dPUktJTkcgU1RPUkFHRSBOT1QgQ09ORklHVVJFRCc7CiAgICBjb25zdCBVUExPQURfQlVGRkVSX05PVF9DT05GSUdVUkVEID0gJ1VQTE9BRCBCVUZGRVIgTk9UIENPTkZJR1VSRUQnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Enum/VolumeType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RvcmFnZUdhdGV3YXlcRW51bTsKCnVzZSBBd3NcQ29tbW9uXEVudW07CgovKioKICogQ29udGFpbnMgZW51bWVyYWJsZSBWb2x1bWVUeXBlIHZhbHVlcwogKi8KY2xhc3MgVm9sdW1lVHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgU1RPUkVEX0lTQ1NJID0gJ1NUT1JFRCBpU0NTSSc7CiAgICBjb25zdCBDQUNIRURfSVNDU0kgPSAnQ0FDSEVEIGlTQ1NJJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Exception/InternalServerErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RvcmFnZUdhdGV3YXlcRXhjZXB0aW9uOwoKLyoqCiAqIEFuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KICovCmNsYXNzIEludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24gZXh0ZW5kcyBTdG9yYWdlR2F0ZXdheUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Exception/InvalidGatewayRequestException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RvcmFnZUdhdGV3YXlcRXhjZXB0aW9uOwoKLyoqCiAqIEFuIGV4Y2VwdGlvbiBvY2N1cmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAqLwpjbGFzcyBJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24gZXh0ZW5kcyBTdG9yYWdlR2F0ZXdheUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Exception/StorageGatewayException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RvcmFnZUdhdGV3YXlcRXhjZXB0aW9uOwoKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbjsKCi8qKgogKiBEZWZhdWx0IHNlcnZpY2UgZXhjZXB0aW9uIGNsYXNzCiAqLwpjbGFzcyBTdG9yYWdlR2F0ZXdheUV4Y2VwdGlvbiBleHRlbmRzIFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/Resources/storagegateway-2013-06-30.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTMtMDYtMzAnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnc3RvcmFnZWdhdGV3YXknLAogICAgJ3NlcnZpY2VGdWxsTmFtZScgPT4gJ0FXUyBTdG9yYWdlIEdhdGV3YXknLAogICAgJ3NlcnZpY2VUeXBlJyA9PiAnanNvbicsCiAgICAnanNvblZlcnNpb24nID0+ICcxLjEnLAogICAgJ3RhcmdldFByZWZpeCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLicsCiAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3Y0JywKICAgICduYW1lc3BhY2UnID0+ICdTdG9yYWdlR2F0ZXdheScsCiAgICAncmVnaW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ3VzLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzdG9yYWdlZ2F0ZXdheS51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtd2VzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3N0b3JhZ2VnYXRld2F5LnVzLXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICd1cy13ZXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc3RvcmFnZWdhdGV3YXkudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2V1LXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzdG9yYWdlZ2F0ZXdheS5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtbm9ydGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc3RvcmFnZWdhdGV3YXkuYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc3RvcmFnZWdhdGV3YXkuYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc3RvcmFnZWdhdGV3YXkuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnc2EtZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3N0b3JhZ2VnYXRld2F5LnNhLWVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQWN0aXZhdGVHYXRld2F5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0FjdGl2YXRlR2F0ZXdheU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuQWN0aXZhdGVHYXRld2F5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQWN0aXZhdGlvbktleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHYXRld2F5TmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAyLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheVRpbWV6b25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlSZWdpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAyLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYXBlRHJpdmVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMiwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWVkaXVtQ2hhbmdlclR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAyLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdBZGRDYWNoZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdBZGRDYWNoZU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuQWRkQ2FjaGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGlza0lkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRGlza0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMDAsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXhjZXB0aW9uIG9jY3VycmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyB0aGUgcmVxdWVzdC4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQWRkVXBsb2FkQnVmZmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0FkZFVwbG9hZEJ1ZmZlck91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuQWRkVXBsb2FkQnVmZmVyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rpc2tJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0Rpc2tJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzAwLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0FkZFdvcmtpbmdTdG9yYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0FkZFdvcmtpbmdTdG9yYWdlT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5BZGRXb3JraW5nU3RvcmFnZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEaXNrSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdEaXNrSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDMwMCwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDYW5jZWxBcmNoaXZhbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDYW5jZWxBcmNoaXZhbE91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuQ2FuY2VsQXJjaGl2YWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFwZUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NhbmNlbFJldHJpZXZhbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDYW5jZWxSZXRyaWV2YWxPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLkNhbmNlbFJldHJpZXZhbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYXBlQVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXhjZXB0aW9uIG9jY3VycmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyB0aGUgcmVxdWVzdC4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlQ2FjaGVkaVNDU0lWb2x1bWUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQ3JlYXRlQ2FjaGVkaVNDU0lWb2x1bWVPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLkNyZWF0ZUNhY2hlZGlTQ1NJVm9sdW1lJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZvbHVtZVNpemVJbkJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU25hcHNob3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYXJnZXROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXR3b3JrSW50ZXJmYWNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsaWVudFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVTbmFwc2hvdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVTbmFwc2hvdE91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuQ3JlYXRlU25hcHNob3QnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTbmFwc2hvdERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVTbmFwc2hvdEZyb21Wb2x1bWVSZWNvdmVyeVBvaW50JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZVNuYXBzaG90RnJvbVZvbHVtZVJlY292ZXJ5UG9pbnRPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLkNyZWF0ZVNuYXBzaG90RnJvbVZvbHVtZVJlY292ZXJ5UG9pbnQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTbmFwc2hvdERlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU1LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVTdG9yZWRpU0NTSVZvbHVtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdDcmVhdGVTdG9yZWRpU0NTSVZvbHVtZU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuQ3JlYXRlU3RvcmVkaVNDU0lWb2x1bWUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGlza0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTbmFwc2hvdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByZXNlcnZlRXhpc3RpbmdEYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYXJnZXROYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXR3b3JrSW50ZXJmYWNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVRhcGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZVRhcGVzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5DcmVhdGVUYXBlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYXBlU2l6ZUluQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxMDczNzQxODI0MDAsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDI3NDg3NzkwNjk0NDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NsaWVudFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOdW1UYXBlc1RvQ3JlYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhcGVCYXJjb2RlUHJlZml4JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXhjZXB0aW9uIG9jY3VycmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyB0aGUgcmVxdWVzdC4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQmFuZHdpZHRoUmF0ZUxpbWl0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RlbGV0ZUJhbmR3aWR0aFJhdGVMaW1pdE91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuRGVsZXRlQmFuZHdpZHRoUmF0ZUxpbWl0JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0JhbmR3aWR0aFR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXhjZXB0aW9uIG9jY3VycmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyB0aGUgcmVxdWVzdC4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQ2hhcENyZWRlbnRpYWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0RlbGV0ZUNoYXBDcmVkZW50aWFsc091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuRGVsZXRlQ2hhcENyZWRlbnRpYWxzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFyZ2V0QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDgwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5pdGlhdG9yTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXhjZXB0aW9uIG9jY3VycmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyB0aGUgcmVxdWVzdC4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlR2F0ZXdheScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZWxldGVHYXRld2F5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5EZWxldGVHYXRld2F5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVNuYXBzaG90U2NoZWR1bGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVsZXRlU25hcHNob3RTY2hlZHVsZU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuRGVsZXRlU25hcHNob3RTY2hlZHVsZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZvbHVtZUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVRhcGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVsZXRlVGFwZU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuRGVsZXRlVGFwZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYXBlQVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXhjZXB0aW9uIG9jY3VycmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyB0aGUgcmVxdWVzdC4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlVGFwZUFyY2hpdmUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVsZXRlVGFwZUFyY2hpdmVPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLkRlbGV0ZVRhcGVBcmNoaXZlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFwZUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZVZvbHVtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZWxldGVWb2x1bWVPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLkRlbGV0ZVZvbHVtZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZvbHVtZUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlQmFuZHdpZHRoUmF0ZUxpbWl0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlQmFuZHdpZHRoUmF0ZUxpbWl0T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5EZXNjcmliZUJhbmR3aWR0aFJhdGVMaW1pdCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNhY2hlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlQ2FjaGVPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLkRlc2NyaWJlQ2FjaGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXhjZXB0aW9uIG9jY3VycmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyB0aGUgcmVxdWVzdC4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVDYWNoZWRpU0NTSVZvbHVtZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVDYWNoZWRpU0NTSVZvbHVtZXNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLkRlc2NyaWJlQ2FjaGVkaVNDU0lWb2x1bWVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVm9sdW1lQVJOcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVm9sdW1lQVJOJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlQ2hhcENyZWRlbnRpYWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlQ2hhcENyZWRlbnRpYWxzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5EZXNjcmliZUNoYXBDcmVkZW50aWFscycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhcmdldEFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA4MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlR2F0ZXdheUluZm9ybWF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlR2F0ZXdheUluZm9ybWF0aW9uT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5EZXNjcmliZUdhdGV3YXlJbmZvcm1hdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZU1haW50ZW5hbmNlU3RhcnRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlTWFpbnRlbmFuY2VTdGFydFRpbWVPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLkRlc2NyaWJlTWFpbnRlbmFuY2VTdGFydFRpbWUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXhjZXB0aW9uIG9jY3VycmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyB0aGUgcmVxdWVzdC4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTbmFwc2hvdFNjaGVkdWxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlU25hcHNob3RTY2hlZHVsZU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuRGVzY3JpYmVTbmFwc2hvdFNjaGVkdWxlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVm9sdW1lQVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXhjZXB0aW9uIG9jY3VycmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyB0aGUgcmVxdWVzdC4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTdG9yZWRpU0NTSVZvbHVtZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVTdG9yZWRpU0NTSVZvbHVtZXNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLkRlc2NyaWJlU3RvcmVkaVNDU0lWb2x1bWVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVm9sdW1lQVJOcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVm9sdW1lQVJOJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVGFwZUFyY2hpdmVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlVGFwZUFyY2hpdmVzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5EZXNjcmliZVRhcGVBcmNoaXZlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhcGVBUk5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RhcGVBUk4nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMaW1pdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXhjZXB0aW9uIG9jY3VycmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyB0aGUgcmVxdWVzdC4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVUYXBlUmVjb3ZlcnlQb2ludHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVUYXBlUmVjb3ZlcnlQb2ludHNPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLkRlc2NyaWJlVGFwZVJlY292ZXJ5UG9pbnRzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGltaXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVGFwZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVUYXBlc091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuRGVzY3JpYmVUYXBlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYXBlQVJOcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYXBlQVJOJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTGltaXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDEsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVXBsb2FkQnVmZmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlVXBsb2FkQnVmZmVyT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5EZXNjcmliZVVwbG9hZEJ1ZmZlcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVZUTERldmljZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVWVExEZXZpY2VzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5EZXNjcmliZVZUTERldmljZXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVlRMRGV2aWNlQVJOcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWVExEZXZpY2VBUk4nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdMaW1pdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXhjZXB0aW9uIG9jY3VycmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyB0aGUgcmVxdWVzdC4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVXb3JraW5nU3RvcmFnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVdvcmtpbmdTdG9yYWdlT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5EZXNjcmliZVdvcmtpbmdTdG9yYWdlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rpc2FibGVHYXRld2F5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rpc2FibGVHYXRld2F5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5EaXNhYmxlR2F0ZXdheScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0R2F0ZXdheXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnTGlzdEdhdGV3YXlzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5MaXN0R2F0ZXdheXMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xpbWl0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0TG9jYWxEaXNrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdMaXN0TG9jYWxEaXNrc091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuTGlzdExvY2FsRGlza3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXhjZXB0aW9uIG9jY3VycmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyB0aGUgcmVxdWVzdC4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFZvbHVtZVJlY292ZXJ5UG9pbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RWb2x1bWVSZWNvdmVyeVBvaW50c091dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuTGlzdFZvbHVtZVJlY292ZXJ5UG9pbnRzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RWb2x1bWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0xpc3RWb2x1bWVzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5MaXN0Vm9sdW1lcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0xpbWl0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiAxLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXRyaWV2ZVRhcGVBcmNoaXZlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1JldHJpZXZlVGFwZUFyY2hpdmVPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLlJldHJpZXZlVGFwZUFyY2hpdmUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYXBlQVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JldHJpZXZlVGFwZVJlY292ZXJ5UG9pbnQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnUmV0cmlldmVUYXBlUmVjb3ZlcnlQb2ludE91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuUmV0cmlldmVUYXBlUmVjb3ZlcnlQb2ludCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RhcGVBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXhjZXB0aW9uIG9jY3VycmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyB0aGUgcmVxdWVzdC4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU2h1dGRvd25HYXRld2F5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1NodXRkb3duR2F0ZXdheU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuU2h1dGRvd25HYXRld2F5JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1N0YXJ0R2F0ZXdheScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdTdGFydEdhdGV3YXlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLlN0YXJ0R2F0ZXdheScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVCYW5kd2lkdGhSYXRlTGltaXQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVXBkYXRlQmFuZHdpZHRoUmF0ZUxpbWl0T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5VcGRhdGVCYW5kd2lkdGhSYXRlTGltaXQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQXZlcmFnZVVwbG9hZFJhdGVMaW1pdEluQml0c1BlclNlYycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gNTEyMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0F2ZXJhZ2VEb3dubG9hZFJhdGVMaW1pdEluQml0c1BlclNlYycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMTAyNDAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVDaGFwQ3JlZGVudGlhbHMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnVXBkYXRlQ2hhcENyZWRlbnRpYWxzT3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTdG9yYWdlR2F0ZXdheV8yMDEzMDYzMC5VcGRhdGVDaGFwQ3JlZGVudGlhbHMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYXJnZXRBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gODAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTZWNyZXRUb0F1dGhlbnRpY2F0ZUluaXRpYXRvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxMiwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxNiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSW5pdGlhdG9yTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU2VjcmV0VG9BdXRoZW50aWNhdGVUYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxMiwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxNiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gZXhjZXB0aW9uIG9jY3VycmVkIGJlY2F1c2UgYW4gaW52YWxpZCBnYXRld2F5IHJlcXVlc3Qgd2FzIGlzc3VlZCB0byB0aGUgc2VydmljZS4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyB0aGUgcmVxdWVzdC4gU2VlIHRoZSBlcnJvciBhbmQgbWVzc2FnZSBmaWVsZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlR2F0ZXdheUluZm9ybWF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1VwZGF0ZUdhdGV3YXlJbmZvcm1hdGlvbk91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuVXBkYXRlR2F0ZXdheUluZm9ybWF0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA1MCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA1MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMiwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlUaW1lem9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZUdhdGV3YXlTb2Z0d2FyZU5vdycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdVcGRhdGVHYXRld2F5U29mdHdhcmVOb3dPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLlVwZGF0ZUdhdGV3YXlTb2Z0d2FyZU5vdycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVNYWludGVuYW5jZVN0YXJ0VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdVcGRhdGVNYWludGVuYW5jZVN0YXJ0VGltZU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU3RvcmFnZUdhdGV3YXlfMjAxMzA2MzAuVXBkYXRlTWFpbnRlbmFuY2VTdGFydFRpbWUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDUwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnSG91ck9mRGF5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMjMsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01pbnV0ZU9mSG91cicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDU5LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEYXlPZldlZWsnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiA2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdBbiBleGNlcHRpb24gb2NjdXJyZWQgYmVjYXVzZSBhbiBpbnZhbGlkIGdhdGV3YXkgcmVxdWVzdCB3YXMgaXNzdWVkIHRvIHRoZSBzZXJ2aWNlLiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRHYXRld2F5UmVxdWVzdEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGludGVybmFsIHNlcnZlciBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHRoZSByZXF1ZXN0LiBTZWUgdGhlIGVycm9yIGFuZCBtZXNzYWdlIGZpZWxkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVTbmFwc2hvdFNjaGVkdWxlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1VwZGF0ZVNuYXBzaG90U2NoZWR1bGVPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1N0b3JhZ2VHYXRld2F5XzIwMTMwNjMwLlVwZGF0ZVNuYXBzaG90U2NoZWR1bGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNTAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNTAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdGFydEF0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMjMsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlY3VycmVuY2VJbkhvdXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTUsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCBiZWNhdXNlIGFuIGludmFsaWQgZ2F0ZXdheSByZXF1ZXN0IHdhcyBpc3N1ZWQgdG8gdGhlIHNlcnZpY2UuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEdhdGV3YXlSZXF1ZXN0RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnQW4gaW50ZXJuYWwgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgdGhlIHJlcXVlc3QuIFNlZSB0aGUgZXJyb3IgYW5kIG1lc3NhZ2UgZmllbGRzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ21vZGVscycgPT4gYXJyYXkoCiAgICAgICAgJ0FjdGl2YXRlR2F0ZXdheU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdBZGRDYWNoZU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdBZGRVcGxvYWRCdWZmZXJPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQWRkV29ya2luZ1N0b3JhZ2VPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ2FuY2VsQXJjaGl2YWxPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1RhcGVBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ2FuY2VsUmV0cmlldmFsT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdUYXBlQVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUNhY2hlZGlTQ1NJVm9sdW1lT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdWb2x1bWVBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFyZ2V0QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZVNuYXBzaG90T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdWb2x1bWVBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnU25hcHNob3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVTbmFwc2hvdEZyb21Wb2x1bWVSZWNvdmVyeVBvaW50T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdTbmFwc2hvdElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZvbHVtZUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWb2x1bWVSZWNvdmVyeVBvaW50VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVTdG9yZWRpU0NTSVZvbHVtZU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVm9sdW1lQVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZvbHVtZVNpemVJbkJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYXJnZXRBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ3JlYXRlVGFwZXNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1RhcGVBUk5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RhcGVBUk4nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlQmFuZHdpZHRoUmF0ZUxpbWl0T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlbGV0ZUNoYXBDcmVkZW50aWFsc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFyZ2V0QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0luaXRpYXRvck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlR2F0ZXdheU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVTbmFwc2hvdFNjaGVkdWxlT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdWb2x1bWVBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVsZXRlVGFwZU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFwZUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVUYXBlQXJjaGl2ZU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFwZUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWxldGVWb2x1bWVPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1ZvbHVtZUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUJhbmR3aWR0aFJhdGVMaW1pdE91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdmVyYWdlVXBsb2FkUmF0ZUxpbWl0SW5CaXRzUGVyU2VjJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBdmVyYWdlRG93bmxvYWRSYXRlTGltaXRJbkJpdHNQZXJTZWMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlQ2FjaGVPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRGlza0lkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdEaXNrSWQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVBbGxvY2F0ZWRJbkJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZVVzZWRQZXJjZW50YWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZURpcnR5UGVyY2VudGFnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQ2FjaGVIaXRQZXJjZW50YWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdDYWNoZU1pc3NQZXJjZW50YWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNhY2hlZGlTQ1NJVm9sdW1lc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ2FjaGVkaVNDU0lWb2x1bWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NhY2hlZGlTQ1NJVm9sdW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lQVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZVNpemVJbkJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVQcm9ncmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU291cmNlU25hcHNob3RJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVpU0NTSUF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYXJnZXRBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmV0d29ya0ludGVyZmFjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMdW5OdW1iZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NoYXBFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVDaGFwQ3JlZGVudGlhbHNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NoYXBDcmVkZW50aWFscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDaGFwSW5mbycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcmdldEFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWNyZXRUb0F1dGhlbnRpY2F0ZUluaXRpYXRvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbml0aWF0b3JOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NlY3JldFRvQXV0aGVudGljYXRlVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlR2F0ZXdheUluZm9ybWF0aW9uT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHYXRld2F5VGltZXpvbmUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnR2F0ZXdheVN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0dhdGV3YXlOZXR3b3JrSW50ZXJmYWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdOZXR3b3JrSW50ZXJmYWNlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXB2NEFkZHJlc3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWFjQWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJcHY2QWRkcmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdHYXRld2F5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOZXh0VXBkYXRlQXZhaWxhYmlsaXR5RGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZU1haW50ZW5hbmNlU3RhcnRUaW1lT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0hvdXJPZkRheScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWludXRlT2ZIb3VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEYXlPZldlZWsnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1RpbWV6b25lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlU25hcHNob3RTY2hlZHVsZU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVm9sdW1lQVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1N0YXJ0QXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JlY3VycmVuY2VJbkhvdXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUaW1lem9uZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVN0b3JlZGlTQ1NJVm9sdW1lc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3RvcmVkaVNDU0lWb2x1bWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0b3JlZGlTQ1NJVm9sdW1lJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lQVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZVNpemVJbkJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVQcm9ncmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lRGlza0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvdXJjZVNuYXBzaG90SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlc2VydmVkRXhpc3RpbmdEYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVpU0NTSUF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYXJnZXRBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmV0d29ya0ludGVyZmFjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VQb3J0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMdW5OdW1iZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NoYXBFbmFibGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVUYXBlQXJjaGl2ZXNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1RhcGVBcmNoaXZlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYXBlQXJjaGl2ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcGVBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFwZUJhcmNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFwZVNpemVJbkJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb21wbGV0aW9uVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXRyaWV2ZWRUbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYXBlU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVRhcGVSZWNvdmVyeVBvaW50c091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdUYXBlUmVjb3ZlcnlQb2ludEluZm9zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RhcGVSZWNvdmVyeVBvaW50SW5mbycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcGVBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFwZVJlY292ZXJ5UG9pbnRUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcGVTaXplSW5CeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFwZVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVUYXBlc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFwZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RhcGVBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFwZUJhcmNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFwZVNpemVJbkJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYXBlU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZUTERldmljZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9ncmVzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnTWFya2VyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVXBsb2FkQnVmZmVyT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Rpc2tJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRGlza0lkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1VwbG9hZEJ1ZmZlclVzZWRJbkJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdVcGxvYWRCdWZmZXJBbGxvY2F0ZWRJbkJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVZUTERldmljZXNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVlRMRGV2aWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWVExEZXZpY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWVExEZXZpY2VBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVlRMRGV2aWNlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWVExEZXZpY2VWZW5kb3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVlRMRGV2aWNlUHJvZHVjdElkZW50aWZpZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGV2aWNlaVNDU0lBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFyZ2V0QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05ldHdvcmtJbnRlcmZhY2VJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOZXR3b3JrSW50ZXJmYWNlUG9ydCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2hhcEVuYWJsZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVXb3JraW5nU3RvcmFnZU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEaXNrSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0Rpc2tJZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdXb3JraW5nU3RvcmFnZVVzZWRJbkJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdXb3JraW5nU3RvcmFnZUFsbG9jYXRlZEluQnl0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rpc2FibGVHYXRld2F5T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0xpc3RHYXRld2F5c091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR2F0ZXdheXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnR2F0ZXdheUluZm8nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dhdGV3YXlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dhdGV3YXlPcGVyYXRpb25hbFN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ01hcmtlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0TG9jYWxEaXNrc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEaXNrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdEaXNrJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGlza0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc2tQYXRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc2tOb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc2tTaXplSW5CeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGlza0FsbG9jYXRpb25UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc2tBbGxvY2F0aW9uUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFZvbHVtZVJlY292ZXJ5UG9pbnRzT3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZvbHVtZVJlY292ZXJ5UG9pbnRJbmZvcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdWb2x1bWVSZWNvdmVyeVBvaW50SW5mbycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVTaXplSW5CeXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVm9sdW1lVXNhZ2VJbkJ5dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVSZWNvdmVyeVBvaW50VGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0Vm9sdW1lc091dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdNYXJrZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVm9sdW1lSW5mb3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVm9sdW1lSW5mbycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZvbHVtZUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWb2x1bWVUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JldHJpZXZlVGFwZUFyY2hpdmVPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1RhcGVBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmV0cmlldmVUYXBlUmVjb3ZlcnlQb2ludE91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFwZUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTaHV0ZG93bkdhdGV3YXlPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnU3RhcnRHYXRld2F5T3V0cHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdHYXRld2F5QVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZUJhbmR3aWR0aFJhdGVMaW1pdE91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVDaGFwQ3JlZGVudGlhbHNPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1RhcmdldEFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJbml0aWF0b3JOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1VwZGF0ZUdhdGV3YXlJbmZvcm1hdGlvbk91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnR2F0ZXdheUFSTicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdVcGRhdGVHYXRld2F5U29mdHdhcmVOb3dPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlTWFpbnRlbmFuY2VTdGFydFRpbWVPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0dhdGV3YXlBUk4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnVXBkYXRlU25hcHNob3RTY2hlZHVsZU91dHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnVm9sdW1lQVJOJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAogICAgJ2l0ZXJhdG9ycycgPT4gYXJyYXkoCiAgICAgICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAnRGVzY3JpYmVDYWNoZWRpU0NTSVZvbHVtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdDYWNoZWRpU0NTSVZvbHVtZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVTdG9yZWRpU0NTSVZvbHVtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdTdG9yZWRpU0NTSVZvbHVtZXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVUYXBlQXJjaGl2ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ0xpbWl0JywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnVGFwZUFyY2hpdmVzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlVGFwZVJlY292ZXJ5UG9pbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdMaW1pdCcsCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1RhcGVSZWNvdmVyeVBvaW50SW5mb3MnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVUYXBlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ3Rva2VuX2tleScgPT4gJ01hcmtlcicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnTGltaXQnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdUYXBlcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVZUTERldmljZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ0xpbWl0JywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnVlRMRGV2aWNlcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdMaXN0R2F0ZXdheXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ0xpbWl0JywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnR2F0ZXdheXMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdExvY2FsRGlza3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdEaXNrcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdMaXN0Vm9sdW1lUmVjb3ZlcnlQb2ludHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdWb2x1bWVSZWNvdmVyeVBvaW50SW5mb3MnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdFZvbHVtZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnTWFya2VyJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICdNYXJrZXInLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ0xpbWl0JywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnVm9sdW1lSW5mb3MnLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/StorageGateway/StorageGatewayClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RvcmFnZUdhdGV3YXk7Cgp1c2UgQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQ7CnVzZSBBd3NcQ29tbW9uXENsaWVudFxDbGllbnRCdWlsZGVyOwp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFBhcnNlclxKc29uUXVlcnlFeGNlcHRpb25QYXJzZXI7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2U7CgovKioKICogQ2xpZW50IHRvIGludGVyYWN0IHdpdGggQVdTIFN0b3JhZ2UgR2F0ZXdheQogKgogKiBAbWV0aG9kIE1vZGVsIGFjdGl2YXRlR2F0ZXdheShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBBY3RpdmF0ZUdhdGV3YXl9CiAqIEBtZXRob2QgTW9kZWwgYWRkQ2FjaGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgQWRkQ2FjaGV9CiAqIEBtZXRob2QgTW9kZWwgYWRkVXBsb2FkQnVmZmVyKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0b3JhZ2VHYXRld2F5IEFkZFVwbG9hZEJ1ZmZlcn0KICogQG1ldGhvZCBNb2RlbCBhZGRXb3JraW5nU3RvcmFnZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBBZGRXb3JraW5nU3RvcmFnZX0KICogQG1ldGhvZCBNb2RlbCBjYW5jZWxBcmNoaXZhbChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBDYW5jZWxBcmNoaXZhbH0KICogQG1ldGhvZCBNb2RlbCBjYW5jZWxSZXRyaWV2YWwoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgQ2FuY2VsUmV0cmlldmFsfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZUNhY2hlZGlTQ1NJVm9sdW1lKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0b3JhZ2VHYXRld2F5IENyZWF0ZUNhY2hlZGlTQ1NJVm9sdW1lfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVNuYXBzaG90KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0b3JhZ2VHYXRld2F5IENyZWF0ZVNuYXBzaG90fQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZVNuYXBzaG90RnJvbVZvbHVtZVJlY292ZXJ5UG9pbnQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgQ3JlYXRlU25hcHNob3RGcm9tVm9sdW1lUmVjb3ZlcnlQb2ludH0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVTdG9yZWRpU0NTSVZvbHVtZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBDcmVhdGVTdG9yZWRpU0NTSVZvbHVtZX0KICogQG1ldGhvZCBNb2RlbCBjcmVhdGVUYXBlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBDcmVhdGVUYXBlc30KICogQG1ldGhvZCBNb2RlbCBkZWxldGVCYW5kd2lkdGhSYXRlTGltaXQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgRGVsZXRlQmFuZHdpZHRoUmF0ZUxpbWl0fQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZUNoYXBDcmVkZW50aWFscyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBEZWxldGVDaGFwQ3JlZGVudGlhbHN9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlR2F0ZXdheShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBEZWxldGVHYXRld2F5fQogKiBAbWV0aG9kIE1vZGVsIGRlbGV0ZVNuYXBzaG90U2NoZWR1bGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgRGVsZXRlU25hcHNob3RTY2hlZHVsZX0KICogQG1ldGhvZCBNb2RlbCBkZWxldGVUYXBlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0b3JhZ2VHYXRld2F5IERlbGV0ZVRhcGV9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlVGFwZUFyY2hpdmUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgRGVsZXRlVGFwZUFyY2hpdmV9CiAqIEBtZXRob2QgTW9kZWwgZGVsZXRlVm9sdW1lKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0b3JhZ2VHYXRld2F5IERlbGV0ZVZvbHVtZX0KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUJhbmR3aWR0aFJhdGVMaW1pdChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBEZXNjcmliZUJhbmR3aWR0aFJhdGVMaW1pdH0KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZUNhY2hlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0b3JhZ2VHYXRld2F5IERlc2NyaWJlQ2FjaGV9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVDYWNoZWRpU0NTSVZvbHVtZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgRGVzY3JpYmVDYWNoZWRpU0NTSVZvbHVtZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVDaGFwQ3JlZGVudGlhbHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgRGVzY3JpYmVDaGFwQ3JlZGVudGlhbHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVHYXRld2F5SW5mb3JtYXRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgRGVzY3JpYmVHYXRld2F5SW5mb3JtYXRpb259CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVNYWludGVuYW5jZVN0YXJ0VGltZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBEZXNjcmliZU1haW50ZW5hbmNlU3RhcnRUaW1lfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlU25hcHNob3RTY2hlZHVsZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBEZXNjcmliZVNuYXBzaG90U2NoZWR1bGV9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVTdG9yZWRpU0NTSVZvbHVtZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgRGVzY3JpYmVTdG9yZWRpU0NTSVZvbHVtZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVUYXBlQXJjaGl2ZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgRGVzY3JpYmVUYXBlQXJjaGl2ZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVUYXBlUmVjb3ZlcnlQb2ludHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgRGVzY3JpYmVUYXBlUmVjb3ZlcnlQb2ludHN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVUYXBlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBEZXNjcmliZVRhcGVzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlVXBsb2FkQnVmZmVyKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0b3JhZ2VHYXRld2F5IERlc2NyaWJlVXBsb2FkQnVmZmVyfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlVlRMRGV2aWNlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBEZXNjcmliZVZUTERldmljZXN9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVXb3JraW5nU3RvcmFnZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBEZXNjcmliZVdvcmtpbmdTdG9yYWdlfQogKiBAbWV0aG9kIE1vZGVsIGRpc2FibGVHYXRld2F5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0b3JhZ2VHYXRld2F5IERpc2FibGVHYXRld2F5fQogKiBAbWV0aG9kIE1vZGVsIGxpc3RHYXRld2F5cyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBMaXN0R2F0ZXdheXN9CiAqIEBtZXRob2QgTW9kZWwgbGlzdExvY2FsRGlza3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgTGlzdExvY2FsRGlza3N9CiAqIEBtZXRob2QgTW9kZWwgbGlzdFZvbHVtZVJlY292ZXJ5UG9pbnRzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0b3JhZ2VHYXRld2F5IExpc3RWb2x1bWVSZWNvdmVyeVBvaW50c30KICogQG1ldGhvZCBNb2RlbCBsaXN0Vm9sdW1lcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBMaXN0Vm9sdW1lc30KICogQG1ldGhvZCBNb2RlbCByZXRyaWV2ZVRhcGVBcmNoaXZlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0b3JhZ2VHYXRld2F5IFJldHJpZXZlVGFwZUFyY2hpdmV9CiAqIEBtZXRob2QgTW9kZWwgcmV0cmlldmVUYXBlUmVjb3ZlcnlQb2ludChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBSZXRyaWV2ZVRhcGVSZWNvdmVyeVBvaW50fQogKiBAbWV0aG9kIE1vZGVsIHNodXRkb3duR2F0ZXdheShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBTaHV0ZG93bkdhdGV3YXl9CiAqIEBtZXRob2QgTW9kZWwgc3RhcnRHYXRld2F5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0b3JhZ2VHYXRld2F5IFN0YXJ0R2F0ZXdheX0KICogQG1ldGhvZCBNb2RlbCB1cGRhdGVCYW5kd2lkdGhSYXRlTGltaXQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgVXBkYXRlQmFuZHdpZHRoUmF0ZUxpbWl0fQogKiBAbWV0aG9kIE1vZGVsIHVwZGF0ZUNoYXBDcmVkZW50aWFscyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdG9yYWdlR2F0ZXdheSBVcGRhdGVDaGFwQ3JlZGVudGlhbHN9CiAqIEBtZXRob2QgTW9kZWwgdXBkYXRlR2F0ZXdheUluZm9ybWF0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0b3JhZ2VHYXRld2F5IFVwZGF0ZUdhdGV3YXlJbmZvcm1hdGlvbn0KICogQG1ldGhvZCBNb2RlbCB1cGRhdGVHYXRld2F5U29mdHdhcmVOb3coYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgVXBkYXRlR2F0ZXdheVNvZnR3YXJlTm93fQogKiBAbWV0aG9kIE1vZGVsIHVwZGF0ZU1haW50ZW5hbmNlU3RhcnRUaW1lKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0b3JhZ2VHYXRld2F5IFVwZGF0ZU1haW50ZW5hbmNlU3RhcnRUaW1lfQogKiBAbWV0aG9kIE1vZGVsIHVwZGF0ZVNuYXBzaG90U2NoZWR1bGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RvcmFnZUdhdGV3YXkgVXBkYXRlU25hcHNob3RTY2hlZHVsZX0KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQ2FjaGVkaVNDU0lWb2x1bWVzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVDYWNoZWRpU0NTSVZvbHVtZXMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVN0b3JlZGlTQ1NJVm9sdW1lc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlU3RvcmVkaVNDU0lWb2x1bWVzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVUYXBlQXJjaGl2ZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVRhcGVBcmNoaXZlcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlVGFwZVJlY292ZXJ5UG9pbnRzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVUYXBlUmVjb3ZlcnlQb2ludHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVRhcGVzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVUYXBlcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlVlRMRGV2aWNlc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVlRMRGV2aWNlcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RHYXRld2F5c0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RHYXRld2F5cyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RMb2NhbERpc2tzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdExvY2FsRGlza3Mgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0Vm9sdW1lUmVjb3ZlcnlQb2ludHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0Vm9sdW1lUmVjb3ZlcnlQb2ludHMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0Vm9sdW1lc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RWb2x1bWVzIG9wZXJhdGlvbgogKgogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9ndWlkZS9sYXRlc3Qvc2VydmljZS1zdG9yYWdlZ2F0ZXdheS5odG1sIFVzZXIgZ3VpZGUKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5TdG9yYWdlR2F0ZXdheS5TdG9yYWdlR2F0ZXdheUNsaWVudC5odG1sIEFQSSBkb2NzCiAqLwpjbGFzcyBTdG9yYWdlR2F0ZXdheUNsaWVudCBleHRlbmRzIEFic3RyYWN0Q2xpZW50CnsKICAgIGNvbnN0IExBVEVTVF9BUElfVkVSU0lPTiA9ICcyMDEzLTA2LTMwJzsKCiAgICAvKioKICAgICAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBBV1MgU3RvcmFnZSBHYXRld2F5IGNsaWVudCB1c2luZyBhbiBhcnJheSBvZiBjb25maWd1cmF0aW9uIG9wdGlvbnMuCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gJGNvbmZpZyBDbGllbnQgY29uZmlndXJhdGlvbiBkYXRhCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAc2VlIFxBd3NcQ29tbW9uXENsaWVudFxEZWZhdWx0Q2xpZW50IGZvciBhIGxpc3Qgb2YgYXZhaWxhYmxlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoJGNvbmZpZyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuIENsaWVudEJ1aWxkZXI6OmZhY3RvcnkoX19OQU1FU1BBQ0VfXykKICAgICAgICAgICAgLT5zZXRDb25maWcoJGNvbmZpZykKICAgICAgICAgICAgLT5zZXRDb25maWdEZWZhdWx0cyhhcnJheSgKICAgICAgICAgICAgICAgIE9wdGlvbnM6OlZFUlNJT04gICAgICAgICAgICAgPT4gc2VsZjo6TEFURVNUX0FQSV9WRVJTSU9OLAogICAgICAgICAgICAgICAgT3B0aW9uczo6U0VSVklDRV9ERVNDUklQVElPTiA9PiBfX0RJUl9fIC4gJy9SZXNvdXJjZXMvc3RvcmFnZWdhdGV3YXktJXMucGhwJwogICAgICAgICAgICApKQogICAgICAgICAgICAtPnNldEV4Y2VwdGlvblBhcnNlcihuZXcgSnNvblF1ZXJ5RXhjZXB0aW9uUGFyc2VyKCkpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/ExpiredTokenException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgd2ViIGlkZW50aXR5IHRva2VuIHRoYXQgd2FzIHBhc3NlZCBpcyBleHBpcmVkIG9yIGlzIG5vdCB2YWxpZC4gR2V0IGEgbmV3IGlkZW50aXR5IHRva2VuIGZyb20gdGhlIGlkZW50aXR5IHByb3ZpZGVyIGFuZCB0aGVuIHJldHJ5IHRoZSByZXF1ZXN0LgogKi8KY2xhc3MgRXhwaXJlZFRva2VuRXhjZXB0aW9uIGV4dGVuZHMgU3RzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/IDPCommunicationErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCBjb3VsZCBub3QgYmUgZnVsZmlsbGVkIGJlY2F1c2UgdGhlIG5vbi1BV1MgaWRlbnRpdHkgcHJvdmlkZXIgKElEUCkgdGhhdCB3YXMgYXNrZWQgdG8gdmVyaWZ5IHRoZSBpbmNvbWluZyBpZGVudGl0eSB0b2tlbiBjb3VsZCBub3QgYmUgcmVhY2hlZC4gVGhpcyBpcyBvZnRlbiBhIHRyYW5zaWVudCBlcnJvciBjYXVzZWQgYnkgbmV0d29yayBjb25kaXRpb25zLiBSZXRyeSB0aGUgcmVxdWVzdCBhIGxpbWl0ZWQgbnVtYmVyIG9mIHRpbWVzIHNvIHRoYXQgeW91IGRvbid0IGV4Y2VlZCB0aGUgcmVxdWVzdCByYXRlLiBJZiB0aGUgZXJyb3IgcGVyc2lzdHMsIHRoZSBub24tQVdTIGlkZW50aXR5IHByb3ZpZGVyIG1pZ2h0IGJlIGRvd24gb3Igbm90IHJlc3BvbmRpbmcuCiAqLwpjbGFzcyBJRFBDb21tdW5pY2F0aW9uRXJyb3JFeGNlcHRpb24gZXh0ZW5kcyBTdHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/IDPRejectedClaimException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgaWRlbnRpdHkgcHJvdmlkZXIgKElkUCkgcmVwb3J0ZWQgdGhhdCBhdXRoZW50aWNhdGlvbiBmYWlsZWQuIFRoaXMgbWlnaHQgYmUgYmVjYXVzZSB0aGUgY2xhaW0gaXMgaW52YWxpZC4gSWYgdGhpcyBlcnJvciBpcyByZXR1cm5lZCBmb3IgdGhlIEFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHkgb3BlcmF0aW9uLCBpdCBjYW4gYWxzbyBtZWFuIHRoYXQgdGhlIGNsYWltIGhhcyBleHBpcmVkIG9yIGhhcyBiZWVuIGV4cGxpY2l0bHkgcmV2b2tlZC4KICovCmNsYXNzIElEUFJlamVjdGVkQ2xhaW1FeGNlcHRpb24gZXh0ZW5kcyBTdHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/IncompleteSignatureException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCBzaWduYXR1cmUgZG9lcyBub3QgY29uZm9ybSB0byBBV1Mgc3RhbmRhcmRzLgogKi8KY2xhc3MgSW5jb21wbGV0ZVNpZ25hdHVyZUV4Y2VwdGlvbiBleHRlbmRzIFN0c0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/InternalFailureException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCBwcm9jZXNzaW5nIGhhcyBmYWlsZWQgZHVlIHRvIHNvbWUgdW5rbm93biBlcnJvciwgZXhjZXB0aW9uIG9yIGZhaWx1cmUuCiAqLwpjbGFzcyBJbnRlcm5hbEZhaWx1cmVFeGNlcHRpb24gZXh0ZW5kcyBTdHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/InvalidActionException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgYWN0aW9uIG9yIG9wZXJhdGlvbiByZXF1ZXN0ZWQgaXMgaW52YWxpZC4KICovCmNsYXNzIEludmFsaWRBY3Rpb25FeGNlcHRpb24gZXh0ZW5kcyBTdHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/InvalidAuthorizationMessageException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgZXJyb3IgcmV0dXJuZWQgaWYgdGhlIG1lc3NhZ2UgcGFzc2VkIHRvIERlY29kZUF1dGhvcml6YXRpb25NZXNzYWdlIHdhcyBpbnZhbGlkLiBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIHRva2VuIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVycywgc3VjaCBhcyBsaW5lYnJlYWtzLgogKi8KY2xhc3MgSW52YWxpZEF1dGhvcml6YXRpb25NZXNzYWdlRXhjZXB0aW9uIGV4dGVuZHMgU3RzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/InvalidClientTokenIdException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgWC41MDkgY2VydGlmaWNhdGUgb3IgQVdTIEFjY2VzcyBLZXkgSUQgcHJvdmlkZWQgZG9lcyBub3QgZXhpc3QgaW4gb3VyIHJlY29yZHMuCiAqLwpjbGFzcyBJbnZhbGlkQ2xpZW50VG9rZW5JZEV4Y2VwdGlvbiBleHRlbmRzIFN0c0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/InvalidIdentityTokenException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgd2ViIGlkZW50aXR5IHRva2VuIHRoYXQgd2FzIHBhc3NlZCBjb3VsZCBub3QgYmUgdmFsaWRhdGVkIGJ5IEFXUy4gR2V0IGEgbmV3IGlkZW50aXR5IHRva2VuIGZyb20gdGhlIGlkZW50aXR5IHByb3ZpZGVyIGFuZCB0aGVuIHJldHJ5IHRoZSByZXF1ZXN0LgogKi8KY2xhc3MgSW52YWxpZElkZW50aXR5VG9rZW5FeGNlcHRpb24gZXh0ZW5kcyBTdHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/InvalidParameterCombinationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBQYXJhbWV0ZXJzIHRoYXQgbXVzdCBub3QgYmUgdXNlZCB0b2dldGhlciB3ZXJlIHVzZWQgdG9nZXRoZXIuCiAqLwpjbGFzcyBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FeGNlcHRpb24gZXh0ZW5kcyBTdHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/InvalidParameterValueException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBBIGJhZCBvciBvdXQtb2YtcmFuZ2UgdmFsdWUgd2FzIHN1cHBsaWVkIGZvciB0aGUgaW5wdXQgcGFyYW1ldGVyLgogKi8KY2xhc3MgSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uIGV4dGVuZHMgU3RzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/InvalidQueryParameterException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBBV1MgcXVlcnkgc3RyaW5nIGlzIG1hbGZvcm1lZCwgZG9lcyBub3QgYWRoZXJlIHRvIEFXUyBzdGFuZGFyZHMuCiAqLwpjbGFzcyBJbnZhbGlkUXVlcnlQYXJhbWV0ZXJFeGNlcHRpb24gZXh0ZW5kcyBTdHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/MalformedPolicyDocumentException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcG9saWN5IGRvY3VtZW50IHdhcyBtYWxmb3JtZWQuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgc3BlY2lmaWMgZXJyb3IuCiAqLwpjbGFzcyBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEV4Y2VwdGlvbiBleHRlbmRzIFN0c0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/MalformedQueryStringException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcXVlcnkgc3RyaW5nIGlzIG1hbGZvcm1lZC4KICovCmNsYXNzIE1hbGZvcm1lZFF1ZXJ5U3RyaW5nRXhjZXB0aW9uIGV4dGVuZHMgU3RzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/MissingActionException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCBpcyBtaXNzaW5nIGFuIGFjdGlvbiBvciBvcGVyYXRpb24gcGFyYW1ldGVyLgogKi8KY2xhc3MgTWlzc2luZ0FjdGlvbkV4Y2VwdGlvbiBleHRlbmRzIFN0c0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/MissingAuthenticationTokenException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXF1ZXN0IG11c3QgY29udGFpbiBlaXRoZXIgYSB2YWxpZCAocmVnaXN0ZXJlZCkgQVdTIEFjY2VzcyBLZXkgSUQgb3IgWC41MDkgY2VydGlmaWNhdGUuCiAqLwpjbGFzcyBNaXNzaW5nQXV0aGVudGljYXRpb25Ub2tlbkV4Y2VwdGlvbiBleHRlbmRzIFN0c0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/MissingParameterException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBBbiBpbnB1dCBwYXJhbWV0ZXIgdGhhdCBpcyBtYW5kYXRvcnkgZm9yIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QgaXMgbm90IHN1cHBsaWVkLgogKi8KY2xhc3MgTWlzc2luZ1BhcmFtZXRlckV4Y2VwdGlvbiBleHRlbmRzIFN0c0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/OptInRequiredException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgQVdTIEFjY2VzcyBLZXkgSUQgbmVlZHMgYSBzdWJzY3JpcHRpb24gZm9yIHRoZSBzZXJ2aWNlLgogKi8KY2xhc3MgT3B0SW5SZXF1aXJlZEV4Y2VwdGlvbiBleHRlbmRzIFN0c0V4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/PackedPolicyTooLargeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcG9saWN5IGRvY3VtZW50IHdhcyB0b28gbGFyZ2UuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyBob3cgYmlnIHRoZSBwb2xpY3kgZG9jdW1lbnQgaXMsIGluIHBhY2tlZCBmb3JtLCBhcyBhIHBlcmNlbnRhZ2Ugb2Ygd2hhdCB0aGUgQVBJIGFsbG93cy4KICovCmNsYXNzIFBhY2tlZFBvbGljeVRvb0xhcmdlRXhjZXB0aW9uIGV4dGVuZHMgU3RzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/RequestExpiredException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXF1ZXN0IGlzIHBhc3QgZXhwaXJlcyBkYXRlIG9yIHRoZSByZXF1ZXN0IGRhdGUgKGVpdGhlciB3aXRoIDE1IG1pbnV0ZSBwYWRkaW5nKSwKICogb3IgdGhlIHJlcXVlc3QgZGF0ZSBvY2N1cnMgbW9yZSB0aGFuIDE1IG1pbnV0ZXMgaW4gdGhlIGZ1dHVyZS4KICovCmNsYXNzIFJlcXVlc3RFeHBpcmVkRXhjZXB0aW9uIGV4dGVuZHMgU3RzRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/ServiceUnavailableException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBUaGUgcmVxdWVzdCBoYXMgZmFpbGVkIGR1ZSB0byBhIHRlbXBvcmFyeSBmYWlsdXJlIG9mIHRoZSBzZXJ2ZXIuCiAqLwpjbGFzcyBTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb24gZXh0ZW5kcyBTdHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/StsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb247CgovKioKICogRGVmYXVsdCBzZXJ2aWNlIGV4Y2VwdGlvbiBjbGFzcwogKi8KY2xhc3MgU3RzRXhjZXB0aW9uIGV4dGVuZHMgU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Exception/ThrottlingException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXF1ZXN0IHdhcyBkZW5pZWQgZHVlIHRvIHJlcXVlc3QgdGhyb3R0bGluZy4KICovCmNsYXNzIFRocm90dGxpbmdFeGNlcHRpb24gZXh0ZW5kcyBTdHNFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/Resources/sts-2011-06-15.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTEtMDYtMTUnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnc3RzJywKICAgICdzZXJ2aWNlRnVsbE5hbWUnID0+ICdBV1MgU2VjdXJpdHkgVG9rZW4gU2VydmljZScsCiAgICAnc2VydmljZUFiYnJldmlhdGlvbicgPT4gJ0FXUyBTVFMnLAogICAgJ3NlcnZpY2VUeXBlJyA9PiAncXVlcnknLAogICAgJ2dsb2JhbEVuZHBvaW50JyA9PiAnc3RzLmFtYXpvbmF3cy5jb20nLAogICAgJ3Jlc3VsdFdyYXBwZWQnID0+IHRydWUsCiAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3Y0JywKICAgICduYW1lc3BhY2UnID0+ICdTdHMnLAogICAgJ3JlZ2lvbnMnID0+IGFycmF5KAogICAgICAgICd1cy1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc3RzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzdHMuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtd2VzdC0yJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3N0cy5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdldS13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc3RzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLW5vcnRoZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3N0cy5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzdHMuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc3RzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3NhLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzdHMuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAndXMtZ292LXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzdHMudXMtZ292LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgKSwKICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAnQXNzdW1lUm9sZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQXNzdW1lUm9sZVJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQXNzdW1lUm9sZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSb2xlQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMjAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjA0OCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUm9sZVNlc3Npb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMiwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIwNDgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0R1cmF0aW9uU2Vjb25kcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiA5MDAsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDM2MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0V4dGVybmFsSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDIsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gOTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIHRoZSBwb2xpY3kgZG9jdW1lbnQgd2FzIG1hbGZvcm1lZC4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIHRoZSBzcGVjaWZpYyBlcnJvci4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ01hbGZvcm1lZFBvbGljeURvY3VtZW50RXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgdGhlIHBvbGljeSBkb2N1bWVudCB3YXMgdG9vIGxhcmdlLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgaG93IGJpZyB0aGUgcG9saWN5IGRvY3VtZW50IGlzLCBpbiBwYWNrZWQgZm9ybSwgYXMgYSBwZXJjZW50YWdlIG9mIHdoYXQgdGhlIEFQSSBhbGxvd3MuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdQYWNrZWRQb2xpY3lUb29MYXJnZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Fzc3VtZVJvbGVXaXRoU0FNTCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQXNzdW1lUm9sZVdpdGhTQU1MUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBc3N1bWVSb2xlV2l0aFNBTUwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTA2LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUm9sZUFybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDIwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIwNDgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ByaW5jaXBhbEFybicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDIwLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIwNDgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NBTUxBc3NlcnRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiA0LAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDUwMDAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjA0OCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHVyYXRpb25TZWNvbmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDkwMCwKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTI5NjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcG9saWN5IGRvY3VtZW50IHdhcyBtYWxmb3JtZWQuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgc3BlY2lmaWMgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIHRoZSBwb2xpY3kgZG9jdW1lbnQgd2FzIHRvbyBsYXJnZS4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIGhvdyBiaWcgdGhlIHBvbGljeSBkb2N1bWVudCBpcywgaW4gcGFja2VkIGZvcm0sIGFzIGEgcGVyY2VudGFnZSBvZiB3aGF0IHRoZSBBUEkgYWxsb3dzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUGFja2VkUG9saWN5VG9vTGFyZ2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgaWRlbnRpdHkgcHJvdmlkZXIgKElkUCkgcmVwb3J0ZWQgdGhhdCBhdXRoZW50aWNhdGlvbiBmYWlsZWQuIFRoaXMgbWlnaHQgYmUgYmVjYXVzZSB0aGUgY2xhaW0gaXMgaW52YWxpZC4gSWYgdGhpcyBlcnJvciBpcyByZXR1cm5lZCBmb3IgdGhlIEFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHkgb3BlcmF0aW9uLCBpdCBjYW4gYWxzbyBtZWFuIHRoYXQgdGhlIGNsYWltIGhhcyBleHBpcmVkIG9yIGhhcyBiZWVuIGV4cGxpY2l0bHkgcmV2b2tlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0lEUFJlamVjdGVkQ2xhaW1FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgd2ViIGlkZW50aXR5IHRva2VuIHRoYXQgd2FzIHBhc3NlZCBjb3VsZCBub3QgYmUgdmFsaWRhdGVkIGJ5IEFXUy4gR2V0IGEgbmV3IGlkZW50aXR5IHRva2VuIGZyb20gdGhlIGlkZW50aXR5IHByb3ZpZGVyIGFuZCB0aGVuIHJldHJ5IHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZElkZW50aXR5VG9rZW5FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgd2ViIGlkZW50aXR5IHRva2VuIHRoYXQgd2FzIHBhc3NlZCBpcyBleHBpcmVkIG9yIGlzIG5vdCB2YWxpZC4gR2V0IGEgbmV3IGlkZW50aXR5IHRva2VuIGZyb20gdGhlIGlkZW50aXR5IHByb3ZpZGVyIGFuZCB0aGVuIHJldHJ5IHRoZSByZXF1ZXN0LicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRXhwaXJlZFRva2VuRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQXNzdW1lUm9sZVdpdGhXZWJJZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXFF1ZXJ5Q29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQXNzdW1lUm9sZVdpdGhXZWJJZGVudGl0eVJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQXNzdW1lUm9sZVdpdGhXZWJJZGVudGl0eScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdSb2xlQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMjAsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjA0OCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUm9sZVNlc3Npb25OYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMiwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnV2ViSWRlbnRpdHlUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDQsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjA0OCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJvdmlkZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNCwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMDQ4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjA0OCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRHVyYXRpb25TZWNvbmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbmltdW0nID0+IDkwMCwKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTI5NjAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcG9saWN5IGRvY3VtZW50IHdhcyBtYWxmb3JtZWQuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyB0aGUgc3BlY2lmaWMgZXJyb3IuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1RoZSByZXF1ZXN0IHdhcyByZWplY3RlZCBiZWNhdXNlIHRoZSBwb2xpY3kgZG9jdW1lbnQgd2FzIHRvbyBsYXJnZS4gVGhlIGVycm9yIG1lc3NhZ2UgZGVzY3JpYmVzIGhvdyBiaWcgdGhlIHBvbGljeSBkb2N1bWVudCBpcywgaW4gcGFja2VkIGZvcm0sIGFzIGEgcGVyY2VudGFnZSBvZiB3aGF0IHRoZSBBUEkgYWxsb3dzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnUGFja2VkUG9saWN5VG9vTGFyZ2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgaWRlbnRpdHkgcHJvdmlkZXIgKElkUCkgcmVwb3J0ZWQgdGhhdCBhdXRoZW50aWNhdGlvbiBmYWlsZWQuIFRoaXMgbWlnaHQgYmUgYmVjYXVzZSB0aGUgY2xhaW0gaXMgaW52YWxpZC4gSWYgdGhpcyBlcnJvciBpcyByZXR1cm5lZCBmb3IgdGhlIEFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHkgb3BlcmF0aW9uLCBpdCBjYW4gYWxzbyBtZWFuIHRoYXQgdGhlIGNsYWltIGhhcyBleHBpcmVkIG9yIGhhcyBiZWVuIGV4cGxpY2l0bHkgcmV2b2tlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0lEUFJlamVjdGVkQ2xhaW1FeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCBjb3VsZCBub3QgYmUgZnVsZmlsbGVkIGJlY2F1c2UgdGhlIG5vbi1BV1MgaWRlbnRpdHkgcHJvdmlkZXIgKElEUCkgdGhhdCB3YXMgYXNrZWQgdG8gdmVyaWZ5IHRoZSBpbmNvbWluZyBpZGVudGl0eSB0b2tlbiBjb3VsZCBub3QgYmUgcmVhY2hlZC4gVGhpcyBpcyBvZnRlbiBhIHRyYW5zaWVudCBlcnJvciBjYXVzZWQgYnkgbmV0d29yayBjb25kaXRpb25zLiBSZXRyeSB0aGUgcmVxdWVzdCBhIGxpbWl0ZWQgbnVtYmVyIG9mIHRpbWVzIHNvIHRoYXQgeW91IGRvblwndCBleGNlZWQgdGhlIHJlcXVlc3QgcmF0ZS4gSWYgdGhlIGVycm9yIHBlcnNpc3RzLCB0aGUgbm9uLUFXUyBpZGVudGl0eSBwcm92aWRlciBtaWdodCBiZSBkb3duIG9yIG5vdCByZXNwb25kaW5nLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSURQQ29tbXVuaWNhdGlvbkVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHdlYiBpZGVudGl0eSB0b2tlbiB0aGF0IHdhcyBwYXNzZWQgY291bGQgbm90IGJlIHZhbGlkYXRlZCBieSBBV1MuIEdldCBhIG5ldyBpZGVudGl0eSB0b2tlbiBmcm9tIHRoZSBpZGVudGl0eSBwcm92aWRlciBhbmQgdGhlbiByZXRyeSB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludmFsaWRJZGVudGl0eVRva2VuRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHdlYiBpZGVudGl0eSB0b2tlbiB0aGF0IHdhcyBwYXNzZWQgaXMgZXhwaXJlZCBvciBpcyBub3QgdmFsaWQuIEdldCBhIG5ldyBpZGVudGl0eSB0b2tlbiBmcm9tIHRoZSBpZGVudGl0eSBwcm92aWRlciBhbmQgdGhlbiByZXRyeSB0aGUgcmVxdWVzdC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0V4cGlyZWRUb2tlbkV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlY29kZUF1dGhvcml6YXRpb25NZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZWNvZGVBdXRob3JpemF0aW9uTWVzc2FnZVJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnRGVjb2RlQXV0aG9yaXphdGlvbk1lc3NhZ2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcyMDExLTA2LTE1JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnRW5jb2RlZE1lc3NhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgZXJyb3IgcmV0dXJuZWQgaWYgdGhlIG1lc3NhZ2UgcGFzc2VkIHRvIERlY29kZUF1dGhvcml6YXRpb25NZXNzYWdlIHdhcyBpbnZhbGlkLiBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIHRva2VuIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVycywgc3VjaCBhcyBsaW5lYnJlYWtzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW52YWxpZEF1dGhvcml6YXRpb25NZXNzYWdlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0RmVkZXJhdGlvblRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRGZWRlcmF0aW9uVG9rZW5SZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0dldEZlZGVyYXRpb25Ub2tlbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMiwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIwNDgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0R1cmF0aW9uU2Vjb25kcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICdtaW5pbXVtJyA9PiA5MDAsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEyOTYwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnVGhlIHJlcXVlc3Qgd2FzIHJlamVjdGVkIGJlY2F1c2UgdGhlIHBvbGljeSBkb2N1bWVudCB3YXMgbWFsZm9ybWVkLiBUaGUgZXJyb3IgbWVzc2FnZSBkZXNjcmliZXMgdGhlIHNwZWNpZmljIGVycm9yLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdUaGUgcmVxdWVzdCB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcG9saWN5IGRvY3VtZW50IHdhcyB0b28gbGFyZ2UuIFRoZSBlcnJvciBtZXNzYWdlIGRlc2NyaWJlcyBob3cgYmlnIHRoZSBwb2xpY3kgZG9jdW1lbnQgaXMsIGluIHBhY2tlZCBmb3JtLCBhcyBhIHBlcmNlbnRhZ2Ugb2Ygd2hhdCB0aGUgQVBJIGFsbG93cy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1BhY2tlZFBvbGljeVRvb0xhcmdlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0U2Vzc2lvblRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcUXVlcnlDb21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdHZXRTZXNzaW9uVG9rZW5SZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0dldFNlc3Npb25Ub2tlbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJzIwMTEtMDYtMTUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdEdXJhdGlvblNlY29uZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gOTAwLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMjk2MDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1NlcmlhbE51bWJlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gOSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Rva2VuQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gNiwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICdBc3N1bWVSb2xlUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NyZWRlbnRpYWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBY2Nlc3NLZXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTZWNyZXRBY2Nlc3NLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2Vzc2lvblRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0V4cGlyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Fzc3VtZWRSb2xlVXNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXNzdW1lZFJvbGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhY2tlZFBvbGljeVNpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQXNzdW1lUm9sZVdpdGhTQU1MUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NyZWRlbnRpYWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBY2Nlc3NLZXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTZWNyZXRBY2Nlc3NLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2Vzc2lvblRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0V4cGlyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0Fzc3VtZWRSb2xlVXNlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXNzdW1lZFJvbGVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhY2tlZFBvbGljeVNpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQXNzdW1lUm9sZVdpdGhXZWJJZGVudGl0eVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDcmVkZW50aWFscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQWNjZXNzS2V5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2VjcmV0QWNjZXNzS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ1Nlc3Npb25Ub2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdFeHBpcmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdTdWJqZWN0RnJvbVdlYklkZW50aXR5VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBc3N1bWVkUm9sZVVzZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0Fzc3VtZWRSb2xlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnQXJuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQYWNrZWRQb2xpY3lTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlY29kZUF1dGhvcml6YXRpb25NZXNzYWdlUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0RlY29kZWRNZXNzYWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0RmVkZXJhdGlvblRva2VuUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NyZWRlbnRpYWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBY2Nlc3NLZXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTZWNyZXRBY2Nlc3NLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2Vzc2lvblRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0V4cGlyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZlZGVyYXRlZFVzZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0ZlZGVyYXRlZFVzZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdBcm4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1BhY2tlZFBvbGljeVNpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0U2Vzc2lvblRva2VuUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NyZWRlbnRpYWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBY2Nlc3NLZXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdTZWNyZXRBY2Nlc3NLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnU2Vzc2lvblRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0V4cGlyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Sts/StsClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3RzOwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50Owp1c2UgQXdzXENvbW1vblxDbGllbnRcQ2xpZW50QnVpbGRlcjsKdXNlIEF3c1xDb21tb25cQ2xpZW50XFVuc2lnbmVkT3BlcmF0aW9uc0xpc3RlbmVyOwp1c2UgQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFsczsKdXNlIEF3c1xDb21tb25cRW51bVxDbGllbnRPcHRpb25zIGFzIE9wdGlvbnM7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVMaXN0ZW5lcjsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQWJzdHJhY3RDb21tYW5kOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CnVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnREaXNwYXRjaGVyOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50OwoKLyoqCiAqIENsaWVudCB0byBpbnRlcmFjdCB3aXRoIEFXUyBTZWN1cml0eSBUb2tlbiBTZXJ2aWNlCiAqCiAqIEBtZXRob2QgTW9kZWwgYXNzdW1lUm9sZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdHMgQXNzdW1lUm9sZX0KICogQG1ldGhvZCBNb2RlbCBhc3N1bWVSb2xlV2l0aFNBTUwoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RzIEFzc3VtZVJvbGVXaXRoU0FNTH0KICogQG1ldGhvZCBNb2RlbCBhc3N1bWVSb2xlV2l0aFdlYklkZW50aXR5KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0cyBBc3N1bWVSb2xlV2l0aFdlYklkZW50aXR5fQogKiBAbWV0aG9kIE1vZGVsIGRlY29kZUF1dGhvcml6YXRpb25NZXNzYWdlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN0cyBEZWNvZGVBdXRob3JpemF0aW9uTWVzc2FnZX0KICogQG1ldGhvZCBNb2RlbCBnZXRGZWRlcmF0aW9uVG9rZW4oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RzIEdldEZlZGVyYXRpb25Ub2tlbn0KICogQG1ldGhvZCBNb2RlbCBnZXRTZXNzaW9uVG9rZW4oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3RzIEdldFNlc3Npb25Ub2tlbn0KICoKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvZ3VpZGUvbGF0ZXN0L3NlcnZpY2Utc3RzLmh0bWwgVXNlciBndWlkZQogKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3Mtc2RrLXBocC9sYXRlc3QvY2xhc3MtQXdzLlN0cy5TdHNDbGllbnQuaHRtbCBBUEkgZG9jcwogKi8KY2xhc3MgU3RzQ2xpZW50IGV4dGVuZHMgQWJzdHJhY3RDbGllbnQKewogICAgY29uc3QgTEFURVNUX0FQSV9WRVJTSU9OID0gJzIwMTEtMDYtMTUnOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEFtYXpvbiBTVFMgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9uczoKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAc2VlIFxBd3NcQ29tbW9uXENsaWVudFxEZWZhdWx0Q2xpZW50IGZvciBhIGxpc3Qgb2YgYXZhaWxhYmxlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoJGNvbmZpZyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgLy8gQWx3YXlzIG5lZWQgbG9uZyB0ZXJtIGNyZWRlbnRpYWxzCiAgICAgICAgaWYgKCFpc3NldCgkY29uZmlnW09wdGlvbnM6OkNSRURFTlRJQUxTXSkgJiYgaXNzZXQoJGNvbmZpZ1tPcHRpb25zOjpUT0tFTl0pKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ1lvdSBtdXN0IHVzZSBsb25nLXRlcm0gY3JlZGVudGlhbHMgd2l0aCBBbWF6b24gU1RTJyk7CiAgICAgICAgfQoKICAgICAgICAvLyBDb25zdHJ1Y3QgdGhlIFNUUyBjbGllbnQgd2l0aCB0aGUgY2xpZW50IGJ1aWxkZXIKICAgICAgICAkY2xpZW50ID0gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9zdHMtJXMucGhwJwogICAgICAgICAgICApKQogICAgICAgICAgICAtPmJ1aWxkKCk7CgogICAgICAgIC8vIEF0dGFjaCBhIGxpc3RlbmVyIHRvIHByZXZlbnQgQXNzdW1lUm9sZVdpdGhXZWJJZGVudGl0eSByZXF1ZXN0cyBmcm9tIGJlaW5nIHNpZ25lZAogICAgICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcignY29tbWFuZC5iZWZvcmVfc2VuZCcsIGZ1bmN0aW9uKEV2ZW50ICRldmVudCkgewogICAgICAgICAgICAvKiogQHZhciBBYnN0cmFjdENvbW1hbmQgJGNvbW1hbmQgKi8KICAgICAgICAgICAgJGNvbW1hbmQgPSAkZXZlbnRbJ2NvbW1hbmQnXTsKICAgICAgICAgICAgaWYgKCRjb21tYW5kLT5nZXROYW1lKCkgPT09ICdBc3N1bWVSb2xlV2l0aFdlYklkZW50aXR5JykgewogICAgICAgICAgICAgICAgLyoqIEB2YXIgRXZlbnREaXNwYXRjaGVyICRkaXNwYXRjaGVyICovCiAgICAgICAgICAgICAgICAkZGlzcGF0Y2hlciA9ICRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldEV2ZW50RGlzcGF0Y2hlcigpOwogICAgICAgICAgICAgICAgZm9yZWFjaCAoJGRpc3BhdGNoZXItPmdldExpc3RlbmVycygncmVxdWVzdC5iZWZvcmVfc2VuZCcpIGFzICRsaXN0ZW5lcikgewogICAgICAgICAgICAgICAgICAgIGlmIChpc19hcnJheSgkbGlzdGVuZXIpICYmICRsaXN0ZW5lclswXSBpbnN0YW5jZW9mIFNpZ25hdHVyZUxpc3RlbmVyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwYXRjaGVyLT5yZW1vdmVMaXN0ZW5lcigncmVxdWVzdC5iZWZvcmVfc2VuZCcsICRsaXN0ZW5lcik7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gJGNsaWVudDsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZXMgYSBjcmVkZW50aWFscyBvYmplY3QgZnJvbSB0aGUgY3JlZGVudGlhbCBkYXRhIHJldHVybiBieSBhbiBTVFMgb3BlcmF0aW9uCiAgICAgKgogICAgICogQHBhcmFtIE1vZGVsICRyZXN1bHQgVGhlIHJlc3VsdCBvZiBhbiBTVFMgb3BlcmF0aW9uCiAgICAgKgogICAgICogQHJldHVybiBDcmVkZW50aWFscwogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaWYgdGhlIHJlc3VsdCBkb2VzIG5vdCBjb250YWluIGNyZWRlbnRpYWwgZGF0YQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY3JlYXRlQ3JlZGVudGlhbHMoTW9kZWwgJHJlc3VsdCkKICAgIHsKICAgICAgICBpZiAoISRyZXN1bHQtPmhhc0tleSgnQ3JlZGVudGlhbHMnKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdUaGUgbW9kZWxlZCByZXN1bHQgcHJvdmlkZWQgY29udGFpbmVkIG5vIGNyZWRlbnRpYWxzLicpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG5ldyBDcmVkZW50aWFscygKICAgICAgICAgICAgJHJlc3VsdC0+Z2V0UGF0aCgnQ3JlZGVudGlhbHMvQWNjZXNzS2V5SWQnKSwKICAgICAgICAgICAgJHJlc3VsdC0+Z2V0UGF0aCgnQ3JlZGVudGlhbHMvU2VjcmV0QWNjZXNzS2V5JyksCiAgICAgICAgICAgICRyZXN1bHQtPmdldFBhdGgoJ0NyZWRlbnRpYWxzL1Nlc3Npb25Ub2tlbicpLAogICAgICAgICAgICAkcmVzdWx0LT5nZXRQYXRoKCdDcmVkZW50aWFscy9FeHBpcmF0aW9uJykKICAgICAgICApOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Support/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Support/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Support/Exception/CaseCreationLimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3VwcG9ydFxFeGNlcHRpb247CgovKioKICogUmV0dXJuZWQgd2hlbiB5b3UgaGF2ZSBleGNlZWRlZCB0aGUgY2FzZSBjcmVhdGlvbiBsaW1pdCBmb3IgYW4gYWNjb3VudC4KICovCmNsYXNzIENhc2VDcmVhdGlvbkxpbWl0RXhjZWVkZWRFeGNlcHRpb24gZXh0ZW5kcyBTdXBwb3J0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Support/Exception/CaseIdNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3VwcG9ydFxFeGNlcHRpb247CgovKioKICogUmV0dXJuZWQgd2hlbiB0aGUgQ2FzZUlkIHJlcXVlc3RlZCBjb3VsZCBub3QgYmUgbG9jYXRlZC4KICovCmNsYXNzIENhc2VJZE5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgU3VwcG9ydEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Support/Exception/InternalServerErrorException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3VwcG9ydFxFeGNlcHRpb247CgovKioKICogUmV0dXJucyBIVFRQIGVycm9yIDUwMC4KICovCmNsYXNzIEludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24gZXh0ZW5kcyBTdXBwb3J0RXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Support/Exception/SupportException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3VwcG9ydFxFeGNlcHRpb247Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uOwoKLyoqCiAqIERlZmF1bHQgc2VydmljZSBleGNlcHRpb24gY2xhc3MKICovCmNsYXNzIFN1cHBvcnRFeGNlcHRpb24gZXh0ZW5kcyBTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Support/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Support/Resources/support-2013-04-15.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTMtMDQtMTUnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnc3VwcG9ydCcsCiAgICAnc2VydmljZUZ1bGxOYW1lJyA9PiAnQVdTIFN1cHBvcnQnLAogICAgJ3NlcnZpY2VUeXBlJyA9PiAnanNvbicsCiAgICAnanNvblZlcnNpb24nID0+ICcxLjEnLAogICAgJ3RhcmdldFByZWZpeCcgPT4gJ0FXU1N1cHBvcnRfMjAxMzA0MTUuJywKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjQnLAogICAgJ25hbWVzcGFjZScgPT4gJ1N1cHBvcnQnLAogICAgJ3JlZ2lvbnMnID0+IGFycmF5KAogICAgICAgICd1cy1lYXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc3VwcG9ydC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICksCiAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ0FkZENvbW11bmljYXRpb25Ub0Nhc2UnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQWRkQ29tbXVuaWNhdGlvblRvQ2FzZVJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBV1NTdXBwb3J0XzIwMTMwNDE1LkFkZENvbW11bmljYXRpb25Ub0Nhc2UnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjYXNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbXVuaWNhdGlvbkJvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA4MDAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjY0VtYWlsQWRkcmVzc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDEwLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2NFbWFpbEFkZHJlc3MnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJucyBIVFRQIGVycm9yIDUwMC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBDYXNlSWQgcmVxdWVzdGVkIGNvdWxkIG5vdCBiZSBsb2NhdGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FzZUlkTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDcmVhdGVDYXNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0NyZWF0ZUNhc2VSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQVdTU3VwcG9ydF8yMDEzMDQxNS5DcmVhdGVDYXNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnc3ViamVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnc2VydmljZUNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3NldmVyaXR5Q29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjYXRlZ29yeUNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW11bmljYXRpb25Cb2R5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gODAwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY2NFbWFpbEFkZHJlc3NlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiAxMCwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NjRW1haWxBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2xhbmd1YWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2lzc3VlVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5zIEhUVFAgZXJyb3IgNTAwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4geW91IGhhdmUgZXhjZWVkZWQgdGhlIGNhc2UgY3JlYXRpb24gbGltaXQgZm9yIGFuIGFjY291bnQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdDYXNlQ3JlYXRpb25MaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVDYXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZUNhc2VzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0FXU1N1cHBvcnRfMjAxMzA0MTUuRGVzY3JpYmVDYXNlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2Nhc2VJZExpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhJdGVtcycgPT4gMTAwLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2FzZUlkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2Rpc3BsYXlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdhZnRlclRpbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnYmVmb3JlVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdpbmNsdWRlUmVzb2x2ZWRDYXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICduZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbWF4UmVzdWx0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMTAsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbGFuZ3VhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJucyBIVFRQIGVycm9yIDUwMC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBDYXNlSWQgcmVxdWVzdGVkIGNvdWxkIG5vdCBiZSBsb2NhdGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FzZUlkTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNvbW11bmljYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlQ29tbXVuaWNhdGlvbnNSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQVdTU3VwcG9ydF8yMDEzMDQxNS5EZXNjcmliZUNvbW11bmljYXRpb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY2FzZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdiZWZvcmVUaW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2FmdGVyVGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICduZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbWF4UmVzdWx0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluaW11bScgPT4gMTAsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJucyBIVFRQIGVycm9yIDUwMC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBDYXNlSWQgcmVxdWVzdGVkIGNvdWxkIG5vdCBiZSBsb2NhdGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQ2FzZUlkTm90Rm91bmRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVNlcnZpY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlU2VydmljZXNSZXNwb25zZScsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnQVdTU3VwcG9ydF8yMDEzMDQxNS5EZXNjcmliZVNlcnZpY2VzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnc2VydmljZUNvZGVMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDEwMCwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1NlcnZpY2VDb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2xhbmd1YWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybnMgSFRUUCBlcnJvciA1MDAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTZXZlcml0eUxldmVscycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEZXNjcmliZVNldmVyaXR5TGV2ZWxzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0FXU1N1cHBvcnRfMjAxMzA0MTUuRGVzY3JpYmVTZXZlcml0eUxldmVscycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2xhbmd1YWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybnMgSFRUUCBlcnJvciA1MDAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrUmVmcmVzaFN0YXR1c2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0Rlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1JlZnJlc2hTdGF0dXNlc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBV1NTdXBwb3J0XzIwMTMwNDE1LkRlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1JlZnJlc2hTdGF0dXNlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NoZWNrSWRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJucyBIVFRQIGVycm9yIDUwMC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVRydXN0ZWRBZHZpc29yQ2hlY2tSZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrUmVzdWx0UmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0FXU1N1cHBvcnRfMjAxMzA0MTUuRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrUmVzdWx0JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY2hlY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbGFuZ3VhZ2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJucyBIVFRQIGVycm9yIDUwMC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVRydXN0ZWRBZHZpc29yQ2hlY2tTdW1tYXJpZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrU3VtbWFyaWVzUmVzcG9uc2UnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ0FXU1N1cHBvcnRfMjAxMzA0MTUuRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrU3VtbWFyaWVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY2hlY2tJZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5zIEhUVFAgZXJyb3IgNTAwLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnSW50ZXJuYWxTZXJ2ZXJFcnJvckV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja3MnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrc1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBV1NTdXBwb3J0XzIwMTMwNDE1LkRlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja3MnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdsYW5ndWFnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJucyBIVFRQIGVycm9yIDUwMC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZWZyZXNoVHJ1c3RlZEFkdmlzb3JDaGVjaycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdSZWZyZXNoVHJ1c3RlZEFkdmlzb3JDaGVja1Jlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBV1NTdXBwb3J0XzIwMTMwNDE1LlJlZnJlc2hUcnVzdGVkQWR2aXNvckNoZWNrJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY2hlY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJucyBIVFRQIGVycm9yIDUwMC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0ludGVybmFsU2VydmVyRXJyb3JFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXNvbHZlQ2FzZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdSZXNvbHZlQ2FzZVJlc3BvbnNlJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjEnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdBV1NTdXBwb3J0XzIwMTMwNDE1LlJlc29sdmVDYXNlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY2FzZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybnMgSFRUUCBlcnJvciA1MDAuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdJbnRlcm5hbFNlcnZlckVycm9yRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgQ2FzZUlkIHJlcXVlc3RlZCBjb3VsZCBub3QgYmUgbG9jYXRlZC4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0Nhc2VJZE5vdEZvdW5kRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnbW9kZWxzJyA9PiBhcnJheSgKICAgICAgICAnQWRkQ29tbXVuaWNhdGlvblRvQ2FzZVJlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NyZWF0ZUNhc2VSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnY2FzZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlQ2FzZXNSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnY2FzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2FzZURldGFpbHMnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYXNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGlzcGxheUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N1YmplY3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlcnZpY2VDb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdGVnb3J5Q29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZXZlcml0eUNvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3VibWl0dGVkQnknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltZUNyZWF0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVjZW50Q29tbXVuaWNhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb21tdW5pY2F0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdDb21tdW5pY2F0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2FzZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvZHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3VibWl0dGVkQnknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltZUNyZWF0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmV4dFRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjY0VtYWlsQWRkcmVzc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NjRW1haWxBZGRyZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xhbmd1YWdlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ25leHRUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUNvbW11bmljYXRpb25zUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2NvbW11bmljYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ0NvbW11bmljYXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYXNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9keScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdWJtaXR0ZWRCeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lQ3JlYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICduZXh0VG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTZXJ2aWNlc1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdzZXJ2aWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTZXJ2aWNlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdGVnb3JpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnQ2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb2RlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVTZXZlcml0eUxldmVsc1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdzZXZlcml0eUxldmVscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdTZXZlcml0eUxldmVsJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1JlZnJlc2hTdGF0dXNlc1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdzdGF0dXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUcnVzdGVkQWR2aXNvckNoZWNrUmVmcmVzaFN0YXR1cycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoZWNrSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbGxpc1VudGlsTmV4dFJlZnJlc2hhYmxlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVRydXN0ZWRBZHZpc29yQ2hlY2tSZXN1bHRSZXNwb25zZScgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnY2hlY2tJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lc3RhbXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc291cmNlc1N1bW1hcnknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXNvdXJjZXNQcm9jZXNzZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc291cmNlc0ZsYWdnZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc291cmNlc0lnbm9yZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc291cmNlc1N1cHByZXNzZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnY2F0ZWdvcnlTcGVjaWZpY1N1bW1hcnknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb3N0T3B0aW1pemluZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VzdGltYXRlZE1vbnRobHlTYXZpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlc3RpbWF0ZWRQZXJjZW50TW9udGhseVNhdmluZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnZmxhZ2dlZFJlc291cmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUcnVzdGVkQWR2aXNvclJlc291cmNlRGV0YWlsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlZ2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXNvdXJjZUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lzU3VwcHJlc3NlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWV0YWRhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnU3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0Rlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1N1bW1hcmllc1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdzdW1tYXJpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVHJ1c3RlZEFkdmlzb3JDaGVja1N1bW1hcnknLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGVja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWVzdGFtcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGFzRmxhZ2dlZFJlc291cmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVzb3VyY2VzU3VtbWFyeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc291cmNlc1Byb2Nlc3NlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVzb3VyY2VzRmxhZ2dlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVzb3VyY2VzSWdub3JlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVzb3VyY2VzU3VwcHJlc3NlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdGVnb3J5U3BlY2lmaWNTdW1tYXJ5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29zdE9wdGltaXppbmcnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlc3RpbWF0ZWRNb250aGx5U2F2aW5ncycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXN0aW1hdGVkUGVyY2VudE1vbnRobHlTYXZpbmdzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVRydXN0ZWRBZHZpc29yQ2hlY2tzUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2NoZWNrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUcnVzdGVkQWR2aXNvckNoZWNrRGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdGVnb3J5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21ldGFkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZWZyZXNoVHJ1c3RlZEFkdmlzb3JDaGVja1Jlc3BvbnNlJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdzdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdjaGVja0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdtaWxsaXNVbnRpbE5leHRSZWZyZXNoYWJsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1Jlc29sdmVDYXNlUmVzcG9uc2UnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2luaXRpYWxDYXNlU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2ZpbmFsQ2FzZVN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdpdGVyYXRvcnMnID0+IGFycmF5KAogICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ0Rlc2NyaWJlQ2FzZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnbmV4dFRva2VuJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICduZXh0VG9rZW4nLAogICAgICAgICAgICAgICAgJ2xpbWl0X2tleScgPT4gJ21heFJlc3VsdHMnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdjYXNlcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZUNvbW11bmljYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b2tlbl9wYXJhbScgPT4gJ25leHRUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnbmV4dFRva2VuJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdtYXhSZXN1bHRzJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnY29tbXVuaWNhdGlvbnMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnRGVzY3JpYmVTZXJ2aWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ3NlcnZpY2VzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1JlZnJlc2hTdGF0dXNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ3N0YXR1c2VzJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1N1bW1hcmllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ3N1bW1hcmllcycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdEZXNjcmliZVNldmVyaXR5TGV2ZWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnc2V2ZXJpdHlMZXZlbHNMaXN0JywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0Rlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdjaGVja3MnLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICApLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Support/SupportClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3VwcG9ydDsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxBYnN0cmFjdENsaWVudDsKdXNlIEF3c1xDb21tb25cQ2xpZW50XENsaWVudEJ1aWxkZXI7CnVzZSBBd3NcQ29tbW9uXEVudW1cQ2xpZW50T3B0aW9ucyBhcyBPcHRpb25zOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUGFyc2VyXEpzb25RdWVyeUV4Y2VwdGlvblBhcnNlcjsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZTsKCi8qKgogKiBDbGllbnQgdG8gaW50ZXJhY3Qgd2l0aCBBV1MgU3VwcG9ydAogKgogKiBAbWV0aG9kIE1vZGVsIGFkZENvbW11bmljYXRpb25Ub0Nhc2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3VwcG9ydCBBZGRDb21tdW5pY2F0aW9uVG9DYXNlfQogKiBAbWV0aG9kIE1vZGVsIGNyZWF0ZUNhc2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3VwcG9ydCBDcmVhdGVDYXNlfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlQ2FzZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3VwcG9ydCBEZXNjcmliZUNhc2VzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlQ29tbXVuaWNhdGlvbnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3VwcG9ydCBEZXNjcmliZUNvbW11bmljYXRpb25zfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlU2VydmljZXMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3VwcG9ydCBEZXNjcmliZVNlcnZpY2VzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlU2V2ZXJpdHlMZXZlbHMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3VwcG9ydCBEZXNjcmliZVNldmVyaXR5TGV2ZWxzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1JlZnJlc2hTdGF0dXNlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTdXBwb3J0IERlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1JlZnJlc2hTdGF0dXNlc30KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVRydXN0ZWRBZHZpc29yQ2hlY2tSZXN1bHQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3VwcG9ydCBEZXNjcmliZVRydXN0ZWRBZHZpc29yQ2hlY2tSZXN1bHR9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrU3VtbWFyaWVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN1cHBvcnQgRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrU3VtbWFyaWVzfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3VwcG9ydCBEZXNjcmliZVRydXN0ZWRBZHZpc29yQ2hlY2tzfQogKiBAbWV0aG9kIE1vZGVsIHJlZnJlc2hUcnVzdGVkQWR2aXNvckNoZWNrKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN1cHBvcnQgUmVmcmVzaFRydXN0ZWRBZHZpc29yQ2hlY2t9CiAqIEBtZXRob2QgTW9kZWwgcmVzb2x2ZUNhc2UoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3VwcG9ydCBSZXNvbHZlQ2FzZX0KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlQ2FzZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZUNhc2VzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVDb21tdW5pY2F0aW9uc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlQ29tbXVuaWNhdGlvbnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXREZXNjcmliZVNlcnZpY2VzSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgRGVzY3JpYmVTZXJ2aWNlcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1JlZnJlc2hTdGF0dXNlc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1JlZnJlc2hTdGF0dXNlcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1N1bW1hcmllc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1N1bW1hcmllcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldERlc2NyaWJlU2V2ZXJpdHlMZXZlbHNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBEZXNjcmliZVNldmVyaXR5TGV2ZWxzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0RGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIERlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja3Mgb3BlcmF0aW9uCiAqCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9zZXJ2aWNlLXN1cHBvcnQuaHRtbCBVc2VyIGd1aWRlCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2xhdGVzdC9jbGFzcy1Bd3MuU3VwcG9ydC5TdXBwb3J0Q2xpZW50Lmh0bWwgQVBJIGRvY3MKICovCmNsYXNzIFN1cHBvcnRDbGllbnQgZXh0ZW5kcyBBYnN0cmFjdENsaWVudAp7CiAgICBjb25zdCBMQVRFU1RfQVBJX1ZFUlNJT04gPSAnMjAxMy0wNC0xNSc7CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgQVdTIFN1cHBvcnQgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEF3c1xDb21tb25cQ2xpZW50XERlZmF1bHRDbGllbnQgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9zdXBwb3J0LSVzLnBocCcKICAgICAgICAgICAgKSkKICAgICAgICAgICAgLT5zZXRFeGNlcHRpb25QYXJzZXIobmV3IEpzb25RdWVyeUV4Y2VwdGlvblBhcnNlcigpKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Enum/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Enum/ActivityTaskTimeoutType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgQWN0aXZpdHlUYXNrVGltZW91dFR5cGUgdmFsdWVzCiAqLwpjbGFzcyBBY3Rpdml0eVRhc2tUaW1lb3V0VHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgU1RBUlRfVE9fQ0xPU0UgPSAnU1RBUlRfVE9fQ0xPU0UnOwogICAgY29uc3QgU0NIRURVTEVfVE9fU1RBUlQgPSAnU0NIRURVTEVfVE9fU1RBUlQnOwogICAgY29uc3QgU0NIRURVTEVfVE9fQ0xPU0UgPSAnU0NIRURVTEVfVE9fQ0xPU0UnOwogICAgY29uc3QgSEVBUlRCRUFUID0gJ0hFQVJUQkVBVCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Enum/ChildPolicy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgQ2hpbGRQb2xpY3kgdmFsdWVzCiAqLwpjbGFzcyBDaGlsZFBvbGljeSBleHRlbmRzIEVudW0KewogICAgY29uc3QgVEVSTUlOQVRFID0gJ1RFUk1JTkFURSc7CiAgICBjb25zdCBSRVFVRVNUX0NBTkNFTCA9ICdSRVFVRVNUX0NBTkNFTCc7CiAgICBjb25zdCBBQkFORE9OID0gJ0FCQU5ET04nOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Enum/CloseStatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgQ2xvc2VTdGF0dXMgdmFsdWVzCiAqLwpjbGFzcyBDbG9zZVN0YXR1cyBleHRlbmRzIEVudW0KewogICAgY29uc3QgQ09NUExFVEVEID0gJ0NPTVBMRVRFRCc7CiAgICBjb25zdCBGQUlMRUQgPSAnRkFJTEVEJzsKICAgIGNvbnN0IENBTkNFTEVEID0gJ0NBTkNFTEVEJzsKICAgIGNvbnN0IFRFUk1JTkFURUQgPSAnVEVSTUlOQVRFRCc7CiAgICBjb25zdCBDT05USU5VRURfQVNfTkVXID0gJ0NPTlRJTlVFRF9BU19ORVcnOwogICAgY29uc3QgVElNRURfT1VUID0gJ1RJTUVEX09VVCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Enum/DecisionTaskTimeoutType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgRGVjaXNpb25UYXNrVGltZW91dFR5cGUgdmFsdWVzCiAqLwpjbGFzcyBEZWNpc2lvblRhc2tUaW1lb3V0VHlwZSBleHRlbmRzIEVudW0KewogICAgY29uc3QgU1RBUlRfVE9fQ0xPU0UgPSAnU1RBUlRfVE9fQ0xPU0UnOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Enum/DecisionType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgRGVjaXNpb25UeXBlIHZhbHVlcwogKi8KY2xhc3MgRGVjaXNpb25UeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBTQ0hFRFVMRV9BQ1RJVklUWV9UQVNLID0gJ1NjaGVkdWxlQWN0aXZpdHlUYXNrJzsKICAgIGNvbnN0IFJFUVVFU1RfQ0FOQ0VMX0FDVElWSVRZX1RBU0sgPSAnUmVxdWVzdENhbmNlbEFjdGl2aXR5VGFzayc7CiAgICBjb25zdCBDT01QTEVURV9XT1JLRkxPV19FWEVDVVRJT04gPSAnQ29tcGxldGVXb3JrZmxvd0V4ZWN1dGlvbic7CiAgICBjb25zdCBGQUlMX1dPUktGTE9XX0VYRUNVVElPTiA9ICdGYWlsV29ya2Zsb3dFeGVjdXRpb24nOwogICAgY29uc3QgQ0FOQ0VMX1dPUktGTE9XX0VYRUNVVElPTiA9ICdDYW5jZWxXb3JrZmxvd0V4ZWN1dGlvbic7CiAgICBjb25zdCBDT05USU5VRV9BU19ORVdfV09SS0ZMT1dfRVhFQ1VUSU9OID0gJ0NvbnRpbnVlQXNOZXdXb3JrZmxvd0V4ZWN1dGlvbic7CiAgICBjb25zdCBSRUNPUkRfTUFSS0VSID0gJ1JlY29yZE1hcmtlcic7CiAgICBjb25zdCBTVEFSVF9USU1FUiA9ICdTdGFydFRpbWVyJzsKICAgIGNvbnN0IENBTkNFTF9USU1FUiA9ICdDYW5jZWxUaW1lcic7CiAgICBjb25zdCBTSUdOQUxfRVhURVJOQUxfV09SS0ZMT1dfRVhFQ1VUSU9OID0gJ1NpZ25hbEV4dGVybmFsV29ya2Zsb3dFeGVjdXRpb24nOwogICAgY29uc3QgUkVRVUVTVF9DQU5DRUxfRVhURVJOQUxfV09SS0ZMT1dfRVhFQ1VUSU9OID0gJ1JlcXVlc3RDYW5jZWxFeHRlcm5hbFdvcmtmbG93RXhlY3V0aW9uJzsKICAgIGNvbnN0IFNUQVJUX0NISUxEX1dPUktGTE9XX0VYRUNVVElPTiA9ICdTdGFydENoaWxkV29ya2Zsb3dFeGVjdXRpb24nOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Enum/EventType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgRXZlbnRUeXBlIHZhbHVlcwogKi8KY2xhc3MgRXZlbnRUeXBlIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBXT1JLRkxPV19FWEVDVVRJT05fU1RBUlRFRCA9ICdXb3JrZmxvd0V4ZWN1dGlvblN0YXJ0ZWQnOwogICAgY29uc3QgV09SS0ZMT1dfRVhFQ1VUSU9OX0NBTkNFTF9SRVFVRVNURUQgPSAnV29ya2Zsb3dFeGVjdXRpb25DYW5jZWxSZXF1ZXN0ZWQnOwogICAgY29uc3QgV09SS0ZMT1dfRVhFQ1VUSU9OX0NPTVBMRVRFRCA9ICdXb3JrZmxvd0V4ZWN1dGlvbkNvbXBsZXRlZCc7CiAgICBjb25zdCBDT01QTEVURV9XT1JLRkxPV19FWEVDVVRJT05fRkFJTEVEID0gJ0NvbXBsZXRlV29ya2Zsb3dFeGVjdXRpb25GYWlsZWQnOwogICAgY29uc3QgV09SS0ZMT1dfRVhFQ1VUSU9OX0ZBSUxFRCA9ICdXb3JrZmxvd0V4ZWN1dGlvbkZhaWxlZCc7CiAgICBjb25zdCBGQUlMX1dPUktGTE9XX0VYRUNVVElPTl9GQUlMRUQgPSAnRmFpbFdvcmtmbG93RXhlY3V0aW9uRmFpbGVkJzsKICAgIGNvbnN0IFdPUktGTE9XX0VYRUNVVElPTl9USU1FRF9PVVQgPSAnV29ya2Zsb3dFeGVjdXRpb25UaW1lZE91dCc7CiAgICBjb25zdCBXT1JLRkxPV19FWEVDVVRJT05fQ0FOQ0VMRUQgPSAnV29ya2Zsb3dFeGVjdXRpb25DYW5jZWxlZCc7CiAgICBjb25zdCBDQU5DRUxfV09SS0ZMT1dfRVhFQ1VUSU9OX0ZBSUxFRCA9ICdDYW5jZWxXb3JrZmxvd0V4ZWN1dGlvbkZhaWxlZCc7CiAgICBjb25zdCBXT1JLRkxPV19FWEVDVVRJT05fQ09OVElOVUVEX0FTX05FVyA9ICdXb3JrZmxvd0V4ZWN1dGlvbkNvbnRpbnVlZEFzTmV3JzsKICAgIGNvbnN0IENPTlRJTlVFX0FTX05FV19XT1JLRkxPV19FWEVDVVRJT05fRkFJTEVEID0gJ0NvbnRpbnVlQXNOZXdXb3JrZmxvd0V4ZWN1dGlvbkZhaWxlZCc7CiAgICBjb25zdCBXT1JLRkxPV19FWEVDVVRJT05fVEVSTUlOQVRFRCA9ICdXb3JrZmxvd0V4ZWN1dGlvblRlcm1pbmF0ZWQnOwogICAgY29uc3QgREVDSVNJT05fVEFTS19TQ0hFRFVMRUQgPSAnRGVjaXNpb25UYXNrU2NoZWR1bGVkJzsKICAgIGNvbnN0IERFQ0lTSU9OX1RBU0tfU1RBUlRFRCA9ICdEZWNpc2lvblRhc2tTdGFydGVkJzsKICAgIGNvbnN0IERFQ0lTSU9OX1RBU0tfQ09NUExFVEVEID0gJ0RlY2lzaW9uVGFza0NvbXBsZXRlZCc7CiAgICBjb25zdCBERUNJU0lPTl9UQVNLX1RJTUVEX09VVCA9ICdEZWNpc2lvblRhc2tUaW1lZE91dCc7CiAgICBjb25zdCBBQ1RJVklUWV9UQVNLX1NDSEVEVUxFRCA9ICdBY3Rpdml0eVRhc2tTY2hlZHVsZWQnOwogICAgY29uc3QgU0NIRURVTEVfQUNUSVZJVFlfVEFTS19GQUlMRUQgPSAnU2NoZWR1bGVBY3Rpdml0eVRhc2tGYWlsZWQnOwogICAgY29uc3QgQUNUSVZJVFlfVEFTS19TVEFSVEVEID0gJ0FjdGl2aXR5VGFza1N0YXJ0ZWQnOwogICAgY29uc3QgQUNUSVZJVFlfVEFTS19DT01QTEVURUQgPSAnQWN0aXZpdHlUYXNrQ29tcGxldGVkJzsKICAgIGNvbnN0IEFDVElWSVRZX1RBU0tfRkFJTEVEID0gJ0FjdGl2aXR5VGFza0ZhaWxlZCc7CiAgICBjb25zdCBBQ1RJVklUWV9UQVNLX1RJTUVEX09VVCA9ICdBY3Rpdml0eVRhc2tUaW1lZE91dCc7CiAgICBjb25zdCBBQ1RJVklUWV9UQVNLX0NBTkNFTEVEID0gJ0FjdGl2aXR5VGFza0NhbmNlbGVkJzsKICAgIGNvbnN0IEFDVElWSVRZX1RBU0tfQ0FOQ0VMX1JFUVVFU1RFRCA9ICdBY3Rpdml0eVRhc2tDYW5jZWxSZXF1ZXN0ZWQnOwogICAgY29uc3QgUkVRVUVTVF9DQU5DRUxfQUNUSVZJVFlfVEFTS19GQUlMRUQgPSAnUmVxdWVzdENhbmNlbEFjdGl2aXR5VGFza0ZhaWxlZCc7CiAgICBjb25zdCBXT1JLRkxPV19FWEVDVVRJT05fU0lHTkFMRUQgPSAnV29ya2Zsb3dFeGVjdXRpb25TaWduYWxlZCc7CiAgICBjb25zdCBNQVJLRVJfUkVDT1JERUQgPSAnTWFya2VyUmVjb3JkZWQnOwogICAgY29uc3QgUkVDT1JEX01BUktFUl9GQUlMRUQgPSAnUmVjb3JkTWFya2VyRmFpbGVkJzsKICAgIGNvbnN0IFRJTUVSX1NUQVJURUQgPSAnVGltZXJTdGFydGVkJzsKICAgIGNvbnN0IFNUQVJUX1RJTUVSX0ZBSUxFRCA9ICdTdGFydFRpbWVyRmFpbGVkJzsKICAgIGNvbnN0IFRJTUVSX0ZJUkVEID0gJ1RpbWVyRmlyZWQnOwogICAgY29uc3QgVElNRVJfQ0FOQ0VMRUQgPSAnVGltZXJDYW5jZWxlZCc7CiAgICBjb25zdCBDQU5DRUxfVElNRVJfRkFJTEVEID0gJ0NhbmNlbFRpbWVyRmFpbGVkJzsKICAgIGNvbnN0IFNUQVJUX0NISUxEX1dPUktGTE9XX0VYRUNVVElPTl9JTklUSUFURUQgPSAnU3RhcnRDaGlsZFdvcmtmbG93RXhlY3V0aW9uSW5pdGlhdGVkJzsKICAgIGNvbnN0IFNUQVJUX0NISUxEX1dPUktGTE9XX0VYRUNVVElPTl9GQUlMRUQgPSAnU3RhcnRDaGlsZFdvcmtmbG93RXhlY3V0aW9uRmFpbGVkJzsKICAgIGNvbnN0IENISUxEX1dPUktGTE9XX0VYRUNVVElPTl9TVEFSVEVEID0gJ0NoaWxkV29ya2Zsb3dFeGVjdXRpb25TdGFydGVkJzsKICAgIGNvbnN0IENISUxEX1dPUktGTE9XX0VYRUNVVElPTl9DT01QTEVURUQgPSAnQ2hpbGRXb3JrZmxvd0V4ZWN1dGlvbkNvbXBsZXRlZCc7CiAgICBjb25zdCBDSElMRF9XT1JLRkxPV19FWEVDVVRJT05fRkFJTEVEID0gJ0NoaWxkV29ya2Zsb3dFeGVjdXRpb25GYWlsZWQnOwogICAgY29uc3QgQ0hJTERfV09SS0ZMT1dfRVhFQ1VUSU9OX1RJTUVEX09VVCA9ICdDaGlsZFdvcmtmbG93RXhlY3V0aW9uVGltZWRPdXQnOwogICAgY29uc3QgQ0hJTERfV09SS0ZMT1dfRVhFQ1VUSU9OX0NBTkNFTEVEID0gJ0NoaWxkV29ya2Zsb3dFeGVjdXRpb25DYW5jZWxlZCc7CiAgICBjb25zdCBDSElMRF9XT1JLRkxPV19FWEVDVVRJT05fVEVSTUlOQVRFRCA9ICdDaGlsZFdvcmtmbG93RXhlY3V0aW9uVGVybWluYXRlZCc7CiAgICBjb25zdCBTSUdOQUxfRVhURVJOQUxfV09SS0ZMT1dfRVhFQ1VUSU9OX0lOSVRJQVRFRCA9ICdTaWduYWxFeHRlcm5hbFdvcmtmbG93RXhlY3V0aW9uSW5pdGlhdGVkJzsKICAgIGNvbnN0IFNJR05BTF9FWFRFUk5BTF9XT1JLRkxPV19FWEVDVVRJT05fRkFJTEVEID0gJ1NpZ25hbEV4dGVybmFsV29ya2Zsb3dFeGVjdXRpb25GYWlsZWQnOwogICAgY29uc3QgRVhURVJOQUxfV09SS0ZMT1dfRVhFQ1VUSU9OX1NJR05BTEVEID0gJ0V4dGVybmFsV29ya2Zsb3dFeGVjdXRpb25TaWduYWxlZCc7CiAgICBjb25zdCBSRVFVRVNUX0NBTkNFTF9FWFRFUk5BTF9XT1JLRkxPV19FWEVDVVRJT05fSU5JVElBVEVEID0gJ1JlcXVlc3RDYW5jZWxFeHRlcm5hbFdvcmtmbG93RXhlY3V0aW9uSW5pdGlhdGVkJzsKICAgIGNvbnN0IFJFUVVFU1RfQ0FOQ0VMX0VYVEVSTkFMX1dPUktGTE9XX0VYRUNVVElPTl9GQUlMRUQgPSAnUmVxdWVzdENhbmNlbEV4dGVybmFsV29ya2Zsb3dFeGVjdXRpb25GYWlsZWQnOwogICAgY29uc3QgRVhURVJOQUxfV09SS0ZMT1dfRVhFQ1VUSU9OX0NBTkNFTF9SRVFVRVNURUQgPSAnRXh0ZXJuYWxXb3JrZmxvd0V4ZWN1dGlvbkNhbmNlbFJlcXVlc3RlZCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Enum/ExecutionStatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgRXhlY3V0aW9uU3RhdHVzIHZhbHVlcwogKi8KY2xhc3MgRXhlY3V0aW9uU3RhdHVzIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBPUEVOID0gJ09QRU4nOwogICAgY29uc3QgQ0xPU0VEID0gJ0NMT1NFRCc7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Enum/RegistrationStatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgUmVnaXN0cmF0aW9uU3RhdHVzIHZhbHVlcwogKi8KY2xhc3MgUmVnaXN0cmF0aW9uU3RhdHVzIGV4dGVuZHMgRW51bQp7CiAgICBjb25zdCBSRUdJU1RFUkVEID0gJ1JFR0lTVEVSRUQnOwogICAgY29uc3QgREVQUkVDQVRFRCA9ICdERVBSRUNBVEVEJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Enum/WorkflowExecutionTimeoutType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEVudW07Cgp1c2UgQXdzXENvbW1vblxFbnVtOwoKLyoqCiAqIENvbnRhaW5zIGVudW1lcmFibGUgV29ya2Zsb3dFeGVjdXRpb25UaW1lb3V0VHlwZSB2YWx1ZXMKICovCmNsYXNzIFdvcmtmbG93RXhlY3V0aW9uVGltZW91dFR5cGUgZXh0ZW5kcyBFbnVtCnsKICAgIGNvbnN0IFNUQVJUX1RPX0NMT1NFID0gJ1NUQVJUX1RPX0NMT1NFJzsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Exception/DefaultUndefinedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEV4Y2VwdGlvbjsKCi8qKgogKiBFeGNlcHRpb24gdGhhdCBvY2N1cnMgd2hlbiBhIERlZmF1bHRVbmRlZmluZWRFeGNlcHRpb24gZXJyb3IgaXMgZW5jb3VudGVyZWQKICovCmNsYXNzIERlZmF1bHRVbmRlZmluZWRFeGNlcHRpb24gZXh0ZW5kcyBTd2ZFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Exception/DomainAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXR1cm5lZCBpZiB0aGUgc3BlY2lmaWVkIGRvbWFpbiBhbHJlYWR5IGV4aXN0cy4gWW91IHdpbGwgZ2V0IHRoaXMgZmF1bHQgZXZlbiBpZiB0aGUgZXhpc3RpbmcgZG9tYWluIGlzIGluIGRlcHJlY2F0ZWQgc3RhdHVzLgogKi8KY2xhc3MgRG9tYWluQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbiBleHRlbmRzIFN3ZkV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Exception/DomainDeprecatedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXR1cm5lZCB3aGVuIHRoZSBzcGVjaWZpZWQgZG9tYWluIGhhcyBiZWVuIGRlcHJlY2F0ZWQuCiAqLwpjbGFzcyBEb21haW5EZXByZWNhdGVkRXhjZXB0aW9uIGV4dGVuZHMgU3dmRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Exception/LimitExceededException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXR1cm5lZCBieSBhbnkgb3BlcmF0aW9uIGlmIGEgc3lzdGVtIGltcG9zZWQgbGltaXRhdGlvbiBoYXMgYmVlbiByZWFjaGVkLiBUbyBhZGRyZXNzIHRoaXMgZmF1bHQgeW91IHNob3VsZCBlaXRoZXIgY2xlYW4gdXAgdW51c2VkIHJlc291cmNlcyBvciBpbmNyZWFzZSB0aGUgbGltaXQgYnkgY29udGFjdGluZyBBV1MuCiAqLwpjbGFzcyBMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uIGV4dGVuZHMgU3dmRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Exception/OperationNotPermittedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXR1cm5lZCB3aGVuIHRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIGludm9rZSB0aGUgYWN0aW9uLgogKi8KY2xhc3MgT3BlcmF0aW9uTm90UGVybWl0dGVkRXhjZXB0aW9uIGV4dGVuZHMgU3dmRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Exception/SwfException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb247CgovKioKICogRGVmYXVsdCBzZXJ2aWNlIGV4Y2VwdGlvbiBjbGFzcwogKi8KY2xhc3MgU3dmRXhjZXB0aW9uIGV4dGVuZHMgU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Exception/TypeAlreadyExistsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXR1cm5lZCBpZiB0aGUgdHlwZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgc3BlY2lmaWVkIGRvbWFpbi4gWW91IHdpbGwgZ2V0IHRoaXMgZmF1bHQgZXZlbiBpZiB0aGUgZXhpc3RpbmcgdHlwZSBpcyBpbiBkZXByZWNhdGVkIHN0YXR1cy4gWW91IGNhbiBzcGVjaWZ5IGFub3RoZXIgdmVyc2lvbiBpZiB0aGUgaW50ZW50IGlzIHRvIGNyZWF0ZSBhIG5ldyBkaXN0aW5jdCB2ZXJzaW9uIG9mIHRoZSB0eXBlLgogKi8KY2xhc3MgVHlwZUFscmVhZHlFeGlzdHNFeGNlcHRpb24gZXh0ZW5kcyBTd2ZFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Exception/TypeDeprecatedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXR1cm5lZCB3aGVuIHRoZSBzcGVjaWZpZWQgYWN0aXZpdHkgb3Igd29ya2Zsb3cgdHlwZSB3YXMgYWxyZWFkeSBkZXByZWNhdGVkLgogKi8KY2xhc3MgVHlwZURlcHJlY2F0ZWRFeGNlcHRpb24gZXh0ZW5kcyBTd2ZFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Exception/UnknownResourceException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXR1cm5lZCB3aGVuIHRoZSBuYW1lZCByZXNvdXJjZSBjYW5ub3QgYmUgZm91bmQgd2l0aCBpbiB0aGUgc2NvcGUgb2YgdGhpcyBvcGVyYXRpb24gKHJlZ2lvbiBvciBkb21haW4pLiBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgbmFtZWQgcmVzb3VyY2Ugd2FzIG5ldmVyIGNyZWF0ZWQgb3IgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZSBmb3IgdGhpcyBvcGVyYXRpb24uCiAqLwpjbGFzcyBVbmtub3duUmVzb3VyY2VFeGNlcHRpb24gZXh0ZW5kcyBTd2ZFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Exception/WorkflowExecutionAlreadyStartedException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmXEV4Y2VwdGlvbjsKCi8qKgogKiBSZXR1cm5lZCBieSBTdGFydFdvcmtmbG93RXhlY3V0aW9uIHdoZW4gYW4gb3BlbiBleGVjdXRpb24gd2l0aCB0aGUgc2FtZSB3b3JrZmxvd0lkIGlzIGFscmVhZHkgcnVubmluZyBpbiB0aGUgc3BlY2lmaWVkIGRvbWFpbi4KICovCmNsYXNzIFdvcmtmbG93RXhlY3V0aW9uQWxyZWFkeVN0YXJ0ZWRFeGNlcHRpb24gZXh0ZW5kcyBTd2ZFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/Resources/swf-2012-01-25.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCnJldHVybiBhcnJheSAoCiAgICAnYXBpVmVyc2lvbicgPT4gJzIwMTItMDEtMjUnLAogICAgJ2VuZHBvaW50UHJlZml4JyA9PiAnc3dmJywKICAgICdzZXJ2aWNlRnVsbE5hbWUnID0+ICdBbWF6b24gU2ltcGxlIFdvcmtmbG93IFNlcnZpY2UnLAogICAgJ3NlcnZpY2VBYmJyZXZpYXRpb24nID0+ICdBbWF6b24gU1dGJywKICAgICdzZXJ2aWNlVHlwZScgPT4gJ2pzb24nLAogICAgJ2pzb25WZXJzaW9uJyA9PiAnMS4wJywKICAgICd0YXJnZXRQcmVmaXgnID0+ICdTaW1wbGVXb3JrZmxvd1NlcnZpY2UuJywKICAgICd0aW1lc3RhbXBGb3JtYXQnID0+ICd1bml4VGltZXN0YW1wJywKICAgICdzaWduYXR1cmVWZXJzaW9uJyA9PiAndjQnLAogICAgJ25hbWVzcGFjZScgPT4gJ1N3ZicsCiAgICAncmVnaW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ3VzLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzd2YudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzd2YudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLXdlc3QtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzd2YudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2V1LXdlc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzd2YuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ2FwLW5vcnRoZWFzdC0xJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHAnID0+IGZhbHNlLAogICAgICAgICAgICAnaHR0cHMnID0+IHRydWUsCiAgICAgICAgICAgICdob3N0bmFtZScgPT4gJ3N3Zi5hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICApLAogICAgICAgICdhcC1zb3V0aGVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzd2YuYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYXAtc291dGhlYXN0LTInID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc3dmLmFwLXNvdXRoZWFzdC0yLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3NhLWVhc3QtMScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ2h0dHBzJyA9PiB0cnVlLAogICAgICAgICAgICAnaG9zdG5hbWUnID0+ICdzd2Yuc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICksCiAgICAgICAgJ3VzLWdvdi13ZXN0LTEnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cCcgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAnc3dmLnVzLWdvdi13ZXN0LTEuYW1hem9uYXdzLmNvbScsCiAgICAgICAgKSwKICAgICksCiAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgJ0NvdW50Q2xvc2VkV29ya2Zsb3dFeGVjdXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1dvcmtmbG93RXhlY3V0aW9uQ291bnQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NpbXBsZVdvcmtmbG93U2VydmljZS5Db3VudENsb3NlZFdvcmtmbG93RXhlY3V0aW9ucycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnc3RhcnRUaW1lRmlsdGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2xkZXN0RGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICd0aW1lc3RhbXAnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnbGF0ZXN0RGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICd0aW1lc3RhbXAnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2Nsb3NlVGltZUZpbHRlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29sZGVzdERhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAndGltZXN0YW1wJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2xhdGVzdERhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAndGltZXN0YW1wJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdleGVjdXRpb25GaWx0ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndHlwZUZpbHRlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndGFnRmlsdGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndGFnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY2xvc2VTdGF0dXNGaWx0ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdzdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VudW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDT01QTEVURUQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGQUlMRUQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDQU5DRUxFRCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RFUk1JTkFURUQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDT05USU5VRURfQVNfTkVXJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVElNRURfT1VUJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgbmFtZWQgcmVzb3VyY2UgY2Fubm90IGJlIGZvdW5kIHdpdGggaW4gdGhlIHNjb3BlIG9mIHRoaXMgb3BlcmF0aW9uIChyZWdpb24gb3IgZG9tYWluKS4gVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIG5hbWVkIHJlc291cmNlIHdhcyBuZXZlciBjcmVhdGVkIG9yIGlzIG5vIGxvbmdlciBhdmFpbGFibGUgZm9yIHRoaXMgb3BlcmF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVW5rbm93blJlc291cmNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBpbnZva2UgdGhlIGFjdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ09wZXJhdGlvbk5vdFBlcm1pdHRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0NvdW50T3BlbldvcmtmbG93RXhlY3V0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdXb3JrZmxvd0V4ZWN1dGlvbkNvdW50JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTaW1wbGVXb3JrZmxvd1NlcnZpY2UuQ291bnRPcGVuV29ya2Zsb3dFeGVjdXRpb25zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZG9tYWluJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdzdGFydFRpbWVGaWx0ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2xkZXN0RGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICd0aW1lc3RhbXAnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnbGF0ZXN0RGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICd0aW1lc3RhbXAnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3R5cGVGaWx0ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3RhZ0ZpbHRlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3RhZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2V4ZWN1dGlvbkZpbHRlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBuYW1lZCByZXNvdXJjZSBjYW5ub3QgYmUgZm91bmQgd2l0aCBpbiB0aGUgc2NvcGUgb2YgdGhpcyBvcGVyYXRpb24gKHJlZ2lvbiBvciBkb21haW4pLiBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgbmFtZWQgcmVzb3VyY2Ugd2FzIG5ldmVyIGNyZWF0ZWQgb3IgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZSBmb3IgdGhpcyBvcGVyYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdVbmtub3duUmVzb3VyY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIGludm9rZSB0aGUgYWN0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT3BlcmF0aW9uTm90UGVybWl0dGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQ291bnRQZW5kaW5nQWN0aXZpdHlUYXNrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdQZW5kaW5nVGFza0NvdW50JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTaW1wbGVXb3JrZmxvd1NlcnZpY2UuQ291bnRQZW5kaW5nQWN0aXZpdHlUYXNrcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndGFza0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIG5hbWVkIHJlc291cmNlIGNhbm5vdCBiZSBmb3VuZCB3aXRoIGluIHRoZSBzY29wZSBvZiB0aGlzIG9wZXJhdGlvbiAocmVnaW9uIG9yIGRvbWFpbikuIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSBuYW1lZCByZXNvdXJjZSB3YXMgbmV2ZXIgY3JlYXRlZCBvciBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGZvciB0aGlzIG9wZXJhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Vua25vd25SZXNvdXJjZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gaW52b2tlIHRoZSBhY3Rpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcGVyYXRpb25Ob3RQZXJtaXR0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdDb3VudFBlbmRpbmdEZWNpc2lvblRhc2tzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1BlbmRpbmdUYXNrQ291bnQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NpbXBsZVdvcmtmbG93U2VydmljZS5Db3VudFBlbmRpbmdEZWNpc2lvblRhc2tzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZG9tYWluJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd0YXNrTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgbmFtZWQgcmVzb3VyY2UgY2Fubm90IGJlIGZvdW5kIHdpdGggaW4gdGhlIHNjb3BlIG9mIHRoaXMgb3BlcmF0aW9uIChyZWdpb24gb3IgZG9tYWluKS4gVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIG5hbWVkIHJlc291cmNlIHdhcyBuZXZlciBjcmVhdGVkIG9yIGlzIG5vIGxvbmdlciBhdmFpbGFibGUgZm9yIHRoaXMgb3BlcmF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVW5rbm93blJlc291cmNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBpbnZva2UgdGhlIGFjdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ09wZXJhdGlvbk5vdFBlcm1pdHRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlcHJlY2F0ZUFjdGl2aXR5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2ltcGxlV29ya2Zsb3dTZXJ2aWNlLkRlcHJlY2F0ZUFjdGl2aXR5VHlwZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnYWN0aXZpdHlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIG5hbWVkIHJlc291cmNlIGNhbm5vdCBiZSBmb3VuZCB3aXRoIGluIHRoZSBzY29wZSBvZiB0aGlzIG9wZXJhdGlvbiAocmVnaW9uIG9yIGRvbWFpbikuIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSBuYW1lZCByZXNvdXJjZSB3YXMgbmV2ZXIgY3JlYXRlZCBvciBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGZvciB0aGlzIG9wZXJhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Vua25vd25SZXNvdXJjZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIHNwZWNpZmllZCBhY3Rpdml0eSBvciB3b3JrZmxvdyB0eXBlIHdhcyBhbHJlYWR5IGRlcHJlY2F0ZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUeXBlRGVwcmVjYXRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gaW52b2tlIHRoZSBhY3Rpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcGVyYXRpb25Ob3RQZXJtaXR0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXByZWNhdGVEb21haW4nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NpbXBsZVdvcmtmbG93U2VydmljZS5EZXByZWNhdGVEb21haW4nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBuYW1lZCByZXNvdXJjZSBjYW5ub3QgYmUgZm91bmQgd2l0aCBpbiB0aGUgc2NvcGUgb2YgdGhpcyBvcGVyYXRpb24gKHJlZ2lvbiBvciBkb21haW4pLiBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgbmFtZWQgcmVzb3VyY2Ugd2FzIG5ldmVyIGNyZWF0ZWQgb3IgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZSBmb3IgdGhpcyBvcGVyYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdVbmtub3duUmVzb3VyY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBzcGVjaWZpZWQgZG9tYWluIGhhcyBiZWVuIGRlcHJlY2F0ZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdEb21haW5EZXByZWNhdGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBpbnZva2UgdGhlIGFjdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ09wZXJhdGlvbk5vdFBlcm1pdHRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0RlcHJlY2F0ZVdvcmtmbG93VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2ltcGxlV29ya2Zsb3dTZXJ2aWNlLkRlcHJlY2F0ZVdvcmtmbG93VHlwZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnd29ya2Zsb3dUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIG5hbWVkIHJlc291cmNlIGNhbm5vdCBiZSBmb3VuZCB3aXRoIGluIHRoZSBzY29wZSBvZiB0aGlzIG9wZXJhdGlvbiAocmVnaW9uIG9yIGRvbWFpbikuIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSBuYW1lZCByZXNvdXJjZSB3YXMgbmV2ZXIgY3JlYXRlZCBvciBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGZvciB0aGlzIG9wZXJhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Vua25vd25SZXNvdXJjZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIHNwZWNpZmllZCBhY3Rpdml0eSBvciB3b3JrZmxvdyB0eXBlIHdhcyBhbHJlYWR5IGRlcHJlY2F0ZWQuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUeXBlRGVwcmVjYXRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gaW52b2tlIHRoZSBhY3Rpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcGVyYXRpb25Ob3RQZXJtaXR0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZUFjdGl2aXR5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdBY3Rpdml0eVR5cGVEZXRhaWwnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NpbXBsZVdvcmtmbG93U2VydmljZS5EZXNjcmliZUFjdGl2aXR5VHlwZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnYWN0aXZpdHlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIG5hbWVkIHJlc291cmNlIGNhbm5vdCBiZSBmb3VuZCB3aXRoIGluIHRoZSBzY29wZSBvZiB0aGlzIG9wZXJhdGlvbiAocmVnaW9uIG9yIGRvbWFpbikuIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSBuYW1lZCByZXNvdXJjZSB3YXMgbmV2ZXIgY3JlYXRlZCBvciBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGZvciB0aGlzIG9wZXJhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Vua25vd25SZXNvdXJjZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gaW52b2tlIHRoZSBhY3Rpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcGVyYXRpb25Ob3RQZXJtaXR0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZURvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEb21haW5EZXRhaWwnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NpbXBsZVdvcmtmbG93U2VydmljZS5EZXNjcmliZURvbWFpbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIG5hbWVkIHJlc291cmNlIGNhbm5vdCBiZSBmb3VuZCB3aXRoIGluIHRoZSBzY29wZSBvZiB0aGlzIG9wZXJhdGlvbiAocmVnaW9uIG9yIGRvbWFpbikuIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSBuYW1lZCByZXNvdXJjZSB3YXMgbmV2ZXIgY3JlYXRlZCBvciBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGZvciB0aGlzIG9wZXJhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Vua25vd25SZXNvdXJjZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gaW52b2tlIHRoZSBhY3Rpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcGVyYXRpb25Ob3RQZXJtaXR0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZXNjcmliZVdvcmtmbG93RXhlY3V0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1dvcmtmbG93RXhlY3V0aW9uRGV0YWlsJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTaW1wbGVXb3JrZmxvd1NlcnZpY2UuRGVzY3JpYmVXb3JrZmxvd0V4ZWN1dGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZXhlY3V0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBuYW1lZCByZXNvdXJjZSBjYW5ub3QgYmUgZm91bmQgd2l0aCBpbiB0aGUgc2NvcGUgb2YgdGhpcyBvcGVyYXRpb24gKHJlZ2lvbiBvciBkb21haW4pLiBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgbmFtZWQgcmVzb3VyY2Ugd2FzIG5ldmVyIGNyZWF0ZWQgb3IgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZSBmb3IgdGhpcyBvcGVyYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdVbmtub3duUmVzb3VyY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIGludm9rZSB0aGUgYWN0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT3BlcmF0aW9uTm90UGVybWl0dGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRGVzY3JpYmVXb3JrZmxvd1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnV29ya2Zsb3dUeXBlRGV0YWlsJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTaW1wbGVXb3JrZmxvd1NlcnZpY2UuRGVzY3JpYmVXb3JrZmxvd1R5cGUnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdkb21haW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3dvcmtmbG93VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBuYW1lZCByZXNvdXJjZSBjYW5ub3QgYmUgZm91bmQgd2l0aCBpbiB0aGUgc2NvcGUgb2YgdGhpcyBvcGVyYXRpb24gKHJlZ2lvbiBvciBkb21haW4pLiBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgbmFtZWQgcmVzb3VyY2Ugd2FzIG5ldmVyIGNyZWF0ZWQgb3IgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZSBmb3IgdGhpcyBvcGVyYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdVbmtub3duUmVzb3VyY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIGludm9rZSB0aGUgYWN0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT3BlcmF0aW9uTm90UGVybWl0dGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnR2V0V29ya2Zsb3dFeGVjdXRpb25IaXN0b3J5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0hpc3RvcnknLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NpbXBsZVdvcmtmbG93U2VydmljZS5HZXRXb3JrZmxvd0V4ZWN1dGlvbkhpc3RvcnknLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdkb21haW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2V4ZWN1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdydW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbmV4dFBhZ2VUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIwNDgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ21heGltdW1QYWdlU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTAwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAncmV2ZXJzZU9yZGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIG5hbWVkIHJlc291cmNlIGNhbm5vdCBiZSBmb3VuZCB3aXRoIGluIHRoZSBzY29wZSBvZiB0aGlzIG9wZXJhdGlvbiAocmVnaW9uIG9yIGRvbWFpbikuIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSBuYW1lZCByZXNvdXJjZSB3YXMgbmV2ZXIgY3JlYXRlZCBvciBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGZvciB0aGlzIG9wZXJhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Vua25vd25SZXNvdXJjZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gaW52b2tlIHRoZSBhY3Rpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcGVyYXRpb25Ob3RQZXJtaXR0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0QWN0aXZpdHlUeXBlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdBY3Rpdml0eVR5cGVJbmZvcycsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2ltcGxlV29ya2Zsb3dTZXJ2aWNlLkxpc3RBY3Rpdml0eVR5cGVzJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZG9tYWluJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3JlZ2lzdHJhdGlvblN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnZW51bScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdSRUdJU1RFUkVEJywKICAgICAgICAgICAgICAgICAgICAgICAgJ0RFUFJFQ0FURUQnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ25leHRQYWdlVG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyMDQ4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdtYXhpbXVtUGFnZVNpemUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heGltdW0nID0+IDEwMDAsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3JldmVyc2VPcmRlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnYm9vbGVhbi1zdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIGludm9rZSB0aGUgYWN0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT3BlcmF0aW9uTm90UGVybWl0dGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgbmFtZWQgcmVzb3VyY2UgY2Fubm90IGJlIGZvdW5kIHdpdGggaW4gdGhlIHNjb3BlIG9mIHRoaXMgb3BlcmF0aW9uIChyZWdpb24gb3IgZG9tYWluKS4gVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIG5hbWVkIHJlc291cmNlIHdhcyBuZXZlciBjcmVhdGVkIG9yIGlzIG5vIGxvbmdlciBhdmFpbGFibGUgZm9yIHRoaXMgb3BlcmF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVW5rbm93blJlc291cmNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdENsb3NlZFdvcmtmbG93RXhlY3V0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdXb3JrZmxvd0V4ZWN1dGlvbkluZm9zJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTaW1wbGVXb3JrZmxvd1NlcnZpY2UuTGlzdENsb3NlZFdvcmtmbG93RXhlY3V0aW9ucycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnc3RhcnRUaW1lRmlsdGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnb2xkZXN0RGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICd0aW1lc3RhbXAnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnbGF0ZXN0RGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVnZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICd0aW1lc3RhbXAnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2Nsb3NlVGltZUZpbHRlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ29sZGVzdERhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAndGltZXN0YW1wJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2xhdGVzdERhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAndGltZXN0YW1wJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdleGVjdXRpb25GaWx0ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY2xvc2VTdGF0dXNGaWx0ZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdzdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VudW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDT01QTEVURUQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGQUlMRUQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDQU5DRUxFRCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RFUk1JTkFURUQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDT05USU5VRURfQVNfTkVXJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVElNRURfT1VUJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndHlwZUZpbHRlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndGFnRmlsdGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndGFnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbmV4dFBhZ2VUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIwNDgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ21heGltdW1QYWdlU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTAwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAncmV2ZXJzZU9yZGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIG5hbWVkIHJlc291cmNlIGNhbm5vdCBiZSBmb3VuZCB3aXRoIGluIHRoZSBzY29wZSBvZiB0aGlzIG9wZXJhdGlvbiAocmVnaW9uIG9yIGRvbWFpbikuIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSBuYW1lZCByZXNvdXJjZSB3YXMgbmV2ZXIgY3JlYXRlZCBvciBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGZvciB0aGlzIG9wZXJhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Vua25vd25SZXNvdXJjZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gaW52b2tlIHRoZSBhY3Rpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcGVyYXRpb25Ob3RQZXJtaXR0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0RG9tYWlucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdEb21haW5JbmZvcycsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2ltcGxlV29ya2Zsb3dTZXJ2aWNlLkxpc3REb21haW5zJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbmV4dFBhZ2VUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIwNDgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3JlZ2lzdHJhdGlvblN0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnZW51bScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdSRUdJU1RFUkVEJywKICAgICAgICAgICAgICAgICAgICAgICAgJ0RFUFJFQ0FURUQnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ21heGltdW1QYWdlU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTAwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAncmV2ZXJzZU9yZGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gaW52b2tlIHRoZSBhY3Rpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcGVyYXRpb25Ob3RQZXJtaXR0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdMaXN0T3BlbldvcmtmbG93RXhlY3V0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdXb3JrZmxvd0V4ZWN1dGlvbkluZm9zJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTaW1wbGVXb3JrZmxvd1NlcnZpY2UuTGlzdE9wZW5Xb3JrZmxvd0V4ZWN1dGlvbnMnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdkb21haW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3N0YXJ0VGltZUZpbHRlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvbGRlc3REYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ3RpbWVzdGFtcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdsYXRlc3REYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ3RpbWVzdGFtcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndHlwZUZpbHRlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndGFnRmlsdGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndGFnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbmV4dFBhZ2VUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIwNDgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ21heGltdW1QYWdlU2l6ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4aW11bScgPT4gMTAwMCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAncmV2ZXJzZU9yZGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2Jvb2xlYW4nLAogICAgICAgICAgICAgICAgICAgICdmb3JtYXQnID0+ICdib29sZWFuLXN0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2V4ZWN1dGlvbkZpbHRlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBuYW1lZCByZXNvdXJjZSBjYW5ub3QgYmUgZm91bmQgd2l0aCBpbiB0aGUgc2NvcGUgb2YgdGhpcyBvcGVyYXRpb24gKHJlZ2lvbiBvciBkb21haW4pLiBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgbmFtZWQgcmVzb3VyY2Ugd2FzIG5ldmVyIGNyZWF0ZWQgb3IgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZSBmb3IgdGhpcyBvcGVyYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdVbmtub3duUmVzb3VyY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIGludm9rZSB0aGUgYWN0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT3BlcmF0aW9uTm90UGVybWl0dGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnTGlzdFdvcmtmbG93VHlwZXMnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnV29ya2Zsb3dUeXBlSW5mb3MnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NpbXBsZVdvcmtmbG93U2VydmljZS5MaXN0V29ya2Zsb3dUeXBlcycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdyZWdpc3RyYXRpb25TdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2VudW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUkVHSVNURVJFRCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdERVBSRUNBVEVEJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICduZXh0UGFnZVRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjA0OCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbWF4aW11bVBhZ2VTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMDAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdyZXZlcnNlT3JkZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBpbnZva2UgdGhlIGFjdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ09wZXJhdGlvbk5vdFBlcm1pdHRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIG5hbWVkIHJlc291cmNlIGNhbm5vdCBiZSBmb3VuZCB3aXRoIGluIHRoZSBzY29wZSBvZiB0aGlzIG9wZXJhdGlvbiAocmVnaW9uIG9yIGRvbWFpbikuIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSBuYW1lZCByZXNvdXJjZSB3YXMgbmV2ZXIgY3JlYXRlZCBvciBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGZvciB0aGlzIG9wZXJhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Vua25vd25SZXNvdXJjZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1BvbGxGb3JBY3Rpdml0eVRhc2snID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQWN0aXZpdHlUYXNrJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTaW1wbGVXb3JrZmxvd1NlcnZpY2UuUG9sbEZvckFjdGl2aXR5VGFzaycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndGFza0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2lkZW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBuYW1lZCByZXNvdXJjZSBjYW5ub3QgYmUgZm91bmQgd2l0aCBpbiB0aGUgc2NvcGUgb2YgdGhpcyBvcGVyYXRpb24gKHJlZ2lvbiBvciBkb21haW4pLiBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgbmFtZWQgcmVzb3VyY2Ugd2FzIG5ldmVyIGNyZWF0ZWQgb3IgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZSBmb3IgdGhpcyBvcGVyYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdVbmtub3duUmVzb3VyY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIGludm9rZSB0aGUgYWN0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT3BlcmF0aW9uTm90UGVybWl0dGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgYnkgYW55IG9wZXJhdGlvbiBpZiBhIHN5c3RlbSBpbXBvc2VkIGxpbWl0YXRpb24gaGFzIGJlZW4gcmVhY2hlZC4gVG8gYWRkcmVzcyB0aGlzIGZhdWx0IHlvdSBzaG91bGQgZWl0aGVyIGNsZWFuIHVwIHVudXNlZCByZXNvdXJjZXMgb3IgaW5jcmVhc2UgdGhlIGxpbWl0IGJ5IGNvbnRhY3RpbmcgQVdTLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1BvbGxGb3JEZWNpc2lvblRhc2snID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRGVjaXNpb25UYXNrJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTaW1wbGVXb3JrZmxvd1NlcnZpY2UuUG9sbEZvckRlY2lzaW9uVGFzaycsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndGFza0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2lkZW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICduZXh0UGFnZVRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjA0OCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbWF4aW11bVBhZ2VTaXplJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhpbXVtJyA9PiAxMDAwLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdyZXZlcnNlT3JkZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gJ2Jvb2xlYW4tc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgbmFtZWQgcmVzb3VyY2UgY2Fubm90IGJlIGZvdW5kIHdpdGggaW4gdGhlIHNjb3BlIG9mIHRoaXMgb3BlcmF0aW9uIChyZWdpb24gb3IgZG9tYWluKS4gVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIG5hbWVkIHJlc291cmNlIHdhcyBuZXZlciBjcmVhdGVkIG9yIGlzIG5vIGxvbmdlciBhdmFpbGFibGUgZm9yIHRoaXMgb3BlcmF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVW5rbm93blJlc291cmNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBpbnZva2UgdGhlIGFjdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ09wZXJhdGlvbk5vdFBlcm1pdHRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGJ5IGFueSBvcGVyYXRpb24gaWYgYSBzeXN0ZW0gaW1wb3NlZCBsaW1pdGF0aW9uIGhhcyBiZWVuIHJlYWNoZWQuIFRvIGFkZHJlc3MgdGhpcyBmYXVsdCB5b3Ugc2hvdWxkIGVpdGhlciBjbGVhbiB1cCB1bnVzZWQgcmVzb3VyY2VzIG9yIGluY3JlYXNlIHRoZSBsaW1pdCBieSBjb250YWN0aW5nIEFXUy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZWNvcmRBY3Rpdml0eVRhc2tIZWFydGJlYXQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnQWN0aXZpdHlUYXNrU3RhdHVzJywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTaW1wbGVXb3JrZmxvd1NlcnZpY2UuUmVjb3JkQWN0aXZpdHlUYXNrSGVhcnRiZWF0JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndGFza1Rva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDIwNDgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIG5hbWVkIHJlc291cmNlIGNhbm5vdCBiZSBmb3VuZCB3aXRoIGluIHRoZSBzY29wZSBvZiB0aGlzIG9wZXJhdGlvbiAocmVnaW9uIG9yIGRvbWFpbikuIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSBuYW1lZCByZXNvdXJjZSB3YXMgbmV2ZXIgY3JlYXRlZCBvciBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGZvciB0aGlzIG9wZXJhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Vua25vd25SZXNvdXJjZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gaW52b2tlIHRoZSBhY3Rpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcGVyYXRpb25Ob3RQZXJtaXR0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZWdpc3RlckFjdGl2aXR5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2ltcGxlV29ya2Zsb3dTZXJ2aWNlLlJlZ2lzdGVyQWN0aXZpdHlUeXBlJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZG9tYWluJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZGVmYXVsdFRhc2tTdGFydFRvQ2xvc2VUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZGVmYXVsdFRhc2tIZWFydGJlYXRUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZGVmYXVsdFRhc2tMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RlZmF1bHRUYXNrU2NoZWR1bGVUb1N0YXJ0VGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RlZmF1bHRUYXNrU2NoZWR1bGVUb0Nsb3NlVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGlmIHRoZSB0eXBlIGFscmVhZHkgZXhpc3RzIGluIHRoZSBzcGVjaWZpZWQgZG9tYWluLiBZb3Ugd2lsbCBnZXQgdGhpcyBmYXVsdCBldmVuIGlmIHRoZSBleGlzdGluZyB0eXBlIGlzIGluIGRlcHJlY2F0ZWQgc3RhdHVzLiBZb3UgY2FuIHNwZWNpZnkgYW5vdGhlciB2ZXJzaW9uIGlmIHRoZSBpbnRlbnQgaXMgdG8gY3JlYXRlIGEgbmV3IGRpc3RpbmN0IHZlcnNpb24gb2YgdGhlIHR5cGUuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdUeXBlQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGJ5IGFueSBvcGVyYXRpb24gaWYgYSBzeXN0ZW0gaW1wb3NlZCBsaW1pdGF0aW9uIGhhcyBiZWVuIHJlYWNoZWQuIFRvIGFkZHJlc3MgdGhpcyBmYXVsdCB5b3Ugc2hvdWxkIGVpdGhlciBjbGVhbiB1cCB1bnVzZWQgcmVzb3VyY2VzIG9yIGluY3JlYXNlIHRoZSBsaW1pdCBieSBjb250YWN0aW5nIEFXUy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBuYW1lZCByZXNvdXJjZSBjYW5ub3QgYmUgZm91bmQgd2l0aCBpbiB0aGUgc2NvcGUgb2YgdGhpcyBvcGVyYXRpb24gKHJlZ2lvbiBvciBkb21haW4pLiBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgbmFtZWQgcmVzb3VyY2Ugd2FzIG5ldmVyIGNyZWF0ZWQgb3IgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZSBmb3IgdGhpcyBvcGVyYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdVbmtub3duUmVzb3VyY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIGludm9rZSB0aGUgYWN0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT3BlcmF0aW9uTm90UGVybWl0dGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVnaXN0ZXJEb21haW4nID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NpbXBsZVdvcmtmbG93U2VydmljZS5SZWdpc3RlckRvbWFpbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb25SZXRlbnRpb25QZXJpb2RJbkRheXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgc3BlY2lmaWVkIGRvbWFpbiBhbHJlYWR5IGV4aXN0cy4gWW91IHdpbGwgZ2V0IHRoaXMgZmF1bHQgZXZlbiBpZiB0aGUgZXhpc3RpbmcgZG9tYWluIGlzIGluIGRlcHJlY2F0ZWQgc3RhdHVzLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRG9tYWluQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIGJ5IGFueSBvcGVyYXRpb24gaWYgYSBzeXN0ZW0gaW1wb3NlZCBsaW1pdGF0aW9uIGhhcyBiZWVuIHJlYWNoZWQuIFRvIGFkZHJlc3MgdGhpcyBmYXVsdCB5b3Ugc2hvdWxkIGVpdGhlciBjbGVhbiB1cCB1bnVzZWQgcmVzb3VyY2VzIG9yIGluY3JlYXNlIHRoZSBsaW1pdCBieSBjb250YWN0aW5nIEFXUy4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIGludm9rZSB0aGUgYWN0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT3BlcmF0aW9uTm90UGVybWl0dGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVnaXN0ZXJXb3JrZmxvd1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NpbXBsZVdvcmtmbG93U2VydmljZS5SZWdpc3RlcldvcmtmbG93VHlwZScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDY0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RlZmF1bHRUYXNrU3RhcnRUb0Nsb3NlVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RlZmF1bHRFeGVjdXRpb25TdGFydFRvQ2xvc2VUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZGVmYXVsdFRhc2tMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RlZmF1bHRDaGlsZFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdlbnVtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1RFUk1JTkFURScsCiAgICAgICAgICAgICAgICAgICAgICAgICdSRVFVRVNUX0NBTkNFTCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdBQkFORE9OJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBpZiB0aGUgdHlwZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgc3BlY2lmaWVkIGRvbWFpbi4gWW91IHdpbGwgZ2V0IHRoaXMgZmF1bHQgZXZlbiBpZiB0aGUgZXhpc3RpbmcgdHlwZSBpcyBpbiBkZXByZWNhdGVkIHN0YXR1cy4gWW91IGNhbiBzcGVjaWZ5IGFub3RoZXIgdmVyc2lvbiBpZiB0aGUgaW50ZW50IGlzIHRvIGNyZWF0ZSBhIG5ldyBkaXN0aW5jdCB2ZXJzaW9uIG9mIHRoZSB0eXBlLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVHlwZUFscmVhZHlFeGlzdHNFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBieSBhbnkgb3BlcmF0aW9uIGlmIGEgc3lzdGVtIGltcG9zZWQgbGltaXRhdGlvbiBoYXMgYmVlbiByZWFjaGVkLiBUbyBhZGRyZXNzIHRoaXMgZmF1bHQgeW91IHNob3VsZCBlaXRoZXIgY2xlYW4gdXAgdW51c2VkIHJlc291cmNlcyBvciBpbmNyZWFzZSB0aGUgbGltaXQgYnkgY29udGFjdGluZyBBV1MuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgbmFtZWQgcmVzb3VyY2UgY2Fubm90IGJlIGZvdW5kIHdpdGggaW4gdGhlIHNjb3BlIG9mIHRoaXMgb3BlcmF0aW9uIChyZWdpb24gb3IgZG9tYWluKS4gVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIG5hbWVkIHJlc291cmNlIHdhcyBuZXZlciBjcmVhdGVkIG9yIGlzIG5vIGxvbmdlciBhdmFpbGFibGUgZm9yIHRoaXMgb3BlcmF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVW5rbm93blJlc291cmNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBpbnZva2UgdGhlIGFjdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ09wZXJhdGlvbk5vdFBlcm1pdHRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1JlcXVlc3RDYW5jZWxXb3JrZmxvd0V4ZWN1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2ltcGxlV29ya2Zsb3dTZXJ2aWNlLlJlcXVlc3RDYW5jZWxXb3JrZmxvd0V4ZWN1dGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RvbWFpbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnd29ya2Zsb3dJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgbmFtZWQgcmVzb3VyY2UgY2Fubm90IGJlIGZvdW5kIHdpdGggaW4gdGhlIHNjb3BlIG9mIHRoaXMgb3BlcmF0aW9uIChyZWdpb24gb3IgZG9tYWluKS4gVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIG5hbWVkIHJlc291cmNlIHdhcyBuZXZlciBjcmVhdGVkIG9yIGlzIG5vIGxvbmdlciBhdmFpbGFibGUgZm9yIHRoaXMgb3BlcmF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVW5rbm93blJlc291cmNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBpbnZva2UgdGhlIGFjdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ09wZXJhdGlvbk5vdFBlcm1pdHRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1Jlc3BvbmRBY3Rpdml0eVRhc2tDYW5jZWxlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2ltcGxlV29ya2Zsb3dTZXJ2aWNlLlJlc3BvbmRBY3Rpdml0eVRhc2tDYW5jZWxlZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3Rhc2tUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2RldGFpbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjc2OCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgbmFtZWQgcmVzb3VyY2UgY2Fubm90IGJlIGZvdW5kIHdpdGggaW4gdGhlIHNjb3BlIG9mIHRoaXMgb3BlcmF0aW9uIChyZWdpb24gb3IgZG9tYWluKS4gVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIG5hbWVkIHJlc291cmNlIHdhcyBuZXZlciBjcmVhdGVkIG9yIGlzIG5vIGxvbmdlciBhdmFpbGFibGUgZm9yIHRoaXMgb3BlcmF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVW5rbm93blJlc291cmNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBpbnZva2UgdGhlIGFjdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ09wZXJhdGlvbk5vdFBlcm1pdHRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1Jlc3BvbmRBY3Rpdml0eVRhc2tDb21wbGV0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyA9PiAnLycsCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0F3c1xcQ29tbW9uXFxDb21tYW5kXFxKc29uQ29tbWFuZCcsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyA9PiAnRW1wdHlPdXRwdXQnLAogICAgICAgICAgICAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbW1hbmQuZXhwZWN0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdYLUFtei1UYXJnZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ1NpbXBsZVdvcmtmbG93U2VydmljZS5SZXNwb25kQWN0aXZpdHlUYXNrQ29tcGxldGVkJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndGFza1Rva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAyNCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAncmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzI3NjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIG5hbWVkIHJlc291cmNlIGNhbm5vdCBiZSBmb3VuZCB3aXRoIGluIHRoZSBzY29wZSBvZiB0aGlzIG9wZXJhdGlvbiAocmVnaW9uIG9yIGRvbWFpbikuIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSBuYW1lZCByZXNvdXJjZSB3YXMgbmV2ZXIgY3JlYXRlZCBvciBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGZvciB0aGlzIG9wZXJhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Vua25vd25SZXNvdXJjZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gaW52b2tlIHRoZSBhY3Rpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcGVyYXRpb25Ob3RQZXJtaXR0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdSZXNwb25kQWN0aXZpdHlUYXNrRmFpbGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTaW1wbGVXb3JrZmxvd1NlcnZpY2UuUmVzcG9uZEFjdGl2aXR5VGFza0ZhaWxlZCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3Rhc2tUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDEwMjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDMyNzY4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBuYW1lZCByZXNvdXJjZSBjYW5ub3QgYmUgZm91bmQgd2l0aCBpbiB0aGUgc2NvcGUgb2YgdGhpcyBvcGVyYXRpb24gKHJlZ2lvbiBvciBkb21haW4pLiBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgbmFtZWQgcmVzb3VyY2Ugd2FzIG5ldmVyIGNyZWF0ZWQgb3IgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZSBmb3IgdGhpcyBvcGVyYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdVbmtub3duUmVzb3VyY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIGludm9rZSB0aGUgYWN0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT3BlcmF0aW9uTm90UGVybWl0dGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUmVzcG9uZERlY2lzaW9uVGFza0NvbXBsZXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICd1cmknID0+ICcvJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnQXdzXFxDb21tb25cXENvbW1hbmRcXEpzb25Db21tYW5kJywKICAgICAgICAgICAgJ3Jlc3BvbnNlQ2xhc3MnID0+ICdFbXB0eU91dHB1dCcsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2ltcGxlV29ya2Zsb3dTZXJ2aWNlLlJlc3BvbmREZWNpc2lvblRhc2tDb21wbGV0ZWQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd0YXNrVG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAxMDI0LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdkZWNpc2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRGVjaXNpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VudW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2NoZWR1bGVBY3Rpdml0eVRhc2snLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVxdWVzdENhbmNlbEFjdGl2aXR5VGFzaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb21wbGV0ZVdvcmtmbG93RXhlY3V0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZhaWxXb3JrZmxvd0V4ZWN1dGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYW5jZWxXb3JrZmxvd0V4ZWN1dGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb250aW51ZUFzTmV3V29ya2Zsb3dFeGVjdXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVjb3JkTWFya2VyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0VGltZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2FuY2VsVGltZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2lnbmFsRXh0ZXJuYWxXb3JrZmxvd0V4ZWN1dGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXF1ZXN0Q2FuY2VsRXh0ZXJuYWxXb3JrZmxvd0V4ZWN1dGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTdGFydENoaWxkV29ya2Zsb3dFeGVjdXRpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjaGVkdWxlQWN0aXZpdHlUYXNrRGVjaXNpb25BdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWN0aXZpdHlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2aXR5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzI3NjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjc2OCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjaGVkdWxlVG9DbG9zZVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rhc2tMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2hlZHVsZVRvU3RhcnRUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydFRvQ2xvc2VUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWFydGJlYXRUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWVzdENhbmNlbEFjdGl2aXR5VGFza0RlY2lzaW9uQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2aXR5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb21wbGV0ZVdvcmtmbG93RXhlY3V0aW9uRGVjaXNpb25BdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDMyNzY4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZhaWxXb3JrZmxvd0V4ZWN1dGlvbkRlY2lzaW9uQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXRhaWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDMyNzY4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhbmNlbFdvcmtmbG93RXhlY3V0aW9uRGVjaXNpb25BdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjc2OCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb250aW51ZUFzTmV3V29ya2Zsb3dFeGVjdXRpb25EZWNpc2lvbkF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjc2OCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4ZWN1dGlvblN0YXJ0VG9DbG9zZVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rhc2tMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0YXNrU3RhcnRUb0Nsb3NlVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2hpbGRQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VudW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdURVJNSU5BVEUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSRVFVRVNUX0NBTkNFTCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FCQU5ET04nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RhZ0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dUeXBlVmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVjb3JkTWFya2VyRGVjaXNpb25BdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWFya2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjc2OCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydFRpbWVyRGVjaXNpb25BdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udHJvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjc2OCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0VG9GaXJlVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYW5jZWxUaW1lckRlY2lzaW9uQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaWduYWxFeHRlcm5hbFdvcmtmbG93RXhlY3V0aW9uRGVjaXNpb25BdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMjU2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaWduYWxOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjc2OCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzI3NjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWVzdENhbmNlbEV4dGVybmFsV29ya2Zsb3dFeGVjdXRpb25EZWNpc2lvbkF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdydW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzI3NjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhcnRDaGlsZFdvcmtmbG93RXhlY3V0aW9uRGVjaXNpb25BdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzI3NjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjc2OCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4ZWN1dGlvblN0YXJ0VG9DbG9zZVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rhc2tMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0YXNrU3RhcnRUb0Nsb3NlVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2hpbGRQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VudW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdURVJNSU5BVEUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSRVFVRVNUX0NBTkNFTCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FCQU5ET04nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RhZ0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4SXRlbXMnID0+IDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2V4ZWN1dGlvbkNvbnRleHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAzMjc2OCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgbmFtZWQgcmVzb3VyY2UgY2Fubm90IGJlIGZvdW5kIHdpdGggaW4gdGhlIHNjb3BlIG9mIHRoaXMgb3BlcmF0aW9uIChyZWdpb24gb3IgZG9tYWluKS4gVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIG5hbWVkIHJlc291cmNlIHdhcyBuZXZlciBjcmVhdGVkIG9yIGlzIG5vIGxvbmdlciBhdmFpbGFibGUgZm9yIHRoaXMgb3BlcmF0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVW5rbm93blJlc291cmNlRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBpbnZva2UgdGhlIGFjdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ09wZXJhdGlvbk5vdFBlcm1pdHRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1NpZ25hbFdvcmtmbG93RXhlY3V0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTaW1wbGVXb3JrZmxvd1NlcnZpY2UuU2lnbmFsV29ya2Zsb3dFeGVjdXRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdkb21haW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3NpZ25hbE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2lucHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMzI3NjgsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIG5hbWVkIHJlc291cmNlIGNhbm5vdCBiZSBmb3VuZCB3aXRoIGluIHRoZSBzY29wZSBvZiB0aGlzIG9wZXJhdGlvbiAocmVnaW9uIG9yIGRvbWFpbikuIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSBuYW1lZCByZXNvdXJjZSB3YXMgbmV2ZXIgY3JlYXRlZCBvciBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGZvciB0aGlzIG9wZXJhdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1Vua25vd25SZXNvdXJjZUV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gJ1JldHVybmVkIHdoZW4gdGhlIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gaW52b2tlIHRoZSBhY3Rpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdPcGVyYXRpb25Ob3RQZXJtaXR0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdTdGFydFdvcmtmbG93RXhlY3V0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ1J1bicsCiAgICAgICAgICAgICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29tbWFuZC5leHBlY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1gtQW16LVRhcmdldCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnU2ltcGxlV29ya2Zsb3dTZXJ2aWNlLlN0YXJ0V29ya2Zsb3dFeGVjdXRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdkb21haW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3dvcmtmbG93VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaW5MZW5ndGgnID0+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA2NCwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd0YXNrTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdpbnB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDMyNzY4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdleGVjdXRpb25TdGFydFRvQ2xvc2VUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gOCwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndGFnTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heEl0ZW1zJyA9PiA1LAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWluTGVuZ3RoJyA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndGFza1N0YXJ0VG9DbG9zZVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiA4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjaGlsZFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdlbnVtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1RFUk1JTkFURScsCiAgICAgICAgICAgICAgICAgICAgICAgICdSRVFVRVNUX0NBTkNFTCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdBQkFORE9OJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBuYW1lZCByZXNvdXJjZSBjYW5ub3QgYmUgZm91bmQgd2l0aCBpbiB0aGUgc2NvcGUgb2YgdGhpcyBvcGVyYXRpb24gKHJlZ2lvbiBvciBkb21haW4pLiBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgbmFtZWQgcmVzb3VyY2Ugd2FzIG5ldmVyIGNyZWF0ZWQgb3IgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZSBmb3IgdGhpcyBvcGVyYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdVbmtub3duUmVzb3VyY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBzcGVjaWZpZWQgYWN0aXZpdHkgb3Igd29ya2Zsb3cgdHlwZSB3YXMgYWxyZWFkeSBkZXByZWNhdGVkLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnVHlwZURlcHJlY2F0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBieSBTdGFydFdvcmtmbG93RXhlY3V0aW9uIHdoZW4gYW4gb3BlbiBleGVjdXRpb24gd2l0aCB0aGUgc2FtZSB3b3JrZmxvd0lkIGlzIGFscmVhZHkgcnVubmluZyBpbiB0aGUgc3BlY2lmaWVkIGRvbWFpbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ1dvcmtmbG93RXhlY3V0aW9uQWxyZWFkeVN0YXJ0ZWRFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCBieSBhbnkgb3BlcmF0aW9uIGlmIGEgc3lzdGVtIGltcG9zZWQgbGltaXRhdGlvbiBoYXMgYmVlbiByZWFjaGVkLiBUbyBhZGRyZXNzIHRoaXMgZmF1bHQgeW91IHNob3VsZCBlaXRoZXIgY2xlYW4gdXAgdW51c2VkIHJlc291cmNlcyBvciBpbmNyZWFzZSB0aGUgbGltaXQgYnkgY29udGFjdGluZyBBV1MuJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiAnUmV0dXJuZWQgd2hlbiB0aGUgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBpbnZva2UgdGhlIGFjdGlvbi4nLAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ09wZXJhdGlvbk5vdFBlcm1pdHRlZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnRGVmYXVsdFVuZGVmaW5lZEV4Y2VwdGlvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1Rlcm1pbmF0ZVdvcmtmbG93RXhlY3V0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3VyaScgPT4gJy8nLAogICAgICAgICAgICAnY2xhc3MnID0+ICdBd3NcXENvbW1vblxcQ29tbWFuZFxcSnNvbkNvbW1hbmQnLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ0VtcHR5T3V0cHV0JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgPT4gJ21vZGVsJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdoZWFkZXInLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjb21tYW5kLmV4cGVjdHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzdGF0aWMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnWC1BbXotVGFyZ2V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc3RhdGljJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICdTaW1wbGVXb3JrZmxvd1NlcnZpY2UuVGVybWluYXRlV29ya2Zsb3dFeGVjdXRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdkb21haW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21pbkxlbmd0aCcgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnbWF4TGVuZ3RoJyA9PiAyNTYsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gNjQsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDI1NiwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnID0+IDMyNzY4LAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdjaGlsZFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdlbnVtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1RFUk1JTkFURScsCiAgICAgICAgICAgICAgICAgICAgICAgICdSRVFVRVNUX0NBTkNFTCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdBQkFORE9OJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBuYW1lZCByZXNvdXJjZSBjYW5ub3QgYmUgZm91bmQgd2l0aCBpbiB0aGUgc2NvcGUgb2YgdGhpcyBvcGVyYXRpb24gKHJlZ2lvbiBvciBkb21haW4pLiBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgbmFtZWQgcmVzb3VyY2Ugd2FzIG5ldmVyIGNyZWF0ZWQgb3IgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZSBmb3IgdGhpcyBvcGVyYXRpb24uJywKICAgICAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdVbmtub3duUmVzb3VyY2VFeGNlcHRpb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+ICdSZXR1cm5lZCB3aGVuIHRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIGludm9rZSB0aGUgYWN0aW9uLicsCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnT3BlcmF0aW9uTm90UGVybWl0dGVkRXhjZXB0aW9uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICksCiAgICAnbW9kZWxzJyA9PiBhcnJheSgKICAgICAgICAnV29ya2Zsb3dFeGVjdXRpb25Db3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnY291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3RydW5jYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUGVuZGluZ1Rhc2tDb3VudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnY291bnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3RydW5jYXRlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnRW1wdHlPdXRwdXQnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICApLAogICAgICAgICdBY3Rpdml0eVR5cGVEZXRhaWwnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3R5cGVJbmZvJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnYWN0aXZpdHlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnc3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2NyZWF0aW9uRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdkZXByZWNhdGlvbkRhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdkZWZhdWx0VGFza1N0YXJ0VG9DbG9zZVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdFRhc2tIZWFydGJlYXRUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHRUYXNrTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdkZWZhdWx0VGFza1NjaGVkdWxlVG9TdGFydFRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdFRhc2tTY2hlZHVsZVRvQ2xvc2VUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEb21haW5EZXRhaWwnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2RvbWFpbkluZm8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXR1cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93RXhlY3V0aW9uUmV0ZW50aW9uUGVyaW9kSW5EYXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdXb3JrZmxvd0V4ZWN1dGlvbkRldGFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZXhlY3V0aW9uSW5mbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2V4ZWN1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydFRpbWVzdGFtcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdjbG9zZVRpbWVzdGFtcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdleGVjdXRpb25TdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnY2xvc2VTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAncGFyZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdydW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3RhZ0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnY2FuY2VsUmVxdWVzdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZXhlY3V0aW9uQ29uZmlndXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3Rhc2tTdGFydFRvQ2xvc2VUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2V4ZWN1dGlvblN0YXJ0VG9DbG9zZVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAndGFza0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnY2hpbGRQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ29wZW5Db3VudHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdvcGVuQWN0aXZpdHlUYXNrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnb3BlbkRlY2lzaW9uVGFza3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ29wZW5UaW1lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ29wZW5DaGlsZFdvcmtmbG93RXhlY3V0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2xhdGVzdEFjdGl2aXR5VGFza1RpbWVzdGFtcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdsYXRlc3RFeGVjdXRpb25Db250ZXh0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1dvcmtmbG93VHlwZURldGFpbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndHlwZUluZm8nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdzdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnY3JlYXRpb25EYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2RlcHJlY2F0aW9uRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHRUYXNrU3RhcnRUb0Nsb3NlVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdkZWZhdWx0RXhlY3V0aW9uU3RhcnRUb0Nsb3NlVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdkZWZhdWx0VGFza0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdENoaWxkUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdIaXN0b3J5JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdldmVudHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSGlzdG9yeUV2ZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRUaW1lc3RhbXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93RXhlY3V0aW9uU3RhcnRlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lucHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4ZWN1dGlvblN0YXJ0VG9DbG9zZVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGFza1N0YXJ0VG9DbG9zZVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2hpbGRQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGFza0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGFnTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb250aW51ZWRFeGVjdXRpb25SdW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYXJlbnRXb3JrZmxvd0V4ZWN1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYXJlbnRJbml0aWF0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb25Db21wbGV0ZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbXBsZXRlV29ya2Zsb3dFeGVjdXRpb25GYWlsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYXVzZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb25GYWlsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmFpbFdvcmtmbG93RXhlY3V0aW9uRmFpbGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2F1c2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93RXhlY3V0aW9uVGltZWRPdXRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lb3V0VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb25DYW5jZWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldGFpbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhbmNlbFdvcmtmbG93RXhlY3V0aW9uRmFpbGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2F1c2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93RXhlY3V0aW9uQ29udGludWVkQXNOZXdFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduZXdFeGVjdXRpb25SdW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdleGVjdXRpb25TdGFydFRvQ2xvc2VUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rhc2tMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rhc2tTdGFydFRvQ2xvc2VUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoaWxkUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RhZ0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRpbnVlQXNOZXdXb3JrZmxvd0V4ZWN1dGlvbkZhaWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdXNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza0NvbXBsZXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0V4ZWN1dGlvblRlcm1pbmF0ZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYXVzZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb25DYW5jZWxSZXF1ZXN0ZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdleHRlcm5hbFdvcmtmbG93RXhlY3V0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdydW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4dGVybmFsSW5pdGlhdGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2F1c2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza1NjaGVkdWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rhc2tMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0VG9DbG9zZVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza1N0YXJ0ZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpZGVudGl0eScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2hlZHVsZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXhlY3V0aW9uQ29udGV4dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2hlZHVsZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza1RpbWVkT3V0RXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltZW91dFR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NoZWR1bGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhcnRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhY3Rpdml0eVRhc2tTY2hlZHVsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhY3Rpdml0eVR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhY3Rpdml0eUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lucHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NoZWR1bGVUb1N0YXJ0VGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2hlZHVsZVRvQ2xvc2VUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0VG9DbG9zZVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGFza0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVhcnRiZWF0VGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWN0aXZpdHlUYXNrU3RhcnRlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lkZW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjaGVkdWxlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhY3Rpdml0eVRhc2tDb21wbGV0ZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NoZWR1bGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhcnRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhY3Rpdml0eVRhc2tGYWlsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWFzb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2hlZHVsZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2aXR5VGFza1RpbWVkT3V0RXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltZW91dFR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NoZWR1bGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhcnRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldGFpbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2aXR5VGFza0NhbmNlbGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2hlZHVsZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGF0ZXN0Q2FuY2VsUmVxdWVzdGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2aXR5VGFza0NhbmNlbFJlcXVlc3RlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza0NvbXBsZXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2aXR5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93RXhlY3V0aW9uU2lnbmFsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaWduYWxOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lucHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4dGVybmFsV29ya2Zsb3dFeGVjdXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXh0ZXJuYWxJbml0aWF0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWFya2VyUmVjb3JkZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXJrZXJOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldGFpbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlY29yZE1hcmtlckZhaWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcmtlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2F1c2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWVyU3RhcnRlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udHJvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydFRvRmlyZVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWVyRmlyZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltZXJDYW5jZWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhcnRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza0NvbXBsZXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydENoaWxkV29ya2Zsb3dFeGVjdXRpb25Jbml0aWF0ZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5wdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXhlY3V0aW9uU3RhcnRUb0Nsb3NlVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0YXNrTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0YXNrU3RhcnRUb0Nsb3NlVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0YWdMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RhZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZFdvcmtmbG93RXhlY3V0aW9uU3RhcnRlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93RXhlY3V0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdydW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luaXRpYXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZFdvcmtmbG93RXhlY3V0aW9uQ29tcGxldGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVzdWx0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luaXRpYXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2hpbGRXb3JrZmxvd0V4ZWN1dGlvbkZhaWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93RXhlY3V0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdydW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXRhaWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luaXRpYXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2hpbGRXb3JrZmxvd0V4ZWN1dGlvblRpbWVkT3V0RXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltZW91dFR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5pdGlhdGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhcnRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZFdvcmtmbG93RXhlY3V0aW9uQ2FuY2VsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0V4ZWN1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXRhaWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luaXRpYXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2hpbGRXb3JrZmxvd0V4ZWN1dGlvblRlcm1pbmF0ZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0V4ZWN1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbml0aWF0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NpZ25hbEV4dGVybmFsV29ya2Zsb3dFeGVjdXRpb25Jbml0aWF0ZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NpZ25hbE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5wdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udHJvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXh0ZXJuYWxXb3JrZmxvd0V4ZWN1dGlvblNpZ25hbGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5pdGlhdGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NpZ25hbEV4dGVybmFsV29ya2Zsb3dFeGVjdXRpb25GYWlsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdXNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luaXRpYXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza0NvbXBsZXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4dGVybmFsV29ya2Zsb3dFeGVjdXRpb25DYW5jZWxSZXF1ZXN0ZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0V4ZWN1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbml0aWF0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWVzdENhbmNlbEV4dGVybmFsV29ya2Zsb3dFeGVjdXRpb25Jbml0aWF0ZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza0NvbXBsZXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVlc3RDYW5jZWxFeHRlcm5hbFdvcmtmbG93RXhlY3V0aW9uRmFpbGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdydW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYXVzZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbml0aWF0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb250cm9sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2hlZHVsZUFjdGl2aXR5VGFza0ZhaWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2aXR5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2aXR5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2F1c2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVlc3RDYW5jZWxBY3Rpdml0eVRhc2tGYWlsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhY3Rpdml0eUlkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdXNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza0NvbXBsZXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydFRpbWVyRmFpbGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYXVzZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2FuY2VsVGltZXJGYWlsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdXNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza0NvbXBsZXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydENoaWxkV29ya2Zsb3dFeGVjdXRpb25GYWlsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYXVzZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luaXRpYXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza0NvbXBsZXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ25leHRQYWdlVG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnQWN0aXZpdHlUeXBlSW5mb3MnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3R5cGVJbmZvcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdBY3Rpdml0eVR5cGVJbmZvJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWN0aXZpdHlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY3JlYXRpb25EYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlcHJlY2F0aW9uRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICduZXh0UGFnZVRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ1dvcmtmbG93RXhlY3V0aW9uSW5mb3MnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2V4ZWN1dGlvbkluZm9zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1dvcmtmbG93RXhlY3V0aW9uSW5mbycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4ZWN1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhcnRUaW1lc3RhbXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2xvc2VUaW1lc3RhbXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXhlY3V0aW9uU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Nsb3NlU3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhcmVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RhZ0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhbmNlbFJlcXVlc3RlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbmV4dFBhZ2VUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEb21haW5JbmZvcycgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZG9tYWluSW5mb3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRG9tYWluSW5mbycsCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhdHVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ25leHRQYWdlVG9rZW4nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnV29ya2Zsb3dUeXBlSW5mb3MnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3R5cGVJbmZvcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdXb3JrZmxvd1R5cGVJbmZvJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY3JlYXRpb25EYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlcHJlY2F0aW9uRGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICduZXh0UGFnZVRva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ0FjdGl2aXR5VGFzaycgPT4gYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiB0cnVlLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndGFza1Rva2VuJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2FjdGl2aXR5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnc3RhcnRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3dvcmtmbG93RXhlY3V0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdydW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnYWN0aXZpdHlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdpbnB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdEZWNpc2lvblRhc2snID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rhc2tUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdzdGFydGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd3b3JrZmxvd1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2V2ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdIaXN0b3J5RXZlbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdldmVudFRpbWVzdGFtcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdldmVudFR5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb25TdGFydGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5wdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXhlY3V0aW9uU3RhcnRUb0Nsb3NlVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0YXNrU3RhcnRUb0Nsb3NlVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZFBvbGljeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0YXNrTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0YWdMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ1RhZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRpbnVlZEV4ZWN1dGlvblJ1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhcmVudFdvcmtmbG93RXhlY3V0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdydW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhcmVudEluaXRpYXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0V4ZWN1dGlvbkNvbXBsZXRlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29tcGxldGVXb3JrZmxvd0V4ZWN1dGlvbkZhaWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdXNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza0NvbXBsZXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0V4ZWN1dGlvbkZhaWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXRhaWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza0NvbXBsZXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmYWlsV29ya2Zsb3dFeGVjdXRpb25GYWlsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYXVzZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb25UaW1lZE91dEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWVvdXRUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoaWxkUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0V4ZWN1dGlvbkNhbmNlbGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2FuY2VsV29ya2Zsb3dFeGVjdXRpb25GYWlsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYXVzZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb25Db250aW51ZWRBc05ld0V2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lucHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza0NvbXBsZXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25ld0V4ZWN1dGlvblJ1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4ZWN1dGlvblN0YXJ0VG9DbG9zZVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGFza0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGFza1N0YXJ0VG9DbG9zZVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2hpbGRQb2xpY3knID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGFnTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdUYWcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udGludWVBc05ld1dvcmtmbG93RXhlY3V0aW9uRmFpbGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2F1c2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93RXhlY3V0aW9uVGVybWluYXRlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXRhaWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoaWxkUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdXNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0V4ZWN1dGlvbkNhbmNlbFJlcXVlc3RlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4dGVybmFsV29ya2Zsb3dFeGVjdXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXh0ZXJuYWxJbml0aWF0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYXVzZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrU2NoZWR1bGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGFza0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhcnRUb0Nsb3NlVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrU3RhcnRlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lkZW50aXR5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjaGVkdWxlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdleGVjdXRpb25Db250ZXh0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjaGVkdWxlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrVGltZWRPdXRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lb3V0VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2hlZHVsZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2aXR5VGFza1NjaGVkdWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2aXR5VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2aXR5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5wdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udHJvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2hlZHVsZVRvU3RhcnRUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjaGVkdWxlVG9DbG9zZVRpbWVvdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhcnRUb0Nsb3NlVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0YXNrTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWFydGJlYXRUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhY3Rpdml0eVRhc2tTdGFydGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaWRlbnRpdHknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NoZWR1bGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2aXR5VGFza0NvbXBsZXRlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc3VsdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2hlZHVsZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2aXR5VGFza0ZhaWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXRhaWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjaGVkdWxlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWN0aXZpdHlUYXNrVGltZWRPdXRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lb3V0VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2hlZHVsZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWN0aXZpdHlUYXNrQ2FuY2VsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXRhaWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjaGVkdWxlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsYXRlc3RDYW5jZWxSZXF1ZXN0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWN0aXZpdHlUYXNrQ2FuY2VsUmVxdWVzdGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWN0aXZpdHlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb25TaWduYWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NpZ25hbE5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5wdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXh0ZXJuYWxXb3JrZmxvd0V4ZWN1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdleHRlcm5hbEluaXRpYXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXJrZXJSZWNvcmRlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcmtlck5hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV0YWlscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVjb3JkTWFya2VyRmFpbGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWFya2VyTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYXVzZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltZXJTdGFydGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb250cm9sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0VG9GaXJlVGltZW91dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltZXJGaXJlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhcnRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lckNhbmNlbGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0Q2hpbGRXb3JrZmxvd0V4ZWN1dGlvbkluaXRpYXRlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udHJvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdleGVjdXRpb25TdGFydFRvQ2xvc2VUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rhc2tMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza0NvbXBsZXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoaWxkUG9saWN5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rhc2tTdGFydFRvQ2xvc2VUaW1lb3V0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RhZ0xpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGFnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoaWxkV29ya2Zsb3dFeGVjdXRpb25TdGFydGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5pdGlhdGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoaWxkV29ya2Zsb3dFeGVjdXRpb25Db21wbGV0ZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0V4ZWN1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXN1bHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5pdGlhdGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhcnRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZFdvcmtmbG93RXhlY3V0aW9uRmFpbGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVhc29uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldGFpbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5pdGlhdGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhcnRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZFdvcmtmbG93RXhlY3V0aW9uVGltZWRPdXRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0V4ZWN1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd1R5cGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lb3V0VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbml0aWF0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFydGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoaWxkV29ya2Zsb3dFeGVjdXRpb25DYW5jZWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93RXhlY3V0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdydW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldGFpbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5pdGlhdGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhcnRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZFdvcmtmbG93RXhlY3V0aW9uVGVybWluYXRlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93RXhlY3V0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdydW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luaXRpYXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2lnbmFsRXh0ZXJuYWxXb3JrZmxvd0V4ZWN1dGlvbkluaXRpYXRlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2lnbmFsTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb250cm9sJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdleHRlcm5hbFdvcmtmbG93RXhlY3V0aW9uU2lnbmFsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0V4ZWN1dGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbml0aWF0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2lnbmFsRXh0ZXJuYWxXb3JrZmxvd0V4ZWN1dGlvbkZhaWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2F1c2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5pdGlhdGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udHJvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXh0ZXJuYWxXb3JrZmxvd0V4ZWN1dGlvbkNhbmNlbFJlcXVlc3RlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93RXhlY3V0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29ya2Zsb3dJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdydW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luaXRpYXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1ZXN0Q2FuY2VsRXh0ZXJuYWxXb3JrZmxvd0V4ZWN1dGlvbkluaXRpYXRlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncnVuSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udHJvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWVzdENhbmNlbEV4dGVybmFsV29ya2Zsb3dFeGVjdXRpb25GYWlsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZmxvd0lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdXNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luaXRpYXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza0NvbXBsZXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRyb2wnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjaGVkdWxlQWN0aXZpdHlUYXNrRmFpbGVkRXZlbnRBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWN0aXZpdHlUeXBlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWN0aXZpdHlJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYXVzZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWNpc2lvblRhc2tDb21wbGV0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWVzdENhbmNlbEFjdGl2aXR5VGFza0ZhaWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2aXR5SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2F1c2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0VGltZXJGYWlsZWRFdmVudEF0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lcklkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdXNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlY2lzaW9uVGFza0NvbXBsZXRlZEV2ZW50SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYW5jZWxUaW1lckZhaWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWVySWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2F1c2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0Q2hpbGRXb3JrZmxvd0V4ZWN1dGlvbkZhaWxlZEV2ZW50QXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93VHlwZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdXNlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtmbG93SWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5pdGlhdGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVjaXNpb25UYXNrQ29tcGxldGVkRXZlbnRJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udHJvbCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnbmV4dFBhZ2VUb2tlbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdwcmV2aW91c1N0YXJ0ZWRFdmVudElkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdBY3Rpdml0eVRhc2tTdGF0dXMnID0+IGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2NhbmNlbFJlcXVlc3RlZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sZWFuJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgICAnUnVuJyA9PiBhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdydW5JZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKICAgICdpdGVyYXRvcnMnID0+IGFycmF5KAogICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ0dldFdvcmtmbG93RXhlY3V0aW9uSGlzdG9yeScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndG9rZW5fcGFyYW0nID0+ICduZXh0UGFnZVRva2VuJywKICAgICAgICAgICAgICAgICd0b2tlbl9rZXknID0+ICduZXh0UGFnZVRva2VuJywKICAgICAgICAgICAgICAgICdsaW1pdF9rZXknID0+ICdtYXhpbXVtUGFnZVNpemUnLAogICAgICAgICAgICAgICAgJ3Jlc3VsdF9rZXknID0+ICdldmVudHMnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdEFjdGl2aXR5VHlwZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnbmV4dFBhZ2VUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnbmV4dFBhZ2VUb2tlbicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnbWF4aW11bVBhZ2VTaXplJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAndHlwZUluZm9zJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xpc3RDbG9zZWRXb3JrZmxvd0V4ZWN1dGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnbmV4dFBhZ2VUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnbmV4dFBhZ2VUb2tlbicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnbWF4aW11bVBhZ2VTaXplJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnZXhlY3V0aW9uSW5mb3MnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdERvbWFpbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnbmV4dFBhZ2VUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnbmV4dFBhZ2VUb2tlbicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnbWF4aW11bVBhZ2VTaXplJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnZG9tYWluSW5mb3MnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdE9wZW5Xb3JrZmxvd0V4ZWN1dGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnbmV4dFBhZ2VUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnbmV4dFBhZ2VUb2tlbicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnbWF4aW11bVBhZ2VTaXplJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnZXhlY3V0aW9uSW5mb3MnLAogICAgICAgICAgICApLAogICAgICAgICAgICAnTGlzdFdvcmtmbG93VHlwZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnbmV4dFBhZ2VUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnbmV4dFBhZ2VUb2tlbicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnbWF4aW11bVBhZ2VTaXplJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAndHlwZUluZm9zJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ1BvbGxGb3JEZWNpc2lvblRhc2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rva2VuX3BhcmFtJyA9PiAnbmV4dFBhZ2VUb2tlbicsCiAgICAgICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAnbmV4dFBhZ2VUb2tlbicsCiAgICAgICAgICAgICAgICAnbGltaXRfa2V5JyA9PiAnbWF4aW11bVBhZ2VTaXplJywKICAgICAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnZXZlbnRzJywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgKSwKKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/src/Aws/Swf/SwfClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcU3dmOwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50Owp1c2UgQXdzXENvbW1vblxDbGllbnRcQ2xpZW50QnVpbGRlcjsKdXNlIEF3c1xDb21tb25cRW51bVxDbGllbnRPcHRpb25zIGFzIE9wdGlvbnM7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXJcSnNvblF1ZXJ5RXhjZXB0aW9uUGFyc2VyOwp1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlOwoKLyoqCiAqIENsaWVudCB0byBpbnRlcmFjdCB3aXRoIEFtYXpvbiBTaW1wbGUgV29ya2Zsb3cgU2VydmljZQogKgogKiBAbWV0aG9kIE1vZGVsIGNvdW50Q2xvc2VkV29ya2Zsb3dFeGVjdXRpb25zKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBDb3VudENsb3NlZFdvcmtmbG93RXhlY3V0aW9uc30KICogQG1ldGhvZCBNb2RlbCBjb3VudE9wZW5Xb3JrZmxvd0V4ZWN1dGlvbnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3dmIENvdW50T3BlbldvcmtmbG93RXhlY3V0aW9uc30KICogQG1ldGhvZCBNb2RlbCBjb3VudFBlbmRpbmdBY3Rpdml0eVRhc2tzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBDb3VudFBlbmRpbmdBY3Rpdml0eVRhc2tzfQogKiBAbWV0aG9kIE1vZGVsIGNvdW50UGVuZGluZ0RlY2lzaW9uVGFza3MoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3dmIENvdW50UGVuZGluZ0RlY2lzaW9uVGFza3N9CiAqIEBtZXRob2QgTW9kZWwgZGVwcmVjYXRlQWN0aXZpdHlUeXBlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBEZXByZWNhdGVBY3Rpdml0eVR5cGV9CiAqIEBtZXRob2QgTW9kZWwgZGVwcmVjYXRlRG9tYWluKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBEZXByZWNhdGVEb21haW59CiAqIEBtZXRob2QgTW9kZWwgZGVwcmVjYXRlV29ya2Zsb3dUeXBlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBEZXByZWNhdGVXb3JrZmxvd1R5cGV9CiAqIEBtZXRob2QgTW9kZWwgZGVzY3JpYmVBY3Rpdml0eVR5cGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3dmIERlc2NyaWJlQWN0aXZpdHlUeXBlfQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlRG9tYWluKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBEZXNjcmliZURvbWFpbn0KICogQG1ldGhvZCBNb2RlbCBkZXNjcmliZVdvcmtmbG93RXhlY3V0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBEZXNjcmliZVdvcmtmbG93RXhlY3V0aW9ufQogKiBAbWV0aG9kIE1vZGVsIGRlc2NyaWJlV29ya2Zsb3dUeXBlKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBEZXNjcmliZVdvcmtmbG93VHlwZX0KICogQG1ldGhvZCBNb2RlbCBnZXRXb3JrZmxvd0V4ZWN1dGlvbkhpc3RvcnkoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3dmIEdldFdvcmtmbG93RXhlY3V0aW9uSGlzdG9yeX0KICogQG1ldGhvZCBNb2RlbCBsaXN0QWN0aXZpdHlUeXBlcyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTd2YgTGlzdEFjdGl2aXR5VHlwZXN9CiAqIEBtZXRob2QgTW9kZWwgbGlzdENsb3NlZFdvcmtmbG93RXhlY3V0aW9ucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTd2YgTGlzdENsb3NlZFdvcmtmbG93RXhlY3V0aW9uc30KICogQG1ldGhvZCBNb2RlbCBsaXN0RG9tYWlucyhhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTd2YgTGlzdERvbWFpbnN9CiAqIEBtZXRob2QgTW9kZWwgbGlzdE9wZW5Xb3JrZmxvd0V4ZWN1dGlvbnMoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3dmIExpc3RPcGVuV29ya2Zsb3dFeGVjdXRpb25zfQogKiBAbWV0aG9kIE1vZGVsIGxpc3RXb3JrZmxvd1R5cGVzKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBMaXN0V29ya2Zsb3dUeXBlc30KICogQG1ldGhvZCBNb2RlbCBwb2xsRm9yQWN0aXZpdHlUYXNrKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBQb2xsRm9yQWN0aXZpdHlUYXNrfQogKiBAbWV0aG9kIE1vZGVsIHBvbGxGb3JEZWNpc2lvblRhc2soYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3dmIFBvbGxGb3JEZWNpc2lvblRhc2t9CiAqIEBtZXRob2QgTW9kZWwgcmVjb3JkQWN0aXZpdHlUYXNrSGVhcnRiZWF0KGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBSZWNvcmRBY3Rpdml0eVRhc2tIZWFydGJlYXR9CiAqIEBtZXRob2QgTW9kZWwgcmVnaXN0ZXJBY3Rpdml0eVR5cGUoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3dmIFJlZ2lzdGVyQWN0aXZpdHlUeXBlfQogKiBAbWV0aG9kIE1vZGVsIHJlZ2lzdGVyRG9tYWluKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBSZWdpc3RlckRvbWFpbn0KICogQG1ldGhvZCBNb2RlbCByZWdpc3RlcldvcmtmbG93VHlwZShhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTd2YgUmVnaXN0ZXJXb3JrZmxvd1R5cGV9CiAqIEBtZXRob2QgTW9kZWwgcmVxdWVzdENhbmNlbFdvcmtmbG93RXhlY3V0aW9uKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBSZXF1ZXN0Q2FuY2VsV29ya2Zsb3dFeGVjdXRpb259CiAqIEBtZXRob2QgTW9kZWwgcmVzcG9uZEFjdGl2aXR5VGFza0NhbmNlbGVkKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBSZXNwb25kQWN0aXZpdHlUYXNrQ2FuY2VsZWR9CiAqIEBtZXRob2QgTW9kZWwgcmVzcG9uZEFjdGl2aXR5VGFza0NvbXBsZXRlZChhcnJheSAkYXJncyA9IGFycmF5KCkpIHtAY29tbWFuZCBTd2YgUmVzcG9uZEFjdGl2aXR5VGFza0NvbXBsZXRlZH0KICogQG1ldGhvZCBNb2RlbCByZXNwb25kQWN0aXZpdHlUYXNrRmFpbGVkKGFycmF5ICRhcmdzID0gYXJyYXkoKSkge0Bjb21tYW5kIFN3ZiBSZXNwb25kQWN0aXZpdHlUYXNrRmFpbGVkfQogKiBAbWV0aG9kIE1vZGVsIHJlc3BvbmREZWNpc2lvblRhc2tDb21wbGV0ZWQoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3dmIFJlc3BvbmREZWNpc2lvblRhc2tDb21wbGV0ZWR9CiAqIEBtZXRob2QgTW9kZWwgc2lnbmFsV29ya2Zsb3dFeGVjdXRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3dmIFNpZ25hbFdvcmtmbG93RXhlY3V0aW9ufQogKiBAbWV0aG9kIE1vZGVsIHN0YXJ0V29ya2Zsb3dFeGVjdXRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3dmIFN0YXJ0V29ya2Zsb3dFeGVjdXRpb259CiAqIEBtZXRob2QgTW9kZWwgdGVybWluYXRlV29ya2Zsb3dFeGVjdXRpb24oYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSB7QGNvbW1hbmQgU3dmIFRlcm1pbmF0ZVdvcmtmbG93RXhlY3V0aW9ufQogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0R2V0V29ya2Zsb3dFeGVjdXRpb25IaXN0b3J5SXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgR2V0V29ya2Zsb3dFeGVjdXRpb25IaXN0b3J5IG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdEFjdGl2aXR5VHlwZXNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0QWN0aXZpdHlUeXBlcyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RDbG9zZWRXb3JrZmxvd0V4ZWN1dGlvbnNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0Q2xvc2VkV29ya2Zsb3dFeGVjdXRpb25zIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0TGlzdERvbWFpbnNJdGVyYXRvcihhcnJheSAkYXJncyA9IGFycmF5KCkpIFRoZSBpbnB1dCBhcnJheSB1c2VzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBMaXN0RG9tYWlucyBvcGVyYXRpb24KICogQG1ldGhvZCBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIGdldExpc3RPcGVuV29ya2Zsb3dFeGVjdXRpb25zSXRlcmF0b3IoYXJyYXkgJGFyZ3MgPSBhcnJheSgpKSBUaGUgaW5wdXQgYXJyYXkgdXNlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgTGlzdE9wZW5Xb3JrZmxvd0V4ZWN1dGlvbnMgb3BlcmF0aW9uCiAqIEBtZXRob2QgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSBnZXRMaXN0V29ya2Zsb3dUeXBlc0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIExpc3RXb3JrZmxvd1R5cGVzIG9wZXJhdGlvbgogKiBAbWV0aG9kIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZ2V0UG9sbEZvckRlY2lzaW9uVGFza0l0ZXJhdG9yKGFycmF5ICRhcmdzID0gYXJyYXkoKSkgVGhlIGlucHV0IGFycmF5IHVzZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIFBvbGxGb3JEZWNpc2lvblRhc2sgb3BlcmF0aW9uCiAqCiAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9zZXJ2aWNlLXN3Zi5odG1sIFVzZXIgZ3VpZGUKICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzLXNkay1waHAvbGF0ZXN0L2NsYXNzLUF3cy5Td2YuU3dmQ2xpZW50Lmh0bWwgQVBJIGRvY3MKICovCmNsYXNzIFN3ZkNsaWVudCBleHRlbmRzIEFic3RyYWN0Q2xpZW50CnsKICAgIGNvbnN0IExBVEVTVF9BUElfVkVSU0lPTiA9ICcyMDEyLTAxLTI1JzsKCiAgICAvKioKICAgICAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBBbWF6b24gU2ltcGxlIFdvcmtmbG93IFNlcnZpY2UgY2xpZW50IHVzaW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEF3c1xDb21tb25cQ2xpZW50XERlZmF1bHRDbGllbnQgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeShfX05BTUVTUEFDRV9fKQogICAgICAgICAgICAtPnNldENvbmZpZygkY29uZmlnKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgT3B0aW9uczo6VkVSU0lPTiAgICAgICAgICAgICA9PiBzZWxmOjpMQVRFU1RfQVBJX1ZFUlNJT04sCiAgICAgICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnL1Jlc291cmNlcy9zd2YtJXMucGhwJwogICAgICAgICAgICApKQogICAgICAgICAgICAtPnNldEV4Y2VwdGlvblBhcnNlcihuZXcgSnNvblF1ZXJ5RXhjZXB0aW9uUGFyc2VyKCkpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/AutoScaling/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/AutoScaling/AutoScalingClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQXV0b1NjYWxpbmc7Cgp1c2UgQXdzXEF1dG9TY2FsaW5nXEF1dG9TY2FsaW5nQ2xpZW50OwoKY2xhc3MgQXV0b1NjYWxpbmdDbGllbnRUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXEF1dG9TY2FsaW5nXEF1dG9TY2FsaW5nQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gQXV0b1NjYWxpbmdDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLXdlc3QtMicKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0JywgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzJywgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9hdXRvc2NhbGluZy51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/AutoScaling/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/AutoScaling/Integration/AutoScaling_20110101_Test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQXV0b1NjYWxpbmdcSW50ZWdyYXRpb247Cgp1c2UgQXdzXEF1dG9TY2FsaW5nXEF1dG9TY2FsaW5nQ2xpZW50Owp1c2UgQXdzXEVjMlxFbnVtXEluc3RhbmNlVHlwZTsKCi8qKgogKiBAZ3JvdXAgaW50ZWdyYXRpb24KICogQGdyb3VwIGV4YW1wbGUKICovCmNsYXNzIEF1dG9TY2FsaW5nXzIwMTEwMTAxX1Rlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgY29uc3QgVEVTVF9BTUkgPSAnYW1pLTQ5ZWM1YTIwJzsKICAgIGNvbnN0IExBVU5DSF9OQU1FID0gJ3BocC1pbnRlZy1hcy1sYXVuY2gtY29uZmlnJzsKCiAgICAvKiogQHZhciBBdXRvU2NhbGluZ0NsaWVudCAqLwogICAgcHJvdGVjdGVkICRhdXRvc2NhbGluZzsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5hdXRvc2NhbGluZyA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2F1dG9zY2FsaW5nJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uCiAgICAgKgogICAgICogQGV4YW1wbGUgQXdzXEF1dG9TY2FsaW5nXEF1dG9TY2FsaW5nQ2xpZW50OjpjcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uCiAgICAgKiBAZXhhbXBsZSBBd3NcQXV0b1NjYWxpbmdcQXV0b1NjYWxpbmdDbGllbnQ6OmNyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uKCkKICAgIHsKICAgICAgICAkbGF1bmNoQ29uZmlnTmFtZSA9IHNlbGY6OkxBVU5DSF9OQU1FOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+YXV0b3NjYWxpbmc7CiAgICAgICAgc2VsZjo6bG9nKCdDcmVhdGUgYSBsYXVuY2ggY29uZmlndXJhdGlvbi4nKTsKCiAgICAgICAgLy8gQGJlZ2luCiAgICAgICAgJGNsaWVudC0+Y3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvbihhcnJheSgKICAgICAgICAgICAgJ0xhdW5jaENvbmZpZ3VyYXRpb25OYW1lJyA9PiAkbGF1bmNoQ29uZmlnTmFtZSwKICAgICAgICAgICAgJ0ltYWdlSWQnICAgICAgICAgICAgICAgICA9PiBzZWxmOjpURVNUX0FNSSwKICAgICAgICAgICAgJ0luc3RhbmNlVHlwZScgICAgICAgICAgICA9PiBJbnN0YW5jZVR5cGU6Ok0xX1NNQUxMLAogICAgICAgICkpOwogICAgfQoKICAgIC8qKgogICAgICogSXRlcmF0ZSBvdmVyIHRoZSByZXN1bHRzIG9mIERlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvbnMKICAgICAqCiAgICAgKiBAZXhhbXBsZSBBd3NcQXV0b1NjYWxpbmdcQXV0b1NjYWxpbmdDbGllbnQ6OmRlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvbnMKICAgICAqIEBkZXBlbmRzIHRlc3RDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TGlzdHNMYXVuY2hDb25maWdzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmF1dG9zY2FsaW5nOwogICAgICAgIHNlbGY6OmxvZygnTWFrZSBzdXJlIGl0ZXJhdG9ycyB3b3JrIGJ5IGl0ZXJhdGluZyBsYXVuY2ggY29uZmlndXJhdGlvbnMuJyk7CiAgICAgICAgLy8gQGJlZ2luCiAgICAgICAgJGl0ZXJhdG9yID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ0Rlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvbnMnKTsKICAgICAgICBmb3JlYWNoICgkaXRlcmF0b3IgYXMgJGxhdW5jaENvbmZpZykgewogICAgICAgICAgICB2YXJfZXhwb3J0KCRsYXVuY2hDb25maWcpOwogICAgICAgIH0KICAgICAgICAvLyBlbmQKICAgICAgICAkaXRlcmF0b3ItPnJld2luZCgpOwogICAgICAgICRjb25maWdzID0gJGl0ZXJhdG9yLT50b0FycmF5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEdyZWF0ZXJUaGFuT3JFcXVhbCgxLCAkY29uZmlncyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdMYXVuY2hDb25maWd1cmF0aW9uTmFtZScsICRjb25maWdzWzBdKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RMaXN0c0xhdW5jaENvbmZpZ3MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYW5kbGVzRXJyb3JzKCkKICAgIHsKICAgICAgICAkbGF1bmNoQ29uZmlnTmFtZSA9IHNlbGY6OkxBVU5DSF9OQU1FOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+YXV0b3NjYWxpbmc7CgogICAgICAgIC8vIEBiZWdpbgogICAgICAgIC8vIENyZWF0ZSBhIGxhdW5jaCBjb25maWd1cmF0aW9uIHdpdGggZXJyb3IgaGFuZGxpbmcKICAgICAgICB0cnkgewogICAgICAgICAgICAkY2xpZW50LT5jcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uKGFycmF5KAogICAgICAgICAgICAgICAgJ0xhdW5jaENvbmZpZ3VyYXRpb25OYW1lJyA9PiAkbGF1bmNoQ29uZmlnTmFtZSwKICAgICAgICAgICAgICAgICdJbWFnZUlkJyAgICAgICAgICAgICAgICAgPT4gc2VsZjo6VEVTVF9BTUksCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VUeXBlJyAgICAgICAgICAgID0+IEluc3RhbmNlVHlwZTo6TTFfU01BTEwsCiAgICAgICAgICAgICkpOwogICAgICAgICAgICAkdGhpcy0+ZmFpbCgnQW4gZXhjZXB0aW9uIHNob3VsZCBoYXZlIGJlZW4gdGhyb3duJyk7CiAgICAgICAgfSBjYXRjaCAoXEF3c1xBdXRvU2NhbGluZ1xFeGNlcHRpb25cQXV0b1NjYWxpbmdFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgaWYgKCRlLT5nZXRDb2RlKCkgPT0gJ0FscmVhZHlFeGlzdHMnKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXEF1dG9TY2FsaW5nXEV4Y2VwdGlvblxBbHJlYWR5RXhpc3RzRXhjZXB0aW9uJywgJGUpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGhyb3cgJGU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBEZWxldGUgYSBsYXVuY2ggY29uZmlndXJhdGlvbgogICAgICoKICAgICAqIEBleGFtcGxlIEF3c1xBdXRvU2NhbGluZ1xBdXRvU2NhbGluZ0NsaWVudDo6ZGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvbgogICAgICogQGRlcGVuZHMgdGVzdEhhbmRsZXNFcnJvcnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZWxldGVzTGF1bmNoQ29uZmlncygpCiAgICB7CiAgICAgICAgJGxhdW5jaENvbmZpZ05hbWUgPSBzZWxmOjpMQVVOQ0hfTkFNRTsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmF1dG9zY2FsaW5nOwogICAgICAgIHNlbGY6OmxvZygnRGVsZXRlIHRoZSBsYXVuY2ggY29uZmlndXJhdGlvbi4nKTsKCiAgICAgICAgLy8gQGJlZ2luCiAgICAgICAgJGNsaWVudC0+ZGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvbihhcnJheSgKICAgICAgICAgICAgJ0xhdW5jaENvbmZpZ3VyYXRpb25OYW1lJyA9PiAkbGF1bmNoQ29uZmlnTmFtZSwKICAgICAgICApKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFormation/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFormation/CloudFormationClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRGb3JtYXRpb247Cgp1c2UgQXdzXENsb3VkRm9ybWF0aW9uXENsb3VkRm9ybWF0aW9uQ2xpZW50OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXENsb3VkRm9ybWF0aW9uXENsb3VkRm9ybWF0aW9uQ2xpZW50CiAqLwpjbGFzcyBDbG91ZEZvcm1hdGlvbkNsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gQ2xvdWRGb3JtYXRpb25DbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLXdlc3QtMicKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0JywgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzJywgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9jbG91ZGZvcm1hdGlvbi51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFormation/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFormation/Integration/CloudFormation_20100515_Test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRGb3JtYXRpb25cSW50ZWdyYXRpb247Cgp1c2UgR3V6emxlXEh0dHBcVXJsOwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKiBAZ3JvdXAgZXhhbXBsZQogKi8KY2xhc3MgQ2xvdWRGb3JtYXRpb25fMjAxMDA1MTVfVGVzdCBleHRlbmRzIFxBd3NcVGVzdHNcSW50ZWdyYXRpb25UZXN0Q2FzZQp7CiAgICAvKiogQHZhciBcQXdzXENsb3VkRm9ybWF0aW9uXENsb3VkRm9ybWF0aW9uQ2xpZW50ICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdjbG91ZGZvcm1hdGlvbicsIHRydWUpOwogICAgfQoKICAgIC8qKgogICAgICogRW5zdXJlcyB0aGF0IHRoZSBjbGllbnQgbWFyc2hhbHMgY29ycmVjdGx5CiAgICAgKgogICAgICogQGV4YW1wbGUgQXdzXENsb3VkRm9ybWF0aW9uXENsb3VkRm9ybWF0aW9uQ2xpZW50Ojplc3RpbWF0ZVRlbXBsYXRlQ29zdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVzdGltYXRlc1RlbXBsYXRlQ29zdHMoKQogICAgewogICAgICAgIHNlbGY6OmxvZygnRXN0aW1hdGUgYSB0ZW1wbGF0ZVwncyBjb3N0LicpOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgICR0ZW1wbGF0ZUJvZHkgPSBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fIC4gJy90ZW1wbGF0ZS5qc29uJyk7CgogICAgICAgIC8vIEBiZWdpbgogICAgICAgICRyZXN1bHQgPSAkY2xpZW50LT5lc3RpbWF0ZVRlbXBsYXRlQ29zdChhcnJheSgKICAgICAgICAgICAgJ1RlbXBsYXRlQm9keScgPT4gJHRlbXBsYXRlQm9keSwKICAgICAgICAgICAgJ1BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoJ1BhcmFtZXRlcktleScgPT4gJ0tleU5hbWUnLCAnUGFyYW1ldGVyVmFsdWUnID0+ICdrZXlwYWlyLW5hbWUnKSwKICAgICAgICAgICAgKSwKICAgICAgICApKTsKCiAgICAgICAgZWNobyAnUmVzdWx0IFVSTDogJyAuICRyZXN1bHRbJ1VybCddIC4gIlxuIjsKICAgICAgICAvLyBAZW5kCgogICAgICAgICR1cmwgPSBVcmw6OmZhY3RvcnkoJHJlc3VsdFsnVXJsJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2NhbGN1bGF0b3IuczMuYW1hem9uYXdzLmNvbScsICR1cmwtPmdldEhvc3QoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBJdGVyYXRlIG92ZXIgdGhlIHJlc3VsdHMgb2YgYSBMaXN0U3RhY2tzIG9wZXJhdGlvbgogICAgICoKICAgICAqIEBleGFtcGxlIEF3c1xDbG91ZEZvcm1hdGlvblxDbG91ZEZvcm1hdGlvbkNsaWVudDo6bGlzdFN0YWNrcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExpc3RTdGFja3NDb21tYW5kQW5kSXRlcmF0b3IoKQogICAgewogICAgICAgIHNlbGY6OmxvZygnRXhlY3V0ZSBhIExpc3RKb2JzIGNvbW1hbmQgYW5kIGl0ZXJhdG9yIGFuZCB2ZXJpZnkgdGhhdCB0aGUgcmVzdWx0cyBhcmUgdGhlIHNhbWUuJyk7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgLy8gQGJlZ2luCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jbGllbnQtPmxpc3RTdGFja3MoKTsKICAgICAgICAkc3RhY2tzID0gJHJlc3VsdFsnU3RhY2tTdW1tYXJpZXMnXTsKCiAgICAgICAgLy8gT3IgbG9hZCB0aGUgc3RhY2tzIGFzIGFuIGl0ZXJhdG9yCiAgICAgICAgJGl0ZXJhdG9yID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ0xpc3RTdGFja3MnKTsKICAgICAgICAkc3RhY2tzID0gJGl0ZXJhdG9yLT50b0FycmF5KCk7CiAgICAgICAgLy8gQGVuZAogICAgICAgICR0aGlzLT5hc3NlcnROb3ROdWxsKCRzdGFja3MpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlc3VsdFsnU3RhY2tTdW1tYXJpZXMnXSwgJHN0YWNrcyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFormation/Integration/template.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICJBV1NUZW1wbGF0ZUZvcm1hdFZlcnNpb24iIDogIjIwMTAtMDktMDkiLAoKICAiRGVzY3JpcHRpb24iIDogIkNyZWF0ZSBhIG11bHRpLWF6LCBsb2FkIGJhbGFuY2VkLCBBdXRvIFNjYWxlZCBzYW1wbGUgd2ViIHNpdGUuIFRoZSBBdXRvIFNjYWxpbmcgdHJpZ2dlciBpcyBiYXNlZCBvbiB0aGUgQ1BVIHV0aWxpemF0aW9uIG9mIHRoZSB3ZWIgc2VydmVycy4gVGhlIEFNSSBpcyBjaG9zZW4gYmFzZWQgb24gdGhlIHJlZ2lvbiBpbiB3aGljaCB0aGUgc3RhY2sgaXMgcnVuLiBUaGlzIGV4YW1wbGUgY3JlYXRlcyBhIHdlYiBzZXJ2aWNlIHJ1bm5pbmcgYWNyb3NzIGFsbCBhdmFpbGFiaWxpdHkgem9uZXMgaW4gYSByZWdpb24uIFRoZSBpbnN0YW5jZXMgYXJlIGxvYWQgYmFsYW5jZWQgd2l0aCBhIHNpbXBsZSBoZWFsdGggY2hlY2suIFRoZSB3ZWIgc2l0ZSBpcyBhdmFpbGFibGUgb24gcG9ydCA4MCwgaG93ZXZlciwgdGhlIGluc3RhbmNlcyBjYW4gYmUgY29uZmlndXJlZCB0byBsaXN0ZW4gb24gYW55IHBvcnQgKDg4ODggYnkgZGVmYXVsdCkuICoqV0FSTklORyoqIFRoaXMgdGVtcGxhdGUgY3JlYXRlcyBvbmUgb3IgbW9yZSBBbWF6b24gRUMyIGluc3RhbmNlcy4gWW91IHdpbGwgYmUgYmlsbGVkIGZvciB0aGUgQVdTIHJlc291cmNlcyB1c2VkIGlmIHlvdSBjcmVhdGUgYSBzdGFjayBmcm9tIHRoaXMgdGVtcGxhdGUuIiwKCiAgIlBhcmFtZXRlcnMiIDogewogICAgIkluc3RhbmNlVHlwZSIgOiB7CiAgICAgICJEZXNjcmlwdGlvbiIgOiAiVHlwZSBvZiBFQzIgaW5zdGFuY2UgdG8gbGF1bmNoIiwKICAgICAgIlR5cGUiIDogIlN0cmluZyIsCiAgICAgICJEZWZhdWx0IiA6ICJtMS5zbWFsbCIKICAgIH0sCiAgICAiV2ViU2VydmVyUG9ydCIgOiB7CiAgICAgICJEZXNjcmlwdGlvbiIgOiAiVGhlIFRDUCBwb3J0IGZvciB0aGUgV2ViIFNlcnZlciIsCiAgICAgICJUeXBlIiA6ICJTdHJpbmciLAogICAgICAiRGVmYXVsdCIgOiAiODg4OCIKICAgIH0sCiAgICAiS2V5TmFtZSIgOiB7CiAgICAgICJEZXNjcmlwdGlvbiIgOiAiVGhlIEVDMiBLZXkgUGFpciB0byBhbGxvdyBTU0ggYWNjZXNzIHRvIHRoZSBpbnN0YW5jZXMiLAogICAgICAiVHlwZSIgOiAiU3RyaW5nIgogICAgfQogIH0sCgogICJNYXBwaW5ncyIgOiB7CiAgICAiQVdTSW5zdGFuY2VUeXBlMkFyY2giIDogewogICAgICAidDEubWljcm8iICAgIDogeyAiQXJjaCIgOiAiNjQiIH0sCiAgICAgICJtMS5zbWFsbCIgICAgOiB7ICJBcmNoIiA6ICIzMiIgfSwKICAgICAgIm0xLmxhcmdlIiAgICA6IHsgIkFyY2giIDogIjY0IiB9LAogICAgICAibTEueGxhcmdlIiAgIDogeyAiQXJjaCIgOiAiNjQiIH0sCiAgICAgICJtMi54bGFyZ2UiICAgOiB7ICJBcmNoIiA6ICI2NCIgfSwKICAgICAgIm0yLjJ4bGFyZ2UiICA6IHsgIkFyY2giIDogIjY0IiB9LAogICAgICAibTIuNHhsYXJnZSIgIDogeyAiQXJjaCIgOiAiNjQiIH0sCiAgICAgICJjMS5tZWRpdW0iICAgOiB7ICJBcmNoIiA6ICIzMiIgfSwKICAgICAgImMxLnhsYXJnZSIgICA6IHsgIkFyY2giIDogIjY0IiB9LAogICAgICAiY2MxLjR4bGFyZ2UiIDogeyAiQXJjaCIgOiAiNjQiIH0KICAgIH0sCiAgICAiQVdTUmVnaW9uQXJjaDJBTUkiIDogewogICAgICAidXMtZWFzdC0xIiA6IHsgIjMyIiA6ICJhbWktNjQxMWUyMGQiLCAiNjQiIDogImFtaS03YTExZTIxMyIgfSwKICAgICAgInVzLXdlc3QtMSIgOiB7ICIzMiIgOiAiYW1pLWM5Yzc5NzhjIiwgIjY0IiA6ICJhbWktY2ZjNzk3OGEiIH0sCiAgICAgICJldS13ZXN0LTEiIDogeyAiMzIiIDogImFtaS0zN2MyZjY0MyIsICI2NCIgOiAiYW1pLTMxYzJmNjQ1IiB9LAogICAgICAiYXAtc291dGhlYXN0LTEiIDogeyAiMzIiIDogImFtaS02NmYyOGMzNCIsICI2NCIgOiAiYW1pLTYwZjI4YzMyIiB9LAogICAgICAiYXAtbm9ydGhlYXN0LTEiIDogeyAiMzIiIDogImFtaS05YzAzYTg5ZCIsICI2NCIgOiAiYW1pLWEwMDNhOGExIiB9CiAgICB9CiAgfSwKCiAgIlJlc291cmNlcyIgOiB7CiAgICAiV2ViU2VydmVyR3JvdXAiIDogewogICAgICAiVHlwZSIgOiAiQVdTOjpBdXRvU2NhbGluZzo6QXV0b1NjYWxpbmdHcm91cCIsCiAgICAgICJQcm9wZXJ0aWVzIiA6IHsKICAgICAgICAiQXZhaWxhYmlsaXR5Wm9uZXMiIDogeyAiRm46OkdldEFacyIgOiAiIn0sCiAgICAgICAgIkxhdW5jaENvbmZpZ3VyYXRpb25OYW1lIiA6IHsgIlJlZiIgOiAiTGF1bmNoQ29uZmlnIiB9LAogICAgICAgICJNaW5TaXplIiA6ICIxIiwKICAgICAgICAiTWF4U2l6ZSIgOiAiMyIsCiAgICAgICAgIkxvYWRCYWxhbmNlck5hbWVzIiA6IFsgeyAiUmVmIiA6ICJFbGFzdGljTG9hZEJhbGFuY2VyIiB9IF0KICAgICAgfQogICB9LAoKICAgICJMYXVuY2hDb25maWciIDogewogICAgICAiVHlwZSIgOiAiQVdTOjpBdXRvU2NhbGluZzo6TGF1bmNoQ29uZmlndXJhdGlvbiIsCiAgICAgICJQcm9wZXJ0aWVzIiA6IHsKICAgICAgICAiS2V5TmFtZSIgOiB7ICJSZWYiIDogIktleU5hbWUiIH0sCiAgICAgICAgIkltYWdlSWQiIDogeyAiRm46OkZpbmRJbk1hcCIgOiBbICJBV1NSZWdpb25BcmNoMkFNSSIsIHsgIlJlZiIgOiAiQVdTOjpSZWdpb24iIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgIkZuOjpGaW5kSW5NYXAiIDogWyAiQVdTSW5zdGFuY2VUeXBlMkFyY2giLCB7ICJSZWYiIDogIkluc3RhbmNlVHlwZSIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFyY2giIF0gfSBdIH0sCiAgICAgICAgIlVzZXJEYXRhIiA6IHsgIkZuOjpCYXNlNjQiIDogeyAiUmVmIiA6ICJXZWJTZXJ2ZXJQb3J0IiB9fSwKICAgICAgICAiU2VjdXJpdHlHcm91cHMiIDogWyB7ICJSZWYiIDogIkluc3RhbmNlU2VjdXJpdHlHcm91cCIgfSBdLAogICAgICAgICJJbnN0YW5jZVR5cGUiIDogeyAiUmVmIiA6ICJJbnN0YW5jZVR5cGUiIH0KICAgICAgfQogICAgfSwKCiAgICAiV2ViU2VydmVyU2NhbGVVcFBvbGljeSIgOiB7CiAgICAgICJUeXBlIiA6ICJBV1M6OkF1dG9TY2FsaW5nOjpTY2FsaW5nUG9saWN5IiwKICAgICAgIlByb3BlcnRpZXMiIDogewogICAgICAgICJBZGp1c3RtZW50VHlwZSIgOiAiQ2hhbmdlSW5DYXBhY2l0eSIsCiAgICAgICAgIkF1dG9TY2FsaW5nR3JvdXBOYW1lIiA6IHsgIlJlZiIgOiAiV2ViU2VydmVyR3JvdXAiIH0sCiAgICAgICAgIkNvb2xkb3duIiA6ICI2MCIsCiAgICAgICAgIlNjYWxpbmdBZGp1c3RtZW50IiA6ICIxIgogICAgICB9CiAgICB9LAogICAgIldlYlNlcnZlclNjYWxlRG93blBvbGljeSIgOiB7CiAgICAgICJUeXBlIiA6ICJBV1M6OkF1dG9TY2FsaW5nOjpTY2FsaW5nUG9saWN5IiwKICAgICAgIlByb3BlcnRpZXMiIDogewogICAgICAgICJBZGp1c3RtZW50VHlwZSIgOiAiQ2hhbmdlSW5DYXBhY2l0eSIsCiAgICAgICAgIkF1dG9TY2FsaW5nR3JvdXBOYW1lIiA6IHsgIlJlZiIgOiAiV2ViU2VydmVyR3JvdXAiIH0sCiAgICAgICAgIkNvb2xkb3duIiA6ICI2MCIsCiAgICAgICAgIlNjYWxpbmdBZGp1c3RtZW50IiA6ICItMSIKICAgICAgfQogICAgfSwKCiAgICAiQ1BVQWxhcm1IaWdoIjogewogICAgICJUeXBlIjogIkFXUzo6Q2xvdWRXYXRjaDo6QWxhcm0iLAogICAgICJQcm9wZXJ0aWVzIjogewogICAgICAgICJBbGFybURlc2NyaXB0aW9uIjogIlNjYWxlLXVwIGlmIENQVSA+IDkwJSBmb3IgMTAgbWludXRlcyIsCiAgICAgICAgIk1ldHJpY05hbWUiOiAiQ1BVVXRpbGl6YXRpb24iLAogICAgICAgICJOYW1lc3BhY2UiOiAiQVdTL0VDMiIsCiAgICAgICAgIlN0YXRpc3RpYyI6ICJBdmVyYWdlIiwKICAgICAgICAiUGVyaW9kIjogIjMwMCIsCiAgICAgICAgIkV2YWx1YXRpb25QZXJpb2RzIjogIjIiLAogICAgICAgICJUaHJlc2hvbGQiOiAiOTAiLAogICAgICAgICJBbGFybUFjdGlvbnMiOiBbIHsgIlJlZiI6ICJXZWJTZXJ2ZXJTY2FsZVVwUG9saWN5IiB9IF0sCiAgICAgICAgIkRpbWVuc2lvbnMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJOYW1lIjogIkF1dG9TY2FsaW5nR3JvdXBOYW1lIiwKICAgICAgICAgICAgIlZhbHVlIjogeyAiUmVmIjogIldlYlNlcnZlckdyb3VwIiB9CiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiQ29tcGFyaXNvbk9wZXJhdG9yIjogIkdyZWF0ZXJUaGFuVGhyZXNob2xkIgogICAgICB9CiAgICB9LAogICAgIkNQVUFsYXJtTG93IjogewogICAgICJUeXBlIjogIkFXUzo6Q2xvdWRXYXRjaDo6QWxhcm0iLAogICAgICJQcm9wZXJ0aWVzIjogewogICAgICAgICJBbGFybURlc2NyaXB0aW9uIjogIlNjYWxlLWRvd24gaWYgQ1BVIDwgNzAlIGZvciAxMCBtaW51dGVzIiwKICAgICAgICAiTWV0cmljTmFtZSI6ICJDUFVVdGlsaXphdGlvbiIsCiAgICAgICAgIk5hbWVzcGFjZSI6ICJBV1MvRUMyIiwKICAgICAgICAiU3RhdGlzdGljIjogIkF2ZXJhZ2UiLAogICAgICAgICJQZXJpb2QiOiAiMzAwIiwKICAgICAgICAiRXZhbHVhdGlvblBlcmlvZHMiOiAiMiIsCiAgICAgICAgIlRocmVzaG9sZCI6ICI3MCIsCiAgICAgICAgIkFsYXJtQWN0aW9ucyI6IFsgeyAiUmVmIjogIldlYlNlcnZlclNjYWxlRG93blBvbGljeSIgfSBdLAogICAgICAgICJEaW1lbnNpb25zIjogWwogICAgICAgICAgewogICAgICAgICAgICAiTmFtZSI6ICJBdXRvU2NhbGluZ0dyb3VwTmFtZSIsCiAgICAgICAgICAgICJWYWx1ZSI6IHsgIlJlZiI6ICJXZWJTZXJ2ZXJHcm91cCIgfQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgIkNvbXBhcmlzb25PcGVyYXRvciI6ICJMZXNzVGhhblRocmVzaG9sZCIKICAgICAgfQogICAgfSwKCiAgICAiRWxhc3RpY0xvYWRCYWxhbmNlciIgOiB7CiAgICAgICJUeXBlIiA6ICJBV1M6OkVsYXN0aWNMb2FkQmFsYW5jaW5nOjpMb2FkQmFsYW5jZXIiLAogICAgICAiUHJvcGVydGllcyIgOiB7CiAgICAgICAgIkF2YWlsYWJpbGl0eVpvbmVzIiA6IHsgIkZuOjpHZXRBWnMiIDogIiIgfSwKICAgICAgICAiTGlzdGVuZXJzIiA6IFsgewogICAgICAgICAgIkxvYWRCYWxhbmNlclBvcnQiIDogIjgwIiwKICAgICAgICAgICJJbnN0YW5jZVBvcnQiIDogeyAiUmVmIiA6ICJXZWJTZXJ2ZXJQb3J0IiB9LAogICAgICAgICAgIlByb3RvY29sIiA6ICJIVFRQIgogICAgICAgIH0gXSwKICAgICAgICAiSGVhbHRoQ2hlY2siIDogewogICAgICAgICAgIlRhcmdldCIgOiB7ICJGbjo6Sm9pbiIgOiBbICIiLCBbIkhUVFA6IiwgeyAiUmVmIiA6ICJXZWJTZXJ2ZXJQb3J0IiB9LCAiLyJdXX0sCiAgICAgICAgICAiSGVhbHRoeVRocmVzaG9sZCIgOiAiMyIsCiAgICAgICAgICAiVW5oZWFsdGh5VGhyZXNob2xkIiA6ICI1IiwKICAgICAgICAgICJJbnRlcnZhbCIgOiAiMzAiLAogICAgICAgICAgIlRpbWVvdXQiIDogIjUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAoKICAgICJJbnN0YW5jZVNlY3VyaXR5R3JvdXAiIDogewogICAgICAiVHlwZSIgOiAiQVdTOjpFQzI6OlNlY3VyaXR5R3JvdXAiLAogICAgICAiUHJvcGVydGllcyIgOiB7CiAgICAgICAgIkdyb3VwRGVzY3JpcHRpb24iIDogIkVuYWJsZSBTU0ggYWNjZXNzIGFuZCBIVFRQIGFjY2VzcyBvbiB0aGUgaW5ib3VuZCBwb3J0IiwKICAgICAgICAiU2VjdXJpdHlHcm91cEluZ3Jlc3MiIDogWyB7CiAgICAgICAgICAiSXBQcm90b2NvbCIgOiAidGNwIiwKICAgICAgICAgICJGcm9tUG9ydCIgOiAiMjIiLAogICAgICAgICAgIlRvUG9ydCIgOiAiMjIiLAogICAgICAgICAgIkNpZHJJcCIgOiAiMC4wLjAuMC8wIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgIklwUHJvdG9jb2wiIDogInRjcCIsCiAgICAgICAgICAiRnJvbVBvcnQiIDogeyAiUmVmIiA6ICJXZWJTZXJ2ZXJQb3J0IiB9LAogICAgICAgICAgIlRvUG9ydCIgOiB7ICJSZWYiIDogIldlYlNlcnZlclBvcnQiIH0sCiAgICAgICAgICAiU291cmNlU2VjdXJpdHlHcm91cE93bmVySWQiIDogeyJGbjo6R2V0QXR0IiA6IFsiRWxhc3RpY0xvYWRCYWxhbmNlciIsICJTb3VyY2VTZWN1cml0eUdyb3VwLk93bmVyQWxpYXMiXX0sCiAgICAgICAgICAiU291cmNlU2VjdXJpdHlHcm91cE5hbWUiIDogeyJGbjo6R2V0QXR0IiA6IFsiRWxhc3RpY0xvYWRCYWxhbmNlciIsICJTb3VyY2VTZWN1cml0eUdyb3VwLkdyb3VwTmFtZSJdfQogICAgICAgIH0gXQogICAgICB9CiAgICB9CiAgfSwKCiAgIk91dHB1dHMiIDogewogICAgIlVSTCIgOiB7CiAgICAgICJEZXNjcmlwdGlvbiIgOiAiVGhlIFVSTCBvZiB0aGUgd2Vic2l0ZSIsCiAgICAgICJWYWx1ZSIgOiAgeyAiRm46OkpvaW4iIDogWyAiIiwgWyAiaHR0cDovLyIsIHsgIkZuOjpHZXRBdHQiIDogWyAiRWxhc3RpY0xvYWRCYWxhbmNlciIsICJETlNOYW1lIiBdfV1dfQogICAgfQogIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFront/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFront/CloudFrontClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRGcm9udDsKCnVzZSBBd3NcQ2xvdWRGcm9udFxDbG91ZEZyb250Q2xpZW50Owp1c2UgR3V6emxlXEh0dHBcVXJsOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXENsb3VkRnJvbnRcQ2xvdWRGcm9udENsaWVudAogKi8KY2xhc3MgQ2xvdWRGcm9udENsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUNyZWF0ZXNDbGllbnQoKQogICAgewogICAgICAgICRjbGllbnQgPSBDbG91ZEZyb250Q2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0JywgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHBzOi8vY2xvdWRmcm9udC5hbWF6b25hd3MuY29tJywgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNTaWduZWRVcmxzRm9ySHR0cCgpCiAgICB7CiAgICAgICAgJHRzID0gdGltZSgpICsgMTAwMDsKICAgICAgICAvKiogQHZhciAkY2xpZW50IFxBd3NcQ2xvdWRGcm9udFxDbG91ZEZyb250Q2xpZW50ICovCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2Nsb3VkZnJvbnQnKTsKCiAgICAgICAgaWYgKCRjbGllbnQtPmdldENvbmZpZygncHJpdmF0ZV9rZXknKSA9PSAnY2hhbmdlX21lJykgewogICAgICAgICAgICAkdGhpcy0+bWFya1Rlc3RTa2lwcGVkKCdDbG91ZEZyb250IHByaXZhdGVfa2V5IG5vdCBzZXQnKTsKICAgICAgICB9CgogICAgICAgICR1cmwgPSAkY2xpZW50LT5nZXRTaWduZWRVcmwoYXJyYXkoCiAgICAgICAgICAgICd1cmwnICAgICA9PiAnaHR0cDovL2FiYy5jbG91ZGZyb250Lm5ldC9pbWFnZXMvaW1hZ2UuanBnP2NvbG9yPXJlZCcsCiAgICAgICAgICAgICdleHBpcmVzJyA9PiAkdHMKICAgICAgICApKTsKICAgICAgICAkdXJsT2JqZWN0ID0gVXJsOjpmYWN0b3J5KCR1cmwpOwogICAgICAgICRrcCA9ICRjbGllbnQtPmdldENvbmZpZygna2V5X3BhaXJfaWQnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U3RyaW5nU3RhcnRzV2l0aCgKICAgICAgICAgICAgImh0dHA6Ly9hYmMuY2xvdWRmcm9udC5uZXQvaW1hZ2VzL2ltYWdlLmpwZz9jb2xvcj1yZWQmRXhwaXJlcz17JHRzfSZTaWduYXR1cmU9IiwKICAgICAgICAgICAgJHVybAogICAgICAgICk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCJLZXktUGFpci1JZD17JGtwfSIsICR1cmwpOwoKICAgICAgICAkc2lnbmF0dXJlID0gJHVybE9iamVjdC0+Z2V0UXVlcnkoJ1NpZ25hdHVyZScpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RDb250YWlucygnPycsICRzaWduYXR1cmUpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RDb250YWlucygnPScsICRzaWduYXR1cmUpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RDb250YWlucygnLycsICRzaWduYXR1cmUpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RDb250YWlucygnJicsICRzaWduYXR1cmUpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RDb250YWlucygnKycsICRzaWduYXR1cmUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc1NpZ25lZFVybHNXaXRoQ3VzdG9tUG9saWN5KCkKICAgIHsKICAgICAgICAvKiogQHZhciAkY2xpZW50IFxBd3NcQ2xvdWRGcm9udFxDbG91ZEZyb250Q2xpZW50ICovCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2Nsb3VkZnJvbnQnKTsKCiAgICAgICAgaWYgKCRjbGllbnQtPmdldENvbmZpZygncHJpdmF0ZV9rZXknKSA9PSAnY2hhbmdlX21lJykgewogICAgICAgICAgICAkdGhpcy0+bWFya1Rlc3RTa2lwcGVkKCdDbG91ZEZyb250IHByaXZhdGVfa2V5IG5vdCBzZXQnKTsKICAgICAgICB9CgogICAgICAgICR1cmwgPSAkY2xpZW50LT5nZXRTaWduZWRVcmwoYXJyYXkoCiAgICAgICAgICAgICd1cmwnICAgID0+ICdodHRwOi8vYWJjLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9pbWFnZS5qcGcnLAogICAgICAgICAgICAncG9saWN5JyA9PiAne30nCiAgICAgICAgKSk7CiAgICAgICAgJHBvbGljeSA9IFVybDo6ZmFjdG9yeSgkdXJsKS0+Z2V0UXVlcnkoKS0+Z2V0KCdQb2xpY3knKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0UmVnRXhwKCcvXlswLTlhLXpBLVotX35dKyQvJywgJHBvbGljeSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzU2lnbmVkVXJsc0ZvclJ0bXAoKQogICAgewogICAgICAgICR0cyA9IHRpbWUoKSArIDEwMDA7CiAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBcQXdzXENsb3VkRnJvbnRcQ2xvdWRGcm9udENsaWVudCAqLwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdjbG91ZGZyb250Jyk7CiAgICAgICAgaWYgKCRjbGllbnQtPmdldENvbmZpZygncHJpdmF0ZV9rZXknKSA9PSAnY2hhbmdlX21lJykgewogICAgICAgICAgICAkdGhpcy0+bWFya1Rlc3RTa2lwcGVkKCdDbG91ZEZyb250IHByaXZhdGVfa2V5IG5vdCBzZXQnKTsKICAgICAgICB9CiAgICAgICAgJHVybCA9ICRjbGllbnQtPmdldFNpZ25lZFVybChhcnJheSgKICAgICAgICAgICAgJ3VybCcgICAgID0+ICdydG1wOi8vZm9vLmNsb3VkZnJvbnQubmV0L3Rlc3QubXA0JywKICAgICAgICAgICAgJ2V4cGlyZXMnID0+ICR0cwogICAgICAgICkpOwogICAgICAgICRrcCA9ICRjbGllbnQtPmdldENvbmZpZygna2V5X3BhaXJfaWQnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U3RyaW5nU3RhcnRzV2l0aCgidGVzdC5tcDQ/RXhwaXJlcz17JHRzfSZTaWduYXR1cmU9IiwgJHVybCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCJLZXktUGFpci1JZD17JGtwfSIsICR1cmwpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc0Nhbm5lZFNpZ25lZFVybHNGb3JSdG1wV2hpbGVTdHJpcHBpbmdGaWxlRXh0ZW5zaW9uKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnY2xvdWRmcm9udCcpOwogICAgICAgICRtID0gbmV3IFxSZWZsZWN0aW9uTWV0aG9kKCRjbGllbnQsICdjcmVhdGVDYW5uZWRQb2xpY3knKTsKICAgICAgICAkbS0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkdHMgPSB0aW1lKCkgKyAxMDAwOwogICAgICAgIC8vIFRyeSB3aXRoIG5vIGxlYWRpbmcgcGF0aAogICAgICAgICRyZXN1bHQgPSAkbS0+aW52b2tlKCRjbGllbnQsICdydG1wJywgJ3J0bXA6Ly9mb28uY2xvdWRmcm9udC5uZXQvdGVzdC5tcDQnLCAkdHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoCiAgICAgICAgICAgICd7IlN0YXRlbWVudCI6W3siUmVzb3VyY2UiOiJ0ZXN0Lm1wNCIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6JyAuICR0cyAuICd9fX1dfScsCiAgICAgICAgICAgICRyZXN1bHQKICAgICAgICApOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywganNvbl9kZWNvZGUoJHJlc3VsdCwgdHJ1ZSkpOwogICAgICAgIC8vIFRyeSB3aXRoIG5lc3RlZCBwYXRoCiAgICAgICAgJHJlc3VsdCA9ICRtLT5pbnZva2UoJGNsaWVudCwgJ3J0bXAnLCAncnRtcDovL2Zvby5jbG91ZGZyb250Lm5ldC92aWRlb3MvdGVzdC5tcDQnLCAkdHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoCiAgICAgICAgICAgICd7IlN0YXRlbWVudCI6W3siUmVzb3VyY2UiOiJ2aWRlb3MvdGVzdC5tcDQiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOicgLiAkdHMgLiAnfX19XX0nLAogICAgICAgICAgICAkcmVzdWx0CiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIEFuIGV4cGlyZXMgb3B0aW9uIGlzIHJlcXVpcmVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc0V4cGlyZXNJc1NldFdoZW5Vc2luZ0Nhbm5lZFBvbGljeSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2Nsb3VkZnJvbnQnKTsKICAgICAgICAkdXJsID0gJGNsaWVudC0+Z2V0U2lnbmVkVXJsKGFycmF5KCd1cmwnID0+ICdodHRwOi8vYWJjLmNsb3VkZnJvbnQubmV0L2ltYWdlcy9pbWFnZS5qcGc/Y29sb3I9cmVkJykpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgSW52YWxpZCBVUkkgc2NoZW1lCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc1VyaVNjaGVtZUlzVmFsaWQoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2Nsb3VkZnJvbnQnKS0+Z2V0U2lnbmVkVXJsKGFycmF5KAogICAgICAgICAgICAndXJsJyAgICAgPT4gJ2ZvbzovL2Jhci5jb20nLAogICAgICAgICAgICAnZXhwaXJlcycgPT4gdGltZSgpICsgMTAwCiAgICAgICAgKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBJbnZhbGlkIFVSTDogYmFyLmNvbQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNVcmlTY2hlbWVJc1ByZXNlbnQoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2Nsb3VkZnJvbnQnKS0+Z2V0U2lnbmVkVXJsKGFycmF5KAogICAgICAgICAgICAndXJsJyAgICAgPT4gJ2Jhci5jb20nLAogICAgICAgICAgICAnZXhwaXJlcycgPT4gdGltZSgpICsgMTAwCiAgICAgICAgKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNLZXlQYWlyc0FyZVNldCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2Nsb3VkZnJvbnQnLCB0cnVlKTsKICAgICAgICAkY2xpZW50LT5nZXRDb25maWcoKS0+cmVtb3ZlKCdrZXlfcGFpcl9pZCcpOwogICAgICAgICRjbGllbnQtPmdldFNpZ25lZFVybChhcnJheSgndXJsJyA9PiAnaHR0cDovL2Jhci5jb20nLCAnZXhwaXJlcycgPT4gdGltZSgpICsgNjApKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGF0YUZvckNvcnJlY3RTaWduYXR1cmVJc0luc3RhbnRpYXRlZFRlc3QoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoYXJyYXkoKSwgJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0JyksCiAgICAgICAgICAgIGFycmF5KGFycmF5KCd2ZXJzaW9uJyA9PiAnMjAxMi0wNS0wNScpLCAnQXdzXENsb3VkRnJvbnRcQ2xvdWRGcm9udFNpZ25hdHVyZScpLAogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGRhdGFGb3JDb3JyZWN0U2lnbmF0dXJlSXNJbnN0YW50aWF0ZWRUZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29ycmVjdFNpZ25hdHVyZUlzSW5zdGFudGlhdGVkKGFycmF5ICRjb25maWcsICRzaWduYXR1cmVDbGFzcykKICAgIHsKICAgICAgICAkY2xpZW50ID0gQ2xvdWRGcm9udENsaWVudDo6ZmFjdG9yeSgkY29uZmlnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZigkc2lnbmF0dXJlQ2xhc3MsICRjbGllbnQtPmdldFNpZ25hdHVyZSgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFront/CloudFrontSignatureTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRGcm9udDsKCnVzZSBBd3NcQ2xvdWRGcm9udFxDbG91ZEZyb250U2lnbmF0dXJlOwp1c2UgQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFsczsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKCi8qKgogKiBAY292ZXJzIEF3c1xDbG91ZEZyb250XENsb3VkRnJvbnRTaWduYXR1cmUKICovCmNsYXNzIENsb3VkRnJvbnRTaWduYXR1cmVUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNpZ25zV2l0aERhdGVIZWFkZXIoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3LmZvby5jb20nLCBhcnJheSgnRGF0ZScgPT4gJ1RodSwgMTcgTWF5IDIwMTIgMTc6MDg6NDggR01UJykpOwogICAgICAgICRjcmVkZW50aWFscyA9IG5ldyBDcmVkZW50aWFscygnZm9vJywgJ2JhcicpOwogICAgICAgICRzaWduYXR1cmUgPSBuZXcgQ2xvdWRGcm9udFNpZ25hdHVyZSgpOwogICAgICAgICRzaWduYXR1cmUtPnNpZ25SZXF1ZXN0KCRyZXF1ZXN0LCAkY3JlZGVudGlhbHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0FXUyBmb286SC9vQW1mL1VLTUMxM0Q5ODZOSHRXbGNXZXFnPScsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0F1dGhvcml6YXRpb24nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTaWduc1dpdGhYQW16RGF0ZUhlYWRlcigpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZm9vLmNvbScsIGFycmF5KCd4LWFtei1kYXRlJyA9PiAnVGh1LCAxNyBNYXkgMjAxMiAxNzowODo0OCBHTVQnKSk7CiAgICAgICAgJGNyZWRlbnRpYWxzID0gbmV3IENyZWRlbnRpYWxzKCdmb28nLCAnYmFyJyk7CiAgICAgICAgJHNpZ25hdHVyZSA9IG5ldyBDbG91ZEZyb250U2lnbmF0dXJlKCk7CiAgICAgICAgJHNpZ25hdHVyZS0+c2lnblJlcXVlc3QoJHJlcXVlc3QsICRjcmVkZW50aWFscyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQVdTIGZvbzpIL29BbWYvVUtNQzEzRDk4Nk5IdFdsY1dlcWc9JywgKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcignQXV0aG9yaXphdGlvbicpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNpZ25zV2l0aEluamVjdGVkRGF0ZUhlYWRlcigpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZm9vLmNvbScpOwogICAgICAgICRjcmVkZW50aWFscyA9IG5ldyBDcmVkZW50aWFscygnZm9vJywgJ2JhcicpOwogICAgICAgICRzaWduYXR1cmUgPSBuZXcgQ2xvdWRGcm9udFNpZ25hdHVyZSgpOwogICAgICAgICRzaWduYXR1cmUtPnNpZ25SZXF1ZXN0KCRyZXF1ZXN0LCAkY3JlZGVudGlhbHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXF1ZXN0LT5oYXNIZWFkZXIoJ0RhdGUnKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFront/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFront/Integration/CloudFront_20130512_Test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRGcm9udFxJbnRlZ3JhdGlvbjsKCnVzZSBBd3NcQ2xvdWRGcm9udFxDbG91ZEZyb250Q2xpZW50Owp1c2UgR3V6emxlXEh0dHBcQ2xpZW50IGFzIEh0dHBDbGllbnQ7CgovKioKICogQGdyb3VwIGludGVncmF0aW9uCiAqIEBncm91cCBzbG93CiAqIEBncm91cCBleGFtcGxlCiAqLwpjbGFzcyBDbG91ZEZyb250XzIwMTMwNTEyX1Rlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgLyoqIEB2YXIgQ2xvdWRGcm9udENsaWVudCAqLwogICAgcHVibGljICRjbGllbnQ7CiAgICBwcm90ZWN0ZWQgc3RhdGljICRvcmlnaW5JZDsKICAgIHByb3RlY3RlZCBzdGF0aWMgJGJ1Y2tldE5hbWU7CiAgICBwcm90ZWN0ZWQgc3RhdGljICRkaXN0cmlidXRpb25Vcmw7CiAgICBwcm90ZWN0ZWQgc3RhdGljICRkaXN0cmlidXRpb25JZDsKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNldFVwQmVmb3JlQ2xhc3MoKQogICAgewogICAgICAgICRzMyA9IHNlbGY6OmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKTsKICAgICAgICBzZWxmOjokYnVja2V0TmFtZSA9IGNyYzMyKGdldGhvc3RuYW1lKCkpIC4gJ19jZnRlc3QnOwoKICAgICAgICAvLyBDcmVhdGUgdGhlIHRlc3QgYnVja2V0CiAgICAgICAgc2VsZjo6bG9nKCdDcmVhdGluZyBidWNrZXQgZm9yIHRlc3RpbmcgZGlzdHJpYnV0aW9uczogJyAuIHNlbGY6OiRidWNrZXROYW1lKTsKICAgICAgICAkczMtPmNyZWF0ZUJ1Y2tldChhcnJheSgnQnVja2V0JyA9PiBzZWxmOjokYnVja2V0TmFtZSkpOwogICAgICAgICRzMy0+d2FpdFVudGlsKCdidWNrZXRfZXhpc3RzJywgYXJyYXkoJ0J1Y2tldCcgPT4gc2VsZjo6JGJ1Y2tldE5hbWUpKTsKCiAgICAgICAgLy8gQWRkIHRoZSB0ZXN0IG9iamVjdAogICAgICAgIHNlbGY6OmxvZygnQnVja2V0IGNyZWF0ZWQsIGFkZGluZyB0ZXN0IG9iamVjdC4uLicpOwogICAgICAgICRzMy0+cHV0T2JqZWN0KGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiBzZWxmOjokYnVja2V0TmFtZSwKICAgICAgICAgICAgJ0tleScgICAgPT4gJ2Zvby50eHQnLAogICAgICAgICAgICAnQUNMJyAgICA9PiAncHVibGljLXJlYWQnLAogICAgICAgICAgICAnQm9keScgICA9PiAnaGVsbG8hJwogICAgICAgICkpOwogICAgICAgICRzMy0+d2FpdFVudGlsKCdvYmplY3RfZXhpc3RzJywgYXJyYXkoJ0J1Y2tldCcgPT4gc2VsZjo6JGJ1Y2tldE5hbWUsICdLZXknID0+ICdmb28udHh0JykpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gdGVhckRvd25BZnRlckNsYXNzKCkKICAgIHsKICAgICAgICAkczMgPSBzZWxmOjpnZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgc2VsZjo6bG9nKCdEZWxldGluZyB0ZXN0IG9iamVjdCcpOwogICAgICAgICRzMy0+ZGVsZXRlT2JqZWN0KGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiBzZWxmOjokYnVja2V0TmFtZSwKICAgICAgICAgICAgJ0tleScgICAgPT4gJ2Zvby50eHQnCiAgICAgICAgKSk7CiAgICAgICAgc2xlZXAoMSk7CiAgICAgICAgc2VsZjo6bG9nKCdEZWxldGluZyB0ZXN0IGJ1Y2tldCcpOwogICAgICAgICRzMy0+ZGVsZXRlQnVja2V0KGFycmF5KCdCdWNrZXQnID0+IHNlbGY6OiRidWNrZXROYW1lKSk7CgogICAgICAgIC8qKiBAdmFyIFxBd3NcQ2xvdWRGcm9udFxDbG91ZEZyb250Q2xpZW50ICRjZiAqLwogICAgICAgICRjZiA9IHNlbGY6OmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnY2xvdWRmcm9udCcpOwoKICAgICAgICBzbGVlcCg2MCk7CgogICAgICAgIGlmIChzZWxmOjokb3JpZ2luSWQpIHsKICAgICAgICAgICAgc2VsZjo6bG9nKCdEZWxldGluZyBvcmlnaW4gYWNjZXNzIGlkZW50aXR5Jyk7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGNmLT5nZXRDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHkoYXJyYXkoJ0lkJyA9PiBzZWxmOjokb3JpZ2luSWQpKTsKICAgICAgICAgICAgICAgICRjZi0+ZGVsZXRlQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5KGFycmF5KAogICAgICAgICAgICAgICAgICAgICdJZCcgICAgICA9PiBzZWxmOjokb3JpZ2luSWQsCiAgICAgICAgICAgICAgICAgICAgJ0lmTWF0Y2gnID0+ICRyZXN1bHRbJ0VUYWcnXSwKICAgICAgICAgICAgICAgICkpOwogICAgICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICAgICBlY2hvICRlLT5nZXRNZXNzYWdlKCkgLiAiXG4iOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoc2VsZjo6JGRpc3RyaWJ1dGlvbklkKSB7CiAgICAgICAgICAgIHNlbGY6OmxvZygnRGVsZXRpbmcgZGlzdHJpYnV0aW9uJyk7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAkY2YtPmRlbGV0ZURpc3RyaWJ1dGlvbihhcnJheSgKICAgICAgICAgICAgICAgICAgICAnSWQnID0+IHNlbGY6OiRkaXN0cmlidXRpb25JZCwKICAgICAgICAgICAgICAgICkpOwogICAgICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICAgICBlY2hvICRlLT5nZXRNZXNzYWdlKCkgLiAiXG4iOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9IHNlbGY6OmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnY2xvdWRmcm9udCcsIHRydWUpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkKICAgICAqCiAgICAgKiBAZXhhbXBsZSBBd3NcQ2xvdWRGcm9udFxDbG91ZEZyb250Q2xpZW50OjpjcmVhdGVDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzT3JpZ2lucygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgLy8gQGJlZ2luCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPmNyZWF0ZUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eShhcnJheSgKICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gJ2ZvbycsCiAgICAgICAgICAgICdDb21tZW50JyAgICAgICAgID0+ICdIZWxsbyEnCiAgICAgICAgKSk7CgogICAgICAgIGVjaG8gJHJlc3VsdFsnSWQnXSAuICcgLSAnIC4gJHJlc3VsdFsnUzNDYW5vbmljYWxVc2VySWQnXTsKICAgICAgICAvLyBAZW5kCgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbCcsICRyZXN1bHQpOwogICAgICAgICRyZXN1bHQgPSAkcmVzdWx0LT50b0FycmF5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdJZCcsICRyZXN1bHQpOwogICAgICAgIHNlbGY6OiRvcmlnaW5JZCA9ICRyZXN1bHRbJ0lkJ107CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdTM0Nhbm9uaWNhbFVzZXJJZCcsICRyZXN1bHQpOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnJywgJHJlc3VsdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gJ2ZvbycsCiAgICAgICAgICAgICdDb21tZW50JyAgICAgICAgID0+ICdIZWxsbyEnCiAgICAgICAgKSwgJHJlc3VsdFsnQ2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5Q29uZmlnJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnTG9jYXRpb24nLCAkcmVzdWx0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ0VUYWcnLCAkcmVzdWx0KTsKCiAgICAgICAgLy8gR3JhbnQgQ0YgdG8gcmVhZCBmcm9tIHRoZSBidWNrZXQKICAgICAgICAkczMgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICRzMy0+cHV0T2JqZWN0QWNsKGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyAgICA9PiBzZWxmOjokYnVja2V0TmFtZSwKICAgICAgICAgICAgJ0tleScgICAgICAgPT4gJ2Zvby50eHQnLAogICAgICAgICAgICAnR3JhbnRSZWFkJyA9PiAnaWQ9IicgLiAkcmVzdWx0WydTM0Nhbm9uaWNhbFVzZXJJZCddIC4gJyInCiAgICAgICAgKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBkaXN0cmlidXRpb24KICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0Q3JlYXRlc09yaWdpbnMKICAgICAqIEBleGFtcGxlIEF3c1xDbG91ZEZyb250XENsb3VkRnJvbnRDbGllbnQ6OmNyZWF0ZURpc3RyaWJ1dGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNEaXN0cmlidXRpb24oKQogICAgewogICAgICAgIGlmICghc2VsZjo6JG9yaWdpbklkKSB7CiAgICAgICAgICAgICR0aGlzLT5mYWlsKCdObyBvcmlnaW5JZCB3YXMgc2V0Jyk7CiAgICAgICAgfQoKICAgICAgICBzZWxmOjpsb2coIkNyZWF0aW5nIGEgZGlzdHJpYnV0aW9uIik7CgogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgICRvcmlnaW5JZCA9IHNlbGY6OiRvcmlnaW5JZDsKICAgICAgICAkYnVja2V0TmFtZSA9IHNlbGY6OiRidWNrZXROYW1lOwoKICAgICAgICAvLyBAYmVnaW4KICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+Y3JlYXRlRGlzdHJpYnV0aW9uKGFycmF5KAogICAgICAgICAgICAnQWxpYXNlcycgPT4gYXJyYXkoJ1F1YW50aXR5JyA9PiAwKSwKICAgICAgICAgICAgJ0NhY2hlQmVoYXZpb3JzJyA9PiBhcnJheSgnUXVhbnRpdHknID0+IDApLAogICAgICAgICAgICAnQ29tbWVudCcgPT4gJ1Rlc3RpbmcuLi4gMTIzJywKICAgICAgICAgICAgJ0VuYWJsZWQnID0+IHRydWUsCiAgICAgICAgICAgICdDYWxsZXJSZWZlcmVuY2UnID0+ICdCYXpCYXItJyAuIHRpbWUoKSwKICAgICAgICAgICAgJ0RlZmF1bHRDYWNoZUJlaGF2aW9yJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNaW5UVEwnID0+IDM2MDAsCiAgICAgICAgICAgICAgICAnVmlld2VyUHJvdG9jb2xQb2xpY3knID0+ICdhbGxvdy1hbGwnLAogICAgICAgICAgICAgICAgJ1RhcmdldE9yaWdpbklkJyA9PiAkb3JpZ2luSWQsCiAgICAgICAgICAgICAgICAnVHJ1c3RlZFNpZ25lcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdFbmFibGVkJyAgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnUXVhbnRpdHknID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ0l0ZW1zJyAgICA9PiBhcnJheSgnc2VsZicpCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0ZvcndhcmRlZFZhbHVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ1F1ZXJ5U3RyaW5nJyA9PiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAnQ29va2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdGb3J3YXJkJyA9PiAnYWxsJwogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0RlZmF1bHRSb290T2JqZWN0JyA9PiAnZm9vLnR4dCcsCiAgICAgICAgICAgICdMb2dnaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdFbmFibGVkJyA9PiBmYWxzZSwKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+ICcnLAogICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gJycsCiAgICAgICAgICAgICAgICAnSW5jbHVkZUNvb2tpZXMnID0+IHRydWUsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdPcmlnaW5zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdRdWFudGl0eScgPT4gMSwKICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJZCcgPT4gJG9yaWdpbklkLAogICAgICAgICAgICAgICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gInskYnVja2V0TmFtZX0uczMuYW1hem9uYXdzLmNvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICdTM09yaWdpbkNvbmZpZycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JpZ2luQWNjZXNzSWRlbnRpdHknID0+ICdvcmlnaW4tYWNjZXNzLWlkZW50aXR5L2Nsb3VkZnJvbnQvJyAuICRvcmlnaW5JZAogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAogICAgICAgICAgICAnUHJpY2VDbGFzcycgPT4gJ1ByaWNlQ2xhc3NfQWxsJywKICAgICAgICApKTsKCiAgICAgICAgcHJpbnRmKCclcyAtICVzJywgJHJlc3VsdFsnU3RhdHVzJ10sICRyZXN1bHRbJ0xvY2F0aW9uJ10pIC4gIlxuIjsKICAgICAgICAvLyBAZW5kCgogICAgICAgICRyZXN1bHQgPSAkcmVzdWx0LT50b0FycmF5KCk7CiAgICAgICAgc2VsZjo6JGRpc3RyaWJ1dGlvbklkID0gJHJlc3VsdFsnSWQnXTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ1N0YXR1cycsICRyZXN1bHQpOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnTG9jYXRpb24nLCAkcmVzdWx0KTsKICAgICAgICBzZWxmOjokZGlzdHJpYnV0aW9uVXJsID0gJHJlc3VsdFsnRG9tYWluTmFtZSddOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnRVRhZycsICRyZXN1bHQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgJHJlc3VsdFsnRGlzdHJpYnV0aW9uQ29uZmlnJ11bJ09yaWdpbnMnXVsnUXVhbnRpdHknXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KDAsICRyZXN1bHRbJ0Rpc3RyaWJ1dGlvbkNvbmZpZyddWydPcmlnaW5zJ11bJ0l0ZW1zJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoc2VsZjo6JGJ1Y2tldE5hbWUgLiAnLnMzLmFtYXpvbmF3cy5jb20nLCAkcmVzdWx0WydEaXN0cmlidXRpb25Db25maWcnXVsnT3JpZ2lucyddWydJdGVtcyddWzBdWydEb21haW5OYW1lJ10pOwoKICAgICAgICByZXR1cm4gJHJlc3VsdFsnSWQnXTsKICAgIH0KCiAgICAvKioKICAgICAqIExpc3QgZGlzdHJpYnV0aW9ucwogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3RDcmVhdGVzRGlzdHJpYnV0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TGlzdHNEaXN0cmlidXRpb25zKCRpZCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+bGlzdERpc3RyaWJ1dGlvbnMoKTsKICAgICAgICBmb3JlYWNoICgkcmVzdWx0WydJdGVtcyddIGFzICRpdGVtKSB7CiAgICAgICAgICAgIGVjaG8gJGl0ZW1bJ0lkJ10gLiAiXG4iOwogICAgICAgIH0KICAgICAgICAvLyBAZW5kCiAgICAgICAgJHRoaXMtPmFzc2VydEdyZWF0ZXJUaGFuKDAsICRyZXN1bHRbJ1F1YW50aXR5J10pOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygkaWQsICR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBwcmUtc2lnbmVkIFVSTAogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3RMaXN0c0Rpc3RyaWJ1dGlvbnMKICAgICAqIEBleGFtcGxlIEF3c1xDbG91ZEZyb250XENsb3VkRnJvbnRDbGllbnQ6OmdldFNpZ25lZFVybAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNTaWduZWRVcmxzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICBzZWxmOjpsb2coJ1dhaXRpbmcgdW50aWwgdGhlIGRpc3RyaWJ1dGlvbiBiZWNvbWVzIGFjdGl2ZScpOwogICAgICAgICRjbGllbnQtPndhaXRVbnRpbCgnRGlzdHJpYnV0aW9uRGVwbG95ZWQnLCBhcnJheSgnSWQnID0+IHNlbGY6OiRkaXN0cmlidXRpb25JZCkpOwogICAgICAgICRkaXN0cmlidXRpb25VcmwgPSBzZWxmOjokZGlzdHJpYnV0aW9uVXJsOwoKICAgICAgICAvLyBAYmVnaW4KICAgICAgICAvLyBDcmVhdGUgYSBzaWduZWQgVVJMIHRoYXQgZXhwaXJlcyBpbiAxIGhvdXIKICAgICAgICAkdXJsID0gJGNsaWVudC0+Z2V0U2lnbmVkVXJsKGFycmF5KAogICAgICAgICAgICAndXJsJyAgICAgPT4gJ2h0dHBzOi8vJyAuICRkaXN0cmlidXRpb25VcmwgLiAnL2Zvby50eHQnLAogICAgICAgICAgICAnZXhwaXJlcycgPT4gdGltZSgpICsgMzYwMAogICAgICAgICkpOwogICAgICAgIC8vIEBlbmQKCiAgICAgICAgc2VsZjo6bG9nKCdVUkw6ICcgLiAkdXJsKTsKICAgICAgICB0cnkgewogICAgICAgICAgICAkYyA9IG5ldyBIdHRwQ2xpZW50KCk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2hlbGxvIScsICRjLT5nZXQoJHVybCktPnNlbmQoKS0+Z2V0Qm9keSh0cnVlKSk7CiAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAkdGhpcy0+bWFya1Rlc3RJbmNvbXBsZXRlKCRlLT5nZXRNZXNzYWdlKCkpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFront/Integration/IteratorsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRGcm9udFxJbnRlZ3JhdGlvbjsKCi8qKgogKiBAZ3JvdXAgaW50ZWdyYXRpb24KICovCmNsYXNzIEl0ZXJhdG9yc1Rlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RMaXN0RGlzdHJpYnV0aW9uc0l0ZXJhdG9yKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnY2xvdWRmcm9udCcpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgICdjbG91ZGZyb250L0xpc3REaXN0cmlidXRpb25zX3BhZ2VfMScsCiAgICAgICAgICAgICdjbG91ZGZyb250L0xpc3REaXN0cmlidXRpb25zX3BhZ2VfMicKICAgICAgICApKTsKICAgICAgICAkaXRlcmF0b3IgPSAkY2xpZW50LT5nZXRJdGVyYXRvcignTGlzdERpc3RyaWJ1dGlvbnMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxJdGVyYXRvclxBd3NSZXNvdXJjZUl0ZXJhdG9yJywgJGl0ZXJhdG9yKTsKICAgICAgICAkcmVzdWx0ID0gaXRlcmF0b3JfdG9fYXJyYXkoJGl0ZXJhdG9yKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCRyZXN1bHQpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdFWEFNUExFMScsICRyZXN1bHRbMF1bJ0lkJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0VYQU1QTEUyJywgJHJlc3VsdFsxXVsnSWQnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnRVhBTVBMRTMnLCAkcmVzdWx0WzJdWydJZCddKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExpc3RTdHJlYW1pbmdEaXN0cmlidXRpb25zSXRlcmF0b3IoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdjbG91ZGZyb250Jyk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgKICAgICAgICAgICAgJ2Nsb3VkZnJvbnQvTGlzdFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbnNfcGFnZV8xJywKICAgICAgICAgICAgJ2Nsb3VkZnJvbnQvTGlzdFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbnNfcGFnZV8yJwogICAgICAgICkpOwogICAgICAgICRpdGVyYXRvciA9ICRjbGllbnQtPmdldEl0ZXJhdG9yKCdMaXN0U3RyZWFtaW5nRGlzdHJpYnV0aW9ucycpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXEl0ZXJhdG9yXEF3c1Jlc291cmNlSXRlcmF0b3InLCAkaXRlcmF0b3IpOwogICAgICAgICRyZXN1bHQgPSBpdGVyYXRvcl90b19hcnJheSgkaXRlcmF0b3IpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgY291bnQoJHJlc3VsdCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0VYQU1QTEUxJywgJHJlc3VsdFswXVsnSWQnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnRVhBTVBMRTInLCAkcmVzdWx0WzFdWydJZCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdFWEFNUExFMycsICRyZXN1bHRbMl1bJ0lkJ10pOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFront/Waiter/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFront/Waiter/DistributionDeployedTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRGcm9udFxXYWl0ZXI7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCmNsYXNzIERpc3RyaWJ1dGlvbkRlcGxveWVkVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zVHJ1ZUlmRGVwbG95ZWQoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdjbG91ZGZyb250Jyk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgKICAgICAgICAgICAgJ2Nsb3VkZnJvbnQvR2V0RGlzdHJpYnV0aW9uX0luUHJvZ3Jlc3MnLAogICAgICAgICAgICAnY2xvdWRmcm9udC9HZXREaXN0cmlidXRpb25fRGVwbG95ZWQnCiAgICAgICAgKSk7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsKCdkaXN0cmlidXRpb25fZGVwbG95ZWQnLCBhcnJheSgnSWQnID0+ICdiYXInLCAnd2FpdGVyLmludGVydmFsJyA9PiAwKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzTm90QnVmZmVyT3RoZXJFeGNlcHRpb25zKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnY2xvdWRmcm9udCcpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkobmV3IFJlc3BvbnNlKDQwNCkpKTsKICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ2Rpc3RyaWJ1dGlvbl9kZXBsb3llZCcsIGFycmF5KCdJZCcgPT4gJ2JhcicpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFront/Waiter/InvalidationCompletedTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRGcm9udFxXYWl0ZXI7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCmNsYXNzIEludmFsaWRhdGlvbkNvbXBsZXRlZFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNJbnZhbGlkYXRpb25SZXNvdXJjZSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2Nsb3VkZnJvbnQnKTsKICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ0ludmFsaWRhdGlvbkNvbXBsZXRlZCcsIGFycmF5KCdJZCcgPT4gJ2ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNUcnVlSWZEZXBsb3llZCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2Nsb3VkZnJvbnQnKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KAogICAgICAgICAgICAnY2xvdWRmcm9udC9HZXRJbnZhbGlkYXRpb25fSW5Qcm9ncmVzcycsCiAgICAgICAgICAgICdjbG91ZGZyb250L0dldEludmFsaWRhdGlvbl9Db21wbGV0ZWQnCiAgICAgICAgKSk7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsKAogICAgICAgICAgICAnSW52YWxpZGF0aW9uQ29tcGxldGVkJywKICAgICAgICAgICAgYXJyYXkoJ0Rpc3RyaWJ1dGlvbklkJyA9PiAnZm9vJywgJ0lkJyA9PiAnYmFyJywgJ3dhaXRlci5pbnRlcnZhbCcgPT4gMCkKICAgICAgICApOwogICAgICAgICRyZXF1ZXN0cyA9ICR0aGlzLT5nZXRNb2NrZWRSZXF1ZXN0cygpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJHJlcXVlc3RzKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCcvZGlzdHJpYnV0aW9uL2Zvby9pbnZhbGlkYXRpb24vYmFyJywgJHJlcXVlc3RzWzBdLT5nZXRVcmwoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzTm90QnVmZmVyT3RoZXJFeGNlcHRpb25zKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnY2xvdWRmcm9udCcpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkobmV3IFJlc3BvbnNlKDQwNCkpKTsKICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ2ludmFsaWRhdGlvbl9jb21wbGV0ZWQnLCBhcnJheSgnRGlzdHJpYnV0aW9uSWQnID0+ICdmb28nLCAnSWQnID0+ICdiYXInKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudFront/Waiter/StreamingDistributionDeployedTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRGcm9udFxXYWl0ZXI7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCmNsYXNzIFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbkRlcGxveWVkVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zVHJ1ZUlmRGVwbG95ZWQoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdjbG91ZGZyb250Jyk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgKICAgICAgICAgICAgJ2Nsb3VkZnJvbnQvR2V0U3RyZWFtaW5nRGlzdHJpYnV0aW9uX0luUHJvZ3Jlc3MnLAogICAgICAgICAgICAnY2xvdWRmcm9udC9HZXRTdHJlYW1pbmdEaXN0cmlidXRpb25fRGVwbG95ZWQnCiAgICAgICAgKSk7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsKCdzdHJlYW1pbmdfZGlzdHJpYnV0aW9uX2RlcGxveWVkJywgYXJyYXkoJ0lkJyA9PiAnZm9vJywgJ3dhaXRlci5pbnRlcnZhbCcgPT4gMCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc05vdEJ1ZmZlck90aGVyRXhjZXB0aW9ucygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2Nsb3VkZnJvbnQnKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KG5ldyBSZXNwb25zZSg0MDQpKSk7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsKCdzdHJlYW1pbmdfZGlzdHJpYnV0aW9uX2RlcGxveWVkJywgYXJyYXkoJ0lkJyA9PiAnZm9vJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudSearch/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudSearch/CloudSearchClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRXYXRjaDsKCnVzZSBBd3NcQ2xvdWRTZWFyY2hcQ2xvdWRTZWFyY2hDbGllbnQ7CgpjbGFzcyBDbG91ZFNlYXJjaENsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ2xvdWRTZWFyY2hcQ2xvdWRTZWFyY2hDbGllbnQ6OmZhY3RvcnkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGYWN0b3J5SW5pdGlhbGl6ZXNDbGllbnQoKQogICAgewogICAgICAgICRjbGllbnQgPSBDbG91ZFNlYXJjaENsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtZWFzdC0xJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQnLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY2xpZW50LCAnc2lnbmF0dXJlJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzJywgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9jbG91ZHNlYXJjaC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudSearch/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudSearch/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRTZWFyY2hcSW50ZWdyYXRpb247Cgp1c2UgQXdzXENsb3VkU2VhcmNoXENsb3VkU2VhcmNoQ2xpZW50OwoKLyoqCiAqICJpbnRlZ2RvbWFpbiIgaXMgdXNlZCBhcyB0aGUgdGVzdCBkb21haW4gdGhyb3VnaG91dCB0aGlzIHRlc3QKICogQGdyb3VwIGludGVncmF0aW9uCiAqIEBncm91cCBleGFtcGxlCiAqLwpjbGFzcyBJbnRlZ3JhdGlvblRlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgLyoqIEB2YXIgQ2xvdWRTZWFyY2hDbGllbnQgKi8KICAgIHByb3RlY3RlZCAkY2xpZW50OwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2Nsb3Vkc2VhcmNoJyk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB0ZWFyRG93bkFmdGVyQ2xhc3MoKQogICAgewogICAgICAgIHNlbGY6OmxvZygnQ2xlYW5pbmcgdXAnKTsKICAgICAgICAkY2xpZW50ID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdjbG91ZHNlYXJjaCcpOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRjbGllbnQtPmRlbGV0ZURvbWFpbihhcnJheSgnRG9tYWluTmFtZScgPT4gJ2ludGVnZG9tYWluJykpOwogICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHt9CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBkb21haW4KICAgICAqCiAgICAgKiBAZXhhbXBsZSBBd3NcQ2xvdWRTZWFyY2hcQ2xvdWRTZWFyY2hDbGllbnQ6OmNyZWF0ZURvbWFpbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNEb21haW5zKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICBzZWxmOjpsb2coJ0NyZWF0aW5nIHRlc3QgZG9tYWluJyk7CiAgICAgICAgLy8gQGJlZ2luCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPmNyZWF0ZURvbWFpbihhcnJheSgKICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+ICdpbnRlZ2RvbWFpbicKICAgICAgICApKTsKICAgICAgICAvLyBAZW5kCiAgICAgICAgJHJlc3VsdCA9ICRyZXN1bHQtPnRvQXJyYXkoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ0RvbWFpblN0YXR1cycsICRyZXN1bHQpOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnRG9tYWluSWQnLCAkcmVzdWx0WydEb21haW5TdGF0dXMnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdEb21haW5OYW1lJywgJHJlc3VsdFsnRG9tYWluU3RhdHVzJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXN1bHRbJ0RvbWFpblN0YXR1cyddWydDcmVhdGVkJ10pOwogICAgfQoKICAgIC8qKgogICAgICogTGlzdCBkb21haW5zCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdENyZWF0ZXNEb21haW5zCiAgICAgKiBAZXhhbXBsZSBBd3NcQ2xvdWRTZWFyY2hcQ2xvdWRTZWFyY2hDbGllbnQ6OmRlc2NyaWJlRG9tYWlucwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExpc3RzRG9tYWlucygpCiAgICB7CiAgICAgICAgc2VsZjo6bG9nKCdMaXN0aW5nIGRvbWFpbnMnKTsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKCiAgICAgICAgLy8gQGJlZ2luCiAgICAgICAgJGl0ZXJhdG9yID0gJGNsaWVudC0+Z2V0RGVzY3JpYmVEb21haW5zSXRlcmF0b3IoKTsKICAgICAgICBmb3JlYWNoICgkaXRlcmF0b3IgYXMgJGRvbWFpbikgewogICAgICAgICAgICBlY2hvICRkb21haW5bJ0RvbWFpbk5hbWUnXSAuICJcbiI7CiAgICAgICAgfQogICAgICAgIC8vIEBlbmQKCiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdpbnRlZ2RvbWFpbicsICR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudTrail/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudTrail/CloudTrailClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRUcmFpbDsKCnVzZSBBd3NcQ2xvdWRUcmFpbFxDbG91ZFRyYWlsQ2xpZW50OwoKY2xhc3MgQ2xvdWRUcmFpbENsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ2xvdWRUcmFpbFxDbG91ZFRyYWlsQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gQ2xvdWRUcmFpbENsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtd2VzdC0yJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQnLCAkY2xpZW50LT5nZXRTaWduYXR1cmUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHMnLCAkY2xpZW50LT5nZXRDcmVkZW50aWFscygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwczovL2Nsb3VkdHJhaWwudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20nLCAkY2xpZW50LT5nZXRCYXNlVXJsKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudTrail/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudTrail/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRUcmFpbFxJbnRlZ3JhdGlvbjsKCnVzZSBBd3NcQ2xvdWRUcmFpbFxDbG91ZFRyYWlsQ2xpZW50Owp1c2UgQXdzXFMzXFMzQ2xpZW50OwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKiBAZ3JvdXAgZXhhbXBsZQogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIC8qKiBAdmFyIENsb3VkVHJhaWxDbGllbnQgKi8KICAgIHByb3RlY3RlZCAkY2xvdWR0cmFpbDsKCiAgICAvKiogQHZhciBTM0NsaWVudCAqLwogICAgcHJvdGVjdGVkICRzMzsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICRhd3MgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKTsKCiAgICAgICAgJHRoaXMtPmNsb3VkdHJhaWwgPSAkYXdzLT5nZXQoJ2Nsb3VkdHJhaWwnKTsKICAgICAgICAkdGhpcy0+czMgPSAkYXdzLT5nZXQoJ3MzJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBFeGVjdXRlIHRoZSBDcmVhdGVUcmFpbCBvcGVyYXRpb24KICAgICAqCiAgICAgKiBAZXhhbXBsZSBBd3NcQ2xvdWRUcmFpbFxDbG91ZFRyYWlsQ2xpZW50OjpjcmVhdGVUcmFpbAogICAgICogQGV4YW1wbGUgQXdzXFMzXFMzQ2xpZW50OjpwdXRCdWNrZXRQb2xpY3kKICAgICAqIEBleGFtcGxlIEF3c1xTM1xTM0NsaWVudDo6d2FpdFVudGlsQnVja2V0RXhpc3RzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlVHJhaWwoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xvdWR0cmFpbDsKICAgICAgICAkczMgPSAkdGhpcy0+czM7CiAgICAgICAgJGJ1Y2tldCA9ICdwaHAtJyAuICR0aGlzLT5nZXRSZXNvdXJjZVByZWZpeCgpIC4gJy1jbG91ZHRyYWlsJzsKCiAgICAgICAgc2VsZjo6bG9nKCdEZWxldGUgZXhpc3RpbmcgdHJhaWxzLicpOwogICAgICAgIGZvcmVhY2ggKCRjbGllbnQtPmdldERlc2NyaWJlVHJhaWxzSXRlcmF0b3IoKSBhcyAkdHJhaWwpIHsKICAgICAgICAgICAgJGNsaWVudC0+ZGVsZXRlVHJhaWwoYXJyYXkoJ05hbWUnID0+ICR0cmFpbFsnTmFtZSddKSk7CiAgICAgICAgfQoKICAgICAgICBzZWxmOjpsb2coJ0NyZWF0ZSBhbiBTMyBidWNrZXQgYW5kIGEgQ2xvdWRUcmFpbCB0cmFpbCB0aGF0IGxvZ3MgdG8gdGhhdCBidWNrZXQuJyk7CgogICAgICAgIC8vIEBiZWdpbgogICAgICAgIC8vIENyZWF0ZSBhIGJ1Y2tldCBpbiBTMyB0byBzdG9yZSB0aGUgbG9ncyBhbmQgY29uZmlndXJlIHRoZSBwb2xpY3kKICAgICAgICAkczMtPmNyZWF0ZUJ1Y2tldChhcnJheSgnQnVja2V0JyA9PiAkYnVja2V0KSk7CiAgICAgICAgJHMzLT53YWl0VW50aWxCdWNrZXRFeGlzdHMoYXJyYXkoJ0J1Y2tldCcgPT4gJGJ1Y2tldCkpOwogICAgICAgICRzMy0+cHV0QnVja2V0UG9saWN5KGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiAkYnVja2V0LAogICAgICAgICAgICAnUG9saWN5JyA9PiBqc29uX2VuY29kZShhcnJheSgKICAgICAgICAgICAgICAgICdTdGF0ZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnU2lkJyA9PiAnY2xvdWR0cmFpbC10by1zMycsCiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3MzOkdldEJ1Y2tldEFjbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnczM6UHV0T2JqZWN0JwogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnRWZmZWN0JyA9PiAnQWxsb3cnLAogICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2UnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImFybjphd3M6czM6Ojp7JGJ1Y2tldH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImFybjphd3M6czM6Ojp7JGJ1Y2tldH0vQVdTTG9ncy8qIgogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnUHJpbmNpcGFsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBV1MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvY3VtZW50ZWQgQ2xvdWRUcmFpbCBQcmluY2lwYWwgQVJOcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcm46YXdzOmlhbTo6MDg2NDQxMTUxNDM2OnJvb3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcm46YXdzOmlhbTo6MTEzMjg1NjA3MjYwOnJvb3QnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkpCiAgICAgICAgKSk7CgogICAgICAgIC8vIENyZWF0ZSBhIENsb3VkVHJhaWwgdHJhaWwgYW5kIHNldCB0aGUgYnVja2V0IHRvIHVzZQogICAgICAgICRjbGllbnQtPmNyZWF0ZVRyYWlsKGFycmF5KAogICAgICAgICAgICAndHJhaWwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ05hbWUnICAgICAgICAgPT4gJ3Rlc3QtdHJhaWwnLAogICAgICAgICAgICAgICAgJ1MzQnVja2V0TmFtZScgPT4gJGJ1Y2tldCwKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAvLyBAZW5kCiAgICAgICAgcmV0dXJuICRidWNrZXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBFeGVjdXRlIHRoZSBTdGFydExvZ2dpbmcgb3BlcmF0aW9ucwogICAgICoKICAgICAqIEBleGFtcGxlIEF3c1xDbG91ZFRyYWlsXENsb3VkVHJhaWxDbGllbnQ6OnN0YXJ0TG9nZ2luZwogICAgICogQGRlcGVuZHMgdGVzdENyZWF0ZVRyYWlsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U3RhcnRMb2dnaW5nKCRidWNrZXQpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbG91ZHRyYWlsOwoKICAgICAgICAvLyBAYmVnaW4KICAgICAgICAkY2xpZW50LT5zdGFydExvZ2dpbmcoYXJyYXkoCiAgICAgICAgICAgICdOYW1lJyA9PiAndGVzdC10cmFpbCcKICAgICAgICApKTsKCiAgICAgICAgLy8gQGVuZAogICAgICAgIHJldHVybiAkYnVja2V0OwogICAgfQoKICAgIC8qKgogICAgICogRXhlY3V0ZSB0aGUgU3RvcExvZ2dpbmcgb3BlcmF0aW9ucwogICAgICoKICAgICAqIEBleGFtcGxlIEF3c1xDbG91ZFRyYWlsXENsb3VkVHJhaWxDbGllbnQ6OnN0b3BMb2dnaW5nCiAgICAgKiBAZGVwZW5kcyB0ZXN0U3RhcnRMb2dnaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U3RvcExvZ2dpbmcoJGJ1Y2tldCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsb3VkdHJhaWw7CgogICAgICAgIC8vIEBiZWdpbgogICAgICAgICRjbGllbnQtPnN0b3BMb2dnaW5nKGFycmF5KAogICAgICAgICAgICAnTmFtZScgPT4gJ3Rlc3QtdHJhaWwnCiAgICAgICAgKSk7CgogICAgICAgIC8vIEBlbmQKICAgICAgICByZXR1cm4gJGJ1Y2tldDsKICAgIH0KCiAgICAvKioKICAgICAqIEV4ZWN1dGUgdGhlIERlc2NyaWJlVHJhaWxzIGFuZCBEZWxldGVUcmFpbCBvcGVyYXRpb25zCiAgICAgKgogICAgICogQGV4YW1wbGUgQXdzXENsb3VkVHJhaWxcQ2xvdWRUcmFpbENsaWVudDo6ZGVsZXRlVHJhaWwKICAgICAqIEBleGFtcGxlIEF3c1xDbG91ZFRyYWlsXENsb3VkVHJhaWxDbGllbnQ6OmdldERlc2NyaWJlVHJhaWxzSXRlcmF0b3IKICAgICAqIEBkZXBlbmRzIHRlc3RTdG9wTG9nZ2luZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlbGV0ZVRyYWlscygkYnVja2V0KQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xvdWR0cmFpbDsKCiAgICAgICAgLy8gQGJlZ2luCiAgICAgICAgLy8gTGlzdCBhbmQgZGVsZXRlIGFsbCBvZiB0aGUgdHJhaWxzCiAgICAgICAgJHRyYWlscyA9ICRjbGllbnQtPmdldERlc2NyaWJlVHJhaWxzSXRlcmF0b3IoKTsKICAgICAgICBmb3JlYWNoICgkdHJhaWxzIGFzICR0cmFpbCkgewogICAgICAgICAgICAkY2xpZW50LT5kZWxldGVUcmFpbChhcnJheSgnTmFtZScgPT4gJHRyYWlsWydOYW1lJ10pKTsKICAgICAgICAgICAgZWNobyAiRGVsZXRlZCB0cmFpbCB7JHRyYWlsWydOYW1lJ119LlxuIjsKICAgICAgICB9CgogICAgICAgIC8vIEBlbmQKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCJEZWxldGVkIHRyYWlsIHRlc3QtdHJhaWwuXG4iLCAkdGhpcy0+Z2V0QWN0dWFsT3V0cHV0KCkpOwoKICAgICAgICAvLyBDbGVhbiB1cCB0ZXN0IGJ1Y2tldAogICAgICAgIHNsZWVwKDUpOwogICAgICAgIGlmICgkdGhpcy0+czMtPmRvZXNCdWNrZXRFeGlzdCgkYnVja2V0KSkgewogICAgICAgICAgICAkdGhpcy0+czMtPmNsZWFyQnVja2V0KCRidWNrZXQpOwogICAgICAgICAgICAkdGhpcy0+czMtPmRlbGV0ZUJ1Y2tldChhcnJheSgnQnVja2V0JyA9PiAkYnVja2V0KSk7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudTrail/LogFileIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRUcmFpbDsKCnVzZSBBd3NcQ2xvdWRUcmFpbFxDbG91ZFRyYWlsQ2xpZW50Owp1c2UgQXdzXENsb3VkVHJhaWxcTG9nRmlsZUl0ZXJhdG9yOwp1c2UgQXdzXFMzXFMzQ2xpZW50Owp1c2UgR3V6emxlXFBsdWdpblxNb2NrXE1vY2tQbHVnaW47CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwoKY2xhc3MgTG9nRmlsZUl0ZXJhdG9yVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDbG91ZFRyYWlsXExvZ0ZpbGVJdGVyYXRvcjo6Zm9yVHJhaWwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGYWN0b3J5Q2FuQ3JlYXRlRm9yVHJhaWwoKQogICAgewogICAgICAgICRzM0NsaWVudCA9ICR0aGlzLT5nZXRNb2NrUzNDbGllbnQoKTsKICAgICAgICAkY2xvdWRUcmFpbENsaWVudCA9IENsb3VkVHJhaWxDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLXdlc3QtMicsCiAgICAgICAgKSk7CiAgICAgICAgJGpzb24gPSAneyJ0cmFpbExpc3QiOlt7IkluY2x1ZGVHbG9iYWxTZXJ2aWNlRXZlbnRzIjp0cnVlLCJOYW1lIjoiRGVmYXVsdCIsIlMzQnVja2V0TmFtZSI6ImxvZy1idWNrZXQifV19JzsKICAgICAgICAkY2xvdWRUcmFpbENsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgTW9ja1BsdWdpbihhcnJheShuZXcgUmVzcG9uc2UoMjAwLCBudWxsLCAkanNvbikpKSk7CiAgICAgICAgJGZpbGVzID0gTG9nRmlsZUl0ZXJhdG9yOjpmb3JUcmFpbCgkczNDbGllbnQsICRjbG91ZFRyYWlsQ2xpZW50KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENsb3VkVHJhaWxcTG9nRmlsZUl0ZXJhdG9yJywgJGZpbGVzKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXENsb3VkVHJhaWxcTG9nRmlsZUl0ZXJhdG9yOjpmb3JUcmFpbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhY3RvcnlFcnJvcnNPblVua25vd25CdWNrZXQoKQogICAgewogICAgICAgICR0aGlzLT5zZXRFeHBlY3RlZEV4Y2VwdGlvbignSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uJyk7CiAgICAgICAgJHMzQ2xpZW50ID0gJHRoaXMtPmdldE1vY2tTM0NsaWVudCgpOwogICAgICAgICRjbG91ZFRyYWlsQ2xpZW50ID0gQ2xvdWRUcmFpbENsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtd2VzdC0yJywKICAgICAgICApKTsKICAgICAgICAkY2xvdWRUcmFpbENsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgTW9ja1BsdWdpbihhcnJheShuZXcgUmVzcG9uc2UoMjAwLCBudWxsLCAneyJ0cmFpbExpc3QiOltdfScpKSkpOwogICAgICAgICRmaWxlcyA9IExvZ0ZpbGVJdGVyYXRvcjo6Zm9yVHJhaWwoJHMzQ2xpZW50LCAkY2xvdWRUcmFpbENsaWVudCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDbG91ZFRyYWlsXExvZ0ZpbGVJdGVyYXRvcjo6X19jb25zdHJ1Y3QKICAgICAqIEBjb3ZlcnMgQXdzXENsb3VkVHJhaWxcTG9nRmlsZUl0ZXJhdG9yOjpidWlsZExpc3RPYmplY3RzSXRlcmF0b3IKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvcldvcmtzV2l0aE1pbmltdW1QYXJhbXMoKQogICAgewogICAgICAgICRzM0NsaWVudCA9ICR0aGlzLT5nZXRNb2NrUzNDbGllbnQoKTsKICAgICAgICAkZmlsZXMgPSBuZXcgTG9nRmlsZUl0ZXJhdG9yKCRzM0NsaWVudCwgJ3Rlc3QtYnVja2V0Jyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ2xvdWRUcmFpbFxMb2dGaWxlSXRlcmF0b3InLCAkZmlsZXMpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ2xvdWRUcmFpbFxMb2dGaWxlSXRlcmF0b3I6Om5vcm1hbGl6ZURhdGVWYWx1ZQogICAgICogQGNvdmVycyBBd3NcQ2xvdWRUcmFpbFxMb2dGaWxlSXRlcmF0b3I6OmRldGVybWluZURhdGVGb3JQcmVmaXgKICAgICAqIEBjb3ZlcnMgQXdzXENsb3VkVHJhaWxcTG9nRmlsZUl0ZXJhdG9yOjphcHBseURhdGVGaWx0ZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvcldvcmtzV2l0aERhdGVzKCkKICAgIHsKICAgICAgICAkczNDbGllbnQgPSAkdGhpcy0+Z2V0TW9ja1MzQ2xpZW50KCk7CiAgICAgICAgJGZpbGVzID0gbmV3IExvZ0ZpbGVJdGVyYXRvcigkczNDbGllbnQsICd0ZXN0LWJ1Y2tldCcsIGFycmF5KAogICAgICAgICAgICBMb2dGaWxlSXRlcmF0b3I6OlNUQVJUX0RBVEUgPT4gbmV3IFxEYXRlVGltZSgnMjAxMy0xMS0wMScpLAogICAgICAgICAgICBMb2dGaWxlSXRlcmF0b3I6OkVORF9EQVRFICAgPT4gJzIwMTMtMTItMDEnLAogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENsb3VkVHJhaWxcTG9nRmlsZUl0ZXJhdG9yJywgJGZpbGVzKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXENsb3VkVHJhaWxcTG9nRmlsZUl0ZXJhdG9yOjpub3JtYWxpemVEYXRlVmFsdWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvckVycm9yc09uSW52YWxpZERhdGUoKQogICAgewogICAgICAgICR0aGlzLT5zZXRFeHBlY3RlZEV4Y2VwdGlvbignSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uJyk7CgogICAgICAgICRzM0NsaWVudCA9ICR0aGlzLT5nZXRNb2NrUzNDbGllbnQoKTsKICAgICAgICAkZmlsZXMgPSBuZXcgTG9nRmlsZUl0ZXJhdG9yKCRzM0NsaWVudCwgJ3Rlc3QtYnVja2V0JywgYXJyYXkoCiAgICAgICAgICAgIExvZ0ZpbGVJdGVyYXRvcjo6U1RBUlRfREFURSA9PiB0cnVlLAogICAgICAgICAgICBMb2dGaWxlSXRlcmF0b3I6OkVORF9EQVRFICAgPT4gZmFsc2UsCiAgICAgICAgKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDbG91ZFRyYWlsXExvZ0ZpbGVJdGVyYXRvcjo6YXBwbHlEYXRlRmlsdGVyCiAgICAgKiBAY292ZXJzIEF3c1xDbG91ZFRyYWlsXExvZ0ZpbGVJdGVyYXRvcjo6YXBwbHlSZWdleEZpbHRlcgogICAgICogQGNvdmVycyBBd3NcQ2xvdWRUcmFpbFxMb2dGaWxlSXRlcmF0b3I6OmN1cnJlbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5JdGVyYXRlVGhyb3VnaEZpbGVzKCkKICAgIHsKICAgICAgICAkczNDbGllbnQgPSAkdGhpcy0+Z2V0TW9ja1MzQ2xpZW50KCk7CiAgICAgICAgJGZpbGVzID0gbmV3IExvZ0ZpbGVJdGVyYXRvcigkczNDbGllbnQsICd0ZXN0LWJ1Y2tldCcsIGFycmF5KAogICAgICAgICAgICBMb2dGaWxlSXRlcmF0b3I6OlNUQVJUX0RBVEUgPT4gbmV3IFxEYXRlVGltZSgnMjAxMy0xMS0wMScpLAogICAgICAgICAgICBMb2dGaWxlSXRlcmF0b3I6OkVORF9EQVRFICAgPT4gJzIwMTMtMTItMDEnLAogICAgICAgICkpOwoKICAgICAgICAkaW5uZXJJdGVyYXRvciA9ICRmaWxlcy0+Z2V0SW5uZXJJdGVyYXRvcigpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcSXRlcmF0b3JcRmlsdGVySXRlcmF0b3InLCAkaW5uZXJJdGVyYXRvcik7CgogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkZmlsZXMtPmN1cnJlbnQoKSk7CiAgICAgICAgJGZpbGVzID0gaXRlcmF0b3JfdG9fYXJyYXkoJGZpbGVzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoMywgJGZpbGVzLCBwcmludF9yKCRmaWxlcywgdHJ1ZSkpOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBTM0NsaWVudAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldE1vY2tTM0NsaWVudCgpCiAgICB7CiAgICAgICAgLy8gU2V0dXAgTGlzdE9iamVjdHMgcmVzcG9uc2UKICAgICAgICAkeG1sID0gPDw8WE1MCjw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CjxMaXN0QnVja2V0UmVzdWx0IHhtbG5zPSJodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kb2MvMjAwNi0wMy0wMS8iPgogICAgPE5hbWU+dGVzdC1idWNrZXQ8L05hbWU+CiAgICA8UHJlZml4Lz4KICAgIDxNYXJrZXIvPgogICAgPE1heEtleXM+MTAwMDwvTWF4S2V5cz4KICAgIDxJc1RydW5jYXRlZD5mYWxzZTwvSXNUcnVuY2F0ZWQ+CiAgICA8Q29udGVudHM+CiAgICAgICAgPEtleT5BV1NMb2dzLzEyMzQ1L0Nsb3VkVHJhaWwvdXMtZWFzdC0xLzIwMTMvMTEvMTUvZm9vLTIwMTMxMTE1VDE0NTNaLWxvZy5qc29uLmd6PC9LZXk+CiAgICA8L0NvbnRlbnRzPgogICAgPENvbnRlbnRzPgogICAgICAgIDxLZXk+QVdTTG9ncy8xMjM0NS9DbG91ZFRyYWlsL3VzLWVhc3QtMS8yMDEzLzExLzI4L2Zvby0yMDEzMTEyOFQxODIyWi1sb2cuanNvbi5nejwvS2V5PgogICAgPC9Db250ZW50cz4KICAgIDxDb250ZW50cz4KICAgICAgICA8S2V5PkFXU0xvZ3MvMTIzNDUvQ2xvdWRUcmFpbC91cy1lYXN0LTEvMjAxMy8xMi8wMS9mb28tMjAxMzExMjlUMDMxMVotbG9nLmpzb24uZ3o8L0tleT4KICAgIDwvQ29udGVudHM+CiAgICA8Q29udGVudHM+CiAgICAgICAgPEtleT5BV1NMb2dzLzEyMzQ1L0Nsb3VkVHJhaWwvdXMtZWFzdC0xLzIwMTMvMTIvMDEvZm9vLTIwMTMxMjI1VDAwMDBaLWxvZy5qc29uLmd6PC9LZXk+CiAgICA8L0NvbnRlbnRzPgo8L0xpc3RCdWNrZXRSZXN1bHQ+ClhNTDsKCiAgICAgICAgJGNsaWVudCA9IFMzQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgKSk7CiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgTW9ja1BsdWdpbihhcnJheShuZXcgUmVzcG9uc2UoMjAwLCBudWxsLCAkeG1sKSkpKTsKCiAgICAgICAgcmV0dXJuICRjbGllbnQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudTrail/LogFileReaderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRUcmFpbDsKCnVzZSBBd3NcQ2xvdWRUcmFpbFxMb2dGaWxlUmVhZGVyOwp1c2UgQXdzXFMzXFMzQ2xpZW50Owp1c2UgR3V6emxlXFBsdWdpblxNb2NrXE1vY2tQbHVnaW47CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwoKY2xhc3MgTG9nRmlsZVJlYWRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciBkYXRhRm9yTG9nUmVhZGluZ1Rlc3QKICAgICAqIEBjb3ZlcnMgQXdzXENsb3VkVHJhaWxcTG9nRmlsZVJlYWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvcnJlY3RseVJlYWRzTG9nRmlsZXMoJHJlc3BvbnNlQm9keSwgJHJlY29yZENvdW50KQogICAgewogICAgICAgICRzM0NsaWVudCA9IFMzQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgKSk7CiAgICAgICAgJHMzQ2xpZW50LT5hZGRTdWJzY3JpYmVyKG5ldyBNb2NrUGx1Z2luKGFycmF5KG5ldyBSZXNwb25zZSgyMDAsIG51bGwsICRyZXNwb25zZUJvZHkpKSkpOwoKICAgICAgICAkcmVhZGVyID0gbmV3IExvZ0ZpbGVSZWFkZXIoJHMzQ2xpZW50KTsKICAgICAgICAkcmVjb3JkcyA9ICRyZWFkZXItPnJlYWQoJ3Rlc3QtYnVja2V0JywgJ3Rlc3Qta2V5Jyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgkcmVjb3JkQ291bnQsICRyZWNvcmRzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGF0YUZvckxvZ1JlYWRpbmdUZXN0KCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KCd7IlJlY29yZHMiOlt7ImZvbyI6IjEifSx7ImJhciI6IjIifSx7ImJheiI6IjMifV19JywgMyksCiAgICAgICAgICAgIGFycmF5KCd7IlJlY29yZHMiOltdfScsIDApLAogICAgICAgICAgICBhcnJheSgnJywgMCksCiAgICAgICAgKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudTrail/LogRecordIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRUcmFpbDsKCnVzZSBBd3NcQ2xvdWRUcmFpbFxDbG91ZFRyYWlsQ2xpZW50Owp1c2UgQXdzXENsb3VkVHJhaWxcTG9nRmlsZVJlYWRlcjsKdXNlIEF3c1xDbG91ZFRyYWlsXExvZ1JlY29yZEl0ZXJhdG9yOwp1c2UgQXdzXFMzXFMzQ2xpZW50Owp1c2UgR3V6emxlXFBsdWdpblxNb2NrXE1vY2tQbHVnaW47CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwoKY2xhc3MgTG9nUmVjb3JkSXRlcmF0b3JUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXENsb3VkVHJhaWxcTG9nUmVjb3JkSXRlcmF0b3I6OmZvclRyYWlsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUNhbkNyZWF0ZUZvclRyYWlsKCkKICAgIHsKICAgICAgICAkczNDbGllbnQgPSAkczNDbGllbnQgPSBTM0NsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICkpOwogICAgICAgICRjbG91ZFRyYWlsQ2xpZW50ID0gQ2xvdWRUcmFpbENsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtd2VzdC0yJywKICAgICAgICApKTsKICAgICAgICAkanNvbiA9ICd7InRyYWlsTGlzdCI6W3siSW5jbHVkZUdsb2JhbFNlcnZpY2VFdmVudHMiOnRydWUsIk5hbWUiOiJEZWZhdWx0IiwiUzNCdWNrZXROYW1lIjoibG9nLWJ1Y2tldCJ9XX0nOwogICAgICAgICRjbG91ZFRyYWlsQ2xpZW50LT5hZGRTdWJzY3JpYmVyKG5ldyBNb2NrUGx1Z2luKGFycmF5KG5ldyBSZXNwb25zZSgyMDAsIG51bGwsICRqc29uKSkpKTsKCiAgICAgICAgJHJlY29yZHMgPSBMb2dSZWNvcmRJdGVyYXRvcjo6Zm9yVHJhaWwoJHMzQ2xpZW50LCAkY2xvdWRUcmFpbENsaWVudCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDbG91ZFRyYWlsXExvZ1JlY29yZEl0ZXJhdG9yJywgJHJlY29yZHMpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ2xvdWRUcmFpbFxMb2dSZWNvcmRJdGVyYXRvcjo6Zm9yQnVja2V0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUNhbkNyZWF0ZUZvckJ1Y2tldCgpCiAgICB7CiAgICAgICAgJHMzQ2xpZW50ID0gJHMzQ2xpZW50ID0gUzNDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICApKTsKCiAgICAgICAgJHJlY29yZHMgPSBMb2dSZWNvcmRJdGVyYXRvcjo6Zm9yQnVja2V0KCRzM0NsaWVudCwgJ3Rlc3QtYnVja2V0Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDbG91ZFRyYWlsXExvZ1JlY29yZEl0ZXJhdG9yJywgJHJlY29yZHMpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ2xvdWRUcmFpbFxMb2dSZWNvcmRJdGVyYXRvcjo6Zm9yRmlsZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhY3RvcnlDYW5DcmVhdGVGb3JGaWxlKCkKICAgIHsKICAgICAgICAkczNDbGllbnQgPSAkczNDbGllbnQgPSBTM0NsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICkpOwoKICAgICAgICAkcmVjb3JkcyA9IExvZ1JlY29yZEl0ZXJhdG9yOjpmb3JGaWxlKCRzM0NsaWVudCwgJ3Rlc3QtYnVja2V0JywgJ3Rlc3Qta2V5Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDbG91ZFRyYWlsXExvZ1JlY29yZEl0ZXJhdG9yJywgJHJlY29yZHMpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ2xvdWRUcmFpbFxMb2dSZWNvcmRJdGVyYXRvcjo6X19jb25zdHJ1Y3QKICAgICAqIEBjb3ZlcnMgQXdzXENsb3VkVHJhaWxcTG9nUmVjb3JkSXRlcmF0b3I6OmN1cnJlbnQKICAgICAqIEBjb3ZlcnMgQXdzXENsb3VkVHJhaWxcTG9nUmVjb3JkSXRlcmF0b3I6OmtleQogICAgICogQGNvdmVycyBBd3NcQ2xvdWRUcmFpbFxMb2dSZWNvcmRJdGVyYXRvcjo6dmFsaWQKICAgICAqIEBjb3ZlcnMgQXdzXENsb3VkVHJhaWxcTG9nUmVjb3JkSXRlcmF0b3I6OmdldElubmVySXRlcmF0b3IKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJdGVyYXRvckJlaGF2ZXNDb3JyZWN0bHlCZWZvcmVSZXdpbmQoKQogICAgewogICAgICAgICRsb2dGaWxlUmVhZGVyID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcQ2xvdWRUcmFpbFxMb2dGaWxlUmVhZGVyJykKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICRsb2dGaWxlSXRlcmF0b3IgPSBuZXcgXEFycmF5SXRlcmF0b3I7CgogICAgICAgICRyZWNvcmRzID0gbmV3IExvZ1JlY29yZEl0ZXJhdG9yKCRsb2dGaWxlUmVhZGVyLCAkbG9nRmlsZUl0ZXJhdG9yKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkcmVjb3Jkcy0+a2V5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkcmVjb3Jkcy0+Y3VycmVudCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXJyYXlJdGVyYXRvcicsICRyZWNvcmRzLT5nZXRJbm5lckl0ZXJhdG9yKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ2xvdWRUcmFpbFxMb2dSZWNvcmRJdGVyYXRvcjo6bG9hZFJlY29yZHNGcm9tQ3VycmVudExvZ0ZpbGUKICAgICAqIEBjb3ZlcnMgQXdzXENsb3VkVHJhaWxcTG9nUmVjb3JkSXRlcmF0b3I6OmN1cnJlbnQKICAgICAqIEBjb3ZlcnMgQXdzXENsb3VkVHJhaWxcTG9nUmVjb3JkSXRlcmF0b3I6OmtleQogICAgICogQGNvdmVycyBBd3NcQ2xvdWRUcmFpbFxMb2dSZWNvcmRJdGVyYXRvcjo6bmV4dAogICAgICogQGNvdmVycyBBd3NcQ2xvdWRUcmFpbFxMb2dSZWNvcmRJdGVyYXRvcjo6cmV3aW5kCiAgICAgKiBAY292ZXJzIEF3c1xDbG91ZFRyYWlsXExvZ1JlY29yZEl0ZXJhdG9yOjp2YWxpZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkl0ZXJhdGVUaHJvdWdoUmVjb3JkcygpCiAgICB7CiAgICAgICAgJGxvZ0ZpbGVSZWFkZXIgPSBuZXcgTG9nRmlsZVJlYWRlcigkdGhpcy0+Z2V0TW9ja1MzQ2xpZW50KCkpOwogICAgICAgICRsb2dGaWxlSXRlcmF0b3IgPSBuZXcgXEFycmF5SXRlcmF0b3IoYXJyYXkoCiAgICAgICAgICAgIGFycmF5KCdCdWNrZXQnID0+ICd0ZXN0LWJ1Y2tldCcsICdLZXknID0+ICd0ZXN0LWtleS0xJyksCiAgICAgICAgICAgIGFycmF5KCdCdWNrZXQnID0+ICd0ZXN0LWJ1Y2tldCcsICdLZXknID0+ICd0ZXN0LWtleS0yJyksCiAgICAgICAgICAgIGFycmF5KCdCdWNrZXQnID0+ICd0ZXN0LWJ1Y2tldCcsICdLZXknID0+ICd0ZXN0LWtleS0zJyksCiAgICAgICAgKSk7CgogICAgICAgICRyZWNvcmRzID0gbmV3IExvZ1JlY29yZEl0ZXJhdG9yKCRsb2dGaWxlUmVhZGVyLCAkbG9nRmlsZUl0ZXJhdG9yKTsKICAgICAgICAkcmVjb3JkcyA9IGl0ZXJhdG9yX3RvX2FycmF5KCRyZWNvcmRzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoNSwgJHJlY29yZHMpOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBTM0NsaWVudAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldE1vY2tTM0NsaWVudCgpCiAgICB7CiAgICAgICAgJG1vY2sgPSBuZXcgTW9ja1BsdWdpbihhcnJheSgKICAgICAgICAgICAgbmV3IFJlc3BvbnNlKDIwMCwgbnVsbCwgJ3siUmVjb3JkcyI6W3sicjEiOiJyMSJ9LHsicjIiOiJyMiJ9LHsicjMiOiJyMyJ9XX0nKSwKICAgICAgICAgICAgbmV3IFJlc3BvbnNlKDIwMCwgbnVsbCwgJ3t9JyksCiAgICAgICAgICAgIG5ldyBSZXNwb25zZSgyMDAsIG51bGwsICd7IlJlY29yZHMiOlt7InI0IjoicjQifSx7InI1IjoicjUifV19JyksCiAgICAgICAgKSk7CiAgICAgICAgJGNsaWVudCA9IFMzQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgKSk7CiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkbW9jayk7CgogICAgICAgIHJldHVybiAkY2xpZW50OwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudWatch/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudWatch/CloudWatchClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRXYXRjaDsKCnVzZSBBd3NcQ2xvdWRXYXRjaFxDbG91ZFdhdGNoQ2xpZW50OwoKY2xhc3MgQ2xvdWRXYXRjaENsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ2xvdWRXYXRjaFxDbG91ZFdhdGNoQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gQ2xvdWRXYXRjaENsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtd2VzdC0yJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQnLCAkY2xpZW50LT5nZXRTaWduYXR1cmUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHMnLCAkY2xpZW50LT5nZXRDcmVkZW50aWFscygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwczovL21vbml0b3JpbmcudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20nLCAkY2xpZW50LT5nZXRCYXNlVXJsKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudWatch/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/CloudWatch/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ2xvdWRXYXRjaFxJbnRlZ3JhdGlvbjsKCnVzZSBBd3NcQ2xvdWRXYXRjaFxDbG91ZFdhdGNoQ2xpZW50OwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKiBAZ3JvdXAgZXhhbXBsZQogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIC8qKiBAdmFyIENsb3VkV2F0Y2hDbGllbnQgKi8KICAgIHByb3RlY3RlZCAkY2xvdWR3YXRjaDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5jbG91ZHdhdGNoID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnY2xvdWR3YXRjaCcpOwogICAgfQoKICAgIC8qKgogICAgICogRXhlY3V0ZSB0aGUgUHV0TWV0cmljRGF0YSBvcGVyYXRpb24KICAgICAqCiAgICAgKiBAZXhhbXBsZSBBd3NcQ2xvdWRXYXRjaFxDbG91ZFdhdGNoQ2xpZW50OjpwdXRNZXRyaWNEYXRhCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UHV0c01ldHJpY0RhdGEoKQogICAgewogICAgICAgICRwcmVmaXggPSAkdGhpcy0+Z2V0UmVzb3VyY2VQcmVmaXgoKTsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsb3Vkd2F0Y2g7CiAgICAgICAgc2VsZjo6bG9nKCdQdXQgc29tZSBkYXRhIHRvIGEgbWV0cmljLicpOwoKICAgICAgICAvLyBAYmVnaW4KICAgICAgICAkZGltZW5zaW9ucyA9IGFycmF5KAogICAgICAgICAgICBhcnJheSgnTmFtZScgPT4gJ1ByZWZpeCcsICdWYWx1ZScgPT4gJHByZWZpeCksCiAgICAgICAgKTsKCiAgICAgICAgJGNsaWVudC0+cHV0TWV0cmljRGF0YShhcnJheSgKICAgICAgICAgICAgJ05hbWVzcGFjZScgID0+ICdBV1NTREtQSFAnLAogICAgICAgICAgICAnTWV0cmljRGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnTWV0cmljTmFtZScgPT4gJ0Nsb3VkV2F0Y2hUZXN0cycsCiAgICAgICAgICAgICAgICAgICAgJ1RpbWVzdGFtcCcgID0+IHRpbWUoKSwKICAgICAgICAgICAgICAgICAgICAnVmFsdWUnICAgICAgPT4gcmFuZCgxLCAyMCkgKyByYW5kKDEsIDU5KSAvIDEwMCwKICAgICAgICAgICAgICAgICAgICAnVW5pdCcgICAgICAgPT4gJ0tpbG9ieXRlcycsCiAgICAgICAgICAgICAgICAgICAgJ0RpbWVuc2lvbnMnID0+ICRkaW1lbnNpb25zCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICkpOwogICAgfQoKICAgIC8qKgogICAgICogTGlzdHMgbWV0cmljcwogICAgICoKICAgICAqIEBleGFtcGxlIEF3c1xDbG91ZFdhdGNoXENsb3VkV2F0Y2hDbGllbnQ6Omxpc3RNZXRyaWNzCiAgICAgKiBAZGVwZW5kcyB0ZXN0UHV0c01ldHJpY0RhdGEKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RMaXN0c01ldHJpY3MoKQogICAgewogICAgICAgIHNlbGY6OmxvZygnTWFrZSBzdXJlIHRoZSBtZXRyaWMgZXhpc3RzLicpOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xvdWR3YXRjaDsKCiAgICAgICAgLy8gQGJlZ2luCiAgICAgICAgJGl0ZXJhdG9yID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ0xpc3RNZXRyaWNzJywgYXJyYXkoCiAgICAgICAgICAgICdOYW1lc3BhY2UnID0+ICdBV1NTREtQSFAnCiAgICAgICAgKSk7CgogICAgICAgIGZvcmVhY2ggKCRpdGVyYXRvciBhcyAkbWV0cmljKSB7CiAgICAgICAgICAgIGVjaG8gJG1ldHJpY1snTWV0cmljTmFtZSddIC4gJyAtICcKICAgICAgICAgICAgICAgIC4gJG1ldHJpY1snRGltZW5zaW9ucyddWzBdWydOYW1lJ10gLiAnIC0gJwogICAgICAgICAgICAgICAgLiAkbWV0cmljWydEaW1lbnNpb25zJ11bMF1bJ1ZhbHVlJ10gLiAiXG4iOwogICAgICAgIH0KCiAgICAgICAgLy8gQGVuZAoKICAgICAgICBlY2hvICdDbG91ZFdhdGNoVGVzdHMgLSBQcmVmaXggLSAnIC4gJHRoaXMtPmdldFJlc291cmNlUHJlZml4KCkgLiAiXG4iOwogICAgICAgICRmb3VuZCA9IGZhbHNlICE9PSBzdHJwb3MoJ0Nsb3VkV2F0Y2hUZXN0cyAtIFByZWZpeCAtICcgLiAkdGhpcy0+Z2V0UmVzb3VyY2VQcmVmaXgoKSwgJHRoaXMtPmdldEFjdHVhbE91dHB1dCgpKTsKCiAgICAgICAgcmV0dXJuICRmb3VuZDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldE1ldHJpY1N0YXRpc3RpY3MKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0TGlzdHNNZXRyaWNzCiAgICAgKiBAZXhhbXBsZSBBd3NcQ2xvdWRXYXRjaFxDbG91ZFdhdGNoQ2xpZW50OjpnZXRNZXRyaWNTdGF0aXN0aWNzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0c01ldHJpY1N0YXRpc3RpY3MoJGZvdW5kKQogICAgewogICAgICAgIGlmICghJGZvdW5kKSB7CiAgICAgICAgICAgICR0aGlzLT5tYXJrVGVzdFNraXBwZWQoJ1RoZSBDbG91ZFdhdGNoIG1ldHJpYyB5b3UgY3JlYXRlZCBoYXMgbm90IHlldCBiZWVuIHBpY2tlZCB1cCBieSBDbG91ZFdhdGNoLiBUaGlzICcKICAgICAgICAgICAgLiAnY2FuIHRha2UgdXAgdG8gMTUgbWludXRlcyB0byBvY2N1ci4gUGxlYXNlIHJ1biB0aGlzIHRlc3QgYWdhaW4gbGF0ZXIuJyk7CiAgICAgICAgfQoKICAgICAgICAkcHJlZml4ID0gJHRoaXMtPmdldFJlc291cmNlUHJlZml4KCk7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbG91ZHdhdGNoOwogICAgICAgIHNlbGY6OmxvZygnVmVyaWZ5IHRoZSBzdGF0aXN0aWNzIG9mIHRoZSBkYXRhIHRoYXQgaGFzIGJlZW4gcHV0LicpOwoKICAgICAgICAvLyBAYmVnaW4KICAgICAgICAkZGltZW5zaW9ucyA9IGFycmF5KAogICAgICAgICAgICBhcnJheSgnTmFtZScgPT4gJ1ByZWZpeCcsICdWYWx1ZScgPT4gJHByZWZpeCksCiAgICAgICAgKTsKCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPmdldE1ldHJpY1N0YXRpc3RpY3MoYXJyYXkoCiAgICAgICAgICAgICdOYW1lc3BhY2UnICA9PiAnQVdTU0RLUEhQJywKICAgICAgICAgICAgJ01ldHJpY05hbWUnID0+ICdDbG91ZFdhdGNoVGVzdHMnLAogICAgICAgICAgICAnRGltZW5zaW9ucycgPT4gJGRpbWVuc2lvbnMsCiAgICAgICAgICAgICdTdGFydFRpbWUnICA9PiBzdHJ0b3RpbWUoJy0xIGRheXMnKSwKICAgICAgICAgICAgJ0VuZFRpbWUnICAgID0+IHN0cnRvdGltZSgnbm93JyksCiAgICAgICAgICAgICdQZXJpb2QnICAgICA9PiAzMDAwLAogICAgICAgICAgICAnU3RhdGlzdGljcycgPT4gYXJyYXkoJ01heGltdW0nLCAnTWluaW11bScpLAogICAgICAgICkpOwogICAgICAgIC8vIEBlbmQKCiAgICAgICAgJG1pbiA9IG1pbigkcmVzdWx0LT5nZXRQYXRoKCdEYXRhcG9pbnRzLyovTWluaW11bScpKTsKICAgICAgICAkbWF4ID0gbWF4KCRyZXN1bHQtPmdldFBhdGgoJ0RhdGFwb2ludHMvKi9NYXhpbXVtJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRHcmVhdGVyVGhhbigxLCAkbWluKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TGVzc1RoYW4oMjIsICRtYXgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/AwsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uOwoKdXNlIEF3c1xDb21tb25cQXdzOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXENvbW1vblxBd3MKICovCmNsYXNzIEF3c1Rlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluc3RhbnRpYXRlc0F3c09iamVjdFVzaW5nRGVmYXVsdENvbmZpZygpCiAgICB7CiAgICAgICAgJGJ1aWxkZXIgPSBBd3M6OmZhY3RvcnkoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkYnVpbGRlci0+b2Zmc2V0RXhpc3RzKCdkeW5hbW9kYicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkYnVpbGRlci0+b2Zmc2V0RXhpc3RzKCdzdHMnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdzMycsICRidWlsZGVyLT5nZXRDb25maWcoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUcmVhdHNBcnJheUluRmlyc3RBcmdBc0dsb2JhbFBhcmFtZXRlcnNVc2luZ0RlZmF1bHRDb25maWdGaWxlKCkKICAgIHsKICAgICAgICAkYnVpbGRlciA9IEF3czo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtZWFzdC0xJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkYnVpbGRlci0+Z2V0KCdkeW5hbW9kYicpLT5nZXRDb25maWcoJ2tleScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXInLCAkYnVpbGRlci0+Z2V0KCdkeW5hbW9kYicpLT5nZXRDb25maWcoJ3NlY3JldCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNEZWZhdWx0Q29uZmlnUGF0aCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdhd3MtY29uZmlnLnBocCcsIEF3czo6Z2V0RGVmYXVsdFNlcnZpY2VEZWZpbml0aW9uKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuRW5hYmxlRmFjYWRlcygpCiAgICB7CiAgICAgICAgQXdzOjpmYWN0b3J5KCktPmVuYWJsZUZhY2FkZXMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZShjbGFzc19leGlzdHMoJ0R5bmFtb0RiJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Client/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Client/AbstractClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENsaWVudDsKCnVzZSBBd3NcQ29tbW9uXEF3czsKdXNlIEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50Owp1c2UgQXdzXENvbW1vblxDbGllbnRcQXdzQ2xpZW50SW50ZXJmYWNlOwp1c2UgQXdzXENvbW1vblxFbnVtXFJlZ2lvbjsKdXNlIEF3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0Owp1c2UgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlTGlzdGVuZXI7CnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzOwp1c2UgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50Owp1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cU2VydmljZURlc2NyaXB0aW9uOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQKICovCmNsYXNzIEFic3RyYWN0Q2xpZW50VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvckNvbmZpZ3VyZXNDbGllbnQoKQogICAgewogICAgICAgICRzaWduYXR1cmUgPSBuZXcgU2lnbmF0dXJlVjQoKTsKICAgICAgICAkY3JlZGVudGlhbHMgPSBuZXcgQ3JlZGVudGlhbHMoJ3Rlc3QnLCAnMTIzJyk7CiAgICAgICAgJGNvbmZpZyA9IG5ldyBDb2xsZWN0aW9uKCk7CgogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50JykKICAgICAgICAgICAgLT5zZXRDb25zdHJ1Y3RvckFyZ3MoYXJyYXkoJGNyZWRlbnRpYWxzLCAkc2lnbmF0dXJlLCAkY29uZmlnKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkc2lnbmF0dXJlLCAkY2xpZW50LT5nZXRTaWduYXR1cmUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGNyZWRlbnRpYWxzLCAkY2xpZW50LT5nZXRDcmVkZW50aWFscygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkY29uZmlnLCAkY2xpZW50LT5nZXRDb25maWcoKSk7CgogICAgICAgIC8vIEVuc3VyZSBhIHNpZ25hdHVyZSBldmVudCBkaXNwYXRjaGVyIHdhcyBhZGRlZAogICAgICAgICR0aGlzLT5hc3NlcnRHcmVhdGVyVGhhbigwLCBhcnJheV9maWx0ZXIoCiAgICAgICAgICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5nZXRMaXN0ZW5lcnMoJ3JlcXVlc3QuYmVmb3JlX3NlbmQnKSwKICAgICAgICAgICAgZnVuY3Rpb24oJGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkZVswXSBpbnN0YW5jZW9mIFNpZ25hdHVyZUxpc3RlbmVyOwogICAgICAgICAgICB9CiAgICAgICAgKSk7CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSB1c2VyIGFnZW50IHN0cmluZyBpcyBjb3JyZWN0CiAgICAgICAgJGV4cGVjdGVkVXNlckFnZW50ID0gJ2F3cy1zZGstcGhwMi8nIC4gQXdzOjpWRVJTSU9OOwogICAgICAgICRhY3R1YWxVc2VyQWdlbnQgPSAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY2xpZW50LCAndXNlckFnZW50Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFJlZ0V4cCgiQF57JGV4cGVjdGVkVXNlckFnZW50fUAiLCAkYWN0dWFsVXNlckFnZW50KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVzZXNEZWZhdWx0V2FpdGVyRmFjdG9yeSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQnKQogICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ2ZvbycsIGFycmF5KCdiYXonID0+ICdiYXInKSk7CiAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkge30KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJGNsaWVudC0+Z2V0V2FpdGVyKCdmb28nLCBhcnJheSgnYmF6JyA9PiAnYmFyJykpOwogICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHt9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NXYWl0ZXJGYWN0b3J5SW5qZWN0aW9uKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcQ29tbW9uXENsaWVudFxBYnN0cmFjdENsaWVudCcpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CgogICAgICAgICR3YWl0ZXIgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cV2FpdGVyXFJlc291cmNlV2FpdGVySW50ZXJmYWNlJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCd3YWl0JywgJ3NldFJlc291cmNlJywgJ3NldENvbmZpZycsICdzZXRDbGllbnQnKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICAkd2FpdGVyLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCd3YWl0JykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkY2xpZW50KSk7CgogICAgICAgICR3YWl0ZXItPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3NldENvbmZpZycpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJHdhaXRlcikpOwoKICAgICAgICAkd2FpdGVyLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdzZXRDbGllbnQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCR3YWl0ZXIpKTsKCiAgICAgICAgJGZhY3RvcnkgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cV2FpdGVyXFdhaXRlckZhY3RvcnlJbnRlcmZhY2UnKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2J1aWxkJywgJ2NhbkJ1aWxkJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwoKICAgICAgICAkZmFjdG9yeS0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnYnVpbGQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCR3YWl0ZXIpKTsKCiAgICAgICAgJGNsaWVudC0+c2V0V2FpdGVyRmFjdG9yeSgkZmFjdG9yeSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGZhY3RvcnksICRjbGllbnQtPmdldFdhaXRlckZhY3RvcnkoKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRjbGllbnQsICRjbGllbnQtPndhaXRVbnRpbCgnZm9vJywgYXJyYXkoJ2JheicgPT4gJ2JhcicpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGllbnRVcHBlckNhc2VzTWFnaWNNZXRob2RDYWxsc1RvQ29tbWFuZHMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50JykKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKCiAgICAgICAgJGZhY3RvcnkgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcRmFjdG9yeVxGYWN0b3J5SW50ZXJmYWNlJykKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CgogICAgICAgICRmYWN0b3J5LT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdmYWN0b3J5JykKICAgICAgICAgICAgLT53aXRoKCdGb29CYXInKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKG51bGwpKTsKCiAgICAgICAgJGNsaWVudC0+c2V0Q29tbWFuZEZhY3RvcnkoJGZhY3RvcnkpOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAkY2xpZW50LT5mb29CYXIoKTsKICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7fQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2V0UmVnaW9uVXBkYXRlc0Jhc2VVcmxBbmRTaWduYXR1cmUoKQogICAgewogICAgICAgIC8qKiBAdmFyICRjbGllbnQgQXdzQ2xpZW50SW50ZXJmYWNlICovCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2R5bmFtb2RiJywgdHJ1ZSk7CiAgICAgICAgJGNsaWVudC0+Z2V0Q29uZmlnKCktPnNldCgnc2NoZW1lJywgJ2h0dHBzJyk7CiAgICAgICAgZm9yZWFjaCAoYXJyYXlfa2V5cygkY2xpZW50LT5nZXRSZWdpb25zKCkpIGFzICRyZWdpb24pIHsKICAgICAgICAgICAgJGNsaWVudC0+c2V0UmVnaW9uKCRyZWdpb24pOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCJodHRwczovL2R5bmFtb2RiLnskcmVnaW9ufS5hbWF6b25hd3MuY29tIiwgKHN0cmluZykgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygiaHR0cHM6Ly9keW5hbW9kYi57JHJlZ2lvbn0uYW1hem9uYXdzLmNvbSIsICRjbGllbnQtPmdldENvbmZpZygnYmFzZV91cmwnKSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlZ2lvbiwgJGNsaWVudC0+Z2V0UmVnaW9uKCkpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRyZWdpb24sICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjbGllbnQtPmdldFNpZ25hdHVyZSgpLCAncmVnaW9uTmFtZScpKTsKICAgICAgICB9CgogICAgICAgIC8qKiBAdmFyICRjbGllbnQgQXdzQ2xpZW50SW50ZXJmYWNlICovCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3N0cycsIHRydWUpOwogICAgICAgICRjbGllbnQtPmdldENvbmZpZygpLT5zZXQoJ3NjaGVtZScsICdodHRwcycpOwogICAgICAgIGZvcmVhY2ggKGFycmF5X2tleXMoJGNsaWVudC0+Z2V0UmVnaW9ucygpKSBhcyAkcmVnaW9uKSB7CiAgICAgICAgICAgICRjbGllbnQtPnNldFJlZ2lvbigkcmVnaW9uKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygiaHR0cHM6Ly9zdHMuYW1hem9uYXdzLmNvbSIsIChzdHJpbmcpICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoImh0dHBzOi8vc3RzLmFtYXpvbmF3cy5jb20iLCAkY2xpZW50LT5nZXRDb25maWcoJ2Jhc2VfdXJsJykpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKFJlZ2lvbjo6VVNfRUFTVF8xLCAkY2xpZW50LT5nZXRSZWdpb24oKSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoUmVnaW9uOjpVU19FQVNUXzEsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjbGllbnQtPmdldFNpZ25hdHVyZSgpLCAncmVnaW9uTmFtZScpKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NNYWdpY1dhaXRlcnMoKQogICAgewogICAgICAgIC8qKiBAdmFyICRjbGllbnQgQWJzdHJhY3RDbGllbnQgKi8KICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcQ29tbW9uXENsaWVudFxBYnN0cmFjdENsaWVudCcpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KAogICAgICAgICAgICAgICAgbmV3IENyZWRlbnRpYWxzKCd0ZXN0JywgJzEyMycpLAogICAgICAgICAgICAgICAgbmV3IFNpZ25hdHVyZVY0KCksCiAgICAgICAgICAgICAgICBuZXcgQ29sbGVjdGlvbigpCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnd2FpdFVudGlsJykpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKICAgICAgICAkY2xpZW50LT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCd3YWl0VW50aWwnKQogICAgICAgICAgICAtPndpdGgoJ0ZvbycsIGFycmF5KCdiYXonID0+ICdiYXInKSk7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsRm9vKGFycmF5KCdiYXonID0+ICdiYXInKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NNYWdpY0l0ZXJhdG9ycygpCiAgICB7CiAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBBYnN0cmFjdENsaWVudCAqLwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50JykKICAgICAgICAgICAgLT5zZXRDb25zdHJ1Y3RvckFyZ3MoYXJyYXkoCiAgICAgICAgICAgICAgICBuZXcgQ3JlZGVudGlhbHMoJ3Rlc3QnLCAnMTIzJyksCiAgICAgICAgICAgICAgICBuZXcgU2lnbmF0dXJlVjQoKSwKICAgICAgICAgICAgICAgIG5ldyBDb2xsZWN0aW9uKCkKICAgICAgICAgICAgKSkKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdnZXRJdGVyYXRvcicpKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CiAgICAgICAgJGNsaWVudC0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0SXRlcmF0b3InKQogICAgICAgICAgICAtPndpdGgoJ0ZvbycsIGFycmF5KCdiYXonID0+ICdiYXInKSk7CiAgICAgICAgJGNsaWVudC0+Z2V0Rm9vSXRlcmF0b3IoYXJyYXkoJ2JheicgPT4gJ2JhcicpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIE5vIHJlZ2lvbnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzUmVnaW9uc0FyZVNldFdoZW5DcmVhdGluZ0VuZHBvaW50cygpCiAgICB7CiAgICAgICAgQWJzdHJhY3RDbGllbnQ6OmdldEVuZHBvaW50KFNlcnZpY2VEZXNjcmlwdGlvbjo6ZmFjdG9yeShhcnJheSgpKSwgJ2ZvbycsICdiYXonKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIGZvbyBpcyBub3QgYSB2YWxpZCByZWdpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzUmVnaW9uSXNWYWxpZFdoZW5DcmVhdGluZ0VuZHBvaW50cygpCiAgICB7CiAgICAgICAgQWJzdHJhY3RDbGllbnQ6OmdldEVuZHBvaW50KFNlcnZpY2VEZXNjcmlwdGlvbjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ3JlZ2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2JheicgPT4gYXJyYXkoKQogICAgICAgICAgICApCiAgICAgICAgKSksICdmb28nLCAnYmF6Jyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBodHRwIGlzIG5vdCBhIHZhbGlkIFVSSSBzY2hlbWUgZm9yCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc1NjaGVtZUlzVmFsaWRXaGVuQ3JlYXRpbmdFbmRwb2ludHMoKQogICAgewogICAgICAgIEFic3RyYWN0Q2xpZW50OjpnZXRFbmRwb2ludChTZXJ2aWNlRGVzY3JpcHRpb246OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdyZWdpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdiYXonID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdodHRwJyA9PiBmYWxzZQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKSksICdiYXonLCAnaHR0cCcpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc0VuZHBvaW50cygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovL3Rlc3QuY29tJywgQWJzdHJhY3RDbGllbnQ6OmdldEVuZHBvaW50KFNlcnZpY2VEZXNjcmlwdGlvbjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ3JlZ2lvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2JheicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2h0dHAnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2hvc3RuYW1lJyA9PiAndGVzdC5jb20nCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKSwgJ2JheicsICdodHRwJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2hhbmdlUmVnaW9uQW5kQ3JlZGVudGlhbHNFdmVudHMoKQogICAgewogICAgICAgIC8qKiBAdmFyICRjbGllbnQgXEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50ICovCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2R5bmFtb2RiJywgdHJ1ZSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnY2xpZW50LnJlZ2lvbl9jaGFuZ2VkJywgJGNsaWVudDo6Z2V0QWxsRXZlbnRzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnY2xpZW50LmNyZWRlbnRpYWxzX2NoYW5nZWQnLCAkY2xpZW50OjpnZXRBbGxFdmVudHMoKSk7CgogICAgICAgICRyZWdpb25DaGFuZ2VkID0gZmFsc2U7CiAgICAgICAgJGNsaWVudC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCdjbGllbnQucmVnaW9uX2NoYW5nZWQnLCBmdW5jdGlvbiAoKSB1c2UgKCYkcmVnaW9uQ2hhbmdlZCkgewogICAgICAgICAgICAkcmVnaW9uQ2hhbmdlZCA9IHRydWU7CiAgICAgICAgfSk7CgogICAgICAgICRjcmVkZW50aWFsc0NoYW5nZWQgPSBmYWxzZTsKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ2NsaWVudC5jcmVkZW50aWFsc19jaGFuZ2VkJywgZnVuY3Rpb24gKCkgdXNlICgmJGNyZWRlbnRpYWxzQ2hhbmdlZCkgewogICAgICAgICAgICAkY3JlZGVudGlhbHNDaGFuZ2VkID0gdHJ1ZTsKICAgICAgICB9KTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRyZWdpb25DaGFuZ2VkKTsKICAgICAgICAkY2xpZW50LT5zZXRSZWdpb24oJ3VzLXdlc3QtMScpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZWdpb25DaGFuZ2VkKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjcmVkZW50aWFsc0NoYW5nZWQpOwogICAgICAgICRjbGllbnQtPnNldENyZWRlbnRpYWxzKG5ldyBDcmVkZW50aWFscygnZm9vJywgJ2JhcicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkY3JlZGVudGlhbHNDaGFuZ2VkKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc0FwaVZlcnNpb24oKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkeW5hbW9kYicsIHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3ROdWxsKCRjbGllbnQtPmdldEFwaVZlcnNpb24oKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xDb21tb25cRXhjZXB0aW9uXFRyYW5zZmVyRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0V3JhcHNDdXJsRXhjZXB0aW9ucygpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZHluYW1vZGInLCB0cnVlKTsKICAgICAgICAkY2xpZW50ID0gRHluYW1vRGJDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgICAgICAgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnICAgICAgICAgPT4gJ2JhcicsCiAgICAgICAgICAgICdyZWdpb24nICAgICAgICAgPT4gJ3VzLXdlc3QtMScsCiAgICAgICAgICAgICdjbGllbnQuYmFja29mZicgPT4gZmFsc2UsCiAgICAgICAgICAgICdiYXNlX3VybCcgICAgICAgPT4gJ2h0dHA6Ly9sb2NhbGhvc3Q6MTIzJywKICAgICAgICAgICAgJ2N1cmwub3B0aW9ucycgICA9PiBhcnJheShDVVJMT1BUX1RJTUVPVVRfTVMgPT4gMSkKICAgICAgICApKTsKICAgICAgICAkY2xpZW50LT5saXN0VGFibGVzKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Client/ClientBuilderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENsaWVudDsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxDbGllbnRCdWlsZGVyOwp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFBhcnNlclxKc29uUXVlcnlFeGNlcHRpb25QYXJzZXI7CnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzOwp1c2UgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50Owp1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEJhY2tvZmZQbHVnaW47CgovKioKICogTm90ZTogVGhlIHRlc3RzIGZvciB0aGUgYnVpbGQgbWV0aG9kIGRvIG5vdCBtb2NrIGFueXRoaW5nCiAqCiAqIEBjb3ZlcnMgQXdzXENvbW1vblxDbGllbnRcQ2xpZW50QnVpbGRlcgogKi8KY2xhc3MgQ2xpZW50QnVpbGRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCAkZHluYW1vRGJEZXNjcmlwdGlvbjsKICAgIHByb3RlY3RlZCAkc3RzRGVzY3JpcHRpb247CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+ZHluYW1vRGJEZXNjcmlwdGlvbiA9IF9fRElSX18gLiAnLy4uLy4uLy4uLy4uLy4uL3NyYy9Bd3MvRHluYW1vRGIvUmVzb3VyY2VzL2R5bmFtb2RiLTIwMTEtMTItMDUucGhwJzsKICAgICAgICAkdGhpcy0+c3RzRGVzY3JpcHRpb24gPSBfX0RJUl9fIC4gJy8uLi8uLi8uLi8uLi8uLi9zcmMvQXdzL1N0cy9SZXNvdXJjZXMvc3RzLTIwMTEtMDYtMTUucGhwJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEJ1aWxkKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeSgnQXdzXFxEeW5hbW9EYicpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnKGFycmF5KCkpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnRGVmYXVsdHMoYXJyYXkoCiAgICAgICAgICAgICAgICAnc2NoZW1lJyAgID0+ICdodHRwcycsCiAgICAgICAgICAgICAgICAncmVnaW9uJyAgID0+ICd1cy1lYXN0LTEnLAogICAgICAgICAgICAgICAgJ3NlcnZpY2UnICA9PiAnZHluYW1vZGInLAogICAgICAgICAgICAgICAgJ3NlcnZpY2UuZGVzY3JpcHRpb24nID0+ICR0aGlzLT5keW5hbW9EYkRlc2NyaXB0aW9uCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnUmVxdWlyZW1lbnRzKGFycmF5KCdzY2hlbWUnKSkKICAgICAgICAgICAgLT5zZXRFeGNlcHRpb25QYXJzZXIobmV3IEpzb25RdWVyeUV4Y2VwdGlvblBhcnNlcigpKQogICAgICAgICAgICAtPnNldEl0ZXJhdG9yc0NvbmZpZyhhcnJheSgndG9rZW5fcGFyYW0nID0+ICdmb28nKSkKICAgICAgICAgICAgLT5idWlsZCgpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50JywgJGNsaWVudCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzR2xvYmFsRW5kcG9pbnQoKQogICAgewogICAgICAgICRjbGllbnQgPSBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KCdBd3NcXFN0cycpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnKGFycmF5KCkpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnRGVmYXVsdHMoYXJyYXkoCiAgICAgICAgICAgICAgICAnc2VydmljZScgPT4gJ3N0cycsCiAgICAgICAgICAgICAgICAnc2VydmljZS5kZXNjcmlwdGlvbicgPT4gJHRoaXMtPnN0c0Rlc2NyaXB0aW9uCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xTdHNcU3RzQ2xpZW50JywgJGNsaWVudCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCdWlsZEFsdGVybmF0ZSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IENsaWVudEJ1aWxkZXI6OmZhY3RvcnkoJ0F3c1xcRHluYW1vRGInKQogICAgICAgICAgICAtPnNldENvbmZpZ0RlZmF1bHRzKGFycmF5KAogICAgICAgICAgICAgICAgJ3NjaGVtZScgID0+ICdodHRwcycsCiAgICAgICAgICAgICAgICAncmVnaW9uJyAgPT4gJ3VzLXdlc3QtMScsCiAgICAgICAgICAgICAgICAnc2VydmljZScgPT4gJ2R5bmFtb2RiJywKICAgICAgICAgICAgICAgICdzZXJ2aWNlLmRlc2NyaXB0aW9uJyA9PiAkdGhpcy0+ZHluYW1vRGJEZXNjcmlwdGlvbiwKICAgICAgICAgICAgICAgICdjcmVkZW50aWFscycgPT4gQ3JlZGVudGlhbHM6OmZhY3RvcnkoYXJyYXkoJ2tleScgPT4gJ2ZvbycsICdzZWNyZXQnID0+ICdiYXInKSksCiAgICAgICAgICAgICAgICAnY2xpZW50LmJhY2tvZmYnID0+IEJhY2tvZmZQTHVnaW46OmdldEV4cG9uZW50aWFsQmFja29mZigpCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudCcsICRjbGllbnQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREYXRhRm9yUHJvY2Vzc0FycmF5VGVzdCgpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KCdmb28nID0+ICdiYXInLCAnYmFyJyA9PiAnYmF6JyksCiAgICAgICAgICAgICAgICBhcnJheSgnZm9vJyA9PiAnYmFyJywgJ2JhcicgPT4gJ2JheicpLAogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIG5ldyBDb2xsZWN0aW9uKGFycmF5KCdmb28nID0+ICdiYXInLCAnYmFyJyA9PiAnYmF6JykpLAogICAgICAgICAgICAgICAgYXJyYXkoJ2ZvbycgPT4gJ2JhcicsICdiYXInID0+ICdiYXonKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAnZm9vJywKICAgICAgICAgICAgICAgIG51bGwKICAgICAgICAgICAgKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGdldERhdGFGb3JQcm9jZXNzQXJyYXlUZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UHJvY2Vzc0FycmF5UHJvY2Vzc2VzQ29ycmVjdGx5KCRpbnB1dCwgJGV4cGVjdGVkKQogICAgewogICAgICAgICRidWlsZGVyID0gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeSgnQXdzXFxEeW5hbW9EYicpOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAkYnVpbGRlci0+c2V0Q29uZmlnKCRpbnB1dCk7CiAgICAgICAgICAgICRhY3R1YWwgPSAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYnVpbGRlciwgJ2NvbmZpZycpOwogICAgICAgIH0gY2F0Y2ggKFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgJGFjdHVhbCA9IG51bGw7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRleHBlY3RlZCwgJGFjdHVhbCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBObyByZWdpb25zIGZvdW5kIGluIHRoZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNEZXNjcmlwdGlvbnNDb250YWluUmVnaW9ucygpCiAgICB7CiAgICAgICAgQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeSgnQXdzXFxEeW5hbW9EYicpCiAgICAgICAgICAgIC0+c2V0Q29uZmlnKGFycmF5KCdzZXJ2aWNlLmRlc2NyaXB0aW9uJyA9PiBhcnJheSgnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3YyJykpKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBkb2VzIG5vdCBzcGVjaWZ5IGEgdmFsaWQgc2lnbmF0dXJlVmVyc2lvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNTaWduYXR1cmVJc1Byb3ZpZGVkKCkKICAgIHsKICAgICAgICBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KCdBd3NcXER5bmFtb0RiJykKICAgICAgICAgICAgLT5zZXRDb25maWcoYXJyYXkoCiAgICAgICAgICAgICAgICAncmVnaW9uJyAgPT4gJ3VzLXdlc3QtMScsCiAgICAgICAgICAgICAgICAnc2VydmljZScgPT4gJ2R5bmFtb2RiJywKICAgICAgICAgICAgICAgICdzY2hlbWUnICA9PiAnaHR0cCcsCiAgICAgICAgICAgICAgICAnc2VydmljZS5kZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3JlZ2lvbnMnID0+IGFycmF5KCd1cy13ZXN0LTEnID0+IGFycmF5KCdob3N0bmFtZScgPT4gJ2ZvbycsICdodHRwJyA9PiB0cnVlKSkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSkKICAgICAgICAgICAgLT5idWlsZCgpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgQSByZWdpb24gaXMgcmVxdWlyZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzRXhjZXB0aW9uSXNUaHJvd25XaGVuTWlzc2luZ1JlcXVpcmVkUmVnaW9uKCkKICAgIHsKICAgICAgICBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KCdBd3NcXER5bmFtb0RiJykKICAgICAgICAgICAgLT5zZXRDb25maWcoYXJyYXkoCiAgICAgICAgICAgICAgICAnc2VydmljZScgPT4gJ2R5bmFtb2RiJywKICAgICAgICAgICAgICAgICdzZXJ2aWNlLmRlc2NyaXB0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3YyJywKICAgICAgICAgICAgICAgICAgICAncmVnaW9ucycgPT4gYXJyYXkoJ3VzLWVhc3QtMScgPT4gYXJyYXkoKSkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSkKICAgICAgICAgICAgLT5idWlsZCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkc0RlZmF1bHRDcmVkZW50aWFscygpCiAgICB7CiAgICAgICAgJGNyZWRzID0gQ3JlZGVudGlhbHM6OmZhY3RvcnkoYXJyYXkoJ2tleScgPT4gJ2ZvbycsICdzZWNyZXQnID0+ICdiYXInKSk7CiAgICAgICAgJGNvbmZpZyA9IGFycmF5KAogICAgICAgICAgICAnc2VydmljZScgPT4gJ2R5bmFtb2RiJywKICAgICAgICAgICAgJ3JlZ2lvbicgID0+ICd1cy1lYXN0LTEnLAogICAgICAgICAgICAnY3JlZGVudGlhbHMnID0+ICRjcmVkcywKICAgICAgICAgICAgJ3NlcnZpY2UuZGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3NpZ25hdHVyZVZlcnNpb24nID0+ICd2MicsCiAgICAgICAgICAgICAgICAncmVnaW9ucycgPT4gYXJyYXkoJ3VzLWVhc3QtMScgPT4gYXJyYXkoJ2h0dHBzJyA9PiB0cnVlLCAnaG9zdG5hbWUnID0+ICdmb28uY29tJykpCiAgICAgICAgICAgICkKICAgICAgICApOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCBzcGVjaWZpYyBjcmVkZW50aWFscyBjYW4gYmUgdXNlZAogICAgICAgICRjbGllbnQxID0gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeSgnQXdzXFxEeW5hbW9EYicpLT5zZXRDb25maWcoJGNvbmZpZyktPmJ1aWxkKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGNyZWRzLCAkY2xpZW50MS0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICAgICAgdW5zZXQoJGNvbmZpZ1snY3JlZGVudGlhbHMnXSk7CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBpbnN0YW5jZSBtZXRhZGF0YSBzZXJ2aWNlIGlzIGNhbGxlZCB3aGVuIG5vIGNyZWRlbnRpYWxzIGFyZSBzdXBwbGllZAogICAgICAgICRjbGllbnQyID0gQ2xpZW50QnVpbGRlcjo6ZmFjdG9yeSgnQXdzXFxEeW5hbW9EYicpLT5zZXRDb25maWcoJGNvbmZpZyktPmJ1aWxkKCk7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJGNsaWVudDItPmdldENyZWRlbnRpYWxzKCktPmdldEFjY2Vzc0tleUlkKCk7CiAgICAgICAgICAgICR0aGlzLT5mYWlsKCdBbiBJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFsc0V4Y2VwdGlvbiBzaG91bGQgaGF2ZSBiZWVuIHRocm93bi4nKTsKICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFsc0V4Y2VwdGlvbicsICRlKTsKICAgICAgICB9CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IGVudmlyb25tZW50IGNyZWRlbnRpYWxzIGFyZSBwaWNrZWQgdXAgaWYgc3VwcGxpZWQgdmlhIHB1dGVudgogICAgICAgICRfU0VSVkVSW0NyZWRlbnRpYWxzOjpFTlZfS0VZXSA9ICdzZXJ2ZXIta2V5JzsKICAgICAgICAkX1NFUlZFUltDcmVkZW50aWFsczo6RU5WX1NFQ1JFVF0gPSAnc2VydmVyLXNlY3JldCc7CiAgICAgICAgJGNsaWVudDMgPSBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KCdBd3NcXER5bmFtb0RiJyktPnNldENvbmZpZygkY29uZmlnKS0+YnVpbGQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdzZXJ2ZXIta2V5JywgJGNsaWVudDMtPmdldENyZWRlbnRpYWxzKCktPmdldEFjY2Vzc0tleUlkKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3NlcnZlci1zZWNyZXQnLCAkY2xpZW50My0+Z2V0Q3JlZGVudGlhbHMoKS0+Z2V0U2VjcmV0S2V5KCkpOwogICAgICAgIHVuc2V0KCRfU0VSVkVSW0NyZWRlbnRpYWxzOjpFTlZfS0VZXSwgJF9TRVJWRVJbQ3JlZGVudGlhbHM6OkVOVl9TRUNSRVRdKTsKCiAgICAgICAgLy8gRW5zdXJlIHRoYXQgZW52aXJvbm1lbnQgY3JlZGVudGlhbHMgYXJlIHBpY2tlZCB1cCBpZiBzdXBwbGllZCB2aWEgcHV0ZW52CiAgICAgICAgcHV0ZW52KENyZWRlbnRpYWxzOjpFTlZfS0VZIC4gJz1lbnYta2V5Jyk7CiAgICAgICAgcHV0ZW52KENyZWRlbnRpYWxzOjpFTlZfU0VDUkVUIC4gJz1lbnYtc2VjcmV0Jyk7CiAgICAgICAgJGNsaWVudDQgPSBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KCdBd3NcXER5bmFtb0RiJyktPnNldENvbmZpZygkY29uZmlnKS0+YnVpbGQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdlbnYta2V5JywgJGNsaWVudDQtPmdldENyZWRlbnRpYWxzKCktPmdldEFjY2Vzc0tleUlkKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2Vudi1zZWNyZXQnLCAkY2xpZW50NC0+Z2V0Q3JlZGVudGlhbHMoKS0+Z2V0U2VjcmV0S2V5KCkpOwogICAgICAgIHB1dGVudihDcmVkZW50aWFsczo6RU5WX0tFWSk7IHB1dGVudihDcmVkZW50aWFsczo6RU5WX1NFQ1JFVCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzRGVmYXVsdEJhY2tvZmZQbHVnaW5JZk5lZWRlZCgpCiAgICB7CiAgICAgICAgJGNvbmZpZyA9IGFycmF5KAogICAgICAgICAgICAnc2VydmljZScgPT4gJ2R5bmFtb2RiJywKICAgICAgICAgICAgJ3JlZ2lvbicgID0+ICd1cy1lYXN0LTEnLAogICAgICAgICAgICAnc2VydmljZS5kZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3YyJywKICAgICAgICAgICAgICAgICdyZWdpb25zJyA9PiBhcnJheSgndXMtZWFzdC0xJyA9PiBhcnJheSgnaHR0cHMnID0+IHRydWUsICdob3N0bmFtZScgPT4gJ2Zvby5jb20nKSkKICAgICAgICAgICAgKQogICAgICAgICk7CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IGEgZGVmYXVsdCBwbHVnaW4gaXMgc2V0CiAgICAgICAgJGNsaWVudCA9IENsaWVudEJ1aWxkZXI6OmZhY3RvcnkoJ0F3c1xcRHluYW1vRGInKS0+c2V0Q29uZmlnKCRjb25maWcpLT5idWlsZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcUGx1Z2luXEJhY2tvZmZcQmFja29mZlBsdWdpbicsICRjbGllbnQtPmdldENvbmZpZyhPcHRpb25zOjpCQUNLT0ZGKSk7CiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIHBsdWdpbiBpcyBzZXQKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+aGFzU3Vic2NyaWJlcigkY2xpZW50LCAkY2xpZW50LT5nZXRDb25maWcoT3B0aW9uczo6QkFDS09GRikpKTsKCiAgICAgICAgLy8gRW5zdXJlIHRoYXQgYSBzcGVjaWZpYyBwbHVnaW4gY2FuIGJlIHVzZWQKICAgICAgICAkcGx1Z2luID0gQmFja29mZlBsdWdpbjo6Z2V0RXhwb25lbnRpYWxCYWNrb2ZmKCk7CiAgICAgICAgJGNvbmZpZ1tPcHRpb25zOjpCQUNLT0ZGXSA9ICRwbHVnaW47CiAgICAgICAgJGNsaWVudCA9IENsaWVudEJ1aWxkZXI6OmZhY3RvcnkoJ0F3c1xcRHluYW1vRGInKS0+c2V0Q29uZmlnKCRjb25maWcpLT5idWlsZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRwbHVnaW4sICRjbGllbnQtPmdldENvbmZpZyhPcHRpb25zOjpCQUNLT0ZGKSk7CiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIHBsdWdpbiBpcyBzZXQKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+aGFzU3Vic2NyaWJlcigkY2xpZW50LCAkcGx1Z2luKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzQmFja29mZkxvZ2dlcldpdGhEZWJ1ZygpCiAgICB7CiAgICAgICAgJGNvbmZpZyA9IGFycmF5KAogICAgICAgICAgICAnc2VydmljZScgPT4gJ2R5bmFtb2RiJywKICAgICAgICAgICAgJ3JlZ2lvbicgID0+ICd1cy1lYXN0LTEnLAogICAgICAgICAgICAnc2VydmljZS5kZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3YyJywKICAgICAgICAgICAgICAgICdyZWdpb25zJyA9PiBhcnJheSgndXMtZWFzdC0xJyA9PiBhcnJheSgnaHR0cHMnID0+IHRydWUsICdob3N0bmFtZScgPT4gJ2Zvby5jb20nKSkKICAgICAgICAgICAgKSwKICAgICAgICAgICAgT3B0aW9uczo6QkFDS09GRl9MT0dHRVIgPT4gJ2RlYnVnJywKICAgICAgICAgICAgT3B0aW9uczo6QkFDS09GRl9MT0dHRVJfVEVNUExBVEUgPT4gJ1t7dHN9XSB7dXJsfScKICAgICAgICApOwogICAgICAgICRjbGllbnQgPSBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KCdBd3NcXER5bmFtb0RiJyktPnNldENvbmZpZygkY29uZmlnKS0+YnVpbGQoKTsKICAgICAgICAkcGx1Z2luID0gJGNsaWVudC0+Z2V0Q29uZmlnKE9wdGlvbnM6OkJBQ0tPRkYpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcUGx1Z2luXEJhY2tvZmZcQmFja29mZlBsdWdpbicsICRwbHVnaW4pOwogICAgICAgICRzdWJzY3JpYmVycyA9ICRwbHVnaW4tPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5nZXRMaXN0ZW5lcnMoJ3BsdWdpbnMuYmFja29mZi5yZXRyeScpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcUGx1Z2luXEJhY2tvZmZcQmFja29mZkxvZ2dlcicsICRzdWJzY3JpYmVyc1swXVswXSk7CiAgICAgICAgJGxvZ2dlciA9ICRzdWJzY3JpYmVyc1swXVswXTsKICAgICAgICAkZm9ybWF0dGVyID0gJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGxvZ2dlciwgJ2Zvcm1hdHRlcicpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1t7dHN9XSB7dXJsfScsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRmb3JtYXR0ZXIsICd0ZW1wbGF0ZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c1ZhbGlkYXRpb25Ub0JlRGlzYWJsZWQoKQogICAgewogICAgICAgICRjb25maWcgPSBhcnJheSgKICAgICAgICAgICAgJ3NlcnZpY2UnID0+ICdkeW5hbW9kYicsCiAgICAgICAgICAgICdyZWdpb24nICA9PiAndXMtZWFzdC0xJywKICAgICAgICAgICAgJ3NlcnZpY2UuZGVzY3JpcHRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3NpZ25hdHVyZVZlcnNpb24nID0+ICd2MicsCiAgICAgICAgICAgICAgICAncmVnaW9ucycgPT4gYXJyYXkoJ3VzLWVhc3QtMScgPT4gYXJyYXkoJ2h0dHBzJyA9PiB0cnVlLCAnaG9zdG5hbWUnID0+ICdmb28uY29tJykpCiAgICAgICAgICAgICksCiAgICAgICAgICAgICd2YWxpZGF0aW9uJyA9PiBmYWxzZQogICAgICAgICk7CgogICAgICAgICRjbGllbnQgPSBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KCdBd3NcXER5bmFtb0RiJyktPnNldENvbmZpZygkY29uZmlnKS0+YnVpbGQoKTsKICAgICAgICAkcGFyYW1zID0gJGNsaWVudC0+Z2V0Q29uZmlnKCdjb21tYW5kLnBhcmFtcycpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRwYXJhbXNbJ2NvbW1hbmQuZGlzYWJsZV92YWxpZGF0aW9uJ10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzQmFja29mZkRpc2FibGluZygpCiAgICB7CiAgICAgICAgJGNvbmZpZyA9IGFycmF5KAogICAgICAgICAgICAnc2VydmljZScgPT4gJ2R5bmFtb2RiJywKICAgICAgICAgICAgJ3JlZ2lvbicgID0+ICd1cy1lYXN0LTEnLAogICAgICAgICAgICAnc2VydmljZS5kZXNjcmlwdGlvbicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnc2lnbmF0dXJlVmVyc2lvbicgPT4gJ3YyJywKICAgICAgICAgICAgICAgICdyZWdpb25zJyA9PiBhcnJheSgndXMtZWFzdC0xJyA9PiBhcnJheSgnaHR0cHMnID0+IHRydWUsICdob3N0bmFtZScgPT4gJ2Zvby5jb20nKSkKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2NsaWVudC5iYWNrb2ZmJyA9PiBmYWxzZQogICAgICAgICk7CgogICAgICAgICRjbGllbnQgPSBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KCdBd3NcXER5bmFtb0RiJyktPnNldENvbmZpZygkY29uZmlnKS0+YnVpbGQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNsaWVudC0+Z2V0Q29uZmlnKCdjbGllbnQuYmFja29mZicpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEluamVjdHNWZXJzaW9uSW50b1NlcnZpY2VEZXNjcmlwdGlvbkZpbGVOYW1lKCkKICAgIHsKICAgICAgICAkY29uZmlnID0gYXJyYXkoCiAgICAgICAgICAgICdzZXJ2aWNlJyA9PiAnZHluYW1vZGInLAogICAgICAgICAgICAncmVnaW9uJyAgPT4gJ3VzLWVhc3QtMScsCiAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBEeW5hbW9EYkNsaWVudDo6TEFURVNUX0FQSV9WRVJTSU9OLAogICAgICAgICAgICAnc2VydmljZS5kZXNjcmlwdGlvbicgPT4gX19ESVJfXyAuICcvLi4vLi4vLi4vLi4vLi4vc3JjL0F3cy9EeW5hbW9EYi9SZXNvdXJjZXMvZHluYW1vZGItJXMucGhwJwogICAgICAgICk7CgogICAgICAgICRjbGllbnQgPSBDbGllbnRCdWlsZGVyOjpmYWN0b3J5KCdBd3NcXER5bmFtb0RiJyktPnNldENvbmZpZygkY29uZmlnKS0+YnVpbGQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90TnVsbCgkY2xpZW50LT5nZXREZXNjcmlwdGlvbigpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Client/DefaultClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENsaWVudDsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxEZWZhdWx0Q2xpZW50Owp1c2UgQXdzXENvbW1vblxFbnVtXENsaWVudE9wdGlvbnMgYXMgT3B0aW9uczsKCmNsYXNzIERlZmF1bHRDbGllbnRUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXENvbW1vblxDbGllbnRcRGVmYXVsdENsaWVudDo6ZmFjdG9yeQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhY3RvcnlJbml0aWFsaXplc0NsaWVudCgpCiAgICB7CiAgICAgICAgJGNyZWRlbnRpYWxzID0gJHRoaXMtPmdldE1vY2soJ0F3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHNJbnRlcmZhY2UnKTsKICAgICAgICAkY2xpZW50ID0gRGVmYXVsdENsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgT3B0aW9uczo6Q1JFREVOVElBTFMgPT4gJGNyZWRlbnRpYWxzLAogICAgICAgICAgICBPcHRpb25zOjpTRVJWSUNFX0RFU0NSSVBUSU9OID0+IF9fRElSX18gLiAnLy4uLy4uLy4uLy4uLy4uL3NyYy9Bd3MvU3RzL1Jlc291cmNlcy9zdHMtMjAxMS0wNi0xNS5waHAnCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZUludGVyZmFjZScsICRjbGllbnQtPmdldFNpZ25hdHVyZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFsc0ludGVyZmFjZScsICRjbGllbnQtPmdldENyZWRlbnRpYWxzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRjcmVkZW50aWFscywgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9zdHMuYW1hem9uYXdzLmNvbScsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Client/ExpiredCredentialsChecker.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENsaWVudDsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxFeHBpcmVkQ3JlZGVudGlhbHNDaGVja2VyOwp1c2UgQXdzXENvbW1vblxDcmVkZW50aWFsc1xSZWZyZXNoYWJsZUluc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzOwp1c2UgQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFsczsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFBhcnNlclxEZWZhdWx0WG1sRXhjZXB0aW9uUGFyc2VyOwp1c2UgQXdzXENvbW1vblxJbnN0YW5jZU1ldGFkYXRhXEluc3RhbmNlTWV0YWRhdGFDbGllbnQ7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXExvZ1xDbG9zdXJlTG9nQWRhcHRlcjsKdXNlIEd1enpsZVxQbHVnaW5cTG9nXExvZ1BsdWdpbjsKCi8qKgogKiBAY292ZXJzIEF3c1xDb21tb25cQ2xpZW50XEV4cGlyZWRDcmVkZW50aWFsc0NoZWNrZXIKICovCmNsYXNzIEV4cGlyZWRDcmVkZW50aWFsc0NoZWNrZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE9ubHlMaXN0ZW5zRm9yNDAwRXJyb3JzKCkKICAgIHsKICAgICAgICAkY2hlY2tlciA9IG5ldyBFeHBpcmVkQ3JlZGVudGlhbHNDaGVja2VyKG5ldyBEZWZhdWx0WG1sRXhjZXB0aW9uUGFyc2VyKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkY2hlY2tlci0+Z2V0QmFja29mZlBlcmlvZCgwLCBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9leGFtcGxlLmNvbScpLCBuZXcgUmVzcG9uc2UoMjAwKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0T25seUxpc3RlbnNGb3JDb21wbGV0ZWRSZXF1ZXN0cygpCiAgICB7CiAgICAgICAgJGNoZWNrZXIgPSBuZXcgRXhwaXJlZENyZWRlbnRpYWxzQ2hlY2tlcihuZXcgRGVmYXVsdFhtbEV4Y2VwdGlvblBhcnNlcigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNoZWNrZXItPmdldEJhY2tvZmZQZXJpb2QoMCwgbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZXhhbXBsZS5jb20nKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0T25seUxpc3RlbnNGb3JSZXF1ZXN0c1dpdGhDbGllbnQoKQogICAgewogICAgICAgICRjaGVja2VyID0gbmV3IEV4cGlyZWRDcmVkZW50aWFsc0NoZWNrZXIobmV3IERlZmF1bHRYbWxFeGNlcHRpb25QYXJzZXIoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjaGVja2VyLT5nZXRCYWNrb2ZmUGVyaW9kKDAsIG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2V4YW1wbGUuY29tJyksIG5ldyBSZXNwb25zZSg0MDMpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRhdGFGb3JSZXRyeWFibGVFcnJvclRlc3QoKQogICAgewogICAgICAgICR4bWxCb2R5MSA9IDw8PCBYTUxCT0RZCjw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CjxFcnJvcj4KICAgIDxDb2RlPlJlcXVlc3RFeHBpcmVkPC9Db2RlPgogICAgPE1lc3NhZ2U+YmF6PC9NZXNzYWdlPgogICAgPFJlcXVlc3RJZD5EVU1NWV9SRVFVRVNUX0lEPC9SZXF1ZXN0SWQ+CiAgICA8QnVja2V0PkRVTU1ZX0JVQ0tFVF9OQU1FPC9CdWNrZXQ+CiAgICA8SG9zdElkPkRVTU1ZX0hPU1RfSUQ8L0hvc3RJZD4KICAgIDxFbmRwb2ludD5zMy5hbWF6b25hd3MuY29tPC9FbmRwb2ludD4KPC9FcnJvcj4KWE1MQk9EWTsKCiAgICAgICAgJHhtbEJvZHkyID0gPDw8IFhNTEJPRFkKPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPEVycm9yPgogICAgPENvZGU+Rm9vPC9Db2RlPgogICAgPE1lc3NhZ2U+YmF6PC9NZXNzYWdlPgogICAgPFJlcXVlc3RJZD5EVU1NWV9SRVFVRVNUX0lEPC9SZXF1ZXN0SWQ+CiAgICA8QnVja2V0PkRVTU1ZX0JVQ0tFVF9OQU1FPC9CdWNrZXQ+CiAgICA8SG9zdElkPkRVTU1ZX0hPU1RfSUQ8L0hvc3RJZD4KICAgIDxFbmRwb2ludD5zMy5hbWF6b25hd3MuY29tPC9FbmRwb2ludD4KPC9FcnJvcj4KWE1MQk9EWTsKICAgICAgICAkaGVhZGVycyA9IGFycmF5KCdDb250ZW50LVR5cGUnID0+ICdhcHBsaWNhdGlvbi94bWwnKTsKCiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBhcnJheShuZXcgUmVzcG9uc2UoNDAzLCAkaGVhZGVycywgJHhtbEJvZHkxKSwgdHJ1ZSksCiAgICAgICAgICAgIGFycmF5KG5ldyBSZXNwb25zZSg0MDMsICRoZWFkZXJzLCAkeG1sQm9keTIpLCBmYWxzZSksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgZGF0YUZvclJldHJ5YWJsZUVycm9yVGVzdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNUcnVlRm9yUmV0cnlhYmxlRXJyb3JzKFJlc3BvbnNlICRyZXNwb25zZSwgJHJldHJ5KQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICRsaW5lcyA9IGFycmF5KCk7CiAgICAgICAgJGxvZyA9IG5ldyBMb2dQbHVnaW4obmV3IENsb3N1cmVMb2dBZGFwdGVyKGZ1bmN0aW9uICgkbWVzc2FnZSkgdXNlICgmJGxpbmVzKSB7CiAgICAgICAgICAgICRsaW5lc1tdID0gJG1lc3NhZ2U7CiAgICAgICAgfSksICJ7cmVxdWVzdH0iKTsKICAgICAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKCRsb2cpOwogICAgICAgICRpbWMgPSBJbnN0YW5jZU1ldGFkYXRhQ2xpZW50OjpmYWN0b3J5KGFycmF5KCkpOwogICAgICAgICRpbWMtPnNldEJhc2VVcmwoJ2h0dHA6Ly9sb2NhbGhvc3Q6MTIzJyk7CiAgICAgICAgJGNyZWRlbnRpYWxzID0gbmV3IFJlZnJlc2hhYmxlSW5zdGFuY2VQcm9maWxlQ3JlZGVudGlhbHMoCiAgICAgICAgICAgIG5ldyBDcmVkZW50aWFscygnZm9vJywgJ2JheicsICdiYXInLCB0aW1lKCkgKyAxMDAwMCksCiAgICAgICAgICAgICRpbWMKICAgICAgICApOwogICAgICAgICRtb2NrID0gJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkaW1jLCBhcnJheSgKICAgICAgICAgICAgJ21ldGFkYXRhL2lhbV9zZWN1cml0eV9jcmVkZW50aWFscycsCiAgICAgICAgICAgICdtZXRhZGF0YS9pYW1fc2VjdXJpdHlfY3JlZGVudGlhbHNfd2ViYXBwJwogICAgICAgICkpOwoKICAgICAgICAkY2xpZW50LT5zZXRDcmVkZW50aWFscygkY3JlZGVudGlhbHMpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgICRyZXNwb25zZSwKICAgICAgICAgICAgbmV3IFJlc3BvbnNlKDIwMCkKICAgICAgICApKTsKCiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJy8nKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAgICAgaWYgKCEkcmV0cnkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5mYWlsKCdTaG91bGQgaGF2ZSB0aHJvd24gYW4gZXhjZXB0aW9uJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGluc3RhbmNlIHByb2ZpbGUgY2xpZW50IHNlbnQgdHdvIHJlcXVlc3RzCiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKSkpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCRsaW5lcykpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ3gtYW16LXNlY3VyaXR5LXRva2VuOiBiYXInLCAkbGluZXNbMF0pOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ3gtYW16LXNlY3VyaXR5LXRva2VuOiBBeEN1c0VYQU1QTEVGb29CYXJCYXonLCAkbGluZXNbMV0pOwogICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgaWYgKCRyZXRyeSkgewogICAgICAgICAgICAgICAgJHRoaXMtPmZhaWwoJ1RocmV3IGV4Y2VwdGlvbiB3aGVuIG5vdCBleHBlY3RlZDogJyAuICRlLT5nZXRNZXNzYWdlKCkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgwLCAkbW9jay0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cygpKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Client/ThrottlingErrorCheckerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENsaWVudDsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxUaHJvdHRsaW5nRXJyb3JDaGVja2VyOwp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUGFyc2VyXERlZmF1bHRYbWxFeGNlcHRpb25QYXJzZXI7CnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXJcSnNvblF1ZXJ5RXhjZXB0aW9uUGFyc2VyOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxFeHBvbmVudGlhbEJhY2tvZmZTdHJhdGVneTsKCi8qKgogKiBAY292ZXJzIEF3c1xDb21tb25cQ2xpZW50XFRocm90dGxpbmdFcnJvckNoZWNrZXIKICovCmNsYXNzIFRocm90dGxpbmdFcnJvckNoZWNrZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE9ubHlMaXN0ZW5zRm9yNDAwRXJyb3JzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2V4YW1wbGUuY29tJyk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCk7CiAgICAgICAgJGNoZWNrZXIgPSBuZXcgVGhyb3R0bGluZ0Vycm9yQ2hlY2tlcihuZXcgRGVmYXVsdFhtbEV4Y2VwdGlvblBhcnNlcigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNoZWNrZXItPmdldEJhY2tvZmZQZXJpb2QoMCwgJHJlcXVlc3QsICRyZXNwb25zZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0T25seUxpc3RlbnNGb3JDb21wbGV0ZWRSZXF1ZXN0cygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9leGFtcGxlLmNvbScpOwogICAgICAgICRjaGVja2VyID0gbmV3IFRocm90dGxpbmdFcnJvckNoZWNrZXIobmV3IERlZmF1bHRYbWxFeGNlcHRpb25QYXJzZXIoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjaGVja2VyLT5nZXRCYWNrb2ZmUGVyaW9kKDAsICRyZXF1ZXN0KSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRhdGFGb3JSZXRyeWFibGVFcnJvclRlc3QoKQogICAgewogICAgICAgICR4bWxCb2R5ID0gPDw8IFhNTEJPRFkKPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPFJlc3BvbnNlPgogIDxFcnJvcnM+CiAgICA8RXJyb3I+CiAgICAgIDxDb2RlPlRocm90dGxpbmc8L0NvZGU+CiAgICAgIDxNZXNzYWdlPllvdSBHb3QgVGhyb3R0bGVkITwvTWVzc2FnZT4KICAgIDwvRXJyb3I+CiAgPC9FcnJvcnM+CiAgPFJlcXVlc3RJRD54eXo8L1JlcXVlc3RJRD4KPC9SZXNwb25zZT4KWE1MQk9EWTsKCiAgICAgICAgJGpzb25Cb2R5ID0gPDw8IEpTT05CT0RZCnsiX190eXBlIjoiY29tLmFtYXpvbmF3cy5keW5hbW9kYi52MjAxMTEyMDUjUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb24iLAoibWVzc2FnZSI6IlRoZSBsZXZlbCBvZiBjb25maWd1cmVkIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQgZm9yIHRoZSB0YWJsZSB3YXMgZXhjZWVkZWQuIn0KSlNPTkJPRFk7CgogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoJ2FwcGxpY2F0aW9uL3htbCcsICR4bWxCb2R5LCBuZXcgRGVmYXVsdFhtbEV4Y2VwdGlvblBhcnNlcigpKSwKICAgICAgICAgICAgYXJyYXkoJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wJywgJGpzb25Cb2R5LCBuZXcgSnNvblF1ZXJ5RXhjZXB0aW9uUGFyc2VyKCkpLAogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGRhdGFGb3JSZXRyeWFibGVFcnJvclRlc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zVHJ1ZUZvclJldHJ5YWJsZUVycm9ycygkY29udGVudFR5cGUsICRjb250ZW50Qm9keSwgJGV4Y2VwdGlvblBhcnNlcikKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2V4YW1wbGUuY29tJyk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDQwMCwgYXJyYXkoJ2NvbnRlbnQtdHlwZScgPT4gJGNvbnRlbnRUeXBlKSwgJGNvbnRlbnRCb2R5KTsKICAgICAgICAkY2hlY2tlciA9IG5ldyBUaHJvdHRsaW5nRXJyb3JDaGVja2VyKCRleGNlcHRpb25QYXJzZXIpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMCwgJGNoZWNrZXItPmdldEJhY2tvZmZQZXJpb2QoMSwgJHJlcXVlc3QsICRyZXNwb25zZSkpOwogICAgICAgIC8vIEVuc3VyZSBpdCBwbGF5cyB3ZWxsIHdpdGggdGhlIGNoYWluCiAgICAgICAgJGNoZWNrZXItPnNldE5leHQobmV3IEV4cG9uZW50aWFsQmFja29mZlN0cmF0ZWd5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoOCwgJGNoZWNrZXItPmdldEJhY2tvZmZQZXJpb2QoMywgJHJlcXVlc3QsICRyZXNwb25zZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QmVoYXZlc1Byb3Blcmx5QXNDaGFpbkxpbmsoKQogICAgewogICAgICAgICRzID0gbmV3IEV4cG9uZW50aWFsQmFja29mZlN0cmF0ZWd5KCk7CiAgICAgICAgJGNoZWNrZXIgPSBuZXcgVGhyb3R0bGluZ0Vycm9yQ2hlY2tlcihuZXcgRGVmYXVsdFhtbEV4Y2VwdGlvblBhcnNlcigpLCAkcyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGNoZWNrZXItPm1ha2VzRGVjaXNpb24oKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHMsICRjaGVja2VyLT5nZXROZXh0KCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Client/UploadBodyListenerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENsaWVudDsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxVcGxvYWRCb2R5TGlzdGVuZXI7CgovKioKICogQGNvdmVycyBBd3NcQ29tbW9uXENsaWVudFxVcGxvYWRCb2R5TGlzdGVuZXIKICovCmNsYXNzIFVwbG9hZEJvZHlMaXN0ZW5lclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmlsZVBhdGhzR2V0Q29udmVydGVkVG9Cb2RpZXMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgVXBsb2FkQm9keUxpc3RlbmVyOjpnZXRTdWJzY3JpYmVkRXZlbnRzKCkpOwoKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkY29tbWFuZCA9ICRjbGllbnQtPmdldENvbW1hbmQoJ1B1dE9iamVjdCcsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyAgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdLZXknICAgICAgICA9PiAnYmFyJywKICAgICAgICAgICAgJ1NvdXJjZUZpbGUnID0+IF9fRklMRV9fCiAgICAgICAgKSk7CgogICAgICAgICRjb21tYW5kLT5wcmVwYXJlKCk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcSHR0cFxFbnRpdHlCb2R5JywgJGNvbW1hbmQtPmdldCgnQm9keScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkY29tbWFuZC0+Z2V0KCdTb3VyY2UnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGaWxlSGFuZGxlc0dldENvbnZlcnRlZFRvQm9kaWVzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkY29tbWFuZCA9ICRjbGllbnQtPmdldENvbW1hbmQoJ1B1dE9iamVjdCcsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiAnZm9vJywKICAgICAgICAgICAgJ0tleScgICAgPT4gJ2JhcicsCiAgICAgICAgICAgICdCb2R5JyAgID0+IGZvcGVuKF9fRklMRV9fLCAncicpCiAgICAgICAgKSk7CgogICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXEh0dHBcRW50aXR5Qm9keScsICRjb21tYW5kLT5nZXQoJ0JvZHknKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGV4dC94LXBocCcsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Client/UserAgentListenerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENsaWVudDsKCnVzZSBBd3NcQ29tbW9uXENsaWVudFxVc2VyQWdlbnRMaXN0ZW5lcjsKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RGYWN0b3J5OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXENvbW1vblxDbGllbnRcVXNlckFnZW50TGlzdGVuZXIKICovCmNsYXNzIFVzZXJBZ2VudExpc3RlbmVyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBcHBlbmRzU3RyaW5nc1RvVXNlckFnZW50SGVhZGVyKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdhcnJheScsIFVzZXJBZ2VudExpc3RlbmVyOjpnZXRTdWJzY3JpYmVkRXZlbnRzKCkpOwoKICAgICAgICAkbGlzdGVuZXIgPSBuZXcgVXNlckFnZW50TGlzdGVuZXIoKTsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ0dFVCcsICdodHRwOi8vd3d3LmZvby5jb20nLCBhcnJheSgKICAgICAgICAgICAgJ1VzZXItQWdlbnQnID0+ICdBd3MvRm9vIEJhei9CYXInCiAgICAgICAgKSk7CgogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcQ29tbW9uXENvbW1hbmRcSnNvbkNvbW1hbmQnKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2dldFJlcXVlc3QnKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CgogICAgICAgICRjb21tYW5kLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldFJlcXVlc3QnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRyZXF1ZXN0KSk7CgogICAgICAgICRjb21tYW5kLT5hZGQoVXNlckFnZW50TGlzdGVuZXI6Ok9QVElPTiwgJ1Rlc3QvMTIzJykKICAgICAgICAgICAgLT5hZGQoVXNlckFnZW50TGlzdGVuZXI6Ok9QVElPTiwgJ090aGVyLzQ1NicpOwoKICAgICAgICAkZXZlbnQgPSBuZXcgRXZlbnQoYXJyYXkoJ2NvbW1hbmQnID0+ICRjb21tYW5kKSk7CiAgICAgICAgJGxpc3RlbmVyLT5vbkJlZm9yZVNlbmQoJGV2ZW50KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdBd3MvRm9vIEJhei9CYXIgVGVzdC8xMjMgT3RoZXIvNDU2JywgKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcignVXNlci1BZ2VudCcpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Command/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Command/AwsQueryVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENvbW1hbmQ7Cgp1c2UgQXdzXENvbW1vblxDb21tYW5kXEF3c1F1ZXJ5VmlzaXRvcjsKdXNlIEd1enpsZVxTZXJ2aWNlXENsaWVudDsKdXNlIEF3c1xDb21tb25cQ29tbWFuZFxRdWVyeUNvbW1hbmQ7CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxPcGVyYXRpb247CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXE9wZXJhdGlvbkNvbW1hbmQ7CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXI7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3Q7CgovKioKICogQGNvdmVycyBBd3NcQ29tbW9uXENvbW1hbmRcQXdzUXVlcnlWaXNpdG9yCiAqIEBjb3ZlcnMgQXdzXENvbW1vblxDb21tYW5kXFF1ZXJ5Q29tbWFuZAogKi8KY2xhc3MgQXdzUXVlcnlWaXNpdG9yVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGRhdGFGb3JRdWVyeU5vcm1hbGl6YXRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3ROb3JtYWxpemVzUXVlcnkoUGFyYW1ldGVyICRwYXJhbSwgYXJyYXkgJHZhbHVlLCBhcnJheSAkcmVzdWx0KQogICAgewogICAgICAgICRjb21tYW5kID0gbmV3IE9wZXJhdGlvbkNvbW1hbmQoKTsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0KCdQT1NUJywgJ2h0dHA6Ly9mb28uY29tJyk7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgQXdzUXVlcnlWaXNpdG9yKCk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCRjb21tYW5kLCAkcmVxdWVzdCwgJHBhcmFtLCAkdmFsdWUpOwoKICAgICAgICAkZmllbGRzID0gJHJlcXVlc3QtPmdldFBvc3RGaWVsZHMoKS0+Z2V0QWxsKCk7CiAgICAgICAgYXNvcnQoJGZpZWxkcyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlc3VsdCwgJGZpZWxkcyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBcHBsaWVzVG9wTGV2ZWxTY2FsYXJQYXJhbXMoKQogICAgewogICAgICAgICRvcGVyYXRpb24gPSBuZXcgT3BlcmF0aW9uKGFycmF5KAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRm9vJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdhd3MucXVlcnknLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICAgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgICAgICAkY29tbWFuZCA9IG5ldyBRdWVyeUNvbW1hbmQoYXJyYXkoJ0ZvbycgPT4gJ3Rlc3QnKSwgJG9wZXJhdGlvbik7CiAgICAgICAgJGNvbW1hbmQtPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgICAgICAkZmllbGRzID0gJHJlcXVlc3QtPmdldFBvc3RGaWVsZHMoKS0+Z2V0QWxsKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnRm9vJyA9PiAndGVzdCcpLCAkZmllbGRzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGF0YUZvclF1ZXJ5Tm9ybWFsaXphdGlvbigpCiAgICB7CiAgICAgICAgJGRhdGEgPSBhcnJheSgpOwoKICAgICAgICAvLyBVc2UgQ2FzZSAxCiAgICAgICAgJGRhdGFbMF0gPSBhcnJheSgpOwogICAgICAgIC8vIFBhcmFtZXRlcgogICAgICAgICRkYXRhWzBdWzBdID0gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgICA9PiAnSXBQZXJtaXNzaW9ucycsCiAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICdkYXRhJyAgICAgPT4gYXJyYXkoJ29mZnNldCcgPT4gMSksCiAgICAgICAgICAgICd0eXBlJyAgICAgICAgICA9PiAnYXJyYXknLAogICAgICAgICAgICAnaXRlbXMnICAgICAgICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZGF0YScgICAgICAgPT4gYXJyYXkoJ29mZnNldCcgPT4gMSksCiAgICAgICAgICAgICAgICAndHlwZScgICAgICAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0lwUHJvdG9jb2wnID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJyksCiAgICAgICAgICAgICAgICAgICAgJ0Zyb21Qb3J0JyAgID0+IGFycmF5KCd0eXBlJyA9PiAnbnVtZXJpYycpLAogICAgICAgICAgICAgICAgICAgICdUb1BvcnQnICAgICA9PiBhcnJheSgndHlwZScgPT4gJ251bWVyaWMnKSwKICAgICAgICAgICAgICAgICAgICAnR3JvdXBzJyAgICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyAgID0+IGFycmF5KCdvZmZzZXQnID0+IDEpLAogICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlcklkJyAgICA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHcm91cE5hbWUnID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0dyb3VwSWQnID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ0lwUmFuZ2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgnb2Zmc2V0JyA9PiAxKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2lkcklwJyA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdGb28nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgICA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnRm9vLm1lbWJlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyAgID0+IGFycmF5KCdvZmZzZXQnID0+IDEwKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zJyAgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgICAgIC8vIFZhbHVlCiAgICAgICAgJGRhdGFbMF1bMV0gPSBhcnJheSgKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAnSXBQcm90b2NvbCcgPT4gJ3RjcCcsCiAgICAgICAgICAgICAgICAnRnJvbVBvcnQnID0+IDIwLAogICAgICAgICAgICAgICAgJ0dyb3VwcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ1VzZXJJZCcgPT4gJzEyMycsICdHcm91cE5hbWUnID0+ICdGb28nLCAnR3JvdXBJZCcgPT4gJ0JhcicpLAogICAgICAgICAgICAgICAgICAgIGFycmF5KCdVc2VySWQnID0+ICc0NTYnLCAnR3JvdXBOYW1lJyA9PiAnT29mJywgJ0dyb3VwSWQnID0+ICdSYWInKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdJcFJhbmdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ0NpZHJJcCcgPT4gJ3Rlc3QnKSwKICAgICAgICAgICAgICAgICAgICBhcnJheSgnQ2lkcklwJyA9PiAnb3RoZXInKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdGb28nID0+IGFycmF5KCd0ZXN0JywgJ290aGVyJykKICAgICAgICAgICAgKQogICAgICAgICk7CiAgICAgICAgLy8gUmVzdWx0CiAgICAgICAgJGRhdGFbMF1bMl0gPSBhcnJheSgKICAgICAgICAgICAgJ0lwUGVybWlzc2lvbnMuMS5Gcm9tUG9ydCcgPT4gMjAsCiAgICAgICAgICAgICdJcFBlcm1pc3Npb25zLjEuR3JvdXBzLjEuVXNlcklkJyA9PiAnMTIzJywKICAgICAgICAgICAgJ0lwUGVybWlzc2lvbnMuMS5Hcm91cHMuMi5Vc2VySWQnID0+ICc0NTYnLAogICAgICAgICAgICAnSXBQZXJtaXNzaW9ucy4xLkdyb3Vwcy4xLkdyb3VwSWQnID0+ICdCYXInLAogICAgICAgICAgICAnSXBQZXJtaXNzaW9ucy4xLkdyb3Vwcy4xLkdyb3VwTmFtZScgPT4gJ0ZvbycsCiAgICAgICAgICAgICdJcFBlcm1pc3Npb25zLjEuR3JvdXBzLjIuR3JvdXBOYW1lJyA9PiAnT29mJywKICAgICAgICAgICAgJ0lwUGVybWlzc2lvbnMuMS5Hcm91cHMuMi5Hcm91cElkJyA9PiAnUmFiJywKICAgICAgICAgICAgJ0lwUGVybWlzc2lvbnMuMS5Gb28ubWVtYmVyLjExJyA9PiAnb3RoZXInLAogICAgICAgICAgICAnSXBQZXJtaXNzaW9ucy4xLklwUmFuZ2VzLjIuQ2lkcklwJyA9PiAnb3RoZXInLAogICAgICAgICAgICAnSXBQZXJtaXNzaW9ucy4xLklwUHJvdG9jb2wnID0+ICd0Y3AnLAogICAgICAgICAgICAnSXBQZXJtaXNzaW9ucy4xLklwUmFuZ2VzLjEuQ2lkcklwJyA9PiAndGVzdCcsCiAgICAgICAgICAgICdJcFBlcm1pc3Npb25zLjEuRm9vLm1lbWJlci4xMCcgPT4gJ3Rlc3QnLAogICAgICAgICk7CgogICAgICAgIC8vIFVzZSBDYXNlIDIKICAgICAgICAkZGF0YVsxXSA9IGFycmF5KCk7CiAgICAgICAgLy8gUGFyYW1ldGVyCiAgICAgICAgJGRhdGFbMV1bMF0gPSBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAnbmFtZScgPT4gJ0F0dHJpYnV0ZXMnLAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICdzZW50QXMnID0+ICdBdHRyaWJ1dGUnLAogICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAna2V5TmFtZScgICA9PiAnTmFtZScsCiAgICAgICAgICAgICAgICAndmFsdWVOYW1lJyA9PiAnVmFsdWUnCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICksCiAgICAgICAgKSk7CiAgICAgICAgLy8gVmFsdWUKICAgICAgICAkZGF0YVsxXVsxXSA9IGFycmF5KAogICAgICAgICAgICAnUmVjZWl2ZU1lc3NhZ2VXYWl0VGltZVNlY29uZHMnID0+IDUwLAogICAgICAgICAgICAnRGVsYXlTZWNvbmRzJyAgICAgICAgICAgICAgICAgID0+IDI1LAogICAgICAgICk7CiAgICAgICAgLy8gUmVzdWx0CiAgICAgICAgJGRhdGFbMV1bMl0gPSBhcnJheSgKICAgICAgICAgICAgJ0F0dHJpYnV0ZS4xLk5hbWUnICA9PiAnUmVjZWl2ZU1lc3NhZ2VXYWl0VGltZVNlY29uZHMnLAogICAgICAgICAgICAnQXR0cmlidXRlLjEuVmFsdWUnID0+IDUwLAogICAgICAgICAgICAnQXR0cmlidXRlLjIuTmFtZScgID0+ICdEZWxheVNlY29uZHMnLAogICAgICAgICAgICAnQXR0cmlidXRlLjIuVmFsdWUnID0+IDI1LAogICAgICAgICk7CgogICAgICAgIC8vIFVzZSBDYXNlIDMKICAgICAgICAkZGF0YVsyXSA9IGFycmF5KCk7CiAgICAgICAgLy8gUGFyYW1ldGVyCiAgICAgICAgJGRhdGFbMl1bMF0gPSBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAnbmFtZScgPT4gJ0F0dHJpYnV0ZXMnLAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2F3cy5xdWVyeScsCiAgICAgICAgICAgICdzZW50QXMnID0+ICdBdHRyaWJ1dGUnLAogICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAna2V5TmFtZScgICA9PiAnTmFtZScsCiAgICAgICAgICAgICAgICAndmFsdWVOYW1lJyA9PiAnVmFsdWUnCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndHlwZScgICAgICAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0ZvbycgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnKSwKICAgICAgICAgICAgICAgICAgICAnQmFyJyA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycpLAogICAgICAgICAgICAgICAgICAgICdCYXonID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJyksCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksCiAgICAgICAgKSk7CiAgICAgICAgLy8gVmFsdWUKICAgICAgICAkZGF0YVsyXVsxXSA9IGFycmF5KAogICAgICAgICAgICAnUGFyYW0xJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdGb28nID0+ICdmb28xJywKICAgICAgICAgICAgICAgICdCYXInID0+ICdiYXIxJywKICAgICAgICAgICAgICAgICdCYXonID0+ICdiYXoxJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ1BhcmFtMicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRm9vJyA9PiAnZm9vMicsCiAgICAgICAgICAgICAgICAnQmFyJyA9PiAnYmFyMicsCiAgICAgICAgICAgICAgICAnQmF6JyA9PiAnYmF6MicsCiAgICAgICAgICAgICksCiAgICAgICAgKTsKICAgICAgICAvLyBSZXN1bHQKICAgICAgICAkZGF0YVsyXVsyXSA9IGFycmF5KAogICAgICAgICAgICAnQXR0cmlidXRlLjEuTmFtZScgICAgICA9PiAnUGFyYW0xJywKICAgICAgICAgICAgJ0F0dHJpYnV0ZS4xLlZhbHVlLkZvbycgPT4gJ2ZvbzEnLAogICAgICAgICAgICAnQXR0cmlidXRlLjEuVmFsdWUuQmFyJyA9PiAnYmFyMScsCiAgICAgICAgICAgICdBdHRyaWJ1dGUuMS5WYWx1ZS5CYXonID0+ICdiYXoxJywKICAgICAgICAgICAgJ0F0dHJpYnV0ZS4yLk5hbWUnICAgICAgPT4gJ1BhcmFtMicsCiAgICAgICAgICAgICdBdHRyaWJ1dGUuMi5WYWx1ZS5Gb28nID0+ICdmb28yJywKICAgICAgICAgICAgJ0F0dHJpYnV0ZS4yLlZhbHVlLkJhcicgPT4gJ2JhcjInLAogICAgICAgICAgICAnQXR0cmlidXRlLjIuVmFsdWUuQmF6JyA9PiAnYmF6MicsCiAgICAgICAgKTsKCiAgICAgICAgLy8gVXNlIENhc2UgNAogICAgICAgICRkYXRhWzNdID0gYXJyYXkoKTsKICAgICAgICAvLyBQYXJhbWV0ZXIKICAgICAgICAkZGF0YVszXVswXSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICduYW1lJyA9PiAnQXR0cmlidXRlcycsCiAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnYXdzLnF1ZXJ5JywKICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0F0dHJpYnV0ZS5lbnRyeScsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICksCiAgICAgICAgKSk7CiAgICAgICAgLy8gVmFsdWUKICAgICAgICAkZGF0YVszXVsxXSA9IGFycmF5KAogICAgICAgICAgICAnRm9vJyA9PiAxMCwKICAgICAgICAgICAgJ0JhcicgPT4gMjAsCiAgICAgICAgKTsKICAgICAgICAvLyBSZXN1bHQKICAgICAgICAkZGF0YVszXVsyXSA9IGFycmF5KAogICAgICAgICAgICAnQXR0cmlidXRlLmVudHJ5LjEua2V5JyAgPT4gJ0ZvbycsCiAgICAgICAgICAgICdBdHRyaWJ1dGUuZW50cnkuMS52YWx1ZScgPT4gMTAsCiAgICAgICAgICAgICdBdHRyaWJ1dGUuZW50cnkuMi5rZXknICA9PiAnQmFyJywKICAgICAgICAgICAgJ0F0dHJpYnV0ZS5lbnRyeS4yLnZhbHVlJyA9PiAyMCwKICAgICAgICApOwoKICAgICAgICByZXR1cm4gJGRhdGE7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Command/JsonCommandTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENvbW1hbmQ7Cgp1c2UgQXdzXENvbW1vblxDb21tYW5kXEpzb25Db21tYW5kOwp1c2UgR3V6emxlXENvbW1vblxUb0FycmF5SW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcQ2xpZW50Owp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cT3BlcmF0aW9uOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXENvbW1vblxDb21tYW5kXEpzb25Db21tYW5kCiAqLwpjbGFzcyBKc29uQ29tbWFuZFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlIGltcGxlbWVudHMgVG9BcnJheUludGVyZmFjZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNUb0pzb25Cb2R5KCkKICAgIHsKICAgICAgICAkYXBpID0gbmV3IE9wZXJhdGlvbihhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgICAgID0+ICdmb29iYXInLAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndGVzdCcgICAgICA9PiBhcnJheSgnbG9jYXRpb24nID0+ICdqc29uJyksCiAgICAgICAgICAgICAgICAnbmFtZWQnICAgICA9PiBhcnJheSgnbG9jYXRpb24nID0+ICdqc29uJywgJ3NlbnRBcycgPT4gJ0ZvbycpLAogICAgICAgICAgICAgICAgJ2lnbm9yZV9tZScgPT4gYXJyYXkoJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJykKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkY29tbWFuZCA9IG5ldyBKc29uQ29tbWFuZChhcnJheSgndGVzdCcgID0+ICcxMjMnLCAnbmFtZWQnID0+ICdhYmMnKSwgJGFwaSk7CiAgICAgICAgJGNvbW1hbmQtPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgICAgICAkanNvbiA9IGpzb25fZGVjb2RlKChzdHJpbmcpICRyZXF1ZXN0LT5nZXRCb2R5KCksIHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyMycsICRqc29uWyd0ZXN0J10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FiYycsICRqc29uWydGb28nXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NUb0FycmF5UGFyYW1ldGVycygpCiAgICB7CiAgICAgICAgJGFwaSA9IG5ldyBPcGVyYXRpb24oYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgICAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rlc3QnID0+IGFycmF5KCdsb2NhdGlvbicgPT4gJ2pzb24nKSwKICAgICAgICAgICAgICAgICdmb28nICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgICAgID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2JheicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkY29tbWFuZCA9IG5ldyBKc29uQ29tbWFuZChhcnJheSgKICAgICAgICAgICAgJ3Rlc3QnID0+ICdoZWxsbycsCiAgICAgICAgICAgICdmb28nICA9PiAkdGhpcwogICAgICAgICksICRhcGkpOwoKICAgICAgICAkY29tbWFuZC0+c2V0Q2xpZW50KG5ldyBDbGllbnQoKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgICRqc29uID0ganNvbl9kZWNvZGUoKHN0cmluZykgJHJlcXVlc3QtPmdldEJvZHkoKSwgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaGVsbG8nLCAkanNvblsndGVzdCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdiYXonID0+ICdiYXInKSwgJGpzb25bJ2ZvbyddKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNUaGF0Qm9keUlzQWx3YXlzU2V0KCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9IG5ldyBKc29uQ29tbWFuZCgpOwogICAgICAgICRjb21tYW5kLT5zZXRDbGllbnQobmV3IENsaWVudCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjb21tYW5kLT5wcmVwYXJlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygne30nLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0Qm9keSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdG9BcnJheSgpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KCdiYXonID0+ICdiYXInKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Command/XmlResponseLocationVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENvbW1hbmQ7Cgp1c2UgQXdzXENvbW1vblxDb21tYW5kXFhtbFJlc3BvbnNlTG9jYXRpb25WaXNpdG9yOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXENvbW1vblxDb21tYW5kXFhtbFJlc3BvbnNlTG9jYXRpb25WaXNpdG9yCiAqLwpjbGFzcyBYbWxSZXNwb25zZUxvY2F0aW9uVmlzaXRvclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFuZGxlc1dyYXBwZWRSZXNwb25zZXMoKQogICAgewogICAgICAgICR0aGlzLT5tYXJrVGVzdEluY29tcGxldGUoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhbmRsZXNXcmFwcGVkTWVtYmVycygpCiAgICB7CiAgICAgICAgJHRoaXMtPm1hcmtUZXN0SW5jb21wbGV0ZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFuZGxlc1htbE1hcHMoKQogICAgewogICAgICAgICRyZXN1bHQgPSBYbWxSZXNwb25zZUxvY2F0aW9uVmlzaXRvcjo6eG1sTWFwKGFycmF5KAogICAgICAgICAgICBhcnJheSgna2V5JyA9PiAnYScsICd2YWx1ZScgPT4gMSksCiAgICAgICAgICAgIGFycmF5KCdrZXknID0+ICdiJywgJ3ZhbHVlJyA9PiAyKSwKICAgICAgICAgICAgYXJyYXkoJ2tleScgPT4gJ2MnLCAndmFsdWUnID0+IDMpCiAgICAgICAgKSwgJ2l0ZW0nLCAna2V5JywgJ3ZhbHVlJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ2EnID0+ICcxJywKICAgICAgICAgICAgJ2InID0+ICcyJywKICAgICAgICAgICAgJ2MnID0+ICczJwogICAgICAgICksICRyZXN1bHQpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Credentials/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Credentials/AbstractCredentialsDecoratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENyZWRlbnRpYWxzOwoKdXNlIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM7CnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXEFic3RyYWN0Q3JlZGVudGlhbHNEZWNvcmF0b3I7CgovKioKICogQGNvdmVycyBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXEFic3RyYWN0Q3JlZGVudGlhbHNEZWNvcmF0b3IKICovCmNsYXNzIEFic3RyYWN0Q3JlZGVudGlhbHNEZWNvcmF0b3JUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByb3hpZXNUb1dyYXBwZWRPYmplY3QoKQogICAgewogICAgICAgICRjcmVkZW50aWFscyA9IG5ldyBDcmVkZW50aWFscygnYScsICdiJywgJ2MnLCAxMDAwKTsKCiAgICAgICAgJGMgPSBuZXcgQWJzdHJhY3RDcmVkZW50aWFsc0RlY29yYXRvcigkY3JlZGVudGlhbHMpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhJywgJGMtPmdldEFjY2Vzc0tleUlkKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2InLCAkYy0+Z2V0U2VjcmV0S2V5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2MnLCAkYy0+Z2V0U2VjdXJpdHlUb2tlbigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEwMDAsICRjLT5nZXRFeHBpcmF0aW9uKCkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYywgJGMtPnNldEFjY2Vzc0tleUlkKCdmb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGMsICRjLT5zZXRTZWNyZXRLZXkoJ2JheicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYywgJGMtPnNldFNlY3VyaXR5VG9rZW4oJ2JhcicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYywgJGMtPnNldEV4cGlyYXRpb24oNTAwKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICRjLT5nZXRBY2Nlc3NLZXlJZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXonLCAkYy0+Z2V0U2VjcmV0S2V5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRjLT5nZXRTZWN1cml0eVRva2VuKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNTAwLCAkYy0+Z2V0RXhwaXJhdGlvbigpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGMtPmlzRXhwaXJlZCgpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGMtPnNlcmlhbGl6ZSgpLCAkY3JlZGVudGlhbHMtPnNlcmlhbGl6ZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKHVuc2VyaWFsaXplKHNlcmlhbGl6ZSgkYykpLCAkYyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Credentials/AbstractRefreshableCredentialsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENyZWRlbnRpYWxzOwoKdXNlIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM7CgovKioKICogQGNvdmVycyBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXEFic3RyYWN0UmVmcmVzaGFibGVDcmVkZW50aWFscwogKi8KY2xhc3MgQWJzdHJhY3RSZWZyZXNoYWJsZUNyZWRlbnRpYWxzVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYWxsc1JlZnJlc2hXaGVuRXhwaXJlZCgpCiAgICB7CiAgICAgICAgJGMgPSBuZXcgQ3JlZGVudGlhbHMoJ2EnLCAnYicsICdjJywgMTApOwoKICAgICAgICAkbW9jayA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXFxDb21tb25cXENyZWRlbnRpYWxzXFxBYnN0cmFjdFJlZnJlc2hhYmxlQ3JlZGVudGlhbHMnKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheSgkYykpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgncmVmcmVzaCcpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJG1vY2stPmV4cGVjdHMoJHRoaXMtPmV4YWN0bHkoNCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdyZWZyZXNoJyk7CgogICAgICAgIC8qKiBAdmFyICRtb2NrIFxBd3NcQ29tbW9uXENyZWRlbnRpYWxzXEFic3RyYWN0UmVmcmVzaGFibGVDcmVkZW50aWFscyAqLwogICAgICAgICRtb2NrLT5nZXRBY2Nlc3NLZXlJZCgpOwogICAgICAgICRtb2NrLT5nZXRTZWNyZXRLZXkoKTsKICAgICAgICAkbW9jay0+Z2V0U2VjdXJpdHlUb2tlbigpOwogICAgICAgICRtb2NrLT5zZXJpYWxpemUoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Credentials/CacheableCredentialsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENyZWRlbnRpYWxzOwoKdXNlIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM7CnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENhY2hlYWJsZUNyZWRlbnRpYWxzOwp1c2UgR3V6emxlXENhY2hlXERvY3RyaW5lQ2FjaGVBZGFwdGVyOwp1c2UgRG9jdHJpbmVcQ29tbW9uXENhY2hlXEFycmF5Q2FjaGU7CgovKioKICogQGNvdmVycyBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENhY2hlYWJsZUNyZWRlbnRpYWxzCiAqLwpjbGFzcyBDYWNoZWFibGVDcmVkZW50aWFsc1Rlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRDYWNoZSgpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBEb2N0cmluZUNhY2hlQWRhcHRlcihuZXcgQXJyYXlDYWNoZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhY2hlc0RhdGEoKQogICAgewogICAgICAgICRjYWNoZSA9ICR0aGlzLT5nZXRDYWNoZSgpOwoKICAgICAgICAvLyBTZWVkIHRoZSBjYWNoZSB3aXRoIHNvbWUgY3JlZGVudGlhbHMKICAgICAgICAkYyA9IG5ldyBDcmVkZW50aWFscygnYScsICdiJywgJ2MnLCB0aW1lKCkgKyAxMDAwMDApOwogICAgICAgICRjYWNoZS0+c2F2ZSgnZm9vJywgJGMsIDEwMDAwKTsKCiAgICAgICAgLy8gQ3JlYXRlIGV4cGlyZWQgY3JlZGVudGlhbHMKICAgICAgICAkYyA9IG5ldyBDcmVkZW50aWFscygnJywgJycsICcnLCAxKTsKICAgICAgICAkY3JlZHMgPSBuZXcgQ2FjaGVhYmxlQ3JlZGVudGlhbHMoJGMsICRjYWNoZSwgJ2ZvbycpOwoKICAgICAgICAvLyBTaG91bGQgZ2V0IGEgY2FjaGUgaGl0CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYScsICRjcmVkcy0+Z2V0QWNjZXNzS2V5SWQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYicsICRjcmVkcy0+Z2V0U2VjcmV0S2V5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2MnLCAkY3JlZHMtPmdldFNlY3VyaXR5VG9rZW4oKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REaXNjYXJkc0V4cGlyZWRDYWNoZWREYXRhKCkKICAgIHsKICAgICAgICAkY2FjaGUgPSAkdGhpcy0+Z2V0Q2FjaGUoKTsKCiAgICAgICAgLy8gU2VlZCB0aGUgY2FjaGUgd2l0aCBzb21lIGNyZWRlbnRpYWxzCiAgICAgICAgJGMgPSBuZXcgQ3JlZGVudGlhbHMoJ2EnLCAnYicsICdjJywgMSk7CiAgICAgICAgJGNhY2hlLT5zYXZlKCdmb28nLCAkYywgMTAwMDApOwoKICAgICAgICAvLyBDcmVhdGUgbW9yZSBleHBpcmVkIGNyZWRlbnRpYWxzCiAgICAgICAgJGMgPSBuZXcgQ3JlZGVudGlhbHMoJ2ZvbycsICdiYXonLCAnYmFyJywgMSk7CiAgICAgICAgJGNyZWRzID0gbmV3IENhY2hlYWJsZUNyZWRlbnRpYWxzKCRjLCAkY2FjaGUsICdmb28nKTsKCiAgICAgICAgLy8gc2hvdWxkIGlnbm9yZSB0aGUgZXhwaXJlZCBjYWNoZWQgZGF0YQogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICRjcmVkcy0+Z2V0QWNjZXNzS2V5SWQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmF6JywgJGNyZWRzLT5nZXRTZWNyZXRLZXkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmFyJywgJGNyZWRzLT5nZXRTZWN1cml0eVRva2VuKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2F2ZXNDcmVkZW50aWFsc1RvQ2FjaGUoKQogICAgewogICAgICAgICRjYWNoZSA9ICR0aGlzLT5nZXRDYWNoZSgpOwoKICAgICAgICAkbW9jayA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXFxDb21tb25cXENyZWRlbnRpYWxzXFxDcmVkZW50aWFscycpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KCdmb28nLCAnYmF6JywgJ2JhcicsIDEpKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2lzRXhwaXJlZCcpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJGNvdW50ID0gMDsKICAgICAgICAkY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB1c2UgKCYkY291bnQpIHsKICAgICAgICAgICAgcmV0dXJuICsrJGNvdW50ID09IDE7CiAgICAgICAgfTsKCiAgICAgICAgLy8gRmlyc3QgcmV0dXJuIHRydWUsIHRoZW4gZmFsc2UKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdpc0V4cGlyZWQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVybkNhbGxiYWNrKCRjYWxsYmFjaykpOwoKICAgICAgICAkY3JlZHMgPSBuZXcgQ2FjaGVhYmxlQ3JlZGVudGlhbHMoJG1vY2ssICRjYWNoZSwgJ2ZvbycpOwoKICAgICAgICAvLyBzaG91bGQgaWdub3JlIHRoZSBleHBpcmVkIGNhY2hlZCBkYXRhCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJGNyZWRzLT5nZXRBY2Nlc3NLZXlJZCgpKTsKCiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGNyZWRlbnRpYWxzIHdlcmUgY2FjaGVkCiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGNhY2hlLT5jb250YWlucygnZm9vJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Credentials/CredentialsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENyZWRlbnRpYWxzOwoKdXNlIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM7CnVzZSBHdXp6bGVcQ2FjaGVcRG9jdHJpbmVDYWNoZUFkYXB0ZXI7CnVzZSBEb2N0cmluZVxDb21tb25cQ2FjaGVcQXJyYXlDYWNoZTsKCmNsYXNzIENyZWRlbnRpYWxzVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM6Ol9fY29uc3RydWN0CiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM6OmdldEFjY2Vzc0tleUlkCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM6OmdldFNlY3JldEtleQogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzOjpnZXRTZWN1cml0eVRva2VuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0T3duc0NyZWRlbnRpYWxzKCkKICAgIHsKICAgICAgICAkYyA9IG5ldyBDcmVkZW50aWFscygnYWJjJywgJzEyMycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FiYycsICRjLT5nZXRBY2Nlc3NLZXlJZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAkYy0+Z2V0U2VjcmV0S2V5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRjLT5nZXRTZWN1cml0eVRva2VuKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzOjpmYWN0b3J5CiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM6Ol9fY29uc3RydWN0CiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM6OmdldEV4cGlyYXRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RPd25zVG9rZW5BbmRFeHBpcmF0aW9uKCkKICAgIHsKICAgICAgICAkYyA9IG5ldyBDcmVkZW50aWFscygnMScsICcyJywgJ2EnLCAxMjMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2EnLCAkYy0+Z2V0U2VjdXJpdHlUb2tlbigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEyMywgJGMtPmdldEV4cGlyYXRpb24oKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM6OmlzRXhwaXJlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWRlbnRpYWxzRG9Ob3RFeHBpcmVCeURlZmF1bHQoKQogICAgewogICAgICAgICRjID0gbmV3IENyZWRlbnRpYWxzKCdhYmMnLCAnMTIzJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjLT5pc0V4cGlyZWQoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM6OmdldEV4cGlyYXRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVkZW50aWFsUHJvdmlkZUV4cGlyYXRpb25EZXRhaWxzKCkKICAgIHsKICAgICAgICAkYyA9IG5ldyBDcmVkZW50aWFscygnYWJjJywgJzEyMycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FiYycsICRjLT5nZXRBY2Nlc3NLZXlJZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAkYy0+Z2V0U2VjcmV0S2V5KCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzOjpzZXJpYWxpemUKICAgICAqIEBjb3ZlcnMgQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFsczo6dW5zZXJpYWxpemUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVkZW50aWFsc0NhbkJlU2VyaWFsaXplZCgpCiAgICB7CiAgICAgICAgJGMgPSBuZXcgQ3JlZGVudGlhbHMoJ2EnLCAnYicsICdjJyk7CgogICAgICAgICRqc29uID0ganNvbl9kZWNvZGUoJGMtPnNlcmlhbGl6ZSgpLCB0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhJywgJGpzb25bJ2tleSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiJywgJGpzb25bJ3NlY3JldCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdjJywgJGpzb25bJ3Rva2VuJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgndG9rZW4udHRkJywgJGpzb24pOwoKICAgICAgICAkYzIgPSBjbG9uZSAkYzsKICAgICAgICAkYzItPnVuc2VyaWFsaXplKCRjLT5zZXJpYWxpemUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYScsICRjMi0+Z2V0QWNjZXNzS2V5SWQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYicsICRjMi0+Z2V0U2VjcmV0S2V5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2MnLCAkYzItPmdldFNlY3VyaXR5VG9rZW4oKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5TZXROZXdWYWx1ZXMoKQogICAgewogICAgICAgICRjID0gbmV3IENyZWRlbnRpYWxzKCcnLCAnJyk7CiAgICAgICAgJGMtPnNldEFjY2Vzc0tleUlkKCdmb28nKS0+c2V0U2VjcmV0S2V5KCdiYXonKS0+c2V0U2VjdXJpdHlUb2tlbignYmFyJyktPnNldEV4cGlyYXRpb24oMTIzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkYy0+Z2V0QWNjZXNzS2V5SWQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmF6JywgJGMtPmdldFNlY3JldEtleSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEyMywgJGMtPmdldEV4cGlyYXRpb24oKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM6OmdldENvbmZpZ0RlZmF1bHRzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UHJvdmlkZXNMaXN0T2ZDcmVkZW50aWFsc09wdGlvbnMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgQ3JlZGVudGlhbHM6OmdldENvbmZpZ0RlZmF1bHRzKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzOjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUNyZWF0ZXNCYXNpY0NyZWRlbnRpYWxzKCkKICAgIHsKICAgICAgICAkY3JlZGVudGlhbHMgPSBDcmVkZW50aWFsczo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnICAgID0+ICdiYXonLAogICAgICAgICAgICAndG9rZW4nICAgICA9PiAnYmFyJywKICAgICAgICAgICAgJ3Rva2VuLnR0ZCcgPT4gMTIzCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcXENvbW1vblxcQ3JlZGVudGlhbHNcXENyZWRlbnRpYWxzJywgJGNyZWRlbnRpYWxzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkY3JlZGVudGlhbHMtPmdldEFjY2Vzc0tleUlkKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JheicsICRjcmVkZW50aWFscy0+Z2V0U2VjcmV0S2V5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRjcmVkZW50aWFscy0+Z2V0U2VjdXJpdHlUb2tlbigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEyMywgJGNyZWRlbnRpYWxzLT5nZXRFeHBpcmF0aW9uKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzOjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUNyZWF0ZXNJbnN0YW5jZVByb2ZpbGVXaGVuTm9LZXlzQXJlUHJvdmlkZWQoKQogICAgewogICAgICAgICRjcmVkZW50aWFscyA9IENyZWRlbnRpYWxzOjpmYWN0b3J5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cQ3JlZGVudGlhbHNcUmVmcmVzaGFibGVJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFscycsICRjcmVkZW50aWFscyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM6OmZhY3RvcnkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGYWN0b3J5Q3JlYXRlc0NhY2hlV2hlblNldFRvVHJ1ZSgpCiAgICB7CiAgICAgICAgaWYgKCFleHRlbnNpb25fbG9hZGVkKCdhcGMnKSkgewogICAgICAgICAgICAkdGhpcy0+bWFya1Rlc3RTa2lwcGVkKCdBUEMgaXMgbm90IGluc3RhbGxlZCcpOwogICAgICAgIH0KCiAgICAgICAgJGNyZWRlbnRpYWxzID0gQ3JlZGVudGlhbHM6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgICAgICAgICAgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnICAgICAgICAgICAgPT4gJ2JhcicsCiAgICAgICAgICAgICdjcmVkZW50aWFscy5jYWNoZScgPT4gdHJ1ZQogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxDcmVkZW50aWFsc1xDYWNoZWFibGVDcmVkZW50aWFscycsICRjcmVkZW50aWFscyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxDYWNoZVxEb2N0cmluZUNhY2hlQWRhcHRlcicsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjcmVkZW50aWFscywgJ2NhY2hlJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2NyZWRlbnRpYWxzX2ZvbycsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjcmVkZW50aWFscywgJ2NhY2hlS2V5JykpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzOjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeVVzZXNFeHBsaWNpdGx5UHJvdmlkZWRDYWNoZSgpCiAgICB7CiAgICAgICAgJGNhY2hlID0gbmV3IERvY3RyaW5lQ2FjaGVBZGFwdGVyKG5ldyBBcnJheUNhY2hlKCkpOwogICAgICAgICRjcmVkZW50aWFscyA9IENyZWRlbnRpYWxzOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnY3JlZGVudGlhbHMuY2FjaGUnID0+ICRjYWNoZQogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENhY2hlYWJsZUNyZWRlbnRpYWxzJywgJGNyZWRlbnRpYWxzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXENhY2hlXERvY3RyaW5lQ2FjaGVBZGFwdGVyJywgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGNyZWRlbnRpYWxzLCAnY2FjaGUnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM6OmZhY3RvcnkKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgVW5hYmxlIHRvIHV0aWxpemUgY2FjaGluZyB3aXRoIHRoZSBzcGVjaWZpZWQgb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhY3RvcnlCYWlsc1doZW5DYWNoZUNhbm5vdEJlRGV0ZXJtaW5lZCgpCiAgICB7CiAgICAgICAgQ3JlZGVudGlhbHM6OmZhY3RvcnkoYXJyYXkoJ2NyZWRlbnRpYWxzLmNhY2hlJyA9PiAnZm9vJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Credentials/RefreshableInstanceProfileCredentialsIntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENyZWRlbnRpYWxzOwoKdXNlIEF3c1xDb21tb25cSW5zdGFuY2VNZXRhZGF0YVxJbnN0YW5jZU1ldGFkYXRhQ2xpZW50Owp1c2UgQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFsczsKdXNlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDsKdXNlIEd1enpsZVxDYWNoZVxEb2N0cmluZUNhY2hlQWRhcHRlcjsKdXNlIERvY3RyaW5lXENvbW1vblxDYWNoZVxBcnJheUNhY2hlOwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgUmVmcmVzaGFibGVJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFsc0ludGVncmF0aW9uVGVzdCBleHRlbmRzIFxBd3NcVGVzdHNcSW50ZWdyYXRpb25UZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEVuc3VyZXMgdGhhdCBpbnN0YW5jZSBwcm9maWxlIGNyZWRlbnRpYWxzIGFyZSB1c2VkIHdoZW4gbm8gY3JlZGVudGlhbHMgYXJlIHByb3ZpZGVkIHRvIGEgY2xpZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXNlc0luc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzQnlEZWZhdWx0KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gSW5zdGFuY2VNZXRhZGF0YUNsaWVudDo6ZmFjdG9yeSgpOwogICAgICAgICRjcmVkZW50aWFscyA9IENyZWRlbnRpYWxzOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnY3JlZGVudGlhbHMuY2xpZW50JyA9PiAkY2xpZW50CiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXFJlZnJlc2hhYmxlSW5zdGFuY2VQcm9maWxlQ3JlZGVudGlhbHMnLCAkY3JlZGVudGlhbHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRjbGllbnQsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjcmVkZW50aWFscywgJ2NsaWVudCcpKTsKCiAgICAgICAgcmV0dXJuIGFycmF5KCRjcmVkZW50aWFscywgJGNsaWVudCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBFbnN1cmVzIHRoYXQgaW5zdGFuY2UgcHJvZmlsZSBjcmVkZW50aWFscyBhcmUgcmVmcmVzaGVkIHdoZW4gdGhleSBleHBpcmUKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0VXNlc0luc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzQnlEZWZhdWx0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVmcmVzaGVzRXhwaXJlZENyZWRlbnRpYWxzKGFycmF5ICRjcmVkcykKICAgIHsKICAgICAgICAkdGhpcy0+c2tpcElmTm90RWMyKCk7CgogICAgICAgIGxpc3QoJGNyZWRlbnRpYWxzLCAkY2xpZW50KSA9ICRjcmVkczsKCiAgICAgICAgLy8gRXhwaXJlIHRoZSBjcmVkZW50aWFscwogICAgICAgICRjcmVkZW50aWFscy0+c2V0RXhwaXJhdGlvbigwKTsKCiAgICAgICAgaWYgKCR0aGlzLT51c2VNb2NrcygpKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoJ21ldGFkYXRhL2lhbV9zZWN1cml0eV9jcmVkZW50aWFscycsICdtZXRhZGF0YS9pYW1fc2VjdXJpdHlfY3JlZGVudGlhbHNfd2ViYXBwJykpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KCRjcmVkZW50aWFscy0+Z2V0QWNjZXNzS2V5SWQoKSk7CgogICAgICAgIGlmICgkdGhpcy0+dXNlTW9ja3MoKSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCR0aGlzLT5nZXRNb2NrZWRSZXF1ZXN0cygpKSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogRW5zdXJlcyB0aGF0IGNsaWVudHMgdXNlIGluc3RhbmNlIHByb2ZpbGUgY3JlZGVudGlhbHMgYnkgZGVmYXVsdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsaWVudHNVc2VJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFsc0J5RGVmYXVsdCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IER5bmFtb0RiQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtZWFzdC0xJwogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXFJlZnJlc2hhYmxlSW5zdGFuY2VQcm9maWxlQ3JlZGVudGlhbHMnLCAkY2xpZW50LT5nZXRDcmVkZW50aWFscygpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RVc2VzSW5zdGFuY2VQcm9maWxlQ3JlZGVudGlhbHNCeURlZmF1bHQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGllbnRzVXNlSW5zdGFuY2VQcm9maWxlQ3JlZGVudGlhbHMoYXJyYXkgJGNyZWRzKQogICAgewogICAgICAgICR0aGlzLT5za2lwSWZOb3RFYzIoKTsKCiAgICAgICAgbGlzdCgkY3JlZGVudGlhbHMsICRjbGllbnQpID0gJGNyZWRzOwoKICAgICAgICAkZHluYW1vID0gRHluYW1vRGJDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdjcmVkZW50aWFscycgPT4gJGNyZWRlbnRpYWxzCiAgICAgICAgKSk7CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBjb3JyZWN0IGNyZWRlbnRpYWxzIG9iamVjdCBhbmQgY2xpZW50IGFyZSBiZWluZyB1c2VkCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGNyZWRlbnRpYWxzLCAkZHluYW1vLT5nZXRDcmVkZW50aWFscygpKTsKCiAgICAgICAgaWYgKCR0aGlzLT51c2VNb2NrcygpKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoJ21ldGFkYXRhL2lhbV9zZWN1cml0eV9jcmVkZW50aWFscycsICdtZXRhZGF0YS9pYW1fc2VjdXJpdHlfY3JlZGVudGlhbHNfd2ViYXBwJykpOwogICAgICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRkeW5hbW8sICdkeW5hbW9kYi9saXN0X3RhYmxlc19maW5hbCcpOwogICAgICAgIH0KCiAgICAgICAgLy8gRXhwaXJlIHRoZSBjcmVkZW50aWFscwogICAgICAgICRjcmVkZW50aWFscy0+c2V0RXhwaXJhdGlvbigwKTsKICAgICAgICAvLyBMaXN0IGEgdGFibGUsIGNhdXNpbmcgYSBjcmVkZW50aWFsIHJlZnJlc2ggYW5kIGxpc3QgdGFibGUgcmVxdWVzdAogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgJGR5bmFtby0+bGlzdFRhYmxlcygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWRlbnRpYWxzVXNlc0FwY0NhY2hlV2hlbkNhY2hlSXNUcnVlKCkKICAgIHsKICAgICAgICBpZiAoIWV4dGVuc2lvbl9sb2FkZWQoJ2FwYycpKSB7CiAgICAgICAgICAgICR0aGlzLT5tYXJrVGVzdFNraXBwZWQoJ0FQQyBpcyBub3QgaW5zdGFsbGVkJyk7CiAgICAgICAgfQoKICAgICAgICAkY2xpZW50ID0gSW5zdGFuY2VNZXRhZGF0YUNsaWVudDo6ZmFjdG9yeSgpOwogICAgICAgICRjcmVkZW50aWFscyA9IENyZWRlbnRpYWxzOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnY3JlZGVudGlhbHMuY2xpZW50JyA9PiAkY2xpZW50LAogICAgICAgICAgICAnY3JlZGVudGlhbHMuY2FjaGUnICA9PiB0cnVlCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENhY2hlYWJsZUNyZWRlbnRpYWxzJywgJGNyZWRlbnRpYWxzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXENhY2hlXERvY3RyaW5lQ2FjaGVBZGFwdGVyJywgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGNyZWRlbnRpYWxzLCAnY2FjaGUnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVkZW50aWFsc0NhbkluamVjdENhY2hlQW5kVXNlc0hvc3RuYW1lQmFzZWRLZXkoKQogICAgewogICAgICAgICRjYWNoZSA9IG5ldyBEb2N0cmluZUNhY2hlQWRhcHRlcihuZXcgQXJyYXlDYWNoZSgpKTsKICAgICAgICAkY2FjaGUtPnNhdmUoJ2NyZWRlbnRpYWxzXycgLiBjcmMzMihnZXRob3N0bmFtZSgpKSwgbmV3IENyZWRlbnRpYWxzKCdBQkMnLCAnMTIzJywgJ0xpc3RlbiB0byBtZScsIHRpbWUoKSArIDEwMDAwKSk7CiAgICAgICAgJGNyZWRlbnRpYWxzID0gQ3JlZGVudGlhbHM6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdjcmVkZW50aWFscy5jYWNoZScgPT4gJGNhY2hlCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENhY2hlYWJsZUNyZWRlbnRpYWxzJywgJGNyZWRlbnRpYWxzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkY2FjaGUsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjcmVkZW50aWFscywgJ2NhY2hlJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0FCQycsICRjcmVkZW50aWFscy0+Z2V0QWNjZXNzS2V5SWQoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Credentials/RefreshableInstanceProfileCredentialsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXENyZWRlbnRpYWxzOwoKdXNlIEF3c1xDb21tb25cSW5zdGFuY2VNZXRhZGF0YVxJbnN0YW5jZU1ldGFkYXRhQ2xpZW50Owp1c2UgQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFsczsKdXNlIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcUmVmcmVzaGFibGVJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFsczsKdXNlIEd1enpsZVxQbHVnaW5cTW9ja1xNb2NrUGx1Z2luOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCmNsYXNzIFJlZnJlc2hhYmxlSW5zdGFuY2VQcm9maWxlQ3JlZGVudGlhbHNUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0TWV0YWRhdGFDcmVkZW50aWFscygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IEluc3RhbmNlTWV0YWRhdGFDbGllbnQ6OmZhY3RvcnkoYXJyYXkoKSk7CiAgICAgICAgJGNyZWRlbnRpYWxzID0gbmV3IFJlZnJlc2hhYmxlSW5zdGFuY2VQcm9maWxlQ3JlZGVudGlhbHMobmV3IENyZWRlbnRpYWxzKCdmb28nLCAnYmF6JywgJ2JhcicsIDEpLCAkY2xpZW50KTsKCiAgICAgICAgcmV0dXJuIGFycmF5KCRjbGllbnQsICRjcmVkZW50aWFscyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzTm90UmVxdWlyZUNsaWVudCgpCiAgICB7CiAgICAgICAgJGNyZWRlbnRpYWxzID0gbmV3IFJlZnJlc2hhYmxlSW5zdGFuY2VQcm9maWxlQ3JlZGVudGlhbHMobmV3IENyZWRlbnRpYWxzKCdmb28nLCAnYmF6JywgJ2JhcicsIDEpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXFxDb21tb25cXEluc3RhbmNlTWV0YWRhdGFcXEluc3RhbmNlTWV0YWRhdGFDbGllbnQnLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY3JlZGVudGlhbHMsICdjbGllbnQnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RNZXRhZGF0YUNyZWRlbnRpYWxzQ2FuQmVSZWZyZXNoZWQoKQogICAgewogICAgICAgIGxpc3QoJGNsaWVudCwgJGNyZWRlbnRpYWxzKSA9ICR0aGlzLT5nZXRNZXRhZGF0YUNyZWRlbnRpYWxzKCk7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KAogICAgICAgICAgICAnbWV0YWRhdGEvaWFtX3NlY3VyaXR5X2NyZWRlbnRpYWxzJywKICAgICAgICAgICAgJ21ldGFkYXRhL2lhbV9zZWN1cml0eV9jcmVkZW50aWFsc193ZWJhcHAnCiAgICAgICAgKSk7CgogICAgICAgICRjcmVkZW50aWFscy0+Z2V0U2VjdXJpdHlUb2tlbigpOwoKICAgICAgICAkbW9ja2VkUmVxdWVzdHMgPSAkbW9jay0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cygpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJG1vY2tlZFJlcXVlc3RzKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCcvd2ViYXBwJywgKHN0cmluZykgJG1vY2tlZFJlcXVlc3RzWzFdLT5nZXRVcmwoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xDb21tb25cRXhjZXB0aW9uXEluc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzRXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIEVycm9yIHJldHJpZXZpbmcgY3JlZGVudGlhbHMgZnJvbSB0aGUgaW5zdGFuY2UgcHJvZmlsZSBtZXRhZGF0YSBzZXJ2ZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFeGNlcHRpb25zQXJlV3JhcHBlZCgpCiAgICB7CiAgICAgICAgbGlzdCgkY2xpZW50LCAkY3JlZGVudGlhbHMpID0gJHRoaXMtPmdldE1ldGFkYXRhQ3JlZGVudGlhbHMoKTsKICAgICAgICAkbW9jayA9IG5ldyBNb2NrUGx1Z2luKGFycmF5KAogICAgICAgICAgICBuZXcgUmVzcG9uc2UoNDAwKQogICAgICAgICkpOwogICAgICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKCRtb2NrKTsKICAgICAgICAkY3JlZGVudGlhbHMtPmdldFNlY3VyaXR5VG9rZW4oKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXENvbW1vblxFeGNlcHRpb25cSW5zdGFuY2VQcm9maWxlQ3JlZGVudGlhbHNFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgVW5leHBlY3RlZCByZXNwb25zZSBjb2RlOiBJbnN0YW5jZVByb2ZpbGVOb3RGb3VuZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNSZXNwb25zZUNvZGVJc1N1Y2Nlc3MoKQogICAgewogICAgICAgIGxpc3QoJGNsaWVudCwgJGNyZWRlbnRpYWxzKSA9ICR0aGlzLT5nZXRNZXRhZGF0YUNyZWRlbnRpYWxzKCk7CiAgICAgICAgJG1vY2sgPSBuZXcgTW9ja1BsdWdpbihhcnJheSgKICAgICAgICAgICAgJHRoaXMtPmdldE1vY2tSZXNwb25zZSgnbWV0YWRhdGEvaWFtX3NlY3VyaXR5X2NyZWRlbnRpYWxzJyksCiAgICAgICAgICAgIG5ldyBSZXNwb25zZSgyMDAsIG51bGwsICd7ICJDb2RlIjogIkluc3RhbmNlUHJvZmlsZU5vdEZvdW5kIiB9JykKICAgICAgICApKTsKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkU3Vic2NyaWJlcigkbW9jayk7CiAgICAgICAgJGNyZWRlbnRpYWxzLT5nZXRTZWN1cml0eVRva2VuKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/EnumTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uOwoKdXNlIEF3c1xDb21tb25cRW51bTsKCmNsYXNzIENvbmNyZXRlRW51bSBleHRlbmRzIEVudW0KewogICAgY29uc3QgQSA9IDE7CiAgICBjb25zdCBCID0gMjsKICAgIGNvbnN0IEMgPSAzOwp9CgpjbGFzcyBFbnVtVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cRW51bQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFic3RyYWN0RW51bVZhbHVlc1Nob3VsZEJlRW1wdHkoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoKSwgRW51bTo6dmFsdWVzKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXEVudW0KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBYnN0cmFjdEVudW1LZXlzU2hvdWxkQmVFbXB0eSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgpLCBFbnVtOjprZXlzKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXEVudW0KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25jcmV0ZUVudW1WYWx1ZXNBcmVDb3JyZWN0KCkKICAgIHsKICAgICAgICAkZXhwZWN0ZWQgPSBhcnJheSgKICAgICAgICAgICAgJ0EnID0+IDEsCiAgICAgICAgICAgICdCJyA9PiAyLAogICAgICAgICAgICAnQycgPT4gMywKICAgICAgICApOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZXhwZWN0ZWQsIENvbmNyZXRlRW51bTo6dmFsdWVzKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXEVudW0KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25jcmV0ZUVudW1Db25zdGFudE5hbWVzQXJlQ29ycmVjdCgpCiAgICB7CiAgICAgICAgJGV4cGVjdGVkID0gYXJyYXkoJ0EnLCAnQicsICdDJyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRleHBlY3RlZCwgQ29uY3JldGVFbnVtOjprZXlzKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Exception/ExceptionListenerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxFeGNlcHRpb25MaXN0ZW5lcjsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXENvbW1vblxFeGNlcHRpb25cRXhjZXB0aW9uTGlzdGVuZXIKICovCmNsYXNzIEV4Y2VwdGlvbkxpc3RlbmVyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdWJzY3JpYmVzVG9FdmVudHMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgncmVxdWVzdC5lcnJvcicsIEV4Y2VwdGlvbkxpc3RlbmVyOjpnZXRTdWJzY3JpYmVkRXZlbnRzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VGhyb3dzU2VydmljZVNwZWNpZmljRXhjZXB0aW9ucygpCiAgICB7CiAgICAgICAgJGUgPSBuZXcgU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uKCdGb28nKTsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdQT1NUJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20nKTsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwKTsKCiAgICAgICAgJGZhY3RvcnkgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cRXhjZXB0aW9uXEV4Y2VwdGlvbkZhY3RvcnlJbnRlcmZhY2UnKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2Zyb21SZXNwb25zZScpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJGZhY3RvcnktPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2Zyb21SZXNwb25zZScpCiAgICAgICAgICAgIC0+d2l0aCgkcmVxdWVzdCwgJHJlc3BvbnNlKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRlKSk7CgogICAgICAgICRsaXN0ZW5lciA9IG5ldyBFeGNlcHRpb25MaXN0ZW5lcigkZmFjdG9yeSk7CiAgICAgICAgJGV2ZW50ID0gbmV3IEV2ZW50KGFycmF5KCdyZXF1ZXN0JyA9PiAkcmVxdWVzdCwgJ3Jlc3BvbnNlJyA9PiAkcmVzcG9uc2UpKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJGxpc3RlbmVyLT5vblJlcXVlc3RFcnJvcigkZXZlbnQpOwogICAgICAgICAgICAkdGhpcy0+ZmFpbCgnRGlkIG5vdCB0aHJvdyBleHBlY3RlZCBleGNlcHRpb24nKTsKICAgICAgICB9IGNhdGNoIChTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb24gJHRocm93bikgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZSwgJHRocm93bik7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Exception/InstanceProfileCredentialsExceptionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFsc0V4Y2VwdGlvbjsKCmNsYXNzIEluc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzRXhjZXB0aW9uVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cRXhjZXB0aW9uXEluc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzRXhjZXB0aW9uOjpnZXRTdGF0dXNDb2RlCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cRXhjZXB0aW9uXEluc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzRXhjZXB0aW9uOjpzZXRTdGF0dXNDb2RlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0T3duc1N0YXR1c0NvZGUoKQogICAgewogICAgICAgICRlID0gbmV3IEluc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzRXhjZXB0aW9uKCdGb28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkZS0+Z2V0U3RhdHVzQ29kZSgpKTsKICAgICAgICAkZS0+c2V0U3RhdHVzQ29kZSgnQmFyJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQmFyJywgJGUtPmdldFN0YXR1c0NvZGUoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Exception/NamespaceExceptionFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxOYW1lc3BhY2VFeGNlcHRpb25GYWN0b3J5Owp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUGFyc2VyXEpzb25RdWVyeUV4Y2VwdGlvblBhcnNlcjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogQGNvdmVycyBBd3NcQ29tbW9uXEV4Y2VwdGlvblxOYW1lc3BhY2VFeGNlcHRpb25GYWN0b3J5CiAqLwpjbGFzcyBOYW1lc3BhY2VFeGNlcHRpb25GYWN0b3J5VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NEZWZhdWx0RXhjZXB0aW9uV2hlbk1hdGNoSXNOb3RGb3VuZCgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnUE9TVCcsICdodHRwOi8vZXhhbXBsZS5jb20nKTsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwKTsKICAgICAgICAkZmFjdG9yeSA9IG5ldyBOYW1lc3BhY2VFeGNlcHRpb25GYWN0b3J5KG5ldyBKc29uUXVlcnlFeGNlcHRpb25QYXJzZXIoKSwgX19OQU1FU1BBQ0VfXyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoCiAgICAgICAgICAgICdBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb24nLAogICAgICAgICAgICAkZmFjdG9yeS0+ZnJvbVJlc3BvbnNlKCRyZXF1ZXN0LCAkcmVzcG9uc2UpCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRocm93c05hbWVzcGFjZWRFeGNlcHRpb25zVGhhdEFyZU5vdFNlcnZpY2VFeGNlcHRpb25zKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdQT1NUJywgJ2h0dHA6Ly9leGFtcGxlLmNvbScpOwogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KCksICd7ICJfX3R5cGUiOiAicnVudGltZUV4Y2VwdGlvbiIsICJjb2RlIjogImZvbyIsICJtZXNzYWdlIjogImJhciIgfScpOwogICAgICAgICRmYWN0b3J5ID0gbmV3IE5hbWVzcGFjZUV4Y2VwdGlvbkZhY3RvcnkobmV3IEpzb25RdWVyeUV4Y2VwdGlvblBhcnNlcigpLCAnQXdzXENvbW1vblxFeGNlcHRpb24nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbicsICRmYWN0b3J5LT5mcm9tUmVzcG9uc2UoJHJlcXVlc3QsICRyZXNwb25zZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VGhyb3dzTmFtZXNwYWNlZFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbnMoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ1BPU1QnLCAnaHR0cDovL2V4YW1wbGUuY29tJyk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDQwMCwgYXJyYXkoKSwgJ3sgIl9fdHlwZSI6ICJhYmMjU2VydmljZVJlc3BvbnNlIiwgIm1lc3NhZ2UiOiAiYmFyIiB9Jyk7CiAgICAgICAgJGZhY3RvcnkgPSBuZXcgTmFtZXNwYWNlRXhjZXB0aW9uRmFjdG9yeShuZXcgSnNvblF1ZXJ5RXhjZXB0aW9uUGFyc2VyKCksICdBd3NcQ29tbW9uXEV4Y2VwdGlvbicpOwogICAgICAgICRleGNlcHRpb24gPSAkZmFjdG9yeS0+ZnJvbVJlc3BvbnNlKCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb24nLCAkZXhjZXB0aW9uKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdTZXJ2aWNlUmVzcG9uc2UnLCAkZXhjZXB0aW9uLT5nZXRFeGNlcHRpb25Db2RlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2NsaWVudCcsICRleGNlcHRpb24tPmdldEV4Y2VwdGlvblR5cGUoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Exception/Parser/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Exception/Parser/DefaultXmlExceptionParserTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXI7Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUGFyc2VyXERlZmF1bHRYbWxFeGNlcHRpb25QYXJzZXI7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXENvbW1vblxFeGNlcHRpb25cUGFyc2VyXERlZmF1bHRYbWxFeGNlcHRpb25QYXJzZXIKICovCmNsYXNzIERlZmF1bHRYbWxFeGNlcHRpb25QYXJzZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHhtbERhdGFQcm92aWRlcigpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PicgLiAiXG4iIC4KICAgICAgICAgICAgICAgICc8UmVzcG9uc2U+JyAuCiAgICAgICAgICAgICAgICAnICA8RXJyb3JzPicgLgogICAgICAgICAgICAgICAgJyAgICA8RXJyb3I+JyAuCiAgICAgICAgICAgICAgICAnICAgICAgPENvZGU+RXJyb3IgY29kZSB0ZXh0PC9Db2RlPicgLgogICAgICAgICAgICAgICAgJyAgICAgIDxNZXNzYWdlPkVycm9yIG1lc3NhZ2U8L01lc3NhZ2U+JyAuCiAgICAgICAgICAgICAgICAnICAgIDwvRXJyb3I+JyAuCiAgICAgICAgICAgICAgICAnICA8L0Vycm9ycz4nIC4KICAgICAgICAgICAgICAgICcgIDxSZXF1ZXN0SUQ+eHl6PC9SZXF1ZXN0SUQ+JyAuCiAgICAgICAgICAgICAgICAnPC9SZXNwb25zZT4nCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+JyAuICJcbiIgLgogICAgICAgICAgICAgICAgJzxFcnJvcj4nIC4KICAgICAgICAgICAgICAgICcgIDxDb2RlPkVycm9yIGNvZGUgdGV4dDwvQ29kZT4nIC4KICAgICAgICAgICAgICAgICcgIDxNZXNzYWdlPkVycm9yIG1lc3NhZ2U8L01lc3NhZ2U+JyAuCiAgICAgICAgICAgICAgICAnICA8UmVzb3VyY2U+Rm9vPC9SZXNvdXJjZT4nIC4KICAgICAgICAgICAgICAgICcgIDxSZXF1ZXN0SWQ+eHl6PC9SZXF1ZXN0SWQ+JyAuCiAgICAgICAgICAgICAgICAnPC9FcnJvcj4nCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJzxFcnJvclJlc3BvbnNlIHhtbG5zPSJodHRwczovL3N0cy5hbWF6b25hd3MuY29tL2RvYy8yMDExLTA2LTE1LyI+JyAuCiAgICAgICAgICAgICAgICAnICA8RXJyb3I+JyAuCiAgICAgICAgICAgICAgICAnICAgIDxUeXBlPkVycm9yIGNvZGUgdGV4dDwvVHlwZT4nIC4KICAgICAgICAgICAgICAgICcgICAgPENvZGU+RXJyb3IgY29kZSB0ZXh0PC9Db2RlPicgLgogICAgICAgICAgICAgICAgJyAgICA8TWVzc2FnZT5FcnJvciBtZXNzYWdlPC9NZXNzYWdlPicgLgogICAgICAgICAgICAgICAgJyAgPC9FcnJvcj4nIC4KICAgICAgICAgICAgICAgICcgIDxSZXF1ZXN0SWQ+eHl6PC9SZXF1ZXN0SWQ+JyAuCiAgICAgICAgICAgICAgICAnPC9FcnJvclJlc3BvbnNlPicKICAgICAgICAgICAgKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIHhtbERhdGFQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBhcnNlc1Jlc3BvbnNlcygkeG1sKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZXhhbXBsZS5jb20nKTsKICAgICAgICAkcmVzcG9uc2UgPSBSZXNwb25zZTo6ZnJvbU1lc3NhZ2UoIkhUVFAvMS4xIDQwMCBCYWQgUmVxdWVzdFxyXG5cclxueyR4bWx9Iik7CiAgICAgICAgJHBhcnNlciA9IG5ldyBEZWZhdWx0WG1sRXhjZXB0aW9uUGFyc2VyKCk7CiAgICAgICAgJHJlc3VsdCA9ICRwYXJzZXItPnBhcnNlKCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgJHJlc3VsdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnY2xpZW50JywgJHJlc3VsdFsndHlwZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdFcnJvciBjb2RlIHRleHQnLCAkcmVzdWx0Wydjb2RlJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0Vycm9yIG1lc3NhZ2UnLCAkcmVzdWx0WydtZXNzYWdlJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3h5eicsICRyZXN1bHRbJ3JlcXVlc3RfaWQnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ1NpbXBsZVhNTEVsZW1lbnQnLCAkcmVzdWx0WydwYXJzZWQnXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQYXJzZXNSZXNwb25zZXNXaXRoTm9Cb2R5QW5kTm9SZXF1ZXN0SWQoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZXhhbXBsZS5jb20nKTsKICAgICAgICAkcmVzcG9uc2UgPSBSZXNwb25zZTo6ZnJvbU1lc3NhZ2UoIkhUVFAvMS4xIDQwMCBCYWQgUmVxdWVzdFxyXG5cclxuIik7CiAgICAgICAgJHBhcnNlciA9IG5ldyBEZWZhdWx0WG1sRXhjZXB0aW9uUGFyc2VyKCk7CiAgICAgICAgJHJlc3VsdCA9ICRwYXJzZXItPnBhcnNlKCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzQwMCBCYWQgUmVxdWVzdCcsICRyZXN1bHRbJ21lc3NhZ2UnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHJlc3VsdFsncGFyc2VkJ10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGFyc2VzUmVzcG9uc2VzV2l0aE5vQm9keSgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9leGFtcGxlLmNvbScpOwogICAgICAgICRyZXNwb25zZSA9IFJlc3BvbnNlOjpmcm9tTWVzc2FnZSgiSFRUUC8xLjEgNDAwIEJhZCBSZXF1ZXN0XHJcblgtQW16LVJlcXVlc3QtSUQ6IEZvb1xyXG5cclxuIik7CiAgICAgICAgJHBhcnNlciA9IG5ldyBEZWZhdWx0WG1sRXhjZXB0aW9uUGFyc2VyKCk7CiAgICAgICAgJHJlc3VsdCA9ICRwYXJzZXItPnBhcnNlKCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzQwMCBCYWQgUmVxdWVzdCAoUmVxdWVzdC1JRDogRm9vKScsICRyZXN1bHRbJ21lc3NhZ2UnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnRm9vJywgJHJlc3VsdFsncmVxdWVzdF9pZCddKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Exception/Parser/JsonQueryExceptionParserTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXI7Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUGFyc2VyXEpzb25RdWVyeUV4Y2VwdGlvblBhcnNlcjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogQGNvdmVycyBBd3NcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXJcSnNvblF1ZXJ5RXhjZXB0aW9uUGFyc2VyCiAqIEBjb3ZlcnMgQXdzXENvbW1vblxFeGNlcHRpb25cUGFyc2VyXEFic3RyYWN0SnNvbkV4Y2VwdGlvblBhcnNlcgogKi8KY2xhc3MgSnNvblF1ZXJ5RXhjZXB0aW9uUGFyc2VyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQYXJzZXNDbGllbnRFcnJvclJlc3BvbnNlcygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9leGFtcGxlLmNvbScpOwogICAgICAgICRyZXNwb25zZSA9IFJlc3BvbnNlOjpmcm9tTWVzc2FnZSgKICAgICAgICAgICAgIkhUVFAvMS4xIDQwMCBCYWQgUmVxdWVzdFxyXG4iIC4KICAgICAgICAgICAgIngtYW16bi1yZXF1ZXN0aWQ6IHh5elxyXG5cclxuIiAuCiAgICAgICAgICAgICd7ICJfX3R5cGUiOiAiZm9vIiwgIm1lc3NhZ2UiOiAibG9yZW0gaXBzdW0iIH0nCiAgICAgICAgKTsKCiAgICAgICAgJHBhcnNlciA9IG5ldyBKc29uUXVlcnlFeGNlcHRpb25QYXJzZXIoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnY29kZScgICAgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdtZXNzYWdlJyAgICA9PiAnbG9yZW0gaXBzdW0nLAogICAgICAgICAgICAndHlwZScgICAgICAgPT4gJ2NsaWVudCcsCiAgICAgICAgICAgICdyZXF1ZXN0X2lkJyA9PiAneHl6JywKICAgICAgICAgICAgJ3BhcnNlZCcgICAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ19fdHlwZScgID0+ICdmb28nLAogICAgICAgICAgICAgICAgJ21lc3NhZ2UnID0+ICdsb3JlbSBpcHN1bScKICAgICAgICAgICAgKQogICAgICAgICksICRwYXJzZXItPnBhcnNlKCRyZXF1ZXN0LCAkcmVzcG9uc2UpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBhcnNlc1NlcnZlckVycm9yUmVzcG9uc2VzV2l0aE1peGVkQ2FzaW5nKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2V4YW1wbGUuY29tJyk7CiAgICAgICAgJHJlc3BvbnNlID0gUmVzcG9uc2U6OmZyb21NZXNzYWdlKAogICAgICAgICAgICAiSFRUUC8xLjEgNTAwIEludGVybmFsIFNlcnZlciBFcnJvclxyXG4iIC4KICAgICAgICAgICAgIngtYW16bi1yZXF1ZXN0aWQ6IDEyM1xyXG5cclxuIiAuCiAgICAgICAgICAgICd7ICJfX1R5cGUiOiAiYWJjI2JhekZhdWx0IiwgIk1lc3NhZ2UiOiAiZG9sb3IiIH0nCiAgICAgICAgKTsKCiAgICAgICAgJHBhcnNlciA9IG5ldyBKc29uUXVlcnlFeGNlcHRpb25QYXJzZXIoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnY29kZScgICAgICAgPT4gJ2JheicsCiAgICAgICAgICAgICdtZXNzYWdlJyAgICA9PiAnZG9sb3InLAogICAgICAgICAgICAndHlwZScgICAgICAgPT4gJ3NlcnZlcicsCiAgICAgICAgICAgICdyZXF1ZXN0X2lkJyA9PiAnMTIzJywKICAgICAgICAgICAgJ3BhcnNlZCcgICAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ19fdHlwZScgID0+ICdhYmMjYmF6RmF1bHQnLAogICAgICAgICAgICAgICAgJ21lc3NhZ2UnID0+ICdkb2xvcicKICAgICAgICAgICAgKQogICAgICAgICksICRwYXJzZXItPnBhcnNlKCRyZXF1ZXN0LCAkcmVzcG9uc2UpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Exception/Parser/JsonRestExceptionParserTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXI7Cgp1c2UgQXdzXENvbW1vblxFeGNlcHRpb25cUGFyc2VyXEpzb25SZXN0RXhjZXB0aW9uUGFyc2VyOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCi8qKgogKiBAY292ZXJzIEF3c1xDb21tb25cRXhjZXB0aW9uXFBhcnNlclxKc29uUmVzdEV4Y2VwdGlvblBhcnNlcgogKi8KY2xhc3MgSnNvblJlc3RFeGNlcHRpb25QYXJzZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBhcnNlc0NsaWVudEVycm9yUmVzcG9uc2VzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2V4YW1wbGUuY29tJyk7CiAgICAgICAgJHJlc3BvbnNlID0gUmVzcG9uc2U6OmZyb21NZXNzYWdlKAogICAgICAgICAgICAiSFRUUC8xLjEgNDAwIEJhZCBSZXF1ZXN0XHJcbiIgLgogICAgICAgICAgICAieC1hbXpuLXJlcXVlc3RpZDogeHl6XHJcblxyXG4iIC4KICAgICAgICAgICAgJ3sgInR5cGUiOiAiY2xpZW50IiwgIm1lc3NhZ2UiOiAibG9yZW0gaXBzdW0iLCAiY29kZSI6ICJmb28iIH0nCiAgICAgICAgKTsKCiAgICAgICAgJHBhcnNlciA9IG5ldyBKc29uUmVzdEV4Y2VwdGlvblBhcnNlcigpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdjb2RlJyAgICAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ21lc3NhZ2UnICAgID0+ICdsb3JlbSBpcHN1bScsCiAgICAgICAgICAgICd0eXBlJyAgICAgICA9PiAnY2xpZW50JywKICAgICAgICAgICAgJ3JlcXVlc3RfaWQnID0+ICd4eXonLAogICAgICAgICAgICAncGFyc2VkJyAgICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndHlwZScgICAgPT4gJ2NsaWVudCcsCiAgICAgICAgICAgICAgICAnbWVzc2FnZScgPT4gJ2xvcmVtIGlwc3VtJywKICAgICAgICAgICAgICAgICdjb2RlJyAgICA9PiAnZm9vJwogICAgICAgICAgICApCiAgICAgICAgKSwgJHBhcnNlci0+cGFyc2UoJHJlcXVlc3QsICRyZXNwb25zZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGFyc2VzQ2xpZW50RXJyb3JSZXNwb25zZVdpdGhDb2RlSW5IZWFkZXIoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZXhhbXBsZS5jb20nKTsKICAgICAgICAkcmVzcG9uc2UgPSBSZXNwb25zZTo6ZnJvbU1lc3NhZ2UoCiAgICAgICAgICAgICJIVFRQLzEuMSA0MDAgQmFkIFJlcXVlc3RcclxuIiAuCiAgICAgICAgICAgICJ4LWFtem4tUmVxdWVzdElkOiB4eXpcclxuIiAuCiAgICAgICAgICAgICJ4LWFtem4tRXJyb3JUeXBlOiBmb286YmFyXHJcblxyXG4iIC4KICAgICAgICAgICAgJ3sgIm1lc3NhZ2UiOiAibG9yZW0gaXBzdW0ifScKICAgICAgICApOwoKICAgICAgICAkcGFyc2VyID0gbmV3IEpzb25SZXN0RXhjZXB0aW9uUGFyc2VyKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ2NvZGUnICAgICAgID0+ICdmb28nLAogICAgICAgICAgICAnbWVzc2FnZScgICAgPT4gJ2xvcmVtIGlwc3VtJywKICAgICAgICAgICAgJ3R5cGUnICAgICAgID0+ICdjbGllbnQnLAogICAgICAgICAgICAncmVxdWVzdF9pZCcgPT4gJ3h5eicsCiAgICAgICAgICAgICdwYXJzZWQnICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdtZXNzYWdlJyA9PiAnbG9yZW0gaXBzdW0nLAogICAgICAgICAgICApCiAgICAgICAgKSwgJHBhcnNlci0+cGFyc2UoJHJlcXVlc3QsICRyZXNwb25zZSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Exception/ServiceResponseExceptionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEV4Y2VwdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEV4Y2VwdGlvblxTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXENvbW1vblxFeGNlcHRpb25cU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uCiAqLwpjbGFzcyBTZXJ2aWNlUmVzcG9uc2VFeGNlcHRpb25UZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlcHJlc2VudHNFeGNlcHRpb24oKQogICAgewogICAgICAgICRlID0gbmV3IFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbignRm9vIScpOwogICAgICAgICRlLT5zZXRFeGNlcHRpb25Db2RlKCdmb28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkZS0+Z2V0RXhjZXB0aW9uQ29kZSgpKTsKICAgICAgICAkZS0+c2V0RXhjZXB0aW9uVHlwZSgnY2xpZW50Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnY2xpZW50JywgJGUtPmdldEV4Y2VwdGlvblR5cGUoKSk7CiAgICAgICAgJGUtPnNldFJlcXVlc3RJZCgneHl6Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygneHl6JywgJGUtPmdldFJlcXVlc3RJZCgpKTsKCiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCk7CiAgICAgICAgJGUtPnNldFJlc3BvbnNlKCRyZXNwb25zZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHJlc3BvbnNlLCAkZS0+Z2V0UmVzcG9uc2UoKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0F3c1xDb21tb25cRXhjZXB0aW9uXFNlcnZpY2VSZXNwb25zZUV4Y2VwdGlvbjogQVdTIEVycm9yIENvZGU6IGZvbywgU3RhdHVzIENvZGU6IDIwMCwgQVdTIFJlcXVlc3QgSUQ6IHh5eiwgQVdTIEVycm9yIFR5cGU6IGNsaWVudCwgQVdTIEVycm9yIE1lc3NhZ2U6IEZvbyEnLCAoc3RyaW5nKSAkZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzVXNlckFnZW50SWZBdmFpbGFibGUoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3LmZvby5jb20nLCBhcnJheSgnVXNlci1BZ2VudCcgPT4gJ0Zvby9CYXInKSk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCk7CiAgICAgICAgJGUgPSBuZXcgU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uKCdGb28hJyk7CiAgICAgICAgJGUtPnNldEV4Y2VwdGlvbkNvZGUoJ2ZvbycpOwogICAgICAgICRlLT5zZXRFeGNlcHRpb25UeXBlKCdjbGllbnQnKTsKICAgICAgICAkZS0+c2V0UmVxdWVzdElkKCd4eXonKTsKICAgICAgICAkZS0+c2V0UmVxdWVzdCgkcmVxdWVzdCk7CiAgICAgICAgJGUtPnNldFJlc3BvbnNlKCRyZXNwb25zZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQXdzXENvbW1vblxFeGNlcHRpb25cU2VydmljZVJlc3BvbnNlRXhjZXB0aW9uOiBBV1MgRXJyb3IgQ29kZTogZm9vLCBTdGF0dXMgQ29kZTogMjAwLCBBV1MgUmVxdWVzdCBJRDogeHl6LCBBV1MgRXJyb3IgVHlwZTogY2xpZW50LCBBV1MgRXJyb3IgTWVzc2FnZTogRm9vISwgVXNlci1BZ2VudDogRm9vL0JhcicsIChzdHJpbmcpICRlKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Facade/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Facade/FacadeTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEZhY2FkZTsKCnVzZSBBd3NcQ29tbW9uXEF3czsKdXNlIEF3c1xDb21tb25cRmFjYWRlXEZhY2FkZTsKCi8qKgogKiBAY292ZXJzIEF3c1xDb21tb25cRmFjYWRlXEZhY2FkZQogKi8KY2xhc3MgRmFjYWRlVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5Nb3VudEFuZFVzZUZhY2FkZXMoKQogICAgewogICAgICAgIEZhY2FkZTo6bW91bnRGYWNhZGVzKCR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZShjbGFzc19leGlzdHMoJ1MzJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcUzNcQ29tbWFuZFxTM0NvbW1hbmQnLCBcUzM6OmdldENvbW1hbmQoJ0xpc3RCdWNrZXRzJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuTW91bnRBbmRVc2VGYWNhZGVzVG9BcmJpdHJhcnlOYW1lc3BhY2VzKCkKICAgIHsKICAgICAgICBGYWNhZGU6Om1vdW50RmFjYWRlcygkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKSwgJ0ZvbycpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKGNsYXNzX2V4aXN0cygnRm9vXFxTMycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXFMzXENvbW1hbmRcUzNDb21tYW5kJywgXEZvb1xTMzo6Z2V0Q29tbWFuZCgnTGlzdEJ1Y2tldHMnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5BY2Nlc3NNb2NrZWRDbGllbnRGcm9tRmFjYWRlKCkKICAgIHsKICAgICAgICAkYXdzID0gY2xvbmUgJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCk7CiAgICAgICAgJGF3cy0+ZW5hYmxlRmFjYWRlcygnRm9vXEJhcicpOwoKICAgICAgICAkbW9ja1MzQ2xpZW50ID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcUzNcUzNDbGllbnQnKQogICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJGF3cy0+c2V0KCdzMycsICRtb2NrUzNDbGllbnQpOwoKICAgICAgICAkcmV0cmlldmVkUzNDbGllbnQgPSBcRm9vXEJhclxTMzo6Z2V0Q2xpZW50KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJG1vY2tTM0NsaWVudCwgJHJldHJpZXZlZFMzQ2xpZW50KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Hash/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Hash/ChunkHashTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEhhc2g7Cgp1c2UgQXdzXENvbW1vblxIYXNoXENodW5rSGFzaDsKCi8qKgogKiBAY292ZXJzIFxBd3NcQ29tbW9uXEhhc2hcQ2h1bmtIYXNoCiAqLwpjbGFzcyBDaHVua0hhc2hUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VGhyb3dzRXhjZXB0aW9uRm9ySW52YWxpZEFsZ29yaXRobSgpCiAgICB7CiAgICAgICAgJGNodW5rSGFzaCA9IG5ldyBDaHVua0hhc2goJ2Zvb2JhcicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3JJbml0aWFsaXplc1ZhbHVlcygpCiAgICB7CiAgICAgICAgJGNodW5rSGFzaCA9IG5ldyBDaHVua0hhc2goJ21kNScpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKGlzX3Jlc291cmNlKCR0aGlzLT5yZWFkQXR0cmlidXRlKCRjaHVua0hhc2gsICdjb250ZXh0JykpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc2hpbmdJc0hhcHBlbmluZ0NvcnJlY3RseSgpCiAgICB7CiAgICAgICAgJGNvbnRlbnQgPSAnZm9vJzsKICAgICAgICAkaGFzaEhleCA9IGhhc2goJ3NoYTI1NicsICRjb250ZW50KTsKICAgICAgICAkaGFzaEJpbiA9IGhhc2goJ3NoYTI1NicsICRjb250ZW50LCB0cnVlKTsKCiAgICAgICAgJGNodW5rSGFzaCA9IG5ldyBDaHVua0hhc2goJ3NoYTI1NicpOwogICAgICAgICRjaHVua0hhc2gtPmFkZERhdGEoJGNvbnRlbnQpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRoYXNoSGV4LCAkY2h1bmtIYXNoLT5nZXRIYXNoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGhhc2hCaW4sICRjaHVua0hhc2gtPmdldEhhc2godHJ1ZSkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxMb2dpY0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbm5vdEFkZERhdGFBZnRlckhhc2hDYWxjdWxhdGlvbigpCiAgICB7CiAgICAgICAgJGNodW5rSGFzaCA9IG5ldyBDaHVua0hhc2goJ3NoYTI1NicpOwogICAgICAgICRjaHVua0hhc2gtPmFkZERhdGEoJ2ZvbycpOwogICAgICAgICRjaHVua0hhc2gtPmdldEhhc2goKTsKCiAgICAgICAgJGNodW5rSGFzaC0+YWRkRGF0YSgnYmFyJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbG9uZU1ha2VzQ29weU9mSGFzaENvbnRleHQoKQogICAgewogICAgICAgICRjaHVua0hhc2gxID0gbmV3IENodW5rSGFzaCgnc2hhMjU2Jyk7CiAgICAgICAgJGNodW5rSGFzaDEtPmFkZERhdGEoJ2ZvbycpOwoKICAgICAgICAkY2h1bmtIYXNoMiA9IGNsb25lICRjaHVua0hhc2gxOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGhhc2goJ3NoYTI1NicsICdmb28nKSwgJGNodW5rSGFzaDEtPmdldEhhc2goKSk7CgogICAgICAgICRjaHVua0hhc2gyLT5hZGREYXRhKCdiYXInKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGhhc2goJ3NoYTI1NicsICdmb29iYXInKSwgJGNodW5rSGFzaDItPmdldEhhc2goKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Hash/HashUtilsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEhhc2g7Cgp1c2UgQXdzXENvbW1vblxIYXNoXEhhc2hVdGlsczsKCi8qKgogKiBAY292ZXJzIFxBd3NcQ29tbW9uXEhhc2hcSGFzaFV0aWxzCiAqLwpjbGFzcyBIYXNoVXRpbHNUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhleEJpbkNvbnZlcnNpb25zV29ya0NvcnJlY3RseSgpCiAgICB7CiAgICAgICAgJGhleCA9ICI1YTRiIjsKICAgICAgICAkYmluID0gIlpLIjsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkaGV4LCBIYXNoVXRpbHM6OmJpblRvSGV4KCRiaW4pKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRiaW4sIEhhc2hVdGlsczo6aGV4VG9CaW4oJGhleCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25Gb3JJbnZhbGlkQWxnb3JpdGhtKCkKICAgIHsKICAgICAgICBIYXNoVXRpbHM6OnZhbGlkYXRlQWxnb3JpdGhtKCdmb29iYXInKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNUcnVlRm9yVmFsaWRBbGdvcml0aG0oKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKEhhc2hVdGlsczo6dmFsaWRhdGVBbGdvcml0aG0oJ21kNScpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Hash/TreeHashTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEhhc2g7Cgp1c2UgQXdzXENvbW1vblxIYXNoXFRyZWVIYXNoOwp1c2UgQXdzXENvbW1vblxFbnVtXFNpemU7CgpjbGFzcyBUcmVlSGFzaFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUZXN0RGF0YSgpCiAgICB7CiAgICAgICAgJGdldEhhc2hlZENodW5rcyA9IGZ1bmN0aW9uICgkY2h1bmtzLCAkdXNlQmluYXJ5Rm9ybSkgewogICAgICAgICAgICByZXR1cm4gYXJyYXlfbWFwKGZ1bmN0aW9uICgkY2h1bmspIHVzZSAoJHVzZUJpbmFyeUZvcm0pIHsKICAgICAgICAgICAgICAgIHJldHVybiBoYXNoKCdzaGEyNTYnLCAkY2h1bmssICR1c2VCaW5hcnlGb3JtKTsKICAgICAgICAgICAgfSwgJGNodW5rcyk7CiAgICAgICAgfTsKCiAgICAgICAgJGRhdGEgPSBuZXcgXHN0ZENsYXNzOwogICAgICAgICRkYXRhLT5jaHVua3MgPSBhcnJheShzdHJfcmVwZWF0KCd4JywgU2l6ZTo6TUIpLCAnZm9vYmFyJyk7CiAgICAgICAgJGRhdGEtPmNvbnRlbnQgPSBqb2luKCcnLCAkZGF0YS0+Y2h1bmtzKTsKICAgICAgICAkZGF0YS0+YmluSGFzaGVzID0gJGdldEhhc2hlZENodW5rcygkZGF0YS0+Y2h1bmtzLCB0cnVlKTsKICAgICAgICAkZGF0YS0+aGV4SGFzaGVzID0gJGdldEhhc2hlZENodW5rcygkZGF0YS0+Y2h1bmtzLCBmYWxzZSk7CiAgICAgICAgJGRhdGEtPmNoZWNrc3VtID0gaGFzaCgnc2hhMjU2Jywgam9pbignJywgJGRhdGEtPmJpbkhhc2hlcykpOwogICAgICAgICRkYXRhLT5iaW5DaGVja3N1bSA9IGhhc2goJ3NoYTI1NicsIGpvaW4oJycsICRkYXRhLT5iaW5IYXNoZXMpLCB0cnVlKTsKCiAgICAgICAgcmV0dXJuICRkYXRhOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXEhhc2hcVHJlZUhhc2g6OmZyb21DaGVja3N1bXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUcmVlSGFzaGluZ0NoZWNrc3Vtc1dvcmtzQ29ycmVjdGx5KCkKICAgIHsKICAgICAgICAkZCA9ICR0aGlzLT5nZXRUZXN0RGF0YSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGQtPmNoZWNrc3VtLCBUcmVlSGFzaDo6ZnJvbUNoZWNrc3VtcygkZC0+YmluSGFzaGVzLCB0cnVlKS0+Z2V0SGFzaCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRkLT5jaGVja3N1bSwgVHJlZUhhc2g6OmZyb21DaGVja3N1bXMoJGQtPmhleEhhc2hlcyktPmdldEhhc2goKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cSGFzaFxUcmVlSGFzaDo6ZnJvbUNvbnRlbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUcmVlSGFzaGluZ0NvbnRlbnRXb3Jrc0NvcnJlY3RseSgpCiAgICB7CiAgICAgICAgJGQgPSAkdGhpcy0+Z2V0VGVzdERhdGEoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRkLT5jaGVja3N1bSwgVHJlZUhhc2g6OmZyb21Db250ZW50KCRkLT5jb250ZW50KS0+Z2V0SGFzaCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXENvbW1vblxIYXNoXFRyZWVIYXNoOjp2YWxpZGF0ZUNoZWNrc3VtCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGluZ0NoZWNrc3VtV29ya3NDb3JyZWN0bHkoKQogICAgewogICAgICAgICRkID0gJHRoaXMtPmdldFRlc3REYXRhKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoVHJlZUhhc2g6OnZhbGlkYXRlQ2hlY2tzdW0oJGQtPmNvbnRlbnQsICRkLT5jaGVja3N1bSkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqIEBjb3ZlcnMgQXdzXENvbW1vblxIYXNoXFRyZWVIYXNoOjpfX2NvbnN0cnVjdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRocm93c0V4Y2VwdGlvbkZvckludmFsaWRBbGdvcml0aG0oKQogICAgewogICAgICAgICRjaHVua0hhc2ggPSBuZXcgVHJlZUhhc2goJ2Zvb2JhcicpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXEhhc2hcVHJlZUhhc2g6Ol9fY29uc3RydWN0CiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cSGFzaFxUcmVlSGFzaDo6YWRkRGF0YQogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXEhhc2hcVHJlZUhhc2g6OmFkZENoZWNrc3VtCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cSGFzaFxUcmVlSGFzaDo6Z2V0SGFzaAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc2hpbmdJc0hhcHBlbmluZ0NvcnJlY3RseSgpCiAgICB7CiAgICAgICAgJGQgPSAkdGhpcy0+Z2V0VGVzdERhdGEoKTsKICAgICAgICAkdHJlZUhhc2ggPSBuZXcgVHJlZUhhc2goJ3NoYTI1NicpOwogICAgICAgICR0cmVlSGFzaC0+YWRkRGF0YSgkZC0+Y2h1bmtzWzBdKTsKICAgICAgICAkdHJlZUhhc2gtPmFkZENoZWNrc3VtKCRkLT5oZXhIYXNoZXNbMV0pOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRkLT5jaGVja3N1bSwgJHRyZWVIYXNoLT5nZXRIYXNoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGQtPmJpbkNoZWNrc3VtLCAkdHJlZUhhc2gtPmdldEhhc2godHJ1ZSkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxMb2dpY0V4Y2VwdGlvbgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXEhhc2hcVHJlZUhhc2g6OmFkZERhdGEKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5ub3RBZGREYXRhQWZ0ZXJIYXNoQ2FsY3VsYXRpb24oKQogICAgewogICAgICAgICRjaHVua0hhc2ggPSBuZXcgVHJlZUhhc2goJ3NoYTI1NicpOwogICAgICAgICRjaHVua0hhc2gtPmFkZERhdGEoJ2ZvbycpOwogICAgICAgICRjaHVua0hhc2gtPmdldEhhc2goKTsKCiAgICAgICAgJGNodW5rSGFzaC0+YWRkRGF0YSgnYmFyJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXEhhc2hcVHJlZUhhc2g6OmFkZERhdGEKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5ub3RBZGREYXRhQ2h1bmtzTGFyZ2VyVGhhbk9uZU1lZ2FieXRlKCkKICAgIHsKICAgICAgICAkY2h1bmtIYXNoID0gbmV3IFRyZWVIYXNoKCdzaGEyNTYnKTsKICAgICAgICAkY2h1bmtIYXNoLT5hZGREYXRhKHN0cl9yZXBlYXQoJ2ZvbycsIDEuMiAqIFNpemU6Ok1CKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXExvZ2ljRXhjZXB0aW9uCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cSGFzaFxUcmVlSGFzaDo6YWRkQ2hlY2tzdW0KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5ub3RBZGRDaGVja3N1bXNBZnRlckhhc2hDYWxjdWxhdGlvbigpCiAgICB7CiAgICAgICAgJGNodW5rSGFzaCA9IG5ldyBUcmVlSGFzaCgnc2hhMjU2Jyk7CiAgICAgICAgJGNodW5rSGFzaC0+YWRkRGF0YSgnZm9vJyk7CiAgICAgICAgJGNodW5rSGFzaC0+Z2V0SGFzaCgpOwoKICAgICAgICAkY2h1bmtIYXNoLT5hZGRDaGVja3N1bSgnYmFyJyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/HostNameUtilsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uOwoKdXNlIEF3c1xDb21tb25cSG9zdE5hbWVVdGlsczsKdXNlIEd1enpsZVxIdHRwXFVybDsKCmNsYXNzIEhvc3ROYW1lVXRpbHNUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gcmVnaW9uQW5kU2VydmljZVByb3ZpZGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KCdpYW0uYW1hem9uYXdzLmNvbScsICdpYW0nLCAndXMtZWFzdC0xJyksCiAgICAgICAgICAgIGFycmF5KCdjbG91ZGZvcm1hdGlvbi51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsICdjbG91ZGZvcm1hdGlvbicsICd1cy1lYXN0LTEnKSwKICAgICAgICAgICAgYXJyYXkoJ2Nsb3VkZm9ybWF0aW9uLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tJywgJ2Nsb3VkZm9ybWF0aW9uJywgJ3VzLXdlc3QtMicpLAogICAgICAgICAgICBhcnJheSgnY2xvdWRmb3JtYXRpb24udXMtd2VzdC0xLmFtYXpvbmF3cy5jb20nLCAnY2xvdWRmb3JtYXRpb24nLCAndXMtd2VzdC0xJyksCiAgICAgICAgICAgIGFycmF5KCdjbG91ZGZvcm1hdGlvbi5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbScsICdjbG91ZGZvcm1hdGlvbicsICdldS13ZXN0LTEnKSwKICAgICAgICAgICAgYXJyYXkoJ2Nsb3VkZm9ybWF0aW9uLmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20nLCAnY2xvdWRmb3JtYXRpb24nLCAnYXAtc291dGhlYXN0LTEnKSwKICAgICAgICAgICAgYXJyYXkoJ2Nsb3VkZm9ybWF0aW9uLmFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20nLCAnY2xvdWRmb3JtYXRpb24nLCAnYXAtbm9ydGhlYXN0LTEnKSwKICAgICAgICAgICAgYXJyYXkoJ2Nsb3VkZm9ybWF0aW9uLnNhLWVhc3QtMS5hbWF6b25hd3MuY29tJywgJ2Nsb3VkZm9ybWF0aW9uJywgJ3NhLWVhc3QtMScpLAogICAgICAgICAgICBhcnJheSgnY2xvdWRzZWFyY2gudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20nLCAnY2xvdWRzZWFyY2gnLCAndXMtZWFzdC0xJyksCiAgICAgICAgICAgIGFycmF5KCdtb25pdG9yaW5nLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywgJ21vbml0b3JpbmcnLCAndXMtZWFzdC0xJyksCiAgICAgICAgICAgIGFycmF5KCdtb25pdG9yaW5nLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tJywgJ21vbml0b3JpbmcnLCAndXMtd2VzdC0yJyksCiAgICAgICAgICAgIGFycmF5KCdtb25pdG9yaW5nLnVzLXdlc3QtMS5hbWF6b25hd3MuY29tJywgJ21vbml0b3JpbmcnLCAndXMtd2VzdC0xJyksCiAgICAgICAgICAgIGFycmF5KCdtb25pdG9yaW5nLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tJywgJ21vbml0b3JpbmcnLCAnZXUtd2VzdC0xJyksCiAgICAgICAgICAgIGFycmF5KCdtb25pdG9yaW5nLmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20nLCAnbW9uaXRvcmluZycsICdhcC1zb3V0aGVhc3QtMScpLAogICAgICAgICAgICBhcnJheSgnbW9uaXRvcmluZy5hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tJywgJ21vbml0b3JpbmcnLCAnYXAtbm9ydGhlYXN0LTEnKSwKICAgICAgICAgICAgYXJyYXkoJ21vbml0b3Jpbmcuc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20nLCAnbW9uaXRvcmluZycsICdzYS1lYXN0LTEnKSwKICAgICAgICAgICAgYXJyYXkoJ2VtYWlsLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywgJ2VtYWlsJywgJ3VzLWVhc3QtMScpLAogICAgICAgICAgICBhcnJheSgnZW1haWwtc210cC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsICdlbWFpbC1zbXRwJywgJ3VzLWVhc3QtMScpLAogICAgICAgICAgICBhcnJheSgnc2RiLmFtYXpvbmF3cy5jb20nLCAnc2RiJywgJ3VzLWVhc3QtMScpLAogICAgICAgICAgICBhcnJheSgnc2RiLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tJywgJ3NkYicsICd1cy13ZXN0LTInKSwKICAgICAgICAgICAgYXJyYXkoJ3NkYi51cy13ZXN0LTEuYW1hem9uYXdzLmNvbScsICdzZGInLCAndXMtd2VzdC0xJyksCiAgICAgICAgICAgIGFycmF5KCdzZGIuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20nLCAnc2RiJywgJ2V1LXdlc3QtMScpLAogICAgICAgICAgICBhcnJheSgnc2RiLmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20nLCAnc2RiJywgJ2FwLXNvdXRoZWFzdC0xJyksCiAgICAgICAgICAgIGFycmF5KCdzZGIuYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbScsICdzZGInLCAnYXAtbm9ydGhlYXN0LTEnKSwKICAgICAgICAgICAgYXJyYXkoJ3NkYi5zYS1lYXN0LTEuYW1hem9uYXdzLmNvbScsICdzZGInLCAnc2EtZWFzdC0xJyksCiAgICAgICAgICAgIGFycmF5KCdzMy11cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsICdzMycsICd1cy13ZXN0LTInKSwKICAgICAgICAgICAgYXJyYXkoJ3MzLXVzLXdlc3QtMS5hbWF6b25hd3MuY29tJywgJ3MzJywgJ3VzLXdlc3QtMScpLAogICAgICAgICAgICBhcnJheSgnczMtZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20nLCAnczMnLCAnZXUtd2VzdC0xJyksCiAgICAgICAgICAgIGFycmF5KCdzMy1hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29tJywgJ3MzJywgJ2FwLXNvdXRoZWFzdC0xJyksCiAgICAgICAgICAgIGFycmF5KCdzMy1hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tJywgJ3MzJywgJ2FwLW5vcnRoZWFzdC0xJyksCiAgICAgICAgICAgIGFycmF5KCdzMy1zYS1lYXN0LTEuYW1hem9uYXdzLmNvbScsICdzMycsICdzYS1lYXN0LTEnKSwKICAgICAgICAgICAgYXJyYXkoJ3MzLXdlYnNpdGUtdXMtZWFzdC0xLmFtYXpvbmF3cy5jb20nLCAnczMnLCAnd2Vic2l0ZS11cy1lYXN0LTEnKSwKICAgICAgICAgICAgYXJyYXkoJ3MzLXdlYnNpdGUtdXMtd2VzdC0yLmFtYXpvbmF3cy5jb20nLCAnczMnLCAnd2Vic2l0ZS11cy13ZXN0LTInKSwKICAgICAgICAgICAgYXJyYXkoJ2VjMi51cy1nb3Ytd2VzdC0xLmFtYXpvbmF3cy5jb20nLCAnZWMyJywgJ3VzLWdvdi13ZXN0LTEnKSwKICAgICAgICAgICAgYXJyYXkoJ21vbml0b3JpbmcudXMtZ292LXdlc3QtMS5hbWF6b25hd3MuY29tJywgJ21vbml0b3JpbmcnLCAndXMtZ292LXdlc3QtMScpLAogICAgICAgICAgICBhcnJheSgnaWFtLnVzLWdvdi5hbWF6b25hd3MuY29tJywgJ2lhbScsICd1cy1nb3Ytd2VzdC0xJyksCiAgICAgICAgICAgIGFycmF5KCdhbWF6b24uY29tJywgJ2FtYXpvbicsICd1cy1lYXN0LTEnKSwKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXEhvc3ROYW1lVXRpbHM6OnBhcnNlU2VydmljZU5hbWUKICAgICAqIEBjb3ZlcnMgQXdzXENvbW1vblxIb3N0TmFtZVV0aWxzOjpwYXJzZVJlZ2lvbk5hbWUKICAgICAqIEBkYXRhUHJvdmlkZXIgcmVnaW9uQW5kU2VydmljZVByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGFyc2VzUmVnaW9uc0FuZFNlcnZpY2VzKCRob3N0LCAkc2VydmljZSwgJHJlZ2lvbikKICAgIHsKICAgICAgICAkdXJsID0gVXJsOjpmYWN0b3J5KCdodHRwczovLycgLiAkaG9zdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkc2VydmljZSwgSG9zdE5hbWVVdGlsczo6cGFyc2VTZXJ2aWNlTmFtZSgkdXJsKSwgJ1NlcnZpY2UgbmFtZSBtaXNtYXRjaCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlZ2lvbiwgSG9zdE5hbWVVdGlsczo6cGFyc2VSZWdpb25OYW1lKCR1cmwpLCAnUmVnaW9uIG1pc21hdGNoJyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/InstanceMetadata/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/InstanceMetadata/InstanceMetadataClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEluc3RhbmNlTWV0YWRhdGE7Cgp1c2UgQXdzXENvbW1vblxJbnN0YW5jZU1ldGFkYXRhXEluc3RhbmNlTWV0YWRhdGFDbGllbnQ7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFBsdWdpblxNb2NrXE1vY2tQbHVnaW47CgpjbGFzcyBJbnN0YW5jZU1ldGFkYXRhQ2xpZW50VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cSW5zdGFuY2VNZXRhZGF0YVxJbnN0YW5jZU1ldGFkYXRhQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uZmlndXJlc0NsaWVudCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IEluc3RhbmNlTWV0YWRhdGFDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICd2ZXJzaW9uJyA9PiAnZm9vJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vMTY5LjI1NC4xNjkuMjU0L2Zvby8nLCAkY2xpZW50LT5nZXRCYXNlVXJsKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXEluc3RhbmNlTWV0YWRhdGFcSW5zdGFuY2VNZXRhZGF0YUNsaWVudDo6Z2V0Q3JlZGVudGlhbHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVkZW50aWFsc0FyZU51bGwoKQogICAgewogICAgICAgICRjbGllbnQgPSBJbnN0YW5jZU1ldGFkYXRhQ2xpZW50OjpmYWN0b3J5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXRyaWV2ZXNNZXRhZGF0YUNyZWRlbnRpYWxzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gSW5zdGFuY2VNZXRhZGF0YUNsaWVudDo6ZmFjdG9yeSgpOwogICAgICAgICRtb2NrID0gJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgKICAgICAgICAgICAgJ21ldGFkYXRhL2lhbV9zZWN1cml0eV9jcmVkZW50aWFscycsCiAgICAgICAgICAgICdtZXRhZGF0YS9pYW1fc2VjdXJpdHlfY3JlZGVudGlhbHNfd2ViYXBwJwogICAgICAgICkpOwogICAgICAgICRjcmVkZW50aWFscyA9ICRjbGllbnQtPmdldEluc3RhbmNlUHJvZmlsZUNyZWRlbnRpYWxzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQUtJQUlFWEFNUExFRVhBTVBMRUEnLCAkY3JlZGVudGlhbHMtPmdldEFjY2Vzc0tleUlkKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0VYQU1QTEVyVWNkZEN5RVhBTVBMRW5HM3Z3eUdUbkZaNEVYQU1QTEUnLCAkY3JlZGVudGlhbHMtPmdldFNlY3JldEtleSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdBeEN1c0VYQU1QTEVGb29CYXJCYXouLi4nLCAkY3JlZGVudGlhbHMtPmdldFNlY3VyaXR5VG9rZW4oKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyNTM1NzUyMTQwLCAkY3JlZGVudGlhbHMtPmdldEV4cGlyYXRpb24oKSk7CiAgICAgICAgJG1vY2tlZFJlcXVlc3RzID0gJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCRtb2NrZWRSZXF1ZXN0cykpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnL3dlYmFwcCcsIChzdHJpbmcpICRtb2NrZWRSZXF1ZXN0c1sxXS0+Z2V0VXJsKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFsc0V4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBFcnJvciByZXRyaWV2aW5nIGNyZWRlbnRpYWxzIGZyb20gdGhlIGluc3RhbmNlIHByb2ZpbGUgbWV0YWRhdGEgc2VydmVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RXhjZXB0aW9uc0FyZVdyYXBwZWQoKQogICAgewogICAgICAgICRjbGllbnQgPSBJbnN0YW5jZU1ldGFkYXRhQ2xpZW50OjpmYWN0b3J5KCk7CiAgICAgICAgJG1vY2sgPSBuZXcgTW9ja1BsdWdpbihhcnJheShuZXcgUmVzcG9uc2UoNDAwKSkpOwogICAgICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKCRtb2NrKTsKICAgICAgICAkY2xpZW50LT5nZXRJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFscygpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFsc0V4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBVbmV4cGVjdGVkIHJlc3BvbnNlIGNvZGU6IEluc3RhbmNlUHJvZmlsZU5vdEZvdW5kCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc1Jlc3BvbnNlQ29kZUlzU3VjY2VzcygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IEluc3RhbmNlTWV0YWRhdGFDbGllbnQ6OmZhY3RvcnkoKTsKICAgICAgICAkbW9jayA9IG5ldyBNb2NrUGx1Z2luKGFycmF5KAogICAgICAgICAgICAkdGhpcy0+Z2V0TW9ja1Jlc3BvbnNlKCdtZXRhZGF0YS9pYW1fc2VjdXJpdHlfY3JlZGVudGlhbHMnKSwKICAgICAgICAgICAgbmV3IFJlc3BvbnNlKDIwMCwgbnVsbCwgJ3sgIkNvZGUiOiAiSW5zdGFuY2VQcm9maWxlTm90Rm91bmQiIH0nKQogICAgICAgICkpOwogICAgICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKCRtb2NrKTsKICAgICAgICAkY2xpZW50LT5nZXRJbnN0YW5jZVByb2ZpbGVDcmVkZW50aWFscygpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Integration/ClientIntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEludGVncmF0aW9uOwoKdXNlIEF3c1xDb21tb25cQ2xpZW50XEFic3RyYWN0Q2xpZW50Owp1c2UgQXdzXENvbW1vblxDbGllbnRcRGVmYXVsdENsaWVudDsKdXNlIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM7CnVzZSBBd3NcQ29tbW9uXEVudW1cQ2xpZW50T3B0aW9ucyBhcyBPcHRpb25zOwp1c2UgQXdzXENvbW1vblxFbnVtXFJlZ2lvbjsKdXNlIEF3c1xDb21tb25cU2lnbmF0dXJlXEVuZHBvaW50U2lnbmF0dXJlSW50ZXJmYWNlOwp1c2UgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQ7CnVzZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ7CnVzZSBHdXp6bGVcSHR0cFxVcmw7CgovKioKICogQGdyb3VwIGludGVncmF0aW9uCiAqLwpjbGFzcyBJbnRlZ3JhdGlvblRlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgY29uc3QgUkVHSU9OX01JU1NJTkcgICA9IDA7CiAgICBjb25zdCBSRUdJT05fRVJST1IgICAgID0gMTsKICAgIGNvbnN0IFJFR0lPTl9OT1RfU0lHVjQgPSAyOwoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2VuZXJpY0NsaWVudENhbkFjY2Vzc0R5bmFtb0RiKCkKICAgIHsKICAgICAgICAvKiogQHZhciAkZHluYW1vZGIgRHluYW1vRGJDbGllbnQgKi8KICAgICAgICAkZHluYW1vZGIgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkeW5hbW9kYicsIHRydWUpOwogICAgICAgICRjcmVkZW50aWFscyA9ICRkeW5hbW9kYi0+Z2V0Q3JlZGVudGlhbHMoKTsKICAgICAgICAkZHluYW1vZGIgPSBuZXcgXFJlZmxlY3Rpb25DbGFzcygnQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50Jyk7CiAgICAgICAgJGRlc2NyaXB0aW9uID0gcmVxdWlyZSBkaXJuYW1lKCRkeW5hbW9kYi0+Z2V0RmlsZU5hbWUoKSkgLiAnL1Jlc291cmNlcy9keW5hbW9kYi0yMDExLTEyLTA1LnBocCc7CgogICAgICAgIC8qKiBAdmFyICRjbGllbnQgRGVmYXVsdENsaWVudCAqLwogICAgICAgICRjbGllbnQgPSBEZWZhdWx0Q2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnY3JlZGVudGlhbHMnICAgICAgICAgPT4gJGNyZWRlbnRpYWxzLAogICAgICAgICAgICAnc2lnbmF0dXJlJyAgICAgICAgICAgPT4gbmV3IFNpZ25hdHVyZVY0KCksCiAgICAgICAgICAgICdzZXJ2aWNlLmRlc2NyaXB0aW9uJyA9PiAkZGVzY3JpcHRpb24sCiAgICAgICAgICAgICdzZXJ2aWNlJyAgICAgICAgICAgICA9PiAnZHluYW1vZGInLAogICAgICAgICAgICAncmVnaW9uJyAgICAgICAgICAgICAgPT4gJ3VzLWVhc3QtMScsCiAgICAgICAgKSk7CgogICAgICAgICRjb21tYW5kID0gJGNsaWVudC0+Z2V0Q29tbWFuZCgnTGlzdFRhYmxlcycpOwogICAgICAgICRjb21tYW5kLT5leGVjdXRlKCk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAwLCAkY29tbWFuZC0+Z2V0UmVzcG9uc2UoKS0+Z2V0U3RhdHVzQ29kZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNoYW5nZVJlZ2lvbnMoKQogICAgewogICAgICAgIC8qKiBAdmFyICRzMyBcQXdzXFMzXFMzQ2xpZW50ICovCiAgICAgICAgJHMzID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkc2NoZW1lID0gJHMzLT5nZXRDb25maWcoT3B0aW9uczo6U0NIRU1FKTsKCiAgICAgICAgLy8gU3dpdGNoIHRvIDMgZGlmZmVyZW50IHJlZ2lvbnMgYW5kIHZhbGlkYXRlIHRoYXQgZWFjaCBzd2l0Y2ggd29ya2VkCiAgICAgICAgZm9yZWFjaCAoYXJyYXkoUmVnaW9uOjpVU19FQVNUXzEsIFJlZ2lvbjo6RVVfV0VTVF8xLCBSZWdpb246OkFQX05PUlRIRUFTVF8xKSBhcyAkcmVnaW9uKSB7CiAgICAgICAgICAgICRzMy0+c2V0UmVnaW9uKCRyZWdpb24pOwogICAgICAgICAgICAkZW5kcG9pbnQgPSBVcmw6OmZhY3RvcnkoQWJzdHJhY3RDbGllbnQ6OmdldEVuZHBvaW50KCRzMy0+Z2V0RGVzY3JpcHRpb24oKSwgJHJlZ2lvbiwgJ2h0dHBzJykpOwogICAgICAgICAgICAkY29tbWFuZCA9ICRzMy0+Z2V0Q29tbWFuZCgnTGlzdEJ1Y2tldHMnKTsKICAgICAgICAgICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKChzdHJpbmcpICRlbmRwb2ludCwgJHJlcXVlc3QtPmdldFNjaGVtZSgpIC4gJzovLycgLiAkcmVxdWVzdC0+Z2V0SG9zdCgpKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygoc3RyaW5nKSAkZW5kcG9pbnQsICRzMy0+Z2V0Q29uZmlnKE9wdGlvbnM6OkJBU0VfVVJMKSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlZ2lvbiwgJHMzLT5nZXRDb25maWcoT3B0aW9uczo6UkVHSU9OKSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAwLCAkY29tbWFuZC0+Z2V0UmVzcG9uc2UoKS0+Z2V0U3RhdHVzQ29kZSgpKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5JbnN0YW50aWF0ZVJlZ2lvbmxlc3NDbGllbnRzV2l0aG91dFBhcmFtZXRlcnMoKQogICAgewogICAgICAgICRjb25maWcgPSBhcnJheSgna2V5JyA9PiAnZm9vJywgJ3NlY3JldCcgPT4gJ2JhcicpOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAvLyBJbnN0YW50aWF0ZSBhbGwgb2YgdGhlIGNsaWVudHMgdGhhdCBkbyBub3QgcmVxdWlyZSBhIHJlZ2lvbgogICAgICAgICAgICBcQXdzXFMzXFMzQ2xpZW50OjpmYWN0b3J5KCRjb25maWcpOwogICAgICAgICAgICBcQXdzXENsb3VkRnJvbnRcQ2xvdWRGcm9udENsaWVudDo6ZmFjdG9yeSgkY29uZmlnKTsKICAgICAgICAgICAgXEF3c1xSb3V0ZTUzXFJvdXRlNTNDbGllbnQ6OmZhY3RvcnkoJGNvbmZpZyk7CiAgICAgICAgICAgIFxBd3NcU3RzXFN0c0NsaWVudDo6ZmFjdG9yeSgkY29uZmlnKTsKICAgICAgICB9IGNhdGNoIChcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICR0aGlzLT5mYWlsKCdBbGwgb2YgdGhlIGFib3ZlIGNsaWVudHMgc2hvdWxkIGhhdmUgYmVlbiBpbnN0YW50aWF0ZWQgd2l0aG91dCBlcnJvcnM6ICcgLiAkZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGRhdGFGb3JDbGllbnRSZWdpb25TaXR1YXRpb25zVGVzdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsaWVudFJlZ2lvblNpdHVhdGlvbnMoJHNlcnZpY2UsICRyZWdpb24sICRleHBlY3RlZEdldFJlZ2lvbiwgJGV4cGVjdGVkR2V0U2lnbmF0dXJlUmVnaW9uKQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRjb25maWcgPSBhcnJheSgna2V5JyA9PiAndGVzdC1rZXknLCAnc2VjcmV0JyA9PiAndGVzdC1zZWNyZXQnKTsKICAgICAgICAgICAgaWYgKCRyZWdpb24pIHsKICAgICAgICAgICAgICAgICRjb25maWdbJ3JlZ2lvbiddID0gJHJlZ2lvbjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGNsaWVudEZxY24gPSAiQXdzXFx7JHNlcnZpY2V9XFx7JHNlcnZpY2V9Q2xpZW50IjsKICAgICAgICAgICAgJGNsaWVudCA9ICRjbGllbnRGcWNuOjpmYWN0b3J5KCRjb25maWcpOwoKICAgICAgICAgICAgLy8gR2V0IHJlc3VsdHMKICAgICAgICAgICAgJGFjdHVhbEdldFJlZ2lvbiA9ICRjbGllbnQtPmdldFJlZ2lvbigpOwogICAgICAgICAgICBpZiAoJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCkgaW5zdGFuY2VvZiBFbmRwb2ludFNpZ25hdHVyZUludGVyZmFjZSkgewogICAgICAgICAgICAgICAgJGFjdHVhbEdldFNpZ25hdHVyZVJlZ2lvbiA9ICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjbGllbnQtPmdldFNpZ25hdHVyZSgpLCAncmVnaW9uTmFtZScpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGFjdHVhbEdldFNpZ25hdHVyZVJlZ2lvbiA9IHNlbGY6OlJFR0lPTl9OT1RfU0lHVjQ7CiAgICAgICAgICAgIH0KICAgICAgICB9IGNhdGNoIChcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIC8vIEdldCByZXN1bHRzCiAgICAgICAgICAgICRhY3R1YWxHZXRSZWdpb24gPSBzZWxmOjpSRUdJT05fRVJST1I7CiAgICAgICAgICAgICRhY3R1YWxHZXRTaWduYXR1cmVSZWdpb24gPSBzZWxmOjpSRUdJT05fRVJST1I7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRleHBlY3RlZEdldFJlZ2lvbiwgJGFjdHVhbEdldFJlZ2lvbik7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZXhwZWN0ZWRHZXRTaWduYXR1cmVSZWdpb24sICRhY3R1YWxHZXRTaWduYXR1cmVSZWdpb24pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkYXRhRm9yQ2xpZW50UmVnaW9uU2l0dWF0aW9uc1Rlc3QoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgLy8gU2VydmljZXMgd2l0aCBtdWx0aXBsZSByZWdpb25hbCBlbmRwb2ludHMgKGUuZy4sIER5bmFtb0RCLCBFQzIsIENsb3VkRm9ybWF0aW9uKQogICAgICAgICAgICBhcnJheSgnRHluYW1vREInLCBzZWxmOjpSRUdJT05fTUlTU0lORywgc2VsZjo6UkVHSU9OX0VSUk9SLCBzZWxmOjpSRUdJT05fRVJST1IpLAogICAgICAgICAgICBhcnJheSgnRHluYW1vREInLCBSZWdpb246OlVTX0VBU1RfMSwgICAgUmVnaW9uOjpVU19FQVNUXzEsICBSZWdpb246OlVTX0VBU1RfMSksCiAgICAgICAgICAgIGFycmF5KCdEeW5hbW9EQicsIFJlZ2lvbjo6VVNfV0VTVF8yLCAgICBSZWdpb246OlVTX1dFU1RfMiwgIFJlZ2lvbjo6VVNfV0VTVF8yKSwKICAgICAgICAgICAgYXJyYXkoJ0VjMicsICAgICAgc2VsZjo6UkVHSU9OX01JU1NJTkcsIHNlbGY6OlJFR0lPTl9FUlJPUiwgc2VsZjo6UkVHSU9OX0VSUk9SKSwKICAgICAgICAgICAgYXJyYXkoJ0VjMicsICAgICAgUmVnaW9uOjpVU19FQVNUXzEsICAgIFJlZ2lvbjo6VVNfRUFTVF8xLCAgc2VsZjo6UkVHSU9OX05PVF9TSUdWNCksCiAgICAgICAgICAgIGFycmF5KCdFYzInLCAgICAgIFJlZ2lvbjo6VVNfV0VTVF8yLCAgICBSZWdpb246OlVTX1dFU1RfMiwgIHNlbGY6OlJFR0lPTl9OT1RfU0lHVjQpLAoKICAgICAgICAgICAgLy8gU2VydmljZXMgd2l0aCBhIHNpbmdsZS9mZXcgcmVnaW9uYWwgZW5kcG9pbnQgKGUuZy4sIERhdGEgUGlwZWxpbmUsIFNFUywgUmVkc2hpZnQpCiAgICAgICAgICAgIGFycmF5KCdEYXRhUGlwZWxpbmUnLCBzZWxmOjpSRUdJT05fTUlTU0lORywgc2VsZjo6UkVHSU9OX0VSUk9SLCBzZWxmOjpSRUdJT05fRVJST1IpLAogICAgICAgICAgICBhcnJheSgnRGF0YVBpcGVsaW5lJywgUmVnaW9uOjpVU19FQVNUXzEsICAgIFJlZ2lvbjo6VVNfRUFTVF8xLCAgUmVnaW9uOjpVU19FQVNUXzEpLAogICAgICAgICAgICBhcnJheSgnRGF0YVBpcGVsaW5lJywgUmVnaW9uOjpVU19XRVNUXzIsICAgIHNlbGY6OlJFR0lPTl9FUlJPUiwgc2VsZjo6UkVHSU9OX0VSUk9SKSwKICAgICAgICAgICAgYXJyYXkoJ1JlZHNoaWZ0JywgICAgIHNlbGY6OlJFR0lPTl9NSVNTSU5HLCBzZWxmOjpSRUdJT05fRVJST1IsIHNlbGY6OlJFR0lPTl9FUlJPUiksCiAgICAgICAgICAgIGFycmF5KCdSZWRzaGlmdCcsICAgICBSZWdpb246OlVTX0VBU1RfMSwgICAgUmVnaW9uOjpVU19FQVNUXzEsICBSZWdpb246OlVTX0VBU1RfMSksCiAgICAgICAgICAgIGFycmF5KCdSZWRzaGlmdCcsICAgICBSZWdpb246OlVTX1dFU1RfMiwgICAgc2VsZjo6UkVHSU9OX0VSUk9SLCBzZWxmOjpSRUdJT05fRVJST1IpLAoKICAgICAgICAgICAgLy8gU2VydmljZXMgd2l0aCBhIGdsb2JhbCBlbmRwb2ludCAoZS5nLiwgU3RzLCBJYW0sIFJvdXRlNTMpCiAgICAgICAgICAgIGFycmF5KCdTdHMnLCAgICAgc2VsZjo6UkVHSU9OX01JU1NJTkcsIFJlZ2lvbjo6VVNfRUFTVF8xLCBSZWdpb246OlVTX0VBU1RfMSksCiAgICAgICAgICAgIGFycmF5KCdTdHMnLCAgICAgUmVnaW9uOjpVU19FQVNUXzEsICAgIFJlZ2lvbjo6VVNfRUFTVF8xLCBSZWdpb246OlVTX0VBU1RfMSksCiAgICAgICAgICAgIGFycmF5KCdTdHMnLCAgICAgUmVnaW9uOjpVU19XRVNUXzIsICAgIFJlZ2lvbjo6VVNfRUFTVF8xLCBSZWdpb246OlVTX0VBU1RfMSksCiAgICAgICAgICAgIGFycmF5KCdSb3V0ZTUzJywgc2VsZjo6UkVHSU9OX01JU1NJTkcsIFJlZ2lvbjo6VVNfRUFTVF8xLCBzZWxmOjpSRUdJT05fTk9UX1NJR1Y0KSwKICAgICAgICAgICAgYXJyYXkoJ1JvdXRlNTMnLCBSZWdpb246OlVTX0VBU1RfMSwgICAgUmVnaW9uOjpVU19FQVNUXzEsIHNlbGY6OlJFR0lPTl9OT1RfU0lHVjQpLAogICAgICAgICAgICBhcnJheSgnUm91dGU1MycsIFJlZ2lvbjo6VVNfV0VTVF8yLCAgICBSZWdpb246OlVTX0VBU1RfMSwgc2VsZjo6UkVHSU9OX05PVF9TSUdWNCksCgogICAgICAgICAgICAvLyBTZXJ2aWNlcyB3aXRoIGEgZ2xvYmFsIGVuZHBvaW50IEFORCBtdWx0aXBsZSByZWdpb25hbCBlbmRwb2ludHMgKGUuZy4sIFMzIG9ubHkpCiAgICAgICAgICAgIGFycmF5KCdTMycsIHNlbGY6OlJFR0lPTl9NSVNTSU5HLCBSZWdpb246OlVTX0VBU1RfMSwgc2VsZjo6UkVHSU9OX05PVF9TSUdWNCksCiAgICAgICAgICAgIGFycmF5KCdTMycsIFJlZ2lvbjo6VVNfRUFTVF8xLCAgICBSZWdpb246OlVTX0VBU1RfMSwgc2VsZjo6UkVHSU9OX05PVF9TSUdWNCksCiAgICAgICAgICAgIGFycmF5KCdTMycsIFJlZ2lvbjo6VVNfV0VTVF8yLCAgICBSZWdpb246OlVTX1dFU1RfMiwgc2VsZjo6UkVHSU9OX05PVF9TSUdWNCksCiAgICAgICAgKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Integration/SignatureV2IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEludGVncmF0aW9uOwoKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKdXNlIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM7CnVzZSBBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWMjsKCi8qKgogKiBAZ3JvdXAgaW50ZWdyYXRpb24KICovCmNsYXNzIFNpZ25hdHVyZVYySW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRDbGFzc2VzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICRzaWduYXR1cmUgPSBuZXcgU2lnbmF0dXJlVjIoKTsKICAgICAgICAkZGF0YSA9IGpzb25fZGVjb2RlKCR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5zZXJpYWxpemUoKSwgdHJ1ZSk7CiAgICAgICAgJGRlZmF1bHQgPSAkZGF0YVsnZGVmYXVsdF9zZXR0aW5ncyddWydwYXJhbXMnXTsKICAgICAgICAkY3JlZGVudGlhbHMgPSBuZXcgQ3JlZGVudGlhbHMoJGRlZmF1bHRbJ2tleSddLCAkZGVmYXVsdFsnc2VjcmV0J10pOwoKICAgICAgICByZXR1cm4gYXJyYXkoJGNsaWVudCwgJHNpZ25hdHVyZSwgJGNyZWRlbnRpYWxzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNpZ25zR2V0MlJlcXVlc3RzKCkKICAgIHsKICAgICAgICBsaXN0KCRjbGllbnQsICRzaWduYXR1cmUsICRjcmVkZW50aWFscykgPSAkdGhpcy0+Z2V0Q2xhc3NlcygpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCdodHRwczovL3NkYi5hbWF6b25hd3MuY29tLz9BY3Rpb249TGlzdERvbWFpbnMmVmVyc2lvbj0yMDA5LTA0LTE1Jyk7CiAgICAgICAgJHNpZ25hdHVyZS0+c2lnblJlcXVlc3QoJHJlcXVlc3QsICRjcmVkZW50aWFscyk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90TnVsbCgkcmVxdWVzdC0+Z2V0UXVlcnkoKS0+Z2V0KCdTaWduYXR1cmUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdE51bGwoJHJlcXVlc3QtPmdldFF1ZXJ5KCktPmdldCgnVGltZXN0YW1wJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdTaW1wbGVYTUxFbGVtZW50JywgJHJlcXVlc3QtPmdldFJlc3BvbnNlKCktPnhtbCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNpZ25zUG9zdFJlcXVlc3RzKCkKICAgIHsKICAgICAgICBsaXN0KCRjbGllbnQsICRzaWduYXR1cmUsICRjcmVkZW50aWFscykgPSAkdGhpcy0+Z2V0Q2xhc3NlcygpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+cG9zdCgnaHR0cHM6Ly9zZGIuYW1hem9uYXdzLmNvbScpOwogICAgICAgICRyZXF1ZXN0LT5hZGRQb3N0RmllbGRzKGFycmF5KAogICAgICAgICAgICAnQWN0aW9uJyAgPT4gJ0xpc3REb21haW5zJywKICAgICAgICAgICAgJ1ZlcnNpb24nID0+ICcyMDA5LTA0LTE1JwogICAgICAgICkpOwogICAgICAgICRzaWduYXR1cmUtPnNpZ25SZXF1ZXN0KCRyZXF1ZXN0LCAkY3JlZGVudGlhbHMpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdE51bGwoJHJlcXVlc3QtPmdldFBvc3RGaWVsZCgnU2lnbmF0dXJlJykpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3ROdWxsKCRyZXF1ZXN0LT5nZXRQb3N0RmllbGQoJ1RpbWVzdGFtcCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignU2ltcGxlWE1MRWxlbWVudCcsICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpLT54bWwoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Iterator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Iterator/AwsResourceIteratorFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEl0ZXJhdG9yOwoKdXNlIEF3c1xDb21tb25cSXRlcmF0b3JcQXdzUmVzb3VyY2VJdGVyYXRvcjsKdXNlIEF3c1xDb21tb25cSXRlcmF0b3JcQXdzUmVzb3VyY2VJdGVyYXRvckZhY3Rvcnk7CgovKioKICogQGNvdmVycyBBd3NcQ29tbW9uXEl0ZXJhdG9yXEF3c1Jlc291cmNlSXRlcmF0b3JGYWN0b3J5CiAqLwpjbGFzcyBBd3NSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIGNvbnN0IEVYQ0VQVElPTiA9ICdbRVhDRVBUSU9OXSc7CgogICAgcHVibGljIGZ1bmN0aW9uIGdldERhdGFGb3JPcGVyYXRpb25zVGVzdCgpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KCdvcGVyYXRpb25zJyA9PiBhcnJheSgnZm9vJykpLAogICAgICAgICAgICAgICAgYXJyYXkoJ2ZvbycgPT4gYXJyYXkoKSkKICAgICAgICAgICAgKSwKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgnb3BlcmF0aW9ucycgPT4gYXJyYXkoJ2ZvbycgPT4gYXJyYXkoJ2JhcicpKSksCiAgICAgICAgICAgICAgICBhcnJheSgnZm9vJyA9PiBhcnJheSgnYmFyJykpCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoJ29wZXJhdGlvbnMnID0+IGFycmF5KDEpKSwKICAgICAgICAgICAgICAgICdbRVhDRVBUSU9OXScKICAgICAgICAgICAgKSwKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgnb3BlcmF0aW9ucycgPT4gYXJyYXkoJ2ZvbycgPT4gJ2JhcicpKSwKICAgICAgICAgICAgICAgICdbRVhDRVBUSU9OXScKICAgICAgICAgICAgKSwKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciBnZXREYXRhRm9yT3BlcmF0aW9uc1Rlc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RPcGVyYXRpb25zQXJlRGlzY292ZXJlZEluQ29uc3RydWN0b3IoYXJyYXkgJGNvbmZpZywgJGV4cGVjdGVkUmVzdWx0KQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRmYWN0b3J5ID0gbmV3IEF3c1Jlc291cmNlSXRlcmF0b3JGYWN0b3J5KCRjb25maWcpOwogICAgICAgICAgICAkYWN0dWFsUmVzdWx0ID0gJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGZhY3RvcnksICdvcGVyYXRpb25zJyktPmdldEFsbCgpOwogICAgICAgIH0gY2F0Y2ggKFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgJGFjdHVhbFJlc3VsdCA9IHNlbGY6OkVYQ0VQVElPTjsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGV4cGVjdGVkUmVzdWx0LCAkYWN0dWFsUmVzdWx0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGF0YUZvckJ1aWxkVGVzdCgpCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZScpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkY29tbWFuZC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXROYW1lJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgnRm9vQmFyJykpOwoKICAgICAgICAkaXRlcmF0b3IgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cSXRlcmF0b3JcQXdzUmVzb3VyY2VJdGVyYXRvcicpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJHByaW1hcnlGYWN0b3J5ID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeUludGVyZmFjZScpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkcHJpbWFyeUZhY3RvcnktPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnYnVpbGQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRpdGVyYXRvcikpOwogICAgICAgICRwcmltYXJ5RmFjdG9yeS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdjYW5CdWlsZCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUodHJ1ZSkpOwoKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KCRjb21tYW5kLCBhcnJheSgnRm9vQmFyJyksIG51bGwsIHRydWUpLAogICAgICAgICAgICBhcnJheSgkY29tbWFuZCwgYXJyYXkoKSwgbnVsbCwgZmFsc2UpLAogICAgICAgICAgICBhcnJheSgkY29tbWFuZCwgYXJyYXkoKSwgJHByaW1hcnlGYWN0b3J5LCB0cnVlKSwKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciBnZXREYXRhRm9yQnVpbGRUZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QnVpbGRDcmVhdGVzSXRlcmF0b3IoJGNvbW1hbmQsIGFycmF5ICRvcGVyYXRpb25zLCAkb3RoZXJGYWN0b3J5LCAkc3VjY2Vzc0V4cGVjdGVkKQogICAgewogICAgICAgICRzdWNjZXNzID0gZmFsc2U7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRmYWN0b3J5ID0gbmV3IEF3c1Jlc291cmNlSXRlcmF0b3JGYWN0b3J5KGFycmF5KCdvcGVyYXRpb25zJyA9PiAkb3BlcmF0aW9ucyksICRvdGhlckZhY3RvcnkpOwogICAgICAgICAgICAkaXRlcmF0b3IgPSAkZmFjdG9yeS0+YnVpbGQoJGNvbW1hbmQpOwogICAgICAgICAgICAkc3VjY2VzcyA9ICRpdGVyYXRvciBpbnN0YW5jZW9mIEF3c1Jlc291cmNlSXRlcmF0b3I7CiAgICAgICAgfSBjYXRjaCAoXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICBpZiAoISRzdWNjZXNzRXhwZWN0ZWQpIHsKICAgICAgICAgICAgICAgICRzdWNjZXNzID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHN1Y2Nlc3MpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Iterator/AwsResourceIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEl0ZXJhdG9yOwoKdXNlIEF3c1xDb21tb25cSXRlcmF0b3JcQXdzUmVzb3VyY2VJdGVyYXRvcjsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQWJzdHJhY3RDb21tYW5kOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CgovKioKICogQGNvdmVycyBBd3NcQ29tbW9uXEl0ZXJhdG9yXEF3c1Jlc291cmNlSXRlcmF0b3IKICovCmNsYXNzIEF3c1Jlc291cmNlSXRlcmF0b3JUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBjb25zdCBFWENFUFRJT04gPSAnW0VYQ0VQVElPTl0nOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREYXRhRm9yUGFnZVNpemVUZXN0KCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KG51bGwsIG51bGwsIG51bGwsIG51bGwpLAogICAgICAgICAgICBhcnJheShudWxsLCBudWxsLCA4LCBudWxsKSwKICAgICAgICAgICAgYXJyYXkobnVsbCwgOCwgbnVsbCwgOCksCiAgICAgICAgICAgIGFycmF5KCdsaW1pdCcsIG51bGwsIG51bGwsIG51bGwpLAogICAgICAgICAgICBhcnJheSgnbGltaXQnLCA4LCBudWxsLCA4KSwKICAgICAgICAgICAgYXJyYXkoJ2xpbWl0JywgbnVsbCwgNCwgbnVsbCksCiAgICAgICAgICAgIGFycmF5KCdsaW1pdCcsIDgsIDQsIDQpLAogICAgICAgICAgICBhcnJheSgnbGltaXQnLCA0LCA4LCA0KSwKICAgICAgICAgICAgYXJyYXkoJ2xpbWl0JywgOCwgOCwgOCksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICogQGRhdGFQcm92aWRlciBnZXREYXRhRm9yUGFnZVNpemVUZXN0CiAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQcmVwYXJlUmVxdWVzdFNldHNQYWdlU2l6ZUNvcnJlY3RseSgkbGltaXRQYXJhbSwgJGxpbWl0LCAkcGFnZVNpemUsICRyZXN1bHRpbmdMaW1pdCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrZWRDb21tYW5kKCk7CiAgICAgICAgaWYgKCRsaW1pdCkgewogICAgICAgICAgICAkY29tbWFuZC0+c2V0KCRsaW1pdFBhcmFtLCAkbGltaXQpOwogICAgICAgIH0KCiAgICAgICAgJGl0ZXJhdG9yID0gbmV3IEF3c1Jlc291cmNlSXRlcmF0b3IoJGNvbW1hbmQsIGFycmF5KCdsaW1pdF9wYXJhbScgPT4gJGxpbWl0UGFyYW0pKTsKICAgICAgICBpZiAoJHBhZ2VTaXplKSB7CiAgICAgICAgICAgICRpdGVyYXRvci0+c2V0UGFnZVNpemUoJHBhZ2VTaXplKTsKICAgICAgICB9CgogICAgICAgICRwcm9wZXJ0eSA9IG5ldyBcUmVmbGVjdGlvblByb3BlcnR5KCRpdGVyYXRvciwgJ2NvbW1hbmQnKTsKICAgICAgICAkcHJvcGVydHktPnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgJHByb3BlcnR5LT5zZXRWYWx1ZSgkaXRlcmF0b3IsICRjb21tYW5kKTsKCiAgICAgICAgJHByZXBhcmVSZXF1ZXN0ID0gbmV3IFxSZWZsZWN0aW9uTWV0aG9kKCRpdGVyYXRvciwgJ3ByZXBhcmVSZXF1ZXN0Jyk7CiAgICAgICAgJHByZXBhcmVSZXF1ZXN0LT5zZXRBY2Nlc3NpYmxlKHRydWUpOwogICAgICAgICRwcmVwYXJlUmVxdWVzdC0+aW52b2tlKCRpdGVyYXRvcik7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlc3VsdGluZ0xpbWl0LCAkY29tbWFuZC0+Z2V0KCRsaW1pdFBhcmFtKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldERhdGFGb3JBcHBseU5leHRUb2tlblRlc3QoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkobnVsbCwgbnVsbCwgbnVsbCwgZmFsc2UpLAogICAgICAgICAgICBhcnJheShudWxsLCAnW01BUktFUl0nLCBudWxsLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KCdNYXJrZXInLCAnW01BUktFUl0nLCAnW01BUktFUl0nLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KCdNYXJrZXInLCBhcnJheSgndmFsdWUxJywgJ3ZhbHVlMicpLCBhcnJheSgndmFsdWUxJywgJ3ZhbHVlMicpLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KGFycmF5KCdtYXJrZXIxJywgJ21hcmtlcjInKSwgYXJyYXkoJ3ZhbHVlMScsICd2YWx1ZTInKSwgYXJyYXkoJ3ZhbHVlMScsICd2YWx1ZTInKSwgZmFsc2UpLAogICAgICAgICAgICBhcnJheShhcnJheSgnbWFya2VyMScsICdtYXJrZXIyJywgJ21hcmtlcjMnKSwgYXJyYXkoJ3ZhbHVlMScsICd2YWx1ZTInKSwgc2VsZjo6RVhDRVBUSU9OLCB0cnVlKSwKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciBnZXREYXRhRm9yQXBwbHlOZXh0VG9rZW5UZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QXBwbHlOZXh0VG9rZW5TZXRzVG9rZW5Db3JyZWN0bHkoJHRva2VuUGFyYW0sICRuZXh0VG9rZW4sICRyZXN1bHRpbmdUb2tlbiwgJGV4cGVjdEV4Y2VwdGlvbikKICAgIHsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrZWRDb21tYW5kKCk7CiAgICAgICAgJGl0ZXJhdG9yID0gbmV3IEF3c1Jlc291cmNlSXRlcmF0b3IoJGNvbW1hbmQsIGFycmF5KCd0b2tlbl9wYXJhbScgPT4gJHRva2VuUGFyYW0pKTsKCiAgICAgICAgJHByb3BlcnR5ID0gbmV3IFxSZWZsZWN0aW9uUHJvcGVydHkoJGl0ZXJhdG9yLCAnY29tbWFuZCcpOwogICAgICAgICRwcm9wZXJ0eS0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkcHJvcGVydHktPnNldFZhbHVlKCRpdGVyYXRvciwgJGNvbW1hbmQpOwoKICAgICAgICAkcHJvcGVydHkgPSBuZXcgXFJlZmxlY3Rpb25Qcm9wZXJ0eSgkaXRlcmF0b3IsICduZXh0VG9rZW4nKTsKICAgICAgICAkcHJvcGVydHktPnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgJHByb3BlcnR5LT5zZXRWYWx1ZSgkaXRlcmF0b3IsICRuZXh0VG9rZW4pOwoKICAgICAgICAkYXBwbHlOZXh0VG9rZW4gPSBuZXcgXFJlZmxlY3Rpb25NZXRob2QoJGl0ZXJhdG9yLCAnYXBwbHlOZXh0VG9rZW4nKTsKICAgICAgICAkYXBwbHlOZXh0VG9rZW4tPnNldEFjY2Vzc2libGUodHJ1ZSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRhcHBseU5leHRUb2tlbi0+aW52b2tlKCRpdGVyYXRvcik7CgogICAgICAgICAgICAvLyBHZXQgcmVzdWx0cwogICAgICAgICAgICBpZiAoaXNfYXJyYXkoJHRva2VuUGFyYW0pKSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCR0b2tlblBhcmFtIGFzICR0b2tlbikgewogICAgICAgICAgICAgICAgICAgICRyZXN1bHRbXSA9ICRjb21tYW5kLT5nZXQoJHRva2VuKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkY29tbWFuZC0+Z2V0KCR0b2tlblBhcmFtKTsKICAgICAgICAgICAgfQogICAgICAgIH0gY2F0Y2ggKFxSdW50aW1lRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIGlmICgkZXhwZWN0RXhjZXB0aW9uKSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gc2VsZjo6RVhDRVBUSU9OOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGhyb3cgJGU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlc3VsdGluZ1Rva2VuLCAkcmVzdWx0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGF0YUZvckhhbmRsZVJlc3VsdHNUZXN0KCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KG51bGwsICcqJywgMCksCiAgICAgICAgICAgIGFycmF5KCdGb28nLCBhcnJheSgxLCAyLCAzKSwgMyksCiAgICAgICAgICAgIGFycmF5KCdGb28nLCBudWxsLCAwKSwKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciBnZXREYXRhRm9ySGFuZGxlUmVzdWx0c1Rlc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXN1bHRzQXJlSGFuZGxlZENvcnJlY3RseSgkcmVzdWx0S2V5LCAkcmVzdWx0VmFsdWUsICRleHBlY3RlZENvdW50KQogICAgewogICAgICAgICRtb2RlbCA9IG5ldyBNb2RlbChhcnJheSgkcmVzdWx0S2V5ID0+ICRyZXN1bHRWYWx1ZSkpOwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2tlZENvbW1hbmQoKTsKICAgICAgICAkaXRlcmF0b3IgPSBuZXcgQXdzUmVzb3VyY2VJdGVyYXRvcigkY29tbWFuZCwgYXJyYXkoJ3Jlc3VsdF9rZXknID0+ICRyZXN1bHRLZXkpKTsKCiAgICAgICAgJGhhbmRsZVJlc3VsdHMgPSBuZXcgXFJlZmxlY3Rpb25NZXRob2QoJGl0ZXJhdG9yLCAnaGFuZGxlUmVzdWx0cycpOwogICAgICAgICRoYW5kbGVSZXN1bHRzLT5zZXRBY2Nlc3NpYmxlKHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgkZXhwZWN0ZWRDb3VudCwgJGhhbmRsZVJlc3VsdHMtPmludm9rZSgkaXRlcmF0b3IsICRtb2RlbCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREYXRhRm9yRGV0ZXJtaW5lTmV4dFRva2VuVGVzdCgpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBhcnJheShudWxsLCBudWxsLCBudWxsLCBhcnJheSgpKSwKICAgICAgICAgICAgYXJyYXkobnVsbCwgJ05leHRUb2tlbicsICdbVE9LRU5dJywgYXJyYXkoCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuJyA9PiAnW1RPS0VOXScKICAgICAgICAgICAgKSksCiAgICAgICAgICAgIGFycmF5KCdIYXNNb3JlJywgJ05leHRUb2tlbicsIG51bGwsIGFycmF5KAogICAgICAgICAgICAgICAgJ0hhc01vcmUnICA9PiBudWxsLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbicgPT4gJ1tUT0tFTl0nCiAgICAgICAgICAgICkpLAogICAgICAgICAgICBhcnJheSgnSGFzTW9yZScsICdOZXh0VG9rZW4nLCAnW1RPS0VOXScsIGFycmF5KAogICAgICAgICAgICAgICAgJ0hhc01vcmUnICA9PiAnW01PUkVdJywKICAgICAgICAgICAgICAgICdOZXh0VG9rZW4nID0+ICdbVE9LRU5dJwogICAgICAgICAgICApKSwKICAgICAgICAgICAgYXJyYXkoJ0hhc01vcmUnLCBudWxsLCBudWxsLCBhcnJheSgKICAgICAgICAgICAgICAgICdIYXNNb3JlJyA9PiAnW01PUkVdJwogICAgICAgICAgICApKSwKICAgICAgICAgICAgYXJyYXkoJ0hhc01vcmUnLCBhcnJheSgnTmV4dFRva2VuMScsICdOZXh0VG9rZW4yJyksIGFycmF5KCdbVE9LRU4xXScsICdbVE9LRU4yXScpLCBhcnJheSgKICAgICAgICAgICAgICAgICdIYXNNb3JlJyAgID0+ICdbTU9SRV0nLAogICAgICAgICAgICAgICAgJ05leHRUb2tlbjEnID0+ICdbVE9LRU4xXScsCiAgICAgICAgICAgICAgICAnTmV4dFRva2VuMicgPT4gJ1tUT0tFTjJdJwogICAgICAgICAgICApKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGdldERhdGFGb3JEZXRlcm1pbmVOZXh0VG9rZW5UZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuRGV0ZXJtaW5lTmV4dFRva2VuQ29ycmVjdGx5KAogICAgICAgICRtb3JlS2V5LAogICAgICAgICR0b2tlbktleSwKICAgICAgICAkbmV4dFRva2VuLAogICAgICAgIGFycmF5ICRkYXRhCiAgICApIHsKICAgICAgICAkbW9kZWwgPSBuZXcgTW9kZWwoJGRhdGEpOwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2tlZENvbW1hbmQoKTsKICAgICAgICAkaXRlcmF0b3IgPSBuZXcgQXdzUmVzb3VyY2VJdGVyYXRvcigkY29tbWFuZCwgYXJyYXkoCiAgICAgICAgICAgICdtb3JlX2tleScgID0+ICRtb3JlS2V5LAogICAgICAgICAgICAndG9rZW5fa2V5JyA9PiAkdG9rZW5LZXksCiAgICAgICAgKSk7CgogICAgICAgICRtZXRob2QgPSBuZXcgXFJlZmxlY3Rpb25NZXRob2QoJGl0ZXJhdG9yLCAnZGV0ZXJtaW5lTmV4dFRva2VuJyk7CiAgICAgICAgJG1ldGhvZC0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkbWV0aG9kLT5pbnZva2UoJGl0ZXJhdG9yLCAkbW9kZWwpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRuZXh0VG9rZW4sICR0aGlzLT5yZWFkQXR0cmlidXRlKCRpdGVyYXRvciwgJ25leHRUb2tlbicpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNlbmRSZXF1ZXN0KCkKICAgIHsKICAgICAgICAkbW9kZWwxID0gbmV3IE1vZGVsKGFycmF5KCdOZXh0VG9rZW4nID0+ICd0b2tlbicpKTsKICAgICAgICAkbW9kZWwyID0gbmV3IE1vZGVsKGFycmF5KCkpOwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2tlZENvbW1hbmQoKTsKICAgICAgICAkY29tbWFuZC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRSZXN1bHQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPm9uQ29uc2VjdXRpdmVDYWxscygkbW9kZWwxLCAkbW9kZWwyKSk7CgogICAgICAgICRpdGVyYXRvciA9IG5ldyBBd3NSZXNvdXJjZUl0ZXJhdG9yKCRjb21tYW5kLCBhcnJheSgKICAgICAgICAgICAgJ3Rva2VuX2tleScgID0+ICdOZXh0VG9rZW4nLAogICAgICAgICAgICAncmVzdWx0X2tleScgPT4gJ1Jlc3VsdHMnCiAgICAgICAgKSk7CgogICAgICAgIC8vIFNldHVwIHN0YXRlCiAgICAgICAgJHByb3BlcnR5ID0gbmV3IFxSZWZsZWN0aW9uUHJvcGVydHkoJGl0ZXJhdG9yLCAnbmV4dFRva2VuJyk7CiAgICAgICAgJHByb3BlcnR5LT5zZXRBY2Nlc3NpYmxlKHRydWUpOwogICAgICAgICRwcm9wZXJ0eS0+c2V0VmFsdWUoJGl0ZXJhdG9yLCAnZm9vJyk7CgogICAgICAgICRwcm9wZXJ0eSA9IG5ldyBcUmVmbGVjdGlvblByb3BlcnR5KCRpdGVyYXRvciwgJ29yaWdpbmFsQ29tbWFuZCcpOwogICAgICAgICRwcm9wZXJ0eS0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkcHJvcGVydHktPnNldFZhbHVlKCRpdGVyYXRvciwgJGNvbW1hbmQpOwoKICAgICAgICAkcHJvcGVydHkgPSBuZXcgXFJlZmxlY3Rpb25Qcm9wZXJ0eSgkaXRlcmF0b3IsICdjb21tYW5kJyk7CiAgICAgICAgJHByb3BlcnR5LT5zZXRBY2Nlc3NpYmxlKHRydWUpOwogICAgICAgICRwcm9wZXJ0eS0+c2V0VmFsdWUoJGl0ZXJhdG9yLCAkY29tbWFuZCk7CgogICAgICAgIC8vIEV4ZWN1dGUgbWV0aG9kIHVuZGVyIHRlc3QKICAgICAgICAkc2VuZFJlcXVlc3QgPSBuZXcgXFJlZmxlY3Rpb25NZXRob2QoJGl0ZXJhdG9yLCAnc2VuZFJlcXVlc3QnKTsKICAgICAgICAkc2VuZFJlcXVlc3QtPnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgJHJlc3VsdCA9ICRzZW5kUmVxdWVzdC0+aW52b2tlKCRpdGVyYXRvcik7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoKSwgJHJlc3VsdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJG1vZGVsMiwgJGl0ZXJhdG9yLT5nZXRMYXN0UmVzdWx0KCkpOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBBYnN0cmFjdENvbW1hbmQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldE1vY2tlZENvbW1hbmQoKQogICAgewogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcU2VydmljZVxDb21tYW5kXE9wZXJhdGlvbkNvbW1hbmQnKQogICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdnZXRSZXN1bHQnLCAnZ2V0TmFtZScsICdfX2Nsb25lJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwoKICAgICAgICAkY29tbWFuZC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXROYW1lJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgnRm9vQmFyJykpOwogICAgICAgICRjb21tYW5kLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ19fY2xvbmUnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblNlbGYoKSk7CgogICAgICAgICRjb21tYW5kLT5zZXQoJ2ZvbycsICdiYXInKTsKCiAgICAgICAgcmV0dXJuICRjb21tYW5kOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Model/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Model/MultipartUpload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Model/MultipartUpload/AbstractTransferStateTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZDsKCnVzZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFRyYW5zZmVyU3RhdGU7CnVzZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFVwbG9hZElkOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXENvbW1vblxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RUcmFuc2ZlclN0YXRlCiAqLwpjbGFzcyBBYnN0cmFjdFRyYW5zZmVyU3RhdGVUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEB2YXIgVXBsb2FkSWQKICAgICAqLwogICAgcHJvdGVjdGVkICRtb2NrVXBsb2FkSWQ7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+bW9ja1VwbG9hZElkID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFVwbG9hZElkJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCd0b1BhcmFtcycpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkdGhpcy0+bW9ja1VwbG9hZElkLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3RvUGFyYW1zJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShhcnJheSgKICAgICAgICAgICAgICAgICdhY2NvdW50SWQnID0+ICctJywKICAgICAgICAgICAgICAgICd2YXVsdE5hbWUnID0+ICdmb28nLAogICAgICAgICAgICAgICAgJ3VwbG9hZElkJyAgPT4gJ2JhcicKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRNb2NrZWRQYXJ0KCRudW1iZXIpCiAgICB7CiAgICAgICAgJHBhcnQgPSAkdGhpcy0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoJ0F3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VXBsb2FkUGFydCcpOwogICAgICAgICRyID0gbmV3IFxSZWZsZWN0aW9uQ2xhc3MoJ0F3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VXBsb2FkUGFydCcpOwogICAgICAgICRwID0gJHItPmdldFByb3BlcnR5KCdwYXJ0TnVtYmVyJyk7CiAgICAgICAgJHAtPnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgJHAtPnNldFZhbHVlKCRwYXJ0LCAkbnVtYmVyKTsKCiAgICAgICAgcmV0dXJuICRwYXJ0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3JJbml0aWFsaXplc1N0YXRlKCkKICAgIHsKICAgICAgICAkc3RhdGUgPSAkdGhpcy0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoJ0F3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VHJhbnNmZXJTdGF0ZScsCiAgICAgICAgICAgIGFycmF5KCR0aGlzLT5tb2NrVXBsb2FkSWQpCiAgICAgICAgKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHRoaXMtPm1vY2tVcGxvYWRJZCwgJHN0YXRlLT5nZXRVcGxvYWRJZCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhbmRsZXNQYXJ0cygpCiAgICB7CiAgICAgICAgJHN0YXRlID0gJHRoaXMtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCdBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFRyYW5zZmVyU3RhdGUnLAogICAgICAgICAgICBhcnJheSgkdGhpcy0+bW9ja1VwbG9hZElkKQogICAgICAgICk7CgogICAgICAgICRwYXJ0MSA9ICR0aGlzLT5nZXRNb2NrZWRQYXJ0KDEpOwogICAgICAgICRwYXJ0MiA9ICR0aGlzLT5nZXRNb2NrZWRQYXJ0KDIpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRzdGF0ZSwgJHN0YXRlLT5hZGRQYXJ0KCRwYXJ0MSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRzdGF0ZSwgJHN0YXRlLT5hZGRQYXJ0KCRwYXJ0MikpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRzdGF0ZS0+aGFzUGFydCgxKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHN0YXRlLT5oYXNQYXJ0KDIpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkcGFydDEsICRzdGF0ZS0+Z2V0UGFydCgxKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHBhcnQyLCAkc3RhdGUtPmdldFBhcnQoMikpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJHN0YXRlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgxLCAyKSwgJHN0YXRlLT5nZXRQYXJ0TnVtYmVycygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXJyYXlJdGVyYXRvcicsICRzdGF0ZS0+Z2V0SXRlcmF0b3IoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5NYXJrU3RhdGVBc0Fib3J0ZWQoKQogICAgewogICAgICAgICRzdGF0ZSA9ICR0aGlzLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygnQXdzXENvbW1vblxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RUcmFuc2ZlclN0YXRlJywKICAgICAgICAgICAgYXJyYXkoJHRoaXMtPm1vY2tVcGxvYWRJZCkKICAgICAgICApOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkc3RhdGUsICRzdGF0ZS0+c2V0QWJvcnRlZCh0cnVlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHN0YXRlLT5pc0Fib3J0ZWQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHN0YXRlLCAkc3RhdGUtPnNldEFib3J0ZWQoZmFsc2UpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHN0YXRlLT5pc0Fib3J0ZWQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZXJpYWxpemF0aW9uV29ya3MoKQogICAgewogICAgICAgICRzdGF0ZTEgPSAkdGhpcy0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoJ0F3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VHJhbnNmZXJTdGF0ZScsCiAgICAgICAgICAgIGFycmF5KCR0aGlzLT5tb2NrVXBsb2FkSWQpCiAgICAgICAgKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VXBsb2FkSWQnLCAkc3RhdGUxLT5nZXRVcGxvYWRJZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCksICRzdGF0ZTEtPmdldFBhcnROdW1iZXJzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkc3RhdGUxLT5pc0Fib3J0ZWQoKSk7CgogICAgICAgICRzZXJpYWxpemVkID0gc2VyaWFsaXplKCRzdGF0ZTEpOwogICAgICAgICRzdGF0ZTIgPSB1bnNlcmlhbGl6ZSgkc2VyaWFsaXplZCk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFVwbG9hZElkJywgJHN0YXRlMi0+Z2V0VXBsb2FkSWQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgpLCAkc3RhdGUyLT5nZXRQYXJ0TnVtYmVycygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHN0YXRlMi0+aXNBYm9ydGVkKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2VyaWFsaXphdGlvbkZhaWxzV2hlblByb3BlcnR5SXNNaXNzaW5nKCkKICAgIHsKICAgICAgICAkc3RhdGUxID0gJHRoaXMtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCdBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFRyYW5zZmVyU3RhdGUnLAogICAgICAgICAgICBhcnJheSgkdGhpcy0+bW9ja1VwbG9hZElkKQogICAgICAgICk7CgogICAgICAgICRzZXJpYWxpemVkID0gc3RyX3JlcGxhY2UoJ3VwbG9hZElkJywgJ3h4eHh4eHh4Jywgc2VyaWFsaXplKCRzdGF0ZTEpKTsKICAgICAgICB1bnNlcmlhbGl6ZSgkc2VyaWFsaXplZCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Model/MultipartUpload/AbstractTransferTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZDsKCnVzZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFRyYW5zZmVyOwp1c2UgQXdzXENvbW1vblxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RUcmFuc2ZlclN0YXRlOwp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKCi8qKgogKiBAY292ZXJzIEF3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VHJhbnNmZXIKICovCmNsYXNzIEFic3RyYWN0VHJhbnNmZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0TW9ja2VkVHJhbnNmZXIoXENsb3N1cmUgJGNsb3N1cmUgPSBudWxsKQogICAgewogICAgICAgICRzdGF0ZSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXENvbW1vblxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RUcmFuc2ZlclN0YXRlJykKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKICAgICAgICAkdHJhbnNmZXIgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VHJhbnNmZXInKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheSgKICAgICAgICAgICAgICAgICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXENvbW1vblxDbGllbnRcQWJzdHJhY3RDbGllbnQnKQogICAgICAgICAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKSwKICAgICAgICAgICAgICAgICRzdGF0ZSwKICAgICAgICAgICAgICAgIEVudGl0eUJvZHk6OmZhY3RvcnkoKSwKICAgICAgICAgICAgICAgIGFycmF5KCdmb28nID0+ICdiYXInKQogICAgICAgICAgICApKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CgogICAgICAgIGlmICgkY2xvc3VyZSkgewogICAgICAgICAgICAkY2xvc3VyZSgkdHJhbnNmZXIsICRzdGF0ZSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRyYW5zZmVyOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzRXZlbnRzKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdhcnJheScsIEFic3RyYWN0VHJhbnNmZXI6OmdldEFsbEV2ZW50cygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc0dldHRlcnMoKQogICAgewogICAgICAgICR0cmFuc2ZlciA9ICR0aGlzLT5nZXRNb2NrZWRUcmFuc2ZlcigpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RUcmFuc2ZlclN0YXRlJywgJHRyYW5zZmVyLT5nZXRTdGF0ZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdhcnJheScsICR0cmFuc2Zlci0+Z2V0T3B0aW9ucygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ2ZvbycsICR0cmFuc2Zlci0+Z2V0T3B0aW9ucygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkFib3J0VXBsb2FkKCkKICAgIHsKCiAgICAgICAgJHRyYW5zZmVyID0gJHRoaXMtPmdldE1vY2tlZFRyYW5zZmVyKCk7CiAgICAgICAgJG1vZGVsID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbCcpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxPcGVyYXRpb25Db21tYW5kJykKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICRjb21tYW5kLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldFJlc3VsdCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJG1vZGVsKSk7CiAgICAgICAgJHRyYW5zZmVyLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldEFib3J0Q29tbWFuZCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJGNvbW1hbmQpKTsKCiAgICAgICAgJHRyYW5zZmVyLT5hYm9ydCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5yZWFkQXR0cmlidXRlKCR0cmFuc2ZlciwgJ3N0b3BwZWQnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gQXdzXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBUaGUgdHJhbnNmZXIgaGFzIGJlZW4gYWJvcnRlZCBhbmQgY2Fubm90IGJlIHVwbG9hZGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VGhyb3dzRXhjZXB0aW9uV2hlbkF0dGVtcHRpbmdUb1VwbG9hZEFib3J0ZWRUcmFuc2ZlcigpCiAgICB7CiAgICAgICAgJHRyYW5zZmVyID0gJHRoaXMtPmdldE1vY2tlZFRyYW5zZmVyKGZ1bmN0aW9uICgkdHJhbnNmZXIsICRzdGF0ZSkgewogICAgICAgICAgICAkc3RhdGUtPnNldEFib3J0ZWQodHJ1ZSk7CiAgICAgICAgfSk7CgogICAgICAgICR0cmFuc2Zlci0+dXBsb2FkKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gQXdzXENvbW1vblxFeGNlcHRpb25cTXVsdGlwYXJ0VXBsb2FkRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0V3JhcHNFeGNlcHRpb25zVGhyb3duRHVyaW5nVXBsb2FkKCkKICAgIHsKICAgICAgICAkdHJhbnNmZXIgPSAkdGhpcy0+Z2V0TW9ja2VkVHJhbnNmZXIoKTsKICAgICAgICAkZSA9IG5ldyBcRXhjZXB0aW9uKCdmb28nKTsKICAgICAgICAkdHJhbnNmZXItPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3RyYW5zZmVyJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT50aHJvd0V4Y2VwdGlvbigkZSkpOwoKICAgICAgICAkdHJhbnNmZXItPnVwbG9hZCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29tcGxldGVzVXBsb2FkQW5kRGlzcGF0Y2hlc0V2ZW50cygpCiAgICB7CiAgICAgICAgJHRyYW5zZmVyID0gJHRoaXMtPmdldE1vY2tlZFRyYW5zZmVyKCk7CiAgICAgICAgJG1vZGVsID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbCcpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkdHJhbnNmZXItPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2NvbXBsZXRlJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkbW9kZWwpKTsKCiAgICAgICAgJG9ic2VydmVyID0gJHRoaXMtPmdldFdpbGRjYXJkT2JzZXJ2ZXIoJHRyYW5zZmVyKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWwnLCAkdHJhbnNmZXItPnVwbG9hZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAkdHJhbnNmZXI6OkFGVEVSX1VQTE9BRCwKICAgICAgICAgICAgJHRyYW5zZmVyOjpBRlRFUl9DT01QTEVURQogICAgICAgICksIGFycmF5X2tleXMoJG9ic2VydmVyLT5nZXRHcm91cGVkKCkpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFN0b3BwaW5nUmV0dXJuc1N0YXRlKCkKICAgIHsKICAgICAgICAkdHJhbnNmZXIgPSAkdGhpcy0+Z2V0TW9ja2VkVHJhbnNmZXIoKTsKICAgICAgICAkc3RhdGUgPSBudWxsOwogICAgICAgICR0cmFuc2Zlci0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCR0cmFuc2Zlcjo6QkVGT1JFX1VQTE9BRCwgZnVuY3Rpb24gKCRldmVudCkgdXNlICgmJHN0YXRlKSB7CiAgICAgICAgICAgICRzdGF0ZSA9ICRldmVudFsndHJhbnNmZXInXS0+c3RvcCgpOwogICAgICAgIH0pOwogICAgICAgICR0cmFuc2Zlci0+dXBsb2FkKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VHJhbnNmZXJTdGF0ZScsICRzdGF0ZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJc0ludm9rYWJsZSgpCiAgICB7CiAgICAgICAgJHRyYW5zZmVyID0gJHRoaXMtPmdldE1vY2tlZFRyYW5zZmVyKCk7CiAgICAgICAgJHRyYW5zZmVyLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCd0cmFuc2ZlcicpOwogICAgICAgICR0cmFuc2ZlcigpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Model/MultipartUpload/AbstractUploadBuilderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZDsKCnVzZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFVwbG9hZEJ1aWxkZXI7CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXENvbW1vblxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RVcGxvYWRCdWlsZGVyCiAqLwpjbGFzcyBBYnN0cmFjdFVwbG9hZEJ1aWxkZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgJGNsYXNzTmFtZTsKICAgIHByb3RlY3RlZCAkbW9ja0J1aWxkZXI7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xhc3NOYW1lID0gJ0F3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VXBsb2FkQnVpbGRlcic7CiAgICAgICAgJHRoaXMtPm1vY2tCdWlsZGVyID0gJHRoaXMtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCR0aGlzLT5jbGFzc05hbWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzQ2hhaW5hYmxlTWV0aG9kVG9JbnN0YW50aWF0ZSgpCiAgICB7CiAgICAgICAgJHVwbG9hZEJ1aWxkZXIgPSAkdGhpcy0+bW9ja0J1aWxkZXI7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJHRoaXMtPmNsYXNzTmFtZSwgJHVwbG9hZEJ1aWxkZXI6Om5ld0luc3RhbmNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuVXBsb2FkRnJvbUZpbGVuYW1lKCkKICAgIHsKICAgICAgICAkYiA9ICR0aGlzLT5tb2NrQnVpbGRlci0+c2V0U291cmNlKF9fRklMRV9fKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKF9fRklMRV9fLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYiwgJ3NvdXJjZScpLT5nZXRVcmkoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBGaWxlIGRvZXMgbm90IGV4aXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc0ZpbGVzRXhpc3RzV2hlblNldHRpbmdTb3VyY2UoKQogICAgewogICAgICAgICR0aGlzLT5tb2NrQnVpbGRlci0+c2V0U291cmNlKCcvcGF0aC90by9taXNzaW5nL2ZpbGUveWFsbCcpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgRW1wdHkgYm9keSBwcm92aWRlZCB0byB1cGxvYWQgYnVpbGRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNGaWxlSXNOb3RFbXB0eVdoZW5TZXR0aW5nU291cmNlKCkKICAgIHsKICAgICAgICAkdGhpcy0+bW9ja0J1aWxkZXItPnNldFNvdXJjZShFbnRpdHlCb2R5OjpmYWN0b3J5KCcnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNDaGFpbmFibGVTZXR0ZXJNZXRob2RzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkYm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJ2ZvbycpOwogICAgICAgICRiID0gJHRoaXMtPm1vY2tCdWlsZGVyCiAgICAgICAgICAgIC0+cmVzdW1lRnJvbSgnZm9vJykKICAgICAgICAgICAgLT5zZXRDbGllbnQoJGNsaWVudCkKICAgICAgICAgICAgLT5zZXRTb3VyY2UoJGJvZHkpCiAgICAgICAgICAgIC0+c2V0SGVhZGVycyhhcnJheSgKICAgICAgICAgICAgICAgICdGb28nID0+ICdCYXInCiAgICAgICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYiwgJ3N0YXRlJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRjbGllbnQsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRiLCAnY2xpZW50JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRib2R5LCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYiwgJ3NvdXJjZScpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Model/MultipartUpload/AbstractUploadIdTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZDsKCnVzZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFVwbG9hZElkOwoKLyoqCiAqIENvbmNyZXRlIHRlc3QgZml4dHVyZQogKi8KY2xhc3MgVXBsb2FkSWQgZXh0ZW5kcyBBYnN0cmFjdFVwbG9hZElkCnsKICAgIHByb3RlY3RlZCBzdGF0aWMgJGV4cGVjdGVkVmFsdWVzID0gYXJyYXkoJ2ZvbycgPT4gbnVsbCwgJ2JhcicgPT4gbnVsbCk7Cn0KCi8qKgogKiBAY292ZXJzIEF3c1xDb21tb25cTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VXBsb2FkSWQKICovCmNsYXNzIEFic3RyYWN0VXBsb2FkSWRUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVwbG9hZElkQ29ycmVjdGx5TWFuYWdlc0RhdGEoKQogICAgewogICAgICAgICRzdGFydGluZ1BhcmFtcyA9IGFycmF5KCdmb28nID0+IDEsICdiYXInID0+IDIpOwogICAgICAgICR1cGxvYWRJZCA9IFVwbG9hZElkOjpmcm9tUGFyYW1zKCRzdGFydGluZ1BhcmFtcyk7CiAgICAgICAgJHNlcmlhbGl6ZWQgPSBzZXJpYWxpemUoJHVwbG9hZElkKTsKICAgICAgICAkdW5zZXJpYWxpemVkID0gdW5zZXJpYWxpemUoJHNlcmlhbGl6ZWQpOwogICAgICAgICRlbmRpbmdQYXJhbXMgPSAkdW5zZXJpYWxpemVkLT50b1BhcmFtcygpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRzdGFydGluZ1BhcmFtcywgJGVuZGluZ1BhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRocm93c0V4Y2VwdGlvbldoZW5NaXNzaW5nRGF0YSgpCiAgICB7CiAgICAgICAgVXBsb2FkSWQ6OmZyb21QYXJhbXMoYXJyYXkoJ3dyb25nS2V5JyA9PiAnZHVtbXlEYXRhJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Model/MultipartUpload/AbstractUploadPartTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZDsKCnVzZSBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFVwbG9hZFBhcnQ7CgovKioKICogQ29uY3JldGUgdGVzdCBmaXh0dXJlCiAqLwpjbGFzcyBVcGxvYWRQYXJ0IGV4dGVuZHMgQWJzdHJhY3RVcGxvYWRQYXJ0CnsKICAgIHByb3RlY3RlZCBzdGF0aWMgJGtleU1hcCA9IGFycmF5KCdQQVJUTlVNQkVSJyA9PiAncGFydE51bWJlcicsICdmT09iQVInID0+ICdmb29CYXInKTsKICAgIHByb3RlY3RlZCAkZm9vQmFyOwp9CgovKioKICogQGNvdmVycyBBd3NcQ29tbW9uXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFVwbG9hZFBhcnQKICovCmNsYXNzIEFic3RyYWN0VXBsb2FkUGFydFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXBsb2FkUGFydENvcnJlY3RseU1hbmFnZXNEYXRhKCkKICAgIHsKICAgICAgICAkc3RhcnRpbmdEYXRhID0gYXJyYXkoJ1BBUlROVU1CRVInID0+IDUsICdmT09iQVInID0+IDEwKTsKICAgICAgICAkdXBsb2FkUGFydCA9IFVwbG9hZFBhcnQ6OmZyb21BcnJheSgkc3RhcnRpbmdEYXRhKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDUsICR1cGxvYWRQYXJ0LT5nZXRQYXJ0TnVtYmVyKCkpOwogICAgICAgICRzZXJpYWxpemVkID0gc2VyaWFsaXplKCR1cGxvYWRQYXJ0KTsKICAgICAgICAkdW5zZXJpYWxpemVkID0gdW5zZXJpYWxpemUoJHNlcmlhbGl6ZWQpOwogICAgICAgICRlbmRpbmdEYXRhID0gJHVuc2VyaWFsaXplZC0+dG9BcnJheSgpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRzdGFydGluZ0RhdGEsICRlbmRpbmdEYXRhKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VGhyb3dzRXhjZXB0aW9uV2hlbk1pc3NpbmdEYXRhKCkKICAgIHsKICAgICAgICBVcGxvYWRQYXJ0Ojpmcm9tQXJyYXkoYXJyYXkoJ3dyb25nS2V5JyA9PiAnZHVtbXlEYXRhJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/AbstractSignatureTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXFNpZ25hdHVyZTsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q7CgpjbGFzcyBBYnN0cmFjdFNpZ25hdHVyZVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByaXZhdGUgJHNpZ25hdHVyZTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0dXAoKQogICAgewogICAgICAgICR0aGlzLT5zaWduYXR1cmUgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cU2lnbmF0dXJlXEFic3RyYWN0U2lnbmF0dXJlJykKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXFNpZ25hdHVyZVxBYnN0cmFjdFNpZ25hdHVyZTo6Z2V0VGltZXN0YW1wCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0VGltZXN0YW1wUmV0dXJuc0NvbnNpc3RlbnRUaW1lc3RhbXAoKQogICAgewogICAgICAgICRtZXRob2QgPSBuZXcgXFJlZmxlY3Rpb25NZXRob2QoJ0F3c1xDb21tb25cU2lnbmF0dXJlXEFic3RyYWN0U2lnbmF0dXJlJywgJ2dldFRpbWVzdGFtcCcpOwogICAgICAgICRtZXRob2QtPnNldEFjY2Vzc2libGUodHJ1ZSk7CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSB0aW1lc3RhbXAgaXMgdGhlIHNhbWUgd2hlbiBjYWNoZWQKICAgICAgICAkdCA9ICRtZXRob2QtPmludm9rZSgkdGhpcy0+c2lnbmF0dXJlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR0LCAkbWV0aG9kLT5pbnZva2UoJHRoaXMtPnNpZ25hdHVyZSkpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXFNpZ25hdHVyZVxBYnN0cmFjdFNpZ25hdHVyZTo6Z2V0RGF0ZVRpbWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXREYXRldGltZVVzZXNJbnRlcm5hbFRpbWVzdGFtcCgpCiAgICB7CiAgICAgICAgJG1ldGhvZCA9IG5ldyBcUmVmbGVjdGlvbk1ldGhvZCgnQXdzXENvbW1vblxTaWduYXR1cmVcQWJzdHJhY3RTaWduYXR1cmUnLCAnZ2V0RGF0ZVRpbWUnKTsKICAgICAgICAkbWV0aG9kLT5zZXRBY2Nlc3NpYmxlKHRydWUpOwoKICAgICAgICAkZCA9IGdtZGF0ZSgnRiwgWScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGQsICRtZXRob2QtPmludm9rZSgkdGhpcy0+c2lnbmF0dXJlLCAnRiwgWScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcXVlcnlTdHJpbmdQcm92aWRlcigpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAoKICAgICAgICAgICAgYXJyYXkoYXJyYXkoKSwgJycpLAoKICAgICAgICAgICAgYXJyYXkoYXJyYXkoCiAgICAgICAgICAgICAgICAnWC1BbXotU2lnbmF0dXJlJyA9PiAnZm9vJwogICAgICAgICAgICApLCAnJyksCgogICAgICAgICAgICBhcnJheShhcnJheSgKICAgICAgICAgICAgICAgICdGb28nID0+ICcxMjMnLAogICAgICAgICAgICAgICAgJ0JhcicgPT4gJzQ1NicKICAgICAgICAgICAgKSwgJ0Jhcj00NTYmRm9vPTEyMycpLAoKICAgICAgICAgICAgYXJyYXkoYXJyYXkoCiAgICAgICAgICAgICAgICAnRm9vJyA9PiBhcnJheSgnYicsICdhJyksCiAgICAgICAgICAgICAgICAnYScgPT4gJ2JjJwogICAgICAgICAgICApLCAnRm9vPWEmRm9vPWImYT1iYycpLAoKICAgICAgICAgICAgYXJyYXkoYXJyYXkoCiAgICAgICAgICAgICAgICAnRm9vJyA9PiAnJywKICAgICAgICAgICAgICAgICdhJyA9PiAnYicKICAgICAgICAgICAgKSwgJ0Zvbz0mYT1iJykKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXFNpZ25hdHVyZVxBYnN0cmFjdFNpZ25hdHVyZTo6Z2V0Q2Fub25pY2FsaXplZFF1ZXJ5U3RyaW5nCiAgICAgKiBAZGF0YVByb3ZpZGVyIHF1ZXJ5U3RyaW5nUHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzQ2Fub25pY2FsaXplZFF1ZXJ5U3RyaW5nKCRoZWFkZXJzLCAkc3RyaW5nKQogICAgewogICAgICAgIC8vIE1ha2UgdGhlIG1ldGhvZCBwdWJsaWNseSBjYWxsYWJsZQogICAgICAgICRtZXRob2QgPSBuZXcgXFJlZmxlY3Rpb25NZXRob2QoJ0F3c1xDb21tb25cU2lnbmF0dXJlXEFic3RyYWN0U2lnbmF0dXJlJywgJ2dldENhbm9uaWNhbGl6ZWRRdWVyeVN0cmluZycpOwogICAgICAgICRtZXRob2QtPnNldEFjY2Vzc2libGUodHJ1ZSk7CgogICAgICAgIC8vIENyZWF0ZSBhIHJlcXVlc3QgYW5kIHJlcGxhY2UgdGhlIGhlYWRlcnMgd2l0aCB0aGUgdGVzdCBoZWFkZXJzCiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20nKTsKICAgICAgICAkcmVxdWVzdC0+Z2V0UXVlcnkoKS0+cmVwbGFjZSgkaGVhZGVycyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHN0cmluZywgJG1ldGhvZC0+aW52b2tlKCR0aGlzLT5zaWduYXR1cmUsICRyZXF1ZXN0KSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-key-duplicate.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3Q7em9vLCBTaWduYXR1cmU9NTRhZmNhYWY0NWIzMzFmODFjZDJlZGI5NzRmN2I4MjRmZjRkZDU5NGNiYmFhOTQ1ZWQ2MzZiNDg0NzczNjhlZA==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-key-duplicate.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVAovCgpkYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCmhvc3Q6aG9zdC5mb28uY29tCnpvbzpmb29iYXIsem9vYmFyLHpvb2JhcgoKZGF0ZTtob3N0O3pvbwplM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-key-duplicate.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkRBVEU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KWk9POnpvb2Jhcgp6b286Zm9vYmFyCnpvbzp6b29iYXIKCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-key-duplicate.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkRBVEU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KWk9POnpvb2Jhcgp6b286Zm9vYmFyCnpvbzp6b29iYXIKQXV0aG9yaXphdGlvbjogQVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3Q7em9vLCBTaWduYXR1cmU9NTRhZmNhYWY0NWIzMzFmODFjZDJlZGI5NzRmN2I4MjRmZjRkZDU5NGNiYmFhOTQ1ZWQ2MzZiNDg0NzczNjhlZAoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-key-duplicate.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAozYzUyZjBlYWFlMmI2MTMyOWMwYTMzMmUzZmExNTg0MmEzN2JjNTgxMmNmNGQ4MGViNjQ3ODQzMDg4NTBlMzEz]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-value-order.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3Q7cCwgU2lnbmF0dXJlPWQyOTczOTU0MjYzOTQzYjExNjI0YTExZDFjOTYzY2E4MWZiMjc0MTY5Yzc4NjhiMjg1OGMwNGYwODMxOTllM2Q=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-value-order.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVAovCgpkYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCmhvc3Q6aG9zdC5mb28uY29tCnA6YSxhLHAsegoKZGF0ZTtob3N0O3AKZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NQ==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-value-order.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkRBVEU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KcDp6CnA6YQpwOnAKcDphCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-value-order.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkRBVEU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KcDp6CnA6YQpwOnAKcDphCkF1dGhvcml6YXRpb246IEFXUzQtSE1BQy1TSEEyNTYgQ3JlZGVudGlhbD1BS0lERVhBTVBMRS8yMDExMDkwOS91cy1lYXN0LTEvaG9zdC9hd3M0X3JlcXVlc3QsIFNpZ25lZEhlYWRlcnM9ZGF0ZTtob3N0O3AsIFNpZ25hdHVyZT1kMjk3Mzk1NDI2Mzk0M2IxMTYyNGExMWQxYzk2M2NhODFmYjI3NDE2OWM3ODY4YjI4NThjMDRmMDgzMTk5ZTNkCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-value-order.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAo5NGMwMzg5ZmVmZTA5ODhjYmJlZGM4NjA2ZjBjYTBiNDg1YjQ4ZGEwMTBkMDlmYzg0NGI0NWI2OTdjODkyNGZl]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-value-trim.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3Q7cCwgU2lnbmF0dXJlPWRlYmY1NDY3OTYwMTVkNmY2ZGVkODYyNmY1Y2U5ODU5N2MzM2I0N2I5MTY0Y2Y2YjE3YjQ2NDIwMzZmY2I1OTI=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-value-trim.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVAovCgpkYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCmhvc3Q6aG9zdC5mb28uY29tCnA6cGhmZnQKCmRhdGU7aG9zdDtwCmUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTU=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-value-trim.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkRBVEU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KcDogcGhmZnQgCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-value-trim.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkRBVEU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KcDogcGhmZnQgCkF1dGhvcml6YXRpb246IEFXUzQtSE1BQy1TSEEyNTYgQ3JlZGVudGlhbD1BS0lERVhBTVBMRS8yMDExMDkwOS91cy1lYXN0LTEvaG9zdC9hd3M0X3JlcXVlc3QsIFNpZ25lZEhlYWRlcnM9ZGF0ZTtob3N0O3AsIFNpZ25hdHVyZT1kZWJmNTQ2Nzk2MDE1ZDZmNmRlZDg2MjZmNWNlOTg1OTdjMzNiNDdiOTE2NGNmNmIxN2I0NjQyMDM2ZmNiNTkyCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-header-value-trim.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdApkZGRkMTkwMmFkZDA4ZGExYWM5NDc4MmIwNWY5Mjc4YzA4ZGM3NDY4ZGIxNzhhODRmODk1MGQ5M2IzMGIxZjM1]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-relative-relative.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1iMjdjY2ZiZmE3ZGY1MmEyMDBmZjc0MTkzY2E2ZTMyZDRiNDhiODg1NmZhYjdlYmYxYzU5NWQwNjcwYTdlNDcw]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-relative-relative.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi8KCmRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KCmRhdGU7aG9zdAplM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-relative-relative.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC9mb28vYmFyLy4uLy4uIGh0dHAvMS4xCkRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKSG9zdDpob3N0LmZvby5jb20KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-relative-relative.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC9mb28vYmFyLy4uLy4uIGh0dHAvMS4xCkRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKSG9zdDpob3N0LmZvby5jb20KQXV0aG9yaXphdGlvbjogQVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1iMjdjY2ZiZmE3ZGY1MmEyMDBmZjc0MTkzY2E2ZTMyZDRiNDhiODg1NmZhYjdlYmYxYzU5NWQwNjcwYTdlNDcwCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-relative-relative.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAozNjZiOTFmYjEyMWQ3MmEwMGY0NmJiZThkMzk1ZjUzYTEwMmIwNmRmYjdlNzk2MzY1MTUyMDhlZDNmYTYwNmIx]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-relative.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1iMjdjY2ZiZmE3ZGY1MmEyMDBmZjc0MTkzY2E2ZTMyZDRiNDhiODg1NmZhYjdlYmYxYzU5NWQwNjcwYTdlNDcw]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-relative.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi8KCmRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KCmRhdGU7aG9zdAplM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-relative.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC9mb28vLi4gaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-relative.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC9mb28vLi4gaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQpBdXRob3JpemF0aW9uOiBBV1M0LUhNQUMtU0hBMjU2IENyZWRlbnRpYWw9QUtJREVYQU1QTEUvMjAxMTA5MDkvdXMtZWFzdC0xL2hvc3QvYXdzNF9yZXF1ZXN0LCBTaWduZWRIZWFkZXJzPWRhdGU7aG9zdCwgU2lnbmF0dXJlPWIyN2NjZmJmYTdkZjUyYTIwMGZmNzQxOTNjYTZlMzJkNGI0OGI4ODU2ZmFiN2ViZjFjNTk1ZDA2NzBhN2U0NzAKCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-relative.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAozNjZiOTFmYjEyMWQ3MmEwMGY0NmJiZThkMzk1ZjUzYTEwMmIwNmRmYjdlNzk2MzY1MTUyMDhlZDNmYTYwNmIx]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash-dot-slash.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1iMjdjY2ZiZmE3ZGY1MmEyMDBmZjc0MTkzY2E2ZTMyZDRiNDhiODg1NmZhYjdlYmYxYzU5NWQwNjcwYTdlNDcw]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash-dot-slash.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi8KCmRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KCmRhdGU7aG9zdAplM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash-dot-slash.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8uLyBodHRwLzEuMQpEYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCkhvc3Q6aG9zdC5mb28uY29tCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash-dot-slash.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8uLyBodHRwLzEuMQpEYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCkhvc3Q6aG9zdC5mb28uY29tCkF1dGhvcml6YXRpb246IEFXUzQtSE1BQy1TSEEyNTYgQ3JlZGVudGlhbD1BS0lERVhBTVBMRS8yMDExMDkwOS91cy1lYXN0LTEvaG9zdC9hd3M0X3JlcXVlc3QsIFNpZ25lZEhlYWRlcnM9ZGF0ZTtob3N0LCBTaWduYXR1cmU9YjI3Y2NmYmZhN2RmNTJhMjAwZmY3NDE5M2NhNmUzMmQ0YjQ4Yjg4NTZmYWI3ZWJmMWM1OTVkMDY3MGE3ZTQ3MAoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash-dot-slash.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAozNjZiOTFmYjEyMWQ3MmEwMGY0NmJiZThkMzk1ZjUzYTEwMmIwNmRmYjdlNzk2MzY1MTUyMDhlZDNmYTYwNmIx]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash-pointless-dot.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT05MTBlNGQ2YzlhYmFmYWY4Nzg5OGUxZWI0YzkyOTEzNTc4MmVhMjViYjAyNzk3MDMxNDY0NTU3NDUzOTFlNjNh]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash-pointless-dot.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi9mb28KCmRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KCmRhdGU7aG9zdAplM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash-pointless-dot.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8uL2ZvbyBodHRwLzEuMQpEYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCkhvc3Q6aG9zdC5mb28uY29tCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash-pointless-dot.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8uL2ZvbyBodHRwLzEuMQpEYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCkhvc3Q6aG9zdC5mb28uY29tCkF1dGhvcml6YXRpb246IEFXUzQtSE1BQy1TSEEyNTYgQ3JlZGVudGlhbD1BS0lERVhBTVBMRS8yMDExMDkwOS91cy1lYXN0LTEvaG9zdC9hd3M0X3JlcXVlc3QsIFNpZ25lZEhlYWRlcnM9ZGF0ZTtob3N0LCBTaWduYXR1cmU9OTEwZTRkNmM5YWJhZmFmODc4OThlMWViNGM5MjkxMzU3ODJlYTI1YmIwMjc5NzAzMTQ2NDU1NzQ1MzkxZTYzYQoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash-pointless-dot.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAo4MDIxYTk3NTcyZWU0NjBmODdjYTY3ZjRlOGMwZGI3NjMyMTZkODQ3MTVmNTQyNGE4NDNhNTMxMmEzMzIxZTJk]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1iMjdjY2ZiZmE3ZGY1MmEyMDBmZjc0MTkzY2E2ZTMyZDRiNDhiODg1NmZhYjdlYmYxYzU5NWQwNjcwYTdlNDcw]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi8KCmRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KCmRhdGU7aG9zdAplM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8vIGh0dHAvMS4xCkRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKSG9zdDpob3N0LmZvby5jb20KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8vIGh0dHAvMS4xCkRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKSG9zdDpob3N0LmZvby5jb20KQXV0aG9yaXphdGlvbjogQVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1iMjdjY2ZiZmE3ZGY1MmEyMDBmZjc0MTkzY2E2ZTMyZDRiNDhiODg1NmZhYjdlYmYxYzU5NWQwNjcwYTdlNDcwCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slash.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAozNjZiOTFmYjEyMWQ3MmEwMGY0NmJiZThkMzk1ZjUzYTEwMmIwNmRmYjdlNzk2MzY1MTUyMDhlZDNmYTYwNmIx]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slashes.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1iMDAzOTIyNjI4NTNjZmUzMjAxZTQ3Y2NmOTQ1NjAxMDc5ZTliOGE3ZjUxZWU0YzNkOWVlNGYxODdhYTliZjE5]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slashes.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi9mb28vCgpkYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCmhvc3Q6aG9zdC5mb28uY29tCgpkYXRlO2hvc3QKZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NQ==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slashes.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8vZm9vLy8gaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slashes.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8vZm9vLy8gaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQpBdXRob3JpemF0aW9uOiBBV1M0LUhNQUMtU0hBMjU2IENyZWRlbnRpYWw9QUtJREVYQU1QTEUvMjAxMTA5MDkvdXMtZWFzdC0xL2hvc3QvYXdzNF9yZXF1ZXN0LCBTaWduZWRIZWFkZXJzPWRhdGU7aG9zdCwgU2lnbmF0dXJlPWIwMDM5MjI2Mjg1M2NmZTMyMDFlNDdjY2Y5NDU2MDEwNzllOWI4YTdmNTFlZTRjM2Q5ZWU0ZjE4N2FhOWJmMTkKCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-slashes.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAo2YmI0NDc2ZWU4NzQ1NzMwYzljYjc5ZjMzYTBjNzBiYWE2ZDhhZjI5YzAwNzdmYTEyZTRlOGYxZGQxN2U3MDk4]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-space.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1mMzA5Y2ZiZDEwMTk3YTIzMGM0MmRkMTdkYmY1Y2NhOGEwNzIyNTY0Y2I0MGE4NzJkMjU2MjNjZmE3NThlMzc0]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-space.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi8lMjAvZm9vCgpkYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCmhvc3Q6aG9zdC5mb28uY29tCgpkYXRlO2hvc3QKZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NQ==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-space.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8lMjAvZm9vIGh0dHAvMS4xCkRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKSG9zdDpob3N0LmZvby5jb20KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-space.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8lMjAvZm9vIGh0dHAvMS4xCkRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKSG9zdDpob3N0LmZvby5jb20KQXV0aG9yaXphdGlvbjogQVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1mMzA5Y2ZiZDEwMTk3YTIzMGM0MmRkMTdkYmY1Y2NhOGEwNzIyNTY0Y2I0MGE4NzJkMjU2MjNjZmE3NThlMzc0Cgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-space.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAo2OWM0NWZiOWZlM2ZkNzY0NDJiNTA4NmU1MGIyZTlmZWM4Mjk4MzU4ZGE5NTdiMjkzZWYyNmU1MDZmZGZiNTRi]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-unreserved.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT04MzBjYzM2ZDAzZjBmODRlNmVlNDk1M2ZiZTcwMWMxYzhiNzFhMDM3MmM2M2FmOTI1NWFhMzY0ZGQxODMyODFl]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-unreserved.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi8tLl9+MDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoKCmRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KCmRhdGU7aG9zdAplM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-unreserved.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8tLl9+MDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-unreserved.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8tLl9+MDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQpBdXRob3JpemF0aW9uOiBBV1M0LUhNQUMtU0hBMjU2IENyZWRlbnRpYWw9QUtJREVYQU1QTEUvMjAxMTA5MDkvdXMtZWFzdC0xL2hvc3QvYXdzNF9yZXF1ZXN0LCBTaWduZWRIZWFkZXJzPWRhdGU7aG9zdCwgU2lnbmF0dXJlPTgzMGNjMzZkMDNmMGY4NGU2ZWU0OTUzZmJlNzAxYzFjOGI3MWEwMzcyYzYzYWY5MjU1YWEzNjRkZDE4MzI4MWUKCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-unreserved.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdApkZjYzZWUzMjQ3YzAzNTZjNjk2YTNiMjFmOGQ4NDkwYjAxZmE5Y2Q1YmM2NTUwZWY1ZWY1ZjQ2MzZiN2I4OTAx]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-utf8.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT04ZDY2MzRjMTg5YWE4Yzc1YzJlNTFlMTA2YjZiNTEyMWJlZDEwM2ZkYjM1MWY3ZDdkNDM4MWM3Mzg4MjNhZjc0]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-utf8.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi8lRTElODglQjQKCmRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KCmRhdGU7aG9zdAplM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-utf8.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8lRTElODglQjQgaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-utf8.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8lRTElODglQjQgaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQpBdXRob3JpemF0aW9uOiBBV1M0LUhNQUMtU0hBMjU2IENyZWRlbnRpYWw9QUtJREVYQU1QTEUvMjAxMTA5MDkvdXMtZWFzdC0xL2hvc3QvYXdzNF9yZXF1ZXN0LCBTaWduZWRIZWFkZXJzPWRhdGU7aG9zdCwgU2lnbmF0dXJlPThkNjYzNGMxODlhYThjNzVjMmU1MWUxMDZiNmI1MTIxYmVkMTAzZmRiMzUxZjdkN2Q0MzgxYzczODgyM2FmNzQKCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-utf8.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAoyN2JhMzFkZjVkYmM2ZTA2M2Q4Zjg3ZDYyZWIwNzE0M2Y3ZjI3MWM1MzMwYTkxNzg0MDU4NmFjMWM4NWI2ZjZi]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-empty-query-key.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT01NmMwNTQ0NzNmZDI2MGMxM2U0ZTczOTNlYjIwMzY2MjE5NWY1ZDRhMWZhZGE1MzE0YjhiNTJiMjNmOTg1ZTlm]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-empty-query-key.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi8KZm9vPWJhcgpkYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCmhvc3Q6aG9zdC5mb28uY29tCgpkYXRlO2hvc3QKZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NQ==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-empty-query-key.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8/Zm9vPWJhciBodHRwLzEuMQpEYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCkhvc3Q6aG9zdC5mb28uY29tCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-empty-query-key.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8/Zm9vPWJhciBodHRwLzEuMQpEYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCkhvc3Q6aG9zdC5mb28uY29tCkF1dGhvcml6YXRpb246IEFXUzQtSE1BQy1TSEEyNTYgQ3JlZGVudGlhbD1BS0lERVhBTVBMRS8yMDExMDkwOS91cy1lYXN0LTEvaG9zdC9hd3M0X3JlcXVlc3QsIFNpZ25lZEhlYWRlcnM9ZGF0ZTtob3N0LCBTaWduYXR1cmU9NTZjMDU0NDczZmQyNjBjMTNlNGU3MzkzZWIyMDM2NjIxOTVmNWQ0YTFmYWRhNTMxNGI4YjUyYjIzZjk4NWU5ZgoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-empty-query-key.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAowODQ2YzI5NDViMDgzMmRlYjdhNDYzYzY2YWY1YzRmOGJkNTRlYzI4YzQzOGU2N2EyMTQ0NDViMTU3YzlkZGY4]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-key-case.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1iZTcxNDhkMzRlYmNjZGM2NDIzYjE5MDg1Mzc4YWEwYmVlOTcwYmRjNjFkMTQ0YmQxYThjNDhjMzMwNzlhYjA5]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-key-case.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi8KZm9vPVpvbyZmb289YWhhCmRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KCmRhdGU7aG9zdAplM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-key-case.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8/Zm9vPVpvbyZmb289YWhhIGh0dHAvMS4xCkRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKSG9zdDpob3N0LmZvby5jb20KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-key-case.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8/Zm9vPVpvbyZmb289YWhhIGh0dHAvMS4xCkRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKSG9zdDpob3N0LmZvby5jb20KQXV0aG9yaXphdGlvbjogQVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1iZTcxNDhkMzRlYmNjZGM2NDIzYjE5MDg1Mzc4YWEwYmVlOTcwYmRjNjFkMTQ0YmQxYThjNDhjMzMwNzlhYjA5Cgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-key-case.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAplMjVmNzc3YmExNjFhMGYxYmFmNzc4YTg3ZmFmMDU3MTg3Y2Y1OTg3ZjE3OTUzMzIwZTNjYTM5OWZlYjVmMDBk]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-key.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT0wZGMxMjJmM2IyOGI4MzFhYjQ4YmE2NWNiNDczMDBkZTUzZmJlOTFiNTc3ZmUxMTNlZGFjMzgzNzMwMjU0YTNi]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-key.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi8KYT1mb28mYj1mb28KZGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApob3N0Omhvc3QuZm9vLmNvbQoKZGF0ZTtob3N0CmUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTU=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-key.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8/YT1mb28mYj1mb28gaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-key.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8/YT1mb28mYj1mb28gaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQpBdXRob3JpemF0aW9uOiBBV1M0LUhNQUMtU0hBMjU2IENyZWRlbnRpYWw9QUtJREVYQU1QTEUvMjAxMTA5MDkvdXMtZWFzdC0xL2hvc3QvYXdzNF9yZXF1ZXN0LCBTaWduZWRIZWFkZXJzPWRhdGU7aG9zdCwgU2lnbmF0dXJlPTBkYzEyMmYzYjI4YjgzMWFiNDhiYTY1Y2I0NzMwMGRlNTNmYmU5MWI1NzdmZTExM2VkYWMzODM3MzAyNTRhM2IKCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-key.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAoyZjIzZDE0ZmUxM2NhZWJmNmRmZGEzNDYyODVjNmQ5YzE0ZjQ5ZWFjYThmNWVjNTVjNjI3ZGQ3NDA0ZjdhNzI3]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-value.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1mZWI5MjZlNDllMzgyYmVjNzVjOWQ3ZGNiMmExYjZkYzhhYTUwY2E0M2MyNWQyYmM1MTE0Mzc2OGMwODc1YWNj]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-value.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi8KZm9vPWEmZm9vPWIKZGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApob3N0Omhvc3QuZm9vLmNvbQoKZGF0ZTtob3N0CmUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTU=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-value.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8/Zm9vPWImZm9vPWEgaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-value.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8/Zm9vPWImZm9vPWEgaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQpBdXRob3JpemF0aW9uOiBBV1M0LUhNQUMtU0hBMjU2IENyZWRlbnRpYWw9QUtJREVYQU1QTEUvMjAxMTA5MDkvdXMtZWFzdC0xL2hvc3QvYXdzNF9yZXF1ZXN0LCBTaWduZWRIZWFkZXJzPWRhdGU7aG9zdCwgU2lnbmF0dXJlPWZlYjkyNmU0OWUzODJiZWM3NWM5ZDdkY2IyYTFiNmRjOGFhNTBjYTQzYzI1ZDJiYzUxMTQzNzY4YzA4NzVhY2MKCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-order-value.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAozM2RmZmMyMjBlODkxMzFmOGY2MTU3YTM1YzQwOTAzZGFhNjU4NjA4ZDkxMjlmZjk0ODllNWNmNWJiZDliMTFi]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-unreserved.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1mMTQ5OGRkYjRkNmRhZTc2N2Q5N2M0NjZmYjkyZjFiNTlhMmM3MWNhMjlhYzk1NDY5MjY2M2Y5ZGIwMzQyNmZi]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-unreserved.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi8KLS5ffjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6PS0uX34wMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5egpkYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCmhvc3Q6aG9zdC5mb28uY29tCgpkYXRlO2hvc3QKZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NQ==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-unreserved.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8/LS5ffjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6PS0uX34wMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBodHRwLzEuMQpEYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCkhvc3Q6aG9zdC5mb28uY29tCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-unreserved.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8/LS5ffjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6PS0uX34wMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiBodHRwLzEuMQpEYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCkhvc3Q6aG9zdC5mb28uY29tCkF1dGhvcml6YXRpb246IEFXUzQtSE1BQy1TSEEyNTYgQ3JlZGVudGlhbD1BS0lERVhBTVBMRS8yMDExMDkwOS91cy1lYXN0LTEvaG9zdC9hd3M0X3JlcXVlc3QsIFNpZ25lZEhlYWRlcnM9ZGF0ZTtob3N0LCBTaWduYXR1cmU9ZjE0OThkZGI0ZDZkYWU3NjdkOTdjNDY2ZmI5MmYxYjU5YTJjNzFjYTI5YWM5NTQ2OTI2NjNmOWRiMDM0MjZmYgoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query-unreserved.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdApkMjU3OGYzMTU2ZDRjOWQxODA3MTNkMWZmMjA2MDFkOGEzZWVkMGRkMzU0NDdkMjQ2MDNkN2Q2NzQxNGJkNmI1]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1iMjdjY2ZiZmE3ZGY1MmEyMDBmZjc0MTkzY2E2ZTMyZDRiNDhiODg1NmZhYjdlYmYxYzU5NWQwNjcwYTdlNDcw]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi8KCmRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KCmRhdGU7aG9zdAplM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8gaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8gaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQpBdXRob3JpemF0aW9uOiBBV1M0LUhNQUMtU0hBMjU2IENyZWRlbnRpYWw9QUtJREVYQU1QTEUvMjAxMTA5MDkvdXMtZWFzdC0xL2hvc3QvYXdzNF9yZXF1ZXN0LCBTaWduZWRIZWFkZXJzPWRhdGU7aG9zdCwgU2lnbmF0dXJlPWIyN2NjZmJmYTdkZjUyYTIwMGZmNzQxOTNjYTZlMzJkNGI0OGI4ODU2ZmFiN2ViZjFjNTk1ZDA2NzBhN2U0NzAKCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla-query.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAozNjZiOTFmYjEyMWQ3MmEwMGY0NmJiZThkMzk1ZjUzYTEwMmIwNmRmYjdlNzk2MzY1MTUyMDhlZDNmYTYwNmIx]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1iMjdjY2ZiZmE3ZGY1MmEyMDBmZjc0MTkzY2E2ZTMyZDRiNDhiODg1NmZhYjdlYmYxYzU5NWQwNjcwYTdlNDcw]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUCi8KCmRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KCmRhdGU7aG9zdAplM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8gaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0VUIC8gaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQpBdXRob3JpemF0aW9uOiBBV1M0LUhNQUMtU0hBMjU2IENyZWRlbnRpYWw9QUtJREVYQU1QTEUvMjAxMTA5MDkvdXMtZWFzdC0xL2hvc3QvYXdzNF9yZXF1ZXN0LCBTaWduZWRIZWFkZXJzPWRhdGU7aG9zdCwgU2lnbmF0dXJlPWIyN2NjZmJmYTdkZjUyYTIwMGZmNzQxOTNjYTZlMzJkNGI0OGI4ODU2ZmFiN2ViZjFjNTk1ZDA2NzBhN2U0NzAKCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/get-vanilla.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAozNjZiOTFmYjEyMWQ3MmEwMGY0NmJiZThkMzk1ZjUzYTEwMmIwNmRmYjdlNzk2MzY1MTUyMDhlZDNmYTYwNmIx]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-key-case.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT0yMjkwMmQ3OWUxNDhiNjRlNzU3MWMzNTY1NzY5MzI4NDIzZmUyNzZlYWU0YjI2ZjgzYWZjZWRhOWU3NjdmNzI2]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-key-case.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVAovCgpkYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCmhvc3Q6aG9zdC5mb28uY29tCgpkYXRlO2hvc3QKZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NQ==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-key-case.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkRBVEU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-key-case.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkRBVEU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KQXV0aG9yaXphdGlvbjogQVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT0yMjkwMmQ3OWUxNDhiNjRlNzU3MWMzNTY1NzY5MzI4NDIzZmUyNzZlYWU0YjI2ZjgzYWZjZWRhOWU3NjdmNzI2Cgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-key-case.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAowNWRhNjJjZWU0NjhkMjRhZTg0ZmFmZjNjMzlmMWI4NTU0MGRlNjAyNDNjMWJjYWFjZTM5YzBhMmFjYzdiMmM0]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-key-sort.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3Q7em9vLCBTaWduYXR1cmU9YjdhOTVhNTI1MThhYmJjYTA5NjRhOTk5YTg4MDQyOWFiNzM0ZjM1ZWJiZjEyMzViZDc5YTVkZTg3NzU2ZGM0YQ==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-key-sort.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVAovCgpkYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCmhvc3Q6aG9zdC5mb28uY29tCnpvbzp6b29iYXIKCmRhdGU7aG9zdDt6b28KZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NQ==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-key-sort.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkRBVEU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KWk9POnpvb2JhcgoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-key-sort.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkRBVEU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KWk9POnpvb2JhcgpBdXRob3JpemF0aW9uOiBBV1M0LUhNQUMtU0hBMjU2IENyZWRlbnRpYWw9QUtJREVYQU1QTEUvMjAxMTA5MDkvdXMtZWFzdC0xL2hvc3QvYXdzNF9yZXF1ZXN0LCBTaWduZWRIZWFkZXJzPWRhdGU7aG9zdDt6b28sIFNpZ25hdHVyZT1iN2E5NWE1MjUxOGFiYmNhMDk2NGE5OTlhODgwNDI5YWI3MzRmMzVlYmJmMTIzNWJkNzlhNWRlODc3NTZkYzRhCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-key-sort.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAozNGUxYmRkZWI5OWU3NmVlMDFkNjNiNWUyODY1NjExMWUyMTA1MjllZmVlYzZjZGZkNDZhNDhlNGM3MzQ1NDVk]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-value-case.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3Q7em9vLCBTaWduYXR1cmU9MjczMzEzYWY5ZDBjMjY1YzUzMWUxMWRiNzBiYmQ2NTNmM2JhMDc0YzEwMDkyMzllODU1OWQzOTg3MDM5Y2FkNw==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-value-case.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVAovCgpkYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCmhvc3Q6aG9zdC5mb28uY29tCnpvbzpaT09CQVIKCmRhdGU7aG9zdDt6b28KZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NQ==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-value-case.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkRBVEU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20Kem9vOlpPT0JBUgoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-value-case.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkRBVEU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20Kem9vOlpPT0JBUgpBdXRob3JpemF0aW9uOiBBV1M0LUhNQUMtU0hBMjU2IENyZWRlbnRpYWw9QUtJREVYQU1QTEUvMjAxMTA5MDkvdXMtZWFzdC0xL2hvc3QvYXdzNF9yZXF1ZXN0LCBTaWduZWRIZWFkZXJzPWRhdGU7aG9zdDt6b28sIFNpZ25hdHVyZT0yNzMzMTNhZjlkMGMyNjVjNTMxZTExZGI3MGJiZDY1M2YzYmEwNzRjMTAwOTIzOWU4NTU5ZDM5ODcwMzljYWQ3Cgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-header-value-case.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAozYWFlNmQ4Mjc0YjhjMDNlMmNjOTZmYzdkNmJkYTRiOWJkN2EwYTE4NDMwOTM0NDQ3MGIyYzk2OTUzZTEyNGFh]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla-empty-query-value.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1iNmUzYjc5MDAzY2UwNzQzYTQ5MTYwNmJhMTAzNWE4MDQ1OTNiMGVmYjFlMjBhMTFjYmE4M2Y4YzI1YTU3YTky]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla-empty-query-value.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVAovCmZvbz1iYXIKZGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApob3N0Omhvc3QuZm9vLmNvbQoKZGF0ZTtob3N0CmUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTU=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla-empty-query-value.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvP2Zvbz1iYXIgaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla-empty-query-value.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvP2Zvbz1iYXIgaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQpBdXRob3JpemF0aW9uOiBBV1M0LUhNQUMtU0hBMjU2IENyZWRlbnRpYWw9QUtJREVYQU1QTEUvMjAxMTA5MDkvdXMtZWFzdC0xL2hvc3QvYXdzNF9yZXF1ZXN0LCBTaWduZWRIZWFkZXJzPWRhdGU7aG9zdCwgU2lnbmF0dXJlPWI2ZTNiNzkwMDNjZTA3NDNhNDkxNjA2YmExMDM1YTgwNDU5M2IwZWZiMWUyMGExMWNiYTgzZjhjMjVhNTdhOTIKCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla-empty-query-value.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdApjZDRmMzkxMzJkOGU2MGJiMzg4ODMxZDczNDIzMDQ2MDg3MmI1NjQ4NzFjNDdmNWRlNjJlNjJkMWE2OGRiZTFl]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla-query.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT1iNmUzYjc5MDAzY2UwNzQzYTQ5MTYwNmJhMTAzNWE4MDQ1OTNiMGVmYjFlMjBhMTFjYmE4M2Y4YzI1YTU3YTky]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla-query.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVAovCmZvbz1iYXIKZGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApob3N0Omhvc3QuZm9vLmNvbQoKZGF0ZTtob3N0CmUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTU=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla-query.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvP2Zvbz1iYXIgaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQoK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla-query.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvP2Zvbz1iYXIgaHR0cC8xLjEKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQpBdXRob3JpemF0aW9uOiBBV1M0LUhNQUMtU0hBMjU2IENyZWRlbnRpYWw9QUtJREVYQU1QTEUvMjAxMTA5MDkvdXMtZWFzdC0xL2hvc3QvYXdzNF9yZXF1ZXN0LCBTaWduZWRIZWFkZXJzPWRhdGU7aG9zdCwgU2lnbmF0dXJlPWI2ZTNiNzkwMDNjZTA3NDNhNDkxNjA2YmExMDM1YTgwNDU5M2IwZWZiMWUyMGExMWNiYTgzZjhjMjVhNTdhOTIKCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla-query.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdApjZDRmMzkxMzJkOGU2MGJiMzg4ODMxZDczNDIzMDQ2MDg3MmI1NjQ4NzFjNDdmNWRlNjJlNjJkMWE2OGRiZTFl]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT0yMjkwMmQ3OWUxNDhiNjRlNzU3MWMzNTY1NzY5MzI4NDIzZmUyNzZlYWU0YjI2ZjgzYWZjZWRhOWU3NjdmNzI2]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVAovCgpkYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCmhvc3Q6aG9zdC5mb28uY29tCgpkYXRlO2hvc3QKZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NQ==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKSG9zdDpob3N0LmZvby5jb20KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKSG9zdDpob3N0LmZvby5jb20KQXV0aG9yaXphdGlvbjogQVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1kYXRlO2hvc3QsIFNpZ25hdHVyZT0yMjkwMmQ3OWUxNDhiNjRlNzU3MWMzNTY1NzY5MzI4NDIzZmUyNzZlYWU0YjI2ZjgzYWZjZWRhOWU3NjdmNzI2Cgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-vanilla.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAowNWRhNjJjZWU0NjhkMjRhZTg0ZmFmZjNjMzlmMWI4NTU0MGRlNjAyNDNjMWJjYWFjZTM5YzBhMmFjYzdiMmM0]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-x-www-form-urlencoded-parameters.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1jb250ZW50LXR5cGU7ZGF0ZTtob3N0LCBTaWduYXR1cmU9YjEwNWViMTBjNmQzMThkMjI5NGRlOWQ0OWRkOGIwMzFiNTVlM2MzZmUxMzlmMmU2MzdkYTcwNTExZTllN2I3MQ==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-x-www-form-urlencoded-parameters.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVAovCgpjb250ZW50LXR5cGU6YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0ZjgKZGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApob3N0Omhvc3QuZm9vLmNvbQoKY29udGVudC10eXBlO2RhdGU7aG9zdAozYmE4OTA3ZTdhMjUyMzI3NDg4ZGYzOTBlZDUxN2M0NWI5NmRlYWQwMzM2MDAyMTliZGNhNzEwN2QxZDNmODhh]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-x-www-form-urlencoded-parameters.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkNvbnRlbnQtVHlwZTphcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9dXRmOApEYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCkhvc3Q6aG9zdC5mb28uY29tCgpmb289YmFy]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-x-www-form-urlencoded-parameters.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkNvbnRlbnQtVHlwZTphcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9dXRmOApEYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UCkhvc3Q6aG9zdC5mb28uY29tCkF1dGhvcml6YXRpb246IEFXUzQtSE1BQy1TSEEyNTYgQ3JlZGVudGlhbD1BS0lERVhBTVBMRS8yMDExMDkwOS91cy1lYXN0LTEvaG9zdC9hd3M0X3JlcXVlc3QsIFNpZ25lZEhlYWRlcnM9Y29udGVudC10eXBlO2RhdGU7aG9zdCwgU2lnbmF0dXJlPWIxMDVlYjEwYzZkMzE4ZDIyOTRkZTlkNDlkZDhiMDMxYjU1ZTNjM2ZlMTM5ZjJlNjM3ZGE3MDUxMWU5ZTdiNzEKCmZvbz1iYXI=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-x-www-form-urlencoded-parameters.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdApjNDExNWY5ZTU0YjVjZWNmMTkyYjFlYWEyM2I4ZTg4ZWQ4ZGM1MzkxYmQ0ZmRlN2IzZmZmM2Q5YzlmZTBhZjFm]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-x-www-form-urlencoded.authz</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPUFLSURFWEFNUExFLzIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1jb250ZW50LXR5cGU7ZGF0ZTtob3N0LCBTaWduYXR1cmU9NWExNWIyMmNmNDYyZjA0NzMxODcwM2I5MmU2ZjRmMzg4ODRlNGE3YWI3YjFkNjQyNmNhNDZhOGJkMWMyNmNiYw==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-x-www-form-urlencoded.creq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVAovCgpjb250ZW50LXR5cGU6YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkCmRhdGU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQKaG9zdDpob3N0LmZvby5jb20KCmNvbnRlbnQtdHlwZTtkYXRlO2hvc3QKM2JhODkwN2U3YTI1MjMyNzQ4OGRmMzkwZWQ1MTdjNDViOTZkZWFkMDMzNjAwMjE5YmRjYTcxMDdkMWQzZjg4YQ==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-x-www-form-urlencoded.req</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkNvbnRlbnQtVHlwZTphcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQoKZm9vPWJhcg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-x-www-form-urlencoded.sreq</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UE9TVCAvIGh0dHAvMS4xCkNvbnRlbnQtVHlwZTphcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQKRGF0ZTpNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVApIb3N0Omhvc3QuZm9vLmNvbQpBdXRob3JpemF0aW9uOiBBV1M0LUhNQUMtU0hBMjU2IENyZWRlbnRpYWw9QUtJREVYQU1QTEUvMjAxMTA5MDkvdXMtZWFzdC0xL2hvc3QvYXdzNF9yZXF1ZXN0LCBTaWduZWRIZWFkZXJzPWNvbnRlbnQtdHlwZTtkYXRlO2hvc3QsIFNpZ25hdHVyZT01YTE1YjIyY2Y0NjJmMDQ3MzE4NzAzYjkyZTZmNGYzODg4NGU0YTdhYjdiMWQ2NDI2Y2E0NmE4YmQxYzI2Y2JjCgpmb289YmFy]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/aws4_testsuite/post-x-www-form-urlencoded.sts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QVdTNC1ITUFDLVNIQTI1NgoyMDExMDkwOVQyMzM2MDBaCjIwMTEwOTA5L3VzLWVhc3QtMS9ob3N0L2F3czRfcmVxdWVzdAo0YzVjNmU0YjUyZmI1ZmI5NDdhODczMzk4MmE4YTVhNjFiMTRmMDQzNDVjYmZlNmU3MzkyMzZjNzZkZDQ4Zjc0]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/SignatureListenerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXFNpZ25hdHVyZTsKCnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzOwp1c2UgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlTGlzdGVuZXI7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q7CnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50OwoKY2xhc3MgU2lnbmF0dXJlTGlzdGVuZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlTGlzdGVuZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTaWduc1JlcXVlc3RzUHJvcGVybHkoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tJyk7CiAgICAgICAgJHJlcXVlc3QtPmdldEV2ZW50RGlzcGF0Y2hlcigpOwogICAgICAgICRjcmVkZW50aWFscyA9IG5ldyBDcmVkZW50aWFscygnYScsICdiJyk7CiAgICAgICAgJHNpZ25hdHVyZSA9ICR0aGlzLT5nZXRNb2NrKCdBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWNCcpOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCBzaWduaW5nIHRoZSByZXF1ZXN0IG9jY3VycmVkIG9uY2Ugd2l0aCB0aGUgY29ycmVjdCBhcmdzCiAgICAgICAgJHNpZ25hdHVyZS0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnc2lnblJlcXVlc3QnKQogICAgICAgICAgICAtPndpdGgoJHRoaXMtPmVxdWFsVG8oJHJlcXVlc3QpLCAkdGhpcy0+ZXF1YWxUbygkY3JlZGVudGlhbHMpKTsKCiAgICAgICAgJGxpc3RlbmVyID0gbmV3IFNpZ25hdHVyZUxpc3RlbmVyKCRjcmVkZW50aWFscywgJHNpZ25hdHVyZSk7CgogICAgICAgIC8vIENyZWF0ZSBhIG1vY2sgZXZlbnQKICAgICAgICAkZXZlbnQgPSBuZXcgRXZlbnQoYXJyYXkoCiAgICAgICAgICAgICdyZXF1ZXN0JyA9PiAkcmVxdWVzdAogICAgICAgICkpOwoKICAgICAgICAkbGlzdGVuZXItPm9uUmVxdWVzdEJlZm9yZVNlbmQoJGV2ZW50KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWRlbnRpYWxzR2V0VXBkYXRlZCgpCiAgICB7CiAgICAgICAgJGNyZWRlbnRpYWxzID0gbmV3IENyZWRlbnRpYWxzKCdhY2Nlc3Mta2V5LW9uZScsICdzZWNyZXQnKTsKICAgICAgICAkc2lnbmF0dXJlID0gJHRoaXMtPmdldE1vY2soJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0Jyk7CiAgICAgICAgJGNvbmZpZyA9IG5ldyBDb2xsZWN0aW9uKCk7CgogICAgICAgICRjbGllbnQgPSBuZXcgXEF3c1xTM1xTM0NsaWVudCgkY3JlZGVudGlhbHMsICRzaWduYXR1cmUsICRjb25maWcpOwogICAgICAgICRsaXN0ZW5lciA9IG5ldyBTaWduYXR1cmVMaXN0ZW5lcigkY3JlZGVudGlhbHMsICRzaWduYXR1cmUpOwogICAgICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIoJGxpc3RlbmVyKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYWNjZXNzLWtleS1vbmUnLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkbGlzdGVuZXIsICdjcmVkZW50aWFscycpLT5nZXRBY2Nlc3NLZXlJZCgpKTsKICAgICAgICAkY2xpZW50LT5zZXRDcmVkZW50aWFscyhuZXcgQ3JlZGVudGlhbHMoJ2FjY2Vzcy1rZXktdHdvJywgJ3NlY3JldCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhY2Nlc3Mta2V5LXR3bycsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRsaXN0ZW5lciwgJ2NyZWRlbnRpYWxzJyktPmdldEFjY2Vzc0tleUlkKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVMaXN0ZW5lcjo6Z2V0U3Vic2NyaWJlZEV2ZW50cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFN1YnNjcmliZXNUb0V2ZW50cygpCiAgICB7CiAgICAgICAgJGV2ZW50cyA9IFNpZ25hdHVyZUxpc3RlbmVyOjpnZXRTdWJzY3JpYmVkRXZlbnRzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdyZXF1ZXN0LmJlZm9yZV9zZW5kJywgJGV2ZW50cyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdjbGllbnQuY3JlZGVudGlhbHNfY2hhbmdlZCcsICRldmVudHMpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/SignatureV2Test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXFNpZ25hdHVyZTsKCnVzZSBBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWMjsKdXNlIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RGYWN0b3J5Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0OwoKY2xhc3MgU2lnbmF0dXJlVjJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBjb25zdCBERUZBVUxUX0tFWSA9ICdBS0lERVhBTVBMRSc7CiAgICBjb25zdCBERUZBVUxUX1NFQ1JFVCA9ICd3SmFsclhVdG5GRU1JL0s3TURFTkcrYlB4UmZpQ1lFWEFNUExFS0VZJzsKICAgIGNvbnN0IERFRkFVTFRfREFURVRJTUUgPSAnRnJpLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQnOwoKICAgIC8qKgogICAgICogQHJldHVybiBTaWduYXR1cmVWMgogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldFNpZ25hdHVyZSgpCiAgICB7CiAgICAgICAgLy8gTW9jayB0aGUgdGltZXN0YW1wIGZ1bmN0aW9uIHRvIHVzZSB0aGUgdGVzdCBzdWl0ZSB0aW1lc3RhbXAKICAgICAgICAkc2lnbmF0dXJlID0gJHRoaXMtPmdldE1vY2soJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVYyJywgYXJyYXkoJ2dldFRpbWVzdGFtcCcpKTsKCiAgICAgICAgLy8gSGFjayB0aGUgc2hhcmVkIHRpbWVzdGFtcAogICAgICAgICRzaWduYXR1cmUtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0VGltZXN0YW1wJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShzdHJ0b3RpbWUoc2VsZjo6REVGQVVMVF9EQVRFVElNRSkpKTsKCiAgICAgICAgcmV0dXJuICRzaWduYXR1cmU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTaWduc1JlcXVlc3RzV2l0aFNlY3VyaXR5VG9rZW4oKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUE9TVCcsICdodHRwOi8vZm9vLmNvbScpOwogICAgICAgICRyZXF1ZXN0LT5hZGRQb3N0RmllbGRzKGFycmF5KCdUZXN0JyA9PiAnMTIzJykpOwogICAgICAgICRyZXF1ZXN0LT5yZW1vdmVIZWFkZXIoJ1VzZXItQWdlbnQnKS0+cmVtb3ZlSGVhZGVyKCdDb250ZW50LUxlbmd0aCcpOwogICAgICAgICRjcmVkZW50aWFscyA9IG5ldyBDcmVkZW50aWFscyhzZWxmOjpERUZBVUxUX0tFWSwgc2VsZjo6REVGQVVMVF9TRUNSRVQsICdmb28nKTsKICAgICAgICAkc2lnbmF0dXJlID0gJHRoaXMtPmdldFNpZ25hdHVyZSgpOwogICAgICAgICRzaWduYXR1cmUtPnNpZ25SZXF1ZXN0KCRyZXF1ZXN0LCAkY3JlZGVudGlhbHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoCiAgICAgICAgICAgICJQT1NUXG5mb28uY29tXG4vXG5BV1NBY2Nlc3NLZXlJZD1BS0lERVhBTVBMRSZTZWN1cml0eVRva2VuPWZvbyZTaWduYXR1cmVNZXRob2Q9SG1hY1NIQTI1NiZTaWduYXR1cmVWZXJzaW9uPTImVGVzdD0xMjMmVGltZXN0YW1wPTIwMTEtMDktMDlUMjMlM0EzNiUzQTAwJTJCMDAlM0EwMCIsCiAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+Z2V0KCdhd3Muc3RyaW5nX3RvX3NpZ24nKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIHRlc3RTdWl0ZVByb3ZpZGVyCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVYyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2lnbnNSZXF1ZXN0c1Byb3Blcmx5KCRyZXF1ZXN0LCAkc3RyaW5nVG9TaWduLCAkcG9zdEZpZWxkcywgJG1vY2tzaWduYXR1cmUpCiAgICB7CiAgICAgICAgLy8gQ3JlYXRlIGEgcmVxdWVzdCBiYXNlZCBvbiB0aGUgcmVxdWVzdAogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmZyb21NZXNzYWdlKCRyZXF1ZXN0KTsKICAgICAgICBpZiAoIWVtcHR5KCRwb3N0RmllbGRzKSkgewogICAgICAgICAgICAkcmVxdWVzdC0+YWRkUG9zdEZpZWxkcygkcG9zdEZpZWxkcyk7CiAgICAgICAgfQoKICAgICAgICAvLyBTYW5pdGl6ZSB0aGUgcmVxdWVzdAogICAgICAgICRyZXF1ZXN0LT5yZW1vdmVIZWFkZXIoJ1VzZXItQWdlbnQnKS0+cmVtb3ZlSGVhZGVyKCdDb250ZW50LUxlbmd0aCcpOwoKICAgICAgICAvLyBTaWduIHRoZSByZXF1ZXN0IHVzaW5nIHRoZSB0ZXN0IGNyZWRlbnRpYWxzCiAgICAgICAgJGNyZWRlbnRpYWxzID0gbmV3IENyZWRlbnRpYWxzKHNlbGY6OkRFRkFVTFRfS0VZLCBzZWxmOjpERUZBVUxUX1NFQ1JFVCk7CiAgICAgICAgLy8gR2V0IGEgbW9jayBzaWduYXR1cmUgb2JqZWN0CiAgICAgICAgJHNpZ25hdHVyZSA9ICR0aGlzLT5nZXRTaWduYXR1cmUoKTsKCiAgICAgICAgLy8gU2lnbiB0aGUgcmVxdWVzdAogICAgICAgICRzaWduYXR1cmUtPnNpZ25SZXF1ZXN0KCRyZXF1ZXN0LCAkY3JlZGVudGlhbHMpOwoKICAgICAgICAvLyBUZXN0IHRoYXQgdGhlIHN0cmluZyB0byBzaWduIGlzIGNvcnJlY3QKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRzdHJpbmdUb1NpZ24sICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+Z2V0KCdhd3Muc3RyaW5nX3RvX3NpZ24nKSk7CgogICAgICAgIC8vIFRlc3QgdGhhdCB0aGUgc2lnbmF0dXJlIGlzIGNvcnJlY3QKICAgICAgICBpZiAoIWVtcHR5KCRwb3N0RmllbGRzKSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRtb2Nrc2lnbmF0dXJlLCAkcmVxdWVzdC0+Z2V0UG9zdEZpZWxkKCdTaWduYXR1cmUnKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkbW9ja3NpZ25hdHVyZSwgJHJlcXVlc3QtPmdldFF1ZXJ5KCktPmdldCgnU2lnbmF0dXJlJykpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdWl0ZVByb3ZpZGVyKCkKICAgIHsKICAgICAgICAkZGF0ZSA9IHNlbGY6OkRFRkFVTFRfREFURVRJTUU7CiAgICAgICAgJHRpbWVzdGFtcCA9IHJhd3VybGVuY29kZShnbWRhdGUoJ2MnLCBzdHJ0b3RpbWUoJGRhdGUpKSk7CiAgICAgICAgJGtleSA9IHNlbGY6OkRFRkFVTFRfS0VZOwoKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgIlBPU1QgLyBIVFRQLzEuMVxyXG5Ib3N0OiBzZGIudXMtd2VzdC0yLmFtYXpvbmF3cy5jb21cclxuQ29udGVudC1MZW5ndGg6IDE1NVxyXG5Db250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFxyXG5cclxuU2lnbmF0dXJlVmVyc2lvbj0yJkFXU0FjY2Vzc0tleUlkPSRrZXkmQWN0aW9uPUxpc3REb21haW5zJlZlcnNpb249MjAwOS0wNC0xNSZTaWduYXR1cmVNZXRob2Q9SG1hY1NIQTI1NiZUaW1lc3RhbXA9JHRpbWVzdGFtcCIsCiAgICAgICAgICAgICAgICAiUE9TVFxuc2RiLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tXG4vXG5BV1NBY2Nlc3NLZXlJZD0ka2V5JkFjdGlvbj1MaXN0RG9tYWlucyZTaWduYXR1cmVNZXRob2Q9SG1hY1NIQTI1NiZTaWduYXR1cmVWZXJzaW9uPTImVGltZXN0YW1wPSR0aW1lc3RhbXAmVmVyc2lvbj0yMDA5LTA0LTE1IiwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdWZXJzaW9uJyA9PiAnMjAwOS0wNC0xNScsCiAgICAgICAgICAgICAgICAgICAgJ0FjdGlvbicgID0+ICdMaXN0RG9tYWlucycKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAiZjY5anFKQ3VDTUloQjhUaVFoV0dzRVZ4YThjczRZcnh3NEloSy95WmE2OD0iCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgIkdFVCAvP1NpZ25hdHVyZVZlcnNpb249MiZBV1NBY2Nlc3NLZXlJZD0ka2V5JkFjdGlvbj1MaXN0RG9tYWlucyZWZXJzaW9uPTIwMDktMDQtMTUmU2lnbmF0dXJlTWV0aG9kPUhtYWNTSEEyNTYmVGltZXN0YW1wPSR0aW1lc3RhbXAgSFRUUC8xLjFcclxuSG9zdDogc2RiLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tIiwKICAgICAgICAgICAgICAgICJHRVRcbnNkYi51cy13ZXN0LTIuYW1hem9uYXdzLmNvbVxuL1xuQVdTQWNjZXNzS2V5SWQ9JGtleSZBY3Rpb249TGlzdERvbWFpbnMmU2lnbmF0dXJlTWV0aG9kPUhtYWNTSEEyNTYmU2lnbmF0dXJlVmVyc2lvbj0yJlRpbWVzdGFtcD0kdGltZXN0YW1wJlZlcnNpb249MjAwOS0wNC0xNSIsCiAgICAgICAgICAgICAgICBhcnJheSgpLAogICAgICAgICAgICAgICAgIjc0eEpqV1FQMlFITjRDN2MrTm9ZcUdhQlFFZmptM0ZFekFKWEpNaDc4SEk9IgogICAgICAgICAgICApCiAgICAgICAgKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/SignatureV3HttpsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXFNpZ25hdHVyZTsKCnVzZSBBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWM0h0dHBzOwp1c2UgQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFsczsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEZhY3Rvcnk7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q7CgpjbGFzcyBTaWduYXR1cmVWM0h0dHBzVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgY29uc3QgREVGQVVMVF9LRVkgPSAnQUtJREVYQU1QTEUnOwogICAgY29uc3QgREVGQVVMVF9TRUNSRVQgPSAnd0phbHJYVXRuRkVNSS9LN01ERU5HK2JQeFJmaUNZRVhBTVBMRUtFWSc7CiAgICBjb25zdCBERUZBVUxUX0RBVEVUSU1FID0gJ0ZyaSwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UJzsKCiAgICAvKioKICAgICAqIEByZXR1cm4gU2lnbmF0dXJlVjNIdHRwcwogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldFNpZ25hdHVyZSgpCiAgICB7CiAgICAgICAgLy8gTW9jayB0aGUgdGltZXN0YW1wIGZ1bmN0aW9uIHRvIHVzZSB0aGUgdGVzdCBzdWl0ZSB0aW1lc3RhbXAKICAgICAgICAkc2lnbmF0dXJlID0gJHRoaXMtPmdldE1vY2soJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVYzSHR0cHMnLCBhcnJheSgnZ2V0VGltZXN0YW1wJykpOwoKICAgICAgICAvLyBIYWNrIHRoZSBzaGFyZWQgdGltZXN0YW1wCiAgICAgICAgJHNpZ25hdHVyZS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRUaW1lc3RhbXAnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKHN0cnRvdGltZShzZWxmOjpERUZBVUxUX0RBVEVUSU1FKSkpOwoKICAgICAgICByZXR1cm4gJHNpZ25hdHVyZTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgdGVzdFN1aXRlUHJvdmlkZXIKICAgICAqIEBjb3ZlcnMgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjNIdHRwcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNpZ25zUmVxdWVzdHNQcm9wZXJseSgkcmVxdWVzdCkKICAgIHsKICAgICAgICAvLyBDcmVhdGUgYSByZXF1ZXN0IGJhc2VkIG9uIHRoZSByZXF1ZXN0CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+ZnJvbU1lc3NhZ2UoJHJlcXVlc3QpOwoKICAgICAgICAvLyBTYW5pdGl6ZSB0aGUgcmVxdWVzdAogICAgICAgICRyZXF1ZXN0LT5yZW1vdmVIZWFkZXIoJ1VzZXItQWdlbnQnKS0+cmVtb3ZlSGVhZGVyKCdDb250ZW50LUxlbmd0aCcpOwoKICAgICAgICAvLyBTaWduIHRoZSByZXF1ZXN0IHVzaW5nIHRoZSB0ZXN0IGNyZWRlbnRpYWxzCiAgICAgICAgJGNyZWRlbnRpYWxzID0gbmV3IENyZWRlbnRpYWxzKHNlbGY6OkRFRkFVTFRfS0VZLCBzZWxmOjpERUZBVUxUX1NFQ1JFVCk7CgogICAgICAgIC8vIEdldCBhIG1vY2sgc2lnbmF0dXJlIG9iamVjdAogICAgICAgICRzaWduYXR1cmUgPSAkdGhpcy0+Z2V0U2lnbmF0dXJlKCk7CgogICAgICAgIC8vIFNpZ24gdGhlIHJlcXVlc3QKICAgICAgICAkc2lnbmF0dXJlLT5zaWduUmVxdWVzdCgkcmVxdWVzdCwgJGNyZWRlbnRpYWxzKTsKCiAgICAgICAgLy8gVGVzdCB0aGF0IHRoZSBzdHJpbmcgdG8gc2lnbiBpcyBjb3JyZWN0CiAgICAgICAgJHN0cmluZ1RvU2lnbiA9IHNlbGY6OkRFRkFVTFRfREFURVRJTUU7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkc3RyaW5nVG9TaWduLCAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmdldCgnYXdzLnN0cmluZ190b19zaWduJykpOwoKICAgICAgICAvLyBUZXN0IHRoYXQgdGhlIHNpZ25hdHVyZSBpcyBjb3JyZWN0CiAgICAgICAgJGV4cGVjdGVkSGVhZGVyID0gJ0FXUzMtSFRUUFMgQVdTQWNjZXNzS2V5SWQ9QUtJREVYQU1QTEUsQWxnb3JpdGhtPUhtYWNTSEEyNTYsU2lnbmF0dXJlPTJ4a25lNzgrYzRlN0p6VXhEQUFEdm45dkVDSW1nQ2NFYUJEa1l3M1drK3c9JzsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRleHBlY3RlZEhlYWRlciwgJHJlcXVlc3QtPmdldEhlYWRlcigneC1hbXpuLWF1dGhvcml6YXRpb24nLCB0cnVlKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U3VpdGVQcm92aWRlcigpCiAgICB7CiAgICAgICAgJGRhdGUgPSBzZWxmOjpERUZBVUxUX0RBVEVUSU1FOwogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoIkdFVCAvIEhUVFAvMS4xXHJcbkhvc3Q6IGV4YW1wbGUuY29tXHJcblxyXG4iKSwKICAgICAgICAgICAgYXJyYXkoIkdFVCAvIEhUVFAvMS4xXHJcbkhvc3Q6IGV4YW1wbGUuY29tXHJcbkRhdGU6IHskZGF0ZX1cclxuXHJcbiIpLAogICAgICAgICAgICBhcnJheSgiR0VUIC8gSFRUUC8xLjFcclxuSG9zdDogZXhhbXBsZS5jb21cclxueC1hbXotZGF0ZTogeyRkYXRlfVxyXG5cclxuIiksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjNIdHRwczo6c2lnblJlcXVlc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzU2VjdXJpdHlUb2tlbnNXaGVuQXZhaWxhYmxlKCkKICAgIHsKICAgICAgICAkc2lnbmF0dXJlID0gJHRoaXMtPmdldFNpZ25hdHVyZSgpOwogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tJyk7CgogICAgICAgIC8vIENyZWF0ZSBhIGNyZWRlbnRpYWxzIG9iamVjdCB3aXRoIGEgdG9rZW4KICAgICAgICAkY3JlZGVudGlhbHMgPSBuZXcgQ3JlZGVudGlhbHMoJ2EnLCAnYicsICdjJywgdGltZSgpICsgMTAwMDApOwoKICAgICAgICAkc2lnbmF0dXJlLT5zaWduUmVxdWVzdCgkcmVxdWVzdCwgJGNyZWRlbnRpYWxzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdjJywgJHJlcXVlc3QtPmdldEhlYWRlcigneC1hbXotc2VjdXJpdHktdG9rZW4nLCB0cnVlKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/SignatureV3Test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXFNpZ25hdHVyZTsKCnVzZSBBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWMzsKdXNlIEF3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHM7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RGYWN0b3J5Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0OwoKY2xhc3MgU2lnbmF0dXJlVjNUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBjb25zdCBERUZBVUxUX0tFWSA9ICdBS0lERVhBTVBMRSc7CiAgICBjb25zdCBERUZBVUxUX1NFQ1JFVCA9ICd3SmFsclhVdG5GRU1JL0s3TURFTkcrYlB4UmZpQ1lFWEFNUExFS0VZJzsKICAgIGNvbnN0IERFRkFVTFRfREFURVRJTUUgPSAnRnJpLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQnOwoKICAgIC8qKgogICAgICogQHJldHVybiBTaWduYXR1cmVWMwogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldFNpZ25hdHVyZSgpCiAgICB7CiAgICAgICAgLy8gTW9jayB0aGUgdGltZXN0YW1wIGZ1bmN0aW9uIHRvIHVzZSB0aGUgdGVzdCBzdWl0ZSB0aW1lc3RhbXAKICAgICAgICAkc2lnbmF0dXJlID0gJHRoaXMtPmdldE1vY2soJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVYzJywgYXJyYXkoJ2dldFRpbWVzdGFtcCcpKTsKCiAgICAgICAgLy8gSGFjayB0aGUgc2hhcmVkIHRpbWVzdGFtcAogICAgICAgICRzaWduYXR1cmUtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0VGltZXN0YW1wJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShzdHJ0b3RpbWUoc2VsZjo6REVGQVVMVF9EQVRFVElNRSkpKTsKCiAgICAgICAgcmV0dXJuICRzaWduYXR1cmU7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVYzOjpnZXRIZWFkZXJzVG9TaWduCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGV0ZXJtaW5lc1doaWNoSGVhZGVyc1RvU2lnbigpCiAgICB7CiAgICAgICAgJHNpZ25hdHVyZSA9ICR0aGlzLT5nZXRTaWduYXR1cmUoKTsKICAgICAgICAkbWV0aG9kID0gbmV3IFxSZWZsZWN0aW9uTWV0aG9kKCdBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWMycsICdnZXRIZWFkZXJzVG9TaWduJyk7CiAgICAgICAgJG1ldGhvZC0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKCiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20nLCBhcnJheSgKICAgICAgICAgICAgJ2ZvbycgICAgICAgID0+ICdiYXInLAogICAgICAgICAgICAneC1hbXotdGVzdCcgPT4gJzEyMycsCiAgICAgICAgICAgICdob3N0JyAgICAgICA9PiAnd3d3LmV4YW1wbGUuY29tJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnaG9zdCcgICAgICAgPT4gJ3d3dy5leGFtcGxlLmNvbScsCiAgICAgICAgICAgICd4LWFtei10ZXN0JyA9PiAnMTIzJwogICAgICAgICksICRtZXRob2QtPmludm9rZSgkc2lnbmF0dXJlLCAkcmVxdWVzdCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciB0ZXN0U3VpdGVQcm92aWRlcgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWMwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNpZ25zUmVxdWVzdHNQcm9wZXJseSgkcmVxdWVzdCwgJHN0cmluZ1RvU2lnbiwgJGhlYWRlcikKICAgIHsKICAgICAgICAvLyBDcmVhdGUgYSByZXF1ZXN0IGJhc2VkIG9uIHRoZSByZXF1ZXN0CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+ZnJvbU1lc3NhZ2UoJHJlcXVlc3QpOwoKICAgICAgICAvLyBTYW5pdGl6ZSB0aGUgcmVxdWVzdAogICAgICAgICRyZXF1ZXN0LT5yZW1vdmVIZWFkZXIoJ1VzZXItQWdlbnQnKS0+cmVtb3ZlSGVhZGVyKCdDb250ZW50LUxlbmd0aCcpOwoKICAgICAgICAvLyBTaWduIHRoZSByZXF1ZXN0IHVzaW5nIHRoZSB0ZXN0IGNyZWRlbnRpYWxzCiAgICAgICAgJGNyZWRlbnRpYWxzID0gbmV3IENyZWRlbnRpYWxzKHNlbGY6OkRFRkFVTFRfS0VZLCBzZWxmOjpERUZBVUxUX1NFQ1JFVCk7CiAgICAgICAgLy8gR2V0IGEgbW9jayBzaWduYXR1cmUgb2JqZWN0CiAgICAgICAgJHNpZ25hdHVyZSA9ICR0aGlzLT5nZXRTaWduYXR1cmUoKTsKCiAgICAgICAgLy8gU2lnbiB0aGUgcmVxdWVzdAogICAgICAgICRzaWduYXR1cmUtPnNpZ25SZXF1ZXN0KCRyZXF1ZXN0LCAkY3JlZGVudGlhbHMpOwoKICAgICAgICAvLyBUZXN0IHRoYXQgdGhlIHN0cmluZyB0byBzaWduIGlzIGNvcnJlY3QKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRzdHJpbmdUb1NpZ24sICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+Z2V0KCdhd3Muc3RyaW5nX3RvX3NpZ24nKSk7CgogICAgICAgIC8vIFRlc3QgdGhhdCB0aGUgc2lnbmF0dXJlIGlzIGNvcnJlY3QKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRoZWFkZXIsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ3gtYW16bi1hdXRob3JpemF0aW9uJykpOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFN1aXRlUHJvdmlkZXIoKQogICAgewogICAgICAgICRkYXRlID0gc2VsZjo6REVGQVVMVF9EQVRFVElNRTsKCiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICJHRVQgLyBIVFRQLzEuMVxyXG5Ib3N0OiBleGFtcGxlLmNvbVxyXG5cclxuIiwKICAgICAgICAgICAgICAgICJHRVRcbi9cblxuaG9zdDpleGFtcGxlLmNvbVxueC1hbXotZGF0ZTokZGF0ZVxuXG4iLAogICAgICAgICAgICAgICAgJ0FXUzMgQVdTQWNjZXNzS2V5SWQ9QUtJREVYQU1QTEUsQWxnb3JpdGhtPUhtYWNTSEEyNTYsU2lnbmVkSGVhZGVycz1ob3N0O3gtYW16LWRhdGUsU2lnbmF0dXJlPUpZdXZqLzV0REZDVmE2Tkw2Vm90RXdqNkg3RktYaWVUanpKdWJmNmNNeG89JwogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICJERUxFVEUgLyBIVFRQLzEuMVxyXG5Ib3N0OiBleGFtcGxlLmNvbVxyXG54LWFtei10ZXN0OiBmb29cclxuXHJcbiIsCiAgICAgICAgICAgICAgICAiREVMRVRFXG4vXG5cbmhvc3Q6ZXhhbXBsZS5jb21cbngtYW16LWRhdGU6JGRhdGVcbngtYW16LXRlc3Q6Zm9vXG5cbiIsCiAgICAgICAgICAgICAgICAnQVdTMyBBV1NBY2Nlc3NLZXlJZD1BS0lERVhBTVBMRSxBbGdvcml0aG09SG1hY1NIQTI1NixTaWduZWRIZWFkZXJzPWhvc3Q7eC1hbXotZGF0ZTt4LWFtei10ZXN0LFNpZ25hdHVyZT1CcmFRcjhsUmRtSXRINmtHb3FlcjVHU2FRNWlZaFk1am5wV3NIZkFWRVBrPScKICAgICAgICAgICAgKSwKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAiUE9TVCAvIEhUVFAvMS4xXHJcbkhvc3Q6IGV4YW1wbGUuY29tXHJcbngtYW16LWRhdGU6IEZvb1xyXG5cclxuIiwKICAgICAgICAgICAgICAgICJQT1NUXG4vXG5cbmhvc3Q6ZXhhbXBsZS5jb21cbngtYW16LWRhdGU6JGRhdGVcblxuIiwKICAgICAgICAgICAgICAgICdBV1MzIEFXU0FjY2Vzc0tleUlkPUFLSURFWEFNUExFLEFsZ29yaXRobT1IbWFjU0hBMjU2LFNpZ25lZEhlYWRlcnM9aG9zdDt4LWFtei1kYXRlLFNpZ25hdHVyZT1qVDRvYlhSVm1nT2J0TEJ4cU9tZGRQTlcvZWlNVEZleHM3RXp1ZElBcTIwPScKICAgICAgICAgICAgKSwKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAiR0VUIC8uL2Zvby8uLiBIVFRQLzEuMVxyXG5Ib3N0OiBleGFtcGxlLmNvbVxyXG5cclxuIiwKICAgICAgICAgICAgICAgICJHRVRcbi9cblxuaG9zdDpleGFtcGxlLmNvbVxueC1hbXotZGF0ZTokZGF0ZVxuXG4iLAogICAgICAgICAgICAgICAgJ0FXUzMgQVdTQWNjZXNzS2V5SWQ9QUtJREVYQU1QTEUsQWxnb3JpdGhtPUhtYWNTSEEyNTYsU2lnbmVkSGVhZGVycz1ob3N0O3gtYW16LWRhdGUsU2lnbmF0dXJlPUpZdXZqLzV0REZDVmE2Tkw2Vm90RXdqNkg3RktYaWVUanpKdWJmNmNNeG89JwogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICJQT1NUIC9wYXRoIEhUVFAvMS4xXHJcbkhvc3Q6IGV4YW1wbGUuY29tXHJcblxyXG5ib2R5IiwKICAgICAgICAgICAgICAgICJQT1NUXG4vcGF0aFxuXG5ob3N0OmV4YW1wbGUuY29tXG54LWFtei1kYXRlOiRkYXRlXG5cbmJvZHkiLAogICAgICAgICAgICAgICAgJ0FXUzMgQVdTQWNjZXNzS2V5SWQ9QUtJREVYQU1QTEUsQWxnb3JpdGhtPUhtYWNTSEEyNTYsU2lnbmVkSGVhZGVycz1ob3N0O3gtYW16LWRhdGUsU2lnbmF0dXJlPUc1UFNvdS9DUGEvVXpMS29JakhyeGR5MXhweHFZUXc4VFFYbW1JWHRidXc9JwogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICJQT1NUIC9wYXRoP2E9YiZjPWQmZSBIVFRQLzEuMVxyXG5Ib3N0OiBleGFtcGxlLmNvbVxyXG5cclxuYm9keSIsCiAgICAgICAgICAgICAgICAiUE9TVFxuL3BhdGhcbmE9YiZjPWQmZT1cbmhvc3Q6ZXhhbXBsZS5jb21cbngtYW16LWRhdGU6JGRhdGVcblxuYm9keSIsCiAgICAgICAgICAgICAgICAnQVdTMyBBV1NBY2Nlc3NLZXlJZD1BS0lERVhBTVBMRSxBbGdvcml0aG09SG1hY1NIQTI1NixTaWduZWRIZWFkZXJzPWhvc3Q7eC1hbXotZGF0ZSxTaWduYXR1cmU9aWUrbDVnZ1pDVXFKY0NwNlBLTjloN1JyTTVMbkN3cjh4eU1tcHRhSFhMND0nCiAgICAgICAgICAgICkKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWMzo6c2lnblJlcXVlc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzU2VjdXJpdHlUb2tlbnNXaGVuQXZhaWxhYmxlKCkKICAgIHsKICAgICAgICAkc2lnbmF0dXJlID0gJHRoaXMtPmdldFNpZ25hdHVyZSgpOwogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tJyk7CiAgICAgICAgLy8gQ3JlYXRlIGEgY3JlZGVudGlhbHMgb2JqZWN0IHdpdGggYSB0b2tlbgogICAgICAgICRjcmVkZW50aWFscyA9IG5ldyBDcmVkZW50aWFscygnYScsICdiJywgJ2MnLCB0aW1lKCkgKyAxMDAwMCk7CiAgICAgICAgJHNpZ25hdHVyZS0+c2lnblJlcXVlc3QoJHJlcXVlc3QsICRjcmVkZW50aWFscyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYycsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ3gtYW16LXNlY3VyaXR5LXRva2VuJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Signature/SignatureV4Test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXFNpZ25hdHVyZTsKCnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzOwp1c2UgQXdzXENvbW1vblxFbnVtXERhdGVGb3JtYXQ7CnVzZSBBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWNDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEZhY3Rvcnk7CnVzZSBHdXp6bGVcUGFyc2VyXFBhcnNlclJlZ2lzdHJ5OwoKY2xhc3MgU2lnbmF0dXJlVjRUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBjb25zdCBERUZBVUxUX0tFWSA9ICdBS0lERVhBTVBMRSc7CiAgICBjb25zdCBERUZBVUxUX1NFQ1JFVCA9ICd3SmFsclhVdG5GRU1JL0s3TURFTkcrYlB4UmZpQ1lFWEFNUExFS0VZJzsKICAgIGNvbnN0IERFRkFVTFRfREFURVRJTUUgPSAnTW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQnOwoKICAgIC8qKgogICAgICogQHJldHVybiBTaWduYXR1cmVWNAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldFNpZ25hdHVyZSgpCiAgICB7CiAgICAgICAgLy8gTW9jayB0aGUgdGltZXN0YW1wIGZ1bmN0aW9uIHRvIHVzZSB0aGUgdGVzdCBzdWl0ZSB0aW1lc3RhbXAKICAgICAgICAkc2lnbmF0dXJlID0gJHRoaXMtPmdldE1vY2soJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0JywgYXJyYXkoJ2dldFRpbWVzdGFtcCcsICdnZXREYXRlVGltZScpKTsKCiAgICAgICAgLy8gSGFjayB0aGUgc2hhcmVkIHRpbWVzdGFtcAogICAgICAgICRzaWduYXR1cmUtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0VGltZXN0YW1wJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShzdHJ0b3RpbWUoc2VsZjo6REVGQVVMVF9EQVRFVElNRSkpKTsKCiAgICAgICAgLy8gSGFjayB0aGUgZGF0ZSB0aW1lIHRvIGRlYWwgd2l0aCB0aGUgd3JvbmcgZGF0ZSBpbiB0aGUgZXhhbXBsZSBmaWxlcwogICAgICAgICRzaWduYXR1cmUtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0RGF0ZVRpbWUnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlTWFwKGFycmF5KAogICAgICAgICAgICBhcnJheShEYXRlRm9ybWF0OjpSRkMxMTIzLCAnTW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVQnKSwKICAgICAgICAgICAgYXJyYXkoRGF0ZUZvcm1hdDo6SVNPODYwMSwgJzIwMTEwOTA5VDIzMzYwMFonKSwKICAgICAgICAgICAgYXJyYXkoRGF0ZUZvcm1hdDo6U0hPUlQsICcyMDExMDkwOScpCiAgICAgICAgKSkpOwoKICAgICAgICByZXR1cm4gJHNpZ25hdHVyZTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgdGVzdFN1aXRlUHJvdmlkZXIKICAgICAqIEBjb3ZlcnMgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQKICAgICAqIEBjb3ZlcnMgQXdzXENvbW1vblxTaWduYXR1cmVcQWJzdHJhY3RTaWduYXR1cmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTaWduc1JlcXVlc3RzUHJvcGVybHkoJGdyb3VwKQogICAgewogICAgICAgICRwYXJzZXIgPSBQYXJzZXJSZWdpc3RyeTo6Z2V0SW5zdGFuY2UoKS0+Z2V0UGFyc2VyKCd1cmwnKTsKICAgICAgICAkcGFyc2VyLT5zZXRVdGY4U3VwcG9ydCh0cnVlKTsKCiAgICAgICAgLy8gQ3JlYXRlIGEgcmVxdWVzdCBiYXNlZCBvbiB0aGUgJy5yZXEnIGZpbGUKICAgICAgICAkcmVxdWVzdFN0cmluZyA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRncm91cFsncmVxJ10pOwogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmZyb21NZXNzYWdlKCRyZXF1ZXN0U3RyaW5nKTsKCiAgICAgICAgLy8gU2FuaXRpemUgdGhlIHJlcXVlc3QKICAgICAgICAkcmVxdWVzdC0+cmVtb3ZlSGVhZGVyKCdVc2VyLUFnZW50Jyk7CiAgICAgICAgJHJlcXVlc3QtPnJlbW92ZUhlYWRlcignQ29udGVudC1MZW5ndGgnKTsKCiAgICAgICAgLy8gU2lnbiB0aGUgcmVxdWVzdCB1c2luZyB0aGUgdGVzdCBjcmVkZW50aWFscwogICAgICAgICRjcmVkZW50aWFscyA9IG5ldyBDcmVkZW50aWFscyhzZWxmOjpERUZBVUxUX0tFWSwgc2VsZjo6REVGQVVMVF9TRUNSRVQpOwogICAgICAgIC8vIEdldCBhIG1vY2sgc2lnbmF0dXJlIG9iamVjdAogICAgICAgICRzaWduYXR1cmUgPSAkdGhpcy0+Z2V0U2lnbmF0dXJlKCk7CgogICAgICAgIC8vIFNpZ24gdGhlIHJlcXVlc3QKICAgICAgICAkc2lnbmF0dXJlLT5zaWduUmVxdWVzdCgkcmVxdWVzdCwgJGNyZWRlbnRpYWxzKTsKCiAgICAgICAgLy8gR2V0IGRlYnVnIHNpZ25hdHVyZSBpbmZvcm1hdGlvbgogICAgICAgICRjb250ZXh0ID0gJHJlcXVlc3QtPmdldFBhcmFtcygpLT5nZXQoJ2F3cy5zaWduYXR1cmUnKTsKCiAgICAgICAgLy8gVGVzdCB0aGF0IHRoZSBjYW5vbmljYWwgcmVxdWVzdCBpcyBjb3JyZWN0CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhzdHJfcmVwbGFjZSgiXHIiLCAnJywgZmlsZV9nZXRfY29udGVudHMoJGdyb3VwWydjcmVxJ10pKSwgJGNvbnRleHRbJ2Nhbm9uaWNhbF9yZXF1ZXN0J10pOwoKICAgICAgICAvLyBUZXN0IHRoYXQgdGhlIHN0cmluZyB0byBzaWduIGlzIGNvcnJlY3QKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKHN0cl9yZXBsYWNlKCJcciIsICcnLCBmaWxlX2dldF9jb250ZW50cygkZ3JvdXBbJ3N0cyddKSksICRjb250ZXh0WydzdHJpbmdfdG9fc2lnbiddKTsKCiAgICAgICAgLy8gVGVzdCB0aGF0IHRoZSBhdXRob3JpemF0aW9uIGhlYWRlciBpcyBjb3JyZWN0CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhzdHJfcmVwbGFjZSgiXHIiLCAnJywgZmlsZV9nZXRfY29udGVudHMoJGdyb3VwWydhdXRoeiddKSksICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0F1dGhvcml6YXRpb24nKSk7CgogICAgICAgICRwYXJzZXItPnNldFV0ZjhTdXBwb3J0KGZhbHNlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdWl0ZVByb3ZpZGVyKCkKICAgIHsKICAgICAgICAvLyBHYXRoZXIgYSBsaXN0IG9mIGZpbGVzIHNvcnRlZCBieSBuYW1lCiAgICAgICAgJGZpbGVzID0gZ2xvYihfX0RJUl9fIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdhd3M0X3Rlc3RzdWl0ZScgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJyonKTsKICAgICAgICBzb3J0KCRmaWxlcyk7CgogICAgICAgIC8vIFNraXAgdGhlIGdldC1oZWFkZXIta2V5LWR1cGxpY2F0ZS4qIGFuZCBnZXQtaGVhZGVyLXZhbHVlLW9yZGVyLmF1dGh6LiogdGVzdCBmaWxlcyBmb3Igbm93OwogICAgICAgIC8vIHRoZXkgYXJlIGJlbGlldmVkIHRvIGJlIGludmFsaWQgdGVzdHMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstcGhwL2lzc3Vlcy8xNjEKICAgICAgICAkZmlsZXMgPSBhcnJheV9maWx0ZXIoJGZpbGVzLCBmdW5jdGlvbigkZmlsZSkgewogICAgICAgICAgICByZXR1cm4gKChzdHJwb3MoJGZpbGUsICdnZXQtaGVhZGVyLWtleS1kdXBsaWNhdGUuJykgPT09IGZhbHNlKSAmJgogICAgICAgICAgICAgICAgICAgIChzdHJwb3MoJGZpbGUsICdnZXQtaGVhZGVyLXZhbHVlLW9yZGVyLicgICkgPT09IGZhbHNlKSk7CiAgICAgICAgfSk7CiAgICAgICAgc29ydCgkZmlsZXMpOwoKICAgICAgICAkZ3JvdXBzID0gYXJyYXkoKTsKCiAgICAgICAgLy8gQnJlYWsgdGhlIGZpbGVzIHVwIGludG8gZ3JvdXBzIG9mIGZpdmUgZm9yIGVhY2ggdGVzdCBjYXNlCiAgICAgICAgJGdyb3VwID0gYXJyYXkoKTsKICAgICAgICBmb3IgKCRpID0gMCwgJGMgPSBjb3VudCgkZmlsZXMpOyAkaSA8ICRjOyAkaSsrKSB7CiAgICAgICAgICAgICR0eXBlcyA9IGV4cGxvZGUoJy4nLCAkZmlsZXNbJGldKTsKICAgICAgICAgICAgJHR5cGUgPSBlbmQoJHR5cGVzKTsKICAgICAgICAgICAgJGdyb3VwWyR0eXBlXSA9ICRmaWxlc1skaV07CiAgICAgICAgICAgIGlmIChjb3VudCgkZ3JvdXApID09IDUpIHsKICAgICAgICAgICAgICAgICRncm91cHNbXSA9IGFycmF5KCRncm91cCk7CiAgICAgICAgICAgICAgICAkZ3JvdXAgPSBhcnJheSgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGdyb3VwczsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQ6OnNpZ25SZXF1ZXN0CiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0OjpjcmVhdGVDYW5vbmljYWxSZXF1ZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2lnbnNSZXF1ZXN0c1dpdGhDb250ZW50SGFzaENvcnJlY3RseSgpCiAgICB7CiAgICAgICAgJGNyZWRlbnRpYWxzID0gbmV3IENyZWRlbnRpYWxzKHNlbGY6OkRFRkFVTFRfS0VZLCBzZWxmOjpERUZBVUxUX1NFQ1JFVCk7CiAgICAgICAgJHNpZ25hdHVyZSA9ICR0aGlzLT5nZXRTaWduYXR1cmUoKTsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5mcm9tTWVzc2FnZSgiR0VUIC8gSFRUUC8xLjFcclxueC1hbXotZGF0ZTogTW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVRcclxuSG9zdDogZm9vLmNvbVxyXG5cclxuIik7CgogICAgICAgICRjb250ZW50SGFzaCA9IGhhc2goJ3NoYTI1NicsICdmb29iYXInKTsKICAgICAgICAkcmVxdWVzdC0+c2V0SGVhZGVyKCd4LWFtei1jb250ZW50LXNoYTI1NicsICRjb250ZW50SGFzaCk7CgogICAgICAgICRzaWduYXR1cmUtPnNpZ25SZXF1ZXN0KCRyZXF1ZXN0LCAkY3JlZGVudGlhbHMpOwogICAgICAgICRjb250ZXh0ID0gJHJlcXVlc3QtPmdldFBhcmFtcygpLT5nZXQoJ2F3cy5zaWduYXR1cmUnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJGNvbnRlbnRIYXNoLCAkY29udGV4dFsnY2Fub25pY2FsX3JlcXVlc3QnXSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0OjpzaWduUmVxdWVzdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNpZ25zUmVxdWVzdHNUaGF0VXNlWGFtemRhdGVIZWFkZXJzKCkKICAgIHsKICAgICAgICAkY3JlZGVudGlhbHMgPSBuZXcgQ3JlZGVudGlhbHMoc2VsZjo6REVGQVVMVF9LRVksIHNlbGY6OkRFRkFVTFRfU0VDUkVUKTsKICAgICAgICAkc2lnbmF0dXJlID0gJHRoaXMtPmdldFNpZ25hdHVyZSgpOwogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmZyb21NZXNzYWdlKCJHRVQgLyBIVFRQLzEuMVxyXG54LWFtei1kYXRlOiBNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVFxyXG5Ib3N0OiBmb28uY29tXHJcblxyXG4iKTsKCiAgICAgICAgJHNpZ25hdHVyZS0+c2lnblJlcXVlc3QoJHJlcXVlc3QsICRjcmVkZW50aWFscyk7CiAgICAgICAgJGNvbnRleHQgPSAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmdldCgnYXdzLnNpZ25hdHVyZScpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygiXG54LWFtei1kYXRlOjIwMTEwOTA5VDIzMzYwMFoiLCAkY29udGV4dFsnY2Fub25pY2FsX3JlcXVlc3QnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdENvbnRhaW5zKCJcbmRhdGU6MjAxMTA5MDlUMjMzNjAwWiIsICRjb250ZXh0WydjYW5vbmljYWxfcmVxdWVzdCddKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQ6OnNpZ25SZXF1ZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXNlc1NlY3VyaXR5VG9rZW5zV2hlbkF2YWlsYWJsZSgpCiAgICB7CiAgICAgICAgJHNpZ25hdHVyZSA9ICR0aGlzLT5nZXRTaWduYXR1cmUoKTsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5leGFtcGxlLmNvbScpOwogICAgICAgIC8vIENyZWF0ZSBhIGNyZWRlbnRpYWxzIG9iamVjdCB3aXRoIGEgdG9rZW4KICAgICAgICAkY3JlZGVudGlhbHMgPSBuZXcgQ3JlZGVudGlhbHMoJ2EnLCAnYicsICdjJywgdGltZSgpICsgMTAwMDApOwogICAgICAgICRzaWduYXR1cmUtPnNpZ25SZXF1ZXN0KCRyZXF1ZXN0LCAkY3JlZGVudGlhbHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2MnLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0SGVhZGVyKCd4LWFtei1zZWN1cml0eS10b2tlbicpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQ6OnNldFNlcnZpY2VOYW1lCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0OjpzZXRSZWdpb25OYW1lCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuRXhwbGljaXRseVNldFNlcnZpY2VBbmRSZWdpb25OYW1lKCkKICAgIHsKICAgICAgICAkc2lnbmF0dXJlID0gJHRoaXMtPmdldFNpZ25hdHVyZSgpOwogICAgICAgICRzaWduYXR1cmUtPnNldFNlcnZpY2VOYW1lKCdmb28nKTsKICAgICAgICAkc2lnbmF0dXJlLT5zZXRSZWdpb25OYW1lKCdiYXInKTsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5leGFtcGxlLmNvbScpOwogICAgICAgICRjcmVkZW50aWFscyA9IG5ldyBDcmVkZW50aWFscygnZml6eicsICdidXp6Jyk7CiAgICAgICAgJHNpZ25hdHVyZS0+c2lnblJlcXVlc3QoJHJlcXVlc3QsICRjcmVkZW50aWFscyk7CiAgICAgICAgJGNvbnRleHQgPSAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmdldCgnYXdzLnNpZ25hdHVyZScpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnL2Zvby9hd3M0X3JlcXVlc3QnLCAkY29udGV4dFsnc3RyaW5nX3RvX3NpZ24nXSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0OjpzZXRNYXhDYWNoZVNpemUKICAgICAqIEBjb3ZlcnMgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQ6OnNpZ25SZXF1ZXN0CiAgICAgKiBAY292ZXJzIEF3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0OjpnZXRTaWduaW5nS2V5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TWFpbnRhaW5zQ2FwcGVkQ2FjaGUoKQogICAgewogICAgICAgICRzaWduYXR1cmUgPSAkdGhpcy0+Z2V0U2lnbmF0dXJlKCk7CiAgICAgICAgJHNpZ25hdHVyZS0+c2V0TWF4Q2FjaGVTaXplKDMpOwogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tJyk7CgogICAgICAgICRjcmVkZW50aWFscyA9IG5ldyBDcmVkZW50aWFscygnZml6eicsICdidXp6Jyk7CiAgICAgICAgJHNpZ25hdHVyZS0+c2lnblJlcXVlc3QoJHJlcXVlc3QsICRjcmVkZW50aWFscyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkc2lnbmF0dXJlLCAnaGFzaENhY2hlJykpKTsKCiAgICAgICAgJGNyZWRlbnRpYWxzID0gbmV3IENyZWRlbnRpYWxzKCdmaXp6JywgJ2JheicpOwogICAgICAgICRzaWduYXR1cmUtPnNpZ25SZXF1ZXN0KCRyZXF1ZXN0LCAkY3JlZGVudGlhbHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHNpZ25hdHVyZSwgJ2hhc2hDYWNoZScpKSk7CgogICAgICAgICRjcmVkZW50aWFscyA9IG5ldyBDcmVkZW50aWFscygnZml6eicsICdwYXonKTsKICAgICAgICAkc2lnbmF0dXJlLT5zaWduUmVxdWVzdCgkcmVxdWVzdCwgJGNyZWRlbnRpYWxzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCR0aGlzLT5yZWFkQXR0cmlidXRlKCRzaWduYXR1cmUsICdoYXNoQ2FjaGUnKSkpOwoKICAgICAgICAkY3JlZGVudGlhbHMgPSBuZXcgQ3JlZGVudGlhbHMoJ2ZpenonLCAnZm9vYmFyJyk7CiAgICAgICAgJHNpZ25hdHVyZS0+c2lnblJlcXVlc3QoJHJlcXVlc3QsICRjcmVkZW50aWFscyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkc2lnbmF0dXJlLCAnaGFzaENhY2hlJykpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Waiter/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Waiter/AbstractResourceWaiterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXEluc3RhbmNlTWV0YWRhdGFcSW5zdGFuY2VNZXRhZGF0YUNsaWVudDsKCi8qKgogKiBAY292ZXJzIEF3c1xDb21tb25cV2FpdGVyXEFic3RyYWN0UmVzb3VyY2VXYWl0ZXIKICovCmNsYXNzIEFic3RyYWN0UmVzb3VyY2VXYWl0ZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBObyBjbGllbnQgaGFzIGJlZW4gc3BlY2lmaWVkIG9uIHRoZSB3YWl0ZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzQ2xpZW50SXNTZXRCZWZvcmVXYWl0aW5nKCkKICAgIHsKICAgICAgICAkd2FpdGVyID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcQ29tbW9uXFdhaXRlclxBYnN0cmFjdFJlc291cmNlV2FpdGVyJykKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICR3YWl0ZXItPndhaXQoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbldhaXQoKQogICAgewogICAgICAgICR3YWl0ZXIgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cV2FpdGVyXEFic3RyYWN0UmVzb3VyY2VXYWl0ZXInKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ3dhaXQnKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICAkY2xpZW50ID0gSW5zdGFuY2VNZXRhZGF0YUNsaWVudDo6ZmFjdG9yeSgpOwogICAgICAgICR3YWl0ZXItPnNldENsaWVudCgkY2xpZW50KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkY2xpZW50LCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkd2FpdGVyLCAnY2xpZW50JykpOwoKICAgICAgICAkY29uZmlnID0gYXJyYXkoJ2JheicgPT4gJ2JhcicpOwogICAgICAgICR3YWl0ZXItPnNldENvbmZpZygkY29uZmlnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkY29uZmlnLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkd2FpdGVyLCAnY29uZmlnJykpOwoKICAgICAgICAkcmVzb3VyY2UgPSBhcnJheSgnZm9vJyA9PiAnYmFyJyk7CiAgICAgICAgJHdhaXRlci0+c2V0Q29uZmlnKCRyZXNvdXJjZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHJlc291cmNlLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkd2FpdGVyLCAnY29uZmlnJykpOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAkd2FpdGVyLT53YWl0KCk7CiAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkge30KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Waiter/AbstractWaiterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXFdhaXRlcjsKCi8qKgogKiBAY292ZXJzIEF3c1xDb21tb25cV2FpdGVyXEFic3RyYWN0V2FpdGVyCiAqLwpjbGFzcyBBYnN0cmFjdFdhaXRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXNDb25maWd1cmFibGUoKQogICAgewogICAgICAgICR3YWl0ZXIgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cV2FpdGVyXEFic3RyYWN0V2FpdGVyJykKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICAkd2FpdGVyLT5zZXRJbnRlcnZhbCgxMCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxMCwgJHdhaXRlci0+Z2V0SW50ZXJ2YWwoKSk7CgogICAgICAgICR3YWl0ZXItPnNldE1heEF0dGVtcHRzKDUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNSwgJHdhaXRlci0+Z2V0TWF4QXR0ZW1wdHMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQZXJmb3Jtc1dhaXQoKQogICAgewogICAgICAgICR3YWl0ZXIgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cV2FpdGVyXEFic3RyYWN0V2FpdGVyJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdkb1dhaXQnKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICAkY291bnQgPSAwOwogICAgICAgICR3YWl0ZXItPmV4cGVjdHMoJHRoaXMtPmV4YWN0bHkoMikpCiAgICAgICAgICAgIC0+bWV0aG9kKCdkb1dhaXQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVybkNhbGxiYWNrKGZ1bmN0aW9uICgpIHVzZSAoJiRjb3VudCkgewogICAgICAgICAgICAgICAgcmV0dXJuICsrJGNvdW50ID09IDI7CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgJHdhaXRlci0+d2FpdCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGVyZm9ybXNXYWl0V2l0aEludGVydmFsKCkKICAgIHsKICAgICAgICAkd2FpdGVyID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcQ29tbW9uXFdhaXRlclxBYnN0cmFjdFdhaXRlcicpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZG9XYWl0JykpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKCiAgICAgICAgJHdhaXRlci0+c2V0SW50ZXJ2YWwoMC4wMDEpOwoKICAgICAgICAkY291bnQgPSAwOwogICAgICAgICR3YWl0ZXItPmV4cGVjdHMoJHRoaXMtPmV4YWN0bHkoMikpCiAgICAgICAgICAgIC0+bWV0aG9kKCdkb1dhaXQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVybkNhbGxiYWNrKGZ1bmN0aW9uICgpIHVzZSAoJiRjb3VudCkgewogICAgICAgICAgICAgICAgcmV0dXJuICsrJGNvdW50ID09IDI7CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgJHdhaXRlci0+d2FpdCgpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIFdhaXQgbWV0aG9kIG5ldmVyIHJlc29sdmVkIHRvIHRydWUgYWZ0ZXIgMSBhdHRlbXB0cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBlcmZvcm1zV2FpdFVudGlsTWF4QXR0ZW1wdHMoKQogICAgewogICAgICAgICR3YWl0ZXIgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cV2FpdGVyXEFic3RyYWN0V2FpdGVyJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdkb1dhaXQnKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICAkd2FpdGVyLT5zZXRNYXhBdHRlbXB0cygxKTsKCiAgICAgICAgJHdhaXRlci0+ZXhwZWN0cygkdGhpcy0+ZXhhY3RseSgxKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2RvV2FpdCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoZmFsc2UpKTsKCiAgICAgICAgJHdhaXRlci0+d2FpdCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzQ29uZmlnT3ZlcnJpZGVzKCkKICAgIHsKICAgICAgICAkd2FpdGVyID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcQ29tbW9uXFdhaXRlclxBYnN0cmFjdFdhaXRlcicpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKICAgICAgICAkd2FpdGVyLT5zZXRDb25maWcoYXJyYXkoJ3dhaXRlci5pbnRlcnZhbCcgPT4gMTAwLCAnd2FpdGVyLm1heF9hdHRlbXB0cycgPT4gNTApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEwMCwgJHdhaXRlci0+Z2V0SW50ZXJ2YWwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg1MCwgJHdhaXRlci0+Z2V0TWF4QXR0ZW1wdHMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQZXJmb3Jtc1dhaXRXaXRoRXZlbnRzKCkKICAgIHsKICAgICAgICAkcmVzdWx0ID0gJyc7CgogICAgICAgICR3YWl0ZXIgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cV2FpdGVyXEFic3RyYWN0V2FpdGVyJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdkb1dhaXQnKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICR3YWl0ZXItPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcignd2FpdGVyLmJlZm9yZV9hdHRlbXB0JywgZnVuY3Rpb24gKCkgdXNlICgmJHJlc3VsdCkgewogICAgICAgICAgICAkcmVzdWx0IC49ICdhJzsKICAgICAgICB9KTsKICAgICAgICAkd2FpdGVyLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ3dhaXRlci5iZWZvcmVfd2FpdCcsIGZ1bmN0aW9uICgpIHVzZSAoJiRyZXN1bHQpIHsKICAgICAgICAgICAgJHJlc3VsdCAuPSAnYyc7CiAgICAgICAgfSk7CgogICAgICAgICRjb3VudCA9IDA7CiAgICAgICAgJHdhaXRlci0+ZXhwZWN0cygkdGhpcy0+ZXhhY3RseSgzKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2RvV2FpdCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuQ2FsbGJhY2soZnVuY3Rpb24gKCkgdXNlICgmJGNvdW50LCAmJHJlc3VsdCkgewogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAnYic7CiAgICAgICAgICAgICAgICByZXR1cm4gKyskY291bnQgPT0gMzsKICAgICAgICAgICAgfSkpOwoKICAgICAgICAkd2FpdGVyLT53YWl0KCk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FiY2FiY2FiJywgJHJlc3VsdCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RXYWl0ZXJFdmVudENvbmZpZ1NldHRpbmdzKCkKICAgIHsKICAgICAgICAkYmVmb3JlQXR0ZW1wdENhbGxlZCA9IDA7CiAgICAgICAgJGJlZm9yZVdhaXRDYWxsZWQgPSAwOwogICAgICAgICR3YWl0ZXIgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xDb21tb25cV2FpdGVyXEFic3RyYWN0V2FpdGVyJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdkb1dhaXQnKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICR3YWl0ZXItPnNldENvbmZpZyhhcnJheSgKICAgICAgICAgICAgJ3dhaXRlci5iZWZvcmVfYXR0ZW1wdCcgPT4gZnVuY3Rpb24gKCkgdXNlICgmJGJlZm9yZUF0dGVtcHRDYWxsZWQpIHsgJGJlZm9yZUF0dGVtcHRDYWxsZWQrKzsgfSwKICAgICAgICAgICAgJ3dhaXRlci5iZWZvcmVfd2FpdCcgPT4gZnVuY3Rpb24gKCkgdXNlICgmJGJlZm9yZVdhaXRDYWxsZWQpIHsgJGJlZm9yZVdhaXRDYWxsZWQrKzsgfSwKICAgICAgICApKTsKCiAgICAgICAgJGl0ZXJhdGlvbnMgPSAwOwogICAgICAgICR3YWl0ZXItPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZG9XYWl0JykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5DYWxsYmFjayhmdW5jdGlvbiAoKSB1c2UgKCYkaXRlcmF0aW9ucykgewogICAgICAgICAgICAgICAgcmV0dXJuICsrJGl0ZXJhdGlvbnMgPT0gMzsKICAgICAgICAgICAgfSkpOwoKICAgICAgICAkd2FpdGVyLT53YWl0KCk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgJGJlZm9yZUF0dGVtcHRDYWxsZWQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgJGJlZm9yZVdhaXRDYWxsZWQpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Waiter/CallableWaiterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXFdhaXRlclxDYWxsYWJsZVdhaXRlcjsKCi8qKgogKiBAY292ZXJzIEF3c1xDb21tb25cV2FpdGVyXENhbGxhYmxlV2FpdGVyCiAqLwpjbGFzcyBDYWxsYWJsZVdhaXRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzTWV0aG9kSXNDYWxsYWJsZSgpCiAgICB7CiAgICAgICAgJHcgPSBuZXcgQ2FsbGFibGVXYWl0ZXIoKTsKICAgICAgICAkdy0+c2V0Q2FsbGFibGUoJ2ZvbycpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlQ2FsbGFibGVJc1NldEJlZm9yZVdhaXRpbmcoKQogICAgewogICAgICAgICR3ID0gbmV3IENhbGxhYmxlV2FpdGVyKCk7CiAgICAgICAgJHctPndhaXQoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVzZXNDYWxsYmFja0ZvcldhaXRlcigpCiAgICB7CiAgICAgICAgJHRvdGFsID0gMDsKICAgICAgICAkZiA9IGZ1bmN0aW9uICgkYXR0ZW1wdHMsICRkYXRhKSB1c2UgKCYkdG90YWwpIHsKICAgICAgICAgICAgJGRhdGFbJ29iamVjdCddLT52YWx1ZSA9IDI7CiAgICAgICAgICAgIHJldHVybiArKyR0b3RhbCA9PSAzOwogICAgICAgIH07CgogICAgICAgICRvID0gbmV3IFxTdGRDbGFzcygpOwogICAgICAgICRvLT52YWx1ZSA9IDE7CiAgICAgICAgJGMgPSBhcnJheSgnb2JqZWN0JyA9PiAkbyk7CgogICAgICAgICR3ID0gbmV3IENhbGxhYmxlV2FpdGVyKCk7CiAgICAgICAgJHctPnNldENhbGxhYmxlKCRmKTsKICAgICAgICAkdy0+c2V0Q29udGV4dCgkYyk7CiAgICAgICAgJHctPndhaXQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsICR0b3RhbCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCAkby0+dmFsdWUpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Waiter/CompositeWaiterFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXFdhaXRlclxDb21wb3NpdGVXYWl0ZXJGYWN0b3J5Owp1c2UgQXdzXENvbW1vblxXYWl0ZXJcV2FpdGVyQ29uZmlnRmFjdG9yeTsKCi8qKgogKiBAY292ZXJzIEF3c1xDb21tb25cV2FpdGVyXENvbXBvc2l0ZVdhaXRlckZhY3RvcnkKICovCmNsYXNzIENvbXBvc2l0ZVdhaXRlckZhY3RvcnlUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIFdhaXRlciB3YXMgbm90IGZvdW5kIG1hdGNoaW5nIGZvbwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNXYWl0ZXJFeGlzdHMoKQogICAgewogICAgICAgICRmYWN0b3J5ID0gbmV3IENvbXBvc2l0ZVdhaXRlckZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgIG5ldyBXYWl0ZXJDb25maWdGYWN0b3J5KGFycmF5KCkpCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRmYWN0b3J5LT5jYW5CdWlsZCgnZm9vJykpOwogICAgICAgICRmYWN0b3J5LT5idWlsZCgnZm9vJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCdWlsZHNXYWl0ZXJzKCkKICAgIHsKICAgICAgICAkZjEgPSBuZXcgV2FpdGVyQ29uZmlnRmFjdG9yeShhcnJheSgnQm9vJyA9PiBhcnJheSgndGVzdCcpKSk7CiAgICAgICAgJGYyID0gbmV3IFdhaXRlckNvbmZpZ0ZhY3RvcnkoYXJyYXkoJ2ZvbycgPT4gYXJyYXkoJ21heF9hdHRlbXB0cycgPT4gMTApKSk7CiAgICAgICAgJGZhY3RvcnkgPSBuZXcgQ29tcG9zaXRlV2FpdGVyRmFjdG9yeShhcnJheSgkZjEpKTsKICAgICAgICAkZmFjdG9yeS0+YWRkRmFjdG9yeSgkZjIpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXFdhaXRlclxDb25maWdSZXNvdXJjZVdhaXRlcicsICRmYWN0b3J5LT5idWlsZCgnZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXFdhaXRlclxDb25maWdSZXNvdXJjZVdhaXRlcicsICRmYWN0b3J5LT5idWlsZCgnQm9vJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Waiter/ConfigResourceWaiterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXFdhaXRlclxXYWl0ZXJDb25maWc7CnVzZSBBd3NcQ29tbW9uXFdhaXRlclxDb25maWdSZXNvdXJjZVdhaXRlcjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogQGNvdmVycyBBd3NcQ29tbW9uXFdhaXRlclxDb25maWdSZXNvdXJjZVdhaXRlcgogKi8KY2xhc3MgQ29uZmlnUmVzb3VyY2VXYWl0ZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbnN0cnVjdG9yQWRkc1dhaXRlclNldHRpbmdzKCkKICAgIHsKICAgICAgICAkYyA9IG5ldyBXYWl0ZXJDb25maWcoYXJyYXkoCiAgICAgICAgICAgICdtYXhfYXR0ZW1wdHMnID0+IDMsCiAgICAgICAgICAgICdpbnRlcnZhbCcgICAgID0+IDUKICAgICAgICApKTsKICAgICAgICAkdyA9IG5ldyBDb25maWdSZXNvdXJjZVdhaXRlcigkYyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGMsICR3LT5nZXRXYWl0ZXJDb25maWcoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCAkdy0+Z2V0TWF4QXR0ZW1wdHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg1LCAkdy0+Z2V0SW50ZXJ2YWwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RXYWl0ZXJDb25maWdzQ2FuQmVTZXRJblNldENvbmZpZygpCiAgICB7CiAgICAgICAgJGMgPSBuZXcgV2FpdGVyQ29uZmlnKCk7CiAgICAgICAgJHcgPSBuZXcgQ29uZmlnUmVzb3VyY2VXYWl0ZXIoJGMpOwogICAgICAgICR3LT5zZXRDb25maWcoYXJyYXkoCiAgICAgICAgICAgICd3YWl0ZXIuZm9vJyA9PiAnYmF6JywKICAgICAgICAgICAgJ3dhaXRlci5zdWNjZXNzLnBhdGgnID0+ICd0ZXN0LyonCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmF6JywgJGMtPmdldCgnZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3QvKicsICRjLT5nZXQoJ3N1Y2Nlc3MucGF0aCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFdhaXRlckNhbklnbm9yZUV4Y2VwdGlvbnMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoJ3MzL2hlYWRfZmFpbHVyZScsICdzMy9oZWFkX3N1Y2Nlc3MnKSk7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsKCdidWNrZXRfZXhpc3RzJywgYXJyYXkoJ0J1Y2tldCcgPT4gJ2ZvbycsICd3YWl0ZXIuaW50ZXJ2YWwnID0+IDApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCR0aGlzLT5nZXRNb2NrZWRSZXF1ZXN0cygpKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xTM1xFeGNlcHRpb25cUzNFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RXYWl0ZXJEb2VzTm90SWdub3JlQWxsRXhjZXB0aW9ucygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJywgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheShuZXcgUmVzcG9uc2UoNDA5KSkpOwogICAgICAgICRjbGllbnQtPndhaXRVbnRpbCgnYnVja2V0X25vdF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAnZm9vJywgJ3dhaXRlci5pbnRlcnZhbCcgPT4gMCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0V2FpdGVyQ2FuU3VjY2VlZE9uRXhjZXB0aW9uKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KCdzMy9oZWFkX2ZhaWx1cmUnKSk7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsKCdidWNrZXRfbm90X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICdmb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RXYWl0ZXJDYW5TdWNjZWVkT25PdXRwdXQoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdlYzInLCB0cnVlKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KAogICAgICAgICAgICAnZWMyL2Rlc2NyaWJlX2luc3RhbmNlc19ub19yZXNlcnZhdGlvbnMnLAogICAgICAgICAgICAnZWMyL2Rlc2NyaWJlX2luc3RhbmNlc190d29faW5zdGFuY2VzX2RpZmZlcmVudF9zdGF0ZScsCiAgICAgICAgICAgICdlYzIvZGVzY3JpYmVfaW5zdGFuY2VzX3R3b19pbnN0YW5jZXNfc2FtZV9zdGF0ZScKICAgICAgICApKTsKICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ2luc3RhbmNlX3J1bm5pbmcnLCBhcnJheSgnSW5zdGFuY2VJZHMnID0+IGFycmF5KCdpLXh4eHh4eHgxJyksICd3YWl0ZXIuaW50ZXJ2YWwnID0+IDApKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcUnVudGltZUV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBBIHJlc291cmNlIGVudGVyZWQgaW50byBhbiBpbnZhbGlkIHN0YXRlIG9mICJwZW5kaW5nIiB3aGlsZSB3YWl0aW5nIHdpdGggdGhlICJJbnN0YW5jZVN0b3BwZWQiIHdhaXRlci4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RXYWl0ZXJDYW5GYXN0RmFpbE9uT3V0cHV0UmVzdWx0KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZWMyJywgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgnZWMyL2Rlc2NyaWJlX2luc3RhbmNlc190d29faW5zdGFuY2VzX2RpZmZlcmVudF9zdGF0ZScpKTsKICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ2luc3RhbmNlX3N0b3BwZWQnLCBhcnJheSgnSW5zdGFuY2VJZHMnID0+IGFycmF5KCdpLXh4eHh4eHgxJyksICd3YWl0ZXIuaW50ZXJ2YWwnID0+IDApKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIEluc3RhbmNlU3RvcHBlZCB3YWl0ZXIgdmFsaWRhdGlvbiBmYWlsZWQ6ICBWYWxpZGF0aW9uIGVycm9yczogW0luc3RhbmNlSWRzXSBtdXN0IGJlIG9mIHR5cGUgYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RXYWl0ZXJQcm92aWRlc0hlbHBmdWxNZXNzYWdlV2hlblZhbGlkYXRpb25GYWlscygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2VjMicsIHRydWUpOwogICAgICAgICRjbGllbnQtPndhaXRVbnRpbCgnaW5zdGFuY2Vfc3RvcHBlZCcsIGFycmF5KCdJbnN0YW5jZUlkcycgPT4gJ2kteHh4eHh4eDEnKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Waiter/WaiterClassFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXFdhaXRlclxXYWl0ZXJDbGFzc0ZhY3Rvcnk7CgovKioKICogQGNvdmVycyBBd3NcQ29tbW9uXFdhaXRlclxXYWl0ZXJDbGFzc0ZhY3RvcnkKICovCmNsYXNzIFdhaXRlckNsYXNzRmFjdG9yeVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzQ2xhc3NFeGlzdHMoKQogICAgewogICAgICAgICRmYWN0b3J5ID0gbmV3IFdhaXRlckNsYXNzRmFjdG9yeSgpOwogICAgICAgICRmYWN0b3J5LT5yZWdpc3Rlck5hbWVzcGFjZSgnRm9vJyk7CiAgICAgICAgJGZhY3RvcnktPmJ1aWxkKCdiYXInKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNXYWl0ZXIoKQogICAgewogICAgICAgICRmYWN0b3J5ID0gbmV3IFdhaXRlckNsYXNzRmFjdG9yeSgpOwogICAgICAgICRmYWN0b3J5LT5yZWdpc3Rlck5hbWVzcGFjZSgnQXdzXENvbW1vblxJbnN0YW5jZU1ldGFkYXRhXFdhaXRlcicpOwogICAgICAgICRmYWN0b3J5LT5yZWdpc3Rlck5hbWVzcGFjZSgnRm9vXEJhcicpOwoKICAgICAgICAkZXhwZWN0ZWRDbGFzcyA9ICdBd3NcQ29tbW9uXEluc3RhbmNlTWV0YWRhdGFcV2FpdGVyXFNlcnZpY2VBdmFpbGFibGUnOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRmYWN0b3J5LT5jYW5CdWlsZCgnc2VydmljZV9hdmFpbGFibGUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJGV4cGVjdGVkQ2xhc3MsICRmYWN0b3J5LT5idWlsZCgnc2VydmljZV9hdmFpbGFibGUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJGV4cGVjdGVkQ2xhc3MsICRmYWN0b3J5LT5idWlsZCgnU2VydmljZUF2YWlsYWJsZScpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Waiter/WaiterConfigFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXFdhaXRlclxXYWl0ZXJDb25maWdGYWN0b3J5OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXENvbW1vblxXYWl0ZXJcV2FpdGVyQ29uZmlnRmFjdG9yeQogKi8KY2xhc3MgV2FpdGVyQ29uZmlnRmFjdG9yeVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCAkZGF0YSA9IGFycmF5KAogICAgICAgICdfX2RlZmF1bHRfXycgPT4gYXJyYXkoCiAgICAgICAgICAgICdhY2NlcHRvci5wYXRoJyA9PiAnRm9vL0JheicsCiAgICAgICAgICAgICdhY2NlcHRvci50eXBlJyA9PiAnb3V0cHV0JywKICAgICAgICAgICAgJ21heF9hdHRlbXB0cycgPT4gMTAKICAgICAgICApLAogICAgICAgICdUZXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgJ3N1Y2Nlc3MudmFsdWUnID0+ICdmb28nLAogICAgICAgICAgICAnaWdub3JlX2Vycm9ycycgPT4gYXJyYXkoJzEnLCAnMicpCiAgICAgICAgKSwKICAgICAgICAnRXh0ZW5kaW5nJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdUZXN0JywKICAgICAgICAgICAgJ2ZhaWx1cmUudmFsdWUnID0+ICdmYWlsJwogICAgICAgICksCiAgICAgICAgJ092ZXJ3cml0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnRXh0ZW5kaW5nJywKICAgICAgICAgICAgJ21heF9hdHRlbXB0cycgPT4gMjAsCiAgICAgICAgICAgICdzdWNjZXNzLnZhbHVlJyA9PiAnYWJjJywKICAgICAgICAgICAgJ2ZhaWx1cmUudHlwZScgPT4gJ2JheicKICAgICAgICApCiAgICApOwoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzQ29uZmlnRXhpc3RzKCkKICAgIHsKICAgICAgICAkZmFjdG9yeSA9IG5ldyBXYWl0ZXJDb25maWdGYWN0b3J5KGFycmF5KCkpOwogICAgICAgICRmYWN0b3J5LT5idWlsZCgnYmFyJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzRGVmYXVsdFZhbHVlc1RvbygpCiAgICB7CiAgICAgICAgJGZhY3RvcnkgPSBuZXcgV2FpdGVyQ29uZmlnRmFjdG9yeSgkdGhpcy0+ZGF0YSk7CiAgICAgICAgJGNvbmZpZyA9ICRmYWN0b3J5LT5idWlsZCgnVGVzdCcpLT5nZXRXYWl0ZXJDb25maWcoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdGb28vQmF6JywgJGNvbmZpZ1snc3VjY2Vzcy5wYXRoJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0Zvby9CYXonLCAkY29uZmlnWydmYWlsdXJlLnBhdGgnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnb3V0cHV0JywgJGNvbmZpZ1snc3VjY2Vzcy50eXBlJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ291dHB1dCcsICRjb25maWdbJ2ZhaWx1cmUudHlwZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEwLCAkY29uZmlnWydtYXhfYXR0ZW1wdHMnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJGNvbmZpZ1snc3VjY2Vzcy52YWx1ZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCcxJywgJzInKSwgJGNvbmZpZ1snaWdub3JlX2Vycm9ycyddKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0V4dGVuZGluZygpCiAgICB7CiAgICAgICAgJGZhY3RvcnkgPSBuZXcgV2FpdGVyQ29uZmlnRmFjdG9yeSgkdGhpcy0+ZGF0YSk7CiAgICAgICAgJGNvbmZpZyA9ICRmYWN0b3J5LT5idWlsZCgnRXh0ZW5kaW5nJyktPmdldFdhaXRlckNvbmZpZygpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0Zvby9CYXonLCAkY29uZmlnWydzdWNjZXNzLnBhdGgnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnRm9vL0JheicsICRjb25maWdbJ2ZhaWx1cmUucGF0aCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdvdXRwdXQnLCAkY29uZmlnWydzdWNjZXNzLnR5cGUnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnb3V0cHV0JywgJGNvbmZpZ1snZmFpbHVyZS50eXBlJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTAsICRjb25maWdbJ21heF9hdHRlbXB0cyddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkY29uZmlnWydzdWNjZXNzLnZhbHVlJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZhaWwnLCAkY29uZmlnWydmYWlsdXJlLnZhbHVlJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJzEnLCAnMicpLCAkY29uZmlnWydpZ25vcmVfZXJyb3JzJ10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzRXh0ZW5kaW5nVG9PdmVyd3JpdGUoKQogICAgewogICAgICAgICRmYWN0b3J5ID0gbmV3IFdhaXRlckNvbmZpZ0ZhY3RvcnkoJHRoaXMtPmRhdGEpOwogICAgICAgICRjb25maWcgPSAkZmFjdG9yeS0+YnVpbGQoJ092ZXJ3cml0ZScpLT5nZXRXYWl0ZXJDb25maWcoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdGb28vQmF6JywgJGNvbmZpZ1snc3VjY2Vzcy5wYXRoJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0Zvby9CYXonLCAkY29uZmlnWydmYWlsdXJlLnBhdGgnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnb3V0cHV0JywgJGNvbmZpZ1snc3VjY2Vzcy50eXBlJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JheicsICRjb25maWdbJ2ZhaWx1cmUudHlwZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwLCAkY29uZmlnWydtYXhfYXR0ZW1wdHMnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYWJjJywgJGNvbmZpZ1snc3VjY2Vzcy52YWx1ZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmYWlsJywgJGNvbmZpZ1snZmFpbHVyZS52YWx1ZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCcxJywgJzInKSwgJGNvbmZpZ1snaWdub3JlX2Vycm9ycyddKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Common/Waiter/WaiterConfigTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXFdhaXRlcjsKCnVzZSBBd3NcQ29tbW9uXFdhaXRlclxXYWl0ZXJDb25maWc7CgovKioKICogQGNvdmVycyBBd3NcQ29tbW9uXFdhaXRlclxXYWl0ZXJDb25maWcKICovCmNsYXNzIFdhaXRlckNvbmZpZ1Rlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RXh0cmFjdENvbmZpZygpCiAgICB7CiAgICAgICAgJGNvbmZpZyA9IG5ldyBXYWl0ZXJDb25maWcoYXJyYXkoCiAgICAgICAgICAgICdhY2NlcHRvci5mb28nID0+ICdiYXonLAogICAgICAgICAgICAnYWNjZXB0b3IuYmFyJyA9PiAnYmF6JywKICAgICAgICAgICAgJ3N1Y2Nlc3MuZm9vJyA9PiAnYmFyJywKICAgICAgICAgICAgJ2ZhaWx1cmUudGVzdCcgPT4gJ2JhbScKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnc3VjY2Vzcy5mb28nID0+ICdiYXInLAogICAgICAgICAgICAnZmFpbHVyZS50ZXN0JyA9PiAnYmFtJywKICAgICAgICAgICAgJ2ZhaWx1cmUuZm9vJyA9PiAnYmF6JywKICAgICAgICAgICAgJ3N1Y2Nlc3MuYmFyJyA9PiAnYmF6JywKICAgICAgICAgICAgJ2ZhaWx1cmUuYmFyJyA9PiAnYmF6JwogICAgICAgICksICRjb25maWctPnRvQXJyYXkoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DataPipeline/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DataPipeline/DataPipelineClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRGF0YVBpcGVsaW5lOwoKdXNlIEF3c1xDb21tb25cRW51bVxDbGllbnRPcHRpb25zOwp1c2UgQXdzXERhdGFQaXBlbGluZVxEYXRhUGlwZWxpbmVDbGllbnQ7CgovKioKICogQGNvdmVycyBBd3NcRGF0YVBpcGVsaW5lXERhdGFQaXBlbGluZUNsaWVudAogKi8KY2xhc3MgRGF0YVBpcGVsaW5lQ2xpZW50VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGYWN0b3J5SW5pdGlhbGl6ZXNDbGllbnQoKQogICAgewogICAgICAgICRjbGllbnQgPSBEYXRhUGlwZWxpbmVDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgIENsaWVudE9wdGlvbnM6OktFWSAgICA9PiAnZm9vJywKICAgICAgICAgICAgQ2xpZW50T3B0aW9uczo6U0VDUkVUID0+ICdiYXInLAogICAgICAgICAgICBDbGllbnRPcHRpb25zOjpSRUdJT04gPT4gJ3VzLWVhc3QtMScKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0JywgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzJywgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9kYXRhcGlwZWxpbmUudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20nLCAkY2xpZW50LT5nZXRCYXNlVXJsKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DataPipeline/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DataPipeline/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRGF0YVBpcGVsaW5lXEludGVncmF0aW9uOwoKdXNlIEF3c1xEYXRhUGlwZWxpbmVcRGF0YVBpcGVsaW5lQ2xpZW50OwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQHZhciBEYXRhUGlwZWxpbmVDbGllbnQKICAgICAqLwogICAgcHVibGljICRkYXRhUGlwZWxpbmU7CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRVcEJlZm9yZUNsYXNzKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ0RlbGV0ZSBleGlzdGluZyBQSFAgdGVzdCBwaXBlbGluZXMuJyk7CiAgICAgICAgJGRwID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkYXRhcGlwZWxpbmUnKTsKICAgICAgICBmb3JlYWNoICgkZHAtPmdldEl0ZXJhdG9yKCdMaXN0UGlwZWxpbmVzJykgYXMgJHBpcGVsaW5lKSB7CiAgICAgICAgICAgIGlmIChzdHJwb3MoJHBpcGVsaW5lWyduYW1lJ10sICdwaHAtdGVzdC1waXBlbGluZScpID09PSAwKSB7CiAgICAgICAgICAgICAgICAkZHAtPmdldENvbW1hbmQoJ0RlbGV0ZVBpcGVsaW5lJywgYXJyYXkoJ3BpcGVsaW5lSWQnID0+ICRwaXBlbGluZVsnaWQnXSkpLT5leGVjdXRlKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgc2xlZXAoMyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+ZGF0YVBpcGVsaW5lID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkYXRhcGlwZWxpbmUnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENydWRPcGVyYXRpb25zRm9yUGlwZWxpbmVzKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ0NyZWF0ZSAzIHBpcGVsaW5lcy4nKTsKICAgICAgICAkcGlwZWxpbmVJZHMgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKHJhbmdlKDEsIDMpIGFzICRpbmRleCkgewogICAgICAgICAgICAkbmFtZSA9ICJwaHAtdGVzdC1waXBlbGluZS17JGluZGV4fSI7CiAgICAgICAgICAgICRyZXN1bHQgPSAkdGhpcy0+ZGF0YVBpcGVsaW5lLT5nZXRDb21tYW5kKCdDcmVhdGVQaXBlbGluZScsIGFycmF5KAogICAgICAgICAgICAgICAgJ25hbWUnICAgICA9PiAkbmFtZSwKICAgICAgICAgICAgICAgICd1bmlxdWVJZCcgPT4gJG5hbWUsCiAgICAgICAgICAgICkpLT5nZXRSZXN1bHQoKTsKICAgICAgICAgICAgJHBpcGVsaW5lSWRzW10gPSAkcmVzdWx0WydwaXBlbGluZUlkJ107CiAgICAgICAgfQoKICAgICAgICBzZWxmOjpsb2coJ0xpc3QgdGhlIHBpcGVsaW5lcyBhbmQgbWFrZSBzdXJlIHRoZSBvbmVzIHdlIGFkZGVkIGFyZSB0aGVyZS4nKTsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+ZGF0YVBpcGVsaW5lLT5nZXRJdGVyYXRvcignTGlzdFBpcGVsaW5lcycpIGFzICRwaXBlbGluZSkgewogICAgICAgICAgICBpZiAoc3RycG9zKCRwaXBlbGluZVsnbmFtZSddLCAncGhwLXRlc3QtcGlwZWxpbmUnKSA9PT0gMCkgewogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCRwaXBlbGluZVsnaWQnXSwgJHBpcGVsaW5lSWRzKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgc2VsZjo6bG9nKCdEZXNjcmliZSB0aGUgcGlwZWxpbmVzIGFuZCBtYWtlIHN1cmUgdGhlIG9uZXMgd2UgYWRkZWQgYXJlIHN0aWxsIHRoZXJlLicpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+ZGF0YVBpcGVsaW5lLT5nZXRDb21tYW5kKCdEZXNjcmliZVBpcGVsaW5lcycsIGFycmF5KAogICAgICAgICAgICAncGlwZWxpbmVJZHMnID0+ICRwaXBlbGluZUlkcywKICAgICAgICApKS0+Z2V0UmVzdWx0KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvdW50KDMsICRyZXN1bHRbJ3BpcGVsaW5lRGVzY3JpcHRpb25MaXN0J10pOwogICAgICAgIGZvcmVhY2ggKCRyZXN1bHRbJ3BpcGVsaW5lRGVzY3JpcHRpb25MaXN0J10gYXMgJHBpcGVsaW5lKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygkcGlwZWxpbmVbJ3BpcGVsaW5lSWQnXSwgJHBpcGVsaW5lSWRzKTsKICAgICAgICB9CgogICAgICAgIHNlbGY6OmxvZygnVGVzdCBwdXR0aW5nIGEgcGlwZWxpbmUgZGVmaW5pdGlvbi4nKTsKICAgICAgICAkZGVmaW5pdGlvbiA9IGFycmF5KAogICAgICAgICAgICAncGlwZWxpbmVJZCcgPT4gJHBpcGVsaW5lSWRzWzBdLAogICAgICAgICAgICAncGlwZWxpbmVPYmplY3RzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdpZCcgICAgID0+ICdEZWZhdWx0JywKICAgICAgICAgICAgICAgICAgICAnbmFtZScgICA9PiAnRGVmYXVsdCcsCiAgICAgICAgICAgICAgICAgICAgJ2ZpZWxkcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScgICAgICAgICA9PiAnd29ya2VyR3JvdXAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZ1ZhbHVlJyA9PiAnd29ya2VyR3JvdXAnCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2lkJyAgICAgPT4gJ1NjaGVkdWxlJywKICAgICAgICAgICAgICAgICAgICAnbmFtZScgICA9PiAnU2NoZWR1bGUnLAogICAgICAgICAgICAgICAgICAgICdmaWVsZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknICAgICAgICAgPT4gJ3N0YXJ0RGF0ZVRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZ1ZhbHVlJyA9PiAnMjAxMi0xMi0xMlQwMDowMDowMCcKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAna2V5JyAgICAgICAgID0+ICd0eXBlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpbmdWYWx1ZScgPT4gJ1NjaGVkdWxlJwogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknICAgICAgICAgPT4gJ3BlcmlvZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nVmFsdWUnID0+ICcxIGhvdXInCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScgICAgICAgICA9PiAnZW5kRGF0ZVRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZ1ZhbHVlJyA9PiAnMjAxMi0xMi0yMVQxODowMDowMCcKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2lkJyAgICAgPT4gJ1NheUhlbGxvJywKICAgICAgICAgICAgICAgICAgICAnbmFtZScgICA9PiAnU2F5SGVsbG8nLAogICAgICAgICAgICAgICAgICAgICdmaWVsZHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknICAgICAgICAgPT4gJ3R5cGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmluZ1ZhbHVlJyA9PiAnU2hlbGxDb21tYW5kQWN0aXZpdHknCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tleScgICAgICAgICA9PiAnY29tbWFuZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nVmFsdWUnID0+ICdlY2hvIGhlbGxvJwogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknICAgICAgPT4gJ3BhcmVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVmVmFsdWUnID0+ICdEZWZhdWx0JwogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZXknICAgICAgPT4gJ3NjaGVkdWxlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWZWYWx1ZScgPT4gJ1NjaGVkdWxlJwogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmRhdGFQaXBlbGluZS0+Z2V0Q29tbWFuZCgnVmFsaWRhdGVQaXBlbGluZURlZmluaXRpb24nLCAkZGVmaW5pdGlvbiktPmdldFJlc3VsdCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkcmVzdWx0LT5nZXQoJ2Vycm9yZWQnKSk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5kYXRhUGlwZWxpbmUtPmdldENvbW1hbmQoJ1B1dFBpcGVsaW5lRGVmaW5pdGlvbicsICRkZWZpbml0aW9uKS0+Z2V0UmVzdWx0KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRyZXN1bHQtPmdldCgnZXJyb3JlZCcpKTsKCiAgICAgICAgc2VsZjo6bG9nKCdHZXQgYSBwaXBlbGluZSBkZWZpbml0aW9uLicpOwogICAgICAgICRyZXNwb25zZSA9ICR0aGlzLT5kYXRhUGlwZWxpbmUtPmdldENvbW1hbmQoJ0dldFBpcGVsaW5lRGVmaW5pdGlvbicsIGFycmF5KAogICAgICAgICAgICAncGlwZWxpbmVJZCcgPT4gJHBpcGVsaW5lSWRzWzBdLAogICAgICAgICkpLT5nZXRSZXNwb25zZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAwLCAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSk7CgogICAgICAgIHNlbGY6OmxvZygnRGVsZXRlIHRoZSBwaXBlbGluZXMgd2UgY3JlYXRlZC4nKTsKICAgICAgICBmb3JlYWNoICgkcGlwZWxpbmVJZHMgYXMgJHBpcGVsaW5lSWQpIHsKICAgICAgICAgICAgJHJlc3BvbnNlID0gJHRoaXMtPmRhdGFQaXBlbGluZS0+Z2V0Q29tbWFuZCgnRGVsZXRlUGlwZWxpbmUnLCBhcnJheSgKICAgICAgICAgICAgICAgICdwaXBlbGluZUlkJyA9PiAkcGlwZWxpbmVJZCwKICAgICAgICAgICAgKSktPmdldFJlc3BvbnNlKCk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAwLCAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgfQoKICAgICAgICBzZWxmOjpsb2coJ1NsZWVwIHRvIGxldCBkZWxldGUgY2FsbHMgcHJvcGFnYXRlLicpOwogICAgICAgIHNsZWVwKDUpOwoKICAgICAgICBzZWxmOjpsb2coJ0xpc3QgdGhlIHBpcGVsaW5lcyBhbmQgbWFrZSBzdXJlIHRoZSBvbmVzIHdlIGRlbGV0ZWQgYXJlIGdvbmUuJyk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmRhdGFQaXBlbGluZS0+Z2V0SXRlcmF0b3IoJ0xpc3RQaXBlbGluZXMnKSBhcyAkcGlwZWxpbmUpIHsKICAgICAgICAgICAgaWYgKHN0cnBvcygkcGlwZWxpbmVbJ25hbWUnXSwgJ3BocC10ZXN0LXBpcGVsaW5lJykgPT09IDApIHsKICAgICAgICAgICAgICAgICR0aGlzLT5mYWlsKCJUaGUgcGlwZWxpbmUgeyRwaXBlbGluZVsnbmFtZSddfSB3YXMgbm90IGRlbGV0ZWQuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DirectConnect/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DirectConnect/DirectConnectClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRGlyZWN0Q29ubmVjdDsKCnVzZSBBd3NcRGlyZWN0Q29ubmVjdFxEaXJlY3RDb25uZWN0Q2xpZW50OwoKY2xhc3MgRGlyZWN0Q29ubmVjdENsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcRGlyZWN0Q29ubmVjdFxEaXJlY3RDb25uZWN0Q2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gRGlyZWN0Q29ubmVjdENsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtd2VzdC0yJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQnLCAkY2xpZW50LT5nZXRTaWduYXR1cmUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHMnLCAkY2xpZW50LT5nZXRDcmVkZW50aWFscygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwczovL2RpcmVjdGNvbm5lY3QudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20nLCAkY2xpZW50LT5nZXRCYXNlVXJsKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DirectConnect/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DirectConnect/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRGlyZWN0Q29ubmVjdFxJbnRlZ3JhdGlvbjsKCnVzZSBBd3NcRGlyZWN0Q29ubmVjdFxFbnVtXENvbm5lY3Rpb25TdGF0ZTsKdXNlIEd1enpsZVxQbHVnaW5cTG9nXExvZ1BsdWdpbjsKCi8qKgogKiBAZ3JvdXAgaW50ZWdyYXRpb24KICogQGdyb3VwIGV4YW1wbGUKICovCmNsYXNzIEludGVncmF0aW9uVGVzdCBleHRlbmRzIFxBd3NcVGVzdHNcSW50ZWdyYXRpb25UZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIENyZWF0ZUNvbm5lY3Rpb24gb3BlcmF0aW9uIGV4YW1wbGUKICAgICAqCiAgICAgKiBAZXhhbXBsZSBBd3NcRGlyZWN0Q29ubmVjdFxEaXJlY3RDb25uZWN0Q2xpZW50OjpjcmVhdGVDb25uZWN0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc0Nvbm5lY3Rpb24oKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkaXJlY3Rjb25uZWN0JywgdHJ1ZSk7CiAgICAgICAgJGNsaWVudC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZFN1YnNjcmliZXIoTG9nUGx1Z2luOjpnZXREZWJ1Z1BsdWdpbigpKTsKCiAgICAgICAgc2VsZjo6bG9nKCdDcmVhdGUgYSBjb25uZWN0aW9uJyk7CgogICAgICAgIC8vIEBiZWdpbgogICAgICAgICRyZXN1bHQgPSAkY2xpZW50LT5jcmVhdGVDb25uZWN0aW9uKGFycmF5KAogICAgICAgICAgICAnYmFuZHdpZHRoJyAgICAgID0+ICcxR2JwcycsCiAgICAgICAgICAgICdjb25uZWN0aW9uTmFtZScgPT4gJ1BIUFRlc3QnLAogICAgICAgICAgICAnbG9jYXRpb24nICAgICAgID0+ICdFcURDMicKICAgICAgICApKTsKCiAgICAgICAgJGNvbm5lY3Rpb25JZCA9ICRyZXN1bHRbJ2Nvbm5lY3Rpb25JZCddOwogICAgICAgIC8vIEBlbmQKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhDb25uZWN0aW9uU3RhdGU6OlJFUVVFU1RFRCwgJHJlc3VsdFsnY29ubmVjdGlvblN0YXRlJ10pOwoKICAgICAgICByZXR1cm4gJGNvbm5lY3Rpb25JZDsKICAgIH0KCiAgICAvKioKICAgICAqIERlc2NyaWJlQ29ubmVjdGlvbnMgb3BlcmF0aW9uIGV4YW1wbGUKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0Q3JlYXRlc0Nvbm5lY3Rpb24KICAgICAqIEBleGFtcGxlIEF3c1xEaXJlY3RDb25uZWN0XERpcmVjdENvbm5lY3RDbGllbnQ6OmRlc2NyaWJlQ29ubmVjdGlvbnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZXNjcmliZXNDb25uZWN0aW9ucygkY29ubmVjdGlvbklkKQogICAgewogICAgICAgIHNlbGY6OmxvZygnSXRlcmF0ZSB0aHJvdWdoIHRoZSBjb25uZWN0aW9ucyBhbmQgbWFrZSBzdXJlIHRoZSBuZXcgb25lIGlzIHRoZXJlLicpOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkaXJlY3Rjb25uZWN0JywgdHJ1ZSk7CgogICAgICAgIC8vIEBiZWdpbgogICAgICAgICRpdGVyYXRvciA9ICRjbGllbnQtPmdldERlc2NyaWJlQ29ubmVjdGlvbnNJdGVyYXRvcigpOwoKICAgICAgICBmb3JlYWNoICgkaXRlcmF0b3IgYXMgJGNvbm5lY3Rpb24pIHsKICAgICAgICAgICAgZWNobyAkY29ubmVjdGlvblsnY29ubmVjdGlvbklkJ10gLiAiXG4iOwogICAgICAgIH0KICAgICAgICAvLyBAZW5kCiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCRjb25uZWN0aW9uSWQsICR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CgogICAgICAgIHJldHVybiAkY29ubmVjdGlvbklkOwogICAgfQoKICAgIC8qKgogICAgICogRGVsZXRlQ29ubmVjdGlvbiBvcGVyYXRpb24gZXhhbXBsZQogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3REZXNjcmliZXNDb25uZWN0aW9ucwogICAgICogQGV4YW1wbGUgQXdzXERpcmVjdENvbm5lY3RcRGlyZWN0Q29ubmVjdENsaWVudDo6ZGVsZXRlQ29ubmVjdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlbGV0ZXNDb25uZWN0aW9uKCRjb25uZWN0aW9uSWQpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2RpcmVjdGNvbm5lY3QnLCB0cnVlKTsKICAgICAgICBzZWxmOjpsb2coJ0RlbGV0ZSB0aGUgY29ubmVjdGlvbiBhbmQgbWFrZSBzdXJlIGl0IGlzIGluIHRoZSBkZWxldGVkIHN0YXRlLicpOwoKICAgICAgICAvLyBAYmVnaW4KICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+ZGVsZXRlQ29ubmVjdGlvbihhcnJheSgKICAgICAgICAgICAgJ2Nvbm5lY3Rpb25JZCcgPT4gJGNvbm5lY3Rpb25JZAogICAgICAgICkpOwoKICAgICAgICBlY2hvICRyZXN1bHRbJ2Nvbm5lY3Rpb25TdGF0ZSddOwogICAgICAgIC8vIEBlbmQKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZGVsZXRlZCcsICR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Crc32ErrorCheckerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGI7Cgp1c2UgQXdzXER5bmFtb0RiXENyYzMyRXJyb3JDaGVja2VyOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCi8qKgogKiBAY292ZXJzIEF3c1xEeW5hbW9EYlxDcmMzMkVycm9yQ2hlY2tlcgogKi8KY2xhc3MgQ3JjMzJFcnJvckNoZWNrZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBhc3Nlc1doZW5IZWFkZXJJc05vdFNldCgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9leGFtcGxlLmNvbScpOwogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDApOwogICAgICAgICRjaGVja2VyID0gbmV3IENyYzMyRXJyb3JDaGVja2VyKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjaGVja2VyLT5nZXRCYWNrb2ZmUGVyaW9kKDAsICRyZXF1ZXN0LCAkcmVzcG9uc2UpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE9ubHlMaXN0ZW5zRm9yQ29tcGxldGVkUmVxdWVzdHMoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZXhhbXBsZS5jb20nKTsKICAgICAgICAkY2hlY2tlciA9IG5ldyBDcmMzMkVycm9yQ2hlY2tlcigpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkY2hlY2tlci0+Z2V0QmFja29mZlBlcmlvZCgwLCAkcmVxdWVzdCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc1RydWVGb3JNaXNtYXRjaGVkQ2hlY2tzdW1zKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2V4YW1wbGUuY29tJyk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICAgICAnY29udGVudC10eXBlJyA9PiAnYXBwbGljYXRpb24veC1hbXotanNvbi0xLjAnLAogICAgICAgICAgICAgICAgJ3gtYW16LWNyYzMyJyAgPT4gMTIzCiAgICAgICAgICAgICksICd7ImZvbyI6ImJhciJ9JwogICAgICAgICk7CiAgICAgICAgJGNoZWNrZXIgPSBuZXcgQ3JjMzJFcnJvckNoZWNrZXIoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgwLCAkY2hlY2tlci0+Z2V0QmFja29mZlBlcmlvZCgxLCAkcmVxdWVzdCwgJHJlc3BvbnNlKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zRmFsc2VXaGVuQ3JjMzJNYXRjaGVzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2V4YW1wbGUuY29tJyk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoJ3gtYW16LWNyYzMyJyA9PiAnMzYzMjIzMzk5NicpLCAndGVzdCcpOwogICAgICAgICRjaGVja2VyID0gbmV3IENyYzMyRXJyb3JDaGVja2VyKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjaGVja2VyLT5nZXRCYWNrb2ZmUGVyaW9kKDEsICRyZXF1ZXN0LCAkcmVzcG9uc2UpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/DynamoDbClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGI7Cgp1c2UgQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFsczsKdXNlIEF3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0Owp1c2UgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50Owp1c2UgQXdzXER5bmFtb0RiXEVudW1cVHlwZTsKCmNsYXNzIER5bmFtb0RiQ2xpZW50VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6Zm9ybWF0VmFsdWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGb3JtYXRWYWx1ZVByb2R1Y2VzQ29ycmVjdEFycmF5U3RydWN0dXJlKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZHluYW1vZGInLCB0cnVlKTsKICAgICAgICAkZXhwZWN0ZWQgPSBhcnJheShUeXBlOjpOVU1CRVIgPT4gJzEwMCcpOwogICAgICAgICRhY3R1YWwgPSAkY2xpZW50LT5mb3JtYXRWYWx1ZSgxMDApOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZXhwZWN0ZWQsICRhY3R1YWwpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OmZvcm1hdEF0dHJpYnV0ZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGb3JtYXRBdHRyaWJ1dGVzUHJvZHVjZXNDb3JyZWN0QXJyYXlTdHJ1Y3R1cmUoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkeW5hbW9kYicsIHRydWUpOwogICAgICAgICRleHBlY3RlZCA9IGFycmF5KAogICAgICAgICAgICAnbnVtYmVyJyA9PiBhcnJheShUeXBlOjpOVU1CRVIgPT4gJzEwMCcpLAogICAgICAgICAgICAnc3RyaW5nJyA9PiBhcnJheShUeXBlOjpTVFJJTkcgPT4gJ2ZvbycpLAogICAgICAgICk7CgogICAgICAgICRhY3R1YWwgPSAkY2xpZW50LT5mb3JtYXRBdHRyaWJ1dGVzKGFycmF5KAogICAgICAgICAgICAnbnVtYmVyJyA9PiAxMDAsCiAgICAgICAgICAgICdzdHJpbmcnID0+ICdmb28nLAogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZXhwZWN0ZWQsICRhY3R1YWwpOwogICAgfQoKICAgIC8qKgogICAgICogVGhpcyB3YXMgYW4gaXNzdWUgaW4gZWFybGllciBEeW5hbW9EQiBjbGllbnRzIGZyb20gc2V2ZXJhbCBwcm9ncmFtbWluZwogICAgICogbGFuZ3VhZ2VzCiAgICAgKgogICAgICogQGNvdmVycyBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OmZvcm1hdEF0dHJpYnV0ZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGb3JtYXRBdHRyaWJ1dGVzV29ya3NXaXRoVHlwZXNBc0tleXMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkeW5hbW9kYicsIHRydWUpOwogICAgICAgICRleHBlY3RlZCA9IGFycmF5KAogICAgICAgICAgICAnTicgID0+IGFycmF5KCdOJyA9PiAnMScpLAogICAgICAgICAgICAnUycgID0+IGFycmF5KCdTJyA9PiAnUycpLAogICAgICAgICAgICAnTlMnID0+IGFycmF5KCdOUycgPT4gYXJyYXkoJzEnLCAnMicsICczJywgJzQnKSksCiAgICAgICAgICAgICdTUycgPT4gYXJyYXkoJ1NTJyA9PiBhcnJheSgnTicsICdTJywgJ05TJywgJ1NTJykpLAogICAgICAgICk7CgogICAgICAgICRhY3R1YWwgPSAkY2xpZW50LT5mb3JtYXRBdHRyaWJ1dGVzKGFycmF5KAogICAgICAgICAgICAnTicgID0+IDEsCiAgICAgICAgICAgICdTJyAgPT4gJ1MnLAogICAgICAgICAgICAnTlMnID0+IGFycmF5KDEsIDIsIDMsIDQpLAogICAgICAgICAgICAnU1MnID0+IGFycmF5KCdOJywgJ1MnLCAnTlMnLCAnU1MnKSwKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGV4cGVjdGVkLCAkYWN0dWFsKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gRHluYW1vRGJDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLWVhc3QtMScKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0JywgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzJywgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9keW5hbW9kYi51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6Y2FsY3VsYXRlUmV0cnlEZWxheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc0N1c3RvbVJldHJ5RGVsYXkoKQogICAgewogICAgICAgICRjbGllbnQgPSBEeW5hbW9EYkNsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtd2VzdC0xJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsICRjbGllbnQtPmNhbGN1bGF0ZVJldHJ5RGVsYXkoMCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMC4wNSwgJGNsaWVudC0+Y2FsY3VsYXRlUmV0cnlEZWxheSgxKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLjEsICRjbGllbnQtPmNhbGN1bGF0ZVJldHJ5RGVsYXkoMikpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMC4yLCAkY2xpZW50LT5jYWxjdWxhdGVSZXRyeURlbGF5KDMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAuNCwgJGNsaWVudC0+Y2FsY3VsYXRlUmV0cnlEZWxheSg0KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLjgsICRjbGllbnQtPmNhbGN1bGF0ZVJldHJ5RGVsYXkoNSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMS42LCAkY2xpZW50LT5jYWxjdWxhdGVSZXRyeURlbGF5KDYpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMuMiwgJGNsaWVudC0+Y2FsY3VsYXRlUmV0cnlEZWxheSg3KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg2LjQsICRjbGllbnQtPmNhbGN1bGF0ZVJldHJ5RGVsYXkoOCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTIuOCwgJGNsaWVudC0+Y2FsY3VsYXRlUmV0cnlEZWxheSg5KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyNS42LCAkY2xpZW50LT5jYWxjdWxhdGVSZXRyeURlbGF5KDEwKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg1MS4yLCAkY2xpZW50LT5jYWxjdWxhdGVSZXRyeURlbGF5KDExKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6cmVnaXN0ZXJTZXNzaW9uSGFuZGxlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblJlZ2lzdGVyU2Vzc2lvbkhhbmRsZXJGcm9tQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gRHluYW1vRGJDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLXdlc3QtMScKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xEeW5hbW9EYlxTZXNzaW9uXFNlc3Npb25IYW5kbGVyJywgJGNsaWVudC0+cmVnaXN0ZXJTZXNzaW9uSGFuZGxlcigpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Exception/UnprocessedWriteRequestsExceptionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcRXhjZXB0aW9uOwoKdXNlIEF3c1xEeW5hbW9EYlxFeGNlcHRpb25cVW5wcm9jZXNzZWRXcml0ZVJlcXVlc3RzRXhjZXB0aW9uOwp1c2UgQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxXcml0ZVJlcXVlc3RJbnRlcmZhY2U7CgovKioKICogQGNvdmVycyBBd3NcRHluYW1vRGJcRXhjZXB0aW9uXFVucHJvY2Vzc2VkV3JpdGVSZXF1ZXN0c0V4Y2VwdGlvbgogKi8KY2xhc3MgVW5wcm9jZXNzZWRXcml0ZVJlcXVlc3RzRXhjZXB0aW9uVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5BZGRJdGVtc1RvRXhjZXB0aW9uKCkKICAgIHsKICAgICAgICAkZXhjZXB0aW9uICAgID0gbmV3IFVucHJvY2Vzc2VkV3JpdGVSZXF1ZXN0c0V4Y2VwdGlvbigpOwogICAgICAgICRpbnRlcmZhY2UgICAgPSAnQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxXcml0ZVJlcXVlc3RJbnRlcmZhY2UnOwogICAgICAgICR1bnByb2Nlc3NlZDEgPSAkdGhpcy0+Z2V0TW9jaygkaW50ZXJmYWNlKTsKICAgICAgICAkdW5wcm9jZXNzZWQyID0gJHRoaXMtPmdldE1vY2soJGludGVyZmFjZSk7CgogICAgICAgICRleGNlcHRpb24KICAgICAgICAgICAgLT5hZGRJdGVtKCR1bnByb2Nlc3NlZDEpCiAgICAgICAgICAgIC0+YWRkSXRlbSgkdW5wcm9jZXNzZWQyKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdGhyb3cgJGV4Y2VwdGlvbjsKICAgICAgICB9IGNhdGNoIChVbnByb2Nlc3NlZFdyaXRlUmVxdWVzdHNFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkZSkpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignXEFycmF5SXRlcmF0b3InLCAkZS0+Z2V0SXRlcmF0b3IoKSk7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Integration/DynamoDb_20111205_Test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcSW50ZWdyYXRpb247Cgp1c2UgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OwoKLyoqCiAqIEBncm91cCBleGFtcGxlCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKiBAb3V0cHV0QnVmZmVyaW5nIGVuYWJsZWQKICovCmNsYXNzIER5bmFtb0RiXzIwMTExMjA1X1Rlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAdmFyIER5bmFtb0RiQ2xpZW50CiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2xpZW50OwoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc2V0VXBCZWZvcmVDbGFzcygpCiAgICB7CiAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBEeW5hbW9EYkNsaWVudCAqLwogICAgICAgICRjbGllbnQgPSBzZWxmOjpnZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2R5bmFtb2RiJywgYXJyYXkoJ3ZlcnNpb24nID0+ICcyMDExLTEyLTA1JykpOwoKICAgICAgICAvLyBEZWxldGUgdGhlIHRhYmxlIGlmIGl0IGV4aXN0cwogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRjbGllbnQtPmRlbGV0ZVRhYmxlKGFycmF5KCdUYWJsZU5hbWUnID0+ICdlcnJvcnMnKSk7CiAgICAgICAgICAgICRjbGllbnQtPndhaXRVbnRpbFRhYmxlTm90RXhpc3RzKGFycmF5KCdUYWJsZU5hbWUnID0+ICdlcnJvcnMnKSk7CiAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkge30KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkeW5hbW9kYicsIGFycmF5KCd2ZXJzaW9uJyA9PiAnMjAxMS0xMi0wNScpKTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIHRhYmxlIHdpdGggYW4gb3B0aW9uYWwgUmFuZ2VLZXlFbGVtZW50CiAgICAgKgogICAgICogQGV4YW1wbGUgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpjcmVhdGVUYWJsZSAyMDExLTEyLTA1CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlVGFibGUoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAvLyBDcmVhdGUgYW4gImVycm9ycyIgdGFibGUKICAgICAgICAkY2xpZW50LT5jcmVhdGVUYWJsZShhcnJheSgKICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJ2Vycm9ycycsCiAgICAgICAgICAgICdLZXlTY2hlbWEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0hhc2hLZXlFbGVtZW50JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gJ2lkJywKICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlVHlwZScgPT4gJ04nCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1JhbmdlS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUnID0+ICd0aW1lJywKICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlVHlwZScgPT4gJ04nCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdQcm92aXNpb25lZFRocm91Z2hwdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlYWRDYXBhY2l0eVVuaXRzJyAgPT4gMTAsCiAgICAgICAgICAgICAgICAnV3JpdGVDYXBhY2l0eVVuaXRzJyA9PiAyMAogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0Q3JlYXRlVGFibGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RXYWl0VW50aWxUYWJsZUV4aXN0cygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgIC8vIFdhaXQgdW50aWwgdGhlIHRhYmxlIGlzIGNyZWF0ZWQgYW5kIGFjdGl2ZQogICAgICAgICRjbGllbnQtPndhaXRVbnRpbFRhYmxlRXhpc3RzKGFycmF5KAogICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAnZXJyb3JzJwogICAgICAgICkpOwogICAgfQoKICAgIC8qKgogICAgICogVXBkYXRlIGEgdGFibGUgdG8gY2hhbmdlIHRoZSBwcm92aXNpb25lZCB0aHJvdWdocHV0CiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdFdhaXRVbnRpbFRhYmxlRXhpc3RzCiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OnVwZGF0ZVRhYmxlIDIwMTEtMTItMDUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVcGRhdGVUYWJsZSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgIC8vIFVwZGF0ZSB0aGUgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCBjYXBhY2l0eSBvZiB0aGUgdGFibGUKICAgICAgICAkY2xpZW50LT51cGRhdGVUYWJsZShhcnJheSgKICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJ2Vycm9ycycsCiAgICAgICAgICAgICdQcm92aXNpb25lZFRocm91Z2hwdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlYWRDYXBhY2l0eVVuaXRzJyAgPT4gMTUsCiAgICAgICAgICAgICAgICAnV3JpdGVDYXBhY2l0eVVuaXRzJyA9PiAyNQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgIC8vIFdhaXQgdW50aWwgdGhlIHRhYmxlIGlzIGFjdGl2ZSBhZ2FpbiBhZnRlciB1cGRhdGluZwogICAgICAgICRjbGllbnQtPndhaXRVbnRpbFRhYmxlRXhpc3RzKGFycmF5KAogICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAnZXJyb3JzJwogICAgICAgICkpOwogICAgfQoKICAgIC8qKgogICAgICogRGVzY3JpYmUgYSB0YWJsZSBhbmQgZ3JhYiBkYXRhIGZyb20gdGhlIG91dHB1dAogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3RVcGRhdGVUYWJsZQogICAgICogQGV4YW1wbGUgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpkZXNjcmliZVRhYmxlIDIwMTEtMTItMDUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZXNjcmliZVRhYmxlKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAkdGhpcy0+ZXhwZWN0T3V0cHV0U3RyaW5nKCIwXG4xNVxuIik7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgICRyZXN1bHQgPSAkY2xpZW50LT5kZXNjcmliZVRhYmxlKGFycmF5KAogICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAnZXJyb3JzJwogICAgICAgICkpOwoKICAgICAgICAvLyBUaGUgcmVzdWx0IG9mIGFuIG9wZXJhdGlvbiBjYW4gYmUgdXNlZCBsaWtlIGFuIGFycmF5CiAgICAgICAgZWNobyAkcmVzdWx0WydUYWJsZSddWydJdGVtQ291bnQnXSAuICJcbiI7CiAgICAgICAgLy8+IDAKCiAgICAgICAgLy8gVXNlIHRoZSBnZXRQYXRoKCkgbWV0aG9kIHRvIHJldHJpZXZlIGRlZXBseSBuZXN0ZWQgYXJyYXkga2V5IHZhbHVlcwogICAgICAgIGVjaG8gJHJlc3VsdC0+Z2V0UGF0aCgnVGFibGUvUHJvdmlzaW9uZWRUaHJvdWdocHV0L1JlYWRDYXBhY2l0eVVuaXRzJykgLiAiXG4iOwogICAgICAgIC8vPiAxNQogICAgfQoKICAgIC8qKgogICAgICogTGlzdCB0aGUgZmlyc3QgcGFnZSBvZiByZXN1bHRzIG9mIHRhYmxlcyBvd25lZCBieSB5b3VyIGFjY291bnQKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0RGVzY3JpYmVUYWJsZQogICAgICogQGV4YW1wbGUgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpsaXN0VGFibGVzIDIwMTEtMTItMDUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RMaXN0VGFibGVzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPmxpc3RUYWJsZXMoKTsKCiAgICAgICAgLy8gVGFibGVOYW1lcyBjb250YWlucyBhbiBhcnJheSBvZiB0YWJsZSBuYW1lcwogICAgICAgIGZvcmVhY2ggKCRyZXN1bHRbJ1RhYmxlTmFtZXMnXSBhcyAkdGFibGVOYW1lKSB7CiAgICAgICAgICAgIGVjaG8gJHRhYmxlTmFtZSAuICJcbiI7CiAgICAgICAgfQoKICAgICAgICAvLyBAZW5kCiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCJlcnJvcnNcbiIsICR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBMaXN0IGFsbCBvZiB0aGUgdGFibGVzIG93bmVkIGJ5IHlvdXIgYWNjb3VudCB1c2luZyBhIExpc3RUYWJsZXMgaXRlcmF0b3IKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0TGlzdFRhYmxlcwogICAgICogQGV4YW1wbGUgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpsaXN0VGFibGUgMjAxMS0xMi0wNQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExpc3RUYWJsZXNXaXRoSXRlcmF0b3IoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAkaXRlcmF0b3IgPSAkY2xpZW50LT5nZXRJdGVyYXRvcignTGlzdFRhYmxlcycpOwoKICAgICAgICBmb3JlYWNoICgkaXRlcmF0b3IgYXMgJHRhYmxlTmFtZSkgewogICAgICAgICAgICBlY2hvICR0YWJsZU5hbWUgLiAiXG4iOwogICAgICAgIH0KCiAgICAgICAgLy8gQGVuZAogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygiZXJyb3JzXG4iLCAkdGhpcy0+Z2V0QWN0dWFsT3V0cHV0KCkpOwogICAgfQoKICAgIC8qKgogICAgICogUHV0IGFuIGl0ZW0gaW4gYSB0YWJsZSB1c2luZyB0aGUgZm9ybWF0QXR0cmlidXRlcygpIGNsaWVudCBoZWxwZXIgbWV0aG9kCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdExpc3RUYWJsZXNXaXRoSXRlcmF0b3IKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6cHV0SXRlbSAyMDExLTEyLTA1CiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OmZvcm1hdEF0dHJpYnV0ZXMgMjAxMS0xMi0wNQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZEl0ZW0oKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAkdGltZSA9IHRpbWUoKTsKCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPnB1dEl0ZW0oYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnID0+ICdlcnJvcnMnLAogICAgICAgICAgICAnSXRlbScgPT4gJGNsaWVudC0+Zm9ybWF0QXR0cmlidXRlcyhhcnJheSgKICAgICAgICAgICAgICAgICdpZCcgICAgICA9PiAxMjAxLAogICAgICAgICAgICAgICAgJ3RpbWUnICAgID0+ICR0aW1lLAogICAgICAgICAgICAgICAgJ2Vycm9yJyAgID0+ICdFeGVjdXRpdmUgb3ZlcmZsb3cnLAogICAgICAgICAgICAgICAgJ21lc3NhZ2UnID0+ICdubyB2YWNhbnQgYXJlYXMnCiAgICAgICAgICAgICkpCiAgICAgICAgKSk7CgogICAgICAgIC8vIFRoZSByZXN1bHQgd2lsbCBhbHdheXMgY29udGFpbiBDb25zdW1lZENhcGFjaXR5VW5pdHMKICAgICAgICBlY2hvICRyZXN1bHRbJ0NvbnN1bWVkQ2FwYWNpdHlVbml0cyddIC4gIlxuIjsKCiAgICAgICAgLy8gQGVuZAogICAgICAgICR0aGlzLT5hc3NlcnROb3RFbXB0eSgkdGhpcy0+Z2V0QWN0dWFsT3V0cHV0KCkpOwogICAgICAgIHJldHVybiAkdGltZTsKICAgIH0KCiAgICAvKioKICAgICAqIFB1dCBhbiBpdGVtIGluIGEgdGFibGUKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0QWRkSXRlbQogICAgICogQGV4YW1wbGUgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpwdXRJdGVtIDIwMTEtMTItMDUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRJdGVtV2l0aG91dEhlbHBlck1ldGhvZCgkdGltZSkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPnB1dEl0ZW0oYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnID0+ICdlcnJvcnMnLAogICAgICAgICAgICAnSXRlbScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnaWQnICAgICAgPT4gYXJyYXkoJ04nID0+ICcxMjAxJyksCiAgICAgICAgICAgICAgICAndGltZScgICAgPT4gYXJyYXkoJ04nID0+ICR0aW1lKSwKICAgICAgICAgICAgICAgICdlcnJvcicgICA9PiBhcnJheSgnUycgPT4gJ0V4ZWN1dGl2ZSBvdmVyZmxvdycpLAogICAgICAgICAgICAgICAgJ21lc3NhZ2UnID0+IGFycmF5KCdTJyA9PiAnbm8gdmFjYW50IGFyZWFzJykKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAvLyBAZW5kCiAgICAgICAgcmV0dXJuICR0aW1lOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGl0ZW0gZnJvbSBhIHRhYmxlIGFuZCBpbnRlcmFjdCB3aXRoIHRoZSByZXNwb25zZQogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3RBZGRJdGVtV2l0aG91dEhlbHBlck1ldGhvZAogICAgICogQGV4YW1wbGUgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpnZXRJdGVtIDIwMTEtMTItMDUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRJdGVtKCR0aW1lKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgICR0aGlzLT5leHBlY3RPdXRwdXRTdHJpbmcoIjEyMDFcbjEyMDFcbkV4ZWN1dGl2ZSBvdmVyZmxvd1xubm8gdmFjYW50IGFyZWFzXG4iKTsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPmdldEl0ZW0oYXJyYXkoCiAgICAgICAgICAgICdDb25zaXN0ZW50UmVhZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJ2Vycm9ycycsCiAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0hhc2hLZXlFbGVtZW50JyAgPT4gYXJyYXkoJ04nID0+ICcxMjAxJyksCiAgICAgICAgICAgICAgICAnUmFuZ2VLZXlFbGVtZW50JyA9PiBhcnJheSgnTicgPT4gJHRpbWUpCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgLy8gR3JhYiB2YWx1ZSBmcm9tIHRoZSByZXN1bHQgb2JqZWN0IGxpa2UgYW4gYXJyYXkKICAgICAgICBlY2hvICRyZXN1bHRbJ0l0ZW0nXVsnaWQnXVsnTiddIC4gIlxuIjsKICAgICAgICAvLz4gMTIwMQogICAgICAgIGVjaG8gJHJlc3VsdC0+Z2V0UGF0aCgnSXRlbS9pZC9OJykgLiAiXG4iOwogICAgICAgIC8vPiAxMjAxCiAgICAgICAgZWNobyAkcmVzdWx0WydJdGVtJ11bJ2Vycm9yJ11bJ1MnXSAuICJcbiI7CiAgICAgICAgLy8+IEV4ZWN1dGl2ZSBvdmVyZmxvdwogICAgICAgIGVjaG8gJHJlc3VsdFsnSXRlbSddWydtZXNzYWdlJ11bJ1MnXSAuICJcbiI7CiAgICAgICAgLy8+IG5vIHZhY2FudCBhcmVhcwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFsbCByZXN1bHRzIG9mIGEgUXVlcnkgb3BlcmF0aW9uIHVzaW5nIGEgUXVlcnkgaXRlcmF0b3IKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0R2V0SXRlbQogICAgICogQGV4YW1wbGUgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpxdWVyeSAyMDExLTEyLTA1CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UXVlcnkoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAkaXRlcmF0b3IgPSAkY2xpZW50LT5nZXRJdGVyYXRvcignUXVlcnknLCBhcnJheSgKICAgICAgICAgICAgJ1RhYmxlTmFtZScgICAgICAgICA9PiAnZXJyb3JzJywKICAgICAgICAgICAgJ0hhc2hLZXlWYWx1ZScgICAgICA9PiBhcnJheSgnTicgPT4gJzEyMDEnKSwKICAgICAgICAgICAgJ1JhbmdlS2V5Q29uZGl0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVWYWx1ZUxpc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgIGFycmF5KCdOJyA9PiBzdHJ0b3RpbWUoIi0xNSBtaW51dGVzIikpCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0NvbXBhcmlzb25PcGVyYXRvcicgPT4gJ0dUJwogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgIC8vIEVhY2ggaXRlbSB3aWxsIGNvbnRhaW4gdGhlIGF0dHJpYnV0ZXMgd2UgYWRkZWQKICAgICAgICBmb3JlYWNoICgkaXRlcmF0b3IgYXMgJGl0ZW0pIHsKICAgICAgICAgICAgLy8gR3JhYiB0aGUgdGltZSBudW1iZXIgdmFsdWUKICAgICAgICAgICAgZWNobyAkaXRlbVsndGltZSddWydOJ10gLiAiXG4iOwogICAgICAgICAgICAvLyBHcmFiIHRoZSBlcnJvciBzdHJpbmcgdmFsdWUKICAgICAgICAgICAgZWNobyAkaXRlbVsnZXJyb3InXVsnUyddIC4gIlxuIjsKICAgICAgICB9CgogICAgICAgIC8vIEBlbmQKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJHRoaXMtPmdldEFjdHVhbE91dHB1dCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbGwgb2YgdGhlIHJlc3VsdHMgb2YgYSBTY2FuIG9wZXJhdGlvbiB1c2luZyBhIFNjYW4gaXRlcmF0b3IKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0UXVlcnkKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6c2NhbiAyMDExLTEyLTA1CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2NhbigpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgICRpdGVyYXRvciA9ICRjbGllbnQtPmdldEl0ZXJhdG9yKCdTY2FuJywgYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnID0+ICdlcnJvcnMnLAogICAgICAgICAgICAnU2NhbkZpbHRlcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZXJyb3InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVWYWx1ZUxpc3QnID0+IGFycmF5KGFycmF5KCdTJyA9PiAnb3ZlcmZsb3cnKSksCiAgICAgICAgICAgICAgICAgICAgJ0NvbXBhcmlzb25PcGVyYXRvcicgPT4gJ0NPTlRBSU5TJwogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd0aW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlVmFsdWVMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ04nID0+IHN0cnRvdGltZSgnLTE1IG1pbnV0ZXMnKSkKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdDb21wYXJpc29uT3BlcmF0b3InID0+ICdHVCcKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAvLyBFYWNoIGl0ZW0gd2lsbCBjb250YWluIHRoZSBhdHRyaWJ1dGVzIHdlIGFkZGVkCiAgICAgICAgZm9yZWFjaCAoJGl0ZXJhdG9yIGFzICRpdGVtKSB7CiAgICAgICAgICAgIC8vIEdyYWIgdGhlIHRpbWUgbnVtYmVyIHZhbHVlCiAgICAgICAgICAgIGVjaG8gJGl0ZW1bJ3RpbWUnXVsnTiddIC4gIlxuIjsKICAgICAgICAgICAgLy8gR3JhYiB0aGUgZXJyb3Igc3RyaW5nIHZhbHVlCiAgICAgICAgICAgIGVjaG8gJGl0ZW1bJ2Vycm9yJ11bJ1MnXSAuICJcbiI7CiAgICAgICAgfQoKICAgICAgICAvLyBAZW5kCiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KCR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBQdXQgYW5kIGdldCBhbiBpdGVtIHdpdGggYSBiaW5hcnkgYXR0cmlidXRlCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdFNjYW4KICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6cHV0SXRlbSAyMDExLTEyLTA1CiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OmdldEl0ZW0gMjAxMS0xMi0wNQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEJpbmFyeVR5cGUoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAkZGF0YSA9ICfCoeKEosKjwqLiiJ7Cp8K24oCiwqrCuic7CiAgICAgICAgJHRpbWUgPSB0aW1lKCk7CgogICAgICAgICRjbGllbnQtPnB1dEl0ZW0oYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnID0+ICdlcnJvcnMnLAogICAgICAgICAgICAnSXRlbScgICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdpZCcgICAgPT4gYXJyYXkoJ04nID0+ICczMDAwJyksCiAgICAgICAgICAgICAgICAndGltZScgID0+IGFycmF5KCdOJyA9PiAkdGltZSksCiAgICAgICAgICAgICAgICAnZXJyb3InID0+IGFycmF5KCdTJyA9PiAnT3V0IG9mIGJvdW5kcycpLAogICAgICAgICAgICAgICAgJ2RhdGEnICA9PiBhcnJheSgnQicgPT4gJGRhdGEpCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPmdldEl0ZW0oYXJyYXkoCiAgICAgICAgICAgICdDb25zaXN0ZW50UmVhZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJ2Vycm9ycycsCiAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0hhc2hLZXlFbGVtZW50JyAgPT4gYXJyYXkoJ04nID0+ICczMDAwJyksCiAgICAgICAgICAgICAgICAnUmFuZ2VLZXlFbGVtZW50JyA9PiBhcnJheSgnTicgPT4gJHRpbWUpCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgdmFyX2R1bXAoJHJlc3VsdFsnSXRlbSddWydkYXRhJ11bJ0InXSA9PSBiYXNlNjRfZGVjb2RlKCRkYXRhKSk7CiAgICAgICAgLy8+IGJvb2wodHJ1ZSkKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBiYXRjaGVzIG9mIGl0ZW1zCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdEJpbmFyeVR5cGUKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6YmF0Y2hHZXRJdGVtIDIwMTEtMTItMDUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCYXRjaEdldEl0ZW0oKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwoKICAgICAgICAka2V5VmFsdWVzID0gYXJyYXkoKTsKICAgICAgICAkc2NhbiA9ICRjbGllbnQtPmdldEl0ZXJhdG9yKCdTY2FuJywgYXJyYXkoJ1RhYmxlTmFtZScgPT4gJ2Vycm9ycycpKTsKICAgICAgICBmb3JlYWNoICgkc2NhbiBhcyAkaXRlbSkgewogICAgICAgICAgICAka2V5VmFsdWVzW10gPSBhcnJheSgkaXRlbVsnaWQnXVsnTiddLCAkaXRlbVsndGltZSddWydOJ10pOwogICAgICAgIH0KICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJHRhYmxlTmFtZSA9ICdlcnJvcnMnOwogICAgICAgICRrZXlzID0gYXJyYXkoKTsKCiAgICAgICAgLy8gR2l2ZW4gdGhhdCAka2V5VmFsdWVzIGNvbnRhaW5zIGEgbGlzdCBvZiB5b3VyIGhhc2ggYW5kIHJhbmdlIGtleXM6CiAgICAgICAgLy8gICAgIGFycmF5KGFycmF5KDxoYXNoPiwgPHJhbmdlPiksIC4uLikKICAgICAgICAvLyBCdWlsZCB0aGUgYXJyYXkgZm9yIHRoZSAiS2V5cyIgcGFyYW1ldGVyCiAgICAgICAgZm9yZWFjaCAoJGtleVZhbHVlcyBhcyAkdmFsdWVzKSB7CiAgICAgICAgICAgIGxpc3QoJGhhc2hLZXlWYWx1ZSwgJHJhbmdlS2V5VmFsdWUpID0gJHZhbHVlczsKICAgICAgICAgICAgJGtleXNbXSA9IGFycmF5KAogICAgICAgICAgICAgICAgJ0hhc2hLZXlFbGVtZW50JyAgPT4gYXJyYXkoJ04nID0+ICRoYXNoS2V5VmFsdWUpLAogICAgICAgICAgICAgICAgJ1JhbmdlS2V5RWxlbWVudCcgPT4gYXJyYXkoJ04nID0+ICRyYW5nZUtleVZhbHVlKQogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgLy8gR2V0IG11bHRpcGxlIGl0ZW1zIGJ5IGtleSBpbiBhIEJhdGNoR2V0SXRlbSByZXF1ZXN0CiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPmJhdGNoR2V0SXRlbShhcnJheSgKICAgICAgICAgICAgJ1JlcXVlc3RJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAkdGFibGVOYW1lID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdLZXlzJyAgICAgICAgICAgPT4gJGtleXMsCiAgICAgICAgICAgICAgICAgICAgJ0NvbnNpc3RlbnRSZWFkJyA9PiB0cnVlCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgICAgICAkaXRlbXMgPSAkcmVzdWx0LT5nZXRQYXRoKCJSZXNwb25zZXMveyR0YWJsZU5hbWV9Iik7CiAgICAgICAgLy8gQGVuZAoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGNvdW50KCRrZXlzKSwgY291bnQoJGl0ZW1zKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZWxldGUgYW4gaXRlbQogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3RCYXRjaEdldEl0ZW0KICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6ZGVsZXRlSXRlbSAyMDExLTEyLTA1CiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OnNjYW4gMjAxMS0xMi0wNQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlbGV0ZUl0ZW0oKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAvLyBEZWxldGUgZXZlcnkga2V5IGluIHRoZSB0YWJsZQogICAgICAgICRzY2FuID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ1NjYW4nLCBhcnJheSgnVGFibGVOYW1lJyA9PiAnZXJyb3JzJykpOwogICAgICAgIGZvcmVhY2ggKCRzY2FuIGFzICRpdGVtKSB7CiAgICAgICAgICAgICRjbGllbnQtPmRlbGV0ZUl0ZW0oYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAnZXJyb3JzJywKICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdIYXNoS2V5RWxlbWVudCcgID0+IGFycmF5KCdOJyA9PiAkaXRlbVsnaWQnXVsnTiddKSwKICAgICAgICAgICAgICAgICAgICAnUmFuZ2VLZXlFbGVtZW50JyA9PiBhcnJheSgnTicgPT4gJGl0ZW1bJ3RpbWUnXVsnTiddKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBEZWxldGUgYSB0YWJsZQogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3REZWxldGVJdGVtCiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OmRlbGV0ZVRhYmxlIDIwMTEtMTItMDUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZWxldGVUYWJsZSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgICRjbGllbnQtPmRlbGV0ZVRhYmxlKGFycmF5KAogICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAnZXJyb3JzJwogICAgICAgICkpOwoKICAgICAgICAkY2xpZW50LT53YWl0VW50aWxUYWJsZU5vdEV4aXN0cyhhcnJheSgKICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJ2Vycm9ycycKICAgICAgICApKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Integration/DynamoDb_20120810_Test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcSW50ZWdyYXRpb247Cgp1c2UgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50Owp1c2UgQXdzXER5bmFtb0RiXEl0ZXJhdG9yXEl0ZW1JdGVyYXRvcjsKCi8qKgogKiBAZ3JvdXAgZXhhbXBsZQogKiBAZ3JvdXAgaW50ZWdyYXRpb24KICogQG91dHB1dEJ1ZmZlcmluZyBlbmFibGVkCiAqLwpjbGFzcyBEeW5hbW9EYl8yMDEyMDgxMF9UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIC8qKiBAdmFyIER5bmFtb0RiQ2xpZW50ICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNldFVwQmVmb3JlQ2xhc3MoKQogICAgewogICAgICAgIC8qKiBAdmFyICRjbGllbnQgRHluYW1vRGJDbGllbnQgKi8KICAgICAgICAkY2xpZW50ID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkeW5hbW9kYicsIGFycmF5KCd2ZXJzaW9uJyA9PiAnMjAxMi0wOC0xMCcpKTsKCiAgICAgICAgLy8gRGVsZXRlIHRoZSBlcnJvcnMgdGFibGUgaWYgaXQgZXhpc3RzCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJGNsaWVudC0+ZGVsZXRlVGFibGUoYXJyYXkoJ1RhYmxlTmFtZScgPT4gJ2Vycm9ycycpKTsKICAgICAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsVGFibGVOb3RFeGlzdHMoYXJyYXkoJ1RhYmxlTmFtZScgPT4gJ2Vycm9ycycpKTsKICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7fQoKICAgICAgICAvLyBEZWxldGUgdGhlIE9yZGVycyB0YWJsZSBpZiBpdCBleGlzdHMKICAgICAgICB0cnkgewogICAgICAgICAgICAkY2xpZW50LT5kZWxldGVUYWJsZShhcnJheSgnVGFibGVOYW1lJyA9PiAnT3JkZXJzJykpOwogICAgICAgICAgICAkY2xpZW50LT53YWl0VW50aWxUYWJsZU5vdEV4aXN0cyhhcnJheSgnVGFibGVOYW1lJyA9PiAnT3JkZXJzJykpOwogICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHt9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZHluYW1vZGInLCBhcnJheSgndmVyc2lvbicgPT4gJzIwMTItMDgtMTAnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSB0YWJsZSB3aXRoIGEgaGFzaCBrZXkgYW5kIHJhbmdlIGtleQogICAgICoKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6Y3JlYXRlVGFibGUgMjAxMi0wOC0xMAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZVRhYmxlKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgLy8gQ3JlYXRlIGFuICJlcnJvcnMiIHRhYmxlCiAgICAgICAgJGNsaWVudC0+Y3JlYXRlVGFibGUoYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnID0+ICdlcnJvcnMnLAogICAgICAgICAgICAnQXR0cmlidXRlRGVmaW5pdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUnID0+ICdpZCcsCiAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVR5cGUnID0+ICdOJwogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lJyA9PiAndGltZScsCiAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVR5cGUnID0+ICdOJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAogICAgICAgICAgICAnS2V5U2NoZW1hJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lJyA9PiAnaWQnLAogICAgICAgICAgICAgICAgICAgICdLZXlUeXBlJyAgICAgICA9PiAnSEFTSCcKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gJ3RpbWUnLAogICAgICAgICAgICAgICAgICAgICdLZXlUeXBlJyAgICAgICA9PiAnUkFOR0UnCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdQcm92aXNpb25lZFRocm91Z2hwdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1JlYWRDYXBhY2l0eVVuaXRzJyAgPT4gMTAsCiAgICAgICAgICAgICAgICAnV3JpdGVDYXBhY2l0eVVuaXRzJyA9PiAyMAogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0Q3JlYXRlVGFibGUKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6d2FpdFVudGlsVGFibGVFeGlzdHMgMjAxMi0wOC0xMAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFdhaXRVbnRpbFRhYmxlRXhpc3RzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgLy8gV2FpdCB1bnRpbCB0aGUgdGFibGUgaXMgY3JlYXRlZCBhbmQgYWN0aXZlCiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsVGFibGVFeGlzdHMoYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnID0+ICdlcnJvcnMnCiAgICAgICAgKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBVcGRhdGUgYSB0YWJsZSB0byBjaGFuZ2UgdGhlIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0V2FpdFVudGlsVGFibGVFeGlzdHMKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6dXBkYXRlVGFibGUgMjAxMi0wOC0xMAogICAgICogQGV4YW1wbGUgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50Ojp3YWl0VW50aWxUYWJsZUV4aXN0cyAyMDEyLTA4LTEwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXBkYXRlVGFibGUoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAvLyBVcGRhdGUgdGhlIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQgY2FwYWNpdHkgb2YgdGhlIHRhYmxlCiAgICAgICAgJGNsaWVudC0+dXBkYXRlVGFibGUoYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnID0+ICdlcnJvcnMnLAogICAgICAgICAgICAnUHJvdmlzaW9uZWRUaHJvdWdocHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSZWFkQ2FwYWNpdHlVbml0cycgID0+IDE1LAogICAgICAgICAgICAgICAgJ1dyaXRlQ2FwYWNpdHlVbml0cycgPT4gMjUKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAvLyBXYWl0IHVudGlsIHRoZSB0YWJsZSBpcyBhY3RpdmUgYWdhaW4gYWZ0ZXIgdXBkYXRpbmcKICAgICAgICAkY2xpZW50LT53YWl0VW50aWxUYWJsZUV4aXN0cyhhcnJheSgKICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJ2Vycm9ycycKICAgICAgICApKTsKICAgIH0KCiAgICAvKioKICAgICAqIERlc2NyaWJlIGEgdGFibGUgYW5kIGdyYWIgZGF0YSBmcm9tIHRoZSBvdXRwdXQKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0VXBkYXRlVGFibGUKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6ZGVzY3JpYmVUYWJsZSAyMDEyLTA4LTEwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGVzY3JpYmVUYWJsZSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgJHRoaXMtPmV4cGVjdE91dHB1dFN0cmluZygiMFxuMTVcbiIpOwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+ZGVzY3JpYmVUYWJsZShhcnJheSgKICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJ2Vycm9ycycKICAgICAgICApKTsKCiAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBhbiBvcGVyYXRpb24gY2FuIGJlIHVzZWQgbGlrZSBhbiBhcnJheQogICAgICAgIGVjaG8gJHJlc3VsdFsnVGFibGUnXVsnSXRlbUNvdW50J10gLiAiXG4iOwogICAgICAgIC8vPiAwCgogICAgICAgIC8vIFVzZSB0aGUgZ2V0UGF0aCgpIG1ldGhvZCB0byByZXRyaWV2ZSBkZWVwbHkgbmVzdGVkIGFycmF5IGtleSB2YWx1ZXMKICAgICAgICBlY2hvICRyZXN1bHQtPmdldFBhdGgoJ1RhYmxlL1Byb3Zpc2lvbmVkVGhyb3VnaHB1dC9SZWFkQ2FwYWNpdHlVbml0cycpIC4gIlxuIjsKICAgICAgICAvLz4gMTUKICAgIH0KCiAgICAvKioKICAgICAqIExpc3QgdGhlIGZpcnN0IHBhZ2Ugb2YgcmVzdWx0cyBvZiB0YWJsZXMgb3duZWQgYnkgeW91ciBhY2NvdW50CiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdERlc2NyaWJlVGFibGUKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6bGlzdFRhYmxlcyAyMDEyLTA4LTEwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TGlzdFRhYmxlcygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgICRyZXN1bHQgPSAkY2xpZW50LT5saXN0VGFibGVzKCk7CgogICAgICAgIC8vIFRhYmxlTmFtZXMgY29udGFpbnMgYW4gYXJyYXkgb2YgdGFibGUgbmFtZXMKICAgICAgICBmb3JlYWNoICgkcmVzdWx0WydUYWJsZU5hbWVzJ10gYXMgJHRhYmxlTmFtZSkgewogICAgICAgICAgICBlY2hvICR0YWJsZU5hbWUgLiAiXG4iOwogICAgICAgIH0KCiAgICAgICAgLy8gQGVuZAogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygiZXJyb3JzXG4iLCAkdGhpcy0+Z2V0QWN0dWFsT3V0cHV0KCkpOwogICAgfQoKICAgIC8qKgogICAgICogTGlzdCBhbGwgb2YgdGhlIHRhYmxlcyBvd25lZCBieSB5b3VyIGFjY291bnQgdXNpbmcgYSBMaXN0VGFibGVzIGl0ZXJhdG9yCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdExpc3RUYWJsZXMKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6bGlzdFRhYmxlIDIwMTItMDgtMTAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RMaXN0VGFibGVzV2l0aEl0ZXJhdG9yKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJGl0ZXJhdG9yID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ0xpc3RUYWJsZXMnKTsKCiAgICAgICAgZm9yZWFjaCAoJGl0ZXJhdG9yIGFzICR0YWJsZU5hbWUpIHsKICAgICAgICAgICAgZWNobyAkdGFibGVOYW1lIC4gIlxuIjsKICAgICAgICB9CgogICAgICAgIC8vIEBlbmQKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoImVycm9yc1xuIiwgJHRoaXMtPmdldEFjdHVhbE91dHB1dCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIFB1dCBhbiBpdGVtIGluIGEgdGFibGUgdXNpbmcgdGhlIGZvcm1hdEF0dHJpYnV0ZXMoKSBjbGllbnQgaGVscGVyIG1ldGhvZAogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3RMaXN0VGFibGVzV2l0aEl0ZXJhdG9yCiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OnB1dEl0ZW0gMjAxMi0wOC0xMAogICAgICogQGV4YW1wbGUgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50Ojpmb3JtYXRBdHRyaWJ1dGVzIDIwMTItMDgtMTAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRJdGVtKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJHRpbWUgPSB0aW1lKCk7CgogICAgICAgICRyZXN1bHQgPSAkY2xpZW50LT5wdXRJdGVtKGFycmF5KAogICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAnZXJyb3JzJywKICAgICAgICAgICAgJ0l0ZW0nID0+ICRjbGllbnQtPmZvcm1hdEF0dHJpYnV0ZXMoYXJyYXkoCiAgICAgICAgICAgICAgICAnaWQnICAgICAgPT4gMTIwMSwKICAgICAgICAgICAgICAgICd0aW1lJyAgICA9PiAkdGltZSwKICAgICAgICAgICAgICAgICdlcnJvcicgICA9PiAnRXhlY3V0aXZlIG92ZXJmbG93JywKICAgICAgICAgICAgICAgICdtZXNzYWdlJyA9PiAnbm8gdmFjYW50IGFyZWFzJwogICAgICAgICAgICApKSwKICAgICAgICAgICAgJ1JldHVybkNvbnN1bWVkQ2FwYWNpdHknID0+ICdUT1RBTCcKICAgICAgICApKTsKCiAgICAgICAgLy8gVGhlIHJlc3VsdCB3aWxsIGFsd2F5cyBjb250YWluIENvbnN1bWVkQ2FwYWNpdHlVbml0cwogICAgICAgIGVjaG8gJHJlc3VsdC0+Z2V0UGF0aCgnQ29uc3VtZWRDYXBhY2l0eS9DYXBhY2l0eVVuaXRzJykgLiAiXG4iOwoKICAgICAgICAvLyBAZW5kCiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KCR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CiAgICAgICAgcmV0dXJuICR0aW1lOwogICAgfQoKICAgIC8qKgogICAgICogUHV0IGFuIGl0ZW0gaW4gYSB0YWJsZQogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3RBZGRJdGVtCiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OnB1dEl0ZW0gMjAxMi0wOC0xMAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZEl0ZW1XaXRob3V0SGVscGVyTWV0aG9kKCR0aW1lKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+cHV0SXRlbShhcnJheSgKICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJ2Vycm9ycycsCiAgICAgICAgICAgICdJdGVtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdpZCcgICAgICA9PiBhcnJheSgnTicgPT4gJzEyMDEnKSwKICAgICAgICAgICAgICAgICd0aW1lJyAgICA9PiBhcnJheSgnTicgPT4gJHRpbWUpLAogICAgICAgICAgICAgICAgJ2Vycm9yJyAgID0+IGFycmF5KCdTJyA9PiAnRXhlY3V0aXZlIG92ZXJmbG93JyksCiAgICAgICAgICAgICAgICAnbWVzc2FnZScgPT4gYXJyYXkoJ1MnID0+ICdubyB2YWNhbnQgYXJlYXMnKQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgIC8vIEBlbmQKICAgICAgICByZXR1cm4gJHRpbWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYW4gaXRlbSBmcm9tIGEgdGFibGUgYW5kIGludGVyYWN0IHdpdGggdGhlIHJlc3BvbnNlCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdEFkZEl0ZW1XaXRob3V0SGVscGVyTWV0aG9kCiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OmdldEl0ZW0gMjAxMi0wOC0xMAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldEl0ZW0oJHRpbWUpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgJHRoaXMtPmV4cGVjdE91dHB1dFN0cmluZygiMTIwMVxuMTIwMVxuRXhlY3V0aXZlIG92ZXJmbG93XG5ubyB2YWNhbnQgYXJlYXNcbiIpOwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+Z2V0SXRlbShhcnJheSgKICAgICAgICAgICAgJ0NvbnNpc3RlbnRSZWFkJyA9PiB0cnVlLAogICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAnZXJyb3JzJywKICAgICAgICAgICAgJ0tleScgICAgICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnaWQnICAgPT4gYXJyYXkoJ04nID0+ICcxMjAxJyksCiAgICAgICAgICAgICAgICAndGltZScgPT4gYXJyYXkoJ04nID0+ICR0aW1lKQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgIC8vIEdyYWIgdmFsdWUgZnJvbSB0aGUgcmVzdWx0IG9iamVjdCBsaWtlIGFuIGFycmF5CiAgICAgICAgZWNobyAkcmVzdWx0WydJdGVtJ11bJ2lkJ11bJ04nXSAuICJcbiI7CiAgICAgICAgLy8+IDEyMDEKICAgICAgICBlY2hvICRyZXN1bHQtPmdldFBhdGgoJ0l0ZW0vaWQvTicpIC4gIlxuIjsKICAgICAgICAvLz4gMTIwMQogICAgICAgIGVjaG8gJHJlc3VsdFsnSXRlbSddWydlcnJvciddWydTJ10gLiAiXG4iOwogICAgICAgIC8vPiBFeGVjdXRpdmUgb3ZlcmZsb3cKICAgICAgICBlY2hvICRyZXN1bHRbJ0l0ZW0nXVsnbWVzc2FnZSddWydTJ10gLiAiXG4iOwogICAgICAgIC8vPiBubyB2YWNhbnQgYXJlYXMKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbGwgcmVzdWx0cyBvZiBhIFF1ZXJ5IG9wZXJhdGlvbiB1c2luZyBhIFF1ZXJ5IGl0ZXJhdG9yCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdEdldEl0ZW0KICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6cXVlcnkgMjAxMi0wOC0xMAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFF1ZXJ5KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJGl0ZXJhdG9yID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ1F1ZXJ5JywgYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnICAgICA9PiAnZXJyb3JzJywKICAgICAgICAgICAgJ0tleUNvbmRpdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2lkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlVmFsdWVMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ04nID0+ICcxMjAxJykKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdDb21wYXJpc29uT3BlcmF0b3InID0+ICdFUScKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAndGltZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVZhbHVlTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdOJyA9PiBzdHJ0b3RpbWUoIi0xNSBtaW51dGVzIikpCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnQ29tcGFyaXNvbk9wZXJhdG9yJyA9PiAnR1QnCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgLy8gRWFjaCBpdGVtIHdpbGwgY29udGFpbiB0aGUgYXR0cmlidXRlcyB3ZSBhZGRlZAogICAgICAgIGZvcmVhY2ggKCRpdGVyYXRvciBhcyAkaXRlbSkgewogICAgICAgICAgICAvLyBHcmFiIHRoZSB0aW1lIG51bWJlciB2YWx1ZQogICAgICAgICAgICBlY2hvICRpdGVtWyd0aW1lJ11bJ04nXSAuICJcbiI7CiAgICAgICAgICAgIC8vIEdyYWIgdGhlIGVycm9yIHN0cmluZyB2YWx1ZQogICAgICAgICAgICBlY2hvICRpdGVtWydlcnJvciddWydTJ10gLiAiXG4iOwogICAgICAgIH0KCiAgICAgICAgLy8gQGVuZAogICAgICAgICR0aGlzLT5hc3NlcnROb3RFbXB0eSgkdGhpcy0+Z2V0QWN0dWFsT3V0cHV0KCkpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFsbCBvZiB0aGUgcmVzdWx0cyBvZiBhIFNjYW4gb3BlcmF0aW9uIHVzaW5nIGEgU2NhbiBpdGVyYXRvcgogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3RRdWVyeQogICAgICogQGV4YW1wbGUgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpzY2FuIDIwMTItMDgtMTAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTY2FuKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJGl0ZXJhdG9yID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ1NjYW4nLCBhcnJheSgKICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJ2Vycm9ycycsCiAgICAgICAgICAgICdTY2FuRmlsdGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdlcnJvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVZhbHVlTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdTJyA9PiAnb3ZlcmZsb3cnKQogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ0NvbXBhcmlzb25PcGVyYXRvcicgPT4gJ0NPTlRBSU5TJwogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICd0aW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlVmFsdWVMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ04nID0+IHN0cnRvdGltZSgnLTE1IG1pbnV0ZXMnKSkKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdDb21wYXJpc29uT3BlcmF0b3InID0+ICdHVCcKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAvLyBFYWNoIGl0ZW0gd2lsbCBjb250YWluIHRoZSBhdHRyaWJ1dGVzIHdlIGFkZGVkCiAgICAgICAgZm9yZWFjaCAoJGl0ZXJhdG9yIGFzICRpdGVtKSB7CiAgICAgICAgICAgIC8vIEdyYWIgdGhlIHRpbWUgbnVtYmVyIHZhbHVlCiAgICAgICAgICAgIGVjaG8gJGl0ZW1bJ3RpbWUnXVsnTiddIC4gIlxuIjsKICAgICAgICAgICAgLy8gR3JhYiB0aGUgZXJyb3Igc3RyaW5nIHZhbHVlCiAgICAgICAgICAgIGVjaG8gJGl0ZW1bJ2Vycm9yJ11bJ1MnXSAuICJcbiI7CiAgICAgICAgfQoKICAgICAgICAvLyBAZW5kCiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KCR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgbm9ybWFsaXplZCByZXN1bHRzIG9mIGEgU2NhbiBvcGVyYXRpb24gdXNpbmcgYSBTY2FuIGl0ZXJhdG9yIHdpdGggYW4gSXRlbUl0ZXJhdG9yCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdFNjYW4KICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6c2NhbiAyMDEyLTA4LTEwCiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcSXRlcmF0b3JcSXRlbUl0ZXJhdG9yCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2NhbldpdGhJdGVtSXRlcmF0b3IoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAkaXRlcmF0b3IgPSBuZXcgSXRlbUl0ZXJhdG9yKCRjbGllbnQtPmdldFNjYW5JdGVyYXRvcihhcnJheSgnVGFibGVOYW1lJyA9PiAnZXJyb3JzJykpKTsKCiAgICAgICAgLy8gRWFjaCBpdGVtIHdpbGwgY29udGFpbiB0aGUgYXR0cmlidXRlcyB3ZSBhZGRlZAogICAgICAgIGZvcmVhY2ggKCRpdGVyYXRvciBhcyAkaXRlbSkgewogICAgICAgICAgICAvLyBHcmFiIHRoZSB0aW1lIG51bWJlciB2YWx1ZQogICAgICAgICAgICBlY2hvICRpdGVtWyd0aW1lJ10gLiAiXG4iOwogICAgICAgICAgICAvLyBHcmFiIHRoZSBlcnJvciBzdHJpbmcgdmFsdWUKICAgICAgICAgICAgZWNobyAkaXRlbS0+Z2V0KCdlcnJvcicpIC4gIlxuIjsKICAgICAgICB9CgogICAgICAgIC8vIEBlbmQKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJHRoaXMtPmdldEFjdHVhbE91dHB1dCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIFBlcmZvcm0gYSBwYXJhbGxlbCBzY2FuIG9mIG11bHRpcGxlIHRhYmxlIHNlZ21lbnRzCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdFNjYW5XaXRoSXRlbUl0ZXJhdG9yCiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OnNjYW4gMjAxMi0wOC0xMAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBhcmFsbGVsU2NhbigpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgICRwYXJhbXMgPSBhcnJheSgKICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJ2Vycm9ycycsCiAgICAgICAgICAgICdTY2FuRmlsdGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdlcnJvcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVZhbHVlTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdTJyA9PiAnb3ZlcmZsb3cnKQogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ0NvbXBhcmlzb25PcGVyYXRvcicgPT4gJ0NPTlRBSU5TJwogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ1RvdGFsU2VnbWVudHMnID0+IDIKICAgICAgICApOwoKICAgICAgICAkc2NhbkNvbW1hbmRzID0gYXJyYXkoKTsKICAgICAgICAkc2NhbkNvbW1hbmRzW10gPSAkY2xpZW50LT5nZXRDb21tYW5kKCdTY2FuJywgYXJyYXkoJ1NlZ21lbnQnID0+IDApICsgJHBhcmFtcyk7CiAgICAgICAgJHNjYW5Db21tYW5kc1tdID0gJGNsaWVudC0+Z2V0Q29tbWFuZCgnU2NhbicsIGFycmF5KCdTZWdtZW50JyA9PiAxKSArICRwYXJhbXMpOwogICAgICAgICRjbGllbnQtPmV4ZWN1dGUoJHNjYW5Db21tYW5kcyk7CgogICAgICAgIGZvcmVhY2ggKCRzY2FuQ29tbWFuZHMgYXMgJHNjYW5Db21tYW5kKSB7CiAgICAgICAgICAgICRyZXN1bHQgPSAkc2NhbkNvbW1hbmQtPmdldFJlc3VsdCgpOwogICAgICAgICAgICBmb3JlYWNoICgkcmVzdWx0LT5nZXQoJ0l0ZW1zJykgYXMgJGl0ZW0pIHsKICAgICAgICAgICAgICAgIGVjaG8gJGl0ZW1bJ2Vycm9yJ11bJ1MnXSAuICJcbiI7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEBlbmQKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJHRoaXMtPmdldEFjdHVhbE91dHB1dCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIFB1dCBhbmQgZ2V0IGFuIGl0ZW0gd2l0aCBhIGJpbmFyeSBhdHRyaWJ1dGUKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0UGFyYWxsZWxTY2FuCiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OnB1dEl0ZW0gMjAxMi0wOC0xMAogICAgICogQGV4YW1wbGUgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpnZXRJdGVtIDIwMTItMDgtMTAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCaW5hcnlUeXBlKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJGRhdGEgPSAnwqHihKLCo8Ki4oiewqfCtuKAosKqwronOwogICAgICAgICR0aW1lID0gdGltZSgpOwoKICAgICAgICAkY2xpZW50LT5wdXRJdGVtKGFycmF5KAogICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAnZXJyb3JzJywKICAgICAgICAgICAgJ0l0ZW0nICAgICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnaWQnICAgID0+IGFycmF5KCdOJyA9PiAnMzAwMCcpLAogICAgICAgICAgICAgICAgJ3RpbWUnICA9PiBhcnJheSgnTicgPT4gJHRpbWUpLAogICAgICAgICAgICAgICAgJ2Vycm9yJyA9PiBhcnJheSgnUycgPT4gJ091dCBvZiBib3VuZHMnKSwKICAgICAgICAgICAgICAgICdkYXRhJyAgPT4gYXJyYXkoJ0InID0+ICRkYXRhKQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgICRyZXN1bHQgPSAkY2xpZW50LT5nZXRJdGVtKGFycmF5KAogICAgICAgICAgICAnQ29uc2lzdGVudFJlYWQnID0+IHRydWUsCiAgICAgICAgICAgICdUYWJsZU5hbWUnID0+ICdlcnJvcnMnLAogICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdpZCcgID0+IGFycmF5KCdOJyA9PiAnMzAwMCcpLAogICAgICAgICAgICAgICAgJ3RpbWUnID0+IGFycmF5KCdOJyA9PiAkdGltZSkKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICBpZiAoYmFzZTY0X2RlY29kZSgkcmVzdWx0WydJdGVtJ11bJ2RhdGEnXVsnQiddKSA9PSAkZGF0YSkgewogICAgICAgICAgICBlY2hvICdEYXRhIHdhcyBzdG9yZWQgYW5kIHJldHJpZXZlZCBjb3JyZWN0bHkuJzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlY2hvICdVaCBvaC4uLic7CiAgICAgICAgfQogICAgICAgIC8vPiBEYXRhIHdhcyBzdG9yZWQgYW5kIHJldHJpZXZlZCBjb3JyZWN0bHkuCgogICAgICAgIC8vIEBlbmQKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdEYXRhIHdhcyBzdG9yZWQgYW5kIHJldHJpZXZlZCBjb3JyZWN0bHkuJywgJHRoaXMtPmdldEFjdHVhbE91dHB1dCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBiYXRjaGVzIG9mIGl0ZW1zCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdEJpbmFyeVR5cGUKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6YmF0Y2hHZXRJdGVtIDIwMTItMDgtMTAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCYXRjaEdldEl0ZW0oKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwoKICAgICAgICAka2V5VmFsdWVzID0gYXJyYXkoKTsKICAgICAgICAkc2NhbiA9ICRjbGllbnQtPmdldEl0ZXJhdG9yKCdTY2FuJywgYXJyYXkoJ1RhYmxlTmFtZScgPT4gJ2Vycm9ycycpKTsKICAgICAgICBmb3JlYWNoICgkc2NhbiBhcyAkaXRlbSkgewogICAgICAgICAgICAka2V5VmFsdWVzW10gPSBhcnJheSgkaXRlbVsnaWQnXVsnTiddLCAkaXRlbVsndGltZSddWydOJ10pOwogICAgICAgIH0KICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJHRhYmxlTmFtZSA9ICdlcnJvcnMnOwogICAgICAgICRrZXlzID0gYXJyYXkoKTsKCiAgICAgICAgLy8gR2l2ZW4gdGhhdCAka2V5VmFsdWVzIGNvbnRhaW5zIGEgbGlzdCBvZiB5b3VyIGhhc2ggYW5kIHJhbmdlIGtleXM6CiAgICAgICAgLy8gICAgIGFycmF5KGFycmF5KDxoYXNoPiwgPHJhbmdlPiksIC4uLikKICAgICAgICAvLyBCdWlsZCB0aGUgYXJyYXkgZm9yIHRoZSAiS2V5cyIgcGFyYW1ldGVyCiAgICAgICAgZm9yZWFjaCAoJGtleVZhbHVlcyBhcyAkdmFsdWVzKSB7CiAgICAgICAgICAgIGxpc3QoJGhhc2hLZXlWYWx1ZSwgJHJhbmdlS2V5VmFsdWUpID0gJHZhbHVlczsKICAgICAgICAgICAgJGtleXNbXSA9IGFycmF5KAogICAgICAgICAgICAgICAgJ2lkJyAgID0+IGFycmF5KCdOJyA9PiAkaGFzaEtleVZhbHVlKSwKICAgICAgICAgICAgICAgICd0aW1lJyA9PiBhcnJheSgnTicgPT4gJHJhbmdlS2V5VmFsdWUpCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAvLyBHZXQgbXVsdGlwbGUgaXRlbXMgYnkga2V5IGluIGEgQmF0Y2hHZXRJdGVtIHJlcXVlc3QKICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+YmF0Y2hHZXRJdGVtKGFycmF5KAogICAgICAgICAgICAnUmVxdWVzdEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICR0YWJsZU5hbWUgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0tleXMnICAgICAgICAgICA9PiAka2V5cywKICAgICAgICAgICAgICAgICAgICAnQ29uc2lzdGVudFJlYWQnID0+IHRydWUKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgICAgICRpdGVtcyA9ICRyZXN1bHQtPmdldFBhdGgoIlJlc3BvbnNlcy97JHRhYmxlTmFtZX0iKTsKICAgICAgICAvLyBAZW5kCgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoY291bnQoJGtleXMpLCBjb3VudCgkaXRlbXMpKTsKCiAgICAgICAgLy8gQWxzbyBjaGVjayB0aGUgaXRlcmF0b3IgdG8gbWFrZSBzdXJlIGl0IHdvcmtzIHRoZSBzYW1lCiAgICAgICAgJGl0ZXJhdG9yID0gJGNsaWVudC0+Z2V0QmF0Y2hHZXRJdGVtSXRlcmF0b3IoYXJyYXkoCiAgICAgICAgICAgICdSZXF1ZXN0SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJHRhYmxlTmFtZSA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnS2V5cycgPT4gJGtleXMKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgICAgICRpdGVyYXRlZEl0ZW1zID0gaXRlcmF0b3JfdG9fYXJyYXkoJGl0ZXJhdG9yKTsKICAgICAgICBwcmludF9yKCRpdGVyYXRlZEl0ZW1zKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGNvdW50KCRrZXlzKSwgY291bnQoJGl0ZXJhdGVkSXRlbXMpKTsKICAgIH0KCiAgICAvKioKICAgICAqIERlbGV0ZSBhbiBpdGVtCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdEJhdGNoR2V0SXRlbQogICAgICogQGV4YW1wbGUgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpkZWxldGVJdGVtIDIwMTItMDgtMTAKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6c2NhbiAyMDEyLTA4LTEwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGVsZXRlSXRlbSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgICRzY2FuID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ1NjYW4nLCBhcnJheSgnVGFibGVOYW1lJyA9PiAnZXJyb3JzJykpOwogICAgICAgIGZvcmVhY2ggKCRzY2FuIGFzICRpdGVtKSB7CiAgICAgICAgICAgICRjbGllbnQtPmRlbGV0ZUl0ZW0oYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAnZXJyb3JzJywKICAgICAgICAgICAgICAgICdLZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdpZCcgICA9PiBhcnJheSgnTicgPT4gJGl0ZW1bJ2lkJ11bJ04nXSksCiAgICAgICAgICAgICAgICAgICAgJ3RpbWUnID0+IGFycmF5KCdOJyA9PiAkaXRlbVsndGltZSddWydOJ10pCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIERlbGV0ZSBhIHRhYmxlCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdERlbGV0ZUl0ZW0KICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6ZGVsZXRlVGFibGUgMjAxMi0wOC0xMAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlbGV0ZVRhYmxlKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJGNsaWVudC0+ZGVsZXRlVGFibGUoYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnID0+ICdlcnJvcnMnCiAgICAgICAgKSk7CgogICAgICAgICRjbGllbnQtPndhaXRVbnRpbFRhYmxlTm90RXhpc3RzKGFycmF5KAogICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAnZXJyb3JzJwogICAgICAgICkpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgdGFibGUgd2l0aCBhIGxvY2FsIHNlY29uZGFyeSBpbmRleAogICAgICoKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudDo6Y3JlYXRlVGFibGUgMjAxMi0wOC0xMAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZVRhYmxlV2l0aExvY2FsU2Vjb25kYXJ5SW5kZXhlcygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgIC8vIENyZWF0ZSBhbiAiT3JkZXJzIiB0YWJsZQogICAgICAgICRjbGllbnQtPmNyZWF0ZVRhYmxlKGFycmF5KAogICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAnT3JkZXJzJywKICAgICAgICAgICAgJ0F0dHJpYnV0ZURlZmluaXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KCdBdHRyaWJ1dGVOYW1lJyA9PiAnQ3VzdG9tZXJJZCcsICdBdHRyaWJ1dGVUeXBlJyA9PiAnTicpLAogICAgICAgICAgICAgICAgYXJyYXkoJ0F0dHJpYnV0ZU5hbWUnID0+ICdPcmRlcklkJywgICAgJ0F0dHJpYnV0ZVR5cGUnID0+ICdOJyksCiAgICAgICAgICAgICAgICBhcnJheSgnQXR0cmlidXRlTmFtZScgPT4gJ09yZGVyRGF0ZScsICAnQXR0cmlidXRlVHlwZScgPT4gJ04nKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0tleVNjaGVtYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgnQXR0cmlidXRlTmFtZScgPT4gJ0N1c3RvbWVySWQnLCAnS2V5VHlwZScgPT4gJ0hBU0gnKSwKICAgICAgICAgICAgICAgIGFycmF5KCdBdHRyaWJ1dGVOYW1lJyA9PiAnT3JkZXJJZCcsICAgICdLZXlUeXBlJyA9PiAnUkFOR0UnKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0xvY2FsU2Vjb25kYXJ5SW5kZXhlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnSW5kZXhOYW1lJyA9PiAnT3JkZXJEYXRlSW5kZXgnLAogICAgICAgICAgICAgICAgICAgICdLZXlTY2hlbWEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnQXR0cmlidXRlTmFtZScgPT4gJ0N1c3RvbWVySWQnLCAnS2V5VHlwZScgPT4gJ0hBU0gnKSwKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ0F0dHJpYnV0ZU5hbWUnID0+ICdPcmRlckRhdGUnLCAgJ0tleVR5cGUnID0+ICdSQU5HRScpLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ1Byb2plY3Rpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUHJvamVjdGlvblR5cGUnID0+ICdLRVlTX09OTFknLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICAnUHJvdmlzaW9uZWRUaHJvdWdocHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdSZWFkQ2FwYWNpdHlVbml0cycgID0+IDEwLAogICAgICAgICAgICAgICAgJ1dyaXRlQ2FwYWNpdHlVbml0cycgPT4gMjAKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkY2xpZW50LT53YWl0VW50aWxUYWJsZUV4aXN0cyhhcnJheSgnVGFibGVOYW1lJyA9PiAnT3JkZXJzJykpOwogICAgfQoKICAgIC8qKgogICAgICogVXNlIEJhdGNoV3JpdGVJdGVtIHRvIHB1dCBtdWx0aXBsZSBpdGVtcyBhdCBvbmNlCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdENyZWF0ZVRhYmxlV2l0aExvY2FsU2Vjb25kYXJ5SW5kZXhlcwogICAgICogQGV4YW1wbGUgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OjpiYXRjaFdyaXRlSXRlbSAyMDEyLTA4LTEwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QmF0Y2hXcml0ZUl0ZW0oKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+YmF0Y2hXcml0ZUl0ZW0oYXJyYXkoCiAgICAgICAgICAgICdSZXF1ZXN0SXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ09yZGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdQdXRSZXF1ZXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdG9tZXJJZCcgPT4gYXJyYXkoJ04nID0+IDEwNDEpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmRlcklkJyAgICA9PiBhcnJheSgnTicgPT4gNiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09yZGVyRGF0ZScgID0+IGFycmF5KCdOJyA9PiBzdHJ0b3RpbWUoJy01IGRheXMnKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW1JZCcgICAgID0+IGFycmF5KCdOJyA9PiAyNTMzNikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdQdXRSZXF1ZXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3VzdG9tZXJJZCcgPT4gYXJyYXkoJ04nID0+IDk0MSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ09yZGVySWQnICAgID0+IGFycmF5KCdOJyA9PiA4KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JkZXJEYXRlJyAgPT4gYXJyYXkoJ04nID0+IHN0cnRvdGltZSgnLTMgZGF5cycpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbUlkJyAgICAgPT4gYXJyYXkoJ04nID0+IDE1NTk2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1B1dFJlcXVlc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXN0b21lcklkJyA9PiBhcnJheSgnTicgPT4gOTQxKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JkZXJJZCcgICAgPT4gYXJyYXkoJ04nID0+IDIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmRlckRhdGUnICA9PiBhcnJheSgnTicgPT4gc3RydG90aW1lKCctMTIgZGF5cycpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSXRlbUlkJyAgICAgPT4gYXJyYXkoJ04nID0+IDM4NDQ5KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1B1dFJlcXVlc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0l0ZW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDdXN0b21lcklkJyA9PiBhcnJheSgnTicgPT4gOTQxKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3JkZXJJZCcgICAgPT4gYXJyYXkoJ04nID0+IDMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPcmRlckRhdGUnICA9PiBhcnJheSgnTicgPT4gc3RydG90aW1lKCctMSBkYXlzJykpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtSWQnICAgICA9PiBhcnJheSgnTicgPT4gMjUzMzYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCByZXN1bHRzIG9mIGEgUXVlcnkgb3BlcmF0aW9uIHdpdGggYSBsb2NhbCBzZWNvbmRhcnkgaW5kZXggb24gdGhlIHRhYmxlCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdEJhdGNoV3JpdGVJdGVtCiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ6OnF1ZXJ5IDIwMTItMDgtMTAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RRdWVyeVdpdGhMb2NhbFNlY29uZGFyeUluZGV4ZXMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAvLyBGaW5kIHRoZSBudW1iZXIgb2Ygb3JkZXJzIG1hZGUgYnkgY3VzdG9tZXIgOTQxIGluIHRoZSBsYXN0IDEwIGRheXMKICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+cXVlcnkoYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnICAgICA9PiAnT3JkZXJzJywKICAgICAgICAgICAgJ0luZGV4TmFtZScgICAgID0+ICdPcmRlckRhdGVJbmRleCcsCiAgICAgICAgICAgICdTZWxlY3QnICAgICAgICA9PiAnQ09VTlQnLAogICAgICAgICAgICAnS2V5Q29uZGl0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ3VzdG9tZXJJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZVZhbHVlTGlzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdOJyA9PiAnOTQxJykKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdDb21wYXJpc29uT3BlcmF0b3InID0+ICdFUScKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnT3JkZXJEYXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlVmFsdWVMaXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ04nID0+IHN0cnRvdGltZSgiLTEwIGRheXMiKSkKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdDb21wYXJpc29uT3BlcmF0b3InID0+ICdHRScKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkbnVtT3JkZXJzID0gJHJlc3VsdFsnQ291bnQnXTsKCiAgICAgICAgLy8gQGVuZAogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgJG51bU9yZGVycyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0UXVlcnlXaXRoTG9jYWxTZWNvbmRhcnlJbmRleGVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGVsZXRlSW5kZXhlZFRhYmxlKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5kZWxldGVUYWJsZShhcnJheSgKICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJ09yZGVycycKICAgICAgICApKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Integration/IteratorsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vREJcSW50ZWdyYXRpb247CgovKioKICogQGdyb3VwIGludGVncmF0aW9uCiAqLwpjbGFzcyBJdGVyYXRvcnNUZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXRlcmF0ZXNCYXRjaEdldEl0ZW1Db21tYW5kKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZHluYW1vZGInKTsKICAgICAgICAkbW9jayA9ICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgICdkeW5hbW9kYi9iYXRjaF9nZXRfaXRlbV9oYXNfbW9yZScsCiAgICAgICAgICAgICdkeW5hbW9kYi9iYXRjaF9nZXRfaXRlbV9lbXB0eV9oYXNfbW9yZScsCiAgICAgICAgICAgICdkeW5hbW9kYi9iYXRjaF9nZXRfaXRlbV9maW5hbCcKICAgICAgICApKTsKCiAgICAgICAgJGl0ZXJhdG9yID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ0JhdGNoR2V0SXRlbScsIGFycmF5KAogICAgICAgICAgICAnUmVxdWVzdEl0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdUYWJsZTEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdLZXlzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZTEnICA9PiBhcnJheSgnUycgPT4gJ0tleVZhbHVlMScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUyJyA9PiBhcnJheSgnTicgPT4gJzInKQogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lMScgID0+IGFycmF5KCdTJyA9PiAnS2V5VmFsdWUzJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZTInID0+IGFycmF5KCdOJyA9PiAnNCcpCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWUxJyAgPT4gYXJyYXkoJ1MnID0+ICdLZXlWYWx1ZTUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lMicgPT4gYXJyYXkoJ04nID0+ICc2JykKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXNUb0dldCcgPT4gYXJyYXkoJ0F0dHJpYnV0ZU5hbWUxJywgJ0F0dHJpYnV0ZU5hbWUyJywgJ0F0dHJpYnV0ZU5hbWUzJykKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnVGFibGUyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnS2V5cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdBdHRyaWJ1dGVOYW1lMScgPT4gYXJyYXkoJ1MnID0+ICdLZXlWYWx1ZTQnKSksCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdBdHRyaWJ1dGVOYW1lMicgPT4gYXJyYXkoJ1MnID0+ICdLZXlWYWx1ZTUnKSkKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzVG9HZXQnID0+IGFycmF5KCdBdHRyaWJ1dGVOYW1lNCcsICdBdHRyaWJ1dGVOYW1lNScsICdBdHRyaWJ1dGVOYW1lNicpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgZm9yZWFjaCAoJGl0ZXJhdG9yIGFzICRpdGVtKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgJGl0ZW0pOwogICAgICAgIH0KCiAgICAgICAgJHJlcXVlc3RzID0gJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCRyZXF1ZXN0cykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXRlcmF0ZXNMaXN0VGFibGVDb21tYW5kKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZHluYW1vZGInKTsKICAgICAgICAkbW9jayA9ICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgICdkeW5hbW9kYi9saXN0X3RhYmxlc19oYXNfbW9yZScsCiAgICAgICAgICAgICdkeW5hbW9kYi9saXN0X3RhYmxlc19maW5hbCcKICAgICAgICApKTsKCiAgICAgICAgJGl0ZXJhdG9yID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ0xpc3RUYWJsZXMnKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnVGFibGUxJywgJ1RhYmxlMicsICdUYWJsZTMnLCAnVGFibGU0JywgJ1RhYmxlNScpLCAkaXRlcmF0b3ItPnRvQXJyYXkoKSk7CgogICAgICAgICRyZXF1ZXN0cyA9ICRtb2NrLT5nZXRSZWNlaXZlZFJlcXVlc3RzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkcmVxdWVzdHMpKTsKICAgICAgICAkanNvbiA9IGpzb25fZGVjb2RlKChzdHJpbmcpICRyZXF1ZXN0c1sxXS0+Z2V0Qm9keSgpLCB0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdUYWJsZTMnLCAkanNvblsnRXhjbHVzaXZlU3RhcnRUYWJsZU5hbWUnXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJdGVyYXRlc1F1ZXJ5Q29tbWFuZCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2R5bmFtb2RiJyk7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KAogICAgICAgICAgICAnZHluYW1vZGIvcXVlcnlfaGFzX21vcmUnLAogICAgICAgICAgICAnZHluYW1vZGIvcXVlcnlfZmluYWwnLAogICAgICAgICkpOwoKICAgICAgICAkaXRlcmF0b3IgPSAkY2xpZW50LT5nZXRJdGVyYXRvcignUXVlcnknLCBhcnJheSgKICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJ2ZvbycsCiAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lMScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUycgPT4gJ0F0dHJpYnV0ZVZhbHVlMScKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkZGF0YSA9ICRpdGVyYXRvci0+dG9BcnJheSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgY291bnQoJGRhdGEpKTsKCiAgICAgICAgJHJlcXVlc3RzID0gJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCRyZXF1ZXN0cykpOwogICAgICAgICRqc29uID0ganNvbl9kZWNvZGUoKHN0cmluZykgJHJlcXVlc3RzWzFdLT5nZXRCb2R5KCksIHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnRXhjbHVzaXZlU3RhcnRLZXknLCAkanNvbik7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJdGVyYXRlc1NjYW5Db21tYW5kKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZHluYW1vZGInKTsKICAgICAgICAkbW9jayA9ICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgICdkeW5hbW9kYi9zY2FuX2hhc19tb3JlJywKICAgICAgICAgICAgJ2R5bmFtb2RiL3NjYW5fZW1wdHlfaGFzX21vcmUnLAogICAgICAgICAgICAnZHluYW1vZGIvc2Nhbl9maW5hbCcsCiAgICAgICAgKSk7CgogICAgICAgICRpdGVyYXRvciA9ICRjbGllbnQtPmdldEl0ZXJhdG9yKCdTY2FuJywgYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnID0+ICdmb28nCiAgICAgICAgKSk7CgogICAgICAgICRkYXRhID0gJGl0ZXJhdG9yLT50b0FycmF5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCBjb3VudCgkZGF0YSkpOwoKICAgICAgICAkcmVxdWVzdHMgPSAkbW9jay0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cygpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgY291bnQoJHJlcXVlc3RzKSk7CiAgICAgICAgJGpzb24gPSBqc29uX2RlY29kZSgoc3RyaW5nKSAkcmVxdWVzdHNbMV0tPmdldEJvZHkoKSwgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdFeGNsdXNpdmVTdGFydEtleScsICRqc29uKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyMDcsICRpdGVyYXRvci0+Z2V0U2Nhbm5lZENvdW50KCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Integration/PerformanceTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcSW50ZWdyYXRpb247Cgp1c2UgQXdzXER5bmFtb0RiXEV4Y2VwdGlvblxEeW5hbW9EYkV4Y2VwdGlvbjsKCi8qKgogKiBAZ3JvdXAgcGVyZm9ybWFuY2UKICovCmNsYXNzIFBlcmZvcm1hbmNlVGVzdCBleHRlbmRzIFxBd3NcVGVzdHNcSW50ZWdyYXRpb25UZXN0Q2FzZQp7CiAgICBjb25zdCBUT1RBTF9SRVFVRVNUUyA9IDEwOwogICAgY29uc3QgUkVBRF9DQVBBQ0lUWSA9IDEwOwoKICAgIHByb3RlY3RlZCBzdGF0aWMgZnVuY3Rpb24gZ2V0VGFibGVOYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gc2VsZjo6Z2V0UmVzb3VyY2VQcmVmaXgoKSAuICdfcHV0X2l0ZW1fcGVyZic7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRVcEJlZm9yZUNsYXNzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkeW5hbW9kYicpOwoKICAgICAgICAvLyBHZXQgYSBsaXN0IG9mIHRhYmxlcyBpbiB5b3VyIGFjY291bnQKICAgICAgICBzZWxmOjpsb2coJ0NoZWNraW5nIGlmIHRoZSAnIC4gc2VsZjo6Z2V0VGFibGVOYW1lKCkgLiAnIHRhYmxlIGV4aXN0cycpOwogICAgICAgICR0YWJsZXMgPSAkY2xpZW50LT5nZXRJdGVyYXRvcignTGlzdFRhYmxlcycpLT50b0FycmF5KCk7CgogICAgICAgIC8vIElmIHRoZSB0YWJsZSBkb2VzIG5vdCBleGlzdCwgdGhlbiBjcmVhdGUgaXQKICAgICAgICBpZiAoIWluX2FycmF5KHNlbGY6OmdldFRhYmxlTmFtZSgpLCAkdGFibGVzKSkgewogICAgICAgICAgICBzZWxmOjpsb2coJ1RhYmxlIGRvZXMgbm90IGV4aXN0LiBDcmVhdGluZyBub3cuJyk7CiAgICAgICAgICAgICRjbGllbnQtPmNyZWF0ZVRhYmxlKGFycmF5KAogICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gc2VsZjo6Z2V0VGFibGVOYW1lKCksCiAgICAgICAgICAgICAgICAnQXR0cmlidXRlRGVmaW5pdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgIGFycmF5KCdBdHRyaWJ1dGVOYW1lJyA9PiAnZm9vJywgJ0F0dHJpYnV0ZVR5cGUnID0+ICdTJyksCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ0F0dHJpYnV0ZU5hbWUnID0+ICdiYXInLCAnQXR0cmlidXRlVHlwZScgPT4gJ04nKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnS2V5U2NoZW1hJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICBhcnJheSgnQXR0cmlidXRlTmFtZScgPT4gJ2ZvbycsICdLZXlUeXBlJyA9PiAnSEFTSCcpLAogICAgICAgICAgICAgICAgICAgIGFycmF5KCdBdHRyaWJ1dGVOYW1lJyA9PiAnYmFyJywgJ0tleVR5cGUnID0+ICdSQU5HRScpLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdQcm92aXNpb25lZFRocm91Z2hwdXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdSZWFkQ2FwYWNpdHlVbml0cycgID0+IHNlbGY6OlJFQURfQ0FQQUNJVFksCiAgICAgICAgICAgICAgICAgICAgJ1dyaXRlQ2FwYWNpdHlVbml0cycgPT4gNQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKTsKICAgICAgICB9CgogICAgICAgIC8vIFdhaXQgdW50aWwgdGhlIHRhYmxlIGlzIGNyZWF0ZWQgYW5kIGFjdGl2ZQogICAgICAgICRjbGllbnQtPndhaXRVbnRpbCgnVGFibGVFeGlzdHMnLCBhcnJheSgnVGFibGVOYW1lJyA9PiBzZWxmOjpnZXRUYWJsZU5hbWUoKSkpOwogICAgICAgIHNsZWVwKDUpOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBzZWxmOjpsb2coJ0NyZWF0aW5nIHRoZSB0ZXN0IGl0ZW0nKTsKICAgICAgICAgICAgJGNsaWVudC0+cHV0SXRlbShhcnJheSgKICAgICAgICAgICAgICAgICdUYWJsZU5hbWUnID0+IHNlbGY6OmdldFRhYmxlTmFtZSgpLAogICAgICAgICAgICAgICAgJ0l0ZW0nICAgICAgPT4gJGNsaWVudC0+Zm9ybWF0QXR0cmlidXRlcyhhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZm9vJyAgID0+ICdmaXp6JywKICAgICAgICAgICAgICAgICAgICAnYmFyJyAgID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ2F0dHIxJyA9PiA0MiwKICAgICAgICAgICAgICAgICAgICAnYXR0cjInID0+IGFycmF5KCdhJywgJ2InLCAnYycsICdkJykKICAgICAgICAgICAgICAgICkpCiAgICAgICAgICAgICkpOwogICAgICAgIH0gY2F0Y2ggKER5bmFtb0RiRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIGVjaG8gJGUtPmdldFJlc3BvbnNlKCktPmdldFJlcXVlc3QoKTsKICAgICAgICAgICAgZWNobyAkZS0+Z2V0UmVzcG9uc2UoKTsKICAgICAgICAgICAgZWNobyAkZS0+Z2V0TWVzc2FnZSgpOwogICAgICAgICAgICB0aHJvdyAkZTsKICAgICAgICB9CgogICAgICAgIHNlbGY6OmxvZygnSW5pdGlhbGl6YXRpb24gcHJvY2VzcyBjb21wbGV0ZWQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHBlcmZEYXRhUHJvdmlkZXIoKQogICAgewogICAgICAgICRjbGllbnQgPSBzZWxmOjpnZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2R5bmFtb2RiJyk7CgogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBzZWxmOjpUT1RBTF9SRVFVRVNUUywKICAgICAgICAgICAgICAgICRjbGllbnQtPmdldENvbW1hbmQoJ1B1dEl0ZW0nLCBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiBzZWxmOjpnZXRUYWJsZU5hbWUoKSwKICAgICAgICAgICAgICAgICAgICAnSXRlbScgICAgICA9PiAkY2xpZW50LT5mb3JtYXRBdHRyaWJ1dGVzKGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnZm9vJyAgID0+ICdmaXp6JywKICAgICAgICAgICAgICAgICAgICAgICAgJ2JhcicgICA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICAnYXR0cjEnID0+IDQyLAogICAgICAgICAgICAgICAgICAgICAgICAnYXR0cjInID0+IGFycmF5KCdhJywgJ2InLCAnYycsICdkJykKICAgICAgICAgICAgICAgICAgICApKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKSwKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBzZWxmOjpUT1RBTF9SRVFVRVNUUywKICAgICAgICAgICAgICAgICRjbGllbnQtPmdldENvbW1hbmQoJ0dldEl0ZW0nLCBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiBzZWxmOjpnZXRUYWJsZU5hbWUoKSwKICAgICAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbycgPT4gYXJyYXkoJ1MnID0+ICdhYmNkZWZnaGlqa2xtJyAuIGltcGxvZGUoJy0nLCByYW5nZSgnYScsICd6JykpKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2JhcicgPT4gYXJyYXkoJ04nID0+ICcxJykKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApKQogICAgICAgICAgICApCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgcGVyZkRhdGFQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdElzc3Vlc011bHRpcGxlT3BlcmF0aW9uc1NlcmlhbGx5KCR0b3RhbFJlcXVlc3RzLCAkY29tbWFuZCkKICAgIHsKICAgICAgICAkcmV0cmllcyA9IDA7CiAgICAgICAgJHRoaXMtPmxvZygnQmVnaW5uaW5nICcgLiAkY29tbWFuZC0+Z2V0TmFtZSgpIC4gJyBwZXJmb3JtYW5jZSB0ZXN0Jyk7CiAgICAgICAgJHMgPSBtaWNyb3RpbWUodHJ1ZSk7CgogICAgICAgIGZvciAoJGkgPSAwOyAkaSA8ICR0b3RhbFJlcXVlc3RzOyAkaSsrKSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICAgICBlY2hvICRjb21tYW5kLT5nZXRSZXF1ZXN0KCk7CiAgICAgICAgICAgICAgICBlY2hvICRjb21tYW5kLT5nZXRSZXNwb25zZSgpOwogICAgICAgICAgICAgICAgdGhyb3cgJGU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHBhcmFtcyA9ICRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldFBhcmFtcygpOwogICAgICAgICAgICAkcmV0cmllcyArPSAkcGFyYW1zLT5nZXQoJ3BsdWdpbnMuZXhwb25lbnRpYWxfYmFja29mZi5yZXRyeV9jb3VudCcpOwogICAgICAgICAgICAkcGFyYW1zLT5zZXQoJ3BsdWdpbnMuZXhwb25lbnRpYWxfYmFja29mZi5yZXRyeV9jb3VudCcsIDApOwogICAgICAgIH0KCiAgICAgICAgJGVsYXBzZWQgPSBtaWNyb3RpbWUodHJ1ZSkgLSAkczsKCiAgICAgICAgJHNwZWVkID0gJHRvdGFsUmVxdWVzdHMgLyAkZWxhcHNlZDsKICAgICAgICAkcGVyUmVxdWVzdCA9ICRlbGFwc2VkIC8gJHRvdGFsUmVxdWVzdHM7CiAgICAgICAgJHRoaXMtPmxvZygKICAgICAgICAgICAgIkV4ZWN1dGVkIHskdG90YWxSZXF1ZXN0c30gIiAuICRjb21tYW5kLT5nZXROYW1lKCkgLiAiIHJlcXVlc3RzIGluIHskZWxhcHNlZH0gc2Vjb25kcyBmcm9tIGEgIgogICAgICAgICAgICAgLiBzZWxmOjpSRUFEX0NBUEFDSVRZIC4gIiB0YWJsZSB3aXRoIHskcmV0cmllc30gcmV0cmllcyAoeyRwZXJSZXF1ZXN0fS9yZXF1ZXN0LCB7JHNwZWVkfS9zZWNvbmQpIgogICAgICAgICk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Integration/WriteRequestBatch_20111205_Test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcSW50ZWdyYXRpb247Cgp1c2UgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50Owp1c2UgQXdzXER5bmFtb0RiXEV4Y2VwdGlvblxSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uOwp1c2UgQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxEZWxldGVSZXF1ZXN0Owp1c2UgQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxQdXRSZXF1ZXN0Owp1c2UgQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxXcml0ZVJlcXVlc3RCYXRjaDsKdXNlIEF3c1xEeW5hbW9EYlxNb2RlbFxJdGVtOwoKLyoqCiAqIEBncm91cCBleGFtcGxlCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKiBAb3V0cHV0QnVmZmVyaW5nIGVuYWJsZWQKICovCmNsYXNzIFdyaXRlUmVxdWVzdEJhdGNoXzIwMTExMjA1X1Rlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRVcEJlZm9yZUNsYXNzKCkKICAgIHsKICAgICAgICAvKiogQHZhciAkY2xpZW50IER5bmFtb0RiQ2xpZW50ICovCiAgICAgICAgJGNsaWVudCA9IHNlbGY6OmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZHluYW1vZGInLCBhcnJheSgndmVyc2lvbicgPT4gJzIwMTEtMTItMDUnKSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRjbGllbnQtPmRlbGV0ZVRhYmxlKGFycmF5KCdUYWJsZU5hbWUnID0+ICdiYXRjaC13cml0ZS10ZXN0JykpOwogICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHt9CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsVGFibGVOb3RFeGlzdHMoYXJyYXkoJ1RhYmxlTmFtZScgPT4gJ2JhdGNoLXdyaXRlLXRlc3QnKSk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB0ZWFyRG93bkFmdGVyQ2xhc3MoKQogICAgewogICAgICAgIHNlbGY6OnNldFVwQmVmb3JlQ2xhc3MoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFVzZSBXcml0ZVJlcXVlc3RCYXRjaCB0byBiYXRjaCBzZXZlcmFsIFB1dEl0ZW0gcmVxdWVzdHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RXcml0ZVJlcXVlc3RCYXRjaEZvclB1dHMoKQogICAgewogICAgICAgIC8qKiBAdmFyICRjbGllbnQgRHluYW1vRGJDbGllbnQgKi8KICAgICAgICAkY2xpZW50ID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkeW5hbW9kYicsIGFycmF5KCd2ZXJzaW9uJyA9PiAnMjAxMS0xMi0wNScpKTsKICAgICAgICAkdGFibGVOYW1lID0gJ2JhdGNoLXdyaXRlLXRlc3QnOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAkY2xpZW50LT5kZXNjcmliZVRhYmxlKGFycmF5KCdUYWJsZU5hbWUnID0+ICR0YWJsZU5hbWUpKTsKICAgICAgICAgICAgc2VsZjo6bG9nKCJUaGUgeyR0YWJsZU5hbWV9IHRhYmxlIGV4aXN0cy4iKTsKICAgICAgICB9IGNhdGNoIChSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIHNlbGY6OmxvZygiQ3JlYXRlIHRoZSB7JHRhYmxlTmFtZX0gdGFibGUuIik7CiAgICAgICAgICAgICRjbGllbnQtPmNyZWF0ZVRhYmxlKGFycmF5KAogICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJHRhYmxlTmFtZSwKICAgICAgICAgICAgICAgICdLZXlTY2hlbWEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdIYXNoS2V5RWxlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lJyA9PiAnaWQnLAogICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlVHlwZScgPT4gJ1MnCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnUHJvdmlzaW9uZWRUaHJvdWdocHV0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnUmVhZENhcGFjaXR5VW5pdHMnICA9PiAyMCwKICAgICAgICAgICAgICAgICAgICAnV3JpdGVDYXBhY2l0eVVuaXRzJyA9PiAyMAogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKTsKICAgICAgICB9CgogICAgICAgIHNlbGY6OmxvZygiV2FpdCB1bnRpbCB0aGUgeyR0YWJsZU5hbWV9IHRhYmxlJ3Mgc3RhdHVzIGlzIEFDVElWRS4uLiIpOwogICAgICAgICRjbGllbnQtPndhaXRVbnRpbFRhYmxlRXhpc3RzKGFycmF5KCdUYWJsZU5hbWUnID0+ICR0YWJsZU5hbWUpKTsKCiAgICAgICAgc2VsZjo6bG9nKCJUZXN0IHdyaXRpbmcgaXRlbXMgaW4gYmF0Y2hlcyB1c2luZyBXcml0ZVJlcXVlc3RCYXRjaC4iKTsKICAgICAgICAvLyBAYmVnaW4KICAgICAgICAkdGFibGVOYW1lID0gJ2JhdGNoLXdyaXRlLXRlc3QnOyAvLyBUaGlzIHRhYmxlIGhhcyBhIEhhc2hLZXkgbmFtZWQgImlkIgogICAgICAgICRpdGVtSWRzID0gYXJyYXkoKTsKCiAgICAgICAgLy8gUHV0IDU1IGl0ZW1zIGludG8gdGhlIHRhYmxlCiAgICAgICAgJHB1dEJhdGNoID0gV3JpdGVSZXF1ZXN0QmF0Y2g6OmZhY3RvcnkoJGNsaWVudCk7CiAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgNTU7ICRpKyspIHsKICAgICAgICAgICAgJGl0ZW1JZHNbXSA9ICRpdGVtSWQgPSB1bmlxaWQoKTsKICAgICAgICAgICAgJGl0ZW0gPSBJdGVtOjpmcm9tQXJyYXkoYXJyYXkoCiAgICAgICAgICAgICAgICAnaWQnICAgICAgICA9PiAkaXRlbUlkLAogICAgICAgICAgICAgICAgJ3RpbWVzdGFtcCcgPT4gdGltZSgpLAogICAgICAgICAgICApKTsKICAgICAgICAgICAgJHB1dEJhdGNoLT5hZGQobmV3IFB1dFJlcXVlc3QoJGl0ZW0sICR0YWJsZU5hbWUpKTsKICAgICAgICB9CiAgICAgICAgJHB1dEJhdGNoLT5mbHVzaCgpOwogICAgICAgIC8vIEBlbmQKCiAgICAgICAgc2VsZjo6bG9nKCJBc3NlcnQgdGhhdCBhbGwgdGhlIGl0ZW1zIG1hZGUgaXQgaW50byB0aGUgdGFibGUuIik7CiAgICAgICAgJHNjYW4gPSAkY2xpZW50LT5nZXRJdGVyYXRvcignU2NhbicsIGFycmF5KCdUYWJsZU5hbWUnID0+ICR0YWJsZU5hbWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0R3JlYXRlclRoYW5PckVxdWFsKDU1LCBpdGVyYXRvcl9jb3VudCgkc2NhbiksICdOb3QgYWxsIG9mIHRoZSBpdGVtcyB3ZXJlIGluc2VydGVkLicpOwoKICAgICAgICByZXR1cm4gYXJyYXkoJGNsaWVudCwgJHRhYmxlTmFtZSwgJGl0ZW1JZHMpOwogICAgfQoKICAgIC8qKgogICAgICogVXNlIFdyaXRlUmVxdWVzdEJhdGNoIHRvIGJhdGNoIHNldmVyYWwgRGVsZXRlSXRlbSByZXF1ZXN0cwogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3RXcml0ZVJlcXVlc3RCYXRjaEZvclB1dHMKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxNb2RlbFxCYXRjaFJlcXVlc3RcRGVsZXRlUmVxdWVzdDo6X19jb25zdHJ1Y3QgMjAxMS0xMi0wNQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFdyaXRlUmVxdWVzdEJhdGNoRm9yRGVsZXRlcyhhcnJheSAkc3RhdGUpCiAgICB7CiAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBEeW5hbW9EYkNsaWVudCAqLwogICAgICAgIC8qKiBAdmFyICR0YWJsZU5hbWUgc3RyaW5nICovCiAgICAgICAgLyoqIEB2YXIgJGl0ZW1JZHMgYXJyYXkgKi8KICAgICAgICBsaXN0KCRjbGllbnQsICR0YWJsZU5hbWUsICRpdGVtSWRzKSA9ICRzdGF0ZTsKCiAgICAgICAgc2VsZjo6bG9nKCJUZXN0IGRlbGV0aW5nIGl0ZW1zIGluIGJhdGNoZXMgdXNpbmcgV3JpdGVSZXF1ZXN0QmF0Y2guIik7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgIC8vIFJlbW92ZSBpdGVtcyBmcm9tIHRoZSB0YWJsZQogICAgICAgICRkZWxldGVCYXRjaCA9IFdyaXRlUmVxdWVzdEJhdGNoOjpmYWN0b3J5KCRjbGllbnQpOwogICAgICAgIGZvcmVhY2ggKCRpdGVtSWRzIGFzICRpdGVtSWQpIHsKICAgICAgICAgICAgJGtleSA9IGFycmF5KCdIYXNoS2V5RWxlbWVudCcgPT4gYXJyYXkoJ1MnID0+ICRpdGVtSWQpKTsKICAgICAgICAgICAgJGRlbGV0ZUJhdGNoLT5hZGQobmV3IERlbGV0ZVJlcXVlc3QoJGtleSwgJHRhYmxlTmFtZSkpOwogICAgICAgIH0KICAgICAgICAkZGVsZXRlQmF0Y2gtPmZsdXNoKCk7CiAgICAgICAgLy8gQGVuZAoKICAgICAgICBzZWxmOjpsb2coIkFzc2VydCB0aGF0IGFsbCB0aGUgaXRlbXMgaGF2ZSBiZWVuIGRlbGV0ZWQgZnJvbSB0aGUgdGFibGUiKTsKICAgICAgICAkc2Nhbm5lciA9ICRjbGllbnQtPmdldEl0ZXJhdG9yKCdTY2FuJywgYXJyYXkoJ1RhYmxlTmFtZScgPT4gJHRhYmxlTmFtZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMCwgaXRlcmF0b3JfY291bnQoJHNjYW5uZXIpLCAnTm90IGFsbCBvZiB0aGUgaXRlbXMgd2VyZSBkZWxldGVkLicpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Integration/WriteRequestBatch_20120810_Test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcRHluYW1vRGJcSW50ZWdyYXRpb247Cgp1c2UgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50Owp1c2UgQXdzXER5bmFtb0RiXEV4Y2VwdGlvblxSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uOwp1c2UgQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxEZWxldGVSZXF1ZXN0Owp1c2UgQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxQdXRSZXF1ZXN0Owp1c2UgQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxXcml0ZVJlcXVlc3RCYXRjaDsKdXNlIEF3c1xEeW5hbW9EYlxNb2RlbFxJdGVtOwoKLyoqCiAqIEBncm91cCBleGFtcGxlCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKiBAb3V0cHV0QnVmZmVyaW5nIGVuYWJsZWQKICovCmNsYXNzIFdyaXRlUmVxdWVzdEJhdGNoXzIwMTIwODEwX1Rlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRVcEJlZm9yZUNsYXNzKCkKICAgIHsKICAgICAgICAvKiogQHZhciAkY2xpZW50IER5bmFtb0RiQ2xpZW50ICovCiAgICAgICAgJGNsaWVudCA9IHNlbGY6OmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZHluYW1vZGInLCBhcnJheSgndmVyc2lvbicgPT4gJzIwMTItMDgtMTAnKSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRjbGllbnQtPmRlbGV0ZVRhYmxlKGFycmF5KCdUYWJsZU5hbWUnID0+ICdiYXRjaC13cml0ZS10ZXN0JykpOwogICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHt9CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsVGFibGVOb3RFeGlzdHMoYXJyYXkoJ1RhYmxlTmFtZScgPT4gJ2JhdGNoLXdyaXRlLXRlc3QnKSk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB0ZWFyRG93bkFmdGVyQ2xhc3MoKQogICAgewogICAgICAgIHNlbGY6OnNldFVwQmVmb3JlQ2xhc3MoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFVzZSBXcml0ZVJlcXVlc3RCYXRjaCB0byBiYXRjaCBzZXZlcmFsIFB1dEl0ZW0gcmVxdWVzdHMKICAgICAqCiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0XFdyaXRlUmVxdWVzdEJhdGNoOjpmYWN0b3J5CiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0XFdyaXRlUmVxdWVzdEJhdGNoOjphZGQKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxNb2RlbFxCYXRjaFJlcXVlc3RcUHV0UmVxdWVzdDo6X19jb25zdHJ1Y3QKICAgICAqIEBleGFtcGxlIEF3c1xEeW5hbW9EYlxNb2RlbFxJdGVtOjpmcm9tQXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RXcml0ZVJlcXVlc3RCYXRjaEZvclB1dHMoKQogICAgewogICAgICAgIC8qKiBAdmFyICRjbGllbnQgRHluYW1vRGJDbGllbnQgKi8KICAgICAgICAkY2xpZW50ID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkeW5hbW9kYicsIGFycmF5KCd2ZXJzaW9uJyA9PiAnMjAxMi0wOC0xMCcpKTsKICAgICAgICAkdGFibGVOYW1lID0gJ2JhdGNoLXdyaXRlLXRlc3QnOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAkY2xpZW50LT5kZXNjcmliZVRhYmxlKGFycmF5KCdUYWJsZU5hbWUnID0+ICR0YWJsZU5hbWUpKTsKICAgICAgICAgICAgc2VsZjo6bG9nKCJUaGUgeyR0YWJsZU5hbWV9IHRhYmxlIGV4aXN0cy4iKTsKICAgICAgICB9IGNhdGNoIChSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIHNlbGY6OmxvZygiQ3JlYXRlIHRoZSB7JHRhYmxlTmFtZX0gdGFibGUuIik7CiAgICAgICAgICAgICRjbGllbnQtPmNyZWF0ZVRhYmxlKGFycmF5KAogICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJHRhYmxlTmFtZSwKICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVEZWZpbml0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVOYW1lJyA9PiAnaWQnLAogICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlVHlwZScgPT4gJ1MnCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdLZXlTY2hlbWEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQXR0cmlidXRlTmFtZScgPT4gJ2lkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ0tleVR5cGUnICAgICAgID0+ICdIQVNIJwogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ1Byb3Zpc2lvbmVkVGhyb3VnaHB1dCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ1JlYWRDYXBhY2l0eVVuaXRzJyAgPT4gMjAsCiAgICAgICAgICAgICAgICAgICAgJ1dyaXRlQ2FwYWNpdHlVbml0cycgPT4gMjAKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSk7CiAgICAgICAgfQoKICAgICAgICBzZWxmOjpsb2coIldhaXQgdW50aWwgdGhlIHskdGFibGVOYW1lfSB0YWJsZSdzIHN0YXR1cyBpcyBBQ1RJVkUuLi4iKTsKICAgICAgICAkY2xpZW50LT53YWl0VW50aWxUYWJsZUV4aXN0cyhhcnJheSgnVGFibGVOYW1lJyA9PiAkdGFibGVOYW1lKSk7CgogICAgICAgIHNlbGY6OmxvZygiVGVzdCB3cml0aW5nIGl0ZW1zIGluIGJhdGNoZXMgdXNpbmcgV3JpdGVSZXF1ZXN0QmF0Y2guIik7CiAgICAgICAgLy8gQGJlZ2luCiAgICAgICAgJHRhYmxlTmFtZSA9ICdiYXRjaC13cml0ZS10ZXN0JzsgLy8gVGhpcyB0YWJsZSBoYXMgYSBIYXNoS2V5IG5hbWVkICJpZCIKICAgICAgICAkaXRlbUlkcyA9IGFycmF5KCk7CgogICAgICAgIC8vIFB1dCA1NSBpdGVtcyBpbnRvIHRoZSB0YWJsZQogICAgICAgICRwdXRCYXRjaCA9IFdyaXRlUmVxdWVzdEJhdGNoOjpmYWN0b3J5KCRjbGllbnQpOwogICAgICAgIGZvciAoJGkgPSAwOyAkaSA8IDU1OyAkaSsrKSB7CiAgICAgICAgICAgICRpdGVtSWRzW10gPSAkaXRlbUlkID0gdW5pcWlkKCk7CiAgICAgICAgICAgICRpdGVtID0gSXRlbTo6ZnJvbUFycmF5KGFycmF5KAogICAgICAgICAgICAgICAgJ2lkJyAgICAgICAgPT4gJGl0ZW1JZCwKICAgICAgICAgICAgICAgICd0aW1lc3RhbXAnID0+IHRpbWUoKSwKICAgICAgICAgICAgKSk7CiAgICAgICAgICAgICRwdXRCYXRjaC0+YWRkKG5ldyBQdXRSZXF1ZXN0KCRpdGVtLCAkdGFibGVOYW1lKSk7CiAgICAgICAgfQogICAgICAgICRwdXRCYXRjaC0+Zmx1c2goKTsKICAgICAgICAvLyBAZW5kCgogICAgICAgIHNlbGY6OmxvZygiQXNzZXJ0IHRoYXQgYWxsIHRoZSBpdGVtcyBtYWRlIGl0IGludG8gdGhlIHRhYmxlLiIpOwogICAgICAgICRzY2FuID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ1NjYW4nLCBhcnJheSgnVGFibGVOYW1lJyA9PiAkdGFibGVOYW1lKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEdyZWF0ZXJUaGFuT3JFcXVhbCg1NSwgaXRlcmF0b3JfY291bnQoJHNjYW4pLCAnTm90IGFsbCBvZiB0aGUgaXRlbXMgd2VyZSBpbnNlcnRlZC4nKTsKCiAgICAgICAgcmV0dXJuIGFycmF5KCRjbGllbnQsICR0YWJsZU5hbWUsICRpdGVtSWRzKTsKICAgIH0KCiAgICAvKioKICAgICAqIFVzZSBXcml0ZVJlcXVlc3RCYXRjaCB0byBiYXRjaCBzZXZlcmFsIERlbGV0ZUl0ZW0gcmVxdWVzdHMKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0V3JpdGVSZXF1ZXN0QmF0Y2hGb3JQdXRzCiAgICAgKiBAZXhhbXBsZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0XERlbGV0ZVJlcXVlc3Q6Ol9fY29uc3RydWN0IDIwMTItMDgtMTAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RXcml0ZVJlcXVlc3RCYXRjaEZvckRlbGV0ZXMoYXJyYXkgJHN0YXRlKQogICAgewogICAgICAgIC8qKiBAdmFyICRjbGllbnQgRHluYW1vRGJDbGllbnQgKi8KICAgICAgICAvKiogQHZhciAkdGFibGVOYW1lIHN0cmluZyAqLwogICAgICAgIC8qKiBAdmFyICRpdGVtSWRzIGFycmF5ICovCiAgICAgICAgbGlzdCgkY2xpZW50LCAkdGFibGVOYW1lLCAkaXRlbUlkcykgPSAkc3RhdGU7CgogICAgICAgIHNlbGY6OmxvZygiVGVzdCBkZWxldGluZyBpdGVtcyBpbiBiYXRjaGVzIHVzaW5nIFdyaXRlUmVxdWVzdEJhdGNoLiIpOwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAvLyBSZW1vdmUgaXRlbXMgZnJvbSB0aGUgdGFibGUKICAgICAgICAkZGVsZXRlQmF0Y2ggPSBXcml0ZVJlcXVlc3RCYXRjaDo6ZmFjdG9yeSgkY2xpZW50KTsKICAgICAgICBmb3JlYWNoICgkaXRlbUlkcyBhcyAkaXRlbUlkKSB7CiAgICAgICAgICAgICRrZXkgPSBhcnJheSgnaWQnID0+IGFycmF5KCdTJyA9PiAkaXRlbUlkKSk7CiAgICAgICAgICAgICRkZWxldGVCYXRjaC0+YWRkKG5ldyBEZWxldGVSZXF1ZXN0KCRrZXksICR0YWJsZU5hbWUpKTsKICAgICAgICB9CiAgICAgICAgJGRlbGV0ZUJhdGNoLT5mbHVzaCgpOwogICAgICAgIC8vIEBlbmQKCiAgICAgICAgc2VsZjo6bG9nKCJBc3NlcnQgdGhhdCBhbGwgdGhlIGl0ZW1zIGhhdmUgYmVlbiBkZWxldGVkIGZyb20gdGhlIHRhYmxlIik7CiAgICAgICAgJHNjYW5uZXIgPSAkY2xpZW50LT5nZXRJdGVyYXRvcignU2NhbicsIGFycmF5KCdUYWJsZU5hbWUnID0+ICR0YWJsZU5hbWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsIGl0ZXJhdG9yX2NvdW50KCRzY2FubmVyKSwgJ05vdCBhbGwgb2YgdGhlIGl0ZW1zIHdlcmUgZGVsZXRlZC4nKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Iterator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Iterator/ItemIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcSXRlcmF0b3I7Cgp1c2UgQXdzXER5bmFtb0RiXEl0ZXJhdG9yXEl0ZW1JdGVyYXRvcjsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXEl0ZXJhdG9yXEl0ZW1JdGVyYXRvcgogKi8KY2xhc3MgSXRlbUl0ZXJhdG9yVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb252ZXJ0c0l0ZW1TdHJ1Y3R1cmVUb1NpbXBsZUhhc2goKQogICAgewogICAgICAgICRvcmlnaW5hbEl0ZW1zID0gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJ2EnID0+IGFycmF5KCdTJyA9PiAnYTEnKSwKICAgICAgICAgICAgICAgICdiJyA9PiBhcnJheSgnTicgPT4gMSksCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJ2EnID0+IGFycmF5KCdTJyA9PiAnYTInKSwKICAgICAgICAgICAgICAgICdiJyA9PiBhcnJheSgnTicgPT4gMiksCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJ2EnID0+IGFycmF5KCdTJyA9PiAnYTMnKSwKICAgICAgICAgICAgICAgICdjJyA9PiBhcnJheSgnQicgPT4gYmFzZTY0X2VuY29kZSgnYzMnKSksCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJ2EnID0+IGFycmF5KCdTJyA9PiAnYTQnKSwKICAgICAgICAgICAgICAgICdkJyA9PiBhcnJheSgnU1MnID0+IGFycmF5KCdkNGEnLCAnZDRiJykpLAogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICdhJyA9PiBhcnJheSgnUycgPT4gJ2E1JyksCiAgICAgICAgICAgICAgICAnZScgPT4gYXJyYXkoJ0JTJyA9PiBhcnJheShiYXNlNjRfZW5jb2RlKCdlNWEnKSwgYmFzZTY0X2VuY29kZSgnZTViJykpKSwKICAgICAgICAgICAgKQogICAgICAgICk7CgogICAgICAgICR0YXJnZXRJdGVtcyA9IGFycmF5KAogICAgICAgICAgICBuZXcgQ29sbGVjdGlvbihhcnJheSgKICAgICAgICAgICAgICAgICdhJyA9PiAnYTEnLAogICAgICAgICAgICAgICAgJ2InID0+IDEsCiAgICAgICAgICAgICkpLAogICAgICAgICAgICBuZXcgQ29sbGVjdGlvbihhcnJheSgKICAgICAgICAgICAgICAgICdhJyA9PiAnYTInLAogICAgICAgICAgICAgICAgJ2InID0+IDIsCiAgICAgICAgICAgICkpLAogICAgICAgICAgICBuZXcgQ29sbGVjdGlvbihhcnJheSgKICAgICAgICAgICAgICAgICdhJyA9PiAnYTMnLAogICAgICAgICAgICAgICAgJ2MnID0+ICdjMycsCiAgICAgICAgICAgICkpLAogICAgICAgICAgICBuZXcgQ29sbGVjdGlvbihhcnJheSgKICAgICAgICAgICAgICAgICdhJyA9PiAnYTQnLAogICAgICAgICAgICAgICAgJ2QnID0+IGFycmF5KCdkNGEnLCAnZDRiJyksCiAgICAgICAgICAgICkpLAogICAgICAgICAgICBuZXcgQ29sbGVjdGlvbihhcnJheSgKICAgICAgICAgICAgICAgICdhJyA9PiAnYTUnLAogICAgICAgICAgICAgICAgJ2UnID0+IGFycmF5KCdlNWEnLCAnZTViJyksCiAgICAgICAgICAgICkpCiAgICAgICAgKTsKCiAgICAgICAgJGl0ZXJhdG9yID0gbmV3IEl0ZW1JdGVyYXRvcihuZXcgXEFycmF5SXRlcmF0b3IoJG9yaWdpbmFsSXRlbXMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoNSwgJGl0ZXJhdG9yKTsKICAgICAgICAkYWN0dWFsSXRlbXMgPSAkaXRlcmF0b3ItPnRvQXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkYWN0dWFsSXRlbXMgYXMgJGluZGV4ID0+ICRpdGVtKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb24nLCAkaXRlbSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGl0ZW0tPnRvQXJyYXkoKSwgJHRhcmdldEl0ZW1zWyRpbmRleF0tPnRvQXJyYXkoKSk7CiAgICAgICAgfQoKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFpbHNPbk5vbkNvdW50YWJsZUl0ZXJhdG9yKCkKICAgIHsKICAgICAgICAkaW5uZXIgPSBuZXcgXEluZmluaXRlSXRlcmF0b3IobmV3IFxBcnJheUl0ZXJhdG9yKHJhbmdlKDAsIDkpKSk7CiAgICAgICAgJGl0ZW1zID0gbmV3IEl0ZW1JdGVyYXRvcigkaW5uZXIpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkYXRhRm9yRnJvbVJlc3VsdHNUZXN0KCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIC8vIFNjYW4vUXVlcnkgcmVzdWx0cwogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdhJyA9PiBhcnJheSgnUycgPT4gJ2ExJyksICdiJyA9PiBhcnJheSgnUycgPT4gJ2IxJykpLAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnYScgPT4gYXJyYXkoJ1MnID0+ICdhMicpLCAnYicgPT4gYXJyYXkoJ1MnID0+ICdiMicpKSwKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2EnID0+ICdhMScsICdiJyA9PiAnYjEnKSwKICAgICAgICAgICAgICAgICAgICBhcnJheSgnYScgPT4gJ2EyJywgJ2InID0+ICdiMicpLAogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAoKICAgICAgICAgICAgLy8gR2V0SXRlbSByZXN1bHRzCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0l0ZW0nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnYScgPT4gYXJyYXkoJ1MnID0+ICdhMycpLAogICAgICAgICAgICAgICAgICAgICAgICAnYicgPT4gYXJyYXkoJ1MnID0+ICdiMycpCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICBhcnJheSgnYScgPT4gJ2EzJywgJ2InID0+ICdiMycpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksCgogICAgICAgICAgICAvLyBVcGRhdGVJdGVtL1B1dEl0ZW0gcmVzdWx0cwogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2EnID0+IGFycmF5KCdTJyA9PiAnYTQnKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2InID0+IGFycmF5KCdTJyA9PiAnYjQnKQogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2EnID0+ICdhNCcsICdiJyA9PiAnYjQnKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAoKICAgICAgICAgICAgLy8gQmF0Y2hHZXRJdGVtIHJlc3VsdHMKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnYScgPT4gYXJyYXkoJ1MnID0+ICdhNScpLCAnYicgPT4gYXJyYXkoJ1MnID0+ICdiNScpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdhJyA9PiBhcnJheSgnUycgPT4gJ2E2JyksICdiJyA9PiBhcnJheSgnUycgPT4gJ2I2JykpLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnYmFyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdhJyA9PiBhcnJheSgnUycgPT4gJ2E3JyksICdiJyA9PiBhcnJheSgnUycgPT4gJ2I3JykpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2EnID0+IGFycmF5KCdTJyA9PiAnYTgnKSwgJ2InID0+IGFycmF5KCdTJyA9PiAnYjgnKSksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgIGFycmF5KCdhJyA9PiAnYTUnLCAnYicgPT4gJ2I1JyksCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2EnID0+ICdhNicsICdiJyA9PiAnYjYnKSwKICAgICAgICAgICAgICAgICAgICBhcnJheSgnYScgPT4gJ2E3JywgJ2InID0+ICdiNycpLAogICAgICAgICAgICAgICAgICAgIGFycmF5KCdhJyA9PiAnYTgnLCAnYicgPT4gJ2I4JyksCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksCgogICAgICAgICAgICAvLyBMaXN0VGFibGVzIHJlc3VsdAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KCdUYWJsZU5hbWVzJyA9PiBhcnJheSgnZm9vJywgJ2JhcicsICdiYXonKSksCiAgICAgICAgICAgICAgICBhcnJheSgpCiAgICAgICAgICAgICksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgZGF0YUZvckZyb21SZXN1bHRzVGVzdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkdldEl0ZW1zRnJvbURpZmZlcmVudEtpbmRzT2ZSZXN1bHRzKGFycmF5ICRyZXN1bHQsIGFycmF5ICRleHBlY3RlZEl0ZW1zKQogICAgewogICAgICAgICRhY3R1YWxJdGVtcyA9IGFycmF5X21hcChmdW5jdGlvbiAoQ29sbGVjdGlvbiAkaXRlbSkgewogICAgICAgICAgICByZXR1cm4gJGl0ZW0tPnRvQXJyYXkoKTsKICAgICAgICB9LCBJdGVtSXRlcmF0b3I6OmZyb21SZXN1bHQobmV3IE1vZGVsKCRyZXN1bHQpKS0+dG9BcnJheSgpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZXhwZWN0ZWRJdGVtcywgJGFjdHVhbEl0ZW1zKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldEZpcnN0V29ya3NOb01hdHRlcldoZXJlVGhlQ3Vyc29ySXMoKQogICAgewogICAgICAgICRpdGVyYXRvciA9IG5ldyBJdGVtSXRlcmF0b3IobmV3IFxBcnJheUl0ZXJhdG9yKGFycmF5KAogICAgICAgICAgICBhcnJheSgnbGV0dGVyJyA9PiBhcnJheSgnUycgPT4gJ2EnKSksCiAgICAgICAgICAgIGFycmF5KCdsZXR0ZXInID0+IGFycmF5KCdTJyA9PiAnYicpKSwKICAgICAgICAgICAgYXJyYXkoJ2xldHRlcicgPT4gYXJyYXkoJ1MnID0+ICdjJykpLAogICAgICAgICkpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYScsICRpdGVyYXRvci0+Z2V0Rmlyc3QoKS0+Z2V0KCdsZXR0ZXInKSk7CgogICAgICAgICRpdGVyYXRvci0+bmV4dCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2InLCAkaXRlcmF0b3ItPmN1cnJlbnQoKS0+Z2V0KCdsZXR0ZXInKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYScsICRpdGVyYXRvci0+Z2V0Rmlyc3QoKS0+Z2V0KCdsZXR0ZXInKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Iterator/ScanIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcSXRlcmF0b3I7Cgp1c2UgQXdzXER5bmFtb0RiXEl0ZXJhdG9yXFNjYW5JdGVyYXRvcjsKdXNlIEd1enpsZVxDb21tb25cVmVyc2lvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXEl0ZXJhdG9yXFNjYW5JdGVyYXRvcgogKi8KY2xhc3MgU2Nhbkl0ZXJhdG9yVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5HZXRTY2FubmVkQ291bnQoKQogICAgewogICAgICAgICRlbWl0V2FybmluZ3MgPSBWZXJzaW9uOjokZW1pdFdhcm5pbmdzOwogICAgICAgIFZlcnNpb246OiRlbWl0V2FybmluZ3MgPSBmYWxzZTsKCiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0TW9jaygnR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlJyk7CiAgICAgICAgJGl0ZXJhdG9yID0gbmV3IFNjYW5JdGVyYXRvcigkY29tbWFuZCwgYXJyYXkoJ3Jlc3VsdF9rZXknID0+ICdJdGVtcycpKTsKICAgICAgICAkbW9kZWwgPSBuZXcgTW9kZWwoYXJyYXkoCiAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoMSwgMiwgMyksCiAgICAgICAgICAgICdTY2FubmVkQ291bnQnID0+IDQKICAgICAgICApKTsKCiAgICAgICAgJGNsYXNzID0gbmV3IFxSZWZsZWN0aW9uT2JqZWN0KCRpdGVyYXRvcik7CiAgICAgICAgJG1ldGhvZCA9ICRjbGFzcy0+Z2V0TWV0aG9kKCdoYW5kbGVSZXN1bHRzJyk7CiAgICAgICAgJG1ldGhvZC0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkaXRlbXMgPSAkbWV0aG9kLT5pbnZva2UoJGl0ZXJhdG9yLCAkbW9kZWwpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDQsICRpdGVyYXRvci0+Z2V0U2Nhbm5lZENvdW50KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgzLCAkaXRlbXMpOwoKICAgICAgICBWZXJzaW9uOjokZW1pdFdhcm5pbmdzID0gJGVtaXRXYXJuaW5nczsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Model/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Model/AttributeTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcTW9kZWw7Cgp1c2UgQXdzXER5bmFtb0RiXEVudW1cVHlwZTsKdXNlIEF3c1xEeW5hbW9EYlxNb2RlbFxBdHRyaWJ1dGU7CgovKioKICogQGNvdmVycyBBd3NcRHluYW1vRGJcTW9kZWxcQXR0cmlidXRlCiAqLwpjbGFzcyBBdHRyaWJ1dGVUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBjb25zdCBJTlZBTElEID0gJ0lOVkFMSUQnOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBkYXRhRm9yQXR0cmlidXRlRmFjdG9yeSgpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAvLyBFbXB0eQogICAgICAgICAgICBhcnJheSggJycsICAgICAgICAgIHNlbGY6OklOVkFMSUQgKSwKICAgICAgICAgICAgYXJyYXkoIG51bGwsICAgICAgICBzZWxmOjpJTlZBTElEICksCiAgICAgICAgICAgIGFycmF5KCBhcnJheSgpLCAgICAgc2VsZjo6SU5WQUxJRCApLAogICAgICAgICAgICBhcnJheSggYXJyYXkobnVsbCksIHNlbGY6OklOVkFMSUQgKSwKCiAgICAgICAgICAgIC8vIFN0cmluZ3MKICAgICAgICAgICAgYXJyYXkoICdmb28nLCAgICAgICAgJ3siUyI6ImZvbyJ9JyApLAogICAgICAgICAgICBhcnJheSggYXJyYXkoJ2ZvbycpLCAneyJTUyI6WyJmb28iXX0nICksCiAgICAgICAgICAgIGFycmF5KCBhcnJheSgnZm9vJywgICdiYXInLCAnYmF6JyksICd7IlNTIjpbImZvbyIsImJhciIsImJheiJdfScgKSwKCiAgICAgICAgICAgIC8vIE51bWJlcnMKICAgICAgICAgICAgYXJyYXkoIDEsICAgICAgICAgICAgICAgICAgICAneyJOIjoiMSJ9JyApLAogICAgICAgICAgICBhcnJheSggMCwgICAgICAgICAgICAgICAgICAgICd7Ik4iOiIwIn0nICksCiAgICAgICAgICAgIGFycmF5KCA1MCwgICAgICAgICAgICAgICAgICAgJ3siTiI6IjUwIn0nICksCiAgICAgICAgICAgIGFycmF5KCAxLjIzLCAgICAgICAgICAgICAgICAgJ3siTiI6IjEuMjMifScgKSwKICAgICAgICAgICAgYXJyYXkoIDFlMTAsICAgICAgICAgICAgICAgICAneyJOIjoiMTAwMDAwMDAwMDAifScgKSwKICAgICAgICAgICAgYXJyYXkoIGFycmF5KDEpLCAgICAgICAgICAgICAneyJOUyI6WyIxIl19JyApLAogICAgICAgICAgICBhcnJheSggYXJyYXkoMCksICAgICAgICAgICAgICd7Ik5TIjpbIjAiXX0nICksCiAgICAgICAgICAgIGFycmF5KCBhcnJheSgxLCAyLCAzKSwgICAgICAgJ3siTlMiOlsiMSIsIjIiLCIzIl19JyApLAogICAgICAgICAgICBhcnJheSggYXJyYXkoMS4yLCAzLjQsIDUuNiksICd7Ik5TIjpbIjEuMiIsIjMuNCIsIjUuNiJdfScgKSwKCiAgICAgICAgICAgIC8vIE51bWVyaWNhbCBTdHJpbmdzCiAgICAgICAgICAgIGFycmF5KCAnMScsICAgICAgICAgICAgICAgICAgICAgICAgJ3siUyI6IjEifScgKSwKICAgICAgICAgICAgYXJyYXkoICcwJywgICAgICAgICAgICAgICAgICAgICAgICAneyJTIjoiMCJ9JyApLAogICAgICAgICAgICBhcnJheSggJzUwJywgICAgICAgICAgICAgICAgICAgICAgICd7IlMiOiI1MCJ9JyApLAogICAgICAgICAgICBhcnJheSggJzEuMjMnLCAgICAgICAgICAgICAgICAgICAgICd7IlMiOiIxLjIzIn0nICksCiAgICAgICAgICAgIGFycmF5KCAnMWUxMCcsICAgICAgICAgICAgICAgICAgICAgJ3siUyI6IjFlMTAifScgKSwKICAgICAgICAgICAgYXJyYXkoIGFycmF5KCcxJyksICAgICAgICAgICAgICAgICAneyJTUyI6WyIxIl19JyApLAogICAgICAgICAgICBhcnJheSggYXJyYXkoJzAnKSwgICAgICAgICAgICAgICAgICd7IlNTIjpbIjAiXX0nICksCiAgICAgICAgICAgIGFycmF5KCBhcnJheSgnMScsICcyJywgJzMnKSwgICAgICAgJ3siU1MiOlsiMSIsIjIiLCIzIl19JyApLAogICAgICAgICAgICBhcnJheSggYXJyYXkoJzEuMicsICczLjQnLCAnNS42JyksICd7IlNTIjpbIjEuMiIsIjMuNCIsIjUuNiJdfScgKSwKCiAgICAgICAgICAgIC8vIEJvb2xlYW4KICAgICAgICAgICAgYXJyYXkoIHRydWUsICAgICAgICAgJ3siTiI6IjEifScgKSwKICAgICAgICAgICAgYXJyYXkoIGZhbHNlLCAgICAgICAgJ3siTiI6IjAifScgKSwKICAgICAgICAgICAgYXJyYXkoIGFycmF5KHRydWUpLCAgJ3siTlMiOlsiMSJdfScgKSwKICAgICAgICAgICAgYXJyYXkoIGFycmF5KGZhbHNlKSwgJ3siTlMiOlsiMCJdfScgKSwKCiAgICAgICAgICAgIC8vIENvbXBsZXggVHlwZXMKICAgICAgICAgICAgYXJyYXkoIG5ldyBcc3RkQ2xhc3MoKSwgICAgICAgICAgICAgICAgc2VsZjo6SU5WQUxJRCApLAogICAgICAgICAgICBhcnJheSggbmV3IEZvbygpLCAgICAgICAgICAgICAgICAgICAgICAneyJTIjoiZm9vIn0nICksCiAgICAgICAgICAgIGFycmF5KCBmb3BlbihfX0ZJTEVfXywgJ3InKSwgICAgICAgICAgIHNlbGY6OklOVkFMSUQgKSwKICAgICAgICAgICAgYXJyYXkoIG5ldyBcQXJyYXlPYmplY3QoYXJyYXkoJ2ZvbycpKSwgJ3siU1MiOlsiZm9vIl19JyApLAoKICAgICAgICAgICAgLy8gQ29tYmluYXRpb24KICAgICAgICAgICAgYXJyYXkoIGFycmF5KCdmb28nLCAxKSwgc2VsZjo6SU5WQUxJRCApLAoKICAgICAgICAgICAgLy8gRGVlcCBBcnJheQogICAgICAgICAgICBhcnJheSggYXJyYXkoYXJyYXkoMSkpLCBzZWxmOjpJTlZBTElEICksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgZGF0YUZvckF0dHJpYnV0ZUZhY3RvcnkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBdHRyaWJ1dGVGYWN0b3J5UHJvZHVjZXNFeHBlY3RlZFJlc3VsdHMoJHZhbHVlLCAkZXhwZWN0ZWQpCiAgICB7CiAgICAgICAgaWYgKHNlbGY6OklOVkFMSUQgPT09ICRleHBlY3RlZCkgewogICAgICAgICAgICAkdGhpcy0+c2V0RXhwZWN0ZWRFeGNlcHRpb24oJ1xcQXdzXFxDb21tb25cXEV4Y2VwdGlvblxcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICAkYXR0cmlidXRlID0gQXR0cmlidXRlOjpmYWN0b3J5KCR2YWx1ZSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRleHBlY3RlZCwganNvbl9lbmNvZGUoJGF0dHJpYnV0ZS0+Z2V0Rm9ybWF0dGVkKCkpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhY3RvcnlVc2VzVmFsdWVJZkFscmVhZHlBdHRyaWJ1dGUoKQogICAgewogICAgICAgICRhID0gQXR0cmlidXRlOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnZm9vJyA9PiAnYmFyJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYSwgQXR0cmlidXRlOjpmYWN0b3J5KCRhKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZXR0ZXJzQW5kR2V0dGVyc1dvcmtBc0V4cGVjdGVkKCkKICAgIHsKICAgICAgICAvKiogQHZhciAkYXR0cmlidXRlIFxBd3NcRHluYW1vRGJcTW9kZWxcQXR0cmlidXRlICovCiAgICAgICAgJGF0dHJpYnV0ZSA9ICR0aGlzLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygnQXdzXER5bmFtb0RiXE1vZGVsXEF0dHJpYnV0ZScsIGFycmF5KCdmb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGF0dHJpYnV0ZSwgJGF0dHJpYnV0ZS0+c2V0VmFsdWUoJzEwMCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYXR0cmlidXRlLCAkYXR0cmlidXRlLT5zZXRUeXBlKFR5cGU6Ok5VTUJFUikpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCcxMDAnLCAkYXR0cmlidXRlLT5nZXRWYWx1ZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZShUeXBlOjpOVU1CRVIsICRhdHRyaWJ1dGUtPmdldFR5cGUoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNldFZhbHVlRmFpbHNPbkJhZFZhbHVlKCkKICAgIHsKICAgICAgICAvKiogQHZhciAkYXR0cmlidXRlIFxBd3NcRHluYW1vRGJcTW9kZWxcQXR0cmlidXRlICovCiAgICAgICAgJGF0dHJpYnV0ZSA9ICR0aGlzLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygnQXdzXER5bmFtb0RiXE1vZGVsXEF0dHJpYnV0ZScsIGFycmF5KCdmb28nKSk7CiAgICAgICAgJGF0dHJpYnV0ZS0+c2V0VmFsdWUoMTAwKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2V0VHlwZUZhaWxzT25CYWRUeXBlKCkKICAgIHsKICAgICAgICAvKiogQHZhciAkYXR0cmlidXRlIFxBd3NcRHluYW1vRGJcTW9kZWxcQXR0cmlidXRlICovCiAgICAgICAgJGF0dHJpYnV0ZSA9ICR0aGlzLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygnQXdzXER5bmFtb0RiXE1vZGVsXEF0dHJpYnV0ZScsIGFycmF5KCdmb28nKSk7CiAgICAgICAgJGF0dHJpYnV0ZS0+c2V0VHlwZSgnZm9vJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRGb3JtYXR0ZWRQcm9kdWNlc0NvcnJlY3RBcnJheVN0cnVjdHVyZSgpCiAgICB7CiAgICAgICAgLyoqIEB2YXIgJGF0dHJpYnV0ZSBcQXdzXER5bmFtb0RiXE1vZGVsXEF0dHJpYnV0ZSAqLwogICAgICAgICRhdHRyaWJ1dGUgPSAkdGhpcy0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoJ0F3c1xEeW5hbW9EYlxNb2RlbFxBdHRyaWJ1dGUnLCBhcnJheSgnZm9vJykpOwogICAgICAgICRhdHRyaWJ1dGUtPnNldFZhbHVlKCcxMDAnKTsKICAgICAgICAkYXR0cmlidXRlLT5zZXRUeXBlKFR5cGU6Ok5VTUJFUik7CgogICAgICAgICRwdXRBcnJheSAgICA9IGFycmF5KFR5cGU6Ok5VTUJFUiA9PiAnMTAwJyk7CiAgICAgICAgJHVwZGF0ZUFycmF5ID0gYXJyYXkoJ1ZhbHVlJyA9PiBhcnJheShUeXBlOjpOVU1CRVIgPT4gJzEwMCcpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHB1dEFycmF5LCAkYXR0cmlidXRlLT5nZXRGb3JtYXR0ZWQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHB1dEFycmF5LCAkYXR0cmlidXRlLT5nZXRGb3JtYXR0ZWQoQXR0cmlidXRlOjpGT1JNQVRfUFVUKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHVwZGF0ZUFycmF5LCAkYXR0cmlidXRlLT5nZXRGb3JtYXR0ZWQoQXR0cmlidXRlOjpGT1JNQVRfVVBEQVRFKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHVwZGF0ZUFycmF5LCAkYXR0cmlidXRlLT5nZXRGb3JtYXR0ZWQoQXR0cmlidXRlOjpGT1JNQVRfRVhQRUNURUQpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkJlQ2FzdFRvU3RyaW5nKCkKICAgIHsKICAgICAgICAvKiogQHZhciAkYXR0cmlidXRlIFxBd3NcRHluYW1vRGJcTW9kZWxcQXR0cmlidXRlICovCiAgICAgICAgJGF0dHJpYnV0ZSA9ICR0aGlzLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygnQXdzXER5bmFtb0RiXE1vZGVsXEF0dHJpYnV0ZScsIGFycmF5KCdmb28nKSk7CiAgICAgICAgJGF0dHJpYnV0ZS0+c2V0VmFsdWUoYXJyYXkoJ2JheicsICdiYXInKSk7CiAgICAgICAgJGF0dHJpYnV0ZS0+c2V0VHlwZShUeXBlOjpTVFJJTkdfU0VUKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmF6LCBiYXInLCAoc3RyaW5nKSAkYXR0cmlidXRlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkJlQ2FzdFRvQXJyYXkoKQogICAgewogICAgICAgIC8qKiBAdmFyICRhdHRyaWJ1dGUgXEF3c1xEeW5hbW9EYlxNb2RlbFxBdHRyaWJ1dGUgKi8KICAgICAgICAkYXR0cmlidXRlID0gJHRoaXMtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCdBd3NcRHluYW1vRGJcTW9kZWxcQXR0cmlidXRlJywgYXJyYXkoJ2ZvbycpKTsKICAgICAgICAkYXR0cmlidXRlLT5zZXRWYWx1ZShhcnJheSgnYmF6JywgJ2JhcicpKTsKICAgICAgICAkYXR0cmlidXRlLT5zZXRUeXBlKFR5cGU6OlNUUklOR19TRVQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ1NTJyA9PiBhcnJheSgnYmF6JywgJ2JhcicpKSwgJGF0dHJpYnV0ZS0+dG9BcnJheSgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Model/BatchRequest/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Model/BatchRequest/AbstractWriteRequestTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0OwoKdXNlIEF3c1xEeW5hbW9EYlxNb2RlbFxCYXRjaFJlcXVlc3RcQWJzdHJhY3RXcml0ZVJlcXVlc3Q7CgovKioKICogQGNvdmVycyBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0XEFic3RyYWN0V3JpdGVSZXF1ZXN0CiAqLwpjbGFzcyBBYnN0cmFjdFdyaXRlUmVxdWVzdFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuR2V0VGFibGUoKQogICAgewogICAgICAgICR3cml0ZVJlcXVlc3QgPSAkdGhpcy0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoJ0F3c1xEeW5hbW9EYlxNb2RlbFxCYXRjaFJlcXVlc3RcQWJzdHJhY3RXcml0ZVJlcXVlc3QnKTsKICAgICAgICAkcmVmbGVjdGVkID0gbmV3IFxSZWZsZWN0aW9uUHJvcGVydHkoJ0F3c1xEeW5hbW9EYlxNb2RlbFxCYXRjaFJlcXVlc3RcQWJzdHJhY3RXcml0ZVJlcXVlc3QnLCAndGFibGVOYW1lJyk7CiAgICAgICAgJHJlZmxlY3RlZC0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkcmVmbGVjdGVkLT5zZXRWYWx1ZSgkd3JpdGVSZXF1ZXN0LCAndGFibGUnKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJ3RhYmxlJywgJHdyaXRlUmVxdWVzdC0+Z2V0VGFibGVOYW1lKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Model/BatchRequest/DeleteRequestTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0OwoKdXNlIEF3c1xEeW5hbW9EYlxNb2RlbFxCYXRjaFJlcXVlc3RcRGVsZXRlUmVxdWVzdDsKdXNlIEF3c1xEeW5hbW9EYlxNb2RlbFxBdHRyaWJ1dGU7CgovKioKICogQGNvdmVycyBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0XERlbGV0ZVJlcXVlc3QKICovCmNsYXNzIERlbGV0ZVJlcXVlc3RUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbnN0cnVjdG9yU2V0c1ZhbHVlcygpCiAgICB7CiAgICAgICAgJGtleSA9IGFycmF5KCdIYXNoS2V5RWxlbWVudCcgPT4gYXJyYXkoJ1MnID0+ICdmb28nKSk7CgogICAgICAgICRkZWxldGVSZXF1ZXN0ID0gbmV3IERlbGV0ZVJlcXVlc3QoJGtleSwgJ3RhYmxlJyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRrZXksICRkZWxldGVSZXF1ZXN0LT5nZXRLZXkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5Db252ZXJ0VG9BcnJheSgpCiAgICB7CiAgICAgICAgJGtleSA9IGFycmF5KAogICAgICAgICAgICAnSGFzaEtleUVsZW1lbnQnICA9PiBBdHRyaWJ1dGU6OmZhY3RvcnkoJ2ZvbycpLAogICAgICAgICAgICAnUmFuZ2VLZXlFbGVtZW50JyA9PiBBdHRyaWJ1dGU6OmZhY3RvcnkoMTIzKQogICAgICAgICk7CgogICAgICAgICRkZWxldGVSZXF1ZXN0ID0gbmV3IERlbGV0ZVJlcXVlc3QoJGtleSwgJ3RhYmxlJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ0RlbGV0ZVJlcXVlc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0hhc2hLZXlFbGVtZW50JyAgPT4gYXJyYXkoJ1MnID0+ICdmb28nKSwKICAgICAgICAgICAgICAgICAgICAnUmFuZ2VLZXlFbGVtZW50JyA9PiBhcnJheSgnTicgPT4gJzEyMycpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApLCAkZGVsZXRlUmVxdWVzdC0+dG9BcnJheSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VGVzdENhc2VzRm9yQ3JlYXRlRnJvbUNvbW1hbmRUZXN0KCkKICAgIHsKICAgICAgICAvKiogQHZhciAkY2xpZW50IFxBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQgKi8KICAgICAgICAkY2xpZW50ID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkeW5hbW9kYicpOwoKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJGNsaWVudC0+Z2V0Q29tbWFuZCgnTGlzdFRhYmxlcycpLAogICAgICAgICAgICAgICAgJ0F3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicKICAgICAgICAgICAgKSwKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAkY2xpZW50LT5nZXRDb21tYW5kKCdEZWxldGVJdGVtJywgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ1RhYmxlTmFtZScgPT4gJ2ZvbycsCiAgICAgICAgICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoJ0hhc2hLZXlFbGVtZW50JyA9PiBhcnJheSgnUycgPT4gJ2ZvbycpKQogICAgICAgICAgICAgICAgKSksCiAgICAgICAgICAgICAgICAnQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxEZWxldGVSZXF1ZXN0JwogICAgICAgICAgICApCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgZ2V0VGVzdENhc2VzRm9yQ3JlYXRlRnJvbUNvbW1hbmRUZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQ3JlYXRlRnJvbUNvbW1hbmQoJGNvbW1hbmQsICRleHBlY3RlZE9iamVjdFR5cGUpCiAgICB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHJlc3VsdCA9IERlbGV0ZVJlcXVlc3Q6OmZyb21Db21tYW5kKCRjb21tYW5kKTsKICAgICAgICB9IGNhdGNoIChcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICRyZXN1bHQgPSAkZTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGV4cGVjdGVkT2JqZWN0VHlwZSwgZ2V0X2NsYXNzKCRyZXN1bHQpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Model/BatchRequest/PutRequestTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0OwoKdXNlIEF3c1xEeW5hbW9EYlxNb2RlbFxCYXRjaFJlcXVlc3RcUHV0UmVxdWVzdDsKdXNlIEF3c1xEeW5hbW9EYlxNb2RlbFxJdGVtOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxQdXRSZXF1ZXN0CiAqLwpjbGFzcyBQdXRSZXF1ZXN0VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvclNldHNWYWx1ZXMoKQogICAgewogICAgICAgICRpdGVtID0gJHRoaXMtPmdldE1vY2soJ0F3c1xEeW5hbW9EYlxNb2RlbFxJdGVtJyk7CgogICAgICAgICRwdXRSZXF1ZXN0ID0gbmV3IFB1dFJlcXVlc3QoJGl0ZW0sICd0YWJsZScpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkaXRlbSwgJHB1dFJlcXVlc3QtPmdldEl0ZW0oKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvclNldHNWYWx1ZXNXaGVuSXRlbUNvbnRhaW5zVGFibGUoKQogICAgewogICAgICAgICRpdGVtID0gJHRoaXMtPmdldE1vY2soJ0F3c1xEeW5hbW9EYlxNb2RlbFxJdGVtJyk7CiAgICAgICAgJGl0ZW0tPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0VGFibGVOYW1lJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgndGFibGUnKSk7CgogICAgICAgICRwdXRSZXF1ZXN0ID0gbmV3IFB1dFJlcXVlc3QoJGl0ZW0pOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkaXRlbSwgJHB1dFJlcXVlc3QtPmdldEl0ZW0oKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3JUaHJvd3NFeGNlcHRpb25XaXRob3V0VGFibGUoKQogICAgewogICAgICAgICRpdGVtID0gJHRoaXMtPmdldE1vY2soJ0F3c1xEeW5hbW9EYlxNb2RlbFxJdGVtJyk7CgogICAgICAgICRwdXRSZXF1ZXN0ID0gbmV3IFB1dFJlcXVlc3QoJGl0ZW0pOzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNvbnZlcnRUb0FycmF5KCkKICAgIHsKICAgICAgICAkcHV0UmVxdWVzdCA9IG5ldyBQdXRSZXF1ZXN0KEl0ZW06OmZyb21BcnJheShhcnJheSgKICAgICAgICAgICAgJ2ZvbycgPT4gJ2JhcicsCiAgICAgICAgICAgICdiYXonID0+IDEyMywKICAgICAgICApKSwgJ3RhYmxlJyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdQdXRSZXF1ZXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJdGVtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZm9vJyA9PiBhcnJheSgnUycgPT4gJ2JhcicpLAogICAgICAgICAgICAgICAgICAgICdiYXonID0+IGFycmF5KCdOJyA9PiAnMTIzJykKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICksICRwdXRSZXF1ZXN0LT50b0FycmF5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUZXN0Q2FzZXNGb3JDcmVhdGVGcm9tQ29tbWFuZFRlc3QoKQogICAgewogICAgICAgIC8qKiBAdmFyICRjbGllbnQgXEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudCAqLwogICAgICAgICRjbGllbnQgPSBzZWxmOjpnZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2R5bmFtb2RiJyk7CgogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAkY2xpZW50LT5nZXRDb21tYW5kKCdMaXN0VGFibGVzJyksCiAgICAgICAgICAgICAgICAnQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uJwogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICRjbGllbnQtPmdldENvbW1hbmQoJ1B1dEl0ZW0nLCBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAnZm9vJywKICAgICAgICAgICAgICAgICAgICAnSXRlbScgPT4gYXJyYXkoJ2ZvbycgPT4gYXJyYXkoJ1MnID0+ICdiYXInKSkKICAgICAgICAgICAgICAgICkpLAogICAgICAgICAgICAgICAgJ0F3c1xEeW5hbW9EYlxNb2RlbFxCYXRjaFJlcXVlc3RcUHV0UmVxdWVzdCcKICAgICAgICAgICAgKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGdldFRlc3RDYXNlc0ZvckNyZWF0ZUZyb21Db21tYW5kVGVzdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNyZWF0ZUZyb21Db21tYW5kKCRjb21tYW5kLCAkZXhwZWN0ZWRPYmplY3RUeXBlKQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRyZXN1bHQgPSBQdXRSZXF1ZXN0Ojpmcm9tQ29tbWFuZCgkY29tbWFuZCk7CiAgICAgICAgfSBjYXRjaCAoXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAkcmVzdWx0ID0gJGU7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRleHBlY3RlZE9iamVjdFR5cGUsIGdldF9jbGFzcygkcmVzdWx0KSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Model/BatchRequest/UnprocessedRequestTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0OwoKdXNlIEF3c1xEeW5hbW9EYlxNb2RlbFxCYXRjaFJlcXVlc3RcVW5wcm9jZXNzZWRSZXF1ZXN0OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxVbnByb2Nlc3NlZFJlcXVlc3QKICovCmNsYXNzIFVucHJvY2Vzc2VkUmVxdWVzdFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3JTZXRzVmFsdWVzKCkKICAgIHsKICAgICAgICAkZGF0YSA9IGFycmF5KCdmb28nID0+ICdiYXInKTsKICAgICAgICAkdW5wcm9jZXNzZWRSZXF1ZXN0ID0gbmV3IFVucHJvY2Vzc2VkUmVxdWVzdCgkZGF0YSwgJ3RhYmxlJyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRkYXRhLCAkdW5wcm9jZXNzZWRSZXF1ZXN0LT50b0FycmF5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCd0YWJsZScsICR1bnByb2Nlc3NlZFJlcXVlc3QtPmdldFRhYmxlTmFtZSgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Model/BatchRequest/WriteRequestBatchTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0OwoKdXNlIEF3c1xEeW5hbW9EYlxFeGNlcHRpb25cVW5wcm9jZXNzZWRXcml0ZVJlcXVlc3RzRXhjZXB0aW9uOwp1c2UgQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxVbnByb2Nlc3NlZFJlcXVlc3Q7CnVzZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0XFdyaXRlUmVxdWVzdEJhdGNoOwp1c2UgR3V6emxlXEJhdGNoXEZsdXNoaW5nQmF0Y2g7CnVzZSBHdXp6bGVcQmF0Y2hcRXhjZXB0aW9uXEJhdGNoVHJhbnNmZXJFeGNlcHRpb247CgovKioKICogQGNvdmVycyBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0XFdyaXRlUmVxdWVzdEJhdGNoCiAqLwpjbGFzcyBXcml0ZVJlcXVlc3RCYXRjaFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQHJldHVybiBcQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRNb2NrZWRDbGllbnQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudCcpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBcUEhQVW5pdF9GcmFtZXdvcmtfTW9ja09iamVjdF9TdHViX1JldHVybiAkd2lsbAogICAgICoKICAgICAqIEByZXR1cm4gRmx1c2hpbmdCYXRjaAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0V3JpdGVSZXF1ZXN0QmF0Y2hXaXRoTW9ja2VkQmF0Y2goJHdpbGwpCiAgICB7CiAgICAgICAgJGJhdGNoID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxCYXRjaFxCYXRjaEludGVyZmFjZScpOwogICAgICAgICRiYXRjaC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdpc0VtcHR5JykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5vbkNvbnNlY3V0aXZlQ2FsbHMoZmFsc2UsIHRydWUpKTsKICAgICAgICAkYmF0Y2gtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZmx1c2gnKQogICAgICAgICAgICAtPndpbGwoJHdpbGwpOwogICAgICAgICRiYXRjaCA9IG5ldyBGbHVzaGluZ0JhdGNoKG5ldyBXcml0ZVJlcXVlc3RCYXRjaCgkYmF0Y2gpLCA1KTsKCiAgICAgICAgcmV0dXJuICRiYXRjaDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhY3RvcnlDcmVhdGVzQ29ycmVjdEJhdGNoKCkKICAgIHsKICAgICAgICAkYmF0Y2ggPSBXcml0ZVJlcXVlc3RCYXRjaDo6ZmFjdG9yeSgkdGhpcy0+Z2V0TW9ja2VkQ2xpZW50KCkpOwogICAgICAgICRkZWNvcmF0b3JzID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkYmF0Y2gtPmdldERlY29yYXRvcnMoKSBhcyAkZGVjb3JhdG9yKSB7CiAgICAgICAgICAgICRkZWNvcmF0b3JzW10gPSBnZXRfY2xhc3MoJGRlY29yYXRvcik7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnR3V6emxlXEJhdGNoXEZsdXNoaW5nQmF0Y2gnLAogICAgICAgICAgICAnQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxXcml0ZVJlcXVlc3RCYXRjaCcsCiAgICAgICAgKSwgJGRlY29yYXRvcnMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUNhbkFkZE5vdGlmeWluZ0JhdGNoRGVjb3JhdG9yKCkKICAgIHsKICAgICAgICAkYmF0Y2ggPSBXcml0ZVJlcXVlc3RCYXRjaDo6ZmFjdG9yeSgkdGhpcy0+Z2V0TW9ja2VkQ2xpZW50KCksIDEwLCBmdW5jdGlvbiAoKSB7fSk7CiAgICAgICAgJGRlY29yYXRvcnMgPSBhcnJheV9tYXAoJ2dldF9jbGFzcycsICRiYXRjaC0+Z2V0RGVjb3JhdG9ycygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ0d1enpsZVxCYXRjaFxOb3RpZnlpbmdCYXRjaCcsICRkZWNvcmF0b3JzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QWRkSXRlbURhdGEoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkeW5hbW9kYicpOwogICAgICAgICRkYXRhICAgPSBhcnJheSgpOwoKICAgICAgICAvLyBFeGNlcHRpb24gd2hlbiBub3QgYSB3cml0ZSByZXF1ZXN0IG9yIGNvbW1hbmQKICAgICAgICAkZGF0YVtdID0gYXJyYXkobnVsbCwgdHJ1ZSk7CgogICAgICAgIC8vIFdvcmtzIHdpdGggYSBkZWxldGVfaXRlbSBjb21tYW5kCiAgICAgICAgJGRhdGFbXSA9IGFycmF5KAogICAgICAgICAgICAkY2xpZW50LT5nZXRDb21tYW5kKCdEZWxldGVJdGVtJykKICAgICAgICAgICAgICAgIC0+c2V0KCdUYWJsZU5hbWUnLCAnZm9vJykKICAgICAgICAgICAgICAgIC0+c2V0KCdLZXknLCBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnSGFzaEtleUVsZW1lbnQnID0+IGFycmF5KCdTJyA9PiAnYmFyJykKICAgICAgICAgICAgICAgICkpLAogICAgICAgICAgICBmYWxzZQogICAgICAgICk7CgogICAgICAgIC8vIFdvcmtzIHdpdGggYSBwdXRfaXRlbSBjb21tYW5kCiAgICAgICAgJGRhdGFbXSA9IGFycmF5KAogICAgICAgICAgICAkY2xpZW50LT5nZXRDb21tYW5kKCdQdXRJdGVtJykKICAgICAgICAgICAgICAgIC0+c2V0KCdUYWJsZU5hbWUnLCAnZm9vJykKICAgICAgICAgICAgICAgIC0+c2V0KCdJdGVtJywgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2lkJyA9PiBhcnJheSgnUycgPT4gJ2JhcicpCiAgICAgICAgICAgICAgICApKSwKICAgICAgICAgICAgZmFsc2UKICAgICAgICApOwoKICAgICAgICAvLyBFeGNlcHRpb24gd2l0aCBhIGFyYml0cmFyeSBjb21tYW5kCiAgICAgICAgJGRhdGFbXSA9IGFycmF5KCRjbGllbnQtPmdldENvbW1hbmQoJ0xpc3RUYWJsZXMnKSwgdHJ1ZSk7CgogICAgICAgIC8vIFdvcmtzIHdpdGggYSB3cml0ZSByZXF1ZXN0CiAgICAgICAgJGRhdGFbXSA9IGFycmF5KCR0aGlzLT5nZXRNb2NrKCdBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0XFdyaXRlUmVxdWVzdEludGVyZmFjZScpLCBmYWxzZSk7CgogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgZ2V0QWRkSXRlbURhdGEKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRJdGVtKCRpdGVtLCAkaXNFbXB0eSkKICAgIHsKICAgICAgICAkYmF0Y2ggPSBXcml0ZVJlcXVlc3RCYXRjaDo6ZmFjdG9yeSgkdGhpcy0+Z2V0TW9ja2VkQ2xpZW50KCkpOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAkYmF0Y2gtPmFkZCgkaXRlbSk7CiAgICAgICAgfSBjYXRjaCAoXEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAvLyBTaWxlbnRseSBmYWlsCiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkaXNFbXB0eSwgJGJhdGNoLT5pc0VtcHR5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Rmx1c2goKQogICAgewogICAgICAgICRiYXRjaCA9ICR0aGlzLT5nZXRXcml0ZVJlcXVlc3RCYXRjaFdpdGhNb2NrZWRCYXRjaCgkdGhpcy0+cmV0dXJuVmFsdWUoYXJyYXkoKSkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCksICRiYXRjaC0+Zmx1c2goKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGbHVzaFVucHJvY2Vzc2VkSXRlbXMoKQogICAgewogICAgICAgIC8vIFByZXBhcmUgdGhlIHVucHJvY2Vzc2VkIGl0ZW1zIGV4Y2VwdGlvbgogICAgICAgICRpdGVtID0gbmV3IFVucHJvY2Vzc2VkUmVxdWVzdChhcnJheSgnZm9vJyksICdmb28nKTsKICAgICAgICAkZXhjZXB0aW9uVW5wcm9jZXNzZWQgPSBuZXcgVW5wcm9jZXNzZWRXcml0ZVJlcXVlc3RzRXhjZXB0aW9uOwogICAgICAgICRleGNlcHRpb25VbnByb2Nlc3NlZC0+YWRkSXRlbSgkaXRlbSk7CiAgICAgICAgJGV4Y2VwdGlvbkJhdGNoVHJhbnNmZXIgPSBuZXcgQmF0Y2hUcmFuc2ZlckV4Y2VwdGlvbigKICAgICAgICAgICAgYXJyYXkoJGl0ZW0pLAogICAgICAgICAgICBhcnJheSgpLAogICAgICAgICAgICAkZXhjZXB0aW9uVW5wcm9jZXNzZWQsCiAgICAgICAgICAgICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcQmF0Y2hcQmF0Y2hUcmFuc2ZlckludGVyZmFjZScpLAogICAgICAgICAgICAkdGhpcy0+Z2V0TW9jaygnR3V6emxlXEJhdGNoXEJhdGNoRGl2aXNvckludGVyZmFjZScpCiAgICAgICAgKTsKCiAgICAgICAgJGJhdGNoID0gJHRoaXMtPmdldFdyaXRlUmVxdWVzdEJhdGNoV2l0aE1vY2tlZEJhdGNoKCR0aGlzLT50aHJvd0V4Y2VwdGlvbigkZXhjZXB0aW9uQmF0Y2hUcmFuc2ZlcikpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCksICRiYXRjaC0+Zmx1c2goKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxCYXRjaFxFeGNlcHRpb25cQmF0Y2hUcmFuc2ZlckV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZsdXNoUmFuZG9tRXhjZXB0aW9uRmFpbHMoKQogICAgewogICAgICAgICRleGNlcHRpb25CYXRjaFRyYW5zZmVyID0gbmV3IFxHdXp6bGVcQmF0Y2hcRXhjZXB0aW9uXEJhdGNoVHJhbnNmZXJFeGNlcHRpb24oCiAgICAgICAgICAgIGFycmF5KCR0aGlzLT5nZXRNb2NrKCdBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0XFdyaXRlUmVxdWVzdEludGVyZmFjZScpKSwKICAgICAgICAgICAgYXJyYXkoKSwKICAgICAgICAgICAgJHRoaXMtPmdldE1vY2soJ1xFeGNlcHRpb24nKSwKICAgICAgICAgICAgJHRoaXMtPmdldE1vY2soJ0d1enpsZVxCYXRjaFxCYXRjaFRyYW5zZmVySW50ZXJmYWNlJyksCiAgICAgICAgICAgICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcQmF0Y2hcQmF0Y2hEaXZpc29ySW50ZXJmYWNlJykKICAgICAgICApOwoKICAgICAgICAkYmF0Y2ggPSAkdGhpcy0+Z2V0V3JpdGVSZXF1ZXN0QmF0Y2hXaXRoTW9ja2VkQmF0Y2goJHRoaXMtPnRocm93RXhjZXB0aW9uKCRleGNlcHRpb25CYXRjaFRyYW5zZmVyKSk7CiAgICAgICAgJGJhdGNoLT5mbHVzaCgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Model/BatchRequest/WriteRequestBatchTransferTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0OwoKdXNlIEF3c1xEeW5hbW9EYlxFeGNlcHRpb25cRHluYW1vRGJFeGNlcHRpb247CnVzZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uXFVucHJvY2Vzc2VkV3JpdGVSZXF1ZXN0c0V4Y2VwdGlvbjsKdXNlIEF3c1xEeW5hbW9EYlxNb2RlbFxCYXRjaFJlcXVlc3RcV3JpdGVSZXF1ZXN0QmF0Y2hUcmFuc2ZlcjsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEV4Y2VwdGlvbkNvbGxlY3Rpb247CgovKioKICogQGNvdmVycyBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0XFdyaXRlUmVxdWVzdEJhdGNoVHJhbnNmZXIKICovCmNsYXNzIFdyaXRlUmVxdWVzdEJhdGNoVHJhbnNmZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEByZXR1cm4gXEF3c1xEeW5hbW9EYlxEeW5hbW9EYkNsaWVudAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TW9ja2VkQ2xpZW50KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQnKQogICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzTm90VHJhbnNmZXJzRW1wdHlCYXRjaGVzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldE1vY2tlZENsaWVudCgpOwogICAgICAgICRiYXRjaCAgPSBuZXcgV3JpdGVSZXF1ZXN0QmF0Y2hUcmFuc2ZlcigkY2xpZW50KTsKICAgICAgICAkYmF0Y2gtPnRyYW5zZmVyKGFycmF5KCkpOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBhcnJheSBEYXRhIGZvciB0ZXN0VHJhbnNmZXJzQmF0Y2hlcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VHJhbnNmZXJCYXRjaGVzRGF0YSgpCiAgICB7CiAgICAgICAgLy8gTW9jayBvYmplY3RzIGZvciAzcmQgdGVzdCBjYXNlCiAgICAgICAgJG1vY2tSZXF1ZXN0ID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2UnKQogICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJG1vY2tSZXF1ZXN0LT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldEJvZHknKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPm9uQ29uc2VjdXRpdmVDYWxscygKICAgICAgICAgICAgICAgICd7IlJlcXVlc3RJdGVtcyI6eyJmb28iOlt7IlB1dFJlcXVlc3QiOnt9fSx7IlB1dFJlcXVlc3QiOnt9fV19fScsCiAgICAgICAgICAgICAgICAneyJSZXF1ZXN0SXRlbXMiOnt9fScsCiAgICAgICAgICAgICAgICAneyJSZXF1ZXN0SXRlbXMiOnt9fScKICAgICAgICAgICAgKSk7CiAgICAgICAgJG1vY2tSZXNwb25zZSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZScpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkbW9ja1Jlc3BvbnNlLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldFJlcXVlc3QnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRtb2NrUmVxdWVzdCkpOwogICAgICAgICRtb2NrUmVzcG9uc2UtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0U3RhdHVzQ29kZScpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoNDEzKSk7CiAgICAgICAgJHRvb0JpZ0V4Y2VwdGlvbiA9IG5ldyBEeW5hbW9EYkV4Y2VwdGlvbigpOwogICAgICAgICR0b29CaWdFeGNlcHRpb24tPnNldFJlc3BvbnNlKCRtb2NrUmVzcG9uc2UpOwogICAgICAgICRleGNlcHRpb25Db2xsZWN0aW9uID0gbmV3IEV4Y2VwdGlvbkNvbGxlY3Rpb24oKTsKICAgICAgICAkZXhjZXB0aW9uQ29sbGVjdGlvbi0+YWRkKCR0b29CaWdFeGNlcHRpb24pOwoKICAgICAgICAvLyBNb2NrIG9iamVjdHMgZm9yIDR0aCB1c2UgY2FzZQogICAgICAgICRleGNlcHRpb25Db2xsZWN0aW9uV2l0aER1bW15ID0gbmV3IEV4Y2VwdGlvbkNvbGxlY3Rpb24oKTsKICAgICAgICAkZXhjZXB0aW9uQ29sbGVjdGlvbldpdGhEdW1teS0+YWRkKG5ldyBcUnVudGltZUV4Y2VwdGlvbik7CgogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgLy8gTm8gdW5wcm9jZXNzZWQgaXRlbXMKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgnVW5wcm9jZXNzZWRJdGVtcycgPT4gYXJyYXkoKSksCiAgICAgICAgICAgICAgICBudWxsLAogICAgICAgICAgICAgICAgJ2FsbC1pdGVtcy10cmFuc2ZlcnJlZCcKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gU29tZSB1bnByb2Nlc3NlZCBpdGVtcwogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KCdVbnByb2Nlc3NlZEl0ZW1zJyA9PiBhcnJheSgnZm9vJyA9PiBhcnJheShhcnJheSgnZm9vJykpKSksCiAgICAgICAgICAgICAgICBudWxsLAogICAgICAgICAgICAgICAgJ3NvbWUtdW5wcm9jZXNzZWQtaXRlbXMnCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoJ1VucHJvY2Vzc2VkSXRlbXMnID0+IGFycmF5KCkpLAogICAgICAgICAgICAgICAgJHRoaXMtPnRocm93RXhjZXB0aW9uKCRleGNlcHRpb25Db2xsZWN0aW9uKSwKICAgICAgICAgICAgICAgICdhbGwtaXRlbXMtdHJhbnNmZXJyZWQnCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoJ1VucHJvY2Vzc2VkSXRlbXMnID0+IGFycmF5KCkpLAogICAgICAgICAgICAgICAgJHRoaXMtPnRocm93RXhjZXB0aW9uKCRleGNlcHRpb25Db2xsZWN0aW9uV2l0aER1bW15KSwKICAgICAgICAgICAgICAgICdleGNlcHRpb25zLXRocm93bicKICAgICAgICAgICAgKSwKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciBnZXRUcmFuc2ZlckJhdGNoZXNEYXRhCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VHJhbnNmZXJzQmF0Y2hlcygkY29tbWFuZFJlc3VsdCwgJGV4ZWN1dGVSZXN1bHQsICRleHBlY3RlZE1lc3NhZ2UpCiAgICB7CiAgICAgICAgLy8gUHJlcCBtb2NrIERlbGV0ZVJlcXVlc3RzCiAgICAgICAgJHJlcXVlc3RzID0gYXJyYXkoCiAgICAgICAgICAgICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXER5bmFtb0RiXE1vZGVsXEJhdGNoUmVxdWVzdFxEZWxldGVSZXF1ZXN0JykKICAgICAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAgICAgLT5nZXRNb2NrKCkKICAgICAgICApOwogICAgICAgICRyZXF1ZXN0c1swXS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRUYWJsZU5hbWUnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCdmb28nKSk7CiAgICAgICAgJHJlcXVlc3RzWzBdLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3RvQXJyYXknKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKGFycmF5KCdmb28nKSkpOwoKICAgICAgICAvLyBQcmVwIHRoZSBtb2NrIGNvbW1hbmQgZXhlY3V0aW9uIGFuZCByZXN1bHRzCiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0TW9jaygnQXdzXENvbW1vblxDb21tYW5kXEpzb25Db21tYW5kJywgYXJyYXkoKSwgYXJyYXkoYXJyYXkoKSkpOwogICAgICAgICRjb21tYW5kLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3NldCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJGNvbW1hbmQpKTsKICAgICAgICAkY29tbWFuZC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdpc0V4ZWN1dGVkJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSh0cnVlKSk7CiAgICAgICAgJGNvbW1hbmQtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0UmVzdWx0JykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkY29tbWFuZFJlc3VsdCkpOwoKICAgICAgICAvLyBBZGQgdGhlIG1vY2tlZCBjb21tYW5kIGludG8gdGhlIG1vY2sgY2xpZW50CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRNb2NrZWRDbGllbnQoKTsKICAgICAgICAkY2xpZW50LT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldENvbW1hbmQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRjb21tYW5kKSk7CiAgICAgICAgJGNsaWVudC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdleGVjdXRlJykKICAgICAgICAgICAgLT53aWxsKCRleGVjdXRlUmVzdWx0ID86ICR0aGlzLT5yZXR1cm5WYWx1ZShhcnJheSgkY29tbWFuZCkpKTsKCiAgICAgICAgLy8gRG8gdHJhbnNmZXIgYW5kIGRlY2lkZSB0aGUgbWVzc2FnZQogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRiYXRjaCA9IG5ldyBXcml0ZVJlcXVlc3RCYXRjaFRyYW5zZmVyKCRjbGllbnQpOwogICAgICAgICAgICAkYmF0Y2gtPnRyYW5zZmVyKCRyZXF1ZXN0cyk7CiAgICAgICAgICAgICRhY3R1YWxNZXNzYWdlID0gJ2FsbC1pdGVtcy10cmFuc2ZlcnJlZCc7CiAgICAgICAgfSBjYXRjaCAoVW5wcm9jZXNzZWRXcml0ZVJlcXVlc3RzRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICRhY3R1YWxNZXNzYWdlID0gJ3NvbWUtdW5wcm9jZXNzZWQtaXRlbXMnOwogICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbkNvbGxlY3Rpb24gJGUpIHsKICAgICAgICAgICAgJGFjdHVhbE1lc3NhZ2UgPSAnZXhjZXB0aW9ucy10aHJvd24nOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZXhwZWN0ZWRNZXNzYWdlLCAkYWN0dWFsTWVzc2FnZSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Model/Foo.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcTW9kZWw7CgpjbGFzcyBGb28KewogICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAnZm9vJzsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Model/ItemTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcTW9kZWw7Cgp1c2UgQXdzXER5bmFtb0RiXE1vZGVsXEl0ZW07CnVzZSBBd3NcRHluYW1vRGJcTW9kZWxcQXR0cmlidXRlOwoKY2xhc3MgSXRlbVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRJdGVtKCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IEl0ZW0oYXJyYXkoCiAgICAgICAgICAgICdmb28nID0+IGFycmF5KCdTJyA9PiAnYmFyJyksCiAgICAgICAgICAgICdiYXonID0+IGFycmF5KCdTUycgPT4gYXJyYXkoJ3lvJywgJ3RvJykpCiAgICAgICAgKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xEeW5hbW9EYlxNb2RlbFxJdGVtOjpfX2NvbnN0cnVjdAogICAgICogQGNvdmVycyBBd3NcRHluYW1vRGJcTW9kZWxcSXRlbTo6cmVwbGFjZQogICAgICogQGNvdmVycyBBd3NcRHluYW1vRGJcTW9kZWxcSXRlbTo6YWRkCiAgICAgKiBAY292ZXJzIEF3c1xEeW5hbW9EYlxNb2RlbFxJdGVtOjp0b0FycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3JJbml0aWFsaXplc0F0dHJpYnV0ZXMoKQogICAgewogICAgICAgICRpdGVtID0gJHRoaXMtPmdldEl0ZW0oKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ2ZvbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnUycgPT4gJ2JhcicKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2JheicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU1MnID0+IGFycmF5KCd5bycsICd0bycpCiAgICAgICAgICAgICkKICAgICAgICApLCAkaXRlbS0+dG9BcnJheSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXE1vZGVsXEl0ZW06OmZyb21BcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNyZWF0ZUZyb21BcnJheSgpCiAgICB7CiAgICAgICAgJGl0ZW0gPSBJdGVtOjpmcm9tQXJyYXkoYXJyYXkoCiAgICAgICAgICAgICdmb28nICA9PiAnYmFyJywKICAgICAgICAgICAgJ2JheicgID0+IGFycmF5KDEsIDIsIDMpLAogICAgICAgICAgICAnbGlzdCcgPT4gYXJyYXkoJ2ZvbycsICdiYXInKSwKICAgICAgICAgICAgJ3Rlc3QnID0+IDIKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUycsICRpdGVtLT5nZXQoJ2ZvbycpLT5nZXRUeXBlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRpdGVtWydmb28nXSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ05TJywgJGl0ZW0tPmdldCgnYmF6JyktPmdldFR5cGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgxLCAyLCAzKSwgJGl0ZW1bJ2JheiddLT5nZXRWYWx1ZSgpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnU1MnLCAkaXRlbS0+Z2V0KCdsaXN0JyktPmdldFR5cGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnZm9vJywgJ2JhcicpLCAkaXRlbVsnbGlzdCddLT5nZXRWYWx1ZSgpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnTicsICRpdGVtLT5nZXQoJ3Rlc3QnKS0+Z2V0VHlwZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsICRpdGVtWyd0ZXN0J10tPmdldFZhbHVlKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcRHluYW1vRGJcTW9kZWxcSXRlbTo6Y291bnQKICAgICAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXE1vZGVsXEl0ZW06OmdldEl0ZXJhdG9yCiAgICAgKiBAY292ZXJzIEF3c1xEeW5hbW9EYlxNb2RlbFxJdGVtOjpvZmZzZXRFeGlzdHMKICAgICAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXE1vZGVsXEl0ZW06Om9mZnNldFNldAogICAgICogQGNvdmVycyBBd3NcRHluYW1vRGJcTW9kZWxcSXRlbTo6b2Zmc2V0VW5zZXQKICAgICAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXE1vZGVsXEl0ZW06Om9mZnNldEdldAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEl0ZW1DYW5CZVVzZWRBc0FuQXJyYXkoKQogICAgewogICAgICAgICRpdGVtID0gJHRoaXMtPmdldEl0ZW0oKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCRpdGVtKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkaXRlbS0+Z2V0SXRlcmF0b3IoKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRpdGVtWydmb28nXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgneW8nLCAndG8nKSwgJGl0ZW1bJ2JheiddLT5nZXRWYWx1ZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGl0ZW0tPm9mZnNldEV4aXN0cygnZGluZ28nKSk7CgogICAgICAgICRpdGVtLT5vZmZzZXRTZXQoJ3Rlc3QnLCAnQ29vbCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0Nvb2wnLCAkaXRlbVsndGVzdCddKTsKCiAgICAgICAgJGl0ZW0tPm9mZnNldFVuc2V0KCdmb28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkaXRlbVsnZm9vJ10pOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcRHluYW1vRGJcTW9kZWxcSXRlbTo6Z2V0VGFibGVOYW1lCiAgICAgKiBAY292ZXJzIEF3c1xEeW5hbW9EYlxNb2RlbFxJdGVtOjpzZXRUYWJsZU5hbWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJdGVtT3duc1RhYmxlKCkKICAgIHsKICAgICAgICAkaXRlbSA9ICR0aGlzLT5nZXRJdGVtKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJGl0ZW0tPmdldFRhYmxlTmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkaXRlbSwgJGl0ZW0tPnNldFRhYmxlTmFtZSgnZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICRpdGVtLT5nZXRUYWJsZU5hbWUoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xEeW5hbW9EYlxNb2RlbFxJdGVtOjpnZXQKICAgICAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXE1vZGVsXEl0ZW06OmhhcwogICAgICogQGNvdmVycyBBd3NcRHluYW1vRGJcTW9kZWxcSXRlbTo6YWRkCiAgICAgKiBAY292ZXJzIEF3c1xEeW5hbW9EYlxNb2RlbFxJdGVtOjphbGwKICAgICAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXE1vZGVsXEl0ZW06OnJlbW92ZQogICAgICogQGNvdmVycyBBd3NcRHluYW1vRGJcTW9kZWxcSXRlbTo6a2V5cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkFjY2Vzc0F0dHJpYnV0ZXMoKQogICAgewogICAgICAgICRpdGVtID0gJHRoaXMtPmdldEl0ZW0oKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmb28nLCAnYmF6JyksICRpdGVtLT5rZXlzKCkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXFxEeW5hbW9EYlxcTW9kZWxcXEF0dHJpYnV0ZScsICRpdGVtLT5nZXQoJ2ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkaXRlbS0+aGFzKCdmb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRpdGVtLT5oYXMoJ2Zvb29vb29vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRpdGVtLT5nZXQoJ2Zvb29vbycpKTsKCiAgICAgICAgJGFsbCA9ICRpdGVtLT5hbGwoKTsKICAgICAgICBmb3JlYWNoICgkYWxsIGFzICRrID0+ICR2KSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ3N0cmluZycsICRrKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xcRHluYW1vRGJcXE1vZGVsXFxBdHRyaWJ1dGUnLCAkdik7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkaXRlbSwgJGl0ZW0tPnJlbW92ZSgnZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkaXRlbS0+aGFzKCdmb28nKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Session/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Session/AbstractSessionTestCase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcU2Vzc2lvbjsKCnVzZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ7CgphYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFNlc3Npb25UZXN0Q2FzZSBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAcmV0dXJuIFxBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE1vY2tlZENsaWVudCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50JykKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwoKICAgICAgICAkZGVzY3JpcHRpb24gPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFNlcnZpY2VEZXNjcmlwdGlvbicpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJGRlc2NyaXB0aW9uLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldEFwaVZlcnNpb24nKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCcyMDEyLTA4LTEwJykpOwoKICAgICAgICAkY2xpZW50LT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldERlc2NyaXB0aW9uJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkZGVzY3JpcHRpb24pKTsKCiAgICAgICAgcmV0dXJuICRjbGllbnQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIFxBd3NcRHluYW1vRGJcU2Vzc2lvblxTZXNzaW9uSGFuZGxlckNvbmZpZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TW9ja2VkQ29uZmlnKCkKICAgIHsKICAgICAgICAkY29uZmlnID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcRHluYW1vRGJcU2Vzc2lvblxTZXNzaW9uSGFuZGxlckNvbmZpZycpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgcmV0dXJuICRjb25maWc7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIFxBd3NcQ29tbW9uXENvbW1hbmRcSnNvbkNvbW1hbmQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE1vY2tlZENvbW1hbmQoRHluYW1vRGJDbGllbnQgJGNsaWVudCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrKCdBd3NcQ29tbW9uXENvbW1hbmRcSnNvbkNvbW1hbmQnKTsKICAgICAgICAkY2xpZW50LT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldENvbW1hbmQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRjb21tYW5kKSk7CgogICAgICAgIHJldHVybiAkY29tbWFuZDsKICAgIH0KCn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Session/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Session/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcU2Vzc2lvbjsKCnVzZSBBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQ7CnVzZSBBd3NcRHluYW1vRGJcRXhjZXB0aW9uXFJlc291cmNlTm90Rm91bmRFeGNlcHRpb247CnVzZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0XFB1dFJlcXVlc3Q7CnVzZSBBd3NcRHluYW1vRGJcTW9kZWxcQmF0Y2hSZXF1ZXN0XFdyaXRlUmVxdWVzdEJhdGNoOwp1c2UgQXdzXER5bmFtb0RiXE1vZGVsXEl0ZW07CnVzZSBBd3NcRHluYW1vRGJcU2Vzc2lvblxTZXNzaW9uSGFuZGxlcjsKdXNlIEF3c1xDb21tb25cRW51bVxUaW1lOwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgRHluYW1vREIgdGFibGUgbmFtZQogICAgICovCiAgICBwdWJsaWMgJHRhYmxlOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgSGFzaCBrZXkgbmFtZQogICAgICovCiAgICBwdWJsaWMgJGhhc2hLZXk7CgogICAgLyoqCiAgICAgKiBAdmFyIER5bmFtb0RiQ2xpZW50CiAgICAgKi8KICAgIHB1YmxpYyAkY2xpZW50OwoKICAgIC8qKgogICAgICogQHZhciBTZXNzaW9uSGFuZGxlcgogICAgICovCiAgICBwdWJsaWMgJGhhbmRsZXI7CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRVcEJlZm9yZUNsYXNzKCkKICAgIHsKICAgICAgICBzZWxmOjpkZWxldGVTZXNzaW9uc1RhYmxlKCk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB0ZWFyRG93bkFmdGVyQ2xhc3MoKQogICAgewogICAgICAgIHNlbGY6OmRlbGV0ZVNlc3Npb25zVGFibGUoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT50YWJsZSAgID0gc2VsZjo6Z2V0UmVzb3VyY2VQcmVmaXgoKSAuICctcGhwLXNlc3Npb25zLXRlc3QnOwogICAgICAgICR0aGlzLT5oYXNoS2V5ID0gJ2lkJzsKICAgICAgICAkdGhpcy0+Y2xpZW50ICA9IHNlbGY6OmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZHluYW1vZGInKTsKICAgIH0KCiAgICAvKioKICAgICAqIEVuc3VyZXMgdGhhdCBhIER5bmFtb0RCIHRhYmxlIGZvciBzZXNzaW9ucyBjYW4gYmUgY3JlYXRlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNUYWJsZSgpCiAgICB7CiAgICAgICAgJHNoID0gU2Vzc2lvbkhhbmRsZXI6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdkeW5hbW9kYl9jbGllbnQnID0+ICR0aGlzLT5jbGllbnQsCiAgICAgICAgICAgICd0YWJsZV9uYW1lJyAgICAgID0+ICR0aGlzLT50YWJsZSwKICAgICAgICApKTsKCiAgICAgICAgc2VsZjo6bG9nKCJDcmVhdGluZyBzZXNzaW9ucyB0YWJsZSB7JHRoaXMtPnRhYmxlfSIpOwogICAgICAgICRzaC0+Y3JlYXRlU2Vzc2lvbnNUYWJsZSgyNSwgMjUpOwoKICAgICAgICBzZWxmOjpsb2coIkVuc3VyaW5nIHRoZSB0YWJsZSB7JHRoaXMtPnRhYmxlfSB3YXMgY3JlYXRlZCIpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5kZXNjcmliZVRhYmxlKGFycmF5KCdUYWJsZU5hbWUnID0+ICR0aGlzLT50YWJsZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHRoaXMtPnRhYmxlLCAkcmVzdWx0WydUYWJsZSddWydUYWJsZU5hbWUnXSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBFbnN1cmVzIHRoYXQgc2Vzc2lvbiBzdG9yYWdlIGlzIHdvcmtpbmcgcHJvcGVybHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZW5lcmFsU2Vzc2lvblN0b3JhZ2UoKQogICAgewogICAgICAgIHNlc3Npb25faWQoJ2V4YW1wbGUnKTsKICAgICAgICAkc2ggPSBTZXNzaW9uSGFuZGxlcjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2R5bmFtb2RiX2NsaWVudCcgPT4gJHRoaXMtPmNsaWVudCwKICAgICAgICAgICAgJ3RhYmxlX25hbWUnICAgICAgPT4gJHRoaXMtPnRhYmxlLAogICAgICAgICAgICAnaGFzaF9rZXknICAgICAgICA9PiAkdGhpcy0+aGFzaEtleSwKICAgICAgICApKTsKCiAgICAgICAgc2VsZjo6bG9nKCdTdGFydCB3aXRoIGFuIGVtcHR5IHNlc3Npb24sIGFkZCBkYXRhLCBhbmQgY29tbWl0Jyk7CiAgICAgICAgJHRoaXMtPnNpbXVsYXRlU2Vzc2lvblN0YXJ0KCRzaCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgpLCAkX1NFU1NJT04sICdbMV0gVGhlIHNlc3Npb24gd2FzIG5vdCBlbXB0eS4nKTsKICAgICAgICAkX1NFU1NJT05bJ2ZvbyddID0gJ2Jhcic7CiAgICAgICAgJHRoaXMtPnNpbXVsYXRlU2Vzc2lvbkNvbW1pdCgkc2gpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2ZvbycgPT4gJ2JhcicpLCAkX1NFU1NJT04sICdbMl0gVGhlIGRhdGEgd2FzIG5vdCBzdG9yZWQgaW4gJF9TRVNTSU9OLicpOwogICAgICAgICRfU0VTU0lPTiA9IGFycmF5KCk7CgogICAgICAgIHNlbGY6OmxvZygnQ2hlY2sgaWYgc2Vzc2lvbiBkYXRhIG1hZGUgaXQgaW50byBEeW5hbW9EQicpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdHZXRJdGVtJywgYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnID0+ICR0aGlzLT50YWJsZSwKICAgICAgICAgICAgJ0tleScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAkdGhpcy0+aGFzaEtleSA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnUycgPT4gJ3Rlc3RfZXhhbXBsZScKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpLT5leGVjdXRlKCk7CiAgICAgICAgJGRhdGEgPSB1bnNlcmlhbGl6ZSgkcmVzdWx0WydJdGVtJ11bJ2RhdGEnXVsnUyddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ2ZvbycsICRkYXRhLCAnWzNdIFRoZSBzZXNzaW9uIGRhdGEgd2FzIG5vdCBzYXZlZCBpbiBEeW5hbW9EQi4nKTsKCiAgICAgICAgc2VsZjo6bG9nKCdDaGVjayBpZiB0aGUgZGF0YSB3YXMgcHJlc2VydmVkLCB0aGVuIGRlc3Ryb3kgdGhlIHNlc3Npb24nKTsKICAgICAgICAkdGhpcy0+c2ltdWxhdGVTZXNzaW9uU3RhcnQoJHNoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmb28nID0+ICdiYXInKSwgJF9TRVNTSU9OLCAnWzRdIFRoZSBzZXNzaW9uIGRhdGEgd2FzIG5vdCByZXRyaWV2ZWQuJyk7CiAgICAgICAgJHRoaXMtPnNpbXVsYXRlU2Vzc2lvbkRlc3Ryb3koJHNoKTsKCiAgICAgICAgc2VsZjo6bG9nKCdDaGVjayBpZiBzZXNzaW9uIGRhdGEgd2FzIGRlbGV0ZWQgaW4gRHluYW1vREInKTsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdHZXRJdGVtJywgYXJyYXkoCiAgICAgICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAkdGhpcy0+dGFibGUsCiAgICAgICAgICAgICAgICAnS2V5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+aGFzaEtleSA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+ICd0ZXN0X2V4YW1wbGUnCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKS0+ZXhlY3V0ZSgpOwogICAgICAgICAgICAkcmVzdWx0ID0gaXNzZXQoJHJlc3VsdFsnSXRlbSddKTsKICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICRyZXN1bHQgPSBmYWxzZTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRyZXN1bHQsICdbNV0gVGhlIHNlc3Npb24gZGF0YSB3YXMgbm90IGRlbGV0ZWQgZnJvbSBEeW5hbW9EQi4nKTsKCiAgICAgICAgc2VsZjo6bG9nKCdNYWtlIHN1cmUgdGhlIGRhdGEgZG9lcyBub3QgcmV0dXJuIGFmdGVyIGRlc3Ryb3lpbmcnKTsKICAgICAgICAkdGhpcy0+c2ltdWxhdGVTZXNzaW9uU3RhcnQoJHNoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCksICRfU0VTU0lPTiwgJ1s2XSBUaGUgc2Vzc2lvbiB3YXMgbm90IHByb3Blcmx5IGRlc3Ryb3llZC4nKTsKCiAgICAgICAgLy8gQ2xlYW4gdXAKICAgICAgICAkdGhpcy0+c2ltdWxhdGVTZXNzaW9uRGVzdHJveSgkc2gpOwogICAgfQoKICAgIC8qKgogICAgICogRW5zdXJlcyB0aGF0IHBlc3NpbWlzdGljIGxvY2tpbmcgaXMgcmVhbGx5IGhhcHBlbmluZyBjb3JyZWN0bHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RMb2NraW5nU3RyYXRlZ3lEaWZmZXJlbmNlcygpCiAgICB7CiAgICAgICAgc2Vzc2lvbl9pZCgnZXhhbXBsZScpOwoKICAgICAgICBzZWxmOjpsb2coJ0NyZWF0ZSA0IGluc3RhbmNlcyBvZiB0aGUgc2Vzc2lvbiBoYW5kbGVyJyk7CiAgICAgICAgJHNoTnVsbDEgPSBTZXNzaW9uSGFuZGxlcjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2R5bmFtb2RiX2NsaWVudCcgPT4gJHRoaXMtPmNsaWVudCwKICAgICAgICAgICAgJ3RhYmxlX25hbWUnICAgICAgPT4gJHRoaXMtPnRhYmxlCiAgICAgICAgKSk7CgogICAgICAgICRzaE51bGwyID0gU2Vzc2lvbkhhbmRsZXI6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdkeW5hbW9kYl9jbGllbnQnID0+ICR0aGlzLT5jbGllbnQsCiAgICAgICAgICAgICd0YWJsZV9uYW1lJyAgICAgID0+ICR0aGlzLT50YWJsZQogICAgICAgICkpOwoKICAgICAgICAkc2hQZXNzaW1pc3RpYzEgPSBTZXNzaW9uSGFuZGxlcjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2R5bmFtb2RiX2NsaWVudCcgICAgPT4gJHRoaXMtPmNsaWVudCwKICAgICAgICAgICAgJ3RhYmxlX25hbWUnICAgICAgICAgPT4gJHRoaXMtPnRhYmxlLAogICAgICAgICAgICAnbG9ja2luZ19zdHJhdGVneScgICA9PiAncGVzc2ltaXN0aWMnLAogICAgICAgICAgICAnbWF4X2xvY2tfd2FpdF90aW1lJyA9PiA2LAogICAgICAgICkpOwoKICAgICAgICAkc2hQZXNzaW1pc3RpYzIgPSBTZXNzaW9uSGFuZGxlcjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2R5bmFtb2RiX2NsaWVudCcgICAgPT4gJHRoaXMtPmNsaWVudCwKICAgICAgICAgICAgJ3RhYmxlX25hbWUnICAgICAgICAgPT4gJHRoaXMtPnRhYmxlLAogICAgICAgICAgICAnbG9ja2luZ19zdHJhdGVneScgICA9PiAncGVzc2ltaXN0aWMnLAogICAgICAgICAgICAnbWF4X2xvY2tfd2FpdF90aW1lJyA9PiA2LAogICAgICAgICkpOwoKICAgICAgICBzZWxmOjpsb2coJ1N0b3JlIHNvbWUgc2Vzc2lvbiBkYXRhIGZvciByZWFkaW5nJyk7CiAgICAgICAgJHRoaXMtPnNpbXVsYXRlU2Vzc2lvblN0YXJ0KCRzaE51bGwxKTsKICAgICAgICAkX1NFU1NJT05bJ2ZvbyddID0gJ2Jhcic7CiAgICAgICAgJHRoaXMtPnNpbXVsYXRlU2Vzc2lvbkNvbW1pdCgkc2hOdWxsMSk7CgogICAgICAgIHNlbGY6OmxvZygnTm9uLWxvY2tpbmcsIHNpbXVsdGFuZW91cyByZWFkcyBzaG91bGQgaGFwcGVuIGZhc3QnKTsKICAgICAgICAkc2hOdWxsVGltZSA9IG1pY3JvdGltZSh0cnVlKTsKICAgICAgICAkdGhpcy0+c2ltdWxhdGVTZXNzaW9uU3RhcnQoJHNoTnVsbDEpOwogICAgICAgICR0aGlzLT5zaW11bGF0ZVNlc3Npb25TdGFydCgkc2hOdWxsMik7CiAgICAgICAgJHRoaXMtPnNpbXVsYXRlU2Vzc2lvbkNvbW1pdCgkc2hOdWxsMSk7CiAgICAgICAgJHNoTnVsbFRpbWUgPSBtaWNyb3RpbWUodHJ1ZSkgLSAkc2hOdWxsVGltZTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TGVzc1RoYW4oMywgJHNoTnVsbFRpbWUsICdOdWxsIGxvY2tpbmcgc3RyYXRlZ3kgdG9vayBsb25nZXIgdGhhbiBleHBlY3RlZC4nKTsKCiAgICAgICAgc2VsZjo6bG9nKCdMb2NraW5nLCBzaW11bHRhbmVvdXMgcmVhZHMgc2hvdWxkIGJsb2NrIGFuZCB0aW1lb3V0Jyk7CiAgICAgICAgJHNoUGVzc2ltaXN0aWNUaW1lID0gbWljcm90aW1lKHRydWUpOwogICAgICAgICR0aGlzLT5zaW11bGF0ZVNlc3Npb25TdGFydCgkc2hQZXNzaW1pc3RpYzEpOwogICAgICAgICR0aGlzLT5zaW11bGF0ZVNlc3Npb25TdGFydCgkc2hQZXNzaW1pc3RpYzIpOwogICAgICAgICR0aGlzLT5zaW11bGF0ZVNlc3Npb25Db21taXQoJHNoUGVzc2ltaXN0aWMxKTsKICAgICAgICAkc2hQZXNzaW1pc3RpY1RpbWUgPSBtaWNyb3RpbWUodHJ1ZSkgLSAkc2hQZXNzaW1pc3RpY1RpbWU7CiAgICAgICAgJHRoaXMtPmFzc2VydEdyZWF0ZXJUaGFuKDUsICRzaFBlc3NpbWlzdGljVGltZSwgJ1Blc3NpbWlzdGljIGxvY2tpbmcgc3RyYXRlZ3kgb3BlcmF0ZWQgZmFzdGVyIHRoYW4gZXhwZWN0ZWQuIExvY2tpbmcgbWF5IG5vdCBiZSBvY2N1cnJpbmcuJyk7CgogICAgICAgIC8vIENsZWFuIHVwCiAgICAgICAgJHRoaXMtPnNpbXVsYXRlU2Vzc2lvblN0YXJ0KCRzaE51bGwxKTsKICAgICAgICAkdGhpcy0+c2ltdWxhdGVTZXNzaW9uRGVzdHJveSgkc2hOdWxsMSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBFbnN1cmVzIHRoYXQgZ2FyYmFnZSBjb2xsZWN0aW9uIGZ1bmN0aW9uYWxpdHkgaXMgd29ya2luZyBjb3JyZWN0bHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHYXJiYWdlQ29sbGVjdGlvbigpCiAgICB7CiAgICAgICAgJGN1cnJlbnRDb3VudCA9IGl0ZXJhdG9yX2NvdW50KCR0aGlzLT5jbGllbnQtPmdldEl0ZXJhdG9yKCdTY2FuJywgYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnID0+ICR0aGlzLT50YWJsZQogICAgICAgICkpKTsKCiAgICAgICAgc2VsZjo6bG9nKCdQdXQgMTAgZXhwaXJlZCBpdGVtcyBpbnRvIHRoZSBzZXNzaW9ucyB0YWJsZScpOwogICAgICAgICR3cml0ZUJhdGNoID0gV3JpdGVSZXF1ZXN0QmF0Y2g6OmZhY3RvcnkoJHRoaXMtPmNsaWVudCk7CiAgICAgICAgZm9yICgkaSA9IDE7ICRpIDw9IDEwOyAkaSsrKSB7CiAgICAgICAgICAgICR3cml0ZUJhdGNoLT5hZGQobmV3IFB1dFJlcXVlc3QoSXRlbTo6ZnJvbUFycmF5KGFycmF5KAogICAgICAgICAgICAgICAgJ2lkJyAgICAgID0+ICJleGFtcGxlX3skaX0iLAogICAgICAgICAgICAgICAgJ2V4cGlyZXMnID0+IHRpbWUoKSAtIDUgKiBUaW1lOjpTRUNPTkRTCiAgICAgICAgICAgICkpLCAkdGhpcy0+dGFibGUpKTsKICAgICAgICB9CiAgICAgICAgJHdyaXRlQmF0Y2gtPmZsdXNoKCk7CgogICAgICAgIHNlbGY6OmxvZygnQXNzZXJ0IHRoYXQgYWxsIDEwIGl0ZW1zIG1hZGUgaXQgaW50byB0aGUgc2Vzc2lvbnMgdGFibGUnKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnU2NhbicsIGFycmF5KAogICAgICAgICAgICAnVGFibGVOYW1lJyA9PiAkdGhpcy0+dGFibGUKICAgICAgICApKS0+ZXhlY3V0ZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTAgKyAkY3VycmVudENvdW50LCAkcmVzdWx0WydDb3VudCddLCAnTm90IGFsbCBvZiB0aGUgaXRlbXMgd2VyZSBpbnNlcnRlZC4nKTsKCiAgICAgICAgc2VsZjo6bG9nKCdDcmVhdGUgYSBzZXNzaW9uIGhhbmRsZXIgdG8gdXNlIHdpdGggYSBsb3dlciBiYXRjaCBzaXplJyk7CiAgICAgICAgJHNoID0gU2Vzc2lvbkhhbmRsZXI6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdkeW5hbW9kYl9jbGllbnQnICAgID0+ICR0aGlzLT5jbGllbnQsCiAgICAgICAgICAgICd0YWJsZV9uYW1lJyAgICAgICAgID0+ICR0aGlzLT50YWJsZSwKICAgICAgICAgICAgJ2djX2JhdGNoX3NpemUnICAgICAgPT4gMywgLy8gU21hbGxlciBiYXRjaGVzIHRvIHRlc3QgYmF0Y2hpbmcgd29ya3MKICAgICAgICAgICAgJ2djX29wZXJhdGlvbl9kZWxheScgPT4gMywgLy8gU2xlZXAgMyBzZWNvbmRzIGluIGJldHdlZW4gb3BlcmF0aW9ucwogICAgICAgICkpOwoKICAgICAgICBzZWxmOjpsb2coJ1J1biB0aGUgZ2FyYmFnZSBjb2xsZWN0aW9uJyk7CiAgICAgICAgJGdjVGltZSA9IG1pY3JvdGltZSh0cnVlKTsKICAgICAgICAkc2gtPmdhcmJhZ2VDb2xsZWN0KCk7CiAgICAgICAgJGdjVGltZSA9IG1pY3JvdGltZSh0cnVlKSAtICRnY1RpbWU7CiAgICAgICAgJHRoaXMtPmFzc2VydEdyZWF0ZXJUaGFuKDEyLCAkZ2NUaW1lLCAnVGhlIGVudGlyZSBnYXJiYWdlIGNvbGxlY3Rpb24gcHJvY2VzcyBzaG91bGQgdGFrZSB+MTUrIHNlY29uZHMuJyk7CgogICAgICAgIHNlbGY6OmxvZygnQXNzZXJ0IHRoYXQgYWxsIDEwIGl0ZW1zIHdlcmUgZGVsZXRlZCBmcm9tIHRoZSBzZXNzaW9ucyB0YWJsZScpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdTY2FuJywgYXJyYXkoCiAgICAgICAgICAgICdUYWJsZU5hbWUnID0+ICR0aGlzLT50YWJsZQogICAgICAgICkpLT5leGVjdXRlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCAkcmVzdWx0WydDb3VudCddLCAnTm90IGFsbCBvZiB0aGUgaXRlbXMgd2VyZSByZW1vdmVkLicpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzaW11bGF0ZVNlc3Npb25TdGFydChTZXNzaW9uSGFuZGxlciAkaGFuZGxlcikKICAgIHsKICAgICAgICAkaGFuZGxlci0+b3BlbignZHVtbXknLCAndGVzdCcpOwogICAgICAgICRkYXRhID0gJGhhbmRsZXItPnJlYWQoJ2V4YW1wbGUnKTsKICAgICAgICAkX1NFU1NJT04gPSB1bnNlcmlhbGl6ZSgkZGF0YSkgPzogYXJyYXkoKTsgLy8gSW5zdGVhZCBvZiBzZXNzaW9uX2RlY29kZQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzaW11bGF0ZVNlc3Npb25Db21taXQoU2Vzc2lvbkhhbmRsZXIgJGhhbmRsZXIpCiAgICB7CiAgICAgICAgJGRhdGEgPSBzZXJpYWxpemUoJF9TRVNTSU9OKTsgLy8gSW5zdGVhZCBvZiBzZXNzaW9uX2VuY29kZQogICAgICAgICRoYW5kbGVyLT53cml0ZSgnZXhhbXBsZScsICRkYXRhKTsKICAgICAgICAkaGFuZGxlci0+Y2xvc2UoKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2ltdWxhdGVTZXNzaW9uRGVzdHJveShTZXNzaW9uSGFuZGxlciAkaGFuZGxlcikKICAgIHsKICAgICAgICAkaGFuZGxlci0+ZGVzdHJveSgnZXhhbXBsZScpOwogICAgICAgICRoYW5kbGVyLT5jbG9zZSgpOwogICAgfQoKICAgIHByb3RlY3RlZCBzdGF0aWMgZnVuY3Rpb24gZGVsZXRlU2Vzc2lvbnNUYWJsZSgpCiAgICB7CiAgICAgICAgJHRhYmxlICA9IHNlbGY6OmdldFJlc291cmNlUHJlZml4KCkgLiAnLXBocC1zZXNzaW9ucy10ZXN0JzsKICAgICAgICAkY2xpZW50ID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdkeW5hbW9kYicpOwoKICAgICAgICBzZWxmOjpsb2coIiMgQXR0ZW1wdGluZyB0byBkZWxldGUgeyR0YWJsZX0iKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJGNsaWVudC0+ZGVzY3JpYmVUYWJsZShhcnJheSgnVGFibGVOYW1lJyA9PiAkdGFibGUpKTsKICAgICAgICAgICAgLy8gV2FpdCB1bnRpbCB0aGUgdGFibGUgaXMgYWN0aXZlCiAgICAgICAgICAgIHNlbGY6OmxvZygnVGFibGUgZXhpc3RzLiBXYWl0aW5nIHVudGlsIHRoZSBzdGF0dXMgaXMgQUNUSVZFJyk7CiAgICAgICAgICAgICRjbGllbnQtPndhaXRVbnRpbCgndGFibGVfZXhpc3RzJywgYXJyYXkoJ1RhYmxlTmFtZScgPT4gJHRhYmxlKSk7CiAgICAgICAgICAgIC8vIERlbGV0ZSB0aGUgdGFibGUgdG8gY2xlYXIgb3V0IGl0cyBjb250ZW50cwogICAgICAgICAgICBzZWxmOjpsb2coJ0RlbGV0aW5nIHRoZSB0YWJsZScpOwogICAgICAgICAgICAkY2xpZW50LT5kZWxldGVUYWJsZShhcnJheSgnVGFibGVOYW1lJyA9PiAkdGFibGUpKTsKICAgICAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsKCd0YWJsZV9ub3RfZXhpc3RzJywgYXJyYXkoJ1RhYmxlTmFtZScgPT4gJHRhYmxlKSk7CiAgICAgICAgfSBjYXRjaCAoUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAvLyBUaGUgdGFibGUgZG9lcyBub3QgZXhpc3Qgc28gd2UgYXJlIGdvb2QKICAgICAgICB9CgogICAgICAgIHNlbGY6OmxvZygieyR0YWJsZX0gaGFzIGJlZW4gZGVsZXRlZC4iKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Session/LockingStrategy/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Session/LockingStrategy/AbstractLockingStrategyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3k7Cgp1c2UgQXdzXFRlc3RzXER5bmFtb0RiXFNlc3Npb25cQWJzdHJhY3RTZXNzaW9uVGVzdENhc2U7CnVzZSBBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3lcQWJzdHJhY3RMb2NraW5nU3RyYXRlZ3k7CgpjbGFzcyBBYnN0cmFjdExvY2tpbmdTdHJhdGVneVRlc3QgZXh0ZW5kcyBBYnN0cmFjdFNlc3Npb25UZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VGVzdENhc2VzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KCdBTllUSElORycsIHRydWUpLAogICAgICAgICAgICBhcnJheShuZXcgXEF3c1xEeW5hbW9EYlxFeGNlcHRpb25cRHluYW1vRGJFeGNlcHRpb24sIGZhbHNlKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xEeW5hbW9EYlxTZXNzaW9uXExvY2tpbmdTdHJhdGVneVxBYnN0cmFjdExvY2tpbmdTdHJhdGVneTo6ZG9EZXN0cm95CiAgICAgKiBAY292ZXJzIEF3c1xEeW5hbW9EYlxTZXNzaW9uXExvY2tpbmdTdHJhdGVneVxBYnN0cmFjdExvY2tpbmdTdHJhdGVneTo6X19jb25zdHJ1Y3QKICAgICAqIEBkYXRhUHJvdmlkZXIgZ2V0VGVzdENhc2VzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9EZXN0cm95V29ya3NDb3JyZWN0bHkoJGNvbW1hbmRSZXN1bHQsICRleHBlY3RlZEl0ZW0pCiAgICB7CiAgICAgICAgLy8gUHJlcGFyZSBtb2NrcwogICAgICAgICRjbGllbnQgICA9ICR0aGlzLT5nZXRNb2NrZWRDbGllbnQoKTsKICAgICAgICAkY29uZmlnICAgPSAkdGhpcy0+Z2V0TW9ja2VkQ29uZmlnKCk7CiAgICAgICAgJGNvbW1hbmQgID0gJHRoaXMtPmdldE1vY2tlZENvbW1hbmQoJGNsaWVudCk7CgogICAgICAgIGlmICgkY29tbWFuZFJlc3VsdCBpbnN0YW5jZW9mIFxFeGNlcHRpb24pIHsKICAgICAgICAgICAgJHdpbGwgPSAkdGhpcy0+dGhyb3dFeGNlcHRpb24oJGNvbW1hbmRSZXN1bHQpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR3aWxsID0gJHRoaXMtPnJldHVyblZhbHVlKCRjb21tYW5kUmVzdWx0KTsKICAgICAgICB9CiAgICAgICAgJGNvbW1hbmQtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZXhlY3V0ZScpCiAgICAgICAgICAgIC0+d2lsbCgkd2lsbCk7CgogICAgICAgIC8vIFRlc3QgdGhlIGRvUmVhZCBtZXRob2QKICAgICAgICAkc3RyYXRlZ3kgPSAkdGhpcy0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoCiAgICAgICAgICAgICdBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3lcQWJzdHJhY3RMb2NraW5nU3RyYXRlZ3knLAogICAgICAgICAgICBhcnJheSgkY2xpZW50LCAkY29uZmlnKQogICAgICAgICk7CiAgICAgICAgJGl0ZW0gPSAkc3RyYXRlZ3ktPmRvRGVzdHJveSgndGVzdCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRleHBlY3RlZEl0ZW0sICRpdGVtKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXFNlc3Npb25cTG9ja2luZ1N0cmF0ZWd5XEFic3RyYWN0TG9ja2luZ1N0cmF0ZWd5Ojpkb1dyaXRlCiAgICAgKiBAZGF0YVByb3ZpZGVyIGdldFRlc3RDYXNlcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvV3JpdGVXb3Jrc0NvcnJlY3RseSgkY29tbWFuZFJlc3VsdCwgJGV4cGVjdGVkSXRlbSkKICAgIHsKICAgICAgICAvLyBQcmVwYXJlIG1vY2tzCiAgICAgICAgJGNsaWVudCAgID0gJHRoaXMtPmdldE1vY2tlZENsaWVudCgpOwogICAgICAgICRjb25maWcgICA9ICR0aGlzLT5nZXRNb2NrZWRDb25maWcoKTsKICAgICAgICAkY29tbWFuZCAgPSAkdGhpcy0+Z2V0TW9ja2VkQ29tbWFuZCgkY2xpZW50KTsKCiAgICAgICAgaWYgKCRjb21tYW5kUmVzdWx0IGluc3RhbmNlb2YgXEV4Y2VwdGlvbikgewogICAgICAgICAgICAkd2lsbCA9ICR0aGlzLT50aHJvd0V4Y2VwdGlvbigkY29tbWFuZFJlc3VsdCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHdpbGwgPSAkdGhpcy0+cmV0dXJuVmFsdWUoJGNvbW1hbmRSZXN1bHQpOwogICAgICAgIH0KICAgICAgICAkY29tbWFuZC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdleGVjdXRlJykKICAgICAgICAgICAgLT53aWxsKCR3aWxsKTsKCiAgICAgICAgLy8gVGVzdCB0aGUgZG9SZWFkIG1ldGhvZAogICAgICAgICRzdHJhdGVneSA9ICR0aGlzLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygKICAgICAgICAgICAgJ0F3c1xEeW5hbW9EYlxTZXNzaW9uXExvY2tpbmdTdHJhdGVneVxBYnN0cmFjdExvY2tpbmdTdHJhdGVneScsCiAgICAgICAgICAgIGFycmF5KCRjbGllbnQsICRjb25maWcpCiAgICAgICAgKTsKICAgICAgICAkc3RyYXRlZ3ktPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0RXh0cmFBdHRyaWJ1dGVzJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShhcnJheSgpKSk7CgogICAgICAgICRpdGVtID0gJHN0cmF0ZWd5LT5kb1dyaXRlKCd0ZXN0JywgJ0FOWVRISU5HJywgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGV4cGVjdGVkSXRlbSwgJGl0ZW0pOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Session/LockingStrategy/LockingStrategyFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3k7Cgp1c2UgQXdzXFRlc3RzXER5bmFtb0RiXFNlc3Npb25cQWJzdHJhY3RTZXNzaW9uVGVzdENhc2U7CnVzZSBBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3lcTG9ja2luZ1N0cmF0ZWd5RmFjdG9yeTsKCi8qKgogKiBAY292ZXJzIEF3c1xEeW5hbW9EYlxTZXNzaW9uXExvY2tpbmdTdHJhdGVneVxMb2NraW5nU3RyYXRlZ3lGYWN0b3J5CiAqLwpjbGFzcyBMb2NraW5nU3RyYXRlZ3lGYWN0b3J5VGVzdCBleHRlbmRzIEFic3RyYWN0U2Vzc2lvblRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGYWN0b3J5VGVzdENhc2VzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KG51bGwsICAgICAgICAgICdBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3lcTG9ja2luZ1N0cmF0ZWd5SW50ZXJmYWNlJyksCiAgICAgICAgICAgIGFycmF5KCdudWxsJywgICAgICAgICdBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3lcTG9ja2luZ1N0cmF0ZWd5SW50ZXJmYWNlJyksCiAgICAgICAgICAgIGFycmF5KCdwZXNzaW1pc3RpYycsICdBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3lcTG9ja2luZ1N0cmF0ZWd5SW50ZXJmYWNlJyksCiAgICAgICAgICAgIGFycmF5KCdmb28nLCAgICAgICAgICdBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24nKSwKICAgICAgICAgICAgYXJyYXkoNSwgICAgICAgICAgICAgJ0F3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicpCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgZ2V0RmFjdG9yeVRlc3RDYXNlcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhY3RvcnlXb3Jrc0NvcnJlY3RseSgkc3RyYXRlZ3lOYW1lLCAkY2xhc3MpCiAgICB7CiAgICAgICAgLy8gU2V0dXAgbW9ja3MKICAgICAgICAkY29uZmlnID0gJHRoaXMtPmdldE1vY2tlZENvbmZpZygpOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0TW9ja2VkQ2xpZW50KCk7CiAgICAgICAgJGNvbmZpZy0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVybkNhbGxiYWNrKGZ1bmN0aW9uICgka2V5KSB1c2UgKCRjbGllbnQpIHsKICAgICAgICAgICAgICAgIHJldHVybiAoJGtleSA9PT0gJ2R5bmFtb2RiX2NsaWVudCcpID8gJGNsaWVudCA6IG51bGw7CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgJGZhY3RvcnkgPSBuZXcgTG9ja2luZ1N0cmF0ZWd5RmFjdG9yeSgnQXdzXER5bmFtb0RiXFNlc3Npb25cTG9ja2luZ1N0cmF0ZWd5Jyk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRzdHJhdGVneSA9ICRmYWN0b3J5LT5mYWN0b3J5KCRzdHJhdGVneU5hbWUsICRjb25maWcpOwogICAgICAgIH0gY2F0Y2ggKFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgJHN0cmF0ZWd5ID0gJGU7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZigkY2xhc3MsICRzdHJhdGVneSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Session/LockingStrategy/NullLockingStrategyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3k7Cgp1c2UgQXdzXFRlc3RzXER5bmFtb0RiXFNlc3Npb25cQWJzdHJhY3RTZXNzaW9uVGVzdENhc2U7CnVzZSBBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3lcTnVsbExvY2tpbmdTdHJhdGVneTsKCmNsYXNzIE51bGxMb2NraW5nU3RyYXRlZ3lUZXN0IGV4dGVuZHMgQWJzdHJhY3RTZXNzaW9uVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIGdldERvUmVhZFRlc3RDYXNlcygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAvLyBUZXN0IGNhc2UgMQogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdJdGVtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUycgPT4gJ2JhcicKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2ZvbycgPT4gJ2JhcicKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gVGVzdCBjYXNlIDIKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBuZXcgXEF3c1xEeW5hbW9EYlxFeGNlcHRpb25cRHluYW1vRGJFeGNlcHRpb24sCiAgICAgICAgICAgICAgICBhcnJheSgpCiAgICAgICAgICAgICkKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3lcTnVsbExvY2tpbmdTdHJhdGVneTo6ZG9SZWFkCiAgICAgKiBAZGF0YVByb3ZpZGVyIGdldERvUmVhZFRlc3RDYXNlcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvUmVhZFdvcmtzQ29ycmVjdGx5KCRjb21tYW5kUmVzdWx0LCAkZXhwZWN0ZWRJdGVtKQogICAgewogICAgICAgIC8vIFByZXBhcmUgbW9ja3MKICAgICAgICAkY2xpZW50ICA9ICR0aGlzLT5nZXRNb2NrZWRDbGllbnQoKTsKICAgICAgICAkY29uZmlnICA9ICR0aGlzLT5nZXRNb2NrZWRDb25maWcoKTsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrZWRDb21tYW5kKCRjbGllbnQpOwoKICAgICAgICBpZiAoJGNvbW1hbmRSZXN1bHQgaW5zdGFuY2VvZiBcRXhjZXB0aW9uKSB7CiAgICAgICAgICAgICR3aWxsID0gJHRoaXMtPnRocm93RXhjZXB0aW9uKCRjb21tYW5kUmVzdWx0KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkd2lsbCA9ICR0aGlzLT5yZXR1cm5WYWx1ZSgkY29tbWFuZFJlc3VsdCk7CiAgICAgICAgfQogICAgICAgICRjb21tYW5kLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2V4ZWN1dGUnKQogICAgICAgICAgICAtPndpbGwoJHdpbGwpOwoKICAgICAgICAvLyBUZXN0IHRoZSBkb1JlYWQgbWV0aG9kCiAgICAgICAgJHN0cmF0ZWd5ID0gbmV3IE51bGxMb2NraW5nU3RyYXRlZ3koJGNsaWVudCwgJGNvbmZpZyk7CiAgICAgICAgJGl0ZW0gPSAkc3RyYXRlZ3ktPmRvUmVhZCgndGVzdCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRleHBlY3RlZEl0ZW0sICRpdGVtKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Session/LockingStrategy/PessimisticLockingStrategyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3k7Cgp1c2UgQXdzXFRlc3RzXER5bmFtb0RiXFNlc3Npb25cQWJzdHJhY3RTZXNzaW9uVGVzdENhc2U7CnVzZSBBd3NcRHluYW1vRGJcU2Vzc2lvblxMb2NraW5nU3RyYXRlZ3lcUGVzc2ltaXN0aWNMb2NraW5nU3RyYXRlZ3k7CgpjbGFzcyBQZXNzaW1pc3RpY0xvY2tpbmdTdHJhdGVneVRlc3QgZXh0ZW5kcyBBYnN0cmFjdFNlc3Npb25UZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXFNlc3Npb25cTG9ja2luZ1N0cmF0ZWd5XFBlc3NpbWlzdGljTG9ja2luZ1N0cmF0ZWd5Ojpkb1JlYWQKICAgICAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXFNlc3Npb25cTG9ja2luZ1N0cmF0ZWd5XFBlc3NpbWlzdGljTG9ja2luZ1N0cmF0ZWd5OjpfX2NvbnN0cnVjdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvUmVhZFdvcmtzQ29ycmVjdGx5KCkKICAgIHsKICAgICAgICAvLyBQcmVwYXJlIG1vY2tzCiAgICAgICAgJGNsaWVudCAgPSAkdGhpcy0+Z2V0TW9ja2VkQ2xpZW50KCk7CiAgICAgICAgJGNvbmZpZyAgPSAkdGhpcy0+Z2V0TW9ja2VkQ29uZmlnKCk7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0TW9ja2VkQ29tbWFuZCgkY2xpZW50KTsKCiAgICAgICAgJGNvbmZpZy0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVybkNhbGxiYWNrKGZ1bmN0aW9uICgka2V5KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKCRrZXkgPT09ICdtYXhfbG9ja193YWl0X3RpbWUnKSA/IDEwIDogbnVsbDsKICAgICAgICAgICAgfSkpOwoKICAgICAgICAkY29tbWFuZC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdleGVjdXRlJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5DYWxsYmFjayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBzdGF0aWMgJGNhbGxzID0gMDsKCiAgICAgICAgICAgICAgICAvLyBTaW11bGF0ZSBsb2NrIGFjcXVpc2l0aW9uIGZhaWx1cmVzCiAgICAgICAgICAgICAgICBpZiAoJGNhbGxzKysgPCA1KSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxBd3NcRHluYW1vRGJcRXhjZXB0aW9uXENvbmRpdGlvbmFsQ2hlY2tGYWlsZWRFeGNlcHRpb247CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MnID0+ICdiYXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkpOwoKICAgICAgICAvLyBUZXN0IHRoZSBkb1JlYWQgbWV0aG9kCiAgICAgICAgJHN0cmF0ZWd5ID0gbmV3IFBlc3NpbWlzdGljTG9ja2luZ1N0cmF0ZWd5KCRjbGllbnQsICRjb25maWcpOwogICAgICAgICRpdGVtID0gJHN0cmF0ZWd5LT5kb1JlYWQoJ3Rlc3QnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZShhcnJheSgnZm9vJyA9PiAnYmFyJyksICRpdGVtKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXFNlc3Npb25cTG9ja2luZ1N0cmF0ZWd5XFBlc3NpbWlzdGljTG9ja2luZ1N0cmF0ZWd5Ojpkb1JlYWQKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBBd3NcRHluYW1vRGJcRXhjZXB0aW9uL0FjY2Vzc0RlbmllZEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlYWRGYWlsc0Zvck90aGVyNDAwRXJyb3JzKCkKICAgIHsKICAgICAgICAvLyBQcmVwYXJlIG1vY2tzCiAgICAgICAgJGNsaWVudCAgPSAkdGhpcy0+Z2V0TW9ja2VkQ2xpZW50KCk7CiAgICAgICAgJGNvbmZpZyAgPSAkdGhpcy0+Z2V0TW9ja2VkQ29uZmlnKCk7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0TW9ja2VkQ29tbWFuZCgkY2xpZW50KTsKICAgICAgICAkY29tbWFuZC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdleGVjdXRlJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT50aHJvd0V4Y2VwdGlvbihuZXcgXEF3c1xEeW5hbW9EYlxFeGNlcHRpb25cQWNjZXNzRGVuaWVkRXhjZXB0aW9uKCkpKTsKCiAgICAgICAgLy8gVGVzdCB0aGUgZG9SZWFkIG1ldGhvZAogICAgICAgICRzdHJhdGVneSA9IG5ldyBQZXNzaW1pc3RpY0xvY2tpbmdTdHJhdGVneSgkY2xpZW50LCAkY29uZmlnKTsKICAgICAgICAkc3RyYXRlZ3ktPmRvUmVhZCgndGVzdCcpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Session/SessionHandlerConfigTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcU2Vzc2lvbjsKCnVzZSBBd3NcVGVzdHNcRHluYW1vRGJcU2Vzc2lvblxBYnN0cmFjdFNlc3Npb25UZXN0Q2FzZTsKdXNlIEF3c1xEeW5hbW9EYlxTZXNzaW9uXFNlc3Npb25IYW5kbGVyQ29uZmlnOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXFNlc3Npb25cU2Vzc2lvbkhhbmRsZXJDb25maWcKICovCmNsYXNzIFNlc3Npb25IYW5kbGVyQ29uZmlnVGVzdCBleHRlbmRzIEFic3RyYWN0U2Vzc2lvblRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb25zdHJ1Y3RvclRlc3RDYXNlcygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkeW5hbW9kYl9jbGllbnQnID0+ICR0aGlzLT5nZXRNb2NrZWRDbGllbnQoKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBd3NcRHluYW1vRGJcU2Vzc2lvblxTZXNzaW9uSGFuZGxlckNvbmZpZycKICAgICAgICAgICAgKSwKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgpLAogICAgICAgICAgICAgICAgJ0F3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicKICAgICAgICAgICAgKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGdldENvbnN0cnVjdG9yVGVzdENhc2VzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3JQcm9wZXJseUNyZWF0ZXNDb25maWcoYXJyYXkgJGRhdGEsICRleHBlY3RlZENsYXNzKQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRjb25maWcgPSBuZXcgU2Vzc2lvbkhhbmRsZXJDb25maWcoJGRhdGEpOwogICAgICAgIH0gY2F0Y2ggKFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgJGNvbmZpZyA9ICRlOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJGV4cGVjdGVkQ2xhc3MsICRjb25maWcpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkRGVmYXVsdHNQZXJmb3Jtc01lcmdlUHJvcGVybHkoKQogICAgewogICAgICAgICRjb25maWcgPSBuZXcgU2Vzc2lvbkhhbmRsZXJDb25maWcoYXJyYXkoCiAgICAgICAgICAgICdkeW5hbW9kYl9jbGllbnQnID0+ICR0aGlzLT5nZXRNb2NrZWRDbGllbnQoKQogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkY29uZmlnLT5nZXQoJ2Zvb19iYXInKSk7CiAgICAgICAgJGNvbmZpZy0+YWRkRGVmYXVsdHMoYXJyYXkoJ2Zvb19iYXInID0+ICdiYXonKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmF6JywgJGNvbmZpZy0+Z2V0KCdmb29fYmFyJykpOwogICAgICAgICRjb25maWctPmFkZERlZmF1bHRzKGFycmF5KCdmb29fYmFyJyA9PiAnQ0hBTkdFRCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXonLCAkY29uZmlnLT5nZXQoJ2Zvb19iYXInKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Session/SessionHandlerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcU2Vzc2lvbjsKCnVzZSBBd3NcVGVzdHNcRHluYW1vRGJcU2Vzc2lvblxBYnN0cmFjdFNlc3Npb25UZXN0Q2FzZTsKdXNlIEF3c1xEeW5hbW9EYlxTZXNzaW9uXFNlc3Npb25IYW5kbGVyOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXER5bmFtb0RiXFNlc3Npb25cU2Vzc2lvbkhhbmRsZXIKICovCmNsYXNzIFNlc3Npb25IYW5kbGVyVGVzdCBleHRlbmRzIEFic3RyYWN0U2Vzc2lvblRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQHZhciBTZXNzaW9uSGFuZGxlciBUaGUgaGFuZGxlciB1bmRlciB0ZXN0CiAgICAgKi8KICAgIHByb3RlY3RlZCAkaGFuZGxlcjsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICRjbGllbnQgICA9ICR0aGlzLT5nZXRNb2NrZWRDbGllbnQoKTsKICAgICAgICAkc3RyYXRlZ3kgPSAkdGhpcy0+Z2V0TW9jaygnQXdzXER5bmFtb0RiXFNlc3Npb25cTG9ja2luZ1N0cmF0ZWd5XExvY2tpbmdTdHJhdGVneUludGVyZmFjZScpOwogICAgICAgICR0aGlzLT5oYW5kbGVyID0gU2Vzc2lvbkhhbmRsZXI6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdkeW5hbW9kYl9jbGllbnQnICA9PiAkY2xpZW50LAogICAgICAgICAgICAnbG9ja2luZ19zdHJhdGVneScgPT4gJHN0cmF0ZWd5LAogICAgICAgICkpOwoKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrZWRDb21tYW5kKCRjbGllbnQpOwogICAgICAgICRjb21tYW5kLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAtPm1ldGhvZCgnZXhlY3V0ZScpCiAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShhcnJheSgnZm9vJyA9PiAnYmFyJykpKTsKCiAgICAgICAgJGNsaWVudC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgLT5tZXRob2QoJ2dldEl0ZXJhdG9yJykKICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKGFycmF5KCkpKTsKCiAgICAgICAgJHN0cmF0ZWd5LT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2RvUmVhZCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoYXJyYXkoCiAgICAgICAgICAgICAgICAnZXhwaXJlcycgPT4gdGltZSgpIC0gNSwKICAgICAgICAgICAgICAgICdkYXRhJyA9PiAnQU5ZVEhJTkcnCiAgICAgICAgICAgICkpKTsKICAgICAgICAkc3RyYXRlZ3ktPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZG9Xcml0ZScpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUodHJ1ZSkpOwogICAgICAgICRzdHJhdGVneS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdkb0Rlc3Ryb3knKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKHRydWUpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhY3RvcnlDcmVhdGVzSW5zdGFuY2VDb3JyZWN0bHkoKQogICAgewogICAgICAgICRjbGllbnQgICA9ICR0aGlzLT5nZXRNb2NrZWRDbGllbnQoKTsKICAgICAgICAkc3RyYXRlZ3kgPSAkdGhpcy0+Z2V0TW9jaygnQXdzXER5bmFtb0RiXFNlc3Npb25cTG9ja2luZ1N0cmF0ZWd5XExvY2tpbmdTdHJhdGVneUludGVyZmFjZScpOwoKICAgICAgICAkc2gxID0gU2Vzc2lvbkhhbmRsZXI6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdkeW5hbW9kYl9jbGllbnQnID0+ICRjbGllbnQKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXER5bmFtb0RiXFNlc3Npb25cU2Vzc2lvbkhhbmRsZXInLCAkc2gxKTsKCiAgICAgICAgJHNoMiA9IFNlc3Npb25IYW5kbGVyOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnZHluYW1vZGJfY2xpZW50JyAgPT4gJGNsaWVudCwKICAgICAgICAgICAgJ2xvY2tpbmdfc3RyYXRlZ3knID0+ICRzdHJhdGVneQogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcRHluYW1vRGJcU2Vzc2lvblxTZXNzaW9uSGFuZGxlcicsICRzaDIpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVnaXN0ZXJTZXRzU2Vzc2lvblNhdmVIYW5kbGVyQW5kSW5pU2V0dGluZ3MoKQogICAgewogICAgICAgIGluaV9zZXQoJ3Nlc3Npb24uZ2NfcHJvYmFiaWxpdHknLCAnMCcpOwoKICAgICAgICAkaGFuZGxlciA9IFNlc3Npb25IYW5kbGVyOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnZHluYW1vZGJfY2xpZW50JyA9PiAkdGhpcy0+Z2V0TW9ja2VkQ2xpZW50KCksCiAgICAgICAgICAgICdhdXRvbWF0aWNfZ2MnICAgID0+IHRydWUKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGhhbmRsZXItPnJlZ2lzdGVyKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEnLCBpbmlfZ2V0KCdzZXNzaW9uLmdjX3Byb2JhYmlsaXR5JykpOwoKICAgICAgICBpbmlfc2V0KCdzZXNzaW9uLmdjX3Byb2JhYmlsaXR5JywgJzAnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZVNlc3Npb25zVGFibGUoKQogICAgewogICAgICAgIC8vIEZvciBjb2RlIGNvdmVyYWdlJ3Mgc2FrZS4gU2VlIGludGVncmF0aW9uIHRlc3QuCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5oYW5kbGVyLT5jcmVhdGVTZXNzaW9uc1RhYmxlKDEwLCA1KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmb28nID0+ICdiYXInKSwgJHJlc3VsdCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZXNzaW9uT3BlbkFuZENsb3NlQXJlU3VjY2Vzc2Z1bCgpCiAgICB7CiAgICAgICAgc2Vzc2lvbl9pZCgndGVzdCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+aGFuZGxlci0+aXNTZXNzaW9uT3BlbigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+aGFuZGxlci0+b3BlbigndGVzdCcsICdleGFtcGxlJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5oYW5kbGVyLT5pc1Nlc3Npb25PcGVuKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5oYW5kbGVyLT5jbG9zZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHRoaXMtPmhhbmRsZXItPmlzU2Vzc2lvbk9wZW4oKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZXNzaW9uUmVhZEFuZERlbGV0ZUV4cGlyZWRJdGVtKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+aGFuZGxlci0+b3BlbigndGVzdCcsICdleGFtcGxlJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCcnLCAkdGhpcy0+aGFuZGxlci0+cmVhZCgndGVzdCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNlc3Npb25Xcml0ZURhdGEoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5oYW5kbGVyLT5vcGVuKCd0ZXN0JywgJ2V4YW1wbGUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmhhbmRsZXItPndyaXRlKCd0ZXN0JywgJ0FOWVRISU5HJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2Vzc2lvbkdhcmJhZ2VDb2xsZWN0aW9uKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+aGFuZGxlci0+Z2MoJ0FOWVRISU5HJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2Vzc2lvbkdhcmJhZ2VDb2xsZWN0aW9uUmV0dXJuc0ZhbHNlT25FeGNlcHRpb24oKQogICAgewogICAgICAgICRoYW5kbGVyID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcRHluYW1vRGJcU2Vzc2lvblxTZXNzaW9uSGFuZGxlcicpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2dhcmJhZ2VDb2xsZWN0JykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICRoYW5kbGVyLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dhcmJhZ2VDb2xsZWN0JykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT50aHJvd0V4Y2VwdGlvbihuZXcgXEV4Y2VwdGlvbikpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGhhbmRsZXItPmdjKCdBTllUSElORycpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Waiter/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Waiter/AbstractWaiterTestCase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcV2FpdGVyOwoKYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RXYWl0ZXJUZXN0Q2FzZSBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAcmV0dXJuIFxBd3NcRHluYW1vRGJcRHluYW1vRGJDbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldENsaWVudCgpCiAgICB7CiAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBcQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50ICovCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2R5bmFtb2RiJywgdHJ1ZSk7CiAgICAgICAgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKQogICAgICAgICAgICAtPnNldFNlY3VyaXR5VG9rZW4oJ2ZvbycpCiAgICAgICAgICAgIC0+c2V0RXhwaXJhdGlvbih0aW1lKCkgKyAxMDAwKTsKCiAgICAgICAgcmV0dXJuICRjbGllbnQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Waiter/TableExistsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcV2FpdGVyOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcUGx1Z2luXE1vY2tcTW9ja1BsdWdpbjsKCmNsYXNzIFRhYmxlRXhpc3RzVGVzdCBleHRlbmRzIEFic3RyYWN0V2FpdGVyVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zVHJ1ZUlmVGFibGVFeGlzdHMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0Q2xpZW50KCk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCAnZHluYW1vZGIvZGVzY3JpYmVfdGFibGUnKTsKICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ3RhYmxlX2V4aXN0cycsIGFycmF5KCdUYWJsZU5hbWUnID0+ICdmb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zVHJ1ZUlmVGFibGVFeGlzdHNBbmRIYXNTdGF0dXNNYXRjaGluZygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRDbGllbnQoKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsICdkeW5hbW9kYi9kZXNjcmliZV90YWJsZScpOwogICAgICAgICRjbGllbnQtPndhaXRVbnRpbCgndGFibGVfZXhpc3RzJywgYXJyYXkoJ1RhYmxlTmFtZScgPT4gJ2ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEJ1ZmZlcnNSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9ucygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRDbGllbnQoKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KCdkeW5hbW9kYi9kZXNjcmliZV90YWJsZV9ub3RfZm91bmQnLCAnZHluYW1vZGIvZGVzY3JpYmVfdGFibGUnKSk7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsKCd0YWJsZV9leGlzdHMnLCBhcnJheSgnVGFibGVOYW1lJyA9PiAnZm9vYmF6YmFyJywgJ3dhaXRlci5pbnRlcnZhbCcgPT4gMCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJHRoaXMtPmdldE1vY2tlZFJlcXVlc3RzKCkpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvZXNOb3RCdWZmZXJPdGhlckV4Y2VwdGlvbnMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0Q2xpZW50KCk7CiAgICAgICAgJG1vY2sgPSBuZXcgTW9ja1BsdWdpbihhcnJheSgKICAgICAgICAgICAgbmV3IFJlc3BvbnNlKDQwNCkKICAgICAgICApKTsKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkU3Vic2NyaWJlcigkbW9jayk7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsKCd0YWJsZV9leGlzdHMnLCBhcnJheSgnVGFibGVOYW1lJyA9PiAnZm9vJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/DynamoDb/Waiter/TableNotExistsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRHluYW1vRGJcV2FpdGVyOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcUGx1Z2luXE1vY2tcTW9ja1BsdWdpbjsKCmNsYXNzIFRhYmxlTm90RXhpc3RzVGVzdCBleHRlbmRzIEFic3RyYWN0V2FpdGVyVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zRmFsc2VVbnRpbFRhYmxlRG9lc05vdEV4aXN0KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldENsaWVudCgpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoJ2R5bmFtb2RiL2Rlc2NyaWJlX3RhYmxlJywgJ2R5bmFtb2RiL2Rlc2NyaWJlX3RhYmxlX25vdF9mb3VuZCcpKTsKICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ3RhYmxlX25vdF9leGlzdHMnLCBhcnJheSgnVGFibGVOYW1lJyA9PiAnZm9vJywgJ3dhaXRlci5pbnRlcnZhbCcgPT4gMCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc05vdEJ1ZmZlckV4Y2VwdGlvbnMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0Q2xpZW50KCk7CiAgICAgICAgJG1vY2sgPSBuZXcgTW9ja1BsdWdpbihhcnJheSgKICAgICAgICAgICAgbmV3IFJlc3BvbnNlKDQwNCkKICAgICAgICApKTsKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkU3Vic2NyaWJlcigkbW9jayk7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsKCd0YWJsZV9ub3RfZXhpc3RzJywgYXJyYXkoJ1RhYmxlTmFtZScgPT4gJ2ZvbycpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Ec2/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Ec2/Ec2ClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRWMyOwoKdXNlIEF3c1xFYzJcRWMyQ2xpZW50OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXEVjMlxFYzJDbGllbnQKICovCmNsYXNzIEVjMkNsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gRWMyQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgICAgICdyZWdpb24nID0+ICdhcC1zb3V0aGVhc3QtMScKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9lYzIuYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbScsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVYyJywgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzJywgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Ec2/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Ec2/Integration/BasicOperationsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRWMyXEludGVncmF0aW9uOwoKdXNlIEF3c1xFYzJcRWMyQ2xpZW50Owp1c2UgQXdzXENvbW1vblxFbnVtXFJlZ2lvbjsKdXNlIEF3c1xFYzJcRW51bVxJbnN0YW5jZVR5cGU7CnVzZSBBd3NcRWMyXEVudW1cSW5zdGFuY2VTdGF0ZU5hbWU7CgovKioKICogQGdyb3VwIGludGVncmF0aW9uCiAqLwpjbGFzcyBCYXNpY09wZXJhdGlvbnNUZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIGNvbnN0IFRFU1RfQU1JID0gJ2FtaS00OWVjNWEyMCc7CgogICAgLyoqCiAgICAgKiBAdmFyIEVjMkNsaWVudAogICAgICovCiAgICBwdWJsaWMgJGNsaWVudDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSBzZWxmOjpnZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2VjMicsIHRydWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QmFzaWNEZXNjcmliZUl0ZXJhdG9yV2l0aEZpbHRlcnMoKQogICAgewogICAgICAgIHNlbGY6OmxvZygiXG5bIzFdIFRlc3QgYSBiYXNpYyBpdGVyYXRvciBhbmQgbWFrZSBzdXJlIGRlZXAgc3RydWN0dXJlcyBsaWtlIGZpbHRlcnMgYXJlIG1hcnNoYWxlZCBjb3JyZWN0bHkuIik7CgogICAgICAgIHNlbGY6OmxvZygnU2V0IHRoZSByZWdpb24gdG8gVVMtV0VTVC0yLicpOwogICAgICAgICR0aGlzLT5jbGllbnQtPnNldFJlZ2lvbihSZWdpb246OlVTX1dFU1RfMik7CgogICAgICAgIHNlbGY6OmxvZygnQ2FsbCBEZXNjcmliZUltYWdlcyB2aWEgdGhlIGl0ZXJhdG9yIHdpdGggc29tZSBmaWx0ZXJzIGFuZCBhIGxpbWl0IG9mIDUuJyk7CiAgICAgICAgJGltYWdlcyA9ICR0aGlzLT5jbGllbnQtPmdldEl0ZXJhdG9yKCdEZXNjcmliZUltYWdlcycsIGFycmF5KAogICAgICAgICAgICAnT3duZXJzJyAgPT4gYXJyYXkoJ2FtYXpvbicpLAogICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgnTmFtZScgPT4gJ2FyY2hpdGVjdHVyZScsICdWYWx1ZXMnID0+IGFycmF5KCd4ODZfNjQnKSksCiAgICAgICAgICAgICAgICBhcnJheSgnTmFtZScgPT4gJ2ltYWdlLXR5cGUnLCAnVmFsdWVzJyA9PiBhcnJheSgnbWFjaGluZScpKSwKICAgICAgICAgICAgICkKICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgJ2xpbWl0JyA9PiA1CiAgICAgICAgKSk7CgogICAgICAgIHNlbGY6OmxvZygnVmVyaWZ5IHRoYXQgdGhlIGl0ZXJhdG9yIHJldHVybnMgb25seSA1LicpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNSwgaXRlcmF0b3JfY291bnQoJGltYWdlcykpOwoKICAgICAgICBzZWxmOjpsb2coJ1ZlcmlmeSB0aGF0IHRoZSBBTUkgSURzIGFyZSBpbiB0aGUgcmlnaHQgcGxhY2UgYW5kIHRoYXQgaXRlbXMgYWN0dWFsbHkgbWF0Y2ggdGhlIGZpbHRlcnMuJyk7CiAgICAgICAgZm9yZWFjaCAoJGltYWdlcyBhcyAkYW1pKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3g4Nl82NCcsICRhbWlbJ0FyY2hpdGVjdHVyZSddKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydFJlZ0V4cCgnL15hbWlcLVthLWYwLTldezh9LycsICRhbWlbJ0ltYWdlSWQnXSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QmFzaWNJbnN0YW5jZU9wZXJhdGlvbnMoKQogICAgewogICAgICAgIHNlbGY6OmxvZygiXG5bIzJdIFRlc3QgYmFzaWMgcnVuIGFuZCB0ZXJtaW5hdGUgb3BlcmF0aW9ucyBvZiBpbnN0YW5jZXMsIGluY2x1ZGluZyB3YWl0aW5nIGZvciBzdGF0ZSBjaGFuZ2VzLiIpOwoKICAgICAgICBzZWxmOjpsb2coJ0xhdW5jaCB0d28gaW5zdGFuY2VzLicpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdSdW5JbnN0YW5jZXMnLCBhcnJheSgKICAgICAgICAgICAgJ0ltYWdlSWQnICAgICAgPT4gc2VsZjo6VEVTVF9BTUksCiAgICAgICAgICAgICdNaW5Db3VudCcgICAgID0+IDIsCiAgICAgICAgICAgICdNYXhDb3VudCcgICAgID0+IDIsCiAgICAgICAgICAgICdJbnN0YW5jZVR5cGUnID0+IEluc3RhbmNlVHlwZTo6VDFfTUlDUk8sCiAgICAgICAgKSktPmdldFJlc3VsdCgpOwoKICAgICAgICBzZWxmOjpsb2coJ0dldCB0aGUgSURzIG9mIHRob3NlIHR3byBpbnN0YW5jZXMuJyk7CiAgICAgICAgJGluc3RhbmNlSWRzID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkcmVzdWx0WydJbnN0YW5jZXMnXSBhcyAkaW5zdGFuY2UpIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydFJlZ0V4cCgnL15pXC1bYS1mMC05XXs4fS8nLCAkaW5zdGFuY2VbJ0luc3RhbmNlSWQnXSk7CiAgICAgICAgICAgICRpbnN0YW5jZUlkc1tdID0gJGluc3RhbmNlWydJbnN0YW5jZUlkJ107CiAgICAgICAgfQogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgyLCAkaW5zdGFuY2VJZHMpOwoKICAgICAgICBzZWxmOjpsb2coJ1dhaXQgdW50aWwgdGhleSBhcmUgcnVubmluZy4nKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWxJbnN0YW5jZVJ1bm5pbmcoYXJyYXkoJ0luc3RhbmNlSWRzJyA9PiAkaW5zdGFuY2VJZHMpKTsKCiAgICAgICAgc2VsZjo6bG9nKCdUZXJtaW5hdGUgdGhlIGluc3RhbmNlcyBhbmQgdmVyaWZ5IHRoYXQgdGhleSBhcmUgc2h1dHRpbmctZG93bi4nKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnVGVybWluYXRlSW5zdGFuY2VzJywgYXJyYXkoCiAgICAgICAgICAgICdJbnN0YW5jZUlkcycgPT4gJGluc3RhbmNlSWRzLAogICAgICAgICkpLT5nZXRSZXN1bHQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKEluc3RhbmNlU3RhdGVOYW1lOjpTSFVUVElOR19ET1dOLCAkcmVzdWx0LT5nZXRQYXRoKCdUZXJtaW5hdGluZ0luc3RhbmNlcy8wL0N1cnJlbnRTdGF0ZS9OYW1lJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoSW5zdGFuY2VTdGF0ZU5hbWU6OlNIVVRUSU5HX0RPV04sICRyZXN1bHQtPmdldFBhdGgoJ1Rlcm1pbmF0aW5nSW5zdGFuY2VzLzEvQ3VycmVudFN0YXRlL05hbWUnKSk7CgogICAgICAgIHNlbGY6OmxvZygnV2FpdCB1bnRpbCB0aGV5IGFyZSB0ZXJtaW5hdGVkLicpOwogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbEluc3RhbmNlVGVybWluYXRlZChhcnJheSgnSW5zdGFuY2VJZHMnID0+ICRpbnN0YW5jZUlkcykpOwoKICAgICAgICBzZWxmOjpsb2coJ1ZlcmlmeSB0aGF0IHRoZSBpbnN0YW5jZXMgYXJlIHRlcm1pbmF0ZWQgdXNpbmcgdGhlIERlc2NyaWJlSW5zdGFuY2VzIGl0ZXJhdG9yLicpOwogICAgICAgICRpbnN0YW5jZXMgPSAkdGhpcy0+Y2xpZW50LT5nZXRJdGVyYXRvcignRGVzY3JpYmVJbnN0YW5jZXMnLCBhcnJheSgKICAgICAgICAgICAgJ0luc3RhbmNlSWRzJyA9PiAkaW5zdGFuY2VJZHMsCiAgICAgICAgKSk7CiAgICAgICAgZm9yZWFjaCAoJGluc3RhbmNlcyBhcyAkaW5zdGFuY2UpIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhJbnN0YW5jZVN0YXRlTmFtZTo6VEVSTUlOQVRFRCwgJGluc3RhbmNlWydTdGF0ZSddWydOYW1lJ10pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEJhc2ljQWRkcmVzc09wZXJhdGlvbnMoKQogICAgewogICAgICAgIHNlbGY6OmxvZygiXG5bIzNdIFRlc3QgYmFzaWMgb3BlcmF0aW9ucyBmb3IgYWRkcmVzcy4iKTsKCiAgICAgICAgJGluc3RhbmNlSWQgPSAkdGhpcy0+cnVuQW5JbnN0YW5jZSgpOwoKICAgICAgICBzZWxmOjpsb2coJ0FsbG9jYXRlIGEgbmV3IEVsYXN0aWMgSVAgYWRkcmVzcy4nKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnQWxsb2NhdGVBZGRyZXNzJyktPmdldFJlc3VsdCgpOwogICAgICAgICRwdWJsaWNJcCA9ICRyZXN1bHQtPmdldCgnUHVibGljSXAnKTsKCiAgICAgICAgc2VsZjo6bG9nKCdBc3NvY2lhdGUgdGhlIGFkZHJlc3Mgd2l0aCB0aGUgaW5zdGFuY2UuJyk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnQXNzb2NpYXRlQWRkcmVzcycsIGFycmF5KAogICAgICAgICAgICAnUHVibGljSXAnICAgPT4gJHB1YmxpY0lwLAogICAgICAgICAgICAnSW5zdGFuY2VJZCcgPT4gJGluc3RhbmNlSWQsCiAgICAgICAgKSktPmV4ZWN1dGUoKTsKCiAgICAgICAgc2VsZjo6bG9nKCdNYWtlIHN1cmUgdGhlIGFkZHJlc3MgYW5kIGluc3RhbmNlIGFyZSBhc3NvY2lhdGVkLicpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdEZXNjcmliZUFkZHJlc3NlcycpLT5nZXRSZXN1bHQoKTsKICAgICAgICAkcHVibGljSXBzID0gJHJlc3VsdC0+Z2V0UGF0aCgnQWRkcmVzc2VzLyovUHVibGljSXAnKTsKICAgICAgICAkaW5zdGFuY2VJZHMgPSAkcmVzdWx0LT5nZXRQYXRoKCdBZGRyZXNzZXMvKi9JbnN0YW5jZUlkJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCRwdWJsaWNJcCwgJHB1YmxpY0lwcyk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCRpbnN0YW5jZUlkLCAkaW5zdGFuY2VJZHMpOwoKICAgICAgICBzZWxmOjpsb2coJ0Rpc2Fzc29jaWF0ZSB0aGUgYWRkcmVzcyB3aXRoIGZyb20gaW5zdGFuY2UuJyk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnRGlzYXNzb2NpYXRlQWRkcmVzcycsIGFycmF5KAogICAgICAgICAgICAnUHVibGljSXAnICAgPT4gJHB1YmxpY0lwLAogICAgICAgICkpLT5leGVjdXRlKCk7CgogICAgICAgIHNlbGY6OmxvZygnUmVsZWFzZSB0aGUgRWxhc3RpYyBJUCBhZGRyZXNzLicpOwogICAgICAgICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ1JlbGVhc2VBZGRyZXNzJywgYXJyYXkoCiAgICAgICAgICAgICdQdWJsaWNJcCcgICA9PiAkcHVibGljSXAsCiAgICAgICAgKSktPmV4ZWN1dGUoKTsKCiAgICAgICAgJHRoaXMtPnRlcm1pbmF0ZUFuSW5zdGFuY2UoJGluc3RhbmNlSWQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TW9kaWZ5aW5nQW5JbnN0YW5jZUF0dHJpYnV0ZSgpCiAgICB7CiAgICAgICAgc2VsZjo6bG9nKCJcblsjNF0gTW9kaWZ5IHRoZSBhdHRyaWJ1dGVzIG9mIGFuIGluc3RhbmNlLiIpOwoKICAgICAgICAkaW5zdGFuY2VJZCA9ICR0aGlzLT5ydW5Bbkluc3RhbmNlKCk7CgogICAgICAgIHNlbGY6OmxvZygnU3RvcCB0aGUgaW5zdGFuY2UuJyk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnU3RvcEluc3RhbmNlcycsIGFycmF5KAogICAgICAgICAgICAnSW5zdGFuY2VJZHMnID0+IGFycmF5KCRpbnN0YW5jZUlkKSwKICAgICAgICApKS0+ZXhlY3V0ZSgpOwoKICAgICAgICBzZWxmOjpsb2coJ1dhaXQgdW50aWwgdGhlIGluc3RhbmNlIGlzIHN0b3BwZWQuJyk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+d2FpdFVudGlsSW5zdGFuY2VTdG9wcGVkKGFycmF5KAogICAgICAgICAgICAnSW5zdGFuY2VJZHMnID0+IGFycmF5KCRpbnN0YW5jZUlkKSwKICAgICAgICApKTsKCiAgICAgICAgc2VsZjo6bG9nKCdDaGFuZ2UgdGhlIHN0b3BwZWQgaW5zdGFuY2UgZnJvbSBhIG1pY3JvIHRvIGEgc21hbGwuJyk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnTW9kaWZ5SW5zdGFuY2VBdHRyaWJ1dGUnLCBhcnJheSgKICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+ICRpbnN0YW5jZUlkLAogICAgICAgICAgICAnQXR0cmlidXRlJyAgPT4gJ2luc3RhbmNlVHlwZScsCiAgICAgICAgICAgICdWYWx1ZScgICAgICA9PiBJbnN0YW5jZVR5cGU6Ok0xX1NNQUxMCiAgICAgICAgKSktPmV4ZWN1dGUoKTsKCiAgICAgICAgc2VsZjo6bG9nKCdTdGFydCB0aGUgaW5zdGFuY2UgYmFjayB1cC4nKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdTdGFydEluc3RhbmNlcycsIGFycmF5KAogICAgICAgICAgICAnSW5zdGFuY2VJZHMnID0+IGFycmF5KCRpbnN0YW5jZUlkKSwKICAgICAgICApKS0+ZXhlY3V0ZSgpOwoKICAgICAgICBzZWxmOjpsb2coJ1dhaXQgdW50aWwgdGhlIGluc3RhbmNlIGlzIHJ1bm5pbmcuJyk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+d2FpdFVudGlsSW5zdGFuY2VSdW5uaW5nKGFycmF5KAogICAgICAgICAgICAnSW5zdGFuY2VJZHMnID0+IGFycmF5KCRpbnN0YW5jZUlkKSwKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPnRlcm1pbmF0ZUFuSW5zdGFuY2UoJGluc3RhbmNlSWQpOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBzdHJpbmcgVGhlIElEIG9mIGEgcnVubmluZyBpbnN0YW5jZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcnVuQW5JbnN0YW5jZSgpCiAgICB7CiAgICAgICAgc2VsZjo6bG9nKCdMYXVuY2ggYW4gaW5zdGFuY2UuJyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ1J1bkluc3RhbmNlcycsIGFycmF5KAogICAgICAgICAgICAnSW1hZ2VJZCcgICAgICA9PiBzZWxmOjpURVNUX0FNSSwKICAgICAgICAgICAgJ01pbkNvdW50JyAgICAgPT4gMSwKICAgICAgICAgICAgJ01heENvdW50JyAgICAgPT4gMSwKICAgICAgICAgICAgJ0luc3RhbmNlVHlwZScgPT4gSW5zdGFuY2VUeXBlOjpUMV9NSUNSTywKICAgICAgICApKS0+Z2V0UmVzdWx0KCk7CiAgICAgICAgJGluc3RhbmNlSWQgPSBjdXJyZW50KCRyZXN1bHQtPmdldFBhdGgoJ0luc3RhbmNlcy8qL0luc3RhbmNlSWQnKSk7CgogICAgICAgIHNlbGY6OmxvZygnV2FpdCB1bnRpbCB0aGUgaW5zdGFuY2UgaXMgcnVubmluZy4nKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWxJbnN0YW5jZVJ1bm5pbmcoYXJyYXkoJ0luc3RhbmNlSWRzJyA9PiBhcnJheSgkaW5zdGFuY2VJZCkpKTsKCiAgICAgICAgcmV0dXJuICRpbnN0YW5jZUlkOwogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIHN0cmluZyAkaW5zdGFuY2VJZCBUaGUgSUQgb2YgYSBydW5uaW5nIGluc3RhbmNlIHRvIHRlcm1pbmF0ZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdGVybWluYXRlQW5JbnN0YW5jZSgkaW5zdGFuY2VJZCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ1Rlcm1pbmF0ZSB0aGUgaW5zdGFuY2UuJyk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnVGVybWluYXRlSW5zdGFuY2VzJywgYXJyYXkoCiAgICAgICAgICAgICdJbnN0YW5jZUlkcycgPT4gYXJyYXkoJGluc3RhbmNlSWQpLAogICAgICAgICkpLT5leGVjdXRlKCk7CgogICAgICAgIHNlbGY6OmxvZygnV2FpdCB1bnRpbCB0aGUgaW5zdGFuY2UgaXMgdGVybWluYXRlZC4nKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWxJbnN0YW5jZVRlcm1pbmF0ZWQoYXJyYXkoJ0luc3RhbmNlSWRzJyA9PiBhcnJheSgkaW5zdGFuY2VJZCkpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Ec2/Integration/IteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRWMyXEludGVncmF0aW9uOwoKdXNlIEF3c1xFYzJcRWMyQ2xpZW50Owp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cT3BlcmF0aW9uOwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgSXRlcmF0b3JUZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQHZhciBFYzJDbGllbnQKICAgICAqLwogICAgcHVibGljICRjbGllbnQ7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdlYzInLCB0cnVlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEJhc2ljRGVzY3JpYmVJbnN0YW5jZVN0YXR1c1dpdGhGaWx0ZXJzKCkKICAgIHsKICAgICAgICAkc3RhdHVzZXMgPSAkdGhpcy0+Y2xpZW50LT5nZXRJdGVyYXRvcignRGVzY3JpYmVJbnN0YW5jZVN0YXR1cycsIGFycmF5KAogICAgICAgICAgICAnT3duZXJzJyAgPT4gYXJyYXkoJ2FtYXpvbicpLAogICAgICAgICAgICAnRmlsdGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgnTmFtZScgPT4gJ3N5c3RlbS1zdGF0dXMucmVhY2hhYmlsaXR5JywgJ1ZhbHVlcycgPT4gYXJyYXkoJ3Bhc3NlZCcpKSwKICAgICAgICAgICAgICAgIGFycmF5KCdOYW1lJyA9PiAnaW5zdGFuY2Utc3RhdHVzLnN0YXR1cycsICdWYWx1ZXMnID0+IGFycmF5KCdvaycpKSwKICAgICAgICAgICAgKQogICAgICAgICksIGFycmF5KAogICAgICAgICAgICAnbGltaXQnID0+IDUKICAgICAgICApKTsKCiAgICAgICAgc2VsZjo6bG9nKCdWZXJpZnkgdGhhdCB0aGUgaXRlcmF0b3IgcmV0dXJucyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gNS4nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TGVzc1RoYW5PckVxdWFsKDUsIGl0ZXJhdG9yX2NvdW50KCRzdGF0dXNlcykpOwoKICAgICAgICBzZWxmOjpsb2coJ1ZlcmlmeSB0aGF0IHRoZSBzdGF0dXMgaXMgaW4gdGhlIHJpZ2h0IHBsYWNlIGFuZCBmaWx0ZXJzIGFwcGxpZWQuJyk7CiAgICAgICAgZm9yZWFjaCAoJHN0YXR1c2VzIGFzICRzdGF0dXMpIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygncGFzc2VkJywgJHN0YXR1c1snSW5zdGFuY2VTdGF0dXMnXVsnRGV0YWlscyddWzBdWydTdGF0dXMnXSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogVGhpcyB0ZXN0IGlzIG5vdCB3aXRoIHRoZSBvdGhlciBzaW1pbGFyIHRlc3RzIHRvIGVuc3VyZSB0aGF0IHNvbWUgYmFzaWMgcmVzcG9uc2UgcGFyc2luZyBpcyBjb3JyZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc09mZmVyaW5ncygpCiAgICB7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jbGllbnQtPmdldEl0ZXJhdG9yKCdEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzT2ZmZXJpbmdzJywgbnVsbCwgYXJyYXkoJ2xpbWl0JyA9PiAyNSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRMZXNzVGhhbk9yRXF1YWwoMjUsIGl0ZXJhdG9yX2NvdW50KCRyZXN1bHQpKTsKICAgICAgICBmb3JlYWNoICgkcmVzdWx0IGFzICRvZmZlcmluZykgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ1Jlc2VydmVkSW5zdGFuY2VzT2ZmZXJpbmdJZCcsICRvZmZlcmluZyk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnSW5zdGFuY2VUeXBlJywgJG9mZmVyaW5nKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCAkb2ZmZXJpbmdbJ1JlY3VycmluZ0NoYXJnZXMnXSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgJG9mZmVyaW5nWydQcmljaW5nRGV0YWlscyddKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGl0ZXJhdG9yUHJvdmlkZXIoKQogICAgewogICAgICAgICRpdGVyYXRvcnMgPSBhcnJheSgpOwogICAgICAgICRjID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdlYzInLCB0cnVlKTsKICAgICAgICBmb3JlYWNoICgkYy0+Z2V0RGVzY3JpcHRpb24oKS0+Z2V0T3BlcmF0aW9ucygpIGFzICRvKSB7CiAgICAgICAgICAgIGlmIChzdHJwb3MoJG8tPmdldE5hbWUoKSwgJ0Rlc2NyaWJlJykgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICBpZiAoJG8tPmhhc1BhcmFtKCdOZXh0VG9rZW4nKSkgewogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZm9yZWFjaCAoJG8tPmdldFBhcmFtcygpIGFzICRwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRwLT5nZXRUeXBlKCkgPT0gJ2FycmF5JyAmJiAkcC0+Z2V0SXRlbXMoKSAmJiAhaW5fYXJyYXkoJG8sICRpdGVyYXRvcnMsIHRydWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRpdGVyYXRvcnNbXSA9ICRvOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGFycmF5X21hcChmdW5jdGlvbiAoJGEpIHsgcmV0dXJuIGFycmF5KCRhKTsgfSwgJGl0ZXJhdG9ycyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGl0ZXJhdG9yUHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZXNjcmliZUl0ZXJhdG9yVGVzdChPcGVyYXRpb24gJG9wZXJhdGlvbikKICAgIHsKICAgICAgICBzd2l0Y2ggKCRvcGVyYXRpb24tPmdldE5hbWUoKSkgewogICAgICAgICAgICBjYXNlICdEZXNjcmliZUltYWdlcyc6CiAgICAgICAgICAgIGNhc2UgJ0Rlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZXNMaXN0aW5ncyc6CiAgICAgICAgICAgIGNhc2UgJ0Rlc2NyaWJlTGljZW5zZXMnOgogICAgICAgICAgICAgICAgc2VsZjo6bG9nKCdOb3QgcnVubmluZyAnIC4gJG9wZXJhdGlvbi0+Z2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHNlbGY6OmxvZygnVGVzdGluZyBpdGVyYXRvcjogJyAuICRvcGVyYXRpb24tPmdldE5hbWUoKSk7CiAgICAgICAgJGl0ZXJhdG9yID0gJHRoaXMtPmNsaWVudC0+Z2V0SXRlcmF0b3IoJG9wZXJhdGlvbi0+Z2V0TmFtZSgpLCBudWxsLCBhcnJheSgnbGltaXQnID0+IDI1KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydExlc3NUaGFuT3JFcXVhbCgyNSwgaXRlcmF0b3JfY291bnQoJGl0ZXJhdG9yKSk7CiAgICAgICAgZm9yZWFjaCAoJGl0ZXJhdG9yIGFzICRyZXN1bHQpIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCAkcmVzdWx0KTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Ec2/Iterator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Ec2/Iterator/DescribeInstancesIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRWMyXEl0ZXJhdG9yOwoKdXNlIEF3c1xFYzJcSXRlcmF0b3JcRGVzY3JpYmVJbnN0YW5jZXNJdGVyYXRvcjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXEVjMlxJdGVyYXRvclxEZXNjcmliZUluc3RhbmNlc0l0ZXJhdG9yCiAqLwpjbGFzcyBEZXNjcmliZUluc3RhbmNlc0l0ZXJhdG9yVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXN1bHRIYW5kbGluZ1dvcmtzKCkKICAgIHsKICAgICAgICAvLyBQcmVwYXJlIGFuIGl0ZXJhdG9yIHRoYXQgd2lsbCBleGVjdXRlIGFsbCBMT0MgaW4gaGFuZGxlUmVzdWx0cwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZScpOwogICAgICAgICRpdGVyYXRvciA9IG5ldyBEZXNjcmliZUluc3RhbmNlc0l0ZXJhdG9yKCRjb21tYW5kKTsKICAgICAgICAkbW9kZWwgPSBuZXcgTW9kZWwoYXJyYXkoCiAgICAgICAgICAgICdSZXNlcnZhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ1Jlc2VydmF0aW9uSWQnID0+ICdSMScsCiAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdJbnN0YW5jZUlkJyA9PiAnUjFJMScpLAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnSW5zdGFuY2VJZCcgPT4gJ1IxSTInKSwKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ1Jlc2VydmF0aW9uSWQnID0+ICdSMicsCiAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdJbnN0YW5jZUlkJyA9PiAnUjJJMScpLAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnSW5zdGFuY2VJZCcgPT4gJ1IySTInKSwKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJGNsYXNzID0gbmV3IFxSZWZsZWN0aW9uT2JqZWN0KCRpdGVyYXRvcik7CiAgICAgICAgJG1ldGhvZCA9ICRjbGFzcy0+Z2V0TWV0aG9kKCdoYW5kbGVSZXN1bHRzJyk7CiAgICAgICAgJG1ldGhvZC0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkaXRlbXMgPSAkbWV0aG9kLT5pbnZva2UoJGl0ZXJhdG9yLCAkbW9kZWwpOwoKICAgICAgICAvLyBXZSBzaG91bGQgZ2V0IGFuIGludmVydGVkIHN0cnVjdHVyZSBiYXNlZCBvbiBob3cgdGhlIGNvbmNyZXRlIGhhbmRsZXMgdGhlIHJlc3VsdHMKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZShhcnJheSgKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgID0+ICdSMUkxJywKICAgICAgICAgICAgICAgICdSZXNlcnZhdGlvbicgPT4gYXJyYXkoJ1Jlc2VydmF0aW9uSWQnID0+ICdSMScpLAogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICdJbnN0YW5jZUlkJyAgPT4gJ1IxSTInLAogICAgICAgICAgICAgICAgJ1Jlc2VydmF0aW9uJyA9PiBhcnJheSgnUmVzZXJ2YXRpb25JZCcgPT4gJ1IxJyksCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnICA9PiAnUjJJMScsCiAgICAgICAgICAgICAgICAnUmVzZXJ2YXRpb24nID0+IGFycmF5KCdSZXNlcnZhdGlvbklkJyA9PiAnUjInKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VJZCcgID0+ICdSMkkyJywKICAgICAgICAgICAgICAgICdSZXNlcnZhdGlvbicgPT4gYXJyYXkoJ1Jlc2VydmF0aW9uSWQnID0+ICdSMicpLAogICAgICAgICAgICApLAogICAgICAgICksICRpdGVtcyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Ec2/WaiterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRWMyOwoKdXNlIEF3c1xFYzJcRWMyQ2xpZW50Owp1c2UgQXdzXEVjMlxFbnVtXEluc3RhbmNlU3RhdGVOYW1lOwoKY2xhc3MgV2FpdGVyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAdmFyIEVjMkNsaWVudAogICAgICovCiAgICBwdWJsaWMgJGNsaWVudDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSBzZWxmOjpnZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2VjMicsIHRydWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXRlcmF0ZXNVbnRpbEluU3BlY2lmaWVkU3RhdGUoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdlYzInLCB0cnVlKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCR0aGlzLT5jbGllbnQsIGFycmF5KAogICAgICAgICAgICAnZWMyL2Rlc2NyaWJlX2luc3RhbmNlc19ub19yZXNlcnZhdGlvbnMnLAogICAgICAgICAgICAnZWMyL2Rlc2NyaWJlX2luc3RhbmNlc190d29faW5zdGFuY2VzX2RpZmZlcmVudF9zdGF0ZScsCiAgICAgICAgICAgICdlYzIvZGVzY3JpYmVfaW5zdGFuY2VzX3R3b19pbnN0YW5jZXNfc2FtZV9zdGF0ZScKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWwoJ19fSW5zdGFuY2VTdGF0ZScsIGFycmF5KAogICAgICAgICAgICAnSW5zdGFuY2VJZHMnICAgICAgICAgID0+IGFycmF5KCdpLXh4eHh4eHgxJywgJ2kteHh4eHh4eDInKSwKICAgICAgICAgICAgJ3dhaXRlci5zdWNjZXNzLnZhbHVlJyA9PiBJbnN0YW5jZVN0YXRlTmFtZTo6UlVOTklORywKICAgICAgICAgICAgJ3dhaXRlci5pbnRlcnZhbCcgICAgICA9PiAwCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCBjb3VudCgkdGhpcy0+Z2V0TW9ja2VkUmVxdWVzdHMoKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0V2FpdHNGb3JTbmFwc2hvdHMoKQogICAgewogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJHRoaXMtPmNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgICdlYzIvZGVzY3JpYmVfc25hcHNob3RzX3BlbmRpbmcnLAogICAgICAgICAgICAnZWMyL2Rlc2NyaWJlX3NuYXBzaG90c19jb21wbGV0ZWQnLAogICAgICAgICAgICAnZWMyL2Rlc2NyaWJlX2luc3RhbmNlc190d29faW5zdGFuY2VzX3NhbWVfc3RhdGUnCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+d2FpdFVudGlsKCdTbmFwc2hvdENvbXBsZXRlZCcsIGFycmF5KAogICAgICAgICAgICAnU25hcHNob3RJZHMnICAgICA9PiBhcnJheSgnc25hcC0xYTJiM2M0ZCcpLAogICAgICAgICAgICAnd2FpdGVyLmludGVydmFsJyA9PiAwCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkdGhpcy0+Z2V0TW9ja2VkUmVxdWVzdHMoKSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElastiCache/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElastiCache/ElastiCacheClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRWxhc3RpQ2FjaGU7Cgp1c2UgQXdzXEVsYXN0aUNhY2hlXEVsYXN0aUNhY2hlQ2xpZW50OwoKY2xhc3MgRWxhc3RpQ2FjaGVDbGllbnRUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXEVsYXN0aUNhY2hlXEVsYXN0aUNhY2hlQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gRWxhc3RpQ2FjaGVDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLXdlc3QtMicKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0JywgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzJywgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9lbGFzdGljYWNoZS51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElastiCache/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElastiCache/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRWxhc3RpQ2FjaGVcSW50ZWdyYXRpb247Cgp1c2UgQXdzXEVsYXN0aUNhY2hlXEVsYXN0aUNhY2hlQ2xpZW50OwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIGNvbnN0IFNFQ1VSSVRZX0dST1VQX05BTUUgPSAncGhwaW50ZWd0ZXN0c2VjdXJpdHlncm91cCc7CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRVcEJlZm9yZUNsYXNzKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ0NsZWFuaW5nIHVwIHByZXZpb3VzbHkgY3JlYXRlZCBzZWN1cml0eSBncm91cHMnKTsKICAgICAgICAvKiogQHZhciAkY2xpZW50IEVsYXN0aUNhY2hlQ2xpZW50ICovCiAgICAgICAgJGNsaWVudCA9IHNlbGY6OmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZWxhc3RpY2FjaGUnKTsKICAgICAgICB0cnkgewogICAgICAgICAgICAkY2xpZW50LT5kZWxldGVDYWNoZVNlY3VyaXR5R3JvdXAoYXJyYXkoJ0NhY2hlU2VjdXJpdHlHcm91cE5hbWUnID0+IHNlbGY6OlNFQ1VSSVRZX0dST1VQX05BTUUpKTsKICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIC8vIElnbm9yZQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEB2YXIgRWxhc3RpQ2FjaGVDbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZWxhc3RpY2FjaGUnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNMaXN0c0FyZVBhcnNlZENvcnJlY3RseSgpCiAgICB7CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2xpZW50LT5nZXRJdGVyYXRvcignRGVzY3JpYmVFdmVudHMnKTsKICAgICAgICBmb3JlYWNoICgkcmVzdWx0cyBhcyAkcmVzdWx0KSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnTWVzc2FnZScsICRyZXN1bHQpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXEVsYXN0aUNhY2hlXEV4Y2VwdGlvblxDYWNoZUNsdXN0ZXJOb3RGb3VuZEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBhcnNlc0Vycm9ycygpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+ZGVsZXRlQ2FjaGVDbHVzdGVyKGFycmF5KAogICAgICAgICAgICAnQ2FjaGVDbHVzdGVySWQnID0+ICdub3RhcmVhbGNhY2hlY2x1c3RlcicKICAgICAgICApKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNTZWN1cml0eUdyb3VwKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ0NyZWF0ZSBhIGNhY2hlIHNlY3VyaXR5IGdyb3VwJyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jbGllbnQtPmNyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cChhcnJheSgKICAgICAgICAgICAgJ0NhY2hlU2VjdXJpdHlHcm91cE5hbWUnID0+IHNlbGY6OlNFQ1VSSVRZX0dST1VQX05BTUUsCiAgICAgICAgICAgICdEZXNjcmlwdGlvbicgICAgICAgICAgICA9PiAnUEhQIEludGVnIFRlc3QgQ2FjaGUgU2VjdXJpdHkgR3JvdXAnLAogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXN1bHQtPmhhc0tleSgnT3duZXJJZCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVzdWx0LT5oYXNLZXkoJ0VDMlNlY3VyaXR5R3JvdXBzJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXN1bHQtPmhhc0tleSgnUmVzcG9uc2VNZXRhZGF0YScpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RDcmVhdGVzU2VjdXJpdHlHcm91cAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExpc3RzU2VjdXJpdHlHcm91cHMoKQogICAgewogICAgICAgIHNlbGY6OmxvZygnTGlzdCBjYWNoZSBzZWN1cml0eSBncm91cHMnKTsKICAgICAgICAkZm91bmQgPSBmYWxzZTsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+Y2xpZW50LT5nZXRJdGVyYXRvcignRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzJykgYXMgJGdyb3VwKSB7CiAgICAgICAgICAgIGlmICgkZ3JvdXBbJ0NhY2hlU2VjdXJpdHlHcm91cE5hbWUnXSA9PSBzZWxmOjpTRUNVUklUWV9HUk9VUF9OQU1FKSB7CiAgICAgICAgICAgICAgICAkZm91bmQgPSB0cnVlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGZvdW5kLCAnRGlkIG5vdCBmaW5kIGNhY2hlIHNlY3VyaXR5IGdyb3VwICcgLiBzZWxmOjpTRUNVUklUWV9HUk9VUF9OQU1FKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RMaXN0c1NlY3VyaXR5R3JvdXBzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGVsZXRlc1NlY3VyaXR5R3JvdXBzKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ0RlbGV0ZSBjYWNoZSBzZWN1cml0eSBncm91cCcpOwogICAgICAgICR0aGlzLT5jbGllbnQtPmRlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cChhcnJheSgnQ2FjaGVTZWN1cml0eUdyb3VwTmFtZScgPT4gc2VsZjo6U0VDVVJJVFlfR1JPVVBfTkFNRSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElasticBeanstalk/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElasticBeanstalk/ElasticBeanstalkClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRWxhc3RpY0JlYW5zdGFsazsKCnVzZSBBd3NcRWxhc3RpY0JlYW5zdGFsa1xFbGFzdGljQmVhbnN0YWxrQ2xpZW50OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXEVsYXN0aWNCZWFuc3RhbGtcRWxhc3RpY0JlYW5zdGFsa0NsaWVudAogKi8KY2xhc3MgRWxhc3RpY0JlYW5zdGFsa0NsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gRWxhc3RpY0JlYW5zdGFsa0NsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtd2VzdC0yJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQnLCAkY2xpZW50LT5nZXRTaWduYXR1cmUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHMnLCAkY2xpZW50LT5nZXRDcmVkZW50aWFscygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwczovL2VsYXN0aWNiZWFuc3RhbGsudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20nLCAkY2xpZW50LT5nZXRCYXNlVXJsKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElasticBeanstalk/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElasticBeanstalk/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRWxhc3RpY0JlYW5zdGFsa1xJbnRlZ3JhdGlvbjsKCi8qKgogKiBAZ3JvdXAgaW50ZWdyYXRpb24KICovCmNsYXNzIEludGVncmF0aW9uVGVzdCBleHRlbmRzIFxBd3NcVGVzdHNcSW50ZWdyYXRpb25UZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEB2YXIgXEF3c1xFbGFzdGljQmVhbnN0YWxrXEVsYXN0aWNCZWFuc3RhbGtDbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZWxhc3RpY2JlYW5zdGFsaycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TGlzdHNBcHBsaWNhdGlvbnMoKQogICAgewogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnRGVzY3JpYmVBcHBsaWNhdGlvbnMnKTsKICAgICAgICAkcmVzdWx0ID0gJGNvbW1hbmQtPmV4ZWN1dGUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90TnVsbCgkcmVzdWx0LT5nZXRQYXRoKCdSZXNwb25zZU1ldGFkYXRhL1JlcXVlc3RJZCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdhcnJheScsICRyZXN1bHRbJ0FwcGxpY2F0aW9ucyddKTsKCiAgICAgICAgLy8gR2F0aGVyIGEgbGlzdCBvZiBJRHMgYW5kIHBhc3MgdGhlbSB0byB0ZXN0QWxsb3dzTWVtYmVyZWRMaXN0c0luSW5wdXRzCiAgICAgICAgJGlkcyA9IGFycmF5KCk7CgogICAgICAgIGlmIChjb3VudCgkcmVzdWx0WydBcHBsaWNhdGlvbnMnXSkpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHJlc3VsdFsnQXBwbGljYXRpb25zJ10gYXMgJGFwcCkgewogICAgICAgICAgICAgICAgLy8gRW5zdXJlIHRoYXQgdmVyc2lvbnMgaXMgYW4gZW51bWVyYXRlZCBhcnJheSBhbmQgbm90IGEgaGFzaAogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCAkYXBwWydWZXJzaW9ucyddKTsKICAgICAgICAgICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgwLCAkYXBwWydWZXJzaW9ucyddKTsKICAgICAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ3N0cmluZycsICRhcHBbJ1ZlcnNpb25zJ11bMF0pOwogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnc3RyaW5nJywgJGFwcFsnQXBwbGljYXRpb25OYW1lJ10pOwogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCAkYXBwWydDb25maWd1cmF0aW9uVGVtcGxhdGVzJ10pOwogICAgICAgICAgICAgICAgJGlkc1tdID0gJGFwcFsnQXBwbGljYXRpb25OYW1lJ107CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkaWRzOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdExpc3RzQXBwbGljYXRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzTWVtYmVyZWRMaXN0c0luSW5wdXRzKGFycmF5ICRpZHMgPSBhcnJheSgpKQogICAgewogICAgICAgIGlmICghY291bnQoJGlkcykpIHsKICAgICAgICAgICAgJHRoaXMtPm1hcmtUZXN0U2tpcHBlZCgnTm8gYXBwbGljYXRpb25zIGZvdW5kIG9uIHlvdXIgYWNjb3VudCcpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ0Rlc2NyaWJlQXBwbGljYXRpb25zJywgYXJyYXkoCiAgICAgICAgICAgICdBcHBsaWNhdGlvbk5hbWVzJyA9PiAkaWRzCiAgICAgICAgKSk7CiAgICAgICAgJHJlc3VsdCA9ICRjb21tYW5kLT5leGVjdXRlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhjb3VudCgkaWRzKSwgY291bnQoJHJlc3VsdFsnQXBwbGljYXRpb25zJ10pKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElasticLoadBalancing/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElasticLoadBalancing/ElasticLoadBalancingClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRWxhc3RpY0xvYWRCYWxhbmNpbmc7Cgp1c2UgQXdzXEVsYXN0aWNMb2FkQmFsYW5jaW5nXEVsYXN0aWNMb2FkQmFsYW5jaW5nQ2xpZW50OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXEVsYXN0aWNMb2FkQmFsYW5jaW5nXEVsYXN0aWNMb2FkQmFsYW5jaW5nQ2xpZW50CiAqLwpjbGFzcyBFbGFzdGljTG9hZEJhbGFuY2luZ0NsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gRWxhc3RpY0xvYWRCYWxhbmNpbmdDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLXdlc3QtMicKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0JywgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzJywgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9lbGFzdGljbG9hZGJhbGFuY2luZy51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElasticLoadBalancing/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElasticLoadBalancing/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRWxhc3RpY0xvYWRCYWxhbmNpbmdcSW50ZWdyYXRpb247CgovKioKICogQGdyb3VwIGludGVncmF0aW9uCiAqLwpjbGFzcyBJbnRlZ3JhdGlvblRlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAdmFyIFxBd3NcRWxhc3RpY0xvYWRCYWxhbmNpbmdcRWxhc3RpY0xvYWRCYWxhbmNpbmdDbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZWxhc3RpY2xvYWRiYWxhbmNpbmcnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlc2NyaWJlc0xvYWRCYWxhbmNlcnMoKQogICAgewogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnRGVzY3JpYmVMb2FkQmFsYW5jZXJzJyk7CiAgICAgICAgJHJlc3VsdCA9ICRjb21tYW5kLT5leGVjdXRlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdE51bGwoJHJlc3VsdC0+Z2V0UGF0aCgnUmVzcG9uc2VNZXRhZGF0YS9SZXF1ZXN0SWQnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCAkcmVzdWx0WydMb2FkQmFsYW5jZXJEZXNjcmlwdGlvbnMnXSk7CgogICAgICAgIC8vIEdhdGhlciBhIGxpc3Qgb2YgSURzIGFuZCBwYXNzIHRoZW0gdG8gdGhlIG5leHQgdGVzdAogICAgICAgICRpZHMgPSBhcnJheSgpOwoKICAgICAgICBpZiAoY291bnQoJHJlc3VsdFsnTG9hZEJhbGFuY2VyRGVzY3JpcHRpb25zJ10pKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCRyZXN1bHRbJ0xvYWRCYWxhbmNlckRlc2NyaXB0aW9ucyddIGFzICRpID0+ICRhcHApIHsKICAgICAgICAgICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBsaXN0IGlzIGVudW1lcmF0ZWQKICAgICAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2ludGVnZXInLCAkaSk7CiAgICAgICAgICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdhcnJheScsICRhcHBbJ1NlY3VyaXR5R3JvdXBzJ10pOwogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KDAsICRhcHBbJ0F2YWlsYWJpbGl0eVpvbmVzJ10pOwogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnc3RyaW5nJywgJGFwcFsnQXZhaWxhYmlsaXR5Wm9uZXMnXVswXSk7CiAgICAgICAgICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdzdHJpbmcnLCAkYXBwWydTY2hlbWUnXSk7CiAgICAgICAgICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdhcnJheScsICRhcHBbJ1BvbGljaWVzJ10pOwogICAgICAgICAgICAgICAgJGlkc1tdID0gJGFwcFsnTG9hZEJhbGFuY2VyTmFtZSddOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGlkczsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3REZXNjcmliZXNMb2FkQmFsYW5jZXJzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzTWVtYmVyZWRMaXN0c0luSW5wdXRzKGFycmF5ICRpZHMgPSBhcnJheSgpKQogICAgewogICAgICAgIGlmICghY291bnQoJGlkcykpIHsKICAgICAgICAgICAgJHRoaXMtPm1hcmtUZXN0U2tpcHBlZCgnTm8gbG9hZCBiYWxhbmNlcnMgd2VyZSBmb3VuZCBvbiB5b3VyIGFjY291bnQnKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdEZXNjcmliZUxvYWRCYWxhbmNlcnMnLCBhcnJheSgnTG9hZEJhbGFuY2VyTmFtZXMnID0+ICRpZHMpKTsKICAgICAgICAkcmVzdWx0ID0gJGNvbW1hbmQtPmV4ZWN1dGUoKTsKCiAgICAgICAgaWYgKCRyZXN1bHRbJ05leHRNYXJrZXInXSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0R3JlYXRlclRoYW4oMCwgY291bnQoJHJlc3VsdFsnTG9hZEJhbGFuY2VyRGVzY3JpcHRpb25zJ10pKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGNvdW50KCRpZHMpLCBjb3VudCgkcmVzdWx0WydMb2FkQmFsYW5jZXJEZXNjcmlwdGlvbnMnXSkpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlc2NyaWJlc0xvYWRCYWxhbmNlclBvbGljeVR5cGVzKCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ0Rlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWNpZXMnKTsKICAgICAgICAkcmVzdWx0ID0gJGNvbW1hbmQtPmV4ZWN1dGUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90TnVsbCgkcmVzdWx0LT5nZXRQYXRoKCdSZXNwb25zZU1ldGFkYXRhL1JlcXVlc3RJZCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdhcnJheScsICRyZXN1bHRbJ1BvbGljeURlc2NyaXB0aW9ucyddKTsKCiAgICAgICAgaWYgKGNvdW50KCRyZXN1bHRbJ1BvbGljeURlc2NyaXB0aW9ucyddKSkgewogICAgICAgICAgICBmb3JlYWNoICgkcmVzdWx0WydQb2xpY3lEZXNjcmlwdGlvbnMnXSBhcyAkaSA9PiAkcCkgewogICAgICAgICAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGxpc3QgaXMgZW51bWVyYXRlZAogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnaW50ZWdlcicsICRpKTsKICAgICAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ3N0cmluZycsICRwWydQb2xpY3lOYW1lJ10pOwogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnc3RyaW5nJywgJHBbJ1BvbGljeVR5cGVOYW1lJ10pOwogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCAkcFsnUG9saWN5QXR0cmlidXRlRGVzY3JpcHRpb25zJ10pOwogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KDAsICRwWydQb2xpY3lBdHRyaWJ1dGVEZXNjcmlwdGlvbnMnXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElasticTranscoder/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElasticTranscoder/ElasticTranscoderClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRWxhc3RpY1RyYW5zY29kZXI7Cgp1c2UgQXdzXEVsYXN0aWNUcmFuc2NvZGVyXEVsYXN0aWNUcmFuc2NvZGVyQ2xpZW50OwoKY2xhc3MgRWxhc3RpY1RyYW5zY29kZXJDbGllbnRUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXEVsYXN0aWNUcmFuc2NvZGVyXEVsYXN0aWNUcmFuc2NvZGVyQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gRWxhc3RpY1RyYW5zY29kZXJDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLWVhc3QtMScKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0JywgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzJywgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9lbGFzdGljdHJhbnNjb2Rlci51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElasticTranscoder/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ElasticTranscoder/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRWxhc3RpY1RyYW5zY29kZXJcSW50ZWdyYXRpb247Cgp1c2UgQXdzXEVsYXN0aWNUcmFuc2NvZGVyXEVsYXN0aWNUcmFuc2NvZGVyQ2xpZW50Owp1c2UgQXdzXElhbVxJYW1DbGllbnQ7CnVzZSBBd3NcUzNcUzNDbGllbnQ7CgovKioKICogQGdyb3VwIGludGVncmF0aW9uCiAqLwpjbGFzcyBJbnRlZ3JhdGlvblRlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgY29uc3QgRFVNTVlfSUFNX1BPTElDWV9BU1NVTUVfUk9MRSA9ICd7IlN0YXRlbWVudCI6W3siRWZmZWN0IjoiQWxsb3ciLCJQcmluY2lwYWwiOnsiU2VydmljZSI6WyJlYzIuYW1hem9uYXdzLmNvbSJdfSwiQWN0aW9uIjpbInN0czpBc3N1bWVSb2xlIl19XX0nOwogICAgY29uc3QgRFVNTVlfSUFNX1BPTElDWV9BTExPV19TMyA9ICd7IlN0YXRlbWVudCI6W3siRWZmZWN0IjoiQWxsb3ciLCJBY3Rpb24iOiJzMzoqIiwiUmVzb3VyY2UiOiIqIn1dfSc7CgogICAgLyoqCiAgICAgKiBAdmFyIEVsYXN0aWNUcmFuc2NvZGVyQ2xpZW50CiAgICAgKi8KICAgIHByb3RlY3RlZCAkdHJhbnNjb2RlcjsKCiAgICAvKioKICAgICAqIEB2YXIgSWFtQ2xpZW50CiAgICAgKi8KICAgIHByb3RlY3RlZCAkaWFtOwoKICAgIC8qKgogICAgICogQHZhciBTM0NsaWVudAogICAgICovCiAgICBwcm90ZWN0ZWQgJHMzOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnRyYW5zY29kZXIgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdFbGFzdGljVHJhbnNjb2RlcicpOwogICAgICAgICR0aGlzLT5pYW0gPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdJYW0nKTsKICAgICAgICAkdGhpcy0+czMgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdTMycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QmFzaWNPcGVyYXRpb25zKCkKICAgIHsKICAgICAgICAkaW5wdXRCdWNrZXQgICA9ICdwaHAtaW50ZWctdHJhbnNjb2Rlci10ZXN0LWJ1Y2tldC1pbnB1dCc7CiAgICAgICAgJG91dHB1dEJ1Y2tldCAgPSAncGhwLWludGVnLXRyYW5zY29kZXItdGVzdC1idWNrZXQtb3V0cHV0JzsKICAgICAgICAkcm9sZU5hbWUgICAgICA9ICdwaHAtaW50ZWctdHJhbnNjb2Rlci10ZXN0LXJvbGUnOwogICAgICAgICRwb2xpY3lOYW1lICAgID0gJ3BocC1pbnRlZy10cmFuc2NvZGVyLXRlc3QtcG9saWN5JzsKICAgICAgICAkcGlwZWxpbmVOYW1lICA9ICdwaHAtaW50ZWctdHJhbnNjb2Rlci10ZXN0LXBpcGVsaW5lJzsKCiAgICAgICAgc2VsZjo6bG9nKCdDcmVhdGUgaW5wdXQgYW5kIG91dHB1dCBidWNrZXRzIGZvciB0aGUgRWxhc3RpYyBUcmFuc2NvZGVyIHBpcGVsaW5lLicpOwogICAgICAgICRjb21tYW5kcyA9IGFycmF5KCk7CiAgICAgICAgJGNvbW1hbmRzW10gPSAkdGhpcy0+czMtPmdldENvbW1hbmQoJ0NyZWF0ZUJ1Y2tldCcsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiAkaW5wdXRCdWNrZXQsCiAgICAgICAgKSk7CiAgICAgICAgJGNvbW1hbmRzW10gPSAkdGhpcy0+czMtPmdldENvbW1hbmQoJ0NyZWF0ZUJ1Y2tldCcsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiAkb3V0cHV0QnVja2V0LAogICAgICAgICkpOwogICAgICAgICR0aGlzLT5zMy0+ZXhlY3V0ZSgkY29tbWFuZHMpOwoKICAgICAgICBzZWxmOjpsb2coJ0NyZWF0ZSBhbiBJQU0gUm9sZSBmb3IgdGhlIEVsYXN0aWMgVHJhbnNjb2RlciBwaXBlbGluZS4nKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmlhbS0+Z2V0Q29tbWFuZCgnQ3JlYXRlUm9sZScsIGFycmF5KAogICAgICAgICAgICAnUm9sZU5hbWUnICAgICAgICAgICAgICAgICA9PiAkcm9sZU5hbWUsCiAgICAgICAgICAgICdBc3N1bWVSb2xlUG9saWN5RG9jdW1lbnQnID0+IHNlbGY6OkRVTU1ZX0lBTV9QT0xJQ1lfQVNTVU1FX1JPTEUsCiAgICAgICAgKSktPmdldFJlc3VsdCgpOwogICAgICAgICRyb2xlQXJuID0gJHJlc3VsdC0+Z2V0UGF0aCgnUm9sZS9Bcm4nKTsKCiAgICAgICAgc2VsZjo6bG9nKCdQdXQgYSBwb2xpY3kgb24gdGhlIElBTSBSb2xlIGZvciB0aGUgRWxhc3RpYyBUcmFuc2NvZGVyIHBpcGVsaW5lLicpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+aWFtLT5nZXRDb21tYW5kKCdQdXRSb2xlUG9saWN5JywgYXJyYXkoCiAgICAgICAgICAgICdQb2xpY3lOYW1lJyAgICAgPT4gJHBvbGljeU5hbWUsCiAgICAgICAgICAgICdSb2xlTmFtZScgICAgICAgPT4gJHJvbGVOYW1lLAogICAgICAgICAgICAnUG9saWN5RG9jdW1lbnQnID0+IHNlbGY6OkRVTU1ZX0lBTV9QT0xJQ1lfQUxMT1dfUzMsCiAgICAgICAgKSktPmdldFJlc3VsdCgpOwoKICAgICAgICBzZWxmOjpsb2coJ1VzZSBUZXN0Um9sZSB0byB2YWxpZGF0ZSBvdXIgcGlwZWxpbmUgaW5wdXRzLiBOT1RFOiBPdXJzIGFyZSBub3QgdmFsaWQgb24gcHVycG9zZS4nKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPnRyYW5zY29kZXItPmdldENvbW1hbmQoJ1Rlc3RSb2xlJywgYXJyYXkoCiAgICAgICAgICAgICdJbnB1dEJ1Y2tldCcgICA9PiAkaW5wdXRCdWNrZXQsCiAgICAgICAgICAgICdPdXRwdXRCdWNrZXQnICA9PiAkb3V0cHV0QnVja2V0LAogICAgICAgICAgICAnUm9sZScgICAgICAgICAgPT4gJHJvbGVBcm4sCiAgICAgICAgICAgICdUb3BpY3MnID0+IGFycmF5KCksCiAgICAgICAgKSktPmdldFJlc3VsdCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZhbHNlJywgJHJlc3VsdFsnU3VjY2VzcyddKTsKCiAgICAgICAgc2VsZjo6bG9nKCdDcmVhdGUgYW4gRWxhc3RpYyBUcmFuc2NvZGVyIHBpcGVsaW5lLicpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+dHJhbnNjb2Rlci0+Z2V0Q29tbWFuZCgnQ3JlYXRlUGlwZWxpbmUnLCBhcnJheSgKICAgICAgICAgICAgJ05hbWUnICAgICAgICAgID0+ICRwaXBlbGluZU5hbWUsCiAgICAgICAgICAgICdJbnB1dEJ1Y2tldCcgICA9PiAkaW5wdXRCdWNrZXQsCiAgICAgICAgICAgICdPdXRwdXRCdWNrZXQnICA9PiAkb3V0cHV0QnVja2V0LAogICAgICAgICAgICAnUm9sZScgICAgICAgICAgPT4gJHJvbGVBcm4sCiAgICAgICAgICAgICdOb3RpZmljYXRpb25zJyA9PiBhcnJheV9maWxsX2tleXMoYXJyYXkoJ1Byb2dyZXNzaW5nJywgJ0NvbXBsZXRlZCcsICdXYXJuaW5nJywgJ0Vycm9yJyksICcnKSwKICAgICAgICApKS0+Z2V0UmVzdWx0KCk7CiAgICAgICAgJHBpcGVsaW5lSWQgPSAkcmVzdWx0LT5nZXRQYXRoKCdQaXBlbGluZS9JZCcpOwoKICAgICAgICBzZWxmOjpsb2coJ01ha2Ugc3VyZSBjcmVhdGVkIEVsYXN0aWMgVHJhbnNjb2RlciBwaXBlbGluZSBpcyBpbiB0aGUgbGlzdCBvZiBwaXBlbGluZXMuJyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT50cmFuc2NvZGVyLT5nZXRDb21tYW5kKCdMaXN0UGlwZWxpbmVzJyktPmdldFJlc3VsdCgpOwogICAgICAgICRwaXBlbGluZU5hbWVzID0gJHJlc3VsdC0+Z2V0UGF0aCgnUGlwZWxpbmVzLyovTmFtZScpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygkcGlwZWxpbmVOYW1lLCAkcGlwZWxpbmVOYW1lcyk7CgogICAgICAgIHNlbGY6OmxvZygnTWFrZSBzdXJlIExpc3RQaXBlbGluZXMgaXRlcmF0b3Igd29ya3MuJyk7CiAgICAgICAgJGZvdW5kID0gZmFsc2U7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnRyYW5zY29kZXItPmdldEl0ZXJhdG9yKCdMaXN0UGlwZWxpbmVzJykgYXMgJHBpcGVsaW5lKSB7CiAgICAgICAgICAgIGlmICgkcGlwZWxpbmVbJ05hbWUnXSA9PSAkcGlwZWxpbmVOYW1lKSB7CiAgICAgICAgICAgICAgICAkZm91bmQgPSB0cnVlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCEkZm91bmQpIHsKICAgICAgICAgICAgJHRoaXMtPmZhaWwoJ0RpZCBub3QgZmluZCB0aGUgcGlwZWxpbmUgaW4gdGhlIGl0ZXJhdG9yIHJlc3VsdHMuJyk7CiAgICAgICAgfQoKICAgICAgICBzZWxmOjpsb2coJ01ha2Ugc3VyZSBjcmVhdGVkIEVsYXN0aWMgVHJhbnNjb2RlciBwaXBlbGluZSBjYW4gYmUgcmVhZC4nKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPnRyYW5zY29kZXItPmdldENvbW1hbmQoJ1JlYWRQaXBlbGluZScsIGFycmF5KAogICAgICAgICAgICAnSWQnID0+ICRwaXBlbGluZUlkLAogICAgICAgICkpLT5nZXRSZXN1bHQoKTs7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcGlwZWxpbmVOYW1lLCAkcmVzdWx0LT5nZXRQYXRoKCdQaXBlbGluZS9OYW1lJykpOwoKICAgICAgICBzZWxmOjpsb2coJ0RlbGV0ZSB0aGUgRWxhc3RpYyBUcmFuc2NvZGVyIHBpcGVsaW5lLicpOwogICAgICAgICRyZXNwb25zZSA9ICR0aGlzLT50cmFuc2NvZGVyLT5nZXRDb21tYW5kKCdEZWxldGVQaXBlbGluZScsIGFycmF5KAogICAgICAgICAgICAnSWQnID0+ICRwaXBlbGluZUlkLAogICAgICAgICkpLT5nZXRSZXNwb25zZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAyLCAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSk7CgogICAgICAgIHNlbGY6OmxvZygnRGVsZXRlIHRoZSBwb2xpY3kgZnJvbSB0aGUgSUFNIFJvbGUgZm9yIHRoZSBFbGFzdGljIFRyYW5zY29kZXIgcGlwZWxpbmUuJyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5pYW0tPmdldENvbW1hbmQoJ0RlbGV0ZVJvbGVQb2xpY3knLCBhcnJheSgKICAgICAgICAgICAgJ1BvbGljeU5hbWUnID0+ICRwb2xpY3lOYW1lLAogICAgICAgICAgICAnUm9sZU5hbWUnICAgPT4gJHJvbGVOYW1lLAogICAgICAgICkpLT5nZXRSZXN1bHQoKTsKCiAgICAgICAgc2VsZjo6bG9nKCdEZWxldGUgdGhlIElBTSBSb2xlIGZvciB0aGUgRWxhc3RpYyBUcmFuc2NvZGVyIHBpcGVsaW5lLicpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+aWFtLT5nZXRDb21tYW5kKCdEZWxldGVSb2xlJywgYXJyYXkoCiAgICAgICAgICAgICdSb2xlTmFtZScgPT4gJHJvbGVOYW1lLAogICAgICAgICkpLT5nZXRSZXN1bHQoKTsKCiAgICAgICAgc2VsZjo6bG9nKCdEZWxldGUgdGhlIGlucHV0IGFuZCBvdXRwdXQgYnVja2V0cyBmb3IgdGhlIEVsYXN0aWMgVHJhbnNjb2RlciBwaXBlbGluZS4nKTsKICAgICAgICAkY29tbWFuZHMgPSBhcnJheSgpOwogICAgICAgICRjb21tYW5kc1tdID0gJHRoaXMtPnMzLT5nZXRDb21tYW5kKCdEZWxldGVCdWNrZXQnLCBhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJGlucHV0QnVja2V0CiAgICAgICAgKSk7CiAgICAgICAgJGNvbW1hbmRzW10gPSAkdGhpcy0+czMtPmdldENvbW1hbmQoJ0RlbGV0ZUJ1Y2tldCcsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiAkb3V0cHV0QnVja2V0CiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPnMzLT5leGVjdXRlKCRjb21tYW5kcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xFbGFzdGljVHJhbnNjb2RlclxFeGNlcHRpb25cUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVycm9yUGFyc2luZygpCiAgICB7CiAgICAgICAgJHRoaXMtPnRyYW5zY29kZXItPmNhbmNlbEpvYihhcnJheSgnSWQnID0+ICcxMTExMTExMTExMTExLWFiY2RlZicpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Emr/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Emr/EmrClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRW1yOwoKdXNlIEF3c1xFbXJcRW1yQ2xpZW50OwoKY2xhc3MgRW1yQ2xpZW50VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xFbXJcRW1yQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gRW1yQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgICAgICdyZWdpb24nID0+ICd1cy13ZXN0LTInCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWNCcsICRjbGllbnQtPmdldFNpZ25hdHVyZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFscycsICRjbGllbnQtPmdldENyZWRlbnRpYWxzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHBzOi8vZWxhc3RpY21hcHJlZHVjZS51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Emr/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Emr/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcRW1yXEludGVncmF0aW9uOwoKdXNlIEF3c1xFYzJcRW51bVxJbnN0YW5jZVR5cGU7CnVzZSBBd3NcRW1yXEVtckNsaWVudDsKdXNlIEF3c1xFbXJcRW51bVxKb2JGbG93RXhlY3V0aW9uU3RhdGU7CgovKioKICogQGdyb3VwIGludGVncmF0aW9uCiAqLwpjbGFzcyBJbnRlZ3JhdGlvblRlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAdmFyIEVtckNsaWVudAogICAgICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdlbXInKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZUFuZERlbGV0ZUpvYkZsb3coKQogICAgewogICAgICAgIHNlbGY6OmxvZygnQ3JlYXRlIGEgam9iIGZsb3cnKTsKICAgICAgICAkam9iRmxvd05hbWUgPSAncGhwLWludGVnLXRlc3Qtam9iLWZsb3cnOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdSdW5Kb2JGbG93JywgYXJyYXkoCiAgICAgICAgICAgICdOYW1lJyAgICAgID0+ICRqb2JGbG93TmFtZSwKICAgICAgICAgICAgJ0luc3RhbmNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnSW5zdGFuY2VDb3VudCcgICAgICAgICAgICAgICA9PiAyLAogICAgICAgICAgICAgICAgJ0tlZXBKb2JGbG93QWxpdmVXaGVuTm9TdGVwcycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICdNYXN0ZXJJbnN0YW5jZVR5cGUnICAgICAgICAgID0+IEluc3RhbmNlVHlwZTo6TTFfU01BTEwsCiAgICAgICAgICAgICAgICAnU2xhdmVJbnN0YW5jZVR5cGUnICAgICAgICAgICA9PiBJbnN0YW5jZVR5cGU6Ok0xX1NNQUxMLAogICAgICAgICAgICApLAogICAgICAgICkpLT5nZXRSZXN1bHQoKTsKICAgICAgICAkam9iRmxvd0lkID0gJHJlc3VsdC0+Z2V0KCdKb2JGbG93SWQnKTsKCiAgICAgICAgc2VsZjo6bG9nKCdEZXNjcmliZSB0aGUgam9iIGZsb3dzIGFuZCBtYWtlIHN1cmUgdGhlIGpvYiBmbG93IGlzIHRoZXJlJyk7CiAgICAgICAgJGZvdW5kID0gZmFsc2U7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmNsaWVudC0+Z2V0SXRlcmF0b3IoJ0Rlc2NyaWJlSm9iRmxvd3MnLCBhcnJheSgKICAgICAgICAgICAgJ0NyZWF0ZWRBZnRlcicgPT4gJy0xMCBtaW51dGVzJwogICAgICAgICkpIGFzICRqb2JGbG93KSB7CiAgICAgICAgICAgIGlmICgkam9iRmxvd1snTmFtZSddID09PSAkam9iRmxvd05hbWUpIHsKICAgICAgICAgICAgICAgICRmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZm91bmQpOwoKICAgICAgICBzZWxmOjpsb2coJ0RlbGV0ZSB0aGUgam9iIGZsb3cnKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdUZXJtaW5hdGVKb2JGbG93cycsIGFycmF5KAogICAgICAgICAgICAnSm9iRmxvd0lkcycgPT4gYXJyYXkoJGpvYkZsb3dJZCkKICAgICAgICApKS0+ZXhlY3V0ZSgpOwoKICAgICAgICBzZWxmOjpsb2coJ0Rlc2NyaWJlIHRoZSBqb2IgZmxvd3MgYWdhaW4gYW5kIG1ha2Ugc3VyZSB0aGUgam9iIGZsb3cgaXMgbm8gbG9uZ2VyIHRoZXJlJyk7CiAgICAgICAgJHN0YXRlID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnRGVzY3JpYmVKb2JGbG93cycpLT5nZXRSZXN1bHQoKS0+Z2V0UGF0aCgnSm9iRmxvd3MvMC9FeGVjdXRpb25TdGF0dXNEZXRhaWwvU3RhdGUnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJHN0YXRlLCBhcnJheShKb2JGbG93RXhlY3V0aW9uU3RhdGU6OlNIVVRUSU5HX0RPV04sIEpvYkZsb3dFeGVjdXRpb25TdGF0ZTo6VEVSTUlOQVRFRCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/GlacierClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcR2xhY2llcjsKCnVzZSBBd3NcR2xhY2llclxHbGFjaWVyQ2xpZW50OwoKY2xhc3MgR2xhY2llckNsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcR2xhY2llclxHbGFjaWVyQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gR2xhY2llckNsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtd2VzdC0yJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQnLCAkY2xpZW50LT5nZXRTaWduYXR1cmUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHMnLCAkY2xpZW50LT5nZXRDcmVkZW50aWFscygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwczovL2dsYWNpZXIudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20nLCAkY2xpZW50LT5nZXRCYXNlVXJsKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy0nLCAkY2xpZW50LT5nZXRDb21tYW5kKCdMaXN0VmF1bHRzJyktPmdldCgnYWNjb3VudElkJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/GlacierUploadListenerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcR2xhY2llcjsKCnVzZSBBd3NcR2xhY2llclxHbGFjaWVyVXBsb2FkTGlzdGVuZXI7CnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKCi8qKgogKiBAY292ZXJzIEF3c1xHbGFjaWVyXEdsYWNpZXJVcGxvYWRMaXN0ZW5lcgogKi8KY2xhc3MgR2xhY2llclVwbG9hZExpc3RlbmVyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBhcmFtcwogICAgICogQHJldHVybiBcR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwcmVwYXJlVXBsb2FkQXJjaGl2ZUNvbW1hbmQoYXJyYXkgJHBhcmFtcyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2dsYWNpZXInKTsKICAgICAgICAkY29tbWFuZCA9ICRjbGllbnQtPmdldENvbW1hbmQoJ1VwbG9hZEFyY2hpdmUnLCBhcnJheV9tZXJnZShhcnJheSgKICAgICAgICAgICAgJ3ZhdWx0TmFtZScgICAgID0+ICdmb28nLAogICAgICAgICAgICAnYm9keScgICAgICAgICAgPT4gRW50aXR5Qm9keTo6ZmFjdG9yeShmb3BlbihfX0ZJTEVfXywgJ3InKSkKICAgICAgICApLCAkcGFyYW1zKSk7CiAgICAgICAgJGNvbW1hbmQtPnByZXBhcmUoKTsKCiAgICAgICAgJGxpc3RlbmVyID0gbmV3IEdsYWNpZXJVcGxvYWRMaXN0ZW5lcigpOwogICAgICAgICRldmVudCA9IG5ldyBFdmVudChhcnJheSgnY29tbWFuZCcgPT4gJGNvbW1hbmQpKTsKICAgICAgICAkbGlzdGVuZXItPm9uQ29tbWFuZEJlZm9yZVNlbmQoJGV2ZW50KTsKCiAgICAgICAgcmV0dXJuICRjb21tYW5kOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29udGVudEhhc2hHZXRzQWRkZWRUb1JlcXVlc3RIZWFkZXJzKCkKICAgIHsKICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHN1YnNjcmliZXIgcmV0dXJucyBpdHMgc3Vic2NyaXB0aW9ucwogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgR2xhY2llclVwbG9hZExpc3RlbmVyOjpnZXRTdWJzY3JpYmVkRXZlbnRzKCkpOwoKICAgICAgICAvLyBHZXQgYW4gdXBsb2FkIGFyY2hpdmUgY29tbWFuZCwgcHJlcGFyZSBpdCwgYW5kIGV4ZWN1dGUgdGhlIHVwbG9hZCBsaXN0ZW5lcgogICAgICAgICRjb21tYW5kID0gJHRoaXMtPnByZXBhcmVVcGxvYWRBcmNoaXZlQ29tbWFuZChhcnJheSgKICAgICAgICAgICAgJ0NvbnRlbnRTSEEyNTYnID0+IGhhc2goJ3NoYTI1NicsICdmb28nKQogICAgICAgICkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPmdldFJlcXVlc3QoKTsKCiAgICAgICAgLy8gQ29udGVudCBoYXNoIHNob3VsZCBiZSBzZXQsIGJ1dCB0cmVlIGhhc2ggc2hvdWxkIGJlIGVtcHR5IGJlY2F1c2UgdGhlIGNvbnRlbnQgaGFzaCB3YXMgZXhwbGljaXQKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJHJlcXVlc3QtPmdldEhlYWRlcigneC1hbXotY29udGVudC1zaGEyNTYnLCB0cnVlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVtcHR5KCRyZXF1ZXN0LT5nZXRIZWFkZXIoJ3gtYW16LXNoYTI1Ni10cmVlLWhhc2gnLCB0cnVlKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCb3RoSGFzaGVzR2V0R2VuZXJhdGVkQW5kQWRkZWRUb1JlcXVlc3RIZWFkZXJzKCkKICAgIHsKICAgICAgICAvLyBHZXQgYW4gdXBsb2FkIGFyY2hpdmUgY29tbWFuZCwgcHJlcGFyZSBpdCwgYW5kIGV4ZWN1dGUgdGhlIHVwbG9hZCBsaXN0ZW5lcgogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPnByZXBhcmVVcGxvYWRBcmNoaXZlQ29tbWFuZCgpLT5nZXRSZXF1ZXN0KCk7CgogICAgICAgIC8vIEJvdGggdGhlIGNvbnRlbnQgYW5kIHRyZWUgaGFzaCBzaG91bGQgYmUgc2V0IHNpbmNlIHdlIGRpZCBub3QgcHJvdmlkZSBhbnl0aGluZwogICAgICAgICR0aGlzLT5hc3NlcnROb3RFbXB0eSgkcmVxdWVzdC0+Z2V0SGVhZGVyKCd4LWFtei1jb250ZW50LXNoYTI1NicsIHRydWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJHJlcXVlc3QtPmdldEhlYWRlcigneC1hbXotc2hhMjU2LXRyZWUtaGFzaCcsIHRydWUpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcR2xhY2llclxJbnRlZ3JhdGlvbjsKCnVzZSBBd3NcQ29tbW9uXEVudW1cU2l6ZTsKdXNlIEF3c1xDb21tb25cRXhjZXB0aW9uXE11bHRpcGFydFVwbG9hZEV4Y2VwdGlvbjsKdXNlIEF3c1xHbGFjaWVyXEdsYWNpZXJDbGllbnQ7CnVzZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RUcmFuc2ZlciBhcyBUcmFuc2ZlcjsKdXNlIEF3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRCdWlsZGVyOwp1c2UgQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZFBhcnQ7CnVzZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkUGFydEdlbmVyYXRvcjsKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcSHR0cFxSZWFkTGltaXRFbnRpdHlCb2R5OwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIGNvbnN0IFRFU1RfVkFVTFQgPSAncGhwLXRlc3QtdmF1bHQnOwoKICAgIC8qKgogICAgICogQHZhciBHbGFjaWVyQ2xpZW50CiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2xpZW50OwoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc2V0VXBCZWZvcmVDbGFzcygpCiAgICB7CiAgICAgICAgLyoqIEB2YXIgJGdsYWNpZXIgR2xhY2llckNsaWVudCAqLwogICAgICAgICRnbGFjaWVyID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdnbGFjaWVyJyk7CiAgICAgICAgJGdsYWNpZXItPmNyZWF0ZVZhdWx0KGFycmF5KCd2YXVsdE5hbWUnID0+IHNlbGY6OlRFU1RfVkFVTFQpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdnbGFjaWVyJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcnVkVmF1bHRzKCkKICAgIHsKICAgICAgICAvLyBDcmVhdGUgdmF1bHQgbmFtZXMKICAgICAgICAkdmF1bHRQcmVmaXggPSBzZWxmOjpnZXRSZXNvdXJjZVByZWZpeCgpIC4gJy1waHAtZ2xhY2llci10ZXN0LSc7CiAgICAgICAgJHZhdWx0cyA9IGFycmF5KCk7CiAgICAgICAgZm9yICgkaSA9IDE7ICRpIDw9IDU7ICRpKyspIHsKICAgICAgICAgICAgJHZhdWx0c1tdID0gJHZhdWx0UHJlZml4IC4gJGk7CiAgICAgICAgfQoKICAgICAgICAvLyBFc3RhYmxpc2ggdmF1bHQgZmlsdGVyCiAgICAgICAgJGdldFZhdWx0TGlzdCA9IGZ1bmN0aW9uICgkdmF1bHQpIHVzZSAoJHZhdWx0UHJlZml4KSB7CiAgICAgICAgICAgIHJldHVybiAoc3RycG9zKCR2YXVsdFsnVmF1bHROYW1lJ10sICR2YXVsdFByZWZpeCkgPT09IDApOwogICAgICAgIH07CgogICAgICAgIC8vIENyZWF0ZSB2YXVsdHMgYW5kIHZlcmlmeSBleGlzdGVuY2UKICAgICAgICBmb3JlYWNoICgkdmF1bHRzIGFzICR2YXVsdCkgewogICAgICAgICAgICAkdGhpcy0+Y2xpZW50LT5jcmVhdGVWYXVsdChhcnJheSgndmF1bHROYW1lJyA9PiAkdmF1bHQpKTsKICAgICAgICAgICAgJHRoaXMtPmNsaWVudC0+d2FpdFVudGlsKCdWYXVsdEV4aXN0cycsIGFycmF5KCd2YXVsdE5hbWUnID0+ICR2YXVsdCwgJ3dhaXRlci5tYXhfYXR0ZW1wdHMnID0+IDMpKTsKICAgICAgICB9CiAgICAgICAgJGxpc3RWYXVsdHMgPSAkdGhpcy0+Y2xpZW50LT5nZXRJdGVyYXRvcignTGlzdFZhdWx0cycsIGFycmF5KCdsaW1pdCcgPT4gJzUnKSk7CiAgICAgICAgJHZhdWx0TGlzdCA9IGFycmF5X2ZpbHRlcihpdGVyYXRvcl90b19hcnJheSgkbGlzdFZhdWx0cyksICRnZXRWYXVsdExpc3QpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCg1LCAkdmF1bHRMaXN0KTsKCiAgICAgICAgLy8gRGVsZXRlIHZhdWx0cyBhbmQgdmVyaWZ5IGRlbGV0aW9uCiAgICAgICAgZm9yZWFjaCAoJHZhdWx0cyBhcyAkdmF1bHQpIHsKICAgICAgICAgICAgJHRoaXMtPmNsaWVudC0+ZGVsZXRlVmF1bHQoYXJyYXkoJ3ZhdWx0TmFtZScgPT4gJHZhdWx0KSk7CiAgICAgICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbCgnVmF1bHROb3RFeGlzdHMnLCBhcnJheSgndmF1bHROYW1lJyA9PiAkdmF1bHQpKTsKICAgICAgICB9CiAgICAgICAgJGxpc3RWYXVsdHMgPSAkdGhpcy0+Y2xpZW50LT5nZXRJdGVyYXRvcignTGlzdFZhdWx0cycpOwogICAgICAgICR2YXVsdExpc3QgPSBhcnJheV9maWx0ZXIoaXRlcmF0b3JfdG9fYXJyYXkoJGxpc3RWYXVsdHMpLCAkZ2V0VmF1bHRMaXN0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoMCwgJHZhdWx0TGlzdCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVcGxvYWRBbmREZWxldGVBcmNoaXZlcygpCiAgICB7CiAgICAgICAgc2VsZjo6bG9nKCdDcmVhdGUgYSA2TUIrIHN0cmluZyBvZiB0ZXN0IGRhdGEgdG8gdXBsb2FkLicpOwogICAgICAgICRsZW5ndGggICA9IDYgKiBTaXplOjpNQiArIDQyNTsKICAgICAgICAkY29udGVudCAgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KHN0cl9yZXBlYXQoJ3gnLCAkbGVuZ3RoKSk7CiAgICAgICAgJHBhcnRTaXplID0gNCAqIFNpemU6Ok1COwoKICAgICAgICBzZWxmOjpsb2coJ1BlcmZvcm0gYSBzaW5nbGUgdXBsb2FkLicpOwogICAgICAgICRhcmNoaXZlSWQgPSAkdGhpcy0+Y2xpZW50LT51cGxvYWRBcmNoaXZlKGFycmF5KAogICAgICAgICAgICAndmF1bHROYW1lJyAgICAgICAgICA9PiBzZWxmOjpURVNUX1ZBVUxULAogICAgICAgICAgICAnYXJjaGl2ZURlc2NyaXB0aW9uJyA9PiAnRm9vICAgYmFyICAgMScsCiAgICAgICAgICAgICdib2R5JyAgICAgICAgICAgICAgID0+ICRjb250ZW50LAogICAgICAgICkpLT5nZXQoJ2FyY2hpdmVJZCcpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RFbXB0eSgkYXJjaGl2ZUlkKTsKCiAgICAgICAgc2VsZjo6bG9nKCdEZWxldGUgdGhlIGFyY2hpdmUgdGhhdCB3YXMganVzdCB1cGxvYWRlZC4nKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5kZWxldGVBcmNoaXZlKGFycmF5KAogICAgICAgICAgICAndmF1bHROYW1lJyA9PiBzZWxmOjpURVNUX1ZBVUxULAogICAgICAgICAgICAnYXJjaGl2ZUlkJyA9PiAkYXJjaGl2ZUlkCiAgICAgICAgKSk7CgogICAgICAgIHNsZWVwKDMpOwoKICAgICAgICBzZWxmOjpsb2coJ0luaXRpYXRlIGEgbXVsdGlwYXJ0IHVwbG9hZCB3aXRoIGEgcGFydCBzaXplIG9mICcgLiAkcGFydFNpemUgLiAnIGJ5dGVzLicpOwogICAgICAgICRnZW5lcmF0b3IgPSBVcGxvYWRQYXJ0R2VuZXJhdG9yOjpmYWN0b3J5KCRjb250ZW50LCAkcGFydFNpemUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGxlbmd0aCwgJGdlbmVyYXRvci0+Z2V0QXJjaGl2ZVNpemUoKSk7CiAgICAgICAgJHVwbG9hZElkID0gJHRoaXMtPmNsaWVudC0+aW5pdGlhdGVNdWx0aXBhcnRVcGxvYWQoYXJyYXkoCiAgICAgICAgICAgICd2YXVsdE5hbWUnICAgICAgICAgID0+IHNlbGY6OlRFU1RfVkFVTFQsCiAgICAgICAgICAgICdhcmNoaXZlRGVzY3JpcHRpb24nID0+ICdGb28gICBiYXIgICAyJywKICAgICAgICAgICAgJ3BhcnRTaXplJyAgICAgICAgICAgPT4gJHBhcnRTaXplLAogICAgICAgICkpLT5nZXQoJ3VwbG9hZElkJyk7CiAgICAgICAgLyoqIEB2YXIgJHBhcnQgVXBsb2FkUGFydCAqLwogICAgICAgIGZvcmVhY2ggKCRnZW5lcmF0b3IgYXMgJHBhcnQpIHsKICAgICAgICAgICAgc2VsZjo6bG9nKCdVcGxvYWQgYnl0ZXMgJyAuIGpvaW4oJy0nLCAkcGFydC0+Z2V0UmFuZ2UoKSkgLiAnLicpOwogICAgICAgICAgICAkdGhpcy0+Y2xpZW50LT51cGxvYWRNdWx0aXBhcnRQYXJ0KGFycmF5KAogICAgICAgICAgICAgICAgJ3ZhdWx0TmFtZScgICAgID0+IHNlbGY6OlRFU1RfVkFVTFQsCiAgICAgICAgICAgICAgICAndXBsb2FkSWQnICAgICAgPT4gJHVwbG9hZElkLAogICAgICAgICAgICAgICAgJ3JhbmdlJyAgICAgICAgID0+ICRwYXJ0LT5nZXRGb3JtYXR0ZWRSYW5nZSgpLAogICAgICAgICAgICAgICAgJ2NoZWNrc3VtJyAgICAgID0+ICRwYXJ0LT5nZXRDaGVja3N1bSgpLAogICAgICAgICAgICAgICAgJ0NvbnRlbnRTSEEyNTYnID0+ICRwYXJ0LT5nZXRDb250ZW50SGFzaCgpLAogICAgICAgICAgICAgICAgJ2JvZHknICAgICAgICAgID0+IG5ldyBSZWFkTGltaXRFbnRpdHlCb2R5KCRjb250ZW50LCAkcGFydC0+Z2V0U2l6ZSgpLCAkcGFydC0+Z2V0T2Zmc2V0KCkpLAogICAgICAgICAgICApKTsKICAgICAgICAgICAgc2xlZXAoMyk7CiAgICAgICAgfQogICAgICAgIHNlbGY6OmxvZygnQ29tcGxldGUgdGhlIG11bHRpcGFydCB1cGxvYWQuJyk7CiAgICAgICAgJGFyY2hpdmVJZCA9ICR0aGlzLT5jbGllbnQtPmNvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkKGFycmF5KAogICAgICAgICAgICAndmF1bHROYW1lJyAgID0+IHNlbGY6OlRFU1RfVkFVTFQsCiAgICAgICAgICAgICd1cGxvYWRJZCcgICAgPT4gJHVwbG9hZElkLAogICAgICAgICAgICAnYXJjaGl2ZVNpemUnID0+ICRnZW5lcmF0b3ItPmdldEFyY2hpdmVTaXplKCksCiAgICAgICAgICAgICdjaGVja3N1bScgICAgPT4gJGdlbmVyYXRvci0+Z2V0Um9vdENoZWNrc3VtKCksCiAgICAgICAgKSktPmdldCgnYXJjaGl2ZUlkJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KCRhcmNoaXZlSWQpOwoKICAgICAgICBzZWxmOjpsb2coJ0RlbGV0ZSB0aGUgYXJjaGl2ZSB0aGF0IHdhcyBqdXN0IHVwbG9hZGVkIGluIHBhcnRzLicpOwogICAgICAgICR0aGlzLT5jbGllbnQtPmRlbGV0ZUFyY2hpdmUoYXJyYXkoCiAgICAgICAgICAgICd2YXVsdE5hbWUnID0+IHNlbGY6OlRFU1RfVkFVTFQsCiAgICAgICAgICAgICdhcmNoaXZlSWQnID0+ICRhcmNoaXZlSWQKICAgICAgICApKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE11bHRpcGFydFVwbG9hZEFic3RyYWN0aW9ucygpCiAgICB7CiAgICAgICAgJHNvdXJjZSA9IEVudGl0eUJvZHk6OmZhY3Rvcnkoc3RyX3JlcGVhdCgneCcsIDYgKiBTaXplOjpNQiArIDQyNSkpOwoKICAgICAgICAvKiogQHZhciAkdHJhbnNmZXIgVHJhbnNmZXIgKi8KICAgICAgICAkdHJhbnNmZXIgPSBVcGxvYWRCdWlsZGVyOjpuZXdJbnN0YW5jZSgpCiAgICAgICAgICAgIC0+c2V0Q2xpZW50KCR0aGlzLT5jbGllbnQpCiAgICAgICAgICAgIC0+c2V0U291cmNlKCRzb3VyY2UpCiAgICAgICAgICAgIC0+c2V0VmF1bHROYW1lKHNlbGY6OlRFU1RfVkFVTFQpCiAgICAgICAgICAgIC0+c2V0UGFydFNpemUoU2l6ZTo6TUIpCiAgICAgICAgICAgIC0+c2V0QXJjaGl2ZURlc2NyaXB0aW9uKCdGb28gICBiYXIgICAzJykKICAgICAgICAgICAgLT5idWlsZCgpOwoKICAgICAgICAkdHJhbnNmZXItPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcigkdHJhbnNmZXI6OkJFRk9SRV9QQVJUX1VQTE9BRCwgZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgICAgICBzdGF0aWMgJGNvdW50ID0gMDsKICAgICAgICAgICAgaWYgKCRjb3VudCA+IDIpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBcRXhjZXB0aW9uOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRjb3VudCsrOwogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAkdHJhbnNmZXItPnVwbG9hZCgpOwogICAgICAgICAgICAkc2VyaWFsaXplZFN0YXRlID0gbnVsbDsKICAgICAgICAgICAgJHRoaXMtPmZhaWwoJ1VuZXhwZWN0ZWQgY29kZSBleGVjdXRpb24gLSBleGl0IHBvaW50IDEnKTsKICAgICAgICB9IGNhdGNoIChNdWx0aXBhcnRVcGxvYWRFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgJHNlcmlhbGl6ZWRTdGF0ZSA9IHNlcmlhbGl6ZSgkZS0+Z2V0U3RhdGUoKSk7CiAgICAgICAgfQoKICAgICAgICAkc3RhdGUgPSB1bnNlcmlhbGl6ZSgkc2VyaWFsaXplZFN0YXRlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFRyYW5zZmVyU3RhdGUnLCAkc3RhdGUpOwoKICAgICAgICAvKiogQHZhciAkdHJhbnNmZXIgVHJhbnNmZXIgKi8KICAgICAgICAkdHJhbnNmZXIgPSBVcGxvYWRCdWlsZGVyOjpuZXdJbnN0YW5jZSgpCiAgICAgICAgICAgIC0+c2V0Q2xpZW50KCR0aGlzLT5jbGllbnQpCiAgICAgICAgICAgIC0+c2V0U291cmNlKCRzb3VyY2UpCiAgICAgICAgICAgIC0+c2V0VmF1bHROYW1lKHNlbGY6OlRFU1RfVkFVTFQpCiAgICAgICAgICAgIC0+cmVzdW1lRnJvbSgkc3RhdGUpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHJlc3VsdCA9ICR0cmFuc2Zlci0+dXBsb2FkKCk7CiAgICAgICAgfSBjYXRjaCAoTXVsdGlwYXJ0VXBsb2FkRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICRyZXN1bHQgPSBudWxsOwogICAgICAgICAgICAkdGhpcy0+ZmFpbCgnVW5leHBlY3RlZCBjb2RlIGV4ZWN1dGlvbiAtIGV4aXQgcG9pbnQgMicpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KCRyZXN1bHRbJ2FyY2hpdmVJZCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRyZXN1bHRbJ2NoZWNrc3VtJ10sICR0cmFuc2Zlci0+Z2V0U3RhdGUoKS0+Z2V0UGFydEdlbmVyYXRvcigpLT5nZXRSb290Q2hlY2tzdW0oKSk7CgogICAgICAgICR0aGlzLT5jbGllbnQtPmRlbGV0ZUFyY2hpdmUoYXJyYXkoCiAgICAgICAgICAgICd2YXVsdE5hbWUnID0+IHNlbGY6OlRFU1RfVkFVTFQsCiAgICAgICAgICAgICdhcmNoaXZlSWQnID0+ICRyZXN1bHRbJ2FyY2hpdmVJZCddCiAgICAgICAgKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Model/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Model/MultipartUpload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Model/MultipartUpload/AbstractTransferTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VHJhbnNmZXI7CnVzZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVHJhbnNmZXJTdGF0ZTsKdXNlIEF3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRQYXJ0Owp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKCi8qKgogKiBAY292ZXJzIEF3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFRyYW5zZmVyCiAqLwpjbGFzcyBBYnN0cmFjdFRyYW5zZmVyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqIEB2YXIgXEF3c1xHbGFjaWVyXEdsYWNpZXJDbGllbnQgKi8KICAgIHByb3RlY3RlZCAkY2xpZW50OwoKICAgIC8qKiBAdmFyIFxBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RUcmFuc2ZlciAqLwogICAgcHJvdGVjdGVkICR0cmFuc2ZlcjsKCiAgICBwdWJsaWMgZnVuY3Rpb24gcHJlcGFyZVRyYW5zZmVyKCR1c2VSZWFsQ2xpZW50ID0gZmFsc2UpCiAgICB7CiAgICAgICAgJHVwbG9hZElkID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkSWQnKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ3RvUGFyYW1zJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICR1cGxvYWRJZC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCd0b1BhcmFtcycpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoYXJyYXkoCiAgICAgICAgICAgICAgICAnYWNjb3VudElkJyA9PiAnLScsCiAgICAgICAgICAgICAgICAndmF1bHROYW1lJyA9PiAnZm9vJywKICAgICAgICAgICAgICAgICd1cGxvYWRJZCcgID0+ICdiYXInCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJGdlbmVyYXRvciA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZFBhcnRHZW5lcmF0b3InKQogICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJGdlbmVyYXRvci0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRQYXJ0U2l6ZScpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoMTAyNCAqIDEwMjQpKTsKCiAgICAgICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KGZvcGVuKF9fRklMRV9fLCAncicpKTsKCiAgICAgICAgaWYgKCR1c2VSZWFsQ2xpZW50KSB7CiAgICAgICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdnbGFjaWVyJywgdHJ1ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXEdsYWNpZXJcR2xhY2llckNsaWVudCcpCiAgICAgICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgIH0KCiAgICAgICAgJHN0YXRlID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVHJhbnNmZXJTdGF0ZScpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkc3RhdGUtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0VXBsb2FkSWQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCR1cGxvYWRJZCkpOwogICAgICAgICRzdGF0ZS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRQYXJ0R2VuZXJhdG9yJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkZ2VuZXJhdG9yKSk7CgogICAgICAgICR0aGlzLT5jbGllbnQgPSAkY2xpZW50OwogICAgICAgICR0aGlzLT50cmFuc2ZlciA9ICR0aGlzLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygnQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VHJhbnNmZXInLCBhcnJheSgKICAgICAgICAgICAgJGNsaWVudCwgJHN0YXRlLCAkYm9keQogICAgICAgICkpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjYWxsUHJvdGVjdGVkTWV0aG9kKCRvYmplY3QsICRtZXRob2QsIGFycmF5ICRhcmdzID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkcmVmbGVjdGVkT2JqZWN0ID0gbmV3IFxSZWZsZWN0aW9uT2JqZWN0KCRvYmplY3QpOwogICAgICAgICRyZWZsZWN0ZWRNZXRob2QgPSAkcmVmbGVjdGVkT2JqZWN0LT5nZXRNZXRob2QoJG1ldGhvZCk7CiAgICAgICAgJHJlZmxlY3RlZE1ldGhvZC0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKCiAgICAgICAgcmV0dXJuICRyZWZsZWN0ZWRNZXRob2QtPmludm9rZUFyZ3MoJG9iamVjdCwgJGFyZ3MpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuR2V0UGFydFNpemUoKQogICAgewogICAgICAgICR0aGlzLT5wcmVwYXJlVHJhbnNmZXIoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEwMjQgKiAxMDI0LCAkdGhpcy0+Y2FsbFByb3RlY3RlZE1ldGhvZCgkdGhpcy0+dHJhbnNmZXIsICdjYWxjdWxhdGVQYXJ0U2l6ZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkKCkKICAgIHsKICAgICAgICAkdGhpcy0+cHJlcGFyZVRyYW5zZmVyKCk7CgogICAgICAgICRtb2RlbCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWwnKQogICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcT3BlcmF0aW9uQ29tbWFuZCcpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkY29tbWFuZC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRSZXN1bHQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRtb2RlbCkpOwogICAgICAgICR0aGlzLT5jbGllbnQtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0Q29tbWFuZCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJGNvbW1hbmQpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoCiAgICAgICAgICAgICdHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbCcsCiAgICAgICAgICAgICR0aGlzLT5jYWxsUHJvdGVjdGVkTWV0aG9kKCR0aGlzLT50cmFuc2ZlciwgJ2NvbXBsZXRlJykKICAgICAgICApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuR2V0QWJvcnRDb21tYW5kKCkKICAgIHsKICAgICAgICAkdGhpcy0+cHJlcGFyZVRyYW5zZmVyKHRydWUpOwoKICAgICAgICAkYWJvcnRDb21tYW5kID0gJHRoaXMtPmNhbGxQcm90ZWN0ZWRNZXRob2QoJHRoaXMtPnRyYW5zZmVyLCAnZ2V0QWJvcnRDb21tYW5kJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcT3BlcmF0aW9uQ29tbWFuZCcsICRhYm9ydENvbW1hbmQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICRhYm9ydENvbW1hbmQtPmdldCgndmF1bHROYW1lJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuR2V0Q29tbWFuZEZvclVwbG9hZFBhcnQoKQogICAgewogICAgICAgICR0aGlzLT5wcmVwYXJlVHJhbnNmZXIodHJ1ZSk7CgogICAgICAgICRwYXJ0ID0gVXBsb2FkUGFydDo6ZnJvbUFycmF5KGFycmF5KAogICAgICAgICAgICAncGFydE51bWJlcicgID0+IDEsCiAgICAgICAgICAgICdjaGVja3N1bScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdjb250ZW50SGFzaCcgPT4gJ2JhcicsCiAgICAgICAgICAgICdzaXplJyAgICAgICAgPT4gMTAsCiAgICAgICAgICAgICdvZmZzZXQnICAgICAgPT4gNQogICAgICAgICkpOwoKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5jYWxsUHJvdGVjdGVkTWV0aG9kKCR0aGlzLT50cmFuc2ZlciwgJ2dldENvbW1hbmRGb3JQYXJ0JywgYXJyYXkoJHBhcnQsIHRydWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxPcGVyYXRpb25Db21tYW5kJywgJGNvbW1hbmQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICRjb21tYW5kLT5nZXQoJ2NoZWNrc3VtJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Model/MultipartUpload/ParallelTransferTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFRyYW5zZmVyU3RhdGU7CnVzZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcUGFyYWxsZWxUcmFuc2ZlcjsKdXNlIEF3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRQYXJ0R2VuZXJhdG9yOwp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHlJbnRlcmZhY2U7CgovLyBTcGVjaWFsIHRlc3QgY2xhc3MgZm9yIGNoZWF0aW5nIHRoZSBwYXJ0U2l6ZSA6LSgKY2xhc3MgU3BlY2lhbFVwbG9hZFBhcnRHZW5lcmF0b3IgZXh0ZW5kcyBVcGxvYWRQYXJ0R2VuZXJhdG9yIHsKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZW5lcmF0ZVVwbG9hZFBhcnRzKEVudGl0eUJvZHlJbnRlcmZhY2UgJGJvZHkpIHsKICAgICAgICAkdGhpcy0+cGFydFNpemUgPSAxMDI0OwogICAgICAgIHBhcmVudDo6Z2VuZXJhdGVVcGxvYWRQYXJ0cygkYm9keSk7CiAgICB9Cn0KCi8qKgogKiBAY292ZXJzIEF3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxQYXJhbGxlbFRyYW5zZmVyCiAqLwpjbGFzcyBQYXJhbGxlbFRyYW5zZmVyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldE1vY2tVcGxvYWRJZCgpCiAgICB7CiAgICAgICAgJHVwbG9hZElkID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkSWQnKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ3RvUGFyYW1zJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICR1cGxvYWRJZC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCd0b1BhcmFtcycpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoYXJyYXkoCiAgICAgICAgICAgICAgICAnYWNjb3VudElkJyA9PiAnLScsCiAgICAgICAgICAgICAgICAndmF1bHROYW1lJyA9PiAnZm9vJywKICAgICAgICAgICAgICAgICd1cGxvYWRJZCcgID0+ICdiYXInCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgcmV0dXJuICR1cGxvYWRJZDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJlcENvbXBvbmVudHMoKQogICAgewogICAgICAgICR1cGxvYWRJZCA9ICR0aGlzLT5nZXRNb2NrVXBsb2FkSWQoKTsKICAgICAgICAkYm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoZm9wZW4oX19GSUxFX18sICdyJykpOwoKICAgICAgICAkZ2VuZXJhdG9yID0gU3BlY2lhbFVwbG9hZFBhcnRHZW5lcmF0b3I6OmZhY3RvcnkoJGJvZHksIDEwMjQgKiAxMDI0KTsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZ2xhY2llcicsIHRydWUpOwogICAgICAgICRzdGF0ZSA9IG5ldyBUcmFuc2ZlclN0YXRlKCR1cGxvYWRJZCk7CiAgICAgICAgJHN0YXRlLT5zZXRQYXJ0R2VuZXJhdG9yKCRnZW5lcmF0b3IpOwogICAgICAgICR0cmFuc2ZlciA9IG5ldyBQYXJhbGxlbFRyYW5zZmVyKCRjbGllbnQsICRzdGF0ZSwgJGJvZHksIGFycmF5KCdjb25jdXJyZW5jeScgPT4gMikpOwoKICAgICAgICByZXR1cm4gYXJyYXkoJHRyYW5zZmVyLCAkY2xpZW50LCAkc3RhdGUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U3VjY2Vzc2Z1bFRyYW5zZmVyKCkKICAgIHsKICAgICAgICBsaXN0KCR0cmFuc2ZlciwgJGNsaWVudCkgPSAkdGhpcy0+cHJlcENvbXBvbmVudHMoKTsKCiAgICAgICAgJG1vY2tzID0gYXJyYXkoKTsKICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCBpbnR2YWwoY2VpbChmaWxlc2l6ZShfX0ZJTEVfXykgLyAxMDI0KSk7ICRpKyspIHsKICAgICAgICAgICAgJG1vY2tzW10gPSAnZ2xhY2llci91cGxvYWRfcGFydCc7CiAgICAgICAgfQogICAgICAgICRtb2Nrc1tdID0gJ2dsYWNpZXIvY29tcGxldGVfbXVsdGlwYXJ0X3VwbG9hZCc7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsICRtb2Nrcyk7CgogICAgICAgICRyZXN1bHQgPSAkdHJhbnNmZXItPnVwbG9hZCgpOwoKICAgICAgICAkcmVxdWVzdHMgPSAkbW9jay0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cygpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGkgKyAxLCBjb3VudCgkcmVxdWVzdHMpKTsKICAgICAgICBmb3IgKCRqID0gMDsgJGogPCAkaTsgJGorKykgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQVVQnLCAkcmVxdWVzdHNbJGpdLT5nZXRNZXRob2QoKSk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BVVCcsICRyZXF1ZXN0c1s0XS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbCcsICRyZXN1bHQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U3RvcHBpbmdXaWxsU3RvcFRyYW5zZmVyKCkKICAgIHsKICAgICAgICBsaXN0KCR0cmFuc2ZlcikgPSAkdGhpcy0+cHJlcENvbXBvbmVudHMoKTsKCiAgICAgICAgJHRyYW5zZmVyLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoUGFyYWxsZWxUcmFuc2Zlcjo6QkVGT1JFX1BBUlRfVVBMT0FELCBmdW5jdGlvbigkZXZlbnQpIHsKICAgICAgICAgICAgJGV2ZW50Wyd0cmFuc2ZlciddLT5zdG9wKCk7CiAgICAgICAgfSk7CgogICAgICAgICRyZXN1bHQgPSAkdHJhbnNmZXItPnVwbG9hZCgpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkcmVzdWx0KTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc1RoZUZpbGVJc0xvY2FsQW5kU2Vla2FibGUoKQogICAgewogICAgICAgICR0cmFuc2ZlciA9IG5ldyBQYXJhbGxlbFRyYW5zZmVyKAogICAgICAgICAgICAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdnbGFjaWVyJyksCiAgICAgICAgICAgIG5ldyBUcmFuc2ZlclN0YXRlKCR0aGlzLT5nZXRNb2NrVXBsb2FkSWQoKSksCiAgICAgICAgICAgIEVudGl0eUJvZHk6OmZhY3RvcnkoJ2ZvbycpCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc0NvbmN1cnJlbmN5SXNTcGVjaWZpZWQoKQogICAgewogICAgICAgICR0cmFuc2ZlciA9IG5ldyBQYXJhbGxlbFRyYW5zZmVyKAogICAgICAgICAgICAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdnbGFjaWVyJyksCiAgICAgICAgICAgIG5ldyBUcmFuc2ZlclN0YXRlKCR0aGlzLT5nZXRNb2NrVXBsb2FkSWQoKSksCiAgICAgICAgICAgIEVudGl0eUJvZHk6OmZhY3RvcnkoZm9wZW4oX19GSUxFX18sICdyJykpCiAgICAgICAgKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Model/MultipartUpload/SerialTransferTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFRyYW5zZmVyU3RhdGU7CnVzZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcU2VyaWFsVHJhbnNmZXI7CnVzZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkUGFydEdlbmVyYXRvcjsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CgovKioKICogQGNvdmVycyBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcU2VyaWFsVHJhbnNmZXIKICovCmNsYXNzIFNlcmlhbFRyYW5zZmVyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHByZXBDb21wb25lbnRzKCkKICAgIHsKICAgICAgICAkdXBsb2FkSWQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRJZCcpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgndG9QYXJhbXMnKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJHVwbG9hZElkLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3RvUGFyYW1zJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShhcnJheSgKICAgICAgICAgICAgICAgICdhY2NvdW50SWQnID0+ICctJywKICAgICAgICAgICAgICAgICd2YXVsdE5hbWUnID0+ICdmb28nLAogICAgICAgICAgICAgICAgJ3VwbG9hZElkJyAgPT4gJ2JhcicKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkYm9keSA9IEVudGl0eUJvZHk6OmZhY3Rvcnkoc3RyX3JlcGVhdCgneCcsIDEwMjQgKiAxMDI0ICsgMTAyNCkpOwogICAgICAgICRnZW5lcmF0b3IgPSBVcGxvYWRQYXJ0R2VuZXJhdG9yOjpmYWN0b3J5KCRib2R5LCAxMDI0ICogMTAyNCk7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2dsYWNpZXInLCB0cnVlKTsKICAgICAgICAkc3RhdGUgPSBuZXcgVHJhbnNmZXJTdGF0ZSgkdXBsb2FkSWQpOwogICAgICAgICRzdGF0ZS0+c2V0UGFydEdlbmVyYXRvcigkZ2VuZXJhdG9yKTsKICAgICAgICAkdHJhbnNmZXIgPSBuZXcgU2VyaWFsVHJhbnNmZXIoJGNsaWVudCwgJHN0YXRlLCAkYm9keSk7CgogICAgICAgIHJldHVybiBhcnJheSgkdHJhbnNmZXIsICRjbGllbnQsICRzdGF0ZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdWNjZXNzZnVsVHJhbnNmZXIoKQogICAgewogICAgICAgIGxpc3QoJHRyYW5zZmVyLCAkY2xpZW50KSA9ICR0aGlzLT5wcmVwQ29tcG9uZW50cygpOwoKICAgICAgICAkbW9jayA9ICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgICdnbGFjaWVyL3VwbG9hZF9wYXJ0JywKICAgICAgICAgICAgJ2dsYWNpZXIvdXBsb2FkX3BhcnQnLAogICAgICAgICAgICAnZ2xhY2llci9jb21wbGV0ZV9tdWx0aXBhcnRfdXBsb2FkJwogICAgICAgICkpOwoKICAgICAgICAkcmVzdWx0ID0gJHRyYW5zZmVyLT51cGxvYWQoKTsKCiAgICAgICAgJHJlcXVlc3RzID0gJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCRyZXF1ZXN0cykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BVVCcsICRyZXF1ZXN0c1swXS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BVVCcsICRyZXF1ZXN0c1sxXS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BPU1QnLCAkcmVxdWVzdHNbMl0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWwnLCAkcmVzdWx0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFN0b3BwaW5nV2lsbFN0b3BUcmFuc2ZlcigpCiAgICB7CiAgICAgICAgbGlzdCgkdHJhbnNmZXIpID0gJHRoaXMtPnByZXBDb21wb25lbnRzKCk7CgogICAgICAgICR0cmFuc2Zlci0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKFNlcmlhbFRyYW5zZmVyOjpCRUZPUkVfUEFSVF9VUExPQUQsIGZ1bmN0aW9uKCRldmVudCkgewogICAgICAgICAgICAkZXZlbnRbJ3RyYW5zZmVyJ10tPnN0b3AoKTsKICAgICAgICB9KTsKCiAgICAgICAgJHJlc3VsdCA9ICR0cmFuc2Zlci0+dXBsb2FkKCk7CgogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRyZXN1bHQpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Model/MultipartUpload/TransferStateTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFRyYW5zZmVyU3RhdGU7CnVzZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkSWQ7CgovKioKICogQGNvdmVycyBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVHJhbnNmZXJTdGF0ZQogKi8KY2xhc3MgVHJhbnNmZXJTdGF0ZVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RnJvbVVwbG9hZElkRmFjdG9yeVdvcmtzKCkKICAgIHsKICAgICAgICAkdXBsb2FkSWQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRJZCcpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgndG9QYXJhbXMnKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJHVwbG9hZElkLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3RvUGFyYW1zJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShhcnJheSgKICAgICAgICAgICAgICAgICdhY2NvdW50SWQnID0+ICctJywKICAgICAgICAgICAgICAgICd2YXVsdE5hbWUnID0+ICdmb28nLAogICAgICAgICAgICAgICAgJ3VwbG9hZElkJyAgPT4gJ2JhcicKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZ2xhY2llcicpOwogICAgICAgICRtb2NrID0gJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgnZ2xhY2llci9saXN0X3BhcnRzJykpOwoKICAgICAgICAkc3RhdGUgPSBUcmFuc2ZlclN0YXRlOjpmcm9tVXBsb2FkSWQoJGNsaWVudCwgJHVwbG9hZElkKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFRyYW5zZmVyU3RhdGUnLCAkc3RhdGUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0dGVyc0FuZFNldHRlcnMoKQogICAgewogICAgICAgICR1cGxvYWRJZCA9ICR0aGlzLT5nZXRNb2NrKCdBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkSWQnKTsKICAgICAgICAkZ2VuZXJhdG9yID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkUGFydEdlbmVyYXRvcicpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJHN0YXRlID0gbmV3IFRyYW5zZmVyU3RhdGUoJHVwbG9hZElkKTsKICAgICAgICAkc3RhdGUtPnNldFBhcnRHZW5lcmF0b3IoJGdlbmVyYXRvcik7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGdlbmVyYXRvciwgJHN0YXRlLT5nZXRQYXJ0R2VuZXJhdG9yKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Model/MultipartUpload/UploadBuilderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFRyYW5zZmVyU3RhdGU7CnVzZSBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkQnVpbGRlcjsKdXNlIEF3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRJZDsKdXNlIEF3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRQYXJ0R2VuZXJhdG9yOwp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKCi8qKgogKiBAY292ZXJzIEF3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRCdWlsZGVyCiAqLwpjbGFzcyBVcGxvYWRCdWlsZGVyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNDaGFpbmFibGVNZXRob2RUb0luc3RhbnRpYXRlKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZEJ1aWxkZXInLCBVcGxvYWRCdWlsZGVyOjpuZXdJbnN0YW5jZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc0NoYWluYWJsZVNldHRlck1ldGhvZHMoKQogICAgewogICAgICAgIC8qKiBAdmFyICRidWlsZGVyIFVwbG9hZEJ1aWxkZXIgKi8KICAgICAgICAkYnVpbGRlciA9IFVwbG9hZEJ1aWxkZXI6Om5ld0luc3RhbmNlKCk7CiAgICAgICAgJGJ1aWxkZXItPnNldEFjY291bnRJZCgnZm9vJykKICAgICAgICAgICAgLT5zZXRWYXVsdE5hbWUoJ2JhcicpCiAgICAgICAgICAgIC0+c2V0UGFydEdlbmVyYXRvcihVcGxvYWRQYXJ0R2VuZXJhdG9yOjpmYWN0b3J5KEVudGl0eUJvZHk6OmZhY3RvcnkoJ2ZvbycpLCAxMDI0ICogMTAyNCkpCiAgICAgICAgICAgIC0+c2V0Q29uY3VycmVuY3koMSkKICAgICAgICAgICAgLT5zZXRQYXJ0U2l6ZSgxMDI0ICogMTAyNCkKICAgICAgICAgICAgLT5zZXRBcmNoaXZlRGVzY3JpcHRpb24oJ2FiYycpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYnVpbGRlciwgJ2FjY291bnRJZCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXInLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYnVpbGRlciwgJ3ZhdWx0TmFtZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhYmMnLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYnVpbGRlciwgJ2FyY2hpdmVEZXNjcmlwdGlvbicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRidWlsZGVyLCAnY29uY3VycmVuY3knKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxMDI0ICogMTAyNCwgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGJ1aWxkZXIsICdwYXJ0U2l6ZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZigKICAgICAgICAgICAgJ0F3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRQYXJ0R2VuZXJhdG9yJywKICAgICAgICAgICAgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGJ1aWxkZXIsICdwYXJ0R2VuZXJhdG9yJykKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgWW91IG11c3Qgc3BlY2lmeSBhIHZhdWx0IG5hbWUsIGNsaWVudCwgYW5kIHNvdXJjZS4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNUaGF0UmVxdWlyZWRGaWVsZHNBcmVTZXQoKQogICAgewogICAgICAgIFVwbG9hZEJ1aWxkZXI6Om5ld0luc3RhbmNlKCktPmJ1aWxkKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBZb3UgY2Fubm90IHVwbG9hZCBmcm9tIGEgbm9uLXNlZWthYmxlIHNvdXJjZS4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNUaGF0Tm9uU2Vla2FibGVTdHJlYW1zQ2Fubm90QmVSZXN1bWVkKCkKICAgIHsKICAgICAgICAkc291cmNlID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcSHR0cFxFbnRpdHlCb2R5JykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdpc1NlZWthYmxlJykpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJHNvdXJjZS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdpc1NlZWthYmxlJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShmYWxzZSkpOwoKICAgICAgICBVcGxvYWRCdWlsZGVyOjpuZXdJbnN0YW5jZSgpCiAgICAgICAgICAgIC0+c2V0VmF1bHROYW1lKCdmb28nKQogICAgICAgICAgICAtPnNldFNvdXJjZSgkc291cmNlKQogICAgICAgICAgICAtPnJlc3VtZUZyb20oJ2FiYycpCiAgICAgICAgICAgIC0+c2V0Q2xpZW50KCR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2dsYWNpZXInKSkKICAgICAgICAgICAgLT5idWlsZCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuUmVzdW1lU3RhdGVCeUxvYWRpbmdGcm9tR2xhY2llcigpCiAgICB7CiAgICAgICAgJGdlbmVyYXRvciA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZFBhcnRHZW5lcmF0b3InKQogICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CgogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdnbGFjaWVyJyk7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KCdnbGFjaWVyL2xpc3RfcGFydHMnKSk7CgogICAgICAgICR0cmFuc2ZlciA9IFVwbG9hZEJ1aWxkZXI6Om5ld0luc3RhbmNlKCkKICAgICAgICAgICAgLT5zZXRWYXVsdE5hbWUoJ2ZvbycpCiAgICAgICAgICAgIC0+cmVzdW1lRnJvbSgnYWJjJykKICAgICAgICAgICAgLT5zZXRDbGllbnQoJGNsaWVudCkKICAgICAgICAgICAgLT5zZXRTb3VyY2UoRW50aXR5Qm9keTo6ZmFjdG9yeSgnZm9vJykpCiAgICAgICAgICAgIC0+c2V0UGFydEdlbmVyYXRvcigkZ2VuZXJhdG9yKQogICAgICAgICAgICAtPmJ1aWxkKCk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJHRyYW5zZmVyLT5nZXRTdGF0ZSgpKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlc3VtZVRocm93c0V4Y2VwdGlvbklmTm9QYXJ0R2VuZXJhdG9yKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZ2xhY2llcicpOwogICAgICAgICR0cmFuc2ZlciA9IFVwbG9hZEJ1aWxkZXI6Om5ld0luc3RhbmNlKCkKICAgICAgICAgICAgLT5zZXRWYXVsdE5hbWUoJ2ZvbycpCiAgICAgICAgICAgIC0+cmVzdW1lRnJvbSgnYWJjJykKICAgICAgICAgICAgLT5zZXRDbGllbnQoJGNsaWVudCkKICAgICAgICAgICAgLT5zZXRTb3VyY2UoRW50aXR5Qm9keTo6ZmFjdG9yeSgnZm9vJykpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNyZWF0ZU5ld1N0YXRlQnlJbml0aWF0aW5nTXVsdGlwYXJ0VXBsb2FkKCkKICAgIHsKICAgICAgICAkZ2VuZXJhdG9yID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkUGFydEdlbmVyYXRvcicpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2dsYWNpZXInKTsKICAgICAgICAkbW9jayA9ICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoJ2dsYWNpZXIvaW5pdGlhdGVfbXVsdGlwYXJ0X3VwbG9hZCcpKTsKICAgICAgICAkdHJhbnNmZXIgPSBVcGxvYWRCdWlsZGVyOjpuZXdJbnN0YW5jZSgpCiAgICAgICAgICAgIC0+c2V0VmF1bHROYW1lKCdmb28nKQogICAgICAgICAgICAtPnNldENsaWVudCgkY2xpZW50KQogICAgICAgICAgICAtPnNldFNvdXJjZShFbnRpdHlCb2R5OjpmYWN0b3J5KCdmb28nKSkKICAgICAgICAgICAgLT5zZXRQYXJ0R2VuZXJhdG9yKCRnZW5lcmF0b3IpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKICAgICAgICAkcmVxdWVzdHMgPSAkbW9jay0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cygpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJHJlcXVlc3RzKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxUcmFuc2ZlclN0YXRlJywgJHRyYW5zZmVyLT5nZXRTdGF0ZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEJ1aWxkc0RpZmZlcmVudFVwbG9hZGVyQmFzZWRPbkNvbmN1cnJlbmN5KCkKICAgIHsKICAgICAgICAkZ2VuZXJhdG9yID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkUGFydEdlbmVyYXRvcicpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZ2V0UGFydFNpemUnKSkKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICRnZW5lcmF0b3ItPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0UGFydFNpemUnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKDEwMjQgKiAxMDI0KSk7CiAgICAgICAgJHN0YXRlID0gbmV3IFRyYW5zZmVyU3RhdGUoVXBsb2FkSWQ6OmZyb21QYXJhbXMoYXJyYXkoCiAgICAgICAgICAgICdhY2NvdW50SWQnID0+ICdmb28nLAogICAgICAgICAgICAndmF1bHROYW1lJyA9PiAnYmF6JywKICAgICAgICAgICAgJ3VwbG9hZElkJyAgPT4gJ2JhcicKICAgICAgICApKSk7CiAgICAgICAgJHN0YXRlLT5zZXRQYXJ0R2VuZXJhdG9yKCRnZW5lcmF0b3IpOwoKICAgICAgICAkYiA9IFVwbG9hZEJ1aWxkZXI6Om5ld0luc3RhbmNlKCkKICAgICAgICAgICAgLT5zZXRWYXVsdE5hbWUoJ2ZvbycpCiAgICAgICAgICAgIC0+c2V0UGFydEdlbmVyYXRvcigkZ2VuZXJhdG9yKQogICAgICAgICAgICAtPnNldENsaWVudCgkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdnbGFjaWVyJykpCiAgICAgICAgICAgIC0+cmVzdW1lRnJvbSgkc3RhdGUpCiAgICAgICAgICAgIC0+c2V0U291cmNlKEVudGl0eUJvZHk6OmZhY3RvcnkoZm9wZW4oX19GSUxFX18sICdyJykpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxTZXJpYWxUcmFuc2ZlcicsICRiLT5idWlsZCgpKTsKICAgICAgICAkYi0+c2V0Q29uY3VycmVuY3koMik7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxQYXJhbGxlbFRyYW5zZmVyJywgJGItPmJ1aWxkKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Model/MultipartUpload/UploadPartContextTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZFBhcnRDb250ZXh0OwoKY2xhc3MgVXBsb2FkQ29udGV4dFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkUGFydENvbnRleHQ6Ol9fY29uc3RydWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3JJbml0aWFsaXplc09iamVjdCgpCiAgICB7CiAgICAgICAgJGNvbnRleHQgPSBuZXcgVXBsb2FkUGFydENvbnRleHQoMTAsIDUpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEwLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY29udGV4dCwgJ21heFNpemUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg1LCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY29udGV4dCwgJ29mZnNldCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjb250ZXh0LCAnc2l6ZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxIYXNoXFRyZWVIYXNoJywgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGNvbnRleHQsICd0cmVlSGFzaCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxIYXNoXENodW5rSGFzaCcsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjb250ZXh0LCAnY2h1bmtIYXNoJykpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkUGFydENvbnRleHQ6OmlzRW1wdHkKICAgICAqIEBjb3ZlcnMgQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZFBhcnRDb250ZXh0Ojppc0Z1bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJc0VtcHR5QW5kRnVsbEFzRXhwZWN0ZWQoKQogICAgewogICAgICAgICRjb250ZXh0ID0gbmV3IFVwbG9hZFBhcnRDb250ZXh0KDEwKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGNvbnRleHQtPmlzRW1wdHkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjb250ZXh0LT5pc0Z1bGwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY29udGV4dCwgJ3NpemUnKSk7CgogICAgICAgICRjb250ZXh0LT5hZGREYXRhKCdhYmNkZScpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNvbnRleHQtPmlzRW1wdHkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjb250ZXh0LT5pc0Z1bGwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg1LCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY29udGV4dCwgJ3NpemUnKSk7CgogICAgICAgICRjb250ZXh0LT5hZGREYXRhKCdmZ2hpaicpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNvbnRleHQtPmlzRW1wdHkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGNvbnRleHQtPmlzRnVsbCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEwLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY29udGV4dCwgJ3NpemUnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5DcmVhdGVVcGxvYWRQYXJ0KCkKICAgIHsKICAgICAgICAkY29udGV4dCA9IG5ldyBVcGxvYWRQYXJ0Q29udGV4dCgxMCk7CiAgICAgICAgJGNvbnRleHQtPmFkZERhdGEoJ2FiY2RlZmdoaWonKTsKICAgICAgICAkcGFydCA9ICRjb250ZXh0LT5nZW5lcmF0ZVBhcnQoKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRQYXJ0JywgJHBhcnQpOwogICAgfQoKLy8gICAgLyoqCi8vICAgICAqIEBjb3ZlcnMgQXdzXEdsYWNpZXJcTW9kZWxcVXBsb2FkUGFydENvbnRleHQ6OmFkZERhdGEKLy8gICAgICogQGNvdmVycyBBd3NcR2xhY2llclxNb2RlbFxVcGxvYWRQYXJ0Q29udGV4dDo6ZmluYWxpemUKLy8gICAgICogQGNvdmVycyBBd3NcR2xhY2llclxNb2RlbFxVcGxvYWRQYXJ0Q29udGV4dDo6Z2V0Q2hlY2tzdW0KLy8gICAgICogQGNvdmVycyBBd3NcR2xhY2llclxNb2RlbFxVcGxvYWRQYXJ0Q29udGV4dDo6Z2V0Q29udGVudEhhc2gKLy8gICAgICogQGNvdmVycyBBd3NcR2xhY2llclxNb2RlbFxVcGxvYWRQYXJ0Q29udGV4dDo6Z2V0UmFuZ2UKLy8gICAgICogQGNvdmVycyBBd3NcR2xhY2llclxNb2RlbFxVcGxvYWRQYXJ0Q29udGV4dDo6Z2V0U2l6ZQovLyAgICAgKi8KLy8gICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5SZXRyaWV2ZUZpbmFsSGFzaGVzKCkKLy8gICAgewovLyAgICAgICAgJGNvbnRleHQgPSBuZXcgVXBsb2FkQ29udGV4dCg2KTsKLy8gICAgICAgICRjb250ZXh0LT5hZGREYXRhKCdmb29iYXInKTsKLy8gICAgICAgICRjb250ZXh0LT5maW5hbGl6ZSgpOwovLwovLyAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnc3RyaW5nJywgJGNvbnRleHQtPmdldENoZWNrc3VtKCkpOwovLyAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnc3RyaW5nJywgJGNvbnRleHQtPmdldENvbnRlbnRIYXNoKCkpOwovLyAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgwLCA1KSwgJGNvbnRleHQtPmdldFJhbmdlKCkpOwovLyAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg2LCAkY29udGV4dC0+Z2V0U2l6ZSgpKTsKLy8gICAgfQovLwovLyAgICAvKioKLy8gICAgICogQGNvdmVycyBBd3NcR2xhY2llclxNb2RlbFxVcGxvYWRQYXJ0Q29udGV4dDo6c2VyaWFsaXplCi8vICAgICAqIEBjb3ZlcnMgQXdzXEdsYWNpZXJcTW9kZWxcVXBsb2FkUGFydENvbnRleHQ6OnVuc2VyaWFsaXplCi8vICAgICAqLwovLyAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNlcmlhbGl6ZUFuZFVuc2VyaWFsaXplKCkKLy8gICAgewovLyAgICAgICAgJGdldEFycmF5ID0gZnVuY3Rpb24gKFVwbG9hZENvbnRleHQgJGNvbnRleHQpIHsKLy8gICAgICAgICAgICByZXR1cm4gYXJyYXkoCi8vICAgICAgICAgICAgICAgICRjb250ZXh0LT5nZXRDaGVja3N1bSgpLAovLyAgICAgICAgICAgICAgICAkY29udGV4dC0+Z2V0Q29udGVudEhhc2goKSwKLy8gICAgICAgICAgICAgICAgJGNvbnRleHQtPmdldFNpemUoKSwKLy8gICAgICAgICAgICAgICAgJGNvbnRleHQtPmdldE9mZnNldCgpLAovLyAgICAgICAgICAgICAgICAkY29udGV4dC0+Z2V0UmFuZ2UoKQovLyAgICAgICAgICAgICk7Ci8vICAgICAgICB9OwovLwovLyAgICAgICAgJGNvbnRleHQxID0gbmV3IFVwbG9hZENvbnRleHQoMyk7Ci8vICAgICAgICAkY29udGV4dDEtPmFkZERhdGEoJ2ZvbycpOwovLyAgICAgICAgJGNvbnRleHQxLT5maW5hbGl6ZSgpOwovLyAgICAgICAgJGFycmF5MSA9ICRnZXRBcnJheSgkY29udGV4dDEpOwovLwovLyAgICAgICAgJGNvbnRleHQyID0gdW5zZXJpYWxpemUoc2VyaWFsaXplKCRjb250ZXh0MSkpOwovLyAgICAgICAgJGFycmF5MiA9ICRnZXRBcnJheSgkY29udGV4dDIpOwovLwovLyAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkYXJyYXkxLCAkYXJyYXkyKTsKLy8gICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxMb2dpY0V4Y2VwdGlvbgogICAgICogQGNvdmVycyBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkUGFydENvbnRleHQ6OmFkZERhdGEKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5ub3RBZGREYXRhQWZ0ZXJGaW5hbGl6ZWQoKQogICAgewogICAgICAgICRjb250ZXh0ID0gbmV3IFVwbG9hZFBhcnRDb250ZXh0KDYpOwogICAgICAgICRjb250ZXh0LT5hZGREYXRhKCdmb28nKTsKICAgICAgICAkY29udGV4dC0+Z2VuZXJhdGVQYXJ0KCk7CgogICAgICAgICRjb250ZXh0LT5hZGREYXRhKCdiYXInKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcTG9naWNFeGNlcHRpb24KICAgICAqIEBjb3ZlcnMgQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZFBhcnRDb250ZXh0OjphZGREYXRhCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2Fubm90QWRkVG9vTXVjaERhdGEoKQogICAgewogICAgICAgICRjb250ZXh0ID0gbmV3IFVwbG9hZFBhcnRDb250ZXh0KDMpOwogICAgICAgICRjb250ZXh0LT5hZGREYXRhKCdmb28nKTsKICAgICAgICAkY29udGV4dC0+YWRkRGF0YSgnYmFyJyk7CiAgICB9CgovLyAgICAvKioKLy8gICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxMb2dpY0V4Y2VwdGlvbgovLyAgICAgKiBAY292ZXJzIEF3c1xHbGFjaWVyXE1vZGVsXFVwbG9hZFBhcnRDb250ZXh0OjpnZXRDaGVja3N1bQovLyAgICAgKi8KLy8gICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5ub3RHZXRDaGVja3N1bUJlZm9yZUl0SXNDYWxjdWxhdGVkKCkKLy8gICAgewovLyAgICAgICAgJGNvbnRleHQgPSBuZXcgVXBsb2FkQ29udGV4dCgzKTsKLy8gICAgICAgICRjb250ZXh0LT5nZXRDaGVja3N1bSgpOwovLyAgICB9Ci8vCi8vICAgIC8qKgovLyAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXExvZ2ljRXhjZXB0aW9uCi8vICAgICAqIEBjb3ZlcnMgQXdzXEdsYWNpZXJcTW9kZWxcVXBsb2FkUGFydENvbnRleHQ6OmdldENvbnRlbnRIYXNoCi8vICAgICAqLwovLyAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbm5vdEdldENvbnRleHRIYXNoQmVmb3JlSXRJc0NhbGN1bGF0ZWQoKQovLyAgICB7Ci8vICAgICAgICAkY29udGV4dCA9IG5ldyBVcGxvYWRDb250ZXh0KDMpOwovLyAgICAgICAgJGNvbnRleHQtPmdldENvbnRlbnRIYXNoKCk7Ci8vICAgIH0KLy8KLy8gICAgLyoqCi8vICAgICAqIEBjb3ZlcnMgQXdzXEdsYWNpZXJcTW9kZWxcVXBsb2FkUGFydENvbnRleHQ6OnNlcmlhbGl6ZQovLyAgICAgKi8KLy8gICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5ub3RTZXJpYWxpemVVbnRpbEl0c0ZpbmFsaXplZCgpCi8vICAgIHsKLy8gICAgICAgICRjb250ZXh0ID0gbmV3IFVwbG9hZENvbnRleHQoMyk7Ci8vICAgICAgICB0cnkgewovLyAgICAgICAgICAgIHNlcmlhbGl6ZSgkY29udGV4dCk7Ci8vICAgICAgICAgICAgJHRoaXMtPmZhaWwoKTsKLy8gICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHsKLy8gICAgICAgICAgICAvLyBTdWNjZXNzIQovLyAgICAgICAgfQovLyAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Model/MultipartUpload/UploadPartGeneratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZFBhcnRHZW5lcmF0b3I7CnVzZSBBd3NcQ29tbW9uXEVudW1cU2l6ZTsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CgovKioKICogQGNvdmVycyBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkUGFydEdlbmVyYXRvcgogKi8KY2xhc3MgVXBsb2FkUGFydEdlbmVyYXRvclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCAkYm9keUNvbnRlbnQ7CiAgICBwcm90ZWN0ZWQgJGJvZHlTaXplOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmJvZHlTaXplICAgID0gaW50dmFsKDEuMjUgKiBTaXplOjpNQik7CiAgICAgICAgJHRoaXMtPmJvZHlDb250ZW50ID0gc3RyX3JlcGVhdCgneCcsICR0aGlzLT5ib2R5U2l6ZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5HZW5lcmF0ZVVwbG9hZFBhcnREYXRhKCkKICAgIHsKICAgICAgICAkZ2VuZXJhdG9yID0gVXBsb2FkUGFydEdlbmVyYXRvcjo6ZmFjdG9yeSgkdGhpcy0+Ym9keUNvbnRlbnQsIFNpemU6Ok1CKTsKICAgICAgICAkcGFydHMgPSAkZ2VuZXJhdG9yLT5nZXRBbGxQYXJ0cygpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZFBhcnRHZW5lcmF0b3InLCAkZ2VuZXJhdG9yKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZFBhcnQnLCAkZ2VuZXJhdG9yLT5nZXRVcGxvYWRQYXJ0KDEpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZFBhcnQnLCAkcGFydHNbMF0pOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRwYXJ0c1swXSwgJGdlbmVyYXRvci0+Z2V0VXBsb2FkUGFydCgxKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvdW50KDIsICRwYXJ0cyk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvdW50KDIsICRnZW5lcmF0b3IpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgyLCAkZ2VuZXJhdG9yLT5nZXRJdGVyYXRvcigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdzdHJpbmcnLCAkZ2VuZXJhdG9yLT5nZXRSb290Q2hlY2tzdW0oKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+Ym9keVNpemUsICRnZW5lcmF0b3ItPmdldEFyY2hpdmVTaXplKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoU2l6ZTo6TUIsICRnZW5lcmF0b3ItPmdldFBhcnRTaXplKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFeGNlcHRpb25XaGVuUGFydFNpemVJbnZhbGlkKCkKICAgIHsKICAgICAgICAkZ2VuZXJhdG9yID0gVXBsb2FkUGFydEdlbmVyYXRvcjo6ZmFjdG9yeSgkdGhpcy0+Ym9keUNvbnRlbnQsIDEzLjIgKiBTaXplOjpNQik7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEV4Y2VwdGlvbldoZW5Cb2R5SXNOb3RTZWVrYWJsZSgpCiAgICB7CiAgICAgICAgJHN0cmVhbSA9IGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3IrJyk7CiAgICAgICAgZndyaXRlKCRzdHJlYW0sICR0aGlzLT5ib2R5Q29udGVudCk7CiAgICAgICAgcmV3aW5kKCRzdHJlYW0pOwoKICAgICAgICAkYm9keSA9ICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcSHR0cFxFbnRpdHlCb2R5JywgYXJyYXkoJ2lzU2Vla2FibGUnKSwgYXJyYXkoJHN0cmVhbSkpOwogICAgICAgICRib2R5LT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2lzU2Vla2FibGUnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKGZhbHNlKSk7CgogICAgICAgIFVwbG9hZFBhcnRHZW5lcmF0b3I6OmZhY3RvcnkoJGJvZHksIFNpemU6Ok1CKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RXhjZXB0aW9uV2hlbkJvZHlJc1Rvb1NtYWxsKCkKICAgIHsKICAgICAgICBVcGxvYWRQYXJ0R2VuZXJhdG9yOjpmYWN0b3J5KCcnLCBTaXplOjpNQik7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXFJ1bnRpbWVFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFeGNlcHRpb25VbnNlcmlhbGl6YXRpb25Jc1Vuc3VjY2Vzc2Z1bCgpCiAgICB7CiAgICAgICAgJGdlbmVyYXRvciAgPSBVcGxvYWRQYXJ0R2VuZXJhdG9yOjpmYWN0b3J5KCR0aGlzLT5ib2R5Q29udGVudCwgU2l6ZTo6TUIpOwogICAgICAgICRzZXJpYWxpemVkID0gc3RyX3JlcGxhY2UoJ3BhcnRTaXplJywgJ3h4eHh4eHh4Jywgc2VyaWFsaXplKCRnZW5lcmF0b3IpKTsKICAgICAgICB1bnNlcmlhbGl6ZSgkc2VyaWFsaXplZCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXE91dE9mQm91bmRzRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RXhjZXB0aW9uV2hlblVwbG9hZEluZGV4RG9lc250RXhpc3QoKQogICAgewogICAgICAgICRnZW5lcmF0b3IgPSBVcGxvYWRQYXJ0R2VuZXJhdG9yOjpmYWN0b3J5KCR0aGlzLT5ib2R5Q29udGVudCwgU2l6ZTo6TUIpOwogICAgICAgICRnZW5lcmF0b3ItPmdldFVwbG9hZFBhcnQoMTApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQ3JlYXRlU2luZ2xlUGFydCgpCiAgICB7CiAgICAgICAgJHBhcnQgPSBVcGxvYWRQYXJ0R2VuZXJhdG9yOjpjcmVhdGVTaW5nbGVVcGxvYWRQYXJ0KCR0aGlzLT5ib2R5Q29udGVudCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xHbGFjaWVyXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRQYXJ0JywgJHBhcnQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHRoaXMtPmJvZHlTaXplLCAkcGFydC0+Z2V0U2l6ZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNlcmlhbGl6YXRpb25BbmRVbnNlcmlhbGl6YXRpb25Xb3JrcygpCiAgICB7CiAgICAgICAgJGdlbmVyYXRvciA9IFVwbG9hZFBhcnRHZW5lcmF0b3I6OmZhY3RvcnkoJHRoaXMtPmJvZHlDb250ZW50LCBTaXplOjpNQik7CiAgICAgICAgJHN0YXJ0aW5nU2l6ZSA9ICRnZW5lcmF0b3ItPmdldEFyY2hpdmVTaXplKCk7CgogICAgICAgICRzZXJpYWxpemVkID0gc2VyaWFsaXplKCRnZW5lcmF0b3IpOwoKICAgICAgICAkbmV3R2VuZXJhdG9yID0gdW5zZXJpYWxpemUoJHNlcmlhbGl6ZWQpOwogICAgICAgICRlbmRpbmdTaXplID0gJG5ld0dlbmVyYXRvci0+Z2V0QXJjaGl2ZVNpemUoKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkc3RhcnRpbmdTaXplLCAkZW5kaW5nU2l6ZSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Model/MultipartUpload/UploadPartTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWQ7Cgp1c2UgQXdzXEdsYWNpZXJcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZFBhcnQ7CgovKioKICogQGNvdmVycyBBd3NcR2xhY2llclxNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkUGFydAogKi8KY2xhc3MgVXBsb2FkUGFydFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QmFzaWNPcGVyYXRpb25zKCkKICAgIHsKICAgICAgICAvKiogQHZhciAkcGFydCBVcGxvYWRQYXJ0ICovCiAgICAgICAgJHBhcnQgPSBVcGxvYWRQYXJ0Ojpmcm9tQXJyYXkoYXJyYXkoCiAgICAgICAgICAgICdwYXJ0TnVtYmVyJyAgPT4gMywKICAgICAgICAgICAgJ2NoZWNrc3VtJyAgICA9PiAnYWFhJywKICAgICAgICAgICAgJ2NvbnRlbnRIYXNoJyA9PiAnYmJiJywKICAgICAgICAgICAgJ3NpemUnICAgICAgICA9PiA1LAogICAgICAgICAgICAnb2Zmc2V0JyAgICAgID0+IDIKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCAkcGFydC0+Z2V0UGFydE51bWJlcigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhYWEnLCAkcGFydC0+Z2V0Q2hlY2tzdW0oKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmJiJywgJHBhcnQtPmdldENvbnRlbnRIYXNoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNSwgJHBhcnQtPmdldFNpemUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCAkcGFydC0+Z2V0T2Zmc2V0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoMiwgNiksICRwYXJ0LT5nZXRSYW5nZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdieXRlcyAyLTYvKicsICRwYXJ0LT5nZXRGb3JtYXR0ZWRSYW5nZSgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Waiter/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Waiter/VaultExistsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcR2xhY2llclxXYWl0ZXI7CgpjbGFzcyBWYXVsdEV4aXN0c1Rlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc1RydWVJZlZhdWx0RXhpc3RzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZ2xhY2llcicsIHRydWUpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgJ2dsYWNpZXIvZGVzY3JpYmVfdmF1bHQnKTsKICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ1ZhdWx0RXhpc3RzJywgYXJyYXkoJ3ZhdWx0TmFtZScgPT4gJ2ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCR0aGlzLT5nZXRNb2NrZWRSZXF1ZXN0cygpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXRyaWVzVW50aWxWYXVsdEV4aXN0cygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2dsYWNpZXInLCB0cnVlKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KCdnbGFjaWVyL2Rlc2NyaWJlX3ZhdWx0X2Vycm9yJywgJ2dsYWNpZXIvZGVzY3JpYmVfdmF1bHRfZXJyb3InLCAnZ2xhY2llci9kZXNjcmliZV92YXVsdCcpKTsKICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ1ZhdWx0RXhpc3RzJywgYXJyYXkoJ3ZhdWx0TmFtZScgPT4gJ2ZvbycsICd3YWl0ZXIuaW50ZXJ2YWwnID0+IDApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCR0aGlzLT5nZXRNb2NrZWRSZXF1ZXN0cygpKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Glacier/Waiter/VaultNotExistsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcR2xhY2llclxXYWl0ZXI7CgpjbGFzcyBWYXVsdE5vdEV4aXN0c1Rlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc1RydWVJZlZhdWx0Tm90RXhpc3RzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnZ2xhY2llcicsIHRydWUpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgJ2dsYWNpZXIvZGVzY3JpYmVfdmF1bHRfZXJyb3InKTsKICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ1ZhdWx0Tm90RXhpc3RzJywgYXJyYXkoJ3ZhdWx0TmFtZScgPT4gJ2ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCR0aGlzLT5nZXRNb2NrZWRSZXF1ZXN0cygpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXRyaWVzVW50aWxWYXVsdE5vdEV4aXN0cygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2dsYWNpZXInLCB0cnVlKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KCdnbGFjaWVyL2Rlc2NyaWJlX3ZhdWx0JywgJ2dsYWNpZXIvZGVzY3JpYmVfdmF1bHQnLCAnZ2xhY2llci9kZXNjcmliZV92YXVsdF9lcnJvcicpKTsKICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ1ZhdWx0Tm90RXhpc3RzJywgYXJyYXkoJ3ZhdWx0TmFtZScgPT4gJ2ZvbycsICd3YWl0ZXIuaW50ZXJ2YWwnID0+IDApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCR0aGlzLT5nZXRNb2NrZWRSZXF1ZXN0cygpKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Iam/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Iam/IamClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcSWFtOwoKdXNlIEF3c1xJYW1cSWFtQ2xpZW50OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXElhbVxJYW1DbGllbnQKICovCmNsYXNzIElhbUNsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXNHbG9iYWwoKQogICAgewogICAgICAgICRjID0gSWFtQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwczovL2lhbS5hbWF6b25hd3MuY29tJywgJGMtPmdldEJhc2VVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdE51bGwoJGMtPmdldERlc2NyaXB0aW9uKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Iam/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Iam/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcSWFtXEludGVncmF0aW9uOwoKdXNlIEF3c1xJYW1cSWFtQ2xpZW50OwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIGNvbnN0IElBTV9QT0xJQ1lfQVNTVU1FX1JPTEUgPSAneyJTdGF0ZW1lbnQiOlt7IkVmZmVjdCI6IkFsbG93IiwiUHJpbmNpcGFsIjp7IlNlcnZpY2UiOlsiZWMyLmFtYXpvbmF3cy5jb20iXX0sIkFjdGlvbiI6WyJzdHM6QXNzdW1lUm9sZSJdfV19JzsKICAgIGNvbnN0IElBTV9QT0xJQ1lfQUxMT1dfUzMgPSAneyJTdGF0ZW1lbnQiOlt7IkVmZmVjdCI6IkFsbG93IiwiQWN0aW9uIjoiczM6KiIsIlJlc291cmNlIjoiKiJ9XX0nOwoKICAgIHByb3RlY3RlZCBzdGF0aWMgJHJvbGVOYW1lID0gJ3BocC1pbnRlZy1pYW0tdGVzdC1yb2xlJzsKICAgIHByb3RlY3RlZCBzdGF0aWMgJHBvbGljaWVzID0gYXJyYXkoJ3BocC1pbnRlZy1pYW0tdGVzdC1wb2xpY3ktMScsICdwaHAtaW50ZWctaWFtLXRlc3QtcG9saWN5LTInKTsKCiAgICAvKioKICAgICAqIEB2YXIgSWFtQ2xpZW50CiAgICAgKi8KICAgIHByb3RlY3RlZCAkaWFtOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmlhbSA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2lhbScpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY2xlYW5VcCgpCiAgICB7CiAgICAgICAgJGlhbSA9IHNlbGY6OmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnaWFtJyk7CiAgICAgICAgZm9yZWFjaCAoc2VsZjo6JHBvbGljaWVzIGFzICRwb2xpY3kpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICRpYW0tPmRlbGV0ZVJvbGVQb2xpY3koYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ1BvbGljeU5hbWUnID0+ICRwb2xpY3ksCiAgICAgICAgICAgICAgICAgICAgJ1JvbGVOYW1lJyAgID0+IHNlbGY6OiRyb2xlTmFtZSwKICAgICAgICAgICAgICAgICkpOwogICAgICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7fQogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJGlhbS0+ZGVsZXRlUm9sZShhcnJheSgnUm9sZU5hbWUnID0+IHNlbGY6OiRyb2xlTmFtZSkpOwogICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHt9CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRVcEJlZm9yZUNsYXNzKCkKICAgIHsKICAgICAgICBzZWxmOjpjbGVhblVwKCk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB0ZWFyRG93bkFmdGVyQ2xhc3MoKQogICAgewogICAgICAgIHNlbGY6OmNsZWFuVXAoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldHNBY2NvdW50U3VtbWFyeSgpCiAgICB7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5pYW0tPmdldEFjY291bnRTdW1tYXJ5KCk7CiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIFhNTCBtYXAgd2FzIGNvbnZlcnRlZCBjb3JyZWN0bHkKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ1N1bW1hcnlNYXAnLCAkcmVzdWx0LT50b0FycmF5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0V29ya2luZ1dpdGhSb2xlcygpCiAgICB7CiAgICAgICAgJHJvbGVOYW1lID0gJ3BocC1pbnRlZy1pYW0tdGVzdC1yb2xlJzsKCiAgICAgICAgc2VsZjo6bG9nKCdDcmVhdGUgYW4gSUFNIFJvbGUuJyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5pYW0tPmdldENvbW1hbmQoJ0NyZWF0ZVJvbGUnLCBhcnJheSgKICAgICAgICAgICAgJ1JvbGVOYW1lJyAgICAgICAgICAgICAgICAgPT4gJHJvbGVOYW1lLAogICAgICAgICAgICAnQXNzdW1lUm9sZVBvbGljeURvY3VtZW50JyA9PiBzZWxmOjpJQU1fUE9MSUNZX0FTU1VNRV9ST0xFLAogICAgICAgICkpLT5nZXRSZXN1bHQoKTsKICAgICAgICAkcm9sZUFybiA9ICRyZXN1bHQtPmdldFBhdGgoJ1JvbGUvQXJuJyk7CgogICAgICAgIHNlbGY6OmxvZygnUHV0IGEgcG9saWN5IG9uIHRoZSBJQU0gUm9sZS4nKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmlhbS0+Z2V0Q29tbWFuZCgnUHV0Um9sZVBvbGljeScsIGFycmF5KAogICAgICAgICAgICAnUG9saWN5TmFtZScgICAgID0+IHNlbGY6OiRwb2xpY2llc1swXSwKICAgICAgICAgICAgJ1JvbGVOYW1lJyAgICAgICA9PiAkcm9sZU5hbWUsCiAgICAgICAgICAgICdQb2xpY3lEb2N1bWVudCcgPT4gc2VsZjo6SUFNX1BPTElDWV9BTExPV19TMywKICAgICAgICApKS0+Z2V0UmVzdWx0KCk7CgogICAgICAgIHNlbGY6OmxvZygnUHV0IGFub3RoZXIgcG9saWN5IG9uIHRoZSBJQU0gUm9sZS4nKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmlhbS0+Z2V0Q29tbWFuZCgnUHV0Um9sZVBvbGljeScsIGFycmF5KAogICAgICAgICAgICAnUG9saWN5TmFtZScgICAgID0+IHNlbGY6OiRwb2xpY2llc1sxXSwKICAgICAgICAgICAgJ1JvbGVOYW1lJyAgICAgICA9PiAkcm9sZU5hbWUsCiAgICAgICAgICAgICdQb2xpY3lEb2N1bWVudCcgPT4gc2VsZjo6SUFNX1BPTElDWV9BTExPV19TMywKICAgICAgICApKS0+Z2V0UmVzdWx0KCk7CgogICAgICAgIHNlbGY6OmxvZygnbWFrZSBzdXJlIHRoZSBJQU0gUm9sZSBleGlzdHMuJyk7CiAgICAgICAgLy8gQFRPRE8gZG8gYSBMaXN0Um9sZXMtcmVsYXRlZCBhc3NlcnRpb24KCiAgICAgICAgc2VsZjo6bG9nKCdNYWtlIHN1cmUgdGhlIHBvbGljaWVzIGFyZSB0aGVyZS4nKTsKICAgICAgICAvL3ByaW50X3IoJHRoaXMtPmlhbS0+bGlzdFJvbGVQb2xpY2llcyhhcnJheSgnUm9sZU5hbWUnID0+ICRyb2xlTmFtZSkpLT50b0FycmF5KCkpOwogICAgICAgICRwb2xpY2llcyA9ICR0aGlzLT5pYW0tPmdldEl0ZXJhdG9yKCdMaXN0Um9sZVBvbGljaWVzJywgYXJyYXkoJ1JvbGVOYW1lJyA9PiAkcm9sZU5hbWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKHNlbGY6OiRwb2xpY2llcywgaXRlcmF0b3JfdG9fYXJyYXkoJHBvbGljaWVzKSk7CgogICAgICAgIHNlbGY6OmxvZygnRGVsZXRlIHRoZSBwb2xpY2llcyBmcm9tIHRoZSBJQU0gUm9sZS4nKTsKICAgICAgICAkY29tbWFuZHMgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKHNlbGY6OiRwb2xpY2llcyBhcyAkcG9saWN5KSB7CiAgICAgICAgICAgICRjb21tYW5kc1tdID0gJHRoaXMtPmlhbS0+Z2V0Q29tbWFuZCgnRGVsZXRlUm9sZVBvbGljeScsIGFycmF5KAogICAgICAgICAgICAgICAgJ1BvbGljeU5hbWUnID0+ICRwb2xpY3ksCiAgICAgICAgICAgICAgICAnUm9sZU5hbWUnICAgPT4gJHJvbGVOYW1lLAogICAgICAgICAgICApKTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmlhbS0+ZXhlY3V0ZSgkY29tbWFuZHMpOwoKICAgICAgICBzZWxmOjpsb2coJ0RlbGV0ZSB0aGUgSUFNIFJvbGUuJyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5pYW0tPmdldENvbW1hbmQoJ0RlbGV0ZVJvbGUnLCBhcnJheSgKICAgICAgICAgICAgJ1JvbGVOYW1lJyA9PiAkcm9sZU5hbWUsCiAgICAgICAgKSktPmdldFJlc3VsdCgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ImportExport/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ImportExport/ImportExportClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcSW1wb3J0RXhwb3J0OwoKdXNlIEF3c1xJbXBvcnRFeHBvcnRcSW1wb3J0RXhwb3J0Q2xpZW50OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXEltcG9ydEV4cG9ydFxJbXBvcnRFeHBvcnRDbGllbnQKICovCmNsYXNzIEltcG9ydEV4cG9ydENsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gSW1wb3J0RXhwb3J0Q2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWMicsICRjbGllbnQtPmdldFNpZ25hdHVyZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFscycsICRjbGllbnQtPmdldENyZWRlbnRpYWxzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHBzOi8vaW1wb3J0ZXhwb3J0LmFtYXpvbmF3cy5jb20nLCAkY2xpZW50LT5nZXRCYXNlVXJsKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ImportExport/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ImportExport/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcSW1wb3J0RXhwb3J0XEludGVncmF0aW9uOwoKdXNlIEF3c1xJbXBvcnRFeHBvcnRcRW51bVxKb2JUeXBlOwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQHZhciBcQXdzXEltcG9ydEV4cG9ydFxJbXBvcnRFeHBvcnRDbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnaW1wb3J0ZXhwb3J0Jyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xJbXBvcnRFeHBvcnRcRXhjZXB0aW9uXE1pc3NpbmdNYW5pZmVzdEZpZWxkRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlSm9iRmFpbHNXaXRoSW5jb21wbGV0ZU1hbmlmZXN0KCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5jcmVhdGVKb2IoYXJyYXkoCiAgICAgICAgICAgICdKb2JUeXBlJyAgICAgID0+IEpvYlR5cGU6OklNUE9SVCwKICAgICAgICAgICAgJ01hbmlmZXN0JyAgICAgPT4gJ2ZvbzogYmFyJywKICAgICAgICAgICAgJ1ZhbGlkYXRlT25seScgPT4gdHJ1ZSwKICAgICAgICApKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXEltcG9ydEV4cG9ydFxFeGNlcHRpb25cTWlzc2luZ01hbmlmZXN0RmllbGRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVKb2JGYWlsc1dpdGhJbmNvbXBsZXRlQXJyYXlGb3JtYXR0ZWRNYW5pZmVzdCgpCiAgICB7CiAgICAgICAgaWYgKCFjbGFzc19leGlzdHMoJ1N5bWZvbnlcQ29tcG9uZW50XFlhbWxcWWFtbCcpKSB7CiAgICAgICAgICAgICR0aGlzLT5tYXJrVGVzdFNraXBwZWQoJ1lvdSBtdXN0IGhhdmUgdGhlIHRoZSBTeW1mb255IFlBTUwgY29tcG9uZW50IGluc3RhbGxlZCB0byBydW4gdGhpcyB0ZXN0LicpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmNsaWVudC0+Y3JlYXRlSm9iKGFycmF5KAogICAgICAgICAgICAnSm9iVHlwZScgICAgICA9PiBKb2JUeXBlOjpJTVBPUlQsCiAgICAgICAgICAgICdNYW5pZmVzdCcgICAgID0+IGFycmF5KCdmb28nID0+ICdiYXInKSwKICAgICAgICAgICAgJ1ZhbGlkYXRlT25seScgPT4gdHJ1ZSwKICAgICAgICApKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExpc3RKb2JzQ29tbWFuZEFuZEl0ZXJhdG9yKCkKICAgIHsKICAgICAgICAkY29tbWFuZFJlc3VsdHMgPSAkdGhpcy0+Y2xpZW50LT5saXN0Sm9icygpLT50b0FycmF5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdKb2JzJywgJGNvbW1hbmRSZXN1bHRzKTsKCiAgICAgICAgJGl0ZXJhdG9yUmVzdWx0cyA9ICR0aGlzLT5jbGllbnQtPmdldEl0ZXJhdG9yKCdMaXN0Sm9icycpLT50b0FycmF5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkY29tbWFuZFJlc3VsdHNbJ0pvYnMnXSwgJGl0ZXJhdG9yUmVzdWx0cyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ImportExport/Iterator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ImportExport/Iterator/ListJobsIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcSW1wb3J0RXhwb3J0XEl0ZXJhdG9yOwoKdXNlIEF3c1xJbXBvcnRFeHBvcnRcSXRlcmF0b3JcTGlzdEpvYnNJdGVyYXRvcjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXEltcG9ydEV4cG9ydFxJdGVyYXRvclxMaXN0Sm9ic0l0ZXJhdG9yCiAqLwpjbGFzcyBMaXN0Sm9ic0l0ZXJhdG9yVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIGRhdGFGb3JHZXROZXh0VG9rZW5UZXN0KCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIC8vIENhc2Ugd2hlcmUgdGhlcmUgSVMgYSBuZXh0IHRva2VuICg0KQogICAgICAgICAgICBhcnJheSh0cnVlLCA0KSwKICAgICAgICAgICAgLy8gQ2FzZSB3aGVyZSB0aGVyZSBpcyBOT1QgYSBuZXh0IHRva2VuCiAgICAgICAgICAgIGFycmF5KGZhbHNlLCBudWxsKSwKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciBkYXRhRm9yR2V0TmV4dFRva2VuVGVzdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkdldE5leHRUb2tlbigkaXNUcnVuY2F0ZWQsICRleHBlY3RlZE5leHRUb2tlbikKICAgIHsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2UnKTsKICAgICAgICAkaXRlcmF0b3IgPSBuZXcgTGlzdEpvYnNJdGVyYXRvcigkY29tbWFuZCwgYXJyYXkoCiAgICAgICAgICAgICdyZXN1bHRfa2V5JyA9PiAnSm9icycsCiAgICAgICAgICAgICdtb3JlX2tleScgICA9PiAnSXNUcnVuY2F0ZWQnLAogICAgICAgICkpOwogICAgICAgICRtb2RlbCA9IG5ldyBNb2RlbChhcnJheSgKICAgICAgICAgICAgJ0pvYnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoJ0pvYklkJyA9PiAxKSwKICAgICAgICAgICAgICAgIGFycmF5KCdKb2JJZCcgPT4gMiksCiAgICAgICAgICAgICAgICBhcnJheSgnSm9iSWQnID0+IDMpLAogICAgICAgICAgICAgICAgYXJyYXkoJ0pvYklkJyA9PiA0KSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0lzVHJ1bmNhdGVkJyA9PiAkaXNUcnVuY2F0ZWQsCiAgICAgICAgKSk7CgogICAgICAgICRjbGFzcyA9IG5ldyBcUmVmbGVjdGlvbk9iamVjdCgkaXRlcmF0b3IpOwogICAgICAgICRtZXRob2QgPSAkY2xhc3MtPmdldE1ldGhvZCgnZGV0ZXJtaW5lTmV4dFRva2VuJyk7CiAgICAgICAgJG1ldGhvZC0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkbWV0aG9kLT5pbnZva2UoJGl0ZXJhdG9yLCAkbW9kZWwpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRleHBlY3RlZE5leHRUb2tlbiwgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGl0ZXJhdG9yLCAnbmV4dFRva2VuJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/ImportExport/JobManifestListenerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcSW1wb3J0RXhwb3J0OwoKdXNlIEF3c1xJbXBvcnRFeHBvcnRcSm9iTWFuaWZlc3RMaXN0ZW5lcjsKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CgovKioKICogQGNvdmVycyBBd3NcSW1wb3J0RXhwb3J0XEpvYk1hbmlmZXN0TGlzdGVuZXIKICovCmNsYXNzIEpvYk1hbmlmZXN0TGlzdGVuZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgJHNhbXBsZU1hbmlmZXN0OwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnNhbXBsZU1hbmlmZXN0ID0gPDw8WUFNTApmb286IGJhcgpiYXI6CiAgICAtIGZvbwogICAgLSBiYXIKICAgIC0gYmF6CmJhejogZm9vCgpZQU1MOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TWFuaWZlc3RJc0NvbnZlcnRlZFRvWWFtbCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ2ltcG9ydGV4cG9ydCcpOwogICAgICAgICRjb21tYW5kID0gJGNsaWVudC0+Z2V0Q29tbWFuZCgnQ3JlYXRlSm9iJywgYXJyYXkoCiAgICAgICAgICAgICdKb2JUeXBlJyAgICAgID0+ICdJTVBPUlQnLAogICAgICAgICAgICAnVmFsaWRhdGVPbmx5JyA9PiB0cnVlLAogICAgICAgICAgICAnTWFuaWZlc3QnICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdmb28nID0+ICdiYXInLAogICAgICAgICAgICAgICAgJ2JhcicgPT4gYXJyYXkoJ2ZvbycsICdiYXInLCAnYmF6JyksCiAgICAgICAgICAgICAgICAnYmF6JyA9PiAnZm9vJywKICAgICAgICAgICAgKSwKICAgICAgICApKTsKCiAgICAgICAgJGxpc3RlbmVyID0gbmV3IEpvYk1hbmlmZXN0TGlzdGVuZXIoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ2NvbW1hbmQuYmVmb3JlX3ByZXBhcmUnLCAkbGlzdGVuZXItPmdldFN1YnNjcmliZWRFdmVudHMoKSk7CgogICAgICAgICRldmVudCA9IG5ldyBFdmVudChhcnJheSgnY29tbWFuZCcgPT4gJGNvbW1hbmQpKTsKICAgICAgICAkbGlzdGVuZXItPm9uQ29tbWFuZEJlZm9yZVByZXBhcmUoJGV2ZW50KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR0aGlzLT5zYW1wbGVNYW5pZmVzdCwgJGNvbW1hbmQtPmdldCgnTWFuaWZlc3QnKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/IntegrationTestCase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHM7CgpjbGFzcyBJbnRlZ3JhdGlvblRlc3RDYXNlIGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIExvZyBhIG1lc3NhZ2UgdG8gU1RERVJSCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbWVzc2FnZSBNZXNzYWdlIHRvIGxvZwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGxvZygkbWVzc2FnZSkKICAgIHsKICAgICAgICBmd3JpdGUoU1RERVJSLCAkbWVzc2FnZSAuICJcbiIpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSByZXNvdXJjZSBwcmVmaXggdG8gYWRkIHRvIGNyZWF0ZWQgcmVzb3VyY2VzCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRSZXNvdXJjZVByZWZpeCgpCiAgICB7CiAgICAgICAgaWYgKCFpc3NldCgkX1NFUlZFUlsnUFJFRklYJ10pIHx8ICRfU0VSVkVSWydQUkVGSVgnXSA9PSAnaG9zdG5hbWUnKSB7CiAgICAgICAgICAgICRfU0VSVkVSWydQUkVGSVgnXSA9IGNyYzMyKGdldGhvc3RuYW1lKCkpIC4gcmFuZCgwLCAxMDAwMCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJF9TRVJWRVJbJ1BSRUZJWCddOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgbW9jayByZXNwb25zZXMgc2hvdWxkIGJlIHVzZWQgZm9yIGludGVncmF0aW9uIHRlc3RzIHJhdGhlciB0aGFuCiAgICAgKiB0cnVlIHNlcnZpY2UgY2FsbHMKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZU1vY2tzKCkKICAgIHsKICAgICAgICByZXR1cm4gKGJvb2wpIGdldF9jZmdfdmFyKCdtb2NrJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBNYXJrIHRoZSB0ZXN0IGFzIHNraXBwZWQgaWYgbm90IHJ1bm5pbmcgb24gRUMyCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBza2lwSWZOb3RFYzIoKQogICAgewogICAgICAgIC8vIElmIHdlIGFyZSBub3QgdXNpbmcgbW9ja3MgYW5kIHRoZSB0ZXN0cyBhcmUgbm90IGJlaW5nIHJ1biBvbiBFQzIsCiAgICAgICAgLy8gdGhlbiBza2lwIHRoZXNlIHRlc3RzCiAgICAgICAgaWYgKCEkdGhpcy0+dXNlTW9ja3MoKSkgewogICAgICAgICAgICAkZXJybm8gPSAkZXJyc3RyID0gJyc7CiAgICAgICAgICAgICRmcCA9IEBmc29ja29wZW4oJ2h0dHA6Ly8xNjkuMjU0LjE2OS4yNTQnLCA4MCwgJGVycm5vLCAkZXJyc3RyLCAwLjEpOwogICAgICAgICAgICBpZiAoISRmcCkgewogICAgICAgICAgICAgICAgJHRoaXMtPm1hcmtUZXN0U2tpcHBlZCgnTm90IG9uIEVDMicpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgZmNsb3NlKCRmcCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Kinesis/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Kinesis/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Kinesis/Integration/Kinesis_20131104_Test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcS2luZXNpc1xJbnRlZ3JhdGlvbjsKCi8qKgogKiBAZ3JvdXAgaW50ZWdyYXRpb24KICogQGdyb3VwIGV4YW1wbGUKICovCmNsYXNzIEtpbmVzaXNfMjAxMzExMDRfVGVzdCBleHRlbmRzIFxBd3NcVGVzdHNcSW50ZWdyYXRpb25UZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEB2YXIgXEF3c1xLaW5lc2lzXEtpbmVzaXNDbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgna2luZXNpcycpOwogICAgfQoKICAgIC8qKgogICAgICogRXhlY3V0ZSB0aGUgQ3JlYXRlU3RyZWFtIG9wZXJhdGlvbgogICAgICoKICAgICAqIEBleGFtcGxlIEF3c1xLaW5lc2lzXEtpbmVzaXNDbGllbnQ6OmNyZWF0ZVN0cmVhbQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZVN0cmVhbSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CgogICAgICAgIC8vQGJlZ2luCiAgICAgICAgJGNsaWVudC0+Y3JlYXRlU3RyZWFtKGFycmF5KAogICAgICAgICAgICAnU3RyZWFtTmFtZScgPT4gJ3BocC10ZXN0LXN0cmVhbScsCiAgICAgICAgICAgICdTaGFyZENvdW50JyA9PiAxLAogICAgICAgICkpOwogICAgfQoKICAgIC8qKgogICAgICogRXhlY3V0ZSB0aGUgRGVsZXRlU3RyZWFtIG9wZXJhdGlvbgogICAgICoKICAgICAqIEBleGFtcGxlIEF3c1xLaW5lc2lzXEtpbmVzaXNDbGllbnQ6OmRlbGV0ZVN0cmVhbQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlbGV0ZVN0cmVhbSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CgogICAgICAgIC8vQGJlZ2luCiAgICAgICAgJGNsaWVudC0+ZGVsZXRlU3RyZWFtKGFycmF5KAogICAgICAgICAgICAnU3RyZWFtTmFtZScgPT4gJ3BocC10ZXN0LXN0cmVhbScsCiAgICAgICAgKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Kinesis/KinesisClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcS2luZXNpczsKCnVzZSBBd3NcS2luZXNpc1xLaW5lc2lzQ2xpZW50OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXEtpbmVzaXNcS2luZXNpc0NsaWVudAogKi8KY2xhc3MgS2luZXNpc0NsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gS2luZXNpc0NsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtZWFzdC0xJywKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0JywgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzJywgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9raW5lc2lzLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/OpsWorks/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/OpsWorks/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/OpsWorks/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcT3BzV29ya3NcSW50ZWdyYXRpb247Cgp1c2UgQXdzXE9wc1dvcmtzXE9wc1dvcmtzQ2xpZW50OwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQHZhciBPcHNXb3Jrc0NsaWVudAogICAgICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdvcHN3b3JrcycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGVzY3JpYmVzU3RhY2tzKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ0Rlc2NyaWJpbmcgc3RhY2tzJyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jbGllbnQtPmRlc2NyaWJlU3RhY2tzKCktPnRvQXJyYXkoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ1N0YWNrcycsICRyZXN1bHQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TGlzdHNTdGFja3MoKQogICAgewogICAgICAgIHNlbGY6OmxvZygnSXRlcmF0aW5nIHN0YWNrcycpOwogICAgICAgICRzdGFja3MgPSAkdGhpcy0+Y2xpZW50LT5nZXRJdGVyYXRvcignRGVzY3JpYmVTdGFja3MnKS0+dG9BcnJheSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgJHN0YWNrcyk7CiAgICAgICAgZm9yZWFjaCAoJHN0YWNrcyBhcyAkc3RhY2spIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdOYW1lJywgJHN0YWNrKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xPcHNXb3Jrc1xFeGNlcHRpb25cUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBhcnNlc0Vycm9ycygpCiAgICB7CiAgICAgICAgc2VsZjo6bG9nKCdFbnN1cmluZyBlcnJvcnMgYXJlIHBhcnNlZCBjb3JyZWN0bHknKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5kZWxldGVBcHAoYXJyYXkoJ0FwcElkJyA9PiAnZG9lcy1ub3QtZXhpc3QtZm9vLTEyMycpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/OpsWorks/OpsWorksClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcT3BzV29ya3M7Cgp1c2UgQXdzXE9wc1dvcmtzXE9wc1dvcmtzQ2xpZW50OwoKY2xhc3MgT3BzV29ya3NDbGllbnRDbGllbnRUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXE9wc1dvcmtzXE9wc1dvcmtzQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gT3BzV29ya3NDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLWVhc3QtMScKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0JywgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzJywgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9vcHN3b3Jrcy51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Rds/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Rds/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Rds/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUmRzXEludGVncmF0aW9uOwoKdXNlIEF3c1xSZHNcUmRzQ2xpZW50OwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIGNvbnN0IFRFU1RfR1JPVVAgPSAnaW50ZWdmb28nOwoKICAgIC8qKgogICAgICogQHZhciBSZHNDbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRVcEJlZm9yZUNsYXNzKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ0NsZWFuaW5nIHVwIHByZXZpb3VzbHkgY3JlYXRlZCBzZWN1cml0eSBncm91cHMnKTsKICAgICAgICAkY2xpZW50ID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdyZHMnKTsKICAgICAgICB0cnkgewogICAgICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+ZGVsZXRlREJTZWN1cml0eUdyb3VwKGFycmF5KAogICAgICAgICAgICAgICAgJ0RCU2VjdXJpdHlHcm91cE5hbWUnID0+IHNlbGY6OlRFU1RfR1JPVVAKICAgICAgICAgICAgKSk7CiAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAvLyBJZ25vcmUKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgncmRzJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzTGlzdHNBcmVQYXJzZWRDb3JyZWN0bHkoKQogICAgewogICAgICAgICRyZXN1bHRzID0gJHRoaXMtPmNsaWVudC0+Z2V0SXRlcmF0b3IoJ0Rlc2NyaWJlREJFbmdpbmVWZXJzaW9ucycpOwogICAgICAgIGZvcmVhY2ggKCRyZXN1bHRzIGFzICRyZXN1bHQpIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdEQlBhcmFtZXRlckdyb3VwRmFtaWx5JywgJHJlc3VsdCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcUmRzXEV4Y2VwdGlvblxEQkluc3RhbmNlTm90Rm91bmRFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgREJJbnN0YW5jZSBmb28tMTIzLW5hIG5vdCBmb3VuZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBhcnNlc0Vycm9ycygpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+ZGVsZXRlREJJbnN0YW5jZShhcnJheSgKICAgICAgICAgICAgJ0RCSW5zdGFuY2VJZGVudGlmaWVyJyA9PiAnZm9vLTEyMy1uYScKICAgICAgICApKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNTZWN1cml0eUdyb3VwKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ0NyZWF0aW5nIGEgREIgc2VjdXJpdHkgZ3JvdXAnKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNsaWVudC0+Y3JlYXRlREJTZWN1cml0eUdyb3VwKGFycmF5KAogICAgICAgICAgICAnREJTZWN1cml0eUdyb3VwTmFtZScgPT4gc2VsZjo6VEVTVF9HUk9VUCwKICAgICAgICAgICAgJ0RCU2VjdXJpdHlHcm91cERlc2NyaXB0aW9uJyA9PiAnSW50ZWcgdGVzdCcKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ093bmVySWQnLCAkcmVzdWx0LT50b0FycmF5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnRUMyU2VjdXJpdHlHcm91cHMnLCAkcmVzdWx0LT50b0FycmF5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnUmVzcG9uc2VNZXRhZGF0YScsICRyZXN1bHQtPnRvQXJyYXkoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0Q3JlYXRlc1NlY3VyaXR5R3JvdXAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RMaXN0c1NlY3VyaXR5R3JvdXBzKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ0xpc3Rpbmcgc2VjdXJpdHkgZ3JvdXAnKTsKICAgICAgICAkaXRlcmF0b3IgPSAkdGhpcy0+Y2xpZW50LT5nZXRJdGVyYXRvcignRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzJyk7CiAgICAgICAgJGZvdW5kID0gZmFsc2U7CiAgICAgICAgZm9yZWFjaCAoJGl0ZXJhdG9yIGFzICRncm91cCkgewogICAgICAgICAgICBpZiAoJGdyb3VwWydEQlNlY3VyaXR5R3JvdXBOYW1lJ10gPT0gc2VsZjo6VEVTVF9HUk9VUCkgewogICAgICAgICAgICAgICAgJGZvdW5kID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICghJGZvdW5kKSB7CiAgICAgICAgICAgICR0aGlzLT5mYWlsKCdEaWQgbm90IGZpbmQgc2VjdXJpdHkgZ3JvdXAgJyAuIHNlbGY6OlRFU1RfR1JPVVApOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RMaXN0c1NlY3VyaXR5R3JvdXBzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGVsZXRlc1NlY3VyaXR5R3JvdXBzKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ0NsZWFuaW5nIHVwIHNlY3VyaXR5IGdyb3VwJyk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+ZGVsZXRlREJTZWN1cml0eUdyb3VwKGFycmF5KCdEQlNlY3VyaXR5R3JvdXBOYW1lJyA9PiBzZWxmOjpURVNUX0dST1VQKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Rds/RdsClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUmRzOwoKdXNlIEF3c1xSZHNcUmRzQ2xpZW50OwoKY2xhc3MgUmRzQ2xpZW50VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xSZHNcUmRzQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gUmRzQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgICAgICdyZWdpb24nID0+ICd1cy13ZXN0LTInCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWNCcsICRjbGllbnQtPmdldFNpZ25hdHVyZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFscycsICRjbGllbnQtPmdldENyZWRlbnRpYWxzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHBzOi8vcmRzLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tJywgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Rds/Waiter/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Rds/Waiter/DBAvailableTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUmRzXFdhaXRlcjsKCmNsYXNzIERCQXZhaWxhYmxlVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewoJLyoqCiAgICAgKiBAdmFyIFJkc0NsaWVudAogICAgICovCiAgICBwdWJsaWMgJGNsaWVudDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERCQXZhaWxhYmxlKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgncmRzJywgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkdGhpcy0+Y2xpZW50LCAncmRzL2Rlc2NyaWJlX2RiX2luc3RhbmNlcycpOwogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbCgnX19EQkluc3RhbmNlU3RhdGUnLCBhcnJheSgKICAgICAgICAJJ0RCSW5zdGFuY2VJZGVudGlmaWVyJyA9PiAnZm9vJywKICAgICAgICAJJ3dhaXRlci5zdWNjZXNzLnZhbHVlJyA9PiAiYXZhaWxhYmxlIiwKICAgICAgICAJJ3dhaXRlci5pbnRlcnZhbCcgICAgICA9PiAwKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Redshift/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Redshift/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Redshift/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUmVkc2hpZnRcSW50ZWdyYXRpb247Cgp1c2UgQXdzXFJlZHNoaWZ0XFJlZHNoaWZ0Q2xpZW50OwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIGNvbnN0IFNFQ1VSSVRZX0dST1VQX05BTUUgPSAncGhwaW50ZWd0ZXN0c2VjdXJpdHlncm91cCc7CgogICAgLyoqCiAgICAgKiBAdmFyIFJlZHNoaWZ0Q2xpZW50CiAgICAgKi8KICAgIHB1YmxpYyAkcmVkc2hpZnQ7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+cmVkc2hpZnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdyZWRzaGlmdCcpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc1NlY3VyaXR5R3JvdXAoKQogICAgewogICAgICAgIHNlbGY6OmxvZygnQ3JlYXRlIGEgY2x1c3RlciBzZWN1cml0eSBncm91cCcpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+cmVkc2hpZnQtPmNyZWF0ZUNsdXN0ZXJTZWN1cml0eUdyb3VwKGFycmF5KAogICAgICAgICAgICAnQ2x1c3RlclNlY3VyaXR5R3JvdXBOYW1lJyA9PiBzZWxmOjpTRUNVUklUWV9HUk9VUF9OQU1FLAogICAgICAgICAgICAnRGVzY3JpcHRpb24nICAgICAgICAgICAgICA9PiAnUEhQIEludGVnIFRlc3QgQ2x1c3RlciBTZWN1cml0eSBHcm91cCcsCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhzZWxmOjpTRUNVUklUWV9HUk9VUF9OQU1FLCAkcmVzdWx0LT5nZXQoJ0NsdXN0ZXJTZWN1cml0eUdyb3VwTmFtZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVzdWx0LT5oYXNLZXkoJ0VDMlNlY3VyaXR5R3JvdXBzJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXN1bHQtPmhhc0tleSgnUmVzcG9uc2VNZXRhZGF0YScpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RDcmVhdGVzU2VjdXJpdHlHcm91cAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExpc3RzU2VjdXJpdHlHcm91cHMoKQogICAgewogICAgICAgIHNlbGY6OmxvZygnTGlzdCBjbHVzdGVyIHNlY3VyaXR5IGdyb3VwcycpOwogICAgICAgICRmb3VuZCA9IGZhbHNlOwogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5yZWRzaGlmdC0+Z2V0SXRlcmF0b3IoJ0Rlc2NyaWJlQ2x1c3RlclNlY3VyaXR5R3JvdXBzJykgYXMgJGdyb3VwKSB7CiAgICAgICAgICAgIGlmICgkZ3JvdXBbJ0NsdXN0ZXJTZWN1cml0eUdyb3VwTmFtZSddID09IHNlbGY6OlNFQ1VSSVRZX0dST1VQX05BTUUpIHsKICAgICAgICAgICAgICAgICRmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZm91bmQsICdEaWQgbm90IGZpbmQgY2x1c3RlciBzZWN1cml0eSBncm91cCAnIC4gc2VsZjo6U0VDVVJJVFlfR1JPVVBfTkFNRSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0TGlzdHNTZWN1cml0eUdyb3VwcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlbGV0ZXNTZWN1cml0eUdyb3VwcygpCiAgICB7CiAgICAgICAgc2VsZjo6bG9nKCdEZWxldGUgY2x1c3RlciBzZWN1cml0eSBncm91cCcpOwogICAgICAgICR0aGlzLT5yZWRzaGlmdC0+ZGVsZXRlQ2x1c3RlclNlY3VyaXR5R3JvdXAoYXJyYXkoJ0NsdXN0ZXJTZWN1cml0eUdyb3VwTmFtZScgPT4gc2VsZjo6U0VDVVJJVFlfR1JPVVBfTkFNRSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGVzY3JpYmVFdmVudHNJdGVyYXRvcigpCiAgICB7CiAgICAgICAgJG1heFJlY29yZHMgPSAyNTsKICAgICAgICAkZXZlbnRzID0gJHRoaXMtPnJlZHNoaWZ0LT5nZXRJdGVyYXRvcignRGVzY3JpYmVFdmVudHMnLCBhcnJheSgKICAgICAgICAgICAgJ1N0YXJ0VGltZScgID0+IHN0cnRvdGltZSgnLTEzIGRheXMnKSwKICAgICAgICAgICAgJ0VuZFRpbWUnICAgID0+IHN0cnRvdGltZSgnbm93JyksCiAgICAgICAgICAgICdNYXhSZWNvcmRzJyA9PiAkbWF4UmVjb3JkcywKICAgICAgICApKTsKICAgICAgICAkdG90YWwgPSBpdGVyYXRvcl9jb3VudCgkZXZlbnRzKTsKICAgICAgICAkZXhwZWN0ZWQgPSBjZWlsKCR0b3RhbCAvICRtYXhSZWNvcmRzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRleHBlY3RlZCA/OiAxLCAkZXZlbnRzLT5nZXRSZXF1ZXN0Q291bnQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGV4YW1wbGVUZXN0QmFzaWNDbHVzdGVyT3BlcmF0aW9ucygpCiAgICB7CiAgICAgICAgJGNsdXN0ZXJJZCA9ICdwaHAtaW50ZWctcmVkc2hpZnQtY2x1c3Rlci0nIC4gdGltZSgpOwogICAgICAgICRzbmFwc2hvdElkID0gJ3BocC1pbnRlZy1yZWRzaGlmdC1zbmFwc2hvdC0nIC4gdGltZSgpOwoKICAgICAgICBzZWxmOjpsb2coJ0xhdW5jaCBhIGNsdXN0ZXIuJyk7CiAgICAgICAgJHRoaXMtPnJlZHNoaWZ0LT5nZXRDb21tYW5kKCdDcmVhdGVDbHVzdGVyJywgYXJyYXkoCiAgICAgICAgICAgICdDbHVzdGVySWRlbnRpZmllcicgID0+ICRjbHVzdGVySWQsCiAgICAgICAgICAgICdDbHVzdGVyVHlwZScgICAgICAgID0+ICdtdWx0aS1ub2RlJywKICAgICAgICAgICAgJ01hc3RlclVzZXJuYW1lJyAgICAgPT4gJ3BocGludGVndXNlcicsCiAgICAgICAgICAgICdNYXN0ZXJVc2VyUGFzc3dvcmQnID0+ICdQSFBpbnQzZ3UkZXInLAogICAgICAgICAgICAnTm9kZVR5cGUnICAgICAgICAgICA9PiAnZHcuaHMxLnhsYXJnZScsCiAgICAgICAgICAgICdOdW1iZXJPZk5vZGVzJyAgICAgID0+IDIsCiAgICAgICAgKSktPmV4ZWN1dGUoKTsKCiAgICAgICAgc2VsZjo6bG9nKCdHZXQgYSBsaXN0IG9mIGFsbCBvZiB0aGUgY2x1c3RlcnMgYW5kIG1ha2Ugc3VyZSB0aGVyZSBpcyBhdCBsZWFzdCBvbmUuJyk7CiAgICAgICAgJGNsdXN0ZXJzID0gJHRoaXMtPnJlZHNoaWZ0LT5nZXRJdGVyYXRvcignRGVzY3JpYmVDbHVzdGVycycpOwogICAgICAgICR0aGlzLT5hc3NlcnRHcmVhdGVyVGhhbk9yRXF1YWwoMSwgaXRlcmF0b3JfY291bnQoJGNsdXN0ZXJzKSk7CgogICAgICAgIHNlbGY6OmxvZygnTWFrZSBzdXJlIHRoZSBuZXcgY2x1c3RlciBleGlzdHMuJyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5yZWRzaGlmdC0+Z2V0Q29tbWFuZCgnRGVzY3JpYmVDbHVzdGVycycsIGFycmF5KAogICAgICAgICAgICAnQ2x1c3RlcklkZW50aWZpZXInID0+ICRjbHVzdGVySWQsCiAgICAgICAgKSktPmdldFJlc3VsdCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgxLCAkcmVzdWx0LT5nZXQoJ0NsdXN0ZXJzJykpOwoKICAgICAgICBzZWxmOjpsb2coJ1dhaXQgdW50aWwgdGhlIGNsdXN0ZXIgZXhpc3RzLiBUaGlzIGNhbiB0YWtlIGFyb3VuZCAyMCBtaW51dGVzLicpOwogICAgICAgICR0aGlzLT5yZWRzaGlmdC0+d2FpdFVudGlsQ2x1c3RlckF2YWlsYWJsZShhcnJheSgKICAgICAgICAgICAgJ0NsdXN0ZXJJZGVudGlmaWVyJyA9PiAkY2x1c3RlcklkCiAgICAgICAgKSk7CgogICAgICAgIHNlbGY6OmxvZygnQ3JlYXRlIGEgc25hcHNob3Qgb2YgdGhlIGNsdXN0ZXIgYW5kIHdhaXQgdW50aWwgaXQgaXMgYXZhaWxhYmxlLicpOwogICAgICAgICR0aGlzLT5yZWRzaGlmdC0+Z2V0Q29tbWFuZCgnQ3JlYXRlQ2x1c3RlclNuYXBzaG90JywgYXJyYXkoCiAgICAgICAgICAgICdDbHVzdGVySWRlbnRpZmllcicgID0+ICRjbHVzdGVySWQsCiAgICAgICAgICAgICdTbmFwc2hvdElkZW50aWZpZXInID0+ICRzbmFwc2hvdElkLAogICAgICAgICkpLT5leGVjdXRlKCk7CiAgICAgICAgJHRoaXMtPnJlZHNoaWZ0LT53YWl0VW50aWxTbmFwc2hvdEF2YWlsYWJsZShhcnJheSgKICAgICAgICAgICAgJ1NuYXBzaG90SWRlbnRpZmllcicgPT4gJHNuYXBzaG90SWQKICAgICAgICApKTsKCiAgICAgICAgc2VsZjo6bG9nKCdEZWxldGUgdGhlIHNuYXBzaG90LicpOwogICAgICAgICR0aGlzLT5yZWRzaGlmdC0+Z2V0Q29tbWFuZCgnRGVsZXRlQ2x1c3RlclNuYXBzaG90JywgYXJyYXkoCiAgICAgICAgICAgICdTbmFwc2hvdElkZW50aWZpZXInID0+ICRzbmFwc2hvdElkLAogICAgICAgICkpLT5leGVjdXRlKCk7CgogICAgICAgIHNlbGY6OmxvZygnRGVsZXRlIHRoZSBjbHVzdGVyLicpOwogICAgICAgICR0aGlzLT5yZWRzaGlmdC0+Z2V0Q29tbWFuZCgnRGVsZXRlQ2x1c3RlcicsIGFycmF5KAogICAgICAgICAgICAnQ2x1c3RlcklkZW50aWZpZXInICAgICAgICA9PiAkY2x1c3RlcklkLAogICAgICAgICAgICAnU2tpcEZpbmFsQ2x1c3RlclNuYXBzaG90JyA9PiB0cnVlLAogICAgICAgICkpLT5leGVjdXRlKCk7CgogICAgICAgIHNlbGY6OmxvZygnV2FpdCB1bnRpbCB0aGUgY2x1c3RlciBpcyBkZWxldGVkLicpOwogICAgICAgICR0aGlzLT5yZWRzaGlmdC0+d2FpdFVudGlsQ2x1c3RlckRlbGV0ZWQoYXJyYXkoCiAgICAgICAgICAgICdDbHVzdGVySWRlbnRpZmllcicgPT4gJGNsdXN0ZXJJZCwKICAgICAgICApKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Redshift/RedshiftClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUmVkc2hpZnQ7Cgp1c2UgQXdzXFJlZHNoaWZ0XFJlZHNoaWZ0Q2xpZW50OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFJlZHNoaWZ0XFJlZHNoaWZ0Q2xpZW50CiAqLwpjbGFzcyBSZWRzaGlmdENsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gUmVkc2hpZnRDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLWVhc3QtMScKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9yZWRzaGlmdC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbScsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0JywgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzJywgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Route53/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Route53/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Route53/Integration/BasicOperationsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUm91dGU1M1xJbnRlZ3JhdGlvbjsKCnVzZSBBd3NcUm91dGU1M1xFbnVtXEhlYWx0aENoZWNrVHlwZTsKdXNlIEF3c1xSb3V0ZTUzXEVudW1cU3RhdHVzOwp1c2UgQXdzXFJvdXRlNTNcUm91dGU1M0NsaWVudDsKCi8qKgogKiBAZ3JvdXAgaW50ZWdyYXRpb24KICovCmNsYXNzIEJhc2ljT3BlcmF0aW9uc1Rlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAdmFyIFJvdXRlNTNDbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRyb3V0ZTUzOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnJvdXRlNTMgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdyb3V0ZTUzJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIb3N0ZWRab25lT3BlcmF0aW9ucygpCiAgICB7CiAgICAgICAgc2VsZjo6bG9nKCdDcmVhdGUgYSBob3N0ZWQgem9uZS4nKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPnJvdXRlNTMtPmdldENvbW1hbmQoJ0NyZWF0ZUhvc3RlZFpvbmUnLCBhcnJheSgKICAgICAgICAgICAgJ05hbWUnID0+ICdpbnRlZ3JvdXRlNTMnIC4gc2VsZjo6Z2V0UmVzb3VyY2VQcmVmaXgoKSAuICcuY29tJywKICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gdW5pcWlkKCdhd3Mtc2RrLXBocC1oei0nKSwKICAgICAgICApKS0+Z2V0UmVzdWx0KCk7CiAgICAgICAgJHpvbmVJZCA9ICRyZXN1bHQtPmdldFBhdGgoJ0hvc3RlZFpvbmUvSWQnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U3RyaW5nU3RhcnRzV2l0aCgnL2hvc3RlZHpvbmUvJywgJHpvbmVJZCk7CgogICAgICAgIHNlbGY6OmxvZygnTGlzdCB0aGUgaG9zdGVkIHpvbmVzIGFuZCB2ZXJpZnkgdGhlIG9uZSB3ZSBjcmVhdGVkIGlzIHRoZXJlLicpOwogICAgICAgICR6b25lSWRzID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+cm91dGU1My0+Z2V0SXRlcmF0b3IoJ0xpc3RIb3N0ZWRab25lcycpIGFzICR6b25lKSB7CiAgICAgICAgICAgICR6b25lSWRzW10gPSAkem9uZVsnSWQnXTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCR6b25lSWQsICR6b25lSWRzKTsKCiAgICAgICAgc2VsZjo6bG9nKCdHZXQgdGhlIGhvc3RlZCB6b25lIHdlIGNyZWF0ZWQgYnkgaXRzIElELicpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+cm91dGU1My0+Z2V0Q29tbWFuZCgnR2V0SG9zdGVkWm9uZScsIGFycmF5KAogICAgICAgICAgICAnSWQnID0+ICR6b25lSWQsCiAgICAgICAgKSktPmdldFJlc3VsdCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHpvbmVJZCwgJHJlc3VsdC0+Z2V0UGF0aCgnSG9zdGVkWm9uZS9JZCcpKTsKICAgICAgICAkbmFtZVNlcnZlcnMgPSAkcmVzdWx0LT5nZXRQYXRoKCdEZWxlZ2F0aW9uU2V0L05hbWVTZXJ2ZXJzJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCAkbmFtZVNlcnZlcnMpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRuYW1lU2VydmVycywgYXJyYXlfdmFsdWVzKCRuYW1lU2VydmVycykpOwoKICAgICAgICBzZWxmOjpsb2coJ0NyZWF0aW5nIGFuIFMzIHN0YXRpYyB3ZWJzaXRlIGJ1Y2tldCcpOwogICAgICAgICRzMyA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJGJ1Y2tldE5hbWUgPSAnaW50ZWdyb3V0ZTUzJyAuIHNlbGY6OmdldFJlc291cmNlUHJlZml4KCk7CiAgICAgICAgaWYgKCEkczMtPmRvZXNCdWNrZXRFeGlzdCgkYnVja2V0TmFtZSkpIHsKICAgICAgICAgICAgJHMzLT5jcmVhdGVCdWNrZXQoYXJyYXkoJ0J1Y2tldCcgPT4gJGJ1Y2tldE5hbWUpKTsKICAgICAgICAgICAgJHMzLT53YWl0VW50aWwoJ0J1Y2tldEV4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICRidWNrZXROYW1lKSk7CiAgICAgICAgfQoKICAgICAgICBzZWxmOjpsb2coJ1NldHRpbmcgd2Vic2l0ZSBjb25maWcgb24gYnVja2V0Jyk7CiAgICAgICAgJHMzLT5wdXRCdWNrZXRXZWJzaXRlKGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiAkYnVja2V0TmFtZSwKICAgICAgICAgICAgJ0luZGV4RG9jdW1lbnQnID0+IGFycmF5KCdTdWZmaXgnID0+ICdpbmRleC5odG1sJykKICAgICAgICApKTsKCiAgICAgICAgc2VsZjo6bG9nKCdDcmVhdGUgYSByZXNvdXJjZSByZWNvcmQgc2V0IGZvciB0aGUgem9uZScpOwogICAgICAgICR0aGlzLT5yb3V0ZTUzLT5jaGFuZ2VSZXNvdXJjZVJlY29yZFNldHMoYXJyYXkoCiAgICAgICAgICAgICdIb3N0ZWRab25lSWQnID0+ICR6b25lSWQsCiAgICAgICAgICAgICdDaGFuZ2VCYXRjaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ2hhbmdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nID0+ICdDUkVBVEUnLAogICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VSZWNvcmRTZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+ICdmb28uJyAuICRidWNrZXROYW1lIC4gJy5jb20nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1R5cGUnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVFRMJyA9PiAzMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VSZWNvcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnVmFsdWUnID0+ICcxOTIuMC4yLjMnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgIHNlbGY6OmxvZygnR2V0IHRoZSByZXNvdXJjZSByZWNvcmQgc2V0Jyk7CiAgICAgICAgJHNldCA9ICR0aGlzLT5yb3V0ZTUzLT5saXN0UmVzb3VyY2VSZWNvcmRTZXRzKGFycmF5KAogICAgICAgICAgICAnSG9zdGVkWm9uZUlkJyA9PiAkem9uZUlkCiAgICAgICAgKSk7CgogICAgICAgICRyZWNvcmQgPSBudWxsOwogICAgICAgIGZvcmVhY2ggKCRzZXRbJ1Jlc291cmNlUmVjb3JkU2V0cyddIGFzICRyZXNvdXJjZSkgewogICAgICAgICAgICBpZiAoJHJlc291cmNlWydUeXBlJ10gPT0gJ0NOQU1FJykgewogICAgICAgICAgICAgICAgJHJlY29yZCA9ICRyZXNvdXJjZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoISRyZWNvcmQpIHsKICAgICAgICAgICAgJHRoaXMtPmZhaWwoJ0RpZCBub3QgZmluZCB0aGUgY3JlYXRlZCBDTkFNRSByZWNvcmQnKTsKICAgICAgICB9CgogICAgICAgIHNlbGY6OmxvZygnVXBkYXRlIHRoZSByZXNvdXJjZSByZWNvcmQgc2V0Jyk7CiAgICAgICAgJG9yaWdpbmFsUmVjb3JkID0gJHJlY29yZDsKICAgICAgICAkcmVjb3JkWydSZXNvdXJjZVJlY29yZHMnXVswXVsnVmFsdWUnXSA9ICcxOTIuMC4yLjQnOwoKICAgICAgICAkdGhpcy0+cm91dGU1My0+Y2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzKGFycmF5KAogICAgICAgICAgICAnSG9zdGVkWm9uZUlkJyA9PiAkem9uZUlkLAogICAgICAgICAgICAnQ2hhbmdlQmF0Y2gnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NoYW5nZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiAnREVMRVRFJywKICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlUmVjb3JkU2V0JyA9PiAkb3JpZ2luYWxSZWNvcmQKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJyA9PiAnQ1JFQVRFJywKICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlUmVjb3JkU2V0JyA9PiAkcmVjb3JkCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgIHNlbGY6OmxvZygnRW5zdXJpbmcgdGhhdCB0aGUgcmVjb3JkIHdhcyB1cGRhdGVkJyk7CiAgICAgICAgJHNldCA9ICR0aGlzLT5yb3V0ZTUzLT5saXN0UmVzb3VyY2VSZWNvcmRTZXRzKGFycmF5KAogICAgICAgICAgICAnSG9zdGVkWm9uZUlkJyA9PiAkem9uZUlkCiAgICAgICAgKSk7CiAgICAgICAgZm9yZWFjaCAoJHNldFsnUmVzb3VyY2VSZWNvcmRTZXRzJ10gYXMgJHJlc291cmNlKSB7CiAgICAgICAgICAgIGlmICgkcmVzb3VyY2VbJ1R5cGUnXSA9PSAnQ05BTUUnKSB7CiAgICAgICAgICAgICAgICBpZiAoJHJlc291cmNlWydSZXNvdXJjZVJlY29yZHMnXVswXVsnVmFsdWUnXSAhPSAnMTkyLjAuMi40JykgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5mYWlsKCdEaWQgbm90IHVwZGF0ZSByZWNvcmQnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBzZWxmOjpsb2coJ0RlbGV0ZSB0aGUgcmVzb3VyY2UgcmVjb3JkIHNldCcpOwogICAgICAgICR0aGlzLT5yb3V0ZTUzLT5jaGFuZ2VSZXNvdXJjZVJlY29yZFNldHMoYXJyYXkoCiAgICAgICAgICAgICdIb3N0ZWRab25lSWQnID0+ICR6b25lSWQsCiAgICAgICAgICAgICdDaGFuZ2VCYXRjaCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQ2hhbmdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nID0+ICdERUxFVEUnLAogICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VSZWNvcmRTZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+ICdmb28uJyAuICRidWNrZXROYW1lIC4gJy5jb20nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1R5cGUnID0+ICdDTkFNRScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVFRMJyA9PiAzMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2VSZWNvcmRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnVmFsdWUnID0+ICcxOTIuMC4yLjQnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgIHNlbGY6OmxvZygnRGVsZXRlIHRoZSBidWNrZXQnKTsKICAgICAgICAkczMtPmRlbGV0ZUJ1Y2tldChhcnJheSgnQnVja2V0JyA9PiAkYnVja2V0TmFtZSkpOwoKICAgICAgICBzZWxmOjpsb2coJ0RlbGV0ZSB0aGUgaG9zdGVkIHpvbmUgY3JlYXRlZC4nKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPnJvdXRlNTMtPmdldENvbW1hbmQoJ0RlbGV0ZUhvc3RlZFpvbmUnLCBhcnJheSgKICAgICAgICAgICAgJ0lkJyA9PiAkem9uZUlkLAogICAgICAgICkpLT5nZXRSZXN1bHQoKTsKICAgICAgICAkY2hhbmdlSWQgPSAkcmVzdWx0LT5nZXRQYXRoKCdDaGFuZ2VJbmZvL0lkJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFN0cmluZ1N0YXJ0c1dpdGgoJy9jaGFuZ2UvJywgJGNoYW5nZUlkKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKFN0YXR1czo6UEVORElORywgJHJlc3VsdC0+Z2V0UGF0aCgnQ2hhbmdlSW5mby9TdGF0dXMnKSk7CgogICAgICAgIHNlbGY6OmxvZygnR2V0IHRoZSBjaGFuZ2UgcmVjb3JkIGFuZCB2ZXJpZnkgdGhhdCBpdCBpcyBiZWluZyBkZWxldGVkLicpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+cm91dGU1My0+Z2V0Q29tbWFuZCgnR2V0Q2hhbmdlJywgYXJyYXkoCiAgICAgICAgICAgICdJZCcgPT4gJGNoYW5nZUlkLAogICAgICAgICkpLT5nZXRSZXN1bHQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKFN0YXR1czo6UEVORElORywgJHJlc3VsdC0+Z2V0UGF0aCgnQ2hhbmdlSW5mby9TdGF0dXMnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIZWFsdGhDaGVja09wZXJhdGlvbnMoKQogICAgewogICAgICAgIHNlbGY6OmxvZygnQ3JlYXRlIGEgaGVhbHRoIGNoZWNrLicpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+cm91dGU1My0+Z2V0Q29tbWFuZCgnQ3JlYXRlSGVhbHRoQ2hlY2snLCBhcnJheSgKICAgICAgICAgICAgJ0NhbGxlclJlZmVyZW5jZScgPT4gdW5pcWlkKCdhd3Mtc2RrLXBocC1oYy0nKSwKICAgICAgICAgICAgJ0hlYWx0aENoZWNrQ29uZmlnJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJUEFkZHJlc3MnID0+IGdldGhvc3RieW5hbWUoJ2F3cy5hbWF6b24uY29tJyksCiAgICAgICAgICAgICAgICAnUG9ydCcgPT4gJzgwJywKICAgICAgICAgICAgICAgICdUeXBlJyA9PiBIZWFsdGhDaGVja1R5cGU6OlRDUCwKICAgICAgICAgICAgKSwKICAgICAgICApKS0+Z2V0UmVzdWx0KCk7CiAgICAgICAgJGhlYWx0aENoZWNrSWQgPSAkcmVzdWx0LT5nZXRQYXRoKCdIZWFsdGhDaGVjay9JZCcpOwoKICAgICAgICBzZWxmOjpsb2coJ0xpc3QgdGhlIGhlYWx0aCBjaGVja3MuJyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5yb3V0ZTUzLT5nZXRDb21tYW5kKCdMaXN0SGVhbHRoQ2hlY2tzJyktPmdldFJlc3VsdCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgxLCAkcmVzdWx0LT5nZXQoJ0hlYWx0aENoZWNrcycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJGhlYWx0aENoZWNrSWQsICRyZXN1bHQtPmdldFBhdGgoJ0hlYWx0aENoZWNrcy8qL0lkJykpOwoKICAgICAgICBzZWxmOjpsb2coJ0RlbGV0ZSB0aGUgaGVhbHRoIGNoZWNrcy4nKTsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+cm91dGU1My0+Z2V0SXRlcmF0b3IoJ0xpc3RIZWFsdGhDaGVja3MnKSBhcyAkaGVhbHRoQ2hlY2spIHsKICAgICAgICAgICAgJHRoaXMtPnJvdXRlNTMtPmdldENvbW1hbmQoJ0RlbGV0ZUhlYWx0aENoZWNrJywgYXJyYXkoCiAgICAgICAgICAgICAgICAnSGVhbHRoQ2hlY2tJZCcgPT4gJGhlYWx0aENoZWNrWydJZCddLAogICAgICAgICAgICApKS0+ZXhlY3V0ZSgpOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPnJvdXRlNTMtPmdldENvbW1hbmQoJ0xpc3RIZWFsdGhDaGVja3MnKS0+Z2V0UmVzdWx0KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvdW50KDAsICRyZXN1bHQtPmdldCgnSGVhbHRoQ2hlY2tzJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Route53/Integration/IteratorsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUm91dGU1M1xJbnRlZ3JhdGlvbjsKCi8qKgogKiBAZ3JvdXAgaW50ZWdyYXRpb24KICovCmNsYXNzIEl0ZXJhdG9yc1Rlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJdGVyYXRlc0xpc3RSZXNvdXJjZVJlY29yZFNldHNDb21tYW5kKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ1Rlc3QgdGhlIGNvbXBsZXggaXRlcmF0b3IgZm9yIExpc3RSZXNvdXJjZVJlY29yZFNldHMuJyk7CgogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdyb3V0ZTUzJyk7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KAogICAgICAgICAgICAncm91dGU1My9saXN0X3Jyc19wYWdlXzEnLAogICAgICAgICAgICAncm91dGU1My9saXN0X3Jyc19wYWdlXzInLAogICAgICAgICAgICAncm91dGU1My9saXN0X3Jyc19wYWdlXzMnLAogICAgICAgICkpOwoKICAgICAgICAkcmVzb3VyY2VSZWNvcmRTZXRzID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ0xpc3RSZXNvdXJjZVJlY29yZFNldHMnLCBhcnJheSgKICAgICAgICAgICAgJ0hvc3RlZFpvbmVJZCcgPT4gJzAxMjM0NTY3ODknCiAgICAgICAgKSk7CgogICAgICAgICRyZXNvdXJjZVJlY29yZHMgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKCRyZXNvdXJjZVJlY29yZFNldHMgYXMgJHJlc291cmNlUmVjb3JkU2V0KSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3d3dy5leGFtcGxlLmNvbS4nLCAkcmVzb3VyY2VSZWNvcmRTZXRbJ05hbWUnXSk7CiAgICAgICAgICAgIGZvcmVhY2ggKCRyZXNvdXJjZVJlY29yZFNldFsnUmVzb3VyY2VSZWNvcmRzJ10gYXMgJHJlc291cmNlUmVjb3JkKSB7CiAgICAgICAgICAgICAgICAkcmVzb3VyY2VSZWNvcmRzW10gPSAkcmVzb3VyY2VSZWNvcmRbJ1ZhbHVlJ107CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKGFycmF5KCdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicpLCAkcmVzb3VyY2VSZWNvcmRzKTsKCiAgICAgICAgJHJlcXVlc3RzID0gJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCRyZXF1ZXN0cykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Route53/Route53ClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUm91dGU1MzsKCnVzZSBBd3NcUm91dGU1M1xSb3V0ZTUzQ2xpZW50OwoKY2xhc3MgUm91dGU1M0NsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcUm91dGU1M1xSb3V0ZTUzQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gUm91dGU1M0NsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjNIdHRwcycsICRjbGllbnQtPmdldFNpZ25hdHVyZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFscycsICRjbGllbnQtPmdldENyZWRlbnRpYWxzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHBzOi8vcm91dGU1My5hbWF6b25hd3MuY29tJywgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXFJvdXRlNTNcUm91dGU1M0NsaWVudDo6Z2V0U2VydmVyVGltZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldFNlcnZlclRpbWVSZXR1cm5zVGltZUZvckJvdGgyMDBBbmQ0MDBSZXNwb25zZXMoKQogICAgewogICAgICAgICRjbGllbnQgPSBSb3V0ZTUzQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgICdyb3V0ZTUzL3NlcnZlcl90aW1lXzEnLAogICAgICAgICAgICAncm91dGU1My9zZXJ2ZXJfdGltZV8yJywKICAgICAgICApKTsKCiAgICAgICAgJHRpbWUgPSAkY2xpZW50LT5nZXRTZXJ2ZXJUaW1lKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0RhdGVUaW1lJywgJHRpbWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzExLTE5LTIwMDknLCAkdGltZS0+Zm9ybWF0KCdtLWQtWScpKTsKCiAgICAgICAgJHRpbWUgPSAkY2xpZW50LT5nZXRTZXJ2ZXJUaW1lKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0RhdGVUaW1lJywgJHRpbWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzExLTIwLTIwMDknLCAkdGltZS0+Zm9ybWF0KCdtLWQtWScpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXFJvdXRlNTNcUm91dGU1M0NsaWVudDo6Y2xlYW5JZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNsZWFuSWQoKQogICAgewogICAgICAgICRvcmlnaW5hbCA9IGFycmF5KCcvaG9zdGVkem9uZS8xJywgJzInLCAnL2NoYW5nZS8zJyk7CiAgICAgICAgJGV4cGVjdGVkID0gYXJyYXkoJzEnLCAnMicsICczJyk7CiAgICAgICAgJGFjdHVhbCAgID0gYXJyYXlfbWFwKCdBd3NcUm91dGU1M1xSb3V0ZTUzQ2xpZW50OjpjbGVhbklkJywgJG9yaWdpbmFsKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGV4cGVjdGVkLCAkYWN0dWFsKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/AcpListenerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzM7Cgp1c2UgQXdzXFMzXEFjcExpc3RlbmVyOwp1c2UgQXdzXFMzXEVudW1cR3JvdXA7CnVzZSBBd3NcUzNcTW9kZWxcQWNwOwp1c2UgQXdzXFMzXE1vZGVsXEFjcEJ1aWxkZXI7CnVzZSBBd3NcUzNcTW9kZWxcR3JhbnRlZTsKCi8qKgogKiBAY292ZXJzIEF3c1xTM1xBY3BMaXN0ZW5lcgogKi8KY2xhc3MgQWNwTGlzdGVuZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc0V2ZW50cygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KEFjcExpc3RlbmVyOjpnZXRTdWJzY3JpYmVkRXZlbnRzKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgQUNQIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQXdzXFMzXE1vZGVsXEFjcAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRocm93c0V4Y2VwdGlvbldoZW5BY3BJc0ludmFsaWQoKQogICAgewogICAgICAgICRzMyA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJHMzLT5nZXRDb21tYW5kKCdQdXRPYmplY3QnLCBhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJ3Rlc3QnLAogICAgICAgICAgICAnS2V5JyAgICA9PiAna2V5JywKICAgICAgICAgICAgJ0JvZHknICAgPT4gJ2hlbGxvJywKICAgICAgICAgICAgJ0FDUCcgICAgPT4gbmV3IFxzdGRDbGFzcygpCiAgICAgICAgKSktPnByZXBhcmUoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIFVzZSBlaXRoZXIgdGhlIEFDUCBwYXJhbWV0ZXIgb3IgdGhlIEdyYW50cyBwYXJhbWV0ZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25XaGVuQm90aEFjcEFuZEdyYW50c0FyZVNldCgpCiAgICB7CiAgICAgICAgJHMzID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKTsKICAgICAgICAkczMtPmdldENvbW1hbmQoJ1B1dE9iamVjdCcsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiAndGVzdCcsCiAgICAgICAgICAgICdLZXknICAgID0+ICdrZXknLAogICAgICAgICAgICAnQm9keScgICA9PiAnaGVsbG8nLAogICAgICAgICAgICAnQUNQJyAgICA9PiBuZXcgQWNwKG5ldyBHcmFudGVlKCcxMjMnKSksCiAgICAgICAgICAgICdHcmFudHMnID0+IGFycmF5KCkKICAgICAgICApKS0+cHJlcGFyZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SWdub3Jlc09wZXJhdGlvbnNXaGVyZUFjcElzTm90UHJlc2VudCgpCiAgICB7CiAgICAgICAgJHMzID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKTsKICAgICAgICAkczMtPmdldENvbW1hbmQoJ0dldE9iamVjdCcsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiAndGVzdCcsCiAgICAgICAgICAgICdLZXknICAgID0+ICdrZXknLAogICAgICAgICAgICAnQUNQJyAgICA9PiBuZXcgQWNwKG5ldyBHcmFudGVlKCcxMjMnKSksCiAgICAgICAgICAgICdHcmFudHMnID0+IGFycmF5KCkKICAgICAgICApKS0+cHJlcGFyZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QXBwbGllc0FjcEhlYWRlcnNUb0NvbW1hbmQoKQogICAgewogICAgICAgICRhY3AgPSAkdGhpcy0+Z2V0QWNwKCk7CiAgICAgICAgJHMzID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKTsKICAgICAgICAkY29tbWFuZCA9ICRzMy0+Z2V0Q29tbWFuZCgnUHV0T2JqZWN0JywgYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICd0ZXN0JywKICAgICAgICAgICAgJ0tleScgICAgPT4gJ2tleScsCiAgICAgICAgICAgICdCb2R5JyAgID0+ICdoZWxsbycsCiAgICAgICAgICAgICdBQ1AnICAgID0+ICRhY3AKICAgICAgICApKTsKICAgICAgICAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2VtYWlsQWRkcmVzcz0idGVzdEBleGFtcGxlLmNvbSIsIGVtYWlsQWRkcmVzcz0iYmF6QGV4YW1wbGUuY29tIicsICRjb21tYW5kWydHcmFudFJlYWQnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZW1haWxBZGRyZXNzPSJqYXJAamFyLmNvbSInLCAkY29tbWFuZFsnR3JhbnRXcml0ZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd1cmk9Imh0dHA6Ly9hY3MuYW1hem9uYXdzLmNvbS9ncm91cHMvZ2xvYmFsL0FsbFVzZXJzIicsICRjb21tYW5kWydHcmFudFJlYWRBQ1AnXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBcHBsaWVzQWNwQm9keVRvQ29tbWFuZCgpCiAgICB7CiAgICAgICAgJGFjcCA9ICR0aGlzLT5nZXRBY3AoKTsKICAgICAgICAkczMgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICRjb21tYW5kID0gJHMzLT5nZXRDb21tYW5kKCdQdXRPYmplY3RBY2wnLCBhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJ3Rlc3QnLAogICAgICAgICAgICAnS2V5JyAgICA9PiAna2V5JywKICAgICAgICAgICAgJ0FDUCcgICAgPT4gJGFjcAogICAgICAgICkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ0dyYW50ZWUnLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0Qm9keSgpKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0QWNwKCkKICAgIHsKICAgICAgICByZXR1cm4gQWNwQnVpbGRlcjo6bmV3SW5zdGFuY2UoKQogICAgICAgICAgICAtPnNldE93bmVyKCd0ZXN0JykKICAgICAgICAgICAgLT5hZGRHcmFudEZvckVtYWlsKCdSRUFEJywgJ3Rlc3RAZXhhbXBsZS5jb20nKQogICAgICAgICAgICAtPmFkZEdyYW50Rm9yRW1haWwoJ1JFQUQnLCAnYmF6QGV4YW1wbGUuY29tJykKICAgICAgICAgICAgLT5hZGRHcmFudEZvckVtYWlsKCdXUklURScsICdqYXJAamFyLmNvbScpCiAgICAgICAgICAgIC0+YWRkR3JhbnRGb3JHcm91cCgnUkVBRF9BQ1AnLCBHcm91cDo6QUxMX1VTRVJTKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/BucketStyleListenerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzM7Cgp1c2UgQXdzXFMzXEJ1Y2tldFN0eWxlTGlzdGVuZXI7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFMzXEJ1Y2tldFN0eWxlTGlzdGVuZXIKICovCmNsYXNzIEJ1Y2tldFN0eWxlTGlzdGVuZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc0V2ZW50cygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KEJ1Y2tldFN0eWxlTGlzdGVuZXI6OmdldFN1YnNjcmliZWRFdmVudHMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzUGF0aFN0eWxlV2hlbkh0dHBzQ29udGFpbnNEb3RzKCkKICAgIHsKICAgICAgICAkczMgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJHMzLCBhcnJheShuZXcgUmVzcG9uc2UoMjAwKSkpOwogICAgICAgICRjb21tYW5kID0gJHMzLT5nZXRDb21tYW5kKCdHZXRPYmplY3QnLCBhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgICAgPT4gJ3Rlc3QuMTIzJywKICAgICAgICAgICAgJ0tleScgICAgICAgPT4gJ0JhcicKICAgICAgICApKTsKICAgICAgICAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3MzLmFtYXpvbmF3cy5jb20nLCAkY29tbWFuZC0+Z2V0UmVxdWVzdCgpLT5nZXRIb3N0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy90ZXN0LjEyMy9CYXInLCAkY29tbWFuZC0+Z2V0UmVxdWVzdCgpLT5nZXRSZXNvdXJjZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVzZXNQYXRoU3R5bGVXaGVuTm90RG5zQ29tcGF0aWJsZSgpCiAgICB7CiAgICAgICAgJHMzID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRzMywgYXJyYXkobmV3IFJlc3BvbnNlKDIwMCkpKTsKICAgICAgICAkY29tbWFuZCA9ICRzMy0+Z2V0Q29tbWFuZCgnR2V0T2JqZWN0JywgYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnICAgID0+ICdfYmF6XyEnLAogICAgICAgICAgICAnS2V5JyAgICAgICA9PiAnQmFyJwogICAgICAgICkpOwogICAgICAgICRjb21tYW5kLT5leGVjdXRlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnczMuYW1hem9uYXdzLmNvbScsICRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldEhvc3QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnL19iYXpfJTIxL0JhcicsICRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldFJlc291cmNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXNlc1BhdGhTdHlsZVdoZW5Gb3JjZWQoKQogICAgewogICAgICAgICRzMyA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkczMsIGFycmF5KG5ldyBSZXNwb25zZSgyMDApKSk7CiAgICAgICAgJGNvbW1hbmQgPSAkczMtPmdldENvbW1hbmQoJ0dldE9iamVjdCcsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ0tleScgICAgICAgPT4gJ0JhcicsCiAgICAgICAgICAgICdQYXRoU3R5bGUnID0+IHRydWUKICAgICAgICApKTsKICAgICAgICAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3MzLmFtYXpvbmF3cy5jb20nLCAkY29tbWFuZC0+Z2V0UmVxdWVzdCgpLT5nZXRIb3N0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9mb28vQmFyJywgJGNvbW1hbmQtPmdldFJlcXVlc3QoKS0+Z2V0UmVzb3VyY2UoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzVmlydHVhbEhvc3RlZFdoZW5Qb3NzaWJsZSgpCiAgICB7CiAgICAgICAgJHMzID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRzMywgYXJyYXkobmV3IFJlc3BvbnNlKDIwMCkpKTsKICAgICAgICAkY29tbWFuZCA9ICRzMy0+Z2V0Q29tbWFuZCgnR2V0T2JqZWN0JywgYXJyYXkoJ0J1Y2tldCcgPT4gJ2ZvbycsICdLZXknID0+ICdCYXInKSk7CiAgICAgICAgJGNvbW1hbmQtPmV4ZWN1dGUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28uczMuYW1hem9uYXdzLmNvbScsICRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldEhvc3QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnL0JhcicsICRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldFJlc291cmNlKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Command/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Command/S3CommandTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcQ29tbWFuZDsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFMzXENvbW1hbmRcUzNDb21tYW5kCiAqLwpjbGFzcyBTM0NvbW1hbmRUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByZXBhcmVzQW5kQ3JlYXRlc1NpZ25hdHVyZXMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICRjb21tYW5kID0gJGNsaWVudC0+Z2V0Q29tbWFuZCgnR2V0T2JqZWN0JywgYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICdmb29iYXpiYXInLAogICAgICAgICAgICAnS2V5JyAgICA9PiAndGVzdCcKICAgICAgICApKTsKICAgICAgICAkdXJsID0gJGNvbW1hbmQtPmNyZWF0ZVByZXNpZ25lZFVybCgnKzEwMCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnZm9vYmF6YmFyJywgJHVybCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCd0ZXN0JywgJHVybCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdBV1NBY2Nlc3NLZXlJZCcsICR1cmwpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnRXhwaXJlcycsICR1cmwpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnU2lnbmF0dXJlJywgJHVybCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzVXJsVG9QdXRPYmplY3QoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICRjb21tYW5kID0gJGNsaWVudC0+Z2V0Q29tbWFuZCgnUHV0T2JqZWN0JywgYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICdmb29iYXpiYXInLAogICAgICAgICAgICAnS2V5JyAgICA9PiAndGVzdCcsCiAgICAgICAgICAgICdCb2R5JyAgID0+ICd0ZXN0JwogICAgICAgICkpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgIG5ldyBSZXNwb25zZSgyMDApCiAgICAgICAgKSk7CiAgICAgICAgJHJlc3VsdCA9ICRjb21tYW5kLT5leGVjdXRlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9mb29iYXpiYXIuczMuYW1hem9uYXdzLmNvbS90ZXN0JywgJHJlc3VsdFsnT2JqZWN0VVJMJ10pOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcUzNcRXhjZXB0aW9uXFBlcm1hbmVudFJlZGlyZWN0RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RXhjZXB0aW9uVGhyb3duT24zMDFSZWRpcmVjdCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJGNvbW1hbmQgPSAkY2xpZW50LT5nZXRDb21tYW5kKCdHZXRPYmplY3QnLCBhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJ2Zvb2JhemJhcicsCiAgICAgICAgICAgICdLZXknICAgID0+ICd0ZXN0JywKICAgICAgICApKTsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMzAxLCBudWxsLCAnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48RXJyb3I+PENvZGU+UGVybWFuZW50UmVkaXJlY3Q8L0NvZGU+PE1lc3NhZ2U+VGhlIGJ1Y2tldCB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gYWNjZXNzIG11c3QgYmUgYWRkcmVzc2VkIHVzaW5nIHRoZSBzcGVjaWZpZWQgZW5kcG9pbnQuIFBsZWFzZSBzZW5kIGFsbCBmdXR1cmUgcmVxdWVzdHMgdG8gdGhpcyBlbmRwb2ludC48L01lc3NhZ2U+PFJlcXVlc3RJZD5EVU1NWV9SRVFVRVNUX0lEPC9SZXF1ZXN0SWQ+PEJ1Y2tldD5EVU1NWV9CVUNLRVRfTkFNRTwvQnVja2V0PjxIb3N0SWQ+RFVNTVlfSE9TVF9JRDwvSG9zdElkPjxFbmRwb2ludD5zMy5hbWF6b25hd3MuY29tPC9FbmRwb2ludD48L0Vycm9yPicpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoJHJlc3BvbnNlKSk7CiAgICAgICAgJGNvbW1hbmQtPmV4ZWN1dGUoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Exception/DeleteMultipleObjectsExceptionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcQ29tbWFuZDsKCnVzZSBBd3NcUzNcRXhjZXB0aW9uXERlbGV0ZU11bHRpcGxlT2JqZWN0c0V4Y2VwdGlvbjsKCi8qKgogKiBAY292ZXJzIEF3c1xTM1xFeGNlcHRpb25cRGVsZXRlTXVsdGlwbGVPYmplY3RzRXhjZXB0aW9uCiAqLwpjbGFzcyBEZWxldGVNdWx0aXBsZU9iamVjdHNFeGNlcHRpb25UZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFN0b3Jlc0Vycm9ycygpCiAgICB7CiAgICAgICAgJGUgPSBuZXcgRGVsZXRlTXVsdGlwbGVPYmplY3RzRXhjZXB0aW9uKGFycmF5KAogICAgICAgICAgICBhcnJheSgnS2V5JyA9PiAnYWJjJykKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgYXJyYXkoJ0tleScgPT4gJ2FiYycpCiAgICAgICAgKSwgJGUtPmdldEVycm9ycygpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Exception/Parser/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Exception/Parser/S3ExceptionParserTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcQ29tbW9uXEV4Y2VwdGlvblxQYXJzZXI7Cgp1c2UgQXdzXFMzXEV4Y2VwdGlvblxQYXJzZXJcUzNFeGNlcHRpb25QYXJzZXI7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFMzXEV4Y2VwdGlvblxQYXJzZXJcUzNFeGNlcHRpb25QYXJzZXIKICovCmNsYXNzIFMzRXhjZXB0aW9uUGFyc2VyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREYXRhRm9yUGFyc2luZ1Rlc3QoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoJ2h0dHA6Ly9mb28uczMuYW1hem9uYXdzLmNvbS8nLCAnNDAwIEVycm9yJywgbnVsbCksCiAgICAgICAgICAgIGFycmF5KCdodHRwOi8vczMuYW1hem9uYXdzLmNvbS8nLCAnNDA0IE5vdCBGb3VuZCcsIG51bGwpLAogICAgICAgICAgICBhcnJheSgnaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vZm9vJywgJzQwNCBOb3QgRm91bmQnLCAnTm9TdWNoQnVja2V0JyksCiAgICAgICAgICAgIGFycmF5KCdodHRwOi8vZm9vLnMzLmFtYXpvbmF3cy5jb20vJywgJzQwNCBOb3QgRm91bmQnLCAnTm9TdWNoQnVja2V0JyksCiAgICAgICAgICAgIGFycmF5KCdodHRwOi8vZm9vLnMzLmFtYXpvbmF3cy5jb20vYmFyJywgJzQwNCBOb3QgRm91bmQnLCAnTm9TdWNoS2V5JyksCiAgICAgICAgICAgIGFycmF5KCdodHRwOi8vczMuYW1hem9uYXdzLmNvbS9mb28vYmFyJywgJzQwNCBOb3QgRm91bmQnLCAnTm9TdWNoS2V5JyksCiAgICAgICAgICAgIGFycmF5KCdodHRwOi8vZm9vLnMzLXVzLWdvdi13ZXN0LTEuYW1hem9uYXdzLmNvbS9iYXInLCAnNDA0IE5vdCBGb3VuZCcsICdOb1N1Y2hLZXknKSwKICAgICAgICAgICAgYXJyYXkoJ2h0dHA6Ly9mb28uczMuYW1hem9uYXdzLmNvbS8nLCAnNDAzIEFjY2VzcyBEZW5pZWQnLCAnQWNjZXNzRGVuaWVkJykKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciBnZXREYXRhRm9yUGFyc2luZ1Rlc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQYXJzZXNSZXNwb25zZXNXaXRoTm9Cb2R5KCR1cmwsICRtZXNzYWdlLCAkY29kZSkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdIRUFEJywgJHVybCk7CiAgICAgICAgJHJlc3BvbnNlID0gUmVzcG9uc2U6OmZyb21NZXNzYWdlKCJIVFRQLzEuMSAkbWVzc2FnZVxyXG5cclxuIik7CiAgICAgICAgJHBhcnNlciA9IG5ldyBTM0V4Y2VwdGlvblBhcnNlcigpOwogICAgICAgICRyZXN1bHQgPSAkcGFyc2VyLT5wYXJzZSgkcmVxdWVzdCwgJHJlc3BvbnNlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRjb2RlLCAkcmVzdWx0Wydjb2RlJ10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGFyc2VzUmVzcG9uc2VXaXRoMzAxKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdIRUFEJywgJ2h0dHA6Ly9leGFtcGxlLmNvbScpOwogICAgICAgICRyZXNwb25zZSA9IFJlc3BvbnNlOjpmcm9tTWVzc2FnZSgiSFRUUC8xLjEgMzAxIE1vdmVkIFBlcm1hbmVudGx5XHJcblxyXG48P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJVVEYtOFwiPz48RXJyb3I+PENvZGU+UGVybWFuZW50UmVkaXJlY3Q8L0NvZGU+PE1lc3NhZ2U+VGhlIGJ1Y2tldCB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gYWNjZXNzIG11c3QgYmUgYWRkcmVzc2VkIHVzaW5nIHRoZSBzcGVjaWZpZWQgZW5kcG9pbnQuIFBsZWFzZSBzZW5kIGFsbCBmdXR1cmUgcmVxdWVzdHMgdG8gdGhpcyBlbmRwb2ludC48L01lc3NhZ2U+PFJlcXVlc3RJZD5EVU1NWV9SRVFVRVNUX0lEPC9SZXF1ZXN0SWQ+PEJ1Y2tldD5EVU1NWV9CVUNLRVRfTkFNRTwvQnVja2V0PjxIb3N0SWQ+RFVNTVlfSE9TVF9JRDwvSG9zdElkPjxFbmRwb2ludD5zMy5hbWF6b25hd3MuY29tPC9FbmRwb2ludD48L0Vycm9yPiIpOwogICAgICAgICRwYXJzZXIgPSBuZXcgUzNFeGNlcHRpb25QYXJzZXIoKTsKICAgICAgICAkcmVzdWx0ID0gJHBhcnNlci0+cGFyc2UoJHJlcXVlc3QsICRyZXNwb25zZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUGVybWFuZW50UmVkaXJlY3QnLCAkcmVzdWx0Wydjb2RlJ10pOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Integration/AccessControlPolicySample.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPEFjY2Vzc0NvbnRyb2xQb2xpY3kgeG1sbnM9Imh0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2RvYy9sYXRlc3QvIj4KICA8T3duZXI+CiAgICA8SUQ+b3duZXItaWQ8L0lEPgogICAgPERpc3BsYXlOYW1lPm93bmVyLWRpc3BsYXktbmFtZTwvRGlzcGxheU5hbWU+CiAgPC9Pd25lcj4KICA8QWNjZXNzQ29udHJvbExpc3Q+CiAgICA8R3JhbnQ+CiAgICAgIDxHcmFudGVlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTp0eXBlPSJDYW5vbmljYWxVc2VyIj4KICAgICAgICA8SUQ+dXNlci1pZDwvSUQ+CiAgICAgICAgPERpc3BsYXlOYW1lPnVzZXItZGlzcGxheS1uYW1lPC9EaXNwbGF5TmFtZT4KICAgICAgPC9HcmFudGVlPgogICAgICA8UGVybWlzc2lvbj5SRUFEPC9QZXJtaXNzaW9uPgogICAgPC9HcmFudD4KICAgIDxHcmFudD4KICAgICAgPEdyYW50ZWUgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnR5cGU9IkFtYXpvbkN1c3RvbWVyQnlFbWFpbCI+CiAgICAgICAgPEVtYWlsQWRkcmVzcz5mb29AZXhhbXBsZS5jb208L0VtYWlsQWRkcmVzcz4KICAgICAgPC9HcmFudGVlPgogICAgICA8UGVybWlzc2lvbj5XUklURTwvUGVybWlzc2lvbj4KICAgIDwvR3JhbnQ+CiAgICA8R3JhbnQ+CiAgICAgIDxHcmFudGVlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTp0eXBlPSJHcm91cCI+CiAgICAgICAgPFVSST5odHRwOi8vYWNzLmFtYXpvbmF3cy5jb20vZ3JvdXBzL2dsb2JhbC9BdXRoZW50aWNhdGVkVXNlcnM8L1VSST4KICAgICAgPC9HcmFudGVlPgogICAgICA8UGVybWlzc2lvbj5GVUxMX0NPTlRST0w8L1Blcm1pc3Npb24+CiAgICA8L0dyYW50PgogIDwvQWNjZXNzQ29udHJvbExpc3Q+CjwvQWNjZXNzQ29udHJvbFBvbGljeT4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Integration/dummy.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VEhJUyBJUyBBIEZJTEUgVEhBVCBNWSBJTlRFR1JBVElPTiBURVNUIFVQTE9BREVEIFRPIFMzIFZJQSBQT1NULgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcSW50ZWdyYXRpb247Cgp1c2UgQXdzXFMzXEVudW1cR3JvdXA7CnVzZSBBd3NcUzNcRW51bVxQZXJtaXNzaW9uOwp1c2UgQXdzXFMzXE1vZGVsXEFjcDsKdXNlIEF3c1xTM1xNb2RlbFxBY3BCdWlsZGVyOwp1c2UgQXdzXFMzXE1vZGVsXEdyYW50Owp1c2UgQXdzXFMzXE1vZGVsXEdyYW50ZWU7CnVzZSBBd3NcUzNcTW9kZWxcUG9zdE9iamVjdDsKdXNlIEF3c1xTM1xTM0NsaWVudDsKdXNlIEF3c1xTM1xNb2RlbFxDbGVhckJ1Y2tldDsKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEF3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkQnVpbGRlcjsKdXNlIEd1enpsZVxQbHVnaW5cSGlzdG9yeVxIaXN0b3J5UGx1Z2luOwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIGNvbnN0IFRFU1RfS0VZID0gJ2Zvbyc7CiAgICBjb25zdCBMQVJHRV9PQkpFQ1QgPSAnL3RtcC9sYXJnZS1vYmplY3QuanBnJzsKCiAgICAvKioKICAgICAqIEB2YXIgUzNDbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgJGJ1Y2tldDsKCiAgICAvKioKICAgICAqIEB2YXIgQWNwCiAgICAgKi8KICAgIHByb3RlY3RlZCAkYWNwOwoKICAgIHByb3RlY3RlZCBzdGF0aWMgJG93bmVySWQ7CiAgICBwcm90ZWN0ZWQgc3RhdGljICRkaXNwbGF5TmFtZTsKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNldFVwQmVmb3JlQ2xhc3MoKQogICAgewogICAgICAgICRjbGllbnQgPSBzZWxmOjpnZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJGJ1Y2tldCA9IHNlbGY6OmdldFJlc291cmNlUHJlZml4KCkgLiAnLXMzLXRlc3QnOwogICAgICAgIHNlbGY6OmxvZygiQ3JlYXRpbmcgdGhlIHskYnVja2V0fSBidWNrZXQiKTsKICAgICAgICAkY2xpZW50LT5jcmVhdGVCdWNrZXQoYXJyYXkoJ0J1Y2tldCcgPT4gJGJ1Y2tldCkpOwogICAgICAgIC8vIENyZWF0ZSB0aGUgYnVja2V0CiAgICAgICAgc2VsZjo6bG9nKCJXYWl0aW5nIGZvciB0aGUgYnVja2V0IHRvIGV4aXN0Iik7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsKCdidWNrZXRfZXhpc3RzJywgYXJyYXkoJ0J1Y2tldCcgPT4gJGJ1Y2tldCkpOwogICAgICAgIHNsZWVwKDUpOwogICAgICAgIC8vIENyZWF0ZSB0aGUgYnVja2V0CiAgICAgICAgc2VsZjo6bG9nKCJHZXR0aW5nIG93bmVyIGlkIGFuZCBkaXNwbGF5IG5hbWUiKTsKICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+bGlzdEJ1Y2tldHMoKTsKICAgICAgICBzZWxmOjokb3duZXJJZCA9ICRyZXN1bHRbJ093bmVyJ11bJ0lEJ107CiAgICAgICAgc2VsZjo6JGRpc3BsYXlOYW1lID0gJHJlc3VsdFsnT3duZXInXVsnRGlzcGxheU5hbWUnXTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHRlYXJEb3duQWZ0ZXJDbGFzcygpCiAgICB7CiAgICAgICAgdW5saW5rKHNlbGY6OkxBUkdFX09CSkVDVCk7CiAgICAgICAgJGNsaWVudCA9IHNlbGY6OmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKTsKICAgICAgICAkYnVja2V0ID0gc2VsZjo6Z2V0UmVzb3VyY2VQcmVmaXgoKSAuICctczMtdGVzdCc7CiAgICAgICAgc2VsZjo6bG9nKCJDbGVhcmluZyB0aGUgY29udGVudHMgb2YgdGhlIHskYnVja2V0fSBidWNrZXQiKTsKICAgICAgICAvLyBEZWxldGUgdGhlIGJ1Y2tldAogICAgICAgICRjbGVhciA9IG5ldyBDbGVhckJ1Y2tldCgkY2xpZW50LCAkYnVja2V0KTsKICAgICAgICAkY2xlYXItPmNsZWFyKCk7CiAgICAgICAgc2VsZjo6bG9nKCJEZWxldGluZyB0aGUgeyRidWNrZXR9IGJ1Y2tldCIpOwogICAgICAgICRjbGllbnQtPmRlbGV0ZUJ1Y2tldChhcnJheSgnQnVja2V0JyA9PiAkYnVja2V0KSk7CiAgICAgICAgc2VsZjo6bG9nKCJXYWl0aW5nIGZvciB7JGJ1Y2tldH0gdG8gbm90IGV4aXN0Iik7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsKCdidWNrZXRfbm90X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICRidWNrZXQpKTsKICAgICAgICAvLyBEZWxldGUgdGhlIG90aGVyIGJ1Y2tldAogICAgICAgICRidWNrZXQgPSBzZWxmOjpnZXRSZXNvdXJjZVByZWZpeCgpIC4gJ19wYXRoJzsKICAgICAgICAkY2xlYXIgPSBuZXcgQ2xlYXJCdWNrZXQoJGNsaWVudCwgJGJ1Y2tldCk7CiAgICAgICAgJGNsZWFyLT5jbGVhcigpOwogICAgICAgIHNlbGY6OmxvZygiRGVsZXRpbmcgdGhlIHskYnVja2V0fSBidWNrZXQiKTsKICAgICAgICAkY2xpZW50LT5kZWxldGVCdWNrZXQoYXJyYXkoJ0J1Y2tldCcgPT4gJGJ1Y2tldCkpOwogICAgICAgIHNlbGY6OmxvZygiV2FpdGluZyBmb3IgeyRidWNrZXR9IHRvIG5vdCBleGlzdCIpOwogICAgICAgICRjbGllbnQtPndhaXRVbnRpbCgnYnVja2V0X25vdF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAkYnVja2V0KSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+YnVja2V0ID0gc2VsZjo6Z2V0UmVzb3VyY2VQcmVmaXgoKSAuICctczMtdGVzdCc7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJywgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPmFjcCA9IEFjcEJ1aWxkZXI6Om5ld0luc3RhbmNlKCkKICAgICAgICAgICAgLT5zZXRPd25lcihzZWxmOjokb3duZXJJZCwgc2VsZjo6JGRpc3BsYXlOYW1lKQogICAgICAgICAgICAtPmFkZEdyYW50Rm9yR3JvdXAoUGVybWlzc2lvbjo6UkVBRCwgR3JvdXA6OkFVVEhFTlRJQ0FURURfVVNFUlMpCiAgICAgICAgICAgIC0+YWRkR3JhbnRGb3JHcm91cChQZXJtaXNzaW9uOjpSRUFEX0FDUCwgR3JvdXA6OkFMTF9VU0VSUykKICAgICAgICAgICAgLT5idWlsZCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2lnbnNQYXRoQnVja2V0c0NvcnJlY3RseSgpCiAgICB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJGNsaWVudCA9IHNlbGY6OmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKTsKICAgICAgICAgICAgJGJ1Y2tldCA9IHNlbGY6OmdldFJlc291cmNlUHJlZml4KCkgLiAnX3BhdGgnOwogICAgICAgICAgICBzZWxmOjpsb2coIkNyZWF0aW5nIHRoZSB7JGJ1Y2tldH0gYnVja2V0Iik7CiAgICAgICAgICAgICRjbGllbnQtPmNyZWF0ZUJ1Y2tldChhcnJheSgnQnVja2V0JyA9PiAkYnVja2V0KSk7CiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgYnVja2V0CiAgICAgICAgICAgIHNlbGY6OmxvZygiV2FpdGluZyBmb3IgdGhlIGJ1Y2tldCB0byBleGlzdCIpOwogICAgICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ2J1Y2tldF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAkYnVja2V0KSk7CiAgICAgICAgICAgICR0aGlzLT5jbGllbnQtPnB1dE9iamVjdChhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+ICRidWNrZXQsCiAgICAgICAgICAgICAgICAnS2V5JyAgICA9PiBzZWxmOjpURVNUX0tFWSwKICAgICAgICAgICAgICAgICdCb2R5JyAgID0+ICcxMjMnCiAgICAgICAgICAgICkpOwogICAgICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWwoJ2J1Y2tldF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAkYnVja2V0KSk7CiAgICAgICAgICAgICR0aGlzLT5jbGllbnQtPmdldEJ1Y2tldExvY2F0aW9uKGFycmF5KCdCdWNrZXQnID0+ICRidWNrZXQpKTsKICAgICAgICB9IGNhdGNoIChcQXdzXFMzXEV4Y2VwdGlvblxTaWduYXR1cmVEb2VzTm90TWF0Y2hFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgZWNobyAkZS0+Z2V0UmVzcG9uc2UoKS0+Z2V0UmVxdWVzdCgpLT5nZXRQYXJhbXMoKS0+Z2V0KCdhd3Muc3RyaW5nX3RvX3NpZ24nKSAuICJcbiI7CiAgICAgICAgICAgIGVjaG8gJGUtPmdldFJlc3BvbnNlKCkgLiAiXG4iOwogICAgICAgICAgICB0aHJvdyAkZTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIZWFkQnVja2V0KCkKICAgIHsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNsaWVudC0+aGVhZEJ1Y2tldChhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdE51bGwoJHJlc3VsdFsnUmVxdWVzdElkJ10pOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdEhlYWRCdWNrZXQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRTZXJ2aWNlKCkKICAgIHsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNsaWVudC0+bGlzdEJ1Y2tldHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJHJlc3VsdFsnT3duZXInXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KCRyZXN1bHRbJ093bmVyJ11bJ0lEJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RFbXB0eSgkcmVzdWx0WydPd25lciddWydEaXNwbGF5TmFtZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJHJlc3VsdFsnQnVja2V0cyddKTsKICAgICAgICAkZm91bmQgPSBmYWxzZTsKICAgICAgICBmb3JlYWNoICgkcmVzdWx0WydCdWNrZXRzJ10gYXMgJGJ1Y2tldCkgewogICAgICAgICAgICBpZiAoJGJ1Y2tldFsnTmFtZSddID09ICR0aGlzLT5idWNrZXQpIHsKICAgICAgICAgICAgICAgICRmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZm91bmQpOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdEhlYWRCdWNrZXQKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXFMzXEV4Y2VwdGlvblxOb1N1Y2hDT1JTQ29uZmlndXJhdGlvbkV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldEJ1Y2tldENvcnMoKQogICAgewogICAgICAgICR0aGlzLT5sb2coX19NRVRIT0RfXyk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+Z2V0QnVja2V0Q29ycyhhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0KSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0SGVhZEJ1Y2tldAogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcUzNcRXhjZXB0aW9uXE5vU3VjaExpZmVjeWNsZUNvbmZpZ3VyYXRpb25FeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRCdWNrZXRMaWZlY3ljbGUoKQogICAgewogICAgICAgICR0aGlzLT5sb2coX19NRVRIT0RfXyk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+Z2V0QnVja2V0TGlmZWN5Y2xlKGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RIZWFkQnVja2V0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0QnVja2V0TG9jYXRpb24oKQogICAgewogICAgICAgICR0aGlzLT5sb2coX19NRVRIT0RfXyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jbGllbnQtPmdldEJ1Y2tldExvY2F0aW9uKGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgnJywgJHJlc3VsdFsnTG9jYXRpb24nXSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0SGVhZEJ1Y2tldAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFB1dEJ1Y2tldExvY2F0aW9uKCkKICAgIHsKICAgICAgICAkdGhpcy0+bG9nKF9fTUVUSE9EX18pOwogICAgICAgICRidWNrZXROYW1lID0gc2VsZjo6Z2V0UmVzb3VyY2VQcmVmaXgoKSAuICctczNldXRlc3QnOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR0aGlzLT5jbGllbnQtPmhlYWRCdWNrZXQoYXJyYXkoJ0J1Y2tldCcgPT4gJGJ1Y2tldE5hbWUpKTsKICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICR0aGlzLT5jbGllbnQtPmNyZWF0ZUJ1Y2tldChhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnICAgICAgICAgICAgID0+ICRidWNrZXROYW1lLAogICAgICAgICAgICAgICAgJ0xvY2F0aW9uQ29uc3RyYWludCcgPT4gJ0VVJwogICAgICAgICAgICApKTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmNsaWVudC0+d2FpdFVudGlsKCdidWNrZXRfZXhpc3RzJywgYXJyYXkoJ0J1Y2tldCcgPT4gJGJ1Y2tldE5hbWUpKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNsaWVudC0+Z2V0QnVja2V0TG9jYXRpb24oYXJyYXkoJ0J1Y2tldCcgPT4gJGJ1Y2tldE5hbWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdFVScsICRyZXN1bHRbJ0xvY2F0aW9uJ10pOwogICAgICAgICR0aGlzLT5jbGllbnQtPmRlbGV0ZUJ1Y2tldChhcnJheSgnQnVja2V0JyA9PiAkYnVja2V0TmFtZSkpOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdEhlYWRCdWNrZXQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRCdWNrZXRMb2dnaW5nKCkKICAgIHsKICAgICAgICAkdGhpcy0+bG9nKF9fTUVUSE9EX18pOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5nZXRCdWNrZXRMb2dnaW5nKGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkcmVzdWx0WydMb2dnaW5nRW5hYmxlZCddKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RIZWFkQnVja2V0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0QnVja2V0Tm90aWZpY2F0aW9uKCkKICAgIHsKICAgICAgICAkdGhpcy0+bG9nKF9fTUVUSE9EX18pOwogICAgICAgICR0aGlzLT5jbGllbnQtPmdldEJ1Y2tldE5vdGlmaWNhdGlvbihhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0KSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0SGVhZEJ1Y2tldAogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcUzNcRXhjZXB0aW9uXE5vU3VjaEJ1Y2tldFBvbGljeUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldEJ1Y2tldFBvbGljeSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmxvZyhfX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5nZXRCdWNrZXRQb2xpY3koYXJyYXkoJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdEhlYWRCdWNrZXQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmxvZyhfX01FVEhPRF9fKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNsaWVudC0+Z2V0QnVja2V0UmVxdWVzdFBheW1lbnQoYXJyYXkoJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0J1Y2tldE93bmVyJywgJHJlc3VsdFsnUGF5ZXInXSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0SGVhZEJ1Y2tldAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldEJ1Y2tldFZlcnNpb25pbmcoKQogICAgewogICAgICAgICR0aGlzLT5sb2coX19NRVRIT0RfXyk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+Z2V0QnVja2V0VmVyc2lvbmluZyhhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0KSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0SGVhZEJ1Y2tldAogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcUzNcRXhjZXB0aW9uXE5vU3VjaFdlYnNpdGVDb25maWd1cmF0aW9uRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0QnVja2V0V2Vic2l0ZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmxvZyhfX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5nZXRCdWNrZXRXZWJzaXRlKGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RIZWFkQnVja2V0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UHV0QW5kTGlzdE9iamVjdHMoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbCgnYnVja2V0X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ1B1dE9iamVjdCcsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyAgICAgICA9PiAkdGhpcy0+YnVja2V0LAogICAgICAgICAgICAnS2V5JyAgICAgICAgICA9PiBzZWxmOjpURVNUX0tFWSwKICAgICAgICAgICAgJ0NvbnRlbnRNRDUnICAgPT4gdHJ1ZSwKICAgICAgICAgICAgJ0JvZHknICAgICAgICAgPT4gJ8OlYmMgMTIzJywKICAgICAgICAgICAgJ0NvbnRlbnRUeXBlJyA9PiAnYXBwbGljYXRpb24vZm9vJywKICAgICAgICAgICAgJ0FDUCcgICAgICAgICAgPT4gJHRoaXMtPmFjcCwKICAgICAgICAgICAgJ01ldGFkYXRhJyAgICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndGVzdCcgID0+ICcxMjMnLAogICAgICAgICAgICAgICAgJ2FiYycgICA9PiAnQHBwbGVzJywKICAgICAgICAgICAgICAgICdmb28nICAgPT4gJycsCiAgICAgICAgICAgICAgICAnbnVsbCcgID0+IG51bGwsCiAgICAgICAgICAgICAgICAnc3BhY2UnID0+ICcgJywKICAgICAgICAgICAgICAgICd6ZXJvJyAgPT4gJzAnLAogICAgICAgICAgICAgICAgJ3RyaW0nICA9PiAnIGhpICcKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICBzZWxmOjpsb2coIlVwbG9hZGluZyBhbiBvYmplY3QiKTsKICAgICAgICAkcmVzdWx0ID0gJGNvbW1hbmQtPmV4ZWN1dGUoKTsKICAgICAgICAvLyBtYWtlIHN1cmUgdGhlIGV4cGVjdCBoZWFkZXIgd2Fzbid0IHNlbnQKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkY29tbWFuZC0+Z2V0UmVxdWVzdCgpLT5nZXRIZWFkZXIoJ0V4cGVjdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWwnLCAkcmVzdWx0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJHJlc3VsdFsnRVRhZyddKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWwoJ29iamVjdF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0LCAnS2V5JyA9PiBzZWxmOjpURVNUX0tFWSkpOwoKICAgICAgICBzZWxmOjpsb2coIkhFQUQgdGhlIG9iamVjdCIpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5oZWFkT2JqZWN0KGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0LAogICAgICAgICAgICAnS2V5JyAgICA9PiBzZWxmOjpURVNUX0tFWQogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FwcGxpY2F0aW9uL2ZvbycsICRyZXN1bHRbJ0NvbnRlbnRUeXBlJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyMycsICRyZXN1bHRbJ01ldGFkYXRhJ11bJ3Rlc3QnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQHBwbGVzJywgJHJlc3VsdFsnTWV0YWRhdGEnXVsnYWJjJ10pOwoKICAgICAgICAvLyBFbnN1cmUgdGhlIG9iamVjdCB3YXMgY3JlYXRlZCBjb3JyZWN0bHkKICAgICAgICBzZWxmOjpsb2coIkdFVHRpbmcgdGhlIG9iamVjdCIpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5nZXRPYmplY3QoYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQsCiAgICAgICAgICAgICdLZXknICAgID0+IHNlbGY6OlRFU1RfS0VZCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsJywgJHJlc3VsdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxIdHRwXEVudGl0eUJvZHknLCAkcmVzdWx0WydCb2R5J10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ8OlYmMgMTIzJywgKHN0cmluZykgJHJlc3VsdFsnQm9keSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhcHBsaWNhdGlvbi9mb28nLCAkcmVzdWx0WydDb250ZW50VHlwZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAkcmVzdWx0WydNZXRhZGF0YSddWyd0ZXN0J10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0BwcGxlcycsICRyZXN1bHRbJ01ldGFkYXRhJ11bJ2FiYyddKTsKCiAgICAgICAgLy8gRW5zdXJlIHRoZSBvYmplY3Qgd2FzIGNyZWF0ZWQgYW5kIHdlIGNhbiBmaW5kIGl0IGluIHRoZSBpdGVyYXRvcgogICAgICAgIHNlbGY6OmxvZygiQ2hlY2tpbmcgaWYgdGhlIGl0ZW0gaXMgaW4gdGhlIExpc3RPYmplY3RzIHJlc3VsdHMiKTsKICAgICAgICAkaXRlcmF0b3IgPSAkdGhpcy0+Y2xpZW50LT5nZXRJdGVyYXRvcignTGlzdE9iamVjdHMnLCBhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCwKICAgICAgICAgICAgJ1ByZWZpeCcgPT4gc2VsZjo6VEVTVF9LRVkKICAgICAgICApKTsKICAgICAgICAkb2JqZWN0cyA9ICRpdGVyYXRvci0+dG9BcnJheSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJG9iamVjdHMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkb2JqZWN0c1swXVsnS2V5J10pOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdFB1dEFuZExpc3RPYmplY3RzCiAgICAgKiBAZGVwZW5kcyB0ZXN0U2lnbnNQYXRoQnVja2V0c0NvcnJlY3RseQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNlbmRSYXdIdHRwUmVxdWVzdHMoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbCgnYnVja2V0X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMCwgJHRoaXMtPmNsaWVudC0+Z2V0KCcvJyktPnNlbmQoKS0+Z2V0U3RhdHVzQ29kZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMCwgJHRoaXMtPmNsaWVudC0+cHV0KCcvJyAuICR0aGlzLT5idWNrZXQgLiAnL2hlbGxvJywgYXJyYXkoKSwgJ3Rlc3RpbmcnKS0+c2VuZCgpLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgICAgICR0aGlzLT5jbGllbnQtPmdldCgnLycgLiBzZWxmOjpnZXRSZXNvdXJjZVByZWZpeCgpIC4gJ19wYXRoJyktPnNlbmQoKTsKICAgICAgICAkcGF0aCA9IHNlbGY6OmdldFJlc291cmNlUHJlZml4KCkgLiAnX3BhdGgvJyAuIHNlbGY6OlRFU1RfS0VZOwogICAgICAgICR0aGlzLT5jbGllbnQtPmdldCgiL3skcGF0aH0iKS0+c2VuZCgpOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdFB1dEFuZExpc3RPYmplY3RzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UHV0T2JqZWN0QWNsKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coIlNldHRpbmcgYSBjdXN0b20gb2JqZWN0IEFDTCIpOwogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbCgnYnVja2V0X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ1B1dE9iamVjdEFjbCcsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0LAogICAgICAgICAgICAnS2V5JyAgICA9PiBzZWxmOjpURVNUX0tFWSwKICAgICAgICAgICAgJ0FDUCcgICAgPT4gJHRoaXMtPmFjcAogICAgICAgICkpOwogICAgICAgICRyZXN1bHQgPSAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnR3JhbnRlZScsIChzdHJpbmcpICRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldEJvZHkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnUmVxdWVzdElkJyksIGFycmF5X2tleXMoJHJlc3VsdC0+dG9BcnJheSgpKSk7CiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIFJlcXVlc3RJZCBtb2RlbCB2YWx1ZSBpcyBiZWluZyBwb3B1bGF0ZWQgY29ycmVjdGx5CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygoc3RyaW5nKSAkY29tbWFuZC0+Z2V0UmVzcG9uc2UoKS0+Z2V0SGVhZGVyKCd4LWFtei1yZXF1ZXN0LWlkJyksICRyZXN1bHRbJ1JlcXVlc3RJZCddKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RQdXRBbmRMaXN0T2JqZWN0cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldE9iamVjdEFjbCgpCiAgICB7CiAgICAgICAgc2VsZjo6bG9nKCJHZXR0aW5nIHRoZSBvYmplY3QncyBBQ0wiKTsKICAgICAgICAkbW9kZWwgPSAkdGhpcy0+Y2xpZW50LT5nZXRPYmplY3RBY2woYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQsCiAgICAgICAgICAgICdLZXknICAgID0+IHNlbGY6OlRFU1RfS0VZCiAgICAgICAgKSk7CgogICAgICAgICRkYXRhID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoIChBY3A6OmZyb21BcnJheSgkbW9kZWwtPnRvQXJyYXkoKSkgYXMgJGdyYW50KSB7CiAgICAgICAgICAgICRncmFudGVlID0gJGdyYW50LT5nZXRHcmFudGVlKCk7CiAgICAgICAgICAgICRkYXRhWyRncmFudGVlLT5nZXRHcm91cFVyaSgpXSA9IGFycmF5KCRncmFudGVlLT5nZXRUeXBlKCksICRncmFudC0+Z2V0UGVybWlzc2lvbigpKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJGRhdGEpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ2h0dHA6Ly9hY3MuYW1hem9uYXdzLmNvbS9ncm91cHMvZ2xvYmFsL0FsbFVzZXJzJywgJGRhdGEpOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnaHR0cDovL2Fjcy5hbWF6b25hd3MuY29tL2dyb3Vwcy9nbG9iYWwvQXV0aGVudGljYXRlZFVzZXJzJywgJGRhdGEpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ0dyb3VwJywgJ1JFQURfQUNQJyksICRkYXRhWydodHRwOi8vYWNzLmFtYXpvbmF3cy5jb20vZ3JvdXBzL2dsb2JhbC9BbGxVc2VycyddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdHcm91cCcsICdSRUFEJyksICRkYXRhWydodHRwOi8vYWNzLmFtYXpvbmF3cy5jb20vZ3JvdXBzL2dsb2JhbC9BdXRoZW50aWNhdGVkVXNlcnMnXSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0UHV0QW5kTGlzdE9iamVjdHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVcGxvYWRzT2JqZWN0c1dpdGhLZXlzTWF0Y2hpbmdCdWNrZXROYW1lKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coIlVwbG9hZGluZyBhbiBvYmplY3Qgd2l0aCBhIG5hbWUgdGhlIHNhbWUgYXMgdGhlIGJ1Y2tldCIpOwogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbCgnYnVja2V0X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAka2V5ID0gJHRoaXMtPmJ1Y2tldCAuICctZm9vJzsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ1B1dE9iamVjdCcsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0LAogICAgICAgICAgICAnS2V5JyAgICA9PiAka2V5LAogICAgICAgICAgICAnQm9keScgICA9PiAnaGknCiAgICAgICAgKSk7CiAgICAgICAgJGNvbW1hbmQtPmV4ZWN1dGUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCIveyR0aGlzLT5idWNrZXR9LWZvbyIsICRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldFBhdGgoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygieyR0aGlzLT5idWNrZXR9LnMzLmFtYXpvbmF3cy5jb20iLCAkY29tbWFuZC0+Z2V0UmVxdWVzdCgpLT5nZXRIb3N0KCkpOwogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbCgnb2JqZWN0X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQsICdLZXknID0+ICRrZXkpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RQdXRBbmRMaXN0T2JqZWN0cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFB1dE9iamVjdHNXaXRoVXRmOEtleXMoKQogICAgewogICAgICAgIHNlbGY6OmxvZygiVXBsb2FkaW5nIGFuIG9iamVjdCB3aXRoIGEgVVRGLTgga2V5Iik7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+d2FpdFVudGlsKCdidWNrZXRfZXhpc3RzJywgYXJyYXkoJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCkpOwogICAgICAgICRrZXkgPSAnw6ViYyc7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5wdXRPYmplY3QoYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0LAogICAgICAgICAgICAgICAgJ0tleScgICAgPT4gJGtleSwKICAgICAgICAgICAgICAgICdCb2R5JyAgID0+ICdoaScKICAgICAgICAgICAgKSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygkdGhpcy0+YnVja2V0LCAkcmVzdWx0WydPYmplY3RVUkwnXSk7CiAgICAgICAgfSBjYXRjaCAoXEF3c1xTM1xFeGNlcHRpb25cU2lnbmF0dXJlRG9lc05vdE1hdGNoRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIGVjaG8gJGUtPmdldFJlc3BvbnNlKCktPmdldFJlcXVlc3QoKS0+Z2V0UGFyYW1zKCktPmdldCgnYXdzLnN0cmluZ190b19zaWduJykgLiAiXG4iOwogICAgICAgICAgICBlY2hvICRlLT5nZXRSZXNwb25zZSgpIC4gIlxuIjsKICAgICAgICAgICAgdGhyb3cgJGU7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbCgnb2JqZWN0X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQsICdLZXknID0+ICRrZXkpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RQdXRBbmRMaXN0T2JqZWN0cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFB1dE9iamVjdEd1ZXNzZXNDb250ZW50VHlwZSgpCiAgICB7CiAgICAgICAgc2VsZjo6bG9nKCJVcGxvYWRpbmcgYW4gb2JqZWN0IGFuZCBndWVzc2luZyBDb250ZW50LVR5cGUiKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWwoJ2J1Y2tldF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0KSk7CiAgICAgICAgJGtleSA9ICdmaWxlJzsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ1B1dE9iamVjdCcsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0LAogICAgICAgICAgICAnS2V5JyAgICA9PiAka2V5LAogICAgICAgICAgICAnQm9keScgICA9PiBmb3BlbihfX0ZJTEVfXywgJ3InKQogICAgICAgICkpOwogICAgICAgICRjb21tYW5kLT5leGVjdXRlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGV4dC94LXBocCcsIChzdHJpbmcpICRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldEhlYWRlcignQ29udGVudC1UeXBlJykpOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdFB1dE9iamVjdHNXaXRoVXRmOEtleXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb3BpZXNPYmplY3RzKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coIkNvcHlpbmcgdGhlIG9iamVjdCIpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5jb3B5T2JqZWN0KGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyAgICAgICAgICAgICAgID0+ICR0aGlzLT5idWNrZXQsCiAgICAgICAgICAgICdLZXknICAgICAgICAgICAgICAgICAgPT4gJ2NvcHkta2V5JywKICAgICAgICAgICAgJ0NvcHlTb3VyY2UnICAgICAgICAgICA9PiAkdGhpcy0+YnVja2V0IC4gJy8nIC4gc2VsZjo6VEVTVF9LRVksCiAgICAgICAgICAgICdNZXRhZGF0YURpcmVjdGl2ZScgICAgPT4gJ0NPUFknLAogICAgICAgICAgICAnU2VydmVyU2lkZUVuY3J5cHRpb24nID0+ICdBRVMyNTYnCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KCRyZXN1bHRbJ0VUYWcnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQUVTMjU2JywgJHJlc3VsdFsnU2VydmVyU2lkZUVuY3J5cHRpb24nXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KCRyZXN1bHRbJ0xhc3RNb2RpZmllZCddKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWwoJ29iamVjdF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0LCAnS2V5JyA9PiAnY29weS1rZXknKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0UHV0T2JqZWN0c1dpdGhVdGY4S2V5cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE11bHRpcGFydFVwbG9hZHMoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbCgnYnVja2V0X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAkdGhpcy0+bG9nKCdJbml0aWF0aW5nIGFuIHVwbG9hZCcpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5jcmVhdGVNdWx0aXBhcnRVcGxvYWQoYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnICAgPT4gJHRoaXMtPmJ1Y2tldCwKICAgICAgICAgICAgJ0tleScgICAgICA9PiAnYmlnJywKICAgICAgICAgICAgJ01ldGFkYXRhJyA9PiBhcnJheSgnZm9vJyA9PiAnYmFyJykKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJHJlc3VsdFsnVXBsb2FkSWQnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KCRyZXN1bHRbJ0tleSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJHJlc3VsdFsnQnVja2V0J10pOwogICAgICAgICR1cGxvYWRJZCA9ICRyZXN1bHRbJ1VwbG9hZElkJ107CiAgICAgICAgc2xlZXAoMSk7CgogICAgICAgICR0aGlzLT5sb2coJ0dldHRpbmcgdXBsb2FkcycpOwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnTGlzdE11bHRpcGFydFVwbG9hZHMnLCBhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgICA9PiAkdGhpcy0+YnVja2V0LAogICAgICAgICAgICAnVXBsb2FkSWQnID0+ICR1cGxvYWRJZAogICAgICAgICkpOwogICAgICAgICRyZXN1bHQgPSAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHRoaXMtPmJ1Y2tldCwgJHJlc3VsdFsnQnVja2V0J10pOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgJHJlc3VsdFsnVXBsb2FkcyddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZShmYWxzZSwgJHJlc3VsdFsnSXNUcnVuY2F0ZWQnXSk7CiAgICAgICAgJHRoaXMtPmxvZygnQWJvcnRpbmcgdGhlIHVwbG9hZCcpOwogICAgICAgIHNsZWVwKDIpOwogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbCgnYnVja2V0X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ0Fib3J0TXVsdGlwYXJ0VXBsb2FkJywgYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnICAgPT4gJHRoaXMtPmJ1Y2tldCwKICAgICAgICAgICAgJ0tleScgICAgICA9PiAnYmlnJywKICAgICAgICAgICAgJ1VwbG9hZElkJyA9PiAkdXBsb2FkSWQKICAgICAgICApKTsKICAgICAgICAkcmVzdWx0ID0gJGNvbW1hbmQtPmV4ZWN1dGUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdSZXF1ZXN0SWQnKSwgYXJyYXlfa2V5cygkcmVzdWx0LT50b0FycmF5KCkpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RQdXRBbmRMaXN0T2JqZWN0cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFB1dEJ1Y2tldFRhZ2dpbmcoKQogICAgewogICAgICAgIHNlbGY6OmxvZygiQWRkaW5nIHRhZ3MgdG8gYSBidWNrZXQiKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWwoJ2J1Y2tldF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0KSk7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdQdXRCdWNrZXRUYWdnaW5nJywgYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQsCiAgICAgICAgICAgICdUYWdTZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0tleScgICA9PiAnRm9vJywKICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+ICdCYXInCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0tleScgICA9PiAnQmF6JywKICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+ICdCb28nCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgICAgICAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldEhlYWRlcignRXhwZWN0JykpOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdFB1dEJ1Y2tldFRhZ2dpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRCdWNrZXRUYWdnaW5nKCkKICAgIHsKICAgICAgICAkdGhpcy0+bG9nKF9fTUVUSE9EX18pOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5nZXRCdWNrZXRUYWdnaW5nKGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJHJlc3VsdFsnVGFnU2V0J10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UG9zdE9iamVjdFByb2R1Y2VzQ29ycmVjdFBhcmFtZXRlcnNGb3JQb3N0KCkKICAgIHsKICAgICAgICAka2V5ID0gJ2R1bW15LnR4dCc7CgogICAgICAgIC8vIENyZWF0ZSB0aGUgUG9zdE9iamVjdCBhbmQgZmV0Y2ggdGhlIGRhdGEKICAgICAgICAkcG9zdCA9IG5ldyBQb3N0T2JqZWN0KCR0aGlzLT5jbGllbnQsICR0aGlzLT5idWNrZXQpOwogICAgICAgICRwb3N0LT5wcmVwYXJlRGF0YSgpOwogICAgICAgICRmb3JtID0gJHBvc3QtPmdldEZvcm1BdHRyaWJ1dGVzKCk7CiAgICAgICAgJGRhdGEgPSAkcG9zdC0+Z2V0Rm9ybUlucHV0cygpOwoKICAgICAgICAvLyBVc2UgR3V6emxlIHRvIHNpbXVsYXRlIGEgYnJvd3NlciBQT1NUIHVwbG9hZCB0byBTMwogICAgICAgICRodHRwID0gbmV3IENsaWVudChhcnJheSgnc3NsLmNlcnRpZmljYXRlX2F1dGhvcml0eScgPT4gZmFsc2UpKTsKICAgICAgICAvKiogQHZhciAkcmVzcG9uc2UgXEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2UgKi8KICAgICAgICAkcmVzcG9uc2UgPSAkaHR0cC0+cG9zdCgkZm9ybVsnYWN0aW9uJ10sIG51bGwsICRkYXRhKQogICAgICAgICAgICAtPmFkZFBvc3RGaWxlcyhhcnJheSgnZmlsZScgPT4gX19ESVJfXyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAka2V5KSkKICAgICAgICAgICAgLT5zZW5kKCk7CgogICAgICAgIC8vIFZlcmlmeSB0aGF0IHRoZSByZXNwb25zZSBpcyBhcyBleHBlY3RlZAogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjA0LCAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygiaHR0cHM6Ly97JHRoaXMtPmJ1Y2tldH0uczMuYW1hem9uYXdzLmNvbS97JGtleX0iLCAkcmVzcG9uc2UtPmdldExvY2F0aW9uKCkpOwoKICAgICAgICAvLyBEZWxldGUgdGhlIG9iamVjdAogICAgICAgICR0aGlzLT5jbGllbnQtPmRlbGV0ZU9iamVjdChhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0LCAnS2V5JyA9PiAka2V5KSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzVGllcmVkU3RvcmFnZSgpCiAgICB7CiAgICAgICAgc2VsZjo6bG9nKCJVcGxvYWRpbmcgYW4gb2JqZWN0IHRoZW4gcGxhY2luZyBpbiBHbGFjaWVyIik7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+d2FpdFVudGlsKCdidWNrZXRfZXhpc3RzJywgYXJyYXkoJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCkpOwogICAgICAgICRrZXkgPSAnYWJjJzsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5wdXRPYmplY3QoYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQsCiAgICAgICAgICAgICdLZXknICAgID0+ICRrZXksCiAgICAgICAgICAgICdCb2R5JyAgID0+ICdoaScKICAgICAgICApKTsKICAgICAgICBzZWxmOjpsb2coIldhaXRpbmcgdW50aWwgdGhlIG9iamVjdCBleGlzdHMiKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWwoJ29iamVjdF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0LCAnS2V5JyA9PiAka2V5KSk7CiAgICAgICAgc2VsZjo6bG9nKCJNb3ZpbmcgdGhlIG9iamVjdCB0byBnbGFjaWVyIGJ5IHNldHRpbmcgYSBsaWZlY3ljbGUgcG9saWN5IG9uIHRoZSBvYmplY3QiKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWwoJ2J1Y2tldF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0KSk7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdQdXRCdWNrZXRMaWZlY3ljbGUnLCBhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCwKICAgICAgICAgICAgJ1J1bGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdJRCcgPT4gJ2Zvby1ydWxlJywKICAgICAgICAgICAgICAgICAgICAnU3RhdHVzJyA9PiAnRW5hYmxlZCcsCiAgICAgICAgICAgICAgICAgICAgJ1ByZWZpeCcgPT4gJ2EnLAogICAgICAgICAgICAgICAgICAgICdUcmFuc2l0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0RheXMnICAgICAgICAgPT4gMCwKICAgICAgICAgICAgICAgICAgICAgICAgJ1N0b3JhZ2VDbGFzcycgPT4gJ0dMQUNJRVInCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgICRyZXN1bHQgPSAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3ROdWxsKCRyZXN1bHRbJ1JlcXVlc3RJZCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoCiAgICAgICAgICAgICc8VHJhbnNpdGlvbj48RGF5cz4wPC9EYXlzPjxTdG9yYWdlQ2xhc3M+R0xBQ0lFUjwvU3RvcmFnZUNsYXNzPjwvVHJhbnNpdGlvbj4nLAogICAgICAgICAgICAoc3RyaW5nKSAkY29tbWFuZC0+Z2V0UmVxdWVzdCgpCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE11bHRpcGFydFVwbG9hZCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+d2FpdFVudGlsKCdidWNrZXRfZXhpc3RzJywgYXJyYXkoJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCkpOwogICAgICAgIHNlbGY6OmxvZygnQ3JlYXRpbmcgYSAxMDBNQiBvYmplY3QgaW4gL3RtcC9sYXJnZS1vYmplY3QuanBnJyk7CiAgICAgICAgJGhhbmRsZSA9IGZvcGVuKCcvdG1wL2xhcmdlLW9iamVjdC5qcGcnLCAndysnKTsKICAgICAgICAkcGFydCA9IHN0cl9yZXBlYXQoJy4nLCAxMDAwKTsKICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCAoMTAyNCAqIDEwMjQgKiA1KSAvIDEwMDA7ICRpKyspIHsKICAgICAgICAgICAgZndyaXRlKCRoYW5kbGUsICRwYXJ0KTsKICAgICAgICB9CiAgICAgICAgZmNsb3NlKCRoYW5kbGUpOwoKICAgICAgICAkaGlzdG9yeSA9IG5ldyBIaXN0b3J5UGx1Z2luKCk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+YWRkU3Vic2NyaWJlcigkaGlzdG9yeSk7CgogICAgICAgIHNlbGY6OmxvZygnSW5pdGlhdGluZyB0cmFuc2ZlcicpOwogICAgICAgICR0cmFuc2ZlciA9IFVwbG9hZEJ1aWxkZXI6Om5ld0luc3RhbmNlKCkKICAgICAgICAgICAgLT5zZXRCdWNrZXQoJHRoaXMtPmJ1Y2tldCkKICAgICAgICAgICAgLT5zZXRLZXkoJ2xhcmdlX2tleScpCiAgICAgICAgICAgIC0+c2V0U291cmNlKHNlbGY6OkxBUkdFX09CSkVDVCkKICAgICAgICAgICAgLT5jYWxjdWxhdGVNZDUodHJ1ZSkKICAgICAgICAgICAgLT5jYWxjdWxhdGVQYXJ0TWQ1KHRydWUpCiAgICAgICAgICAgIC0+c2V0T3B0aW9uKCdBQ0wnLCAncHVibGljLXJlYWQnKQogICAgICAgICAgICAtPnNldENsaWVudCgkdGhpcy0+Y2xpZW50KQogICAgICAgICAgICAtPmJ1aWxkKCk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgJGhpc3RvcnktPmNvdW50KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRoaXN0b3J5LT5nZXRMYXN0UmVxdWVzdCgpLT5nZXRRdWVyeSgpLT5oYXNLZXkoJ3VwbG9hZHMnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaW1hZ2UvanBlZycsIChzdHJpbmcpICRoaXN0b3J5LT5nZXRMYXN0UmVxdWVzdCgpLT5nZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScpKTsKICAgICAgICAkaGlzdG9yeS0+Y2xlYXIoKTsKCiAgICAgICAgc2VsZjo6bG9nKCdVcGxvYWRpbmcgcGFydHMnKTsKICAgICAgICAkdHJhbnNmZXItPnVwbG9hZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgJGhpc3RvcnktPmNvdW50KCkpOwogICAgICAgICRyZXF1ZXN0cyA9ICRoaXN0b3J5LT5nZXRJdGVyYXRvcigpLT5nZXRBcnJheUNvcHkoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQVVQnLCAkcmVxdWVzdHNbMF0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQVVQnLCAkcmVxdWVzdHNbMV0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQT1NUJywgJHJlcXVlc3RzWzJdLT5nZXRNZXRob2QoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHByZWZpeEtleVByb3ZpZGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KCdmb28gL2Jhei9iYXIhJywgJ2ZvbyAvYmF6L2JhciEnLCAnL2ZvbyUyMC9iYXovYmFyJTIxJyksCiAgICAgICAgICAgIGFycmF5KCcvZm9vJywgJ2ZvbycsICcvZm9vJykKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdFB1dEFuZExpc3RPYmplY3RzCiAgICAgKiBAZGF0YVByb3ZpZGVyIHByZWZpeEtleVByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0V29ya3NXaXRoUHJlZml4S2V5cygka2V5LCAkY2xlYW5lZCwgJGVuY29kZWQpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+d2FpdFVudGlsKCdidWNrZXRfZXhpc3RzJywgYXJyYXkoJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCkpOwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnUHV0T2JqZWN0JywgYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnICAgICA9PiAkdGhpcy0+YnVja2V0LAogICAgICAgICAgICAnS2V5JyAgICAgICAgPT4gJGtleSwKICAgICAgICAgICAgJ1NvdXJjZUZpbGUnID0+IF9fRklMRV9fCiAgICAgICAgKSk7CiAgICAgICAgJGNvbW1hbmQtPmV4ZWN1dGUoKTsKICAgICAgICAvLyBFbnN1cmUgdGhlIHBhdGggaXMgY29ycmVjdAogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGVuY29kZWQsICRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldFBhdGgoKSk7CiAgICAgICAgLy8gRW5zdXJlIHRoZSBrZXkgaXMgbm90IGFuIGFycmF5IGFuZCBpcyByZXR1cm5lZCB0byBpdCdzIHByZXZpb3VzIHZhbHVlCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygka2V5LCAkY29tbWFuZFsnS2V5J10pOwoKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWwoJ29iamVjdF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0LCAnS2V5JyA9PiAka2V5KSk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jbGllbnQtPmdldE9iamVjdChhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0LCAnS2V5JyA9PiAka2V5KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhmaWxlX2dldF9jb250ZW50cyhfX0ZJTEVfXyksIChzdHJpbmcpICRyZXN1bHRbJ0JvZHknXSk7CgogICAgICAgIC8vIFRlc3QgdXNpbmcgcGF0aCBzdHlsZSBob3N0aW5nCiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdEZWxldGVPYmplY3QnLCBhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgICAgPT4gJHRoaXMtPmJ1Y2tldCwKICAgICAgICAgICAgJ0tleScgICAgICAgPT4gJGtleSwKICAgICAgICAgICAgJ1BhdGhTdHlsZScgPT4gdHJ1ZQogICAgICAgICkpOwogICAgICAgICRjb21tYW5kLT5leGVjdXRlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnLycgLiAkdGhpcy0+YnVja2V0IC4gJGVuY29kZWQsICRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldFBhdGgoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0UHV0QW5kTGlzdE9iamVjdHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQcmVTaWduZWRVcmxBbGxvd3NMaXRlcmFscygpCiAgICB7CiAgICAgICAgc2VsZjo6bG9nKCdVcGxvYWRpbmcgYW4gb2JqZWN0IHdpdGggYSBzcGFjZSBpbiB0aGUga2V5IGFuZCBsaXRlcmFscycpOwogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbCgnYnVja2V0X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAka2V5ID0gJ2ZvbyBiYXolMjBiYXIhJzsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5wdXRPYmplY3QoYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQsCiAgICAgICAgICAgICdLZXknICAgID0+ICRrZXksCiAgICAgICAgICAgICdCb2R5JyAgID0+ICdoaScKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWwoJ29iamVjdF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0LCAnS2V5JyA9PiAka2V5KSk7CiAgICAgICAgc2VsZjo6bG9nKCdDcmVhdGluZyBhbiBkb3dubG9hZGluZyB1c2luZyBhIHByZS1zaWduZWQgVVJMJyk7CiAgICAgICAgJGV4dHJhID0gdXJsZW5jb2RlKCJhdHRhY2htZW50OyBmaWxlbmFtZT1cInska2V5fVwiIik7CiAgICAgICAgJGVuY29kZWRLZXkgPSByYXd1cmxlbmNvZGUoJGtleSk7CiAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+Y2xpZW50LT5nZXQoInskdGhpcy0+YnVja2V0fS97JGVuY29kZWRLZXl9P3Jlc3BvbnNlLWNvbnRlbnQtZGlzcG9zaXRpb249eyRleHRyYX0iKTsKICAgICAgICAkdXJsID0gJHRoaXMtPmNsaWVudC0+Y3JlYXRlUHJlc2lnbmVkVXJsKCRyZXF1ZXN0LCAnKzEwIG1pbnV0ZXMnKTsKICAgICAgICBzZWxmOjpsb2coJHVybCk7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdoaScsIGZpbGVfZ2V0X2NvbnRlbnRzKCR1cmwpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdoaScsICRjbGllbnQtPmdldCgkdXJsKS0+c2VuZCgpLT5nZXRCb2R5KHRydWUpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RQdXRBbmRMaXN0T2JqZWN0cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByZVNpZ25lZFVybEFsbG93c1NwZWNpYWxDaGFyYWN0ZXJzKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ1VwbG9hZGluZyBhbiBvYmplY3Qgd2l0aCBhIHNwYWNlIGluIHRoZSBrZXknKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWwoJ2J1Y2tldF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0KSk7CiAgICAgICAgJGtleSA9ICdmb28gYmF6IGJhciEnOwogICAgICAgICR0aGlzLT5jbGllbnQtPnB1dE9iamVjdChhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCwKICAgICAgICAgICAgJ0tleScgICAgPT4gJGtleSwKICAgICAgICAgICAgJ0JvZHknICAgPT4gJ2hpJwogICAgICAgICkpOwogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbCgnb2JqZWN0X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQsICdLZXknID0+ICRrZXkpKTsKCiAgICAgICAgc2VsZjo6bG9nKCdDcmVhdGluZyBhbiBkb3dubG9hZGluZyB1c2luZyBhIHByZS1zaWduZWQgVVJMIHdpdGggY29tbWFuZCcpOwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnR2V0T2JqZWN0JywgYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQsCiAgICAgICAgICAgICdLZXknICAgID0+ICRrZXkKICAgICAgICApKTsKICAgICAgICAkdXJsID0gJGNvbW1hbmQtPmNyZWF0ZVByZXNpZ25lZFVybCgnKzEwMCBtaW51dGVzJyk7CiAgICAgICAgc2VsZjo6bG9nKCR1cmwpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2hpJywgZmlsZV9nZXRfY29udGVudHMoJHVybCkpOwoKICAgICAgICBzZWxmOjpsb2coJ0NyZWF0aW5nIGFuIGRvd25sb2FkaW5nIHVzaW5nIGEgcHJlLXNpZ25lZCBVUkwnKTsKICAgICAgICAkZXh0cmEgPSB1cmxlbmNvZGUoImF0dGFjaG1lbnQ7IGZpbGVuYW1lPVwieyRrZXl9XCIiKTsKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5jbGllbnQtPmdldCgieyR0aGlzLT5idWNrZXR9L3ska2V5fT9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPXskZXh0cmF9Iik7CiAgICAgICAgJHVybCA9ICR0aGlzLT5jbGllbnQtPmNyZWF0ZVByZXNpZ25lZFVybCgkcmVxdWVzdCwgJysxMCBtaW51dGVzJyk7CiAgICAgICAgc2VsZjo6bG9nKCR1cmwpOwogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaGknLCBmaWxlX2dldF9jb250ZW50cygkdXJsKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaGknLCAkY2xpZW50LT5nZXQoJHVybCktPnNlbmQoKS0+Z2V0Qm9keSh0cnVlKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Integration/IteratorsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcSW50ZWdyYXRpb247CgovKioKICogQGdyb3VwIGludGVncmF0aW9uCiAqLwpjbGFzcyBJdGVyYXRvcnNUZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXRlcmF0ZXNMaXN0QnVja2V0c0NvbW1hbmQoKQogICAgewogICAgICAgIC8qKiBAdmFyICRjbGllbnQgXEd1enpsZVxTZXJ2aWNlXENsaWVudEludGVyZmFjZSAqLwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICRtb2NrID0gJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgnczMvbGlzdF9idWNrZXRzJykpOwoKICAgICAgICAvLyBDcmVhdGUgYW4gaXRlcmF0b3IgdGhhdCB3aWxsIGV4ZXJjaXNlIHRoZSBtb3N0IGNvZGUgcGF0aHMKICAgICAgICAkaXRlcmF0b3IgPSAkY2xpZW50LT5nZXRJdGVyYXRvcignTGlzdEJ1Y2tldHMnLCBudWxsLCBhcnJheSgnbmFtZXNfb25seScgPT4gdHJ1ZSkpOwoKICAgICAgICAvLyBWZXJpZnkgdGhhdCB3ZSBnb3QgYmFjayBldmVyeXRoaW5nIGJhY2sKICAgICAgICAkZXhwZWN0ZWRPYmplY3RzID0gYXJyYXkoJ2J1Y2tldC0xJywgJ2J1Y2tldC0yJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGV4cGVjdGVkT2JqZWN0cywgJGl0ZXJhdG9yLT50b0FycmF5KCkpOwoKICAgICAgICAvLyBWZXJpZnkgdGhhdCB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIGFyZSBhcyBleHBlY3RlZAogICAgICAgICRyZXF1ZXN0cyA9ICRtb2NrLT5nZXRSZWNlaXZlZFJlcXVlc3RzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkcmVxdWVzdHMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsICRpdGVyYXRvci0+Z2V0UmVxdWVzdENvdW50KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXRlcmF0ZXNMaXN0T2JqZWN0c0NvbW1hbmQoKQogICAgewogICAgICAgIC8qKiBAdmFyICRjbGllbnQgXEd1enpsZVxTZXJ2aWNlXENsaWVudEludGVyZmFjZSAqLwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICRtb2NrID0gJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgKICAgICAgICAgICAgJ3MzL2xpc3Rfb2JqZWN0c19wYWdlXzEnLAogICAgICAgICAgICAnczMvbGlzdF9vYmplY3RzX3BhZ2VfMicsCiAgICAgICAgICAgICdzMy9saXN0X29iamVjdHNfcGFnZV8zJywKICAgICAgICAgICAgJ3MzL2xpc3Rfb2JqZWN0c19wYWdlXzQnLAogICAgICAgICAgICAnczMvbGlzdF9vYmplY3RzX3BhZ2VfNScKICAgICAgICApKTsKCiAgICAgICAgLy8gQ3JlYXRlIGFuIGl0ZXJhdG9yIHRoYXQgd2lsbCBleGVyY2lzZSB0aGUgbW9zdCBjb2RlIHBhdGhzCiAgICAgICAgJGl0ZXJhdG9yID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ0xpc3RPYmplY3RzJywgYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnICAgID0+ICdmb28nLAogICAgICAgICAgICAnTWF4S2V5cycgICA9PiA1LAogICAgICAgICAgICAnRGVsaW1pdGVyJyA9PiAnLycKICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgJ3BhZ2Vfc2l6ZScgICAgICAgPT4gMiwKICAgICAgICAgICAgJ3JldHVybl9wcmVmaXhlcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ25hbWVzX29ubHknICAgICAgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3NvcnRfcmVzdWx0cycgICAgPT4gdHJ1ZQogICAgICAgICkpOwoKICAgICAgICAvLyBWZXJpZnkgdGhhdCB3ZSBnb3QgYmFjayBldmVyeXRoaW5nIGJhY2sKICAgICAgICAkZXhwZWN0ZWRPYmplY3RzID0gYXJyYXkoJ2EvJywgJ2IvJywgJ2MnLCAnZC8nLCAnZScsICdmJywgJ2cvJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGV4cGVjdGVkT2JqZWN0cywgJGl0ZXJhdG9yLT50b0FycmF5KCkpOwoKICAgICAgICAvLyBWZXJpZnkgdGhhdCA1IEhUVFAgcmVxdWVzdHMgd2VyZSBtYWRlCiAgICAgICAgJHJlcXVlc3RzID0gJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDUsIGNvdW50KCRyZXF1ZXN0cykpOwoKICAgICAgICAvLyBWZXJpZnkgdGhhdCBvbmx5IDQgaXRlcmF0aW9ucyAobm90IDUpIHdlcmUgbWFkZQogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNCwgJGl0ZXJhdG9yLT5nZXRSZXF1ZXN0Q291bnQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJdGVyYXRlc0dldEJ1Y2tldE9iamVjdFZlcnNpb25zQ29tbWFuZCgpCiAgICB7CiAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBcR3V6emxlXFNlcnZpY2VcQ2xpZW50SW50ZXJmYWNlICovCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KAogICAgICAgICAgICAnczMvZ2V0X2J1Y2tldF9vYmplY3RfdmVyc2lvbnNfcGFnZV8xJywKICAgICAgICAgICAgJ3MzL2dldF9idWNrZXRfb2JqZWN0X3ZlcnNpb25zX3BhZ2VfMicKICAgICAgICApKTsKCiAgICAgICAgLy8gQ3JlYXRlIGFuIGl0ZXJhdG9yIHRoYXQgd2lsbCBleGVyY2lzZSB0aGUgbW9zdCBjb2RlIHBhdGhzCiAgICAgICAgJGl0ZXJhdG9yID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ0xpc3RPYmplY3RWZXJzaW9ucycsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyAgICA9PiAnYnVja2V0LTEnLAogICAgICAgICAgICAnRGVsaW1pdGVyJyA9PiAnLycKICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgJ3JldHVybl9wcmVmaXhlcycgPT4gdHJ1ZQogICAgICAgICkpOwoKICAgICAgICAvLyBWZXJpZnkgdGhhdCB3ZSBnb3QgYmFjayBldmVyeXRoaW5nIGJhY2sKICAgICAgICAkYWN0dWFsS2V5cyA9IGFycmF5KCk7CiAgICAgICAgJGV4cGVjdGVkS2V5cyA9IGFycmF5KAogICAgICAgICAgICAna2V5LTF8dmVyc2lvbi1pZC0xJywKICAgICAgICAgICAgJ2tleS0yfHZlcnNpb24taWQtMScsCiAgICAgICAgICAgICdrZXktMXx2ZXJzaW9uLWlkLTInLAogICAgICAgICAgICAna2V5LTJ8dmVyc2lvbi1pZC0yJywKICAgICAgICAgICAgJ3ByZWZpeC0xLycsCiAgICAgICAgICAgICdwcmVmaXgtMi8nCiAgICAgICAgKTsKICAgICAgICBmb3JlYWNoICgkaXRlcmF0b3IgYXMgJGl0ZW0pIHsKICAgICAgICAgICAgaWYgKGlzc2V0KCRpdGVtWydLZXknXSkpIHsKICAgICAgICAgICAgICAgICRhY3R1YWxLZXlzW10gPSAiJGl0ZW1bS2V5XXwkaXRlbVtWZXJzaW9uSWRdIjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRhY3R1YWxLZXlzW10gPSAkaXRlbVsnUHJlZml4J107CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGV4cGVjdGVkS2V5cywgJGFjdHVhbEtleXMpOwoKICAgICAgICAvLyBWZXJpZnkgdGhhdCB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIGFyZSBhcyBleHBlY3RlZAogICAgICAgICRyZXF1ZXN0cyA9ICRtb2NrLT5nZXRSZWNlaXZlZFJlcXVlc3RzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkcmVxdWVzdHMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsICRpdGVyYXRvci0+Z2V0UmVxdWVzdENvdW50KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXRlcmF0ZXNMaXN0UGFydHNDb21tYW5kKCkKICAgIHsKICAgICAgICAvKiogQHZhciAkY2xpZW50IFxHdXp6bGVcU2VydmljZVxDbGllbnRJbnRlcmZhY2UgKi8KICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKTsKICAgICAgICAkbW9jayA9ICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgICdzMy9saXN0X3BhcnRzX3BhZ2VfMScsCiAgICAgICAgICAgICdzMy9saXN0X3BhcnRzX3BhZ2VfMicKICAgICAgICApKTsKCiAgICAgICAgLy8gQ3JlYXRlIGFuIGl0ZXJhdG9yIHRoYXQgd2lsbCBleGVyY2lzZSB0aGUgbW9zdCBjb2RlIHBhdGhzCiAgICAgICAgJGl0ZXJhdG9yID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ0xpc3RQYXJ0cycsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyAgID0+ICdidWNrZXQtMScsCiAgICAgICAgICAgICdLZXknICAgICAgPT4gJ29iamVjdC0xJywKICAgICAgICAgICAgJ1VwbG9hZElkJyA9PiAndXBsb2FkLWlkLTEnLAogICAgICAgICkpOwoKICAgICAgICAvLyBWZXJpZnkgdGhhdCB3ZSBnb3QgYmFjayBldmVyeXRoaW5nIGJhY2sKICAgICAgICAkYWN0dWFsUGFydHMgPSBhcnJheSgpOwogICAgICAgICRleHBlY3RlZFBhcnRzID0gYXJyYXkoMSwgMik7CiAgICAgICAgZm9yZWFjaCAoJGl0ZXJhdG9yIGFzICRwYXJ0KSB7CiAgICAgICAgICAgICRhY3R1YWxQYXJ0c1tdID0gKGludCkgJHBhcnRbJ1BhcnROdW1iZXInXTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGV4cGVjdGVkUGFydHMsICRhY3R1YWxQYXJ0cyk7CgogICAgICAgIC8vIFZlcmlmeSB0aGF0IHRoZSBudW1iZXIgb2YgcmVxdWVzdHMgYXJlIGFzIGV4cGVjdGVkCiAgICAgICAgJHJlcXVlc3RzID0gJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCRyZXF1ZXN0cykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgJGl0ZXJhdG9yLT5nZXRSZXF1ZXN0Q291bnQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJdGVyYXRlc0xpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZCgpCiAgICB7CiAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBcR3V6emxlXFNlcnZpY2VcQ2xpZW50SW50ZXJmYWNlICovCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KAogICAgICAgICAgICAnczMvbGlzdF9tdWx0aXBhcnRfdXBsb2Fkc19wYWdlXzEnLAogICAgICAgICAgICAnczMvbGlzdF9tdWx0aXBhcnRfdXBsb2Fkc19wYWdlXzInCiAgICAgICAgKSk7CgogICAgICAgIC8vIENyZWF0ZSBhbiBpdGVyYXRvciB0aGF0IHdpbGwgZXhlcmNpc2UgdGhlIG1vc3QgY29kZSBwYXRocwogICAgICAgICRpdGVyYXRvciA9ICRjbGllbnQtPmdldEl0ZXJhdG9yKCdMaXN0TXVsdGlwYXJ0VXBsb2FkcycsIGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyAgICA9PiAnYnVja2V0LTEnLAogICAgICAgICAgICAnRGVsaW1pdGVyJyA9PiAnLycKICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgJ3JldHVybl9wcmVmaXhlcycgPT4gdHJ1ZQogICAgICAgICkpOwoKICAgICAgICAvLyBWZXJpZnkgdGhhdCB3ZSBnb3QgYmFjayBldmVyeXRoaW5nIGJhY2sKICAgICAgICAkYWN0dWFsVXBsb2FkcyA9IGFycmF5KCk7CiAgICAgICAgJGV4cGVjdGVkVXBsb2FkcyA9IGFycmF5KAogICAgICAgICAgICAnb2JqZWN0LTF8dXBsb2FkLWlkLTEnLAogICAgICAgICAgICAnb2JqZWN0LTF8dXBsb2FkLWlkLTInLAogICAgICAgICAgICAnb2JqZWN0LTJ8dXBsb2FkLWlkLTEnLAogICAgICAgICAgICAnb2JqZWN0LTJ8dXBsb2FkLWlkLTInLAogICAgICAgICAgICAncHJlZml4LTEvJywKICAgICAgICAgICAgJ3ByZWZpeC0yLycKICAgICAgICApOwogICAgICAgIGZvcmVhY2ggKCRpdGVyYXRvciBhcyAkdXBsb2FkKSB7CiAgICAgICAgICAgIGlmIChpc3NldCgkdXBsb2FkWydLZXknXSkpIHsKICAgICAgICAgICAgICAgICRhY3R1YWxVcGxvYWRzW10gPSAiJHVwbG9hZFtLZXldfCR1cGxvYWRbVXBsb2FkSWRdIjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRhY3R1YWxVcGxvYWRzW10gPSAkdXBsb2FkWydQcmVmaXgnXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZXhwZWN0ZWRVcGxvYWRzLCAkYWN0dWFsVXBsb2Fkcyk7CgogICAgICAgIC8vIFZlcmlmeSB0aGF0IHRoZSBudW1iZXIgb2YgcmVxdWVzdHMgYXJlIGFzIGV4cGVjdGVkCiAgICAgICAgJHJlcXVlc3RzID0gJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCRyZXF1ZXN0cykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgJGl0ZXJhdG9yLT5nZXRSZXF1ZXN0Q291bnQoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Integration/S3_20060301_Test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcUzNcSW50ZWdyYXRpb247Cgp1c2UgQXdzXFMzXE1vZGVsXENsZWFyQnVja2V0Owp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKCi8qKgogKiBAZ3JvdXAgZXhhbXBsZQogKiBAZ3JvdXAgaW50ZWdyYXRpb24KICogQG91dHB1dEJ1ZmZlcmluZyBlbmFibGVkCiAqLwpjbGFzcyBTM18yMDA2MDMwMV9UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCAkY2xpZW50OwogICAgcHJvdGVjdGVkICRidWNrZXQ7CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRVcEJlZm9yZUNsYXNzKCkKICAgIHsKICAgICAgICAkYnVja2V0ID0gc2VsZjo6Z2V0UmVzb3VyY2VQcmVmaXgoKSAuICctczMtdGVzdCc7CiAgICAgICAgJGNsaWVudCA9IHNlbGY6OmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkY2xpZW50LT5zZXRSZWdpb24oJ3VzLXdlc3QtMicpOwoKICAgICAgICAvLyBEZWxldGUgdGhlIGJ1Y2tldCBpZiBpdCBleGlzdHMKICAgICAgICB0cnkgewogICAgICAgICAgICBzZWxmOjpsb2coJ0NsZWFyaW5nIGJ1Y2tldCAnIC4gJGJ1Y2tldCk7CiAgICAgICAgICAgICRjbGVhciA9IG5ldyBDbGVhckJ1Y2tldCgkY2xpZW50LCAkYnVja2V0KTsKICAgICAgICAgICAgJGNsZWFyLT5jbGVhcigpOwogICAgICAgICAgICBzZWxmOjpsb2coJ0RlbGV0aW5nIGJ1Y2tldCcpOwogICAgICAgICAgICAkY2xpZW50LT5kZWxldGVCdWNrZXQoYXJyYXkoJ0J1Y2tldCcgPT4gJGJ1Y2tldCkpOwogICAgICAgICAgICBzZWxmOjpsb2coJ0J1Y2tldCBkZWxldGVkJyk7CiAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICBzZWxmOjpsb2coJGUtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgfQoKICAgICAgICAvLyBXYWl0IHVudGlsIHRoZSBidWNrZXQgZG9lcyBub3QgZXhpc3QgYmVmb3JlIHN0YXJ0aW5nIHRoZSB0ZXN0CiAgICAgICAgc2VsZjo6bG9nKCdXYWl0aW5nIHVudGlsIHRoZSBidWNrZXQgZG9lcyBub3QgZXhpc3QgYW5kIHNsZWVwaW5nIGZvciBhIGZldyBzZWNvbmRzJyk7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsQnVja2V0Tm90RXhpc3RzKGFycmF5KCdCdWNrZXQnID0+ICRidWNrZXQpKTsKICAgICAgICBzbGVlcCg1KTsKICAgICAgICBzZWxmOjpsb2coJ0JlZ2lubmluZyB0ZXN0Jyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkdGhpcy0+YnVja2V0ID0gc2VsZjo6Z2V0UmVzb3VyY2VQcmVmaXgoKSAuICctczMtdGVzdCc7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+c2V0UmVnaW9uKCd1cy13ZXN0LTInKTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhbiBBbWF6b24gUzMgYnVja2V0CiAgICAgKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcUzNcRXhjZXB0aW9uXEJ1Y2tldEFscmVhZHlFeGlzdHNFeGNlcHRpb24KICAgICAqIEBleGFtcGxlIEF3c1xTM1xTM0NsaWVudDo6Y3JlYXRlQnVja2V0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QnVja2V0QWxyZWFkeUV4aXN0cygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgJGNsaWVudC0+c2V0UmVnaW9uKCd1cy1lYXN0LTEnKTsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJGNsaWVudC0+Y3JlYXRlQnVja2V0KGFycmF5KCdCdWNrZXQnID0+ICdteWJ1Y2tldCcpKTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIGJ1Y2tldCBpbiBhIHNwZWNpZmljIHJlZ2lvbgogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3RCdWNrZXRBbHJlYWR5RXhpc3RzCiAgICAgKiBAZXhhbXBsZSBBd3NcUzNcUzNDbGllbnQ6OmNyZWF0ZUJ1Y2tldAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZUJ1Y2tldEluUmVnaW9uKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAkYnVja2V0ID0gJHRoaXMtPmJ1Y2tldDsKCiAgICAgICAgLy8gRG9uJ3QgcnVuIGlmIHRoZSBidWNrZXQgZXhpc3RzCiAgICAgICAgaWYgKCRjbGllbnQtPmRvZXNCdWNrZXRFeGlzdCgkYnVja2V0KSkgewogICAgICAgICAgICByZXR1cm4gc2VsZjo6bG9nKCdCdWNrZXQgYWxyZWFkeSBleGlzdHMnKTsKICAgICAgICB9CgogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAvLyBDcmVhdGUgYSB2YWxpZCBidWNrZXQgYW5kIHVzZSBhIExvY2F0aW9uQ29uc3RyYWludAogICAgICAgICRyZXN1bHQgPSAkY2xpZW50LT5jcmVhdGVCdWNrZXQoYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnICAgICAgICAgICAgID0+ICRidWNrZXQsCiAgICAgICAgICAgICdMb2NhdGlvbkNvbnN0cmFpbnQnID0+IFxBd3NcQ29tbW9uXEVudW1cUmVnaW9uOjpVU19XRVNUXzIKICAgICAgICApKTsKCiAgICAgICAgLy8gR2V0IHRoZSBMb2NhdGlvbiBoZWFkZXIgb2YgdGhlIHJlc3BvbnNlCiAgICAgICAgZWNobyAkcmVzdWx0WydMb2NhdGlvbiddIC4gIlxuIjsKCiAgICAgICAgLy8gR2V0IHRoZSByZXF1ZXN0IElECiAgICAgICAgZWNobyAkcmVzdWx0WydSZXF1ZXN0SWQnXSAuICJcbiI7CgogICAgICAgIC8vIEBlbmQKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJHRoaXMtPmJ1Y2tldCwgJHRoaXMtPmdldEFjdHVhbE91dHB1dCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJHJlc3VsdFsnUmVxdWVzdElkJ10pOwogICAgfQoKICAgIC8qKgogICAgICogUG9sbCBhIGJ1Y2tldCB1bnRpbCBpdCBleGlzdHMKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0Q3JlYXRlQnVja2V0SW5SZWdpb24KICAgICAqIEBleGFtcGxlIEF3c1xTM1xTM0NsaWVudDo6d2FpdFVudGlsQnVja2V0RXhpc3RzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0V2FpdFVudGlsQnVja2V0RXhpc3RzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAkYnVja2V0ID0gJHRoaXMtPmJ1Y2tldDsKCiAgICAgICAgLy8gQGJlZ2luCiAgICAgICAgLy8gUG9sbCB0aGUgYnVja2V0IHVudGlsIGl0IGlzIGFjY2Vzc2libGUKICAgICAgICAkY2xpZW50LT53YWl0VW50aWxCdWNrZXRFeGlzdHMoYXJyYXkoJ0J1Y2tldCcgPT4gJGJ1Y2tldCkpOwogICAgfQoKICAgIC8qKgogICAgICogVXBsb2FkIGFuIG9iamVjdCB0byBhIGJ1Y2tldCB1c2luZyBhIHN0cmluZyBmb3IgdGhlIG9iamVjdCBib2R5CiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdFdhaXRVbnRpbEJ1Y2tldEV4aXN0cwogICAgICogQGV4YW1wbGUgQXdzXFMzXFMzQ2xpZW50OjpwdXRPYmplY3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQdXRPYmplY3QoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbEJ1Y2tldEV4aXN0cyhhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0KSk7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgJGJ1Y2tldCA9ICR0aGlzLT5idWNrZXQ7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgIC8vIFVwbG9hZCBhbiBvYmplY3QgdG8gQW1hem9uIFMzCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPnB1dE9iamVjdChhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJGJ1Y2tldCwKICAgICAgICAgICAgJ0tleScgICAgPT4gJ2RhdGEudHh0JywKICAgICAgICAgICAgJ0JvZHknICAgPT4gJ0hlbGxvIScKICAgICAgICApKTsKCiAgICAgICAgLy8gQWNjZXNzIHBhcnRzIG9mIHRoZSByZXN1bHQgb2JqZWN0CiAgICAgICAgZWNobyAkcmVzdWx0WydFeHBpcmF0aW9uJ10gLiAiXG4iOwogICAgICAgIGVjaG8gJHJlc3VsdFsnU2VydmVyU2lkZUVuY3J5cHRpb24nXSAuICJcbiI7CiAgICAgICAgZWNobyAkcmVzdWx0WydFVGFnJ10gLiAiXG4iOwogICAgICAgIGVjaG8gJHJlc3VsdFsnVmVyc2lvbklkJ10gLiAiXG4iOwogICAgICAgIGVjaG8gJHJlc3VsdFsnUmVxdWVzdElkJ10gLiAiXG4iOwoKICAgICAgICAvLyBHZXQgdGhlIFVSTCB0aGUgb2JqZWN0IGNhbiBiZSBkb3dubG9hZGVkIGZyb20KICAgICAgICBlY2hvICRyZXN1bHRbJ09iamVjdFVSTCddIC4gIlxuIjsKCiAgICAgICAgLy8gQGVuZAogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygKICAgICAgICAgICAgJ2h0dHBzOi8vJyAuICR0aGlzLT5idWNrZXQgLiAnLnMzLXVzLXdlc3QtMi5hbWF6b25hd3MuY29tL2RhdGEudHh0JywKICAgICAgICAgICAgJHRoaXMtPmdldEFjdHVhbE91dHB1dCgpCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFVwbG9hZCBhbiBvYmplY3QgYnkgc3RyZWFtaW5nIHRoZSBjb250ZW50cyBvZiBhIGZpbGUKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0UHV0T2JqZWN0CiAgICAgKiBAZXhhbXBsZSBBd3NcUzNcUzNDbGllbnQ6OnB1dE9iamVjdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFB1dE9iamVjdEZyb21GaWxlKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWxCdWNrZXRFeGlzdHMoYXJyYXkoJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCkpOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgICRidWNrZXQgPSAkdGhpcy0+YnVja2V0OwogICAgICAgICRwYXRoVG9GaWxlID0gX19GSUxFX187CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgIC8vIFVwbG9hZCBhbiBvYmplY3QgYnkgc3RyZWFtaW5nIHRoZSBjb250ZW50cyBvZiBhIGZpbGUKICAgICAgICAvLyAkcGF0aFRvRmlsZSBzaG91bGQgYmUgYWJzb2x1dGUgcGF0aCB0byBhIGZpbGUgb24gZGlzawogICAgICAgICRyZXN1bHQgPSAkY2xpZW50LT5wdXRPYmplY3QoYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnICAgICA9PiAkYnVja2V0LAogICAgICAgICAgICAnS2V5JyAgICAgICAgPT4gJ2RhdGFfZnJvbV9maWxlLnR4dCcsCiAgICAgICAgICAgICdTb3VyY2VGaWxlJyA9PiAkcGF0aFRvRmlsZSwKICAgICAgICAgICAgJ01ldGFkYXRhJyAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0ZvbycgPT4gJ2FiYycsCiAgICAgICAgICAgICAgICAnQmF6JyA9PiAnMTIzJwogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgIC8vIFdlIGNhbiBwb2xsIHRoZSBvYmplY3QgdW50aWwgaXQgaXMgYWNjZXNzaWJsZQogICAgICAgICRjbGllbnQtPndhaXRVbnRpbE9iamVjdEV4aXN0cyhhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCwKICAgICAgICAgICAgJ0tleScgICAgPT4gJ2RhdGFfZnJvbV9maWxlLnR4dCcKICAgICAgICApKTsKCiAgICAgICAgLy8gQGVuZAoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgZmlsZSB3YXMgdXBsb2FkZWQgY29ycmVjdGx5CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygKICAgICAgICAgICAgZmlsZV9nZXRfY29udGVudHMoX19GSUxFX18pLAogICAgICAgICAgICAoc3RyaW5nKSAkY2xpZW50LT5nZXRPYmplY3QoYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0LAogICAgICAgICAgICAgICAgJ0tleScgPT4gJ2RhdGFfZnJvbV9maWxlLnR4dCcKICAgICAgICAgICAgKSktPmdldCgnQm9keScpCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFVwbG9hZCBhbiBvYmplY3QgYnkgc3RyZWFtaW5nIHRoZSBjb250ZW50cyBvZiBhIFBIUCBzdHJlYW0KICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0UHV0T2JqZWN0RnJvbUZpbGUKICAgICAqIEBleGFtcGxlIEF3c1xTM1xTM0NsaWVudDo6cHV0T2JqZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UHV0T2JqZWN0RnJvbVN0cmVhbSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+d2FpdFVudGlsQnVja2V0RXhpc3RzKGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAkYnVja2V0ID0gJHRoaXMtPmJ1Y2tldDsKICAgICAgICAkcGF0aFRvRmlsZSA9IF9fRklMRV9fOwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAvLyBVcGxvYWQgYW4gb2JqZWN0IGJ5IHN0cmVhbWluZyB0aGUgY29udGVudHMgb2YgYSBQSFAgc3RyZWFtLgogICAgICAgIC8vIE5vdGU6IFlvdSBtdXN0IHN1cHBseSBhICJDb250ZW50TGVuZ3RoIiBwYXJhbWV0ZXIgdG8gYW4KICAgICAgICAvLyBvcGVyYXRpb24gaWYgdGhlIHN0ZWFtIGRvZXMgbm90IHJlc3BvbmQgdG8gZnN0YXQoKSBvciBpZiB0aGUKICAgICAgICAvLyBmc3RhdCgpIG9mIHN0cmVhbSBkb2VzIG5vdCBwcm92aWRlIGEgdmFsaWQgdGhlICdzaXplJyBhdHRyaWJ1dGUuCiAgICAgICAgLy8gRm9yIGV4YW1wbGUsIHRoZSAiaHR0cCIgc3RyZWFtIHdyYXBwZXIgd2lsbCByZXF1aXJlIGEgQ29udGVudExlbmd0aAogICAgICAgIC8vIHBhcmFtZXRlciBiZWNhdXNlIGl0IGRvZXMgbm90IHJlc3BvbmQgdG8gZnN0YXQoKS4KICAgICAgICAkY2xpZW50LT5wdXRPYmplY3QoYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICRidWNrZXQsCiAgICAgICAgICAgICdLZXknICAgID0+ICdkYXRhX2Zyb21fc3RyZWFtLnR4dCcsCiAgICAgICAgICAgICdCb2R5JyAgID0+IGZvcGVuKCRwYXRoVG9GaWxlLCAncisnKQogICAgICAgICkpOwoKICAgICAgICAvLyBAZW5kCiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsT2JqZWN0RXhpc3RzKGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0LAogICAgICAgICAgICAnS2V5JyA9PiAnZGF0YV9mcm9tX3N0cmVhbS50eHQnCiAgICAgICAgKSk7CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBmaWxlIHdhcyB1cGxvYWRlZCBjb3JyZWN0bHkKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKAogICAgICAgICAgICBmaWxlX2dldF9jb250ZW50cyhfX0ZJTEVfXyksCiAgICAgICAgICAgIChzdHJpbmcpICRjbGllbnQtPmdldE9iamVjdChhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQsCiAgICAgICAgICAgICAgICAnS2V5JyA9PiAnZGF0YV9mcm9tX3N0cmVhbS50eHQnCiAgICAgICAgICAgICkpLT5nZXQoJ0JvZHknKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBVcGxvYWQgYW4gb2JqZWN0IGJ5IHN0cmVhbWluZyB0aGUgY29udGVudHMgb2YgYSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5SW50ZXJmYWNlIG9iamVjdAogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3RQdXRPYmplY3RGcm9tU3RyZWFtCiAgICAgKiBAZXhhbXBsZSBBd3NcUzNcUzNDbGllbnQ6OnB1dE9iamVjdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFB1dE9iamVjdEZyb21FbnRpdHlCb2R5KCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWxCdWNrZXRFeGlzdHMoYXJyYXkoJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCkpOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgICRidWNrZXQgPSAkdGhpcy0+YnVja2V0OwogICAgICAgICRwYXRoVG9GaWxlID0gX19GSUxFX187CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgIC8vIEJlIHN1cmUgdG8gYWRkIGEgdXNlIHN0YXRlbWVudCBhdCB0aGUgYmVnaW5uaW5nIG9mIHlvdSBzY3JpcHQ6CiAgICAgICAgLy8gdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CgogICAgICAgIC8vIFVwbG9hZCBhbiBvYmplY3QgYnkgc3RyZWFtaW5nIHRoZSBjb250ZW50cyBvZiBhbiBFbnRpdHlCb2R5IG9iamVjdAogICAgICAgICRjbGllbnQtPnB1dE9iamVjdChhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJGJ1Y2tldCwKICAgICAgICAgICAgJ0tleScgICAgPT4gJ2RhdGFfZnJvbV9lbnRpdHlfYm9keS50eHQnLAogICAgICAgICAgICAnQm9keScgICA9PiBFbnRpdHlCb2R5OjpmYWN0b3J5KGZvcGVuKCRwYXRoVG9GaWxlLCAncisnKSkKICAgICAgICApKTsKCiAgICAgICAgLy8gQGVuZAogICAgICAgICRjbGllbnQtPndhaXRVbnRpbE9iamVjdEV4aXN0cyhhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCwKICAgICAgICAgICAgJ0tleScgPT4gJ2RhdGFfZnJvbV9lbnRpdHlfYm9keS50eHQnCiAgICAgICAgKSk7CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBmaWxlIHdhcyB1cGxvYWRlZCBjb3JyZWN0bHkKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKAogICAgICAgICAgICBmaWxlX2dldF9jb250ZW50cyhfX0ZJTEVfXyksCiAgICAgICAgICAgIChzdHJpbmcpICRjbGllbnQtPmdldE9iamVjdChhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQsCiAgICAgICAgICAgICAgICAnS2V5JyA9PiAnZGF0YV9mcm9tX2VudGl0eV9ib2R5LnR4dCcKICAgICAgICAgICAgKSktPmdldCgnQm9keScpCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgYSBMaXN0QnVja2V0cyByZXF1ZXN0CiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdFB1dE9iamVjdEZyb21FbnRpdHlCb2R5CiAgICAgKiBAZXhhbXBsZSBBd3NcUzNcUzNDbGllbnQ6Omxpc3RCdWNrZXRzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TGlzdEJ1Y2tldHMoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbEJ1Y2tldEV4aXN0cyhhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0KSk7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgICRyZXN1bHQgPSAkY2xpZW50LT5saXN0QnVja2V0cygpOwoKICAgICAgICBmb3JlYWNoICgkcmVzdWx0WydCdWNrZXRzJ10gYXMgJGJ1Y2tldCkgewogICAgICAgICAgICAvLyBFYWNoIEJ1Y2tldCB2YWx1ZSB3aWxsIGNvbnRhaW4gYSBOYW1lIGFuZCBDcmVhdGlvbkRhdGUKICAgICAgICAgICAgZWNobyAieyRidWNrZXRbJ05hbWUnXX0gLSB7JGJ1Y2tldFsnQ3JlYXRpb25EYXRlJ119XG4iOwogICAgICAgIH0KCiAgICAgICAgLy8gQGVuZAogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygkdGhpcy0+YnVja2V0LCAkdGhpcy0+Z2V0QWN0dWFsT3V0cHV0KCkpOwogICAgfQoKICAgIC8qKgogICAgICogU2VuZCBhIExpc3RCdWNrZXRzIHJlcXVlc3QgYW5kIHVzZSB0aGUgZ2V0UGF0aCgpIG1ldGhvZCB0byBncmFiIG5lc3RlZCBkYXRhIGZyb20gdGhlIHJlc3BvbnNlIG1vZGVsCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdExpc3RCdWNrZXRzCiAgICAgKiBAZXhhbXBsZSBBd3NcUzNcUzNDbGllbnQ6Omxpc3RCdWNrZXRzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TGlzdEJ1Y2tldHNXaXRoR2V0UGF0aCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+d2FpdFVudGlsQnVja2V0RXhpc3RzKGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgLy8gR3JhYiB0aGUgbmVzdGVkIE93bmVyL0lEIHZhbHVlIGZyb20gdGhlIHJlc3VsdCBtb2RlbCB1c2luZyBnZXRQYXRoKCkKICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+bGlzdEJ1Y2tldHMoKTsKICAgICAgICBlY2hvICRyZXN1bHQtPmdldFBhdGgoJ093bmVyL0lEJykgLiAiXG4iOwoKICAgICAgICAvLyBAZW5kCiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KCR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBMaXN0IGFsbCBvYmplY3RzIGluIGEgYnVja2V0IHVzaW5nIGEgTGlzdE9iamVjdHMgaXRlcmF0b3IKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0TGlzdEJ1Y2tldHNXaXRoR2V0UGF0aAogICAgICogQGV4YW1wbGUgQXdzXFMzXFMzQ2xpZW50OjpsaXN0T2JqZWN0cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExpc3RPYmplY3RzV2l0aEl0ZXJhdG9yKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWxCdWNrZXRFeGlzdHMoYXJyYXkoJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCkpOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgICRidWNrZXQgPSAkdGhpcy0+YnVja2V0OwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAkaXRlcmF0b3IgPSAkY2xpZW50LT5nZXRJdGVyYXRvcignTGlzdE9iamVjdHMnLCBhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJGJ1Y2tldAogICAgICAgICkpOwoKICAgICAgICBmb3JlYWNoICgkaXRlcmF0b3IgYXMgJG9iamVjdCkgewogICAgICAgICAgICBlY2hvICRvYmplY3RbJ0tleSddIC4gIlxuIjsKICAgICAgICB9CgogICAgICAgIC8vIEBlbmQKCiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIG9iamVjdHMgdGhhdCBoYXZlIGJlZW4gdXBsb2FkZWQgc28gZmFyIGFyZSBpbiB0aGUgcmVzdWx0cwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnZGF0YV9mcm9tX2VudGl0eV9ib2R5LnR4dCcsICR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdkYXRhX2Zyb21fc3RyZWFtLnR4dCcsICR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdkYXRhLnR4dCcsICR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYW4gb2JqZWN0IGZyb20gYSBidWNrZXQKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0TGlzdE9iamVjdHNXaXRoSXRlcmF0b3IKICAgICAqIEBleGFtcGxlIEF3c1xTM1xTM0NsaWVudDo6Z2V0T2JqZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0T2JqZWN0KCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWxCdWNrZXRFeGlzdHMoYXJyYXkoJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCkpOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgICRidWNrZXQgPSAkdGhpcy0+YnVja2V0OwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAvLyBHZXQgYW4gb2JqZWN0IHVzaW5nIHRoZSBnZXRPYmplY3Qgb3BlcmF0aW9uCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPmdldE9iamVjdChhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJGJ1Y2tldCwKICAgICAgICAgICAgJ0tleScgICAgPT4gJ2RhdGEudHh0JwogICAgICAgICkpOwoKICAgICAgICAvLyBUaGUgJ0JvZHknIHZhbHVlIG9mIHRoZSByZXN1bHQgaXMgYW4gRW50aXR5Qm9keSBvYmplY3QKICAgICAgICBlY2hvIGdldF9jbGFzcygkcmVzdWx0WydCb2R5J10pIC4gIlxuIjsKICAgICAgICAvLyA+IEd1enpsZVxIdHRwXEVudGl0eUJvZHkKCiAgICAgICAgLy8gVGhlICdCb2R5JyB2YWx1ZSBjYW4gYmUgY2FzdCB0byBhIHN0cmluZwogICAgICAgIGVjaG8gJHJlc3VsdFsnQm9keSddIC4gIlxuIjsKICAgICAgICAvLyA+IEhlbGxvIQoKICAgICAgICAvLyBAZW5kCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygiR3V6emxlXFxIdHRwXFxFbnRpdHlCb2R5XG5IZWxsbyFcbiIsICR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYW4gb2JqZWN0IGZyb20gYSBidWNrZXQgYW5kIGludGVyYWN0IHdpdGggdGhlIGJvZHkgb2YgdGhlIG9iamVjdAogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3RHZXRPYmplY3QKICAgICAqIEBleGFtcGxlIEF3c1xTM1xTM0NsaWVudDo6Z2V0T2JqZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0T2JqZWN0VXNpbmdFbnRpdHlCb2R5KCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50LT53YWl0VW50aWxCdWNrZXRFeGlzdHMoYXJyYXkoJ0J1Y2tldCcgPT4gJHRoaXMtPmJ1Y2tldCkpOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgICRidWNrZXQgPSAkdGhpcy0+YnVja2V0OwoKICAgICAgICAvLyBHZXQgYW4gb2JqZWN0IHVzaW5nIHRoZSBnZXRPYmplY3Qgb3BlcmF0aW9uCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPmdldE9iamVjdChhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJGJ1Y2tldCwKICAgICAgICAgICAgJ0tleScgICAgPT4gJ2RhdGEudHh0JwogICAgICAgICkpOwoKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgLy8gU2VlayB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0KICAgICAgICAkcmVzdWx0WydCb2R5J10tPnJld2luZCgpOwoKICAgICAgICAvLyBSZWFkIHRoZSBib2R5IG9mZiBvZiB0aGUgdW5kZXJseWluZyBzdHJlYW0gaW4gY2h1bmtzCiAgICAgICAgd2hpbGUgKCRkYXRhID0gJHJlc3VsdFsnQm9keSddLT5yZWFkKDEwMjQpKSB7CiAgICAgICAgICAgIGVjaG8gJGRhdGE7CiAgICAgICAgfQoKICAgICAgICAvLyBDYXN0IHRoZSBib2R5IHRvIGEgcHJpbWl0aXZlIHN0cmluZwogICAgICAgIC8vIFdhcm5pbmc6IFRoaXMgbG9hZHMgdGhlIGVudGlyZSBjb250ZW50cyBpbnRvIG1lbW9yeSEKICAgICAgICAkYm9keUFzU3RyaW5nID0gKHN0cmluZykgJHJlc3VsdFsnQm9keSddOwoKICAgICAgICAvLyBAZW5kCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnSGVsbG8hJywgJHRoaXMtPmdldEFjdHVhbE91dHB1dCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdIZWxsbyEnLCAkYm9keUFzU3RyaW5nKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbiBvYmplY3QgZnJvbSBhIGJ1Y2tldCBhbmQgc2F2ZSB0aGUgb2JqZWN0IGRpcmVjdGx5IHRvIGEgZmlsZQogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3RHZXRPYmplY3RVc2luZ0VudGl0eUJvZHkKICAgICAqIEBleGFtcGxlIEF3c1xTM1xTM0NsaWVudDo6Z2V0T2JqZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0T2JqZWN0V2l0aFNhdmVBcygpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+d2FpdFVudGlsQnVja2V0RXhpc3RzKGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAkYnVja2V0ID0gJHRoaXMtPmJ1Y2tldDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPmdldE9iamVjdChhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJGJ1Y2tldCwKICAgICAgICAgICAgJ0tleScgICAgPT4gJ2RhdGEudHh0JywKICAgICAgICAgICAgJ1NhdmVBcycgPT4gJy90bXAvZGF0YS50eHQnCiAgICAgICAgKSk7CgogICAgICAgIC8vIENvbnRhaW5zIGFuIEVudGl0eUJvZHkgdGhhdCB3cmFwcyBhIGZpbGUgcmVzb3VyY2Ugb2YgL3RtcC9kYXRhLnR4dAogICAgICAgIGVjaG8gJHJlc3VsdFsnQm9keSddLT5nZXRVcmkoKSAuICJcbiI7CiAgICAgICAgLy8gPiAvdG1wL2RhdGEudHh0CgogICAgICAgIC8vIEBlbmQKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCIvdG1wL2RhdGEudHh0XG4iLCAkdGhpcy0+Z2V0QWN0dWFsT3V0cHV0KCkpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgcHJlc2lnbmVkIFVSTCB3aXRoIGEgY29tbWFuZCBvYmplY3QKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0R2V0T2JqZWN0V2l0aFNhdmVBcwogICAgICogQGV4YW1wbGUgQXdzXFMzXFMzQ2xpZW50OjpjcmVhdGVQcmVzaWduZWRVcmwKICAgICAqIEBleGFtcGxlIEF3c1xTM1xDb21tYW5kXFMzQ29tbWFuZDo6Y3JlYXRlUHJlc2lnbmVkVXJsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlUHJlc2lnbmVkVXJsRnJvbUNvbW1hbmQoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbEJ1Y2tldEV4aXN0cyhhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0KSk7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgJGJ1Y2tldCA9ICR0aGlzLT5idWNrZXQ7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgIC8vIEdldCBhIGNvbW1hbmQgb2JqZWN0IGZyb20gdGhlIGNsaWVudCBhbmQgcGFzcyBpbiBhbnkgb3B0aW9ucwogICAgICAgIC8vIGF2YWlsYWJsZSBpbiB0aGUgR2V0T2JqZWN0IGNvbW1hbmQgKGUuZy4gUmVzcG9uc2VDb250ZW50RGlzcG9zaXRpb24pCiAgICAgICAgJGNvbW1hbmQgPSAkY2xpZW50LT5nZXRDb21tYW5kKCdHZXRPYmplY3QnLCBhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgPT4gJGJ1Y2tldCwKICAgICAgICAgICAgJ0tleScgPT4gJ2RhdGEudHh0JywKICAgICAgICAgICAgJ1Jlc3BvbnNlQ29udGVudERpc3Bvc2l0aW9uJyA9PiAnYXR0YWNobWVudDsgZmlsZW5hbWU9ImRhdGEudHh0IicKICAgICAgICApKTsKCiAgICAgICAgLy8gQ3JlYXRlIGEgc2lnbmVkIFVSTCBmcm9tIHRoZSBjb21tYW5kIG9iamVjdCB0aGF0IHdpbGwgbGFzdCBmb3IKICAgICAgICAvLyAxMCBtaW51dGVzIGZyb20gdGhlIGN1cnJlbnQgdGltZQogICAgICAgICRzaWduZWRVcmwgPSAkY29tbWFuZC0+Y3JlYXRlUHJlc2lnbmVkVXJsKCcrMTAgbWludXRlcycpOwoKICAgICAgICBlY2hvIGZpbGVfZ2V0X2NvbnRlbnRzKCRzaWduZWRVcmwpOwogICAgICAgIC8vID4gSGVsbG8hCgogICAgICAgIC8vIEBlbmQKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdIZWxsbyEnLCAkdGhpcy0+Z2V0QWN0dWFsT3V0cHV0KCkpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgcHJlc2lnbmVkIFVSTCBmcm9tIGEgY3VzdG9tIHJlcXVlc3Qgb2JqZWN0CiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdENyZWF0ZVByZXNpZ25lZFVybEZyb21Db21tYW5kCiAgICAgKiBAZXhhbXBsZSBBd3NcUzNcUzNDbGllbnQ6OmNyZWF0ZVByZXNpZ25lZFVybAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZVByZXNpZ25lZFVybCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+d2FpdFVudGlsQnVja2V0RXhpc3RzKGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAkYnVja2V0ID0gJHRoaXMtPmJ1Y2tldDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJGtleSA9ICdkYXRhLnR4dCc7CiAgICAgICAgJHVybCA9ICJ7JGJ1Y2tldH0veyRrZXl9IjsKCiAgICAgICAgLy8gZ2V0KCkgcmV0dXJucyBhIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdCBvYmplY3QKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgkdXJsKTsKCiAgICAgICAgLy8gQ3JlYXRlIGEgc2lnbmVkIFVSTCBmcm9tIGEgY29tcGxldGVseSBjdXN0b20gSFRUUCByZXF1ZXN0IHRoYXQKICAgICAgICAvLyB3aWxsIGxhc3QgZm9yIDEwIG1pbnV0ZXMgZnJvbSB0aGUgY3VycmVudCB0aW1lCiAgICAgICAgJHNpZ25lZFVybCA9ICRjbGllbnQtPmNyZWF0ZVByZXNpZ25lZFVybCgkcmVxdWVzdCwgJysxMCBtaW51dGVzJyk7CgogICAgICAgIGVjaG8gZmlsZV9nZXRfY29udGVudHMoJHNpZ25lZFVybCk7CiAgICAgICAgLy8gPiBIZWxsbyEKCiAgICAgICAgLy8gQGVuZAogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0hlbGxvIScsICR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgcGxhaW4gYW5kIHByZXNpZ25lZCBVUkxzIGZvciBhbiBvYmplY3QKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0Q3JlYXRlUHJlc2lnbmVkVXJsCiAgICAgKiBAZXhhbXBsZSBBd3NcUzNcUzNDbGllbnQ6OmdldE9iamVjdFVybAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldE9iamVjdFVybCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+d2FpdFVudGlsQnVja2V0RXhpc3RzKGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAkYnVja2V0ID0gJHRoaXMtPmJ1Y2tldDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgLy8gR2V0IGEgcGxhaW4gVVJMIGZvciBhbiBBbWF6b24gUzMgb2JqZWN0CiAgICAgICAgJHBsYWluVXJsID0gJGNsaWVudC0+Z2V0T2JqZWN0VXJsKCRidWNrZXQsICdkYXRhLnR4dCcpOwogICAgICAgIC8vID4gaHR0cHM6Ly9teS1idWNrZXQuczMuYW1hem9uYXdzLmNvbS9kYXRhLnR4dAoKICAgICAgICAvLyBHZXQgYSBwcmUtc2lnbmVkIFVSTCBmb3IgYW4gQW1hem9uIFMzIG9iamVjdAogICAgICAgICRzaWduZWRVcmwgPSAkY2xpZW50LT5nZXRPYmplY3RVcmwoJGJ1Y2tldCwgJ2RhdGEudHh0JywgJysxMCBtaW51dGVzJyk7CiAgICAgICAgLy8gPiBodHRwczovL215LWJ1Y2tldC5zMy5hbWF6b25hd3MuY29tL2RhdGEudHh0P0FXU0FjY2Vzc0tleUlkPVsuLi5dJkV4cGlyZXM9Wy4uLl0mU2lnbmF0dXJlPVsuLi5dCgogICAgICAgIC8vIENyZWF0ZSBhIHZhbmlsbGEgR3V6emxlIEhUVFAgY2xpZW50IGZvciBhY2Nlc3NpbmcgdGhlIFVSTHMKICAgICAgICAkaHR0cCA9IG5ldyBcR3V6emxlXEh0dHBcQ2xpZW50OwoKICAgICAgICAvLyBUcnkgdG8gZ2V0IHRoZSBwbGFpbiBVUkwuIFRoaXMgc2hvdWxkIHJlc3VsdCBpbiBhIDQwMyBzaW5jZSB0aGUgb2JqZWN0IGlzIHByaXZhdGUKICAgICAgICB0cnkgewogICAgICAgICAgICAkcmVzcG9uc2UgPSAkaHR0cC0+Z2V0KCRwbGFpblVybCktPnNlbmQoKTsKICAgICAgICB9IGNhdGNoIChcR3V6emxlXEh0dHBcRXhjZXB0aW9uXENsaWVudEVycm9yUmVzcG9uc2VFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgJHJlc3BvbnNlID0gJGUtPmdldFJlc3BvbnNlKCk7CiAgICAgICAgfQogICAgICAgIGVjaG8gJHJlc3BvbnNlLT5nZXRTdGF0dXNDb2RlKCk7CiAgICAgICAgLy8gPiA0MDMKCiAgICAgICAgLy8gR2V0IHRoZSBjb250ZW50cyBvZiB0aGUgb2JqZWN0IHVzaW5nIHRoZSBwcmUtc2lnbmVkIFVSTAogICAgICAgICRyZXNwb25zZSA9ICRodHRwLT5nZXQoJHNpZ25lZFVybCktPnNlbmQoKTsKICAgICAgICBlY2hvICRyZXNwb25zZS0+Z2V0Qm9keSgpOwogICAgICAgIC8vID4gSGVsbG8hCgogICAgICAgIC8vIEBlbmQKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCc0MDNIZWxsbyEnLCAkdGhpcy0+Z2V0QWN0dWFsT3V0cHV0KCkpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIHByZXNpZ25lZCBVUkxzIGZvciBhbiBvYmplY3Qgd2l0aCB0ZW1wb3JhcnkgY3JlZGVudGlhbHMKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0R2V0T2JqZWN0VXJsCiAgICAgKiBAZXhhbXBsZSBBd3NcUzNcUzNDbGllbnQ6OmdldE9iamVjdFVybAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldE9iamVjdFVybFdpdGhTZXNzaW9uQ3JlZGVudGlhbHMoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQtPndhaXRVbnRpbEJ1Y2tldEV4aXN0cyhhcnJheSgnQnVja2V0JyA9PiAkdGhpcy0+YnVja2V0KSk7CiAgICAgICAgJGJ1Y2tldCA9ICR0aGlzLT5idWNrZXQ7CiAgICAgICAgLyoqIEB2YXIgJHN0c0NsaWVudCBcQXdzXFN0c1xTdHNDbGllbnQgKi8KICAgICAgICAkc3RzQ2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnc3RzJyk7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgIC8vIENyZWF0ZSBhIGNyZWRlbnRpYWxzIG9iamVjdCB1c2luZyB0ZW1wb3JhcnkgY3JlZGVudGlhbHMgcmV0cmlldmVkIGZyb20gU1RTCiAgICAgICAgJHRlbXBDcmVkZW50aWFscyA9ICRzdHNDbGllbnQtPmNyZWF0ZUNyZWRlbnRpYWxzKCRzdHNDbGllbnQtPmdldFNlc3Npb25Ub2tlbigpKTsKCiAgICAgICAgLy8gQ3JlYXRlIGFuIFMzIGNsaWVudCB1c2luZyB0aGUgdGVtcG9yYXJ5IGNyZWRlbnRpYWxzCiAgICAgICAgJHMzQ2xpZW50ID0gXEF3c1xTM1xTM0NsaWVudDo6ZmFjdG9yeSgpLT5zZXRDcmVkZW50aWFscygkdGVtcENyZWRlbnRpYWxzKTsKCiAgICAgICAgLy8gR2V0IGEgcHJlc2lnbmVkIFVSTCBmb3IgYW4gQW1hem9uIFMzIG9iamVjdAogICAgICAgICRzaWduZWRVcmwgPSAkczNDbGllbnQtPmdldE9iamVjdFVybCgkYnVja2V0LCAnZGF0YS50eHQnLCAnKzEwIG1pbnV0ZXMnKTsKCiAgICAgICAgZWNobyBmaWxlX2dldF9jb250ZW50cygkc2lnbmVkVXJsKTsKICAgICAgICAvLyA+IEhlbGxvIQoKICAgICAgICAvLyBAZW5kCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnSGVsbG8hJywgJHRoaXMtPmdldEFjdHVhbE91dHB1dCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIENsZWFyIHRoZSBjb250ZW50cyBhbmQgZGVsZXRlIGEgYnVja2V0CiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdEdldE9iamVjdFVybFdpdGhTZXNzaW9uQ3JlZGVudGlhbHMKICAgICAqIEBleGFtcGxlIEF3c1xTM1xTM0NsaWVudDo6Y2xlYXJCdWNrZXQKICAgICAqIEBleGFtcGxlIEF3c1xTM1xTM0NsaWVudDo6ZGVsZXRlQnVja2V0CiAgICAgKiBAZXhhbXBsZSBBd3NcUzNcUzNDbGllbnQ6OndhaXRVbnRpbEJ1Y2tldE5vdEV4aXN0cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsZWFuVXBCdWNrZXQoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgICRidWNrZXQgPSAkdGhpcy0+YnVja2V0OwogICAgICAgICRjbGllbnQtPndhaXRVbnRpbEJ1Y2tldEV4aXN0cyhhcnJheSgnQnVja2V0JyA9PiAkYnVja2V0KSk7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgIC8vIERlbGV0ZSB0aGUgb2JqZWN0cyBpbiB0aGUgYnVja2V0IGJlZm9yZSBhdHRlbXB0aW5nIHRvIGRlbGV0ZQogICAgICAgIC8vIHRoZSBidWNrZXQKICAgICAgICAkY2xlYXIgPSBuZXcgQ2xlYXJCdWNrZXQoJGNsaWVudCwgJGJ1Y2tldCk7CiAgICAgICAgJGNsZWFyLT5jbGVhcigpOwoKICAgICAgICAvLyBEZWxldGUgdGhlIGJ1Y2tldAogICAgICAgICRjbGllbnQtPmRlbGV0ZUJ1Y2tldChhcnJheSgnQnVja2V0JyA9PiAkYnVja2V0KSk7CgogICAgICAgIC8vIFdhaXQgdW50aWwgdGhlIGJ1Y2tldCBpcyBub3QgYWNjZXNzaWJsZQogICAgICAgICRjbGllbnQtPndhaXRVbnRpbEJ1Y2tldE5vdEV4aXN0cyhhcnJheSgnQnVja2V0JyA9PiAkYnVja2V0KSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Integration/StreamWrapperTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcSW50ZWdyYXRpb247CgovKioKICogQGdyb3VwIGludGVncmF0aW9uCiAqLwpjbGFzcyBTdHJlYW1XcmFwcGVyVGVzdCBleHRlbmRzIFxBd3NcVGVzdHNcSW50ZWdyYXRpb25UZXN0Q2FzZQp7CiAgICBwcml2YXRlICRidWNrZXQ7CgogICAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gY2xlYW51cCgkY2xpZW50LCAkYnVja2V0KQogICAgewogICAgICAgIGlmICgkY2xpZW50LT5kb2VzQnVja2V0RXhpc3QoJGJ1Y2tldCkpIHsKICAgICAgICAgICAgc2VsZjo6bG9nKCRidWNrZXQgLiAnIGV4aXN0cy4uLiBEZWxldGluZycpOwogICAgICAgICAgICAkY2xpZW50LT5jbGVhckJ1Y2tldCgkYnVja2V0KTsKICAgICAgICAgICAgJGNsaWVudC0+ZGVsZXRlQnVja2V0KGFycmF5KCdCdWNrZXQnID0+ICRidWNrZXQpKTsKICAgICAgICAgICAgc2VsZjo6bG9nKCRidWNrZXQgLiAnIGRlbGV0ZWQnKTsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRVcEJlZm9yZUNsYXNzKCkKICAgIHsKICAgICAgICAkYnVja2V0ID0gc2VsZjo6Z2V0UmVzb3VyY2VQcmVmaXgoKSAuICdzdHJlYW0nOwogICAgICAgICRjbGllbnQgPSBzZWxmOjpnZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJywgdHJ1ZSk7CiAgICAgICAgJGNsaWVudC0+cmVnaXN0ZXJTdHJlYW1XcmFwcGVyKCk7CiAgICAgICAgaWYgKHNlbGY6OmNsZWFudXAoJGNsaWVudCwgJGJ1Y2tldCkpIHsKICAgICAgICAgICAgc2xlZXAoMTApOwogICAgICAgIH0KICAgICAgICBzZWxmOjpsb2coJ0NyZWF0aW5nIGJ1Y2tldCAnIC4gJGJ1Y2tldCk7CiAgICAgICAgbWtkaXIoJ3MzOi8vJyAuICRidWNrZXQpOwogICAgICAgIHNsZWVwKDMpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gdGVhckRvd25BZnRlckNsYXNzKCkKICAgIHsKICAgICAgICAkYnVja2V0ID0gc2VsZjo6Z2V0UmVzb3VyY2VQcmVmaXgoKSAuICdzdHJlYW0nOwogICAgICAgICRjbGllbnQgPSBzZWxmOjpnZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJywgdHJ1ZSk7CiAgICAgICAgc2VsZjo6Y2xlYW51cCgkY2xpZW50LCAkYnVja2V0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5idWNrZXQgPSAkdGhpcy0+Z2V0UmVzb3VyY2VQcmVmaXgoKSAuICdzdHJlYW0nOwogICAgICAgICRjbGllbnQgPSBzZWxmOjpnZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsQnVja2V0RXhpc3RzKGFycmF5KCdCdWNrZXQnID0+ICR0aGlzLT5idWNrZXQpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENoZWNrc0lmVGhpbmdzRXhpc3QoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKGlzX2RpcignczM6Ly8nIC4gJHRoaXMtPmJ1Y2tldCAuICcvJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZShpc19kaXIoJ3MzOi8vd2Vmd2Vmd2UnIC4gJHRoaXMtPmJ1Y2tldCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZShpc19maWxlKCdzMzovL3dlZndlZndlJyAuICR0aGlzLT5idWNrZXQgLiAnL3dlZndlZXdlZ3InKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0Q2hlY2tzSWZUaGluZ3NFeGlzdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVwbG9hZHNGaWxlKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ1VwbG9hZGluZyBhIHNpbXBsZSBmaWxlJyk7CiAgICAgICAgJHBhdGggPSAkdGhpcy0+Z2V0S2V5KCdzaW1wbGUnKTsKICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkcGF0aCwgJ3Rlc3RpbmchJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdGluZyEnLCBmaWxlX2dldF9jb250ZW50cygkcGF0aCkpOwoKICAgICAgICByZXR1cm4gJHBhdGg7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0VXBsb2Fkc0ZpbGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzRmlsZUV4aXN0KCRwYXRoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKGZpbGVfZXhpc3RzKCRwYXRoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoaXNfZmlsZSgkcGF0aCkpOwoKICAgICAgICByZXR1cm4gJHBhdGg7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0RG9lc0ZpbGVFeGlzdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlbGV0ZXNGaWxlcygkcGF0aCkKICAgIHsKICAgICAgICB1bmxpbmsoJHBhdGgpOwogICAgICAgIHNsZWVwKDEpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZShmaWxlX2V4aXN0cygkcGF0aCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdERvZXNGaWxlRXhpc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RPcGVuc1N0cmVhbXMoKQogICAgewogICAgICAgIHNlbGY6OmxvZygnVGVzdGluZyBzdHJlYW1pbmcnKTsKICAgICAgICAkcGF0aCA9ICR0aGlzLT5nZXRLZXkoJ3N0cmVhbScpOwogICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCRwYXRoLCAndGVzdGluZycpOwogICAgICAgICRoID0gZm9wZW4oJHBhdGgsICdyJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGUnLCBmcmVhZCgkaCwgMikpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3N0aW5nJywgZnJlYWQoJGgsIDEwMDApKTsKICAgICAgICAkc3RhdCA9IGZzdGF0KCRoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDcsICRzdGF0WydzaXplJ10pOwogICAgICAgIGZjbG9zZSgkaCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0T3BlbnNTdHJlYW1zCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXBsb2Fkc0RpcigpCiAgICB7CiAgICAgICAgc2VsZjo6bG9nKCdVcGxvYWRpbmcgdGVzdCBkaXJlY3RvcnkgdW5kZXIgYSBwcmVmaXgnKTsKICAgICAgICAkY2xpZW50ID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICRjbGllbnQtPnVwbG9hZERpcmVjdG9yeShkaXJuYW1lKF9fRElSX18pLCAkdGhpcy0+YnVja2V0LCAnZm9vJywgYXJyYXkoJ2RlYnVnJyA9PiB0cnVlKSk7CiAgICAgICAgc2xlZXAoNSk7CiAgICAgICAgJHBhdGggPSAnczM6Ly8nIC4gJHRoaXMtPmJ1Y2tldDsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ2ZvbycsIHNjYW5kaXIoJHBhdGgpKTsKCiAgICAgICAgcmV0dXJuICRwYXRoIC4gJy9mb28nOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdFVwbG9hZHNEaXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3ROb1RyYWlsaW5nU2xhc2hlcygkcGF0aCkKICAgIHsKICAgICAgICAkcmVzdWx0cyA9IHNjYW5kaXIoJHBhdGgpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RFbXB0eSgkcmVzdWx0cyk7CiAgICAgICAgLy8gRW5zdXJlIHRyYWlsaW5nIHNsYXNoZXMgYXJlIG5vdCBhZGRlZAogICAgICAgIGZvcmVhY2ggKCRyZXN1bHRzIGFzICRmKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnROb3RDb250YWlucygnLycsICRmKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBFbnN1cmVzIHRoYXQgdGhlIGxpc3Qgb2YgZmlsZXMgcmV0dXJuZWQgZnJvbSBTMyBpcyBlcXVhbCB0byB0aGUgbG9jYWwgbGlzdCBvZiBmaWxlcwogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3RVcGxvYWRzRGlyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuUmVjdXJzaXZlbHlMaXN0RmlsZXMoJHBhdGgpCiAgICB7CiAgICAgICAgJHRlc3RGaWxlcyA9ICR0aGlzLT5nZXRUZXN0RmlsZXMoZGlybmFtZShfX0RJUl9fKSk7CiAgICAgICAgc29ydCgkdGVzdEZpbGVzKTsKICAgICAgICAkczNGaWxlcyA9ICR0aGlzLT5nZXRTM0ZpbGVzKCdmb28nKTsKICAgICAgICBzb3J0KCRzM0ZpbGVzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5X3ZhbHVlcygkdGVzdEZpbGVzKSwgYXJyYXlfdmFsdWVzKCRzM0ZpbGVzKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0Q2FuUmVjdXJzaXZlbHlMaXN0RmlsZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5Eb3dubG9hZEJ5UHJlZml4KCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ0Rvd25sb2FkaW5nIHRlc3QgZGlyZWN0b3J5IHVuZGVyIGEgcHJlZml4Jyk7CiAgICAgICAgJGNsaWVudCA9IHNlbGY6OmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkY2xpZW50LT5kb3dubG9hZEJ1Y2tldCgnL3RtcC9zd3Rlc3QnLCAkdGhpcy0+YnVja2V0LCAnZm9vJywgYXJyYXkoJ2RlYnVnJyA9PiB0cnVlKSk7CiAgICAgICAgJGV4cGVjdGVkID0gJHRoaXMtPmdldFRlc3RGaWxlcyhkaXJuYW1lKF9fRElSX18pKTsKICAgICAgICBmb3JlYWNoICgkdGVzdEZpbGVzID0gJHRoaXMtPmdldFRlc3RGaWxlcygnL3RtcC9zd3Rlc3QnKSBhcyAkaSA9PiAkZmlsZSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0U3RyaW5nU3RhcnRzV2l0aCgnL2Zvby8nLCAkZmlsZSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygkZXhwZWN0ZWRbJGldLCAkZmlsZSk7CiAgICAgICAgICAgIHVubGluaygnL3RtcC9zd3Rlc3QnIC4gJGZpbGUpOwogICAgICAgIH0KICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldFMzRmlsZXMoJHByZWZpeCkKICAgIHsKICAgICAgICAkcGF0aCA9ICdzMzovLycgLiAkdGhpcy0+YnVja2V0OwogICAgICAgIGlmICgkcHJlZml4KSB7CiAgICAgICAgICAgICRwYXRoIC49ICcvJyAuICRwcmVmaXg7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXJyYXlfdmFsdWVzKGFycmF5X21hcChmdW5jdGlvbiAoJGYpIHVzZSAoJHBhdGgpIHsKICAgICAgICAgICAgcmV0dXJuIHN0cl9yZXBsYWNlKCRwYXRoLCAnJywgJGYpOwogICAgICAgIH0sIGl0ZXJhdG9yX3RvX2FycmF5KAogICAgICAgICAgICBuZXcgXFJlY3Vyc2l2ZUl0ZXJhdG9ySXRlcmF0b3IoCiAgICAgICAgICAgICAgICBuZXcgXFJlY3Vyc2l2ZURpcmVjdG9yeUl0ZXJhdG9yKAogICAgICAgICAgICAgICAgICAgICRwYXRoLAogICAgICAgICAgICAgICAgICAgIFxSZWN1cnNpdmVEaXJlY3RvcnlJdGVyYXRvcjo6U0tJUF9ET1RTCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKSk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRUZXN0RmlsZXMoJGRpcikKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXlfdmFsdWVzKGFycmF5X21hcChmdW5jdGlvbiAoJGYpIHVzZSAoJGRpcikgewogICAgICAgICAgICByZXR1cm4gc3RyX3JlcGxhY2UoJGRpciwgJycsICRmKTsKICAgICAgICB9LCBpdGVyYXRvcl90b19hcnJheSgKICAgICAgICAgICAgbmV3IFxSZWN1cnNpdmVJdGVyYXRvckl0ZXJhdG9yKAogICAgICAgICAgICAgICAgbmV3IFxSZWN1cnNpdmVEaXJlY3RvcnlJdGVyYXRvcigKICAgICAgICAgICAgICAgICAgICAkZGlyLAogICAgICAgICAgICAgICAgICAgIFxSZWN1cnNpdmVEaXJlY3RvcnlJdGVyYXRvcjo6U0tJUF9ET1RTCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKSk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRLZXkoJG5hbWUpCiAgICB7CiAgICAgICAgcmV0dXJuICdzMzovLycgLiAkdGhpcy0+YnVja2V0IC4gJy8nIC4gJG5hbWU7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Iterator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Iterator/ListBucketsIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcSXRlcmF0b3I7Cgp1c2UgQXdzXFMzXEl0ZXJhdG9yXExpc3RCdWNrZXRzSXRlcmF0b3I7CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKCi8qKgogKiBAY292ZXJzIEF3c1xTM1xJdGVyYXRvclxMaXN0QnVja2V0c0l0ZXJhdG9yCiAqLwpjbGFzcyBMaXN0QnVja2V0c0l0ZXJhdG9yVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXN1bHRIYW5kbGluZ1dvcmtzKCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2UnKTsKICAgICAgICAkaXRlcmF0b3IgPSBuZXcgTGlzdEJ1Y2tldHNJdGVyYXRvcigkY29tbWFuZCwgYXJyYXkoJ25hbWVzX29ubHknID0+IHRydWUpKTsKICAgICAgICAkbW9kZWwgPSBuZXcgTW9kZWwoYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KCdOYW1lJyA9PiAnRm9vJyksCiAgICAgICAgICAgICAgICBhcnJheSgnTmFtZScgPT4gJ0JhcicpLAogICAgICAgICAgICAgICAgYXJyYXkoJ05hbWUnID0+ICdCYXonKSwKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkY2xhc3MgPSBuZXcgXFJlZmxlY3Rpb25PYmplY3QoJGl0ZXJhdG9yKTsKICAgICAgICAkbWV0aG9kID0gJGNsYXNzLT5nZXRNZXRob2QoJ2hhbmRsZVJlc3VsdHMnKTsKICAgICAgICAkbWV0aG9kLT5zZXRBY2Nlc3NpYmxlKHRydWUpOwogICAgICAgICRpdGVtcyA9ICRtZXRob2QtPmludm9rZSgkaXRlcmF0b3IsICRtb2RlbCk7CgogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgzLCAkaXRlbXMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ0ZvbycsICdCYXInLCAnQmF6JyksICRpdGVtcyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Iterator/ListMultipartUploadsIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcSXRlcmF0b3I7Cgp1c2UgQXdzXFMzXEl0ZXJhdG9yXExpc3RNdWx0aXBhcnRVcGxvYWRzSXRlcmF0b3I7CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKCi8qKgogKiBAY292ZXJzIEF3c1xTM1xJdGVyYXRvclxMaXN0TXVsdGlwYXJ0VXBsb2Fkc0l0ZXJhdG9yCiAqLwpjbGFzcyBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0l0ZXJhdG9yVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXN1bHRIYW5kbGluZ1dvcmtzKCkKICAgIHsKICAgICAgICAvLyBQcmVwYXJlIGFuIGl0ZXJhdG9yIHRoYXQgd2lsbCBleGVjdXRlIGFsbCBMT0MgaW4gaGFuZGxlUmVzdWx0cwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZScpOwogICAgICAgICRpdGVyYXRvciA9IG5ldyBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0l0ZXJhdG9yKCRjb21tYW5kLCBhcnJheSgKICAgICAgICAgICAgJ3JldHVybl9wcmVmaXhlcycgPT4gdHJ1ZQogICAgICAgICkpOwogICAgICAgICRtb2RlbCA9IG5ldyBNb2RlbChhcnJheSgKICAgICAgICAgICAgJ1VwbG9hZHMnICAgICAgICA9PiBhcnJheSgxLCAyKSwKICAgICAgICAgICAgJ0NvbW1vblByZWZpeGVzJyA9PiBhcnJheSgzLCA0KQogICAgICAgICkpOwoKICAgICAgICAkY2xhc3MgPSBuZXcgXFJlZmxlY3Rpb25PYmplY3QoJGl0ZXJhdG9yKTsKICAgICAgICAkbWV0aG9kID0gJGNsYXNzLT5nZXRNZXRob2QoJ2hhbmRsZVJlc3VsdHMnKTsKICAgICAgICAkbWV0aG9kLT5zZXRBY2Nlc3NpYmxlKHRydWUpOwogICAgICAgICRpdGVtcyA9ICRtZXRob2QtPmludm9rZSgkaXRlcmF0b3IsICRtb2RlbCk7CgogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCg0LCAkaXRlbXMpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Iterator/ListObjectsIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcSXRlcmF0b3I7Cgp1c2UgQXdzXFMzXEl0ZXJhdG9yXExpc3RPYmplY3RzSXRlcmF0b3I7CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKCi8qKgogKiBAY292ZXJzIEF3c1xTM1xJdGVyYXRvclxMaXN0T2JqZWN0c0l0ZXJhdG9yCiAqLwpjbGFzcyBMaXN0T2JqZWN0c0l0ZXJhdG9yVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXN1bHRIYW5kbGluZ1dvcmtzKCkKICAgIHsKICAgICAgICAvLyBQcmVwYXJlIGFuIGl0ZXJhdG9yIHRoYXQgd2lsbCBleGVjdXRlIGFsbCBMT0MgaW4gaGFuZGxlUmVzdWx0cwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZScpOwogICAgICAgICRpdGVyYXRvciA9IG5ldyBMaXN0T2JqZWN0c0l0ZXJhdG9yKCRjb21tYW5kLCBhcnJheSgKICAgICAgICAgICAgJ25hbWVzX29ubHknICAgICAgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3JldHVybl9wcmVmaXhlcycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3NvcnRfcmVzdWx0cycgICAgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Rva2VuX2tleScgICAgICAgPT4gJ05leHRNYXJrZXInCiAgICAgICAgKSk7CiAgICAgICAgJG1vZGVsID0gbmV3IE1vZGVsKGFycmF5KAogICAgICAgICAgICAnQ29udGVudHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoJ0tleScgPT4gJ0ZvbycpLAogICAgICAgICAgICAgICAgYXJyYXkoJ0tleScgPT4gJ0JhcicpLAogICAgICAgICAgICAgICAgYXJyYXkoJ0tleScgPT4gJ0JheicpLAogICAgICAgICAgICApLAogICAgICAgICAgICAnQ29tbW9uUHJlZml4ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoJ1ByZWZpeCcgPT4gJ0ZpenonKSwKICAgICAgICAgICAgICAgIGFycmF5KCdQcmVmaXgnID0+ICdCdXp6JyksCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJGNsYXNzID0gbmV3IFxSZWZsZWN0aW9uT2JqZWN0KCRpdGVyYXRvcik7CiAgICAgICAgJG1ldGhvZCA9ICRjbGFzcy0+Z2V0TWV0aG9kKCdoYW5kbGVSZXN1bHRzJyk7CiAgICAgICAgJG1ldGhvZC0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkaXRlbXMgPSAkbWV0aG9kLT5pbnZva2UoJGl0ZXJhdG9yLCAkbW9kZWwpOwoKICAgICAgICAvLyBXZSBzaG91bGQgZ2V0IHRoZSBuYW1lcyBvZiBhbGwgb2JqZWN0cyBhbmQgcHJlZml4ZXMgaW4gYSBzb3J0ZWQgYXJyYXkKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZShhcnJheSgnQmFyJywgJ0JheicsICdCdXp6JywgJ0ZpenonLCAnRm9vJyksICRpdGVtcyk7CgogICAgICAgIC8vIFRoZSBsYXN0IGtleSBzaG91bGQgYmUgc2V0IGFzIHRoZSBOZXh0TWFya2VyIGluIHRoZSByZXN1bHQKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdCYXonLCAkbW9kZWwtPmdldCgnTmV4dE1hcmtlcicpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Iterator/ListObjectVersionsIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcSXRlcmF0b3I7Cgp1c2UgQXdzXFMzXEl0ZXJhdG9yXExpc3RPYmplY3RWZXJzaW9uc0l0ZXJhdG9yOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CgovKioKICogQGNvdmVycyBBd3NcUzNcSXRlcmF0b3JcTGlzdE9iamVjdFZlcnNpb25zSXRlcmF0b3IKICovCmNsYXNzIExpc3RPYmplY3RWZXJzaW9uc0l0ZXJhdG9yVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXN1bHRIYW5kbGluZ1dvcmtzKCkKICAgIHsKICAgICAgICAvLyBQcmVwYXJlIGFuIGl0ZXJhdG9yIHRoYXQgd2lsbCBleGVjdXRlIGFsbCBMT0MgaW4gaGFuZGxlUmVzdWx0cwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZScpOwogICAgICAgICRpdGVyYXRvciA9IG5ldyBMaXN0T2JqZWN0VmVyc2lvbnNJdGVyYXRvcigkY29tbWFuZCwgYXJyYXkoCiAgICAgICAgICAgICdyZXR1cm5fcHJlZml4ZXMnID0+IHRydWUKICAgICAgICApKTsKICAgICAgICAkbW9kZWwgPSBuZXcgTW9kZWwoYXJyYXkoCiAgICAgICAgICAgICdWZXJzaW9ucycgICAgICAgPT4gYXJyYXkoMSwgMiksCiAgICAgICAgICAgICdEZWxldGVNYXJrZXJzJyAgPT4gYXJyYXkoMywgNCksCiAgICAgICAgICAgICdDb21tb25QcmVmaXhlcycgPT4gYXJyYXkoNSwgNikKICAgICAgICApKTsKCiAgICAgICAgJGNsYXNzID0gbmV3IFxSZWZsZWN0aW9uT2JqZWN0KCRpdGVyYXRvcik7CiAgICAgICAgJG1ldGhvZCA9ICRjbGFzcy0+Z2V0TWV0aG9kKCdoYW5kbGVSZXN1bHRzJyk7CiAgICAgICAgJG1ldGhvZC0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkaXRlbXMgPSAkbWV0aG9kLT5pbnZva2UoJGl0ZXJhdG9yLCAkbW9kZWwpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoNiwgJGl0ZW1zKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Iterator/OpendirIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcSXRlcmF0b3I7Cgp1c2UgQXdzXFMzXEl0ZXJhdG9yXE9wZW5kaXJJdGVyYXRvcjsKCi8qKgogKiBAY292ZXJzIEF3c1xTM1xJdGVyYXRvclxPcGVuZGlySXRlcmF0b3IKICovCmNsYXNzIE9wZW5kaXJJdGVyYXRvclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXRlcmF0ZXNPcGVuZGlyUmVzb3VyY2VzKCkKICAgIHsKICAgICAgICAkZGggPSBvcGVuZGlyKF9fRElSX18pOwogICAgICAgICRpID0gbmV3IE9wZW5kaXJJdGVyYXRvcigkZGgsIF9fRElSX18gLiAnLycpOwogICAgICAgICRmb3VuZCA9IGZhbHNlOwogICAgICAgIGZvcmVhY2ggKCRpIGFzICRmaWxlKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdTcGxGaWxlSW5mbycsICRmaWxlKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKF9fRElSX18sIChzdHJpbmcpICRmaWxlKTsKICAgICAgICAgICAgaWYgKCRmaWxlID09IF9fRklMRV9fKSB7CiAgICAgICAgICAgICAgICAkZm91bmQgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRmb3VuZCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/AcpBuilderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcTW9kZWw7Cgp1c2UgQXdzXFMzXE1vZGVsXEFjcEJ1aWxkZXI7CnVzZSBBd3NcUzNcRW51bVxQZXJtaXNzaW9uOwp1c2UgQXdzXFMzXEVudW1cR3JvdXA7CgovKioKICogQGNvdmVycyBBd3NcUzNcTW9kZWxcQWNwQnVpbGRlcgogKi8KY2xhc3MgQWNwQnVpbGRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2V0T3duZXIoKQogICAgewogICAgICAgICRidWlsZGVyID0gQWNwQnVpbGRlcjo6bmV3SW5zdGFuY2UoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYnVpbGRlciwgJGJ1aWxkZXItPnNldE93bmVyKCcxMjM0NTY3ODkwJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKAogICAgICAgICAgICAnQXdzXFMzXE1vZGVsXEdyYW50ZWUnLAogICAgICAgICAgICAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYnVpbGRlciwgJ293bmVyJykKICAgICAgICApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQWRkVXNlckdyYW50KCkKICAgIHsKICAgICAgICAkYnVpbGRlciA9IEFjcEJ1aWxkZXI6Om5ld0luc3RhbmNlKCk7CiAgICAgICAgJGFmdGVyID0gJGJ1aWxkZXItPmFkZEdyYW50Rm9yVXNlcihQZXJtaXNzaW9uOjpSRUFELCAnMTIzNDUnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYnVpbGRlciwgJGFmdGVyKTsKCiAgICAgICAgJGdyYW50cyA9ICR0aGlzLT5yZWFkQXR0cmlidXRlKCRidWlsZGVyLCAnZ3JhbnRzJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xTM1xNb2RlbFxHcmFudCcsICRncmFudHNbMF0pOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRncmFudHNbMF0tPmdldEdyYW50ZWUoKS0+aXNDYW5vbmljYWxVc2VyKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQWRkRW1haWxHcmFudCgpCiAgICB7CiAgICAgICAgJGJ1aWxkZXIgPSBBY3BCdWlsZGVyOjpuZXdJbnN0YW5jZSgpOwogICAgICAgICRhZnRlciA9ICRidWlsZGVyLT5hZGRHcmFudEZvckVtYWlsKFBlcm1pc3Npb246OlJFQUQsICdmb29AZXhhbXBsZS5jb20nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYnVpbGRlciwgJGFmdGVyKTsKCiAgICAgICAgJGdyYW50cyA9ICR0aGlzLT5yZWFkQXR0cmlidXRlKCRidWlsZGVyLCAnZ3JhbnRzJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xTM1xNb2RlbFxHcmFudCcsICRncmFudHNbMF0pOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRncmFudHNbMF0tPmdldEdyYW50ZWUoKS0+aXNBbWF6b25DdXN0b21lckJ5RW1haWwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5BZGRHcm91cEdyYW50KCkKICAgIHsKICAgICAgICAkYnVpbGRlciA9IEFjcEJ1aWxkZXI6Om5ld0luc3RhbmNlKCk7CiAgICAgICAgJGFmdGVyID0gJGJ1aWxkZXItPmFkZEdyYW50Rm9yR3JvdXAoUGVybWlzc2lvbjo6UkVBRCwgR3JvdXA6OkFMTF9VU0VSUyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGJ1aWxkZXIsICRhZnRlcik7CgogICAgICAgICRncmFudHMgPSAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYnVpbGRlciwgJ2dyYW50cycpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcUzNcTW9kZWxcR3JhbnQnLCAkZ3JhbnRzWzBdKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZ3JhbnRzWzBdLT5nZXRHcmFudGVlKCktPmlzR3JvdXAoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5CdWlsZEFuQWNwKCkKICAgIHsKICAgICAgICAkYWNsID0gQWNwQnVpbGRlcjo6bmV3SW5zdGFuY2UoKS0+c2V0T3duZXIoJzEyMzQ1Njc4OTAnKQogICAgICAgICAgICAtPmFkZEdyYW50Rm9yRW1haWwoUGVybWlzc2lvbjo6UkVBRCwgJ2Zvb0BleGFtcGxlLmNvbScpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xTM1xNb2RlbFxBY3AnLCAkYWNsKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/AcpTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcTW9kZWw7Cgp1c2UgQXdzXFMzXE1vZGVsXEFjcDsKdXNlIEF3c1xTM1xNb2RlbFxHcmFudGVlOwp1c2UgQXdzXFMzXE1vZGVsXEdyYW50Owp1c2UgQXdzXFMzXEVudW1cUGVybWlzc2lvbjsKdXNlIEF3c1xTM1xFbnVtXEdyb3VwOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFMzXE1vZGVsXEFjcAogKi8KY2xhc3MgQWNwVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldE1vY2tlZE93bmVyKCkKICAgIHsKICAgICAgICAkb3duZXIgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xTM1xNb2RlbFxHcmFudGVlJykKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICRvd25lci0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdpc0Nhbm9uaWNhbFVzZXInKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKHRydWUpKTsKCiAgICAgICAgcmV0dXJuICRvd25lcjsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0TW9ja2VkR3JhbnRzKCRjb3VudCkKICAgIHsKICAgICAgICAkZ3JhbnQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xTM1xNb2RlbFxHcmFudCcpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkZ3JhbnQtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgndG9BcnJheScpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoYXJyYXkoKSkpOwoKICAgICAgICAkZ3JhbnRzID0gYXJyYXkoKTsKICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCAkY291bnQ7ICRpKyspIHsKICAgICAgICAgICAgJGdyYW50c1tdID0gY2xvbmUgJGdyYW50OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRncmFudHM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5Db25zdHJ1Y3RBY3BBbmRHZXRWYWx1ZXMoKQogICAgewogICAgICAgICRvd25lciA9ICR0aGlzLT5nZXRNb2NrZWRPd25lcigpOwogICAgICAgICRncmFudHMgPSAkdGhpcy0+Z2V0TW9ja2VkR3JhbnRzKDMpOwoKICAgICAgICAkYWNwID0gbmV3IEFjcCgkb3duZXIsICRncmFudHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRvd25lciwgJGFjcC0+Z2V0T3duZXIoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ1NwbE9iamVjdFN0b3JhZ2UnLCAkYWNwLT5nZXRHcmFudHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ1NwbE9iamVjdFN0b3JhZ2UnLCAkYWNwLT5nZXRJdGVyYXRvcigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCRhY3ApKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNldEdyYW50c1dpdGhUcmF2ZXJzYWJsZSgpCiAgICB7CiAgICAgICAgJG93bmVyID0gJHRoaXMtPmdldE1vY2tlZE93bmVyKCk7CiAgICAgICAgJGdyYW50cyA9IG5ldyBcQXJyYXlPYmplY3QoKTsKCiAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgMzsgJGkrKykgewogICAgICAgICAgICAkZ3JhbnRzLT5hcHBlbmQoJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcUzNcTW9kZWxcR3JhbnQnKQogICAgICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgICAgICAtPmdldE1vY2soKQogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgJGFjcCA9IG5ldyBBY3AoJG93bmVyKTsKICAgICAgICAkYWNwLT5zZXRHcmFudHMoJGdyYW50cyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgY291bnQoJGFjcCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25XaGVuUHJvdmlkZWRHcmFudHNBcmVJbnZhbGlkKCkKICAgIHsKICAgICAgICAkb3duZXIgPSAkdGhpcy0+Z2V0TW9ja2VkT3duZXIoKTsKICAgICAgICAkZ3JhbnRzID0gJ2Zvbyc7CiAgICAgICAgJGFjcCA9IG5ldyBBY3AoJG93bmVyLCAkZ3JhbnRzKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VGhyb3dzRXhjZXB0aW9uT3duZXJJc05vdFVzZXJHcmFudGVlKCkKICAgIHsKICAgICAgICAkb3duZXIgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xTM1xNb2RlbFxHcmFudGVlJykKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwoKICAgICAgICAkYWNwID0gbmV3IEFjcCgkb3duZXIpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxPdmVyZmxvd0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRocm93c0V4Y2VwdGlvbklmTW9yZVRoYW4xMDBHcmFudHMoKQogICAgewogICAgICAgICRvd25lciA9ICR0aGlzLT5nZXRNb2NrZWRPd25lcigpOwogICAgICAgICRncmFudHMgPSAkdGhpcy0+Z2V0TW9ja2VkR3JhbnRzKDEwMCk7CiAgICAgICAgJGFjcCA9IG5ldyBBY3AoJG93bmVyLCAkZ3JhbnRzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXFMzXE1vZGVsXEFjcCcsICRhY3ApOwoKICAgICAgICAkZ3JhbnRzID0gYXJyYXlfbWVyZ2UoJGdyYW50cywgJHRoaXMtPmdldE1vY2tlZEdyYW50cygxKSk7CiAgICAgICAgJGFjcCA9IG5ldyBBY3AoJG93bmVyLCAkZ3JhbnRzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFjcElzVHJhdmVyc2FibGUoKQogICAgewogICAgICAgICRvd25lciA9ICR0aGlzLT5nZXRNb2NrZWRPd25lcigpOwogICAgICAgICRncmFudHMgPSAkdGhpcy0+Z2V0TW9ja2VkR3JhbnRzKDMpOwoKICAgICAgICAkYWNwID0gbmV3IEFjcCgkb3duZXIsICRncmFudHMpOwogICAgICAgICRhcnJheSA9IGl0ZXJhdG9yX3RvX2FycmF5KCRhY3ApOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCRhcnJheSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29udmVydHNUb0FuZEZyb21BcnJheSgpCiAgICB7CiAgICAgICAgJGFjcCA9IG5ldyBBY3AobmV3IEdyYW50ZWUoJ2ZvbycpLCBhcnJheSgKICAgICAgICAgICAgbmV3IEdyYW50KG5ldyBHcmFudGVlKCdiYXonKSwgUGVybWlzc2lvbjo6UkVBRCksCiAgICAgICAgICAgIG5ldyBHcmFudChuZXcgR3JhbnRlZSgnYmFyJyksIFBlcm1pc3Npb246OlJFQUQpLAogICAgICAgICAgICBuZXcgR3JhbnQobmV3IEdyYW50ZWUoJ2JheicpLCBQZXJtaXNzaW9uOjpXUklURSksCiAgICAgICAgICAgIG5ldyBHcmFudChuZXcgR3JhbnRlZSgnYmF6JyksIFBlcm1pc3Npb246OlJFQURfQUNQKQogICAgICAgICkpOwoKICAgICAgICAkZGF0YSA9IGFycmF5KAogICAgICAgICAgICAnT3duZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lEJyA9PiAnZm9vJywKICAgICAgICAgICAgICAgICdEaXNwbGF5TmFtZScgPT4gJ2ZvbycKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0dyYW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gJ0Nhbm9uaWNhbFVzZXInLAogICAgICAgICAgICAgICAgICAgICAgICAnSUQnID0+ICdiYXonLAogICAgICAgICAgICAgICAgICAgICAgICAnRGlzcGxheU5hbWUnID0+ICdiYXonCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnUGVybWlzc2lvbicgPT4gJ1JFQUQnCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gJ0Nhbm9uaWNhbFVzZXInLAogICAgICAgICAgICAgICAgICAgICAgICAnSUQnID0+ICdiYXInLAogICAgICAgICAgICAgICAgICAgICAgICAnRGlzcGxheU5hbWUnID0+ICdiYXInCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnUGVybWlzc2lvbicgPT4gJ1JFQUQnCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gJ0Nhbm9uaWNhbFVzZXInLAogICAgICAgICAgICAgICAgICAgICAgICAnSUQnID0+ICdiYXonLAogICAgICAgICAgICAgICAgICAgICAgICAnRGlzcGxheU5hbWUnID0+ICdiYXonCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnUGVybWlzc2lvbicgPT4gJ1dSSVRFJwogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdHcmFudGVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1R5cGUnID0+ICdDYW5vbmljYWxVc2VyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ0lEJyA9PiAnYmF6JywKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc3BsYXlOYW1lJyA9PiAnYmF6JwogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ1Blcm1pc3Npb24nID0+ICdSRUFEX0FDUCcKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGRhdGEsICRhY3AtPnRvQXJyYXkoKSk7CiAgICAgICAgJGFjcDIgPSBBY3A6OmZyb21BcnJheSgkZGF0YSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZGF0YSwgJGFjcDItPnRvQXJyYXkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBc3N1bWVzR3JhbnRUeXBlc0Zyb21Db250ZXh0KCkKICAgIHsKICAgICAgICAkZGF0YSA9IGFycmF5KAogICAgICAgICAgICAnT3duZXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0lEJyA9PiAnZm9vJywKICAgICAgICAgICAgICAgICdEaXNwbGF5TmFtZScgPT4gJ2ZvbycKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ0dyYW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJRCcgPT4gJ2JheicsCiAgICAgICAgICAgICAgICAgICAgICAgICdEaXNwbGF5TmFtZScgPT4gJ2JheicKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdQZXJtaXNzaW9uJyA9PiAnUkVBRCcKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnR3JhbnRlZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdVUkknID0+IEdyb3VwOjpBVVRIRU5USUNBVEVEX1VTRVJTCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnUGVybWlzc2lvbicgPT4gJ1JFQUQnCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRW1haWxBZGRyZXNzJyA9PiAnZm9vQGJhci5jb20nLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ1Blcm1pc3Npb24nID0+ICdXUklURScKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICk7CgogICAgICAgICRhY3AgPSBBY3A6OmZyb21BcnJheSgkZGF0YSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ093bmVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdJRCcgPT4gJ2ZvbycsCiAgICAgICAgICAgICAgICAnRGlzcGxheU5hbWUnID0+ICdmb28nLAogICAgICAgICAgICApLAogICAgICAgICAgICAnR3JhbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdHcmFudGVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1R5cGUnID0+ICdDYW5vbmljYWxVc2VyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ0lEJyA9PiAnYmF6JywKICAgICAgICAgICAgICAgICAgICAgICAgJ0Rpc3BsYXlOYW1lJyA9PiAnYmF6JywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdQZXJtaXNzaW9uJyA9PiAnUkVBRCcsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0dyYW50ZWUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVHlwZScgPT4gJ0dyb3VwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ1VSSScgPT4gJ2h0dHA6Ly9hY3MuYW1hem9uYXdzLmNvbS9ncm91cHMvZ2xvYmFsL0F1dGhlbnRpY2F0ZWRVc2VycycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnUGVybWlzc2lvbicgPT4gJ1JFQUQnLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdHcmFudGVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ1R5cGUnID0+ICdBbWF6b25DdXN0b21lckJ5RW1haWwnLAogICAgICAgICAgICAgICAgICAgICAgICAnRW1haWxBZGRyZXNzJyA9PiAnZm9vQGJhci5jb20nLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ1Blcm1pc3Npb24nID0+ICdXUklURScsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICksICRhY3AtPnRvQXJyYXkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5VcGRhdGVDb21tYW5kSGVhZGVycygpCiAgICB7CiAgICAgICAgLy8gQnVpbGQgdXAgbW9jayBncmFudHMgdmlhIGNsb25pbmcKICAgICAgICAkZ3JhbnQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xTM1xNb2RlbFxHcmFudCcpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkZzEgPSBjbG9uZSAkZ3JhbnQ7CiAgICAgICAgJGcxLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldFBhcmFtZXRlckFycmF5JykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShhcnJheSgKICAgICAgICAgICAgICAgICdHcmFudFJlYWQnID0+ICdpZD0idXNlci1pZC0xIicKICAgICAgICAgICAgKSkpOwogICAgICAgICRnMiA9IGNsb25lICRncmFudDsKICAgICAgICAkZzItPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0UGFyYW1ldGVyQXJyYXknKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKGFycmF5KAogICAgICAgICAgICAgICAgJ0dyYW50UmVhZCcgPT4gJ2lkPSJ1c2VyLWlkLTIiJwogICAgICAgICAgICApKSk7CiAgICAgICAgJGczID0gY2xvbmUgJGdyYW50OwogICAgICAgICRnMy0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRQYXJhbWV0ZXJBcnJheScpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoYXJyYXkoCiAgICAgICAgICAgICAgICAnR3JhbnRXcml0ZScgPT4gJ2lkPSJ1c2VyLWlkLTMiJwogICAgICAgICAgICApKSk7CgogICAgICAgICRzMyA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJGFjcCA9IG5ldyBBY3AoJHRoaXMtPmdldE1vY2tlZE93bmVyKCksIGFycmF5KCRnMSwgJGcyLCAkZzMpKTsKICAgICAgICAkY21kID0gJHMzLT5nZXRDb21tYW5kKCdQdXRPYmplY3QnKTsKICAgICAgICAkYWNwLT51cGRhdGVDb21tYW5kKCRjbWQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2lkPSJ1c2VyLWlkLTEiLCBpZD0idXNlci1pZC0yIicsICRjbWQtPmdldCgnR3JhbnRSZWFkJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2lkPSJ1c2VyLWlkLTMiJywgJGNtZC0+Z2V0KCdHcmFudFdyaXRlJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/ClearBucketTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcTW9kZWw7Cgp1c2UgQXdzXFMzXE1vZGVsXENsZWFyQnVja2V0Owp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cRXhjZXB0aW9uQ29sbGVjdGlvbjsKCi8qKgogKiBAY292ZXJzIEF3c1xTM1xNb2RlbFxDbGVhckJ1Y2tldAogKi8KY2xhc3MgQ2xlYXJCdWNrZXRUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0dldHRlcnNBbmRTZXR0ZXJzKCkKICAgIHsKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgY2xpZW50IGFuZCBidWNrZXQgYXJlIHNldCBieSB0aGUgY29uc3RydWN0b3IKICAgICAgICAkY2xlYXIgPSBuZXcgQ2xlYXJCdWNrZXQoJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKSwgJ2ZvbycpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyksICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjbGVhciwgJ2NsaWVudCcpKTsKCiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGJ1Y2tldCBjYW4gYmUgY2hhbmdlZAogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjbGVhciwgJ2J1Y2tldCcpKTsKICAgICAgICAkY2xlYXItPnNldEJ1Y2tldCgnYmFyJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmFyJywgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGNsZWFyLCAnYnVja2V0JykpOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCBhbiBNRkEgdG9rZW4gY2FuIGJlIHNldAogICAgICAgICRjbGVhci0+c2V0TWZhKCd0ZXN0Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjbGVhciwgJ21mYScpKTsKCiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGl0ZXJhdG9yIGNhbiBzZXQgZXhwbGljaXRseQogICAgICAgICRpdGVyYXRvciA9ICR0aGlzLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygnQXdzXENvbW1vblxJdGVyYXRvclxBd3NSZXNvdXJjZUl0ZXJhdG9yJywgYXJyYXkoKSwgJycsIGZhbHNlKTsKICAgICAgICAkY2xlYXItPnNldEl0ZXJhdG9yKCRpdGVyYXRvcik7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGl0ZXJhdG9yLCAkY2xlYXItPmdldEl0ZXJhdG9yKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc0RlZmF1bHRJdGVyYXRvcigpCiAgICB7CiAgICAgICAgJGNsZWFyID0gbmV3IENsZWFyQnVja2V0KCR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyksICdmb28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxJdGVyYXRvclxBd3NSZXNvdXJjZUl0ZXJhdG9yJywgJGNsZWFyLT5nZXRJdGVyYXRvcigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc0V2ZW50cygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCBDbGVhckJ1Y2tldDo6Z2V0QWxsRXZlbnRzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2xlYXJzQnVja2V0VXNpbmdEZWZhdWx0SXRlcmF0b3IoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgICdzMy9saXN0X29iamVjdHNfcGFnZV8zJywKICAgICAgICAgICAgJ3MzL2xpc3Rfb2JqZWN0c19wYWdlXzQnLAogICAgICAgICAgICAnczMvbGlzdF9vYmplY3RzX3BhZ2VfNScsCiAgICAgICAgICAgICdzMy9kZWxldGVfbXVsdGlwbGVfb2JqZWN0cycKICAgICAgICApKTsKICAgICAgICAkY2xlYXIgPSBuZXcgQ2xlYXJCdWNrZXQoJGNsaWVudCwgJ2ZvbycpOwogICAgICAgICRjbGVhci0+c2V0SXRlcmF0b3IoJGNsaWVudC0+Z2V0SXRlcmF0b3IoJ0xpc3RPYmplY3RzJywgYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnID0+ICdmb28nCiAgICAgICAgKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgJGNsZWFyLT5jbGVhcigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsZWFyc0J1Y2tldFVzaW5nUmVndWxhckxpc3RCdWNrZXRJdGVyYXRvcigpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KAogICAgICAgICAgICAnczMvZ2V0X2J1Y2tldF9vYmplY3RfdmVyc2lvbnNfcGFnZV8yJywKICAgICAgICAgICAgJ3MzL2RlbGV0ZV9tdWx0aXBsZV9vYmplY3RzJwogICAgICAgICkpOwoKICAgICAgICAkY2xlYXIgPSBuZXcgQ2xlYXJCdWNrZXQoJGNsaWVudCwgJ2ZvbycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNCwgJGNsZWFyLT5jbGVhcigpKTsKCiAgICAgICAgJHJlcXVlc3RzID0gJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICBmb3JlYWNoICgkcmVxdWVzdHMgYXMgJHJlcXVlc3QpIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vLnMzLmFtYXpvbmF3cy5jb20nLCAkcmVxdWVzdC0+Z2V0SG9zdCgpKTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkcmVxdWVzdHMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVxdWVzdHNbMF0tPmdldFF1ZXJ5KCktPmhhc0tleSgndmVyc2lvbnMnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlcXVlc3RzWzFdLT5nZXRRdWVyeSgpLT5oYXNLZXkoJ2RlbGV0ZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsZWFyc0J1Y2tldEFuZEJ1ZmZlcnNFeGNlcHRpb25zKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKTsKICAgICAgICAkbW9jayA9ICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgICdzMy9nZXRfYnVja2V0X29iamVjdF92ZXJzaW9uc19wYWdlXzInLAogICAgICAgICAgICAnczMvZGVsZXRlX211bHRpcGxlX29iamVjdHNfZXJyb3JzJwogICAgICAgICkpOwoKICAgICAgICAkY2xlYXIgPSBuZXcgQ2xlYXJCdWNrZXQoJGNsaWVudCwgJ2ZvbycpOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAkY2xlYXItPmNsZWFyKCk7CiAgICAgICAgICAgICR0aGlzLT5mYWlsKCdEaWQgbm90IHRocm93IGV4cGVjdGVkIGV4Y2VwdGlvbicpOwogICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbkNvbGxlY3Rpb24gJGUpIHsKICAgICAgICAgICAgJHJlcXVlc3RzID0gJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkcmVxdWVzdHMpKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkZSkpOwogICAgICAgICAgICBmb3JlYWNoICgkZS0+Z2V0SXRlcmF0b3IoKSBhcyAkZWUpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJGVlLT5nZXRFcnJvcnMoKSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/DeleteObjectsBatchTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcTW9kZWw7Cgp1c2UgQXdzXFMzXE1vZGVsXERlbGV0ZU9iamVjdHNCYXRjaDsKCi8qKgogKiBAY292ZXJzIEF3c1xTM1xNb2RlbFxEZWxldGVPYmplY3RzQmF0Y2gKICovCmNsYXNzIERlbGV0ZU9iamVjdHNCYXRjaFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUJ1aWxkc0JhdGNoKCkKICAgIHsKICAgICAgICAkYmF0Y2ggPSBEZWxldGVPYmplY3RzQmF0Y2g6OmZhY3RvcnkoJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKSwgJ2ZvbycpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcUzNcTW9kZWxcRGVsZXRlT2JqZWN0c0JhdGNoJywgJGJhdGNoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNLZXlzKCkKICAgIHsKICAgICAgICAkYmF0Y2ggPSBEZWxldGVPYmplY3RzQmF0Y2g6OmZhY3RvcnkoJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKSwgJ2ZvbycpOwogICAgICAgICRiYXRjaC0+YWRkS2V5KCdmb28nLCAnYmFyJyk7CiAgICAgICAgJGRlY29yYXRlZCA9ICR0aGlzLT5yZWFkQXR0cmlidXRlKCRiYXRjaCwgJ2RlY29yYXRlZEJhdGNoJyk7CiAgICAgICAgJHF1ZXVlID0gJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGRlY29yYXRlZCwgJ3F1ZXVlJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkcXVldWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnS2V5JyAgICAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ1ZlcnNpb25JZCcgPT4gJ2JhcicKICAgICAgICApLCAkcXVldWUtPnBvcCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVzSW5wdXQoKQogICAgewogICAgICAgICRiYXRjaCA9IERlbGV0ZU9iamVjdHNCYXRjaDo6ZmFjdG9yeSgkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpLCAnZm9vJyk7CiAgICAgICAgJGJhdGNoLT5hZGQoJ2ZvbycpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNDb21tYW5kTmFtZSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJGJhdGNoID0gRGVsZXRlT2JqZWN0c0JhdGNoOjpmYWN0b3J5KCRjbGllbnQsICdmb28nKTsKICAgICAgICAkYmF0Y2gtPmFkZCgkY2xpZW50LT5nZXRDb21tYW5kKCdDcmVhdGVCdWNrZXQnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb252ZXJ0c0RlbGV0ZU9iamVjdENvbW1hbmRzVG9BcnJheXMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICRiYXRjaCA9IERlbGV0ZU9iamVjdHNCYXRjaDo6ZmFjdG9yeSgkY2xpZW50LCAnZm9vJyk7CiAgICAgICAgJGJhdGNoLT5hZGQoJGNsaWVudC0+Z2V0Q29tbWFuZCgnRGVsZXRlT2JqZWN0JywgYXJyYXkoCiAgICAgICAgICAgICdCdWNrZXQnICAgID0+ICdidWNrZXQnLAogICAgICAgICAgICAnS2V5JyAgICAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ1ZlcnNpb25JZCcgPT4gJ2JhcicKICAgICAgICApKSk7CgogICAgICAgICRkZWNvcmF0ZWQgPSAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYmF0Y2gsICdkZWNvcmF0ZWRCYXRjaCcpOwogICAgICAgICRxdWV1ZSA9ICR0aGlzLT5yZWFkQXR0cmlidXRlKCRkZWNvcmF0ZWQsICdxdWV1ZScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdLZXknICAgICAgID0+ICdmb28nLAogICAgICAgICAgICAnVmVyc2lvbklkJyA9PiAnYmFyJwogICAgICAgICksICRxdWV1ZS0+cG9wKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/DeleteObjectsTransferTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcTW9kZWw7Cgp1c2UgQXdzXFMzXE1vZGVsXERlbGV0ZU9iamVjdHNUcmFuc2ZlcjsKdXNlIEF3c1xTM1xFeGNlcHRpb25cRGVsZXRlTXVsdGlwbGVPYmplY3RzRXhjZXB0aW9uOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFMzXE1vZGVsXERlbGV0ZU9iamVjdHNUcmFuc2ZlcgogKi8KY2xhc3MgRGVsZXRlT2JqZWN0c1RyYW5zZmVyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xTM1xFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVzQmF0Y2hEYXRhKCkKICAgIHsKICAgICAgICBsaXN0KCRjbGllbnQsICR0cmFuc2ZlcikgPSAkdGhpcy0+Z2V0QmF0Y2goKTsKICAgICAgICAkdHJhbnNmZXItPnRyYW5zZmVyKGFycmF5KCdmb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJZ25vcmVzRW1wdHlCYXRjaGVzKCkKICAgIHsKICAgICAgICBsaXN0KCRjbGllbnQsICR0cmFuc2ZlcikgPSAkdGhpcy0+Z2V0QmF0Y2goKTsKICAgICAgICAkdHJhbnNmZXItPnRyYW5zZmVyKGFycmF5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VGhyb3dzRXhjZXB0aW9uV2hlbktleXNIYXZlRXJyb3JzKCkKICAgIHsKICAgICAgICBsaXN0KCRjbGllbnQsICR0cmFuc2ZlcikgPSAkdGhpcy0+Z2V0QmF0Y2goKTsKICAgICAgICAkbW9jayA9ICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoJ3MzL2RlbGV0ZV9tdWx0aXBsZV9vYmplY3RzX2Vycm9ycycpKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHRyYW5zZmVyLT50cmFuc2ZlcihhcnJheShhcnJheSgnS2V5JyA9PiAnZm9vJykpKTsKICAgICAgICAgICAgJHRoaXMtPmZhaWwoJ0RpZCBub3QgdGhyb3cgZXhwZWN0ZWQgZXhjZXB0aW9uJyk7CiAgICAgICAgfSBjYXRjaCAoRGVsZXRlTXVsdGlwbGVPYmplY3RzRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICRlcnJvcnMgPSAkZS0+Z2V0RXJyb3JzKCk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJGVycm9ycykpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdzYW1wbGUyLnR4dCcsICRlcnJvcnNbMF1bJ0tleSddKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQWNjZXNzRGVuaWVkJywgJGVycm9yc1swXVsnQ29kZSddKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQWNjZXNzIERlbmllZCcsICRlcnJvcnNbMF1bJ01lc3NhZ2UnXSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGVsZXRlc1VzaW5nQ29tbWFuZHMoKQogICAgewogICAgICAgIGxpc3QoJGNsaWVudCwgJHRyYW5zZmVyKSA9ICR0aGlzLT5nZXRCYXRjaCgpOwogICAgICAgICR0cmFuc2Zlci0+c2V0TWZhKCdmb28nKTsKICAgICAgICAkbW9jayA9ICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoJ3MzL2RlbGV0ZV9tdWx0aXBsZV9vYmplY3RzJykpOwogICAgICAgICR0cmFuc2Zlci0+dHJhbnNmZXIoYXJyYXkoYXJyYXkoJ0tleScgPT4gJ2ZvbycpKSk7CiAgICAgICAgJHJlcXVlc3RzID0gJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRyZXF1ZXN0cykpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnPEtleT5mb288L0tleT4nLCAoc3RyaW5nKSAkcmVxdWVzdHNbMF0tPmdldEJvZHkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgKHN0cmluZykgJHJlcXVlc3RzWzBdLT5nZXRIZWFkZXIoJ3gtYW16LW1mYScpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXENvbW1vblxFeGNlcHRpb25cT3ZlcmZsb3dFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzQmF0Y2hTaXplSXNMZXNzVGhhbjEwMDAoKQogICAgewogICAgICAgIGxpc3QoJGNsaWVudCwgJHRyYW5zZmVyKSA9ICR0aGlzLT5nZXRCYXRjaCgpOwogICAgICAgICR0cmFuc2Zlci0+dHJhbnNmZXIocmFuZ2UoMCwgMTAwMSkpOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0QmF0Y2goKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICR0cmFuc2ZlciA9IG5ldyBEZWxldGVPYmplY3RzVHJhbnNmZXIoJGNsaWVudCwgJ2ZvbycpOwoKICAgICAgICByZXR1cm4gYXJyYXkoJGNsaWVudCwgJHRyYW5zZmVyKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/GranteeTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcTW9kZWw7Cgp1c2UgQXdzXFMzXE1vZGVsXEdyYW50ZWU7CnVzZSBBd3NcUzNcRW51bVxHcm91cDsKdXNlIEF3c1xTM1xFbnVtXEdyYW50ZWVUeXBlOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFMzXE1vZGVsXEdyYW50ZWUKICovCmNsYXNzIEdyYW50ZWVUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNyZWF0ZUNhbm9uaWNhbFVzZXJHcmFudGVlKCkKICAgIHsKICAgICAgICAkZ3JhbnRlZSA9IG5ldyBHcmFudGVlKCcxMjM0NTY3ODkwJywgJ2ZvbycpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjM0NTY3ODkwJywgJGdyYW50ZWUtPmdldElkKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICRncmFudGVlLT5nZXREaXNwbGF5TmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZ3JhbnRlZS0+aXNDYW5vbmljYWxVc2VyKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkZ3JhbnRlZS0+aXNBbWF6b25DdXN0b21lckJ5RW1haWwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRncmFudGVlLT5pc0dyb3VwKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoR3JhbnRlZVR5cGU6OlVTRVIsICRncmFudGVlLT5nZXRUeXBlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQ3JlYXRlRW1haWxBZGRyZXNzR3JhbnRlZSgpCiAgICB7CiAgICAgICAgJGdyYW50ZWUgPSBuZXcgR3JhbnRlZSgnZm9vQGV4YW1wbGUuY29tJyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2Zvb0BleGFtcGxlLmNvbScsICRncmFudGVlLT5nZXRJZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb29AZXhhbXBsZS5jb20nLCAkZ3JhbnRlZS0+Z2V0RW1haWxBZGRyZXNzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRncmFudGVlLT5nZXREaXNwbGF5TmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGdyYW50ZWUtPmlzQ2Fub25pY2FsVXNlcigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZ3JhbnRlZS0+aXNBbWF6b25DdXN0b21lckJ5RW1haWwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRncmFudGVlLT5pc0dyb3VwKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoR3JhbnRlZVR5cGU6OkVNQUlMLCAkZ3JhbnRlZS0+Z2V0VHlwZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNyZWF0ZUdyb3VwR3JhbnRlZSgpCiAgICB7CiAgICAgICAgJGdyYW50ZWUgPSBuZXcgR3JhbnRlZShHcm91cDo6QUxMX1VTRVJTKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhHcm91cDo6QUxMX1VTRVJTLCAkZ3JhbnRlZS0+Z2V0SWQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhHcm91cDo6QUxMX1VTRVJTLCAkZ3JhbnRlZS0+Z2V0R3JvdXBVcmkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJGdyYW50ZWUtPmdldERpc3BsYXlOYW1lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkZ3JhbnRlZS0+aXNDYW5vbmljYWxVc2VyKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkZ3JhbnRlZS0+aXNBbWF6b25DdXN0b21lckJ5RW1haWwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGdyYW50ZWUtPmlzR3JvdXAoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhHcmFudGVlVHlwZTo6R1JPVVAsICRncmFudGVlLT5nZXRUeXBlKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25XaGVuR3JhbnRlZUlkTm90VmFsaWQoKQogICAgewogICAgICAgICRncmFudGVlID0gbmV3IEdyYW50ZWUoMTAwKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcVW5leHBlY3RlZFZhbHVlRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VGhyb3dzRXhjZXB0aW9uV2hlblR5cGVEb2VzbnRNYXRjaCgpCiAgICB7CiAgICAgICAgJGdyYW50ZWUgPSBuZXcgR3JhbnRlZSgnZm9vQGV4YW1wbGUuY29tJywgbnVsbCwgR3JhbnRlZVR5cGU6OkdST1VQKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcTG9naWNFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25XaGVuU2V0dGluZ0Rpc3BsYXlOYW1lRm9yV3JvbmdUeXBlcygpCiAgICB7CiAgICAgICAgJGdyYW50ZWUgPSBuZXcgR3JhbnRlZSgnZm9vQGV4YW1wbGUuY29tJyk7CiAgICAgICAgJGdyYW50ZWUtPnNldERpc3BsYXlOYW1lKCdGb29CYXInKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERpc3BsYXlOYW1lU2V0VG9JZFdoZW5Ob3RTcGVjaWZpZWQoKQogICAgewogICAgICAgICRncmFudGVlID0gbmV3IEdyYW50ZWUoJzEyMzQ1Njc4OTAnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjM0NTY3ODkwJywgJGdyYW50ZWUtPmdldElkKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyMzQ1Njc4OTAnLCAkZ3JhbnRlZS0+Z2V0RGlzcGxheU5hbWUoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldERhdGFGb3JIZWFkZXJWYWx1ZVRlc3QoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoJ3VzZXItaWQnLCAgICAgICAgICdpZD0idXNlci1pZCInKSwKICAgICAgICAgICAgYXJyYXkoJ2Zvb0BleGFtcGxlLmNvbScsICdlbWFpbEFkZHJlc3M9ImZvb0BleGFtcGxlLmNvbSInKSwKICAgICAgICAgICAgYXJyYXkoR1JPVVA6OkFMTF9VU0VSUywgICd1cmk9IicgLiBHUk9VUDo6QUxMX1VTRVJTIC4gJyInKSwKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciBnZXREYXRhRm9ySGVhZGVyVmFsdWVUZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0SGVhZGVyVmFsdWVQcm9kdWNlc0V4cGVjdGVkUmVzdWx0KCRpZCwgJHZhbHVlKQogICAgewogICAgICAgICRncmFudCA9IG5ldyBHcmFudGVlKCRpZCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHZhbHVlLCAkZ3JhbnQtPmdldEhlYWRlclZhbHVlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQ29udmVydFRvQXJyYXkoKQogICAgewogICAgICAgICRncmFudGVlID0gbmV3IEdyYW50ZWUoJ2Zvb0BleGFtcGxlLmNvbScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdUeXBlJyAgICAgICAgID0+ICdBbWF6b25DdXN0b21lckJ5RW1haWwnLAogICAgICAgICAgICAnRW1haWxBZGRyZXNzJyA9PiAnZm9vQGV4YW1wbGUuY29tJywKICAgICAgICApLCAkZ3JhbnRlZS0+dG9BcnJheSgpKTsKCiAgICAgICAgJGdyYW50ZWUgPSBuZXcgR3JhbnRlZSgnMTIzNDUnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnVHlwZScgICAgICAgID0+ICdDYW5vbmljYWxVc2VyJywKICAgICAgICAgICAgJ0lEJyAgICAgICAgICA9PiAnMTIzNDUnLAogICAgICAgICAgICAnRGlzcGxheU5hbWUnID0+ICcxMjM0NScsCiAgICAgICAgKSwgJGdyYW50ZWUtPnRvQXJyYXkoKSk7CgogICAgICAgICRncmFudGVlID0gbmV3IEdyYW50ZWUoR3JvdXA6OkFMTF9VU0VSUyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ1R5cGUnID0+ICdHcm91cCcsCiAgICAgICAgICAgICdVUkknICA9PiAnaHR0cDovL2Fjcy5hbWF6b25hd3MuY29tL2dyb3Vwcy9nbG9iYWwvQWxsVXNlcnMnLAogICAgICAgICksICRncmFudGVlLT50b0FycmF5KCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/GrantTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcTW9kZWw7Cgp1c2UgQXdzXFMzXE1vZGVsXEdyYW50Owp1c2UgQXdzXFMzXEVudW1cUGVybWlzc2lvbjsKdXNlIEF3c1xTM1xNb2RlbFxHcmFudGVlOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFMzXE1vZGVsXEdyYW50CiAqLwpjbGFzcyBHcmFudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2V0VmFsdWVzKCkKICAgIHsKICAgICAgICAkZ3JhbnRlZSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXFMzXE1vZGVsXEdyYW50ZWUnKS0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKS0+Z2V0TW9jaygpOwogICAgICAgICRncmFudCA9IG5ldyBHcmFudCgkZ3JhbnRlZSwgUGVybWlzc2lvbjo6V1JJVEUpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRncmFudGVlLCAkZ3JhbnQtPmdldEdyYW50ZWUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoUGVybWlzc2lvbjo6V1JJVEUsICRncmFudC0+Z2V0UGVybWlzc2lvbigpKTsKCiAgICAgICAgJGFub3RoZXJHcmFudGVlID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcUzNcTW9kZWxcR3JhbnRlZScpLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpLT5nZXRNb2NrKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGdyYW50LCAkZ3JhbnQtPnNldEdyYW50ZWUoJGFub3RoZXJHcmFudGVlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGdyYW50LCAkZ3JhbnQtPnNldFBlcm1pc3Npb24oUGVybWlzc2lvbjo6UkVBRCkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYW5vdGhlckdyYW50ZWUsICRncmFudC0+Z2V0R3JhbnRlZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZShQZXJtaXNzaW9uOjpSRUFELCAkZ3JhbnQtPmdldFBlcm1pc3Npb24oKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBlcm1pc3Npb25TZXR0ZXJGYWlsc09uSW52YWxpZFZhbHVlKCkKICAgIHsKICAgICAgICAkZ3JhbnRlZSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXFMzXE1vZGVsXEdyYW50ZWUnKS0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKS0+Z2V0TW9jaygpOwogICAgICAgICRncmFudCA9IG5ldyBHcmFudCgkZ3JhbnRlZSwgJ2ZvbycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0S25vd3NDb21tYW5kUGFyYW1ldGVycygpCiAgICB7CiAgICAgICAgJGdyYW50ZWUgPSBuZXcgR3JhbnRlZSgnZm9vQGV4YW1wbGUuY29tJyk7CiAgICAgICAgJGdyYW50ID0gbmV3IEdyYW50KCRncmFudGVlLCBQZXJtaXNzaW9uOjpXUklURSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSAoCiAgICAgICAgICAgICdHcmFudFdyaXRlJyA9PiAnZW1haWxBZGRyZXNzPSJmb29AZXhhbXBsZS5jb20iJywKICAgICAgICApLCAkZ3JhbnQtPmdldFBhcmFtZXRlckFycmF5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQ29udmVydFRvQXJyYXkoKQogICAgewogICAgICAgICRncmFudGVlID0gbmV3IEdyYW50ZWUoJ2Zvb0BleGFtcGxlLmNvbScpOwogICAgICAgICRncmFudCA9IG5ldyBHcmFudCgkZ3JhbnRlZSwgUGVybWlzc2lvbjo6V1JJVEUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdHcmFudGVlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdUeXBlJyAgICAgICAgID0+ICdBbWF6b25DdXN0b21lckJ5RW1haWwnLAogICAgICAgICAgICAgICAgJ0VtYWlsQWRkcmVzcycgPT4gJ2Zvb0BleGFtcGxlLmNvbScKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ1Blcm1pc3Npb24nID0+ICdXUklURScKICAgICAgICApLCAkZ3JhbnQtPnRvQXJyYXkoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/MultipartUpload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/MultipartUpload/AbstractTransferTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkOwoKdXNlIEF3c1xDb21tb25cRW51bVxEYXRlRm9ybWF0Owp1c2UgQXdzXFMzXE1vZGVsXE11bHRpcGFydFVwbG9hZFxBYnN0cmFjdFRyYW5zZmVyOwp1c2UgQXdzXFMzXE1vZGVsXE11bHRpcGFydFVwbG9hZFxUcmFuc2ZlclN0YXRlOwp1c2UgQXdzXFMzXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRQYXJ0Owp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKCi8qKgogKiBAY292ZXJzIEF3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RUcmFuc2ZlcgogKi8KY2xhc3MgQWJzdHJhY3RUcmFuc2ZlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKiBAdmFyIFxBd3NcUzNcUzNDbGllbnQgKi8KICAgIHByb3RlY3RlZCAkY2xpZW50OwoKICAgIC8qKiBAdmFyIFxBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VHJhbnNmZXIgKi8KICAgIHByb3RlY3RlZCAkdHJhbnNmZXI7CgogICAgcHVibGljIGZ1bmN0aW9uIHByZXBhcmVUcmFuc2ZlcigKICAgICAgICAkdXNlUmVhbENsaWVudCA9IGZhbHNlLAogICAgICAgICRjb250ZW50TGVuZ3RoID0gQWJzdHJhY3RUcmFuc2Zlcjo6TUlOX1BBUlRfU0laRSwKICAgICAgICAkcGFydExlbmd0aCA9IEFic3RyYWN0VHJhbnNmZXI6Ok1JTl9QQVJUX1NJWkUKICAgICkgewogICAgICAgICR1cGxvYWRJZCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXFMzXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRJZCcpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgndG9QYXJhbXMnKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJHVwbG9hZElkLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3RvUGFyYW1zJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShhcnJheSgKICAgICAgICAgICAgICAgICdCdWNrZXQnICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICAgICAnS2V5JyAgICAgID0+ICdiYXInLAogICAgICAgICAgICAgICAgJ1VwbG9hZElkJyA9PiAnYmF6JwogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgICRib2R5ID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcSHR0cFxFbnRpdHlCb2R5JykKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZ2V0Q29udGVudExlbmd0aCcpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkYm9keS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRDb250ZW50TGVuZ3RoJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkY29udGVudExlbmd0aCkpOwoKICAgICAgICBpZiAoJHVzZVJlYWxDbGllbnQpIHsKICAgICAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJywgdHJ1ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXFMzXFMzQ2xpZW50JykKICAgICAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgfQoKICAgICAgICAkc3RhdGUgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVHJhbnNmZXJTdGF0ZScpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkc3RhdGUtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0VXBsb2FkSWQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCR1cGxvYWRJZCkpOwogICAgICAgICRzdGF0ZS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRJdGVyYXRvcicpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUobmV3IFxBcnJheUl0ZXJhdG9yKGFycmF5KAogICAgICAgICAgICBVcGxvYWRQYXJ0Ojpmcm9tQXJyYXkoYXJyYXkoCiAgICAgICAgICAgICAgICAnUGFydE51bWJlcicgICA9PiAxLAogICAgICAgICAgICAgICAgJ0VUYWcnICAgICAgICAgPT4gJ2FhYScsCiAgICAgICAgICAgICAgICAnTGFzdE1vZGlmaWVkJyA9PiBnbWRhdGUoRGF0ZUZvcm1hdDo6UkZDMjgyMiksCiAgICAgICAgICAgICAgICAnU2l6ZScgICAgICAgICA9PiA1CiAgICAgICAgICAgICkpLAogICAgICAgICAgICBVcGxvYWRQYXJ0Ojpmcm9tQXJyYXkoYXJyYXkoCiAgICAgICAgICAgICAgICAnUGFydE51bWJlcicgICA9PiAyLAogICAgICAgICAgICAgICAgJ0VUYWcnICAgICAgICAgPT4gJ2JiYicsCiAgICAgICAgICAgICAgICAnTGFzdE1vZGlmaWVkJyA9PiBnbWRhdGUoRGF0ZUZvcm1hdDo6UkZDMjgyMiksCiAgICAgICAgICAgICAgICAnU2l6ZScgICAgICAgICA9PiA1CiAgICAgICAgICAgICkpCiAgICAgICAgKSkpKTsKCiAgICAgICAgJHRoaXMtPmNsaWVudCA9ICRjbGllbnQ7CiAgICAgICAgJHRoaXMtPnRyYW5zZmVyID0gJHRoaXMtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCdBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VHJhbnNmZXInLCBhcnJheSgKICAgICAgICAgICAgJGNsaWVudCwgJHN0YXRlLCAkYm9keSwgYXJyYXkoJ21pbl9wYXJ0X3NpemUnID0+ICRwYXJ0TGVuZ3RoKQogICAgICAgICkpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjYWxsUHJvdGVjdGVkTWV0aG9kKCRvYmplY3QsICRtZXRob2QsIGFycmF5ICRhcmdzID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkcmVmbGVjdGVkT2JqZWN0ID0gbmV3IFxSZWZsZWN0aW9uT2JqZWN0KCRvYmplY3QpOwogICAgICAgICRyZWZsZWN0ZWRNZXRob2QgPSAkcmVmbGVjdGVkT2JqZWN0LT5nZXRNZXRob2QoJG1ldGhvZCk7CiAgICAgICAgJHJlZmxlY3RlZE1ldGhvZC0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKCiAgICAgICAgcmV0dXJuICRyZWZsZWN0ZWRNZXRob2QtPmludm9rZUFyZ3MoJG9iamVjdCwgJGFyZ3MpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBwYXJ0U2l6ZURhdGFQcm92aWRlcigpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBhcnJheSg4MjQyODgwLCBudWxsLCA1MjQyODgwKSwKICAgICAgICAgICAgYXJyYXkoODI0Mjg4MCwgNzI0Mjg4MCwgNzI0Mjg4MCksCiAgICAgICAgICAgIGFycmF5KGZhbHNlLCA3MjQyODgwLCA3MjQyODgwKSwKICAgICAgICAgICAgYXJyYXkoZmFsc2UsIDIwMCwgNTI0Mjg4MCksCiAgICAgICAgICAgIGFycmF5KGZhbHNlLCA3MjQyODgwMDAwMCwgNTM2ODcwOTEyMCksCiAgICAgICAgICAgIGFycmF5KGZhbHNlLCBudWxsLCBudWxsLCAnQXdzXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbicpCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgcGFydFNpemVEYXRhUHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYWxjdWxhdGVzUGFydFNpemUoJGxlbmd0aCwgJHBhcnRMZW5ndGgsICRzaXplLCAkdGhyb3dFeGNlcHRpb24gPSBudWxsKQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR0aGlzLT5wcmVwYXJlVHJhbnNmZXIoZmFsc2UsICRsZW5ndGgsICRwYXJ0TGVuZ3RoKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkc2l6ZSwgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHRoaXMtPnRyYW5zZmVyLCAncGFydFNpemUnKSk7CiAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICBpZiAoISR0aHJvd0V4Y2VwdGlvbikgewogICAgICAgICAgICAgICAgdGhyb3cgJGU7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZigkdGhyb3dFeGNlcHRpb24sICRlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkKCkKICAgIHsKICAgICAgICAkdGhpcy0+cHJlcGFyZVRyYW5zZmVyKCk7CgogICAgICAgICRtb2RlbCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWwnKQogICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcT3BlcmF0aW9uQ29tbWFuZCcpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkY29tbWFuZC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRSZXN1bHQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRtb2RlbCkpOwogICAgICAgICR0aGlzLT5jbGllbnQtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0Q29tbWFuZCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJGNvbW1hbmQpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoCiAgICAgICAgICAgICdHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbCcsCiAgICAgICAgICAgICR0aGlzLT5jYWxsUHJvdGVjdGVkTWV0aG9kKCR0aGlzLT50cmFuc2ZlciwgJ2NvbXBsZXRlJykKICAgICAgICApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuR2V0QWJvcnRDb21tYW5kKCkKICAgIHsKICAgICAgICAkdGhpcy0+cHJlcGFyZVRyYW5zZmVyKHRydWUpOwoKICAgICAgICAkYWJvcnRDb21tYW5kID0gJHRoaXMtPmNhbGxQcm90ZWN0ZWRNZXRob2QoJHRoaXMtPnRyYW5zZmVyLCAnZ2V0QWJvcnRDb21tYW5kJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcT3BlcmF0aW9uQ29tbWFuZCcsICRhYm9ydENvbW1hbmQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICRhYm9ydENvbW1hbmQtPmdldCgnQnVja2V0JykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/MultipartUpload/ParallelTransferTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkOwoKdXNlIEF3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVHJhbnNmZXJTdGF0ZTsKdXNlIEF3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcUGFyYWxsZWxUcmFuc2ZlcjsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CgovKioKICogQGNvdmVycyBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFBhcmFsbGVsVHJhbnNmZXIKICovCmNsYXNzIFBhcmFsbGVsVHJhbnNmZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0TW9ja1VwbG9hZElkKCkKICAgIHsKICAgICAgICAkdXBsb2FkSWQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkSWQnKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ3RvUGFyYW1zJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICR1cGxvYWRJZC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCd0b1BhcmFtcycpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyAgID0+ICdmb28nLAogICAgICAgICAgICAgICAgJ0tleScgICAgICA9PiAnYmFyJywKICAgICAgICAgICAgICAgICdVcGxvYWRJZCcgPT4gJ2JheicKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICByZXR1cm4gJHVwbG9hZElkOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBwcmVwQ29tcG9uZW50cygpCiAgICB7CiAgICAgICAgJHVwbG9hZElkID0gJHRoaXMtPmdldE1vY2tVcGxvYWRJZCgpOwogICAgICAgICRib2R5ID0gRW50aXR5Qm9keTo6ZmFjdG9yeShmb3BlbihfX0ZJTEVfXywgJ3InKSk7CgogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICRzdGF0ZSA9IG5ldyBUcmFuc2ZlclN0YXRlKCR1cGxvYWRJZCk7CiAgICAgICAgJHRyYW5zZmVyID0gbmV3IFBhcmFsbGVsVHJhbnNmZXIoJGNsaWVudCwgJHN0YXRlLCAkYm9keSwgYXJyYXkoJ2NvbmN1cnJlbmN5JyA9PiAyKSk7CgogICAgICAgICRyZWZDbGFzcyA9IG5ldyBcUmVmbGVjdGlvbkNsYXNzKCR0cmFuc2Zlcik7CiAgICAgICAgJHByb3BlcnR5ID0gJHJlZkNsYXNzLT5nZXRQcm9wZXJ0eSgncGFydFNpemUnKTsKICAgICAgICAkcHJvcGVydHktPnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgJHByb3BlcnR5LT5zZXRWYWx1ZSgkdHJhbnNmZXIsIDEwMjQpOwoKICAgICAgICByZXR1cm4gYXJyYXkoJHRyYW5zZmVyLCAkY2xpZW50LCAkc3RhdGUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U3VjY2Vzc2Z1bFRyYW5zZmVyKCkKICAgIHsKICAgICAgICBsaXN0KCR0cmFuc2ZlciwgJGNsaWVudCkgPSAkdGhpcy0+cHJlcENvbXBvbmVudHMoKTsKCiAgICAgICAgJG1vY2tzID0gYXJyYXkoKTsKICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCBpbnR2YWwoY2VpbChmaWxlc2l6ZShfX0ZJTEVfXykgLyAxMDI0KSk7ICRpKyspIHsKICAgICAgICAgICAgJG1vY2tzW10gPSAnczMvdXBsb2FkX3BhcnQnOwogICAgICAgIH0KICAgICAgICAkbW9ja3NbXSA9ICdzMy9jb21wbGV0ZV9tdWx0aXBhcnRfdXBsb2FkJzsKICAgICAgICAkbW9jayA9ICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgJG1vY2tzKTsKCiAgICAgICAgJHJlc3VsdCA9ICR0cmFuc2Zlci0+dXBsb2FkKCk7CgogICAgICAgICRyZXF1ZXN0cyA9ICRtb2NrLT5nZXRSZWNlaXZlZFJlcXVlc3RzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkaSArIDEsIGNvdW50KCRyZXF1ZXN0cykpOwogICAgICAgIGZvciAoJGogPSAwOyAkaiA8ICRpOyAkaisrKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BVVCcsICRyZXF1ZXN0c1skal0tPmdldE1ldGhvZCgpKTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUE9TVCcsICRyZXF1ZXN0c1s0XS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbCcsICRyZXN1bHQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U3RvcHBpbmdXaWxsU3RvcFRyYW5zZmVyKCkKICAgIHsKICAgICAgICBsaXN0KCR0cmFuc2ZlcikgPSAkdGhpcy0+cHJlcENvbXBvbmVudHMoKTsKCiAgICAgICAgJHRyYW5zZmVyLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoUGFyYWxsZWxUcmFuc2Zlcjo6QkVGT1JFX1BBUlRfVVBMT0FELCBmdW5jdGlvbigkZXZlbnQpIHsKICAgICAgICAgICAgJGV2ZW50Wyd0cmFuc2ZlciddLT5zdG9wKCk7CiAgICAgICAgfSk7CgogICAgICAgICRyZXN1bHQgPSAkdHJhbnNmZXItPnVwbG9hZCgpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkcmVzdWx0KTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc1RoZUZpbGVJc0xvY2FsQW5kU2Vla2FibGUoKQogICAgewogICAgICAgICR0cmFuc2ZlciA9IG5ldyBQYXJhbGxlbFRyYW5zZmVyKAogICAgICAgICAgICAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpLAogICAgICAgICAgICBuZXcgVHJhbnNmZXJTdGF0ZSgkdGhpcy0+Z2V0TW9ja1VwbG9hZElkKCkpLAogICAgICAgICAgICBFbnRpdHlCb2R5OjpmYWN0b3J5KCdmb28nKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gQXdzXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNDb25jdXJyZW5jeUlzU3BlY2lmaWVkKCkKICAgIHsKICAgICAgICAkdHJhbnNmZXIgPSBuZXcgUGFyYWxsZWxUcmFuc2ZlcigKICAgICAgICAgICAgJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKSwKICAgICAgICAgICAgbmV3IFRyYW5zZmVyU3RhdGUoJHRoaXMtPmdldE1vY2tVcGxvYWRJZCgpKSwKICAgICAgICAgICAgRW50aXR5Qm9keTo6ZmFjdG9yeShmb3BlbihfX0ZJTEVfXywgJ3InKSkKICAgICAgICApOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/MultipartUpload/SerialTransferTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkOwoKdXNlIEF3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVHJhbnNmZXJTdGF0ZTsKdXNlIEF3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcU2VyaWFsVHJhbnNmZXI7CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFMzXE1vZGVsXE11bHRpcGFydFVwbG9hZFxTZXJpYWxUcmFuc2ZlcgogKi8KY2xhc3MgU2VyaWFsVHJhbnNmZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJlcENvbXBvbmVudHMoJHNlZWthYmxlID0gdHJ1ZSkKICAgIHsKICAgICAgICAkdXBsb2FkSWQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkSWQnKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ3RvUGFyYW1zJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICR1cGxvYWRJZC0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCd0b1BhcmFtcycpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoYXJyYXkoCiAgICAgICAgICAgICAgICAnQnVja2V0JyAgID0+ICdmb28nLAogICAgICAgICAgICAgICAgJ0tleScgICAgICA9PiAnYmFyJywKICAgICAgICAgICAgICAgICdVcGxvYWRJZCcgPT4gJ2JheicKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICBpZiAoJHNlZWthYmxlKSB7CiAgICAgICAgICAgICRib2R5ID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgnYWJjMTIzJyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHN0cmVhbSA9IGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3J3Jyk7CiAgICAgICAgICAgIGZ3cml0ZSgkc3RyZWFtLCAnYWJjMTIzJyk7CiAgICAgICAgICAgIGZzZWVrKCRzdHJlYW0sIDApOwogICAgICAgICAgICAkYm9keSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXEh0dHBcRW50aXR5Qm9keScpCiAgICAgICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2lzU2Vla2FibGUnKSkKICAgICAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KCRzdHJlYW0pKQogICAgICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgICAgICRib2R5LT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgICAgIC0+bWV0aG9kKCdpc1NlZWthYmxlJykKICAgICAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoZmFsc2UpKTsKICAgICAgICB9CgogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICRzdGF0ZSA9IG5ldyBUcmFuc2ZlclN0YXRlKCR1cGxvYWRJZCk7CiAgICAgICAgJHRyYW5zZmVyID0gbmV3IFNlcmlhbFRyYW5zZmVyKCRjbGllbnQsICRzdGF0ZSwgJGJvZHkpOwoKICAgICAgICAvLyBNb2RpZnkgdGhlIHBhcnRTaXplIGZvciB0aGUgdGVzdAogICAgICAgICRyZWZDbGFzcyA9IG5ldyBcUmVmbGVjdGlvbkNsYXNzKCR0cmFuc2Zlcik7CiAgICAgICAgJHByb3BlcnR5ID0gJHJlZkNsYXNzLT5nZXRQcm9wZXJ0eSgncGFydFNpemUnKTsKICAgICAgICAkcHJvcGVydHktPnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgJHByb3BlcnR5LT5zZXRWYWx1ZSgkdHJhbnNmZXIsIDMpOwoKICAgICAgICByZXR1cm4gYXJyYXkoJHRyYW5zZmVyLCAkY2xpZW50LCAkc3RhdGUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkYXRhRm9yVHJhbnNmZXJUZXN0KCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoYXJyYXkodHJ1ZSksIGFycmF5KGZhbHNlKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGRhdGFGb3JUcmFuc2ZlclRlc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdWNjZXNzZnVsVHJhbnNmZXIoJHNlZWthYmxlKQogICAgewogICAgICAgIGxpc3QoJHRyYW5zZmVyLCAkY2xpZW50KSA9ICR0aGlzLT5wcmVwQ29tcG9uZW50cygkc2Vla2FibGUpOwoKICAgICAgICAkbW9jayA9ICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgICdzMy91cGxvYWRfcGFydCcsCiAgICAgICAgICAgICdzMy91cGxvYWRfcGFydCcsCiAgICAgICAgICAgICdzMy9jb21wbGV0ZV9tdWx0aXBhcnRfdXBsb2FkJwogICAgICAgICkpLT5yZWFkQm9kaWVzKHRydWUpOwoKICAgICAgICAkcmVzdWx0ID0gJHRyYW5zZmVyLT51cGxvYWQoKTsKCiAgICAgICAgJHJlcXVlc3RzID0gJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCRyZXF1ZXN0cykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BVVCcsICRyZXF1ZXN0c1swXS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FiYycsIChzdHJpbmcpICRyZXF1ZXN0c1swXS0+Z2V0Qm9keSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQVVQnLCAkcmVxdWVzdHNbMV0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAoc3RyaW5nKSAkcmVxdWVzdHNbMV0tPmdldEJvZHkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUE9TVCcsICRyZXF1ZXN0c1syXS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbCcsICRyZXN1bHQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U3RvcHBpbmdXaWxsU3RvcFRyYW5zZmVyKCkKICAgIHsKICAgICAgICBsaXN0KCR0cmFuc2ZlcikgPSAkdGhpcy0+cHJlcENvbXBvbmVudHMoKTsKCiAgICAgICAgJHRyYW5zZmVyLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoU2VyaWFsVHJhbnNmZXI6OkJFRk9SRV9QQVJUX1VQTE9BRCwgZnVuY3Rpb24oJGV2ZW50KSB7CiAgICAgICAgICAgICRldmVudFsndHJhbnNmZXInXS0+c3RvcCgpOwogICAgICAgIH0pOwoKICAgICAgICAkcmVzdWx0ID0gJHRyYW5zZmVyLT51cGxvYWQoKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHJlc3VsdCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/MultipartUpload/TransferStateTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkOwoKdXNlIEF3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVHJhbnNmZXJTdGF0ZTsKdXNlIEF3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkSWQ7CgovKioKICogQGNvdmVycyBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFRyYW5zZmVyU3RhdGUKICovCmNsYXNzIFRyYW5zZmVyU3RhdGVUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZyb21VcGxvYWRJZEZhY3RvcnlXb3JrcygpCiAgICB7CiAgICAgICAgJHVwbG9hZElkID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZElkJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCd0b1BhcmFtcycpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkdXBsb2FkSWQtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgndG9QYXJhbXMnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKGFycmF5KAogICAgICAgICAgICAgICAgJ0J1Y2tldCcgICA9PiAnZm9vJywKICAgICAgICAgICAgICAgICdLZXknICAgICAgPT4gJ2JhcicsCiAgICAgICAgICAgICAgICAnVXBsb2FkSWQnID0+ICdiYXonCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KCdzMy9saXN0X3BhcnRzX3BhZ2VfMicpKTsKCiAgICAgICAgJHN0YXRlID0gVHJhbnNmZXJTdGF0ZTo6ZnJvbVVwbG9hZElkKCRjbGllbnQsICR1cGxvYWRJZCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVHJhbnNmZXJTdGF0ZScsICRzdGF0ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkbW9jay0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cygpKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/MultipartUpload/UploadBuilderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkOwoKdXNlIEF3c1xTM1xFbnVtXFBlcm1pc3Npb247CnVzZSBBd3NcUzNcTW9kZWxcQWNwOwp1c2UgQXdzXFMzXE1vZGVsXEdyYW50ZWU7CnVzZSBBd3NcUzNcTW9kZWxcR3JhbnQ7CnVzZSBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXEFic3RyYWN0VHJhbnNmZXI7CnVzZSBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFRyYW5zZmVyU3RhdGU7CnVzZSBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZEJ1aWxkZXI7CnVzZSBBd3NcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkXFVwbG9hZElkOwp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKCi8qKgogKiBAY292ZXJzIEF3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkQnVpbGRlcgogKi8KY2xhc3MgVXBsb2FkQnVpbGRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzQ2hhaW5hYmxlTWV0aG9kVG9JbnN0YW50aWF0ZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcVXBsb2FkQnVpbGRlcicsIFVwbG9hZEJ1aWxkZXI6Om5ld0luc3RhbmNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzQ2hhaW5hYmxlU2V0dGVyTWV0aG9kcygpCiAgIHsKICAgICAgICRhY3AgPSBuZXcgQWNwKG5ldyBHcmFudGVlKCcxMjMnKSk7CiAgICAgICAkYiA9IFVwbG9hZEJ1aWxkZXI6Om5ld0luc3RhbmNlKCk7CiAgICAgICAkYi0+c2V0QnVja2V0KCdmb28nKQogICAgICAgICAgIC0+c2V0S2V5KCdiYXInKQogICAgICAgICAgIC0+c2V0Q29uY3VycmVuY3koMSkKICAgICAgICAgICAtPnNldE1kNSgnYWJjJykKICAgICAgICAgICAtPmNhbGN1bGF0ZU1kNShmYWxzZSkKICAgICAgICAgICAtPmNhbGN1bGF0ZVBhcnRNZDUodHJ1ZSkKICAgICAgICAgICAtPnNldE1pblBhcnRTaXplKDEwMDAwKQogICAgICAgICAgIC0+c2V0QWNwKCRhY3ApCiAgICAgICAgICAgLT5zZXRPcHRpb24oJ01ldGFkYXRhJywgYXJyYXkoJ0ZvbycgPT4gJ0JheicpKQogICAgICAgICAgIC0+c2V0T3B0aW9uKCdUZXN0JywgJzEyMycpOwoKICAgICAgICRvcHRpb25zID0gJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGIsICdjb21tYW5kT3B0aW9ucycpOwogICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJG9wdGlvbnNbJ0J1Y2tldCddKTsKICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRvcHRpb25zWydLZXknXSk7CiAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYWNwLCAkb3B0aW9uc1snQUNQJ10pOwogICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnRm9vJyA9PiAnQmF6JyksICRvcHRpb25zWydNZXRhZGF0YSddKTsKICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyMycsICRvcHRpb25zWydUZXN0J10pOwogICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYiwgJ2NvbmN1cnJlbmN5JykpOwogICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYWJjJywgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGIsICdtZDUnKSk7CiAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYiwgJ2NhbGN1bGF0ZVBhcnRNZDUnKSk7CiAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGIsICdjYWxjdWxhdGVFbnRpcmVNZDUnKSk7CiAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKEFic3RyYWN0VHJhbnNmZXI6Ok1JTl9QQVJUX1NJWkUsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRiLCAnbWluUGFydFNpemUnKSk7CiAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIFlvdSBtdXN0IHNwZWNpZnkgYSBCdWNrZXQsIEtleSwgY2xpZW50LCBhbmQgc291cmNlLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZhbGlkYXRlc1RoYXRSZXF1aXJlZEZpZWxkc0FyZVNldCgpCiAgICB7CiAgICAgICAgVXBsb2FkQnVpbGRlcjo6bmV3SW5zdGFuY2UoKS0+YnVpbGQoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgWW91IGNhbm5vdCByZXN1bWUgYSB0cmFuc2ZlciB1c2luZyBhIG5vbi1zZWVrYWJsZSBzb3VyY2UuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVzVGhhdE5vblNlZWthYmxlU3RyZWFtc0Nhbm5vdEJlUmVzdW1lZCgpCiAgICB7CiAgICAgICAgJHNvdXJjZSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXEh0dHBcRW50aXR5Qm9keScpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnaXNTZWVrYWJsZScpKQogICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJHNvdXJjZS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdpc1NlZWthYmxlJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShmYWxzZSkpOwoKICAgICAgICBVcGxvYWRCdWlsZGVyOjpuZXdJbnN0YW5jZSgpCiAgICAgICAgICAgIC0+c2V0QnVja2V0KCdmb28nKQogICAgICAgICAgICAtPnNldEtleSgnYmFyJykKICAgICAgICAgICAgLT5zZXRTb3VyY2UoJHNvdXJjZSkKICAgICAgICAgICAgLT5yZXN1bWVGcm9tKCdhYmMnKQogICAgICAgICAgICAtPnNldENsaWVudCgkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NGb3JFeHBsaWNpdFN0YXRlT2JqZWN0KCkKICAgIHsKICAgICAgICAkc3RhdGUgPSBuZXcgVHJhbnNmZXJTdGF0ZShVcGxvYWRJZDo6ZnJvbVBhcmFtcyhhcnJheSgKICAgICAgICAgICAgJ0J1Y2tldCcgICA9PiAnZm9vJywKICAgICAgICAgICAgJ0tleScgICAgICA9PiAnYmFyJywKICAgICAgICAgICAgJ1VwbG9hZElkJyA9PiAnYmF6JwogICAgICAgICkpKTsKCiAgICAgICAgJHVwbG9hZGVyID0gVXBsb2FkQnVpbGRlcjo6bmV3SW5zdGFuY2UoKQogICAgICAgICAgICAtPnJlc3VtZUZyb20oJHN0YXRlKQogICAgICAgICAgICAtPnNldENsaWVudCgkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpKQogICAgICAgICAgICAtPnNldFNvdXJjZShFbnRpdHlCb2R5OjpmYWN0b3J5KCd0ZXN0JykpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkc3RhdGUsICR1cGxvYWRlci0+Z2V0U3RhdGUoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5SZXN1bWVTdGF0ZUJ5TG9hZGluZ0Zyb21TMygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KCdzMy9saXN0X3BhcnRzX3BhZ2VfMicpKTsKICAgICAgICAkdHJhbnNmZXIgPSBVcGxvYWRCdWlsZGVyOjpuZXdJbnN0YW5jZSgpCiAgICAgICAgICAgIC0+c2V0QnVja2V0KCdmb28nKQogICAgICAgICAgICAtPnNldEtleSgnYmFyJykKICAgICAgICAgICAgLT5yZXN1bWVGcm9tKCdhYmMnKQogICAgICAgICAgICAtPnNldENsaWVudCgkY2xpZW50KQogICAgICAgICAgICAtPnNldFNvdXJjZShFbnRpdHlCb2R5OjpmYWN0b3J5KCd0ZXN0JykpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRtb2NrLT5nZXRSZWNlaXZlZFJlcXVlc3RzKCkpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCR0cmFuc2Zlci0+Z2V0U3RhdGUoKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQ3JlYXRlTmV3U3RhdGVCeUluaXRpYXRpbmdNdWx0aXBhcnRVcGxvYWQoKQogICAgewogICAgICAgICRhY2wgPSBuZXcgQWNwKG5ldyBHcmFudGVlKCcxMjMnKSk7CiAgICAgICAgJGFjbC0+YWRkR3JhbnQobmV3IEdyYW50KG5ldyBHcmFudGVlKCcxMjMnKSwgUGVybWlzc2lvbjo6UkVBRCkpOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICRtb2NrID0gJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgnczMvaW5pdGlhdGVfbXVsdGlwYXJ0X3VwbG9hZCcpKTsKICAgICAgICAkZXhwaXJlcyA9IHRpbWUoKSArIDEwMDA7CiAgICAgICAgJHRyYW5zZmVyID0gVXBsb2FkQnVpbGRlcjo6bmV3SW5zdGFuY2UoKQogICAgICAgICAgICAtPnNldEJ1Y2tldCgnZm9vJykKICAgICAgICAgICAgLT5zZXRLZXkoJ2JhcicpCiAgICAgICAgICAgIC0+c2V0Q2xpZW50KCRjbGllbnQpCiAgICAgICAgICAgIC0+c2V0U291cmNlKF9fRklMRV9fKQogICAgICAgICAgICAtPnNldEhlYWRlcnMoYXJyYXkoJ0ZvbycgPT4gJ0JhcicpKQogICAgICAgICAgICAtPnNldE9wdGlvbignRXhwaXJlcycsICRleHBpcmVzKQogICAgICAgICAgICAtPnNldEFjcCgkYWNsKQogICAgICAgICAgICAtPmNhbGN1bGF0ZU1kNSh0cnVlKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICAgICAgJHJlcXVlc3RzID0gJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRyZXF1ZXN0cykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9iYXI/dXBsb2FkcycsICRyZXF1ZXN0c1swXS0+Z2V0UmVzb3VyY2UoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQmFyJywgKHN0cmluZykgJHJlcXVlc3RzWzBdLT5nZXRIZWFkZXIoJ0ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRleHBpcmVzLCBzdHJ0b3RpbWUoKHN0cmluZykgJHJlcXVlc3RzWzBdLT5nZXRIZWFkZXIoJ0V4cGlyZXMnKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3RleHQveC1waHAnLCAoc3RyaW5nKSAkcmVxdWVzdHNbMF0tPmdldEhlYWRlcignQ29udGVudC1UeXBlJykpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RFbXB0eSgoc3RyaW5nKSAkcmVxdWVzdHNbMF0tPmdldEhlYWRlcigneC1hbXotbWV0YS14LWFtei1Db250ZW50LU1ENScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdpZD0iMTIzIicsIChzdHJpbmcpICRyZXF1ZXN0c1swXS0+Z2V0SGVhZGVyKCd4LWFtei1ncmFudC1yZWFkJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXF1ZXN0c1swXS0+aGFzSGVhZGVyKCd4LWFtei1ncmFudC1yZWFkJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QnVpbGRzRGlmZmVyZW50VXBsb2FkZXJCYXNlZE9uQ29uY3VycmVuY3koKQogICAgewogICAgICAgICRzdGF0ZSA9IG5ldyBUcmFuc2ZlclN0YXRlKFVwbG9hZElkOjpmcm9tUGFyYW1zKGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyAgID0+ICdmb28nLAogICAgICAgICAgICAnS2V5JyAgICAgID0+ICdiYXInLAogICAgICAgICAgICAnVXBsb2FkSWQnID0+ICdiYXonCiAgICAgICAgKSkpOwoKICAgICAgICAkYiA9IFVwbG9hZEJ1aWxkZXI6Om5ld0luc3RhbmNlKCkKICAgICAgICAgICAgLT5zZXRDbGllbnQoJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKSkKICAgICAgICAgICAgLT5zZXRTb3VyY2UoRW50aXR5Qm9keTo6ZmFjdG9yeShmb3BlbihfX0ZJTEVfXywgJ3InKSkpCiAgICAgICAgICAgIC0+cmVzdW1lRnJvbSgkc3RhdGUpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXFMzXE1vZGVsXE11bHRpcGFydFVwbG9hZFxTZXJpYWxUcmFuc2ZlcicsICRiLT5idWlsZCgpKTsKICAgICAgICAkYi0+c2V0Q29uY3VycmVuY3koMik7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcUGFyYWxsZWxUcmFuc2ZlcicsICRiLT5idWlsZCgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/MultipartUpload/UploadPartTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcTW9kZWxcTXVsdGlwYXJ0VXBsb2FkOwoKdXNlIEF3c1xDb21tb25cRW51bVxEYXRlRm9ybWF0Owp1c2UgQXdzXFMzXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRQYXJ0OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFMzXE1vZGVsXE11bHRpcGFydFVwbG9hZFxVcGxvYWRQYXJ0CiAqLwpjbGFzcyBVcGxvYWRQYXJ0VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCYXNpY09wZXJhdGlvbnMoKQogICAgewogICAgICAgICRkYXRlID0gZ21kYXRlKERhdGVGb3JtYXQ6OlJGQzI4MjIpOwoKICAgICAgICAvKiogQHZhciAkcGFydCBVcGxvYWRQYXJ0ICovCiAgICAgICAgJHBhcnQgPSBVcGxvYWRQYXJ0Ojpmcm9tQXJyYXkoYXJyYXkoCiAgICAgICAgICAgICdQYXJ0TnVtYmVyJyAgID0+IDMsCiAgICAgICAgICAgICdFVGFnJyAgICAgICAgID0+ICdhYWEnLAogICAgICAgICAgICAnTGFzdE1vZGlmaWVkJyA9PiAkZGF0ZSwKICAgICAgICAgICAgJ1NpemUnICAgICAgICAgPT4gNQogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsICRwYXJ0LT5nZXRQYXJ0TnVtYmVyKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FhYScsICRwYXJ0LT5nZXRFVGFnKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGRhdGUsICRwYXJ0LT5nZXRMYXN0TW9kaWZpZWQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg1LCAkcGFydC0+Z2V0U2l6ZSgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Model/PostObjectTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzM7Cgp1c2UgQXdzXFMzXEVudW1cQ2FubmVkQWNsOwp1c2UgQXdzXFMzXE1vZGVsXFBvc3RPYmplY3Q7CnVzZSBBd3NcUzNcUzNDbGllbnQ7CgovKioKICogQGNvdmVycyBBd3NcUzNcTW9kZWxcUG9zdE9iamVjdAogKi8KY2xhc3MgUG9zdE9iamVjdFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQHZhciBTM0NsaWVudAogICAgICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICRjcmVkZW50aWFscyA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFscycpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkY3JlZGVudGlhbHMtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0QWNjZXNzS2V5SWQnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCdBS0lBWFhYWFhYWFhYWFhYWFhYJykpOwogICAgICAgICRjcmVkZW50aWFscy0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRTZWNyZXRLZXknKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCdYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWCcpKTsKCiAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBTM0NsaWVudCAqLwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICRjbGFzcyA9IG5ldyBcUmVmbGVjdGlvbk9iamVjdCgkY2xpZW50KTsKICAgICAgICAkcHJvcGVydHkgPSAkY2xhc3MtPmdldFByb3BlcnR5KCdjcmVkZW50aWFscycpOwogICAgICAgICRwcm9wZXJ0eS0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkcHJvcGVydHktPnNldFZhbHVlKCRjbGllbnQsICRjcmVkZW50aWFscyk7CgogICAgICAgICR0aGlzLT5jbGllbnQgPSAkY2xpZW50OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREYXRhRm9yUG9zdE9iamVjdFRlc3QoKQogICAgewogICAgICAgICRjYXNlcyA9IGFycmF5KCk7CgogICAgICAgIC8vIElucHV0cyBjYXB0dXJpbmcgc3RhcnRzLXdpdGggYW5kIHN1Y2Nlc3NfYWN0aW9uX3N0YXR1cyBiZWhhdmlvcnMKICAgICAgICAkY2FzZXNbXSA9IGFycmF5KAogICAgICAgICAgICAvLyBPcHRpb25zCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gJ150ZXh0LycsCiAgICAgICAgICAgICAgICAndHRkJyA9PiAnTm92IDI0LCAxOTg0LCBtaWRuaWdodCBHTVQnLAogICAgICAgICAgICAgICAgJ2FjbCcgPT4gQ2FubmVkQWNsOjpQUklWQVRFX0FDQ0VTUywKICAgICAgICAgICAgICAgICdzdWNjZXNzX2FjdGlvbl9zdGF0dXMnID0+IDIwMSwKICAgICAgICAgICAgICAgICdrZXknID0+ICdeZm9vL2Jhci8ke2ZpbGVuYW1lfScKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gRXhwZWN0ZWQgUmVzdWx0cwogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICdhdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnYWN0aW9uJyA9PiAnaHR0cHM6Ly9mb28uczMuYW1hem9uYXdzLmNvbScsCiAgICAgICAgICAgICAgICAgICAgJ21ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAgICAgICAgICdlbmN0eXBlJyA9PiAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnaW5wdXRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQVdTQWNjZXNzS2V5SWQnID0+ICdBS0lBWFhYWFhYWFhYWFhYWFhYJywKICAgICAgICAgICAgICAgICAgICAnc3VjY2Vzc19hY3Rpb25fc3RhdHVzJyA9PiAnMjAxJywKICAgICAgICAgICAgICAgICAgICAna2V5JyA9PiAnZm9vL2Jhci8ke2ZpbGVuYW1lfScsCiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gJ3RleHQvJywKICAgICAgICAgICAgICAgICAgICAnYWNsJyA9PiAncHJpdmF0ZScsCiAgICAgICAgICAgICAgICAgICAgJ3BvbGljeScgPT4gJ2V5SmxlSEJwY21GMGFXOXVJam9pTVRrNE5DMHhNUzB5TkZRd01Eb3dNRG93TUZvaUxDSmpiMjVrYVhScGIyNXpJanBiZXlKaWRXTnJaWFFpT2lKbWIyOGlmU3g3SW5OMVkyTmxjM05mWVdOMGFXOXVYM04wWVhSMWN5STZJakl3TVNKOUxGc2ljM1JoY25SekxYZHBkR2dpTENJa1EyOXVkR1Z1ZEMxVWVYQmxJaXdpZEdWNGRGd3ZJbDBzZXlKaFkyd2lPaUp3Y21sMllYUmxJbjBzV3lKemRHRnlkSE10ZDJsMGFDSXNJaVJyWlhraUxDSm1iMjljTDJKaGNsd3ZJbDFkZlE9PScsCiAgICAgICAgICAgICAgICAgICAgJ3NpZ25hdHVyZScgPT4gJ0ZIWTkxOVBQL1p6TC9JUnc4UVg2WWQvaTdodz0nCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3BvbGljeScgPT4gJ3siZXhwaXJhdGlvbiI6IjE5ODQtMTEtMjRUMDA6MDA6MDBaIiwiY29uZGl0aW9ucyI6W3siYnVja2V0IjoiZm9vIn0seyJzdWNjZXNzX2FjdGlvbl9zdGF0dXMiOiIyMDEifSxbInN0YXJ0cy13aXRoIiwiJENvbnRlbnQtVHlwZSIsInRleHRcLyJdLHsiYWNsIjoicHJpdmF0ZSJ9LFsic3RhcnRzLXdpdGgiLCIka2V5IiwiZm9vXC9iYXJcLyJdXX0nCiAgICAgICAgICAgICkKICAgICAgICApOwoKICAgICAgICAvLyBQYXNzaW5nIGluIGEgcmF3IHBvbGljeQogICAgICAgICRjYXNlc1tdID0gYXJyYXkoCiAgICAgICAgICAgIC8vIE9wdGlvbnMKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAncG9saWN5JyA9PiAneyJleHBpcmF0aW9uIjoiMTk4NC0xMS0yNFQwMDowMDowMFoiLCJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJmb28ifSx7InN1Y2Nlc3NfYWN0aW9uX3N0YXQnCiAgICAgICAgICAgICAgICAgICAgLiAndXMiOiIyMDEifSxbInN0YXJ0cy13aXRoIiwiJGtleSIsImZvb1xcL2JhclxcLyJdLFsic3RhcnRzLXdpdGgiLCIkQ29udGVudC1UeXBlIiwidGV4dFxcLyJdXX0nCiAgICAgICAgICAgICksCiAgICAgICAgICAgIC8vIEV4cGVjdGVkIFJlc3VsdHMKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAnYXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2FjdGlvbicgPT4gJ2h0dHBzOi8vZm9vLnMzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICAgICAgICAgICAgICdtZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgICAgICAgICAnZW5jdHlwZScgPT4gJ211bHRpcGFydC9mb3JtLWRhdGEnCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2lucHV0cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0FXU0FjY2Vzc0tleUlkJyA9PiAnQUtJQVhYWFhYWFhYWFhYWFhYWCcsCiAgICAgICAgICAgICAgICAgICAgJ2tleScgPT4gJyR7ZmlsZW5hbWV9JywKICAgICAgICAgICAgICAgICAgICAncG9saWN5JyA9PiAnZXlKbGVIQnBjbUYwYVc5dUlqb2lNVGs0TkMweE1TMHlORlF3TURvd01Eb3dNRm9pTENKamIyNWthWFJwYjI1eklqcGJleUppZFdOclpYUWlPaUptYicKICAgICAgICAgICAgICAgICAgICAgICAgLiAnMjhpZlN4N0luTjFZMk5sYzNOZllXTjBhVzl1WDNOMFlYUjFjeUk2SWpJd01TSjlMRnNpYzNSaGNuUnpMWGRwZEdnaUxDSWthMlY1SWl3aVptOXZYQzlpWVhKYycKICAgICAgICAgICAgICAgICAgICAgICAgLiAnTHlKZExGc2ljM1JoY25SekxYZHBkR2dpTENJa1EyOXVkR1Z1ZEMxVWVYQmxJaXdpZEdWNGRGd3ZJbDFkZlE9PScsCiAgICAgICAgICAgICAgICAgICAgJ3NpZ25hdHVyZScgPT4gJ2g5Mm1LdVVrYUtUTm1KTXFuSERaNTErMitHWT0nCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ3BvbGljeScgPT4gJ3siZXhwaXJhdGlvbiI6IjE5ODQtMTEtMjRUMDA6MDA6MDBaIiwiY29uZGl0aW9ucyI6W3siYnVja2V0IjoiZm9vIn0seyJzdWNjZXNzX2FjdGlvbl9zdGF0JwogICAgICAgICAgICAgICAgICAgIC4gJ3VzIjoiMjAxIn0sWyJzdGFydHMtd2l0aCIsIiRrZXkiLCJmb29cXC9iYXJcXC8iXSxbInN0YXJ0cy13aXRoIiwiJENvbnRlbnQtVHlwZSIsInRleHRcXC8iXV19JwogICAgICAgICAgICApCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuICRjYXNlczsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgZ2V0RGF0YUZvclBvc3RPYmplY3RUZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0UG9zdE9iamVjdERhdGEoYXJyYXkgJG9wdGlvbnMsIGFycmF5ICRleHBlY3RlZCkKICAgIHsKICAgICAgICAkcG9zdE9iamVjdCA9IG5ldyBQb3N0T2JqZWN0KCR0aGlzLT5jbGllbnQsICdmb28nLCAkb3B0aW9ucyk7CiAgICAgICAgJHBvc3RPYmplY3QtPnByZXBhcmVEYXRhKCk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGV4cGVjdGVkWydhdHRyaWJ1dGVzJ10sICRwb3N0T2JqZWN0LT5nZXRGb3JtQXR0cmlidXRlcygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRleHBlY3RlZFsnaW5wdXRzJ10sICRwb3N0T2JqZWN0LT5nZXRGb3JtSW5wdXRzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGV4cGVjdGVkWydwb2xpY3knXSwgJHBvc3RPYmplY3QtPmdldEpzb25Qb2xpY3koKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGllbnRBbmRCdWNrZXRHZXR0ZXJzQW5kU2V0dGVycygpCiAgICB7CiAgICAgICAgJHBvc3RPYmplY3QgPSBuZXcgUG9zdE9iamVjdCgkdGhpcy0+Y2xpZW50LCAnZm9vJyk7CiAgICAgICAgJGNsaWVudDIgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkdGhpcy0+Y2xpZW50LCAkcG9zdE9iamVjdC0+Z2V0Q2xpZW50KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCdmb28nLCAkcG9zdE9iamVjdC0+Z2V0QnVja2V0KCkpOwoKICAgICAgICAkcG9zdE9iamVjdC0+c2V0Q2xpZW50KCRjbGllbnQyKS0+c2V0QnVja2V0KCdiYXInKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGNsaWVudDIsICRwb3N0T2JqZWN0LT5nZXRDbGllbnQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJ2JhcicsICRwb3N0T2JqZWN0LT5nZXRCdWNrZXQoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/ResumableDownloadTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzM7Cgp1c2UgQXdzXFMzXFJlc3VtYWJsZURvd25sb2FkOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcUGx1Z2luXE1vY2tcTW9ja1BsdWdpbjsKCi8qKgogKiBAY292ZXJzIEF3c1xTM1xSZXN1bWFibGVEb3dubG9hZAogKi8KY2xhc3MgUmVzdW1hYmxlRG93bmxvYWRUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcUEhQVW5pdF9GcmFtZXdvcmtfRXJyb3JfV2FybmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNGaWxlc0NhbkJlT3BlbmVkKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKTsKICAgICAgICBuZXcgUmVzdW1hYmxlRG93bmxvYWQoJGNsaWVudCwgJ3Rlc3QnLCAna2V5JywgJy9kb2VzL25vdC9leGlzdC9mb28nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvd25sb2Fkc1VzaW5nUmFuZ2VSZXF1ZXN0cygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJywgdHJ1ZSk7CiAgICAgICAgJG1vY2sgPSBuZXcgTW9ja1BsdWdpbihhcnJheShuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnQ29udGVudC1MZW5ndGgnID0+IDkpKSwgbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoJ0NvbnRlbnQtTGVuZ3RoJyA9PiA1KSwgJ190ZXN0JykpKTsKICAgICAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKCRtb2NrKTsKICAgICAgICAkdGFyZ2V0ID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgndGVzdCcpOwogICAgICAgICR0YXJnZXQtPnNlZWsoMCwgU0VFS19FTkQpOwogICAgICAgICRyZXN1bWFibGUgPSBuZXcgUmVzdW1hYmxlRG93bmxvYWQoJGNsaWVudCwgJ3Rlc3QnLCAna2V5JywgJHRhcmdldCk7CiAgICAgICAgJHJlc3VtYWJsZSgpOwoKICAgICAgICAkbW9ja2VkID0gJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoMiwgJG1vY2tlZCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnSEVBRCcsICRtb2NrZWRbMF0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdHRVQnLCAkbW9ja2VkWzFdLT5nZXRNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYnl0ZXM9NC04JywgKHN0cmluZykgJG1vY2tlZFsxXS0+Z2V0SGVhZGVyKCdSYW5nZScpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXENvbW1vblxFeGNlcHRpb25cVW5leHBlY3RlZFZhbHVlRXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIE1lc3NhZ2UgaW50ZWdyaXR5IGNoZWNrIGZhaWxlZC4gRXhwZWN0ZWQgNTAzMjU2MWU5NzNmMTYwNDdmMzEwOWU2YTNmN2YxNzMgYnV0IGdvdCA0YmEzNmQyM2E3OGM3MzkzYjQ5MDBlZjM4MDE5ZDhmZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNNZDVNYXRjaCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJG1vY2sgPSBuZXcgTW9ja1BsdWdpbihhcnJheSgKICAgICAgICAgICAgbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1MZW5ndGgnID0+IDE1LAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtTUQ1JyAgICA9PiAnNTAzMjU2MWU5NzNmMTYwNDdmMzEwOWU2YTNmN2YxNzMnCiAgICAgICAgICAgICkpLAogICAgICAgICAgICBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnQ29udGVudC1MZW5ndGgnID0+IDEpLCAnMScpCiAgICAgICAgKSk7CiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkbW9jayk7CiAgICAgICAgJHRhcmdldCA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJzExMTExMTExMTExMTExJyk7CiAgICAgICAgJHRhcmdldC0+c2VlaygwLCBTRUVLX0VORCk7CiAgICAgICAgJHJlc3VtYWJsZSA9IG5ldyBSZXN1bWFibGVEb3dubG9hZCgkY2xpZW50LCAndGVzdCcsICdrZXknLCAkdGFyZ2V0KTsKICAgICAgICAkcmVzdW1hYmxlKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/S3ClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzM7Cgp1c2UgQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFsczsKdXNlIEF3c1xTM1xTM0NsaWVudDsKdXNlIEF3c1xTM1xTeW5jXFVwbG9hZFN5bmNCdWlsZGVyOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXFVybDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxQbHVnaW5cSGlzdG9yeVxIaXN0b3J5UGx1Z2luOwp1c2UgR3V6emxlXFBsdWdpblxNb2NrXE1vY2tQbHVnaW47CgovKioKICogQGNvdmVycyBBd3NcUzNcUzNDbGllbnQKICovCmNsYXNzIFMzQ2xpZW50VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBEYXRhIHByb3ZpZGVyIGZvciB0ZXN0aW5nIGlmIGEgYnVja2V0IG5hbWUgaXMgdmFsaWQKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidWNrZXROYW1lUHJvdmlkZXIoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoJy5idWNrZXQnLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KCdidWNrZXQuJywgZmFsc2UpLAogICAgICAgICAgICBhcnJheSgnMTkyLjE2OC4xLjEnLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KCcxLjEuMS4xMDAnLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KCd0ZXN0QDQyIUAkNV8nLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KCdhYicsIGZhbHNlKSwKICAgICAgICAgICAgYXJyYXkoJzEyJywgZmFsc2UpLAogICAgICAgICAgICBhcnJheSgnYnVja2V0X25hbWUnLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KCdidWNrZXQtbmFtZScsIHRydWUpLAogICAgICAgICAgICBhcnJheSgnYnVja2V0JywgdHJ1ZSksCiAgICAgICAgICAgIGFycmF5KCdteS5idWNrZXQuY29tJywgdHJ1ZSksCiAgICAgICAgICAgIGFycmF5KCd0ZXN0LWZvb0NhcHMnLCBmYWxzZSkKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcUzNcUzNDbGllbnQ6OmlzVmFsaWRCdWNrZXROYW1lCiAgICAgKiBAZGF0YVByb3ZpZGVyIGJ1Y2tldE5hbWVQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZhbGlkYXRlc0J1Y2tldE5hbWVzKCRidWNrZXROYW1lLCAkaXNWYWxpZCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRpc1ZhbGlkLCBzM0NsaWVudDo6aXNWYWxpZEJ1Y2tldE5hbWUoJGJ1Y2tldE5hbWUpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXFMzXFMzQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gUzNDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdzY2hlbWUnID0+ICdodHRwJywKICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ2FwLXNvdXRoZWFzdC0xJwogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly9zMy1hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29tJywgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXFMzXFMzQ2xpZW50OjpjcmVhdGVQcmVzaWduZWRVcmwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzUHJlc2lnbmVkVXJscygpCiAgICB7CiAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBTM0NsaWVudCAqLwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCcvZm9vYmFyJyk7CiAgICAgICAgJG9yaWdpbmFsID0gKHN0cmluZykgJHJlcXVlc3Q7CiAgICAgICAgJHVybCA9ICRjbGllbnQtPmNyZWF0ZVByZXNpZ25lZFVybCgkcmVxdWVzdCwgMTM0MjEzODc2OSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZm9vYmFyP0FXU0FjY2Vzc0tleUlkPScsICR1cmwpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnRXhwaXJlcz0nLCAkdXJsKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ1NpZ25hdHVyZT0nLCAkdXJsKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkb3JpZ2luYWwsIChzdHJpbmcpICRyZXF1ZXN0KTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXFMzXFMzQ2xpZW50OjpjcmVhdGVQcmVzaWduZWRVcmwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzUHJlc2lnbmVkVXJsc1dpdGhTcGVjaWFsQ2hhcmFjdGVycygpCiAgICB7CiAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBTM0NsaWVudCAqLwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCcvZm9vYmFyIHRlc3Q6IGFiYy8rJS5hJyk7CiAgICAgICAgJHVybCA9ICRjbGllbnQtPmNyZWF0ZVByZXNpZ25lZFVybCgkcmVxdWVzdCwgMTM0MjEzODc2OSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZm9vYmFyJTIwdGVzdCUzQSUyMGFiYy8lMkIlMjUuYT9BV1NBY2Nlc3NLZXlJZD0nLCAkdXJsKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNQcmVzaWduZWRVcmxzV2l0aFN0cnRvdGltZSgpCiAgICB7CiAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBTM0NsaWVudCAqLwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICR1cmwgPSBVcmw6OmZhY3RvcnkoJGNsaWVudC0+Y3JlYXRlUHJlc2lnbmVkVXJsKCRjbGllbnQtPmdldCgnL2Zvb2JhcicpLCAnMTAgbWludXRlcycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSh0aW1lKCkgPCAkdXJsLT5nZXRRdWVyeSgpLT5nZXQoJ0V4cGlyZXMnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzUHJlc2lnbmVkVXJsc1dpdGhEYXRlVGltZSgpCiAgICB7CiAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBTM0NsaWVudCAqLwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICR1cmwgPSBVcmw6OmZhY3RvcnkoJGNsaWVudC0+Y3JlYXRlUHJlc2lnbmVkVXJsKCRjbGllbnQtPmdldCgnL2Zvb2JhcicpLCBuZXcgXERhdGVUaW1lKCcrMTAgbWludXRlcycpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUodGltZSgpIDwgJHVybC0+Z2V0UXVlcnkoKS0+Z2V0KCdFeHBpcmVzJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc1ByZXNpZ25lZFVybHNXaXRoU2Vzc2lvblRva2VuKCkKICAgIHsKICAgICAgICAvKiogQHZhciAkY2xpZW50IFMzQ2xpZW50ICovCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJGNsaWVudC0+c2V0Q3JlZGVudGlhbHMobmV3IENyZWRlbnRpYWxzKCdmb28nLCAnYmFyJywgJ2JheicpKTsKICAgICAgICAkdXJsID0gVXJsOjpmYWN0b3J5KCRjbGllbnQtPmNyZWF0ZVByZXNpZ25lZFVybCgkY2xpZW50LT5nZXQoJy9mb29iYXInKSwgJzEwIG1pbnV0ZXMnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmF6JywgJHVybC0+Z2V0UXVlcnkoKS0+Z2V0KCd4LWFtei1zZWN1cml0eS10b2tlbicpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgVGhlIHJlcXVlc3Qgb2JqZWN0IG11c3QgYmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGllbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNSZXF1ZXN0T2JqZWN0V2hlbkNyZWF0aW5nUHJlU2lnbmVkVXJsKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKTsKICAgICAgICAkY2xpZW50LT5jcmVhdGVQcmVzaWduZWRVcmwobmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZm9vLmNvbScpLCAnKzEwIG1pbnV0ZXMnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvZXNCdWNrZXRFeGlzdFJldHVybnNDb3JyZWN0Qm9vbGVhblZhbHVlKCkKICAgIHsKICAgICAgICAvKiogQHZhciAkY2xpZW50IFMzQ2xpZW50ICovCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgKICAgICAgICAgICAgJ3MzL2hlYWRfc3VjY2VzcycsCiAgICAgICAgICAgICdzMy9oZWFkX2FjY2Vzc19kZW5pZWQnLAogICAgICAgICAgICAnczMvaGVhZF9mYWlsdXJlJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkY2xpZW50LT5kb2VzQnVja2V0RXhpc3QoJ2J1Y2tldCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkY2xpZW50LT5kb2VzQnVja2V0RXhpc3QoJ2J1Y2tldCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNsaWVudC0+ZG9lc0J1Y2tldEV4aXN0KCdidWNrZXQnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzT2JqZWN0RXhpc3RSZXR1cm5zQ29ycmVjdEJvb2xlYW5WYWx1ZSgpCiAgICB7CiAgICAgICAgLyoqIEB2YXIgJGNsaWVudCBTM0NsaWVudCAqLwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgICdzMy9oZWFkX3N1Y2Nlc3MnLAogICAgICAgICAgICAnczMvaGVhZF9hY2Nlc3NfZGVuaWVkJywKICAgICAgICAgICAgJ3MzL2hlYWRfZmFpbHVyZScKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGNsaWVudC0+ZG9lc09iamVjdEV4aXN0KCdidWNrZXQnLCAna2V5JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkY2xpZW50LT5kb2VzT2JqZWN0RXhpc3QoJ2J1Y2tldCcsICdrZXknKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjbGllbnQtPmRvZXNPYmplY3RFeGlzdCgnYnVja2V0JywgJ2tleScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvZXNCdWNrZXRQb2xpY3lFeGlzdFJldHVybnNDb3JyZWN0Qm9vbGVhblZhbHVlKCkKICAgIHsKICAgICAgICAvKiogQHZhciAkY2xpZW50IFMzQ2xpZW50ICovCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgKICAgICAgICAgICAgJ3MzL2dldF9idWNrZXRfcG9saWN5X3N1Y2Nlc3MnLAogICAgICAgICAgICAnczMvZ2V0X2J1Y2tldF9wb2xpY3lfZmFpbHVyZScKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGNsaWVudC0+ZG9lc0J1Y2tldFBvbGljeUV4aXN0KCdidWNrZXQnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjbGllbnQtPmRvZXNCdWNrZXRQb2xpY3lFeGlzdCgnYnVja2V0JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2xlYXJzQnVja2V0SGVscGVyQW5kVXNlc1N1YlJlc291cmNlcygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KAogICAgICAgICAgICAnczMvZ2V0X2J1Y2tldF9vYmplY3RfdmVyc2lvbnNfcGFnZV8yJywKICAgICAgICAgICAgJ3MzL2RlbGV0ZV9tdWx0aXBsZV9vYmplY3RzJwogICAgICAgICkpOwogICAgICAgICRjbGllbnQtPmNsZWFyQnVja2V0KCdmb28nKTsKICAgICAgICAkcmVxdWVzdHMgPSAkbW9jay0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cygpOwogICAgICAgIGZvcmVhY2ggKCRyZXF1ZXN0cyBhcyAkcmVxdWVzdCkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28uczMuYW1hem9uYXdzLmNvbScsICRyZXF1ZXN0LT5nZXRIb3N0KCkpOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCRyZXF1ZXN0cykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXF1ZXN0c1swXS0+Z2V0UXVlcnkoKS0+aGFzS2V5KCd2ZXJzaW9ucycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVxdWVzdHNbMV0tPmdldFF1ZXJ5KCktPmhhc0tleSgnZGVsZXRlJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UHJvcGVybHlFbmNvZGVzUHJlZml4S2V5cygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnL2Zvby9iYXolMjAvYmFyJTIxJywgUzNDbGllbnQ6OmVuY29kZUtleSgnL2Zvby9iYXogL2JhciEnKSk7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJGNvbW1hbmQgPSAkY2xpZW50LT5nZXRDb21tYW5kKCdQdXRPYmplY3QnLCBhcnJheSgKICAgICAgICAgICAgJ0tleScgICAgPT4gJ2Zvby9iYXogL2JhciEnLAogICAgICAgICAgICAnQnVja2V0JyA9PiAndGVzdCcsCiAgICAgICAgICAgICdCb2R5JyAgID0+ICcnCiAgICAgICAgKSk7CiAgICAgICAgJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvZm9vL2JheiUyMC9iYXIlMjEnLCAkY29tbWFuZC0+Z2V0UmVxdWVzdCgpLT5nZXRQYXRoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3QuczMuYW1hem9uYXdzLmNvbScsICRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldEhvc3QoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFeHBsb2Rlc0tleXMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2ZvbycsICdiYXogJywgJ2JhciEnKSwgUzNDbGllbnQ6OmV4cGxvZGVLZXkoJ2Zvby9iYXogL2JhciEnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnZm9vJywgJ2JheiAnLCAnYmFyIScpLCBTM0NsaWVudDo6ZXhwbG9kZUtleSgnL2Zvby9iYXogL2JhciEnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnJyksIFMzQ2xpZW50OjpleHBsb2RlS2V5KCcnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnJyksIFMzQ2xpZW50OjpleHBsb2RlS2V5KG51bGwpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGF0YUZvckNhbkNyZWF0ZU9iamVjdFVybHNUZXN0KCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KG51bGwsIGFycmF5KCksICdodHRwczovL2Zvby5zMy5hbWF6b25hd3MuY29tL2JhcicpLAogICAgICAgICAgICBhcnJheSgnKzEgaG91cicsIGFycmF5KCksICcjXmh0dHBzXDovL2Zvb1wuczNcLmFtYXpvbmF3c1wuY29tL2Jhclw/LipBV1NBY2Nlc3NLZXlJZC4qRXhwaXJlcy4qU2lnbmF0dXJlLiokIycpLAogICAgICAgICAgICBhcnJheShudWxsLCBhcnJheSgnU2NoZW1lJyA9PiAnaHR0cCcpLCAnaHR0cDovL2Zvby5zMy5hbWF6b25hd3MuY29tL2JhcicpLAogICAgICAgICAgICBhcnJheShudWxsLCBhcnJheSgnU2NoZW1lJyA9PiAnZnRwJyksICdmdHA6Ly9mb28uczMuYW1hem9uYXdzLmNvbS9iYXInKSwKICAgICAgICAgICAgYXJyYXkobnVsbCwgYXJyYXkoJ1NjaGVtZScgPT4gJycpLCAnOi8vZm9vLnMzLmFtYXpvbmF3cy5jb20vYmFyJyksCiAgICAgICAgICAgIGFycmF5KG51bGwsIGFycmF5KCdTY2hlbWUnID0+IG51bGwpLCAnLy9mb28uczMuYW1hem9uYXdzLmNvbS9iYXInKSwKICAgICAgICAgICAgYXJyYXkobnVsbCwgYXJyYXkoJ1Jlc3BvbnNlQ29udGVudFR5cGUnID0+ICdpbWFnZS9wbmcnKSwgJ2h0dHBzOi8vZm9vLnMzLmFtYXpvbmF3cy5jb20vYmFyP3Jlc3BvbnNlLWNvbnRlbnQtdHlwZT0nIC4gdXJsZW5jb2RlKCdpbWFnZS9wbmcnKSksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgZGF0YUZvckNhbkNyZWF0ZU9iamVjdFVybHNUZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQ3JlYXRlT2JqZWN0VXJscygkZXhwaXJlcywgYXJyYXkgJGFyZ3MsICRleHBlY3RlZFVybCkKICAgIHsKICAgICAgICAvKiogQHZhciAkY2xpZW50IFMzQ2xpZW50ICovCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJGFjdHVhbFVybCA9ICRjbGllbnQtPmdldE9iamVjdFVybCgnZm9vJywgJ2JhcicsICRleHBpcmVzLCAkYXJncyk7CiAgICAgICAgaWYgKHN0cnBvcygkZXhwZWN0ZWRVcmwsICcjXicpID09PSAwKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRSZWdFeHAoJGV4cGVjdGVkVXJsLCAkYWN0dWFsVXJsKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRleHBlY3RlZFVybCwgJGFjdHVhbFVybCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGVsZXRlc01hdGNoaW5nT2JqZWN0c0Vuc3VyZXNQcmVmaXhPclJlZ2V4KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkY2xpZW50LT5kZWxldGVNYXRjaGluZ09iamVjdHMoJ2ZvbycsICcnLCAnJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZWxldGVzTWF0Y2hpbmdPYmplY3RzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkaGlzdG9yeSA9IG5ldyBIaXN0b3J5UGx1Z2luKCk7CiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkaGlzdG9yeSk7CgogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgICdzMy9saXN0X29iamVjdHNfcGFnZV8xJywKICAgICAgICAgICAgJ3MzL2xpc3Rfb2JqZWN0c19wYWdlXzInLAogICAgICAgICAgICAnczMvbGlzdF9vYmplY3RzX3BhZ2VfMycsCiAgICAgICAgICAgICdzMy9saXN0X29iamVjdHNfcGFnZV80JywKICAgICAgICAgICAgJ3MzL2xpc3Rfb2JqZWN0c19wYWdlXzUnLAogICAgICAgICAgICAnczMvZGVsZXRlX211bHRpcGxlX29iamVjdHMnCiAgICAgICAgKSk7CgogICAgICAgICRldmVudCA9IG51bGw7CiAgICAgICAgLy8gRGVsZXRlIG9iamVjdHMgZnJvbSB0aGUgZm9vIGJ1Y2tldCB1bmRlciB0aGUgYmF6IGtleSB0aGF0IGFyZSBhIHNpbmdsZSBsb3dlcmNhc2UgbGV0dGVyCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPmRlbGV0ZU1hdGNoaW5nT2JqZWN0cygnZm9vJywgJ2JheicsICcvKGN8ZikvJywgYXJyYXkoCiAgICAgICAgICAgICdiZWZvcmVfZGVsZXRlJyA9PiBmdW5jdGlvbiAoJGUpIHVzZSAoJiRldmVudCkgewogICAgICAgICAgICAgICAgJGV2ZW50ID0gJGU7CiAgICAgICAgICAgIH0KICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCAkcmVzdWx0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDYsIGNvdW50KCRoaXN0b3J5KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUE9TVCcsICRoaXN0b3J5LT5nZXRMYXN0UmVxdWVzdCgpLT5nZXRNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnLz9kZWxldGUnLCAkaGlzdG9yeS0+Z2V0TGFzdFJlcXVlc3QoKS0+Z2V0UmVzb3VyY2UoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCc8S2V5PmM8L0tleT4nLCAoc3RyaW5nKSAkaGlzdG9yeS0+Z2V0TGFzdFJlcXVlc3QoKS0+Z2V0Qm9keSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJzxLZXk+ZjwvS2V5PicsIChzdHJpbmcpICRoaXN0b3J5LT5nZXRMYXN0UmVxdWVzdCgpLT5nZXRCb2R5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RDb250YWlucygnPEtleT5lPC9LZXk+JywgKHN0cmluZykgJGhpc3RvcnktPmdldExhc3RSZXF1ZXN0KCktPmdldEJvZHkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxDb21tb25cRXZlbnQnLCAkZXZlbnQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXBsb2Fkc1NtYWxsZXJPYmplY3RzVXNpbmdQdXRPYmplY3QoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICRtb2NrID0gbmV3IE1vY2tQbHVnaW4oYXJyYXkobmV3IFJlc3BvbnNlKDIwNikpKTsKICAgICAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKCRtb2NrKTsKICAgICAgICAkaGlzdG9yeSA9IG5ldyBIaXN0b3J5UGx1Z2luKCk7CiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkaGlzdG9yeSk7CiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPnVwbG9hZCgndGVzdCcsICdrZXknLCAndGVzdCcsICdwdWJsaWMtcmVhZCcsIGFycmF5KAogICAgICAgICAgICAncGFyYW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdNZXRhZGF0YScgPT4gYXJyYXkoJ0ZvbycgPT4gJ0JhcicpCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWwnLCAkcmVzdWx0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoMSwgJGhpc3RvcnkpOwogICAgICAgICRyZXF1ZXN0ID0gJGhpc3RvcnktPmdldExhc3RSZXF1ZXN0KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUFVUJywgJHJlcXVlc3QtPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcva2V5JywgJHJlcXVlc3QtPmdldFJlc291cmNlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3QuczMuYW1hem9uYXdzLmNvbScsICRyZXF1ZXN0LT5nZXRIb3N0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3B1YmxpYy1yZWFkJywgKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcigneC1hbXotYWNsJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0JhcicsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ3gtYW16LW1ldGEtRm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3QnLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0Qm9keSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVwbG9hZHNMYXJnZXJPYmplY3RzVXNpbmdNdWx0aXBhcnRVcGxvYWRzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KAogICAgICAgICAgICAnczMvaW5pdGlhdGVfbXVsdGlwYXJ0X3VwbG9hZCcsCiAgICAgICAgICAgICdzMy91cGxvYWRfcGFydCcsCiAgICAgICAgICAgICdzMy91cGxvYWRfcGFydCcsCiAgICAgICAgICAgICdzMy9jb21wbGV0ZV9tdWx0aXBhcnRfdXBsb2FkJwogICAgICAgICkpOwogICAgICAgICRoaXN0b3J5ID0gbmV3IEhpc3RvcnlQbHVnaW4oKTsKICAgICAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKCRoaXN0b3J5KTsKICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+dXBsb2FkKCd0ZXN0JywgJ2tleScsIGZvcGVuKF9fRklMRV9fLCAncicpLCAncHVibGljLXJlYWQnLCBhcnJheSgKICAgICAgICAgICAgJ21pbl9wYXJ0X3NpemUnID0+IDQsCiAgICAgICAgICAgICdwYXJhbXMnICAgICAgICA9PiBhcnJheSgnTWV0YWRhdGEnID0+IGFycmF5KCdGb28nID0+ICdCYXInKSkKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWwnLCAkcmVzdWx0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoMywgJGhpc3RvcnkpOwogICAgICAgICRyZXF1ZXN0ID0gJGhpc3RvcnktPmdldExhc3RSZXF1ZXN0KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUE9TVCcsICRyZXF1ZXN0LT5nZXRNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFN0cmluZ1N0YXJ0c1dpdGgoJy9rZXk/dXBsb2FkSWQ9JywgJHJlcXVlc3QtPmdldFJlc291cmNlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FwcGxpY2F0aW9uL3htbCcsICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJzxQYXJ0TnVtYmVyPjE8L1BhcnROdW1iZXI+JywgKHN0cmluZykgJHJlcXVlc3QtPmdldEJvZHkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVcGxvYWRzRGlyZWN0b3JpZXMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICRoaXN0b3J5ID0gbmV3IEhpc3RvcnlQbHVnaW4oKTsKICAgICAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKCRoaXN0b3J5KTsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2ZvbycgPT4gJ2JhcicpOwoKICAgICAgICAkbW9ja0J1aWxkID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcUzNcU3luY1xVcGxvYWRTeW5jJykKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgndHJhbnNmZXInKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CgogICAgICAgICRtb2NrQnVpbGQtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3RyYW5zZmVyJyk7CgogICAgICAgICRtb2NrID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcUzNcU3luY1xVcGxvYWRTeW5jQnVpbGRlcicpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgndXBsb2FkRnJvbURpcmVjdG9yeScsICdzZXRDbGllbnQnLCAnc2V0QnVja2V0JywgJ3NldEtleVByZWZpeCcsCiAgICAgICAgICAgICAgICAnc2V0Q29uY3VycmVuY3knLCAnc2V0QmFzZURpcicsICdmb3JjZScsICdzZXRPcGVyYXRpb25QYXJhbXMnLCAnZW5hYmxlRGVidWdPdXRwdXQnLAogICAgICAgICAgICAgICAgJ3NldE11bHRpcGFydFVwbG9hZFNpemUnLCAnYnVpbGQnKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CgogICAgICAgICRtb2NrLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpLT5tZXRob2QoJ3VwbG9hZEZyb21EaXJlY3RvcnknKS0+d2l0aCgnL3BhdGgnKS0+d2lsbCgkdGhpcy0+cmV0dXJuU2VsZigpKTsKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKS0+bWV0aG9kKCdzZXRDbGllbnQnKS0+d2l0aCgkY2xpZW50KS0+d2lsbCgkdGhpcy0+cmV0dXJuU2VsZigpKTsKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKS0+bWV0aG9kKCdzZXRCdWNrZXQnKS0+d2l0aCgnYnVja2V0JyktPndpbGwoJHRoaXMtPnJldHVyblNlbGYoKSk7CiAgICAgICAgJG1vY2stPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSktPm1ldGhvZCgnc2V0S2V5UHJlZml4JyktPndpdGgoJ3ByZWZpeCcpLT53aWxsKCR0aGlzLT5yZXR1cm5TZWxmKCkpOwogICAgICAgICRtb2NrLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpLT5tZXRob2QoJ3NldEJhc2VEaXInKS0+d2l0aCgnL3BhdGgnKS0+d2lsbCgkdGhpcy0+cmV0dXJuU2VsZigpKTsKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKS0+bWV0aG9kKCdzZXRDb25jdXJyZW5jeScpLT53aXRoKDIwKS0+d2lsbCgkdGhpcy0+cmV0dXJuU2VsZigpKTsKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKS0+bWV0aG9kKCdzZXRPcGVyYXRpb25QYXJhbXMnKS0+d2l0aCgkcGFyYW1zKS0+d2lsbCgkdGhpcy0+cmV0dXJuU2VsZigpKTsKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKS0+bWV0aG9kKCdlbmFibGVEZWJ1Z091dHB1dCcpLT53aXRoKHRydWUpLT53aWxsKCR0aGlzLT5yZXR1cm5TZWxmKCkpOwogICAgICAgICRtb2NrLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpLT5tZXRob2QoJ2ZvcmNlJyktPndpdGgoZmFsc2UpLT53aWxsKCR0aGlzLT5yZXR1cm5TZWxmKCkpOwogICAgICAgICRtb2NrLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpLT5tZXRob2QoJ2J1aWxkJyktPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRtb2NrQnVpbGQpKTsKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKS0+bWV0aG9kKCdzZXRNdWx0aXBhcnRVcGxvYWRTaXplJyktPndpdGgoMTApLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkbW9ja0J1aWxkKSk7CgogICAgICAgICRjbGllbnQtPnVwbG9hZERpcmVjdG9yeSgnL3BhdGgnLCAnYnVja2V0JywgJ3ByZWZpeCcsIGFycmF5KAogICAgICAgICAgICAnY29uY3VycmVuY3knID0+IDIwLAogICAgICAgICAgICAnYnVpbGRlcicgICAgID0+ICRtb2NrLAogICAgICAgICAgICAncGFyYW1zJyAgICAgID0+ICRwYXJhbXMsCiAgICAgICAgICAgICdkZWJ1ZycgICAgICAgPT4gdHJ1ZSwKICAgICAgICAgICAgJ211bHRpcGFydF91cGxvYWRfc2l6ZScgPT4gMTAKICAgICAgICApKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvd25sb2Fkc0J1Y2tldHMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICRoaXN0b3J5ID0gbmV3IEhpc3RvcnlQbHVnaW4oKTsKICAgICAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKCRoaXN0b3J5KTsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2ZvbycgPT4gJ2JhcicpOwoKICAgICAgICAkbW9ja0J1aWxkID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcUzNcU3luY1xEb3dubG9hZFN5bmMnKQogICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCd0cmFuc2ZlcicpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJG1vY2tCdWlsZC0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgndHJhbnNmZXInKTsKCiAgICAgICAgJG1vY2sgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xTM1xTeW5jXERvd25sb2FkU3luY0J1aWxkZXInKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ3NldERpcmVjdG9yeScsICdzZXRDbGllbnQnLCAnc2V0QnVja2V0JywgJ3NldEtleVByZWZpeCcsICdhbGxvd1Jlc3VtYWJsZURvd25sb2FkcycsCiAgICAgICAgICAgICAgICAnc2V0Q29uY3VycmVuY3knLCAnZm9yY2UnLCAnc2V0T3BlcmF0aW9uUGFyYW1zJywgJ2VuYWJsZURlYnVnT3V0cHV0JywgJ2J1aWxkJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwoKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKS0+bWV0aG9kKCdzZXREaXJlY3RvcnknKS0+d2l0aCgnL3BhdGgnKS0+d2lsbCgkdGhpcy0+cmV0dXJuU2VsZigpKTsKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKS0+bWV0aG9kKCdzZXRDbGllbnQnKS0+d2l0aCgkY2xpZW50KS0+d2lsbCgkdGhpcy0+cmV0dXJuU2VsZigpKTsKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKS0+bWV0aG9kKCdzZXRCdWNrZXQnKS0+d2l0aCgnYnVja2V0JyktPndpbGwoJHRoaXMtPnJldHVyblNlbGYoKSk7CiAgICAgICAgJG1vY2stPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSktPm1ldGhvZCgnc2V0S2V5UHJlZml4JyktPndpdGgoJ3ByZWZpeCcpLT53aWxsKCR0aGlzLT5yZXR1cm5TZWxmKCkpOwogICAgICAgICRtb2NrLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpLT5tZXRob2QoJ3NldENvbmN1cnJlbmN5JyktPndpdGgoMjApLT53aWxsKCR0aGlzLT5yZXR1cm5TZWxmKCkpOwogICAgICAgICRtb2NrLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpLT5tZXRob2QoJ3NldE9wZXJhdGlvblBhcmFtcycpLT53aXRoKCRwYXJhbXMpLT53aWxsKCR0aGlzLT5yZXR1cm5TZWxmKCkpOwogICAgICAgICRtb2NrLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpLT5tZXRob2QoJ2VuYWJsZURlYnVnT3V0cHV0JyktPndpdGgodHJ1ZSktPndpbGwoJHRoaXMtPnJldHVyblNlbGYoKSk7CiAgICAgICAgJG1vY2stPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSktPm1ldGhvZCgnZm9yY2UnKS0+d2l0aChmYWxzZSktPndpbGwoJHRoaXMtPnJldHVyblNlbGYoKSk7CiAgICAgICAgJG1vY2stPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSktPm1ldGhvZCgnYWxsb3dSZXN1bWFibGVEb3dubG9hZHMnKS0+d2lsbCgkdGhpcy0+cmV0dXJuU2VsZigpKTsKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKS0+bWV0aG9kKCdidWlsZCcpLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkbW9ja0J1aWxkKSk7CgogICAgICAgICRjbGllbnQtPmRvd25sb2FkQnVja2V0KCcvcGF0aCcsICdidWNrZXQnLCAncHJlZml4JywgYXJyYXkoCiAgICAgICAgICAgICdjb25jdXJyZW5jeScgPT4gMjAsCiAgICAgICAgICAgICdidWlsZGVyJyAgICAgPT4gJG1vY2ssCiAgICAgICAgICAgICdwYXJhbXMnICAgICAgPT4gJHBhcmFtcywKICAgICAgICAgICAgJ2RlYnVnJyAgICAgICA9PiB0cnVlLAogICAgICAgICAgICAnYWxsb3dfcmVzdW1hYmxlJyAgID0+IHRydWUKICAgICAgICApKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/S3SignatureTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzM7Cgp1c2UgQXdzXFMzXFMzU2lnbmF0dXJlOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFMzXFMzU2lnbmF0dXJlCiAqLwpjbGFzcyBTM1NpZ25hdHVyZVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBzaWduYXR1cmVEYXRhUHJvdmlkZXIoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndmVyYicgPT4gJ1BVVCcsCiAgICAgICAgICAgICAgICAgICAgJ3BhdGgnID0+ICcvZGItYmFja3VwLmRhdC5neicsCiAgICAgICAgICAgICAgICAgICAgJ2hlYWRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVXNlci1BZ2VudCcgPT4gJ2N1cmwvNy4xNS41JywKICAgICAgICAgICAgICAgICAgICAgICAgJ0hvc3QnID0+ICdzdGF0aWMuam9obnNtaXRoLm5ldDo4MDgwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ0RhdGUnID0+ICdUdWUsIDI3IE1hciAyMDA3IDIxOjA2OjA4ICswMDAwJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3gtYW16LWFjbCcgPT4gJ3B1YmxpYy1yZWFkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRlbnQtdHlwZScgPT4gJ2FwcGxpY2F0aW9uL3gtZG93bmxvYWQnLAogICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1NRDUnID0+ICc0Z0pFNHNhYU1VNEJxTlIwa0xZK2x3PT0nLAogICAgICAgICAgICAgICAgICAgICAgICAnWC1BbXotTWV0YS1SZXZpZXdlZEJ5JyA9PiAnam9lQGpvaG5zbWl0aC5uZXQsamFuZUBqb2huc21pdGgubmV0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ1gtQW16LU1ldGEtRmlsZUNoZWNrc3VtJyA9PiAnMHgwMjY2MTc3OScsCiAgICAgICAgICAgICAgICAgICAgICAgICdYLUFtei1NZXRhLUNoZWNrc3VtQWxnb3JpdGhtJyA9PiAnY3JjMzInLAogICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1EaXNwb3NpdGlvbicgPT4gJ2F0dGFjaG1lbnQ7IGZpbGVuYW1lPWRhdGFiYXNlLmRhdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LUVuY29kaW5nJyA9PiAnZ3ppcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgPT4gJzU5MTMzMzknCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwgIlBVVFxuNGdKRTRzYWFNVTRCcU5SMGtMWStsdz09XG5hcHBsaWNhdGlvbi94LWRvd25sb2FkXG5UdWUsIDI3IE1hciAyMDA3IDIxOjA2OjA4ICswMDAwXG54LWFtei1hY2w6cHVibGljLXJlYWRcbngtYW16LW1ldGEtY2hlY2tzdW1hbGdvcml0aG06Y3JjMzJcbngtYW16LW1ldGEtZmlsZWNoZWNrc3VtOjB4MDI2NjE3NzlcbngtYW16LW1ldGEtcmV2aWV3ZWRieTpqb2VAam9obnNtaXRoLm5ldCxqYW5lQGpvaG5zbWl0aC5uZXRcbi9zdGF0aWMuam9obnNtaXRoLm5ldC9kYi1iYWNrdXAuZGF0Lmd6IgogICAgICAgICAgICApLAogICAgICAgICAgICAvLyBVc2UgdHdvIHN1YnJlc291cmNlcyB0byBzZXQgdGhlIEFDTCBvZiBhIHNwZWNpZmljIHZlcnNpb24gYW5kCiAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSBzdWJyZXNvdXJjZXMgYXJlIHNvcnRlZCBjb3JyZWN0bHkKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndmVyYicgPT4gJ1BVVCcsCiAgICAgICAgICAgICAgICAgICAgJ3BhdGgnID0+ICcva2V5P3ZlcnNpb25JZD0xMjM0JmFjbD1fZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICAgICAgJ2hlYWRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSG9zdCcgPT4gJ3Rlc3QuczMuYW1hem9uYXdzLmNvbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdEYXRlJyA9PiAnVHVlLCAyNyBNYXIgMjAwNyAyMTowNjowOCArMDAwMCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgPT4gJzE1JwogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAiUFVUXG5cblxuVHVlLCAyNyBNYXIgMjAwNyAyMTowNjowOCArMDAwMFxuL3Rlc3Qva2V5P2FjbCZ2ZXJzaW9uSWQ9MTIzNCIKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gREVMRVRFIGEgcGF0aCBob3N0ZWQgb2JqZWN0IHdpdGggYSBmb2xkZXIgcHJlZml4IGFuZCBjdXN0b20gaGVhZGVycwogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICd2ZXJiJyA9PiAnREVMRVRFJywKICAgICAgICAgICAgICAgICAgICAncGF0aCcgPT4gJy9qb2huc21pdGgvcGhvdG9zL3B1cHB5LmpwZycsCiAgICAgICAgICAgICAgICAgICAgJ2hlYWRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnVXNlci1BZ2VudCcgPT4gJ2RvdG5ldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdIb3N0JyA9PiAnczMuYW1hem9uYXdzLmNvbScsCiAgICAgICAgICAgICAgICAgICAgICAgICd4LWFtei1kYXRlJyA9PiAnVHVlLCAyNyBNYXIgMjAwNyAyMToyMDoyNiArMDAwMCcKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLCAiREVMRVRFXG5cblxuXG54LWFtei1kYXRlOlR1ZSwgMjcgTWFyIDIwMDcgMjE6MjA6MjYgKzAwMDBcbi9qb2huc21pdGgvcGhvdG9zL3B1cHB5LmpwZyIKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gTGlzdCBidWNrZXRzCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3ZlcmInID0+ICdHRVQnLAogICAgICAgICAgICAgICAgICAgICdwYXRoJyA9PiAnLycsCiAgICAgICAgICAgICAgICAgICAgJ2hlYWRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSG9zdCcgPT4gJ3MzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICAgICAgICAgICAgICAgICAnRGF0ZScgPT4gJ1dlZCwgMjggTWFyIDIwMDcgMDE6Mjk6NTkgKzAwMDAnCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwgIkdFVFxuXG5cbldlZCwgMjggTWFyIDIwMDcgMDE6Mjk6NTkgKzAwMDBcbi8iCiAgICAgICAgICAgICksCiAgICAgICAgICAgIC8vIEdFVCB0aGUgQUNMIG9mIGEgdmlydHVhbCBob3N0ZWQgYnVja2V0CiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3ZlcmInID0+ICdHRVQnLAogICAgICAgICAgICAgICAgICAgICdwYXRoJyA9PiAnLz9hY2w9X2d1enpsZV9ibGFua18nLAogICAgICAgICAgICAgICAgICAgICdoZWFkZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0hvc3QnID0+ICdqb2huc21pdGguczMuYW1hem9uYXdzLmNvbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdEYXRlJyA9PiAnVHVlLCAyNyBNYXIgMjAwNyAxOTo0NDo0NiArMDAwMCcKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLCAiR0VUXG5cblxuVHVlLCAyNyBNYXIgMjAwNyAxOTo0NDo0NiArMDAwMFxuL2pvaG5zbWl0aC8/YWNsIgogICAgICAgICAgICApLAogICAgICAgICAgICAvLyBHRVQgdGhlIGNvbnRlbnRzIG9mIGEgYnVja2V0IHVzaW5nIHBhcmFtZXRlcnMKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndmVyYicgPT4gJ0dFVCcsCiAgICAgICAgICAgICAgICAgICAgJ3BhdGgnID0+ICcvP3ByZWZpeD1waG90b3MmbWF4LWtleXM9NTAmbWFya2VyPXB1cHB5JywKICAgICAgICAgICAgICAgICAgICAnaGVhZGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdVc2VyLUFnZW50JyA9PiAnTW96aWxsYS81LjAnLAogICAgICAgICAgICAgICAgICAgICAgICAnSG9zdCcgPT4gJ2pvaG5zbWl0aC5zMy5hbWF6b25hd3MuY29tJywKICAgICAgICAgICAgICAgICAgICAgICAgJ0RhdGUnID0+ICdUdWUsIDI3IE1hciAyMDA3IDE5OjQyOjQxICswMDAwJwogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICksICJHRVRcblxuXG5UdWUsIDI3IE1hciAyMDA3IDE5OjQyOjQxICswMDAwXG4vam9obnNtaXRoLyIKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gUFVUIGFuIG9iamVjdCB3aXRoIGEgZm9sZGVyIHByZWZpeCBmcm9tIGEgdmlydHVhbCBob3N0ZWQgYnVja2V0CiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3ZlcmInID0+ICdQVVQnLAogICAgICAgICAgICAgICAgICAgICdwYXRoJyA9PiAnL3Bob3Rvcy9wdXBweS5qcGcnLAogICAgICAgICAgICAgICAgICAgICdoZWFkZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gJ2ltYWdlL2pwZWcnLAogICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1MZW5ndGgnID0+ICc5NDMyOCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdIb3N0JyA9PiAnam9obnNtaXRoLnMzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICAgICAgICAgICAgICAgICAnRGF0ZScgPT4gJ1R1ZSwgMjcgTWFyIDIwMDcgMjE6MTU6NDUgKzAwMDAnCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwgIlBVVFxuXG5pbWFnZS9qcGVnXG5UdWUsIDI3IE1hciAyMDA3IDIxOjE1OjQ1ICswMDAwXG4vam9obnNtaXRoL3Bob3Rvcy9wdXBweS5qcGciCiAgICAgICAgICAgICksCiAgICAgICAgICAgIC8vIEdFVCBhbiBvYmplY3Qgd2l0aCBhIGZvbGRlciBwcmVmaXggZnJvbSBhIHZpcnR1YWwgaG9zdGVkIGJ1Y2tldAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICd2ZXJiJyA9PiAnR0VUJywKICAgICAgICAgICAgICAgICAgICAncGF0aCcgPT4gJy9waG90b3MvcHVwcHkuanBnJywKICAgICAgICAgICAgICAgICAgICAnaGVhZGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdIb3N0JyA9PiAnam9obnNtaXRoLnMzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICAgICAgICAgICAgICAgICAnRGF0ZScgPT4gJ1R1ZSwgMjcgTWFyIDIwMDcgMTk6MzY6NDIgKzAwMDAnCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwgIkdFVFxuXG5cblR1ZSwgMjcgTWFyIDIwMDcgMTk6MzY6NDIgKzAwMDBcbi9qb2huc21pdGgvcGhvdG9zL3B1cHB5LmpwZyIKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gU2V0IHRoZSBBQ0wgb2YgYW4gb2JqZWN0CiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3ZlcmInID0+ICdQVVQnLAogICAgICAgICAgICAgICAgICAgICdwYXRoJyA9PiAnL3Bob3Rvcy9wdXBweS5qcGc/YWNsPV9ndXp6bGVfYmxhbmtfJywKICAgICAgICAgICAgICAgICAgICAnaGVhZGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdIb3N0JyA9PiAnam9obnNtaXRoLnMzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICAgICAgICAgICAgICAgICAnRGF0ZScgPT4gJ1R1ZSwgMjcgTWFyIDIwMDcgMTk6MzY6NDIgKzAwMDAnCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwgIlBVVFxuXG5cblR1ZSwgMjcgTWFyIDIwMDcgMTk6MzY6NDIgKzAwMDBcbi9qb2huc21pdGgvcGhvdG9zL3B1cHB5LmpwZz9hY2wiCiAgICAgICAgICAgICksCiAgICAgICAgICAgIC8vIFNldCB0aGUgQUNMIG9mIGFuIG9iamVjdCB3aXRoIG5vIHByZWZpeAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICd2ZXJiJyA9PiAnUFVUJywKICAgICAgICAgICAgICAgICAgICAncGF0aCcgPT4gJy9waG90b3MvcHVwcHk/YWNsPV9ndXp6bGVfYmxhbmtfJywKICAgICAgICAgICAgICAgICAgICAnaGVhZGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdIb3N0JyA9PiAnam9obnNtaXRoLnMzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICAgICAgICAgICAgICAgICAnRGF0ZScgPT4gJ1R1ZSwgMjcgTWFyIDIwMDcgMTk6MzY6NDIgKzAwMDAnCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwgIlBVVFxuXG5cblR1ZSwgMjcgTWFyIDIwMDcgMTk6MzY6NDIgKzAwMDBcbi9qb2huc21pdGgvcGhvdG9zL3B1cHB5P2FjbCIKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gU2V0IHRoZSBBQ0wgb2YgYW4gb2JqZWN0IHdpdGggbm8gcHJlZml4IGluIGEgcGF0aCBob3N0ZWQgYnVja2V0CiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3ZlcmInID0+ICdQVVQnLAogICAgICAgICAgICAgICAgICAgICdwYXRoJyA9PiAnL2pvaG5zbWl0aC9waG90b3MvcHVwcHk/YWNsPV9ndXp6bGVfYmxhbmtfJywKICAgICAgICAgICAgICAgICAgICAnaGVhZGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdIb3N0JyA9PiAnczMuYW1hem9uYXdzLmNvbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdEYXRlJyA9PiAnVHVlLCAyNyBNYXIgMjAwNyAxOTozNjo0MiArMDAwMCcKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLCAiUFVUXG5cblxuVHVlLCAyNyBNYXIgMjAwNyAxOTozNjo0MiArMDAwMFxuL2pvaG5zbWl0aC9waG90b3MvcHVwcHk/YWNsIgogICAgICAgICAgICApLAogICAgICAgICAgICAvLyBTZXQgdGhlIEFDTCBvZiBhIHBhdGggaG9zdGVkIGJ1Y2tldAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICd2ZXJiJyA9PiAnUFVUJywKICAgICAgICAgICAgICAgICAgICAncGF0aCcgPT4gJy9qb2huc21pdGg/YWNsPV9ndXp6bGVfYmxhbmtfJywKICAgICAgICAgICAgICAgICAgICAnaGVhZGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdIb3N0JyA9PiAnczMuYW1hem9uYXdzLmNvbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdEYXRlJyA9PiAnVHVlLCAyNyBNYXIgMjAwNyAxOTozNjo0MiArMDAwMCcKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLCAiUFVUXG5cblxuVHVlLCAyNyBNYXIgMjAwNyAxOTozNjo0MiArMDAwMFxuL2pvaG5zbWl0aD9hY2wiCiAgICAgICAgICAgICksCiAgICAgICAgICAgIC8vIFNldCB0aGUgQUNMIG9mIGEgcGF0aCBob3N0ZWQgYnVja2V0IHdpdGggYW4gZXJyb25lb3VzIHBhdGggdmFsdWUKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndmVyYicgPT4gJ1BVVCcsCiAgICAgICAgICAgICAgICAgICAgJ3BhdGgnID0+ICcvam9obnNtaXRoP2FjbD1fZ3V6emxlX2JsYW5rXycsCiAgICAgICAgICAgICAgICAgICAgJ2hlYWRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSG9zdCcgPT4gJ3MzLmFtYXpvbmF3cy5jb20nLAogICAgICAgICAgICAgICAgICAgICAgICAnRGF0ZScgPT4gJ1R1ZSwgMjcgTWFyIDIwMDcgMTk6MzY6NDIgKzAwMDAnCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksICJQVVRcblxuXG5UdWUsIDI3IE1hciAyMDA3IDE5OjM2OjQyICswMDAwXG4vam9obnNtaXRoP2FjbCIKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gU2VuZCBhIHJlcXVlc3QgdG8gdGhlIEVVIHJlZ2lvbgogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICd2ZXJiJyA9PiAnR0VUJywKICAgICAgICAgICAgICAgICAgICAncGF0aCcgPT4gJy9qb2huc21pdGgnLAogICAgICAgICAgICAgICAgICAgICdoZWFkZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0hvc3QnID0+ICd0ZXN0LnMzLWV1LXdlc3QtMS5hbWF6b25hd3MuY29tJywKICAgICAgICAgICAgICAgICAgICAgICAgJ0RhdGUnID0+ICdUdWUsIDI3IE1hciAyMDA3IDE5OjM2OjQyICswMDAwJwogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLCAiR0VUXG5cblxuVHVlLCAyNyBNYXIgMjAwNyAxOTozNjo0MiArMDAwMFxuL3Rlc3Qvam9obnNtaXRoIgogICAgICAgICAgICApLAogICAgICAgICAgICAvLyBVc2UgYSBidWNrZXQgd2l0aCBoeXBoZW5zIGFuZCBhIHJlZ2lvbgogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICd2ZXJiJyA9PiAnR0VUJywKICAgICAgICAgICAgICAgICAgICAncGF0aCcgPT4gJy9iYXInLAogICAgICAgICAgICAgICAgICAgICdoZWFkZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0hvc3QnID0+ICdmb28tczMtdGVzdC1idWNrZXQuczMtZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20nLAogICAgICAgICAgICAgICAgICAgICAgICAnRGF0ZScgPT4gJ1R1ZSwgMjcgTWFyIDIwMDcgMTk6MzY6NDIgKzAwMDAnCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksICJHRVRcblxuXG5UdWUsIDI3IE1hciAyMDA3IDE5OjM2OjQyICswMDAwXG4vZm9vLXMzLXRlc3QtYnVja2V0L2JhciIKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gVXNlIGEgYnVja2V0IHdpdGggaHlwaGVucyBhbmQgdGhlIGRlZmF1bHQgcmVnaW9uCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3ZlcmInID0+ICdHRVQnLAogICAgICAgICAgICAgICAgICAgICdwYXRoJyA9PiAnL2JhcicsCiAgICAgICAgICAgICAgICAgICAgJ2hlYWRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnSG9zdCcgPT4gJ2Zvby1zMy10ZXN0LWJ1Y2tldC5zMy5hbWF6b25hd3MuY29tJywKICAgICAgICAgICAgICAgICAgICAgICAgJ0RhdGUnID0+ICdUdWUsIDI3IE1hciAyMDA3IDE5OjM2OjQyICswMDAwJwogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLCAiR0VUXG5cblxuVHVlLCAyNyBNYXIgMjAwNyAxOTozNjo0MiArMDAwMFxuL2Zvby1zMy10ZXN0LWJ1Y2tldC9iYXIiCiAgICAgICAgICAgICksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgc2lnbmF0dXJlRGF0YVByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc0Nhbm9uaWNhbGl6ZWRTdHJpbmcoJGlucHV0LCAkcmVzdWx0LCAkZXhwaXJlcyA9IG51bGwpCiAgICB7CiAgICAgICAgJHNpZ25hdHVyZSA9IG5ldyBTM1NpZ25hdHVyZSgpOwogICAgICAgICRyZXF1ZXN0ID0gXEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgKICAgICAgICAgICAgJGlucHV0Wyd2ZXJiJ10sCiAgICAgICAgICAgICdodHRwOi8vJyAuICRpbnB1dFsnaGVhZGVycyddWydIb3N0J10gLiAkaW5wdXRbJ3BhdGgnXSwKICAgICAgICAgICAgJGlucHV0WydoZWFkZXJzJ10KICAgICAgICApOwogICAgICAgICRyZXF1ZXN0LT5zZXRDbGllbnQoJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcmVzdWx0LCAkc2lnbmF0dXJlLT5jcmVhdGVDYW5vbmljYWxpemVkU3RyaW5nKCRyZXF1ZXN0KSwgJGV4cGlyZXMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXF1ZXN0RGF0YVByb3ZpZGVyKCkKICAgIHsKICAgICAgICAkcmVzdWx0cyA9IGFycmF5KCk7CgogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICRjbGllbnQtPmdldENyZWRlbnRpYWxzKCktPnNldFNlY3VyaXR5VG9rZW4oJ2ZvbycpOwogICAgICAgICRyZXN1bHRzW10gPSBhcnJheSgkY2xpZW50LCAkY2xpZW50LT5nZXQoJy8nLCBhcnJheSgnRGF0ZScgPT4gZ21kYXRlKCdyJykpKSk7CgogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICRyZXN1bHRzW10gPSBhcnJheSgkY2xpZW50LCAkY2xpZW50LT5nZXQoJy8nKSk7CgogICAgICAgIHJldHVybiAkcmVzdWx0czsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgcmVxdWVzdERhdGFQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNpZ25zR2VuZXJpY1JlcXVlc3QoJGNsaWVudCwgJHJlcXVlc3QpCiAgICB7CiAgICAgICAgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCktPnNpZ25SZXF1ZXN0KCRyZXF1ZXN0LCAkY2xpZW50LT5nZXRDcmVkZW50aWFscygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVxdWVzdC0+aGFzSGVhZGVyKCdEYXRlJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXF1ZXN0LT5oYXNIZWFkZXIoJ0F1dGhvcml6YXRpb24nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKAogICAgICAgICAgICAkY2xpZW50LT5nZXRDcmVkZW50aWFscygpLT5nZXRBY2Nlc3NLZXlJZCgpIC4gJzonLAogICAgICAgICAgICAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdBdXRob3JpemF0aW9uJykKICAgICAgICApOwogICAgICAgIGlmICgkdG9rZW4gPSAkY2xpZW50LT5nZXRDcmVkZW50aWFscygpLT5nZXRTZWN1cml0eVRva2VuKCkpIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdG9rZW4sICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ3gtYW16LXNlY3VyaXR5LXRva2VuJykpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkcmVxdWVzdC0+aGFzSGVhZGVyKCd4LWFtei1zZWN1cml0eS10b2tlbicpKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/SocketTimeoutCheckerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzM7Cgp1c2UgQXdzXFMzXFNvY2tldFRpbWVvdXRDaGVja2VyOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxFeHBvbmVudGlhbEJhY2tvZmZTdHJhdGVneTsKCi8qKgogKiBAY292ZXJzIEF3c1xTM1xTb2NrZXRUaW1lb3V0Q2hlY2tlcgogKi8KY2xhc3MgU29ja2V0VGltZW91dENoZWNrZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgJG1lc3NhZ2U7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+bWVzc2FnZSA9ICc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PicgLiAiXG4iCiAgICAgICAgICAgIC4gJzxFcnJvcj48Q29kZT5SZXF1ZXN0VGltZW91dDwvQ29kZT48TWVzc2FnZT5Zb3VyIHNvY2tldCBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgd2FzIG5vdCByZWFkIGZyb20gb3IgJwogICAgICAgICAgICAuICd3cml0dGVuIHRvIHdpdGhpbiB0aGUgdGltZW91dCBwZXJpb2QuIElkbGUgY29ubmVjdGlvbnMgd2lsbCBiZSBjbG9zZWQuPC9NZXNzYWdlPicKICAgICAgICAgICAgLiAnPFJlcXVlc3RJZD5GT088L1JlcXVlc3RJZD48SG9zdElkPkJhcjwvSG9zdElkPjwvRXJyb3I+JzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE9ubHlMaXN0ZW5zRm9yNDAwRXJyb3JzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2V4YW1wbGUuY29tJyk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCk7CiAgICAgICAgJGNoZWNrZXIgPSBuZXcgU29ja2V0VGltZW91dENoZWNrZXIoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNoZWNrZXItPmdldEJhY2tvZmZQZXJpb2QoMCwgJHJlcXVlc3QsICRyZXNwb25zZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0T25seUxpc3RlbnNGb3JDb21wbGV0ZWRSZXF1ZXN0cygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9leGFtcGxlLmNvbScpOwogICAgICAgICRjaGVja2VyID0gbmV3IFNvY2tldFRpbWVvdXRDaGVja2VyKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjaGVja2VyLT5nZXRCYWNrb2ZmUGVyaW9kKDAsICRyZXF1ZXN0KSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zVHJ1ZUZvclJldHJ5YWJsZUVycm9ycygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9leGFtcGxlLmNvbScpOwogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSg0MDAsIGFycmF5KCdjb250ZW50LXR5cGUnID0+ICdhcHBsaWNhdGlvbi94bWwnKSwgJHRoaXMtPm1lc3NhZ2UpOwogICAgICAgICRjaGVja2VyID0gbmV3IFNvY2tldFRpbWVvdXRDaGVja2VyKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCAkY2hlY2tlci0+Z2V0QmFja29mZlBlcmlvZCgxLCAkcmVxdWVzdCwgJHJlc3BvbnNlKSk7CiAgICAgICAgLy8gRW5zdXJlIGl0IHBsYXlzIHdlbGwgd2l0aCB0aGUgY2hhaW4KICAgICAgICAkY2hlY2tlci0+c2V0TmV4dChuZXcgRXhwb25lbnRpYWxCYWNrb2ZmU3RyYXRlZ3koKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg4LCAkY2hlY2tlci0+Z2V0QmFja29mZlBlcmlvZCgzLCAkcmVxdWVzdCwgJHJlc3BvbnNlKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZXRzQ29udGVudExlbmd0aElmTG9jYWxGaWxlKCkKICAgIHsKICAgICAgICAkYm9keSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXEh0dHBcRW50aXR5Qm9keScpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnc2V0U2l6ZScpKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheShmb3BlbihfX0ZJTEVfXywgJ3IrJykpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJGJvZHktPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3NldFNpemUnKTsKCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJyk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wdXQoJy9mb28vYmFyJywgYXJyYXkoJ0NvbnRlbnQtVHlwZScgPT4gJ3RleHQvcGxhaW4nKSk7CiAgICAgICAgJHJlcXVlc3QtPnNldEJvZHkoJGJvZHkpOwoKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoNDAwLCBhcnJheSgnY29udGVudC10eXBlJyA9PiAnYXBwbGljYXRpb24veG1sJyksICR0aGlzLT5tZXNzYWdlKTsKICAgICAgICAkY2hlY2tlciA9IG5ldyBTb2NrZXRUaW1lb3V0Q2hlY2tlcigpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMCwgJGNoZWNrZXItPmdldEJhY2tvZmZQZXJpb2QoMSwgJHJlcXVlc3QsICRyZXNwb25zZSkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGZpbGVzaXplKF9fRklMRV9fKSwgKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcignQ29udGVudC1MZW5ndGgnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCZWhhdmVzUHJvcGVybHlBc0NoYWluTGluaygpCiAgICB7CiAgICAgICAgJHMgPSBuZXcgRXhwb25lbnRpYWxCYWNrb2ZmU3RyYXRlZ3koKTsKICAgICAgICAkY2hlY2tlciA9IG5ldyBTb2NrZXRUaW1lb3V0Q2hlY2tlcigkcyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGNoZWNrZXItPm1ha2VzRGVjaXNpb24oKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHMsICRjaGVja2VyLT5nZXROZXh0KCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/StreamWrapperTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzM7Cgp1c2UgQXdzXFMzXFMzQ2xpZW50Owp1c2UgQXdzXFMzXFN0cmVhbVdyYXBwZXI7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKCi8qKgogKiBAY292ZXJzIEF3c1xTM1xTdHJlYW1XcmFwcGVyCiAqLwpjbGFzcyBTdHJlYW1XcmFwcGVyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAdmFyIFMzQ2xpZW50CiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2xpZW50OwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJywgdHJ1ZSk7CiAgICAgICAgU3RyZWFtV3JhcHBlcjo6cmVnaXN0ZXIoJHRoaXMtPmNsaWVudCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlYXJEb3duKCkKICAgIHsKICAgICAgICBzdHJlYW1fd3JhcHBlcl91bnJlZ2lzdGVyKCdzMycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVnaXN0ZXJzU3RyZWFtV3JhcHBlcigpCiAgICB7CiAgICAgICAgU3RyZWFtV3JhcHBlcjo6cmVnaXN0ZXIoJHRoaXMtPmNsaWVudCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdzMycsIHN0cmVhbV9nZXRfd3JhcHBlcnMoKSk7CiAgICAgICAgLy8gRW5zdXJlIG5vIGVycm9yIGlzIHRocm93biBmb3IgcmVnaXN0ZXJpbmcgdHdpY2UKICAgICAgICBTdHJlYW1XcmFwcGVyOjpyZWdpc3RlcigkdGhpcy0+Y2xpZW50KTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBQSFBVbml0X0ZyYW1ld29ya19FcnJvcl9XYXJuaW5nCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIENhbm5vdCBvcGVuIGEgYnVja2V0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2Fubm90T3BlbkJ1Y2tldHMoKQogICAgewogICAgICAgIGZvcGVuKCdzMzovL2J1Y2tldCcsICdyJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gUEhQVW5pdF9GcmFtZXdvcmtfRXJyb3JfV2FybmluZwogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBzaW11bHRhbmVvdXMgcmVhZGluZyBhbmQgd3JpdGluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbm5vdFJlYWRXcml0ZVN0cmVhbXMoKQogICAgewogICAgICAgIGZvcGVuKCdzMzovL2J1Y2tldC9rZXknLCAncisnKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBQSFBVbml0X0ZyYW1ld29ya19FcnJvcl9XYXJuaW5nCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIE1vZGUgbm90IHN1cHBvcnRlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFN1cHBvcnRzT25seVJlYWRXcml0ZVhBKCkKICAgIHsKICAgICAgICBmb3BlbignczM6Ly9idWNrZXQva2V5JywgJ2MnKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBQSFBVbml0X0ZyYW1ld29ya19FcnJvcl9XYXJuaW5nCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIHMzOi8vYnVja2V0L2tleSBhbHJlYWR5IGV4aXN0cyBvbiBBbWF6b24gUzMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNYTW9kZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkdGhpcy0+Y2xpZW50LCBhcnJheShuZXcgUmVzcG9uc2UoMjAwKSkpOwogICAgICAgIGZvcGVuKCdzMzovL2J1Y2tldC9rZXknLCAneCcpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U3VjY2Vzc2Z1bFhNb2RlKCkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCR0aGlzLT5jbGllbnQsIGFycmF5KG5ldyBSZXNwb25zZSg0MDQpLCBuZXcgUmVzcG9uc2UoMjAwKSkpOwogICAgICAgICRyID0gZm9wZW4oJ3MzOi8vYnVja2V0L2tleScsICd4Jyk7CiAgICAgICAgZmNsb3NlKCRyKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBSdW50aW1lRXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIHNpbXVsdGFuZW91cyByZWFkaW5nIGFuZCB3cml0aW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuVGhyb3dFeGNlcHRpb25zSW5zdGVhZE9mRXJyb3JzKCkKICAgIHsKICAgICAgICBmb3BlbignczM6Ly9idWNrZXQva2V5JywgJ3IrJywgZmFsc2UsIHN0cmVhbV9jb250ZXh0X2NyZWF0ZShhcnJheSgKICAgICAgICAgICAgJ3MzJyA9PiBhcnJheSgndGhyb3dfZXhjZXB0aW9ucycgPT4gdHJ1ZSkKICAgICAgICApKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RPcGVuc05vblNlZWthYmxlUmVhZFN0cmVhbSgpCiAgICB7CiAgICAgICAgJHN0cmVhbSA9IGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3IrJyk7CiAgICAgICAgZndyaXRlKCRzdHJlYW0sICd0ZXN0aW5nIDEyMycpOwogICAgICAgIGZzZWVrKCRzdHJlYW0sIDApOwoKICAgICAgICAkbW9jayA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXEh0dHBcRW50aXR5Qm9keScpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KCRzdHJlYW0pKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ3NlZWsnKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CgogICAgICAgICRtb2NrLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3NlZWsnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKGZhbHNlKSk7CgogICAgICAgICRmID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcU3RyZWFtXFBocFN0cmVhbVJlcXVlc3RGYWN0b3J5JykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdjcmVhdGVTdHJlYW0nKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJGYtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2NyZWF0ZVN0cmVhbScpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJG1vY2spKTsKCiAgICAgICAgJHMgPSBmb3BlbignczM6Ly9idWNrZXQva2V0JywgJ3InLCBmYWxzZSwgc3RyZWFtX2NvbnRleHRfY3JlYXRlKGFycmF5KAogICAgICAgICAgICAnczMnID0+IGFycmF5KCdzdHJlYW1fZmFjdG9yeScgPT4gJGYpCiAgICAgICAgKSkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsIGZ0ZWxsKCRzKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKGZlb2YoJHMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgZnJlYWQoJHMsIDQpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDQsIGZ0ZWxsKCRzKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygtMSwgZnNlZWsoJHMsIDApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcnLCBzdHJlYW1fZ2V0X2NvbnRlbnRzKCRzKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoZmVvZigkcykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKGZjbG9zZSgkcykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0T3BlbnNTZWVrYWJsZVJlYWRTdHJlYW0oKQogICAgewogICAgICAgICRzdHJlYW0gPSBmb3BlbigncGhwOi8vdGVtcCcsICdyKycpOwogICAgICAgIGZ3cml0ZSgkc3RyZWFtLCAndGVzdGluZyAxMjMnKTsKICAgICAgICBmc2Vlaygkc3RyZWFtLCAwKTsKCiAgICAgICAgJG1vY2sgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxIdHRwXEVudGl0eUJvZHknKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheSgkc3RyZWFtKSkKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdzZWVrJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwoKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdzZWVrJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShmYWxzZSkpOwoKICAgICAgICAkZiA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFN0cmVhbVxQaHBTdHJlYW1SZXF1ZXN0RmFjdG9yeScpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnY3JlYXRlU3RyZWFtJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICRmLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdjcmVhdGVTdHJlYW0nKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRtb2NrKSk7CgogICAgICAgICRzID0gZm9wZW4oJ3MzOi8vYnVja2V0L2tldCcsICdyJywgZmFsc2UsIHN0cmVhbV9jb250ZXh0X2NyZWF0ZShhcnJheSgKICAgICAgICAgICAgJ3MzJyA9PiBhcnJheSgnc3RyZWFtX2ZhY3RvcnknID0+ICRmLCAnc2Vla2FibGUnID0+IHRydWUpCiAgICAgICAgKSkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsIGZ0ZWxsKCRzKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKGZlb2YoJHMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgZnJlYWQoJHMsIDQpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDQsIGZ0ZWxsKCRzKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCBmc2VlaygkcywgMCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3RpbmcgMTIzJywgc3RyZWFtX2dldF9jb250ZW50cygkcykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKGZlb2YoJHMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZShmY2xvc2UoJHMpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbk9wZW5Xcml0ZU9ubHlTdHJlYW1zKCkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCR0aGlzLT5jbGllbnQsIGFycmF5KG5ldyBSZXNwb25zZSgyMDQpKSk7CgogICAgICAgICRzID0gZm9wZW4oJ3MzOi8vYnVja2V0L2tleScsICd3Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg0LCBmd3JpdGUoJHMsICd0ZXN0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKGZjbG9zZSgkcykpOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgc3RyZWFtIHdhcyBmbHVzaGVkIGFuZCBzZW50IHRoZSB1cGxvYWQKICAgICAgICAkcmVxdWVzdHMgPSAkdGhpcy0+Z2V0TW9ja2VkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRyZXF1ZXN0cykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BVVCcsICRyZXF1ZXN0c1swXS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3QnLCAoc3RyaW5nKSAkcmVxdWVzdHNbMF0tPmdldEJvZHkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg0LCAoc3RyaW5nKSAkcmVxdWVzdHNbMF0tPmdldEhlYWRlcignQ29udGVudC1MZW5ndGgnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gUEhQVW5pdF9GcmFtZXdvcmtfRXJyb3JfV2FybmluZwogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSA0MDMgRm9yYmlkZGVuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VHJpZ2dlcnNFcnJvckluc3RlYWRPZkV4Y2VwdGlvbldoZW5Xcml0ZUZsdXNoRmFpbHMoKQogICAgewogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJHRoaXMtPmNsaWVudCwgYXJyYXkobmV3IFJlc3BvbnNlKDQwMykpKTsKICAgICAgICAkcyA9IGZvcGVuKCdzMzovL2J1Y2tldC9rZXknLCAndycpOwogICAgICAgIGZ3cml0ZSgkcywgJ3Rlc3QnKTsKICAgICAgICBmY2xvc2UoJHMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuT3BlbkFwcGVuZFN0cmVhbXNXaXRoT3JpZ2luYWxGaWxlKCkKICAgIHsKICAgICAgICAvLyBRdWV1ZSB0aGUgMjAwIHJlc3BvbnNlIHRoYXQgd2lsbCBsb2FkIHRoZSBvcmlnaW5hbCwgYW5kIHF1ZXVlIHRoZSAyMDQgZmx1c2ggcmVzcG9uc2UKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCR0aGlzLT5jbGllbnQsIGFycmF5KAogICAgICAgICAgICBuZXcgUmVzcG9uc2UoMjAwLCBudWxsLCAndGVzdCcpLAogICAgICAgICAgICBuZXcgUmVzcG9uc2UoMjA0KQogICAgICAgICkpOwoKICAgICAgICAkcyA9IGZvcGVuKCdzMzovL2J1Y2tldC9rZXknLCAnYScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNCwgZnRlbGwoJHMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGZ3cml0ZSgkcywgJ2luZycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZShmY2xvc2UoJHMpKTsKCiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIHN0cmVhbSB3YXMgZmx1c2hlZCBhbmQgc2VudCB0aGUgdXBsb2FkCiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldE1vY2tlZFJlcXVlc3RzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkcmVxdWVzdHMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdHRVQnLCAkcmVxdWVzdHNbMF0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcva2V5JywgJHJlcXVlc3RzWzBdLT5nZXRSZXNvdXJjZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQVVQnLCAkcmVxdWVzdHNbMV0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcva2V5JywgJHJlcXVlc3RzWzFdLT5nZXRSZXNvdXJjZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0aW5nJywgKHN0cmluZykgJHJlcXVlc3RzWzFdLT5nZXRCb2R5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNywgKHN0cmluZykgJHJlcXVlc3RzWzFdLT5nZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuT3BlbkFwcGVuZFN0cmVhbXNXaXRoTWlzc2luZ0ZpbGUoKQogICAgewogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJHRoaXMtPmNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgIG5ldyBSZXNwb25zZSg0MDQpLAogICAgICAgICAgICBuZXcgUmVzcG9uc2UoMjA0KQogICAgICAgICkpOwoKICAgICAgICAkcyA9IGZvcGVuKCdzMzovL2J1Y2tldC9rZXknLCAnYScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMCwgZnRlbGwoJHMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZShmY2xvc2UoJHMpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblVubGlua0ZpbGVzKCkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCR0aGlzLT5jbGllbnQsIGFycmF5KG5ldyBSZXNwb25zZSgyMDQpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUodW5saW5rKCdzMzovL2J1Y2tldC9rZXknKSk7CiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldE1vY2tlZFJlcXVlc3RzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkcmVxdWVzdHMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdERUxFVEUnLCAkcmVxdWVzdHNbMF0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcva2V5JywgJHJlcXVlc3RzWzBdLT5nZXRSZXNvdXJjZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdidWNrZXQuczMuYW1hem9uYXdzLmNvbScsICRyZXF1ZXN0c1swXS0+Z2V0SG9zdCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBQSFBVbml0X0ZyYW1ld29ya19FcnJvcl9XYXJuaW5nCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIDQwMyBGb3JiaWRkZW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFcnJvcnNXaGVuVW5saW5rRmFpbHMoKQogICAgewogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJHRoaXMtPmNsaWVudCwgYXJyYXkobmV3IFJlc3BvbnNlKDQwMykpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UodW5saW5rKCdzMzovL2J1Y2tldC9rZXknKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGluZ0J1Y2tldFdpdGhOb0J1Y2tldFJldHVybnNGYWxzZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKG1rZGlyKCdzMzovLycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0aW5nQnVja2V0V2l0aEtleVJldHVybnNGYWxzZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKG1rZGlyKCdzMzovL2Zvby9iYXInKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gUEhQVW5pdF9GcmFtZXdvcmtfRXJyb3JfV2FybmluZwogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSA0MDMgRm9yYmlkZGVuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRpbmdCdWNrZXRXaXRoRXhjZXB0aW9uUmFpc2VzRXJyb3IoKQogICAgewogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJHRoaXMtPmNsaWVudCwgYXJyYXkobmV3IFJlc3BvbnNlKDQwMykpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UobWtkaXIoJ3MzOi8vYnVja2V0JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRpbmdCdWNrZXRzU2V0c0FjbEJhc2VkT25QZXJtaXNzaW9ucygpCiAgICB7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkdGhpcy0+Y2xpZW50LCBhcnJheShuZXcgUmVzcG9uc2UoMjA0KSwgbmV3IFJlc3BvbnNlKDIwNCksIG5ldyBSZXNwb25zZSgyMDQpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUobWtkaXIoJ3MzOi8vYnVja2V0JywgMDc3NykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKG1rZGlyKCdzMzovL2J1Y2tldCcsIDA2MDEpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZShta2RpcignczM6Ly9idWNrZXQnLCAwNTAwKSk7CiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldE1vY2tlZFJlcXVlc3RzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCBjb3VudCgkcmVxdWVzdHMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQVVQnLCAkcmVxdWVzdHNbMF0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvJywgJHJlcXVlc3RzWzBdLT5nZXRSZXNvdXJjZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdidWNrZXQuczMuYW1hem9uYXdzLmNvbScsICRyZXF1ZXN0c1swXS0+Z2V0SG9zdCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ3B1YmxpYy1yZWFkJywgKHN0cmluZykgJHJlcXVlc3RzWzBdKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ2F1dGhlbnRpY2F0ZWQtcmVhZCcsIChzdHJpbmcpICRyZXF1ZXN0c1sxXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdwcml2YXRlJywgKHN0cmluZykgJHJlcXVlc3RzWzJdKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBQSFBVbml0X0ZyYW1ld29ya19FcnJvcl9XYXJuaW5nCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIFBsZWFzZSBzcGVjaWZ5IGEgYnVja2V0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2Fubm90RGVsZXRlUzMoKQogICAgewogICAgICAgIHJtZGlyKCdzMzovLycpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFBIUFVuaXRfRnJhbWV3b3JrX0Vycm9yX1dhcm5pbmcKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2Ugcm1kaXIoKSBvbmx5IHN1cHBvcnRzIGJ1Y2tldCBkZWxldGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbm5vdERlbGV0ZUtleVByZWZpeCgpCiAgICB7CiAgICAgICAgcm1kaXIoJ3MzOi8vYnVja2V0L2tleScpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFBIUFVuaXRfRnJhbWV3b3JrX0Vycm9yX1dhcm5pbmcKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgNDAzIEZvcmJpZGRlbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJtRGlyV2l0aEV4Y2VwdGlvblRyaWdnZXJzRXJyb3IoKQogICAgewogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJHRoaXMtPmNsaWVudCwgYXJyYXkobmV3IFJlc3BvbnNlKDQwMykpKTsKICAgICAgICBybWRpcignczM6Ly9idWNrZXQnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkRlbGV0ZUJ1Y2tldFdpdGhSbURpcigpCiAgICB7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkdGhpcy0+Y2xpZW50LCBhcnJheShuZXcgUmVzcG9uc2UoMjA0KSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKHJtZGlyKCdzMzovL2J1Y2tldCcpKTsKICAgICAgICAkcmVxdWVzdHMgPSAkdGhpcy0+Z2V0TW9ja2VkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRyZXF1ZXN0cykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0RFTEVURScsICRyZXF1ZXN0c1swXS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy8nLCAkcmVxdWVzdHNbMF0tPmdldFJlc291cmNlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2J1Y2tldC5zMy5hbWF6b25hd3MuY29tJywgJHJlcXVlc3RzWzBdLT5nZXRIb3N0KCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFBIUFVuaXRfRnJhbWV3b3JrX0Vycm9yX1dhcm5pbmcKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgVGhlIEFtYXpvbiBTMyBzdHJlYW0gd3JhcHBlciBvbmx5IHN1cHBvcnRzIGNvcHlpbmcgb2JqZWN0cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlbmFtZUVuc3VyZXNLZXlJc1NldCgpCiAgICB7CiAgICAgICAgcmVuYW1lKCdzMzovL2Zvby9iYXInLCAnczM6Ly9iYXonKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBQSFBVbml0X0ZyYW1ld29ya19FcnJvcl9XYXJuaW5nCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIEZvcmJpZGRlbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlbmFtZVdpdGhFeGNlcHRpb25UaHJvd3NFcnJvcigpCiAgICB7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkdGhpcy0+Y2xpZW50LCBhcnJheShuZXcgUmVzcG9uc2UoNDAzKSkpOwogICAgICAgIHJlbmFtZSgnczM6Ly9mb28vYmFyJywgJ3MzOi8vYmF6L2JhcicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuUmVuYW1lT2JqZWN0cygpCiAgICB7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkdGhpcy0+Y2xpZW50LCBhcnJheShuZXcgUmVzcG9uc2UoMjA0KSwgbmV3IFJlc3BvbnNlKDIwNCkpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZShyZW5hbWUoJ3MzOi8vYnVja2V0L2tleScsICdzMzovL290aGVyL25ld19rZXknKSk7CiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldE1vY2tlZFJlcXVlc3RzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkcmVxdWVzdHMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQVVQnLCAkcmVxdWVzdHNbMF0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvbmV3X2tleScsICRyZXF1ZXN0c1swXS0+Z2V0UmVzb3VyY2UoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnb3RoZXIuczMuYW1hem9uYXdzLmNvbScsICRyZXF1ZXN0c1swXS0+Z2V0SG9zdCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvYnVja2V0L2tleScsIChzdHJpbmcpICRyZXF1ZXN0c1swXS0+Z2V0SGVhZGVyKCd4LWFtei1jb3B5LXNvdXJjZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdDT1BZJywgKHN0cmluZykgJHJlcXVlc3RzWzBdLT5nZXRIZWFkZXIoJ3gtYW16LW1ldGFkYXRhLWRpcmVjdGl2ZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdERUxFVEUnLCAkcmVxdWVzdHNbMV0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcva2V5JywgJHJlcXVlc3RzWzFdLT5nZXRSZXNvdXJjZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdidWNrZXQuczMuYW1hem9uYXdzLmNvbScsICRyZXF1ZXN0c1sxXS0+Z2V0SG9zdCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblJlbmFtZU9iamVjdHNXaXRoQ3VzdG9tU2V0dGluZ3MoKQogICAgewogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJHRoaXMtPmNsaWVudCwgYXJyYXkobmV3IFJlc3BvbnNlKDIwNCksIG5ldyBSZXNwb25zZSgyMDQpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUocmVuYW1lKCdzMzovL2J1Y2tldC9rZXknLCAnczM6Ly9vdGhlci9uZXdfa2V5Jywgc3RyZWFtX2NvbnRleHRfY3JlYXRlKGFycmF5KAogICAgICAgICAgICAnczMnID0+IGFycmF5KCdNZXRhZGF0YURpcmVjdGl2ZScgPT4gJ1JFUExBQ0UnKQogICAgICAgICkpKSk7CiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldE1vY2tlZFJlcXVlc3RzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkcmVxdWVzdHMpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQVVQnLCAkcmVxdWVzdHNbMF0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvbmV3X2tleScsICRyZXF1ZXN0c1swXS0+Z2V0UmVzb3VyY2UoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnb3RoZXIuczMuYW1hem9uYXdzLmNvbScsICRyZXF1ZXN0c1swXS0+Z2V0SG9zdCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvYnVja2V0L2tleScsIChzdHJpbmcpICRyZXF1ZXN0c1swXS0+Z2V0SGVhZGVyKCd4LWFtei1jb3B5LXNvdXJjZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdSRVBMQUNFJywgKHN0cmluZykgJHJlcXVlc3RzWzBdLT5nZXRIZWFkZXIoJ3gtYW16LW1ldGFkYXRhLWRpcmVjdGl2ZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByb3ZpZGVzRGlyZWN0b3JpZXNGb3JTMygpCiAgICB7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkdGhpcy0+Y2xpZW50LCBhcnJheSgKICAgICAgICAgICAgJ3MzL2xpc3Rfb2JqZWN0c19wYWdlXzEnLAogICAgICAgICAgICAnczMvbGlzdF9vYmplY3RzX3BhZ2VfMicsCiAgICAgICAgICAgICdzMy9saXN0X29iamVjdHNfcGFnZV8zJywKICAgICAgICAgICAgJ3MzL2xpc3Rfb2JqZWN0c19wYWdlXzQnLAogICAgICAgICAgICAnczMvbGlzdF9vYmplY3RzX3BhZ2VfNScsCiAgICAgICAgICAgICdzMy9saXN0X29iamVjdHNfcGFnZV8xJywKICAgICAgICAgICAgJ3MzL2xpc3Rfb2JqZWN0c19wYWdlXzInLAogICAgICAgICAgICAnczMvbGlzdF9vYmplY3RzX3BhZ2VfMycsCiAgICAgICAgICAgICdzMy9saXN0X29iamVjdHNfcGFnZV80JywKICAgICAgICAgICAgJ3MzL2xpc3Rfb2JqZWN0c19wYWdlXzUnCiAgICAgICAgKSk7CgogICAgICAgICRjID0gbnVsbDsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ2NsaWVudC5jb21tYW5kLmNyZWF0ZScsIGZ1bmN0aW9uICgkZSkgdXNlICgmJGMpIHsKICAgICAgICAgICAgJGMgPSAkZVsnY29tbWFuZCddOwogICAgICAgIH0pOwoKICAgICAgICAkZGlyID0gJ3MzOi8vYnVja2V0L2tleS8nOwogICAgICAgICRyID0gb3BlbmRpcigkZGlyKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdyZXNvdXJjZScsICRyKTsKCiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGNvbW1hbmQgd2FzIGNyZWF0ZWQgY29ycmVjdGx5CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYnVja2V0JywgJGNbJ0J1Y2tldCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvJywgJGNbJ0RlbGltaXRlciddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdrZXkvJywgJGNbJ1ByZWZpeCddKTsKCiAgICAgICAgJGZpbGVzID0gYXJyYXkoKTsKICAgICAgICB3aGlsZSAoKCRmaWxlID0gcmVhZGRpcigkcikpICE9PSBmYWxzZSkgewogICAgICAgICAgICAkZmlsZXNbXSA9ICRmaWxlOwogICAgICAgIH0KCiAgICAgICAgLy8gVGhpcyBpcyB0aGUgb3JkZXIgdGhhdCB0aGUgbW9jayByZXNwb25zZXMgc2hvdWxkIHByb3ZpZGUKICAgICAgICAkZXhwZWN0ZWQgPSBhcnJheSgnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRleHBlY3RlZCwgJGZpbGVzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDUsIGNvdW50KCR0aGlzLT5nZXRNb2NrZWRSZXF1ZXN0cygpKSk7CgogICAgICAgIHJld2luZGRpcigkcik7CiAgICAgICAgJGZpbGVzID0gYXJyYXkoKTsKICAgICAgICB3aGlsZSAoKCRmaWxlID0gcmVhZGRpcigkcikpICE9PSBmYWxzZSkgewogICAgICAgICAgICAkZmlsZXNbXSA9ICRmaWxlOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRleHBlY3RlZCwgJGZpbGVzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEwLCBjb3VudCgkdGhpcy0+Z2V0TW9ja2VkUmVxdWVzdHMoKSkpOwoKICAgICAgICBjbG9zZWRpcigkcik7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5TZXREZWxpbWl0ZXJTdHJlYW1Db250ZXh0KCkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCR0aGlzLT5jbGllbnQsIGFycmF5KCdzMy9saXN0X29iamVjdHNfcGFnZV81JykpOwoKICAgICAgICAkYyA9IG51bGw7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCdjbGllbnQuY29tbWFuZC5jcmVhdGUnLCBmdW5jdGlvbiAoJGUpIHVzZSAoJiRjKSB7CiAgICAgICAgICAgICRjID0gJGVbJ2NvbW1hbmQnXTsKICAgICAgICB9KTsKCiAgICAgICAgJGRpciA9ICdzMzovL2J1Y2tldCc7CiAgICAgICAgJHIgPSBvcGVuZGlyKCRkaXIsIHN0cmVhbV9jb250ZXh0X2NyZWF0ZShhcnJheSgnczMnID0+IGFycmF5KCdkZWxpbWl0ZXInID0+ICcnKSkpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYnVja2V0JywgJGNbJ0J1Y2tldCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcnLCAkY1snRGVsaW1pdGVyJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJycsICRjWydQcmVmaXgnXSk7CgogICAgICAgIGNsb3NlZGlyKCRyKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFN0YXRTM2FuZEJ1Y2tldHMoKQogICAgewogICAgICAgIGNsZWFyc3RhdGNhY2hlKCdzMzovLycpOwogICAgICAgICRzdGF0ID0gc3RhdCgnczM6Ly8nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAwNDA3NzcsICRzdGF0Wydtb2RlJ10pOwoKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCR0aGlzLT5jbGllbnQsIGFycmF5KG5ldyBSZXNwb25zZSgyMDApKSk7CiAgICAgICAgY2xlYXJzdGF0Y2FjaGUoJ3MzOi8vYnVja2V0Jyk7CiAgICAgICAgJHN0YXQgPSBzdGF0KCdzMzovL2J1Y2tldCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMDA0MDc3NywgJHN0YXRbJ21vZGUnXSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gUEhQVW5pdF9GcmFtZXdvcmtfRXJyb3JfV2FybmluZwogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBGb3JiaWRkZW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGYWlsaW5nU3RhdFRyaWdnZXJzRXJyb3IoKQogICAgewogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJHRoaXMtPmNsaWVudCwgYXJyYXkobmV3IFJlc3BvbnNlKDQwMykpKTsKICAgICAgICBjbGVhcnN0YXRjYWNoZSgnczM6Ly9idWNrZXQva2V5Jyk7CiAgICAgICAgc3RhdCgnczM6Ly9idWNrZXQva2V5Jyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gUEhQVW5pdF9GcmFtZXdvcmtfRXJyb3JfV2FybmluZwogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBGaWxlIG9yIGRpcmVjdG9yeSBub3QgZm91bmQ6IHMzOi8vYnVja2V0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QnVja2V0Tm90Rm91bmRUcmlnZ2Vyc0Vycm9yKCkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCR0aGlzLT5jbGllbnQsIGFycmF5KG5ldyBSZXNwb25zZSg0MDQpKSk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkdGhpcy0+Y2xpZW50LCBhcnJheShuZXcgUmVzcG9uc2UoNDA0KSkpOwogICAgICAgIGNsZWFyc3RhdGNhY2hlKCdzMzovL2J1Y2tldCcpOwogICAgICAgIHN0YXQoJ3MzOi8vYnVja2V0Jyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdGF0c1JlZ3VsYXJPYmplY3RzKCkKICAgIHsKICAgICAgICAkdHMgPSBzdHJ0b3RpbWUoJ1R1ZXNkYXksIEFwcmlsIDkgMjAxMycpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJHRoaXMtPmNsaWVudCwgYXJyYXkobmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgPT4gNSwKICAgICAgICAgICAgJ0xhc3QtTW9kaWZpZWQnICA9PiBnbWRhdGUoJ3InLCAkdHMpCiAgICAgICAgKSkpKTsKICAgICAgICBjbGVhcnN0YXRjYWNoZSgnczM6Ly9idWNrZXQva2V5Jyk7CiAgICAgICAgJHN0YXQgPSBzdGF0KCdzMzovL2J1Y2tldC9rZXknKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAxMDA3NzcsICRzdGF0Wydtb2RlJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNSwgJHN0YXRbJ3NpemUnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdHMsICRzdGF0WydtdGltZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR0cywgJHN0YXRbJ2N0aW1lJ10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU3RhdFByZWZpeCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkdGhpcy0+Y2xpZW50LCBhcnJheSgnczMvaGVhZF9mYWlsdXJlJywgJ3MzL2xpc3Rfb2JqZWN0c19wYWdlXzUnKSk7CiAgICAgICAgY2xlYXJzdGF0Y2FjaGUoJ3MzOi8vYnVja2V0L3ByZWZpeCcpOwogICAgICAgICRzdGF0ID0gc3RhdCgnczM6Ly9idWNrZXQvcHJlZml4Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwMDQwNzc3LCAkc3RhdFsnbW9kZSddKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBQSFBVbml0X0ZyYW1ld29ya19FcnJvcl9XYXJuaW5nCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIEZpbGUgb3IgZGlyZWN0b3J5IG5vdCBmb3VuZDogczM6Ly9idWNrZXQvcHJlZml4CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2Fubm90U3RhdFByZWZpeFdpdGhOb1Jlc3VsdHMoKQogICAgewogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJHRoaXMtPmNsaWVudCwgYXJyYXkoJ3MzL2hlYWRfZmFpbHVyZScsICdzMy9oZWFkX3N1Y2Nlc3MnKSk7CiAgICAgICAgY2xlYXJzdGF0Y2FjaGUoJ3MzOi8vYnVja2V0L3ByZWZpeCcpOwogICAgICAgIHN0YXQoJ3MzOi8vYnVja2V0L3ByZWZpeCcpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Sync/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Sync/AbstractSyncBuilderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcU3luYzsKCnVzZSBBd3NcUzNcU3luY1xBYnN0cmFjdFN5bmNCdWlsZGVyOwp1c2UgQXdzXFMzXFN5bmNcS2V5Q29udmVydGVyOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFMzXFN5bmNcQWJzdHJhY3RTeW5jQnVpbGRlcgogKi8KY2xhc3MgQWJzdHJhY3RTeW5jQnVpbGRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzU2V0dGVycygpCiAgICB7CiAgICAgICAgJGIgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xTM1xTeW5jXEFic3RyYWN0U3luY0J1aWxkZXInKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CiAgICAgICAgJGkgPSBuZXcgXEFycmF5SXRlcmF0b3IoYXJyYXkoJ2ZvbycsICd0ZXN0JykpOwogICAgICAgICRjMSA9IG5ldyBLZXlDb252ZXJ0ZXIoKTsKICAgICAgICAvKiogQHZhciAkYiBBYnN0cmFjdFN5bmNCdWlsZGVyICovCiAgICAgICAgJGItPmVuYWJsZURlYnVnT3V0cHV0KHRydWUpCiAgICAgICAgICAgIC0+Zm9yY2UodHJ1ZSkKICAgICAgICAgICAgLT5zZXRCYXNlRGlyKCcvYmFzZScpCiAgICAgICAgICAgIC0+c2V0QnVja2V0KCdidWNrZXQnKQogICAgICAgICAgICAtPnNldENsaWVudCgkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycpKQogICAgICAgICAgICAtPnNldENvbmN1cnJlbmN5KDIpCiAgICAgICAgICAgIC0+c2V0RGVsaW1pdGVyKCdcXCcpCiAgICAgICAgICAgIC0+c2V0S2V5UHJlZml4KCcvcHJlZml4LycpCiAgICAgICAgICAgIC0+c2V0T3BlcmF0aW9uUGFyYW1zKGFycmF5KCdmb28nID0+ICdiYXInKSkKICAgICAgICAgICAgLT5zZXRTb3VyY2VGaWxlbmFtZUNvbnZlcnRlcigkYzEpCiAgICAgICAgICAgIC0+c2V0VGFyZ2V0RmlsZW5hbWVDb252ZXJ0ZXIoJGMxKQogICAgICAgICAgICAtPnNldFNvdXJjZUl0ZXJhdG9yKCRpKQogICAgICAgICAgICAtPmFkZFJlZ2V4RmlsdGVyKCcvZm9vLycpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSh0cnVlLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYiwgJ2ZvcmNpbmcnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJy9iYXNlJywgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGIsICdiYXNlRGlyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCdidWNrZXQnLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYiwgJ2J1Y2tldCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgyLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYiwgJ2NvbmN1cnJlbmN5JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCdcXCcsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRiLCAnZGVsaW1pdGVyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCdwcmVmaXgvJywgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGIsICdrZXlQcmVmaXgnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoYXJyYXkoJ2ZvbycgPT4gJ2JhcicpLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYiwgJ3BhcmFtcycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYzEsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRiLCAnc291cmNlQ29udmVydGVyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRjMSwgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGIsICd0YXJnZXRDb252ZXJ0ZXInKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKSwgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGIsICdjbGllbnQnKSk7CgogICAgICAgICRpdCA9ICR0aGlzLT5yZWFkQXR0cmlidXRlKCRiLCAnc291cmNlSXRlcmF0b3InKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXEl0ZXJhdG9yXEZpbHRlckl0ZXJhdG9yJywgJGl0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkaSwgJGl0LT5nZXRJbm5lckl0ZXJhdG9yKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ3Rlc3QnKSwgYXJyYXlfdmFsdWVzKGl0ZXJhdG9yX3RvX2FycmF5KCRpdCkpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNTb3VyY2VJdGVyYXRvcldoZW5TZXR0aW5nUmVnZXgoKQogICAgewogICAgICAgICRiID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcUzNcU3luY1xBYnN0cmFjdFN5bmNCdWlsZGVyJyktPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CiAgICAgICAgJGItPmFkZFJlZ2V4RmlsdGVyKCcvZm9vLycpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc0NsaWVudElzU2V0KCkKICAgIHsKICAgICAgICAkYiA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXFMzXFN5bmNcQWJzdHJhY3RTeW5jQnVpbGRlcicpLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICRiLT5idWlsZCgpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc0J1Y2tldElzU2V0KCkKICAgIHsKICAgICAgICAkYiA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXFMzXFN5bmNcQWJzdHJhY3RTeW5jQnVpbGRlcicpLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICRiLT5zZXRDbGllbnQoJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKSktPmJ1aWxkKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCdWlsZHNVc2luZ1N1YkNsYXNzZXMoKQogICAgewogICAgICAgICRhID0gbmV3IFxBcnJheUl0ZXJhdG9yKCk7CiAgICAgICAgJG1vY2tTeW5jID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcUzNcU3luY1xBYnN0cmFjdFN5bmMnKQogICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICRiID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcUzNcU3luY1xBYnN0cmFjdFN5bmNCdWlsZGVyJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdzcGVjaWZpY0J1aWxkJywgJ2dldFRhcmdldEl0ZXJhdG9yJykpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKICAgICAgICAkYi0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnc3BlY2lmaWNCdWlsZCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJG1vY2tTeW5jKSk7CiAgICAgICAgJGItPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldFRhcmdldEl0ZXJhdG9yJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkYSkpOwogICAgICAgICRiLT5zZXRDbGllbnQoJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKSkKICAgICAgICAgICAgLT5zZXRTb3VyY2VJdGVyYXRvcigkYSkKICAgICAgICAgICAgLT5lbmFibGVEZWJ1Z091dHB1dCgpCiAgICAgICAgICAgIC0+c2V0U291cmNlRmlsZW5hbWVDb252ZXJ0ZXIobmV3IEtleUNvbnZlcnRlcikKICAgICAgICAgICAgLT5zZXRUYXJnZXRGaWxlbmFtZUNvbnZlcnRlcihuZXcgS2V5Q29udmVydGVyKQogICAgICAgICAgICAtPnNldEJ1Y2tldCgnZm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJG1vY2tTeW5jLCAkYi0+YnVpbGQoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Sync/AbstractSyncTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcU3luYzsKCnVzZSBBd3NcUzNcU3luY1xBYnN0cmFjdFN5bmM7CgovKioKICogQGNvdmVycyBBd3NcUzNcU3luY1xBYnN0cmFjdFN5bmMKICovCmNsYXNzIEFic3RyYWN0U3luY1Rlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvclZhbGlkYXRlc1JlcXVpcmVtZW50cygpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcUzNcU3luY1xBYnN0cmFjdFN5bmMnKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheShhcnJheSgpKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzRXZlbnRzKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoMiwgQWJzdHJhY3RTeW5jOjpnZXRBbGxFdmVudHMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZW5kc1BhcmFsbGVsQ29tbWFuZHMoKQogICAgewogICAgICAgICRhaSA9IG5ldyBcQXJyYXlJdGVyYXRvcihhcnJheSgxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5KSk7CiAgICAgICAgJHMgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xTM1xTeW5jXEFic3RyYWN0U3luYycpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoJ2NsaWVudCcgPT4gJycsICdidWNrZXQnID0+ICcnLCAnaXRlcmF0b3InID0+ICRhaSwgJ3NvdXJjZV9jb252ZXJ0ZXInID0+ICcnLCAnY29uY3VycmVuY3knID0+IDQpCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgndHJhbnNmZXJGaWxlcycpKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CiAgICAgICAgJGNhbGxlZCA9IGFycmF5KCk7CiAgICAgICAgJHMtPmV4cGVjdHMoJHRoaXMtPmV4YWN0bHkoMykpCiAgICAgICAgICAgIC0+bWV0aG9kKCd0cmFuc2ZlckZpbGVzJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5DYWxsYmFjayhmdW5jdGlvbiAoJGRhdGEpIHVzZSAoJiRjYWxsZWQpIHsKICAgICAgICAgICAgICAgICRjYWxsZWRbXSA9ICRkYXRhOwogICAgICAgICAgICB9KSk7CiAgICAgICAgJHMtPnRyYW5zZmVyKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheShhcnJheSgxLCAyLCAzLCA0KSwgYXJyYXkoNSwgNiwgNywgOCksIGFycmF5KDkpKSwgJGNhbGxlZCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUcmFuc2ZlcnNBY3Rpb25zKCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlJykKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTZXJ2aWNlXENsaWVudCcpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZXhlY3V0ZScpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkY2xpZW50LT5leHBlY3RzKCR0aGlzLT5hdExlYXN0T25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZXhlY3V0ZScpCiAgICAgICAgICAgIC0+d2l0aCgkdGhpcy0+ZXF1YWxUbyhhcnJheSgkY29tbWFuZCkpKTsKCiAgICAgICAgJGEgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ1NwbEZpbGVpbmZvJykKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwoKICAgICAgICAkYiA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignU3BsRmlsZWluZm8nKQogICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CgogICAgICAgICRhaSA9IG5ldyBcQXJyYXlJdGVyYXRvcihhcnJheSgkYSwgJGIpKTsKCiAgICAgICAgJHMgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xTM1xTeW5jXEFic3RyYWN0U3luYycpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsaWVudCcgPT4gJGNsaWVudCwKICAgICAgICAgICAgICAgICAgICAnYnVja2V0JyA9PiAnJywKICAgICAgICAgICAgICAgICAgICAnaXRlcmF0b3InID0+ICRhaSwKICAgICAgICAgICAgICAgICAgICAnc291cmNlX2NvbnZlcnRlcicgPT4gJycsCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnY3JlYXRlVHJhbnNmZXJBY3Rpb24nKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICAkZXZlbnRzID0gYXJyYXkoKTsKICAgICAgICAkcy0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKEFic3RyYWN0U3luYzo6QkVGT1JFX1RSQU5TRkVSLCBmdW5jdGlvbiAoJGUpIHVzZSAoJiRldmVudHMpIHsKICAgICAgICAgICAgJGV2ZW50c1tdID0gJGU7CiAgICAgICAgfSk7CiAgICAgICAgJHMtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcihBYnN0cmFjdFN5bmM6OkFGVEVSX1RSQU5TRkVSLCBmdW5jdGlvbiAoJGUpIHVzZSAoJiRldmVudHMpIHsKICAgICAgICAgICAgJGV2ZW50c1tdID0gJGU7CiAgICAgICAgfSk7CgogICAgICAgICRjYWxsZWQgPSBhcnJheSgpOwoKICAgICAgICAkcy0+ZXhwZWN0cygkdGhpcy0+ZXhhY3RseSgyKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2NyZWF0ZVRyYW5zZmVyQWN0aW9uJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5DYWxsYmFjayhmdW5jdGlvbiAoJGZpbGUpIHVzZSAoJiRjYWxsZWQsICRhLCAkY29tbWFuZCkgewogICAgICAgICAgICAgICAgaWYgKCRmaWxlID09PSAkYSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB1c2UgKCYkY2FsbGVkKSB7ICRjYWxsZWRbJ2EnXSA9IHRydWU7IH07CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRjYWxsZWRbJ2InXSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRjb21tYW5kOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSk7CgogICAgICAgICRzLT50cmFuc2ZlcigpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkY2FsbGVkWydhJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRjYWxsZWRbJ2InXSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCg0LCAkZXZlbnRzKTsKICAgICAgICBmb3JlYWNoICgkZXZlbnRzIGFzICRlKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRzLCAkZVsnc3luYyddKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGNsaWVudCwgJGVbJ2NsaWVudCddKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydE5vdE51bGwoJGVbJ2NvbW1hbmQnXSk7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Sync/ChangedFilesIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcU3luYzsKCnVzZSBBd3NcUzNcU3luY1xDaGFuZ2VkRmlsZXNJdGVyYXRvcjsKdXNlIEF3c1xTM1xTeW5jXEtleUNvbnZlcnRlcjsKCi8qKgogKiBAY292ZXJzIEF3c1xTM1xTeW5jXENoYW5nZWRGaWxlc0l0ZXJhdG9yCiAqLwpjbGFzcyBDaGFuZ2VkRmlsZXNJdGVyYXRvclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0cmlldmVzQW5kQ2FjaGVzVGFyZ2V0RGF0YSgpCiAgICB7CiAgICAgICAgJGN0aW1lID0gc3RydG90aW1lKCdKYW51YXJ5IDEsIDIwMTMnKTsKCiAgICAgICAgJGEgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ1NwbEZpbGVpbmZvJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdnZXRTaXplJywgJ2dldE1UaW1lJywgJ19fdG9TdHJpbmcnKSkKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICRhLT5leHBlY3RzKCR0aGlzLT5hbnkoKSktPm1ldGhvZCgnZ2V0U2l6ZScpLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgxMCkpOwogICAgICAgICRhLT5leHBlY3RzKCR0aGlzLT5hbnkoKSktPm1ldGhvZCgnZ2V0TVRpbWUnKS0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJGN0aW1lKSk7CiAgICAgICAgJGEtPmV4cGVjdHMoJHRoaXMtPmFueSgpKS0+bWV0aG9kKCdfX3RvU3RyaW5nJyktPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCcnKSk7CgogICAgICAgICRiID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdTcGxGaWxlaW5mbycpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZ2V0U2l6ZScsICdnZXRNVGltZScsICdfX3RvU3RyaW5nJykpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkYi0+ZXhwZWN0cygkdGhpcy0+YW55KCkpLT5tZXRob2QoJ2dldFNpemUnKS0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoMTEpKTsKICAgICAgICAkYi0+ZXhwZWN0cygkdGhpcy0+YW55KCkpLT5tZXRob2QoJ2dldE1UaW1lJyktPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRjdGltZSkpOwogICAgICAgICRhLT5leHBlY3RzKCR0aGlzLT5hbnkoKSktPm1ldGhvZCgnX190b1N0cmluZycpLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgnJykpOwoKICAgICAgICAkYyA9IDA7CiAgICAgICAgJGNvbnZlcnRlciA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXFMzXFN5bmNcS2V5Q29udmVydGVyJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdjb252ZXJ0JykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICRjb252ZXJ0ZXItPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnY29udmVydCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuQ2FsbGJhY2soZnVuY3Rpb24gKCkgdXNlICgmJGMpIHsKICAgICAgICAgICAgICAgIGlmICgrKyRjID09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2Zvbyc7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAnYmFyJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkpOwoKICAgICAgICAkdGFyZ2V0SXRlcmF0b3IgPSBuZXcgXEFycmF5SXRlcmF0b3IoYXJyYXkoJGIsICRhKSk7CiAgICAgICAgJHRhcmdldEl0ZXJhdG9yLT5yZXdpbmQoKTsKICAgICAgICAkY2hhbmdlZCA9IG5ldyBDaGFuZ2VkRmlsZXNJdGVyYXRvcigkdGFyZ2V0SXRlcmF0b3IsICR0YXJnZXRJdGVyYXRvciwgJGNvbnZlcnRlciwgJGNvbnZlcnRlcik7CiAgICAgICAgJHJlZiA9IG5ldyBcUmVmbGVjdGlvbk1ldGhvZCgkY2hhbmdlZCwgJ2dldFRhcmdldERhdGEnKTsKICAgICAgICAkcmVmLT5zZXRBY2Nlc3NpYmxlKHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoMTAsICRjdGltZSksICRyZWYtPmludm9rZSgkY2hhbmdlZCwgJ2JhcicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KDExLCAkY3RpbWUpLCAkcmVmLT5pbnZva2UoJGNoYW5nZWQsICdmb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRyZWYtPmludm9rZSgkY2hhbmdlZCwgJ2JheicpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY29tcGFyZURhdGFQcm92aWRlcigpCiAgICB7CiAgICAgICAgJHQgPSBzdHJ0b3RpbWUoJ0phbnVhcnkgMSwgMjAxMycpOwoKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KDEwLCAkdCwgYXJyYXkoMTAsICR0KSwgZmFsc2UpLAogICAgICAgICAgICBhcnJheSgxMCwgJHQsIGFycmF5KDExLCAkdCksIHRydWUpLAogICAgICAgICAgICBhcnJheSgxMCwgJHQgKyAxMCwgYXJyYXkoMTAsICR0KSwgdHJ1ZSksCiAgICAgICAgICAgIGFycmF5KDEwLCAkdCwgZmFsc2UsIHRydWUpLAogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGNvbXBhcmVEYXRhUHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb21wYXJlc0RhdGEoJHNpemUxLCAkdGltZTEsICRyZXR1cm5WYWx1ZSwgJHByZXNlbnQpCiAgICB7CiAgICAgICAgJGEgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ1NwbEZpbGVpbmZvJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdnZXRTaXplJywgJ2dldE1UaW1lJywgJ19fdG9TdHJpbmcnKSkKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICRhLT5leHBlY3RzKCR0aGlzLT5hbnkoKSktPm1ldGhvZCgnZ2V0U2l6ZScpLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkc2l6ZTEpKTsKICAgICAgICAkYS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpLT5tZXRob2QoJ2dldE1UaW1lJyktPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCR0aW1lMSkpOwogICAgICAgICRhLT5leHBlY3RzKCR0aGlzLT5hbnkoKSktPm1ldGhvZCgnX190b1N0cmluZycpLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgnJykpOwoKICAgICAgICAkaTEgPSBuZXcgXEFycmF5SXRlcmF0b3IoYXJyYXkoJGEpKTsKICAgICAgICAkaTIgPSBuZXcgXEFycmF5SXRlcmF0b3IoYXJyYXkoKSk7CiAgICAgICAgJGNvbnZlcnRlciA9IG5ldyBLZXlDb252ZXJ0ZXIoKTsKCiAgICAgICAgJGl0ZXJhdG9yID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcUzNcU3luY1xDaGFuZ2VkRmlsZXNJdGVyYXRvcicpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZ2V0VGFyZ2V0RGF0YScpKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheSgkaTEsICRpMiwgJGNvbnZlcnRlciwgJGNvbnZlcnRlcikpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICRpdGVyYXRvci0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0VGFyZ2V0RGF0YScpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJHJldHVyblZhbHVlKSk7CgogICAgICAgICRyZXN1bHRzID0gaXRlcmF0b3JfdG9fYXJyYXkoJGl0ZXJhdG9yKTsKCiAgICAgICAgaWYgKCRwcmVzZW50KSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgxLCAkcmVzdWx0cyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydENvdW50KDAsICRyZXN1bHRzKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydENvdW50KDAsICRpdGVyYXRvci0+Z2V0VW5tYXRjaGVkKCkpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Sync/DownloadSyncBuilderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcU3luYzsKCnVzZSBBd3NcUzNcQ29tbWFuZFxTM0NvbW1hbmQ7CnVzZSBBd3NcUzNcUmVzdW1hYmxlRG93bmxvYWQ7CnVzZSBBd3NcUzNcU3luY1xEb3dubG9hZFN5bmM7CnVzZSBBd3NcUzNcU3luY1xEb3dubG9hZFN5bmNCdWlsZGVyOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFMzXFN5bmNcRG93bmxvYWRTeW5jQnVpbGRlcgogKiBAY292ZXJzIEF3c1xTM1xTeW5jXEFic3RyYWN0U3luY0J1aWxkZXIKICovCmNsYXNzIERvd25sb2FkU3luY0J1aWxkZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldEluc3RhbmNlKCkKICAgIHsKICAgICAgICBEb3dubG9hZFN5bmNCdWlsZGVyOjpnZXRJbnN0YW5jZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQnVpbGQoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgIC8vIFNldCBhIGxpc3Qgb2JqZWN0IHJlc3BvbnNlIGFuZCBhIEhlYWRPYmplY3QgcmVzcG9uc2UgdG8gc2F0aXNmeSB0aGUgc3RyZWFtIHdyYXBwZXIKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KCdzMy9saXN0X29iamVjdHNfZW1wdHknKSk7CiAgICAgICAgJGIgPSBEb3dubG9hZFN5bmNCdWlsZGVyOjpnZXRJbnN0YW5jZSgpOwogICAgICAgICRiLT5zZXRDbGllbnQoJGNsaWVudCkKICAgICAgICAgICAgLT5zZXREaXJlY3RvcnkoX19ESVJfXykKICAgICAgICAgICAgLT5zZXRCdWNrZXQoJ2ZvbycpCiAgICAgICAgICAgIC0+YWxsb3dSZXN1bWFibGVEb3dubG9hZHModHJ1ZSkKICAgICAgICAgICAgLT5zZXRPcGVyYXRpb25QYXJhbXMoYXJyYXkoJ0ZvbycgPT4gJ0JhcicpKQogICAgICAgICAgICAtPmJ1aWxkKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgZGlyZWN0b3J5IGlzIHJlcXVpcmVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc0RpcmVjdG9yeUlzU2V0KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KCdzMy9saXN0X29iamVjdHNfZW1wdHknKSk7CiAgICAgICAgJGIgPSBEb3dubG9hZFN5bmNCdWlsZGVyOjpnZXRJbnN0YW5jZSgpOwogICAgICAgICRiLT5zZXRDbGllbnQoJGNsaWVudCktPnNldEJ1Y2tldCgnZm9vJyktPmJ1aWxkKCk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldERlYnVnU3luYygpCiAgICB7CiAgICAgICAgJG91dCA9IGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3IrJyk7CiAgICAgICAgJHN5bmMgPSBEb3dubG9hZFN5bmNCdWlsZGVyOjpnZXRJbnN0YW5jZSgpCiAgICAgICAgICAgIC0+ZW5hYmxlRGVidWdPdXRwdXQoJG91dCkKICAgICAgICAgICAgLT5zZXRDbGllbnQoJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKSkKICAgICAgICAgICAgLT5zZXRCdWNrZXQoJ0ZvbycpCiAgICAgICAgICAgIC0+c2V0RGlyZWN0b3J5KF9fRElSX18pCiAgICAgICAgICAgIC0+c2V0U291cmNlSXRlcmF0b3IobmV3IFxBcnJheUl0ZXJhdG9yKGFycmF5KF9fRklMRV9fKSkpCiAgICAgICAgICAgIC0+YnVpbGQoKTsKCiAgICAgICAgcmV0dXJuIGFycmF5KCRzeW5jLCAkb3V0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNEZWJ1Z0xpc3RlbmVyRm9yQ29tbWFuZCgpCiAgICB7CiAgICAgICAgbGlzdCgkc3luYywgJG91dCkgPSAkdGhpcy0+Z2V0RGVidWdTeW5jKCk7CiAgICAgICAgJGNvbW1hbmQgPSBuZXcgUzNDb21tYW5kKGFycmF5KAogICAgICAgICAgICAnQnVja2V0JyA9PiAnRm9vJywKICAgICAgICAgICAgJ0tleScgICAgPT4gJ0JhcicsCiAgICAgICAgICAgICdTYXZlQXMnID0+IF9fRklMRV9fCiAgICAgICAgKSk7CiAgICAgICAgJHN5bmMtPmRpc3BhdGNoKERvd25sb2FkU3luYzo6QkVGT1JFX1RSQU5TRkVSLCBhcnJheSgnY29tbWFuZCcgPT4gJGNvbW1hbmQpKTsKICAgICAgICByZXdpbmQoJG91dCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdEb3dubG9hZGluZyBGb28vQmFyIC0+ICcgLiBfX0ZJTEVfXywgc3RyZWFtX2dldF9jb250ZW50cygkb3V0KSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzRGVidWdMaXN0ZW5lckZvclJlc3VtYWJsZSgpCiAgICB7CiAgICAgICAgbGlzdCgkc3luYywgJG91dCkgPSAkdGhpcy0+Z2V0RGVidWdTeW5jKCk7CiAgICAgICAgJHIgPSBuZXcgUmVzdW1hYmxlRG93bmxvYWQoJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKSwgJ0ZvbycsICdCYXInLCBfX0ZJTEVfXyk7CiAgICAgICAgJHN5bmMtPmRpc3BhdGNoKERvd25sb2FkU3luYzo6QkVGT1JFX1RSQU5TRkVSLCBhcnJheSgnY29tbWFuZCcgPT4gJHIpKTsKICAgICAgICByZXdpbmQoJG91dCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdSZXN1bWluZyBGb28vQmFyIC0+ICcgLiBfX0ZJTEVfXywgc3RyZWFtX2dldF9jb250ZW50cygkb3V0KSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Sync/DownloadSyncTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcU3luYzsKCnVzZSBBd3NcUzNcU3luY1xEb3dubG9hZFN5bmM7CgovKioKICogQGNvdmVycyBBd3NcUzNcU3luY1xEb3dubG9hZFN5bmMKICogQGNvdmVycyBBd3NcUzNcU3luY1xBYnN0cmFjdFN5bmMKICovCmNsYXNzIERvd25sb2FkU3luY1Rlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRTcGxGaWxlKCRmaWxlbmFtZSkKICAgIHsKICAgICAgICAkZmlsZSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignU3BsRmlsZUluZm8nKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2dldFBhdGhOYW1lJykpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkZmlsZS0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0UGF0aE5hbWUnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRmaWxlbmFtZSkpOwoKICAgICAgICByZXR1cm4gJGZpbGU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzU2ltcGxlQ29tbWFuZCgpCiAgICB7CiAgICAgICAgJGNvbnZlcnRlciA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXFMzXFN5bmNcS2V5Q29udmVydGVyJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdjb252ZXJ0JykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwoKICAgICAgICAkY29udmVydGVyLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdjb252ZXJ0JykKICAgICAgICAgICAgLT53aXRoKCdzMzovL2Zvby9iYXonKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCcvZm9vL2JhcicpKTsKCiAgICAgICAgJHN5bmMgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xTM1xTeW5jXERvd25sb2FkU3luYycpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsaWVudCcgPT4gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKSwKICAgICAgICAgICAgICAgICAgICAnYnVja2V0JyA9PiAnZm9vJywKICAgICAgICAgICAgICAgICAgICAnaXRlcmF0b3InID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZV9jb252ZXJ0ZXInID0+ICRjb252ZXJ0ZXIKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSkKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdjcmVhdGVEaXJlY3RvcnknKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CgogICAgICAgICRzeW5jLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdjcmVhdGVEaXJlY3RvcnknKQogICAgICAgICAgICAtPndpdGgoJy9mb28vYmFyJyk7CgogICAgICAgICRyZWYgPSBuZXcgXFJlZmxlY3Rpb25NZXRob2QoJHN5bmMsICdjcmVhdGVUcmFuc2ZlckFjdGlvbicpOwogICAgICAgICRyZWYtPnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgJGNvbW1hbmQgPSAkcmVmLT5pbnZva2UoJHN5bmMsICR0aGlzLT5nZXRTcGxGaWxlKCdzMzovL2Zvby9iYXonKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJGNvbW1hbmRbJ0J1Y2tldCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXonLCAkY29tbWFuZFsnS2V5J10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9mb28vYmFyJywgJGNvbW1hbmRbJ1NhdmVBcyddKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNSZXN1bWFibGVEb3dubG9hZFdoZW5GaWxlRXhpc3RzKCkKICAgIHsKICAgICAgICAkY29udmVydGVyID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdBd3NcUzNcU3luY1xLZXlDb252ZXJ0ZXInKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2NvbnZlcnQnKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CgogICAgICAgICRjb252ZXJ0ZXItPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2NvbnZlcnQnKQogICAgICAgICAgICAtPndpdGgoJ3MzOi8vZm9vL2JheicpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoX19GSUxFX18pKTsKCiAgICAgICAgJHN5bmMgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0F3c1xTM1xTeW5jXERvd25sb2FkU3luYycpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsaWVudCcgPT4gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKSwKICAgICAgICAgICAgICAgICAgICAnYnVja2V0JyA9PiAnZm9vJywKICAgICAgICAgICAgICAgICAgICAnaXRlcmF0b3InID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZV9jb252ZXJ0ZXInID0+ICRjb252ZXJ0ZXIsCiAgICAgICAgICAgICAgICAgICAgJ3Jlc3VtYWJsZScgPT4gdHJ1ZQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2NyZWF0ZURpcmVjdG9yeScpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJHN5bmMtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2NyZWF0ZURpcmVjdG9yeScpCiAgICAgICAgICAgIC0+d2l0aChfX0ZJTEVfXyk7CgogICAgICAgICRyZWYgPSBuZXcgXFJlZmxlY3Rpb25NZXRob2QoJHN5bmMsICdjcmVhdGVUcmFuc2ZlckFjdGlvbicpOwogICAgICAgICRyZWYtPnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgJHJlc3VsdCA9ICRyZWYtPmludm9rZSgkc3luYywgJHRoaXMtPmdldFNwbEZpbGUoJ3MzOi8vZm9vL2JheicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXFMzXFJlc3VtYWJsZURvd25sb2FkJywgJHJlc3VsdCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzTm90VHJhbnNmZXJGaWxlc0luQmF0Y2hXaXRoU2FtZU5hbWVBc0RpcigpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJywgdHJ1ZSk7CgogICAgICAgICRhY3R1YWxDb21tYW5kcyA9IGFycmF5KAogICAgICAgICAgICAkY2xpZW50LT5nZXRDb21tYW5kKCdHZXRPYmplY3QnLCBhcnJheSgnQnVja2V0JyA9PiAnZm9vJywgJ0tleScgPT4gJ2JhcicsICdTYXZlQXMnID0+ICcvdG1wL3Rlc3QnKSksCiAgICAgICAgICAgICRjbGllbnQtPmdldENvbW1hbmQoJ0dldE9iamVjdCcsIGFycmF5KCdCdWNrZXQnID0+ICdmb28nLCAnS2V5JyA9PiAnYmFyJywgJ1NhdmVBcycgPT4gJy90bXAvZm9vJykpLAogICAgICAgICAgICAkY2xpZW50LT5nZXRDb21tYW5kKCdHZXRPYmplY3QnLCBhcnJheSgnQnVja2V0JyA9PiAnZm9vJywgJ0tleScgPT4gJ2JhcicsICdTYXZlQXMnID0+ICcvdG1wL2Zvby9iYXIuanBnJykpLAogICAgICAgICAgICAkY2xpZW50LT5nZXRDb21tYW5kKCdHZXRPYmplY3QnLCBhcnJheSgnQnVja2V0JyA9PiAnZm9vJywgJ0tleScgPT4gJ2JhcicsICdTYXZlQXMnID0+ICcvdG1wL2Zvby9iYXovYmFtJykpLAogICAgICAgICAgICAkY2xpZW50LT5nZXRDb21tYW5kKCdHZXRPYmplY3QnLCBhcnJheSgnQnVja2V0JyA9PiAnZm9vJywgJ0tleScgPT4gJ2JhcicsICdTYXZlQXMnID0+ICcvdG1wL2Zvby9iYXovYmFtL2EnKSkKICAgICAgICApOwoKICAgICAgICAkc3luYyA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXFMzXFN5bmNcRG93bmxvYWRTeW5jJykKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwoKICAgICAgICAkcmVmID0gbmV3IFxSZWZsZWN0aW9uTWV0aG9kKCRzeW5jLCAnZmlsdGVyQ29tbWFuZHMnKTsKICAgICAgICAkcmVmLT5zZXRBY2Nlc3NpYmxlKHRydWUpOwogICAgICAgICRyZXN1bHQgPSBhcnJheV92YWx1ZXMoYXJyYXlfbWFwKGZ1bmN0aW9uICgkY29tbWFuZCkgewogICAgICAgICAgICByZXR1cm4gJGNvbW1hbmRbJ1NhdmVBcyddOwogICAgICAgIH0sICRyZWYtPmludm9rZSgkc3luYywgJGFjdHVhbENvbW1hbmRzKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICcvdG1wL3Rlc3QnLAogICAgICAgICAgICAnL3RtcC9mb28vYmFyLmpwZycsCiAgICAgICAgICAgICcvdG1wL2Zvby9iYXovYmFtL2EnCiAgICAgICAgKSwgJHJlc3VsdCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Sync/KeyConverterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcU3luYzsKCnVzZSBBd3NcUzNcU3luY1xLZXlDb252ZXJ0ZXI7CgovKioKICogQGNvdmVycyBBd3NcUzNcU3luY1xLZXlDb252ZXJ0ZXIKICovCmNsYXNzIEtleUNvbnZlcnRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29udmVydHNLZXlzKCkKICAgIHsKICAgICAgICAkYyA9IG5ldyBLZXlDb252ZXJ0ZXIoJy90ZXN0LzEyMycsICcvZm9vJywgJ3wnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvZm9vfGFiY3wxMjMnLCAkYy0+Y29udmVydCgnL3Rlc3QvMTIzL2FiYy8xMjMnKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Sync/UploadSyncBuilderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcU3luYzsKCnVzZSBBd3NcUzNcTW9kZWxcQWNwQnVpbGRlcjsKdXNlIEF3c1xTM1xTeW5jXFVwbG9hZFN5bmNCdWlsZGVyOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFMzXFN5bmNcVXBsb2FkU3luY0J1aWxkZXIKICogQGNvdmVycyBBd3NcUzNcU3luY1xVcGxvYWRTeW5jCiAqLwpjbGFzcyBVcGxvYWRTeW5jQnVpbGRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRQcmVwYXJlZENsaWVudCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJywgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgnczMvbGlzdF9vYmplY3RzX2VtcHR5JykpOwoKICAgICAgICByZXR1cm4gJGNsaWVudDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVwbG9hZHNGcm9tRGlyZWN0b3J5KCkKICAgIHsKICAgICAgICAkYiA9IFVwbG9hZFN5bmNCdWlsZGVyOjpnZXRJbnN0YW5jZSgpCiAgICAgICAgICAgIC0+dXBsb2FkRnJvbURpcmVjdG9yeShfX0RJUl9fKS0+c2V0QnVja2V0KCdmb28nKS0+c2V0Q2xpZW50KCR0aGlzLT5nZXRQcmVwYXJlZENsaWVudCgpKS0+YnVpbGQoKTsKICAgICAgICAkaSA9ICR0aGlzLT5yZWFkQXR0cmlidXRlKCRiLCAnb3B0aW9ucycpLT5nZXQoJ2l0ZXJhdG9yJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xTM1xTeW5jXENoYW5nZWRGaWxlc0l0ZXJhdG9yJywgJGkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdcTm9SZXdpbmRJdGVyYXRvcicsICRpLT5nZXRJbm5lckl0ZXJhdG9yKCkpOwogICAgICAgICRpID0gJGktPmdldElubmVySXRlcmF0b3IoKS0+Z2V0SW5uZXJJdGVyYXRvcigpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcSXRlcmF0b3JcRmlsdGVySXRlcmF0b3InLCAkaSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ1JlY3Vyc2l2ZUl0ZXJhdG9ySXRlcmF0b3InLCAkaS0+Z2V0SW5uZXJJdGVyYXRvcigpKTsKICAgICAgICAkZmlsZW5hbWVzID0gYXJyYXlfZmlsdGVyKGl0ZXJhdG9yX3RvX2FycmF5KCRpKSwgZnVuY3Rpb24gKCRmKSB7IHJldHVybiAoc3RyaW5nKSAkZjsgfSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKF9fRklMRV9fLCAkZmlsZW5hbWVzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVwbG9hZHNGcm9tR2xvYigpCiAgICB7CiAgICAgICAgJGIgPSBVcGxvYWRTeW5jQnVpbGRlcjo6Z2V0SW5zdGFuY2UoKQogICAgICAgICAgICAtPnVwbG9hZEZyb21HbG9iKF9fRElSX18gLiAnLyoucGhwJyktPnNldEJ1Y2tldCgnZm9vJyktPnNldENsaWVudCgkdGhpcy0+Z2V0UHJlcGFyZWRDbGllbnQoKSktPmJ1aWxkKCk7CiAgICAgICAgJGkgPSAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYiwgJ29wdGlvbnMnKS0+Z2V0KCdpdGVyYXRvcicpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcUzNcU3luY1xDaGFuZ2VkRmlsZXNJdGVyYXRvcicsICRpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignXE5vUmV3aW5kSXRlcmF0b3InLCAkaS0+Z2V0SW5uZXJJdGVyYXRvcigpKTsKICAgICAgICAkaSA9ICRpLT5nZXRJbm5lckl0ZXJhdG9yKCktPmdldElubmVySXRlcmF0b3IoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXEl0ZXJhdG9yXEZpbHRlckl0ZXJhdG9yJywgJGkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHbG9iSXRlcmF0b3InLCAkaS0+Z2V0SW5uZXJJdGVyYXRvcigpKTsKICAgICAgICAkZmlsZW5hbWVzID0gYXJyYXlfZmlsdGVyKGl0ZXJhdG9yX3RvX2FycmF5KCRpKSwgZnVuY3Rpb24gKCRmKSB7IHJldHVybiAoc3RyaW5nKSAkZjsgfSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKF9fRklMRV9fLCAkZmlsZW5hbWVzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNldEFjbE9uUHV0T2JqZWN0KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KCdzMy9saXN0X29iamVjdHNfZW1wdHknLCAnczMvaGVhZF9zdWNjZXNzJykpOwogICAgICAgICRpID0gbmV3IFxBcnJheUl0ZXJhdG9yKGFycmF5KG5ldyBcU3BsRmlsZUluZm8oX19GSUxFX18pKSk7CiAgICAgICAgJG91dCA9IGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3IrJyk7CiAgICAgICAgJGIgPSBVcGxvYWRTeW5jQnVpbGRlcjo6Z2V0SW5zdGFuY2UoKQogICAgICAgICAgICAtPnNldEJhc2VEaXIoX19ESVJfXykKICAgICAgICAgICAgLT5zZXRTb3VyY2VJdGVyYXRvcigkaSkKICAgICAgICAgICAgLT5zZXRCdWNrZXQoJ2ZvbycpCiAgICAgICAgICAgIC0+c2V0Q2xpZW50KCRjbGllbnQpCiAgICAgICAgICAgIC0+ZW5hYmxlRGVidWdPdXRwdXQoJG91dCkKICAgICAgICAgICAgLT5zZXRBY2woJ3B1YmxpYy1yZWFkJykKICAgICAgICAgICAgLT5idWlsZCgpOwogICAgICAgICRiLT50cmFuc2ZlcigpOwogICAgICAgICRyZXF1ZXN0cyA9ICR0aGlzLT5nZXRNb2NrZWRSZXF1ZXN0cygpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgyLCAkcmVxdWVzdHMpOwogICAgICAgICRwdXQgPSAkcmVxdWVzdHNbMV07CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUFVUJywgJHB1dC0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9VcGxvYWRTeW5jQnVpbGRlclRlc3QucGhwJywgJHB1dC0+Z2V0UmVzb3VyY2UoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygncHVibGljLXJlYWQnLCAkcHV0LT5nZXRIZWFkZXIoJ3gtYW16LWFjbCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28uczMuYW1hem9uYXdzLmNvbScsICRwdXQtPmdldEhvc3QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdE51bGwoJHB1dC0+Z2V0SGVhZGVyKCdDb250ZW50LU1ENScpKTsKCiAgICAgICAgcmV3aW5kKCRvdXQpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnVXBsb2FkaW5nICcgLiBfX0ZJTEVfXyAuICcgLT4gVXBsb2FkU3luY0J1aWxkZXJUZXN0LnBocCAoJywgc3RyZWFtX2dldF9jb250ZW50cygkb3V0KSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5TZXRBY3BPbk11bHRpcGFydFVwbG9hZHNBbmRFbWl0c0RlYnVnKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KAogICAgICAgICAgICAnczMvbGlzdF9vYmplY3RzX2VtcHR5JywKICAgICAgICAgICAgJ3MzL2luaXRpYXRlX211bHRpcGFydF91cGxvYWQnLAogICAgICAgICAgICAnczMvdXBsb2FkX3BhcnQnLAogICAgICAgICAgICAnczMvY29tcGxldGVfbXVsdGlwYXJ0X3VwbG9hZCcKICAgICAgICApKTsKCiAgICAgICAgJG91dCA9IGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3IrJyk7CgogICAgICAgIFVwbG9hZFN5bmNCdWlsZGVyOjpnZXRJbnN0YW5jZSgpCiAgICAgICAgICAgIC0+c2V0QnVja2V0KCdmb28nKQogICAgICAgICAgICAtPnNldENsaWVudCgkY2xpZW50KQogICAgICAgICAgICAtPnNldEJhc2VEaXIoX19ESVJfXykKICAgICAgICAgICAgLT5lbmFibGVEZWJ1Z091dHB1dCgkb3V0KQogICAgICAgICAgICAtPnNldFNvdXJjZUl0ZXJhdG9yKG5ldyBcQXJyYXlJdGVyYXRvcihhcnJheShuZXcgXFNwbEZpbGVJbmZvKF9fRklMRV9fKSkpKQogICAgICAgICAgICAtPnNldE11bHRpcGFydFVwbG9hZFNpemUoZmlsZXNpemUoX19GSUxFX18pIC0gMSkKICAgICAgICAgICAgLT5zZXRBY3AoQWNwQnVpbGRlcjo6bmV3SW5zdGFuY2UoKS0+c2V0T3duZXIoJzEyMycpLT5hZGRHcmFudEZvckVtYWlsKCdSRUFEX0FDUCcsICdmb29AYmF6LmNvbScpLT5idWlsZCgpKQogICAgICAgICAgICAtPmJ1aWxkKCkKICAgICAgICAgICAgLT50cmFuc2ZlcigpOwoKICAgICAgICAkcmVxdWVzdHMgPSAkdGhpcy0+Z2V0TW9ja2VkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoNCwgJHJlcXVlc3RzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQT1NUJywgJHJlcXVlc3RzWzFdLT5nZXRNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCc/dXBsb2FkcycsICRyZXF1ZXN0c1sxXS0+Z2V0UmVzb3VyY2UoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdE51bGwoJHJlcXVlc3RzWzFdLT5nZXRIZWFkZXIoJ3gtYW16LWdyYW50LXJlYWQtYWNwJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BVVCcsICRyZXF1ZXN0c1syXS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BPU1QnLCAkcmVxdWVzdHNbM10tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ3VwbG9hZElkPScsICRyZXF1ZXN0c1szXS0+Z2V0UmVzb3VyY2UoKSk7CgogICAgICAgIHJld2luZCgkb3V0KTsKICAgICAgICAkY29udGVudHMgPSBzdHJlYW1fZ2V0X2NvbnRlbnRzKCRvdXQpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygKICAgICAgICAgICAgJ0JlZ2lubmluZyBtdWx0aXBhcnQgdXBsb2FkOiAnIC4gX19GSUxFX18gLiAnIC0+IFVwbG9hZFN5bmNCdWlsZGVyVGVzdC5waHAgKCcsCiAgICAgICAgICAgICRjb250ZW50cwogICAgICAgICk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCctIFBhcnQgMSAoJywgJGNvbnRlbnRzKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Sync/UploadSyncTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcU3luYzsKCnVzZSBBd3NcUzNcU3luY1xLZXlDb252ZXJ0ZXI7CnVzZSBBd3NcUzNcU3luY1xVcGxvYWRTeW5jOwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFMzXFN5bmNcVXBsb2FkU3luYwogKiBAY292ZXJzIEF3c1xTM1xTeW5jXEFic3RyYWN0U3luYwogKi8KY2xhc3MgVXBsb2FkU3luY1Rlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxQSFBVbml0X0ZyYW1ld29ya19FcnJvcl9XYXJuaW5nCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIGZhaWxlZCB0byBvcGVuIHN0cmVhbQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNGaWxlRXhpc3RzKCkKICAgIHsKICAgICAgICAkc3luYyA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXFMzXFN5bmNcVXBsb2FkU3luYycpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsaWVudCcgPT4gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnKSwKICAgICAgICAgICAgICAgICAgICAnYnVja2V0JyA9PiAnZm9vJywKICAgICAgICAgICAgICAgICAgICAnaXRlcmF0b3InID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZV9jb252ZXJ0ZXInID0+IG5ldyBLZXlDb252ZXJ0ZXIoKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkcmVmID0gbmV3IFxSZWZsZWN0aW9uTWV0aG9kKCRzeW5jLCAnY3JlYXRlVHJhbnNmZXJBY3Rpb24nKTsKICAgICAgICAkcmVmLT5zZXRBY2Nlc3NpYmxlKHRydWUpOwogICAgICAgICRyZWYtPmludm9rZSgkc3luYywgJHRoaXMtPmdldFNwbEZpbGUoJy9wYXRoL3RvL2RvZXMvbm90L2V4aXN0JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc1NpbXBsZUNvbW1hbmQoKQogICAgewogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Z2V0QWN0aW9uKDEwMDAsICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJywgdHJ1ZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICRyZXN1bHRbJ0J1Y2tldCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90TnVsbCgkcmVzdWx0WydLZXknXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsIChzdHJpbmcpICRyZXN1bHRbJ0JvZHknXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzTXVsdGlwYXJ0VXBsb2FkKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsICdzMy9pbml0aWF0ZV9tdWx0aXBhcnRfdXBsb2FkJyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5nZXRBY3Rpb24oMiwgJGNsaWVudCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xTM1xNb2RlbFxNdWx0aXBhcnRVcGxvYWRcQWJzdHJhY3RUcmFuc2ZlcicsICRyZXN1bHQpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRTcGxGaWxlKCRmaWxlbmFtZSwgJHNpemUgPSA0KQogICAgewogICAgICAgICRmaWxlID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdTcGxGaWxlSW5mbycpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZ2V0UGF0aE5hbWUnLCAnZ2V0U2l6ZScpKQogICAgICAgICAgICAtPmRpc2FibGVPcmlnaW5hbENvbnN0cnVjdG9yKCkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJGZpbGUtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldFBhdGhOYW1lJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkZmlsZW5hbWUpKTsKICAgICAgICAkZmlsZS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRTaXplJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkc2l6ZSkpOwoKICAgICAgICByZXR1cm4gJGZpbGU7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldEFjdGlvbigkc2l6ZSwgJGNsaWVudCkKICAgIHsKICAgICAgICAkc3luYyA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignQXdzXFMzXFN5bmNcVXBsb2FkU3luYycpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsaWVudCcgPT4gJGNsaWVudCwKICAgICAgICAgICAgICAgICAgICAnYnVja2V0JyA9PiAnZm9vJywKICAgICAgICAgICAgICAgICAgICAnaXRlcmF0b3InID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZV9jb252ZXJ0ZXInID0+IG5ldyBLZXlDb252ZXJ0ZXIoKSwKICAgICAgICAgICAgICAgICAgICAnbXVsdGlwYXJ0X3VwbG9hZF9zaXplJyA9PiAkc2l6ZQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJHBhdGggPSB0ZW1wbmFtKCcvdG1wJywgJ3Rlc3Rfc2ltcGxlJyk7CiAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJHBhdGgsICd0ZXN0Jyk7CiAgICAgICAgJHJlZiA9IG5ldyBcUmVmbGVjdGlvbk1ldGhvZCgkc3luYywgJ2NyZWF0ZVRyYW5zZmVyQWN0aW9uJyk7CiAgICAgICAgJHJlZi0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkcmVzdWx0ID0gJHJlZi0+aW52b2tlKCRzeW5jLCAkdGhpcy0+Z2V0U3BsRmlsZSgkcGF0aCkpOwogICAgICAgIHVubGluaygkcGF0aCk7CgogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Waiter/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Waiter/BucketExistsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcV2FpdGVyOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgpjbGFzcyBCdWNrZXRFeGlzdHNUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNUcnVlSWZCdWNrZXRFeGlzdHMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgJ3MzL2hlYWRfc3VjY2VzcycpOwogICAgICAgICRjbGllbnQtPndhaXRVbnRpbCgnYnVja2V0X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICdmb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkdGhpcy0+Z2V0TW9ja2VkUmVxdWVzdHMoKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0cmllc1VudGlsQnVja2V0RXhpc3RzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KCdzMy9oZWFkX2ZhaWx1cmUnLCAnczMvaGVhZF9zdWNjZXNzJykpOwogICAgICAgICRjbGllbnQtPndhaXRVbnRpbCgnYnVja2V0X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICdmb28nLCAnd2FpdGVyLmludGVydmFsJyA9PiAwKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkdGhpcy0+Z2V0TW9ja2VkUmVxdWVzdHMoKSkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc05vdEJ1ZmZlcjUwMEV4Y2VwdGlvbnMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkobmV3IFJlc3BvbnNlKDUwMSkpKTsKICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ2J1Y2tldF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAnZm9vJywgJ3dhaXRlci5pbnRlcnZhbCcgPT4gMCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Waiter/BucketNotExistsTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcV2FpdGVyOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgpjbGFzcyBCdWNrZXROb3RFeGlzdHNUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNUcnVlSWZCdWNrZXROb3RFeGlzdHMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgJ3MzL2hlYWRfZmFpbHVyZScpOwogICAgICAgICRjbGllbnQtPndhaXRVbnRpbCgnYnVja2V0X25vdF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAnZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJHRoaXMtPmdldE1vY2tlZFJlcXVlc3RzKCkpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHJpZXNVbnRpbEJ1Y2tldE5vdEV4aXN0cygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJywgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgnczMvaGVhZF9zdWNjZXNzJywgJ3MzL2hlYWRfZmFpbHVyZScpKTsKICAgICAgICAkY2xpZW50LT53YWl0VW50aWwoJ2J1Y2tldF9ub3RfZXhpc3RzJywgYXJyYXkoJ0J1Y2tldCcgPT4gJ2ZvbycsICd3YWl0ZXIuaW50ZXJ2YWwnID0+IDApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCR0aGlzLT5nZXRNb2NrZWRSZXF1ZXN0cygpKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzTm90QnVmZmVyNTAwRXhjZXB0aW9ucygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3MzJywgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheShuZXcgUmVzcG9uc2UoNTAxKSkpOwogICAgICAgICRjbGllbnQtPndhaXRVbnRpbCgnYnVja2V0X25vdF9leGlzdHMnLCBhcnJheSgnQnVja2V0JyA9PiAnZm9vJywgJ3dhaXRlci5pbnRlcnZhbCcgPT4gMCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/S3/Waiter/ObjectExistsWaiterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcUzNcV2FpdGVyOwoKY2xhc3MgT2JqZWN0RXhpc3RzVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zVHJ1ZUlmT2JqZWN0RXhpc3RzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnczMnLCB0cnVlKTsKICAgICAgICAkbW9jayA9ICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgJ3MzL2hlYWRfc3VjY2VzcycpOwogICAgICAgICRjbGllbnQtPndhaXRVbnRpbCgnb2JqZWN0X2V4aXN0cycsIGFycmF5KCdCdWNrZXQnID0+ICdmb28nLCAnS2V5JyA9PiAnYmFyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJHRoaXMtPmdldE1vY2tlZFJlcXVlc3RzKCkpKTsKICAgICAgICAkcmVxdWVzdHMgPSAkbW9jay0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cygpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2Zvby5zMy5hbWF6b25hd3MuY29tJywgJHJlcXVlc3RzWzBdLT5nZXRIb3N0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9iYXInLCAkcmVxdWVzdHNbMF0tPmdldFBhdGgoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXRyaWVzVW50aWxPYmplY3RFeGlzdHMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoJ3MzL2hlYWRfZmFpbHVyZScsICdzMy9oZWFkX3N1Y2Nlc3MnKSk7CiAgICAgICAgJGNsaWVudC0+d2FpdFVudGlsKCdvYmplY3RfZXhpc3RzJywgYXJyYXkoJ0J1Y2tldCcgPT4gJ2ZvbycsICdLZXknID0+ICdiYXInLCAnd2FpdGVyLmludGVydmFsJyA9PiAwKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkdGhpcy0+Z2V0TW9ja2VkUmVxdWVzdHMoKSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Ses/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Ses/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Ses/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU2VzXEludGVncmF0aW9uOwoKdXNlIEF3c1xTZXNcU2VzQ2xpZW50Owp1c2UgQXdzXFNlc1xFbnVtXFZlcmlmaWNhdGlvblN0YXR1czsKdXNlIEF3c1xTZXNcRW51bVxNYWlsYm94U2ltdWxhdG9yOwp1c2UgQXdzXFNlc1xFbnVtXElkZW50aXR5VHlwZTsKCi8qKgogKiBAZ3JvdXAgaW50ZWdyYXRpb24KICovCmNsYXNzIEludGVncmF0aW9uVGVzdCBleHRlbmRzIFxBd3NcVGVzdHNcSW50ZWdyYXRpb25UZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEB2YXIgU2VzQ2xpZW50IEFuIFNFUyBjbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRzZXM7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBBbiBlbWFpbCBhZGRyZXNzIGFscmVhZHkgdmVyaWZpZWQgd2l0aCBTRVMKICAgICAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkdmVyaWZpZWRFbWFpbDsKCiAgICAvKioKICAgICAqIFRoZSBTRVMgaW50ZWdyYXRpb24gdGVzdHMgdXNlIHRoZSBWRVJJRklFRF9FTUFJTCB2YWx1ZSBzZXQgaW4geW91ciBwaHB1bml0LmZ1bmN0aW9uYWwueG1sIGFzIHRoZSBzZW5kZXIuIFRoaXMKICAgICAqIHNldHVwIG1ldGhvZCBlbnN1cmVzIHRoYXQgdGhlIHZhbHVlIGhhcyBiZWVuIHByb3ZpZGVkIGFuZCBpcyBhbHJlYWR5IHZlcmlmaWVkLgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNldFVwQmVmb3JlQ2xhc3MoKQogICAgewogICAgICAgIHNlbGY6OmxvZygnTWFrZSBzdXJlIGEgdmVyaWZpZWQgZW1haWwgYWRkcmVzcyB3YXMgc2V0IGluIHBocHVuaXQuZnVuY3Rpb25hbC54bWwuJyk7CiAgICAgICAgJGVtYWlsQWRkcmVzcyA9IGlzc2V0KCRfU0VSVkVSWydWRVJJRklFRF9FTUFJTCddKSA/ICRfU0VSVkVSWydWRVJJRklFRF9FTUFJTCddIDogbnVsbDsKICAgICAgICBpZiAoJGVtYWlsQWRkcmVzcykgewogICAgICAgICAgICAvKiogQHZhciAkc2VzIFNlc0NsaWVudCAqLwogICAgICAgICAgICAkc2VzID0gc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzZXMnKTsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkc2VzLT5nZXRJZGVudGl0eVZlcmlmaWNhdGlvbkF0dHJpYnV0ZXMoYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0lkZW50aXRpZXMnID0+IGFycmF5KCRlbWFpbEFkZHJlc3MpLAogICAgICAgICAgICAgICAgKSk7CiAgICAgICAgICAgICAgICAkc3RhdHVzID0gJHJlc3VsdC0+Z2V0UGF0aCgiVmVyaWZpY2F0aW9uQXR0cmlidXRlcy97JGVtYWlsQWRkcmVzc30vVmVyaWZpY2F0aW9uU3RhdHVzIik7CiAgICAgICAgICAgICAgICBpZiAoJHN0YXR1cyA9PT0gVmVyaWZpY2F0aW9uU3RhdHVzOjpTVUNDRVNTKSB7CiAgICAgICAgICAgICAgICAgICAgc2VsZjo6bG9nKCdHb29kISBUaGUgcHJvdmlkZWQgZW1haWwgYWRkcmVzcyBpcyBhIHZlcmlmaWVkIGVtYWlsIGlkZW50aXR5IGZvciBTRVMuJyk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHNlbGY6OmxvZygnVWggb2ghIFRoZSBwcm92aWRlZCBlbWFpbCBhZGRyZXNzIGlzIE5PVCBhIHZlcmlmaWVkIGVtYWlsIGlkZW50aXR5IGZvciBTRVMuJyk7CiAgICAgICAgICAgICAgICAgICAgJGVtYWlsQWRkcmVzcyA9IG51bGw7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgICAgIHNlbGY6OmxvZygnVGhlcmUgd2FzIGFuIGVycm9yIGNoZWNraW5nIGlmIHRoZSBlbWFpbCBhZGRyZXNzIHByb3ZpZGVkIGluIHlvdXIgcGhwdW5pdC5mdW5jdGlvbmFsLnhtbCBpcyB2ZXJpZmllZC4nKTsKICAgICAgICAgICAgICAgICRlbWFpbEFkZHJlc3MgPSBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgc2VsZjo6bG9nKCdObyB2ZXJpZmllZCBlbWFpbCBhZGRyZXNzIHdhcyBwcm92aWRlZCBpbiB5b3VyIHBocHVuaXQuZnVuY3Rpb25hbC54bWwuJyk7CiAgICAgICAgICAgICRlbWFpbEFkZHJlc3MgPSBudWxsOwogICAgICAgIH0KCiAgICAgICAgc2VsZjo6JHZlcmlmaWVkRW1haWwgPSAkZW1haWxBZGRyZXNzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnNlcyA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3NlcycpOwogICAgICAgIGlmICghc2VsZjo6JHZlcmlmaWVkRW1haWwpIHsKICAgICAgICAgICAgJHRoaXMtPm1hcmtUZXN0U2tpcHBlZCgpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEJhc2ljSWRlbnRpdHlDcnVkT3BlcmF0aW9ucygpCiAgICB7CiAgICAgICAgJGVtYWlsQWRkcmVzcyA9ICdub3JlcGx5QGFtYXpvbi5jb20nOwoKICAgICAgICBzZWxmOjpsb2coJ0NyZWF0ZSBhIG5ldyBpZGVudGl0eS4nKTsKICAgICAgICAkdGhpcy0+c2VzLT5nZXRDb21tYW5kKCdWZXJpZnlFbWFpbElkZW50aXR5JywgYXJyYXkoJ0VtYWlsQWRkcmVzcycgPT4gJGVtYWlsQWRkcmVzcykpLT5leGVjdXRlKCk7CiAgICAgICAgJHRoaXMtPnNlcy0+d2FpdFVudGlsSWRlbnRpdHlFeGlzdHMoYXJyYXkoJ0lkZW50aXRpZXMnID0+IGFycmF5KCRlbWFpbEFkZHJlc3MpKSk7CgogICAgICAgIHNlbGY6OmxvZygnQ2hlY2sgdGhlIHN0YXR1cyBhbmQgbWFrZSBzdXJlIGl0XCdzIHBlbmRpbmcuJyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5zZXMtPmdldENvbW1hbmQoJ0dldElkZW50aXR5VmVyaWZpY2F0aW9uQXR0cmlidXRlcycsIGFycmF5KAogICAgICAgICAgICAnSWRlbnRpdGllcycgPT4gYXJyYXkoJGVtYWlsQWRkcmVzcyksCiAgICAgICAgKSktPmdldFJlc3VsdCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoVmVyaWZpY2F0aW9uU3RhdHVzOjpQRU5ESU5HLCAkcmVzdWx0LT5nZXRQYXRoKCJWZXJpZmljYXRpb25BdHRyaWJ1dGVzL3skZW1haWxBZGRyZXNzfS9WZXJpZmljYXRpb25TdGF0dXMiKSk7CgogICAgICAgIHNlbGY6OmxvZygnTWFrZSBzdXJlIHRoZSBpZGVudGl0eSBpcyBpbiB0aGUgaWRlbnRpdHkgbGlzdC4nKTsKICAgICAgICAkaWRlbnRpdGllcyA9ICR0aGlzLT5zZXMtPmdldEl0ZXJhdG9yKCdMaXN0SWRlbnRpdGllcycsIGFycmF5KAogICAgICAgICAgICAnSWRlbnRpdHlUeXBlJyA9PiBJZGVudGl0eVR5cGU6OkVNQUlMX0FERFJFU1MKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJGVtYWlsQWRkcmVzcywgaXRlcmF0b3JfdG9fYXJyYXkoJGlkZW50aXRpZXMpKTsKCiAgICAgICAgc2VsZjo6bG9nKCdEZWxldGUgdGhlIGlkZW50aXR5LicpOwogICAgICAgICR0aGlzLT5zZXMtPmdldENvbW1hbmQoJ0RlbGV0ZUlkZW50aXR5JywgYXJyYXkoJ0lkZW50aXR5JyA9PiAkZW1haWxBZGRyZXNzKSktPmV4ZWN1dGUoKTsKICAgICAgICBzZWxmOjpsb2coJ1NsZWVwIGFmdGVyIGRlbGV0aW5nIHRvIGFsbG93IHByb3BhZ2F0aW9uIG9mIGRlbGV0ZS4nKTsKICAgICAgICBzbGVlcCg1KTsKCiAgICAgICAgc2VsZjo6bG9nKCdNYWtlIHN1cmUgdGhlIGlkZW50aXR5IGlzIG5vIGxvbmdlciBpbiB0aGUgaWRlbnRpdHkgbGlzdC4nKTsKICAgICAgICAkaWRlbnRpdGllcyA9ICR0aGlzLT5zZXMtPmdldEl0ZXJhdG9yKCdMaXN0SWRlbnRpdGllcycsIGFycmF5KAogICAgICAgICAgICAnSWRlbnRpdHlUeXBlJyA9PiBJZGVudGl0eVR5cGU6OkVNQUlMX0FERFJFU1MKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90Q29udGFpbnMoJGVtYWlsQWRkcmVzcywgaXRlcmF0b3JfdG9fYXJyYXkoJGlkZW50aXRpZXMpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNlbmRFbWFpbCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnNlcy0+Z2V0Q29tbWFuZCgnU2VuZEVtYWlsJywgYXJyYXkoCiAgICAgICAgICAgICdTb3VyY2UnID0+IHNlbGY6OiR2ZXJpZmllZEVtYWlsLAogICAgICAgICAgICAnRGVzdGluYXRpb24nID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1RvQWRkcmVzc2VzJyA9PiBhcnJheShNYWlsYm94U2ltdWxhdG9yOjpTVUNDRVNTKQogICAgICAgICAgICApLAogICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3ViamVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0RhdGEnID0+ICdUZXN0IEVtYWlsJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQm9keScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ1RleHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRGF0YScgPT4gJ1RoaXMgaXMgYSB0ZXN0IGVtYWlsLicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSktPmV4ZWN1dGUoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXFNlc1xFeGNlcHRpb25cTWVzc2FnZVJlamVjdGVkRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2VuZEVycm9uZW91c0VtYWlsVG9CbGFja2xpc3RlZEFkZHJlc3MoKQogICAgewogICAgICAgICR0aGlzLT5zZXMtPmdldENvbW1hbmQoJ1NlbmRFbWFpbCcsIGFycmF5KAogICAgICAgICAgICAnU291cmNlJyA9PiBzZWxmOjokdmVyaWZpZWRFbWFpbCwKICAgICAgICAgICAgJ0Rlc3RpbmF0aW9uJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdUb0FkZHJlc3NlcycgPT4gYXJyYXkoTWFpbGJveFNpbXVsYXRvcjo6QkxBQ0tMSVNUKQogICAgICAgICAgICApLAogICAgICAgICAgICAnTWVzc2FnZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnU3ViamVjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0RhdGEnID0+ICdUZXN0IEVtYWlsJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnQm9keScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ1RleHQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRGF0YScgPT4gJ1RoaXMgaXMgYSB0ZXN0IGVtYWlsLicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSktPmV4ZWN1dGUoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Ses/SesClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU2VzOwoKdXNlIEF3c1xTZXNcU2VzQ2xpZW50OwoKY2xhc3MgU2VzQ2xpZW50VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xTZXNcU2VzQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gU2VzQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgICAgICdyZWdpb24nID0+ICd1cy1lYXN0LTEnCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWNCcsICRjbGllbnQtPmdldFNpZ25hdHVyZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFscycsICRjbGllbnQtPmdldENyZWRlbnRpYWxzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHBzOi8vZW1haWwudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20nLCAkY2xpZW50LT5nZXRCYXNlVXJsKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/SimpleDb/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/SimpleDb/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/SimpleDb/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU2ltcGxlRGJcSW50ZWdyYXRpb247CgovKioKICogQGdyb3VwIGludGVncmF0aW9uCiAqLwpjbGFzcyBJbnRlZ3JhdGlvblRlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAdmFyIFxBd3NcU2ltcGxlRGJcU2ltcGxlRGJDbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CiAgICBwcm90ZWN0ZWQgJGRvbWFpbk5hbWU7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnc2RiJyk7CiAgICAgICAgJHRoaXMtPmRvbWFpbk5hbWUgPSAnZm9vMTIzJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNEb21haW4oKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQtPmNyZWF0ZURvbWFpbihhcnJheSgnRG9tYWluTmFtZScgPT4gJHRoaXMtPmRvbWFpbk5hbWUpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RDcmVhdGVzRG9tYWluCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TGlzdHNEb21haW5zUmVzdWx0SXNQcm9jZXNzZWRDb3JyZWN0bHkoKQogICAgewogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2xpZW50LT5saXN0RG9tYWlucygpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgJHJlc3VsdFsnRG9tYWluTmFtZXMnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHJlc3VsdFsnRG9tYWluTmFtZSddKTsKCiAgICAgICAgJGZvdW5kID0gZmFsc2U7CiAgICAgICAgZm9yZWFjaCAoJHJlc3VsdFsnRG9tYWluTmFtZXMnXSBhcyAkbikgewogICAgICAgICAgICBpZiAoJG4gPT0gJHRoaXMtPmRvbWFpbk5hbWUpIHsKICAgICAgICAgICAgICAgICRmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCEkZm91bmQpIHsKICAgICAgICAgICAgJHRoaXMtPmZhaWwoJ0RpZCBub3QgZmluZCAnIC4gJHRoaXMtPmRvbWFpbk5hbWUgLiAnIGluIGRvbWFpbiBsaXN0Jyk7CiAgICAgICAgfQoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaXRlcmF0b3Igd29ya3MKICAgICAgICAkaSA9ICR0aGlzLT5jbGllbnQtPmdldEl0ZXJhdG9yKCdMaXN0RG9tYWlucycpOwogICAgICAgICRmb3VuZCA9IGZhbHNlOwogICAgICAgIGZvcmVhY2ggKCRpIGFzICRuKSB7CiAgICAgICAgICAgIGlmICgkbiA9PSAkdGhpcy0+ZG9tYWluTmFtZSkgewogICAgICAgICAgICAgICAgJGZvdW5kID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoISRmb3VuZCkgewogICAgICAgICAgICAkdGhpcy0+ZmFpbCgnRGlkIG5vdCBmaW5kICcgLiAkdGhpcy0+ZG9tYWluTmFtZSAuICcgaW4gZG9tYWluIGxpc3QnKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0Q3JlYXRlc0RvbWFpbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNJdGVtKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5wdXRBdHRyaWJ1dGVzKGFycmF5KAogICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gJHRoaXMtPmRvbWFpbk5hbWUsCiAgICAgICAgICAgICdJdGVtTmFtZScgICA9PiAndGVzdCcsCiAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KCdOYW1lJyA9PiAnYScsICdWYWx1ZScgPT4gMSwgJ1JlcGxhY2UnID0+IHRydWUpLAogICAgICAgICAgICAgICAgYXJyYXkoJ05hbWUnID0+ICdiJywgJ1ZhbHVlJyA9PiAyKSwKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNsaWVudC0+Z2V0QXR0cmlidXRlcyhhcnJheSgKICAgICAgICAgICAgJ0RvbWFpbk5hbWUnID0+ICR0aGlzLT5kb21haW5OYW1lLAogICAgICAgICAgICAnSXRlbU5hbWUnICAgPT4gJ3Rlc3QnLAogICAgICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnYScsICdiJwogICAgICAgICAgICApLAogICAgICAgICAgICAnQ29uc2lzdGVudFJlYWQnID0+IHRydWUKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYicsICRyZXN1bHQtPmdldFBhdGgoJ0F0dHJpYnV0ZXMvMC9OYW1lJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzInLCAkcmVzdWx0LT5nZXRQYXRoKCdBdHRyaWJ1dGVzLzAvVmFsdWUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYScsICRyZXN1bHQtPmdldFBhdGgoJ0F0dHJpYnV0ZXMvMS9OYW1lJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEnLCAkcmVzdWx0LT5nZXRQYXRoKCdBdHRyaWJ1dGVzLzEvVmFsdWUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdSZXNwb25zZU1ldGFkYXRhJywgJHJlc3VsdC0+dG9BcnJheSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RBZGRzSXRlbQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNlbGVjdHNJdGVtcygpCiAgICB7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jbGllbnQtPnNlbGVjdChhcnJheSgKICAgICAgICAgICAgJ1NlbGVjdEV4cHJlc3Npb24nID0+ICdzZWxlY3QgKiBmcm9tICcgLiAkdGhpcy0+ZG9tYWluTmFtZSwKICAgICAgICAgICAgJ0NvbnNpc3RlbnRSZWFkJyA9PiB0cnVlCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvdW50KDEsICRyZXN1bHRbJ0l0ZW1zJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdOYW1lJyA9PiAndGVzdCcsCiAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiAnYicsCiAgICAgICAgICAgICAgICAgICAgJ1ZhbHVlJyA9PiAnMicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+ICdhJywKICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+ICcxJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSwgJHJlc3VsdFsnSXRlbXMnXVswXSk7CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBzZWxlY3QgaXRlcmF0b3Igd29ya3MKICAgICAgICAkaSA9ICR0aGlzLT5jbGllbnQtPmdldEl0ZXJhdG9yKCdTZWxlY3QnLCBhcnJheSgKICAgICAgICAgICAgJ1NlbGVjdEV4cHJlc3Npb24nID0+ICdzZWxlY3QgKiBmcm9tICcgLiAkdGhpcy0+ZG9tYWluTmFtZSwKICAgICAgICAgICAgJ0NvbnNpc3RlbnRSZWFkJyA9PiB0cnVlCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAnTmFtZScgPT4gJ3Rlc3QnLAogICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gJ2InLAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+ICcyJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gJ2EnLAogICAgICAgICAgICAgICAgICAgICAgICAnVmFsdWUnID0+ICcxJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKQogICAgICAgICksIGl0ZXJhdG9yX3RvX2FycmF5KCRpKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0U2VsZWN0c0l0ZW1zCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGVsZXRlRG9tYWlucygpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+ZGVsZXRlRG9tYWluKGFycmF5KCdEb21haW5OYW1lJyA9PiAkdGhpcy0+ZG9tYWluTmFtZSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/SimpleDb/SimpleDbClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU2ltcGxlRGI7Cgp1c2UgQXdzXFNpbXBsZURiXFNpbXBsZURiQ2xpZW50OwoKLyoqCiAqIEBjb3ZlcnMgQXdzXFNpbXBsZURiXFNpbXBsZURiQ2xpZW50CiAqLwpjbGFzcyBTaW1wbGVEYkNsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQ3JlYXRlKCkKICAgIHsKICAgICAgICAkYyA9IFNpbXBsZURiQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgICAgICdyZWdpb24nID0+ICd1cy1lYXN0LTEnCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9zZGIuYW1hem9uYXdzLmNvbScsICRjLT5nZXRCYXNlVXJsKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3ROdWxsKCRjLT5nZXREZXNjcmlwdGlvbigpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sns/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sns/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sns/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU25zXEludGVncmF0aW9uOwoKdXNlIEF3c1xTbnNcU25zQ2xpZW50Owp1c2UgQXdzXFNxc1xTcXNDbGllbnQ7CgovKioKICogQGdyb3VwIGludGVncmF0aW9uCiAqLwpjbGFzcyBJbnRlZ3JhdGlvblRlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAdmFyIFNuc0NsaWVudAogICAgICovCiAgICBwcm90ZWN0ZWQgJHNuczsKICAgIC8qKgogICAgICogQHZhciBTcXNDbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRzcXM7CgogICAgcHJvdGVjdGVkIHN0YXRpYyAkdG9waWMgPSAnaW50ZWd0ZXN0JzsKICAgIHByb3RlY3RlZCBzdGF0aWMgJHF1ZXVlTmFtZSA9ICdpbnRlZ3Rlc3QnOwogICAgcHJvdGVjdGVkIHN0YXRpYyAkcXVldWVVcmw7CiAgICBwcm90ZWN0ZWQgc3RhdGljICR0b3BpY0FybjsKICAgIHByb3RlY3RlZCBzdGF0aWMgJHN1YnNjcmlwdGlvbkFybjsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5zbnMgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzbnMnKTsKICAgICAgICAkdGhpcy0+c3FzID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnc3FzJyk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRVcEJlZm9yZUNsYXNzKCkKICAgIHsKICAgICAgICBzZWxmOjokdG9waWMgLj0gdGltZSgpOwogICAgICAgIHNlbGY6OiRxdWV1ZU5hbWUgLj0gdGltZSgpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gdGVhckRvd25BZnRlckNsYXNzKCkKICAgIHsKICAgICAgICAvLyBEZWxldGUgdGhlIHRvcGljIGlmIGl0IHdhcyBjcmVhdGVkCiAgICAgICAgaWYgKHNlbGY6OiR0b3BpY0FybikgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgc2VsZjo6Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzbnMnKS0+ZGVsZXRlVG9waWMoYXJyYXkoJ1RvcGljQXJuJyA9PiBzZWxmOjokdG9waWNBcm4pKTsKICAgICAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkge30KICAgICAgICB9CgogICAgICAgIC8vIERlbGV0ZSB0aGUgcXVldWUgaWYgaXQgd2FzIGNyZWF0ZWQKICAgICAgICBpZiAoc2VsZjo6JHF1ZXVlVXJsKSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICBzZWxmOjpnZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3NxcycpLT5kZWxldGVRdWV1ZShhcnJheSgnUXVldWVVcmwnID0+IHNlbGY6OiRxdWV1ZVVybCkpOwogICAgICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7fQogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNUb3BpYygpCiAgICB7CiAgICAgICAgc2VsZjo6bG9nKCdDcmVhdGluZyB0b3BpYycpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+c25zLT5jcmVhdGVUb3BpYyhhcnJheSgnTmFtZScgPT4gc2VsZjo6JHRvcGljKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdUb3BpY0FybicsICRyZXN1bHQtPnRvQXJyYXkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdSZXNwb25zZU1ldGFkYXRhJywgJHJlc3VsdC0+dG9BcnJheSgpKTsKICAgICAgICBzZWxmOjokdG9waWNBcm4gPSAkcmVzdWx0WydUb3BpY0FybiddOwoKICAgICAgICByZXR1cm4gc2VsZjo6JHRvcGljQXJuOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdENyZWF0ZXNUb3BpYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExpc3RzVG9waWNzKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ0xpc3RpbmcgdG9waWNzJyk7CiAgICAgICAgJGl0ZXJhdG9yID0gJHRoaXMtPnNucy0+Z2V0SXRlcmF0b3IoJ0xpc3RUb3BpY3MnKTsKICAgICAgICAkdG9waWNzID0gaXRlcmF0b3JfdG9fYXJyYXkoJGl0ZXJhdG9yKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoc2VsZjo6JHRvcGljQXJuLCAkdG9waWNzKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RDcmVhdGVzVG9waWMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdWJzY3JpYmVzVG9Ub3BpYygkdG9waWNBcm4pCiAgICB7CiAgICAgICAgLy8gQ3JlYXRlIGFuIFNRUyBxdWV1ZSBmb3IgdGhlIHRlc3QKICAgICAgICBzZWxmOjpsb2coJ0NyZWF0aW5nIGEgU1FTIHF1ZXVlJyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5zcXMtPmNyZWF0ZVF1ZXVlKGFycmF5KCdRdWV1ZU5hbWUnID0+IHNlbGY6OiRxdWV1ZU5hbWUpKTsKICAgICAgICBzZWxmOjokcXVldWVVcmwgPSAkcmVzdWx0WydRdWV1ZVVybCddOwogICAgICAgICRxdWV1ZUFybiA9ICR0aGlzLT5zcXMtPmdldFF1ZXVlQXJuKHNlbGY6OiRxdWV1ZVVybCk7CgogICAgICAgIC8vIFN1YnNjcmliZSB0byB0aGUgU05TIHRvcGljIHVzaW5nIGFuIFNRUyBxdWV1ZQogICAgICAgIHNlbGY6OmxvZygnU3Vic2NyaWJpbmcgdG8gdGhlIHRvcGljIHVzaW5nIHRoZSBxdWV1ZScpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+c25zLT5zdWJzY3JpYmUoYXJyYXkoCiAgICAgICAgICAgICdUb3BpY0FybicgPT4gc2VsZjo6JHRvcGljQXJuLAogICAgICAgICAgICAnRW5kcG9pbnQnID0+ICRxdWV1ZUFybiwKICAgICAgICAgICAgJ1Byb3RvY29sJyA9PiAnc3FzJwogICAgICAgICkpOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgcmVzdWx0IGhhcyBhIFN1YnNjcmlwdGlvbkFybgogICAgICAgIHNlbGY6OmxvZygnU3Vic2NyaWJlIHJlc3VsdDogJyAuIHZhcl9leHBvcnQoJHJlc3VsdC0+dG9BcnJheSgpLCB0cnVlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdTdWJzY3JpcHRpb25Bcm4nLCAkcmVzdWx0LT50b0FycmF5KCkpOwogICAgICAgIHNlbGY6OiRzdWJzY3JpcHRpb25Bcm4gPSAkcmVzdWx0WydTdWJzY3JpcHRpb25Bcm4nXTsKCiAgICAgICAgcmV0dXJuIHNlbGY6OiRzdWJzY3JpcHRpb25Bcm47CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0U3Vic2NyaWJlc1RvVG9waWMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RMaXN0c1N1YnNjcmlwdGlvbnMoJHN1YnNjcmlwdGlvbkFybikKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ0xpc3Qgc3Vic2NyaXB0aW9ucycpOwogICAgICAgICRpID0gJHRoaXMtPnNucy0+Z2V0SXRlcmF0b3IoJ0xpc3RTdWJzY3JpcHRpb25zQnlUb3BpYycsIGFycmF5KCdUb3BpY0FybicgPT4gc2VsZjo6JHRvcGljQXJuKSk7CiAgICAgICAgJGRhdGEgPSBpdGVyYXRvcl90b19hcnJheSgkaSk7CiAgICAgICAgc2VsZjo6bG9nKCdGb3VuZCB0aGUgZm9sbG93aW5nIHN1YnNjcmlwdGlvbnM6ICcgLiB2YXJfZXhwb3J0KCRkYXRhLCB0cnVlKSk7CiAgICAgICAgZm9yZWFjaCAoJGRhdGEgYXMgJHN1YikgewogICAgICAgICAgICBpZiAoJHN1YlsnU3Vic2NyaXB0aW9uQXJuJ10gPT0gc2VsZjo6JHN1YnNjcmlwdGlvbkFybikgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJHRoaXMtPmZhaWwoJ0RpZCBub3QgZmluZCB0aGUgc3Vic2NyaXB0aW9uIEFSTiBvZiAnIC4gc2VsZjo6JHN1YnNjcmlwdGlvbkFybik7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0U3Vic2NyaWJlc1RvVG9waWMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQdWJsaXNoZXNUb3BpYygkc3Vic2NyaXB0aW9uQXJuKQogICAgewogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+c25zLT5wdWJsaXNoKGFycmF5KAogICAgICAgICAgICAnTWVzc2FnZScgID0+ICd7ImRlZmF1bHQiOiJ0ZXN0IiwiZm9vIjoiYmF6In0nLAogICAgICAgICAgICAnU3ViamVjdCcgID0+ICdUZXN0aW5nJywKICAgICAgICAgICAgJ1RvcGljQXJuJyA9PiBzZWxmOjokdG9waWNBcm4KICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ01lc3NhZ2VJZCcsICRyZXN1bHQtPnRvQXJyYXkoKSk7CiAgICAgICAgc2VsZjo6bG9nKCdQdWJsaXNoZWQgYSBtZXNzYWdlOiAnIC4gJHJlc3VsdFsnTWVzc2FnZUlkJ10pOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdENyZWF0ZXNUb3BpYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExpc3RzVG9waWNBdHRyaWJ1dGVzKCR0b3BpY0FybikKICAgIHsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPnNucy0+Z2V0VG9waWNBdHRyaWJ1dGVzKGFycmF5KCdUb3BpY0FybicgPT4gJHRvcGljQXJuKSk7CiAgICAgICAgJHJlc3VsdCA9ICRyZXN1bHQtPnRvQXJyYXkoKTsKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgbWFwIHdhcyBkZXNlcmlhbGl6ZWQgY29ycmVjdGx5CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdUb3BpY0FybicsICRyZXN1bHRbJ0F0dHJpYnV0ZXMnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdQb2xpY3knLCAkcmVzdWx0WydBdHRyaWJ1dGVzJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnT3duZXInLCAkcmVzdWx0WydBdHRyaWJ1dGVzJ10pOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sns/MessageValidator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sns/MessageValidator/MessageTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU25zXE1lc3NhZ2VWYWxpZGF0b3I7Cgp1c2UgQXdzXFNuc1xNZXNzYWdlVmFsaWRhdG9yXE1lc3NhZ2U7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CgovKioKICogQGNvdmVycyBBd3NcU25zXE1lc3NhZ2VWYWxpZGF0b3JcTWVzc2FnZQogKi8KY2xhc3MgTWVzc2FnZVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyAkbWVzc2FnZURhdGEgPSBhcnJheSgKICAgICAgICAnTWVzc2FnZScgICAgICAgID0+ICdhJywKICAgICAgICAnTWVzc2FnZUlkJyAgICAgID0+ICdiJywKICAgICAgICAnVGltZXN0YW1wJyAgICAgID0+ICdjJywKICAgICAgICAnVG9waWNBcm4nICAgICAgID0+ICdkJywKICAgICAgICAnVHlwZScgICAgICAgICAgID0+ICdlJywKICAgICAgICAnU3ViamVjdCcgICAgICAgID0+ICdmJywKICAgICAgICAnU2lnbmF0dXJlJyAgICAgID0+ICdnJywKICAgICAgICAnU2lnbmluZ0NlcnRVUkwnID0+ICdoJywKICAgICAgICAnU3Vic2NyaWJlVVJMJyAgID0+ICdpJywKICAgICAgICAnVG9rZW4nICAgICAgICAgID0+ICdqJywKICAgICk7CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXR0ZXJzKCkKICAgIHsKICAgICAgICAkbWVzc2FnZSA9IG5ldyBNZXNzYWdlKG5ldyBDb2xsZWN0aW9uKCR0aGlzLT5tZXNzYWdlRGF0YSkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXENvbW1vblxDb2xsZWN0aW9uJywgJG1lc3NhZ2UtPmdldERhdGEoKSk7CgogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5tZXNzYWdlRGF0YSBhcyAka2V5ID0+ICRleHBlY3RlZFZhbHVlKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGV4cGVjdGVkVmFsdWUsICRtZXNzYWdlLT5nZXQoJGtleSkpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhY3RvcnlTdWNjZWVkc1dpdGhHb29kRGF0YSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoIkF3c1xcU25zXFxNZXNzYWdlVmFsaWRhdG9yXFxNZXNzYWdlIiwgTWVzc2FnZTo6ZnJvbUFycmF5KCR0aGlzLT5tZXNzYWdlRGF0YSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUZhaWxzV2l0aE5vVHlwZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPnNldEV4cGVjdGVkRXhjZXB0aW9uKCdBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24nKTsKICAgICAgICAkZGF0YSA9ICR0aGlzLT5tZXNzYWdlRGF0YTsKICAgICAgICB1bnNldCgkZGF0YVsnVHlwZSddKTsKICAgICAgICBNZXNzYWdlOjpmcm9tQXJyYXkoJGRhdGEpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUZhaWxzV2l0aE1pc3NpbmdEYXRhKCkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0RXhwZWN0ZWRFeGNlcHRpb24oJ0d1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicpOwogICAgICAgIE1lc3NhZ2U6OmZyb21BcnJheShhcnJheSgnVHlwZScgPT4gJ05vdGlmaWNhdGlvbicpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNyZWF0ZUZyb21SYXdQb3N0KCkKICAgIHsKICAgICAgICAvLyBQcmVwIHBocDovL2lucHV0IHdpdGggbW9ja2VkIGRhdGEKICAgICAgICBNb2NrUGhwU3RyZWFtOjpzZXRTdGFydGluZ0RhdGEoanNvbl9lbmNvZGUoJHRoaXMtPm1lc3NhZ2VEYXRhKSk7CiAgICAgICAgc3RyZWFtX3dyYXBwZXJfdW5yZWdpc3RlcigncGhwJyk7CiAgICAgICAgc3RyZWFtX3dyYXBwZXJfcmVnaXN0ZXIoJ3BocCcsIF9fTkFNRVNQQUNFX18gLiAnXE1vY2tQaHBTdHJlYW0nKTsKCiAgICAgICAgJG1lc3NhZ2UgPSBNZXNzYWdlOjpmcm9tUmF3UG9zdERhdGEoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXFNuc1xNZXNzYWdlVmFsaWRhdG9yXE1lc3NhZ2UnLCAkbWVzc2FnZSk7CgogICAgICAgIHN0cmVhbV93cmFwcGVyX3Jlc3RvcmUoInBocCIpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlRnJvbVJhd1Bvc3RGYWlsc1dpdGhNaXNzaW5nRGF0YSgpCiAgICB7CiAgICAgICAgJHRoaXMtPnNldEV4cGVjdGVkRXhjZXB0aW9uKCdBd3NcQ29tbW9uXEV4Y2VwdGlvblxVbmV4cGVjdGVkVmFsdWVFeGNlcHRpb24nKTsKICAgICAgICBNZXNzYWdlOjpmcm9tUmF3UG9zdERhdGEoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgZ2V0RGF0YUZvclN0cmluZ1RvU2lnblRlc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCdWlsZHNTdHJpbmdUb1NpZ25Db3JyZWN0bHkoYXJyYXkgJG1lc3NhZ2VEYXRhLCAkZXhwZWN0ZWRTdWJqZWN0LCAkZXhwZWN0ZWRTdHJpbmdUb1NpZ24pCiAgICB7CiAgICAgICAgJG1lc3NhZ2UgPSBuZXcgTWVzc2FnZShuZXcgQ29sbGVjdGlvbigkbWVzc2FnZURhdGEpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRleHBlY3RlZFN1YmplY3QsICRtZXNzYWdlLT5nZXQoJ1N1YmplY3QnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZXhwZWN0ZWRTdHJpbmdUb1NpZ24sICRtZXNzYWdlLT5nZXRTdHJpbmdUb1NpZ24oKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldERhdGFGb3JTdHJpbmdUb1NpZ25UZXN0KCkKICAgIHsKICAgICAgICAkdGVzdENhc2VzID0gYXJyYXkoKTsKCiAgICAgICAgLy8gVGVzdCBjYXNlIHdoZXJlIG9uZSBrZXkgaXMgbm90IHNpZ25hYmxlCiAgICAgICAgJHRlc3RDYXNlc1swXSA9IGFycmF5KCk7CiAgICAgICAgJHRlc3RDYXNlc1swXVtdID0gYXJyYXkoCiAgICAgICAgICAgICdUb3BpY0FybicgID0+ICdkJywKICAgICAgICAgICAgJ01lc3NhZ2UnICAgPT4gJ2EnLAogICAgICAgICAgICAnVGltZXN0YW1wJyA9PiAnYycsCiAgICAgICAgICAgICdUeXBlJyAgICAgID0+ICdlJywKICAgICAgICAgICAgJ01lc3NhZ2VJZCcgPT4gJ2InLAogICAgICAgICAgICAnRm9vQmFyJyAgICA9PiAnZicsCiAgICAgICAgKTsKICAgICAgICAkdGVzdENhc2VzWzBdW10gPSBudWxsOwogICAgICAgICR0ZXN0Q2FzZXNbMF1bXSA9IDw8PCBTVFJJTkdUT1NJR04KTWVzc2FnZQphCk1lc3NhZ2VJZApiClRpbWVzdGFtcApjClRvcGljQXJuCmQKVHlwZQplCgpTVFJJTkdUT1NJR047CgogICAgICAgIC8vIFRlc3QgY2FzZSB3aGVyZSBhbGwga2V5cyBhcmUgc2lnbmFibGUKICAgICAgICAkdGVzdENhc2VzWzFdID0gYXJyYXkoKTsKICAgICAgICAkdGVzdENhc2VzWzFdW10gPSBhcnJheSgKICAgICAgICAgICAgJ1RvcGljQXJuJyAgPT4gJ2UnLAogICAgICAgICAgICAnTWVzc2FnZScgICA9PiAnYScsCiAgICAgICAgICAgICdUaW1lc3RhbXAnID0+ICdkJywKICAgICAgICAgICAgJ1R5cGUnICAgICAgPT4gJ2YnLAogICAgICAgICAgICAnTWVzc2FnZUlkJyA9PiAnYicsCiAgICAgICAgICAgICdTdWJqZWN0JyAgID0+ICdjJywKICAgICAgICApOwogICAgICAgICR0ZXN0Q2FzZXNbMV1bXSA9ICdjJzsKICAgICAgICAkdGVzdENhc2VzWzFdW10gPSA8PDwgU1RSSU5HVE9TSUdOCk1lc3NhZ2UKYQpNZXNzYWdlSWQKYgpTdWJqZWN0CmMKVGltZXN0YW1wCmQKVG9waWNBcm4KZQpUeXBlCmYKClNUUklOR1RPU0lHTjsKCiAgICAgICAgcmV0dXJuICR0ZXN0Q2FzZXM7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sns/MessageValidator/MessageValidatorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU25zXE1lc3NhZ2VWYWxpZGF0b3I7Cgp1c2UgQXdzXFNuc1xNZXNzYWdlVmFsaWRhdG9yXE1lc3NhZ2U7CnVzZSBBd3NcU25zXE1lc3NhZ2VWYWxpZGF0b3JcTWVzc2FnZVZhbGlkYXRvcjsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxQbHVnaW5cTW9ja1xNb2NrUGx1Z2luOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKCi8qKgogKiBAY292ZXJzIFxBd3NcU25zXE1lc3NhZ2VWYWxpZGF0b3JcTWVzc2FnZVZhbGlkYXRvcgogKi8KY2xhc3MgTWVzc2FnZVZhbGlkYXRvclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgaWYgKCFleHRlbnNpb25fbG9hZGVkKCdvcGVuc3NsJykpIHsKICAgICAgICAgICAgJHRoaXMtPm1hcmtUZXN0U2tpcHBlZCgnVGhlIE9wZW5TU0wgZXh0ZW5zaW9uIGlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgdGVzdHMgZm9yIE1lc3NhZ2VWYWxpZGF0b3IuJyk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXNWYWxpZFJldHVybnNGYWxzZU9uRmFpbGVkVmFsaWRhdGlvbigpCiAgICB7CiAgICAgICAgJHZhbGlkYXRvciA9IG5ldyBNZXNzYWdlVmFsaWRhdG9yKCk7CiAgICAgICAgJG1lc3NhZ2UgPSBuZXcgTWVzc2FnZShuZXcgQ29sbGVjdGlvbigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHZhbGlkYXRvci0+aXNWYWxpZCgkbWVzc2FnZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVGYWlsc1doZW5DZXJ0VXJsRG9lc05vdE1hdGNoQXdzKCkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0RXhwZWN0ZWRFeGNlcHRpb24oJ0F3c1xTbnNcTWVzc2FnZVZhbGlkYXRvclxFeGNlcHRpb25cQ2VydGlmaWNhdGVGcm9tVW5yZWNvZ25pemVkU291cmNlRXhjZXB0aW9uJyk7CgogICAgICAgICR2YWxpZGF0b3IgPSBuZXcgTWVzc2FnZVZhbGlkYXRvcigpOwogICAgICAgICRtZXNzYWdlID0gbmV3IE1lc3NhZ2UobmV3IENvbGxlY3Rpb24oKSk7CiAgICAgICAgJHZhbGlkYXRvci0+dmFsaWRhdGUoJG1lc3NhZ2UpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVGYWlsc1doZW5DYW5ub3REZXRlcm1pbmVQdWJsaWNLZXkoKQogICAgewogICAgICAgICR0aGlzLT5zZXRFeHBlY3RlZEV4Y2VwdGlvbignQXdzXFNuc1xNZXNzYWdlVmFsaWRhdG9yXEV4Y2VwdGlvblxDYW5ub3RHZXRQdWJsaWNLZXlGcm9tQ2VydGlmaWNhdGVFeGNlcHRpb24nKTsKCiAgICAgICAgLy8gQ3JlYXRlIHRoZSB2YWxpZGF0b3Igd2l0aCBhIG1vY2sgSFRUUCBjbGllbnQKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldE1vY2tDbGllbnQoKTsKICAgICAgICAkdmFsaWRhdG9yID0gbmV3IE1lc3NhZ2VWYWxpZGF0b3IoJGNsaWVudCk7CgogICAgICAgICRtZXNzYWdlID0gbmV3IE1lc3NhZ2UobmV3IENvbGxlY3Rpb24oYXJyYXkoJ1NpZ25pbmdDZXJ0VVJMJyA9PiAnaHR0cHM6Ly9mb28uYW1hem9uYXdzLmNvbS9iYXInKSkpOwogICAgICAgICR2YWxpZGF0b3ItPnZhbGlkYXRlKCRtZXNzYWdlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZhbGlkYXRlRmFpbHNXaGVuTWVzc2FnZUlzSW52YWxpZCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnNldEV4cGVjdGVkRXhjZXB0aW9uKCdBd3NcU25zXE1lc3NhZ2VWYWxpZGF0b3JcRXhjZXB0aW9uXEludmFsaWRNZXNzYWdlU2lnbmF0dXJlRXhjZXB0aW9uJyk7CgogICAgICAgIC8vIEdldCB0aGUgc2lnbmF0dXJlIGZvciBzb21lIGR1bW15IGRhdGEKICAgICAgICBsaXN0KCRzaWduYXR1cmUsICRjZXJ0aWZpY2F0ZSkgPSAkdGhpcy0+Z2V0U2lnbmF0dXJlKCdmb28nKTsKCiAgICAgICAgLy8gQ3JlYXRlIHRoZSB2YWxpZGF0b3Igd2l0aCBhIG1vY2sgSFRUUCBjbGllbnQgdGhhdCB3aWxsIHJlc3BvbmQgd2l0aCB0aGUgY2VydGlmaWNhdGUKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldE1vY2tDbGllbnQobmV3IFJlc3BvbnNlKDIwMCwgbnVsbCwgJGNlcnRpZmljYXRlKSk7CiAgICAgICAgJHZhbGlkYXRvciA9IG5ldyBNZXNzYWdlVmFsaWRhdG9yKCRjbGllbnQpOwoKICAgICAgICAkbWVzc2FnZSA9IG5ldyBNZXNzYWdlKG5ldyBDb2xsZWN0aW9uKGFycmF5KAogICAgICAgICAgICAnU2lnbmluZ0NlcnRVUkwnID0+ICdodHRwczovL2Zvby5hbWF6b25hd3MuY29tL2JhcicsCiAgICAgICAgICAgICdTaWduYXR1cmUnICAgICAgPT4gJHNpZ25hdHVyZSwKICAgICAgICApKSk7CiAgICAgICAgJHZhbGlkYXRvci0+dmFsaWRhdGUoJG1lc3NhZ2UpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVTdWNjZWVkc1doZW5NZXNzYWdlSXNWYWxpZCgpCiAgICB7CiAgICAgICAgLy8gQ3JlYXRlIGEgcmVhbCBtZXNzYWdlCiAgICAgICAgJG1lc3NhZ2UgPSBNZXNzYWdlOjpmcm9tQXJyYXkoYXJyYXkoCiAgICAgICAgICAgICdNZXNzYWdlJyAgICAgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdNZXNzYWdlSWQnICAgICAgPT4gJ2JhcicsCiAgICAgICAgICAgICdUaW1lc3RhbXAnICAgICAgPT4gdGltZSgpLAogICAgICAgICAgICAnVG9waWNBcm4nICAgICAgID0+ICdiYXonLAogICAgICAgICAgICAnVHlwZScgICAgICAgICAgID0+ICdOb3RpZmljYXRpb24nLAogICAgICAgICAgICAnU2lnbmluZ0NlcnRVUkwnID0+ICdodHRwczovL2Zvby5hbWF6b25hd3MuY29tL2JhcicsCiAgICAgICAgICAgICdTaWduYXR1cmUnICAgICAgPT4gJycsCiAgICAgICAgKSk7CgogICAgICAgIC8vIEdldCB0aGUgc2lnbmF0dXJlIGZvciBhIHJlYWwgbWVzc2FnZQogICAgICAgIGxpc3QoJHNpZ25hdHVyZSwgJGNlcnRpZmljYXRlKSA9ICR0aGlzLT5nZXRTaWduYXR1cmUoJG1lc3NhZ2UtPmdldFN0cmluZ1RvU2lnbigpKTsKICAgICAgICAkbWVzc2FnZS0+Z2V0RGF0YSgpLT5zZXQoJ1NpZ25hdHVyZScsICRzaWduYXR1cmUpOwoKICAgICAgICAvLyBDcmVhdGUgdGhlIHZhbGlkYXRvciB3aXRoIGEgbW9jayBIVFRQIGNsaWVudCB0aGF0IHdpbGwgcmVzcG9uZCB3aXRoIHRoZSBjZXJ0aWZpY2F0ZQogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0TW9ja0NsaWVudChuZXcgUmVzcG9uc2UoMjAwLCBudWxsLCAkY2VydGlmaWNhdGUpKTsKICAgICAgICAkdmFsaWRhdG9yID0gbmV3IE1lc3NhZ2VWYWxpZGF0b3IoJGNsaWVudCk7CgogICAgICAgIC8vIFRoZSBtZXNzYWdlIHNob3VsZCB2YWxpZGF0ZQogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR2YWxpZGF0b3ItPmlzVmFsaWQoJG1lc3NhZ2UpKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0TW9ja0NsaWVudChSZXNwb25zZSAkcmVzcG9uc2UgPSBudWxsKQogICAgewogICAgICAgICRyZXNwb25zZSA9ICRyZXNwb25zZSA/OiBuZXcgUmVzcG9uc2UoMjAwKTsKCiAgICAgICAgJHBsdWdpbiA9IG5ldyBNb2NrUGx1Z2luKCk7CiAgICAgICAgJHBsdWdpbi0+YWRkUmVzcG9uc2UoJHJlc3BvbnNlKTsKCiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKCRwbHVnaW4pOwoKICAgICAgICByZXR1cm4gJGNsaWVudDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0U2lnbmF0dXJlKCRzdHJpbmdUb1NpZ24pCiAgICB7CiAgICAgICAgLy8gR2VuZXJhdGUgYSBuZXcgQ2VydGlmaWNhdGUgU2lnbmluZyBSZXF1ZXN0IGFuZCBwdWJsaWMvcHJpdmF0ZSBrZXlwYWlyCiAgICAgICAgJGNzciA9IG9wZW5zc2xfY3NyX25ldyhhcnJheSgpLCAka2V5cGFpcik7CgogICAgICAgIC8vIENyZWF0ZSB0aGUgc2VsZi1zaWduZWQgY2VydGlmaWNhdGUKICAgICAgICAkeDUwOSA9IG9wZW5zc2xfY3NyX3NpZ24oJGNzciwgbnVsbCwgJGtleXBhaXIsIDEpOwogICAgICAgIG9wZW5zc2xfeDUwOV9leHBvcnQoJHg1MDksICRjZXJ0aWZpY2F0ZSk7CgogICAgICAgIC8vIENyZWF0ZSB0aGUgc2lnbmF0dXJlCiAgICAgICAgJHByaXZhdGVLZXkgPSBvcGVuc3NsX2dldF9wcml2YXRla2V5KCRrZXlwYWlyKTsKICAgICAgICBvcGVuc3NsX3NpZ24oJHN0cmluZ1RvU2lnbiwgJHNpZ25hdHVyZSwgJHByaXZhdGVLZXkpOwoKICAgICAgICAvLyBGcmVlIHRoZSBvcGVuc3NsIHJlc291cmNlcyB1c2VkCiAgICAgICAgb3BlbnNzbF9wa2V5X2ZyZWUoJGtleXBhaXIpOwogICAgICAgIG9wZW5zc2xfeDUwOV9mcmVlKCR4NTA5KTsKCiAgICAgICAgcmV0dXJuIGFycmF5KGJhc2U2NF9lbmNvZGUoJHNpZ25hdHVyZSksICRjZXJ0aWZpY2F0ZSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sns/MessageValidator/MockPhpStream.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU25zXE1lc3NhZ2VWYWxpZGF0b3I7CgpjbGFzcyBNb2NrUGhwU3RyZWFtCnsKICAgIHByb3RlY3RlZCBzdGF0aWMgJHN0YXJ0aW5nRGF0YSA9ICcnOwogICAgcHJvdGVjdGVkICRpbmRleDsKICAgIHByb3RlY3RlZCAkbGVuZ3RoOwogICAgcHJvdGVjdGVkICRkYXRhOwoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc2V0U3RhcnRpbmdEYXRhKCRkYXRhKQogICAgewogICAgICAgIHNlbGY6OiRzdGFydGluZ0RhdGEgPSAkZGF0YTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogICAgewogICAgICAgICR0aGlzLT5kYXRhID0gc2VsZjo6JHN0YXJ0aW5nRGF0YTsKICAgICAgICAkdGhpcy0+aW5kZXggPSAwOwogICAgICAgICR0aGlzLT5sZW5ndGggPSBzdHJsZW4oc2VsZjo6JHN0YXJ0aW5nRGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHN0cmVhbV9vcGVuKCRwYXRoLCAkbW9kZSwgJG9wdGlvbnMsICYkb3BlbmVkX3BhdGgpCiAgICB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHN0cmVhbV9jbG9zZSgpCiAgICB7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHN0cmVhbV9zdGF0KCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc3RyZWFtX2ZsdXNoKCkKICAgIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc3RyZWFtX3JlYWQoJGNvdW50KQogICAgewogICAgICAgICRsZW5ndGggPSBtaW4oJGNvdW50LCAkdGhpcy0+bGVuZ3RoIC0gJHRoaXMtPmluZGV4KTsKICAgICAgICAkZGF0YSA9IHN1YnN0cigkdGhpcy0+ZGF0YSwgJHRoaXMtPmluZGV4KTsKICAgICAgICAkdGhpcy0+aW5kZXggPSAkdGhpcy0+aW5kZXggKyAkbGVuZ3RoOwoKICAgICAgICByZXR1cm4gJGRhdGE7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHN0cmVhbV9lb2YoKQogICAgewogICAgICAgIHJldHVybiAoJHRoaXMtPmluZGV4ID49ICR0aGlzLT5sZW5ndGgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzdHJlYW1fd3JpdGUoJGRhdGEpCiAgICB7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sns/SnsClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU3FzOwoKdXNlIEF3c1xTbnNcU25zQ2xpZW50Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxQbHVnaW5cTW9ja1xNb2NrUGx1Z2luOwoKY2xhc3MgU25zQ2xpZW50VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xTbnNcU25zQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gU25zQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgICAgICdyZWdpb24nID0+ICd1cy1lYXN0LTEnCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWNCcsICRjbGllbnQtPmdldFNpZ25hdHVyZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFscycsICRjbGllbnQtPmdldENyZWRlbnRpYWxzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHBzOi8vc25zLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEF0dHJpYnV0ZXNTZXJpYWxpemVDb3JyZWN0bHkoKQogICAgewogICAgICAgICRjbGllbnQgPSBTbnNDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLWVhc3QtMScKICAgICAgICApKTsKCiAgICAgICAgLy8gTW9jayB0aGUgcmVzcG9uc2Ugc28gbm8gcmVxdWVzdCBpcyBzZW50IHRvIHRoZSBzZXJ2aWNlCiAgICAgICAgJG1vY2tQbHVnaW4gPSBuZXcgTW9ja1BsdWdpbigpOwogICAgICAgICRtb2NrUGx1Z2luLT5hZGRSZXNwb25zZShuZXcgUmVzcG9uc2UoMjAwKSk7CiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkbW9ja1BsdWdpbik7CgogICAgICAgIC8vIExpc3RlbmVyIHRvIGdyYWIgdGhlIHJlcXVlc3QgYm9keSBhYm91dCB0byBiZSBzZW50CiAgICAgICAgJGNsaWVudC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCdyZXF1ZXN0LmJlZm9yZV9zZW5kJywgZnVuY3Rpb24gKCRldmVudCkgdXNlICgmJGFjdHVhbFJlcXVlc3RCb2R5KSB7CiAgICAgICAgICAgIGxpc3QoLCAkYWN0dWFsUmVxdWVzdEJvZHkpID0gZXhwbG9kZSgiXHJcblxyXG4iLCAkZXZlbnRbJ3JlcXVlc3QnXSk7CiAgICAgICAgfSwgLTI1NSk7CgogICAgICAgIC8vIEV4cGVjdGVkIHNlcmlhbGl6YXRpb247IGV4dHJhY3RlZCBmcm9tIHNlcnZpY2UgQVBJIGRvY3VtZW50YXRpb24KICAgICAgICAkZXhwZWN0ZWRSZXF1ZXN0Qm9keSA9ICdBY3Rpb249U2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXMmVmVyc2lvbj0yMDEwLTAzLTMxJlBsYXRmb3JtQXBwbGljYXRpb25Bcm49YXJuJTMnCiAgICAgICAgICAgIC4gJ0Fhd3MlM0FzbnMlM0F1cy13ZXN0LTIlM0ExMjM0NTY3ODkwMTIlM0FhcHAlMkZHQ00lMkZnY21wdXNoYXBwJkF0dHJpYnV0ZXMuZW50cnkuMS5rZXk9RXZlbnRFbmRwb2ludENyZWF0JwogICAgICAgICAgICAuICdlZCZBdHRyaWJ1dGVzLmVudHJ5LjEudmFsdWU9YXJuJTNBYXdzJTNBc25zJTNBdXMtd2VzdC0yJTNBMTIzNDU2Nzg5MDEyJTNBdG9waWNhcm4nOwoKICAgICAgICAvLyBQZXJmb3JtIHRoZSBvcGVyYXRpb24KICAgICAgICAkY2xpZW50LT5zZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlcyhhcnJheSgKICAgICAgICAgICAgJ1BsYXRmb3JtQXBwbGljYXRpb25Bcm4nID0+ICdhcm46YXdzOnNuczp1cy13ZXN0LTI6MTIzNDU2Nzg5MDEyOmFwcC9HQ00vZ2NtcHVzaGFwcCcsCiAgICAgICAgICAgICdBdHRyaWJ1dGVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdFdmVudEVuZHBvaW50Q3JlYXRlZCcgPT4gdXJsZGVjb2RlKCdhcm46YXdzOnNuczp1cy13ZXN0LTI6MTIzNDU2Nzg5MDEyOnRvcGljYXJuJyksCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZXhwZWN0ZWRSZXF1ZXN0Qm9keSwgJGFjdHVhbFJlcXVlc3RCb2R5KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sqs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sqs/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sqs/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU3FzXEludGVncmF0aW9uOwoKdXNlIEF3c1xTcXNcRW51bVxNZXNzYWdlQXR0cmlidXRlOwp1c2UgQXdzXFNxc1xFbnVtXFF1ZXVlQXR0cmlidXRlOwp1c2UgQXdzXFNxc1xFeGNlcHRpb25cU3FzRXhjZXB0aW9uOwp1c2UgQXdzXFNxc1xTcXNDbGllbnQ7CgovKioKICogQGdyb3VwIGludGVncmF0aW9uCiAqLwpjbGFzcyBJbnRlZ3JhdGlvblRlc3QgZXh0ZW5kcyBcQXdzXFRlc3RzXEludGVncmF0aW9uVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAdmFyIFNxc0NsaWVudAogICAgICovCiAgICBwcm90ZWN0ZWQgJHNxczsKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNldFVwQmVmb3JlQ2xhc3MoKQogICAgewogICAgICAgIHNlbGY6OmNsZWFuVXBRdWV1ZXMoKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHRlYXJEb3duQWZ0ZXJDbGFzcygpCiAgICB7CiAgICAgICAgc2VsZjo6Y2xlYW5VcFF1ZXVlcygpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnNxcyA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3NxcycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QmFzaWNPcGVyYXRpb25zKCkKICAgIHsKICAgICAgICAvLyBDcmVhdGUgYSBxdWV1ZSBhbmQgbWFrZSBzdXJlIGV2ZXJ5dGhpbmcgZ29lcyBPSwoKICAgICAgICAkcXVldWVOYW1lID0gJ3BocC1pbnRlZy1zcXMtcXVldWUtJyAuIHRpbWUoKTsKICAgICAgICBzZWxmOjpsb2coJ0NyZWF0ZSBhbiBTUVMgcXVldWUuJyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5zcXMtPmdldENvbW1hbmQoJ0NyZWF0ZVF1ZXVlJywgYXJyYXkoCiAgICAgICAgICAgICdRdWV1ZU5hbWUnICA9PiAkcXVldWVOYW1lLAogICAgICAgICAgICAnQXR0cmlidXRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBRdWV1ZUF0dHJpYnV0ZTo6UkVDRUlWRV9NRVNTQUdFX1dBSVRfVElNRV9TRUNPTkRTID0+IDIwLAogICAgICAgICAgICAgICAgUXVldWVBdHRyaWJ1dGU6OkRFTEFZX1NFQ09ORFMgICAgICAgICAgICAgICAgICAgICA9PiAxMCwKICAgICAgICAgICAgKSwKICAgICAgICApKS0+Z2V0UmVzdWx0KCk7CiAgICAgICAgJGNyZWF0ZWRRdWV1ZVVybCA9ICRyZXN1bHQtPmdldCgnUXVldWVVcmwnKTsKCiAgICAgICAgc2VsZjo6bG9nKCdHZXQgdGhlIHF1ZXVlIFVSTC4nKTsKICAgICAgICBkbyB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPnNxcy0+Z2V0Q29tbWFuZCgnR2V0UXVldWVVcmwnLCBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnUXVldWVOYW1lJyAgPT4gJHF1ZXVlTmFtZQogICAgICAgICAgICAgICAgKSktPmdldFJlc3VsdCgpOwogICAgICAgICAgICAgICAgJHF1ZXVlVXJsID0gJHJlc3VsdC0+Z2V0KCdRdWV1ZVVybCcpOwogICAgICAgICAgICB9IGNhdGNoIChTcXNFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgICAgICRxdWV1ZVVybCA9IG51bGw7CiAgICAgICAgICAgICAgICBzbGVlcCgyKTsKICAgICAgICAgICAgfQogICAgICAgIH0gd2hpbGUgKCEkcXVldWVVcmwpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGNyZWF0ZWRRdWV1ZVVybCwgJHF1ZXVlVXJsKTsKCiAgICAgICAgc2VsZjo6bG9nKCdHZXQgdGhlIHF1ZXVlIGF0dHJpYnV0ZXMuJyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5zcXMtPmdldENvbW1hbmQoJ0dldFF1ZXVlQXR0cmlidXRlcycsIGFycmF5KAogICAgICAgICAgICAnUXVldWVVcmwnICAgICAgID0+ICRxdWV1ZVVybCwKICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWVzJyA9PiBhcnJheShRdWV1ZUF0dHJpYnV0ZTo6QUxMKQogICAgICAgICkpLT5nZXRSZXN1bHQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwLCAkcmVzdWx0LT5nZXRQYXRoKCdBdHRyaWJ1dGVzLycgLiBRdWV1ZUF0dHJpYnV0ZTo6UkVDRUlWRV9NRVNTQUdFX1dBSVRfVElNRV9TRUNPTkRTKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxMCwgJHJlc3VsdC0+Z2V0UGF0aCgnQXR0cmlidXRlcy8nIC4gUXVldWVBdHRyaWJ1dGU6OkRFTEFZX1NFQ09ORFMpKTsKCiAgICAgICAgc2VsZjo6bG9nKCdNYWtlIHN1cmUgdGhlIGN1c3RvbSBBUk4tY2FsY3VsYXRpbmcgbG9naWMgcmV0dXJucyB0aGUgYWN0dWFsIEFSTi4nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKAogICAgICAgICAgICAkdGhpcy0+c3FzLT5nZXRRdWV1ZUFybigkcXVldWVVcmwpLAogICAgICAgICAgICAkcmVzdWx0LT5nZXRQYXRoKCdBdHRyaWJ1dGVzLycgLiBRdWV1ZUF0dHJpYnV0ZTo6UVVFVUVfQVJOKQogICAgICAgICk7CgogICAgICAgIC8vIFNlbmQsIHJlY2VpdmUsIGFuZCBkZWxldGUgbWVzc2FnZXMKCiAgICAgICAgJG1lc3NhZ2VzVG9EZWxldGUgPSBhcnJheSgpOwoKICAgICAgICBzZWxmOjpsb2coJ1NlbmQgYSBtZXNzYWdlIHdpdGggbm8gZGVsYXkgdG8gdGhlIHF1ZXVlLicpOwogICAgICAgICR0aGlzLT5zcXMtPmdldENvbW1hbmQoJ1NlbmRNZXNzYWdlJywgYXJyYXkoCiAgICAgICAgICAgICdRdWV1ZVVybCcgICAgICAgICAgPT4gJHF1ZXVlVXJsLAogICAgICAgICAgICAnTWVzc2FnZUJvZHknICAgICAgID0+ICd0ZXN0IG1lc3NhZ2UgMScsCiAgICAgICAgICAgICdEZWxheVNlY29uZHMnICAgICAgPT4gMCwKICAgICAgICAgICAgJ1Zpc2liaWxpdHlUaW1lb3V0JyA9PiAzMDAKICAgICAgICApKS0+ZXhlY3V0ZSgpOwoKICAgICAgICBzZWxmOjpsb2coJ1JlY2VpdmUgYSBtZXNzYWdlIGZyb20gdGhlIHF1ZXVlLicpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+c3FzLT5nZXRDb21tYW5kKCdSZWNlaXZlTWVzc2FnZScsIGFycmF5KAogICAgICAgICAgICAnUXVldWVVcmwnICAgICAgID0+ICRxdWV1ZVVybCwKICAgICAgICAgICAgJ0F0dHJpYnV0ZU5hbWVzJyA9PiBhcnJheShNZXNzYWdlQXR0cmlidXRlOjpBTEwpLAogICAgICAgICkpLT5nZXRSZXN1bHQoKTsKICAgICAgICAkbWVzc2FnZXMgPSAkcmVzdWx0LT5nZXQoJ01lc3NhZ2VzJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvdW50KDEsICRtZXNzYWdlcyk7CiAgICAgICAgJG1lc3NhZ2UgPSAkbWVzc2FnZXNbMF07CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCBtZXNzYWdlIDEnLCAkbWVzc2FnZVsnQm9keSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoNCwgJG1lc3NhZ2VbJ0F0dHJpYnV0ZXMnXSk7IC8vIE1ha2Ugc3VyZSBhdHRyaWJ1dGVzIGFyZSB1bm1hcnNoYWxsZWQgY29ycmVjdGx5CiAgICAgICAgJG1lc3NhZ2VzVG9EZWxldGVbXSA9IGFycmF5KAogICAgICAgICAgICAnSWQnICAgICAgICAgICAgPT4gc3RyX3JlcGxhY2UoJyAnLCAnLScsICRtZXNzYWdlWydCb2R5J10pLAogICAgICAgICAgICAnUmVjZWlwdEhhbmRsZScgPT4gJG1lc3NhZ2VbJ1JlY2VpcHRIYW5kbGUnXSwKICAgICAgICApOwoKICAgICAgICBzZWxmOjpsb2coJ1NlbmQgYW5kIHJlY2VpdmUgYSBkZWxheWVkIG1lc3NhZ2UgYW5kIG1ha2Ugc3VyZSBsb25nIHBvbGxpbmcgaXMgd29ya2luZy4gUGxlYXNlIHdhaXQuJyk7CiAgICAgICAgJHN0YXJ0VGltZSA9IG1pY3JvdGltZSh0cnVlKTsKICAgICAgICAkdGhpcy0+c3FzLT5nZXRDb21tYW5kKCdTZW5kTWVzc2FnZScsIGFycmF5KAogICAgICAgICAgICAnUXVldWVVcmwnICAgID0+ICRxdWV1ZVVybCwKICAgICAgICAgICAgJ01lc3NhZ2VCb2R5JyA9PiAndGVzdCBtZXNzYWdlIDInLAogICAgICAgICkpLT5leGVjdXRlKCk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5zcXMtPmdldENvbW1hbmQoJ1JlY2VpdmVNZXNzYWdlJywgYXJyYXkoCiAgICAgICAgICAgICdRdWV1ZVVybCcgPT4gJHF1ZXVlVXJsLAogICAgICAgICkpLT5nZXRSZXN1bHQoKTsKICAgICAgICAkZW5kVGltZSA9IG1pY3JvdGltZSh0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0R3JlYXRlclRoYW4oNSwgJGVuZFRpbWUgLSAkc3RhcnRUaW1lKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0R3JlYXRlclRoYW5PckVxdWFsKDEsIGNvdW50KCRyZXN1bHQtPmdldCgnTWVzc2FnZXMnKSkpOwogICAgICAgICRtZXNzYWdlID0gJHJlc3VsdC0+Z2V0UGF0aCgnTWVzc2FnZXMvMCcpOwogICAgICAgICRtZXNzYWdlc1RvRGVsZXRlW10gPSBhcnJheSgKICAgICAgICAgICAgJ0lkJyAgICAgICAgICAgID0+IHN0cl9yZXBsYWNlKCcgJywgJy0nLCAkbWVzc2FnZVsnQm9keSddKSwKICAgICAgICAgICAgJ1JlY2VpcHRIYW5kbGUnID0+ICRtZXNzYWdlWydSZWNlaXB0SGFuZGxlJ10sCiAgICAgICAgKTsKCiAgICAgICAgc2VsZjo6bG9nKCdEZWxldGUgdGhlIG1lc3NhZ2VzIHVzaW5nIGJhdGNoIGRlbGV0ZSBhbmQgdmVyaWZ5IHRoYXQgdGhlIGRlbGV0aW9ucyBhcmUgc3VjY2Vzc2Z1bC4nKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPnNxcy0+Z2V0Q29tbWFuZCgnRGVsZXRlTWVzc2FnZUJhdGNoJywgYXJyYXkoCiAgICAgICAgICAgICdRdWV1ZVVybCcgPT4gJHF1ZXVlVXJsLAogICAgICAgICAgICAnRW50cmllcycgID0+ICRtZXNzYWdlc1RvRGVsZXRlLAogICAgICAgICkpLT5nZXRSZXN1bHQoKTsKICAgICAgICAkZGVsZXRpb25zID0gJHJlc3VsdFsnU3VjY2Vzc2Z1bCddOwogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgyLCAkZGVsZXRpb25zKTsKICAgICAgICBmb3JlYWNoICgkZGVsZXRpb25zIGFzICRkZWxldGlvbikgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0UmVnRXhwKCcvXnRlc3RcLW1lc3NhZ2VcLVxkJC8nLCAkZGVsZXRpb25bJ0lkJ10pOwogICAgICAgIH0KCiAgICAgICAgLy8gRGVsZXRlIHRoZSBxdWV1ZQoKICAgICAgICBzZWxmOjpsb2coJ0RlbGV0ZSB0aGUgcXVldWUuJyk7CiAgICAgICAgJHRoaXMtPnNxcy0+Z2V0Q29tbWFuZCgnRGVsZXRlUXVldWUnLCBhcnJheSgKICAgICAgICAgICAgJ1F1ZXVlVXJsJyAgPT4gJHF1ZXVlVXJsCiAgICAgICAgKSktPmV4ZWN1dGUoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXFNxc1xFeGNlcHRpb25cU3FzRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RXJyb3JQYXJzaW5nKCkKICAgIHsKICAgICAgICAkdGhpcy0+c3FzLT5nZXRRdWV1ZVVybChhcnJheSgnUXVldWVOYW1lJyA9PiAncGhwLWZha2UtcXVldWUnKSk7CiAgICB9CgogICAgcHJvdGVjdGVkIHN0YXRpYyBmdW5jdGlvbiBjbGVhblVwUXVldWVzKCkKICAgIHsKICAgICAgICBzZWxmOjpsb2coJ0NsZWFudXAgYW55IGV4aXN0aW5nIHF1ZXVlcyBmcm9tIG90aGVyIGludGVnIHRlc3RzLicpOwogICAgICAgICRzcXMgPSBzZWxmOjpnZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3NxcycpOwogICAgICAgIGZvcmVhY2ggKCRzcXMtPmdldEl0ZXJhdG9yKCdMaXN0UXVldWVzJywgYXJyYXkoJ1F1ZXVlTmFtZVByZWZpeCcgPT4gJ3BocC1pbnRlZy1zcXMtJykpIGFzICRxdWV1ZVVybCkgewogICAgICAgICAgICAkc3FzLT5kZWxldGVRdWV1ZShhcnJheSgnUXVldWVVcmwnICA9PiAkcXVldWVVcmwpKTsKICAgICAgICAgICAgc2xlZXAoMyk7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sqs/Md5ValidatorListenerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU3FzOwoKdXNlIEF3c1xTcXNcTWQ1VmFsaWRhdG9yTGlzdGVuZXI7CnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CnVzZSBHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcTW9ja0NvbW1hbmQ7CgovKioKICogQGNvdmVycyBBd3NcU3FzXE1kNVZhbGlkYXRvckxpc3RlbmVyCiAqLwpjbGFzcyBNZDVWYWxpZGF0b3JMaXN0ZW5lclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcU3FzXEV4Y2VwdGlvblxTcXNFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNNZDVXaXRoRXhjZXB0aW9uKCkKICAgIHsKICAgICAgICAkbW9kZWwgID0gbmV3IE1vZGVsKGFycmF5KAogICAgICAgICAgICAnTWVzc2FnZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoJ01ENU9mQm9keScgPT4gJ2ZvbycsICdCb2R5JyA9PiAnQmFyJykKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xNb2NrQ29tbWFuZCcpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZ2V0TmFtZScsICdnZXRSZXN1bHQnKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJGNvbW1hbmQtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSktPm1ldGhvZCgnZ2V0TmFtZScpLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgnUmVjZWl2ZU1lc3NhZ2UnKSk7CiAgICAgICAgJGNvbW1hbmQtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSktPm1ldGhvZCgnZ2V0UmVzdWx0JyktPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRtb2RlbCkpOwoKICAgICAgICAkdiA9IG5ldyBNZDVWYWxpZGF0b3JMaXN0ZW5lcigpOwogICAgICAgICR2LT5vbkNvbW1hbmRCZWZvcmVTZW5kKG5ldyBFdmVudChhcnJheSgnY29tbWFuZCcgPT4gJGNvbW1hbmQpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNNZDUoKQogICAgewogICAgICAgICRtb2RlbCAgPSBuZXcgTW9kZWwoYXJyYXkoCiAgICAgICAgICAgICdNZXNzYWdlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgnTUQ1T2ZCb2R5JyA9PiAnZmFmYjAwZjU3MzJhYjI4MzY4MWUxMjRiZjg3NDdlZDEnLCAnQm9keScgPT4gJ1RoaXMgaXMgYSB0ZXN0IG1lc3NhZ2UnKQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXE1vY2tDb21tYW5kJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdnZXROYW1lJywgJ2dldFJlc3VsdCcpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkY29tbWFuZC0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKS0+bWV0aG9kKCdnZXROYW1lJyktPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCdSZWNlaXZlTWVzc2FnZScpKTsKICAgICAgICAkY29tbWFuZC0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKS0+bWV0aG9kKCdnZXRSZXN1bHQnKS0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJG1vZGVsKSk7CgogICAgICAgICR2ID0gbmV3IE1kNVZhbGlkYXRvckxpc3RlbmVyKCk7CiAgICAgICAgJHYtPm9uQ29tbWFuZEJlZm9yZVNlbmQobmV3IEV2ZW50KGFycmF5KCdjb21tYW5kJyA9PiAkY29tbWFuZCkpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sqs/QueueUrlListenerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU3FzOwoKdXNlIEF3c1xTcXNcUXVldWVVcmxMaXN0ZW5lcjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CgovKioKICogQGNvdmVycyBBd3NcU3FzXFF1ZXVlVXJsTGlzdGVuZXIKICovCmNsYXNzIFF1ZXVlVXJsTGlzdGVuZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVcGRhdGVzVXJsKCkKICAgIHsKICAgICAgICAkbGlzdGVuZXIgPSBuZXcgUXVldWVVcmxMaXN0ZW5lcigpOwoKICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHN1YnNjcmliZWQgZXZlbnRzIGFyZSBkZWNsYXJlZAogICAgICAgICRldmVudHMgPSAkbGlzdGVuZXItPmdldFN1YnNjcmliZWRFdmVudHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ2NvbW1hbmQuYmVmb3JlX3NlbmQnLCAkZXZlbnRzKTsKCiAgICAgICAgLy8gU2V0dXAgc3RhdGUgb2YgY29tbWFuZC9yZXF1ZXN0CiAgICAgICAgJG5ld1VybCA9ICdodHRwczovL3F1ZXVlLmFtYXpvbmF3cy5jb20vc3R1ZmYvaW4vdGhlL3BhdGgnOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzMycsIHRydWUpOwogICAgICAgICRjb21tYW5kID0gJGNsaWVudC0+Z2V0Q29tbWFuZCgnTGlzdEJ1Y2tldHMnKTsKICAgICAgICAkcmVxdWVzdCA9ICRjb21tYW5kLT5wcmVwYXJlKCk7CiAgICAgICAgJGNvbW1hbmQtPnNldCgnUXVldWVVcmwnLCAkbmV3VXJsKTsKICAgICAgICAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPnNldCgnUXVldWVVcmwnLCAkbmV3VXJsKTsKICAgICAgICAkZXZlbnQgPSBuZXcgRXZlbnQoYXJyYXkoJ2NvbW1hbmQnID0+ICRjb21tYW5kKSk7CgogICAgICAgIC8vIEV4ZWN1dGUgdGhlIGxpc3RlbmVyIGFuZCBjb25maXJtIGVmZmVjdHMKICAgICAgICAkbGlzdGVuZXItPm9uQ29tbWFuZEJlZm9yZVNlbmQoJGV2ZW50KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRuZXdVcmwsICRyZXF1ZXN0LT5nZXRVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+aGFzS2V5KCdRdWV1ZVVybCcpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sqs/SqsClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU3FzOwoKdXNlIEF3c1xTcXNcU3FzQ2xpZW50Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxQbHVnaW5cTW9ja1xNb2NrUGx1Z2luOwoKY2xhc3MgU3FzQ2xpZW50VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xTcXNcU3FzQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gU3FzQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgICAgICdyZWdpb24nID0+ICd1cy1lYXN0LTEnCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWNCcsICRjbGllbnQtPmdldFNpZ25hdHVyZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFscycsICRjbGllbnQtPmdldENyZWRlbnRpYWxzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHBzOi8vc3FzLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tJywgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldFF1ZXVlQXJuKCkKICAgIHsKICAgICAgICAkdXJsID0gJ2h0dHBzOi8vc3FzLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tLzA1NzczNzYyNTMxOC9waHAtaW50ZWctc3FzLXF1ZXVlLTEzNTk3NjU5NzQnOwogICAgICAgICRhcm4gPSAnYXJuOmF3czpzcXM6dXMtZWFzdC0xOjA1NzczNzYyNTMxODpwaHAtaW50ZWctc3FzLXF1ZXVlLTEzNTk3NjU5NzQnOwogICAgICAgICRzcXMgPSBTcXNDbGllbnQ6OmZhY3RvcnkoYXJyYXkoJ3JlZ2lvbicgPT4gJ3VzLWVhc3QtMScpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkYXJuLCAkc3FzLT5nZXRRdWV1ZUFybigkdXJsKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xTcXNcRXhjZXB0aW9uXFNxc0V4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBCb2R5IE1ENSBtaXNtYXRjaCBmb3IKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNTdWNjZXNzZnVsTWQ1T2ZCb2R5KCkKICAgIHsKICAgICAgICAkbW9jayA9IG5ldyBNb2NrUGx1Z2luKGFycmF5KAogICAgICAgICAgICBSZXNwb25zZTo6ZnJvbU1lc3NhZ2UoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbFxyXG5cclxuIiAuCiAgICAgICAgICAgICAgICAiPFJlY2VpdmVNZXNzYWdlUmVzcG9uc2U+CiAgICAgICAgICAgICAgICAgIDxSZWNlaXZlTWVzc2FnZVJlc3VsdD4KICAgICAgICAgICAgICAgICAgICA8TWVzc2FnZT4KICAgICAgICAgICAgICAgICAgICAgIDxNRDVPZkJvZHk+Zm9vbzwvTUQ1T2ZCb2R5PgogICAgICAgICAgICAgICAgICAgICAgPEJvZHk+VGhpcyBpcyBhIHRlc3QgbWVzc2FnZTwvQm9keT4KICAgICAgICAgICAgICAgICAgICA8L01lc3NhZ2U+CiAgICAgICAgICAgICAgICAgIDwvUmVjZWl2ZU1lc3NhZ2VSZXN1bHQ+CiAgICAgICAgICAgICAgICA8L1JlY2VpdmVNZXNzYWdlUmVzcG9uc2U+IgogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICAgICAgJHNxcyA9IFNxc0NsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2FiYycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICcxMjMnLAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtZWFzdC0xJwogICAgICAgICkpOwogICAgICAgICRzcXMtPmFkZFN1YnNjcmliZXIoJG1vY2spOwogICAgICAgICRzcXMtPnJlY2VpdmVNZXNzYWdlKGFycmF5KCdRdWV1ZVVybCcgPT4gJ2h0dHA6Ly9mb28uY29tJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/StorageGateway/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/StorageGateway/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/StorageGateway/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU3RvcmFnZUdhdGV3YXlcSW50ZWdyYXRpb247Cgp1c2UgQXdzXFN0b3JhZ2VHYXRld2F5XEVudW1cR2F0ZXdheVRpbWV6b25lOwp1c2UgQXdzXFN0b3JhZ2VHYXRld2F5XEVudW1cR2F0ZXdheVR5cGU7CnVzZSBBd3NcU3RvcmFnZUdhdGV3YXlcU3RvcmFnZUdhdGV3YXlDbGllbnQ7CnVzZSBBd3NcQ29tbW9uXEVudW1cUmVnaW9uOwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQHZhciBTdG9yYWdlR2F0ZXdheUNsaWVudAogICAgICovCiAgICBwcm90ZWN0ZWQgJHNnOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnNnID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnc3RvcmFnZWdhdGV3YXknKTsKICAgICAgICAkdGhpcy0+c2ctPnNldFJlZ2lvbihSZWdpb246OlVTX1dFU1RfMik7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RMaXN0T3BlcmF0aW9uKCkKICAgIHsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPnNnLT5saXN0R2F0ZXdheXMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ0dhdGV3YXlzJywgJHJlc3VsdC0+dG9BcnJheSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcQXdzXFN0b3JhZ2VHYXRld2F5XEV4Y2VwdGlvblxJbnZhbGlkR2F0ZXdheVJlcXVlc3RFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgVGhlIHNwZWNpZmllZCBhY3RpdmF0aW9uIGtleSB3YXMgbm90IGZvdW5kLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhaWxzVG9BY3RpdmF0ZUludmFsaWRHYXRld2F5KCkKICAgIHsKICAgICAgICAkdGhpcy0+c2ctPmFjdGl2YXRlR2F0ZXdheShhcnJheSgKICAgICAgICAgICAgJ0FjdGl2YXRpb25LZXknICAgPT4gJ2Zvb1YxLWJhclY5LVZWSVVCLU5LVDBJLUxSTzZWJywKICAgICAgICAgICAgJ0dhdGV3YXlOYW1lJyAgICAgPT4gJ215Z2F0ZXdheScsCiAgICAgICAgICAgICdHYXRld2F5VGltZXpvbmUnID0+IEdhdGV3YXlUaW1lem9uZTo6R01UX01JTlVTXzEyMDAsCiAgICAgICAgICAgICdHYXRld2F5UmVnaW9uJyAgID0+IFJlZ2lvbjo6VVNfV0VTVF8yLAogICAgICAgICAgICAnR2F0ZXdheVR5cGUnICAgICA9PiBHYXRld2F5VHlwZTo6Q0FDSEVELAogICAgICAgICkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/StorageGateway/StorageGatewayClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU3RvcmFnZUdhdGV3YXk7Cgp1c2UgQXdzXFN0b3JhZ2VHYXRld2F5XFN0b3JhZ2VHYXRld2F5Q2xpZW50OwoKY2xhc3MgU3RvcmFnZUdhdGV3YXlDbGllbnRUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBjb3ZlcnMgQXdzXFN0b3JhZ2VHYXRld2F5XFN0b3JhZ2VHYXRld2F5Q2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gU3RvcmFnZUdhdGV3YXlDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLXdlc3QtMicKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cU2lnbmF0dXJlXFNpZ25hdHVyZVY0JywgJGNsaWVudC0+Z2V0U2lnbmF0dXJlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzJywgJGNsaWVudC0+Z2V0Q3JlZGVudGlhbHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9zdG9yYWdlZ2F0ZXdheS51cy13ZXN0LTIuYW1hem9uYXdzLmNvbScsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sts/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sts/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sts/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU3RzXEludGVncmF0aW9uOwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQHZhciBcQXdzXFN0c1xTdHNDbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ3N0cycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0cmlldmVzRmVkZXJhdGVkVG9rZW4oKQogICAgewogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnR2V0RmVkZXJhdGlvblRva2VuJywgYXJyYXkoCiAgICAgICAgICAgICdEdXJhdGlvblNlY29uZHMnID0+IDM2MDksCiAgICAgICAgICAgICdOYW1lJyAgICAgICAgICAgID0+ICdmb28nLAogICAgICAgICAgICAnUG9saWN5JyAgICAgICAgICA9PiBqc29uX2VuY29kZShhcnJheSgKICAgICAgICAgICAgICAgICdTdGF0ZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRWZmZWN0JyAgID0+ICdEZW55JywKICAgICAgICAgICAgICAgICAgICAgICAgJ0FjdGlvbicgICA9PiAnczM6R2V0T2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlJyA9PiAnYXJuOmF3czpzMzo6Om15YnVja2V0L2ZlZGVyYXRlZC9KaWxsLyonCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKQogICAgICAgICkpOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgIH0gY2F0Y2ggKFxBd3NcU3RzXEV4Y2VwdGlvblxTdHNFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgZWNobyAkZS0+Z2V0TWVzc2FnZSgpIC4gIlxuIjsKICAgICAgICAgICAgZWNobyB2YXJfZXhwb3J0KCRlLT5nZXRSZXNwb25zZSgpLT5nZXRSZXF1ZXN0KCktPmdldFBhcmFtcygpLT5nZXQoJ2F3cy5zaWduZWRfaGVhZGVycycpLCB0cnVlKS4gIlxuIjsKICAgICAgICAgICAgZWNobyAkZS0+Z2V0UmVzcG9uc2UoKS0+Z2V0UmVxdWVzdCgpLT5nZXRQYXJhbXMoKS0+Z2V0KCdhd3MuY2Fub25pY2FsX3JlcXVlc3QnKSAuICJcbiI7CiAgICAgICAgICAgIGVjaG8gJGUtPmdldFJlc3BvbnNlKCktPmdldFJlcXVlc3QoKS0+Z2V0UGFyYW1zKCktPmdldCgnYXdzLnN0cmluZ190b19zaWduJykgLiAiXG4iOwogICAgICAgICAgICBkaWUoKTsKICAgICAgICB9CgogICAgICAgIC8vIEVuc3VyZSB0aGUgcXVlcnkgc3RyaW5nIHZhcmlhYmxlcyB3ZXJlIHNldCBjb3JyZWN0bHkKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkY29tbWFuZC0+Z2V0UmVxdWVzdCgpLT5nZXRQb3N0RmllbGQoJ05hbWUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnR2V0RmVkZXJhdGlvblRva2VuJywgJGNvbW1hbmQtPmdldFJlcXVlc3QoKS0+Z2V0UG9zdEZpZWxkKCdBY3Rpb24nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KCRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldFBvc3RGaWVsZCgnUG9saWN5JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMzYwOSwgJGNvbW1hbmQtPmdldFJlcXVlc3QoKS0+Z2V0UG9zdEZpZWxkKCdEdXJhdGlvblNlY29uZHMnKSk7CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSByZXN1bHQgaXMgYW4gYXJyYXkKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWwnLCAkY29tbWFuZC0+Z2V0UmVzdWx0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3ROdWxsKCRjb21tYW5kLT5nZXRSZXN1bHQoKS0+Z2V0KCdDcmVkZW50aWFscycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90TnVsbCgkY29tbWFuZC0+Z2V0UmVzdWx0KCktPmdldCgnUmVzcG9uc2VNZXRhZGF0YScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHJpZXZlc1Nlc3Npb25Ub2tlbldpdGhEZWZhdWx0RHVyYXRpb24oKQogICAgewogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnR2V0U2Vzc2lvblRva2VuJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsJywgJGNvbW1hbmQtPmdldFJlc3VsdCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHJpZXZlc1Nlc3Npb25Ub2tlbldpdGhDdXN0b21EdXJhdGlvbigpCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdHZXRTZXNzaW9uVG9rZW4nLCBhcnJheSgKICAgICAgICAgICAgJ0R1cmF0aW9uU2Vjb25kcycgPT4gNTAwMAogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWwnLCAkY29tbWFuZC0+Z2V0UmVzdWx0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0dldFNlc3Npb25Ub2tlbicsICRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldFBvc3RGaWVsZCgnQWN0aW9uJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNTAwMCwgJGNvbW1hbmQtPmdldFJlcXVlc3QoKS0+Z2V0UG9zdEZpZWxkKCdEdXJhdGlvblNlY29uZHMnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xTdHNcRXhjZXB0aW9uXFN0c0V4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBOb3QgYXV0aG9yaXplZCB0byBwZXJmb3JtIHN0czpBc3N1bWVSb2xlV2l0aFdlYklkZW50aXR5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFpbHNPbkJhZFdlYklkZW50aXR5KCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5hc3N1bWVSb2xlV2l0aFdlYklkZW50aXR5KGFycmF5KAogICAgICAgICAgICAnUm9sZUFybicgICAgICAgICAgPT4gJ2Fybjphd3M6aWFtOjoxMjMxMjMxMjMxMjM6cm9sZS9EdW1teVJvbGUuJywKICAgICAgICAgICAgJ1JvbGVTZXNzaW9uTmFtZScgID0+ICdkdW1teS1zZXNzaW9uLW5hbWUnLAogICAgICAgICAgICAnV2ViSWRlbnRpdHlUb2tlbicgPT4gJ2R1bW15LW9hdXRoLXRva2VuJywKICAgICAgICAgICAgJ1Byb3ZpZGVySWQnICAgICAgID0+ICdkdW1teS1wcm92aWRlci1uYW1lJywKICAgICAgICAgICAgJ1BvbGljeScgICAgICAgICAgID0+IGpzb25fZW5jb2RlKGFycmF5KAogICAgICAgICAgICAgICAgJ1N0YXRlbWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnICAgPT4gJ0RlbnknLAogICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJyAgID0+ICdzMzpHZXRPYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2UnID0+ICdhcm46YXdzOnMzOjo6bXlidWNrZXQvZHVtbXkvKicKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkpLAogICAgICAgICkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Sts/StsClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU3RzOwoKdXNlIEF3c1xTdHNcU3RzQ2xpZW50Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxQbHVnaW5cTW9ja1xNb2NrUGx1Z2luOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWw7CgovKioKICogQGNvdmVycyBBd3NcU3RzXFN0c0NsaWVudAogKi8KY2xhc3MgU3RzQ2xpZW50VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGYWN0b3J5SW5pdGlhbGl6ZXNDbGllbnQoKQogICAgewogICAgICAgICRjbGllbnQgPSBTdHNDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdrZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICAgICAgJ3JlZ2lvbicgPT4gJ3VzLXdlc3QtMScKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHMnLCAkY2xpZW50LT5nZXRDcmVkZW50aWFscygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwczovL3N0cy5hbWF6b25hd3MuY29tJywgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQnLCAkY2xpZW50LT5nZXRTaWduYXR1cmUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGNsaWVudC0+Z2V0RGVzY3JpcHRpb24oKS0+aGFzT3BlcmF0aW9uKCdHZXRTZXNzaW9uVG9rZW4nKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEF3c1xDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlcXVpcmVzTG9uZ1Rlcm1DcmVkZW50aWFscygpCiAgICB7CiAgICAgICAgU3RzQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgICAgICd0b2tlbicgID0+ICdmb28nLAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtd2VzdC0xJwogICAgICAgICkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQ3JlYXRlQ3JlZGVudGlhbHNPYmplY3RGcm9tU3RzUmVzdWx0KCkKICAgIHsKICAgICAgICAkcmVzdWx0ID0gbmV3IE1vZGVsKGFycmF5KAogICAgICAgICAgICAnQ3JlZGVudGlhbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0FjY2Vzc0tleUlkJyA9PiAnZm9vJywKICAgICAgICAgICAgICAgICdTZWNyZXRBY2Nlc3NLZXknID0+ICdiYXInLAogICAgICAgICAgICAgICAgJ1Nlc3Npb25Ub2tlbicgPT4gJ2JheicsCiAgICAgICAgICAgICAgICAnRXhwaXJhdGlvbicgPT4gMzAsCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJGNsaWVudCA9IFN0c0NsaWVudDo6ZmFjdG9yeSgpOwogICAgICAgICRjcmVkZW50aWFscyA9ICRjbGllbnQtPmNyZWF0ZUNyZWRlbnRpYWxzKCRyZXN1bHQpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFscycsICRjcmVkZW50aWFscyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJGNyZWRlbnRpYWxzLT5nZXRBY2Nlc3NLZXlJZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXInLCAkY3JlZGVudGlhbHMtPmdldFNlY3JldEtleSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXonLCAkY3JlZGVudGlhbHMtPmdldFNlY3VyaXR5VG9rZW4oKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzMCwgJGNyZWRlbnRpYWxzLT5nZXRFeHBpcmF0aW9uKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxBd3NcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25XaGVuQ3JlYXRpbmdDcmVkZW50aWFsc0Zyb21JbnZhbGlkSW5wdXQoKQogICAgewogICAgICAgICRjbGllbnQgPSBTdHNDbGllbnQ6OmZhY3RvcnkoKTsKICAgICAgICAkY3JlZGVudGlhbHMgPSAkY2xpZW50LT5jcmVhdGVDcmVkZW50aWFscyhuZXcgTW9kZWwoYXJyYXkoKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VGhhdEFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHlSZXF1ZXN0c0RvTm90R2V0U2lnbmVkKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gU3RzQ2xpZW50OjpmYWN0b3J5KCk7CgogICAgICAgICRtb2NrID0gbmV3IE1vY2tQbHVnaW4oKTsKICAgICAgICAkbW9jay0+YWRkUmVzcG9uc2UobmV3IFJlc3BvbnNlKDIwMCkpOwogICAgICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIoJG1vY2spOwoKICAgICAgICAkY29tbWFuZCA9ICRjbGllbnQtPmdldENvbW1hbmQoJ0Fzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHknLCBhcnJheSgKICAgICAgICAgICAgJ1JvbGVBcm4nICAgICAgICAgID0+ICd4eHh4eHh4eHh4eHh4eHh4eHh4eHh4JywKICAgICAgICAgICAgJ1JvbGVTZXNzaW9uTmFtZScgID0+ICd4eCcsCiAgICAgICAgICAgICdXZWJJZGVudGl0eVRva2VuJyA9PiAneHh4eCcKICAgICAgICApKTsKICAgICAgICAkcmVxdWVzdCA9ICRjb21tYW5kLT5wcmVwYXJlKCk7CiAgICAgICAgJGNvbW1hbmQtPmV4ZWN1dGUoKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRyZXF1ZXN0LT5oYXNIZWFkZXIoJ0F1dGhvcml6YXRpb24nKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Support/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Support/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Support/Integration/Support_20121215_Test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU3VwcG9ydFxJbnRlZ3JhdGlvbjsKCnVzZSBBd3NcU3VwcG9ydFxTdXBwb3J0Q2xpZW50OwoKLyoqCiAqIEBncm91cCBleGFtcGxlCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKiBAb3V0cHV0QnVmZmVyaW5nIGVuYWJsZWQKICovCmNsYXNzIFN1cHBvcnRfMjAxMjEyMTVfVGVzdCBleHRlbmRzIFxBd3NcVGVzdHNcSW50ZWdyYXRpb25UZXN0Q2FzZQp7CiAgICAvKiogQHZhciBTdXBwb3J0Q2xpZW50ICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdzdXBwb3J0JywgdHJ1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZXNjcmliZSB0aGUgc2VydmljZXMgdGhhdCBjYW4gYmUgcmVmZXJlbmNlZCBpbiBBV1MgU3VwcG9ydCBjYXNlcwogICAgICoKICAgICAqIEBleGFtcGxlIEF3c1xTdXBwb3J0XFN1cHBvcnRDbGllbnQ6OmRlc2NyaWJlU2VydmljZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZXNjcmliZVNlcnZpY2VzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPmRlc2NyaWJlU2VydmljZXMoKTsKICAgICAgICAkc2VydmljZSA9ICRyZXN1bHRbJ3NlcnZpY2VzJ11bNV07CgogICAgICAgIC8vIEBlbmQKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ25hbWUnLCAkc2VydmljZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdjYXRlZ29yaWVzJywgJHNlcnZpY2UpOwoKICAgICAgICByZXR1cm4gYXJyYXkoJHNlcnZpY2UpOwogICAgfQoKICAgIC8qKgogICAgICogRGVzY3JpYmUgdGhlIHNldmVyaXR5IGxldmVscyB0aGF0IGNhbiBiZSByZWZlcmVuY2VkIGluIEFXUyBTdXBwb3J0IGNhc2VzCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdERlc2NyaWJlU2VydmljZXMKICAgICAqIEBleGFtcGxlIEF3c1xTdXBwb3J0XFN1cHBvcnRDbGllbnQ6OmRlc2NyaWJlU2V2ZXJpdHlMZXZlbHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZXNjcmliZVNldmVyaXR5TGV2ZWxzKGFycmF5ICRkYXRhKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Y2xpZW50OwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+ZGVzY3JpYmVTZXZlcml0eUxldmVscygpOwogICAgICAgICRsZXZlbCA9ICRyZXN1bHRbJ3NldmVyaXR5TGV2ZWxzJ11bMF07CgogICAgICAgIC8vIEBlbmQKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ25hbWUnLCAkbGV2ZWwpOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnY29kZScsICRsZXZlbCk7CgogICAgICAgICRkYXRhW10gPSAkbGV2ZWw7CgogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIHN1cHBvcnQgY2FzZQogICAgICoKICAgICAqIEBkZXBlbmRzIHRlc3REZXNjcmliZVNldmVyaXR5TGV2ZWxzCiAgICAgKiBAZXhhbXBsZSBBd3NcU3VwcG9ydFxTdXBwb3J0Q2xpZW50OjpjcmVhdGVDYXNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlQ2FzZShhcnJheSAkZGF0YSkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICBsaXN0ICgkc2VydmljZSwgJGxldmVsKSA9ICRkYXRhOwogICAgICAgIC8vIEBiZWdpbgoKICAgICAgICAkcmVzdWx0ID0gJGNsaWVudC0+Y3JlYXRlQ2FzZShhcnJheSgKICAgICAgICAgICAgJ3N1YmplY3QnICAgICAgICAgICA9PiAnVGVzdCBDYXNlJywKICAgICAgICAgICAgJ3NlcnZpY2VDb2RlJyAgICAgICA9PiAkc2VydmljZVsnY29kZSddLCAvLyAoZS5nLiwgYW1hem9uLWR5bmFtb2RiKQogICAgICAgICAgICAnc2V2ZXJpdHlDb2RlJyAgICAgID0+ICRsZXZlbFsnY29kZSddLCAvLyhlLmcuLCBsb3cpCiAgICAgICAgICAgICdjYXRlZ29yeUNvZGUnICAgICAgPT4gJHNlcnZpY2VbJ2NhdGVnb3JpZXMnXVswXVsnY29kZSddLCAvLyAoZS5nLiwgZmVhdHVyZS1yZXF1ZXN0KQogICAgICAgICAgICAnY29tbXVuaWNhdGlvbkJvZHknID0+ICdJbml0aWFsIE1lc3NhZ2UuJywKICAgICAgICApKTsKICAgICAgICAkY2FzZUlkID0gJHJlc3VsdFsnY2FzZUlkJ107CgogICAgICAgIC8vIEBlbmQKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJGNhc2VJZCk7CgogICAgICAgIHJldHVybiAkY2FzZUlkOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGNvbW11bmljYXRpb25zIHRvIGEgc3VwcG9ydCBjYXNlCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdENyZWF0ZUNhc2UKICAgICAqIEBleGFtcGxlIEF3c1xTdXBwb3J0XFN1cHBvcnRDbGllbnQ6OmFkZENvbW11bmljYXRpb25Ub0Nhc2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRDb21tdW5pY2F0aW9uVG9DYXNlKCRjYXNlSWQpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5jbGllbnQ7CiAgICAgICAgLy8gQGJlZ2luCgogICAgICAgICRjbGllbnQtPmFkZENvbW11bmljYXRpb25Ub0Nhc2UoYXJyYXkoCiAgICAgICAgICAgICdjYXNlSWQnICAgICAgICAgICAgPT4gJGNhc2VJZCwKICAgICAgICAgICAgJ2NvbW11bmljYXRpb25Cb2R5JyA9PiAnTWVzc2FnZSBvbmUuJywKICAgICAgICApKTsKCiAgICAgICAgJGNsaWVudC0+YWRkQ29tbXVuaWNhdGlvblRvQ2FzZShhcnJheSgKICAgICAgICAgICAgJ2Nhc2VJZCcgICAgICAgICAgICA9PiAkY2FzZUlkLAogICAgICAgICAgICAnY29tbXVuaWNhdGlvbkJvZHknID0+ICdNZXNzYWdlIHR3by4nLAogICAgICAgICkpOwoKICAgICAgICAkY2xpZW50LT5hZGRDb21tdW5pY2F0aW9uVG9DYXNlKGFycmF5KAogICAgICAgICAgICAnY2FzZUlkJyAgICAgICAgICAgID0+ICRjYXNlSWQsCiAgICAgICAgICAgICdjb21tdW5pY2F0aW9uQm9keScgPT4gJ01lc3NhZ2UgdGhyZWUuJywKICAgICAgICApKTsKCiAgICAgICAgLy8gQGVuZAogICAgICAgIHJldHVybiAkY2FzZUlkOwogICAgfQoKICAgIC8qKgogICAgICogRGVzY3JpYmUgY29tbXVuaWNhdGlvbnMKICAgICAqCiAgICAgKiBAZGVwZW5kcyB0ZXN0QWRkQ29tbXVuaWNhdGlvblRvQ2FzZQogICAgICogQGV4YW1wbGUgQXdzXFN1cHBvcnRcU3VwcG9ydENsaWVudDo6ZGVzY3JpYmVDb21tdW5pY2F0aW9ucwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlc2NyaWJlQ29tbXVuaWNhdGlvbnMoJGNhc2VJZCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJG51bWJlck9mQ29tbXVuaWNhdGlvbnMgPSAwOwogICAgICAgICRjb21tdW5pY2F0aW9ucyA9ICRjbGllbnQtPmdldEl0ZXJhdG9yKCdEZXNjcmliZUNvbW11bmljYXRpb25zJywgYXJyYXkoJ2Nhc2VJZCcgPT4gJGNhc2VJZCkpOwogICAgICAgIGZvcmVhY2ggKCRjb21tdW5pY2F0aW9ucyBhcyAkY29tbXVuaWNhdGlvbikgewogICAgICAgICAgICBlY2hvICRjb21tdW5pY2F0aW9uWydib2R5J107CiAgICAgICAgICAgICRudW1iZXJPZkNvbW11bmljYXRpb25zKys7CiAgICAgICAgfQogICAgICAgIC8vPiBNZXNzYWdlIHRocmVlLiBNZXNzYWdlIHR3by4gTWVzc2FnZSBvbmUuIEluaXRpYWwgTWVzc2FnZS4KCiAgICAgICAgZWNobyAkbnVtYmVyT2ZDb21tdW5pY2F0aW9uczsKICAgICAgICAvLz4gNAoKICAgICAgICAvLyBAZW5kCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygKICAgICAgICAgICAgIk1lc3NhZ2UgdGhyZWUuXG5cbk1lc3NhZ2UgdHdvLlxuXG5NZXNzYWdlIG9uZS5cblxuSW5pdGlhbCBNZXNzYWdlLlxuXG40IiwKICAgICAgICAgICAgJHRoaXMtPmdldEFjdHVhbE91dHB1dCgpCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuICRjYXNlSWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXNvbHZlIGEgc3VwcG9ydCBjYXNlCiAgICAgKgogICAgICogQGRlcGVuZHMgdGVzdERlc2NyaWJlQ29tbXVuaWNhdGlvbnMKICAgICAqIEBleGFtcGxlIEF3c1xTdXBwb3J0XFN1cHBvcnRDbGllbnQ6OnJlc29sdmVDYXNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVzb2x2ZUNhc2UoJGNhc2VJZCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmNsaWVudDsKICAgICAgICAvLyBAYmVnaW4KCiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPnJlc29sdmVDYXNlKGFycmF5KAogICAgICAgICAgICAnY2FzZUlkJyA9PiAkY2FzZUlkCiAgICAgICAgKSk7CiAgICAgICAgZWNobyAiVGhlIGluaXRpYWwgY2FzZSBzdGF0dXMgd2FzOiB7JHJlc3VsdFsnaW5pdGlhbENhc2VTdGF0dXMnXX0uXG4iOwogICAgICAgIGVjaG8gIlRoZSBmaW5hbCBjYXNlIHN0YXR1cyB3YXM6IHskcmVzdWx0WydmaW5hbENhc2VTdGF0dXMnXX0uXG4iOwoKICAgICAgICAvLyBAZW5kCiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KCR0aGlzLT5nZXRBY3R1YWxPdXRwdXQoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Support/SupportClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU3VwcG9ydDsKCnVzZSBBd3NcQ29tbW9uXENyZWRlbnRpYWxzXENyZWRlbnRpYWxzOwp1c2UgQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQ7CnVzZSBBd3NcU3VwcG9ydFxTdXBwb3J0Q2xpZW50OwoKY2xhc3MgU3VwcG9ydENsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGNvdmVycyBBd3NcU3VwcG9ydFxTdXBwb3J0Q2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gU3VwcG9ydENsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdzZWNyZXQnID0+ICdiYXInLAogICAgICAgICAgICAncmVnaW9uJyA9PiAndXMtZWFzdC0xJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxTaWduYXR1cmVcU2lnbmF0dXJlVjQnLCAkY2xpZW50LT5nZXRTaWduYXR1cmUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0F3c1xDb21tb25cQ3JlZGVudGlhbHNcQ3JlZGVudGlhbHMnLCAkY2xpZW50LT5nZXRDcmVkZW50aWFscygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwczovL3N1cHBvcnQudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20nLCAkY2xpZW50LT5nZXRCYXNlVXJsKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Swf/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Swf/Integration/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Swf/Integration/IntegrationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU3dmXEludGVncmF0aW9uOwoKdXNlIEF3c1xTd2ZcRW51bVxSZWdpc3RyYXRpb25TdGF0dXM7CnVzZSBBd3NcU3dmXEV4Y2VwdGlvblxEb21haW5BbHJlYWR5RXhpc3RzRXhjZXB0aW9uOwp1c2UgQXdzXFN3ZlxFeGNlcHRpb25cRG9tYWluRGVwcmVjYXRlZEV4Y2VwdGlvbjsKdXNlIEF3c1xTd2ZcU3dmQ2xpZW50Owp1c2UgR3V6emxlXEl0ZXJhdG9yXEFwcGVuZEl0ZXJhdG9yOwp1c2UgR3V6emxlXEl0ZXJhdG9yXEZpbHRlckl0ZXJhdG9yOwp1c2UgR3V6emxlXEl0ZXJhdG9yXE1hcEl0ZXJhdG9yOwoKLyoqCiAqIEBncm91cCBpbnRlZ3JhdGlvbgogKi8KY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgXEF3c1xUZXN0c1xJbnRlZ3JhdGlvblRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQHZhciBTd2ZDbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRzd2Y7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+c3dmID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnc3dmJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCYXNpY09wZXJhdGlvbnMoKQogICAgewogICAgICAgICRyZWdpc3RlcmVkRG9tYWluID0gJ3BocC1pbnRlZy1zd2YtZG9tYWluJzsKICAgICAgICAkZGVwcmVjYXRlZERvbWFpbiA9ICdwaHAtaW50ZWctc3dmLWRvbWFpbi1kZXByZWNhdGVkJzsKCiAgICAgICAgc2VsZjo6bG9nKCdDcmVhdGUgYSBTV0YgZG9tYWluIHRvIHVzZSBmb3IgdGVzdGluZy4nKTsKICAgICAgICB0cnkgewogICAgICAgICAgICAkdGhpcy0+c3dmLT5nZXRDb21tYW5kKCdSZWdpc3RlckRvbWFpbicsIGFycmF5KAogICAgICAgICAgICAgICAgJ25hbWUnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAkcmVnaXN0ZXJlZERvbWFpbiwKICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0ZvciBpbnRlZ3JhdGlvbiB0ZXN0aW5nIGluIHRoZSBBV1MgU0RLIGZvciBQSFAnLAogICAgICAgICAgICAgICAgJ3dvcmtmbG93RXhlY3V0aW9uUmV0ZW50aW9uUGVyaW9kSW5EYXlzJyA9PiAnMTAnCiAgICAgICAgICAgICkpLT5leGVjdXRlKCk7CiAgICAgICAgfSBjYXRjaCAoRG9tYWluQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICBzZWxmOjpsb2coJ1RoZSBkb21haW4gaXMgYWxyZWFkeSBjcmVhdGVkLicpOwogICAgICAgIH0KCiAgICAgICAgc2VsZjo6bG9nKCdNYWtlIHN1cmUgdGhlIGRvbWFpbiBpcyB0aGVyZSB3aXRoIHRoZSBjb3JyZWN0IHN0YXR1cy4nKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPnN3Zi0+Z2V0Q29tbWFuZCgnRGVzY3JpYmVEb21haW4nLCBhcnJheSgKICAgICAgICAgICAgJ25hbWUnID0+ICRyZWdpc3RlcmVkRG9tYWluLAogICAgICAgICkpLT5nZXRSZXN1bHQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKFJlZ2lzdHJhdGlvblN0YXR1czo6UkVHSVNURVJFRCwgJHJlc3VsdC0+Z2V0UGF0aCgnZG9tYWluSW5mby9zdGF0dXMnKSk7CgogICAgICAgIHNlbGY6OmxvZygnQ3JlYXRlIGEgc2Vjb25kIFNXRiBkb21haW4gdG8gdXNlIGZvciB0ZXN0aW5nLicpOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR0aGlzLT5zd2YtPmdldENvbW1hbmQoJ1JlZ2lzdGVyRG9tYWluJywgYXJyYXkoCiAgICAgICAgICAgICAgICAnbmFtZScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICRkZXByZWNhdGVkRG9tYWluLAogICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnRm9yIGludGVncmF0aW9uIHRlc3RpbmcgaW4gdGhlIEFXUyBTREsgZm9yIFBIUCcsCiAgICAgICAgICAgICAgICAnd29ya2Zsb3dFeGVjdXRpb25SZXRlbnRpb25QZXJpb2RJbkRheXMnID0+ICcxMCcKICAgICAgICAgICAgKSktPmV4ZWN1dGUoKTsKICAgICAgICB9IGNhdGNoIChEb21haW5BbHJlYWR5RXhpc3RzRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIHNlbGY6OmxvZygnVGhlIHNlY29uZCBkb21haW4gaXMgYWxyZWFkeSBjcmVhdGVkLicpOwogICAgICAgIH0KCiAgICAgICAgc2VsZjo6bG9nKCdEZXByZWNhdGUgdGhlIHNlY29uZCBTV0YgZG9tYWluIGZvciB0ZXN0aW5nLicpOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR0aGlzLT5zd2YtPmdldENvbW1hbmQoJ0RlcHJlY2F0ZURvbWFpbicsIGFycmF5KAogICAgICAgICAgICAgICAgJ25hbWUnID0+ICRkZXByZWNhdGVkRG9tYWluLAogICAgICAgICAgICApKS0+ZXhlY3V0ZSgpOwogICAgICAgIH0gY2F0Y2ggKERvbWFpbkRlcHJlY2F0ZWRFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgc2VsZjo6bG9nKCdUaGUgc2Vjb25kIGRvbWFpbiBpcyBhbHJlYWR5IGRlcHJlY2F0ZWQuJyk7CiAgICAgICAgfQoKICAgICAgICBzZWxmOjpsb2coJ01ha2Ugc3VyZSB0aGUgc2Vjb25kIGRvbWFpbiBpcyB0aGVyZSB3aXRoIHRoZSBjb3JyZWN0IGRlcHJlY2F0ZWQgc3RhdHVzLicpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+c3dmLT5nZXRDb21tYW5kKCdEZXNjcmliZURvbWFpbicsIGFycmF5KAogICAgICAgICAgICAnbmFtZScgPT4gJGRlcHJlY2F0ZWREb21haW4sCiAgICAgICAgKSktPmdldFJlc3VsdCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoUmVnaXN0cmF0aW9uU3RhdHVzOjpERVBSRUNBVEVELCAkcmVzdWx0LT5nZXRQYXRoKCdkb21haW5JbmZvL3N0YXR1cycpKTsKCiAgICAgICAgc2VsZjo6bG9nKCdMaXN0IHRoZSBkb21haW5zIHVzaW5nIGl0ZXJhdG9ycyBhbmQgbWFrZSBzdXJlIHRoZSB0d28gZG9tYWlucyBhcmUgdGhlcmUuJyk7CiAgICAgICAgJGRvbWFpbnMgPSBuZXcgQXBwZW5kSXRlcmF0b3IoKTsKICAgICAgICAkZG9tYWlucy0+YXBwZW5kKCR0aGlzLT5zd2YtPmdldEl0ZXJhdG9yKCdMaXN0RG9tYWlucycsIGFycmF5KAogICAgICAgICAgICAncmV2ZXJzZU9yZGVyJyAgICAgICA9PiB0cnVlLAogICAgICAgICAgICAncmVnaXN0cmF0aW9uU3RhdHVzJyA9PiBSZWdpc3RyYXRpb25TdGF0dXM6OlJFR0lTVEVSRUQsCiAgICAgICAgKSkpOwogICAgICAgICRkb21haW5zLT5hcHBlbmQoJHRoaXMtPnN3Zi0+Z2V0SXRlcmF0b3IoJ0xpc3REb21haW5zJywgYXJyYXkoCiAgICAgICAgICAgICdyZWdpc3RyYXRpb25TdGF0dXMnID0+IFJlZ2lzdHJhdGlvblN0YXR1czo6REVQUkVDQVRFRCwKICAgICAgICApKSk7CiAgICAgICAgJGRvbWFpbnMgPSBuZXcgRmlsdGVySXRlcmF0b3IoJGRvbWFpbnMsIGZ1bmN0aW9uIChhcnJheSAkZG9tYWluKSB7CiAgICAgICAgICAgIHJldHVybiAoc3RycG9zKCRkb21haW5bJ25hbWUnXSwgJ3BocC1pbnRlZy1zd2YnKSA9PT0gMCk7CiAgICAgICAgfSk7CiAgICAgICAgJGRvbWFpbnMgPSBuZXcgTWFwSXRlcmF0b3IoJGRvbWFpbnMsIGZ1bmN0aW9uIChhcnJheSAkZG9tYWluKSB7CiAgICAgICAgICAgIHJldHVybiAkZG9tYWluWyduYW1lJ107CiAgICAgICAgfSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBpdGVyYXRvcl9jb3VudCgkZG9tYWlucykpOwogICAgICAgICRkb21haW5OYW1lcyA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJGRvbWFpbnMgYXMgJGRvbWFpbikgewogICAgICAgICAgICAkZG9tYWluTmFtZXNbXSA9ICRkb21haW47CiAgICAgICAgfQogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJHJlZ2lzdGVyZWREb21haW4sICRkZXByZWNhdGVkRG9tYWluKSwgJGRvbWFpbk5hbWVzKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/Aws/Tests/Swf/SwfClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCm5hbWVzcGFjZSBBd3NcVGVzdHNcU3dmOwoKdXNlIEF3c1xTd2ZcU3dmQ2xpZW50OwoKY2xhc3MgU3dmQ2xpZW50VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAY292ZXJzIEF3c1xTd2ZcU3dmQ2xpZW50OjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUluaXRpYWxpemVzQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gU3dmQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAna2V5JyAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlY3JldCcgPT4gJ2JhcicsCiAgICAgICAgICAgICdyZWdpb24nID0+ICd1cy13ZXN0LTInCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdBd3NcQ29tbW9uXFNpZ25hdHVyZVxTaWduYXR1cmVWNCcsICRjbGllbnQtPmdldFNpZ25hdHVyZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXdzXENvbW1vblxDcmVkZW50aWFsc1xDcmVkZW50aWFscycsICRjbGllbnQtPmdldENyZWRlbnRpYWxzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHBzOi8vc3dmLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tJywgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/bootstrap.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDEwLTIwMTMgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIikuCiAqIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXQKICoKICogaHR0cDovL2F3cy5hbWF6b24uY29tL2FwYWNoZTIuMAogKgogKiBvciBpbiB0aGUgImxpY2Vuc2UiIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkCiAqIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIKICogZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKICogcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCmVycm9yX3JlcG9ydGluZygtMSk7CgovLyBFbnN1cmUgdGhhdCBjb21wb3NlciBoYXMgaW5zdGFsbGVkIGFsbCBkZXBlbmRlbmNpZXMKaWYgKCFmaWxlX2V4aXN0cyhkaXJuYW1lKF9fRElSX18pIC4gJy9jb21wb3Nlci5sb2NrJykpIHsKICAgIGRpZSgiRGVwZW5kZW5jaWVzIG11c3QgYmUgaW5zdGFsbGVkIHVzaW5nIGNvbXBvc2VyOlxuXG5waHAgY29tcG9zZXIucGhhciBpbnN0YWxsXG5cbiIKICAgICAgICAuICJTZWUgaHR0cDovL2dldGNvbXBvc2VyLm9yZyBmb3IgaGVscCB3aXRoIGluc3RhbGxpbmcgY29tcG9zZXJcbiIpOwp9CgovLyBJbmNsdWRlIHRoZSBwaGFyIGZpbGVzIGlmIHRlc3RpbmcgYWdhaW5zdCB0aGUgcGhhcnMKaWYgKGdldF9jZmdfdmFyKCdhd3NfcGhhcicpKSB7CiAgICByZXF1aXJlIGRpcm5hbWUoX19ESVJfXykgLiAnL2J1aWxkLycgLiBnZXRfY2ZnX3ZhcignYXdzX3BoYXInKTsKfQoKLy8gSW5jbHVkZSB0aGUgY29tcG9zZXIgYXV0b2xvYWRlcgokbG9hZGVyID0gcmVxdWlyZSBkaXJuYW1lKF9fRElSX18pIC4gJy92ZW5kb3IvYXV0b2xvYWQucGhwJzsKJGxvYWRlci0+YWRkKCdBd3NcXFRlc3QnLCBfX0RJUl9fKTsKCi8vIFJlZ2lzdGVyIHNlcnZpY2VzIHdpdGggdGhlIEd1enpsZVRlc3RDYXNlCkd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZTo6c2V0TW9ja0Jhc2VQYXRoKF9fRElSX18gLiAnL21vY2snKTsKCi8vIEFsbG93IGNvbW1hbmQgbGluZSBvdmVycmlkZXMKaWYgKGdldF9jZmdfdmFyKCdDT05GSUcnKSkgewogICAgJF9TRVJWRVJbJ0NPTkZJRyddID0gZ2V0X2NmZ192YXIoJ0NPTkZJRycpOwp9CgovLyBTZXQgdGhlIHNlcnZpY2UgY29uZmlndXJhdGlvbiBmaWxlIGlmIGl0IHdhcyBub3QgcHJvdmlkZWQgZnJvbSB0aGUgQ0xJCmlmICghaXNzZXQoJF9TRVJWRVJbJ0NPTkZJRyddKSkgewogICAgJHNlcnZpY2VDb25maWcgPSAkX1NFUlZFUlsnQ09ORklHJ10gPSBkaXJuYW1lKF9fRElSX18pIC4gJy90ZXN0X3NlcnZpY2VzLmpzb24nOwogICAgJF9TRVJWRVJbJ0NPTkZJRyddID0gJHNlcnZpY2VDb25maWc7CiAgICBpZiAoIWZpbGVfZXhpc3RzKCRzZXJ2aWNlQ29uZmlnKSkgewogICAgICAgIGRpZSgidGVzdF9zZXJ2aWNlcy5qc29uIGRvZXMgbm90IGV4aXN0LlxuIgogICAgICAgICAgICAuICJQbGVhc2UgcnVuIHBoaW5nIHRlc3QtaW5pdCBvciBjb3B5IHRlc3Rfc2VydmljZXMuanNvbi5kaXN0IHRvIHRlc3Rfc2VydmljZXMuanNvblxuXG4iKTsKICAgIH0KfQoKaWYgKCFpc19yZWFkYWJsZSgkX1NFUlZFUlsnQ09ORklHJ10pKSB7CiAgICBkaWUoIlVuYWJsZSB0byByZWFkIHNlcnZpY2UgY29uZmlndXJhdGlvbiBmcm9tICd7JF9TRVJWRVJbJ0NPTkZJRyddfSdcbiIpOwp9CgovLyBJZiB0aGUgZ2xvYmFsIHByZWZpeCBpcyBob3N0bmFtZSwgdGhlbiB1c2UgdGhlIGNyYzMyKCkgb2YgZ2V0aG9zdG5hbWUoKQppZiAoIWlzc2V0KCRfU0VSVkVSWydQUkVGSVgnXSkgfHwgJF9TRVJWRVJbJ1BSRUZJWCddID09ICdob3N0bmFtZScpIHsKICAgICRfU0VSVkVSWydQUkVGSVgnXSA9IGNyYzMyKGdldGhvc3RuYW1lKCkpOwp9CgovLyBJbnN0YW50aWF0ZSB0aGUgc2VydmljZSBidWlsZGVyCiRhd3MgPSBBd3NcQ29tbW9uXEF3czo6ZmFjdG9yeSgkX1NFUlZFUlsnQ09ORklHJ10pOwoKLy8gVHVybiBvbiB3aXJlIGxvZ2dpbmcgaWYgY29uZmlndXJlZAokYXdzLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ3NlcnZpY2VfYnVpbGRlci5jcmVhdGVfY2xpZW50JywgZnVuY3Rpb24gKFxHdXp6bGVcQ29tbW9uXEV2ZW50ICRldmVudCkgewogICAgaWYgKGlzc2V0KCRfU0VSVkVSWydXSVJFX0xPR0dJTkcnXSkgJiYgJF9TRVJWRVJbJ1dJUkVfTE9HR0lORyddKSB7CiAgICAgICAgJGV2ZW50WydjbGllbnQnXS0+YWRkU3Vic2NyaWJlcihHdXp6bGVcUGx1Z2luXExvZ1xMb2dQbHVnaW46OmdldERlYnVnUGx1Z2luKCkpOwogICAgfQp9KTsKCi8vIENvbmZpZ3VyZSB0aGUgdGVzdHMgdG8gaXNlIHRoZSBpbnN0YW50aWF0ZWQgQVdTIHNlcnZpY2UgYnVpbGRlcgpHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2U6OnNldFNlcnZpY2VCdWlsZGVyKCRhd3MpOwoKLy8gRW1pdCBkZXByZWNhdGlvbiB3YXJuaW5ncwpHdXp6bGVcQ29tbW9uXFZlcnNpb246OiRlbWl0V2FybmluZ3MgPSB0cnVlOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/cloudfront/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/cloudfront/GetDistribution_Deployed</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LXJlcXVlc3QtaWQ6IFhZWgpEYXRlOiBXZWQsIDMwIE5vdiAyMDExIDAzOjM5OjMyIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbAoKPD94bWwgdmVyc2lvbj0iMS4wIj8+CjxEaXN0cmlidXRpb24geG1sbnM9Imh0dHA6Ly9jbG91ZGZyb250LmFtYXpvbmF3cy5jb20vZG9jLzIwMTItMDctMDEvIj4KICAgIDxJZD5FREZEVkJENkVYQU1QTEU8L0lkPgogICAgPFN0YXR1cz5EZXBsb3llZDwvU3RhdHVzPgogICAgPExhc3RNb2RpZmllZFRpbWU+MjAxMi0wNS0xOVQxOTozNzo1OFo8L0xhc3RNb2RpZmllZFRpbWU+CiAgICA8SW5Qcm9ncmVzc0ludmFsaWRhdGlvbkJhdGNoZXM+MTwvSW5Qcm9ncmVzc0ludmFsaWRhdGlvbkJhdGNoZXM+CiAgICA8RG9tYWluTmFtZT5kMTExMTExYWJjZGVmOC5jbG91ZGZyb250Lm5ldDwvRG9tYWluTmFtZT4KICAgIDxBY3RpdmVUcnVzdGVkU2lnbmVycz4KICAgICAgICA8UXVhbnRpdHk+MzwvUXVhbnRpdHk+CiAgICAgICAgPEl0ZW1zPgogICAgICAgICAgICA8U2lnbmVyPgogICAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+c2VsZjwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgICAgIDxLZXlQYWlySWRzPgogICAgICAgICAgICAgICAgICAgIDxRdWFudGl0eT4xPC9RdWFudGl0eT4KICAgICAgICAgICAgICAgICAgICA8SXRlbXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxLZXlQYWlySWQ+QVBLQTlPTlM3UUNPV0VYQU1QTEU8L0tleVBhaXJJZD4KICAgICAgICAgICAgICAgICAgICA8L0l0ZW1zPgogICAgICAgICAgICAgICAgPC9LZXlQYWlySWRzPgogICAgICAgICAgICA8L1NpZ25lcj4KICAgICAgICAgICAgPFNpZ25lcj4KICAgICAgICAgICAgICAgIDxBd3NBY2NvdW50TnVtYmVyPjExMTEyMjIyMzMzMzwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgICAgIDxLZXlQYWlySWRzPgogICAgICAgICAgICAgICAgICAgIDxRdWFudGl0eT4yPC9RdWFudGl0eT4KICAgICAgICAgICAgICAgICAgICA8S2V5UGFpcklkPkFQS0FJNzJUNURZQlhFWEFNUExFPC9LZXlQYWlySWQ+CiAgICAgICAgICAgICAgICAgICAgPEtleVBhaXJJZD5BUEtBVTcyRDhEWU5YRVhBTVBMRTwvS2V5UGFpcklkPgogICAgICAgICAgICAgICAgPC9LZXlQYWlySWRzPgogICAgICAgICAgICA8L1NpZ25lcj4KICAgICAgICAgICAgPFNpZ25lcj4KICAgICAgICAgICAgICAgIDxBd3NBY2NvdW50TnVtYmVyPjQ0NDQ1NTU1NjY2NjwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgICAgIDxLZXlQYWlySWRzPgogICAgICAgICAgICAgICAgICAgIDxRdWFudGl0eT4wPC9RdWFudGl0eT4KICAgICAgICAgICAgICAgIDwvS2V5UGFpcklkcz4KICAgICAgICAgICAgPC9TaWduZXI+CiAgICAgICAgPC9JdGVtcz4KICAgIDwvQWN0aXZlVHJ1c3RlZFNpZ25lcnM+CiAgICA8RGlzdHJpYnV0aW9uQ29uZmlnPgogICAgICAgIDxDYWxsZXJSZWZlcmVuY2U+ZXhhbXBsZS5jb20yMDEyLTA0LTExLTU6MDlwbTwvQ2FsbGVyUmVmZXJlbmNlPgogICAgICAgIDxBbGlhc2VzPgogICAgICAgICAgICA8UXVhbnRpdHk+MTwvUXVhbnRpdHk+CiAgICAgICAgICAgIDxJdGVtcz4KICAgICAgICAgICAgICAgIDxDTkFNRT53d3cuZXhhbXBsZS5jb208L0NOQU1FPgogICAgICAgICAgICA8L0l0ZW1zPgogICAgICAgIDwvQWxpYXNlcz4KICAgICAgICA8RGVmYXVsdFJvb3RPYmplY3Q+aW5kZXguaHRtbDwvRGVmYXVsdFJvb3RPYmplY3Q+CiAgICAgICAgPE9yaWdpbnM+CiAgICAgICAgICAgIDxRdWFudGl0eT4yPC9RdWFudGl0eT4KICAgICAgICAgICAgPEl0ZW1zPgogICAgICAgICAgICAgICAgPE9yaWdpbj4KICAgICAgICAgICAgICAgICAgICA8SWQ+ZXhhbXBsZS1BbWF6b24gUzMtb3JpZ2luPC9JZD4KICAgICAgICAgICAgICAgICAgICA8RG9tYWluTmFtZT5teWF3c2J1Y2tldC5zMy5hbWF6b25hd3MuY29tPC9Eb21haW5OYW1lPgogICAgICAgICAgICAgICAgICAgIDxTM09yaWdpbkNvbmZpZz4KICAgICAgICAgICAgICAgICAgICAgICAgPE9yaWdpbkFjY2Vzc0lkZW50aXR5Pm9yaWdpbi1hY2Nlc3MtaWRlbnRpdHkvY2xvdWRmcm9udC9FNzRGVEUzQUVYQU1QTEU8L09yaWdpbkFjY2Vzc0lkZW50aXR5PgogICAgICAgICAgICAgICAgICAgIDwvUzNPcmlnaW5Db25maWc+CiAgICAgICAgICAgICAgICA8L09yaWdpbj4KICAgICAgICAgICAgICAgIDxPcmlnaW4+CiAgICAgICAgICAgICAgICAgICAgPElkPmV4YW1wbGUtY3VzdG9tLW9yaWdpbjwvSWQ+CiAgICAgICAgICAgICAgICAgICAgPERvbWFpbk5hbWU+ZXhhbXBsZS5jb208L0RvbWFpbk5hbWU+CiAgICAgICAgICAgICAgICAgICAgPEN1c3RvbU9yaWdpbkNvbmZpZz4KICAgICAgICAgICAgICAgICAgICAgICAgPEhUVFBQb3J0PjgwPC9IVFRQUG9ydD4KICAgICAgICAgICAgICAgICAgICAgICAgPEhUVFBTUG9ydD40NDM8L0hUVFBTUG9ydD4KICAgICAgICAgICAgICAgICAgICAgICAgPE9yaWdpblByb3RvY29sUG9saWN5Pm1hdGNoLXZpZXdlcjwvT3JpZ2luUHJvdG9jb2xQb2xpY3k+CiAgICAgICAgICAgICAgICAgICAgPC9DdXN0b21PcmlnaW5Db25maWc+CiAgICAgICAgICAgICAgICA8L09yaWdpbj4KICAgICAgICAgICAgPC9JdGVtcz4KICAgICAgICA8L09yaWdpbnM+CiAgICAgICAgPERlZmF1bHRDYWNoZUJlaGF2aW9yPgogICAgICAgICAgICA8VGFyZ2V0T3JpZ2luSWQ+ZXhhbXBsZS1BbWF6b24gUzMtb3JpZ2luPC9UYXJnZXRPcmlnaW5JZD4KICAgICAgICAgICAgPEZvcndhcmRlZFZhbHVlcz4KICAgICAgICAgICAgICAgIDxRdWVyeVN0cmluZz50cnVlPC9RdWVyeVN0cmluZz4KICAgICAgICAgICAgICAgIDxDb29raWVzPgogICAgICAgICAgICAgICAgICAgIDxGb3J3YXJkPndoaXRlbGlzdDwvRm9yd2FyZD4KICAgICAgICAgICAgICAgICAgICA8V2hpdGVsaXN0ZWROYW1lcz4KICAgICAgICAgICAgICAgICAgICAgICAgPFF1YW50aXR5PjE8L1F1YW50aXR5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TmFtZT5leGFtcGxlLWNvb2tpZTwvTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9JdGVtcz4KICAgICAgICAgICAgICAgICAgICA8L1doaXRlbGlzdGVkTmFtZXM+CiAgICAgICAgICAgICAgICA8L0Nvb2tpZXM+CiAgICAgICAgICAgIDwvRm9yd2FyZGVkVmFsdWVzPgogICAgICAgICAgICA8VHJ1c3RlZFNpZ25lcnM+CiAgICAgICAgICAgICAgICA8RW5hYmxlZD50cnVlPC9FbmFibGVkPgogICAgICAgICAgICAgICAgPFF1YW50aXR5PjM8L1F1YW50aXR5PgogICAgICAgICAgICAgICAgPEl0ZW1zPgogICAgICAgICAgICAgICAgICAgIDxBd3NBY2NvdW50TnVtYmVyPnNlbGY8L0F3c0FjY291bnROdW1iZXI+CiAgICAgICAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+MTExMTIyMjIzMzMzPC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICAgICAgICAgIDxBd3NBY2NvdW50TnVtYmVyPjQ0NDQ1NTU1NjY2NjwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgICAgIDwvSXRlbXM+CiAgICAgICAgICAgIDwvVHJ1c3RlZFNpZ25lcnM+CiAgICAgICAgICAgIDxWaWV3ZXJQcm90b2NvbFBvbGljeT5odHRwcy1vbmx5PC9WaWV3ZXJQcm90b2NvbFBvbGljeT4KICAgICAgICAgICAgPE1pblRUTD4wPC9NaW5UVEw+CiAgICAgICAgPC9EZWZhdWx0Q2FjaGVCZWhhdmlvcj4KICAgICAgICA8Q2FjaGVCZWhhdmlvcnM+CiAgICAgICAgICAgIDxRdWFudGl0eT4xPC9RdWFudGl0eT4KICAgICAgICAgICAgPENhY2hlQmVoYXZpb3I+CiAgICAgICAgICAgICAgICA8UGF0aFBhdHRlcm4+Ki5qcGc8L1BhdGhQYXR0ZXJuPgogICAgICAgICAgICAgICAgPFRhcmdldE9yaWdpbklkPmV4YW1wbGUtY3VzdG9tLW9yaWdpbjwvVGFyZ2V0T3JpZ2luSWQ+CiAgICAgICAgICAgICAgICA8Rm9yd2FyZGVkVmFsdWVzPgogICAgICAgICAgICAgICAgICAgIDxRdWVyeVN0cmluZz5mYWxzZTwvUXVlcnlTdHJpbmc+CiAgICAgICAgICAgICAgICAgICAgPENvb2tpZXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxGb3J3YXJkPmFsbDwvRm9yd2FyZD4KICAgICAgICAgICAgICAgICAgICA8L0Nvb2tpZXM+CiAgICAgICAgICAgICAgICA8L0ZvcndhcmRlZFZhbHVlcz4KICAgICAgICAgICAgICAgIDxUcnVzdGVkU2lnbmVycz4KICAgICAgICAgICAgICAgICAgICA8RW5hYmxlZD50cnVlPC9FbmFibGVkPgogICAgICAgICAgICAgICAgICAgIDxRdWFudGl0eT4yPC9RdWFudGl0eT4KICAgICAgICAgICAgICAgICAgICA8SXRlbXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxBd3NBY2NvdW50TnVtYmVyPnNlbGY8L0F3c0FjY291bnROdW1iZXI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxBd3NBY2NvdW50TnVtYmVyPjExMTEyMjIyMzMzMzwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgICAgICAgICA8L0l0ZW1zPgogICAgICAgICAgICAgICAgPC9UcnVzdGVkU2lnbmVycz4KICAgICAgICAgICAgICAgIDxWaWV3ZXJQcm90b2NvbFBvbGljeT5hbGxvdy1hbGw8L1ZpZXdlclByb3RvY29sUG9saWN5PgogICAgICAgICAgICAgICAgPE1pblRUTD44NjQwMDwvTWluVFRMPgogICAgICAgICAgICA8L0NhY2hlQmVoYXZpb3I+CiAgICAgICAgPC9DYWNoZUJlaGF2aW9ycz4KICAgICAgICA8Q29tbWVudD5leGFtcGxlIGNvbW1lbnQ8L0NvbW1lbnQ+CiAgICAgICAgPExvZ2dpbmc+CiAgICAgICAgICAgIDxFbmFibGVkPnRydWU8L0VuYWJsZWQ+CiAgICAgICAgICAgIDxJbmNsdWRlQ29va2llcz50cnVlPC9JbmNsdWRlQ29va2llcz4KICAgICAgICAgICAgPEJ1Y2tldD5teWF3c2xvZ2J1Y2tldC5zMy5hbWF6b25hd3MuY29tPC9CdWNrZXQ+CiAgICAgICAgICAgIDxQcmVmaXg+ZXhhbXBsZS5jb20uPC9QcmVmaXg+CiAgICAgICAgPC9Mb2dnaW5nPgogICAgICAgIDxQcmljZUNsYXNzPlByaWNlQ2xhc3NfQWxsPC9QcmljZUNsYXNzPgogICAgICAgIDxFbmFibGVkPnRydWU8L0VuYWJsZWQ+CiAgICA8L0Rpc3RyaWJ1dGlvbkNvbmZpZz4KPC9EaXN0cmlidXRpb24+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/cloudfront/GetDistribution_InProgress</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LXJlcXVlc3QtaWQ6IFhZWgpEYXRlOiBXZWQsIDMwIE5vdiAyMDExIDAzOjM5OjMyIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbAoKPD94bWwgdmVyc2lvbj0iMS4wIj8+CjxEaXN0cmlidXRpb24geG1sbnM9Imh0dHA6Ly9jbG91ZGZyb250LmFtYXpvbmF3cy5jb20vZG9jLzIwMTItMDctMDEvIj4KICAgIDxJZD5FREZEVkJENkVYQU1QTEU8L0lkPgogICAgPFN0YXR1cz5JblByb2dyZXNzPC9TdGF0dXM+CiAgICA8TGFzdE1vZGlmaWVkVGltZT4yMDEyLTA1LTE5VDE5OjM3OjU4WjwvTGFzdE1vZGlmaWVkVGltZT4KICAgIDxJblByb2dyZXNzSW52YWxpZGF0aW9uQmF0Y2hlcz4xPC9JblByb2dyZXNzSW52YWxpZGF0aW9uQmF0Y2hlcz4KICAgIDxEb21haW5OYW1lPmQxMTExMTFhYmNkZWY4LmNsb3VkZnJvbnQubmV0PC9Eb21haW5OYW1lPgogICAgPEFjdGl2ZVRydXN0ZWRTaWduZXJzPgogICAgICAgIDxRdWFudGl0eT4zPC9RdWFudGl0eT4KICAgICAgICA8SXRlbXM+CiAgICAgICAgICAgIDxTaWduZXI+CiAgICAgICAgICAgICAgICA8QXdzQWNjb3VudE51bWJlcj5zZWxmPC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICAgICAgPEtleVBhaXJJZHM+CiAgICAgICAgICAgICAgICAgICAgPFF1YW50aXR5PjE8L1F1YW50aXR5PgogICAgICAgICAgICAgICAgICAgIDxJdGVtcz4KICAgICAgICAgICAgICAgICAgICAgICAgPEtleVBhaXJJZD5BUEtBOU9OUzdRQ09XRVhBTVBMRTwvS2V5UGFpcklkPgogICAgICAgICAgICAgICAgICAgIDwvSXRlbXM+CiAgICAgICAgICAgICAgICA8L0tleVBhaXJJZHM+CiAgICAgICAgICAgIDwvU2lnbmVyPgogICAgICAgICAgICA8U2lnbmVyPgogICAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+MTExMTIyMjIzMzMzPC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICAgICAgPEtleVBhaXJJZHM+CiAgICAgICAgICAgICAgICAgICAgPFF1YW50aXR5PjI8L1F1YW50aXR5PgogICAgICAgICAgICAgICAgICAgIDxLZXlQYWlySWQ+QVBLQUk3MlQ1RFlCWEVYQU1QTEU8L0tleVBhaXJJZD4KICAgICAgICAgICAgICAgICAgICA8S2V5UGFpcklkPkFQS0FVNzJEOERZTlhFWEFNUExFPC9LZXlQYWlySWQ+CiAgICAgICAgICAgICAgICA8L0tleVBhaXJJZHM+CiAgICAgICAgICAgIDwvU2lnbmVyPgogICAgICAgICAgICA8U2lnbmVyPgogICAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+NDQ0NDU1NTU2NjY2PC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICAgICAgPEtleVBhaXJJZHM+CiAgICAgICAgICAgICAgICAgICAgPFF1YW50aXR5PjA8L1F1YW50aXR5PgogICAgICAgICAgICAgICAgPC9LZXlQYWlySWRzPgogICAgICAgICAgICA8L1NpZ25lcj4KICAgICAgICA8L0l0ZW1zPgogICAgPC9BY3RpdmVUcnVzdGVkU2lnbmVycz4KICAgIDxEaXN0cmlidXRpb25Db25maWc+CiAgICAgICAgPENhbGxlclJlZmVyZW5jZT5leGFtcGxlLmNvbTIwMTItMDQtMTEtNTowOXBtPC9DYWxsZXJSZWZlcmVuY2U+CiAgICAgICAgPEFsaWFzZXM+CiAgICAgICAgICAgIDxRdWFudGl0eT4xPC9RdWFudGl0eT4KICAgICAgICAgICAgPEl0ZW1zPgogICAgICAgICAgICAgICAgPENOQU1FPnd3dy5leGFtcGxlLmNvbTwvQ05BTUU+CiAgICAgICAgICAgIDwvSXRlbXM+CiAgICAgICAgPC9BbGlhc2VzPgogICAgICAgIDxEZWZhdWx0Um9vdE9iamVjdD5pbmRleC5odG1sPC9EZWZhdWx0Um9vdE9iamVjdD4KICAgICAgICA8T3JpZ2lucz4KICAgICAgICAgICAgPFF1YW50aXR5PjI8L1F1YW50aXR5PgogICAgICAgICAgICA8SXRlbXM+CiAgICAgICAgICAgICAgICA8T3JpZ2luPgogICAgICAgICAgICAgICAgICAgIDxJZD5leGFtcGxlLUFtYXpvbiBTMy1vcmlnaW48L0lkPgogICAgICAgICAgICAgICAgICAgIDxEb21haW5OYW1lPm15YXdzYnVja2V0LnMzLmFtYXpvbmF3cy5jb208L0RvbWFpbk5hbWU+CiAgICAgICAgICAgICAgICAgICAgPFMzT3JpZ2luQ29uZmlnPgogICAgICAgICAgICAgICAgICAgICAgICA8T3JpZ2luQWNjZXNzSWRlbnRpdHk+b3JpZ2luLWFjY2Vzcy1pZGVudGl0eS9jbG91ZGZyb250L0U3NEZURTNBRVhBTVBMRTwvT3JpZ2luQWNjZXNzSWRlbnRpdHk+CiAgICAgICAgICAgICAgICAgICAgPC9TM09yaWdpbkNvbmZpZz4KICAgICAgICAgICAgICAgIDwvT3JpZ2luPgogICAgICAgICAgICAgICAgPE9yaWdpbj4KICAgICAgICAgICAgICAgICAgICA8SWQ+ZXhhbXBsZS1jdXN0b20tb3JpZ2luPC9JZD4KICAgICAgICAgICAgICAgICAgICA8RG9tYWluTmFtZT5leGFtcGxlLmNvbTwvRG9tYWluTmFtZT4KICAgICAgICAgICAgICAgICAgICA8Q3VzdG9tT3JpZ2luQ29uZmlnPgogICAgICAgICAgICAgICAgICAgICAgICA8SFRUUFBvcnQ+ODA8L0hUVFBQb3J0PgogICAgICAgICAgICAgICAgICAgICAgICA8SFRUUFNQb3J0PjQ0MzwvSFRUUFNQb3J0PgogICAgICAgICAgICAgICAgICAgICAgICA8T3JpZ2luUHJvdG9jb2xQb2xpY3k+bWF0Y2gtdmlld2VyPC9PcmlnaW5Qcm90b2NvbFBvbGljeT4KICAgICAgICAgICAgICAgICAgICA8L0N1c3RvbU9yaWdpbkNvbmZpZz4KICAgICAgICAgICAgICAgIDwvT3JpZ2luPgogICAgICAgICAgICA8L0l0ZW1zPgogICAgICAgIDwvT3JpZ2lucz4KICAgICAgICA8RGVmYXVsdENhY2hlQmVoYXZpb3I+CiAgICAgICAgICAgIDxUYXJnZXRPcmlnaW5JZD5leGFtcGxlLUFtYXpvbiBTMy1vcmlnaW48L1RhcmdldE9yaWdpbklkPgogICAgICAgICAgICA8Rm9yd2FyZGVkVmFsdWVzPgogICAgICAgICAgICAgICAgPFF1ZXJ5U3RyaW5nPnRydWU8L1F1ZXJ5U3RyaW5nPgogICAgICAgICAgICAgICAgPENvb2tpZXM+CiAgICAgICAgICAgICAgICAgICAgPEZvcndhcmQ+d2hpdGVsaXN0PC9Gb3J3YXJkPgogICAgICAgICAgICAgICAgICAgIDxXaGl0ZWxpc3RlZE5hbWVzPgogICAgICAgICAgICAgICAgICAgICAgICA8UXVhbnRpdHk+MTwvUXVhbnRpdHk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYW1lPmV4YW1wbGUtY29va2llPC9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICA8L0l0ZW1zPgogICAgICAgICAgICAgICAgICAgIDwvV2hpdGVsaXN0ZWROYW1lcz4KICAgICAgICAgICAgICAgIDwvQ29va2llcz4KICAgICAgICAgICAgPC9Gb3J3YXJkZWRWYWx1ZXM+CiAgICAgICAgICAgIDxUcnVzdGVkU2lnbmVycz4KICAgICAgICAgICAgICAgIDxFbmFibGVkPnRydWU8L0VuYWJsZWQ+CiAgICAgICAgICAgICAgICA8UXVhbnRpdHk+MzwvUXVhbnRpdHk+CiAgICAgICAgICAgICAgICA8SXRlbXM+CiAgICAgICAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+c2VsZjwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgICAgICAgICA8QXdzQWNjb3VudE51bWJlcj4xMTExMjIyMjMzMzM8L0F3c0FjY291bnROdW1iZXI+CiAgICAgICAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+NDQ0NDU1NTU2NjY2PC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICAgICAgPC9JdGVtcz4KICAgICAgICAgICAgPC9UcnVzdGVkU2lnbmVycz4KICAgICAgICAgICAgPFZpZXdlclByb3RvY29sUG9saWN5Pmh0dHBzLW9ubHk8L1ZpZXdlclByb3RvY29sUG9saWN5PgogICAgICAgICAgICA8TWluVFRMPjA8L01pblRUTD4KICAgICAgICA8L0RlZmF1bHRDYWNoZUJlaGF2aW9yPgogICAgICAgIDxDYWNoZUJlaGF2aW9ycz4KICAgICAgICAgICAgPFF1YW50aXR5PjE8L1F1YW50aXR5PgogICAgICAgICAgICA8Q2FjaGVCZWhhdmlvcj4KICAgICAgICAgICAgICAgIDxQYXRoUGF0dGVybj4qLmpwZzwvUGF0aFBhdHRlcm4+CiAgICAgICAgICAgICAgICA8VGFyZ2V0T3JpZ2luSWQ+ZXhhbXBsZS1jdXN0b20tb3JpZ2luPC9UYXJnZXRPcmlnaW5JZD4KICAgICAgICAgICAgICAgIDxGb3J3YXJkZWRWYWx1ZXM+CiAgICAgICAgICAgICAgICAgICAgPFF1ZXJ5U3RyaW5nPmZhbHNlPC9RdWVyeVN0cmluZz4KICAgICAgICAgICAgICAgICAgICA8Q29va2llcz4KICAgICAgICAgICAgICAgICAgICAgICAgPEZvcndhcmQ+YWxsPC9Gb3J3YXJkPgogICAgICAgICAgICAgICAgICAgIDwvQ29va2llcz4KICAgICAgICAgICAgICAgIDwvRm9yd2FyZGVkVmFsdWVzPgogICAgICAgICAgICAgICAgPFRydXN0ZWRTaWduZXJzPgogICAgICAgICAgICAgICAgICAgIDxFbmFibGVkPnRydWU8L0VuYWJsZWQ+CiAgICAgICAgICAgICAgICAgICAgPFF1YW50aXR5PjI8L1F1YW50aXR5PgogICAgICAgICAgICAgICAgICAgIDxJdGVtcz4KICAgICAgICAgICAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+c2VsZjwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+MTExMTIyMjIzMzMzPC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICAgICAgICAgIDwvSXRlbXM+CiAgICAgICAgICAgICAgICA8L1RydXN0ZWRTaWduZXJzPgogICAgICAgICAgICAgICAgPFZpZXdlclByb3RvY29sUG9saWN5PmFsbG93LWFsbDwvVmlld2VyUHJvdG9jb2xQb2xpY3k+CiAgICAgICAgICAgICAgICA8TWluVFRMPjg2NDAwPC9NaW5UVEw+CiAgICAgICAgICAgIDwvQ2FjaGVCZWhhdmlvcj4KICAgICAgICA8L0NhY2hlQmVoYXZpb3JzPgogICAgICAgIDxDb21tZW50PmV4YW1wbGUgY29tbWVudDwvQ29tbWVudD4KICAgICAgICA8TG9nZ2luZz4KICAgICAgICAgICAgPEVuYWJsZWQ+dHJ1ZTwvRW5hYmxlZD4KICAgICAgICAgICAgPEluY2x1ZGVDb29raWVzPnRydWU8L0luY2x1ZGVDb29raWVzPgogICAgICAgICAgICA8QnVja2V0Pm15YXdzbG9nYnVja2V0LnMzLmFtYXpvbmF3cy5jb208L0J1Y2tldD4KICAgICAgICAgICAgPFByZWZpeD5leGFtcGxlLmNvbS48L1ByZWZpeD4KICAgICAgICA8L0xvZ2dpbmc+CiAgICAgICAgPFByaWNlQ2xhc3M+UHJpY2VDbGFzc19BbGw8L1ByaWNlQ2xhc3M+CiAgICAgICAgPEVuYWJsZWQ+dHJ1ZTwvRW5hYmxlZD4KICAgIDwvRGlzdHJpYnV0aW9uQ29uZmlnPgo8L0Rpc3RyaWJ1dGlvbj4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/cloudfront/GetInvalidation_Completed</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCkNvbnRlbnQtVHlwZTogdGV4dC94bWwKCjxJbnZhbGlkYXRpb24geG1sbnM9Imh0dHA6Ly9jbG91ZGZyb250LmFtYXpvbmF3cy5jb20vZG9jLzIwMTItMDctMDEvIj4KICAgPElkPklERkRWQkQ2MzJCSERTNTwvSWQ+CiAgIDxTdGF0dXM+Q29tcGxldGVkPC9TdGF0dXM+CiAgIDxDcmVhdGVUaW1lPjIwMDktMTEtMTlUMTk6Mzc6NThaPC9DcmVhdGVUaW1lPgogICA8SW52YWxpZGF0aW9uQmF0Y2g+CiAgICAgIDxQYXRocz4KICAgICAgICAgPFF1YW50aXR5PjM8L1F1YW50aXR5PgogICAgICAgICA8SXRlbXM+CiAgICAgICAgICAgIDxQYXRoPi9pbWFnZTEuanBnPC9QYXRoPgogICAgICAgICAgICA8UGF0aD4vaW1hZ2UyLmpwZzwvUGF0aD4KICAgICAgICAgICAgPFBhdGg+L3ZpZGVvcy9tb3ZpZS5mbHY8L1BhdGg+CiAgICAgICAgIDwvSXRlbXM+CiAgICAgIDwvUGF0aHM+CiAgICAgIDxDYWxsZXJSZWZlcmVuY2U+MjAxMjAzMDEwOTAwMDE8L0NhbGxlclJlZmVyZW5jZT4KICAgPC9JbnZhbGlkYXRpb25CYXRjaD4KPC9JbnZhbGlkYXRpb24+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/cloudfront/GetInvalidation_InProgress</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCkNvbnRlbnQtVHlwZTogdGV4dC94bWwKCjxJbnZhbGlkYXRpb24geG1sbnM9Imh0dHA6Ly9jbG91ZGZyb250LmFtYXpvbmF3cy5jb20vZG9jLzIwMTItMDctMDEvIj4KICAgPElkPklERkRWQkQ2MzJCSERTNTwvSWQ+CiAgIDxTdGF0dXM+SW5Qcm9ncmVzczwvU3RhdHVzPgogICA8Q3JlYXRlVGltZT4yMDA5LTExLTE5VDE5OjM3OjU4WjwvQ3JlYXRlVGltZT4KICAgPEludmFsaWRhdGlvbkJhdGNoPgogICAgICA8UGF0aHM+CiAgICAgICAgIDxRdWFudGl0eT4zPC9RdWFudGl0eT4KICAgICAgICAgPEl0ZW1zPgogICAgICAgICAgICA8UGF0aD4vaW1hZ2UxLmpwZzwvUGF0aD4KICAgICAgICAgICAgPFBhdGg+L2ltYWdlMi5qcGc8L1BhdGg+CiAgICAgICAgICAgIDxQYXRoPi92aWRlb3MvbW92aWUuZmx2PC9QYXRoPgogICAgICAgICA8L0l0ZW1zPgogICAgICA8L1BhdGhzPgogICAgICA8Q2FsbGVyUmVmZXJlbmNlPjIwMTIwMzAxMDkwMDAxPC9DYWxsZXJSZWZlcmVuY2U+CiAgIDwvSW52YWxpZGF0aW9uQmF0Y2g+CjwvSW52YWxpZGF0aW9uPgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/cloudfront/GetStreamingDistribution_Deployed</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LXJlcXVlc3QtaWQ6IFhZWgpEYXRlOiBXZWQsIDMwIE5vdiAyMDExIDAzOjM5OjMyIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbAoKPD94bWwgdmVyc2lvbj0iMS4wIj8+CjxTdHJlYW1pbmdEaXN0cmlidXRpb24geG1sbnM9Imh0dHA6Ly9jbG91ZGZyb250LmFtYXpvbmF3cy5jb20vZG9jLzIwMTItMDctMDEvIj4KICAgIDxJZD5FR1RYQkQ3OUVYQU1QTEU8L0lkPgogICAgPFN0YXR1cz5EZXBsb3llZDwvU3RhdHVzPgogICAgPExhc3RNb2RpZmllZFRpbWU+MjAxMi0wNS0xOVQxOTozNzo1OFo8L0xhc3RNb2RpZmllZFRpbWU+CiAgICA8RG9tYWluTmFtZT5zNWMzOWdxYjhvdzY0ci5jbG91ZGZyb250Lm5ldDwvRG9tYWluTmFtZT4KICAgIDxBY3RpdmVUcnVzdGVkU2lnbmVycz4KICAgICAgICA8UXVhbnRpdHk+MzwvUXVhbnRpdHk+CiAgICAgICAgPEl0ZW1zPgogICAgICAgICAgICA8U2lnbmVyPgogICAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+c2VsZjwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgICAgIDxLZXlQYWlySWRzPgogICAgICAgICAgICAgICAgICAgIDxRdWFudGl0eT4xPC9RdWFudGl0eT4KICAgICAgICAgICAgICAgICAgICA8SXRlbXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxLZXlQYWlySWQ+QVBLQTlPTlM3UUNPV0VYQU1QTEU8L0tleVBhaXJJZD4KICAgICAgICAgICAgICAgICAgICA8L0l0ZW1zPgogICAgICAgICAgICAgICAgPC9LZXlQYWlySWRzPgogICAgICAgICAgICA8L1NpZ25lcj4KICAgICAgICAgICAgPFNpZ25lcj4KICAgICAgICAgICAgICAgIDxBd3NBY2NvdW50TnVtYmVyPjExMTEyMjIyMzMzMzwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgICAgIDxLZXlQYWlySWRzPgogICAgICAgICAgICAgICAgICAgIDxRdWFudGl0eT4yPC9RdWFudGl0eT4KICAgICAgICAgICAgICAgICAgICA8S2V5UGFpcklkPkFQS0FJNzJUNURZQlhFWEFNUExFPC9LZXlQYWlySWQ+CiAgICAgICAgICAgICAgICAgICAgPEtleVBhaXJJZD5BUEtBVTcyRDhEWU5YRVhBTVBMRTwvS2V5UGFpcklkPgogICAgICAgICAgICAgICAgPC9LZXlQYWlySWRzPgogICAgICAgICAgICA8L1NpZ25lcj4KICAgICAgICAgICAgPFNpZ25lcj4KICAgICAgICAgICAgICAgIDxBd3NBY2NvdW50TnVtYmVyPjQ0NDQ1NTU1NjY2NjwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgICAgIDxLZXlQYWlySWRzPgogICAgICAgICAgICAgICAgICAgIDxRdWFudGl0eT4wPC9RdWFudGl0eT4KICAgICAgICAgICAgICAgIDwvS2V5UGFpcklkcz4KICAgICAgICAgICAgPC9TaWduZXI+CiAgICAgICAgPC9JdGVtcz4KICAgIDwvQWN0aXZlVHJ1c3RlZFNpZ25lcnM+CiAgICA8U3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnPgogICAgICAgIDxDYWxsZXJSZWZlcmVuY2U+MjAxMjAyMjkwOTAwMDA8L0NhbGxlclJlZmVyZW5jZT4KICAgICAgICA8UzNPcmlnaW4+CiAgICAgICAgICAgIDxETlNOYW1lPm15c3RyZWFtaW5nYnVja2V0LnMzLmFtYXpvbmF3cy5jb208L0ROU05hbWU+CiAgICAgICAgICAgIDxPcmlnaW5BY2Nlc3NJZGVudGl0eT5vcmlnaW4tYWNjZXNzLWlkZW50aXR5L2Nsb3VkZnJvbnQvRTc0RlRFM0FFWEFNUExFPC9PcmlnaW5BY2Nlc3NJZGVudGl0eT4KICAgICAgICA8L1MzT3JpZ2luPgogICAgICAgIDxBbGlhc2VzPgogICAgICAgICAgICA8UXVhbnRpdHk+MTwvUXVhbnRpdHk+CiAgICAgICAgICAgIDxJdGVtcz4KICAgICAgICAgICAgICAgIDxDTkFNRT53d3cuZXhhbXBsZS5jb208L0NOQU1FPgogICAgICAgICAgICA8L0l0ZW1zPgogICAgICAgIDwvQWxpYXNlcz4KICAgICAgICA8Q29tbWVudD5leGFtcGxlIGNvbW1lbnQ8L0NvbW1lbnQ+CiAgICAgICAgPExvZ2dpbmc+CiAgICAgICAgICAgIDxFbmFibGVkPnRydWU8L0VuYWJsZWQ+CiAgICAgICAgICAgIDxCdWNrZXQ+bXlhd3Nsb2didWNrZXQuczMuYW1hem9uYXdzLmNvbTwvQnVja2V0PgogICAgICAgICAgICA8UHJlZml4Pm15cHJlZml4LzwvUHJlZml4PgogICAgICAgIDwvTG9nZ2luZz4KICAgICAgICA8VHJ1c3RlZFNpZ25lcnM+CiAgICAgICAgICAgIDxRdWFudGl0eT4zPC9RdWFudGl0eT4KICAgICAgICAgICAgPEl0ZW1zPgogICAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+c2VsZjwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgICAgIDxBd3NBY2NvdW50TnVtYmVyPjExMTEyMjIyMzMzMzwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgICAgIDxBd3NBY2NvdW50TnVtYmVyPjQ0NDQ1NTU1NjY2NjwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgPC9JdGVtcz4KICAgICAgICA8L1RydXN0ZWRTaWduZXJzPgogICAgICAgIDxQcmljZUNsYXNzPlByaWNlQ2xhc3NfQWxsPC9QcmljZUNsYXNzPgogICAgICAgIDxFbmFibGVkPnRydWU8L0VuYWJsZWQ+CiAgICA8L1N0cmVhbWluZ0Rpc3RyaWJ1dGlvbkNvbmZpZz4KPC9TdHJlYW1pbmdEaXN0cmlidXRpb24+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/cloudfront/GetStreamingDistribution_InProgress</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LXJlcXVlc3QtaWQ6IFhZWgpEYXRlOiBXZWQsIDMwIE5vdiAyMDExIDAzOjM5OjMyIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbAoKPD94bWwgdmVyc2lvbj0iMS4wIj8+CjxTdHJlYW1pbmdEaXN0cmlidXRpb24geG1sbnM9Imh0dHA6Ly9jbG91ZGZyb250LmFtYXpvbmF3cy5jb20vZG9jLzIwMTItMDctMDEvIj4KICAgIDxJZD5FR1RYQkQ3OUVYQU1QTEU8L0lkPgogICAgPFN0YXR1cz5JblByb2dyZXNzPC9TdGF0dXM+CiAgICA8TGFzdE1vZGlmaWVkVGltZT4yMDEyLTA1LTE5VDE5OjM3OjU4WjwvTGFzdE1vZGlmaWVkVGltZT4KICAgIDxEb21haW5OYW1lPnM1YzM5Z3FiOG93NjRyLmNsb3VkZnJvbnQubmV0PC9Eb21haW5OYW1lPgogICAgPEFjdGl2ZVRydXN0ZWRTaWduZXJzPgogICAgICAgIDxRdWFudGl0eT4zPC9RdWFudGl0eT4KICAgICAgICA8SXRlbXM+CiAgICAgICAgICAgIDxTaWduZXI+CiAgICAgICAgICAgICAgICA8QXdzQWNjb3VudE51bWJlcj5zZWxmPC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICAgICAgPEtleVBhaXJJZHM+CiAgICAgICAgICAgICAgICAgICAgPFF1YW50aXR5PjE8L1F1YW50aXR5PgogICAgICAgICAgICAgICAgICAgIDxJdGVtcz4KICAgICAgICAgICAgICAgICAgICAgICAgPEtleVBhaXJJZD5BUEtBOU9OUzdRQ09XRVhBTVBMRTwvS2V5UGFpcklkPgogICAgICAgICAgICAgICAgICAgIDwvSXRlbXM+CiAgICAgICAgICAgICAgICA8L0tleVBhaXJJZHM+CiAgICAgICAgICAgIDwvU2lnbmVyPgogICAgICAgICAgICA8U2lnbmVyPgogICAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+MTExMTIyMjIzMzMzPC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICAgICAgPEtleVBhaXJJZHM+CiAgICAgICAgICAgICAgICAgICAgPFF1YW50aXR5PjI8L1F1YW50aXR5PgogICAgICAgICAgICAgICAgICAgIDxLZXlQYWlySWQ+QVBLQUk3MlQ1RFlCWEVYQU1QTEU8L0tleVBhaXJJZD4KICAgICAgICAgICAgICAgICAgICA8S2V5UGFpcklkPkFQS0FVNzJEOERZTlhFWEFNUExFPC9LZXlQYWlySWQ+CiAgICAgICAgICAgICAgICA8L0tleVBhaXJJZHM+CiAgICAgICAgICAgIDwvU2lnbmVyPgogICAgICAgICAgICA8U2lnbmVyPgogICAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+NDQ0NDU1NTU2NjY2PC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICAgICAgPEtleVBhaXJJZHM+CiAgICAgICAgICAgICAgICAgICAgPFF1YW50aXR5PjA8L1F1YW50aXR5PgogICAgICAgICAgICAgICAgPC9LZXlQYWlySWRzPgogICAgICAgICAgICA8L1NpZ25lcj4KICAgICAgICA8L0l0ZW1zPgogICAgPC9BY3RpdmVUcnVzdGVkU2lnbmVycz4KICAgIDxTdHJlYW1pbmdEaXN0cmlidXRpb25Db25maWc+CiAgICAgICAgPENhbGxlclJlZmVyZW5jZT4yMDEyMDIyOTA5MDAwMDwvQ2FsbGVyUmVmZXJlbmNlPgogICAgICAgIDxTM09yaWdpbj4KICAgICAgICAgICAgPEROU05hbWU+bXlzdHJlYW1pbmdidWNrZXQuczMuYW1hem9uYXdzLmNvbTwvRE5TTmFtZT4KICAgICAgICAgICAgPE9yaWdpbkFjY2Vzc0lkZW50aXR5Pm9yaWdpbi1hY2Nlc3MtaWRlbnRpdHkvY2xvdWRmcm9udC9FNzRGVEUzQUVYQU1QTEU8L09yaWdpbkFjY2Vzc0lkZW50aXR5PgogICAgICAgIDwvUzNPcmlnaW4+CiAgICAgICAgPEFsaWFzZXM+CiAgICAgICAgICAgIDxRdWFudGl0eT4xPC9RdWFudGl0eT4KICAgICAgICAgICAgPEl0ZW1zPgogICAgICAgICAgICAgICAgPENOQU1FPnd3dy5leGFtcGxlLmNvbTwvQ05BTUU+CiAgICAgICAgICAgIDwvSXRlbXM+CiAgICAgICAgPC9BbGlhc2VzPgogICAgICAgIDxDb21tZW50PmV4YW1wbGUgY29tbWVudDwvQ29tbWVudD4KICAgICAgICA8TG9nZ2luZz4KICAgICAgICAgICAgPEVuYWJsZWQ+dHJ1ZTwvRW5hYmxlZD4KICAgICAgICAgICAgPEJ1Y2tldD5teWF3c2xvZ2J1Y2tldC5zMy5hbWF6b25hd3MuY29tPC9CdWNrZXQ+CiAgICAgICAgICAgIDxQcmVmaXg+bXlwcmVmaXgvPC9QcmVmaXg+CiAgICAgICAgPC9Mb2dnaW5nPgogICAgICAgIDxUcnVzdGVkU2lnbmVycz4KICAgICAgICAgICAgPFF1YW50aXR5PjM8L1F1YW50aXR5PgogICAgICAgICAgICA8SXRlbXM+CiAgICAgICAgICAgICAgICA8QXdzQWNjb3VudE51bWJlcj5zZWxmPC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+MTExMTIyMjIzMzMzPC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+NDQ0NDU1NTU2NjY2PC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICA8L0l0ZW1zPgogICAgICAgIDwvVHJ1c3RlZFNpZ25lcnM+CiAgICAgICAgPFByaWNlQ2xhc3M+UHJpY2VDbGFzc19BbGw8L1ByaWNlQ2xhc3M+CiAgICAgICAgPEVuYWJsZWQ+dHJ1ZTwvRW5hYmxlZD4KICAgIDwvU3RyZWFtaW5nRGlzdHJpYnV0aW9uQ29uZmlnPgo8L1N0cmVhbWluZ0Rpc3RyaWJ1dGlvbj4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/cloudfront/ListDistributions_page_1</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LXJlcXVlc3QtaWQ6IFhZWgpEYXRlOiBXZWQsIDMwIE5vdiAyMDExIDAzOjM5OjMyIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbAoKPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPERpc3RyaWJ1dGlvbkxpc3QgeG1sbnM9Imh0dHA6Ly9jbG91ZGZyb250LmFtYXpvbmF3cy5jb20vZG9jLzIwMTItMDctMDEvIj4KICA8TWFya2VyLz4KICA8TmV4dE1hcmtlcj5BQkM8L05leHRNYXJrZXI+CiAgPElzVHJ1bmNhdGVkPnRydWU8L0lzVHJ1bmNhdGVkPgogIDxRdWFudGl0eT4zPC9RdWFudGl0eT4KICA8SXRlbXM+CiAgICA8RGlzdHJpYnV0aW9uU3VtbWFyeT4KICAgICAgPElkPkVYQU1QTEUxPC9JZD4KICAgICAgPFN0YXR1cz5EZXBsb3llZDwvU3RhdHVzPgogICAgICA8TGFzdE1vZGlmaWVkVGltZT4yMDEyLTA1LTE5VDE5OjM3OjU4WjwvTGFzdE1vZGlmaWVkVGltZT4KICAgICAgPERvbWFpbk5hbWU+ZDExMTExMWFiY2RlZjguY2xvdWRmcm9udC5uZXQ8L0RvbWFpbk5hbWU+CiAgICAgIDxBbGlhc2VzPgogICAgICAgIDxRdWFudGl0eT4xPC9RdWFudGl0eT4KICAgICAgICA8SXRlbXM+CiAgICAgICAgICA8Q05BTUU+d3d3LmV4YW1wbGUuY29tPC9DTkFNRT4KICAgICAgICA8L0l0ZW1zPgogICAgICA8L0FsaWFzZXM+CiAgICAgIDxPcmlnaW5zPgogICAgICAgIDxRdWFudGl0eT4yPC9RdWFudGl0eT4KICAgICAgICA8SXRlbXM+CiAgICAgICAgICA8T3JpZ2luPgogICAgICAgICAgICA8SWQ+ZXhhbXBsZS1BbWF6b24gUzMtb3JpZ2luPC9JZD4KICAgICAgICAgICAgPERvbWFpbk5hbWU+bXlhd3NidWNrZXQuczMuYW1hem9uYXdzLmNvbTwvRG9tYWluTmFtZT4KICAgICAgICAgICAgPFMzT3JpZ2luQ29uZmlnPgogICAgICAgICAgICAgIDxPcmlnaW5BY2Nlc3NJZGVudGl0eT5vcmlnaW4tYWNjZXNzLWlkZW50aXR5L2Nsb3VkZnJvbnQvRTc0RlRFM0FFWEFNUExFPC9PcmlnaW5BY2Nlc3NJZGVudGl0eT4KICAgICAgICAgICAgPC9TM09yaWdpbkNvbmZpZz4KICAgICAgICAgIDwvT3JpZ2luPgogICAgICAgICAgPE9yaWdpbj4KICAgICAgICAgICAgPElkPmV4YW1wbGUtY3VzdG9tLW9yaWdpbjwvSWQ+CiAgICAgICAgICAgIDxEb21haW5OYW1lPmV4YW1wbGUuY29tPC9Eb21haW5OYW1lPgogICAgICAgICAgICA8Q3VzdG9tT3JpZ2luQ29uZmlnPgogICAgICAgICAgICAgIDxIVFRQUG9ydD44MDwvSFRUUFBvcnQ+CiAgICAgICAgICAgICAgPEhUVFBTUG9ydD40NDM8L0hUVFBTUG9ydD4KICAgICAgICAgICAgICA8T3JpZ2luUHJvdG9jb2xQb2xpY3k+bWF0Y2gtdmlld2VyPC9PcmlnaW5Qcm90b2NvbFBvbGljeT4KICAgICAgICAgICAgPC9DdXN0b21PcmlnaW5Db25maWc+CiAgICAgICAgICA8L09yaWdpbj4KICAgICAgICA8L0l0ZW1zPgogICAgICA8L09yaWdpbnM+CiAgICAgIDxEZWZhdWx0Q2FjaGVCZWhhdmlvcj4KICAgICAgICA8VGFyZ2V0T3JpZ2luSWQ+ZXhhbXBsZS1BbWF6b24gUzMtb3JpZ2luPC9UYXJnZXRPcmlnaW5JZD4KICAgICAgICA8Rm9yd2FyZGVkVmFsdWVzPgogICAgICAgICAgPFF1ZXJ5U3RyaW5nPnRydWU8L1F1ZXJ5U3RyaW5nPgogICAgICAgICAgPENvb2tpZXM+CiAgICAgICAgICAgIDxGb3J3YXJkPndoaXRlbGlzdDwvRm9yd2FyZD4KICAgICAgICAgICAgPFdoaXRlbGlzdGVkTmFtZXM+CiAgICAgICAgICAgICAgPFF1YW50aXR5PjE8L1F1YW50aXR5PgogICAgICAgICAgICAgIDxJdGVtcz4KICAgICAgICAgICAgICAgIDxOYW1lPmV4YW1wbGUtY29va2llPC9OYW1lPgogICAgICAgICAgICAgIDwvSXRlbXM+CiAgICAgICAgICAgIDwvV2hpdGVsaXN0ZWROYW1lcz4KICAgICAgICAgIDwvQ29va2llcz4KICAgICAgICA8L0ZvcndhcmRlZFZhbHVlcz4KICAgICAgICA8VHJ1c3RlZFNpZ25lcnM+CiAgICAgICAgICA8RW5hYmxlZD50cnVlPC9FbmFibGVkPgogICAgICAgICAgPFF1YW50aXR5PjM8L1F1YW50aXR5PgogICAgICAgICAgPEl0ZW1zPgogICAgICAgICAgICA8QXdzQWNjb3VudE51bWJlcj5zZWxmPC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICA8QXdzQWNjb3VudE51bWJlcj4xMTExMjIyMjMzMzM8L0F3c0FjY291bnROdW1iZXI+CiAgICAgICAgICAgIDxBd3NBY2NvdW50TnVtYmVyPjQ0NDQ1NTU1NjY2NjwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgIDwvSXRlbXM+CiAgICAgICAgPC9UcnVzdGVkU2lnbmVycz4KICAgICAgICA8Vmlld2VyUHJvdG9jb2xQb2xpY3k+aHR0cHMtb25seTwvVmlld2VyUHJvdG9jb2xQb2xpY3k+CiAgICAgICAgPE1pblRUTD4wPC9NaW5UVEw+CiAgICAgIDwvRGVmYXVsdENhY2hlQmVoYXZpb3I+CiAgICAgIDxDYWNoZUJlaGF2aW9ycz4KICAgICAgICA8UXVhbnRpdHk+MTwvUXVhbnRpdHk+CiAgICAgICAgPENhY2hlQmVoYXZpb3I+CiAgICAgICAgICA8UGF0aFBhdHRlcm4+Ki5qcGc8L1BhdGhQYXR0ZXJuPgogICAgICAgICAgPFRhcmdldE9yaWdpbklkPmV4YW1wbGUtY3VzdG9tLW9yaWdpbjwvVGFyZ2V0T3JpZ2luSWQ+CiAgICAgICAgICA8Rm9yd2FyZGVkVmFsdWVzPgogICAgICAgICAgICA8UXVlcnlTdHJpbmc+ZmFsc2U8L1F1ZXJ5U3RyaW5nPgogICAgICAgICAgICA8Q29va2llcz4KICAgICAgICAgICAgICA8Rm9yd2FyZD5hbGw8L0ZvcndhcmQ+CiAgICAgICAgICAgIDwvQ29va2llcz4KICAgICAgICAgIDwvRm9yd2FyZGVkVmFsdWVzPgogICAgICAgICAgPFRydXN0ZWRTaWduZXJzPgogICAgICAgICAgICA8RW5hYmxlZD50cnVlPC9FbmFibGVkPgogICAgICAgICAgICA8UXVhbnRpdHk+MjwvUXVhbnRpdHk+CiAgICAgICAgICAgIDxJdGVtcz4KICAgICAgICAgICAgICA8QXdzQWNjb3VudE51bWJlcj5zZWxmPC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICAgIDxBd3NBY2NvdW50TnVtYmVyPjExMTEyMjIyMzMzMzwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgPC9JdGVtcz4KICAgICAgICAgIDwvVHJ1c3RlZFNpZ25lcnM+CiAgICAgICAgICA8Vmlld2VyUHJvdG9jb2xQb2xpY3k+YWxsb3ctYWxsPC9WaWV3ZXJQcm90b2NvbFBvbGljeT4KICAgICAgICAgIDxNaW5UVEw+ODY0MDA8L01pblRUTD4KICAgICAgICA8L0NhY2hlQmVoYXZpb3I+CiAgICAgIDwvQ2FjaGVCZWhhdmlvcnM+CiAgICAgIDxDb21tZW50PmV4YW1wbGUgY29tbWVudDwvQ29tbWVudD4KICAgICAgPFByaWNlQ2xhc3M+UHJpY2VDbGFzc19BbGw8L1ByaWNlQ2xhc3M+CiAgICAgIDxFbmFibGVkPnRydWU8L0VuYWJsZWQ+CiAgICA8L0Rpc3RyaWJ1dGlvblN1bW1hcnk+CiAgPC9JdGVtcz4KPC9EaXN0cmlidXRpb25MaXN0Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/cloudfront/ListDistributions_page_2</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LXJlcXVlc3QtaWQ6IFhZWgpEYXRlOiBXZWQsIDMwIE5vdiAyMDExIDAzOjM5OjMyIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbAoKPD94bWwgdmVyc2lvbj0iMS4wIj8+CjxEaXN0cmlidXRpb25MaXN0IHhtbG5zPSJodHRwOi8vY2xvdWRmcm9udC5hbWF6b25hd3MuY29tL2RvYy8yMDEyLTA3LTAxLyI+CiAgPE1hcmtlcj5BQkM8L01hcmtlcj4KICA8TmV4dE1hcmtlci8+CiAgPElzVHJ1bmNhdGVkPmZhbHNlPC9Jc1RydW5jYXRlZD4KICA8UXVhbnRpdHk+MzwvUXVhbnRpdHk+CiAgPEl0ZW1zPgogICAgPERpc3RyaWJ1dGlvblN1bW1hcnk+CiAgICAgIDxJZD5FWEFNUExFMjwvSWQ+CiAgICAgIDxTdGF0dXM+RGVwbG95ZWQ8L1N0YXR1cz4KICAgICAgPExhc3RNb2RpZmllZFRpbWU+MjAxMi0wNS0xOVQxOTozNzo1OFo8L0xhc3RNb2RpZmllZFRpbWU+CiAgICAgIDxEb21haW5OYW1lPmQxMTExMTFhYmNkZWY4LmNsb3VkZnJvbnQubmV0PC9Eb21haW5OYW1lPgogICAgICA8QWxpYXNlcz4KICAgICAgICA8UXVhbnRpdHk+MTwvUXVhbnRpdHk+CiAgICAgICAgPEl0ZW1zPgogICAgICAgICAgPENOQU1FPnd3dy5leGFtcGxlLmNvbTwvQ05BTUU+CiAgICAgICAgPC9JdGVtcz4KICAgICAgPC9BbGlhc2VzPgogICAgICA8T3JpZ2lucz4KICAgICAgICA8UXVhbnRpdHk+MjwvUXVhbnRpdHk+CiAgICAgICAgPEl0ZW1zPgogICAgICAgICAgPE9yaWdpbj4KICAgICAgICAgICAgPElkPmV4YW1wbGUtQW1hem9uIFMzLW9yaWdpbjwvSWQ+CiAgICAgICAgICAgIDxEb21haW5OYW1lPm15YXdzYnVja2V0LnMzLmFtYXpvbmF3cy5jb208L0RvbWFpbk5hbWU+CiAgICAgICAgICAgIDxTM09yaWdpbkNvbmZpZz4KICAgICAgICAgICAgICA8T3JpZ2luQWNjZXNzSWRlbnRpdHk+b3JpZ2luLWFjY2Vzcy1pZGVudGl0eS9jbG91ZGZyb250L0U3NEZURTNBRVhBTVBMRTwvT3JpZ2luQWNjZXNzSWRlbnRpdHk+CiAgICAgICAgICAgIDwvUzNPcmlnaW5Db25maWc+CiAgICAgICAgICA8L09yaWdpbj4KICAgICAgICAgIDxPcmlnaW4+CiAgICAgICAgICAgIDxJZD5leGFtcGxlLWN1c3RvbS1vcmlnaW48L0lkPgogICAgICAgICAgICA8RG9tYWluTmFtZT5leGFtcGxlLmNvbTwvRG9tYWluTmFtZT4KICAgICAgICAgICAgPEN1c3RvbU9yaWdpbkNvbmZpZz4KICAgICAgICAgICAgICA8SFRUUFBvcnQ+ODA8L0hUVFBQb3J0PgogICAgICAgICAgICAgIDxIVFRQU1BvcnQ+NDQzPC9IVFRQU1BvcnQ+CiAgICAgICAgICAgICAgPE9yaWdpblByb3RvY29sUG9saWN5Pm1hdGNoLXZpZXdlcjwvT3JpZ2luUHJvdG9jb2xQb2xpY3k+CiAgICAgICAgICAgIDwvQ3VzdG9tT3JpZ2luQ29uZmlnPgogICAgICAgICAgPC9PcmlnaW4+CiAgICAgICAgPC9JdGVtcz4KICAgICAgPC9PcmlnaW5zPgogICAgICA8RGVmYXVsdENhY2hlQmVoYXZpb3I+CiAgICAgICAgPFRhcmdldE9yaWdpbklkPmV4YW1wbGUtQW1hem9uIFMzLW9yaWdpbjwvVGFyZ2V0T3JpZ2luSWQ+CiAgICAgICAgPEZvcndhcmRlZFZhbHVlcz4KICAgICAgICAgIDxRdWVyeVN0cmluZz50cnVlPC9RdWVyeVN0cmluZz4KICAgICAgICAgIDxDb29raWVzPgogICAgICAgICAgICA8Rm9yd2FyZD53aGl0ZWxpc3Q8L0ZvcndhcmQ+CiAgICAgICAgICAgIDxXaGl0ZWxpc3RlZE5hbWVzPgogICAgICAgICAgICAgIDxRdWFudGl0eT4xPC9RdWFudGl0eT4KICAgICAgICAgICAgICA8SXRlbXM+CiAgICAgICAgICAgICAgICA8TmFtZT5leGFtcGxlLWNvb2tpZTwvTmFtZT4KICAgICAgICAgICAgICA8L0l0ZW1zPgogICAgICAgICAgICA8L1doaXRlbGlzdGVkTmFtZXM+CiAgICAgICAgICA8L0Nvb2tpZXM+CiAgICAgICAgPC9Gb3J3YXJkZWRWYWx1ZXM+CiAgICAgICAgPFRydXN0ZWRTaWduZXJzPgogICAgICAgICAgPEVuYWJsZWQ+dHJ1ZTwvRW5hYmxlZD4KICAgICAgICAgIDxRdWFudGl0eT4zPC9RdWFudGl0eT4KICAgICAgICAgIDxJdGVtcz4KICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+c2VsZjwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+MTExMTIyMjIzMzMzPC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICA8QXdzQWNjb3VudE51bWJlcj40NDQ0NTU1NTY2NjY8L0F3c0FjY291bnROdW1iZXI+CiAgICAgICAgICA8L0l0ZW1zPgogICAgICAgIDwvVHJ1c3RlZFNpZ25lcnM+CiAgICAgICAgPFZpZXdlclByb3RvY29sUG9saWN5Pmh0dHBzLW9ubHk8L1ZpZXdlclByb3RvY29sUG9saWN5PgogICAgICAgIDxNaW5UVEw+MDwvTWluVFRMPgogICAgICA8L0RlZmF1bHRDYWNoZUJlaGF2aW9yPgogICAgICA8Q2FjaGVCZWhhdmlvcnM+CiAgICAgICAgPFF1YW50aXR5PjE8L1F1YW50aXR5PgogICAgICAgIDxDYWNoZUJlaGF2aW9yPgogICAgICAgICAgPFBhdGhQYXR0ZXJuPiouanBnPC9QYXRoUGF0dGVybj4KICAgICAgICAgIDxUYXJnZXRPcmlnaW5JZD5leGFtcGxlLWN1c3RvbS1vcmlnaW48L1RhcmdldE9yaWdpbklkPgogICAgICAgICAgPEZvcndhcmRlZFZhbHVlcz4KICAgICAgICAgICAgPFF1ZXJ5U3RyaW5nPmZhbHNlPC9RdWVyeVN0cmluZz4KICAgICAgICAgICAgPENvb2tpZXM+CiAgICAgICAgICAgICAgPEZvcndhcmQ+YWxsPC9Gb3J3YXJkPgogICAgICAgICAgICA8L0Nvb2tpZXM+CiAgICAgICAgICA8L0ZvcndhcmRlZFZhbHVlcz4KICAgICAgICAgIDxUcnVzdGVkU2lnbmVycz4KICAgICAgICAgICAgPEVuYWJsZWQ+dHJ1ZTwvRW5hYmxlZD4KICAgICAgICAgICAgPFF1YW50aXR5PjI8L1F1YW50aXR5PgogICAgICAgICAgICA8SXRlbXM+CiAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+c2VsZjwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgICA8QXdzQWNjb3VudE51bWJlcj4xMTExMjIyMjMzMzM8L0F3c0FjY291bnROdW1iZXI+CiAgICAgICAgICAgIDwvSXRlbXM+CiAgICAgICAgICA8L1RydXN0ZWRTaWduZXJzPgogICAgICAgICAgPFZpZXdlclByb3RvY29sUG9saWN5PmFsbG93LWFsbDwvVmlld2VyUHJvdG9jb2xQb2xpY3k+CiAgICAgICAgICA8TWluVFRMPjg2NDAwPC9NaW5UVEw+CiAgICAgICAgPC9DYWNoZUJlaGF2aW9yPgogICAgICA8L0NhY2hlQmVoYXZpb3JzPgogICAgICA8Q29tbWVudD5leGFtcGxlIGNvbW1lbnQ8L0NvbW1lbnQ+CiAgICAgIDxQcmljZUNsYXNzPlByaWNlQ2xhc3NfQWxsPC9QcmljZUNsYXNzPgogICAgICA8RW5hYmxlZD50cnVlPC9FbmFibGVkPgogICAgPC9EaXN0cmlidXRpb25TdW1tYXJ5PgogICAgPERpc3RyaWJ1dGlvblN1bW1hcnk+CiAgICAgIDxJZD5FWEFNUExFMzwvSWQ+CiAgICAgIDxTdGF0dXM+RGVwbG95ZWQ8L1N0YXR1cz4KICAgICAgPExhc3RNb2RpZmllZFRpbWU+MjAxMi0wNS0xOVQxOTozNzo1OFo8L0xhc3RNb2RpZmllZFRpbWU+CiAgICAgIDxEb21haW5OYW1lPmQxMTExMTFhYmNkZWY4LmNsb3VkZnJvbnQubmV0PC9Eb21haW5OYW1lPgogICAgICA8QWxpYXNlcz4KICAgICAgICA8UXVhbnRpdHk+MTwvUXVhbnRpdHk+CiAgICAgICAgPEl0ZW1zPgogICAgICAgICAgPENOQU1FPnd3dy5leGFtcGxlLmNvbTwvQ05BTUU+CiAgICAgICAgPC9JdGVtcz4KICAgICAgPC9BbGlhc2VzPgogICAgICA8T3JpZ2lucz4KICAgICAgICA8UXVhbnRpdHk+MjwvUXVhbnRpdHk+CiAgICAgICAgPEl0ZW1zPgogICAgICAgICAgPE9yaWdpbj4KICAgICAgICAgICAgPElkPmV4YW1wbGUtQW1hem9uIFMzLW9yaWdpbjwvSWQ+CiAgICAgICAgICAgIDxEb21haW5OYW1lPm15YXdzYnVja2V0LnMzLmFtYXpvbmF3cy5jb208L0RvbWFpbk5hbWU+CiAgICAgICAgICAgIDxTM09yaWdpbkNvbmZpZz4KICAgICAgICAgICAgICA8T3JpZ2luQWNjZXNzSWRlbnRpdHk+b3JpZ2luLWFjY2Vzcy1pZGVudGl0eS9jbG91ZGZyb250L0U3NEZURTNBRVhBTVBMRTwvT3JpZ2luQWNjZXNzSWRlbnRpdHk+CiAgICAgICAgICAgIDwvUzNPcmlnaW5Db25maWc+CiAgICAgICAgICA8L09yaWdpbj4KICAgICAgICAgIDxPcmlnaW4+CiAgICAgICAgICAgIDxJZD5leGFtcGxlLWN1c3RvbS1vcmlnaW48L0lkPgogICAgICAgICAgICA8RG9tYWluTmFtZT5leGFtcGxlLmNvbTwvRG9tYWluTmFtZT4KICAgICAgICAgICAgPEN1c3RvbU9yaWdpbkNvbmZpZz4KICAgICAgICAgICAgICA8SFRUUFBvcnQ+ODA8L0hUVFBQb3J0PgogICAgICAgICAgICAgIDxIVFRQU1BvcnQ+NDQzPC9IVFRQU1BvcnQ+CiAgICAgICAgICAgICAgPE9yaWdpblByb3RvY29sUG9saWN5Pm1hdGNoLXZpZXdlcjwvT3JpZ2luUHJvdG9jb2xQb2xpY3k+CiAgICAgICAgICAgIDwvQ3VzdG9tT3JpZ2luQ29uZmlnPgogICAgICAgICAgPC9PcmlnaW4+CiAgICAgICAgPC9JdGVtcz4KICAgICAgPC9PcmlnaW5zPgogICAgICA8RGVmYXVsdENhY2hlQmVoYXZpb3I+CiAgICAgICAgPFRhcmdldE9yaWdpbklkPmV4YW1wbGUtQW1hem9uIFMzLW9yaWdpbjwvVGFyZ2V0T3JpZ2luSWQ+CiAgICAgICAgPEZvcndhcmRlZFZhbHVlcz4KICAgICAgICAgIDxRdWVyeVN0cmluZz50cnVlPC9RdWVyeVN0cmluZz4KICAgICAgICAgIDxDb29raWVzPgogICAgICAgICAgICA8Rm9yd2FyZD53aGl0ZWxpc3Q8L0ZvcndhcmQ+CiAgICAgICAgICAgIDxXaGl0ZWxpc3RlZE5hbWVzPgogICAgICAgICAgICAgIDxRdWFudGl0eT4xPC9RdWFudGl0eT4KICAgICAgICAgICAgICA8SXRlbXM+CiAgICAgICAgICAgICAgICA8TmFtZT5leGFtcGxlLWNvb2tpZTwvTmFtZT4KICAgICAgICAgICAgICA8L0l0ZW1zPgogICAgICAgICAgICA8L1doaXRlbGlzdGVkTmFtZXM+CiAgICAgICAgICA8L0Nvb2tpZXM+CiAgICAgICAgPC9Gb3J3YXJkZWRWYWx1ZXM+CiAgICAgICAgPFRydXN0ZWRTaWduZXJzPgogICAgICAgICAgPEVuYWJsZWQ+dHJ1ZTwvRW5hYmxlZD4KICAgICAgICAgIDxRdWFudGl0eT4zPC9RdWFudGl0eT4KICAgICAgICAgIDxJdGVtcz4KICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+c2VsZjwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+MTExMTIyMjIzMzMzPC9Bd3NBY2NvdW50TnVtYmVyPgogICAgICAgICAgICA8QXdzQWNjb3VudE51bWJlcj40NDQ0NTU1NTY2NjY8L0F3c0FjY291bnROdW1iZXI+CiAgICAgICAgICA8L0l0ZW1zPgogICAgICAgIDwvVHJ1c3RlZFNpZ25lcnM+CiAgICAgICAgPFZpZXdlclByb3RvY29sUG9saWN5Pmh0dHBzLW9ubHk8L1ZpZXdlclByb3RvY29sUG9saWN5PgogICAgICAgIDxNaW5UVEw+MDwvTWluVFRMPgogICAgICA8L0RlZmF1bHRDYWNoZUJlaGF2aW9yPgogICAgICA8Q2FjaGVCZWhhdmlvcnM+CiAgICAgICAgPFF1YW50aXR5PjE8L1F1YW50aXR5PgogICAgICAgIDxDYWNoZUJlaGF2aW9yPgogICAgICAgICAgPFBhdGhQYXR0ZXJuPiouanBnPC9QYXRoUGF0dGVybj4KICAgICAgICAgIDxUYXJnZXRPcmlnaW5JZD5leGFtcGxlLWN1c3RvbS1vcmlnaW48L1RhcmdldE9yaWdpbklkPgogICAgICAgICAgPEZvcndhcmRlZFZhbHVlcz4KICAgICAgICAgICAgPFF1ZXJ5U3RyaW5nPmZhbHNlPC9RdWVyeVN0cmluZz4KICAgICAgICAgICAgPENvb2tpZXM+CiAgICAgICAgICAgICAgPEZvcndhcmQ+YWxsPC9Gb3J3YXJkPgogICAgICAgICAgICA8L0Nvb2tpZXM+CiAgICAgICAgICA8L0ZvcndhcmRlZFZhbHVlcz4KICAgICAgICAgIDxUcnVzdGVkU2lnbmVycz4KICAgICAgICAgICAgPEVuYWJsZWQ+dHJ1ZTwvRW5hYmxlZD4KICAgICAgICAgICAgPFF1YW50aXR5PjI8L1F1YW50aXR5PgogICAgICAgICAgICA8SXRlbXM+CiAgICAgICAgICAgICAgPEF3c0FjY291bnROdW1iZXI+c2VsZjwvQXdzQWNjb3VudE51bWJlcj4KICAgICAgICAgICAgICA8QXdzQWNjb3VudE51bWJlcj4xMTExMjIyMjMzMzM8L0F3c0FjY291bnROdW1iZXI+CiAgICAgICAgICAgIDwvSXRlbXM+CiAgICAgICAgICA8L1RydXN0ZWRTaWduZXJzPgogICAgICAgICAgPFZpZXdlclByb3RvY29sUG9saWN5PmFsbG93LWFsbDwvVmlld2VyUHJvdG9jb2xQb2xpY3k+CiAgICAgICAgICA8TWluVFRMPjg2NDAwPC9NaW5UVEw+CiAgICAgICAgPC9DYWNoZUJlaGF2aW9yPgogICAgICA8L0NhY2hlQmVoYXZpb3JzPgogICAgICA8Q29tbWVudD5leGFtcGxlIGNvbW1lbnQ8L0NvbW1lbnQ+CiAgICAgIDxQcmljZUNsYXNzPlByaWNlQ2xhc3NfQWxsPC9QcmljZUNsYXNzPgogICAgICA8RW5hYmxlZD50cnVlPC9FbmFibGVkPgogICAgPC9EaXN0cmlidXRpb25TdW1tYXJ5PgogIDwvSXRlbXM+CjwvRGlzdHJpYnV0aW9uTGlzdD4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/cloudfront/ListStreamingDistributions_page_1</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LXJlcXVlc3QtaWQ6IFhZWgpEYXRlOiBXZWQsIDMwIE5vdiAyMDExIDAzOjM5OjMyIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbAoKPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbkxpc3QgeG1sbnM9Imh0dHA6Ly9jbG91ZGZyb250LmFtYXpvbmF3cy5jb20vZG9jLzIwMTItMDctMDEvIj4KICAgPE1hcmtlcj5FR1RYQkQ3OUVYQU1QTEU8L01hcmtlcj4KICAgPE5leHRNYXJrZXI+RUQ0TDk4U0JFWEFNUExFPC9OZXh0TWFya2VyPgogICA8TWF4SXRlbXM+MTwvTWF4SXRlbXM+CiAgIDxJc1RydW5jYXRlZD50cnVlPC9Jc1RydW5jYXRlZD4KICAgPFF1YW50aXR5PjM8L1F1YW50aXR5PgogICA8SXRlbXM+CiAgICAgIDxTdHJlYW1pbmdEaXN0cmlidXRpb25TdW1tYXJ5PgogICAgICAgICA8SWQ+RVhBTVBMRTE8L0lkPgogICAgICAgICA8U3RhdHVzPkRlcGxveWVkPC9TdGF0dXM+CiAgICAgICAgIDxMYXN0TW9kaWZpZWRUaW1lPjIwMTItMDUtMTlUMTk6Mzc6NThaPC9MYXN0TW9kaWZpZWRUaW1lPgogICAgICAgICA8RG9tYWluTmFtZT5zNWMzOWdxYjhvdzY0ci5jbG91ZGZyb250Lm5ldDwvRG9tYWluTmFtZT4KICAgICAgICAgPFMzT3JpZ2luPgogICAgICAgICAgICA8RE5TTmFtZT5teXN0cmVhbWluZ2J1Y2tldC5zMy5hbWF6b25hd3MuY29tPC9ETlNOYW1lPgogICAgICAgICA8L1MzT3JpZ2luPgogICAgICAgICA8Q05BTUU+d3d3LmV4YW1wbGUuY29tPC9DTkFNRT4KICAgICAgICAgPENOQU1FPnByb2R1Y3QuZXhhbXBsZS5jb208L0NOQU1FPgogICAgICAgICA8Q29tbWVudD5GaXJzdCBkaXN0cmlidXRpb248L0NvbW1lbnQ+CiAgICAgICAgIDxQcmljZUNsYXNzPlByaWNlQ2xhc3NfQWxsPC9QcmljZUNsYXNzPgogICAgICAgICA8RW5hYmxlZD50cnVlPC9FbmFibGVkPgogICAgICA8L1N0cmVhbWluZ0Rpc3RyaWJ1dGlvblN1bW1hcnk+CiAgIDwvSXRlbXM+CjwvU3RyZWFtaW5nRGlzdHJpYnV0aW9uTGlzdD4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/cloudfront/ListStreamingDistributions_page_2</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LXJlcXVlc3QtaWQ6IFhZWgpEYXRlOiBXZWQsIDMwIE5vdiAyMDExIDAzOjM5OjMyIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbAoKPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPFN0cmVhbWluZ0Rpc3RyaWJ1dGlvbkxpc3QgeG1sbnM9Imh0dHA6Ly9jbG91ZGZyb250LmFtYXpvbmF3cy5jb20vZG9jLzIwMTItMDctMDEvIj4KICAgPE1hcmtlcj5FR1RYQkQ3OUVYQU1QTEU8L01hcmtlcj4KICAgPE5leHRNYXJrZXI+RUQ0TDk4U0JFWEFNUExFPC9OZXh0TWFya2VyPgogICA8TWF4SXRlbXM+MzwvTWF4SXRlbXM+CiAgIDxJc1RydW5jYXRlZD5mYWxzZTwvSXNUcnVuY2F0ZWQ+CiAgIDxRdWFudGl0eT4zPC9RdWFudGl0eT4KICAgPEl0ZW1zPgogICAgICA8U3RyZWFtaW5nRGlzdHJpYnV0aW9uU3VtbWFyeT4KICAgICAgICAgPElkPkVYQU1QTEUyPC9JZD4KICAgICAgICAgPFN0YXR1cz5EZXBsb3llZDwvU3RhdHVzPgogICAgICAgICA8TGFzdE1vZGlmaWVkVGltZT4yMDEyLTA1LTE5VDE5OjM3OjU4WjwvTGFzdE1vZGlmaWVkVGltZT4KICAgICAgICAgPERvbWFpbk5hbWU+czVjMzlncWI4b3c2NHIuY2xvdWRmcm9udC5uZXQ8L0RvbWFpbk5hbWU+CiAgICAgICAgIDxTM09yaWdpbj4KICAgICAgICAgICAgPEROU05hbWU+bXlzdHJlYW1pbmdidWNrZXQuczMuYW1hem9uYXdzLmNvbTwvRE5TTmFtZT4KICAgICAgICAgPC9TM09yaWdpbj4KICAgICAgICAgPENOQU1FPnd3dy5leGFtcGxlLmNvbTwvQ05BTUU+CiAgICAgICAgIDxDTkFNRT5wcm9kdWN0LmV4YW1wbGUuY29tPC9DTkFNRT4KICAgICAgICAgPENvbW1lbnQ+Rmlyc3QgZGlzdHJpYnV0aW9uPC9Db21tZW50PgogICAgICAgICA8UHJpY2VDbGFzcz5QcmljZUNsYXNzX0FsbDwvUHJpY2VDbGFzcz4KICAgICAgICAgPEVuYWJsZWQ+dHJ1ZTwvRW5hYmxlZD4KICAgICAgPC9TdHJlYW1pbmdEaXN0cmlidXRpb25TdW1tYXJ5PgogICAgICA8U3RyZWFtaW5nRGlzdHJpYnV0aW9uU3VtbWFyeT4KICAgICAgICA8SWQ+RVhBTVBMRTM8L0lkPgogICAgICAgIDxTdGF0dXM+RGVwbG95ZWQ8L1N0YXR1cz4KICAgICAgICA8TGFzdE1vZGlmaWVkVGltZT4yMDEyLTA1LTE5VDE5OjM3OjU4WjwvTGFzdE1vZGlmaWVkVGltZT4KICAgICAgICA8RG9tYWluTmFtZT5zNWMzOWdxYjhvdzY0ci5jbG91ZGZyb250Lm5ldDwvRG9tYWluTmFtZT4KICAgICAgICA8UzNPcmlnaW4+CiAgICAgICAgICA8RE5TTmFtZT5teXN0cmVhbWluZ2J1Y2tldC5zMy5hbWF6b25hd3MuY29tPC9ETlNOYW1lPgogICAgICAgIDwvUzNPcmlnaW4+CiAgICAgICAgPENOQU1FPnd3dy5leGFtcGxlLmNvbTwvQ05BTUU+CiAgICAgICAgPENOQU1FPnByb2R1Y3QuZXhhbXBsZS5jb208L0NOQU1FPgogICAgICAgIDxDb21tZW50PkZpcnN0IGRpc3RyaWJ1dGlvbjwvQ29tbWVudD4KICAgICAgICA8UHJpY2VDbGFzcz5QcmljZUNsYXNzX0FsbDwvUHJpY2VDbGFzcz4KICAgICAgICA8RW5hYmxlZD50cnVlPC9FbmFibGVkPgogICAgICA8L1N0cmVhbWluZ0Rpc3RyaWJ1dGlvblN1bW1hcnk+CiAgIDwvSXRlbXM+CjwvU3RyZWFtaW5nRGlzdHJpYnV0aW9uTGlzdD4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/dynamodb/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/dynamodb/batch_get_item_empty_has_more</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IEdUUFFWUk00VkpTNzkySjFVRkpUS1VCVlY0S1FOU081QUVNVkpGNjZROUFTVUFBSkcKY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMApEYXRlOiBGcmksIDAyIFNlcCAyMDExIDIzOjA3OjM5IEdNVAoKewogICAgIlVucHJvY2Vzc2VkS2V5cyI6IHsKICAgICAgICAiVGFibGUzIjogewogICAgICAgICAgICAiS2V5cyI6IFsKICAgICAgICAgICAgICAgIHsiQXR0cmlidXRlTmFtZTEiOiB7IlMiOiJLZXlWYWx1ZTEifSwgIkF0dHJpYnV0ZU5hbWUyIjp7Ik4iOiIyIn19LAogICAgICAgICAgICAgICAgeyJBdHRyaWJ1dGVOYW1lMSI6IHsiUyI6IktleVZhbHVlMyJ9LCAiQXR0cmlidXRlTmFtZTIiOnsiTiI6IjQifX0sCiAgICAgICAgICAgICAgICB7IkF0dHJpYnV0ZU5hbWUxIjogeyJTIjoiS2V5VmFsdWU1In0sICJBdHRyaWJ1dGVOYW1lMiI6eyJOIjoiNiJ9fQogICAgICAgICAgICBdLAogICAgICAgICAgICAiQXR0cmlidXRlc1RvR2V0IjpbIkF0dHJpYnV0ZU5hbWUxIiwgIkF0dHJpYnV0ZU5hbWUyIiwgIkF0dHJpYnV0ZU5hbWUzIl0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/dynamodb/batch_get_item_final</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IEdUUFFWUk00VkpTNzkySjFVRkpUS1VCVlY0S1FOU081QUVNVkpGNjZROUFTVUFBSkcKY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMApEYXRlOiBGcmksIDAyIFNlcCAyMDExIDIzOjA3OjM5IEdNVAoKeyJSZXNwb25zZXMiOgogICAgeyJUYWJsZTEiOgogICAgICAgIHsiSXRlbXMiOgogICAgICAgICAgICBbeyJzdGF0dXMiOnsiUyI6Im9ubGluZSJ9LCJ1c2VyIjp7IlMiOiJDYXNleSJ9fSwKICAgICAgICAgICAgeyJzdGF0dXMiOnsiUyI6IndvcmtpbmcifSwidXNlciI6eyJTIjoiUmlsZXkifX0sCiAgICAgICAgICAgIHsic3RhdHVzIjp7IlMiOiJydW5uaW5nIn0sInVzZXIiOnsiUyI6IkRhdmUifX1dLAogICAgICAgICJDb25zdW1lZENhcGFjaXR5VW5pdHMiOjEuNX0sCiAgICAiVGFibGUyIjoKICAgICAgICB7Ikl0ZW1zIjoKICAgICAgICAgICAgW3siZnJpZW5kcyI6eyJTUyI6WyJFbGlzYWJldGgiLCAiUGV0ZXIiXX0sInVzZXIiOnsiUyI6Ik1pbmd1cyJ9fSwKICAgICAgICAgICAgeyJmcmllbmRzIjp7IlNTIjpbIkRhdmUiLCAiUGV0ZXIiXX0sInVzZXIiOnsiUyI6Ikp1bGllIn19XSwKICAgICAgICAiQ29uc3VtZWRDYXBhY2l0eVVuaXRzIjoxfQogICAgfSwKICAgICJVbnByb2Nlc3NlZEtleXMiOnt9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/dynamodb/batch_get_item_has_more</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IDg5NjZkMDk1LTcxZTktMTFlMC1hNDk4LTcxZDczNmYyNzM3NQpjb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wCgp7IlJlc3BvbnNlcyI6CiAgICB7IlRhYmxlMSI6CiAgICAgICAgeyJJdGVtcyI6CiAgICAgICAgW3siQXR0cmlidXRlTmFtZTEiOiB7IlMiOiJBdHRyaWJ1dGVWYWx1ZSJ9LAogICAgICAgICJBdHRyaWJ1dGVOYW1lMiI6IHsiTiI6IjExIn0sCiAgICAgICAgIkF0dHJpYnV0ZU5hbWUzIjogeyJTUyI6WyJBdHRyaWJ1dGVWYWx1ZSIsICJBdHRyaWJ1dGVWYWx1ZSIsICJBdHRyaWJ1dGVWYWx1ZSJdfQogICAgICAgIH0sCiAgICAgICAgeyJBdHRyaWJ1dGVOYW1lMSI6IHsiUyI6ICJBdHRyaWJ1dGVWYWx1ZSJ9LAogICAgICAgICJBdHRyaWJ1dGVOYW1lMiI6IHsiUyI6ICJBdHRyaWJ1dGVWYWx1ZSJ9LAogICAgICAgICJBdHRyaWJ1dGVOYW1lMyI6IHsiTlMiOiBbIjExIiwgIjEyIiwgIjEzIl19CiAgICAgICAgfV0sCiAgICAiQ29uc3VtZWRDYXBhY2l0eVVuaXRzIjoxfSwKICAgICJUYWJsZTIiOgogICAgICAgIHsiSXRlbXMiOgogICAgICAgIFt7IkF0dHJpYnV0ZU5hbWUxIjogeyJTIjoiQXR0cmlidXRlVmFsdWUifSwKICAgICAgICAiQXR0cmlidXRlTmFtZTIiOiB7Ik4iOiIyMSJ9LAogICAgICAgICJBdHRyaWJ1dGVOYW1lMyI6IHsiU1MiOlsiQXR0cmlidXRlVmFsdWUiLCAiQXR0cmlidXRlVmFsdWUiLCAiQXR0cmlidXRlVmFsdWUiXX0KICAgICAgICB9LAogICAgICAgIHsiQXR0cmlidXRlTmFtZTEiOiB7IlMiOiAiQXR0cmlidXRlVmFsdWUifSwKICAgICAgICAiQXR0cmlidXRlTmFtZTIiOiB7IlMiOiAiQXR0cmlidXRlVmFsdWUifSwKICAgICAgICAiQXR0cmlidXRlTmFtZTMiOiB7Ik5TIjogWyIyMSIsICIyMiIsIjIzIl19CiAgICAgICAgfV0sCiAgICAiQ29uc3VtZWRDYXBhY2l0eVVuaXRzIjoxfQogICAgfSwKICAgICJVbnByb2Nlc3NlZEtleXMiOgogICAgICAgIHsiVGFibGUzIjoKICAgICAgICB7IktleXMiOgogICAgICAgICAgICBbeyJBdHRyaWJ1dGVOYW1lMSI6IHsiUyI6IktleVZhbHVlMSJ9LCAiQXR0cmlidXRlTmFtZTIiOnsiTiI6IjIifX0sCiAgICAgICAgICAgIHsiQXR0cmlidXRlTmFtZTEiOiB7IlMiOiJLZXlWYWx1ZTMifSwgIkF0dHJpYnV0ZU5hbWUyIjp7Ik4iOiI0In19LAogICAgICAgICAgICB7IkF0dHJpYnV0ZU5hbWUxIjogeyJTIjoiS2V5VmFsdWU1In0sICJBdHRyaWJ1dGVOYW1lMiI6eyJOIjoiNiJ9fV0sCiAgICAgICAgIkF0dHJpYnV0ZXNUb0dldCI6WyJBdHRyaWJ1dGVOYW1lMSIsICJBdHRyaWJ1dGVOYW1lMiIsICJBdHRyaWJ1dGVOYW1lMyJdfQogICAgICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/dynamodb/describe_table</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IFRNOFRGSUhNMlJHUlRKR0tUS1JRMEpKTDFGT09LUU5TTzVBRU1WSkZCQVo5QVNVQUJBUgpDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wCkRhdGU6IFR1ZSwgMjkgTWF5IDIwMTIgMDI6NTY6NDkgR01UCgp7CiAgICAiVGFibGUiOiB7CiAgICAgICAgIkNyZWF0aW9uRGF0ZVRpbWUiOiAxLjMyODU2NzU2OTM4MUU5LAogICAgICAgICJJdGVtQ291bnQiOiAyMiwKICAgICAgICAiS2V5U2NoZW1hIjogewogICAgICAgICAgICAiYmFyIjogewogICAgICAgICAgICAgICAgIkF0dHJpYnV0ZU5hbWUiOiAiaWQiLAogICAgICAgICAgICAgICAgIkF0dHJpYnV0ZVR5cGUiOiAiUyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImJheiI6IHsKICAgICAgICAgICAgICAgICJBdHRyaWJ1dGVOYW1lIjogImlkIiwKICAgICAgICAgICAgICAgICJBdHRyaWJ1dGVUeXBlIjogIlMiCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJQcm92aXNpb25lZFRocm91Z2hwdXQiOiB7CiAgICAgICAgICAgICJSZWFkQ2FwYWNpdHlVbml0cyI6IDEwLAogICAgICAgICAgICAiV3JpdGVDYXBhY2l0eVVuaXRzIjogNQogICAgICAgIH0sCiAgICAgICAgIlRhYmxlTmFtZSI6ICJmb28iLAogICAgICAgICJUYWJsZVNpemVCeXRlcyI6IDQxNCwKICAgICAgICAiVGFibGVTdGF0dXMiOiAiQUNUSVZFIgogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/dynamodb/describe_table_not_found</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgNDAwIEJhZCBSZXF1ZXN0CngtYW16bi1SZXF1ZXN0SWQ6IFRNOFRGSUhNMlJHUlRKR0tUS1JRMEpKTDFGT09LUU5TTzVBRU1WSkZCQVo5QVNVQUJBUgpDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wCkRhdGU6IFR1ZSwgMjkgTWF5IDIwMTIgMDI6NTY6NDkgR01UCgp7CiAgICAiX190eXBlIjogImNvbS5hbWF6b25hd3MuZHluYW1vZGIudjIwMTExMjA1I1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24iLAogICAgIm1lc3NhZ2UiOiAiUmVxdWVzdGVkIHJlc291cmNlIG5vdCBmb3VuZDogVGFibGU6IGZvb2JhemJhciBub3QgZm91bmQiCn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/dynamodb/get_item</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IFRNOFRGSUhNMlJHUlRKR0tUS1JRMEpKTDFGT09LUU5TTzVBRU1WSkZCQVo5QVNVQUJBUgpDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wCkRhdGU6IFR1ZSwgMjkgTWF5IDIwMTIgMDI6NTY6NDkgR01UCgp7CiAgICAiSXRlbSI6IHsKICAgICAgICAiZnJpZW5kcyI6IHsKICAgICAgICAgICAgIlNTIjogWyJMeW5kYSwgQWFyb24iXQogICAgICAgIH0sCgkgICAgInN0YXR1cyI6IHsKCSAgICAgICAgIlMiOiJvbmxpbmUiCgkgICAgfQoJfSwKICAgICJDb25zdW1lZENhcGFjaXR5VW5pdHMiOiAxCn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/dynamodb/list_tables_final</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IFMxTEVLMkRQUVA4T0pOSFZITDhPVTJNN0tSVlY0S1FOU081QUVNVkpGNjZROUFTVUFBSkcKY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMApEYXRlOiBGcmksIDIxIE9jdCAyMDExIDIwOjM1OjM4IEdNVAoKeyJUYWJsZU5hbWVzIjpbIlRhYmxlNCIsIlRhYmxlNSJdfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/dynamodb/list_tables_has_more</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IFMxTEVLMkRQUVA4T0pOSFZITDhPVTJNN0tSVlY0S1FOU081QUVNVkpGNjZROUFTVUFBSkcKY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LWFtei1qc29uLTEuMApEYXRlOiBGcmksIDIxIE9jdCAyMDExIDIwOjM1OjM4IEdNVAoKeyJUYWJsZU5hbWVzIjpbIlRhYmxlMSIsIlRhYmxlMiIsIlRhYmxlMyJdLCAiTGFzdEV2YWx1YXRlZFRhYmxlTmFtZSI6IlRhYmxlMyJ9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/dynamodb/query_final</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IDg5NjZkMDk1LTcxZTktMTFlMC1hNDk4LTcxZDczNmYyNzM3NQpjb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wCgp7CiAgICAiQ291bnQiOiAxLAogICAgIkl0ZW1zIjogW3sKICAgICAgICAiVGVzdCI6IHsgIlMiOiAiQWJjIiB9LAogICAgICAgICJUZXN0MiI6IHsgIk4iOiAiMTIzIiB9CiAgICB9XSwKICAgICJDb25zdW1lZENhcGFjaXR5VW5pdHMiOiAxCn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/dynamodb/query_has_more</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IDg5NjZkMDk1LTcxZTktMTFlMC1hNDk4LTcxZDczNmYyNzM3NQpjb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wCgp7CiAgICAiQ291bnQiOiAyLAogICAgIkl0ZW1zIjogW3sKICAgICAgICAiQXR0cmlidXRlTmFtZTEiOiB7CiAgICAgICAgICAgICJTIjogIkF0dHJpYnV0ZVZhbHVlMSIKICAgICAgICB9LAogICAgICAgICJBdHRyaWJ1dGVOYW1lMiI6IHsKICAgICAgICAgICAgIk4iOiAiQXR0cmlidXRlVmFsdWUyIgogICAgICAgIH0sCiAgICAgICAgIkF0dHJpYnV0ZU5hbWUzIjogewogICAgICAgICAgICAiUyI6ICJBdHRyaWJ1dGVWYWx1ZTMiCiAgICAgICAgfQogICAgfSwgewogICAgICAgICJBdHRyaWJ1dGVOYW1lMSI6IHsKICAgICAgICAgICAgIlMiOiAiQXR0cmlidXRlVmFsdWUzIgogICAgICAgIH0sCiAgICAgICAgIkF0dHJpYnV0ZU5hbWUyIjogewogICAgICAgICAgICAiTiI6ICJBdHRyaWJ1dGVWYWx1ZTQiCiAgICAgICAgfSwKICAgICAgICAiQXR0cmlidXRlTmFtZTMiOiB7CiAgICAgICAgICAgICJTIjogIkF0dHJpYnV0ZVZhbHVlMyIKICAgICAgICB9CiAgICB9XSwKICAgICJMYXN0RXZhbHVhdGVkS2V5IjogewogICAgICAgICJBdHRyaWJ1dGVOYW1lMSI6IHsKICAgICAgICAgICAgIkF0dHJpYnV0ZVZhbHVlMyI6ICJTIgogICAgICAgIH0sCiAgICAgICAgIkF0dHJpYnV0ZU5hbWUyIjogewogICAgICAgICAgICAiQXR0cmlidXRlVmFsdWU0IjogIk4iCiAgICAgICAgfQogICAgfSwKICAgICJDb25zdW1lZENhcGFjaXR5VW5pdHMiOiAxCn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/dynamodb/scan_empty_has_more</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IDg5NjZkMDk1LTcxZTktMTFlMC1hNDk4LTcxZDczNmYyNzM3NQpjb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wCgp7CiAgICAiQ291bnQiOiAwLAogICAgIkl0ZW1zIjogW10sCiAgICAiTGFzdEV2YWx1YXRlZEtleSI6IHsKICAgICAgICAiQXR0cmlidXRlTmFtZTEiOiB7CiAgICAgICAgICAgICJTIjogIkF0dHJpYnV0ZU5hbWUxIgogICAgICAgIH0sCiAgICAgICAgIkF0dHJpYnV0ZU5hbWUyIjogewogICAgICAgICAgICAiTiI6ICIyIgogICAgICAgIH0KICAgIH0sCiAgICAiQ29uc3VtZWRDYXBhY2l0eVVuaXRzIjogMSwKICAgICJTY2FubmVkQ291bnQiOiAyMDAKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/dynamodb/scan_final</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IDg5NjZkMDk1LTcxZTktMTFlMC1hNDk4LTcxZDczNmYyNzM3NQpjb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wCgp7CiAgICAiQ291bnQiOiAxLAogICAgIkl0ZW1zIjogW3sKICAgICAgICAiQXR0cmlidXRlTmFtZTEiOiB7CiAgICAgICAgICAgICJTIjogIkhpIgogICAgICAgIH0sCiAgICAgICAgIkF0dHJpYnV0ZU5hbWUyIjogewogICAgICAgICAgICAiUyI6ICJUaGVyZSIKICAgICAgICB9LAogICAgICAgICJBdHRyaWJ1dGVOYW1lMyI6IHsKICAgICAgICAgICAgIlMiOiAiVGVzdCEiCiAgICAgICAgfQogICAgfV0sCiAgICAiQ29uc3VtZWRDYXBhY2l0eVVuaXRzIjogMSwKICAgICJTY2FubmVkQ291bnQiOiA1Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/dynamodb/scan_has_more</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IDg5NjZkMDk1LTcxZTktMTFlMC1hNDk4LTcxZDczNmYyNzM3NQpjb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4wCgp7CiAgICAiQ291bnQiOiAyLAogICAgIkl0ZW1zIjogW3sKICAgICAgICAiQXR0cmlidXRlTmFtZTEiOiB7CiAgICAgICAgICAgICJTIjogIkF0dHJpYnV0ZVZhbHVlMSIKICAgICAgICB9LAogICAgICAgICJBdHRyaWJ1dGVOYW1lMiI6IHsKICAgICAgICAgICAgIlMiOiAiQXR0cmlidXRlVmFsdWUyIgogICAgICAgIH0sCiAgICAgICAgIkF0dHJpYnV0ZU5hbWUzIjogewogICAgICAgICAgICAiUyI6ICJBdHRyaWJ1dGVWYWx1ZTMiCiAgICAgICAgfQogICAgfSwgewogICAgICAgICJBdHRyaWJ1dGVOYW1lMSI6IHsKICAgICAgICAgICAgIlMiOiAiQXR0cmlidXRlVmFsdWU0IgogICAgICAgIH0sCiAgICAgICAgIkF0dHJpYnV0ZU5hbWUyIjogewogICAgICAgICAgICAiUyI6ICJBdHRyaWJ1dGVWYWx1ZTUiCiAgICAgICAgfSwKICAgICAgICAiQXR0cmlidXRlTmFtZTMiOiB7CiAgICAgICAgICAgICJTIjogIkF0dHJpYnV0ZVZhbHVlNiIKICAgICAgICB9CiAgICB9XSwKICAgICJMYXN0RXZhbHVhdGVkS2V5IjogewogICAgICAgICJBdHRyaWJ1dGVOYW1lMSI6IHsKICAgICAgICAgICAgIlMiOiAiQXR0cmlidXRlTmFtZTEiCiAgICAgICAgfSwKICAgICAgICAiQXR0cmlidXRlTmFtZTIiOiB7CiAgICAgICAgICAgICJOIjogIjIiCiAgICAgICAgfQogICAgfSwKICAgICJDb25zdW1lZENhcGFjaXR5VW5pdHMiOiAxLAogICAgIlNjYW5uZWRDb3VudCI6IDIKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/ec2/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/ec2/describe_instances_no_reservations</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCkNvbnRlbnQtVHlwZTogdGV4dC94bWw7Y2hhcnNldD1VVEYtOApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApEYXRlOiBXZWQsIDE5IERlYyAyMDEyIDE5OjQyOjEwIEdNVApTZXJ2ZXI6IEFtYXpvbkVDMgoKPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPERlc2NyaWJlSW5zdGFuY2VzUmVzcG9uc2UgeG1sbnM9Imh0dHA6Ly9lYzIuYW1hem9uYXdzLmNvbS9kb2MvMjAxMi0xMC0wMS8iPgogICAgPHJlcXVlc3RJZD5lZm9vYTVjMi0xOTYwLTRjODYtOTJhZS1mNWV4YW1wbGUyZGM8L3JlcXVlc3RJZD4KICAgIDxyZXNlcnZhdGlvblNldC8+CjwvRGVzY3JpYmVJbnN0YW5jZXNSZXNwb25zZT4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/ec2/describe_instances_two_instances_different_state</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCkNvbnRlbnQtVHlwZTogdGV4dC94bWw7Y2hhcnNldD1VVEYtOApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApEYXRlOiBXZWQsIDE5IERlYyAyMDEyIDE5OjQyOjEwIEdNVApTZXJ2ZXI6IEFtYXpvbkVDMgoKPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPERlc2NyaWJlSW5zdGFuY2VzUmVzcG9uc2UgeG1sbnM9Imh0dHA6Ly9lYzIuYW1hem9uYXdzLmNvbS9kb2MvMjAxMi0xMC0wMS8iPgogICAgPHJlcXVlc3RJZD5lZm9vYTVjMi0xOTYwLTRjODYtOTJhZS1mNWV4YW1wbGUyZGM8L3JlcXVlc3RJZD4KICAgIDxyZXNlcnZhdGlvblNldD4KICAgICAgICA8aXRlbT4KICAgICAgICAgICAgPGluc3RhbmNlc1NldD4KICAgICAgICAgICAgICAgIDxpdGVtPgogICAgICAgICAgICAgICAgICAgIDxpbnN0YW5jZUlkPmkteHh4eHh4eDE8L2luc3RhbmNlSWQ+CiAgICAgICAgICAgICAgICAgICAgPGluc3RhbmNlU3RhdGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlPjA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnBlbmRpbmc8L25hbWU+CiAgICAgICAgICAgICAgICAgICAgPC9pbnN0YW5jZVN0YXRlPgogICAgICAgICAgICAgICAgPC9pdGVtPgogICAgICAgICAgICAgICAgPGl0ZW0+CiAgICAgICAgICAgICAgICAgICAgPGluc3RhbmNlSWQ+aS14eHh4eHh4MjwvaW5zdGFuY2VJZD4KICAgICAgICAgICAgICAgICAgICA8aW5zdGFuY2VTdGF0ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGU+MTY8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnJ1bm5pbmc8L25hbWU+CiAgICAgICAgICAgICAgICAgICAgPC9pbnN0YW5jZVN0YXRlPgogICAgICAgICAgICAgICAgPC9pdGVtPgogICAgICAgICAgICA8L2luc3RhbmNlc1NldD4KICAgICAgICA8L2l0ZW0+CiAgICA8L3Jlc2VydmF0aW9uU2V0Pgo8L0Rlc2NyaWJlSW5zdGFuY2VzUmVzcG9uc2U+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/ec2/describe_instances_two_instances_same_state</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCkNvbnRlbnQtVHlwZTogdGV4dC94bWw7Y2hhcnNldD1VVEYtOApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApEYXRlOiBXZWQsIDE5IERlYyAyMDEyIDE5OjQyOjEwIEdNVApTZXJ2ZXI6IEFtYXpvbkVDMgoKPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPERlc2NyaWJlSW5zdGFuY2VzUmVzcG9uc2UgeG1sbnM9Imh0dHA6Ly9lYzIuYW1hem9uYXdzLmNvbS9kb2MvMjAxMi0xMC0wMS8iPgogICAgPHJlcXVlc3RJZD5lZm9vYTVjMi0xOTYwLTRjODYtOTJhZS1mNWV4YW1wbGUyZGM8L3JlcXVlc3RJZD4KICAgIDxyZXNlcnZhdGlvblNldD4KICAgICAgICA8aXRlbT4KICAgICAgICAgICAgPGluc3RhbmNlc1NldD4KICAgICAgICAgICAgICAgIDxpdGVtPgogICAgICAgICAgICAgICAgICAgIDxpbnN0YW5jZUlkPmkteHh4eHh4eDE8L2luc3RhbmNlSWQ+CiAgICAgICAgICAgICAgICAgICAgPGluc3RhbmNlU3RhdGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlPjE2PC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT5ydW5uaW5nPC9uYW1lPgogICAgICAgICAgICAgICAgICAgIDwvaW5zdGFuY2VTdGF0ZT4KICAgICAgICAgICAgICAgIDwvaXRlbT4KICAgICAgICAgICAgICAgIDxpdGVtPgogICAgICAgICAgICAgICAgICAgIDxpbnN0YW5jZUlkPmkteHh4eHh4eDI8L2luc3RhbmNlSWQ+CiAgICAgICAgICAgICAgICAgICAgPGluc3RhbmNlU3RhdGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlPjE2PC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT5ydW5uaW5nPC9uYW1lPgogICAgICAgICAgICAgICAgICAgIDwvaW5zdGFuY2VTdGF0ZT4KICAgICAgICAgICAgICAgIDwvaXRlbT4KICAgICAgICAgICAgPC9pbnN0YW5jZXNTZXQ+CiAgICAgICAgPC9pdGVtPgogICAgPC9yZXNlcnZhdGlvblNldD4KPC9EZXNjcmliZUluc3RhbmNlc1Jlc3BvbnNlPgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/ec2/describe_snapshots_completed</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCkNvbnRlbnQtVHlwZTogdGV4dC94bWw7Y2hhcnNldD1VVEYtOApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApEYXRlOiBXZWQsIDE5IERlYyAyMDEyIDE5OjQyOjEwIEdNVApTZXJ2ZXI6IEFtYXpvbkVDMgoKPERlc2NyaWJlU25hcHNob3RzUmVzcG9uc2UgeG1sbnM9Imh0dHA6Ly9lYzIuYW1hem9uYXdzLmNvbS9kb2MvMjAxMi0xMi0wMS8iPgogICA8cmVxdWVzdElkPjU5ZGJmZjg5LTM1YmQtNGVhYy05OWVkLWJlNTg3RVhBTVBMRTwvcmVxdWVzdElkPgogICA8c25hcHNob3RTZXQ+CiAgICAgIDxpdGVtPgogICAgICAgICA8c25hcHNob3RJZD5zbmFwLTFhMmIzYzRkPC9zbmFwc2hvdElkPgogICAgICAgICA8dm9sdW1lSWQ+dm9sLTFhMmIzYzRkPC92b2x1bWVJZD4KICAgICAgICAgPHN0YXR1cz5jb21wbGV0ZWQ8L3N0YXR1cz4KICAgICAgICAgPHN0YXJ0VGltZT5ZWVlZLU1NLUREVEhIOk1NOlNTLlNTU1o8L3N0YXJ0VGltZT4KICAgICAgICAgPHByb2dyZXNzPjgwJTwvcHJvZ3Jlc3M+CiAgICAgICAgIDxvd25lcklkPjExMTEyMjIyMzMzMzwvb3duZXJJZD4KICAgICAgICAgPHZvbHVtZVNpemU+MTU8L3ZvbHVtZVNpemU+CiAgICAgICAgIDxkZXNjcmlwdGlvbj5EYWlseSBCYWNrdXA8L2Rlc2NyaXB0aW9uPgogICAgICAgICA8dGFnU2V0Lz4KICAgICAgPC9pdGVtPgogICA8L3NuYXBzaG90U2V0Pgo8L0Rlc2NyaWJlU25hcHNob3RzUmVzcG9uc2U+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/ec2/describe_snapshots_pending</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCkNvbnRlbnQtVHlwZTogdGV4dC94bWw7Y2hhcnNldD1VVEYtOApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApEYXRlOiBXZWQsIDE5IERlYyAyMDEyIDE5OjQyOjEwIEdNVApTZXJ2ZXI6IEFtYXpvbkVDMgoKPERlc2NyaWJlU25hcHNob3RzUmVzcG9uc2UgeG1sbnM9Imh0dHA6Ly9lYzIuYW1hem9uYXdzLmNvbS9kb2MvMjAxMi0xMi0wMS8iPgogICA8cmVxdWVzdElkPjU5ZGJmZjg5LTM1YmQtNGVhYy05OWVkLWJlNTg3RVhBTVBMRTwvcmVxdWVzdElkPgogICA8c25hcHNob3RTZXQ+CiAgICAgIDxpdGVtPgogICAgICAgICA8c25hcHNob3RJZD5zbmFwLTFhMmIzYzRkPC9zbmFwc2hvdElkPgogICAgICAgICA8dm9sdW1lSWQ+dm9sLTFhMmIzYzRkPC92b2x1bWVJZD4KICAgICAgICAgPHN0YXR1cz5wZW5kaW5nPC9zdGF0dXM+CiAgICAgICAgIDxzdGFydFRpbWU+WVlZWS1NTS1ERFRISDpNTTpTUy5TU1NaPC9zdGFydFRpbWU+CiAgICAgICAgIDxwcm9ncmVzcz44MCU8L3Byb2dyZXNzPgogICAgICAgICA8b3duZXJJZD4xMTExMjIyMjMzMzM8L293bmVySWQ+CiAgICAgICAgIDx2b2x1bWVTaXplPjE1PC92b2x1bWVTaXplPgogICAgICAgICA8ZGVzY3JpcHRpb24+RGFpbHkgQmFja3VwPC9kZXNjcmlwdGlvbj4KICAgICAgICAgPHRhZ1NldC8+CiAgICAgIDwvaXRlbT4KICAgPC9zbmFwc2hvdFNldD4KPC9EZXNjcmliZVNuYXBzaG90c1Jlc3BvbnNlPgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/glacier/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/glacier/complete_multipart_upload</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAxIENyZWF0ZWQKeC1hbXpuLVJlcXVlc3RJZDogQUFBQlpwSnJUeWlvRVhBTVBMRUhhZThFWnBfdUJTSnI2Y25HT0xLcUVYQU1QTEUKRGF0ZTogU3VuLCAyNSBNYXIgMjAxMiAxMjowMDowMCBHTVQKTG9jYXRpb246IC8xMTExMjIyMjMzMzMvdmF1bHRzL2V4YW1wbGV2YXVsdC9hcmNoaXZlcy9Oa2JCeUVlandFZ2dtQnoyZlRIZ0pyZzBYQm9EZmpQNHE2aXU4Ny1UamhxRzZlR29PWTlaOGkxX0FVeVVzdWhQQWRUcUxIeThwVGw1bmZDRkptRGwyeUVaT05pNUwyNk9tdzEydmNzMDFNTkdudEhFUUw4TUJmR2xxckVYQU1QTEVBcmNoaXZlSWQKeC1hbXotYXJjaGl2ZS1pZDogTmtiQnlFZWp3RWdnbUJ6MmZUSGdKcmcwWEJvRGZqUDRxNml1ODctVGpocUc2ZUdvT1k5WjhpMV9BVXlVc3VoUEFkVHFMSHk4cFRsNW5mQ0ZKbURsMnlFWk9OaTVMMjZPbXcxMnZjczAxTU5HbnRIRVFMOE1CZkdscXJFWEFNUExFQXJjaGl2ZUlkCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/glacier/describe_vault</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IENsUklvQjFGT09seEFaQkFSM05VdGM0Rk9PWGg2aVF4NkJBUmtTc2pTS0tURVNUCkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpDb250ZW50LUxlbmd0aDogMjQxCkRhdGU6IFNhdCwgMjkgU2VwIDIwMTIgMDc6MjE6MzQgR01UCgp7IkNyZWF0aW9uRGF0ZSI6IjIwMTItMDktMTdUMTc6MjU6NDMuNzA4WiIsIkxhc3RJbnZlbnRvcnlEYXRlIjoiMjAxMi0wOS0yOFQwODoyMDo0Ni43OTFaIiwiTnVtYmVyT2ZBcmNoaXZlcyI6NSwiU2l6ZUluQnl0ZXMiOjE2NDAwMCwiVmF1bHRBUk4iOiJhcm46YXdzOmdsYWNpZXItZ2FtbWE6dXMtZWFzdC0xOjU5OTE2OTE0Mzk4NTp2YXVsdHMvZm9vIiwiVmF1bHROYW1lIjoiZm9vIn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/glacier/describe_vault_error</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgNDA0IE5vdCBGb3VuZAp4LWFtem4tUmVxdWVzdElkOiBjUlRGT092SHRCQVJETWJGT082R3RCQVJfYUtGT09YdDA1QkFSSVJWT19URVNUCkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpDb250ZW50LUxlbmd0aDogMTQ1CkRhdGU6IFNhdCwgMjkgU2VwIDIwMTIgMDc6MjU6NTcgR01UCgp7ImNvZGUiOiJSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uIiwibWVzc2FnZSI6IlZhdWx0IG5vdCBmb3VuZCBmb3IgQVJOOiBhcm46YXdzOmdsYWNpZXItZ2FtbWE6dXMtZWFzdC0xOjU5OTE2OTYyMjk4NTp2YXVsdHMvZm9vIiwidHlwZSI6IkNsaWVudCJ9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/glacier/initiate_multipart_upload</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAxIENyZWF0ZWQKeC1hbXpuLVJlcXVlc3RJZDogQUFBQlpwSkZPT2lvRENfSHNPbUJBUjhFWnBfdUZPT3I2Y25HT0JBUl9YSkNGT08KRGF0ZTogU3VuLCAyNSBNYXIgMjAxMiAxMjowMDowMCBHTVQKTG9jYXRpb246IC8xMTExMjIyMjMzMzMvdmF1bHRzL2Zvby9tdWx0aXBhcnQtdXBsb2Fkcy9FWEFNUExFVnlsRXBGRU1NOV9IcEtvd0VYQU1QTEU1c1NMMzlfM0VYQU1QTEVGVVdWcm5SSGFQalVKZGRRNUVYQU1QTEVZdHJONDdOQlota2h4T2p5RVhBTVBMRQp4LWFtei1tdWx0aXBhcnQtdXBsb2FkLWlkOiBFWEFNUExFVnlsRXBGRU1NOV9IcEtvd0VYQU1QTEU1c1NMMzlfM0VYQU1QTEVGVVdWcm5SSGFQalVKZGRRNUVYQU1QTEVZdHJONDdOQlota2h4T2p5RVhBTVBMRQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/glacier/list_parts</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IEFBQUJaRVhBTVBMRXNPZThFRVhBTVBMRW5HT0xLRVhBTVBMRWwtUQpEYXRlOiBTdW4sIDI1IE1hciAyMDEyIDEyOjAwOjAwIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24KQ29udGVudC1MZW5ndGg6IDQxMQoKewogICAgIkFyY2hpdmVEZXNjcmlwdGlvbiIgOiAiYXJjaGl2ZSBkZXNjcmlwdGlvbiIsCiAgICAiQ3JlYXRpb25EYXRlIiA6ICIyMDEyLTAzLTIwVDE3OjAzOjQzLjIyMVoiLAogICAgIk1hcmtlciI6IG51bGwsCiAgICAiTXVsdGlwYXJ0VXBsb2FkSWQiIDogIk9XMmZNNWlWeWxFcEZFTU05X0ZPT293UmFwQzN2bjVzU0wzOV8zOTZVVzl6QkFSV1ZyblJIYVBqVUZPT1E1T3hTSFZYall0ck40QkFSWi1raHhPanlFWEFNUExFIiwKICAgICJQYXJ0U2l6ZUluQnl0ZXMiIDogNDE5NDMwNCwKICAgICJQYXJ0cyIgOgogICAgWyB7CiAgICAgICJSYW5nZUluQnl0ZXMiIDogIjAtNDE5NDMwMyIsCiAgICAgICJTSEEyNTZUcmVlSGFzaCIgOiAiMDFkMzRkYWJmN2JlMzE2NDcyYzkzYjFlZjgwNzIxZjVkNCIKICAgICAgfSwKICAgICAgewogICAgICAiUmFuZ2VJbkJ5dGVzIiA6ICI0MTk0MzA0LTgzODg2MDciLAogICAgICAiU0hBMjU2VHJlZUhhc2giIDogIjAxOTU4NzUzNjVhZmRhMzQ5ZmMyMWM4NGMwOTk5ODcxNjQiCiAgICAgIH1dLAogICAgIlZhdWx0QVJOIiA6ICJhcm46YXdzOmdsYWNpZXI6dXMtZWFzdC0xOjAxMjM0NTY3ODkwMTp2YXVsdHMvZGVtby12YXVsdCIKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/glacier/upload_part</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjA0IE5vIENvbnRlbnQKeC1hbXpuLVJlcXVlc3RJZDogQUFBQlpwSnJFWEFNUExFc09tSGFlOEVacF91QlNKcjZjbkdPTEtlUUVYQU1QTEUKeC1hbXotc2hhMjU2LXRyZWUtaGFzaDogYzA2ZjdjZDRiYWFjYjBGT08wMmE5OWE1ZkJBUmY5NTMKRGF0ZTogU3VuLCAyNSBNYXIgMjAxMiAxMjowMDowMCBHTVQK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/metadata/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/metadata/iam_security_credentials</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjAgMjAwIE9LCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbgpBY2NlcHQtUmFuZ2VzOiBieXRlcwpMYXN0LU1vZGlmaWVkOiBUdWUsIDAxIE1heSAyMDEyIDIzOjUwOjUwIEdNVApDb250ZW50LUxlbmd0aDogNgpDb25uZWN0aW9uOiBjbG9zZQpEYXRlOiBUaHUsIDEwIE1heSAyMDEyIDIzOjQ1OjI2IEdNVApTZXJ2ZXI6IEVDMndzCgp3ZWJhcHAK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/metadata/iam_security_credentials_webapp</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjAgMjAwIE9LCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbgpBY2NlcHQtUmFuZ2VzOiBieXRlcwpMYXN0LU1vZGlmaWVkOiBUdWUsIDAxIE1heSAyMDEyIDIzOjUwOjUwIEdNVApDb25uZWN0aW9uOiBjbG9zZQpEYXRlOiBUaHUsIDEwIE1heSAyMDEyIDIzOjQ1OjI2IEdNVApTZXJ2ZXI6IEVDMndzCgp7IkNvZGUiOiJTdWNjZXNzIiwKICJUeXBlIjoiQVdTLUhNQUMiLAogIkFjY2Vzc0tleUlkIjoiQUtJQUlFWEFNUExFRVhBTVBMRUEiLAogIlNlY3JldEFjY2Vzc0tleSI6IkVYQU1QTEVyVWNkZEN5RVhBTVBMRW5HM3Z3eUdUbkZaNEVYQU1QTEUiLAogIlRva2VuIjoiQXhDdXNFWEFNUExFRm9vQmFyQmF6Li4uIiwKICJFeHBpcmF0aW9uIjoiMjA1MC0wNS0wOVQyMzozNTo0MFoiLAogIkxhc3RVcGRhdGVkIjoiMjA1MC0wNS0wOVQxNTozNTo0MFoiCn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/rds/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/rds/create_db_security_group</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IDU5MzlmMTU3LTc2ZjktMTFlMi1hYWE5LSoqKioKQ29udGVudC1UeXBlOiB0ZXh0L3htbApDb250ZW50LUxlbmd0aDogNTQ2CkRhdGU6IFRodSwgMTQgRmViIDIwMTMgMjI6NTM6MjkgR01UCgo8Q3JlYXRlREJTZWN1cml0eUdyb3VwUmVzcG9uc2UgeG1sbnM9Imh0dHA6Ly9yZHMuYW1hem9uYXdzLmNvbS9kb2MvMjAxMi0wNy0zMS8iPgogIDxDcmVhdGVEQlNlY3VyaXR5R3JvdXBSZXN1bHQ+CiAgICA8REJTZWN1cml0eUdyb3VwPgogICAgICA8RUMyU2VjdXJpdHlHcm91cHMvPgogICAgICA8REJTZWN1cml0eUdyb3VwRGVzY3JpcHRpb24+SW50ZWcgdGVzdDwvREJTZWN1cml0eUdyb3VwRGVzY3JpcHRpb24+CiAgICAgIDxJUFJhbmdlcy8+CiAgICAgIDxPd25lcklkPjEyMzQ1NjwvT3duZXJJZD4KICAgICAgPERCU2VjdXJpdHlHcm91cE5hbWU+aW50ZWdmb288L0RCU2VjdXJpdHlHcm91cE5hbWU+CiAgICA8L0RCU2VjdXJpdHlHcm91cD4KICA8L0NyZWF0ZURCU2VjdXJpdHlHcm91cFJlc3VsdD4KICA8UmVzcG9uc2VNZXRhZGF0YT4KICAgIDxSZXF1ZXN0SWQ+NTkzOWYxNTctNzZmOS0xMWUyLWFhYTktKioqKjwvUmVxdWVzdElkPgogIDwvUmVzcG9uc2VNZXRhZGF0YT4KPC9DcmVhdGVEQlNlY3VyaXR5R3JvdXBSZXNwb25zZT4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/rds/describe_db_instances</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IDU5MzlmMTU3LTc2ZjktMTFlMi1hYWE5LSoqKioKQ29udGVudC1UeXBlOiB0ZXh0L3htbApDb250ZW50LUxlbmd0aDogMjE0NApEYXRlOiBUaHUsIDE0IEZlYiAyMDEzIDIyOjUzOjI5IEdNVAoKPERlc2NyaWJlREJJbnN0YW5jZXNSZXNwb25zZSB4bWxucz0iaHR0cDovL3Jkcy5hbWF6b25hd3MuY29tL2RvYy8yMDEyLTA3LTMxLyI+CiAgICA8RGVzY3JpYmVEQkluc3RhbmNlc1Jlc3VsdD4KICAgICAgICA8REJJbnN0YW5jZXM+CiAgICAgICAgICAgIDxEQkluc3RhbmNlPgogICAgICAgICAgICAgICAgPERCSW5zdGFuY2VJZGVudGlmaWVyPmZvbzwvREJJbnN0YW5jZUlkZW50aWZpZXI+CiAgICAgICAgICAgIDxEQkluc3RhbmNlQ2xhc3M+ZGIubTEuc21hbGw8L0RCSW5zdGFuY2VDbGFzcz4KICAgICAgICAgICAgPEVuZ2luZT5teXNxbDwvRW5naW5lPgogICAgICAgICAgICA8REJJbnN0YW5jZVN0YXR1cz5hdmFpbGFibGU8L0RCSW5zdGFuY2VTdGF0dXM+CiAgICAgICAgICAgIDxNYXN0ZXJVc2VybmFtZT51dGlsaXR5dXNlcjwvTWFzdGVyVXNlcm5hbWU+CiAgICAgICAgICAgIDxEQk5hbWU+eHh4eHh4eHg8L0RCTmFtZT4KICAgICAgICAgICAgPEVuZHBvaW50PgogICAgICAgICAgICAgIDxBZGRyZXNzPnh4eHh4eHh4LmV1LXdlc3QtMS5yZHMuYW1hem9uYXdzLmNvbTwvQWRkcmVzcz4KICAgICAgICAgICAgICA8UG9ydD4zMzA2PC9Qb3J0PgogICAgICAgICAgICA8L0VuZHBvaW50PgogICAgICAgICAgICA8QWxsb2NhdGVkU3RvcmFnZT4yMDwvQWxsb2NhdGVkU3RvcmFnZT4KICAgICAgICAgICAgPEluc3RhbmNlQ3JlYXRlVGltZT4yMDExLTA4LTEwVDE4OjQzOjE1LjI3OFo8L0luc3RhbmNlQ3JlYXRlVGltZT4KICAgICAgICAgICAgPFByZWZlcnJlZEJhY2t1cFdpbmRvdz4yMjozMC0yMzowMDwvUHJlZmVycmVkQmFja3VwV2luZG93PgogICAgICAgICAgICA8QmFja3VwUmV0ZW50aW9uUGVyaW9kPjM8L0JhY2t1cFJldGVudGlvblBlcmlvZD4KICAgICAgICAgICAgPERCU2VjdXJpdHlHcm91cHM+CiAgICAgICAgICAgICAgPERCU2VjdXJpdHlHcm91cD4KICAgICAgICAgICAgICAgIDxEQlNlY3VyaXR5R3JvdXBOYW1lPnh4eHh4eHg8L0RCU2VjdXJpdHlHcm91cE5hbWU+CiAgICAgICAgICAgICAgICA8U3RhdHVzPmFjdGl2ZTwvU3RhdHVzPgogICAgICAgICAgICAgIDwvREJTZWN1cml0eUdyb3VwPgogICAgICAgICAgICA8L0RCU2VjdXJpdHlHcm91cHM+CiAgICAgICAgICAgIDxEQlBhcmFtZXRlckdyb3Vwcz4KICAgICAgICAgICAgICA8REJQYXJhbWV0ZXJHcm91cD4KICAgICAgICAgICAgICAgIDxEQlBhcmFtZXRlckdyb3VwTmFtZT5nZW5lcmljLTUtNTwvREJQYXJhbWV0ZXJHcm91cE5hbWU+CiAgICAgICAgICAgICAgICA8UGFyYW1ldGVyQXBwbHlTdGF0dXM+aW4tc3luYzwvUGFyYW1ldGVyQXBwbHlTdGF0dXM+CiAgICAgICAgICAgICAgPC9EQlBhcmFtZXRlckdyb3VwPgogICAgICAgICAgICA8L0RCUGFyYW1ldGVyR3JvdXBzPgogICAgICAgICAgICA8QXZhaWxhYmlsaXR5Wm9uZT5ldS13ZXN0LTFiPC9BdmFpbGFiaWxpdHlab25lPgogICAgICAgICAgICA8UHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c+c2F0OjAzOjMwLXNhdDowNDowMDwvUHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c+CiAgICAgICAgICAgIDxQZW5kaW5nTW9kaWZpZWRWYWx1ZXMvPgogICAgICAgICAgICA8TGF0ZXN0UmVzdG9yYWJsZVRpbWU+MjAxMy0wNC0yMlQxNDowMDowMVo8L0xhdGVzdFJlc3RvcmFibGVUaW1lPgogICAgICAgICAgICA8TXVsdGlBWj50cnVlPC9NdWx0aUFaPgogICAgICAgICAgICA8RW5naW5lVmVyc2lvbj41LjUuMjc8L0VuZ2luZVZlcnNpb24+CiAgICAgICAgICAgIDxBdXRvTWlub3JWZXJzaW9uVXBncmFkZT50cnVlPC9BdXRvTWlub3JWZXJzaW9uVXBncmFkZT4KICAgICAgICAgICAgPFJlYWRSZXBsaWNhREJJbnN0YW5jZUlkZW50aWZpZXJzLz4KICAgICAgICAgICAgPExpY2Vuc2VNb2RlbD5nZW5lcmFsLXB1YmxpYy1saWNlbnNlPC9MaWNlbnNlTW9kZWw+CiAgICAgICAgICAgIDwvREJJbnN0YW5jZT4KICAgICAgICA8L0RCSW5zdGFuY2VzPgogICAgPC9EZXNjcmliZURCSW5zdGFuY2VzUmVzdWx0PgogICAgPFJlc3BvbnNlTWV0YWRhdGE+CiAgICAgICAgPFJlcXVlc3RJZD41OTM5ZjE1Ny03NmY5LTExZTItYWFhOS0qKioqPC9SZXF1ZXN0SWQ+CiAgICA8L1Jlc3BvbnNlTWV0YWRhdGE+CjwvRGVzY3JpYmVEQkluc3RhbmNlc1Jlc3BvbnNlPg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/route53/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/route53/list_rrs_page_1</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IGVmZm9vYmFjLTRhN2UtMTFlMi04ZTBlLTk1ZXhhbXBsZTBjMApDb250ZW50LVR5cGU6IHRleHQveG1sCkNvbnRlbnQtTGVuZ3RoOiA1MzYKRGF0ZTogVGh1LCAyMCBEZWMgMjAxMiAwODoyNjoyMSBHTVQKCjw/eG1sIHZlcnNpb249IjEuMCI/Pgo8TGlzdFJlc291cmNlUmVjb3JkU2V0c1Jlc3BvbnNlIHhtbG5zPSJodHRwczovL3JvdXRlNTMuYW1hem9uYXdzLmNvbS9kb2MvMjAxMi0wMi0yOS8iPjxSZXNvdXJjZVJlY29yZFNldHM+PFJlc291cmNlUmVjb3JkU2V0PjxOYW1lPnd3dy5leGFtcGxlLmNvbS48L05hbWU+PFR5cGU+TlM8L1R5cGU+PFJlc291cmNlUmVjb3Jkcz48UmVzb3VyY2VSZWNvcmQ+PFZhbHVlPmE8L1ZhbHVlPjwvUmVzb3VyY2VSZWNvcmQ+PFJlc291cmNlUmVjb3JkPjxWYWx1ZT5iPC9WYWx1ZT48L1Jlc291cmNlUmVjb3JkPjwvUmVzb3VyY2VSZWNvcmRzPjwvUmVzb3VyY2VSZWNvcmRTZXQ+PC9SZXNvdXJjZVJlY29yZFNldHM+PElzVHJ1bmNhdGVkPnRydWU8L0lzVHJ1bmNhdGVkPjxNYXhJdGVtcz4xPC9NYXhJdGVtcz48TmV4dFJlY29yZE5hbWU+ZXhhbXBsZS5jb20uPC9OZXh0UmVjb3JkTmFtZT48TmV4dFJlY29yZFR5cGU+U09BPC9OZXh0UmVjb3JkVHlwZT48L0xpc3RSZXNvdXJjZVJlY29yZFNldHNSZXNwb25zZT4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/route53/list_rrs_page_2</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IGVmZm9vYmFjLTRhN2UtMTFlMi04ZTBlLTk1ZXhhbXBsZTBjMApDb250ZW50LVR5cGU6IHRleHQveG1sCkNvbnRlbnQtTGVuZ3RoOiA1MDYKRGF0ZTogVGh1LCAyMCBEZWMgMjAxMiAwODoyNjoyMSBHTVQKCjw/eG1sIHZlcnNpb249IjEuMCI/Pgo8TGlzdFJlc291cmNlUmVjb3JkU2V0c1Jlc3BvbnNlIHhtbG5zPSJodHRwczovL3JvdXRlNTMuYW1hem9uYXdzLmNvbS9kb2MvMjAxMi0wMi0yOS8iPjxSZXNvdXJjZVJlY29yZFNldHM+PFJlc291cmNlUmVjb3JkU2V0PjxOYW1lPnd3dy5leGFtcGxlLmNvbS48L05hbWU+PFR5cGU+TlM8L1R5cGU+PFJlc291cmNlUmVjb3Jkcz48UmVzb3VyY2VSZWNvcmQ+PFZhbHVlPmM8L1ZhbHVlPjwvUmVzb3VyY2VSZWNvcmQ+PFJlc291cmNlUmVjb3JkPjxWYWx1ZT5kPC9WYWx1ZT48L1Jlc291cmNlUmVjb3JkPjwvUmVzb3VyY2VSZWNvcmRzPjwvUmVzb3VyY2VSZWNvcmRTZXQ+PC9SZXNvdXJjZVJlY29yZFNldHM+PElzVHJ1bmNhdGVkPnRydWU8L0lzVHJ1bmNhdGVkPjxNYXhJdGVtcz4xPC9NYXhJdGVtcz48TmV4dFJlY29yZElkZW50aWZpZXI+aWRlbnRpZmllcjwvTmV4dFJlY29yZElkZW50aWZpZXI+PC9MaXN0UmVzb3VyY2VSZWNvcmRTZXRzUmVzcG9uc2U+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/route53/list_rrs_page_3</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IGVmZm9vYmFjLTRhN2UtMTFlMi04ZTBlLTk1ZXhhbXBsZTBjMApDb250ZW50LVR5cGU6IHRleHQveG1sCkNvbnRlbnQtTGVuZ3RoOiA0NTkKRGF0ZTogVGh1LCAyMCBEZWMgMjAxMiAwODoyNjoyMSBHTVQKCjw/eG1sIHZlcnNpb249IjEuMCI/Pgo8TGlzdFJlc291cmNlUmVjb3JkU2V0c1Jlc3BvbnNlIHhtbG5zPSJodHRwczovL3JvdXRlNTMuYW1hem9uYXdzLmNvbS9kb2MvMjAxMi0wMi0yOS8iPjxSZXNvdXJjZVJlY29yZFNldHM+PFJlc291cmNlUmVjb3JkU2V0PjxOYW1lPnd3dy5leGFtcGxlLmNvbS48L05hbWU+PFR5cGU+U09BPC9UeXBlPjxSZXNvdXJjZVJlY29yZHM+PFJlc291cmNlUmVjb3JkPjxWYWx1ZT5lPC9WYWx1ZT48L1Jlc291cmNlUmVjb3JkPjxSZXNvdXJjZVJlY29yZD48VmFsdWU+ZjwvVmFsdWU+PC9SZXNvdXJjZVJlY29yZD48L1Jlc291cmNlUmVjb3Jkcz48L1Jlc291cmNlUmVjb3JkU2V0PjwvUmVzb3VyY2VSZWNvcmRTZXRzPjxJc1RydW5jYXRlZD5mYWxzZTwvSXNUcnVuY2F0ZWQ+PE1heEl0ZW1zPjE8L01heEl0ZW1zPjwvTGlzdFJlc291cmNlUmVjb3JkU2V0c1Jlc3BvbnNlPgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/route53/server_time_1</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LXJlcXVlc3QtaWQ6IDY5QzQwNjk2MzQyQTlFMUJFWEFNUExFCkRhdGU6IFRodSwgMTkgTm92IDIwMDkgMTk6Mzc6NTggR01UCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/route53/server_time_2</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgNDAwIEJhZCBSZXF1ZXN0CngtYW16LXJlcXVlc3QtaWQ6IDY5QzQwNjk2MzQyQTlFMUJFWEFNUExFCkRhdGU6IEZyaSwgMjAgTm92IDIwMDkgMTk6Mzc6NTggR01UCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/complete_multipart_upload</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFV1YWcxTHVCeVJ4OWU2ajVPbmltcnU5cE80WlZLbkoyUXo3L0MxTlBjZlRXQXRSUGZUYU9GZz09CngtYW16LXJlcXVlc3QtaWQ6IDY1NmM3NjY5NmU2NzI3NzMyMDcyNjU3MTc1NjU3Mzc0CkRhdGU6IE1vbiwgMSBOb3YgMjAxMCAyMDozNDo1NiBHTVQKQ29ubmVjdGlvbjogY2xvc2UKU2VydmVyOiBBbWF6b25TMwoKPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkUmVzdWx0IHhtbG5zPSJodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kb2MvMjAwNi0wMy0wMS8iPgogIDxMb2NhdGlvbj5odHRwOi8vRXhhbXBsZS1CdWNrZXQuczMuYW1hem9uYXdzLmNvbS9FeGFtcGxlLU9iamVjdDwvTG9jYXRpb24+CiAgPEJ1Y2tldD5FeGFtcGxlLUJ1Y2tldDwvQnVja2V0PgogIDxLZXk+RXhhbXBsZS1PYmplY3Q8L0tleT4KICA8RVRhZz4iMzg1OGY2MjIzMGFjM2M5MTVmMzAwYzY2NDMxMmMxMWYtOSI8L0VUYWc+CjwvQ29tcGxldGVNdWx0aXBhcnRVcGxvYWRSZXN1bHQ+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/delete_multiple_objects</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBXZWQsIDMwIE5vdiAyMDExIDAzOjM5OjMyIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApTZXJ2ZXI6IEFtYXpvblMzCkNvbnRlbnQtTGVuZ3RoOiAyNzYKCjw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CjxEZWxldGVSZXN1bHQgeG1sbnM9Imh0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2RvYy8yMDA2LTAzLTAxLyI+CiAgPERlbGV0ZWQ+CiAgICA8S2V5PlNhbXBsZURvY3VtZW50LnR4dDwvS2V5PgogICAgPERlbGV0ZU1hcmtlcj50cnVlPC9EZWxldGVNYXJrZXI+CiAgICA8RGVsZXRlTWFya2VyVmVyc2lvbklkPk5lUXQ1eGVGVGZnUEpEOEI0Q0dXbmtTTHRsdU1yMTFzPC9EZWxldGVNYXJrZXJWZXJzaW9uSWQ+CiAgPC9EZWxldGVkPgo8L0RlbGV0ZVJlc3VsdD4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/delete_multiple_objects_errors</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBGcmksIDAyIERlYyAyMDExIDAxOjUzOjQyIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8RGVsZXRlUmVzdWx0IHhtbG5zPSJodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kb2MvMjAwNi0wMy0wMS8iPgogIDxEZWxldGVkPgogICAgPEtleT5zYW1wbGUxLnR4dDwvS2V5PgogIDwvRGVsZXRlZD4KICA8RXJyb3I+CiAgICA8S2V5PnNhbXBsZTIudHh0PC9LZXk+CiAgICA8Q29kZT5BY2Nlc3NEZW5pZWQ8L0NvZGU+CiAgICA8TWVzc2FnZT5BY2Nlc3MgRGVuaWVkPC9NZXNzYWdlPgogIDwvRXJyb3I+CjwvRGVsZXRlUmVzdWx0Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/get_bucket_object_versions_page_1</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBNb24sIDMwIEp1bCAyMDEyIDIwOjAxOjU3IEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8TGlzdFZlcnNpb25zUmVzdWx0IHhtbG5zPSJodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kb2MvMjAwNi0wMy0wMSI+CiAgICA8TmFtZT5idWNrZXQtMTwvTmFtZT4KICAgIDxQcmVmaXgvPgogICAgPEtleU1hcmtlci8+CiAgICA8VmVyc2lvbklkTWFya2VyLz4KICAgIDxOZXh0S2V5TWFya2VyPmtleS0xPC9OZXh0S2V5TWFya2VyPgogICAgPE5leHRWZXJzaW9uSWRNYXJrZXI+dmVyc2lvbi1pZC0xPC9OZXh0VmVyc2lvbklkTWFya2VyPgogICAgPE1heEtleXMvPgogICAgPElzVHJ1bmNhdGVkPnRydWU8L0lzVHJ1bmNhdGVkPgo8L0xpc3RWZXJzaW9uc1Jlc3VsdD4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/get_bucket_object_versions_page_2</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBNb24sIDMwIEp1bCAyMDEyIDIwOjAxOjU3IEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8TGlzdFZlcnNpb25zUmVzdWx0IHhtbG5zPSJodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kb2MvMjAwNi0wMy0wMSI+CiAgICA8TmFtZT5idWNrZXQtMTwvTmFtZT4KICAgIDxQcmVmaXgvPgogICAgPEtleU1hcmtlci8+CiAgICA8VmVyc2lvbklkTWFya2VyLz4KICAgIDxNYXhLZXlzLz4KICAgIDxJc1RydW5jYXRlZD5mYWxzZTwvSXNUcnVuY2F0ZWQ+CiAgICA8VmVyc2lvbj4KICAgICAgICA8S2V5PmtleS0xPC9LZXk+CiAgICAgICAgPFZlcnNpb25JZD52ZXJzaW9uLWlkLTE8L1ZlcnNpb25JZD4KICAgICAgICA8SXNMYXRlc3Q+dHJ1ZTwvSXNMYXRlc3Q+CiAgICAgICAgPExhc3RNb2RpZmllZD4yMDA5LTEwLTEyVDE3OjUwOjMwLjAwMFo8L0xhc3RNb2RpZmllZD4KICAgICAgICA8RVRhZz4mcXVvdDtmYmE5ZGVkZTVmMjc3MzFjOTc3MTY0NWEzOTg2MzMyOCZxdW90OzwvRVRhZz4KICAgICAgICA8U2l6ZT40MzQyMzQ8L1NpemU+CiAgICAgICAgPFN0b3JhZ2VDbGFzcz5TVEFOREFSRDwvU3RvcmFnZUNsYXNzPgogICAgICAgIDxPd25lcj4KICAgICAgICAgICAgPElEPlhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg8L0lEPgogICAgICAgICAgICA8RGlzcGxheU5hbWU+WFhYWFhYPC9EaXNwbGF5TmFtZT4KICAgICAgICA8L093bmVyPgogICAgPC9WZXJzaW9uPgogICAgPERlbGV0ZU1hcmtlcj4KICAgICAgICA8S2V5PmtleS0xPC9LZXk+CiAgICAgICAgPFZlcnNpb25JZD52ZXJzaW9uLWlkLTI8L1ZlcnNpb25JZD4KICAgICAgICA8SXNMYXRlc3Q+dHJ1ZTwvSXNMYXRlc3Q+CiAgICAgICAgPExhc3RNb2RpZmllZD4yMDA5LTExLTEyVDE3OjUwOjMwLjAwMFo8L0xhc3RNb2RpZmllZD4KICAgICAgICA8T3duZXI+CiAgICAgICAgICAgIDxJRD5YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYPC9JRD4KICAgICAgICAgICAgPERpc3BsYXlOYW1lPlhYWFhYWDwvRGlzcGxheU5hbWU+CiAgICAgICAgPC9Pd25lcj4KICAgIDwvRGVsZXRlTWFya2VyPgogICAgPFZlcnNpb24+CiAgICAgICAgPEtleT5rZXktMjwvS2V5PgogICAgICAgIDxWZXJzaW9uSWQ+dmVyc2lvbi1pZC0xPC9WZXJzaW9uSWQ+CiAgICAgICAgPElzTGF0ZXN0PmZhbHNlPC9Jc0xhdGVzdD4KICAgICAgICA8TGFzdE1vZGlmaWVkPjIwMDktMTAtMTBUMTc6NTA6MzAuMDAwWjwvTGFzdE1vZGlmaWVkPgogICAgICAgIDxFVGFnPiZxdW90OzliMmNmNTM1ZjI3NzMxYzk3NDM0MzY0NWEzOTg1MzI4JnF1b3Q7PC9FVGFnPgogICAgICAgIDxTaXplPjE2NjQzNDwvU2l6ZT4KICAgICAgICA8U3RvcmFnZUNsYXNzPlNUQU5EQVJEPC9TdG9yYWdlQ2xhc3M+CiAgICAgICAgPE93bmVyPgogICAgICAgICAgICA8SUQ+WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWDwvSUQ+CiAgICAgICAgICAgIDxEaXNwbGF5TmFtZT5YWFhYWFg8L0Rpc3BsYXlOYW1lPgogICAgICAgIDwvT3duZXI+CiAgICA8L1ZlcnNpb24+CiAgICA8RGVsZXRlTWFya2VyPgogICAgICAgIDxLZXk+a2V5LTI8L0tleT4KICAgICAgICA8VmVyc2lvbklkPnZlcnNpb24taWQtMjwvVmVyc2lvbklkPgogICAgICAgIDxJc0xhdGVzdD50cnVlPC9Jc0xhdGVzdD4KICAgICAgICA8TGFzdE1vZGlmaWVkPjIwMDktMTAtMTVUMTc6NTA6MzAuMDAwWjwvTGFzdE1vZGlmaWVkPgogICAgICAgIDxPd25lcj4KICAgICAgICAgICAgPElEPlhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg8L0lEPgogICAgICAgICAgICA8RGlzcGxheU5hbWU+WFhYWFhYPC9EaXNwbGF5TmFtZT4KICAgICAgICA8L093bmVyPgogICAgPC9EZWxldGVNYXJrZXI+CiAgICA8Q29tbW9uUHJlZml4ZXM+CiAgICAgICAgPFByZWZpeD5wcmVmaXgtMS88L1ByZWZpeD4KICAgIDwvQ29tbW9uUHJlZml4ZXM+CiAgICA8Q29tbW9uUHJlZml4ZXM+CiAgICAgICAgPFByZWZpeD5wcmVmaXgtMi88L1ByZWZpeD4KICAgIDwvQ29tbW9uUHJlZml4ZXM+CjwvTGlzdFZlcnNpb25zUmVzdWx0Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/get_bucket_policy_failure</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgNDA0IE5vdCBGb3VuZAp4LWFtei1yZXF1ZXN0LWlkOiAxREQ4Qzk4ODIwQTg4RDhBCngtYW16LWlkLTI6IGM5bVg1NjNGVkxhK3oxVzJuVFdHbnBVbjhheFRkYXBOQUdybUxCU3Z2QWV5MW1CeFZ6cU9QbkFya3o3TnVwU2YKQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94bWwKVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWQKRGF0ZTogVHVlLCAyNCBKdWwgMjAxMiAyMjo1OTowNCBHTVQKU2VydmVyOiBBbWF6b25TMwoKPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPEVycm9yPjxDb2RlPk5vU3VjaEJ1Y2tldFBvbGljeTwvQ29kZT48TWVzc2FnZT5UaGUgYnVja2V0IHBvbGljeSBkb2VzIG5vdCBleGlzdDwvTWVzc2FnZT48QnVja2V0TmFtZT5qdXN0LXBlYWNoeTwvQnVja2V0TmFtZT48UmVxdWVzdElkPjFERDhDOTg4MjBBODhEOEE8L1JlcXVlc3RJZD48SG9zdElkPmM5bVg1NjNGVkxhK3oxVzJuVFdHbnBVbjhheFRkYXBOQUdybUxCU3Z2QWV5MW1CeFZ6cU9QbkFya3o3TnVwU2Y8L0hvc3RJZD48L0Vycm9yPgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/get_bucket_policy_success</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IHFxK1NwNldBUVRhTlJac3lPOERoR2ozV25GVDQybGw4Qm9aekw2RFlKa2R4aUZwRnFpK3VQMlF1Y3dYTDI2WGEKeC1hbXotcmVxdWVzdC1pZDogNjlDNDA2OTYzNDJBOUUxQgpEYXRlOiBUdWUsIDI0IEp1bCAyMDEyIDIxOjAxOjE0IEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24KQ29udGVudC1MZW5ndGg6IDEzClNlcnZlcjogQW1hem9uUzMKCnsiZm9vIjoiYmFyIn0K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/head_access_denied</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgNDAzIEFjY2VzcyBEZW5pZWQKeC1hbXotaWQtMjogcXErU3A2V0FRVGFOUlpzeU84RGhHajNXbkZUNDJsbDhCb1p6TDZEWUprZHhpRnBGcWkrdVAyUXVjd1hMMjZYYQp4LWFtei1yZXF1ZXN0LWlkOiA2OUM0MDY5NjM0MkE5RTFCCkRhdGU6IFR1ZSwgMjQgSnVsIDIwMTIgMjE6MDE6MTQgR01UCkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veG1sClRyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkClNlcnZlcjogQW1hem9uUzMK]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/head_failure</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgNDA0IE5vdCBGb3VuZAp4LWFtei1pZC0yOiBxcStTcDZXQVFUYU5SWnN5TzhEaEdqM1duRlQ0MmxsOEJvWnpMNkRZSmtkeGlGcEZxaSt1UDJRdWN3WEwyNlhhCngtYW16LXJlcXVlc3QtaWQ6IDY5QzQwNjk2MzQyQTlFMUIKRGF0ZTogVHVlLCAyNCBKdWwgMjAxMiAyMTowMToxNCBHTVQKQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94bWwKVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWQKU2VydmVyOiBBbWF6b25TMwo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/head_success</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IHFxK1NwNldBUVRhTlJac3lPOERoR2ozV25GVDQybGw4Qm9aekw2RFlKa2R4aUZwRnFpK3VQMlF1Y3dYTDI2WGEKeC1hbXotcmVxdWVzdC1pZDogNjlDNDA2OTYzNDJBOUUxQgpEYXRlOiBUdWUsIDI0IEp1bCAyMDEyIDIxOjAxOjE0IEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApTZXJ2ZXI6IEFtYXpvblMzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/initiate_multipart_upload</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFV1YWcxTHVCeVJ4OWU2ajVPbmltcnU5cE80WlZLbkoyUXo3L0MxTlBjZlRXQXRSUGZUYU9GZz09CngtYW16LXJlcXVlc3QtaWQ6IDY1NmM3NjY5NmU2NzI3NzMyMDcyNjU3MTc1NjU3Mzc0CkRhdGU6ICBNb24sIDEgTm92IDIwMTAgMjA6MzQ6NTYgR01UCkNvbnRlbnQtTGVuZ3RoOiAxOTcKQ29ubmVjdGlvbjoga2VlcC1hbGl2ZQpTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8SW5pdGlhdGVNdWx0aXBhcnRVcGxvYWRSZXN1bHQgeG1sbnM9Imh0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2RvYy8yMDA2LTAzLTAxLyI+CiAgPEJ1Y2tldD5leGFtcGxlLWJ1Y2tldDwvQnVja2V0PgogIDxLZXk+ZXhhbXBsZS1vYmplY3Q8L0tleT4KICA8VXBsb2FkSWQ+VlhCc2IyRmtJRWxFSUdadmNpQTJhV1dwYm1jbmN5QnRlUzF0YjNacFpTNXRNblJ6SUhWd2JHOWhaQTwvVXBsb2FkSWQ+CjwvSW5pdGlhdGVNdWx0aXBhcnRVcGxvYWRSZXN1bHQ+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/list_buckets</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBNb24sIDMwIEp1bCAyMDEyIDIwOjAxOjU3IEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8TGlzdEFsbE15QnVja2V0c1Jlc3VsdCB4bWxucz0iaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vZG9jLzIwMDYtMDMtMDEvIj48T3duZXI+PElEPlhYWFhYWDwvSUQ+PERpc3BsYXlOYW1lPlhYWFhYWDwvRGlzcGxheU5hbWU+PC9Pd25lcj48QnVja2V0cz48QnVja2V0PjxOYW1lPmJ1Y2tldC0xPC9OYW1lPjxDcmVhdGlvbkRhdGU+MjAxMS0wMy0xN1QwMToyNDowNy4wMDBaPC9DcmVhdGlvbkRhdGU+PC9CdWNrZXQ+PEJ1Y2tldD48TmFtZT5idWNrZXQtMjwvTmFtZT48Q3JlYXRpb25EYXRlPjIwMTAtMDQtMDJUMjI6MjM6MjEuMDAwWjwvQ3JlYXRpb25EYXRlPjwvQnVja2V0PjwvQnVja2V0cz48L0xpc3RBbGxNeUJ1Y2tldHNSZXN1bHQ+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/list_multipart_uploads_page_1</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBNb24sIDMwIEp1bCAyMDEyIDIwOjAxOjU3IEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8TGlzdE11bHRpcGFydFVwbG9hZHNSZXN1bHQgeG1sbnM9Imh0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2RvYy8yMDA2LTAzLTAxLyI+CiAgPEJ1Y2tldD5idWNrZXQtMTwvQnVja2V0PgogIDxLZXlNYXJrZXIvPgogIDxVcGxvYWRJZE1hcmtlci8+CiAgPE5leHRLZXlNYXJrZXI+b2JqZWN0LTE8L05leHRLZXlNYXJrZXI+CiAgPE5leHRVcGxvYWRJZE1hcmtlcj51cGxvYWQtaWQtMTwvTmV4dFVwbG9hZElkTWFya2VyPgogIDxEZWxpbWl0ZXI+LzwvRGVsaW1pdGVyPgogIDxQcmVmaXgvPgogIDxNYXhVcGxvYWRzPjEwMDA8L01heFVwbG9hZHM+CiAgPElzVHJ1bmNhdGVkPnRydWU8L0lzVHJ1bmNhdGVkPgo8L0xpc3RNdWx0aXBhcnRVcGxvYWRzUmVzdWx0Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/list_multipart_uploads_page_2</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBNb24sIDMwIEp1bCAyMDEyIDIwOjAxOjU3IEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8TGlzdE11bHRpcGFydFVwbG9hZHNSZXN1bHQgeG1sbnM9Imh0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2RvYy8yMDA2LTAzLTAxLyI+CiAgPEJ1Y2tldD5idWNrZXQtMTwvQnVja2V0PgogIDxLZXlNYXJrZXI+b2JqZWN0LTE8L0tleU1hcmtlcj4KICA8VXBsb2FkSWRNYXJrZXI+dXBsb2FkLWlkLTE8L1VwbG9hZElkTWFya2VyPgogIDxOZXh0S2V5TWFya2VyLz4KICA8TmV4dFVwbG9hZElkTWFya2VyLz4KICA8RGVsaW1pdGVyPi88L0RlbGltaXRlcj4KICA8UHJlZml4Lz4KICA8TWF4VXBsb2Fkcz4xMDAwPC9NYXhVcGxvYWRzPgogIDxJc1RydW5jYXRlZD5mYWxzZTwvSXNUcnVuY2F0ZWQ+CiAgPFVwbG9hZD4KICAgIDxLZXk+b2JqZWN0LTE8L0tleT4KICAgIDxVcGxvYWRJZD51cGxvYWQtaWQtMTwvVXBsb2FkSWQ+CiAgICA8SW5pdGlhdG9yPgogICAgICA8SUQ+WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWDwvSUQ+CiAgICAgIDxEaXNwbGF5TmFtZT5YWFhYWFg8L0Rpc3BsYXlOYW1lPgogICAgPC9Jbml0aWF0b3I+CiAgICA8T3duZXI+CiAgICAgIDxJRD5YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYPC9JRD4KICAgICAgPERpc3BsYXlOYW1lPlhYWFhYWDwvRGlzcGxheU5hbWU+CiAgICA8L093bmVyPgogICAgPFN0b3JhZ2VDbGFzcz5TVEFOREFSRDwvU3RvcmFnZUNsYXNzPgogICAgPEluaXRpYXRlZD4yMDEwLTExLTI2VDE5OjI0OjE3LjAwMFo8L0luaXRpYXRlZD4KICA8L1VwbG9hZD4KICA8VXBsb2FkPgogICAgPEtleT5vYmplY3QtMTwvS2V5PgogICAgPFVwbG9hZElkPnVwbG9hZC1pZC0yPC9VcGxvYWRJZD4KICAgIDxJbml0aWF0b3I+CiAgICAgIDxJRD5YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYPC9JRD4KICAgICAgPERpc3BsYXlOYW1lPlhYWFhYWDwvRGlzcGxheU5hbWU+CiAgICA8L0luaXRpYXRvcj4KICAgIDxPd25lcj4KICAgICAgPElEPlhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg8L0lEPgogICAgICA8RGlzcGxheU5hbWU+WFhYWFhYPC9EaXNwbGF5TmFtZT4KICAgIDwvT3duZXI+CiAgICA8U3RvcmFnZUNsYXNzPlNUQU5EQVJEPC9TdG9yYWdlQ2xhc3M+CiAgICA8SW5pdGlhdGVkPjIwMTAtMTEtMjZUMTk6MjQ6MTcuMDAwWjwvSW5pdGlhdGVkPgogIDwvVXBsb2FkPgogIDxVcGxvYWQ+CiAgICA8S2V5Pm9iamVjdC0yPC9LZXk+CiAgICA8VXBsb2FkSWQ+dXBsb2FkLWlkLTE8L1VwbG9hZElkPgogICAgPEluaXRpYXRvcj4KICAgICAgPElEPlhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg8L0lEPgogICAgICA8RGlzcGxheU5hbWU+WFhYWFhYPC9EaXNwbGF5TmFtZT4KICAgIDwvSW5pdGlhdG9yPgogICAgPE93bmVyPgogICAgICA8SUQ+WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWDwvSUQ+CiAgICAgIDxEaXNwbGF5TmFtZT5YWFhYWFg8L0Rpc3BsYXlOYW1lPgogICAgPC9Pd25lcj4KICAgIDxTdG9yYWdlQ2xhc3M+U1RBTkRBUkQ8L1N0b3JhZ2VDbGFzcz4KICAgIDxJbml0aWF0ZWQ+MjAxMC0xMS0yNlQxOToyNDoxNy4wMDBaPC9Jbml0aWF0ZWQ+CiAgPC9VcGxvYWQ+CiAgPFVwbG9hZD4KICAgIDxLZXk+b2JqZWN0LTI8L0tleT4KICAgIDxVcGxvYWRJZD51cGxvYWQtaWQtMjwvVXBsb2FkSWQ+CiAgICA8SW5pdGlhdG9yPgogICAgICA8SUQ+WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWDwvSUQ+CiAgICAgIDxEaXNwbGF5TmFtZT5YWFhYWFg8L0Rpc3BsYXlOYW1lPgogICAgPC9Jbml0aWF0b3I+CiAgICA8T3duZXI+CiAgICAgIDxJRD5YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYPC9JRD4KICAgICAgPERpc3BsYXlOYW1lPlhYWFhYWDwvRGlzcGxheU5hbWU+CiAgICA8L093bmVyPgogICAgPFN0b3JhZ2VDbGFzcz5TVEFOREFSRDwvU3RvcmFnZUNsYXNzPgogICAgPEluaXRpYXRlZD4yMDEwLTExLTI2VDE5OjI0OjE3LjAwMFo8L0luaXRpYXRlZD4KICA8L1VwbG9hZD4KICA8Q29tbW9uUHJlZml4ZXM+CiAgICA8UHJlZml4PnByZWZpeC0xLzwvUHJlZml4PgogIDwvQ29tbW9uUHJlZml4ZXM+CiAgPENvbW1vblByZWZpeGVzPgogICAgPFByZWZpeD5wcmVmaXgtMi88L1ByZWZpeD4KICA8L0NvbW1vblByZWZpeGVzPgogIDwvTGlzdE11bHRpcGFydFVwbG9hZHNSZXN1bHQ+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/list_objects_empty</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBUaHUsIDA0IEp1bCAyMDEyIDEyOjAwOjAwIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8TGlzdEJ1Y2tldFJlc3VsdCB4bWxucz0iaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vZG9jLzIwMDYtMDMtMDEvIj4KICAgIDxOYW1lPmJ1Y2tldC0xPC9OYW1lPgogICAgPFByZWZpeD48L1ByZWZpeD4KICAgIDxNYXJrZXI+PC9NYXJrZXI+CiAgICA8TWF4S2V5cz48L01heEtleXM+CiAgICA8RGVsaW1pdGVyPi88L0RlbGltaXRlcj4KICAgIDxJc1RydW5jYXRlZD5mYWxzZTwvSXNUcnVuY2F0ZWQ+CjwvTGlzdEJ1Y2tldFJlc3VsdD4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/list_objects_page_1</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBUaHUsIDA0IEp1bCAyMDEyIDEyOjAwOjAwIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8TGlzdEJ1Y2tldFJlc3VsdCB4bWxucz0iaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vZG9jLzIwMDYtMDMtMDEvIj4KICAgIDxOYW1lPmZvbzwvTmFtZT4KICAgIDxQcmVmaXg+PC9QcmVmaXg+CiAgICA8TWFya2VyPjwvTWFya2VyPgogICAgPE5leHRNYXJrZXI+Yi88L05leHRNYXJrZXI+CiAgICA8TWF4S2V5cz48L01heEtleXM+CiAgICA8RGVsaW1pdGVyPi88L0RlbGltaXRlcj4KICAgIDxJc1RydW5jYXRlZD50cnVlPC9Jc1RydW5jYXRlZD4KICAgIDxDb21tb25QcmVmaXhlcz4KICAgICAgICA8UHJlZml4PmEvPC9QcmVmaXg+CiAgICA8L0NvbW1vblByZWZpeGVzPgogICAgPENvbW1vblByZWZpeGVzPgogICAgICAgIDxQcmVmaXg+Yi88L1ByZWZpeD4KICAgIDwvQ29tbW9uUHJlZml4ZXM+CjwvTGlzdEJ1Y2tldFJlc3VsdD4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/list_objects_page_2</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBUaHUsIDA0IEp1bCAyMDEyIDEyOjAwOjAwIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8TGlzdEJ1Y2tldFJlc3VsdCB4bWxucz0iaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vZG9jLzIwMDYtMDMtMDEvIj4KICAgIDxOYW1lPmZvbzwvTmFtZT4KICAgIDxQcmVmaXg+PC9QcmVmaXg+CiAgICA8TWFya2VyPjwvTWFya2VyPgogICAgPE5leHRNYXJrZXI+ZC88L05leHRNYXJrZXI+CiAgICA8TWF4S2V5cz48L01heEtleXM+CiAgICA8RGVsaW1pdGVyPi88L0RlbGltaXRlcj4KICAgIDxJc1RydW5jYXRlZD50cnVlPC9Jc1RydW5jYXRlZD4KICAgIDxDb250ZW50cz4KICAgICAgICA8S2V5PmM8L0tleT4KICAgICAgICA8TGFzdE1vZGlmaWVkPjIwMTItMDQtMDdUMTI6MDA6MDAuMDAwWjwvTGFzdE1vZGlmaWVkPgogICAgICAgIDxFVGFnPiJYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWCI8L0VUYWc+CiAgICAgICAgPFNpemU+MDwvU2l6ZT4KICAgICAgICA8T3duZXI+CiAgICAgICAgICAgIDxJRD5YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYPC9JRD4KICAgICAgICAgICAgPERpc3BsYXlOYW1lPlhYWFhYWFhYWFg8L0Rpc3BsYXlOYW1lPgogICAgICAgIDwvT3duZXI+CiAgICAgICAgPFN0b3JhZ2VDbGFzcz5TVEFOREFSRDwvU3RvcmFnZUNsYXNzPgogICAgPC9Db250ZW50cz4KICAgIDxDb21tb25QcmVmaXhlcz4KICAgICAgICA8UHJlZml4PmQvPC9QcmVmaXg+CiAgICA8L0NvbW1vblByZWZpeGVzPgo8L0xpc3RCdWNrZXRSZXN1bHQ+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/list_objects_page_3</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBUaHUsIDA0IEp1bCAyMDEyIDEyOjAwOjAwIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8TGlzdEJ1Y2tldFJlc3VsdCB4bWxucz0iaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vZG9jLzIwMDYtMDMtMDEvIj4KICAgIDxOYW1lPmJ1Y2tldC0xPC9OYW1lPgogICAgPFByZWZpeD48L1ByZWZpeD4KICAgIDxNYXJrZXI+PC9NYXJrZXI+CiAgICA8TWF4S2V5cz48L01heEtleXM+CiAgICA8RGVsaW1pdGVyPi88L0RlbGltaXRlcj4KICAgIDxJc1RydW5jYXRlZD50cnVlPC9Jc1RydW5jYXRlZD4KICAgIDxDb250ZW50cz4KICAgICAgICA8S2V5PmU8L0tleT4KICAgICAgICA8TGFzdE1vZGlmaWVkPjIwMTItMDQtMDdUMTI6MDA6MDAuMDAwWjwvTGFzdE1vZGlmaWVkPgogICAgICAgIDxFVGFnPiJYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWCI8L0VUYWc+CiAgICAgICAgPFNpemU+MDwvU2l6ZT4KICAgICAgICA8T3duZXI+CiAgICAgICAgICAgIDxJRD5YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYPC9JRD4KICAgICAgICAgICAgPERpc3BsYXlOYW1lPlhYWFhYWFhYWFg8L0Rpc3BsYXlOYW1lPgogICAgICAgIDwvT3duZXI+CiAgICAgICAgPFN0b3JhZ2VDbGFzcz5TVEFOREFSRDwvU3RvcmFnZUNsYXNzPgogICAgPC9Db250ZW50cz4KICAgIDxDb250ZW50cz4KICAgICAgICA8S2V5PmY8L0tleT4KICAgICAgICA8TGFzdE1vZGlmaWVkPjIwMTItMDQtMDdUMTI6MDA6MDAuMDAwWjwvTGFzdE1vZGlmaWVkPgogICAgICAgIDxFVGFnPiJYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWCI8L0VUYWc+CiAgICAgICAgPFNpemU+MDwvU2l6ZT4KICAgICAgICA8T3duZXI+CiAgICAgICAgICAgIDxJRD5YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYPC9JRD4KICAgICAgICAgICAgPERpc3BsYXlOYW1lPlhYWFhYWFhYWFg8L0Rpc3BsYXlOYW1lPgogICAgICAgIDwvT3duZXI+CiAgICAgICAgPFN0b3JhZ2VDbGFzcz5TVEFOREFSRDwvU3RvcmFnZUNsYXNzPgogICAgPC9Db250ZW50cz4KPC9MaXN0QnVja2V0UmVzdWx0Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/list_objects_page_4</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBUaHUsIDA0IEp1bCAyMDEyIDEyOjAwOjAwIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8TGlzdEJ1Y2tldFJlc3VsdCB4bWxucz0iaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vZG9jLzIwMDYtMDMtMDEvIj4KICAgIDxOYW1lPmJ1Y2tldC0xPC9OYW1lPgogICAgPFByZWZpeD48L1ByZWZpeD4KICAgIDxNYXJrZXI+PC9NYXJrZXI+CiAgICA8TmV4dE1hcmtlcj5EVU1NWS88L05leHRNYXJrZXI+CiAgICA8TWF4S2V5cz48L01heEtleXM+CiAgICA8RGVsaW1pdGVyPi88L0RlbGltaXRlcj4KICAgIDxJc1RydW5jYXRlZD50cnVlPC9Jc1RydW5jYXRlZD4KPC9MaXN0QnVja2V0UmVzdWx0Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/list_objects_page_5</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBUaHUsIDA0IEp1bCAyMDEyIDEyOjAwOjAwIEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8TGlzdEJ1Y2tldFJlc3VsdCB4bWxucz0iaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vZG9jLzIwMDYtMDMtMDEvIj4KICAgIDxOYW1lPmJ1Y2tldC0xPC9OYW1lPgogICAgPFByZWZpeD48L1ByZWZpeD4KICAgIDxNYXJrZXI+PC9NYXJrZXI+CiAgICA8TWF4S2V5cz48L01heEtleXM+CiAgICA8RGVsaW1pdGVyPi88L0RlbGltaXRlcj4KICAgIDxJc1RydW5jYXRlZD5mYWxzZTwvSXNUcnVuY2F0ZWQ+CiAgICA8Q29tbW9uUHJlZml4ZXM+CiAgICAgICAgPFByZWZpeD5nLzwvUHJlZml4PgogICAgPC9Db21tb25QcmVmaXhlcz4KPC9MaXN0QnVja2V0UmVzdWx0Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/list_parts_page_1</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBNb24sIDMwIEp1bCAyMDEyIDIwOjAxOjU3IEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8TGlzdFBhcnRzUmVzdWx0IHhtbG5zPSJodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kb2MvMjAwNi0wMy0wMS8iPgogIDxCdWNrZXQ+YnVja2V0LTE8L0J1Y2tldD4KICA8S2V5Pm9iamVjdC0xPC9LZXk+CiAgPFVwbG9hZElkPnVwbG9hZC1pZC0xPC9VcGxvYWRJZD4KICA8SW5pdGlhdG9yPgogICAgICA8SUQ+WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWDwvSUQ+CiAgICAgIDxEaXNwbGF5TmFtZT5YWFhYWFg8L0Rpc3BsYXlOYW1lPgogIDwvSW5pdGlhdG9yPgogIDxPd25lcj4KICAgICAgPElEPlhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg8L0lEPgogICAgICA8RGlzcGxheU5hbWU+WFhYWFhYPC9EaXNwbGF5TmFtZT4KICA8L093bmVyPgogIDxTdG9yYWdlQ2xhc3M+U1RBTkRBUkQ8L1N0b3JhZ2VDbGFzcz4KICA8UGFydE51bWJlck1hcmtlcj4xPC9QYXJ0TnVtYmVyTWFya2VyPgogIDxOZXh0UGFydE51bWJlck1hcmtlcj4xPC9OZXh0UGFydE51bWJlck1hcmtlcj4KICA8TWF4UGFydHMvPgogIDxJc1RydW5jYXRlZD50cnVlPC9Jc1RydW5jYXRlZD4KPC9MaXN0UGFydHNSZXN1bHQ+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/list_parts_page_2</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBNb24sIDMwIEp1bCAyMDEyIDIwOjAxOjU3IEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8TGlzdFBhcnRzUmVzdWx0IHhtbG5zPSJodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kb2MvMjAwNi0wMy0wMS8iPgogIDxCdWNrZXQ+YnVja2V0LTE8L0J1Y2tldD4KICA8S2V5Pm9iamVjdC0xPC9LZXk+CiAgPFVwbG9hZElkPnVwbG9hZC1pZC0xPC9VcGxvYWRJZD4KICA8SW5pdGlhdG9yPgogICAgICA8SUQ+WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWDwvSUQ+CiAgICAgIDxEaXNwbGF5TmFtZT5YWFhYWFg8L0Rpc3BsYXlOYW1lPgogIDwvSW5pdGlhdG9yPgogIDxPd25lcj4KICAgICAgPElEPlhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg8L0lEPgogICAgICA8RGlzcGxheU5hbWU+WFhYWFhYPC9EaXNwbGF5TmFtZT4KICA8L093bmVyPgogIDxTdG9yYWdlQ2xhc3M+U1RBTkRBUkQ8L1N0b3JhZ2VDbGFzcz4KICA8UGFydE51bWJlck1hcmtlcj4xPC9QYXJ0TnVtYmVyTWFya2VyPgogIDxOZXh0UGFydE51bWJlck1hcmtlci8+CiAgPE1heFBhcnRzLz4KICA8SXNUcnVuY2F0ZWQ+ZmFsc2U8L0lzVHJ1bmNhdGVkPgogIDxQYXJ0PgogICAgPFBhcnROdW1iZXI+MTwvUGFydE51bWJlcj4KICAgIDxMYXN0TW9kaWZpZWQ+MjAxMC0xMS0xMFQyMDo0ODozNC4wMDBaPC9MYXN0TW9kaWZpZWQ+CiAgICA8RVRhZz4iNzc3OGFlZjgzZjY2YWJjMWZhMWU4NDc3ZjI5NmQzOTQiPC9FVGFnPgogICAgPFNpemU+MTA0ODU3NjA8L1NpemU+CiAgPC9QYXJ0PgogIDxQYXJ0PgogICAgPFBhcnROdW1iZXI+MjwvUGFydE51bWJlcj4KICAgIDxMYXN0TW9kaWZpZWQ+MjAxMC0xMS0xMFQyMDo0ODozMy4wMDBaPC9MYXN0TW9kaWZpZWQ+CiAgICA8RVRhZz4iYWFhYTE4ZGI0Y2MyZjg1Y2VkZWY2NTRmY2NjNGE0eDgiPC9FVGFnPgogICAgPFNpemU+MTA0ODU3NjA8L1NpemU+CiAgPC9QYXJ0Pgo8L0xpc3RQYXJ0c1Jlc3VsdD4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/list_parts_single</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKeC1hbXotcmVxdWVzdC1pZDogWFhYWFhYWFhYWFhYWFhYWApEYXRlOiBNb24sIDMwIEp1bCAyMDEyIDIwOjAxOjU3IEdNVApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbApUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZApTZXJ2ZXI6IEFtYXpvblMzCgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgo8TGlzdFBhcnRzUmVzdWx0IHhtbG5zPSJodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kb2MvMjAwNi0wMy0wMS8iPgogIDxCdWNrZXQ+YnVja2V0LTE8L0J1Y2tldD4KICA8S2V5Pm9iamVjdC0xPC9LZXk+CiAgPFVwbG9hZElkPnVwbG9hZC1pZC0xPC9VcGxvYWRJZD4KICA8SW5pdGlhdG9yPgogICAgICA8SUQ+WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWDwvSUQ+CiAgICAgIDxEaXNwbGF5TmFtZT5YWFhYWFg8L0Rpc3BsYXlOYW1lPgogIDwvSW5pdGlhdG9yPgogIDxPd25lcj4KICAgICAgPElEPlhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg8L0lEPgogICAgICA8RGlzcGxheU5hbWU+WFhYWFhYPC9EaXNwbGF5TmFtZT4KICA8L093bmVyPgogIDxTdG9yYWdlQ2xhc3M+U1RBTkRBUkQ8L1N0b3JhZ2VDbGFzcz4KICA8UGFydE51bWJlck1hcmtlcj4xPC9QYXJ0TnVtYmVyTWFya2VyPgogIDxOZXh0UGFydE51bWJlck1hcmtlci8+CiAgPE1heFBhcnRzLz4KICA8SXNUcnVuY2F0ZWQ+ZmFsc2U8L0lzVHJ1bmNhdGVkPgogIDxQYXJ0PgogICAgPFBhcnROdW1iZXI+MTwvUGFydE51bWJlcj4KICAgIDxMYXN0TW9kaWZpZWQ+MjAxMC0xMS0xMFQyMDo0ODozNC4wMDBaPC9MYXN0TW9kaWZpZWQ+CiAgICA8RVRhZz4iNzc3OGFlZjgzZjY2YWJjMWZhMWU4NDc3ZjI5NmQzOTQiPC9FVGFnPgogICAgPFNpemU+MTA0ODU3NjA8L1NpemU+CiAgPC9QYXJ0Pgo8L0xpc3RQYXJ0c1Jlc3VsdD4K]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/s3/upload_part</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16LWlkLTI6IFZ2YWcxTHVCeVJ4OWU2ajVPbmltcnU5cE80WlZLbkoyUXo3L0MxTlBjZlRXQXRSUGZUYU9GZz09CngtYW16LXJlcXVlc3QtaWQ6IDY1NmM3NjY5NmU2NzI3NzMyMDcyNjU3MTc1NjU3Mzc0CkRhdGU6ICBNb24sIDEgTm92IDIwMTAgMjA6MzQ6NTYgR01UCkVUYWc6ICJiNTQzNTdmYWYwNjMyY2NlNDZlOTQyZmE2ODM1NmIzOCIKQ29udGVudC1MZW5ndGg6IDAKQ29ubmVjdGlvbjoga2VlcC1hbGl2ZQpTZXJ2ZXI6IEFtYXpvblMzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/sts/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/tests/mock/sts/get_session_token</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCngtYW16bi1SZXF1ZXN0SWQ6IGZlNGVhMDlhLTlhMzctMTFlMS1iYTA4LWMzOTdiYzM0MTljZgpDb250ZW50LVR5cGU6IHRleHQveG1sCkRhdGU6IFRodSwgMTAgTWF5IDIwMTIgMDA6MzU6MDcgR01UCgo8R2V0U2Vzc2lvblRva2VuUmVzcG9uc2UgeG1sbnM9Imh0dHBzOi8vc3RzLmFtYXpvbmF3cy5jb20vZG9jLzIwMTEtMDYtMTUvIj4KICA8R2V0U2Vzc2lvblRva2VuUmVzdWx0PgogICAgPENyZWRlbnRpYWxzPgogICAgICA8U2Vzc2lvblRva2VuPgogICAgICAgQVFvRVhBTVBMRUg0YW9BSDBnTkNBUHlKeHo0QmxDRkZ4V05FMU9QVGdrNVR0aFQrRnZ3cW5Ld1JjT0lmclJoM2MvTAogICAgICAgVG82VURkeUp3T092RVZQdkxYQ3JyclV0ZG5uaUNFWEFNUExFL0l2VTFkWVVnMlJWQUpCYW5MaUhiNElnUm1wUlYzegogICAgICAgcmt1V0pPZ1FzOElaWmFJdjJCWElhMlI0T2xna0JOOWJrVUROQ0ppQmViL0FYbHpCQmtvN2IxNWZqckJzMitjVFF0cAogICAgICAgWjNDWVdGWEc4QzV6cXgzN3duT0U0OW1SbC8rT3RrSUtHTzdmQUUKICAgICAgPC9TZXNzaW9uVG9rZW4+CiAgICAgIDxTZWNyZXRBY2Nlc3NLZXk+CiAgICAgIHdKYWxyWFV0bkZFTUkvSzdNREVORy9iUHhSZmlDWXpFWEFNUExFS0VZCiAgICAgIDwvU2VjcmV0QWNjZXNzS2V5PgogICAgICA8RXhwaXJhdGlvbj4yMDExLTA3LTExVDE5OjU1OjI5LjYxMVo8L0V4cGlyYXRpb24+CiAgICAgIDxBY2Nlc3NLZXlJZD5BS0lBSU9TRk9ETk43RVhBTVBMRTwvQWNjZXNzS2V5SWQ+CiAgICA8L0NyZWRlbnRpYWxzPgogIDwvR2V0U2Vzc2lvblRva2VuUmVzdWx0PgogIDxSZXNwb25zZU1ldGFkYXRhPgogICAgPFJlcXVlc3RJZD41OGM1ZGJhZS1hYmVmLTExZTAtOGNmZS0wOTAzOTg0NGFjN2Q8L1JlcXVlc3RJZD4KICA8L1Jlc3BvbnNlTWV0YWRhdGE+CjwvR2V0U2Vzc2lvblRva2VuUmVzcG9uc2U+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/test_services.json.dist</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgImluY2x1ZGVzIjogWyJfYXdzIl0sCiAgICAic2VydmljZXMiOiB7CiAgICAgICAgImRlZmF1bHRfc2V0dGluZ3MiOiB7CiAgICAgICAgICAgICJwYXJhbXMiOiB7CiAgICAgICAgICAgICAgICAia2V5IjogImNoYW5nZV9tZSIsCiAgICAgICAgICAgICAgICAic2VjcmV0IjogImNoYW5nZV9tZSIsCiAgICAgICAgICAgICAgICAicmVnaW9uIjogInVzLWVhc3QtMSIsCiAgICAgICAgICAgICAgICAic3NsLmNlcnRpZmljYXRlX2F1dGhvcml0eSI6IHRydWUKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImNsb3VkZnJvbnQiOiB7CiAgICAgICAgICAgICJleHRlbmRzIjogImNsb3VkZnJvbnQiLAogICAgICAgICAgICAicGFyYW1zIjogewogICAgICAgICAgICAgICAgInByaXZhdGVfa2V5IjogImNoYW5nZV9tZSIsCiAgICAgICAgICAgICAgICAia2V5X3BhaXJfaWQiOiAiY2hhbmdlX21lIgogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/aws/aws-sdk-php/UPGRADING.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VXBncmFkaW5nIEd1aWRlCj09PT09PT09PT09PT09PQoKVXBncmFkZSBmcm9tIDIuMyB0byAyLjQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMjIyBBbWF6b24gQ2xvdWRGcm9udCBDbGllbnQKClRoZSBuZXcgMjAxMy0wNS0xMiBBUEkgdmVyc2lvbiBvZiBBbWF6b24gQ2xvdWRGcm9udCBpbmNsdWRlcyBzdXBwb3J0IGZvciBjdXN0b20gU1NMIGNlcnRpZmljYXRlcyB2aWEgdGhlCmBWaWV3ZXJDZXJ0aWZpY2F0ZWAgcGFyYW1ldGVyLCBidXQgYWxzbyBpbnRyb2R1Y2VzIGJyZWFraW5nIGNoYW5nZXMgdG8gdGhlIEFQSS4gVmVyc2lvbiAyLjQgb2YgdGhlIFNESyBub3cgc2hpcHMgd2l0aAp0d28gdmVyc2lvbnMgb2YgdGhlIEFtYXpvbiBDbG91ZEZyb250IHNlcnZpY2UgZGVzY3JpcHRpb24sIG9uZSBmb3IgdGhlIG5ldyAyMDEzLTA1LTEyIEFQSSBhbmQgb25lIGZvciB0aGUgbmV4dCBtb3N0CnJlY2VudCAyMDEyLTA1LTA1IEFQSS4gVGhlIFNESyBkZWZhdWx0cyB0byB1c2luZyB0aGUgbmV3ZXN0IEFQSSB2ZXJzaW9uLCBzbyBDbG91ZEZyb250IHVzZXJzIG1heSBleHBlcmllbmNlIGEgYnJlYWtpbmcKY2hhbmdlIHRvIHRoZWlyIHByb2plY3RzIHdoZW4gdXBncmFkaW5nLiBUaGlzIGNhbiBiZSBlYXNpbHkgY2lyY3VtdmVudGVkIGJ5IHN3aXRjaGluZyBiYWNrIHRvIHRoZSAyMDEyLTA1LTA1IEFQSSBieQp1c2luZyB0aGUgYHZlcnNpb25gIG9wdGlvbiB3aGVuIGluc3RhbnRpYXRpbmcgdGhlIENsb3VkRnJvbnQgY2xpZW50LgoKIyMjIEd1enpsZSAzLjcKClZlcnNpb24gMi40IG9mIHRoZSBBV1MgU0RLIGZvciBQSFAgcmVxdWlyZXMgYXQgbGVhc3QgdmVyc2lvbiAzLjcgb2YgR3V6emxlLgoKVXBncmFkZSBmcm9tIDIuMiB0byAyLjMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMjIyBBbWF6b24gRHluYW1vREIgQ2xpZW50CgpUaGUgbmV3bHkgcmVsZWFzZWQgMjAxMi0wOC0xMCBBUEkgdmVyc2lvbiBvZiB0aGUgQW1hem9uIER5bmFtb0RCIHNlcnZpY2UgaW5jbHVkZXMgdGhlIG5ldyBMb2NhbCBTZWNvbmRhcnkgSW5kZXhlcwpmZWF0dXJlLCBidXQgYWxzbyBpbnRyb2R1Y2VzIGJyZWFraW5nIGNoYW5nZXMgdG8gdGhlIEFQSS4gVGhlIG1vc3Qgbm90YWJsZSBjaGFuZ2UgaXMgaW4gdGhlIHdheSB0aGF0IHlvdSBzcGVjaWZ5IGtleXMKd2hlbiBjcmVhdGluZyB0YWJsZXMgYW5kIHJldHJpZXZpbmcgaXRlbXMuIFZlcnNpb24gMi4zIG9mIHRoZSBTREsgbm93IHNoaXBzIHdpdGggMiB2ZXJzaW9ucyBvZiB0aGUgRHluYW1vREIgc2VydmljZQpkZXNjcmlwdGlvbiwgb25lIGZvciB0aGUgbmV3IDIwMTItMDgtMTAgQVBJIGFuZCBvbmUgZm9yIHRoZSBuZXh0IG1vc3QgcmVjZW50IDIwMTEtMTItMDUgQVBJLiBUaGUgU0RLIGRlZmF1bHRzIHRvIHVzaW5nCnRoZSBuZXdlc3QgQVBJIHZlcnNpb24sIHNvIER5bmFtb0RCIHVzZXJzIG1heSBleHBlcmllbmNlIGEgYnJlYWtpbmcgY2hhbmdlIHRvIHRoZWlyIHByb2plY3RzIHdoZW4gdXBncmFkaW5nLiBUaGlzIGNhbiBiZQplYXNpbHkgZml4ZWQgYnkgc3dpdGNoaW5nIGJhY2sgdG8gdGhlIDIwMTEtMTItMDUgQVBJIGJ5IHVzaW5nIHRoZSBuZXcgYHZlcnNpb25gIGNvbmZpZ3VyYXRpb24gc2V0dGluZyB3aGVuIGluc3RhbnRpYXRpbmcKdGhlIER5bmFtb0RCIGNsaWVudC4KCmBgYHBocAp1c2UgQXdzXER5bmFtb0RiXER5bmFtb0RiQ2xpZW50OwoKJGNsaWVudCA9IER5bmFtb0RiQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgJ2tleScgICAgID0+ICc8YXdzIGFjY2VzcyBrZXk+JywKICAgICdzZWNyZXQnICA9PiAnPGF3cyBzZWNyZXQga2V5PicsCiAgICAncmVnaW9uJyAgPT4gJzxyZWdpb24gbmFtZT4nLAogICAgJ3ZlcnNpb24nID0+ICcyMDExLTEyLTA1JwopKTsKYGBgCgpJZiB5b3UgYXJlIHVzaW5nIGEgY29uZmlnIGZpbGUgd2l0aCBgQXdzXENvbW1vblxBd3NgLCB0aGVuIHlvdSBjYW4gbW9kaWZ5IHlvdXIgZmlsZSBsaWtlIHRoZSBmb2xsb3dpbmcuCgpgYGBqc29uCnsKICAgICJpbmNsdWRlcyI6IFsiX2F3cyJdLAogICAgInNlcnZpY2VzIjogewogICAgICAgICJkZWZhdWx0X3NldHRpbmdzIjogewogICAgICAgICAgICAicGFyYW1zIjogewogICAgICAgICAgICAgICAgImtleSI6ICI8YXdzIGFjY2VzcyBrZXk+IiwKICAgICAgICAgICAgICAgICJzZWNyZXQiOiAiPGF3cyBzZWNyZXQga2V5PiIsCiAgICAgICAgICAgICAgICAicmVnaW9uIjogIjxyZWdpb24gbmFtZT4iCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJkeW5hbW9kYiI6IHsKICAgICAgICAgICAgImV4dGVuZHMiOiAiZHluYW1vZGIiLAogICAgICAgICAgICAicGFyYW1zIjogewogICAgICAgICAgICAgICAgInZlcnNpb24iOiAiMjAxMS0xMi0wNSIKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQpgYGAKClRoZSBbU0RLIHVzZXIgZ3VpZGVdKGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3cy1zZGstcGhwL2d1aWRlL2xhdGVzdC9pbmRleC5odG1sKSBoYXMgYSBndWlkZSBhbmQgZXhhbXBsZXMgZm9yIGJvdGgKdmVyc2lvbnMgb2YgdGhlIEFQSS4KCiMjIyBHdXp6bGUgMy40LjEKClZlcnNpb24gMi4zIG9mIHRoZSBBV1MgU0RLIGZvciBQSFAgcmVxdWlyZXMgYXQgbGVhc3QgdmVyc2lvbiAzLjQuMSBvZiBHdXp6bGUuCgpVcGdyYWRlIGZyb20gMi4xIHRvIDIuMgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIyMjIEZ1bGwgU2VydmljZSBDb3ZlcmFnZQoKVGhlIEFXUyBTREsgZm9yIFBIUCBub3cgc3VwcG9ydHMgdGhlIGZ1bGwgc2V0IG9mIEFXUyBzZXJ2aWNlcy4KCiMjIyBHdXp6bGUgMy4zCgpWZXJzaW9uIDIuMiBvZiB0aGUgQVdTIFNESyBmb3IgUEhQIHJlcXVpcmVzIGF0IGxlYXN0IHZlcnNpb24gMy4zIG9mIEd1enpsZS4KClVwZ3JhZGUgZnJvbSAyLjAgdG8gMi4xCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgojIyMgR2VuZXJhbAoKU2VydmljZSBkZXNjcmlwdGlvbnMgYXJlIG5vdyB2ZXJzaW9uZWQgdW5kZXIgdGhlIFJlc291cmNlcy8gZGlyZWN0b3J5IG9mIGVhY2ggY2xpZW50LgoKIyMjIFdhaXRlcnMKCldhaXRlcnMgbm93IHJlcXVpcmUgYW4gYXNzb2NpYXRpdmUgYXJyYXkgYXMgaW5wdXQgZm9yIHRoZSB1bmRlcmx5aW5nIG9wZXJhdGlvbiBwZXJmb3JtZWQgYnkgYSB3YWl0ZXIuIFRoZSBjb25maWd1cmF0aW9uCnN5c3RlbSBmb3Igd2FpdGVycyB1bmRlciAyLjAueCB1dGlsaXplZCBzdHJpbmdzIHRvIGRldGVybWluZSB0aGUgcGFyYW1ldGVycyB1c2VkIHRvIGNyZWF0ZSBhbiBvcGVyYXRpb24uIEZvciBleGFtcGxlLAp3aGVuIHdhaXRpbmcgZm9yIGFuIG9iamVjdCB0byBleGlzdCB3aXRoIEFtYXpvbiBTMywgeW91IHdvdWxkIHBhc3MgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgYnVja2V0IG5hbWUgY29uY2F0ZW5hdGVkCndpdGggdGhlIG9iamVjdCBuYW1lIHVzaW5nIGEgJy8nIHNlcGFyYXRvciAoZS5nLiAnZm9vL2JheicpLiBJbiB0aGUgMi4xIHJlbGVhc2UsIHRoZXNlIHBhcmFtZXRlcnMgYXJlIG5vdyBtb3JlCmV4cGxpY2l0bHkgdGllZCB0byB0aGUgdW5kZXJseWluZyBvcGVyYXRpb24gdXRpbGl6ZWQgYnkgYSB3YWl0ZXIuIEZvciBleGFtcGxlLCB0byB1c2UgdGhlIE9iamVjdEV4aXN0cyB3YWl0ZXIgb2YKQW1hem9uIFMzIHBhc3MgYW4gYXNzb2NpYXRpdmUgYXJyYXkgb2YgYGFycmF5KCdCdWNrZXQnID0+ICdmb28nLCAnS2V5JyA9PiAnYmF6JylgLiBUaGVzZSBvcHRpb25zIG1hdGNoIHRoZSBvcHRpb24gbmFtZXMKYW5kIHJ1bGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgSGVhZE9iamVjdCBvcGVyYXRpb24gcGVyZm9ybWVkIGJ5IHRoZSB3YWl0ZXIuIFRoZSBBUEkgZG9jdW1lbnRhdGlvbiBvZiBlYWNoIGNsaWVudApkZXNjcmliZXMgdGhlIHdhaXRlcnMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGllbnQgYW5kIHdoYXQgdW5kZXJseWluZyBvcGVyYXRpb24gaXMgcmVzcG9uc2libGUgZm9yIHdhaXRpbmcgb24gdGhlCnJlc291cmNlLiBXYWl0ZXIgc3BlY2lmaWMgb3B0aW9ucyBsaWtlIHRoZSBtYXhpbXVtIG51bWJlciBvZiBhdHRlbXB0cyAobWF4X2F0dGVtcHRzKSBvciBpbnRlcnZhbCB0byB3YWl0IGJldHdlZW4KcmV0cmllcyAoaW50ZXJ2YWwpIGNhbiBiZSBzcGVjaWZpZWQgaW4gdGhpcyBzYW1lIGNvbmZpZ3VyYXRpb24gYXJyYXkgYnkgcHJlZml4aW5nIHRoZSBrZXlzIHdpdGggYHdhaXRlci5gLgoKV2FpdGVycyBjYW4gYWxzbyBiZSBpbnZva2VkIHVzaW5nIG1hZ2ljIG1ldGhvZHMgb24gdGhlIGNsaWVudC4gVGhlc2UgbWFnaWMgbWV0aG9kcyBhcmUgbGlzdGVkIGluIGVhY2ggY2xpZW50J3MgZG9jYmxvY2sKdXNpbmcgYEBtZXRob2RgIHRhZ3MuCgpgYGBwaHAKJHMzQ2xpZW50LT53YWl0VW50aWxPYmplY3RFeGlzdHMoYXJyYXkoCiAgICAnQnVja2V0JyA9PiAnZm9vJywKICAgICdLZXknID0+ICdiYXInLAogICAgJ3dhaXRlci5tYXhfYXR0ZW1wdHMnID0+IDMKKSk7CmBgYAo=]]></data>
	</file>
	<file>
	  <filename>/lib/composer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/composer/autoload_classmap.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIGF1dG9sb2FkX2NsYXNzbWFwLnBocCBAZ2VuZXJhdGVkIGJ5IENvbXBvc2VyCgokdmVuZG9yRGlyID0gZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSk7CiRiYXNlRGlyID0gZGlybmFtZSgkdmVuZG9yRGlyKTsKCnJldHVybiBhcnJheSgKKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/composer/autoload_namespaces.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIGF1dG9sb2FkX25hbWVzcGFjZXMucGhwIEBnZW5lcmF0ZWQgYnkgQ29tcG9zZXIKCiR2ZW5kb3JEaXIgPSBkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKTsKJGJhc2VEaXIgPSBkaXJuYW1lKCR2ZW5kb3JEaXIpOwoKcmV0dXJuIGFycmF5KAogICAgJ1N5bWZvbnlcXENvbXBvbmVudFxcRXZlbnREaXNwYXRjaGVyXFwnID0+IGFycmF5KCR2ZW5kb3JEaXIgLiAnL3N5bWZvbnkvZXZlbnQtZGlzcGF0Y2hlcicpLAogICAgJ0d1enpsZVxcVGVzdHMnID0+IGFycmF5KCR2ZW5kb3JEaXIgLiAnL2d1enpsZS9ndXp6bGUvdGVzdHMnKSwKICAgICdHdXp6bGUnID0+IGFycmF5KCR2ZW5kb3JEaXIgLiAnL2d1enpsZS9ndXp6bGUvc3JjJyksCiAgICAnQXdzJyA9PiBhcnJheSgkdmVuZG9yRGlyIC4gJy9hd3MvYXdzLXNkay1waHAvc3JjJyksCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/composer/autoload_psr4.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIGF1dG9sb2FkX3BzcjQucGhwIEBnZW5lcmF0ZWQgYnkgQ29tcG9zZXIKCiR2ZW5kb3JEaXIgPSBkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKTsKJGJhc2VEaXIgPSBkaXJuYW1lKCR2ZW5kb3JEaXIpOwoKcmV0dXJuIGFycmF5KAopOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/composer/autoload_real.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIGF1dG9sb2FkX3JlYWwucGhwIEBnZW5lcmF0ZWQgYnkgQ29tcG9zZXIKCmNsYXNzIENvbXBvc2VyQXV0b2xvYWRlckluaXRlNzI3YTc1MzVhMDk1ZWVmZDIxOWI1MDkyOTAyZDkwMAp7CiAgICBwcml2YXRlIHN0YXRpYyAkbG9hZGVyOwoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZENsYXNzTG9hZGVyKCRjbGFzcykKICAgIHsKICAgICAgICBpZiAoJ0NvbXBvc2VyXEF1dG9sb2FkXENsYXNzTG9hZGVyJyA9PT0gJGNsYXNzKSB7CiAgICAgICAgICAgIHJlcXVpcmUgX19ESVJfXyAuICcvQ2xhc3NMb2FkZXIucGhwJzsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRMb2FkZXIoKQogICAgewogICAgICAgIGlmIChudWxsICE9PSBzZWxmOjokbG9hZGVyKSB7CiAgICAgICAgICAgIHJldHVybiBzZWxmOjokbG9hZGVyOwogICAgICAgIH0KCiAgICAgICAgc3BsX2F1dG9sb2FkX3JlZ2lzdGVyKGFycmF5KCdDb21wb3NlckF1dG9sb2FkZXJJbml0ZTcyN2E3NTM1YTA5NWVlZmQyMTliNTA5MjkwMmQ5MDAnLCAnbG9hZENsYXNzTG9hZGVyJyksIHRydWUsIHRydWUpOwogICAgICAgIHNlbGY6OiRsb2FkZXIgPSAkbG9hZGVyID0gbmV3IFxDb21wb3NlclxBdXRvbG9hZFxDbGFzc0xvYWRlcigpOwogICAgICAgIHNwbF9hdXRvbG9hZF91bnJlZ2lzdGVyKGFycmF5KCdDb21wb3NlckF1dG9sb2FkZXJJbml0ZTcyN2E3NTM1YTA5NWVlZmQyMTliNTA5MjkwMmQ5MDAnLCAnbG9hZENsYXNzTG9hZGVyJykpOwoKICAgICAgICAkdmVuZG9yRGlyID0gZGlybmFtZShfX0RJUl9fKTsKICAgICAgICAkYmFzZURpciA9IGRpcm5hbWUoJHZlbmRvckRpcik7CgogICAgICAgICRtYXAgPSByZXF1aXJlIF9fRElSX18gLiAnL2F1dG9sb2FkX25hbWVzcGFjZXMucGhwJzsKICAgICAgICBmb3JlYWNoICgkbWFwIGFzICRuYW1lc3BhY2UgPT4gJHBhdGgpIHsKICAgICAgICAgICAgJGxvYWRlci0+c2V0KCRuYW1lc3BhY2UsICRwYXRoKTsKICAgICAgICB9CgogICAgICAgICRtYXAgPSByZXF1aXJlIF9fRElSX18gLiAnL2F1dG9sb2FkX3BzcjQucGhwJzsKICAgICAgICBmb3JlYWNoICgkbWFwIGFzICRuYW1lc3BhY2UgPT4gJHBhdGgpIHsKICAgICAgICAgICAgJGxvYWRlci0+c2V0UHNyNCgkbmFtZXNwYWNlLCAkcGF0aCk7CiAgICAgICAgfQoKICAgICAgICAkY2xhc3NNYXAgPSByZXF1aXJlIF9fRElSX18gLiAnL2F1dG9sb2FkX2NsYXNzbWFwLnBocCc7CiAgICAgICAgaWYgKCRjbGFzc01hcCkgewogICAgICAgICAgICAkbG9hZGVyLT5hZGRDbGFzc01hcCgkY2xhc3NNYXApOwogICAgICAgIH0KCiAgICAgICAgJGxvYWRlci0+cmVnaXN0ZXIodHJ1ZSk7CgogICAgICAgIHJldHVybiAkbG9hZGVyOwogICAgfQp9CgpmdW5jdGlvbiBjb21wb3NlclJlcXVpcmVlNzI3YTc1MzVhMDk1ZWVmZDIxOWI1MDkyOTAyZDkwMCgkZmlsZSkKewogICAgcmVxdWlyZSAkZmlsZTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/composer/ClassLoader.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIENvbXBvc2VyLgogKgogKiAoYykgTmlscyBBZGVybWFubiA8bmFkZXJtYW5AbmFkZXJtYW4uZGU+CiAqICAgICBKb3JkaSBCb2dnaWFubyA8ai5ib2dnaWFub0BzZWxkLmJlPgogKgogKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRQogKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS4KICovCgpuYW1lc3BhY2UgQ29tcG9zZXJcQXV0b2xvYWQ7CgovKioKICogQ2xhc3NMb2FkZXIgaW1wbGVtZW50cyBhIFBTUi0wIGNsYXNzIGxvYWRlcgogKgogKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3BocC1maWcvZmlnLXN0YW5kYXJkcy9ibG9iL21hc3Rlci9hY2NlcHRlZC9QU1ItMC5tZAogKgogKiAgICAgJGxvYWRlciA9IG5ldyBcQ29tcG9zZXJcQXV0b2xvYWRcQ2xhc3NMb2FkZXIoKTsKICoKICogICAgIC8vIHJlZ2lzdGVyIGNsYXNzZXMgd2l0aCBuYW1lc3BhY2VzCiAqICAgICAkbG9hZGVyLT5hZGQoJ1N5bWZvbnlcQ29tcG9uZW50JywgX19ESVJfXy4nL2NvbXBvbmVudCcpOwogKiAgICAgJGxvYWRlci0+YWRkKCdTeW1mb255JywgICAgICAgICAgIF9fRElSX18uJy9mcmFtZXdvcmsnKTsKICoKICogICAgIC8vIGFjdGl2YXRlIHRoZSBhdXRvbG9hZGVyCiAqICAgICAkbG9hZGVyLT5yZWdpc3RlcigpOwogKgogKiAgICAgLy8gdG8gZW5hYmxlIHNlYXJjaGluZyB0aGUgaW5jbHVkZSBwYXRoIChlZy4gZm9yIFBFQVIgcGFja2FnZXMpCiAqICAgICAkbG9hZGVyLT5zZXRVc2VJbmNsdWRlUGF0aCh0cnVlKTsKICoKICogSW4gdGhpcyBleGFtcGxlLCBpZiB5b3UgdHJ5IHRvIHVzZSBhIGNsYXNzIGluIHRoZSBTeW1mb255XENvbXBvbmVudAogKiBuYW1lc3BhY2Ugb3Igb25lIG9mIGl0cyBjaGlsZHJlbiAoU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZSBmb3IgaW5zdGFuY2UpLAogKiB0aGUgYXV0b2xvYWRlciB3aWxsIGZpcnN0IGxvb2sgZm9yIHRoZSBjbGFzcyB1bmRlciB0aGUgY29tcG9uZW50LwogKiBkaXJlY3RvcnksIGFuZCBpdCB3aWxsIHRoZW4gZmFsbGJhY2sgdG8gdGhlIGZyYW1ld29yay8gZGlyZWN0b3J5IGlmIG5vdAogKiBmb3VuZCBiZWZvcmUgZ2l2aW5nIHVwLgogKgogKiBUaGlzIGNsYXNzIGlzIGxvb3NlbHkgYmFzZWQgb24gdGhlIFN5bWZvbnkgVW5pdmVyc2FsQ2xhc3NMb2FkZXIuCiAqCiAqIEBhdXRob3IgRmFiaWVuIFBvdGVuY2llciA8ZmFiaWVuQHN5bWZvbnkuY29tPgogKiBAYXV0aG9yIEpvcmRpIEJvZ2dpYW5vIDxqLmJvZ2dpYW5vQHNlbGQuYmU+CiAqLwpjbGFzcyBDbGFzc0xvYWRlcgp7CiAgICAvLyBQU1ItNAogICAgcHJpdmF0ZSAkcHJlZml4TGVuZ3Roc1BzcjQgPSBhcnJheSgpOwogICAgcHJpdmF0ZSAkcHJlZml4RGlyc1BzcjQgPSBhcnJheSgpOwogICAgcHJpdmF0ZSAkZmFsbGJhY2tEaXJzUHNyNCA9IGFycmF5KCk7CgogICAgLy8gUFNSLTAKICAgIHByaXZhdGUgJHByZWZpeGVzUHNyMCA9IGFycmF5KCk7CiAgICBwcml2YXRlICRmYWxsYmFja0RpcnNQc3IwID0gYXJyYXkoKTsKCiAgICBwcml2YXRlICR1c2VJbmNsdWRlUGF0aCA9IGZhbHNlOwogICAgcHJpdmF0ZSAkY2xhc3NNYXAgPSBhcnJheSgpOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQcmVmaXhlcygpCiAgICB7CiAgICAgICAgcmV0dXJuIGNhbGxfdXNlcl9mdW5jX2FycmF5KCdhcnJheV9tZXJnZScsICR0aGlzLT5wcmVmaXhlc1BzcjApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQcmVmaXhlc1BzcjQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cHJlZml4RGlyc1BzcjQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldEZhbGxiYWNrRGlycygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5mYWxsYmFja0RpcnNQc3IwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGYWxsYmFja0RpcnNQc3I0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmZhbGxiYWNrRGlyc1BzcjQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldENsYXNzTWFwKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNsYXNzTWFwOwogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIGFycmF5ICRjbGFzc01hcCBDbGFzcyB0byBmaWxlbmFtZSBtYXAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZENsYXNzTWFwKGFycmF5ICRjbGFzc01hcCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPmNsYXNzTWFwKSB7CiAgICAgICAgICAgICR0aGlzLT5jbGFzc01hcCA9IGFycmF5X21lcmdlKCR0aGlzLT5jbGFzc01hcCwgJGNsYXNzTWFwKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+Y2xhc3NNYXAgPSAkY2xhc3NNYXA7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUmVnaXN0ZXJzIGEgc2V0IG9mIFBTUi0wIGRpcmVjdG9yaWVzIGZvciBhIGdpdmVuIHByZWZpeCwgZWl0aGVyCiAgICAgKiBhcHBlbmRpbmcgb3IgcHJlcGVuZGluZyB0byB0aGUgb25lcyBwcmV2aW91c2x5IHNldCBmb3IgdGhpcyBwcmVmaXguCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAkcHJlZml4ICBUaGUgcHJlZml4CiAgICAgKiBAcGFyYW0gYXJyYXl8c3RyaW5nICRwYXRocyAgIFRoZSBQU1ItMCByb290IGRpcmVjdG9yaWVzCiAgICAgKiBAcGFyYW0gYm9vbCAgICAgICAgICRwcmVwZW5kIFdoZXRoZXIgdG8gcHJlcGVuZCB0aGUgZGlyZWN0b3JpZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZCgkcHJlZml4LCAkcGF0aHMsICRwcmVwZW5kID0gZmFsc2UpCiAgICB7CiAgICAgICAgaWYgKCEkcHJlZml4KSB7CiAgICAgICAgICAgIGlmICgkcHJlcGVuZCkgewogICAgICAgICAgICAgICAgJHRoaXMtPmZhbGxiYWNrRGlyc1BzcjAgPSBhcnJheV9tZXJnZSgKICAgICAgICAgICAgICAgICAgICAoYXJyYXkpICRwYXRocywKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+ZmFsbGJhY2tEaXJzUHNyMAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICR0aGlzLT5mYWxsYmFja0RpcnNQc3IwID0gYXJyYXlfbWVyZ2UoCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmZhbGxiYWNrRGlyc1BzcjAsCiAgICAgICAgICAgICAgICAgICAgKGFycmF5KSAkcGF0aHMKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICRmaXJzdCA9ICRwcmVmaXhbMF07CiAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+cHJlZml4ZXNQc3IwWyRmaXJzdF1bJHByZWZpeF0pKSB7CiAgICAgICAgICAgICR0aGlzLT5wcmVmaXhlc1BzcjBbJGZpcnN0XVskcHJlZml4XSA9IChhcnJheSkgJHBhdGhzOwoKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpZiAoJHByZXBlbmQpIHsKICAgICAgICAgICAgJHRoaXMtPnByZWZpeGVzUHNyMFskZmlyc3RdWyRwcmVmaXhdID0gYXJyYXlfbWVyZ2UoCiAgICAgICAgICAgICAgICAoYXJyYXkpICRwYXRocywKICAgICAgICAgICAgICAgICR0aGlzLT5wcmVmaXhlc1BzcjBbJGZpcnN0XVskcHJlZml4XQogICAgICAgICAgICApOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5wcmVmaXhlc1BzcjBbJGZpcnN0XVskcHJlZml4XSA9IGFycmF5X21lcmdlKAogICAgICAgICAgICAgICAgJHRoaXMtPnByZWZpeGVzUHNyMFskZmlyc3RdWyRwcmVmaXhdLAogICAgICAgICAgICAgICAgKGFycmF5KSAkcGF0aHMKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBSZWdpc3RlcnMgYSBzZXQgb2YgUFNSLTQgZGlyZWN0b3JpZXMgZm9yIGEgZ2l2ZW4gbmFtZXNwYWNlLCBlaXRoZXIKICAgICAqIGFwcGVuZGluZyBvciBwcmVwZW5kaW5nIHRvIHRoZSBvbmVzIHByZXZpb3VzbHkgc2V0IGZvciB0aGlzIG5hbWVzcGFjZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICRwcmVmaXggIFRoZSBwcmVmaXgvbmFtZXNwYWNlLCB3aXRoIHRyYWlsaW5nICdcXCcKICAgICAqIEBwYXJhbSBhcnJheXxzdHJpbmcgJHBhdGhzICAgVGhlIFBTUi0wIGJhc2UgZGlyZWN0b3JpZXMKICAgICAqIEBwYXJhbSBib29sICAgICAgICAgJHByZXBlbmQgV2hldGhlciB0byBwcmVwZW5kIHRoZSBkaXJlY3RvcmllcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkUHNyNCgkcHJlZml4LCAkcGF0aHMsICRwcmVwZW5kID0gZmFsc2UpCiAgICB7CiAgICAgICAgaWYgKCEkcHJlZml4KSB7CiAgICAgICAgICAgIC8vIFJlZ2lzdGVyIGRpcmVjdG9yaWVzIGZvciB0aGUgcm9vdCBuYW1lc3BhY2UuCiAgICAgICAgICAgIGlmICgkcHJlcGVuZCkgewogICAgICAgICAgICAgICAgJHRoaXMtPmZhbGxiYWNrRGlyc1BzcjQgPSBhcnJheV9tZXJnZSgKICAgICAgICAgICAgICAgICAgICAoYXJyYXkpICRwYXRocywKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+ZmFsbGJhY2tEaXJzUHNyNAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICR0aGlzLT5mYWxsYmFja0RpcnNQc3I0ID0gYXJyYXlfbWVyZ2UoCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmZhbGxiYWNrRGlyc1BzcjQsCiAgICAgICAgICAgICAgICAgICAgKGFycmF5KSAkcGF0aHMKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2VpZiAoIWlzc2V0KCR0aGlzLT5wcmVmaXhEaXJzUHNyNFskcHJlZml4XSkpIHsKICAgICAgICAgICAgLy8gUmVnaXN0ZXIgZGlyZWN0b3JpZXMgZm9yIGEgbmV3IG5hbWVzcGFjZS4KICAgICAgICAgICAgJGxlbmd0aCA9IHN0cmxlbigkcHJlZml4KTsKICAgICAgICAgICAgaWYgKCdcXCcgIT09ICRwcmVmaXhbJGxlbmd0aCAtIDFdKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigiQSBub24tZW1wdHkgUFNSLTQgcHJlZml4IG11c3QgZW5kIHdpdGggYSBuYW1lc3BhY2Ugc2VwYXJhdG9yLiIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR0aGlzLT5wcmVmaXhMZW5ndGhzUHNyNFskcHJlZml4WzBdXVskcHJlZml4XSA9ICRsZW5ndGg7CiAgICAgICAgICAgICR0aGlzLT5wcmVmaXhEaXJzUHNyNFskcHJlZml4XSA9IChhcnJheSkgJHBhdGhzOwogICAgICAgIH0gZWxzZWlmICgkcHJlcGVuZCkgewogICAgICAgICAgICAvLyBQcmVwZW5kIGRpcmVjdG9yaWVzIGZvciBhbiBhbHJlYWR5IHJlZ2lzdGVyZWQgbmFtZXNwYWNlLgogICAgICAgICAgICAkdGhpcy0+cHJlZml4RGlyc1BzcjRbJHByZWZpeF0gPSBhcnJheV9tZXJnZSgKICAgICAgICAgICAgICAgIChhcnJheSkgJHBhdGhzLAogICAgICAgICAgICAgICAgJHRoaXMtPnByZWZpeERpcnNQc3I0WyRwcmVmaXhdCiAgICAgICAgICAgICk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gQXBwZW5kIGRpcmVjdG9yaWVzIGZvciBhbiBhbHJlYWR5IHJlZ2lzdGVyZWQgbmFtZXNwYWNlLgogICAgICAgICAgICAkdGhpcy0+cHJlZml4RGlyc1BzcjRbJHByZWZpeF0gPSBhcnJheV9tZXJnZSgKICAgICAgICAgICAgICAgICR0aGlzLT5wcmVmaXhEaXJzUHNyNFskcHJlZml4XSwKICAgICAgICAgICAgICAgIChhcnJheSkgJHBhdGhzCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUmVnaXN0ZXJzIGEgc2V0IG9mIFBTUi0wIGRpcmVjdG9yaWVzIGZvciBhIGdpdmVuIHByZWZpeCwKICAgICAqIHJlcGxhY2luZyBhbnkgb3RoZXJzIHByZXZpb3VzbHkgc2V0IGZvciB0aGlzIHByZWZpeC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICRwcmVmaXggVGhlIHByZWZpeAogICAgICogQHBhcmFtIGFycmF5fHN0cmluZyAkcGF0aHMgIFRoZSBQU1ItMCBiYXNlIGRpcmVjdG9yaWVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXQoJHByZWZpeCwgJHBhdGhzKQogICAgewogICAgICAgIGlmICghJHByZWZpeCkgewogICAgICAgICAgICAkdGhpcy0+ZmFsbGJhY2tEaXJzUHNyMCA9IChhcnJheSkgJHBhdGhzOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5wcmVmaXhlc1BzcjBbJHByZWZpeFswXV1bJHByZWZpeF0gPSAoYXJyYXkpICRwYXRoczsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBSZWdpc3RlcnMgYSBzZXQgb2YgUFNSLTQgZGlyZWN0b3JpZXMgZm9yIGEgZ2l2ZW4gbmFtZXNwYWNlLAogICAgICogcmVwbGFjaW5nIGFueSBvdGhlcnMgcHJldmlvdXNseSBzZXQgZm9yIHRoaXMgbmFtZXNwYWNlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgJHByZWZpeCAgVGhlIHByZWZpeC9uYW1lc3BhY2UsIHdpdGggdHJhaWxpbmcgJ1xcJwogICAgICogQHBhcmFtIGFycmF5fHN0cmluZyAkcGF0aHMgICBUaGUgUFNSLTQgYmFzZSBkaXJlY3RvcmllcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UHNyNCgkcHJlZml4LCAkcGF0aHMpIHsKICAgICAgICBpZiAoISRwcmVmaXgpIHsKICAgICAgICAgICAgJHRoaXMtPmZhbGxiYWNrRGlyc1BzcjQgPSAoYXJyYXkpICRwYXRoczsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkbGVuZ3RoID0gc3RybGVuKCRwcmVmaXgpOwogICAgICAgICAgICBpZiAoJ1xcJyAhPT0gJHByZWZpeFskbGVuZ3RoIC0gMV0pIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCJBIG5vbi1lbXB0eSBQU1ItNCBwcmVmaXggbXVzdCBlbmQgd2l0aCBhIG5hbWVzcGFjZSBzZXBhcmF0b3IuIik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMtPnByZWZpeExlbmd0aHNQc3I0WyRwcmVmaXhbMF1dWyRwcmVmaXhdID0gJGxlbmd0aDsKICAgICAgICAgICAgJHRoaXMtPnByZWZpeERpcnNQc3I0WyRwcmVmaXhdID0gKGFycmF5KSAkcGF0aHM7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogVHVybnMgb24gc2VhcmNoaW5nIHRoZSBpbmNsdWRlIHBhdGggZm9yIGNsYXNzIGZpbGVzLgogICAgICoKICAgICAqIEBwYXJhbSBib29sICR1c2VJbmNsdWRlUGF0aAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXNlSW5jbHVkZVBhdGgoJHVzZUluY2x1ZGVQYXRoKQogICAgewogICAgICAgICR0aGlzLT51c2VJbmNsdWRlUGF0aCA9ICR1c2VJbmNsdWRlUGF0aDsKICAgIH0KCiAgICAvKioKICAgICAqIENhbiBiZSB1c2VkIHRvIGNoZWNrIGlmIHRoZSBhdXRvbG9hZGVyIHVzZXMgdGhlIGluY2x1ZGUgcGF0aCB0byBjaGVjawogICAgICogZm9yIGNsYXNzZXMuCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRVc2VJbmNsdWRlUGF0aCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT51c2VJbmNsdWRlUGF0aDsKICAgIH0KCiAgICAvKioKICAgICAqIFJlZ2lzdGVycyB0aGlzIGluc3RhbmNlIGFzIGFuIGF1dG9sb2FkZXIuCiAgICAgKgogICAgICogQHBhcmFtIGJvb2wgJHByZXBlbmQgV2hldGhlciB0byBwcmVwZW5kIHRoZSBhdXRvbG9hZGVyIG9yIG5vdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVnaXN0ZXIoJHByZXBlbmQgPSBmYWxzZSkKICAgIHsKICAgICAgICBzcGxfYXV0b2xvYWRfcmVnaXN0ZXIoYXJyYXkoJHRoaXMsICdsb2FkQ2xhc3MnKSwgdHJ1ZSwgJHByZXBlbmQpOwogICAgfQoKICAgIC8qKgogICAgICogVW5yZWdpc3RlcnMgdGhpcyBpbnN0YW5jZSBhcyBhbiBhdXRvbG9hZGVyLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdW5yZWdpc3RlcigpCiAgICB7CiAgICAgICAgc3BsX2F1dG9sb2FkX3VucmVnaXN0ZXIoYXJyYXkoJHRoaXMsICdsb2FkQ2xhc3MnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBMb2FkcyB0aGUgZ2l2ZW4gY2xhc3Mgb3IgaW50ZXJmYWNlLgogICAgICoKICAgICAqIEBwYXJhbSAgc3RyaW5nICAgICRjbGFzcyBUaGUgbmFtZSBvZiB0aGUgY2xhc3MKICAgICAqIEByZXR1cm4gYm9vbHxudWxsIFRydWUgaWYgbG9hZGVkLCBudWxsIG90aGVyd2lzZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbG9hZENsYXNzKCRjbGFzcykKICAgIHsKICAgICAgICBpZiAoJGZpbGUgPSAkdGhpcy0+ZmluZEZpbGUoJGNsYXNzKSkgewogICAgICAgICAgICBpbmNsdWRlRmlsZSgkZmlsZSk7CgogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBGaW5kcyB0aGUgcGF0aCB0byB0aGUgZmlsZSB3aGVyZSB0aGUgY2xhc3MgaXMgZGVmaW5lZC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjbGFzcyBUaGUgbmFtZSBvZiB0aGUgY2xhc3MKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xmYWxzZSBUaGUgcGF0aCBpZiBmb3VuZCwgZmFsc2Ugb3RoZXJ3aXNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBmaW5kRmlsZSgkY2xhc3MpCiAgICB7CiAgICAgICAgLy8gd29yayBhcm91bmQgZm9yIFBIUCA1LjMuMCAtIDUuMy4yIGh0dHBzOi8vYnVncy5waHAubmV0LzUwNzMxCiAgICAgICAgaWYgKCdcXCcgPT0gJGNsYXNzWzBdKSB7CiAgICAgICAgICAgICRjbGFzcyA9IHN1YnN0cigkY2xhc3MsIDEpOwogICAgICAgIH0KCiAgICAgICAgLy8gY2xhc3MgbWFwIGxvb2t1cAogICAgICAgIGlmIChpc3NldCgkdGhpcy0+Y2xhc3NNYXBbJGNsYXNzXSkpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5jbGFzc01hcFskY2xhc3NdOwogICAgICAgIH0KCiAgICAgICAgLy8gUFNSLTQgbG9va3VwCiAgICAgICAgJGxvZ2ljYWxQYXRoUHNyNCA9IHN0cnRyKCRjbGFzcywgJ1xcJywgRElSRUNUT1JZX1NFUEFSQVRPUikgLiAnLnBocCc7CgogICAgICAgICRmaXJzdCA9ICRjbGFzc1swXTsKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPnByZWZpeExlbmd0aHNQc3I0WyRmaXJzdF0pKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5wcmVmaXhMZW5ndGhzUHNyNFskZmlyc3RdIGFzICRwcmVmaXggPT4gJGxlbmd0aCkgewogICAgICAgICAgICAgICAgaWYgKDAgPT09IHN0cnBvcygkY2xhc3MsICRwcmVmaXgpKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnByZWZpeERpcnNQc3I0WyRwcmVmaXhdIGFzICRkaXIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbGVfZXhpc3RzKCRmaWxlID0gJGRpciAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiBzdWJzdHIoJGxvZ2ljYWxQYXRoUHNyNCwgJGxlbmd0aCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJGZpbGU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIFBTUi00IGZhbGxiYWNrIGRpcnMKICAgICAgICBmb3JlYWNoICgkdGhpcy0+ZmFsbGJhY2tEaXJzUHNyNCBhcyAkZGlyKSB7CiAgICAgICAgICAgIGlmIChmaWxlX2V4aXN0cygkZmlsZSA9ICRkaXIgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGxvZ2ljYWxQYXRoUHNyNCkpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkZmlsZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gUFNSLTAgbG9va3VwCiAgICAgICAgaWYgKGZhbHNlICE9PSAkcG9zID0gc3RycnBvcygkY2xhc3MsICdcXCcpKSB7CiAgICAgICAgICAgIC8vIG5hbWVzcGFjZWQgY2xhc3MgbmFtZQogICAgICAgICAgICAkbG9naWNhbFBhdGhQc3IwID0gc3Vic3RyKCRsb2dpY2FsUGF0aFBzcjQsIDAsICRwb3MgKyAxKQogICAgICAgICAgICAgICAgLiBzdHJ0cihzdWJzdHIoJGxvZ2ljYWxQYXRoUHNyNCwgJHBvcyArIDEpLCAnXycsIERJUkVDVE9SWV9TRVBBUkFUT1IpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIFBFQVItbGlrZSBjbGFzcyBuYW1lCiAgICAgICAgICAgICRsb2dpY2FsUGF0aFBzcjAgPSBzdHJ0cigkY2xhc3MsICdfJywgRElSRUNUT1JZX1NFUEFSQVRPUikgLiAnLnBocCc7CiAgICAgICAgfQoKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPnByZWZpeGVzUHNyMFskZmlyc3RdKSkgewogICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+cHJlZml4ZXNQc3IwWyRmaXJzdF0gYXMgJHByZWZpeCA9PiAkZGlycykgewogICAgICAgICAgICAgICAgaWYgKDAgPT09IHN0cnBvcygkY2xhc3MsICRwcmVmaXgpKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJGRpcnMgYXMgJGRpcikgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGZpbGUgPSAkZGlyIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRsb2dpY2FsUGF0aFBzcjApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJGZpbGU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIFBTUi0wIGZhbGxiYWNrIGRpcnMKICAgICAgICBmb3JlYWNoICgkdGhpcy0+ZmFsbGJhY2tEaXJzUHNyMCBhcyAkZGlyKSB7CiAgICAgICAgICAgIGlmIChmaWxlX2V4aXN0cygkZmlsZSA9ICRkaXIgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGxvZ2ljYWxQYXRoUHNyMCkpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkZmlsZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gUFNSLTAgaW5jbHVkZSBwYXRocy4KICAgICAgICBpZiAoJHRoaXMtPnVzZUluY2x1ZGVQYXRoICYmICRmaWxlID0gc3RyZWFtX3Jlc29sdmVfaW5jbHVkZV9wYXRoKCRsb2dpY2FsUGF0aFBzcjApKSB7CiAgICAgICAgICAgIHJldHVybiAkZmlsZTsKICAgICAgICB9CgogICAgICAgIC8vIFJlbWVtYmVyIHRoYXQgdGhpcyBjbGFzcyBkb2VzIG5vdCBleGlzdC4KICAgICAgICByZXR1cm4gJHRoaXMtPmNsYXNzTWFwWyRjbGFzc10gPSBmYWxzZTsKICAgIH0KfQoKLyoqCiAqIFNjb3BlIGlzb2xhdGVkIGluY2x1ZGUuCiAqCiAqIFByZXZlbnRzIGFjY2VzcyB0byAkdGhpcy9zZWxmIGZyb20gaW5jbHVkZWQgZmlsZXMuCiAqLwpmdW5jdGlvbiBpbmNsdWRlRmlsZSgkZmlsZSkKewogICAgaW5jbHVkZSAkZmlsZTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/composer/installed.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[WwogICAgewogICAgICAgICJuYW1lIjogInN5bWZvbnkvZXZlbnQtZGlzcGF0Y2hlciIsCiAgICAgICAgInZlcnNpb24iOiAidjIuNC4yIiwKICAgICAgICAidmVyc2lvbl9ub3JtYWxpemVkIjogIjIuNC4yLjAiLAogICAgICAgICJ0YXJnZXQtZGlyIjogIlN5bWZvbnkvQ29tcG9uZW50L0V2ZW50RGlzcGF0Y2hlciIsCiAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgInR5cGUiOiAiZ2l0IiwKICAgICAgICAgICAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3ltZm9ueS9FdmVudERpc3BhdGNoZXIuZ2l0IiwKICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI0NzA4YjhjZDQxOTg0YTViYTI5ZmU3ZGQ0MDcxNmY3Zjc2MWFjNTAxIgogICAgICAgIH0sCiAgICAgICAgImRpc3QiOiB7CiAgICAgICAgICAgICJ0eXBlIjogInppcCIsCiAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9zeW1mb255L0V2ZW50RGlzcGF0Y2hlci96aXBiYWxsLzQ3MDhiOGNkNDE5ODRhNWJhMjlmZTdkZDQwNzE2ZjdmNzYxYWM1MDEiLAogICAgICAgICAgICAicmVmZXJlbmNlIjogIjQ3MDhiOGNkNDE5ODRhNWJhMjlmZTdkZDQwNzE2ZjdmNzYxYWM1MDEiLAogICAgICAgICAgICAic2hhc3VtIjogIiIKICAgICAgICB9LAogICAgICAgICJyZXF1aXJlIjogewogICAgICAgICAgICAicGhwIjogIj49NS4zLjMiCiAgICAgICAgfSwKICAgICAgICAicmVxdWlyZS1kZXYiOiB7CiAgICAgICAgICAgICJzeW1mb255L2RlcGVuZGVuY3ktaW5qZWN0aW9uIjogIn4yLjAiCiAgICAgICAgfSwKICAgICAgICAic3VnZ2VzdCI6IHsKICAgICAgICAgICAgInN5bWZvbnkvZGVwZW5kZW5jeS1pbmplY3Rpb24iOiAiIiwKICAgICAgICAgICAgInN5bWZvbnkvaHR0cC1rZXJuZWwiOiAiIgogICAgICAgIH0sCiAgICAgICAgInRpbWUiOiAiMjAxNC0wMi0xMSAxMzo1MjowOSIsCiAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgImV4dHJhIjogewogICAgICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMi40LWRldiIKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImluc3RhbGxhdGlvbi1zb3VyY2UiOiAiZGlzdCIsCiAgICAgICAgImF1dG9sb2FkIjogewogICAgICAgICAgICAicHNyLTAiOiB7CiAgICAgICAgICAgICAgICAiU3ltZm9ueVxcQ29tcG9uZW50XFxFdmVudERpc3BhdGNoZXJcXCI6ICIiCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJub3RpZmljYXRpb24tdXJsIjogImh0dHBzOi8vcGFja2FnaXN0Lm9yZy9kb3dubG9hZHMvIiwKICAgICAgICAibGljZW5zZSI6IFsKICAgICAgICAgICAgIk1JVCIKICAgICAgICBdLAogICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAibmFtZSI6ICJGYWJpZW4gUG90ZW5jaWVyIiwKICAgICAgICAgICAgICAgICJlbWFpbCI6ICJmYWJpZW5Ac3ltZm9ueS5jb20iLAogICAgICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHA6Ly9mYWJpZW4ucG90ZW5jaWVyLm9yZyIsCiAgICAgICAgICAgICAgICAicm9sZSI6ICJMZWFkIERldmVsb3BlciIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIm5hbWUiOiAiU3ltZm9ueSBDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHA6Ly9zeW1mb255LmNvbS9jb250cmlidXRvcnMiCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJkZXNjcmlwdGlvbiI6ICJTeW1mb255IEV2ZW50RGlzcGF0Y2hlciBDb21wb25lbnQiLAogICAgICAgICJob21lcGFnZSI6ICJodHRwOi8vc3ltZm9ueS5jb20iCiAgICB9LAogICAgewogICAgICAgICJuYW1lIjogImd1enpsZS9ndXp6bGUiLAogICAgICAgICJ2ZXJzaW9uIjogInYzLjguMSIsCiAgICAgICAgInZlcnNpb25fbm9ybWFsaXplZCI6ICIzLjguMS4wIiwKICAgICAgICAic291cmNlIjogewogICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ndXp6bGUvZ3V6emxlLmdpdCIsCiAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiNGRlMDYxOGEwMWIzNGFhMWM4YzMzYTNmMTNmMzk2ZGNkMzg4MmViYSIKICAgICAgICB9LAogICAgICAgICJkaXN0IjogewogICAgICAgICAgICAidHlwZSI6ICJ6aXAiLAogICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZ3V6emxlL2d1enpsZS96aXBiYWxsLzRkZTA2MThhMDFiMzRhYTFjOGMzM2EzZjEzZjM5NmRjZDM4ODJlYmEiLAogICAgICAgICAgICAicmVmZXJlbmNlIjogIjRkZTA2MThhMDFiMzRhYTFjOGMzM2EzZjEzZjM5NmRjZDM4ODJlYmEiLAogICAgICAgICAgICAic2hhc3VtIjogIiIKICAgICAgICB9LAogICAgICAgICJyZXF1aXJlIjogewogICAgICAgICAgICAiZXh0LWN1cmwiOiAiKiIsCiAgICAgICAgICAgICJwaHAiOiAiPj01LjMuMyIsCiAgICAgICAgICAgICJzeW1mb255L2V2ZW50LWRpc3BhdGNoZXIiOiAiPj0yLjEiCiAgICAgICAgfSwKICAgICAgICAicmVwbGFjZSI6IHsKICAgICAgICAgICAgImd1enpsZS9iYXRjaCI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAiZ3V6emxlL2NhY2hlIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgICAgICJndXp6bGUvY29tbW9uIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgICAgICJndXp6bGUvaHR0cCI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAiZ3V6emxlL2luZmxlY3Rpb24iOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAgICAgImd1enpsZS9pdGVyYXRvciI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAiZ3V6emxlL2xvZyI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAiZ3V6emxlL3BhcnNlciI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAiZ3V6emxlL3BsdWdpbiI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAiZ3V6emxlL3BsdWdpbi1hc3luYyI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAiZ3V6emxlL3BsdWdpbi1iYWNrb2ZmIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgICAgICJndXp6bGUvcGx1Z2luLWNhY2hlIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgICAgICJndXp6bGUvcGx1Z2luLWNvb2tpZSI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAiZ3V6emxlL3BsdWdpbi1jdXJsYXV0aCI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAiZ3V6emxlL3BsdWdpbi1lcnJvci1yZXNwb25zZSI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAiZ3V6emxlL3BsdWdpbi1oaXN0b3J5IjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgICAgICJndXp6bGUvcGx1Z2luLWxvZyI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAiZ3V6emxlL3BsdWdpbi1tZDUiOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAgICAgImd1enpsZS9wbHVnaW4tbW9jayI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAiZ3V6emxlL3BsdWdpbi1vYXV0aCI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICAgICAiZ3V6emxlL3NlcnZpY2UiOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAgICAgImd1enpsZS9zdHJlYW0iOiAic2VsZi52ZXJzaW9uIgogICAgICAgIH0sCiAgICAgICAgInJlcXVpcmUtZGV2IjogewogICAgICAgICAgICAiZG9jdHJpbmUvY2FjaGUiOiAiKiIsCiAgICAgICAgICAgICJtb25vbG9nL21vbm9sb2ciOiAiMS4qIiwKICAgICAgICAgICAgInBocHVuaXQvcGhwdW5pdCI6ICIzLjcuKiIsCiAgICAgICAgICAgICJwc3IvbG9nIjogIjEuMC4qIiwKICAgICAgICAgICAgInN5bWZvbnkvY2xhc3MtbG9hZGVyIjogIioiLAogICAgICAgICAgICAiemVuZGZyYW1ld29yay96ZW5kLWNhY2hlIjogIjwyLjMiLAogICAgICAgICAgICAiemVuZGZyYW1ld29yay96ZW5kLWxvZyI6ICI8Mi4zIgogICAgICAgIH0sCiAgICAgICAgInRpbWUiOiAiMjAxNC0wMS0yOCAyMjoyOToxNSIsCiAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgImV4dHJhIjogewogICAgICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMy44LWRldiIKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImluc3RhbGxhdGlvbi1zb3VyY2UiOiAiZGlzdCIsCiAgICAgICAgImF1dG9sb2FkIjogewogICAgICAgICAgICAicHNyLTAiOiB7CiAgICAgICAgICAgICAgICAiR3V6emxlIjogInNyYy8iLAogICAgICAgICAgICAgICAgIkd1enpsZVxcVGVzdHMiOiAidGVzdHMvIgogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAibm90aWZpY2F0aW9uLXVybCI6ICJodHRwczovL3BhY2thZ2lzdC5vcmcvZG93bmxvYWRzLyIsCiAgICAgICAgImxpY2Vuc2UiOiBbCiAgICAgICAgICAgICJNSVQiCiAgICAgICAgXSwKICAgICAgICAiYXV0aG9ycyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIm5hbWUiOiAiTWljaGFlbCBEb3dsaW5nIiwKICAgICAgICAgICAgICAgICJlbWFpbCI6ICJtdGRvd2xpbmdAZ21haWwuY29tIiwKICAgICAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRkb3dsaW5nIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAibmFtZSI6ICJHdXp6bGUgQ29tbXVuaXR5IiwKICAgICAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2dpdGh1Yi5jb20vZ3V6emxlL2d1enpsZS9jb250cmlidXRvcnMiCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJkZXNjcmlwdGlvbiI6ICJHdXp6bGUgaXMgYSBQSFAgSFRUUCBjbGllbnQgbGlicmFyeSBhbmQgZnJhbWV3b3JrIGZvciBidWlsZGluZyBSRVNUZnVsIHdlYiBzZXJ2aWNlIGNsaWVudHMiLAogICAgICAgICJob21lcGFnZSI6ICJodHRwOi8vZ3V6emxlcGhwLm9yZy8iLAogICAgICAgICJrZXl3b3JkcyI6IFsKICAgICAgICAgICAgImNsaWVudCIsCiAgICAgICAgICAgICJjdXJsIiwKICAgICAgICAgICAgImZyYW1ld29yayIsCiAgICAgICAgICAgICJodHRwIiwKICAgICAgICAgICAgImh0dHAgY2xpZW50IiwKICAgICAgICAgICAgInJlc3QiLAogICAgICAgICAgICAid2ViIHNlcnZpY2UiCiAgICAgICAgXQogICAgfSwKICAgIHsKICAgICAgICAibmFtZSI6ICJhd3MvYXdzLXNkay1waHAiLAogICAgICAgICJ2ZXJzaW9uIjogIjIuNC4xMiIsCiAgICAgICAgInZlcnNpb25fbm9ybWFsaXplZCI6ICIyLjQuMTIuMCIsCiAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgInR5cGUiOiAiZ2l0IiwKICAgICAgICAgICAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstcGhwLmdpdCIsCiAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiNjFlYWY2NzViN2RlOWNlOGIyYzZiNDQzMTdiMDFlNjgxOGVhMTZjMyIKICAgICAgICB9LAogICAgICAgICJkaXN0IjogewogICAgICAgICAgICAidHlwZSI6ICJ6aXAiLAogICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXdzL2F3cy1zZGstcGhwL3ppcGJhbGwvNjFlYWY2NzViN2RlOWNlOGIyYzZiNDQzMTdiMDFlNjgxOGVhMTZjMyIsCiAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiNjFlYWY2NzViN2RlOWNlOGIyYzZiNDQzMTdiMDFlNjgxOGVhMTZjMyIsCiAgICAgICAgICAgICJzaGFzdW0iOiAiIgogICAgICAgIH0sCiAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICJndXp6bGUvZ3V6emxlIjogIj49My43LjAsPDMuOS4wIiwKICAgICAgICAgICAgInBocCI6ICI+PTUuMy4zIgogICAgICAgIH0sCiAgICAgICAgInJlcXVpcmUtZGV2IjogewogICAgICAgICAgICAiZG9jdHJpbmUvY2FjaGUiOiAifjEuMCIsCiAgICAgICAgICAgICJleHQtb3BlbnNzbCI6ICIqIiwKICAgICAgICAgICAgIm1vbm9sb2cvbW9ub2xvZyI6ICIxLjQuKiIsCiAgICAgICAgICAgICJwaHB1bml0L3BocHVuaXQiOiAiMy43LioiLAogICAgICAgICAgICAic3ltZm9ueS9jbGFzcy1sb2FkZXIiOiAiMi4qIiwKICAgICAgICAgICAgInN5bWZvbnkveWFtbCI6ICIyLioiCiAgICAgICAgfSwKICAgICAgICAic3VnZ2VzdCI6IHsKICAgICAgICAgICAgImRvY3RyaW5lL2NhY2hlIjogIkFkZHMgc3VwcG9ydCBmb3IgY2FjaGluZyBvZiBjcmVkZW50aWFscyBhbmQgcmVzcG9uc2VzIiwKICAgICAgICAgICAgImV4dC1hcGMiOiAiQWxsb3dzIHNlcnZpY2UgZGVzY3JpcHRpb24gb3Bjb2RlIGNhY2hpbmcsIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGNhY2hpbmcsIGFuZCBjcmVkZW50aWFscyBjYWNoaW5nIiwKICAgICAgICAgICAgImV4dC1vcGVuc3NsIjogIkFsbG93cyB3b3JraW5nIHdpdGggQ2xvdWRGcm9udCBwcml2YXRlIGRpc3RyaWJ1dGlvbnMgYW5kIHZlcmlmeWluZyByZWNlaXZlZCBTTlMgbWVzc2FnZXMiLAogICAgICAgICAgICAibW9ub2xvZy9tb25vbG9nIjogIkFkZHMgc3VwcG9ydCBmb3IgbG9nZ2luZyBIVFRQIHJlcXVlc3RzIGFuZCByZXNwb25zZXMiLAogICAgICAgICAgICAic3ltZm9ueS95YW1sIjogIkVhc2VzIHRoZSBhYmlsaXR5IHRvIHdyaXRlIG1hbmlmZXN0cyBmb3IgY3JlYXRpbmcgam9icyBpbiBBV1MgSW1wb3J0L0V4cG9ydCIKICAgICAgICB9LAogICAgICAgICJ0aW1lIjogIjIwMTMtMTItMTIgMTk6MzU6NTEiLAogICAgICAgICJ0eXBlIjogImxpYnJhcnkiLAogICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjIuNC54LWRldiIKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImluc3RhbGxhdGlvbi1zb3VyY2UiOiAiZGlzdCIsCiAgICAgICAgImF1dG9sb2FkIjogewogICAgICAgICAgICAicHNyLTAiOiB7CiAgICAgICAgICAgICAgICAiQXdzIjogInNyYy8iCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJub3RpZmljYXRpb24tdXJsIjogImh0dHBzOi8vcGFja2FnaXN0Lm9yZy9kb3dubG9hZHMvIiwKICAgICAgICAibGljZW5zZSI6IFsKICAgICAgICAgICAgIkFwYWNoZS0yLjAiCiAgICAgICAgXSwKICAgICAgICAiYXV0aG9ycyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIm5hbWUiOiAiQW1hem9uIFdlYiBTZXJ2aWNlcyIsCiAgICAgICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cDovL2F3cy5hbWF6b24uY29tIgogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiZGVzY3JpcHRpb24iOiAiQVdTIFNESyBmb3IgUEhQIC0gVXNlIEFtYXpvbiBXZWIgU2VydmljZXMgaW4geW91ciBQSFAgcHJvamVjdCIsCiAgICAgICAgImhvbWVwYWdlIjogImh0dHA6Ly9hd3MuYW1hem9uLmNvbS9zZGtmb3JwaHAiLAogICAgICAgICJrZXl3b3JkcyI6IFsKICAgICAgICAgICAgImFtYXpvbiIsCiAgICAgICAgICAgICJhd3MiLAogICAgICAgICAgICAiY2xvdWQiLAogICAgICAgICAgICAiZHluYW1vZGIiLAogICAgICAgICAgICAiZWMyIiwKICAgICAgICAgICAgImdsYWNpZXIiLAogICAgICAgICAgICAiczMiLAogICAgICAgICAgICAic2RrIgogICAgICAgIF0KICAgIH0KXQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/.travis.yml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[bGFuZ3VhZ2U6IHBocAoKcGhwOgogIC0gNS4zCiAgLSA1LjQKICAtIDUuNQoKYmVmb3JlX3NjcmlwdDoKICAtIGN1cmwgLS12ZXJzaW9uCiAgLSBwZWFyIGNvbmZpZy1zZXQgcGhwX2luaSB+Ly5waHBlbnYvdmVyc2lvbnMvYHBocCAtciAnZWNobyBwaHB2ZXJzaW9uKCk7J2AvZXRjL3BocC5pbmkKICAtIGVjaG8gJ0luc3RhbGxpbmcgcGVjbF9odHRwJwogIC0gd2dldCAtLXF1aWV0IGh0dHA6Ly9wZWNsLnBocC5uZXQvZ2V0L3BlY2xfaHR0cC0xLjcuNi50Z3oKICAtIHRhciAteHpmIHBlY2xfaHR0cC0xLjcuNi50Z3oKICAtIHNoIC1jICJjZCBwZWNsX2h0dHAtMS43LjYgJiYgcGhwaXplICYmIC4vY29uZmlndXJlICYmIG1ha2UgJiYgc3VkbyBtYWtlIGluc3RhbGwiID4gL2Rldi9udWxsCiAgLSBlY2hvICJleHRlbnNpb249aHR0cC5zbyIgPj4gYHBocCAtLWluaSB8IGdyZXAgIkxvYWRlZCBDb25maWd1cmF0aW9uIiB8IHNlZCAtZSAic3wuKjpccyp8fCJgCiAgLSBwZWNsIGluc3RhbGwgdXJpX3RlbXBsYXRlLWJldGEKICAtIHBocGVudiByZWhhc2gKICAtIGNvbXBvc2VyIGluc3RhbGwgLS1kZXYKICAtIGVjaG8gJ0Vuc3VyaW5nIHRoZSBjb3JyZWN0IHZlcnNpb24gb2Ygbm9kZSBpcyBydW5uaW5nJwogIC0gfi8ubnZtL252bS5zaCBpbnN0YWxsIHYwLjYuMTQKCnNjcmlwdDogdmVuZG9yL2Jpbi9waHB1bml0Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/build.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgbmFtZT0iZ3V6emxlIiBkZWZhdWx0PSJ0ZXN0Ij4KICAgIDwhLS0gc2V0IGxvY2FsIHZhbHVlcywgbGlrZSBnaXQgbG9jYXRpb24gLS0+CiAgICA8cHJvcGVydHkgZmlsZT0icGhpbmcvYnVpbGQucHJvcGVydGllcy5kaXN0IiBvdmVycmlkZT0idHJ1ZSIgLz4KICAgIDxwcm9wZXJ0eSBmaWxlPSJwaGluZy9idWlsZC5wcm9wZXJ0aWVzIiBvdmVycmlkZT0idHJ1ZSIgLz4KCiAgICA8cHJvcGVydHkgbmFtZT0iZGlyLm91dHB1dCIgdmFsdWU9IiR7cHJvamVjdC5iYXNlZGlyfS9idWlsZC9hcnRpZmFjdHMiIC8+CiAgICA8cHJvcGVydHkgbmFtZT0iZGlyLmltcG9ydHMiIHZhbHVlPSIke3Byb2plY3QuYmFzZWRpcn0vcGhpbmcvaW1wb3J0cyIgLz4KICAgIDxwcm9wZXJ0eSBuYW1lPSJkaXIuYmluIiB2YWx1ZT0iJHtwcm9qZWN0LmJhc2VkaXJ9L2JpbiIgLz4KICAgIDxwcm9wZXJ0eSBuYW1lPSJyZXBvLmRpciIgdmFsdWU9IiR7cHJvamVjdC5iYXNlZGlyfSIgLz4KCiAgICA8aW1wb3J0IGZpbGU9IiR7ZGlyLmltcG9ydHN9L2RlcGVuZGVuY2llcy54bWwiLz4KICAgIDxpbXBvcnQgZmlsZT0iJHtkaXIuaW1wb3J0c30vZGVwbG95LnhtbCIvPgoKICAgIDx0YXJnZXQgbmFtZT0iY29tcG9zZXItbGludCIgZGVzY3JpcHRpb249ImxpbnQtY2hlY2sgY29tcG9zZXIuanNvbiBvbmx5Ij4KICAgICAgICA8Y29tcG9zZXJsaW50IGRpcj0iJHtwcm9qZWN0LmJhc2VkaXJ9L3NyYyIgZmlsZT0ieyRwcm9qZWN0LmJhc2VkaXJ9L2NvbXBvc2VyLmpzb24iIC8+CiAgICA8L3RhcmdldD4KCiAgICA8dGFyZ2V0IG5hbWU9InRlc3QiIGRlc2NyaXB0aW9uPSJSdW4gdW5pdCB0ZXN0cyI+CiAgICAgICAgPGV4ZWMgcGFzc3RocnU9InRydWUiIGNvbW1hbmQ9InZlbmRvci9iaW4vcGhwdW5pdCIgY2hlY2tSZXR1cm49InRydWUiIC8+CiAgICA8L3RhcmdldD4KCiAgICA8dGFyZ2V0IG5hbWU9ImJ1aWxkLWluaXQiIGRlc2NyaXB0aW9uPSJJbml0aWFsaXplIGxvY2FsIHBoaW5nIHByb3BlcnRpZXMiPgogICAgICAgIDxjb3B5IGZpbGU9InBoaW5nL2J1aWxkLnByb3BlcnRpZXMuZGlzdCIgdG9maWxlPSJwaGluZy9idWlsZC5wcm9wZXJ0aWVzIiBvdmVyd3JpdGU9ImZhbHNlIiAvPgogICAgPC90YXJnZXQ+CgogICAgPHRhcmdldCBuYW1lPSJjbGVhbiI+CiAgICAgICAgPGRlbGV0ZSBkaXI9IiR7ZGlyLm91dHB1dH0iLz4KICAgICAgICA8ZGVsZXRlIGRpcj0iJHtwcm9qZWN0LmJhc2VkaXJ9L2J1aWxkL3BlYXJ3b3JrIi8+CiAgICA8L3RhcmdldD4KCiAgICA8dGFyZ2V0IG5hbWU9InByZXBhcmUiIGRlcGVuZHM9ImNsZWFuLGJ1aWxkLWluaXQiPgogICAgICAgIDxta2RpciBkaXI9IiR7ZGlyLm91dHB1dH0iLz4KICAgICAgICA8bWtkaXIgZGlyPSIke2Rpci5vdXRwdXR9L2xvZ3MiIC8+CiAgICA8L3RhcmdldD4KCiAgICA8dGFyZ2V0IG5hbWU9ImNvdmVyYWdlIiBkZXBlbmRzPSJwcmVwYXJlIj4KICAgICAgICA8ZXhlYyBwYXNzdGhydT0idHJ1ZSIgY29tbWFuZD0idmVuZG9yL2Jpbi9waHB1bml0IC0tY292ZXJhZ2UtaHRtbD0ke2Rpci5vdXRwdXR9L2NvdmVyYWdlIiAvPgogICAgPC90YXJnZXQ+CgogICAgPHRhcmdldCBuYW1lPSJ2aWV3LWNvdmVyYWdlIj4KICAgICAgICA8ZXhlYyBwYXNzdGhydT0idHJ1ZSIgY29tbWFuZD0ib3BlbiAke2Rpci5vdXRwdXR9L2NvdmVyYWdlL2luZGV4Lmh0bWwiIC8+CiAgICA8L3RhcmdldD4KCjwvcHJvamVjdD4K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/CHANGELOG.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q0hBTkdFTE9HCj09PT09PT09PQoKMy44LjEgKDIwMTMtMDEtMjgpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBCdWc6IEFsd2F5cyB1c2luZyBHRVQgcmVxdWVzdHMgd2hlbiByZWRpcmVjdGluZyBmcm9tIGEgMzAzIHJlc3BvbnNlCiogQnVnOiBDVVJMT1BUX1NTTF9WRVJJRllIT1NUIGlzIG5vdyBjb3JyZWN0bHkgc2V0IHRvIGZhbHNlIHdoZW4gc2V0dGluZyBgJGNlcnRpZmljYXRlQXV0aG9yaXR5YCB0byBmYWxzZSBpbgogIGBHdXp6bGVcSHR0cFxDbGllbnRJbnRlcmZhY2U6OnNldFNzbFZlcmlmaWNhdGlvbigpYAoqIEJ1ZzogUmVkaXJlY3RQbHVnaW4gbm93IHVzZXMgc3RyaWN0IFJGQyAzOTg2IGNvbXBsaWFuY2Ugd2hlbiBjb21iaW5pbmcgYSBiYXNlIFVSTCB3aXRoIGEgcmVsYXRpdmUgVVJMCiogQnVnOiBUaGUgYm9keSBvZiBhIHJlcXVlc3QgY2FuIG5vdyBiZSBzZXQgdG8gYCIwImAKKiBTZW5kaW5nIFBIUCBzdHJlYW0gcmVxdWVzdHMgbm8gbG9uZ2VyIGZvcmNlcyBgSFRUUC8xLjBgCiogQWRkaW5nIG1vcmUgaW5mb3JtYXRpb24gdG8gRXhjZXB0aW9uQ29sbGVjdGlvbiBleGNlcHRpb25zIHNvIHRoYXQgdXNlcnMgaGF2ZSBtb3JlIGNvbnRleHQsIGluY2x1ZGluZyBhIHN0YWNrIHRyYWNlIG9mCiAgZWFjaCBzdWItZXhjZXB0aW9uCiogVXBkYXRlZCB0aGUgYCRyZWZgIGF0dHJpYnV0ZSBpbiBzZXJ2aWNlIGRlc2NyaXB0aW9ucyB0byBtZXJnZSBvdmVyIGFueSBleGlzdGluZyBwYXJhbWV0ZXJzIG9mIGEgc2NoZW1hIChyYXRoZXIgdGhhbgogIGNsb2JiZXJpbmcgZXZlcnl0aGluZykuCiogTWVyZ2luZyBVUkxzIHdpbGwgbm93IHVzZSB0aGUgcXVlcnkgc3RyaW5nIG9iamVjdCBmcm9tIHRoZSByZWxhdGl2ZSBVUkwgKHRodXMgYWxsb3dpbmcgY3VzdG9tIHF1ZXJ5IGFnZ3JlZ2F0b3JzKQoqIFF1ZXJ5IHN0cmluZ3MgYXJlIG5vdyBwYXJzZWQgaW4gYSB3YXkgdGhhdCB0aGV5IGRvIG5vIGNvbnZlcnQgZW1wdHkga2V5cyB3aXRoIG5vIHZhbHVlIHRvIGhhdmUgYSBkYW5nbGluZyBgPWAuCiAgRm9yIGV4YW1wbGUgYGZvbyZiYXI9YmF6YCBpcyBub3cgY29ycmVjdGx5IHBhcnNlZCBhbmQgcmVjb2duaXplZCBhcyBgZm9vJmJhcj1iYXpgIHJhdGhlciB0aGFuIGBmb289JmJhcj1iYXpgLgoqIE5vdyBwcm9wZXJseSBlc2NhcGluZyB0aGUgcmVndWxhciBleHByZXNzaW9uIGRlbGltaXRlciB3aGVuIG1hdGNoaW5nIENvb2tpZSBkb21haW5zLgoqIE5ldHdvcmsgYWNjZXNzIGlzIG5vdyBkaXNhYmxlZCB3aGVuIGxvYWRpbmcgWE1MIGRvY3VtZW50cwoKMy44LjAgKDIwMTMtMTItMDUpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBBZGRlZCB0aGUgYWJpbGl0eSB0byBkZWZpbmUgYSBQT1NUIG5hbWUgZm9yIGEgZmlsZQoqIEpTT04gcmVzcG9uc2UgcGFyc2luZyBub3cgcHJvcGVybHkgd2Fsa3MgYWRkaXRpb25hbFByb3BlcnRpZXMKKiBjVVJMIGVycm9yIGNvZGUgMTggaXMgbm93IHJldHJpZWQgYXV0b21hdGljYWxseSBpbiB0aGUgQmFja29mZlBsdWdpbgoqIEZpeGVkIGEgY1VSTCBlcnJvciB3aGVuIFVSTHMgY29udGFpbiBmcmFnbWVudHMKKiBGaXhlZCBhbiBpc3N1ZSBpbiB0aGUgQmFja29mZlBsdWdpbiByZXRyeSBldmVudCB3aGVyZSBpdCB3YXMgdHJ5aW5nIHRvIGFjY2VzcyBhbGwgZXhjZXB0aW9ucyBhcyBpZiB0aGV5IHdlcmUKICBDdXJsRXhjZXB0aW9ucwoqIENVUkxPUFRfUFJPR1JFU1MgZnVuY3Rpb24gZml4IGZvciBQSFAgNS41ICg2OWZjYzFlKQoqIEFkZGVkIHRoZSBhYmlsaXR5IGZvciBHdXp6bGUgdG8gd29yayB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIGNVUkwgdGhhdCBkbyBub3Qgc3VwcG9ydCBgQ1VSTE9QVF9USU1FT1VUX01TYAoqIEZpeGVkIGEgYnVnIHRoYXQgd2FzIGVuY291bnRlcmVkIHdoZW4gcGFyc2luZyBlbXB0eSBoZWFkZXIgcGFyYW1ldGVycwoqIFVyaVRlbXBsYXRlIG5vdyBoYXMgYSBgc2V0UmVnZXgoKWAgbWV0aG9kIHRvIG1hdGNoIHRoZSBkb2NzCiogVGhlIGBkZWJ1Z2AgcmVxdWVzdCBwYXJhbWV0ZXIgbm93IGNoZWNrcyBpZiBpdCBpcyB0cnV0aHkgcmF0aGVyIHRoYW4gaWYgaXQgZXhpc3RzCiogU2V0dGluZyB0aGUgYGRlYnVnYCByZXF1ZXN0IHBhcmFtZXRlciB0byB0cnVlIHNob3dzIHZlcmJvc2UgY1VSTCBvdXRwdXQgaW5zdGVhZCBvZiB1c2luZyB0aGUgTG9nUGx1Z2luCiogQWRkZWQgdGhlIGFiaWxpdHkgdG8gY29tYmluZSBVUkxzIHVzaW5nIHN0cmljdCBSRkMgMzk4NiBjb21wbGlhbmNlCiogQ29tbWFuZCBvYmplY3RzIGNhbiBub3cgcmV0dXJuIHRoZSB2YWxpZGF0aW9uIGVycm9ycyBlbmNvdW50ZXJlZCBieSB0aGUgY29tbWFuZAoqIFZhcmlvdXMgZml4ZXMgdG8gY2FjaGUgcmV2YWxpZGF0aW9uICgjNDM3IGFuZCAyOTc5N2U1KQoqIFZhcmlvdXMgZml4ZXMgdG8gdGhlIEFzeW5jUGx1Z2luCiogQ2xlYW5lZCB1cCBidWlsZCBzY3JpcHRzCgozLjcuNCAoMjAxMy0xMC0wMikKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEJ1ZyBmaXg6IDAgaXMgbm93IGFuIGFsbG93ZWQgdmFsdWUgaW4gYSBkZXNjcmlwdGlvbiBwYXJhbWV0ZXIgdGhhdCBoYXMgYSBkZWZhdWx0IHZhbHVlICgjNDMwKQoqIEJ1ZyBmaXg6IFNjaGVtYUZvcm1hdHRlciBub3cgcmV0dXJucyBhbiBpbnRlZ2VyIHdoZW4gZm9ybWF0dGluZyB0byBhIFVuaXggdGltZXN0YW1wCiAgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstcGhwL2lzc3Vlcy8xNDcpCiogQnVnIGZpeDogQ2xlYW5lZCB1cCBhbmQgZml4ZWQgVVJMIGRvdCBzZWdtZW50IHJlbW92YWwgdG8gcHJvcGVybHkgcmVzb2x2ZSBpbnRlcm5hbCBkb3RzCiogTWluaW11bSBQSFAgdmVyc2lvbiBpcyBub3cgcHJvcGVybHkgc3BlY2lmaWVkIGFzIDUuMy4zICh1cCBmcm9tIDUuMy4yKSAoIzQyMCkKKiBVcGRhdGVkIHRoZSBidW5kbGVkIGNhY2VydC5wZW0gKCM0MTkpCiogT2F1dGhQbHVnaW4gbm93IHN1cHBvcnRzIGFkZGluZyBhdXRoZW50aWNhdGlvbiB0byBoZWFkZXJzIG9yIHF1ZXJ5IHN0cmluZyAoIzQyNSkKCjMuNy4zICgyMDEzLTA5LTA4KQotLS0tLS0tLS0tLS0tLS0tLS0KCiogQWRkZWQgdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBleGNlcHRpb24gYXNzb2NpYXRlZCB3aXRoIGEgcmVxdWVzdC9jb21tYW5kIHdoZW4gdXNpbmcgYE11bHRpVHJhbnNmZXJFeGNlcHRpb25gIGFuZAogIGBDb21tYW5kVHJhbnNmZXJFeGNlcHRpb25gLgoqIFNldHRpbmcgYGFkZGl0aW9uYWxQYXJhbWV0ZXJzYCBvZiBhIHJlc3BvbnNlIHRvIGZhbHNlIGlzIG5vdyBob25vcmVkIHdoZW4gcGFyc2luZyByZXNwb25zZXMgd2l0aCBhIHNlcnZpY2UgZGVzY3JpcHRpb24KKiBTY2hlbWFzIGFyZSBvbmx5IGluamVjdGVkIGludG8gcmVzcG9uc2UgbW9kZWxzIHdoZW4gZXhwbGljaXRseSBjb25maWd1cmVkLgoqIE5vIGxvbmdlciBndWVzc2luZyBDb250ZW50LVR5cGUgYmFzZWQgb24gdGhlIHBhdGggb2YgYSByZXF1ZXN0LiBDb250ZW50LVR5cGUgaXMgbm93IG9ubHkgZ3Vlc3NlZCBiYXNlZCBvbiB0aGUgcGF0aCBvZgogIGFuIEVudGl0eUJvZHkuCiogQnVnIGZpeDogQ2h1bmtlZEl0ZXJhdG9yIGNhbiBub3cgcHJvcGVybHkgY2h1bmsgYSBcVHJhdmVyc2FibGUgYXMgd2VsbCBhcyBhbiBcSXRlcmF0b3IuCiogQnVnIGZpeDogRmlsdGVySXRlcmF0b3Igbm93IHJlbGllcyBvbiBgXEl0ZXJhdG9yYCBpbnN0ZWFkIG9mIGBcVHJhdmVyc2FibGVgLgoqIEJ1ZyBmaXg6IEdyYWNlZnVsbHkgaGFuZGxpbmcgbWFsZm9ybWVkIHJlc3BvbnNlcyBpbiBSZXF1ZXN0TWVkaWF0b3I6OndyaXRlUmVzcG9uc2VCb2R5KCkKKiBCdWcgZml4OiBSZXBsYWNlZCBjYWxsIHRvIGNhbkNhY2hlIHdpdGggY2FuQ2FjaGVSZXF1ZXN0IGluIHRoZSBDYWxsYmFja0NhbkNhY2hlU3RyYXRlZ3kgb2YgdGhlIENhY2hlUGx1Z2luCiogQnVnIGZpeDogVmlzaXRpbmcgWE1MIGF0dHJpYnV0ZXMgZmlyc3QgYmVmb3JlIHZpc3RpbmcgWE1MIGNoaWxkcmVuIHdoZW4gc2VyaWFsaXppbmcgcmVxdWVzdHMKKiBCdWcgZml4OiBQcm9wZXJseSBwYXJzaW5nIGhlYWRlcnMgdGhhdCBjb250YWluIGNvbW1hcyBjb250YWluZWQgaW4gcXVvdGVzCiogQnVnIGZpeDogbWltZXR5cGUgZ3Vlc3NpbmcgYmFzZWQgb24gYSBmaWxlbmFtZSBpcyBub3cgY2FzZS1pbnNlbnNpdGl2ZQoKMy43LjIgKDIwMTMtMDgtMDIpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBCdWcgZml4OiBQcm9wZXJseSBVUkwgZW5jb2RpbmcgcGF0aHMgd2hlbiB1c2luZyB0aGUgUEhQLW9ubHkgdmVyc2lvbiBvZiB0aGUgVXJpVGVtcGxhdGUgZXhwYW5kZXIKICBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2d1enpsZS9ndXp6bGUvaXNzdWVzLzM3MQoqIEJ1ZyBmaXg6IENvb2tpZSBkb21haW5zIGFyZSBub3cgbWF0Y2hlZCBjb3JyZWN0bHkgYWNjb3JkaW5nIHRvIFJGQyA2MjY1CiAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ndXp6bGUvZ3V6emxlL2lzc3Vlcy8zNzcKKiBCdWcgZml4OiBHRVQgcGFyYW1ldGVycyBhcmUgbm93IHVzZWQgd2hlbiBjYWxjdWxhdGluZyBhbiBPQXV0aCBzaWduYXR1cmUKKiBCdWcgZml4OiBGaXhlZCBhbiBpc3N1ZSB3aXRoIGNhY2hlIHJldmFsaWRhdGlvbiB3aGVyZSB0aGUgSWYtTm9uZS1NYXRjaCBoZWFkZXIgd2FzIGJlaW5nIGRvdWJsZSBxdW90ZWQKKiBgR3V6emxlXENvbW1vblxBYnN0cmFjdEhhc0Rpc3BhdGNoZXI6OmRpc3BhdGNoKClgIG5vdyByZXR1cm5zIHRoZSBldmVudCB0aGF0IHdhcyBkaXNwYXRjaGVkCiogYEd1enpsZVxIdHRwXFF1ZXJ5U3RyaW5nOjpmYWN0b3J5KClgIG5vdyBndWVzc2VzIHRoZSBtb3N0IGFwcHJvcHJpYXRlIHF1ZXJ5IGFnZ3JlZ2F0b3IgdG8gdXNlZCBiYXNlZCBvbiB0aGUgaW5wdXQuCiAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ndXp6bGUvZ3V6emxlL2lzc3Vlcy8zNzkKKiBBZGRlZCBhIHdheSB0byBhZGQgY3VzdG9tIGRvbWFpbiBvYmplY3RzIHRvIHNlcnZpY2UgZGVzY3JpcHRpb24gcGFyc2luZyB1c2luZyB0aGUgYG9wZXJhdGlvbi5wYXJzZV9jbGFzc2AgZXZlbnQuIFNlZQogIGh0dHBzOi8vZ2l0aHViLmNvbS9ndXp6bGUvZ3V6emxlL3B1bGwvMzgwCiogY1VSTCBtdWx0aSBjbGVhbnVwIGFuZCBvcHRpbWl6YXRpb25zCgozLjcuMSAoMjAxMy0wNy0wNSkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEJ1ZyBmaXg6IFNldHRpbmcgZGVmYXVsdCBvcHRpb25zIG9uIGEgY2xpZW50IG5vdyB3b3JrcwoqIEJ1ZyBmaXg6IFNldHRpbmcgb3B0aW9ucyBvbiBIRUFEIHJlcXVlc3RzIG5vdyB3b3Jrcy4gU2VlICMzNTIKKiBCdWcgZml4OiBNb3Zpbmcgc3RyZWFtIGZhY3RvcnkgYmVmb3JlIHNlbmQgZXZlbnQgdG8gYmVmb3JlIGJ1aWxkaW5nIHRoZSBzdHJlYW0uIFNlZSAjMzUzCiogQnVnIGZpeDogQ29va2llcyBubyBsb25nZXIgbWF0Y2ggb24gSVAgYWRkcmVzc2VzIHBlciBSRkMgNjI2NQoqIEJ1ZyBmaXg6IENvcnJlY3RseSBwYXJzaW5nIGhlYWRlciBwYXJhbWV0ZXJzIHRoYXQgYXJlIGluIGA8PmAgYW5kIHF1b3RlcwoqIEFkZGVkIGBjZXJ0YCBhbmQgYHNzbF9rZXlgIGFzIHJlcXVlc3Qgb3B0aW9ucwoqIGBIb3N0YCBoZWFkZXIgY2FuIG5vdyBkaXZlcmdlIGZyb20gdGhlIGhvc3QgcGFydCBvZiBhIFVSTCBpZiB0aGUgaGVhZGVyIGlzIHNldCBtYW51YWxseQoqIGBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0XFhtbFZpc2l0b3JgIHdhcyByZXdyaXR0ZW4gdG8gY2hhbmdlIGZyb20gdXNpbmcgU2ltcGxlWE1MIHRvIFhNTFdyaXRlcgoqIE9BdXRoIHBhcmFtZXRlcnMgYXJlIG9ubHkgYWRkZWQgdmlhIHRoZSBwbHVnaW4gaWYgdGhleSBhcmVuJ3QgYWxyZWFkeSBzZXQKKiBFeGNlcHRpb25zIGFyZSBub3cgdGhyb3duIHdoZW4gYSBVUkwgY2Fubm90IGJlIHBhcnNlZAoqIFJldHVybmluZyBgZmFsc2VgIGlmIGBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5OjpnZXRDb250ZW50TWQ1KClgIGZhaWxzCiogTm90IHNldHRpbmcgYSBgQ29udGVudC1NRDVgIG9uIGEgY29tbWFuZCBpZiBjYWxjdWxhdGluZyB0aGUgQ29udGVudC1NRDUgZmFpbHMgdmlhIHRoZSBDb21tYW5kQ29udGVudE1kNVBsdWdpbgoKMy43LjAgKDIwMTMtMDYtMTApCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBTZWUgVVBHUkFESU5HLm1kIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyB0byB1cGdyYWRlLgoqIFJlcXVlc3RzIG5vdyBzdXBwb3J0IHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYW4gYXJyYXkgb2YgJG9wdGlvbnMgd2hlbiBjcmVhdGluZyBhIHJlcXVlc3QgdG8gbW9yZSBlYXNpbHkgbW9kaWZ5IGEKICByZXF1ZXN0LiBZb3UgY2FuIHBhc3MgYSAncmVxdWVzdC5vcHRpb25zJyBjb25maWd1cmF0aW9uIHNldHRpbmcgdG8gYSBjbGllbnQgdG8gYXBwbHkgZGVmYXVsdCByZXF1ZXN0IG9wdGlvbnMgdG8KICBldmVyeSByZXF1ZXN0IGNyZWF0ZWQgYnkgYSBjbGllbnQgKGUuZy4gZGVmYXVsdCBxdWVyeSBzdHJpbmcgdmFyaWFibGVzLCBoZWFkZXJzLCBjdXJsIG9wdGlvbnMsIGV0YykuCiogQWRkZWQgYSBzdGF0aWMgZmFjYWRlIGNsYXNzIHRoYXQgYWxsb3dzIHlvdSB0byB1c2UgR3V6emxlIHdpdGggc3RhdGljIG1ldGhvZHMgYW5kIG1vdW50IHRoZSBjbGFzcyB0byBgXEd1enpsZWAuCiAgU2VlIGBHdXp6bGVcSHR0cFxTdGF0aWNDbGllbnQ6Om1vdW50YC4KKiBBZGRlZCBgY29tbWFuZC5yZXF1ZXN0X29wdGlvbnNgIHRvIGBHdXp6bGVcU2VydmljZVxDb21tYW5kXEFic3RyYWN0Q29tbWFuZGAgdG8gcGFzcyByZXF1ZXN0IG9wdGlvbnMgdG8gcmVxdWVzdHMKICAgICAgY3JlYXRlZCBieSBhIGNvbW1hbmQgKGUuZy4gY3VzdG9tIGhlYWRlcnMsIHF1ZXJ5IHN0cmluZyB2YXJpYWJsZXMsIHRpbWVvdXQgc2V0dGluZ3MsIGV0YykuCiogU3RyZWFtIHNpemUgaW4gYEd1enpsZVxTdHJlYW1cUGhwU3RyZWFtUmVxdWVzdEZhY3RvcnlgIHdpbGwgbm93IGJlIHNldCBpZiBDb250ZW50LUxlbmd0aCBpcyByZXR1cm5lZCBpbiB0aGUKICBoZWFkZXJzIG9mIGEgcmVzcG9uc2UKKiBBZGRlZCBgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOjpzZXRQYXRoKCRwYXRoLCAkdmFsdWUpYCB0byBzZXQgYSB2YWx1ZSBpbnRvIGFuIGFycmF5IHVzaW5nIGEgbmVzdGVkIGtleQogIChlLmcuIGAkY29sbGVjdGlvbi0+c2V0UGF0aCgnZm9vL2Jhei9iYXInLCAndGVzdCcpOyBlY2hvICRjb2xsZWN0aW9uWydmb28nXVsnYmFyJ11bJ2JhciddO2ApCiogU2VydmljZUJ1aWxkZXJzIG5vdyBzdXBwb3J0IHN0b3JpbmcgYW5kIHJldHJpZXZpbmcgYXJiaXRyYXJ5IGRhdGEKKiBDYWNoZVBsdWdpbiBjYW4gbm93IHB1cmdlIGFsbCByZXNvdXJjZXMgZm9yIGEgZ2l2ZW4gVVJJCiogQ2FjaGVQbHVnaW4gY2FuIGF1dG9tYXRpY2FsbHkgcHVyZ2UgbWF0Y2hpbmcgY2FjaGVkIGl0ZW1zIHdoZW4gYSBub24taWRlbXBvdGVudCByZXF1ZXN0IGlzIHNlbnQgdG8gYSByZXNvdXJjZQoqIENhY2hlUGx1Z2luIG5vdyB1c2VzIHRoZSBWYXJ5IGhlYWRlciB0byBkZXRlcm1pbmUgaWYgYSByZXNvdXJjZSBpcyBhIGNhY2hlIGhpdAoqIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlYCBub3cgaW1wbGVtZW50cyBgXFNlcmlhbGl6YWJsZWAKKiBBZGRlZCBgR3V6emxlXENhY2hlXENhY2hlQWRhcHRlckZhY3Rvcnk6OmZyb21DYWNoZSgpYCB0byBtb3JlIGVhc2lseSBjcmVhdGUgY2FjaGUgYWRhcHRlcnMKKiBgR3V6emxlXFNlcnZpY2VcQ2xpZW50SW50ZXJmYWNlOjpleGVjdXRlKClgIG5vdyBhY2NlcHRzIGFuIGFycmF5LCBzaW5nbGUgY29tbWFuZCwgb3IgVHJhdmVyc2FibGUKKiBGaXhlZCBhIGJ1ZyBpbiBgR3V6emxlXEh0dHBcTWVzc2FnZVxIZWFkZXJcTGluazo6YWRkTGluaygpYAoqIEJldHRlciBoYW5kbGluZyBvZiBjYWxjdWxhdGluZyB0aGUgc2l6ZSBvZiBhIHN0cmVhbSBpbiBgR3V6emxlXFN0cmVhbVxTdHJlYW1gIHVzaW5nIGZzdGF0KCkgYW5kIGNhY2hpbmcgdGhlIHNpemUKKiBgR3V6emxlXENvbW1vblxFeGNlcHRpb25cRXhjZXB0aW9uQ29sbGVjdGlvbmAgbm93IGNyZWF0ZXMgYSBtb3JlIHJlYWRhYmxlIGV4Y2VwdGlvbiBtZXNzYWdlCiogRml4aW5nIEJDIGJyZWFrOiBBZGRlZCBiYWNrIHRoZSBNb25vbG9nTG9nQWRhcHRlciBpbXBsZW1lbnRhdGlvbiByYXRoZXIgdGhhbiBleHRlbmRpbmcgZnJvbSBQc3JMb2cgc28gdGhhdCBvbGRlcgogIFN5bWZvbnkgdXNlcnMgY2FuIHN0aWxsIHVzZSB0aGUgb2xkIHZlcnNpb24gb2YgTW9ub2xvZy4KKiBGaXhpbmcgQkMgYnJlYWs6IEFkZGVkIHRoZSBpbXBsZW1lbnRhdGlvbiBiYWNrIGluIGZvciBgR3V6emxlXEh0dHBcTWVzc2FnZVxBYnN0cmFjdE1lc3NhZ2U6OmdldFRva2VuaXplZEhlYWRlcigpYC4KICBOb3cgdHJpZ2dlcmluZyBhbiBFX1VTRVJfREVQUkVDQVRFRCB3YXJuaW5nIHdoZW4gdXNlZC4gVXNlIGAkbWVzc2FnZS0+Z2V0SGVhZGVyKCktPnBhcnNlUGFyYW1zKClgLgoqIFNldmVyYWwgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzIHRvIGBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb25gCiogQWRkZWQgYW4gYCRvcHRpb25zYCBhcmd1bWVudCB0byB0aGUgZW5kIG9mIHRoZSBmb2xsb3dpbmcgbWV0aG9kcyBvZiBgR3V6emxlXEh0dHBcQ2xpZW50SW50ZXJmYWNlYDoKICBjcmVhdGVSZXF1ZXN0LCBoZWFkLCBkZWxldGUsIHB1dCwgcGF0Y2gsIHBvc3QsIG9wdGlvbnMsIHByZXBhcmVSZXF1ZXN0CiogQWRkZWQgYW4gYCRvcHRpb25zYCBhcmd1bWVudCB0byB0aGUgZW5kIG9mIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RcUmVxdWVzdEZhY3RvcnlJbnRlcmZhY2U6OmNyZWF0ZVJlcXVlc3QoKWAKKiBBZGRlZCBhbiBgYXBwbHlPcHRpb25zKClgIG1ldGhvZCB0byBgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0XFJlcXVlc3RGYWN0b3J5SW50ZXJmYWNlYAoqIENoYW5nZWQgYEd1enpsZVxIdHRwXENsaWVudEludGVyZmFjZTo6Z2V0KCR1cmkgPSBudWxsLCAkaGVhZGVycyA9IG51bGwsICRib2R5ID0gbnVsbClgIHRvCiAgYEd1enpsZVxIdHRwXENsaWVudEludGVyZmFjZTo6Z2V0KCR1cmkgPSBudWxsLCAkaGVhZGVycyA9IG51bGwsICRvcHRpb25zID0gYXJyYXkoKSlgLiBZb3UgY2FuIHN0aWxsIHBhc3MgaW4gYQogIHJlc291cmNlLCBzdHJpbmcsIG9yIEVudGl0eUJvZHkgaW50byB0aGUgJG9wdGlvbnMgcGFyYW1ldGVyIHRvIHNwZWNpZnkgdGhlIGRvd25sb2FkIGxvY2F0aW9uIG9mIHRoZSByZXNwb25zZS4KKiBDaGFuZ2VkIGBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb246Ol9fY29uc3RydWN0KCRkYXRhKWAgdG8gbm8gbG9uZ2VyIGFjY2VwdHMgYSBudWxsIHZhbHVlIGZvciBgJGRhdGFgIGJ1dCBhCiAgZGVmYXVsdCBgYXJyYXkoKWAKKiBBZGRlZCBgR3V6emxlXFN0cmVhbVxTdHJlYW1JbnRlcmZhY2U6OmlzUmVwZWF0YWJsZWAKKiBSZW1vdmVkIGBHdXp6bGVcSHR0cFxDbGllbnRJbnRlcmZhY2U6OnNldERlZmF1bHRIZWFkZXJzKCkuIFVzZQogICRjbGllbnQtPmdldENvbmZpZygpLT5zZXRQYXRoKCdyZXF1ZXN0Lm9wdGlvbnMvaGVhZGVycy97aGVhZGVyX25hbWV9JywgJ3ZhbHVlJylgLiBvcgogICRjbGllbnQtPmdldENvbmZpZygpLT5zZXRQYXRoKCdyZXF1ZXN0Lm9wdGlvbnMvaGVhZGVycycsIGFycmF5KCdoZWFkZXJfbmFtZScgPT4gJ3ZhbHVlJykpYC4KKiBSZW1vdmVkIGBHdXp6bGVcSHR0cFxDbGllbnRJbnRlcmZhY2U6OmdldERlZmF1bHRIZWFkZXJzKCkuIFVzZSAkY2xpZW50LT5nZXRDb25maWcoKS0+Z2V0UGF0aCgncmVxdWVzdC5vcHRpb25zL2hlYWRlcnMnKWAuCiogUmVtb3ZlZCBgR3V6emxlXEh0dHBcQ2xpZW50SW50ZXJmYWNlOjpleHBhbmRUZW1wbGF0ZSgpYAoqIFJlbW92ZWQgYEd1enpsZVxIdHRwXENsaWVudEludGVyZmFjZTo6c2V0UmVxdWVzdEZhY3RvcnkoKWAKKiBSZW1vdmVkIGBHdXp6bGVcSHR0cFxDbGllbnRJbnRlcmZhY2U6OmdldEN1cmxNdWx0aSgpYAoqIFJlbW92ZWQgYEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTo6Y2FuQ2FjaGVgCiogUmVtb3ZlZCBgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOjpzZXRJc1JlZGlyZWN0YAoqIFJlbW92ZWQgYEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTo6aXNSZWRpcmVjdGAKKiBNYWRlIGBHdXp6bGVcSHR0cFxDbGllbnQ6OmV4cGFuZFRlbXBsYXRlYCBhbmQgYGdldFVyaVRlbXBsYXRlYCBwcm90ZWN0ZWQgbWV0aG9kcy4KKiBZb3UgY2FuIG5vdyBlbmFibGUgRV9VU0VSX0RFUFJFQ0FURUQgd2FybmluZ3MgdG8gc2VlIGlmIHlvdSBhcmUgdXNpbmcgYSBkZXByZWNhdGVkIG1ldGhvZCBieSBzZXR0aW5nCiAgYEd1enpsZVxDb21tb25cVmVyc2lvbjo6JGVtaXRXYXJuaW5nc2AgdG8gdHJ1ZS4KKiBNYXJrZWQgYEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDo6aXNSZXNwb25zZUJvZHlSZXBlYXRhYmxlKClgIGFzIGRlcHJlY2F0ZWQuIFVzZQogICAgICBgJHJlcXVlc3QtPmdldFJlc3BvbnNlQm9keSgpLT5pc1JlcGVhdGFibGUoKWAgaW5zdGVhZC4KKiBNYXJrZWQgYEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDo6Y2FuQ2FjaGUoKWAgYXMgZGVwcmVjYXRlZC4gVXNlCiAgYEd1enpsZVxQbHVnaW5cQ2FjaGVcRGVmYXVsdENhbkNhY2hlU3RyYXRlZ3ktPmNhbkNhY2hlUmVxdWVzdCgpYCBpbnN0ZWFkLgoqIE1hcmtlZCBgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0OjpjYW5DYWNoZSgpYCBhcyBkZXByZWNhdGVkLiBVc2UKICBgR3V6emxlXFBsdWdpblxDYWNoZVxEZWZhdWx0Q2FuQ2FjaGVTdHJhdGVneS0+Y2FuQ2FjaGVSZXF1ZXN0KClgIGluc3RlYWQuCiogTWFya2VkIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q6OnNldElzUmVkaXJlY3QoKWAgYXMgZGVwcmVjYXRlZC4gVXNlIHRoZSBIaXN0b3J5UGx1Z2luIGluc3RlYWQuCiogTWFya2VkIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q6OmlzUmVkaXJlY3QoKWAgYXMgZGVwcmVjYXRlZC4gVXNlIHRoZSBIaXN0b3J5UGx1Z2luIGluc3RlYWQuCiogTWFya2VkIGBHdXp6bGVcQ2FjaGVcQ2FjaGVBZGFwdGVyRmFjdG9yeTo6ZmFjdG9yeSgpYCBhcyBkZXByZWNhdGVkCiogTWFya2VkICdjb21tYW5kLmhlYWRlcnMnLCAnY29tbWFuZC5yZXNwb25zZV9ib2R5JyBhbmQgJ2NvbW1hbmQub25fY29tcGxldGUnIGFzIGRlcHJlY2F0ZWQgZm9yIEFic3RyYWN0Q29tbWFuZC4KICBUaGVzZSB3aWxsIHdvcmsgdGhyb3VnaCBHdXp6bGUgNC4wCiogTWFya2VkICdyZXF1ZXN0LnBhcmFtcycgZm9yIGBHdXp6bGVcSHR0cFxDbGllbnRgIGFzIGRlcHJlY2F0ZWQuIFVzZSBbcmVxdWVzdC5vcHRpb25zXVtwYXJhbXNdLgoqIE1hcmtlZCBgR3V6emxlXFNlcnZpY2VcQ2xpZW50OjplbmFibGVNYWdpY01ldGhvZHMoKWAgYXMgZGVwcmVjYXRlZC4gTWFnaWMgbWV0aG9kcyBjYW4gbm8gbG9uZ2VyIGJlIGRpc2FibGVkIG9uIGEgR3V6emxlXFNlcnZpY2VcQ2xpZW50LgoqIE1hcmtlZCBgR3V6emxlXFNlcnZpY2VcQ2xpZW50OjpnZXREZWZhdWx0SGVhZGVycygpYCBhcyBkZXByZWNhdGVkLiBVc2UgJGNsaWVudC0+Z2V0Q29uZmlnKCktPmdldFBhdGgoJ3JlcXVlc3Qub3B0aW9ucy9oZWFkZXJzJylgLgoqIE1hcmtlZCBgR3V6emxlXFNlcnZpY2VcQ2xpZW50OjpzZXREZWZhdWx0SGVhZGVycygpYCBhcyBkZXByZWNhdGVkLiBVc2UgJGNsaWVudC0+Z2V0Q29uZmlnKCktPnNldFBhdGgoJ3JlcXVlc3Qub3B0aW9ucy9oZWFkZXJzL3toZWFkZXJfbmFtZX0nLCAndmFsdWUnKWAuCiogTWFya2VkIGBHdXp6bGVcUGFyc2VyXFVybFxVcmxQYXJzZXJgIGFzIGRlcHJlY2F0ZWQuIEp1c3QgdXNlIFBIUCdzIGBwYXJzZV91cmwoKWAgYW5kIHBlcmNlbnQgZW5jb2RlIHlvdXIgVVRGLTguCiogTWFya2VkIGBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb246OmluamVjdCgpYCBhcyBkZXByZWNhdGVkLgoqIE1hcmtlZCBgR3V6emxlXFBsdWdpblxDdXJsQXV0aFxDdXJsQXV0aFBsdWdpbmAgYXMgZGVwcmVjYXRlZC4gVXNlIGAkY2xpZW50LT5nZXRDb25maWcoKS0+c2V0UGF0aCgncmVxdWVzdC5vcHRpb25zL2F1dGgnLCBhcnJheSgndXNlcicsICdwYXNzJywgJ0Jhc2ljfERpZ2VzdCcpO2AKKiBDYWNoZUtleVByb3ZpZGVySW50ZXJmYWNlIGFuZCBEZWZhdWx0Q2FjaGVLZXlQcm92aWRlciBhcmUgbm8gbG9uZ2VyIHVzZWQuIEFsbCBvZiB0aGlzIGxvZ2ljIGlzIGhhbmRsZWQgaW4gYQogIENhY2hlU3RvcmFnZUludGVyZmFjZS4gVGhlc2UgdHdvIG9iamVjdHMgYW5kIGludGVyZmFjZSB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi4KKiBBbHdheXMgc2V0dGluZyBYLWNhY2hlIGhlYWRlcnMgb24gY2FjaGVkIHJlc3BvbnNlcwoqIERlZmF1bHQgY2FjaGUgVFRMcyBhcmUgbm93IGhhbmRsZWQgYnkgdGhlIENhY2hlU3RvcmFnZUludGVyZmFjZSBvZiBhIENhY2hlUGx1Z2luCiogYENhY2hlU3RvcmFnZUludGVyZmFjZTo6Y2FjaGUoJGtleSwgUmVzcG9uc2UgJHJlc3BvbnNlLCAkdHRsID0gbnVsbClgIGhhcyBjaGFuZ2VkIHRvIGBjYWNoZShSZXF1ZXN0SW50ZXJmYWNlCiAgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSk7YAoqIGBDYWNoZVN0b3JhZ2VJbnRlcmZhY2U6OmZldGNoKCRrZXkpYCBoYXMgY2hhbmdlZCB0byBgZmV0Y2goUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCk7YAoqIGBDYWNoZVN0b3JhZ2VJbnRlcmZhY2U6OmRlbGV0ZSgka2V5KWAgaGFzIGNoYW5nZWQgdG8gYGRlbGV0ZShSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KTtgCiogQWRkZWQgYENhY2hlU3RvcmFnZUludGVyZmFjZTo6cHVyZ2UoJHVybClgCiogYERlZmF1bHRSZXZhbGlkYXRpb246Ol9fY29uc3RydWN0KENhY2hlS2V5UHJvdmlkZXJJbnRlcmZhY2UgJGNhY2hlS2V5LCBDYWNoZVN0b3JhZ2VJbnRlcmZhY2UgJGNhY2hlLCBDYWNoZVBsdWdpbgogICRwbHVnaW4pYCBoYXMgY2hhbmdlZCB0byBgRGVmYXVsdFJldmFsaWRhdGlvbjo6X19jb25zdHJ1Y3QoQ2FjaGVTdG9yYWdlSW50ZXJmYWNlICRjYWNoZSwKICBDYW5DYWNoZVN0cmF0ZWd5SW50ZXJmYWNlICRjYW5DYWNoZSA9IG51bGwpYAoqIEFkZGVkIGBSZXZhbGlkYXRpb25JbnRlcmZhY2U6OnNob3VsZFJldmFsaWRhdGUoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgUmVzcG9uc2UgJHJlc3BvbnNlKWAKCjMuNi4wICgyMDEzLTA1LTI5KQotLS0tLS0tLS0tLS0tLS0tLS0KCiogU2VydmljZURlc2NyaXB0aW9uIG5vdyBpbXBsZW1lbnRzIFRvQXJyYXlJbnRlcmZhY2UKKiBBZGRlZCBjb21tYW5kLmhpZGRlbl9wYXJhbXMgdG8gYmxhY2tsaXN0IGNlcnRhaW4gaGVhZGVycyBmcm9tIGJlaW5nIHRyZWF0ZWQgYXMgYWRkaXRpb25hbFBhcmFtZXRlcnMKKiBHdXp6bGUgY2FuIG5vdyBjb3JyZWN0bHkgcGFyc2UgaW5jb21wbGV0ZSBVUkxzCiogTWl4ZWQgY2FzaW5nIG9mIGhlYWRlcnMgYXJlIG5vdyBmb3JjZWQgdG8gYmUgYSBzaW5nbGUgY29uc2lzdGVudCBjYXNpbmcgYWNyb3NzIGFsbCB2YWx1ZXMgZm9yIHRoYXQgaGVhZGVyLgoqIE1lc3NhZ2VzIGludGVybmFsbHkgdXNlIGEgSGVhZGVyQ29sbGVjdGlvbiBvYmplY3QgdG8gZGVsZWdhdGUgaGFuZGxpbmcgY2FzZS1pbnNlbnNpdGl2ZSBoZWFkZXIgcmVzb2x1dGlvbgoqIFJlbW92ZWQgdGhlIHdob2xlIGNoYW5nZWRIZWFkZXIoKSBmdW5jdGlvbiBzeXN0ZW0gb2YgbWVzc2FnZXMgYmVjYXVzZSBhbGwgaGVhZGVyIGNoYW5nZXMgbm93IGdvIHRocm91Z2ggYWRkSGVhZGVyKCkuCiogU3BlY2lmaWMgaGVhZGVyIGltcGxlbWVudGF0aW9ucyBjYW4gYmUgY3JlYXRlZCBmb3IgY29tcGxleCBoZWFkZXJzLiBXaGVuIGEgbWVzc2FnZSBjcmVhdGVzIGEgaGVhZGVyLCBpdCB1c2VzIGEKICBIZWFkZXJGYWN0b3J5IHdoaWNoIGNhbiBtYXAgc3BlY2lmaWMgaGVhZGVycyB0byBzcGVjaWZpYyBoZWFkZXIgY2xhc3Nlcy4gVGhlcmUgaXMgbm93IGEgTGluayBoZWFkZXIgYW5kCiAgQ2FjaGVDb250cm9sIGhlYWRlciBpbXBsZW1lbnRhdGlvbi4KKiBSZW1vdmVkIGZyb20gaW50ZXJmYWNlOiBHdXp6bGVcSHR0cFxDbGllbnRJbnRlcmZhY2U6OnNldFVyaVRlbXBsYXRlCiogUmVtb3ZlZCBmcm9tIGludGVyZmFjZTogR3V6emxlXEh0dHBcQ2xpZW50SW50ZXJmYWNlOjpzZXRDdXJsTXVsdGkoKQoqIFJlbW92ZWQgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0OjpyZWNlaXZlZFJlcXVlc3RIZWFkZXIoKSBhbmQgaW1wbGVtZW50ZWQgdGhpcyBmdW5jdGlvbmFsaXR5IGluCiAgR3V6emxlXEh0dHBcQ3VybFxSZXF1ZXN0TWVkaWF0b3IKKiBSZW1vdmVkIHRoZSBvcHRpb25hbCAkYXNTdHJpbmcgcGFyYW1ldGVyIGZyb20gTWVzc2FnZUludGVyZmFjZTo6Z2V0SGVhZGVyKCkuIEp1c3QgY2FzdCB0aGUgaGVhZGVyIHRvIGEgc3RyaW5nLgoqIFJlbW92ZWQgdGhlIG9wdGlvbmFsICR0cnlDaHVua2VkVHJhbnNmZXIgb3B0aW9uIGZyb20gR3V6emxlXEh0dHBcTWVzc2FnZVxFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0SW50ZXJmYWNlCiogUmVtb3ZlZCB0aGUgJGFzT2JqZWN0cyBhcmd1bWVudCBmcm9tIEd1enpsZVxIdHRwXE1lc3NhZ2VcTWVzc2FnZUludGVyZmFjZTo6Z2V0SGVhZGVycygpCiogUmVtb3ZlZCBHdXp6bGVcUGFyc2VyXFBhcnNlclJlZ2lzdGVyOjpnZXQoKS4gVXNlIGdldFBhcnNlcigpCiogUmVtb3ZlZCBHdXp6bGVcUGFyc2VyXFBhcnNlclJlZ2lzdGVyOjpzZXQoKS4gVXNlIHJlZ2lzdGVyUGFyc2VyKCkuCiogQWxsIHJlc3BvbnNlIGhlYWRlciBoZWxwZXIgZnVuY3Rpb25zIHJldHVybiBhIHN0cmluZyByYXRoZXIgdGhhbiBtaXhpbmcgSGVhZGVyIG9iamVjdHMgYW5kIHN0cmluZ3MgaW5jb25zaXN0ZW50bHkKKiBSZW1vdmVkIGNVUkwgYmxhY2tsaXN0IHN1cHBvcnQuIFRoaXMgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSBub3cgdGhhdCBFeHBlY3QsIEFjY2VwdCwgZXRjIGFyZSBtYW5hZ2VkIGJ5IEd1enpsZQogIGRpcmVjdGx5IHZpYSBpbnRlcmZhY2VzCiogUmVtb3ZlZCB0aGUgaW5qZWN0aW5nIG9mIGEgcmVxdWVzdCBvYmplY3Qgb250byBhIHJlc3BvbnNlIG9iamVjdC4gVGhlIG1ldGhvZHMgdG8gZ2V0IGFuZCBzZXQgYSByZXF1ZXN0IHN0aWxsIGV4aXN0CiAgYnV0IGFyZSBhIG5vLW9wIHVudGlsIHJlbW92ZWQuCiogTW9zdCBjbGFzc2VzIHRoYXQgdXNlZCB0byByZXF1aXJlIGEgYGBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2VgIHR5cGVoaW50IG5vdyByZXF1ZXN0IGEKICBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBcnJheUNvbW1hbmRJbnRlcmZhY2VgLgoqIEFkZGVkIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U6OnN0YXJ0UmVzcG9uc2UoKWAgdG8gdGhlIFJlcXVlc3RJbnRlcmZhY2UgdG8gaGFuZGxlIGluamVjdGluZyBhIHJlc3BvbnNlCiAgb24gYSByZXF1ZXN0IHdoaWxlIHRoZSByZXF1ZXN0IGlzIHN0aWxsIGJlaW5nIHRyYW5zZmVycmVkCiogVGhlIGFiaWxpdHkgdG8gY2FzZS1pbnNlbnNpdGl2ZWx5IHNlYXJjaCBmb3IgaGVhZGVyIHZhbHVlcwoqIEd1enpsZVxIdHRwXE1lc3NhZ2VcSGVhZGVyOjpoYXNFeGFjdEhlYWRlcgoqIEd1enpsZVxIdHRwXE1lc3NhZ2VcSGVhZGVyOjpyYXcuIFVzZSBnZXRBbGwoKQoqIERlcHJlY2F0ZWQgY2FjaGUgY29udHJvbCBzcGVjaWZpYyBtZXRob2RzIG9uIEd1enpsZVxIdHRwXE1lc3NhZ2VcQWJzdHJhY3RNZXNzYWdlLiBVc2UgdGhlIENhY2hlQ29udHJvbCBoZWFkZXIgb2JqZWN0CiAgaW5zdGVhZC4KKiBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlYCBub3cgZXh0ZW5kcyBmcm9tIFRvQXJyYXlJbnRlcmZhY2UgYW5kIEFycmF5QWNjZXNzCiogQWRkZWQgdGhlIGFiaWxpdHkgdG8gY2FzdCBNb2RlbCBvYmplY3RzIHRvIGEgc3RyaW5nIHRvIHZpZXcgZGVidWcgaW5mb3JtYXRpb24uCgozLjUuMCAoMjAxMy0wNS0xMykKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEJ1ZzogRml4ZWQgYSByZWdyZXNzaW9uIHNvIHRoYXQgcmVxdWVzdCByZXNwb25zZXMgYXJlIHBhcnNlZCBvbmx5IG9uY2UgcGVyIG9uY29tcGxldGUgZXZlbnQgcmF0aGVyIHRoYW4gbXVsdGlwbGUgdGltZXMKKiBCdWc6IEJldHRlciBjbGVhbnVwIG9mIG9uZS10aW1lIGV2ZW50cyBhY2Nyb3NzIHRoZSBib2FyZCAod2hlbiBhbiBldmVudCBpcyBtZWFudCB0byBmaXJlIG9uY2UsIGl0IHdpbGwgbm93IHJlbW92ZQogIGl0c2VsZiBmcm9tIHRoZSBFdmVudERpc3BhdGNoZXIpCiogQnVnOiBgR3V6emxlXExvZ1xNZXNzYWdlRm9ybWF0dGVyYCBub3cgcHJvcGVybHkgd3JpdGVzICJ0b3RhbF90aW1lIiBhbmQgImNvbm5lY3RfdGltZSIgdmFsdWVzCiogQnVnOiBDbG9uaW5nIGFuIEVudGl0eUVuY2xvc2luZ1JlcXVlc3Qgbm93IGNsb25lcyB0aGUgRW50aXR5Qm9keSB0b28KKiBCdWc6IEZpeGVkIGFuIHVuZGVmaW5lZCBpbmRleCBlcnJvciB3aGVuIHBhcnNpbmcgbmVzdGVkIEpTT04gcmVzcG9uc2VzIHdpdGggYSBzZW50QXMgcGFyYW1ldGVyIHRoYXQgcmVmZXJlbmNlIGEKICBub24tZXhpc3RlbnQga2V5CiogQnVnOiBBbGwgX19jYWxsKCkgbWV0aG9kIGFyZ3VtZW50cyBhcmUgbm93IHJlcXVpcmVkIChoZWxwcyB3aXRoIG1vY2tpbmcgZnJhbWV3b3JrcykKKiBEZXByZWNhdGluZyBSZXNwb25zZTo6Z2V0UmVxdWVzdCgpIGFuZCBub3cgdXNpbmcgYSBzaGFsbG93IGNsb25lIG9mIGEgcmVxdWVzdCBvYmplY3QgdG8gcmVtb3ZlIGEgY2lyY3VsYXIgcmVmZXJlbmNlCiAgdG8gaGVscCB3aXRoIHJlZmNvdW50IGJhc2VkIGdhcmJhZ2UgY29sbGVjdGlvbiBvZiByZXNvdXJjZXMgY3JlYXRlZCBieSBzZW5kaW5nIGEgcmVxdWVzdAoqIERlcHJlY2F0aW5nIFpGMSBjYWNoZSBhbmQgbG9nIGFkYXB0ZXJzLiBUaGVzZSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbi4KKiBEZXByZWNhdGluZyBgUmVzcG9uc2U6OmdldFByZXZpb3VzUmVzcG9uc2UoKWAgKG1ldGhvZCBzaWduYXR1cmUgc3RpbGwgZXhpc3RzLCBidXQgaXQnc2RlcHJlY2F0ZWQpLiBVc2UgdGhlCiAgSGlzdG9yeVBsdWdpbiBmb3IgYSBoaXN0b3J5LgoqIEFkZGVkIGEgYHJlc3BvbnNlQm9keWAgYWxpYXMgZm9yIHRoZSBgcmVzcG9uc2VfYm9keWAgbG9jYXRpb24KKiBSZWZhY3RvcmVkIGludGVybmFscyB0byBubyBsb25nZXIgcmVseSBvbiBSZXNwb25zZTo6Z2V0UmVxdWVzdCgpCiogSGlzdG9yeVBsdWdpbiBjYW4gbm93IGJlIGNhc3QgdG8gYSBzdHJpbmcKKiBIaXN0b3J5UGx1Z2luIG5vdyBsb2dzIHRyYW5zYWN0aW9ucyByYXRoZXIgdGhhbiByZXF1ZXN0cyBhbmQgcmVzcG9uc2VzIHRvIG1vcmUgYWNjdXJhdGVseSBrZWVwIHRyYWNrIG9mIHRoZSByZXF1ZXN0cwogIGFuZCByZXNwb25zZXMgdGhhdCBhcmUgc2VudCBvdmVyIHRoZSB3aXJlCiogQWRkZWQgYGdldEVmZmVjdGl2ZVVybCgpYCBhbmQgYGdldFJlZGlyZWN0Q291bnQoKWAgdG8gUmVzcG9uc2Ugb2JqZWN0cwoKMy40LjMgKDIwMTMtMDQtMzApCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBCdWcgZml4OiBGaXhpbmcgYnVnIGludHJvZHVjZWQgaW4gMy40LjIgd2hlcmUgcmVkaXJlY3QgcmVzcG9uc2VzIGFyZSBkdXBsaWNhdGVkIG9uIHRoZSBmaW5hbCByZWRpcmVjdGVkIHJlc3BvbnNlCiogQWRkZWQgYSBjaGVjayB0byByZS1leHRyYWN0IHRoZSB0ZW1wIGNhY2VydCBidW5kbGUgZnJvbSB0aGUgcGhhciBiZWZvcmUgc2VuZGluZyBlYWNoIHJlcXVlc3QKCjMuNC4yICgyMDEzLTA0LTI5KQotLS0tLS0tLS0tLS0tLS0tLS0KCiogQnVnIGZpeDogU3RyZWFtIG9iamVjdHMgbm93IHdvcmsgY29ycmVjdGx5IHdpdGggImEiIGFuZCAiYSsiIG1vZGVzCiogQnVnIGZpeDogUmVtb3ZpbmcgYFRyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkYCBoZWFkZXIgd2hlbiBhIENvbnRlbnQtTGVuZ3RoIGlzIHByZXNlbnQKKiBCdWcgZml4OiBBc3luY1BsdWdpbiBubyBsb25nZXIgZm9yY2VzIEhFQUQgcmVxdWVzdHMKKiBCdWcgZml4OiBEYXRlVGltZSB0aW1lem9uZXMgYXJlIG5vdyBwcm9wZXJseSBoYW5kbGVkIHdoZW4gdXNpbmcgdGhlIHNlcnZpY2UgZGVzY3JpcHRpb24gc2NoZW1hIGZvcm1hdHRlcgoqIEJ1ZyBmaXg6IENhY2hlUGx1Z2luIG5vdyBwcm9wZXJseSBoYW5kbGVzIHN0YWxlLWlmLWVycm9yIGRpcmVjdGl2ZXMgd2hlbiBhIHJlcXVlc3QgdG8gdGhlIG9yaWdpbiBzZXJ2ZXIgZmFpbHMKKiBTZXR0aW5nIGEgcmVzcG9uc2Ugb24gYSByZXF1ZXN0IHdpbGwgd3JpdGUgdG8gdGhlIGN1c3RvbSByZXF1ZXN0IGJvZHkgZnJvbSB0aGUgcmVzcG9uc2UgYm9keSBpZiBvbmUgaXMgc3BlY2lmaWVkCiogTG9nUGx1Z2luIG5vdyB3cml0ZXMgdG8gcGhwOi8vb3V0cHV0IHdoZW4gU1RERVJSIGlzIHVuZGVmaW5lZAoqIEFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCBtdWx0aXBsZSBQT1NUIGZpbGVzIGZvciB0aGUgc2FtZSBrZXkgaW4gYSBzaW5nbGUgY2FsbAoqIGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCBQT1NUcyBub3cgdXNlIHRoZSB1dGYtOCBjaGFyc2V0IGJ5IGRlZmF1bHQKKiBBZGRlZCB0aGUgYWJpbGl0eSB0byBxdWV1ZSBDdXJsRXhjZXB0aW9ucyB0byB0aGUgTW9ja1BsdWdpbgoqIENsZWFuZWQgdXAgaG93IG1hbnVhbCByZXNwb25zZXMgYXJlIHF1ZXVlZCBvbiByZXF1ZXN0cyAocmVtb3ZlZCAicXVldWVkX3Jlc3BvbnNlIiBhbmQgbm93IHVzaW5nIHJlcXVlc3QuYmVmb3JlX3NlbmQpCiogQ29uZmlndXJhdGlvbiBsb2FkaW5nIG5vdyBhbGxvd3MgcmVtb3RlIGZpbGVzCgozLjQuMSAoMjAxMy0wNC0xNikKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIExhcmdlIHJlZmFjdG9yaW5nIHRvIGhvdyBDdXJsTXVsdGkgaGFuZGxlcyB3b3JrLiBUaGVyZSBpcyBub3cgYSBwcm94eSB0aGF0IHNpdHMgaW4gZnJvbnQgb2YgYSBwb29sIG9mIEN1cmxNdWx0aQogIGhhbmRsZXMuIFRoaXMgZ3JlYXRseSBzaW1wbGlmaWVzIHRoZSBpbXBsZW1lbnRhdGlvbiwgZml4ZXMgYSBjb3VwbGUgYnVncywgYW5kIHByb3ZpZGVzIGEgc21hbGwgcGVyZm9ybWFuY2UgYm9vc3QuCiogRXhjZXB0aW9ucyBhcmUgbm93IHByb3Blcmx5IGdyb3VwZWQgd2hlbiBzZW5kaW5nIHJlcXVlc3RzIGluIHBhcmFsbGVsCiogUmVkaXJlY3RzIGFyZSBub3cgcHJvcGVybHkgYWdncmVnYXRlZCB3aGVuIGEgbXVsdGkgdHJhbnNhY3Rpb24gZmFpbHMKKiBSZWRpcmVjdHMgbm93IHNldCB0aGUgcmVzcG9uc2Ugb24gdGhlIG9yaWdpbmFsIG9iamVjdCBldmVuIGluIHRoZSBldmVudCBvZiBhIGZhaWx1cmUKKiBCdWcgZml4OiBNb2RlbCBuYW1lcyBhcmUgbm93IHByb3Blcmx5IHNldCBldmVuIHdoZW4gdXNpbmcgJHJlZnMKKiBBZGRlZCBzdXBwb3J0IGZvciBQSFAgNS41J3MgQ3VybEZpbGUgdG8gcHJldmVudCB3YXJuaW5ncyB3aXRoIHRoZSBkZXByZWNhdGVkIEAgc3ludGF4CiogQWRkZWQgc3VwcG9ydCBmb3Igb2F1dGhfY2FsbGJhY2sgaW4gT0F1dGggc2lnbmF0dXJlcwoqIEFkZGVkIHN1cHBvcnQgZm9yIG9hdXRoX3ZlcmlmaWVyIGluIE9BdXRoIHNpZ25hdHVyZXMKKiBBZGRlZCBzdXBwb3J0IHRvIGF0dGVtcHQgdG8gcmV0cmlldmUgYSBjb21tYW5kIGZpcnN0IGxpdGVyYWxseSwgdGhlbiB1Y2ZpcnN0LCB0aGUgd2l0aCBpbmZsZWN0aW9uCgozLjQuMCAoMjAxMy0wNC0xMSkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEJ1ZyBmaXg6IFVSTHMgYXJlIG5vdyByZXNvbHZlZCBjb3JyZWN0bHkgYmFzZWQgb24gaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTUuMi4gIzI4OQoqIEJ1ZyBmaXg6IEFic29sdXRlIFVSTHMgd2l0aCBhIHBhdGggaW4gYSBzZXJ2aWNlIGRlc2NyaXB0aW9uIHdpbGwgbm93IHByb3Blcmx5IG92ZXJyaWRlIHRoZSBiYXNlIFVSTC4gIzI4OQoqIEJ1ZyBmaXg6IFBhcnNpbmcgYSBxdWVyeSBzdHJpbmcgd2l0aCBhIHNpbmdsZSBQSFAgYXJyYXkgdmFsdWUgd2lsbCBub3cgcmVzdWx0IGluIGFuIGFycmF5LiAjMjYzCiogQnVnIGZpeDogQmV0dGVyIG5vcm1hbGl6YXRpb24gb2YgdGhlIFVzZXItQWdlbnQgaGVhZGVyIHRvIHByZXZlbnQgZHVwbGljYXRlIGhlYWRlcnMuICMyNjQuCiogQnVnIGZpeDogQWRkZWQgYG51bWJlcmAgdHlwZSB0byBzZXJ2aWNlIGRlc2NyaXB0aW9ucy4KKiBCdWcgZml4OiBlbXB0eSBwYXJhbWV0ZXJzIGFyZSByZW1vdmVkIGZyb20gYW4gT0F1dGggc2lnbmF0dXJlCiogQnVnIGZpeDogUmV2YWxpZGF0aW5nIGEgY2FjaGUgZW50cnkgcHJlZmVycyB0aGUgTGFzdC1Nb2RpZmllZCBvdmVyIHRoZSBEYXRlIGhlYWRlcgoqIEJ1ZyBmaXg6IEZpeGVkICJhcnJheSB0byBzdHJpbmciIGVycm9yIHdoZW4gdmFsaWRhdGluZyBhIHVuaW9uIG9mIHR5cGVzIGluIGEgc2VydmljZSBkZXNjcmlwdGlvbgoqIEJ1ZyBmaXg6IFJlbW92ZWQgY29kZSB0aGF0IGF0dGVtcHRlZCB0byBkZXRlcm1pbmUgdGhlIHNpemUgb2YgYSBzdHJlYW0gd2hlbiBkYXRhIGlzIHdyaXR0ZW4gdG8gdGhlIHN0cmVhbQoqIEJ1ZyBmaXg6IE5vdCBpbmNsdWRpbmcgYW4gYG9hdXRoX3Rva2VuYCBpZiB0aGUgdmFsdWUgaXMgbnVsbCBpbiB0aGUgT2F1dGhQbHVnaW4uCiogQnVnIGZpeDogTm93IGNvcnJlY3RseSBhZ2dyZWdhdGluZyBzdWNjZXNzZnVsIHJlcXVlc3RzIGFuZCBmYWlsZWQgcmVxdWVzdHMgaW4gQ3VybE11bHRpIHdoZW4gYSByZWRpcmVjdCBvY2N1cnMuCiogVGhlIG5ldyBkZWZhdWx0IENVUkxPUFRfVElNRU9VVCBzZXR0aW5nIGhhcyBiZWVuIGluY3JlYXNlZCB0byAxNTAgc2Vjb25kcyBzbyB0aGF0IEd1enpsZSB3b3JrcyBvbiBwb29yIGNvbm5lY3Rpb25zLgoqIEFkZGVkIGEgZmVhdHVyZSB0byBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0OjpzZXRCb2R5KCkgdGhhdCB3aWxsIGF1dG9tYXRpY2FsbHkgc2V0IHRoZSBDb250ZW50LVR5cGUgb2YgdGhlIHJlcXVlc3QgaWYKICB0aGUgQ29udGVudC1UeXBlIGNhbiBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSBlbnRpdHkgYm9keSBvciB0aGUgcGF0aCBvZiB0aGUgcmVxdWVzdC4KKiBBZGRlZCB0aGUgYWJpbGl0eSB0byBvdmVyd3JpdGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBpbiBhIGNsaWVudCB3aGVuIGdyYWJiaW5nIGEgdGhyb3dhd2F5IGNsaWVudCBmcm9tIGEgYnVpbGRlci4KKiBBZGRlZCBzdXBwb3J0IGZvciBhIFBTUi0zIExvZ0FkYXB0ZXIuCiogQWRkZWQgYSBgY29tbWFuZC5hZnRlcl9wcmVwYXJlYCBldmVudAoqIEFkZGVkIGBvYXV0aF9jYWxsYmFja2AgcGFyYW1ldGVyIHRvIHRoZSBPYXV0aFBsdWdpbgoqIEFkZGVkIHRoZSBhYmlsaXR5IHRvIGNyZWF0ZSBhIGN1c3RvbSBzdHJlYW0gY2xhc3Mgd2hlbiB1c2luZyBhIHN0cmVhbSBmYWN0b3J5CiogQWRkZWQgYSBDYWNoaW5nRW50aXR5Qm9keSBkZWNvcmF0b3IKKiBBZGRlZCBzdXBwb3J0IGZvciBgYWRkaXRpb25hbFBhcmFtZXRlcnNgIGluIHNlcnZpY2UgZGVzY3JpcHRpb25zIHRvIGRlZmluZSBob3cgY3VzdG9tIHBhcmFtZXRlcnMgYXJlIHNlcmlhbGl6ZWQuCiogVGhlIGJ1bmRsZWQgU1NMIGNlcnRpZmljYXRlIGlzIG5vdyBwcm92aWRlZCBpbiB0aGUgcGhhciBmaWxlIGFuZCBleHRyYWN0ZWQgd2hlbiBydW5uaW5nIEd1enpsZSBmcm9tIGEgcGhhci4KKiBZb3UgY2FuIG5vdyBzZW5kIGFueSBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0IHdpdGggUE9TVCBmaWVsZHMgb3IgUE9TVCBmaWxlcyBhbmQgY1VSTCB3aWxsIGhhbmRsZSBjcmVhdGluZyBib2RpZXMKKiBQT1NUIHJlcXVlc3RzIHVzaW5nIGEgY3VzdG9tIGVudGl0eSBib2R5IGFyZSBub3cgdHJlYXRlZCBleGFjdGx5IGxpa2UgUFVUIHJlcXVlc3RzIGJ1dCB3aXRoIGEgY3VzdG9tIGNVUkwgbWV0aG9kLiBUaGlzCiAgbWVhbnMgdGhhdCB0aGUgcmVkaXJlY3QgYmVoYXZpb3Igb2YgUE9TVCByZXF1ZXN0cyB3aXRoIGN1c3RvbSBib2RpZXMgd2lsbCBub3QgYmUgdGhlIHNhbWUgYXMgUE9TVCByZXF1ZXN0cyB0aGF0IHVzZQogIFBPU1QgZmllbGRzIG9yIGZpbGVzICh0aGUgbGF0dGVyIGlzIG9ubHkgdXNlZCB3aGVuIGVtdWxhdGluZyBhIGZvcm0gUE9TVCBpbiB0aGUgYnJvd3NlcikuCiogTG90cyBvZiBjbGVhbnVwIHRvIEN1cmxIYW5kbGU6OmZhY3RvcnkgYW5kIFJlcXVlc3RGYWN0b3J5OjpjcmVhdGVSZXF1ZXN0CgozLjMuMSAoMjAxMy0wMy0xMCkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEFkZGVkIHRoZSBhYmlsaXR5IHRvIGNyZWF0ZSBQSFAgc3RyZWFtaW5nIHJlc3BvbnNlcyBmcm9tIEhUVFAgcmVxdWVzdHMKKiBCdWcgZml4OiBSdW5uaW5nIGFueSBmaWx0ZXJzIHdoZW4gcGFyc2luZyByZXNwb25zZSBoZWFkZXJzIHdpdGggc2VydmljZSBkZXNjcmlwdGlvbnMKKiBCdWcgZml4OiBPYXV0aFBsdWdpbiBmaXhlcyB0byBhbGxvdyBmb3IgbXVsdGktZGltZW5zaW9uYWwgYXJyYXkgc2lnbmluZywgYW5kIHNvcnRpbmcgcGFyYW1ldGVycyBiZWZvcmUgc2lnbmluZwoqIEJ1ZyBmaXg6IFJlbW92ZWQgdGhlIGFkZGluZyBvZiBkZWZhdWx0IGVtcHR5IGFycmF5cyBhbmQgZmFsc2UgQm9vbGVhbnMgdG8gcmVzcG9uc2VzIGluIG9yZGVyIHRvIGJlIGNvbnNpc3RlbnQgYWNyb3NzCiAgcmVzcG9uc2UgbG9jYXRpb24gdmlzaXRvcnMuCiogQnVnIGZpeDogUmVtb3ZlZCB0aGUgcG9zc2liaWxpdHkgb2YgY3JlYXRpbmcgY29uZmlndXJhdGlvbiBmaWxlcyB3aXRoIGNpcmN1bGFyIGRlcGVuZGVuY2llcwoqIFJlcXVlc3RGYWN0b3J5OjpjcmVhdGUoKSBub3cgdXNlcyB0aGUga2V5IG9mIGEgUE9TVCBmaWxlIHdoZW4gc2V0dGluZyB0aGUgUE9TVCBmaWxlIG5hbWUKKiBBZGRlZCB4bWxBbGxvd0VtcHR5IHRvIHNlcmlhbGl6ZSBhbiBYTUwgYm9keSBldmVuIGlmIG5vIFhNTCBzcGVjaWZpYyBwYXJhbWV0ZXJzIGFyZSBzZXQKCjMuMy4wICgyMDEzLTAzLTAzKQotLS0tLS0tLS0tLS0tLS0tLS0KCiogQSBsYXJnZSBudW1iZXIgb2YgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9ucyBoYXZlIGJlZW4gbWFkZQoqIEJ1ZyBmaXg6IEFkZGVkICd3YicgYXMgYSB2YWxpZCB3cml0ZSBtb2RlIGZvciBzdHJlYW1zCiogQnVnIGZpeDogYEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U6Ompzb24oKWAgbm93IGFsbG93cyBzY2FsYXIgdmFsdWVzIHRvIGJlIHJldHVybmVkCiogQnVnIGZpeDogRml4ZWQgYnVnIGluIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlYCB3aGVyZSB3cmFwcGluZyBxdW90ZXMgd2VyZSBzdHJpcHBlZCBmcm9tIGBnZXRFdGFnKClgCiogQkM6IFJlbW92ZWQgYEd1enpsZVxIdHRwXFV0aWxzYCBjbGFzcwoqIEJDOiBTZXR0aW5nIGEgc2VydmljZSBkZXNjcmlwdGlvbiBvbiBhIGNsaWVudCB3aWxsIG5vIGxvbmdlciBtb2RpZnkgdGhlIGNsaWVudCdzIGNvbW1hbmQgZmFjdG9yaWVzLgoqIEJDOiBFbWl0dGluZyBJTyBldmVudHMgZnJvbSBhIFJlcXVlc3RNZWRpYXRvciBpcyBub3cgYSBwYXJhbWV0ZXIgdGhhdCBtdXN0IGJlIHNldCBpbiBhIHJlcXVlc3QncyBjdXJsIG9wdGlvbnMgdXNpbmcKICB0aGUgJ2VtaXRfaW8nIGtleS4gVGhpcyB3YXMgcHJldmlvdXNseSBzZXQgdW5kZXIgYSByZXF1ZXN0J3MgcGFyYW1ldGVycyB1c2luZyAnY3VybC5lbWl0X2lvJwoqIEJDOiBgR3V6emxlXFN0cmVhbVxTdHJlYW06OmdldFdyYXBwZXIoKWAgYW5kIGBHdXp6bGVcU3RyZWFtXFN0cmVhbTo6Z2V0U3RlYW1UeXBlKClgIGFyZSBubyBsb25nZXIgY29udmVydGVkIHRvCiAgbG93ZXJjYXNlCiogT3BlcmF0aW9uIHBhcmFtZXRlciBvYmplY3RzIGFyZSBub3cgbGF6eSBsb2FkZWQgaW50ZXJuYWxseQoqIEFkZGVkIEVycm9yUmVzcG9uc2VQbHVnaW4gdGhhdCBjYW4gdGhyb3cgZXJyb3JzIGZvciByZXNwb25zZXMgZGVmaW5lZCBpbiBzZXJ2aWNlIGRlc2NyaXB0aW9uIG9wZXJhdGlvbnMnIGVycm9yUmVzcG9uc2VzCiogQWRkZWQgc3VwcG9ydCBmb3IgaW5zdGFudGlhdGluZyByZXNwb25zZVR5cGU9Y2xhc3MgcmVzcG9uc2VDbGFzcyBjbGFzc2VzLiBDbGFzc2VzIG11c3QgaW1wbGVtZW50CiAgYEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcUmVzcG9uc2VDbGFzc0ludGVyZmFjZWAKKiBBZGRlZCBzdXBwb3J0IGZvciBhZGRpdGlvbmFsUHJvcGVydGllcyBmb3IgdG9wLWxldmVsIHBhcmFtZXRlcnMgaW4gcmVzcG9uc2VUeXBlPW1vZGVsIHJlc3BvbnNlQ2xhc3Nlcy4gVGhlc2UKICBhZGRpdGlvbmFsIHByb3BlcnRpZXMgYWxzbyBzdXBwb3J0IGxvY2F0aW9ucyBhbmQgY2FuIGJlIHVzZWQgdG8gcGFyc2UgSlNPTiByZXNwb25zZXMgd2hlcmUgdGhlIG91dGVybW9zdCBwYXJ0IG9mIHRoZQogIEpTT04gaXMgYW4gYXJyYXkKKiBBZGRlZCBzdXBwb3J0IGZvciBuZXN0ZWQgcmVuYW1pbmcgb2YgSlNPTiBtb2RlbHMgKHJlbmFtZSBzZW50QXMgdG8gbmFtZSkKKiBDYWNoZVBsdWdpbgogICAgKiBBZGRlZCBzdXBwb3J0IGZvciBzdGFsZS1pZi1lcnJvciBzbyB0aGF0IHRoZSBDYWNoZVBsdWdpbiBjYW4gbm93IHNlcnZlIHN0YWxlIGNvbnRlbnQgZnJvbSB0aGUgY2FjaGUgb24gZXJyb3IKICAgICogRGVidWcgaGVhZGVycyBjYW4gbm93IGFkZGVkIHRvIGNhY2hlZCByZXNwb25zZSBpbiB0aGUgQ2FjaGVQbHVnaW4KCjMuMi4wICgyMDEzLTAyLTE0KQotLS0tLS0tLS0tLS0tLS0tLS0KCiogQ3VybE11bHRpIGlzIG5vIGxvbmdlciByZXVzZWQgZ2xvYmFsbHkuIEEgbmV3IG11bHRpIG9iamVjdCBpcyBjcmVhdGVkIHBlci1jbGllbnQuIFRoaXMgaGVscHMgdG8gaXNvbGF0ZSBjbGllbnRzLgoqIFVSTHMgd2l0aCBubyBwYXRoIG5vIGxvbmdlciBjb250YWluIGEgIi8iIGJ5IGRlZmF1bHQKKiBHdXp6bGVcSHR0cFxRdWVyeVN0cmluZyBkb2VzIG5vIGxvbmdlciBtYW5hZ2VzIHRoZSBsZWFkaW5nICI/Ii4gVGhpcyBpcyBub3cgaGFuZGxlZCBpbiBHdXp6bGVcSHR0cFxVcmwuCiogQmFkUmVzcG9uc2VFeGNlcHRpb24gbm8gbG9uZ2VyIGluY2x1ZGVzIHRoZSBmdWxsIHJlcXVlc3QgYW5kIHJlc3BvbnNlIG1lc3NhZ2UKKiBBZGRpbmcgc2V0RGF0YSgpIHRvIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFNlcnZpY2VEZXNjcmlwdGlvbkludGVyZmFjZQoqIEFkZGluZyBnZXRSZXNwb25zZUJvZHkoKSB0byBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2UKKiBWYXJpb3VzIHVwZGF0ZXMgdG8gY2xhc3NlcyB0byB1c2UgU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlIHR5cGUgaGludHMgcmF0aGVyIHRoYW4gU2VydmljZURlc2NyaXB0aW9uCiogSGVhZGVyIHZhbHVlcyBjYW4gbm93IGJlIG5vcm1hbGl6ZWQgaW50byBkaXN0aW5jdCB2YWx1ZXMgd2hlbiBtdWx0aXBsZSBoZWFkZXJzIGFyZSBjb21iaW5lZCB3aXRoIGEgY29tbWEgc2VwYXJhdGVkIGxpc3QKKiB4bWxFbmNvZGluZyBjYW4gbm93IGJlIGN1c3RvbWl6ZWQgZm9yIHRoZSBYTUwgZGVjbGFyYXRpb24gb2YgYSBYTUwgc2VydmljZSBkZXNjcmlwdGlvbiBvcGVyYXRpb24KKiBHdXp6bGVcSHR0cFxRdWVyeVN0cmluZyBub3cgdXNlcyBHdXp6bGVcSHR0cFxRdWVyeUFnZ3JlZ2F0b3JcUXVlcnlBZ2dyZWdhdG9ySW50ZXJmYWNlIG9iamVjdHMgdG8gYWRkIGN1c3RvbSB2YWx1ZQogIGFnZ3JlZ2F0aW9uIGFuZCBubyBsb25nZXIgdXNlcyBjYWxsYmFja3MKKiBUaGUgVVJMIGVuY29kaW5nIGltcGxlbWVudGF0aW9uIG9mIEd1enpsZVxIdHRwXFF1ZXJ5U3RyaW5nIGNhbiBub3cgYmUgY3VzdG9taXplZAoqIEJ1ZyBmaXg6IEZpbHRlcnMgd2VyZSBub3QgYWx3YXlzIGludm9rZWQgZm9yIGFycmF5IHNlcnZpY2UgZGVzY3JpcHRpb24gcGFyYW1ldGVycwoqIEJ1ZyBmaXg6IFJlZGlyZWN0cyBub3cgdXNlIGEgdGFyZ2V0IHJlc3BvbnNlIGJvZHkgcmF0aGVyIHRoYW4gYSB0ZW1wb3JhcnkgcmVzcG9uc2UgYm9keQoqIEJ1ZyBmaXg6IFRoZSBkZWZhdWx0IGV4cG9uZW50aWFsIGJhY2tvZmYgQmFja29mZlBsdWdpbiB3YXMgbm90IGdpdmluZyB3aGVuIHRoZSByZXF1ZXN0IHRocmVzaG9sZCB3YXMgZXhjZWVkZWQKKiBCdWcgZml4OiBHdXp6bGUgbm93IHRha2VzIHRoZSBmaXJzdCBmb3VuZCB2YWx1ZSB3aGVuIGdyYWJiaW5nIENhY2hlLUNvbnRyb2wgZGlyZWN0aXZlcwoKMy4xLjIgKDIwMTMtMDEtMjcpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBSZWZhY3RvcmVkIGhvdyBvcGVyYXRpb24gcmVzcG9uc2VzIGFyZSBwYXJzZWQuIFZpc2l0b3JzIG5vdyBpbmNsdWRlIGEgYmVmb3JlKCkgbWV0aG9kIHJlc3BvbnNpYmxlIGZvciBwYXJzaW5nIHRoZQogIHJlc3BvbnNlIGJvZHkuIEZvciBleGFtcGxlLCB0aGUgWG1sVmlzaXRvciBub3cgcGFyc2VzIHRoZSBYTUwgcmVzcG9uc2UgaW50byBhbiBhcnJheSBpbiB0aGUgYmVmb3JlKCkgbWV0aG9kLgoqIEZpeGVkIGFuIGlzc3VlIHdoZXJlIGNVUkwgd291bGQgbm90IGF1dG9tYXRpY2FsbHkgZGVjb21wcmVzcyByZXNwb25zZXMgd2hlbiB0aGUgQWNjZXB0LUVuY29kaW5nIGhlYWRlciB3YXMgc2VudAoqIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QgaXMgbmV2ZXIgc2V0IHRvIDEgYmVjYXVzZSBpdCBpcyBkZXByZWNhdGVkIChzZWUgNWUwZmYyZWYyMGY4MzllMTlkMWVlYjI5OGY5MGJhMzU5ODc4NDQ0NCkKKiBGaXhlZCBhIGJ1ZyB3aGVyZSByZWRpcmVjdCByZXNwb25zZXMgd2VyZSBub3QgY2hhaW5lZCBjb3JyZWN0bHkgdXNpbmcgZ2V0UHJldmlvdXNSZXNwb25zZSgpCiogU2V0dGluZyBkZWZhdWx0IGhlYWRlcnMgb24gYSBjbGllbnQgYWZ0ZXIgc2V0dGluZyB0aGUgdXNlci1hZ2VudCB3aWxsIG5vdCBlcmFzZSB0aGUgdXNlci1hZ2VudCBzZXR0aW5nCgozLjEuMSAoMjAxMy0wMS0yMCkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEFkZGluZyB3aWxkY2FyZCBzdXBwb3J0IHRvIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjo6Z2V0UGF0aCgpCiogQWRkaW5nIGFsaWFzIHN1cHBvcnQgdG8gU2VydmljZUJ1aWxkZXIgY29uZmlncwoqIEFkZGluZyBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxDb21wb3NpdGVSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeSBhbmQgY2xlYW5pbmcgdXAgZmFjdG9yeSBpbnRlcmZhY2UKCjMuMS4wICgyMDEzLTAxLTEyKQotLS0tLS0tLS0tLS0tLS0tLS0KCiogQkM6IEN1cmxFeGNlcHRpb24gbm93IGV4dGVuZHMgZnJvbSBSZXF1ZXN0RXhjZXB0aW9uIHJhdGhlciB0aGFuIEJhZFJlc3BvbnNlRXhjZXB0aW9uCiogQkM6IFJlbmFtZWQgR3V6emxlXFBsdWdpblxDYWNoZVxDYW5DYWNoZVN0cmF0ZWd5SW50ZXJmYWNlOjpjYW5DYWNoZSgpIHRvIGNhbkNhY2hlUmVxdWVzdCgpIGFuZCBhZGRlZCBDYW5DYWNoZVJlc3BvbnNlKCkKKiBBZGRlZCBnZXREYXRhIHRvIFNlcnZpY2VEZXNjcmlwdGlvbkludGVyZmFjZQoqIEFkZGVkIGNvbnRleHQgYXJyYXkgdG8gUmVxdWVzdEludGVyZmFjZTo6c2V0U3RhdGUoKQoqIEJ1ZzogUmVtb3ZpbmcgaGFyZCBkZXBlbmRlbmN5IG9uIHRoZSBCYWNrb2ZmUGx1Z2luIGZyb20gR3V6emxlXEh0dHAKKiBCdWc6IEFkZGluZyByZXF1aXJlZCBjb250ZW50LXR5cGUgd2hlbiBKU09OIHJlcXVlc3QgdmlzaXRvciBhZGRzIEpTT04gdG8gYSBjb21tYW5kCiogQnVnOiBGaXhpbmcgdGhlIHNlcmlhbGl6YXRpb24gb2YgYSBzZXJ2aWNlIGRlc2NyaXB0aW9uIHdpdGggY3VzdG9tIGRhdGEKKiBNYWRlIGl0IGVhc2llciB0byBkZWFsIHdpdGggZXhjZXB0aW9ucyB0aHJvd24gd2hlbiB0cmFuc2ZlcnJpbmcgY29tbWFuZHMgb3IgcmVxdWVzdHMgaW4gcGFyYWxsZWwgYnkgcHJvdmlkaW5nCiAgYW4gYXJyYXkgb2Ygc3VjY2Vzc2Z1bCBhbmQgZmFpbGVkIHJlc3BvbnNlcwoqIE1vdmVkIGdldFBhdGggZnJvbSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbCB0byBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb24KKiBBZGRlZCBHdXp6bGVcSHR0cFxJb0VtaXR0aW5nRW50aXR5Qm9keQoqIE1vdmVkIGNvbW1hbmQgZmlsdHJhdGlvbiBmcm9tIHZhbGlkYXRvcnMgdG8gbG9jYXRpb24gdmlzaXRvcnMKKiBBZGRlZCBgZXh0ZW5kc2AgYXR0cmlidXRlcyB0byBzZXJ2aWNlIGRlc2NyaXB0aW9uIHBhcmFtZXRlcnMKKiBBZGRlZCBnZXRNb2RlbHMgdG8gU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlCgozLjAuNyAoMjAxMi0xMi0xOSkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEZpeGluZyBwaGFyIGRldGVjdGlvbiB3aGVuIGZvcmNpbmcgYSBjYWNlcnQgdG8gc3lzdGVtIGlmIG51bGwgb3IgdHJ1ZQoqIEFsbG93aW5nIGZpbGVuYW1lIHRvIGJlIHBhc3NlZCB0byBgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0OjpzZXRSZXNwb25zZUJvZHkoKWAKKiBDbGVhbmluZyB1cCBgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOjppbmplY3RgIG1ldGhvZAoqIEFkZGluZyBhIHJlc3BvbnNlX2JvZHkgbG9jYXRpb24gdG8gc2VydmljZSBkZXNjcmlwdGlvbnMKCjMuMC42ICgyMDEyLTEyLTA5KQotLS0tLS0tLS0tLS0tLS0tLS0KCiogQ3VybE11bHRpIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cwoqIEFkZGluZyBzZXRFcnJvclJlc3BvbnNlcygpIHRvIE9wZXJhdGlvbgoqIGNvbXBvc2VyLmpzb24gdHdlYWtzCgozLjAuNSAoMjAxMi0xMS0xOCkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEJ1ZzogRml4aW5nIGFuIGluZmluaXRlIHJlY3Vyc2lvbiBidWcgY2F1c2VkIGZyb20gcmV2YWxpZGF0aW5nIHdpdGggdGhlIENhY2hlUGx1Z2luCiogQnVnOiBSZXNwb25zZSBib2R5IGNhbiBub3cgYmUgYSBzdHJpbmcgY29udGFpbmluZyAiMCIKKiBCdWc6IFVzaW5nIEd1enpsZSBpbnNpZGUgb2YgYSBwaGFyIHVzZXMgc3lzdGVtIGJ5IGRlZmF1bHQgYnV0IG5vdyBhbGxvd3MgZm9yIGEgY3VzdG9tIGNhY2VydAoqIEJ1ZzogUXVlcnlTdHJpbmc6OmZyb21TdHJpbmcgbm93IHByb3Blcmx5IHBhcnNlcyBxdWVyeSBzdHJpbmcgcGFyYW1ldGVycyB0aGF0IGNvbnRhaW4gZXF1YWwgc2lnbnMKKiBBZGRlZCBzdXBwb3J0IGZvciBYTUwgYXR0cmlidXRlcyBpbiBzZXJ2aWNlIGRlc2NyaXB0aW9uIHJlc3BvbnNlcwoqIERlZmF1bHRSZXF1ZXN0U2VyaWFsaXplciBub3cgc3VwcG9ydHMgYXJyYXkgVVJJIHBhcmFtZXRlciB2YWx1ZXMgZm9yIFVSSSB0ZW1wbGF0ZSBleHBhbnNpb24KKiBBZGRlZCBiZXR0ZXIgbWltZXR5cGUgZ3Vlc3NpbmcgdG8gcmVxdWVzdHMgYW5kIHBvc3QgZmlsZXMKCjMuMC40ICgyMDEyLTExLTExKQotLS0tLS0tLS0tLS0tLS0tLS0KCiogQnVnOiBGaXhlZCBhIGJ1ZyB3aGVuIGFkZGluZyBtdWx0aXBsZSBjb29raWVzIHRvIGEgcmVxdWVzdCB0byB1c2UgdGhlIGNvcnJlY3QgZ2x1ZSB2YWx1ZQoqIEJ1ZzogQ29va2llcyBjYW4gbm93IGJlIGFkZGVkIHRoYXQgaGF2ZSBhIG5hbWUsIGRvbWFpbiwgb3IgdmFsdWUgc2V0IHRvICIwIgoqIEJ1ZzogVXNpbmcgdGhlIHN5c3RlbSBjYWNlcnQgYnVuZGxlIHdoZW4gdXNpbmcgdGhlIFBoYXIKKiBBZGRlZCBqc29uIGFuZCB4bWwgbWV0aG9kcyB0byBSZXNwb25zZSB0byBtYWtlIGl0IGVhc2llciB0byBwYXJzZSBKU09OIGFuZCBYTUwgcmVzcG9uc2UgZGF0YSBpbnRvIGRhdGEgc3RydWN0dXJlcwoqIEVuaGFuY2VkIGNvb2tpZSBqYXIgZGUtZHVwbGljYXRpb24KKiBBZGRlZCB0aGUgYWJpbGl0eSB0byBlbmFibGUgc3RyaWN0IGNvb2tpZSBqYXJzIHRoYXQgdGhyb3cgZXhjZXB0aW9ucyB3aGVuIGludmFsaWQgY29va2llcyBhcmUgYWRkZWQKKiBBZGRlZCBzZXRTdHJlYW0gdG8gU3RyZWFtSW50ZXJmYWNlIHRvIGFjdHVhbGx5IG1ha2UgaXQgcG9zc2libGUgdG8gaW1wbGVtZW50IGN1c3RvbSByZXdpbmQgYmVoYXZpb3IgZm9yIGVudGl0eSBib2RpZXMKKiBBZGRlZCB0aGUgYWJpbGl0eSB0byBjcmVhdGUgYW55IHNvcnQgb2YgaGFzaCBmb3IgYSBzdHJlYW0gcmF0aGVyIHRoYW4ganVzdCBhbiBNRDUgaGFzaAoKMy4wLjMgKDIwMTItMTEtMDQpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBJbXBsZW1lbnRpbmcgcmVkaXJlY3RzIGluIFBIUCByYXRoZXIgdGhhbiBjVVJMCiogQWRkZWQgUEVDTCBVUkkgdGVtcGxhdGUgZXh0ZW5zaW9uIGFuZCB1c2luZyBhcyBkZWZhdWx0IHBhcnNlciBpZiBhdmFpbGFibGUKKiBCdWc6IEZpeGVkIENvbnRlbnQtTGVuZ3RoIHBhcnNpbmcgb2YgUmVzcG9uc2UgZmFjdG9yeQoqIEFkZGluZyByZXdpbmQoKSBtZXRob2QgdG8gZW50aXR5IGJvZGllcyBhbmQgc3RyZWFtcy4gQWxsb3dzIGZvciBjdXN0b20gcmV3aW5kaW5nIG9mIG5vbi1yZXBlYXRhYmxlIHN0cmVhbXMuCiogQWRkaW5nIFRvQXJyYXlJbnRlcmZhY2UgdGhyb3VnaG91dCBsaWJyYXJ5CiogRml4aW5nIE9hdXRoUGx1Z2luIHRvIGNyZWF0ZSB1bmlxdWUgbm9uY2UgdmFsdWVzIHBlciByZXF1ZXN0CgozLjAuMiAoMjAxMi0xMC0yNSkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIE1hZ2ljIG1ldGhvZHMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCBvbiBjbGllbnRzCiogTWFnaWMgbWV0aG9kcyByZXR1cm4gdGhlIHJlc3VsdCBvZiBhIGNvbW1hbmQKKiBTZXJ2aWNlIGNsaWVudHMgbm8gbG9uZ2VyIHJlcXVpcmUgYSBiYXNlX3VybCBvcHRpb24gaW4gdGhlIGZhY3RvcnkKKiBCdWc6IEZpeGVkIGFuIGlzc3VlIHdpdGggVVJJIHRlbXBsYXRlcyB3aGVyZSBudWxsIHRlbXBsYXRlIHZhcmlhYmxlcyB3ZXJlIGJlaW5nIGV4cGFuZGVkCgozLjAuMSAoMjAxMi0xMC0yMikKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIE1vZGVscyBjYW4gbm93IGJlIHVzZWQgbGlrZSByZWd1bGFyIGNvbGxlY3Rpb24gb2JqZWN0cyBieSBjYWxsaW5nIGZpbHRlciwgbWFwLCBldGMKKiBNb2RlbHMgbm8gbG9uZ2VyIHJlcXVpcmUgYSBQYXJhbWV0ZXIgc3RydWN0dXJlIG9yIGluaXRpYWwgZGF0YSBpbiB0aGUgY29uc3RydWN0b3IKKiBBZGRlZCBhIGN1c3RvbSBBcHBlbmRJdGVyYXRvciB0byBnZXQgYXJvdW5kIGEgUEhQIGJ1ZyB3aXRoIHRoZSBgXEFwcGVuZEl0ZXJhdG9yYAoKMy4wLjAgKDIwMTItMTAtMTUpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBSZXdyb3RlIHNlcnZpY2UgZGVzY3JpcHRpb24gZm9ybWF0IHRvIGJlIGJhc2VkIG9uIFN3YWdnZXIKICAgICogTm93IGJhc2VkIG9uIEpTT04gc2NoZW1hCiAgICAqIEFkZGVkIG5lc3RlZCBpbnB1dCBzdHJ1Y3R1cmVzIGFuZCBuZXN0ZWQgcmVzcG9uc2UgbW9kZWxzCiAgICAqIFN1cHBvcnQgZm9yIEpTT04gYW5kIFhNTCBpbnB1dCBhbmQgb3V0cHV0IG1vZGVscwogICAgKiBSZW5hbWVkIGBjb21tYW5kc2AgdG8gYG9wZXJhdGlvbnNgCiAgICAqIFJlbW92ZWQgZG90IGNsYXNzIG5vdGF0aW9uCiAgICAqIFJlbW92ZWQgY3VzdG9tIHR5cGVzCiogQnJva2UgdGhlIHByb2plY3QgaW50byBzbWFsbGVyIHRvcC1sZXZlbCBuYW1lc3BhY2VzIHRvIGJlIG1vcmUgY29tcG9uZW50IGZyaWVuZGx5CiogUmVtb3ZlZCBzdXBwb3J0IGZvciBYTUwgY29uZmlncyBhbmQgZGVzY3JpcHRpb25zLiBVc2UgYXJyYXlzIG9yIEpTT04gZmlsZXMuCiogUmVtb3ZlZCB0aGUgVmFsaWRhdGlvbiBjb21wb25lbnQgYW5kIEluc3BlY3RvcgoqIE1vdmVkIGFsbCBjb29raWUgY29kZSB0byBHdXp6bGVcUGx1Z2luXENvb2tpZQoqIE1hZ2ljIG1ldGhvZHMgb24gYSBHdXp6bGVcU2VydmljZVxDbGllbnQgbm93IHJldHVybiB0aGUgY29tbWFuZCB1bi1leGVjdXRlZC4KKiBDYWxsaW5nIGdldFJlc3VsdCgpIG9yIGdldFJlc3BvbnNlKCkgb24gYSBjb21tYW5kIHdpbGwgbGF6aWx5IGV4ZWN1dGUgdGhlIGNvbW1hbmQgaWYgbmVlZGVkLgoqIE5vdyBzaGlwcGluZyB3aXRoIGNVUkwncyBDQSBjZXJ0cyBhbmQgdXNpbmcgaXQgYnkgZGVmYXVsdAoqIEFkZGVkIHByZXZpb3VzUmVzcG9uc2UoKSBtZXRob2QgdG8gcmVzcG9uc2Ugb2JqZWN0cwoqIE5vIGxvbmdlciBzZW5kaW5nIEFjY2VwdCBhbmQgQWNjZXB0LUVuY29kaW5nIGhlYWRlcnMgb24gZXZlcnkgcmVxdWVzdAoqIE9ubHkgc2VuZGluZyBhbiBFeHBlY3QgaGVhZGVyIGJ5IGRlZmF1bHQgd2hlbiBhIHBheWxvYWQgaXMgZ3JlYXRlciB0aGFuIDFNQgoqIEFkZGVkL21vdmVkIGNsaWVudCBvcHRpb25zOgogICAgKiBjdXJsLmJsYWNrbGlzdCB0byBjdXJsLm9wdGlvbi5ibGFja2xpc3QKICAgICogQWRkZWQgc3NsLmNlcnRpZmljYXRlX2F1dGhvcml0eQoqIEFkZGVkIGEgR3V6emxlXEl0ZXJhdG9yIGNvbXBvbmVudAoqIE1vdmVkIHBsdWdpbnMgZnJvbSBHdXp6bGVcSHR0cFxQbHVnaW4gdG8gR3V6emxlXFBsdWdpbgoqIEFkZGVkIGEgbW9yZSByb2J1c3QgYmFja29mZiByZXRyeSBzdHJhdGVneSAocmVwbGFjZWQgdGhlIEV4cG9uZW50aWFsQmFja29mZlBsdWdpbikKKiBBZGRlZCBhIG1vcmUgcm9idXN0IGNhY2hpbmcgcGx1Z2luCiogQWRkZWQgc2V0Qm9keSB0byByZXNwb25zZSBvYmplY3RzCiogVXBkYXRpbmcgTG9nUGx1Z2luIHRvIHVzZSBhIG1vcmUgZmxleGlibGUgTWVzc2FnZUZvcm1hdHRlcgoqIEFkZGVkIGEgY29tcGxldGVseSByZXZhbXBlZCBidWlsZCBwcm9jZXNzCiogQ2xlYW5pbmcgdXAgQ29sbGVjdGlvbiBjbGFzcyBhbmQgcmVtb3ZpbmcgZGVmYXVsdCB2YWx1ZXMgZnJvbSB0aGUgZ2V0IG1ldGhvZAoqIEZpeGVkIFpGMiBjYWNoZSBhZGFwdGVycwoKMi44LjggKDIwMTItMTAtMTUpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBCdWc6IEZpeGVkIGEgY29va2llIGlzc3VlIHRoYXQgY2F1c2VkIGRvdCBwcmVmaXhlZCBkb21haW5zIHRvIG5vdCBtYXRjaCB3aGVyZSBwb3B1bGFyIGJyb3dzZXJzIGRpZAoKMi44LjcgKDIwMTItMDktMzApCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBCdWc6IEZpeGVkIGNvbmZpZyBmaWxlIGFsaWFzZXMgZm9yIEpTT04gaW5jbHVkZXMKKiBCdWc6IEZpeGVkIGNvb2tpZSBidWcgb24gYSByZXF1ZXN0IG9iamVjdCBieSB1c2luZyBDb29raWVQYXJzZXIgdG8gcGFyc2UgY29va2llcyBvbiByZXF1ZXN0cwoqIEJ1ZzogUmVtb3ZpbmcgdGhlIHBhdGggdG8gYSBmaWxlIHdoZW4gc2VuZGluZyBhIENvbnRlbnQtRGlzcG9zaXRpb24gaGVhZGVyIG9uIGEgUE9TVCB1cGxvYWQKKiBCdWc6IEhhcmRlbmluZyByZXF1ZXN0IGFuZCByZXNwb25zZSBwYXJzaW5nIHRvIGFjY291bnQgZm9yIG1pc3NpbmcgcGFydHMKKiBCdWc6IEZpeGVkIFBFQVIgcGFja2FnaW5nCiogQnVnOiBGaXhlZCBSZXF1ZXN0OjpnZXRJbmZvCiogQnVnOiBGaXhlZCBjYXNlcyB3aGVyZSBDVVJMTV9DQUxMX01VTFRJX1BFUkZPUk0gcmV0dXJuIGNvZGVzIHdlcmUgY2F1c2luZyBjdXJsIHRyYW5zYWN0aW9ucyB0byBmYWlsCiogQWRkaW5nIHRoZSBhYmlsaXR5IGZvciB0aGUgbmFtZXNwYWNlIEl0ZXJhdG9yIGZhY3RvcnkgdG8gbG9vayBpbiBtdWx0aXBsZSBkaXJlY3RvcmllcwoqIEFkZGVkIG1vcmUgZ2V0dGVycy9zZXR0ZXJzL3JlbW92ZXJzIGZyb20gc2VydmljZSBkZXNjcmlwdGlvbnMKKiBBZGRlZCB0aGUgYWJpbGl0eSB0byByZW1vdmUgUE9TVCBmaWVsZHMgZnJvbSBPQXV0aCBzaWduYXR1cmVzCiogT0F1dGggcGx1Z2luIG5vdyBzdXBwb3J0cyAyLWxlZ2dlZCBPQXV0aAoKMi44LjYgKDIwMTItMDktMDUpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBBZGRlZCB0aGUgYWJpbGl0eSB0byBtb2RpZnkgYW5kIGJ1aWxkIHNlcnZpY2UgZGVzY3JpcHRpb25zCiogQWRkZWQgdGhlIHVzZSBvZiB2aXNpdG9ycyB0byBhcHBseSBwYXJhbWV0ZXJzIHRvIGxvY2F0aW9ucyBpbiBzZXJ2aWNlIGRlc2NyaXB0aW9ucyB1c2luZyB0aGUgZHluYW1pYyBjb21tYW5kCiogQWRkZWQgYSBganNvbmAgcGFyYW1ldGVyIGxvY2F0aW9uCiogTm93IGFsbG93aW5nIGRvdCBub3RhdGlvbiBmb3IgY2xhc3NlcyBpbiB0aGUgQ2FjaGVBZGFwdGVyRmFjdG9yeQoqIFVzaW5nIHRoZSB1bmlvbiBvZiB0d28gYXJyYXlzIHJhdGhlciB0aGFuIGFuIGFycmF5X21lcmdlIHdoZW4gZXh0ZW5kaW5nIHNlcnZpY2UgYnVpbGRlciBzZXJ2aWNlcyBhbmQgc2VydmljZSBwYXJhbXMKKiBFbnN1cmluZyB0aGF0IGEgc2VydmljZSBpcyBhIHN0cmluZyBiZWZvcmUgZG9pbmcgc3RycG9zKCkgY2hlY2tzIG9uIGl0IHdoZW4gc3Vic3RpdHV0aW5nIHNlcnZpY2VzIGZvciByZWZlcmVuY2VzCiAgaW4gc2VydmljZSBidWlsZGVyIGNvbmZpZyBmaWxlcy4KKiBTZXJ2aWNlcyBkZWZpbmVkIGluIHR3byBkaWZmZXJlbnQgY29uZmlnIGZpbGVzIHRoYXQgaW5jbHVkZSBvbmUgYW5vdGhlciB3aWxsIGJ5IGRlZmF1bHQgcmVwbGFjZSB0aGUgcHJldmlvdXNseQogIGRlZmluZWQgc2VydmljZSwgYnV0IHlvdSBjYW4gbm93IGNyZWF0ZSBzZXJ2aWNlcyB0aGF0IGV4dGVuZCB0aGVtc2VsdmVzIGFuZCBtZXJnZSB0aGVpciBzZXR0aW5ncyBvdmVyIHRoZSBwcmV2aW91cwoqIFRoZSBKc29uTG9hZGVyIG5vdyBzdXBwb3J0cyBhbGlhc2luZyBmaWxlbmFtZXMgd2l0aCBkaWZmZXJlbnQgZmlsZW5hbWVzLiBUaGlzIGFsbG93cyB5b3UgdG8gYWxpYXMgc29tZXRoaW5nIGxpa2UKICAnX2RlZmF1bHQnIHdpdGggYSBkZWZhdWx0IEpTT04gY29uZmlndXJhdGlvbiBmaWxlLgoKMi44LjUgKDIwMTItMDgtMjkpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBCdWc6IFN1cHByZXNzZWQgZW1wdHkgYXJyYXlzIGZyb20gVVJJIHRlbXBsYXRlcwoqIEJ1ZzogQWRkZWQgdGhlIG1pc3NpbmcgJG9wdGlvbnMgYXJndW1lbnQgZnJvbSBTZXJ2aWNlRGVzY3JpcHRpb246OmZhY3RvcnkgdG8gZW5hYmxlIGNhY2hpbmcKKiBBZGRlZCBzdXBwb3J0IGZvciBIVFRQIHJlc3BvbnNlcyB0aGF0IGRvIG5vdCBjb250YWluIGEgcmVhc29uIHBocmFzZSBpbiB0aGUgc3RhcnQtbGluZQoqIEFic3RyYWN0Q29tbWFuZCBjb21tYW5kcyBhcmUgbm93IGludm9rYWJsZQoqIEFkZGVkIGEgd2F5IHRvIGdldCB0aGUgZGF0YSB1c2VkIHdoZW4gc2lnbmluZyBhbiBPYXV0aCByZXF1ZXN0IGJlZm9yZSBhIHJlcXVlc3QgaXMgc2VudAoKMi44LjQgKDIwMTItMDgtMTUpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBCdWc6IEN1c3RvbSBkZWxheSB0aW1lIGNhbGN1bGF0aW9ucyBhcmUgbm8gbG9uZ2VyIGlnbm9yZWQgaW4gdGhlIEV4cG9uZW50aWFsQmFja29mZlBsdWdpbgoqIEFkZGVkIHRoZSBhYmlsaXR5IHRvIHRyYW5zZmVyIGVudGl0eSBib2RpZXMgYXMgYSBzdHJpbmcgcmF0aGVyIHRoYW4gc3RyZWFtZWQuIFRoaXMgZ2V0cyBhcm91bmQgY3VybCBlcnJvciA2NS4gU2V0IGBib2R5X2FzX3N0cmluZ2AgaW4gYSByZXF1ZXN0J3MgY3VybCBvcHRpb25zIHRvIGVuYWJsZS4KKiBBZGRlZCBhIFN0cmVhbUludGVyZmFjZSwgRW50aXR5Qm9keUludGVyZmFjZSwgYW5kIGFkZGVkIGZ0ZWxsKCkgdG8gR3V6emxlXENvbW1vblxTdHJlYW0KKiBBZGRlZCBhbiBBYnN0cmFjdEVudGl0eUJvZHlEZWNvcmF0b3IgYW5kIGEgUmVhZExpbWl0RW50aXR5Qm9keSBkZWNvcmF0b3IgdG8gdHJhbnNmZXIgb25seSBhIHN1YnNldCBvZiBhIGRlY29yYXRlZCBzdHJlYW0KKiBTdHJlYW0gYW5kIEVudGl0eUJvZHkgb2JqZWN0cyB3aWxsIG5vdyByZXR1cm4gdGhlIGZpbGUgcG9zaXRpb24gdG8gdGhlIHByZXZpb3VzIHBvc2l0aW9uIGFmdGVyIGEgcmVhZCByZXF1aXJlZCBvcGVyYXRpb24gKGUuZy4gZ2V0Q29udGVudE1kNSgpKQoqIEFkZGVkIGFkZGl0aW9uYWwgcmVzcG9uc2Ugc3RhdHVzIGNvZGVzCiogUmVtb3ZlZCBTU0wgaW5mb3JtYXRpb24gZnJvbSB0aGUgZGVmYXVsdCBVc2VyLUFnZW50IGhlYWRlcgoqIERFTEVURSByZXF1ZXN0cyBjYW4gbm93IHNlbmQgYW4gZW50aXR5IGJvZHkKKiBBZGRlZCBhbiBFdmVudERpc3BhdGNoZXIgdG8gdGhlIEV4cG9uZW50aWFsQmFja29mZlBsdWdpbiBhbmQgYWRkZWQgYW4gRXhwb25lbnRpYWxCYWNrb2ZmTG9nZ2VyIHRvIGxvZyBiYWNrb2ZmIHJldHJpZXMKKiBBZGRlZCB0aGUgYWJpbGl0eSBvZiB0aGUgTW9ja1BsdWdpbiB0byBjb25zdW1lIG1vY2tlZCByZXF1ZXN0IGJvZGllcwoqIExvZ1BsdWdpbiBub3cgZXhwb3NlcyByZXF1ZXN0IGFuZCByZXNwb25zZSBvYmplY3RzIGluIHRoZSBleHRyYXMgYXJyYXkKCjIuOC4zICgyMDEyLTA3LTMwKQotLS0tLS0tLS0tLS0tLS0tLS0KCiogQnVnOiBGaXhlZCBhIGNhc2Ugd2hlcmUgZW1wdHkgUE9TVCByZXF1ZXN0cyB3ZXJlIHNlbnQgYXMgR0VUIHJlcXVlc3RzCiogQnVnOiBGaXhlZCBhIGJ1ZyBpbiBFeHBvbmVudGlhbEJhY2tvZmZQbHVnaW4gdGhhdCBjYXVzZWQgZmF0YWwgZXJyb3JzIHdoZW4gcmV0cnlpbmcgYW4gRW50aXR5RW5jbG9zaW5nUmVxdWVzdCB0aGF0IGRvZXMgbm90IGhhdmUgYSBib2R5CiogQnVnOiBTZXR0aW5nIHRoZSByZXNwb25zZSBib2R5IG9mIGEgcmVxdWVzdCB0byBudWxsIGFmdGVyIGNvbXBsZXRpbmcgYSByZXF1ZXN0LCBub3Qgd2hlbiBzZXR0aW5nIHRoZSBzdGF0ZSBvZiBhIHJlcXVlc3QgdG8gbmV3CiogQWRkZWQgbXVsdGlwbGUgaW5oZXJpdGFuY2UgdG8gc2VydmljZSBkZXNjcmlwdGlvbiBjb21tYW5kcwoqIEFkZGVkIGFuIEFwaUNvbW1hbmRJbnRlcmZhY2UgYW5kIGFkZGVkIGBgZ2V0UGFyYW1OYW1lcygpYGAgYW5kIGBgaGFzUGFyYW0oKWBgCiogUmVtb3ZlZCB0aGUgZGVmYXVsdCAybWIgc2l6ZSBjdXRvZmYgZnJvbSB0aGUgTWQ1VmFsaWRhdG9yUGx1Z2luIHNvIHRoYXQgaXQgbm93IGRlZmF1bHRzIHRvIHZhbGlkYXRpbmcgZXZlcnl0aGluZwoqIENoYW5nZWQgQ3VybE11bHRpOjpwZXJmb3JtIHRvIHBhc3MgYSBzbWFsbGVyIHRpbWVvdXQgdG8gQ3VybE11bHRpOjpleGVjdXRlSGFuZGxlcwoKMi44LjIgKDIwMTItMDctMjQpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBCdWc6IFF1ZXJ5IHN0cmluZyB2YWx1ZXMgc2V0IHRvIDAgYXJlIG5vIGxvbmdlciBkcm9wcGVkIGZyb20gdGhlIHF1ZXJ5IHN0cmluZwoqIEJ1ZzogQSBDb2xsZWN0aW9uIG9iamVjdCBpcyBubyBsb25nZXIgY3JlYXRlZCBlYWNoIHRpbWUgYSBjYWxsIGlzIG1hZGUgdG8gYGBHdXp6bGVcU2VydmljZVxDb21tYW5kXEFic3RyYWN0Q29tbWFuZDo6Z2V0UmVxdWVzdEhlYWRlcnMoKWBgCiogQnVnOiBgYCtgYCBpcyBub3cgdHJlYXRlZCBhcyBhbiBlbmNvZGVkIHNwYWNlIHdoZW4gcGFyc2luZyBxdWVyeSBzdHJpbmdzCiogUXVlcnlTdHJpbmcgYW5kIENvbGxlY3Rpb24gcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzCiogQWxsb3dpbmcgZG90IG5vdGF0aW9uIGZvciBjbGFzcyBwYXRocyBpbiBmaWx0ZXJzIGF0dHJpYnV0ZSBvZiBhIHNlcnZpY2UgZGVzY3JpcHRpb25zCgoyLjguMSAoMjAxMi0wNy0xNikKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIExvb3NlbmluZyBFdmVudCBEaXNwYXRjaGVyIGRlcGVuZGVuY3kKKiBQT1NUIHJlZGlyZWN0cyBjYW4gbm93IGJlIGN1c3RvbWl6ZWQgdXNpbmcgQ1VSTE9QVF9QT1NUUkVESVIKCjIuOC4wICgyMDEyLTA3LTE1KQotLS0tLS0tLS0tLS0tLS0tLS0KCiogQkM6IEd1enpsZVxIdHRwXFF1ZXJ5CiAgICAqIFF1ZXJ5IHN0cmluZ3Mgd2l0aCBlbXB0eSB2YXJpYWJsZXMgd2lsbCBhbHdheXMgc2hvdyBhbiBlcXVhbCBzaWduIHVubGVzcyB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIFF1ZXJ5U3RyaW5nOjpCTEFOSyAoZS5nLiA/YWNsPSB2cyA/YWNsKQogICAgKiBDaGFuZ2VkIGlzRW5jb2RpbmdWYWx1ZXMoKSBhbmQgaXNFbmNvZGluZ0ZpZWxkcygpIHRvIGlzVXJsRW5jb2RpbmcoKQogICAgKiBDaGFuZ2VkIHNldEVuY29kZVZhbHVlcyhib29sKSBhbmQgc2V0RW5jb2RlRmllbGRzKGJvb2wpIHRvIHVzZVVybEVuY29kaW5nKGJvb2wpCiAgICAqIENoYW5nZWQgdGhlIGFnZ3JlZ2F0aW9uIGZ1bmN0aW9ucyBvZiBRdWVyeVN0cmluZyB0byBiZSBzdGF0aWMgbWV0aG9kcwogICAgKiBDYW4gbm93IHVzZSBmcm9tU3RyaW5nKCkgd2l0aCBxdWVyeXN0cmluZ3MgdGhhdCBoYXZlIGEgbGVhZGluZyA/CiogY1VSTCBjb25maWd1cmF0aW9uIHZhbHVlcyBjYW4gYmUgc3BlY2lmaWVkIGluIHNlcnZpY2UgZGVzY3JpcHRpb25zIHVzaW5nIGBgY3VybC5gYCBwcmVmaXhlZCBwYXJhbWV0ZXJzCiogQ29udGVudC1MZW5ndGggaXMgc2V0IHRvIDAgYmVmb3JlIGVtaXR0aW5nIHRoZSByZXF1ZXN0LmJlZm9yZV9zZW5kIGV2ZW50IHdoZW4gc2VuZGluZyBhbiBlbXB0eSByZXF1ZXN0IGJvZHkKKiBDb29raWVzIGFyZSBubyBsb25nZXIgVVJMIGRlY29kZWQgYnkgZGVmYXVsdAoqIEJ1ZzogVVJJIHRlbXBsYXRlIHZhcmlhYmxlcyBzZXQgdG8gbnVsbCBhcmUgbm8gbG9uZ2VyIGV4cGFuZGVkCgoyLjcuMiAoMjAxMi0wNy0wMikKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEJDOiBNb3ZpbmcgdGhpbmdzIHRvIGdldCByZWFkeSBmb3Igc3VidHJlZSBzcGxpdHMuIE1vdmluZyBJbmZsZWN0aW9uIGludG8gQ29tbW9uLiBNb3ZpbmcgR3V6emxlXEh0dHBcUGFyc2VyIHRvIEd1enpsZVxQYXJzZXIuCiogQkM6IFJlbW92aW5nIEd1enpsZVxDb21tb25cQmF0Y2hcQmF0Y2g6OmNvdW50KCkgYW5kIHJlcGxhY2luZyBpdCB3aXRoIGlzRW1wdHkoKQoqIENhY2hlUGx1Z2luIG5vdyBhbGxvd3MgZm9yIGEgY3VzdG9tIHJlcXVlc3QgcGFyYW1ldGVyIGZ1bmN0aW9uIHRvIGNoZWNrIGlmIGEgcmVxdWVzdCBjYW4gYmUgY2FjaGVkCiogQnVnIGZpeDogQ2FjaGVQbHVnaW4gbm93IG9ubHkgY2FjaGVzIEdFVCBhbmQgSEVBRCByZXF1ZXN0cyBieSBkZWZhdWx0CiogQnVnIGZpeDogVXNpbmcgaGVhZGVyIGdsdWUgd2hlbiB0cmFuc2ZlcnJpbmcgaGVhZGVycyBvdmVyIHRoZSB3aXJlCiogQWxsb3dpbmcgZGVlcGx5IG5lc3RlZCBhcnJheXMgZm9yIGNvbXBvc2l0ZSB2YXJpYWJsZXMgaW4gVVJJIHRlbXBsYXRlcwoqIEJhdGNoIGRpdmlzb3JzIGNhbiBub3cgcmV0dXJuIGl0ZXJhdG9ycyBvciBhcnJheXMKCjIuNy4xICgyMDEyLTA2LTI2KQotLS0tLS0tLS0tLS0tLS0tLS0KCiogTWlub3IgcGF0Y2ggdG8gdXBkYXRlIHZlcnNpb24gbnVtYmVyIGluIFVBIHN0cmluZwoqIFVwZGF0aW5nIGJ1aWxkIHByb2Nlc3MKCjIuNy4wICgyMDEyLTA2LTI1KQotLS0tLS0tLS0tLS0tLS0tLS0KCiogQkM6IEluZmxlY3Rpb24gY2xhc3NlcyBtb3ZlZCB0byBHdXp6bGVcSW5mbGVjdGlvbi4gTm8gbG9uZ2VyIHN0YXRpYyBtZXRob2RzLiBDYW4gbm93IGluamVjdCBjdXN0b20gaW5mbGVjdG9ycyBpbnRvIGNsYXNzZXMuCiogQkM6IFJlbW92ZWQgbWFnaWMgc2V0WCBtZXRob2RzIGZyb20gY29tbWFuZHMKKiBCQzogTWFnaWMgbWV0aG9kcyBtYXBwZWQgdG8gc2VydmljZSBkZXNjcmlwdGlvbiBjb21tYW5kcyBhcmUgbm93IGluZmxlY3RlZCBpbiB0aGUgY29tbWFuZCBmYWN0b3J5IHJhdGhlciB0aGFuIHRoZSBjbGllbnQgX19jYWxsKCkgbWV0aG9kCiogVmVyYm9zZSBjVVJMIG9wdGlvbnMgYXJlIG5vIGxvbmdlciBlbmFibGVkIGJ5IGRlZmF1bHQuIFNldCBjdXJsLmRlYnVnIHRvIHRydWUgb24gYSBjbGllbnQgdG8gZW5hYmxlLgoqIEJ1ZzogTm93IGFsbG93aW5nIGNvbG9ucyBpbiBhIHJlc3BvbnNlIHN0YXJ0LWxpbmUgKGUuZy4gSFRUUC8xLjEgNTAzIFNlcnZpY2UgVW5hdmFpbGFibGU6IEJhY2stZW5kIHNlcnZlciBpcyBhdCBjYXBhY2l0eSkKKiBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9yQXBwbHlCYXRjaGVkIG5vdyBpbnRlcm5hbGx5IHVzZXMgdGhlIEd1enpsZVxDb21tb25cQmF0Y2ggbmFtZXNwYWNlCiogQWRkZWQgR3V6emxlXFNlcnZpY2VcUGx1Z2luIG5hbWVzcGFjZSBhbmQgYSBQbHVnaW5Db2xsZWN0aW9uUGx1Z2luCiogQWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IFBPU1QgZmllbGRzIGFuZCBmaWxlcyBpbiBhIHNlcnZpY2UgZGVzY3JpcHRpb24KKiBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5OjpmYWN0b3J5KCkgbm93IGFjY2VwdHMgb2JqZWN0cyB3aXRoIGEgX190b1N0cmluZygpIG1ldGhvZAoqIEFkZGluZyBhIGNvbW1hbmQuYmVmb3JlX3ByZXBhcmUgZXZlbnQgdG8gY2xpZW50cwoqIEFkZGVkIEJhdGNoQ2xvc3VyZVRyYW5zZmVyIGFuZCBCYXRjaENsb3N1cmVEaXZpc29yCiogQmF0Y2hUcmFuc2ZlckV4Y2VwdGlvbiBub3cgaW5jbHVkZXMgcmVmZXJlbmNlcyB0byB0aGUgYmF0Y2ggZGl2aXNvciBhbmQgdHJhbnNmZXIgc3RyYXRlZ2llcwoqIEZpeGVkIHNvbWUgdGVzdHMgc28gdGhhdCB0aGV5IHBhc3MgbW9yZSByZWxpYWJseQoqIEFkZGVkIEd1enpsZVxDb21tb25cTG9nXEFycmF5TG9nQWRhcHRlcgoKMi42LjYgKDIwMTItMDYtMTApCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBCQzogUmVtb3ZpbmcgR3V6emxlXEh0dHBcUGx1Z2luXEJhdGNoUXVldWVQbHVnaW4KKiBCQzogUmVtb3ZpbmcgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kU2V0CiogQWRkaW5nIGdlbmVyaWMgYmF0Y2hpbmcgc3lzdGVtIChyZXBsYWNlcyB0aGUgYmF0Y2ggcXVldWUgcGx1Z2luIGFuZCBjb21tYW5kIHNldCkKKiBVcGRhdGluZyBaRiBjYWNoZSBhbmQgbG9nIGFkYXB0ZXJzIGFuZCBub3cgdXNpbmcgWkYncyBjb21wb3NlciByZXBvc2l0b3J5CiogQnVnOiBTZXR0aW5nIHRoZSBuYW1lIG9mIGVhY2ggQXBpUGFyYW0gd2hlbiBjcmVhdGluZyB0aHJvdWdoIGFuIEFwaUNvbW1hbmQKKiBBZGRpbmcgcmVzdWx0X3R5cGUsIHJlc3VsdF9kb2MsIGRlcHJlY2F0ZWQsIGFuZCBkb2NfdXJsIHRvIHNlcnZpY2UgZGVzY3JpcHRpb25zCiogQnVnOiBDaGFuZ2VkIHRoZSBkZWZhdWx0IGNvb2tpZSBoZWFkZXIgY2FzaW5nIGJhY2sgdG8gJ0Nvb2tpZScKCjIuNi41ICgyMDEyLTA2LTAzKQotLS0tLS0tLS0tLS0tLS0tLS0KCiogQkM6IFJlbmFtaW5nIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTo6Z2V0UmVzb3VyY2VVcmkoKSB0byBnZXRSZXNvdXJjZSgpCiogQkM6IFJlbW92aW5nIHVudXNlZCBBVVRIX0JBU0lDIGFuZCBBVVRIX0RJR0VTVCBjb25zdGFudHMgZnJvbQoqIEJDOiBHdXp6bGVcSHR0cFxDb29raWUgaXMgbm93IHVzZWQgdG8gbWFuYWdlIFNldC1Db29raWUgZGF0YSwgbm90IENvb2tpZSBkYXRhCiogQkM6IFJlbmFtaW5nIG1ldGhvZHMgaW4gdGhlIENvb2tpZUphckludGVyZmFjZQoqIE1vdmluZyBhbG1vc3QgYWxsIGNvb2tpZSBsb2dpYyBvdXQgb2YgdGhlIENvb2tpZVBsdWdpbiBhbmQgaW50byB0aGUgQ29va2llIG9yIENvb2tpZUphciBpbXBsZW1lbnRhdGlvbnMKKiBNYWtpbmcgdGhlIGRlZmF1bHQgZ2x1ZSBmb3IgSFRUUCBoZWFkZXJzICc7JyBpbnN0ZWFkIG9mICcsJwoqIEFkZGluZyBhIHJlbW92ZVZhbHVlIHRvIEd1enpsZVxIdHRwXE1lc3NhZ2VcSGVhZGVyCiogQWRkaW5nIGdldENvb2tpZXMoKSB0byByZXF1ZXN0IGludGVyZmFjZS4KKiBNYWtpbmcgaXQgZWFzaWVyIHRvIGFkZCBldmVudCBzdWJzY3JpYmVycyB0byBIYXNEaXNwYXRjaGVySW50ZXJmYWNlIGNsYXNzZXMuIENhbiBub3cgZGlyZWN0bHkgY2FsbCBhZGRTdWJzY3JpYmVyKCkKCjIuNi40ICgyMDEyLTA1LTMwKQotLS0tLS0tLS0tLS0tLS0tLS0KCiogQkM6IENsZWFuaW5nIHVwIGhvdyBQT1NUIGZpbGVzIGFyZSBzdG9yZWQgaW4gRW50aXR5RW5jbG9zaW5nUmVxdWVzdCBvYmplY3RzLiBBZGRpbmcgUG9zdEZpbGUgY2xhc3MuCiogQkM6IE1vdmluZyBBcGlDb21tYW5kIHNwZWNpZmljIGZ1bmN0aW9uYWxpdHkgZnJvbSB0aGUgSW5zcGVjdG9yIGFuZCBvbiB0byB0aGUgQXBpQ29tbWFuZAoqIEJ1ZzogRml4aW5nIG1hZ2ljIG1ldGhvZCBjb21tYW5kIGNhbGxzIG9uIGNsaWVudHMKKiBCdWc6IEVtYWlsIGNvbnN0cmFpbnQgb25seSB2YWxpZGF0ZXMgc3RyaW5ncwoqIEJ1ZzogQWdncmVnYXRlIFBPU1QgZmllbGRzIHdoZW4gUE9TVCBmaWxlcyBhcmUgcHJlc2VudCBpbiBjdXJsIGhhbmRsZQoqIEJ1ZzogRml4aW5nIGRlZmF1bHQgVXNlci1BZ2VudCBoZWFkZXIKKiBCdWc6IE9ubHkgYXBwZW5kaW5nIG9yIHByZXBlbmRpbmcgcGFyYW1ldGVycyBpbiBjb21tYW5kcyBpZiB0aGV5IGFyZSBzcGVjaWZpZWQKKiBCdWc6IE5vdCByZXF1aXJpbmcgcmVzcG9uc2UgcmVhc29uIHBocmFzZXMgb3Igc3RhdHVzIGNvZGVzIHRvIG1hdGNoIGEgcHJlZGVmaW5lZCBsaXN0IG9mIGNvZGVzCiogQWxsb3dpbmcgdGhlIHVzZSBvZiBkb3Qgbm90YXRpb24gZm9yIGNsYXNzIG5hbWVzcGFjZXMgd2hlbiB1c2luZyBpbnN0YW5jZV9vZiBjb25zdHJhaW50CiogQWRkZWQgYW55X21hdGNoIHZhbGlkYXRpb24gY29uc3RyYWludAoqIEFkZGVkIGFuIEFzeW5jUGx1Z2luCiogUGFzc2luZyByZXF1ZXN0IG9iamVjdCB0byB0aGUgY2FsY3VsYXRlV2FpdCBtZXRob2Qgb2YgdGhlIEV4cG9uZW50aWFsQmFja29mZlBsdWdpbgoqIEFsbG93aW5nIHRoZSByZXN1bHQgb2YgYSBjb21tYW5kIG9iamVjdCB0byBiZSBjaGFuZ2VkCiogUGFyc2luZyBsb2NhdGlvbiBhbmQgdHlwZSBzdWIgdmFsdWVzIHdoZW4gaW5zdGFudGlhdGluZyBhIHNlcnZpY2UgZGVzY3JpcHRpb24gcmF0aGVyIHRoYW4gb3ZlciBhbmQgb3ZlciBhdCBydW50aW1lCgoyLjYuMyAoMjAxMi0wNS0yMykKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIFtCQ10gR3V6emxlXENvbW1vblxGcm9tQ29uZmlnSW50ZXJmYWNlIG5vIGxvbmdlciByZXF1aXJlcyBhbnkgY29uZmlnIG9wdGlvbnMuCiogW0JDXSBSZWZhY3RvcmluZyBob3cgUE9TVCBmaWxlcyBhcmUgc3RvcmVkIG9uIGFuIEVudGl0eUVuY2xvc2luZ1JlcXVlc3QuIFRoZXkgYXJlIG5vdyBzZXBhcmF0ZSBmcm9tIFBPU1QgZmllbGRzLgoqIFlvdSBjYW4gbm93IHVzZSBhbiBhcnJheSBvZiBkYXRhIHdoZW4gY3JlYXRpbmcgUFVUIHJlcXVlc3QgYm9kaWVzIGluIHRoZSByZXF1ZXN0IGZhY3RvcnkuCiogUmVtb3ZpbmcgdGhlIHJlcXVpcmVtZW50IHRoYXQgSFRUUFMgcmVxdWVzdHMgbmVlZGVkIGEgQ2FjaGUtQ29udHJvbDogcHVibGljIGRpcmVjdGl2ZSB0byBiZSBjYWNoZWFibGUuCiogW0h0dHBdIEFkZGluZyBzdXBwb3J0IGZvciBDb250ZW50LVR5cGUgaW4gbXVsdGlwYXJ0IFBPU1QgdXBsb2FkcyBwZXIgdXBsb2FkCiogW0h0dHBdIEFkZGVkIHN1cHBvcnQgZm9yIHVwbG9hZGluZyBtdWx0aXBsZSBmaWxlcyB1c2luZyB0aGUgc2FtZSBuYW1lIChmb29bMF0sIGZvb1sxXSkKKiBBZGRpbmcgbW9yZSBQT1NUIGRhdGEgb3BlcmF0aW9ucyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbiBvZiBQT1NUIGRhdGEuCiogWW91IGNhbiBub3cgc2V0IGVtcHR5IFBPU1QgZmllbGRzLgoqIFRoZSBib2R5IG9mIGEgcmVxdWVzdCBpcyBvbmx5IHNob3duIG9uIEVudGl0eUVuY2xvc2luZ1JlcXVlc3Qgb2JqZWN0cyB0aGF0IGRvIG5vdCB1c2UgUE9TVCBmaWxlcy4KKiBTcGxpdCB0aGUgR3V6emxlXFNlcnZpY2VcSW5zcGVjdG9yOjp2YWxpZGF0ZUNvbmZpZyBtZXRob2QgaW50byB0d28gbWV0aG9kcy4gT25lIHRvIGluaXRpYWxpemUgd2hlbiBhIGNvbW1hbmQgaXMgY3JlYXRlZCwgYW5kIG9uZSB0byB2YWxpZGF0ZS4KKiBDUyB1cGRhdGVzCgoyLjYuMiAoMjAxMi0wNS0xOSkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIFtIdHRwXSBCZXR0ZXIgaGFuZGxpbmcgb2YgbmVzdGVkIHNjb3BlIHJlcXVlc3RzIGluIEN1cmxNdWx0aS4gIFJlcXVlc3RzIGFyZSBub3cgYWx3YXlzIHByZXBhcmVzIGluIHRoZSBzZW5kKCkgbWV0aG9kIHJhdGhlciB0aGFuIHRoZSBhZGRSZXF1ZXN0KCkgbWV0aG9kLgoKMi42LjEgKDIwMTItMDUtMTkpCi0tLS0tLS0tLS0tLS0tLS0tLQoKKiBbQkNdIFJlbW92aW5nICdwYXRoJyBzdXBwb3J0IGluIHNlcnZpY2UgZGVzY3JpcHRpb25zLiAgVXNlICd1cmknLgoqIFtCQ10gR3V6emxlXFNlcnZpY2VcSW5zcGVjdG9yOjpwYXJzZURvY0Jsb2NrIGlzIG5vdyBwcm90ZWN0ZWQuIEFkZGluZyBnZXRBcGlQYXJhbXNGb3JDbGFzcygpIHdpdGggY2FjaGUuCiogW0JDXSBSZW1vdmluZyBHdXp6bGVcQ29tbW9uXE51bGxPYmplY3QuICBVc2UgaHR0cHM6Ly9naXRodWIuY29tL210ZG93bGluZy9OdWxsT2JqZWN0IGlmIHlvdSBuZWVkIGl0LgoqIFtCQ10gUmVtb3ZpbmcgR3V6emxlXENvbW1vblxYbWxFbGVtZW50LgoqIEFsbCBjb21tYW5kcywgYm90aCBkeW5hbWljIGFuZCBjb25jcmV0ZSwgaGF2ZSBBcGlDb21tYW5kIG9iamVjdHMuCiogQWRkaW5nIGEgZml4IGZvciBDdXJsTXVsdGkgc28gdGhhdCBpZiBhbGwgb2YgdGhlIGNvbm5lY3Rpb25zIGVuY291bnRlciBzb21lIHNvcnQgb2YgY3VybCBlcnJvciwgdGhlbiB0aGUgbG9vcCBleGl0cy4KKiBBZGRpbmcgY2hlY2tzIHRvIEVudGl0eUVuY2xvc2luZ1JlcXVlc3Qgc28gdGhhdCBlbXB0eSBQT1NUIGZpbGVzIGFuZCBmaWVsZHMgYXJlIGlnbm9yZWQuCiogTWFraW5nIHRoZSBtZXRob2Qgc2lnbmF0dXJlIG9mIEd1enpsZVxTZXJ2aWNlXEJ1aWxkZXJcU2VydmljZUJ1aWxkZXI6OmZhY3RvcnkgbW9yZSBmbGV4aWJsZS4KCjIuNi4wICgyMDEyLTA1LTE1KQotLS0tLS0tLS0tLS0tLS0tLS0KCiogW0JDXSBNb3ZpbmcgR3V6emxlXFNlcnZpY2VcQnVpbGRlciB0byBHdXp6bGVcU2VydmljZVxCdWlsZGVyXFNlcnZpY2VCdWlsZGVyCiogW0JDXSBFeGVjdXRpbmcgYSBDb21tYW5kIHJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgY29tbWFuZCByYXRoZXIgdGhhbiB0aGUgY29tbWFuZAoqIFtCQ10gTW92aW5nIGFsbCBIVFRQIHBhcnNpbmcgbG9naWMgdG8gR3V6emxlXEh0dHBcUGFyc2Vycy4gQWxsb3dzIGZvciBmYXN0ZXIgQyBpbXBsZW1lbnRhdGlvbnMgaWYgbmVlZGVkLgoqIFtCQ10gQ2hhbmdpbmcgdGhlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U6OnNldFByb3RvY29sKCkgbWV0aG9kIHRvIGFjY2VwdCBhIHByb3RvY29sIGFuZCB2ZXJzaW9uIGluIHNlcGFyYXRlIGFyZ3MuCiogW0JDXSBNb3ZpbmcgUmVzb3VyY2VJdGVyYXRvciogdG8gR3V6emxlXFNlcnZpY2VcUmVzb3VyY2UKKiBbQkNdIENvbXBsZXRlbHkgcmVmYWN0b3JlZCBSZXNvdXJjZUl0ZXJhdG9ycyB0byBpdGVyYXRlIG92ZXIgYSBjbG9uZWQgY29tbWFuZCBvYmplY3QKKiBbQkNdIE1vdmVkIEd1enpsZVxIdHRwXFVyaVRlbXBsYXRlIHRvIEd1enpsZVxIdHRwXFBhcnNlclxVcmlUZW1wbGF0ZVxVcmlUZW1wbGF0ZQoqIFtCQ10gR3V6emxlXEd1enpsZSBpcyBub3cgZGVwcmVjYXRlZAoqIE1vdmluZyBHdXp6bGVcQ29tbW9uXEd1enpsZTo6aW5qZWN0IHRvIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjo6aW5qZWN0CiogQWRkaW5nIEd1enpsZVxWZXJzaW9uIGNsYXNzIHRvIGdpdmUgdmVyc2lvbiBpbmZvcm1hdGlvbiBhYm91dCBHdXp6bGUKKiBBZGRpbmcgR3V6emxlXEh0dHBcVXRpbHMgY2xhc3MgdG8gcHJvdmlkZSBnZXREZWZhdWx0VXNlckFnZW50KCkgYW5kIGdldEh0dHBEYXRlKCkKKiBBZGRpbmcgR3V6emxlXEN1cmxcQ3VybFZlcnNpb24gdG8gbWFuYWdlIGNhY2hpbmcgY3VybF92ZXJzaW9uKCkgZGF0YQoqIFNlcnZpY2VEZXNjcmlwdGlvbiBhbmQgU2VydmljZUJ1aWxkZXIgYXJlIG5vdyBjYWNoZWFibGUgdXNpbmcgc2ltaWxhciBjb25maWdzCiogQ2hhbmdpbmcgdGhlIGZvcm1hdCBvZiBYTUwgYW5kIEpTT04gc2VydmljZSBidWlsZGVyIGNvbmZpZ3MuICBCYWNrd2FyZHMgY29tcGF0aWJsZS4KKiBDbGVhbmVkIHVwIENvb2tpZSBwYXJzaW5nCiogVHJpbW1pbmcgdGhlIGRlZmF1bHQgR3V6emxlIFVzZXItQWdlbnQgaGVhZGVyCiogQWRkaW5nIGEgc2V0T25Db21wbGV0ZSgpIG1ldGhvZCB0byBDb21tYW5kcyB0aGF0IGlzIGNhbGxlZCB3aGVuIGEgY29tbWFuZCBjb21wbGV0ZXMKKiBLZWVwaW5nIHRyYWNrIG9mIHJlcXVlc3RzIHRoYXQgd2VyZSBtb2NrZWQgaW4gdGhlIE1vY2tQbHVnaW4KKiBGaXhlZCBhIGNhY2hpbmcgYnVnIGluIHRoZSBDYWNoZUFkYXB0ZXJGYWN0b3J5CiogSW5zcGVjdG9yIG9iamVjdHMgY2FuIGJlIGluamVjdGVkIGludG8gYSBDb21tYW5kIG9iamVjdAoqIFJlZmFjdG9yaW5nIGEgbG90IG9mIGNvZGUgYW5kIHRlc3RzIHRvIGJlIGNhc2UgaW5zZW5zaXRpdmUgd2hlbiBkZWFsaW5nIHdpdGggaGVhZGVycwoqIEFkZGluZyBHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlckNvbXBhcmlzb24gZm9yIGVhc3kgY29tcGFyaXNvbiBvZiBIVFRQIGhlYWRlcnMgdXNpbmcgYSBEU0wKKiBBZGRpbmcgdGhlIGFiaWxpdHkgdG8gc2V0IGdsb2JhbCBvcHRpb24gb3ZlcnJpZGVzIHRvIHNlcnZpY2UgYnVpbGRlciBjb25maWdzCiogQWRkaW5nIHRoZSBhYmlsaXR5IHRvIGluY2x1ZGUgb3RoZXIgc2VydmljZSBidWlsZGVyIGNvbmZpZyBmaWxlcyBmcm9tIHdpdGhpbiBYTUwgYW5kIEpTT04gZmlsZXMKKiBNb3ZpbmcgdGhlIHBhcnNlUXVlcnkgbWV0aG9kIG91dCBvZiBVcmwgYW5kIG9uIHRvIFF1ZXJ5U3RyaW5nOjpmcm9tU3RyaW5nKCkgYXMgYSBzdGF0aWMgZmFjdG9yeSBtZXRob2QuCgoyLjUuMCAoMjAxMi0wNS0wOCkKLS0tLS0tLS0tLS0tLS0tLS0tCgoqIE1ham9yIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cwoqIFtCQ10gU2ltcGxpZnlpbmcgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uLiAgUGxlYXNlIGNoZWNrIHRvIHNlZSBpZiB5b3UgYXJlIHVzaW5nIGZlYXR1cmVzIHRoYXQgYXJlIG5vdyBkZXByZWNhdGVkLgoqIFtCQ10gVXNpbmcgYSBjdXN0b20gdmFsaWRhdGlvbiBzeXN0ZW0gdGhhdCBhbGxvd3MgYSBmbHl3ZWlnaHQgaW1wbGVtZW50YXRpb24gZm9yIG11Y2ggZmFzdGVyIHZhbGlkYXRpb24uIE5vIGxvbmdlciB1c2luZyBTeW1mb255MiBWYWxpZGF0aW9uIGNvbXBvbmVudC4KKiBbQkNdIE5vIGxvbmdlciBzdXBwb3J0aW5nICJ7eyB9fSIgZm9yIGluamVjdGluZyBpbnRvIGNvbW1hbmQgb3IgVXJpVGVtcGxhdGVzLiAgVXNlICJ7fSIKKiBBZGRlZCB0aGUgYWJpbGl0eSB0byBwYXNzZWQgcGFyYW1ldGVycyB0byBhbGwgcmVxdWVzdHMgY3JlYXRlZCBieSBhIGNsaWVudAoqIEFkZGVkIGNhbGxiYWNrIGZ1bmN0aW9uYWxpdHkgdG8gdGhlIEV4cG9uZW50aWFsQmFja29mZlBsdWdpbgoqIFVzaW5nIG1pY3JvdGltZSBpbiBFeHBvbmVudGlhbEJhY2tvZmZQbHVnaW4gdG8gYWxsb3cgbW9yZSBncmFudWxhciBiYWNrb2ZmIHN0cmF0ZWdpZXMuCiogUmV3aW5kaW5nIHJlcXVlc3Qgc3RyZWFtIGJvZGllcyB3aGVuIHJldHJ5aW5nIHJlcXVlc3RzCiogRXhjZXB0aW9uIGlzIHRocm93biB3aGVuIEpTT04gcmVzcG9uc2UgYm9keSBjYW5ub3QgYmUgZGVjb2RlZAoqIEFkZGVkIGNvbmZpZ3VyYWJsZSBtYWdpYyBtZXRob2QgY2FsbHMgdG8gY2xpZW50cyBhbmQgY29tbWFuZHMuICBUaGlzIGlzIG9mZiBieSBkZWZhdWx0LgoqIEZpeGVkIGEgZGVmZWN0IHRoYXQgYWRkZWQgYSBoYXNoIHRvIGV2ZXJ5IHBhcnNlZCBVUkwgcGFydAoqIEZpeGVkIGR1cGxpY2F0ZSBub25lIGdlbmVyYXRpb24gZm9yIE9hdXRoUGx1Z2luLgoqIEVtaXR0aW5nIGFuIGV2ZW50IGVhY2ggdGltZSBhIGNsaWVudCBpcyBnZW5lcmF0ZWQgYnkgYSBTZXJ2aWNlQnVpbGRlcgoqIFVzaW5nIGFuIEFwaVBhcmFtcyBvYmplY3QgaW5zdGVhZCBvZiBhIENvbGxlY3Rpb24gZm9yIHBhcmFtZXRlcnMgb2YgYW4gQXBpQ29tbWFuZAoqIGNhY2hlLiogcmVxdWVzdCBwYXJhbWV0ZXJzIHNob3VsZCBiZSByZW5hbWVkIHRvIHBhcmFtcy5jYWNoZS4qCiogQWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IGFyYml0cmFyeSBjdXJsIG9wdGlvbnMgb24gcmVxdWVzdHMgKGRpc2FibGVfd2lyZSwgcHJvZ3Jlc3MsIGV0YykuIFNlZSBDdXJsSGFuZGxlLgoqIEFkZGVkIHRoZSBhYmlsaXR5IHRvIGRpc2FibGUgdHlwZSB2YWxpZGF0aW9uIG9mIHNlcnZpY2UgZGVzY3JpcHRpb25zCiogU2VydmljZURlc2NyaXB0aW9ucyBhbmQgU2VydmljZUJ1aWxkZXJzIGFyZSBub3cgU2VyaWFsaXphYmxlCg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL2d1enpsZSIsCiAgICAidHlwZSI6ICJsaWJyYXJ5IiwKICAgICJkZXNjcmlwdGlvbiI6ICJHdXp6bGUgaXMgYSBQSFAgSFRUUCBjbGllbnQgbGlicmFyeSBhbmQgZnJhbWV3b3JrIGZvciBidWlsZGluZyBSRVNUZnVsIHdlYiBzZXJ2aWNlIGNsaWVudHMiLAogICAgImtleXdvcmRzIjogWyJmcmFtZXdvcmsiLCAiaHR0cCIsICJyZXN0IiwgIndlYiBzZXJ2aWNlIiwgImN1cmwiLCAiY2xpZW50IiwgIkhUVFAgY2xpZW50Il0sCiAgICAiaG9tZXBhZ2UiOiAiaHR0cDovL2d1enpsZXBocC5vcmcvIiwKICAgICJsaWNlbnNlIjogIk1JVCIsCgogICAgImF1dGhvcnMiOiBbCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJNaWNoYWVsIERvd2xpbmciLAogICAgICAgICAgICAiZW1haWwiOiAibXRkb3dsaW5nQGdtYWlsLmNvbSIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRkb3dsaW5nIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJHdXp6bGUgQ29tbXVuaXR5IiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ndXp6bGUvZ3V6emxlL2NvbnRyaWJ1dG9ycyIKICAgICAgICB9CiAgICBdLAoKICAgICJyZXBsYWNlIjogewogICAgICAgICJndXp6bGUvYmF0Y2giOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAiZ3V6emxlL2NhY2hlIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgImd1enpsZS9jb21tb24iOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAiZ3V6emxlL2h0dHAiOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAiZ3V6emxlL2luZmxlY3Rpb24iOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAiZ3V6emxlL2l0ZXJhdG9yIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgImd1enpsZS9sb2ciOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAiZ3V6emxlL3BhcnNlciI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvcGx1Z2luIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgImd1enpsZS9wbHVnaW4tYXN5bmMiOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAiZ3V6emxlL3BsdWdpbi1iYWNrb2ZmIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgImd1enpsZS9wbHVnaW4tY2FjaGUiOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAiZ3V6emxlL3BsdWdpbi1jb29raWUiOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAiZ3V6emxlL3BsdWdpbi1jdXJsYXV0aCI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvcGx1Z2luLWVycm9yLXJlc3BvbnNlIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgImd1enpsZS9wbHVnaW4taGlzdG9yeSI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvcGx1Z2luLWxvZyI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvcGx1Z2luLW1kNSI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvcGx1Z2luLW1vY2siOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAiZ3V6emxlL3BsdWdpbi1vYXV0aCI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvc2VydmljZSI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvc3RyZWFtIjogInNlbGYudmVyc2lvbiIKICAgIH0sCgogICAgInJlcXVpcmUiOiB7CiAgICAgICAgInBocCI6ICI+PTUuMy4zIiwKICAgICAgICAiZXh0LWN1cmwiOiAiKiIsCiAgICAgICAgInN5bWZvbnkvZXZlbnQtZGlzcGF0Y2hlciI6ICI+PTIuMSIKICAgIH0sCgogICAgImF1dG9sb2FkIjogewogICAgICAgICJwc3ItMCI6IHsKICAgICAgICAgICAgIkd1enpsZSI6ICJzcmMvIiwKICAgICAgICAgICAgIkd1enpsZVxcVGVzdHMiOiAidGVzdHMvIgogICAgICAgIH0KICAgIH0sCgogICAgInJlcXVpcmUtZGV2IjogewogICAgICAgICJkb2N0cmluZS9jYWNoZSI6ICIqIiwKICAgICAgICAic3ltZm9ueS9jbGFzcy1sb2FkZXIiOiAiKiIsCiAgICAgICAgIm1vbm9sb2cvbW9ub2xvZyI6ICIxLioiLAogICAgICAgICJwc3IvbG9nIjogIjEuMC4qIiwKICAgICAgICAiemVuZGZyYW1ld29yay96ZW5kLWNhY2hlIjogIjwyLjMiLAogICAgICAgICJ6ZW5kZnJhbWV3b3JrL3plbmQtbG9nIjogIjwyLjMiLAogICAgICAgICJwaHB1bml0L3BocHVuaXQiOiAiMy43LioiCiAgICB9LAoKICAgICJleHRyYSI6IHsKICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAiZGV2LW1hc3RlciI6ICIzLjgtZGV2IgogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/batching/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/batching/batching.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT0KQmF0Y2hpbmcKPT09PT09PT0KCkd1enpsZSBwcm92aWRlcyBhIGZhaXJseSBnZW5lcmljIGFuZCB2ZXJ5IGN1c3RvbWl6YWJsZSBiYXRjaGluZyBmcmFtZXdvcmsgdGhhdCBhbGxvd3MgZGV2ZWxvcGVycyB0byBlZmZpY2llbnRseQp0cmFuc2ZlciByZXF1ZXN0cyBpbiBwYXJhbGxlbC4KClNlbmRpbmcgcmVxdWVzdHMgYW5kIGNvbW1hbmRzIGluIHBhcmFsbGVsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpZb3UgY2FuIHNlbmQgSFRUUCByZXF1ZXN0cyBpbiBwYXJhbGxlbCBieSBwYXNzaW5nIGFuIGFycmF5IG9mIGBgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlYGAgb2JqZWN0cyB0bwpgYEd1enpsZVxIdHRwXENsaWVudDo6c2VuZCgpYGA6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlc3BvbnNlcyA9ICRjbGllbnQtPnNlbmQoYXJyYXkoCiAgICAgICAgJGNsaWVudC0+Z2V0KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tL2ZvbycpLAogICAgICAgICRjbGllbnQtPmdldCgnaHR0cDovL3d3dy5leGFtcGxlLmNvbS9iYXonKQogICAgICAgICRjbGllbnQtPmdldCgnaHR0cDovL3d3dy5leGFtcGxlLmNvbS9iYXInKQogICAgKSk7CgpZb3UgY2FuIHNlbmQgY29tbWFuZHMgaW4gcGFyYWxsZWwgYnkgcGFzc2luZyBhbiBhcnJheSBvZiBgYEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZWBgIG9iamVjdHMKYGBHdXp6bGVcU2VydmljZVxDbGllbnQ6OmV4ZWN1dGUoKWBgOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjb21tYW5kcyA9ICRjbGllbnQtPmV4ZWN1dGUoYXJyYXkoCiAgICAgICAgJGNsaWVudC0+Z2V0Q29tbWFuZCgnZm9vJyksCiAgICAgICAgJGNsaWVudC0+Z2V0Q29tbWFuZCgnYmF6JyksCiAgICAgICAgJGNsaWVudC0+Z2V0Q29tbWFuZCgnYmFyJykKICAgICkpOwoKVGhlc2UgYXBwcm9hY2hlcyB3b3JrIHdlbGwgZm9yIG1vc3QgdXNlLWNhc2VzLiAgV2hlbiB5b3UgbmVlZCBtb3JlIGNvbnRyb2wgb3ZlciB0aGUgcmVxdWVzdHMgdGhhdCBhcmUgc2VudCBpbgpwYXJhbGxlbCBvciB5b3UgbmVlZCB0byBzZW5kIGEgbGFyZ2UgbnVtYmVyIG9mIHJlcXVlc3RzLCB5b3UgbmVlZCB0byB1c2UgdGhlIGZ1bmN0aW9uYWxpdHkgcHJvdmlkZWQgaW4gdGhlCmBgR3V6emxlXEJhdGNoYGAgbmFtZXNwYWNlLgoKQmF0Y2hpbmcgb3ZlcnZpZXcKLS0tLS0tLS0tLS0tLS0tLS0KClRoZSBiYXRjaCBvYmplY3QsIGBgR3V6emxlXEJhdGNoXEJhdGNoYGAsIGlzIGEgcXVldWUuICBZb3UgYWRkIHJlcXVlc3RzIHRvIHRoZSBxdWV1ZSB1bnRpbCB5b3UgYXJlIHJlYWR5IHRvIHRyYW5zZmVyCmFsbCBvZiB0aGUgcmVxdWVzdHMuICBJbiBvcmRlciB0byBlZmZpY2llbnRseSB0cmFuc2ZlciB0aGUgaXRlbXMgaW4gdGhlIHF1ZXVlLCB0aGUgYmF0Y2ggb2JqZWN0IGRlbGVnYXRlcyB0aGUKcmVzcG9uc2liaWxpdHkgb2YgZGl2aWRpbmcgdGhlIHF1ZXVlIGludG8gbWFuYWdlYWJsZSBwYXJ0cyB0byBhIGRpdmlzb3IgKGBgR3V6emxlXEJhdGNoXEJhdGNoRGl2aXNvckludGVyZmFjZWBgKS4KVGhlIGJhdGNoIG9iamVjdCB0aGVuIGl0ZXJhdGVzIG92ZXIgZWFjaCBhcnJheSBvZiBpdGVtcyBjcmVhdGVkIGJ5IHRoZSBkaXZpc29yIGFuZCBzZW5kcyB0aGVtIHRvIHRoZSBiYXRjaCBvYmplY3QncwpgYEd1enpsZVxCYXRjaFxCYXRjaFRyYW5zZmVySW50ZXJmYWNlYGAuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxCYXRjaFxCYXRjaDsKICAgIHVzZSBHdXp6bGVcSHR0cFxCYXRjaFJlcXVlc3RUcmFuc2ZlcjsKCiAgICAvLyBCYXRjaFJlcXVlc3RUcmFuc2ZlciBhY3RzIGFzIGJvdGggdGhlIGRpdmlzb3IgYW5kIHRyYW5zZmVyIHN0cmF0ZWd5CiAgICAkdHJhbnNmZXJTdHJhdGVneSA9IG5ldyBCYXRjaFJlcXVlc3RUcmFuc2ZlcigxMCk7CiAgICAkZGl2aXNvclN0cmF0ZWd5ID0gJHRyYW5zZmVyU3RyYXRlZ3k7CgogICAgJGJhdGNoID0gbmV3IEJhdGNoKCR0cmFuc2ZlclN0cmF0ZWd5LCAkZGl2aXNvclN0cmF0ZWd5KTsKCiAgICAvLyBBZGQgc29tZSByZXF1ZXN0cyB0byB0aGUgYmF0Y2ggcXVldWUKICAgICRiYXRjaC0+YWRkKCRyZXF1ZXN0MSkKICAgICAgICAtPmFkZCgkcmVxdWVzdDIpCiAgICAgICAgLT5hZGQoJHJlcXVlc3QzKTsKCiAgICAvLyBGbHVzaCB0aGUgcXVldWUgYW5kIHJldHJpZXZlIHRoZSBmbHVzaGVkIGl0ZW1zCiAgICAkYXJyYXlPZlRyYW5zZmVycmVkUmVxdWVzdHMgPSAkYmF0Y2gtPmZsdXNoKCk7CgouLiBub3RlOjoKCiAgICBZb3UgbWlnaHQgZmluZCB0aGF0IHlvdXIgdHJhbnNmZXIgc3RyYXRlZ3kgd2lsbCBuZWVkIHRvIGFjdCBhcyBib3RoIHRoZSBkaXZpc29yIGFuZCB0cmFuc2ZlciBzdHJhdGVneS4KClVzaW5nIHRoZSBCYXRjaEJ1aWxkZXIKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhlIGBgR3V6emxlXEJhdGNoXEJhdGNoQnVpbGRlcmBgIG1ha2VzIGl0IGVhc2llciB0byBjcmVhdGUgYmF0Y2ggb2JqZWN0cy4gIFRoZSBiYXRjaCBidWlsZGVyIGFsc28gcHJvdmlkZXMgYW4gZWFzaWVyCndheSB0byBhZGQgYWRkaXRpb25hbCBiZWhhdmlvcnMgdG8geW91ciBiYXRjaCBvYmplY3QuCgpUcmFuc2ZlcnJpbmcgcmVxdWVzdHMKfn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpUaGUgYGBHdXp6bGVcSHR0cFxCYXRjaFJlcXVlc3RUcmFuc2ZlcmBgIGNsYXNzIGVmZmljaWVudGx5IHRyYW5zZmVycyBIVFRQIHJlcXVlc3RzIGluIHBhcmFsbGVsIGJ5IGdyb3VwaW5nIGJhdGNoZXMgb2YKcmVxdWVzdHMgYnkgdGhlIGN1cmxfbXVsdGkgaGFuZGxlIHRoYXQgaXMgdXNlZCB0byB0cmFuc2ZlciB0aGUgcmVxdWVzdHMuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxCYXRjaFxCYXRjaEJ1aWxkZXI7CgogICAgJGJhdGNoID0gQmF0Y2hCdWlsZGVyOjpmYWN0b3J5KCkKICAgICAgICAtPnRyYW5zZmVyUmVxdWVzdHMoMTApCiAgICAgICAgLT5idWlsZCgpOwoKVHJhbnNmZXJyaW5nIGNvbW1hbmRzCn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKVGhlIGBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxCYXRjaENvbW1hbmRUcmFuc2ZlcmBgIGNsYXNzIGVmZmljaWVudGx5IHRyYW5zZmVycyBzZXJ2aWNlIGNvbW1hbmRzIGJ5IGdyb3VwaW5nIGNvbW1hbmRzCmJ5IHRoZSBjbGllbnQgdGhhdCBpcyB1c2VkIHRvIHRyYW5zZmVyIHRoZW0uICBZb3UgY2FuIGFkZCBjb21tYW5kcyB0byBhIGJhdGNoIG9iamVjdCB0aGF0IGFyZSB0cmFuc2ZlcnJlZCBieSBkaWZmZXJlbnQKY2xpZW50cywgYW5kIHRoZSBiYXRjaCB3aWxsIGhhbmRsZSB0aGUgcmVzdC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXEJhdGNoXEJhdGNoQnVpbGRlcjsKCiAgICAkYmF0Y2ggPSBCYXRjaEJ1aWxkZXI6OmZhY3RvcnkoKQogICAgICAgIC0+dHJhbnNmZXJDb21tYW5kcygxMCkKICAgICAgICAtPmJ1aWxkKCk7CgogICAgJGJhdGNoLT5hZGQoJGNsaWVudC0+Z2V0Q29tbWFuZCgnZm9vJykpCiAgICAgICAgLT5hZGQoJGNsaWVudC0+Z2V0Q29tbWFuZCgnYmF6JykpCiAgICAgICAgLT5hZGQoJGNsaWVudC0+Z2V0Q29tbWFuZCgnYmFyJykpOwoKICAgICRjb21tYW5kcyA9ICRiYXRjaC0+Zmx1c2goKTsKCkJhdGNoIGJlaGF2aW9ycwotLS0tLS0tLS0tLS0tLS0KCllvdSBjYW4gYWRkIHZhcmlvdXMgYmVoYXZpb3JzIHRvIHlvdXIgYmF0Y2ggdGhhdCBhbGxvdyBmb3IgbW9yZSBjdXN0b21pemFibGUgdHJhbnNmZXJzLgoKQXV0b21hdGljYWxseSBmbHVzaGluZyBhIHF1ZXVlCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKVXNlIHRoZSBgYEd1enpsZVxCYXRjaFxGbHVzaGluZ0JhdGNoYGAgZGVjb3JhdG9yIHdoZW4geW91IHdhbnQgdG8gcHVtcCBhIGxhcmdlIG51bWJlciBvZiBpdGVtcyBpbnRvIGEgYmF0Y2ggcXVldWUgYW5kCmhhdmUgdGhlIHF1ZXVlIGF1dG9tYXRpY2FsbHkgZmx1c2ggd2hlbiB0aGUgc2l6ZSBvZiB0aGUgcXVldWUgcmVhY2hlcyBhIGNlcnRhaW4gdGhyZXNob2xkLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBHdXp6bGVcQmF0Y2hcQmF0Y2hCdWlsZGVyOwoKICAgICRiYXRjaCA9IEJhdGNoQnVpbGRlcjo6ZmFjdG9yeSgpCiAgICAgICAgLT50cmFuc2ZlclJlcXVlc3RzKDEwKQogICAgICAgIC0+YXV0b0ZsdXNoQXQoMTApCiAgICAgICAgLT5idWlsZCgpOwoKQmF0Y2ggYnVpbGRlciBtZXRob2Q6IGBgYXV0b0ZsdXNoQXQoJHRocmVzaG9sZClgYAoKTm90aWZ5aW5nIG9uIGZsdXNoCn5+fn5+fn5+fn5+fn5+fn5+fgoKVXNlIHRoZSBgYEd1enpsZVxCYXRjaFxOb3RpZnlpbmdCYXRjaGBgIGRlY29yYXRvciBpZiB5b3Ugd2FudCBhIGZ1bmN0aW9uIHRvIGJlIG5vdGlmaWVkIGVhY2ggdGltZSB0aGUgYmF0Y2ggcXVldWUgaXMKZmx1c2hlZC4gIFRoaXMgaXMgdXNlZnVsIHdoZW4gcGFpcmVkIHdpdGggdGhlIGZsdXNoaW5nIGJhdGNoIGRlY29yYXRvci4gIFBhc3MgYSBjYWxsYWJsZSB0byB0aGUgYGBub3RpZnkoKWBgIG1ldGhvZCBvZgphIGJhdGNoIGJ1aWxkZXIgdG8gdXNlIHRoaXMgZGVjb3JhdG9yIHdpdGggdGhlIGJ1aWxkZXIuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxCYXRjaFxCYXRjaEJ1aWxkZXI7CgogICAgJGJhdGNoID0gQmF0Y2hCdWlsZGVyOjpmYWN0b3J5KCkKICAgICAgICAtPnRyYW5zZmVyUmVxdWVzdHMoMTApCiAgICAgICAgLT5hdXRvRmx1c2hBdCgxMCkKICAgICAgICAtPm5vdGlmeShmdW5jdGlvbiAoYXJyYXkgJHRyYW5zZmVycmVkSXRlbXMpIHsKICAgICAgICAgICAgZWNobyAnVHJhbnNmZXJyZWQgJyAuIGNvdW50KCR0cmFuc2ZlcnJlZEl0ZW1zKSAuICJpdGVtc1xuIjsKICAgICAgICB9KQogICAgICAgIC0+YnVpbGQoKTsKCkJhdGNoIGJ1aWxkZXIgbWV0aG9kOjogYGBub3RpZnkoY2FsbGFibGUgJGNhbGxiYWNrKWBgCgpLZWVwaW5nIGEgaGlzdG9yeQp+fn5+fn5+fn5+fn5+fn5+fgoKVXNlIHRoZSBgYEd1enpsZVxCYXRjaFxIaXN0b3J5QmF0Y2hgYCBkZWNvcmF0b3IgaWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gYSBoaXN0b3J5IG9mIGFsbCB0aGUgaXRlbXMgdHJhbnNmZXJyZWQgd2l0aAp0aGUgYmF0Y2ggcXVldWUuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxCYXRjaFxCYXRjaEJ1aWxkZXI7CgogICAgJGJhdGNoID0gQmF0Y2hCdWlsZGVyOjpmYWN0b3J5KCkKICAgICAgICAtPnRyYW5zZmVyUmVxdWVzdHMoMTApCiAgICAgICAgLT5rZWVwSGlzdG9yeSgpCiAgICAgICAgLT5idWlsZCgpOwoKQWZ0ZXIgdHJhbnNmZXJyaW5nIGl0ZW1zLCB5b3UgY2FuIHVzZSB0aGUgYGBnZXRIaXN0b3J5KClgYCBvZiBhIGJhdGNoIHRvIHJldHJpZXZlIGFuIGFycmF5IG9mIHRyYW5zZmVycmVkIGl0ZW1zLiAgQmUKc3VyZSB0byBwZXJpb2RpY2FsbHkgY2xlYXIgdGhlIGhpc3RvcnkgdXNpbmcgYGBjbGVhckhpc3RvcnkoKWBgLgoKQmF0Y2ggYnVpbGRlciBtZXRob2Q6IGBga2VlcEhpc3RvcnkoKWBgCgpFeGNlcHRpb24gYnVmZmVyaW5nCn5+fn5+fn5+fn5+fn5+fn5+fn4KClVzZSB0aGUgYGBHdXp6bGVcQmF0Y2hcRXhjZXB0aW9uQnVmZmVyaW5nQmF0Y2hgYCBkZWNvcmF0b3IgdG8gYnVmZmVyIGV4Y2VwdGlvbnMgZHVyaW5nIGEgdHJhbnNmZXIgc28gdGhhdCB5b3UgY2FuCnRyYW5zZmVyIGFzIG1hbnkgaXRlbXMgYXMgcG9zc2libGUgdGhlbiBkZWFsIHdpdGggdGhlIGVycm9yZWQgYmF0Y2hlcyBhZnRlciB0aGUgdHJhbnNmZXIgY29tcGxldGVzLiAgQWZ0ZXIgdHJhbnNmZXIsCnVzZSB0aGUgYGBnZXRFeGNlcHRpb25zKClgYCBtZXRob2Qgb2YgYSBiYXRjaCB0byByZXRyaWV2ZSBhbiBhcnJheSBvZgpgYEd1enpsZVxCYXRjaFxFeGNlcHRpb25cQmF0Y2hUcmFuc2ZlckV4Y2VwdGlvbmBgIG9iamVjdHMuICBZb3UgY2FuIHVzZSB0aGVzZSBleGNlcHRpb25zIHRvIGF0dGVtcHQgdG8gcmV0cnkgdGhlCmZhaWxlZCBiYXRjaGVzLiAgQmUgc3VyZSB0byBjbGVhciB0aGUgYnVmZmVyZWQgZXhjZXB0aW9ucyB3aGVuIHlvdSBhcmUgZG9uZSB3aXRoIHRoZW0gYnkgdXNpbmcgdGhlCmBgY2xlYXJFeGNlcHRpb25zKClgYCBtZXRob2QuCgpCYXRjaCBidWlsZGVyIG1ldGhvZDogYGBidWZmZXJFeGNlcHRpb25zKClgYAo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/conf.py</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[aW1wb3J0IHN5cywgb3MKZnJvbSBzcGhpbnguaGlnaGxpZ2h0aW5nIGltcG9ydCBsZXhlcnMKZnJvbSBweWdtZW50cy5sZXhlcnMud2ViIGltcG9ydCBQaHBMZXhlcgoKbGV4ZXJzWydwaHAnXSA9IFBocExleGVyKHN0YXJ0aW5saW5lPVRydWUsIGxpbmVub3M9MSkKbGV4ZXJzWydwaHAtYW5ub3RhdGlvbnMnXSA9IFBocExleGVyKHN0YXJ0aW5saW5lPVRydWUsIGxpbmVub3M9MSkKcHJpbWFyeV9kb21haW4gPSAncGhwJwoKIyAtLSBHZW5lcmFsIGNvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmV4dGVuc2lvbnMgPSBbXQp0ZW1wbGF0ZXNfcGF0aCA9IFsnX3RlbXBsYXRlcyddCnNvdXJjZV9zdWZmaXggPSAnLnJzdCcKbWFzdGVyX2RvYyA9ICdpbmRleCcKCnByb2plY3QgPSB1J0d1enpsZScKY29weXJpZ2h0ID0gdScyMDEyLCBNaWNoYWVsIERvd2xpbmcnCnZlcnNpb24gPSAnMy4wLjAnCnJlbGVhc2UgPSAnMy4wLjAnCgpleGNsdWRlX3BhdHRlcm5zID0gWydfYnVpbGQnXQoKIyAtLSBPcHRpb25zIGZvciBIVE1MIG91dHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMgVGhlIG5hbWUgZm9yIHRoaXMgc2V0IG9mIFNwaGlueCBkb2N1bWVudHMuICBJZiBOb25lLCBpdCBkZWZhdWx0cyB0bwojICI8cHJvamVjdD4gdjxyZWxlYXNlPiBkb2N1bWVudGF0aW9uIi4KaHRtbF90aXRsZSA9ICJHdXp6bGUgZG9jdW1lbnRhdGlvbiIKaHRtbF9zaG9ydF90aXRsZSA9ICJHdXp6bGUiCgojIEFkZCBhbnkgcGF0aHMgdGhhdCBjb250YWluIGN1c3RvbSBzdGF0aWMgZmlsZXMgKHN1Y2ggYXMgc3R5bGUgc2hlZXRzKSBoZXJlLAojIHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5LiBUaGV5IGFyZSBjb3BpZWQgYWZ0ZXIgdGhlIGJ1aWx0aW4gc3RhdGljIGZpbGVzLAojIHNvIGEgZmlsZSBuYW1lZCAiZGVmYXVsdC5jc3MiIHdpbGwgb3ZlcndyaXRlIHRoZSBidWlsdGluICJkZWZhdWx0LmNzcyIuCmh0bWxfc3RhdGljX3BhdGggPSBbJ19zdGF0aWMnXQoKIyBDdXN0b20gc2lkZWJhciB0ZW1wbGF0ZXMsIG1hcHMgZG9jdW1lbnQgbmFtZXMgdG8gdGVtcGxhdGUgbmFtZXMuCmh0bWxfc2lkZWJhcnMgPSB7CiAgICAnKionOiAgICAgICBbJ2xvY2FsdG9jLmh0bWwnLCAnbGVmdGJhci5odG1sJywgJ3NlYXJjaGJveC5odG1sJ10KfQoKIyBPdXRwdXQgZmlsZSBiYXNlIG5hbWUgZm9yIEhUTUwgaGVscCBidWlsZGVyLgpodG1saGVscF9iYXNlbmFtZSA9ICdHdXp6bGVkb2MnCgojIC0tIEd1enpsZSBTcGhpbnggdGhlbWUgc2V0dXAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpzeXMucGF0aC5pbnNlcnQoMCwgJy9Vc2Vycy9kb3dsaW5nL3Byb2plY3RzL2d1enpsZV9zcGhpbnhfdGhlbWUnKQoKaW1wb3J0IGd1enpsZV9zcGhpbnhfdGhlbWUKcHlnbWVudHNfc3R5bGUgPSAnZ3V6emxlX3NwaGlueF90aGVtZS5HdXp6bGVTdHlsZScKaHRtbF90cmFuc2xhdG9yX2NsYXNzID0gJ2d1enpsZV9zcGhpbnhfdGhlbWUuSFRNTFRyYW5zbGF0b3InCmh0bWxfdGhlbWVfcGF0aCA9IGd1enpsZV9zcGhpbnhfdGhlbWUuaHRtbF90aGVtZV9wYXRoKCkKaHRtbF90aGVtZSA9ICdndXp6bGVfc3BoaW54X3RoZW1lJwoKIyBHdXp6bGUgdGhlbWUgb3B0aW9ucyAoc2VlIHRoZW1lLmNvbmYgZm9yIG1vcmUgaW5mb3JtYXRpb24pCmh0bWxfdGhlbWVfb3B0aW9ucyA9IHsKICAgICJpbmRleF90ZW1wbGF0ZSI6ICJpbmRleC5odG1sIiwKICAgICJwcm9qZWN0X25hdl9uYW1lIjogIkd1enpsZSIsCiAgICAiZ2l0aHViX3VzZXIiOiAiZ3V6emxlIiwKICAgICJnaXRodWJfcmVwbyI6ICJndXp6bGUiLAogICAgImRpc3F1c19jb21tZW50c19zaG9ydG5hbWUiOiAiZ3V6emxlIiwKICAgICJnb29nbGVfYW5hbHl0aWNzX2FjY291bnQiOiAiVUEtMjI3NTI5MTctMSIKfQoKIyAtLSBPcHRpb25zIGZvciBMYVRlWCBvdXRwdXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmxhdGV4X2VsZW1lbnRzID0ge30KCiMgR3JvdXBpbmcgdGhlIGRvY3VtZW50IHRyZWUgaW50byBMYVRlWCBmaWxlcy4gTGlzdCBvZiB0dXBsZXMKIyAoc291cmNlIHN0YXJ0IGZpbGUsIHRhcmdldCBuYW1lLCB0aXRsZSwgYXV0aG9yLCBkb2N1bWVudGNsYXNzIFtob3d0by9tYW51YWxdKS4KbGF0ZXhfZG9jdW1lbnRzID0gWwogICgnaW5kZXgnLCAnR3V6emxlLnRleCcsIHUnR3V6emxlIERvY3VtZW50YXRpb24nLAogICB1J01pY2hhZWwgRG93bGluZycsICdtYW51YWwnKSwKXQoKIyAtLSBPcHRpb25zIGZvciBtYW51YWwgcGFnZSBvdXRwdXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMgT25lIGVudHJ5IHBlciBtYW51YWwgcGFnZS4gTGlzdCBvZiB0dXBsZXMKIyAoc291cmNlIHN0YXJ0IGZpbGUsIG5hbWUsIGRlc2NyaXB0aW9uLCBhdXRob3JzLCBtYW51YWwgc2VjdGlvbikuCm1hbl9wYWdlcyA9IFsKICAgICgnaW5kZXgnLCAnZ3V6emxlJywgdSdHdXp6bGUgRG9jdW1lbnRhdGlvbicsCiAgICAgW3UnTWljaGFlbCBEb3dsaW5nJ10sIDEpCl0KCiMgSWYgdHJ1ZSwgc2hvdyBVUkwgYWRkcmVzc2VzIGFmdGVyIGV4dGVybmFsIGxpbmtzLgojbWFuX3Nob3dfdXJscyA9IEZhbHNlCgojIC0tIE9wdGlvbnMgZm9yIFRleGluZm8gb3V0cHV0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIyBHcm91cGluZyB0aGUgZG9jdW1lbnQgdHJlZSBpbnRvIFRleGluZm8gZmlsZXMuIExpc3Qgb2YgdHVwbGVzCiMgKHNvdXJjZSBzdGFydCBmaWxlLCB0YXJnZXQgbmFtZSwgdGl0bGUsIGF1dGhvciwKIyAgZGlyIG1lbnUgZW50cnksIGRlc2NyaXB0aW9uLCBjYXRlZ29yeSkKdGV4aW5mb19kb2N1bWVudHMgPSBbCiAgKCdpbmRleCcsICdHdXp6bGUnLCB1J0d1enpsZSBEb2N1bWVudGF0aW9uJywKICAgdSdNaWNoYWVsIERvd2xpbmcnLCAnR3V6emxlJywgJ09uZSBsaW5lIGRlc2NyaXB0aW9uIG9mIHByb2plY3QuJywKICAgJ01pc2NlbGxhbmVvdXMnKSwKXQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/docs.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gdGl0bGU6OiBHdXp6bGUgfCBQSFAgSFRUUCBjbGllbnQgYW5kIGZyYW1ld29yayBmb3IgY29uc3VtaW5nIFJFU1RmdWwgd2ViIHNlcnZpY2VzCgo9PT09PT09PT09PT09PT09PT09PQpHdXp6bGUgRG9jdW1lbnRhdGlvbgo9PT09PT09PT09PT09PT09PT09PQoKR2V0dGluZyBzdGFydGVkCi0tLS0tLS0tLS0tLS0tLQoKLi4gdG9jdHJlZTo6CiAgIDptYXhkZXB0aDogMQoKICAgZ2V0dGluZy1zdGFydGVkL292ZXJ2aWV3CiAgIGdldHRpbmctc3RhcnRlZC9pbnN0YWxsYXRpb24KICAgZ2V0dGluZy1zdGFydGVkL2ZhcQoKVGhlIEhUVFAgY2xpZW50Ci0tLS0tLS0tLS0tLS0tLQoKLi4gdG9jdHJlZTo6CiAgIDptYXhkZXB0aDogMgoKICAgaHR0cC1jbGllbnQvY2xpZW50CiAgIGh0dHAtY2xpZW50L3JlcXVlc3QKICAgaHR0cC1jbGllbnQvcmVzcG9uc2UKICAgaHR0cC1jbGllbnQvZW50aXR5LWJvZGllcwogICBodHRwLWNsaWVudC9odHRwLXJlZGlyZWN0cwogICBodHRwLWNsaWVudC91cmktdGVtcGxhdGVzCgpQbHVnaW5zCi0tLS0tLS0KCi4uIHRvY3RyZWU6OgogICA6bWF4ZGVwdGg6IDEKCiAgIHBsdWdpbnMvcGx1Z2lucy1vdmVydmlldwogICBwbHVnaW5zL2NyZWF0aW5nLXBsdWdpbnMKICAgcGx1Z2lucy9hc3luYy1wbHVnaW4KICAgcGx1Z2lucy9iYWNrb2ZmLXBsdWdpbgogICBwbHVnaW5zL2NhY2hlLXBsdWdpbgogICBwbHVnaW5zL2Nvb2tpZS1wbHVnaW4KICAgcGx1Z2lucy9jdXJsLWF1dGgtcGx1Z2luCiAgIHBsdWdpbnMvaGlzdG9yeS1wbHVnaW4KICAgcGx1Z2lucy9sb2ctcGx1Z2luCiAgIHBsdWdpbnMvbWQ1LXZhbGlkYXRvci1wbHVnaW4KICAgcGx1Z2lucy9tb2NrLXBsdWdpbgogICBwbHVnaW5zL29hdXRoLXBsdWdpbgoKVGhlIHdlYiBzZXJ2aWNlIGNsaWVudAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgouLiB0b2N0cmVlOjoKICAgOm1heGRlcHRoOiAxCgogICB3ZWJzZXJ2aWNlLWNsaWVudC93ZWJzZXJ2aWNlLWNsaWVudAogICB3ZWJzZXJ2aWNlLWNsaWVudC91c2luZy10aGUtc2VydmljZS1idWlsZGVyCiAgIHdlYnNlcnZpY2UtY2xpZW50L2d1enpsZS1zZXJ2aWNlLWRlc2NyaXB0aW9ucwogICBiYXRjaGluZy9iYXRjaGluZwogICBpdGVyYXRvcnMvcmVzb3VyY2UtaXRlcmF0b3JzCiAgIGl0ZXJhdG9ycy9ndXp6bGUtaXRlcmF0b3JzCgpUZXN0aW5nCi0tLS0tLS0KCi4uIHRvY3RyZWU6OgogICA6bWF4ZGVwdGg6IDIKCiAgIHRlc3RpbmcvdW5pdC10ZXN0aW5nCgpBUEkgRG9jcwotLS0tLS0tLQoKYFJlYWQgdGhlIEFQSSBkb2NzIDxodHRwOi8vZ3V6emxlcGhwLm9yZy9hcGkvaW5kZXguaHRtbD5gXwo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/getting-started/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/getting-started/faq.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09CkZBUQo9PT0KCldoYXQgc2hvdWxkIEkgZG8gaWYgSSBnZXQgdGhpcyBlcnJvcjogRmF0YWwgZXJyb3I6IE1heGltdW0gZnVuY3Rpb24gbmVzdGluZyBsZXZlbCBvZiAnMTAwJyByZWFjaGVkLCBhYm9ydGluZyEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKWW91IGNvdWxkIHJ1biBpbnRvIHRoaXMgZXJyb3IgaWYgeW91IGhhdmUgdGhlIFhEZWJ1ZyBleHRlbnNpb24gaW5zdGFsbGVkIGFuZCB5b3UgZXhlY3V0ZSBhIGxvdCBvZiByZXF1ZXN0cyBpbgpjYWxsYmFja3MuICBUaGlzIGVycm9yIG1lc3NhZ2UgY29tZXMgc3BlY2lmaWNhbGx5IGZyb20gdGhlIFhEZWJ1ZyBleHRlbnNpb24uIFBIUCBpdHNlbGYgZG9lcyBub3QgaGF2ZSBhIGZ1bmN0aW9uCm5lc3RpbmcgbGltaXQuIENoYW5nZSB0aGlzIHNldHRpbmcgaW4geW91ciBwaHAuaW5pIHRvIGluY3JlYXNlIHRoZSBsaW1pdDo6CgogICAgeGRlYnVnLm1heF9uZXN0aW5nX2xldmVsID0gMTAwMAoKW2Bzb3VyY2UgPGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzQyOTM4NzAvMTUxNTA0PmBfXQoKSG93IGNhbiBJIHNwZWVkIHVwIG15IGNsaWVudD8KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClRoZXJlIGFyZSBzZXZlcmFsIHRoaW5ncyB5b3UgY2FuIGRvIHRvIHNwZWVkIHVwIHlvdXIgY2xpZW50OgoKMS4gVXRpbGl6ZSBhIEMgYmFzZWQgSFRUUCBtZXNzYWdlIHBhcnNlciAoZS5nLiBgYEd1enpsZVxQYXJzZXJcTWVzc2FnZVxQZWNsSHR0cE1lc3NhZ2VQYXJzZXJgYCkKMi4gRGlzYWJsZSBvcGVyYXRpb24gdmFsaWRhdGlvbiBieSBzZXR0aW5nIHRoZSBgYGNvbW1hbmQuZGlzYWJsZV92YWxpZGF0aW9uYGAgb3B0aW9uIHRvIHRydWUgb24gYSBjb21tYW5kCgpXaHkgYW0gSSBnZXR0aW5nIGEgNDE3IGVycm9yIHJlc3BvbnNlPwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhpcyBjYW4gb2NjdXIgZm9yIGEgbnVtYmVyIG9mIHJlYXNvbnMsIGJ1dCBpZiB5b3UgYXJlIHNlbmRpbmcgUFVULCBQT1NULCBvciBQQVRDSCByZXF1ZXN0cyB3aXRoIGFuCmBgRXhwZWN0OiAxMDAtQ29udGludWVgYCBoZWFkZXIsIGEgc2VydmVyIHRoYXQgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIGhlYWRlciB3aWxsIHJldHVybiBhIDQxNyByZXNwb25zZS4gWW91IGNhbiB3b3JrCmFyb3VuZCB0aGlzIGJ5IGNhbGxpbmcgYGAkcmVxdWVzdC0+cmVtb3ZlSGVhZGVyKCdFeHBlY3QnKTtgYCBhZnRlciBzZXR0aW5nIHRoZSBlbnRpdHkgYm9keSBvZiBhIHJlcXVlc3QuCg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/getting-started/installation.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09Ckluc3RhbGxhdGlvbgo9PT09PT09PT09PT0KClJlcXVpcmVtZW50cwotLS0tLS0tLS0tLS0KCiMuIFBIUCA1LjMuMysgY29tcGlsZWQgd2l0aCB0aGUgY1VSTCBleHRlbnNpb24KIy4gQSByZWNlbnQgdmVyc2lvbiBvZiBjVVJMIDcuMTYuMisgY29tcGlsZWQgd2l0aCBPcGVuU1NMIGFuZCB6bGliCgpJbnN0YWxsaW5nIEd1enpsZQotLS0tLS0tLS0tLS0tLS0tLQoKQ29tcG9zZXIKfn5+fn5+fn4KClRoZSByZWNvbW1lbmRlZCB3YXkgdG8gaW5zdGFsbCBHdXp6bGUgaXMgd2l0aCBgQ29tcG9zZXIgPGh0dHA6Ly9nZXRjb21wb3Nlci5vcmc+YF8uIENvbXBvc2VyIGlzIGEgZGVwZW5kZW5jeQptYW5hZ2VtZW50IHRvb2wgZm9yIFBIUCB0aGF0IGFsbG93cyB5b3UgdG8gZGVjbGFyZSB0aGUgZGVwZW5kZW5jaWVzIHlvdXIgcHJvamVjdCBuZWVkcyBhbmQgaW5zdGFsbHMgdGhlbSBpbnRvIHlvdXIKcHJvamVjdC4KCi4uIGNvZGUtYmxvY2s6OiBiYXNoCgogICAgIyBJbnN0YWxsIENvbXBvc2VyCiAgICBjdXJsIC1zUyBodHRwczovL2dldGNvbXBvc2VyLm9yZy9pbnN0YWxsZXIgfCBwaHAKCiAgICAjIEFkZCBHdXp6bGUgYXMgYSBkZXBlbmRlbmN5CiAgICBwaHAgY29tcG9zZXIucGhhciByZXF1aXJlIGd1enpsZS9ndXp6bGU6fjMuNwoKQWZ0ZXIgaW5zdGFsbGluZywgeW91IG5lZWQgdG8gcmVxdWlyZSBDb21wb3NlcidzIGF1dG9sb2FkZXI6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgcmVxdWlyZSAndmVuZG9yL2F1dG9sb2FkLnBocCc7CgpZb3UgY2FuIGZpbmQgb3V0IG1vcmUgb24gaG93IHRvIGluc3RhbGwgQ29tcG9zZXIsIGNvbmZpZ3VyZSBhdXRvbG9hZGluZywgYW5kIG90aGVyIGJlc3QtcHJhY3RpY2VzIGZvciBkZWZpbmluZwpkZXBlbmRlbmNpZXMgYXQgYGdldGNvbXBvc2VyLm9yZyA8aHR0cDovL2dldGNvbXBvc2VyLm9yZz5gXy4KClVzaW5nIG9ubHkgc3BlY2lmaWMgcGFydHMgb2YgR3V6emxlCl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCgpXaGlsZSB5b3UgY2FuIGFsd2F5cyBqdXN0IHJlbHkgb24gYGBndXp6bGUvZ3V6emxlYGAsIEd1enpsZSBwcm92aWRlcyBzZXZlcmFsIHNtYWxsZXIgcGFydHMgb2YgR3V6emxlIGFzIGluZGl2aWR1YWwKcGFja2FnZXMgYXZhaWxhYmxlIHRocm91Z2ggQ29tcG9zZXIuCgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IFBhY2thZ2UgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kwp8IGBndXp6bGUvY29tbW9uIDxodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvZ3V6emxlL2NvbW1vbj5gXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXENvbW1vbmBgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvaHR0cCA8aHR0cHM6Ly9wYWNrYWdpc3Qub3JnL3BhY2thZ2VzL2d1enpsZS9odHRwPmBfICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXEh0dHBgYCAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvcGFyc2VyIDxodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvZ3V6emxlL3BhcnNlcj5gXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXFBhcnNlcmBgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvYmF0Y2ggPGh0dHBzOi8vcGFja2FnaXN0Lm9yZy9wYWNrYWdlcy9ndXp6bGUvYmF0Y2g+YF8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXEJhdGNoYGAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvY2FjaGUgPGh0dHBzOi8vcGFja2FnaXN0Lm9yZy9wYWNrYWdlcy9ndXp6bGUvY2FjaGU+YF8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXENhY2hlYGAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvaW5mbGVjdGlvbiA8aHR0cHM6Ly9wYWNrYWdpc3Qub3JnL3BhY2thZ2VzL2d1enpsZS9pbmZsZWN0aW9uPmBfICAgICAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXEluZmxlY3Rpb25gYCAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvaXRlcmF0b3IgPGh0dHBzOi8vcGFja2FnaXN0Lm9yZy9wYWNrYWdlcy9ndXp6bGUvaXRlcmF0b3I+YF8gICAgICAgICAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXEl0ZXJhdG9yYGAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvbG9nIDxodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvZ3V6emxlL2xvZz5gXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXExvZ2BgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvcGx1Z2luIDxodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvZ3V6emxlL3BsdWdpbj5gXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXFBsdWdpbmBgIChhbGwgcGx1Z2lucykgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvcGx1Z2luLWFzeW5jIDxodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvZ3V6emxlL3BsdWdpbi1hc3luYz5gXyAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXFBsdWdpblxBc3luY2BgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvcGx1Z2luLWJhY2tvZmYgPGh0dHBzOi8vcGFja2FnaXN0Lm9yZy9wYWNrYWdlcy9ndXp6bGUvcGx1Z2luLWJhY2tvZmY+YF8gICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXFBsdWdpblxCYWNrb2ZmUGx1Z2luYGAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvcGx1Z2luLWNhY2hlIDxodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvZ3V6emxlL3BsdWdpbi1jYWNoZT5gXyAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXFBsdWdpblxDYWNoZWBgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvcGx1Z2luLWNvb2tpZSA8aHR0cHM6Ly9wYWNrYWdpc3Qub3JnL3BhY2thZ2VzL2d1enpsZS9wbHVnaW4tY29va2llPmBfICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXFBsdWdpblxDb29raWVgYCAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvcGx1Z2luLWVycm9yLXJlc3BvbnNlIDxodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvZ3V6emxlL3BsdWdpbi1lcnJvci1yZXNwb25zZT5gXyB8IFByb3ZpZGVzIGBgR3V6emxlXFBsdWdpblxFcnJvclJlc3BvbnNlYGAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvcGx1Z2luLWhpc3RvcnkgPGh0dHBzOi8vcGFja2FnaXN0Lm9yZy9wYWNrYWdlcy9ndXp6bGUvcGx1Z2luLWhpc3Rvcnk+YF8gICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXFBsdWdpblxIaXN0b3J5YGAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvcGx1Z2luLWxvZyA8aHR0cHM6Ly9wYWNrYWdpc3Qub3JnL3BhY2thZ2VzL2d1enpsZS9wbHVnaW4tbG9nPmBfICAgICAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXFBsdWdpblxMb2dgYCAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvcGx1Z2luLW1kNSA8aHR0cHM6Ly9wYWNrYWdpc3Qub3JnL3BhY2thZ2VzL2d1enpsZS9wbHVnaW4tbWQ1PmBfICAgICAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXFBsdWdpblxNZDVgYCAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvcGx1Z2luLW1vY2sgPGh0dHBzOi8vcGFja2FnaXN0Lm9yZy9wYWNrYWdlcy9ndXp6bGUvcGx1Z2luLW1vY2s+YF8gICAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXFBsdWdpblxNb2NrYGAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvcGx1Z2luLW9hdXRoIDxodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvZ3V6emxlL3BsdWdpbi1vYXV0aD5gXyAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXFBsdWdpblxPYXV0aGBgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvc2VydmljZSA8aHR0cHM6Ly9wYWNrYWdpc3Qub3JnL3BhY2thZ2VzL2d1enpsZS9zZXJ2aWNlPmBfICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXFNlcnZpY2VgYCAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGBndXp6bGUvc3RyZWFtIDxodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvZ3V6emxlL3N0cmVhbT5gXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFByb3ZpZGVzIGBgR3V6emxlXFN0cmVhbWBgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwoKQmxlZWRpbmcgZWRnZQpeXl5eXl5eXl5eXl5eCgpEdXJpbmcgeW91ciBkZXZlbG9wbWVudCwgeW91IGNhbiBrZWVwIHVwIHdpdGggdGhlIGxhdGVzdCBjaGFuZ2VzIG9uIHRoZSBtYXN0ZXIgYnJhbmNoIGJ5IHNldHRpbmcgdGhlIHZlcnNpb24KcmVxdWlyZW1lbnQgZm9yIEd1enpsZSB0byBgYGRldi1tYXN0ZXJgYC4KCi4uIGNvZGUtYmxvY2s6OiBqcwoKICAgewogICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgImd1enpsZS9ndXp6bGUiOiAiZGV2LW1hc3RlciIKICAgICAgfQogICB9CgpQRUFSCn5+fn4KCkd1enpsZSBjYW4gYmUgaW5zdGFsbGVkIHRocm91Z2ggUEVBUjoKCi4uIGNvZGUtYmxvY2s6OiBiYXNoCgogICAgcGVhciBjaGFubmVsLWRpc2NvdmVyIGd1enpsZXBocC5vcmcvcGVhcgogICAgcGVhciBpbnN0YWxsIGd1enpsZS9ndXp6bGUKCllvdSBjYW4gaW5zdGFsbCBhIHNwZWNpZmljIHZlcnNpb24gb2YgR3V6emxlIGJ5IHByb3ZpZGluZyBhIHZlcnNpb24gbnVtYmVyIHN1ZmZpeDoKCi4uIGNvZGUtYmxvY2s6OiBiYXNoCgogICAgcGVhciBpbnN0YWxsIGd1enpsZS9ndXp6bGUtMy43LjAKCkNvbnRyaWJ1dGluZyB0byBHdXp6bGUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKSW4gb3JkZXIgdG8gY29udHJpYnV0ZSwgeW91J2xsIG5lZWQgdG8gY2hlY2tvdXQgdGhlIHNvdXJjZSBmcm9tIEdpdEh1YiBhbmQgaW5zdGFsbCBHdXp6bGUncyBkZXBlbmRlbmNpZXMgdXNpbmcKQ29tcG9zZXI6CgouLiBjb2RlLWJsb2NrOjogYmFzaAoKICAgIGdpdCBjbG9uZSBodHRwczovL2dpdGh1Yi5jb20vZ3V6emxlL2d1enpsZS5naXQKICAgIGNkIGd1enpsZSAmJiBjdXJsIC1zIGh0dHA6Ly9nZXRjb21wb3Nlci5vcmcvaW5zdGFsbGVyIHwgcGhwICYmIC4vY29tcG9zZXIucGhhciBpbnN0YWxsIC0tZGV2CgpHdXp6bGUgaXMgdW5pdCB0ZXN0ZWQgd2l0aCBQSFBVbml0LiBZb3Ugd2lsbCBuZWVkIHRvIGNyZWF0ZSB5b3VyIG93biBwaHB1bml0LnhtbCBmaWxlIGluIG9yZGVyIHRvIHJ1biB0aGUgdW5pdCB0ZXN0cwoob3IganVzdCBjb3B5IHBocHVuaXQueG1sLmRpc3QgdG8gcGhwdW5pdC54bWwpLiBSdW4gdGhlIHRlc3RzIHVzaW5nIHRoZSB2ZW5kb3JlZCBQSFBVbml0IGJpbmFyeToKCi4uIGNvZGUtYmxvY2s6OiBiYXNoCgogICAgdmVuZG9yL2Jpbi9waHB1bml0CgpZb3UnbGwgbmVlZCB0byBpbnN0YWxsIG5vZGUuanMgdjAuNS4wIG9yIG5ld2VyIGluIG9yZGVyIHRvIHRlc3QgdGhlIGNVUkwgaW1wbGVtZW50YXRpb24uCgpGcmFtZXdvcmsgaW50ZWdyYXRpb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClVzaW5nIEd1enpsZSB3aXRoIFN5bWZvbnkKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKQnVuZGxlcyBhcmUgYXZhaWxhYmxlIG9uIEdpdEh1YjoKCi0gYERkZWJvZXJHdXp6bGVCdW5kbGUgPGh0dHBzOi8vZ2l0aHViLmNvbS9kZGVib2VyL0d1enpsZUJ1bmRsZT5gXyBmb3IgR3V6emxlIDIKLSBgTWlzZEd1enpsZUJ1bmRsZSA8aHR0cHM6Ly9naXRodWIuY29tL21pc2Qtc2VydmljZS1kZXZlbG9wbWVudC9ndXp6bGUtYnVuZGxlPmBfIGZvciBHdXp6bGUgMwoKVXNpbmcgR3V6emxlIHdpdGggU2lsZXgKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCkEgYEd1enpsZSBTaWxleCBzZXJ2aWNlIHByb3ZpZGVyIDxodHRwczovL2dpdGh1Yi5jb20vZ3V6emxlL2d1enpsZS1zaWxleC1leHRlbnNpb24+YF8gaXMgYXZhaWxhYmxlIG9uIEdpdEh1Yi4K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/getting-started/overview.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT0KV2VsY29tZSB0byBHdXp6bGUKPT09PT09PT09PT09PT09PT0KCldoYXQgaXMgR3V6emxlPwp+fn5+fn5+fn5+fn5+fn4KCkd1enpsZSBpcyBhIFBIUCBIVFRQIGNsaWVudCBhbmQgZnJhbWV3b3JrIGZvciBidWlsZGluZyB3ZWIgc2VydmljZSBjbGllbnRzLiBHdXp6bGUgdGFrZXMgdGhlIHBhaW4gb3V0IG9mIHNlbmRpbmcgSFRUUApyZXF1ZXN0cyBhbmQgdGhlIHJlZHVuZGFuY3kgb3V0IG9mIGNyZWF0aW5nIHdlYiBzZXJ2aWNlIGNsaWVudHMuCgpGZWF0dXJlcyBhdCBhIGdsYW5jZQotLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBBbGwgdGhlIHBvd2VyIG9mIGNVUkwgd2l0aCBhIHNpbXBsZSBpbnRlcmZhY2UuCi0gUGVyc2lzdGVudCBjb25uZWN0aW9ucyBhbmQgcGFyYWxsZWwgcmVxdWVzdHMuCi0gU3RyZWFtcyByZXF1ZXN0IGFuZCByZXNwb25zZSBib2RpZXMKLSBTZXJ2aWNlIGRlc2NyaXB0aW9ucyBmb3IgcXVpY2tseSBidWlsZGluZyBjbGllbnRzLgotIFBvd2VyZWQgYnkgdGhlIFN5bWZvbnkyIEV2ZW50RGlzcGF0Y2hlci4KLSBVc2UgYWxsIG9mIHRoZSBjb2RlIG9yIG9ubHkgc3BlY2lmaWMgY29tcG9uZW50cy4KLSBQbHVnaW5zIGZvciBjYWNoaW5nLCBsb2dnaW5nLCBPQXV0aCwgbW9ja3MsIGFuZCBtb3JlCi0gSW5jbHVkZXMgYSBjdXN0b20gbm9kZS5qcyB3ZWJzZXJ2ZXIgdG8gdGVzdCB5b3VyIGNsaWVudHMuCi0gU2VydmljZSBkZXNjcmlwdGlvbnMgZm9yIGRlZmluaW5nIHRoZSBpbnB1dHMgYW5kIG91dHB1dHMgb2YgYW4gQVBJCi0gUmVzb3VyY2UgaXRlcmF0b3JzIGZvciB0cmF2ZXJzaW5nIHBhZ2luYXRlZCByZXNvdXJjZXMKLSBCYXRjaGluZyBmb3Igc2VuZGluZyBhIGxhcmdlIG51bWJlciBvZiByZXF1ZXN0cyBhcyBlZmZpY2llbnRseSBhcyBwb3NzaWJsZQoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIFJlYWxseSBzaW1wbGUgdXNpbmcgYSBzdGF0aWMgZmFjYWRlCiAgICBHdXp6bGVcSHR0cFxTdGF0aWNDbGllbnQ6Om1vdW50KCk7CiAgICAkcmVzcG9uc2UgPSBHdXp6bGU6OmdldCgnaHR0cDovL2d1enpsZXBocC5vcmcnKTsKCiAgICAvLyBNb3JlIGNvbnRyb2wgdXNpbmcgYSBjbGllbnQgY2xhc3MKICAgICRjbGllbnQgPSBuZXcgXEd1enpsZVxIdHRwXENsaWVudCgnaHR0cDovL2d1enpsZXBocC5vcmcnKTsKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCcvJyk7CiAgICAkcmVzcG9uc2UgPSAkcmVxdWVzdC0+c2VuZCgpOwoKTGljZW5zZQotLS0tLS0tCgpMaWNlbnNlZCB1c2luZyB0aGUgYE1JVCBsaWNlbnNlIDxodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUPmBfLgoKICAgIENvcHlyaWdodCAoYykgMjAxMyBNaWNoYWVsIERvd2xpbmcgPGh0dHBzOi8vZ2l0aHViLmNvbS9tdGRvd2xpbmc+CgogICAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQogICAgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKICAgIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKICAgIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKICAgIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwogICAgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKCiAgICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgogICAgYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKICAgIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAogICAgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCiAgICBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCiAgICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAogICAgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgogICAgVEhFIFNPRlRXQVJFLgoKQ29udHJpYnV0aW5nCi0tLS0tLS0tLS0tLQoKR3VpZGVsaW5lcwp+fn5+fn5+fn5+CgpUaGlzIGlzIHN0aWxsIGEgd29yayBpbiBwcm9ncmVzcywgYnV0IHRoZXJlIGFyZSBvbmx5IGEgZmV3IHJ1bGVzOgoKMS4gR3V6emxlIGZvbGxvd3MgUFNSLTAsIFBTUi0xLCBhbmQgUFNSLTIKMi4gQWxsIHB1bGwgcmVxdWVzdHMgbXVzdCBpbmNsdWRlIHVuaXQgdGVzdHMgdG8gZW5zdXJlIHRoZSBjaGFuZ2Ugd29ya3MgYXMgZXhwZWN0ZWQgYW5kIHRvIHByZXZlbnQgZnV0dXJlIHJlZ3Jlc3Npb25zCgpSZXBvcnRpbmcgYSBzZWN1cml0eSB2dWxuZXJhYmlsaXR5Cn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCldlIHdhbnQgdG8gZW5zdXJlIHRoYXQgR3V6emxlIGlzIGEgc2VjdXJlIEhUVFAgY2xpZW50IGxpYnJhcnkgZm9yIGV2ZXJ5b25lLiBJZiB5b3UndmUgZGlzY292ZXJlZCBhIHNlY3VyaXR5CnZ1bG5lcmFiaWxpdHkgaW4gR3V6emxlLCB3ZSBhcHByZWNpYXRlIHlvdXIgaGVscCBpbiBkaXNjbG9zaW5nIGl0IHRvIHVzIGluIGEKYHJlc3BvbnNpYmxlIG1hbm5lciA8aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9SZXNwb25zaWJsZV9kaXNjbG9zdXJlPmBfLgoKUHVibGljbHkgZGlzY2xvc2luZyBhIHZ1bG5lcmFiaWxpdHkgY2FuIHB1dCB0aGUgZW50aXJlIGNvbW11bml0eSBhdCByaXNrLiBJZiB5b3UndmUgZGlzY292ZXJlZCBhIHNlY3VyaXR5IGNvbmNlcm4sCnBsZWFzZSBlbWFpbCB1cyBhdCBzZWN1cml0eUBndXp6bGVwaHAub3JnLiBXZSdsbCB3b3JrIHdpdGggeW91IHRvIG1ha2Ugc3VyZSB0aGF0IHdlIHVuZGVyc3RhbmQgdGhlIHNjb3BlIG9mIHRoZSBpc3N1ZSwKYW5kIHRoYXQgd2UgZnVsbHkgYWRkcmVzcyB5b3VyIGNvbmNlcm4uIFdlIGNvbnNpZGVyIGNvcnJlc3BvbmRlbmNlIHNlbnQgdG8gc2VjdXJpdHlAZ3V6emxlcGhwLm9yZyBvdXIgaGlnaGVzdCBwcmlvcml0eSwKYW5kIHdvcmsgdG8gYWRkcmVzcyBhbnkgaXNzdWVzIHRoYXQgYXJpc2UgYXMgcXVpY2tseSBhcyBwb3NzaWJsZS4KCkFmdGVyIGEgc2VjdXJpdHkgdnVsbmVyYWJpbGl0eSBoYXMgYmVlbiBjb3JyZWN0ZWQsIGEgc2VjdXJpdHkgaG90Zml4IHJlbGVhc2Ugd2lsbCBiZSBkZXBsb3llZCBhcyBzb29uIGFzIHBvc3NpYmxlLgo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/http-client/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/http-client/client.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT09PQpUaGUgR3V6emxlIEhUVFAgY2xpZW50Cj09PT09PT09PT09PT09PT09PT09PT0KCkd1enpsZSBnaXZlcyBQSFAgZGV2ZWxvcGVycyBjb21wbGV0ZSBjb250cm9sIG92ZXIgSFRUUCByZXF1ZXN0cyB3aGlsZSB1dGlsaXppbmcgSFRUUC8xLjEgYmVzdCBwcmFjdGljZXMuIEd1enpsZSdzIEhUVFAKZnVuY3Rpb25hbGl0eSBpcyBhIHJvYnVzdCBmcmFtZXdvcmsgYnVpbHQgb24gdG9wIG9mIHRoZSBgUEhQIGxpYmN1cmwgYmluZGluZ3MgPGh0dHA6Ly93d3cucGhwLm5ldC9jdXJsPmBfLgoKVGhlIHRocmVlIG1haW4gcGFydHMgb2YgdGhlIEd1enpsZSBIVFRQIGNsaWVudCBhcmU6CgorLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBDbGllbnRzICAgICAgfCBgYEd1enpsZVxIdHRwXENsaWVudGBgIChjcmVhdGVzIGFuZCBzZW5kcyByZXF1ZXN0cywgYXNzb2NpYXRlcyBhIHJlc3BvbnNlIHdpdGggYSByZXF1ZXN0KSAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IFJlcXVlc3RzICAgICB8IGBgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0YGAgKHJlcXVlc3RzIHdpdGggbm8gYm9keSksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKfCAgICAgICAgICAgICAgfCBgYEd1enpsZVxIdHRwXE1lc3NhZ2VcRW50aXR5RW5jbG9zaW5nUmVxdWVzdGBgIChyZXF1ZXN0cyB3aXRoIGEgYm9keSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IFJlc3BvbnNlcyAgICB8IGBgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZWBgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCgpDcmVhdGluZyBhIENsaWVudAotLS0tLS0tLS0tLS0tLS0tLQoKQ2xpZW50cyBjcmVhdGUgcmVxdWVzdHMsIHNlbmQgcmVxdWVzdHMsIGFuZCBzZXQgcmVzcG9uc2VzIG9uIGEgcmVxdWVzdCBvYmplY3QuIFdoZW4gaW5zdGFudGlhdGluZyBhIGNsaWVudCBvYmplY3QsCnlvdSBjYW4gcGFzcyBhbiBvcHRpb25hbCAiYmFzZSBVUkwiIGFuZCBvcHRpb25hbCBhcnJheSBvZiBjb25maWd1cmF0aW9uIG9wdGlvbnMuIEEgYmFzZSBVUkwgaXMgYQo6ZG9jOmBVUkkgdGVtcGxhdGUgPHVyaS10ZW1wbGF0ZXM+YCB0aGF0IGNvbnRhaW5zIHRoZSBVUkwgb2YgYSByZW1vdGUgc2VydmVyLiBXaGVuIGNyZWF0aW5nIHJlcXVlc3RzIHdpdGggYSByZWxhdGl2ZQpVUkwsIHRoZSBiYXNlIFVSTCBvZiBhIGNsaWVudCB3aWxsIGJlIG1lcmdlZCBpbnRvIHRoZSByZXF1ZXN0J3MgVVJMLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBHdXp6bGVcSHR0cFxDbGllbnQ7CgogICAgLy8gQ3JlYXRlIGEgY2xpZW50IGFuZCBwcm92aWRlIGEgYmFzZSBVUkwKICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwczovL2FwaS5naXRodWIuY29tJyk7CgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJy91c2VyJyk7CiAgICAkcmVxdWVzdC0+c2V0QXV0aCgndXNlcicsICdwYXNzJyk7CiAgICBlY2hvICRyZXF1ZXN0LT5nZXRVcmwoKTsKICAgIC8vID4+PiBodHRwczovL2FwaS5naXRodWIuY29tL3VzZXIKCiAgICAvLyBZb3UgbXVzdCBzZW5kIGEgcmVxdWVzdCBpbiBvcmRlciBmb3IgdGhlIHRyYW5zZmVyIHRvIG9jY3VyCiAgICAkcmVzcG9uc2UgPSAkcmVxdWVzdC0+c2VuZCgpOwoKICAgIGVjaG8gJHJlc3BvbnNlLT5nZXRCb2R5KCk7CiAgICAvLyA+Pj4geyJ0eXBlIjoiVXNlciIsIC4uLgoKICAgIGVjaG8gJHJlc3BvbnNlLT5nZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJyk7CiAgICAvLyA+Pj4gNzkyCgogICAgJGRhdGEgPSAkcmVzcG9uc2UtPmpzb24oKTsKICAgIGVjaG8gJGRhdGFbJ3R5cGUnXTsKICAgIC8vID4+PiBVc2VyCgpCYXNlIFVSTHMKfn5+fn5+fn5+CgpOb3RpY2UgdGhhdCB0aGUgVVJMIHByb3ZpZGVkIHRvIHRoZSBjbGllbnQncyBgYGdldCgpYGAgbWV0aG9kIGlzIHJlbGF0aXZlLiBSZWxhdGl2ZSBVUkxzIHdpbGwgYWx3YXlzIG1lcmdlIGludG8gdGhlCmJhc2UgVVJMIG9mIHRoZSBjbGllbnQuIFRoZXJlIGFyZSBhIGZldyBydWxlcyB0aGF0IGNvbnRyb2wgaG93IHRoZSBVUkxzIGFyZSBtZXJnZWQuCgouLiB0aXA6OgoKICAgIEd1enpsZSBmb2xsb3dzIGBSRkMgMzk4NiA8aHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTUuMj5gXyB3aGVuIG1lcmdpbmcgYmFzZSBVUkxzIGFuZAogICAgcmVsYXRpdmUgVVJMcy4KCkluIHRoZSBhYm92ZSBleGFtcGxlLCB3ZSBwYXNzZWQgYGAvdXNlcmBgIHRvIHRoZSBgYGdldCgpYGAgbWV0aG9kIG9mIHRoZSBjbGllbnQuIFRoaXMgaXMgYSByZWxhdGl2ZSBVUkwsIHNvIGl0IHdpbGwKbWVyZ2UgaW50byB0aGUgYmFzZSBVUkwgb2YgdGhlIGNsaWVudC0tIHJlc3VsdGluZyBpbiB0aGUgZGVyaXZlZCBVUkwgb2YgYGBodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzYGAuCgpgYC91c2VyYGAgaXMgYSByZWxhdGl2ZSBVUkwgYnV0IHVzZXMgYW4gYWJzb2x1dGUgcGF0aCBiZWNhdXNlIGl0IGNvbnRhaW5zIHRoZSBsZWFkaW5nIHNsYXNoLiBBYnNvbHV0ZSBwYXRocyB3aWxsCm92ZXJ3cml0ZSBhbnkgZXhpc3RpbmcgcGF0aCBvZiB0aGUgYmFzZSBVUkwuIElmIGFuIGFic29sdXRlIHBhdGggaXMgcHJvdmlkZWQgKGUuZy4gYGAvcGF0aC90by9zb21ldGhpbmdgYCksIHRoZW4gdGhlCnBhdGggc3BlY2lmaWVkIGluIHRoZSBiYXNlIFVSTCBvZiB0aGUgY2xpZW50IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgYWJzb2x1dGUgcGF0aCwgYW5kIHRoZSBxdWVyeSBzdHJpbmcgcHJvdmlkZWQKYnkgdGhlIHJlbGF0aXZlIFVSTCB3aWxsIHJlcGxhY2UgdGhlIHF1ZXJ5IHN0cmluZyBvZiB0aGUgYmFzZSBVUkwuCgpPbWl0dGluZyB0aGUgbGVhZGluZyBzbGFzaCBhbmQgdXNpbmcgcmVsYXRpdmUgcGF0aHMgd2lsbCBhZGQgdG8gdGhlIHBhdGggb2YgdGhlIGJhc2UgVVJMIG9mIHRoZSBjbGllbnQuIFNvIHVzaW5nIGEKY2xpZW50IGJhc2UgVVJMIG9mIGBgaHR0cHM6Ly9hcGkudHdpdHRlci5jb20vdjEuMWBgIGFuZCBjcmVhdGluZyBhIEdFVCByZXF1ZXN0IHdpdGggYGBzdGF0dXNlcy91c2VyX3RpbWVsaW5lLmpzb25gYAp3aWxsIHJlc3VsdCBpbiBhIFVSTCBvZiBgYGh0dHBzOi8vYXBpLnR3aXR0ZXIuY29tL3YxLjEvc3RhdHVzZXMvdXNlcl90aW1lbGluZS5qc29uYGAuIElmIGEgcmVsYXRpdmUgcGF0aCBhbmQgYSBxdWVyeQpzdHJpbmcgYXJlIHByb3ZpZGVkLCB0aGVuIHRoZSByZWxhdGl2ZSBwYXRoIHdpbGwgYmUgYXBwZW5kZWQgdG8gdGhlIGJhc2UgVVJMIHBhdGgsIGFuZCB0aGUgcXVlcnkgc3RyaW5nIHByb3ZpZGVkIHdpbGwKYmUgbWVyZ2VkIGludG8gdGhlIHF1ZXJ5IHN0cmluZyBvZiB0aGUgYmFzZSBVUkwuCgpJZiBhbiBhYnNvbHV0ZSBVUkwgaXMgcHJvdmlkZWQgKGUuZy4gYGBodHRwOi8vaHR0cGJpbi5vcmcvaXBgYCksIHRoZW4gdGhlIHJlcXVlc3Qgd2lsbCBjb21wbGV0ZWx5IHVzZSB0aGUgYWJzb2x1dGUgVVJMCmFzLWlzIHdpdGhvdXQgbWVyZ2luZyBpbiBhbnkgb2YgdGhlIFVSTCBwYXJ0cyBzcGVjaWZpZWQgaW4gdGhlIGJhc2UgVVJMLgoKQ29uZmlndXJhdGlvbiBvcHRpb25zCn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKVGhlIHNlY29uZCBhcmd1bWVudCBvZiB0aGUgY2xpZW50J3MgY29uc3RydWN0b3IgaXMgYW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBkYXRhLiBUaGlzIGNhbiBpbmNsdWRlIFVSSSB0ZW1wbGF0ZSBkYXRhCm9yIHNwZWNpYWwgb3B0aW9ucyB0aGF0IGFsdGVyIHRoZSBjbGllbnQncyBiZWhhdmlvcjoKCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgYGByZXF1ZXN0Lm9wdGlvbnNgYCAgICAgICAgICAgfCBBc3NvY2lhdGl2ZSBhcnJheSBvZiA6cmVmOmBSZXF1ZXN0IG9wdGlvbnMgPHJlcXVlc3Qtb3B0aW9ucz5gIHRvIGFwcGx5IHRvIGV2ZXJ5ICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCByZXF1ZXN0IGNyZWF0ZWQgYnkgdGhlIGNsaWVudC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgYGByZWRpcmVjdC5kaXNhYmxlYGAgICAgICAgICAgfCBEaXNhYmxlIEhUVFAgcmVkaXJlY3RzIGZvciBldmVyeSByZXF1ZXN0IGNyZWF0ZWQgYnkgdGhlIGNsaWVudC4gICAgICAgICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgYGBjdXJsLm9wdGlvbnNgYCAgICAgICAgICAgICAgfCBBc3NvY2lhdGl2ZSBhcnJheSBvZiBjVVJMIG9wdGlvbnMgdG8gYXBwbHkgdG8gZXZlcnkgcmVxdWVzdCBjcmVhdGVkIGJ5IHRoZSBjbGllbnQuICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBpZiBlaXRoZXIgdGhlIGtleSBvciB2YWx1ZSBvZiBhbiBlbnRyeSBpbiB0aGUgYXJyYXkgaXMgYSBzdHJpbmcsIEd1enpsZSB3aWxsICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhdHRlbXB0IHRvIGZpbmQgYSBtYXRjaGluZyBkZWZpbmVkIGNVUkwgY29uc3RhbnQgYXV0b21hdGljYWxseSAoZS5nLiAgICAgICAgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAiQ1VSTE9QVF9QUk9YWSIgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gdGhlIGNvbnN0YW50IGBgQ1VSTE9QVF9QUk9YWWBgKS4gICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgYGBzc2wuY2VydGlmaWNhdGVfYXV0aG9yaXR5YGAgfCBTZXQgdG8gdHJ1ZSB0byB1c2UgdGhlIEd1enpsZSBidW5kbGVkIFNTTCBjZXJ0aWZpY2F0ZSBidW5kbGUgKHRoaXMgaXMgdXNlZCBieSAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBkZWZhdWx0LCAnc3lzdGVtJyB0byB1c2UgdGhlIGJ1bmRsZSBvbiB5b3VyIHN5c3RlbSwgYSBzdHJpbmcgcG9pbnRpbmcgdG8gYSBmaWxlIHRvICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB1c2UgYSBzcGVjaWZpYyBjZXJ0aWZpY2F0ZSBmaWxlLCBhIHN0cmluZyBwb2ludGluZyB0byBhIGRpcmVjdG9yeSB0byB1c2UgbXVsdGlwbGUgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBjZXJ0aWZpY2F0ZXMsIG9yIGBgZmFsc2VgYCB0byBkaXNhYmxlIFNTTCB2YWxpZGF0aW9uIChub3QgcmVjb21tZW5kZWQpLiAgICAgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBXaGVuIHVzaW5nICBHdXp6bGUgaW5zaWRlIG9mIGEgcGhhciBmaWxlLCB0aGUgYnVuZGxlZCBTU0wgY2VydGlmaWNhdGUgd2lsbCBiZSAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBleHRyYWN0ZWQgdG8geW91ciBzeXN0ZW0ncyB0ZW1wIGZvbGRlciwgYW5kIGVhY2ggdGltZSBhIGNsaWVudCBpcyBjcmVhdGVkIGFuIE1ENSAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBjaGVjayB3aWxsIGJlIHBlcmZvcm1lZCB0byBlbnN1cmUgdGhlIGludGVncml0eSBvZiB0aGUgY2VydGlmaWNhdGUuICAgICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgYGBjb21tYW5kLnBhcmFtc2BgICAgICAgICAgICAgfCBXaGVuIHVzaW5nIGEgYGBHdXp6bGVcU2VydmljZVxDbGllbnRgYCBvYmplY3QsIHRoaXMgaXMgYW4gYXNzb2NpYXRpdmUgYXJyYXkgb2YgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBkZWZhdWx0IG9wdGlvbnMgdG8gc2V0IG9uIGVhY2ggY29tbWFuZCBjcmVhdGVkIGJ5IHRoZSBjbGllbnQuICAgICAgICAgICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCgpIZXJlJ3MgYW4gZXhhbXBsZSBzaG93aW5nIGhvdyB0byBzZXQgdmFyaW91cyBjb25maWd1cmF0aW9uIG9wdGlvbnMsIGluY2x1ZGluZyBkZWZhdWx0IGhlYWRlcnMgdG8gc2VuZCB3aXRoIGVhY2ggcmVxdWVzdCwKZGVmYXVsdCBxdWVyeSBzdHJpbmcgcGFyYW1ldGVycyB0byBhZGQgdG8gZWFjaCByZXF1ZXN0LCBhIGRlZmF1bHQgYXV0aCBzY2hlbWUgZm9yIGVhY2ggcmVxdWVzdCwgYW5kIGEgcHJveHkgdG8gdXNlIGZvcgplYWNoIHJlcXVlc3QuIFZhbHVlcyBjYW4gYmUgaW5qZWN0ZWQgaW50byB0aGUgY2xpZW50J3MgYmFzZSBVUkwgdXNpbmcgdmFyaWFibGVzIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gYXJyYXkuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxIdHRwXENsaWVudDsKCiAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cHM6Ly9hcGkudHdpdHRlci5jb20ve3ZlcnNpb259JywgYXJyYXkoCiAgICAgICAgJ3ZlcnNpb24nICAgICAgICA9PiAndjEuMScsCiAgICAgICAgJ3JlcXVlc3Qub3B0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICdoZWFkZXJzJyA9PiBhcnJheSgnRm9vJyA9PiAnQmFyJyksCiAgICAgICAgICAgICdxdWVyeScgICA9PiBhcnJheSgndGVzdGluZycgPT4gJzEyMycpLAogICAgICAgICAgICAnYXV0aCcgICAgPT4gYXJyYXkoJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgJ0Jhc2ljfERpZ2VzdHxOVExNfEFueScpLAogICAgICAgICAgICAncHJveHknICAgPT4gJ3RjcDovL2xvY2FsaG9zdDo4MCcKICAgICAgICApCiAgICApKTsKClNldHRpbmcgYSBjdXN0b20gVXNlci1BZ2VudAp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KClRoZSBkZWZhdWx0IEd1enpsZSBVc2VyLUFnZW50IGhlYWRlciBpcyBgYEd1enpsZS88R3V6emxlX1ZlcnNpb24+IGN1cmwvPGN1cmxfdmVyc2lvbj4gUEhQLzxQSFBfVkVSU0lPTj5gYC4gWW91IGNhbgpjdXN0b21pemUgdGhlIFVzZXItQWdlbnQgaGVhZGVyIG9mIGEgY2xpZW50IGJ5IGNhbGxpbmcgdGhlIGBgc2V0VXNlckFnZW50KClgYCBtZXRob2Qgb2YgYSBDbGllbnQgb2JqZWN0LgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIENvbXBsZXRlbHkgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgVXNlci1BZ2VudAogICAgJGNsaWVudC0+c2V0VXNlckFnZW50KCdUZXN0LzEyMycpOwoKICAgIC8vIFByZXBlbmQgYSBzdHJpbmcgdG8gdGhlIGRlZmF1bHQgVXNlci1BZ2VudAogICAgJGNsaWVudC0+c2V0VXNlckFnZW50KCdUZXN0LzEyMycsIHRydWUpOwoKQ3JlYXRpbmcgcmVxdWVzdHMgd2l0aCBhIGNsaWVudAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpBIENsaWVudCBvYmplY3QgZXhwb3NlcyBzZXZlcmFsIG1ldGhvZHMgdXNlZCB0byBjcmVhdGUgUmVxdWVzdCBvYmplY3RzOgoKKiBDcmVhdGUgYSBjdXN0b20gSFRUUCByZXF1ZXN0OiBgYCRjbGllbnQtPmNyZWF0ZVJlcXVlc3QoJG1ldGhvZCwgJHVyaSwgYXJyYXkgJGhlYWRlcnMsICRib2R5LCAkb3B0aW9ucylgYAoqIENyZWF0ZSBhIEdFVCByZXF1ZXN0OiBgYCRjbGllbnQtPmdldCgkdXJpLCBhcnJheSAkaGVhZGVycywgJG9wdGlvbnMpYGAKKiBDcmVhdGUgYSBIRUFEIHJlcXVlc3Q6IGBgJGNsaWVudC0+aGVhZCgkdXJpLCBhcnJheSAkaGVhZGVycywgJG9wdGlvbnMpYGAKKiBDcmVhdGUgYSBERUxFVEUgcmVxdWVzdDogYGAkY2xpZW50LT5kZWxldGUoJHVyaSwgYXJyYXkgJGhlYWRlcnMsICRib2R5LCAkb3B0aW9ucylgYAoqIENyZWF0ZSBhIFBPU1QgcmVxdWVzdDogYGAkY2xpZW50LT5wb3N0KCR1cmksIGFycmF5ICRoZWFkZXJzLCAkcG9zdEJvZHksICRvcHRpb25zKWBgCiogQ3JlYXRlIGEgUFVUIHJlcXVlc3Q6IGBgJGNsaWVudC0+cHV0KCR1cmksIGFycmF5ICRoZWFkZXJzLCAkYm9keSwgJG9wdGlvbnMpYGAKKiBDcmVhdGUgYSBQQVRDSCByZXF1ZXN0OiBgYCRjbGllbnQtPnBhdGNoKCR1cmksIGFycmF5ICRoZWFkZXJzLCAkYm9keSwgJG9wdGlvbnMpYGAKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXEh0dHBcQ2xpZW50OwoKICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vYmFzZXVybC5jb20vYXBpL3YxJyk7CgogICAgLy8gQ3JlYXRlIGEgR0VUIHJlcXVlc3QgdXNpbmcgUmVsYXRpdmUgdG8gYmFzZSBVUkwKICAgIC8vIFVSTCBvZiB0aGUgcmVxdWVzdDogaHR0cDovL2Jhc2V1cmwuY29tL2FwaS92MS9wYXRoP3F1ZXJ5PTEyMyZ2YWx1ZT1hYmMpCiAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgncGF0aD9xdWVyeT0xMjMmdmFsdWU9YWJjJyk7CiAgICAkcmVzcG9uc2UgPSAkcmVxdWVzdC0+c2VuZCgpOwoKICAgIC8vIENyZWF0ZSBIRUFEIHJlcXVlc3QgdXNpbmcgYSByZWxhdGl2ZSBVUkwgd2l0aCBhbiBhYnNvbHV0ZSBwYXRoCiAgICAvLyBVUkwgb2YgdGhlIHJlcXVlc3Q6IGh0dHA6Ly9iYXNldXJsLmNvbS9wYXRoP3F1ZXJ5PTEyMyZ2YWx1ZT1hYmMKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+aGVhZCgnL3BhdGg/cXVlcnk9MTIzJnZhbHVlPWFiYycpOwogICAgJHJlc3BvbnNlID0gJHJlcXVlc3QtPnNlbmQoKTsKCiAgICAvLyBDcmVhdGUgYSBERUxFVEUgcmVxdWVzdCB1c2luZyBhbiBhYnNvbHV0ZSBVUkwKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+ZGVsZXRlKCdodHRwOi8vd3d3LmV4YW1wbGUuY29tL3BhdGg/cXVlcnk9MTIzJnZhbHVlPWFiYycpOwogICAgJHJlc3BvbnNlID0gJHJlcXVlc3QtPnNlbmQoKTsKCiAgICAvLyBDcmVhdGUgYSBQVVQgcmVxdWVzdCB1c2luZyB0aGUgY29udGVudHMgb2YgYSBQSFAgc3RyZWFtIGFzIHRoZSBib2R5CiAgICAvLyBTcGVjaWZ5IGN1c3RvbSBIVFRQIGhlYWRlcnMKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+cHV0KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tL3VwbG9hZCcsIGFycmF5KAogICAgICAgICdYLUhlYWRlcicgPT4gJ015IEhlYWRlcicKICAgICksIGZvcGVuKCdodHRwOi8vd3d3LnRlc3QuY29tLycsICdyJykpOwogICAgJHJlc3BvbnNlID0gJHJlcXVlc3QtPnNlbmQoKTsKCiAgICAvLyBDcmVhdGUgYSBQT1NUIHJlcXVlc3QgYW5kIGFkZCB0aGUgUE9TVCBmaWxlcyBtYW51YWxseQogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wb3N0KCdodHRwOi8vbG9jYWxob3N0Ojg5ODMvc29sci91cGRhdGUnKQogICAgICAgIC0+YWRkUG9zdEZpbGVzKGFycmF5KCdmaWxlJyA9PiAnL3BhdGgvdG8vZG9jdW1lbnRzLnhtbCcpKTsKICAgICRyZXNwb25zZSA9ICRyZXF1ZXN0LT5zZW5kKCk7CgogICAgLy8gQ2hlY2sgaWYgYSByZXNvdXJjZSBzdXBwb3J0cyB0aGUgREVMRVRFIG1ldGhvZAogICAgJHN1cHBvcnRzRGVsZXRlID0gJGNsaWVudC0+b3B0aW9ucygnL3BhdGgnKS0+c2VuZCgpLT5pc01ldGhvZEFsbG93ZWQoJ0RFTEVURScpOwogICAgJHJlc3BvbnNlID0gJHJlcXVlc3QtPnNlbmQoKTsKCkNsaWVudCBvYmplY3RzIGNyZWF0ZSBSZXF1ZXN0IG9iamVjdHMgdXNpbmcgYSByZXF1ZXN0IGZhY3RvcnkgKGBgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0RmFjdG9yeUludGVyZmFjZWBgKS4KWW91IGNhbiBpbmplY3QgYSBjdXN0b20gcmVxdWVzdCBmYWN0b3J5IGludG8gdGhlIENsaWVudCB1c2luZyBgYCRjbGllbnQtPnNldFJlcXVlc3RGYWN0b3J5KClgYCwgYnV0IHlvdSBjYW4gdHlwaWNhbGx5CnJlbHkgb24gYSBDbGllbnQncyBkZWZhdWx0IHJlcXVlc3QgZmFjdG9yeS4KClN0YXRpYyBjbGllbnRzCi0tLS0tLS0tLS0tLS0tCgpZb3UgY2FuIHVzZSBHdXp6bGUncyBzdGF0aWMgY2xpZW50IGZhY2FkZSB0byBtb3JlIGVhc2lseSBzZW5kIHNpbXBsZSBIVFRQIHJlcXVlc3RzLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIE1vdW50IHRoZSBjbGllbnQgc28gdGhhdCB5b3UgY2FuIGFjY2VzcyBpdCBhdCBcR3V6emxlCiAgICBHdXp6bGVcSHR0cFxTdGF0aWNDbGllbnQ6Om1vdW50KCk7CiAgICAkcmVzcG9uc2UgPSBHdXp6bGU6OmdldCgnaHR0cDovL2d1enpsZXBocC5vcmcnKTsKCkVhY2ggcmVxdWVzdCBtZXRob2Qgb2YgdGhlIHN0YXRpYyBjbGllbnQgKGUuZy4gYGBnZXQoKWBgLCBgYHBvc3QoKWAsIGBgcHV0KClgYCwgZXRjKSBhY2NlcHRzIGFuIGFzc29jaWF0aXZlIGFycmF5IG9mIHJlcXVlc3QKb3B0aW9ucyB0byBhcHBseSB0byB0aGUgcmVxdWVzdC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkcmVzcG9uc2UgPSBHdXp6bGU6OnBvc3QoJ2h0dHA6Ly90ZXN0LmNvbScsIGFycmF5KAogICAgICAgICdoZWFkZXJzJyA9PiBhcnJheSgnWC1Gb28nID0+ICdCYXInKSwKICAgICAgICAnYm9keScgICAgPT4gYXJyYXkoJ1Rlc3QnID0+ICcxMjMnKSwKICAgICAgICAndGltZW91dCcgPT4gMTAKICAgICkpOwoKLi4gX3JlcXVlc3Qtb3B0aW9uczoKClJlcXVlc3Qgb3B0aW9ucwotLS0tLS0tLS0tLS0tLS0KClJlcXVlc3Qgb3B0aW9ucyBjYW4gYmUgc3BlY2lmaWVkIHdoZW4gY3JlYXRpbmcgYSByZXF1ZXN0IG9yIGluIHRoZSBgYHJlcXVlc3Qub3B0aW9uc2BgIHBhcmFtZXRlciBvZiBhIGNsaWVudC4gVGhlc2UKb3B0aW9ucyBjYW4gY29udHJvbCB2YXJpb3VzIGFzcGVjdHMgb2YgYSByZXF1ZXN0IGluY2x1ZGluZzogaGVhZGVycyB0byBzZW5kLCBxdWVyeSBzdHJpbmcgZGF0YSwgd2hlcmUgdGhlIHJlc3BvbnNlCnNob3VsZCBiZSBkb3dubG9hZGVkLCBwcm94aWVzLCBhdXRoLCBldGMuCgpoZWFkZXJzCn5+fn5+fn4KCkFzc29jaWF0aXZlIGFycmF5IG9mIGhlYWRlcnMgdG8gYXBwbHkgdG8gdGhlIHJlcXVlc3QuIFdoZW4gc3BlY2lmaWVkIGluIHRoZSBgYCRvcHRpb25zYGAgYXJndW1lbnQgb2YgYSBjbGllbnQgY3JlYXRpb25hbAptZXRob2QgKGUuZy4gYGBnZXQoKWBgLCBgYHBvc3QoKWBgLCBldGMpLCB0aGUgaGVhZGVycyBpbiB0aGUgYGAkb3B0aW9uc2BgIGFycmF5IHdpbGwgb3ZlcndyaXRlIGhlYWRlcnMgc3BlY2lmaWVkIGluIHRoZQpgYCRoZWFkZXJzYGAgYXJyYXkuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJHVybCwgYXJyYXkoKSwgYXJyYXkoCiAgICAgICAgJ2hlYWRlcnMnID0+IGFycmF5KCdYLUZvbycgPT4gJ0JhcicpCiAgICApKTsKCkhlYWRlcnMgY2FuIGJlIHNwZWNpZmllZCBvbiBhIGNsaWVudCB0byBhZGQgZGVmYXVsdCBoZWFkZXJzIHRvIGV2ZXJ5IHJlcXVlc3Qgc2VudCBieSBhIGNsaWVudC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY2xpZW50ID0gbmV3IEd1enpsZVxIdHRwXENsaWVudCgpOwoKICAgIC8vIFNldCBhIHNpbmdsZSBoZWFkZXIgdXNpbmcgcGF0aCBzeW50YXgKICAgICRjbGllbnQtPnNldERlZmF1bHRPcHRpb24oJ2hlYWRlcnMvWC1Gb28nLCAnQmFyJyk7CgogICAgLy8gU2V0IGFsbCBoZWFkZXJzCiAgICAkY2xpZW50LT5zZXREZWZhdWx0T3B0aW9uKCdoZWFkZXJzJywgYXJyYXkoJ1gtRm9vJyA9PiAnQmFyJykpOwoKLi4gbm90ZTo6CgogICAgSW4gYWRkaXRpb24gdG8gc2V0dGluZyByZXF1ZXN0IG9wdGlvbnMgd2hlbiBjcmVhdGluZyByZXF1ZXN0cyBvciB1c2luZyB0aGUgYGBzZXREZWZhdWx0T3B0aW9uKClgYCBtZXRob2QsIGFueQogICAgZGVmYXVsdCBjbGllbnQgcmVxdWVzdCBvcHRpb24gY2FuIGJlIHNldCB1c2luZyBhIGNsaWVudCdzIGNvbmZpZyBvYmplY3Q6CgogICAgLi4gY29kZS1ibG9jazo6IHBocAoKICAgICAgICAkY2xpZW50LT5nZXRDb25maWcoKS0+c2V0UGF0aCgncmVxdWVzdC5vcHRpb25zL2hlYWRlcnMvWC1Gb28nLCAnQmFyJyk7CgpxdWVyeQp+fn5+fgoKQXNzb2NpYXRpdmUgYXJyYXkgb2YgcXVlcnkgc3RyaW5nIHBhcmFtZXRlcnMgdG8gdGhlIHJlcXVlc3QuIFdoZW4gc3BlY2lmaWVkIGluIHRoZSBgYCRvcHRpb25zYGAgYXJndW1lbnQgb2YgYSBjbGllbnQKY3JlYXRpb25hbCBtZXRob2QsIHRoZSBxdWVyeSBzdHJpbmcgcGFyYW1ldGVycyBpbiB0aGUgYGAkb3B0aW9uc2BgIGFycmF5IHdpbGwgb3ZlcndyaXRlIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzCnNwZWNpZmllZCBpbiB0aGUgYCR1cmxgLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCR1cmwsIGFycmF5KCksIGFycmF5KAogICAgICAgICdxdWVyeScgPT4gYXJyYXkoJ2FiYycgPT4gJzEyMycpCiAgICApKTsKClF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzIGNhbiBiZSBzcGVjaWZpZWQgb24gYSBjbGllbnQgdG8gYWRkIGRlZmF1bHQgcXVlcnkgc3RyaW5nIHBhcmFtZXRlcnMgdG8gZXZlcnkgcmVxdWVzdCBzZW50IGJ5IGEKY2xpZW50LgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjbGllbnQgPSBuZXcgR3V6emxlXEh0dHBcQ2xpZW50KCk7CgogICAgLy8gU2V0IGEgc2luZ2xlIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXIgdXNpbmcgcGF0aCBzeW50YXgKICAgICRjbGllbnQtPnNldERlZmF1bHRPcHRpb24oJ3F1ZXJ5L2FiYycsICcxMjMnKTsKCiAgICAvLyBTZXQgYW4gYXJyYXkgb2YgZGVmYXVsdCBxdWVyeSBzdHJpbmcgcGFyYW1ldGVycwogICAgJGNsaWVudC0+c2V0RGVmYXVsdE9wdGlvbigncXVlcnknLCBhcnJheSgnYWJjJyA9PiAnMTIzJykpOwoKYm9keQp+fn5+CgpTZXRzIHRoZSBib2R5IG9mIGEgcmVxdWVzdC4gVGhlIHZhbHVlIHN1cHBsaWVkIHRvIHRoZSBib2R5IG9wdGlvbiBjYW4gYmUgYSBgYEd1enpsZVxIdHRwXEVudGl0eUJvZHlJbnRlcmZhY2VgYCwgc3RyaW5nLApmb3BlbiByZXNvdXJjZSwgb3IgYXJyYXkgd2hlbiBzZW5kaW5nIFBPU1QgcmVxdWVzdHMuIFdoZW4gYSBgYGJvZHlgYCByZXF1ZXN0IG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIG9wdGlvbiB2YWx1ZSB3aWxsCm92ZXJ3cml0ZSB0aGUgYGAkYm9keWBgIGFyZ3VtZW50IG9mIGEgY2xpZW50IGNyZWF0aW9uYWwgbWV0aG9kLgoKYXV0aAp+fn5+CgpTcGVjaWZpZXMgYW5kIGFycmF5IG9mIEhUVFAgYXV0aG9yaXphdGlvbiBwYXJhbWV0ZXJzIHBhcmFtZXRlcnMgdG8gdXNlIHdpdGggdGhlIHJlcXVlc3QuIFRoZSBhcnJheSBtdXN0IGNvbnRhaW4gdGhlCnVzZXJuYW1lIGluIGluZGV4IFswXSwgdGhlIHBhc3N3b3JkIGluIGluZGV4IFsxXSwgYW5kIGNhbiBvcHRpb25hbGx5IGNvbnRhaW4gdGhlIGF1dGhlbnRpY2F0aW9uIHR5cGUgaW4gaW5kZXggWzJdLgpUaGUgYXZhaWxhYmxlIGF1dGhlbnRpY2F0aW9uIHR5cGVzIGFyZTogIkJhc2ljIiAoZGVmYXVsdCksICJEaWdlc3QiLCAiTlRMTSIsIG9yICJBbnkiLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCR1cmwsIGFycmF5KCksIGFycmF5KAogICAgICAgICdhdXRoJyA9PiBhcnJheSgndXNlcm5hbWUnLCAncGFzc3dvcmQnLCAnRGlnZXN0JykKICAgICkpOwoKICAgIC8vIFlvdSBjYW4gYWRkIGF1dGggaGVhZGVycyB0byBldmVyeSByZXF1ZXN0IG9mIGEgY2xpZW50CiAgICAkY2xpZW50LT5zZXREZWZhdWx0T3B0aW9uKCdhdXRoJywgYXJyYXkoJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgJ0RpZ2VzdCcpKTsKCmNvb2tpZXMKfn5+fn5+fgoKU3BlY2lmaWVzIGFuIGFzc29jaWF0aXZlIGFycmF5IG9mIGNvb2tpZXMgdG8gYWRkIHRvIHRoZSByZXF1ZXN0LgoKYWxsb3dfcmVkaXJlY3RzCn5+fn5+fn5+fn5+fn5+fgoKU3BlY2lmaWVzIHdoZXRoZXIgb3Igbm90IHRoZSByZXF1ZXN0IHNob3VsZCBmb2xsb3cgcmVkaXJlY3RzLiBSZXF1ZXN0cyB3aWxsIGZvbGxvdyByZWRpcmVjdHMgYnkgZGVmYXVsdC4gU2V0CmBgYWxsb3dfcmVkaXJlY3RzYGAgdG8gYGBmYWxzZWBgIHRvIGRpc2FibGUgcmVkaXJlY3RzLgoKc2F2ZV90bwp+fn5+fn5+CgpUaGUgYGBzYXZlX3RvYGAgb3B0aW9uIHNwZWNpZmllcyB3aGVyZSB0aGUgYm9keSBvZiBhIHJlc3BvbnNlIGlzIGRvd25sb2FkZWQuIFlvdSBjYW4gcGFzcyB0aGUgcGF0aCB0byBhIGZpbGUsIGFuIGZvcGVuCnJlc291cmNlLCBvciBhIGBgR3V6emxlXEh0dHBcRW50aXR5Qm9keUludGVyZmFjZWBgIG9iamVjdC4KClNlZSA6cmVmOmBDaGFuZ2luZyB3aGVyZSBhIHJlc3BvbnNlIGlzIGRvd25sb2FkZWQgPHJlcXVlc3Qtc2V0LXJlc3BvbnNlLWJvZHk+YCBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzZXR0aW5nIHRoZQpgc2F2ZV90b2Agb3B0aW9uLgoKZXZlbnRzCn5+fn5+fgoKVGhlIGBldmVudHNgIG9wdGlvbiBtYWtlcyBpdCBlYXN5IHRvIGF0dGFjaCBsaXN0ZW5lcnMgdG8gdGhlIHZhcmlvdXMgZXZlbnRzIGVtaXR0ZWQgYnkgYSByZXF1ZXN0IG9iamVjdC4gVGhlIGBldmVudHNgCm9wdGlvbnMgbXVzdCBiZSBhbiBhc3NvY2lhdGl2ZSBhcnJheSBtYXBwaW5nIGFuIGV2ZW50IG5hbWUgdG8gYSBDbG9zdXJlIG9yIGFycmF5IHRoZSBjb250YWlucyBhIENsb3N1cmUgYW5kIHRoZQpwcmlvcml0eSBvZiB0aGUgZXZlbnQuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJHVybCwgYXJyYXkoKSwgYXJyYXkoCiAgICAgICAgJ2V2ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICdyZXF1ZXN0LmJlZm9yZV9zZW5kJyA9PiBmdW5jdGlvbiAoXEd1enpsZVxDb21tb25cRXZlbnQgJGUpIHsKICAgICAgICAgICAgICAgIGVjaG8gJ0Fib3V0IHRvIHNlbmQgJyAuICRlWydyZXF1ZXN0J107CiAgICAgICAgICAgIH0KICAgICAgICApCiAgICApKTsKCiAgICAvLyBVc2luZyB0aGUgc3RhdGljIGNsaWVudDoKICAgIEd1enpsZTo6Z2V0KCR1cmwsIGFycmF5KAogICAgICAgICdldmVudHMnID0+IGFycmF5KAogICAgICAgICAgICAncmVxdWVzdC5iZWZvcmVfc2VuZCcgPT4gZnVuY3Rpb24gKFxHdXp6bGVcQ29tbW9uXEV2ZW50ICRlKSB7CiAgICAgICAgICAgICAgICBlY2hvICdBYm91dCB0byBzZW5kICcgLiAkZVsncmVxdWVzdCddOwogICAgICAgICAgICB9CiAgICAgICAgKQogICAgKSk7CgpwbHVnaW5zCn5+fn5+fn4KClRoZSBgcGx1Z2luc2Agb3B0aW9ucyBtYWtlcyBpdCBlYXN5IHRvIGF0dGFjaCBhbiBhcnJheSBvZiBwbHVnaW5zIHRvIGEgcmVxdWVzdC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAvLyBVc2luZyB0aGUgc3RhdGljIGNsaWVudDoKICAgIEd1enpsZTo6Z2V0KCR1cmwsIGFycmF5KAogICAgICAgICdwbHVnaW5zJyA9PiBhcnJheSgKICAgICAgICAgICAgbmV3IEd1enpsZVxQbHVnaW5cQ2FjaGVcQ2FjaGVQbHVnaW4oKSwKICAgICAgICAgICAgbmV3IEd1enpsZVxQbHVnaW5cQ29va2llXENvb2tpZVBsdWdpbigpCiAgICAgICAgKQogICAgKSk7CgpleGNlcHRpb25zCn5+fn5+fn5+fn4KClRoZSBgZXhjZXB0aW9uc2Agb3B0aW9uIGNhbiBiZSB1c2VkIHRvIGRpc2FibGUgdGhyb3dpbmcgZXhjZXB0aW9ucyBmb3IgdW5zdWNjZXNzZnVsIEhUVFAgcmVzcG9uc2UgY29kZXMKKGUuZy4gNDA0LCA1MDAsIGV0YykuIFNldCBgZXhjZXB0aW9uc2AgdG8gZmFsc2UgdG8gbm90IHRocm93IGV4Y2VwdGlvbnMuCgpwYXJhbXMKfn5+fn5+CgpUaGUgYHBhcmFtc2Agb3B0aW9ucyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGFuIGFzc29jaWF0aXZlIGFycmF5IG9mIGRhdGEgcGFyYW1ldGVycyB0byBhZGQgdG8gYSByZXF1ZXN0LiAgTm90ZSB0aGF0CnRoZXNlIGFyZSBub3QgcXVlcnkgc3RyaW5nIHBhcmFtZXRlcnMuCgp0aW1lb3V0IC8gY29ubmVjdF90aW1lb3V0Cn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCllvdSBjYW4gc3BlY2lmeSB0aGUgbWF4aW11bSBudW1iZXIgb2Ygc2Vjb25kcyB0byBhbGxvdyBmb3IgYW4gZW50aXJlIHRyYW5zZmVyIHRvIHRha2UgcGxhY2UgYmVmb3JlIHRpbWluZyBvdXQgdXNpbmcKdGhlIGB0aW1lb3V0YCByZXF1ZXN0IG9wdGlvbi4gWW91IGNhbiBzcGVjaWZ5IHRoZSBtYXhpbXVtIG51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgd2hpbGUgdHJ5aW5nIHRvIGNvbm5lY3QgdXNpbmcgdGhlCmBjb25uZWN0X3RpbWVvdXRgIHJlcXVlc3Qgb3B0aW9uLiBTZXQgZWl0aGVyIG9mIHRoZXNlIG9wdGlvbnMgdG8gMCB0byB3YWl0IGluZGVmaW5pdGVseS4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnaHR0cDovL3d3dy5leGFtcGxlLmNvbScsIGFycmF5KCksIGFycmF5KAogICAgICAgICd0aW1lb3V0JyAgICAgICAgID0+IDIwLAogICAgICAgICdjb25uZWN0X3RpbWVvdXQnID0+IDEuNQogICAgKSk7Cgp2ZXJpZnkKfn5+fn5+CgpTZXQgdG8gdHJ1ZSB0byBlbmFibGUgU1NMIGNlcnRpZmljYXRlIHZhbGlkYXRpb24gKHRoZSBkZWZhdWx0KSwgZmFsc2UgdG8gZGlzYWJsZSBTU0wgY2VydGlmaWNhdGUgdmFsaWRhdGlvbiwgb3Igc3VwcGx5CnRoZSBwYXRoIHRvIGEgQ0EgYnVuZGxlIHRvIGVuYWJsZSB2ZXJpZmljYXRpb24gdXNpbmcgYSBjdXN0b20gY2VydGlmaWNhdGUuCgpjZXJ0Cn5+fn4KClRoZSBgY2VydGAgb3B0aW9uIGxldHMgeW91IHNwZWNpZnkgYSBQRU0gZm9ybWF0dGVkIFNTTCBjbGllbnQgY2VydGlmaWNhdGUgdG8gdXNlIHdpdGggc2VydmVycyB0aGF0IHJlcXVpcmUgb25lLiBJZiB0aGUKY2VydGlmaWNhdGUgcmVxdWlyZXMgYSBwYXNzd29yZCwgcHJvdmlkZSBhbiBhcnJheSB3aXRoIHRoZSBwYXNzd29yZCBhcyB0aGUgc2Vjb25kIGl0ZW0uCgpUaGlzIHdvdWxkIHR5cGljYWxseSBiZSB1c2VkIGluIGNvbmp1Y3Rpb24gd2l0aCB0aGUgYHNzbF9rZXlgIG9wdGlvbi4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20nLCBhcnJheSgpLCBhcnJheSgKICAgICAgICAnY2VydCcgPT4gJy9ldGMvcGtpL2NsaWVudF9jZXJ0aWZpY2F0ZS5wZW0nCiAgICApCgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJ2h0dHBzOi8vd3d3LmV4YW1wbGUuY29tJywgYXJyYXkoKSwgYXJyYXkoCiAgICAgICAgJ2NlcnQnID0+IGFycmF5KCcvZXRjL3BraS9jbGllbnRfY2VydGlmaWNhdGUucGVtJywgJ3MzY3IzdHA0NTV3MHJkJykKICAgICkKCnNzbF9rZXkKfn5+fn5+fgoKVGhlIGBzc2xfa2V5YCBvcHRpb24gbGV0cyB5b3Ugc3BlY2lmeSBhIGZpbGUgY29udGFpbmluZyB5b3VyIFBFTSBmb3JtYXR0ZWQgcHJpdmF0ZSBrZXksIG9wdGlvbmFsbHkgcHJvdGVjdGVkIGJ5IGEgcGFzc3dvcmQuCk5vdGU6IHlvdXIgcGFzc3dvcmQgaXMgc2Vuc2l0aXZlLCBrZWVwIHRoZSBQSFAgc2NyaXB0IGNvbnRhaW5pbmcgaXQgc2FmZS4KClRoaXMgd291bGQgdHlwaWNhbGx5IGJlIHVzZWQgaW4gY29uanVjdGlvbiB3aXRoIHRoZSBgY2VydGAgb3B0aW9uLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCdodHRwczovL3d3dy5leGFtcGxlLmNvbScsIGFycmF5KCksIGFycmF5KAogICAgICAgICdzc2xfa2V5JyA9PiAnL2V0Yy9wa2kvcHJpdmF0ZV9rZXkucGVtJwogICAgKQoKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCdodHRwczovL3d3dy5leGFtcGxlLmNvbScsIGFycmF5KCksIGFycmF5KAogICAgICAgICdzc2xfa2V5JyA9PiBhcnJheSgnL2V0Yy9wa2kvcHJpdmF0ZV9rZXkucGVtJywgJ3MzY3IzdHA0NTV3MHJkJykKICAgICkKCnByb3h5Cn5+fn5+CgpUaGUgYHByb3h5YCBvcHRpb24gaXMgdXNlZCB0byBzcGVjaWZ5IGFuIEhUVFAgcHJveHkgKGUuZy4gYGh0dHA6Ly91c2VybmFtZTpwYXNzd29yZEAxOTIuMTY4LjE2LjE6MTBgKS4KCmRlYnVnCn5+fn5+CgpUaGUgYGRlYnVnYCBvcHRpb24gaXMgdXNlZCB0byBzaG93IHZlcmJvc2UgY1VSTCBvdXRwdXQgZm9yIGEgdHJhbnNmZXIuCgpzdHJlYW0Kfn5+fn5+CgpXaGVuIHVzaW5nIGEgc3RhdGljIGNsaWVudCwgeW91IGNhbiBzZXQgdGhlIGBzdHJlYW1gIG9wdGlvbiB0byB0cnVlIHRvIHJldHVybiBhIGBHdXp6bGVcU3RyZWFtXFN0cmVhbWAgb2JqZWN0IHRoYXQgY2FuCmJlIHVzZWQgdG8gcHVsbCBkYXRhIGZyb20gYSBzdHJlYW0gYXMgbmVlZGVkIChyYXRoZXIgdGhhbiBoYXZlIGNVUkwgZG93bmxvYWQgdGhlIGVudGlyZSBjb250ZW50cyBvZiBhIHJlc3BvbnNlIHRvIGEKc3RyZWFtIGFsbCBhdCBvbmNlKS4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkc3RyZWFtID0gR3V6emxlOjpnZXQoJ2h0dHA6Ly9ndXp6bGVwaHAub3JnJywgYXJyYXkoJ3N0cmVhbScgPT4gdHJ1ZSkpOwogICAgd2hpbGUgKCEkc3RyZWFtLT5mZW9mKCkpIHsKICAgICAgICBlY2hvICRzdHJlYW0tPnJlYWRMaW5lKCk7CiAgICB9CgpTZW5kaW5nIHJlcXVlc3RzCi0tLS0tLS0tLS0tLS0tLS0KClJlcXVlc3RzIGNhbiBiZSBzZW50IGJ5IGNhbGxpbmcgdGhlIGBgc2VuZCgpYGAgbWV0aG9kIG9mIGEgUmVxdWVzdCBvYmplY3QsIGJ1dCB5b3UgY2FuIGFsc28gc2VuZCByZXF1ZXN0cyB1c2luZyB0aGUKYGBzZW5kKClgYCBtZXRob2Qgb2YgYSBDbGllbnQuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJ2h0dHA6Ly93d3cuYW1hem9uLmNvbScpOwogICAgJHJlc3BvbnNlID0gJGNsaWVudC0+c2VuZCgkcmVxdWVzdCk7CgpTZW5kaW5nIHJlcXVlc3RzIGluIHBhcmFsbGVsCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KClRoZSBDbGllbnQncyBgYHNlbmQoKWBgIG1ldGhvZCBhY2NlcHQgYSBzaW5nbGUgYGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2VgYCBvYmplY3Qgb3IgYW4gYXJyYXkgb2YKUmVxdWVzdEludGVyZmFjZSBvYmplY3RzLiBXaGVuIGFuIGFycmF5IGlzIHNwZWNpZmllZCwgdGhlIHJlcXVlc3RzIHdpbGwgYmUgc2VudCBpbiBwYXJhbGxlbC4KClNlbmRpbmcgbWFueSBIVFRQIHJlcXVlc3RzIHNlcmlhbGx5IChvbmUgYXQgYSB0aW1lKSBjYW4gY2F1c2UgYW4gdW5uZWNlc3NhcnkgZGVsYXkgaW4gYSBzY3JpcHQncyBleGVjdXRpb24uIEVhY2gKcmVxdWVzdCBtdXN0IGNvbXBsZXRlIGJlZm9yZSBhIHN1YnNlcXVlbnQgcmVxdWVzdCBjYW4gYmUgc2VudC4gQnkgc2VuZGluZyByZXF1ZXN0cyBpbiBwYXJhbGxlbCwgYSBwb29sIG9mIEhUVFAKcmVxdWVzdHMgY2FuIGNvbXBsZXRlIGF0IHRoZSBzcGVlZCBvZiB0aGUgc2xvd2VzdCByZXF1ZXN0IGluIHRoZSBwb29sLCBzaWduaWZpY2FudGx5IHJlZHVjaW5nIHRoZSBhbW91bnQgb2YgdGltZQpuZWVkZWQgdG8gZXhlY3V0ZSBtdWx0aXBsZSBIVFRQIHJlcXVlc3RzLiBHdXp6bGUgcHJvdmlkZXMgYSB3cmFwcGVyIGZvciB0aGUgY3VybF9tdWx0aSBmdW5jdGlvbnMgaW4gUEhQLgoKSGVyZSdzIGFuIGV4YW1wbGUgb2Ygc2VuZGluZyB0aHJlZSByZXF1ZXN0cyBpbiBwYXJhbGxlbCB1c2luZyBhIGNsaWVudCBvYmplY3Q6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXE11bHRpVHJhbnNmZXJFeGNlcHRpb247CgogICAgdHJ5IHsKICAgICAgICAkcmVzcG9uc2VzID0gJGNsaWVudC0+c2VuZChhcnJheSgKICAgICAgICAgICAgJGNsaWVudC0+Z2V0KCdodHRwOi8vd3d3Lmdvb2dsZS5jb20vJyksCiAgICAgICAgICAgICRjbGllbnQtPmhlYWQoJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS8nKSwKICAgICAgICAgICAgJGNsaWVudC0+Z2V0KCdodHRwczovL3d3dy5naXRodWIuY29tLycpCiAgICAgICAgKSk7CiAgICB9IGNhdGNoIChNdWx0aVRyYW5zZmVyRXhjZXB0aW9uICRlKSB7CgogICAgICAgIGVjaG8gIlRoZSBmb2xsb3dpbmcgZXhjZXB0aW9ucyB3ZXJlIGVuY291bnRlcmVkOlxuIjsKICAgICAgICBmb3JlYWNoICgkZSBhcyAkZXhjZXB0aW9uKSB7CiAgICAgICAgICAgIGVjaG8gJGV4Y2VwdGlvbi0+Z2V0TWVzc2FnZSgpIC4gIlxuIjsKICAgICAgICB9CgogICAgICAgIGVjaG8gIlRoZSBmb2xsb3dpbmcgcmVxdWVzdHMgZmFpbGVkOlxuIjsKICAgICAgICBmb3JlYWNoICgkZS0+Z2V0RmFpbGVkUmVxdWVzdHMoKSBhcyAkcmVxdWVzdCkgewogICAgICAgICAgICBlY2hvICRyZXF1ZXN0IC4gIlxuXG4iOwogICAgICAgIH0KCiAgICAgICAgZWNobyAiVGhlIGZvbGxvd2luZyByZXF1ZXN0cyBzdWNjZWVkZWQ6XG4iOwogICAgICAgIGZvcmVhY2ggKCRlLT5nZXRTdWNjZXNzZnVsUmVxdWVzdHMoKSBhcyAkcmVxdWVzdCkgewogICAgICAgICAgICBlY2hvICRyZXF1ZXN0IC4gIlxuXG4iOwogICAgICAgIH0KICAgIH0KCklmIHRoZSByZXF1ZXN0cyBzdWNjZWVkLCBhbiBhcnJheSBvZiBgYEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2VgYCBvYmplY3RzIGFyZSByZXR1cm5lZC4gQSBzaW5nbGUgcmVxdWVzdCBmYWlsdXJlCndpbGwgbm90IGNhdXNlIHRoZSBlbnRpcmUgcG9vbCBvZiByZXF1ZXN0cyB0byBmYWlsLiBBbnkgZXhjZXB0aW9ucyB0aHJvd24gd2hpbGUgdHJhbnNmZXJyaW5nIGEgcG9vbCBvZiByZXF1ZXN0cyB3aWxsCmJlIGFnZ3JlZ2F0ZWQgaW50byBhIGBgR3V6emxlXENvbW1vblxFeGNlcHRpb25cTXVsdGlUcmFuc2ZlckV4Y2VwdGlvbmBgIGV4Y2VwdGlvbi4KClBsdWdpbnMgYW5kIGV2ZW50cwotLS0tLS0tLS0tLS0tLS0tLS0KCkd1enpsZSBwcm92aWRlcyBlYXN5IHRvIHVzZSByZXF1ZXN0IHBsdWdpbnMgdGhhdCBhZGQgYmVoYXZpb3IgdG8gcmVxdWVzdHMgYmFzZWQgb24gc2lnbmFsIHNsb3QgZXZlbnQgbm90aWZpY2F0aW9ucwpwb3dlcmVkIGJ5IHRoZQpgU3ltZm9ueTIgRXZlbnQgRGlzcGF0Y2hlciBjb21wb25lbnQgPGh0dHA6Ly9zeW1mb255LmNvbS9kb2MvMi4wL2NvbXBvbmVudHMvZXZlbnRfZGlzcGF0Y2hlci9pbnRyb2R1Y3Rpb24uaHRtbD5gXy4gQW55CmV2ZW50IGxpc3RlbmVyIG9yIHN1YnNjcmliZXIgYXR0YWNoZWQgdG8gYSBDbGllbnQgb2JqZWN0IHdpbGwgYXV0b21hdGljYWxseSBiZSBhdHRhY2hlZCB0byBlYWNoIHJlcXVlc3QgY3JlYXRlZCBieSB0aGUKY2xpZW50LgoKVXNpbmcgdGhlIHNhbWUgY29va2llIHNlc3Npb24gZm9yIGVhY2ggcmVxdWVzdAp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpBdHRhY2ggYSBgYEd1enpsZVxQbHVnaW5cQ29va2llXENvb2tpZVBsdWdpbmBgIHRvIGEgY2xpZW50IHdoaWNoIHdpbGwgaW4gdHVybiBhZGQgc3VwcG9ydCBmb3IgY29va2llcyB0byBldmVyeSByZXF1ZXN0CmNyZWF0ZWQgYnkgYSBjbGllbnQsIGFuZCBlYWNoIHJlcXVlc3Qgd2lsbCB1c2UgdGhlIHNhbWUgY29va2llIHNlc3Npb246CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxQbHVnaW5cQ29va2llXENvb2tpZVBsdWdpbjsKICAgIHVzZSBHdXp6bGVcUGx1Z2luXENvb2tpZVxDb29raWVKYXJcQXJyYXlDb29raWVKYXI7CgogICAgLy8gQ3JlYXRlIGEgbmV3IGNvb2tpZSBwbHVnaW4KICAgICRjb29raWVQbHVnaW4gPSBuZXcgQ29va2llUGx1Z2luKG5ldyBBcnJheUNvb2tpZUphcigpKTsKCiAgICAvLyBBZGQgdGhlIGNvb2tpZSBwbHVnaW4gdG8gdGhlIGNsaWVudAogICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkY29va2llUGx1Z2luKTsKCi4uIF9jbGllbnQtZXZlbnRzOgoKRXZlbnRzIGVtaXR0ZWQgZnJvbSBhIGNsaWVudAp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpBIGBgR3V6emxlXEh0dHBcQ2xpZW50YGAgb2JqZWN0IGVtaXRzIHRoZSBmb2xsb3dpbmcgZXZlbnRzOgoKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgRXZlbnQgbmFtZSAgICAgICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEV2ZW50IGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKfCBjbGllbnQuY3JlYXRlX3JlcXVlc3QgICAgICAgIHwgQ2FsbGVkIHdoZW4gYSBjbGllbnQgY3JlYXRlcyBhIHJlcXVlc3QgICAgIHwgKiBjbGllbnQ6IFRoZSBjbGllbnQgICAgICAgICAgICAgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICogcmVxdWVzdDogVGhlIGNyZWF0ZWQgcmVxdWVzdCAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXENvbW1vblxFdmVudDsKICAgIHVzZSBHdXp6bGVcSHR0cFxDbGllbnQ7CgogICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKCiAgICAvLyBBZGQgYSBsaXN0ZW5lciB0aGF0IHdpbGwgZWNobyBvdXQgcmVxdWVzdHMgYXMgdGhleSBhcmUgY3JlYXRlZAogICAgJGNsaWVudC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCdjbGllbnQuY3JlYXRlX3JlcXVlc3QnLCBmdW5jdGlvbiAoRXZlbnQgJGUpIHsKICAgICAgICBlY2hvICdDbGllbnQgb2JqZWN0OiAnIC4gc3BsX29iamVjdF9oYXNoKCRlWydjbGllbnQnXSkgLiAiXG4iOwogICAgICAgIGVjaG8gIlJlcXVlc3Qgb2JqZWN0OiB7JGVbJ3JlcXVlc3QnXX1cbiI7CiAgICB9KTsK]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/http-client/entity-bodies.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJlcXVlc3QgYW5kIHJlc3BvbnNlIGJvZGllcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT0KCmBFbnRpdHkgYm9keSA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWM3Lmh0bWw+YF8gaXMgdGhlIHRlcm0gdXNlZCBmb3IgdGhlIGJvZHkgb2YgYW4gSFRUUAptZXNzYWdlLiBUaGUgZW50aXR5IGJvZHkgb2YgcmVxdWVzdHMgYW5kIHJlc3BvbnNlcyBpcyBpbmhlcmVudGx5IGEKYFBIUCBzdHJlYW0gPGh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9ib29rLnN0cmVhbS5waHA+YF8gaW4gR3V6emxlLiBUaGUgYm9keSBvZiB0aGUgcmVxdWVzdCBjYW4gYmUgZWl0aGVyIGEgc3RyaW5nIG9yCmEgUEhQIHN0cmVhbSB3aGljaCBhcmUgY29udmVydGVkIGludG8gYSBgYEd1enpsZVxIdHRwXEVudGl0eUJvZHlgYCBvYmplY3QgdXNpbmcgaXRzIGZhY3RvcnkgbWV0aG9kLiBXaGVuIHVzaW5nIGEKc3RyaW5nLCB0aGUgZW50aXR5IGJvZHkgaXMgc3RvcmVkIGluIGEgYHRlbXAgUEhQIHN0cmVhbSA8aHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi93cmFwcGVycy5waHAucGhwPmBfLiBUaGUgdXNlIG9mCnRlbXAgUEhQIHN0cmVhbXMgaGVscHMgdG8gcHJvdGVjdCB5b3VyIGFwcGxpY2F0aW9uIGZyb20gcnVubmluZyBvdXQgb2YgbWVtb3J5IHdoZW4gc2VuZGluZyBvciByZWNlaXZpbmcgbGFyZ2UgZW50aXR5CmJvZGllcyBpbiB5b3VyIG1lc3NhZ2VzLiBXaGVuIG1vcmUgdGhhbiAyTUIgb2YgZGF0YSBpcyBzdG9yZWQgaW4gYSB0ZW1wIHN0cmVhbSwgaXQgYXV0b21hdGljYWxseSBzdG9yZXMgdGhlIGRhdGEgb24KZGlzayByYXRoZXIgdGhhbiBpbiBtZW1vcnkuCgpFbnRpdHlCb2R5IG9iamVjdHMgcHJvdmlkZSBhIGdyZWF0IGRlYWwgb2YgZnVuY3Rpb25hbGl0eTogY29tcHJlc3Npb24sIGRlY29tcHJlc3Npb24sIGNhbGN1bGF0ZSB0aGUgQ29udGVudC1NRDUsCmNhbGN1bGF0ZSB0aGUgQ29udGVudC1MZW5ndGggKHdoZW4gdGhlIHJlc291cmNlIGlzIHJlcGVhdGFibGUpLCBndWVzc2luZyB0aGUgQ29udGVudC1UeXBlLCBhbmQgbW9yZS4gR3V6emxlIGRvZXNuJ3QKbmVlZCB0byBsb2FkIGFuIGVudGlyZSBlbnRpdHkgYm9keSBpbnRvIGEgc3RyaW5nIHdoZW4gc2VuZGluZyBvciByZXRyaWV2aW5nIGRhdGE7IGVudGl0eSBib2RpZXMgYXJlIHN0cmVhbWVkIHdoZW4KYmVpbmcgdXBsb2FkZWQgYW5kIGRvd25sb2FkZWQuCgpIZXJlJ3MgYW4gZXhhbXBsZSBvZiBnemlwIGNvbXByZXNzaW5nIGEgdGV4dCBmaWxlIHRoZW4gc2VuZGluZyB0aGUgZmlsZSB0byBhIFVSTDoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKCiAgICAkYm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoZm9wZW4oJy9wYXRoL3RvL2ZpbGUudHh0JywgJ3IrJykpOwogICAgZWNobyAkYm9keS0+cmVhZCgxMDI0KTsKICAgICRib2R5LT5zZWVrKDAsIFNFRUtfRU5EKTsKICAgICRib2R5LT53cml0ZSgnZm9vJyk7CiAgICBlY2hvICRib2R5LT5mdGVsbCgpOwogICAgJGJvZHktPnJld2luZCgpOwoKICAgIC8vIFNlbmQgYSByZXF1ZXN0IHVzaW5nIHRoZSBib2R5CiAgICAkcmVzcG9uc2UgPSAkY2xpZW50LT5wdXQoJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4MC91cGxvYWRzJywgbnVsbCwgJGJvZHkpLT5zZW5kKCk7CgpUaGUgYm9keSBvZiB0aGUgcmVxdWVzdCBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSBgYENsaWVudDo6cHV0KClgYCBvciBgYENsaWVudDo6cG9zdCgpYGAgIG1ldGhvZCwgb3IsIHlvdSBjYW4gc3BlY2lmeQp0aGUgYm9keSBvZiB0aGUgcmVxdWVzdCBieSBjYWxsaW5nIHRoZSBgYHNldEJvZHkoKWBgIG1ldGhvZCBvZiBhbnkKYGBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2VgYCBvYmplY3QuCgpDb21wcmVzc2lvbgotLS0tLS0tLS0tLQoKWW91IGNhbiBjb21wcmVzcyB0aGUgY29udGVudHMgb2YgYW4gRW50aXR5Qm9keSBvYmplY3QgdXNpbmcgdGhlIGBgY29tcHJlc3MoKWBgIG1ldGhvZC4gVGhlIGNvbXByZXNzIG1ldGhvZCBhY2NlcHRzIGEKZmlsdGVyIHRoYXQgbXVzdCBtYXRjaCB0byBvbmUgb2YgdGhlIHN1cHBvcnRlZApgUEhQIHN0cmVhbSBmaWx0ZXJzIDxodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2ZpbHRlcnMuY29tcHJlc3Npb24ucGhwPmBfIG9uIHlvdXIgc3lzdGVtIChlLmcuIGB6bGliLmRlZmxhdGVgLApgYGJ6aXAyLmNvbXByZXNzYGAsIGV0YykuIENvbXByZXNzaW5nIGFuIGVudGl0eSBib2R5IHdpbGwgc3RyZWFtIHRoZSBlbnRpcmUgZW50aXR5IGJvZHkgdGhyb3VnaCBhIHN0cmVhbSBjb21wcmVzc2lvbgpmaWx0ZXIgaW50byBhIHRlbXBvcmFyeSBQSFAgc3RyZWFtLiBZb3UgY2FuIHVuY29tcHJlc3MgYW4gZW50aXR5IGJvZHkgdXNpbmcgdGhlIGBgdW5jb21wcmVzcygpYGAgbWV0aG9kIGFuZCBwYXNzaW5nCnRoZSBQSFAgc3RyZWFtIGZpbHRlciB0byB1c2Ugd2hlbiBkZWNvbXByZXNzaW5nIHRoZSBzdHJlYW0gKGUuZy4gYGB6bGliLmluZmxhdGVgYCkuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CgogICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KGZvcGVuKCcvdG1wL3Rlc3QudHh0JywgJ3IrJykpOwogICAgZWNobyAkYm9keS0+Z2V0U2l6ZSgpOwogICAgLy8gPj4+IDEwNDg1NzYKCiAgICAvLyBDb21wcmVzcyB1c2luZyB0aGUgZGVmYXVsdCB6bGliLmRlZmxhdGUgZmlsdGVyCiAgICAkYm9keS0+Y29tcHJlc3MoKTsKICAgIGVjaG8gJGJvZHktPmdldFNpemUoKTsKICAgIC8vID4+PiAzMTQ1NzIKCiAgICAvLyBEZWNvbXByZXNzIHRoZSBzdHJlYW0KICAgICRib2R5LT51bmNvbXByZXNzKCk7CiAgICBlY2hvICRib2R5LT5nZXRTaXplKCk7CiAgICAvLyA+Pj4gMTA0ODU3NgoKRGVjb3JhdG9ycwotLS0tLS0tLS0tCgpHdXp6bGUgcHJvdmlkZXMgc2V2ZXJhbCBFbnRpdHlCb2R5IGRlY29yYXRvcnMgdGhhdCBjYW4gYmUgdXNlZCB0byBhZGQgZnVuY3Rpb25hbGl0eSB0byBhbiBFbnRpdHlCb2R5IGF0IHJ1bnRpbWUuCgpJb0VtaXR0aW5nRW50aXR5Qm9keQp+fn5+fn5+fn5+fn5+fn5+fn5+fgoKVGhpcyBkZWNvcmF0b3Igd2lsbCBlbWl0IGV2ZW50cyB3aGVuIGRhdGEgaXMgcmVhZCBmcm9tIGEgc3RyZWFtIG9yIHdyaXR0ZW4gdG8gYSBzdHJlYW0uIEFkZCBhbiBldmVudCBzdWJzY3JpYmVyIHRvIHRoZQplbnRpdHkgYm9keSdzIGBgYm9keS5yZWFkYGAgb3IgYGBib2R5LndyaXRlYGAgbWV0aG9kcyB0byByZWNlaXZlIG5vdGlmaWNhdGlvbnMgd2hlbiBkYXRhIGRhdGEgaXMgdHJhbnNmZXJyZWQuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CiAgICB1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKICAgIHVzZSBHdXp6bGVcSHR0cFxJb0VtaXR0aW5nRW50aXR5Qm9keTsKCiAgICAkb3JpZ2luYWwgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KGZvcGVuKCcvdG1wL3Rlc3QudHh0JywgJ3IrJykpOwogICAgJGJvZHkgPSBuZXcgSW9FbWl0dGluZ0VudGl0eUJvZHkoJG9yaWdpbmFsKTsKCiAgICAvLyBMaXN0ZW4gZm9yIHJlYWQgZXZlbnRzCiAgICAkYm9keS0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCdib2R5LnJlYWQnLCBmdW5jdGlvbiAoRXZlbnQgJGUpIHsKICAgICAgICAvLyBHcmFiIGRhdGEgZnJvbSB0aGUgZXZlbnQKICAgICAgICAkZW50aXR5Qm9keSA9ICRlWydib2R5J107CiAgICAgICAgLy8gQW1vdW50IG9mIGRhdGEgcmV0cmlldmVkIGZyb20gdGhlIGJvZHkKICAgICAgICAkbGVuZ3RoT2ZEYXRhID0gJGVbJ2xlbmd0aCddOwogICAgICAgIC8vIFRoZSBhY3R1YWwgZGF0YSB0aGF0IHdhcyByZWFkCiAgICAgICAgJGRhdGEgPSAkZVsncmVhZCddOwogICAgfSk7CgogICAgLy8gTGlzdGVuIGZvciB3cml0ZSBldmVudHMKICAgICRib2R5LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ2JvZHkud3JpdGUnLCBmdW5jdGlvbiAoRXZlbnQgJGUpIHsKICAgICAgICAvLyBHcmFiIGRhdGEgZnJvbSB0aGUgZXZlbnQKICAgICAgICAkZW50aXR5Qm9keSA9ICRlWydib2R5J107CiAgICAgICAgLy8gVGhlIGRhdGEgdGhhdCB3YXMgd3JpdHRlbgogICAgICAgICRkYXRhID0gJGVbJ3dyaXRlJ107CiAgICAgICAgLy8gVGhlIGFjdHVhbCBhbW91bnQgb2YgZGF0YSB0aGF0IHdhcyB3cml0dGVuCiAgICAgICAgJGRhdGEgPSAkZVsncmVhZCddOwogICAgfSk7CgpSZWFkTGltaXRFbnRpdHlCb2R5Cn5+fn5+fn5+fn5+fn5+fn5+fn4KClRoZSBSZWFkTGltaXRFbnRpdHlCb2R5IGRlY29yYXRvciBjYW4gYmUgdXNlZCB0byB0cmFuc2ZlciBhIHN1YnNldCBvciBzbGljZSBvZiBhbiBleGlzdGluZyBFbnRpdHlCb2R5IG9iamVjdC4gVGhpcyBjYW4KYmUgdXNlZnVsIGZvciBicmVha2luZyBhIGxhcmdlIGZpbGUgaW50byBzbWFsbGVyIHBpZWNlcyB0byBiZSBzZW50IGluIGNodW5rcyAoZS5nLiBBbWF6b24gUzMncyBtdWx0aXBhcnQgdXBsb2FkIEFQSSkuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CiAgICB1c2UgR3V6emxlXEh0dHBcUmVhZExpbWl0RW50aXR5Qm9keTsKCiAgICAkb3JpZ2luYWwgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KGZvcGVuKCcvdG1wL3Rlc3QudHh0JywgJ3IrJykpOwogICAgZWNobyAkb3JpZ2luYWwtPmdldFNpemUoKTsKICAgIC8vID4+PiAxMDQ4NTc2CgogICAgLy8gTGltaXQgdGhlIHNpemUgb2YgdGhlIGJvZHkgdG8gMTAyNCBieXRlcyBhbmQgc3RhcnQgcmVhZGluZyBmcm9tIGJ5dGUgMjA0OAogICAgJGJvZHkgPSBuZXcgUmVhZExpbWl0RW50aXR5Qm9keSgkb3JpZ2luYWwsIDEwMjQsIDIwNDgpOwogICAgZWNobyAkYm9keS0+Z2V0U2l6ZSgpOwogICAgLy8gPj4+IDEwMjQKICAgIGVjaG8gJGJvZHktPmZ0ZWxsKCk7CiAgICAvLyA+Pj4gMAoKQ2FjaGluZ0VudGl0eUJvZHkKfn5+fn5+fn5+fn5+fn5+fn4KClRoZSBDYWNoaW5nRW50aXR5Qm9keSBkZWNvcmF0b3IgaXMgdXNlZCB0byBhbGxvdyBzZWVraW5nIG92ZXIgcHJldmlvdXNseSByZWFkIGJ5dGVzIG9uIG5vbi1zZWVrYWJsZSByZWFkIHN0cmVhbXMuIFRoaXMKY2FuIGJlIHVzZWZ1bCB3aGVuIHRyYW5zZmVycmluZyBhIG5vbi1zZWVrYWJsZSBlbnRpdHkgYm9keSBmYWlscyBkdWUgdG8gbmVlZGluZyB0byByZXdpbmQgdGhlIHN0cmVhbSAoZm9yIGV4YW1wbGUsCnJlc3VsdGluZyBmcm9tIGEgcmVkaXJlY3QpLiBEYXRhIHRoYXQgaXMgcmVhZCBmcm9tIHRoZSByZW1vdGUgc3RyZWFtIHdpbGwgYmUgYnVmZmVyZWQgaW4gYSBQSFAgdGVtcCBzdHJlYW0gc28gdGhhdApwcmV2aW91c2x5IHJlYWQgYnl0ZXMgYXJlIGNhY2hlZCBmaXJzdCBpbiBtZW1vcnksIHRoZW4gb24gZGlzay4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKICAgIHVzZSBHdXp6bGVcSHR0cFxDYWNoaW5nRW50aXR5Qm9keTsKCiAgICAkb3JpZ2luYWwgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KGZvcGVuKCdodHRwOi8vd3d3Lmdvb2dsZS5jb20nLCAncicpKTsKICAgICRib2R5ID0gbmV3IENhY2hpbmdFbnRpdHlCb2R5KCRvcmlnaW5hbCk7CgogICAgJGJvZHktPnJlYWQoMTAyNCk7CiAgICBlY2hvICRib2R5LT5mdGVsbCgpOwogICAgLy8gPj4+IDEwMjQKCiAgICAkYm9keS0+c2VlaygwKTsKICAgIGVjaG8gJGJvZHktPmZ0ZWxsKCk7CiAgICAvLyA+Pj4gMAo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/http-client/http-redirects.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT0KSFRUUCByZWRpcmVjdHMKPT09PT09PT09PT09PT0KCkJ5IGRlZmF1bHQsIEd1enpsZSB3aWxsIGF1dG9tYXRpY2FsbHkgZm9sbG93IHJlZGlyZWN0cyB1c2luZyB0aGUgbm9uLVJGQyBjb21wbGlhbnQgaW1wbGVtZW50YXRpb24gdXNlZCBieSBtb3N0IHdlYgpicm93c2Vycy4gVGhpcyBtZWFucyB0aGF0IHJlZGlyZWN0cyBmb3IgUE9TVCByZXF1ZXN0cyBhcmUgZm9sbG93ZWQgYnkgYSBHRVQgcmVxdWVzdC4gWW91IGNhbiBmb3JjZSBSRkMgY29tcGxpYW5jZSBieQplbmFibGluZyB0aGUgc3RyaWN0IG1vZGUgb24gYSByZXF1ZXN0J3MgcGFyYW1ldGVyIG9iamVjdDoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAvLyBTZXQgcGVyIHJlcXVlc3QKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+cG9zdCgpOwogICAgJHJlcXVlc3QtPmdldFBhcmFtcygpLT5zZXQoJ3JlZGlyZWN0LnN0cmljdCcsIHRydWUpOwoKICAgIC8vIFlvdSBjYW4gc2V0IGdsb2JhbGx5IG9uIGEgY2xpZW50IHNvIGFsbCByZXF1ZXN0cyB1c2Ugc3RyaWN0IHJlZGlyZWN0cwogICAgJGNsaWVudC0+Z2V0Q29uZmlnKCktPnNldCgncmVxdWVzdC5wYXJhbXMnLCBhcnJheSgKICAgICAgICAncmVkaXJlY3Quc3RyaWN0JyA9PiB0cnVlCiAgICApKTsKCkJ5IGRlZmF1bHQsIEd1enpsZSB3aWxsIHJlZGlyZWN0IHVwIHRvIDUgdGltZXMgYmVmb3JlIHRocm93aW5nIGEgYGBHdXp6bGVcSHR0cFxFeGNlcHRpb25cVG9vTWFueVJlZGlyZWN0c0V4Y2VwdGlvbmBgLgpZb3UgY2FuIHJhaXNlIG9yIGxvd2VyIHRoaXMgdmFsdWUgdXNpbmcgdGhlIGBgcmVkaXJlY3QubWF4YGAgcGFyYW1ldGVyIG9mIGEgcmVxdWVzdCBvYmplY3Q6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QtPmdldFBhcmFtcygpLT5zZXQoJ3JlZGlyZWN0Lm1heCcsIDIpOwoKUmVkaXJlY3QgaGlzdG9yeQotLS0tLS0tLS0tLS0tLS0tCgpZb3UgY2FuIGdldCB0aGUgbnVtYmVyIG9mIHJlZGlyZWN0cyBvZiBhIHJlcXVlc3QgdXNpbmcgdGhlIHJlc3VsdGluZyByZXNwb25zZSBvYmplY3QncyBgYGdldFJlZGlyZWN0Q291bnQoKWBgIG1ldGhvZC4KU2ltaWxhciB0byBjVVJMJ3MgYGBlZmZlY3RpdmVfdXJsYGAgcHJvcGVydHksIEd1enpsZSBwcm92aWRlcyB0aGUgZWZmZWN0aXZlIFVSTCwgb3IgdGhlIGxhc3QgcmVkaXJlY3QgVVJMIHRoYXQgcmV0dXJuZWQKdGhlIHJlcXVlc3QsIGluIGEgcmVzcG9uc2UncyBgYGdldEVmZmVjdGl2ZVVybCgpYGAgbWV0aG9kLgoKV2hlbiB0ZXN0aW5nIG9yIGRlYnVnZ2luZywgaXQgaXMgb2Z0ZW4gdXNlZnVsIHRvIHNlZSBhIGhpc3Rvcnkgb2YgcmVkaXJlY3RzIGZvciBhIHBhcnRpY3VsYXIgcmVxdWVzdC4gVGhpcyBjYW4gYmUKYWNoaWV2ZWQgdXNpbmcgdGhlIEhpc3RvcnlQbHVnaW4uCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJy8nKTsKICAgICRoaXN0b3J5ID0gbmV3IEd1enpsZVxQbHVnaW5cSGlzdG9yeVxIaXN0b3J5UGx1Z2luKCk7CiAgICAkcmVxdWVzdC0+YWRkU3Vic2NyaWJlcigkaGlzdG9yeSk7CiAgICAkcmVzcG9uc2UgPSAkcmVxdWVzdC0+c2VuZCgpOwoKICAgIC8vIEdldCB0aGUgbGFzdCByZWRpcmVjdCBVUkwgb3IgdGhlIFVSTCBvZiB0aGUgcmVxdWVzdCB0aGF0IHJlY2VpdmVkCiAgICAvLyB0aGlzIHJlc3BvbnNlCiAgICBlY2hvICRyZXNwb25zZS0+Z2V0RWZmZWN0aXZlVXJsKCk7CgogICAgLy8gR2V0IHRoZSBudW1iZXIgb2YgcmVkaXJlY3RzCiAgICBlY2hvICRyZXNwb25zZS0+Z2V0UmVkaXJlY3RDb3VudCgpOwoKICAgIC8vIEl0ZXJhdGUgb3ZlciBlYWNoIHNlbnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UKICAgIGZvcmVhY2ggKCRoaXN0b3J5LT5nZXRBbGwoKSBhcyAkdHJhbnNhY3Rpb24pIHsKICAgICAgICAvLyBSZXF1ZXN0IG9iamVjdAogICAgICAgIGVjaG8gJHRyYW5zYWN0aW9uWydyZXF1ZXN0J10tPmdldFVybCgpIC4gIlxuIjsKICAgICAgICAvLyBSZXNwb25zZSBvYmplY3QKICAgICAgICBlY2hvICR0cmFuc2FjdGlvblsncmVzcG9uc2UnXS0+Z2V0RWZmZWN0aXZlVXJsKCkgLiAiXG4iOwogICAgfQoKICAgIC8vIE9yLCBzaW1wbHkgY2FzdCB0aGUgSGlzdG9yeVBsdWdpbiB0byBhIHN0cmluZyB0byB2aWV3IGVhY2ggcmVxdWVzdCBhbmQgcmVzcG9uc2UKICAgIGVjaG8gJGhpc3Rvcnk7CgpEaXNhYmxpbmcgcmVkaXJlY3RzCi0tLS0tLS0tLS0tLS0tLS0tLS0KCllvdSBjYW4gZGlzYWJsZSByZWRpcmVjdHMgb24gYSBjbGllbnQgYnkgcGFzc2luZyBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGluIHRoZSBjbGllbnQncyBjb25zdHJ1Y3RvcjoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY2xpZW50ID0gbmV3IENsaWVudChudWxsLCBhcnJheSgncmVkaXJlY3QuZGlzYWJsZScgPT4gdHJ1ZSkpOwoKWW91IGNhbiBhbHNvIGRpc2FibGUgcmVkaXJlY3RzIHBlciByZXF1ZXN0OgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCR1cmwsIGFycmF5KCksIGFycmF5KCdhbGxvd19yZWRpcmVjdHMnID0+IGZhbHNlKSk7CgpSZWRpcmVjdHMgYW5kIG5vbi1yZXBlYXRhYmxlIHN0cmVhbXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpJZiB5b3UgYXJlIHJlZGlyZWN0ZWQgd2hlbiBzZW5kaW5nIGRhdGEgZnJvbSBhIG5vbi1yZXBlYXRhYmxlIHN0cmVhbSBhbmQgc29tZSBvZiB0aGUgZGF0YSBoYXMgYmVlbiByZWFkIG9mZiBvZiB0aGUKc3RyZWFtLCB0aGVuIHlvdSB3aWxsIGdldCBhIGBgR3V6emxlXEh0dHBcRXhjZXB0aW9uXENvdWxkTm90UmV3aW5kU3RyZWFtRXhjZXB0aW9uYGAuIFlvdSBjYW4gZ2V0IGFyb3VuZCB0aGlzIGVycm9yIGJ5CmFkZGluZyBhIGN1c3RvbSByZXdpbmQgbWV0aG9kIHRvIHRoZSBlbnRpdHkgYm9keSBvYmplY3QgYmVpbmcgc2VudCBpbiB0aGUgcmVxdWVzdC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnBvc3QoCiAgICAgICAgJ2h0dHA6Ly9odHRwYmluLmNvbS9yZWRpcmVjdC8yJywKICAgICAgICBudWxsLAogICAgICAgIGZvcGVuKCdodHRwOi8vaHR0cGJpbi5jb20vZ2V0JywgJ3InKQogICAgKTsKCiAgICAvLyBBZGQgYSBjdXN0b20gZnVuY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCB0byByZXdpbmQgdGhlIHN0cmVhbQogICAgLy8gKHJlb3BlbiBpbiB0aGlzIGV4YW1wbGUpCiAgICAkcmVxdWVzdC0+Z2V0Qm9keSgpLT5zZXRSZXdpbmRGdW5jdGlvbihmdW5jdGlvbiAoJGJvZHkpIHsKICAgICAgICAkYm9keS0+c2V0U3RyZWFtKGZvcGVuKCdodHRwOi8vaHR0cGJpbi5jb20vZ2V0JywgJ3InKSk7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICApOwoKICAgICRyZXNwb25zZSA9ICRjbGllbnQtPnNlbmQoKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/http-client/request.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT09ClVzaW5nIFJlcXVlc3Qgb2JqZWN0cwo9PT09PT09PT09PT09PT09PT09PT0KCkhUVFAgcmVxdWVzdCBtZXNzYWdlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0KClJlcXVlc3Qgb2JqZWN0cyBhcmUgYWxsIGFib3V0IGJ1aWxkaW5nIGFuIEhUVFAgbWVzc2FnZS4gRWFjaCBwYXJ0IG9mIGFuIEhUVFAgcmVxdWVzdCBtZXNzYWdlIGNhbiBiZSBzZXQgaW5kaXZpZHVhbGx5CnVzaW5nIG1ldGhvZHMgb24gdGhlIHJlcXVlc3Qgb2JqZWN0IG9yIHNldCBpbiBidWxrIHVzaW5nIHRoZSBgYHNldFVybCgpYGAgbWV0aG9kLiBIZXJlJ3MgdGhlIGZvcm1hdCBvZiBhbiBIVFRQIHJlcXVlc3QKd2l0aCBlYWNoIHBhcnQgb2YgdGhlIHJlcXVlc3QgcmVmZXJlbmNpbmcgdGhlIG1ldGhvZCB1c2VkIHRvIGNoYW5nZSBpdDo6CgogICAgUFVUKGEpIC9wYXRoKGIpP3F1ZXJ5PTEyMyhjKSBIVFRQLzEuMShkKQogICAgWC1IZWFkZXIoZSk6IGhlYWRlcgogICAgQ29udGVudC1MZW5ndGgoZSk6IDQKCiAgICBkYXRhKGYpCgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgYS4gKipNZXRob2QqKiAgICAgICAgICAgfCBUaGUgcmVxdWVzdCBtZXRob2QgY2FuIG9ubHkgYmUgc2V0IHdoZW4gaW5zdGFudGlhdGluZyBhIHJlcXVlc3QgICAgICAgICAgICAgICAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGIuICoqUGF0aCoqICAgICAgICAgICAgIHwgYGAkcmVxdWVzdC0+c2V0UGF0aCgnL3BhdGgnKTtgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBjLiAqKlF1ZXJ5KiogICAgICAgICAgICB8IGBgJHJlcXVlc3QtPmdldFF1ZXJ5KCktPnNldCgncXVlcnknLCAnMTIzJyk7YGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgZC4gKipQcm90b2NvbCB2ZXJzaW9uKiogfCBgYCRyZXF1ZXN0LT5zZXRQcm90b2NvbFZlcnNpb24oJzEuMScpO2BgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGUuICoqSGVhZGVyKiogICAgICAgICAgIHwgYGAkcmVxdWVzdC0+c2V0SGVhZGVyKCdYLUhlYWRlcicsICdoZWFkZXInKTtgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBmLiAqKkVudGl0eSBCb2R5KiogICAgICB8ICBgYCRyZXF1ZXN0LT5zZXRCb2R5KCdkYXRhJyk7IC8vIE9ubHkgYXZhaWxhYmxlIHdpdGggUFVULCBQT1NULCBQQVRDSCwgREVMRVRFYGAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCgpDcmVhdGluZyByZXF1ZXN0cyB3aXRoIGEgY2xpZW50Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkNsaWVudCBvYmplY3RzIGFyZSByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgSFRUUCByZXF1ZXN0IG9iamVjdHMuCgpHRVQgcmVxdWVzdHMKfn5+fn5+fn5+fn5+CgpgR0VUIHJlcXVlc3RzIDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzkuaHRtbCNzZWM5LjM+YF8gYXJlIHRoZSBtb3N0IGNvbW1vbiBmb3JtIG9mIEhUVFAKcmVxdWVzdHMuIFdoZW4geW91IHZpc2l0IGEgd2Vic2l0ZSBpbiB5b3VyIGJyb3dzZXIsIHRoZSBIVE1MIG9mIHRoZSB3ZWJzaXRlIGlzIGRvd25sb2FkZWQgdXNpbmcgYSBHRVQgcmVxdWVzdC4gR0VUCnJlcXVlc3RzIGFyZSBpZGVtcG90ZW50IHJlcXVlc3RzIHRoYXQgYXJlIHR5cGljYWxseSB1c2VkIHRvIGRvd25sb2FkIGNvbnRlbnQgKGFuIGVudGl0eSkgaWRlbnRpZmllZCBieSBhIHJlcXVlc3QgVVJMLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBHdXp6bGVcSHR0cFxDbGllbnQ7CgogICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKCiAgICAvLyBDcmVhdGUgYSByZXF1ZXN0IHRoYXQgaGFzIGEgcXVlcnkgc3RyaW5nIGFuZCBhbiBYLUZvbyBoZWFkZXIKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCdodHRwOi8vd3d3LmFtYXpvbi5jb20/YT0xJywgYXJyYXkoJ1gtRm9vJyA9PiAnQmFyJykpOwoKICAgIC8vIFNlbmQgdGhlIHJlcXVlc3QgYW5kIGdldCB0aGUgcmVzcG9uc2UKICAgICRyZXNwb25zZSA9ICRyZXF1ZXN0LT5zZW5kKCk7CgpZb3UgY2FuIGNoYW5nZSB3aGVyZSB0aGUgYm9keSBvZiBhIHJlc3BvbnNlIGlzIGRvd25sb2FkZWQgb24gYW55IHJlcXVlc3QgdXNpbmcgdGhlCmBgJHJlcXVlc3QtPnNldFJlc3BvbnNlQm9keShzdHJpbmd8RW50aXR5Qm9keUludGVyZmFjZXxyZXNvdXJjZSlgYCBtZXRob2Qgb2YgYSByZXF1ZXN0LiBZb3UgY2FuIGFsc28gc2V0IHRoZSBgYHNhdmVfdG9gYApvcHRpb24gb2YgYSByZXF1ZXN0OgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIFNlbmQgdGhlIHJlc3BvbnNlIGJvZHkgdG8gYSBmaWxlCiAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnaHR0cDovL3Rlc3QuY29tJywgYXJyYXkoKSwgYXJyYXkoJ3NhdmVfdG8nID0+ICcvcGF0aC90by9maWxlJykpOwoKICAgIC8vIFNlbmQgdGhlIHJlc3BvbnNlIGJvZHkgdG8gYW4gZm9wZW4gcmVzb3VyY2UKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCdodHRwOi8vdGVzdC5jb20nLCBhcnJheSgpLCBhcnJheSgnc2F2ZV90bycgPT4gZm9wZW4oJy9wYXRoL3RvL2ZpbGUnLCAndycpKSk7CgpIRUFEIHJlcXVlc3RzCn5+fn5+fn5+fn5+fn4KCmBIRUFEIHJlcXVlc3RzIDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzkuaHRtbCNzZWM5LjQ+YF8gd29yayBleGFjdGx5IGxpa2UgR0VUIHJlcXVlc3RzIGV4Y2VwdAp0aGF0IHRoZXkgZG8gbm90IGFjdHVhbGx5IGRvd25sb2FkIHRoZSByZXNwb25zZSBib2R5IChlbnRpdHkpIG9mIHRoZSByZXNwb25zZSBtZXNzYWdlLiBIRUFEIHJlcXVlc3RzIGFyZSB1c2VmdWwgZm9yCnJldHJpZXZpbmcgbWV0YSBpbmZvcm1hdGlvbiBhYm91dCBhbiBlbnRpdHkgaWRlbnRpZmllZCBieSBhIFJlcXVlc3QtVVJJLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjbGllbnQgPSBuZXcgR3V6emxlXEh0dHBcQ2xpZW50KCk7CiAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmhlYWQoJ2h0dHA6Ly93d3cuYW1hem9uLmNvbScpOwogICAgJHJlc3BvbnNlID0gJHJlcXVlc3QtPnNlbmQoKTsKICAgIGVjaG8gJHJlc3BvbnNlLT5nZXRDb250ZW50TGVuZ3RoKCk7CiAgICAvLyA+Pj4gV2lsbCBvdXRwdXQgdGhlIENvbnRlbnQtTGVuZ3RoIGhlYWRlciB2YWx1ZQoKREVMRVRFIHJlcXVlc3RzCn5+fn5+fn5+fn5+fn5+fgoKQSBgREVMRVRFIG1ldGhvZCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWM5Lmh0bWwjc2VjOS43PmBfIHJlcXVlc3RzIHRoYXQgdGhlIG9yaWdpbiBzZXJ2ZXIKZGVsZXRlIHRoZSByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IHRoZSBSZXF1ZXN0LVVSSS4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY2xpZW50ID0gbmV3IEd1enpsZVxIdHRwXENsaWVudCgpOwogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5kZWxldGUoJ2h0dHA6Ly9leGFtcGxlLmNvbScpOwogICAgJHJlc3BvbnNlID0gJHJlcXVlc3QtPnNlbmQoKTsKClBPU1QgcmVxdWVzdHMKfn5+fn5+fn5+fn5+fgoKV2hpbGUgYFBPU1QgcmVxdWVzdHMgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjOS5odG1sI3NlYzkuNT5gXyBjYW4gYmUgdXNlZCBmb3IgYSBudW1iZXIgb2YKcmVhc29ucywgUE9TVCByZXF1ZXN0cyBhcmUgb2Z0ZW4gdXNlZCB3aGVuIHN1Ym1pdHRpbmcgSFRNTCBmb3JtIGRhdGEgdG8gYSB3ZWJzaXRlLiBQT1NUIHJlcXVlc3RzIGNhbiBpbmNsdWRlIGFuIGVudGl0eQpib2R5IGluIHRoZSBIVFRQIHJlcXVlc3QuCgpQT1NUIHJlcXVlc3RzIGluIEd1enpsZSBhcmUgc2VudCB3aXRoIGFuIGBgYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkYGAgQ29udGVudC1UeXBlIGhlYWRlciBpZiBQT1NUIGZpZWxkcyBhcmUKcHJlc2VudCBidXQgbm8gZmlsZXMgYXJlIGJlaW5nIHNlbnQgaW4gdGhlIFBPU1QuIElmIGZpbGVzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIFBPU1QgcmVxdWVzdCwgdGhlbiB0aGUgQ29udGVudC1UeXBlCmhlYWRlciB3aWxsIGJlY29tZSBgYG11bHRpcGFydC9mb3JtLWRhdGFgYC4KClRoZSBgYHBvc3QoKWBgIG1ldGhvZCBvZiBhIGNsaWVudCBvYmplY3QgYWNjZXB0cyBmb3VyIGFyZ3VtZW50czogdGhlIFVSTCwgb3B0aW9uYWwgaGVhZGVycywgcG9zdCBmaWVsZHMsIGFuZCBhbiBhcnJheSBvZgpyZXF1ZXN0IG9wdGlvbnMuIFRvIHNlbmQgZmlsZXMgaW4gdGhlIFBPU1QgcmVxdWVzdCwgcHJlcGVuZCB0aGUgYGBAYGAgc3ltYm9sIHRvIHRoZSBhcnJheSB2YWx1ZSAoanVzdCBsaWtlIHlvdSB3b3VsZCBpZgp5b3Ugd2VyZSB1c2luZyB0aGUgUEhQIGBgY3VybF9zZXRvcHRgYCBmdW5jdGlvbikuCgpIZXJlJ3MgaG93IHRvIGNyZWF0ZSBhIG11bHRpcGFydC9mb3JtLWRhdGEgUE9TVCByZXF1ZXN0IGNvbnRhaW5pbmcgZmlsZXMgYW5kIGZpZWxkczoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnBvc3QoJ2h0dHA6Ly9odHRwYmluLm9yZy9wb3N0JywgYXJyYXkoKSwgYXJyYXkoCiAgICAgICAgJ2N1c3RvbV9maWVsZCcgPT4gJ215IGN1c3RvbSB2YWx1ZScsCiAgICAgICAgJ2ZpbGVfZmllbGQnICAgPT4gJ0AvcGF0aC90by9maWxlLnhtbCcKICAgICkpOwoKICAgICRyZXNwb25zZSA9ICRyZXF1ZXN0LT5zZW5kKCk7CgouLiBub3RlOjoKCiAgICBSZW1lbWJlciB0byAqKmFsd2F5cyoqIHNhbml0aXplIHVzZXIgaW5wdXQgd2hlbiBzZW5kaW5nIFBPU1QgcmVxdWVzdHM6CgogICAgLi4gY29kZS1ibG9jazo6IHBocAoKICAgICAgICAvLyBQcmV2ZW50IHVzZXJzIGZyb20gYWNjZXNzaW5nIHNlbnNpdGl2ZSBmaWxlcyBieSBzYW5pdGl6aW5nIGlucHV0CiAgICAgICAgJF9QT1NUID0gYXJyYXkoJ2ZpcnN0bmFtZScgPT4gJ0AvZXRjL3Bhc3N3ZCcpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+cG9zdCgnaHR0cDovL3d3dy5leGFtcGxlLmNvbScsIGFycmF5KCksIGFycmF5ICgKICAgICAgICAgICAgJ2ZpcnN0bmFtZScgPT4gc3RyX3JlcGxhY2UoJ0AnLCAnJywgJF9QT1NUWydmaXJzdG5hbWUnXSkKICAgICAgICApKTsKCllvdSBjYW4gYWx0ZXJuYXRpdmVseSBidWlsZCB1cCB0aGUgY29udGVudHMgb2YgYSBQT1NUIHJlcXVlc3QuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wb3N0KCdodHRwOi8vaHR0cGJpbi5vcmcvcG9zdCcpCiAgICAgICAgLT5zZXRQb3N0RmllbGQoJ2N1c3RvbV9maWVsZCcsICdteSBjdXN0b20gdmFsdWUnKQogICAgICAgIC0+YWRkUG9zdEZpbGUoJ2ZpbGUnLCAnL3BhdGgvdG8vZmlsZS54bWwnKTsKCiAgICAkcmVzcG9uc2UgPSAkcmVxdWVzdC0+c2VuZCgpOwoKUmF3IFBPU1QgZGF0YQpeXl5eXl5eXl5eXl5eCgpQT1NUIHJlcXVlc3RzIGNhbiBhbHNvIGNvbnRhaW4gcmF3IFBPU1QgZGF0YSB0aGF0IGlzIG5vdCByZWxhdGVkIHRvIEhUTUwgZm9ybXMuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wb3N0KCdodHRwOi8vaHR0cGJpbi5vcmcvcG9zdCcsIGFycmF5KCksICd0aGlzIGlzIHRoZSBib2R5Jyk7CiAgICAkcmVzcG9uc2UgPSAkcmVxdWVzdC0+c2VuZCgpOwoKWW91IGNhbiBzZXQgdGhlIGJvZHkgb2YgUE9TVCByZXF1ZXN0IHVzaW5nIHRoZSBgYHNldEJvZHkoKWBgIG1ldGhvZCBvZiB0aGUKYGBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RgYCBvYmplY3QuIFRoaXMgbWV0aG9kIGFjY2VwdHMgYSBzdHJpbmcsIGEgcmVzb3VyY2UgcmV0dXJuZWQgZnJvbQpgYGZvcGVuYGAsIG9yIGEgYGBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5SW50ZXJmYWNlYGAgb2JqZWN0LgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+cG9zdCgnaHR0cDovL2h0dHBiaW4ub3JnL3Bvc3QnKTsKICAgIC8vIFNldCB0aGUgYm9keSBvZiB0aGUgUE9TVCB0byBzdHJlYW0gdGhlIGNvbnRlbnRzIG9mIC9wYXRoL3RvL2xhcmdlX2JvZHkudHh0CiAgICAkcmVxdWVzdC0+c2V0Qm9keShmb3BlbignL3BhdGgvdG8vbGFyZ2VfYm9keS50eHQnLCAncicpKTsKICAgICRyZXNwb25zZSA9ICRyZXF1ZXN0LT5zZW5kKCk7CgpQVVQgcmVxdWVzdHMKfn5+fn5+fn5+fn5+CgpUaGUgYFBVVCBtZXRob2QgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjOS5odG1sI3NlYzkuNj5gXyByZXF1ZXN0cyB0aGF0IHRoZSBlbmNsb3NlZCBlbnRpdHkgYmUKc3RvcmVkIHVuZGVyIHRoZSBzdXBwbGllZCBSZXF1ZXN0LVVSSS4gUFVUIHJlcXVlc3RzIGFyZSBzaW1pbGFyIHRvIFBPU1QgcmVxdWVzdHMgaW4gdGhhdCB0aGV5IGJvdGggY2FuIHNlbmQgYW4gZW50aXR5CmJvZHkgaW4gdGhlIHJlcXVlc3QgbWVzc2FnZS4KClRoZSBib2R5IG9mIGEgUFVUIHJlcXVlc3QgKGFueSBhbnkgYGBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2VgYCBvYmplY3QpIGlzIGFsd2F5cyBzdG9yZWQgYXMKYSBgYEd1enpsZVxIdHRwXE1lc3NhZ2VcRW50aXR5Qm9keUludGVyZmFjZWBgIG9iamVjdC4gVGhpcyBhbGxvd3MgYSBncmVhdCBkZWFsIG9mIGZsZXhpYmlsaXR5IHdoZW4gc2VuZGluZyBkYXRhIHRvIGEKcmVtb3RlIHNlcnZlci4gRm9yIGV4YW1wbGUsIHlvdSBjYW4gc3RyZWFtIHRoZSBjb250ZW50cyBvZiBhIHN0cmVhbSByZXR1cm5lZCBieSBmb3Blbiwgc3RyZWFtIHRoZSBjb250ZW50cyBvZiBhCmNhbGxiYWNrIGZ1bmN0aW9uLCBvciBzaW1wbHkgc2VuZCBhIHN0cmluZyBvZiBkYXRhLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+cHV0KCdodHRwOi8vaHR0cGJpbi5vcmcvcHV0JywgYXJyYXkoKSwgJ3RoaXMgaXMgdGhlIGJvZHknKTsKICAgICRyZXNwb25zZSA9ICRyZXF1ZXN0LT5zZW5kKCk7CgpKdXN0IGxpa2Ugd2l0aCBQT1NULCBQQVRILCBhbmQgREVMRVRFIHJlcXVlc3RzLCB5b3UgY2FuIHNldCB0aGUgYm9keSBvZiBhIFBVVCByZXF1ZXN0IHVzaW5nIHRoZSBgYHNldEJvZHkoKWBgIG1ldGhvZC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnB1dCgnaHR0cDovL2h0dHBiaW4ub3JnL3B1dCcpOwogICAgJHJlcXVlc3QtPnNldEJvZHkoZm9wZW4oJy9wYXRoL3RvL2xhcmdlX2JvZHkudHh0JywgJ3InKSk7CiAgICAkcmVzcG9uc2UgPSAkcmVxdWVzdC0+c2VuZCgpOwoKUEFUQ0ggcmVxdWVzdHMKfn5+fn5+fn5+fn5+fn4KCmBQQVRDSCByZXF1ZXN0cyA8aHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNTc4OT5gXyBhcmUgdXNlZCB0byBtb2RpZnkgYSByZXNvdXJjZS4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnBhdGNoKCdodHRwOi8vaHR0cGJpbi5vcmcnLCBhcnJheSgpLCAndGhpcyBpcyB0aGUgYm9keScpOwogICAgJHJlc3BvbnNlID0gJHJlcXVlc3QtPnNlbmQoKTsKCk9QVElPTlMgcmVxdWVzdHMKfn5+fn5+fn5+fn5+fn5+fgoKVGhlIGBPUFRJT05TIG1ldGhvZCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWM5Lmh0bWwjc2VjOS4yPmBfIHJlcHJlc2VudHMgYSByZXF1ZXN0IGZvcgppbmZvcm1hdGlvbiBhYm91dCB0aGUgY29tbXVuaWNhdGlvbiBvcHRpb25zIGF2YWlsYWJsZSBvbiB0aGUgcmVxdWVzdC9yZXNwb25zZSBjaGFpbiBpZGVudGlmaWVkIGJ5IHRoZSBSZXF1ZXN0LVVSSS4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkcmVxdWVzdCA9ICRjbGllbnQtPm9wdGlvbnMoJ2h0dHA6Ly9odHRwYmluLm9yZycpOwogICAgJHJlc3BvbnNlID0gJHJlcXVlc3QtPnNlbmQoKTsKCiAgICAvLyBDaGVjayBpZiB0aGUgUFVUIG1ldGhvZCBpcyBzdXBwb3J0ZWQgYnkgdGhpcyByZXNvdXJjZQogICAgdmFyX2V4cG9ydCgkcmVzcG9uc2UtPmlzTWV0aG9kQWxsb3dzKCdQVVQnKSk7CgpDdXN0b20gcmVxdWVzdHMKfn5+fn5+fn5+fn5+fn5+CgpZb3UgY2FuIGNyZWF0ZSBjdXN0b20gSFRUUCByZXF1ZXN0cyB0aGF0IHVzZSBub24tc3RhbmRhcmQgSFRUUCBtZXRob2RzIHVzaW5nIHRoZSBgYGNyZWF0ZVJlcXVlc3QoKWBgIG1ldGhvZCBvZiBhCmNsaWVudCBvYmplY3QuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5jcmVhdGVSZXF1ZXN0KCdDT1BZJywgJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nLCBhcnJheSgKICAgICAgICAnRGVzdGluYXRpb24nID0+ICdodHRwOi8vZXhhbXBsZS5jb20vYmFyJywKICAgICAgICAnT3ZlcndyaXRlJyAgID0+ICdUJwogICAgKSk7CiAgICAkcmVzcG9uc2UgPSAkcmVxdWVzdC0+c2VuZCgpOwoKUXVlcnkgc3RyaW5nIHBhcmFtZXRlcnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzIG9mIGEgcmVxdWVzdCBhcmUgb3duZWQgYnkgYSByZXF1ZXN0J3MgYGBHdXp6bGVcSHR0cFxRdWVyeWBgIG9iamVjdCB0aGF0IGlzIGFjY2Vzc2libGUgYnkKY2FsbGluZyBgYCRyZXF1ZXN0LT5nZXRRdWVyeSgpYGAuIFRoZSBRdWVyeSBjbGFzcyBleHRlbmRzIGZyb20gYGBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb25gYCBhbmQgYWxsb3dzIHlvdSB0byBzZXQgb25lCm9yIG1vcmUgcXVlcnkgc3RyaW5nIHBhcmFtZXRlcnMgYXMga2V5IHZhbHVlIHBhaXJzLiBZb3UgY2FuIHNldCBhIHBhcmFtZXRlciBvbiBhIFF1ZXJ5IG9iamVjdCB1c2luZyB0aGUKYGBzZXQoJGtleSwgJHZhbHVlKWBgIG1ldGhvZCBvciBhY2Nlc3MgdGhlIHF1ZXJ5IHN0cmluZyBvYmplY3QgbGlrZSBhbiBhc3NvY2lhdGl2ZSBhcnJheS4gQW55IHByZXZpb3VzbHkgc3BlY2lmaWVkCnZhbHVlIGZvciBhIGtleSB3aWxsIGJlIG92ZXJ3cml0dGVuIHdoZW4gdXNpbmcgYGBzZXQoKWBgLiBVc2UgYGBhZGQoJGtleSwgJHZhbHVlKWBgIHRvIGFkZCBhIHZhbHVlIHRvIHF1ZXJ5IHN0cmluZwpvYmplY3QsIGFuZCBpbiB0aGUgZXZlbnQgb2YgYSBjb2xsaXNpb24gd2l0aCBhbiBleGlzdGluZyB2YWx1ZSBhdCBhIHNwZWNpZmljIGtleSwgdGhlIHZhbHVlIHdpbGwgYmUgY29udmVydGVkIHRvIGFuCmFycmF5IHRoYXQgY29udGFpbnMgYWxsIG9mIHRoZSBwcmV2aW91c2x5IHNldCB2YWx1ZXMuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QgPSBuZXcgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5leGFtcGxlLmNvbT9mb289YmFyJmFiYz0xMjMnKTsKCiAgICAkcXVlcnkgPSAkcmVxdWVzdC0+Z2V0UXVlcnkoKTsKICAgIGVjaG8gInskcXVlcnl9XG4iOwogICAgLy8gPj4+IGZvbz1iYXImYWJjPTEyMwoKICAgICRxdWVyeS0+cmVtb3ZlKCdhYmMnKTsKICAgIGVjaG8gInskcXVlcnl9XG4iOwogICAgLy8gPj4+IGZvbz1iYXIKCiAgICAkcXVlcnktPnNldCgnZm9vJywgJ2JheicpOwogICAgZWNobyAieyRxdWVyeX1cbiI7CiAgICAvLyA+Pj4gZm9vPWJhegoKICAgICRxdWVyeS0+YWRkKCdmb28nLCAnYmFyJyk7CiAgICBlY2hvICJ7JHF1ZXJ5fVxuIjsKICAgIC8vID4+PiBmb28lNUIwJTVEPWJheiZmb28lNUIxJTVEPWJhcgoKV2hvYWghIFdoYXQgaGFwcGVuZWQgdGhlcmU/IFdoZW4gYGBmb289YmFyYGAgd2FzIGFkZGVkIHRvIHRoZSBleGlzdGluZyBgYGZvbz1iYXpgYCBxdWVyeSBzdHJpbmcgcGFyYW1ldGVyLCB0aGUKYWdncmVnYXRvciBhc3NvY2lhdGVkIHdpdGggdGhlIFF1ZXJ5IG9iamVjdCB3YXMgdXNlZCB0byBoZWxwIGNvbnZlcnQgbXVsdGktdmFsdWUgcXVlcnkgc3RyaW5nIHBhcmFtZXRlcnMgaW50byBhIHN0cmluZy4KTGV0J3MgZGlzYWJsZSBVUkwtZW5jb2RpbmcgdG8gYmV0dGVyIHNlZSB3aGF0J3MgaGFwcGVuaW5nLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRxdWVyeS0+dXNlVXJsRW5jb2RpbmcoZmFsc2UpOwogICAgZWNobyAieyRxdWVyeX1cbiI7CiAgICAvLyA+Pj4gZm9vWzBdPWJheiZmb29bMV09YmFyCgouLiBub3RlOjoKCiAgICBVUkwgZW5jb2RpbmcgY2FuIGJlIGRpc2FibGVkIGJ5IHBhc3NpbmcgZmFsc2UsIGVuYWJsZWQgYnkgcGFzc2luZyB0cnVlLCBzZXQgdG8gdXNlIFJGQyAxNzM4IGJ5IHBhc3NpbmcKICAgIGBgUXVlcnk6OkZPUk1fVVJMRU5DT0RFRGBgIChpbnRlcm5hbGx5IHVzZXMgUEhQJ3MgYGB1cmxlbmNvZGVgYCBmdW5jdGlvbiksIG9yIHNldCB0byBSRkMgMzk4NiBieSBwYXNzaW5nCiAgICBgYFF1ZXJ5OjpSRkNfMzk4NmBgICh0aGlzIGlzIHRoZSBkZWZhdWx0IGFuZCBpbnRlcm5hbGx5IHVzZXMgUEhQJ3MgYGByYXd1cmxlbmNvZGVgYCBmdW5jdGlvbikuCgpBcyB5b3UgY2FuIHNlZSwgdGhlIG11bHRpcGxlIHZhbHVlcyB3ZXJlIGNvbnZlcnRlZCBpbnRvIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzIGZvbGxvd2luZyB0aGUgZGVmYXVsdCBQSFAgY29udmVudGlvbiBvZgphZGRpbmcgbnVtZXJpY2FsbHkgaW5kZXhlZCBzcXVhcmUgYnJhY2tldCBzdWZmaXhlcyB0byBlYWNoIGtleSAoYGBmb29bMF09YmF6JmZvb1sxXT1iYXJgYCkuIFRoZSBzdHJhdGVneSB1c2VkIHRvIGNvbnZlcnQKbXVsdGktdmFsdWUgcGFyYW1ldGVycyBpbnRvIGEgc3RyaW5nIGNhbiBiZSBjdXN0b21pemVkIHVzaW5nIHRoZSBgYHNldEFnZ3JlZ2F0b3IoKWBgIG1ldGhvZCBvZiB0aGUgUXVlcnkgY2xhc3MuIEd1enpsZQpzaGlwcyB3aXRoIHRoZSBmb2xsb3dpbmcgcXVlcnkgc3RyaW5nIGFnZ3JlZ2F0b3JzIGJ5IGRlZmF1bHQ6CgoxLiBgYEd1enpsZVxIdHRwXFF1ZXJ5QWdncmVnYXRvclxQaHBBZ2dyZWdhdG9yYGA6IEFnZ3JlZ2F0ZXMgdXNpbmcgUEhQIHN0eWxlIGJyYWNrZXRzIChlLmcuIGBgZm9vWzBdPWJheiZmb29bMV09YmFyYGApCjIuIGBgR3V6emxlXEh0dHBcUXVlcnlBZ2dyZWdhdG9yXER1cGxpY2F0ZUFnZ3JlZ2F0b3JgYDogUGVyZm9ybXMgbm8gYWdncmVnYXRpb24gYW5kIGFsbG93cyBmb3Iga2V5IHZhbHVlIHBhaXJzIHRvIGJlCiAgIHJlcGVhdGVkIGluIGEgVVJMIChlLmcuIGBgZm9vPWJheiZmb289YmFyYGApCjMuIGBgR3V6emxlXEh0dHBcUXVlcnlBZ2dyZWdhdG9yXENvbW1hQWdncmVnYXRvcmBgOiBBZ2dyZWdhdGVzIHVzaW5nIGNvbW1hcyAoZS5nLiBgYGZvbz1iYXosYmFyYGApCgouLiBfaHR0cC1tZXNzYWdlLWhlYWRlcnM6CgpIVFRQIE1lc3NhZ2UgSGVhZGVycwotLS0tLS0tLS0tLS0tLS0tLS0tLQoKSFRUUCBtZXNzYWdlIGhlYWRlcnMgYXJlIGNhc2UgaW5zZW5zaXRpdmUsIG11bHRpcGxlIG9jY3VycmVuY2VzIG9mIGFueSBoZWFkZXIgY2FuIGJlIHByZXNlbnQgaW4gYW4gSFRUUCBtZXNzYWdlCih3aGV0aGVyIGl0J3MgdmFsaWQgb3Igbm90KSwgYW5kIHNvbWUgc2VydmVycyByZXF1aXJlIHNwZWNpZmljIGNhc2luZyBvZiBwYXJ0aWN1bGFyIGhlYWRlcnMuIEJlY2F1c2Ugb2YgdGhpcywgcmVxdWVzdAphbmQgcmVzcG9uc2UgaGVhZGVycyBhcmUgc3RvcmVkIGluIGBgR3V6emxlXEh0dHBcTWVzc2FnZVxIZWFkZXJgYCBvYmplY3RzLiBUaGUgSGVhZGVyIG9iamVjdCBjYW4gYmUgY2FzdCBhcyBhIHN0cmluZywKY291bnRlZCwgb3IgaXRlcmF0ZWQgdG8gcmV0cmlldmUgZWFjaCB2YWx1ZSBmcm9tIHRoZSBoZWFkZXIuIENhc3RpbmcgYSBIZWFkZXIgb2JqZWN0IHRvIGEgc3RyaW5nIHdpbGwgcmV0dXJuIGFsbCBvZgp0aGUgaGVhZGVyIHZhbHVlcyBjb25jYXRlbmF0ZWQgdG9nZXRoZXIgdXNpbmcgYSBnbHVlIHN0cmluZyAodHlwaWNhbGx5ICIsICIpLgoKQSByZXF1ZXN0IChhbmQgcmVzcG9uc2UpIG9iamVjdCBoYXZlIHNldmVyYWwgbWV0aG9kcyB0aGF0IGFsbG93IHlvdSB0byByZXRyaWV2ZSBhbmQgbW9kaWZ5IGhlYWRlcnMuCgoqIGBgZ2V0SGVhZGVycygpYGA6IEdldCBhbGwgb2YgdGhlIGhlYWRlcnMgb2YgYSBtZXNzYWdlIGFzIGEgYGBHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlclxIZWFkZXJDb2xsZWN0aW9uYGAgb2JqZWN0LgoqIGBgZ2V0SGVhZGVyKCRoZWFkZXIpYGA6IEdldCBhIHNwZWNpZmljIGhlYWRlciBmcm9tIGEgbWVzc2FnZS4gSWYgdGhlIGhlYWRlciBleGlzdHMsIHlvdSdsbCBnZXQgYQogIGBgR3V6emxlXEh0dHBcTWVzc2FnZVxIZWFkZXJgYCBvYmplY3QuIElmIHRoZSBoZWFkZXIgZG9lcyBub3QgZXhpc3QsIHRoaXMgbWV0aG9kcyByZXR1cm5zIGBgbnVsbGBgLgoqIGBgaGFzSGVhZGVyKCRoZWFkZXIpYGA6IFJldHVybnMgdHJ1ZSBvciBmYWxzZSBiYXNlZCBvbiBpZiB0aGUgbWVzc2FnZSBoYXMgYSBwYXJ0aWN1bGFyIGhlYWRlci4KKiBgYHNldEhlYWRlcigkaGVhZGVyLCAkdmFsdWUpYGA6IFNldCBhIGhlYWRlciB2YWx1ZSBhbmQgb3ZlcndyaXRlIGFueSBwcmV2aW91c2x5IHNldCB2YWx1ZSBmb3IgdGhpcyBoZWFkZXIuCiogYGBhZGRIZWFkZXIoJGhlYWRlciwgJHZhbHVlKWBgOiBBZGQgYSBoZWFkZXIgd2l0aCBhIHBhcnRpY3VsYXIgbmFtZS4gSWYgYSBwcmV2aW91cyB2YWx1ZSB3YXMgYWxyZWFkeSBzZXQgYnkgdGhlIHNhbWUsCiAgdGhlbiB0aGUgaGVhZGVyIHdpbGwgY29udGFpbiBtdWx0aXBsZSB2YWx1ZXMuCiogYGByZW1vdmVIZWFkZXIoJGhlYWRlcilgYDogUmVtb3ZlIGEgaGVhZGVyIGJ5IG5hbWUgZnJvbSB0aGUgbWVzc2FnZS4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2h0dHBiaW4uY29tL2Nvb2tpZXMnKTsKICAgIC8vIGFkZEhlYWRlciB3aWxsIHNldCBhbmQgYXBwZW5kIHRvIGFueSBleGlzdGluZyBoZWFkZXIgdmFsdWVzCiAgICAkcmVxdWVzdC0+YWRkSGVhZGVyKCdGb28nLCAnYmFyJyk7CiAgICAkcmVxdWVzdC0+YWRkSGVhZGVyKCdmb28nLCAnYmF6Jyk7CiAgICAvLyBzZXRIZWFkZXIgb3ZlcndyaXRlcyBhbnkgZXhpc3RpbmcgdmFsdWVzCiAgICAkcmVxdWVzdC0+c2V0SGVhZGVyKCdUZXN0JywgJzEyMycpOwoKICAgIC8vIFJlcXVlc3QgaGVhZGVycyBjYW4gYmUgY2FzdCBhcyBhIHN0cmluZwogICAgZWNobyAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdGb28nKTsKICAgIC8vID4+PiBiYXIsIGJhegogICAgZWNobyAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdUZXN0Jyk7CiAgICAvLyA+Pj4gMTIzCgogICAgLy8gWW91IGNhbiBjb3VudCB0aGUgbnVtYmVyIG9mIGhlYWRlcnMgb2YgYSBwYXJ0aWN1bGFyIGNhc2UgaW5zZW5zaXRpdmUgbmFtZQogICAgZWNobyBjb3VudCgkcmVxdWVzdC0+Z2V0SGVhZGVyKCdmb08nKSk7CiAgICAvLyA+Pj4gMgoKICAgIC8vIFlvdSBjYW4gaXRlcmF0ZSBvdmVyIEhlYWRlciBvYmplY3RzCiAgICBmb3JlYWNoICgkcmVxdWVzdC0+Z2V0SGVhZGVyKCdmb28nKSBhcyAkaGVhZGVyKSB7CiAgICAgICAgZWNobyAkaGVhZGVyIC4gIlxuIjsKICAgIH0KCiAgICAvLyBZb3UgY2FuIGdldCBhbGwgb2YgdGhlIHJlcXVlc3QgaGVhZGVycyBhcyBhIEd1enpsZVxIdHRwXE1lc3NhZ2VcSGVhZGVyXEhlYWRlckNvbGxlY3Rpb24gb2JqZWN0CiAgICAkaGVhZGVycyA9ICRyZXF1ZXN0LT5nZXRIZWFkZXJzKCk7CgogICAgLy8gTWlzc2luZyBoZWFkZXJzIHJldHVybiBOVUxMCiAgICB2YXJfZXhwb3J0KCRyZXF1ZXN0LT5nZXRIZWFkZXIoJ01pc3NpbmcnKSk7CiAgICAvLyA+Pj4gbnVsbAoKICAgIC8vIFlvdSBjYW4gc2VlIGFsbCBvZiB0aGUgZGlmZmVyZW50IHZhcmlhdGlvbnMgb2YgYSBoZWFkZXIgYnkgY2FsbGluZyByYXcoKSBvbiB0aGUgSGVhZGVyCiAgICB2YXJfZXhwb3J0KCRyZXF1ZXN0LT5nZXRIZWFkZXIoJ2ZvbycpLT5yYXcoKSk7CgpTZXR0aW5nIHRoZSBib2R5IG9mIGEgcmVxdWVzdAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKUmVxdWVzdHMgdGhhdCBjYW4gc2VuZCBhIGJvZHkgKGUuZy4gUFVULCBQT1NULCBERUxFVEUsIFBBVENIKSBhcmUgaW5zdGFuY2VzIG9mCmBgR3V6emxlXEh0dHBcTWVzc2FnZVxFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0SW50ZXJmYWNlYGAuIEVudGl0eSBlbmNsb3NpbmcgcmVxdWVzdHMgY29udGFpbiBzZXZlcmFsIG1ldGhvZHMgdGhhdCBhbGxvdwp5b3UgdG8gc3BlY2lmeSB0aGUgYm9keSB0byBzZW5kIHdpdGggYSByZXF1ZXN0LgoKVXNlIHRoZSBgYHNldEJvZHkoKWBgIG1ldGhvZCBvZiBhIHJlcXVlc3QgdG8gc2V0IHRoZSBib2R5IHRoYXQgd2lsbCBiZSBzZW50IHdpdGggYSByZXF1ZXN0LiBUaGlzIG1ldGhvZCBhY2NlcHRzIGEKc3RyaW5nLCBhIHJlc291cmNlIHJldHVybmVkIGJ5IGBgZm9wZW4oKWBgLCBhbiBhcnJheSwgb3IgYW4gaW5zdGFuY2Ugb2YgYGBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5SW50ZXJmYWNlYGAuIFRoZSBib2R5CndpbGwgdGhlbiBiZSBzdHJlYW1lZCBmcm9tIHRoZSB1bmRlcmx5aW5nIGBgRW50aXR5Qm9keUludGVyZmFjZWBgIG9iamVjdCBvd25lZCBieSB0aGUgcmVxdWVzdC4gV2hlbiBzZXR0aW5nIHRoZSBib2R5Cm9mIHRoZSByZXF1ZXN0LCB5b3UgY2FuIG9wdGlvbmFsbHkgc3BlY2lmeSBhIENvbnRlbnQtVHlwZSBoZWFkZXIgYW5kIHdoZXRoZXIgb3Igbm90IHRvIGZvcmNlIHRoZSByZXF1ZXN0IHRvIHVzZQpjaHVua2VkIFRyYW5zZmVyLUVuY29kaW5nLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+cHV0KCcvdXNlci5qc29uJyk7CiAgICAkcmVxdWVzdC0+c2V0Qm9keSgneyJmb28iOiJiYXoifScsICdhcHBsaWNhdGlvbi9qc29uJyk7CgpDb250ZW50LVR5cGUgaGVhZGVyCn5+fn5+fn5+fn5+fn5+fn5+fn4KCkd1enpsZSB3aWxsIGF1dG9tYXRpY2FsbHkgYWRkIGEgQ29udGVudC1UeXBlIGhlYWRlciB0byBhIHJlcXVlc3QgaWYgdGhlIENvbnRlbnQtVHlwZSBjYW4gYmUgZ3Vlc3NlZCBiYXNlZCBvbiB0aGUgZmlsZQpleHRlbnNpb24gb2YgdGhlIHBheWxvYWQgYmVpbmcgc2VudCBvciB0aGUgZmlsZSBleHRlbnNpb24gcHJlc2VudCBpbiB0aGUgcGF0aCBvZiBhIHJlcXVlc3QuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wdXQoJy91c2VyLmpzb24nLCBhcnJheSgpLCAneyJmb28iOiJiYXIifScpOwogICAgLy8gVGhlIENvbnRlbnQtVHlwZSB3YXMgZ3Vlc3NlZCBiYXNlZCBvbiB0aGUgcGF0aCBvZiB0aGUgcmVxdWVzdAogICAgZWNobyAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdDb250ZW50LVR5cGUnKTsKICAgIC8vID4+PiBhcHBsaWNhdGlvbi9qc29uCgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wdXQoJy91c2VyLmpzb24nKTsKICAgICRyZXF1ZXN0LT5zZXRCb2R5KGZvcGVuKCcvdG1wL3VzZXJfZGF0YS5qc29uJywgJ3InKSk7CiAgICAvLyBUaGUgQ29udGVudC1UeXBlIHdhcyBndWVzc2VkIGJhc2VkIG9uIHRoZSBwYXRoIG9mIHRoZSBlbnRpdHkgYm9keQogICAgZWNobyAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdDb250ZW50LVR5cGUnKTsKICAgIC8vID4+PiBhcHBsaWNhdGlvbi9qc29uCgpUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZCBoZWFkZXIKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpXaGVuIHNlbmRpbmcgSFRUUCByZXF1ZXN0cyB0aGF0IGNvbnRhaW4gYSBwYXlsb2FkLCB5b3UgbXVzdCBsZXQgdGhlIHJlbW90ZSBzZXJ2ZXIga25vdyBob3cgdG8gZGV0ZXJtaW5lIHdoZW4gdGhlIGVudGlyZQptZXNzYWdlIGhhcyBiZWVuIHNlbnQuIFRoaXMgdXN1YWxseSBpcyBkb25lIGJ5IHN1cHBseWluZyBhIGBgQ29udGVudC1MZW5ndGhgYCBoZWFkZXIgdGhhdCB0ZWxscyB0aGUgb3JpZ2luIHNlcnZlciB0aGUKc2l6ZSBvZiB0aGUgYm9keSB0aGF0IGlzIHRvIGJlIHNlbnQuIEluIHNvbWUgY2FzZXMsIHRoZSBzaXplIG9mIHRoZSBwYXlsb2FkIGJlaW5nIHNlbnQgaW4gYSByZXF1ZXN0IGNhbm5vdCBiZSBrbm93bgpiZWZvcmUgaW5pdGlhdGluZyB0aGUgdHJhbnNmZXIuIEluIHRoZXNlIGNhc2VzICh3aGVuIHVzaW5nIEhUVFAvMS4xKSwgeW91IGNhbiB1c2UgdGhlIGBgVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRgYApoZWFkZXIuCgpJZiB0aGUgQ29udGVudC1MZW5ndGggY2Fubm90IGJlIGRldGVybWluZWQgKGkuZS4gdXNpbmcgYSBQSFAgYGBodHRwOi8vYGAgc3RyZWFtKSwgdGhlbiBHdXp6bGUgd2lsbCBhdXRvbWF0aWNhbGx5IGFkZAp0aGUgYGBUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZGBgIGhlYWRlciB0byB0aGUgcmVxdWVzdC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnB1dCgnL3VzZXIuanNvbicpOwogICAgJHJlcXVlc3QtPnNldEJvZHkoZm9wZW4oJ2h0dHA6Ly9odHRwYmluLm9yZy9nZXQnLCAncicpKTsKCiAgICAvLyBUaGUgQ29udGVudC1MZW5ndGggY291bGQgbm90IGJlIGRldGVybWluZWQKICAgIGVjaG8gJHJlcXVlc3QtPmdldEhlYWRlcignVHJhbnNmZXItRW5jb2RpbmcnKTsKICAgIC8vID4+PiBjaHVua2VkCgpTZWUgOmRvYzpgL2h0dHAtY2xpZW50L2VudGl0eS1ib2RpZXNgIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGVudGl0eSBib2RpZXMuCgpFeHBlY3Q6IDEwMC1Db250aW51ZSBoZWFkZXIKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpUaGUgYGBFeHBlY3Q6IDEwMC1Db250aW51ZWBgIGhlYWRlciBpcyB1c2VkIHRvIGhlbHAgYSBjbGllbnQgcHJldmVudCBzZW5kaW5nIGEgbGFyZ2UgcGF5bG9hZCB0byBhIHNlcnZlciB0aGF0IHdpbGwKcmVqZWN0IHRoZSByZXF1ZXN0LiBUaGlzIGFsbG93cyBjbGllbnRzIHRvIGZhaWwgZmFzdCByYXRoZXIgdGhhbiB3YXN0ZSBiYW5kd2lkdGggc2VuZGluZyBhbiBlcnJvbmVvdXMgcGF5bG9hZC4gR3V6emxlCndpbGwgYXV0b21hdGljYWxseSBhZGQgdGhlIGBgRXhwZWN0OiAxMDAtQ29udGludWVgYCBoZWFkZXIgdG8gYSByZXF1ZXN0IHdoZW4gdGhlIHNpemUgb2YgdGhlIHBheWxvYWQgZXhjZWVkcyAxTUIgb3IgaWYKdGhlIGJvZHkgb2YgdGhlIHJlcXVlc3QgaXMgbm90IHNlZWthYmxlICh0aGlzIGhlbHBzIHRvIHByZXZlbnQgZXJyb3JzIHdoZW4gYSBub24tc2Vla2FibGUgYm9keSByZXF1ZXN0IGlzIHJlZGlyZWN0ZWQpLgoKLi4gbm90ZTo6CgogICAgSWYgeW91IGZpbmQgdGhhdCB5b3VyIGxhcmdlciByZXF1ZXN0cyBhcmUgdGFraW5nIHRvbyBsb25nIHRvIGNvbXBsZXRlLCB5b3Ugc2hvdWxkIGZpcnN0IGNoZWNrIGlmIHRoZQogICAgYGBFeHBlY3Q6IDEwMC1Db250aW51ZWBgIGhlYWRlciBpcyBiZWluZyBzZW50IHdpdGggdGhlIHJlcXVlc3QuIFNvbWUgc2VydmVycyBkbyBub3QgcmVzcG9uZCB3ZWxsIHRvIHRoaXMgaGVhZGVyLAogICAgd2hpY2ggY2F1c2VzIGNVUkwgdG8gc2xlZXAgZm9yIGAxIHNlY29uZCA8aHR0cDovL2N1cmwuaGF4eC5zZS9tYWlsL2xpYi0yMDEwLTAxLzAxODIuaHRtbD5gXy4KClBPU1QgZmllbGRzIGFuZCBmaWxlcwp+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCkFueSBlbnRpdHkgZW5jbG9zaW5nIHJlcXVlc3QgY2FuIHNlbmQgUE9TVCBzdHlsZSBmaWVsZHMgYW5kIGZpbGVzLiBUaGlzIGluY2x1ZGVzIFBPU1QsIFBVVCwgUEFUQ0gsIGFuZCBERUxFVEUgcmVxdWVzdHMuCkFueSByZXF1ZXN0IHRoYXQgaGFzIHNldCBQT1NUIGZpZWxkcyBvciBmaWxlcyB3aWxsIHVzZSBjVVJMJ3MgUE9TVCBtZXNzYWdlIGZ1bmN0aW9uYWxpdHkuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wb3N0KCcvcG9zdCcpOwogICAgLy8gU2V0IGFuIG92ZXJ3cml0ZSBhbnkgcHJldmlvdXNseSBzcGVjaWZpZWQgdmFsdWUKICAgICRyZXF1ZXN0LT5zZXRQb3N0RmllbGQoJ2ZvbycsICdiYXInKTsKICAgIC8vIEFwcGVuZCBhIHZhbHVlIHRvIGFueSBleGlzdGluZyB2YWx1ZXMKICAgICRyZXF1ZXN0LT5nZXRQb3N0RmllbGRzKCktPmFkZCgnZm9vJywgJ2JheicpOwogICAgLy8gUmVtb3ZlIGEgUE9TVCBmaWVsZCBieSBuYW1lCiAgICAkcmVxdWVzdC0+cmVtb3ZlUG9zdEZpZWxkKCdmaXp6Jyk7CgogICAgLy8gQWRkIGEgZmlsZSB0byB1cGxvYWQgKGZvcmNlcyBtdWx0aXBhcnQvZm9ybS1kYXRhKQogICAgJHJlcXVlc3QtPmFkZFBvc3RGaWxlKCdteV9maWxlJywgJy9wYXRoL3RvL2ZpbGUnLCAncGxhaW4vdGV4dCcpOwogICAgLy8gUmVtb3ZlIGEgUE9TVCBmaWxlIGJ5IFBPU1Qga2V5IG5hbWUKICAgICRyZXF1ZXN0LT5yZW1vdmVQb3N0RmlsZSgnbXlfb3RoZXJfZmlsZScpOwoKLi4gdGlwOjoKCiAgICBBZGRpbmcgYSBsYXJnZSBudW1iZXIgb2YgUE9TVCBmaWVsZHMgdG8gYSBQT1NUIHJlcXVlc3QgaXMgZmFzdGVyIGlmIHlvdSB1c2UgdGhlIGBgYWRkUG9zdEZpZWxkcygpYGAgbWV0aG9kIHNvIHRoYXQKICAgIHlvdSBjYW4gYWRkIGFuZCBwcm9jZXNzIG11bHRpcGxlIGZpZWxkcyB3aXRoIGEgc2luZ2xlIGNhbGwuIEFkZGluZyBtdWx0aXBsZSBQT1NUIGZpbGVzIGlzIGFsc28gZmFzdGVyIHVzaW5nCiAgICBgYGFkZFBvc3RGaWxlcygpYGAuCgpXb3JraW5nIHdpdGggY29va2llcwotLS0tLS0tLS0tLS0tLS0tLS0tLQoKQ29va2llcyBjYW4gYmUgbW9kaWZpZWQgYW5kIHJldHJpZXZlZCBmcm9tIGEgcmVxdWVzdCB1c2luZyB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QtPmFkZENvb2tpZSgkbmFtZSwgJHZhbHVlKTsKICAgICRyZXF1ZXN0LT5yZW1vdmVDb29raWUoJG5hbWUpOwogICAgJHZhbHVlID0gJHJlcXVlc3QtPmdldENvb2tpZSgkbmFtZSk7CiAgICAkdmFsdWVBcnJheSA9ICRyZXF1ZXN0LT5nZXRDb29raWVzKCk7CgpVc2UgdGhlIDpkb2M6YGNvb2tpZSBwbHVnaW4gPC9wbHVnaW5zL2Nvb2tpZS1wbHVnaW4+YCBpZiB5b3UgbmVlZCB0byByZXVzZSBjb29raWVzIGJldHdlZW4gcmVxdWVzdHMuCgouLiBfcmVxdWVzdC1zZXQtcmVzcG9uc2UtYm9keToKCkNoYW5naW5nIHdoZXJlIGEgcmVzcG9uc2UgaXMgZG93bmxvYWRlZAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpXaGVuIGEgcmVxdWVzdCBpcyBzZW50LCB0aGUgYm9keSBvZiB0aGUgcmVzcG9uc2Ugd2lsbCBiZSBzdG9yZWQgaW4gYSBQSFAgdGVtcCBzdHJlYW0gYnkgZGVmYXVsdC4gWW91IGNhbiBjaGFuZ2UgdGhlCmxvY2F0aW9uIGluIHdoaWNoIHRoZSByZXNwb25zZSB3aWxsIGJlIGRvd25sb2FkZWQgdXNpbmcgYGAkcmVxdWVzdC0+c2V0UmVzcG9uc2VCb2R5KCRib2R5KWBgIG9yIHRoZSBgYHNhdmVfdG9gYCByZXF1ZXN0Cm9wdGlvbi4gVGhpcyBjYW4gYmUgdXNlZnVsIGZvciBkb3dubG9hZGluZyB0aGUgY29udGVudHMgb2YgYSBVUkwgdG8gYSBzcGVjaWZpYyBmaWxlLgoKSGVyZSdzIGFuIGV4YW1wbGUgb2YgdXNpbmcgcmVxdWVzdCBvcHRpb25zOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXF1ZXN0ID0gJHRoaXMtPmNsaWVudC0+Z2V0KCdodHRwOi8vZXhhbXBsZS5jb20vbGFyZ2UubW92JywgYXJyYXkoKSwgYXJyYXkoCiAgICAgICAgJ3NhdmVfdG8nID0+ICcvdG1wL2xhcmdlX2ZpbGUubW92JwogICAgKSk7CiAgICAkcmVxdWVzdC0+c2VuZCgpOwogICAgdmFyX2V4cG9ydChmaWxlX2V4aXN0cygnL3RtcC9sYXJnZV9maWxlLm1vdicpKTsKICAgIC8vID4+PiB0cnVlCgpIZXJlJ3MgYW4gZXhhbXBsZSBvZiB1c2luZyBgYHNldFJlc3BvbnNlQm9keSgpYGA6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGJvZHkgPSBmb3BlbignL3RtcC9sYXJnZV9maWxlLm1vdicsICd3Jyk7CiAgICAkcmVxdWVzdCA9ICR0aGlzLT5jbGllbnQtPmdldCgnaHR0cDovL2V4YW1wbGUuY29tL2xhcmdlLm1vdicpOwogICAgJHJlcXVlc3QtPnNldFJlc3BvbnNlQm9keSgkYm9keSk7CgogICAgLy8gWW91IGNhbiBtb3JlIGVhc2lseSBzcGVjaWZ5IHRoZSBuYW1lIG9mIGEgZmlsZSB0byBzYXZlIHRoZSBjb250ZW50cwogICAgLy8gb2YgdGhlIHJlc3BvbnNlIHRvIGJ5IHBhc3NpbmcgYSBzdHJpbmcgdG8gYGBzZXRSZXNwb25zZUJvZHkoKWBgLgoKICAgICRyZXF1ZXN0ID0gJHRoaXMtPmNsaWVudC0+Z2V0KCdodHRwOi8vZXhhbXBsZS5jb20vbGFyZ2UubW92Jyk7CiAgICAkcmVxdWVzdC0+c2V0UmVzcG9uc2VCb2R5KCcvdG1wL2xhcmdlX2ZpbGUubW92Jyk7CgpDdXN0b20gY1VSTCBvcHRpb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vc3Qgb2YgdGhlIGZ1bmN0aW9uYWxpdHkgaW1wbGVtZW50ZWQgaW4gdGhlIGxpYmN1cmwgYmluZGluZ3MgaGFzIGJlZW4gc2ltcGxpZmllZCBhbmQgYWJzdHJhY3RlZCBieSBHdXp6bGUuIERldmVsb3BlcnMKd2hvIG5lZWQgYWNjZXNzIHRvIGBjVVJMIHNwZWNpZmljIGZ1bmN0aW9uYWxpdHkgPGh0dHA6Ly93d3cucGhwLm5ldC9jdXJsX3NldG9wdD5gXyBjYW4gc3RpbGwgYWRkIGNVUkwgaGFuZGxlCnNwZWNpZmljIGJlaGF2aW9yIHRvIEd1enpsZSBIVFRQIHJlcXVlc3RzIGJ5IG1vZGlmeWluZyB0aGUgY1VSTCBvcHRpb25zIGNvbGxlY3Rpb24gb2YgYSByZXF1ZXN0OgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5zZXQoQ1VSTE9QVF9MT1dfU1BFRURfTElNSVQsIDIwMCk7CgpPdGhlciBzcGVjaWFsIG9wdGlvbnMgdGhhdCBjYW4gYmUgc2V0IGluIHRoZSBgYGN1cmwub3B0aW9uc2BgIGFycmF5IGluY2x1ZGU6CgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgZGVidWcgICAgICAgICAgICAgICAgICAgfCBBZGRzIHZlcmJvc2UgY1VSTCBvdXRwdXQgdG8gYSB0ZW1wIHN0cmVhbSBvd25lZCBieSB0aGUgY1VSTCBoYW5kbGUgb2JqZWN0ICAgICAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IHByb2dyZXNzICAgICAgICAgICAgICAgIHwgSW5zdHJ1Y3RzIGNVUkwgdG8gZW1pdCBldmVudHMgd2hlbiBJTyBldmVudHMgb2NjdXIuIFRoaXMgYWxsb3dzIHlvdSB0byBiZSAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgfCBub3RpZmllZCB3aGVuIGJ5dGVzIGFyZSB0cmFuc2ZlcnJlZCBvdmVyIHRoZSB3aXJlIGJ5IHN1YnNjcmliaW5nIHRvIGEgcmVxdWVzdCdzIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgY3VybC5jYWxsYmFjay5yZWFkYGAsIGBgY3VybC5jYWxsYmFjay53cml0ZWBgLCBhbmQgYGBjdXJsLmNhbGxiYWNrLnByb2dyZXNzYGAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgZXZlbnRzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKClJlcXVlc3Qgb3B0aW9ucwotLS0tLS0tLS0tLS0tLS0KClJlcXVlc3RzIG9wdGlvbnMgY2FuIGJlIHNwZWNpZmllZCB3aGVuIGNyZWF0aW5nIGEgcmVxdWVzdCBvciBpbiB0aGUgYGByZXF1ZXN0Lm9wdGlvbnNgYCBwYXJhbWV0ZXIgb2YgYSBjbGllbnQuIFRoZXNlCm9wdGlvbnMgY2FuIGNvbnRyb2wgdmFyaW91cyBhc3BlY3RzIG9mIGEgcmVxdWVzdCBpbmNsdWRpbmc6IGhlYWRlcnMgdG8gc2VuZCwgcXVlcnkgc3RyaW5nIGRhdGEsIHdoZXJlIHRoZSByZXNwb25zZQpzaG91bGQgYmUgZG93bmxvYWRlZCwgcHJveGllcywgYXV0aCwgZXRjLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCR1cmwsICRoZWFkZXJzLCBhcnJheSgncHJveHknID0+ICdodHRwOi8vcHJveHkuY29tJykpOwoKU2VlIDpyZWY6YFJlcXVlc3Qgb3B0aW9ucyA8cmVxdWVzdC1vcHRpb25zPmAgZm9yIG1vcmUgaW5mb3JtYXRpb24uCgpXb3JraW5nIHdpdGggZXJyb3JzCi0tLS0tLS0tLS0tLS0tLS0tLS0KCkhUVFAgZXJyb3JzCn5+fn5+fn5+fn5+CgpSZXF1ZXN0cyB0aGF0IHJlY2VpdmUgYSA0eHggb3IgNXh4IHJlc3BvbnNlIHdpbGwgdGhyb3cgYSBgYEd1enpsZVxIdHRwXEV4Y2VwdGlvblxCYWRSZXNwb25zZUV4Y2VwdGlvbmBgLiBNb3JlCnNwZWNpZmljYWxseSwgNHh4IGVycm9ycyB0aHJvdyBhIGBgR3V6emxlXEh0dHBcRXhjZXB0aW9uXENsaWVudEVycm9yUmVzcG9uc2VFeGNlcHRpb25gYCwgYW5kIDV4eCBlcnJvcnMgdGhyb3cgYQpgYEd1enpsZVxIdHRwXEV4Y2VwdGlvblxTZXJ2ZXJFcnJvclJlc3BvbnNlRXhjZXB0aW9uYGAuIFlvdSBjYW4gY2F0Y2ggdGhlIHNwZWNpZmljIGV4Y2VwdGlvbnMgb3IganVzdCBjYXRjaCB0aGUKQmFkUmVzcG9uc2VFeGNlcHRpb24gdG8gZGVhbCB3aXRoIGVpdGhlciB0eXBlIG9mIGVycm9yLiBIZXJlJ3MgYW4gZXhhbXBsZSBvZiBjYXRjaGluZyBhIGdlbmVyaWMgQmFkUmVzcG9uc2VFeGNlcHRpb246CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdHJ5IHsKICAgICAgICAkcmVzcG9uc2UgPSAkY2xpZW50LT5nZXQoJy9ub3RfZm91bmQueG1sJyktPnNlbmQoKTsKICAgIH0gY2F0Y2ggKEd1enpsZVxIdHRwXEV4Y2VwdGlvblxCYWRSZXNwb25zZUV4Y2VwdGlvbiAkZSkgewogICAgICAgIGVjaG8gJ1VoIG9oISAnIC4gJGUtPmdldE1lc3NhZ2UoKTsKICAgICAgICBlY2hvICdIVFRQIHJlcXVlc3QgVVJMOiAnIC4gJGUtPmdldFJlcXVlc3QoKS0+Z2V0VXJsKCkgLiAiXG4iOwogICAgICAgIGVjaG8gJ0hUVFAgcmVxdWVzdDogJyAuICRlLT5nZXRSZXF1ZXN0KCkgLiAiXG4iOwogICAgICAgIGVjaG8gJ0hUVFAgcmVzcG9uc2Ugc3RhdHVzOiAnIC4gJGUtPmdldFJlc3BvbnNlKCktPmdldFN0YXR1c0NvZGUoKSAuICJcbiI7CiAgICAgICAgZWNobyAnSFRUUCByZXNwb25zZTogJyAuICRlLT5nZXRSZXNwb25zZSgpIC4gIlxuIjsKICAgIH0KClRocm93aW5nIGFuIGV4Y2VwdGlvbiB3aGVuIGEgNHh4IG9yIDV4eCByZXNwb25zZSBpcyBlbmNvdW50ZXJlZCBpcyB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBHdXp6bGUgcmVxdWVzdHMuIFRoaXMKYmVoYXZpb3IgY2FuIGJlIG92ZXJyaWRkZW4gYnkgYWRkaW5nIGFuIGV2ZW50IGxpc3RlbmVyIHdpdGggYSBoaWdoZXIgcHJpb3JpdHkgdGhhbiAtMjU1IHRoYXQgc3RvcHMgZXZlbnQgcHJvcGFnYXRpb24uCllvdSBjYW4gc3Vic2NyaWJlIHRvIGBgcmVxdWVzdC5lcnJvcmBgIHRvIHJlY2VpdmUgbm90aWZpY2F0aW9ucyBhbnkgdGltZSBhbiB1bnN1Y2Nlc3NmdWwgcmVzcG9uc2UgaXMgcmVjZWl2ZWQuCgpZb3UgY2FuIGNoYW5nZSB0aGUgcmVzcG9uc2UgdGhhdCB3aWxsIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVxdWVzdCBieSBjYWxsaW5nIGBgc2V0UmVzcG9uc2UoKWBgIG9uIHRoZQpgYCRldmVudFsncmVxdWVzdCddYGAgb2JqZWN0IHBhc3NlZCBpbnRvIHlvdXIgbGlzdGVuZXIsIG9yIGJ5IGNoYW5naW5nIHRoZSBgYCRldmVudFsncmVzcG9uc2UnXWBgIHZhbHVlIG9mIHRoZQpgYEd1enpsZVxDb21tb25cRXZlbnRgYCBvYmplY3QgdGhhdCBpcyBwYXNzZWQgdG8geW91ciBsaXN0ZW5lci4gVHJhbnNwYXJlbnRseSBjaGFuZ2luZyB0aGUgcmVzcG9uc2UgYXNzb2NpYXRlZCB3aXRoIGEKcmVxdWVzdCBieSBtb2RpZnlpbmcgdGhlIGV2ZW50IGFsbG93cyB5b3UgdG8gcmV0cnkgZmFpbGVkIHJlcXVlc3RzIHdpdGhvdXQgY29tcGxpY2F0aW5nIHRoZSBjb2RlIHRoYXQgdXNlcyB0aGUgY2xpZW50LgpUaGlzIG1pZ2h0IGJlIHVzZWZ1bCBmb3Igc2VuZGluZyByZXF1ZXN0cyB0byBhIHdlYiBzZXJ2aWNlIHRoYXQgaGFzIGV4cGlyaW5nIGF1dGggdG9rZW5zLiBXaGVuIGEgcmVzcG9uc2Ugc2hvd3MgdGhhdAp5b3VyIHRva2VuIGhhcyBleHBpcmVkLCB5b3UgY2FuIGdldCBhIG5ldyB0b2tlbiwgcmV0cnkgdGhlIHJlcXVlc3Qgd2l0aCB0aGUgbmV3IHRva2VuLCBhbmQgcmV0dXJuIHRoZSBzdWNjZXNzZnVsCnJlc3BvbnNlIHRvIHRoZSB1c2VyLgoKSGVyZSdzIGFuIGV4YW1wbGUgb2YgcmV0cnlpbmcgYSByZXF1ZXN0IHVzaW5nIHVwZGF0ZWQgYXV0aG9yaXphdGlvbiBjcmVkZW50aWFscyB3aGVuIGEgNDAxIHJlc3BvbnNlIGlzIHJlY2VpdmVkLApvdmVycmlkaW5nIHRoZSByZXNwb25zZSBvZiB0aGUgb3JpZ2luYWwgcmVxdWVzdCB3aXRoIHRoZSBuZXcgcmVzcG9uc2UsIGFuZCBzdGlsbCBhbGxvd2luZyB0aGUgZGVmYXVsdCBleGNlcHRpb24KYmVoYXZpb3IgdG8gYmUgY2FsbGVkIHdoZW4gb3RoZXIgbm9uLTIwMCByZXNwb25zZSBzdGF0dXMgY29kZXMgYXJlIGVuY291bnRlcmVkOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIEFkZCBjdXN0b20gZXJyb3IgaGFuZGxpbmcgdG8gYW55IHJlcXVlc3QgY3JlYXRlZCBieSB0aGlzIGNsaWVudAogICAgJGNsaWVudC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCdyZXF1ZXN0LmVycm9yJywgZnVuY3Rpb24oRXZlbnQgJGV2ZW50KSB7CgogICAgICAgIGlmICgkZXZlbnRbJ3Jlc3BvbnNlJ10tPmdldFN0YXR1c0NvZGUoKSA9PSA0MDEpIHsKCiAgICAgICAgICAgICRuZXdSZXF1ZXN0ID0gJGV2ZW50WydyZXF1ZXN0J10tPmNsb25lKCk7CiAgICAgICAgICAgICRuZXdSZXF1ZXN0LT5zZXRIZWFkZXIoJ1gtQXV0aC1IZWFkZXInLCBNeUFwcGxpY2F0aW9uOjpnZXROZXdBdXRoVG9rZW4oKSk7CiAgICAgICAgICAgICRuZXdSZXNwb25zZSA9ICRuZXdSZXF1ZXN0LT5zZW5kKCk7CgogICAgICAgICAgICAvLyBTZXQgdGhlIHJlc3BvbnNlIG9iamVjdCBvZiB0aGUgcmVxdWVzdCB3aXRob3V0IGZpcmluZyBtb3JlIGV2ZW50cwogICAgICAgICAgICAkZXZlbnRbJ3Jlc3BvbnNlJ10gPSAkbmV3UmVzcG9uc2U7CgogICAgICAgICAgICAvLyBZb3UgY2FuIGFsc28gY2hhbmdlIHRoZSByZXNwb25zZSBhbmQgZmlyZSB0aGUgbm9ybWFsIGNoYWluIG9mCiAgICAgICAgICAgIC8vIGV2ZW50cyBieSBjYWxsaW5nICRldmVudFsncmVxdWVzdCddLT5zZXRSZXNwb25zZSgkbmV3UmVzcG9uc2UpOwoKICAgICAgICAgICAgLy8gU3RvcCBvdGhlciBldmVudHMgZnJvbSBmaXJpbmcgd2hlbiB5b3Ugb3ZlcnJpZGUgNDAxIHJlc3BvbnNlcwogICAgICAgICAgICAkZXZlbnQtPnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KCiAgICB9KTsKCmNVUkwgZXJyb3JzCn5+fn5+fn5+fn5+CgpDb25uZWN0aW9uIHByb2JsZW1zIGFuZCBjVVJMIHNwZWNpZmljIGVycm9ycyBjYW4gYWxzbyBvY2N1ciB3aGVuIHRyYW5zZmVycmluZyByZXF1ZXN0cyB1c2luZyBHdXp6bGUuIFdoZW4gR3V6emxlCmVuY291bnRlcnMgY1VSTCBzcGVjaWZpYyBlcnJvcnMgd2hpbGUgdHJhbnNmZXJyaW5nIGEgc2luZ2xlIHJlcXVlc3QsIGEgYGBHdXp6bGVcSHR0cFxFeGNlcHRpb25cQ3VybEV4Y2VwdGlvbmBgIGlzCnRocm93biB3aXRoIGFuIGluZm9ybWF0aXZlIGVycm9yIG1lc3NhZ2UgYW5kIGFjY2VzcyB0byB0aGUgY1VSTCBlcnJvciBtZXNzYWdlLgoKQSBgYEd1enpsZVxDb21tb25cRXhjZXB0aW9uXE11bHRpVHJhbnNmZXJFeGNlcHRpb25gYCBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gYSBjVVJMIHNwZWNpZmljIGVycm9yIG9jY3VycyB3aGlsZQp0cmFuc2ZlcnJpbmcgbXVsdGlwbGUgcmVxdWVzdHMgaW4gcGFyYWxsZWwuIFlvdSBjYW4gdGhlbiBpdGVyYXRlIG92ZXIgYWxsIG9mIHRoZSBleGNlcHRpb25zIGVuY291bnRlcmVkIGR1cmluZyB0aGUKdHJhbnNmZXIuCgpQbHVnaW5zIGFuZCBldmVudHMKLS0tLS0tLS0tLS0tLS0tLS0tCgpHdXp6bGUgcmVxdWVzdCBvYmplY3RzIGV4cG9zZSB2YXJpb3VzIGV2ZW50cyB0aGF0IGFsbG93IHlvdSB0byBob29rIGluIGN1c3RvbSBsb2dpYy4gQSByZXF1ZXN0IG9iamVjdCBvd25zIGEKYGBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnREaXNwYXRjaGVyYGAgb2JqZWN0IHRoYXQgY2FuIGJlIGFjY2Vzc2VkIGJ5IGNhbGxpbmcKYGAkcmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKClgYC4gWW91IGNhbiB1c2UgdGhlIGV2ZW50IGRpc3BhdGNoZXIgdG8gYWRkIGxpc3RlbmVycyAoYSBzaW1wbGUgY2FsbGJhY2sgZnVuY3Rpb24pIG9yCmV2ZW50IHN1YnNjcmliZXJzIChjbGFzc2VzIHRoYXQgbGlzdGVuIHRvIHNwZWNpZmljIGV2ZW50cyBvZiBhIGRpc3BhdGNoZXIpLiBZb3UgY2FuIGFkZCBldmVudCBzdWJzY3JpYmVycyB0byBhIHJlcXVlc3QKZGlyZWN0bHkgYnkganVzdCBjYWxsaW5nIGBgJHJlcXVlc3QtPmFkZFN1YnNjcmliZXIoJG15U3Vic2NyaWJlcik7YGAuCgouLiBfcmVxdWVzdC1ldmVudHM6CgpFdmVudHMgZW1pdHRlZCBmcm9tIGEgcmVxdWVzdAp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKQSBgYEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdGBgIGFuZCBgYEd1enpsZVxIdHRwXE1lc3NhZ2VcRW50aXR5RW5jbG9zaW5nUmVxdWVzdGBgIG9iamVjdCBlbWl0IHRoZSBmb2xsb3dpbmcgZXZlbnRzOgoKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgRXZlbnQgbmFtZSAgICAgICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEV2ZW50IGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKfCByZXF1ZXN0LmJlZm9yZV9zZW5kICAgICAgICAgIHwgQWJvdXQgdG8gc2VuZCByZXF1ZXN0ICAgICAgICAgICAgICAgICAgICAgIHwgKiByZXF1ZXN0OiBSZXF1ZXN0IHRvIGJlIHNlbnQgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IHJlcXVlc3Quc2VudCAgICAgICAgICAgICAgICAgfCBTZW50IHRoZSByZXF1ZXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAqIHJlcXVlc3Q6IFJlcXVlc3QgdGhhdCB3YXMgc2VudCAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKiByZXNwb25zZTogUmVjZWl2ZWQgcmVzcG9uc2UgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IHJlcXVlc3QuY29tcGxldGUgICAgICAgICAgICAgfCBDb21wbGV0ZWQgYSBmdWxsIEhUVFAgdHJhbnNhY3Rpb24gICAgICAgICAgfCAqIHJlcXVlc3Q6IFJlcXVlc3QgdGhhdCB3YXMgc2VudCAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKiByZXNwb25zZTogUmVjZWl2ZWQgcmVzcG9uc2UgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IHJlcXVlc3Quc3VjY2VzcyAgICAgICAgICAgICAgfCBDb21wbGV0ZWQgYSBzdWNjZXNzZnVsIHJlcXVlc3QgICAgICAgICAgICAgfCAqIHJlcXVlc3Q6IFJlcXVlc3QgdGhhdCB3YXMgc2VudCAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKiByZXNwb25zZTogUmVjZWl2ZWQgcmVzcG9uc2UgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IHJlcXVlc3QuZXJyb3IgICAgICAgICAgICAgICAgfCBDb21wbGV0ZWQgYW4gdW5zdWNjZXNzZnVsIHJlcXVlc3QgICAgICAgICAgfCAqIHJlcXVlc3Q6IFJlcXVlc3QgdGhhdCB3YXMgc2VudCAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKiByZXNwb25zZTogUmVjZWl2ZWQgcmVzcG9uc2UgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IHJlcXVlc3QuZXhjZXB0aW9uICAgICAgICAgICAgfCBBbiB1bnN1Y2Nlc3NmdWwgcmVzcG9uc2Ugd2FzICAgICAgICAgICAgICAgfCAqIHJlcXVlc3Q6IFJlcXVlc3QgICAgICAgICAgICAgICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcmVjZWl2ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKiByZXNwb25zZTogUmVjZWl2ZWQgcmVzcG9uc2UgICAgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICogZXhjZXB0aW9uOiBCYWRSZXNwb25zZUV4Y2VwdGlvbiAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCByZXF1ZXN0LnJlY2VpdmUuc3RhdHVzX2xpbmUgIHwgUmVjZWl2ZWQgdGhlIHN0YXJ0IG9mIGEgcmVzcG9uc2UgICAgICAgICAgIHwgKiBsaW5lOiBGdWxsIHJlc3BvbnNlIHN0YXJ0IGxpbmUgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICogc3RhdHVzX2NvZGU6IFN0YXR1cyBjb2RlICAgICAgICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAqIHJlYXNvbl9waHJhc2U6IFJlYXNvbiBwaHJhc2UgICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKiBwcmV2aW91c19yZXNwb25zZTogKGUuZy4gcmVkaXJlY3QpICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGN1cmwuY2FsbGJhY2sucHJvZ3Jlc3MgICAgICAgfCBjVVJMIHByb2dyZXNzIGV2ZW50IChvbmx5IGRpc3BhdGNoZWQgd2hlbiAgfCAqIGhhbmRsZTogQ3VybEhhbmRsZSAgICAgICAgICAgICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGBlbWl0X2lvYGAgaXMgc2V0IG9uIGEgcmVxdWVzdCdzIGN1cmwgICAgIHwgKiBkb3dubG9hZF9zaXplOiBUb3RhbCBkb3dubG9hZCBzaXplICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9wdGlvbnMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICogZG93bmxvYWRlZDogQnl0ZXMgZG93bmxvYWRlZCAgICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAqIHVwbG9hZF9zaXplOiBUb3RhbCB1cGxvYWQgYnl0ZXMgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKiB1cGxvYWRlZDogQnl0ZXMgdXBsb2FkZWQgICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGN1cmwuY2FsbGJhY2sud3JpdGUgICAgICAgICAgfCBjVVJMIGV2ZW50IGNhbGxlZCB3aGVuIGRhdGEgaXMgd3JpdHRlbiB0byAgfCAqIHJlcXVlc3Q6IFJlcXVlc3QgICAgICAgICAgICAgICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gb3V0Z29pbmcgc3RyZWFtICAgICAgICAgICAgICAgICAgICAgICAgIHwgKiB3cml0ZTogRGF0YSBiZWluZyB3cml0dGVuICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IGN1cmwuY2FsbGJhY2sucmVhZCAgICAgICAgICAgfCBjVVJMIGV2ZW50IGNhbGxlZCB3aGVuIGRhdGEgaXMgd3JpdHRlbiB0byAgfCAqIHJlcXVlc3Q6IFJlcXVlc3QgICAgICAgICAgICAgICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gaW5jb21pbmcgc3RyZWFtICAgICAgICAgICAgICAgICAgICAgICAgIHwgKiByZWFkOiBEYXRhIGJlaW5nIHJlYWQgICAgICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwoKQ3JlYXRpbmcgYSByZXF1ZXN0IGV2ZW50IGxpc3RlbmVyCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKSGVyZSdzIGFuIGV4YW1wbGUgdGhhdCBsaXN0ZW5zIHRvIHRoZSBgYHJlcXVlc3QuY29tcGxldGVgYCBldmVudCBvZiBhIHJlcXVlc3QgYW5kIHByaW50cyB0aGUgcmVxdWVzdCBhbmQgcmVzcG9uc2UuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbScpOwoKICAgIC8vIEVjaG8gb3V0IHRoZSByZXNwb25zZSB0aGF0IHdhcyByZWNlaXZlZAogICAgJHJlcXVlc3QtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcigncmVxdWVzdC5jb21wbGV0ZScsIGZ1bmN0aW9uIChFdmVudCAkZSkgewogICAgICAgIGVjaG8gJGVbJ3JlcXVlc3QnXSAuICJcblxuIjsKICAgICAgICBlY2hvICRlWydyZXNwb25zZSddOwogICAgfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/http-client/response.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT09PQpVc2luZyBSZXNwb25zZSBvYmplY3RzCj09PT09PT09PT09PT09PT09PT09PT0KClNlbmRpbmcgYSByZXF1ZXN0IHdpbGwgcmV0dXJuIGEgYGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlYGAgb2JqZWN0LiBZb3UgY2FuIHZpZXcgdGhlIHJhdyAgSFRUUCByZXNwb25zZSBtZXNzYWdlIGJ5CmNhc3RpbmcgdGhlIFJlc3BvbnNlIG9iamVjdCB0byBhIHN0cmluZy4gQ2FzdGluZyB0aGUgcmVzcG9uc2UgdG8gYSBzdHJpbmcgd2lsbCByZXR1cm4gdGhlIGVudGl0eSBib2R5IG9mIHRoZSByZXNwb25zZQphcyBhIHN0cmluZyB0b28sIHNvIHRoaXMgbWlnaHQgYmUgYW4gZXhwZW5zaXZlIG9wZXJhdGlvbiBpZiB0aGUgZW50aXR5IGJvZHkgaXMgc3RvcmVkIGluIGEgZmlsZSBvciBuZXR3b3JrIHN0cmVhbS4gSWYKeW91IG9ubHkgd2FudCB0byBzZWUgdGhlIHJlc3BvbnNlIGhlYWRlcnMsIHlvdSBjYW4gY2FsbCBgYGdldFJhd0hlYWRlcnMoKWBgLgoKUmVzcG9uc2Ugc3RhdHVzIGxpbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0KClRoZSBkaWZmZXJlbnQgcGFydHMgb2YgYSByZXNwb25zZSdzIGBzdGF0dXMgbGluZSA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWM2Lmh0bWwjc2VjNi4xPmBfCih0aGUgZmlyc3QgbGluZSBvZiB0aGUgcmVzcG9uc2UgSFRUUCBtZXNzYWdlKSBhcmUgZWFzaWx5IHJldHJpZXZhYmxlLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXNwb25zZSA9ICRjbGllbnQtPmdldCgnaHR0cDovL3d3dy5hbWF6b24uY29tJyktPnNlbmQoKTsKCiAgICBlY2hvICRyZXNwb25zZS0+Z2V0U3RhdHVzQ29kZSgpOyAgICAgIC8vID4+PiAyMDAKICAgIGVjaG8gJHJlc3BvbnNlLT5nZXRSZWFzb25QaHJhc2UoKTsgICAgLy8gPj4+IE9LCiAgICBlY2hvICRyZXNwb25zZS0+Z2V0UHJvdG9jb2woKTsgICAgICAgIC8vID4+PiBIVFRQCiAgICBlY2hvICRyZXNwb25zZS0+Z2V0UHJvdG9jb2xWZXJzaW9uKCk7IC8vID4+PiAxLjEKCllvdSBjYW4gZGV0ZXJtaW5lIHRoZSB0eXBlIG9mIHRoZSByZXNwb25zZSB1c2luZyBzZXZlcmFsIGhlbHBlciBtZXRob2RzOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXNwb25zZS0+aXNTdWNjZXNzZnVsKCk7IC8vIHRydWUKICAgICRyZXNwb25zZS0+aXNJbmZvcm1hdGlvbmFsKCk7CiAgICAkcmVzcG9uc2UtPmlzUmVkaXJlY3QoKTsKICAgICRyZXNwb25zZS0+aXNDbGllbnRFcnJvcigpOwogICAgJHJlc3BvbnNlLT5pc1NlcnZlckVycm9yKCk7CgpSZXNwb25zZSBoZWFkZXJzCi0tLS0tLS0tLS0tLS0tLS0KClRoZSBSZXNwb25zZSBvYmplY3QgY29udGFpbnMgaGVscGVyIG1ldGhvZHMgZm9yIHJldHJpZXZpbmcgY29tbW9uIHJlc3BvbnNlIGhlYWRlcnMuIFRoZXNlIGhlbHBlciBtZXRob2RzIG5vcm1hbGl6ZSB0aGUKdmFyaWF0aW9ucyBvZiBIVFRQIHJlc3BvbnNlIGhlYWRlcnMuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlc3BvbnNlLT5nZXRDYWNoZUNvbnRyb2woKTsKICAgICRyZXNwb25zZS0+Z2V0Q29udGVudFR5cGUoKTsKICAgICRyZXNwb25zZS0+Z2V0Q29udGVudExlbmd0aCgpOwogICAgJHJlc3BvbnNlLT5nZXRDb250ZW50RW5jb2RpbmcoKTsKICAgICRyZXNwb25zZS0+Z2V0Q29udGVudE1kNSgpOwogICAgJHJlc3BvbnNlLT5nZXRFdGFnKCk7CiAgICAvLyBldGMuLi4gVGhlcmUgYXJlIG1ldGhvZHMgZm9yIGV2ZXJ5IGtub3duIHJlc3BvbnNlIGhlYWRlcgoKWW91IGNhbiBpbnRlcmFjdCB3aXRoIHRoZSBSZXNwb25zZSBoZWFkZXJzIHVzaW5nIHRoZSBzYW1lIGV4YWN0IG1ldGhvZHMgdXNlZCB0byBpbnRlcmFjdCB3aXRoIFJlcXVlc3QgaGVhZGVycy4gU2VlCjpyZWY6YGh0dHAtbWVzc2FnZS1oZWFkZXJzYCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICBlY2hvICRyZXNwb25zZS0+Z2V0SGVhZGVyKCdDb250ZW50LVR5cGUnKTsKICAgIGVjaG8gJHJlc3BvbnNlLT5nZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJyk7CiAgICBlY2hvICRyZXNwb25zZS0+Z2V0SGVhZGVycygpWydDb250ZW50LVR5cGUnXTsgLy8gUEhQIDUuNAoKUmVzcG9uc2UgYm9keQotLS0tLS0tLS0tLS0tCgpUaGUgZW50aXR5IGJvZHkgb2JqZWN0IG9mIGEgcmVzcG9uc2UgY2FuIGJlIHJldHJpZXZlZCBieSBjYWxsaW5nIGBgJHJlc3BvbnNlLT5nZXRCb2R5KClgYC4gVGhlIHJlc3BvbnNlIEVudGl0eUJvZHkgY2FuCmJlIGNhc3QgdG8gYSBzdHJpbmcsIG9yIHlvdSBjYW4gcGFzcyBgYHRydWVgYCB0byB0aGlzIG1ldGhvZCB0byByZXRyaWV2ZSB0aGUgYm9keSBhcyBhIHN0cmluZy4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnaHR0cDovL3d3dy5hbWF6b24uY29tJyk7CiAgICAkcmVzcG9uc2UgPSAkcmVxdWVzdC0+c2VuZCgpOwogICAgZWNobyAkcmVzcG9uc2UtPmdldEJvZHkoKTsKClNlZSA6ZG9jOmAvaHR0cC1jbGllbnQvZW50aXR5LWJvZGllc2AgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gZW50aXR5IGJvZGllcy4KCkpTT04gUmVzcG9uc2VzCn5+fn5+fn5+fn5+fn5+CgpZb3UgY2FuIGVhc2lseSBwYXJzZSBhbmQgdXNlIGEgSlNPTiByZXNwb25zZSBhcyBhbiBhcnJheSB1c2luZyB0aGUgYGBqc29uKClgYCBtZXRob2Qgb2YgYSByZXNwb25zZS4gVGhpcyBtZXRob2Qgd2lsbAphbHdheXMgcmV0dXJuIGFuIGFycmF5IGlmIHRoZSByZXNwb25zZSBpcyB2YWxpZCBKU09OIG9yIGlmIHRoZSByZXNwb25zZSBib2R5IGlzIGVtcHR5LiBZb3Ugd2lsbCBnZXQgYW4gZXhjZXB0aW9uIGlmIHlvdQpjYWxsIHRoaXMgbWV0aG9kIGFuZCB0aGUgcmVzcG9uc2UgaXMgbm90IHZhbGlkIEpTT04uCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGRhdGEgPSAkcmVzcG9uc2UtPmpzb24oKTsKICAgIGVjaG8gZ2V0dHlwZSgkZGF0YSk7CiAgICAvLyA+Pj4gYXJyYXkKClhNTCBSZXNwb25zZXMKfn5+fn5+fn5+fn5+fgoKWW91IGNhbiBlYXNpbHkgcGFyc2UgYW5kIHVzZSBhIFhNTCByZXNwb25zZSBhcyBTaW1wbGVYTUxFbGVtZW50IG9iamVjdCB1c2luZyB0aGUgYGB4bWwoKWBgIG1ldGhvZCBvZiBhIHJlc3BvbnNlLiBUaGlzCm1ldGhvZCB3aWxsIGFsd2F5cyByZXR1cm4gYSBTaW1wbGVYTUxFbGVtZW50IG9iamVjdCBpZiB0aGUgcmVzcG9uc2UgaXMgdmFsaWQgWE1MIG9yIGlmIHRoZSByZXNwb25zZSBib2R5IGlzIGVtcHR5LiBZb3UKd2lsbCBnZXQgYW4gZXhjZXB0aW9uIGlmIHlvdSBjYWxsIHRoaXMgbWV0aG9kIGFuZCB0aGUgcmVzcG9uc2UgaXMgbm90IHZhbGlkIFhNTC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkeG1sID0gJHJlc3BvbnNlLT54bWwoKTsKICAgIGVjaG8gJHhtbC0+Zm9vOwogICAgLy8gPj4+IEJhciEKClN0cmVhbWluZyByZXNwb25zZXMKLS0tLS0tLS0tLS0tLS0tLS0tLQoKU29tZSB3ZWIgc2VydmljZXMgcHJvdmlkZSBzdHJlYW1pbmcgQVBJcyB0aGF0IGFsbG93IGEgY2xpZW50IHRvIGtlZXAgYSBIVFRQIHJlcXVlc3Qgb3BlbiBmb3IgYW4gZXh0ZW5kZWQgcGVyaW9kIG9mCnRpbWUgd2hpbGUgcG9sbGluZyBhbmQgcmVhZGluZy4gR3V6emxlIHByb3ZpZGVzIGEgc2ltcGxlIHdheSB0byBjb252ZXJ0IEhUVFAgcmVxdWVzdCBtZXNzYWdlcyBpbnRvCmBgR3V6emxlXFN0cmVhbVxTdHJlYW1gYCBvYmplY3RzIHNvIHRoYXQgeW91IGNhbiBzZW5kIHRoZSBpbml0aWFsIGhlYWRlcnMgb2YgYSByZXF1ZXN0LCByZWFkIHRoZSByZXNwb25zZSBoZWFkZXJzLCBhbmQKcHVsbCBpbiB0aGUgcmVzcG9uc2UgYm9keSBtYW51YWxseSBhcyBuZWVkZWQuCgpIZXJlJ3MgYW4gZXhhbXBsZSB1c2luZyB0aGUgVHdpdHRlciBTdHJlYW1pbmcgQVBJIHRvIHRyYWNrIHRoZSBrZXl3b3JkICJiaWViZXIiOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBHdXp6bGVcSHR0cFxDbGllbnQ7CiAgICB1c2UgR3V6emxlXFN0cmVhbVxQaHBTdHJlYW1SZXF1ZXN0RmFjdG9yeTsKCiAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cHM6Ly9zdHJlYW0udHdpdHRlci5jb20vMScpOwoKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+cG9zdCgnc3RhdHVzZXMvZmlsdGVyLmpzb24nLCBudWxsLCBhcnJheSgKICAgICAgICAndHJhY2snID0+ICdiaWViZXInCiAgICApKTsKCiAgICAkcmVxdWVzdC0+c2V0QXV0aCgnbXl1c2VybmFtZScsICdteXBhc3N3b3JkJyk7CgogICAgJGZhY3RvcnkgPSBuZXcgUGhwU3RyZWFtUmVxdWVzdEZhY3RvcnkoKTsKICAgICRzdHJlYW0gPSAkZmFjdG9yeS0+ZnJvbVJlcXVlc3QoJHJlcXVlc3QpOwoKICAgIC8vIFJlYWQgdW50aWwgdGhlIHN0cmVhbSBpcyBjbG9zZWQKICAgIHdoaWxlICghJHN0cmVhbS0+ZmVvZigpKSB7CiAgICAgICAgLy8gUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RyZWFtCiAgICAgICAgJGxpbmUgPSAkc3RyZWFtLT5yZWFkTGluZSgpOwogICAgICAgIC8vIEpTT04gZGVjb2RlIHRoZSBsaW5lIG9mIGRhdGEKICAgICAgICAkZGF0YSA9IGpzb25fZGVjb2RlKCRsaW5lLCB0cnVlKTsKICAgIH0KCllvdSBjYW4gdXNlIHRoZSBgYHN0cmVhbWBgIHJlcXVlc3Qgb3B0aW9uIHdoZW4gdXNpbmcgYSBzdGF0aWMgY2xpZW50IHRvIG1vcmUgZWFzaWx5IGNyZWF0ZSBhIHN0cmVhbWluZyByZXNwb25zZS4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkc3RyZWFtID0gR3V6emxlOjpnZXQoJ2h0dHA6Ly9ndXp6bGVwaHAub3JnJywgYXJyYXkoJ3N0cmVhbScgPT4gdHJ1ZSkpOwogICAgd2hpbGUgKCEkc3RyZWFtLT5mZW9mKCkpIHsKICAgICAgICBlY2hvICRzdHJlYW0tPnJlYWRMaW5lKCk7CiAgICB9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/http-client/uri-templates.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PQpVUkkgdGVtcGxhdGVzCj09PT09PT09PT09PT0KClRoZSBgYCR1cmlgYCBwYXNzZWQgdG8gb25lIG9mIHRoZSBjbGllbnQncyByZXF1ZXN0IGNyZWF0aW9uYWwgbWV0aG9kcyBvciB0aGUgYmFzZSBVUkwgb2YgYSBjbGllbnQgY2FuIHV0aWxpemUgVVJJCnRlbXBsYXRlcy4gR3V6emxlIHN1cHBvcnRzIHRoZSBlbnRpcmUgYFVSSSB0ZW1wbGF0ZXMgUkZDIDxodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM2NTcwPmBfLiBVUkkgdGVtcGxhdGVzIGFkZCBhCnNwZWNpYWwgc3ludGF4IHRvIFVSSXMgdGhhdCByZXBsYWNlIHRlbXBsYXRlIHBsYWNlIGhvbGRlcnMgd2l0aCB1c2VyIGRlZmluZWQgdmFyaWFibGVzLgoKRXZlcnkgcmVxdWVzdCBjcmVhdGVkIGJ5IGEgR3V6emxlIEhUVFAgY2xpZW50IHBhc3NlcyB0aHJvdWdoIGEgVVJJIHRlbXBsYXRlIHNvIHRoYXQgVVJJIHRlbXBsYXRlIGV4cHJlc3Npb25zIGFyZQphdXRvbWF0aWNhbGx5IGV4cGFuZGVkOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjbGllbnQgPSBuZXcgR3V6emxlXEh0dHBcQ2xpZW50KCdodHRwczovL2V4YW1wbGUuY29tLycsIGFycmF5KCdhJyA9PiAnaGknKSk7CiAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnL3thfScpOwoKQmVjYXVzZSBvZiBVUkkgdGVtcGxhdGUgZXhwYW5zaW9uLCB0aGUgVVJMIG9mIHRoZSBhYm92ZSByZXF1ZXN0IHdpbGwgYmVjb21lIGBgaHR0cHM6Ly9leGFtcGxlLmNvbS9oaWBgLiBOb3RpY2UgdGhhdAp0aGUgdGVtcGxhdGUgd2FzIGV4cGFuZGVkIHVzaW5nIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzIG9mIHRoZSBjbGllbnQuIFlvdSBjYW4gcGFzcyBpbiBjdXN0b20gVVJJIHRlbXBsYXRlIHZhcmlhYmxlcwpieSBwYXNzaW5nIHRoZSBVUkkgb2YgeW91ciByZXF1ZXN0IGFzIGFuIGFycmF5IHdoZXJlIHRoZSBmaXJzdCBpbmRleCBvZiB0aGUgYXJyYXkgaXMgdGhlIFVSSSB0ZW1wbGF0ZSBhbmQgdGhlIHNlY29uZAppbmRleCBvZiB0aGUgYXJyYXkgYXJlIHRlbXBsYXRlIHZhcmlhYmxlcyB0aGF0IGFyZSBtZXJnZWQgaW50byB0aGUgY2xpZW50J3MgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoYXJyYXkoJy90ZXN0ez9hLGJ9JywgYXJyYXkoJ2InID0+ICd0aGVyZScpKSk7CgpUaGUgVVJMIGZvciB0aGlzIHJlcXVlc3Qgd2lsbCBiZWNvbWUgYGBodHRwczovL3Rlc3QuY29tP2E9aGkmYj10aGVyZWBgLiBVUkkgdGVtcGxhdGVzIGFyZW4ndCBsaW1pdGVkIHRvIGp1c3Qgc2ltcGxlCnZhcmlhYmxlIHJlcGxhY2VtZW50czsgIFVSSSB0ZW1wbGF0ZXMgY2FuIHByb3ZpZGUgYW4gZW5vcm1vdXMgYW1vdW50IG9mIGZsZXhpYmlsaXR5IHdoZW4gY3JlYXRpbmcgcmVxdWVzdCBVUklzLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KGFycmF5KCdodHRwOi8vZXhhbXBsZS5jb217K3BhdGh9ey9zZWdtZW50cyp9ez9xdWVyeSxkYXRhKn0nLCBhcnJheSgKICAgICAgICAncGF0aCcgICAgID0+ICcvZm9vL2JhcicsCiAgICAgICAgJ3NlZ21lbnRzJyA9PiBhcnJheSgnb25lJywgJ3R3bycpLAogICAgICAgICdxdWVyeScgICAgPT4gJ3Rlc3QnLAogICAgICAgICdkYXRhJyAgICAgPT4gYXJyYXkoCiAgICAgICAgICAgICdtb3JlJyA9PiAndmFsdWUnCiAgICAgICAgKQogICAgKSkpOwoKVGhlIHJlc3VsdGluZyBVUkwgd291bGQgYmVjb21lIGBgaHR0cDovL2V4YW1wbGUuY29tL2Zvby9iYXIvb25lL3R3bz9xdWVyeT10ZXN0Jm1vcmU9dmFsdWVgYC4KCkJ5IGRlZmF1bHQsIFVSSSB0ZW1wbGF0ZSBleHByZXNzaW9ucyBhcmUgZW5jbG9zZWQgaW4gYW4gb3BlbmluZyBhbmQgY2xvc2luZyBicmFjZSAoZS5nLiBgYHt2YXJ9YGApLiBJZiB5b3UgYXJlIHdvcmtpbmcKd2l0aCBhIHdlYiBzZXJ2aWNlIHRoYXQgYWN0dWFsbHkgdXNlcyBicmFjZXMgKGUuZy4gU29sciksIHRoZW4geW91IGNhbiBzcGVjaWZ5IGEgY3VzdG9tIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byB1c2UgdG8KbWF0Y2ggVVJJIHRlbXBsYXRlIGV4cHJlc3Npb25zLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjbGllbnQtPmdldFVyaVRlbXBsYXRlKCktPnNldFJlZ2V4KCcvXDxcJCguKylcPi8nKTsKICAgICRjbGllbnQtPmdldCgnLzwkYT4nKTsKCllvdSBjYW4gbGVhcm4gYWJvdXQgYWxsIG9mIHRoZSBkaWZmZXJlbnQgZmVhdHVyZXMgb2YgVVJJIHRlbXBsYXRlcyBieSByZWFkaW5nIHRoZQpgVVJJIHRlbXBsYXRlcyBSRkMgPGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzY1NzA+YF8uCg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/index.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Li4gdGl0bGU6OiBHdXp6bGUgfCBQSFAgSFRUUCBjbGllbnQgYW5kIGZyYW1ld29yayBmb3IgY29uc3VtaW5nIFJFU1RmdWwgd2ViIHNlcnZpY2VzCi4uIHRvY3RyZWU6OgogICAgOmhpZGRlbjoKCiAgICBkb2NzLnJzdAo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/iterators/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/iterators/guzzle-iterators.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PQpHdXp6bGUgaXRlcmF0b3JzCj09PT09PT09PT09PT09PT0KCkd1enpsZSBwcm92aWRlcyBzZXZlcmFsIFNQTCBpdGVyYXRvcnMgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIG90aGVyIFNQTCBpdGVyYXRvcnMsIGluY2x1ZGluZyBHdXp6bGUgcmVzb3VyY2UgaXRlcmF0b3JzLgpHdXp6bGUncyBgYGd1enpsZS9pdGVyYXRvcmBgIGNvbXBvbmVudCBjYW4gYWxzbyBiZSB1c2VkIGluZGVwZW5kZW50bHkgb2YgdGhlIHJlc3Qgb2YgR3V6emxlIHRocm91Z2ggUGFja2FnaXN0IGFuZApDb21wb3NlcjogaHR0cHM6Ly9wYWNrYWdpc3Qub3JnL3BhY2thZ2VzL2d1enpsZS9pdGVyYXRvcgoKQ2h1bmtlZEl0ZXJhdG9yCi0tLS0tLS0tLS0tLS0tLQoKUHVsbHMgb3V0IG11bHRpcGxlIHZhbHVlcyBmcm9tIGFuIGlubmVyIGl0ZXJhdG9yIGFuZCB5aWVsZHMgYW5kIGFycmF5IG9mIHZhbHVlcyBmb3IgZWFjaCBvdXRlciBpdGVyYXRpb24gLS0gZXNzZW50aWFsbHkKcHVsbGluZyBvdXQgY2h1bmtzIG9mIHZhbHVlcyBmcm9tIHRoZSBpbm5lciBpdGVyYXRvci4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXEl0ZXJhdG9yXENodW5rZWRJdGVyYXRvcjsKCiAgICAkaW5uZXIgPSBuZXcgQXJyYXlJdGVyYXRvcihyYW5nZSgwLCA4KSk7CiAgICAkY2h1bmtlZEl0ZXJhdG9yID0gbmV3IENodW5rZWRJdGVyYXRvcigkaW5uZXIsIDEwKTsKCiAgICBmb3JlYWNoICgkY2h1bmtlZEl0ZXJhdG9yIGFzICRjaHVuaykgewogICAgICAgIGVjaG8gaW1wbG9kZSgnLCAnLCAkY2h1bmspIC4gIlxuIjsKICAgIH0KCiAgICAvLyA+Pj4gMCwgMQogICAgLy8gPj4+IDIsIDMKICAgIC8vID4+PiA0LCA1CiAgICAvLyA+Pj4gNiwgNwogICAgLy8gPj4+IDgKCkZpbHRlckl0ZXJhdG9yCi0tLS0tLS0tLS0tLS0tCgpUaGlzIGl0ZXJhdG9yIGlzIHVzZWQgdG8gZmlsdGVyIHZhbHVlcyBvdXQgb2YgdGhlIGlubmVyIGl0ZXJhdG9yLiBUaGlzIGl0ZXJhdG9yIGNhbiBiZSB1c2VkIHdoZW4gUEhQIDUuNCdzCkNhbGxiYWNrRmlsdGVySXRlcmF0b3IgaXMgbm90IGF2YWlsYWJsZS4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXEl0ZXJhdG9yXEZpbHRlckl0ZXJhdG9yOwoKICAgICRpbm5lciA9IG5ldyBBcnJheUl0ZXJhdG9yKHJhbmdlKDEsIDEwKSk7CiAgICAkZmlsdGVySXRlcmF0b3IgPSBuZXcgRmlsdGVySXRlcmF0b3IoJGlubmVyLCBmdW5jdGlvbiAoJHZhbHVlKSB7CiAgICAgICAgcmV0dXJuICR2YWx1ZSAlIDI7CiAgICB9KTsKCiAgICBmb3JlYWNoICgkZmlsdGVySXRlcmF0b3IgYXMgJHZhbHVlKSB7CiAgICAgICAgZWNobyAkdmFsdWUgLiAiXG4iOwogICAgfQoKICAgIC8vID4+PiAyCiAgICAvLyA+Pj4gNAogICAgLy8gPj4+IDYKICAgIC8vID4+PiA4CiAgICAvLyA+Pj4gMTAKCk1hcEl0ZXJhdG9yCi0tLS0tLS0tLS0tCgpUaGlzIGl0ZXJhdG9yIG1vZGlmaWVzIHRoZSB2YWx1ZXMgb2YgdGhlIGlubmVyIGl0ZXJhdG9yIGJlZm9yZSB5aWVsZGluZy4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXEl0ZXJhdG9yXE1hcEl0ZXJhdG9yOwoKICAgICRpbm5uZXIgPSBuZXcgQXJyYXlJdGVyYXRvcihyYW5nZSgwLCAzKSk7CgogICAgJG1hcEl0ZXJhdG9yID0gbmV3IE1hcEl0ZXJhdG9yKCRpbm5lciwgZnVuY3Rpb24gKCR2YWx1ZSkgewogICAgICAgIHJldHVybiAkdmFsdWUgKiAxMDsKICAgIH0pOwoKICAgIGZvcmVhY2ggKCRtYXBJdGVyYXRvciBhcyAkdmFsdWUpIHsKICAgICAgICBlY2hvICR2YWx1ZSAuICJcbiI7CiAgICB9CgogICAgLy8gPj4+IDAKICAgIC8vID4+PiAxMAogICAgLy8gPj4+IDIwCiAgICAvLyA+Pj4gMzAKCk1ldGhvZFByb3h5SXRlcmF0b3IKLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhpcyBkZWNvcmF0b3IgaXMgdXNlZnVsIHdoZW4geW91IG5lZWQgdG8gZXhwb3NlIGEgc3BlY2lmaWMgbWV0aG9kIGZyb20gYW4gaW5uZXIgaXRlcmF0b3IgdGhhdCBtaWdodCBiZSB3cmFwcGVyCmJ5IG9uZSBvciBtb3JlIGl0ZXJhdG9yIGRlY29yYXRvcnMuIFRoaXMgZGVjb3JhdG9yIHByb3hpZXMgbWlzc2luZyBtZXRob2QgY2FsbHMgdG8gZWFjaCBpbm5lciBpdGVyYXRvciB1bnRpbCBvbmUKb2YgdGhlIGlubmVyIGl0ZXJhdG9ycyBjYW4gZnVsZmlsbCB0aGUgY2FsbC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXEl0ZXJhdG9yXE1ldGhvZFByb3h5SXRlcmF0b3I7CgogICAgJGlubmVyID0gbmV3IFxBcnJheUl0ZXJhdG9yKCk7CiAgICAkcHJveHkgPSBuZXcgTWV0aG9kUHJveHlJdGVyYXRvcigkaW5uZXIpOwoKICAgIC8vIFByb3h5IG1ldGhvZCBjYWxscyB0byB0aGUgQXJyYXlJdGVyYXRvcgogICAgJHByb3h5LT5hcHBlbmQoJ2EnKTsKICAgICRwcm94eS0+YXBwZW5kKCdiJyk7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/iterators/resource-iterators.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09ClJlc291cmNlIGl0ZXJhdG9ycwo9PT09PT09PT09PT09PT09PT0KCldlYiBzZXJ2aWNlcyBvZnRlbiBpbXBsZW1lbnQgcGFnaW5hdGlvbiBpbiB0aGVpciByZXNwb25zZXMgd2hpY2ggcmVxdWlyZXMgdGhlIGVuZC11c2VyIHRvIGlzc3VlIGEgc2VyaWVzIG9mIGNvbnNlY3V0aXZlCnJlcXVlc3RzIGluIG9yZGVyIHRvIGZldGNoIGFsbCBvZiB0aGUgZGF0YSB0aGV5IGFza2VkIGZvci4gVXNlcnMgb2YgeW91ciB3ZWIgc2VydmljZSBjbGllbnQgc2hvdWxkIG5vdCBiZSByZXNwb25zaWJsZQpmb3IgaW1wbGVtZW50aW5nIHRoZSBsb2dpYyBpbnZvbHZlZCBpbiBpdGVyYXRpbmcgdGhyb3VnaCBwYWdlcyBvZiByZXN1bHRzLiBHdXp6bGUgcHJvdmlkZXMgYSBzaW1wbGUgcmVzb3VyY2UgaXRlcmF0b3IKZm91bmRhdGlvbiB0byBtYWtlIGl0IGVhc2llciBvbiB3ZWIgc2VydmljZSBjbGllbnQgZGV2ZWxvcGVycyB0byBvZmZlciBhIHVzZWZ1bCBhYnN0cmFjdGlvbiBsYXllci4KCkdldHRpbmcgYW4gaXRlcmF0b3IgZnJvbSBhIGNsaWVudAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgICBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlIEd1enpsZVxTZXJ2aWNlXENsaWVudDo6Z2V0SXRlcmF0b3IoJGNvbW1hbmQgWywgYXJyYXkgJGNvbW1hbmRPcHRpb25zLCBhcnJheSAkaXRlcmF0b3JPcHRpb25zIF0pCgpUaGUgYGBnZXRJdGVyYXRvcmBgIG1ldGhvZCBvZiBhIGBgR3V6emxlXFNlcnZpY2VcQ2xpZW50SW50ZXJmYWNlYGAgb2JqZWN0IHByb3ZpZGVzIGEgY29udmVuaWVudCBpbnRlcmZhY2UgZm9yCmluc3RhbnRpYXRpbmcgYSByZXNvdXJjZSBpdGVyYXRvciBmb3IgYSBzcGVjaWZpYyBjb21tYW5kLiBUaGlzIG1ldGhvZCBpbXBsaWNpdGx5IHVzZXMgYQpgYEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JGYWN0b3J5SW50ZXJmYWNlYGAgb2JqZWN0IHRvIGNyZWF0ZSByZXNvdXJjZSBpdGVyYXRvcnMuIFBhc3MgYW4KaW5zdGFudGlhdGVkIGNvbW1hbmQgb2JqZWN0IG9yIHRoZSBuYW1lIG9mIGEgY29tbWFuZCBpbiB0aGUgZmlyc3QgYXJndW1lbnQuIFdoZW4gcGFzc2luZyB0aGUgbmFtZSBvZiBhIGNvbW1hbmQsIHRoZQpjb21tYW5kIGZhY3Rvcnkgb2YgdGhlIGNsaWVudCB3aWxsIGNyZWF0ZSB0aGUgY29tbWFuZCBieSBuYW1lIHVzaW5nIHRoZSBgYCRjb21tYW5kT3B0aW9uc2BgIGFycmF5LiBUaGUgdGhpcmQgYXJndW1lbnQKbWF5IGJlIHVzZWQgdG8gcGFzcyBhbiBhcnJheSBvZiBvcHRpb25zIHRvIHRoZSBjb25zdHJ1Y3RvciBvZiB0aGUgaW5zdGFudGlhdGVkIGBgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZWBgIG9iamVjdC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkaXRlcmF0b3IgPSAkY2xpZW50LT5nZXRJdGVyYXRvcignZ2V0X3VzZXJzJyk7CgogICAgZm9yZWFjaCAoJGl0ZXJhdG9yIGFzICR1c2VyKSB7CiAgICAgICAgZWNobyAkdXNlclsnbmFtZSddIC4gJyBhZ2UgJyAuICR1c2VyWydhZ2UnXSAuIFBIUF9FT0w7CiAgICB9CgpUaGUgYWJvdmUgY29kZSBzYW1wbGUgbWlnaHQgZXhlY3V0ZSBhIHNpbmdsZSByZXF1ZXN0IG9yIGEgdGhvdXNhbmQgcmVxdWVzdHMuIEFzIGEgY29uc3VtZXIgb2YgYSB3ZWIgc2VydmljZSwgSSBkb24ndApjYXJlLiBJIGp1c3Qgd2FudCB0byBpdGVyYXRlIG92ZXIgYWxsIG9mIHRoZSB1c2Vycy4KCkl0ZXJhdG9yIG9wdGlvbnMKfn5+fn5+fn5+fn5+fn5+fgoKVGhlIHR3byB1bml2ZXJzYWwgb3B0aW9ucyB0aGF0IGl0ZXJhdG9ycyBzaG91bGQgc3VwcG9ydCBhcmUgYGBsaW1pdGBgIGFuZCBgYHBhZ2Vfc2l6ZWBgLiBVc2luZyB0aGUgYGBsaW1pdGBgIG9wdGlvbgp0ZWxscyB0aGUgcmVzb3VyY2UgaXRlcmF0b3IgdG8gYXR0ZW1wdCB0byBsaW1pdCB0aGUgdG90YWwgbnVtYmVyIG9mIGl0ZXJhdGVkIHJlc291cmNlcyB0byBhIHNwZWNpZmljIGFtb3VudC4gS2VlcCBpbgptaW5kIHRoYXQgdGhpcyBpcyBub3QgYWx3YXlzIHBvc3NpYmxlIGR1ZSB0byBsaW1pdGF0aW9ucyB0aGF0IG1heSBiZSBpbmhlcmVudCB0byBhIHdlYiBzZXJ2aWNlLiBUaGUgYGBwYWdlX3NpemVgYApvcHRpb24gaXMgdXNlZCB0byB0ZWxsIGEgcmVzb3VyY2UgaXRlcmF0b3IgaG93IG1hbnkgcmVzb3VyY2VzIHRvIHJlcXVlc3QgcGVyIHBhZ2Ugb2YgcmVzdWx0cy4gTXVjaCBsaWtlIHRoZSBgYGxpbWl0YGAKb3B0aW9uLCB5b3UgY2FuIG5vdCByZWx5IG9uIGdldHRpbmcgYmFjayBleGFjdGx5IHRoZSBudW1iZXIgb2YgcmVzb3VyY2VzIHlvdXIgc3BlY2lmeSBpbiB0aGUgYGBwYWdlX3NpemVgYCBvcHRpb24uCgouLiBub3RlOjoKCiAgICBUaGUgYGBsaW1pdGBgIGFuZCBgYHBhZ2Vfc2l6ZWBgIG9wdGlvbnMgY2FuIGFsc28gYmUgc3BlY2lmaWVkIG9uIGFuIGl0ZXJhdG9yIHVzaW5nIHRoZSBgYHNldExpbWl0KCRsaW1pdClgYCBhbmQKICAgIGBgc2V0UGFnZVNpemUoJHBhZ2VTaXplKWBgIG1ldGhvZHMuCgpSZXNvbHZpbmcgaXRlcmF0b3IgY2xhc3MgbmFtZXMKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpUaGUgZGVmYXVsdCByZXNvdXJjZSBpdGVyYXRvciBmYWN0b3J5IG9mIGEgY2xpZW50IG9iamVjdCBleHBlY3RzIHRoYXQgeW91ciBpdGVyYXRvcnMgYXJlIHN0b3JlZCB1bmRlciB0aGUgYGBNb2RlbGBgCmZvbGRlciBvZiB5b3VyIGNsaWVudCBhbmQgdGhhdCBhbiBpdGVyYXRvciBpcyBuYW1lcyBhZnRlciB0aGUgQ2FtZWxDYXNlIG5hbWUgb2YgYSBjb21tYW5kIGZvbGxvd2VkIGJ5IHRoZSB3b3JkCiJJdGVyYXRvciIuIEZvciBleGFtcGxlLCBpZiB5b3Ugd2FudGVkIHRvIGNyZWF0ZSBhbiBpdGVyYXRvciBmb3IgdGhlIGBgZ2V0X3VzZXJzYGAgY29tbWFuZCwgdGhlbiB5b3VyIGl0ZXJhdG9yIGNsYXNzCndvdWxkIGJlIGBgTW9kZWxcR2V0VXNlcnNJdGVyYXRvcmBgIGFuZCB3b3VsZCBiZSBzdG9yZWQgaW4gYGBNb2RlbC9HZXRVc2Vyc0l0ZXJhdG9yLnBocGBgLgoKQ3JlYXRpbmcgYW4gaXRlcmF0b3IKLS0tLS0tLS0tLS0tLS0tLS0tLS0KCldoaWxlIG5vdCByZXF1aXJlZCwgcmVzb3VyY2UgaXRlcmF0b3JzIGluIEd1enpsZSB0eXBpY2FsbHkgaXRlcmF0ZSB1c2luZyBhIGBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlYGAKb2JqZWN0LiBgYEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JgYCwgdGhlIGRlZmF1bHQgaXRlcmF0b3IgaW1wbGVtZW50YXRpb24gdGhhdCB5b3Ugc2hvdWxkIGV4dGVuZCwKYWNjZXB0cyBhIGNvbW1hbmQgb2JqZWN0IGFuZCBhcnJheSBvZiBpdGVyYXRvciBvcHRpb25zIGluIGl0cyBjb25zdHJ1Y3Rvci4gVGhlIGNvbW1hbmQgb2JqZWN0IHBhc3NlZCB0byB0aGUgcmVzb3VyY2UKaXRlcmF0b3IgaXMgZXhwZWN0ZWQgdG8gYmUgcmVhZHkgdG8gZXhlY3V0ZSBhbmQgbm90IHByZXZpb3VzbHkgZXhlY3V0ZWQuIFRoZSByZXNvdXJjZSBpdGVyYXRvciBrZWVwcyBhIHJlZmVyZW5jZSBvZgp0aGlzIGNvbW1hbmQgYW5kIGNsb25lcyB0aGUgb3JpZ2luYWwgY29tbWFuZCBlYWNoIHRpbWUgYSBzdWJzZXF1ZW50IHJlcXVlc3QgbmVlZHMgdG8gYmUgbWFkZSB0byBmZXRjaCBtb3JlIGRhdGEuCgpJbXBsZW1lbnQgdGhlIHNlbmRSZXF1ZXN0IG1ldGhvZAp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKVGhlIG1vc3QgaW1wb3J0YW50IHRoaW5nIChhbmQgdXN1YWxseSB0aGUgb25seSB0aGluZykgeW91IG5lZWQgdG8gZG8gd2hlbiBjcmVhdGluZyBhIHJlc291cmNlIGl0ZXJhdG9yIGlzIHRvIGltcGxlbWVudAp0aGUgYGBzZW5kUmVxdWVzdCgpYGAgbWV0aG9kIG9mIHRoZSByZXNvdXJjZSBpdGVyYXRvci4gVGhlIGBgc2VuZFJlcXVlc3QoKWBgIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiB5b3UgYmVnaW4KaXRlcmF0aW5nIG9yIGlmIHRoZXJlIGFyZSBubyByZXNvdXJjZXMgbGVmdCB0byBpdGVyYXRlIGFuZCBpdCB5b3UgZXhwZWN0IHRvIHJldHJpZXZlIG1vcmUgcmVzb3VyY2VzIGJ5IG1ha2luZyBhCnN1YnNlcXVlbnQgcmVxdWVzdC4gVGhlIGBgJHRoaXMtPmNvbW1hbmRgYCBwcm9wZXJ0eSBvZiB0aGUgcmVzb3VyY2UgaXRlcmF0b3IgaXMgdXBkYXRlZCB3aXRoIGEgY2xvbmVkIGNvcHkgb2YgdGhlCm9yaWdpbmFsIGNvbW1hbmQgb2JqZWN0IHBhc3NlZCBpbnRvIHRoZSBjb25zdHJ1Y3RvciBvZiB0aGUgaXRlcmF0b3IuIFVzZSB0aGlzIGNvbW1hbmQgb2JqZWN0IHRvIGlzc3VlIHlvdXIgc3Vic2VxdWVudApyZXF1ZXN0cy4KClRoZSBgYHNlbmRSZXF1ZXN0KClgYCBtZXRob2QgbXVzdCByZXR1cm4gYW4gYXJyYXkgb2YgdGhlIHJlc291cmNlcyB5b3UgcmV0cmlldmVkIGZyb20gbWFraW5nIHRoZSBzdWJzZXF1ZW50IGNhbGwuClJldHVybmluZyBhbiBlbXB0eSBhcnJheSB3aWxsIHN0b3AgdGhlIGl0ZXJhdGlvbi4gSWYgeW91IHN1c3BlY3QgdGhhdCB5b3VyIHdlYiBzZXJ2aWNlIGNsaWVudCB3aWxsIG9jY2FzaW9uYWxseSByZXR1cm4KYW4gZW1wdHkgcmVzdWx0IHNldCBidXQgc3RpbGwgcmVxdWlyZXMgZnVydGhlciBpdGVyYXRpb24sIHRoZW4geW91IG11c3QgaW1wbGVtZW50IGEgc29ydCBvZiBsb29wIGluIHlvdXIKYGBzZW5kUmVxdWVzdCgpYGAgbWV0aG9kIHRoYXQgd2lsbCBjb250aW51ZSB0byBpc3N1ZSBzdWJzZXF1ZW50IHJlcXVlc3RzIHVudGlsIHlvdXIgcmVhY2ggdGhlIGVuZCBvZiB0aGUgcGFnaW5hdGVkCnJlc3VsdCBzZXQgb3IgdW50aWwgYWRkaXRpb25hbCByZXNvdXJjZXMgYXJlIHJldHJpZXZlZCBmcm9tIHRoZSB3ZWIgc2VydmljZS4KClVwZGF0ZSB0aGUgbmV4dFRva2VuIHByb3BlcnR5Cn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpCZXlvbmQgZmV0Y2hpbmcgbW9yZSByZXN1bHRzLCB0aGUgYGBzZW5kUmVxdWVzdCgpYGAgbWV0aG9kIGlzIHJlc3BvbnNpYmxlIGZvciB1cGRhdGluZyB0aGUgYGAkdGhpcy0+bmV4dFRva2VuYGAKcHJvcGVydHkgb2YgdGhlIGl0ZXJhdG9yLiBTZXR0aW5nIHRoaXMgcHJvcGVydHkgdG8gYW55dGhpbmcgb3RoZXIgdGhhbiBudWxsIHRlbGxzIHRoZSBpdGVyYXRvciB0aGF0IGlzc3VpbmcgYQpzdWJzZXF1ZW50IHJlcXVlc3QgdXNpbmcgdGhlIG5leHRUb2tlbiB2YWx1ZSB3aWxsIHByb2JhYmx5IHJldHVybiBtb3JlIHJlc3VsdHMuIFlvdSBtdXN0IGNvbnRpbnVhbGx5IHVwZGF0ZSB0aGlzCnZhbHVlIGluIHlvdXIgYGBzZW5kUmVxdWVzdCgpYGAgbWV0aG9kIGFzIGVhY2ggcmVzcG9uc2UgaXMgcmVjZWl2ZWQgZnJvbSB0aGUgd2ViIHNlcnZpY2UuCgpFeGFtcGxlIGl0ZXJhdG9yCi0tLS0tLS0tLS0tLS0tLS0KCkxldCdzIHNheSB5b3Ugd2FudCB0byBpbXBsZW1lbnQgYSByZXNvdXJjZSBpdGVyYXRvciBmb3IgdGhlIGBgZ2V0X3VzZXJzYGAgY29tbWFuZCBvZiB5b3VyIHdlYiBzZXJ2aWNlLiBUaGUKYGBnZXRfdXNlcnNgYCBjb21tYW5kIHJlY2VpdmVzIGEgcmVzcG9uc2UgdGhhdCBjb250YWlucyBhIGxpc3Qgb2YgdXNlcnMsIGFuZCBpZiB0aGVyZSBhcmUgbW9yZSBwYWdlcyBvZiByZXN1bHRzIHRvCnJldHJpZXZlLCByZXR1cm5zIGEgdmFsdWUgY2FsbGVkIGBgbmV4dF91c2VyYGAuIFRoaXMgcmV0dXJuIHZhbHVlIGlzIGtub3duIGFzIHRoZSAqKm5leHQgdG9rZW4qKiBhbmQgc2hvdWxkIGJlIHVzZWQgdG8KaXNzdWUgc3Vic2VxdWVudCByZXF1ZXN0cy4KCkFzc3VtZSB0aGUgcmVzcG9uc2UgdG8gYSBgYGdldF91c2Vyc2BgIGNvbW1hbmQgcmV0dXJucyBKU09OIGRhdGEgdGhhdCBsb29rcyBsaWtlIHRoaXM6CgouLiBjb2RlLWJsb2NrOjogamF2YXNjcmlwdAoKICAgIHsKICAgICAgICAidXNlcnMiOiBbCiAgICAgICAgICAgIHsgIm5hbWUiOiAiQ3JhaWcgSm9obnNvbiIsICJhZ2UiOiAxMCB9LAogICAgICAgICAgICB7ICJuYW1lIjogIlRvbSBCYXJrZXIiLCAiYWdlIjogMjAgfSwKICAgICAgICAgICAgeyAibmFtZSI6ICJCb2IgTWl0Y2hlbGwiLCAiYWdlIjogNzQgfQogICAgICAgIF0sCiAgICAgICAgIm5leHRfdXNlciI6ICJNaWNoYWVsIERvd2xpbmciCiAgICB9CgpBc3N1bWUgdGhhdCBiZWNhdXNlIHRoZXJlIGlzIGEgYGBuZXh0X3VzZXJgYCB2YWx1ZSwgdGhlcmUgd2lsbCBiZSBtb3JlIHVzZXJzIGlmIGEgc3Vic2VxdWVudCByZXF1ZXN0IGlzIGlzc3VlZC4gSWYgdGhlCmBgbmV4dF91c2VyYGAgdmFsdWUgaXMgbWlzc2luZyBvciBudWxsLCB0aGVuIHdlIGtub3cgdGhlcmUgYXJlIG5vIG1vcmUgcmVzdWx0cyB0byBmZXRjaC4gTGV0J3MgaW1wbGVtZW50IGEgcmVzb3VyY2UKaXRlcmF0b3IgZm9yIHRoaXMgY29tbWFuZC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICBuYW1lc3BhY2UgTXlTZXJ2aWNlXE1vZGVsOwoKICAgIHVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9yOwoKICAgIC8qKgogICAgICogSXRlcmF0ZSBvdmVyIGEgZ2V0X3VzZXJzIGNvbW1hbmQKICAgICAqLwogICAgY2xhc3MgR2V0VXNlcnNJdGVyYXRvciBleHRlbmRzIFJlc291cmNlSXRlcmF0b3IKICAgIHsKICAgICAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2VuZFJlcXVlc3QoKQogICAgICAgIHsKICAgICAgICAgICAgLy8gSWYgYSBuZXh0IHRva2VuIGlzIHNldCwgdGhlbiBhZGQgaXQgdG8gdGhlIGNvbW1hbmQKICAgICAgICAgICAgaWYgKCR0aGlzLT5uZXh0VG9rZW4pIHsKICAgICAgICAgICAgICAgICR0aGlzLT5jb21tYW5kLT5zZXQoJ25leHRfdXNlcicsICR0aGlzLT5uZXh0VG9rZW4pOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBFeGVjdXRlIHRoZSBjb21tYW5kIGFuZCBwYXJzZSB0aGUgcmVzdWx0CiAgICAgICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y29tbWFuZC0+ZXhlY3V0ZSgpOwoKICAgICAgICAgICAgLy8gUGFyc2UgdGhlIG5leHQgdG9rZW4KICAgICAgICAgICAgJHRoaXMtPm5leHRUb2tlbiA9IGlzc2V0KCRyZXN1bHRbJ25leHRfdXNlciddKSA/ICRyZXN1bHRbJ25leHRfdXNlciddIDogZmFsc2U7CgogICAgICAgICAgICByZXR1cm4gJHJlc3VsdFsndXNlcnMnXTsKICAgICAgICB9CiAgICB9CgpBcyB5b3UgY2FuIHNlZSwgaXQncyBwcmV0dHkgc2ltcGxlIHRvIGltcGxlbWVudCBhbiBpdGVyYXRvci4gVGhlcmUgYXJlIGEgZmV3IHRoaW5ncyB0aGF0IHlvdSBzaG91bGQgbm90aWNlIGZyb20gdGhpcwpleGFtcGxlOgoKMS4gWW91IGRvIG5vdCBuZWVkIHRvIGNyZWF0ZSBhIG5ldyBjb21tYW5kIGluIHRoZSBgYHNlbmRSZXF1ZXN0KClgYCBtZXRob2QuIEEgbmV3IGNvbW1hbmQgb2JqZWN0IGlzIGNsb25lZCBmcm9tIHRoZQogICBvcmlnaW5hbCBjb21tYW5kIHBhc3NlZCBpbnRvIHRoZSBjb25zdHJ1Y3RvciBvZiB0aGUgaXRlcmF0b3IgYmVmb3JlIHRoZSBgYHNlbmRSZXF1ZXN0KClgYCBtZXRob2QgaXMgY2FsbGVkLgogICBSZW1lbWJlciB0aGF0IHRoZSByZXNvdXJjZSBpdGVyYXRvciBleHBlY3RzIGEgY29tbWFuZCB0aGF0IGhhcyBub3QgYmVlbiBleGVjdXRlZC4KMi4gV2hlbiB0aGUgYGBzZW5kUmVxdWVzdCgpYGAgbWV0aG9kIGlzIGZpcnN0IGNhbGxlZCwgeW91IHdpbGwgbm90IGhhdmUgYSBgYCR0aGlzLT5uZXh0VG9rZW5gYCB2YWx1ZSwgc28gYWx3YXlzIGNoZWNrCiAgIGJlZm9yZSBzZXR0aW5nIGl0IG9uIGEgY29tbWFuZC4gTm90aWNlIHRoYXQgdGhlIG5leHQgdG9rZW4gaXMgYmVpbmcgdXBkYXRlZCBlYWNoIHRpbWUgYSByZXF1ZXN0IGlzIHNlbnQuCjMuIEFmdGVyIGZldGNoaW5nIG1vcmUgcmVzb3VyY2VzIGZyb20gdGhlIHNlcnZpY2UsIGFsd2F5cyByZXR1cm4gYW4gYXJyYXkgb2YgcmVzb3VyY2VzLgo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/Makefile</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBNYWtlZmlsZSBmb3IgU3BoaW54IGRvY3VtZW50YXRpb24KIwoKIyBZb3UgY2FuIHNldCB0aGVzZSB2YXJpYWJsZXMgZnJvbSB0aGUgY29tbWFuZCBsaW5lLgpTUEhJTlhPUFRTICAgID0KU1BISU5YQlVJTEQgICA9IHNwaGlueC1idWlsZApQQVBFUiAgICAgICAgID0KQlVJTERESVIgICAgICA9IF9idWlsZAoKIyBJbnRlcm5hbCB2YXJpYWJsZXMuClBBUEVST1BUX2E0ICAgICA9IC1EIGxhdGV4X3BhcGVyX3NpemU9YTQKUEFQRVJPUFRfbGV0dGVyID0gLUQgbGF0ZXhfcGFwZXJfc2l6ZT1sZXR0ZXIKQUxMU1BISU5YT1BUUyAgID0gLWQgJChCVUlMRERJUikvZG9jdHJlZXMgJChQQVBFUk9QVF8kKFBBUEVSKSkgJChTUEhJTlhPUFRTKSAuCiMgdGhlIGkxOG4gYnVpbGRlciBjYW5ub3Qgc2hhcmUgdGhlIGVudmlyb25tZW50IGFuZCBkb2N0cmVlcyB3aXRoIHRoZSBvdGhlcnMKSTE4TlNQSElOWE9QVFMgID0gJChQQVBFUk9QVF8kKFBBUEVSKSkgJChTUEhJTlhPUFRTKSAuCgouUEhPTlk6IGhlbHAgY2xlYW4gaHRtbCBkaXJodG1sIHNpbmdsZWh0bWwgcGlja2xlIGpzb24gaHRtbGhlbHAgcXRoZWxwIGRldmhlbHAgZXB1YiBsYXRleCBsYXRleHBkZiB0ZXh0IG1hbiBjaGFuZ2VzIGxpbmtjaGVjayBkb2N0ZXN0IGdldHRleHQKCmhlbHA6CglAZWNobyAiUGxlYXNlIHVzZSBcYG1ha2UgPHRhcmdldD4nIHdoZXJlIDx0YXJnZXQ+IGlzIG9uZSBvZiIKCUBlY2hvICIgIGh0bWwgICAgICAgdG8gbWFrZSBzdGFuZGFsb25lIEhUTUwgZmlsZXMiCglAZWNobyAiICBkaXJodG1sICAgIHRvIG1ha2UgSFRNTCBmaWxlcyBuYW1lZCBpbmRleC5odG1sIGluIGRpcmVjdG9yaWVzIgoJQGVjaG8gIiAgc2luZ2xlaHRtbCB0byBtYWtlIGEgc2luZ2xlIGxhcmdlIEhUTUwgZmlsZSIKCUBlY2hvICIgIHBpY2tsZSAgICAgdG8gbWFrZSBwaWNrbGUgZmlsZXMiCglAZWNobyAiICBqc29uICAgICAgIHRvIG1ha2UgSlNPTiBmaWxlcyIKCUBlY2hvICIgIGh0bWxoZWxwICAgdG8gbWFrZSBIVE1MIGZpbGVzIGFuZCBhIEhUTUwgaGVscCBwcm9qZWN0IgoJQGVjaG8gIiAgcXRoZWxwICAgICB0byBtYWtlIEhUTUwgZmlsZXMgYW5kIGEgcXRoZWxwIHByb2plY3QiCglAZWNobyAiICBkZXZoZWxwICAgIHRvIG1ha2UgSFRNTCBmaWxlcyBhbmQgYSBEZXZoZWxwIHByb2plY3QiCglAZWNobyAiICBlcHViICAgICAgIHRvIG1ha2UgYW4gZXB1YiIKCUBlY2hvICIgIGxhdGV4ICAgICAgdG8gbWFrZSBMYVRlWCBmaWxlcywgeW91IGNhbiBzZXQgUEFQRVI9YTQgb3IgUEFQRVI9bGV0dGVyIgoJQGVjaG8gIiAgbGF0ZXhwZGYgICB0byBtYWtlIExhVGVYIGZpbGVzIGFuZCBydW4gdGhlbSB0aHJvdWdoIHBkZmxhdGV4IgoJQGVjaG8gIiAgdGV4dCAgICAgICB0byBtYWtlIHRleHQgZmlsZXMiCglAZWNobyAiICBtYW4gICAgICAgIHRvIG1ha2UgbWFudWFsIHBhZ2VzIgoJQGVjaG8gIiAgdGV4aW5mbyAgICB0byBtYWtlIFRleGluZm8gZmlsZXMiCglAZWNobyAiICBpbmZvICAgICAgIHRvIG1ha2UgVGV4aW5mbyBmaWxlcyBhbmQgcnVuIHRoZW0gdGhyb3VnaCBtYWtlaW5mbyIKCUBlY2hvICIgIGdldHRleHQgICAgdG8gbWFrZSBQTyBtZXNzYWdlIGNhdGFsb2dzIgoJQGVjaG8gIiAgY2hhbmdlcyAgICB0byBtYWtlIGFuIG92ZXJ2aWV3IG9mIGFsbCBjaGFuZ2VkL2FkZGVkL2RlcHJlY2F0ZWQgaXRlbXMiCglAZWNobyAiICBsaW5rY2hlY2sgIHRvIGNoZWNrIGFsbCBleHRlcm5hbCBsaW5rcyBmb3IgaW50ZWdyaXR5IgoJQGVjaG8gIiAgZG9jdGVzdCAgICB0byBydW4gYWxsIGRvY3Rlc3RzIGVtYmVkZGVkIGluIHRoZSBkb2N1bWVudGF0aW9uIChpZiBlbmFibGVkKSIKCmNsZWFuOgoJLXJtIC1yZiAkKEJVSUxERElSKS8qCgpodG1sOgoJJChTUEhJTlhCVUlMRCkgLWIgaHRtbCAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL2h0bWwKCUBlY2hvCglAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSBIVE1MIHBhZ2VzIGFyZSBpbiAkKEJVSUxERElSKS9odG1sLiIKCmRpcmh0bWw6CgkkKFNQSElOWEJVSUxEKSAtYiBkaXJodG1sICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvZGlyaHRtbAoJQGVjaG8KCUBlY2hvICJCdWlsZCBmaW5pc2hlZC4gVGhlIEhUTUwgcGFnZXMgYXJlIGluICQoQlVJTERESVIpL2Rpcmh0bWwuIgoKc2luZ2xlaHRtbDoKCSQoU1BISU5YQlVJTEQpIC1iIHNpbmdsZWh0bWwgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9zaW5nbGVodG1sCglAZWNobwoJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgSFRNTCBwYWdlIGlzIGluICQoQlVJTERESVIpL3NpbmdsZWh0bWwuIgoKcGlja2xlOgoJJChTUEhJTlhCVUlMRCkgLWIgcGlja2xlICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvcGlja2xlCglAZWNobwoJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkOyBub3cgeW91IGNhbiBwcm9jZXNzIHRoZSBwaWNrbGUgZmlsZXMuIgoKanNvbjoKCSQoU1BISU5YQlVJTEQpIC1iIGpzb24gJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9qc29uCglAZWNobwoJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkOyBub3cgeW91IGNhbiBwcm9jZXNzIHRoZSBKU09OIGZpbGVzLiIKCmh0bWxoZWxwOgoJJChTUEhJTlhCVUlMRCkgLWIgaHRtbGhlbHAgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9odG1saGVscAoJQGVjaG8KCUBlY2hvICJCdWlsZCBmaW5pc2hlZDsgbm93IHlvdSBjYW4gcnVuIEhUTUwgSGVscCBXb3Jrc2hvcCB3aXRoIHRoZSIgXAoJICAgICAgIi5oaHAgcHJvamVjdCBmaWxlIGluICQoQlVJTERESVIpL2h0bWxoZWxwLiIKCnF0aGVscDoKCSQoU1BISU5YQlVJTEQpIC1iIHF0aGVscCAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL3F0aGVscAoJQGVjaG8KCUBlY2hvICJCdWlsZCBmaW5pc2hlZDsgbm93IHlvdSBjYW4gcnVuICJxY29sbGVjdGlvbmdlbmVyYXRvciIgd2l0aCB0aGUiIFwKCSAgICAgICIucWhjcCBwcm9qZWN0IGZpbGUgaW4gJChCVUlMRERJUikvcXRoZWxwLCBsaWtlIHRoaXM6IgoJQGVjaG8gIiMgcWNvbGxlY3Rpb25nZW5lcmF0b3IgJChCVUlMRERJUikvcXRoZWxwL0d1enpsZS5xaGNwIgoJQGVjaG8gIlRvIHZpZXcgdGhlIGhlbHAgZmlsZToiCglAZWNobyAiIyBhc3Npc3RhbnQgLWNvbGxlY3Rpb25GaWxlICQoQlVJTERESVIpL3F0aGVscC9HdXp6bGUucWhjIgoKZGV2aGVscDoKCSQoU1BISU5YQlVJTEQpIC1iIGRldmhlbHAgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9kZXZoZWxwCglAZWNobwoJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiIKCUBlY2hvICJUbyB2aWV3IHRoZSBoZWxwIGZpbGU6IgoJQGVjaG8gIiMgbWtkaXIgLXAgJCRIT01FLy5sb2NhbC9zaGFyZS9kZXZoZWxwL0d1enpsZSIKCUBlY2hvICIjIGxuIC1zICQoQlVJTERESVIpL2RldmhlbHAgJCRIT01FLy5sb2NhbC9zaGFyZS9kZXZoZWxwL0d1enpsZSIKCUBlY2hvICIjIGRldmhlbHAiCgplcHViOgoJJChTUEhJTlhCVUlMRCkgLWIgZXB1YiAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL2VwdWIKCUBlY2hvCglAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSBlcHViIGZpbGUgaXMgaW4gJChCVUlMRERJUikvZXB1Yi4iCgpsYXRleDoKCSQoU1BISU5YQlVJTEQpIC1iIGxhdGV4ICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvbGF0ZXgKCUBlY2hvCglAZWNobyAiQnVpbGQgZmluaXNoZWQ7IHRoZSBMYVRlWCBmaWxlcyBhcmUgaW4gJChCVUlMRERJUikvbGF0ZXguIgoJQGVjaG8gIlJ1biBcYG1ha2UnIGluIHRoYXQgZGlyZWN0b3J5IHRvIHJ1biB0aGVzZSB0aHJvdWdoIChwZGYpbGF0ZXgiIFwKCSAgICAgICIodXNlIFxgbWFrZSBsYXRleHBkZicgaGVyZSB0byBkbyB0aGF0IGF1dG9tYXRpY2FsbHkpLiIKCmxhdGV4cGRmOgoJJChTUEhJTlhCVUlMRCkgLWIgbGF0ZXggJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9sYXRleAoJQGVjaG8gIlJ1bm5pbmcgTGFUZVggZmlsZXMgdGhyb3VnaCBwZGZsYXRleC4uLiIKCSQoTUFLRSkgLUMgJChCVUlMRERJUikvbGF0ZXggYWxsLXBkZgoJQGVjaG8gInBkZmxhdGV4IGZpbmlzaGVkOyB0aGUgUERGIGZpbGVzIGFyZSBpbiAkKEJVSUxERElSKS9sYXRleC4iCgp0ZXh0OgoJJChTUEhJTlhCVUlMRCkgLWIgdGV4dCAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL3RleHQKCUBlY2hvCglAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSB0ZXh0IGZpbGVzIGFyZSBpbiAkKEJVSUxERElSKS90ZXh0LiIKCm1hbjoKCSQoU1BISU5YQlVJTEQpIC1iIG1hbiAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL21hbgoJQGVjaG8KCUBlY2hvICJCdWlsZCBmaW5pc2hlZC4gVGhlIG1hbnVhbCBwYWdlcyBhcmUgaW4gJChCVUlMRERJUikvbWFuLiIKCnRleGluZm86CgkkKFNQSElOWEJVSUxEKSAtYiB0ZXhpbmZvICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvdGV4aW5mbwoJQGVjaG8KCUBlY2hvICJCdWlsZCBmaW5pc2hlZC4gVGhlIFRleGluZm8gZmlsZXMgYXJlIGluICQoQlVJTERESVIpL3RleGluZm8uIgoJQGVjaG8gIlJ1biBcYG1ha2UnIGluIHRoYXQgZGlyZWN0b3J5IHRvIHJ1biB0aGVzZSB0aHJvdWdoIG1ha2VpbmZvIiBcCgkgICAgICAiKHVzZSBcYG1ha2UgaW5mbycgaGVyZSB0byBkbyB0aGF0IGF1dG9tYXRpY2FsbHkpLiIKCmluZm86CgkkKFNQSElOWEJVSUxEKSAtYiB0ZXhpbmZvICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvdGV4aW5mbwoJQGVjaG8gIlJ1bm5pbmcgVGV4aW5mbyBmaWxlcyB0aHJvdWdoIG1ha2VpbmZvLi4uIgoJbWFrZSAtQyAkKEJVSUxERElSKS90ZXhpbmZvIGluZm8KCUBlY2hvICJtYWtlaW5mbyBmaW5pc2hlZDsgdGhlIEluZm8gZmlsZXMgYXJlIGluICQoQlVJTERESVIpL3RleGluZm8uIgoKZ2V0dGV4dDoKCSQoU1BISU5YQlVJTEQpIC1iIGdldHRleHQgJChJMThOU1BISU5YT1BUUykgJChCVUlMRERJUikvbG9jYWxlCglAZWNobwoJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgbWVzc2FnZSBjYXRhbG9ncyBhcmUgaW4gJChCVUlMRERJUikvbG9jYWxlLiIKCmNoYW5nZXM6CgkkKFNQSElOWEJVSUxEKSAtYiBjaGFuZ2VzICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvY2hhbmdlcwoJQGVjaG8KCUBlY2hvICJUaGUgb3ZlcnZpZXcgZmlsZSBpcyBpbiAkKEJVSUxERElSKS9jaGFuZ2VzLiIKCmxpbmtjaGVjazoKCSQoU1BISU5YQlVJTEQpIC1iIGxpbmtjaGVjayAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL2xpbmtjaGVjawoJQGVjaG8KCUBlY2hvICJMaW5rIGNoZWNrIGNvbXBsZXRlOyBsb29rIGZvciBhbnkgZXJyb3JzIGluIHRoZSBhYm92ZSBvdXRwdXQgIiBcCgkgICAgICAib3IgaW4gJChCVUlMRERJUikvbGlua2NoZWNrL291dHB1dC50eHQuIgoKZG9jdGVzdDoKCSQoU1BISU5YQlVJTEQpIC1iIGRvY3Rlc3QgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9kb2N0ZXN0CglAZWNobyAiVGVzdGluZyBvZiBkb2N0ZXN0cyBpbiB0aGUgc291cmNlcyBmaW5pc2hlZCwgbG9vayBhdCB0aGUgIiBcCgkgICAgICAicmVzdWx0cyBpbiAkKEJVSUxERElSKS9kb2N0ZXN0L291dHB1dC50eHQuIgo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/plugins/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/plugins/async-plugin.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09CkFzeW5jIHBsdWdpbgo9PT09PT09PT09PT0KClRoZSBBc3luY1BsdWdpbiBhbGxvd3MgeW91IHRvIHNlbmQgcmVxdWVzdHMgdGhhdCBkbyBub3Qgd2FpdCBvbiBhIHJlc3BvbnNlLiBUaGlzIGlzIGhhbmRsZWQgdGhyb3VnaCBjVVJMIGJ5IHV0aWxpemluZwp0aGUgcHJvZ3Jlc3MgZXZlbnQuIFdoZW4gYSByZXF1ZXN0IGhhcyBzZW50IGFsbCBvZiBpdHMgZGF0YSB0byB0aGUgcmVtb3RlIHNlcnZlciwgR3V6emxlIGFkZHMgYSAxbXMgdGltZW91dCBvbiB0aGUKcmVxdWVzdCBhbmQgaW5zdHJ1Y3RzIGNVUkwgdG8gbm90IGRvd25sb2FkIHRoZSBib2R5IG9mIHRoZSByZXNwb25zZS4gVGhlIGFzeW5jIHBsdWdpbiB0aGVuIGNhdGNoZXMgdGhlIGV4Y2VwdGlvbiBhbmQKYWRkcyBhIG1vY2sgcmVzcG9uc2UgdG8gdGhlIHJlcXVlc3QsIGFsb25nIHdpdGggYW4gWC1HdXp6bGUtQXN5bmMgaGVhZGVyIHRvIGxldCB5b3Uga25vdyB0aGF0IHRoZSByZXNwb25zZSB3YXMgbm90CmZ1bGx5IGRvd25sb2FkZWQuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxIdHRwXENsaWVudDsKICAgIHVzZSBHdXp6bGVcUGx1Z2luXEFzeW5jXEFzeW5jUGx1Z2luOwoKICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tJyk7CiAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKG5ldyBBc3luY1BsdWdpbigpKTsKICAgICRyZXNwb25zZSA9ICRjbGllbnQtPmdldCgpLT5zZW5kKCk7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/plugins/backoff-plugin.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT0KQmFja29mZiByZXRyeSBwbHVnaW4KPT09PT09PT09PT09PT09PT09PT0KClRoZSBgYEd1enpsZVxQbHVnaW5cQmFja29mZlxCYWNrb2ZmUGx1Z2luYGAgYXV0b21hdGljYWxseSByZXRyaWVzIGZhaWxlZCBIVFRQIHJlcXVlc3RzIHVzaW5nIGN1c3RvbSBiYWNrb2ZmIHN0cmF0ZWdpZXM6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxIdHRwXENsaWVudDsKICAgIHVzZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmZcQmFja29mZlBsdWdpbjsKCiAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cDovL3d3dy50ZXN0LmNvbS8nKTsKICAgIC8vIFVzZSBhIHN0YXRpYyBmYWN0b3J5IG1ldGhvZCB0byBnZXQgYSBiYWNrb2ZmIHBsdWdpbiB1c2luZyB0aGUgZXhwb25lbnRpYWwgYmFja29mZiBzdHJhdGVneQogICAgJGJhY2tvZmZQbHVnaW4gPSBCYWNrb2ZmUGx1Z2luOjpnZXRFeHBvbmVudGlhbEJhY2tvZmYoKTsKCiAgICAvLyBBZGQgdGhlIGJhY2tvZmYgcGx1Z2luIHRvIHRoZSBjbGllbnQgb2JqZWN0CiAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKCRiYWNrb2ZmUGx1Z2luKTsKClRoZSBCYWNrb2ZmUGx1Z2luJ3MgY29uc3RydWN0b3IgYWNjZXB0cyBhIGBgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEJhY2tvZmZTdHJhdGVneUludGVyZmFjZWBgIG9iamVjdCB0aGF0IGlzIHVzZWQgdG8KZGV0ZXJtaW5lIHdoZW4gYSByZXRyeSBzaG91bGQgYmUgaXNzdWVkIGFuZCBob3cgbG9uZyB0byBkZWxheSBiZXR3ZWVuIHJldHJpZXMuIFRoZSBhYm92ZSBjb2RlIGV4YW1wbGUgc2hvd3MgaG93IHRvCmF0dGFjaCBhIEJhY2tvZmZQbHVnaW4gdG8gYSBjbGllbnQgdGhhdCBpcyBwcmUtY29uZmlndXJlZCB0byByZXRyeSBmYWlsZWQgNTAwIGFuZCA1MDMgcmVzcG9uc2VzIHVzaW5nIHRydW5jYXRlZApleHBvbmVudGlhbCBiYWNrb2ZmIChlbXVsYXRpbmcgdGhlIGJlaGF2aW9yIG9mIEd1enpsZSAyJ3MgRXhwb25lbnRpYWxCYWNrb2ZmUGx1Z2luKS4K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/plugins/cache-plugin.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT0KSFRUUCBDYWNoZSBwbHVnaW4KPT09PT09PT09PT09PT09PT0KCkd1enpsZSBjYW4gbGV2ZXJhZ2UgSFRUUCdzIGNhY2hpbmcgc3BlY2lmaWNhdGlvbnMgdXNpbmcgdGhlIGBgR3V6emxlXFBsdWdpblxDYWNoZVxDYWNoZVBsdWdpbmBgLiBUaGUgQ2FjaGVQbHVnaW4KcHJvdmlkZXMgYSBwcml2YXRlIHRyYW5zcGFyZW50IHByb3h5IGNhY2hlIHRoYXQgY2FjaGVzIEhUVFAgcmVzcG9uc2VzLiBUaGUgY2FjaGluZyBsb2dpYywgYmFzZWQgb24KYFJGQyAyNjE2IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEzLmh0bWw+YF8sIHVzZXMgSFRUUCBoZWFkZXJzIHRvIGNvbnRyb2wgY2FjaGluZyBiZWhhdmlvciwKY2FjaGUgbGlmZXRpbWUsIGFuZCBzdXBwb3J0cyBWYXJ5LCBFVGFnLCBhbmQgTGFzdC1Nb2RpZmllZCBiYXNlZCByZXZhbGlkYXRpb246CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxIdHRwXENsaWVudDsKICAgIHVzZSBEb2N0cmluZVxDb21tb25cQ2FjaGVcRmlsZXN5c3RlbUNhY2hlOwogICAgdXNlIEd1enpsZVxDYWNoZVxEb2N0cmluZUNhY2hlQWRhcHRlcjsKICAgIHVzZSBHdXp6bGVcUGx1Z2luXENhY2hlXENhY2hlUGx1Z2luOwogICAgdXNlIEd1enpsZVxQbHVnaW5cQ2FjaGVcRGVmYXVsdENhY2hlU3RvcmFnZTsKCiAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cDovL3d3dy50ZXN0LmNvbS8nKTsKCiAgICAkY2FjaGVQbHVnaW4gPSBuZXcgQ2FjaGVQbHVnaW4oYXJyYXkoCiAgICAgICAgJ3N0b3JhZ2UnID0+IG5ldyBEZWZhdWx0Q2FjaGVTdG9yYWdlKAogICAgICAgICAgICBuZXcgRG9jdHJpbmVDYWNoZUFkYXB0ZXIoCiAgICAgICAgICAgICAgICBuZXcgRmlsZXN5c3RlbUNhY2hlKCcvcGF0aC90by9jYWNoZS9maWxlcycpCiAgICAgICAgICAgICkKICAgICAgICApCiAgICApKTsKCiAgICAvLyBBZGQgdGhlIGNhY2hlIHBsdWdpbiB0byB0aGUgY2xpZW50IG9iamVjdAogICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkY2FjaGVQbHVnaW4pOwogICAgJGNsaWVudC0+Z2V0KCdodHRwOi8vd3d3Lndpa2lwZWRpYS5vcmcvJyktPnNlbmQoKTsKCiAgICAvLyBUaGUgbmV4dCByZXF1ZXN0IHdpbGwgcmV2YWxpZGF0ZSBhZ2FpbnN0IHRoZSBvcmlnaW4gc2VydmVyIHRvIHNlZSBpZiBpdAogICAgLy8gaGFzIGJlZW4gbW9kaWZpZWQuIElmIGEgMzA0IHJlc3BvbnNlIGlzIHJlY2VpdmVkIHRoZSByZXNwb25zZSB3aWxsIGJlCiAgICAvLyBzZXJ2ZWQgZnJvbSBjYWNoZQogICAgJGNsaWVudC0+Z2V0KCdodHRwOi8vd3d3Lndpa2lwZWRpYS5vcmcvJyktPnNlbmQoKTsKClRoZSBjYWNoZSBwbHVnaW4gaW50ZXJjZXB0cyBHRVQgYW5kIEhFQUQgcmVxdWVzdHMgYmVmb3JlIHRoZXkgYXJlIGFjdHVhbGx5IHRyYW5zZmVycmVkIHRvIHRoZSBvcmlnaW4gc2VydmVyLiBUaGUgY2FjaGUKcGx1Z2luIHRoZW4gZ2VuZXJhdGVzIGEgaGFzaCBrZXkgYmFzZWQgb24gdGhlIHJlcXVlc3QgbWV0aG9kIGFuZCBVUkwsIGFuZCBjaGVja3MgdG8gc2VlIGlmIGEgcmVzcG9uc2UgZXhpc3RzIGluIHRoZSBjYWNoZS4gSWYKYSByZXNwb25zZSBleGlzdHMgaW4gdGhlIGNhY2hlLCB0aGUgY2FjaGUgYWRhcHRlciB0aGVuIGNoZWNrcyB0byBtYWtlIHN1cmUgdGhhdCB0aGUgY2FjaGluZyBydWxlcyBhc3NvY2lhdGVkIHdpdGggdGhlIHJlc3BvbnNlCnNhdGlzZnkgdGhlIHJlcXVlc3QsIGFuZCBlbnN1cmVzIHRoYXQgcmVzcG9uc2Ugc3RpbGwgZnJlc2guIElmIHRoZSByZXNwb25zZSBpcyBhY2NlcHRhYmxlIGZvciB0aGUgcmVxdWVzdCBhbnkgcmVxdWlyZWQKcmV2YWxpZGF0aW9uLCB0aGVuIHRoZSBjYWNoZWQgcmVzcG9uc2UgaXMgc2VydmVkIGluc3RlYWQgb2YgY29udGFjdGluZyB0aGUgb3JpZ2luIHNlcnZlci4KClZhcnkKLS0tLQoKQ2FjaGUga2V5cyBhcmUgZGVyaXZlZCBmcm9tIGEgcmVxdWVzdCBtZXRob2QgYW5kIGEgcmVxdWVzdCBVUkwuIE11bHRpcGxlIHJlc3BvbnNlcyBjYW4gbWFwIHRvIHRoZSBzYW1lIGNhY2hlIGtleSBhbmQKc3RvcmVkIGluIEd1enpsZSdzIHVuZGVybHlpbmcgY2FjaGUgc3RvcmFnZSBvYmplY3QuIFlvdSBzaG91bGQgdXNlIHRoZSBgYFZhcnlgYCBIVFRQIGhlYWRlciB0byB0ZWxsIHRoZSBjYWNoZSBzdG9yYWdlCm9iamVjdCB0aGF0IHRoZSBjYWNoZSByZXNwb25zZSBtdXN0IGhhdmUgYmVlbiBjYWNoZWQgZm9yIGEgcmVxdWVzdCB0aGF0IG1hdGNoZXMgdGhlIGhlYWRlcnMgc3BlY2lmaWVkIGluIHRoZSBWYXJ5IGhlYWRlcgpvZiB0aGUgcmVxdWVzdC4gVGhpcyBhbGxvd3MgeW91IHRvIGhhdmUgc3BlY2lmaWMgY2FjaGUgZW50cmllcyBmb3IgdGhlIHNhbWUgcmVxdWVzdCBVUkwgYnV0IHZhcmlhdGlvbnMgaW4gYSByZXF1ZXN0J3MKaGVhZGVycyBkZXRlcm1pbmUgd2hpY2ggY2FjaGUgZW50cnkgaXMgc2VydmVkLiBQbGVhc2Ugc2VlIHRoZSBodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzE0Lmh0bWwjc2VjMTQuNDQKZm9yIG1vcmUgaW5mb3JtYXRpb24uCgpDYWNoZSBvcHRpb25zCi0tLS0tLS0tLS0tLS0KClRoZXJlIGFyZSBzZXZlcmFsIG9wdGlvbnMgeW91IGNhbiBhZGQgdG8gcmVxdWVzdHMgb3IgY2xpZW50cyB0byBtb2RpZnkgdGhlIGJlaGF2aW9yIG9mIHRoZSBjYWNoZSBwbHVnaW4uCgpPdmVycmlkZSBjYWNoZSBUVEwKfn5+fn5+fn5+fn5+fn5+fn5+CgpZb3UgY2FuIG92ZXJyaWRlIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBhIGNhY2hlYWJsZSByZXNwb25zZSBpcyBzdG9yZWQgaW4gdGhlIGNhY2hlIGJ5IHNldHRpbmcgdGhlCmBgY2FjaGUub3ZlcnJpZGVfdHRsYGAgcGFyYW1ldGVyIG9uIHRoZSBwYXJhbXMgb2JqZWN0IG9mIGEgcmVxdWVzdDoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAvLyBJZiB0aGUgcmVzcG9uc2UgdG8gdGhlIHJlcXVlc3QgaXMgY2FjaGVhYmxlLCB0aGVuIHRoZSByZXNwb25zZSB3aWxsIGJlIGNhY2hlZCBmb3IgMTAwIHNlY29uZHMKICAgICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+c2V0KCdjYWNoZS5vdmVycmlkZV90dGwnLCAxMDApOwoKSWYgYSByZXNwb25zZSBkb2Vzbid0IHNwZWNpZnkgYW55IGZyZXNobmVzcyBwb2xpY3ksIGl0IHdpbGwgYmUga2VwdCBpbiBjYWNoZSBmb3IgMzYwMCBzZWNvbmRzIGJ5IGRlZmF1bHQuCgpDdXN0b20gY2FjaGluZyBkZWNpc2lvbgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKSWYgdGhlIHNlcnZpY2UgeW91IGFyZSBpbnRlcmFjdGluZyB3aXRoIGRvZXMgbm90IHJldHVybiBjYWNoaW5nIGhlYWRlcnMgb3IgcmV0dXJucyByZXNwb25zZXMgdGhhdCBhcmUgbm9ybWFsbHkKc29tZXRoaW5nIHRoYXQgd291bGQgbm90IGJlIGNhY2hlZCwgeW91IGNhbiBzZXQgYSBjdXN0b20gYGBjYW5fY2FjaGVgYCBvYmplY3Qgb24gdGhlIGNvbnN0cnVjdG9yIG9mIHRoZSBDYWNoZVBsdWdpbgphbmQgcHJvdmlkZSBhIGBgR3V6emxlXFBsdWdpblxDYWNoZVxDYW5DYWNoZUludGVyZmFjZWBgIG9iamVjdC4gWW91IGNhbiB1c2UgdGhlCmBgR3V6emxlXFBsdWdpblxDYWNoZVxDYWxsYmFja0NhbkNhY2hlU3RyYXRlZ3lgYCB0byBlYXNpbHkgbWFrZSBhIGNhY2hpbmcgZGVjaXNpb24gYmFzZWQgb24gYW4gSFRUUCByZXF1ZXN0IGFuZApyZXNwb25zZS4KClJldmFsaWRhdGlvbiBvcHRpb25zCn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpZb3UgY2FuIGNoYW5nZSB0aGUgcmV2YWxpZGF0aW9uIGJlaGF2aW9yIG9mIGEgcmVxdWVzdCB1c2luZyB0aGUgYGBjYWNoZS5yZXZhbGlkYXRlYGAgcGFyYW1ldGVyLiBTZXR0aW5nIHRoaXMKcGFyYW1ldGVyIHRvIGBgbmV2ZXJgYCB3aWxsIGVuc3VyZSB0aGF0IGEgcmV2YWxpZGF0aW9uIHJlcXVlc3QgaXMgbmV2ZXIgc2VudCwgYW5kIHRoZSByZXNwb25zZSBpcyBhbHdheXMgc2VydmVkIGZyb20KdGhlIG9yaWdpbiBzZXJ2ZXIuIFNldHRpbmcgdGhpcyBwYXJhbWV0ZXIgdG8gYGBza2lwYGAgd2lsbCBuZXZlciByZXZhbGlkYXRlIGFuZCB1c2VzIHRoZSByZXNwb25zZSBzdG9yZWQgaW4gdGhlIGNhY2hlLgoKTm9ybWFsaXppbmcgcmVxdWVzdHMgZm9yIGNhY2hpbmcKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KClVzZSB0aGUgYGBjYWNoZS5rZXlfZmlsdGVyYGAgcGFyYW1ldGVyIGlmIHlvdSB3aXNoIHRvIHN0cmlwIGNlcnRhaW4gcXVlcnkgc3RyaW5nIHBhcmFtZXRlcnMgZnJvbSB5b3VyCnJlcXVlc3QgYmVmb3JlIGNyZWF0aW5nIGEgdW5pcXVlIGhhc2ggZm9yIHRoZSByZXF1ZXN0LiBUaGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZnVsIGlmIHlvdXIgcmVxdWVzdHMgaGF2ZSBxdWVyeQpzdHJpbmcgdmFsdWVzIHRoYXQgY2F1c2UgZWFjaCByZXF1ZXN0IFVSTCB0byBiZSB1bmlxdWUgKHRodXMgcHJldmVudGluZyBhIGNhY2hlIGhpdCkuIFRoZSBgYGNhY2hlLmtleV9maWx0ZXJgYApmb3JtYXQgaXMgc2ltcGx5IGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgcXVlcnkgc3RyaW5nIHZhbHVlcyB0byByZW1vdmUgZnJvbSB0aGUgVVJMIHdoZW4gY3JlYXRpbmcgYSBjYWNoZSBrZXkuCkZvciBleGFtcGxlLCBoZXJlIHdlIGFyZSBzYXlpbmcgdGhhdCB0aGUgYGBhYGAgYW5kIGBgcWBgIHF1ZXJ5IHN0cmluZyB2YXJpYWJsZXMgc2hvdWxkIGJlIGlnbm9yZWQgd2hlbiBnZW5lcmF0aW5nIGEKY2FjaGUga2V5IGZvciB0aGUgcmVxdWVzdDoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPnNldCgnY2FjaGUua2V5X2ZpbHRlcicsICdhLCBxJyk7CgpPdGhlciBvcHRpb25zCn5+fn5+fn5+fn5+fn4KClRoZXJlIGFyZSBtYW55IG90aGVyIG9wdGlvbnMgYXZhaWxhYmxlIHRvIHRoZSBDYWNoZVBsdWdpbiB0aGF0IGNhbiBtZWV0IGFsbW9zdCBhbnkgY2FjaGluZyByZXF1aXJlbWVudCwgaW5jbHVkaW5nCmN1c3RvbSByZXZhbGlkYXRpb24gaW1wbGVtZW50YXRpb25zLCBjdXN0b20gY2FjaGUga2V5IGdlbmVyYXRvcnMsIGN1c3RvbSBjYWNoaW5nIGRlY2lzaW9uIHN0cmF0ZWdpZXMsIGFuZCBjdXN0b20KY2FjaGUgc3RvcmFnZSBvYmplY3RzLiBUYWtlIGEgbG9vayB0aGUgY29uc3RydWN0b3Igb2YgYGBHdXp6bGVcUGx1Z2luXENhY2hlXENhY2hlUGx1Z2luYGAgZm9yIG1vcmUgaW5mb3JtYXRpb24uCgpTZXR0aW5nIENsaWVudC13aWRlIGNhY2hlIHNldHRpbmdzCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCllvdSBjYW4gc3BlY2lmeSBjYWNoZSBzZXR0aW5ncyBmb3IgZXZlcnkgcmVxdWVzdCBjcmVhdGVkIGJ5IGEgY2xpZW50IGJ5IGFkZGluZyBjYWNoZSBzZXR0aW5ncyB0byB0aGUgY29uZmlndXJhdGlvbgpvcHRpb25zIG9mIGEgY2xpZW50LgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjbGllbnQgPSBuZXcgR3V6emxlXEh0dHBcQ2xpZW50KCdodHRwOi8vd3d3LnRlc3QuY29tJywgYXJyYXkoCiAgICAgICAgJ3JlcXVlc3QucGFyYW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2NhY2hlLm92ZXJyaWRlX3R0bCcgPT4gMzYwMCwKICAgICAgICAgICAgJ3BhcmFtcy5jYWNoZS5yZXZhbGlkYXRlJyA9PiAnbmV2ZXInCiAgICAgICAgKQogICAgKSk7CgogICAgZWNobyAkY2xpZW50LT5nZXQoJy8nKS0+Z2V0UGFyYW1zKCktPmdldCgnY2FjaGUub3ZlcnJpZGVfdHRsJyk7CiAgICAvLyA+Pj4gMzYwMAoKICAgIGVjaG8gJGNsaWVudC0+Z2V0KCcvJyktPmdldFBhcmFtcygpLT5nZXQoJ2NhY2hlLnJldmFsaWRhdGUnKTsKICAgIC8vID4+PiBuZXZlcgoKQ2FjaGUgcmV2YWxpZGF0aW9uCi0tLS0tLS0tLS0tLS0tLS0tLQoKSWYgdGhlIGNhY2hlIHBsdWdpbiBkZXRlcm1pbmVzIHRoYXQgYSByZXNwb25zZSB0byBhIEdFVCByZXF1ZXN0IG5lZWRzIHJldmFsaWRhdGlvbiwgYSBjb25kaXRpb25hbCBHRVQgaXMgdHJhbnNmZXJyZWQKdG8gdGhlIG9yaWdpbiBzZXJ2ZXIuIElmIHRoZSBvcmlnaW4gc2VydmVyIHJldHVybnMgYSAzMDQgcmVzcG9uc2UsIHRoZW4gYSByZXNwb25zZSBjb250YWluaW5nIHRoZSBtZXJnZWQgaGVhZGVycyBvZgp0aGUgY2FjaGVkIHJlc3BvbnNlIHdpdGggdGhlIG5ldyByZXNwb25zZSBhbmQgdGhlIGVudGl0eSBib2R5IG9mIHRoZSBjYWNoZWQgcmVzcG9uc2UgaXMgcmV0dXJuZWQuIEN1c3RvbSByZXZhbGlkYXRpb24Kc3RyYXRlZ2llcyBjYW4gYmUgaW5qZWN0ZWQgaW50byBhIENhY2hlUGx1Z2luIGlmIG5lZWRlZC4KCkNhY2hlIGFkYXB0ZXJzCi0tLS0tLS0tLS0tLS0tCgpHdXp6bGUgZG9lc24ndCB0cnkgdG8gcmVpbnZlbnQgdGhlIHdoZWVsIHdoZW4gaXQgY29tZXMgdG8gY2FjaGluZyBvciBsb2dnaW5nLiBQbGVudHkgb2Ygb3RoZXIgZnJhbWV3b3JrcyBoYXZlCmV4Y2VsbGVudCBzb2x1dGlvbnMgaW4gcGxhY2UgdGhhdCB5b3UgYXJlIHByb2JhYmx5IGFscmVhZHkgdXNpbmcgaW4geW91ciBhcHBsaWNhdGlvbnMuIEd1enpsZSB1c2VzIGFkYXB0ZXJzIGZvcgpjYWNoaW5nIGFuZCBsb2dnaW5nLiBUaGUgY2FjaGUgcGx1Z2luIHJlcXVpcmVzIGEgY2FjaGUgYWRhcHRlciBzbyB0aGF0IGlzIGNhbiBzdG9yZSByZXNwb25zZXMgaW4gYSBjYWNoZS4gR3V6emxlCmN1cnJlbnRseSBzdXBwb3J0cyBjYWNoZSBhZGFwdGVycyBmb3IgYERvY3RyaW5lIDIuMCA8aHR0cDovL3d3dy5kb2N0cmluZS1wcm9qZWN0Lm9yZy8+YF8gYW5kIHRoZQpgWmVuZCBGcmFtZXdvcmsgPGh0dHA6Ly9mcmFtZXdvcmsuemVuZC5jb20+YF8uCgpEb2N0cmluZSBjYWNoZSBhZGFwdGVyCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgRG9jdHJpbmVcQ29tbW9uXENhY2hlXEFycmF5Q2FjaGU7CiAgICB1c2UgR3V6emxlXENhY2hlXERvY3RyaW5lQ2FjaGVBZGFwdGVyOwogICAgdXNlIEd1enpsZVxQbHVnaW5cQ2FjaGVcQ2FjaGVQbHVnaW47CgogICAgJGJhY2tlbmQgPSBuZXcgQXJyYXlDYWNoZSgpOwogICAgJGFkYXB0ZXIgPSBuZXcgRG9jdHJpbmVDYWNoZUFkYXB0ZXIoJGJhY2tlbmQpOwogICAgJGNhY2hlID0gbmV3IENhY2hlUGx1Z2luKCRhZGFwdGVyKTsKClplbmQgRnJhbWV3b3JrIGNhY2hlIGFkYXB0ZXIKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBHdXp6bGVcQ2FjaGVcWmVuZENhY2hlQWRhcHRlcjsKICAgIHVzZSBaZW5kXENhY2hlXEJhY2tlbmRcVGVzdEJhY2tlbmQ7CgogICAgJGJhY2tlbmQgPSBuZXcgVGVzdEJhY2tlbmQoKTsKICAgICRhZGFwdGVyID0gbmV3IFplbmRDYWNoZUFkYXB0ZXIoJGJhY2tlbmQpOwogICAgJGNhY2hlID0gbmV3IENhY2hlUGx1Z2luKCRhZGFwdGVyKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/plugins/cookie-plugin.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PQpDb29raWUgcGx1Z2luCj09PT09PT09PT09PT0KClNvbWUgd2ViIHNlcnZpY2VzIHJlcXVpcmUgYSBDb29raWUgaW4gb3JkZXIgdG8gbWFpbnRhaW4gYSBzZXNzaW9uLiBUaGUgYGBHdXp6bGVcUGx1Z2luXENvb2tpZVxDb29raWVQbHVnaW5gYCB3aWxsIGFkZApjb29raWVzIHRvIHJlcXVlc3RzIGFuZCBwYXJzZSBjb29raWVzIGZyb20gcmVzcG9uc2VzIHVzaW5nIGEgQ29va2llSmFyIG9iamVjdDoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXEh0dHBcQ2xpZW50OwogICAgdXNlIEd1enpsZVxQbHVnaW5cQ29va2llXENvb2tpZVBsdWdpbjsKICAgIHVzZSBHdXp6bGVcUGx1Z2luXENvb2tpZVxDb29raWVKYXJcQXJyYXlDb29raWVKYXI7CgogICAgJGNvb2tpZVBsdWdpbiA9IG5ldyBDb29raWVQbHVnaW4obmV3IEFycmF5Q29va2llSmFyKCkpOwoKICAgIC8vIEFkZCB0aGUgY29va2llIHBsdWdpbiB0byBhIGNsaWVudAogICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHA6Ly93d3cudGVzdC5jb20vJyk7CiAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKCRjb29raWVQbHVnaW4pOwoKICAgIC8vIFNlbmQgdGhlIHJlcXVlc3Qgd2l0aCBubyBjb29raWVzIGFuZCBwYXJzZSB0aGUgcmV0dXJuZWQgY29va2llcwogICAgJGNsaWVudC0+Z2V0KCdodHRwOi8vd3d3LnlhaG9vLmNvbS8nKS0+c2VuZCgpOwoKICAgIC8vIFNlbmQgdGhlIHJlcXVlc3QgYWdhaW4sIG5vdGljaW5nIHRoYXQgY29va2llcyBhcmUgYmVpbmcgc2VudAogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJ2h0dHA6Ly93d3cueWFob28uY29tLycpOwogICAgJHJlcXVlc3QtPnNlbmQoKTsKCiAgICBlY2hvICRyZXF1ZXN0OwoKWW91IGNhbiBkaXNhYmxlIGNvb2tpZXMgcGVyLXJlcXVlc3QgYnkgc2V0dGluZyB0aGUgYGBjb29raWVzLmRpc2FibGVgYCB2YWx1ZSB0byB0cnVlIG9uIGEgcmVxdWVzdCdzIHBhcmFtcyBvYmplY3QuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QtPmdldFBhcmFtcygpLT5zZXQoJ2Nvb2tpZXMuZGlzYWJsZScsIHRydWUpOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/plugins/creating-plugins.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PQpDcmVhdGluZyBwbHVnaW5zCj09PT09PT09PT09PT09PT0KCi4uIGhpZ2hsaWdodDo6IHBocAoKR3V6emxlIGlzIGV4dHJlbWVseSBleHRlbnNpYmxlIGJlY2F1c2Ugb2YgdGhlIGJlaGF2aW9yYWwgbW9kaWZpY2F0aW9ucyB0aGF0IGNhbiBiZSBhZGRlZCB0byByZXF1ZXN0cywgY2xpZW50cywgYW5kCmNvbW1hbmRzIHVzaW5nIGFuIGV2ZW50IHN5c3RlbS4gQmVmb3JlIGFuZCBhZnRlciB0aGUgbWFqb3JpdHkgb2YgYWN0aW9ucyBhcmUgdGFrZW4gaW4gdGhlIGxpYnJhcnksIGFuIGV2ZW50IGlzIGVtaXR0ZWQKd2l0aCB0aGUgbmFtZSBvZiB0aGUgZXZlbnQgYW5kIGNvbnRleHQgc3Vycm91bmRpbmcgdGhlIGV2ZW50LiBPYnNlcnZlcnMgY2FuIHN1YnNjcmliZSB0byBhIHN1YmplY3QgYW5kIG1vZGlmeSB0aGUKc3ViamVjdCBiYXNlZCBvbiB0aGUgZXZlbnRzIHJlY2VpdmVkLiBHdXp6bGUncyBldmVudCBzeXN0ZW0gdXRpbGl6ZXMgdGhlIFN5bWZvbnkyIEV2ZW50RGlzcGF0Y2hlciBhbmQgaXMgdGhlIGJhY2tib25lCm9mIGl0cyBwbHVnaW4gYXJjaGl0ZWN0dXJlLgoKT3ZlcnZpZXcKLS0tLS0tLS0KClBsdWdpbnMgbXVzdCBpbXBsZW1lbnQgdGhlIGBgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50U3Vic2NyaWJlckludGVyZmFjZWBgIGludGVyZmFjZS4gVGhlCmBgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlYGAgcmVxdWlyZXMgdGhhdCB5b3VyIGNsYXNzIGltcGxlbWVudHMgYSBzdGF0aWMgbWV0aG9kLCBgYGdldFN1YnNjcmliZWRFdmVudHMoKWBgLCB0aGF0CnJldHVybnMgYW4gYXNzb2NpYXRpdmUgYXJyYXkgbWFwcGluZyBldmVudHMgdG8gbWV0aG9kcyBvbiB0aGUgb2JqZWN0LiBTZWUgdGhlCmBTeW1mb255MiBkb2N1bWVudGF0aW9uIDxodHRwOi8vc3ltZm9ueS5jb20vZG9jLzIuMC9ib29rL2ludGVybmFscy5odG1sI3RoZS1ldmVudC1kaXNwYXRjaGVyPmBfIGZvciBtb3JlIGluZm9ybWF0aW9uLgoKUGx1Z2lucyBjYW4gYmUgYXR0YWNoZWQgdG8gYW55IHN1YmplY3QsIG9yIG9iamVjdCBpbiBHdXp6bGUgdGhhdCBpbXBsZW1lbnRzIHRoYXQKYGBHdXp6bGVcQ29tbW9uXEhhc0Rpc3BhdGNoZXJJbnRlcmZhY2VgYC4KClN1YnNjcmliaW5nIHRvIGEgc3ViamVjdAp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCllvdSBjYW4gc3Vic2NyaWJlIGFuIGluc3RhbnRpYXRlZCBvYnNlcnZlciB0byBhbiBldmVudCBieSBjYWxsaW5nIGBgYWRkU3Vic2NyaWJlcmBgIG9uIGEgc3ViamVjdC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkdGVzdFBsdWdpbiA9IG5ldyBUZXN0UGx1Z2luKCk7CiAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKCR0ZXN0UGx1Z2luKTsKCllvdSBjYW4gYWxzbyBzdWJzY3JpYmUgdG8gb25seSBzcGVjaWZpYyBldmVudHMgdXNpbmcgYSBjbG9zdXJlOjoKCiAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ3JlcXVlc3QuY3JlYXRlJywgZnVuY3Rpb24oRXZlbnQgJGV2ZW50KSB7CiAgICAgICAgZWNobyAkZXZlbnQtPmdldE5hbWUoKTsKICAgICAgICBlY2hvICRldmVudFsncmVxdWVzdCddOwogICAgfSk7CgpgYEd1enpsZVxDb21tb25cRXZlbnRgYCBvYmplY3RzIGFyZSBwYXNzZWQgdG8gbm90aWZpZWQgZnVuY3Rpb25zLiBUaGUgRXZlbnQgb2JqZWN0IGhhcyBhIGBgZ2V0TmFtZSgpYGAgbWV0aG9kIHdoaWNoCnJldHVybiB0aGUgbmFtZSBvZiB0aGUgZW1pdHRlZCBldmVudCBhbmQgbWF5IGNvbnRhaW4gY29udGV4dHVhbCBpbmZvcm1hdGlvbiB0aGF0IGNhbiBiZSBhY2Nlc3NlZCBsaWtlIGFuIGFycmF5LgoKS25vd2luZyB3aGF0IGV2ZW50cyB0byBsaXN0ZW4gdG8Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCkFueSBjbGFzcyB0aGF0IGltcGxlbWVudHMgdGhlIGBgR3V6emxlXENvbW1vblxIYXNEaXNwYXRjaGVySW50ZXJmYWNlYGAgbXVzdCBpbXBsZW1lbnQgYSBzdGF0aWMgbWV0aG9kLApgYGdldEFsbEV2ZW50cygpYGAsIHRoYXQgcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgZXZlbnRzIHRoYXQgYXJlIGVtaXR0ZWQgZnJvbSB0aGUgb2JqZWN0LiAgWW91IGNhbiBicm93c2UgdGhlIHNvdXJjZQp0byBzZWUgZWFjaCBldmVudCwgb3IgeW91IGNhbiBjYWxsIHRoZSBzdGF0aWMgbWV0aG9kIGRpcmVjdGx5IGluIHlvdXIgY29kZSB0byBnZXQgYSBsaXN0IG9mIGF2YWlsYWJsZSBldmVudHMuCgpFdmVudCBob29rcwotLS0tLS0tLS0tLQoKKiA6cmVmOmBjbGllbnQtZXZlbnRzYAoqIDpyZWY6YHNlcnZpY2UtY2xpZW50LWV2ZW50c2AKKiA6cmVmOmByZXF1ZXN0LWV2ZW50c2AKKiBgYEd1enpsZVxIdHRwXEN1cmxcQ3VybE11bHRpYGA6CiogOnJlZjpgc2VydmljZS1idWlsZGVyLWV2ZW50c2AKCkV4YW1wbGVzIG9mIHRoZSBldmVudCBzeXN0ZW0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKU2ltcGxlIEVjaG8gcGx1Z2luCn5+fn5+fn5+fn5+fn5+fn5+fgoKVGhpcyBzaW1wbGUgcGx1Z2luIHByaW50cyBhIHN0cmluZyBjb250YWluaW5nIHRoZSByZXF1ZXN0IHRoYXQgaXMgYWJvdXQgdG8gYmUgc2VudCBieSBsaXN0ZW5pbmcgdG8gdGhlCmBgcmVxdWVzdC5iZWZvcmVfc2VuZGBgIGV2ZW50OjoKCiAgICB1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50U3Vic2NyaWJlckludGVyZmFjZTsKCiAgICBjbGFzcyBFY2hvUGx1Z2luIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCiAgICB7CiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTdWJzY3JpYmVkRXZlbnRzKCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBhcnJheSgncmVxdWVzdC5iZWZvcmVfc2VuZCcgPT4gJ29uQmVmb3JlU2VuZCcpOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIG9uQmVmb3JlU2VuZChHdXp6bGVcQ29tbW9uXEV2ZW50ICRldmVudCkKICAgICAgICB7CiAgICAgICAgICAgIGVjaG8gJ0Fib3V0IHRvIHNlbmQgYSByZXF1ZXN0OiAnIC4gJGV2ZW50WydyZXF1ZXN0J10gLiAiXG4iOwogICAgICAgIH0KICAgIH0KCiAgICAkY2xpZW50ID0gbmV3IEd1enpsZVxTZXJ2aWNlXENsaWVudCgnaHR0cDovL3d3dy50ZXN0LmNvbS8nKTsKCiAgICAvLyBDcmVhdGUgdGhlIHBsdWdpbiBhbmQgYWRkIGl0IGFzIGFuIGV2ZW50IHN1YnNjcmliZXIKICAgICRwbHVnaW4gPSBuZXcgRWNob1BsdWdpbigpOwogICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkcGx1Z2luKTsKCiAgICAvLyBTZW5kIGEgcmVxdWVzdCBhbmQgbm90aWNlIHRoYXQgdGhlIHJlcXVlc3QgaXMgcHJpbnRlZCB0byB0aGUgc2NyZWVuCiAgICAkY2xpZW50LT5nZXQoJy8nKS0+c2VuZCgpOwoKUnVubmluZyB0aGUgYWJvdmUgY29kZSB3aWxsIHByaW50IGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIEhUVFAgcmVxdWVzdCB0aGF0IGlzIGFib3V0IHRvIGJlIHNlbnQuCg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/plugins/curl-auth-plugin.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT09PT09PT0KY1VSTCBhdXRoZW50aWNhdGlvbiBwbHVnaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT0KCi4uIHdhcm5pbmc6OgoKICAgIFRoZSBDdXJsQXV0aFBsdWdpbiBpcyBkZXByZWNhdGVkLiBZb3Ugc2hvdWxkIHVzZSB0aGUgYGF1dGhgIHBhcmFtZXRlciBvZiBhIGNsaWVudCB0byBhZGQgYXV0aG9yaXphdGlvbiBoZWFkZXJzIHRvCiAgICBldmVyeSByZXF1ZXN0IGNyZWF0ZWQgYnkgYSBjbGllbnQuCgogICAgLi4gY29kZS1ibG9jazo6IHBocAoKICAgICAgICAkY2xpZW50LT5zZXREZWZhdWx0T3B0aW9uKCdhdXRoJywgYXJyYXkoJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgJ0Jhc2ljfERpZ2VzdHxOVExNfEFueScpKTsKCklmIHlvdXIgd2ViIHNlcnZpY2UgY2xpZW50IHJlcXVpcmVzIGJhc2ljIGF1dGhvcml6YXRpb24sIHRoZW4geW91IGNhbiB1c2UgdGhlIEN1cmxBdXRoUGx1Z2luIHRvIGVhc2lseSBhZGQgYW4KQXV0aG9yaXphdGlvbiBoZWFkZXIgdG8gZWFjaCByZXF1ZXN0IHNlbnQgYnkgdGhlIGNsaWVudC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXEh0dHBcQ2xpZW50OwogICAgdXNlIEd1enpsZVxQbHVnaW5cQ3VybEF1dGhcQ3VybEF1dGhQbHVnaW47CgogICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHA6Ly93d3cudGVzdC5jb20vJyk7CgogICAgLy8gQWRkIHRoZSBhdXRoIHBsdWdpbiB0byB0aGUgY2xpZW50IG9iamVjdAogICAgJGF1dGhQbHVnaW4gPSBuZXcgQ3VybEF1dGhQbHVnaW4oJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJyk7CiAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKCRhdXRoUGx1Z2luKTsKCiAgICAkcmVzcG9uc2UgPSAkY2xpZW50LT5nZXQoJ3Byb2plY3RzLzEvcGVvcGxlJyktPnNlbmQoKTsKICAgICR4bWwgPSBuZXcgU2ltcGxlWE1MRWxlbWVudCgkcmVzcG9uc2UtPmdldEJvZHkodHJ1ZSkpOwogICAgZm9yZWFjaCAoJHhtbC0+cGVyc29uIGFzICRwZXJzb24pIHsKICAgICAgICBlY2hvICRwZXJzb24tPmVtYWlsIC4gIlxuIjsKICAgIH0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/plugins/history-plugin.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT0KSGlzdG9yeSBwbHVnaW4KPT09PT09PT09PT09PT0KClRoZSBoaXN0b3J5IHBsdWdpbiB0cmFja3MgYWxsIG9mIHRoZSByZXF1ZXN0cyBhbmQgcmVzcG9uc2VzIHNlbnQgdGhyb3VnaCBhIHJlcXVlc3Qgb3IgY2xpZW50LiBUaGlzIHBsdWdpbiBjYW4gYmUKdXNlZnVsIGZvciBjcmF3bGluZyBvciB1bml0IHRlc3RpbmcuIEJ5IGRlZmF1bHQsIHRoZSBoaXN0b3J5IHBsdWdpbiBzdG9yZXMgdXAgdG8gMTAgcmVxdWVzdHMgYW5kIHJlc3BvbnNlcy4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXEh0dHBcQ2xpZW50OwogICAgdXNlIEd1enpsZVxQbHVnaW5cSGlzdG9yeVxIaXN0b3J5UGx1Z2luOwoKICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vd3d3LnRlc3QuY29tLycpOwoKICAgIC8vIEFkZCB0aGUgaGlzdG9yeSBwbHVnaW4gdG8gdGhlIGNsaWVudCBvYmplY3QKICAgICRoaXN0b3J5ID0gbmV3IEhpc3RvcnlQbHVnaW4oKTsKICAgICRoaXN0b3J5LT5zZXRMaW1pdCg1KTsKICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIoJGhpc3RvcnkpOwoKICAgICRjbGllbnQtPmdldCgnaHR0cDovL3d3dy55YWhvby5jb20vJyktPnNlbmQoKTsKCiAgICBlY2hvICRoaXN0b3J5LT5nZXRMYXN0UmVxdWVzdCgpOwogICAgZWNobyAkaGlzdG9yeS0+Z2V0TGFzdFJlc3BvbnNlKCk7CiAgICBlY2hvIGNvdW50KCRoaXN0b3J5KTsK]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/plugins/log-plugin.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PQpMb2cgcGx1Z2luCj09PT09PT09PT0KClVzZSB0aGUgYGBHdXp6bGVcUGx1Z2luXExvZ1xMb2dQbHVnaW5gYCB0byB2aWV3IGFsbCBkYXRhIHNlbnQgb3ZlciB0aGUgd2lyZSwgaW5jbHVkaW5nIGVudGl0eSBib2RpZXMgYW5kIHJlZGlyZWN0cy4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXEh0dHBcQ2xpZW50OwogICAgdXNlIEd1enpsZVxMb2dcWmYxTG9nQWRhcHRlcjsKICAgIHVzZSBHdXp6bGVcUGx1Z2luXExvZ1xMb2dQbHVnaW47CiAgICB1c2UgR3V6emxlXExvZ1xNZXNzYWdlRm9ybWF0dGVyOwoKICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vd3d3LnRlc3QuY29tLycpOwoKICAgICRhZGFwdGVyID0gbmV3IFpmMUxvZ0FkYXB0ZXIoCiAgICAgICAgbmV3IFxaZW5kX0xvZyhuZXcgXFplbmRfTG9nX1dyaXRlcl9TdHJlYW0oJ3BocDovL291dHB1dCcpKQogICAgKTsKICAgICRsb2dQbHVnaW4gPSBuZXcgTG9nUGx1Z2luKCRhZGFwdGVyLCBNZXNzYWdlRm9ybWF0dGVyOjpERUJVR19GT1JNQVQpOwoKICAgIC8vIEF0dGFjaCB0aGUgcGx1Z2luIHRvIHRoZSBjbGllbnQsIHdoaWNoIHdpbGwgaW4gdHVybiBiZSBhdHRhY2hlZCB0byBhbGwKICAgIC8vIHJlcXVlc3RzIGdlbmVyYXRlZCBieSB0aGUgY2xpZW50CiAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKCRsb2dQbHVnaW4pOwoKICAgICRyZXNwb25zZSA9ICRjbGllbnQtPmdldCgnaHR0cDovL2dvb2dsZS5jb20nKS0+c2VuZCgpOwoKVGhlIGNvZGUgc2FtcGxlIGFib3ZlIHdyYXBzIGEgYGBaZW5kX0xvZ2BgIG9iamVjdCB1c2luZyBhIGBgR3V6emxlXExvZ1xaZjFMb2dBZGFwdGVyYGAuIEFmdGVyIGF0dGFjaGluZyB0aGUgcGx1Z2luIHRvCnRoZSBjbGllbnQsIGFsbCBkYXRhIHNlbnQgb3ZlciB0aGUgd2lyZSB3aWxsIGJlIGxvZ2dlZCB0byBzdGRvdXQuCgpUaGUgZmlyc3QgYXJndW1lbnQgb2YgdGhlIExvZ1BsdWdpbidzIGNvbnN0cnVjdG9yIGFjY2VwdHMgYSBgYEd1enpsZVxMb2dcTG9nQWRhcHRlckludGVyZmFjZWBgIG9iamVjdC4gVGhpcyBvYmplY3QgaXMKYW4gYWRhcHRlciB0aGF0IGFsbG93cyB5b3UgdG8gdXNlIHRoZSBsb2dnaW5nIGNhcGFiaWxpdGllcyBvZiB5b3VyIGZhdm9yaXRlIGxvZyBpbXBsZW1lbnRhdGlvbi4gVGhlIHNlY29uZCBhcmd1bWVudCBvZgp0aGUgY29uc3RydWN0b3IgYWNjZXB0cyBhIGBgR3V6emxlXExvZ1xNZXNzYWdlRm9ybWF0dGVyYGAgb3IgYSBsb2cgbWVzc2FnZWQgZm9ybWF0IHN0cmluZy4gVGhlIGZvcm1hdCBzdHJpbmcgdXNlcwp2YXJpYWJsZSBzdWJzdGl0dXRpb24gYW5kIGFsbG93cyB5b3UgdG8gZGVmaW5lIHRoZSBsb2cgZGF0YSB0aGF0IGlzIGltcG9ydGFudCB0byB5b3VyIGFwcGxpY2F0aW9uLiBUaGUgZGlmZmVyZW50CnZhcmlhYmxlcyB0aGF0IGNhbiBiZSBpbmplY3RlZCBhcmUgYXMgZm9sbG93czoKCj09PT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVmFyaWFibGUgICAgICAgICAgIFN1YnN0aXR1dGlvbgo9PT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CntyZXF1ZXN0fSAgICAgICAgICBGdWxsIEhUVFAgcmVxdWVzdCBtZXNzYWdlCntyZXNwb25zZX0gICAgICAgICBGdWxsIEhUVFAgcmVzcG9uc2UgbWVzc2FnZQp7dHN9ICAgICAgICAgICAgICAgVGltZXN0YW1wCntob3N0fSAgICAgICAgICAgICBIb3N0IG9mIHRoZSByZXF1ZXN0CnttZXRob2R9ICAgICAgICAgICBNZXRob2Qgb2YgdGhlIHJlcXVlc3QKe3VybH0gICAgICAgICAgICAgIFVSTCBvZiB0aGUgcmVxdWVzdAp7aG9zdH0gICAgICAgICAgICAgSG9zdCBvZiB0aGUgcmVxdWVzdAp7cHJvdG9jb2x9ICAgICAgICAgUmVxdWVzdCBwcm90b2NvbAp7dmVyc2lvbn0gICAgICAgICAgUHJvdG9jb2wgdmVyc2lvbgp7cmVzb3VyY2V9ICAgICAgICAgUmVzb3VyY2Ugb2YgdGhlIHJlcXVlc3QgKHBhdGggKyBxdWVyeSArIGZyYWdtZW50KQp7cG9ydH0gICAgICAgICAgICAgUG9ydCBvZiB0aGUgcmVxdWVzdAp7aG9zdG5hbWV9ICAgICAgICAgSG9zdG5hbWUgb2YgdGhlIG1hY2hpbmUgdGhhdCBzZW50IHRoZSByZXF1ZXN0Cntjb2RlfSAgICAgICAgICAgICBTdGF0dXMgY29kZSBvZiB0aGUgcmVzcG9uc2UgKGlmIGF2YWlsYWJsZSkKe3BocmFzZX0gICAgICAgICAgIFJlYXNvbiBwaHJhc2Ugb2YgdGhlIHJlc3BvbnNlICAoaWYgYXZhaWxhYmxlKQp7Y3VybF9lcnJvcn0gICAgICAgQ3VybCBlcnJvciBtZXNzYWdlIChpZiBhdmFpbGFibGUpCntjdXJsX2NvZGV9ICAgICAgICBDdXJsIGVycm9yIGNvZGUgKGlmIGF2YWlsYWJsZSkKe2N1cmxfc3RkZXJyfSAgICAgIEN1cmwgc3RhbmRhcmQgZXJyb3IgKGlmIGF2YWlsYWJsZSkKe2Nvbm5lY3RfdGltZX0gICAgIFRpbWUgaW4gc2Vjb25kcyBpdCB0b29rIHRvIGVzdGFibGlzaCB0aGUgY29ubmVjdGlvbiAoaWYgYXZhaWxhYmxlKQp7dG90YWxfdGltZX0gICAgICAgVG90YWwgdHJhbnNhY3Rpb24gdGltZSBpbiBzZWNvbmRzIGZvciBsYXN0IHRyYW5zZmVyIChpZiBhdmFpbGFibGUpCntyZXFfaGVhZGVyXyp9ICAgICBSZXBsYWNlIGAqYCB3aXRoIHRoZSBsb3dlcmNhc2VkIG5hbWUgb2YgYSByZXF1ZXN0IGhlYWRlciB0byBhZGQgdG8gdGhlIG1lc3NhZ2UKe3Jlc19oZWFkZXJfKn0gICAgIFJlcGxhY2UgYCpgIHdpdGggdGhlIGxvd2VyY2FzZWQgbmFtZSBvZiBhIHJlc3BvbnNlIGhlYWRlciB0byBhZGQgdG8gdGhlIG1lc3NhZ2UKe3JlcV9ib2R5fSAgICAgICAgIFJlcXVlc3QgYm9keQp7cmVzX2JvZHl9ICAgICAgICAgUmVzcG9uc2UgYm9keQo9PT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpUaGUgTG9nUGx1Z2luIGhhcyBhIGhlbHBlciBtZXRob2QgdGhhdCBjYW4gYmUgdXNlZCB3aGVuIGRlYnVnZ2luZyB0aGF0IHdpbGwgb3V0cHV0IHRoZSBmdWxsIEhUVFAgcmVxdWVzdCBhbmQKcmVzcG9uc2Ugb2YgYSB0cmFuc2FjdGlvbjoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKExvZ1BsdWdpbjo6Z2V0RGVidWdQbHVnaW4oKSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/plugins/md5-validator-plugin.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT0KTUQ1IHZhbGlkYXRvciBwbHVnaW4KPT09PT09PT09PT09PT09PT09PT0KCkVudGl0eSBib2RpZXMgY2FuIHNvbWV0aW1lcyBiZSBtb2RpZmllZCBvdmVyIHRoZSB3aXJlIGR1ZSB0byBhIGZhdWx0eSBUQ1AgdHJhbnNwb3J0IG9yIG1pc2JlaGF2aW5nIHByb3h5LiBJZiBhbiBIVFRQCnJlc3BvbnNlIGNvbnRhaW5zIGEgQ29udGVudC1NRDUgaGVhZGVyLCB0aGVuIGEgTUQ1IGhhc2ggb2YgdGhlIGVudGl0eSBib2R5IG9mIGEgcmVzcG9uc2UgY2FuIGJlIGNvbXBhcmVkIGFnYWluc3QgdGhlCkNvbnRlbnQtTUQ1IGhlYWRlciBvZiB0aGUgcmVzcG9uc2UgdG8gZGV0ZXJtaW5lIGlmIHRoZSByZXNwb25zZSB3YXMgZGVsaXZlcmVkIGludGFjdC4gVGhlCmBgR3V6emxlXFBsdWdpblxNZDVcTWQ1VmFsaWRhdG9yUGx1Z2luYGAgd2lsbCB0aHJvdyBhbiBgYFVuZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlvbmBgIGlmIHRoZSBjYWxjdWxhdGVkIE1ENSBoYXNoIGRvZXMKbm90IG1hdGNoIHRoZSBDb250ZW50LU1ENSBoZWFkZXIgdmFsdWU6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxIdHRwXENsaWVudDsKICAgIHVzZSBHdXp6bGVcUGx1Z2luXE1kNVxNZDVWYWxpZGF0b3JQbHVnaW47CgogICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHA6Ly93d3cudGVzdC5jb20vJyk7CgogICAgJG1kNVBsdWdpbiA9IG5ldyBNZDVWYWxpZGF0b3JQbHVnaW4oKTsKCiAgICAvLyBBZGQgdGhlIG1kNSBwbHVnaW4gdG8gdGhlIGNsaWVudCBvYmplY3QKICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIoJG1kNVBsdWdpbik7CgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJ2h0dHA6Ly93d3cueWFob28uY29tLycpOwogICAgJHJlcXVlc3QtPnNlbmQoKTsKCkNhbGN1bGF0aW5nIHRoZSBNRDUgaGFzaCBvZiBhIGxhcmdlIGVudGl0eSBib2R5IG9yIGFuIGVudGl0eSBib2R5IHRoYXQgd2FzIHRyYW5zZmVycmVkIHVzaW5nIGEgQ29udGVudC1FbmNvZGluZyBpcyBhbgpleHBlbnNpdmUgb3BlcmF0aW9uLiBXaGVuIHdvcmtpbmcgaW4gaGlnaCBwZXJmb3JtYW5jZSBhcHBsaWNhdGlvbnMsIHlvdSBtaWdodCBjb25zaWRlciBza2lwcGluZyB0aGUgTUQ1IGhhc2gKdmFsaWRhdGlvbiBmb3IgZW50aXR5IGJvZGllcyBiaWdnZXIgdGhhbiBhIGNlcnRhaW4gc2l6ZSBvciBDb250ZW50LUVuY29kZWQgZW50aXR5IGJvZGllcwooc2VlIGBgR3V6emxlXFBsdWdpblxNZDVcTWQ1VmFsaWRhdG9yUGx1Z2luYGAgZm9yIG1vcmUgaW5mb3JtYXRpb24pLgo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/plugins/mock-plugin.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT0KTW9jayBwbHVnaW4KPT09PT09PT09PT0KClRoZSBtb2NrIHBsdWdpbiBpcyB1c2VmdWwgZm9yIHRlc3RpbmcgR3V6emxlIGNsaWVudHMuIFRoZSBtb2NrIHBsdWdpbiBhbGxvd3MgeW91IHRvIHF1ZXVlIGFuIGFycmF5IG9mIHJlc3BvbnNlcyB0aGF0CndpbGwgc2F0aXNmeSByZXF1ZXN0cyBzZW50IGZyb20gYSBjbGllbnQgYnkgY29uc3VtaW5nIHRoZSByZXF1ZXN0IHF1ZXVlIGluIEZJRk8gb3JkZXIuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxIdHRwXENsaWVudDsKICAgIHVzZSBHdXp6bGVcUGx1Z2luXE1vY2tcTW9ja1BsdWdpbjsKICAgIHVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwoKICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vd3d3LnRlc3QuY29tLycpOwoKICAgICRtb2NrID0gbmV3IE1vY2tQbHVnaW4oKTsKICAgICRtb2NrLT5hZGRSZXNwb25zZShuZXcgUmVzcG9uc2UoMjAwKSkKICAgICAgICAgLT5hZGRSZXNwb25zZShuZXcgUmVzcG9uc2UoNDA0KSk7CgogICAgLy8gQWRkIHRoZSBtb2NrIHBsdWdpbiB0byB0aGUgY2xpZW50IG9iamVjdAogICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkbW9jayk7CgogICAgLy8gVGhlIGZvbGxvd2luZyByZXF1ZXN0IHdpbGwgcmVjZWl2ZSBhIDIwMCByZXNwb25zZSBmcm9tIHRoZSBwbHVnaW4KICAgICRjbGllbnQtPmdldCgnaHR0cDovL3d3dy5leGFtcGxlLmNvbS8nKS0+c2VuZCgpOwoKICAgIC8vIFRoZSBmb2xsb3dpbmcgcmVxdWVzdCB3aWxsIHJlY2VpdmUgYSA0MDQgcmVzcG9uc2UgZnJvbSB0aGUgcGx1Z2luCiAgICAkY2xpZW50LT5nZXQoJ2h0dHA6Ly93d3cudGVzdC5jb20vJyktPnNlbmQoKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/plugins/oauth-plugin.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09Ck9BdXRoIHBsdWdpbgo9PT09PT09PT09PT0KCkd1enpsZSBzaGlwcyB3aXRoIGFuIE9BdXRoIDEuMCBwbHVnaW4gdGhhdCBjYW4gc2lnbiByZXF1ZXN0cyB1c2luZyBhIGNvbnN1bWVyIGtleSwgY29uc3VtZXIgc2VjcmV0LCBPQXV0aCB0b2tlbiwKYW5kIE9BdXRoIHNlY3JldC4gSGVyZSdzIGFuIGV4YW1wbGUgc2hvd2luZyBob3cgdG8gc2VuZCBhbiBhdXRoZW50aWNhdGVkIHJlcXVlc3QgdG8gdGhlIFR3aXR0ZXIgUkVTVCBBUEk6CgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIEd1enpsZVxIdHRwXENsaWVudDsKICAgIHVzZSBHdXp6bGVcUGx1Z2luXE9hdXRoXE9hdXRoUGx1Z2luOwoKICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vYXBpLnR3aXR0ZXIuY29tLzEnKTsKICAgICRvYXV0aCA9IG5ldyBPYXV0aFBsdWdpbihhcnJheSgKICAgICAgICAnY29uc3VtZXJfa2V5JyAgICA9PiAnbXlfa2V5JywKICAgICAgICAnY29uc3VtZXJfc2VjcmV0JyA9PiAnbXlfc2VjcmV0JywKICAgICAgICAndG9rZW4nICAgICAgICAgICA9PiAnbXlfdG9rZW4nLAogICAgICAgICd0b2tlbl9zZWNyZXQnICAgID0+ICdteV90b2tlbl9zZWNyZXQnCiAgICApKTsKICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIoJG9hdXRoKTsKCiAgICAkcmVzcG9uc2UgPSAkY2xpZW50LT5nZXQoJ3N0YXR1c2VzL3B1YmxpY190aW1lbGluZS5qc29uJyktPnNlbmQoKTsKCklmIHlvdSBuZWVkIHRvIHVzZSBhIGN1c3RvbSBzaWduaW5nIG1ldGhvZCwgeW91IGNhbiBwYXNzIGEgYGBzaWduYXR1cmVfbWV0aG9kYGAgY29uZmlndXJhdGlvbiBvcHRpb24gaW4gdGhlCmNvbnN0cnVjdG9yIG9mIHRoZSBPQXV0aCBwbHVnaW4uIFRoZSBgYHNpZ25hdHVyZV9tZXRob2RgYCBvcHRpb24gbXVzdCBiZSBhIGNhbGxhYmxlIHZhcmlhYmxlIHRoYXQgYWNjZXB0cyBhIHN0cmluZyB0bwpzaWduIGFuZCBzaWduaW5nIGtleSBhbmQgcmV0dXJucyBhIHNpZ25lZCBzdHJpbmcuCgouLiBub3RlOjoKCiAgICBZb3UgY2FuIG9taXQgdGhlIGBgdG9rZW5gYCBhbmQgYGB0b2tlbl9zZWNyZXRgYCBvcHRpb25zIHRvIHVzZSB0d28tbGVnZ2VkIE9BdXRoLgo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/plugins/plugins-list.rst.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KiA6ZG9jOmAvcGx1Z2lucy9hc3luYy1wbHVnaW5gCiogOmRvYzpgL3BsdWdpbnMvYmFja29mZi1wbHVnaW5gCiogOmRvYzpgL3BsdWdpbnMvY2FjaGUtcGx1Z2luYAoqIDpkb2M6YC9wbHVnaW5zL2Nvb2tpZS1wbHVnaW5gCiogOmRvYzpgL3BsdWdpbnMvaGlzdG9yeS1wbHVnaW5gCiogOmRvYzpgL3BsdWdpbnMvbG9nLXBsdWdpbmAKKiA6ZG9jOmAvcGx1Z2lucy9tZDUtdmFsaWRhdG9yLXBsdWdpbmAKKiA6ZG9jOmAvcGx1Z2lucy9tb2NrLXBsdWdpbmAKKiA6ZG9jOmAvcGx1Z2lucy9vYXV0aC1wbHVnaW5gCg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/plugins/plugins-overview.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT09PQpQbHVnaW4gc3lzdGVtIG92ZXJ2aWV3Cj09PT09PT09PT09PT09PT09PT09PT0KClRoZSB3b3JrZmxvdyBvZiBzZW5kaW5nIGEgcmVxdWVzdCBhbmQgcGFyc2luZyBhIHJlc3BvbnNlIGlzIGRyaXZlbiBieSBHdXp6bGUncyBldmVudCBzeXN0ZW0sIHdoaWNoIGlzIHBvd2VyZWQgYnkgdGhlCmBTeW1mb255MiBFdmVudCBEaXNwYXRjaGVyIGNvbXBvbmVudCA8aHR0cDovL3N5bWZvbnkuY29tL2RvYy9jdXJyZW50L2NvbXBvbmVudHMvZXZlbnRfZGlzcGF0Y2hlci9pbnRyb2R1Y3Rpb24uaHRtbD5gXy4KCkFueSBvYmplY3QgaW4gR3V6emxlIHRoYXQgZW1pdHMgZXZlbnRzIHdpbGwgaW1wbGVtZW50IHRoZSBgYEd1enpsZVxDb21tb25cSGFzRXZlbnREaXNwYXRjaGVyYGAgaW50ZXJmYWNlLiBZb3UgY2FuIGFkZApldmVudCBzdWJzY3JpYmVycyBkaXJlY3RseSB0byB0aGVzZSBvYmplY3RzIHVzaW5nIHRoZSBgYGFkZFN1YnNjcmliZXIoKWBgIG1ldGhvZCwgb3IgeW91IGNhbiBncmFiIHRoZQpgYFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudERpc3BhdGNoZXJgYCBvYmplY3Qgb3duZWQgYnkgdGhlIG9iamVjdCB1c2luZyBgYGdldEV2ZW50RGlzcGF0Y2hlcigpYGAgYW5kCmFkZCBhIGxpc3RlbmVyIG9yIGV2ZW50IHN1YnNjcmliZXIuCgpBZGRpbmcgZXZlbnQgc3Vic2NyaWJlcnMgdG8gY2xpZW50cwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKQW55IGV2ZW50IHN1YnNjcmliZXIgb3IgZXZlbnQgbGlzdGVuZXIgYXR0YWNoZWQgdG8gdGhlIEV2ZW50RGlzcGF0Y2hlciBvZiBhIGBgR3V6emxlXEh0dHBcQ2xpZW50YGAgb3IKYGBHdXp6bGVcU2VydmljZVxDbGllbnRgYCBvYmplY3Qgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGF0dGFjaGVkIHRvIGFsbCByZXF1ZXN0IG9iamVjdHMgY3JlYXRlZCBieSB0aGUgY2xpZW50LiBUaGlzCmFsbG93cyB5b3UgdG8gYXR0YWNoLCBmb3IgZXhhbXBsZSwgYSBIaXN0b3J5UGx1Z2luIHRvIGEgY2xpZW50IG9iamVjdCwgYW5kIGZyb20gdGhhdCBwb2ludCBvbiwgZXZlcnkgcmVxdWVzdCBzZW50CnRocm91Z2ggdGhhdCBjbGllbnQgd2lsbCB1dGlsaXplIHRoZSBIaXN0b3J5UGx1Z2luLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBHdXp6bGVcUGx1Z2luXEhpc3RvcnlcSGlzdG9yeVBsdWdpbjsKICAgIHVzZSBHdXp6bGVcU2VydmljZVxDbGllbnQ7CgogICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKCiAgICAvLyBDcmVhdGUgYSBoaXN0b3J5IHBsdWdpbiBhbmQgYXR0YWNoIGl0IHRvIHRoZSBjbGllbnQKICAgICRoaXN0b3J5ID0gbmV3IEhpc3RvcnlQbHVnaW4oKTsKICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIoJGhpc3RvcnkpOwoKICAgIC8vIENyZWF0ZSBhbmQgc2VuZCBhIHJlcXVlc3QuIFRoaXMgcmVxdWVzdCB3aWxsIGFsc28gdXRpbGl6ZSB0aGUgSGlzdG9yeVBsdWdpbgogICAgJGNsaWVudC0+Z2V0KCdodHRwOi8vaHR0cGJpbi5vcmcnKS0+c2VuZCgpOwoKICAgIC8vIEVjaG8gb3V0IHRoZSBsYXN0IHNlbnQgcmVxdWVzdCBieSB0aGUgY2xpZW50CiAgICBlY2hvICRoaXN0b3J5LT5nZXRMYXN0UmVxdWVzdCgpOwoKLi4gdGlwOjoKCiAgICA6ZG9jOmBDcmVhdGUgZXZlbnQgc3Vic2NyaWJlcnMgPGNyZWF0aW5nLXBsdWdpbnM+YCwgb3IgKnBsdWdpbnMqLCB0byBpbXBsZW1lbnQgcmV1c2FibGUgbG9naWMgdGhhdCBjYW4gYmUKICAgIHNoYXJlZCBhY3Jvc3MgY2xpZW50cy4gRXZlbnQgc3Vic2NyaWJlcnMgYXJlIGFsc28gZWFzaWVyIHRvIHRlc3QgdGhhbiBhbm9ueW1vdXMgZnVuY3Rpb25zLgoKUHJlLUJ1aWx0IHBsdWdpbnMKLS0tLS0tLS0tLS0tLS0tLS0KCkd1enpsZSBwcm92aWRlcyBlYXN5IHRvIHVzZSByZXF1ZXN0IHBsdWdpbnMgdGhhdCBhZGQgYmVoYXZpb3IgdG8gcmVxdWVzdHMgYmFzZWQgb24gc2lnbmFsIHNsb3QgZXZlbnQgbm90aWZpY2F0aW9ucwpwb3dlcmVkIGJ5IHRoZSBTeW1mb255MiBFdmVudCBEaXNwYXRjaGVyIGNvbXBvbmVudC4KCiogOmRvYzpgYXN5bmMtcGx1Z2luYAoqIDpkb2M6YGJhY2tvZmYtcGx1Z2luYAoqIDpkb2M6YGNhY2hlLXBsdWdpbmAKKiA6ZG9jOmBjb29raWUtcGx1Z2luYAoqIDpkb2M6YGN1cmwtYXV0aC1wbHVnaW5gCiogOmRvYzpgaGlzdG9yeS1wbHVnaW5gCiogOmRvYzpgbG9nLXBsdWdpbmAKKiA6ZG9jOmBtZDUtdmFsaWRhdG9yLXBsdWdpbmAKKiA6ZG9jOmBtb2NrLXBsdWdpbmAKKiA6ZG9jOmBvYXV0aC1wbHVnaW5gCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/requirements.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[U3BoaW54Pj0xLjJiMQpndXp6bGVfc3BoaW54X3RoZW1lPj0wLjUuMAo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/testing/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/testing/unit-testing.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT09PT09PT09ClVuaXQgVGVzdGluZyBHdXp6bGUgY2xpZW50cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkd1enpsZSBwcm92aWRlcyBzZXZlcmFsIHRvb2xzIHRoYXQgd2lsbCBlbmFibGUgeW91IHRvIGVhc2lseSB1bml0IHRlc3QgeW91ciB3ZWIgc2VydmljZSBjbGllbnRzLgoKKiBQSFBVbml0IGludGVncmF0aW9uCiogTW9jayByZXNwb25zZXMKKiBub2RlLmpzIHdlYiBzZXJ2ZXIgZm9yIGludGVncmF0aW9uIHRlc3RpbmcKClBIUFVuaXQgaW50ZWdyYXRpb24KLS0tLS0tLS0tLS0tLS0tLS0tLQoKR3V6emxlIGlzIHVuaXQgdGVzdGVkIHVzaW5nIGBQSFBVbml0IDxodHRwOi8vd3d3LnBocHVuaXQuZGUvPmBfLiAgWW91ciB3ZWIgc2VydmljZSBjbGllbnQncyB1bml0IHRlc3RzIHNob3VsZCBleHRlbmQKYGBHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2VgYCBzbyB0aGF0IHlvdSBjYW4gdGFrZSBhZHZhbnRhZ2Ugb2Ygc29tZSBvZiB0aGUgYnVpbHQgaW4gaGVscGVycy4KCkluIG9yZGVyIHRvIHVuaXQgdGVzdCB5b3VyIGNsaWVudCwgYSBkZXZlbG9wZXIgd291bGQgbmVlZCB0byBjb3B5IHBocHVuaXQueG1sLmRpc3QgdG8gcGhwdW5pdC54bWwgYW5kIG1ha2UgYW55IG5lZWRlZAptb2RpZmljYXRpb25zLiAgQXMgYSBiZXN0IHByYWN0aWNlIGFuZCBzZWN1cml0eSBtZWFzdXJlIGZvciB5b3UgYW5kIHlvdXIgY29udHJpYnV0b3JzLCBpdCBpcyByZWNvbW1lbmRlZCB0byBhZGQgYW4KaWdub3JlIHN0YXRlbWVudCB0byB5b3VyIFNDTSBzbyB0aGF0IHBocHVuaXQueG1sIGlzIGlnbm9yZWQuCgpCb290c3RyYXBwaW5nCn5+fn5+fn5+fn5+fn4KCllvdXIgd2ViIHNlcnZpY2UgY2xpZW50IHNob3VsZCBoYXZlIGEgdGVzdHMvIGZvbGRlciB0aGF0IGNvbnRhaW5zIGEgYm9vdHN0cmFwLnBocCBmaWxlLiBUaGUgYm9vdHN0cmFwLnBocCBmaWxlCnJlc3BvbnNpYmxlIGZvciBhdXRvbG9hZGluZyBhbmQgY29uZmlndXJpbmcgYSBgYEd1enpsZVxTZXJ2aWNlXEJ1aWxkZXJcU2VydmljZUJ1aWxkZXJgYCB0aGF0IGlzIHVzZWQgdGhyb3VnaG91dCB5b3VyCnVuaXQgdGVzdHMgZm9yIGxvYWRpbmcgYSBjb25maWd1cmVkIGNsaWVudC4gWW91IGNhbiBhZGQgY3VzdG9tIHBhcmFtZXRlcnMgdG8geW91ciBwaHB1bml0LnhtbCBmaWxlIHRoYXQgZXhwZWN0cyB1c2Vycwp0byBwcm92aWRlIHRoZSBwYXRoIHRvIHRoZWlyIGNvbmZpZ3VyYXRpb24gZGF0YS4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICBHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2U6OnNldFNlcnZpY2VCdWlsZGVyKEF3c1xDb21tb25cQXdzOjpmYWN0b3J5KCRfU0VSVkVSWydDT05GSUcnXSkpOwoKICAgIEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZTo6c2V0U2VydmljZUJ1aWxkZXIoR3V6emxlXFNlcnZpY2VcQnVpbGRlclxTZXJ2aWNlQnVpbGRlcjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAndGVzdC51bmZ1ZGRsZScgPT4gYXJyYXkoCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZS5VbmZ1ZGRsZS5VbmZ1ZGRsZUNsaWVudCcsCiAgICAgICAgICAgICdwYXJhbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3VzZXJuYW1lJyA9PiAndGVzdF91c2VyJywKICAgICAgICAgICAgICAgICdwYXNzd29yZCcgPT4gJyoqKionLAogICAgICAgICAgICAgICAgJ3N1YmRvbWFpbicgPT4gJ3Rlc3QnCiAgICAgICAgICAgICkKICAgICAgICApCiAgICApKSk7CgpUaGUgYWJvdmUgY29kZSByZWdpc3RlcnMgYSBzZXJ2aWNlIGJ1aWxkZXIgdGhhdCBjYW4gYmUgdXNlZCB0aHJvdWdob3V0IHlvdXIgdW5pdCB0ZXN0cy4gIFlvdSB3b3VsZCB0aGVuIGJlIGFibGUgdG8KcmV0cmlldmUgYW4gaW5zdGFudGlhdGVkIGFuZCBjb25maWd1cmVkIFVuZnVkZGxlIGNsaWVudCBieSBjYWxsaW5nIGBgJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgndGVzdC51bmZ1ZGRsZSlgYC4KVGhlIGFib3ZlIGNvZGUgYXNzdW1lcyB0aGF0IGBgJF9TRVJWRVJbJ0NPTkZJRyddYGAgY29udGFpbnMgdGhlIHBhdGggdG8gYSBmaWxlIHRoYXQgc3RvcmVzIHNlcnZpY2UgZGVzY3JpcHRpb24KY29uZmlndXJhdGlvbi4KClVuaXQgdGVzdGluZyByZW1vdGUgQVBJcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vY2sgcmVzcG9uc2VzCn5+fn5+fn5+fn5+fn5+CgpPbmUgb2YgdGhlIGJlbmVmaXRzIG9mIHVuaXQgdGVzdGluZyBpcyB0aGUgYWJpbGl0eSB0byBxdWlja2x5IGRldGVybWluZSBpZiB0aGVyZSBhcmUgZXJyb3JzIGluIHlvdXIgY29kZS4gIElmIHlvdXIKdW5pdCB0ZXN0cyBydW4gc2xvd2x5LCB0aGVuIHRoZXkgYmVjb21lIHRlZGlvdXMgYW5kIHdpbGwgbGlrZWx5IGJlIHJ1biBsZXNzIGZyZXF1ZW50bHkuICBHdXp6bGUncyBwaGlsb3NvcGh5IG9uIHVuaXQKdGVzdGluZyB3ZWIgc2VydmljZSBjbGllbnRzIGlzIHRoYXQgbm8gbmV0d29yayBhY2Nlc3Mgc2hvdWxkIGJlIHJlcXVpcmVkIHRvIHJ1biB0aGUgdW5pdCB0ZXN0cy4gIFRoaXMgbWVhbnMgdGhhdApyZXNwb25zZXMgYXJlIHNlcnZlZCBmcm9tIG1vY2sgcmVzcG9uc2VzIG9yIGxvY2FsIHNlcnZlcnMuICBCeSBhZGhlcmluZyB0byB0aGlzIHByaW5jaXBsZSwgdGVzdHMgd2lsbCBydW4gbXVjaCBmYXN0ZXIKYW5kIHdpbGwgbm90IHJlcXVpcmUgYW4gZXh0ZXJuYWwgcmVzb3VyY2UgdG8gYmUgYXZhaWxhYmxlLiAgVGhlIHByb2JsZW0gd2l0aCB0aGlzIGFwcHJvYWNoIGlzIHRoYXQgeW91ciBtb2NrIHJlc3BvbnNlcwptdXN0IGZpcnN0IGJlIGdhdGhlcmVkIGFuZCB0aGVuIHN1YnNlcXVlbnRseSB1cGRhdGVkIGVhY2ggdGltZSB0aGUgcmVtb3RlIEFQSSBjaGFuZ2VzLgoKSW50ZWdyYXRpb24gdGVzdGluZyBvdmVyIHRoZSBpbnRlcm5ldAp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpZb3UgY2FuIHBlcmZvcm0gaW50ZWdyYXRpb24gdGVzdGluZyB3aXRoIGEgd2ViIHNlcnZpY2Ugb3ZlciB0aGUgaW50ZXJuZXQgYnkgbWFraW5nIGNhbGxzIGRpcmVjdGx5IHRvIHRoZSBzZXJ2aWNlLiBJZgp0aGUgd2ViIHNlcnZpY2UgeW91IGFyZSByZXF1ZXN0aW5nIHVzZXMgYSBjb21wbGV4IHNpZ25pbmcgYWxnb3JpdGhtIG9yIHNvbWUgb3RoZXIgc3BlY2lmaWMgaW1wbGVtZW50YXRpb24sIHRoZW4geW91Cm1heSB3YW50IHRvIGluY2x1ZGUgYXQgbGVhc3Qgb25lIGFjdHVhbCBuZXR3b3JrIHRlc3QgdGhhdCBjYW4gYmUgcnVuIHNwZWNpZmljYWxseSB0aHJvdWdoIHRoZSBjb21tYW5kIGxpbmUgdXNpbmcKYFBIUFVuaXQgZ3JvdXAgYW5ub3RhdGlvbnMgPGh0dHA6Ly93d3cucGhwdW5pdC5kZS9tYW51YWwvY3VycmVudC9lbi9hcHBlbmRpeGVzLmFubm90YXRpb25zLmh0bWwjYXBwZW5kaXhlcy5hbm5vdGF0aW9ucy5ncm91cD5gXy4KCkBncm91cCBpbnRlcm5ldCBhbm5vdGF0aW9uCl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCgpXaGVuIGNyZWF0aW5nIHRlc3RzIHRoYXQgcmVxdWlyZSBhbiBpbnRlcm5ldCBjb25uZWN0aW9uLCBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IHlvdSBhZGQgYGBAZ3JvdXAgaW50ZXJuZXRgYCBhbm5vdGF0aW9ucwp0byB5b3VyIHVuaXQgdGVzdHMgdG8gc3BlY2lmeSB3aGljaCB0ZXN0cyByZXF1aXJlIG5ldHdvcmsgY29ubmVjdGl2aXR5LgoKWW91IGNhbiB0aGVuIGBydW4gUEhQVW5pdCB0ZXN0cyA8aHR0cDovL3d3dy5waHB1bml0LmRlL21hbnVhbC9jdXJyZW50L2VuL3RleHR1aS5odG1sPmBfIHRoYXQgZXhjbHVkZSB0aGUgQGludGVybmV0Cmdyb3VwIGJ5IHJ1bm5pbmcgYGBwaHB1bml0IC0tZXhjbHVkZS1ncm91cCBpbnRlcm5ldGBgLgoKQVBJIGNyZWRlbnRpYWxzCl5eXl5eXl5eXl5eXl5eXgoKSWYgQVBJICBjcmVkZW50aWFscyBhcmUgcmVxdWlyZWQgdG8gcnVuIHlvdXIgaW50ZWdyYXRpb24gdGVzdHMsIHlvdSBtdXN0IGFkZCBgYDxwaHA+YGAgcGFyYW1ldGVycyB0byB5b3VyCnBocHVuaXQueG1sLmRpc3QgZmlsZSBhbmQgZXh0cmFjdCB0aGVzZSBwYXJhbWV0ZXJzIGluIHlvdXIgYm9vdHN0cmFwLnBocCBmaWxlLgoKLi4gY29kZS1ibG9jazo6IHhtbAoKICAgIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CiAgICA8cGhwdW5pdCBib290c3RyYXA9Ii4vdGVzdHMvYm9vdHN0cmFwLnBocCIgY29sb3JzPSJ0cnVlIj4KICAgICAgICA8cGhwPgogICAgICAgICAgICA8IS0tIFNwZWNpZnkgdGhlIHBhdGggdG8gYSBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24gZmlsZSAtLT4KICAgICAgICAgICAgPHNlcnZlciBuYW1lPSJDT05GSUciIHZhbHVlPSJ0ZXN0X3NlcnZpY2VzLmpzb24iIC8+CiAgICAgICAgICAgIDwhLS0gT3IsIHNwZWNpZnkgZWFjaCByZXF1aXJlIHBhcmFtZXRlciBpbmRpdmlkdWFsbHkgLS0+CiAgICAgICAgICAgIDxzZXJ2ZXIgbmFtZT0iQVBJX1VTRVIiIHZhbHVlPSJjaGFuZ2VfbWUiIC8+CiAgICAgICAgICAgIDxzZXJ2ZXIgbmFtZT0iQVBJX1BBU1NXT1JEIiB2YWx1ZT0iKioqKiIgLz4KICAgICAgICA8L3BocD4KICAgICAgICA8dGVzdHN1aXRlcz4KICAgICAgICAgICAgPHRlc3RzdWl0ZSBuYW1lPSJndXp6bGUtc2VydmljZSI+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5IHN1ZmZpeD0iVGVzdC5waHAiPi4vVGVzdHM8L2RpcmVjdG9yeT4KICAgICAgICAgICAgPC90ZXN0c3VpdGU+CiAgICAgICAgPC90ZXN0c3VpdGVzPgogICAgPC9waHB1bml0PgoKWW91IGNhbiB0aGVuIGV4dHJhY3QgdGhlIGBgc2VydmVyYGAgdmFyaWFibGVzIGluIHlvdXIgYm9vdHN0cmFwLnBocCBmaWxlIGJ5IGdyYWJiaW5nIHRoZW0gZnJvbSB0aGUgYGAkX1NFUlZFUmBgCnN1cGVyZ2xvYmFsOiBgYCRhcGlVc2VyID0gJF9TRVJWRVJbJ0FQSV9VU0VSJ107YGAKCkZ1cnRoZXIgcmVhZGluZwpeXl5eXl5eXl5eXl5eXl4KCkEgZ29vZCBkaXNjdXNzaW9uIG9uIHRoZSB0b3BpYyBvZiB0ZXN0aW5nIHJlbW90ZSBBUElzIGNhbiBiZSBmb3VuZCBpbiBTZWJhc3RpYW4gQmVyZ21hbm4ncwpgUmVhbC1Xb3JsZCBTb2x1dGlvbnMgZm9yIERldmVsb3BpbmcgSGlnaC1RdWFsaXR5IFBIUCBGcmFtZXdvcmtzIGFuZCBBcHBsaWNhdGlvbnMgPGh0dHA6Ly93d3cuYW1hem9uLmNvbS9kcC8wNDcwODcyNDk3PmBfLgoKUXVldWVpbmcgTW9jayByZXNwb25zZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vY2sgcmVzcG9uc2VzIGNhbiBiZSB1c2VkIHRvIHRlc3QgaWYgcmVxdWVzdHMgYXJlIGJlaW5nIGdlbmVyYXRlZCBjb3JyZWN0bHkgYW5kIHJlc3BvbnNlcyBhbmQgaGFuZGxlZCBjb3JyZWN0bHkgYnkKeW91ciBjbGllbnQuICBNb2NrIHJlc3BvbnNlcyBjYW4gYmUgcXVldWVkIHVwIGZvciBhIGNsaWVudCB1c2luZyB0aGUgYGAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsICRwYXRoKWBgIG1ldGhvZApvZiB5b3VyIHRlc3QgY2xhc3MuICBQYXNzIHRoZSBjbGllbnQgeW91IGFyZSBhZGRpbmcgbW9jayByZXNwb25zZXMgdG8gYW5kIGEgc2luZ2xlIHBhdGggb3IgYXJyYXkgb2YgcGF0aHMgdG8gbW9jawpyZXNwb25zZSBmaWxlcyByZWxhdGl2ZSB0byB0aGUgYGAvdGVzdHMvbW9jay8gZm9sZGVyYGAuICBUaGlzIHdpbGwgcXVldWUgb25lIG9yIG1vcmUgbW9jayByZXNwb25zZXMgZm9yIHlvdXIgY2xpZW50IGJ5CmNyZWF0aW5nIGEgc2ltcGxlIG9ic2VydmVyIG9uIHRoZSBjbGllbnQuICBNb2NrIHJlc3BvbnNlIGZpbGVzIG11c3QgY29udGFpbiBhIGZ1bGwgSFRUUCByZXNwb25zZSBtZXNzYWdlOgoKLi4gY29kZS1ibG9jazo6IG5vbmUKCiAgICBIVFRQLzEuMSAyMDAgT0sKICAgIERhdGU6IFdlZCwgMjUgTm92IDIwMDkgMTI6MDA6MDAgR01UCiAgICBDb25uZWN0aW9uOiBjbG9zZQogICAgU2VydmVyOiBBbWF6b25TMwogICAgQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94bWwKCiAgICA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgogICAgPExvY2F0aW9uQ29uc3RyYWludCB4bWxucz0iaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vZG9jLzIwMDYtMDMtMDEvIj5FVTwvTG9jYXRpb25Db25zdHJhaW50PgoKQWZ0ZXIgcXVldWluZyBtb2NrIHJlc3BvbnNlcyBmb3IgYSBjbGllbnQsIHlvdSBjYW4gZ2V0IGFuIGFycmF5IG9mIHRoZSByZXF1ZXN0cyB0aGF0IHdlcmUgc2VudCBieSB0aGUgY2xpZW50IHRoYXQKd2VyZSBpc3N1ZWQgYSBtb2NrIHJlc3BvbnNlIGJ5IGNhbGxpbmcgYGAkdGhpcy0+Z2V0TW9ja2VkUmVxdWVzdHMoKWBgLgoKWW91IGNhbiBhbHNvIHVzZSB0aGUgYGBHdXp6bGVcUGx1Z2luXE1vY2tcTW9ja1BsdWdpbmBgIG9iamVjdCBkaXJlY3RseSB3aXRoIHlvdXIgY2xpZW50cy4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkcGx1Z2luID0gbmV3IEd1enpsZVxQbHVnaW5cTW9ja1xNb2NrUGx1Z2luKCk7CiAgICAkcGx1Z2luLT5hZGRSZXNwb25zZShuZXcgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZSgyMDApKTsKICAgICRjbGllbnQgPSBuZXcgR3V6emxlXEh0dHBcQ2xpZW50KCk7CiAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKCRwbHVnaW4pOwoKICAgIC8vIFRoZSBmb2xsb3dpbmcgcmVxdWVzdCB3aWxsIGdldCB0aGUgbW9jayByZXNwb25zZSBmcm9tIHRoZSBwbHVnaW4gaW4gRklGTyBvcmRlcgogICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJ2h0dHA6Ly93d3cudGVzdC5jb20vJyk7CiAgICAkcmVxdWVzdC0+c2VuZCgpOwoKICAgIC8vIFRoZSBNb2NrUGx1Z2luIG1haW50YWlucyBhIGxpc3Qgb2YgcmVxdWVzdHMgdGhhdCB3ZXJlIG1vY2tlZAogICAgJHRoaXMtPmFzc2VydENvbnRhaW5zT25seSgkcmVxdWVzdCwgJHBsdWdpbi0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cygpKTsKCm5vZGUuanMgd2ViIHNlcnZlciBmb3IgaW50ZWdyYXRpb24gdGVzdGluZwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClVzaW5nIG1vY2sgcmVzcG9uc2VzIGlzIHVzdWFsbHkgZW5vdWdoIHdoZW4gdGVzdGluZyBhIHdlYiBzZXJ2aWNlIGNsaWVudC4gIElmIHlvdXIgY2xpZW50IG5lZWRzIHRvIGFkZCBjdXN0b20gY1VSTApvcHRpb25zIHRvIHJlcXVlc3RzLCB0aGVuIHlvdSBzaG91bGQgdXNlIHRoZSBub2RlLmpzIHRlc3Qgd2ViIHNlcnZlciB0byBlbnN1cmUgdGhhdCB5b3VyIEhUVFAgcmVxdWVzdCBtZXNzYWdlIGlzCmJlaW5nIGNyZWF0ZWQgY29ycmVjdGx5LgoKR3V6emxlIGlzIGJhc2VkIGFyb3VuZCBQSFAncyBsaWJjdXJsIGJpbmRpbmdzLiAgY1VSTCBzb21ldGltZXMgbW9kaWZpZXMgYW4gSFRUUCByZXF1ZXN0IG1lc3NhZ2UgYmFzZWQgb24KYGBDVVJMT1BUXypgYCBvcHRpb25zLiAgSGVhZGVycyB0aGF0IGFyZSBhZGRlZCB0byB5b3VyIHJlcXVlc3QgYnkgY1VSTCB3aWxsIG5vdCBiZSBhY2NvdW50ZWQgZm9yIGlmIHlvdSBpbmplY3QgbW9jawpyZXNwb25zZXMgaW50byB5b3VyIHRlc3RzLiAgQWRkaXRpb25hbGx5LCBzb21lIHJlcXVlc3QgZW50aXR5IGJvZGllcyBjYW5ub3QgYmUgbG9hZGVkIGJ5IHRoZSBjbGllbnQgYmVmb3JlIHRyYW5zbWl0dGluZwppdCB0byB0aGUgc2V2ZXIgKGZvciBleGFtcGxlLCB3aGVuIHVzaW5nIGEgY2xpZW50IGFzIGEgc29ydCBvZiBwcm94eSBhbmQgc3RyZWFtaW5nIGNvbnRlbnQgZnJvbSBhIHJlbW90ZSBzZXJ2ZXIpLiBZb3UKbWlnaHQgYWxzbyBuZWVkIHRvIGluc3BlY3QgdGhlIGVudGl0eSBib2R5IG9mIGEgYGBtdWx0aXBhcnQvZm9ybS1kYXRhYGAgUE9TVCByZXF1ZXN0LgoKLi4gbm90ZTo6CgogICAgWW91IGNhbiBza2lwIGFsbCBvZiB0aGUgdGVzdHMgdGhhdCByZXF1aXJlIHRoZSBub2RlLmpzIHRlc3Qgd2ViIHNlcnZlciBieSBleGNsdWRpbmcgdGhlIGBgc2VydmVyYGAgZ3JvdXA6CiAgICBgYHBocHVuaXQgLS1leGNsdWRlLWdyb3VwIHNlcnZlcmBgCgpVc2luZyB0aGUgdGVzdCBzZXJ2ZXIKfn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpUaGUgbm9kZS5qcyB0ZXN0IHNlcnZlciByZWNlaXZlcyByZXF1ZXN0cyBhbmQgcmV0dXJucyBxdWV1ZWQgcmVzcG9uc2VzLiAgVGhlIHRlc3Qgc2VydmVyIGV4cG9zZXMgYSBzaW1wbGUgQVBJIHRoYXQgaXMKdXNlZCB0byBlbnF1ZXVlIHJlc3BvbnNlcyBhbmQgaW5zcGVjdCB0aGUgcmVxdWVzdHMgdGhhdCBpdCBoYXMgcmVjZWl2ZWQuCgpSZXRyaWV2ZSB0aGUgc2VydmVyIG9iamVjdCBieSBjYWxsaW5nIGBgJHRoaXMtPmdldFNlcnZlcigpYGAuICBJZiB0aGUgbm9kZS5qcyBzZXJ2ZXIgaXMgbm90IHJ1bm5pbmcsIGl0IHdpbGwgYmUKc3RhcnRlZCBhcyBhIGZvcmtlZCBwcm9jZXNzIGFuZCBhbiBvYmplY3QgdGhhdCBpbnRlcmZhY2VzIHdpdGggdGhlIHNlcnZlciB3aWxsIGJlIHJldHVybmVkLiAgKG5vdGU6IHN0b3BwaW5nIHRoZQpzZXJ2ZXIgaXMgaGFuZGxlZCBpbnRlcm5hbGx5IGJ5IEd1enpsZS4pCgpZb3UgY2FuIHF1ZXVlIGFuIEhUVFAgcmVzcG9uc2Ugb3IgYW4gYXJyYXkgb2YgcmVzcG9uc2VzIGJ5IGNhbGxpbmcgYGAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoKWBgOgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKClRoZSBhYm92ZSBjb2RlIHF1ZXVlcyBhIHNpbmdsZSAyMDAgcmVzcG9uc2Ugd2l0aCBhbiBlbXB0eSBib2R5LiAgUmVzcG9uc2VzIGFyZSBxdWV1ZWQgdXNpbmcgYSBGSUZPIG9yZGVyOyB0aGlzCnJlc3BvbnNlIHdpbGwgYmUgcmV0dXJuZWQgYnkgdGhlIHNlcnZlciB3aGVuIGl0IHJlY2VpdmVzIHRoZSBmaXJzdCByZXF1ZXN0IGFuZCB0aGVuIHJlbW92ZWQgZnJvbSB0aGUgcXVldWUuIElmIGEKcmVxdWVzdCBpcyByZWNlaXZlZCBieSBhIHNlcnZlciB3aXRoIG5vIHF1ZXVlZCByZXNwb25zZXMsIGFuIGV4Y2VwdGlvbiB3aWxsIGJlIHRocm93biBpbiB5b3VyIHVuaXQgdGVzdC4KCllvdSBjYW4gaW5zcGVjdCB0aGUgcmVxdWVzdHMgdGhhdCB0aGUgc2VydmVyIGhhcyByZXRyaWV2ZWQgYnkgY2FsbGluZyBgYCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cygpYGAuClRoaXMgbWV0aG9kIGFjY2VwdHMgYW4gb3B0aW9uYWwgYGAkaHlkcmF0ZWBgIHBhcmFtZXRlciB0aGF0IHNwZWNpZmllcyBpZiB5b3UgYXJlIHJldHJpZXZpbmcgYW4gYXJyYXkgb2Ygc3RyaW5nIEhUVFAKcmVxdWVzdHMgb3IgYW4gYXJyYXkgb2YgYGBHdXp6bGVcSHR0cFxSZXF1ZXN0SW50ZXJmYWNlYGAgc3ViY2xhc3NlZCBvYmplY3RzLiAgIkh5ZHJhdGluZyIgdGhlIHJlcXVlc3RzIHdpbGwgYWxsb3cKZ3JlYXRlciBmbGV4aWJpbGl0eSBpbiB5b3VyIHVuaXQgdGVzdHMgc28gdGhhdCB5b3UgY2FuICBlYXNpbHkgYXNzZXJ0IHRoZSBzdGF0ZSBvZiB0aGUgdmFyaW91cyBwYXJ0cyBvZiBhIHJlcXVlc3QuCgpZb3Ugd2lsbCBuZWVkIHRvIG1vZGlmeSB0aGUgYmFzZV91cmwgb2YgeW91ciB3ZWIgc2VydmljZSBjbGllbnQgaW4gb3JkZXIgdG8gdXNlIGl0IGFnYWluc3QgdGhlIHRlc3Qgc2VydmVyLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdteV9jbGllbnQnKTsKICAgICRjbGllbnQtPnNldEJhc2VVcmwoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CgpBZnRlciBydW5uaW5nIHRoZSBhYm92ZSBjb2RlLCBhbGwgY2FsbHMgbWFkZSBmcm9tIHRoZSBgYCRjbGllbnRgYCBvYmplY3Qgd2lsbCBiZSBzZW50IHRvIHRoZSB0ZXN0IHdlYiBzZXJ2ZXIuCg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/webservice-client/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/webservice-client/guzzle-service-descriptions.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT09PT09PT09Ckd1enpsZSBzZXJ2aWNlIGRlc2NyaXB0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkd1enpsZSBhbGxvd3MgeW91IHRvIHNlcmlhbGl6ZSBIVFRQIHJlcXVlc3RzIGFuZCBwYXJzZSBIVFRQIHJlc3BvbnNlcyB1c2luZyBhIERTTCBjYWxsZWQgYSBzZXJ2aWNlIGRlc2NyaXB0aW9ucy4KU2VydmljZSBkZXNjcmlwdGlvbnMgZGVmaW5lIHdlYiBzZXJ2aWNlIEFQSXMgYnkgZG9jdW1lbnRpbmcgZWFjaCBvcGVyYXRpb24sIHRoZSBvcGVyYXRpb24ncyBwYXJhbWV0ZXJzLCB2YWxpZGF0aW9uCm9wdGlvbnMgZm9yIGVhY2ggcGFyYW1ldGVyLCBhbiBvcGVyYXRpb24ncyByZXNwb25zZSwgaG93IHRoZSByZXNwb25zZSBpcyBwYXJzZWQsIGFuZCBhbnkgZXJyb3JzIHRoYXQgY2FuIGJlIHJhaXNlZCBmb3IKYW4gb3BlcmF0aW9uLiBXcml0aW5nIGEgc2VydmljZSBkZXNjcmlwdGlvbiBmb3IgYSB3ZWIgc2VydmljZSBhbGxvd3MgeW91IHRvIG1vcmUgcXVpY2tseSBjb25zdW1lIGEgd2ViIHNlcnZpY2UgdGhhbgp3cml0aW5nIGNvbmNyZXRlIGNvbW1hbmRzIGZvciBlYWNoIHdlYiBzZXJ2aWNlIG9wZXJhdGlvbi4KCkd1enpsZSBzZXJ2aWNlIGRlc2NyaXB0aW9ucyBjYW4gYmUgcmVwcmVzZW50aW5nIHVzaW5nIGEgUEhQIGFycmF5IG9yIEpTT04gZG9jdW1lbnQuIEd1enpsZSdzIHNlcnZpY2UgZGVzY3JpcHRpb25zIGFyZQpoZWF2aWx5IGluc3BpcmVkIGJ5IGBTd2FnZ2VyIDxodHRwOi8vc3dhZ2dlci53b3JkbmlrLmNvbS8+YF8uCgpTZXJ2aWNlIGRlc2NyaXB0aW9uIHNjaGVtYQo9PT09PT09PT09PT09PT09PT09PT09PT09PQoKQSBHdXp6bGUgU2VydmljZSBkZXNjcmlwdGlvbiBtdXN0IG1hdGNoIHRoZSBmb2xsb3dpbmcgSlNPTiBzY2hlbWEgZG9jdW1lbnQuIFRoaXMgZG9jdW1lbnQgY2FuIGFsc28gc2VydmUgYXMgYSBndWlkZSB3aGVuCmltcGxlbWVudGluZyBhIEd1enpsZSBzZXJ2aWNlIGRlc2NyaXB0aW9uLgoKRG93bmxvYWQgdGhlIHNjaGVtYSBoZXJlOiA6ZG93bmxvYWQ6YEd1enpsZSBKU09OIHNjaGVtYSBkb2N1bWVudCA8L19kb3dubG9hZHMvZ3V6emxlLXNjaGVtYS0xLjAuanNvbj5gCgouLiBjbGFzczo6IG92ZXJmbG93LWhlaWdodC01MDBweAoKICAgIC4uIGxpdGVyYWxpbmNsdWRlOjogLi4vX2Rvd25sb2Fkcy9ndXp6bGUtc2NoZW1hLTEuMC5qc29uCiAgICAgICAgOmxhbmd1YWdlOiBqc29uCgpUb3AtbGV2ZWwgYXR0cmlidXRlcwotLS0tLS0tLS0tLS0tLS0tLS0tLQoKU2VydmljZSBkZXNjcmlwdGlvbnMgYXJlIGNvbXByaXNlZCBvZiB0aGUgZm9sbG93aW5nIHRvcC1sZXZlbCBhdHRyaWJ1dGVzOgoKLi4gY29kZS1ibG9jazo6IGpzb24KCiAgICB7CiAgICAgICAgIm5hbWUiOiAic3RyaW5nIiwKICAgICAgICAiYXBpVmVyc2lvbiI6ICJzdHJpbmd8bnVtYmVyIiwKICAgICAgICAiYmFzZVVybCI6ICJzdHJpbmciLAogICAgICAgICJkZXNjcmlwdGlvbiI6ICJzdHJpbmciLAogICAgICAgICJvcGVyYXRpb25zIjoge30sCiAgICAgICAgIm1vZGVscyI6IHt9LAogICAgICAgICJpbmNsdWRlcyI6IFsic3RyaW5nLnBocCIsICJzdHJpbmcuanNvbiJdCiAgICB9CgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBQcm9wZXJ0eSBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBWYWx1ZSAgICAgICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kwp8IG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHN0cmluZyAgICAgICAgICAgICAgICAgIHwgTmFtZSBvZiB0aGUgd2ViIHNlcnZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgYXBpVmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgc3RyaW5nfG51bWJlciAgICAgICAgICAgfCBWZXJzaW9uIGlkZW50aWZpZXIgdGhhdCB0aGUgc2VydmljZSBkZXNjcmlwdGlvbiBpcyBjb21wYXRpYmxlIHdpdGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBiYXNlVXJsIG9yIGJhc2VQYXRoICAgICAgICAgICAgICAgICAgICAgfCBzdHJpbmcgICAgICAgICAgICAgICAgICB8IEJhc2UgVVJMIG9mIHRoZSB3ZWIgc2VydmljZS4gQW55IHJlbGF0aXZlIFVSSSBzcGVjaWZpZWQgaW4gYW4gb3BlcmF0aW9uIHdpbGwgYmUgbWVyZ2VkIHdpdGggdGhlIGJhc2VVcmwgdXNpbmcgdGhlICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCBwcm9jZXNzIGRlZmluZWQgaW4gUkZDIDIzOTYuIFNvbWUgY2xpZW50cyByZXF1aXJlIGN1c3RvbSBsb2dpYyB0byBkZXRlcm1pbmUgdGhlIGJhc2VVcmwuIEluIHRob3NlIGNhc2VzLCBpdCBpcyBiZXN0ICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgdG8gbm90IGluY2x1ZGUgYSBiYXNlVXJsIGluIHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uLCBidXQgcmF0aGVyIGFsbG93IHRoZSBmYWN0b3J5IG1ldGhvZCBvZiB0aGUgY2xpZW50IHRvIGNvbmZpZ3VyZSAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IHRoZSBjbGllbnTigJlzIGJhc2VVcmwuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgZGVzY3JpcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgc3RyaW5nICAgICAgICAgICAgICAgICAgfCBTaG9ydCBzdW1tYXJ5IG9mIHRoZSB3ZWIgc2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBvcGVyYXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvYmplY3QgY29udGFpbmluZyAgICAgICB8IE9wZXJhdGlvbnMgb2YgdGhlIHNlcnZpY2UuIFRoZSBrZXkgaXMgdGhlIG5hbWUgb2YgdGhlIG9wZXJhdGlvbiBhbmQgdmFsdWUgaXMgdGhlIGF0dHJpYnV0ZXMgb2YgdGhlIG9wZXJhdGlvbi4gICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgOnJlZjpgb3BlcmF0aW9uLXNjaGVtYWAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgbW9kZWxzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb2JqZWN0IGNvbnRhaW5pbmcgICAgICAgfCBTY2hlbWEgbW9kZWxzIHRoYXQgY2FuIGJlIHJlZmVyZW5jZWQgdGhyb3VnaG91dCB0aGUgc2VydmljZSBkZXNjcmlwdGlvbi4gTW9kZWxzIGNhbiBiZSB1c2VkIHRvIGRlZmluZSBob3cgYW4gSFRUUCAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDpyZWY6YG1vZGVsLXNjaGVtYWAgICAgIHwgcmVzcG9uc2UgaXMgcGFyc2VkIGludG8gYSBgYEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsYGAgb2JqZWN0IHdoZW4gYW4gb3BlcmF0aW9uIHVzZXMgYSBgYG1vZGVsYGAgYGByZXNwb25zZVR5cGVgYHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgaW5jbHVkZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYXJyYXkgb2YgLmpzLCAgICAgICAgICAgfCBTZXJ2aWNlIGRlc2NyaXB0aW9uIGZpbGVzIHRvIGluY2x1ZGUgYW5kIGV4dGVuZCBmcm9tIChjYW4gYmUgYSAuanNvbiwgLmpzLCBvciAucGhwIGZpbGUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IC5qc29uLCBvciAucGhwICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmaWxlcy4gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IChhbnkgYWRkaXRpb25hbCBwcm9wZXJ0aWVzKSAgICAgICAgICAgICB8IG1peGVkICAgICAgICAgICAgICAgICAgIHwgQW55IGFkZGl0aW9uYWwgcHJvcGVydGllcyBzcGVjaWZpZWQgYXMgdG9wLWxldmVsIGF0dHJpYnV0ZXMgYXJlIGFsbG93ZWQgYW5kIHdpbGwgYmUgdHJlYXRlZCBhcyBhcmJpdHJhcnkgZGF0YSAgICAgICAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCgouLiBfb3BlcmF0aW9uLXNjaGVtYToKCk9wZXJhdGlvbnMKLS0tLS0tLS0tLQoKT3BlcmF0aW9ucyBhcmUgdGhlIGFjdGlvbnMgdGhhdCBjYW4gYmUgdGFrZW4gb24gYSBzZXJ2aWNlLiBFYWNoIG9wZXJhdGlvbiBpcyBnaXZlbiBhIHVuaXF1ZSBuYW1lIGFuZCBoYXMgYSBkaXN0aW5jdAplbmRwb2ludCBhbmQgSFRUUCBtZXRob2QuIElmIGFuIEFQSSBoYXMgYSBgYERFTEVURSAvdXNlcnMvOmlkYGAgb3BlcmF0aW9uLCBhIHNhdGlzZmFjdG9yeSBvcGVyYXRpb24gbmFtZSBtaWdodCBiZQpgYERlbGV0ZVVzZXJgYCB3aXRoIGEgcGFyYW1ldGVyIG9mIGBgaWRgYCB0aGF0IGlzIGluc2VydGVkIGludG8gdGhlIFVSSS4KCi4uIGNsYXNzOjogb3ZlcmZsb3ctaGVpZ2h0LTI1MHB4CgogICAgLi4gY29kZS1ibG9jazo6IGpzb24KCiAgICAgICAgewogICAgICAgICAgICAib3BlcmF0aW9ucyI6IHsKICAgICAgICAgICAgICAgICJvcGVyYXRpb25OYW1lIjogewogICAgICAgICAgICAgICAgICAgICJleHRlbmRzIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgImh0dHBNZXRob2QiOiAiR0VUfFBPU1R8UFVUfERFTEVURXxQQVRDSHxzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICJ1cmkiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAic3VtbWFyeSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICJjbGFzcyI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICJyZXNwb25zZUNsYXNzIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgInJlc3BvbnNlTm90ZXMiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICJyZXNwb25zZVR5cGUiOiAicHJpbWl0aXZlfGNsYXNzfChtb2RlbCBieSBuYW1lKXxkb2N1bWVudGF0aW9ufChzdHJpbmcpIiwKICAgICAgICAgICAgICAgICAgICAiZGVwcmVjYXRlZCI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICJlcnJvclJlc3BvbnNlcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiOiA1MDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGhyYXNlIjogIlVuZXhwZWN0ZWQgRXJyb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImNsYXNzIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgImRhdGEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJmb28iOiAiYmFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImJheiI6ICJiYW0iCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IHt9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgouLiBjc3YtdGFibGU6OgogICA6aGVhZGVyOiAiUHJvcGVydHkgTmFtZSIsICJWYWx1ZSIsICJEZXNjcmlwdGlvbiIKICAgOndpZHRoczogMjAsIDE1LCA2NQoKICAgICJleHRlbmRzIiwgInN0cmluZyIsICJFeHRlbmQgZnJvbSBhbm90aGVyIG9wZXJhdGlvbiBieSBuYW1lLiBUaGUgcGFyZW50IG9wZXJhdGlvbiBtdXN0IGJlIGRlZmluZWQgYmVmb3JlIHRoZSBjaGlsZC4iCiAgICAiaHR0cE1ldGhvZCIsICJzdHJpbmciLCAiSFRUUCBtZXRob2QgdXNlZCB3aXRoIHRoZSBvcGVyYXRpb24gKGUuZy4gR0VULCBQT1NULCBQVVQsIERFTEVURSwgUEFUQ0gsIGV0YykiCiAgICAidXJpIiwgInN0cmluZyIsICJVUkkgb2YgdGhlIG9wZXJhdGlvbi4gVGhlIHVyaSBhdHRyaWJ1dGUgY2FuIGNvbnRhaW4gVVJJIHRlbXBsYXRlcy4gVGhlIHZhcmlhYmxlcyBvZiB0aGUgVVJJIHRlbXBsYXRlIGFyZSBwYXJhbWV0ZXJzIG9mIHRoZSBvcGVyYXRpb24gd2l0aCBhIGxvY2F0aW9uIHZhbHVlIG9mIHVyaSIKICAgICJzdW1tYXJ5IiwgInN0cmluZyIsICJTaG9ydCBzdW1tYXJ5IG9mIHdoYXQgdGhlIG9wZXJhdGlvbiBkb2VzIgogICAgImNsYXNzIiwgInN0cmluZyIsICJDdXN0b20gY2xhc3MgdG8gaW5zdGFudGlhdGUgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQuIFVzaW5nIHRoaXMgYXR0cmlidXRlIGFsbG93cyB5b3UgdG8gZGVmaW5lIGFuIG9wZXJhdGlvbiB1c2luZyBhIHNlcnZpY2UgZGVzY3JpcHRpb24sIGJ1dCBhbGxvd3MgbW9yZSBjdXN0b21pemVkIGxvZ2ljIHRvIGJlIGltcGxlbWVudGVkIGluIHVzZXItbGFuZCBjb2RlLiIKICAgICJyZXNwb25zZUNsYXNzIiwgInN0cmluZyIsICJEZWZpbmVkIHdoYXQgaXMgcmV0dXJuZWQgZnJvbSB0aGUgbWV0aG9kLiBDYW4gYmUgYSBwcmltaXRpdmUsIGNsYXNzIG5hbWUsIG9yIG1vZGVsIG5hbWUuIFlvdSBjYW4gc3BlY2lmeSB0aGUgbmFtZSBvZiBhIGNsYXNzIHRvIHJldHVybiBhIG1vcmUgY3VzdG9taXplZCByZXN1bHQgZnJvbSB0aGUgb3BlcmF0aW9uIChmb3IgZXhhbXBsZSwgYSBkb21haW4gbW9kZWwgb2JqZWN0KS4gV2hlbiB1c2luZyB0aGUgbmFtZSBvZiBhIFBIUCBjbGFzcywgdGhlIGNsYXNzIG11c3QgaW1wbGVtZW50IGBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxSZXNwb25zZUNsYXNzSW50ZXJmYWNlYGAuIgogICAgInJlc3BvbnNlTm90ZXMiLCAic3RyaW5nIiwgIkEgZGVzY3JpcHRpb24gb2YgdGhlIHJlc3BvbnNlIHJldHVybmVkIGJ5IHRoZSBvcGVyYXRpb24iCiAgICAicmVzcG9uc2VUeXBlIiwgInN0cmluZyIsICJUaGUgdHlwZSBvZiByZXNwb25zZSB0aGF0IHRoZSBvcGVyYXRpb24gY3JlYXRlczogb25lIG9mIHByaW1pdGl2ZSwgY2xhc3MsIG1vZGVsLCBvciBkb2N1bWVudGF0aW9uLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBpbmZlcnJlZCBiYXNlZCBvbiB3aGV0aGVyIG9yIG5vdCB0aGVyZSBpcyBhIG1vZGVsIG1hdGNoaW5nIHRoZSBuYW1lLCBpZiBhIG1hdGNoaW5nIGNsYXNzIG5hbWUgaXMgZm91bmQsIG9yIHNldCB0byAncHJpbWl0aXZlJyBieSBkZWZhdWx0LiIKICAgICJkZXByZWNhdGVkIiwgImJvb2xlYW4iLCAiV2hldGhlciBvciBub3QgdGhlIG9wZXJhdGlvbiBpcyBkZXByZWNhdGVkIgogICAgImVycm9yUmVzcG9uc2VzIiwgImFycmF5IiwgIkVycm9ycyB0aGF0IGNvdWxkIG9jY3VyIHdoaWxlIGV4ZWN1dGluZyB0aGUgb3BlcmF0aW9uLiBFYWNoIGl0ZW0gb2YgdGhlIGFycmF5IGlzIGFuIG9iamVjdCB0aGF0IGNhbiBjb250YWluIGEgJ2NvZGUnIChIVFRQIHJlc3BvbnNlIHN0YXR1cyBjb2RlIG9mIHRoZSBlcnJvciksICdwaHJhc2UnIChyZWFzb24gcGhyYXNlIG9yIGRlc2NyaXB0aW9uIG9mIHRoZSBlcnJvciksIGFuZCAnY2xhc3MnIChhbiBleGNlcHRpb24gY2xhc3MgdGhhdCB3aWxsIGJlIHJhaXNlZCB3aGVuIHRoaXMgZXJyb3IgaXMgZW5jb3VudGVyZWQpIgogICAgImRhdGEiLCAib2JqZWN0IiwgIkFueSBhcmJpdHJhcnkgZGF0YSB0byBhc3NvY2lhdGUgd2l0aCB0aGUgb3BlcmF0aW9uIgogICAgInBhcmFtZXRlcnMiLCAib2JqZWN0IGNvbnRhaW5pbmcgOnJlZjpgcGFyYW1ldGVyLXNjaGVtYWAgb2JqZWN0cyIsICJQYXJhbWV0ZXJzIG9mIHRoZSBvcGVyYXRpb24uIFBhcmFtZXRlcnMgYXJlIHVzZWQgdG8gZGVmaW5lIGhvdyBpbnB1dCBkYXRhIGlzIHNlcmlhbGl6ZWQgaW50byBhIEhUVFAgcmVxdWVzdC4iCiAgICAiYWRkaXRpb25hbFBhcmFtZXRlcnMiLCAiQSBzaW5nbGUgOnJlZjpgcGFyYW1ldGVyLXNjaGVtYWAgb2JqZWN0IiwgIlZhbGlkYXRpb24gYW5kIHNlcmlhbGl6YXRpb24gcnVsZXMgZm9yIGFueSBwYXJhbWV0ZXIgc3VwcGxpZWQgdG8gdGhlIG9wZXJhdGlvbiB0aGF0IHdhcyBub3QgZXhwbGljaXRseSBkZWZpbmVkLiIKCmFkZGl0aW9uYWxQYXJhbWV0ZXJzCn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpXaGVuIGEgd2Vic2VydmljZSBvZmZlcnMgYSBsYXJnZSBudW1iZXIgb2YgcGFyYW1ldGVycyB0aGF0IGFsbCBhcmUgc2V0IGluIHRoZSBzYW1lIGxvY2F0aW9uIChmb3IgZXhhbXBsZSB0aGUgcXVlcnkKc3RyaW5nIG9yIGEgSlNPTiBkb2N1bWVudCksIGRlZmluaW5nIGVhY2ggcGFyYW1ldGVyIGluZGl2aWR1YWxseSBjYW4gcmVxdWlyZSBhIGxvdCBvZiB0aW1lIGFuZCByZXBldGl0aW9uLiBGdXJ0aGVybW9yZSwKc29tZSB3ZWIgc2VydmljZXMgYWxsb3cgZm9yIGNvbXBsZXRlbHkgYXJiaXRyYXJ5IHBhcmFtZXRlcnMgdG8gYmUgc3VwcGxpZWQgZm9yIGFuIG9wZXJhdGlvbi4gVGhlCmBgYWRkaXRpb25hbFBhcmFtZXRlcnNgYCBhdHRyaWJ1dGUgY2FuIGJlIHVzZWQgdG8gc29sdmUgYm90aCBvZiB0aGVzZSBpc3N1ZXMuCgpBcyBhbiBleGFtcGxlLCB3ZSBjYW4gZGVmaW5lIGEgVHdpdHRlciBBUEkgb3BlcmF0aW9uIHF1aXRlIGVhc2lseSB1c2luZyBgYGFkZGl0aW9uYWxQYXJhbWV0ZXJzYGAuIFRoZQpHZXRNZW50aW9ucyBvcGVyYXRpb24gYWNjZXB0cyBhIGxhcmdlIG51bWJlciBvZiBxdWVyeSBzdHJpbmcgcGFyYW1ldGVycy4gRGVmaW5pbmcgZWFjaCBvZiB0aGVzZSBwYXJhbWV0ZXJzCmlzIGlkZWFsIGJlY2F1c2UgaXQgcHJvdmlkZSBtdWNoIG1vcmUgaW50cm9zcGVjdGlvbiBmb3IgdGhlIGNsaWVudCBhbmQgb3BlbnMgdGhlIHBvc3NpYmlsaXR5IHRvIHVzZSB0aGUgZGVzY3JpcHRpb24gd2l0aApvdGhlciB0b29scyAoZS5nLiBhIGRvY3VtZW50YXRpb24gZ2VuZXJhdG9yKS4gSG93ZXZlciwgeW91IGNhbiB2ZXJ5IHF1aWNrbHkgcHJvdmlkZSBhICJjYXRjaC1hbGwiIHNlcmlhbGl6YXRpb24gcnVsZQp0aGF0IHdpbGwgcGxhY2UgYW55IGN1c3RvbSBwYXJhbWV0ZXJzIHN1cHBsaWVkIHRvIGFuIG9wZXJhdGlvbiB0aGUgZ2VuZXJhdGVkIHJlcXVlc3QncyBxdWVyeSBzdHJpbmcgcGFyYW1ldGVycy4KCi4uIGNsYXNzOjogb3ZlcmZsb3ctaGVpZ2h0LTI1MHB4CgogICAgLi4gY29kZS1ibG9jazo6IGpzb24KCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJUd2l0dGVyIiwKICAgICAgICAgICAgImFwaVZlcnNpb24iOiAiMS4xIiwKICAgICAgICAgICAgImJhc2VVcmwiOiAiaHR0cHM6Ly9hcGkudHdpdHRlci5jb20vMS4xIiwKICAgICAgICAgICAgIm9wZXJhdGlvbnMiOiB7CiAgICAgICAgICAgICAgICAiR2V0TWVudGlvbnMiOiB7CiAgICAgICAgICAgICAgICAgICAgImh0dHBNZXRob2QiOiAiR0VUIiwKICAgICAgICAgICAgICAgICAgICAidXJpIjogInN0YXR1c2VzL21lbnRpb25zX3RpbWVsaW5lLmpzb24iLAogICAgICAgICAgICAgICAgICAgICJyZXNwb25zZUNsYXNzIjogIkdldE1lbnRpb25zT3V0cHV0IiwKICAgICAgICAgICAgICAgICAgICAiYWRkaXRpb25hbFBhcmFtZXRlcnMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdGlvbiI6ICJxdWVyeSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtb2RlbHMiOiB7CiAgICAgICAgICAgICAgICAiR2V0TWVudGlvbnNPdXRwdXQiOiB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdGlvbiI6ICJqc29uIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCnJlc3BvbnNlQ2xhc3MKfn5+fn5+fn5+fn5+fgoKVGhlIGBgcmVzcG9uc2VDbGFzc2BgIGF0dHJpYnV0ZSBpcyB1c2VkIHRvIGRlZmluZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGFuIG9wZXJhdGlvbiAod2hhdCBpcyByZXR1cm5lZCBieSBjYWxsaW5nIHRoZQpgYGdldFJlc3VsdCgpYGAgbWV0aG9kIG9mIGEgY29tbWFuZCBvYmplY3QpLiBUaGUgdmFsdWUgc2V0IGluIHRoZSByZXNwb25zZUNsYXNzIGF0dHJpYnV0ZSBjYW4gYmUgb25lIG9mICJwcmltaXRpdmUiCihtZWFuaW5nIHRoZSByZXN1bHQgd2l0aCBiZSBwcmltaXRpdmUgdHlwZSBsaWtlIGEgc3RyaW5nKSwgYSBjbGFzcyBuYW1lIG1lYW5pbmcgdGhlIHJlc3VsdCB3aWxsIGJlIGFuIGluc3RhbmNlIG9mIGEKc3BlY2lmaWMgdXNlci1sYW5kIGNsYXNzLCBvciBhIG1vZGVsIG5hbWUgbWVhbmluZyB0aGUgcmVzdWx0IHdpbGwgYmUgYSBgYEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsYGAgb2JqZWN0IHRoYXQKdXNlcyBhIDpyZWY6YG1vZGVsIHNjaGVtYSA8bW9kZWwtc2NoZW1hPmAgdG8gZGVmaW5lIGhvdyB0aGUgSFRUUCByZXNwb25zZSBpcyBwYXJzZWQuCgouLiBub3RlOjoKCiAgICBVc2luZyBhIGNsYXNzIG5hbWUgd2l0aCBhIGBgcmVzcG9uc2VDbGFzc2BgIHdpbGwgb25seSB3b3JrIGlmIGl0IGlzIHN1cHBvcnRlZCBieSB0aGUgYGBjbGFzc2BgIHRoYXQgaXMgaW5zdGFudGlhdGVkCiAgICBmb3IgdGhlIG9wZXJhdGlvbi4gS2VlcCB0aGlzIGluIG1pbmQgd2hlbiBzcGVjaWZ5aW5nIGEgY3VzdG9tIGBgY2xhc3NgYCBhdHRyaWJ1dGUgdGhhdCBwb2ludHMgdG8gYSBjdXN0b20KICAgIGBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlYGAgY2xhc3MuIFRoZSBkZWZhdWx0IGBgY2xhc3NgYCwKICAgIGBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxPcGVyYXRpb25Db21tYW5kYGAsIGRvZXMgc3VwcG9ydCBzZXR0aW5nIGN1c3RvbSBgYGNsYXNzYGAgYXR0cmlidXRlcy4KCllvdSBjYW4gc3BlY2lmeSB0aGUgbmFtZSBvZiBhIGNsYXNzIHRvIHJldHVybiBhIG1vcmUgY3VzdG9taXplZCByZXN1bHQgZnJvbSB0aGUgb3BlcmF0aW9uIChmb3IgZXhhbXBsZSwgYSBkb21haW4gbW9kZWwKb2JqZWN0KS4gV2hlbiB1c2luZyB0aGUgbmFtZSBvZiBhIFBIUCBjbGFzcywgdGhlIGNsYXNzIG11c3QgaW1wbGVtZW50IGBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxSZXNwb25zZUNsYXNzSW50ZXJmYWNlYGAuCkhlcmUncyBhIHZlcnkgc2ltcGxlIGV4YW1wbGUgb2YgaW1wbGVtZW50aW5nIGEgY3VzdG9tIHJlc3BvbnNlQ2xhc3Mgb2JqZWN0LgoKLi4gY29kZS1ibG9jazo6IGpzb24KCiAgICB7CiAgICAgICAgIm9wZXJhdGlvbnMiOiB7CiAgICAgICAgICAgICJ0ZXN0IjogewogICAgICAgICAgICAgICAgInJlc3BvbnNlQ2xhc3MiOiAiTXlBcHBsaWNhdGlvblxcVXNlciIKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICBuYW1lc3BhY2UgTXlBcHBsaWNhdGlvbjsKCiAgICB1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxSZXNwb25zZUNsYXNzSW50ZXJmYWNlOwogICAgdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcT3BlcmF0aW9uQ29tbWFuZDsKCiAgICBjbGFzcyBVc2VyIGltcGxlbWVudHMgUmVzcG9uc2VDbGFzc0ludGVyZmFjZQogICAgewogICAgICAgIHByb3RlY3RlZCAkbmFtZTsKCiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmcm9tQ29tbWFuZChPcGVyYXRpb25Db21tYW5kICRjb21tYW5kKQogICAgICAgIHsKICAgICAgICAgICAgJHJlc3BvbnNlID0gJGNvbW1hbmQtPmdldFJlc3BvbnNlKCk7CiAgICAgICAgICAgICR4bWwgPSAkY29tbWFuZC0+eG1sKCk7CgogICAgICAgICAgICByZXR1cm4gbmV3IHNlbGYoKHN0cmluZykgJHhtbC0+bmFtZSk7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG5hbWUpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+bmFtZSA9ICRuYW1lOwogICAgICAgIH0KICAgIH0KCmVycm9yUmVzcG9uc2VzCn5+fn5+fn5+fn5+fn5+CgpgYGVycm9yUmVzcG9uc2VzYGAgaXMgYW4gYXJyYXkgY29udGFpbmluZyBvYmplY3RzIHRoYXQgZGVmaW5lIHRoZSBlcnJvcnMgdGhhdCBjb3VsZCBvY2N1ciB3aGlsZSBleGVjdXRpbmcgdGhlCm9wZXJhdGlvbi4gRWFjaCBpdGVtIG9mIHRoZSBhcnJheSBpcyBhbiBvYmplY3QgdGhhdCBjYW4gY29udGFpbiBhICdjb2RlJyAoSFRUUCByZXNwb25zZSBzdGF0dXMgY29kZSBvZiB0aGUgZXJyb3IpLAoncGhyYXNlJyAocmVhc29uIHBocmFzZSBvciBkZXNjcmlwdGlvbiBvZiB0aGUgZXJyb3IpLCBhbmQgJ2NsYXNzJyAoYW4gZXhjZXB0aW9uIGNsYXNzIHRoYXQgd2lsbCBiZSByYWlzZWQgd2hlbiB0aGlzCmVycm9yIGlzIGVuY291bnRlcmVkKS4KCkVycm9yUmVzcG9uc2VQbHVnaW4KXl5eXl5eXl5eXl5eXl5eXl5eXgoKRXJyb3IgcmVzcG9uc2VzIGFyZSBieSBkZWZhdWx0IG9ubHkgdXNlZCBmb3IgZG9jdW1lbnRhdGlvbi4gSWYgeW91IGRvbid0IG5lZWQgdmVyeSBjb21wbGV4IGV4Y2VwdGlvbiBsb2dpYyBmb3IgeW91ciB3ZWIKc2VydmljZSBlcnJvcnMsIHRoZW4geW91IGNhbiB1c2UgdGhlIGBgR3V6emxlXFBsdWdpblxFcnJvclJlc3BvbnNlXEVycm9yUmVzcG9uc2VQbHVnaW5gYCB0byBhdXRvbWF0aWNhbGx5IHRocm93IGRlZmluZWQKZXhjZXB0aW9ucyB3aGVuIG9uZSBvZiB0aGUgYGBlcnJvclJlc3BvbnNlYGAgcnVsZXMgYXJlIG1hdGNoZWQuIFRoZSBlcnJvciByZXNwb25zZSBwbHVnaW4gd2lsbCBsaXN0ZW4gZm9yIHRoZQpgYHJlcXVlc3QuY29tcGxldGVgYCBldmVudCBvZiBhIHJlcXVlc3QgY3JlYXRlZCBieSBhIGNvbW1hbmQgb2JqZWN0LiBFdmVyeSByZXNwb25zZSAoaW5jbHVkaW5nIGEgc3VjY2Vzc2Z1bCByZXNwb25zZSkgaXMKY2hlY2tlZCBhZ2FpbnN0IHRoZSBsaXN0IG9mIGVycm9yIHJlc3BvbnNlcyBmb3IgYW4gZXhhY3QgbWF0Y2ggdXNpbmcgdGhlIGZvbGxvd2luZyBvcmRlciBvZiBjaGVja3M6CgoxLiBEb2VzIHRoZSBlcnJvclJlc3BvbnNlIGhhdmUgYSBkZWZpbmVkIGBgY2xhc3NgYD8KMi4gSXMgdGhlIGVycm9yUmVzcG9uc2UgYGBjb2RlYGAgZXF1YWwgdG8gdGhlIHN0YXR1cyBjb2RlIG9mIHRoZSByZXNwb25zZT8KMy4gSXMgdGhlIGVycm9yUmVzcG9uc2UgYGBwaHJhc2VgYCBlcXVhbCB0byB0aGUgcmVhc29uIHBocmFzZSBvZiB0aGUgcmVzcG9uc2U/CjQuIFRocm93IHRoZSBleGNlcHRpb24gc3RvcmVkIGluIHRoZSBgYGNsYXNzYGAgYXR0cmlidXRlIG9mIHRoZSBlcnJvclJlc3BvbnNlLgoKVGhlIGBgY2xhc3NgYCBhdHRyaWJ1dGUgbXVzdCBwb2ludCB0byBhIGNsYXNzIHRoYXQgaW1wbGVtZW50cwpgYEd1enpsZVxQbHVnaW5cRXJyb3JSZXNwb25zZVxFcnJvclJlc3BvbnNlRXhjZXB0aW9uSW50ZXJmYWNlYGAuIFRoaXMgaW50ZXJmYWNlIHJlcXVpcmVzIHRoYXQgYW4gZXJyb3IgcmVzcG9uc2UgY2xhc3MKaW1wbGVtZW50cyBgYHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbUNvbW1hbmQoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwgUmVzcG9uc2UgJHJlc3BvbnNlKWBgLiBUaGlzIG1ldGhvZCBtdXN0CnJldHVybiBhbiBvYmplY3QgdGhhdCBleHRlbmRzIGZyb20gYGBcRXhjZXB0aW9uYGAuIEFmdGVyIGFuIGV4Y2VwdGlvbiBpcyByZXR1cm5lZCwgaXQgaXMgdGhyb3duIGJ5IHRoZSBwbHVnaW4uCgouLiBfcGFyYW1ldGVyLXNjaGVtYToKClBhcmFtZXRlciBzY2hlbWEKLS0tLS0tLS0tLS0tLS0tLQoKUGFyYW1ldGVycyBpbiBib3RoIG9wZXJhdGlvbnMgYW5kIG1vZGVscyBhcmUgcmVwcmVzZW50ZWQgdXNpbmcgdGhlCmBKU09OIHNjaGVtYSA8aHR0cDovL3Rvb2xzLmlldGYub3JnL2lkL2RyYWZ0LXp5cC1qc29uLXNjaGVtYS0wNC5odG1sPmBfIHN5bnRheC4KCi4uIGNzdi10YWJsZTo6CiAgIDpoZWFkZXI6ICJQcm9wZXJ0eSBOYW1lIiwgIlZhbHVlIiwgIkRlc2NyaXB0aW9uIgogICA6d2lkdGhzOiAyMCwgMTUsIDY1CgogICAgIm5hbWUiLCAic3RyaW5nIiwgIlVuaXF1ZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIiCiAgICAidHlwZSIsICJzdHJpbmd8YXJyYXkiLCAiVHlwZSBvZiB2YXJpYWJsZSAoc3RyaW5nLCBudW1iZXIsIGludGVnZXIsIGJvb2xlYW4sIG9iamVjdCwgYXJyYXksIG51bWVyaWMsIG51bGwsIGFueSkuIFR5cGVzIGFyZSB1c2luZyBmb3IgdmFsaWRhdGlvbiBhbmQgZGV0ZXJtaW5pbmcgdGhlIHN0cnVjdHVyZSBvZiBhIHBhcmFtZXRlci4gWW91IGNhbiB1c2UgYSB1bmlvbiB0eXBlIGJ5IHByb3ZpZGluZyBhbiBhcnJheSBvZiBzaW1wbGUgdHlwZXMuIElmIG9uZSBvZiB0aGUgdW5pb24gdHlwZXMgbWF0Y2hlcyB0aGUgcHJvdmlkZWQgdmFsdWUsIHRoZW4gdGhlIHZhbHVlIGlzIHZhbGlkLiIKICAgICJpbnN0YW5jZU9mIiwgInN0cmluZyIsICJXaGVuIHRoZSB0eXBlIGlzIGFuIG9iamVjdCwgeW91IGNhbiBzcGVjaWZ5IHRoZSBjbGFzcyB0aGF0IHRoZSBvYmplY3QgbXVzdCBpbXBsZW1lbnQiCiAgICAicmVxdWlyZWQiLCAiYm9vbGVhbiIsICJXaGV0aGVyIG9yIG5vdCB0aGUgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIgogICAgImRlZmF1bHQiLCAibWl4ZWQiLCAiRGVmYXVsdCB2YWx1ZSB0byB1c2UgaWYgbm8gdmFsdWUgaXMgc3VwcGxpZWQiCiAgICAic3RhdGljIiwgImJvb2xlYW4iLCAiU2V0IHRvIHRydWUgdG8gc3BlY2lmeSB0aGF0IHRoZSBwYXJhbWV0ZXIgdmFsdWUgY2Fubm90IGJlIGNoYW5nZWQgZnJvbSB0aGUgZGVmYXVsdCBzZXR0aW5nIgogICAgImRlc2NyaXB0aW9uIiwgInN0cmluZyIsICJEb2N1bWVudGF0aW9uIG9mIHRoZSBwYXJhbWV0ZXIiCiAgICAibG9jYXRpb24iLCAic3RyaW5nIiwgIlRoZSBsb2NhdGlvbiBvZiBhIHJlcXVlc3QgdXNlZCB0byBhcHBseSBhIHBhcmFtZXRlci4gQ3VzdG9tIGxvY2F0aW9ucyBjYW4gYmUgcmVnaXN0ZXJlZCB3aXRoIGEgY29tbWFuZCwgYnV0IHRoZSBkZWZhdWx0cyBhcmUgdXJpLCBxdWVyeSwgc3RhdHVzQ29kZSwgcmVhc29uUGhyYXNlLCBoZWFkZXIsIGJvZHksIGpzb24sIHhtbCwgcG9zdEZpZWxkLCBwb3N0RmlsZSwgcmVzcG9uc2VCb2R5IgogICAgInNlbnRBcyIsICJzdHJpbmciLCAiU3BlY2lmaWVzIGhvdyB0aGUgZGF0YSBiZWluZyBtb2RlbGVkIGlzIHNlbnQgb3ZlciB0aGUgd2lyZS4gRm9yIGV4YW1wbGUsIHlvdSBtYXkgd2lzaCB0byBpbmNsdWRlIGNlcnRhaW4gaGVhZGVycyBpbiBhIHJlc3BvbnNlIG1vZGVsIHRoYXQgaGF2ZSBhIG5vcm1hbGl6ZWQgY2FzaW5nIG9mIEZvb0JhciwgYnV0IHRoZSBhY3R1YWwgaGVhZGVyIGlzIHgtZm9vLWJhci4gSW4gdGhpcyBjYXNlLCBzZW50QXMgd291bGQgYmUgc2V0IHRvIHgtZm9vLWJhci4iCiAgICAiZmlsdGVycyIsICJhcnJheSIsICJBcnJheSBvZiBmdW5jdGlvbnMgdG8gdG8gcnVuIGEgcGFyYW1ldGVyIHZhbHVlIHRocm91Z2guIgoKZmlsdGVycwp+fn5+fn5+CgpFYWNoIHZhbHVlIGluIHRoZSBhcnJheSBtdXN0IGJlIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGZ1bGwgY2xhc3MgcGF0aCB0byBhIHN0YXRpYyBtZXRob2Qgb3IgYW4gYXJyYXkgb2YgY29tcGxleApmaWx0ZXIgaW5mb3JtYXRpb24uIFlvdSBjYW4gc3BlY2lmeSBzdGF0aWMgbWV0aG9kcyBvZiBjbGFzc2VzIHVzaW5nIHRoZSBmdWxsIG5hbWVzcGFjZSBjbGFzcyBuYW1lIGZvbGxvd2VkIGJ5CiI6OiIgKGUuZy4gYGBGb29CYXI6OmJheigpYGApLiBTb21lIGZpbHRlcnMgcmVxdWlyZSBhcmd1bWVudHMgaW4gb3JkZXIgdG8gcHJvcGVybHkgZmlsdGVyIGEgdmFsdWUuIEZvciBjb21wbGV4IGZpbHRlcnMsCnVzZSBhbiBvYmplY3QgY29udGFpbmluZyBhIGBgbWV0aG9kYGAgYXR0cmlidXRlIHBvaW50aW5nIHRvIGEgZnVuY3Rpb24sIGFuZCBhbiBgYGFyZ3NgYCBhdHRyaWJ1dGUgY29udGFpbmluZyBhbgphcnJheSBvZiBwb3NpdGlvbmFsIGFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4gQXJndW1lbnRzIGNhbiBjb250YWluIGtleXdvcmRzIHRoYXQgYXJlIHJlcGxhY2VkIHdoZW4gZmlsdGVyaW5nCmEgdmFsdWU6IGBgQHZhbHVlYGAgaXMgcmVwbGFjZWQgd2l0aCB0aGUgdmFsdWUgYmVpbmcgZmlsdGVyZWQsIGFuZCBgYEBhcGlgYCBpcyByZXBsYWNlZCB3aXRoIHRoZSBhY3R1YWwgUGFyYW1ldGVyCm9iamVjdC4KCi4uIGNvZGUtYmxvY2s6OiBqc29uCgogICAgewogICAgICAgICJmaWx0ZXJzIjogWwogICAgICAgICAgICAic3RydG9sb3dlciIsCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJtZXRob2QiOiAiTXlDbGFzczo6Y29udmVydFN0cmluZyIsCiAgICAgICAgICAgICAgICAiYXJncyI6IFsgInRlc3QiLCAiQHZhbHVlIiwgIkBhcGkiIF0KICAgICAgICAgICAgfQogICAgICAgIF0KICAgIH0KClRoZSBhYm92ZSBleGFtcGxlIHdpbGwgZmlsdGVyIGEgcGFyYW1ldGVyIHVzaW5nIGBgc3RydG9sb3dlcmBgLiBJdCB3aWxsIHRoZW4gY2FsbCB0aGUgYGBjb252ZXJ0U3RyaW5nYGAgc3RhdGljIG1ldGhvZApvZiBgYE15Q2xhc3NgYCwgcGFzc2luZyBpbiAidGVzdCIsIHRoZSBhY3R1YWwgdmFsdWUgb2YgdGhlIHBhcmFtZXRlciwgYW5kIGEgYGBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXJgYApvYmplY3QuCgpPcGVyYXRpb24gcGFyYW1ldGVyIGxvY2F0aW9uIGF0dHJpYnV0ZXMKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpUaGUgbG9jYXRpb24gZmllbGQgb2YgdG9wLWxldmVsIHBhcmFtZXRlcnMgY29udHJvbCBob3cgYSBwYXJhbWV0ZXIgaXMgc2VyaWFsaXplZCB3aGVuIGdlbmVyYXRpbmcgYSByZXF1ZXN0LgoKdXJpIGxvY2F0aW9uCl5eXl5eXl5eXl5eXgoKUGFyYW1ldGVycyBhcmUgaW5qZWN0ZWQgaW50byB0aGUgYGB1cmlgYCBhdHRyaWJ1dGUgb2YgdGhlIG9wZXJhdGlvbiB1c2luZwpgVVJJLXRlbXBsYXRlIGV4cGFuc2lvbiA8aHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjU3MD5gXy4KCi4uIGNvZGUtYmxvY2s6OiBqc29uCgogICAgewogICAgICAgICJvcGVyYXRpb25zIjogewogICAgICAgICAgICAidXJpVGVzdCI6IHsKICAgICAgICAgICAgICAgICJ1cmkiOiAiL3Rlc3Qve3Rlc3RWYWx1ZX0iLAogICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiB7CiAgICAgICAgICAgICAgICAgICAgInRlc3RWYWx1ZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0aW9uIjogInVyaSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgpxdWVyeSBsb2NhdGlvbgpeXl5eXl5eXl5eXl5eXgoKUGFyYW1ldGVycyBhcmUgaW5qZWN0ZWQgaW50byB0aGUgcXVlcnkgc3RyaW5nIG9mIGEgcmVxdWVzdC4gUXVlcnkgdmFsdWVzIGNhbiBiZSBuZXN0ZWQsIHdoaWNoIHdvdWxkIHJlc3VsdCBpbiBhIFBIUApzdHlsZSBuZXN0ZWQgcXVlcnkgc3RyaW5nLiBUaGUgbmFtZSBvZiBhIHBhcmFtZXRlciBpcyB0aGUgZGVmYXVsdCBuYW1lIG9mIHRoZSBxdWVyeSBzdHJpbmcgcGFyYW1ldGVyIGFkZGVkIHRvIHRoZQpyZXF1ZXN0LiBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYmVoYXZpb3IgYnkgc3BlY2lmeWluZyB0aGUgYGBzZW50QXNgYCBhdHRyaWJ1dGUgb24gdGhlIHBhcmFtZXRlci4KCi4uIGNvZGUtYmxvY2s6OiBqc29uCgogICAgewogICAgICAgICJvcGVyYXRpb25zIjogewogICAgICAgICAgICAicXVlcnlUZXN0IjogewogICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiB7CiAgICAgICAgICAgICAgICAgICAgInRlc3RWYWx1ZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0aW9uIjogInF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNlbnRBcyI6ICJ0ZXN0X3ZhbHVlIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCmhlYWRlciBsb2NhdGlvbgpeXl5eXl5eXl5eXl5eXl4KClBhcmFtZXRlcnMgYXJlIGluamVjdGVkIGFzIGhlYWRlcnMgb24gYW4gSFRUUCByZXF1ZXN0LiBUaGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyIGlzIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhlIGhlYWRlciBieQpkZWZhdWx0LiBZb3UgY2FuIGNoYW5nZSB0aGUgbmFtZSBvZiB0aGUgaGVhZGVyIGNyZWF0ZWQgYnkgdGhlIHBhcmFtZXRlciB1c2luZyB0aGUgYGBzZW50QXNgYCBhdHRyaWJ1dGUuCgpIZWFkZXJzIHRoYXQgYXJlIG9mIHR5cGUgYGBvYmplY3RgYCB3aWxsIGJlIGFkZGVkIGFzIG11bHRpcGxlIGhlYWRlcnMgdG8gYSByZXF1ZXN0IHVzaW5nIHRoZSBrZXkgb2YgdGhlIGlucHV0IGFycmF5IGFzCnRoZSBoZWFkZXIga2V5LiBTZXR0aW5nIGEgYGBzZW50QXNgYCBhdHRyaWJ1dGUgYWxvbmcgd2l0aCBhIHR5cGUgYGBvYmplY3RgYCB3aWxsIHVzZSB0aGUgdmFsdWUgb2YgYGBzZW50QXNgYCBhcyBhCnByZWZpeCBmb3IgZWFjaCBoZWFkZXIga2V5LgoKYm9keSBsb2NhdGlvbgpeXl5eXl5eXl5eXl5eCgpQYXJhbWV0ZXJzIGFyZSBpbmplY3RlZCBhcyB0aGUgYm9keSBvZiBhIHJlcXVlc3QuIFRoZSBpbnB1dCBvZiB0aGVzZSBwYXJhbWV0ZXJzIG1heSBiZSBhbnl0aGluZyB0aGF0IGNhbiBiZSBjYXN0IHRvIGEKc3RyaW5nIG9yIGEgYGBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5SW50ZXJmYWNlYGAgb2JqZWN0LgoKcG9zdEZpZWxkIGxvY2F0aW9uCl5eXl5eXl5eXl5eXl5eXl5eXgoKUGFyYW1ldGVycyBhcmUgaW5zZXJ0ZWQgYXMgUE9TVCBmaWVsZHMgaW4gYSByZXF1ZXN0LiBOZXN0ZWQgdmFsdWVzIG1heSBiZSBzdXBwbGllZCBhbmQgd2lsbCBiZSByZXByZXNlbnRlZCB1c2luZwpQSFAgc3R5bGUgbmVzdGVkIHF1ZXJ5IHN0cmluZ3MuIFRoZSBQT1NUIGZpZWxkIG5hbWUgaXMgdGhlIHNhbWUgYXMgdGhlIHBhcmFtZXRlciBuYW1lIGJ5IGRlZmF1bHQuIFlvdSBjYW4gdXNlIHRoZQpgYHNlbnRBc2BgIHBhcmFtZXRlciB0byBvdmVycmlkZSB0aGUgUE9TVCBmaWVsZCBuYW1lLgoKcG9zdEZpbGUgbG9jYXRpb24KXl5eXl5eXl5eXl5eXl5eXl4KClBhcmFtZXRlcnMgYXJlIGFkZGVkIGFzIFBPU1QgZmlsZXMuIEEgcG9zdEZpbGUgdmFsdWUgbWF5IGJlIGEgc3RyaW5nIHBvaW50aW5nIHRvIGEgbG9jYWwgZmlsZW5hbWUgb3IgYQpgYEd1enpsZVxIdHRwXE1lc3NhZ2VcUG9zdEZpbGVJbnRlcmZhY2VgYCBvYmplY3QuIFRoZSBuYW1lIG9mIHRoZSBQT1NUIGZpbGUgd2lsbCBiZSB0aGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyIGJ5CmRlZmF1bHQuIFlvdSBjYW4gdXNlIGEgY3VzdG9tIFBPU1QgZmlsZSBuYW1lIGJ5IHVzaW5nIHRoZSBgYHNlbnRBc2BgIGF0dHJpYnV0ZS4KClN1cHBvcnRzICJzdHJpbmciIGFuZCAiYXJyYXkiIHR5cGVzLgoKanNvbiBsb2NhdGlvbgpeXl5eXl5eXl5eXl5eCgpQYXJhbWV0ZXJzIGFyZSBhZGRlZCB0byB0aGUgYm9keSBvZiBhIHJlcXVlc3QgYXMgdG9wIGxldmVsIGtleXMgb2YgYSBKU09OIGRvY3VtZW50LiBOZXN0ZWQgdmFsdWVzIG1heSBiZSBzcGVjaWZpZWQsCndpdGggYW55IG51bWJlciBvZiBuZXN0ZWQgYGBHdXp6bGVcQ29tbW9uXFRvQXJyYXlJbnRlcmZhY2VgYCBvYmplY3RzLiBXaGVuIEpTT04gcGFyYW1ldGVycyBhcmUgc3BlY2lmaWVkLCB0aGUKYGBDb250ZW50LVR5cGVgYCBvZiB0aGUgcmVxdWVzdCB3aWxsIGNoYW5nZSB0byBgYGFwcGxpY2F0aW9uL2pzb25gYCBpZiBhIGBgQ29udGVudC1UeXBlYGAgaGFzIG5vdCBhbHJlYWR5IGJlZW4gc3BlY2lmaWVkCm9uIHRoZSByZXF1ZXN0LgoKeG1sIGxvY2F0aW9uCl5eXl5eXl5eXl5eXgoKUGFyYW1ldGVycyBhcmUgYWRkZWQgdG8gdGhlIGJvZHkgb2YgYSByZXF1ZXN0IGFzIHRvcCBsZXZlbCBub2RlcyBvZiBhbiBYTUwgZG9jdW1lbnQuIE5lc3RlZCB2YWx1ZXMgbWF5IGJlIHNwZWNpZmllZCwKd2l0aCBhbnkgbnVtYmVyIG9mIG5lc3RlZCBgYEd1enpsZVxDb21tb25cVG9BcnJheUludGVyZmFjZWBgIG9iamVjdHMuIFdoZW4gWE1MIHBhcmFtZXRlcnMgYXJlIHNwZWNpZmllZCwgdGhlCmBgQ29udGVudC1UeXBlYGAgb2YgdGhlIHJlcXVlc3Qgd2lsbCBjaGFuZ2UgdG8gYGBhcHBsaWNhdGlvbi94bWxgYCBpZiBhIGBgQ29udGVudC1UeXBlYGAgaGFzIG5vdCBhbHJlYWR5IGJlZW4gc3BlY2lmaWVkCm9uIHRoZSByZXF1ZXN0LgoKcmVzcG9uc2VCb2R5IGxvY2F0aW9uCl5eXl5eXl5eXl5eXl5eXl5eXl5eXgoKU3BlY2lmaWVzIHRoZSBFbnRpdHlCb2R5IG9mIGEgcmVzcG9uc2UuIFRoaXMgY2FuIGJlIHVzZWQgdG8gZG93bmxvYWQgdGhlIHJlc3BvbnNlIGJvZHkgdG8gYSBmaWxlIG9yIGEgY3VzdG9tIEd1enpsZQpFbnRpdHlCb2R5IG9iamVjdC4KCk5vIGxvY2F0aW9uCl5eXl5eXl5eXl5eCgpJZiBhIHBhcmFtZXRlciBoYXMgbm8gbG9jYXRpb24gYXR0cmlidXRlLCB0aGVuIHRoZSBwYXJhbWV0ZXIgaXMgc2ltcGx5IHVzZWQgYXMgYSBkYXRhIHZhbHVlLgoKT3RoZXIgbG9jYXRpb25zCl5eXl5eXl5eXl5eXl5eXgoKQ3VzdG9tIGxvY2F0aW9ucyBjYW4gYmUgcmVnaXN0ZXJlZCBhcyBuZXcgbG9jYXRpb25zIG9yIG92ZXJyaWRlIGRlZmF1bHQgbG9jYXRpb25zIGlmIG5lZWRlZC4KCi4uIF9tb2RlbC1zY2hlbWE6CgpNb2RlbCBTY2hlbWEKLS0tLS0tLS0tLS0tCgpNb2RlbHMgYXJlIHVzZWQgaW4gc2VydmljZSBkZXNjcmlwdGlvbnMgdG8gcHJvdmlkZSBnZW5lcmljIEpTT04gc2NoZW1hIGRlZmluaXRpb25zIHRoYXQgY2FuIGJlIGV4dGVuZGVkIGZyb20gb3IgdXNlZCBpbgpgYCRyZWZgYCBhdHRyaWJ1dGVzLiBNb2RlbHMgY2FuIGFsc28gYmUgcmVmZXJlbmNlZCBpbiBhIGBgcmVzcG9uc2VDbGFzc2BgIGF0dHJpYnV0ZSB0byBwcm92aWRlIHZhbHVhYmxlIG91dHB1dCB0byBhbgpvcGVyYXRpb24uIE1vZGVscyBhcmUgSlNPTiBzY2hlbWEgZG9jdW1lbnRzIGFuZCB1c2UgdGhlIGV4YWN0IHN5bnRheCBhbmQgYXR0cmlidXRlcyB1c2VkIGluIHBhcmFtZXRlcnMuCgpSZXNwb25zZSBNb2RlbHMKfn5+fn5+fn5+fn5+fn5+CgpSZXNwb25zZSBtb2RlbHMgZGVzY3JpYmUgaG93IGEgcmVzcG9uc2UgaXMgcGFyc2VkIGludG8gYSBgYEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsYGAgb2JqZWN0LiBSZXNwb25zZSBtb2RlbHMgYXJlCmFsd2F5cyBtb2RlbGVkIGFzIEpTT04gc2NoZW1hIG9iamVjdHMuIFdoZW4gYW4gSFRUUCByZXNwb25zZSBpcyBwYXJzZWQgdXNpbmcgYSByZXNwb25zZSBtb2RlbCwgdGhlIHJ1bGVzIHNwZWNpZmllZCBvbgplYWNoIHByb3BlcnR5IG9mIGEgcmVzcG9uc2UgbW9kZWwgd2lsbCB0cmFuc2xhdGUgMToxIGFzIGtleXMgaW4gYSBQSFAgYXNzb2NpYXRpdmUgYXJyYXkuIFdoZW4gYSBgYHNlbnRBc2BgIGF0dHJpYnV0ZSBpcwpmb3VuZCBpbiByZXNwb25zZSBtb2RlbCBwYXJhbWV0ZXJzLCB0aGUgdmFsdWUgcmV0cmlldmVkIGZyb20gdGhlIEhUVFAgcmVzcG9uc2UgaXMgcmV0cmlldmVkIHVzaW5nIHRoZSBgYHNlbnRBc2BgCnBhcmFtZXRlciBidXQgc3RvcmVkIGluIHRoZSByZXNwb25zZSBtb2RlbCB1c2luZyB0aGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyLgoKVGhlIGxvY2F0aW9uIGZpZWxkIG9mIHRvcC1sZXZlbCBwYXJhbWV0ZXJzIGluIGEgcmVzcG9uc2UgbW9kZWwgdGVsbCByZXNwb25zZSBwYXJzZXJzIGhvdyBkYXRhIGlzIHJldHJpZXZlZCBmcm9tIGEKcmVzcG9uc2UuCgpzdGF0dXNDb2RlIGxvY2F0aW9uCl5eXl5eXl5eXl5eXl5eXl5eXl4KClJldHJpZXZlcyB0aGUgc3RhdHVzIGNvZGUgb2YgdGhlIHJlc3BvbnNlLgoKcmVhc29uUGhyYXNlIGxvY2F0aW9uCl5eXl5eXl5eXl5eXl5eXl5eXl5eXgoKUmV0cmlldmVzIHRoZSByZWFzb24gcGhyYXNlIG9mIHRoZSByZXNwb25zZS4KCmhlYWRlciBsb2NhdGlvbgpeXl5eXl5eXl5eXl5eXl4KClJldHJpZXZlcyBhIGhlYWRlciBmcm9tIHRoZSBIVFRQIHJlc3BvbnNlLgoKYm9keSBsb2NhdGlvbgpeXl5eXl5eXl5eXl5eCgpSZXRyaWV2ZXMgdGhlIGJvZHkgb2YgYW4gSFRUUCByZXNwb25zZS4KCmpzb24gbG9jYXRpb24KXl5eXl5eXl5eXl5eXgoKUmV0cmlldmVzIGEgdG9wLWxldmVsIHBhcmFtZXRlciBmcm9tIGEgSlNPTiBkb2N1bWVudCBjb250YWluZWQgaW4gYW4gSFRUUCByZXNwb25zZS4KCllvdSBjYW4gdXNlIGBgYWRkaXRpb25hbFByb3BlcnRpZXNgYCBpZiB0aGUgSlNPTiBkb2N1bWVudCBpcyB3cmFwcGVkIGluIGFuIG91dGVyIGFycmF5LiBUaGlzIGFsbG93cyB5b3UgdG8gcGFyc2UgdGhlCmNvbnRlbnRzIG9mIGVhY2ggaXRlbSBpbiB0aGUgYXJyYXkgdXNpbmcgdGhlIHBhcnNpbmcgcnVsZXMgZGVmaW5lZCBpbiB0aGUgYGBhZGRpdGlvbmFsUHJvcGVydGllc2BgIHNjaGVtYS4KCnhtbCBsb2NhdGlvbgpeXl5eXl5eXl5eXl4KClJldHJpZXZlcyBhIHRvcC1sZXZlbCBub2RlIHZhbHVlIGZyb20gYW4gWE1MIGRvY3VtZW50IGNvbnRhaW5lZCBpbiBhbiBIVFRQIHJlc3BvbnNlLgoKT3RoZXIgbG9jYXRpb25zCl5eXl5eXl5eXl5eXl5eXgoKQ3VzdG9tIGxvY2F0aW9ucyBjYW4gYmUgcmVnaXN0ZXJlZCBhcyBuZXcgbG9jYXRpb25zIG9yIG92ZXJyaWRlIGRlZmF1bHQgbG9jYXRpb25zIGlmIG5lZWRlZC4KCkV4YW1wbGUgc2VydmljZSBkZXNjcmlwdGlvbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkxldCdzIHNheSB5b3UncmUgaW50ZXJhY3Rpbmcgd2l0aCBhIHdlYiBzZXJ2aWNlIGNhbGxlZCAnRm9vJyB0aGF0IGFsbG93cyBmb3IgdGhlIGZvbGxvd2luZyByb3V0ZXMgYW5kIG1ldGhvZHM6OgoKICAgIEdFVC9QT1NUICAgL3VzZXJzCiAgICBHRVQvREVMRVRFIC91c2Vycy86aWQKClRoZSBmb2xsb3dpbmcgSlNPTiBzZXJ2aWNlIGRlc2NyaXB0aW9uIGltcGxlbWVudHMgdGhpcyBzaW1wbGUgd2ViIHNlcnZpY2U6CgouLiBjbGFzczo6IG92ZXJmbG93LWhlaWdodC01MDBweAoKICAgIC4uIGNvZGUtYmxvY2s6OiBqc29uCgogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAiRm9vIiwKICAgICAgICAgICAgImFwaVZlcnNpb24iOiAiMjAxMi0xMC0xNCIsCiAgICAgICAgICAgICJiYXNlVXJsIjogImh0dHA6Ly9hcGkuZm9vLmNvbSIsCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGb28gaXMgYW4gQVBJIHRoYXQgYWxsb3dzIHlvdSB0byBCYXogQmFyIiwKICAgICAgICAgICAgIm9wZXJhdGlvbnMiOiB7CiAgICAgICAgICAgICAgICAiR2V0VXNlcnMiOiB7CiAgICAgICAgICAgICAgICAgICAgImh0dHBNZXRob2QiOiAiR0VUIiwKICAgICAgICAgICAgICAgICAgICAidXJpIjogIi91c2VycyIsCiAgICAgICAgICAgICAgICAgICAgInN1bW1hcnkiOiAiR2V0cyBhIGxpc3Qgb2YgdXNlcnMiLAogICAgICAgICAgICAgICAgICAgICJyZXNwb25zZUNsYXNzIjogIkdldFVzZXJzT3V0cHV0IgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJDcmVhdGVVc2VyIjogewogICAgICAgICAgICAgICAgICAgICJodHRwTWV0aG9kIjogIlBPU1QiLAogICAgICAgICAgICAgICAgICAgICJ1cmkiOiAiL3VzZXJzIiwKICAgICAgICAgICAgICAgICAgICAic3VtbWFyeSI6ICJDcmVhdGVzIGEgbmV3IHVzZXIiLAogICAgICAgICAgICAgICAgICAgICJyZXNwb25zZUNsYXNzIjogIkNyZWF0ZVVzZXJPdXRwdXQiLAogICAgICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdGlvbiI6ICJqc29uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImFnZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdGlvbiI6ICJqc29uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgIkdldFVzZXIiOiB7CiAgICAgICAgICAgICAgICAgICAgImh0dHBNZXRob2QiOiAiR0VUIiwKICAgICAgICAgICAgICAgICAgICAidXJpIjogIi91c2Vycy97aWR9IiwKICAgICAgICAgICAgICAgICAgICAic3VtbWFyeSI6ICJSZXRyaWV2ZXMgYSBzaW5nbGUgdXNlciIsCiAgICAgICAgICAgICAgICAgICAgInJlc3BvbnNlQ2xhc3MiOiAiR2V0VXNlck91dHB1dCIsCiAgICAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdGlvbiI6ICJ1cmkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVzZXIgdG8gcmV0cmlldmUgYnkgSUQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlcXVpcmVkIjogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJEZWxldGVVc2VyIjogewogICAgICAgICAgICAgICAgICAgICJodHRwTWV0aG9kIjogIkRFTEVURSIsCiAgICAgICAgICAgICAgICAgICAgInVyaSI6ICIvdXNlcnMve2lkfSIsCiAgICAgICAgICAgICAgICAgICAgInN1bW1hcnkiOiAiRGVsZXRlcyBhIHVzZXIiLAogICAgICAgICAgICAgICAgICAgICJyZXNwb25zZUNsYXNzIjogIkRlbGV0ZVVzZXJPdXRwdXQiLAogICAgICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogewogICAgICAgICAgICAgICAgICAgICAgICAiaWQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRpb24iOiAidXJpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVc2VyIHRvIGRlbGV0ZSBieSBJRCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtb2RlbHMiOiB7CiAgICAgICAgICAgICAgICAiR2V0VXNlcnNPdXRwdXQiOiB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRpb24iOiAianNvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhZ2UiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0aW9uIjogImpzb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgIkNyZWF0ZVVzZXJPdXRwdXQiOiB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImlkIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0aW9uIjogImpzb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRpb24iOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRpb24iOiAiaGVhZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZW50QXMiOiAiTG9jYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJHZXRVc2VyT3V0cHV0IjogewogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0aW9uIjogImpzb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiYWdlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0aW9uIjogImpzb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAiRGVsZXRlVXNlck91dHB1dCI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0aW9uIjogInN0YXR1c0NvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCklmIHlvdSBhdHRhY2ggdGhpcyBzZXJ2aWNlIGRlc2NyaXB0aW9uIHRvIGEgY2xpZW50LCB5b3Ugd291bGQgY29tcGxldGVseSBjb25maWd1cmUgdGhlIGNsaWVudCB0byBpbnRlcmFjdCB3aXRoIHRoZQpGb28gd2ViIHNlcnZpY2UgYW5kIHByb3ZpZGUgdmFsdWFibGUgcmVzcG9uc2UgbW9kZWxzIGZvciBlYWNoIG9wZXJhdGlvbi4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cU2VydmljZURlc2NyaXB0aW9uOwoKICAgICRkZXNjcmlwdGlvbiA9IFNlcnZpY2VEZXNjcmlwdGlvbjo6ZmFjdG9yeSgnL3BhdGgvdG8vY2xpZW50Lmpzb24nKTsKICAgICRjbGllbnQtPnNldERlc2NyaXB0aW9uKCRkZXNjcmlwdGlvbik7CgogICAgJGNvbW1hbmQgPSAkY2xpZW50LT5nZXRDb21tYW5kKCdEZWxldGVVc2VyJywgYXJyYXkoJ2lkJyA9PiAxMjMpKTsKICAgICRyZXNwb25zZU1vZGVsID0gJGNsaWVudC0+ZXhlY3V0ZSgkY29tbWFuZCk7CiAgICBlY2hvICRyZXNwb25zZU1vZGVsWydzdGF0dXMnXTsKCi4uIG5vdGU6OgoKICAgIFlvdSBjYW4gYWRkIHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uIHRvIHlvdXIgY2xpZW50J3MgZmFjdG9yeSBtZXRob2Qgb3IgY29uc3RydWN0b3IuCg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/webservice-client/using-the-service-builder.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT09PT0KVXNpbmcgYSBzZXJ2aWNlIGJ1aWxkZXIKPT09PT09PT09PT09PT09PT09PT09PT0KClRoZSBiZXN0IHdheSB0byBpbnN0YW50aWF0ZSBHdXp6bGUgd2ViIHNlcnZpY2UgY2xpZW50cyBpcyB0byBsZXQgR3V6emxlIGhhbmRsZSBidWlsZGluZyB0aGUgY2xpZW50cyBmb3IgeW91IHVzaW5nIGEKU2VydmljZUJ1aWxkZXIuIEEgU2VydmljZUJ1aWxkZXIgaXMgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIGNvbmNyZXRlIGNsaWVudCBvYmplY3RzIGJhc2VkIG9uIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MKYW5kIGhlbHBzIHRvIG1hbmFnZSBjcmVkZW50aWFscyBmb3IgZGlmZmVyZW50IGVudmlyb25tZW50cy4KCllvdSBkb24ndCBoYXZlIHRvIHVzZSBhIHNlcnZpY2UgYnVpbGRlciwgYnV0IHRoZXkgaGVscCB0byBkZWNvdXBsZSB5b3VyIGFwcGxpY2F0aW9uIGZyb20gY29uY3JldGUgY2xhc3NlcyBhbmQgaGVscCB0bwpzaGFyZSBjb25maWd1cmF0aW9uIGRhdGEgYWNyb3NzIG11bHRpcGxlIGNsaWVudHMuIENvbnNpZGVyIHRoZSBmb2xsb3dpbmcgZXhhbXBsZS4gSGVyZSB3ZSBhcmUgY3JlYXRpbmcgdHdvIGNsaWVudHMgdGhhdApyZXF1aXJlIHRoZSBzYW1lIEFQSSBwdWJsaWMga2V5IGFuZCBzZWNyZXQga2V5LiBUaGUgY2xpZW50cyBhcmUgY3JlYXRlZCB1c2luZyB0aGVpciBgYGZhY3RvcnkoKWBgIG1ldGhvZHMuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIE15U2VydmljZVxGb29DbGllbnQ7CiAgICB1c2UgTXlTZXJ2aWNlXEJhckNsaWVudDsKCiAgICAkZm9vID0gRm9vQ2xpZW50OjpmYWN0b3J5KGFycmF5KAogICAgICAgICdrZXknICAgID0+ICdhYmMnLAogICAgICAgICdzZWNyZXQnID0+ICcxMjMnLAogICAgICAgICdjdXN0b20nID0+ICdhbmQgYWJvdmUgYWxsJwogICAgKSk7CgogICAgJGJhciA9IEJhckNsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAna2V5JyAgICA9PiAnYWJjJywKICAgICAgICAnc2VjcmV0JyA9PiAnMTIzJywKICAgICAgICAnY3VzdG9tJyA9PiAnbGlzdGVuIHRvIG1lJwogICAgKSk7CgpUaGUgcmVkdW5kYW50IHNwZWNpZmljYXRpb24gb2YgdGhlIEFQSSBrZXlzIGNhbiBiZSByZW1vdmVkIHVzaW5nIGEgc2VydmljZSBidWlsZGVyLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBHdXp6bGVcU2VydmljZVxCdWlsZGVyXFNlcnZpY2VCdWlsZGVyOwoKICAgICRidWlsZGVyID0gU2VydmljZUJ1aWxkZXI6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgJ3NlcnZpY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2Fic3RyYWN0X2NsaWVudCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncGFyYW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAna2V5JyAgICA9PiAnYWJjJywKICAgICAgICAgICAgICAgICAgICAnc2VjcmV0JyA9PiAnMTIzJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAogICAgICAgICAgICAnZm9vJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdleHRlbmRzJyA9PiAnYWJzdHJhY3RfY2xpZW50JywKICAgICAgICAgICAgICAgICdjbGFzcycgICA9PiAnTXlTZXJ2aWNlXEZvb0NsaWVudCcsCiAgICAgICAgICAgICAgICAncGFyYW1zJyAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2N1c3RvbScgPT4gJ2FuZCBhYm92ZSBhbGwnCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdiYXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdhYnN0cmFjdF9jbGllbnQnLAogICAgICAgICAgICAgICAgJ2NsYXNzJyAgID0+ICdNeVNlcnZpY2VcRm9vQ2xpZW50JywKICAgICAgICAgICAgICAgICdwYXJhbXMnICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY3VzdG9tJyA9PiAnbGlzdGVuIHRvIG1lJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKQogICAgKSk7CgogICAgJGZvbyA9ICRidWlsZGVyLT5nZXQoJ2ZvbycpOwogICAgJGJhciA9ICRidWlsZGVyLT5nZXQoJ2JhcicpOwoKWW91IGNhbiBtYWtlIG1hbmFnaW5nIHlvdXIgQVBJIGtleXMgZXZlbiBlYXNpZXIgYnkgc2F2aW5nIHRoZSBzZXJ2aWNlIGJ1aWxkZXIgY29uZmlndXJhdGlvbiBpbiBhIEpTT04gZm9ybWF0IGluIGEKLmpzb24gZmlsZS4KCkNyZWF0aW5nIGEgc2VydmljZSBidWlsZGVyCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpBIFNlcnZpY2VCdWlsZGVyIGNhbiBzb3VyY2UgaW5mb3JtYXRpb24gZnJvbSBhbiBhcnJheSwgYW4gUEhQIGluY2x1ZGUgZmlsZSB0aGF0IHJldHVybnMgYW4gYXJyYXksIG9yIGEgSlNPTiBmaWxlLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBHdXp6bGVcU2VydmljZVxCdWlsZGVyXFNlcnZpY2VCdWlsZGVyOwoKICAgIC8vIFNvdXJjZSBzZXJ2aWNlIGRlZmluaXRpb25zIGZyb20gYSBKU09OIGZpbGUKICAgICRidWlsZGVyID0gU2VydmljZUJ1aWxkZXI6OmZhY3RvcnkoJ3NlcnZpY2VzLmpzb24nKTsKClNvdXJjaW5nIGRhdGEgZnJvbSBhbiBhcnJheQp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCkRhdGEgY2FuIGJlIHNvdXJjZSBmcm9tIGEgUEhQIGFycmF5LiBUaGUgYXJyYXkgbXVzdCBjb250YWluIGFuIGFzc29jaWF0aXZlIGBgc2VydmljZXNgYCBhcnJheSB0aGF0IG1hcHMgdGhlIG5hbWUgb2YgYQpjbGllbnQgdG8gdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gdXNlZCBieSB0aGUgc2VydmljZSBidWlsZGVyIHRvIGNyZWF0ZSB0aGUgY2xpZW50LiBDbGllbnRzIGFyZSBnaXZlbiBuYW1lcwp3aGljaCBhcmUgdXNlZCB0byBpZGVudGlmeSBob3cgYSBjbGllbnQgaXMgcmV0cmlldmVkIGZyb20gYSBzZXJ2aWNlIGJ1aWxkZXIuIFRoaXMgY2FuIGJlIHVzZWZ1bCBmb3IgdXNpbmcgbXVsdGlwbGUKYWNjb3VudHMgZm9yIHRoZSBzYW1lIHNlcnZpY2Ugb3IgY3JlYXRpbmcgZGV2ZWxvcG1lbnQgY2xpZW50cyB2cy4gcHJvZHVjdGlvbiBjbGllbnRzLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRzZXJ2aWNlcyA9IGFycmF5KAogICAgICAgICdpbmNsdWRlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICcvcGF0aC90by9vdGhlci9zZXJ2aWNlcy5qc29uJywKICAgICAgICAgICAgJy9wYXRoL3RvL290aGVyL3BocF9zZXJ2aWNlcy5waHAnCiAgICAgICAgKSwKICAgICAgICAnc2VydmljZXMnID0+IGFycmF5KAogICAgICAgICAgICAnYWJzdHJhY3QuZm9vJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdwYXJhbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd1c2VybmFtZScgPT4gJ2ZvbycsCiAgICAgICAgICAgICAgICAgICAgJ3Bhc3N3b3JkJyA9PiAnYmFyJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAogICAgICAgICAgICAnYmFyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdleHRlbmRzJyA9PiAnYWJzdHJhY3QuZm9vJywKICAgICAgICAgICAgICAgICdjbGFzcycgICA9PiAnTXlDbGllbnRDbGFzcycsCiAgICAgICAgICAgICAgICAncGFyYW1zJyAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ290aGVyJyA9PiAnYWJjJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKQogICAgKTsKCkEgc2VydmljZSBidWlsZGVyIGNvbmZpZ3VyYXRpb24gYXJyYXkgY29udGFpbnMgdHdvIHRvcC1sZXZlbCBhcnJheSBrZXlzOgoKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgS2V5ICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorPT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKfCBpbmNsdWRlcyAgIHwgQXJyYXkgb2YgcGF0aHMgdG8gSlNPTiBvciBQSFAgaW5jbHVkZSBmaWxlcyB0byBpbmNsdWRlIGluIHRoZSBjb25maWd1cmF0aW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IHNlcnZpY2VzICAgfCBBc3NvY2lhdGl2ZSBhcnJheSBvZiBkZWZpbmVkIHNlcnZpY2VzIHRoYXQgY2FuIGJlIGNyZWF0ZWQgYnkgdGhlIHNlcnZpY2UgYnVpbGRlci4gRWFjaCBzZXJ2aWNlIGNhbiAgICAgIHwKfCAgICAgICAgICAgIHwgY29udGFpbiB0aGUgZm9sbG93aW5nIGtleXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8ICAgICAgICAgICAgfCArLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rIHwKfCAgICAgICAgICAgIHwgfCBLZXkgICAgICAgIHwgRGVzY3JpcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB8CnwgICAgICAgICAgICB8ICs9PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsgfAp8ICAgICAgICAgICAgfCB8IGNsYXNzICAgICAgfCBUaGUgY29uY3JldGUgY2xhc3MgdG8gaW5zdGFudGlhdGUgdGhhdCBpbXBsZW1lbnRzIHRoZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHwKfCAgICAgICAgICAgIHwgfCAgICAgICAgICAgIHwgYGBHdXp6bGVcQ29tbW9uXEZyb21Db25maWdJbnRlcmZhY2VgYC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB8CnwgICAgICAgICAgICB8ICstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgfAp8ICAgICAgICAgICAgfCB8IGV4dGVuZHMgICAgfCBUaGUgbmFtZSBvZiBhIHByZXZpb3VzbHkgZGVmaW5lZCBzZXJ2aWNlIHRvIGV4dGVuZCBmcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHwKfCAgICAgICAgICAgIHwgKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyB8CnwgICAgICAgICAgICB8IHwgcGFyYW1zICAgICB8IEFzc29jaWF0aXZlIGFycmF5IG9mIHBhcmFtZXRlcnMgdG8gcGFzcyB0byB0aGUgZmFjdG9yeSBtZXRob2Qgb2YgdGhlIHNlcnZpY2UgaXQgaXMgICAgIHwgfAp8ICAgICAgICAgICAgfCB8ICAgICAgICAgICAgfCBpbnN0YW50aWF0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHwKfCAgICAgICAgICAgIHwgKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyB8CnwgICAgICAgICAgICB8IHwgYWxpYXMgICAgICB8IEFuIGFsaWFzIHRoYXQgY2FuIGJlIHVzZWQgaW4gYWRkaXRpb24gdG8gdGhlIGFycmF5IGtleSBmb3IgcmV0cmlldmluZyBhIGNsaWVudCBmcm9tICAgIHwgfAp8ICAgICAgICAgICAgfCB8ICAgICAgICAgICAgfCB0aGUgc2VydmljZSBidWlsZGVyLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHwKfCAgICAgICAgICAgIHwgKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyB8CistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwoKVGhlIGZpcnN0IGNsaWVudCBkZWZpbmVkLCBgYGFic3RyYWN0LmZvb2BgLCBpcyB1c2VkIGFzIGEgcGxhY2Vob2xkZXIgb2Ygc2hhcmVkIGNvbmZpZ3VyYXRpb24gdmFsdWVzLiBBbnkgc2VydmljZQpleHRlbmRpbmcgYWJzdHJhY3QuZm9vIHdpbGwgaW5oZXJpdCBpdHMgcGFyYW1zLiBBcyBhbiBleGFtcGxlLCB0aGlzIGNhbiBiZSB1c2VmdWwgd2hlbiBjbGllbnRzIHNoYXJlIHRoZSBzYW1lIHVzZXJuYW1lCmFuZCBwYXNzd29yZC4KClRoZSBuZXh0IGNsaWVudCwgYGBiYXJgYCwgZXh0ZW5kcyBmcm9tIGBgYWJzdHJhY3QuZm9vYGAgdXNpbmcgdGhlIGBgZXh0ZW5kc2BgIGF0dHJpYnV0ZSByZWZlcmVuY2luZyB0aGUgY2xpZW50IGZyb20Kd2hpY2ggdG8gZXh0ZW5kLiBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgY2FuIGJlIG1lcmdlZCBpbnRvIHRoZSBvcmlnaW5hbCBzZXJ2aWNlIGRlZmluaXRpb24gd2hlbiBleHRlbmRpbmcgYSBwYXJlbnQKc2VydmljZS4KCi4uIGltcG9ydGFudDo6CgogICAgRWFjaCBjbGllbnQgdGhhdCB5b3UgaW50ZW5kIHRvIGluc3RhbnRpYXRlIG11c3Qgc3BlY2lmeSBhIGBgY2xhc3NgYCBhdHRyaWJ1dGUgdGhhdCByZWZlcmVuY2VzIHRoZSBmdWxsIGNsYXNzIG5hbWUKICAgIG9mIHRoZSBjbGllbnQgYmVpbmcgY3JlYXRlZC4gVGhlIGNsYXNzIHJlZmVyZW5jZWQgaW4gdGhlIGBgY2xhc3NgYCBwYXJhbWV0ZXIgbXVzdCBpbXBsZW1lbnQgYSBzdGF0aWMgYGBmYWN0b3J5KClgYAogICAgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBhcnJheSBvciBgYEd1enpsZVxDb21tb25cQ29sbGVjdGlvbmBgIG9iamVjdCBhbmQgcmV0dXJucyBhbiBpbnN0YW50aWF0ZWQgb2JqZWN0LgoKU291cmNpbmcgZnJvbSBhIFBIUCBpbmNsdWRlCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKWW91IGNhbiBjcmVhdGUgc2VydmljZSBidWlsZGVyIGNvbmZpZ3VyYXRpb25zIHVzaW5nIGEgUEhQIGluY2x1ZGUgZmlsZS4gVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSB3aXNoIHRvIHRha2UKYWR2YW50YWdlIG9mIGFuIG9wY29kZSBjYWNoZSBsaWtlIEFQQyB0byBzcGVlZCB1cCB0aGUgcHJvY2VzcyBvZiBsb2FkaW5nIGFuZCBwcm9jZXNzaW5nIHRoZSBjb25maWd1cmF0aW9uLiBUaGUgUEhQCmluY2x1ZGUgZmlsZSBpcyB0aGUgc2FtZSBmb3JtYXQgYXMgYW4gYXJyYXksIGJ1dCB5b3Ugc2ltcGx5IGNyZWF0ZSBhIFBIUCBzY3JpcHQgdGhhdCByZXR1cm5zIGFuIGFycmF5IGFuZCBzYXZlIHRoZQpmaWxlIHdpdGggdGhlIC5waHAgZmlsZSBleHRlbnNpb24uCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgPD9waHAgcmV0dXJuIGFycmF5KCdzZXJ2aWNlcycgPT4gJy4uLicpOwogICAgLy8gU2F2ZWQgYXMgY29uZmlnLnBocAoKVGhpcyBjb25maWd1cmF0aW9uIGZpbGUgY2FuIHRoZW4gYmUgdXNlZCB3aXRoIGEgc2VydmljZSBidWlsZGVyLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRidWlsZGVyID0gU2VydmljZUJ1aWxkZXI6OmZhY3RvcnkoJy9wYXRoL3RvL2NvbmZpZy5waHAnKTsKClNvdXJjaW5nIGZyb20gYSBKU09OIGRvY3VtZW50Cn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpZb3UgY2FuIHVzZSBKU09OIGRvY3VtZW50cyB0byBzZXJpYWxpemUgeW91ciBzZXJ2aWNlIGRlc2NyaXB0aW9ucy4gVGhlIEpTT04gZm9ybWF0IHVzZXMgdGhlIGV4YWN0IHNhbWUgc3RydWN0dXJlIGFzCnRoZSBQSFAgYXJyYXkgc3ludGF4LCBidXQgaXQncyBqdXN0IHNlcmlhbGl6ZWQgdXNpbmcgSlNPTi4KCi4uIGNvZGUtYmxvY2s6OiBqYXZhc2NyaXB0CgogICAgewogICAgICAgICJpbmNsdWRlcyI6IFsiL3BhdGgvdG8vb3RoZXIvc2VydmljZXMuanNvbiIsICIvcGF0aC90by9vdGhlci9waHBfc2VydmljZXMucGhwIl0sCiAgICAgICAgInNlcnZpY2VzIjogewogICAgICAgICAgICAiYWJzdHJhY3QuZm9vIjogewogICAgICAgICAgICAgICAgInBhcmFtcyI6IHsKICAgICAgICAgICAgICAgICAgICAidXNlcm5hbWUiOiAiZm9vIiwKICAgICAgICAgICAgICAgICAgICAicGFzc3dvcmQiOiAiYmFyIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAiYmFyIjogewogICAgICAgICAgICAgICAgImV4dGVuZHMiOiAiYWJzdHJhY3QuZm9vIiwKICAgICAgICAgICAgICAgICJjbGFzcyI6ICJNeUNsaWVudENsYXNzIiwKICAgICAgICAgICAgICAgICJwYXJhbXMiOiB7CiAgICAgICAgICAgICAgICAgICAgIm90aGVyIjogImFiYyIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KClJlZmVyZW5jaW5nIG90aGVyIGNsaWVudHMgaW4gcGFyYW1ldGVycwp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCklmIG9uZSBvZiB5b3VyIGNsaWVudHMgZGVwZW5kcyBvbiBhbm90aGVyIGNsaWVudCBhcyBvbmUgb2YgaXRzIHBhcmFtZXRlcnMsIHlvdSBjYW4gcmVmZXJlbmNlIHRoYXQgY2xpZW50IGJ5IG5hbWUgYnkKZW5jbG9zaW5nIHRoZSBjbGllbnQncyByZWZlcmVuY2Uga2V5IGluIGBge31gYC4KCi4uIGNvZGUtYmxvY2s6OiBqYXZhc2NyaXB0CgogICAgewogICAgICAgICJzZXJ2aWNlcyI6IHsKICAgICAgICAgICAgInRva2VuIjogewogICAgICAgICAgICAgICAgImNsYXNzIjogIk15XFRva2VuXFRva2VuRmFjdG9yeSIsCiAgICAgICAgICAgICAgICAicGFyYW1zIjogewogICAgICAgICAgICAgICAgICAgICJhY2Nlc3Nfa2V5IjogInh5eiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImNsaWVudCI6IHsKICAgICAgICAgICAgICAgICJjbGFzcyI6ICJNeVxDbGllbnQiLAogICAgICAgICAgICAgICAgInBhcmFtcyI6IHsKICAgICAgICAgICAgICAgICAgICAidG9rZW5fY2xpZW50IjogInt0b2tlbn0iLAogICAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCldoZW4gYGBjbGllbnRgYCBpcyBjb25zdHJ1Y3RlZCBieSB0aGUgc2VydmljZSBidWlsZGVyLCB0aGUgc2VydmljZSBidWlsZGVyIHdpbGwgZmlyc3QgY3JlYXRlIHRoZSBgYHRva2VuYGAgc2VydmljZQphbmQgdGhlbiBpbmplY3QgdGhlIHRva2VuIHNlcnZpY2UgaW50byBgYGNsaWVudGBgJ3MgZmFjdG9yeSBtZXRob2QgaW4gdGhlIGBgdG9rZW5fY2xpZW50YGAgcGFyYW1ldGVyLgoKUmV0cmlldmluZyBjbGllbnRzIGZyb20gYSBzZXJ2aWNlIGJ1aWxkZXIKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkNsaWVudHMgYXJlIHJlZmVyZW5jZWQgdXNpbmcgYSBjdXN0b21pemFibGUgbmFtZSB5b3UgcHJvdmlkZSBpbiB5b3VyIHNlcnZpY2UgZGVmaW5pdGlvbi4gVGhlIFNlcnZpY2VCdWlsZGVyIGlzIGEgc29ydApvZiBtdWx0aXRvbiBvYmplY3QtLSBpdCB3aWxsIG9ubHkgaW5zdGFudGlhdGUgYSBjbGllbnQgb25jZSBhbmQgcmV0dXJuIHRoYXQgY2xpZW50IGZvciBzdWJzZXF1ZW50IHJldHJpZXZhbHMuIENsaWVudHMKYXJlIHJldHJpZXZlZCBieSBuYW1lICh0aGUgYXJyYXkga2V5IHVzZWQgaW4gdGhlIGNvbmZpZ3VyYXRpb24pIG9yIGJ5IHRoZSBgYGFsaWFzYGAgc2V0dGluZyBvZiBhIHNlcnZpY2UuCgpIZXJlJ3MgYW4gZXhhbXBsZSBvZiByZXRyaWV2aW5nIGEgY2xpZW50IGZyb20geW91ciBTZXJ2aWNlQnVpbGRlcjoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY2xpZW50ID0gJGJ1aWxkZXItPmdldCgnZm9vJyk7CgogICAgLy8gWW91IGNhbiBhbHNvIHVzZSB0aGUgU2VydmljZUJ1aWxkZXIgb2JqZWN0IGFzIGFuIGFycmF5CiAgICAkY2xpZW50ID0gJGJ1aWxkZXJbJ2ZvbyddOwoKQ3JlYXRpbmcgdGhyb3dhd2F5IGNsaWVudHMKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCllvdSBjYW4gZ2V0IGEgInRocm93YXdheSIgY2xpZW50IChhIGNsaWVudCB0aGF0IGlzIG5vdCBwZXJzaXN0ZWQgYnkgdGhlIFNlcnZpY2VCdWlsZGVyKSBieSBwYXNzaW5nIGBgdHJ1ZWBgIGluIHRoZQpzZWNvbmQgYXJndW1lbnQgb2YgYGBTZXJ2aWNlQnVpbGRlcjo6Z2V0KClgYC4gVGhpcyBhbGxvd3MgeW91IHRvIGNyZWF0ZSBhIGNsaWVudCB0aGF0IHdpbGwgbm90IGJlIHJldHVybmVkIGJ5IG90aGVyCnBhcnRzIG9mIHlvdXIgY29kZSB0aGF0IHVzZSB0aGUgc2VydmljZSBidWlsZGVyLiBJbnN0ZWFkIG9mIHBhc3NpbmcgYGB0cnVlYGAsIHlvdSBjYW4gcGFzcyBhbiBhcnJheSBvZiBjb25maWd1cmF0aW9uCnNldHRpbmdzIHRoYXQgd2lsbCBvdmVycmlkZSB0aGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBzcGVjaWZpZWQgaW4gdGhlIHNlcnZpY2UgYnVpbGRlci4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAvLyBHZXQgYSB0aHJvd2F3YXkgY2xpZW50IGFuZCBvdmVyd3JpdGUgdGhlICJjdXN0b20iIHNldHRpbmcgb2YgdGhlIGNsaWVudAogICAgJGZvbyA9ICRidWlsZGVyLT5nZXQoJ2ZvbycsIGFycmF5KAogICAgICAgICdjdXN0b20nID0+ICdpbiB0aGlzIHdvcmxkIHRoZXJlIGFyZSBydWxlcycKICAgICkpOwoKR2V0dGluZyByYXcgY29uZmlndXJhdGlvbiBzZXR0aW5ncwp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpZb3UgY2FuIGdldCB0aGUgcmF3IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgcHJvdmlkZWQgdG8gdGhlIHNlcnZpY2UgYnVpbGRlciBmb3IgYSBzcGVjaWZpYyBzZXJ2aWNlIHVzaW5nIHRoZQpgYGdldERhdGEoJG5hbWUpYGAgbWV0aG9kIG9mIGEgc2VydmljZSBidWlsZGVyLiBUaGlzIG1ldGhvZCB3aWxsIG51bGwgaWYgdGhlIHNlcnZpY2Ugd2FzIG5vdCBmb3VuZCBpbiB0aGUgc2VydmljZQpidWlsZGVyIG9yIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgaWYgdGhlIHNlcnZpY2Ugd2FzIGZvdW5kLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRkYXRhID0gJGJ1aWxkZXItPmdldERhdGEoJ2ZvbycpOwogICAgZWNobyAkZGF0YVsna2V5J10gLiAiXG4iOwogICAgZWNobyAkZGF0YVsnc2VjcmV0J10gLiAiXG4iOwogICAgZWNobyAkZGF0YVsnY3VzdG9tJ10gLiAiXG4iOwoKQWRkaW5nIGEgcGx1Z2luIHRvIGFsbCBjbGllbnRzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKWW91IGNhbiBhZGQgYSBwbHVnaW4gdG8gYWxsIGNsaWVudHMgY3JlYXRlZCBieSBhIHNlcnZpY2UgYnVpbGRlciB1c2luZyB0aGUgYGBhZGRHbG9iYWxQbHVnaW4oJHBsdWdpbilgYCBtZXRob2Qgb2YgYQpzZXJ2aWNlIGJ1aWxkZXIgYW5kIHBhc3NpbmcgYSBgYFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2VgYCBvYmplY3QuIFRoZSBzZXJ2aWNlIGJ1aWxkZXIKd2lsbCB0aGVuIGF0dGFjaCBlYWNoIGdsb2JhbCBwbHVnaW4gdG8gZXZlcnkgY2xpZW50IGFzIGl0IGlzIGNyZWF0ZWQuIFRoaXMgYWxsb3dzIHlvdSB0bywgZm9yIGV4YW1wbGUsIGFkZCBhIExvZ1BsdWdpbgp0byBldmVyeSByZXF1ZXN0IGNyZWF0ZWQgYnkgYSBzZXJ2aWNlIGJ1aWxkZXIgZm9yIGVhc3kgZGVidWdnaW5nLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBHdXp6bGVcUGx1Z2luXExvZ1xMb2dQbHVnaW47CgogICAgLy8gQWRkIGEgZGVidWcgbG9nIHBsdWdpbiB0byBldmVyeSBjbGllbnQgYXMgaXQgaXMgY3JlYXRlZAogICAgJGJ1aWxkZXItPmFkZEdsb2JhbFBsdWdpbihMb2dQbHVnaW46OmdldERlYnVnUGx1Z2luKCkpOwoKICAgICRmb28gPSAkYnVpbGRlci0+Z2V0KCdmb28nKTsKICAgICRmb28tPmdldCgnLycpLT5zZW5kKCk7CiAgICAvLyBTaG91bGQgb3V0cHV0IGFsbCBvZiB0aGUgZGF0YSBzZW50IG92ZXIgdGhlIHdpcmUKCi4uIF9zZXJ2aWNlLWJ1aWxkZXItZXZlbnRzOgoKRXZlbnRzIGVtaXR0ZWQgZnJvbSBhIHNlcnZpY2UgYnVpbGRlcgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpBIGBgR3V6emxlXFNlcnZpY2VcQnVpbGRlclxTZXJ2aWNlQnVpbGRlcmBgIG9iamVjdCBlbWl0cyB0aGUgZm9sbG93aW5nIGV2ZW50czoKCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IEV2ZW50IG5hbWUgICAgICAgICAgICAgICAgICAgIHwgRGVzY3JpcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRXZlbnQgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCnwgc2VydmljZV9idWlsZGVyLmNyZWF0ZV9jbGllbnQgfCBDYWxsZWQgd2hlbiBhIGNsaWVudCBpcyBjcmVhdGVkICAgICAgICAgICAgfCAqIGNsaWVudDogVGhlIGNyZWF0ZWQgY2xpZW50IG9iamVjdCAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXENvbW1vblxFdmVudDsKICAgIHVzZSBHdXp6bGVcU2VydmljZVxCdWlsZGVyXFNlcnZpY2VCdWlsZGVyOwoKICAgICRidWlsZGVyID0gU2VydmljZUJ1aWxkZXI6OmZhY3RvcnkoJy9wYXRoL3RvL2NvbmZpZy5qc29uJyk7CgogICAgLy8gQWRkIGFuIGV2ZW50IGxpc3RlbmVyIHRvIHByaW50IG91dCBlYWNoIGNsaWVudCBjbGllbnQgYXMgaXQgaXMgY3JlYXRlZAogICAgJGJ1aWxkZXItPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcignc2VydmljZV9idWlsZGVyLmNyZWF0ZV9jbGllbnQnLCBmdW5jdGlvbiAoRXZlbnQgJGUpIHsKICAgICAgICBlY2hvICdDbGllbnQgY3JlYXRlZDogJyAuIGdldF9jbGFzcygkZVsnY2xpZW50J10pIC4gIlxuIjsKICAgIH0pOwoKICAgICRmb28gPSAkYnVpbGRlci0+Z2V0KCdmb28nKTsKICAgIC8vIFNob3VsZCBvdXRwdXQgdGhlIGNsYXNzIHVzZWQgZm9yIHRoZSAiZm9vIiBjbGllbnQK]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/webservice-client/webservice-client.rst</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PT09PT09PT09PT09PT09PT09PT09PQpUaGUgd2ViIHNlcnZpY2UgY2xpZW50Cj09PT09PT09PT09PT09PT09PT09PT0KClRoZSBgYEd1enpsZVxTZXJ2aWNlYGAgbmFtZXNwYWNlIGNvbnRhaW5zIHZhcmlvdXMgYWJzdHJhY3Rpb25zIHRoYXQgaGVscCB0byBtYWtlIGl0IGVhc2llciB0byBpbnRlcmFjdCB3aXRoIGEgd2ViCnNlcnZpY2UgQVBJLCBpbmNsdWRpbmcgY29tbWFuZHMsIHNlcnZpY2UgZGVzY3JpcHRpb25zLCBhbmQgcmVzb3VyY2UgaXRlcmF0b3JzLgoKSW4gdGhpcyBjaGFwdGVyLCB3ZSdsbCBidWlsZCBhIHNpbXBsZSBgVHdpdHRlciBBUEkgY2xpZW50IDxodHRwczovL2Rldi50d2l0dGVyLmNvbS9kb2NzL2FwaS8xLjE+YF8uCgpDcmVhdGluZyBhIGNsaWVudAo9PT09PT09PT09PT09PT09PQoKQSBjbGFzcyB0aGF0IGV4dGVuZHMgZnJvbSBgYEd1enpsZVxTZXJ2aWNlXENsaWVudGBgIG9yIGltcGxlbWVudHMgYGBHdXp6bGVcU2VydmljZVxDbGllbnRJbnRlcmZhY2VgYCBtdXN0IGltcGxlbWVudCBhCmBgZmFjdG9yeSgpYGAgbWV0aG9kIGluIG9yZGVyIHRvIGJlIHVzZWQgd2l0aCBhIDpkb2M6YHNlcnZpY2UgYnVpbGRlciA8dXNpbmctdGhlLXNlcnZpY2UtYnVpbGRlcj5gLgoKRmFjdG9yeSBtZXRob2QKLS0tLS0tLS0tLS0tLS0KCllvdSBjYW4gdXNlIHRoZSBgYGZhY3RvcnkoKWBgIG1ldGhvZCBvZiBhIGNsaWVudCBkaXJlY3RseSBpZiB5b3UgZG8gbm90IG5lZWQgYSBzZXJ2aWNlIGJ1aWxkZXIuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgdXNlIG10ZG93bGluZ1xUd2l0dGVyQ2xpZW50OwoKICAgIC8vIENyZWF0ZSBhIGNsaWVudCBhbmQgcGFzcyBhbiBhcnJheSBvZiBjb25maWd1cmF0aW9uIGRhdGEKICAgICR0d2l0dGVyID0gVHdpdHRlckNsaWVudDo6ZmFjdG9yeShhcnJheSgKICAgICAgICAnY29uc3VtZXJfa2V5JyAgICA9PiAnKioqKicsCiAgICAgICAgJ2NvbnN1bWVyX3NlY3JldCcgPT4gJyoqKionLAogICAgICAgICd0b2tlbicgICAgICAgICAgID0+ICcqKioqJywKICAgICAgICAndG9rZW5fc2VjcmV0JyAgICA9PiAnKioqKicKICAgICkpOwoKLi4gbm90ZTo6CgogICAgSWYgeW91J2QgbGlrZSB0byBmb2xsb3cgYWxvbmcsIGhlcmUncyBob3cgdG8gZ2V0IHlvdXIgVHdpdHRlciBBUEkgY3JlZGVudGlhbHM6CgogICAgMS4gVmlzaXQgaHR0cHM6Ly9kZXYudHdpdHRlci5jb20vYXBwcwogICAgMi4gQ2xpY2sgb24gYW4gYXBwbGljYXRpb24gdGhhdCB5b3UndmUgY3JlYXRlZAogICAgMy4gQ2xpY2sgb24gdGhlICJPQXV0aCB0b29sIiB0YWIKICAgIDQuIENvcHkgYWxsIG9mIHRoZSBzZXR0aW5ncyB1bmRlciAiT0F1dGggU2V0dGluZ3MiCgpJbXBsZW1lbnRpbmcgYSBmYWN0b3J5IG1ldGhvZAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKQ3JlYXRpbmcgYSBjbGllbnQgYW5kIGl0cyBmYWN0b3J5IG1ldGhvZCBpcyBwcmV0dHkgc2ltcGxlLiBZb3UganVzdCBuZWVkIHRvIGltcGxlbWVudCBgYEd1enpsZVxTZXJ2aWNlXENsaWVudEludGVyZmFjZWBgCm9yIGV4dGVuZCBmcm9tIGBgR3V6emxlXFNlcnZpY2VcQ2xpZW50YGAuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgbmFtZXNwYWNlIG10ZG93bGluZzsKCiAgICB1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwogICAgdXNlIEd1enpsZVxQbHVnaW5cT2F1dGhcT2F1dGhQbHVnaW47CiAgICB1c2UgR3V6emxlXFNlcnZpY2VcQ2xpZW50OwogICAgdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFNlcnZpY2VEZXNjcmlwdGlvbjsKCiAgICAvKioKICAgICAqIEEgc2ltcGxlIFR3aXR0ZXIgQVBJIGNsaWVudAogICAgICovCiAgICBjbGFzcyBUd2l0dGVyQ2xpZW50IGV4dGVuZHMgQ2xpZW50CiAgICB7CiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgICAgIHsKICAgICAgICAgICAgLy8gUHJvdmlkZSBhIGhhc2ggb2YgZGVmYXVsdCBjbGllbnQgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgICAgICAgICRkZWZhdWx0ID0gYXJyYXkoJ2Jhc2VfdXJsJyA9PiAnaHR0cHM6Ly9hcGkudHdpdHRlci5jb20vMS4xJyk7CgogICAgICAgICAgICAvLyBUaGUgZm9sbG93aW5nIHZhbHVlcyBhcmUgcmVxdWlyZWQgd2hlbiBjcmVhdGluZyB0aGUgY2xpZW50CiAgICAgICAgICAgICRyZXF1aXJlZCA9IGFycmF5KAogICAgICAgICAgICAgICAgJ2Jhc2VfdXJsJywKICAgICAgICAgICAgICAgICdjb25zdW1lcl9rZXknLAogICAgICAgICAgICAgICAgJ2NvbnN1bWVyX3NlY3JldCcsCiAgICAgICAgICAgICAgICAndG9rZW4nLAogICAgICAgICAgICAgICAgJ3Rva2VuX3NlY3JldCcKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIC8vIE1lcmdlIGluIGRlZmF1bHQgc2V0dGluZ3MgYW5kIHZhbGlkYXRlIHRoZSBjb25maWcKICAgICAgICAgICAgJGNvbmZpZyA9IENvbGxlY3Rpb246OmZyb21Db25maWcoJGNvbmZpZywgJGRlZmF1bHQsICRyZXF1aXJlZCk7CgogICAgICAgICAgICAvLyBDcmVhdGUgYSBuZXcgVHdpdHRlciBjbGllbnQKICAgICAgICAgICAgJGNsaWVudCA9IG5ldyBzZWxmKCRjb25maWctPmdldCgnYmFzZV91cmwnKSwgJGNvbmZpZyk7CgogICAgICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgT2F1dGhQbHVnaW4gaXMgYXR0YWNoZWQgdG8gdGhlIGNsaWVudAogICAgICAgICAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKG5ldyBPYXV0aFBsdWdpbigkY29uZmlnLT50b0FycmF5KCkpKTsKCiAgICAgICAgICAgIHJldHVybiAkY2xpZW50OwogICAgICAgIH0KICAgIH0KClNlcnZpY2UgQnVpbGRlcgotLS0tLS0tLS0tLS0tLS0KCkEgc2VydmljZSBidWlsZGVyIGlzIHVzZWQgdG8gZWFzaWx5IGNyZWF0ZSB3ZWIgc2VydmljZSBjbGllbnRzLCBwcm92aWRlcyBhIHNpbXBsZSBjb25maWd1cmF0aW9uIGRyaXZlbiBhcHByb2FjaCB0bwpjcmVhdGluZyBjbGllbnRzLCBhbmQgYWxsb3dzIHlvdSB0byBzaGFyZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIGFjcm9zcyBtdWx0aXBsZSBjbGllbnRzLiBZb3UgY2FuIGZpbmQgb3V0IG1vcmUgYWJvdXQKR3V6emxlJ3Mgc2VydmljZSBidWlsZGVyIGluIDpkb2M6YHVzaW5nLXRoZS1zZXJ2aWNlLWJ1aWxkZXJgLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIHVzZSBHdXp6bGVcU2VydmljZVxCdWlsZGVyXFNlcnZpY2VCdWlsZGVyOwoKICAgIC8vIENyZWF0ZSBhIHNlcnZpY2UgYnVpbGRlciBhbmQgcHJvdmlkZSBjbGllbnQgY29uZmlndXJhdGlvbiBkYXRhCiAgICAkYnVpbGRlciA9IFNlcnZpY2VCdWlsZGVyOjpmYWN0b3J5KCcvcGF0aC90by9jbGllbnRfY29uZmlnLmpzb24nKTsKCiAgICAvLyBHZXQgdGhlIGNsaWVudCBmcm9tIHRoZSBzZXJ2aWNlIGJ1aWxkZXIgYnkgbmFtZQogICAgJHR3aXR0ZXIgPSAkYnVpbGRlci0+Z2V0KCd0d2l0dGVyJyk7CgpUaGUgYWJvdmUgZXhhbXBsZSBhc3N1bWVzIHlvdSBoYXZlIEpTT04gZGF0YSBzaW1pbGFyIHRvIHRoZSBmb2xsb3dpbmcgc3RvcmVkIGluICIvcGF0aC90by9jbGllbnRfY29uZmlnLmpzb24iOgoKLi4gY29kZS1ibG9jazo6IGpzb24KCiAgICB7CiAgICAgICAgInNlcnZpY2VzIjogewogICAgICAgICAgICAidHdpdHRlciI6IHsKICAgICAgICAgICAgICAgICJjbGFzcyI6ICJtdGRvd2xpbmdcXFR3aXR0ZXJDbGllbnQiLAogICAgICAgICAgICAgICAgInBhcmFtcyI6IHsKICAgICAgICAgICAgICAgICAgICAiY29uc3VtZXJfa2V5IjogIioqKioiLAogICAgICAgICAgICAgICAgICAgICJjb25zdW1lcl9zZWNyZXQiOiAiKioqKiIsCiAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIioqKioiLAogICAgICAgICAgICAgICAgICAgICJ0b2tlbl9zZWNyZXQiOiAiKioqKiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCi4uIG5vdGU6OgoKICAgIEEgc2VydmljZSBidWlsZGVyIGJlY29tZXMgbXVjaCBtb3JlIHZhbHVhYmxlIHdoZW4gdXNpbmcgbXVsdGlwbGUgd2ViIHNlcnZpY2UgY2xpZW50cyBpbiBhIHNpbmdsZSBhcHBsaWNhdGlvbiBvcgogICAgaWYgeW91IG5lZWQgdG8gdXRpbGl6ZSB0aGUgc2FtZSBjbGllbnQgd2l0aCB2YXJ5aW5nIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgKGUuZy4gbXVsdGlwbGUgYWNjb3VudHMpLgoKQ29tbWFuZHMKPT09PT09PT0KCkNvbW1hbmRzIGFyZSBhIGNvbmNlcHQgaW4gR3V6emxlIHRoYXQgaGVscHMgdG8gaGlkZSB0aGUgdW5kZXJseWluZyBpbXBsZW1lbnRhdGlvbiBvZiBhbiBBUEkgYnkgcHJvdmlkaW5nIGFuIGVhc3kgdG8gdXNlCnBhcmFtZXRlciBkcml2ZW4gb2JqZWN0IGZvciBlYWNoIGFjdGlvbiBvZiBhbiBBUEkuIEEgY29tbWFuZCBpcyByZXNwb25zaWJsZSBmb3IgYWNjZXB0aW5nIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24KcGFyYW1ldGVycywgc2VyaWFsaXppbmcgYW4gSFRUUCByZXF1ZXN0LCBhbmQgcGFyc2luZyBhbiBIVFRQIHJlc3BvbnNlLiBGb2xsb3dpbmcgdGhlCmBjb21tYW5kIHBhdHRlcm4gPGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ29tbWFuZF9wYXR0ZXJuPmBfLCBjb21tYW5kcyBpbiBHdXp6bGUgb2ZmZXIgYSBncmVhdGVyIGxldmVsIG9mCmZsZXhpYmlsaXR5IHdoZW4gaW1wbGVtZW50aW5nIGFuZCB1dGlsaXppbmcgYSB3ZWIgc2VydmljZSBjbGllbnQuCgpFeGVjdXRpbmcgY29tbWFuZHMKLS0tLS0tLS0tLS0tLS0tLS0tCgpZb3UgbXVzdCBleHBsaWNpdGx5IGV4ZWN1dGUgYSBjb21tYW5kIGFmdGVyIGNyZWF0aW5nIGEgY29tbWFuZCB1c2luZyB0aGUgYGBnZXRDb21tYW5kKClgYCBtZXRob2QuIEEgY29tbWFuZCBoYXMgYW4KYGBleGVjdXRlKClgYCBtZXRob2QgdGhhdCBtYXkgYmUgY2FsbGVkLCBvciB5b3UgY2FuIHVzZSB0aGUgYGBleGVjdXRlKClgYCBtZXRob2Qgb2YgYSBjbGllbnQgb2JqZWN0IGFuZCBwYXNzIGluIHRoZQpjb21tYW5kIG9iamVjdC4gQ2FsbGluZyBlaXRoZXIgb2YgdGhlc2UgZXhlY3V0ZSBtZXRob2RzIHdpbGwgcmV0dXJuIHRoZSByZXN1bHQgdmFsdWUgb2YgdGhlIGNvbW1hbmQuIFRoZSByZXN1bHQgdmFsdWUgaXMKdGhlIHJlc3VsdCBvZiBwYXJzaW5nIHRoZSBIVFRQIHJlc3BvbnNlIHdpdGggdGhlIGBgcHJvY2VzcygpYGAgbWV0aG9kLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIEdldCBhIGNvbW1hbmQgZnJvbSB0aGUgY2xpZW50IGFuZCBwYXNzIGFuIGFycmF5IG9mIHBhcmFtZXRlcnMKICAgICRjb21tYW5kID0gJHR3aXR0ZXItPmdldENvbW1hbmQoJ2dldE1lbnRpb25zJywgYXJyYXkoCiAgICAgICAgJ2NvdW50JyA9PiA1CiAgICApKTsKCiAgICAvLyBPdGhlciBwYXJhbWV0ZXJzIGNhbiBiZSBzZXQgb24gdGhlIGNvbW1hbmQgYWZ0ZXIgaXQgaXMgY3JlYXRlZAogICAgJGNvbW1hbmRbJ3RyaW1fdXNlciddID0gZmFsc2U7CgogICAgLy8gRXhlY3V0ZSB0aGUgY29tbWFuZCB1c2luZyB0aGUgY29tbWFuZCBvYmplY3QuCiAgICAvLyBUaGUgcmVzdWx0IHZhbHVlIGNvbnRhaW5zIGFuIGFycmF5IG9mIEpTT04gZGF0YSBmcm9tIHRoZSByZXNwb25zZQogICAgJHJlc3VsdCA9ICRjb21tYW5kLT5leGVjdXRlKCk7CgogICAgLy8gWW91IGNhbiByZXRyaWV2ZSB0aGUgcmVzdWx0IG9mIHRoZSBjb21tYW5kIGxhdGVyIHRvbwogICAgJHJlc3VsdCA9ICRjb21tYW5kLT5nZXRSZXN1bHQoKS4KCkNvbW1hbmQgb2JqZWN0IGFsc28gY29udGFpbnMgbWV0aG9kcyB0aGF0IGFsbG93IHlvdSB0byBpbnNwZWN0IHRoZSBIVFRQIHJlcXVlc3QgYW5kIHJlc3BvbnNlIHRoYXQgd2FzIHV0aWxpemVkIHdpdGgKdGhlIGNvbW1hbmQuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+Z2V0UmVxdWVzdCgpOwogICAgJHJlc3BvbnNlID0gJGNvbW1hbmQtPmdldFJlc3BvbnNlKCk7CgouLiBub3RlOjoKCiAgICBUaGUgZm9ybWF0IGFuZCBub3RhdGlvbiB1c2VkIHRvIHJldHJpZXZlIGNvbW1hbmRzIGZyb20gYSBjbGllbnQgY2FuIGJlIGN1c3RvbWl6ZWQgYnkgaW5qZWN0aW5nIGEgY3VzdG9tIGNvbW1hbmQKICAgIGZhY3RvcnksIGBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxGYWN0b3J5XEZhY3RvcnlJbnRlcmZhY2VgYCwgb24gdGhlIGNsaWVudCB1c2luZyBgYCRjbGllbnQtPnNldENvbW1hbmRGYWN0b3J5KClgYC4KCkV4ZWN1dGluZyB3aXRoIG1hZ2ljIG1ldGhvZHMKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKV2hlbiB1c2luZyBtZXRob2QgbWlzc2luZyBtYWdpYyBtZXRob2RzIHdpdGggYSBjb21tYW5kLCB0aGUgY29tbWFuZCB3aWxsIGJlIGV4ZWN1dGVkIHJpZ2h0IGF3YXkgYW5kIHRoZSByZXN1bHQgb2YgdGhlCmNvbW1hbmQgaXMgcmV0dXJuZWQuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgJGpzb25EYXRhID0gJHR3aXR0ZXItPmdldE1lbnRpb25zKGFycmF5KAogICAgICAgICdjb3VudCcgICAgID0+IDUsCiAgICAgICAgJ3RyaW1fdXNlcicgPT4gdHJ1ZQogICAgKSk7CgpDcmVhdGluZyBjb21tYW5kcwotLS0tLS0tLS0tLS0tLS0tLQoKQ29tbWFuZHMgYXJlIGNyZWF0ZWQgdXNpbmcgZWl0aGVyIHRoZSBgYGdldENvbW1hbmQoKWBgIG1ldGhvZCBvZiBhIGNsaWVudCBvciBhIG1hZ2ljIG1pc3NpbmcgbWV0aG9kIG9mIGEgY2xpZW50LiBVc2luZwp0aGUgYGBnZXRDb21tYW5kKClgYCBtZXRob2QgYWxsb3dzIHlvdSB0byBjcmVhdGUgYSBjb21tYW5kIHdpdGhvdXQgZXhlY3V0aW5nIGl0LCBhbGxvd2luZyBmb3IgY3VzdG9taXphdGlvbiBvZiB0aGUKY29tbWFuZCBvciB0aGUgcmVxdWVzdCBzZXJpYWxpemVkIGJ5IHRoZSBjb21tYW5kLgoKV2hlbiBhIGNsaWVudCBhdHRlbXB0cyB0byBjcmVhdGUgYSBjb21tYW5kLCBpdCB1c2VzIHRoZSBjbGllbnQncyBgYEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcRmFjdG9yeVxGYWN0b3J5SW50ZXJmYWNlYGAuCkJ5IGRlZmF1bHQsIEd1enpsZSB3aWxsIHV0aWxpemUgYSBjb21tYW5kIGZhY3RvcnkgdGhhdCBmaXJzdCBsb29rcyBmb3IgYSBjb25jcmV0ZSBjbGFzcyBmb3IgYSBwYXJ0aWN1bGFyIGNvbW1hbmQKKGNvbmNyZXRlIGNvbW1hbmRzKSBmb2xsb3dlZCBieSBhIGNvbW1hbmQgZGVmaW5lZCBieSBhIHNlcnZpY2UgZGVzY3JpcHRpb24gKG9wZXJhdGlvbiBjb21tYW5kcykuIFdlJ2xsIGxlYXJuIG1vcmUgYWJvdXQKY29uY3JldGUgY29tbWFuZHMgYW5kIG9wZXJhdGlvbiBjb21tYW5kcyBsYXRlciBpbiB0aGlzIGNoYXB0ZXIuCgouLiBjb2RlLWJsb2NrOjogcGhwCgogICAgLy8gR2V0IGEgY29tbWFuZCBmcm9tIHRoZSB0d2l0dGVyIGNsaWVudC4KICAgICRjb21tYW5kID0gJHR3aXR0ZXItPmdldENvbW1hbmQoJ2dldE1lbnRpb25zJyk7CiAgICAkcmVzdWx0ID0gJGNvbW1hbmQtPmV4ZWN1dGUoKTsKClVubGVzcyB5b3UndmUgc2tpcHBlZCBhaGVhZCwgcnVubmluZyB0aGUgYWJvdmUgY29kZSB3aWxsIHRocm93IGFuIGV4Y2VwdGlvbi4KCiAgICBQSFAgRmF0YWwgZXJyb3I6ICBVbmNhdWdodCBleGNlcHRpb24gJ0d1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicgd2l0aCBtZXNzYWdlCiAgICAnQ29tbWFuZCB3YXMgbm90IGZvdW5kIG1hdGNoaW5nIGdldE1lbnRpb25zJwoKVGhpcyBleGNlcHRpb24gd2FzIHRocm93biBiZWNhdXNlIHRoZSAiZ2V0TWVudGlvbnMiIGNvbW1hbmQgaGFzIG5vdCB5ZXQgYmVlbiBpbXBsZW1lbnRlZC4gTGV0J3MgaW1wbGVtZW50IG9uZSBub3cuCgpDb25jcmV0ZSBjb21tYW5kcwp+fn5+fn5+fn5+fn5+fn5+fgoKQ29tbWFuZHMgY2FuIGJlIGNyZWF0ZWQgaW4gb25lIG9mIHR3byB3YXlzOiBjcmVhdGUgYSBjb25jcmV0ZSBjb21tYW5kIGNsYXNzIHRoYXQgZXh0ZW5kcwpgYEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQWJzdHJhY3RDb21tYW5kYGAgb3IKOmRvYzpgY3JlYXRlIGFuIE9wZXJhdGlvbkNvbW1hbmQgYmFzZWQgb24gYSBzZXJ2aWNlIGRlc2NyaXB0aW9uIDxndXp6bGUtc2VydmljZS1kZXNjcmlwdGlvbnM+YC4gVGhlIHJlY29tbWVuZGVkCmFwcHJvYWNoIGlzIHRvIHVzZSBhIHNlcnZpY2UgZGVzY3JpcHRpb24gdG8gZGVmaW5lIHlvdXIgd2ViIHNlcnZpY2UsIGJ1dCB5b3UgY2FuIHVzZSBjb25jcmV0ZSBjb21tYW5kcyB3aGVuIGN1c3RvbQpsb2dpYyBtdXN0IGJlIGltcGxlbWVudGVkIGZvciBtYXJzaGFsaW5nIG9yIHVubWFyc2hhbGluZyBhIEhUVFAgbWVzc2FnZS4KCkNvbW1hbmRzIGFyZSB0aGUgbWV0aG9kIGluIHdoaWNoIHlvdSBhYnN0cmFjdCBhd2F5IHRoZSB1bmRlcmx5aW5nIGZvcm1hdCBvZiB0aGUgcmVxdWVzdHMgdGhhdCBuZWVkIHRvIGJlIHNlbnQgdG8gdGFrZQphY3Rpb24gb24gYSB3ZWIgc2VydmljZS4gQ29tbWFuZHMgaW4gR3V6emxlIGFyZSBtZWFudCB0byBiZSBidWlsdCBieSBleGVjdXRpbmcgYSBzZXJpZXMgb2Ygc2V0dGVyIG1ldGhvZHMgb24gYSBjb21tYW5kCm9iamVjdC4gQ29tbWFuZHMgYXJlIG9ubHkgdmFsaWRhdGVkIHJpZ2h0IGJlZm9yZSB0aGV5IGFyZSBleGVjdXRlZC4gQSBgYEd1enpsZVxTZXJ2aWNlXENsaWVudGBgIG9iamVjdCBpcyByZXNwb25zaWJsZQpmb3IgZXhlY3V0aW5nIGNvbW1hbmRzLiBDb21tYW5kcyBjcmVhdGVkIGZvciB5b3VyIHdlYiBzZXJ2aWNlIG11c3QgaW1wbGVtZW50CmBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlYGAsIGJ1dCBpdCdzIGVhc2llciB0byBleHRlbmQgdGhlIGBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBYnN0cmFjdENvbW1hbmRgYApjbGFzcywgaW1wbGVtZW50IHRoZSBgYGJ1aWxkKClgYCBtZXRob2QsIGFuZCBvcHRpb25hbGx5IGltcGxlbWVudCB0aGUgYGBwcm9jZXNzKClgYCBtZXRob2QuCgpTZXJpYWxpemluZyByZXF1ZXN0cwpeXl5eXl5eXl5eXl5eXl5eXl5eXgoKVGhlIGBgYnVpbGQoKWBgIG1ldGhvZCBvZiBhIGNvbW1hbmQgaXMgcmVzcG9uc2libGUgZm9yIHVzaW5nIHRoZSBhcmd1bWVudHMgb2YgdGhlIGNvbW1hbmQgdG8gYnVpbGQgYW5kIHNlcmlhbGl6ZSBhCkhUVFAgcmVxdWVzdCBhbmQgc2V0IHRoZSByZXF1ZXN0IG9uIHRoZSBgYCRyZXF1ZXN0YGAgcHJvcGVydHkgb2YgdGhlIGNvbW1hbmQgb2JqZWN0LiBUaGlzIHN0ZXAgaXMgdXN1YWxseSB0YWtlbiBjYXJlIG9mCmZvciB5b3Ugd2hlbiB1c2luZyBhIHNlcnZpY2UgZGVzY3JpcHRpb24gZHJpdmVuIGNvbW1hbmQgdGhhdCB1c2VzIHRoZSBkZWZhdWx0CmBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxPcGVyYXRpb25Db21tYW5kYGAuIFlvdSBtYXkgd2lzaCB0byBpbXBsZW1lbnQgdGhlIHByb2Nlc3MgbWV0aG9kIHlvdXJzZWxmIHdoZW4geW91IGFyZW4ndAp1c2luZyBhIHNlcnZpY2UgZGVzY3JpcHRpb24gb3IgbmVlZCB0byBpbXBsZW1lbnQgbW9yZSBjb21wbGV4IHJlcXVlc3Qgc2VyaWFsaXphdGlvbi4KCi4uIGltcG9ydGFudDo6OjoKCiAgICBXaGVuIGltcGxlbWVudGluZyBhIGN1c3RvbSBgYGJ1aWxkKClgYCBtZXRob2QsIGJlIHN1cmUgdG8gc2V0IHRoZSBjbGFzcyBwcm9wZXJ0eSBvZiBgYCR0aGlzLT5yZXF1ZXN0YGAgdG8gYW4KICAgIGluc3RhbnRpYXRlZCBhbmQgcmVhZHkgdG8gc2VuZCByZXF1ZXN0LgoKVGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzIGhvdyB0byBpbXBsZW1lbnQgdGhlIGBgZ2V0TWVudGlvbnNgYApgVHdpdHRlciBBUEkgPGh0dHBzOi8vZGV2LnR3aXR0ZXIuY29tL2RvY3MvYXBpLzEuMS9nZXQvc3RhdHVzZXMvbWVudGlvbnNfdGltZWxpbmU+YF8gbWV0aG9kIHVzaW5nIGEgY29uY3JldGUgY29tbWFuZC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICBuYW1lc3BhY2UgbXRkb3dsaW5nXFR3aXR0ZXJcQ29tbWFuZDsKCiAgICB1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBYnN0cmFjdENvbW1hbmQ7CgogICAgY2xhc3MgR2V0TWVudGlvbnMgZXh0ZW5kcyBBYnN0cmFjdENvbW1hbmQKICAgIHsKICAgICAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYnVpbGQoKQogICAgICAgIHsKICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSByZXF1ZXN0IHByb3BlcnR5IG9mIHRoZSBjb21tYW5kCiAgICAgICAgICAgICR0aGlzLT5yZXF1ZXN0ID0gJHRoaXMtPmNsaWVudC0+Z2V0KCdzdGF0dXNlcy9tZW50aW9uc190aW1lbGluZS5qc29uJyk7CgogICAgICAgICAgICAvLyBHcmFiIHRoZSBxdWVyeSBvYmplY3Qgb2YgdGhlIHJlcXVlc3QgYmVjYXVzZSB3ZSB3aWxsIHVzZSBpdCBmb3IKICAgICAgICAgICAgLy8gc2VyaWFsaXppbmcgY29tbWFuZCBwYXJhbWV0ZXJzIG9uIHRoZSByZXF1ZXN0CiAgICAgICAgICAgICRxdWVyeSA9ICR0aGlzLT5yZXF1ZXN0LT5nZXRRdWVyeSgpOwoKICAgICAgICAgICAgaWYgKCR0aGlzWydjb3VudCddKSB7CiAgICAgICAgICAgICAgICAkcXVlcnktPnNldCgnY291bnQnLCAkdGhpc1snY291bnQnXSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgkdGhpc1snc2luY2VfaWQnXSkgewogICAgICAgICAgICAgICAgJHF1ZXJ5LT5zZXQoJ3NpbmNlX2lkJywgJHRoaXNbJ3NpbmNlX2lkJ10pOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJHRoaXNbJ21heF9pZCddKSB7CiAgICAgICAgICAgICAgICAkcXVlcnktPnNldCgnbWF4X2lkJywgJHRoaXNbJ21heF9pZCddKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCR0aGlzWyd0cmltX3VzZXInXSAhPT0gbnVsbCkgewogICAgICAgICAgICAgICAgJHF1ZXJ5LT5zZXQoJ3RyaW1fdXNlcicsICR0aGlzWyd0cmltX3VzZXInXSA/ICd0cnVlJyA6ICdmYWxzZScpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJHRoaXNbJ2NvbnRyaWJ1dG9yX2RldGFpbHMnXSAhPT0gbnVsbCkgewogICAgICAgICAgICAgICAgJHF1ZXJ5LT5zZXQoJ2NvbnRyaWJ1dG9yX2RldGFpbHMnLCAkdGhpc1snY29udHJpYnV0b3JfZGV0YWlscyddID8gJ3RydWUnIDogJ2ZhbHNlJyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgkdGhpc1snaW5jbHVkZV9lbnRpdGllcyddICE9PSBudWxsKSB7CiAgICAgICAgICAgICAgICAkcXVlcnktPnNldCgnaW5jbHVkZV9lbnRpdGllcycsICR0aGlzWydpbmNsdWRlX2VudGl0aWVzJ10gPyAndHJ1ZScgOiAnZmFsc2UnKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCkJ5IGRlZmF1bHQsIGEgY2xpZW50IHdpbGwgYXR0ZW1wdCB0byBmaW5kIGNvbmNyZXRlIGNvbW1hbmQgY2xhc3NlcyB1bmRlciB0aGUgYGBDb21tYW5kYGAgbmFtZXNwYWNlIG9mIGEgY2xpZW50LiBGaXJzdAp0aGUgY2xpZW50IHdpbGwgYXR0ZW1wdCB0byBmaW5kIGFuIGV4YWN0IG1hdGNoIGZvciB0aGUgbmFtZSBvZiB0aGUgY29tbWFuZCB0byB0aGUgbmFtZSBvZiB0aGUgY29tbWFuZCBjbGFzcy4gSWYgYW4KZXhhY3QgbWF0Y2ggaXMgbm90IGZvdW5kLCB0aGUgY2xpZW50IHdpbGwgY2FsY3VsYXRlIGEgY2xhc3MgbmFtZSB1c2luZyBpbmZsZWN0aW9uLiBUaGlzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlCmZvbGRlciBoaWVyYXJjaHkgb2YgYSBjb21tYW5kIGFuZCBjb252ZXJ0aW5nIHRoZSBDYW1lbENhc2VkIG5hbWVkIGNvbW1hbmRzIGludG8gc25ha2VfY2FzZS4gSGVyZSBhcmUgc29tZSBleGFtcGxlcyBvbgpob3cgdGhlIGNvbW1hbmQgbmFtZXMgYXJlIGNhbGN1bGF0ZWQ6CgojLiBgYEZvb1xDb21tYW5kXEphckphcmBgICoqLT4qKiBqYXJfamFyCiMuIGBgRm9vXENvbW1hbmRcVGVzdGBgICoqLT4qKiB0ZXN0CiMuIGBgRm9vXENvbW1hbmRcUGVvcGxlXEdldEN1cnJlbnRQZXJzb25gYCAqKi0+KiogcGVvcGxlLmdldF9jdXJyZW50X3BlcnNvbgoKTm90aWNlIGhvdyBhbnkgc3ViLW5hbWVzcGFjZSBiZW5lYXRoIGBgQ29tbWFuZGBgIGlzIGNvbnZlcnRlZCBmcm9tIGBgXGBgIHRvIGBgLmBgIChhIHBlcmlvZCkuIENhbWVsQ2FzaW5nIGlzIGNvbnZlcnRlZAp0byBsb3dlcmNhc2VkIHNuYWtlX2Nhc2luZyAoZS5nLiBKYXJKYXIgPT0gamFyX2phcikuCgpQYXJzaW5nIHJlc3BvbnNlcwpeXl5eXl5eXl5eXl5eXl5eXgoKVGhlIGBgcHJvY2VzcygpYGAgbWV0aG9kIG9mIGEgY29tbWFuZCBpcyByZXNwb25zaWJsZSBmb3IgY29udmVydGluZyBhbiBIVFRQIHJlc3BvbnNlIGludG8gc29tZXRoaW5nIG1vcmUgdXNlZnVsLiBGb3IKZXhhbXBsZSwgYSBzZXJ2aWNlIGRlc2NyaXB0aW9uIG9wZXJhdGlvbiB0aGF0IGhhcyBzcGVjaWZpZWQgYSBtb2RlbCBvYmplY3QgaW4gdGhlIGBgcmVzcG9uc2VDbGFzc2BgIGF0dHJpYnV0ZSBvZiB0aGUKb3BlcmF0aW9uIHdpbGwgc2V0IGEgYGBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbGBgIG9iamVjdCBhcyB0aGUgcmVzdWx0IG9mIHRoZSBjb21tYW5kLiBUaGlzIGJlaGF2aW9yIGNhbiBiZQpjb21wbGV0ZWx5IG1vZGlmaWVkIGFzIG5lZWRlZC0tIGV2ZW4gaWYgeW91IGFyZSB1c2luZyBvcGVyYXRpb25zIGFuZCByZXNwb25zZUNsYXNzIG1vZGVscy4gU2ltcGx5IGltcGxlbWVudCBhIGN1c3RvbQpgYHByb2Nlc3MoKWBgIG1ldGhvZCB0aGF0IHNldHMgdGhlIGBgJHRoaXMtPnJlc3VsdGBgIGNsYXNzIHByb3BlcnR5IHRvIHdoYXRldmVyIHlvdSBjaG9vc2UuIFlvdSBjYW4gcmV1c2UgcGFydHMgb2YgdGhlCmRlZmF1bHQgR3V6emxlIHJlc3BvbnNlIHBhcnNpbmcgZnVuY3Rpb25hbGl0eSBvciBnZXQgaW5zcGlyYXRpb24gZnJvbSBleGlzdGluZyBjb2RlIGJ5IHVzaW5nCmBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxPcGVyYXRpb25SZXNwb25zZVBhcnNlcmBgIGFuZCBgYEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcRGVmYXVsdFJlc3BvbnNlUGFyc2VyYGAgY2xhc3Nlcy4KCklmIHlvdSBkbyBub3QgaW1wbGVtZW50IGEgY3VzdG9tIGBgcHJvY2VzcygpYGAgbWV0aG9kIGFuZCBhcmUgbm90IHVzaW5nIGEgc2VydmljZSBkZXNjcmlwdGlvbiwgdGhlbiBHdXp6bGUgd2lsbCBhdHRlbXB0CnRvIGd1ZXNzIGhvdyBhIHJlc3BvbnNlIHNob3VsZCBiZSBwcm9jZXNzZWQgYmFzZWQgb24gdGhlIENvbnRlbnQtVHlwZSBoZWFkZXIgb2YgdGhlIHJlc3BvbnNlLiBCZWNhdXNlIHRoZSBUd2l0dGVyIEFQSQpzZXRzIGEgYGBDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb25gYCBoZWFkZXIgb24gdGhpcyByZXNwb25zZSwgd2UgZG8gbm90IG5lZWQgdG8gaW1wbGVtZW50IGFueSBjdXN0b20gcmVzcG9uc2UKcGFyc2luZy4KCk9wZXJhdGlvbiBjb21tYW5kcwp+fn5+fn5+fn5+fn5+fn5+fn4KCk9wZXJhdGlvbiBjb21tYW5kcyBhcmUgY29tbWFuZHMgaW4gd2hpY2ggdGhlIHNlcmlhbGl6YXRpb24gb2YgYW4gSFRUUCByZXF1ZXN0IGFuZCB0aGUgcGFyc2luZyBvZiBhbiBIVFRQIHJlc3BvbnNlIGFyZQpkcml2ZW4gYnkgYSBHdXp6bGUgc2VydmljZSBkZXNjcmlwdGlvbi4gQmVjYXVzZSByZXF1ZXN0IHNlcmlhbGl6YXRpb24sIHZhbGlkYXRpb24sIGFuZCByZXNwb25zZSBwYXJzaW5nIGFyZQpkZXNjcmliZWQgdXNpbmcgYSBEU0wsIGNyZWF0aW5nIG9wZXJhdGlvbiBjb21tYW5kcyBpcyBhIG11Y2ggZmFzdGVyIHByb2Nlc3MgdGhhbiB3cml0aW5nIGNvbmNyZXRlIGNvbW1hbmRzLgoKQ3JlYXRpbmcgb3BlcmF0aW9uIGNvbW1hbmRzIGZvciBvdXIgVHdpdHRlciBjbGllbnQgY2FuIHJlbW92ZSBhIGdyZWF0IGRlYWwgb2YgcmVkdW5kYW5jeSBmcm9tIHRoZSBwcmV2aW91cyBjb25jcmV0ZQpjb21tYW5kLCBhbmQgYWxsb3dzIGZvciBhIGRlZXBlciBydW50aW1lIGludHJvc3BlY3Rpb24gb2YgdGhlIEFQSS4gSGVyZSdzIGFuIGV4YW1wbGUgc2VydmljZSBkZXNjcmlwdGlvbiB3ZSBjYW4gdXNlIHRvCmNyZWF0ZSB0aGUgVHdpdHRlciBBUEkgY2xpZW50OgoKLi4gY29kZS1ibG9jazo6IGpzb24KCiAgICB7CiAgICAgICAgIm5hbWUiOiAiVHdpdHRlciIsCiAgICAgICAgImFwaVZlcnNpb24iOiAiMS4xIiwKICAgICAgICAiYmFzZVVybCI6ICJodHRwczovL2FwaS50d2l0dGVyLmNvbS8xLjEiLAogICAgICAgICJkZXNjcmlwdGlvbiI6ICJUd2l0dGVyIFJFU1QgQVBJIGNsaWVudCIsCiAgICAgICAgIm9wZXJhdGlvbnMiOiB7CiAgICAgICAgICAgICJHZXRNZW50aW9ucyI6IHsKICAgICAgICAgICAgICAgICJodHRwTWV0aG9kIjogIkdFVCIsCiAgICAgICAgICAgICAgICAidXJpIjogInN0YXR1c2VzL21lbnRpb25zX3RpbWVsaW5lLmpzb24iLAogICAgICAgICAgICAgICAgInN1bW1hcnkiOiAiUmV0dXJucyB0aGUgMjAgbW9zdCByZWNlbnQgbWVudGlvbnMgZm9yIHRoZSBhdXRoZW50aWNhdGluZyB1c2VyLiIsCiAgICAgICAgICAgICAgICAicmVzcG9uc2VDbGFzcyI6ICJHZXRNZW50aW9uc091dHB1dCIsCiAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IHsKICAgICAgICAgICAgICAgICAgICAiY291bnQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTcGVjaWZpZXMgdGhlIG51bWJlciBvZiB0d2VldHMgdG8gdHJ5IGFuZCByZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRpb24iOiAicXVlcnkiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAic2luY2VfaWQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHJlc3VsdHMgd2l0aCBhbiBJRCBncmVhdGVyIHRoYW4gdGhlIHNwZWNpZmllZCBJRCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRpb24iOiAicXVlcnkiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAibWF4X2lkIjogewogICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyByZXN1bHRzIHdpdGggYW4gSUQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBzcGVjaWZpZWQgSUQuIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdGlvbiI6ICJxdWVyeSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ0cmltX3VzZXIiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMaW1pdHMgdGhlIGFtb3VudCBvZiBkYXRhIHJldHVybmVkIGZvciBlYWNoIHVzZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0aW9uIjogInF1ZXJ5IgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImNvbnRyaWJ1dG9yX2RldGFpbHMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBZGRzIG1vcmUgZGF0YSB0byBjb250cmlidXRvciBlbGVtZW50cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRpb24iOiAicXVlcnkiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiaW5jbHVkZV9lbnRpdGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRoZSBlbnRpdGllcyBub2RlIHdpbGwgYmUgZGlzaW5jbHVkZWQgd2hlbiBzZXQgdG8gZmFsc2UuIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdGlvbiI6ICJxdWVyeSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJtb2RlbHMiOiB7CiAgICAgICAgICAgICJHZXRNZW50aW9uc091dHB1dCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImxvY2F0aW9uIjogImpzb24iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgpJZiB5b3UncmUgbGF6eSwgeW91IGNhbiBkZWZpbmUgdGhlIEFQSSBpbiBhIGxlc3MgZGVzY3JpcHRpdmUgbWFubmVyIHVzaW5nIGBgYWRkaXRpb25hbFBhcmFtZXRlcnNgYC4KYGBhZGRpdGlvbmFsUGFyYW1ldGVyc2BgIGRlZmluZSB0aGUgc2VyaWFsaXphdGlvbiBhbmQgdmFsaWRhdGlvbiBydWxlcyBvZiBwYXJhbWV0ZXJzIHRoYXQgYXJlIG5vdCBleHBsaWNpdGx5IGRlZmluZWQKaW4gYSBzZXJ2aWNlIGRlc2NyaXB0aW9uLgoKLi4gY29kZS1ibG9jazo6IGpzb24KCiAgICB7CiAgICAgICAgIm5hbWUiOiAiVHdpdHRlciIsCiAgICAgICAgImFwaVZlcnNpb24iOiAiMS4xIiwKICAgICAgICAiYmFzZVVybCI6ICJodHRwczovL2FwaS50d2l0dGVyLmNvbS8xLjEiLAogICAgICAgICJkZXNjcmlwdGlvbiI6ICJUd2l0dGVyIFJFU1QgQVBJIGNsaWVudCIsCiAgICAgICAgIm9wZXJhdGlvbnMiOiB7CiAgICAgICAgICAgICJHZXRNZW50aW9ucyI6IHsKICAgICAgICAgICAgICAgICJodHRwTWV0aG9kIjogIkdFVCIsCiAgICAgICAgICAgICAgICAidXJpIjogInN0YXR1c2VzL21lbnRpb25zX3RpbWVsaW5lLmpzb24iLAogICAgICAgICAgICAgICAgInN1bW1hcnkiOiAiUmV0dXJucyB0aGUgMjAgbW9zdCByZWNlbnQgbWVudGlvbnMgZm9yIHRoZSBhdXRoZW50aWNhdGluZyB1c2VyLiIsCiAgICAgICAgICAgICAgICAicmVzcG9uc2VDbGFzcyI6ICJHZXRNZW50aW9uc091dHB1dCIsCiAgICAgICAgICAgICAgICAiYWRkaXRpb25hbFBhcmFtZXRlcnMiOiB7CiAgICAgICAgICAgICAgICAgICAgImxvY2F0aW9uIjogInF1ZXJ5IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAibW9kZWxzIjogewogICAgICAgICAgICAiR2V0TWVudGlvbnNPdXRwdXQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICJsb2NhdGlvbiI6ICJqc29uIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKWW91IHNob3VsZCBhdHRhY2ggdGhlIHNlcnZpY2UgZGVzY3JpcHRpb24gdG8gdGhlIGNsaWVudCBhdCB0aGUgZW5kIG9mIHRoZSBjbGllbnQncyBmYWN0b3J5IG1ldGhvZDoKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAvLyAuLi4KICAgIGNsYXNzIFR3aXR0ZXJDbGllbnQgZXh0ZW5kcyBDbGllbnQKICAgIHsKICAgICAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoJGNvbmZpZyA9IGFycmF5KCkpCiAgICAgICAgewogICAgICAgICAgICAvLyAuLi4gc2FtZSBjb2RlIGFzIGJlZm9yZSAuLi4KCiAgICAgICAgICAgIC8vIFNldCB0aGUgc2VydmljZSBkZXNjcmlwdGlvbgogICAgICAgICAgICAkY2xpZW50LT5zZXREZXNjcmlwdGlvbihTZXJ2aWNlRGVzY3JpcHRpb246OmZhY3RvcnkoJ3BhdGgvdG8vdHdpdHRlci5qc29uJykpOwoKICAgICAgICAgICAgcmV0dXJuICRjbGllbnQ7CiAgICAgICAgfQogICAgfQoKVGhlIGNsaWVudCBjYW4gbm93IHVzZSBvcGVyYXRpb25zIGRlZmluZWQgaW4gdGhlIHNlcnZpY2UgZGVzY3JpcHRpb24gaW5zdGVhZCBvZiByZXF1aXJpbmcgeW91IHRvIGNyZWF0ZSBjb25jcmV0ZQpjb21tYW5kIGNsYXNzZXMuIEZlZWwgZnJlZSB0byBkZWxldGUgdGhlIGNvbmNyZXRlIGNvbW1hbmQgY2xhc3Mgd2UgY3JlYXRlZCBlYXJsaWVyLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgICRqc29uRGF0YSA9ICR0d2l0dGVyLT5nZXRNZW50aW9ucyhhcnJheSgKICAgICAgICAnY291bnQnICAgICA9PiA1LAogICAgICAgICd0cmltX3VzZXInID0+IHRydWUKICAgICkpOwoKRXhlY3V0aW5nIGNvbW1hbmRzIGluIHBhcmFsbGVsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKTXVjaCBsaWtlIEhUVFAgcmVxdWVzdHMsIEd1enpsZSBhbGxvd3MgeW91IHRvIHNlbmQgbXVsdGlwbGUgY29tbWFuZHMgaW4gcGFyYWxsZWwuIFlvdSBjYW4gc2VuZCBjb21tYW5kcyBpbiBwYXJhbGxlbCBieQpwYXNzaW5nIGFuIGFycmF5IG9mIGNvbW1hbmQgb2JqZWN0cyB0byBhIGNsaWVudCdzIGBgZXhlY3V0ZSgpYGAgbWV0aG9kLiBUaGUgY2xpZW50IHdpbGwgc2VyaWFsaXplIGVhY2ggcmVxdWVzdCBhbmQKc2VuZCB0aGVtIGFsbCBpbiBwYXJhbGxlbC4gSWYgYW4gZXJyb3IgaXMgZW5jb3VudGVyZWQgZHVyaW5nIHRoZSB0cmFuc2ZlciwgdGhlbiBhCmBgR3V6emxlXFNlcnZpY2VcRXhjZXB0aW9uXENvbW1hbmRUcmFuc2ZlckV4Y2VwdGlvbmBgIGlzIHRocm93biwgd2hpY2ggYWxsb3dzIHlvdSB0byByZXRyaWV2ZSBhIGxpc3Qgb2YgY29tbWFuZHMgdGhhdApzdWNjZWVkZWQgYW5kIGEgbGlzdCBvZiBjb21tYW5kcyB0aGF0IGZhaWxlZC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXFNlcnZpY2VcRXhjZXB0aW9uXENvbW1hbmRUcmFuc2ZlckV4Y2VwdGlvbjsKCiAgICAkY29tbWFuZHMgPSBhcnJheSgpOwogICAgJGNvbW1hbmRzW10gPSAkdHdpdHRlci0+Z2V0Q29tbWFuZCgnZ2V0TWVudGlvbnMnKTsKICAgICRjb21tYW5kc1tdID0gJHR3aXR0ZXItPmdldENvbW1hbmQoJ290aGVyQ29tbWFuZE5hbWUnKTsKICAgIC8vIGV0Yy4uLgoKICAgIHRyeSB7CiAgICAgICAgJHJlc3VsdCA9ICRjbGllbnQtPmV4ZWN1dGUoJGNvbW1hbmRzKTsKICAgICAgICBmb3JlYWNoICgkcmVzdWx0IGFzICRjb21tYW5kKSB7CiAgICAgICAgICAgIGVjaG8gJGNvbW1hbmQtPmdldE5hbWUoKSAuICc6ICcgLiAkY29tbWFuZC0+Z2V0UmVzcG9uc2UoKS0+Z2V0U3RhdHVzQ29kZSgpIC4gIlxuIjsKICAgICAgICB9CiAgICB9IGNhdGNoIChDb21tYW5kVHJhbnNmZXJFeGNlcHRpb24gJGUpIHsKICAgICAgICAvLyBHZXQgYW4gYXJyYXkgb2YgdGhlIGNvbW1hbmRzIHRoYXQgc3VjY2VlZGVkCiAgICAgICAgZm9yZWFjaCAoJGUtPmdldFN1Y2Nlc3NmdWxDb21tYW5kcygpIGFzICRjb21tYW5kKSB7CiAgICAgICAgICAgIGVjaG8gJGNvbW1hbmQtPmdldE5hbWUoKSAuICIgc3VjY2VlZGVkXG4iOwogICAgICAgIH0KICAgICAgICAvLyBHZXQgYW4gYXJyYXkgb2YgdGhlIGNvbW1hbmRzIHRoYXQgZmFpbGVkCiAgICAgICAgZm9yZWFjaCAoJGUtPmdldEZhaWxlZENvbW1hbmRzKCkgYXMgJGNvbW1hbmQpIHsKICAgICAgICAgICAgZWNobyAkY29tbWFuZC0+Z2V0TmFtZSgpIC4gIiBmYWlsZWRcbiI7CiAgICAgICAgfQogICAgfQoKLi4gbm90ZTo6CgogICAgQWxsIGNvbW1hbmRzIGV4ZWN1dGVkIGZyb20gYSBjbGllbnQgdXNpbmcgYW4gYXJyYXkgbXVzdCBvcmlnaW5hdGUgZnJvbSB0aGUgc2FtZSBjbGllbnQuCgpTcGVjaWFsIGNvbW1hbmQgb3B0aW9ucwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKR3V6emxlIGV4cG9zZXMgc2V2ZXJhbCBvcHRpb25zIHRoYXQgaGVscCB0byBjb250cm9sIGhvdyBjb21tYW5kcyBhcmUgdmFsaWRhdGVkLCBzZXJpYWxpemVkLCBhbmQgcGFyc2VkLgpDb21tYW5kIG9wdGlvbnMgY2FuIGJlIHNwZWNpZmllZCB3aGVuIGNyZWF0aW5nIGEgY29tbWFuZCBvciBpbiB0aGUgYGBjb21tYW5kLnBhcmFtc2BgIHBhcmFtZXRlciBpbiB0aGUKYGBHdXp6bGVcU2VydmljZVxDbGllbnRgYC4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpjb21tYW5kLnJlcXVlc3Rfb3B0aW9ucyAgICAgT3B0aW9uIHVzZWQgdG8gYWRkIDpyZWY6YFJlcXVlc3Qgb3B0aW9ucyA8cmVxdWVzdC1vcHRpb25zPmAgdG8gdGhlIHJlcXVlc3QgY3JlYXRlZCBieSBhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kCmNvbW1hbmQuaGlkZGVuX3BhcmFtcyAgICAgICBBbiBhcnJheSBvZiB0aGUgbmFtZXMgb2YgcGFyYW1ldGVycyBpZ25vcmVkIGJ5IHRoZSBgYGFkZGl0aW9uYWxQYXJhbWV0ZXJzYGAgcGFyYW1ldGVyIHNjaGVtYQpjb21tYW5kLmRpc2FibGVfdmFsaWRhdGlvbiAgU2V0IHRvIHRydWUgdG8gZGlzYWJsZSBKU09OIHNjaGVtYSB2YWxpZGF0aW9uIG9mIHRoZSBjb21tYW5kJ3MgaW5wdXQgcGFyYW1ldGVycwpjb21tYW5kLnJlc3BvbnNlX3Byb2Nlc3NpbmcgRGV0ZXJtaW5lcyBob3cgdGhlIGRlZmF1bHQgcmVzcG9uc2UgcGFyc2VyIHdpbGwgcGFyc2UgdGhlIGNvbW1hbmQuIE9uZSBvZiAicmF3IiBubyBwYXJzaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1vZGVsIiAodGhlIGRlZmF1bHQgbWV0aG9kIHVzZWQgdG8gcGFyc2UgY29tbWFuZHMgdXNpbmcgcmVzcG9uc2UgbW9kZWxzIGRlZmluZWQgaW4gc2VydmljZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb25zKQpjb21tYW5kLmhlYWRlcnMgICAgICAgICAgICAgKGRlcHJlY2F0ZWQpIE9wdGlvbiB1c2VkIHRvIHNwZWNpZnkgY3VzdG9tIGhlYWRlcnMuICBVc2UgYGBjb21tYW5kLnJlcXVlc3Rfb3B0aW9uc2BgIGluc3RlYWQKY29tbWFuZC5vbl9jb21wbGV0ZSAgICAgICAgIChkZXByZWNhdGVkKSBPcHRpb24gdXNlZCB0byBhZGQgYW4gb25Db21wbGV0ZSBtZXRob2QgdG8gYSBjb21tYW5kLiAgVXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYGNvbW1hbmQuYWZ0ZXJfc2VuZGBgIGV2ZW50IGluc3RlYWQKY29tbWFuZC5yZXNwb25zZV9ib2R5ICAgICAgIChkZXByZWNhdGVkKSBPcHRpb24gdXNlZCB0byBjaGFuZ2UgdGhlIGVudGl0eSBib2R5IHVzZWQgdG8gc3RvcmUgYSByZXNwb25zZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZSBgYGNvbW1hbmQucmVxdWVzdF9vcHRpb25zYGAgaW5zdGVhZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkFkdmFuY2VkIGNsaWVudCBjb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpEZWZhdWx0IGNvbW1hbmQgcGFyYW1ldGVycwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKV2hlbiBjcmVhdGluZyBhIGNsaWVudCBvYmplY3QsIHlvdSBjYW4gc3BlY2lmeSBkZWZhdWx0IGNvbW1hbmQgcGFyYW1ldGVycyB0byBwYXNzIGludG8gYWxsIGNvbW1hbmRzLiBBbnkga2V5IHZhbHVlIHBhaXIKcHJlc2VudCBpbiB0aGUgYGBjb21tYW5kLnBhcmFtc2BgIHNldHRpbmdzIG9mIGEgY2xpZW50IHdpbGwgYmUgYWRkZWQgYXMgZGVmYXVsdCBwYXJhbWV0ZXJzIHRvIGFueSBjb21tYW5kIGNyZWF0ZWQKYnkgdGhlIGNsaWVudC4KCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICAkY2xpZW50ID0gbmV3IEd1enpsZVxTZXJ2aWNlXENsaWVudChhcnJheSgKICAgICAgICAnY29tbWFuZC5wYXJhbXMnID0+IGFycmF5KAogICAgICAgICAgICAnZGVmYXVsdF8xJyA9PiAnZm9vJywKICAgICAgICAgICAgJ2Fub3RoZXInICAgPT4gJ2JhcicKICAgICAgICApCiAgICApKTsKCk1hZ2ljIG1ldGhvZHMKLS0tLS0tLS0tLS0tLQoKQ2xpZW50IG9iamVjdHMgd2lsbCwgYnkgZGVmYXVsdCwgYXR0ZW1wdCB0byBjcmVhdGUgYW5kIGV4ZWN1dGUgY29tbWFuZHMgd2hlbiBhIG1pc3NpbmcgbWV0aG9kIGlzIGludm9rZWQgb24gYSBjbGllbnQuClRoaXMgcG93ZXJmdWwgY29uY2VwdCBhcHBsaWVzIHRvIGJvdGggY29uY3JldGUgY29tbWFuZHMgYW5kIG9wZXJhdGlvbiBjb21tYW5kcyBwb3dlcmVkIGJ5IGEgc2VydmljZSBkZXNjcmlwdGlvbi4gVGhpcwptYWtlcyBpdCBhcHBlYXIgdG8gdGhlIGVuZCB1c2VyIHRoYXQgeW91IGhhdmUgZGVmaW5lZCBhY3R1YWwgbWV0aG9kcyBvbiBhIGNsaWVudCBvYmplY3QsIHdoZW4gaW4gZmFjdCwgdGhlIG1ldGhvZHMgYXJlCmludm9rZWQgdXNpbmcgUEhQJ3MgbWFnaWMgYGBfX2NhbGxgYCBtZXRob2QuCgpUaGUgYGBfX2NhbGxgYCBtZXRob2QgdXNlcyB0aGUgYGBnZXRDb21tYW5kKClgYCBtZXRob2Qgb2YgYSBjbGllbnQsIHdoaWNoIHVzZXMgdGhlIGNsaWVudCdzIGludGVybmFsCmBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxGYWN0b3J5XEZhY3RvcnlJbnRlcmZhY2VgYCBvYmplY3QuIFRoZSBkZWZhdWx0IGNvbW1hbmQgZmFjdG9yeSBhbGxvd3MgeW91IHRvIGluc3RhbnRpYXRlCm9wZXJhdGlvbnMgZGVmaW5lZCBpbiBhIGNsaWVudCdzIHNlcnZpY2UgZGVzY3JpcHRpb24uIFRoZSBtZXRob2QgaW4gd2hpY2ggYSBjbGllbnQgZGV0ZXJtaW5lcyB3aGljaCBjb21tYW5kIHRvCmV4ZWN1dGUgaXMgZGVmaW5lZCBhcyBmb2xsb3dzOgoKMS4gVGhlIGNsaWVudCB3aWxsIGZpcnN0IHRyeSB0byBmaW5kIGEgbGl0ZXJhbCBtYXRjaCBmb3IgYW4gb3BlcmF0aW9uIGluIHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uLgoyLiBJZiB0aGUgbGl0ZXJhbCBtYXRjaCBpcyBub3QgZm91bmQsIHRoZSBjbGllbnQgd2lsbCB0cnkgdG8gdXBwZXJjYXNlIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgdGhlIG9wZXJhdGlvbiBhbmQgZmluZAogICB0aGUgbWF0Y2ggYWdhaW4uCjMuIElmIGEgbWF0Y2ggaXMgc3RpbGwgbm90IGZvdW5kLCB0aGUgY29tbWFuZCBmYWN0b3J5IHdpbGwgaW5mbGVjdCB0aGUgbWV0aG9kIG5hbWUgZnJvbSBDYW1lbENhc2UgdG8gc25ha2VfY2FzZSBhbmQKICAgYXR0ZW1wdCB0byBmaW5kIGEgbWF0Y2hpbmcgY29tbWFuZC4KNC4gSWYgYSBjb21tYW5kIHN0aWxsIGRvZXMgbm90IG1hdGNoLCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgoKLi4gY29kZS1ibG9jazo6IHBocAoKICAgIC8vIFVzZSB0aGUgbWFnaWMgbWV0aG9kCiAgICAkcmVzdWx0ID0gJHR3aXR0ZXItPmdldE1lbnRpb25zKCk7CgogICAgLy8gVGhpcyBpcyBleGFjdGx5IHRoZSBzYW1lIGFzOgogICAgJHJlc3VsdCA9ICR0d2l0dGVyLT5nZXRDb21tYW5kKCdnZXRNZW50aW9ucycpLT5leGVjdXRlKCk7CgpZb3UgY2FuIGRpc2FibGUgbWFnaWMgbWV0aG9kcyBvbiBhIGNsaWVudCBieSBwYXNzaW5nIGBgZmFsc2VgYCB0byB0aGUgYGBlbmFibGVNYWdpY01ldGhvZCgpYGAgbWV0aG9kLgoKQ3VzdG9tIGNvbW1hbmQgZmFjdG9yeQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpBIGNsaWVudCBieSBkZWZhdWx0IHVzZXMgdGhlIGBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxGYWN0b3J5XENvbXBvc2l0ZUZhY3RvcnlgYCB3aGljaCBhbGxvd3MgbXVsdGlwbGUgY29tbWFuZApmYWN0b3JpZXMgdG8gYXR0ZW1wdCB0byBjcmVhdGUgYSBjb21tYW5kIGJ5IGEgY2VydGFpbiBuYW1lLiBUaGUgZGVmYXVsdCBDb21wb3NpdGVGYWN0b3J5IHVzZXMgYSBgYENvbmNyZXRlQ2xhc3NGYWN0b3J5YGAKYW5kIGEgYGBTZXJ2aWNlRGVzY3JpcHRpb25GYWN0b3J5YGAgaWYgYSBzZXJ2aWNlIGRlc2NyaXB0aW9uIGlzIHNwZWNpZmllZCBvbiBhIGNsaWVudC4gWW91IGNhbiBzcGVjaWZ5IGEgY3VzdG9tCmNvbW1hbmQgZmFjdG9yeSBpZiB5b3VyIGNsaWVudCByZXF1aXJlcyBjdXN0b20gY29tbWFuZCBjcmVhdGlvbiBsb2dpYyB1c2luZyB0aGUgYGBzZXRDb21tYW5kRmFjdG9yeSgpYGAgbWV0aG9kIG9mCmEgY2xpZW50LgoKQ3VzdG9tIHJlc291cmNlIEl0ZXJhdG9yIGZhY3RvcnkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClJlc291cmNlIGl0ZXJhdG9ycyBjYW4gYmUgcmV0cmlldmVkIGZyb20gYSBjbGllbnQgdXNpbmcgdGhlIGBgZ2V0SXRlcmF0b3IoJG5hbWUpYGAgbWV0aG9kIG9mIGEgY2xpZW50LiBUaGlzIG1ldGhvZCB1c2VzCmEgY2xpZW50J3MgaW50ZXJuYWwgYGBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeUludGVyZmFjZWBgIG9iamVjdC4gQSBjbGllbnQgYnkgZGVmYXVsdCB1c2VzIGEKYGBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9yQ2xhc3NGYWN0b3J5YGAgdG8gYXR0ZW1wdCB0byBmaW5kIGNvbmNyZXRlIGNsYXNzZXMgdGhhdCBpbXBsZW1lbnQgcmVzb3VyY2UKaXRlcmF0b3JzLiBUaGUgZGVmYXVsdCBmYWN0b3J5IHdpbGwgZmlyc3QgbG9vayBmb3IgbWF0Y2hpbmcgaXRlcmF0b3JzIGluIHRoZSBgYEl0ZXJhdG9yYGAgc3ViZGlyZWN0b3J5IG9mIHRoZSBjbGllbnQKZm9sbG93ZWQgYnkgdGhlIGBgTW9kZWxgYCBzdWJkaXJlY3Rvcnkgb2YgYSBjbGllbnQuIFVzZSB0aGUgYGBzZXRSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeSgpYGAgbWV0aG9kIG9mIGEgY2xpZW50IHRvCnNwZWNpZnkgYSBjdXN0b20gcmVzb3VyY2UgaXRlcmF0b3IgZmFjdG9yeS4KClBsdWdpbnMgYW5kIGV2ZW50cwo9PT09PT09PT09PT09PT09PT0KCmBgR3V6emxlXFNlcnZpY2VcQ2xpZW50YGAgZXhwb3NlcyB2YXJpb3VzIGV2ZW50cyB0aGF0IGFsbG93IHlvdSB0byBob29rIGluIGN1c3RvbSBsb2dpYy4gQSBjbGllbnQgb2JqZWN0IG93bnMgYQpgYFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudERpc3BhdGNoZXJgYCBvYmplY3QgdGhhdCBjYW4gYmUgYWNjZXNzZWQgYnkgY2FsbGluZwpgYCRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpYGAuIFlvdSBjYW4gdXNlIHRoZSBldmVudCBkaXNwYXRjaGVyIHRvIGFkZCBsaXN0ZW5lcnMgKGEgc2ltcGxlIGNhbGxiYWNrIGZ1bmN0aW9uKSBvcgpldmVudCBzdWJzY3JpYmVycyAoY2xhc3NlcyB0aGF0IGxpc3RlbiB0byBzcGVjaWZpYyBldmVudHMgb2YgYSBkaXNwYXRjaGVyKS4KCi4uIF9zZXJ2aWNlLWNsaWVudC1ldmVudHM6CgpFdmVudHMgZW1pdHRlZCBmcm9tIGEgU2VydmljZSBDbGllbnQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpBIGBgR3V6emxlXFNlcnZpY2VcQ2xpZW50YGAgb2JqZWN0IGVtaXRzIHRoZSBmb2xsb3dpbmcgZXZlbnRzOgoKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwgRXZlbnQgbmFtZSAgICAgICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEV2ZW50IGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKfCBjbGllbnQuY29tbWFuZC5jcmVhdGUgICAgICAgIHwgVGhlIGNsaWVudCBjcmVhdGVkIGEgY29tbWFuZCBvYmplY3QgICAgICAgIHwgKiBjbGllbnQ6IENsaWVudCBvYmplY3QgICAgICAgICAgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICogY29tbWFuZDogQ29tbWFuZCBvYmplY3QgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBjb21tYW5kLmJlZm9yZV9wcmVwYXJlICAgICAgIHwgQmVmb3JlIGEgY29tbWFuZCBpcyB2YWxpZGF0ZWQgYW5kIGJ1aWx0LiAgIHwgKiBjb21tYW5kOiBDb21tYW5kIGJlaW5nIHByZXBhcmVkICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFRoaXMgaXMgYWxzbyBiZWZvcmUgYSByZXF1ZXN0IGlzIGNyZWF0ZWQuICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBjb21tYW5kLmFmdGVyX3ByZXBhcmUgICAgICAgIHwgQWZ0ZXIgYSBjb21tYW5kIGluc3RhbnRpYXRlcyBhbmQgICAgICAgICAgIHwgKiBjb21tYW5kOiBDb21tYW5kIHRoYXQgd2FzIHByZXBhcmVkICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGNvbmZpZ3VyZXMgaXRzIHJlcXVlc3Qgb2JqZWN0LiAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBjb21tYW5kLmJlZm9yZV9zZW5kICAgICAgICAgIHwgVGhlIGNsaWVudCBpcyBhYm91dCB0byBleGVjdXRlIGEgcHJlcGFyZWQgIHwgKiBjb21tYW5kOiBDb21tYW5kIHRvIGV4ZWN1dGUgICAgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGNvbW1hbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBjb21tYW5kLmFmdGVyX3NlbmQgICAgICAgICAgIHwgVGhlIGNsaWVudCBzdWNjZXNzZnVsbHkgY29tcGxldGVkICAgICAgICAgIHwgKiBjb21tYW5kOiBUaGUgY29tbWFuZCB0aGF0IHdhcyBleGVjdXRlZCB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGV4ZWN1dGluZyBhIGNvbW1hbmQgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBjb21tYW5kLnBhcnNlX3Jlc3BvbnNlICAgICAgIHwgQ2FsbGVkIHdoZW4gYGByZXNwb25zZVR5cGVgYCBpcyBgYGNsYXNzYGAgIHwgKiBjb21tYW5kOiBUaGUgY29tbWFuZCB3aXRoIGEgcmVzcG9uc2UgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuZCB0aGUgcmVzcG9uc2UgaXMgYWJvdXQgdG8gYmUgcGFyc2VkLiAgICB8ICAgYWJvdXQgdG8gYmUgcGFyc2VkLiAgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXENvbW1vblxFdmVudDsKICAgIHVzZSBHdXp6bGVcU2VydmljZVxDbGllbnQ7CgogICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKCiAgICAvLyBjcmVhdGUgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCBvcGVyYXRlcyBvbiByZXF1ZXN0IG9iamVjdHMKICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcignY29tbWFuZC5hZnRlcl9wcmVwYXJlJywgZnVuY3Rpb24gKEV2ZW50ICRldmVudCkgewogICAgICAgICRjb21tYW5kID0gJGV2ZW50Wydjb21tYW5kJ107CiAgICAgICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+Z2V0UmVxdWVzdCgpOwoKICAgICAgICAvLyBkbyBzb21ldGhpbmcgd2l0aCByZXF1ZXN0CiAgICB9KTsKCi4uIGNvZGUtYmxvY2s6OiBwaHAKCiAgICB1c2UgR3V6emxlXENvbW1vblxFdmVudDsKICAgIHVzZSBHdXp6bGVcQ29tbW9uXENsaWVudDsKICAgIHVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlOwoKICAgIGNsYXNzIEV2ZW50U3Vic2NyaWJlciBpbXBsZW1lbnRzIEV2ZW50U3Vic2NyaWJlckludGVyZmFjZQogICAgewogICAgICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgICAgICAnY2xpZW50LmNvbW1hbmQuY3JlYXRlJyA9PiAnb25Db21tYW5kQ3JlYXRlJywKICAgICAgICAgICAgICAgICdjb21tYW5kLnBhcnNlX3Jlc3BvbnNlJyA9PiAnb25QYXJzZVJlc3BvbnNlJwogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIG9uQ29tbWFuZENyZWF0ZShFdmVudCAkZXZlbnQpCiAgICAgICAgewogICAgICAgICAgICAkY2xpZW50ID0gJGV2ZW50WydjbGllbnQnXTsKICAgICAgICAgICAgJGNvbW1hbmQgPSAkZXZlbnRbJ2NvbW1hbmQnXTsKICAgICAgICAgICAgLy8gb3BlcmF0ZSBvbiBjbGllbnQgYW5kIGNvbW1hbmQKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBvblBhcnNlUmVzcG9uc2UoRXZlbnQgJGV2ZW50KQogICAgICAgIHsKICAgICAgICAgICAgJGNvbW1hbmQgPSAkZXZlbnRbJ2NvbW1hbmQnXTsKICAgICAgICAgICAgLy8gb3BlcmF0ZSBvbiB0aGUgY29tbWFuZAogICAgICAgIH0KICAgIH0KCiAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwoKICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIobmV3IEV2ZW50U3Vic2NyaWJlcigpKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/_downloads/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/_downloads/guzzle-schema-1.0.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZSwKICAgICJuYW1lIjogewogICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgImRlc2NyaXB0aW9uIjogIk5hbWUgb2YgdGhlIHdlYiBzZXJ2aWNlIgogICAgfSwKICAgICJhcGlWZXJzaW9uIjogewogICAgICAgICJ0eXBlIjogWyJzdHJpbmciLCAibnVtYmVyIl0sCiAgICAgICAgImRlc2NyaXB0aW9uIjogIlZlcnNpb24gaWRlbnRpZmllciB0aGF0IHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uIGlzIGNvbXBhdGlibGUgd2l0aCIKICAgIH0sCiAgICAiYmFzZVVybCI6IHsKICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICJkZXNjcmlwdGlvbiI6ICJCYXNlIFVSTCBvZiB0aGUgd2ViIHNlcnZpY2UuIEFueSByZWxhdGl2ZSBVUkkgc3BlY2lmaWVkIGluIGFuIG9wZXJhdGlvbiB3aWxsIGJlIG1lcmdlZCB3aXRoIHRoZSBiYXNlVXJsIHVzaW5nIHRoZSBwcm9jZXNzIGRlZmluZWQgaW4gUkZDIDIzOTYiCiAgICB9LAogICAgImJhc2VQYXRoIjogewogICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsaWFzIG9mIGJhc2VVcmwiCiAgICB9LAogICAgIl9kZXNjcmlwdGlvbiI6IHsKICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG9ydCBzdW1tYXJ5IG9mIHRoZSB3ZWIgc2VydmljZS4gVGhpcyBpcyBhY3R1YWxseSBjYWxsZWQgJ2Rlc2NyaXB0aW9uJyBidXQgdGhpcyBKU09OIHNjaGVtYSB3b250IHZhbGlkYXRlIHVzaW5nIGp1c3QgZGVzY3JpcHRpb24uIgogICAgfSwKICAgICJvcGVyYXRpb25zIjogewogICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVyYXRpb25zIG9mIHRoZSB3ZWIgc2VydmljZSIsCiAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImV4dGVuZHMiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkV4dGVuZCBmcm9tIGFub3RoZXIgb3BlcmF0aW9uIGJ5IG5hbWUuIFRoZSBwYXJlbnQgb3BlcmF0aW9uIG11c3QgYmUgZGVmaW5lZCBiZWZvcmUgdGhlIGNoaWxkLiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImh0dHBNZXRob2QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhUVFAgbWV0aG9kIHVzZWQgd2l0aCB0aGUgb3BlcmF0aW9uIChlLmcuIEdFVCwgUE9TVCwgUFVULCBERUxFVEUsIFBBVENILCBldGMpIgogICAgICAgICAgICB9LAogICAgICAgICAgICAidXJpIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVUkkgb2YgdGhlIG9wZXJhdGlvbi4gVGhlIHVyaSBhdHRyaWJ1dGUgY2FuIGNvbnRhaW4gVVJJIHRlbXBsYXRlcy4gVGhlIHZhcmlhYmxlcyBvZiB0aGUgVVJJIHRlbXBsYXRlIGFyZSBwYXJhbWV0ZXJzIG9mIHRoZSBvcGVyYXRpb24gd2l0aCBhIGxvY2F0aW9uIHZhbHVlIG9mIHVyaSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInN1bW1hcnkiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3J0IHN1bW1hcnkgb2Ygd2hhdCB0aGUgb3BlcmF0aW9uIGRvZXMiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJjbGFzcyI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9tIGNsYXNzIHRvIGluc3RhbnRpYXRlIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVzcG9uc2VDbGFzcyI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGhpcyBpcyB3aGF0IGlzIHJldHVybmVkIGZyb20gdGhlIG1ldGhvZC4gQ2FuIGJlIGEgcHJpbWl0aXZlLCBjbGFzcyBuYW1lLCBvciBtb2RlbCBuYW1lLiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlc3BvbnNlTm90ZXMiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkEgZGVzY3JpcHRpb24gb2YgdGhlIHJlc3BvbnNlIHJldHVybmVkIGJ5IHRoZSBvcGVyYXRpb24iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXNwb25zZVR5cGUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRoZSB0eXBlIG9mIHJlc3BvbnNlIHRoYXQgdGhlIG9wZXJhdGlvbiBjcmVhdGVzLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBpbmZlcnJlZCBiYXNlZCBvbiB3aGV0aGVyIG9yIG5vdCB0aGVyZSBpcyBhIG1vZGVsIG1hdGNoaW5nIHRoZSBuYW1lLCBpZiBhIG1hdGNoaW5nIGNsYXNzIG5hbWUgaXMgZm91bmQsIG9yIHNldCB0byAncHJpbWl0aXZlJyBieSBkZWZhdWx0LiIsCiAgICAgICAgICAgICAgICAiZW51bSI6IFsgInByaW1pdGl2ZSIsICJjbGFzcyIsICJtb2RlbCIsICJkb2N1bWVudGF0aW9uIiBdCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkZXByZWNhdGVkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hldGhlciBvciBub3QgdGhlIG9wZXJhdGlvbiBpcyBkZXByZWNhdGVkIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZXJyb3JSZXNwb25zZXMiOiB7CiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRXJyb3JzIHRoYXQgY291bGQgb2NjdXIgd2hpbGUgZXhlY3V0aW5nIHRoZSBvcGVyYXRpb24iLAogICAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIVFRQIHJlc3BvbnNlIHN0YXR1cyBjb2RlIG9mIHRoZSBlcnJvciIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInBocmFzZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmVzcG9uc2UgcmVhc29uIHBocmFzZSBvciBkZXNjcmlwdGlvbiBvZiB0aGUgZXJyb3IiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBjdXN0b20gZXhjZXB0aW9uIGNsYXNzIHRoYXQgd291bGQgYmUgdGhyb3duIGlmIHRoZSBlcnJvciBpcyBlbmNvdW50ZXJlZCIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRhdGEiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogInRydWUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogewogICAgICAgICAgICAgICAgIiRyZWYiOiAicGFyYW1ldGVycyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUGFyYW1ldGVycyBvZiB0aGUgb3BlcmF0aW9uLiBQYXJhbWV0ZXJzIGFyZSB1c2VkIHRvIGRlZmluZSBob3cgaW5wdXQgZGF0YSBpcyBzZXJpYWxpemVkIGludG8gYSBIVFRQIHJlcXVlc3QuIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiYWRkaXRpb25hbFBhcmFtZXRlcnMiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAicGFyYW1ldGVycyIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlZhbGlkYXRpb24gYW5kIHNlcmlhbGl6YXRpb24gcnVsZXMgZm9yIGFueSBwYXJhbWV0ZXIgc3VwcGxpZWQgdG8gdGhlIG9wZXJhdGlvbiB0aGF0IHdhcyBub3QgZXhwbGljaXRseSBkZWZpbmVkLiIKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0sCiAgICAibW9kZWxzIjogewogICAgICAgICJkZXNjcmlwdGlvbiI6ICJTY2hlbWEgbW9kZWxzIHRoYXQgY2FuIGJlIHJlZmVyZW5jZWQgdGhyb3VnaG91dCB0aGUgc2VydmljZSBkZXNjcmlwdGlvbi4gTW9kZWxzIGNhbiBiZSB1c2VkIHRvIGRlZmluZSBob3cgYW4gSFRUUCByZXNwb25zZSBpcyBwYXJzZWQgaW50byBhIEd1enpsZVxcU2VydmljZVxcUmVzb3VyY2VcXE1vZGVsIG9iamVjdC4iLAogICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICIkcmVmIjogInBhcmFtZXRlcnMiLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUGFyYW1ldGVycyBvZiB0aGUgbW9kZWwuIFdoZW4gYSBtb2RlbCBpcyByZWZlcmVuY2VkIGluIGEgcmVzcG9uc2VDbGFzcyBhdHRyaWJ1dGUgb2YgYW4gb3BlcmF0aW9uLCBwYXJhbWV0ZXJzIGRlZmluZSBob3cgYSBIVFRQIHJlc3BvbnNlIG1lc3NhZ2UgaXMgcGFyc2VkIGludG8gYSBHdXp6bGVcXFNlcnZpY2VcXFJlc291cmNlXFxNb2RlbC4iCiAgICAgICAgfQogICAgfSwKICAgICJpbmNsdWRlcyI6IHsKICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2VydmljZSBkZXNjcmlwdGlvbiBmaWxlcyB0byBpbmNsdWRlIGFuZCBleHRlbmQgZnJvbSAoY2FuIGJlIGEgLmpzb24sIC5qcywgb3IgLnBocCBmaWxlKSIsCiAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgInBhdHRlcm4iOiAiLitcXC4oanN8anNvbnxwaHApJCIKICAgICAgICB9CiAgICB9LAogICAgImRlZmluaXRpb25zIjogewogICAgICAgICJwYXJhbWV0ZXJzIjogewogICAgICAgICAgICAiZXh0ZW5kcyI6ICJodHRwOi8vanNvbi1zY2hlbWEub3JnL3NjaGVtYSIsCiAgICAgICAgICAgICJpZCI6ICJwYXJhbWV0ZXJzIiwKICAgICAgICAgICAgIm5hbWUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVuaXF1ZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJ0eXBlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiBbInN0cmluZyIsICJhcnJheSJdLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlR5cGUgb2YgdmFyaWFibGUgKHN0cmluZywgbnVtYmVyLCBpbnRlZ2VyLCBib29sZWFuLCBvYmplY3QsIGFycmF5LCBudW1lcmljLCBudWxsLCBhbnkpLiBUeXBlcyBhcmUgdXNpbmcgZm9yIHZhbGlkYXRpb24gYW5kIGRldGVybWluaW5nIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwYXJhbWV0ZXIuIFlvdSBjYW4gdXNlIGEgdW5pb24gdHlwZSBieSBwcm92aWRpbmcgYW4gYXJyYXkgb2Ygc2ltcGxlIHR5cGVzLiBJZiBvbmUgb2YgdGhlIHVuaW9uIHR5cGVzIG1hdGNoZXMgdGhlIHByb3ZpZGVkIHZhbHVlLCB0aGVuIHRoZSB2YWx1ZSBpcyB2YWxpZC4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJpbnN0YW5jZU9mIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRoZSB0eXBlIGlzIGFuIG9iamVjdCwgeW91IGNhbiBzcGVjaWZ5IHRoZSBjbGFzcyB0aGF0IHRoZSBvYmplY3QgbXVzdCBpbXBsZW1lbnQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgb3Igbm90IHRoZSBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkZWZhdWx0IjogewogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgdmFsdWUgdG8gdXNlIGlmIG5vIHZhbHVlIGlzIHN1cHBsaWVkIgogICAgICAgICAgICB9LAogICAgICAgICAgICAic3RhdGljIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbCIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2V0IHRvIHRydWUgdG8gc3BlY2lmeSB0aGF0IHRoZSBwYXJhbWV0ZXIgdmFsdWUgY2Fubm90IGJlIGNoYW5nZWQgZnJvbSB0aGUgZGVmYXVsdCBzZXR0aW5nIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRvY3VtZW50YXRpb24gb2YgdGhlIHBhcmFtZXRlciIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImxvY2F0aW9uIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJUaGUgbG9jYXRpb24gb2YgYSByZXF1ZXN0IHVzZWQgdG8gYXBwbHkgYSBwYXJhbWV0ZXIuIEN1c3RvbSBsb2NhdGlvbnMgY2FuIGJlIHJlZ2lzdGVyZWQgd2l0aCBhIGNvbW1hbmQsIGJ1dCB0aGUgZGVmYXVsdHMgYXJlIHVyaSwgcXVlcnksIHN0YXR1c0NvZGUsIHJlYXNvblBocmFzZSwgaGVhZGVyLCBib2R5LCBqc29uLCB4bWwsIHBvc3RGaWVsZCwgcG9zdEZpbGUsIHJlc3BvbnNlQm9keSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInNlbnRBcyI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3BlY2lmaWVzIGhvdyB0aGUgZGF0YSBiZWluZyBtb2RlbGVkIGlzIHNlbnQgb3ZlciB0aGUgd2lyZS4gRm9yIGV4YW1wbGUsIHlvdSBtYXkgd2lzaCB0byBpbmNsdWRlIGNlcnRhaW4gaGVhZGVycyBpbiBhIHJlc3BvbnNlIG1vZGVsIHRoYXQgaGF2ZSBhIG5vcm1hbGl6ZWQgY2FzaW5nIG9mIEZvb0JhciwgYnV0IHRoZSBhY3R1YWwgaGVhZGVyIGlzIHgtZm9vLWJhci4gSW4gdGhpcyBjYXNlLCBzZW50QXMgd291bGQgYmUgc2V0IHRvIHgtZm9vLWJhci4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJmaWx0ZXJzIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFycmF5IG9mIHN0YXRpYyBtZXRob2QgbmFtZXMgdG8gdG8gcnVuIGEgcGFyYW1ldGVyIHZhbHVlIHRocm91Z2guIEVhY2ggdmFsdWUgaW4gdGhlIGFycmF5IG11c3QgYmUgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgZnVsbCBjbGFzcyBwYXRoIHRvIGEgc3RhdGljIG1ldGhvZCBvciBhbiBhcnJheSBvZiBjb21wbGV4IGZpbHRlciBpbmZvcm1hdGlvbi4gWW91IGNhbiBzcGVjaWZ5IHN0YXRpYyBtZXRob2RzIG9mIGNsYXNzZXMgdXNpbmcgdGhlIGZ1bGwgbmFtZXNwYWNlIGNsYXNzIG5hbWUgZm9sbG93ZWQgYnkg4oCYOjrigJkgKGUuZy4gRm9vQmFyOjpiYXooKSkuIFNvbWUgZmlsdGVycyByZXF1aXJlIGFyZ3VtZW50cyBpbiBvcmRlciB0byBwcm9wZXJseSBmaWx0ZXIgYSB2YWx1ZS4gRm9yIGNvbXBsZXggZmlsdGVycywgdXNlIGEgaGFzaCBjb250YWluaW5nIGEg4oCYbWV0aG9k4oCZIGtleSBwb2ludGluZyB0byBhIHN0YXRpYyBtZXRob2QsIGFuZCBhbiDigJhhcmdz4oCZIGtleSBjb250YWluaW5nIGFuIGFycmF5IG9mIHBvc2l0aW9uYWwgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIG1ldGhvZC4gQXJndW1lbnRzIGNhbiBjb250YWluIGtleXdvcmRzIHRoYXQgYXJlIHJlcGxhY2VkIHdoZW4gZmlsdGVyaW5nIGEgdmFsdWU6ICdAdmFsdWXigJggaXMgcmVwbGFjZWQgd2l0aCB0aGUgdmFsdWUgYmVpbmcgdmFsaWRhdGVkLCAnQGFwaeKAmCBpcyByZXBsYWNlZCB3aXRoIHRoZSBQYXJhbWV0ZXIgb2JqZWN0LiIsCiAgICAgICAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBbInN0cmluZyIsIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm9iamVjdCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZXRob2QiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJQSFAgZnVuY3Rpb24gdG8gY2FsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/_static/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/_static/guzzle-icon.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABYAAAAcCAQAAADPJofWAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAFxIAABcSAWef0lIAAAAHdElNRQfdBQUXEyzXFEKXAAACtElEQVQ4y5XT3UvdZQAH8M/veDTtbGpzDsHN406+nA2dodHGilFEBRvsIohebgyiqLsF0Z8wggjqLogGI1gveLEFNtbV1kUNllrzpTNfDltmOo/M2TxHUdvTxfGY1VW/y4cPX77Pj+/D//iiSQ+nnZJSKaZgVL2UERcy/Qf+iwkf6FRm3rKcZiMatKuKjk1J9SifuNq23Yfvwhv/TAi94Vo4Sfg0nGV46zyGnxzZTmc4JGN8UvSalfBFR8/oNrzL0Ha8QZDW3WKGb6SdajGxhWN2bcdJ8m7ZSyMFIw5V9Ldu4SUP/OvaY5LugN/scNpaeLeEV+0nbMetFmVAm5XoS3kJiCOtMpxQEeokJCyKO2LJAkRfh5dDn51yJTxvw3sWNMspmJJXkNQgwzRve1GXylKNWQkZc8bcVmVNgzVl0WXYJ5qLPrJbvoSbLGo2L61LhbS72iyH0XAufB96wZCqUo1IjXpHLbuOcfsM6nDZkkrvhHzUJ6u1hDfslDPnil7nveqeDQlnogHCjw7gCWtZKXEsqzUk7jHrjhuV16Sw+RN/UYuCjdRm5zl3dJt3QsElOZMy/ogGwLo6PGhnqcZLzvrVYX1avS6jWbWpzeSscuT8/PfqDuuyV5Vrzmn0qGn5zdk+IoXgyVIycX9aNetxSy6pQKv3QZU53C8uJYY9cu676HmDYiIJBw3bXXwHmnBVZ3iliM9LuudNX+mWUy5uVVoTKDOGaTs0Z8WQctFzPpE0qF5e3LCDsmDV3Rui626qTonhGcd9qN0eWUk15r3ginZQo7YdprUUa9z2uy4Jw57yuWd1yFhXBn4wC8XBxjGuyaRjCsp0WVAwac04aFILeiSKyWuWJPUruKDChDF19lsB3+oMA+G0o24WMctmTKr2tFs21GiU8xA3RJ/52IhqZ6K3pvwFZdL0Z6/fKD0AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/_static/homepage.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogSGVybyB1bml0IG9uIGhvbWVwYWdlICovCgouaGVyby11bml0IGgxIHsKICBmb250LXNpemU6IDQ5cHg7CiAgbWFyZ2luLWJvdHRvbTogMTJweDsKfQoKLmhlcm8tdW5pdCB7CiAgcGFkZGluZzogNDBweDsKfQoKLmhlcm8tdW5pdCBwIHsKICBmb250LXNpemU6IDE3cHg7Cn0KCi5tYXN0aGVhZCBpbWcgewogIGZsb2F0OiBsZWZ0OwogIG1hcmdpbi1yaWdodDogMTdweDsKfQoKLmhlcm8tdW5pdCB1bCBsaSB7CiAgbWFyZ2luLWxlZnQ6IDIyMHB4Owp9CgouaGVyby11bml0IC5idXR0b25zIHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5qdW1ib3Ryb24gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nOiA0MHB4IDA7CiAgY29sb3I6ICNmZmY7CiAgdGV4dC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLC40KSwgMCAwIDMwcHggcmdiYSgwLDAsMCwuMDc1KTsKICBiYWNrZ3JvdW5kOiAjMDAzMTJGOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjMDAyRjMxIDAlLCAjMzM1QTZEIDEwMCUpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCMwMDMxMkQpLCBjb2xvci1zdG9wKDEwMCUsIzMzNTY2RCkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjMDIwMDMxIDAlLCMzMzRGNkQgMTAwJSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjMDAyRDMxIDAlLCMzMzRENkQgMTAwJSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCg0NWRlZywgIzAwMkYzMSAwJSwjMzM1MTZEIDEwMCUpOwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgIzAyMDAzMSAwJSwjMzM1MTZEIDEwMCUpOwogIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDIwMDMxJywgZW5kQ29sb3JzdHI9JyM2ZDMzNTMnLEdyYWRpZW50VHlwZT0xICk7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDNweCA3cHggcmdiYSgwLCAwLCAwLCAuMiksIGluc2V0IDAgLTNweCA3cHggcmdiYSgwLCAwLCAwLCAuMik7CiAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDNweCA3cHggcmdiYSgwLDAsMCwuMiksIGluc2V0IDAgLTNweCA3cHggcmdiYSgwLDAsMCwuMik7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggN3B4IHJnYmEoMCwgMCwgMCwgLjIpLCBpbnNldCAwIC0zcHggN3B4IHJnYmEoMCwgMCwgMCwgLjIpOwp9CgouanVtYm90cm9uIGgxIHsKICBmb250LXNpemU6IDgwcHg7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7CiAgbGluZS1oZWlnaHQ6IDE7Cn0KCi5qdW1ib3Ryb24gcCB7CiAgZm9udC1zaXplOiAyNHB4OwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgbGluZS1oZWlnaHQ6IDEuMjU7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQoKLm1hc3RoZWFkIHsKICBwYWRkaW5nOiA0MHB4IDAgMzBweDsKICBtYXJnaW4tYm90dG9tOiAwOwogIGNvbG9yOiAjZmZmOwogIG1hcmdpbi10b3A6IC0xOXB4Owp9CgoubWFzdGhlYWQgaDEgewogIGRpc3BsYXk6IG5vbmU7Cn0KCi5tYXN0aGVhZCBwIHsKICBmb250LXNpemU6IDQwcHg7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBsaW5lLWhlaWdodDogMS4yNTsKICBtYXJnaW46IDEycHggMCAwIDA7Cn0KCi5tYXN0aGVhZCAuYnRuIHsKICBwYWRkaW5nOiAxOXB4IDI0cHg7CiAgZm9udC1zaXplOiAyNHB4OwogIGZvbnQtd2VpZ2h0OiAyMDA7CiAgYm9yZGVyOiAwOwp9CgovKiBTb2NpYWwgYmFyIG9uIGhvbWVwYWdlICovCgouc29jaWFsIHsKICBwYWRkaW5nOiAycHggMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsKICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsKICBtYXJnaW46IDAgMCAyMHB4IDA7Cn0KCi5zb2NpYWwgdWwgewogIG1hcmdpbi10b3A6IDA7Cn0KCi5zb2NpYWwtYnV0dG9ucyB7CiAgbWFyZ2luLWxlZnQ6IDA7CiAgbWFyZ2luLWJvdHRvbTogMDsKICBwYWRkaW5nLWxlZnQ6IDA7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQoKLnNvY2lhbC1idXR0b25zIGxpIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcGFkZGluZzogNXB4IDhweDsKICBsaW5lLWhlaWdodDogMTsKICAqZGlzcGxheTogaW5saW5lOwogICp6b29tOiAxOwp9CgouY2VudGVyLWFubm91bmNlbWVudCB7CiAgcGFkZGluZzogMTBweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM4LCAyNDMsIDI1NSk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBtYXJnaW46IDI0cHggMDsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/_static/logo.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAV8AAAG7CAYAAABkYJYVAAAEJGlDQ1BJQ0MgUHJvZmlsZQAAOBGFVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mpGwfb6baqT3uBNwb8AUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PEXPX6yznfOec7517bRD1fabWaGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7BFffO6+EdigjL7ZHu/k72I796i9zRiSJPwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDTNgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzYZi+3YV8DGMiT4VVuG7oiZpGzrZJhcs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0HPBLsF+vuUlhfwX4j/rSfAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgjONd1ZxKzpBeA71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyoBc3SOjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpnEdrYBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKUxL1GNjwlMsiEhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPsMBtnE6SwN9ib7AhLwTrBDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+hpqwSyv0I0/QMTRb7RMgBxNodTfSPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7GtsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1cAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/IPszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0nfS/9TIp0Wboi/SRdlb6RLgU5u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8ek6fkvfDsCfbNDP0dvRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWWing6noonSInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8OokmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0Mbe5bRIf/wjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10t9F4gPdVzydEOx83Gv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAAAlwSFlzAAAXEgAAFxIBZ5/SUgAAQABJREFUeAHsvQeAXVW1N773Pu32MnOnzySTyaRNCgkJhEDKhN7FkqCiTywPEWnWh+0f8D19nwXRx0ORJwr6UCQqKqEYAxkSkpBGGpm0yfSZO/XO7ff0/f+dSWaYFPDzIyRB79Fw7517zi7rnLv22mv91m9RzjnJH3kJ5CWQl0BeAqdXAuz0dpfvLS+BvATyEshLwJFAXvnmn4O8BPISyEvgDEggr3zPgNDzXeYlkJdAXgJ55Zt/BvISyEsgL4EzIIG88j0DQs93mZdAXgJ5CeSVb/4ZyEsgL4G8BM6ABPLK9wwIPd9lXgJ5CeQlkFe++WcgL4G8BPISOAMSyCvfMyD0fJd5CeQlkJdAXvnmn4G8BPISyEvgDEggr3zPgNDzXeYlkJdAXgJ55Zt/BvISyEsgL4EzIIG88j0DQs93mZdAXgJ5CeSV79/xDGzq7HRv375d+jsuyZ+al0BeAnkJnFQC70rluyoa9WA2gjMjRxmuPPKevdKeCK+KquMeaOwsuO+++07J3J5vIkpDf79va39/acZ0X65VTJu9srFRPqk0T8EfGxoaxM1NscDzTU3KKWjubTXhyHVDdGjc9uah4MkacsZ5sr//rb+t7u31OnL9W+flv89L4B9ZAvTdxuf7TFNseszQr/EYiZWlwUI1SeVLJJrbyXWmmoRcZFKrv1fjU8oY++NrU0raVhBin+wGbo8Sz6pH7lNXrFgx8r2jrO09UOCdsiBOlAQ5YfBy1cx6vIpgU6qE47o2VaBCZ4gF/jSrhGRO1u7f8zdHiRcEq/whyQ5ZhBUTi5QygRZjDlWWTle5KgLb5xJi/D1tnuzcNW3xOZyZvZdVRaL4/qQEzp/GIrYsXOMZqgmnlxGMBMeG9th0JolV3MMPpQfU1DiXx2oXs4LLkhS3pBRqeob7vIGEkeUWcaFhQRfFFBVyIlMuKvUdQBO4JW8cGzoGypnIZmZNOtc2rdelCZHn6o87542z8+/yEvjHloD4bpreyqaeIp/sWk5tupxIhZtNifSIpnkDZQq1mb6LC2IGaiOlEPPqrE02kQbSQeqPKN+VK1cK1eddXdQn6JGImyku20gtueuuvo0diULmJkGeYS5L1AYEt+ucIsviccv0GBZ3y5LbpZsW58zyiERopaZFD6QalVkldf/XytexYifV1iqJ6FAoS6yIxKUCTsSi8nBlqUDtCkfxUsKLicBKGSURhYphXdTTqf7+10lR0dtWvgpjUzKmat1HSM974vHgUJJOdI0LNpLOXIFtqxPC48KN57sraonMz1EODDxJpkRSznMhyvI0bhuaoInFXkWen5KpGbZ8HtPWdU6sQo/sTquaJlLcEEsToFOZIAimW7Gp8avdu1s/OmvWsPLdPkSCuWxqEe7PBMJZWBL5TTmLPBBMp8PbYpY/HeCx+lAo/lbP4nbsdmyuFLLygp5TsSC9VV/57/ISOB0SeNcoX8dKDHjKrzW5bbqZEBU5kwfi2f6QzzfEKPfHc65OQjqbXZ6ymwIyk0zmKN0GyLB+WI7uhcsUkyTPkU0+g9u8xRA9lpLNeC0mzSQm8zG3bStcsYjNa2zG+ymRc5JiczOTwwZZJoalMRdzHba4LatmoTbc6N/4z+aB7FyBmJML/GXFg9FUqcDEYhcTiygnBTAuiyxOIpxT6F2StBnNiZx4TM5LReq4VMRJIuYxtgtnAZkzZ5mYKiWBvt7+oDKxqLOeEHXsOSPvHSszzqXctl/8MLH0lru6RcvjWQL+5nSaXSCK9Mbepp7HCzyybovi7T0t8R+HPBIUsT23kJAnR9qgXG0lVCqwbEuWREEkFpdNagZthfUIptSpU13CWgTdTolok6EsM0y3JTJbIGmXKI4uGjrJjDO58VlChV2M8UHdsFqZKL6opnghlehnXGn66+c3Pb/TPX6eVF9XlB7pf+xr2FU4MWVrtdr+rnVkasXg2O/y7/MSeDdK4F2jfN3uktk2JdfDN/CMWyC2IJDpluA9YBBLES2hbEohEw8M1qVNq1+VBUF1MT6/rnh6I27K8I/Zp7XamhTqDbikc4lpt+UMY4IkKXWU0nLOLc22hTiUoCgy8irUdlzgdp/OhUBKUA9FsoKV9lpm37rn1WXLlllKBZE2dQ5WuASxjMtCwNAt0RK5iv32gOlROy6KRJw+ObXt6wRCP0AZL4KSDaq2pXtE1godCIXLJ0DDSrrJX4Fd/SQ3yCAsSB+sx/eKnF+C76e5DQmb+SOHY/l5LliyaB8fLHbFrGYo8gq7szN336OV0RUrhq17islKdYTojqWtKIXv8UrEWPjpOzYahuBY7u/t3968r6ysSNIt81yfwp4UPaxFTZFuW7CvDXK6nzNpX1Lo0wmJDHdakInsSQeT41JUSmMlOyRqKvPBHdOjSmoVM7V9qioEGKUhl9tyy6qazWTMvYODwy6LW+bOHVW+OVVIUkJfMk1GDWpcJhBxS7sZ65hAgksFUZgPK/pRad6SOlvNnfNyT3LvkBo7dEN19agl7MynKlhUxwW5jIa8M3Yn1Pa+we7YpTU1iRH55F/zEni3SeDdo3wFBl8oa7VN7nFLUtC0zWpbFIos29yrSOJQyk653OGUmHO5/qjErUWaSSd6fPKo5VhfXe1YiLte7U2dl6Mc35itInVVG1zfIXIpRbiV020j7Skr6t6zOSbcNN/nbL3hH60cvad0+XL6SjQ1nVjGQo9LmQ0rtVKweVCCJsTOO0cVMqBYymoElJ68vKQkY1u2aIp0HBYMP2zZHaZJnjMMeycsdSh8ci80fRh6uCeezDx1VW1pPzpiq1v62hS/182xisQGB+GEcGKLhAzCvBQsNl6i9D0Kkb/OAqwtPiho195J/BvbYnWWLGi2YRWul5lebNfuzQjx6ZppFzLCd0keOpDLCuf7gr5ITMttUQQpLrrEpB6P92ao+0G090VCyY2MGD9119YOK0+nz9paAgs/cMh5f+Q4MpaZRz9NxbTeOPykrqiIQM7DQdA3/k7IxWWutt29iR/HLPpFw6Kl3NZaJvmKZ6TTuWWYzypNDR8QaXyabnHVzXh1iAXPbWglj9dXv2HV2wJN2KYhwgd9DtGt6kggMrA7YUTTsYHBclrWi25PugMYO478+7wEziYJQC+cVcfIeGBPYTs+5qDM3mFR6+dUIusoI4cYFfdLRqbPMIUnZEV6xtBE3WcrswozwhRJkA4azH6B6cHsmCaI0ySz7R3ZDB90EaPVsvRXe6zsugsrApsurAjvTApmV64v45taYYzfkiLHICYc9MTGaGqxTPk9siR91eb8g4zTCk6YCjeFaHNyAXT1cljnH/PqwjA6wCLWPtikus1phtrWjy07/cAFpcHfmzZdDW9DAi4O6Hx7QsQTHLFwbd1lbdAN7TuwQn9UEBBHrb8rSkuzLsG1URDgmya8DIuQ1ydraSubEqksLoNCn2kLopzSzI8MePpDJrV3GrB3Ezbv7H3p+YOGbaUNWTm3aEJxUrfNjUSTFlimq+a18SVtgsj/FwIvdxGpq/5NApQjcvxbSI8X+zIlqdLaTzT0Z2aPheXNwmKEG9rOGHtIpu5NXDUjoiiGiG2s85GegIR1Ej6fIYxtjiCK87t6N48iSq6qrdWIwV5zSfJ67Hh2w22kiqIkG9n0+W6/f0GfP3fVjr74Oa/2xKsdtMjIWPOveQmczRI442gHR8keOsRlUktItKknYIkuw08TbtPwC+21BdGRyPtYIb4UTVye0LMd4ZayQ/X1RyLqDnzJYyq1JpGobqdN+XCuqb5+2NodeylxlGjdihU0uLvXFSyUwprMitymVEKoUQqfJP7xSkkQS3RuPV4Q8f8Vwxr2727rTk2BL/N+gdJLsQUfgvL7XyqSDVgt+qEwQpRIH1Mov86CUsUCcemzYV/jlV2x86FgfmEQmoSK/uD544OtGAxfdTAaKQl6nxMFdi6svQGDWlcsLA7twXcjyItjxjzy4flYLACwwVMCt9YIgtiVaImu0sKWVhos/z8IZLXoNPVr1XA9KlHyXy5ZiaYN/V4XJY96JHYwlrO+CKRGU1YSfiVn9WJR5jWiW9p3SXGwteFgtMDyuB4LeFyfOb/A3QlzH/8/4aCvx9NLLJXMULz8N1P9/pP6XVc1R8d5Jc+jsshTFhce21/uf/6Wo4iNlzr6JsoBJbYwGBx6rrW/NOyWp1uaqyVnZ+fLMluoG2ZcFCSTUH1LoCeyeu7cE5EejwCVMS0yPuKRFcNm9jkiFall23Pgx8lAjh3cyKxZUFmZO2H0+T/kJXCWSeBMWgnKSwcHI2s7+tx9QrqctOaSUtinuQzNByCAldMyNmls7CN1daPb4BHZsQM7Xtr98sv2GJgYcbb5+H7XkXO8hFSNnE3Ips5kgc8rVKi6Wnz9Z74QMntTBXaxuwzWXpWLkyIi2CWMSqXQfSHbJgHO8bPmfP9gU2xdbW2B5iwQW3qT1yEQttAmXME5zyPw9OBFxeEO9DKsqDZ3J3QqiSFYuAZ8wLRuJVTIIvkwtvMPiLYVa/Ho/ecfPTdnDiVt6muH62GWwFjI1s2qxkayr66OwN/65kf6xRcz4QWX9VHGbNXWtgZKi8dLbtHImHqLQewZCCFG3IqUcZu8NumFe2PA/qPgOMBNhnAZ/60k0oy3v0W9fNasfejF+Ue2Dw0FJZ9nDmFs7f7OQzFeMOsYxdvQ2uoKe0PTBEmphg97OVFEr62aL8DjEMPlx5zrtJdTy3pcUiJmEfo+BCf91d2xgYb0wMGlkycP8qriw845znF1dVEPXnqc9k3LG5eJMiAKwiDCdW2HD77+4s319cM+48fwfUQJFgczWm7xEz8d5CtWOH93IHNkw8DAFmZkrazFeoOyD/53dz/tbDZJ5RuuIue8/JGXwNkogdOtfOnu3l6PKngquMYLFJ/lp5ZCsT0fL7mkQ9y2O4luZFMWTfgzLvXlurpjcKIjAqyvrzfxb+Tj33yFhTrftvhNgqCMw04/jH5CnJIwtsA9ps17EP7qwRZgDyfUhOlZARTCpdSiU3NebXjr+9RTTzFsdc+Df9aF6wi289vcRB1Ax6PKp7A8uHmgO/Fdm1uZYndB24XLYMVS/8BPt237hRN8mjdmlMvq6vRXo4lWLjHoTO4jslCdCxPnXryl8nWaQJAO6A74s5kcsF18CYKHXQhm9QAWFzRgNgIu8UdDtLqqAgXptj7yB5eHKC88eF8WC1XT8BDKZg2/jP5niADQYMazVPgdoGHHuGmcc0oKyqos074JAljKqbhNsqzfWHLAsXpH5z7aFt4E/UOTZZFVmyZCfJRPBmzuK8RbfHBdV/KlDYq+DsFIx5c+ehz1xb8AN8UOyeQVaU2LlOQqh9t2Fr0Hd/VcXhbi12myMrT65rsPrmqNvrL98bKDTpBxTFt78Fw108Od+twxgb7RTvJv8hI4CyVwOpWvsK4zWSOLSoUE76sqmmUydx3Sse9EwGdHwpC7pZ6+rDa7Ol1/FHg/9+QCo7B4fDLzhmhGDRI/wm2ZDE+KckIyUj0n23IKEtcNDtSDzQdhic5C90FYnLZtkSdEJm/Qssk+6vf1Z6M9pqcgXE4oC0NJh4gYGJYPMr3IlxmDMecoHE5kxmYm4nKYlBFnezusKGoJSdaWB9eMDHn4jzBtcYxG/Ue+c16BJjuI5gwKzQ9cRG1Kg/FHQllYgqGE6J+C4FlAcckHM6+EOpctO5L0UAO4XNyKN8MCdRNbdNtUbzbcQpuSFRK6oG33Znl/95TwvhFXTR0GhUObD031ZsfcmrCDGNg69vvD6XSxrdFZgJRY2XRiQPH5dlkmuYwyS4wmzZcvrSEnRRk8vb+rMOD33cFtMlsQaSc12c/Q7jQsZh+VRAK3gvRzpGj/8iT3iNcXeXvgT44VhasCS68qBo6YkHvvvZcGZH4uFsVym5Ect6yrqKAsXPiJ5EMIBG7HKaNuGsenTEpKxk4j/z4vgbNaAgIe8NMyQGBUWfHkibMtU6jWCe+2dGuwUAnvtyWa3psbbH/9sR8nbv7gDbnqMT+oJiBsd+RSoaSmVbaltcnRTHZOh6ovBuj/akTxryUSuxLY2ItNJi2RGb2AA73QnjCzhwPywNh2tnekB9wyeU21+BZG6LmweMuh+OACZY+kM71/WVRd0VnlkVI1xeFMld/V0zaUg9+W7mdD2u5xEY++bPp0Hs1oExAeuwhK2wXlXSrIROrMaqwrzvU9G9ZokyZNOsE98laC7cylwpwL11NOfaZlJQVZ/HOVT87sU0U/16xlCA1OVHVddU801F0vrEpPxxj0wVahTxQHPLqwUw3a7UJJwd56r6vbGHDlgKsIumoKBi99i4wxh5tiyGJT97nl2Fj5jB3ndqQTI53vRovTSYTaVxLB7c7Fun9NZZ/OmPCRkIcezBCuhpDLhuuGVxfnemhCScvaHxco+YzhBBIpe1AwY/8tCZ5tBre9gNxdiXVmBhOlNT+//7sD2LmMXjvS//SiIqvar2TvPfoHZ3fTHM9qWAxf9gju54F46MXe5G7NNoNbOprWnFNSctKFbaS9/GteAmezBE6b8nWUx8G+IVmQSNyyeTQc62qf8cuHsz+9+rLU7FDIcSOc8GNstuKzYA7eikDY9QIjV+H1Giira6hA5+KHPF4SaAF+mBVobzY+zwMSYA4M2iphKLtvU8A9MP2ocpgCBVrpc8XHQ7F2ptXpSMmaDeSWQiy2k7vo1nEezzHb/c2dzYeV1qbdi+fVjcKXOjQjjsS3WSKjlUjJDsP6nYHt/nSgCup8ZdXj2xOZonbdpF0xJVsVODat9mQPQFN/Tkaq7TIE8MIwqW1k6v6+ukAZOpCSuUTVCYZtxzM683iYVVhcUjdQVSBnQ5BTrd8zWBV2JWrcbq0aC5WDgbVFPoG5xCVmVh169blnko6sj++zE4qXusM3IhH4UyybPVDhdfXhnGPOc7b5t331G5+QqDBJ4MJOnVoXU5uHdep5Fu7i/aIo3wgbfLbNBLVtz6695eXlo8pvf0fsUpfEvoH7UW4S83d61v7+FRPLBx71KwNR3WyG2+a9MiU1Npc25coKGueWl49arcePdeSzk1RSOb02jgVWz+lWASV6CcZwjWYhm5n6f+PcV+dc57zGxkZ2snmPtJV/zUvgbJOAeDoHVGmWtRxC+sFVwI9uFOTiTZ+8fUZDpzaopXoyVRFPamVRUXbFGMvXIoIXyq4adtQ0jHMKNugI5FPVpvZPLSq+zk0zg2wtxbLMOVQQ3iNyu4ozdgORhAPh7c1tZO6JIHyBsNdh/epoi6jUrGXqKBaYbo3B2RjPuIdyuZZl8CuPlU37i88fqFx4xf0G5XHTsheLshgB0mEhkjIWENuOIVmgVbJpExdTr23uFV+Jpbp2DEOkxjYy5n2IpHpyvADwXV4tCaSUe6yyBkJau7u3G+MKK140qCtk8+xFui1V9LNc/5rtfdplc2uS0JaOwmTYoovBwkIpEi6uswyhDthjNxdYEZk+3QkCnmCFC5WVlCazXmbSKR4qfwrEC1+ZQkiqBdAwAUG0F5pe78CiYuwZTC+GvA3sTkqRTbgKkbqdXkmaLJaUHjQG0vsw3iRVrQ733Lmj8nmxPVaHFLjPwx89GU7zFrcoP7hkciB6dKxkMDUQd0thE4smQWpxMOx204auWKUiiOWdpYGdcJMcs/hh/HRte+Jc9wVLz0tnxHIkYRQNGXpBSJTKgatuc4nCr5O5qLZ6t+XVA8J5/vMvrgNyhD3bGe9m1N5yVUVBF9pw5JQ/8hI4ayVwxqBm6/uGZgkmuwm/4Ah+UJ2yW1BVzZIAm/3JotLhhAPS2kpcXb5sgZEzyj2K8JhI+TTgai2Z0Pfs72990QlcOZL984EBf2nQ9TGB8W/ChxpG8KnRNvh7FlQGnOj6MT/C9dHEuV5JfBpui3FO4Ax67Lrz4G902tnWm/iZSViJoWq3LBo/TELj/HnsQde3DZSalNZ5XdIiuHQvYpRNpwRoCRzwdUJtUOzKaZRa5kNJUftZfdHJ02WdM7dEk7+SJOH9sNxdXCC3MT31+NyysuGg14PPgw9iaqha5WxGxjCqijyuqC5mn7kW369pjV0gOY5zQVgMWEY/3hSLkvDXaLrvMDLDHH/sMXN2JuBYtd3d3N2rJC6CVfsL5IXcoxB9UCXiXdg1lMAnvjK2a8sPimbN+xIu/gL8yvdRWXlG18xrKLWmmgb9hmVrBRFPpLcm/IbP96VofDxSvR9BavIlIhw5JiePKnbqjrF+3bVdQ1/RbfJ1AWa+n5Nr2itC6yJdg/UuJn0H/uBXKTN/sqa0YN+KowtvYz/xNWUGfxmQhIvxfSvk+lhvhrRFXMYA3CG9fSzSPlOJsj5duQ+7nfeqhtmjiHQHt2kpTPGwl1nfHKwq2jDi+3bmnz/yEjjbJADj7cwcHom0gaDlZwLlr8Na7bN0e4ZMhUomBkaz0qqRtXRRxNP98uEdOynl+2GxGniVstycUBOuG7XarwcRDFNIA36oCawmjqYJSdxy3Yd3x88uTYMdgJENwIWAeBspt01z1ta+2IXr2tO34PqLYZzNC/hdSLAgJ5MNd5RyoL9wnWazh5BSdqdO6MeQrvslwM9+DyTEANAOHk7sWhPKVOShic6W+PgxHP3MDZu22cgyQNIIkj/INLhXh9EVzvd3XFWruaipuWTGPaJYDf/vSCIGUZHOnDTsmbBvW8BlY4nU+HOiO7X/aEruCYq3NR4PIV2ZlJWRbC4bfAUn/AkLxufSNvtXxvnzAhFeQgLyp4tmnbvEMqz/5VR4ThGFaxm3vgx5BgGve3RumX/o/IrIwbGKtwFKktj0HsptQPBIElGyHijKCUlC3CNzXt+V+IAkCJ/CguQeUo2Gg4ODex2lGLHE1wAHUQXCP2zowrWXJ0nIWSCc6/r2NqjAWz8IPqNfOt5ji5JFfpchiopYIVmi5+ZqordmpEtw6k3ov02WlS/lMsb9uPpeJL5kAD37mtDWVjwyhvxrXgJnowROpmDekXE6mUcjPy6ng+Y1a9LwH0yFBTaNMbIIf1oPCNWPuvtaHQjXMceKIy6AgzYFOsD5xiKTQGE4qqSdP+UyaqFlAzQFow843c64qCZHLCnn+5HDvb9hCAGhDqhlk9k0giDSAwKVH3Z76D0w3MpghYZzlj2ublnjqHIfuXbk1QH/Lyr19S8uK9zn6tjf4NHYz7O6/RWDmV9ANlsbFgisJ6zGTYwFNQsXKiPXHf8qitZhxgn0NKbEyTmaLh1zblJLDGKMKVEgazWLrYlQd/HGrtTNwPKC54aDOwg2LLFebl//4oHLZw3jnI/vYvhzwhQ+8Vpf4pLGWHpZUYExLZPLPAzFF8D90Imdeypjpu7njAJ9Id4NF0gYSSPfpLb4PUDrHkNPj82JBF9zhug0NsKTPHwv1YFbQRL0/pxNXHC//AjK8jdukc2SmO/e51vjN6yLJu5BP99EEkQ1Lm0DZO1+16yJDkyN9HNrGpR6JdwbIYuRW9LxwV+8Ek18fV2nNullYLgrBiKvQJt/V6Ds88AitmUs+25u0f+QfWQmMucEWRYugv+/ED7+R9t7Dm67YWpp6xXjCva6BLLaJbDzwyR8rvPM/RUEQxs7hmbs7+oqhHI+YTF2xpI/8hI4ExI4Lcp3XSxXpU2YdfOaztgtw9YSZuoQ1MCfONEw9Z6cYT0Ez+2q1lLf/hFXwvHCoCbfB4tt2FcLnEINUVOjyndLW2ICE+RbZIEjKMM0/NiftFnZ8I/8+HYQ2DMlzg9jq20giCfjBxlHSvAfbN34dxhZP0IiAlBwrModDp+gfJ102a3IzNqezZatXHmEzN3Blc6uDsUXVwYO2QPm07ACX4JQYdFBMxJjwlDONTrO48eSM2G3IS8YChsoOD4H7GFf29aT+vLWgfiSRkLk90yZkpbtoa2tJl27bHJht6ElNCLySrRY7yWiWwNvQ0dpqMORpaMMwZ8w4UBCvXhvMnne7t29yDQZPgT4zadCiX4H3BgXp4Yy1oLKkv1AHzwKl8U8YOXK/xyJ9AgWeRrEPvNtQbrVbavxg5tfWrvnhVWb68KudrQyHBxzFO+Cj93+6ZejQ19d35n4pkHFO5DqHJEF9oypkceQ9fdYEi4AN6UfDinCdxWB3QVX0FTdIq02Y1831N5XHav3xZZMCTh27oHVWw4ruwtEdc/itQK7h9tsln1w6a13Tl81l1jvqy3oPNTTtE5X+A8ZF/4zbpp/BEnPllWrVsH1xIGCIDC09cPRuXOHFwZntrj5fojCjS1SRJ82Dbx04rcGbfsXjbr8+BP7B77e0NNTjdPyStgRVv44oxJ4x5WvwwVgqep1SAY4LDPhIuQmTG1oGE4oIGBpfBYhmC0ehU2zMuzmomg0/GbSgMl7wLJoDkkRBFvLalPk4W3tiZpXexM3EoX+F3x+V0ORxU0oUFmxf3d5CRn2nZ6sPXAxHEKWmA4XA0EacSPYxn6ZELSn0iT1MPyXn9OZsdFXVnZ8EIiYVZNuFH2uR8yUcV/BzK7Q8W1f5Lg/qJCFG8GGWwOaVUq4DeuEqD4Ce1WbOuKfEBn7V1jafg7zEQrSD5/oRzjjnwWPwSWpWAzJd4TXg91r/Y4XM883xfyi4GOw2i1wOewzjOxfD/ccbHGUWRNArzv7U59GHtuXYfV/lhvij6Vx/h9uG0hNaezuB0KDlaKLGXDaHNLddgvGbWiZzK8ggwGv4L77kzljHrwXKizJnyMo9qicSAxdddVVmqPUj5+jLAk5sJItd8n00wqjVRBhI/y8/+fiCaGOVC6637CML8KKXoPFBLQVZAjK+YmcxT4bU/ueQRIH5tGkyIr5RZdA67FTwf+sB4jk/T4T7f/EvfXKVKy3dX5FXeORZ8RJULm2LNweoPG/9sRzP7hygr/JyWzM6MbzCdMaAr/dVXO3R4ddMn9q7p0JZ9H7QKbh4LoP+Q1DwYIGgLb9JyAkngu4hKXgs/gh8Oa1mFdeAR9/c/OfT6sETrDuTlXvW2OxKjVN5hcGypC2SzsiItmfsO0BldM71Ir+R+9r7H/1vePGJdS0VQcQfVSX7B2gJhyNoJ8wDjPZpUv+QYWzMlA0Vtsm+aEhk0KJIcLPWTm03evYxj6oWuZL9cUF3bgeuutNDo22mIptOrtQhgBbuqcvffmsiRmcnUMCx+9cnRH1whJiru8Bebvoq4MWjdvF3kaJCRH4NC4UqGizoOsFlMJ51kFuOL04luem/tQSkfDFholMOMKTFje3u6ZERuFqI6OhII8RFeFuqJ4QxrwLVn0rBtJCuRU1CIvKqPIAONbw4uFwGXxu8aVTTZtNJkw8iAXjOSuT67ukpqLvEiTjNUGZpYPltyuUGhrT/9dMCTp1C4ssk38WsvETj/QdzabfhntCpBK/jsgFT9D77kt333LLUIy6t8HqviGR1feAge13WBxfqAu4e1Z21oqd2LI7u4SRMTuvjtJ7vqnn2aDHO5TVrTuBMFgCBb7FinW8TirqbGfXApk0EL2vCZZsxOFU1nRxQMt2dt10NDjqchd+DJjsm7CE+iC4XzDR/M1lRa6eP7dl/QADD6k2QqXM3LCs7li43lHkiHNfh4+2fmNXVUT8tmaTjyrFnspVbQMJkbkusm1zKtARPxskiUZvZXXabu7/DxDuD2my2/RbPIH9yoO6pd+wspH8CH2csMCOtJ9/zUvgnZbAO6J8n4fSKiTei5GB1Qge2zkGGLgGBHk9cKj/7fG4bvbKlne85GGxAVMHymEITOUCE6S58XhmcHuInLR0TlFl5UBfd6IHOOFpUBh+KKtKWGqSbfMq7NwBTWVlIGa5wbJZcuWmTX9ZtmCBk3120kMVjXaZyxkoyiK4B2qKx1V4HOUJY+1IyuoROlvipb6L4RD4PKoubHLH4/emDLvDK8lQ6nbERYT7vKHMBa/2mC0I4kubosnxzLSXQiFNgSUI9zX9JTy/O5GlN4qFHRmMweVGxrPfplyOEd3s0300ZcWlrBW0ctWhgFp9hMyHO1ZiXUn1bMGWZsf1XFWhl+3RXh9sf/nlx/VFUIROe0awdL4okgtgon49vivcWA+ioT2JRJNtCF74k281bGG1ZKWfIsz9ffg4fuXJpr+25+4vd4C8OCYYxm6bKa9ptr7u3OKgYxEPL1hlBfELWXiOvCOuHkDkjPbFEv6g4tGGKvztDvUl+Bb+UikGm4FSuQu7hguy3qpZCCxudizlI4tR8WGYlc1obLi9ta3WFRujmelZM+tmVP64atkOKmEDQoU/aPjpQ72cr+CrdxutdgH5PLLirFB18a61fZmZkmXUGHDNBINs7zMPBJqRqDe6i/jcgsrcysbOJxSPq4Vb5iK/JI9L6jr6pI9rWePZm+uqE+BAdiepkAx7AuVubtRkuHk54ZIPCS3W2y8C5Ug/f+Ql8P8uAUfh/L9ffdyVq+FnZEFlMrJyDZ62bhe88rfsrDFdY9Y5ik5/6vEI03KGWlkUKlq/8vv39ZElS9hlk+d8AVvujArIlI8Ku5MHfKNMZcc1T16Npv4Haao3QbG5Ecj5rmboz8AVMdctix8H6c1Uw0ZQiPIOZFd9RzSTvx2BbR3fDqy3orDX8wL6nU3AE4schytbCgPbnS38yLnDZWsE/w8RSHLgcNsy6YEbOYsUSpL1O7coTHb2rLBCHX8xeHuHs+XcxAIxD6UDsCJ/K3uU/zr0lz83n2zr7viO9ZIScXVlpbHiTTLS1vUnJzGDj1eBcVY0a7PhEirg4ewtLS/Y5hCmj4zzQCLzb6pu3+DyCu+f4vGMWoZNuVylluNPw6WxX8zadw/xRDbgKfgiPn/AwSVDCX6HWMmdWDgyU47jW9jQEbsRJX/gFqeelK6bEbcchxelQE9nVi2eVDaAZ8ahuKAIqo2HyK43ib56hG9hZFxjX9d3p96TtLT7vFQuYQIvgYLszGTNWzwTC9bUj5m/Uxg1ZHhKuUQ+hXFdhnsaiql6BtxAcbhOVtmS/vDx0D2nECdy8IoUI+trNy0jkegYmOweZ2W84r9InMw3GS/HAu1PmZZPBHeHXxY2m2b2+9fWVMJb8xa7o7ETyL/PS+AdkMAps3xfPJSoESMuRH54t96UbFDK3W0kl1sOeFiPwulf+rd2Z4sunNDhz5iHVlaQmLOFxXzsbb3pZ3U9VyArnqqcZdwiTEqsaiTB9WMVzMi8EfU/hB+lo3jcKMAY4AbbG7D561nF3MGIeDsTyFXUJlPgbf2aLQbI5qam38+vrQXy6djD8vIM7Nw4MKKIzfEgsr6mFB4c7NoZ9qFum1EOCNxEQfCfj4DcNdziLijUGpe/PMxzfc0a8XwOpXPOB3cB8olpGWyxAihbZEmTHjCDNVqWvcHk1o7zA0rnISioY3smBL94pZmEXcsqK5MLjvvxH7W++Wb4cNMZ/ZIcOg7Bw0Flj2Z6hJ1yNM73lhNrOk502h1WgtijY0EqtzOstsFD+uqPKrMnvvvd7uV3fmGHZoGsM8TEBd7K3Ot9mUfgMF/PTDGbkjP75xcVDcsGqcHBPQ0N2seXLtWcNjUts435/JZqm0rGRt0kVOAIwteyhaSTzvfDfTtjrw61omL0r3boQyDuecMqdb4fe4DseD3wYivAsXGLSMR6nRvbFZe0tX6M4nXOV3JixZBo/XsBFy6Bshexu/k1Vrg1jIkFYKv/KLHlMLgvvuf4wUfaP2JpuzsddBvkiaOYrOvNzEThvU8CyjEBWYzr4Ef/XSaX7XHLykDW0jrfV1PZgRNPndUx3G/+P3kJ/H0SOGXKV5CsYpML43I5q8dV5v4gInm7JcUVVTW1L7d7sH/ZsjodBDXReuK2xhLmIIBkEllZTMBvADcC8ieYmujsFB7p7ZXGlqIZnpZtN8OXiDwIaG1Kp5m2pswGNSH8optmRar7ZRdqsDF6PVRTDZjLvqp6i40nmpr+/JFJk1IjSsMJAKJicKVF7UK4LxiqUTBE3j/tDsrvN2y9GEE7L0qnYXtMQC/JJVtg3aCIbPcacbmpslKf00TWdnpT20Ki5VNzolMsElWOwSYpBzWNpJKd+/YkltfXZw41NckVS66vfPD55zuvmjQJ9YlE+uWtW40vLLk6FCkPzd5w4MDGi6ZMcfy6I9a28NShaMHO1rjBRX6NT5LsvpQ2UMBZm+rXW62Ng2q6OCE0Nuyn66JRoM7cJtAHiWW3fX4LxkhAg/vRkoHsoeW3Pds3fXojX7ZihWj2p1CHmXVrSUCagX2YUeztxT0YWA5Yw4g8HLlqXUMLqyfP0bZ0dR1Y09yczFqBvkDM4D19e01vcbE9uH2vxa68MjyF+x24oO4Q3tTV1VFk0wnw8w4tJEcqy48sHsP3asx/kOwSw6LzQkd7TxMTXLcC1bAYlUjq4KrYOLIzaGjs92V99Atwc1yD1G/wCvHvZlT+xLhsb3ebXOqSfbKMUX+VSOEdDYT8sf44xT2mO6Jn9HabWd8DevoGPAvVqDpVV+339yARpRZ8E81YuU7hfm9sz/n3eQn830vglLkdHGttsDX2ft20W/xuNhfQICb5yc8c4uy3Gs6G7gFkubrHSXKuzdJZRNXMjMvnKpMtpqXUgU2wckYDVlsGEvOAin0aGNdKm7AWI2NfvaDafwDtO1YM3T6QncMt41FwQMzEZ4baaEiHZd/XaW4jWGy6Vu7dq147fd57Dcu6UeDsEkFibtO0gHjgOYnRGHLUQBYjdjBitQOF0E2o2CFjwUAQb1AV9YPHb3lH5vUi2LxY0FctGlYu4FMqJSu7MaEB9CT5LoMDphVBL1NOmBkt7IK9PeQSPO5phLsSuVQyV1RbvB2WrLG2vX+uzdlCVOVoQvrHJGDP1P4s+0uZOxXtTCat0oJxQcnMzZNd3r6soY+TgWSL92f/WgomL1HKfAvuj+thpP4e0f/fhCQhnjLNRdDqd4CN7P5wiffpasDfRsY79tXBwrrqzrvRImafwt0ezc4iUReuGJsHINRBiVo501N4mCWHrgYpfKfiUQ5LWcPVQyy3n3KPi2m7o2gwN1Rm1tQR9/ZHHslGJ0/mdf39HIqVoH26dOnS4QXGUdpL//WOCuwcrhFt6eW1430HVhyFsQGBcDVAyz+DC6cYKcgPuzX5W/PGe3owBufekpfbYguoJKyGa+kvsWTXzVD6SFR/88NxgQkhVwlA1PMAgbvStMyZkizIXOUfuqq2YJ+zeRi7AL15S/lv8hJ4ZyRwyizf+chwWoVyPh4ry3RdirgkbsezOY0Ej1hFbzZ8gyqDbmpdwrg8BS6LCrcLDAmACaim/erx1yjUjKqEZWA5wW3IS4nCx8NP2I4fvOq4MdSI55DUl26FC8ChMVTgJ4Rv1v6amyudgCb9uE6pfQa/5MVAAdQCjbAFHA3tSFluMS3WzUSjx6au/lw6lwHeKSNQKdcsZtWa9nZtwbx5MJDf3Fgq8/lBeEAvReJHUjeJJ6lTjbgiRDE1BUxcFwJDzFSPEOea4WWiD74IwCUQAPIE5JZE5zBe2FBEuXDQMKak0rnysCy1oarw2vGT/B1zSdBY1xafgzlNxsYgaBu2x8Fw6QLxeAGknVVCUtv7zAeRHSgygV6JLfb5adtMY3fARMv+TWducO0c4tWOl+XIZyeh4bLZF7ySjlI96Mt5kCLoRR01WzKpAZ7hIKx/W8glgoDkWVyUKy3TKtBEUwiYMqbGg2mLhsOgKvMGhkzST5LnLv9IRk1mmVnttja09rqUaedlXuvPDCqqqbb4EdHcsSPKZs9+snnngLpivG80gAa+yGt9hEVyhO8DB/DDqx77Xi9fsWJY8ToWdUPX4FQR6XyYV3mNq8zJSyHt7YnwbimrOSnXI/MZeT2adNKMCie9XBN2gtN5CZxMxViMu3AO39zZWfggiqvecSS4OXLZu+YViBUG+YzK710z8PxARyVwyizfkRZXtw5OBaQs4rPdB66q9R1DOH70HLht39j2btrU6WYTQx+HJdtNbDMAxeTkP2xByml04big49sb/gHiVdgUHZwEe3oVfoE1TsQHQbpfeRhbbejZLfMri5pf7YwvwtbyJ+AZGE8lYA8sGkdjg/AB9xGb/cwy46tE0T0D23RFtqRYDoXhC3xCuj3rVxODjcabJXiMzO3NXjfHSMDODt0GaFUhgjop6Ih2JBd4NAvuWEHuEOEEtqAuDNOaCbxtI7RipyIpqZ5kKpuZUNbpBPqcahuDtvl+WOBYY+w1cnVhU/3RrfWWvuQVKBQ607bEVzzMjgLBkO7Rc+L1E4r7MSbnB0hfR4DNSpnz4NOthtGfk7nYCIt935zSk94DXPLGMZICXVRURIvr65ncBBM32C8hi6Msakr9SCJRWw9GfTlmu0ojhUIiHqcoGQpcsqDYugeOo7jL8nokj6OhUTaZc1XRDMmLCOSQJDG4Xm3RxkKhZXSfyuzNGx/98eGjPv/RQbzUNfQMODeuTBv2d2Ptqf9YBjTDyJfAOFeiaurjisiXAFr2m/Y9rbc2b3o6V/+pz33N5LpDKPHIj7/c0P/UUyfikkfaWNk8FCxyi9LSMv/gvQ0NwnnVc76EJX6vt7bkufq3cGGMXH82vcLdxK781B3lsVys/+pJk7Bxe3PD4Gwad34sx0rglCtfh+TG0bifmHKkfPrY7hwL5qW22IWC6Grv3bCq2/H3LV++XLj9/oc/IEm0CA7bKrhzt1Iz+OyCymGi8uHLnevWdg7Od1H6CVmWlsNq9QGbBjIzMw4Drz9rWT90keyvTRKcRphxC7ba/ZLM4GaENZsT+rlXyIZk3vfbH/xgaMmKFaz+iMI6ZVZDY3+/L8PDs9L6oFXgK9BTyaGEUxIThpadMzuTJd5KK5NqZ0lPZKLfSrVnjJJU56aVw4iFEZ+nM9E/NHVVwudJ3LUVPRij6fzNORx0RlkwHIr3H47W19U5Vt5Jx94KIqKsmPT0+Wy7PxRKjUVvDDf0d/4HpY3ksaWNsN7Re48GEc9vIqhgRGi/2ElrhEralRwQCgshcUNRLDUHqghLcQcc+1mUiOkAo4F9UzwB8Fh2XRHx9GAoI4vq8Khe6or/0CcKt2rcutXTFXrCSeF27vu2w7FAzsW+int+GzxZlmnYH2dNoWccSN3ajtjnkCV5NxAcf1UE+7/aB6JvmiE5dur//XrHvDK3+0sBxh5tcWmvfLq8PPduUmBbkMmo6vRqByXEFWF199pne8c+R2Pnmn9/9krglCtfZ1WGb895llGgl1KnBA+Zvkwo8oA7RhwshNvt/4NJusnPck+NQMFQzv06YIFr4etL2VRb2/VycetI9QZHdI5lVnLhZfejZPx7EIsB9ziHi4B0ItOtHVZkD+FyA23f9zopL4cX110UG5LUIo83LcKaRWBoFJb1Tt0GJ9W4ZmFUccPviYQvshLlj1ZAuWD6x/gVsRook+DfhWhOqjzvu4+we1cMB4OOUUxHZECEsTJ5p+ZyKtt1ngVYuNTx+xJST0h1qwiqOoe7eXRhGenvr+3dF4HZ8jH4d9ajgOm/pdM9SS6WhQOyBT5n/mkQz4dV2/gZqlavuKTiSPHONa29F1DJ9awHpBzAA+/GruJbPVWBNW+16DhwtlRauhebkdeKFeFlzRIu1lR1/bK6sncFAsKR6eW33PlBDdk4oDUt0S07LHL98cWVRXi8jl3QRmSbfz07JXDKle+67lhVAebaLRgxi3s9fm6N001rFtJJpyJgMwlfLcS2eE0qnbnz2sllwyQ6W/szpQgyfQhKqTxr8H1SgD59fKDu1Z7kVTB8CmH5RCWP0ksMKZvLpXL+YCQXHWjKvRV37tkp+vyoxkqgAVY7lZLLYDF/VhKkHZLAW5K6cb5PkC5IWmYIrG+/V03zP66teUPJOKXiMyZdD799pSwKG7Eqf7fHTq8uSkKrrvyxU7fuhEXuqcMDSxVi35216B9Smuor9/uLVJpd7W3Mbr8KTHJjx3S2vR82QubW19huaToSXOqADkqDSCoGMydFq0LP1o/ZLZ1tY8+P50QJnPJKFp0JY6HOyN2CKS90C/wGKMtrQIpewRlB7UUyG5yvRYAh7KSK/teaQGDYr9eWHkIQiU1FquqL8F5VEEuItWzbOFRdXT364+lNKd2Uu/dlyz3NF7rlnnKvODQ+5EmXuog6qaBgBK514gzzf3lXSKA6RMxeM9MKh8phsB1NAdRsPniKUe6JtAO18nOLmj+9enzRYUxmdFfQT1ySpWkfxUNSwEzyZTMovOxOCjNkv3Jr1ezzurd2tcSd0kRjBdA0mCqRFVFhEjuYs829XsLbKFX8vMxvP/nA/4nDKh9tf+x1Z/K9Y+0644oWlE51SW6gYvgEIGNcrqDraThiHNhg95KAuw/n0crKSrklTn0bMoOs8S9/4fnqHmfyzr1136dc+Q5kDDFjWncAuWCC73sbF9lzFoN7gNMLwDpWRTlbiWoQP2aHGjtGlOur7Tnq98p1+NFNBulNCXghX1s4a8oxpcnL/cRw/lW/ib/zraeZ//bdIIFKlEba2+vuKFDUPQhWvorF+i8gZfpjUtLXdz/X1TdvXgUY3sFe39/vlAxi3Z1DKOfHPwbLr1iTxIeU7qEeHpSXSJTdDTD4uUGfd3D3gXjn5HL/aIr3nt5cwiV5GvVsqkNQRYLCdO+z7NzuVDLbeTdqCJ5pOTlcHqv+53/IyCKwEuWfzjnv8rLNLzydC1ZOusFmZgnoPlvBrpo7uHf7K35f6WBL866+Pz3+uHX9XXdVZajnX7gs31yiuBYXVlQnf7p9c3f9GCPmTM8v3/8bEjjlbodNmza5jerp3zYM/pzks/bbaXk+OB5uQUpuAQjJnlS8rj+0rFbajvNf0s2dQ8BhUlBMwvahwmAs07s170p440b9E76D0TucIejUqQt4vUUXZExyuIhrAGUrIdMgYSrYtYQJKwDDK0Wa+dNAeuRgJc8ARrsW/l9VEEirl9N/GxLVV694+OEcH+OG+FVj53yP27Mc+N/XigX3NtWdiV1dWjoAs/eMWb4gdfK7iGexh5sHn/pxAIgQYjcPkWBXqm+GLgpuZlo50HhWephQa7rlx+sL3MOwOefZ2Ap3H5GlO5GRqQFO55UIuYSCqAg8yJ9cUHRiRZd/wufprJvyKVe+zgxfOdRXgyR68FPZHwD49MMA7feYpv2IYCc27zSMWEzXeVkux6PgZR3xy20ZSF7DbGExwP5MU8mgbg7+5NKaE2uwnXUSzA/oHZfA9r6+iRlD+lHGpj4FWESEK70IuMJDxaluWVN9kuhFavcGpCvu0og1CPRDv2CxGJOEoCgIB0BbuYByfeXeVX9ovuWWW4at4CcPx6qCIrmsN2tkCwAxyRmSO5dJPn3z7DdSl9/xiY3pAMFZGCDJC0QXP5fr1jOpsnB3PRaCBixAyZa+QjA11XsUpQzMdzoRhO0D6wLbRgwY59odA+l7gFu3DCr/QXbwd6J5AVaRH+m6fqdWUfA02johyDmm+/zbMyABILtO/dGY7OiglvCvKHT4GQHpugjub5UlpA24CubOdBddd3m48gOzymuWX/yZO2c0IKXMGQGgM0OE6zvgE/6dAQsmqQU8DmmK82Cd+hHmW3xXScAqjroU4ScKHSZQn+tkU6Ne28MmE+/F47EPignZxHyVqLh+gC33f8um8KucrD4dcFtP8Ey2HYVAP2hy+fszr19+obONd+YuTCzoRnDvOWy06jgXZ2YsdVFxyAuA4Jk59iYSYSKa1SintaevLNybbe2f8ezB6IXFyBwtZNIlfpfb5hptFVAmyehtfX1E8TqjfWrvXskw7Kskw27VipTWuWWAciZ6XkCdwsMS6kHVn5kp5Xv9GxJ4R5QvOBlQY9IyshZvcwIooihMsG3hStu2UCON3qBx8lVwNHxTsIVPaY2dAWeMtj7YmEgaWwZyyUPI1koUhaQyRex939qWdAm+zivgv3Ej/5G/novac9l04EX4ge8BCdLvQVa/LiOm/5iR1QY3ElrAD2yDgCfXNaB0XF7i66tHZREn621uOJyIRIpgCVMR8YZLUDPvB0HuvXnN0FDQgaNtrS7qAzXoeljRpTKVntrauneUsOd0ydMJpjkMekST60RR0swh9vpVyLoTFJkFPN5zkIlzu+IVbGQrVjDFmoCafy9ePmvWMRl9NdhFiiK+ddGr3F2x0k1YYEq8pRWgLokhm3MPIIyjgevTNa98P39bAqdK+QpOoKDziFXhKErutfRfZW39G5apfc2ytB+B6eBxPPwHBWYHQY1YgS1RCAxg9b5QsAjnU7+i6F6v+wOo/3UndpQzicDciuwa0MSh4dJBf3sq+TP+gSVA66uJumV80S6V6PfxnPGgK1dhlBjkRrDYT4SbgTnczD7QMh0vg56+jjBcXl4NFaKRERlBavoiJWk5/M0MzD60uIBvFIn5P1yz16NW4En5L45v81R+vuH2L5dRxTsrbmmlzLb3rF75wPACoDX3HOKKvQGZ5AOqQWodjwIx+Jb+igKHSoM7Stsh0gdRlC9VWAibhv8ZDIL1yN283+cJfQVbgS8i9fBPHVqq5a0Y507lXPJt/X0SeNvcDo7C7ZeDsy8YNymI0rVFTY39T9fXFaXBwZCLyMp1OjV22IZSKjB9ASyUieBcyII85TEi2a/Bijk3q6b9DcQv9L8yZI6rdw/QnNUGZpeUQhS131b3XVFZGT+TQZC/T5z5s0+lBBwFU7dsmWdOaWlI7+npW+EkzIwrbkYfdOPh3iLVdoF6ko9D6jjDM1MUcnXCmKg8Zgi67CsDqXwQ/Pa6aerfRqmlTT3JyODutniwReTVe5v37V8sL9h+HTLqjrnwNH2wjVxQkF11Ipd2H2ra1jkSAwHJKRlK6TOLFboJ9QlrdFvwlMqBXUthsTtyec9dd41LmtINtcyeSk3aI9jmS0i0BhSazzKY7UZK4TO6x7/+ukDIyd4bno3jwjt06JA8KZ+SfJru7lt387Yt3yZFcUqhLUQF2mIBRAbuCPeiS5qRrQT2OhMVW/qGwMzbkA7sB5vYU6JgfYV4Q9/XB7qfVqn9AwQ6DjgPlEM5yQ1hAExj56E6gmRydUYE0RS0ld8yvfU9/If99jN331N9TkX1h2zR/RV/ZGJVI+hAHQWCCfOQNhjXufkA4gkrDcITKJVXxzXw6B13uFCkVQbZM/glOkKK+MJVleE9TvmgqK1Odtnk+3PL6z7cNyHmdhTacZeelo8CLWhTdfVVQTK6UH1l2PJejoxOsY97CxXXhIQhuNJZbmUzyZfqio7U37juts/V2Lp0JyKPJZZuSTrlN1lE+qyuqn9STP7vuqw8ZJH06vP94DUZ0byYzV8PHw60K0VLXmjNlI7weZyWSeY7OakE3rbl+zJoGpefu+CPYE8Jm4ZZLnuKh5XlFSUl2Rc7hnbCFzUOsJ/HUFJygxaL9ezuOpi48+qrR8hAhmkBj6zLhGSRsaMQFHmR7cucUkFZO7uOkLBD+D1yykknkf/jP54Edvf2el2S7waUl2rnur4rruhA81Zd3tzbuxWz7XPSxkG4v31NVO0Fk6dTnHV5jorj8Z2TNTm6YGPrPRUK2Clpfbilff8QL5vPHcUTufAyVDOyp1gi+4ZPV6Yu+sRnHsZ1zfh3Wp81sNJltm8vAO/+dkIic4f7/tDcpRMVl3wuaPn6VFRbycXEda/VVUavPTI2pFLzTxLZapJsZbWCOnmGYO5BCex7KHOVnFvu3zQ8/1AZXo49qBQEM55V5ZO4SznvyoPo8TC4tc+IxX/syP45P73t1R5+MtDbJFAg1rocZWIvyKXi02ChoIILAQ+K+JLB4evNpP6sCSTuLwrPOfecBVfsiA6Nd3zEx4tcskiPQa3DCBS8ANrEVzWXP3vE0Dn+zPznf3QJzCopMQAla7cEe9CkNop1yMtcsjCOer2O5Tty2Jcisi9k1Z9nBP5vfqXQUZ6jitexZkUq1F483y0AAEAASURBVIBVRPAowr6Kkvk6CmfKlfWXzRKJcLcksJBpkxDY9C7Bin/h9u1HkDcjjZ+uV4dEaC6qNDv9gQdDDMvCeYxbM1EVaZZssMM0d6BlxdF5vdLeHgC64xJma68fblBa4JdoHkpkfgNs84DELXnlccHpoxbuMAUnyajNkiS36CbtMog2R2uLzVsJUqjTNc98P8dK4G0rX6c53S95eY714tEVXZIc6PN4httNsfQuvXdwpeHxzBRs9gD8Vv/OKLsjabH7ppZNnNFwtIT8yJBEFm/BTyfhApE3SlUkJa6Gn0KliZHv86//PBLAogvla6eYZc0FsiyBRArNzOrPDXq9g5DCMdZpPThCUoNd6+dXUicrcvRYsuw2D06coJqc4V+j7E4HisKxfzFU9iACVNdIAt2sMPplzs0v4iFbByV4RrGwjruBT5lzjuyWommNm7D1+8xcau91c+eOZt4VpEMU5a8KRO6+dNIy4kdZJVeRXwGygTQbXlcLUByji48jiLILl058sSu+eNX2qOeSqRWDiqRvI4JoSpK4DxZTQcRULnpxfwp8dPnjdEvglCg2mbFOXbT2A4M4JDLDpSfdwyutA/cpri7UUcPt0zBXkI7OHkHZoP9kjLyGH8V18erWY1bd1Y8+qoEwe7pG6QKkGVeLsnt6ZWcniknkj382CTi+SpOYjYZFuIUaepZNE3asu/vNtskOF/NY/6YjL1eBFMHVFRqicsj4qUrp5nfcVPySJEJ5MfshyxA/p7iDT/ZWFL58YVmoHZcco9RPt8xvX3z5OGLyc7IJo8ntJrttTfrDxZMre/cSIjlwNGe3+EruEPiiyV8Bbf4w6kx9J+gt+KJhsdtQVuvX6s6eE6g6E7Ygq6b1DS3APvV0V1fhCw8+mJaVXLOSSLcbDMhgWMpWQLvs+c2xwJnye59uOZ8t/Z0S5as3NaVdRCyBb3cAhCjlU6eUlIw49FNZ7qcovghy2x/1dx9cmdm9cUNaVdeilMy0MilwjPJ1qCgVkSQFTiYCO7RY0S062Ns7dpt5tsgtP47TIIGNLS09SDXvpaaJismWGqisPOZ5GRmCs1UfeT/y6iiSjGlPRRDYD+uWoarJxxAZviKtG1tRBuVumht6eHGld8/8ApJ0ML+47owqXmfcIH9GyIOMF930XA+ThwZ6dh8EBaasD6Y+hAooD86umvShyYCVgZP0AaRVP4V4SgDQuQjSiP9kSNZf6uvfKLnltOf8BpOqcREgntVUZFPchveOeTffPuVHt63Nan1NyYQs7Myougyme80K8/JLP/ulUlyW/705wjsNx9tWvijT4mVVk+dxpk80GCu1bVY0mIB7d9my4ZvodhckUUG3V2UkMG3ChIBSd+F0pEniYaKB3nTmmC2SY7lYjKO+Fn9GtIWfGgLNhMsmVyEwcIJ/+DTIJt/FGZaAU0DVYxvb3G5pPDTj7JQtLt5+XKzAUbzylDkXbyGkEK4KuEMpdSzEGR+6fTLW7o/BcgYeR9BtyrqQfvxNk0n3dg21NVxQU9OHNofxss41znGGp0vSit6OjOl1NkqekHTmdWTj6SXUvRzp1IugbCOocvIVf7BoUl9butPQtJ9kNPU+X1D+EW/zv3g8BaszH+GcRediV/op4OofR6nY/zaQmoxKISs+9eDiQhD3mLsfvn9Ay6GcFs8eCoUEhWvpIsjziH/4TAvjn6D/t83t4ESlbea5C0o3y0S7BTYE1QwtUVgR2ViLTJ37QN67sCN+PYr3LkMQLYjSM2GsrSLSQX+e07LPb6gp61wxxk+1uSkWQNX3CwwizQBp+rkgR2lSbPYQyuH0/xPcj/wUj5NAR5aUG1r2BpSSKzYZb50a8j+BU0Yj9A2t/aVMVn6HZ+U5Q8/8SgZmy5CERdQmn4IungsdlIHl+wfVJL/mhnXw0ppwwumi4WA0kuSSFvFIxZaUS1qg4UkrZvJk9eCOG9I7+tGp4kzKJXFpOJTY1ZOotgThW4Zh/UBH0T+fS/w14GW/FYgA4kC7aQ/JrvloSUlm7IAci78OBPaFBwdLkzJ7CFWip3tt/lmpsHgzSccuMDib3xQ98MM75s93UETIUUGVmBauoOJTragIXkkhsYN2rvv4dsf2kX9/aiRwwnbt7232wLp16vRFl/wRvCQJwzAXwJE/USZyd+OBA3LtlCmao1g3e0MvpROxjOJSZiLjjYuC8rolaRmUnbhrUTT+X2SMv01MIK7i9tSAC3g/UA8dKBWktfXFDChfZ0U+hpv17x1r/vx3nwQOb2mIFc0+bwPoZCxF12Ik5D82KOYlaUuz94sCuZl6fBci3GQDDzFZFXiJSJEhZtm/gGNz8yVVBd2Y/fBOy7GW/TPOny/ZtiLaJorS+7IWQwUoNbAG57TgH4ziM3M4CUpOz05exO5euRhEU0BjsJYiRdORRKxRwj4CdkANlZ6FaSTgxk7g9yNICee6Cz/x2dJ0U9/4KKUfcllWkUsQfgfY0fVkKLpfZO7NWS21B4o35ZzrHEf95OrqXr0Fe4QiK03mTFfczo6geTTh48ip+f+eYgm8bT5fh6y5yOce/PO+3bmqgsJzBC4OwFqNoHBiR6XPN4zRRWEyzQ67uzqjrfvHFQV32VChOd3+gsLEq1HCffve3o7WEUL0VdGDJOIpCGWY3Wg7RNGWKfhCgZr2eDqU7vT0FxXlFfApfgbO6uaqq6vNrEtORH1y37ygZ9hqHTvgaq/XaEkk9xKGp4nbM+F3qBQEHuUme9TK5X7iqi7asijgPoYbGm3ytmQuBH/pLDgbYpam9zllirKmYW0LuTqmn0HlO3ZunUY6zXTa1WInm2aWlopDGe0cuOSeA3xuJZKapoBdaOqA3/2niT7f6E7gQEqrTmSNz8sSu9YryN+zNeH3oN4c7E/1HBiKcqOgxOve25MlTz70Paec0+gi47SxtdmVDUjJ3MBgOvavy98zirAYO6b8+1Mngbft8z06FNsh09GBXYHrYYKOlRmRZKd22ujNdVwQvu7ueHufVp0yzXvBXjYOy+6fYdBQt1g76m9z/Hw5ZpYCIfFJnyhdrQgKcvONAZNIg319Dcf4iE+dGPItnc0SqAbpXf2RZ0lwgkjOVnnMePnFVcWHLS37E1EhnwW15K3IGLsjXOV/9OJJZY0LsM6POXfkLceWD0g286DiE9ZqSmQ7DIJdos88eDxUa+SCM/HqEANpVnLdssrK3K6GhozM7W+zSOCxl7a+vBqp+avA7EblwcGxsiAexWzxKtLP4OvdSmU7q1pdXVkxu65YrFZC4/1fBKHVPYpH/NKcm287x3EJjp3XcObfuOK2a2aOO+0EQ2PH8c/y/m37fMcKakcsXQcy55sAjvejFPzvWvvbXx0px+78YF7pjl1EbOGetG0xyRYe9Ln4/rYh1NGKCK0LiyJpbLWGlfXazvgS8LCGBdD166Z2QJfsaGKwBKXdiaPQ88c/mQQcmJXfFZ5rayqS1L2Jwf7B+AXVpW0Qw+ji7ojEecawjXYUyt90T21HKXkSJsRRcM61Th+rysrUFWPiD87fz7bDmePavX3eUMTzDfjAmz197b84vkgsyHZkwgqnMCYar08uPHgvxPLbpt4vAGF0eUhWfpCztBKPKCwWEsZX5Ni+2NKlSwHGcxwdRw4Hb4wdrXDv9OlOsdfRv498n389NRI4ZuV7u01S3cxygmrChGYt05oypbBuFKWAe8jgr/oXzvg5CiGviTK3Ulm9UnazW7NZev5e/gaiwdL5TonYEckmqFclXypQnw+Kd3Rr9XbHmb/+3SUBRSgo07n9fe6SHjJU7dFQOPDhpiZyAv77qKL4/9n7Eviqqmv9PZzpzjfzHEIIU5gJYkEsQdCKU2v78D3bam37irZqtX2vtYOt0vF1tINtfba+2lqfA7XtsyqKooAyqUEGiQIBQhIyDze505nP/9sXEgNS239J34OQ81Puzb3nnLv32vusvfZa3/rWSRXviRbzwbrnElC8CaHMhDREJe3TXfGKdm7d3xPSotqNLnNpHmGPT6uufttzIQye+kfu2VMxKeeA6JN49sKI4QW59Gwn6d2qWt4+4O3PYXlSjlk5c8mm9ngeHcZt8c3FF417V7D0n//Q0J43KB/x22PHyEpgRJVvUIn2grnsDZV5rwcUuXNnR8dQazGILmfeVtQIeh7MUjlgmrqKyNLKIFcWSR5d2NdNoJOPHqFoFtA11J+S6LM+5K6rTrr0/yr1c7BNY6//dxIIBOwgaEanYJs9EYDdTopIf1XVX7duB1ssFO/0Zcun9oOwHJqWthDiq1ly6ZzdPf1LXkVFC/H94Lmn+2s/6KmASNjr85Rf3p/r74BZelLLVATLBhNSxLMHDH4dABMFEOUs18+vjxnW/njK7kHy39XdunHzUx/75Hj0PROAP+K4xSnb+JzjsJqxDNN/3IwYUeX7YDZJeDaKWjMV6BZ7Zk1FQdHgxBZWiWuxPzHLW4VabT/Gfuanqbj5M06c27B0r8vKJUNlu3u3rRHv+xTw/YItsMKztPTBmuPTJv9xIhm78+kmAcdgPuycQR3ibU2mrC+rLLgWbTwe9fD2RvN6ctQ6XrFihYJyVl/q9vgckS3W1R37JHDnd2tM/g6ow3447fzlU1ad4P98++1Oj0+2FBSk+/rtF6bmqftPtNSHWaliMRlaUMSzl7TS9yZd92DCtC83LdKfTlvfdiWkJbvuObbn5YDv4atPHmpbsBpQt7juXYeA3UHJdd646jR3w5weo/L3tWJEla+YDA60qW3rFXDftvcbSLbIO2fI9bCgNNy7qDxy0Nhd1xD1SVY0LE0Bz+okYH2kll27hs5bvny5YTvODpm5hyzL3Gtyr5KMpRn/fSM8Cq6SFEfNeK0Ifa6tteHN3/x41YDAswplI46TdfFgd/8cp2vgE4L7AKTjMvbeVSaQM2prb4HM5H+l3GtEhtg9rut2osL2VYsbG9/mxjjZff+vPxPP2CBWWRg2IqFEyGJ9Fwlub4vn1kN5vtrSU/Pykd75Gd/vsQa/v6qkxRUluhzvVzK1f1WZHxivG8YdA4ZZ5zB2t0wk6tNUH9ecaxEQn0xM+t2dj/xnC8xq/HfUn/5/3ffR9vuZbcZIdgr5Fa8HNZECmfarHn+vNr2EA4u4czgWkU2eeUHK8D6TtOl41NfqlZi9RI+UPHB/I3nqOlQsyLTH84psT56X9Ow+zTELsjkVVHkni1yPZPPH7nUaSsC0sFEGIYjsMj594sQZRTfdBBSAZC1b+WnLLzt2W1s8E4jtQJ2hPXa3W4CKrQXR/PeCgGbekf6KB2bnxlgnrGDGlKAdZNO44/g0JO709rTu8mVnv2JR+daiYIVY/I/OvdNQBidpEp20dOkU4srj/V/4Qn28t2+hgVpdXr7WiyQmOOvcKbOyyvbjuu7Ba6+ZUAAxkM51nZ0F1OQ3q9yek2b8Wmlb9l7/ovi3EqY5VWLKJ5DDvV/yk/49e6qHFO+je7uLH9/bPXDF5NwhjPDgfcde/z4JjKjlK5owv6QE/JJWOXZ3xUiJ9CmKdZxlIlZq25U+DGL1HlgjWxROXwMxyKPM85aVSz1IET2aW+6TlSOWbW1xbGs93tth6vPj9sfd6+/r8thVZ5wEqKSiAgq1ifPRAZPfy4n2m7Ak/yYg8/skEry330d/EdPYz/xh5a7Z2cU/KM4uuAtY2A8BeeMlG+vowABFsQfaDd18DVJsb2bUi3NmHKmprBwwEywp9udtnV0ZRXOmyAbWLnVNxbNssiidsBdxVR2v+DRUs/OyqENL0H9twLYLVw1zp4jkEmEl93bn9znU+zmS+f9bsUkbinG6PaCFRZmllfBQPEmZ85Rrkltu+vbS4iW45pmd7X5ghb9JfWy5eH7PFBmd7u0cccsXA0yyZs1qUA1fi+0zeKytvfPHBw+6q+fNEzAgrywSQWaxHVAZv0dRWVry2EeQTNGDQn8TQZwduvPOVVCwd3gDjHbLjJ+TG+SO4tE2NyiLooFn1ANyug/+mdI+w2YBT6hPynOAIssT1eMlrNKAUiFPwsakAPEk/sUuCl1CYBfAGpc4Ebg9t9VMK7YSRRHb6Ex/RVWpDzyNCvUTSx6ItBNUE/T7SBSG8rb86rwzCsYoAmrwaTelumL7bMsttCnfpHDJ7U0OHApwNeDDliDuc1rvOOazFUr38k/9+7IlU885kttTv7e6pHrnw3vtTh7U+5DSHHBU5XOSSyQ9nfq1zH0pHiA3Ggqf+omSaTmtshPLY9JmhQYPZuFZJuDeFIdwe4C72xvLhMuI4//7nxG3fAVhh61nbZ9SqB2e8YlPNO5JJPTPLb2s+LmDHfloHVteVWUSjx1Kmk52c7JnL8CZPlQh+JLMyEDaHUgMDmSrl0hwJm9keuox5Or/8fDTT48Bv/+/h3d0XGBTI4wVGeRdzvcZYZ91becLjLlfR6jgh0DX/CcqUjwMAp3HHc95ARvubdhyH6CE25S4KdMp8qpBOf3Knx54NR1jb4DQSdITbqBP6spQKMb7nX3wZ/we57wNsnW6Sy9+6FAAgcReLEQbLK6/YrDU9gvGFzWly7P3zcwN7T8v9y0XAZ4rGMXWZX7ifT9VVLFUEOj8y+TcVpHAkVY48gP5YU1hzUFV9XwB6ULT8UIJO9FBHXK+z6DfRLbghhjt2IPg5RCUL7rwwhk113xqwlVXnTlokdNpTEfc8hUBkPvefJPnFE1Wn/n2PXmq6kxPpK0LZYlu29JCHl9QStI+6j5nyvQjk7TC103D2kxk+OGY/HCicW8PKSnJyOfgPfekC264YcNF44qEn9cl2BuNHWenBEBXGkI8iEiG91KHatX5eMR1E3FJli0JpDk8bplSwOdjeiIlJ7kt5ft9AZQ9+y+4s6BQWyC0UrLoQx/KoSb5KpT4DEcmsuX469/3+c/fPsvnE5wPZ+SOKmf8+FhvPP5ifk44OXOYv7r2JEgQKFsanj4P1JzkWrCmtapza7fBhRAXGaWJquykurf71y6j/wLc/RcMx5lgu84vNafkCNd6F4JL2ekdSHeYG3rs9ZMaJGFgiZkIxVyL0uKL/vXbSz8DuQ4F58R3Y8dfl8CIKV+hdFc8Kly3nvv04diyg0f6qn1+HrA9GsPecLtny21JpwH7wipCNXcTd7gsxc3+Hi6vCzggTOFaSXHpxHQjIa9XYCIds4CTYruE93+9J2NnjFoJAB8eQU0/ylQ6PqXrWxYVRJIkKzTU3zIiwgE4olrmRWyHp15wyQuOZ3XE9NJMSjrVvSvxJUrGez+BTxSIVnq1krSX1/nIbwbxsJmLz6B/qpCyT0KhIYjmX2q6kEfp/KXzscZcjKiJBknO1oz4d2aXVj6/pqH3yRVV2QMEVvDDe5sfzlHC0yViqSYnpizFPpJ23HxwIX9Z4VlUP5e9J55VSf7UGHupLBL1dMe5ABVnOjw1lfRI9hm5gP0lmf1vfD5ibodHAXNZMe+8qp+uWaNw4hmaxAdsw/4f4mobmG02u0HPlVkOBp5QsR0Kuvq6Do1ixPR/h8/uVpU6/+Zw6Ue793deej/gQaLzaxoa1As/eev4MSf//8ZUOD1/QyzqhLIINChN294NJXLog0jdCbxTa8XW2Eynfspl9cHlVcQU6bImY7MBZXggnB18AhDIP8OJ/KAiK1PMlpYRM0DeqU3/298Jo+XYb/KpSy6aowaVVdSjMxB42QZyjB/Cg44MY/mOwqj2wUFI2r9MLms9Qvs25kdzN/YlnfNc7l7vl/nv9R76RoInP58dCnwM0baLwAd7bXt/7BZQucgBTbr7vi1bMinaYqzW7uoIiMDe/3Z/z8TfGxygU257xDAnZjHtvCnTF+ckbPNVx/bawI1XaLjp5SZn13GDLXRVVvPU/oYMnrKutdWKUHZDWFFmoBECf/htxEsO+f3qigrUlm8gRA0rwSrT9L4wvmBixaphUdtTbuzYDc4oCTgI6ePo86hXabruDR296Syhkt+pEzWleQfmZvmacI63+qqrEIQD9saxI31dXcywbTAy2hHQNZpFdumos9iEElz60U9WvHkknrO9o/cc05O+AcW7ECnau8Gp/VWTGv+Dcs4vMuaV2K57UR7JG8I4X1dRoddkkbhnW4/gmrWA93X6s9xzVEIvkqh3P7PMe5HZLIqSXqkp6t0Dm59949FjfuA9niebYXZzfPysC++9dwwV8U7zU3w3YsoXkeU21MaKBlRnnObF+3sts5gTVo20xt0ISK/pHkg/keU4HflVVZlt4IyCAgRXyRxEAZ4FhPNhq7fpGSpLv0Yaaa6kBJe0tfV91uLadxyPLuPMmTIfQPm/1pmx70efBARCRlWk+8HNewtSzj8L3o+fdR6qj8N3eVKlKSy+jNUH7SyuFRIRr8z1XlAU9XoqBb6QH8n7qsGkax3X2dTY+Fcz5c44ob7Q2RlQFP/nkor7c8KUu0CqsgjcrG9yot7eWRjdfG423AycNqMAwiu2Y/82rfRbwjUhlPaxzrqfmFVeb1vku5atv+jTeBmY0jpSevIV6FcPCnueSsmDKUK3ksoa3/3rG7GjpXTPwYM+VA+5OGFZS0nNW1wtZ5wA/5caPGKsZqvBEpUnkw9rKo8NtKf/ZAdJpcJdW4pkpff1tvatBKYS1qwykRIUOsw8OGxj68CPUaEgisj0z3XHDPgkaRkIPz4IkocOZB91ouz83pRFdiQdsuH946PNkElGcf8vyWbsZ04TCewGJ0NbN5fzCojnQ0zhkVCo746TzAVksql6uKyUUYPGbNdSSbSrpogIiCJ5GcUj/f7wx5BpsQQBJFTWcZ92pOADMyKk7zTp5og1Q2z7/ZPnXiXL9EsA5E3E8tNk2+6nrUN71i9YsCCTqCRkmja88tRAsicrN5BnxplkSkpHQZHWkfElD2vN+saeKXHm3Sp78gHdNmslLh1OEPrd7oHE0oKgvEBlakuA0d8itnORzdwP9VvebXz7um3DkRHDbjf29pgERszyrW/amRywXBfKcjwP0WBSL9i7bFxRg9ufrKw8+mPea6tX2zvbM9ERscK6ss+5Fzj4cYAE/UjibBXcDjNQvXi1ze0fpU3zq47q/pDGjMcefvXZFnH+sTaPvZxlEpBNcn1ZlvctontfT6bcK6vr60/qU9Tyy8o9yf5Pm/HfBRTpPk2LzxEWnRDX4c2bY5icD9km+RK2z1/q64//6VD7XuHPGOJAGC1iFWgEnnaeBA/212ziNiJBpc1hfPug4hX93IKit7Yn5YSywt90bX6v7Od3B2Tr512t/Tdv7kjkD7OCyb6exgNBh9wFPHRzCi6HPjv5SMg2Zvpk6eOWzXbInDTpnvmZJDGv8Wzn5zof2D6meP/6bBox5XsHBtyvsH6Zu0z2aBgUkPZV8LXZRDrkgpYKwbNw8blLp/Ta/R9+aF8bwPI4kskjgoQV3rvd4Kj6RcJIfTWcFf5BiFh/vGBc7vba7OyWi2YWJAd9Sn+9O2NnjEYJOIq8hDJ+JSZrMedSurI6k/aa4TUQwdjBAE/MTupIhGtEBtsUbLUXK67iG4QoTlq6fIoUClyZdk3HMV1/blboi1WFZd/d3Z5YNHj9aJJdDWrVqTT7SfgIvoKclH476UbRv4xbQbhl3lU5/WIfc7/LPfp+uPZC4Lh4zqPkJZVLFzPPve2FQ+A7PnYIONoFlXn7vHjLWqT7/7S/1xFl59/rk7xXgh79Q2tf/OWUTc4DpdZzSV15JvAKMrbFcz12vKMERsztIH7l+Zb2+TIL/BPqaW000j3Pca0ilEp3LSGcaZzxCGqyLQLtToAR/uml5ZFDUMiKJuV8Vqf20yVa3r5ZhSQ16MtrBOLBCAbl/agemFNU5LW0tJCrykr1we/fsVdjX44aCQikwleXXfIystYC/VbqI2W20lBaEurd2dEzX1bU8Q7lhmWa8f5ucyvqnxko6Foq8eC3XU4+QC1WOy3ftwXcItxXOfnHCuXV4D9oy8QVOAvZDusWuXCebt44dVgdwVEjPHRkfVdXMJ8EJnaS5P7avKP14XZ0dU20Pe1+zuk80HSCYNDd4VjsxnYz2V7kUy5BIYOvU0lZGdu5Ze0gpndQJnfVt2QfOlyavGhqzx2gB1AiPv8jLQOJ6wDhy/Yb9PZoruKkUulcKcGafrV3Y8+Y4TQoube/jpjlK25t6MFDCcu0HFCOVlRUENM54mqaMgG4QpNTUuEC3c0IvafXZ3bidA/ZbigIaP+6eVze6zMLSHK4YnUjOfNQFfmfq2TtmpyexMcnqLnzhhOuv70rY5+MRgl8a84clGYjquE6e2U3Z3dJSagHUTTPpwaqwV16K6IH35Ikfn1RfkBkwdkzCwoOSTLfCf+j6TqmvgpCYSUlUeaxAuKa30L5qhQHzhXbre/F0vrtsPhiTkCZvn4Uuh/EfBAKd/XPv7dzUPGKz4Ayu4IzMguFOF+HLQxMGg0Syf50STSsUkk6BJs1Shxrfmlp7dtcMp+pLu39yXJi+P3SfZD7obStr1QoWYgqGT9hIaU8abk/AIHRNakA//xHz106GfIfUR0j2j9ajhEVTKIq2IttSyMSKyY0H+7OiraXDCjUXof0z4UeXBEqkf+seKy1lEVKV2/Z4hNCrK3Ia195ktROT5MOgxN4p8s1mXBZDnFDAx4Gz9fYcTZJILuqSsXijUw20mk6Ionq6AHSnLUgZVoPKxYFs+mvdu3f2SeU8uD3+FznIS7KAnk5hYU2lK6b9liTnyn3g1v8bpWYzy8sie6gnO11dTsHKRujdm4NpuwL2Qh3ADoqyBlQ84Cuttzkb3Xb/Y7M+Vxqmd+UCf04hChZHu0zQQQwKM8TX1/8xY8OYRf7mObRdWFN2psXIJ2Gadyqm04xttNNMiLmru1dG96yRRV4/aM/e+Jdzu6/R1T5IgHYUYi+S5V52nIl5Yka4vTrvBNuBtNwvWaXunm24n0KBsldBRMmz3mn5IkJSPsc2LfndUSlBwCaYIDFNCEKmwF8nt1Ddnb1vrutDfQNtsYp14OhkLa6hfgER6+d4+tCbetmoGWO7G45vDPPMAQ3g7DUAOF1QsBNpbNtKSmk9fS99yYcx3uDyXR2ypB2cIP8ojwSiQnfJ6CQPlVRmqGNzpqALiB2IBGiqMHpdjV1d/cZsvFnlP36JoiLJoPneLnjklbFsjamq4knECRC3uJZHa5AhUK/BIYT4Ghr/Kr6rYCrunAvluO233ckqQeujGpP4r6ZhRPCRM2+6VlUDFl/rFKGGJOxQ4wA9vojeTzzRncRC/L3g3/1jab9r23OnTyZBT3/1WnLLoRzvxxYYANMZodCMnnJKQzvGEztFAUM40aRu2Q8BRQtQ09FDoF31FVD1wAM3w+Fvf71vLyDQsGPZHvH7nV6S6A7lSruMMhmBNB6HNd7Ee6COGrixGGaJRyZno/01om6R78fsK0BOaikzHjaoarySRT2nR9Uyfnj/P420cOt7bEK7rrOOcXZAjmTmfRCmbzZGqtxAvRgdTgsysufFcer7f3/xMAqCBa4l7B43drc29parigaCRUskZl3m+eyh7gafMBM9k5VfPJ5tguOM9s8xCXlucd/9r324Za0ENhqLHi+ujrVyir7Ona5cYlI6yWZVUnE3tOlMwsY7d9la/KfdF1/soklX74Z7sazQtB/pZMjrnzFKpki2bXIq5+ryO6jA1vWH8p517KVtkfKsHRuc2V3fyggdxxubjZQ6E9YJpkHoUW3F/cmU+PA2vr8H7OzM1R4B9LpMsCLbjBAgwbywN/szAntH1O+f2VER9nXh3V9PPTpRqRJZFPipIlHLTgIbFi2MNC8EJSv4hK3HftpG2Yv8jBQH5t6hZbLWm1mLp4djQ6x4QllKxIuhouoDsTTgwbA8M9H8/u6PhJx9P7PS5L0QRg22wG/f9Q29PoIys47tjK5y7Hbo6r8Psj0OvxfAL84HLcsBcW6A7wYd8wrDu2DfI6To5AXsP7l1DUuCylarmSYv+tC9eSARL/lOC7zMf5omjjvw3N8X7oubwt4ss56I2pE3Q5iAJZUVBg+yUxrEqhMJJZVOu09EeqTnofffTsc87OYyZb1HkmGoHgF+H3IAtETZliVVKDV2IQV9fUZppR4wtJMh2xWOdvJVdoLxXvWbA2FLMcOlGHoTqN4JvE5rt2GANs+26UHEUnrhMshjUyrHljB3dCpPkykXHw/DrGFKsulOR7oJLF1Ps5NdaLiFfJ9YtUq5966Nv8xF9jbAkyjcQyQPtyPMMrd8Jt/D4tYieQ5X5JV6V8gT29LUWQX4jaXg3nzMwjEzcAT9waU5y9tl6wF9etCOABv2bR3L4pdvP1YUZnVZOnsMc+xH+F+LZ979n9Yjl0JopYf9cTpRu7SMJOkRcE5DRmctnD7jEaY39slc/JPTgpWP/mpf9uneAi8Z8CBIiOhM6ATK1AdNoz16w+kK2bVInPtNVnmlpylTge9ZIeglxR3FQ/F5kRiW7buLWOyMomWVDat3bXLKygb/wETeBbbshPU0SkJnnTM/7aGjZ11ZkpAlSLA7rrUdr+kM2cvh0uKUbiBmS3DCpMUzfNLVFYMzwoajhdmtl2K6tifgEPTEpCa6r/S6ws/duv4mOddE/QqNq5v6jPV8qy6BaO8XJVQetUrVvSUkvDDvDDnNYk7MzzOX/vjXfcYCz5yQ40SDNwMf3A5Hr3/dkznLnAGH+lxTV+hxN/ghN+ihAsu3NRNnj0vl8RPFO/V0/NFyfKOTX16OdUNAR19BQQ9zf6APpdyZTz3+H9tbWlxgHQi56+8pYwRadz6+vrttdXVoII5u45TtnzFVk6ITLwOZhNRQ21E1gslCh/XVFfnCaygX3HawORX2pqyzu+No8xFhmf1LWGfFwp2BX1kt215SQcpx5UzZ9qqw19XmcslJjW67Z4YnLdtdd66w9i70SiBgKT2Q+Hen7Ljz83Pj+6sKcjaPSc/sHN6buTVmQXhbZMjwY1Gy4Hnw/HYk6mu1OoBl/0CkfsnwZyTynbzMvNFsHbtbmrKWr2lxXeipeUobDpIQyiXpFzGaaWWSAQH5/RolKfo2/kfv6moqrh8AY/Q3B2H6l/1+qxHzgn7t995551OVPN/QHK9KgjuRdtRv7vmVz/eXVMU6n5PSU5LMi29pMEcBgfL15k5cO0gG9rJ5LTn4J42x9P/Q3Wc/0a9vZsIk74je2Rtb3f7NpGQJdrBbW+hY5uL9azS89asWQPb7Ow6TlX50l2xWHR9jES3IiWx4vylU8SA9BtNMaQL96Rdq8JXOCkDKQvG9Jc8yg/JnhtXVL8kCpVAa9NVOJ9iJRYYX1xgKEw2XcuaBI46rinc9nEawypc5q8M+AeV+9k1RGd3b5N6zwGwaP1oQWnpyTgYPFhxbnV1tVmKigznobjj+YXBLuZaD1LLut8qIJnSQBPCpeUJX861ReWhy5yJE4cyt4RkzbRuwEUxzqbee5DhVXG4oRtJB8f7hUfbCPhlZa6Vduc6XqBIlPUS2XDoowPlK0pvTgLpDniIvAelQmW/CK4JRbm5OVXMVXIrYjeFkBN1mXOwMp32VteTIUa04XISWXH/XFV2oFvRd1meuQ3MAwMgaX9GqpmUGcc9zf1ZSLySkHiVE1E58fl8Z50P+JSVr2tIlyrp2OWAA90qc/m9lVqRD/5cExAUE3jffNvTs1bB4bsA4Ow0MXW/KoVUauVFAtq5z3Um898dLVj+wkduKxeKNaV43UAHvmoatA77GRMBlRzHkcLAmU2J6961iy5eASrBo5b28IEeez96JTCvuDjdlujsRSBXFbCn4eOPzDX58k99pvIJIGUgAS7mkNhSx/VEHfxeTw0G0mLESqPKmwX2vGiIhI/u0hBlEobCgONud136DBIO9pi2sWmN0yOCwKP2EAuL7Mo7LcfscDidHNSKJqOzGT0A5euhOkUX/oDulU0hX7FTeLqxq1BVrS+i1Nd7QRXbntSdr0qKt4lPmFZSltV7LVyI2cPHZbjwrgNFJTXZC8SzP2eoys6rALIW/vUY95Zw2fNhg2wocbprSW3tmPIdLri/4T3gt/abALv74bvpBxxod1ZlVmZyp22jVSJc58TvW7x+fWZwo4yHJJu8Iat0HwJpi9Np40bTpnMZ7cvk4Lc880x/446tLQdKw4dqgek1dadLkr2Dmiyt1Sg/0Gr3jXqr5G+Q+Vl1irCQskP5ny3NLvyClVd0y5tNySIIIOPqyimfkoPg0Hemh3Kv2d8WO2/RpZfO+ucb/n0aI768p3/60yEfYnaQJx2bD8DKinT1NrqHD8eiWc29H44Ei6+Oqr5lVKbYqLGOiN8//nJSPOqpS58o0lpQ2mAvRYF5hzgpLFiZOSUUM5W8P6BoyBEUOVg5r7z6svCkWcujmvpNSPyfHctFdiH9iqOYT2doKfVkHjh9P6vw2B0vHo6NHxyXEyfoiuq8xIoJRa+tKA33id+YWjI5Cvz+JI9IQSo72w++3JjJWjzxutH+96lavsS2uJ9xVon9Q5/FyORUp5ErxrDQ73uTMzvVpacrGisqMoE9n8TqMdHnGzoUrkTf5CgLz4n8rE78KDJAwIGywhH+4WNwMpqW3NKkxXJTlqk6mrfliZ/85G0O/tE+QGd7/9Kqt1Ti3vW2415PHPdTblguhEwyyheV2DTAzM5JmeYXLU3+WY/u3mfL5D7gfH/+wVtvrRg8L9bZiTXfLMVmuZn5ZqQ2u14EBTdFOrKLeajapqtg75yPPI2pZ4O870C/2xJH9soSkCKuteCST30qH7LIyNToNV9yTPs2oB06GXVu5or8XUVi7wfaM2ZTELFL+hqRqiwsYk/WphLPKWOSfHXAz95XD9jeO8hPuC/E1zxl6POTAApapmNpXH6tvn61LcjXz7ZMuFNWvgBSH/Zsr8WRaMzT9XXtiSPdELC3tyDYo5vuE05b8tXDFRUZ31uPp7ejUOorAcrXEddqD/oC+ZRbhWnXLQ02HIWfDBs8jzk0YRM8EC6V432BgRPB3cPOHXs7CiVAURWXeXwpKioUIM5zGNjdP3puIjO/RHcHbHghPdhOhAQBJc3GXrkMgaIpCNAtTVjuuevxoIvzWLDMJ3NA/1HLomH/GhJU050gZV8t6+k1luvsgPXs111TZGesCcb3ZuaquG40H1dNm5Y0dYTOVNU00nnwexPhP2fCbx7vPbIGKd3/AbcfAL60Cgi0Ade2v9YX71ojSoAJxatNmXshvr0F5ymgrXzDTFib96xe7Qgf8F9yQbzQOpDzZFN/GONZLjOe1CTWxq1Ei3iuiy+dUC3J2Tc93dA84Z0CeaNpTE5Z+ca8lOZQZlm6WcaCalxqahI+M09Yr/HxuQ0fPn9cm1hphdC2FBSkJYYAGqdX2ESeN2DB5vCcnSa19/sAPxkuWDHAssx0lH55Frq3QSkdSy0eLp+z4f3+b82RVFS2RumgZkbpbWlm/KA6K6sVfYeuwD+e40eOJoxd94sS8z7hl6QbqOd+mzHmBLg2kzQ2ZnZcCbMDVAWWhRnk9SYSXt299+qXTcpp77KLBjTCFsqK4xg2zYamj+4LhTLm2WiXr9j+pxMDm3Js77mfbFs9IBSvKD30QEdHICRlaUg+fj/iblMcm3QhMfDrVIs+DnjYgPCrh6rnXKBIHDXhvOmWS7Z4Nrm9185+bdqC90RKc2IfFsG5E4Pj67uwQDr2xX4pme8D85FfoXrScl6rKcpUJydZSB8HRPDDXAvelRMuvjSTzow2jeZxOOXOhWmoB0lFcYC0WTpu53bl52fuKQazr67uaEmXYxIUShgpSIcczzkgGfaTAeoMUEd9T5CwK7UZCycKhTso7GnTpmngB83xXD94U9woQtSn3NbBe4+9nhkSsAuqgpgw46EUt5pWvA5+xha0fChxQpaCQZDDpOIEMaGtG9ZpEd+TWf7QAwDOtKMKSmGoB3Q8OHLlnLBuI7xD3dTivBXushs/V7ihrW9hfiR2nutYWZpHdoV80l7uuL6aGoTpzpLjosllbVPAEidoH1d8/DNRWfHdOZWGvkOzgyg9RD8GzAe1qfPtgBV5TCRmCLFMWHTRbICs78SWYiZl7GVGrK8c7gttQ6FS44hnanCff0zmxrcqF1xSvWrYM5vu743C7yD5pUiMor4YuA97mdN3BLfMWNyAZZ+nEDpOcmkLDDK3rKaGrVt5W5kg4KKjVAmfskLzFYUGVFga3HUUv+o7b1ppaSYT4iJgCecWT77i8ptumvwEMogG53NxursB+Z+MqNKlcLgtBQB7Nqod95mWPl6tqhryGeXl5Vmmaxqy5hQxW+nCU3ecZTx4v7HX0SsBs7ODA2aoIHOtrTOZHFK6gz123f5uztz7+7J9vcuXLzdKkRyxZ38HgjpOHNvlICkWsTk4IgOygeoVEtKTM1atZ1rVCAZfaLjWQoPIWQmXnA/KyfMkyelDUCFjVQ/+xmh8FVwMq+AeuHPVqiEr/+WG7SnUc9uMrO1l0I3vdZmnIbPth/ZA+pHqUjLEe8FkWKecz4aQmtKW/g0tL2sbCieYwtUAf0IAC18ewpeXE5V8aMGuXRmYqZChz2yPyS7VwFR4GYJteOTtfbXH3JHLVt5W6lK+0iTOS2ba/nFuKGdDx/r1NGUkr88vr77199d8asKJlvRoGJdTVr7r1qyhhu0e0NP2H6htbVTC4QxUR/LJxRZxVyZM/uXC0sjVLx7uLhKWbQWgJ8RkSAklh5ntPUIs67eKZm+1XSeSiilhCDUzIQ51JqMm8RFuuw1UsWio7liQZTRIfawPf5ME/BMKdPh0+zBJx8kg1j/xomBOziHZpPdtWbUqkykpvq+u8KkcVTJRmDVR4BxVpKm+hAY2/1gSvFuklpDe+EC9TyK/tTzlIZRTeYh58mbJs59zVPVI1+rVo175Buob8ybyjmvO+dcbqwB0gJELEofaWj3ssEfwLP/AdLyYbdPmtJF+dOGEgq7j5O65E0HGo8AV8aAhZW9CBmFG8W440lPKVe020AOAC8I7jLzU5/pnzswE0sX1yGBLJqzUUyA2awRE6qX+jvwGfOwKneAQYyVY54oQUP1J/6Sc/bOjJHZ4wwY7ogAdxcnHA5zdUjJ3ec5x7RgFf5yy8r15+XKTeck9TeXZe4HH3FUFTnXhcrDTjm5T1sst93FsXSbZnH+RVM56lyAyIU7P1pRB9xgqRTaxXMOt0GTA1LgRFHkXRw+a6jJkZvgNl1Sjzpsdj68f9Q/FYN/HXo9K4MHVq3WUN9+BSbEwyNVZ9cDlDpdNBSH6hIJg52AgVlhHfYZ0LjZJecwj+3brDZlYgyWz8QgMMdmBxYXjCmy35+aFG7IRf5BYYLks2demXPYBM2VPqaxcccrPxPA2no7vlaxCBX70jxgpPil80RZV0D3+dE2DOqM80qdq7qOGY98Jf27KoZpQeEPPpOgLyjntRo6FKXHFHOjdS4XyfAnwPx9XbmecvA+oFChe6XZUe9ssML1iTI5Zrd5llUVNXbH0y57Tu/uymqOFTVNVs6aC1vNDwBD/yTRzXj6GdCKLPvrJciy85wMU8Qy1vceOqDFsSkbXMeRjPYVueXCap2rEDaqqHLGKvtbWVw7v+UTPsgu4hFIvrh32cekCT3LG20d6P7mhsbG9olD7UKGsRBzCDnmkt0E3tJ0FFVk9uIsnBjQ9c6Y7iasHDeqc68pEpCiPKd9TGKQz8dI7VqwwX+9KPMZktow43p20qPSubQ29LzaZ7ToSeYbcUJgvFBlufNYll0wxDPJpZGGB59t+OVFVlXFVyJSHKVxdSPBJIVQPM+zoXEo6VoFfEhhgt9chSsrxTN9BXz2t+auMEGeiNN9qs5WMBUOqbAc8b+eUvMlymrn/Nm5KaB0k81RtVlZ/Hel7zIu7zcEshqoWUMPDEv4cRh5ilruEMO9D4/JL+txocasneVdiJ3sZHINdWN6+wi3/C74av72pr6/crzv5VAvbmw8cgP6M9V1RUwMlmjvUmGyuzATSpMAnK0+gbHJm1yyCbXk5lZ+IUHAaes7PBozOhvrfrbbJHXcMXTca3nBktYxoP1bBxLhu9sJrOKPLEeCYjmXTwkoZQ6DtdRQTqLMC2duvnVKRakzoqpM2WyVJDmOJ5enD3QeXVeRltil2uGB+FuNXWNSbgYCKEmHua888rvZNm3Z0GzmiDR672WktgY6e9lZP8VWC0vAC16MLfT5eWRzJye03jOy2eLK4K6WXqQWlM3ggAquL3YTg73xYTE/KeaH/qiUkJShONVUtcxwStYjX9u7pUw5DoYhEIFa5cB54Q5SgS6QjjNjn4ONXA83l+ysqRjd73u6YUQE3zLxEOvWYL6B9AJZnoWfbz953w5ruFSumecU+nxGLaC2zVDUhst6GT5BWn9IL4Mhex3A1VAspIoxdCfW8BBmCcA/RL3e7qbWJRLukWvyDfi5/zqXSvwCQcjGTA4vSoVz36b27G2uK4ZE8dhzuT5ahsvIVjuO81NPYv39fT5BOzgvUOtT9N3glfjSF5byU9suFU6ZOz93a3pKYlpc3tOgO3uNMfRXL2oi3/aXu7knMUHNMYl/qY9LT/QzeXIvpjuXFe1/dgAFe4YiU0GRC+mdAz+b7FalVZu6zWSXZdbCgrYZ4egH4Hd5DPCmXyG59hAV/XxAkwvc08o0d8d6P3XCkJbAvlpxlO95deNDfBdIlHUDSAZD6plBlF7tS+KuIp4A3JITJHLWZt1mi9PNTI/4daIe7sS2Bba01y6f5/HoisXNRee5rD+9tLiwN+oK2JZkqSWtp1ZeWUUySG+7eZ8uy6mFfjWrq0gfe7F4sS85n81RlLTC6Ee6qfwxLXqeAHuwqCfWj/5kdw18aR4HDLS8cnx+WmC+pm/cjCeNcxGz+3YqF/0sKtKFgeeSznLjXYTErB8LheSj2jR5jIZDh18qU/KJhQ8vDK1ZUZ/DULx+J5/QT95vAZoOTwP6jKstJjO81Kcdu8EzlNr+sl6W5fJuPsD7Cna1thxIPr1hQOuTj/0ttPBM+P2X/FiyIITazwQ4vys3dv7AktE3VtF+kuBcIOb7rqSd/JeDzXVw+Z2lAnCewllnISybM3QQAWhmxWEG8sTHjk+ux0siz9x6AsNd5DstqONI8Eu6RweaNvZ5hEpgUDeyBPvyC5bi/BfqpH6DdfM/1JsDHNRmuXKSp8nL4MLlDvT/LrvuVVMMbu9HFjAKViAvz1uu1E+m9np+0Ih5Bsv1Z70u70ocVjV1nKoGrgadamUq779e5F65efbyP8wwT1d/UXJeatsKlPBQl9Uuq9HAynZQ6betW1dKvOKelo+b+9Y1ahvBKbBFOcgjulnOzfS2vP/P4QRhvL2MfkeQuSzWZ9TqhoUtRm+kTcP2UYHsBaK+zH5r8ITAT3o3d8Jsu47dUzSsuwo0z9z63NNwLKOG3wQH8JyRgYXH1rsLA7VD93nf7tzcBliZNT1sOXJjWH0yLXJ5THMpkIQo/8pkOQTtly3cdVi6/ZuYZzby9dnZU5NMPrZob97dN9QLa7Sj7fQgVEHvBDToX0bmH9ETWcwIX+FLLwLnIooDRixLWjrsnLWdvuqwIW0X4fOHjdQ729YUTzJd9pKulVVQ6Psk8GPvo7JEAr+/TSxzDnAa400ykq5WbppMtgZgFiRYHgQd+Pai5u9btDx9eWUOGtrVrm3v/nXsS9sFuFqe+Jxflq4c2NPfMc2VUMQY3cEx35LCiMNOx53OHb31pfNbro93yvX9HYzQaVOervmj98hLfkYcaOhFgI+PgrjmiKdRUuPykZxhTQv7Qho5NT7ReddVVSB48ukUWwXQx5QaDnDtisQqQa30IeVbb+7vsF4N58sMg2LoIMLUHEZ3rRADuMgTT748l7HvzIsqX8PfNuutc2vpidOPwahbCAu727GKNuD6Xs/ZN9/6k5YIb/+18xZZYj564U1X5L8HfDLpZe5vsSCnCvVIgBxP7eg4cEQxqZ+JjcMrK96Wmzkom+97HOdXtZHp31vi8bQJ+IoTxcsfA1aAmqyay+oAX6+sjPu1SrJIlut+9exkc+2uRTaO52nmmw5a4lpnAyvi8afXukaXcubqZfv2ySUWZANyZKNixNv9jJAD+AIXF4yGkuwbAUyY5YdX1YrFkVmFhvALohxN/dV1T74Wqxg+YAwM00ZHqvOK8yfGNHf3j9YSVLdtqolfWJ/goSXicTgmx0Asv3PcfBwYVy4n3Gk1/1wPnWw18rujTYw2dq2xKDqge7Ffm9aFoVz4solkSdbq5LT2elJzuks7DXUhAscTz3ossi9fuyzuI+Fdmd/FaeyLPVYOA6Xb7iaNtZRKJMle6tKev+5AvHFyJgOdVuOQJeA0vYJI33kwaF60py91OsAsRPuVBxS7aInbS4m9hgJGJs3/p597vk4ZUgADfR6lmrBgwSNDn8S8jww5rr6MD1bK5d+u63wtXprj+TDpO2e2QkiQrYVtZruOEQZ5uwRkz5Jd1XApWMzcYkYE6y/PZIKsGuzUSLI4xs15UUAB+DQ+FNZ2tKGtShxXvQkXJuVFR6XuiUX941QkwlzNJsGNt/cdIQCzsU0KhHqQZN83IjxycrWmNcwoLuypOonhFC1D+fNu6/EjjBeCWFYpXfKZRKRwOSeOoX58dYMosmSvvwvN+LrfiDIp3aP6Kc0fbIbbqwqXQ2bn+Lb+26zyErLMB4HATTHVbDMe4yDLtNbIcerHDtP7JT+n7+0unnf/dTZtCSU+eym17wuLFb2WczgGHssiAY7Zmg0IDCt11NY12XTCptBUAv5/D4HoQHogPUEanwEm/waHKwcX1Xf73fupTE15o6SlZgzL2g3IeVMSCYhJupqdA7nKxT/VqKHMiHNkBise/gErWl+O7BtRZeMLyyC2R+e8uH7z+THo9ZeWrJOQ0ODn3wO+2n+rWQQTMhtwOKBz/Mmj8lHSa3snT9Mcg1FiM3PsXQTsp6rdlDrBS7UcqaC1n5FzsAuOyrNRZlvMAN+NDnBCD5469jkngnSSQwZS2tPgEVGnwvEsm5sRPdCNYLH3QcqUXSSi0zeUDz1rMXRPg0jqXkYHB60br66NX31S0KFJ4hTtx3rsHq0e4O4v2+03fS6mU9FJrn1UqM8mAMt7Rmug5AFMJzHGEWqm4VZA7fqbB6GQQYewmtQSG61EXxKCs+guDfZZtP4kkCh5PmR9YH4tFzs0PdMdSqV/C6PoVkjO262n9h4mkqfmztdsJ8d8bVtRf5nT0rBRFPQfvI16xAnq2SZ6Br/ghMGztRNry7VaO7EdqwMWoBXkPAni5qkKWQYFNUFggE0cafv2Z8P6UlW9Xa7MOtEIAZNXZieNLrPGWLVvaZcJ+bhNnC7JedlHm3WV3x3bMG6agueUc8gh7DUp5o2kZj+ldBzYtK89+A5ULRkVE80yYBKdzG4c/4MPfizaLLerwtpeDd6BcyVpVlVtxmVDAgqJQVFh5Edvi4QpZMHOJihde0pgQ5KHrwoxejwSBWi03F1S2w+84+t4rzIpwqkxzXXNW+JxzMkkrwvd62aRQ98qaom7Z4i+DyuyHV4zP74tQ5byoqjR36+6c1u6BRmSnzbRMw6dJWbZ5oHP+8n/9bNVwBrJaPNeezX8O2NmzcF98NGCwVVvb+y5CZVxFd+mvwKfz6QEj7+VQWL1Ukui1luvlwl9/WKbqCsfov77uKCn+kNCXV2UPdMSaX+WW9Fir2/+sz7R1BOWwMNBNqEDyABAwbaokPW9bnc1DF51Bb05Z+Z5T4bdhtRLB2OcfQD79MVfB9u7+2YXnL88+pzD4pkfkjfi8GYn6FVJBaMnmFoKCpkePfT1NPXb/wJ8RlU5n0ywqUhIfRRaceHAGzxl7PTslIDC6V9xyS9l6BIiE8hTv61taUDWBUPH3YZSwgq7MqMstoA/QXe8W7HjP9xRanpW/h018AABAAElEQVRV6Q8redcR1/617Hr3TSuffOWnT6gTZjjWBNfhIHqiA9i9pcze5lN+Hk73keKa3e+5Rh8KWR7Z/kos4/Md3uaPzinscl99bg/WNQsByVch3Wak/e4sKIoWh2VyXkTzrWtKD3wkSaXJCWIuVNTceSgZHxFcEWJxnF8SagBH3O2oivcn+HkvAI3nN+FmOOf1lr19G7dsqBeBdiaTiQxVasADvtrQ3e971P414/zjnqeet/oYDehgmwSyAvfsWQFjrGWgo8u23Z/BKXxlXkCd63O8V0Fr+ZULKyvPyB3LKU+23zQ22inT6DA9kiUFgtNRidQvVkPD8j5MHS8LQoQ3wZ2JUgFLgc2cg8qzH4wbHaFB4YpI5aUzyvskQFcSbq9b2dam5jf3fYAqWdevb+gtxXmj3BYZlMTY64kSCEUi+bKnnR8sz102t6TyQs+S3pXSoiuea4lnzyueuLQtTa8GBi3jYnCauqsdxualXOc/uOH/nzK/9D7JRz8DYq0Kj3tTqG1/8YNTFwxVwRC/hcSNXpjPdcAKq+Ay0PRo1EBMf1T7fAuVkCpx1VRkbqv5/W/5fSEPsaAJ5SeCV8L3urwq/xCLJzaCB+Mhw+aFIIHo70rH4giMz05a+mYUXEKCCp3YmdIvKLCOfHQmuCJAis4XFOW8aVD9R4xan3cl+nPVZluRWBF59/xFl+xojEWZ472GyiEGyLiiLc0DR5CIcQi0lLkg15lA6usF3DQDORVjhPYox9KTSaY8GeO/wce/x1hX6JLnqy0NNwgXhTj3TDtOWfmSDRtA+ojq3cTpcmUvW/LlTsjz+5lDUOFCJjl/fPPNLEzoKmwxmsBA9XvM7WBUIpnimcOFlexNL+BMm9JHtLkmgh/w9aTloDZj/TBn/PDzx96Pfgl4cTgfbX0ySPWDhEpFCAIptuXmAdw/GzTg8wFbqjrc25vZRXFNLcdDHZRcvU2m8alYsj8D+FmzY1m3WrqzCnHeMupjQ1UwhJXml0hYgV+M2fHfG8z7Ba+ry9AmjmbJHuruSyXSBvWYq1bIpUNcGcLn6vcVXmm+3rn0+nvvHfSZu+9B7cUrJxR0ara+GQiTu0uJ0gki9NcsLlUkUCAXQN6D4Fx/N7LduhBqW5y1tHgmNCFdkJNzRM3LWuf1Wo+qZf5uJoc+DXa6ryckMttjxguAou1Coc5LJ0zyVSgO6eYy+QlcP2vz/OOyX23tWfJiQ3velpZ0SWV7/8enXHTp7EEFvBRWsGn0bfQc5TeKK4Eq5sw9Tln5CqiIa1sqKgdFkZVGo1Ik0VVRgSCk+6pnO1eXZpV+Er7eS+ETbtR1603PcjpJwC/feYJF6zmen2kcqYu0Bg71w6ri1tuOVZFu6B2aIGeumMda/vdIQMuRkgpRNmvMeaOXuM/DWmvgEn/CtZJdFjKgFBByT6bZmZ1RKm21I/sNEGD/N5lP/RZiDBJNWt8xy7I3w7I6jL8TacVJQOlmmoKKx5QgCRZZVTN1x3euonJ9Q23tcZbg39Pm0/+aQMKVeMrWHVY9s2Cov509HVM1TbuCqWTl5Zdcki9cO8f6AvrJesVVTPvp77c2tFcV9lp2/BHPcXpU2fcQaLxLC/xyIBQO1sVtd5Lr8ZxVx2o2CmTKufDbduJvKNuZAAsXa8zq/15eXhdwYU9iR1xq2dpFVtJqBrXZL+blRw4FNL3Mk9QvBKPBr2ua9X2M962O4S2dtmLFkDVcC2bEhUXa4QVI0Bgu7/X1XcEMRG34h6fx+1NWvmJ7Ano5+H0ZNQ19T5yqrSvAa6IZ5p8pZ/sd1xmHiOnzksw27bb7+8D38DMvZrXfCTjfcLlIilyPKsXzgXx4N6rJ7vXaB1pdx9jlKlwIfXAiDL9k7P0ol4DxZqC3P929teFNs/6J7ZtbVarvZnmBPQV2/r6gRZ72ZP8jz62+VyBnODeM/XhQf+1SL8pd2o85902fgmKtTb0LZIX8K0Co24023jqE4Z02jVNHT9ouozpzF9tpY/Li9W/Bp0araOur81KenniOyd7G+1atGkpcchVjLyXmj0AHkIBCvPzXL6zPxFzWNXWOq+T5Mw0z8v6bv16WfRVwZB+bPqHFTpD6xLpHdjmelAanw+Z0Ij4HNJ5FsuXsvfOESsRImDJczh/1HJIg3Df5awQ8G7bVBYY0oM/c2aaSZc4EOx1k7g2knSZgd3s86v0TKuxdAf/HETz9a+F+eAtFdcLgCNeEcJkEc5UFrGra+BO+Pm3/PGXlm+mZIrcin94K+X2hmH4UeD1/fH4HvGqPMJd9L8Xlu9fc86Pmm5Gl5i/NeU2shkJpD5dKHLSUIAY9okruMxIHoq8wXAzfVFGurE5D8G3M+h0urLPk/byDq901bazsf1I9oX6lcvLqvDzBnmdVVBC9WqSlHthVv3LlSmvjwa5KHlIX6/2p+2SX3eJw/hk3Zj4xAL+gp/DPIvo+V/ak+9TO7UOBmdJwGJzgfCYUB2Crzn9x+H5ra0c/Yf8dUJ6XAX/7QnH2kcGFSFiLKbvctWw3gmSGwrjhXEsKppVhmlFHkqdFFDKHSRZviDulwqWA/z0gI1JC9paR3ggKyicQy7GDmrRloMPoEN+fMEW9VMJ6CnXpH5S4+/FUR+J2VZKvAVG+jd9ryis9qjNEkD3o02pQQbka/ngflT1wa5EY4kU9IiHjLx2lh7umzSiumADXUm1Q1qYMR2D8pWtOh89HhNWsI2FFUYiw0rZIsnK8djCKVQruCFIWVJIlYbVngl+OY/XLbHGKMfii48KHg1JBQ4M0KRSyWgeMUh+Tyz3OqhNpD7pX2uULkyMdGzfGh597OghurA3/eAnUt+nhKVnhyysiSrZh2n7lUM7B2oqj8we/zptTml/vPULS/giYs+hH5TztwZacUMN7AnJbea7faE+7JsoEoVCxu05Lu+sWzZ06BF9cs38/zfbn+mD+dudqSieVFW3rU//TdTbMM/Hs5dF8f9eeV9y1PW4oWlY+fcBOfjztkGtUzuLA5LZKnluwo/Xg9nwWNA0mTQW5ipp0afTplgN7FxYUDKXzTssLp2fkhFJv6L1dcj9784Pnlg7ceZKpURHV9P3tPXs1vwpaZTKfUZ4HN9EL2DTf+8cf+Drza4kc9NTz4fddhTTnKiRRrHdt9hh21AvSrpVdOm3yKxXR6NsyGMVPtetOmUuUC0SsFL5jFLgO0f11WzsrKiqG3ConadL/+UcjYvlaYI1E0UIMDwvt29Ux5Jv5S71rwJkl71pcAW85kmfgXTp2IKUl6TDHhR9uA5XJa7Kp98b9/q4zMXVwsE9jr3+/BOo3HUybjNXHddLr1zgevPVDN3vmcHe+E2SfaNIKLgHH7KV4oPW+rhTLA7cvTsos6k3dh5OAVFX5Fe0AdluCd2ToEMEmcAzMQmD4n3TXhQlnnU+mveVXHDpxFL4Jzlme7SjkqoGy6nOLciM32ZR/BxG2BX7GnzH15NdQ/ODXCde7MuQrmng4ytpdah/gtrk2bbrBcf78casEUOSE44Pl5X1XzizoPInVO3RmbVVJS8ygv7O5+xVbNz+tKsqq9Ju79iFNmQ60xxbqlnMnxms66D9fgbL/5kA69Z+gAf0vLKwa8Lxv+83BGwe48YatemuRZbsHValF6aLZ6owZBYPfn66vf7FD/z8NDshan2xbu+DzMYIFmWyTIYV6svukO/tL/H7fV50j/Ze+3NNTOhjJLI/QNwzCG9K2EUUxvUt0jy1M1NWNuRxOJsSz4DMjew7tiaUrAayPIBGnbNtuJFMeO7I0R/M8NhtVVr8qe2QBaA2jWbJ0BZ8xd+6ze7uLBaSpRCkpQL3A96fSxjws9EPXilskC0hAIp7uEWe/RaVWbJ2loNLwjvN28LfP/Nd2I23b8xMuvQtlg95n2M4un02/pnL3V1dXj9sRG3DDYImLEY8pJbuyU7Ln9Hg+pRqwPBiu0kxsW/9ulsHaolD3u3IjrzWWRTfNjGiHsCO2d7THyhTKvsg5m2t5zg6J2V/TCsLbl8J1GTTcB1Hj/qdrS0uHXEYnyr86Ly/Rvm7NXiqzPah4TrnMix3TVyhw4ieeezr9PSLKV+zlXEmpwB4vQl0lGz6koYkuFOumvd2hwSik8OuYsmvD+T5BVlEF1VZur1xyKaKrlE7Izh4wdSNie8okEO0cRHQ7yxcoHCrCdzoJbqwt/3gJNJA1JGFZIFwyje60ZZYtzB/aRqbSBW2I9H4fW+ROIG1AAUvKFEn6DNTpz0NR5Qf9Cv0iDXh3ILRQInHPICeAkuweltIkqZ4p0ouAS0VtizX5UInlH9+r//tfeLmqKhHi8hNcBCeJfW8ize8KTsl9SUDKhOWqMPlNrvlva+7re7O2ltjclGIJ0+4PUm8N9+j4mlkXi1qLp3J4Iig/eAOXy0skiZ8LInz8vvKt/j2xlwVSQnwvfPsXlOUfuOMdAm7iPLE7jnS1NKXTxiu2Y66VPXuiL5CDZNrT9xgR5RuwoSoti2uokqUQNzXo3xXdPufCC0Nanu9j4epZ1Zs7OvJL8grP4ya/FatcOWKdBbBH8lTZ8oPbKMNm5IAwSZFIC2BAco9uF3Sq5t+9yp6+Yh9r2d8kgd4ZTm5A625OWE4q7Rh1wxRoLYJui0qiu6AsXoev7w2YrHcDHfUyNsQU+N6FKvNWoEpKLYJIO92ktxUV4Y+Llq+oRtUUbg/Iph2Gn/OQ3+d0dL09UPQ3NfNMOwmKDBUwezb4JPbfriqt/+DUaNMSMN+sBi/G6rqDERqOdz7/pZW7bj63KmNt9vvTh+GLbXDxcAKJpPZ7fZNXrz5+J3EqMgDnQx7yuhXYrC+n+5tfra1Fkd13OERATRhrJ54C+KBpA07hWUxDe8/lnntaG24jotganQEnRw2pwPBGkpbw+Y4bkksPTA/F8c5zubpYdaQ4s+kUV2LZtuvuQdz0Gcfg6xvbG9ruqKnJWDVctQ7H4+yKMESIlOM3NSVXPDRC0HjOxo6zSQLTSBfrTZcUVAR9pVLEPqzWJE/sPoxfbxuQCoeCjP2+W7F9Zp9TgJyfSWDpn2BbqIlL6PqOiTkHcOFx82fTwbZiS9HOBzxN1HCrVKi0L2895lntiT8xOv++YvLk+ON7u+/12/09lOaT/z54MN9I0sU5+VkTnbTVtOy27z2Hh64dQvNEau9D+9qKuSZN0B17p+5KZQ2k/hXYpUPW66lICeO31TTtNi7R8YFIzpQ1axoGli//i/zdfFxW2bmvdiUboIR7RNbb8N/GHgjp0GQpyhC9qCkEbTx9jxGxfHkyGXcNqxdrYZ8diQxtDUW3a7KyEpR7T2OLUyNzdrHruj3w1/8InEW3peTwb84pCey8rKZGYDUzx5Z77kkzKj3hoO68yuUZuZRe+GRTEwAUY8fZJoE9d6ywOHfrCoO+uohG9hbX1Bz3sK8Gn4CdJnV9NPnn6rxAx7sjkUNZPYfqWpq7/8fx2M+8dPqeSFl0C7a4xz2gQo4s5MuRPKmL2ulXiEQ3IGDc1tU1+svGD59DV0zOzRQpePDw4aiua7chQeJzWIjebXjudNmvfPx3Db2hwfNR820fiNb3qJI/pnJaWTk5Z8SeSe4mkeLtfoM4LG659Lr8c4pF5szbLFvRFvB8hIDZXoWg/HdKs4sXbOruDg0SLgmLuG3D2hZPUZ7qG3Cfmx2Nxgbbfzq+jojyvWTiRBMkGUGJeiXRtN8P0PNwwTkBmz0JaslDSMfYo5vW12PcfHBuflZ9ttllvXzkSHZ9y0C2IFYXQhTYw4khqwvbBmCsnSeBwQwXqKGS9evJiFjpp+MgjLXp5BKoufdeSeNSpWEbAVA4TNwzLNAjtp3Zob5zZc27Nej53wWQvfQ4HkS7fGLF+KqcnAMdweRC+DAFLnj43UUMQswzI+0FuMqmSIp/MYhjloL5FIFdqOmz8KhvoTPgrlkSlJXHHc8ZoJL0NBIgaiCQ0kHFtut393SDaGc8JdY8DXSOXUF/dPC7UxXZTPB6S2r0D8RIfx4k7L/JSfj7hMV9svvKsyscTlgUfAaLJcq/73PVGxZff0u5UMITckrnwvlLFuT4jghGtJNdfzp9NiLKV3QIA9WI6rH9umdMKm1pwZ9vHb/9xfe7HNv6I6jqWvKi6sGu1tbUptbuCS4LfkyWwv/hBpRv5EuBj1x5w23jMKASOJORVkrbVF1vdSnp7xUgodq37jf27uyQQE/bRYBt0ikq40HHonmFweDQov5CpxdABuUNoCasRqWESFkkEo0Y7F9TCLgZafqzcdld/7IevOknSipn1gWFy1Z+ulR2wEXipB53qbaWGM6TBhnowHN73K7txGtH699hxVYDTG51VOkhYD136WkTCAh7XDKd4tnz52d4HoRR5DOV7VSmz4EBri5b7xlYfMcdI6Y/BBn7n1HclBUFt1TAn/+XZC21dBXiR8GUSL/mEK8PvMMfkx36fW7JN8Nqfm/yWGqzUMYvNTVlrd7Sctr6fUdEeHDrIhWFm7B3+1RqBzps+zg6SDFwAMk/plLn7j899dRAZU7pnKCmfQ0wnxvhc1sGIPxFqEB7I1GcVe//7Ber9v3xj0aasFeI6jsv4drnMdmdm2xqGtoC/aWBGft8dElgRs3rDBmoQU8C3xUH79WwI2T0TMPknes59IdOIvWcT837AIpCXo981RB49Io4126x3mgpwyVDCltc7qhsFmH8czFKluu2OstIJGcil+rAwXS6DV+f1NoS143mo1CW64H46O6MxcbLxPszYHuTbOI9iRhYqnr6/JngasjsOlmA9Uum7EWofagqN69gYG9zPuRynHz/XjkJNNRldXV83qpVx7mWBu8nUFJ1oK70JMcC4vfHPXFrddrWP4dKOI+hcOr5hkeusT33+euQyiyuQTvf5fdlva+kInT+4D1Ot9cRUb6ZznLXpzDmB65SH6dViNXyuEF5uiS7NZ0Tfu29y5ahzDe9UVS1AJj6DZSu/j5j7pchrj8zwhe6lv6JCe++NByN0D4u03EaYXFG5PGhUKh0/Zjr4XSbP//Q9uQEL3ODkkw7+92wn9tdvnDl0I5K57yEeV7IoU6MBORpkkRuhKfqkOSZXwBW9NtwWhXbgcDblQN1DWI7r6MIYyPXvA4PTN5xg9QG3MhxBsM/tGOnyc2F60a4DnyzSttVSXsswpULiS/YFQAHL+HqA3D0ze427C9X50/LFU3u6mseyFYHWgzJn9YHDJ9aVKa/HXPw93Uua3pNpW/ClGl7r175Nn/vc2Bci/DsxU6Af06SQp8CT8y4fPBbLinJ35VOmT+D+6EBxtvavrbUJvy6J3geUPU4D1hlJNTS0zbZYsSUL4ritQEsZpmO1+V6bSIsnbEiMoLAIN+Bp0H43+K2NAMr17vx5Y60mfgWdpQPRlPxx+1U8ieWa20GMdUVYMEuN1paTMOk7Y7jvJ4kdtTVXetsC4j8fdN49Fy1e1+dczieOoyMqLKIL5SjSMqCq1avPqqAXbfVRmEvVEj4GtIrv4F54yFG+93eJKnjTGkHyXZ/fkgZgHI5TiCqRPdhXj1NiLE5lTRfMm3vWb/Mk8WyA7/y8QbDcReOkj+Esl27qyMgGMD2DgzkrPjUv+fD0+1KUfsFoD0fM5J9QYWBXdC2lodV9knq8ZlxYswRzGYCWdBqslDzQHyhrknu1j/cnxoJ/mOhIzxkIsIAOz8e0qagmMKQXtrW0Bt2+3s+KQeU2wAhXI6KN1eigsUqK8BuRBKF2s71GErVb0Vdt19cBr4JMUxleeMnghFxEtq2TyX0tEU8DHXyVOeW6vMD3eEFkUg/jpCiDHdDI3xu766cMqW5uV+QqmcsYZnTQlniAajmZw2V18+OklgpoCxzy/PaQLPxBjwYuTILFOZjoH2KVOcq+qvMsu7rcnIOj6UZn+oonVnX1wHYm0LaMLOdtboXX9cS1xFEmZbpxEBLbz2qGvyauZ5Ppqwb8+obOG9fSGULkcGz0iXea2bSGSKPGeq54yz0h+hF1K/NVpky3fPsGXh4Cy0kceCcjMEwdO4ofHPZp+8IRQoDF2t5/n+KJbxr4q5ZCzFLV6C0UpnKelIOu033nO+EZHaRxvlaSu37GZdvmqXkZlw4vnEFvdGAupemrfjEC64cEX/qovLp41SZ5aBcfTe89E1iMRCiF5Y5Davv86lclJ//E8rGfwEupbvwZQIVMm6SfdmzAYODm8H9acv/Y+9L4KSorvVv7VW99+z7DDDsO6MgRGFwxy2aBJO457lGRfNXk5eXpw/NvqkxPn1qniYaNQrxGRTFHVQUQRFkGbYBhtlneqb37tqr/t9t6MmAaEyYGFTq94Oa7q66de+te88995zvfKfcv4PeQxcXmWUoqUMRhG9IE/QO+v3heAyZ8HVByQCGIiQtZf0pPsJORQohM56eTpmG7JA4ubmZ+uSQYtYkUcd2EbLPeCosS6adRVe+1UA8wK43ESnogc3MZsEv55SW+ZrVVVV7Th9Runl+FRkgRTkcO/JInf4JPfDAlXatwm6sLlX6dnex3qjCbl40fy+us3ZGveYhxiPAdP571rJv1Dj1eWjAdSb4XzmHTESc1kN6819ZzPK1YzBjDY2ZQCynERbgM3iBP8HMMtsio8oPe+94vg2HdI7torChEvANTYN+WcjyQri3tzknB9oyXV0hkSNYyFiF436lKOIjPo/8rMIyk1MmmYU0TOJbt92W4pHRUiXGbME2S+j8PaT64GZYKkO2ZXl5kWnd1RXuxle5RfC9zk7Fsq1LQLSzynKZRWZFwfJU1nncdqwf4oogUNzH4lrnmLJQCwR2zlZ8/PlXFiJU2YcmNLsO14x8fXQXflgeQwff4hjBApyBASAwlBJ4w6sCmaJM4GxHIJyj79jRTurr64nMqk0aUTYhHv/MtBDYNX/BjeugpYTAvn4mcTkw4jNrCkR213R0Jt6AVY9ePXJ8MXvgkuXLQX7jTo4mnVJGMbK1a3btIF8aTagNUE71Hy37lFrFhgUX28v1rTv1hopR2zjXvh94c7Yt07nyfPAGHNhz0K5WaK6xnHF4G+x5vM1yDl9odWOYfQgLfOC9n4fPS1tbM6eNxeaSZVqRgaJX1bXm9Lz6XD9dOGlSZtnO2INIfjlKNZItyahWYgvCuUCVGOB/OH1y6cRVly6ct/MPW+O7eVWPJiX3wzuLv7OTqHK7pT9VC4HJJVymdf64v0IDU3og4PO69appv6BmI4lG4rVIXSjeFCHL006yByFx1FSUO/KLwFkLbqjXDSQ3Im67TgyqDR+2CJYhE76cY6VMTowyqrFt+bsv66fMn58lvZm3iEROsm1+esX0yj3oiM7NYLGv6+n7b4ZTbobD5HsQ2P0gggtyBCGGrNsHkPcDbknBx7Ij7e3uI/9/nnuAgUZ16ykXl+nIcBLV7T1gLVMLJyoIgSWKYvVeGVDkczjkXcPCDVOX+84opebbET3jExy7SRMrO86vDx1U49na19JM8wZ+nvvu49q2EAvS6u70RoFhpiAhvBtWSrbM3qc10vsULrHWYoK1kid0qw6uFrCw9AuscwuE71mizH0bu9RbcFkHVqqOq8cdej9SpNT2/kwcKRMKinTHoLbJvO2nkO1Hfs1gwsPzJ1hy0VJkN26hkBSfztd7ZAUZ7t2BgPNTz1/g4726qCJUDrl8a12HaWvrN2OL316cy0mH2w6745C3DPkWdWf6uvvj0aWaZL73/+bP1ygxRtKIbRdcLuIyRPS61rSmSMQLDcOWSNFrYKD8L2D0sJ1wAeW0satgVhDHvTlpmWvVRMIzmIwn/4wj5y9OD3xp6olehmePK1VYxS9zkawOvg9wQhdZPZN8gnQBWLg3wTb5ZMJ0A4AbJcm4Yiso+85QJO/Nif72gyIXKJypAVmN13alijYmEmEIEs8Xp0f/2lKk/eozHUtCpqUx6Z52DwQelXm5oxEpejjBXps1rDEQg+uJYd2pWfEXC2VlE5TUk0SlJkAXr6FcwGTeel939BejJd4oBG9e9pKtNTVJhnBLYJOfwBjWzx0+8PUKPnCuV5Fug2a7xqe5b+frzQP9wAjBWo5I0xGpJyFibltViBvjmXFyLTVr5q87nM5DInybwc/bl2WCBSVFvG0Y0gOITKKNnFVdrUks8xa2ghrnEUo8Hk89jPvCpFKSCSYjr2dY62cuw12PcMZrkFb+18AWuiGRv5R3xVuCYekq3/jpE1/asGFga3E4ddyRuvxze6AtHeANYBELvJ6eMOuGgTirgfCEiVKaBUmB9D/kjqTlLnMgSRzGfgO1sSzT7CM8N7PW6w8OFii0pjT0tHzC1Cl8UFqAbMa3Wwb3w6OrR3x1A8ieAJcaED7/3FYdHqXHNb0b4dRbHAdxfiFRHpB2+6oX6Nqzy+WYe1mHvGdKYjLjhGb7JHeOn+e2xj0ZjS5iQ9mSWoQBjwuH2ygaipohNgCNQVEO1OLIGNnf2wx5Fj9MAJxsAegJrrEQeMU49o/HVwdj+Xqsje3KmlmzAAklkQTD7nZsERnVudFZ3TiToh/yZon89YfD+ZCF72LYy/fsic8qDYcXaCn12rQhXykce9ZI+j3dUvQEpD0Zw3odpH7bYM2ZKo0hBWg4X0eT4IVCe5be86v1BUXB7TpxTgSr0UKHYS8wscVxOPItjnV/GSytOXEV2JYOh846UodPrwdad/Sn9ITzousar1kq+47pOO+uQG4wl+WAHnJ5QfQlFccZ47KsGtOcdY3YUXE8UsE7jun6RROu8oHK0gk9sqj6aIsVfozErufBcz4Lu67TeE78viN6r3+jqzuHYx244XP8B+0LoVCC1cAuFASPyuvixBUHcB03QLMN69pz3Vl9rqobt4sIgGJddpvCib+cI8tCz7AJk267begEMJUT6HJsfhnmud3pUq3U800uKC5Y2do3hfS2tXI8/zNEIX4flGoPI7Lt17DO/3B3BRjt9t6Xe1uTg8MU+JtGCDzV/+xW006KAACUZ22rHTi2MXMuvv5QaTCHfFRQGsdDKvTRLXvK/d7AxTJxdzEmaTdF4k/oelGYSM/m46uBdJCYwuzxQDKMQqTbbj9rrqsoKKAQkJwxvCmS/hqyEfzIhhoMNvrnBI5vQtRKGNlOz0UFU4ADXb+zJLyZmiwOqbJHbv7M98CrLdFTQZb9O4FznoCKg9RVMDuwzrdU1dC9svI9hifT9KzzlROHhwfSwNO06IyV+r3AuT7w9i5lJa7dzGrlSNp6Mnarky2X/Ke7Z+siKnQ+8x30NxpAuS0qZ55wtiyJU2FPjzuc2VaZKVhS9+GQXub+bd2X+Bn2KlBP/lbknVXxrmQfXxg4JmO6l4YLyIJzSksBShq6g74nU4vfgqwVjdBwQ1ghQBcauKKjlPRXtfeXQUd3ukwzcUb5XjwvfTIV2FQIr4QZSVDZSyErJK/IP9Wv2mWQJyc7xHyHdYVNnfE9PdShOHS1PfSSDlnzrRILC2XX3CEJBa+JIwrWkHh6TbEkh5ARyEf7hlYRIAfdQ/TNumt32pxYAQ4T/wMPrM0RrjcjbFAn9texBBS4jHUnIwV+05PsXhQ3nIdci7kbARmjeV6cO7rnw3H6h978IyV81nrAw2fXMKALBM7zbOgNjdgelwi8dLXfI/8CUW7nACv+QsXw8H6wRN6KTYR3Ziy4AH6lKc6jwbjyfEFF+NGsmvlP+B52Afp4Zr+AHMdfgINi5R0AC2DiexHabI+ls6UxOe2nQuyA5rtC1nwxILl3FXnkl17flM0mfNLpacO5Fs66GWyWzLh72bKD2tYPKOcTfzQysdNhNprtuOxDgF88i3czm8n214W2tZWCbP0/NEucuvaBB/bjfXi7rS1MCZWwjMwCcRfeId+zp2U7RXKUAjUXg3klEq0J7oHgzQVgfOLKfAoXHrLwZflMBoxQwWi8TyAtLbyiBCFEiZ+IEtVSB9Tq8nC4w7aZFAezTsrmxs4+vYxuA5j+gnq8QHYk9hwtvC2/ODVEWk8cPjxB040ICKIBAsXQTRjc5cQXYnJ8Cu/8M/sIKiBmVlXFXI78lHeZxTZ4fDGAwyLjfE1g2C8hieubSAf/Zzh799NgXUapdVzLjqv2lpmBQJRqecMJScyqLt2MCLe3OZYp0yTpkOfCZ6VjNc15VxTsNnCrhKE3apzjFtBkBvn6U6QJbOQ+fzETMxzpre5UenptrfijjMFeib7arLDu46bDXl09oaEK9wzcl7//Hzk3gZtL55jzLMN5N55JP8VYzCLw4rOcXykpCAcUwyVnIZbgBBCmDzwvl35MCJ9aYkpfFz1iPRTgblYg3Wp4OJz4fJlpWd1R1Wjet2MekEX/SP3+GfccsuE8Y5Z2umxM83nJmQYf3u0y8U2GLT9ZGS2NkmH7VdluTmTWjQv6A6pts6IvPGzVqlVZUl1tOnIwiRTRMERpeO8/p53LzLl4oejzOhNFm1UEnmT6Y9BzgvuVd+TDF6sHuBc7+ivWx0kq0m+1CLJ2H5zaSzmRH47IyiArsl3ZrPXB79e80Tq7dv5+E03T1KikCGHJcY7D9vQFKxbLacahUEhmHGYYgjN2FY8encO6fhG6lJpkmpqSXCrkyqLAYzMPY82gY9H8+R5PoPxsPWMkGcloZAg/ycfZI0WPe6+mqk+WBUUpajHfcHVm6gpC9jT+jRQ/g4r+yD97t3cFRL9vpM1Zu6LdRrJ8TKAjoRk6Z+l+TWSP4lhO44i9ZHCUa2z4cLbC0ZH3k29DSuQynWFG2ZrxouBki1JIZO/lWKu4fWuM1Jd95HP/lT8c8mrflljreCQ2gJXGUg1rLCHe8q6+9nakbdlP+6CN/PKwkl6W0d5BHEYY24JTlWFTS19qbjZZ4r4MJ0gpOnH+qQsWjDnnqu/U+vjo6Ug1tAAOEuQuISur6kL7bSX/lZ125Nmffg+8tr29THCYn2TU5MIKn/BVJugt7SPO7pRgvMpa5MWs7prRzmQEguNDfgFBttdDw2uWZfl7Hp27rshTOK80VHKqYzE/YHmuQXAZUEp+eLx++q389J64uPf9JHgugApwK9OOMYEyiuWfnvF4QI3gTnEF9oeIEqsGavQx03H3KIRNCq7kpm3xqKxpC8hAmo4M2t3m7/+HzmFe41j7BZkRnNHDBTad7c9AF0+bLDsRvA2X4zGLwuWh1YPLnlAxvgJmBcfuia/JWtY6hnV3tq96rTsohyeLjN2GNFLrGw8SaDO4jH/l3/uteP9IRcKKgpxZlqbwTJdlMuNEj+QHt+pBhTrUEZfA/NCa0ruw3cuAKtAgr7/uCOOmPg7HxyRk3zoP1KInIPjI4TixkndJMTxy/4fUUW/Xf0EikP6Rd/BFuMcXLhruOMYJwILrjMwfj5RV2XJR3OXo7iaVc0oQ1HZ05ciCdbBcwkH7V3MX7ZtdRUW9YyLZn5vEvgUL+jfgpTkHWXsRXct5WId5SrOd1xuHQHv7LL0HGmyxqj3aK4hCq0XE0MZUIZcnnr+krk5/Zk/fc0nNmRWSuTuiMa1J9HiqEEn4Dd7LHpcyrSrwsyyJRvXmqmxEYcaXZKjT61Da//q992bBs3y75GrK0xWl6hlru1yrwk0qMv9Ny3J3sTbzR8iAHF1k/jlZWw0EGOTcKC+SNUMrzRpkR9P4+dxYrbs8JIlKUk2tREhG/vLD7nzIaAfaouUd8ckIDT7FZgEIMtylibrCHR+HTFja1eWZgsDsB0GKsXAv4oFB+uhaglBGRL2dhKilCth7umyGe8ZJZxY31BYNxHsfdj14pEKfSg+s6sqcZxPzEpDnPG6wwgiRBZcvccYgQtgPPDCrO+76jBX/2tl1dQdNHQOSHiFTUVdfICrAq9lT4OnPQGF4wyj0L4fQGUBGfCqNOUwe0pRM1ifT7DzbNf26Kz98fJXSiarlhOhtYI+bdPTcmelk53sUJbACgSnre5PzvAJbDDRSm+vYRSDfGQHNs13ghCVn1gZb8vcOVfPW9KQeROTrmTYn/Ft205oXDtRiKQSV4/wXCTxTbNhORw9v/VlMOcNchj9bkrgui9UePxlZMoaqPkNdzpAI35fboifDwj0cIdV0IqR8fvfRxuJimn/iEx9g/mNPvKbPG/R6Q2ZC9VsZksoE7BjKoZ13SKvqJ67EkQsPyx6gjrblnZ2FIdsbbucCHcVSlGeTtsdg+XoiMt9nXUZPZsyfvFNftH7fYr5fO2iAxajSYcUgZh9h6ekQL3s6UlG2r2SY3H2gNrXfjZ/zD6/u7i0VFekikeN2O1l1p75788bBAo72Wz5BJX0Hd7S1yUVRwe/K7C22Y88Ck8t7xaLYDzZPJRE3f3bhpKGFnq2JQ6lTmaOzMeOJxnEHlyeImvXFNCbQn+1P0aSgz7ZEjwE07miZJQU2cd6eU1Hw8uH6GvmhqJhrsx5GgcvDtDvABRpUEy5Lij+2ZAYvVvCJIpNet86iRvSFCynmtygFb1v6VpgyDjaJPrbEIz9+bntgAxI8tjvAL1YFIn0rWpwz5w6DacFNriCkj+9NPoml+dt8QOk42Jih0Vgjxh8zw7XNmyzHnUg4mYNHHQ4459lsOv3fxOcbUqzqZ+klnDCsJPJWl/ZOWlXHCQJ/FFd1VDvqDzPu3iMveOmnfWYF9Tk7OrUva84VXPuHUohbnurQXG+hcE9pUJ6AwKrXP27Hu6/YT3zKrg9t9o8mOxrHkQGYGPicuflVM8VIMMkVQ8j4xIR5Wn19lwsGSVowb0XXZfXQZs5PKmSgsD7xw/4FFw6J8PXwbJfl2D7edcGL43JBykX/EQfCOb0lUrB4TEVNLWswsnRybaS5u7tt3ZvRxHzQBaIHaSfmOvIjijjy9ResByKs72uILz7b6kmvHz+q8J2X2nq3rljbFZNKbSft+Oq9Ahnp0U1wRnupIN1v7Ej1k8ci6eMvoPX6NQdE6yAF4BlmPM+6V2Szjrt2W9cvGvaRcH/BupUGKLhvdScLPLy7ET6WHf073kyS+nkf2w1JPc1KgmenY0qrOzRilvtJbVLXhzEe21+8IiaQxroPOTw/tsCP+bGxkVAEygAKBcw6ni83zB6BSLtJ5bZcorAQX2zhu3jhKynZe0FKlKOthrZwflFq8WLSDOpnjhyeQIdcq4dE+LI8fKG2OBZUdH0Oz67l471ILVsA9Nj+E2Ep7EbjPcFzopb1DSTnGsXwjms4RoKVA+9NaQz9fsOGDWsnHWZRKB8zNo789Cn1AMhVjoF9bDrDMVORreJix+A6hQpxB6IiNVD4nwopskv3mtTWu5/gpXjVtdfcdAHA965tWNcIDL8lASYnECrWIcjgBoHjLjaH+Z/EfVsOvPdTatq/9DFUm31l7a4VMUVTx48bR6bPm/c3aTVDRTUbunq79/DEuqgCk71X008CxrozbHAbs3WhMcDeNmEn+zfLOVjDaZ62AMi/N6f3aAcS91BynPKCYd90DPO6pG2WOy78pYKJYGLyS5S18thA0ZgIz5wRCtpv4fPrSIZKF4EhWwgOVt9D/e6gqIS/t1Aj6mzh3OwTmq5tjKXTM2J84SlPt7Tsp/K/2pEqHCaSG3XXXYgZMgvzBCgX9x3DxKoL7Lwl2LfL1fWz/7BihfxRz6dbyGaQ+FD700ddc+T7z1cPNEGjAW+rz2Wcv1i2/ShSyTT5JKGIY9lGhWHmYSSokKd3vR6JRA9s+fKLL0YuSGYWJuqS4vLQu1PLfBEavNO3ac36ZNL8GUD7kmK6IzCuBmBWB5bxef98YsPwBDUvLL7tNovOL+qYpHOspaVFpp8PbP9phUyK1ay7JZlzJNat8wnckmRW/S4iNZSsY/7YO2tuHe75h+anEiwaKwSlrxxdO3by2u1dRYthz80/v6JgxDjTtW6DfbpaYEhvv2pGk4YT5DkuZyZJqxwS35DrvQJ/893Lmoc08i5fh6E+D4nwTYctzAn5NK9H/lJYlkYIAqmfUFSEKMS9QpKGEJd5yKUMw10CvoZSl2W2I6Dmu37Zd52huAs4l/wAykkA+4uFsyfPGpmLXDlYS+umVPV0xGftjLqBfNkHu+zId5+fHlipqkhQbN7KqeYtqub+lFjmJcS0LgJB/0LDJr/geOYSjVWXLIQAObDV4AhgkJVXchnbb8RiAxGSc+fOtTmFJEDklAFtpRppbNxPYz6wnM/751diseBJ3/7OMO/4oydw1aOOjnfHTujxFZ0dGDvtqHzm4nwfUG15z5SqnT5OvVdLW78kirx4dLmvLsNwt2RNpyGacY5ZvGrVRypQ+XIOdmYdPWFxym7bsCeZfuWqOks5eQXMuPRal3O+rNlsSUo37pc4cl6hItwHwU/wctvp761MbD1HuPcQKTuttiEQot8d7seQCF8nKVCqqQ9AuPy0bah/VDXzqde2+eL0RdEOMP0lU1lGuBiiGHhMssdhnFuESGZZnZd0T/f7+4eHlOeAIaReydEWY31l0tz5ngM7jgpkVmAQN8jVROxE/dO7Y0G6TTnwuiOfP9s9cMCiykyrGTHB44oYYobZtl03O99Z3mPWhN8RzOzjXjbwv+pm/zsfBSd6CVBGhOi8xxD2/D6T+fK7O6PVIOQuWhmNVgck7lKGOOn+VKr5XMAdb4OJ4rPdc/9Y7em8CmrcJZLL/S/POjcj2u8qyLtLkWnmDihJN8+p25u5eHDpC9FfgiQJrsh9x29bP83qzC90Yjppw/od4pGvlQtHTbhtUBJM+k6pRj24jIP9Pbu0tNVRM+2OiKzSiDo0Ractsnhxju0srlpT4fVrBa/Hr84aVrIpLPCsyIHejhNzwndBfb0eN8yVgB+GxGxAOVj5h9t3QzLgzhpdlO62LORzYa43BfFrAmIBww17Gcuo3c0RhbOJY9XAIofJ4N7tc/2vjx5dlBrUGQZwm8hCyoCGkpnTp/b56ZbnrT7iz0+Kc889Fxam7E6TuNt00xxTpZA5hd6KiZQYGwNoQKsZVOaRP/9GD1DP8d+45FP7mQoBSqC/vDNZiIfmtq0YO0xGJ9eajPM4S5Tbx07xnl953CnT7N2Zwl2qLHSkmq25c5kBux51yAwmzqZCwkGSTZqNV+bEn7BB8Q+M4L/Ha4mPWA77LaSYf7Sqrqzrneao/7SLry7JP/dTa/Rh8CCYdVzCMwlsXYO2wfzJdc07YFuPAoafMFx7UUm2OHrAgpirdcuSdiC8SIznyHQwnt3r1+ybHFG6LyAQ1uCtieVr4ezad7wXjQaY0uFjMac/UiOm8xzPQRHMMQh8OQF5jsbzWmoXRUJRJU6zLfzukIDspe/bQfRbNXynqmr39dHH0PsBc4XGy1oBN/aZ2MkMCc6XNn5FR/xiCFa8A6cUqUfW9DFFL18CAhNqP8r2ZRbD23wKhO/7fVnrwsaqwE7cMtBBq5A8M+DlHoXt9wTkcloZM9MXlCLQO24bZxPNWLol1rMzZ5cC7+h4/OvpTA1TXDITpNgOJW6VbXZ9LBFrQ6bjzJrHHjMXLlyYo6qk9fq0DzpQly9fzg3GSw6qAxUqA+0e9H0u2zP9PDh2nX6mQmnq1Kk88t/tF91Df/tHDrqNnF7VyPXwLYxXV8qVdHvPGQ0NA1Cef6TMj7uHYkWnggxlBwbCPLDbfdS169LpYi1rHQvCHDGzJbaksbFOe3pnT0lIkhZLAl/HwsECSlI3a5gaz7hbwXL1rmkx61XB3RrsT0X3iB4LNFanI8p9/WtlBVup4KXPouT9vhHasbpjXQuT1zQs7hxEO5xzziJNDdw7s4pEV3eljpV4Uv/meyv/tGDevI+s40fV/bP+/QrYVj2u/G1wyk9B32J3T8Yjl/MvoPm+ZViGWOJhgCVlksPC4UR+N0vb/PTO2ARki75Yd8hPz6gNxem43100bnploaRziXTLiWOrovT6Nb2pmdj1NooC94K3r7PpsYPM0TXwCZX5HKcny01kOetow2I7xa7An/M0BX/ZGbkZc/2/Ulntv4p84u8tl/2dYTmTgiw/KR3JmlyRWN6l23/x8SQ8qsI7mRIoHe7vZUg0X9pIsMz3ITp+Jxa+sCJzcW+2KTf4f7usmXC8q+FBNOpzK9QL2imDBRD4N8k3OJdpwFKJhBbMe2GOy6ZNaxbCP6/hZeUXk8urp8Oq7qMYwnEIM84w6TbbY71mGFoXYfQYyI/GeQL+uX5/eMrJl36v/A/7VlhoTkPWvoO9SCpoqXCk55cAoetC5N5WDOSSMZNGNQ2Ka6ROo5UbW8MbVLXyg/7+ysfA0o/yctodvX9layJc03jK8Cnz5o1a0ZIpy5tTaATPxFPPGuGGq48biowetJ4zyieMYPj4zGI7NFMWyRmButG1t+3bItLf92kgubodrM2f9Ls/IhvBA9BES0MV49ta+o5h+O6ZVz7wwEduPbu7u3XG5AWdIf3bt79k03oUCZ5LQahfQlzzata2brZte4ltO3Ge42dCUNwAres+QXeetEK+X1WJ3A0ghbyNsfgaCN6B+h91FGPtWrX87Ugie7XLwfRlmd/mLeZ8PxP4LRW8tD2sRBxkuzVOmDdv8Lj8pE39zF83t6QkwzD2y0ArTUHHnQUOjTtsj7PCzzOnBSXxHsvkfxs1+O+s6orVorEDfRtu+2Cro2u/6og0p1/ujFZrtfXjgpy6m9jO12KScv3927bRXQwyETle22LKzIw1J1NUNO7rl90QRiED5dBrfKIm9BvMMeAxm2Y70L1ZZxUEL9xAe4+4TpYCJtjHisL3LZt9AFlTp6q2k+03rRl2ifR1xDffDQ7gMSBbX3nnZS/uF7FIxzU98mUdLuch03xfbI2O5xzTL3JygGGJbZuxtxqRrYI2tKlfXYDsAzeDWX4jckNdcVRJcDf9HvY3xecLnmSa7s/QNaMRUrwHzH8Xjyv2r9oUSX8VCUHukTjW59pkMy+6v+2N9T9zbE1NPnUIu6w56itJ7LaM0rpwc0YbXSx7ZI9Iwg6xtykZdrvhA6/l1vdiH6GF0ir8PQeDbRMXiUTc0bNny4HSUttOpwMJ1QmUSCSqO8IchEIGiEA+yBjMZYaW+NXU8vJWPMD9oDM+1VX4rxLD9SAaqBJEIWvcdOTBKQiF3ZJMjgR306WcQBQQg2P3ZwdY23mq3dVW1EkFx1q2cRUkQpnsF745Vpb35CtMdxTtTREhCdFfb/fqoNobcDhRgX700UcLm0CT6NN1J/8efv3SBu/ksVVXQnCpCINxJCKCrCq7urOmeBVd2Fri8VBv1Coxwz4NntM2Wnda1oHaOK0DFY4ftcOgi0coUDovY5uqaznDLEdCYkRDjib5P503MRijJiWlapLHCjkuUnvnzE90gUoWV5wHKsGNM8qD65Z1pwuDxHkdNKRNHt261BDDhuKLS5E0W+zhnesgLs9DXzVBky2Tec4LXhAPkDN9vKmeOLOubA/6zKUe+6RSVm7KDJsykj3+1mI9VRORgoK/MN3Xnp1dX99Hr8N27EwZnAJiccGS+gP4A/L9/Xk+037qV4r/G47JGjCcdRLXfgipnW1FZB4CUuQFTmKWGZo1CWwYRXsE6yfzoQEP7o8VLfG6uGvdDXOjIjDsc2DlWR7RnWt8HPtyf6L16YmlpTwnBE8gvC0QlVTJMvfS0/es3blwYeOAcN3QlxoNU9BR0La3wH1/VJQ3nphXUJDMP+dK2IzPLBj+nYxlfx8hzgLsu14IaTsgMTHNdHmJ56Q0WEM9rHjB1+pDK+h9VOBu2BMPJRlT8Ydla9JhFlAzZJohoiuGSZL36+iPk2B+mJ1JsQNGb7+beQqT/Q3XIZMDonDx9lRq9J5Eoi7oC37TNZkfciwZid1JEtizu1Xe2oA+A6mSMxpyBenogYlnSTVSbF7nkf3V6FNqG6KrmEMzZSD7QPalqsKuotGVb7lR/V14uPcorlyv+8ipyFg/SyifMFAPOumpMKEv5sBjX5kDX1MHAb2WCjmoRwEIpmDZ2KPHTjjppCqP5PuKGdemZ01ytgTGpaRNToPS7qYt5wRNJyUUCiPZXipUMLfhvlD40bZFejVe+h2SpbRizb/cDQQqqLas6czNRHDqDdV6RE8Yt2OAR4ggLawVhLEmdoBoaZphGX8mCbbTve3O1VHty04IlSoX1RYrl+slNTPz2jL9ceyck+vUYNHZ9UpgflGo6BiaSYR+v972cH2qu8vL2m2IhXk1o8af7FejH+SjkmK2cJQnrNznc6zvQeuWaZnDZp84lgbG0PvpQfukCWair1//7zVrtnYU3o1r3kYeNCo8916BDLjt7XZGtbAOMrWCzXf7vNx6OEufHW0050LOwxNnlHoKlYsCrHJZM+yB9L5ePhxwTd7HC0InXq5byWR8SOFWyrEOl/UI4qxqRpuCXF9vP3jnTuR7fwzdjbRe5A7HtC+0iHMvshvzADesTipMhApUuji0eUKnOqz5R840nihgvRdpvj7ZYzAVuOd+T6j4p8tb4vvgkFg2OcGfbokPjJV8W74IZwhfi+XIq9hp3uS3yY0tdvpdrM2zQEvY6vH6ftHx1hvL0zb7EExCU0eY4sBOKd83KhzhpuGOdk3yu6xtlfVlndNknhmGOT2hOtjAgoNZLSn1vwLidomT2X4kgZp11jUTSgbPRYzxSY5jz4SteQ5rGZvSBQWZfPn0/MDSpXbC7r8fTGrfx+tdK3Jsb4EipCTkGOJ50O4w9kbetf+9a8eqVfn7Puju9hgKf5bPo1xkZe1z8P2Qybv8Mw7lPGSVCUh8m8Ixz2vE+qNlMZ0sRd3tO6qLiro1Xf8hOm050hSfb5rswxlH+BOscj+BKWIE47K98Ej/1pbdxxrC4SS1HSEX02SWZcB6x/RA5vzIdblf9Ox2W57Z1ufd2NFfRVfrfPkLqSCGxjJvallfYcL/LiuoK6DSGxyjtMujizT6kqNREigcN7Wm/oR5o6FxfwhN8V4yWUidd1SIUBuYUjl61PR5Xx5ltEWmA1B4IwdOUyCMbwC3aV3GtmdkiZOC3TkGO6QX5CLHqo691uW4t0Brdzk0+DQnGwOUmggEWta2ufkRaGyaLHIFPEN2ZXWQDHBcJe6dbenuGzJvbDumvqAD3MVLIbyrQG88dVhhcC2cmO+CaIhI0kBzc82G1kdDbI+BLfR7EFY3+IQQzY1HGAgdi+cuAAzrl5rl/KdmkFEJ717nx2Pz6lO8R32xvVV79ZSqwK559ZUdNB4+349hznyPsZ2M4bhlIlfFjCmqKpN48XbJ45mCiKHcojX+xDMrNdH9qem6N5Cg9+JZ/sJRCuf9rV1eO/q2fYOb7jQMTtyoWcbbbYr+8pY9Wzau+t3dHfk0PSC0Q9pL8yjGxQ4hmcy9C0+BgPqbrprt06jwNEXwQROnGU2fDZPWRR9EtFHLmruLG755RYHJ2NPA5+CROSZVUlfwvpHI3Ocy7m7kTlyZ6O/P9fsZN9xQ4CP89zCpgxDMHoyzm70lntkca0YJoDWcy42NODRZLhZHVzdtlg06El+eb0O+T74IZ/q+HDO5ZOfrz28eU+nvnw9hKUhMN+ZQR7yn1+amTeP9rDuC5di6rJtWMN/2OyTX2uawzFqbWFJGsziHIf+G8AbRku2Xo/1Ric6/OkI0CO+XGYstSKe1hGrKMyuOmVuKgjB88eZtJyUElAcFR32zRWP2SxlGHamLvnH5SIyzcDpjvABWgotYxrkA3vmbNNP+gZ9jruQc+UJDKn8qb7OnvoYPejCCbKfItmyNCmjUI/cs+rzD4Rgy4ZtCcqyUZZ9pGNw3bFDjd/UkciaHfY10GkrDTaZhfU9gnfswi+Fddf0wCndDUC1jOftGQbDvxrYApl3ijpzRWAaO35HA/mIXw6ziM+rTWOaeOe2YwtSIEn8j6xF/a/kKT6Ya6WBtkN5LUxY9f29xL28Xvhhd//qmBrzXUXNPHdHFq6dLrDMd2ZSvFImvBvgUhd6/viUewksRRZ35qiKzl4tlNfVVkudsDnqedwAAQABJREFUXmFnmaZ9jbcoWKxaxsiE7gawJeJdhz0Ru9hokBgxjbinwia5x7TcMoXhgkak/SnsdQzddvrSuDn/grGgJMZOqAIpl/UDy7JPt11nXam/HEyIArg/kPiG5Txdhiy9t3YtD8QO3BsUnuoanZGIRRjozA7h+rNp8dZbbx0YPNae7bsxbDejD5Gqikz3Kd46qtmvQ6JAhBbOhIPT67rsLkO0Xmwox2aPHlAVh/f0WKR9FTVRUJt8TvjQn6imOOyuu6DEs0kIdfzeRaKuHHds44/RRKIFEUM5G37WNr7KM/yMtKH9DgiWpYCvJJGOZlMmkUphUg6U196zdau4s3TrhWCVotFKg00Uu5Yv73U4dzVMUVxB3d5wVJ9b1EkDdV6tqcltaRvCJAmn2gPonCzGy3eTpvZoyOu5qyDo/Q0WrH+Hv7s9bRgt8AGYESuGbInOTz1+55WmxYtzW1nYGaYAG1rF2vr/g7p9GQI0YrbpLKArDS8CGwphPVxRcoIabwoJVkhMMKPdaEOunbRPvkhHA/KiDTYvGUnuJYyDNKfI84sFzzdgqvqFDfN5KC10LuvuLqS7H7rroX10PHaeHte6A6vmdTbHHo+B9jBodq9K9nau9RXbX/V/aW49Jc6aXumnDrgnFMWOY3mdLopSwwpsGenuEjbciSStjucEjzN/eHhAIaDl64XiyciY+kfb4h+W/dJ3C7t2d0djpW9k+IInRI/5R9eMPX/WiMDOS/bloaOCt76ouqGyWGpAJuPdkDVtsOdRZzYt7rA5hkz4qtlsNzr2LyBE/3NK195nvcHCwbAftNieUhba02uq9wcU9lKiGt9kOee8eCJ1rScZXzLK76eQkdzkTRvpUfijhO6zHdt6O8sXxBqxcqJ8yD8bGAdmhsHxv+yMZc97oSVShvsGhBL+JpSkB84Udd5ez7Uk8eyVrmEm4zr/Mmc596o+EtH7suNi8czZQoC9ceoJ80ZyPCmHJgZnlGPArtEIVPcYuAj7XVPrhMHqIU5gvgx7dBZ1msKyQn9Xmk2KjPg+uEYzXkl6JE4yyQq/P4sqbvOL0i4lFhuwZ9E6Sem0Caq71wFafBuIuguSavr4WLq/D1zFf8FAPcnH2McKVSOnQbv4JiAz7yN4YDXy2ZWDp3aqy7C+IMvNmnfDDWEUlWsr1SKxOPkhaN+nlmKUMYuMHy+7Mj/ZyZmOnc0AB4Bnmc/iHpcOyHf6s5VCbf3EylknTdyYIEghkzPfMBtbW8MnXnnj2C0wJQDXI8PmbO6CqiCZehHLSlvCwaBGr4RtL4TFcqzF2P2FvBxd/X/xPSonaMTILgp4uYH3R002DcOHe2omEy+ylQxs5akGtBpmhpqpJ3glF0hSzEAtvpfEfHwJk5leWdk/SPi5en/bkzAI3IQWvwPttwAIRqAh2NlAHPVyIvcjVUu00bZRJIxphv+y48XArryQ1zl+GGR7d2/G3ug2+d+FU/Y+lHOURwgegySt5fh7S2+mPLdAmjzDgR64e1Uk8ncx8eHZn9tjxjBvr5nSf+MIfMCxySmQXdtM3f2VERDPKuH8P0uL5D+neoqPo05hdIIjBZkm2Ad3yq77P9gZ3R9LdHR4/CNGpk3n8u6EOa92zgpqlnIbEGFoWTx2KeTNFM+/3wi5sGNdc8CArR/O1jAvsyEoEfvJJdFhzrBcexKWyPGYg7VLUyn3CiRrmI85TpNpztuLBMrJDvpCasrGyS5rz1BcoZI4bBlW2FGgsSiDPNqvXHrtv/IYssrYm9b0qrrOJjT1RN3iFhSExQX1FSMq0LjBgjHnYKlQlPYJVeFN9T7f1hnDSnqqsM0Z3AnI2dYAbU7GdjtBbGFNtJTodOJSLRVRyRUIGQXPujscsJhb6/zKuT095ENmhHx5Wzs6QPjDjMfk7YJtmcF2fEyhLZzOSKwC25OKoqZiBo6XOfcV2EnsNl0nacvdyTNWr8wy6y1GYFrszBrgRd8Ebeaf04b6E5XRnplZFUi4duqRllj3o8N94vMPLF7c5YSKJzMO29GlRnfAATZgdqB1qQNBtWXE/s/m2Z/YDjZpjj2lLjQc4QOZXyPp+Z+9CncszBZIw+A0Zy1ys7ln+y7VNCdCywO8x36KlfhKQ1WpjTLXn1RwQiAWGi61kXProU3PFUCtZ/HkeMNk1mOybMe9SlrTcuafUeXDp3sc/eeOzV4Q8Eo3GHry5s3I+Lo9RQo1JbTQz5F7VMf8JZyikxiRT4/MZHiD6BeAS+ERM2sfuxw79aBfOBNhizORNbg249jfOuarBSVlnH0tpyj3cLJv8mJoMVTwCsNGNnCmeGW/mb5eHDnpnG1IcEg166qZJ47zEuFyOSBdBiKmaVDrrQ6rLycA6cKaf2dUg98IBEgiNCzMeNx3zFjyexCkF1mudQM02BtcW/tWL7bJ+yZd7ja62O6L58999gscbApuWdAnTPP71zIwdy2CtrwDW4vvwEk3HhkAmpV6YlPtjbctr837NYpLO3IM9ID70ojiXRzruSfe07fAYyb+QxD5yTCrXQMzYT+QEdtBqHW+h/cdQ987DXQRXeuHHknMBG12VGGw9t9SZvYeIASR5oc5CWa8YSg5N3anlwZbLSf8yn3fvrgbfgUxVFl0LMeRk4GSKIxnrE2DHeQUGmkxThnULtYLhYsXnR8vPEh2CvoeKbkOrf3tV52bMdnQQ+1az/MCLybgfHB5V3zryqOO2k8hGmjpv+iPIRO+1LsuyvJozna2yiL/vI913utvSdPtw8CkGtRG+p2DlYgb7Ciiv9O4bChdk2HTg72XbWYE0mZs2CBNPW7eaG9Y+j600v+AoifhLcIeyKx2GGNHKvVXSMqgZ+T+HFNZmXEIEweRz3Cvj7hZxuEBUTlGZxnFNPSZEKgtus1Oxka/zQAxdI3kO9pn2X9WWO5tICzavX5lx5q7705rJYE/MwXeN5JbCt6bFAzuQeH2aHjqIQCoR1a7/4orTDvSuTUe1RbPKCnpxXcD7abCB8IkBCElEs0MYhEwFFnYldC7rAm4NsFk/pjtSf48Zjo/15ng3YlU9w66uid7Wl8K8OZPeCFwmxu37raamlpR7t5t8XzkFyRs0MsKHaD0fAla+nhFEidikWkQiPk6NL0IQPLBoM7m+ti2zO8jVVcK7NO/NnRyL7b056Q1crSup84RWf5slmefQKjmfSi9B9q2q/K8rrLGE7D7FbjwYjfSB7Pc63CAboNQa+YY7Xm2S+8Hac2r2JJOhRE3RDd1yogx4y2L+w22/IjcNbcjv9r3MzZ72hnf/W4pmn+H5TBnG8Sux3scBWHoht29VIC4NXfQJUWCY1MTyU+KiPmYq3KP8D7vta7P3eKR3VfUVHr5b6pLtwxOH56/d/A547gbMX66BFa82qquLphR4u1FG+/FwjEOULVinWPbGtGkWd7wMMRrBfys1dN1xRUDpqLBZX1R/16I/oH5J3HChGE9ak9PClwYpzumu5j32LeLdvBRbLdesRDqW4Xkl7SPtPqyrcA5jUSOxv8Fh8uFosO+JCnMpQg79mct7vK7Vzf79/Wl3QgTwb/ff7+vpLDqaHB0wBLExrDri4RKfZQg6a8HMt1Edbs9ZdhmSs0u8ae4LVTI0sU8p37su7JeKP7SBLlkEv24aNEie0YBSdaxfsV2tDJi8++brgEL1eF1DJnw/d6775qcrb1QUuTdHCwUXimw+WVNLz040JFUI9onaCWcA6/CUz5t5Mipld7S6dTmk++W+cfVB2BIR4YCAoJ6Zq1hmdKwyhHzEQJ3P5SjiwAvoV7uh8EdfFkqkbkSBsqVhYUEnvnu4nbYoaizjGrJ+fJw1jTXXgzo4NG8ztXCSKwipbQF344uYfnGqrpL4Z09IhdKO8ne/9bazRf/uPn93Rm/vCba0vJBOSH9dCsL23G2Huanxr00d3sF4KCH0D9ramriM4DAwJ8Dgpd+70qhCUyAu47ThCsZjrsUrrhno1njJdjZqMbvUuL56WMq+ynpCx00xZ7SulPHTxuW9dT61uMCe2eXsSTbmR2sESy/uhiRoGwAGXuhhKZXwDlpcTx3CQShzBDPVsO0DdTCbwicWM4XKbh2AsMKGzb0tvQJemQbsan9xqo2GXeKZVs9mXj66c09rSshd6NY2HJHICv0upCgvCvYK/BNQ1huh1c8iUUvkSJFOygVo+AJgafDNRBanmuzZjqnwQ4+gnPZIvCploL1D8q2MFlMGdNRN2oS+UmVwvwXKzIvwvHoxJi+/ONyz6S8HcS2fojCToGJB7QfzjSbYyazvZalqs4xcsD/zR+Rj97p5ArBf+v/b/tu18lcZajur7EY0nHoGjF9Ccvyj8Kgvi6diecWSMYWLJu3++OG4x23eK9mli/jyPmvPbBr1y4HjrQkzGwbWlOpdGt7F3ycbiFx+OG7mptz+G0svtiAsX/GSEh4RfZHSlC5m6xevh4Zm5ZCIBd6gwXj83OTCk7TkOY4uvplwgqmw1nPeizxWUjI/XaMtAZhiadMZcRgxIv6RDKvwVMya9IF1417ZGtL3dM70yV3beotjZn6f2KhP4lelz/YuuIkTIQulJDjkG25b/DuKn/Nv/I8ZMKXJi7sf6ekxWuaNT6M8CUP35WkQivf2Z6RI+vK/OXHbkxmT6gKl1xYVlLwA9nk7sE2/PRELDbgys+46kjEDkLmESQlAuaVYX4OCXUbnFgjkPplOcdbV6uC86MxJf7VTqA46zXYad1s9rs1Ye+vMh7+l1WC54oxc0+fAs+dL78yZrLx5z08+YuFZKaiImqso90fUmPvJSz19mQm/rBp+R7/3ztui00EhngzaU+f39jIta9YQb2jFsr4e97PfkI3f2N3OrLDNJi3LEbdAozvb+F7//Gs8lArfv/Q9bTOCcYeG1fNmbJgnhpK8ifGSj3zjpYLR6+Ar4iWSa8pmTy5AppINSMyQPiJLdDuN2HwnWI77k5NzFig8yrBpQUCIwQ3AziJUMyUY+iV02pqQrpSVEd5l5E8cjecZxE4+ILI5Fs6unJ4JeB+NRYcUBnDEDUeHM22yxmOJlQ1N1MNGhzanB/RYIycjO3VPFI9EtAEAPxwFAeNtYUtxEIAyKUFi4bbiRlzJzHNpfjexwBrGArKHSvb2rAeusijirSpBxwdWvIYwnEToFXdxJjm5eiiPYhmWq3ySQMomhAcZd9vb45W02444Nb9Pl5xRYO5vbh4A1vlexs/5KLW6MLoK1B+IjHuJWXV1Tl7cbIq0MJbwedDZYEPBpst9ivsyIe9kZe2u0hQ+ONKWXFmWYX3q9BALiM8s6aSh4Vq37H0tT9vh/L0SyOurjmvJhinTjzRYB7yIyLGdYwbycyZOXjf8t5eWNqso0DijoBYUgLQrtFbLneimP3mxPQrbywEFuVkAeQwMk+uS5r2/8CE9IhJzD8DGv+YS7L3eVnnLgRpzcTAbMnXg565lhbRIVYWkbBLoGv0D/7tcPh7yIQvbYw0t88Dmbnjg62GVn/+At9KOHKKpzUOW0HRPI7iY3nnald3TwGbFALhCGNCrUEs+ZpUIjEQ0pm0sQ9lGMjZ3Fs4DfNzJuJBN4g8d6MF6jo7EHhtKlARLS1xv8ykrobo+R/Ara5hOHYey5KTUOQ1IuveF+nLngdmnxAVVBRnmPEra+Vk4HXOJ7+97tVXt5bDUD+1qKiLk8Ki5fS4ty5cmHvpFZ6yacme1Mm+UZNnnHLFtaNXdqrV0KbL3uxOF69AEAKaOTDpqUOR2ifpM2j7P+poLC/v95d43wyr6ZfeaWl6v2GQc/HAeyjMzjEdAUI6gVTZtig6qsi7Xp7xhlUIQHo9VnDRsMWvIw4I0EgGySTlEqgeL8AbuUcg9osSkWbgPUyApmnCtjp/GGPCfk4eIBw7I6Mzl2IaXItMsc8zKXet5WSfBZ42hWSEdwGrfRcHVm2A7et8vvAEjheQbBJ38eKMRHF1VYWvZDKs7fXQIqq4IDeK4ig1Tj4Z9jqMI26cv6ExBETLKsAvLF5idEZldiC/SVoJiDFXUTbB1ppOJLTLx5bVnYsXfwpYoAWPyVPq/YH+Exh3OAR3IhGLr6ZYOizEQce0Xn8dWFTBET5ABzhSQBLgPR+458A+zH+mmhh2LPtpUsOBtFl87527oGHlBEYjyLqBBsnmP+fvPXL+cA/sibU/g7n2Ls/KF8IBfRlG/dskm/nfRvgz8ldT8xvr1Z9rmlzVhe9ypDic4EwWePdL+Diiv5uvvw2DU00kzHTWetI2rTewux2hc55jIk1NH5JHTCJZoIjc8RCsKoI4UgEB/nbH8Xl4odQn8ePhjD4xKHFfRg4/KWUbu/P1oOekHfCjBoKpmhBApHbwb4fD39g55GTOkNTlta5e5HJTahOarUNg+FTbquYBupUs9y6/z5QLuODEhK3t0hn7aB+RzsEWd1HaZd8x3Uwyn6uNxvjzun0pHGH/BttiP+tyj3dljOdCyHdBAypoRVetalf8YwqvBRzteih1FVgV47DvPcxy7uuMZYFfm78Egn00z5Iftexp/tPJH0HQTu3L06eUnGvYblaNai+cPKk0835f5pfwhp0GgJeX4Zk0oGAxgM8TqAsinp2dyGR/JyAz/VTwTi6DY0kmjkcg0d4ol/ZLSQtZXu3+mOvW1YW0Opg86HU6sjmXIV0SMMRu3hv/cR1OQ3PDZrsbqm+Qosk+xe+IjZJsbzBKw1sbISxAMsTd8j8PjrRNw+/1BNiO7t07PeXlrj/t1LLlwR19nZ0VHs5bxSkI19UBHkv1rVL8w+00l5oIfCtMAWYqHVE3zK4v63tvLTKvVCUbJI6ZwDp8TDX1qE+RJifV7MaQRxoFpyega6ytpZPLRa+vBg7LYzCZCKLy1gLgsUoMBK+B6C2BsTSpm6nHgxzXpDnyN2ETmQDQhC1L4P0zjAflZHhb3Ju+WBCRsBHfI1S0BTQLE6GtP7k90vZoPmXNWz2ps8D0fB9v89dmXKdcFtwFWIFOWr6hJ3L8iII5Lm/fKTLMaTOBnMHIdam3XU+CZNCTsbb399tdAON/kj7O9z81hdGgkMEmnfxvR84f7gEaGBS0BETE8Eo8QPpfujMQp+ii/JVgE5AGc3j8oamlTBK8j4A4q5NYzH/rohkRAGEEnIxCCrkVLUTwM31hi2e5GZUFHfhuP4G0ZGtsoiE4Lyii85BMpJUJXQ+qpltY5OVLwVhX1ZvURkgifxTMWUyRR54C/DqsmHsPOvdm1oy5QHWdMbzNLZpW7jmsPKpDKnxf2RU7ncik0TTdHo5nI6Zp6VCj+Lja8xdMrmxzc7MvESo5g3X5swGsXIRY/SZREI6GUbCjPxtZiRWUYoMZlBOoDInTBcPtMMp8rdBKMvh+4KWs60vPgcC9HwrnSKzEBs6dmqPfKIuhN8f4SWZn2pppmsYjEJhRXnO/8Xi5b9tCaEz73knuRLXV9V0pEDQ703TeZB1bev64Ml/f5v7kUbpFvoTMyZchSnoU2Fxwp4NnkB7Eja/m7Mx3JpWW9lIyIARE/BHtHAbNPIPtfgyE3zHoiTFk2E3AjvVGPN37qqQUjwSatxSmgZieSaRtl80kNNNAtmuzp9lxwhWamSovd7DqO8W9vc7rcDDkhQet463QhI8dOTJYnkikBocQoxE5LRi2dBaLUs48goWUag7UPstTLWI8GUfEcYShtmraaGp3NxDqGUxW2UhcMLBVpNfDEyKmWlocPwSYr7ZW5oqKjJ6+PjFcVOQCRMakiwh9N0I4RoTWRJyJZDstMm6cOiaRCFBIYAKW7rgWyNCJRyPieEWR0in0Gg6u0p+kGiiduLzJI9mA63DBItU2EoUJWDcGZ81d3ZsphTr/NHTecpgbTDSyD7C77zK66UXwyH8gvjHZubHvovknDs/hgd/sSX0ZaeTrHMHpJrrQATB1NG2SVLmpZjvLvHaqVTdnTiq1Xlu71gnDbjkYy0rr9kZP4nje4HpnVfua8HG/MUJ/P3J8ZA/QdzswJ+lV1HfzblPXXEfMvC2CeGV3jJPqSwtvRE7zryBq7bIMsVpBg3WRarGJnv6mh4FayMUCoCDmVuxkBgvx/FOfa+0dnjTI1ZJK7rW5vvaMx8MaCJuvzkh82sjytsR6EVJ8M7IXn11KPBOOq8/FCuRup/4fZPu8Ema0QkTEPTm1xPtBvtzD4TykwvfVjuhM2GeoTWd9piWSrqoP2M1Rgb1oUmkWb8l9t1edJXPmbyj4H3jSFpHnsYV2ihzivAPS3z9NKs0J2Vy/YCZAbuS2jPu9YLrNL5t01L3YS56PLQUi4djnEB0zHjg+EFy5d/camWdHyrK335WWYS6N8PP8V6CSvoQLzFsRpJAXbJRO8T9OmHc20sv0O0T0Whnn3Zcfvb3vjIULOaEH0Tlc+sfQrC+HLdWLCq3Fk25xtOjmXSvLO6htkEbJMYL3HMfmTud453SGYWXYYIEW4xKAQ9Ed88M+NvCbFEndDOPK/JwUImwcEXF92DfFWZ7pBdax2+VJr6EbcWgGCcsUktA6E6qeSVsBUS81Tf1hBD5Uf+Marx8dNn9csQU7NBUQNqXYxDP265tcx/2T/ltBIwqx9T8UDZFGJT788MNG/h2gqnu7Zd8kplpoV09IHDNCnA3N+GZgmEfC/ESdbgnYjGGEAVSQONeTbaGljXsdn+TNztQDEu+eA3giqxMnw6OPIUJ7LMbtgZ0bocpOK9IHdcP72C9S3DYrxzLZhBaSLbs9EuJKS+zFCPx5vD3W9Ye89v1P6sLPfbF0jLQZnl8jYGq1zxbaTM4dnzHc78J02BKWxbe6s2o4oVlH6SZJji9TLj6zurATI/hjx/CKFdiZAS/+1m9vSw0aN/v15bL2vjkxzb1AkPXraHRe/sdNvYkRBuueiZ3bNjjqy48q9T+U/+1wOA+p8H2hMzUa1tpzQRD1KjTeXfe+uyJCHXH5hm5MZBsARaPbynYYBQFXYlodLY74bI7fUFTUQ210+Ws/6pxOp0taLWYZtM3JmIwfgFDlIjBd1SK4+ybsXOqg+j3MELsDdscfuywX4nTtnHFl4VfAJxG0NDc0rjjQBUWNBkO4z2zb5g/4Skd4BO5kV7e3eQuEd576tTcCGe2uiyRvRx2ugLbrRZk/ymrx38B2jKC4gYNZ1U7kcDBVbRj8My60ZMgGONKd3wuMs9jNuNuf2bO+46xxRz0CW/Q5qB/1+2cAectiuDmQJUAlMLyBUDaIbA2fgRdwdTi/kI3Fhn2Li7uO9b4hiPcoiKRDGxWDMSOcJXQjsixhCmwqmeUzkp4wSYliRQATGF6h5LToFozYiX6/vfTv3IIPtOyAP2jI8qsXfedEwct319vJZmovP+CS3EdqDhLFHisfRpy/ZjG+LxsW8knEnJ7lxLWNxV4Efu4/6Sh06IRvfed4VmKHyTr3fsyOmkF/4ATQRM8AbA4k/G6HbpnPdCW6l0FIDgRDrOxKLUIyzHmGQxD1DdEqgBcLXjkQsLAy0Cz4hEXKJprjUC0rBcx3Au+jmzBcNwAhChSBryB440Jn+9rnD2Vhybf1i3ymO7XFO7rm6BZzOZxoHo/EW8g8EYMDvrXQK3f1p/T+HbraKyJrTZ1csGb+uL/SPtJ7n32vU9kdLLcXfAz16MH6909AO9is4b9gXNWAyYFetw5+GjiCL7BdsxApj1aMLQy+crD7/1XfDanwpdFMqeoxsMWyU0Cqst1hhAcbK5UBOw7VbEoKC0sVVzrRcqxqyKMPehLdy98aPpyGpn6iLV9XPF4bdYVl8NeNhq/8YZu1bhIDgUy0Iz4m5BdvAITqSxBnssMwZTAX7BJF8awr7/hZ833X3HgZ2EPmwy78uMt7nlv869t66Uq6FnHjVrFnrM07J4qiZ4upRV6mDro1vcmHQcI9HwszYIjMJaoaW0S/P/BFbYqq1eCKfRkAgFH4rcMi9pd7i4Kb58Ghg5Eg9nXHn5MFYTacTXugzS2GsN3KcWBmsPgLIHBnI5hEghhaB9tnDIRENTBbFGAJ8kNAAMrjrGB5+0ZDEx4RRHcYvgFqh2KamSS25tCeOUQLuTFoiBEkOouASi5q2nwCwjseCnoSmWwqZXv4zmV33BE7f+FCoT9KpAiwxcMRfdcLEwdlaPskdmiwxwW8Xv46CEAv4Z03zM3hl/OaZ74/qK2vPJg4CxwdXbDhYmL9lWXt7Yg2mzOz00HpWIGIuye2v7Z07YHbf2rGcTj7L/DuDYc29Dab7rnMH6xHdoSU1J2OS/XlQW1NNJq9ZB9T3r7nsm90JlegXyIYC39I2jYbkNxS2+SqEL9RCbRiUdoyKxDAhsnHAP2SQ9CA4weMTUBnoAzRdmxwtZM5L1eGNnzSMZhv85Hzh3tgcRMRDbGjxHAFUUj2q2xxhZaO9Dt1VV6rE9Tne7B7GlfSyM4ft/+udilytrGKckZvPBWvKKl++WTsgumCPOmCq4pk1+umZbB7ax74h027yFNqtSX2mpFoDdxpc38AE2DmnNqiOwbViNnYnzoLsZ8gPrN6VJd3phZ6Dyvhm4MuDarwIf3Jjh4tiFk2hu3eOwCHFvHZbPkDa5t68plIaUTSpv7kHJAVDHdZYSM8MUXlvuq6M9aubSINDTnhSzt8zpw5rD2yIbiy0h87cEK0wgEGO0ArhFY9tqRFoiV4RjIMXFzupg/a+3/AyMJlmFgg9nCpnfbJzv7O7hW33mqb19zQDtPECKCdfoYUNLVf+da37sQcpKmOsrDCbyAdScF2k/16c7PJPPggu/rq/4fwW2x5XdZAisZIexK0Bwc54qpe4BUFxCdAdNJ8UozZBcGb9/6CToLxQDCkdUP7pcqaS2aVliahITLyyPBsFIc2uwSz/xHB1JdyAfjZssY8hGhfjWeXwFoaSaUNGFGkMHYLgFmxaTgWYDd2AJ9ly6AZT4ADDbWE1mzZ4GQFWwS+oO79rJpVoWWrjMrdNfOqqx7t6UpNRaBPY7ng6daKve2eoupEFcNppVOO1d6NqmlWj6u9GclQ2jfshyemTfYJDtAWrg60QZdpIQH7QY4CJTrVYeSfE5Cs1AaDF+KS/vxlopps1zy+DGdZM5Hssu3c+fPBVLj/AVNeOag4x8IksxLa6lOt69Zp8+fXwy7th5YLizSOcYHAfjdhMUcAU+HbgNW9yjmplYyuOQrv5XoVifenOa4t2ScWeXwBQD1DIAiqSBhGZW/GqSz1cxWGQcYh2eJEjKEEl7Z6Dxxn+z3oyIdP3AMQqnhnle3UjgsE2d7XXLOPPI6WUld30LJExXtu0tBuYaBlaJnY5bet+ODFUxcs9PSn4j/N2NmgZCkRwMYihWGxO2n0dhOlIuI5ZngujgBe4q+BOfWpwQXDv8E71aNGckDuWGA6hMry0uDfD4e/h1T4rlkd1cdNKeqToPKmVaMsK5JYV0PDfkLLYVlTItyyjGX2gKdhrsnphUHQztHOoN7J4664HptnqwjEK6edtLPnfjKitJf+RoUy1VRnFBSkmmLpp6HtTAKYfxY4f097pye9BLbgfmwbu1ZHyZ0+LtOqukyjrTqPNtbVUaIYd1cstkEnHDUbgDHMnaZ4CiZticX2rI3FYpRJraky8P5mmD3mNzbabmOj9F5vMozrWAi6NOAMsaq2BEcxywfaWuFpxchyQHCG4cayHcSQqOzLHbs29NgFVf4HTcuolCRl2dEFBYAfE3ej2CNMdYIF4CpmYaqwBPiwerRAm9JMWtQqbVtJkIyHTD4NocbdwbDsQ6JCGXYKhL47j8FG/gw03D6q1bEMexcWoeFUfkNoPUvJ9VD+eJFlR8F8UUzNaXB2QObCo8Y545D59XxEBxbSyqHDVda2NTbkTUuOnbJFX6SYJeuckQ3LweGwpbEulBvY9Nru2qLeij2xzapgTmBZmUn714oIuYAGvvdYCvt3Ma8g7NSFB9q5t7+ycsAsQK94bldT62ljG8ZbQF5kkeYF1dk7KffdT089sWTS7/X1wfP5mKrzK5vGjx/4dUVTxJdWLecMBHUMfIk/6GKOhfNnby9bpuXZrAZ+B0caIblJT8cPuJ+bN3BZ0IPDxqTYHKdzZjEIO+8DXWkoIuX4LwZuPfLHoffAwd7xR5UKJYj5y65InYnVG1y9PC84xeX+RqazfadseoIzgUaq1bFXVAQWA9VygWSiPLO6Zlgx2OpsZLceZwv8zweXT01f2JU+ibnyZbD7qYbLUOjbYXXkhN5Q1WjBPKS6MZwesNB3eQR2bYHJl0/fF/2Sf4bf1tYZxPoSoKHXMaw0GjpN1w7qJ8UxSqmRLMO+zBalX4H/oM7yyd67ly2TaG6vs6/9XvnivR5+uGBgUyXuEyBfNiAdbw5Jzk0l4xtmtuqkzt/dBHIE7yJwF9w0qcJPC3aoo0cl4jcwIGrorIc2Ownhpb91Hf5PCiN8Z2dUrVp8G7HyNmfA3QAn5DzY/gJtBrYG127gakbNHNl40sT3Y2rNhp50yQpsk9bHSYjYRhlsz7lFDOQ2nZjZA0IJ0LVs1Ew94WNDd04q+Kv5ZbyvVgZaI0Sd/nDSgbZXj1GeAbqVpxzFILNejvG4BgQ7TaATAj4aCAoQ8sSN5J2R9wKvtpcVrgWjzhaYKJDSjpo1mX6I17sLBfsmw3UuRN8gGhCLBl0RHKZfxHaPZPQlaPkPsESkYM+A4HZr0DgEmWGBIQwEODMb8WTflSXmIcQsX/suCIuo9kLfC+0XRuIiwFK0gAsHTsGagXFDJ06V6DsJCvdpCIr5QDKcRaftw9DSe+lBY/Gx2K4TZV4LCmTiYO5f+jstA1lrj8XTwNwpXi7LzkUnF9Ye99qWrlpAyQpYv3Rx8f9n70vA7KqqdPeZz53nqro1pVKppJLKTEIgQEKFYABBBjFRRAVFQUAQRWjb1g7xtdpt2/hs227AoUXEgdgiIAJhSMIUMk+kMlWqKjXfukPd+Z75vH/f1C0qFaT7feRJfB/n+5Jz694z7LPPOWuvvda//r/WcxkdnOn2ExegKDKnGN6JG5ww9CY11BRKeD3694JG3+irPwl3IuzzAmuyh3LZ3vEB8+Rd3//rL9ED1DnSOPJbRNp+jbDgT5Q8txHEOUbY5+OQvHbiCe9FPmR7STcPwW4MCyyn+ERWBFS1lnBMK31+XKzWO7mtqq5gtggtddxdpFTOnfz7e/33afV86cWAMuYslJg2IHYHTnD2qMm17MLXlWk4OR4OHwskk4/KoiOqaZazyJgXtoSnSJgmHGhftKjwWn/2dRiUazG5DSDJ9OW2+cufYFjDX1S0UO3hwq/W79tYdC9cWAh6vf8Ew5ngBeljFlQNOMG+UisV41J10/dWhQiQDjXUyyzDq7zNs1bCeN0Egx6At9gNj/k7MHlBJMG+AB/sLlBD+C68bujbhETLYnxWUfAir+6GoUb4GoXBtv11TpZ1YF5Biq9lNYbNBgKulGnnAcISGpE4g8QVA8ZIZlhNAdiCUgzqDXKFAn3pC7QdExfGLzsAswsBGUENH7gnzFR7OQRxYqtD2fiv5noiz2V1NuNjUYhrmnc7/WLO3V/sabnsRF/uYAU/3FrkMjC9Q7zEAGtPvTeY+ikQXx/uzTxkurjLEdQA+ZCZ9IC2EUZqBEoWGz6waFonPNQpQL8DrW4/wNn8s3jgw4hbXIQ6tRtMxp6O8MZXwJYbeL6r65uk+QSkC+XKJafIVSuGHauKvHU1WxGrxU2/HcUX4Kyxf5SoDQ69ndcj2cWkRtxAhAlzR7wRCh88hqPQsZB0d3dLhzlyG9oTwEhHE5xtiNczDp/zmMWQI3jLVqmW8m14M+UZUNvq1TzVhWuZ8Fy91aK3PlEmNze26wPM7IWuLmti8pfCml4e4h53uKU/yVsOK2TevLd2fP/TX7wHRuPH982YNu1rPT2QN3/iB9kPo+ip4OMlXUEO29bWcpb4itdpyoRnvWpeDYgCGxAJ12DZ5mcQTpxlia7hyY1WCkpGAugRT7rLMpjuyb+/13+fduMrM8KbJUvb7QIPHLyxJouJY/3W29qOhNFeXfIXDe0qSRbrkFyaVjJVNudopF6qLjrZXlRJ/TNsURaW7zKZGN9AXM7Sef1+lQtr511xRTRZKtU7SbADZa0/5KzSRpMl18LkXWABtgU9kcMIQVDQfFl1YXb7B+aoNvkqMuJTEXvN4AW/X+OMx1NDabuqIbwchnMVLGB7dY3rP3B+eJCIWpo5PydITmCIUULGxGDcjkBdToLHDOJ0FCnYVgNCDAyKxuEQwqIAvIj9sLE5wrrCBsXT1tS1fNDpCww/vb/3wOVzG+kUvmxoytuxlte2eQ8uC02yM6gWotP08d+vP0HWk4M5sNdhAMDs4aWqgRZr0aKWtzw0Ww9D6EpCeAHhbXvUwYtl3O5aasQbfQPQ2/oVCGRa2SJzHIaXhn7sj8zwmiBUdWAgAvACQ5zNHepO9hxubms75EuRnTk7D+gP849oE2olyE1BT/h57Ef/mR5e6RoV5T4r1mfMnj+fokXK/du87DKgW8gS0DS+4HYxzy4pJwSxx6SFJiv39GdfgR/zCQ/nmrOJkJ72sW37wmGPJ4fXiOH+GQiEPhkJW4slaDZpBT5zIZKKmizwb/xxHTGvuePeWmJpVenhvHfToR2v4j6PzzQmnhLhJF/YF1ps9CVczdWt2RsD9cn1R5KpCMpD0kCHSCiTclrcNcVM9mBk9eo3J+77/ue/fA+M5YXSZAHOvQBPMRa7G+ZT1O+v8je8dE1d+d2kmolsdPVqpoRqTy7n4S2viLJz41t8KQbc94TYMvYP1gaYYqn0MlHYotNld5UPegb9d9qN73CxGARxzSpQChYBpXyhfkrkLYOBC6dThF3x9DKOlY/rpcJTnFOewWeLW+NtkRKsr1RSNB84Hzah8m3Uq+XfKDnl6Q6wbuRLZO+VrcQ4lGVnOxlxmqqnS7Or/AeQq9sRaG7u0ERntZVPKYmenviUBefWPZdIaEsuu8wPxrK/B5nyIhhZE0bz5wHJ87saNxk93mj74V3zBgtvVjQftlUvjQmVDSCigmEgDWDY4FYy5JW4wXwzbJqlglZ0uV0+ZPxJAOGCGpDOVKPq7eMQCJ0NwwxbaibSSqcVBIsWEm1zi7a+tCHqDfYQsqEJ1W44fnlxWUJYtXUniBCobw0Ejk5nBuPGd2yzcmkmjJxFTvCVjn19YgXu4QjKieGUw9raTAwe6cTYusoW7B+5ZJtf3+SlBQ7lJFna75fB9B4A4gDdQcB3ZowAlUCNl0WCRO/NuH8TUzK3IeQCxxRPMsN+YFMP2dTehDLdCrwsEKBWu9yI1uWrGlEFcTMMuQJU178d8PoydMc/twBXEgOdZxcy00HKVAdvs2w4j+3YkZvbuvCuRGq0R3IaRcnn+xMq8j0q4vqYndwPlZAUSLV677svYF9+S+ZqBvXOwIZzpKpqB851UnyZnpsqH0g10t0icdwIqlCHYusli+MzQNqnIIAx5C2Y/ZAiyoNU6bMmz9yf7sBdeKeG/7kLev/7/6c9kPeTqYIihLiRw9KaL+3jHntstTmOkmlpoc+Ouv5ofCuE434aappxygzTGEVpkC0v5OHcmMi7YPun/p82+P/y4KfN+NJkFMIBfFD27i2gvhcxzYBK7Nij69fbaycxyKMcaydbLAwa9aGR44cTB4fzvcrN9RHzpYH8hTAqN2oi/6sqAuoXUGZZnLhRrnGnr4RXPIDYLHCcNaCrU5wEeFd4ZJiKUktAq51yxBO1dwu+qGIZ363lnFJBI2Fw/87HBrxhWn8sWuSBmW5SFk0kPl+uI579gcFxM4di2mOXzHqrwAOGqRZjBAenEpBaayggewYXQFkB56DkMWwVoDLONsK+trVTnNlcczbM40ybtXSRIaMIM5g7jyeQVbSHJWKMlAwx58WOE5e8qVbLsHD0O/jPoyIPoe5JCzUgGyGxA9kkVUWoZfyhG9sOTavGwAArWrbaI5wLkecJyxi7Glk74Tsbpdc8EX0wnnBuCeSCTnj6lU2+8rk12Xv+7adUWwfgCvot0+CRhhAFiFY2GV9T796sn36TAPEQGN4f9yWNHavDZQ97fJvJHyCImNsdy/RDKvg8MVQfwO80gWbfiEon9Ou+S97yYhUCKkMkyeIBb/QJB0uKS+Y2lrHZO0eNPUQtzGVFbqQ20CDjPkG4dmw0GDthoNa9qKjrNxmcjdoVxobSCHKJ0G6z7ZIbmUew2hMqcoWiHEFHNWJz2ykD3+Smv//3e9ADIIVq41jjNssbrPr4fe0/Rdn90U8ibj+xKaPZ3gMCF/rOeUyEii2M/0Sl6AWHayrkquJACGmMLZ4CEx3f+D36gBfr9Cwty5YFIRM+J5OGlB5hZyCl7c1b+uVt85fSmAO1EeWFviiumHfv/PrQIDwy/crWcI5OOajxtmz9ap5jXwH5XzOq1r6oE+YbArEWgyq/vD+Yz1sMXQs6UY0/fGzfZOpG6t3ZXhnMsiZJwB1ciJdtMRADbli5I1C4/W4x7KFTj7IXiLUhRrwbiZ7/8SWzwtSQj985JFAb8AcPjxnl6CShjCTKx6b70mkuLc1tgifra3TB3zQDeJcpKlfRWXuUbtMFdADgbocMIjRxnD3VSJ3gO8Vv5UUWQbVY9lqps0wSfkd12QOs/E7Xrmp2rpg3PxV2cVeds2r1ZPuN8KodhQVFnQptOBsrQJ9o4v40OfUzFJHQuCdFitDfTCJ54MpTPTNAW+2kUdTogzx+3V9/4GEck6nBdSM0joGBJVkk/cZ/n3h8q276Apz8E/CO+0Hw87Pdv/nRSS/FxG0nfLZ5lexC0CPnIfx8tG08gUb7dcJ25Y80SYbLu9/Nlf6jZSyJl+zr2A3xtgOcaSzIytyHdxw7dkrfYPC9FEmaOKPZX2Y062ZwALyAGCGgeMyziqlvRzSpFxl0QTHI6wLhN+M5POXck9vy/t9/+R6A/lo9zuozWObjloP9ccQvXv/7g8ejFfki2iJqO65eAPHkCZaX2hLRyXzM0IwPAvkzWCiSl8zs0La//BW88xlPm/HNAKKQ1NQZjFtsgoR3CQQYe32CmKnGf2jCuPGlzRnjFTjppS5DuCxAqC32akzZV4GV8iGJ5XcD/cDjAOX9kdV3C0C92qoysHTp0lO8RXrsXc88k6x2uNdBnuf72KsHHo+GTFkHMUr97dT+TFjwQqvgaTjJAJV/tpk6nBBESLCkNpOUvW/psU3YndR5PC40LQgPGf1oZW1M9rGfvRrnkSyhF2xN/VYu++ru4Y7xkAPdX2ZJDUwemN6wF0PiI6l0ZUAYPzxj+GIAIkBrlGQ2b913yrVikKqGEcGABSNpk4Q8QTOOHmROVUtjozPyEa8jcs4iiEnS73iWDyE5Ue5OsKYlMwga08Qg5VygyhG6aXwShhFQPPScxYLFU98u1tefYpioVy4I3K2If4dQNPJTb8Dd+Xaln/QloDAxSn4Dw1e+h1q8M8+jyg3aWg2tNTVVPeiOt0Mx0PbS5dxq98j86mqaPC0/L5QkSQVBK0ukN23DdmSEUBi/lY9Nt6cLOFZmo9BmQ9JvP1kyEs8InLUboFNFMPVvx3XzEzrHXo+/n4HHXjicSNEka/nY5Z3f/+/M6QGWaXBwbA+cp9eRHY5mdX2dLjr+3am7L/7plv7gOlANvF1jG1eudEGvL2Sy1jb4GYtDbojxBqpa327b9/K702Z8PcPdMQfDK35JvEwSyExobV2AiKTTiXpSvFzlKfafu1BMOfnX+/oCoE//HUKRILw2/81krDmqYRQN0bG/4vXkMvndtqn+bqDo7sKxTjKklWPT6Xm1m4yIZv4ngIndAw98Owzc2WmwcXWioqmy3eQ1NQ60HTRRg0x7M6whFRmzJJGLV7S+Ju+jpS0/4ErANiA6zLCI3eaR2zvxIudsCJ4z/FzeE/iI1xtpxL7jfa3iQcI+5T4RWDsuQDpj8rFVO+uDd4bKa2bq7IXR6Lp1Jz1oErgkQgg0oFYOYDfGSueAMq8co+zp8lwdjAxj8twq5/GSD9aJ0Qy1CklMVHhjJ8usrpHEGyKc8xPVnOd608V8Cy2/C81EQo5VYfdf1wrSs4sneYW0n6JTXCuAmPgQ9NX2sEbht1MnoQ7o+WlYohkS9u6I40ZBdK+G3EgY5pcplx5rar/BSJGSxk6PDY0uXlA/u77inVeuobKmHk2lTyvfpRllr2ZqEMsgjIfR62HcywnPyu9Fy3ShRFCOxHmBes8yOIsxQLktl+DrePhA4tX/+F4HZkQvoH/nTK/2TRZhrRzm/fV72AP0eSia1h5dJ+uMbOrzQOLcLLHca/Bkl+A5esBXLX5zydQFc+nsjj6TE5vqgCMCxgJElrgalP17wOtxpYewDRO3ORM+jxuEd9sY+lKlSf45plD8Pmdx/+oWhX2AknFxnl3TEqytpeqlf+4cXPPiGQzn/Tu8BV9xsnLSFB0dkLuJg5v2J/FXugaxX9kzQahiqMnjOUr1uv7cy1o5RxvUIWYGnBtMy7gbiIQXZMaZ0EDpWPl98ppCpiJnLVkomvJnIGM0F3cToyoLBJeBqqkeByXimbgP9eoEiZuG79wgIMfmdrrI6+Neogtk5kAVgIpSP1oXiOTQ3vLutN0Ih9TArgMnDosIzrDJXivd0GQ0GZnKPA9DWTDkFUuuB8BjbHmuo8MFKs0Q9LRg+xndK/IJT7Jp3IDP++hnA3kdzrdudI8Wzb3JaiA20EDYqhqK/QXOl8qERASGvRV8GN8A1G0twh9rEGeAehJJYeB7TleYvz1vqtw/2fDtO572AyXxBZxMhAH7UaG29iRo2VaUIl/22dtbmNrmc8GZ8Deov1vLs+J3Uooy5T6cm15C6uDuPoE3h+F5zrRYUdLUEdASrh0fPOjLtLV7pPqV44koYt6Agp+8xOEHc4a2C+iWFCCAKzAhmoEtxp8vmXB5sM1dxTiNTyNuLLEgdsdMwUTp300Xf3px69k3f7EOZHtLNNuW9IyKkNGffSxOPvH7f/1Fe4BTyO8Lxd6nVs+fMSDqyReZQvZ2TMn+Bu/PoZJB1uR17REvH7jliUNx98SGpQ4eVHkz/0NeNP53tmj9ADUW3x3IMq9N3OZM+Dz+wJ6OxlBdrRWttUmQC5yHF3N6CbIHEEJwGKiFIDf0vK3XSV8OXjQ/DduARA/jhSYbyytkAVBUuwYZ5cDq1W9xBKCN9AU14cFK14PhfjJY/22uQdV7ju46Fre+JoflLZMoGU/aHDHa8w3VeADtvoe2A7FRZPwgR2mTm3yu8Ke+fd4VUZjPcn8dgujk7GUrZyLjvgZpOVf5W5bR/JJfqrTJG/K9li4aD1WruT/+l4vEK8blwttucyJWirpLmE60QGeZlG9MRXdig8CUF3FAHpkWJ8g8+9S2lpbxrH6wZqqLMe0QHEkwx1hQt7LSXV1ltrPyIUJuTxBJvZqMZp8fEJh9ZNOmcrJBQtKJhkhooBgQupdh436BmPXTKFbZCMP8DADDPwO59ZdLmv4Fpd67EwcbN+j0wHTgQHniR8DhvhQY7GcVJbuhfZJnLDog1yRJj9oc/wvEjj+OMEcY55CJ6smuHRtEaXyXM+y9piVUoSpaMRobc/T4NARCC2pe7EvUCl7Xdxyy9JOpIeljaMh4bJhuV1uFbKjkOAtBeQDszVdkt5ytDG70d6Qyd2Nkg4oce6kOPnpwGO3Hveot6PY1Jcb4T6dFHpZZ+1okhft6CRjoxtpF931/OTN6gCpYeJ3ctdXRqSHKb91JghIryian2a+FBP4hPMe7FdOeBefha6JIaie2mj5f0EaMLfD707RSEzJSsZVQY564zZnw+W1jJu+2YUiQdeui/qKiCXpA1EKKVaUtt7TZmCIc+Uxra/lFq5xD9/tB/UkaMU3YxVpqxGCdO2RR/bxd0l6PmMable0qa2oArrz1y2dZrO4JtLVtxd9GxbBVtqFrmmgaLZUgMb0IDiShMcN3XFA3HoPe0/MwS1WYzvshu+6DNEkYFTSzYHGnF5zMLhgPmpizcqXcjaiBXINKmxbARZE0R97MtOeJDPdRs7Z5K4DiW5uaiNLUHECsN1BGHNAqu4PeJjGiC9Ms0Y7A+eSQdQcCRtW0FlQnT1oocE3VDJ/T7UzvXn8oufbmE9wXdDModYQtgaGjPWC+bBaKygWEW8qeI/Ua/9STXCZzPJQ+DFSlleI0FFM+PM+AbAZDBbU2jP2nlJZ9zO9wGNowKu3gX/Iur6mq/aoFfovNRwjBQ1zerfLfFTffCToI/nNI2JVgqP+jv76eokxOWgwXn2RU6xV4tVHwa34AA4ML84K04ZNOwjrnee9Bwc5PsS1PbzuMPA35NMxe/CG2ipli6PYSlEtfgpCLCGrIvUBvlge9yonOD4fze+Lx3aLoSPRvVbauWuVT5k3wnAF0+RlvqPtZSDsP5/PKla3OwsZ+9RcekfsSrn2mAn5BeE8mYjfrF1t1Jz2PlXO8v35ve0Aw9JoRXf9bN+GncS7usFdHib5HnpFTjQbcPpoUroGChYbS4QLKxMv3sFxUI4pMXyZT5m6uX3qJT4wdzZVDXWfgAHvSQ306upuG6HyS5OdVHiTX6nUFhXzUaRXvYGXy0SZXmGamy1NPei4GhlTduFEFXirJWtaXMZ2FrGVuMZi5QgBOH9rc1HRKouk6JI9QMHFuwXAczPUn3ZffelcT9Zgmtp0aoCmBunlnNcxY8saw0vTiwEDoZ68lPD+HAaTGe+K2lc8juZE9rpDj26PJgXuhfAstFO0GJLtWG5b2KdjBu0fjo4ewbdmIwePMAWnQAwjuTkxZd8CQdsAnh11iPgc+43sHuL5ygqtybNqeuKPqA1V69k5ge/8B0j/1iFQg6GuzTl5cANGcun4I/1a2L0+V4foKFt8FDvVcINA1PiWn25SKZj3agJA2PGfDzuBIMPLUpOI/LKbJHIHLXs2CZkejRLhYaBuAdK5H2IGls2wccJhEo2nqHSyZ6UlSdY4FfpLe8NOfqta0hVMumD6neWKohT7YrCDcCOmfmfC3H81z+g6aWKTJMpqwo4en5+kZPN4RrPasKxnm39i6NQQvFHBoNl48vHO8ypFud0GEyXNG7unltSfKrrXgLAnVdR9HQcVncRUrcDgkM4kID31Y6zhxbXS/scVeEIl0HY8Pv7ZqVTlhepKHvvmH3x30Vvn/VDSTG8YGXwucRQ9iOPs6kq9PwyPeiAH2WyOlxCMTSeUrB39//d73ADh/IQHGBsAi9TneNr8D5ag7S5p1NbyGc6C6EgbA/Tgw4H8EjcE/1kj5FFrM+N11yxxy1YrZUJipufDi2Sxvf02rm77wVSST3/srOrUF79rzpS8dpJpZKh3/0oBb+Mz54TzPQxmY4QpgtElAPLeZY4xNfN6KHR7tGbmoPlQ2EnS/54+l6mlhhK2Tn3IcAuMcpqy8OMc0tUdcst639kSY4aRWJzOa5HFILSG31aaUhBkCS84PmtLPOgjZ1DYGR6IG6PXhzEdg0K+C0MWoi/MemjmNHEAA/tCUz36l/7W+RNzrFUqHBgb0iNNpbD5B8E2Ng9oyg4YPxxdmEyFdVfC82sPe8YFAHVV+zXil37sNRcxJggxWG4i18tRTrjFA8FAYHc2Qhobxg+zYsQOG0rgEBnclGLg8IAMpYgjCoMPwum3eZuvM8ngs96+dpeSGdlAmIklENvXGbUsUXXaBFCgL2EZ4hmpVi9cfDgAhbJ1XJm/HQWDDdZptotJCVDKbnjTgDewFu6Qzpqm7V9fV0QeTvApWf0y9a8B1S7XzTE5lMpgOlO8F/Z0u9J682huvsRltes7mGj4xb8UQvi57FdPCLTNBN/wpTOcHSrr+880P/HuxHTW6M0JN0yRGnPnGG0dfwrbZMSpJLWZabsS0XXSoxeAUH21sPMlA0nuE7SnOt7xkDr+sBKPt94nEWa1zzHVI5r+oVqsAAEAASURBVF2HbhdQ1pzIodgY93byYuZ37yabeF5egftnT/B8x2ZCagv6sbJQCfSdSuTXo0NHnih5nFJQCBirW1oo0uH95QzsAWA4G5Asx1hM9TXZBNjwTAfHNKAwU8LU7XfISzygqFqPy8eW2qubFBruc4bq7s2p5jS4JQcFA3huhiyBkV6AQhoa74U5ObOWd218gVKQddNTc8RpzZw1lfPDQ3pqarghiZLXqSG3o17BK5f38p2X+3zp80m5IKLcA08NDjrAMP8NWYoggWk/qZv2P5u6HVU4NTelvmo/cCHjL2aly2g8sE7KJ9NEgo9srSna7L9gwm57JGl2LpV6gwSDZQNJISjLpy20PBITxunhAZJWmJkrwWoGfL+ZYDixN6eSruZQ/SHNYLou/Mzne7blckN7fv3r7M0QAKycD2u7fSymSQ0T/Z4ajfOBTcZH/Cvnguj31Eiz9Qg3Qm6euWT+fNSBvGXXKKn55Xfe/YBQYp6wGMPLGKzXEqHgYbEU71sDWfeArqpyU1MTDkUIEk1BInMcKvsSCtgocSR7y9y51QEi3YtE2zR4z4uwmYvCzMD702gQ/vKvP/jg5k09PZ3UeFOv8qhtb76QIdp9961jVt10kyzx3lnALAOeBgwvw5Z0h1pcTVzjjaTXt2MwG4Ju2jLwSiUdRfLUtt98r3AlDGwPZgzEHbodfVgNwdO10JIbh5Z53Q6XZpnNZlV4N9pE+6V8TMVi/OA4Bv8PhgfCxOqpmNw7LGOhkX0dHSjkrsqeh64EAR4GFo4b6R875sTdaXs3DmanA7vRtvmm2/Zj8Omigw/lHp4VZtntx1BHTRS921cw50KjbUyeqUiiM4rb44UFBc04Z9Omnofb25vorOH95QzrAUlgqyEeuA/6iT82ObujmM+b0Ab8OJ6mj2kmc2HBZPf5HEyfeLBDJdXVZPbs2forA6mfw6H5MiD0TyKpcQzhru9h+4fxLlIn4oxb3rXxLYqil5Ss6ySNgTNF4GVF3CnFUhA7lSBg2Y9KpF1bd+/MXd7ePv6i014Imf5AiShJsBu4gMv8AkhmhhBE11lD/k1XJ9Fa33Jayp1GwwUfuvXu6xSHaz/4dX8FoOc9Ls5eAk8sqWqloVQ+rKJEtrysajmrCXP6lTAzOwDy3Y3On4JSgWnIvNQiy18De9AEAO8yTFsURDuRWJNiRp5smXHp6kcAW9r5dqTpu7u7fUlnRPpDT4/aZxilqRkX514UtTavW6ctuX6tsO3RdVSmqGxgcL6TrpV6YohpHopXVR2hhDBb9u3jz2+Yxx/u6xSrGvx8KQFsV8DKnE3LJYGi0FauLNSgJADhDgk0iOVjmortgiwLroulkvFZyGfrKI8DkANMYIJ9j2kI1wW84VvQAQdxehqmwACAuubY3RGJ0VdBLWMNEmXoIdwZlmByIrTuOxY7ttnOZe4AHIuqCGRMbRlOquh2fvfFU+tBA3HiOmJSZDlv21fDcO8p5orrV1T56YBQpgCdEWl0iDwYklmd9n4f/pWvPRRwBk1FA76XJapmjkTq608KnWC7t1uotpy5M8bWoGQbY6Zdguscx6zmpP6kO9LBG/3wLcTZzy+xZOttP/jpTfg64fPwN8Q1MhPvY9whuwfkgjwozq0aWdm4KPPiSCHjSaWNvNd1NSAf5+Si6q+wz/vGl3boGbbwlv2sJLte1uO5Q5nD1crR1WHbt6enpyXg2gSNvnvhua1z2fy5xcY596HpR+izinf3DxLv18A++UkAzZ4Bx3Wcsby/K6HkfzLvw5lwue/a+KYSidGgu3YAdZ6DKmMwzdFIaf/eTQeq5807GlRV45+iUfWxaPtJXs/P4MHWSzoSQoEHC/H+POitp0NS4G5M2zVU2nZBhHHc++xMpbyMKMoXXX+LTaFJKF9boRfNf0IQ/n7EEqfygnksNWJ3XNZ2gu2LxinvuuCSj8H4Tofp+FKpqDzjkRyYvtgBVIU1ANu5HKQNnwQh6BQQ5oCgGeLzLGlgWdIEiNliqM3fA+/91YlKDPRGpR3BmbxmLPcJvnSYWHv1anZa6djI8SXX3zXsEgarl95419Cfrr8lr3jcVABUBeG+JUQwnKRS6ixwKaxY0U6NYRmK5m5u9joE1TO1NuRSLN4bbfQMuHIncoI1yy4LQvNmJconWoEo6CPVJx6TocxIT4un6lYMFF7TUEEPxrsBQ/M5BK4qb9i1GOicsdFclgQpGdtbS51oT0edyh3ICk6BZHARpW2Y0VvoOuZvS1552fmc98fr15PtazoeUl757FcPGHZaXFlXR8npy8fZk04j9kbugPYD6D71H1nT3oKWnVvfUp81Uc3IWIddXITGxN8ysIhLcwLSljgKymwGdwPm1wLL+t8tZQ98JEtx0KgLxjAraqP3MW577YnmjO9eZbkdGduYhRiuF0PNbD+XdzHEk9yoW8txb1dhkDU1HYlQFsJuBbPAiUwc+Lxk0eMBF7J1AWZmL7HwpsYP+P6HM6YHyhVqC5cxGV7pee2NYQ06C5KvxyHWeX0QKmEKCmvsEiR+qQ6eJcTvn0HDj9DGU6cJs7+nBWcgCznFr+LtS1NYKiGTPLkz5ErftfGlRur1WH4nNLIWgtS4LpnK77mxvZ1mwcsexWNvc6EgaDjbIQr3mJayw1sTeULP6r2ckwX0yH65Zmq4B7uMv8QlS/qQpZKLahqD37Ni2e+VZPl20SV8ATCBhy0H8yTp9xfbJyjxfu3ss6n0wWUw5Azq0rrEadWppSdCB6OALPUqicROUxNTgm19E2xkjwCZuwNxpYV4S1f7RXY2JIG+7PdUUUMyeFLTASxkJUiugdnWkNiWgm7OQ8R1nymaV1isOwml5qUFRjjmLikLFOTXJBc7zGTtOksM7TrGiu6ndux8GQTkJ0IpHDcVGdupbh/47nRIHimls1hHWV/qSFFVeKco+AFFE3nOPBSqri6HUsYGg8F1SJS1EQ9zdk+PsD3ZJEVyHaZjXg1CCUEms+vZPJkG5aMJS97WjzMm8wNQ5VJcr98wgA8GPwYMVgRe43zGMGoiq2lYdq350EMPdc+4GbJ1Y/1PZxuXf/ErV0Kg8gJggZ/NZ4vPr6wNjGOZdR90iEdTnFt2D58VOOG1Ny5c6arGtL9ksedINmRCqfG1uVikrW38nlJkgxCd42BdijF5ltENesk0QwtXwDPMsImkqpYqA8GEyyLc8JGsUD3932FEL8B1bVWi0ZHHwHhlLF0VGAL8o8kt9yIfCFoIEipZlsvPcV6EXVrwQoJxnnWZgn04CtXnicd8//OZ0QPSvBXOlGV9u5Aw9i5rb3wBGO1pQlFdWGTtBYzINqEs3AuSEhtr1Y1BtdJqign3ur2+Qs48JAj6vajoPAn/W9nuTFlzmCq/67bsPZzMe9ziuQUUWYkSW9zef2xkdiTytl4FHdX8jS0zgVgABthuwch1GXh/zwGYyFXgmD+e7ZaTExs0XNI/CNLxNvB61hoM1w+vLyU7JYO4+Nf/cP/9idWrT+YEOGJJEYDqb0cVVxDG8cXskQPHZtTWlj3pWhiVRqdTixfymMfyq3H+YUPkHi6I+sselhzFDP5ChECakZj741avNDx7wnT3zXRxMYz0LKSqUgjo98PaNcq2vSmt6HMA6B+Fco0LFJOHXQ7hPBy8iNqyzeiOcxGzDJi8mconxZ7ZDd7yyx4DH2lRZaK6nkcFABkBYEzLI6sfkvnMbr+z4Bkd6QSjF5x1OfFm5/7k4h//mMyrn14XUwvicY+ndBuuY0/BqknamQ9yNd7BVx74t9R1l7YriHudZHgpQkG0HFIpyw5gZvFGOpbc6q6SN8Vj6RccLvd/MYb6rGWVDj7f16cd6e2Vbv7Qh9SmCQOf1Dq3VSDcPyG5YUPi56srpoY7cW/Gz3Hk1U0Ft6vm6KG+A+l59fWKUjutATHYL6g2dy3M7jWAFFO8NEAWVoejyOQOxJLmtICreJsj0O50iNcbHD+3p6DGGl1yegyFwhVrZzVAp/g2BNIDiGm/6WODj0Rcb8ncV56N2tpaq0fNdjhN4TlNVLctc7mKLpdLShD5EzCwj4hE/1bJMv4ANMgfQeT0gsgx25EtPwB6K0q204h49E9yXvngxOutHPv99XvbA13prA+qFl+FbbgIoPgrZJ5cASa8uYjn+lARXwQ6qgvcHRvwKP7aL6kbmr3e0vrO4Ui1R7oFuoufNFl2JSCihao6/wuRScT+7+2VnXz202J8Y7oaBsF4QADVMXBOYSltHG2uBanZ2yzZmppa1hbcGtHfsHjuBbtkZMC7roME5SmllDg8PRg8yRsZLmjtIMrdi6TU2YgPLxfd8stMRn9+TsgdBw513JuqnGowWcJsnLkClVoNlH/X6Q/0D2ZsfUfXAFgWS+zBgayXE+ULYRMuBQjruGaQpy+rCaSHtNKwrltX4aVvMBnz8eojHcfpC06PSwcMV+O0FdCoiElC4U9qyTng5JlYphQfrHUFcfgCAhvyHp2DWKPFJDiRdzGqvp2wfCMQBrVsvvDUhxY0UJxreeEcItiH1D7b5+tpkqShg7t2HH9J5vMbUim23jDkD0SjWcvn6vv5L15Mff3q5Vqqvl1sYPTrQSjd1Khmjkxzu/XDowWXyZDbgFzoEho+OKAd75feAMF0x0hBmB1wlL3luCEHUFFxBetkpsoB/lh3VvVnbQWkPBKkhKXSaAFAbNkd8kP/mBWDUw6VRuOzvScGCArfc7PSneCA+ADUBH5SiCu/n1aN2za20N+b584lcwKOwvz6eu0+fD9kWY3QeLkJA2kjFAdwH60cBimoCpNZ0CpYAqm75C2H9x9m/JHv4P58DIm4dtEmQ6O90q6ZFy1qcUbqZiIkcDX88EswIImokjiYMIsbd/TlzNkR1/i5K21ocrm0Oq9Uomv63R/SaT7Ey6gTMTf8eNumrq8uXRIfDLgGOhODXdOlun19ammrEyrIgsBexFj8wyMbnuidPGBVjv3++r3rATynjWnDvFXmeQk8KDryBijdt/Z7BfE5GOBHwSvycHIo9kSgStpxaW0tTfKSpGavRujwXEAjngZ7bJKz2Y8Us6VtU7yOkffuSt75zGUM6Dtv8t//Ci+yRhR5GcRtDs3gXVrIQzGrsGMnL4jHyHpBvBj5oNsQ/bzWCRFIkXO/FnJxDw7mh7bROvyT98BBYM6JyTfiYEjmWLKqqgLJemm11ymGl+7bX+/N6Iz9JEpb47gJK8Fc848mZ3ypttr30bwtX8V6vDdALeHzYGNwgGruqCyh9BvL4EhJgNKpAHdTNXVSADD7pOMLNr9XcHB7D+zfn7isxZ1w1nt3X4mCEZyve05j3aubH97ZSRK9mwbTfY/jAL8hLhcNWxaIxmwekMwUs24dDWeW++R/r1uXgcGIIRKlwuMzk9UzI94sqWsl/ppiVl3y0B93QlWIqD+884MaNfw/nI6hydRziq6epeTZ6OOQMXpj20gSYZoR0zAwuHc541Wuszxaqd3Jmpc915+F+CdwbIkes2jYM02NLBxK6dNDXvdHgyRwoW4KlxUV5ZIiy12gF5UL3Q7npQGHsKSF949P0+ocXogPch9BEUknCHcepZJItJ/oQr3Uet7Vnh/OrtwH1AVc4bI37C5le3jDuFdU9bsYS70brFR/B0P4z4il/xqDwGHoaVGxUkoERGkrIXHJ5kD7qBwATBpCR59BiPafUFjxGagNI2gEKgrGmuXi2Buawu5Vz0BOqnzyd/ivlech/WRrIZ+7CNUKev+sdoScaEJxUZQUOx/9Yd7lsQ8jFPI4gj2DlcKUdzjk+z+9Bz3A8Fw16FmLImc/Y1rsD0CcehdgSncq9uh3E0z2j8U3Xjh409K2FK2oRfPos4LplXUOKlSfFMzs46W+5C/wHB2GzuzM96D5/+NTIiEyPov8H+80eUMqGR+fPp33KvwilmMvEG1mY1+6b/vkpNVricxijGNXqrqRAl5vgVcUwnhDdmkmQO9arotnnazVvXsIHm05XkzPs204v1oQjHkCK6w3dL6aLSlJfYpv/0hnJ9vk9wfVcLi04ASf7/iFbB0o1Wus9ne8zVwKRADKcJGnRz0CQhHIzxDUwIBgh7G6EIu8befgka0UiP9Mf/pCmWV+iX3iHs768MIa/3HsM35MWvhQlaFqEm8lAyf3Q+VvymNxxa2ZqQnFmOrKFHYug5LFo91DjUzBqxyZ44qvnTBwrAfrl+xi74Q+1U5UCo/mDQGcCMajjJZUTLEqYtq62ysIMYz+08EgeVdQ5n6dUktVDsH5fKlU+gg00LPANbwIXct7RNvajVhrOxQz/1FtieyL9KQ9Gm9/nge8AYhiWiUxQ7XsZF4zUAjN2XnNhH4EOx10m2/KjK4Wk4MbKWsYvY7XhhMrHIz8Dcjk/dIZCf4SqbJxz7MXoPURJ/sU1O2Ac1A/As6NARqXpe/AY5huYDRgqmBjnfiXjRGuJKQ4J0ztlnhRvRkimK+Pjs5x6vxlwJIZ6ZTy2EUzQoNvDIzeIslSG2PpbtQHu8A14UPCMYjKRyguaYNs0f7MoubAKRV1lT6n6+f7EotlXvqNpamfG5kSfnn1WFFMZRsKQ4OO3JWKXjjedaiwraw5WPnx/fUZ0wMvDWXO6h4tXYHyxkdQxZZQzREVtoSGDsffx8mN3TyQ/ga8YieKyn8FkKJUtJm7BIZ54Pyo59XJ254pf/OnoyGgdyxzB7w6MDIK8AAMHNPmdLs7cOzxF5aeBx7YSt02YAHZP7AO5gkQnN8Nwd2LAA1ZCFhJJ95flZkzB8khMlwxfGFJ35CIFV/KzKzLlDo7D1e1wADCkO5210SgxXa5nFA6e/LDbzQB31q5lmfrHIMrBsm3Ua58yGS5i1A51ShYrAMuF+oTiI6y4G407JcOzrOHGl7KZOZiuQ8jLiiiTvjJobxVJhSvHI+uJ3vlFEs8PdTs8XtCkjM5YGxeNCNVMaqAxlo7d3b2DijukWg1qtHx0DysWBd6HcWRKT3xTT043ptSyJ2F4qRgFP0FxXGOm2Fe9kqeuMwqnCKLAd6MCKbJnQuS4LaSZR/228YrKp6mjGocNUxhvsapq+AhxNCf0zA1CIHCcqbBcj2iYG9z6agSxjnyUkmTNc8TqGJWpRxRzIi52xpWGRuCSNmcZAXckjtjGSRQ79vctaW/sHrpvPJ9xK5EV8JbvL7RL5Ic1z/R8NLfoGA4B+GCOSjSffWwms5Rw0u/H1ufFOtf98A6FpwaDMXxzh2TED8vEDj4WiJxHOgT+6IZEWrsba8Y+KWTS/PbexWhpYEHl4PtNDiXhzMK1RojsYNKf2kRSrUnLxSD3KNJ7jgv6xJjTwV9ZFAwSQ4PX7lNE7d3uFRR15l7TU56ae6s6PaJv53pn+nAVunnM72t77Z9yVHfm0XR7Pzs7NDYsxX+bw8p8PzjENT6mmFyf4PkMI/4/vGsmthLoq3/7b7v1QanxfhWGp8r8d0+F9epaFY0JAZrkD3PTyxawKQ7hWTzeR7WXoJ00hFGYEcAH3gY3ibCucwX4Z8+qeXzJTscHn9xmgOBDP6dOMUJ6ZDyZxp3cMItomS/RhqRngnLWupZ1jr6N8XzP/Wb5IlkkWuwJTMI5KjsJFIybZR6zaQ5sHSet+zlFVW7DvGiKsMyN+ustT6/+8UCaYHf9A5LW/3MGbrONcmc6StWR5il+2JPrEsdVJtRJtvgLZkrFi9W/23PUOOwbbh/sW2gUwhJfZZO3IlCltsXiC4SFL0Kdb6jwYBT68kZAYdbmG2wRndGY6YLeWsmqkg6VJsvIvkE0m/mPFV2gKHNtDQDbDuCPojweg2IizpERmjgbQ45Lm43sFaHYYBRmOkxOjZtYu5rby+hMu7o5kpsnDKrYWSgC/63wcvrYCL6yGLmXzO2vZZO08eX9iairCeBjjVBSoNwUveCEY27EH0FdCH70uzm5nGDPb7zhA/n33mnpzBaaET4pGOcYwLjMPgZyrG6yqZtESoH5CdNC098Q2cPbWsJMxt3OdbZyUyeRVX2e1OItIZE9QNRImHAtM8FlBA06Wzo3P5484Y0p/oDAiI5hsErqCt0e6p5Xg84DXa54E7AwIfHB+zK8d5pTUNA0XPO8S6b8p+n9Nc77fduf6OJ0xf7ihHgWFO4FLt9gqPxbo99Ju6/ZjYw7Bj/AQagYbqTH74/02A3KXRndPEfwac0G8+lBjhpt2NoqERaz1zje1rCDhP6g3m+P7EccqEenhOcCse83B5xxWgHUu9yNJut5QTfrcAfTZM4PqkaliEa5vdifVaft5n7G2fJ/EOxObynfayqbMJxT/kYy+ergIRY45blXWqfY0elRp/CmKSWFkwvZSmZkU0USakzxYL2glFvX9CESrF9Mb662uUSD+5IIbxRTu5R1qRqL0QxoXwUShzoHyPiOOWclS9ozHPOJ7/wLYRPhhwubq+hWKBeyz7qYXxVGBBgVTRJzDn2dZPc51yC0BxxMA8P5fSQSxI+qOnFb/ocvjtANtqfzGmDQZ7fkbAN0IWRPyRz+ouyl7u7ysElPIZjU69evNslkh7M5xcDFncPlDK/ZKrGDiJyHr8s9Sm6Ar1Q7jxQcT4CvgdNdEghoA2KSnqw8/K5c08isqm0/X+6pte4atVNUjHAOC+eWTc+E6Ce5qgn8hQM8iIlrV1+XktwK455kuGunINCfwzWOgfinktZNvOT4wlv8eZF7xw6qOz7P10/15O8yitx92pUJgiK14h4ABlnbbUYrg+80HFUOw2aupliETS3BPZ8DFQ34s3emekeuvTK81sp1Sfb9onbmiFZb7pT8XzKE1Tr+vcVK8/GxHa8eGggxHmcSx2Cvv1fNm9OVNSQ94HbAsBpT8mQDTJ4JLN48WLjwMiIS4xEdBq7HzvGnzUktA0f/vRdvlwQyGhNU84NVTy+E3vu7+0NDNvOa4np3KOj8LPa0HvSYJZ5cP/r6UobJrbzr/lzJ8J7mlzlKsmYzgiCvG/DwMAkZsNTLo++8/rU+at4EImwjFUyDU4VRfta1WJ+xxG+r73O0X/KTmfAF6fV88X12EEXtydX4JZC7nya01QPbyKuhKsnHs7w0kWC6Asjzf+cB0S4wPiGWNPan2oMH7tqCqP919HkA/tJOn4HCQMZBGxQLFYlm4KkOwJZrTeme4K6dR7gTBgGyyNhv8LWOwErYLJG4gCqojA1Jp2gmuSmLpwtSMx5YBmLIn2EWgd2+Ijt6G7i8iP9Pfl8TYAPQ9HgXK5+5m+xSxkjOKYLdYS2n0x5qwQaf//ZBUlDOJn8dEY1e4slc1sg6rdRr3cuWIBFzuQuFz3a//LokiLbxA/YVbLRI/X0543rXbosF0R1Lxh15wbc3AyJFTocipnROKbayxJHlVPKY/rUqLJFfwC0ZKrBgCuD6QxJnDOjln6VF2TLVC11tNTT5YsuEG0UqSWDCCrMqtcwxvO0mGHNvLmY0RObempUV48WeVg+nxRP67I34JULoynZ9Hk5PgtBdp+ryCeL6YrmW+WCL/7Y7a6Uk5sCdEDdgzt3vkROsMORQZ+vxWHas+GEHzHdGrr87Q0vPY5fZupLrLACaIdtTjmypCFUTD+Xze6/1OcbL+KonO/t1pSQnX6PwZAOkuX7Pnk7yN5vR0HNvwDm92EwvF0LdAkiTWwbT6y5SKAyGOAZxEFsgUfgCWqKKDlFzlZ/WTi/tRwSW3L99YLCkhsF26hlQpEjdazVV2iYM7gpnu3ThkpDSDSWZ0fUQF5711f9ORRmmyY7/7bZ7ftQ0BOnxs8SnPNVy5onOKW4s67u5X0xxcOzajiTyBiH1PzxYd1lNvpkbyyeMEUPNzouRoqLoc/s6i9+ZRZKzVs9qgX6AjF/OJF4E8c+WjGsxwVUhqQVd51fm+W0BbHESA2ADrIfn372izjEOIpmct/8Nf5dEiNOTTaXgnKqGqWWvtBS72O4jkGYBPLc8LBzRqlkbi8WrZNmQk1NPKBoX4D+dSMG310o4cf0h7tQZKxay1ReYdb88UEb4ptnWn+cbuOLxHtX0Y7OyBW0wuM+b3SQbNpEyMyF1wATO5+xmHmgCPx5USDbiRjcX8h3Dl5GIOR7Ylo7ALHn8gu2K16IYvj6CLLSIT6XOu6qliH26Dn2WEfHPmgQlV8akdGDpi1ahqwUECCw6Mux/KYvnis72K8CErYY7x2uDa8fx+qMwY/KEuk1DbkH+M4QwPt+lVWenHQzxr23H+KF8D+ygf9UKaTdP9fhOdQUULTnDluBVon5/nlLIdS31nq2e/CXGYO/ErViq4Dj5dWM/qAscjHLMltBSh41OKbKZRo7UIe7uJDMM15egB3loe3B1Q+A6zLq4zodhrXQJSoRgTDIzdn+AGYMLp4/nFXVHpfk6+XMwoNsiVUhZT+aGuEzxJc1u9HoqF6yh8AXccUVJhcKhbikq15SYzHPqCBIwFePwkzpWwdS9a2XXFKn5W3vAI7r0MyQy+euBWKiXvD6A5Bl8XJuqQjC9UHRJ2zfm8i9tvX4ke4xFjCSB5sDPMgaJPCCF7qnUO4eOhUkssIvRdWEH9O7h4c7u/OkpoZ+/baLHBRHUAi9ReEMVtFQZsSQWCmuOl/oz27DwJCeEIYY358ao3h/MgyUkZ+fNjukqwa/M1FM65AzqKmpGW4aK96p7PB6Q3j4wh7yJ45NHdJ50o4k3TGQB3XoxA6BPj4Mj9jv4hgXCJiAZGGT0HfbltO0h68dy0dQ+sEpkfBhzTI+h1f2Qyjbfl2A21QomjnRLz/58z09z98IjTBaIr5h377h0IwZW62UPp/18gs/fvYHtqAdacbg5qKUPcLoQKQ4Al7QwdwMivZNnMVXlQTXHKfAHS0yZoszHICarvkaKgp3QlO2bAzSg6OLoZZyO6gs9qqGPQh41cUG4zz3s8uXr8Wxqe4c83T3cLRgWp0cEQeJpXk1RolAX8oxpSWMLMD/X7FgjzVaypEaVO9ozQwR0hJKWem9psU3Mdu1ZBg4/SY5TAecA/R7umwG++HFQ5nfI+V7g8yyW0vEjGFKPxNFNS9kbb2XrF+Dd/ttx+4TB3iP/j/txpdO2fEC7di9/lnjkjVrrMcOjLigcHsOiGefgY01vcR+zdT1y3UleSQvy8MTrnu8d6A8+0EUOkzDLGIEQd3FSIItRSLpe/Ve74GKN9cYqgkjZlrIpTN5EgrZbbfcErY188uYVi4FsUQCs7IhZD/xztlel8A4wGw4H/XJ56Kmn0czfusSXTRsfMqyAnI9F61sWcCdvYC7I55NZ3m+MdSjloJnTUvGC4bzjj917kW5otprO0oA8z7t11yCwpn/ADn7JSZvRy3VVizW6LEtrtko5Z4use6+oM/dDHJxyZ0zEOeG5ptg9SJZqBZLFkKWjmP+UmmAiRdLBq+mmw011jOticTXd1jNq9vSo12jQnOgiQyHYp4wP1WYamoSvHlx0e13OaFj5oljBsHp+bBgS0jtiVU60X6Pp/I1hRMuNjTmelYg9RJBCa7NOID2gMQ7B4iaaYHNCHkpO4ACYDf65Vp4DS+dVdf0fXTIDvyzhuz8qFN3crWAWhzVCl541XnQR/ILG1rbYdygzGRuXv1ndPQqnfrM/Z7RC28gL2hWYo5l6TKKaUBpB3YKoq8Mnncp9dpOKqjZAjURyCotkmRxFRAqZ6E+OIJzcbZp5KFWsScxmP5TluO3zK92x/GwlJ+XtXSERXx6U9zsJSXmGMPz6xWOfSzfn+SCtUEf0UoBQRAjKJgLADaRtTVlpzUjioH+xP50sHm5K/4G5JYskDsphlP4ZzZX9KM473PAK6+rC3uMTaCSaEcojCJB8PwpkaXtAE04zmrg7PL7o5pKD1BuGk/McCFbdAgOsRG0m4ccNm+XBPsKtyruAOawFyWXF4DwpItWFOL8hCJomiJ1t4O3KwV89M/V0f6iP1LbierH+YPw8OhA9EYyKR3p19/UCr2WTx02Rnw+VvRG/Q634Xxyh/t/NIOg5/prWWji/I10+nVZ5adiuEzrh/emSLTdPqYILknSz+MgN64SnXKIlI0vTXyvRfhw/aj2mylBScMzvQJkU9s1wo30dGuPRaurIFgyKWlxhnTGaTe+9LqmA6NJg+X0ohEjNAZAqwAJ96ssjsTyBuOXeWaql3VuMmtCZW9qYl/QBzLoqZprmfobqIDaxeY1RscT69SYDhUk37Pb2yMajI7I8PDGLMHnRyUuFr8uLhR5frFuWwk8yN9GqHc7JnEUMVDDcVKjwujzUW78AXCBNomE2+8QPJVY3MTTk4uvnFJn6MY1rMrEA5IIh0jv94jCAhklsl6J9THC8GHsgKJXbT6qAJpMt7lN1vj9Nm8dAYNMFpVbjakC+7qTZ+MAyYx6wuLPeK4KJDFqks0O/FDXI/ntYlFf0pU96g3pdk6tZzwZK99Y6xPNhOR5yojlFw8lp7Zc2hAwh7MBv5fz5cyMz826QkVbR+EuG5LAgoby4DCoMAKIabow0DgFFCNjxo36Z25QiJPthsD0spq1j+HZGqTMqmDyUHxi7jAU80eEhwHmDAfGofPgf62GhxgFe9RVBHi+gwlyR1uEGcb908656YuqpBYPOlw+VEwT8mJfUxXIec4GmqxPcAtvwuk6JRlHB8emlStr0fHy+XfyI+1ImP7wme37p7SeTQBBpNy+Mt6Q2alsYjMUSMf7nsY1JUfw4wCefw6GN4oKphjDWlR7jbJg1uEmfxQDxwpUF/5s/8jIfzLVVSM0tFI5ACr01Nm1Mx/MK+kDb0ytS6ytBoMmIbFNxMOOdoIpzQVqYSVqfrDFX0afVPaja8MhRMHt6c4axuvdB4692Vq/oMRzcUxquN8gbviJ4X37NpB58wy6LfXWERaIZW3m5UXgkKLxRm3GOR3VWrHfFMRvomz5edyIHUaeb+ZkfRqkRrYZjOIVLOEqwKAGOUY6uhkPbjuOBfFW96hmLURJ+9/nqnzJMAmEIKWa4nTjmeVNTVI+lp3lExzsWTVsIas1HAm4XE7Blj2qCUDiqDC6th1o+f8PF6tA/KLM5UqmFnJOXwTfgeSHUYg/jeVHUIRDBWZG6GXj+WPeGMrNANth35rZVXmQLf0uQMQ8/IpPm5qRAL3tSUndM62rTrvxpWq1O4bzU3NWSXpxINf9alPTaHss9yRrWHchFECly282dOZQInf82Mqamac8POFgXRU8nql4+ZyibldxTiEBj2WXgiRDPB636yRpCuTPqmFogD+xu+Vg8MR0mOcwN2YcqPh6TJL4p59t8FM8LQNjfgBlp1wxS5yCx9mL5/4uvMCH+BHMTKtppPjkxcvJjQarq7zAeVAqtd8jiBIqvI7jnqc9AusMyqhOxQL/dq/Dw2KmqqCYxvwFhG56M2mWaTZtX5Lj8ik9bl/U3mZs39mVCBZTglTnFYJsrajzrpovWi6ZDULOkdW9EiMhy0eqBIZE5Sq+Z1batYFlxG9aJWYG2umBX+dGwg1VPrYK7w2INOJG+SzOyfSjGcMIacbxDAbhzE5Bw6AaAfIgIc0H/f7X8j3pXeDGHcL3X8e2PsQVU7aXPJWMxfIOvoVxKgMvsiFPHkUNX4IdcyJc88Gslfn1Rtt+oh02CUnS3SRQU3wVhSAItdh7E46F4AaKgiHuN3o6Pc56hmOPL9TwYrT8EmBoTR7degA/vHjHZZepyNjvQ2FdzOt0fi5vsE9FE8fh9U4t70cNmHvuWR+Cob0XX1RB4eNlEfkkziQHkmBgC3KoXGKYOxHPnQUv8Ss85ynu2DH0EwRgipUTUw8WVXd/cE+t03DfKyEkq51+bqFGKlpmYXtwJ6LyY/Hryr66areBCB9yo2S3n/jBp0zU53v5DEpcbVj+Ks4/RUT7dXLggEmNbyuUNBDmKpyNUETe0yrXiWYzIs0+APtfJqOp/ozleri2KlwHUOXru/Yc6V4wf8b50CwZgAt2PJ1JhtuC0bLna6KCBTNCVURrN3d0sNeE6ptAWXAD73Q8XhzJuQF9PD+vlJ5zOKXVEuv5pWaLIkIa17h41yHLw6SPHYu92jKtOr5jaMghKUjCglr6y1uey1RixZXr+2tbS2DLMhijIIEdqajRCIOHzPRzLfDlqHCsDEHMN2mYEXJTUSjQfBRvxDMbBwc726PRxCYaghJzSPLbNFR2Ri+n1fjSBAlb3bxcNbVPsoxQjYTab5fGYr+cUio9f9zpTcg2v8QhighfZTa8OnPm6Mq36Rrd0ERoaz1LgzTACzfDu7lOIuwTmlM38OBbO4dyxzxuVrRZwwnAcB962ajHcSwkpmyRMRGu257LxDNrQXdLDw98bjm2hnev+MZQ8TnFNNqIwBxb0taGF/JtllJhL/G4UwLL1pkKsz3kN8SjfYPFyJw2uJDirt2//3GOXDCXjOYOD7qV6GhLVGA1ReRyDoH5FKrANqZSgfmMu6mUN/0jiZy3qbbaz4m2D/QwELzkw05Wh3y7FTJsLoDYcACG1YP4K/JyLKvb2ragJ7jJNNUmlN7Owj9bI1YfPMG9kEs5hiqx8wTCLsFDiPeV+T2msY+JrEPRWAVlzMwdSDitQJil2iwxfIsfWfYmv7onnd9hIBQCA+xDHLRKSprmW5jlOmXbQO4XIL79BHzIRvjODtDOLO7dsuVPZOlSY3EwCD58wBoAT2PwsG///JcvAhsaRwxrYy4aLcfeKz2I+xLGvcK1yddCFv4GtN2F+/Y68LaU5N4cS5AM4CV51C6KgxPRBFXzz60tavrt8AzrIMgMcU3um71do7t2LooqbevXM9ry5d0BVjJ5InwXhwoDSH6rVituwLnpLGTc+7WyAqI5qehOaNPHEUdJD+W0KRFG6UwJqswn9fm1U+YajEzhZQfxr/x8UO/p8WOxeYKOlBzPFmtbPU2/fXOICficVwMBCeeb2eE29SrJVVtbWhwsPLo1dcjhtVwLb70VWO6dqSsWLSptGxh4kxHrBKdBNp7T0lL2tnbSwp+d+8iN7Yt0GO7Ni6JtryZiOb5QJenIUZSfyUafL7svkd9o2/w510SjB1MaWwhA4NnUS+sRd6bq0Ls94eAbZqpwndPm52Y09bhHFC8AgqcTPCRrdIj17Y3FfsfwruWSX/AXwUF63yVX7oRh6hojlMdl/hUuHiaBWB46iU1h1C8PsJgtLYQt7jN0Ml2AyOsNN9wgDvD8+bhFFsrFZyDJTZ/HRDtCUA/tPLLtgkWLygPcmXz1p9X4ItHWDLzulRChPMrYqFESmI85dHHLMctQHLpUKrGlBKbCHYcSg0Nroxi0Ji30RXjxKEqi3HIPh2i5blnbHA6mF4HK3YER8PUiXbEo6kl25hAetdkY9M37F8H4UimbmdEWwGhx0qLtYyVp6ovdhdSwqZZmZrpLFegYeA3itqF+//iWwd72K04uH6405Y5zWrLrNpHD9dKWrrOGfObqC9rSZM5UGw80f/bt97jqbv3qlC3JnHDl9AVSydJ9tsPlF71WbdBijm3s6XnF44ysQULkasHpCNqWTdmzZDQLCqLoGZ6hbGWo8eDyrGn2YnRJGqDyxVMShZ31wqGNgjSEw3ZJ+uTgwetmNeMf4H69oqhM1uOGh4rEpWWD24m1FUa1Ow9vfyLnXrj6aMSTExAdhZwPGRGd6PuxpVC0hxwCxdDa1SLHhlhBoiXE4xlymS8O6KYriUBsA+1/HDuouFwnvHucrHKcY3eu9aSN7DKEYCE9UtrZPmZAKr9zInsFru1DuAPnYi8/bi6L9k/BidgJ8wsr8VptZyXZVNkX5A/LQLQE2jNclUlezCeP771iUWvxCroBNsZSQHXaf0W85vVguGqH2ZwuiPKSnTvJsUrF4aYjQ2G/17UKxCtLNdOoBg9wxlXjH1EtM94YZmMWU58CQOBzqEPdjtlQZ2UAeh1iAIjBzALtsA4atfNtjY0ILh6pCetsOKY7UTb/SyCE5+J5/jKCJoqz2noIg2WbWOQtranpN+vWkSNr19alkIxzZhoa+G37NBdFz+C51OFh07YTDDx52rcb+5N1Vd1qqcI7jZ+QJrB+pAnsjTIjXeNl4WuzQj9CYz0gFTJBNF3KDgz4XHLAq3PGUECWG+GcdJdU3+PgGGnCvWr1C4Epo0T/imZqvzZZfia898brr7/+X3Hstw2r0fac6QubK7WpnBhEybBEUaGYGenCjIUB2AOEzxjITWnD9wPv/AmWP4xZZ9hAoFcAVwDtYzyyFd3GM/0yMQU7TQsFgtf6atfgrY9hCvcwq3PVBrH/BaPXJwTRHTIYs4G1JQ+gH/fMWPT2cK6jSdszoqQ/ielbPfhXnYhPDlim8fO6muCxpgjR6PSUmzonEvLI9WD98suyDRNNyHP+1gDKD9Zg6u6F13QLYzuX24J6ZIqD7VEdLcc3xfIjql5SUF77cYF3Hpy7YBH1fMrLli39DrPOI6dkVYxogCd7NPGSqZzskGZ7mFaB/f6WLXu/hAq+j92+1lEwMzfCPLVJMC42whIiZsSMZfnhmWYJa/3W4fVuJSgwQZx1Ll5cMHpxI/BejoJf4iASME6kWa6BVQPwg+zTbe7v4b0nRMNwmxx/NSJZn4YPFza0jMRLjmFsm2V57g+sSTYsrHGXIXHbYpk+hHbL14wy4ToTAdQxxID5aq/1siazI5JJRrcc78zPHXvxrWIhxQY8mOJbzQhJeJDsC2IgGax4RjnRF5I1zQO7B7sN82nZw0udJ+KblT6i65iem41McjOSda8mc2W6zXHDTH+HoQWZjumF57oHDtgyuKAegeFrtH37OMRL6SblZbLhpV+iD+di0o+qaLSSM98MmK2nGI7LWoLZnSMFqGXYyyBHD2Yia5Z/0QlhzTJniNN/PTr2SxD2pP2uIziELqXMebgs8MczGJYRt6mWGWsDrZI80Rq4SqZQw1psCwKJYMyzHgOSK4jClmqg9n4hG/bz3im+feaoEk+nMimOZS/UdZICggJoSWZRUWG7g0s6u3/f660TvY3zuFEr6Pew+ScO9R/kfNyxMe6B8iX+fng4YurMHbkq+ZF1hHSsHfO82yLerkMDue/bEmnKE86FLPLT+zZsGJhz4arHiMC1yHLwbIEY21Bm/qapc5eAz2OQcyN4p5M6hC12lDijBc8IBnU+gGeLRx2jSCbIJ1Wu869prYOfCxOsI6yuz+5EWVFo/nwXMEsxDDaSphvD8vBx5V8ROoLT1XFWQ0sO3CHLkFBeArkumoQ7JY90pl77aTO+QXe4HgPQSpkXgDQwF+H5Z8CVC9yi0Ayvph+jOPrAhF/gOLIK3urbdcigEofahNQEkN6PDCB6OYG5HQoMM3sIOdaEHcJtbeCila8BHyu1uanhAcgTt7rtDZwaZDhhIZJRUMHBi8NxUcTLVuGGoMiCjHKm2Q8qs2HNZpez4PFNckPYP4pDwBI2uc/mRG62Q3eGiWj4WYMNWTIDFWW7Br7Hsfb66Xdhs1JXupOp8dREQcpTBwhcK2J1QWjECUAKDMMg/cbUxaeFwaMlfurMQcCdAKrgSvCe/hNJrvVuB9ebS5uzeQe/Eh4ulDtsVsnlOmLTageb4Rnyw+njGidMh4GogqeMZ8x6jdVAjGmUXvI0BjPlhuI/kROGMLQbMCZ4PO2ooZZw/7zlny9o9KUxDd4BL99cFH3Lq1/WUpPZFc9RT5q6Bk7ExCOQFZK20rm4k/hkgbsOA1YUtwfoSHbQsIqbdre4jZbKScfWaM1y8A5BmUJ4QTX7YRwRcp+4cPzPjXT+tyWHzDkY8hgs3iwoENcULW8Zqztx08mfWZagTvHEAj5+lkxwlSvf0zXPMagsw13FxTACkfp7CNPSBCsmBdrQ+C9AlTiAKQEE86xu6vuDgTmI+xUC0qUaAV1IWtkCAjA9XdiF+qQ0U76sdcECVbMDPMO/rjuKfwA8QXeHapjiSMLKtIaLK/DQPrT+F0PO5VdlwcTGocN+Iel6ymCZfyloxcGamf4mMNn9LcMazQgdDYJpzuVwuplCyf6PWx56aMP/4e5NAOwqy7vxs59zz923uXNny2QySSaTZEgYspGEDBCCgYiABFREsSoiiKIV29rakNpqv1q0gFihKm7UamRRlrAEMiGBQJLJnsk2mcy+3H2/9+zf770zd5gAbf3+WEn/L0zudpb3nPO+z/ssv+f3XHvNxzxQ5+vFom11gVFvtdPGC+2jo700vBjkWtANswXFS/HsMgFbO00qebTCrwy/wqvZWOGYw1SlcZHqbEjnqZJDGrQ4MSWU0nUAmZNnGZXUUpThxCNQRl6RKT2gMVp/M+X4XyOAcP3vaKzg7mLpFKYZdfBHd91V+tI//6QF8sSB+Q1WWdGoWLLEz48Ab39d+1o7mJuF1Uhumbil7zjkefnFH034sow0B7y7R7Eyo0gjczvmsgNQsWHGKP2EpW19BlWaCcD9WDo+kHq3QBe5OzbMDSx5FKczbpVWI/CRRoFgp8WhIZqqq6MkTobvwXAAixmC/HqNkHGT/ZwS74KWk9At/VnAhfLI8a9GgKbO1I1qiefs8NJfgGG+nDNMHc76045p/kogKtZAm10HTt4qTGmUGEL2LMDACE4dQGf25q1COX0WZmru9cH0v4C3F9As46sQAR+G+wBubWoXxYk/XV5lG6XC7fr+aI4AwnNQu8YM1Xp0oM7TS3x8+0vKCAi3CG4T1W+oIOVySPieaGDGlp0vDYZXXPZNCTYuy4UGEqd7Bupago8PuX2FZdP4McBiM64orAbLAIyLVJC38SQSXGlWZVBWvph8VaEfjkOrxDpgCjpDLRFFGaKLD4OycTEqW3zYYJB8YLHDuqH+WE9T+zZi2Zl+DJLVBrDFGiwpJUZTd8OMfsfi+cwD0hC1SaLgo+UaL1k/jgBeC8JJYU+t/b8NfMDZ0G+BNBjXhAWXWpDtSUhU80Q9vko/CIqi+bL1Nbh9QBhimTKYgarChN/WNKyVINeuzZtsJ5sv/RVTLQ1mMljVLLh6ATHTaKYZmMMvYlm7yLRT492bKevBm3vE9rq2C1Hi6MPQshDbpYadqLyytrkWe6IBkltp3lXXiSpjNkGBiOP4h3vzw5F5VbP/lqfch4tU8c+BXVyPG/Zt2cE/JxToqqKlPwAr+OtXX3HtPlnRLsxSxm2470txhTaTE1czRV1+8mxyF45fdv9A0IpqKMT07t6itrZOJANg8YObTR7dgssg42czIGY3JxI/To5HLX9NjUDljH+U7HSm4PKNcKnCk4yu1jO8ECgZPNzsxIaYaEghlx1+MEsDdTTdz07O+UpXl0kEWGXb8+X1Ii+VQbYpBZIm5TMPPijxlFHA0EUIQeN0qohSZXK5q8QSBiUoE2nyHnd2Qa2ZJnk7UTDWXxR48Ikkz5frens//mjCNxfPHGFqvAf5Yl5meWkltJOroHHMFFjpJpi78GPxB5m0+9S6Vvc5gRoyqVB51CJmsL3W06OMZY+bnHEzC78BljFG5PWjvTt3q2Xfn8+BrKPUrxmuUG+3uRNK37hOhLKhlmKWzfb9aFrbxuQyOTkcEKR80W2KTANMyTkQGu2oEXcNtJ+kZpaGiDZTGZ3gzNqqU0Y3TwltFkvfCaXKhQUE1R7p+zNaatvlDQ0V/6j5Ur37LJQyesZo+jWOt66GoY5kLyuh5NQc5bOVBRKCZb08b3sRhSZPU7IxTiYOuem6qiZRTocMBBNmksOul3yViUVcB/Bf7s+2U1YHUdiWYeqhLcQfGWCVSQPWi5jAUnmsT5auU0Fd5O3YBF1+a7Lh/TsahOAIoH5YTxCWoxgQlfMlC0kH8DRAHTZVqMSo5mE8QTHqz1e1hHLTxnD5WHHR3wjMdBt2PxZLj56lwu4ps71yMsTkJr7buFHdO56B2wShKtbyOlTJjW0QF/3P+4iI9ZsWJcQZuFKwXYfNL18AKog3p6WV0rNXdMDlYa3EdbC6SQ3B97cLWmL5ngP+FsQ1MVhcn8rOqTqxngiuCYOAcDGPwyfew8lJG65ZAn90hPR161i1SykU7lJNdrGdo9JQHFqgKC+GNryL4EYr10XKUn162eUzCjrTqGjm8ZF4On7byvYC/Madht0fQvjuOqzBiP0UH9/1UGB4wwbqbNQVPQio4U2Q/jXwePQhWHQKlU8+ACa5EdBmXoLF7mK3oJ8eGhpS9ueZBovnZ4H3iXdcuDb2XDR/5mqk5GN8kiFqVcbPJrJQIwDa7PORrtGdTirdMbGNsTuXeJEpyXwwZPBz3E4yXivDm6KqhRUF0+awZsxP7M5kjl2M7EICA/3Ap784t7V6Rmk3qFpXwLIjBz1fWvnaoQW9dnLQ6w16PVrBdJRka5DRBB9vymcq/bS3LQsrhjIzEImcLCLUuzvOsD6dQ/0AmguwjgvhgCKy5snK9ufb6x9N+HZdUDdaHiCUnd49RI3m2dIOmSpegmX1k0AirEIGz2vjxjuDAKEVVzYFl6xiMTAiXEIRsqryS7vD20qxWj3PiaDPHe+7FcKJ3DiIpOzmsCe3sZsaBdWW2TFZBkbvrRrIOUd/c317GINoIktuMzhsWrup/iYvtVtx5h63wLoBgSCySOUtP9zJJ2GG3Yc8FHUkOVLcw9E6mUhe6FYKQGR9idracwbyxPUhC4Hj+yG1oAhBv7coLwJZ0NkmGlwFR+2s+fXYEFdc2+7LVr53pAezpWADiIXgf6QoB8vY/FR3N4uMvfK1XXQRrZ89m3S/HuCEix2OGPYzCR9GNjzTB0FUzm+3q5m0KnuTWDlMcJx6xZLqqQjwrfApUjlBOQLNqKiNFqcLEPRxGL5c4guBs9Di4bfohso+DpzyKDBsZyGQuzIDY6fXtjcRs77S5alXUzCWI58AHEXUqzNaWhC8oyi4LVzekE/I0zn69/fdF6/4kMlv0O4HAQmzYBnIjGyGIAARZHsrvfNFcGmEPZLQqUYLhGs3NqQd8VULT8OV8zEs2vW6od0za1X9d7aNlvo5EzNPpj2saLsN9202epcGN+jPS7GBE/BDlQW+RLP9JK1YlM3h+h7odNN8nhWf+Cs9zF5Wsu472L03sXrGekDwewtIVvg5BPJuPMgGYKdnwV22yiU2v4lLKAtfXAf91OAYaC6p6xnG9DgF9kz1/BBLrpEE7J44PtoIGFg1rKFXeM2MEaEOfzrV/LHbETPjrbym0Epz+Ix2Onpcgu8NAdbf0rT+lEhLnpiZieq082JT1u9AZNKmagSjAr08p+59Osn8kJ5jG6mM05+cPOmsol2iXmXTr7v//gw0FbNjso+kL5OlmN4hQNEXZumnvrQSj/4m8FvrmaR6N7TJV93j4xKy5ebD0eSUR7Ov/lSJ9/X/7Gfq9GdIjvt+t/pqV/F0UfW4bWIL6m2Dk5CeZaSHLSpM1miYBKrSLInCP5gW95LkQrgUhcwZEf/plgNO/kUokvssNvv/t/AlZuk68AfQk9wLE0XrpMHdQ7HHKQT8oSGuTKRzBze2es/ReskNZAVjqSzIdrPAJ1kH3Wi3WPjrmAHOIDg9s3BrR+OUFvJC95B3tctmO+YqJjZSdVPH6uggkyU8tR05bllQTtR2w3aOwu5U7sco1y5zEuoUT2vw/ZXNrk51POrgfGMQUi0o7yuCJUKG1kG0ync0m2WNIH0YXmkIX572F4pF+DWd5e0qE+FYtFvo7NbtO7b8oEAGNWgV1TfHshE4N6FU49p4JoiMvfJEJjtC6AnHk5mVQkH3dUWSv+/t2pZzL1vXLEq2Fucq3wvoSHw7av7YNSuOc0IJpGTgIUPzCeYI+ap3LLt0GRBvRcFuNxb6Fw929qXiHY0e4i+2EPGPILMZSQOYsQZ9VNSLX9JyWjwu2HSn6FEvDBMTt6m8CJQvYto/RPMOXLDkUhU1lGjG2H4AhyB6uSMgzlTy6TksChVtvOOOF/DVW/eVs8YZ1A5CKq1kaTRqxG0kcqxsFvYmKbfdw19p2dijJSU1AABAAElEQVTqVXL1Ifg6X1/X3p7fPRq/H94PZFhbyKBjLzMFK+TT1T2gDNY4k50P3207EhbiiCs8g4LTj3S0tuZJN4nl5Fu+Ng/LBiATtr0fiKtDZ5PxRjuTj6P6JtIrlDApbsHRSyTGKixcTzwEFHXlBW2F505T2zkntbNQ7ENs0OMWtTybefFRhVqB0YO2fft2NquyN4Dw/YNAPKShsdYxKbNly0tb9hKhXqJZm4zrKmlmohfRd2iQVNvttwfMPNuK9XGkjpFiqwDaeaqXbYWVwbhY+o1CybPfAKNDUPMFERr7a9TUq3HQ7DdEQT5T0vPrBU68K8+mU7/ptj3YDZL5Xi7U5OX97fBI+cH6UXjxz+4++OyRgTNXL2xIljv5X/xDxt0ro6mfgU8FsDkafNB8Gj4Ja22KZUS/fkoDfE1h9bqFNjd/3d2bhnApKYxDyPzzo331sy9mvvYv69pLwCEyDv4IBHB80Exnl1ITwrdKFnIwWeYgWJxDEBwoNHo2Shd34nMBmPUToN0D59TEuDs/rujcXkxpbOd+/f/2qZ/3L9ZY2/ptw7HZm7dsqQRPLCKI8jmjk5bYB2tzkei7HRVFbbYpOfF5IH1aARmZS5vieobSP4/qvF+D3hDu7p6IaBPmMZvbuVFmuS/P4J0rYPaV/Z27jgx4XwGEZ1c67e1D/Izc7Lefpwf+LUXPjltF6w30ieA8KYJyeAyVkQlT1WYsoj/Yuxf5CPQIxC3yFkxR0HRSsGxKOJJ9iCZBjpXOJEjZ2wK+gpJM+ZwiIbZ8q5E+zPXX1laFnYuuu/3PA2Q/8is6RvzB4L+EMWqYtW6xbur4WMBI6YYQx/AhoG3d4F+0BIcwLoEFvQSLlBSHvPRrezWOp2MIJiFZkOJKIA4pjo5yq0Gew7CSrJlqfdguzEX631JVM5f8tK+vfI8w/6Pwd5a1REhAx16zFG2fEwYm0pMiFR7QtXcVvKTP/KwFVfCpLsOU7CsVs8eJGUyYp0BIX8UgbRssM9FsOl2+PnKdyDZyArQFpxymOx6FptOLfePJlpf6Yi0kwJXQ0kskSfgWqlRsxjE36/UtZTt6KOw/XWTNTUio+RGocI6gn26WY6+Aq2g9XAK18N8fRnT/fpVS/v65Gt9UejA1v8OGzt+ERdMOBPIXOEF4EGwA3wcN57cclHKPqZTuiGXpW0TR+jJYzxYXke1GrgvntkgyxboQlb+2sTF1VdgzsKuhoW+69keSekzGeA4ESg+hlt0jqOiRsol0c1PTxvL1JjR1JKFokYyizXNSYuMTx2NhvsBfY+fYesQ9tjKCN3rvsW7QSFGLcT1FjVIAcaNUojWDfHg1x1ntNobdmrVSL2ZmyIcCMvcLIMwI1vDykj7OjzuqFtIi/S3g3u/CgGmHC+0GoGq+p8rSBwm8kvx1onDA73rHFz7Xm1z44kixHovZOQFOnVFiwJSDTZ8ekAta2TpdOTeQOxEZPsIypZeQZo8qKdSCI5TiPY/kLnlE1MZ756NyFtPGcvxSXtMugbuuNJ1Qh5PkHOhonzEV8ysukdqE+9yTSSn3oYDVP8gS8wRiIzIFF0v5YOfhP38Ut4PIURssg1sPaNmry5evffzZI+mjVy90l032N+YFxuEnjWwMtL/rBJeSTMHpUeQiRaf0AvUflh31KhhrNQZ70ElzvfDrlTXTJo+9EZrXl6Dh1GmG0WCz2w/jfipWwHEZbI12NW+MDGRSAy8OpEZeGoqmA5Y9n45HCn0eqjRbd80S7Y4vsqZyHwQtEjBQE6LBMacZwo73ysKa7mjnpo0bc3vHs6M84mHEi6AaZr06mK474ETF9FwW9YRt3NWf/rIzFU0GBLu33tJ0EVAgyDQrAMosG/pCHjLBAzP7+qKhPMh9bLQezJul0oZNm4iWAl+vRXyh4BYiygWAp8U0Joob7ylqZmOjsi+RHwK1ZDMv8M1Le3rGRUmK65xbYTI5Pyb8sPUbkMhHslFE/cENhJXG5MMFkEq2pk2bSitKlew+kS9mA6pi2FEmxzaXbiwPPIlyIecA34LRFmZ2aIHsJxELBC7++4Z6WYvhraiBNvFLZO6Vta20PeR0GHQD3ApqglYOVhILrv7snbM5znYRBOvViExzMOcNnrduMChunt/BpC9rafmqyNM8tGiATsrnLgsx8o4I9S3bn+9pWrv2O1qJekoW6BZVZ4P4Gio3N4Den6Rk98BKP5UlGmalIQ0MviRmJsDTCM4aaSyGgounCT9zA/g1AHpB7iGN/AyLdTA883DV+KRvGgeY7k/HR4uMi8pxySvRbh+BL76mZvQI70WOe4Fzina2eFE7VSaQLlmJXq/Y8FNc5jWqId5msxPfMX0lgnuHGZ79+QpYFIUTbm/esmYihptRNTEDK4UpM6FZ9DKEiyXJJr287/hAflNTk/G7QhHXiu5SjOB20o6SxX4FxwLDF71ZVUrP2UVmtq6JjyLN+oPVDseTdim4QDOLNwCbGARlkyUYxUTaN+tJLLp7bp3k/KU1pgYxjWpc/84jViS7egKlYk0KsVHgk1P2mpnjvuEzEcoNhf08aqSPe8YyJ6F+ndIM3D/T6J3evczZk0NUVd19bSFH9yiBcCYLasAjXwmY0BlDY67lWfY0hC8Kc+PJnoftPQtfot68PpICUTnViyoBMAXNT4keY+eu4exrulAaOdbZWYRge1fBS+4H77UvKJnalThMrWHprzCiNyKW0kMITDyZZN1TgRrRBwRCjk5jBQeygckSOUL2N0x2BQbXLfhVEAUmrWpWhKP5/gKj9dnDVafmWQpK3PAXq7TRhuCSgcdQ3o9mNDdjinM4QRrjHNEJbYE2BwhGdGIT+kpKZGpRWt3B2mxeM2/6aJElWpqT4YAOYHkftBHEiGg35IO74nu9BeThGZ1fJVJmVcEo9WmKbWgbukmgTZCEuB7oGRPva20ob0nek4ZOWftKhSgl2AYg/j0GUqKzxFY1CT5ZdkYmMa3QyiPQ0CHA4eGijQYnSoEUx06ni1zbdi59pNjQ3s707znhMGfW80OdW8qBSjgr4/GSCsUSJ6Jpv5ZVgpsftAHr+5YgKnfibf+QZ9s1nuvAYsHCw91ZQYkEeJZXGIDhdDPN9Z9F0sCEn11npRsQELweWqgMQX8S8Ty4PXDncF6Y7AWJdbLFgrmHFcxHaJ6vwwr3AhdyTC0Ck/7ZdCcgRsYQdUwRo6zPDFquKord+mYPNaNKl48URG4wlxTP9OtJUgZort9HD+RTWBT0p6Ahva5oioczBWQQghzfUGYYFlcL6q/5UHURfrGGetsnYGaEa7h2weLZh9OlZGK4Nwo3xltuk2n34bZy2ahwWQGgfVQW94+4iMpj6Ksg2oHl9JAi206oprkMZanmgMFpFzDgT4TiriNAM5pYyLEDITRinEpJWX7T0o5TwMQfczlrMY7hPFJRaGmS7N4pOhbkdE1GhZOjAclsgLp6ObTdo4goP76hORxFn5OsqD8Oq6Of84WradXcXNL0kIOlfmoabB5sXjfqrLm0zrJ/YTNFHcJYNxWNbgG/vBMDbf9MQShfB7m8rbDgcgh0b8Q1YBE60zotyDjt8t/3tyVTcUAZGQMfi0fQ6HMszLlz55JnBk8KZYZhiR7Wjd+jJNangI8nIG9FUZXvVp7V+34h79KB9yx8ycXtHMkQc/8MCEEepnljBU0L18Dhd4Gl8vs/tPCSAzCPThBIC5nMPz5xwtEEeqKOyZUZyDBUTBevwgRVnHbmY8Vi9hRgYotAZfWiL/BWGSLtyJEzRuO8f8ICPwvRsB2eYX9m8+lObuWsCwA/YhUIpAgEIfheqBAEUwNk06UaIn3QRLIQCE4EmLapnK3sAyX3AdrRAaQd+SxdDTntQRkaa3r9nV8ZxERBMB2SkKZXIKtpDkJUqNiJ1Akg7zFZFBA298MMT1q60YoFZw6CRDYe2GLie8XlmYdiaWASLacCML7TFnh9YTWV6ijLVnIQoBVAB0a0VkjBcDKnyZOuYvIF1CBHDAKjaLBUTZBiQeIaS8Zcdb3O0lhqB9Wsrcc2iOmPQhcEkpjMaaaeKloVNEQGwcbycZqXtqiI+9CbNpWLSFKJgX6G8nkMMH6Rx+UA3nj5ms+lkjvHuPzq6nJwryxMyjtP++cNJL1QRnYVImdxU88f6KAc5YUjzegzoELbs7SVA7ztrX1Z5gjgdCVEm4ZUjYsqeinpMbVcwqLzfF5RvvbrH6W3b9oEYhrqoSKdYg8eT5VuDTmnBELl1B2QpFQd8eMHKZK848j6F4ZDiNBR3Ix+Gsd3u73STOMVPLOeGWvWKM1zL/w/PKccjKVjScJZUbSNs0aWZMFwLNIHfbhZN8NY+CzjoMYIzIwEBAIOcQGQKh9lFKOvqrrh+eei0YSk80gcKxUePLAz8W78CLhQOCveulzS38tbauNbhoaezqmZbUxSFhxBT2lHz/5cJeC5eeRk6p7mRVug+X7ElPgvojjrUb6m5i+4PClMasEGkOddMzbW9x+jHO/1c9fL6HKxoL1giEIjEkWcCKzuMWZW49lS1DVzA9knTwz/fbqkGX7K9Slo/csw5v9pMF/8OXiqS7oiFOBn+gHSldfBkjiGXVTgWy7AgkGgLoe7hoYMUGjyNd5QY1LhZlc5atWtPWMjVF3bELYtn4Oc53xpRF7sHU4lkNhyMaxqGJPUzrf1zcLKbT87GiekKeMzGtxPxDMlVN0ybSi4eXCez334bdufVx/fs/AtXw0gPCgrY+f0UkEUwr/PUPGzcEneiBDczXZBqHUGZvRhO41ksPXnkxcg8Jrr7Os7TgRwdtzYLtTQSxHPScB9EUAtgFVIOyjkstSpqWAYfIVk/0YltfUwFkLX3ECxvZrSs93zQXbPepEF9zhC+M+pAuUWLWYmAkxzoHDUgYQDWg9TY1mGFyiGgz7GWfb3kj4TcpTXR9MIAkMvMnNy66ZNND+aHkPWGFkkoBKaOfjaHmcs5iyMwYhAM2DYopOQe4WCg8tLeeOLmIp3IpHKgTlbrcH3CgiPDl2nBWmoIi7n5YVu15SwJ+d0UKg2DEcbQUmgVfmEc6FippZJOO3ermQ2v1Jg7dWR1ipkplFnFwP9tnhKgBtR4EUNlkVIx6LqC4blxTbEnz5dKljQasufj0YiIdPjvQwaGMBXRGSTq6NuA5X6XASxRt7s6fkh3AbvOvGsQnwe7Ik58Ld2FkUKlt3EMe0C02sgzlQCcA/fkb9ys0qJl3ix7pVIhtKdjRSUV8mEi6C8lpENIHjL280NQINEyaBFHcCZ/DfN4WtwIznxKoiRtMIbUdBkNggC4+a0YgOe2RkImRL8/9vPOp1cjW5zFKkxwF1FdV3zRMUMsqhu+PznH8tosqWmCuNE2yeT+s3xZAh3cUCjzVOqKlI+k9pYUNWcI+jI3r183QHsd3YTAlbENUF8v5Naebm3+I3Bb+T+lu/xRsQ28H4KbdDR2FHejvyzHRrl62fG/7UoCj12ga1R1PypQy+9Vrj84iueJUlJsCo+mrEkjy/I+HRdW4MKMM/YOWsv1voOLK7EUlEJ4zqB+pB2/a9/lIQ5Tm+88NJ1oFoCkbT1/NmW2uQncJ+fHx4fRbgCVU2p6khfH7Olr49b1Dj/QsQNcqZVOoMFwdg2mmvRdeNvUaQvDAL4lF2yqXD6Pg4F6YnzDfO7HXS0Oo/5q1KjWIh6lje4iCvznJZM5NbbbLYPCDbmlcFI5HVJkKpYlf3VUPfeeMukNk984+fbtZGLmPK5nXNF/w8fyECGSRpVDTqQMmkHkA6l/vG+A0y+8I8Co33bK7PbFMLLgBbVkjMQQIFMFS7PKA4fvqLnoN4ZpSFJzeB2FE3pp1A8/0WwtH+xJ119+L08sZ1IKSaYvoLbXeVC3ZwOWLH4baJZ5gt2WXy02ODbGa52Pz2WVn7o0emvwbOKUj3GFwEvfxp/AGkzJ/rTPedoWRzF5SxaS8ZVNXEjzmWyUhL9yxFDEXhSRNapfzsR7ftZVdDx9OntW1/v2fHc0UVBV89KWR6Bo/8stGONBM/Qy1oHchbIZKXM0gmNLxzxZ3hiTk8JJtJZQxPjqm6UAFMjumsAprkXk3vK9QCKwQLYzDhZFMB4BuKd7m6pg2iBk5Mcc1BkIDGIJUtOi6/DEmdetgvVXl8bTTbA9TF1LPIrDSGhc45rkO78FWi82JweR3JgP04vQ41fiVy5lZynxk62fbcGTXk1YGo2BC62QQBNoUtmAQqXOWE/VqzzdoNJTCICiuxPKD93DXQpHSA3eQZMaHVDQ8RMLAuodzs+qSZM/t7tt8p3ueEIEhNhpahml0QZh/Si9gw4f0F8ZEVhb1pEM3axnsYmWrzS4XHd6rGLn2FS9DWod4ZsPJq+/lOfch8pCPGYEnng8plVEXJcUhGBdUlgylNSmmZcaPElJx7lCo6WO80SiOJZev3GTZs4EOb4HS0XXhi6ZF0Ddivf8V7A/z7zta/VnEynG7d0JScc9pXO/ievK8E8JlPeJwr90YclquZ5uOFUvdZzTJT4v8Fz2Ye/ixHnbZNE/tdQVr/d9atHEvDzHAX3ZR+CjMsVdXjeC/2x8BOnI03P3nRn8x0dHTaMoDAGW9wuWcObJseZYQizAENkINBHqhobzXVVzbi37Fz4wocyjAaXF0aApq/jaXM9PMsvQ64/ALJ/JzJKb/TabFCaz6/GeBzgYDYXcJzhBFqlmvT/bT1EQir1EcQPdHgUL/OLDo9hcqvg4prXMSl4CVyzzjtjJnEzvW3f9/3je9Z8MXCsV/tTj9oEZobNI8jAZtbX1NTECL3blm7q9aZil7VmMosmn9XBKC46C4qStDskIpCtqNO3kNLpGwxTs4umfkwDWyLS/A9F3D1DleVestngvzPmaiZb63NahyGEdkERUOwy5QBxzLZ4JpFYUsowj5w8qWJ1h1YFZAICa63d3QP1nnoXtJvFpXypD1HmKeGLY4AZTavVNA7Cxe7EU03ulLWMvWiAD5SF1cJ4aK3EQsuAH5uyGicIXsihyw1EJ2OoYGBgokI5MerBpF2+l1zIf4C8met9y2UyuQulybaspSHRGJMFgltCrebGqCgewO9EwJKG5Il8soi6U5ShBG1utwfXUSCT63isEM6apTZoRh/GELSjNA/mFSOBTejPReIDZNnt3t7eB6mmJqJtTzQEG6zP3411gj4F0po9gCaP8SyHMvRWStGMjOwUI4ee3JNsv7WjssfUKywTyS77LoMvHYVk2de7tyCrDR2ZbCaoI0xCfm63OTu0WYsPYfvhqkVLWvgYHC5gDbvu9rtnFBi6Bd9vJxZOZUfySgRmQ/XMKpeduwR50jpwzE9VEiqIwHx634g/ZlM4N8Nr/Xyu5IolXxCyflNc0KgXoc1BUfz1vPmeyMdxX16WQhewNuEvNN1YCspGG2gIOXB+7EnlS79Drr+e5T0b6lH2IcOLz+DU5cnr0dlaKl0EZ7sDhS0UJ+IGishTp8Efy2I1rUM+SioWzczgGFsbVrNPgNj/V0ARYDxi9WtsvQyBYaoEbFp9TfEQEoSOIsuKFGImP5NWfkMgcOQDKeP0uiTZUQIradU1v6Ud45l3DZ7aN+j3H2cLNi+RfJliJnntosb05dCqH3mk60zT1U3fVzXqVtZmvxNcJ2dESq+B2RQNZbkHRlA2FqLUPa5rZAGP5ZuanJzluhJQK6JovI4gt97pdjTAJK0DBOspZNSUn4FGWxoEr+60MRx88EOgoH5UFgRvnpqoEEP6fL60RoS6RyS2XFYLkZKjb+8XLBDqY1+6h1Cb7gBDUUsWpEoYrwonCaHKtvmMNV8QhEZwbhI3zKHK9+fDa1lgvNeO8GyuP0fLzWCZ/xRDF2g7Zd/++5MnX93YOheCEIou2mZMuJWu8DxMTQEC4MyAFodQA12tRn0Q4ySDVOJGrNorIPfAeqLdW95p8p8SryaRVNsKukPVRCQfnS5rIZZdulI0zOUewzXUw9BnLmtqHewcjcdhWOYuQgDC53JB5ionUJvnx1R1kOAYyVpRPurpN3vEcHMoXoBE0hMJk6r2UPWxWDZuD6ShFcLNabl0Sgh2UtSpjreE42SP4ANR2KgAxhNiw8OnWKezOXTLQWgJpjTEqY3xhpiqH/jE5yVcPVDEoISAX6bIm5c2NMzvBcY1pSjZPiKkNFFEfASVjXk6LelgmpxseUNfwzHCnYjmBxF0GwHIDRo0VWA44GtNOgFfSQHqTfm+VPYhF7tzbOy3VRr3O9XFFwtR+H3tlJ5TEA1spMxIZ6d5660dFcFf2a38ygYCiI5RboTf3+hT4gObNk1QdFY2IpqlZHNdjUj/XyGyf6/dF8yjutHtDj/fBxhfLzfX3SFo7MdKorgX+0wJ39dRm6/e1wAMi3IthMf1YCoeDy7x7UHH+3Gx1m9+8xtG9Qgb7CYvoBBEwqV5db9fPnG03X/qVghbqrFRx70cLbsEwB0NLqS7UWfuAiS+9eeB5oU7ZIlAs+lYoWAM4sTzKeZi0Mldh+T/EVgGr8BNgWVLjOPWzMI4y4JC49FcOnqm2l3ncjD5+arOxzmnfTdfyH2Ko21xbIOTKmcJZ0ZXLBZCqusVNhvz96LGIotdBBtI/cwDo0kF5DjZgmB5UR+uuKLOH7/gAx9q5BUwLsCJn5O4xn1do3t2h1D4anxcr6SBk1fMDmJKVxbMqed9222EijL6C7sM3Dutr8D6UU0MVRADHc7O9OaZ05FnJJa9E9nwG5WZLTtRMr0VKJMlqmo8B+bq47AoHAJ8wmCB41Fb9RCVqTPIghC88MoXxywV2fDctaqe83Mi++/5ePqljQvPzTxFn97XRhbh18YStciMOmsYtDenFfrJ/Jre4OazPvzFr45D1f8c8D+oVGXIyClI5wr545RjIjaHKDwMYOL7tk0tfNOP8X6+/6MIX8VyXwLo1c2QGkkUcwfviHqH7AjGO5EM1gHBRTC5a73hUA7qmofnx0pqSQ81NkIhQ0rgeEq0NGEnwyo2+FtPCTpH+H4PXtXcTCoOlBu856QmmlIyVAVkMod+TznVTfhFUcwQxzMfggkqQhgpDC+N46ADmLRnYK705ynbICfSILoRdnGpuHDo0CEZkxy0p8B4LmvO7h6iXqypo6y9O10apKbZCOEXieRi8AIjpmXJulGsKvYgllwm457szOQLyxl5hhVKQDwQL2qdUbJ8nbG+bBR44en+QbI5ya+/7s57WhRDXwWoWR1BD8B1gOIX1IdYzprFs8KQT27cBKHSv+G22xLQxCFGOSGOvIjKWZEeNQpnyMtYGJLw1Y5BcMWgCSVtvJSKZaNKog8JKasaK5O4shu1urqaZMtN3Mq3GcmIcE9tR57F5MJU3taNWnw5/4zv8RKXtB/vzVINxPKeaGQSt1yxfikSKC4CgnRUMzQ5PZ4o1nqqIiCz8QxhszkF65gmGoJReCuRhOwNcrf1YHy7HVjWeihgNfgmxEqO9Q9s3foTCqTrZBv0YybQA0DqGRmB59cC+/sMshUfwDMqL2xl9w7Zzs3PYk1rVVpXHxVp25NwTzRi3383GKq/3uUysJhpr42ntsKF9HFEURcgLr4DxzC0nKKCeTwK4G1S0xTVJXr8Jlc8RGdJ0SkV+R2mvwREnEFrxCktc0W2bLI7DB7rIcOO5HJGIpOJ1/uCyw1GrMVy6kZQ96iqmkt4WRrbH0l2IQEG3B/CeJHTjiH4y9gauBqJc4ToWk8KpvCQoTK+wqiVrAmxXBYVj71N7fKrhzqVWzs6ygsVMZdr2JIdYLXXThfFN9wqKuHVOKyhQar45UZK/72b+gWnMBI0QuBgpAthQHhR9/AVJ89/FxQVdkGiQYRk3ZhRdIG1EN1kY6J+0RW+hFVqBMLt72hD2whr6aNwOTTnePaLuE6yCEyME7x5v9sDp08LiN+shtaayVpKlQ1Ucm/r0+RnJHsy3F7Yn4chfxTQ2I0hQzZa2bYIgSExVPVZ1r91VeXL8+QVCth7a8SZjXLlaxGMeiKrFr9RyGXuAUz8AK3zF/OxmI0cvdpeVw384tUoHXsaYNPjjK/q4HpoiJgoAjKhditmekwUeQWEOlfARTAeies5IiDJvmWhwLBN2G4IJDsxjyMc3wQNiFTMAKi+CZlHeY2mAGsyE8gcc8FneyHQDp+EG2QTqgh9D6WFHoSj668tjvtiItD4weeHorMI2B+HRhIIVWyEVjad5pBkMuExkxRgTpQcIdY5PiUASX+IBnuwL4VJKTZRhoHrA3zBsuogRK5x2/zrZi6/ZF4n9iXbVlrzLG9VydC+gWKeEDom5BNzCgklR4Ap7iHQNsJ9GNViPMEjXgS2K1D6jiHd1fQLRmjDpB/XW+15I5Eb+16k7+ijwaD7d33x/p0nA+5Ds93iWSSODF+9qpzx9J9NHhHm8TkwHaK5AmwwY/9QpvnNsUTrsWR+UXeyVI8+lwf1BW1thZpa9zP2cfvOiv9s6nouvTQECNRnQVLchYj9GKp+VPnlKgFCD9RFlG32PIeIqqjwd1tc0MfKlWOS/VUTCWsU1Vsw1W3IZolDc4asMz9+4YxFIZyYJjwfKkvty+vGLCRo1CK4twOVaV8rpcY9NO59pQ/kFVrNDNSgK1E5/aexWvtRaIIIN+EoBtsbRYVbsg1cO/CdWkVk9/mgDJWvzRuSm5Hxd7UoUut8HsdNHC9dCx7o1q5kb2FlIJBNHTw4pKuJ+2kLpr1hnS2IExZIjNViCD6e8fK22WFv1VyUsroQAdckMqkdOSw6wAWCXIulvYLYSE4OZWFAMRgPStfPUWlxLjidL2Yl9gobZVtoF/mP1zWw85CNv1ZsWjgvbaXXLlm4dCGSFVniQwdL3nI+EFhmd4f8s+sg9uvdRWQGpVuCpXLA8JqqqkhSiz0IGs+/FVj2UU7gvynlUn8t9R/qlgXQucKqwAwCpzQ1jBJTlzkFs0m1lJUg3Pi7oL0gjmeUX8IIfAmorJXAk7du7jw3XkDu3fvZZhgeAQR3Hh3gFszG8ZiHKfvrSZ8OjOWCo9msH/IDmE/xl6Ke/87wSO9vi9n8m1D+ZhaKmesqfQdjUgroK6UmeeK/JXiq7POnej1nMP9/OellwJVizsAty/b6VCG1QNDj0O76LU63FTPQi9DyRm4m8LJVnMA1RYtKzdiRbuKxtF4bLy42KL2FUjxgADOfBgtaF6OjuOXCBrgrJhqYxLwovlgwUXiH1nMni8EJfghHAMUwKWYdzrAVGsqXLUW7Wxf4b+mq9ivMe7ISqjRN1QJxMQOm18UY+J+BdvJ/7IzwtZXN8+bBBD0nOEUG/C7UEUOWNIi0yzIf2DF9sUuzLdg9FG2GD66MBSZ0jJyLvR6giDtBG0nqp6FKBMA9FH0bfLDf1AXbteEYctSmNZT1K/IsfQT2628x4L9DqdrXESj4kkybdyAv/fZiPPmXtv7+s2RRIQNKMJVhRBAaAT6bQ40iSQAN1gNWeKeN5+bQ+EEhAHSY0NwpDMIuBNuOJor1fSmyKEwIGLxSMIX9Z5K5+QPR7BIpXI+yccps+GDLg7BacjfAw/yXNpn5C6dk+0skLH8DEeV1EH7l85GMuqOnRh0n/blzjkmOyzP2RgDYXRCatSBNmikw7EpasGYjwxbZz3qpGNcCgBw2AYLcQxWKdbjXU+PMq7NPwLd6T1bV/wJK5BMwE1XQEl+oueR1+3A9S2/exKNCRzP4j5GijzJCmcKjpSISWfzUhu9cd90591UroMIaoDEgIK/a1tUFWlt9BlYfmmf1vgpnBsiPfTZiZ7AcfNE9pPu4yUYt/nSJ50dBK1TPUHqBl/hLFtnnlIN/ZLFZ1dCQBGPobiwV378sLA1jNwuCOUcr3K+KcNQwKi0h6LUD5Pw2lEU+zMNckwQ5UtJUZ7qkwO1q9SHiV5DpEroDFCJPqERZcGnoPLb1gJfNhXJRPtTcq7cM9VqR5i7CvViVD3by6rx5IjT6JkYvnUZG22zUMF1Wy7hWzF5xTZPHXdO6C5lsQLFUtfj9jErlB+hc7rWQbO374KK55QohxcLYSdyMbxql0teLtPltnD9OC6jrDb5QmbHsnCb9mcshXw44aK1iMnFYX8nW6ESC0O7uIR+x1IiSUb5Z79M/C6oC5PzdJjQ7WLFWc2AiaE+647Gxl+Y17lLSx2afcHIMVLLeYM1s0eG4WbNMJGJxiyvdNmQHrCXggnz15yhEld/fz9f33KHZCBNvG0wOwBd7A+eVgoMIxttZaw1tMk+hrFXZjMQU4QSR38UaWgLlheamfaxGNDExUHejwTCAcWXUZMnMuGV7UTHo/o5pPlaPnalRDaZNLRjIP+AyF+JOEm27rXb29UjFDDFkgsT6jsa4Ns0WHeXCTWE+nh4Nu0T7bRhcnwWn8G4wygxDnM5BoKEFaQ0fsVmSTp+NbKZmIt9pstma2uZwdqEDHL1LsHhADqFIt0ZdjYq7tYjj9Cy4vO7vsGkk7HCIKZ25EoAIDyBsXXBzJCCsY8iiSsIXmwJnYNdosU+bG2isHJrat+O5GDK37ktmDMpr82oZ+FydI13GsfZ2EwLUpEJEZsyY2r4oyjnWBKWmSXlS5jAETm1hqa02mLeyS5wh+SiEWW4uyFFwLy+WGWmWKDIoPWE4FVMYPJrPP7PAbo+gPJDP52Q/Aj96K2NjRjF+A6i15K5xen+JhWbHrKVLXWBD+CD6/CKi4WdYns3kC7kzF0wS/Yhtl8qyTK+mFIPD/X4WUB2EmSaaphqn8Yz/CVFKQ+WsNhowIKOoD+mowIt0XFXx8zEmL77OqOreaLqQufGRB6zTd21yvXK2q4jjJBciuEmOhPL2j6L6whUcpTcCUfHxRKzw3J7HvhNp+8SXXtFK2ZecXrF5OE0tTRvGGhQxTTRRdd6fQq+9ddKHjMDoSeCvTUqmv7TWrH0EJZba4AQy0L+sa2jI/QrrcOLnm8AMDe3b6iNl4sl5kf2E+BxJfdaKwAYMYKXYikKBa/1IeiHaNx4G/kfuYY2TsHMTRYH8kWY9XmMbvhnjgHyAj8fkx6nDcghRrijFGcVhUbP7HYlcplTDAfIlcR5F41RKUJGOLqoyrQD9z9shgBEvEI7nS3oQPJ9I7mSBtLRiwLYfb8TYdwKPq9bPGpMppoaiuVoUFXCAZD6ACg6jMBs8EOXjNMqnIA6Qr7OHklisAY4Q4vCXH0S3jGvmzs1ijBzB+27z8Dgve1LCy6fNYn3YwbtNRjBo6zLMjWtgvdiw6D5s5IYObdwYMDr7PgkyZt/FXlNJX33nnRFYiASehqXmT9/6s7FmZO61wL0myyJ9tNjVZVUqg4B9VADJzsoP33332e6xHMpFi0uAGL0aXK2AzZm/l+Hzp2/cwlq/2WjYS7mSitVXQB0dQIL/9BfyX5zxPQtfKGrmzrHcb7GS3w0B8HmUSEfiknHQKuR2XzZnQvjOaPDvQYCLyjnVks3rPfln4blFQJRsAYsKIbnieR6Zn7ID5OCq2ch6oK9OayLKRBdMPipytANsylwnJsfapiZ5uGAtAqoGdK26asiyvhE58yDXKfsEKW84u2s49TNAETZqlhEHdOE7Uikv6az9RuB976Q4E0UI2Z/hNMQfWp5YnJ3/EN7dAFA6PALUSfQCliT8wxY0W4bKOxwTnYqfOZM3GxoeIsFCaNQxOp9JlQB5VWIOs6oWBd/ClHYBZS8vOhN7TKSp4n2a8la+wWtj+2Qoctp3k28jb2wfDy1ZmWZptjpks0ELoZIf+BwI8iwBM7wgBSmRDttsNSlLuAeZe0cFmn/V1EqXQEv4K3BcDoMP45XqOv6qomHcDrPzn1Gd5sU0qkzYKea7AMH+TfOyZSeMApuz4PEQWe4p1dJ6uQKdK+glshiV70fb3IB2dhSoO1qR59TOqsL3/fgrC6XfP3xfHCnTbyJYRHUn80+XiqVEb9g3RvbFYkK2Qa0PAtq3WUNaVtr1Z3dWR7R4S3tg3nH8RrYrH2cgPbY/5Kl5DpkGn4G7aKm9ZF22YcOGX2dneo5dh0pEj50ca8Eid7WLZp5xcNarqkNb4OweCW5urSlnb+WPRAbsbcHfId38FhnMV3BR+SHEIGuZNYJpbwPMYzGIeT6ENOcRisWi+Mwz8JC2U5lMdr/ksS9AYG4N/M+nd42eyS1rmHV0//HDWSu0otw39LEcPG0lb6a1TWSxhOUx9VVoIv0d+SBotXn8k6Q8U4HSKHgwemUkfvRRfeUUmHFUO0nseVMJr1hxMl/KynWuoJgWJI0rFGuKDnoMWje5/xbw1y/nnU7JpbuOF+mSA5oxMkBFsJEZw3CZgAdElQHXqdEZFST8YhFp3EeDQTBrTjY8B3IcAyWSyZzIr2oo/1AiCSGcwndC7a5GRmip30aP3dy8qIzzPgLTZbGu1Nh4fgl8P9GPdHSMYK8pK7R8hD/RP5ifoILVhxiBEwyFOtvf2wuEDRlxCNpklU7UEl2CYtt3mBIMVMO4GDTPb4gC+wMkRkULKrJO53eXn2PSyBTsehVycPIQvudXqwRZ3lOvtm7tEe0XVTWgbjlhGEKZKXaQ1nKxSqZQ2W8LKTb9JMTMl+Zd9Bcgw6gF7vV4UWdmYeQcV5LFxzpagyRtsNLoPbHsbA6ewYzLNdQBrYcEI/JFdiuoFZaA+eR+kzV/4IsNDxHmsMpOr48nF8D2ew4+yR6d5z6SfnVrvGHNmoCqSY/DvbEU2fkfTZeizxCSE7JPVyx5NazeuYZuxeAfHAfMKAp5mdc0tpjNlgo75oQTkxMP8FsKC2kXIS8nA7ysTVXOS15/Akyhl6fCXqc1EkV6NVW3wl2yJ5RPwI9KzHmtZZnLpfJsuIYqXBQOF3Fjzrk3OATdHS8uNTlwI2jyyZYgnfvN/tOB2qrgGoXWjrx66uiZu5YtCycV+lZQUTyFkjIRQ2BuRpDqLt6kv9CTGtnWHKj9JTT+JlXRNrZVuc/iBPTpTPFOmHD/ICOjsHd8vK864HtZsKxtcIGkoWHENVXZNr/KQyA9AA2gnl7v6BJGlJfIInP84OP/vvO2224jMLJzGiLyjqCc1xHcmkI09E26NgqcT06JbINpKLNtjEPLZ2Ndl8yqGcIBpq5311B8mcHwvwbjWINJsS8mS8Vbr2oMEgGN+zhYY+OYlqSS3nMH0n+fOBNZCd7hmfGi9uznJ1m9nj87Mpfj5X8AMBpjwQoi7QNxGisLNxDIh0DXhGQZzLqHUyM930Oxy7L2ThJPGN6+VtENH8twzpBf/tGr3d0p4so55+L+5z/QCF4yxM+9ceMm7tixLeXqyNNOS2/Gc9uEP+J1ikpDDAUIR489waxBReUxWQsKqhhA1RVQ9QmRjmppaoGcdox3fQvNmMW5qemZfOSZ7x7NfNLQrHrexm3d+tB3DiO4+ae+J+X+7hxL34AyOICM0TVw//xoaUjqww+VccMcGBvz8w7PfEG1Fqugj0TMiaB/+jnEAFSTbj0e6buDPM9tkBVCgb0LZQ9+vjLsHXjXm/E+ffmeVwPywFyLq5vBzr8oy7LRlJEdZQX9A4ZN+sQdSzoWdkKiQe6WbxoJkh2KF2sJ+qGuowMUsexPUZSgGynAjfDNDgvF7NYdrcEp83bynliFo87eMy+8cLZj0tyker0FCNB9KOtdEjj6o/ChfTbtrl29dSDXijSXWdv64/N0nb4JPl63wDE5I5srZyhxg4OJomnE0B0oiQL61Dx12/0578tZy/lIjZ7Z8lom0nkywB968qHA6YvC3sEOMIBtmiZkQfajTsKF3iF4ieBxc+blOO83i2lqNnfhJX6mRrzWIVe3IaIvMItXtwgSu9IWlBcnTNeK53rGAujElMZSuWYhOXxQ6ZEPkWwwcv8aZjQrJZNxCJbgba2qYnw28L2a0v051RqH03QNfF0fhKv6xYymHNkDsxX3FbIXOj5iQPfi+JhoNOqe4XYxpYJWNOe7BQQi6FeAU8YmZrNFWZ9nRe5v+/ITOhw5p2mJJ2EIKEbRrG5auxGm+zvbRiyU0wUvWVR7xMDMEXuwBdjn5dBEZrpoblBls3vtqdEprbdypGwpeRAu8xfgBYB71lrp54SVnRgz5PfB/zgTAbXG2RDnrXsBgcESUsizJZbOaywhPS9vk91X04Oo/d/AYnm4aJg7YLEcQiBsBErAIK5gH6p1fNflZP/tgxe1T0GNNMGxDMgEEAPReVA6VvUNJwRM1HcsLJU+/g++lsclQW+QMfV2lAzOa02OOwMUxQphCVyxoq54C/gYkEqb6g8EzpxODe6jq10HojufJsg6jOk/rC3p6+NvW3FJKzThKT86eeYIXA+gOFZMMRXC7/u+uByIzxnCVEAgG8Apandq/BRx80y/NnNxdXWUGeh93TLzP8qo1j2qqv8IIKUIeE+bwETSvESWy7LtyIkTJPaTRl24dx2/f9jd+p/Z6j0L39+diDoQHLrD5OjPIALxJTvj+iudYj+IWlrrKEG4kxpOAJ84IVzsPtsMcN/e4PVWN8Uj6Uv0XD6U15hXVKXwqKGrz1NN4UlC9omLJQ51Asjv6KBI2XiiZZYbrA9SafY/UE7mKPROD7wPd5is9YCXs/4R6YX3Mhx3H8iuPodgDNLv6J2akS5rZZHaWo/IsFUA0hfyeilqGyqbZhShSExRKUkMUkZ9fX2JEHwTsw3gA3jqz3nolS686yvxRR9l3BfBv7wWzF1tmqDB3c+47TB9HaIwd+asRU6D5e9ALTZ3nmMGAAHdwAm2DkwA6e0HbEYfkGiCC8DQQePgL5VF/TTcrAFb0UsEj1HSIzYQHtyI0jufR7bccfizH/byYtUnFy1ywNf7rIbe22XbuhuTudb5V127EMxXqwDHeUUV6J6qH/ygYGrm352OZr4pydzXLN18AwGhKwqFbDOBkpFzvjZwKG/pfFQhpEWsQQZvuS9EwJLnUukb2ZZYI89191ULc5fXypYyBzXf5hQ1TYDuvn84Gznw4vf9o2TBmr4P2a9seYAxDSwHUQhfu8pan6L68mRBotZ9upk3jNIGRLA/gdTbD2MZuEKhlLmAUM2KF4vlPhKkSnTX86czWe37oqndKejmXYqufRVa7d15U70znlN/3OZwRLD8T01eraR6LZ4+DYxxH8qQd6O8FRkfU7+Tc5/vjYxLMkaJdmfr7qaTTU1/8Fwmz29IDs4VKeHbTiZIHBJTiz9KOiUBTcvpBXpm57RA6Z/yfvAB3k0bVAAVGCPIufKlORIsfWcjli6bSqkelE9yMyyqnBsvKdniv4K2fn/c7y87Cuc4aiVMFtPOGe+YY+884p/2mz/4gf1n3ar18lUo1R1GoOMhzIbDEFfNIJ15QNGsr2OA2BlTaOqa1GQQgMgB6jIK7+w8rGx3saJwF9anGyhB/qgos5eXYrFzbtCHPvklV22gtr5zcv/pfSDBEKANvo1zvwIJFROAF8WkXAnKg6vsDLsEGWqIu5gvFWn6GeXw4QIRjLwirUYUHaOUPkrrpYFLL8UjRtM8Hp/skTvsw/EVxyI5mDoT0XmixcI3TbDBU4Nzeh/e/r4+WDsbpZNuwcPuAn/gKDzczJg2Cpyxlccqrouy3Qt4WQtrIdW5MN5X0sG8ZBlLtCQ8V29r5Nw+e2jJjr6xRmIi+v1+VjNEFF3URMkrAYoMi0N0XQO2rDtwz1OAku8GimI2ZWM+L1DCzHhGfxpQrh+gRtk83IsbaFVFGiZ9CpfyrZNbt8bvXbOG2fnEL2PrZoUihd7eEWQ+HUXZeiTXlX3UZUFEgi0xLXcACK49q2cEouBUlvdF0k3M3IsubvJWd7zcW5yauNkStdDl91wF3o52Eeq0QRnHsoL/pYvD0iARsPfeS1skwWLneK5ty+7dU9oWuez9fel9IB3ahhmmg2zjEkZQ1nTimZ/U66yALA5qlP4c0PPPOB3iqyG7+BufZT37wPr1ZXOYCJIaBAfJcVJRY2xw+MT+Uin+sqfWs4vvOXYWCBsftORz7i/HSGAdNOfBrYMy99YS0Df+Qc+XnON8bBFnVVvbjHllmFqlf2QBJWOIpG+TNGm81h3Bs3s5kmxjZi26GDGaD9Msc4lI5+Z3ToOZFQvpMaB3QPkATubOPrLI/8kbraMkqAx1jqVmAT0zFoxE3mFhVjplC4UcNKV+w+SZjRDWG2jEbhArWTqLL/OmUPagy10A1Whl+/Pp9T3fXGhXSJ1gMmxBH1IE86gk2MbODAzvPFsYS69uvmAAhbXkSE8PQ0q79Lz09GjD4sufp93MRhR9/z0maAypnXPgHviQUjB/gDS2Ke22fJNksZXX9Dn0UJQerQuOgL6sSDKgwvCZFqpENR2Pv1LvDZ1GzsJKlJVYCLZGP+QmSrTrGUOlT0mC+bR3yN2zFlozyuz4IPSutTEoLKubj7mlcJSYWeQ8sEsY3lDmcXY5AIia3g2u21Z8HbG7l9QwXODAWOrA5ofvH/qvzDAiDJ/vT16hm7oH9wQpy6QysNU8yzlnoK+U4Z0WvNZWOg+YVi8rcaH5xUBsVFFQgYY6gkDKlF+N5KBX+8WwJfmaEdW+2yk79vkikftn7t0be3Xp0lFDADYfoTFiIZ5K5v0Afe7F+1FEyoM0zA1Ts47ptJZGNeN0Z3f3YzNra1/kedGTAKs4oGHjx154IU2siLORfMhauLThSDybFX11LgjxBdB6turFAgS0c2qwb2wKD2FyMo/lEnJjSLxU0c0bkdDSVoJ5AWj2z37a+ca/3IrEAJTmiAOdwdlEcyRtcmeOD59M3dbuK2ssxO+2YzDRAGTKNcD5rnWH5/wlbvte/JXP82WY0p0D6V/g3l8BJ0gYEf5PKv2xVz81Mzj28L6RFxFI1RCdNIOdnfQO7IRFgYwTq3M0G+DnXtCimOxMGYgatoZHZd/mOIj4U/RQpqDMXmTnTOu2q9qW/SO2H0LpIyeJeiHdaT9gYAdRBw/eCaYVQJr3xbxGn/44jeY/rGqlOYFl2rdeHQJ0iDKk+pVrXWMs5wvSjBf4+KqAwwxlLbrWQXEhYAWBA9ZrcfU2KC1BqeMt5cLPehVQ9iVRTcTJLwBHYMXV98fp6R90FLudXlgqMCcwn8FzYu95dscOE4HId93XpmlaipLqoVStYSwuBQVCB7InH4lZuqcOfDJnc+OuKvGNLMVMuZ3e9UDvw5fvWfhWl1JjCc5z1hLYVtZmPZUcyG35xNKW4tYeoMtoNl8wzTHbULNB3KvNq9e7NUNthrBYZarKA4KWPpMzvXudTjEMHrAux7GTKhUOT90G3dIagB+tFSzpQ0OJ3PPbt28/aWtrk0sl/lon+Dr9waaBUrGQTBQyr8rV/m3MUMIQvZIVzcE96uOVWCBQ2AgYEDlgVZLjSi7qACoPHwD+9MmLQiBjxPckYULwSEENJFwwlY9nU4UTF3skjYbL48CdX7kOgagrLYHfuuH2L285kaV64rmkff/BN8bvmszGmuos3iC54wiUPshf2gn3BoLGlDuhF1EfjN+DTJQiMpaLiVLxEawQM4FEuiDI2PakrcTLt7Q1lv3cRFMJBwJXIGvpo5AtdtBV+qEx36yo0rF9q1Y92R4Oj3diPN0SdhJhQbt56yfHAZbyI42nAN+P2+MF2iZmNeC68btJOGo3Izi8AbwEvb2AtcFER1ly/AQVU7ZAp0lvAO5IA+AVcQrtME0JTz75wx/G2uBvmdZMWAjWruFMB5JKvoXMO79q6ifh0jlFQ1rX+Hxl83+w70hfaMaMXCJRiEDTVVdXT1BNEs2Ubmz7AC9zn4Q5uAypoig2zW3EwnBsOodupjj2posJ7QLO+jqo9auA4Fi93bKe6ED/p/qCCYjP5UbcHIxq3Ios5I8iYDsDqG1Cs1FgeR6E6lYqD8Y2H/LYQSbcNjoW/x7lq6McDjC56aAL4lj8ZM4QTfxumHUCY748edj/lS/wXY9JNP+5PGcAhmak7JQAWBqY/MBhjGdFeEuQLU/jVjF5qEoGcts1+MJJSSaUQaOGVk6LZ9y7+4X0PauuQnqfUU+l4k4a2GbsT6bKn6wpFirJgKqQd9j88WSmwiD3rufPZDIq45FegIftGapYipKJITulv4S7ogpvhzdiYYfleBb1pohJ967HeL++fM/CtxFR7r6+6MOsw06Pbd9WrPhmCaZyvlD9RCo31L+xw1PWLAyJqeNV7gsWzcynJLHDtAfcdoUOQAOOWqJnAKtbeTtyM4jTva7BaRQVpVuQpJlaPl/C7yZqkzGobnwLw3MtqqHEWYHvc/LcKSNXPMsEPX3gDB8PyvaURGsFq49iuwvdBeIb6p0XiNTEYj8qwPvX0erJVwYU75EWg3V5IcxuBcwHW9tmheLkNwvkJocSuRSyawAisBbBpdGUV/KvQVWtXti27H50sQy8rzw4LCjWVrhJx147ubep0eHOaraZmaL6Yp2knx0bKx3KO1Wze8uWQnjDhoNqie92NjTw8kCfdiMQEJW+DIlV80UdXAk4KCjWvqubpQLoETezIvN5ShF6OuHO6IDcnDynFXI4ovvHegQV97oXUBwSNV8Dd8LhaJQC7Ii79NJLIbuh3ZeJjbr43UMhgQRtyP6zHY7e47HYD+280xbXskBZs/l5Tc4MtPt3TDRC7ada+uckhpmDqNgLnMH8Leei+8YThnndBRfAFWJRG1esKELQD4e7utitw8XaXDoH9MAEaoXlueXAk/pBKFyAlPfCJ/5hOTDjF9j+yKbJiU+wqdtHUo9B++3AxQctgb6l2JPbTjU7opPXe85Lvmh9gBHFLyGgJ0N7jQInXAJsEVWWLFFjzDpoP/MhZmwQMkeDLioBw4TqiqdZEOjAq6EAo81HkBYtYYdQkgCtnOcc/n/VB9D79oJmU0TSyhJQOaQhtwws9sj0ALYFGiywzlkUUtwDFpNjqGgxArfC+AQ/NfVduB46UM2icx2CeOSi/+mKK5zDRa0Aju10yR303jsNGvinuimoe71XEPjLzIKW7k8NAO4WtEj8p+m62223tIXK/az0ZebMmUrXeMZJ8UAqCYLTyTNe4M0XoGpJOVmIbAeRa5xvgpf06z0LX3KQjsbgOAIwPAQvQAuoY4BG+DM7gZft3rzFrJTx0I4nTtBNnuPIDCJYpjZg85YifwsTRP8dk6dKlXLf5Ji1tc5GUH9dhOqkp3DrDiU4YxRfmyYn2ktGQQZht4baMA6s+otVw1oKgc5xIMTlBSGGig39JYPrM4RMb06oPbUrku51ZKLDK5ubsxNVVMgZKIr4gZfMmONEXA61oJjUSHKgZIXfKqVCs8Zr4GpZCVXhQWQco54Y9QWUhcx4WIkQB6WJwJg40sS/6wn+c+VcMCtS6kk6+X1berhvRXM7iFYmuV4nNEpiapfNccrjOUelQH7+xciOnQXt8J+Rpv1SHRPOxqhUAxipvqpy3G3yePrvN//Q3U8CgZPnZWb4qmdpnpA+r3EuO3fpuhKHEpSoP2PyGsMdKxZL3ckkXMKSJdTMAfOm5TmcSAz5CoV4HYRwayAwBklLNwCdhftSFrokkIbCno6Lf/zjFBag8nmcYc6XLTJt4CjgAOF6k2Kzx1e4IMSRD0YEL2lkcqz56G0+qqapRaa168DT9RK03m1kQd02lP8J9v0VhMGlKDb3dSjM9Ui93djelTlNtYenNFvwY3Si/NFu5F9fJTD0JRyrdsDn/mydzSYcGRjQSJSfnKsHud1gt/8o8CoBLAZPsJr2W+Q2x0qcZdMNJoSKDrU2JKDAJbPWYq1hwaorDQ4OSnFD4AqkpKZpZOELzgjg4DdQanyGTZ54HuTg/wubQBujqsnqyAw6DJ6oN8FiNsyWtCjKXDUCzHIPYo2/Eyj9vojKjthz4G5yKUYuyjOCX7qbp6nrzeoZP8Rl98Lao1+//e52oEVcOoBEWLia1mAO47fKePuT3J2OWt9IZ5R6QkSJGsgRhG1o+sUT0WrWVobGi/L16wAAQABJREFUPz29E0TWHI7nmpClconAM4MwAAnpqg1A6PPSzzu970TJ+mM0y+HzufdG8/NOZiw/mYjkoKe6uuj2T38h/AiCVuQzgclQAv07Xje/A0KazdA+vg8eg39N5pPPtoffIqMuR9s5KsgLCIlYIJlWC1pTOKwTeBFLFa7naaZe0el/A63fd5Cl9BicqduxmvfAEcpr8P1Ci12P4NKt8AN8E8LiIUtnviE7PBeTopmkH5W2ItjsQODPBq3WgaBdL1JSSdR7qkVHcwcxUZEcapB8pcOgnjlDowgmwHOf9Dv9NdDc3vX+EViQffDQiQqudOqAb3tDBF0FWUB+gnKGukEYaRwGOyoTkOOU6OKvkCxyCNGHa5BJdtNNX3krVQM0h1BqzMVgNmtF/ux6+NI7wIr4QY4xl3MOfo2e1zegUuPVlqlehWV2OUdzi5CocU3c7a5H4gYI0soCl0wsixRefGkwVuOy16w0Wccn9nzyk1W4VvwPp1+SbEHWVLw3jZYh1S6Q76e3NZ++o0l2228Bcfd9cEd8Br7WTynNhE8WK3zP3uPKCdd+u8D/AmcladaIpXA3hOukWaQfleOsbfKidL35GAKiSG4xXChP9xmvZVubLTAfrwnMWkFcGGTboVOnnEjKmAeLKSMI1HetGf6thXrv7vGkr9PG5H5rFq2HGFa9p6gbJyGM+rLIKOQ8dQ5kMl+OOCyYvtirsHYvB/H9pdDo2/vOdpWvs9KP/22vPOeIACkybmja93MG820jqfzbMJN/HHPCAyC/xFncrw8M+05d3eBOEgw9sX6MNrh9KQsFmOl6STFmwShnyGIrazSY3qyMWWKgQNL+3OjoO571/9T9IUKWpDdDKWJPgRd6SE0KpEDozqFkG2vnPoyEma+8OD5uf/v5kTx+SqTpn2sl8yFOYr4FhX876iouePt259tnFrRsf5Q+9Ue0WcgRX4lKrp4lyxenfvDP9sLlK1SnxkmXhTQrPcPjyMCnKeY5oVlgxQYQsNtASZPP6IWUr7F+qIaYBpNtiHZ77TaemI0FaDYZ2eV9c75AoTBMVTVK7HwTBRPZnJ7fZPH6q04p8Bqv5LYDY7wTZAARpPvOBSWZgCDgYQiLInCLHp5lFqOu2xzOQR8+5ZLHGydX8qM5zW4TGXg06QYsmKPBUWEgk+nju/J5NyiquPUN1ZmxkjYHlJGrkTbbBp3+sSJl/gr0MbkALRy+3iFMaW2Vvlde4Y75T7UFgnMeLXBNAC20+ZsWVg+mIha0zdwIAnM0JV7BGCBJZ8Wugzu2xa9YvFgdKKjLUQFoHu5QW0HJneqJR842ejw6eJPpkYwCtVUdxGKj23R+UOGtJsmSj2uslhMMMwviwwTIgnJgETsLQZ1CfUbQzJjDN10tpUhfifafyArVhsffJgvcR1WK+iIWpGt0QT79hZNHu3EOM6Vm9LzJd0BCNWGOotqIvu0XXnmMGxjwHDthCLPrbMqZhL5REtk/A/n3LBwWeYpMmKOF1950Sv1XNzYajY1IC//Ot/INFyyTeY5ZBWlejQce94STb86peauU0HCaKSFr6/+S9x7gcZVn2vDpZXrRqPdi2ZJ7wdgYLGPAmDgQSExCCSUhJkuAhJRN+1jbm77JBhJSgDQIBIK9QKimGCz33mRbbpKs3mY0vZ3+3+/YErIh3+6VGBa+/1zgGUkzp7znPc/7lPu57xs4iiitU6UKRc21cdSUpKbH+iJDO6eDUtJk/HxYydwiMHxESRkPXuqVU5W4p40EKuhy6fV5NrXKaYt0xJNOZCH2nwweOuaNh0zOX3DqRDi+wyNxfpkT9hi83orF3xG3tH11Ph8O9dHcoukRXaN5O6/o6y+u8PZVBuxqI8YBq86/IL8LQh/rTU4Z6uo/ul/vBB9RIh53ZuNYtC36dqRsoAbD/DVmFzsacVPCLjEojAz2qZJcikJ4QNAyJyvc7uSqD2BoECVxTGnNJ3x2u9dvLyzjKXUBHJ9rTYa+FqD12XhGfegF3FzhkQbHn048rRUBXhimBbYPlJ6ovArz0J+U9cvCrvGf+7C9P2/Gt0fV50ZSKro8GQ3cjmLehJ5BVXSVQIG2ltOYk48/JCfy5lAN8ODuUCm9Bm2+M+FYLUOo5DTVzF6ElmOTHwS19WBBm5o09EP2jNXyfOuOoSYYs754Yj44Sj9H2kUZUX7s8gJvpFimlGK3Lfk5pzRMqfJ+cCmjYYOqg3f8PUrP/hfFSj1gvqpGwwE8Yiqt6Jnt1WeOVe0SlYFoGk3LfJRVInv7bVlBkTyzHYzY5KHY2r5wNk4JfB/4Kq/L8Qiks39+7URLZ73ffezZIn+iCZP1H7mhQ2lrtiyx30D0fAPO7SoW2NzjYaVjJG62o4+9DO7vxUjM5LvL66LHgiMT0Km1HHwTh+EYlCAnWgcczuY//OzHUZIDDzvE4DGbbeRSu9j9toMfKEykY4waaXME/G388MApviC/U8JrojgwAO6KvmxkpKOtMC+M/DCHvuiCEn/pVJY3bgQ4/V7s+wqEmiVAatihHu3UfI43ym22BJRy9dsTGppaKRhgi6AqolXxbIjl5KV2N1fw6olDbXkOQJhpJhbVDAWNHHVI0UA1CWX3kWxzpUfKRRQ4X6stRQ1ylHEpGDVL0AdcaNmYt5544D9C5G8kz09LOhpUuKsxBnC7QZ1JWUcQEKzlFfal/S/+NUg+t/vkEEQncrLy9gyjbDw+qIAST+Oe3dHBhfQY/dRDD1liba1IcQ6Gimb2f2pabeLhggKt6cXnY8svnpscSht58PMuAxl+Ndjrg4N9XQcby8pGc+n/yC39X/0OuT83DKcPDFb7h2BAc4s+8SJXfOM7s5H7noOUT4EDbOJ0UakbtrdB5e0L8dx9EWPcAKN2GMXvR5a67SS+IR02xibTFG0KmlBAMh/w2E48JAjpVR/AFT7++ONU+cw5n4dO4eeSujoftJzTkE6ch6huk6ZoT2P+xUEVEKh2STvHn05I05fpNHs7LrkCi3YTQrQKLKpP58l8z/jPfdjen5f2YhIOcpOm3pJVwN3F6Ds9LBXtKPL2+YYTFyhJxZ9CLo8UX3YMxL7ICpxHTSVeElwSFjbmG6hsv2nozjVIO4x5kXuGU5cBFjsH7EQeS9dekws9Wwn0a0d/8tPoYf+1olMjgMLc+NrxXQfPJf7Y2h/+Ovg9v4M29X+lJPczmhW0gK++Ew7f/VhBD8ZHwp9ZMqmC5I9zWyeow9o6OkRZc5m8U7wedf/ZCIQ9mMETEJdvgZfwM5fDCepAvT1c4D3W9E7B6/QOzvmXjIWzfpanoMiZKoPOGSbCmIF+CyxjDivro3gbimrmBAsCFfAka8ARAZJ58zFFyf4CTr1Pkvhvg4hrLmATaRgesK5YcRBl/atsY6/jDeZWrFJ3q5nQ37AgnZUmIaeydy/FowmFGJKx444/RRQFRbE3k0dzRi3IYJegGWMp4n6QAjBpMJRFNcRsmOx1iBbEjKbcSrf5X2xqIpzMgwGnXXoOHu08fL4HUUk7ilwVoC5sNiI99zkbGpREMChqKl9rZ+i/4pgTkEgdUjXlU9GdG3eMFmLxe2ZbX+TbNMPeD0oy8FzTPwN/x5+TIKNkeCR3TeO3qJQU4poParr1IppkmqtZOvaHeG9yJQqn5Fp2Dqemqrr+MCpKdbDQb6IdvA+Leg9yEiPAPUZYXhtRNN6Hrr9vehzW3a/80ts6Lk9OHYtGK7MKfQPIhHiwMKx9yu84vvKM0SL7/39law4mFnCa+SuWoytAz6kh/5tAuz0eOcZmR4yFFF2fruk/TWZH1hIs9uh1I23IXXf7V8pTdj2gRbSOS2oLQ5hM7zmfRr9zvl639iVu1SntrqzBPAU+l0GgGFaCqXM1L5ubs1nuUygUTrmixLti/HN1NJj+PM2ZiwD12QN+7wzm9LEdB0I7b2t69/Nxvs7zfOznvBTcPJWVjrTJOTjWcBlpLUnFewYcKTewZnkFtMQMV1b7VFIkQYgzAXAlUZTcE7PJdK/EcptMjt/SUUQps85cDcnLGrVOr8xILZAWEhGanupYuzYHkbI4tQdS4KhN0xWoWX3h0uppT+zuD3eHTS5VgEx7lMp6aE6eAa8GhV+WHdEGjGVFRemtA8FdFi2iGm6huA9vaNxWiTRmZXV19mAksgCy8zNViXscUovDaoa+EhyOd3rc9scDec43txAax3GpkXG7OOutp3FmFdRWr0En8yEAkJvxx9yk3nKo2yvne25CfXEeSNXzUZX+gUan9zIaV4XWx+8DYnUTy9qOYoa/rsYTP5ZcjutYk7kAnkkM5DfPCHxqv6XZqyneug1U74UqODzPOvCZH0j333v9nsDY+kR3vlu3JpoctwRgyMtBSQJpdcoOEoQXGdN6ntbRJYeEMfKut6Lwd5HI8nbRSdHN+K7d6S6EVxzEvslDWI5cIXBt9DPQA1try2TI/dMAsdCACT5s1MZewN/vRb4932T5G9GaTPgiRgsgoJ9nD4AAH2KjNOqm1K3wgOs47BWdGY+g0HYY9cInYLRf9/DG4LZUyqB436yLpKJeGAWCtUa91poIcdMG5B9IvzQ8HQoZJyxlsCrAVCV0AzhfzhLQTg0Oclti1cpcm25uWIhHuD+YnI/xhmMNSjFGn+YD+Q1w6GPGJ/fB/wf+yQ86dyW8se9RBoMIS69HRAJFKBooMqMfo3oC9veZZJ+1Wc70AgpaO3bFGGP9QFBhrYxSwzr4vFfD4c2Uz0cwIe/7xovUdhrrQzoW3ZylnVfbEELpDPuJrEKVYE5ejXmy79yTkJ22t3Q92aYyfACdmjaykF/QSARvPtzbeTnBOO31yiKbAF9o72BACC+umwUhxW4vGIngWKQGjsB4uhob3Q5vSRbcr3hC9KvQF+tHwj8UikWfXx4oIPle5MxpdedgphCohZkUrwwCk9gep9XgqNfEcL7DRja2Ad7Odcjt3iyK4JGkrD3wtDt0mdNE3Q4EhXkFKuEpjVLaiwYAzi8C/yxrs6EXhAHIAmrtcXiF/nfdFV0T5rIcwC3B/o4pNTXBw8rws7pluwZNGfzxZvTdN72Tk37Xl8f9ImvQ83nOugMM/JuCvfHdtaWu3EOt+b0NqD5dC9KXSfBuW5Om0tNUUBBCzjUypXjif6Iz7gGc+5eAvXSydnk7yE1+Y1Han/C4gGzWUtQoW+Ry0RehAJlCMavbwHJDFYw78N95S0J5roTOFxj/FPT6LsGCshg5cxtCHhEkNEDmwMRbxs5kxngxUu1Nkt3UDmR/ns4m1ko6d4gY87cHCosZLfs9iocMOQh4YP3ykQZJw8o/ZqmR/RfmoGynT4B4yZuHzb+gS+k6GNYageWujcQjr77c0bFhbyKhLobWmE65p6Jghg5Eqk3mLUS67Fw4nidV04hr2ZH7w5lMqpFyCW1gHp/rcRZkdRbzhdk1a8WKEI6SzuomusctsL5R67IakLuU5U3oUBsS+Tx0PdpgUwsEis1H4bIlEelIrDo+zFJnYIzwmJh9wzEHcN0bwKUMjg9mxny7/T0XstNX9NH9l/BFNHe6X+Hdkd3ZNF0jMJYPYZQGmGdPdmCgL22riYnl0UK7Oacahd9Do88ZuWJVzzRiPevF7Cj26XQlfkUW0L9bx8DfzsuWPry3w6qdVivb3csQ7t0uW+xalKFBu8ksQ0eo5RK458d7veSg8RMtQa607ks4vRkI2wJ2mm0TONfvYE9eP/ez5+Ukz9NOzvIC/9F9QrIkH3dL0iAoWZBMKiT0liW3TwclmNPpVFpbl1sulwvW1XrDotU1NCv+J4oA+9CGfLTCDWQQtk39wYajccvHaQlgw+G7qpQXhZlsdQJG5sx2oY9K0AL1a/gsbwB5EEZ6oBFPzW3whFbBa/s+gAKfgXdN2GReRHsz6HJzXqCYUtRLsGoKMNj7bZbnXaH66d1DFlFnZtq8hdP2dCtVqsY2IizuHNHMIRiUsWLg6Ln8vVeWV1sRWW9SdH07y1vuXccS/tX4haUkezWT+T3SIa+j0NFgs+hPDSQo352zZ+tUZ8tGtBm3YJJNQC78DuQ8p7FMMnNhia8vrkoan2UucTrlf4XBuhgsOC+oenbH0hyF5t87i9O/J0gKIcBe5KUc37BY40Fc/y3gwxBRFHsR7O+PYRlMcoyB8aY/7sa8vh6zl3j3L6Il+Eiwe+csoA/InhgqgsWMgkNhPQtv9/cwwBA1tPJFxlwUHBh4F1LAyPe2wgt9Ec6sgvJeIbzMr/tLJ1x6UfmsC1XOczOwtrcCGtQKRrb7gUR9PqOrayCs9I3KEtf+xVVVQxhANeZ2znB5+blJVQZKg0L3splhDxzI3QeGt/rR1fi7jB5dnXXR92cTsa857MJdII64k9GVbwF6+FtMmiDmwuCBfsmozZ844Y32ofzftLYC8UAYh+geg5GWAAu6zDK1JBSJx+bY/31EP5x/JaokBK1CopvWYKqQPH+jZ8oI4QBNy3TPyQPbDSXySlwJvQ4gfMv2cE84p9KiWTdonP4tx4zF9tHvkFe0X6c5UdRA2QqeHa4cyJyxfY7/3Pl+j5y+DtjPRGB9v+EQ+OO6pD8eD8UeRn7+/0Cb5Mv9kZ6z8r3k+HJJdTmKyRfAefkVIqITILR7C7wiN0NA9QM55390DP5p40secN3QnDHFGLbMWGtvaamamTgRelJ0HQvmsK4TJ9ILFzYzrOhZDIKUz3CmcKNNy2TSirqZcnvWtGxYm74e+5A5sTGZSi6ieKGcFa1NEAZszehsC6KhXJ6PXCAeZovvajsEQcD7NZX5BULm1/E/NLLoXihZ9sCotCCkehKEyg/EK/KGyXfA6zsR+L/FQCyE6LT5hrfaO5ZbJn/HJj6G3n+LZzfrpoGvmvdxDvVuihc/g3bZN3grQ/aDQ//PNvuQ/yCwwN+FMsdOFK1uov30TcsSCd9IVVEvJO6eS2vp/wDK4wDyvJ/tSCUv3YcWWRnKBUgl4D/rmK7rf4oq2TdefvRRdExTEKdT/CjKfQphfDXoEddms9bPLyrLI9Xe//acCL8rGBYvx2S8HvI6VciRxtH99dN4KvM9pH1+A1vbCvJiCBszM1Miu2TPGdz3SvwBMi3WurZcNEJvLCoK8zx9fyxE/UClYg9jKTmMfDjSxMwNZZVTKnEuZxngJjy7rGk+oZjWMUQ3CCKhJGLRP5Nl81ciba6G0YfkDvdkPG28oqnat2k78+8bH91/oPZMigapIhm5Cb9sWZNBBlSC7t9jWNS2Lz3TVWhmIttSGfWXOx57bCjd15eyDXeGFoM2c1GR+0BcyXtdU6yH4PGsgWTV/oPZCNoqrJslSb7SKeVPbFq1igUuGI6vsV9PZd4UWTC3nSGQx3V8JDePzT+tomJSXszun415ssw5Y0YFLiR3T3hKuNpIZb5VVj21Gqn0QoGRK3zDkcYr66ddKBjSMhS0lqIYPdfNMl58Yew+8jwX0U0FCjB8hcYaKRD4vO9e7zuDbxw0KbNbYIQf2yQpKkOgT2Njx8w9648QIqF3Pnf6ncghkmOpgX209jaishQErLPonhHcbvc/bd/OPdb5/PmfXhnmzJnD99JidcbI2gTetgtei7VQtyG1qKJoxYQ8Hk+2tHw69FViV/I8ewp+lq0vpnlll7AoHk60kFAH3ha1J5I8wCrU9SaDzhRT72Etc1Av9CTwpzEjQyBajpJ6FxuOmqbLeMMu+NanonHQSXCQ88EKDcrT3lhi8NqJJaRym5ss4Kqtgq5WD/gW1gLrujeXmzwzgqQAlsdbsxsaplIjA9HdHq/7B8DZLkY2klVU9Y1AqW9bLeUYM9bEo3A0NJTHUlRqS1V+kBipM7saeyGhHoRjlbQVuQm51GuQOrErSbaPOrz91XnoAlsLdR9nMP0L09IfBJz3bmjWlUDWZQ9Iy3ezvPk7FI92z/P4Y8Bc5q57IDbcWWUP/JxycZray/RdMsVNIGJjY0IO/BDGZYIq2Vmv3SFbnKypKo1Mbi+8iOTbXcENuiVej+7bPJpmN/dlhv9reW1tkOBrL78r+RQihgbICTlFnr7ZEaJepQP0AAnVZtXXF0OyLPDCoWTv/ubmkQ0bN6K5Y6W5evWDsUVfvO8ZpHAmI+qYCBz0dSDK+TnpcBsbBLxRSzyHE6dGfo4w8StI9peigJoPuBsAJ9YIiibPe6n0c5dMLEjiUOQeU00rm8hLbkvEaK8BWkC0zB4DqY/EaPzmiwOuXEqEfICIlPrnXeq/dMVXatFc4KYcRRoaOWICo0Qn1fqClZQvvrUj8gA8KNqp2viwZsp+6O0lEprvugsuYAVZmoko4q2MXe7WFWtJqrn5ENIS/+Po5vRZfjj+xSXSB0Zi88IWcnwCvYw1jW5W4S4EmVU3mesGUvimyXwKAHmPwCspGh4PdOnywKISYFnLCziZH6oWfYbEIV3zzsZLQtBCp5JBaQPRqLkXTTgfWHSQZcUWRsn+yjAVTaDETwpOdxGKhse4KfPfwhmOvHOWp99FdHoQNQT1KozFkElnFVNbLnPsy4QZ8NzPfph+/qeN7wmhIOAwVVaCqMQQiGFhkKy2rKtnQAul2AqJGnzFB+BvVIJSBBRpDC9SBt0ur9xoQKNHhB7I6GCcWt99onJR/lusZUftTM8HTwonkJD2DNfDGy1DdtHrnoVi0CWCz1mNrjNGUdJ9aKo8FlTireWUreNYuSO+vNBx1kOU6Q69LdTn7U+EQhFUdHMPOjkmMeRFnqIrAXn6BLzxEn8hu9KKG0HFsJ7n3Fx/FCvDPOod7Geu82vCBY3IJ97rc1DHr04m/wCyAFKAetc2ICRFm8FnQHLzEssznwTpx93lldM6YbwPLkdY1Zka3jAk5+2Dob0cGRbQP6rDFpt93DZYAMPaSp2KRsVtsuxSjx4N4/NqM9pwm4ih955t7Mk5BdyF+Q2yp46zCZN5FKJArVkuyDyjatoDa1upTeWFga1qOrYNhAZIE2jDVFBKEp4NUv3fMai/COLpW4BRmYE2/wuG9PhlCNWexhzW150amYSFcrZuTx+fwU/edg21cRD3Ft9baf6tM/qCk6VucXLMdAp8yvB+n8OfjuH/secX56u/LKnPAuA/iLrYJfB2kYZSFVYQdlrx1IYptQVjxEa5saXQVddQGsEOrIweGnDyea9YaqZISaobF08sCWPfuY0Ym7e7RiYiT3wrIp0FwFz7aKSnRFqLShR3oK0nuqHV0Hburg70ki/MSiqNg0rmWEsktb8vlsirpeookAMNA0ZVCj7pCsbUucrcnj+6/4gU350VjHmCxqCJzWoBKW/Z6NWoigFmN0aCd4hmGyqDuagCFaCD50FL60YYyCDMLOuUKKkJ4vaO3sBof0fInlcSBxmV5lHJhz64bReUUhb8y9ff4nT9+4jW6nEOoBa1ami7naRG/nTumUQO7Rwqmjr3xd5kguHdwnMCRFxHiP4dZRMx1T+0Bvifdsv9AnCfCF1BgCNAFqAaoapAOrPenpQ3dLHNNkTIXH64+80E6GZ24MZPZkxmjqlbS6EjtTNR7h7zKkvnQWKclhoZggHWuV5Ry255uagol58lqQ1XkYx2U/6HmAX3Alb0cSjLXgOlirsgXfRTD+/4/ghHL6mLRkEOCPM+boNEfHy+x9MNw0uqtaNzi/K588uRK74YOdgnkD8OciZ7K+fkvsuy/Jd0xayQa2vPMuIc43Yi//UFcObOBxzgTgDjLhmlRiTnt7krVLRvJDkJ6IuyA5s3xylOeyg1ZPwEar6PojmjGkKIK9zTLywBcsCzVYc/aFFhtBi1AN71Sy2ReZNN8FmHI2bXy8qqoiAit1HyZc5ZszwkFGyCIcO5jy1U5PKIgkSJu2wWOhbuYynxASxKX8VDdxXG5xLeoheD5+DWwvy0/0I/nUR78l9B1rYZBmd/9bzSMQ+mZ/ObwEBTz2ABAKTNlEHHeXM6ryKPeL5GUukG5fyplG4WW4zZ8ORNNznIccn2iUpPN1IhawEzI/ev3qT0T4IuMkBoC/cODIAZ7nT4SpAm3mL3xnTK+Fl/Z+LfNLvv33vaDr04HzSWyOuP3Yva4opJrN9z04bOwQrsjyawJ73Ec4SlFGJ4z/J0dvb2+lCx/RY8thuxgyILqBZgVt0cxU5E8fUWFBN/JoniHVPbh/JWYsxSaoqqcshmuU2aCZSHfLgnhv5TbRfFEvUDfZ7OGx0AD78nQoRc64d9I/dKMVOHRIPJt0zlVCbLd2eM5FvwenP3mebofsgpqRCtOwVF6dcjGe2v6FL8BXJcq4BmuRdi2n8GSGSyonKX7tm7d8zIbhwezmZ1ijA4NWr2DPDB76Qk3u8xIQs8UkNFSM5XAZL5AKLDQ4hG/0ax1CdI9Hnu8dEqj7qFUShLgYnZjBGBvlvUTYmf0wYGCs/97Ifp53+6yeJod1YVRWVQM4UoyJJcDi7cSbqMmk4bOosYpisWLCiFAm0cIne9eHDSKFDvs0LM24sL4IVhA4SIqWtYAKV3tglBEvLmtI5Mb8sNXjlnfLMFVYXgCvkhYJn1wKG2I0w6BCwqsKYmKA9opDPpWniRs5IZvf3Td/3kVJ3vvy+QDSbSc1H5L0RF4b8Ixy5wpzMhCx5B2mEyhHPznXpmS4F0ujmAnOOQpQAmyUBLi+4yGHYKDPckp9u97w97dwUnz7xwgixIt6EF9wsGzUwoKSjrTwc8vZB1SXdRWht6cmtgtK9CwUphGLEaVXkRVwkWtczLrkJfc/b4oSxbVjZN47R6gDImw5NjgMPiMyPpU3/0vZP2IOdBtjbkqUGld7lKW/+GVMIlGLAU0AubkffejfMHnJkuzIKMGpjO9bVXLxmsK6nvS0Qj2yy7uQOV/dyYkv00NjZawWh8KGnRV8BoBZDGLYRRbDnllo8J+c5wpjcxSPOMDwiCsgJVbK8K2FOryBdxb7tDySGTZa9B6sGPMSyBsdc8En8FEAT+LzqlQ8VnFgtAGYxqr6xMKnFlKiUq+17NDL3R9JfgGX9VlHj5UJhqr3VxkUp8n8yj3NHG/XMiay4VKeZO0EJuA1riWUXV32R4ej+8t14U8UzgkwMoFl1Myg2xE/Yjg3IKDIWy7OBVJaVoqt01+WRVXsZvExgn2sKy6G60qQM9rehwO2uxHXfID/3biMo4UIidLopinQqUzwX5/g6cdG6xDgP6g+eEqLo8iKbuh7o0q9kmenebhWKrkYkNoBssn7eAHqJomXNWPlfszBWpqY1oeGiYv6AKTShZjrVFSp38/6jOcL4Gqy2S8qqUORPdNI9nTXUa6iE1wPZLbj31POm6HH+csM/HqVn1p7zAXmCy4CCh6IvgVS4wZOG5fHC9jP/sh+n9P+35Lp7oDHeXBjpUZWiX1J19e35paZYY3NGLDMxfXCSyzs9JNuHz8FxrUOjQeSSd0pBaIp/ZCv7a6+79eqPKm3aWYw7D23IAXtUpV3vHcojpbHY+PjoF0dI62KX7ooZ+X3Jk+F6F1b6EfNaPdMPYhO6sfIblbwexFp73dzayUp7rDZO/2hz2Lk0z98lWMgnmp02apvw8K5r/CjKd3xOmxP6oJr2zF+QkA4GUTHmeVWP6Lw1NfxxdQ7WmxX/+qsY5k0VG+jqOcRVQA/noRrsenuc3HaFEDb7PzCepCd38I2UCigqNNTDT3ADRxkJRNDbuH8jfXQ+BQqa+Hr0jUPmjpSrYtXTSSJ/EOB2eWFtISEXGn0bufW9PbIrOct/Ehc2JZbMtoBT6JuXhvxsdjvwEMLRvY6K+BsfyFVjhaEOwyZrro+KX1RUdxzUkCWb3rWN9fuI5k5117MjvBHJgLYxuFt6vAzrTt1CdwbwmeE5hR34MueBMxlQPn2gI5NjecieAf1SKG4ad7wNyEE1HVo3IcfcAzLdQo5mCHH/z6Af/m1eykKBwV4VCkYYi3s15fOaeV/tCdfha7sLHzyVyHxnVQmOI1Qo47/1YgX6fFTPPhCLaH202zyrgtO8GhvqXAA+DMYe7ZTAQcxiQdI5aWuZYQlNUjWMaxF5e5oXLgLZxQJ6DRQRW1hP7aEPN1HTCh+E6apoaIky6APnesed6oOtoDNHVs4pu7XqzwBG6rdITvaKASjUB355RHR5VNz+jg/ADBrosiwrx6O0i3mdGs7pBbxqnGdON52hsn6OfeT9fB2J93ajoQu2cKgPp6X7MhlLk8B87I9911qH3r10L+jrmCKLhVyhDBxRNf4xj6K2iIgLd+eHdzseA5uRMSKhIiHPWgN2sfMHHpjf3RCbvB1GLnefwQJpQ+GGPA03g4gX+M6C6LbUXo+SBTfKx03Djb7bJ0rUQbIogg9ERyyZPoKNtLBSkWX4efrB0lflTX7j34LJSf9+SyTW9/PG8AyNU4kl4wd/EUrgZdmqOW5SKUNQam0TpivqSZ1uGqs5VM8gcF05auvulqQUFsO3hN/MKvH8rjnqGUIABVJc6Yqdz0jLj75xFuvDm1vrihq79CZ1ZG0WOXQZ87rd0XW0Ef8Ifs5T6NaQwtsBbXGyq5u0gRi8EBAi0Epg2DB2HcdsDI/yfsmqum+HxxFacaYiY6/MlICV+2DC0sJLIrtcOH26fjW46rCLJR86ByxBkiEpZN8KhnIJrBi8r9Vsx377lYhj5T0yvjGaK3AeplPLdJMOt6n756Q6S9jlzETlvgbccFTaX7YqqArGB5NHJ36E39ywMWjc8SURsxsXQEbi0GciH26toZTCkbRD1yM4V4+4H4YOQHPSlQDBUwmBGAD07AtTJK1BOXc2xmT9cBT7f8QP3f3s/0DbowkxwQbj0jwB87EDDxfUFgvTlrf2hCQei2crCeQsb8f3cPN2wYQMcZGYioNebO3S9hywmy0ESQ7onZ3mp2BWV/hO04HsU6I5mdEZNlCjF253RQgnQE5U6GFBGUF3V4PnSERykFeFIRlUPcTpz3Nvx0Yaa0azcxxhmh0Yxp5A7sttCOe6+3OJFyJ0kyf3j1lfaW0kaZvy9cClZYN9B8QluZuRi9kW6BkbnSu5jNpE7BSfDjcKXCwXJ8V99398TBjv0wK6BuApt2aQTSCu9Cvwb9dLxoSpiN8afAIr2yDhZW0NpYzey2Qf4DN2GbAwg3NmzHLHx3/kwvH9X/uSfPalCsJuZlvplQB/QBcy14yGo1jXjmMGoW5i0mDQdFnKv7Nb+4WHlpf5+GdwPsyWBP4yGgsvRnlSDUdWkNE8ML1J6pzfkdQvwcIOjlI63NjTkQlH80aKaSF6rSId3dLLwkiWb0LGzEMxHToz42M0B1KpekYz6xorGA38+lmi9BZ462fcZDHDOwI9y3O6Uwg08I05RM9qLvqQnNXr8c17FI+ueC868+pO/NGihhjHNj4mC8GsjmXpuMJMfKXKNJG2CXIzehRvznUJf2lm9D3XoApBav8jp1Brdcp6YU3mayH3cfq2RYS3G2I3NF1Xlh6iqfCOnCuyiChtKG/zILbeMogluX7zYHgurF9p5CL0w9JDEs53I742lEprgsa6uCXTkHrQVMJnnbJLHJWRTqQpTowWuUCL51A7z+J6TbP2Mv0k882U8jA6eoW6XQqFmTOB+/B15XXSqjNsmyOUiq9E3A80BhKHxAmdSz1sOT0t0a1uqzQdPtqAAIzx2+8Z9k6IIFnUEnXYaxdvRZkHb7GISd/JnSBUcQf21TGLZ+7FILbfxMlqVibS9bRh8s+2EbxboDWtTX0w3aKWshGV9NL16EMTL4w2KGQy2qvmeEsIxzICOjunqqxlpnBPdbbdUkcqPR8BwxvhFpwvwtXlI73iBNY4E5kDM6iO8fR/K3Ksu+9gsRGRw6kXUVGKY424CkcwZU7IwzcJKTzaS4iO8uFPKRb47HVXKRN/PMoqWRs2mfe+souyy3KdO/4NWQVWkGYdFS1xm3TqWWrr0XWmgcR8/72+DkYFddslfz3HMF3TwswCfbUg28eT6o70/wsHGagHEFrdGU/NQVVwq0+ZhkGp54ByVCTzdft5P6jzu8LwbX3+WZdN2bldGURWeE0rQfmqDTM8chhbzabsZQZFJjw0OnVw+tUGFhLc3awHcBIUYNFQAAGF0k7ylRyFV/3c28PoSI2A3OPPyxcOxdMtgdmja8w9nLIRG5FMiNLywKJZBRAckpEyi74zhJhNt5s136yJaHGCPr3cJyeanTwxsvHHChLNC6NEjMZQQQP602Sj17IXnfZb3tjMcdqkqVSpyUvX0pdcNJlmzlc8YD8MErkJfbGNS5vzLq6jgXsq/TxtM/gU56O9zPHsfb7JvZ9TUfzjs3PrpBR5S9BtvLEYPTV1c68hNJnij6E+R8ov9wgWsyV1tqNnygopp98Kbb1mOhwllE0Hyo16HHAcshgfL+7zmtr6wmuYiwtQCI9jaauLcgZmgqEwmY81GEwc+O2YJ9ZHuLslZskEH7aRNUfPW742ELmtqim3riz6DEHw50B/VNMvOTyjc5VCbfhYEqRZj49mb4PGPnuzGtb9JX7bivmdBtxqRndyutNMZayJGP6kKBWXuK393MLobn+3E/2PHxXsgTMIun8O3AHnZpUAG1kkySqc0fRhK0y+PsM7ssiLqcMtQZBUWtceRE79OV82D8Oz/Gps6dXRxAQCD2oXc5Q0s6+p8a+C+DW+3DY9oWibt9PlRFmDFPF95NWVoF2E+dSFzHl0Dz56mPZBOWsvc9/NLC92iGUuo6n8xrBFmFXEa6Hzdwd2A71eSM/xobqsaG0FnocqMw74D2OVTAZont/9d82xdWzJwyYovlSNHX5tJM3k1eX7UgqkIZxfbk/HBgZUEdTZuUwfaE/bCypRpZesqplxkx58+UOQAwfS+NRBdjjbxIt2kHpfA4YFw+U5DdkzDubw9eqpkfh8MJVL4W41CW6Vw0sCAaP425nB0j37mw/j6Txfczr2oZo89w6djRxxUXgsnqL2qom9HxfUYwlMZjggkckzAjexvl7ul7I5MhgG91HGoD/egGqsgbzudN81d4WppsHLc5OlLqohMqcsQ4s9DiOQ17KJ087S5Unc04u7K0AEUiy6RWOoO+LvdRjr95JVeZ854dxQVgadX/gwJ+hFan8DM8nCWpH1ysGuoMRA4K8Qi16GF+oeGSgvaF0IrbjzVJjG8dIr+mMBzt+E6PmuwbKNgMVtSSng/riUPgn1XkEbVjnjq6PGRoUwhLwQolp0Hr+owOt2eYrozB+fU5ZPi4lnGiBxzdCPilAnFKJW84kI0iqzAtXwe3AhTwL9QaVlqSB5R9hF2MD3ao+s270VgR0H4DS5iiqphUWmhZSaPTmTLPLJU5pW8FRnZXmXaC8tvuu/eQDjGS/vaDioTiou1Mp9PvezQnhGf21/ICMJkSqb7//TAjyOZ4kDIbfNUI882HU1ggEZz+YxI9ztEvtHJsBO7ogMnCY0lOV/igbYkw+2lkUD79FIx2Yl84Oa4LAfyKXeK5u+w8UZZe3Ck7cHuduXjZ4ojJPfuLiheRvPsKjgqJfDaIQJP5+F+XohsxyxBTbXvdMunFDWTkXX2GhQvYxBHXa2WeLd9bFzKozuVjALlciVytkuBH74ARdNpgl2upzR9Fha8S1nKuAPqQVUoWP4lmwqsJ8XXVavAHDTHLjpE53WWU+qlwSfOiXmg11TrUEUv13yZPR/lghuaaQzWLg2oacUfER3H+j18qHLc80Pu2VunhgtQ5r1NosWvwBG5Cc/ipXgeLka7+2J0h82UeVvkSCrWVeNA5/WZDUlkEA/JLszBAp1mBn7vEEaa/i9zePR7/+wrcZrASieRgmtXJLOUBnwOfNqb0aSF1LVZCewyU+eS940/TiyNxhlLfymaVtdJGWF7AiULLpGduG+wd/DDem/PC6vZ+EEg70m7o0G7y5Au+CzYs5p9Bf5dHTvb6EBlwXI8OD0ZJbip6TQjF0kP0HuRhxgZGhIKJV99PDZwakF5OTGeY4YK/YQuYzC+Etpbn4QUihfhRxJeXy9SqcNgyxExieqhHWnDV74vU67fT0VBgZzHup7hGjCqXWWZ0suaTEX9yYSf8tnEvELfCQRhY5OMfPbvbSS/tHsocR1O84uQO9sBzgJ0BlvlaBj5t5lgw9rZG6+BNsJDHMc3mgb9C93I7uc52Q4vfEomo/5NK/e1N41LC5x7HBhde12+GEBP5RxNNz+OPPJ8+KlIgdJDKJrF0Fo7FSF8hNaNm9aX+46uxEO1bTD+MYZifmzS5iQDFw9KmRTUL9JIFyjIiaIRDvVeEkjjFftKshzbmjH1Z2MK9TZgYrmFaddAbLYp6J54n779ijPSLFsGo02Aoz0LSKAPCyG4qfVeBv0myGMf9huJOxtKS0nK5qyN4KXtTmfxYFwsA5iDl9CRZGrq3eia2uwtkF5c5HKNEM9k60Ck3C5wa9LoiuB4czUV507QTqMQ6A4UYumrcRlbTTV+Ky37bJSu/RjwuT/H0wMbz8yTsWOuXdsqFCyoWA713Xvg3Zaiyo/7fjoJiNQUBTY4wHiNgzpjfHXTIw8dJYUj8mV4+G53MXe9wFMb0cZ9M5PS16ftZghUlQukIvdj50Y6Ywf8CL1pGRq5FLQXGuZpuMjGDZS5XRHcf4vk6BtLar8CCsmvYUE30cYZw4MXgtubQoTBgrqRhA2mxfJf7tkog4HudLoCn6E3DEQuQvQGeSKtq6W/8yWiUPN+DwmJkGwCO9eS6VNqSrsc2PAlgGzsRWQWgDItEE/muqYSz4Pjz6MFJOtZ2gEeUb0AjVoSaKcmA8G0ELC67+Vnk/uKAHsc//kPw/vznnYgFwXZGi9w/reB+PwasHZlowMJpbAqLwFhvEIo3q6bW1Q5Gr4QA2vBEJrIE2ooTh1a8B4390KaTuzpD/9CU6k4OBo/DnFKJBXNGuBaa4B+wKNtQh3aeAGceS++9vDqzKgA5GCKKrBzSH6w8Tof6+nsGda71YzPWFL4bsNLVDIuK5osX1Sfl/NQyYQlE20N9MuATvgc4KS9gi79PhsJJaAU5R1KDvZS/lqzu9TVUTEUfxy50l/CSN3NC9JbVCb5g24zvekTlZXvmWYgBn3HyIgzmjbyawL2aeDu/Rim+0KJY8F1Qx9PK9obosBsSsUiYbc3bzkucAkv8a6FpwtPZrjv5AZfSd1vgZe+FZ5qKdACdh4VaXiSGE049GRJQ+mMgXQFmNzwW2OiQDFzfYL+XVzXc+S6dh4IHlpaV0tdOPV0KEkWgao8APcQjyOjYcAzxYPLhA1G38Rp7CtdajZF0hnnbgabNxFy9hNYS7PFDOtKu5r5PiqWW9AyV6r1R4XR3K/A0rNxWg3wYH6YsNLNTdXeFOgvT6W8wQH05TVi7BYwtLf8cMvOo1NrZ65s0Qd6b3sPyszlyxvUJ1pa/lbmKepCz/rlGPfJCDUDIGARM5aWBCD/IAB9Ty+u9h1fdMbwknPmyiEwxLCNIDXKA5SxhHawCzymQGeB5uhqa6MbAE7/KG/E4fG78kqymjJJ1YVUBNwmBy3qTVxTakLxBPTZmjdjQYRQM7uGNrKbMzzb45fkuJJM8HguKwE5+xZtqZ911588QFGn5ZrwcFoHeW4Yxu4FSAQrmDcfSM63UWDZo7R1F5glQhZqOPBo/ZjO1aZmtkEA900EzMF1bX2lS2tLekfvmWCJAfR53Y8GWTxEyPrSnBNEh1M5k1vGFBWdwOf+/2F8C5ToSEQUjjAGdQH66kF+w+Dh4hWJM0PREEzoGb0wMnDEc2LQGpvnZbMvg/XqdFlgdEhPvxLPaTU83SvD4QdMhdmAvOQcrGj1CJdkTCYFDFcHEXa93PvGS92jns7pb6o8RNZ1h+S8irK01wpKK7tASPOeK/dNE2d7I7Rx6faRkS26JqpT8qrqQLhyJFDocFqaNlE39MFkLJpc3FAaxrlEV1Juk8DkJuTZXQoPgUad6UfH1QFwkT6+V4333fN3WhsJdGpbf6hOy/LznAx3BeBz80WeycMDEFYt61da0ngtY4Z6o5X16euLPeaegYHHoAP55mCkv+OagokwjBZFKtjIx/4ZGrxHsGxdAKRFPWkfRdMfom4YX5b4N6YMkLoLxrkEIXgJDHMVKBjvnuGfuBFjM3jP0rNbL8sCArrcqK8hdAcCz9qLB+5NKFO+FjXoVle5K3Ex5R4bN7IwOXzFxTxvDLO0sCSS4Nr5VOpNh1OcCj6HQofIbTUgP/67+rIxHljQHRXgYeZM3sjkDwZUsHafKXoG2ncOxw+hEWCywjN2ezCovdTkQsHQlfNYz54JOR+Xbg9b3LAS7YXs5/OSSL/AJAGScsqmAlUUOuwMpae4yKJ3dlopiOXaR/fg/oR0hunj0b9scXQgo2YzFRDUPvc4H7Wf85yBItVQi0DH+KxHZEZ0Vb8yMRwrpPLdHXoyGRAdjlKUW34qOKjfd/Tkxakja43Fy5ebq38h0Q3Lqa4yb6wSyfF/cRQUkNzuWLE5CPadZG8nfXB6ZRw5vw9knL6+8434Z2Y2hSxOKLXz+qsZhT1IieYp4DFtWY2z8RKcOspB6gA/Hr1Pho2vNzVIH/DMA3SWigmU4YLfcT/NqY9sWvtyFIiI0Y9+aF7fF8+X9FTv6ksdhoTNg2ZG6TREtghRfhmT5vdQE4pyYe/oCHgdeUUg8ViKnG8Y/Ly9m7oGwkjIJTJ2X5KKdmZHw86VxDsGpyhaUXcwgcA+TgXDLWJMUk0SZY+5+sHVyQ0rV449cMSTvbB6CiC3FqQCLZXVrM5k7emun9Voy0WRQiNGffQ84hBjhI94H29IFQKtMoaNmz+iUN+TQ4luKs8WAa3oTG+et3JtzvCefrBZLz03pSoLWcrcjPLX73Qts84TDvXc8x7kH6PHkRcsEEGw9gXQ5i5CSA+vmirE/wIs5kAqkt5mayg4eTXlz3kY5OToRx8Nr1m5MrKc8uQM7+h+iBYX2oe3BwLBvXxG4DOWLhcgF0bA0bKuUhnFkE2Jd6i0eQllsF9DKqEMKY0ZGcaagAVgjKZzdH+MwdQDswtpRebPrKW8FNPZo/ZyZyLe2srE1x4xZ52ZvG2ob/pdpdNBH7EwloivzXNJ0YihXljodwy6oRScSodPOiZU9zehAHf16M7xCiHLfrSEq4AcLokVjLze3JnoPDEyYtT4ynweh5SP8RtOaakQHhJidHEr4AuPuz9kV4ToZ9NAomYgHblY4NiJggC+ApOKsm5Hj6Kmj7mMvNDQsZfiy6csH5sH5Hu5bfhI1nLXPTZcUpL1D1BIkCRKrVgqZjgdLPg4xhaW0Y9/1F4jIwnO7bGfUox4zzM7zOS1FznBYJ3mV69201fc7QD0g8JU4LZ2vPZahPCpULC4ZEObuYV8vGn6puN5oNzxJC+MUpX+8fhx5yR7UT1f4BaXDQwcpYuK3rNQfb7Hag3Ob11/4kU9mzVsLizkxZ6U2RWaqnPcJ2AG6qBxUo503G6SGx51tsS01ZNmjHVGd9dWqJUboVDIpjDiUy1v9PXhes8qnp/v8/1H9/e+5HwJvZ1ZVvcFAy1WkOg5jkaIKG0l/QGZ31UDAzr+odo0EL5CZvjfAAVhw++HkJfqRiahDUoFHVnL6LRRXJ/J05B6U9NgOUsn1cHseGYj4oXVFk2Yg6pX2/MP/2eI3Azy4B4LWo5+JfoFkPvUgNoSqKbMDz4+obR/Rxgi4UpiKohzRswK/8kmGAkyeJuh1CC57S+g/6MKOVIw/mvPUC7PI3984tGh2z726dWAsdwBwcZn01njN5VOb29ndMgjSrb7kfJwpTPpr404uJHlaMTArsYMOtnvuRspPDF1sz8n0KRlnk1B9nsFAOIIhxkDDQKrEknjV1fX5yXI90gomeZsVR47P/zyz38eHp1o5+5z3M8k8ZA7AXjnNBYs+qGdbfbJpfm/E1kKeWsQ2BrU9XqJ+/mmM9c9+l2SkzXSmVImz35U378/gaKajrG1lXpLawSD07fW+Y9jf+ZfdraVcn7XT+wcs1kUqT2pjOJWNaECwiRRQ40fSNeVd+GxNnaiwCN4XdKPVtzSu2bNGmNnX7gUHUhP6hYzE63Va9GB9yLkwWOWpi+AIOkXLdN4HrjcbwF3nYLEkSAVVRdGknG+oyy/k+yPPGgLb793Pjx8NMJATQMzC92QCC9R1oStxgKGTiYTpNrGow/v2nCQPMCj1/Zer/sGUkviXPrgb5qbg//dZ9/r+x+237UGgw6gRG7EUPQg798JFI401JNuQxot8dapUwWy7F2Pp/GPSOQ/V+31xDqjnRQaY/Bg+m1IspehfvBvqKEUMpnMEtL+Ta6PYPUx9JNJRgd59Gi01LOF3IsP4toffXmvTXAkzNuamrKE+8PvLCZsegE8J9vTGnOI54xer2x1zPKepj1tRlQl9sZd80pdo3UJGnI1Mry+D126YXT83hfPN1sxS5KNZB1QDjCo5gUsZ8iWaU8lUtlW5ABJSDi28RaPnCXtAkgcz6UVAAtYMeonyP/hsaKYKKBU/bwB4g8b38HodLdsq+ja1hcMZXghzsIgz8yvzssy5v1R1frRsmXLtiONwf9Xe6z82GB7lnd42lnMKEhp65mEmoRVtLaoyZmAnv0IE++gGY9/h3KdvlmMwwGWLstmgZ4OecQRvL4MwM7QIytWaJsHw09ChgUE4MzHZYFy9qfjeyVRrkJZqwxliofKq4oGL/0fwnCIUYPs/NO1vnqr10TTssEKyGF/GxC3ANonP2WXrRdgOI8RQ2dn3OUwpv+eSFOvzbv2i09j0Ihxf9dGJqcLxDQ7GkqjuMZcuI7v4y2I0f0owhE5IqQiFJNBg20mhtAj97fxO/rFlvV9d82ZM3yJuzjbjIm8NhJxC3JhlUmz16U4Kz7rxEAQUUuI8vvARq91s5xoAArWhE6iKTSv/yxh004trygnE50cH+Ljtk+rqjL5G7988hdoDDkGA9e/N5T+KdI/3+V4fhEEDi9CgS6LHCz4U6xNCmX8Zt2jD5/O1wdKy6OGdi0nO+QJI5k/gFyy/4rlnwfFnfVtdEleQu4PKAfb4R6raJiAGhJbgPbZPNWibwJtWuEXF1z+ZZwDgRm96zrJwtzSFfVILm6IDhnGf1y+nPCBQDX5nSgI3/vIbQ1Y+I+MKLzJqJNAklIfDOt/JoaXXAjb1TXCTMx7NavrdwgyU9KTHOmSbXkKamx2j6mUo8NtnkAz9YppPh4UC3LfyQ0Ax+kgNlOocOyU6bGTZqp3jef7NVArls0aM5pyBj1aLtrr5LgHjg1Gj5f6BMnS+cUjMWsCyKaeIefQRJyJdwwv1Y5US0pVBfAfuiMaJ8RSoUHSCPZ+ne8/st/3xfgy2RFXVhSfBz9VH7CUHk5mP4eK/N4IMJa4e2fdQHgvNUhT9sBdfR54T1TprRI8vhUwbEUivEqUjSoBNYGCMArZwEChCzVGW1K/bFKdjMR3AJNagdxyGej0wi/PmmVc09lp7zCUTwP0f9hmdxyORGKdJnQzA7Oqc4ZLMwzWhhYBQNfAJEMLpN2WpDYIvhVa2Zug9tqO6vtCVqev0cuGO2kqf3jDMd8JuiHzQzSP3IFuugkokJVYLHUKRYz/9DKeLbVnDC/J51Zfdpkjlcm4HLwD3QNomGdBhe6TR5DLHptMV9fX5yZ4A+K7lzsiz2qWcTVPMxdhtZkMr+6KeUNDXZ2ZjJEWvDDu1IV4mAqkInkjbjCi/rPH7+WBAVuBNzCbocQZVwTjr6xtfv0UCSuJkXkB3pDHVjAF7b+QjKdAPmK10BJ/7HoYyLNuAnb6w+XLuY7+cABve8XaxkozqNcBnIUshAZlEabLLkuFWBTCK2t9Cei5PSFwaHxh0m3xJLjrZL649UjLUaqpKWf4sQAKea78pajezbforPMrc5p+gjTQ4YWVlW/Jdn8MRnkZD0YxIIjRRqEfRDPE34by/TnKykPdMa8iUdOQvi6BoT4mWvwMXHQoarOBaJ69EDC8BJOtNmUAAEAASURBVBa8n8iGuSElMumAwUlDul4DfuTFGd26BVSCS1iDWgCvfc17Veb3dAYLGRd3BXIcBwt97tq4lSCY6W247g/Eo8Nx3pcNt5s6EErGWHCogkC5nHXjF2c2suBvPRX6o00Sa/AIXWNyosOCHheeMQoQMgot5FBusnbzPP/k8rzTBVjyVZPiIdadnuoucvUdP7SvhSo9fX9H9/tBve59+dHsxbfe+0aKMmd7nFIRBDbr04a1KKIam3Hda95r4TQ1fg4qHxMxHKYNbdOy6HkK59v/QZ3z/+Q459340ggPt37hvuswo8tQ82lVRbOHo600z5u9mXAAOl/vnBYxEJt6YyHRYh7JysbaPLc7NdzZiVy6w2upXCHwmrXAuE4wLLYWkLIysFcV4AG0W9AhQ+V2BoJONI1B2c001icz6vDKAod5CE1LhqXstLNMTTadLiYtvaaNO9F0JszOZoJbJNb7dRjFSCbFTpWkfBae4+Yih+O53qT8TKWDrdBF/iFY+ttoU+zYcWr4pUwdxxvo/sjy+necpjtA0UkDjRQDC6aU5wo7JL+8sLIxr/iSJZWqQs0SaOc0UFMWI5GLW6/3Zftib27OsBvQSIHQ+Gzjuaza29Pcl3gcT8pEpFsKoXZxE62J+wc40QdozQ2g/BNU3ZhjZawr0YDxx1FY2Ogo+jl7cVY1f4D20Bm0RtdKMy75y6vHQuG3+4NONsVM1xjjNhQhJsGYDdCG/ltvkXfg3AWQ7OtwNCrzKXPqU71ByWdS04G6mMSx+howAG0SJSYdiaUAwvfmjOvS2sKjMG4ni4sbixxCao+hGu0QMh0zXi57aQFrGV6Y+5N4ghcLdsl+ec3M76nt+/ZTU10taFttVQEh6TsyZJRcVJ+98Azsr7U37tMldhEgcwH8uRh6yScBfcsONjcbfNU0P2RwREjJvGaXvU/Oy6NyCxjGjV5DUe1US8sm01uCB5O5XqOtSWXuWQRs966NddlmAnt9nUtkG9K6BpAI8yLy+BS8uo/0RgxQt6Jsi6dNpHC0rnQSxtf5ziWt//OvTy764le+wermDZgPF2AB84EJzIwq1hCkLg6qKv/8X15/sm3BnXeeZcsQDcpGwrTZ/xeZ30i6rXkwug4Sq684RfoUyANO2Szm8YyNaXn15EnhjaEhDkQs+Rsefji3gJOrhgagDlZaB5B2XtPQgxzAn++Mxofj3Xk3vmsaGpAwMJyWztoR8l9JpBSgnxbNpplTo0gDkvckqzG5y8hV/c6lKEaZuzSn3NBQWYmsA4W2UWoIuePDw3iI2PQQx3qkAlI0AnykVmOYOuA8iSDgDMCGSsF4f1D2enNdUB2MWcprTDiuszGW0ZcAG7yC16XvY7i78L9FQg94uy0A2V/FCMgfGrpY4i3/sth/fPtyQLBWU9TRS3sSv0RG8ccCTX+NtstuyTRQRWbL8yzhnmcLhCMrKZ9FFfpyjG2Oi5cGFlVNreMkbinE+z4GqFZ5rlQEglygDZCHM5H2sK40ReWHLx7PPjmazx13+61Mhn5FFdQbgGH04+InO1j23+GU5KG5LIOJ8wa832kQWruAsudCrBTJfy749B3ehGQ3pnuo0Im0OQBPcjYY1T7vkOSZuAHD4PYt0QVqAuRCWSA+enhT/X1wqGNtU+m7cZqEL+KGkkuEJEBYXJb9FBa9V0A5M5E3tLkBW+Havf17tXO8SGsg4WcDyXC9X3ZsG6p0nSJjO3pNairqFD32rWY6+zeFF5fbTPqTgkiv5uun/xhwh5KEag1mDu/bfDXmwOh3yEK8L5xcwpvIALPMBMvQ94OwslXO9Gwjc+X1nkicpHZBJtTiHeednVlIjOZwWDHzykbwGd2k+cGk2oo/nQbHkfm2aNEiUrC0HIq5K80w5TrHhi1TjQwPp3afywE9ek4ftdd0WrRbRjwD5V9PgLXqsaigUHvaoycGbO323kFZYB8M+FxONFx4DI7RevvQ4VYYTOO5UNUln5x4a+QWEqHlUjYjkWG7ze5kDbDwBZqbaaqp6X9vSGBd9aTR5WLMb8SH+7p7OJ9Y5XRcY9rcmou2mXFFveOyz3zpOzjB3KJsiIwD8R2uxTiBgr4kh4NBFOz/987/PY583o3v9ddfb64/Gn9E5YY0u83nxoJTm6HZvtYhZ+fcUspECCmKtTPLdncGk3MqA8NHmpsz1UAAjD25OEkYXvIjaY0lzwucmwKSqzmFydRFtbZuD9hsjGQLQJlW/xxgJ9+Ed3vCTPdqlA/ER7p2EZyhSbQBGm7dzPC8sNviU7ghHot45VtW3Fvq5AJujdGXQr4syvHUdITl97AF5QMwvO0rEW09pAytm2L5J9ocws3AD3+VZTlQ0up/Dse1zMp8u0mKfDVlZb7AnMVVnGFeBkLZT6DqUwQ6O4DXjR3Ax/YgrocKgDULnlUDx5ol6LG7m5eUnbiGg6MPxOj9uAoe8cah8DPgFJ4ORY58GFHI7liPoU/98WhkoJXxFC/A37R01CQYZGrhPf9aLGvmJ0VFi+zu73/O7yl7AnnsGXCzi6E+3AivcQKKLgom3yAWgFbFVNceTVgv3TVrVu77o8clr8QwXV1/UQ3t5idzhpovsSiQMsayQpPfChhs/8tFVHZl0aycxzv+e6sWVSkg/Wlueepl49xC4CJ4xluPH191UX19Cp1VJ0BDoSI3fDsaDR9E9wjIJ61fO5uatpAinNOC0+Kiwise2ZOgDaM+pTAbKUHnMW8WyaJ55O3BmFmLA9u19FDcEpOgFQ30dsemhHUtMSIxGRn69naodFoTZlVh4iyASka7ZSibRzlAiFF/89TI7OfaBjswkYJr9GhyouSNQaJ+IjTGI/5i5yH8Po0JN34Kjr/Uj8x7k46yFs13yJIJrVTG7m4ZktY7BO4yaPGRcdjcE5lLZ83ga1V20qyTK6otyCfX7c5BPm22wP+hU9lj60LSf8BRUrLe/CSTiqdpLSNKVNMHOg6nWfeC6mhx/dD20EDdJP/mlIWmWHep16VZNSBaX8FZ/F+Tmr4ZETGdgWDU6EmKGhdOUUoepTG9O4537b+rqeFDle8l53le0A7EE7t6xZfL4OdDlcGATBctmKwpyhIHx9KYmM7S+2ylrv2zEF4eHMmUwDO80tKMIXeBc72LooTOgVhdWot1+CDtpYKZtMLjsQZaIZxaUcpngkEw2nEZL7iXKGTXn/jl6gR52Mlk2tCbnCaw+qMSy3wtHnBu37h6tTnt9i/NAMmNCdb7QYPNRgcPHTLvgfYXKUqV+ovQCcd/AcKdYBjjn9NoNYzGhnvhLd0E4Z3fjujUr68qco6gOk/XzZnjVO3eT8qMMEE1tC6RYp+dnG8fRveN0yGZMyhWWAwZoKsQztfD2NlxQms4zXw6rIh7p9TKIwcGBiA8ZZsPP+5n4ACejHAYFXnzrhEq/QQhGSdXM357/WioyO7hn0bTyHwalUcAxb+q867HmwJUshkFMFhJOB6nPcUNPSPXyBz3a5OmhlnVuDnkZgc8KfoerFkQ/aSzILqJ6Iw1iCRva4hK7wfJ/BDgN++C23x1e698WYHUiOu+OE9inPAqdZssPjaSSi8yMsprLZBjwkOaM7xkwZH5UuGzZ7rhxp/7+PfkvpAVc/zvmqPRSrvCvQEUsqzo2kPg2n34tYceSl79L1+9D+Q2ZZau7ZU45qROMWUZnZ6Dn4+6BemUzlIXmWrsQYKAaB6OfiKZtn5DetQhL9+FIRpA5APCdzMCr1/KKOalCEcbU4rxO0o3/uQLOKPh/sGsrdgj6QnrMaSnfpQo862flc2WhKLKZ0QbdxDY7EmQczqFQu72sOhQmzzUWTDI8dfwUXi/E51hXh//aYyQTbIzWyNDGVZwCPLggR1bNm7caF72hfue4lkrmU0aqxfW+Hpxk3L3iTy/l6346nw4Dk+jSWFjyIyvIHP0rV3H/Fpx4U0oXGn9x/f+kTxH79c4kHlDGPwm+P2g9Xb4RN42Pa0rPZeUeo/gmLk5+GZ3+N8gigruYapHQ6ssnvtTuIRXQ9vXvx6prhYRnY09V+AI+ThoT5dhzrXFrexvCQPe+3Xu/+h+z4vne+XKlQ4jGP0alh1gVqEKxlB2pBuqDI0GxIwqFwR2BTlBMsAHRhIeQzNtcIBQxKfM/qGkJFFWeYHHw0FXyifpUnokpYhWvlt0mGkGVfOMTWZSgsHzoXSYv/Kme9BtTOXgapgcPZnS4p+HMpkTVwecRhN0z9aupQ60Ls+zVp65YVRpKVQfWgUflCiQOrgLZ3EtQvj1aInrbir0jOwZjv0KVfOJUOO4HTHbyR29sXaTM1IAshwDjfkTR2K9LDWvlOjM5YxXnk8oU7LG/eCMLUM/JiSPTDsRW0b6rCXh8DQvLaNi5FpLIX8Er7LZrJu+HmoRtZjmdhynyMsVjdFdks+Nbksm5Q3u6I8/Cy+MwHv8gP5cr8SDr1OBQHsTyVefCfnIg7L0i/fZ4FkjEGMma4K11N6nPhLJdP8sv7BQ7lftRgGXVFIpsI7X1iKsB8FTcfHoYc56bWA0l8LYriqQraBm0rMwLie6BrRM/ZS8NR2trfSM46KdOlMxD3iq671IYgP+1t6r2oXWJ36ZC+9mfOZLdtfA4YxSNTnAux3Cml2nwNEB7vlxnmQez7sI0ZJlcI9ZMeO3c7HPC480sJ9kOQgNY7kAV4ZmsVejWaado6wdDie7aShjFLsp85AtkdDpezaxzT+//LM8Z7mBVY6hIaMcXSTVsPEL0VjCIcLhBRB3wuTrokAvBGdFrZFRQx6/tzcZN51wihoZeMq4h1ZbUOEh2GkYKcsOoVYX+vmmsQJXJmWjhzFWmzFAY7nrswbrI/BDQR7DxEy2kNezTj3OLrFkBqka8xSZO6sWLbIuX/Fl3Bf2RtlO928LKn+mAmI7Lsta/Nkv1SJ6/DbWtULV1MrMOM8SIjurbiLplQMZC901RV76vo7LmiNH+BpvyRQcGlBQrR63YYLE0pubkQZsOvMsg355C1rIPw5Guj/JrNnSE+4d8PPleUVz57qWl5dHxt8iuyDqUNo+gUasYbRTYzp++LbzYnxTJ3qdTo9nEgxqBpx2f7NQw84w7CdYWl1r0OxFTCx2dFa+XSd8rBDQmoBWQVXnjDZk5LSIoCnDnHPYUtOmzSaHpXTc1Fi3lYUAGqVxCfR1C3w2w+hOyGOqdiYph3gMI55vyrrsgonhPRT17GLKNQaSH+1LJ0MN2wfByxnlZXllRZZkHbVS1GbcEUDEmAIWpGsU5bRmQ/V273CMyKrDg+a/g7zyoGlwrw2729ANVxtvAIfz+C0UpoZdkrkeiUUw7lkLUSz+GCauDXnqa73ZxHOrKWdi1PATT3VjX2QEEA7UN2iQ7Su9sg5D+t4b6OXTL0Gu+yYU2dws+ukdNrZpO9jh54GgjHwFHXfuhbfeVQWUACGesROIK4h+Lnba6aeaGmYB1jiKqPC89xHO+e0b3XtCH3cueMztlC8FwmMjo6sv3TTFR+BqFuSEpiZSiYm/aQ2+ejDTrSxyFt/I0fIbQ7qD83LmhBu+uvLtYz29HlGmK+NFDcMOlpmrxbN2wS3uXYPwHocae1jDQ6rF2/hHlGzoyab6ypzRttYsJ9jf5102+R6w2YGPx/obFuUZNo4afHrv3uhVE2cX0PnOzXUBl7oK8wYpHZtg0C0pRX/ViTACXrIvoxkF4PTw4t65IWfiAGrEBgOSJ1CoA4AANqPREkiXCIv9sF2AzivUO48NUiYMrhfkLDDWhiKD6Qf8/pNBgdqG4II+s8adM1IfjR87o9FsnhOMgJyQT5lav0NgnnnLYYvA8yH1FWr7QPQUkj7gXaFvN5RsydtdiV87PI4II3HfhIOAiikdRSTn81M6KdUluOAAr9kEOxmvE06Mzfs4DNVg4DPz6GWyRiGgofdBaO6oaBOS8eOhfDgAZG6jjqi2gtv7r0j1bfN4AlkIMOSjeeqLkaxrG/7+wvjTA9kJyj1gXWHYmqKkBLfhvWGa47/zQb8/L8aX6W8bMl0zH0AX2PVZJVuFfGNYQo+9ocmbU2psm9lTPEDVUJbqmwQODyi0cXwmBR59crE+rze+obl5J3S0CI6QWr3zEL0QrydOOGkiNVzc0UGvhEVdt24dPWnpUnoxVUK+l1vJiJHA+zHDi/djG/EQr7jzvpnA895pKVo5Y4if33Zgw7NzZszDc8l9E9pfeavhoa3EqprJKm3IkYygyu7AurEPwoKvJGtrU2M7G/dmKfKzyFs/APfWTHZGt8oSW4+JizwrNTVDGQQm1gOeitx31w0mA06KQeKaQf7XOCiK0vZ5he9AecbtNvd24+OPdC/+wlefBx9DPcMgSW1ZN2u98Y0HHGZweMQqdTiZi1lJ+hRyu1MNhu4HXOiQRQkvRYwwgoi8c3f33/58prmgB5HBU8CA8oTAmgwoiVBe7xy5QqH4i/NYLXhLRcWeoThVkdINNwjviy3Zdm3/cKTVkOUbAP7TLJkK40sqyIA4S1AO4T6OGV5yEpdUe48AfnaCFDvHn9TcEl/fkXBsFxbYG3k18cKww/G2YbMFp5ZN8hXIjv4KdBNiDCycH4OGnUMYl73x9OArptCgJYO9TFGJKbGy3YbuPD+aB/JhZwsN9v/j7k3A46iutOHal95brda+WZItW/KKN2zAyOwOhBAmJhBCSCYMkAUIWZnMNx/4z8wkYbIvJHFCQkIICSRhMzYYg2W84UXYlm3Z1r60tpbUe3ftVf97W5axwZnnS2IITD2WW+qurrpVde+5557znvelKzT4+gYMs2OztTAmTeglI4oCVKgTdA4mHNCa8q95gHJN21SX7bjAx5YBz6TtwPCe0e7T2/pe+P0hqDr/xxXv96Jy5yUQ03gN03B9OJk06IAf9xGwIJ7tzmnWHoRg9iAieJnMCeusnB4D1vp6DKJ+hHA2oNgl5HWRPkDRGzvJQ7UDcIOI8XtbN6JQsWco9SKIfhiD5dMCbV1v5HQr5GN7UEr/LKnobK4Jj70MFVQgRD8+npiIU4zYBMn4Zpq3x0ifJX2FNJL8fiiRySH8Bn07e7hb1o15b2vr/7aDnxPjSzy8Fora7B/I9Dku+hOIbX4M5aRbYGAv8rO+lgXNUzGbmrBLzjK2SIEY12/5RRg/RCXwGb4P1QdvuxXVAFnKG+VTHghYz8m2Zs2a/Cv5L29YP3lvALhbaUv3kSi+c4Y3eQBGb+0nP4nArv1RzJcrUcjDapp2/urFi7clstQBxo3ACEvXL4NBoGAQaFlqQDtGVM38s8dNP7W8pIDE/vIP8tRJ3/jFqZ8uqKgJtG2PJJ6mBaYanAh+QJFv8BryRrSv5323frrIJwkfRZHIRYiDI3bB/SDmpHopyvOW5NX0oUkse3ff5DOaKNwiUjbhZViGsMY/ZRQqh4olqM/Sc1kLmpAMtdWxjI0QhHulJhsdI+Xc08cgyIWzVWyRexZeu9b1maamLPXAA/TGm2/m+VBI4sZVXjVDSnmVWPjDTZvMebJsIfZGo2AB7AvmNp3lSL3vcVSO9SmSJAIBsQt0GdBI4xQlpwUB2j+omyoolF2ATpsLcmm8YCOY5zLwLMd9hkXih282vCfb64yP6i8GCp3VjOhtOPhwy4lFH2jyFrsCV/RMjiU2jqdfIs9nVAB4zxJ+C33sfiRgpmJ39fkVCWSWqMQDMA5YRdG1rRSDFQuTGZeYikpKTjpyHYhVfiFxzmgu5s73EZGS/OC/WIUMIO/iGNEwMrG5Hs9O2ov05FSid/pWvudeyXM/kMgdQdVk0sWDHl10F3RlMxXE6cXFWPFkbo8sCvcOtw92V82u3C2Jzk9AhxoGpwhU5K31J6LUI/OKXb6ueA/CeoXO4QEdGK0CNalkqKAega2oOKujc65uVJJTDvsZz11u0wJ8FJovPL3HZdiZyVL4sFMb8C4OtJTpe2mK2wVEcwdWOr+FqsD8jZ2TxFvPF3DtjUaLs6i3txgK4A6qu7Z/QEP47lw185wdhzlXR2rG0ubZKs/xuEZ9g2PZn4Ndaq4ocHdNUKBxPLlNWslsImMdw8Kik5D3Nj755NRARUx2RoFwkVVUtYJw507vf7bXg1D/vfyOLy0GjO1WiRc/f/3SpXNIeIHsC49U3DE0MQuY19syLn+DbLNPADnwHWBWoxzFPKBQrjsEr8mDOQZCmVyjL1BPliMUEzfaGJW5jyoLPD7P7yexo79keMnup2/gibF+jzBGF3BMFgifl6Ak+orL77h3sSmKn4bxvAeTsQ8JyNd0TTFFW5718hAVIobw9IOc/vvmvsNdSHycQKsM9DTAkekv4iZ9FQTkFQgxtAAkf7/D8/eMJkO/u7ysYHDa8G5oHXFt7h+b8emL3l/5k/29DQ+hwIJ4ACTeTbgsGm785xKJDl7+zPGB0q23fnZWwF/WKOes8zSB/1BF2Dtbi9sfq58/P2xDYZljisJxzahzDDppW3b5SNxeCeRGBxJhFYYdm6Bpbj+KTSqhA/wbPacPcwofMVzifsPUfl1YJOoDKJQoXbm6jg7wS4OGOAPX9xevl3g0CPP8WI9rL8Vie40c75tHYv8ur1uu1vX8c1gAykqKNe4VaU/1ujcdixjM+8kEHokI6bIR/97HHjPWQs4K6iSxqypDrYZjP2cYzMFktic/6QEDg0gFMwT0BaMrejXv6CYQKNMIm9MfxXvyd4+uc36f0Iw+X+FklZSHFntwIflr70tE4ppostUzyqsktwBlbFpAWX8ShU4jiL37Z4WcCoVSrqrylC7EPWFbbUQPabvbtNkgF6ThD7+925UlJTmk6A/TevZPCmP/ZnmRv+XZzrZ9O38wlV8gZ+cdda9m2Js5OnsXaybvFyj9JXTz2bKHOYUjg8zUHJGhGkSBzcK9q6XA6vb2tvxvO/o5JVNvRh+u9YnKgeGBNkl0dzm2OYYC0u1Qr81jcAk58gy/PLl+z+6Rj8ybmYR6br5TiOEwZ+TUuShKXY4qtvITvanOmrA77wGffll7RjONJid+FomXy7A6qUDseLWh2O4M697z2EPf1aoaF32AY4QHAGm6EUYDcUJ7F2VkWmyLGQbt4jVYmECZmL8IxInFoF6UUa2xsRhVApUhV+bnfmHio6eFMNrimblDiVRlNmubP/y2oMITzxuCOOKuDz64x2pursm3/eGAK1YdV0Ahyq4EvtnHcdwcEMpegRDMQnitMhwyCVR34Pzlr0Rnv1K3MnPrl1zEjWvJ2C++5c5NH5dcJ2F4qyuZsQxJpw/jGsrAXzAMVv49MHaPGRn9JyOZzKOF8eKDdAHvFAmJopu//O9VvePDSUJy3qWrIYEXP2eA8UZj2A+EbXbsn27/HBsKhpZUSb5FfsEl5wzrjkK/tEtz6DW4P1Uo9uuweLtU0+2VuKejAsWdUJJZQIVdHg9Pl4XcnifgtfcCB4jVHd0hi0xEoIwRysy1eUZ6hx/vOjy4cv7MUUYwQY3rhASbA9+qMDPGWHN5SgD0i5I5nu4t90j/I4pgvVeI3RiQFKqmBvkyeTXCB27F1Dctq6vOJy8HktpigWHvR/q1qK5vcs+MYl/6gdM6BkFilHqK13IUf0Nw1oydDYWF033HGRpLtCXc0r5/ml2X94qGLJRFm+klIiNg7sCEyQg7L3Px+Tj0aYd8z/46YWoq6NpqEAoLgawq3lTkbcfF5Psq1uOSbco/kd38DUgQ3wCjC3Jy52v49CmsIC6C6tlN8CRvwrI/JU8O7/jgjBnax2+/e9gtMMf2PvazSaxw/1+dkr/6/pGV0hf+66eeA2PdJxD3SLldvtmHWl4aWbD4wpIZC5dc0j2YjhCb8MjQQHKOFN696uEfjnx84UV1usMuREJ1yJXMvlZe6MvnRoailiq52QJoKzZCDQZ1O+rOQpdruk/81W17u75wTo0vaSTx6m67/npzw/Ejo7VaqGPz7ECq+UxP0iGy1NMP8uWhoZDLohcqmnkUZf6QiXFu9bnYnWG3eEb2EmwZvlgmex88rpnATD+BG7sJdBCjUI5vV13m8cj+/easZRc0IgvuQW5ThEc0Hx2pAuTSKtJzw0i6XAob8mcsihEypQoAcXotOpF8tT489cBObyPpCAXVsz6P4rJrNcacO3upVTKcyciJhCFPcOKH6paHIuWynB+w5Hu96VwUgQxAxOgKuHghJNfGUMYMhWN2B9rRC2MCEV2rBGunChjgJjCazQZSpqhonmbsi8Yz7pCXf23TJoKQcGUc6V9ZhpuFa9iFtj4Gmrzfabz6omNyk1631yMW6ZVaLr0YOJtyRzVmQuq4i1yDMdyvj3PypSCt5RG3ruU8wk6BYusQw2vGhBawVe0QJwgzaEo6AaHLgGYbBagtfQEUlt1g034/+DVeS+x++cihi5aPr2RQAGwagycYgKe72/toieo6MrtmxL/5+VF/fb1/aXU1G88y4txZM6uKeaGWM6hK6NQ10kiVMm45i/KiSQCeh1lD7Rra9crA9CSL7nHWrflk//j1wYPUjPLyCiunjR8cVo+uqJxKpHan1MsklrsGxqKWdYupm3LJA9OKC7vGxooCcvG1uMa7kKgJwbj8YWaBnA/D7JyY8K6qLE7MwQQ7feL+xOQMiRHLTMn5PXDihmjR1k+9Ymy6DdP7vVdfowrlE22rTrOpEHIv2YhLaC87aXx//p3vWDOXrPwgqk9Xk/CoZnM/5hOpR44mBtsq/CV9wEgXggFwLhRV0oroPPO7b33LqAl5c2B2ym59Gw0vIVIqnLtooS8gV9V5XNxTJSXjMzPxAqG4ZgWCtktYnpmPYFFbmSwnARmzqnx85pXaBSuBkvk0WAsvErBUzHCCt2M8coyoVpQHhGwUNTlg9i9H4i44ylI7auWpPvFueq7nJOY7fUFkmbtvNN34SkckDswdCdLH3xzo3t4/UfqBu748AyGCVhI7LeZd5airukeQWMiBmyEscSpMTgeMagrRMH3sjkhqjigK79Ms4zeZjLLlwip/EoPrxHhiSCfxxCvuv59C5doW3u/fy2fo81iJBQqBugjhwmpEj3Zj6R9A5dReeEdPZ+jkHL/oO1CojMGAVkyf4oxXhJwIJuwykDJ3ANGwFOT4cY1zYvCYL2B0euJITNk+0bZnBJOI2YzE0SvDqafgbSxEswtgXKEvab3MJaxORdADlCswWzOMC8HqTjziJcDyzsdyaIbMO4sE0b0HkznrX3TBzn4nu0e2nU6UJrfRVG6HKtDtRWAlt1N0A8M7JSCiKQBIA0rxWMob9AlGpJIBwWWShhMcb19fbEgzzHpBZmN8TlsCNeAEpNwNzjKH3G4eFV3Ws6KeEUc1/aiLF4Z0KWfIkuxFFV1HNuV0gBOCxPQckqB5AMvR/HIekDkyoV7/iU/4I4su4ty0UHR0IB4UCv1sQLfL1JyTQWgnCeWOBG2xB+mJSGz4QH22traV2bDhrQUYp99k0l+mkyTkfRK7b+se2xULifrnayvVe2EgyAa+Bj9qbfYB5KBgnH1cN+gOlFpvFoLsHIGTP8CxDpA19GzVch4N4JqQxs0nXQ6OJOeAzMdMZ7LDGdFMkdizR5KgwMSgYFqpJ3JQOYbdh+t8z2+9CbV6PJYRfaI2yYbDO+yECsgkM7j4tOQnySm8OpLs44GcBwLnD+A4eWRpeUV8BVXh4BkfuPaee6LpjOOC+GuhEkcWo3TqtuApTD2It+kuKcFKnyzwDam0MiBLrpl4Hj2ttmsOy9qVaGgvorfHTdXxrPvBSQrJdeto6ra7bwEWHg47otWW1Y1xd4XMBV9DE4/jx0nycjJo5l7VdK5CHe4xqJO5o7fpEv6mw54z40sy+y8PROeYjFkret0G6q2fvuJk1v/0lnlBFMfZ5vV9PfFIPXgNJMHDqra+DJy4DHCzMfA3PA5G5NE3jUtKEimU3lrQZOMrJM6oeX08lRYsIVjsLgq9Ppz0W7xFCe7AicBIoD3aSG2QU6mjEIHfD2N7JSR6PgjjEHIcU1J01wl5rPDovMWAfC1efNZORar0WidST8H7XIni/zYgGfBAETqgqfdhpvVyAv/PkI9f7J6//Hu4tgh+HMlSN1G8+BGky5cimzfTtPjVdijQsaaYGkJMetQuazhICVIrvNovgGRoJagdAyjMWm045jJQLY5gMIzbydSrGDy/zOZymYcaGxVAtqytvRMNoiRcAIicBcBaDpVs3SpjRWibGWIzVvZAsldZDmNDNnjKKWSnh4A6PmHzTJWHY3erujms09DVG4smd3Xu2964+DJZfXUgtxP7/+z2xUZrXGWHk5PbPYIyCKWz/P2AzXMIOc4eqkDUXLL//Xd/MQgOgCDU1ymfLA2MU2bYVDM5VvJ1wnpGHFrLqpmk56Ka6jFgZe3lmFUparGFDDb55YyNEAGVSr46EBdV7okm3EcmQRTK6f1HNm8+RAiBFtQVj6MRp9tkCmGR1xzBPoZVBXCr3BeB8/20HKKqUdV0oWpZqzHJolYGaxmW7Utk1PwSe3/MgUJxrtjWVVfALQL7ygHHSw2y2fiQLgcMcMmdL9oMbeQm0WbXWfvBGQ1/F/9BJrE9MaWKldnKUdm9sair63jHUep4+9pGc9F0yOFk+7E660fZep9JSet/+PLTw0jS5a8dhplM4gOvKMmfgf33MkqCNvU7tAVLAcwYSwHCy2EB6aAfwhgwDhmvO3JqsrtIKqhSJH7N5R+9k3CjRB/Afxhjpbxj/TfszUITgokcbYdRdBHCR/ntgkLX6O7dsThkWtuJ+MD0+++m13NmfGUoxwqssMJEdlLkhayQcgrWFVPK/W96+NWcLzpopTLFfv7aY5PZ41gqLsOSUYIG2YseH7+LTaUmQAsh9YxlirD8J+TaefgP6LX6QPbdD6KPyyEP74alUUDDGMSHyMojtcOwjghAdq4o89B4+8Cu9icbu6+4IhLhqlyHaFFYA8Y0N6vbJyJVlL624n+GFJGRvydGvSxZ6WfAMtaEmXc9Khc3mTyzFDnxrYgZawRn6hg67h/Cutj07qJ+YXbyGcR5mxDs94HJ8kYzPfriuuKSYyfRGBMwaJv97pJLET9dYqC0AFain7Xpg5Dh2Q5j0HKgrU37wNq1eerL5vxRYco4Kg0wap9XEYc1rz7RnzAT4rHdyt69ew0MGGcZHaLkQ6PuytgxTaxddFC1NVeRxHVyIn3UBSLj+Fh3F2TnNaoKRGVCTqgT2LB6Q5Nxe0AaIKfo2fLcaDxeO7Lw6lk+tI/K6H4+DKfW6ysMAcfsExg1gJJfEaTlSURIJ0eGesYtuTA3nKYz0onn1RtAfk7qR6jCKfmlk80+60sLGMUqPd7rULK9CqRIJUiCIqxtezSDO44S88/hS6eUL6YPQBKGYW+R6rbEY3oMGSC/dRBw3Xvhvc5B14LX7hyCDT0IcqZm4K27BpPJvPGN9nUJRaUlGI8cKrOF4pw6fpBUSEY0lzsEoRlWcB0G06ak+f2kKOTtde2mL+ZtfGUslYXFqirg/EJjYyABgvizb7axByp6xrHhNkLzmR9bp+3ogNsXbABivdvPlMIbzleTnvb52/IrqNbSPdlszqM5K6QU/Vs8JuR29VZe9IRp1qpSeTCDWOiEoJIkDXjggQecrbfdBYFefiZyMkBtUF9DNDGSoux8nz7ZSHsFEq9vS4PP0UHhTJybbXzg4KTJ8IcBhRoyDZM13OzyKyJjTS2kNPa0raCATkFuBwF+1GjT9E2Qq7ka8dhXAYTdGVGUzITFfQhxzC9lWeqeqlVXXdPS3u4hXy9WJ3p03XwYK6bjGLLzkTCAHD1VCKxaDMbsCGZ0aE05V8JL/XSVv6TogftBUoqb311esE81qR+xrPqtbE/biTdjUE9r2hm/Li+gUtDmfFhHVsrh2LWaYM2BriXCzPrDiKt+Q9FzPyxI+4fxpbzn0NyMolbKeg6YyG5IAliozpkHVpJrLu7r8xEYHVm6F8Ew4FpBAk4oNJ0nDUv9b8fNfc3NG7/YVOQ+DDwzSe/njzfdmEWVhaOor9+Z1KJHzg8E+qOT3dm9mWrn4osvZp7unjjvxYHoRWGffK08c35JZ5W/zd1YustFZRNa1kDoQ5pVWt4owbjkj1kPNAkl0V+Wdf2+tsF40zo4EJjc9PnX1pULbqbSI3jqqsPSIigWn0epbBWDUjHK0KMQmTyK8uA2XzZ6pBlQr0tnFEVJmTGZGKfbi5CP2DaWnNEaSS0/EE2vQOFK3bp1UygUci34XPLK0seB5/oinn0NnOu9gAFuBIRNh8wUwkMeAlQmdvCMrTwUCoCd6i5kbD9uFdh3ogjjEvQbGYwfZeBYHgcI6UEvlfmmZqnf0Dhq3whCHeQAcpBL0yKvgGoyhLBKmu/uRtqAckApU4UYt6nrsV2m4HL4wWzxA2c5LznGe2UjzoLlSCbUPThNGYcvg9X4yY38Po0GIm9l1PghIz7029NLcaf33ToQa8Iz/xfE1j9sJM3axvvvP3Wc6X3ejlc03zZS9CgCHYUpr0XUYhhGpo/STioFTH5WocxUUqVe4SGAQM5Prtdm5edMy/IzqEpFr9kB6NnGIldB+u1o39t1zDMM499zEnhXyo7DA7uNoIwiR+Z6JF1IxHsFf2Kib7pElRyf3Dh4tEca1qyxHIVeirjUXsqmDxyZ7O2rD1d+BioS14Ed5zjDChmRdpqFwuosPLLtiOuqfX2J39vw6gTNrrJFYhXZmKkakzB0WQVVPYJNr4NnfLEpy9CrygPDSVmwRZd6J3BiyvkrkwZd2585Mbv5mvUmZX0OWpSE5SdiaWbneaXSGOWX+nE5U1nkkzfONdTbqRTVvgwPfSZiuh5MCDfzcoguFG328ls//XxPbry9hHFaTM06CLHPvd1jRhfV+mejbtXVvgVigqcCAZLdP8P4knN0xSx7MmcKlivrD8kVNcI8qigrB7sMw1mYNegmN6cfH8hYPILsVmUXxausUO1xuestQxkPu2jMB1PHhGeIJTp3ExYJnAE6vmsoCpA2kF5KvD+V1op4waNhALBGMh3jve4xzkzFdx3OpmNrio0HyKOjGqfbNv2Kr1PU3qH0rIC74HJww86HuUZikWaR8Bm7+s4lL4GZ7lmEH3IFcrAUgqqfwGEICuJnNqU+OmaZqQrBcwIxu4W0rp914ORULgTOhjUyCywwxUqEgxY1a5shjYTIutUALmeL9ftValhr7R3r7CNxTdKmZnA0HxqJGQqkmgRISeGtfGwcS9mUYEkuhZGug7pUqeFjiULHGddDvv9e2wIuJpXJUoySZlG5N3U5RGNw+3D8Ooqn2zHmDpLJ8iTeOp+QnL5GMjHyvGcFVq63gqzmapTOey03V0Jw09Ti/3mVOH2Mv/dVF6gRicJU6uhF4CLxLgwGE/sHkv1YwS1jNSOEohFlQUnJ69PXph1oOeSdf2HC66HOQwmxV7edC/pj43XHJ43HbqwrI6GLPHpIjkSATGrOP/u/t43n+vvnzPMl6rdMIWQhTH4cRDJ9nAyyXYYNZ910I+kEmEJPzaKkE8z3eNrZ8f7HXn1t2yMLQvL+Ch8qQhnmKhLmBETmu6ha+SEG5G6eo64q93rzOL1myJ5bh/dt48q8vxX6Ao+z/R0vrqwu2PNcRfBIfO+rKB2mIhh5nKOaLGb7U+fDAyPdEVWoNE1i08/uPEEA2ac+f/NNRbzaTbCq7eEwnWOVFznGeQ5m1osKoK2iHCZGgvTuMwwvOQap0sE6dz9uqkbI2LA8hpy8cw+8vessXiz3IPuXdHIbS6sLHvWoTl8lvMzqNR883/b45/JJc9Ej8B4J0oJgdjdA1mdz3+TsZ/snrnZ7PJfWlRYsB9nNNYyEinyWLgPR9dUc2OJAV1maVNLbPGx6+H60yStEy72Sq4k3maw2mjoChYN8UQK5dlxyBG1TLBT1MSAlplpJq8FsNJqI6AI9IjhGL+RZDgyM9bW+8JCve3Fp6UT9TIq6ZHQ0tHNsLNyKeO3UN974f99opgmLwi+AoeGzuGagS9gknoMPK5KbwBh3H1s9ZzXxvGIQ5sDnIbQBcwBdLbCu+QUmU5vh7MOawT68oCI0iqNOWY03Dk/5XO5CUHtK+Ba4jqkBUKL9DOHd/9RY9T9RXB1hOeZuPW3dBaaGTwTlKkSepjYiwYTwVJCXGJPh5BFCLEM+8TNmb5ox+2VOCjEWrc+uCAOY8d7eyHNRU5kSrCTsQrfgW3eybxsBqRpT1VcoXZgF4pmzjvVnidyTELiJ4aSvosN+mDwf4NZN1N7X+xfD+L5DWwiiu7ptTpJQV5DjFvXE1Spg26E9ztUirZbSGHoO4X+Ybg6KrrScaRuKQd0NreJC8EMnkGCucbHc1WQfGitNj6v4Kqce2Z136XZOPF/ER33VIWkJxvecUh//jJ0zXjd5fjb4UkWRKD/4Oem51pF91OIz2LxskqHHT/7WeAWIeDMe3dScp88rCbZjsFmdcb4TybjbTEYmhRfEe4Hz2gxac5reP55YZGn1dRt7R/Ze7mIUbv6FSNo5s1GCug8cCUPY74x4Fqn82jQ0Xi9qWhNTVVL0/EByc27P5n4yEUw/G2L46i+9alkJ67kw42UKrl+wpFdT1G3gOnwcfAa9iki3dvsodf70F970Sgy727HnYdUE9AujIbHWhd67DwrLO3KsdTRz4ICJ8+W9jnEJ0FjTcymI4pErSL3AsB67JoeKyPObl6VNqkhQraBbFiI5xVhrWOYeF+uOG7R2Pghk/iBSPKp76HvASLQloWLpRct1YxG1H/Q9lOkp0kUF8Q1aObZ3eX1mzck2kvnnYCKxxdCdSgrYx6yW3rFq8VTV1/LZ5TGUeCcXT90zZ96KFdSzBRPegxPc4pJgyXwMiErA5RDupqL7x9IdGUZ9mbBE7QVMkOF9d2Nmg3aY9TSi2L+CaMAIPJFam+b+LxbD5+E7n6ZqmlqLDHZYkezdwGdfDk/2BjRnrsflGTJ1K8EI1jDY7tpzvLFtxUlZp+lbqyvKHCQksax2ngaG7Qlog2zL7PAghOClSi5Mfh9B469jlbEEGfqjmJTydvQ4WNRoxg/VZqqGQ7FUPDMSnfaIKZQPmhjkELaqRF1XXWQiXfDAj78zCSXJtxj+6Ta8219R0MMZBgohgLO0faKcL15CST4ENH0gcK1SLLO60u9/iyHdE8/OLxDEG1gWK1XaKcOqYhdM71bcxdmUZWY6u2CB0afeia2srExpn0gdZ3gmbJpctcxY3AnZ2FMCelaURYuqYWarhBIS8z2F12UcbRZF80Fk6h9Ie+l+atJc6KLFOzb0xnq23/a5Gqh236A7zCv4zp534hr+2nP83caXGMInjg0uKvL6L8XCFFhnNdBXGTyx4vDAxHDQPwfE4KDCNVbUVLLHMTIU9PCzdvK0rqc8jHUEfHKzjkSjk20xtytjUx9BwYHbhUgrLuzU94gfu3s0g7Jh+5Yi3vs6PFMFFm0ZUqUpymTWU5T6Fi/qk3NXF0k0t8wU7HEoL8wE0RFHNTc/guOe8gwPjqdX4Uyf0mkTKTlWhCcgC4K0iLb5b41lR57Z9tCv9VOD+Cx32m1Z8wSWhb1zeiE1tJey7G00be0dG+gcRFhGpU5mlslXwxUV2bG+0QF4iqtFCNTRlBLzKkEbymklCU1Z4+fkTaDU64IXmclYtqrkBg8WyUULUHk5n5OYNrCwHWdtLQ3vYC+IeNhJ7yQGVw310J03jNz7i1/ktry4NXN/ZV4J+FRLFyJmfDiZ/F53XHcO/fqnqVUnDU7+mZy2NGsZGSmsKPR+GHf8OoQQ5uC+ghMeSBNw0HAO1e+lBLKsO2iLvguQ6LoO2C7aVuxf9bv0vSW5HGrTSgcZR+2jOOY8qE9c6BPFBd8f7nzltpLZ36NFZxgNrQOUL4hJagkiFEiYAlCEYg6XzhVDFeQRJCjzRTmk4RbvEIXnbYAYPlidDrdhrtanZSeebB96sdBftgDhnS/mHGso7C7MLy+BX3UHJKokg1nPYvUs1UepreKIyxE8l4POsszF8dAJdGrQL1VNsTEG7j91j96Lv3C9vYpeO7udNqzG3GRCRj/LX4bk9w3lcvqYzFrX896ivhd6o+0hDx1Vk8hdSK4lKL29BTHxy+Ew5/AI/qBR6hNJXWmt5PyVOWAZp8UP3ol7QpyDw2PxLq8glkKJJDau68rgQK8SLp0xijrj81ABPYAJ8wq05Y/T7bF4YZSz7T7UmJdD37jO5ZYbUJZcixLkG4FxhoaDcRQFT0eIjSLHn/7eu+X1LbPh39IwBjplAmOnAROJ+lhqBvx8V0vkaA6y6q/DI+JZloqnJ/RTsceznWNlZaWK2/M0KAKbaN57O1SEv4JRcSUa+JLDGjypOCOZ7+nvsrTVDi8KNLzOZchSLcUqvxNSP9+byI5uaUa8b3o/TN7ihtaOQjNAk6z9klxcH1RNfQMMRokLkuvT+22JRCBPQf8zsu8qxYq/ACHHd3HuzWCLvEJgjMu8Yk1epposZ3fGMk0vD44uJeGU6e+TV1T0pWHUXwYc6kHW1L6RqQg+eWF5YSeJh5OPdwxEa1/umZjVgtAIHArNbbt2gsQnbCoQPbTYPHVTTtVfR+WrlxWUo5dXhHsYCqWwDrXYFyjxirb9PLTTBngDWrIOu1HMxaOonHtUFsRdW775zbxHTZSCV/p9cZK8wznfvDkpA0BgFx16/2e+9L7WsSy89DOXluQeF3DejwAJivp5qgmfb0G/fQhJst9QwMdhQjoPy/2FrSg/lR1uBe5XgLEtg/ewc+sd1x0Bb+jLDKN/BQKkc8BFMQ5oXp/NU8GbAOvLdiJkZFnfQEP/yzSYb4J89FtArKyHbHwv+HnnY6XwqStrFpbgnHkPljQeumw7Ujn9O7vS0SnDS948uRGeB54yf6vZTlRwuIETZl9+gNFGtg/kBGAetAdQtnOiubnG8NNeN5ZWNwHSd74N3kRcShSVj+tDQX70ASRnp4/5Xnwl4S6U2Q5A7FSlBA46V1P3TxzuGUH+5VHH4UrATHZf0OW6TzHEf7Vd8pcwJv8NJePXI2Q+BoHZ7yq29CDdWbztupqaxIauQ8dyFjOO4oe/2zn7a+5nlcREGHhIDlxWODwdI9BkdNlcK8RfFeR1XCi2qCF1AtPHFI3ECTzPJMKV96Kg9X0IO5QCirmBZawWgzIfMTTqW/1W4sV3o+El1/B331xyYUiIAeJEq2DyWApkwGKrLza+cuH5wxMqmwJERNclX+u26KFUFwQKqgt9BavKZIISOLXcJw0hx8HD3mOGyqFiw5wPRIGIle6veNnzTDZmzucF+vzZ4ZptSA5sJca1oNi/c2wk8V0k2YpRSDDkmNpxs/PIADV/vkBiYEtKS5WHT5zwzHQXzpGLi+dpsLiao7HQtbzayandPGfuG4pBca1qquw7LBfM1B1zNuAIX2H746/RVKmhzIht4y0RpcH2CstOY8b15lRGquLS1gpekNxI1vSi6SQGnN+itHKkzJKGUpX+yTVUvjyaMHIJIltU6HPB2+KkeuBABKcnPkZBXUCTs0OOTudMBlBnxhpgCsQLLEsf8oG0FnpVCx5ta+srDpQdwb1IeGKK/Wq0tLuSnxj2kvq3Fo+yZm0DkVTPEm/80ieACj65YRLLGxNybsTSPdDsKssoygQwuksQ61yAZF8tR1lNGk1vBLqsA0vLvOEmX68vrJ4Dg3k7lp7VoK78hU0p3x+KTQxVu6t8Dgrv4VDUSAIbncAj8wNbifAHCo1YGYHcW1HubcCLyqIcesS2tVfghQAayA3bun5g2zrKbvxkvegHZ6wbwhPj6dFnmZoaK9o1GigJeKPgAmkEG1kDKzGwHdQAfvLXkH4t9DrxdK9p7WcggyN7wqpN+BumVyDtz/f31l1d+zsUr+ytKcVKE9tTx45p75+3EA4xyyD10IG37GTOAEcQ9zKIrlyof4QyFOvHc20aj2kRynvGHEoO8R7cgsirJUSLl0tgNRlU3eQLbw6MJH6tM3QOM/ES+ILV8BCWY+AFMbh8uBeAO7LxpIpVlwxtrIqs9mQkN3nNgvPDtmrcOSGV/xw3og8/78jktNnvTy2PKcO8xHmDmRT1AO117nec+L7JLECGlAgvl0WhFaDLFHLLU0nVFwcno1CLKUCe6TnOUnpyhjAYjIdyPVXjYrWki4uscPmWnrgJNQ/Sp95V299tfMnVkAwqQTBUrboS6ja2m5OZRuho1XtYvY+uDO9rRhwAMVhnXyzTkMvlPrY7ov42UhFsx5g6wwCTGHALRb3Kjo4e9nPugsS4ljZG9kVDiy8sNhUVSsXWlYXhMClaaMfxtORw93M9skyHo1Ebf1s7YrUBJ2Vf1WPQqV/1US+HxNB5CcX0ulHPhOzfxbxp7ufgYtqSmHW5zAMjj5WqyObmN8sygtBgcUF2L9e/uFSbaltBpG0iMwI3U/CBY4xsEpG6F6mAoVPjKWVYo0ob8u+T/9ZWVKACi8pr0e0Bs1LfpBMuK6oKGZpehI9ngVQgo5p2JzFRZP/h4WGjMFiVgq2sskwWBOr0Iouj07grmyTGHg8aYcfSE6+VhsPmo5u7Mj+7vRTGZUoOfHrpfcoIwdD2I6FHngW88wJRDl1cX1yBcma2FPUZ1UGX9EdIP6+GcbwAmcd6xFBBvMMkJ6kusZ56gxXNpK1mYJprIUFncLzxp0l/qOvaUIgYtcyRaPInJuvyJqITkdUF/23vH/tiHMrSOJwN+gemF5maF5BpjABzOoTVw0SJ4or3YexW+WtEEKk5G28e8TAu+h7b0gt8Yuhr4+2pox43B8fe8gL3iwylM4QS1wTOdWqwexaNFpj94hKtvKGm1LZ8iuUxFtz8qWewTw8mFx51HA4mk/W8E8gsQX8iX7wYsDuGEkoVW2M0KwcEictZjMmurW3sd2ahqwL1/g0Ma8IeMQtpjtqF75Aw1Xt6k0faLSNcTVjnsKh7Y1tUGhhojcd/jtL4l1wcW4MbRIpTalBVXQO0UBnS0EGB5z4jOM6w5eKGymxvJJPLhRHK+gSlmluexET45nH6xtHP7W/kPP0CexQw0ktioncl/LHncQYUi5q7oNpyvWZxUVQz1pGy8QsKp8aBrTPbUGzxAl1f2PYSJtn7TybCjQRfDnnGlQxHFUL1pQ/H+d9pfMkjIIkrDHoA3j0acA4rQVCdQUVaz2Ysr1ecHEzo7o0ojv0Ixpnq6Yp9m6ovyJOdkO9Pb83IGW0YcrJyDX2DJySFqODSXlY3ToDF/nmNopfTCnVJUVNzD/bPkOVW3nZilm+JKRUxj+sqNw3TAbqjGuwASqPGrMiCBkJ/Rub5WaIoRrUMuys23JqBeKN6KZ7U9MZy0qBtaRQIqD/SMB7nD0GEDkWoVRiYc4DTf1zPpdUnX3iBrbloTQj14iiystrLMw358MZ2JNqokVHqmJ1MbHGX+J71uMqLOL7cJ1M1YIUXYEpSlEBDW8yK6KrWfsOTD2cdlEPXQJbH4vgDtmlnYcOctKPu4tzenuQx87hVNJxbu7gRYZWpOPmFty+Gj0nTP4Ba690zZ+r7h4dlSgoWOko6JPLuErO4qqYMQpl9CBMUhULuWFK/GQrMS4CJhgoyraM87gneZDfbPH3IMZyb4KU2Q22kAUrDQZwjjevEP0wuwOASbQkYxJymyqPbvrfOhkII+ciZW+Qn952mAqUAcNxP7R9JtRHcF6wvQrtUXNXiTy0rL0+sw74PIB60sbNLKPAWX5Wy0wFkqh9vqC/RE+Pp2fhOIxIrerjYRsGE4IP6yZUI+fQztPPLgfHIyPLwFKTt8MBAkBF9dwYYB+EnqxozNVggacPv8u7BZN9XtPLSxVqBsBBCkHsGtz456JyMqQcdrsw0jUrJwx8yOoM6VUyaT2FRVJxF2zovJmrHHSMB2SvNRmlkPpE7tcd79/8diqKdz9BpkCdRtY2nIIHkgpzFwWByXZB8XsSpAABAAElEQVQ6jOs+OrE7wlfVBX2WQZVatFGFybYGEll1kNsptU36PJvNk1aF8bUAI0sV8dZWwM0Wn+EkvZ13yTKywyC/GkUfIRzeDKGSzUwMRd3+8qwJ3ScUMfk4QltKUOHY9g4e2nN0fNx5on6t1Zx/Z+q/1KRthT1sBiXnDSDOH343xn3Piec7fc2g8VO6urraRzmvkMox/fsaw1EMW5t4Yg7nW4Gl6Q0IAIcQo1uNGNUfMBCOk8+nvz/9WloG+BNN1+Gj82mOPsbQ5gWmycTRQZpQETcmUXGWVCtNby/1pGYaACEgxnhV0si9SGfpfasXUdqzEbadyuo3gdpSdUHviU47fXyDN3HNrLfi/mIjXX0I7j8LLuJrbQfcCbIzYThOGaTXBi3V3urLps36NWsKlKTmoi0+iwB15GKUKMOr8GM5t9CprOyfk3VXqrSrTnbsmQbCCR7RHlRy5ojLz0+wqnei44XW9O0o6SWGl2y184vNI8f7nvN6Q+nYrsE0tbbR+iBZDeSNRSC/j4NRQAo0rr7zC40Ho4kmME8VHhhJ9mJJDQV08xqGlyvQucrAUlZC88yjY7HYq9BiSyGOugnx4ADkQC6CfFKnrRmv7ykLjJLJiolmcHvplbjxxRavzniCkiJ4Oz/AwPxvwNBR0M3jFDrjg2edb8fJ/9CcKSNN2nT95+7baRhGFx7GXLx9qSQGPwgu5V1XBrjc9cOZkMGXwPhTH0OwYhLf+1Prk09mapuv+j1mkYsR6/Uj1rQSkS+NofTdWAxsR3np84jjZqdPOMn5rwBD0idBuDQMmtDXUQW5DIEyF2upKYSonNIVl/oRvP0cJIM2hpcubd8Sj3v8Jj2Dkfk5IHBQlYTRufxNOFVcDelvNjWrdAJe3e61J697+pzv1dc7liwxW4eT/cCYeyE0yGA5esalnLruFRVAC1HqAw41fjFFHVE2dbGFS0qDJmWUgvujBjHUGtBIzmEobg1lGnWVUA8/40Bv8x/xnp5cYX3T6yxjpGF4sTpBeAGx/b3j6hGUijcDymmoHqsC/fcY/BXnZPXoW1olDLaN5BoWgN2NS8qUMUD2fctO/+A3SBbwnDcBGWuO3BQSc6wNls/NmM7VUHy4ChXb1ViiHob+joG1ZoduWg/Hq0MdZxsAR2LplYA3fcrU6e284HiwPKqBdRDhYj1Jj49sn+axJRhSpXbhZwXeGU8otg96TasAD/xdrj/5EluQQjSy5MogcFyCWz42HO1qJ2oNf+mCe8ZTM9NIQgAmthjLHAFsAd2Obv95JDW2PwCCbrvWtwDs//U6CGijHZE/XXtBQ7plSKlQHGUNSuFfx5JoHoy1pEGvTOKFfgiLtW9s2RiD4rIJI/aWSeZkO+B4Thk08jeBu6EAJaTE1EpBlmbkFP2Yyy2WYqePwpkEdMsOYel4FERBTyCH+0kkVBZguQ7BKmYY3A+fkoq9mwHeA8lOnzQhF/47cNJ3ATHx7Eh/+vZrTkL92kdTy3SO3YSVSQEyyXd1j/Sun1aJBWfGZ5DA+BaaIhiW8yV5wvujPMKANO7kti+aXgkDzyWP7t9bMG/ZJ9Cmf4MvUopQRgcGRSuuJoewRSHoChdiIBOq49+FigJfr0FIhigWgyZzBsWDfB4aUzwrpVQ1HTnWlR38ePMbiVLShy6sX/i4zDK+jG3+XGS5fsAIHwIXcyH0Mi+8pEIeIhhVaKC/gJIu1dAmruJMmfcEXAsFViwHjMEb9gtP1rrdUfTwfCcn1JOo7DpjWT59Tf8bXlvjuat5ymj0xO31tQiz/L9eE/oWIkYU3YJ5WYxEeMnjKULZ7occThhyRTx/QmjnHb1nZGJ/83jZBboBVI+8D0suv4XwVC5n7/2f4rjE0905knwfUDQV4ALY2VwZPPL/ej/eqf3Oqec73WhieF/ujNaG/WUXoXD+GhixC5BdHsCy8hHoa76A1UMZJzD/B9lJ2xeJfAMil6T084xNio21muGy7cjFV2AptUswmU22i1OH4tJIM+Ka0zuPY8lRUEePQJzoqC3Yw9B7Q8LTurF0pt82st6DnRMdm+pWrOCVlpZcJb5EjDXiwySGeWprG043gLa8XjP1UYGWfpnlrC1ulNbGMpMDl1RUjC0s8po9obh/OOfMB/wLDiXd7ysX8x1SVpRUytGHXS7Ox9NiJ6XTsaAkT+wr8SRuR7xq6UnYz6mTnfyFJAWhRAHn2GVTwx1JEkIhHy1derk3ptufZmVxHhIiMyW3eAAxgEJA1gTTonugPADoo7MU0kQPmbb+U5SU3osI8lx435Axo7j+ri66ERm0GiQlJ0fTIsYUzdJOe+1iEi+e2hSH7sGzGEGQNYhy8IUVPmBUTm6cwO12TJssxStAir/WCMf3Prk720pFdutNK670qyK1DOxinwI/w1jG693vFawnRZ2odNLXwsOuAGLhEkwKOibZIcTudsK73aGo+ks1CD+RUxDpIHicI+EWhC+a8+BtyEdJ9vKKcN5Akn3IdtncubKiUvWWba3XR7WNbg+Y4jwcKrHoIWtkJENV1FIf+M1Pxltuv/uYY7GLXG63GJicTCAmfFB1tG7gwz0vPdYTc25f7DzS3lcSkt2raopqCx/rGO0VTNeetY2+t/S5qTO/d/8PWsZYxoJ8kA/lKH/FdnJycprJiqCigvSTgRYq8TCXitFLlngxh57xaP6KI/9tu77Z8JKjrCz2jO8eT2bBheLlHabG7wKu93+I4xJPF4x2I4bhVIL7gSBo3nXG91wtKeiXB8cv2jmQvnDzibEZLWPpaxiP9EVgRKGIyl4D+FXEpJ3v5xTlR8rRQ6+puvUCIFwjIkd9sIhzlaxbBxP7po14tllbewEM+z6BZ8OIJQ/M90t9zTVUPs46vTuJNWdzoxspa6Lrhkp/3PE4j4kO3Yd45i2AnDQFS0ud5WDDIgbXv2RJ0NewYMX+4YmGlpYppAfUi2vh496DMtX7IDB3n8VRTWYmftRWNKmA8y3Y3NYGAwYVS40XLNtADYWja7nYieaamvySaDni1pqhtiaT6uCgnXz9xUc8JxaVeMaJ4Z1u4+mvZAY/OJq6WhB8d7l511cEgfkSV9nwz62TiIUCvtWtZhGkppEwokEvwtQytn2DRVM1UOBcbzDsf2iW9Uca+GGbNYcSJYE/WiD9AW/xMIoMiOb2bQVCAcI1+fuJlSPCJgjIIhzTAW84H1YgbWmFsYc/2ondYDPpueDakMj7ZBvt7wJ8h/4j+IZzxNO2KO4rtfXB2+svWXO7JrJfQuz9q4CXraR4IRkqLnYWe70ThkH/Akuo/7Jt89uIIf4AXvm3kUR8EEoYXxsr8j9yYVVRLw49PYKJVh9KPimzGfF98jtJnL0ZtoeQjwNomE1xXMCDQBVA4H44M4VI7w2O8Jn8RLIV/BYwF16CQ0aFU75oZ0mpd3JZsb9va0XxURLiIZWKAdn/IZblV1o2dTU0/f6VE9VriBdMrvd/0zZCGSdUl/MSyOT/4upu+nq39cdWvDqeW0RWWtPvEceE8JDgb6c5EEhcCEVgYsSmP/9HvqJtEN+VDqCxk+BHCWF2CRMPmbRp+vXN7cvlVNgKTgYRge8v7fPm77yTf7/F6P2tJxdZcT5Kgr/gDUj3SSb1b7xDfQCwpAmsOcEIaD9tKvYmCOCNEiMoSo4Xb4qo1fckVUug7j/7WTf84AcRxBl+Yxq51157ppUYu7N2hGsbGtIwhgjDOs4NpSUTqHR6DkvhnhxPj+/ePJk3Oog7ywCNgvKSazBZIeBthokhG8V8EMH9hVAdP4KKpwbaom8XZFTUSdwcSA1d6ykudpPW+bGWBekIRYucgHQ8ycif8i5uaKwZO/BkRQ9BO5CsPtn/bNuuwWgdRLnvpHjm36C0+0HLohB3dW6GfbwPRRP3nhhLVumckrEU62cQgnwQE1QH/EMe3qMJM7R/WaHrACUwP85kjf/Kpu3OK6FWrDnMH0GO/hTCMjmUoDVLHuHGFyORQMv4uAtYq3K4LTnFsomXcKq9ZOnN0vZRPHzkRa16QfLM7hhJF/aBRO3KBQtytq79AgWGj6Ntg/COL4FCx1eAkvh3kAHdDGvNAZ/7iJ7WH0eMP+/NkskmVujd5NjZ9SMToz82B048rHQkNy8r93ai4oTs85Z70hOn/DsHJ8pICKPBV7EIhcBXoJa/FvtiFQyPuKWFlEEfBQvRP9F8YC28nWUIO3jhTQ+QkHgrvs/Un3cFJpD5QD1HlGw2PxniRORcSAdOXe9OXb8cE1gD7tEG0E52SixVjpWDEKyqEt+NA5Jc+9+6EQTAMq+XxNdPPeuzHYt0e1Hkr2MN4wbEyk9NQjqES0WZWfPqYGbVn3rj89ft6fKd7ftv53t7EEoiY5VMjmQi2NQVq3h1OL1SbJhX/93P39JrWEjMwreA2G3B1f/y+Zk7QQZ05b98fsXZ2oRy/nEwgGQoyyi74pOfzDtRZ9vvH/XeuQo7EP9qDwzAR1iausLh7S6Boh61TW5X1rEBpHcEPxaMuJG+Ajc7Exf7IYGlGzG4d8umPjE9UN58E8jy48knKfC8uuyFt08tS8kxUqZdIkAQjee9E8ruDaPE+53+LuZpZ9Oo0M1q2Z/beyeHCGct+UwKBDwmVIyRiMkkHbX/fHhdvb29YoyhLkYM9WXREX8N4zKgMcbtvMVVY2ntQChy1JuT8t9XMnoxKwB8o1qJdCp1hlf74tiYK3Snp/b1cau8dSwlH42nASqmu5Mlno5mnIecf3vXaNgX9N5mWvbHgPbYZzPCc5RuJuFJLwbg/VaEDG7IUFwHFDDWr6gPHFq/fj279PqPAG/MNCBpVaZoFrE5A0sLPMeoAg85JMC+sFRYju0dzazHva/HZHcZoGU3FwiBg5LAH7R0owTxMRAy5MMIZHey0SgLLhBR/oQ3ML8wfhcj3K0xzrAay7UDlfDosyUFx6+ZTH9bpJnXgHefR9M8uJRNVGo6XZDvPuYwwt7BatcY7uGpQd6M69zHcYUVwYoiJ2RySNuRSWsXfggWmSE0gETYUKSFMnBvjAEzvBLFISrOX6cxwAYjDmLz5uWbNnU9smZNvUae6av98d+DJ/SHPMd+CerFKNigRYSwalyFlbfGkolCyDNdhsB8MVQ3fqTo9fByztyIkfnpkeGrZVkY4jmRSqhqiZvnfgXGtufhAZ8375ZPCYgtt/ylpM2ZR3t3//XqsFJp6zn3tppQx9nGEyZjj6gxfkCBinZFUuUEemlpVjaleYjxzd87OEqA6VOIO0BHldK1usKi3+OzNH6m+87bfhMMl7zU0PmqmSX1SFVYLqzcRJYyKxhO3IYCouM7ognQgXAaycmgTP2feJ4dQy88Q714upFdMUWpCopuQOs8OUsmpNdD05+9G17PlfGlpFL/oVQk8QeQfM/RDep5g7N/GqRzE7QlHXWJ3JqsYVJemQPvMb0QBOcXAjLUpeu5X8aSTOxABmQ33/52HMb2VFxy+uYgZHrKsD4/GJ+L0t81UIRo5EEkkDWUSXPuqtaXo1TLpUVUFN/Jd5I1JR7UAOCnuvhUpwG0phj1cAWIGnZSSU+CsADbfr/ImGwJAPr7o/H+hCwVPiN4hI/xFL/SNO0ZkFTZENHHc/PpAL0rmgmjkCuL945Vzp+f9/hIG6FoUVnkyO93eOoCJBTDmJQBmYTGhGDv1doj66jGqXi25Pesxu43YtJx0Ol/DArTnf7SUmusd+Kw7JFWQodqBeK2N7k9Zc9hv87bb7/dODiWPoDgyI0wrAGU79e19FEH3xx2wQU6VInn2N7R+EOQVCpHh22Ct3qnpiqboCcX4m16K0jmyQDKb4DFFXp472cB7boMhQ0IxdsJHL/RoKxiUFlPEPKf+2FU14W8HdUtLX3LmpYGQOkXcLNe9XB3azycXpxdvZom4/TUvT15aMyx0gys/q9DuOA5VCVKXV2ZgskQXXr1pz7vvebOu1O8zTbpEm/wNrWMFgSXpZsMoxld0L9bDkjuFpbjb/BfVPIUjkeeJfjIrO2mxv4KCe5bsEq6CPMqqJTpS0HYtNwl2D4HvCuAfGyVBHpD6yPrTPAz5JtyGKGGTl1teGDr1v0ooZUharrK0Kx6QCAPSZryiGtOhTLZNfYvKGruWVbRvB1feku/yx/oPfQf7WSWu13yJZcOpb93HEvzFGf7UEER1C26yGGpsEQLpQjfVWLFVYZ7WAZE9DyTZUaKEc7BZeb7B5ujc5JLQG2Mk5IFqT88OpSlKd87Z3nRENgPP9ak59GAZYLkDAU/3H7aMiCEqskY05SW1Ud5ED9gFQTwFDUJJE0U3NipjYBg4uunxiWZeJ84GvUgBzEAA1KFwp4SfP6uMr7nLOywGDFOlhGfMiz7lRylH+K0YBSsWDne4X6NZUISS/ub4EzeBu7WWfBxtiAJ/mA8x74SKpaX2opz71V3fOE6xFfzS3zcpLdsL/SN1ii6dQ9oCz+LJbEfseQ+MOjyOkpSJxOjn3qyY7IMX8ovWfFKDMMZxoEGVhvap5xlZyawMMsbdFh/EwnAHjzIJUXB6sDyqoIePNaD8AevB9a1OGs4XSha0A/09iJ7Z5bjZrGCFJzYtm5d3uMjSsswdrchIPEFJPkqYY8OAIf4CupaJZCcNBeHxRBpE8ncIw56JTK1xfhi0oQcB8v7V6fiuVtRcfcxVJQVYoYHJzhdWsDSpS04D75HGTx3FCYuBxeXqDQ0yb4Y6WBn20BZmyXnfQSni8K+r+R5/hOIG3vRRdtp7Q0yEpAdScD4zofaRQfis79AnPZbkDL7toWSaNHh/ozrzXv1MGP2x4GFbgq7xzb86DsdswNUf5V/hsPPmqj7FVYMZ2tEkLLHcOx6W2S9qGWJR92mi9etG9CmEtzTUptllts5vd/m+IW2lgUeigiLsuOQSDIRByE8z9uVSPLUZEuW0Zqt/xLkOd/EWHoc3vE2kCdFkAcAY7pzGDX8v0Zp7De50lAnWSWRNu0ANrhNNf4ZHt5n6ysqkAelt6J4ZhYOuhLkLL2mVyoZ74z+C0RE60CIv39vpOXU+c52Te+V9xgeUxqQOjxPfTHH21+Gt/evCKP9m+hivspx1P9B1egXoLhzM6CKyzEQfOhuw+AFCcODrMI15u1AkpsEJbaBOh8zhed16OGeOaeQIu/UfVAt/TCKkX6rCvojLordJtmZF3Sv1IIUIolFUzuQZEUGeQCVqFiw2lkLC1SM2VNG9/R2VhYJZVks3QgCCQ7JSWTw6Xv8Y38/Z54vuQyUDUe2jajfl2gpChi7SdVQVF+896X6cI0CA7dIlBAVRr09T1lDOi8MjG7rVgvfP7MSiZDlkNM53188w0D58Iskfnv6bSHL1kW3fOZ6DDhwsNJtvGN/386m2iCQF+RY/nc0S31cpPUNyKKP6l1d7iLGX5xxVLHQ4cdeeaxkEg6RTcWpATbAvIas2WDjSewnZI6UtsnMesQM5+jZXIYKhzWIZj4HPor/pk1zLy86cbTDyfoKy82cEULQt2/EGElOD3TJkurQiYnScCnKH78luT1PdezrU+vnlfTYjFEJK5b3KG6tqeEmGQfYRAoVknQIhhSep+mxDRokZZi0KKYbSYRdSAr1OVo2Ok5hwsbGZbN9jihN0oxTiizvXMEQzmr0yL4EY72vL/t71kvXI0TwcUwETfDAIWTMHINsl9FQWEN2o9y0NsnQ4kO6wSR9JjWk8tmEESnWlyym7EdaWvjBhvMrxGxCWVVfMoFGOA9AL+uyO+6aAzazOl2m54qMOGumR/w6DtWBn3w7yXGxOb8r8ve9fywxTKnc+agkfAEx94SgM2HIhzq2y9Nl6QoAxkyxamqHQrbUmYLoFmNmJlI2/3SBy9Xb09l6VOnp0bYIl/mzjuP7QF1B5IrKwhHUQD/mlSt3aI5ahYkoiBkTdpufNLKpTmnsxFBzxRvolQnVPRMT4gVwjM4PMoFZhsNsQOx8Ttq034ewyScsnejNoZTWMn/rxHq3/W8IOZCbD0X4o1h9gROBugUTGroTqaKkE4iRTyCtGkIFIiqqrUexa7/i6JMcBQoo2/68zAvlLTC+zZhsb2hqMlrG4qN2zkIdjjbr02u93dQ7vMWobGd8cswM9vTYgQsv2aqJTNyrQAlRdh8l3iz6tY0k+Xaa527GX6iIpDW4VFaBUNoAiaouotM33eRc2pl0aNNno+RY485uoKf3/Ue8kos5p+eFAWTb161zpg0UOXgL7EjqxAk5DBVH1XKthjuyCsZEVE1nJ23rx1BBVoHy0osRCJgBdeL7Npd6z4hb7W6PFIzK0p+w1gVLFn93Utb+eAv04UimllnU/B+YCRshXf6FDOO4LNO+CmOzPsDzOix+gtAx0vrkVkLCQlRSm5oakUh/w2i0APXgbRgR4KUraKpzKDJZTknSFxCD3RiJj2xnvV6Qp/kLZcq8yjJy3Wm9CMTuU8ubgxOZZnzlD/AS/CBe+y7NsC9xmjM0wSlmSa4o21iTp8G0wH0hlgSKoN7BXoqJBl3IehHL6GPgThgAeGIEkLshUbFHJ+xY/LLaWmKw815cF8ZUfDTxEjTtVqA9EWCY74XnNyQ7vuOzw3QGz+7ND4/eNTS+wCW5voiIsAuewRAM7Q8XFIo41NQx8UohzEngdnB6kMrDD3kvzwlri/NB3lAGr53W40MvEnA7PmL3jqT/P5i7y3C6WjwfH/gnblXKgn9sPstyvS2a+7RuGefpLunrL33vG71r7vjcFxFSUYOc9eu0xjboLCNxptmvWpmonc1yW37fAG4K0oKp9m3uHitye1zn50C7ATKdF+5HyTn5kEzARFkhDItC/h5Hu+FSwxZPtf+XJ04gGecuruRkLk5bjdjpq/CUXwiz4f+guPGKCdW+BonHuWFJdMAhsUsSuGeurPDFvgFP2TvJ+wCJABNmhn9leDz5q1WLJk7vI+R87/YN/AV+v5vZBuR0ABPLHoTQB4CRj3AiM4wudwvW6HMVJXvNDKakd2yMMmUUTGZGUzdikjs6sWNznmidXOO23uTlko93qTnN5akM/pGsaN/JayfPufm2z1wMmGFxmmZ3VbrYJlN2XhvZvDmLPEC+L5CEHMN7bjcNpxPPyS9KzDzGYk6AXP/Q0nDg4GntpZG44+ZXzDxPV53oqmp/72mf/cN/PSdhB3LDpq+EQIdON7zk/WYMUoJIyClCgBeEOzEnfxhT80KGpz6Kpd+qNMPtAmPrH2HE5gKQvwLSa2d4eKmCQKnAMDNgtSYUw9rb89OfEkNJEaFLKAX/jsOymXNYAYUGdyOWeYdpUwKyQ4jvOEWARt0TcFW8Hw/BRbgj3jyompspk4RHcLi8EQKp97CRM380ltT3ZXTd8dHSCsrKFqOSy7HdriH5tGUqY1n9aNNh2ADkL/hbgJn9KjAcXy1gXJ9VPclbULBw+ZM9PX5CBAPvuA9nMInlwATRQqvq97d1HXw4U+R/Znmxb+8zv/7+QKEn3ASds/mtiI8QQvfEaGIFDG8IMzwiEkwpdNQ+B0P91ZSWqIMhPHXPyb04uTlDu1oOYzL6Nu7r1yDn9CB4EUiHyxvz6Z1geEmM85ThaukYKVQpz3kYpIsEm/WxFg0JDJg5bHi2cJroUYQvjuMHeUhbQKx1CdXXd9ZVE7h5RwB5c7ymzqMfICuCmDOUh8eARugo8bVmj+7fpeQ0xbRdM3Q5XPXh29KkvDl/78n5BJcLHENWIZhgSpe5w014K3+dpE+RvtXR2ko3oz+R3/Gl/PfWg3zewxes9YrCTRZDDydTg8/B4D+KCevKSG68YhvY4Xw56udlMvtflsx+/eCrzz5ODC85X8fRTKlC63N7R5JLEiq7wMmxs9c+MXVO8vl7Zdv56A/SYASMAL0C/Qn26zlbeXDX4NH16bDnKdu2XjZNyAGCLK+iglJJ0QQpxJnMRP9wuuEl12ohLZdKZXxQJOV0SCC+09e/4oN3yoAUXcWK7MKg6JyPkNh8OssUtbevPRWXJ6s8gI6wUmTPA5sQFsLceFYzOvE6pST7RqOdILhfUAU5k2asWVv6YudDWYV/4+N/7G8sstB/dwu8jYtqu+PZmYdGBlMZ1JSNtCfY8jKv+eYjD1l2IyogPgPM6utZyvgFSMH7kFBazetmALSUCzAILwbP0iGdL95X434jTtmdHC/TLe5jCDlkDNP49Wc/dA0JB1Ck7X8IeiYuDXlHeuKp2wSG+zhWW69bpvTNbLb3JYn1dEAeY63mWIu9vqKXG3xi/M89k0sjSX3m4bTGHfZLKYzuUwN/+kaU+aVEbVBW1YEBJiv6QERCy2hfAOXzbZctbMyHEsi+rw6gFNJdOAFEAShIEZhlGWBzqVmwdCsRk16Ot5pCvCdevaCxi+NkF/zMS1BL5EXYIYdB0iYWeMeF1lYr43IV1i5bfRHCC/dI4F0z9MzrqPstNHnu31kGQpGOPYl4cSeMYBTJsShDmbt2eOTJs7W9qanJ2f7c0+OXL104Wu6VU2VIrZBKw6Zw+C/GNgczmh+GdZXIc2NZPdMheJiDV5wkLoGhdnpGY72iS2gF1/EyEG9XIP6G5a30xyq/dEZ4iNyT7okcwAn2UDyj99UE3Jntm8TRiWXi0JU+nx7rGi30FFeuQZ3ih1HxeKXAMqtU2pl3ayJj7vG5Bsn17HvhWY0rm4G3qVpJEIL7tVRXkzvPEEftPT4UcryBGw9EMt7jxZ4I2R+TH33zl760Bsvt++DpLgL3MV0kBmje7+oA2uNal8AlgsO9bdfOnaHW+t2JWW4p0bwQgrcnt409WKcg44eAWEUZx7kGNWtcyxVG1ja9tV9Mf+fd+Eqe00BK9SC5cHQiHW25tKoqtaKy0qzBJBtRFbj11C1gsN7avX93V01NTX4yhufgCVfPuqwrEovVhLz55fpYKhGyAXmw0Q9z48PH64qL31HPd1CZgJKY62Lkh0RVpxajX1IemzvU+QFhovm0sXo8OgS4kysM8pPtAmUJvFuchMcvl3uk3tOfz06M4eJAaDku4jyEY1jGzR+t9CHg9i7Y/m7jSzr/PV/+92pYn6tdoqixFl9n+KSiu7MK3ZHJlUXiDr+nfb/ZhI4wEYMjxNpXIGwzCBavxwRN7GU48zJQ/V0NNqsL4Fb1I573WGGx2AW/65Sx6ARpHOAvqxAvqMFg6jqhZ0Zi8bi9YzQb8KQnrZziFIMg/f8isA5lGvs/y/jCndfNLsk8cXjfZLGv6BqEsJZrOv30U0f2DHtcwQ/JAnczhDAbXUkle3RcKe5IJTxtWwbTTU1nGiiw6zuj6dhIImtP+lxSKpocHjzdiJHfX33+qb5AWQXibXwbqrEOIsZ0EBVXgyROi34zD7jYQkXjXjGoDAibxFkwpvVQ7a1GFqDYxQqVoLvEAlC6GkHMj6CjzUXZ9R6VNvcYCMrBY5yDpNI+wMc2IJH1vK3RL8S0yS1lhjpwQSDwlkFBViCheYsbpFl1VjQWo34+OEh3oPNV+ctC+17aqHi9FYEBSpNfj+Rq45pe3R9NmlUFntxnuo+pquwVcH/b6e727gvnzMmvLKb7ZzX2+fl/fyNWv3z5DKQFQa+J5Adn/rnKIwNVcub22osbJtns4p7mhW4ySTlNMGJ5owrlYsHnvsNkqNsQYw8hCQs6WbaJ4elLBJar5WPpYyhbGsXkYW/JJbIFNOeBQGIprTPW77+/B/jwGrs1rVeBs/YbgsiVWJnJF5swiND9mLIFSxZgQhPSYLMFcuV8fI6EngX2HxAbUfZMLytvqCvwZM9s6dRf19aHs/VHOtJzCnx1yGw6gxP68OwPAo9+2kA/2/feje8NRpODQoHUedH/z917AMZR3mnj02e2r1Za9S7ZkiV32RgbFxkItmmhxCZAGiQBQkISQgpJ7g743yV3IUc6CSWQEGrs0AMGTJEbrnKXrN7balfby/T5nndtOYaQ3PddwIT/JGKt1e7MO++85Vee3/MUFp4yEEg7AzEE4Gj2szyKj2I2ZvcMny87t/qDsRqe5n6oMsK+ao9ImN2snhSQOirmi6Xnphlb26y/0W8f1P1Xer16V0xpAPkIAwTOpKWy3cgaHOp/vkfrkoeYpuLi7MaBz6WDiiLwJrMMln4u8gkjnGWFS9yOqdMNSvL58ZhWCoPPh8Rtp97T1j29+XxQ9/B/e95/ePFt3PBlJyjJfRBTgKXHACfI5kCLdAZJF+F9aLcZ8ym7O1zjdcZ3jnYlnYLXhJ3RCJB0gckZ5yOGeDbcagmg2t0aY/xWn4i26OGk2JoyxXqvlM1ifv+N55XG0nIghqgGBVVXlGZVpg1+LlafVeDg7xWQg0di6XNQkemFMtm96+oc2UWhPyLl8iL9eRQa+FJy8tHkK9FxR11eDbJcnwfxTI2Ful2wyJyLAbiMK3EInYH0YF2ePRtXmu5AskvW5boyDzqEIBbbv9oxe7kCu2AXynnTUhIhZbtfy92nWPFWVID54C8vRJbVywnm08sK/b1jaWUMkvJFGOOlFMvMBaShCYvHOQhBwy2ipxBSeBFFFM+lfd4xX39/mnU72kAgvDVQ6Nyr79nZvXTOjLFqjyfixQCdbt/pryi1ZoSSsgsctESxbhtdSUmzinJyyiRGKrXXz7JGUun5uNdyu8g2cBSbx4hc7qLOY32XoOjikdHBic/VlEerqqqINckQS+r0c5PfRyOqDbCly7DJuVFE09LlkroqYVkRhEFHyATnhVqqg+fnvLMcyTtPW7zuguU9w5P7BcSSb4HQYQ+I4H9l8dYrAKyhiMRcyDPsAigP0CPjw1tLfT4FVXNaXxyitSZbZ/CUMC4f62xubDT6puKMQrM+bF6jNs1q74sps4tnzwj6Ve+w6ab3DcVS7V6RmwCcz4aQQyOAokWGYSUokX22zmN/x4I0fW9oJ7U95bRRSubslEqLqFCYDLS+MbYeHsT0Zz4qrw8f2a9UugpmDgwocnnBX7yS8SRSHxaPgKnhsrO2w6OyPmM8pS2GxNda5Fous1HWtm631FGFibjhtm8C9w2pKYotoEz16Iwc118xD37Q/dETjOdCYXpMZ8SDvCEnUVJRVJbL5/uducWVXtvIyetbHYl0DsKR8xRDly1TTA6ZyWMbf/KTvzJK+hPpPIyxPGzMwRVz6ro/6Pb/357/H47pNBVx7EiGtYO0+gCyyt0of/UAF5WL0tZxsJdjUaSFas6t3YUWkeQJZGw2JUC7grTJd/BWLsgLD5uatVkXqS1cd+r48qWVmZax8FVey8p5smv8T1eDfWojAPeP7wlvBoOAwdPWBUhWofqMmoMwQ0STVOC/DC/KYTG3qV6a1wihSHbi0JKFhY0uZwyrk3WJE3fe2Ww8fc2kDYsLHCvqEKDHhxFSrMCgvAiedCOsJ6KU/CrhxD29A3Eycr73nIwlOa58k1JuAfhfsHnEewbskeNChuEc0PIGphl03tSoZTIkcWUm2lp3m7MX3YPSvlZUn1Ui9g0BBgoEeWwnVBfaJtPpI/seaQs1NAQtIC9MJLyGQd524rrNzac3iSJJB8N0SdjAnD6bmBOLxKM1S9cIKEH2g9eHUFAUgcjcZwLEBUmjDJPRvXZJKAcSIMOwkqSZagJ6bpXzqqqAn6Q08mxaIVq4Zyy2HBYwCsyot3DJdyzyOguZJ4ubFDizJgaXkA4GX91H2RZygvtcsHPPAGeE5Cq09WwZDD5FVfjRtydizWvdpRXIk12nG1Seali/o7Twa6LsEVUXG7EMuhMbcQ1KpD+uO7wPYpwcvAPfc9JyhOIQI05ribaTXtCFQGA8Ewj8kk/oAhAS69wie5lmejcezXS/cENhUyRR6B32HAm8TTv5YhXMXCylNaYNo9NvpBHfzaPAuCfGHAWuJpQgo23Zfr399T5Pgc/KiyusnutiXVwkgWHx0TwqgKrBWPoin6/va5mIvilZiHBzIujnxXyeAQCQYZtQYfltbHQ+JG5BKcmWiLTpAPJxBugI2ef7ArlO1WpUUK0NTHCC590EAwwH7r3H/gfVSy6RmUrpxuWoTJwQAThGodGUBpIrQBXfkbtImnKfy3LtlSh+FZj9fDVsDjG6jry7XRbLjCFHAkeS8pJcClBO7+kFvft7H/Tv//Di+9LUlDzP7hum0kbf2ZX+EEjEczXE0BLwwZ0079bS7PbHq2wTZEKRm5kDy22vLL+uGvLXYWCNQuji57ZQ4q2fdFcmNq73GL/EBJljz1uBRNnKAoeA/Aq1nSQIrl3iiyN2+YLbUQPVjFglBCFcHjcbdMQiI4LlyI8YRozgFlleyIH7HZn32RvLQfTyKWS4QddNv0Cr8fCLY5RNkTmiNccwHP1MWo894zEdQhqLrsRytzMMdUWSy9+BZio/PzJWly9aJSAqCSRj/X23npAC+qvnYTcyeprl5gPHW2mzMZRkcO0mbyLwb67DRBgEA9ojNsqddelgPZJ5veONjtFjubkun80mMskgJCpsVOjPnZ0qgT0V3bjIj76ZbUElvTUU6kTWMKlMWla5XyyKptWkkxfdNhOSiQ7opSu6G5lJR1qhJFa0Q7OZttGcKTC64IP3gbCxdZjTOA/gOElA4fBZuhseStRMy1Bc4mheAEdYOq1RvhN5CjWdmiFw4reBo+0EAmQnRZ0g4yHhDJLwyomMT0R9RR2YrJWg8V0imdIGlrHW43cQ/RBydgRHTColCWJhy0DqO82VDnLfMKKsufhDpcbQKqUYHpHzX5Gh9Sobw4BxyqoC/DCKBSFkskIeEkFksmehc0iSHiRSMhtnnNCiw2pp0YWFwf1DgepwBoUalOGDJ3Sbx1UmYGw8QxAtFDh78fWeForqx4LSsnlbLEOqHAkyZnbzGoSp2VmtfX1bm6qrs6xfKU4vapDc7nIH1RHRtQKMSaPxNK090paPylE5MKBTs3xlIEJf7KGpxTBInCgLL0AlYR7Sq+WAe4JO20LYzwrD24ogfHQMXsRshTYW2lQPX5Ir2JOGVYBwUDH0A6Bom8ndBHDi+jPcAVGTTsKzSkI4cEy12BiflEfCHmsIlP65hMnu0qr8AGkSgZW1TcWTKbDzwzp2QLSgFNPhrxZfR8oMK5IQ5CizzMs5a2F8HUEfZDffM3xr77jcPxx2WIL4UYXLlij1OlJ3YsUpdTjS5XZ7MjWl8ylgd3yV3j48vHe4Ai1tA6Yvxw6iFGYolpafXIEqMJLg2Am59HzacYnIsJdicMzBjteRck61V7vd2RgkibE+/tMfRCc8jsGZC+u7gi+/MPzxFSu0oaiSTJh6DibyXOzujoLZS8oThoWaY/M8FbAikTV/Yzu8b9zy186DrPCX0eshFCD8/NijpeM3XOlKdYbTRYg7EhxoUo5FX5iTn5NC1mKZTnFfAbn6WcXevGRPNOPbO5HwvXYglVpW4zx1P6mpCSXJ2QpA3WhC5Ze4NqSCyItdtk0zmaeSVOb5xX5HNkF4suet6jx3ptAhRu79rx+Er7784lgx3Gxgm7Ob01As6eN422VAWpaDpV90UoyvwMZ7YZmfa+dtSIyZM0yU6iFmPhf9g7JfTtR03Y7KPY8MMTigFWIYVnGwNqBGxICeDBMTeCnAGpmxuMV2hDllhC3KHXjr4K4R4fis0TVL3afCLMGUPhOeyE0gr8mRaX7baCxV3pPILJu1eIW/Z//bI4sXL9ZGE0Y1ijhWwPsgbZoNwnYnGn4IA/oA1k3OAIUfKCmrsDjv722VkNyhzOG4sgKW1DpUPvKswGCBM5eiL2YiPACAiNmFsu7N0FN72SsZB1dJEuHNyB4kXteMBZdMuP6UWlPrtgUXfuFrc1STadQpqw0Z/D2AjTUiIXoeJzjlgJ7q6gmoNsiOi+fm2DKIbSqXNJ2IESqe/BrBYT8LkPwSS7Sxk1omWiBJ8vMDU3nYOF1OkYE3wEmTJhUf2fv6+Ecx7EBimcMJuZFn6Usx9uYjQQ1uDwrwdCMCJNER5CFQUcK8CSWVV6GE/Rqe8xbE36E/SZfrGv982KUnbSo7JVMoDYfxS3OSPtXfMTjvDCfd4oGopaCk0iFKA2rCYBCOLISA20x4sCugiWWWu6S+k0OEGoUoIVLdMGosEosTjgXSPTN8NoVAJ8m8Ip978Bd3a1ULFlaCKF4Cft9+09e+l0FS/fQ5OX26M/r6D1u+J1t7+jaS3VHmlnui+AexLrKLyul3de2S2vi2wdgjEmc1AFx/3o7R6HG4uiUiz68VBes8TEZR1Yy3EJddgmKp1N7RxB+XABpEditigZ0650m6xuZKb/SPx4Z/m2b5IZGj5iIAUUErlldg6E28aT6T8fJD9jmLy9KqfrVHZAsdHPNgaio+fscduSax6so33DRPp1VMSbbD5szJhhwQqB1PWDpi00w+8LgkbABaCFqsrLF2g/Dj6UvrsnqXVlVVlbJvMPCQxtpfh3/vBh8EbFY+pjDyUHDPntGLL744m0XeBf0xq9KZ70Wp76af3hW94orrPA2f/7wMi0wtXbpUWFZampUfKtDioZDACQB1deGamBjm/LhJtYNnwU9T6QgNcJ2dcyUzstyHuKkqM3rUbhPtWlqDwyFNgDEFKj7JpN0rqHkTE7GDkKtvz1pyuYS/CH2XLRSiYIXj9CcO0gfrP3+rN8PSCxGTQd6CKnLw1m2QgnKgGhFJLmsX6CP34NO6KBi7NZOVoeSBRYs9rKn6Y0BhHAUhUQIxoWYOCTGeNpH4ZC8Ua0deBTMlkH9UFCEHFFxZAmSaeJFnXlQ1cwCFNQOsnRmZ6uiYSg4NydVN59so71+7uBLD1WRU/YtPdk9CHJFZyjD87pHJzq0LlKXaSOlEgqe42zD5bsmkWCfCDRp0O7YjfHHsxP2euEdJhI8gq1NI+FkSQ9dYGh9/uzcw5OMKAoPagOlXSkpYRpXxv78arye76SPxAomVo/By4LxYr9G80aor1jgv8KNKXJu0scLkWHo4gdCg4p9sMIPNSD6MxEegIH123BpRLvXVJe76JZW84IZwTYZic5NqpmFBYc1OGgMPYyI7r89EJ/TZge3U+SWWlqmDfjg4YlHGBn0ymgUVEM29Y9FcCCqBPX2hYcrBL6FMTvO4qEW7x2NRXnCWo63P48dCAs5qvuEblGiAZxrsfwnDIKG2D/14XxZfGpMXq+I7Bi2eFHlYf/OBAfA8sD+SdCiadTf4B2IIiKM816iB03lM1a2XUe66n6O0W5HCuxmkXgOos30d5ztlpb2755pmlwUHe8Jb4U63Zhgl18Obsp4Sun1zfROv7eirrsmz34hS0yvwDDlZsfaIzsqsNb38S1/yj4SplYjOaiC4eZNTQnjfS0FCCF4XxSZ1c8AOgnBYeF5JpKHAwX05g4Lyu3d2PvxtkKmTDQFt6cfPYMtJl7kX972ecpjUxRefun+9ygtCeH1BJBJRL/vat8YRy8wtR5TaWLluHLjWon1Dk72byvMH2+E6rp3hVUSB7Q+ZiQGngSiqaHbDbVQMm3NUDqZFm0dTOY49bhguq6VjIHVtqW49PjJiIGxhYNEBN4MPSTM0wqq1qNpasXgsVMnAlaOAYUY7T7UJ/84eSz91S4ksMjei/O5yEoeGviWWKG454LoHYDnthUja3v7JyWyGPDKld4huOgCr1Q3P4vhkXH/mYF1e6g6cF3jhCAggr0eNxllwZ5cm0yfITHie64SVHAfFqF3imKCsx34/GYsGqLYGA/unedcrr9AX3HjbCt3UaxA+eGya2H26fbIsT+mCtBAc/LNRCTEQNRL3IQxEYG7WJqpwO9MfNGIyCJxszM1wrZ9FfWyatGf6++S1we8ehDU05mCcpUhuzkbBymKn18ZKjx1o1RryxZA9Pd/JsF6npEblaYG800/wEfk3nlwvJmIMhS4Ph4IjbxeqcyC3hT72YRFCn1hU3Yl+QXyHHHc99NO+5Z/5UqJcLEAahMA3aWvNTSnkseRJsBip3WEU8p7BhZe0AeyA8pvDkT4wmMkOoHIhAT9kZJLgshYSocM74tAso95EMZQERiWrpmDyoBvREsO0EwebMdnzUD/QD4HvUwlWMkdf6Qsqgt1WjrxOu5tP95PrfNgHEvL/+PE2Js7O0ejqXZHInMOjiZl7RuIzIK9TPjKVKdkXTBUOYDUbiEa9m1r7PARzevKKlpgIj0JQvh9JsXWY7YWGbj0FAtf/kmzmQ0ak/wAqxhBnZwpRFVXeNz7+NzcKkk2fGAgtpF1CoY1XIt7+1FtKTeG2K+b6RpqJtYYLIlRvOnh2APUQUZ03/LI+6tzUHqxNpKwNboGtF7CQWLJxlHA54OM0NJfPh+SRFxvBq5G49gynh35js+hfYyi4kSz79KxSbx7WN/w/e1iPHglI0WgUjM+7eIRZyEL1jskPgnIvkA+NwNBWgORlocFSlfh9mV1gCcZ2cVqQ6v0DA/wqfNFguK2RTGYUBRYRSzCmAHyU0BUjRiYaK5S48bQcG0bSKLSklA7fubpKOcp4K+qLGxo7KMqHqgjSILIlZK/fjV/stHCW02lbdDyULhyIYmd51+G2W05YS2cDcDAISA4qocFUYZkBxbB+CjrQHyjRgT/esm5d1iPwJAYguW50o+7DAASu3s7HmTtOeDdWM5Kjum7sxfPUgWKo5J1CJS7FaJFMn65be5B8heFJLeBpx4U+Z0npkgti7paBqbpzv3jrBmCDgdPlPuvzwHZ51xE2+Bi4QCICR5VC8LLUzQtVm04WX/y6pQXZU+FYxjK7AabfB3KiJ6kafz9Okb1/wquxaTBQBeveIMU0R996pTeuCN0Iy1iCIEYSVxd7fQVMdcag4WrTbpG3w3v96B4pWRnGzvs75D6PXDRnTvSkCoVBnhE6JNsnp98d8SQlm21tkqc/RgoQyEKFJCUFoqN8G8Wmy+vPPNoB7bPsHN8CuXgI8loLFIuaxdq8NBlfIPR3EuIkn8A3S15pNj6LeqVwRNP0oCDymGPWcVpnDyPh/Bo81VO3Chq/HvB728FsKPTt2JEdy6f++CH9431ZfG0CvQAWzTfsOv99Q2K+y9vY7/IGf3uEMr5rY63bw5Op701p/O1VZflfrykou2jXCJU1++dWlEdRLfUQ4neD2F6PWhT7m6MjHdsQR467fD5oPTK9qAZ7DNU27Tl8EbADp/XmaR12PovUmE2slWQVc5CtVKronPZN7dmdnHzsrEJz0JNj/Qq6ZD+EVfcr2uDCokOE1hd1C4q2vojx5gPWeBtDcyRbar0xOZkPSNb5ImspfsGC61wUIxV6gkB1hjOgVrSoArAyiGQkEw23lweCa91O7it6SPmWvWjWjS/3R1dC9t1Brj19mHZ3BpVj/ZzBddOK3okY2ygwvMczkXhcRdkYMG+uJEIGq1evNtTO/W+fBwJyUVEMiRXyoZTcqKosSqtdTTGWcMOLJVh8iOamdW/rcE0Q4RSGNaqP9wQ/DmXfKtBwZu+9J0y5fcF4OeBh8CjMQiyu5wTk6ALCmYrF6NSzL7Sx4xjkv1J1+T+B/GhF4hGzj7JrZqLnrfs8gyfLjLO3QhQ3wApwAFAuVJhZjTbaXYg/nBrlWNN2gVxJw1RHGNVagM2WO6cuL4Hkye910+rDBChA6OBrIk/dPp6hvue0C98VGfP74GKYDda4Y6rNdiqePt13XmRUVcN8DbmA+0GS4zd59ja+N3jBA9jMbyiatXIqlW7O4dkdVMr4yeHRtmMnNz9Sx03PrZx9Dq3T3y77xI2ryEJMqCptTKwfm/qb2558pL+/U66lGHuJX2QBhtUOaOH4yCZY49PX/si9DrSFdFn+jZeNkwq+v1psT78fMgYQ0iMVlJfzHHfpeHEx7EyKCsM1lE0zl+Y4Ybhnsvy1sTCgZ395xqef44P6d0ZR3BBZdWBm5AqAiTkkdj65VhKE+gmRWYkqzlLUVngPRaMeUvHGSsJOxVB2wyPrHdj+0oHl5RBWwDHdvqBhBqEBOAFUUqk4dzWs5A//+IcTbuQWJpKyD5n964BdReUWgp4UdR6mfw4mlIxQH0QcDdSbU+WwWtYCvDSDp8NbEAyPww+y9r/y3JSzpAYLFTPM27StH69BuAkHwdcGEokRRRfbdUNZoVLavK9845bR37pcyeZ3DSo1z06HJqNuyPvQGiOUAWycV1/u83WHxpRHXx/XvrCiTp2F640d3j3IVxYfAm9Mn6FSSMoLM8GvC2+TciZVszsUD+8MqKY7nWIu5XhqA7Cwh2A4P3xtoysbZzoazKxENdsVsFS76ZjyVCATVocz7GdRlXYTVptquNoZBPVLFMOEmKQjuScW7J9/EpO778+b5IJZ1QMi754Yi48OIAAat6f4HkNCAAFZNNlIDPgDxRP333+nUXky+XY8gypKgM4Yg42DRhOGCKK8hjkDFmmgoMceQPWaeSiVnmMzqfUCx7+ApMpcl0UNu1Y4Jith6QARgHCZWYVnIAHPOQiLFJAuq5CRBKt+6bKySF/PuB9JTC8ST70usSfwimPYW2FUAvq1HJ91ipbwEpt5fphUzZFnMn1MpAwXfMHLGZpxWwK1tXefBOD6iQVrLA0blyK8zrQTmJJMLmc/diwTTyU5akBSwPLLA15IU2WIo89BVeBcDrwYiBl3w/J+JpM2Hn/w7TdOJbteAn748KiZrxTysYmhTHutndqdoFgYQtT5KIWeh/RdsWIwl0ETbgTkoC88UVfQd29lZTY8Qtq64NM34DrcF9CeNUg+Njql3PHefNdgs8Oh3GsXI7cBSfFEZ3RGiZ/NK4cHAlmn1JBGJQ498qvwnc3N77jn6Xv/Z38lYwdxnQaKFZeM2YXO4hNeSVYbULYVu0ctKn80FJs5oVELaprOXgEmvIsEWjgPIT8priSfrPd65UPBsFfkRRQlmJpTFNzIIpi7N5MCmL+/mL+ffdOXMapplHqmLT2JYqR8rP1jZU6hfQJgbEi9FALXj71fpeQMm/vwwV2DPZuemDAcsyZ9PmlmLmcNjgruFaOJTM1LnW0jJHH7dmSCyhPsM+FhOyTBHC132Qnc8EM9/qYr///SqmgscSQnx31Alo0/wBwchHqsG7HDMIho7jMFURFovsBkzY8DYbAElXBeu9MpEbYs8K9C7Xu9Ctn3J7h42nl4fCADq5fqgzU5Lts84CUcSUJhnLdALAMgRZKSPEt7A/fRtQXBabeatLMW0LAkI7bGWaOIM8ECnbGqGIfh09mcyqVL3V2vDUxRsfGuI+ubm0lmN76xezzPTiV7nGnu3oBk1TopdlHYkPVSn8thsdy1FqdfgSRODsUiueQiwhXALsHczBj6WoQubHCPX6dEOhbRWSQEmS8gzlgNoqAf8XbxeTUV9wLQ/nNY8TeUmuJ+mITDmMXZ+wR0yoJrR90Prl6cchw/FpJ3SmGxGOFcxbGmCmxNpx27wGFxwfrPvy0Ul5rpxGSuIELLl2NDbljNC8DMdmhgwFvA5k7IdGYENb31iqq1UBKvp49HSzbN8o5syKWTRwOB3kySH7GbSsZw84amA47HGTM5XRJibvfe6cs1Y5choc59I+o+neEVuG9uhaUWNTau343PnFrQyOexxbUhixbhWbMEDOhnU5UDmymqMiuYWuIvz4e+N7goiAIps8wSuG87DfrBWIF3Z3E0+oeAIgwifTLXMgzIwnNxEB8N6YZwhEuNda2urU2srl2fXfRehEIBZ3k+7nKZJWZY3Rr1xF9eUduQ/ENHxx8k0asCK3clPKO1YAw8FqfNbT2P3De5ES40gZQRZWPiTjt8PjoSSiB8ZQ0ByvY5nTK+ZXZM0pvq89+44+Q9OTmzD2DoDCs6dU5ROFC2K2Rckvv8qB6CINRAxPUb6mhY3ykKU5Sm51SdszZHZyArpWpFtCgVglW6CLZsAWBpYDwzHGAP4V2MnWAOY7WcJ5qBGmlCBdODrPXoNmGcxObPZH9kMslBl81J6UmlP83o5ZylHid8vkQm6q1gcDuEVZeJdhwsuQAAQABJREFUrDALyiTFF9TWbluKuQ1WMzhlXGHaU+K16eaVqJbtmlNQHUS7j36uslJ5fWjKAdQE6qFoz5m8l791rfeF1YywhWXyKpoz8tS+N8rLYxdPJr7BQSECULOvo/giHzQlV8L6uBjA7klYxn+EEORTS0pdQC+c2knpuzCnMSEgMx+vpQXrCkz3StNkepVU5nXGJVRDRqYUmN1PWJZ2L2f6X2h+l5bbyRtkiJubm1MM6Bi4GJTMUpGzJRCjhPYXIYaJH2PEHFDfJuo5qnD36kpK2QiT29/ebtullNvOy0egU1UJ1GopB9SEplsvYJ/491gqLsHanEsZ/I/h7tidjHaN4GAORhLsj0Gu/mlA5uK4k1dQnbpb1tV2keXvQIFFoxNY3z1V+ccauqaKgOxYoNJWRRzs3z5B6AXReetFQISg3SQ5Rqgh/u6EJzp3d9xBWVC44G4cBxEaFpfnBqYuAwENkmhaHtzo66y0cpc/174A1YUy8NOHLEZiY+nhPiSwCJkxdWQo5h1kdHuFJDWnGSWYOeJ7s7n5nQv+NriYGNRvcrRVg+D304mJ/s9d8C7F50cBVJ9hOt/E4rtINswDjG79IMNRB0Vd10RB+gmSmpdAVTnBsgYUlZlhmRfuVY/swrWa9RY0Tu+LOFxOTRLTgmJUelNNJxbCU5P7jaHJasC+Po2S8xyQsy+3sTxAn+q9SZ19+lpo5j3QGvHYHNrZLonxpdLMYaHB10lCDTTc6Ge/cPNcB5SXOo7sOl6YTFoQhGSpgnpB1dUNUdW6UQC+FVjpe1q2/ukNsgmiX+iNmwiRDgI52H02YJHBg/i7zwIf/Kc6yIZTu2Kdr2f75jAJq+wdDS8FN8MLYDbrx1hOINyUAw8cxDqUFx4HOEZAoE/R4CTRpxC3n0T8XkLJf7NIGZd2FXq3sT3holyB/bQG6KVkY/YaaUOYTIxDdPQEw9yZuHlyT/7la5cCObMUoUQ73Km2YGzohek2AC1V5RatVfBEMUzZ3sTxA62uec0OTY58heWEl2DJfwO5mU0cbwoLfJ6nSZt3BSIXA3NTidL+MUaNbibhijNxL3/rGu9L2IG4rn/uODqkHzsm34za/ADkaqHe+EmYP0D1UFgwqdWwhFp5g7pvLDmJhbMoeuedJ6gNKysryUC3mvFDYlCVi8++CYPhyzC1SrFglwFZVYxztPCS8ZamsRciaTNT0+JvvrtWn3w3XjTbccWsCvkPP/lRvNzBh8SckpAkMnHVQMqOomfAlXKDVLrOkq10aZV98Bew9hpx3Uq/X11ZLGZiZy9Q1pTkdSos2wbu4IGMbkRYLT1s0tJ1WCKvBpZ3NqblXgC8fi8qogTpndtRLutGWdEfsHJwALTPA9SqCWGMubgHS2X0R6qnZCTUjJvgLH0WiJlSiFn6EGNbpFlm2UBInjqca49svBNENTjmfvrmc3YGkzPePNA3uazmL4QmZCDWXVxR35NKSnRweXzjzc3ZhepYKFqH0GuBTeSAHmLOtonSftCFXYzyieO4dgniuHV2pz3eFlOK/lVJpmYX++IzkRkOIJjLKKmhpbP/mu9g73C/7LI7zkMYqQbxW5CFFb78u7v/YwqxaGrdF79aGh/pl93OvMXIX16F+BqsJjYH1YYArlshBKH7aYFZDRtpP6jJXjQM7s+yqb3iMOm2ZbNnEhw4VYkNFqRFSpnTkb7vZ5J80i0+tdiRpM+o4EUBjulwMMxDCZ1CdZa1koRU4hklNRzIjBR7QdQcG25PZWLtQ889Fry5udmEV8FfWbsUVr2wCr1Zn5dfoB96PT1686dWqI243mhkokel+Ep08yXgk66tmtEYePr1lwbfQtlyln8CoRXyStr4UTtkX3ku0Dlr7EUlzO5XXg7aKkszMGSvgsFSD2QHrFqkkk1zDOMUtItUsamZm5Dw3Qi392VLMzfD2DmC8boeQaqjkf6eg1IScOwcZg7ktKIcLcgqrQmZ1uTAu7lPPsh+QhKdmV9QthbJVKBazHFAUQvdTn58Ip0We8Jq1apyb/eYrJWBHD6X5aha0597ZO/erUpFWUUhbZpLoL06pVnsbqincJGoHPO7xcxUBsEnlOkgeZsviExviQO1CWQh+pCOU0mXf/T6MxMJq/bcC1cfCCq1rEG5sat6YM59CVjdaiR7NiqacfdQges1oAni5Fpw492exoUfQ/IH8Rw4QDiAiQW/M3UOYqqsRukPqJb8MP7ihmX46ViSuRzWYzGC79USZRAAwzuOc2+8Ldct0Z/dPByrhstJESvrjd/9bMARHGxXE8ldacPcxaA6AVUwRQLNdj/+rsIPEpwnZcxnVVYGkuX5u3NHlQdHTPtjtJ2NQJAzATmaIEIMw04QQ0ig26IcsH0ZygMrLylnlMfgpt+T0anHRJE+Djv2KMhy3zRVA9hX/lPQrbgesSbIXpuPgwDtEUun+2AlXw+C52uorqnCFzqHi1+dSDQCb/k10zA/p3pcztNvjq1fUoEe+Wo8rX7NtyoFGXn0CI5xqvgtAIKPi5poQOjqKVCtJxB7tiXV5ChQvwsAoIdbz9ULirkuKvMLX4vJVUgE2v/ji58ZWgihUZzi1KI3fT1iWSAGvQ2/IwTClLKKfAMECi/aG0heY/DsLZS/wgfppWtYk7GDNOgQLJPXYUkcRrx/Mno0EgIfwz0ynf6R2h79tVrofC6w8409C4HMwIXeca33svQJz3BfAdSMEMbRLL6HsxJh0zJyE7r+lEAxKcCEvhLjrO+oLLuKtJcIgZIxs60vOKOioLzCm+f9GLLkLs1QIwwvzmhYn58d32TzMvjc5bmS6EPYaCOIlZzYKL41a+GqC3+5ueevxtJ0X3xUXnlRAzeKWQYe5/mNzc22N8PhGI8cisFQUfTfr8GF8iMwWv2HqrP/AcKhYY2j9wjDqT/153ve3FziPVrAeQ4gGRqGVzrflslwmXJOhhJJWmXUYjOVUaYy9J7168+c1Uv6HZ4MBbEEXrfkuKaaaYxvt64IV2U06WqOA5kOxpPFs6MI97mMtNWhJZMaQeSAO6WVFPVDP7INdckzLVOPRhC6JOdEvUYUIUIk2yxZ1T780MP7tviSm6N0/Tx4Ad9ELfWtrEUsIuY4dpp7FVn/xTA03tad1FgiUJFwMLaGpdj5nMtZAmsHmzBF9YG9HhZqFzzwtGjyu5yU+iICrK1I4F1q56zvAo0A0nVzR0YxU+Tzpx+govSidPbz8D4/C/B8FgZG4n6Ew3fNrIqJ4an+Vo1J7aI1fUtrR+hUuTNZyAA5c+6Hq/saNOJenMoUIzvBLl1amvlmnXtq7/33Txmy/DB24P9EYug/UQ21C1S1WpJnYvBPoQhA22merzGHguNyevjPAiP/ClbuD2kjc79DyPErhnaloVOEhfFeW5J6nq8r2WbyzPOwLC0IqBU6JK5BsDm/osnq94j4KIopeBfkNk6/N8pur9AM6kLUP5wbTqRd2Ceyf76lloprh1qO6o7U9qHOfU8n4qkRJLq25gpSCc+hpMPOHE7KymwgGGIhQymWp9Kr8zxFM6+9+1fnv9oRqyTZ/3dc5+Qvhs69Asv/ECoDGZRsXwOZn+8Zlv4vGOiNo3KGsVj9KBDKP9c14wcIBf27Nhn4IdvTtpUIX56V7zgGcjmXVSrVMH3BqtI1a/5mfI0sipuHIuc83jNa2goy8FBR/eUehXcpivYknuP+oCmeg02rFuGGX6ENv7CzBMBMzVM1LjGOzZ54O4H8mqUI6q1QZQPCu1aZxJooKqC3Imh9jGpry8aq8xatrk2o+rew/IdsLP3fuM17AGSVEBq5zVnmuqw1ptRsOT4y466T8LX36pN/5vfKfL4EEpfDQJnQGUsoAE8HnB6jF8lk1SZJTw5GRv7UV+jcxpiRQWySGeC5P64XOT9Gtbezd8Cs/OYXN8ThqYxZOtVA+/2iv61Ntngujni+PWmznP6hw3813z7o/iDhE02WARMVFxLRVIRMUiZHAXavxzTF6iTX72s/fFxV1S39VPyt5pPqNz8AlBBWQwDGDUnq5uiqHDYZiSA/qAk9mkQJkQ56WtBEOD50uNl7Tj7S0P/Xg1iaByPJQbg612FxQLiW2qyn1Kfsor6todRPKsROHVCk9cK6OtugjTRqGMuSBQUIplMa6fCWgfBTQBmUCbx1hWrYw4AXnYP6wTy4811YAJ5lJe5xcbInDmHKU+fbi/gPIwArzDBlEsIDmsBveQuIGXwAzyF7WMRKgrlILLCplRX+7OJGXNXHuiea7Cy7fAgoAjuH/G4yFWcXrO7aNhLcutGySGk0mcAhLBSRCafzWN3ChZ6Dj9wXhsVFj/kqn2V55qaEon9JLM8tq+DF/hgsh7FI7KjzrOp+f08AHKpMEUbMTtOg3/7E3PzsIH4ybQxJdut3iBUfwlyIaYbkB33iRchkQTaDKSzJ8V7+ylhiKxPqH4lxnGaT/CPYJZ9ChdhoIpqCxXpCyZncGekzvKSpIpI/odSXBoIvYyKWCrT1RiqsA7DAgDGMvR8ZqnkCaybBmbEIxXD5vGCJZ89ekIP7OhyprmZuXLQIaL8Tq/rRQEfH/JK6nyBuvQHFUjUYqgqAu29DCu6Z6O7JkG99w+MdPT0W68zzjRxRgkN4ML+8cBkgeAgUIV6wpXeCEjzeXFrJlMtR/eCdlpWNbZP2nn44FyzgZM24DBVs+hhlBVSOKRlzO7bvesPxavENlDG3L3Q1rJRcB2PkoLRJxX0dcbDGbzp6Bra2xYLWzTfd1pDO6DUg2BfdXm+hpMS3TmjGsH+oc2zr1q3D2Hyziy9m4lKE2psAk/i3wbG23goUxHgr5nCaZvzUYK1vDoSSO+3enJeplpZ+CiGM09v4Ufj3vt6A6M+FrKGsSqZiFSB6PVBussfwKK5JJiJ57Q0NA2SR3WrYFtpAPo5xVwXrcIlH11+Ht2F+/r/vq8N8hN6fCeCH3T8YDMbz4olDLoEdDOvCOPrSxPw+413BiGJb2tJ6Haw1EknIYOB2JIeP784UrluXndfrT/CtHFuC1MB04zZBYOHW0XCC5TkUmSp9lsNR/ua992xfAW94Q1mZvG08EUbxlpBKJ4Tp8T793TP9+r4tvqThhp7Zw9GOgM7oW5Ka+YeJ4VT3gqWlfAsKLH59ww0JSD9nJ0NQT8Z9djfiwqwHEpbl8YTkxdezFUtbB47sX1W/6JesYdwOfbY54AogC9ZzBqW8bKrm9okdnsn165uz5zl6dCgnUeBZbIr0pbBA12Dih0XL3MnbjUSqBd9qxs9pBxZe/P+E+0uspqbPfGm1atE3IGM+G2UFB1BV14FFUkK8aN2UysynOsZ/1zJRdBjjTj+5yKGwgApaJ7PhU4OBJ8goAGE7ZH6Yy+IqkIYGq3lt4l17Wlv71+ZWINtD806O6kCdAIL7/mxrrpmdP/nWQPS+pJhRd++I6LPm57UCOnMl1q5jYDyblCzmUka14iFHcTFgZHVw6wcQunqWk4Pdn5s/k5Rsv+eRvb9KfwCTL+jtHB4zHdInwMEY9Ii0BNYdBixmeyHqdqOeUp7WctgiLSZXUmetEqtQbvDK4FQIm1HXyUVY+31Ly4s1dQt6Qc1WCegcUi5Wl32kb/h1gO7qjw3P8FJ2IS1nCg5bUXVOkUO9/vkdBBVBKv4IrKm99Ozzzjc5uixksDsx8ZFUpGmiMHs6Y1wSpc/SWasC8B+/jsRahjLYfz/w1MOR+2+5JYv1fYnjBljKcKd18zby4LAxPe2qyNtyZW2B/Ppg0QI1pSwFP/Zxr4geS8dLweT03Hp/UYqqLrJOXyzgUotYbFjNMGY35DceXN/gT4LB6xDZbfA8UflspsDpMUAqBN+zY//J35yZK6rBZHqSsbMTTI4UaL+LskpuMo7DWkS9jGP2xa3UQQpVbhZqNmFePA4VmbCuq4NCOKxUzp/vHMkw1+PxIBFHD4ooKc+Wo7e0dDbU1vJ+kWKJB/lhdEEvlWyd2dWpvrq12bwTyeYT4xv+82nH5p6ws8AtVi7MP0GoQxZUFHa9BYG6S5D9rcQ6kovS+aP4SpaeAMnIUfC7lYuiuwDvZS3o0053Rv/5viTcpls8HoBsGiJokkk/gW1UduW7VqkJ5XKQvaxatuaS/NF4aKzE7ZZvf/VVZVl1Hc/oRhyDP8flMPq2v2SPkoQH3AdzACQuVG4xmLLMJRg+D6YV4wGrO7571fzi7GdA+yjGFWlews5ejdAFLG0TWVH6uM6bj6gZ/bGx7RNdDkebVYlzTbft3a+Bkrp6geP+FbCTs8Hf8AwQGPdJPPdawqbtoxQrxXPMBp7lysz8zP4ZbtupUsU7TzsROIpjYxNWGyfQ3Sh9HY5r9Lhp6W06K+66c25tvCOYngVL81wbT40CS7mt1mvPegDkHJVeSZ4J4o/SRj83Hk1+AWHvebA+7tNU+gmvnRlFpVgPLGo31DWvB0cFNO8Mjclx7Jlhs/2P7hJJInYnM7kgdf8EEo5bBMizC4ytY1hNOUWOvhSx+O3oVzD7c1h19AVuxhyElPtZfkdu8PIv31ofS6clyu9Lfqwob+Tt4Z6eNTWlPeUOKQJyeaNTyeRxgngViiZyMS/tCC47SkVhVrHP37OkwBlb1Dpuyykvd1sO8SzEaXUXldgBzLa26vqvNFmc+5LDsdjULChKkG4EfpjqC6vzoGAPP5kuYRgtlFcxt2P+SSKiqUSKkk1GVE0auT3roN1ubDzP6YjfiQ7sTMkNsg5aUd5UBJUKsW6ha+uvfZPYKMk6TWFSlvaH0sUdHJbcJItNQV+ZMa2FGlL9vam0Fwvyx1WKmW+jrR/l6OwTrbMKh5tPbszk+x+lI8cmKZ/5ujoVGk33b33456E77mg2o2kFvPfcp0DU4YKJM6AbYip8bM+gmOs+wI75Dw/XS4MXARPdK0miGc/MQAHCLodIv8SmU+0bchwpyuGw53O2mVqCKX9NjoYIx/KZ7hNyTTKHyTO9829cfFKhC0xT/erxdGxrjfME4dWtLz+fOads5jkomsEjN/MynAWMsG2SnGLQUkVLps+Fbm0G77X/jdOekbff18W3GFnlzhG1B8rEDCeyXwLy6DOAudQxFOUBg2Et5EG4vcN93f+ycqUc7e8etxw5s1A4UMEy9lhVEzcE8zfrTpAOH4yliZZ6ASiNHnAGe9uXLWtQifV04XW3VvGi/SKWo6/HhAXAHrEgmnoOnfw7rV17rXl+3rgIvfOM5L5keCia+J3flWh+16QiiZ0pZ94NAG9fhanaArat/75yRl57rVtMz0UW/rpbnN1gmZwFq+oSBFD2Hxq1DzT6KQNUkLldulkwsn93cnphr84TM4dypJFKn/PovlRwX1/PsdZ/WTovu7gciSZkhqEWwBlvgOy90ZNMiu1Rvbx7Klm9tf/4JMDf2r6JcD2lM99A0YAha4kfJxuKD1S5be0rc+zAiBuhoKKdb+eZZriK4AmmtxGkwPTIIKXao+Om9Nh99xiw9LKLzvTf9kXS0BXkM1RaPzowM7/XnUmJILW5gcTUcV8jiEGrYBxPyqgIBAPZi4bFfFKR5bYUxVzNi5Itk9Lzu+NpUXDlFB5+5cUAUZgg596TSIspWfMZmjhgc9FDExOpoWq/E6TGetfGAnfiNrAB8rx9EeLvJYhG9KpdBdkCjJ6EDM5k6pvwervf7DnWQYDv5HyDKW1mIq3s5QUUT1g0yDAsz4FAeqwPqLWYYpCN4mlFUXYYNu3NS4qLpyzrzux9Do0Z8TSv2XlWzAdjSlu4IKf35mZwGMCjSdXMW542tavSDHUh6tbqeIfUqyjyCOIyc8EhshqscwuR3FyMePJmYPYf3ND40VSuIP1HDrIZEUmnmcVgxzs5Dg73xlS7jf8ExUE+x6TKYybopOX48UtmzlRIcQ7ZoMl3v75hgz73ik8fO3rgzT3uuY0dS3JOEOEPpNMCpXFLJVgPbtYcrDwp5US+889wHAHcsS+jzzYM7VKgez4HAce3ytz2UdI2wkjXOxXXBIGfSzEcSgv07lKnLUj+1jGYJAzB88EI6B2PJydL3B9esQXWxff3aJ7pCtlpuRmB8U8gqXQMQcBfgJTmbsownzEoY0mpI5/U5bNtcMEhdQ0Jbwox8cyMfX19YutgqAj+AeHjZeKs3ALS3Z/AOKtPF9fO2dkXKd81GVuLEMO3gJG9HaiI2VjUXgds5sdpSv7FOUU5u5qbs7Fla2QgaEfW/UYqx3nN8tHRnHffYbK4zgt1Y6gcQ0mNZx8dYyL9+EzW5YRvYxF1Yt7ijhMiGPCbzk2wndmMeILjvYjWb4jVzL1y87HJmumEFYkLNyFmfQeC/r84yYFArtkxfLwDi+ovQDWJzA99OdLH3wGp9Xdh6a1zCn64wjSdThnnIexRjHDzLl9OXu8NOA85F75upkZH6RyJB9YV7GYW93pERkEuDkKk/kx/cCUvFXw+4aBvnnPNVz7zWNfkvLs2bZrmzaCursqfHJvqfakoPTRAzmmTUVULXBgSTa9l9KnDhzviL6BtByBS2CYDCokNbFAVUU1nWnmypU/wKO3ULfZaKmNdys1Z6yULPdm0vtFYGmmJmi+3dB3Y5zm47cCK+qIwIyfebrFnwABPWX9+4AFZ4awK0LFkLIPr3boVU5/cDGUdQYLxZV3LTM7wVVRv6gjM2YCEm0uT36DN8JOarN8Dq3yzrptX2CX6O0ZC+R4y02eHtMxYZ0PxYZCtZN1Gci5ynD/LHc4R1DfBdrV14MWne8kzIO+XXHXdAngNl0LpWsO4Q4LOutlKZZYEUolnHCz7I+TBt2BB7wMC50k7bf/F6Oz87KQk3/0oHmSukPFAftplufztYHQ+SWReAF5jhFP2Ai7YRdOgO7UUqQmxh3cfJBR4fg4VI0iBZhg/5BmSz6zOz0/RIiODM8GEFNWpDf/d3/8gfyfzg3DCoP1wkE8oWBMc+q7x+NqUab8FqBskgpnrMZ+Q0+Y+QWCK0+0RORFc2hah+pWQEJ9JyqjJ30bFZJjjxE4Qeslp0LVOf/7DeH3fF19yEwzPLQLAeVSTM7+KJoJPdeQ63nLnuzeBy0AxBHbOUoRJnQKSlin9sM7Q+w2WVmqceWdTdvECdiJcvGrVHQwhSub6Im9jRjVhEfwmwEHfBjPXv+L0H4fnOChTyr2ZROJHnlLvS2CmJy5FdvIRrgWJswGKYtVBBvB6G+eZ1wrUCmnX9OFwuwpsHFuJNvZLeubwV2fMAFD7nQdgOm7U/WKuMjaRBZsjDk1VI+AMrqQRg+Q94jeXVs+9DCEQ9zu/+ZffEEPUvVTilZgp/1g29SdRaXUUGMTjSEbu5nMYGRhDKIKaRGgTHCLMbpZOpf/ybYhRunIWISQyCzPiKCfobRsaGzUSconpjo9DouA7MJavhEVcp9PWeYC8faNhYfO5iNVKJ8+RTTISLgby+5SLGkMpwUNiPNJ3zcyZU3esq40PBvu71AzVgkRcRA5nXpBMcQEs0EEtOLgT/BdtHLgbkO/r50W1xiUVnZ+srV+47cBE3uvnV8dfvnZdvB1qG/msdUFVaZmaC4Vmch3ExjnO4kRsqZPjQ8eQ9Dqx+MZ35bZG4qkfZxxSHxiyb2YF+vYvrFyz6OEtz4UJvK29vqANCbWfwFN6Cjudn+G4fNCrPT58ZHfoDrJ2v+sgsb3zsSC3VnmP3nCiYjBbQgvdxU8pphkQGMdTpKgHRIRHaV5un1Na4ILaxm4xYf2IYtQfFOeKPz/0+D0d73Xud13qn/pXoHmAcrSv1FnXhVOh9BpL4ZYXrz7BXYA499OoNH0CE+NuPs1vAcnOdAL6f7wn0r+WqocRrM+bWV6eNT7+xy+9zx8g82Msw1z89nh05b6J+OKP3fi1zyIBfztw/98HK91VWHQJh8nTMODuhjcnTHqyqizZViwpcYUZFD1ZKFllQeqNBPNZ5A/XVVUB4SmjEAGqx2Cryn74Q/rPB7L44rFlwAEbhUbXSDOsQWKVRAPJGdjIGiWKLhkMhTiSeGHtZg+roUgBizLikwtgHacnBVusGe4j6Y/XXnsIuR5zBxbfhdjBSVLAhhLRx1Ct9J9eOvf3a+uKuxpO0kwS5MLe0ei8RIq5SaP12wBzAykZ18tostnX3p5dPKf72NA1Bmxd+AA9YkrOFBln038jrwR6BlR6EyjtOPDaDqViSPbjUAVQB6FKCB+egcIJQmSeL+s2flPPhP93x3rLiEVPPnf6Qe7fdrBkb23YeBCqC3cj5PSDgTF1Myy5rBUrCUwG7QBM0ywzEszMHYDh4fs0sTLxcC6Udd2NarNXY1EjSxQiU76Facq8BWC0esg1PctY2m8Qv3wS0BoCx7nVVVpfg+8ze4CjfrK1K48og5D2XAo14s5a/+E1c2uyFip5jyBAQAfZrVT5d6a8WgeSm4ccjPX64Wg0CaiRF9VDIVjKr8N7udDirI9ZKndRyMMtebonXPJ0+0TjnIr5JQplNqNoGdfAMoZjwl0Al4by0SIv+8G3m30T/0F5qtET7p6YCsqNKU0rAAyoSZf1by8777KziKVGFsG95b4OyhR+5pFs/4VF8259Iv3n85pWV74Uy/bJ9KlOvZLnRr43/YZ/8WKwcplEOZoLKskLM6rpAtnIPYPtmbdD8cyVaYpbN+FJBdbXlPYuh6LKh5VImm7v+/FKSqkhSVINHt9ChHRAtWzJdkmSiNWYkeNj2LzrkYeo4AWzevf4VP32UKioJRh0kvFFPvP32gA4wAC8BN2WtBz44N/97N87z//2b1h8URRhgVGL/RY8s++jOu0bGNoL0ewuXTXvQ77mP1NO6p7OrgMPKYz5ZFKCKsvJA3PUkmxiGNzRnSDB6sT6W03umYwZ3eSiIEmRwByVJfia/s6Zfn1fY77TjR9Jwb6lLCgSM2PdQ32DpIJsRDVqwGdbrVv09rz8nC7Y+8bglMZKIrdaY+GgAvoAPa/nluU7AjgP+g5gBcSvJty2ET2hVKAEbC4WYiw05m+tntzjS2ZTp1yhdtBXOoS8i0A+cx369hNwN9MYKs+ixPD3PsE8sLKiIrvQTbfv8ECcokUapYYMQ2USL8zMdSem/0YG5Ge+/a3z8fsXEBedQkPu5WYVjDaiTaGEeg7Ie27Egxw1Le0Hmq7sOfxkd6jkrJIqaBV9yhHXfd2ZaPrNJzpTTScVFMjCUn12aaVVxMkXlvgjyEynl5adkK4m9zcWl1mdocoNzZrF8myRwRmh/igwud7C2eDTvYGk4t0s+2NlZt4QJhrUQcRbka1eiwTjcwqd+M0fW3f3sebivrKczGyBYy9GRdPe/pCjOxkLLzcE6cpcWqhFid74gcP79YbeXuv3iKdP3yt5bcZ9kXsjBEDjOfZ+ORObuGHOHGXXQMDlsttou2l2yjR9DTy/wxql8iBswfpmLIT4KFiTrEXIQQuoQnsxeORu1Vs/v4LV+FI8z2pDSR5aNd81gUtknyXYp7w0l3d5WlN98Cc2Q/lwCIUvF8iy2WiVVozu+VPnWJVdyPcIkdDb/R39/t5jo3pJTY7NxZ/HJmRf6/jQ4OnK0dkNknPYiiF9+SrCVf3hVNEwrcVZU7jKwdNNCc2qsPP0bydC+htCEdOoKMy3JcbscmrJfaefh/TBR/kgY2gwmsoXoYYFjoYpJSWPHx2lxl+8/7/kQIrymYz5/8FIWERz1DxgfBeDpKlJsIQ5bH7BrK98+/tVI7FkSW/S8sbMtNR1fIRHLbFFVKFJnxxMRnWfxFdAUCWzdqgneqb7DYsvNZwB2snQv4ZBi3QFCOItcxNY/ja5KrxblzjF0TqbTX7u97/X929+YQLQs3d4sNtffDbtLKpBdTq9HBj9fMPtD1a4bZPd8ZQJEoiJBGOO1rhs2aKvD2MMfCCL72AkMMUzUhVclhKVEvfvGxtEiYnk4CV2BNClA085hGwSTHGLppqWnYwFVC9l9PsK3F3TSbfpzihFYUZ3KhnCFF4gcvxT45HR9osW+7M73MBA1HsobSwHXO06SMl8GmGNEsSDtycp8w+Mom3USn0di+x2AmHLVtTtP3KEqy0o0M1tm+WmsloQ4BgrWYEfD8S0wQqPpMDc5L71b/+9EIUh38JeUAW74IFMKP7q+uKcTAusYc1GfwOL0Hy4x/fqMvUylBzkyvn+Usj4nAOM8S1gD1toarzHVuGBSJs9Mhsn+Po9D1ZxErsQkLH4VocUIwsdiXVumD2bIoNrd0geswx9DCWSEYTm4rDwxyyauzShqp9AaGRuWrO6EVZ4fIPPEe4N0wUZxIwFC2xiDPVDSo6134nQRnMlZXXG1EtgBC4CmeMW2RZpc9PsDEhj3IaFcTmj66j7ylmQcuXOHUC52KEtLwbfzVRG+qgSJyAIDPLvH25/Lby0qiYIjG8qpuqC3TKCAKsHUmqKz+jMXIeHfyWR0j8J8pwXj48c7Thr+VqfygmXsbThQBFJdyrDHIGcS7bvyQY05Cq+FtLlXwLKIhgJ9z/jchYcTcpaChWQ54OVbI6rOkeyi3RjJOXqvGVJfXrUyINqEkjZecGDTdLPeTyTMxx/kRjqSqZWhZOpC3cGpmJuXtpAQR8jHBzuAGLDBR6OC2VNdwA61Qa0x0wIiX5GAbxK1viHPju7Ikju7/9Px3A6I1gGs8DQIAIvOsbVw69mmehG9JSmq+yVKHdvgJkLbjKrHPe9HNV9Z4PlbgH4QM6GlPgSqL0sgiPYZDkdTWD+mtU/Ffe/0nO8r2hszKDzy2skI03LNjEwPTbOZN8lB3sist2zWKGtHamk/Eu6Iu/wSo8ULobxhk238Prv/NvCKqcw+F7jGe8ZASPNYk6ca5oGoO+Mu8wt7a8EeglSRBMf5sJL+pD7RzuSWCBOwYDYAi8MwOx85chbAZTphlsHEg9QDqvKJTqKvU7Hxch8z4UqBZ82tDnrg/FnN7W4++GKKm8b6b2GYuXl27lhrHbIeFtZBrG+3oAndmDbFMHXhrcHDnsXF93LWVphcX5ZFeKe4y7BPwP8Yh/jTX0NElKgiqOOAFDwkqVqb3D9if4VzZXZiU/uj1izW/pjDXZfCSmN6X2yvT2cnLtyk83GF6Ni7eNJWi96vi80pJQ0OIBN/RgNun8szM9IrLWxvak6axXTjqxI5LmybqQgyBlHgchF8G7L0wwZ0IwfycU2rKtDSUsOC9SJvBdhT0NhxGxFV728aVOAa8lagbcsPb/xtvFYKRjNtl9blxdvATJKj0S2cbEc2uBH2YzC+BFWoFMawswGDF+GWguy9t+7fUKuTTYLEPcas+xsx+W1jSh5tyjwCRcggTAfG48MHsihoUBAd+bVjLKUApgWhUQw4EaUWKsz2ryUpq6WmlbcfReoiO84zWV/9zggpdZ4bwg/Vsv4+IuGLlRJEhON60wVEKPDVFKr8dhYNSPTB0lsG9AuCOGqqsIIKAPlOpIHX01RteupTX19Hn32OWchfP5J9O3rdkY6ZgOF8fpzcpSHOzufEkwQNdDMD5EAc0Or5tG8fF29666fMed87ivldppZiCTtBM8ZbchZu9AW4vpm+xCZbCGpade5BPs8QsFGZZS3cvr6zFhT8bNp9JGD59eg2u9z8JRSqqkPg2zn18PhY72w9bPfx3myB3FF1bJZvtzoSGQ6Pj79t4/Ka5HoGxmKhSbhqsggiS9H0cxRtN04Ozc3sXMsOorQgRfxiJ9BPx5aWMxX0IWFeIavGbQGfQAONS4MKELNeliVwL7SblYU2uYUzNixtMkd3hdMxmSKtTk7UyZVdOZ7hFSovj0aeRSGSGh1bWF24yRJxvNv+E6ZWxCu0A199aZdI3vXoyL1PVsXgZSZXTiIewUU35z2lskYeMc4eM/vfsBv/sOLr0Oii0FBOAsE2YZLVRLXLVgwhTYbf650dV0ciUAk3vqObjArBBZ11bQ5gbLrXPA62upWJu9DQReoIS3SoYRnAGHLbIUU/VJvdA6gQCvFs1c/hfdBZ9egQvL5BdO03a5nzKWimDsKGpuFNMUtERgL27P5qMEaL3nonANzS1HtVQG+l5MHWXh3dgeqZc6aw4iCHhgM5Z117S2H82P9I0rO7F9GM8m1qJ6rB6qiDlanA3FeCzHW36JU+sXdAx0Dd5Q2m5tBSo5NA5hJugiW6DBnUBtwHyUgfAmgDQdhzW1RLabbIZh9U/2RyOGuHcqX+A0uw+daoOoMI+hmf6c1NXUHVWruah/xMbmeq5A0WGGKVj7UPZ5d3wQl3Zwc/JCNooTe2Nb+p1TG8RYqfOpgES+CmgZriRyTSugyyyOejvgN6PvRtZZFYt15voqLQTkxM6Oph8Gc1nNjU5P+fF94AcOieJsx3tQy9B/AeODkTeZyVIncBOmHUENL+3GqGWq/OIhl6gcnAPTiMyeLSaa7L9uPqwHxQrVfpP2uu6yii7+c9AJ/wdDCLBAFdebyU6gkzKMCXDzklt2vFDisQlOJpwlQn2zMks3xiSTHflKizTqXxd7dEezcfutJRMj1IKh/4OjADpa1DaBQ5WXdZj53QUFhyrj2Rr8FdRGUGafQ55Oskz8kjI+jy7yngvM8p7YrJmWD1wAVDPp5jtcCaDsJqQw/0Dp+n03Uj1o8X65mjCT4Hnb0NuS33UHlZ93pu7DggoaQV3p6NEdD01lO0/LQ7hlob/ub06xZ0x3wUXitBlohkBKiyFPYedNwAcZHEsxkY7Z2TER3QPys02CcT0j5lGxMxOchmXwhEDb3mwpUrfW00y3xbohmNqB8/SpQfdZgs1+EakOy1EbUZDxAOzxnJYuh5XqiEOqMd0mSU1v4JD1/n0UtBnyVXnPj1xoMIwPlFXYJDPriinJPGRrV9V4Na6rOiR0Ixg9k4rpi5jKnwovTnyWMjGSBn/79TL7CYPzHDixAdgQCc3iRDUKcbsJWW0ssJpJ+MSmI4IEM5QJwzW7TafankCb5Edi8HkAyrBisSrM2trWRQUImOJk0FKw7x+bB6LkWa1wls5Bi15nZf25tzQbF1xQWEhG/dgyMc1EN9nW4/wvxze2ofP2JzHI/09pyds0rRKz3PXY0y+cF8Qh4zzU5jUUsF1CmOYny2RVbtr4wbAoqynytB1AH/zRKyR9XVOXuqWji/kO1hR3EoiPtCo0HVuG056qG1ZnWMxthlE6JHFtlZ5l2TtfuG9J8j+r7tuxYU+IbuRkL2iWXXMJHbEYdpVoexox1YogfIud5A1R/mtd5iwLmMSB4ltg57laP333VySQb+QgWVHD/YjDc2FQx4WHCbyc54QE6pWyER5HuDgTHFZN+FR/ywKC97Jm+qcWWo/gS7P7Xoz9S2Dge43lj8g9HAvaUbqwBRhlGDPsC/PAedW/+HhCvPIkJauH654kVeQ5yvad6x8pcS86/WpGZr9oXn//5F3qCC8jiRP42fZBJPA3lurEpbyIkh3abmfgb0MR7jVSpkc99DonFK2p9o2M7PAd3kL7DM613Znh4B36etoaQ+KFSjPHFurKZc8liP31uk/fKYGL7rWT3P7ShqCjUMjAAaJC4OJMx5zo5+ogRE3aR5NiS+nrInf/FWklFQKiNvCJMme0QW12aVtkvPnJsshqQKwk4wXPG0kzvSHT0/oFA10O9T+YfRXt0shGTZNOa2jlNHOteRRZehrLWIkOBvA59fo4kfagJmOk++V++hsFwB8Iu1JqnIIl08mA0+jkIizx6Th5FqDsBjbcOouzN5YBzNrrbM6BLtlGZFz2wOeZwnFkGTiukVugBl0jRoDFFLs8VgsxKst7tQu+d+aQbuQ2gmVKWIJUj7/N9gCW/h4Kom7CulCOe/RZPUwfBBHX16WNq+t6nX1/89U/7VtZAUszrzeLvT75P74IOnJ5bsnz6c2f69R2T7H9zcUtwTqGGn4fomcs5KR1vrvoLnAV2/iwg8EI8Tz8wtntr57p16zRg8SSqovZjsJ0WFec3HMA11ZaBYCFjs/u9DnaZZmqrQVgzRKnmHy0Hv0JwlnbDRR7E/Dd3HB16hfZ7V2Kh/AzwfY/F9cwfbLL/eFwJ8Xkz0rP3jceKdozErSFV6eWr/VleBrJwPPrakYGCeQUDnpStOMbJlQwn1TOxRKCoutoikDacvw2r6/FDLWhNM2WShYO4o1tqF9ZE0/EcMGRdh6y/Gz7vTyFH95hIJZdLrOMCrAV2ShQjt5Qj+QcXuxsy3Vs6h3OL8315hkrnm4LcPjQR7qnOjFoFzpp1rMV8HvHbOnAK7ETt+YSdYZdRLPtVDVpKm3smNl1YW0i4J/D/7H+s1ryaMo8StVGirf9kGCD5RPvog6LokMHPsBQW32wAOMtQeozohPmgw868vAHig09qweWaZjWBZ2UoY6r7j/75AZlk9p/tTXgRooG4Lw3Gd00nC53EOD6b0s1POlmqG3JOEc2ils0qaXgRoZ0/E0QKaQuBt3lsBQsv+uKXw6vGp+gIn0OrrDTqcVD0hg3t6GHyqewB0vgTkL/XAfkbkxm738ZtkhgVRjg3klTVz0bS2rf1uat+goKVYIyzpXMjnQHV739qXSHk7mH4W3ZvHZvRZyEeSScsc3hdgxsFzSf6g7ySBRSxcrp+w00JwQHpo8T/4e5N4KuqzvXhPe8zn5OTnMxzgECYDSCjBgUURZyK1lmrYlu11qHDvf3fH3rvrVftYG+1Wm3rbK3QarUoCghhJkAYAoQQQsh8kpyTM097/p51yMGA+P+++xWnu3/iSU72sPbaa7/rXe/7vM+DGA9HPwic9B0KcONtMaFNZNRbGZp+AvIg+35YV6fgmVJNA+GKhr5QNlYq0Fg1piuGEgAkbiqqE+OMJLP48mgq+FkJI3LNb8IG7/1YVOOqFR5cOpotF2MaKy1KX/fSb06AHJ6ag5/JfWg60wIpJz6RYKdVzY06VNa4iNa0RZDNmsLQuh8onlWIsa8+dDjQu2KFTX+suTu6iHPs2iqoqBK0ffqkv+ROgRhDC2zGTEwAu1Cl+DY84H2aYj5isqh1wKb/e+HM+X9Ak/rO1iwy9hu9wVKVVSSOJ8IcagXW2MUWkzgG+Z0yvAfb6+A8nO3YL/K7f9r45soD0QExy42b4ZmiOIwpcAzDGxJRADTTUiSmxmF4iWtv8AVjSjSaRdWNsk9JhFgqx0VlOczZQzHlTkL5gaV/BBASXWO5sVCkmW4I9BrAyWD3kCmYWBrc1ht4FSGJWfhmt4v1tBhCuKjALFwOLOwckEUUAxyguli61dYfeXeHGtlICJNvWTQpTo6HR3diUcUUG2BmPQgwdC0fVZv22sggxZ9JGeOpzZebyzgN9TyNAfbYoOrgMB7jGGVt86rsUO1t8VbESGJgkarRpTi8JWfaQGABLrqzXDPUlGYRIDW0a/uJE8uX1Mrb+gPjgRf+AYjMpmJZ95rDMF6Qac0DuNW9gNFdCtKbB6yiYHmvO/FnqsTiRSPSgzypyZOsLF9lLjZvxQqgaUltbeJYTVFTrTf43wDn1aJwo4IwxxlasjWaFHbanAn59SPqlaLAXw9SFZSQMc+ZWFNfBlLVl1QXZOGPsJabuk1KvFAzO+BJ32CAjN1gLT+OxiLgcBD/08rRtwfjwga0QyLxtXnLHzjf0OTFCc60H6zbJhMAwDDWxyEoTm3sewiscM27Mst1UowhWnPnGPBG7bzJFUjKjRZdXg/al99jzQdiKuZujJWfBEXzURtnrLx01izywqTjdRuP9mUjOTLfzItBWk01BKOQBKdyT73wL+3rLnz2cA8mFkoMqPS2ce25LUeoeqoktxp8GtwDSKosheOnYKLssvLJI83j0UXDW0rkHFRSXQRJ+wZKjYNuQ+xDH/WkFPaAWWMtXanooStrC88eN8yc5Gv8GUlCo0SgoRbPWWgrXVDw4out1PLlOiYqo3H5D8/bZREDa37zZOe3f/jDnrDMxpB0uxlsYQlGM84HeoVlBH4rgllrEB9e25Vva7sxz5ZeioMhjXz2zRoek19VF3Ct+4/Ioyf/DYo27/i7ktupWcUyVmP62i5/wsqLZcj/5JN2fm77eEhoaeYFkCbCa4uMCUsKSpgYYt3t5S4XwcZ/6cb3nw477O21aYJmyP6UzHcmAPIii5PhDaWcW8C9wAKxdEWr1wuvA54NpASg/3UABnALRUGlG5s/nIDHp4cFg3oPwcRBhtbcQOMV6prRgPVp/3UnjWP6rJEi9z5g/J6Px6HDZg8XAKJ1H96wh4BDuQJC0lCsgaICEPoACN7L0JbJ9SOSiiSM4DPLfUyK27qpoACxyk+XsemTj/wf6AiTKaUDWpKtHMvsBhVhn4NDtBeWOuwQQcJFvAQdcCYhG15Guh+TkQ45JWvge9e9tnzH0XuumJZ+mSWNvgCqAlNRCNEPPovX1nZktw0WZG0HheQvk7r2PmB5+VA3+b6Hl++sb+kvy5xPUuQoYstOOSlPyfKUnrfN77cv6om4srW4LxjtXh3lYs+ZBlO/a+1vX3PH1HxfxxBjxsS2AGobRIlYRMl1DFL1aW9xQ9tgFTzvS2CsE7qsfmQtL1fskqLGVDWB54SYRUoLmlI7KF37O6QxgfkVT8XBREUXZVYQNcRcgCKwmUnVHYSINd4oAJNQlcdiSd8/MdS06LkYxvVioEhy8ewQk6d/qgv8bUMGl8yV6ResIrcL8lszZFVJGSjZyzyDHT2+UarDPAFln25KlXwpn7o3Y9DJY1nTGygGj/L1WFddh/76ab6duy8xIVpJgXHLfrhgBxBvT4KP4/d4o1YiTv7Elo+OHBmeVNNPVQgpnQhXOUxMUuBZ0x7EzQclhvukK9d6+GiRY/eVVYU9mbakD/iG/Y+IlOrAPqKiD6KTekn5lVcK5BbIyk9h6Su1uPK9i+56ZL4/zl4OHUD0AXIOaZED8Hqw3AuykvivyFDnH6fm247AqJ169sPdcGoC/Kq6BZC6lImnXtBpxlJYbMqytgdr1vWGbrYKwt3w2PuYOJV2gD6vfTwlhPFOVOJGBoFW2qbr3Fsoi3uRYfk/HTqePPN+P+805/T7fxpqttt3xPC4cgslGc4Qz3qv/82TwfHDRi3u7QolBdHOARUg65Z9t8aHBDNjyoWHEqWt5iPykUND5cCdVmZZEx0JqR1zTx4ydNfB+1kFhMA66LDt9X/c5/9HbeEpD2Y0Vk4+PXksN+zr9hv2m2EYv4uIxFEY9i7gZWUqmfwFw+pbUF54DQyxWfYld43kQ6i2WhMfNLXRC128+YUnn5QJTvJsPUqgKwezbf1CRD0Iet02Hsl1iWKPjeptBzOHEyKW2hVIMpaqvPhxVs9xcD94oIjjUtsi8Qgl6CemWCwx4nWQcx8Ppa4lzGeIK3aFKP3leyZb0pCzho9MA1yBdMLEQzUgDbflxiGAY6ocinfuybKEzLFgiKYsUdhGF9bt1ZhHUsDxVvcndf/N40fHCDZ3SrkLULPy9JLyz8f6qHyHSbLQbA/aFk7pVDRH15rn3PejSwyeuREUgeBbNvaG5fizUs8JScm26YrMyiCJn2wSuOos2jwAvvkGnuH3tozNHazDcyT9g2nIH42lNJSb7ofLEEb12hBtEvvluFFCiXrjlpLC9L79BVUFQH38kOPp9XSK+hjxZoDb9XG490vMJu7QysCJw1Ms7goQvh+3s/rzu8cW9pJrILjILKudOxNcy2NAXO9HVdbB7eNy+8nf0H3U6kavRRWYOwDlA4E7u8PEc+eZEPtXJc1Wet75x//8m9uH3CU5fpdnSmM01LOjN1De/OT1o9OQOXI82fJdJskLXgpVFnr9+zfv3YTxc0vN6AjGqk4ggXjezNngSieP/mb8v1tW3Ywi+RE+ivIc3VNqsaSNSm8otRAk/zfBSIGvhFoMcEghxlQ3KsA+APHBS/AA304dcR2tm+750r2//0nPfhgJRXNp4QGgemZhLCzCxA7VFrhqFPVHYaBtY1FRkUHgm2fbjh33phiTmG1i2FWBPNuB2TZhsNAuxvMtfIxwYpztmC/6u3/a8yUUhFIyEXKYec2lqqM9HZ+W8o5CzFCk5Dc1VVopGYkxNs76AEprf0Kx3G1MQrnPPXHaBSSeiJs0LipwdemCLiAOMgCk7OFsizABlOoLrHWjpzzX3Ewyrac2Ii2/NQnaaIa+FEvHOGUIvwF59FOcTtl0wTpTE2kk5wxAYY1JIlzTUwee/MGYPLp4QizJ3Lb04YehpPupp37GfpStrY1Tdq+LJkflbDEbxp9b6GifvaAAkQLI2sAgIkpiAoXlOFTDnrrGRcXZfXNQTYZznTLqKLUbJO4+yj1LbDQ7+Zk1a8g9p6u+YrvWNaFeYTPGEERO9GysHG9HfPR+d2+0auuxY2EdMvJoYQvCLEFIvkwGHcV4pwZt5bNsv0Oyr3tM/jpa8f8Oma6fAxf5YcJiZiwMcwHI2BdiWQLFIXoQVRHJYkfxeaJqupLire+BnORpUDqWAU7wI4tod/vWv3NixYjVxmL0tyaoGxYXnUyoDZR4tnGqIAM42dHe19F2al/aVgVDO5GLKQcax2S3CqVZaxKa9hQ8blmXlUtvyK5lwdPyid0qPvPKT7b2kOOIt7zyhjsLsBas4jnBBJHSJq3U3XrqnLhPW5E5tz8h3wi2ps2pwcgm+Nk+FJocRpZsmawYD976i+eut1dNnUQ1rordO2Ps0Iq6T/MOmW4ijzmaCn8yo8h68LLLLpOXVFcLjcFUSfNQZMbuwdC1VXMvWVBf/89DLzPX+yo+c2hpf9OHXev1iL5tPTSjM21gBYrkVrLg+dfh04HVz4cI7z0FEN4TXR7n++ejsKnuLH2Gfb9W2/KCAvCF0H3I+90CeBzhKvkASKAnO2ODr6cKyirr+yJzyepwx0B8YoM3XEuSq5kbmDepLMTCLoC3dMGmxx7T17cH7Xj+pfi7kdnny/78p40vMXIwb4MQqQyY7WafD7WvI29iYm7uoExzfhMvgIXMWIoM/CRUnhUCdgbhMf1bRXl55cOZSiMsm3bCo/mDVVFHw9O7AiQ0cxhWmpkt2svPfDGIkgHA44g20B3J2NDevERgM7y6D3lGW2bRTPfjvR6LpFyHZlI/M6vBYI+D4V4ejxhXbBwcPJUZHtlu8nOOO39U/txFkwnj/9xSZ/BBxI/bW+KywmoHLeAggAe2TdO1me4iRy4xIsPHf+ZhGkpyB9BivXDa8yEU/73xNTPmZORrCKE4SGUdyODG8EK8z4F2FqRwNyB08Z1ZwJ/C81TVgWCziRHq8TdWB9kCI5Cc9tk3GC11KSBcl5W7mtxTS7YxMj3gsvB/ReOeT0G8FJGfVJhBDZggfAsog/tcalg3GZG/IAz0Bv42U0tJ3xYWLULE4PQtCOwwvkkn1AjyofXozoGEEthLSpQze7Ic7pKmCxWTsGTq0aPWOrTlhLdlC2BNm3F+p4+jaG+xY8+iPGfHypXLNKjNWhbd/f3JWTZ3LkfpbkaTfarEtJLjMucknwFNh2gG3dAbHOqz5TsvTtG6KjLMLwB125bQ9avB1nYrE9edZDb7vG3jxo1saXm5CPIhzO9YQwiOaw1Juh4VhNNQ7XSJwXGXx+yNpybRzzvP1/n7akz6y5fXKiQEkUHqkPZCjPQoQl4o2KQ6oOj7HMINP1dlx8u15dlEePSsS27CkdJO2Aj/L87JV9AXBnDzq8GPsgEiK08NKdSvjba969refBOQSX4KWFd/Kkv8/eDm/hlCbw+Dfv8WoF/MpJ3ETukpoKVYdsHS7z54vcvKl2iytJCsqr6C+0hfMmMw/qnrByPMIIgS2kB00yNH20jwGlGAkxsskWFiOcSXNMB69DeRbX0LIdJuSgXkjKJjwGGeXzl3WdoTvG6UzQ9OaBgqrQyx4j0GLbTZaGO8wFntrfbGU+ckZyaDC4mwT4Abt5mczmJ42aohqm8AfqSgsu5mxHdOgM7zHbvLFR9uCrUWULbN3b4LsMy6GPFQrNW1q1JxLb0UkBoAAEAASURBVAd/P+3cmf2TgSTC2czCAj6n+LHhuC4Bc9uOZW8SeeG3DKU8jkG9L97rY0hGmWxksDa0BRxk4GYMckzUm1Bk8jY8Dx+yXReLgvDIxMmem7f3hi+yiDk3Yum0QDbUTjMr/FaR1TcABSOJqZtMFtMUksAiicZjvuOduirtBk5stxzRT/OsM+0lCI16qD+vwoyPZqThYYQ4vOnEwc3OqPY8KEz/MyTrfylGggsPPojQRF6Uom/UzdljzHAM0e8sjGSOlSs/rT8+gMRSkbvy+n2xmAcOZPpvtyMGdxkIiRqDlBMFFg7SBui+tGPmPYS+Xc5Zcm9ahbbMzhtVEUXQGyxzmyuLQUqP3bBreoKyKmKFypnKqFSiEErIXhSCNO4a5U5jjwl++YmW/vJX8M+cDPgcAv+0KSdnyMYbN4A6fTCqheoZjduEye8oEBr/MHv0vcPnznTHqc/dgWSJfezUqwe94esuq7v0pi2dA0hUsiWcwIfg6+4FwjwEOfuQLTv7NMfh1Am+4T+oRrSf0hmIBRgvRen47zo3fbRrVnE6yZl+Dme7PSnBLBzsjV61xzDSk9XZ9vkqvjNRiWZUivxVMGRtkhM0K6OnTFh8z4M3qxDq5Rj+Io6mbsZ9whek2rDinJVkXdMz7QSHQRs4DCwQ5a1BCGYKErOVxaXWoszfv+zPfzrmSxrsTShjkIAaPQhya9HFh/66b0+wbjgOSf7eHUpeznNcGWzKo8AQtgKruxRifXtYgZuIiB+gVPFdhSAJfxT7ktjpiTgYDjSFkhitFy6aKwo+bLfgdLT6e4KY3U/N1N6wPAhrNwU1BxM7I7IoMO6jki7HYZQ1GPlXIiXujXXDGXuxurZacLBXiQx/J7COc5DYOQCI13qLrO4pddsS5NojN2LI2Nz8EnijZZxFzM4dig6ADD1tyMvLKb3cLiZv/eWTHRbJaJYDnYHlhYXyx0f8Bd/96b8ulHnmskQsNa/0vJnFHYFUJLyzPpBVVnUCCUHkNphSQLNQomxMxOCYjCXgYhirPCAXXool5A/hzjcjRFGL1GUNYsTdwF7tQpmuRPplzbEjg039Xd13nj8hDQEjhv6iex4ZN5iSa451tg0lsismIGb6XTvFdd265L98pJ3knsizIHGtd55zDoWyd5/4/rxJcnMs5oVqB/Iz7CQgMyYnDWMOvNZkXGJeiYaOHMrw7Tb3RNwDqnYvTO5d3SHZctfDvqNjslzxxx6j6ZVHvdMjSvJGmNZZHQHwdNCRozJl8oFxagpKvucnEnIFbxPHYh4IGTqzasEzT0Wunjix8AcffJAgnKs9EtQ0JK0ipqkFOoRAj5c59j0M44wloZO32JcYErXMwhp1MY3PSSVSh7NFQVZU7QdhVcsGcx1SB9pMhmf+kRxofePmCRPCmee3G9BFb0q9tDMk9x8PeA0LJ34fuNA8TMhBlITPFkWmCmibf2gR37ZENIwiDtcVYCX8aGZR/nGc43MNUub8X9dPQr+4py+ZixwHge2d2pr7+zWTaAM1dGrTlj/k9n7/+ye5mU/tMOIHMu5DLpcDeeMfQJV6eiIZ+fvXicu3EOXv3QHJkmKoB5JacqxIc1fjfV4IxWoV6uK9WAprkZT0Lw4bvQa5Aw9wU5WldvM2cottvgRv4pjzkIeAKgo7izxoC3ylHItICsO+9O2czGrQKYPuIzWBR/m4PJSias5IYuGGjyILjTJysLJo0RMUY/UjGXMPbOp4LIGeZlOpU0tX0gPHQt0HSh250/hUcpAVuanA/FaDdlJ0mN2xx1Y1H14xrKT6UbHj+KKe0Asqm854Lokmhw7q4dBHZo9rd19HsmNZkS1JMMQX3PnAbMx0S1KKMZ/m9ZBgsCtjivwh5Wd2zpmSF8ZDgLNM03v27En3h5w3uowdPbHMYIQKntUkWdXKbDzlWIVMaca7IssYNFWl821+I7/W2NIf8wh27m7UoF+JoHAZ4HDge9cHAJX7uGh23ctin+twyj70e8R2e4F/XoTKnBpAbkejQiuMvnkzTinvLhmV5iOObukLtQK3OiepGgVIkp0KAYxc4pN+Ik3Y2BNaCH6ES4Ts4o/AbTwDQnV5hiwbwbrPGhE45zDGdWmDvO9Pz7XPvf6h3/Xz8RkIXVfDa+3VBaZVpoSPR14nmeOwMd0+iMHqJzAR3ZHSLfSBaOz5Tw4e5VE59QjUYifDuILnXZqnaM4XHTrzMcQqNZXVFyGh4+INYTCLU9Y80+D2ttx7L3gfzFOeXbr0yJo1a3qlceO6LLqtNKSmApVW86El6E+IyrHalAsuBxvVJFGgwP3ALoQnMwtCSE39+lCTRbN+gC75Fjz3mxF73wtg4kd3zpkT+w7pkJMbjVLwy8Dn8D3kEHrFhL0L/XMNjOtPC3KdW7t9UR1FBvdHafn38yorw/vBfwtUSZHKug5jCKSrLDMn+qZ9dsvseIfNWFDfF95mpxPba4FhJ/dA8Np7eyODKLmZuWQF1YGv0mOAGFr75MlWhja71Gg8VxaEAtO4qbkpiS5D8uV8XUMyyzBIWC69GsHnV7aRSrQwGPPIA7LwpnZJo8phc2bDUWkAdvsdkVF2oOQfWCp23ruB7iMvVNQqW3qCm/AaFmYaXVfuCu3xJQ7BFM1BFKYFVJTHFCx5CA/wV1Fafk6MbzIpIeymmyBAGXfkepyDiJFSNTVkeZneZE5pYFUesFVlSUq1/NEiMNsMlrqeVunNrEmrl6MIHozYvl9TE+vo6Nh5WM0aT3EKyHT1tTZQxOoqdcmsC0p78ZKQsmRjBRlExa6t9R0DEmeyloiUEZoHysTHgF6rCfos27zBebwoXIYqmIUgMHNCv2oPZsh/QGpok73C3VdbjBLM4esuW7mSiRVUXiqk5A5GYGaxmgg+WbpTpuggKP33BqPKEAxvetCOaCqxcGnDvak3eAWSTd+B3YnBndygGTqKMuhpYIu8lWLErERR5NmhwMB+j+B5Q1Ote3Q1NVEUOGdcJeXVzPbGVw53L4H8y+pWb47DYi2Be4/kFNOuiCczsW0UJfYf7LJ8MrE0nL5vNAL9QG3o8PfILFWGEukH8GuWprOPJ1NqW2aSGNnWkT8PY3+HHqu3r6PsjZtKbDY2MhRLjTS8ZP/BnraQYMv5YzCSAIaavQ8Tx22tAym9zOOMqowB/DL7BgDwSLIb14A96hFMLqyQim+zmjxtqB5kzE5tYJ7LHZ5XShmNfoSIkoYjRmljp8ydG4EXM/TeUf8mKWZj5lXbyCRIvVk9m2Q0rzdR/K/jeopGP1xkYugmE8X4yjhnRZCXXxc0qktSQH2k6ZvfmVrQQ55B5t7WdfsLsi3iXOQWFIi2TbOhtDuJt03l2SqvL9JO6bpbpdheWZXSK6iUSk8HRC3BKVSIjKnMeb6Jn0wqVaTzUK4G+VNE43N3N/s2zKjxDJD+wVK7HLHQBxVvKN7Ac1gBqC5+9IRcRmHzDE4tZM1iHq/qRQLH5yi6lg3OExQlapKbsubjffKtOMvY/zL7SM3PzxUU/lIeTsDkbNuGDb2Bj4Aan4t6zSd6w7422JtkvKODr7a6O14ECOAFPMqC1NDRY8eg01aQjoqlm5tMJPYLomCCqjjgo7hXlr1Ryx/zHP74pXu/58T4soIpBQiozwacEsWflitJ33BtVlbPgaHIXxmBdbugwZ4y9HW6xnmDsViTETVHs7KyLoQsyJZJKCPMPNByVJy09Pljgsa3ZgsskYWvQtFGik+pRR8faKOIgR0eEJqvPG93tjfkNdHCgoaewQMXsdjbIc6Fz3gpqnUmYfC1GqqxEsDytVKRs6XuDEA1MXg/OP9CBzykiYbFkoPqGcHQ6QgNT7A3mGgPhntDZxqlTDtJQP+DviDgc9QNvG4M8QL/gi4LO2Qt7KQZbimgLddhKXQV2i7abAW/FSX2SETz9YpG2aGiZAe1dqhcu4eQXD86n1rwHV+h2W5dhll5Gtp8XJLlTUyBPQ3/6fPGKlOIbc/s6WmkiosJppHYCqMhQK2PxQN3IUF5IcYbEGvaRIdDnDyy8GF792CVmNTC08YUEIpM/HdyawPS5Jpqz4SmeMWxm0a5T1uqZvaB10S+j67auq5HnjAXdox7ABPKLch8yGadWUtb+OdjShAUyWI3KsvuRTD6IZV3TJH16HulPcd211XUnRoQToaJh1nqkJWjquIyP2GP17urtrqAxK9PbTYrj7JRpnogmcxKqMbFdp7ZDY7hF7LyysN9Q74foVju97627tcOsYMaVEMI0P7U/WAyovf0x+oQw/UCbtXG0twFYauwlaPU11kii47YBsQ8IP2svcQWFaXDFCYOrJkUOyhpxIYjGv4N3Mh913cMzRTMpmkJ5JeBAshnWPFyyanb9lDUy7glRU4lOmmThaha/xgrmATHcC5G5N342Wkg/oYwXBgrCYDCjeMYrztBVO5XVeYaoLlrLkQFKM7xGcfjy+wqRUKAjqNyGJrrxIMyNsrM+7qo93xS5Gmq2V5PW8SCcfnm7CqI7IpbBmLEWz9A0FajRp3eygo2dcRLmRAGFS+HswIqDJC9Mno59vpmGl8XI4WhlRTBI4wZIe+x62pqTnmUw7eu21Tm7bAuZUc7IpG1s4p9s5qaeqpGT3KHo5FFtEZfJ9OmVux7Av/Qt2mpHLeiWrLAajUGmD4Tq1MHKFVp1UTzFarD0jCjjaqnIPdD9iVe3taYzNJ2YRkWJZcILPZnqWmAbkUx57+rS9KHViO+473y8siKEYOIJHXK+WLB5rJMkVltAjyubgTsBYC5DyhQ+PEnqRPLRuXD0OWn20SuNXIjg35DV3ARaDDnwxEbi3b+wp/wrzzw6quRmhUraE9vskOmEn6Usd4NnBnA7aqQ4Ngmq+EYCCT8r5dXl0eXl1NUCbxavmuoTmHYhSyEHUF9Bwpd/YVwijm4FEtxEkvmrcwExIBzBc7SB+RHpK7uJCIg1N/DcU4H8oLKasAm8iD/swSM0e4iZ/5rQBPUF5vNgCCId0Wt+raN9dRH1PBx5D4Mh6cowTDzx9lpftUqanemNHjkPQ7/DJTDMg0T3v68loFfqmb2fkw2y8AfYbfKiv3GstKO1wcG3paCNCqcjf8wi3S7GqQSmyDDXjfiZKMAWYPBb+ULypiklBib4gH1x/YKypylpHVGVPG2FNs8KP6j0aX0QxxHdcIQPCXaqY72/oHraYOah0Tty94ltanfjniOmUuQsJHBAFFjqAjtcHhmxnmirk1D8vKtBPigEXqyIyTT0L0j2bRsmSs9Kegy1UALaqtUXHxa6Ctzzm/KJwxJCRRWciiDQ4201mEy9F2o5VLSqX7chCiYSfm4D9SrtQgTRbEC7EVaqg1GF3kTvRfJ1j70kxdCggOCw+INSWqYo5XRiJuOx5T0Dk6R7q+vqj/MQW+/klNyFMo3FhIm8JvNR4os2d4ljY2sOnfRUtiea5IID2K1OAQceteGTumti8uzUXxz+mqmGIglvz+ekuHeMyJzEP1WxQgcimipxi/73s6J58tYsqN02IcVOmNrjXLE8BJjRbdRlB0TTzozPyrP5lvpSyYmVdrzrx6KV6pF5eMC0chYxO+mYfcSNaFmI6baSQwp6QQdVaxY9l8BaiYaOKO1AaCUDJ1daFNk0LfaEpzeW/bii/0nCLSG7K/yiT7aMAMTqz+Ig0WU1m5BlPnvYUb7JBr39ZFqqSlkx+ENLGnWMfmjoX7LOlRdy2c1bgxHsVsVLbHXE/X09IyigjmNjfR2trBU91sicyc6Qzj0lBEmhnebNzwN/sD9WGpPh9FkEHMlVgPAhxUnvYQic+9qr/qSCZWfWNo+xHLCYsRBq0F/8vtyV84pTwKFI1Q3RdXAEs3HuTpQgL9akuSVS6tzY9uO+u28jSEsb5UipL3jELxL1H3aDrbAqtEJ7QPc8i5DU6CuYdyO2veFSOblOXXrxFBM10We/jarUQe0OlxoeNvt8+VrhjAdEw2wRhxeLPQ+mcZGbGRyys4qnGzxia3V57vp89t9c4xcfqs9xf8qlMLCDZwniKOHVx33PW/au/mEY9pFDTrLfASdu+eHphY1rziLgSTeyNqmprb8wooU8NCwiTT92pGBy0RavZum89+10NR7vUmtAUTol1hpJui0MpOCEaMOmOqrEOZ4OynEj5HzNiIpR5uZUUleaR3GVVODTieTT9OA9LGDiKkPofAyBWgVYxQ4gykEOCnMWHU4duayT724Pf3HGrPMZnqZp+YrNS4juv1//CMxMPX9oV2KAuEfXSJ8yntQqG8TWYu3dthorj7aGLq0elo3JicP3otXU5rSJNJUj0oxA3I06ev3qTHPrGIFMTCDsNc9+ugKY1d/rAuQ0LIWr5cdVVDwP27XuTyAMI8dDcaPI+N6gZRfkbcMJFY0wiGbadtEZOd/hhhJCJPKFllVjwM95GB4+oYtnZ1H0IbPVL5FUom/JylpyB5m7aLFTDzFU5joc9nm/7dznRO0w7u9bVQ+b6+Bt8h7nI6hdl+P0nXggEqZs5b2pVRPLJny3BFLznBTpktJqSPWOFdpCj0Ls7AF4bhOxBFhg5luZyTQQrKZpNF6cFAZpCylKJzY4g0qW7IEer5C0dmAB/1Nh3x5kmJn2XL4w2PzXellOaku6xsK9iCGMwNLCai1a//mp5MfXl6Y61/5u99pByHP0xyOjW+LJGhUiJWaDN6OWPJVkOLJgkfag3pvb0qKHystzTs8OpuOVmBKLKq77GKKFr4DPEbVoaHo8dEuSGoPb4CR0Xc/+OOlqKevwtjXgRfNhzplEWKuyd6w0k7UZMmu1Q5T8roHHvCjauxaIBEwlRivG5T5jY9efDxIqsfIPqj00G97+OEErbEdjEn5wJyg18ytzAnQuEbx+bNnwoPJYyHLozFKo2egq2NBYaFKJg9/WM5jRLeaCCebArsc3RZ5Z4fuzoeMvYHcGTsB1UsXAskwDUnNIwonvzjfag2Q63WhLxKssADxcKsUUw7npYb2zpkz5zOe32DCZJPggZpddGGPPzkV3kVNfyjZcPB1T9/oGVprMCnnWQX+CtxVlpxbmePg6SD0SHbEE4O7b/WcJLwn18tsBNdLCLmr8vKUPIsYhD1kvv3U0xMCceUBLFWGGFrtaFECDYkk219g5RGlMMZJMj0BHvZoE09vNw3Jf7plYpn/OiRfuNzs0eApxhgSLJ0nBkMlHkfyz888Y1SdV9sDbcR9UnBwNyc6BeA995ywit2XQya9/ORkkO7zTJsIquPLVmjIXPtcfpbbTOHOlMYjroLqP94m0PyspJpK7HFZusbDoNYB8dIbS84lHCzgN/5Jb7BvZ7CipGPHr/7Lf+s1S+Ljoa5C+ie9L8blo49SdFc0eSvGtuiiPO8U2tOirueyyf/jc/VFgjGDNVUqGmP86ddP9G5EO6HicSUCErORGHw0Ek38Nbsit2FQjjXZKP5W6Cu1ldnN8Gs+3YhDcc3YUf6IRBWBYOtGODtuoGCU4/5oV5nL8qUmFs+J54u4INXSFRBoiULOS56oWtzJ9tb1idpxM0bji5ug6QMMuwCCcA25L7oIsKo+nVVXAei0L6nQJ+wi+y0s2S9TdXEtuimdoS1HzDfaFf7bEB1OLq8tT33cEegDDV58KKFNgnhkFQhBTgg24relcafpF2pmeX7ntsH4q4aufBuG4tgV+aiIwYa4qCPFGnB8WUuWTkkpXbnQbKb2J5OsHyuzMBitjkFYcZAaPBoZVVmAd9qgEMs1wfDcasIyFoW1Ubjh22As/KTogTxKct76jsA+J8e1xmTDQ7P6d8BWNg9lyD+AsePX9MdWLiZICGxrugJ4vlQYNvbvRop6aVO5uW/hdx/Oqe/oYKpFMYKTJedT1EGse5rbV1H69Okd/LJV65kLlz80GsiZChvWR6ohb5f27zox7bLL1A09A5PtjG0+ZSijjEQoACmmbeY637Y6Tx0ZPAdXe4PPipreKkC2HggTKanpa9jc3E7S7F29vdmU1TaZkrVKkD9sbBOVg1A5Sk8U5L5GbkQTy0hB4IkR7gcXGtRsuce0dQPRFSuKUZn267aK6+/9NbLP4BqkbsD4dUQ4bmfWsUPty4b7KHOuXzY1WYvEgnmyzoz7Q7Br7bpHG1qWPThLiOdXLwb++FtWniuBUsZ/mYtsbbc7C5VHN9ZvYrOrwzwjTA8nVXfMoLo9Kr3+yvOLvA29UbdaUFJDq1Qpls00StHHemqK9xMPGl2tIzRCOB0Q9cw3gD9+0+5h49dhlj198Zlp2f+qT4COFIA8mDLIT7Hg0GY0geM89fU08fjJZnBsMz4m2KVI5BRvxgr01lk2xJCrRZMwERVlG2Tj6xEPP7p5c2rcwiVxi0iNuun++w+i2REMAbymxuGW1W+vJ0KqJCRRVDm2HA5LOfBG2SNvjaA7po07D4sBaidWRtMwXFhdprfRPOXiTDwJPXhH7v9F/8yciwv01NdraWwtZ0hJkPHqSIt5vV5MRupeWCqQpdAmJDl2gtDjRRihDmRa32WCzB+Oexzr5hTaW2U1RZiyJzAsJGNOGtN0syaiqgwzdtowsE56B6VxtBlAJEiKd3EiLUAocO46UlQAqzp8H0hyG2tRMfZHiEcggYCFCbZguK8Ay5KJqIA5AlryMMcINuBZi6Kysp5PMjuxAumYVeMIZAwrOSYEcTHEmQdAOecDzLyTU7TkJnzfhvLMTPGEr9y9uy3PWt8f7XonRaV+gUT/WpDllKOY5AFR0W7bPBAur+8OTrCzRKvTeJVizM/7dq/rxnDXkdErd9g8F/dRtvMOn1RX1jEqFBJ3PUpn1dw+bW4xb+hzDDAwAcc8mIwH+8AMJ23q6C8XWfEBiCJ+F0JUl6Df7zVDCdhICjcSLTM0ETSZWd2aGnwjFRt4PJBMPeXyOuvrsPwkpZcW3lbLGtwU1kLtifWHjy7zpOFtOOyz26odO2SLYPIhVIKuoCtj8WR1yUXVJLKSDq2U5nODkP78GPGTg2aO+1tPU6hzZB+S/Xa19GZXOQpvUQztxwlN/ZHImW9ecGul6MoTiwERuhBVj6MQo89DjGCO0h/HpSiDFNBcW1mwt/PIrpcYPvqMOdX71tLqnL6VmBDxolQDWTExRekFCs20ILnU8Oaq5jCZ5NLtGuHdLga/MOECJuckfyMbErvW1mg0Z7is/eSX/1v+r5pQgq5tRuL4b9F46o+8FNw18nkAW78P2LECyZ5V83n8t2QS29bnr0bi816Eeoqgg7JLGChOOxxfh25SU1JApdQ8SjchoomQma41YMgrE5Ysu3bnQHRpsmD0clVSf4Znbk7FEu0j22y3I7kBHpOGQIAgkeCXUAFSzQS+8WxBZ0n070vdiLfwT1+QPLD32gdu0gxOsAIGFtflhqur8nz1vYEit0n4HfgIXpYZtSE7JycYHIq+CRjLEcFMvQWBEkW0mctZ1VguG3i5U8HrLyguhn379GUZ2Th4kGDbp0piEsqDWWa2laEOaijEsDs9f5/tpNPqvjC39AuNjdxIdAKpcJKSym3A0+6hRS0uKlwWAPohWQvt8iWsHCH9fqf0UwhX5prACU5CVdpsiB33Dsa6N3ocxfmAq12p8NpmV2/2fkhxn1qqI6LIGZXR8xHveBC1C5dg5vGhLR+BXU20G/TzfUb4+J4R19iPrLxMqRdi0tmXk+daWz4CgbGmc+giTBxuAMA9KYMZkjRp09KK3EHSL1v7I/cCI/49JBI/RrjmBIxPLYoj6hCbS+FaK3WoOlAplStw0i1vut0xYujJ/ZAYqWFiZgBGNwUJwBOR/rZP5k6c+Jl4GNmXbCTW3AcCd8uMBfeIgJLFNepKROPLQUP4h0Qk+ZYNVHWSLiFjzDQlIT2jdMc33l53ugf9Sn2HScsT78kzCxcNJbXjYHCzuU300d7BE88VVIzLU8PKWAtHOZMq9d2UrhfbBfqFeER/dVJ5vtzu9WmkOu9ka/BQsR3yRetSBl0KUhgWE2nUL9GfRHZ8nEYtjK+r81A+X+DzVAkIKsVpzpoNwo9avG85kq6dUBLa2toSUkV79vGWufY35bMRysQxib8Pq6+9bLx/68yKCnCKfHpvzZGIO5zU34fK8Qlak1+AevrRQ3Q8USPkcYBBijluW34yIY0FKdUlGDZXIUTWEpIjty/8v7yTX3bfNEcgCqrGp4FlcKjKaWkkYYSx+VU3Isw2FxWrBbJOuawiG1AV/YODSf0vk5EXOL/AuZc8YzKGwPl9qUVks5BLGgfq2lJJNY6JLAVKFaNxSrb9vS/zfs5JzJcwCTX55RIbp0iEtoxXLcn17QcD5bFQ3HDmRkJqbPvsvDwfXCYNjNolWINfiuUCpHvYeYxKEWkbFCXQf+5ORDaNz8o66xKYdErvvoagQywOJAR9EagP96FczAHC8BI9ntr72n8/kYZKPYr9MtVZ5BiyffD6y8nsMZMYgdJshqLEdJN+2Fzgbp3tcsnJZLy4WzdNLgqF2KGhlGtQijDNKp/TuPrd5OJZtf3ygKnphXWvHqscNcVuFrh7kZ+/G9jWMtatet/Z/En/+aNHpxOE5eWUvscp9tki8U5ccgyM0gTC6AWP8bhsYT8Jb93k/f74k5VFZPnD5eZVoYDAhSq/vQNmYaB82EgiFIHqWWGswHA5rICYi5TYubcyv5+qr2e7OcsEeNe3gythFxNjnmung5vzXOYmTVYjLMOOw/i6AIOwTOeh9JxiGlt722Mozs9TLBYOCkQTUdYzl1a1PgdFfzK1siTwKBp6tu0fKL/tk6ibzHkFEV2kW4aOeLdaPJYOVBONjcvqpVAhyQPV5SxMAtXJhPHW8YHmwz+sm5LGzY48Xx9LzR5KqvfbBO4tt4mC1JO4zW1ojbdMGhuZ+KsnI8Fsy4nB481HrTklXvTreJxvIcp9eUlK1TgKRO8bTzwRgueW9g7IGBuQ1MuRiByjqbpfNpJb5hflDICJjGILyhdCHvBWVbDyPTZTe+FwX2bakka15JV8C8/jJlQO5mmaeh4qCQnRUHZI1ZtzTNyp6rjMMd/ET3AmZscS2rehHCKlWGHUdwKJ6I/WfRAk1YTkfnJNYuruRzAiGf06QM3GQXKqOsvgaxgtOU8UkQOgmMsgzXMNnIb54J4+pmnML6yFOQ3oz/QY/zr0Sa6JTt15zyP+EC/7CWsbedd75Fg7HKsEVp1Dsm7sRtzw/aSva2253VagM9yPUQm7ucghJtNjKKaEZV2pwGIOmRH9MFakeXhvQGHLBpsHQ14wLJ7K63zR93tOjC9p5IlItAJcsk47JaocHfNljRvjn43E0P5N6zsXTp0azdzIkGp4wZMCO0yXgWMB8UIDIQf2HaumvmcWTFWdwSF/ybB0deaYzGc5kgbvhLr1EtHiBBypD7MchSWIYhIFz7FQlNvb2zF0tuQJqlf0j48d7BE5y6CFVzrn5ueHXhgeUAdC6lTEiEeDRziL5/jCsM5VyjE5N8tdBsl7q+R2U5o9OxsQSsetqFm+HjIrKCg3JsJ7zy/wFA8e8vX0jHa704OTJCsaHGavPZ4qxQQzHUQ2m6BF9uuAr+fIyDjo7kSCc5idiDIYOUZc3zvHZQqB6J1VOHeVZpisqMq5EFTPMVVOtsRSBce/76HULs45HoWEDyE2PgsT1WojIe+8anRR4k9PiKHcKoRTIDELjwYeM5nRjV2RlL5lnC1rrJkVy6ORBMAP/Cx4xgAOJD6pzc/2PoqLZ/p15CdhggLN5HcCinYXNGRKsuE0H5hW2ZfltHXaY1JXUFILoIQ7kWMpPqVofykZn7//9vLydJVQIV6EzLlIaCZ/Yu2PEDOkosrgL781qmxwYpYpMirbnkA2xyBGtQ7Ps5nONTdufe9YaUlNP8cxC5GUnIkYTXckJO2871tLQpnzkc/+RLwYqtiAT2tHZuR5SPxSR+UTb1gd/wbGuJuRtBUONnV9NKnYLY08Ls+ZMwHgjCcohmpEHPwtTNpN4BqZg+XmbFVXw0cGvXtIwnbkMd+0nw91h6sCSe1iTC7jk4Y8yBr8JUg2lk3Lr9pe7jqZ/MX8RbX1+bs5qFGi66YxBn0RCoNmUgwzj9FRLcYYlcg/ACDCbuUo6veBA+1r5lXlfa4z9FX0ETGghVlmKUOXSdpAfj7uk2RBo4/pZnU3sAsc58iaiYTbLZA+vDrGMO9WWIUBsm+hTUje6B9ocwn0QU0TEihNno0+QzWrFgT1AFtkN7WRa3wZ2zmJ+ZKGCqI5ZuaZ/AClJ2OM6q0bNm4kTkncfbKR/d4Fm340Jj2HAqOnOEV+EoQYj8ezLS+HEjKofPlbeFPWVc1DqYt2BwIlZ4tL3Q+oEqrVGlQUKoN8pwtxEy9Y0iaAFWwmxWYXPTZMgEOuNXIjYQgi00OULUYuxQAq7RcEdk9S4wZ0jg1ApKGAhxXrVr2njFMMZAAIzudCNfivkq4/g4xxK1I9C6C0+YjFkr3oFXirmWsBrAXcOtMOxMHHZk39tRYd3H8quTG8U/OqVaoZmEuQmB8fEpMxdIwxoXjMRMzEl6JEfQ5i4gzwjF1QhT68rIaSST8gjrcEyJC5SC/miRT1bdHJXwP0QA7yJcYliFcDLrUWPLkRIELqlWj8JQ2iiliGjYbIZAHERT0QFgZXr1E/tHVrD5px6t4y7SafxGAmwxiKjBaAr/MucLWzQkA7TD8WmgRLZ/hRTQh2sSfwkv6Slelf93f5PqrD/LcBWlh0XmnZdSO02S5c9n2LolMzrWajr8pSk06i4hIkNHvatcvM9EVLFl0z20z5tphZow1jaHNE0V9nx+aTLPVp+6Iicn8gLr1Hc8B8k3kXG8IMcJjZFvTdLkw6zZVFplOhIPJ3Mu4iqroEeQDCP/JX8GecoFIKFJhYsl8vPMDTrkGO+SZueMlyIK5aRjG0TVM4QntHhAhCHBNJv3eZe6obU+BPIt+CMtwnkYN5GcT0G/AOfQKKxr+i//6Eme1JJpn4T8Fje2/RsAJM5tiv8ycKNEspE/s9TRLvNJmFH6sq9S+wCwQK2iuo8iKy2iTtx8Mmk36qBrkOCbhvrOBasHr+kDcYDyewY84cn1/kPacbdC4uwCSiSdZk5WNSXGQHMfcUnzwrSfLsHYhMsDuFQXRAJzCwsLfUwEpg9MqiUZcgA7/qi11B28wTQDADPgAGxRFKBzy2F0C3SOKcn1nyEO7frQfDkbBDvcFEi4DOgJlUo8F8JTom7+9wrLGpSVLPfuZ9kY7PfEcSLmSfK0vdLY89Vs/MuWWyVQ9HuYTDOojKrVhJYNKp4xtffDF10T33/yUcGRzs4zxKjZnqhI2/D17mXLzepgrGaqpv9q1JOlkXMkJlLKs1KXG2la30HFxMeU6dh1y7YXAw77LbHqE5s7Yv5qO4xVX56aqzv3OCEx51Mbh3SuE+7jTo8N7ZxaWpTIMxISCJpuGloccgf3cxVDQechi2gvoe39+gftavF/IGrxnvgWJxbdWYohY45NDzsDSyIpNDpThrwqRuvcDt6D3/pMJvphtOfa6GAZ12+33na5K02WQveJv1guPdYh6idP4OmVMfLmj1vmAVzLGyUnP3mu7uI8ToPVKdk342vEFPiHBiziPzL3eBs+EgmXBdhTzX1S9bGYYZ7Q31WuvKi87qQcFoXKooaklxbvk9wWji76zCNhb3HTxcNyYXdSlpBANxENLXmQQqyuEGZ7qF/Iq8PvO6rEjAOYutdrOr/Kg/qlfn2I/hb2lPHAJt43AyHnqis8wCUwYs8gTAEZtQEv8JyLHq7U4n5jNQ+X+DtwSH5JJufjelyK1QhNmdQEAN4Sgl1NQQoUpLT7uzujF2fz1FvSccj23hGDmHNtlR6ZWSsPQOmXIsgVU5FnXFGaGb007wNfyFS8j+KMddifgt6qSME0jk7uRZfpusKGWoxrwjWDJuDZp9aGTTJVbqMqsmjA25BYK00xVNWk9R1pG7fKE/nzPP1yJaI9BPSxBQWRDVEQCU2vcMhhcKqvlbrKHXhULSDNntJoM8PfuM7giVCClqOQT7fgpj/BN8uxSYJlKHDoka4wDA+17zsBLyWXrAmPfOb8Ig8ukGiiELsLKkXVD3JGm1RrNZb0oanqKzec2Z82wfiOXazVnXr++MIU5K0StW1KkLIDG9YFxxQNq2rmn7n54+DgpLYTMSdfva+j2Ha2roefnuliVjxviXYz9vsO9deKi/wkSxF1Vl00XR9BDl5O8Cc/ODjK5e2RmTBy6udDTWnfFC7wP5jpM3z3Bb9CrEpZy9EoQthge5S1YOoR+2gIWpI0Wr+y5Hcg59YXTAqzbPnSsmeMc/tJD3OZ53PaHo8nPwPlXEq74LnOtDvEO4j4tQF8Y46ZWSWPbmUWByIx7+9Hz3ETrUf0DnxLYL3O6+zLXwedq2qr3diTDFbej/n8kse1vKF+Xvnlk56Fa0l0Db/ho8ooVuhvuJRqm3+vp1J3S9FOLhk5PsGhio0DnegsVqJaTr5wmT5qIbUAoXgkSUYRyHt3leea5lIaHGJN+P3D5u7nHDCE4A9LC0rzdAm1zsqpf3rWsiGXpCpNI0GJ3X7I9ejmMIpJBsxOiSf6dtNVmmbrfo3COI8li47T8Clvzelt7eLLIT8WRQ8RVEyAHOHX0vai7GgDFvLRK+vwgdbHy7wkyFeYq/iSjZYnc8gm/mdkF+vn9egXN/qDf51zrw9F5WUdC1qLrESyoTz3ZHdVg5zK6yDb6PcT3VxR9c/eyvW2fk2gZqACBYBqmqXYPRWQ2D8byOEIUQ4dd/+8eJg8fAELMXQPrjKCh6EmIMj7d4j74DpoGjSGo7LZxQduZdbHruuUEwLLYCIXsC+o8vBb3KljP3+SJ/PydoB9LAbcFgaTRifCulqij3Z1qtvO2AjU1egID3VB4+GLLLQ9GY/7dw+UM0lre7v/vQf+DF/jbIctYjuL8tJqWO2zghhoqbJ1Gh8nj/HlvD4sUny4dHdkAboF77duxQls2alcQLbXML+aUCXvdgyiDL8nFIqsREVXt2aXXhKc9n5PHApTj8nYFHwUl4LQor2sEJ9ERhIndjDZb3mf229AxOkg3+HgRKJgDAnYQB2Wwxm1776JmnTolREjL0ieNyxplN7L+CpfoyvNspBPu3KZL0q6Gkb+eZoQbixR0aCE4STeJdwDsPyCqdbTaU13o8roN1eBHw1tMbOzrE7ojmME2qGiIE7jmOwiUoPliKQ026oRzkRf7vO998uS3/4m/z+W6xhjZ0TFxMHTxwwG/YfxHU0GpidDP3kfl8DG76Chh5kvHvAXzszBfyHUDUggn56hyTWCfpxlyW0lcrrP74t4GbBj9wVULX3kOo5W3UBG+NWZUdy3ANsoyjKyZNT7GUE5R2yCRqg6Kud0Sk8K7MquPdDt+lvrjyJ4hbSlBZ/qOD19/c/dqL3YipGa83d+QLouXHML63oJjiX0KhvFeWD6NHmgIBwNDEh9AlJLFqFln+tgPr/7HjzHaT+yPJNATPKb5w1FKzhV+OIsNqcCy78Gz/j8nX9SJBPxz0xy7E83kbMEM3kCH/0d6tPLvnHWd42Z0Rl2Jmf4QY9s1QSr9ulNuM4fFp9Rs5//+mbRW4l+kh/5LD4c53V0CM9XPujYayx9VwICfKcmqTWeCFYK5zQ91wmOdzjvlSvyYTc7KgMh9k6KM6N6/dlBkXH3UPTcdzdPtL3OuHsd3GBm+oDDjJSky81RazuGaqy9Q5srEEpgpHQkd5PUNgnuQ9/bJCD+fM+EL63APy79lDWO9k2UzBQK/WWlUizNR1dT7YlOohAdOveayH8aKgEI6mGwciv0fsdlQqqf6ESvQfnVNdnYCRMC4fiF0Hxq+9nUU5xzPeFekscsz6Ht9oSeVu0TTZaziY15eCuZ8Yltk9wUuB91sIZq93lBikAkUpZjqa7Fy8+PTQA/GGPbMWfC+pGz8AkXIhjDy4dqj9HK/9vO1IeD2BSpGwgGpYfgX2q0swY2ahYAL2gUa5qrYe5cdP9Gz96FjmYafPN/uiW8CO9CvEZA9KqdRjibKc7YvheY58wP3QGeofiCAjT+WYNR7UjVQZ8LsuRB5fP/bx++2Z8528T5hSxB/Wdvpvsor8XZDXQf6NyeIpziGp6hEA6R9cX5hzDOq07OSlN96NkMu/o4nP6nLo95jYBtAmpnLBAtvq32ahGOJTQ0Lwtj2i6YdACtCiaKxxtCca64ahYSQEk6LtTo43PIrG/QR9sygmq1CfoN538vQsHWgUqDLeD3RXX8awIsxiQ6t+iATZYELVOZfK13dbUt3kmWTu/ZmGNkdOjuNuPJcfYVwoWSLTZOX53YhDh0MpeQ5oI+dCC2YVzbGPX1vu6c8M+k7IvMcF/ieQCoIjhio2mluphAfunYKJO3Nu8nloMFxFQ5yT1fUDIm8cSup6kaxQlQLDPwlESI/ZEL49Oltoafb5rBD1/RkN0h/4zSfAZfA3geK8mPHOB4lRHVZf78Fh+Pcqm42Eub5xGxmHYy5cdDHi2FkKMsHkBkilkCojaIRMpIA1B3F/IymtJKqqs7a2Re94YkHl5yI8GgfiN9IgpYLoa7emKNuj+Vkf132NjG/TUPiiOOCm4MXJyWK116rznCfIPZNx7HC5hEy5OfmOOBwG7ZyCCf6XKLx47YLSrBfI92fbcN8TwbMN9RwjFZSUTy4odJO8wxe2nTPjSypLvPZCZ1+0TzHzvHrLpEmJtmSyKJZQF8A7y1M0dW8sEdwCA5GOrTUFpStSsrzcqVGP/KXQfuy2jg7Ba7dn48Vn8+JxHyHAGHnXxPhu7QvdieQJkuFCBdjuNnFG7BNyvrVd4VrEWStQEXU4qki3xWGJcwR6pyQzmwC0T0PQyLnS5+gOXo2KtSyKVmEH+O8B81lGU2ozQIBPyCnnal2I3IXs2f+BysMRnLMBTMNEf3wuoFApEN6sk1jtcerw/kNkaUzOt7E79BQEMGclUurPD7DxeiI1NLLd5OemQOxaLIkKOZ0uAvMxyqPVHMB8BuRU9MjZPNWGQLIYCtevgIlrG663DiZ0PAhDfg6Z94+gjfjTZDLpI0awAfctc8blII7/MyWysYTPR7ndLnjJ+kKIO23uK7SnqSXJy6lOqfspCjK+B4PDQcetK55UG1wO4QPdH9l51RSsRoA6f/RRcBHe0T8WCk/3BWVtiYvnoI9H9SYU/Zf1m7o+eWGYR4PcE8EB007uYR2sPZyhrm7ypvbdM60wudMbHSey2nhNMO2tdYrtq5o78kAseQVCQ7foND3BylKSAtIFEg1AOOMdjef+eOL137Wd4sPAuRtRhgwZ5HLged0ovHkBib88KCov9+fa3p+PWXCvz1dgZSyXQTD1KlXTC0SFemTtvv7ts3PDenZVlTWqsc9gXr0GWdLfhRPBFaSPj4RSZUDZ/Atu81qMBByqSWA4IxPFKpR1vzXOI2JR9dmQBr772m/k+ZZdeOlbeDEI4IYUqmCsk4hL+n7SoUV8he8Yc18k0SVY9MWLRjAInnmD27qCc+0WYSlCa0EpSf/1I4ThRj6fM/f/sn/f7YtdYAJNARSoG4BA2nuex0GeXXojNAIR3pjP6+qhgMZM5hl6gUPgpiAhPwEr1BfnFDgezOw78rPRG82heO02BKe6GJSMMYxujvmTfyeSTCP3O5c/nzPjSxqFKRfvyacDmCxN3eOnXYWl+1jIDigpVnmeiF+Sffd3dLhiJteUBO1qzqVCs1B6spjRmGKIgEnwYD5Wh1JvkRsnfADZMlftLPMc9vdFkb3UpkuMsQecBLGCMbnNtfCkwahlzQONHOPKvhFQLEIkHEJl5SCj6Bva/G0HRxZc7ADQfADuTl5fjJGdlosFlvsJpDZrdFoDJwL1PJYnN2q6bqN5SJ4rWjOk3j06z9+JUuhbEco24uCQpZLSz80u9nBfSDXl2czzwaIU0yPU5roRRQHkHnf1RrPtFroA9JRLUOE12cTzf1NU3Qxms62JfTu9MOBnTfJA/G8RoG/PQf3hO5zNOBwJUU+JnD4KQcufmbpaG5L5o+4Ad25nvxLdU6qKwuoTh3wXjj4/3wIGOADj7Rg7pbFUcvWisrxONAM2j6ZfPTKwAsXYP+IY5g3ArYriqj7FynL+kKTthajlh6Ns8qbzCvL9xACPvam7QtJN09wia8cLeKRVNPY/csbLSpb7kwvHTUIBiCzLVBeJmbeEQuWSxs8DY9QkvPxHduzd+uYPQPv4ZleXS4tZx1CsOsEhMPlw5hGiUVvMktB05QR3L2kj6a+R22NY0dQ0N3MTCiu+p2raEwh7bOX0xC2H6+t91Rcv/jcw0F2N8TYG8dxfJjjq6VkOR5q3gpzjIOKVKLP9M4uBR9PSLYfWubZhSclBlaME+RTI2XNlSFxCwk4+HI8qB6PoPzKZkmO/KmJtcu3/vxt93Sp23W8WfQB6pP0OM9MCx+EzcV7SwZKqTQtJxvR+PXjZ7WesIjLXJs91Wnn1cljwUjjNRGncqxjUrqHIwJrMqiez71f1SfTloFtxCTQe5yk60wK62LdrC+x+0p734RSgyuJVkMG74YN5UhoVyzJR2+H8dOs68y2K1b8/2+Paf2bb9wzEJphoeiocjTbEgY9hlXplKqlvhHZj+5n7nqvfz1nCjTRopOElv5MBDTxYc0qTwa4uJNkUU1UP7ULyN7KEzM937XDrIYgXMj/DzLQQUKkZGsTMARK/VMgyL93RQ5nR0aosivk9nUNzsZScB49xTDyh9GPtPC3qjVy/z+8vbP99XvKSd9/wK5SigV3sbyhX9YYSyclDSpKQg6cHIoFREQ9hNspNr3K5QrNqigNcTIcnSf0My9A9wDkCZqI/ApdsHOKFL+q0vH0+1HovKPMcSCbop5HIeR6uGhLk1EWywP3cUMRn88zm5XZQRwwUezbOH58bJ/eV2dLJNTszXda0W5IaCE8g5Q5oT6mgyx2JYP/nGl5yPOIcVhgHm6xJk4wEc7eVNyYbqvZcsCu2N5qdjWmZvVZTjKstht2YVpbTP3/UeRWckihKGYqJ47QqsKJ1pVIhMhjTRo0s5x0m+u8IswzBoFMgq/kPQMwfxQA9BqjRpeAzfaw5Qj/7h8N9t4++cbA8R2VCMdX3AcBYK/e9/HzDmYaXtJFMaEeO7jq8sTjrcLHIcQeGolfHUkwN4uPLMHF1gtnMP2/WBeOIE3ZjaWnwH4c37GFYfpXZov/BrYmv+ujY+qsmuHtIG8nkQM45cluB70ncPBCNr0Lfb4IXN13nzFdVLlvGsLq6CVZ1G1y5gJt2vL326adPC0e0yOH9LK29qRlarqoJD09cGH/gYCD2s4AeGmIH5fdZyfgTuEVe1/t766ch3OEaf17FkUDs+qZQ/Da6tHIm2gGU1jdoW3WdLqXUF48r9B8H2gfeCQ4k3j3zXxjfDSbk57rjibc3tAKRiO1s/T6mcIwTqBoHlunvSrrSQoqAGE3NKzIXecghX4deAT94GH49BLnpPozhCYBXkralt31/+V1cZ3Qo5xhjAEV9heWUR+Jx6r+ZAPsqZlcfqlXvONt9A44W0jhjFCfQF6UiKDGCkngcyreZ834Rn+fU+J6tgXa3jWQfoaCaQoKFnxg5etQ8Yj84XcwtCEvEsUr6TzzZNryKa0B59yIiVvMYOpD9KDLrgylpH3hcRWjA6RAshmQIfSHqS1GZoydCMjft4jvCTpANoHLUvAG4o1zEahuA39sMNMQSxE5vILPhpStW2Bwz5l/fAM830/npJYUW2QzelX9DFnwj+AkKRQp0dBSd4+uKYpWe9uL1xaOc7VE69hyu/wcsW2Ury8+GRzAVbDfN9gJXP2LTaQKfEfcF7ihmDgjUHbLKfoiYZwUFEmjoPWwwAtr++eXlp8WEM8cRD4b8DG7gDoT9EwIn3AvymO/AaP/Z5OLXX4FlPSu6L2QprQb91WszQTgdbUTJbwieOyuILKrmGMlIGfv2VVefNhl0o5YAxnclTauLSFLUnGf6m0njn7aZmRiq4ixmnp3vNos/RQNeCAr8zwqYEkDx3BECDcy0L/O5J5ic0xIO11p9dcrUo35rQqAXoLKGU1QNMTK2z0qjmEpgbIlonCzZ0ESKWomsu7Dvk7i2d2+YQJ0IXntde9Cx7YS/ekv30CWfx7UwpyTHC4zuM8AP4YWg7hGGolVuJdmABBq6gFKCVJSgGk4bxyQhKKnCWhLaYChjPibNK3WVDjtEUa7Gaqoi1zoIdjU/ScaRiclG6Taoh9aiinoKFKKt9fVfDyND+u3/y0buIREMf9LzxtPti88fFSErsLP9C/gHwwLFM3nDJ93Q7huzCUmqHSjZzVxnlBaOA9aYwCS9iAOFGGjStgETHDFMJ59jZr+v+hPkmW2iwTbhfdxsFoyxGRViEh6B9Nd7WBm9gtXjK1tfPLwD8kGdEhdnEKJwYtDMQcL3M5OIo8gdoxVlD+gBthTk5oLvgduf8wWjzk4btF9Eh44iySdR7INxC6CqSAMvKJjNTg7uE0f9NoplSuDFfWCosX8gLrhXo5kSwYj34SUYxfOiG28uvazcM8CaTLusrPntnsOdO5GBtfM8tQ56ittATTkmIbJFG1Ehpsv9bYqq7FQ1JQJP9jziwIi8GHFY6It9HYMPAUkxNZFiMrCl9O2SeKAn5t8JHt/Hoor+EUovNZPA3V5QkPVdkqQa7hPjsoKCrhil/BlhtBASND7MFr+RkvHNowkd7oiNQMNI8QNIcZDQYC4CC7wFoZA+RVdGSUmTI1adQ7C7aYNEwjJbkKjE4cxjyOBufXrRXTsGwhcPRdiulKK+n1C1IszgpQhAFasxpnarN7oMVUn/Kmn6UFhS1/SBD5dAuPq3rAmYTWIJTmtRVW6HKdjuXTHs9WaaRowdpzJvIIHIYFDeGu5LOAb11PU8zfYRzDCK2/8TnqIHxU/V4CzaF+5vPM14Z85DPrUUwHAKnV8435/nEA0rVgwXxkPaHoPnB1hG3wBowwZN0La6ov5u9MWpydbjAfnbmPOcJL62pycyw2bmbzBZhFqAYSrtgscy8hojfjb6g9JWxOTfx1AYjSX1rTGLOx9jaS5+z4WR+OUN9z/8r22hxFQck15VkWw4R2tX4vc43Lu3EOt7PKVIb0MpJZPhT/d/5hpDGifxnDZgovSPpQi7v67uJIwu8/dvwuey2srwyLgsgfFt74v++MBQ7L93+yK/2T0YeXZCRfFTZQ5+aY0nN93XCsqRVZafroZDF6zpDRTjPukdQMMk4uoRFOT0Qr7pWEcqFQfKZnNfsJespE7rt6+yX2Qq3hYzjFy4H2ORvK4tLLWiCvrkFuyRmqAs3gie30lzbp84ekNP+C7OavkDko+TsWIqvuCO+8dl9s18drT12lCivhD5k/lRXfgeEtMLnRRfkPn7F/F5zsqL01RuRUWoHH30M+3sSkYjdt40Cqz44/CPvSXg6yQlxN1GHKzn3FU0zx2J0uoukBpw8HqvB4XhPDjLDklKrCxxWgn5i1HlEFN/snORyVV58olInILqZEFcZWoFRp/BSerG59sOB/513jzl/6z/MDyzrHoiqsdESdFXw6BjP+1aimE7UT31/uF927o/fOONtDdHMqH7Umx2z84tsd6DbL+pytYCmftsxHynIVo4XuEFCygND+XbhATuyhiIKYXwki9WDe55fTD5ziUTC0+T5SGJIsnkrMNTvFZGuhgY4B7w0BaCGWyLrCkhaGWJRijYnuEs7uJz6kAH+aMTUJwsMjvOw9B+ADP2ARsfOaiJrv+HuveAj6pM24dPn5qZTHpPIIReBaRDbCCKfWEta3ftutZdXfW1t7Wh2MvaG9hQBKT3HkqAkJBeJ5mW6TOnf9czMDEgvu/32xf/L5yfMpOZM+c8p93PXa77uqpFdE6bOLo/eoMHIBcxmePpM5CLy4hJ+txQrGv1qMxMSvfujyhYAABAAElEQVRp+ab+/XJ1iSlDuqYN3Lg7pg4tPWa4tLS7rTuVs+RBaubiFKMwCB51Cbzhfx04WLE63Z7fzXH0aRzLvBqTvT9dccopwd9cyMMfNGInRiM3gte5Cx2qukXhmJEmC1eIcDXdwFCNPpdUKTXs7Tbl9C+Cft0k98F9LSs9rJBZUDAI6Zcx4EDuy3KGPKSY0MynN0MKfNf+RXXu5xs20qOKywZHRHWiMxwbUo2MdJHd4ocab9yNVBPGNhMwvRFIC/VBmINJXN0ITuhTgEYZDZWGiR5RHuiNKuNNqY4IiFMc+O4n2sx9tWbDusqLTxlOUhPHNB6xaCwF3K6j5Vi4ZmGho7b8qInr987Difx5U1y51MCxN8eR6gJaZAzOnRWhev+wrDcLlPebytWrVVNx/2ngDjFAqHXfyDTBYzcY4vdlF/UD58qFiNaKgOvO4GLspp/feclzw8UX/yYC+r88fmI/OsKRQjhDnd0RbaPVxI5vr9q3n7S4E6XuTknKj2vUs3A2zrUKzGl4riB6rX+GbncP6AymNfqcS3u3lHcyQpoSVzI0VXGi0GuVNeWgwnBirllo/qOO87gV3Fa2e/prKnuqyMeXnpcHrbBDldbEuEmYv93lvcRAmwqhehhxaOLPH7y+t+uxx05D5Tr0CB6JidGYdC9tM4eNsrwAdRIj4GRv+Dqlz6YP/1XXLXkSSBGOUY2lqPoPNfFGIzybYmCEu8FAtmxqrvXghhZXcVTjz0T4lA24VBoafTbLFL/Vs7y+I6l8saEtOA69MLNhaPuiw+ozLdD+S6CmJp4//sxBMkP/AxCqizFP+FVdma/oytt0nEqhMlL8XETs1+qN77ps6CGWseSYiCE3mVKvBVWkXzLwzVpcvtQsCO2aFF8qqZQftI+nQtKxalC2tRq/SdzIq8BeBiWN15DmUCQAW0GHCa+eeXpCpq0BOWpqzOV3lWSkcNMUXT4D/bBZmJj8CB5+dkn80vP7WFwN3d02V4w/G99HeIEtlmP6EhQImrD93xSwkuNcdNA/wq/HvwMrnM3CCzdBd3jpLKjcroG3Ho+bJhpldtNpA2y4fqRm/tuFFBFpgbpRMHArwaM2Q0GsRjPGHWwsyqsWvpXudrWOhirw2nbfBAPLpaL4l8KJnIB8WpyltQIUziJIpXhCstKiSv4unkkPoVgXhOy5PSizt6AXf6qi0xnIApvgiTdxujZ3ULodgc0aPnvEKQ8Dz3wPJnAJk+MDYjy2xmowD1doHRzK+lgkIoKo+FYpLPUEF2VrcX8ERmPbOIpjHgs5OnJvVrsjoKdUr9ZoeXVNWtp2pJESdYLfHv3J88lGZ/AtiLnqXdHY0lyb9WEby/4TxacsMMtdBim9aw2qGglo1jmotQgmi/jj/B9afQTNUhVSJkcjKFjqXC5nAMg92v0EosOeYuaJdAa2haj0Dq9fzbeyU9DVN5Gn4k+TtmEyxsr6cFYbJ62DE9YMGOEXjBav9DOmNl6MFbAc/5OVZS4am2Pbnjyere3tBUaD/TpoMH4Ri0VNKFYNEQS9blSGfUdyneP9elzSDiTfAhbDPyPfOoSPcqmv1dYd0c1EHmSdNW2NiaEt4GJN7VAMt1x4+7Bs8nwDAfE9yBBCvJHvL3U0eKEv/zSlxO+mTdy3MLzJMPGI4ybGon+B4yBoKJcDX2GmWR4y5vLeeDw8pMITzapbVdXBGqgDKGenQgzzO5Mv9MslfVJbieElRbcV7b45wPM9Byzv1aj+n40C1j91e/EACiXx5YWOKuSSn41pzFcIbaF4TF/B08KrjIF7ju4OZNoY2/rLh2UTPGjvBxpq5Txj5sENQfMThbiCyVPfB6Lvlm5fV31RTqpPUow76rUQqZz2eBACze1CPnMZNOb7IBcyAJ4r4C0i/ThWIiHkuWX2xljc/T3Fs0+CdvMf0Gl6rFX0/UAML9n/ukBAhPqDCI+1DGxtNdvbQ058/ruGF99RjYynGrnt75AshoqIbopE2Nzv6toLDnZ0BBizuJLkY8nlIuv2Xghvww7wpRoEtQiMzapRVXhZjn7NsfxogxKzuGzs1p+dLQeJ4SW/A6KgDxAiIVTg/SItFUMtxAKZpV2+aHiZYGXXd2jh/aietxOUBAwr65e5+0GwejrkX36A1jAhaQfjFDdVZ/hHW8LhAWvXrpVExfAxJqoaXPMUiqX5igqpRVXDi2FA2vC5B6DtL1DVftIYDe5ZkGtsg+ElY9FXgop0mzt09RZn8AqiANL7uH7Z02kG0f7p6IziwUN9chXaeh/Ib96D1JTVTQJr3Am0iAfyU4PDEIa1sHpZQWqukQ3TZiPPIg+u2mOesAGGN3FfxsKhFkx6q6CCsluW4w2oiB4zivrN7v4PPhhno339bVw+6CX/jIneHVKEiclhjCi1uhEhfSop0vtUQPxuWV7mHogbuC0CEBwUDcOilyTXJa+wAz6GZ35u3riq1R7yHoQj1y/gVwHR/+OW/7XxJcZMS2evUlSFQxj5jc7ySjHv+OsyEOPAe+vZftPKRR0mozWbYpR2ntL2hyIRYlh1v9d7UGWUJ1U/ty3VnMdxwHuxgmk8F6f/ttMfvojgSY91+CSXfPmAPC+gYhJyO+u1zkAFyxkHeeOxImlYuarHqMqYHPrMTWduPxP5MFiThFHKmnjWVECs7oF0PeCw+jyoS3yOPOUGA6e64PFoj+L/VeB7iEjhF+BpLmYYyoq26fFI7G8LMNbm4dlUtLdxIhMP8moXUZzlLoOuH0SotoLi2L/wPFcHXdzVaB6JXPL449Hv3nquhUwavY9FadgVgtEwocjYCa+tBTfQVKPD8OR0l298RUWipVZXOdv4WFQdVxPV6le981L1bBg3+vHHaYKmKDUaU8BIVQhq9pBL1avunlBwTOga2Sfx8Baj28dQHWDTKfbjFJ5tRd/Dff648kxaSkqBo6FB+z3s5wpwAf99yjlXIJIYjZN4HWaWXEQHw4xetV2glPfDnGHHDJutG23Hv+a/RXmnLqjw1g2ykZIXwaAuFw1yBWl7HWNL8QLqRMaaMPI5A0aNQJfj5WibXhqmtO/UjqYfkVp5AkPeivrAKWGZvmbw9OmGhW8+1wgCnQ9pTY9xqn7tGVMc/6RUtggQum9Re7tbCqlzNzdVr+2fm5tUtqbWt/kusRuEV+ERP4TJ6wFeFqaRXHvyOgQ4ryzHtEZUfn0GO2NOKD8kvzyJX0OSttzE8IOKbKZiUdW/EwyG6+0883eUZ5ubm9tj0XRB9MXEEpBv02lFWRBsPXSwss5PQOfhOVBwGc6h62ZIQcEJGwWQ5xBize64pC+QldhmFJxTUE8YuN0VmogbC4+49JmJ57ItaIM9zRmevLq9+2mGFp4RGL3DLCVUPXquMBwSRpaU8RmjJ5zrs2RdAon6PAtwHz0r/AFveozjf7ptU9/JBgMrDICv9KPP31EdVaXpmHPTWK/Cw33r2Szp4hJF9UCMMawGKP6XlR8WJTwkgh0cl+XYZyk00ZSZ/S+EqY+A6Pw61K8vomXqMWuGcE1l169sF6SYguaNAvIAkZPPKdH1eIrtbpvldnhz/aG+GkKbqko8qpKAZ981JVSPQaqDiCsUbK9CHigrJslzKaPwnhSmn0exf+7a2koyyyWMwWOAGlSU5B6UKWW3ojFwjKjPdF36UNzycxdZhxi+6lCIFOOYslLHOITSKYqil7oU/SpywFBtXOX3dO6d/4KZrK+tBmIAnuxvLiS8OXCfM03Ar/0LTGh3I9yuhAd8piQzz0uF0evWtweQboBUO6NPAucs11NQQXuuxvA2VjURJQiLooW32wozjvbGyVASCzG8y5p9E6En9GJGad7AJjZQh16W9WgOKTYZuB1SmGmYM2d2YnJK/ib5us7pHZRqYW5DAtsoS9rPaN5YBIiPSEm6JA/PluKNkfUT0k0dWD9x7pK/a4t2NcS7tW35urRnScBzYDJQC+WHQkJctSPXhYT5KKAXsjjW3KnV1PiHDx8eWZxjPYCiyevwntHeTV04cvDgXBy/ChHNCgAdADOihqK7byQPPlELLa/saGv+eXixvak3pntFs3cQx3F/B/YZYbS6DU0I86Dw20BUlZPjnDNkiAxvqAEMVzwSIz2fJ78/WV/bI11rGVF9UAiptbRBWgjmqTcAvfrYI8Uf9+3N94PXIApaxWbg6plwF6mtHrK+khxtlURxtYHhdkGNCALeR16rE+181Kxb4jUjia2xhn6AgQ4VIGAHZ6ydjDOyY0MbeK77A1r0gZnWXgH66RI0ZjSgifie/ZqnvvexxBQF3OpMuq4w8IEYWZYYSVK4IyL43usfj/f/a+NbEaqRoqqyFcD6DJs1/2oDz5mNCrOswMG4Hzvqwpn9rY2TM8zOwQU2H+xyz41O8ptyOHQlHhLIftN7RJ19WtaVfyIxvkIlsvKspwAHm7g70ouKUiMh7a60QaMKyWfuaHeDKivbEXpvUzntLTbqasbniW2DxzeBZ8TficXtjSGXyI8Df0G3Iku7p2As5aW2+vIcYzORriErQffLttYZmDmtqQmc45QfXVGf84r25uqCzEYygXSGpcGCQb1Wkdmn93Z3D0H43QlplhDD0U5WB4u8zlvUSGztxNJSd+9jPDSCQ/9u3txmWucKTD/71gdK45HAt/Dsvi9RA0uBc0b+m/kON8lQeIrgHKBeRAfXGNww2+SuSM8kQrYiKuJYyI7mARi+VxHo+vJe6YxDezn0LzG8K1o8Y0RVfQxBdadq4jqu7dNHRC51C4APcwtM7BczEKIdbRDJJLfHE+pvNpnQ8McUAaJjDbNiVUdr9XrWIHwg0+xSNLgoo0cnvHmdAN/rwtKQ6u7IMOyZIRjdcsj4FJBrTSBduBcqQWiEKOHifd7oLXs9wcv3RSIE9UQLwA+CXwFBiDIJeRPMP0i74BryesoaSVd3YLIslBWqZAG2y2lsOf7uAKnRc6IsPuvTxIYCNFhMh8HGz46YAFKtxrEoMg2JK2pdLC681CUo8w8ua6on2yb7IAuZwKOsGMXx2VQ8lcCmH7GNQ2udfP9eP3iwb2nj7vUj+lndQOp4ArI+f5fLM98VUvuuMFUYyEQOzgxzKktn04KESECnSBRrNJmHcwI3KaZrQ2WG84bWrDmhzwd5JhHCwnNDbYGhDmiqJgZqdieML/kOaKF1uKxDAG9fA2TV/RwlPxZgo0sGwGCsOejMSF7Zhg0bIGqhfYlmr9UeT3wDJ+idAocG7T9w+V8bX2K0sKwEDSQEIpU2Ro+v1Tn91DUe+ax/rGiw9R57Ald51ANCvp81axYK08wUtD9u5Xhmnq9h7zfhfbuXBSJBtIkyoiTy+Vt94UE73eE5LWHmMYCoL0Wr7aQmeLLkIf/qodub4yF9046NK3ccfgh777bnParZZlVVrcitZllt9nRys+FLcnP13GB2i+hAzvd+lnVcBjL0NRJveplzN9aC7FarBkELgtRZkm5ZD006AAf5IZAqdPKcUA2V4AwGTVRxLbilafsad+9t9gwAb7YCxRHLM90Dr/6pmBh7Nj0jU9vygc1P2qnXvPPKrjjH/wtk4c9C6aMF8KooIHNvhhlq2azRuYncWyJn3dWVBcLWdF2SnFFR2km8mOQ+FgC6tsjpHfjz3oADn9G1ui5AwucyFB6bMBO9WfXxm66EwYmGFhtjoffWf/C6EzkJajN+s9MTnUWUNAhyRcvIn4aUxixB0S7Q1dgnCFfHW1X+4vTsbH3hK8/Vj8LEhe3rVd3xor2+0LUGzfBaPC6+A0WBF/Z4PMgKJSbLnvO6vTM8DQiFV4HcuB3QttvgkTwCLtAX24Jiv2BcAbk5hFNp/dyC/EFD8NvEfdkXnMRoANmB38HVBQ0TFjinG5E7vo/Rwm+PzHJsSXZMku+OXlBfAFk/qDFwc3FGrZ001yQLrkesCzwNp9BhhEX8mkPjPuLrk+WP7+u7h3590DXicZw/osN23rBRU7cjetrZ5T+j1EyPGZBun5Zu5S6y8CbjauCr4e15UDSIhSUBNorSCRSQ0ySfIukdFJorol2dezEZnbBph+R1Afn/bkSfIWDvi1BjHMOXDs1KfsfK3RtQovi8K6a/rsW1fd0RwU3SfyJrvoJPMb+z1xXoS9Ylhnoc2pRPzbR0nT0oozMS0eY3QZYquZ0/4vW4oB3w7NKv1fpScqQoB0qzKazKTw6KYq3BTC+bZtBdeblQEe5l4I4+EJIbPu/Wu7/QNDqM0OEB0ioIMhQrJfH90GkwD5SUcXC2GoBqSAOsCF6K1ggdsg86gk5wN/xKnkOcJ2JYjt5+8m8oCmeC4HwZYDSDkBp5M64Hn5pxVCV3XXtgjpGjX0do/bLGim+ApINUT3XSdjmtZNA5qIpfpejMjyio9QXsq5jW2caYJrsMvLFVEWP7/NWpbeXlvxbVkvsmr8RwOsaedQdnpGeAW3MVDE4o3B2aL6P3z57B2zsjLi8hWifKxn6oYRgFmuHT0lunmKlE+oJo0SnxWKEKd9BoFKZpJnYVW2fek9SS+6DGeXYKw14FdQKwgqFRg2XfaZa8O1I1y1hKkrzGocUHk5V8fI//EhdFr+mODEdXwgBQOg1Izba9e7CuLp5rz3lGZxmvooi1MM77WJWeDrjS5u/3V2xORgnV/nA5PNK7QL8+CFELDCbCNgh+oj1zriyFnwSulnij1E5vGBAz6k0oDu81GJllmNTswFveDNTCYGTev8fN8bAVUQv0bWZiUvkWLGn/AMMY8V70fe7wGziOc2NaZMaYjIyDyyorzQUcJw8ZMhhoskOTJmnQSE/NOhNGeTwgZ3E9wr87BR7fxg7fWeh2mc8zOgfY0c3VHbXze6clyNjIQpAqDovjbyDKrxmRnvITPvpNiiix4gn8z5wFVdYbx+d8jPOaWdUcvnR0X/ts5MIv16APSS40oFboU6LM7dFY5w+trbMvLiy5xIzqMMjxs+tizlduGzjQS1J55sGj70R+PAMGC0g1vgst4TsbVy1bB+P0h3qB/5tTS+7l3b7wbFWmPBSrWwAXaxyT7Uhw99J45haPn15i5+gJCLD+Au82DkXwF+MKii0s/SfctYGO9csfJ8b3qDGQ0/a7tuSodf+jP3sKD//Rrw//6NBDQDgb0qhFzSGXSMdCFoHXopL612qGr1ld2b7q8eH5HY/2Cvd674+EQDs80S/QGnsPXNH7dnsjUKM1DmLNLAh0FOANmVYA+fdAdbcSqZiDgsJ1IQNJGLYSN0QNCNtDtDCoutp9ANsN9d527/fb1rcEpk7KX44CWz/kGC8NxUy+RQe9H87qn57IWSYIbXT9SlzEAHp4N2mFGcTbTFwAPLQKGM+2mNH1C/6Hy2RUfiiWW4W2mcHIy9rag6GKGcUZXVTOryFt732T99ZRU9IMAjNHlbWVGhf7OhihY4I15RSTTb8Qst4l2Vz+btP1t7+1PNuKJglrolf98HySGEPQF0sxm9lBrJFKU2m1RgsFGsaNNsPZpCjSqQTDexfLE1FNrQNg8ZkMrT7bl7M9vV9kNv19aG5iEkmOCb9JbJNMWID7/YkShD2UHF0e9QQKHdYCL8tKVg0cLSCoUcHUk+WK6V8z1rg3aXhrPIExcYZ9Ck4pmiyUD+A0kpu9GKHd9ZqkIguFqQUL2f5ud+gypAlKgqryD0/Fjko+dyifmmnywGjD4FIXWCn6O+Cx5+kyPRTHNRMFS/2AL7Qaz0ce4ICQuFHe8XV0tFEZGXoysklOscTwohfnjphIDA2Vh/G0CyZxywLKuqbAz1XE7comNJJMx311R1lu8Y5vG7sNVoaaYnOwXyb5IAjNpn3Gea1UXLLA8+fKIYuUPE8ny+uuzmaZo/IbcOq6rZaUqE9U0lIp1guOqxVw/DFHohtI1Qcj8hicHrPBw1VaeJNZ1EXRNd5jT0RVqSNHWoEO0mOK6QcjpZyB+ogL8NHSoolnVOPnicnwRDwf5F6uiKgVRiuTE5HoCSaateE61uE6xnUY1d1Nfm+A0e/QWDgGQKGhjvMga+QeConqvBSaejV76vQiHFfjUceWuH+P+uy4/pkI747nFgOdXftjOv1FisDTFo4FCogdFUszD5vk7C4AZyaO/dhLOOxaB7PlQ9HpcnAbXI6HMh2g/Q26Sj2o6dL9vGB4KRT3zI/tS13/I6r+4KQqRO7UWAn6wTDFjTFSzPhIrpB9OJVAdmLY2OqesqIlMOej3W1lyBeyj84eDFEG9SOYzU2gy0uzCuxNjhT+uTXOwI1rO/zXxmPSCwg9x+Ksvx/y+/aWH+kB6eOyslySElgrcNrHAq1ZkdgfpEjiKjWmfmsAOQv22ZNLJAM4eknnTVZ8ls9x1JC4apxqsRjvtBiYpxCGTwfWeDByvNekMPwFEyq7TFiPbAuIq6SZwQFIaouBZjch0mjR9dQ9MBoBkjL4rt41qSGq3Ae4zD5eZ99S4uo8iVKfhGdpgef38ACeOu+Lek/54wsW/KaAQLYPpIUb8vQXwM++FIir6wQu/gRy7asBDzsgyHRbjOYqTwdU73DBLCG/LtHcXbiYpSol/ctoYD8a5DCvsIQ8X0V05W+agf9oEdQ/yPEfHv9ETJ4GwDpcCGNF0tYdbwyuB1PZfHiqNnjLl4TDINCnlEcBvdsvKVo5PLbb4UyPQtLuHY7iPoHR7UmtkO0mF5Mle6yZ5W7CjoqAXX4HR/OQN0JVw8PXJkBeCd74y5i8m+ERDjfQ/JPpAv0qmK5uUf16n8eT6Y2+fRkJ+RvKJJBwFTnuk2+pu/Mc2FbxLUpj/7W4dnkoIklbXTH5TSXAfeZ301+Q/9tC0c/dMXlVNCBGVS62uTPQtQOIvZVjDqe0tsViIEliBSuvnI6OSUtUj60Dx0EAEdBxcdL+yLMaqt/VjK75fEGgzEDiDOeF9OLk/lwmER8xKUjhfarQ6tNA62wBDv9OWlWnQ+pqDBMDhv7/YDnuJ/UK9JYjjRDOvvpvVh6POq1p3XFRFiKMfl3q+MCieUs27b0DMjNHH6t7+/aQ/XRAbikG+WPxF7SR1oGcpcvAyr6GrOw4eZgoe5FOYY7KOuXuNBS8sthSLgVaZ8NAC4nEBxU2xWRj5uzZNMl7ZhvNt7G8YYYZihGF6dY6viswt8pr33Ag1lhbmlX0FOSHYvCSpgNKdj74HCYixkC/BXh5KPZDI4Qh1w8rCpx75CAJMQ+dO3FaGWSxDpis7DK0GRdHdOrA1AJbO1UAe4GF7DvHZLoBKRKaMRg+RFGvB0Whp9i9tOjfCk9kcgoL9jWaEmBaNwBb9xOHJgSQo78MsoHhcqqRGMlEyN57CKRfH4Wwet1R6DZ1VwVJqPR5jfNUQB/+yVHqpIisfGKMKc45o3I9r231dffNZyS0KT+PkP8hJa6/XZyZubn39pLvu+OB79OM6VUgG4MeGoXOaeZuVqSbuhm5QTLRwbMcjiAmpB5PQOBtI/Dn6cjRblOM/Arw4JKJB2o1RdLWBdQWwKW1YeDaSG4f1xLNhpoDN/2payiqrfxwoa7ZH/06rNFXouF5FFIV0CZVf5YjWh1lNvfhQdLLUXQjJMkaBrzyuF/vtb3kdsmrhVFPgY+dj5ixAufzI3ewvR11AFJoTew/wkQ3c6rlJ5At3cpw7Awgbjyo2r2gULHmRyl74potWrRIPfO22zamyUbL2qamMDwmsumTajk8yTWSQU+ePVtf2ODLRgFYNZRauyeCLoR8/ml12JJqYPJnDM+izy3KIJ2jZO5Gqu7QubopLy+2szu0BQ3zUDamG/gg50nJFLbWRruBpIFu7Am8YFJXtnrCbqOsHUCdqI+RlXscjRk5OVHQ0X7G6NRAXuMPdMlyH4eBvQDP/TRYlXqZVxIFuv/Xh3fcPV9yACSN4HceqAnH+JVoyYpSHH8ap/H1RlbPnzhy5jG93zlz5uBB0NeAOODLVN6x+NnVy3admpfWRvKGMLwkH5O4+MSzFTSuOABXESw7/cHLCiIcPRSKRtbVsmqz0k1ZMgzGB9D1NAUEMmDQo7PB/XkG1I6f8qWHphfaRzMS1BZQeAOZDvdfSNAvQYvrgaisLoW67yNBKvz2RHh5jx7yPKl9AbF0d5f/grqAPLLg9Fk5GiPYq8SOMBo8FkP99OOujSsT+djkhcvhTYUsq18Boq9bKVE8parqUPWefD8+nQ7xvPA8rVL/ZjgePL3M0yE5+i/R1bCYRjEARQOZlbUmi8l+BEojuW3ySoqWY3JTvOSV/A02/xAYqObDi1+PMP3sTl7/6+vV7Wl3jEsLMnHPeigMe0CTtw31pGXXwOskvzl6Kc/Pb+9sP7glLtNlmqQM4A3CyhBPHVj9Xlr7mWCQwok/4sGLa+KpQGA4oPJ+IODxHJHmgeHtuVbJ/cCwbsbkBtFg/uoMlys9+XlH2FcNIngYboYxWXSNsFU1bl5VcbCz8WdbyL9ogN28c7CN8sHwJowkSWEkf5t8JeqZSI2QqppdlHiRFGDxXWK8ZH07bTkNnd4TkZuBOdfA1qVxUNjeVp6b21NMIfcrcvvO+W8+V59MqyS3f5K96jQw4KRgakFbeqrZXNZeU2Mk9QrCAcLyVHG2xTA1m2XsyeNKGl7y9zYICahxfRyoS/NYVZ5iSpGNa7/+pO1ofHrytyfaq9/l34OUlYthKTfPGc7fBxkkMkYyMXmikU8xORtojn7KwjLloHndDsb5tyEjf3caB34mkhb/f7z8IcaXHAOR+an9Ym4Lati1jC7vQ1fJ6hha3NrjLtI0QZ4L+qvqppKvWqN5xKCSExT1SN92cNSWfmlUiLBgJR96si7ZZlOTP7Xs9LNnQTlhgIWhB2LWQjaL2RIVxbUTAAXb9Qbo5ELeq1B2G4s23LdiIfEhtLK+gL1FcaCjI6L0hGDwXWji+tGECjHGhD5WDcpjkhR6SFLiL0d4aeG57+a2YleJh53sExyyZnRZ3RwRo2MKeTkms3yNsGtXZHiaqeOHNwx1Rxci0B7bDL7y+QilEbJRrZ2poTGrO/znf1pZidyoru/57rNKkG29FdXkl+V4YF0KYzhFyOo7k+b1fyLEbhVYeYk787/vKiLnhTxMPza6so2pji6azVxoVuVH4f9vy+DYazI5/o6v97lKXZTNJlDM52FReiWlsk8dDqfHiJJ0zaZm34Rlrd1D8Tk9Y8SIKAqN7RLNtKX4woulAzt8M28IOZZ0Joh/jjB6yO9mAUGA+UwxlFAl+Pl/v+D6LETHG1Il+iSWtd7gQY6e/MJuyciEUXQgDbQ5FjkEpSPePAxomKA/sEriOjQBgbELBNo7nIFbtmHc+LxnPFCd3gmMdRTFz1Ibr1xIzgvZNnkl55tS5UwUkCBNxz6JlFYjUg8ZIP65AcKuFrJerwU2/pCR7/XZSff2lfNvGKcU9X/bJsCzY/SLc1Nz3xtdUPZRcXrBR/0s5juAZlUCKXJi4j764ATRUAQFZKeoxJcwvFBh8LOxG2+88XcdgaN//3/99wzQxCJa5tEaMRQQ0aCBUnqu8QWleW1w8DtBSmXgWahq6fF/QK38o9MK0rfHdVP5ZtDTEiJ2Aof8f3Ucx41Y51gDRiigrQw4I5l6WpO4a5nb0qcvl8pQwvZ2OeXmhx4+I6hQFxrBrSAMLKkcYDZLRRnmcJnJ1OOdEaMsZuYNu/vBR0Z0BGMlUVpL1VmuL4BIJcDCQqE0tjXAqvVTcjJ8j+FBdRYMH5wqsE9ADnw/pcgfbS7Lrs/zS7nI951NMzoE4PlstFwOZng5eIov3hzRjLmRgNL6713r2x+cNM6P8Fl6rPxXA7XZHexnZI1ZuBm7wLA2Bj5dDvrEu1Ooke68PEot77Vu8vgLQAB0vd9VRxmNWyD7AzIX/RGeov/sMDtszd1q7cVnjA8W2syhYqvR3xyh0uC13sVT+kWA2Ykyz83TxUDFuamp/+0N/22TF0KRlluQcrldF6VpPCt1692tCLvtB9BWDb0q5mxwt43hodSAgsvyvI6D9eeeW0I80p7lYDCG3nXuUZzH/YUphkYQImmdcszt9isdY/um++ZQliyLib2Mp7m0en9c2P7LT+4hQ4YkjHe3THiXtXLyIMek6Lc5qcYjMMg9O8EbUkHPyc+JoZ0T/RHMNMDnhsYYtrgrKg5HW/m1KLoh7aa+MCorowWr90wOcEXs1W7/uO5oiA9RKX05ni9HfjnHwRtat65pdpeVpSWOp9oVBqcHNcDIMcOBQumTJtgqWiLSWANvvTbKqZUtLr3VbqY3BVhxFVjdcIrpaUjDlAUB5Vt5cP+B0SBi6T3ek/39xhaXzWGy5Bp4egza1tGoRokksMD9b0VLkscXk97ZtnlNRfmQIUfcD+S426LiCHS1TWAgxwQ0QObBjgNrhxQWnlTFR6cchVwkwKic9otTlTx4pnuepdZuMHMzukf2d3y6urSk/SqrENnU1ZWpauz5sCm3ggLvVADOR3ZW711FCHr+6HvhDzW+ZPDAYar904TY/CFDtAZVVDwRemZUi12MWMBu4VmjpIhOJcRUDsm0/GY2FnLKBkL2eQYYhuDCMB7eKAyXGWmfLlL7XaHYvs7CbOe5Fov42OGH1hWKTLcY2D9jt3GO0heWBhVQCyiPACIV1jXl4wjYsDiN6UfULmKMDlYu7VzBLOzo01LngWHpOdnE077gzvsGgzN4CFJiYETiuhRdrLAarJAWU2vmF/Oh8l6GAvvrWR7DOzAuhZd8ti+QVZZxE0tT5yIsTgMAfCTaqEsag/Hmpp1bPCUlJVqjGIQKEO8CrK0FYd5XgY667dMHD05UnsnE0+7ILfjXl5/GzhtNunoPLataA6UHvaG/sgLbDdcuBLa2acjaTVaF1DZRclYIbEo7KmizZVlthhTRggP98+qv6VW9J9ttZlPLTAIHe8VCxYka0RqIeGu9IjshN9VVlmYi55MCbwMlaSzSOlyWDtkAW16xozIa9IAHV+6MSakAe5AJIxN8DJvWWoTmIb9zPrwp6f2RH7oe6Y+vBY51AxDfBxzOAwG/zdRoqppT2bdb/c6KsrS0Ix7yjQ3d2SlG/gkwyHUY7SafBnkohjNtiULryVhsrCs4PEmT8TZFxBYU58YBgjgIhPuDUHg7BxNuFjz+5Wf3SWvYvORH5wWnjg1ddqO7kTXwgzHuYUjJlxZYHZvetxnd5b8z9kNn/KT5l0QD9DetUSg3yLWAbYIbiq7Grfwm2OuWo/i6IhCPr2zR2a33Tj62eGYjii18PNSBYnldSJXFzEH9q/J6RYEnw5nYuGhRmE/t3z6pILWLOFO9x7w06vcUynTNxLJiH9PsHeiMSVeqGncXGrvOREEOs4zeBZvwXdOeiuqko9H798f7/XHB+ZJBIdfEkNwcMVzzEQ5nNkX8puElQmvAPQLJtu7KnesOTsvM1Hz5Q+doHCQXKC4bD+FkiYk/LW3OrjqcKzzi+CpIB4rdmIsHcIbZYtoYj4QFPu7fs83rjRwLr/lLfbCf3UI/pOhqfTzmm2c2pZ8JsUYA+/lnNU/8x4CNKTfS+hNGcAij1TSCfOEH4A1+fny2NdF4kNw52ofhHVO3oOXqZ0ahg6j8XARRxjeCnU2h5r17/SQ0Tq77e6/kPKxq6b7WALcWSckYKu7XgU5iOLzFShSgXlf9Has1c/bpQPe3qpypY22mhfAR9BigHxrdc1iNK1NDgTeIxlpyP4ubPff7JNhi2fi9KLbLORmZE0Jx/VHkvdsAv7hBsdjiWjj8tzhjWshG23aNNZuZLkv6mIPOxl0N338fm3nLPeP8ioaJRR+Gie0bK8OMlVVVMQvSN6MzMnqKg2T865oiOQZBzpdUOkMw0/mGqLR0REF6R104nIGC50Kc53EokC40yNrNpTiHyTH2fj0AhQsQLr0kq/JdWkTYzqfQxTzHpAETHRaE1NbKZQvae6duyOTQ98xzBhvkSBTwg4uRf8ylw6EPVKt5uiZRXl1gKiKVO2pIgSW5H2B/LZbM4pfg1V4HlAZJSlRrsv4AFXGuB7dGT06afLPRGZ6CYuiHSHUU4Cx+YdCpewULKL5iug2CiW3YZo/3ndz+ifxKMPJnXndbDjiYC9y00jET6itkvF/VOm8qSrGe0eAJvTtoaN6a0SgPPI7PcY/1TORHH9eeUHyyFhfPQas7LivdaHZZP+yt6n30+ifD379AmTuD4c2jC+31ZLyJe8DtHwFOkJfQGleKFGUjzsgKNHc5oDrT188rV/cWgf0jjxGp0P/9QhR/l19z50wc6ClL2z1naFF1ilRqvzAQ9FwqQKzSbBDOnTBpVjbhMjDy4VU2zbRW4Kl8UY53sqzZbh3nu+iX5mguRoJz8+syun+ub3S2owqCj+AfCLVrYc8uyA8Fehveja2evA3t/iu3dUUuU6J+Lwzqc1o0+jHXwohhRT8HOR4CZqzUPGnOeLjjZ+ygBvfWNug5vQ406nstWZYjWLzWI8cJxVZEXsxuhGznIIE/iFK51mDEGzoVQHRieEk+kWCCFze5czDa35zDTVDVXd3YMcBoVn+ROqnvA1TsJ/B1P4zi3iJ0isGNBXGZLesFhmfvNbGmtCx3sy9peEmY/mm162JRoe8DZfnIbh0cGYcXUjjBUzHeYRBMBqPqvmHUoBa/yCzGh8DL0qVx1ljQ2VodMhttb9Vsb9tFeAuCtrSRYG+7bVB2YZ/iaVcLaFc+HRC+zTBOtVAkHuD2e35QY+KSRS6XF7vpMTwkXzql2NzZ3FS1n7GynWxEW7O1SyKFCf3zl17y4qZ9H/Y5DHjc6VGWuo1grZPjTL6CJjJV1JnZiB5yecFob9j2s7dm5aLtTRtXrazOTN0YrqtoK5w8feguXLsKd2D2VrR2l5afcxaM7OkQ3bwRgPhvwKDmYlLsp+mivEQV+FVNnS21vQ0vMT5CRvGliG7KZVkPI68Hzg86Na4q3YTUKDkW8oqD09tV/3ZAjN7D5CsbWP18idEeC0XpuWjeuXlRRQWB+J1UC/LUOtTd8+MmOh9Ez3YYWPIM6YUpJqid0KUGsyn2/IIFxOBquRUV7MJ6XyFhqDvWQcpRuT/L8hLQJ+jIOERMf6z1TsTPFjQ02JMkXBUggtqEWsZ2VwSFb/7RWlEqT46Z3AOMRJ8Lrg+olmivoPHnfpEX30dk+p6qsu7MOBIuh5c1IP0nbfbJv4/363FJO9T4/UadEkbBDvVDxb7EboA6GgVJG9CBpppZEy4lI7d7K2+8/MLwF6mpkX6Vm8SM1Bwjp+ld6Mkej+egPSxpA1e71PZxmcZ4L0J2Ygz05njYx7Q2do8dOjQRkpOTQDyzcdfcPg0KxA8ZBXa2oqnlJouRCXcHN5w5IN/1Z5tm5hXqDjSJFYML96BCBWszrNaioI4uF1n+mtPEz6HP1oBwuceLBT9uERgqz0AH2tlmhVkFpd8gOrf+ZBKobYIk1Gcgn0v23RLI5AIxz30gpzF7w+a6QtuvHuvKZv9pKAM+CtkgeG3m/V3xlobz+/SJP/PZAdeAoSlVwLJpUPc+A97vYPQhLAxGQkvGD+jb49nW6+ahLlm/FEYtHzfEwDSj2VsTN1f1TwE12HvvUTkjTgWgU5saEsWqc1pSWq8daoo1+KM+VddmUDF6sXFEaev5KXxAytCMd91zD9caMUUh64Mon5k+eEh2RSgYmYJIIMPEM36GEcI5kYwdYwdYPNT+/bRqysgA+PkIPC3J+e3b0xKdOjivazRIqsnxw/jpPjneqqkQw6S1sbga6I7jHZ3BsDNuNYVSUaes8oUHSBT3dxi582WQ2msS89EZ40b4SHqnrKxMjbSH0gzpmTfLsOLgS3bhIZlGGzlowIldKAtk4bNBSFMYBUFYFIv6Gs1+b+Ooojz/kMzMnuuVHEtLIDYIxteECuDbiDPL0M1VCLHTlH1d3evK0qxHHg8h8Y/QLehyOg+FuEKcmb5QQGoCKmthYFBp3e+lT8i+TtSlPqb3Y0Ixg88stP41xRgg46wLKKcg2sgIxiIL7h05WK11iSajOWUAIr1bLKx947iCtJ7aSvK43FExS9PlDoD8RmmKuidQaqwu+W885eTvToTXOGXKhs7UPe1h+SyJ1y+NaNQFiFwLwJYTExgqtGvZoh3JVALo/IbjGZ0SFqn7TyuyV5daLZEx/T4OZPUtawE39RQwwe2HvFV/k4F9PcBatBK7KdEtd7yP8zde23+yAyk/P4ynskFSFdAbMtvNHO9E/mSpLHsXU1HjejbgX7g90uQhsw75n8B5JK93Cyr82wmPZkRi4UEqQwqMsTHfHvT3WXAU7IP07x9NkgPhg3LoLD2GgtFwSdO9sC92NGQVoScSDiucHJ8Pbeu0G3oyyLFTN7MOw1xZAC8vpcUYgVu++qNsgmo44kEO6fx4FOSKdZn1S0bNIhu0XTCQ32N7F0QFZiy6qQQC48myBQrQ9LEHxaMhAck7cyXSLNgWvabJPZLn9Hux+zYc/w5ZDHVnugZrpFqf1z+kb3gjow5Fj0Ug0EEHmL4Obc4fB3Zu7MBvsYtDi4+mXbomvY/2ZRC6M7skhrpNFz1/IQTypBqPo/sGVXvSnvtYus3zp+VtwTKWZ6eYWK6CZ/VWAsuD956Rohr+LtOWl/Is+oWaIrUA0uVyd4Vv4CnzT1DFoCDD5Gfo8EaElbB/NJU2bOzlMY5+8UA0mkO05Kp9oQkuUexLPEuiC5YcIyHQqfJHz3e73WaeV19Gruwz/N6BvPPVgBS+FQ9E5+71RV+DUXsLfa2z0FzxFYzcc7U5RnK+e44T1R/IcBEKKX0Mq7L7APn5EqmTMeCkQg1OGYTJpx0ohrYVrtaWn9/Lqz0MrdNJZLCuwV22Hjwba9FEs6AtmMbx0gpRlZ4Ni+7vwdM8Fw00cZ3RzjEbzZctqKKO8FzIpG2gIzlotbWjjtCA+2+uqEVfEJjohsOQxsNX4uR5MdNxRjUxRnO33BO9dEeDDUZIQvVPt71VJ7FfSyb2a4fVDK4UfYQl9diYXfi82yMCswX1Ap/Asm53r+t1op+N6oNtfpXRThF1LQVu/nYIwzoNtP4ljOxruA+DlrHlmcljQG0AEbC+NFWgCOwRjUyUTlAdjEkIUCx7805nYJRu4QFNp/JAKN8Dy0v+/ni9Hhfja3K7eZuuglpXW4FW1Ap/o38PLbr3nte3b+snvn0N5QNLeljDkgO3OOysUeVKkSZAMZYqk1ElQpHgPCOvXpDW4Ck92gAnf0deiew8w/O3gZ8hA6W4p0AAdw8q6bfTUer9lFBuYuY/p6xMAivaRwjzG+B9FZs4ZhYO1kGrzDyXt6UOjGM94QXxePd3xy7Fw0/I0ycDC+pHEayPheOiuk9cjpznWrPKVotchknM6TclpqjTIrKWCsHFbbygRfVUPg4jRYPtaw5gaQZ05X0YDPnfoCwpfqqs+/oWIfWNM/uNeua0W4OlQEAQUPsOitHntnZb63+TPwYpT+fQwp2s4l2vMvzjMVXZ74+rd3R0s1e+iNwmr7DrAKF5zcQLUH1hH/RE4vOCknIqSrxf5A/IwPNCSGIgG8cwbuSXx0DNoA9nFs5A0QUyTjoa9GMToZax2GKwbTn1zcwEDSVJMTAMZ4ENnhkJSzftf+ucvwM4+5InSp0569FHEyEqmXQO+ONTjTr/Iu7Wp9IcWROV1pQGiGY+x2MiwBRXC0PcH1y7sxDSnYaCnA/8AE+DPGDu8Gxr1dGGbUHdziBrNHytSZqDMzFjPDs2H0A6poUCQxMejG8lhv9SNunr78R1TLLDLazrHKz1H/WkyWJ6F4/GK+DTeAkM7a+IlK1P9U9NdWeC61imoj+A+mIh7geLgaNuy8sMnUryyOS8kIUca0zjytHltgvoifsw7g88m7L2ES2/Q2ucfP+GZRaVZS47HGvpyeeCPKcYEzQhK8LzoBPUDWHog9AKkxKMhXvOB+G1qAATXSVI5ocU2rsnQ90bEicbiH9wMp2Jv4wvC6Gb81s0WMwzi/x88FIcgJJYRzza5QQvTL6Zo0h3aWL55Z1XWzCx/wjCXwdpT9/u9o9c0+G7j1HpN2FTxgQ17WxnfcgpafxdsbC2OPm74/16XApu5OYumDDDThXYYhNpOk5ucPLZwMlnl8msOljUmFyEdmiakRtlI70TPfXddRA7qAbIACmJ/jFaqYcTNBbNEJyR4bIZRloJAxWJlGTvwkN7RMWSnIDNYMiCkvAXXlH8AVCr/7poYL53Hk4iEYlMniCSP1QBEofmwnDooE2QMbvRCrOxLtZZcUW/hCeXWJXorlmNtotVVvWYIsKBqFGZBdKeeDQW39EZ81Rv+/xz+eqr/2Zb5q2PgBugr6ywVwu8vi4qMuMMjLYJ/Zi7Z/bL8RDje/qNd39HCHc0RXkU6sXg8KH/DDduFClgGDjNLKnMtzEm+owc14zRbd0wvIcaJf5d5ZxsM7NDAIWq4bR4rbWjrovkNWl4ne/++bZ+ZkZ50MrzEzDRvFvXHfxgXDp0nWnrKJPOjAgqchitkts4Jlh9uMEgAe+KFQx02C3GK+GQD+IU7RMaeQZRlCeDFnhfODvl5/JexT1yIupC0fNFmfoSRYgwIogOdP8shOzBF58+91zdtFtvNadRxn9yHAtPFvVDTf8GqI9P+tntDfipTnK7LWG9EHpXORrPm+OiFBSD8XaXSf4fAfpb3aHJ8FBujsug0uS0fIbmvg2EXT50PMq9J6bNbd5TFY5/gtF0pEv0KkZnC2hwPoM7GZBvehcjabctL0mtfBSezBrk++A/f4Z001BFo5crYuQWA8VjrqfszoL0HXkdnn4QXmW6Il31yXNGzsHJuqwBI51B5yZ5ndEvwX6XSLN8X++9GpJBhn4OZg2jIQGHJSyxRRFVmrVuj/vx588/VIgk8lE23vIK7pNOhmIjMVFSkZqwmwzMJ0MdFhJu9xj0E/38/NzS4ji3qIjUJahVbd58Q0QPys59MbloSB9/l9g2e8KvEyzUbMajM/ZZKCW1ALM+Ai3tafhZDZyipRFJWzqjKG3/H328x8X4Hj1Igo9Fxepq9B0ht0ll4MKaEKJrKiSC8QqSbOqjxoZ9ywHKopR01nKwo8Y/rHhAflRiRuQYeBdadocCq1cIGNMKKebcevQDsqYldDXkol+Gpf0SNHEPQxq6J2eaHMsmZ2A6jNX5kOp5IxJ3+/KFDOXr2opA7w4mokeWYRPSoejwN2Sl32ENBjcT1yaBMKeiclkDqvCHjOMapA0kwXqWhTEMiMXVWplRJ0Lscy2Xzm9fheLTrGtuy24AI1l2av7dRoa5l4ZtRJgvxFTdD6THt6hd7AHg/VZ4dn0iUvSc6cXZjWScJARe0uQd3xWXn0G7Y19VpVAjpDww4AeRo90LnG6lPRaoaTWYrWkcd69fUk6DB/sJxwuvd3c3RLPS0y2tXYp2x7h+pKLfE9Inz8EyAMYdtHYTtpsq0/zXaryrxWSzRY+mYWwJBPr6FeZV0Dyehd9CkIP6RRTFG0fnOkj1XyNFBzmr5DWWQfu1zHyFXe39/u2XPCQNktwXeSUpgSzIbmPiJeTxR3zXe73e74kSSH5xyovI2e+VRWpZ+5ZlTb2NLlmXKGkgefA5jENQoOPPw3XtCLFGc5qJPgddfU8gx5uKVu+voxH9NkKiTyb+nIlnXYm8+qsYKzIR9Cbcd0bsY40m+58+DXzGxEFIjuPdKmeRmdYH1HflrX60/NeIKPn9if660Rkv0qjodJYRfpwEqRwcmb4ISKEKwaQ81gcdioePdc6CzaaRfYvGb9hUuWnxHYda/MkzoNL6dM7AugRJZCXWZKV1dQpFR+eNycoi92nPeTrRzwMZ3xo0YpnMetGe1oYDA3L6XciqVMWU4tTG5DlIHsNHu5tSS7JSf4Sgaz9A8kgaYqUYl/dg8u9c+eHcI5Sgk7853q/H3fhWeqKnxDX1EeRcJsH7SMcT2AgZ5iVo7WxEeyk4b/WZKrpMwBb/Wp2r5TPSzUQOiuQWB8++PtVgtEwwCNQUcBL8XB+QJkM07fNCzQCUEhs5t8hOjKy+pjV4KejyXgfiyu2RI1eo23L3HA1V29QZ+AfCYAgrKjem+hzLj4bM1IWpTDEeuhBqCD7gSbNjMl3IMGorwtDNsXrzPkLTSMiWralmW4zirOFo7FpQeTcjNq+KItaOM6GKi/qUBNa0+cuRm70LLbz1wH/9YOJN5bh5R2A79RFR/gFy1DWpnQeDoZyyd1EoKwLn8ZVnFWaQPC+1tKmzBKHNP2K6erYAOSDg0ZzozKtNMfBZ2B6UfrRwXKI8yM9WcToVQIJ6FvC5NkBiPrZq2rwZpdluPBn/7cOxqd0/Ekxnfw1ryhsb3kmrTobwLejmCaciaY0o5EC3NFTVpTtg9Js0nb0PoZfEUsrl+9Ptaw+nC+gqd7DUz2ty+/Llbb2MI/LcTVC/BawE6YGjb3ByjL0XoqVG/t4AmaZHD3tUxGCnDRozMCTFfSv+/UbnsYz2lrbgTIWhPkc64SF7vuN9wKYSIXFFN2WPRLofhpG9E2ztMXAmXu4pdvxCxoz8ew6kc9aiaFmGSbgVBvhj1H2//CXXWpPc93eN/mI7rUzwKipEPZmJDp5asrl5/6beE3Tv8Z+o76uQ9/Zz2gXRqL4Sk09Pbv2Xdv+IDJZKi4Ar1MihkKJpOS5JP68pyN56yzB7wkMk5x8sc6YO1SWClJ61GO1FPBL19UqkPd/kyAxHIv04nXFNQEcojv//14T6f3WeCAop0573DFpjByKV+R2eKSfep03NtX1+rDGtaAvcH1fVUx0Cfa8sBlzlYEFbgDRMJu5n8v5Yvzmenx2XnG9yQLs7/SUyDC+KGGchFMyEt/GLrOh3qTz/vNsT/BBe3auypN6LXAvyT9p9xZlFM4lXSX5PHrrZaA+0GcBuJYnrVJ09AycllMka8uMC8wxSUMMrkM4k6zKavAcn1Y3EVV87Y7w/e7S7LyA2PcdC4GdAXcyClwjWL755weDfejOKFJ4KNIMHynPbdFHfBOWMjbymrwqAbyDJj8tbLP0iCvWgDH06oCZ8JoZJpTgp3iHr2y4sKfHXeimQdTN3Ibc6BTSTc5DYsEPs8gMpJj0Ait6XoR1msDHqECVvwLWoro+Cof/MTx8iNCHH4YqrIZbT34e3fCe8lR2AjJmRTtkk6co9YJN6GFwzP7I8HdJVZgoKARAJpItRHiiAy3wWgsO0x+A8k+2QhXjRZEIhVI8QnBxyWAMOKb9wDaBbr7TGgw3E8BJ1iipv5JmAhf1KltkvD3pjd/C81IWo5NmIm3oXtvwHMIul6RR/18QQAS4kFn0wiKYnpqY29zK81G4oDpuEtOtww/+lwhW8Otnae/g3R7ys7fSfZua4Vw0889SE+jCioUMLSa9ACubAJExIScNL0i0Evog1EseH1rjhyNubjCybhd7Bnus8GmTrPKW8A4tQDS6DFJOBP89UUWEg5wIwiWnIYYOXlloWk5W/IYp6Y0KuNWH0yaS6sr09XdHkC4ADD6PFbghC0GpgtnpyocnxnQyvMTbRmq2bjJwJz0HinP3Y6J/q4Nm3wSr4htXAvA5H6HVAG5+Co5Br71VCIuefsMyR6BJ5bwneWOmgTFsj4XPoDEYtwLfnIb1jQw2m5147Uc9JJjDtmIgzBIr+EM/iaBTMSlF7OIU4dscasyTJCwG9/G5SrqPFYEgpWdUeeCqXtX1rMqV/tbkrcD2Bdh7rd8frs2MO6j/ZOAn1FJr9K0LuchgOCyAey5BAesIb6lo+Ls3Udu6wou5xWZau3Z116+GrvYl8nANX8zZVNudhfz0Xdu378zokyrCRY9TGbLN5AwzRdBR49kIdOISiT2JoETm9AYKd8zG7iQjPzwH+84UzO0KzSJ5nCzTHwIr3APKSg9Dx8W67t6UJ1SB9R4d/VFUwcjYE9siDj/YfnohXnoZE4DD0eA8VtNiBL/dW1CULL+ThR6ENPO76cRRFkAAAQABJREFUPhjxM4EogFpy7Buo/e6+bkBGmDzgfjoMaJpWjEkG9I3a/Yxm2r7s9X85p/bNrDWIYiBGaZeg2joXVG23wmf4yqQri+cU/Kop1/j1+907Pnxjl9AnYxk4ax8QaLoSEIJL0HZb5PeEfonT5rmsIt+LXPmtqP4/Bl0thP7MF4KqvxJgujuSHlyVTxpc7Qn+PS5FPpVZ9n2PSL1sKQ4lKBMnFhbGJxTY6q7BTN4QBDKCYV4BFU0ZzngzJslSjdHvRy781sxse9doKBdDyud1hGCtsNrlfoX9M0k5kGLbbnfwnKOxvH6/P47ctgPcHUSaSRySWVp09I1O7ouNzsANNo57Gfw30wA+mWEwKn8B4VAPCqG3QScphs0333u7O8r/CwxxCSMN9IJM/HsYyfMtZl8Wbpae+6Vt85pGfL8QDxu8YX3owD6jExM0znkhkCr/RgPJ/ZLYvYTce9iEvgTet2oxXiJolikWjlF4ni3AvbVTY7oXO93+XSeb10seCFckAug2DS4nxoB7IrE4DPR5iDC73ZL4TQzwGhz6u6LK/IQSfqdDciOIOnKpcHYXOZ1OA5RZKvcGAnAqKNoqSG5eo2o1julcMAfm9wRf1n78MaIvbV2c0i/H+McBYnYOw9AHkpP60cM3t+xriEaiSzd2hAZoFP8eak43IHoTUPdoBlPeWWU5pZcd/Zvj+fdxM75Fk88diQt8ER4SaGFRB+Oa8pwxP62it9IEGThpkFCj2gakDLzQPjvVajMNqzqs20W+JydqTmla0BAVf8LD42MYPgapxm+jQrT6pjGH5K1n9qPEaJx6Dw/TZwYQEUJ5djpyrC+imPS5TnGfIrVxGQzifCqmfocZPYITSnM8+ycgHa6CJ/lEpTd0FcvKINqgKyCw2EfS5XqtU+88rc+wsm2BeB8Sinnj/IWo0A0TOKEOt24VWAz2Nbnaamb2SwvC7lLrW7svlOLaA6iuIm1EbXYI0o+n9bF2JS80IeiWFPkTwA4WqoBBqbLw4Rl9slzEAJDjJAtZl/w/E5JssuTbBKKaByHm2KJq9P1ZOal/6m5ujswekFdD796wkTFIC0ST8JqiS48IEeciUjQkYPkaf/QCURXfUmjmOmzYDE8PhV2a5K2nX9TVZUqmAogRDErM3bipsgJx5QXYnafhST+OFEMKIoBbgr7gVAyJjTbX7YVR/gifQxmJukfO7nuPUNz/OXhOD3GMJbW34SNFMQHppLhOr4K3Uayw6rTTr7+FEPUccV8hBUUERldAmBq6cZj3GOb2FosP2YMj19vmDIyxWriXIHV+v4Gh9ttTUK3HgjTWbqQOJBNDDzGx/BWLAfkjn5OFGG5F1tZjsgACj2L2tTSBYwfURZr6dViWX55a4NjX+x6kgSmDURJkih5j0rR9mlFZ4evQNs/u1899Ta9OwkNbPzn+3SaBY4+hPLSq9Z23ZEnCWwOaIyOm6BXNgcB76ET0+iV6W4cv8CXUfEtMVJqt95ERpRFOYO9tZ6yXMbRxRCxOz9yBBwm5UJxRHUk2RXDfmtkz4fX+7Yn0njxLAUmrCklyJ7ymR3EbPExJ8s/rmgN9NiM1swEpwt7jJV7/5XAKkSK/FDQABZKiP0Qp6p3AmL/I69SLcM5mbUB6rvdvjuf7Ix6S/3TDxAtkGGUmzdL5SC2gVqZ8jDaLimRu7ujt0maJwHoUlqNApEX1U7p+pV3E5yQPrROGIlZzdMli/Kc0j+QkYdBaV7DfplZXaQWKNDCCbbpBfQ4P9OPgC9gPjzsD/evDYYBUDkqlImt4qaNiRTu2R4wdZn7mIGb9JrQ078GkfkVAop5CHjoPntEKRzSwe/jw7IhsUn1iWO0r9x0xjtMokEjTWZomlkRUYTutxeuTnXUbu/x9AWC4BwbqfBiWEqQCHvErxnGvLa49wigwdXt3wh17c7+z8acz+lgI9aS+sro9fUWr94JEEQkfJBcS9nm8bRU8zTyEu7wB0Lh7cotzbl5Q0WC3DZlgj+Xm6heghfc8FOuImgM550+cMQvKyfpDYGmygY34GUwCd0As8A5cgnnAzW6X27J7kCJQI8hFAHAO4HyN7oDzAORjSoGPPh/NGSLOzlJIrLQ8jvERPDWv0R/C+/0FYyviae1veLLnYJ3lohrGjfrr5EEMn1+LLAPqYiVQKzK8f57hDAMRoPSE72QdWLv5DCe+LCvKP5EuqsdNV2Ti+PuAXSYVZooU3dZ3BG/H+X4bF38OJh8nq8a/npGdnTC+mshUwNfdCNY2DlI/t+SkZs9Ys+bXDixMtOnYDDEOe7MzuATiBa3CrVAWSejMkX0klxAkMSCm2A6y+fVeH7fn7Kys+usmZYSS35+Uryhwpqh0JagZDvhmzkzkwwGHrDLz3PnDMlJzZZXamcJSz+SmpjwOWtcM2WDE8/DrwtFSiFxXRaHsMUkpRQTW1IBnRhON1igiIIY15j/66+on9DuQRtfYOX4bVLnrEA1ksYLhdvQ8/iWk6nbcGCOOOXhaz0d0/bk7KH09pSititw7RiZ+AFNPKci88o/5m+Pw4XExvrCVMDr0WOivQUxXb0aQ+NO4fmmJQtqxxsgxVkCKaCueFthBBtGSmzw4wO/6U7d2hR7Y5PRPXbKkzkA8XEd7Te3EiYVxAh0zqcwonRcm67nWQqzOTnI4WkLR6IdxSroRGL2rEHJcJWnSTXGNe2f9W88l1IaT+xeo6C84wVA5pfuxOv0R3tdilqiPxFNaDtMXUmYJGVhajCk0PZ4GL5KoUI0QfNrU6bP4ynsl4EWgB1CcAhct9QTi4e3YJsn5vnjKyLQrl1V2WR7fWmf7tL4r6023W5+C6jOMdsKIkLGYrXoUxKpnsQL1T0gYkQubOHbyHTHufP2u3SaWeRjA8FpVV28NmE0vBQThiZQOTxHOc8+6O3bs4GBArgUv6VDE2Z/SBv2nIamWPdC1W8Oqsbnt3a7dydw12bbRJCDTB3pbWi8rzSh8Bi1vL2N7CBz0eyVGfsIihppudDoT+XeinxaXZRhK9QFMLJ+haPUAqLHeGZyZGSHb6r2AF9cDZRGvQKurEPqLFoYpkrO95y0DbjS53ukF6e3gjXAedDdsZTR1Lo4iBjWQ6emU6QrSBGEtwh50PQ8TQwOsghH3xnKxT25n0tATBAO6IV9BztwpMHRBUFSfMgwIX7+m3T1yS0f3eUaBuyumaAGobH7Vhrxlcr/HeiWTHB+Or20IqRtnjz6EBCBjJZMZwbwe6zcn+mfE46sNtjXvdzY3wEgmDGtrNPKFrqtfmnkBTZTae6DJ74Ana0Zx9NX2elcPlzE5NrmxsUtS2Q8pWqxDQ0ytrNEBFC3R2K4gsGGsshS3HUyB4M5JsADZ4EcTaV84Ys8AxYFIHNUMXd8h6N1OXdK/xyH85jjwQQWQSSmZ5ohCalCkSB3RTE8iSstD09hv7vnjdRqOC9qByK1n2fhFGOwEeF/fBH2hO8r753qONUhyk+9w+v9Oc+yDOGg7csPXICc3n+RaD2/nVYRQgxSZ/kiSfV9PPozbWwC59aKyNPRjofsJsBgqFNu7CJpp5GYj23yttlaYGAhoR3fCJcdA1tnjCV+FotaZKPq9bjAKrqZ2TwAedjfW0Rc7ncWxqHCehaM6WKjw4QIOhQzd/Pgef9PMmb/ih0kxaMOlt6FDk0sP+Jggug+LU4zczQjtLsdM5o3J+jfgdiGFqhZa0l8lhiM5BvL6Q12g1G7SPkMDCORz1MVGVft3a3F6j7AlWYekPZSS4WNitP6hN6qgO1h/llekr0iIRL4ny4Iqt3VAtnkFjP4YwPnusEXNH+fmgj35d5Z6wM4iLL0es3khzm89Jp5PkPtdQkmRRkJYvw+S7kg3DLQ6zK8UUGhUxlLZ7E+VzLyRkgOB0Yg8fmfTiY8JWD0zJb0MicdzJY1rkKANNqEgdQO+PCK/CAOXFqetc80ceym84GY0OlxxoL1p1/D80vyIwkw2sdq74Cq4NLxv22ISFib3Sbxja6b5SuBPH8HlygGMsR0RTzcMtQkoEh1F0ZccvPxFUrQz+bv/6XVzFcaTmnIDq7NNuiazuhr4vvdE+z/9/kT7/pU9bfmTcu2ngp6BbfeFqySb0rgAKbDrTynvYzZwZlpjWicXHUI69Bo7vcMduATRTz9EkhlINexismzzWb8/PxxhpoRi8U3bPn+rkRj5Xr85Yd8ua/X9GQ1SbFhW9hhYCk2ocvd0RLakfuF35J/XLVOrgJzqeZZIgV5iuGfMLGsBNpozcwyAA1QWUhH/bvW2PUkm7D/iYI+L55tqjKKHgYYILeZaiqo1IUH5e4Pd0eLvC5HFCxFCWuDZOAG92te2+ZC3Et61EhBfKPXq1CCw7j9oNjhe2uoJjF4DlMMceL9ara9KlPSNpLqgGY1Tz/b5Tj3opDLABUGTBovfM7xkLPDydB5FQPgFOmdiHZt3bXGS1Mbja9awwAaOTKUtWVA8MKPl9BTijodl6TuP39WYNLykkr+k0XPe+pvueZa28XdGZaqokLKFN3706h6XP/IcnNLnAWcyoqXzarj/U1E3r5Q1xxFwlQ0tLQ6rUfsH2orB1Ka/hkIRkqb8Dblt/inz4OknzxkxOkB81AFd0Wwz8q/qevz7K4YV+ZPfk9chlFtCAwcpIiHLQ/3VbwxfvcMTLq9C00JVUDybGNMaKLpWheJTampqUnauW+LFKViORB6cdga8RtrK4Q5rFTFWO9z+UXAI/oGzNKWroSGROiHnaxhu0NGQiD+W4SVtxvt8PhKBJDwJkldFM0gTVIJdjK4OA59sT+qh97gxyfoAOXwByiEHsL8SiKLeV5qTYxufk9pEPBYQ3ED/U5ltGDR2Wm9PNNE8YNO/llTqNrRCfqXRqhuechh5+cWqrN8mW+j5v2d4iRL2fm9wLEpGvxmTxhplfAgItp7C0qrTXVKSCNt7j/lkef8OtArHZaW8jgv8PGK4Z+2p5ufjfrZkSFWVPqM0s25KgaPyGIaXEM8jc8Vmiqq6BV2Ba8E/nUg7+MJoReF0QxbD/wbTfSKfEyNLbUKiurLZ3XgQkzyv2YVpK9q6HwimFbyKmsfNdpbJ7D3+yUWZTqg5vITncQ8+R42IWgOkxL3xmPhGSWZmGmCrf+q9/vF6f1yML6mo45HZh5lCAsrAyqWn/ca1JwMmITklsHfg4IaAbZ6Dof4h6IsCvnTIO+o3ZeYAPPPTgJsyI0RqBM8CmsjY580dwdmbWluNE9ChojXuag3JoR08DdUHmusT0GMmzMhHnI95u1oGf1blnJLYX69v9q3+2SVS6jyBsVQ0r12bmCCm5A3LVnl6NvBGIGZRFkM9rQqSY7u1XTk9HWOk2p/nyLvVZhT+C9wQf4J9uA036RsdtsA9g2ddmXLegOxGXzz+Hmag7bjxoXGpv6MGIutJ2uT/4+494KSqzvfx2+/07X3ZxlKXXqQKiyBFsQvGrrEnsfcYA6hYEmPv3aixEEUFBQFlQem9LW17my2z02fu3P5/zsCsC6K/RMn3L96Pcmdnbjnn3HPf85bnfd7E7ZHRhxXJcTOwxyjap76EoNPHba1xKF5V1DTu612WWopju56HL8aAaoF+lDbUd67oXxSP1CeuRfYgCQH1GvUmPjYhYbkMvvZ7Ed19ToPfVFO1J7EQPmYwzCO8brwop+U/kDFypBOi50VMKkwwM1djuPl7PMGbq3zRP/MM/xK00Axk4r1GlZT8pIZL7o0qEE5G529WdX4O0lJt5DuylWVmRmJRGeWY9M/cMrUNX+ER/3Az9m7aiwX4MSBJwsgumm5h7JcSzRaLzckgxIGHgToDUbNnKNb57LdNgfNIdQFMKLqjpSWqK51fxRj6/mCUuyYsRW7gEDzUa7atIuWOfngnnITNZMR+IFq/rZff/wPmtRUfPA9qUaNFEIxtiN3aSro9g2Nd79f6Heln73TnNYjuj5MUc3tYM7YIjDm2R7Lt8omXX94VizhW+4cKKAeL+IeF509CDOBMFZkG5LgcRD8Bv3R6GX3Idf9j2NWx2vVzv4uh7iO0nhuAVng1rFGPIrB8LuQJD1jZOsytR6JclMSCujaiaEzskbpbDUuvGLoyR1OUv7fWBz+Du8IMydwVAAfcQ5I3uk44Th+6XvZfcj3SeNjpn+AabUAolEeC7tx5R03iOvhSkrJtNyAwcz60Xgce7y5End+mWnLiGh3xu4F9/kZocygBQrUamvE4tOkHIKj3cjx9t9WWPJP4Y4hWODkvr7PdjO6w0MbauvpO4t7oMoc+BukKWLiHpdiEAVQSlYnfuvoYDxDt2rqt1EF1gKiFXtbUOUoSmbOQzbUV+NqzUfEzycaqX7+0fhWyrL4XHNGc3iehLRdiin4ACNP1cEp8iblegmCbNbewJH5vefMqD/rlh0b7LzpqLpjcN6/Lr0bgV/XNgcvBY3s52hMzDW6zyJnJGaGUCBI7kCjB7ASzhQ8uASiyh7aahS9JUsyz7pyeWXH+hcT3iT0ZcsaMfo2Bvxdq/ecwv0Pw/6bC7wp/NJw/MCnwLOyQfmD8oi7LSMq5KLp/Vw38rXg05l5o9xPhbr8dqV43E7IhBFluI8Gzo4OkZMx3tofP2+ONztvaHpy7oyM61M5Ze6IGXj9gZydHDa4AbYovtqRNJyPIFdy/bUd3s44gLTY3BErWewLDKioOPUNUfP4CnV2APsPHy/4xOdd6DciG+mERWBBW9QYEDfuCY3U2hMmjyLV/a2mj75mc1NwXeSGncOVLT9VPKbRtm1KStWsYtJbsXsOTukPcyGJZBVrPnSAA2t4efNhkOFQsZmYguT8Ov0uMIdkTUzqm0c3BqDYeQdus9qqqrvnS/bhf++cZX653gkj+ZE809hIyp+8Pq/J9Hkl9S6P0ER1RONOwjXhlC3/pV3tziOuse3+2bdumwXpagwKyOzGvP1VUtRY+XwPMeUx7zFQdgEgMPwzz7H7er/XzupdeIgH9KCblduDrn0bxhKdBpvMmLxmfGge3rZ4Ka+/otpO566WF3izF54IgKje3yHmzaBHfhyWL5COqj0Ogio8+55f+fVwoJUkj6n0dHo6ziJBEUwVezM6JaDXL33vLO2LECPPs628pComOm4FsuBoCKh/R7GYUvry/rTH67dSxTpms2jfe/tcLoQ1eh/fYiUDP33nJ+8mw3Kxmt6o0QiRdhKKTQ3SKXVngssWFGikPUrFoUXjWtDFHuDgaI7FSK80Ng9DxWXne9/ZXizq7l0wpQgUJ0t7tYo4T5seFiJ4D+iRUweTodMXMXV8VZLQ9362qRbxvYela0EDmQBX9m6Bobp1hL0cAowr4tact3g6pTjPPsLsKOlWW2YOKF99MLEpvxHnG21XtPas7w70Lh405FeiF2+E9Qb0xbTGy+y4EdjipXXVvp0XerevM5nBRmvujud8vIlhkTFR3iGuOy8GWtiMg0R8l26LlkJykTWRLR+ml1qCvDkbEBrwfy3RDXaxR/EKW1j5GWslnimkshQZshy8P1RvMtMzsjI87Qv4DjClsBuD+ANqwF4vJ576Q/ka63Ll+UG5ulPjFWiXBlZ1kkedi4QpqLBIUmEEQ8uuwABVxHH0V8CwVYdlYaeGZGTwjtDbZ+F253RbAxBgTgWgvG3GyPa/4VpQf/xME6flKMhfa/FXd3jPGF0T3+aVaaCQTAIvqhVuhDJAZRhrWTXLMgAXCNyDYVwgvUS94MIrQ3b4Iyx2QY9qKK8+e3qXlzgPQ5prRY27sP3pMr5huprRG1JlGUtq1BsteA//FOTCnRxq0KcHiaAZu29PTJuzo3lZclzroDWcYLFcs0tq+zqL82rJuY0x+PxG2eq+ajPJUl/tV+bGthemVVyfZvcsa/aJT5EZrivkBqRST5qR7I1nmln65vdaUd6OUpJN6pOgCPRNjZEEBzQAEVWu+yxpqjYUtsg4ODc1oMyaPbzpRxoW8Oy2hWCtIifeKrDAeDHbDBIpVxxYlVybm5rGeaU0gNtYmsn9D7OOMoGKMRqmXJsird+BODCKwNKr9wO4vjmd5ofiKeKyG/LffkYDZ5/s9b+WlWhiQhv8+mdH7Dj/7oq2bz7kIdK5mGdwRAxHgIZAgrEbGk8GI+VWCBGRts28ITVN/REezYT5/giKjH3729tvBIXAniCG9WbLSIZTiGQyY2OC3KuoahgxMHajKPKm60HJ0O40YvQ9kZKBsFCeFFX1mdv+x5rwKas+cwzn7RLh0JuWdXGSjisI6kw8wa1hgtaRm2b9qw/vvHtO3hQBcNjSxdFbWUmWOvwjEOWBVY+482Ow4MDBX7glugduNVIFR26RFxLGfaBOQpzaLlbvRyXGjoRu2huTIkzZKbIuoagkvMCt9VEl0djEdJKtu4pyj9jTSZLNUlhtt1em9JZVNBQsC1M7uBCGH/ZxVRNARbZ6cjz7Grzdz5kzW7FFqmAI7Hn7NfFPhLHhOnTh2y+U333xwr5/jS5JjsQmFBGp1yKqicwpvhQJevHmL+7aq4uRUyLYLAcf7i41WvlNlYTfcBWcB9znElp/yht4Z3AVGs4vsII3dWXfw80GAwHVrPzvp6luuRvT8egjdZPiC7ahLlI6F7m7niMwNOO5AYP2KvZax05/AIvE0VkCyKH/t7nTXggQ+srKlpVagYfbS9L0w/2oFznzZyli/aN78uZsqntU1XiY0172+KMpEGffAdQQPDJXEMaCUNCgH3FbviaaxSdKZA3ZKy0MM5lSwVXBU/qH05ERbRVEsYw3FZnJiMQZvDUpExxe9xO8nwr5e8urj8Xr1SXbd1astENmEqNmgdAfmNz3AksE9v80bUrLt9ryAoTssIbxp3bYIo0E15l3QSiwqRztkXdpJfo5CUwBaApa64XQsqeKoGajAdYJs9raafeHsXvcoujkEyRNOBiSzIFxqKu+RsvvHuiCYNBQMMB+a1BqCFDENtpKPaa1RC7XFMJkP1dwi4hpErOL4bEeYH7/0kmf2SW9hrNTLwLv/BSD2ZlQiKIeP8XwEM/qC4rAeBM2PAw9+k9vn/ixBhkPAz6LA34aI/QAErfy0przBZlmaiDlI2qPw1EgQqmQjOg+aYCF9aF9XT+Thz2dY7YWCcVNPIVH27u0mSRD+aKASpDT7EdVvQZLDKSN6eE8iATNi/npcOefDLCtA+jInKyijZsQ+12RtTU3PnscUvOTa0Mgakd6aLfDco9DGpkDJezLSLG26FvwPyA+ZhoYW05oeDnBZRwRrWKWtBgLgNWhetViQ9tOaWUPVbW+STfWxwJrWzUV8m7C2JTBtdUvgqlWNnSORvxcHyCf6A0SDXSGk7JTeAp7ggQ4RZIoC+OePsZHxKisvz+gzYYIFnyGT5sSRH0giQdMM/G/W1IHVh5xKfitKTvbPKHV09En/HuO6xRcrAC4HmF56JvTAYrsN2APDzIHWa3HvTpcki9KGhVNBzM5PB4OFcHEkQTB24NnQqamD4s8r0bSv6n3TkUp8O+7ditTtW1HD7QqYfx/CV78yzWENwNiJJ0jYbc5PwSj1GcEJQ0gPyE/JHvcE/PuTXnnFiza7EbZbqIKxzCvTbw/JEA/CdXSEpUPuR+vqesRIXYap70d25WOmZtwEEnwPshfXtGjSYgQNt2KSHACcqG+Ma4X34cgNbpcm8KE6TEX3ZvTvf0Q/jjzy1/vXAT+roXoHhzJKRMkZgpYOcfBMJurZtSHtq0xTqSFWnh2EBBxrSsmR/XCHDOL6O4hxy0RGm9cJjm38bepQC/DOupB1Wf/mm9u6kCdHnv3r/KvGakVk2UDc3nwQ0NAO1TSCYGsb+FOt7dy8vAmKxgt4X/8RirR9MS7XuX840EpwF1qxAmXSBgej6fhtx03z3QQik7pohxewjI5lkbbP0mnbRtMI9TBNSyp4CYJSVOrUbWZLx7cVHcT3SrpAtDXUFLsKvt+p8LfxyFRyobrCZbHmgLZJ4CrBBNYf2Vd3C7SZCbpfENUbwRjD3wgKwjHQgnmc0zPDnvkq8vT/SfzAiWEh0JAFNb41KTo9HmQpXtSjKrFYUlVu6NCdSPmtkhV1BoQAIKPUN5Lk23YWyH2mJk4+xl5V5UWCxXI+uH7HIqBWjxUxkFRIJa1p8U+BWXs1vMqbGV9s12wA4XYhLTlCW1wNHU31l0IThNBfy9oz7uI5vpxROQ4mEel7/RJddKF65j0xw5yMa240aXaIp97Xa7EQ+5QklJBmZLTviUnFQ9b5otpop5Wt4zStlk0q5j6u8pYZSuvB7hCY3YHACI6138uyxh6gEF4FYDdAMbZh8KHeCn8wStFRb1o7wP5QMJxC1k6JV5cjZyLjDrfp0iLBgTkDAbvdELgyhmdisH7/O3R6j08R9LwxbUCoGBms6chU24hSuN+6I6bi4qjH8SzaIjHTW4a06cSFyIJos2Vcjetky7J2k6T5VjYCBtgzo8e+EFKFA99+BeatQ9o+4WdYrQiP65oygqLZPn6Veegk3rW/4uo/vu5RzK+yDerrfZ6qhutGjND2tAdKDU4YrYbD3wzt8X0CBVLRDyIsv4zW2WcVTqniWG4IqzOZYMu5OpMRm8Bf0Yw89Fkwp4vwCH4w53lTJ4veZ8hciUzv5j4hz+BE2caIDh4KTw0025dSWLODQfhehSqAmkrQaTAB4NFCpiBWSONMXw16dVgAVwAJUpBpn2CE5YMxkd5ioZjcGq9PA8KFEpEvicQXoCEZ/4IFs06sRWnPHp0amxvUNB2MtmwbaAhmg6rg4Z96nkQugaLgLSh7E/qkFdSud4fB/6HNQPyEQFRbCe7/p87/b3/7wUT8by9AtMmCsdNGAtbSt5+zdMPmxjY2v0dWXRlNV3/00Ue1jqFDOWtTkw6hc2jlRCQrsZ1+wy2ToT1difc/HRrlW9B+OsCVcI5d4AbjHfBh1qTxLFuC6SPA3/hvoAm8gIuNAQZvB0ehGDJDDYIAvtnFOvpt7/C/4N+TvLv8sHthFlashfua10dRMiFZNS4yWfEkVMLUrRHPXs1waazTeiVHKUlJWlpCZiSaRVV5KZc77BtosGYuCvc2p7i4PSHJmI8g1f1AFPSgefpvqiL47AyVCZMZSin/op+PxJMC1iuWIpuDy4K0J4JNIQISi8yOU674Y2urSeqkpcfvhyyr87GAYEYb4B+gFtkZ1sEK5t0sbT8InO82Ml7kfwjvPWEjPeiyGzEHp1o7WX6MoiqDOCH1LRznS4wrh5wQ+HXLMFHGsaZlRBQqKSBfBRhbFDmmH+c5/cvBSOIgbhc+JX9ctmgVK5uaPukP6BfpeBUEppKSO5lW1ddApD4SD+tMOrNHHR3Tn9E5ZhS0SofB8FsZSt3+wfP/aI27ODIy1g07/Fy7D2KSPT87pkVHQOAZSPOtBgyNaKvkEPLak5zg+C7xD0E/6H2GLGdNqlSE9guiohr4azt3FSc3nouJkGwpcOzxSqNBhFPCQA3mLMJgkJ6Q5JW4pVGamhra1Rl6hG1vrLFlFWfgJbtTZyCATBgtFPMS8NISgqTFULb3BH0Azacn7nxorzJULojx+9CUjvp8FFAuP+SQPvKMX99fVWElMFSj7v/qszUHnjlMF3l0K+EWPCjz7JbYmnci1JQ58Z9FWcw2aeMSysZ7rbrhQeZmFxJAjsJJ5AT2StLy9uypBC72f4N3Pbqdx+NvIkhXNnWuwXvmAJRjASyCMpPm9/+/ro2s1LZIryEzcN6ViDekYd3Kwrypxv/zqzuqGidDeTle2y9OsiAvczQ1f4hTwEvDcgHMXxAvSDsWVe2pOxZJybeoJmoXwJQkUMmGzv4ZS/J4ZJvtBO3k9RKnNDsMyygI4YvhoxwH3cgF9EMQzFMVgqE/0aHTtRkWfZypMs0RhvIhSTKN4pi7URdtAmyMA6qqvSL51IXl/TPCiQEi2vXQi/8wGLrNUNZgizneXGy0KbvoDPF0q8micoXv3+VgKEscvxyAa6Ae7kWEczzse2RtMsBdq+vgt34T5W7sjEBdCGE2HkITXWb3R03zVV3yfJEbi0kBV1aGKFpOZXjwi2/fvB6C8Qicb+IepE1jr7r5A8B7DMVk7z2jMKludYuUz1CxpYB7zXUx5sYwLyitgMaRSUSOpyZOZMp7DTnZF1PGw5MAwcpAqaW3MlpqBYG0EUxsqj0VlZvNq2CIw+WJVGqT3gQO2yUoMbNlqMPRQeM6311z42RomCOANV5vpSMbE9jYbV5UbDao95BZ96bB0CfhMZ4O0vK39KA2L+IAsFrXrWyIjyFzMZjox4/tCbkRAn+roGyhXo1+TmteylKI2yP8hZjU9JqmztFeRt6RwbJOXUdVC9R9hDvoZVoNL6ox5dorDmcVksKIqRniBajs2I81tPfbQ2bHKcXJDbh/l8wnbG0WlrsKKcw9kTM5Db6Ix2UgKpBm+kfVpE/GwlSD5/mPjp2bvk4sWERxKBk+xREQqLF2G2MPh41UbzjlrRNR+JJnQcaUKLo/9lyOdQxBGWXRFnCB0H6N4zTVF/SOLsqux7HmCmC5hYg+E2xyDe1UbEvCIvup6/+afiNIHZNx9dQo5ha4NQn+1cfq9PwJhUm1xxqLxHffNPmvAbfIUyC2+AIFeJfyhr7ex8txprfj2b9fLHzJA1/Z3m63q6iSZuHyFNnMQ2FJTmeUgF0XGtOyHXXZKGeSmBRrW0JnWQT6NkDJkNTAFAEmFYNv70Ypx/XvcsCw6jBgbntqvsU0i6C2pEED80Ag1IYrtzWQl6YKeNleoPnC9QzC2eq02/4JnvZyZOZowMW6VdpYhCn0Uk1O2sHEC/9sFYVIinuiKNpKoKmiDhp9gA4F9ssOOy33SG9LHEf68k2T9x5U00DwzwSZC6gvTXMcop5JOG0bojpzUU7IjTpsKSwXEeE+8zZ4Gxqg3YaJtuyVvGWAp5SGFWUVaOqa8KB+1FRbWud9WkHn/bHYg2VZNi0Qpv6C8mXnwX95ocHxaRxlXgoN/40Mf9KqBBcxqTrgl4XxAG2exDMsLGh2Gcqk7DqttDSem08oPW08O1TnhFDAH/JaweR1YHEt3Dz9UUWEpreA1hHA45Pg021AYsISkoqZeC4b20NjoHX+DYGv1TC19gHLfBdE/Od1dXvnz+yWHt198m1A/TiLlR3VIWlWRY0uO604Jy4QCUG3wpjfAt3SF5Lg3VC7dEP3QCS5RgWqX3BR5t/wp33UGQl9lWKx3aPx9GJRdq0flQ8yemyJe5HF58I77hgYlahJSHpFMWzLxrZt6yoSQpQct7s9kmVw5lKkg/ZChdIvw5HoPe4Nq+oHnnpqD0VmshBICihSoJ4EhhPXJfs4769gGQXnpgrXRUZHoPH97u6c7sf+2j9vBjuXKBiOzrCpOzur93RPOiILTempZ+Qb1Xtaun9P+gQc9QCw252B0lkssMG7OtMOVToh3LYFtG0wSNG8z6xdWf3RYXfhr30curfv6ybfo+AwATCH+RT4y2lYU1om90h5bnmjdwCy/bImFySt6H48+Qx6g8KQaj7gpJkHwkKslUDTyPhlZGTQ3efc0ef9t38z/+0JRx9PXpLyjIzwl68+29yqSrvCoegqmOvbRUNQFJGaeKDBW4hDuu5j6vImFRyaqC8ABcuEXKUrYUaunkTDp4utCNrOGHDHBiq3VUQk32dPrl5WMSIzqSbR6VIwgOF6BjLTOJtDvA5wqaHABSMwaz4Mp/om+FFm0bz4fKknPGsFykmTa94IzdCSZtngV2IHUOLGijI+MdFq+s4Eh2xC8JLjvq2vT8b8O82g9I/Qxvt0RQApvH4tfJdrAIUaKcnGfVHktC5/4+9bRudmrhmVjdpkh8ngyfmAQiFlmEYyo5uY8nHBSxYTonGS37tvoFd8lfh8ejgdt0HwkqSL6TCPnveqOtJcjemwBibCxZEspbixptBYtCmK8CioBrMSKZMbwWDVBP6FMZQtbeIXNb4BKHtuG5KdXC+EOpcQwTS6MH3rYKu1OfvkgqSdqP22EYE9jWGKGZVuAv/CCnzdJXjJtTMFfa+k6jcrCvOaJ+RdhIn6BoiTG0uGH2KSI8ckNsKz8Z07eDN4meEyMR6wMtRfLLzlKbBHFeEYun7tUlzbWAGXEqGCnOlMFy/YclQwkQ3TswSeHmWaWg9N4VE31Hxs+6b2FSflUXHfPRG4ifuRAGG1273PSsobgQMSz3yw3r8/MQnj40KOW9u4z4ukjUZoz5WcTj/0dUEmsNqz9L7JyXWDs5M2Dk9z7jta8K5r6ihlOW4KEoSSwOcB4n/QgvXv3yX0E/c/EfbxseDMkySNmszzTHkoLQ3G4/dbyvApeZGoMjOWW3LV2vrQmO7ZfqhPMgDzbSuCqTV4L3knoTHClmM4LTrDAeLAD56Vn481/8Tb4O1GaIKppRS4sgACQJznvNVNgScAH5sH63B49zmU6J2yf3szOLnnju2RVJ3ABJdMmeIQ+wybnDjmeOx/seZ7rEYQkLtWXGx1cvZM1l3X1rdPnzBmdNek3gWaNrDLDEGSwp/w+gyHFL4rEvF8Xt6NvOZY1+3+3bo230zw2z4BWwvsXNQrelh9xOpkBWjATwo8MxGcuO34/4/1vqaVCU3mUxTejMWSUfiyxTO7jFBNft+miqZgKcrknIPA1/kRRb4+vDFjJ0m0ICiJbFdOX5iyT8GEHw6L/w+qnPJxedH3vLykXds8nlxDs5wFCbyBqt+7i2gXhMJOMo1L4B7Y0tTQ/q6zZWeUCARyPFk8xvcaAH+2MEKk9Dyd5Q76otG1oiCca6GZO5Ge/KEU1V90iULPsKkV06Ly5eTMQwEyYg4Cb1DkN7VzkZxRrRosqjaH39taWFg/p5u2TSgasVZMtgioDqyZKMtON5ts7OvRuE7350Hac/S2rTWcgcwgtn/GITa2xO+kUrPTZrkPsC7APunl0Jb7YBgv4hhWD6jai7Sv4a+Ede279shgXVU+gMmK3+lquAGeoTVxoc4FUeTadhrHGH/G9zAD9WuWgvYx0W7CaxEsHPg7IGXGgG93YbAgbWVigQSncK8kgRkiEfpK2YxytPRPkP10uZiQUn0jXiZ22f6dL48v7JMOH19Rhp2TvRH/7mOlSG9s9vRWGKZENnhkCMruFEa01vsb30nMl0SfT5T91o7gdKRcC5hg6Q2djaRKDPG103DbOJhUrlRTmHIIWKfA8eulyk3fHFZo6B3e8P1wM3UivoKqJNKeaGUqXDOUVoNKIbXBjvM53tYQ3bF69YwZh0oPnSjjQdpZ0eg/GwHxB5A/vieiapKDZ/1QekgySVNYkaqmF2XX/VR/iOK0EhmC6baMpLCuT3H5mhYcrqT9U6f9R78dlySLjR5P786QkdMsyX18QDMdKCkJTrVaYy88Ot9/3nnnyXOPakpWkiW2rqEKWoxrs5XH0OhUMMxT+7Y2NNAdMWu/be4OvV+665j+UnKptY2BnhaOf4hmqCFwbm7WJemB5uK0qlMdFu/Vd9zbBxroGACrawxZfcfqSi5rC8lpn3y3svPykSMjAzOsgY+ef16Z261RhKRGtLD3W1jmYqwRpPx8TE+J7OmdZguXZWTod3612HNSfnEysl0mwqWyjxaDmwqQ4JDoFtFuTXvqUCjlEiBRu8f1KYosa5F6KJpyPbLAooBbTebtyRVUTo9zUCU5uQG0hlcPG6b2BBD+5vvvavCF5F28GaoEF3Yx+EgfQrn77ZysPvltz/T64lhsLKjH7uAprr7a01oNiJhWYrXKeorF3+mN1PEClwrHscGK1uzBnrC0PaT03+BpiQ1OTY26Q2GnzgqjseKX8izX5A74V5xSkNOKrkP2YmI2+MaDuMf2qlP0lndbHMlvOQ4hmmEXugQb+W4LiM4Nq/AgLIEzUC15HoADn0aV6DpkyoGk3ewLkqQ+jqSkPdWbLFX7Yrs82a70TmhUJ/EcVYhxG4TCxJMZSjwfx54Fl0q9bqp//Wdb3dbHc3O7/MF7NY03GctFqDhLXBYzrH5J+abaVjkc/FLN+3aHqKSMPEM3bTYrtx/seYW77Zb6osMLTntYrZcpqbJXWs4M8EegfdQFgAjNACXiwDpvaDtJHCD9SGwNyG1vkQU3R2kpAiNA5dUPWHsWVBV1W8ASx/7a9wRhIlqs4xA4LISg+WZdcV57OZ4pMZddvXv9kTK4YfDhL4dbi+YgfMeX9Q7NPdQpts4nZTECE4ZWmGpqbOPYAUI9fjK3xHwWRmX76LpcO23E4Bby3aFTTpx/G0Mg0GNZVzimfRQxtOUunkEdP3rnvvbqg7mpLlZtbdVTkcxEhOwVRUXi8uXLTZ8zP7k5qha1SbEhvx86tsxptWdqtHEqeFEclD2pI8smxq2zXzoKXabdL7mQaFqGQHiRuklp4ahugaYSd/6fduNdeWtA6kL+PPr6ZFWekO86GIoqzzdL0lKo91JGUnamyGjDLDb7pSvqO4ZUwJI/+jwSWKI5+k+I0J6EVR7liPQnZDOyl2hHcEcA3kmjWC+FsunGEzEzVAvH7ECY+I8OHzr+oorKSmAfvvclJq6dk8T3hODtj3O3oKE+nmYuT3Wyj61rDY6ct2CBcOuYMeQB5kKQsIjENzCxGFzRhzbSnoAtdSKCfQis87WkXht+MRlFngIB4pNj5ush1ZBROzgXUJVyljFSrVwpsXbiwZHh4CRA9eOOcmj94AApTLXyeai2/O+IEWg4uaq9GJdFFVoK5rReGY3xBUTznAcfSCkk/VmlmdV0TFlttXEeAWSuXp4pA6n5sCxUyabRkeTc9DpdjX6KZlf65diSmb3z4y8QeSHXNQdmiSL3REgz5kxuaIi7ZxJ9+rG95hAK4cc9G24eJxiydpbnODvxzHx4JTXUy6IAZk83NPZuqrSjCEgELRjRFuGB3Iwqzp/BVQB2TgblnUA/yoDoXlPucLTWf/fyYcRCfEDwT7wWnGG+DB/snUg7/gCWwy1F6d6RaBNDrAk9rG1oj8mLIprh0Fi2r7PeQ1i+8R9FDYCP28pYUoApvxfwOhlBU3hEaGT56WGrjb+0ro46AhNO3BCEuD8JznNAiTwWi9jesWDBCSdgSN9d9vwsKDEmorCdUSVmnUO+xEYsLd1gq1B6qxmxjgkIeHRuW7ivE52M9xNzgcI8EMA+PwHMcCEmTO3GafHFMIVKARULvMGQXXADxa93ov2ji1qNYGpPbm7YVXFBz6zdhKuX5BgQ6KJA2yb7wcQHK6//5utvKgs50i7NHTf1fIeNOZ9nzBmIe/RgOGo8aiaWIjzTgsrZewBTjcNAj8c4HBfhi0fuh+CyAki/XTdjjeThbW7x9AHQ8C7VkdUT/iWGmNmbwCy1rT0wZXVLnA0rfm/CBQC8aVtFZQeY3PiRID5WAAavA8mJJRPnHd1JQUyaLQgMEEgUShUZr8sUW0EEV+I4ZES9p2j6baCp/Jp87wnGFsHvIwKP+mdHZo95W+s7+3X3d5HzYjYUjpSp+3RT/rOmMn+SdGMXNLPp2L8wfuzUJ2OU4zmI7LPw98KYIn277PX8LsKc4uR8gPY1EObTok8OtUFAxAUz6GFQwJmhorK7BYKdFLo8EwpVMKaZW1e9PU/5DmOw0R2ctqE2koUmxIUHOBkqQV5ejZyFmS5b6tl4Kx4GQN6uaurjLd7Wg5zVOp4XrfNPdvt7kHPIQkIEtyIoa2H2e02dLgY0wyZZdXHu3Hk0EdDZ+VnbG9vci8rzUgmEyIyTBI2feicCXQ8gk2e4TWROZ9ik3xH3Cn7/yU0U1AaMQwUyyCrsDB/bubPNFooG7keK8ElYepZCy5RhdQwDX/GNr2xxW0nCi1sPg2jHvAurwWWgObwMJN/Xx6KxJycUZoBv+BBUbDn4OD6p8Ty4qN778KLqtoswXpyPkQ7SivExFsKUCHg3nly3Li44CdNaQczn4TSzVGBYI9llG7KyG1uZSLEDkZHYLhvq/XjuFYaud8L7/iooI0eYtvYfLDKAQ0IpN0EaT+eoilrgKyn5wZz7yUH5tfwYDPvwDqIMEJOkqkoXfnsDFmvA9kREXJvBlr4eNA+brrtuRJfyUDBxYjosCSdQSh9oqAMWRe4muhSfjz7KBy8FHWNZSYHfPS6sfy3d/U/bQeJRJ+WlNR2NvIorYbrZCQWpP2IbvzNMbhpMWeSXwMGnm8QKqGQ0ah1D6++HVO1LBhm5YUZZy7hrW//Te/+/jjsuEy1P5L0CRxUniZwD2kTcHAe/wwTgoZp1RXFXzqugZ/YfSjhTn0V22TOon/b2mtbgtO7ZaYxLzIHwzgc8yspL2lavTlf2P1ylNtGJrZ7ocEyUPyGdNxcJDyuh4b4NsvIjTAAQe+9TFP9Xk4qK4vn/qS7eDimVilUMRDj0FbqNe6m4Izq1+70JI1bbxqUbxuWm788rcC4z5fAd0JgWQJvrbWHMS1BCZxL4DF6RZG2+tyCzHlnPXSgGb0NlwMnT69tagptf+O47H9oan6QyK69AKep/ZvTvHxQ5JgQtfRoe+Be8mkmy90wAQoZDUPXjXbFUnBN/Dm0gxMZkAMrAbFAM9gZ4E0YwOve06qnf4BCyLSLPwmw3ZgII/9Aqd2h8QmCelZXVHpDCO+A7r4IQgWDSwiRIRcaNCOBzBvXsehlramoM+NplZLK9jzTiDQh42sDDc3NJSt4A6DZd82EFanptagudsaKhY/amtsjkCvjLhyArDuC4uQiS3fN5e50nnGm5zC7Ql6DLH4cj2p/he1+qA26gmMzFxRmWS9e6w+cVGLbiZfmumiUvPrFhbJ5r3WTQGpYXZbSikoeLaOCkjSzLZiDR5EKQ9VyBkkTXAWv6ehrlfK9VVZ/RKBO/MUI+OfDw9t5776l2XVuIxBEGNIiTkjsiA/BTvO3A9ILQy6il1Og+oHy/YTh2HLTBs5EiC8sFjKFHbbORig36we9AUuqH88YLjb3r2R516K/6T4uNR9UGTuJpGVQbduIuivfV4GknFq9BDKhSOVGwilu3HpHObotBLrNUCoROb1Q1yLJJ0UOSFxeItusGzwsUnFxdhTl/1YPwI42LC9pj/IauecGrAog9dZDi6E2RiLFQo6JLQlpoWZCW11AtB6prK5bvJMUAhkBbHods0ITCcIzL/ddfdb1s//WZ3U/gQTynocweZRLNAhYfbD7TLESU0Y2stvDUPwwr0qDNgTBnOWokvQrB1gYylWt62FLjVIHEdEcCbJpgYTAY1Lat+9e3kSQJXMsElVsRwSLuRuaYrGq3Q5spg4ZFyJaeTspx1uCYI14WInSIxouZZ0KbdiAV+UYcUACXAaYS/SrgUxuAEoiD87t3IREII8LqlJL8nSEm+ihr0I8oJhXEgpCDhI6BmS54X2GmkfYmKpsS53sJhDd4KjwEirO4xlewpL7zPiPGPwi7ZpZ3rycDisRXmNH/MpTwRoIhRZ8KoaWUaTrbpkhM0Y5OKZuMG3HF7GupXmdE9VcJRSdgX3UxLbQ+B4uQyoCz1tDBgUE/CoSBF9l+czPt2cMrDicxndsv34tiDt9Sprg4umHDj2JxST9ZWX1fi0ZfRBrl/fCZN4P1rKdCsbePOOx+WN8WOtNBsa/Bt/uPJIvwMPKcnuXF1Ge/cXuGuQE5Gp+XfmCqK6MAgvtPQJnEwD3xCkjjd4Me8nEgNdqBkYT3hPkzPBH36wJXPLGigiHPJfESLEelAMCUT1NHTXWRZ2Do9B6Mx+sQ3AIWqqVASrwHgRtNsbEZmKCfoXbQu5VjxnRZG+RaaqijBYuUjsWqFUlzxXV+f/xaFjO2A/3JtDuSkeXGrsOiV4ZklhuQm79oa82uI3y+BFHx3bW3/g5uihIG1rXB6KVY0I5ACZD2nQgbbTMH0RqVgtJrAwJIbiQb4TFmWHE00r8PgnS/zjClhlWryuPvC8ls2wCeWgWYRV01lpkcmwJB1NDcXu8n7w4535WKAUbU2rTC+P4NbkFT2U+xsSWAMH7RVh/atPKtp+pPzs7uINmyRGMmgjYhF/4X3T8ugxpDkASsPyLqnplb0Erykm1qDYBnlp3uMsVVHMX1QpHK7axEvRlxJXtNn+dLp0OYF6bZjI9AjsNpYpImskN0RQcfD7N34IwZcZ8TuGLtYKa5y2JaU6MUI7CsPglmLwsz/DWwba0dgwyynxoUIcVyIVADpwH+hRfKfFKOBD+geF4L2ZnwjNx41tUxTz8sJOqXVLW+ZhNtdWAevgtz9DRF1dPzxk17F5J7TL9c52oI4S+7w5cI56fGaNej1FgEQ3GQaKm6aGqqpL8D2p21NYN6xrX0oKx1otjndyov90ShCKtsank7QVLjDXn3Q/Mib07zmhbPs7jOGImxjAtl9+pv0fXzwTv7VoRn/sVpMadmCh9jlZsY3e/ZTaH09+E2x5NF6OLZ9FcN3gGtkTb3ZX37Ethb/GVKdHYkNE/yGdrsGouQ8gLYrOYg+WSmU0/6Zk1ruMbCGA+pQJHA9dIIlx/qVholMMMKBI3LTxk/4w8QWvunXXfbOCA/4O9h6jWvv5XKdpjBoLwjPYn3gqtBBiIswpnUqwotbZo0qRxvMEyJpiZLJpM0RdQU1Cfli4JeefbrlU0LrgKpPcb6VZNnc+FmmI4JdLcWk75moKhBKw81rfqwaar9tOQnOylrPh/sIIsU0X5/d9O93zJ0rIzhhIFhTVMgOJdTe/a4y06dsRnFoM4HqcRDuRzq0dFMu9+MLp01ZkyXe4r0f8bVt6XATZOFFPFCFO0MiAKzK6Md3A4wuU60TZaYZlYwWuECKmP2IOpdQFFhhR2INaV/it22ldekEBKIGxNWm53iwbjE9GKt+op2j2eny5YVtAvmDIEH+vPw1lFRIYkjJn4jS3RkTtaRSk7imBNpT8qUuVLFK1BJYEE+YJhEwKL9h4LK+S5q5vA5/6fd+cWaL0ku8Cso5AKHKSZ5CMl38ZUVuuUyfHSAsOQxVB24kENiRJDRZGp7RZgV7QQuKyuUJiFQZnq0gA8FH7+BhNgJ2r9Qx2FhoTY1QfGkFiOjywpT+RTkXCchprAZCefvr893dWWlHWvENiFYBlKR6yA0slGx+MNoTP9oXElO4zhge2ekxrO04gKJaOnHOp98R/ypYFOGz5i6BYG2LRB24xG8ewj6wASsAR1CW1uX74wcj0qUowG9QsVg7mNZCr6KgM8bAsMNVVH/nVwLjzY+NiAgCnnaQhsZ1VwKgboRlI9RXL/IZk0DcXjwJFJks2XNyiqbSn0KWi8BhT8vgIm9U5P1BVOzHKj7LSJ930yBVidbkhH+OmojghilfCcXuHIe/Xp/+8CjfdyJw4mFYLCxN9EGJCdQNiS93Eab+mMgoLHBv30/lrnLUWjzclga7+KSAhAmYy20fufEWbNsMUPlUOuLhtlfIDqdv1/fGRyV6uBvAokJEgep28AHcXk45nlvLFwiELzmZ1Wt/XjVep6qKSmGYO2PTLXvWM5I7pGWjKlB02R8BJEnmrMHUeWHLXb71bocbaY90baS086/Imw430H9pX8jEvDGwuqO6STjzx1oOYCxtsNnVwENuLZEkkyiqQTC8usYm9dEzRtFOao3BEPbZTPFm3b7I5d0dzcFDBnGBWFTQw4gw6SEZS3XWd5ldSeG6YTYd7KR3fXVge0hzBlUX1EIZI+1iWFYLdko7zwkajCtKEbQZT0gMOoAWmiXnpwcIVVIWtYsrTIMTcrPyel6H8hYknjMrG4ZoyfEYByjkfRsuLic7LWyZt4Zkc0nVyImdYzD4l/tDwSKq/2Ry7Z7Qo/t8oTnVfujZ9cA3vljx//c73+x5tsZ9uaLNssQUNfxkq6kV8KFB8VBb16/rK5gwrT5yKD9I8y+SfCpTXQJ4jiz/zCQqugIMtFbjJDSQeVQBnn48P9V5w6a5A6yncqsePV5iiJqP7TLlZpiq7fYhd9BwF8DU5OFDf6Ti8a3ra0ZFjAWTH8AAEAASURBVNZ2G3ya/ZFuu0NT6OcJmxhVVB4XuGSw1jV15gmCMHJDe7DPlo5QEn4Iw/m3S9aY7+IJCIcXAJKqDI1qXUZS/jykPf8Txinwo8wjvjbPzgmHA0aJwQcPaFbYNPN1LRie1b+oFUGkZkDpOhE4+oGAPEynGYUw8OiGvbU4LakYEf7RCkVPdjntMjtrVmAIRfk/b29fapF4O2HiN5JEell1W5nEcn9Fkc06KJgrUlSrCIKfyRp8VxEtsnZTcU7jxI4OVALhTsKSOIizW17FAvejGxGOa5q9f8N9y+AT742siBivMze0RluXXti7t4e8xHrJ0DokzqRygjENCQznWtMLP4igrpcmmG47yxQDmH8L+N0uQwgwGUG/V+hA84rR8eSToq77pgnWXIkxR6MmbhU4J2oCLFvnMHXvus6GrmSP6Sgl9JXb81AkZjynUWoWecgtVuPSHgZ9B0tB2lPMKooByyHFPjC8ZABP1aQvkQZKS6Jhv7cpGNRnHX4eY+CjAyZ4cLoj/UaHlZ7nj7JXihw9Gib0yILUHOL/XoH/dZlT/Qiwvu4kVOKoo21F+dTF+P74Ze93df9//iGe+gv/FLZ4Bp+tz9AhAOVMYVl+LyzTGrB01QD/0jUPAa9r0JDxpTaH0kH55imcMK0YC7ZUHwyowE7/z9v7f32DqtdOOxVJ8jfDpM6FunJ6umhJruwM/qV/mmtjoi1ECQAgYAZgmbfrKJYAV40LCpcB8isfTQlbYZo+PSjNtf6wlZk47WfvIcu65NHPugjxq+ZliWUmy4/DSyV1msp7ow5plhR5cZnSYcV2zgQROjUSmnFfLKvgTzEPaKr+xpj8FMjqQ7CWxM1JECZt8CnZVaG6dpjgXb5Z4vMN6pZTcdy14OD9MOyV3+7O4dD9/NJTpt8JV8Nt8FmCElG7sb4usjDBgUu4KKTUgrPg77wM0f7e8Pc54XQUsVfgZ0Uwgt6GIhAvW9uT1yTSesm1N7cHSmSdRgUL81NWkp8cDUYwjNwRg4c6UQNRm+zVqGbuQ0pjtZNnesO3/bGDCi0lWmaijcfav4MSSyUZSWmoTpFvVZjKoUXJgcT1SXKIDUyA4LO9EiiKUwKAWfEq/ReLxdwBwpB7oRWPRYRfVk29xa7RcwOMcapI01cjVP20xeQ+OFbdru5twOIi5CXlXIVsr79BBUc2tXnX9u2eF27sVjh0fUtgCrh830VWYhbcIa8qvsbb2aTcc3GPPwDVkYdxaZAM9X2nYllwUpH9B2WP1rR4T43ozAC0scOMCUtbQgfijsnuz5i0icyZUH6/EWA0C2Y6rO6mUHRJssiivhp9B+q17QFInjc04QaF1oaaEnXJuf3i7GbduxP/vNMTeZxi9DxOZ28Fyc4X+HIh0BaNAKD0dabZ5xUB5EJeNnJw4mUi9y4/TBREvj9RN+LPFQ1LOZEbiFuMAX5hWc03X23u7r8kfXUNHj7GlM0pcMqlY95XSzHp0/EFmbXo9xHz+kQdh0S7ie8bFaI+RYmqYUAytAJ50w8dVACb3I6aVXN6ptqXkmP3e0J94Eb7EJZXGf7kQHsQwWc7+Q0kTRJgk/ssINfC8V8m5gz57eduv1j4khvXdUSydQs7HZSQ4HtRargYt6c02+HBT/GHuD0Y7IW6ur0EUQj6FclPq4Zv2evPtSFwcoTZTq4FP6Qlwiad7YuqCIIb2z0Hw1U3nQaXMTaSDJGXxA60MII/mOM4WE4wXkdt69zB6dBySHnyUqxwz1hs9KODnc44hSERMgWoxcYL/FXIJO2Nd48U/FwMDWulpoFFjUPJHZo5D0GoqCrLD2X0SFtCAnDkFiQrL8AxZ2tMZGV5dnYDvurSIhZW+wbEMIslPdCQK6RNQrz4VAlkwfDrrnEo4orp/V0+DMT/c0ITYXAQ5n0vGnWPsXXvGlmUcsacAowQN0c2jbqoosyFJXEdtO2LFUN7FVr5HoQDp6kmUxBVtMHox9u8TX15WlZWx/oqr1O3C0N4WTpg50SlLP+H7YGFkarzrueAZYSizFSzlHzx0pz0bXMO93OL220Lm7b3kHU2E0kje2KyWQ5XiQnffSECmGmoe9WZbPL1hP+0e7sTn0nxULdhFSmfrs8emu35qfEgfSWCAs87m7YQBjvmrVC4+QFC0Umut7LBNy5k6AsBNTs3tGHFuu5CJXG/nZ2h+RaGbQ5x+kesTG0ECdKtwPLmhHRjPArjXDv8Jyo9J65xou6/AnlVssU6W1FUF80xAdmg35uc5+xCBSXGl7xrycnJ2bEAZ9WZWGDFG8+3kmDmidrvH2s3gbmeM3D4xUB8IA/IqBJoBkgi6hJotdADzb2wSx8ZlOH4F6qbz8dyfDcswFZYli8ENHU3EE/9cN2LEFweSOYsrOnd0KCvHJhuI+GtX7T9pPn+n16ZE3UFYdFkEMUkxRRWDUTVeCCMPOQNbf7fmwr7EsDdD0c0+UGR5kplLdR5LMFL7rfq7bcVPaqv5kWuOo0TB6aUui5/c1tt3N9CfE/Na7/eWP3dkgPlhwUvuQdxpJP6VISZC6bvHZBhxSCPWaeZ2huDHA4PEWREsPVIz58FM+x6IDOA7WMC8DvP11nqr95Q+7uZOa5PAkHpWdQgvx+cYMmiVbjP1xkdRDQE0q5P3nwqELKoH696+eUjBC+JmIOM5HIbJ7yYI2TeGOCMPXQs+rLTan3LRgWWTi/7oaAj1yMbaTth7FoCrgTymbSTCHuyP3TE9/8SAVOJbDCZlu/lNfatsswsA8LkLLhvVsGT/qFYtXMFzMZNiCyOBv/BVzIl/xO1rOJCLqxJPBINxrE2yxgfy5Qv3tWQ/P2VD31C4NCryuY/oBXUQLsthR1+WwL9QI4g6blIUa6Hn9AAQT1ACUEaCIfAqEz7zva1y1dPLs7cmRC8pC+geOxLCm0m7jO+oMA3C4G+WUPhR++2EBHkCMmcI88ncWxCmCK9OQKHsJvc0wMcUOJ3yTB742VwIOBnP5qeMnEMAncVCBpOgt/8z/DrJmu01gZNo4bjuTdC+yt+MlCbuMaJuCfzMYnjT1YAYTB4czMyGBdC8JKga3wjGPvC8dOmEBKeVUVFCuCDdaMLHXtJBd9zr7wl6atG38lL671HcD8kzj1R9wTjGzLlT1q08CefPPvEBriu5iDO8TjeMoKKKoN2+yB8u/dAEz4TUzMEetu7VEZ9+WBb4xIqor+CsjjXI9ZUgWNBngitmDHu7h47+Lnjclw03zikhbZMQoS7xaPHDv7j668jBHZFtFCY3dcDWLqfBSRJp83xSAMjqIirF+c4D8zppj127wB4GwZ6ovo0eA04xJSqO7zmF1BVjplZsh5QNM7K/xXcAQji0f3wDo/GehbUaepPaZmOxQnNlaQk8yLzNrzFozCIUbCqzUfI6F1g99y4N746tC2GhpfB2R/By3s5KfAZkYw5iaobiWOO3i+u9z6Ah3IKpLS3WVKiTo6Rki3CF14z9AUISeI+uO7nkAfXIzVnoqoZU+EP7wOpAouIrkU20QoUTVra/ycCHOTlunjOHP7ghiqRy0tbhr7uh2C910Kz6fDhPYH++5E1cH8bFqiEENvSGp4Eu2k4NHoGhNu1nKmKWAzbYIb7eY3yqyKTwzTsX0eW8n45va4Hr8IjsB5AZWE+2RFknzunr7NzTasXphj3KgT+KBg4C2raa65KaKLd+0bmApIcYV2wZ6iKdPuI7LTN37Z6+9ppfhwUDVnhtG/gloonfBBXhkVkJhF0IszBhmil563y8u/dM6Svw6+8+UbONH4P7WQ+Ygp7IFAHODnhXlnTU0GyPxkVRsKAlEXJQtC9Hfsh+BXadjMW46nIdtncKlPz80VZqfH7FRJj6H7sb+nzN43tPUVBLGd0GjE2aixjmrsNVf9uRUHqXvK+VdR5R7NW1u5EXTL3tvadCM7Fx+ItaMFFfPLvgHAZgDH7pjNi2lS5acmxnvFvYbwItW12kn02rMj7sJBnQBCiSgudAqvuBa8p3X8YCRHvKlEm+k46fQgond6EpTkQNIwhUFSO7Zfi2P1LxuK4cDu88Pjj2rAxI1sPrGtvKR+UF51VVmYS36psc14NP8kyWdM+DkXldXbB8h1KU0+kaK0lz2MFT8EP3QboDF0blHMRcy6JaHqyqMUWHxyY31neTUB277BiSgCa0vl4f89GMsRgmBFIP2aejwXCHwxNdXThXZuj8g3gTDgHl7chOeOfWkR/YVxeWlwIdL9eb6dTbZXUZEza6VCXcw2R+bzAJnZpDt2PTXw+6AuDMIwdxtDqcyzF5YC/7hysqrmiyTVua65rJvwQiWN9iJqalhTCL3oL+jgBUfYYFF049Om+aPsM027J7IwG9mTYbHETO3FeYg+fpImsDP1frz+rFg4dE4TwmQQzaiKyNn6H8xlFVx5k8lN2nV5W1nXP1mjEBbRdJ+6TKnKUF+ThJbxOJyOZoUyzYLR0o69sKDvPGThQqnV7a2hB6Av+4oFIqS6zicbAg36pHPy/1/EsAy4Nuhapwg9IvQqrIY27Fi3SPkIlqdPc3eBU6IEoe3/W5N5xq2o2rZuP8jyH+1M2JNrMbgpEtrqjegHP0XOwIG+hNHqjyBhhrxiqTRQNJdcjfa3u8NdwApeB1OSLkSxxXpLAn47nkg7s2nyLIFRhQXnOHVPO3OOPRBbu2lwD33pcQybFRZuigYOGQq8FB2UNCHmmYtGYmW53lrhDakOWXYjOJTf5jW2NoWg6skOnIHEAxb35auDnMwGGrr3caWlDV832iCahOhSvKVpvZ2FSWmuLN5yb6pCGPv200WPYiGRwDZaBx8AHpSnbYXPZGr2Rss0+ubUsxfqbWrAKk23hlvboAVZkqoGCJPh5cEmbLLIr3TZTWJFh4w9B0DBoZZBnL/394baBo8aR+X46hLTII20dYPYDv2T6HBe3A/ETkUSDxCpKGlTFZoow9nNA27anbc3XLVNRAn1EtmM3/CxbYbZanQhxHavh693RoYpGDQQfgo3ntNWdbtNNVuzEsWQVSnwm+3eeeSYUpSPvYLW+C4J9OQYyBpaHqM7FuoJ16yqbUlmOnQrBa4dQqAV161tqQ8qPEoUArB7HbyHrJ8+lKykLoJqRe5F7k0WFfO6+eUPGVuTF+yM6nwafkh242VeB3T0gm0yWNSUl7rYgx5PUXrch/AHEMteC/cGGtOxHY7J2M4Tm3RKt34SA5Nf47QKNtdwHPzoY9L83xYlPdlmDZzgilPH7kzFvlTuWIMnrfjSuBc6rnsjseq7FjG4tP8oXnhoNHPAZkS2srHwc8IbXSrq+WGH0lZDhB3WNVOoym1t26vGXq7x3jocztb8DN1sPpEom5PlEEAqdghFARQDzIw1JK97WqvVwDHcJd9K3igPudJDIz0PmHBB31BcQkK1ef6ANgdVzKJQ/lqXov5Hb8j6eQS607lPhPDsHC08mSPR7ARN9SZQ228MoYU76vLczMqUmEIUnaQtPIGgYp2cAGXzYxjNfAD74ERATN8TUzg+RstYpU9oagEnqJM28b1DBwDMroJ6T9pBtOKwazDcg+sy5IMW+C6l0vwOx+lmoq3f/1tbW9ENH/Xb+rWj25iO1eyaSiZpR+me/nwku8vmod2OsTIRE/B0ale/ytsvhg4bAbUWwNjdmFUdt90cBrIExHojtAOzuRbx4LVjQ65ELPzBsmKkZAj0U78AR791vYdRIqrqmhD9DQdw/wedFoKQU4hiTQYD7dFNQhtH8/Ubet6huVKqH1A0T9QmPsLS+P/I//3RMAfifn/7jR4K5TUFnLLzJzsofMzN7NgTXmhZfAYRkIadSdYCYdQnHxFUWVIUzGoLBU/26JiDVGJll7LYry4u6VtwD7lB6r/IZ87a0h68nEV1yHhkUkpXSEWj/hlLlO/HuPgWUwylJjszShL+WSk4txNwrQXwIyjG9LBqU9peXH1PrjjcFsxRaKIUyb8A9QBwk2pc2bvqoUGreQ1vbI12+YPLbpahYDKG/zDD0W8HC6AhFo+8qOvd4yBNcuSUnpwvlwBeVTkBg7HJIdrhT6AdUNfrWiGzXpsHpzgNL4IuKUvJjukm34aFcEGKNGY2NpiVxb1gPhk0QRgfaQpcCYZKN7+mLS0uDbWuWbgA05lW4RStQfqmuqKgoHoSkYbInzsV3McJLOhw8GkS40vt27t/VVLPPIlPL2gVzYywsrQThetfzcAfbtjk47jkQUMsQWhXwd2GBUK/0yeY8i3tfxbHI1ZOSXXkw2YZaBS6HYajTwQngtFtBz2EyGpzZHBVj2yRB98O9korECTsE+Rj4kL80VPN1vNZZqDJyxtBZs+Ilx2AK4qEzg09JSor34VRgs3XZs4RW1OcQaHy63Qx+QWBw+zYsC7KK9np71HwS190JysDbg/s9mYl+E2wnsMuXwfuJpGfjBfD9tkuK+ggWEqTSOSZv2XJkwdLEeSfqHgtxLxCi9wZ5UxjIlJB13z7fzP4pDQlOWtIvLLQm+ZutP1ALK2k1AkoKMPlDz7j6xhH1UltoWnH6/raIsUWhgxVA39V3qoZTk/Q2LPqHxM6JOjg/0m5SyYXraPoGofcbkeK+HFot4GXU6TFTf/ZAZ3Rk4rR5CyqRgEufRYQBFJ0djKnuSfz2c/ddL+jPvcCPnUfYqWD6LEGNtQsEQX/9zgnTX0TCxSuAQ3gpXT0ALGXXy06uQYSFpIcHhGLUSuidQrKN2SJLmV0oASJIwyx1JWZADFlrB4SYmbWjM3jJLk9sIvGhEj/eCHAzUFHpGZo1H+vQQw0wW+PaGfCpIFQG6QgcwyguvtbmMI/pPybtINWUWc4sR7utAPx3SCLvg5YX1xoAS+mAe2A0NLUnHAOGnX+YsY2cBpofpE6b1GoE8/4VEZV6pEc3XDK8sEtrJzXSkOkHbl+qAA/3/aASWIYgVhcihCwiDl1H3TqIZXAqoq3BWOzQfYnGnYy4NBJNkGxiUCmpjgIgNwgBSpy1imnefwDK+lxvh3mwHBop0R43XHvbmahO8dg6d+CeLeBpWFjdlrmywVtGXAOTMC4E4kVW/rPB13ByaXZXO+LXRAYZz8beQwrzu6hr9knN/m2rx+Wkb56K8is/ltuuBOVajM1NDMe8D2GdhYkcEFJsSYIqfQRBUMu62L/YTeujgD/Vp1gtK7AII4NYj+2vgmtAp1T4rtmmujoyt/E9bBdFz+ywWLrmJ3m+xHo6DUG7K7CYkCoLzpFTrlZZYVDPDKS+ELOGZ4dwdmsa8RWTfpANSneWZuqved2xN4D5DoPAKwStrgMa+rC04b8dbY5g2wUT9C80RSpDZ2lRtSox/w+NBAYI2+f7W/q8uKshhTzHFa8800RZkjagym81eCaLhhf2Gb8HVWkq33kmdDoCpKIkf40S0p/61LbqOd2sz8T1TuQ9Pa8intxD+kAoAnZ9vXSjplB3wDW2AELDBp6SU1B+54X9vuh9dQHpgrMm9XgUbsJLsHa1YR7Nz3N+H8T8ueNwXAJuP3ZzYoo6U1wXg9RkOgSZFVrQJlAvvt3cIyVOAdn9PAIjMwTmMrAIaUkMVxulg5vOATkOhBX+I2ViwO1A298hflUdObx4qX6PuVQMG1O1cNT125PtuxKmMBHGcWpCjBQ5d2u7b5DJCItgrmbwIj9Trdrz7bGECJmcoJG8ClH2+YCUZCK7672IEbqFVJAg1yFlfByM41OWY4ZBMLVAkv+d1lPeIbAlcu5H+xtzk5J4/7TsLDy3IzUFgiGEY3gRGoTan/TsAem2bbjkEaZ7HYIeIWf6HSir7EKxjacHp6XFXSMEEWCxJP3BAH7YJ8stVsEyXOViixEUiPvxSNu6b6Qtq9yBGfB/3ANu1xKaMlYDCeFEm3MBuWqSGPXvLRUpgGh13Z+YlERgHbEgVqAsUaSDDpw+MMnX/fo/9ZmMfU5y9rOaru1Vrczby5580n/GVbeWmBamhy4pAscJDYv2bz44owzQH9SJwyK3D+rYINlU5o/NTgOizW3xW1x/EuCJNtuanys9HBz7vLalT1AX7OK2lTtIIJHgotOShHd9sloMV02nolP9XQK7z85RFxNNOdFG8Cc/pmnyPi0j+V2xM/wUTJ8cLA5ljMk9ZbqrXz9exNiJ+/3/sSfPe2NH+CK41CRFkmp5Vgy91XawPkHXmWgTWcSZoZP+DreTU+TUx2b1zK/GbyaxIp0gQDJUZbDKs5o1aqwzLFLHiNxciWjKifN/C/vKYDBVU9kzwD8yAB3rhBH0XajmwAYiD8g4bm7zl9h5HnSm1NUyIvh4KTxItgiBjdAGFFAlTVOvGGrkCy98klQETNV128NY5H4Aef1PxqpLQ/hPDv5vjiEdQenpiF8x3mU05TbU1bpJ4dgnm9ev+KHgxaQQLfREBH3gvmMoiaWad9TVHVH9wgT7El4yNIG/j+aov8KF0AAtcC6QxTrweMklW+LCI95EoiV1nzQmT9XDzK3D2YwcNZPbD5uzR/fnu6bOUQJLXYvvU0GRCESq+VFmTk5X0M7GOC9EoKwUghnltOme4AQYLKkBkVyH3G9W7/xmYtIdLXjJ77TA9sSQJCNVd08kFG7EV0cIXnIM3AMya0ivGSL95IFv0gj/QnziN61bp8R0bVkoSG8AETacIUaaqAhnrmr2jka13bgPmJyf2Ehb7KK+BlWRwX1gujCHisCNuxjtCgJQP0U0heKSki0MymTnbWgN/mFjW+jlDe2h1zd3BO5bjbpsuE7c1VKOjLP/RvCS+5OxRwrx0ywrfDjG5fIRjX5Yvquq3d+6tlP2VgzLcewl0B+B1z9DZP0poD22wFf9YGDbxp043QgCMkMmJerZ1QdQbp5ck2yoo3uGlaJuj/XpE3fF1Cx8SUJQaCvIsQkX89oUnnsQ17uDr95NMti+33R9KcPylzg8gcHwPqzEWAxE574DyOjLuaS8+G9gI7SYMUn2oHhoXowRZnWonaGjBS/pJlm0XFZuG3Kqz2Rp8enFVZ6JBANLIvvtIfcBh8P6La1oPt1Oszxv67u6MTRhyZIl8fn9Gxgmqj4c7scY3MsQpnMhLX8P8XmLZjIvcYW9H/kOSVSkj8Mzk6oNSn4Y7+rjePtkuE4zEYhDHWfzVsybG0NR/yLiqmB1fjgt0NdwpQN/dkLk/0T4Eu1nS2vgFpN1vuPizemynlbHgjmH1eSz8k+ZGfdXJh4mEdLK0Ml2naEHgtst18pRrYpGN5MXNHEMWbFhIkclKTYfJv8XcOS9xOrGv0A0DveuWRVE5tLw4VTX8YnzEvsRyLiDafsefJHg59HP7ZWd7Ur8ltgTeBvHcvcjSDgQUXUG5AhvGyy9HqnScUzoNhSYxAO4GppaCl7gKLR5uBDB+HmYQSpxnR/bA7hlhUijodU221LFH8OZmkjtbO1ns7m7aaXxl6Zp9YpKq4vOhMAZgRiSB1S2TRTNj0+3eSctQVHRo+9LSNpxPzDNIQeNMjfJweAnaOxz+HtdWJUPmjmFJXZBfAYL+J3wiaLuqFkDEXeORWCeq/SG+yVMdzL2q9vaitc2+gasbQsTf2pcMB99v+5/j8xOrRyabnPju/jiQX4jQpn8nziO0FPKB7Zs9BuRr0fnJm89XKKGtguo7IaGhKRYKBQa3nW+iGrLyEAckeTKu+xzEPTPvGmOEwHBYriyBIfArUeZp/dnl2ZsPVoL6WiXNsF3D58eA24iahUw3H9QKPVBxiYzcyecdgFJvEm06UTdz5492xBkah0CzgvBX7zKRdPHDAaRZ4kx64VFOKklqk5GkPNvgwsGXvMOavyRZ/PR0481MrhOJlJhIojNgFDclTZ+hoO8oyfq2CTaXYWyWBGFfhwC9xRMsG2YWOvAtIgQS5z17vdJLHcfdJa4K69/SkqDqhhPId4xF/IlhPkTcQQ9nw1Ic+wlRFpkwVJVMxfjGALb4E9yzCTuf6z9/0T4pjmzUYqaOg0BgBzkhNzLieGRiqnAHcWeAXKlNDSk62F+Wu0d4GS1a1RVPwg+0TYAPnfBXxpKNJawzJdMmPaP7Z3hN+xWcRz8xQtpKrac4bmLQAh+EaBs7zOVvh9AxhLnkz3RBCU6vBD13cCcbU4Kxcx71sD/STC9hBhoQ0vnWeCv+QdM0vK4Vqubn2iC+vLYrHiWHrUY7hNw5d4CKszeEOKojGBsQwYZ6BBQ9UJxxLUnMrHXuX0XrW8JjSOLT/f7k8+SajTjYcHVSBW2y/JPvvDAtbn2+sIDmv2RIZVAOeB0mmgtsMRBRqRuE2P0WprmhvCcrgNPO8Tl9o3cWR3OnHfIdRC/NfGRA5NbAt8xhoneqZdm+1AGfHlMU25K5dRdNC/8AZNwKvqyBMRFT0Rj8kvwQf0LQPPRQdU496SLL+ZJoczC8hn3WGnrOyzPvcBT5mvr3YF717jdBaRN5B4EwREnLYnftesfIjS7BGfXt0d9IIKSaF3k+ZCfwMeABBwesDcmFFL0I+amrzmyBVd8Dv62aww+/a3OqA8uKOYM1TT20WDCO/2ogqCJW8VT0HXzNRR73jk029Hxbe2+CldyMqpvMIMMjr69b2bBYzt8obtJskvinBNtT8ZvFIjrQZjfFOKiq8vhEz9WH5Qhk2aEVe1S0H0KwBx+gVTZDwWevTLJkXffv5CBSKwUcp0Nzc0Rq8TshrUqMIHgSavgfsL1ut7ZY1371/6dYaEvhRY7EcHfhzVVuxsY/tvAFf13dErHy8igKG0FFI4uBQ61C1tVxXwNAZg7MRFfg1XaNaajS4dBeaNHwmnMxKIMUTJ+1nbEBP9ZVzjqpPgqaRonmyrzMYIqt0LyRYCZPQu+WZBd0R7T5vThmK4X09BjGmBgURcv5MEhuC/mrSHmdtzcJCm9cCuAc4ABH7Rphf/yQjB7CT7DCAAu9pnBsM9LHe415eXfD8xRzen6kyAiYrHoY/C3EuTYObyFfTubcb4e0EPvoWjlYxxrToSJjqxD+gUgCx4Yk5Z2kLSDaIBpLseVaFE5+BpqZUN7AskHcR8o0gx9VieMe2ykAgLNsP1Yjn4kzZpx5ReYzF03xwcb76pEMG0dXMHDUhnbOYQTo/vvic9gNRvd7o8+g+f6Jgh6nzZsqa/t9YfOJn7fpMykpt3bN+2OslpfaDBeIAoa4VsFcyMzPWQxZ4xpa4NlfmgL5/ZJBrFOCZjFiS+nthx9IS/WKGilCm3JgntnJp6PHUKoANC+mZzNNiCi6h4Ep8CeSQ/PtJeyvJOdAQF+HTRGUFYYz+L1W80w3LUMZZuBhAzO1n/ITDO/97Nrnpn68NrG8ABScnt1i38oWdhI6mqiLf/NXufoUtY0BBsKxFFodGIj3BwiL72Lesh/A9wMXDFmhsyYS1iVutMbbm4iytl1WAgSx3ffk/JCSmtrbBcgbGN69vlrzBt5H3U2H8HCPQjIi8mAQiRb+OBxfxe6t+H/6vOxknrIvZc0ePtbWfpeZPsVwGjb5mTZR8UM4c2Yor3mU7VLbKrlGrwYcaWAUHZSDqNDU3Q3Xto0uOKm7HKH+iQ4rP+v+nIc72OFlnsBJGtbSyz0z34ZroO0TvshPCfiHhoCHY8whvwZFh+6yh+eGOeCwA9jAMsLmcr7EqN83L0tDlrrDWfwdsiz7Rvfe7YLD9z9mP/k83GfcPGyLDRdiAWlJinbtR3+2feBnRsD0paJAPy0MKzSpemQtFpk4/QHRImXUYpIj0p7ZnfjXNUs1HAIAivKovwLWmuYkD5TFmuTixavhh4ddnubt4zr0yeuJW/wel07OsPn7vNG7tgdjF1S1R4g5YuOwCZOKMyq1Xj2cVXR5kMNr4cZOwA+xzLYHqDeMz5QdeaPjKb9rW3dCiBrDvlkz7rhlsmoDnEliL7hNjCeYsIeBMpoO9wPjEDrXldWVlz4kppQ8B99DddGCSgs782xpD62qTE4MjFhe6XRIQT0H4ezYi80zttTs6x/q+wMnbXPHy4/4P//yPsOwKiq7P3X503PpCckEELo0qQXISgWFLtgBbGhYkHXvroL2HtBsSN2XdFFEUSagFKk14QWSC+TTDJ95vX3/25gYsCg7oq76//3dnEmM2/eu/e+e8895zvnfEeauDccToG53xMpD48AFz5HNbUNaNcr2BD2QVA+YLW6z6BKADqhgiyN7zCeX7KByHeoOLtLRAouyFMO5DRmtDjM0tz2AiQmZAIbaVDiWg3604Kf6ibTC44GNJyugjZpoj0TeFp7ElwJD4DeEhWXaGsjjBDQQ/aFZpCOEmdbw/GGJU1x+SNcpggC0I9BR7gC68P3neGgvBZ02y8gbncWHGVzLCL3gcOe/MSKwyWSfss8bD7ngByqAmH8DmCzYD1ntxQeg4sTDzzvVBewmjYd2vFN8agynTqwYTURFivhpT8/teN5a5E2SyonwxI5yrow0tpfAIjlWTgtL0O/se9QX2Az/ATKwXbVjL97aMuWf3sR/eYO/pdO3IIqxFAoHkSU0MkIH6xDQtLDW7d8t+NMl6sJRQY/h0LSgKrdN9u8/i4JuOnAsmXhgGTsQshVKa2xJXBGjByc0eM3wU7/pW4e97YN0agbkGE+hB1qmZhRnGgFd/NMrLPTYe29ysaMtwsATcLba0EllYcZ3jazCsoOuSAhCSMQGXlPFEsCU6F0Wa6kGeksp0eJtUC++3eOloD0f+fHbf0GSQhmfuFZTmgWU+qqGoscOvcVLTKXQdWdAsHykjXmlFf5y0S/nupSDKWDrlAEt9N4Sq+BIxoC6idzFULCDi2oCxwm55HsEwihd1SpUeGtnlMMgVpn3VegUwiFJuavp9fAqXDAXQiv/pdgCk6OMdyjPZvCS7ckO//RH+nEibYOTrZWrd0X/YyxC6s5K5cs6ZIAPrMIOB4CvBmt7wcOA8SbNp9OUpdRZOQu7PydUITwA0WWFnUrKKBL6kJOMB7RDE83xYoh1AAMz5gxAz41czAWtdNAzThopqfrwDL65Obeh4t5iWmIB7clLyPnHhDQXomd83SUQjoV3yEPQd8BquPlDGu7EVJhMCbFx+CjnRWI+ioo3rU+xSqM4ij2unCSbxOqgtcQTuLmBqbZqTUVwR9iFjNJMuP1Q3s4FRIxUWNNvgAY7qUgYEiGcC7yG2qL05D8DptYugAvFTy4u5SoPMPtEHiZYbKA8XWAwM7XNa00JytDbawNboYgRGy5cW6qmLqxSAt8w8nMPVlJXN1QxKCtLJK2O9PEZdiHhrEstCaDeQswRgYiUcbDKTjRLupRaMCPJsxgkihCsa5B4CjOhcbqq5ej21C6uxxNwmOHQwh4GkLy9nqTkg6NaAVHkO8SRzN1InJ4En9TXcc2v1VqDZNP5nMCqpoEogg2e/BYbTlwPmvw8AaNTLpzsavo2Eju9klSiY0WGrB79AQePj43NbVqAGCdlmv+f/SGwGH8yYW3wZAYG1F0LUlgHkPM9HfTx49v9jt0smmxBk2ALmPmgiVuxLjp0/eh+8aR1PQwIiF2BFEe22kKPoEPQQhZm5/Vn2mIwgorIBQTiBqVYxddFxQ3RjsgM/RyVN6Z3wCGwpHtkhtJf1yCs4NkUAMRi58eslimH9tHolh2cGd3RzCkFVFD0NvUo527x/7gV/4+4Zov2Qng4XlfMvSNZkSSyjcurYB4WgFlA9VVmUNUzRbVr7tRyly+1mblsw1d2ywglwFl1veMLfipMgXJJKMFbRuEEIi0mKlIRa0T8LXDmjIJfrYSOSwjjvewky0dGAzM40uQjeWL0vJXuqR8DrIEG0ysEdYQ9TPzdzjIzGFSlPRNtW0akp68dmC7pO1D4Nkn5DGJ8SJmvm5hpsFRMwRad5EhSW+AJ7ZuV1PchYfoQIoy6i1S/vr6Vc073xk3TjsFG+NEzEzIHeMZxLDegtpgc+OxWIvzg2hoZd8t2RqW5Gdhvk8DXvkuZPhKFFx+l9bZVID74LMwa5Ay+xYSLw4SoQUcrwHaK6rx0D3cpmDfgvRkAk2UQNMnbSV0kd7vl7YE0ns1lwDujIGYGfkQ5HGEmRW4BfF+CMGkRN94nq9D2BloeKkUno8d6p/p3hDwe7+hBdfccDD4tEpLH2I/UW2ie7mqK4TpycKI7BPdxOTHgK9GeyCKASit2YynIp0b79FlemO15FvKCq73NVV9EE5JONfMiRYuOQf3pYsDgb4M53oVSQ+PY2M6E5kXtySJ9nc21YWvhpnRrKUSK4HE9haVl7fga4k2/9orIJIcVE+OsibSRRnOK7NKD6thjPbTriP4O30Im3mQlULrhmcmF3XKcNRHKGkzzM/XMo5w4P7aPf6M33P9R1/WJGtTULg0CXNTlXWmbFttbTPfCA1IrUFznGHj2E5IUgH9iplWX1JylEwgmDyJ4CFJOcTL/2cZA7JOttUGB6C9tEuPEJiwDGvLAv6Th2H13g58cXVc1WaQasakT2QsUA3iWvhHEGNPbZj36qstsoB8Tw6yIQG6IGZyMmRAGVVe3hyCevjbf/2/Rw30v/7ztn9xsFFaSUWld0/r1s5PGoywIwS4y48gGKwI8XSahw1WgSRlmakwVp3lR8Si8lZ/lxyyi6DfiOn1RQrltNzZHGXpDTP9RWhTlcA3zwPnwFvAfgdCi/mUKktr6XiQCiEekS6HMOskUpacknC9D1DBu4jlBFNZVfNEa6ulRBslR+I7YnJtqg2M3Iz7C1b3NKQQXgLvOKEyeslbX1aE83SUeXVCg8eGYEYUTYrBaWRsQAwydsJpAF8LoCn+I0qZ75Q21C63eQ+uU6xWdnt9ePiOxsBFW+tDZ6Yg229wu+SaWMnu1ZG4+WYkJj3lC9X+wFn4ZEAsSOmi19X7/GXkXqRdu5uio7CJ5OFhV4VlNWaV+XYMzz4SNy2zS8PhrjiFOaKlkNOpeNXOmMRRr0NZmYKmX4v03YexUdQ73YQv/vAR16XtiNQoBSbT0yIk3bGjItwzPSk72VTDJ7k9jq763kz/Fr8ETahpEATW5+BymIrIkoPY0Ca67eyMJVWhZjybmGHAjLsRqwTvtiXl5UX6e6hgfY20BQK2AQkX4MYQMrGReYDsz0Q/xoL97rNoXH0cUNPDaA1gcvMhvT46kkBEA9t3HSoI7tcHdCiYvbYmcvp64Mebq/xjNwJGwLm/OFd1k62DO3IhY5U36RZ9tRyPr2dZGuRdNc2LyGbo74Fs6SsswJZxIAURe2XYyXP9t03HwyP6v/nfFbXhU5BQch824nbwV2yCt9cn69pjfTv0uGPugcYxCybffBO8/9OhAqdgBGDMacXWKliTbRzH8i63ccr/zEdE2xdMfhpi+l/bjRCy1NTUCHSNuXC4Qe5SnaAeZSCNeoPVV11JnMVE0dt/+92XYYJBeTKbkKzyGlEiF26ptR3rPFdpqh+w4gxUcPEjHKdlLv07nT/hsANpxJGyIy0Y2sLXniw9/+pp7z++6Zsw2M5MaHQBhGvs6J07oDImRYO1lLHn/iMB/j+itDtnEyZB07Mho9Ye0iLL01jPAeT39wPOwvO0bX3VqsV7IHCwCR0+huXmSkW+4NPAHJ+E1v1Il6zcR0I+fY1hD0QRGvKbtahx48axOs2MRrWK8xCpAa0clXN55m0zHF96bv/+cTLSwbjhcgrIlqOpkJ0TQoA8GHvXATfQPHUK4lW3IYfuVW92UsX4DLe+qjqe46HUu0FUMgpldRxY4bpL0Mu3eSNzlYyMrwigj0viXzJVEpSrkGMeQJCbRwMiRXq2ra6pB2+x3AXtOwlY6Oc0rwVoA/l3FNcOk2iworJqcSCyXVG17/umJe3GTzQSQYDXA0QwEm7gul0VNjPLJi6cNTvcf/p0clnK2L+zVu968uMmQ98L7HqKJOrnAS4hITWeqGJ+mVNIrfHXymdygnALAvdv2XBw9w/9s7tUMlYe+brMBS5KeW0m+OWBs9qwGebjd2AT1Ul2XbMQy8rP4hUpJMKUhUoblVXBORqcvKcYrLE7wukfnpadWj1jxkz6nKl3fYF+PBM19fPTyqg1mqg0MrSQC2djP5bSu4E3PUgLRic8D2Vdbehr0Fq/gNhhMmY/O46wmrVYGTRC7X480BiC0GgWvh+/9mLZeTfe9XHNvn2BLllZrX/f3OZDktQ+hiJ0J6WntygBrU/6s7z/6mBTLo3AekQO5YK7YQbKQXUXaeaASev3YfuClcLchVJdt7tYE9nYjB1VGtqlIh4Glsg/6KC+phDW5IJ9vux6Xe+WLtJZoghO8ThdhXCAPWcenq//00NBhOme186eiEUwFbqcRxR4YiGaqFXyqU2kTwHPxyWIOIL+xF7DZeXl7X49rxLKXS6pIIONKB0C8W+0v3o7lQKXSao4GghD6qqyhiWk4jahPrVYWXBt0wdYjuqvdupD4D+y7v6t4w/NcCMCYGOVv4+rXdLBbjTd4mhr3VKSMz19PLyrR44tDaFHMDalgqIuVRm5aUBWVnyTP9KTkpSuEZlZcSy9I8yL9k5KHBaWAss5hyMZXLdP41K9oDfeWR6oWZKcXGBxUuGLOZrrAnyvzNRjC7qnppKIijZ3LZKmaWcdE/D1ndCROiLZ93JPmuMrQMswo5Et5/WfS7H8HKh8pb64fGEKL44AUcvzJCk4LstX2+tSkD1HqQSYz0vLeQF46BXAlggr/ldw9JRD2IwGaUQnODherA/WzkZ8ZTMeS3brnqeNBWZNzYAWuQcuoXLcfyzed4Y5+CrK9zzRC6by7qbQPdBa74fWugyCcxc0yCtxLouyO/fU+pO+BXTT3E7S1l86SPtyk7Oz8dsBkJFdwWCGmmyGT9YsS1/5y8RDtz7/1t02gZ0BdrNvOEp50mSR2m5SHyDqASFZ2vChWSn7UOSzi4UVf8CGYYnH1aGngLYQ9zR/qPEPF3luETgsImZQGWw6+acQ3jQBC3+GN1jzXCLeF7Hg4xHC9i6iLVYGvJFLg/u+lzqMPOsZOIZuAaTzPC8yn6A2fC52z1sR4TAUbXmyKex9IfH7H6tCg2nevADadybUtd0WU1n01JrvDhA601/q+zHfMft8wZNjNDuMNfU1vVPd2/F9s0A+5rz/+T/JHOL6F74E7tZChJS5AStlCRwb8li4SVXfzlvi8XiMaM/CtHQ7CgbQ9AUw3fKQcFFrZdlFnK6+G4Imxzjct0RAhgThlZmMmGtQi5oBWVGjqlma7eJeDa3zfgoekJb1+r80KETeFPsiV4HWYBaMKpLQRAGinN4r2UGsLKouEkkLqMx0TI4boOUK+BqCFKntNMXjgcMjYDxZq0efIjALCaGMZhVMwmcxQFnfEnhvI2AMEA1dhbVc7GSMRQGJDo9FBNG/OwZowx93jAdAzVrMnFhDZPJapO2RyXHs3VoLXvIdNE4QZRvpFosRJBgsBgjVY6juoPY91Qbv0bG/t1PCCKSLPuLh3Xkb9u8vRSrH3Qg0h7VsXt7B7faIeuRRWKxgsTd2Y8b0USnrI4AJ0hPXIZwLiffklYSk+Yzou7jvZJgnyxC7dJ3i96N0DppGDoZLgWkCfIzy2i0WOKjMu/GQ03RVe8ESpzcTwUtO62Bv1w4thzeVcsPsf50R9L9GqrSndcWYCO/GWqQ635Hmzpy0FBWayfkEOrCFfAuRNUeKfnqhUQ6B8KqGTL+DE+knEC5VvzcQ6A9Bcw089PUoD/NMzJRfRllwQk0pMBR/e6bFl0Ku9VsOgj8PzfKU79nrX6iG1Flxv/R8gxmdu3LOkwfhWMCUi81BCstdmM/IkOPehDh6D1owAWEeqSqLl+MeCN6wdMWzQhYz7RQtwhgIdJ44P+0CPxEYvA1Q0fd7TB+hvczH6azG6EeZtRrNFKAvgCyMBmdyRrOTB9fKwdgzNM+uPbj8m70HmqqWsbr5LMYZsoQ+DzG6zVYBOCqGgp95LmvSl0PAyBxjjEWgxhd/GXn6OatW/cRsRsaCmJWJ8KE2xsbARt0ISAQ8x3QI0FMbp/w5PiJziDPY1xDLvhthUJnIIWZdPPueFq9fPWXKlOYy6JN7pNU1BrV3waZzJfDNsyMSdaklos22oKot706egxV2u8izJ1kZwq5ofBOR9WfDqv4m4DDQ2bLPcYPSpi9Favf/4og0Q4gMjQhNegXWz4tYR9CJmMl7fLFmUyfT4WiQaOUh8ENfhTm2AH2ohOD1YQ5+jxj2a6sCyrNE8C4ua7ygIimna3NEA836T+mQFPgRsc4Q1B5Ilj02lqoZBqf32Z1TmiOt/t2x+ENgh0RjiAay3O//wSVTeYJpntux8Mz989ZXrSQxm6QsPJK+RqgWvggRCER9b9Y2kKVTxDP8DRGNDv1QF5nHaQFdEN2nA074TjOdzSZk4vrkldPoPShU1aCgqvCQ9t3nxVXVhoSIFEjpGoV15CNV7VyUD/HFTK0za/IhUD5e5ORsKai04IGz60bdlZm+sylSL1jod+o2bdpDzPYjO98GPafgZpPhuwdqa5tMjwfPCzupYXowaQEnoqC6rt+PvNeegCcWwOP02ZCC5BYQSBcNB7KyHAxmLR7u9lDQUz+mf3PdsNCP1cHPaJ4eCaz0LodmWYPL7sQ/Iw8ONuy4G4W0gmIZZTzUuojR0WZE6nR3UpkcGiwb3N+xq7fDSN0j6+E9/VMzovBGr00yRS9CxHoEdZqYWLUgEnd0Bc4FrFW02lw3ukxubX5Kc9mTozS6I3g3gWVaoBl4u/EnRRH2M2wM77Ex+gu3VewAs8xhKqpXterl5PkRLePH2nBf9A7EYlQlhO39BWk5J0ue9gL6ew4Yy8JgY39rQyQi9XRDmOKB8BoTbiiE0MZBNuLcU84cBisHYd7sxrJQsb6+ygUuZlcB0vLCuhovgTAhG5m50xf0Q1sB/TAlwGxs/j2CCC9AvGo+uGofj0Sib7I2Lh115peZupnlLDy8URKKRQfHTzJSck6Fa9a62Rc+pMv6OxXtkr5HPEuLdhxnaI7V9UwkrmwG1nf4+qSRf8JD2rZiL1Nwym28g94NxeFePItU1pp51DonLHzoWhSPsLm8Foqypu+PxGclW9hT4dy2whzexgvGo6j0u6ZEZ+PWUJTOcSd9EDe0R0yducl0MaFiinqhx5Hsz/+FYaoIyvmKHvV5Q6EVLCJzYpAbHRyek7AJnQq/wlVo4zOknSRsDArXgog9Y6XHbnqw6XLBKNVYH/eFxhbkSQtK6zNQpVt0c0IhnMZeLSSveWPzZg48L2chq7QCClEobGpImDoyD39H5/9QzZdoHPDMtMeW6aBRHFbVKCMtCzojDpO1jUby60uohng5sriIJ75Zs+Rk5W3gUz/AyfWgk6OXWCxJ8yExUJmCXTksF1y9xxzbGsqKUD7tWkykteCvvAxZapMArn8jmcZbCJxORRVfg2ONZ1Ddt1g3dchDZhcIo+EYZ14EcA7w3XwNd47KkjndU9ALju/DByHaGIwIiIZgzYrC5kq8hz8HjOBCB1AcwRgB3Oh0vNagNM2z8QM76/B5y8KVDakW1RZqgC+BMpcZgmd+OOoCIWkQoD1xT8DadAWSaYnZ0vI7cl/CNjbQbq8bBhavbJCb8IxxQ5jiPsLvTkPRucWo7rGwD8h7SIsyGGEIsu1yof0fcrNmCBphssZaX9/pC7/lsKW8D5PpVqSRtkQ6kN8QwVcWCOStIiQ/v3CQTQjlgbyRvVu37q7a98OIuS/vId5v8hMy94CV9YQQxEZEPYfkjFlIOumPtp4BkxYRB9Q0piLyI+EYwHlbgJNpSPYY2PNI7HXuKaefAhx4KGCTGtBzrIAmrsLfmMujL1Cwyyidb8FeJY3OggaD/1GVTi2teQPBH1EIY7Jld5cxaepWLy+CjXmH02ZbvnDmTH1zRTAfmPx7cMLeDSy+CBvtO6YGRjmenZNd5T8Tv2yxosDxm4b2mkxjjPSt5Vng/Z/uINovKdXENIXBgUzfAq0VlSmMk+bN+6m/iU4dESC0xLG3ovoKHLu0VVKNzTAFb9hpxr65EPPvXkQG3Ta4IHRR97QDTtV8MChrjT5Vv7PiUGMf2Ah/qPxItPPXXnc2NeXEDP1jKOv3j+7YUT4FmYxnkrJYJv0CNmvoRtQNJL04cR1C1tQ/y+nLd7lK3n3uuX29AecVHslgs9FM95imo9gvLfAUs4tE9OR78m2I80+RVRrVoKleqkSXJK71e15P+OARgUt4EopB+KJldjyZUtlLEJ9boRrad0bItZYMDmkwyjfsw6B8HInqyyWr+3oUr3ttY3WgT5AQo1joe7AyHsIiXA2h8q4UlZ9DrbD6tnYbYj7/883n9wcM20uwp65lafVS2ULd8dTN3x6ImtZiMI81gWi7I6NzGwVOe4mOM3cCfsjGCuuOBWyxs+xEYJmdodGeTIkCMaeaNwHSRnK/BL5I/iYHNHMPBg2+PdpNWGLhoHsm7C0tIhrz4TMO//fVNWuQycesgBYRx7kXxCN6l3lkwc+YYVo5dh9M6J2Grj7VEGqoxi+Ou+BJG1C25APMoU+xmEIQQFqNH4mPkH0kA1ChuNvxe4eF5d6QaMmfrjYiG5Behx39bAjFcbhyEch6iFOgRevtfdrYi2Om8GWqL3wnNJhmM/5wq9v+L+kb8Xab8AAnzkBAOoLQze4IH4TyaW4NRxtfAxZzIe53Nph1LozHmj4fCg2ZnK8q+myYaztw3l1hb3TGFl/4LxCls0G+zuiq+WhNwFuO00yUmxqKbtnB7VtM5bhaolQwVt0xF1hZM3bVRw9rrLqgvQ9hvxaZieck8673Oo46a0j5fvnrh5cuKIP2aiA47lYw9AwB29m8gKw+UWUEP1ZAu4lnnQZyoklILW+Bm1JEFk5sRq+t3d2SpJLo55/19UoITKku/jkqhFwVkE0wwf2k6bfu09clTT2wPibDMWeHoPLaBfru6hXlO6cfEUaJc8k8XP3hq4egtawHHuEJaNqFg0r++3zIJOQSRTteBHwwIKyZmaSdiTZXNdasEGnqW2wq+bpIX5H4vNUrpvRPc5p8zlGRHyGun8IabzC5aCn5bC0oNlEn8RWGMZ5H7Pyq87sdVkDId7/nOOHC12az4Zpsr2hylOCsLpiGNoSGuRibUDKi209Ot3jR1lJfSHnRbSMSiR6LwOaxgsh9ktxn0A3Biop4TA5+SuvU4zla5B8jO6TWQVtjEKsqElKLYztMBnBwMhUa2Sm7sktSUukgp7Pxs8/G63LR+jID8bQQ8qm8oP0VvBlPWjgFkSQq0g1NRN3oj6qG+iacDivgWPgYZddJPGDLwzv2PuRvlA9ZgZClMoInoeEfK3Hm69E9exITjt5SGzyDFCjEaQyBXDRd/xgRBTXwWWRxFsukzoGAk0wOFPKbD7zkysje4HfHCvfEPcn1Eu8XwVNvox1PgezjRgCU6wuSnX1LgtJ1nJN7CQJ2FE6dH9MiywjpB4EuoJcT80LE5hCGtByi0dbHNh1uV/M1UWoiG5sbUiQBVVT9XCNK3LetV9KuTQ0NmSbruhjWQ55kaPWBSPzAmPz8YP9c98HSH5ZsGZaVVJ7QJMg16jas2AfGsUkQcC+CUhmliMyLgGXvNWRqcr2ofkoqWKDQ6iPQ4B+Gdi9iZ9FRdxgzg6JIGjbwgdOQKo0ioMxOawGlE1y5ctmySiujT4ET73U0aQQ2uI/bdeHH35c/niH1uSBIxiI70Grl2SEpovWhjrzzCoTKpRFLBGGC3bpZsprnEfgkOgcUvS8WaJPT6WyBIsi9/+wHgYd2f/TGnit/wSmEhJcLkKEIwiayrdOv1TaWb5oypX+bmxBZZ24LC2Uai4Rh+pVWHeaU/m+N065g0KNRllmY1OfguRIL7Jw9/tgrJQFpFPHlkLWlUsaTgAoUhNndSLi6f62tZN4Sjb+iUf7n6DffbI6sIf0m0TSjc1Kqo9GG1a0F/K9d75e+h2L2i7Lml37b5nfbCQcsJyhcLJZFC5ZTsVsEwQ707fIsT9VjJ/16AABAAElEQVT0VtpX4sckWoFW2GxUtzBNGzsFwvpMtOh7qJH7ITyCZkCbQzgJVlRXp7C0ox/R+ARD3bM8N7Wureslrpt4JV5LYKgO3mW6g4Zha9rQdDB7kAdwhPgmMNcSVJT8p+AA53aQPVDQ7jD2PA8mSnIgaKxBnPKx9yjDBlBt8ZwEj/wlmmx8mOAm3lIfPQOOo1mKaRRLMWUqCU0hEQUdU3MfBoZ5i6SBKZOjx28r37eOaJFEiP3SQwTZywhNMmwpWe7v845gsrB1LNvg1Oqb0+E8FEn6O5ZAe2C91QynXrbL7d5OcMy9vnAXlWY+RphXPthGpyoy4cSgJkDrnG6jmHDnFMc+QA4uQKAjJUUq+uK1F0vJ5EqM16+9EqwevMrvcbQxEvhJKqIfQB9h3irE9K8S1YvbugaJoR5z2S12STBscZO3ZFml2LpoNHwbFghZKAFXxu2Ax4fimXTG0CSh8sR9lGrEgKnfDCGParymACa7M8rbuVe384bHCbQxGaWbkHadUheLh87lOOpZCHXEe1sKWSOWrTLcYghUFAQxv0Pd0PY0Y2QD63IBggJFILO7tMJ7yvj++cGtIPOBE/EaaEjrfanObwsB67fV/j/bZ4n4VCKASPJKO1dewX5rvOzOVgVdyRxccMg3D/yr5yM3HlWltVMv75K1D33FEvz5Qc5fVOr7CsVdxsZkfSNqA55zR9+8wM/P/M98UhqI9omZ9AJAV3H4YZChSTtBgo45YITx92YwCC5AaYHF4IeZiQk+STWNW0/yOF7/z7Tu1+9ywoXv7YtLLFMHZZ6DVYN4ehUeb6M6sjfwY2Fh2+Q3pfXRjM0RRUqr2BG1IFMNxf3OgQD+G+AGhtK0a0JZnvWFWBALkMjg0cTRCjw5CC8SENVQhZowXCBuVHcUhJCczsW4mhpwm3tc+tZwDdUZnS8oALUaDSWIlIeg6RnAW4mgIYJg3M13dOQYfgzHglQZJYMMVX2qd4a7DL8ywXM7aJ9fHc0ZykKwwauaFPSN75HTohUTzcvau9D23E0ToiQyYFNZQybjED+BkBgO03guSuM8cCSGl9qAWF2YuV8gIqKzaVBzFdG4d4T7+OTkBI/tdcY5faE2jwFercUZ+fN+SUmVaFeLgCSee5N3DqRM7Q7EAPdG+vPF25badvTrV8LpKdkvQnOcCPPjLV42HmvUg1FBF5M8dls7maVeRlbwGkOm3w1qgUMkPrqtDWBFRX2+iMFZnp164NjNh2xmaodOw3mKLYCY6g5X2kkIUUvjTQ4VqW3bjz0f7f5NB2FQo608H6BVWxLP58Wi0UqLTewHCOIK4G354J3Iw322iVLTJYqY8gAslamKqd3GVCR9VEvV8inZ9jWIvezNGExfCs4zVmC+RB2z3aYmj28C5uUU2RTOZDsIAlsQlxTdne15kziMEGY2wK9RAxGVsnFwlnsbGtsyzr+p4f+DJ5Hy70gOGmHVmUVxvrmIQUfAZX3dNPPhslxPceIZEaHM29stiSjGyHy3+JVXaph87RGulLa69c0hXxdQdy4Pa2oOYrsXiDb1iiPp3s2nkzXW1nxq61q/5zNynwPhcKpSURGMpOb2F02jDgKhA+Cp8wEz3QQlHhWQKOzXZhRacRXw/hDsyOFI2NqFahWnEXa7492fyIbR199RGNUUP8PK5QQ7Pt65v/fzn5nw/+4FiUbkisf1SQPST9XAxUwZuttEiWVwaG5vS/DuRTkbxcrch13pjE5OVmH7DHqHVsIfIPvpc6uYNA5B0ZsjcnBXIQXLAoe8erVPPG3cWlnCeLL2jEBMcgscn5FhNT08UEvoyCm0O81rSrxM9cAuKIp66GA9u7KmQUHVgz2YFMTD27yjHxHApaOmTv3IFhMtYSXOwbFEMuZMIljLU/J9SA/ISbHZRsR12Uyyi8an+3zf7Pt0dt2oUaOYI/huCIKXNI2KWjQNXjgLHjCN3bciLsLaOXLsqC490D+nSwmHcCtkIhS6ZcqDCRFAQ5rbkjiPvJKws95jzr4QWphLohHhyqkL69b66qixSUcJBHD+RiAE13B5eftNUyyMG3Hw/9qM3f70MRAi4wAplGq0OadnFil14iS/jb9bVuYf6E7bj+o91+mCnhKu529ra6GsAPsVenEBnmHkjNpw97VIQpOCwdVr6g4ECccycQhCo19njXs2kmSKxqaDlmRruoeig5XTKdtR7SR9IlrtAbweD14h55CDWDeH31GNeAa1q1evNvpPmVIP6rcfrAao9k0qAzto5sbGxmjvdsmrEE40Btj23+nc2OAU3e6Gl74bOChWNchN1ZmWFDqOfHXs/7mGZFjPzE89gEXl7TF+/H53SsoqArQMheAlCw2JF+UAr+MaFS6lKMD4f/KDCKZl5U0IImECksMW5+KRs8FM32gx5CVs3KyY3mpzIRbYP0sb6t08Bzo/cz9Ta1Gprm0PAI2x+nziLTdqspKOCDbwmDBro/5UDbUYqRfWV1nTkrlzF5T6+n1WUi95BMsaTWlY82vPvO07/fqnBwKxS2TFnCZl5F5f/t23Gwmf8cqVKyupvL7b01xCe6yvi2CNBRAqmgQhDP4OSiP4KmCvJLuFweM+/kHWd5Os3gVrqFyvoe6ico5/7u/95oSUjl9VFkhiROE8TkiKwYXSGbvPKHiew02qunBM3mHSitYNJQLOTM+6C04h0GuaAMS5dDjGJtKMqNQEG7cJFnsdjPRlIzqmt+w6pHzzuoVfRreu+DZUkZ/bkMPkVZSVlx5IdzsPKZpaBQC30cpxUIsZwcoy7VmTykRAWAcLTGOXleq2r0HWK5OtTXlHJh8EqJlntyvtXJZ4vsfeIpgPsZ6OqN56ilVgOB1kP1YUdQWzbD5CFao7Dh02WHamnbe/0lfUJcPdEnnx3vPPS/kDBhMH2yjEF6YjemXF289Y/IWFlCmFBTtv467BRGgPXEpT4vSHbydZmok8EmNCFsxF0+4+yW4yZ6AYZifF5EricnDR/Fdeqbn++ovaNIMRBWFk2mzh0qb6ksVvvBEk/amLKZMxpCMh1t/zBrzfoqJ0SxudMpesMswdkPkpCmU8PCIvZT/ubxJNm4xtoi1bG6ODg4oKhgXOhsoICPE1eimc6HDak7uCzV47EA3S4/LzIx9nO9VsKyV3Sk6OtnOJTW88+2zLhkOuRbDandHoHX7WPhGp0OOL/NFuO32hPb1SDocLghAof3FV01kH/FKPynAo0tnjTAhfqixmt2WP7M+NzcyM5TmdsRyXNbTm26/rzRRX2WUnnaSU+GqrEN+7TGNZhLgxHQD3oCo1s9A0lSd/mJNVw/WpD1koyzArw/SSWaZDVVj3DR+CfAyLs5+NFYd4D+7d3TM3V9vvdHId0lMQQUJnq7pQSeZCYhz+rK+w7qh9DdVeirYmoSJXFxQ++c5A5erd8cjBiwra/SxU80BQbodU2VMxAcqiZt3i/tnZRz3HxDj079BzfEAx73cKjBugbyVrqH+/uJuzfjmyvmxO9gUoHXegGOdwOFKHapR2vk7ZujZGYps6uG2RGYmLtHolv/Mq8pXekBp76/nDa6XV18d9uwUJMWjrm4AVesJCXnHaNwv2mytXmnl5eUZekiiBpQ3cOMzlsGa/gGb5V2SiQpGiHMCDWaRa31K5Y8MWcu6xNyDrYJeYdlejmGpBscVi9Occw8KvqVeCFJmDx55/Iv7+3bADERwba/2TkQqaqRrKbhCx7ouH6NNoIb68YlXaoba8rDu9wY4yzT4qq9JMa51a1ZjDODIZ+zQADWfGFPMqWW4sKzzG2/pLnSVtmLFyJTsoJ4eFAKajYcaq2Cy8xea2WuKBdE4UkhCVsL9xTVJVW+1pfW1iinVxd8yIGLLkl5h4WrLQCRSGTJWkjvBYxI6KrlaJOvv2eQjBaf279dj9hc7um4HB3q9oGoIIqNkuu1AViaqXII3gWuzASBGml5pUbNLg9HRv4rfEW2twyJIzqExock7DVNfRKa49PWka5Ygwhf6FY2dD7DqGM5/hKHqDaWozY6UHthBNlVwCTE5PwPkHbZd+PdhQMZNQcRLHmciKT/AUv46R/fORduv7EhupzdBG0DArdE3axrPidLC1bUGMsSwwRl8U8fQi5GYhT+tS3KKWk3C0tpq4uKQujREs1yCHaFGZKmWjeOh7Hta8M7lLxhc7d1RclGK13g5S3u/TRAtgaW2EqVLP2Nz6DzBCpiEeMA+qmz2oygfTWMfsMzo56o+9B3nmX9fUWPN1u1jOxdj0mEUZ0Ck5lBizTQ0BwA/sI1HdGGXlmDgyOVCO1LQiW3DpgYayGyf27h0NBAJJFQZHNGgBRV6/BWFQy2Z/7P3+bH8TGsnq6lJR3rPZR8LPSPvJmCXGJ9Ef0LrmNJnaYrBQeYCPn7utIG3H9FbaMTlvZbn/nMq4+mKSyHZCNpwZRJXoSMXu1ycXFkoLyxpvxx4+U9Iph2QY8xws+wPCDvtAc5yAAPdVmW7HLSNBTN76vqSS+X2jzzwLxXT76ZS2aEBa0g7c5mcCMdHGxGtJU6RHzKA/YBiqL54nA3/DQcSXf4cNeJHB6mu7OJ0+Qojlsnk2436CGdUHKah3wsq0x8oJqWygZleiJmDimuT1w711hZkOSyMC0/P9knqVU4hdL9Lu8+KGPizXLs4dmuna2Pr8E/WeaOO/+wAn7zIkT9cjSP0UM66lwcv/6bevvnrweIIOidUIMKC6OXlrx0NWP0lqqLdZHS8qqtHAcbrYsCnvZ7svcSCQaAdi/hzbYPJgiUlMzBwitM/p1d5/UUFmw6Y3n6o8iDztdtnJ378+bcqvCl5yXWKKrf7o5ZpxSDIgwegV3kN7+LKi3W5O/JJkiAsghGdchwnUW7djKDzL1Y3yW3D6/B2OqGzgv7MVWZ8PF+wUxPO6scC9SAue3RQitHxYCOjH/sbQQJqzXQBz+WQw6+eDTWwF7a3aASyyzVTs1vc79j1ZWE1R5Qtc6w2sNDituBmO3G7dCRx0MCCNhvp8LTCvgygYNBuCtzlWV4GAB7Te3aC1JxhL0sSdTfGcjzctCzsFaUWgMvKtWLa3CpVWFsSC+hcxXclAOmoVIg4aobF0rFXUq6y60Lc5fO7YxuDvjR+90RjSqDc4pFy0s1lGojxUZZOp7lEOepOTRfFvIDZZj1rMLxlM6EWYidtgFz4sh4X2AZgwEi2/oJvqu7JOT6mWQqetahWPTKCCN/fUnfNtUaWnMcSMqTClgVZJ7LkQPoPWC7xs1bJdtfH49YiYuRiJF48itftlmqP+Cr/3Y4d6927WcJeBs7asQVoiysaS+q1bWzTvNrrzp/toQDIdOr9Xfn1C8JIOvFdcfdqcIu+dJKki0SGQgde4Bf4JxDo4ZJqa1b+8aTDG+HAkCDanrw423l4jK7OcFjafR2wmFKRZTf6mD4ngJdpiQNLO8MuGwy9r6+FeubekRHs/wgr3gyL2cWygo73B6BOfHTzoStyPvN4xcmwKHGG9dV1bA0O1w49lde3xMU0ihTZCMUOS4c/WOHF0A3Z6GtmSfaCSoLYaIo9YpiO03CvhH3ob8THfFDVGn8ywp/bHtZaQ7+wuYTQpp9UX8fo7Vy7adqzgJYoWsdqRIdkTUMPMSEhbDsrNItNwPlsbV1Yj6216IFJPNoY/5Pjdmi9pFVkQo8ZPtTnShEstDNMYiTuXDM2hjmvCkfI9OZzjQ+BS3ZDkMJvVY4vhlD8Jwul8nov/rV/qT9VnE71eVh2YKKnaeJRZCOAedfC2B0xeKJfqIl8KTXtkpmP3XMPGxNMbGppgRhMnW7PWSIQSsNmjmL8S1/xXXkkfh113Z6eA11c/oX9+CBdvUysluG0a6+yODegiQGPD4euDycOUwBH3foyVV5MkhRJQh8YaQsOgpedhB7dIRnyZqvPJshLaM6hdO6J9tVybtH9TdUMXk7cGB6bZiQb4Mw2BaBLXDT51tFtgS1waE9J5sZ2bV/SAYUxAuvJQTNQOSHXO1HT1hvUVJV+SDYb0HZRfXTkLtQTmogNwyW6oRtkYtbW6qs7EhC0n7UBGonXCsFxp7s6arh6HMKidi9rrj7JXxkx1SShYu5pokORabR2k7Z/ur39J5JkrgC99q8qWaSKnZkQYYz3CEK9NqUj/CtCMtqQiMLEsHJvlYK0jK31VVX0y22VFaP2Kqoh8WgZP33ygR7ud04/0+4uSup6oAn1thkWcxxhKusoycUNlHEjsqHDAxxtVVQRhsyjWwcrVdVJdD7VKaczJEdBH2iLL+tI5c+RjoztIOxPzpa1+/P/y2Se76zMk8Egj1O6UXJF5rSEvrbniN3nGtixxomLQD0UBstl4Zg2igptiut4DZYZ6caaZLLBsCAP9alRiXrqmZ/phfmrMu2DPU+ZjbMcqBnik6v0XTi/s0byxEwGPIoJrgQ1nxRX65lC47NPEvCNCu8Ows5JijJLm4oSLABVKYKTbxwmMA3wCm7J5o/GDWbPCrZ8TWX8Tp90LX4SZgqwJzE1zuE4xpwFO6IPF4sA/yGAqDv4WMh8VwAa54AJZIpfuBSfWz0PnSPQUR9nPhhY/LCqbX2FzOQtWYRRUsMVwjutGIPJtbkYKR5Ix/qjnf0KEb6JxG1APrWJnsTGhsEcUg4H/H32QSZ4QhNtgQoCe61EQX5AU0xDwmBqDox7hqst/IFVlH+/Xj2u9Uy1FAUdoSxNAkHOjXWBsyEIJIjRpPuOg/kaCZ+NR5jW/rnWF5hm2cUwjKj2AQMt4Bxsk7VfVm2FFx4AT1UAY1sIj7mVZ1WdyYkMwEgq6A3S8wcpJVNGqeGtN4ejWH84M+6XvE+cnoiHioQYbjGpWdrrlBn9liCSEkHOINmoR7BNFTtwhyYHy2t276xvS05kJrTaNxLXIK6kNZxX4CaiYPB+21A9709PLx5PJduT4oTZ4MjKTBrpF+sdyX82e4nnzmnHi8VOn9VEZ/nb0G9SYdLVAxceAsb+K/Iy0Mb33oNcRknYVQ7GPUFr4M5URJwOzmwoNeQFnOG/pkUY1LyRyPhHw53YdKWahWiUibi8Oh6kNu3sk75nexmZAzk8cb+2o7gJ2lovwTO6SdfV+aM//BAv9QpS02Zfp0O42JJvm1ZQ3MOG7eFR67IW9M+rnHWx4GXwYl4PcfakQp+4876TDME2zr6Cgz18A7DvgyY4BBolwLN+EcjfJKiaGgWBiUWAFaP9pLMXVOzTpg0F5cMK2MRd3eiMn0aKjuncSHfi/IHjJ85gHnJWjtWdjkrE802Xp6eD52UOQ3UX6/yz4Gnq7+T5xw5yKEL3R4Lp1AyZDDKYZcnLcjxDA7zUy0e+vQDWRxLMlrwvLfNORO/6AT5KjmVbujPXtU7eRObG8wj8ipGnz8Ujc2Pcm+/3l8zyHDhmk3FZCCJPnmdy9Xy4k5WhwhdXCWz1CMMxvQ7peCX7t8nUNgT675x8sSsQdE8vXAlhR8Ho1rWNHZD0bjjynWACl7RREqo6BH7UfEpHcmEtE9qBmrTHf6q+7vLUcSbR9SXkTSsOjoLGqBG0CN83KmdNNjRmODKV1hleuSst1DAa8kR+N+T76oxyHJ1T4JjpGIIKUpKQObHlqaYJohhQoFNzinVYL1Q+sQGsr4vLHdotVT6f1k5ERkAbv+k6tZOe+oUOHxrf7w8PBo5JDq6GFCQJn8qDiOb0zFc5YbmW5POB3fzHt+vwfZ8/2Eg8l3a1Xv0Cc+hvaMBpmvmHl6EUwPZ6VJOpkWjAfjTWzPDEqdnbDJfAgldbBcWMYHoFXYprWJOlmfRJL3Q8nHbzqbG8XzdQ3qmqdjWF9hiz7WV5AppwvThICiAD+PdoS+a0XlYCL6Vh0NUibW+/wiTFs/bqtIfIyfqIitXGururXwFv/SSDFta3wSEzqYsQl2+RYgcIJBaqkNoCiccv4gkwfIiI4JaOzM8nBjkOg+V8hgz7ZEws8PQHa394777vc0JASTJnbNYOZeHKavXYz8GfB4L9C0EbfuCoPJ1WI0Q4ykVsO0vbPiurtxfVFEoF6Wr44zhsaGssb46fkJFm4XagF96SPCT7vptw9nAx1KwSsyfO0BSao1eD0F/QNq38kY7sIoW6+CHWRVaDugxn4YEr71LmwJVWyAdw58uwecjwclnmxoyZrNicAaTTChBC2mkqs1q+zNoGmhjqtPBg5q5YlNrxjm7fDF30Ojx98TVxdU8j7NuCq/1q86rFt+yP+XnWwoQCs/Ndho61HFs6cXJHusNd7aG9CEJJ7kjUmpxe45CRHByMiZXKiVVGliA9pttWlzOGY7CVIYGF1NnaEwpOCj6AvY6rfQnsFHSP9kp0KPUCgv4UQvlFZe9slMN9FauIPIeGjaXG5/1bD0PtaRPbhMVkeEj5pEo0WUUe2FFOAFcOeDTKnDODy39PIz+etHKClhtVpSek5fZIde3D+z6w+0mb+pJOskSjlKEi2d8QzHQZQ8CwaDjZe1a4vQCl40jdyrKqtTUU1sHPqJSWNrCdkTXYXKe4xJCXdbg3rM5Q0wxRijIMXhYGIER4M7Wb5qGzPD3/U5vyHCF9kDZ0NLOZJLOJFiiLPBnl49faGyFSDNm/FGISxnPOgjRVLpvqsjRF3yD4tvrBmS4AsZmKS5BeeOYOnkWKqRxYkhC8ZvDVYlEGKX46HjErP6pgx2WktQD15CFJ+n8cR4HezrFH/RNnIhyOKr5K2pD6UJPA3YDd8SQbOiEDrAW5eeAi1cQKQw/MdPNtNJgU/kYZHccppFkO8HIxol4F3QARVImQZ0FqaCgJrQgYmHZEMtR7FHRuhUZdokjy3MlgdOLV/fwYgK6J1/iUHGS5xtGAjfTz22IailAbHzUe1j+eiqrRVEMS5YPeZYxqRjxKVN8gEJtWGESrVA2mUPQSNtfOivJbem7mPmPXNTgir6yTO5EyN1UlF6XFIwjsDsZ82iK7LilMPE82Q+GGVtq0CTNHdZJTB82fNKj73lnvO4WSpYV+75E2tte1j23ns3z9UB0/zysoAWCeVIVU/zSNwAxH0PWldXtrOHvPm0VyvYUkKz2VB8LJwxNV+Eajyv4k6eGQMSX+G3nRTB3+Y2YIQsqdrDP8LJBmD3IM8ZxKGRvrrreJoOwJ+CV8InAW0HxqR7HYzmQwjRisYefIxseXEw54N+9kQTeDr7DvQlERYQU/VGOFPj+c4PLZff9a/vy5vPBUTbiqrSnec/dHbNd9cM+12J6cd1JTIMiIsW/eLjD9o9riseNysXbhQTygH24EB1wTMuSjJwwiUNo2UgMLzYJva93wTkUtXIcLIC5z+rIsLkotfLikR2jMpXUQ55Duze4e6T/d7T4WGORdTPiWumFtcdvbeyLoVmxKWJFn32aNH2wRKPBmVULpCccpXdW4lz6iiQxSqdi1dtD1xbuu2tn5P5kZ6z54iUtAddoHlv3nr5epE28l5iysabwP5klodUwrtPPec28KMQWSW7o3Ell7TM2fH8kPedFGwjEISSSoQrAokTG07FVltre9xIt+fcOFLgvDpDl0fxCD3QdrwEATX7ZV1cxYQ9KtNXV2kW23LWEUZjqyvO1GAMR1po1Vgv/orn5m0lmg3u3yx/iDAORNYMOQNj5g8vTIWl+ejhE/NSpjXqmYsRG45aDX10aRUdmIwiEa2vKLpNeCsE2ti2oNaTH+LOMyWVvmvhMbVwRrV3lldX+TLSO98VUen/TlMxC0xOXyzheJDrCA8RDH0hKAkn+YRxUeAGw6Dd/6foCUjbUcFXxpB11odPL1ev2R0ThNZq4Z+xaOR85Js1hyNYe/zK4aEiIZq7AoRhdGhNFMHOSmyY13X3DYz8Uh7qRkzaBNJH4k+tPW62Re6E5DBGBBjR3nejCFxOETRlpf6p1tKcf5RvwUJthP5tINoiBfBpEHXSG3jBHnvsj17mno0NJhpaWm0p8+gs1AX73Hg7T2QU/hFXcA7ZQxSg8m9i5vC10KDeRECc0W1X54M7Sa8qyn6FnDpUVBS53u9gSdRneSoMLm22kw+W1srtS9pChTaRCYDEIMCfHvlQTgvW2taZMGRcxOL6sXtdYW5LnqIQHPVSOEuROD0AFnRr97ROa0F8yXn/6sHGeudjeFL4Cw8A8aCE8zhj8Ok7KXQ5gOszp/X6/BYHqXh/6v3+F8/n+C6qZlie8nN1EohczQ0zDPgaNoOp1Jp3AhvvuBXNH+yrr2p+Y9JunYzge9QXfWs87pmlGHQzKXlTcPCuv5lRDVSEFnypNNMe5jwShMhToQfwX+jDLsQChBxhgUUzXDIhlmVa7c+uObHJf9M1JMjY0isZrc9J9NCxwbJJtcVtJg86iyul+vYDSN6HT856Xjjj4SpdhCw50uqvgTm6jWgyxwAqsiHXDx9kiari2ROUneUlUVGF/SBwkEPqAUulinQyxC9H1j93ntKa+F9vHv8u59DJp7Yg4DbshSYFdXoKZjs1wM/1BAK8gpcGt0sPLulMkmsTIs1fQFmmqshZMMotrhHktS9RPBugUkDBbQXHD/rgL/MNhR5ESAJD0sDPMBDRm2yJHDKMggJQfKbOWgVcLulB2tyiceysrJSjJt0Ch4wCzo4r+6KN2Oi3iblS1XSXwY7kZdo1tk2MR3kt9gXQKenMYGxiIqwCuZHPE2/ledGUgJSVFHT6lVZjz3hqI3PQZrMAUJsKjLCl4aFnWShtQkB1TgErVlCKJWuxChU3DX3O1jmdDi8bkIa6+lRxSCJDs8zNufXwyr9Uxbs2wcC8sMH0UJX1DSd/k1p05NfXX3ba4vK/bNWVQYmL6/1t8cZLc+D7OKEoAjcPReDFWwumrCXTHSTtrx492tPlsO66LQVZWKINoLfES2aIoQfHdu71/gr9n4HbtqF4Lu1ypr1rKG53bsVkwoi6H8s2rRCUtUrELkxF9BYZresLMeuigrPtqbwUJTxugvjG5dV/Vn/luUE74UVh1rFlJkLa6NXu5ZekLv98lGz5uvqBr3+C38g8mY8Rs1ZM2fW7taCl/yaCN2E4G2+mi6DcIiqQCfTYJ5uQer3FYtDFUXTj9lkfvnOh7/dXhcaCLjmoW2+0OXrKoMelHe6DZvRVpQg+aQdr5TXm7GvsMnEaUEejphkeyId97dc+894DuF5+P792QesoRBqpuq9OcpcAcvuG2yKKbAfrnp7p7cj+kUTGGHpzp2EYOqoox4WBWbfkKBioBoGvUvSG5GOfNhyqykNbcX4/ghc38A6uiBONaWRHycEl9Oihi0MNQ+OvjsNhToDmtOtcJRFgor8Ys+TT7tvbav1QfDVZYhSUrTYQsATX+mGWomrwtnAj9/REB6R2LCPalwbf5DzPjvUcDb4S84PIooK+fyPuUV2IdZqLZSkwpiuoWZkZkOgjJJOLejTA+xQZ4F1UdeZ0FejweRHrIFE+9u4/An56IRrvuCSdUZN8Wqa1WuDIXNFqsuCSr/KJHijbwAJSg2Q1hc1Lfb1X0tK1Bd79b8b2OviWHESWMEo7UdUiWAo7nwQfWxuVLXFjBzwUorFAW5ZEgFgfIfKB4xuvgZ81g52JZScoXVACRLcAlF4LcOCyXa38BQsDuN8Z23K6gTe3HqkVlaHnkNJhhvh2X1TtekzxyAUZSY4GAYJmSLCbiKjrp6a3mBw8fH5HkKsTQ+7btp7Tpa5BKbIQ7VN0hv58Qq5Krn9vXBWpGsUMzO0fknQOXRUT8YUFiHmMAfctNcEY9p3NCt3snG2J4FadFRN/RE+oL1jR4Bdk4WZCU36Er+semw87bUxnAgaTAscSJWyob3eFNA/Iho7yQwLuTInQ6xOsvD0VFlVRoCFcpxGxa4RKXs/FCi9mTPMeSj0ngas4MOCDEfLYiD9JZMvf8wYR33Q7C4HmL0X9D1c/pp8RzSSi665wx2xcDluC52vqvq9AsdlgfEzF7r0g5G4/2VC0kMmO8rRfIyfADGgLp23a9PqC3sMOJ/izXxLhP2oa66tFt9hDZ6Yg0a73hg3Rcx1WzhfTNUn9cmM/VYoh8SOo3Zdx9gu9/fJJwV7o1TOvRAGa6HtXAeenucRd5oJKtGuJktZsaVEqIh+L+/kpxgMNQHe882MoT/dK91deiL7c2JG5cRehVgBr+4sT0pFAKw7g74ayaGeClAuQ+t7I80m1INoKiMrZt1WKcTOyLJTK4ZnZDTPK/K7b4DZRjX1aUOn9tmszDnjWpnk7+/xvojf3xzRYBOa5qjigvQNrTdNYpXtB8lLdP7rcQrPeGAKP6le1p938ag4pcsLQa/19ys6px81/kQBIXgub1hOQgr9OFSvpK2M9DjJ8Dx2VD7YWzcK0S71F3bO2rMCadB2u6VrbUTqiJ+MVnyBq90ZyX+JKno7VA6f4YuFo+VCLDYqLU2Q48wQkP93wSw+BOKl4KB05/pjr/1H/X1ChS+JxQs4U5+EWnkpQk+wydCXbfty/6aeozqIrJ3rj3LldyHsqh+8kIsRF+JV49onYkPpfqItE42QY2yppKOsxTqQ1dW+CCv8aF+qsySBNX5+yHeHneOmI4h7lUjp70O48ZgsaSg8mYq1WoD42vOwWFXwP5x+HoLFcamjzHL8TS+vDLyLRTkhopozBavySoKfltz32INoQ6wlZQGcVaPRlilhOvIPUt580a4KD0niAPsRCUMxFhwKDmAY9WuEOCWDuP3sioaS78m1NGvWjZ0d1keAF5eCXmAc6AxPBsnoq8CMXVjwMzVTXZZiEVDml74OD38yBPV62iJMGovcczLZf2w0nUykLjdqsI0Om3gnTP/TAY9cxurUvUjcQC6EWcFx1HAIxnuxEXQC2YwQ05R18r5dJUTLJdf4rKiIP57TiQjoEeee284XUadhc7wW19dTLM7Cd56bWTxx+nSn0hT9FBlCp0PTeVRTw88Q/H2rN3gpL3AvQLOuVHTlpj6/MUD+2LE9EX9D688TNH5YfUT9xuMSboMpfamNls80aPFyxBqeKesUKCfpDsj0+gRtro/J2tkojxeH8L0coaIX+0LJYZfVP8LBsfU7vFXbjzdOJ6Kt/4vXWFPVODhiMpegmJsVpa0esQn8DESOoAIETdfJ2j0dRedDI/N+SpBYX1yVjID8T8KyNjKump+luJiZF7VPL4Vpn90oG/8AHDHUGwX2INDDi7tkbm4tfFv3nzhUZY35xKSoAQjB9CPmX/SI/E5ZNh6SOqWsTqz3xG9IPG7vTp3agXh4AFe976tjQ8dg2XTyquoQ+JjqVMn7g8uZeSWuexHLxibVxyw3odotWNvoFZBJLLPt+4VpA0/PjWtS1GG3nQxZ1IM11YWGFq1siMWM/+QcaDFzEx39Pa+NNs81WKinwIs4A9wMUwxO3U3CREipdt57cC2giGtRvmQOohHGAcfsIImaLzGQVtF1KitYbld5JsXrjy/XOXZtTNFSe0IWJ9qEtGGUB6c4pL7uiXDq96G446vKPZXvRmPGC6Crek7V9SDuH+UtZgjmK57t0Qey0ESYG2lwtgHtoBosclozNHH0WT/91Rn13+CGS4F2beqIiKBCOc3nkyQOQjuHM5uFu5OnU+BcBTRKhcEnHPQc6m8QExulfmrAJK5JJpVLqSb4UpnBmTYhCZOhJCXZ9k8kghSvnDOryNDp9yH4fAi3a5T0YPM1icZHaDKf2fDD3tXvvVpPx+UXsZlNZ2JgX0XKJMKpFrO8Mp/WUd+NYYaAsP4sxaT28jR3nq3byVesr2oo+BF4F9Wjx3H7SEz+NV9/Xa1z+iNI4puETXNXXA0n9Zg+ndYC0fOhdQ/DzTZD0L7VB6m+ZGQAHUG1od2AbfRUVBBpa5wTI0jKzawHA9n31YGrFx+sH368hIzE+b/llWRura9t7La7CYUiKR4hRsYzqTZ+INb8G4iM8koGNxSJAIhDZTraWP37qKJMx8Zkqw8g/hdxzHieHVnDeHhPXR1MSyrgDTcuq9m1det/ctH9ln7+J85ZEfJuM2X1dQfwWCSM3Q9GsB2oQ+gD3j4Vc+q9D5fs8bW2PIb2yGlyMeZfIWQPpljZi0BBOf/rMt+nftX8AhFIA0jWGbD0dYg8KD2e4CUESoiueRzztw+inmIg7bjdZWHvaYqpXUKGPlfdW3czuEMcrftP1tKSl16qMLTAooS8IN8jO8+1tipwETKFHnAL9AG/og4Pmcl3yjHj87iu7/bHLDfbWXqTyKDAqyKvj1fFlxAeCIJh2qziWeCf4QCqzfeuX3WIwAz/6TlwwoQvGQgMPZwa1IeyHPycqTmwYnByC1kKldS1K+r48R5Tlt8FjruGMc1X2PT0FueNqhoWaC51VpqfmOXiZ8Cj38chmhXzZh6m+CNaHBZ6NpRXzsbQ9dCAJQLqTzyjd5QUsYtTrFVEjXpgy41BkKqgHT8TvnKWZsE1MkhMAoSVPyCVHKsZt37mVE3Ym4IIDRduDJYDxldcv6rN8xHokIoJyQBvhj9Ob0xk9hV4bP1dAk0KT9aGDSWOIrEBYKpGWNVyyhvD3RHPzBFcycWG94DTYZKNNp9sqKs7KtNqCqCDoqIiegAoKlMznEsXzX2tQue4V3hQOXImPwwwzlZoeCdRpvpNWaVWhMKcJ0PA1LOctR8IVR7vUB5sj/LZnY6HaRIBTEqreMM1SzVTuhLcGpsnzJyJbF/6FIRvWJHq+4HmLW0uN7PtcDUAooHLMVl97MDOw9U7CERCUnVJKFjrAawB7m4CnAeskpfmtFjTVq3C8Ld5HO/zlpOJw2d7Y+QW2ojMtLHC49Bub/I2Rpagv2tNxjgrO8MRAii5hGHZS1C7dy1D68UmI0xzcNwMSN1eTrdZ6g3FZkZi2szSgLclBK05KxJWQsuN/g+9mY64840fvVaqWmRQuNLbQZpTo3P8PYD+dqazhn/UGe17AqJqznZLDAt9aPcOK8VeB0tpJXb1rrAwzsOcHgCo0IIiqbtSrdzfHCWZBCb82UEsrTrGuAvcumMhpQk/z/NxOrywsl55D0L7XQijDGCzj1Bi2nWEjrX1Bcg6IVAY+YzAZmtQeAEu+QeCunkxbMy/MyGjOEdgP0EOwDCNMfs5aOEjhFEOw1prbApFnrioe05T+er3FJSWGgdHegpCg3aB3W7T6vdeqjjK79D6pn/w+xMmfLPSuQyUrElDsPN2FgKk9Q5F+hAIy8kspb7OiU7UVYr/9dD3VdsKMWrku+aEC57ricakwfx5Gx9+ETGNeV/s3FmLkmLNAm8rKOSAk3YEvMCDwLtWz8g4asHoupwKzYbBjuqzUGxzWBK5dutDpJKS8KMkxPWqcYXyVwYPa5mtz2n9XmbElDjK10OMRyg7FaAQ4tT6+8R7zeDSwO9LSIJY3mQHrwCl37LKwF/glJssgzcA5S8+TnYLARRuWAANjTjOPHaGeXm4K+NG4iwkk4rZv2Vj9Y/Lj4oGIPtNJKAOvvqZt8+aX1rqLgC5Gyah9u3LT9fUUPElTMx8d2tt+SFBMDcjuoLu2J67BNl/nGHRdltY6hQ4Fso1kY0irvPv7dwpg35J8yRCiGQWEg3AxETH5KyG9oO8BSO3HgT5pC0g3v4LoiT6ISd/jhSs/R7QBrvXH7lRSW23qMrgVv/ttLO/2d0QnPAyaEXJ2EzGtarN6HcIqfYiWiPTWVjYImSJb2CvX+m1uyFy+3Zf+PXN3sgnhBMZP0sIcA6qy7jt9aGpu5viuZb8bt2BJU6Eo+YtWBLvoXDoiBQ6KoOy9HN4BM9uqA+fDHgILgFUrmbUyRRn3IlEgacRyvacwDteGQBFgDhYBrVzNpLnvgqbBekTaSdIfjyr6qQ8sqjJ3/+XDiLUCC0kUms/11XqEPiTOQ3EObWaOcNpcuOHXXfrucTsT4wJgbPc1bu2hCVzikdgrxQY/lXGNN6DrvMgSgBfoccbEKv9UwJQ4nfNr71GXgrr5CbMfxes33k8bbx6Jap3T+mfFXNZhN0oUQQIngohY+5HaKFHre9DsHi21Qf6kOuMunqay69q9zI69QkA5iRVZ0eRcj9vbVl1CPH8c1SGehS+jFQ7Td+mx2t3TwbnMKnDNujqW88zDQbEV4a8u+5g0ZmYD6T/R7XxP/jHCZtsAgU/MkM5bZRZQGVntzysRF90hQNnMzRXWue2FxVVJspPkx0OvAZXIOa0yYQ/qrymqa7UV7lpFPKxE0H8X5b5plT55E95mumD2DtW0syRTImv5yrk/JMF9CrMFAg1kHuDOAWldiRI4MR9W79C70VKIQUOEQY7aDwIc+a4Jjn5HTz8KQ6e4zFhGrmwJs2YPv1n2jS5Pwg4MiHokB2JfDuGuxPnv4QTpyJWsRxFNu+1ivKc0WlpUe/6JYfcnDkNmsIKaIPtVJ15mOLpt5HTPszpLKSP3YGX1NXZ0kWxG4JRT05iky5YgeJ+aFYzJzFZMKTWGzHJqhuVjwDjFANPv9hgtO/sEmoggjsDIVtfsqZCcPSkqGwcIiTkW33BG3bVh4f+kiAmfacV9X3AR+tQcHSKx57yEZIS3sUCuwla715OoWeLKIxZ3Bj5O4KgH4bFksay7Ef4fiMSVB4/bUj2NYsXL24WwBPAGQwnJEjIDDZcVtYsWIkWqzG2O0DENB/FTjPxuL4AyTmyRY1HoF0nk/tvqQ/fAULo0eAB6a0a+ivQ8NtjTB0wExs4QYMKTdtZT9pJdXJgOeCS7+GAvYfjWL9oMlezUvz9h5cuLdtauX/jl288tyfY6Ev7tsrfmzhwyL9eGXnp/kb5rBmfFTXPU1mX4aNV+2SNI0Eq/zcP4uRtiFXtU9jYYybHyPCL7EBMe8AfU10dsjpdtbLG1zXBuUAEMKmCXFUSWgTb5uGg0nhPZYX+8uj2yUXHM92/LvEOAavedPDkpSHrbSsIqmac1zGdQHfNR1hVM1GcPIoIlAeV2v078eFRazgoRwTkjV9EyKCgrYZEynxmQ/mOYjywx8D3fBvBkecBUsh3OYpTOObF2srIhgndMsvI+iAKTu/MggthAaVFdc2/u+rQPvJ5a0jlSDP+oy8nTPhWlQVqYfKXAF+7xcI6+q5qRYZCesQI7OkI3o9E4sreyYWFLZrpQGhVBpiQgCvaabAhZWd7pnRKyTmZOIoSI+HiGT+gij0wKRZCIK6Gg22UReQnaH6/feF+b8dMa/qn2DmvtzC0HSb+cIdguQ0B9e1nHgndIgtuOx6ApOsn8wxnQYqxHmI5QrD8M2GauCd5BUKAirbQxEwmEDNBvtUGlEHOw8LPAOcEAX1Xq5J0q6pQV4OC5ELdwl9iBqreHpmZSWjtTCJci71lW0FEfhPqmjyhmkaUpY1zTJN7tyY5cNk8OB3J9RKHTaYzNFovESltDnIIdolOFNmBXEx8/9MraEEMCpTCBnhs6e+iYhzRNcaGCKiIOZq/A5WD11sEdhA2nscZk1NQR2dCx7rG/lt8vizirEiM00/Xo6iPUbrIggwhZD08ZNDMWgGuWaSJ2hmDnrNs28paa/tup2G3vR4bajpgjp1exXi/MeR7DnNgFzaX2/MHDkwh1yMTHGFNDbiGW7CmAsKhaWIVwex8H18fRMgb748YYGGjK7C5RutRdXYe6CjhpLwIv1E1HbxolF6rKtwBLMwmFF293dCYs9DXDEOjz+6UkxOFKfQASoLfzmvRjwiByrw5rx4iZZzIAiPZjzGBO8tK0V13OTt1MDp16iDRYmoyz0b7Dc4c9c+D9ReWxORTUQ4j22Pt38bYth6V/7/fk/Ei6cPx2sgGJ8tvyrAK+0RRqNEUbUhjlDq3x5V13VrPFZLEgqig4HU9ejRdOzw1fDxhRkpYIYziKViR+RFNb0Qo5wPFVXubKU0TIwrOhrlZVn6ikWTOH48s18TniVe3xaEg8Qm6iogC29ONwKZVu4hyVuYr3RSQ1GUxhXr9jeKaflTJ1rKq0vA3JLSO/JZUsOYF+swwyM3sDLcKBFGbST8T1/1vvp4w4XsGdk6E8zyDAH63xtJvJzVEbyGOkbIolbmprmkCogXuBMD9GSuZVehwi9DriIKaycn2Vb6I9gaqSTyCxdwc8ZAf79FyTqxOXiSw0b+ZPmVqhNIv5Xn6bEWOzvZ7PBFKkvyoHvkhFvjjcG49CQ16OczlvshGSAE7WPNiYrr07eVlTZgo9OPweroR25gqqNTf3t/XMJyEmR37AIiAIEfc/H/tXQtwVeWdP6/vnHPfyc0LkjRAEnmDCgiyaoEFZMms066Wbq2t49gu2p2123U77exstezsdIdtZVW0au3UDnW6U3VnocrqCkJsJEQeIVIhvJOQXPK4SW5y3+d99vdPvHINpGAnHdg2ZwZucnPuOed+5zv/7//4/X8/pwYGnYUVKR5Cs+LY/eh3CmcAOwYfsSuie6bTlrUzh17eerwRhbS1xd7uO0E8Q4aXQjd0/Sh04++qCXd1DQw/rfLS/WDbOgwscRVUGX5QwPmX5od4faDpy2h8bVoSV8UH4m1P19cTFeUnPAK6hlJWEAYJ6ReRGxjUAbK+tagomTCSTykKeAuQn7VNHmrCDGrL7i7ICYWwQAFLLU4VePkJxSuu+1w09TAZ/kakAkhWhx4wmuAzywrao1Z6W9dg9qcYuwbcmww05JZPmXWravPOfYh0QjIn/gTe8JwCkX+pNFC4CMdGCOTCtvkRlYyOP5AtB0WbT4K1LrgJjSV0za8+/e9dsMz/hUzRytIQ24x6wb34atuKKyuTvXLchGAJA+9HUcg2XoDAxYsBXgwAofLPeK9UcPm5yK5sQSPO7ebAQHhuZTB2SzjcRRAkWuDyQ0ny0s4OZ/mBrKZVFClrMpb33rSur45DWQTe05IiD5ta4fOHvJKsJMVTI946Xd+f8kaGS3bj9Y5hHkRzwhcNy34TWP1XDC4V+f5l5t/YsaJnBwIGPnofQqveXtP9AdrLl6LQ7Cq89G/JZKQxF9XmPvvl6rJoOtO796t5FKV0nAMwns2APMaN5AqkHC9gDtYe6UvcmosS6XkKqXITEsjb9UR6BOVDud13IkMLXu/oRSetAMUXN+rN2Dsp8mx9+UWyP9fFNqFQMyrqlBeUrYXN+y4evFnID2YROiKXz/vhQb1u6NKm5ZWebkDSFG76dG4GzyMVgeH8aKOEfOXydaESLZrOkWFQiKoX1cyLq9KFgz/ZMlKgg8KB2vziiyMgaLpB7e3typsZn1QCxCynpUXLU8gGTjYMP7J+/YiH/S5kfmxJWS3wThmuK4C0RTlYxyp0SFIFPNYvxraW1ncl1inMBRzNqQPCogztsedhDb4dsD3vrp5N6hAXFw9qjjDAWQtV07kZy32sX4s+czkplvoIyHEkCczo/LM9sc79FJ5RyqU0UHajzon/Ca+5GpQUj6dS9tYcV/A7qORidVwIHPNB3ortXYkcam6s8l9p3GatX18EAuIqFClP5nCQZOyXqKXAPacFSwhB+secj8nYAJfADTK7y7TYYyZvH5Fs8WwaxRavh/09YFiRrJH4Ya64kTsP8Q6bvHqHblghj2i8YQrePYhkSmPJ1J8rsheNddzfwoDeibxrBboS348l7btXTh/FFjfgQRBFGFembnOGu2IfIK9H7cJUCIRe/B7LFHbKjAe1BjfHFtyfWm2nfsGqZt4LDuZvADv9AdIpisKZv2pOJ/ZO40PeUl/AHtaTK4DZ3Yb7+WvX5L89njQMzY832qPE7vYhkBqqbiDnb5sJLm2m+CCLg+vTEQtlvb+7G8RGr4Fk59rlAHNjfb28Ug580QMPTysw3dRnQRGKaELyyzJ/JaKZXR2Ds9FI8UOEggdAwVoNgdINKMgFsBa/lDS079x/FV2SzT3JYlvi5jDHuU2SxRiesSIs9jxEVttdXmu4sehi2y85DlqMCXm4cB7t7Q8h/QdFVLtRMBJHxnt2ruVYT6jxpS/yFtBIJZ3RCtGnghyHR/FD4CyTa0EOsv7N556Ikley6/zQeljcmyWPufPcjq4TOdYielDIGJPBpY4aIrGhY1bdtm4DundbE7KSUmMpKVxVmDp/OopsVMiVUjFlSlhJjjUW9LncRpPozq99TWlJKOIMcNx5igWhJ2IoWSZkHpxVTIDtjxcA+szurtidSCPcbTjuFHTDBfszVhmylkzl+EenVxfvgkcNKlzItXQN3g0xxm8i57g0bZsqjO/uICduYZnIPvJ4c+enfdGCudnLxL8Z1M3NgMI8twEFAvo7mJoKbFa4F5dwI/Jhjylq4dZAZ7M+VDy9VlRYdTprLMP69SujdsqpHP7xLAoWRn+/N5uUshCtJHTEyPXTuOUKnW1DQ6GEq84bTvQdWYXoYj86ABWxYLotOotQOmtFDvYuj8A3YRH6B9uSvse8wpCmGa/CV/0fxRFe2zHFfwljWSsWi3gwKO5Cg8zdC295HTfrJoc3lm5/5pluatqAXgAxSz0Kspofp4LqK9S1SN+RVCtcmbuHOcIpFEuDoQL29qKAf2Dj4WbpG1Uzt9sC3yJktOdFn+dbSEPcj8W7EZ11/4o21IBXdDxqSD0XP3asB99tBO5GxzwymHxABAE9+AQaTgx0HR4v10j7khfWBtrRqYEAP8L9YIRYdSkfwEqWuh3ecr4DQPtPbhdHgOYu/UZjtL8rWiMqSjXSPukPe04fWlO92FsT5ind8Ilo7B3MvVTM/EfD5R/yMQGkg5wHlbRDoAa4757qEkzfTz5vF8+GFnfwiyQseabMhMUCEzoszVohiOy8Iri+oZS1zcMy+s6PHK/c58jpKw6U3I6mo7M3Qzmb3m/oGf4sIr70QOrCh79rbuSOcS1eJ9z40pegG0be6FkITRfi96QQHyE5z33Bxt5EHR76mzSOj/CmnQC3StgvuX08k2TgVj2AawUUR5QMwUmkDVMPynKNIHH9NrCyCDtZQneGC+DFuBIP9TQHXb3SyUis49e/i1s2d+6reYVBVPWM5HXQ/D6M6pxfcL2uJgdKfGIEwphEqQekDc+/3RH7C4g2/iUq+WXo7CHHuxDeYAxqzF9fVxM8R/vR+WhfsDz9KCRxDycNbgAwtydgv3+T0viMyNiX4F0/mrUtOH/c50v6OxqMsjJJk/wbgF0biiazp99rO9qxFV48hWA+ppjw+BaAAi8MdFv7qcbf/Laurs4YCeeR39wERMYmnPO+R77vH7SGP2cNWTsIZ03XQR5yycqVnkBnp66Vz1zmER3kdqTlAoofaJW+yzCtJZqu/1NROjo4lzxzeBQlkn8ZFzNPShWyvuepFnCsjsKyzgym12R59yVU0uq9KrdF0YUhJ2Om+/1y4Gx32yAm/MjiQuc9CL2+Ydd6sFBk56BaUSAyoWHXc0+24ZpdtElvwQL2BYlz/sVh4iBvWqvBR/Wem+jbRXptn8EiXHfDDZeQFhFLnhnGY338uEapBTpP/kb30At5yGXgR26OJGoslV9pJe3dnMp/BZJV7weYvBg6cGlUXfaAv8PqsGKRB8aJLPKP+6f6M83hfd2x2xgvV2tmpkMNBrrQiH6PYIhvdaQ6z+QbONqXCNTRbFrnkeXHsYjOQl3g8YHzHz7xAEjYc2NI+x3tT8xEd2e16GQbkJW9BbWdYoY2Zl6RmjjTWIZKw0kAYFqG0kY7RVKEE0ZZ+zNLpxa1Hu5PT3EsqxKpYHSoCUuQ8trf9t5b/00pCYoqS6JR53JzI3f+a/36BzG+V/pS+3tTXwChWzLl6kHJVdIgoqkKylwCvKBCCkoGCM09wLwWWyB+RSUcGG5eQa7RBqdoG3KEnu6MWVjllwaQZnVQjZkGaEw8xdKvj+UavdJ1XO3faZKQcSNjQVvuc/SApwXBA9FOMWmIYjDI+RjPvLY+eGZsaEbpCT/HvhoHrwLwyKXotgHfh2tjYkIIVAKIw3k+lc48BZXk2J5IdKFrs/mMCRVo8IjFE/Yr5CkfG0x/BYuPB9nU03DggymIZaFLzuvaMmDGdgGaL4DEAp4ECxTyD4YSxgAABnxJREFUrjrniEXprP3j24GKyF1z7pUmZ7lYqhSit3ITWqS/t7puMxyYgb4L7c/mvPYmNGmkoBQgCHILVINqQYTUm+Tsg6LGw5jH9MrCqXcAmvQQ8vy1KPDByRG3HO/p+Hn+g0jnG8EYS0UP4otqw8ODb0Wyg4OUq2uNJMIQW/sPmQP3smNulwTjgMGYdOZESicC99xYH4ByNc95lrum2wtez1bbp1t+zo8GR8eWE1yNoXBQ7+LaIAwf0FNGOS8LqFMCdsi5i0KS9PNey1Q8vPh3nGVHJEWaYdr6LxHIzKLyJS+65bYBAkMf9/LyPyIZodx9nshX4hHRNLWAJYZSab8ykwnyGqSYTjiG5eWZ2I76Qoea5eKIxkaImuj5cKTAwkjG/lFAEoIB2b6/8Wdlxwk+SpjwTWvq/hrEWuVoht0HEi2wyAqzXdOuABnTmaGUHVa9UmPWzrabx45lyYi2dA2Um4ryJRjyM4XJvl3JginfRZoLDZ5cLyKm+UjRNfYno9vHPnsTOQYTeaxrYnx3INQWdL+NMFwo9Ghml8cjK6cGnNKZtXzb0Va7v7SE+7NyJhFnzIU+NEKM1M05rgJGSgEtxntOWpoxzTfi7STPq1JlwHbWLSwDCf744cxEDtp4x8oZ6fyCT25fSn0sve8RP5gcgIwwFoPJdj68ZAUIjD6U9A/EU/KxLy8IEaesu68nvhiTqtq1uSFTMM6zs8fbperqgN9X9DCMNJr5hH7MOB7SO4A3Q/9Zck+4Fl8pya6O2T6A1jq0izINEKpQVuP+F976ZUHvuWujVyq0OYI0T02k3p8/CgFyD/bEl2QdZ60jyQcdTZvl90hWQnf9THD29+8PH+LmtYoVRUUFIcU3D02D1Yop7J1VpnbgcB8vUHRs2vb1DP8VipJzMln32TDAZNSAQ5541YoVxYpcqn/wwbtavlc0+qnR/w9E4xs1h7XIVlITmHILUhJAwvAqHNaEzJgDeKgHKaFiAPSzgmuh9gIhVUfoR/dbWHD1eh4VWlsX10MLFXllkVrdjsJLmgNmvAv4dwxQnHXIt7/Z1fD24VwhJ//8kz+PjgDNbxJDoC4x0s8rtFiBR/EUW6ZR5UDgQLB53AZetizbUgOefW88ubmN0CbnK2umFTLfQ1LWfPnQbBhfFO3oWC1d8VqQen4HBecDvG42Mb+8QdOduDcg/PLCcUNLde5J59+PloGBctRzvwWiK/Bv26jnQPgUQr2IPHdLktMLcvXY2jwdv+v9vl0T43u9D8of8vpo0tUjJdM/iJQMcjIOKOyakI/Mr/5SoWxG3Cc2o7GZ+4jWjuSJyrzeCjMJCK5tMRhCBARGKsNYNnI8kQ1VozSFTS4rs5WmJl5fvtyFvrzQvHPnVbEz5fLiu/JkdqhrUVIcP7NTsYTrDYFYPgwWo88HRPH9aMUoBzCdk3LNhO0em4ujv+W2w93xtdBoWYCmiIgi2MNH32ivz+X6c/uM99oMQiWTk5D+NWKIhuYDahhHeFTMS64P8OHDIGdyfZKjw+jymusovM7LapA7nR4WMipLtg+pKlOTZhHSDBkURsWKgJTphG8WQxcGhBNlaNjNRnt16+UihPGuafJ9mD5shPYpNMqkklpFZBo/m5PYTdDMG/T5uSM3FxR0YpxGUnS7z8WCbe+8ltm4cePHqCFafGtWrP86ukirgM/eCiSS6GFmdlrBU6AJuLTwSftPv2PdIjgf0xAx3qHwzpOWIyrtw13trVBvuZzTcz3fp0njez3fnbxro4lOXgeKXi55E/3g5yUPJBea5+06YT/SOelgdA76+fnGsyXFlf4FNYbvt4tq/SPY5as92YFI4gakLFSvbvTFvE6KmkSu9rPEiDXVK88G/mnABzZwzgQC2TFV+vKQ7Uj0pkx7Jhaq04OKUI4GdNqmdnebO5NJlxY1unZKG9HDST/njxktOnNRxR+bKhk9yuT/n2YEKM3AdARGPs2KNDUZ+V7reMc53JtYiq7EWRYzdlxN8ROw1Xm8JC3MaPrh+p89dw61iUuak8Y71/X2/qTxvd7uyHV8PWSowlCQ+OZlCmBXumxqdKF9Vq1ahfrKxbz5lT6X+zvlqFFcs2nByb1Hr7/PsfI/P/nzpxsBWry4Da8K7qujcvSf7tOX7k33NVRUxMbCPS/dc/QdirJIELXphRey/9883bHfadL4jh2Ryd8nR2ByBCZkBMZGGRNy0D+ig/wfhqQxHeY9rMMAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/_static/prettify.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LmNvbSB7CiAgY29sb3I6ICM5M0ExQTE7Cn0KLmxpdCB7CiAgY29sb3I6ICMxOTVGOTE7Cn0KLnB1biwgLm9wbiwgLmNsbyB7CiAgY29sb3I6ICM5M0ExQTE7Cn0KLmZ1biB7CiAgY29sb3I6ICNEQzMyMkY7Cn0KLnN0ciwgLmF0diB7CiAgY29sb3I6ICNERDExNDQ7Cn0KLmt3ZCwgLmxpbmVudW1zIC50YWcgewogIGNvbG9yOiAjMUUzNDdCOwp9Ci50eXAsIC5hdG4sIC5kZWMsIC52YXIgewogIGNvbG9yOiB0ZWFsOwp9Ci5wbG4gewogIGNvbG9yOiAjNDg0ODRDOwp9Ci5wcmV0dHlwcmludCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGOTsKICBib3JkZXI6IDFweCBzb2xpZCAjRTFFMUU4OwogIHBhZGRpbmc6IDhweDsKfQoucHJldHR5cHJpbnQubGluZW51bXMgewogIGJveC1zaGFkb3c6IDQwcHggMCAwICNGQkZCRkMgaW5zZXQsIDQxcHggMCAwICNFQ0VDRjAgaW5zZXQ7Cn0Kb2wubGluZW51bXMgewogIG1hcmdpbjogMCAwIDAgMzNweDsKfQpvbC5saW5lbnVtcyBsaSB7CiAgY29sb3I6ICNCRUJFQzU7CiAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgcGFkZGluZy1sZWZ0OiAxMnB4OwogIHRleHQtc2hhZG93OiAwIDFweCAwICNGRkZGRkY7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/_static/prettify.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dmFyIHE9bnVsbDt3aW5kb3cuUFJfU0hPVUxEX1VTRV9DT05USU5VQVRJT049ITA7CihmdW5jdGlvbigpe2Z1bmN0aW9uIEwoYSl7ZnVuY3Rpb24gbShhKXt2YXIgZj1hLmNoYXJDb2RlQXQoMCk7aWYoZiE9PTkyKXJldHVybiBmO3ZhciBiPWEuY2hhckF0KDEpO3JldHVybihmPXJbYl0pP2Y6IjAiPD1iJiZiPD0iNyI/cGFyc2VJbnQoYS5zdWJzdHJpbmcoMSksOCk6Yj09PSJ1Inx8Yj09PSJ4Ij9wYXJzZUludChhLnN1YnN0cmluZygyKSwxNik6YS5jaGFyQ29kZUF0KDEpfWZ1bmN0aW9uIGUoYSl7aWYoYTwzMilyZXR1cm4oYTwxNj8iXFx4MCI6IlxceCIpK2EudG9TdHJpbmcoMTYpO2E9U3RyaW5nLmZyb21DaGFyQ29kZShhKTtpZihhPT09IlxcInx8YT09PSItInx8YT09PSJbInx8YT09PSJdIilhPSJcXCIrYTtyZXR1cm4gYX1mdW5jdGlvbiBoKGEpe2Zvcih2YXIgZj1hLnN1YnN0cmluZygxLGEubGVuZ3RoLTEpLm1hdGNoKC9cXHVbXGRBLUZhLWZdezR9fFxceFtcZEEtRmEtZl17Mn18XFxbMC0zXVswLTddezAsMn18XFxbMC03XXsxLDJ9fFxcW1xTXHNdfFteXFxdL2cpLGE9CltdLGI9W10sbz1mWzBdPT09Il4iLGM9bz8xOjAsaT1mLmxlbmd0aDtjPGk7KytjKXt2YXIgaj1mW2NdO2lmKC9cXFtiZHN3XS9pLnRlc3QoaikpYS5wdXNoKGopO2Vsc2V7dmFyIGo9bShqKSxkO2MrMjxpJiYiLSI9PT1mW2MrMV0/KGQ9bShmW2MrMl0pLGMrPTIpOmQ9ajtiLnB1c2goW2osZF0pO2Q8NjV8fGo+MTIyfHwoZDw2NXx8aj45MHx8Yi5wdXNoKFtNYXRoLm1heCg2NSxqKXwzMixNYXRoLm1pbihkLDkwKXwzMl0pLGQ8OTd8fGo+MTIyfHxiLnB1c2goW01hdGgubWF4KDk3LGopJi0zMyxNYXRoLm1pbihkLDEyMikmLTMzXSkpfX1iLnNvcnQoZnVuY3Rpb24oYSxmKXtyZXR1cm4gYVswXS1mWzBdfHxmWzFdLWFbMV19KTtmPVtdO2o9W05hTixOYU5dO2ZvcihjPTA7YzxiLmxlbmd0aDsrK2MpaT1iW2NdLGlbMF08PWpbMV0rMT9qWzFdPU1hdGgubWF4KGpbMV0saVsxXSk6Zi5wdXNoKGo9aSk7Yj1bIlsiXTtvJiZiLnB1c2goIl4iKTtiLnB1c2guYXBwbHkoYixhKTtmb3IoYz0wO2M8CmYubGVuZ3RoOysrYylpPWZbY10sYi5wdXNoKGUoaVswXSkpLGlbMV0+aVswXSYmKGlbMV0rMT5pWzBdJiZiLnB1c2goIi0iKSxiLnB1c2goZShpWzFdKSkpO2IucHVzaCgiXSIpO3JldHVybiBiLmpvaW4oIiIpfWZ1bmN0aW9uIHkoYSl7Zm9yKHZhciBmPWEuc291cmNlLm1hdGNoKC9cWyg/OlteXFxcXV18XFxbXFNcc10pKl18XFx1W1xkQS1GYS1mXXs0fXxcXHhbXGRBLUZhLWZdezJ9fFxcXGQrfFxcW15cZHV4XXxcKFw/WyE6PV18WygpXl18W14oKVtcXF5dKy9nKSxiPWYubGVuZ3RoLGQ9W10sYz0wLGk9MDtjPGI7KytjKXt2YXIgaj1mW2NdO2o9PT0iKCI/KytpOiJcXCI9PT1qLmNoYXJBdCgwKSYmKGo9K2ouc3Vic3RyaW5nKDEpKSYmajw9aSYmKGRbal09LTEpfWZvcihjPTE7YzxkLmxlbmd0aDsrK2MpLTE9PT1kW2NdJiYoZFtjXT0rK3QpO2ZvcihpPWM9MDtjPGI7KytjKWo9ZltjXSxqPT09IigiPygrK2ksZFtpXT09PXZvaWQgMCYmKGZbY109Iig/OiIpKToiXFwiPT09ai5jaGFyQXQoMCkmJgooaj0rai5zdWJzdHJpbmcoMSkpJiZqPD1pJiYoZltjXT0iXFwiK2RbaV0pO2ZvcihpPWM9MDtjPGI7KytjKSJeIj09PWZbY10mJiJeIiE9PWZbYysxXSYmKGZbY109IiIpO2lmKGEuaWdub3JlQ2FzZSYmcylmb3IoYz0wO2M8YjsrK2Mpaj1mW2NdLGE9ai5jaGFyQXQoMCksai5sZW5ndGg+PTImJmE9PT0iWyI/ZltjXT1oKGopOmEhPT0iXFwiJiYoZltjXT1qLnJlcGxhY2UoL1tBLVphLXpdL2csZnVuY3Rpb24oYSl7YT1hLmNoYXJDb2RlQXQoMCk7cmV0dXJuIlsiK1N0cmluZy5mcm9tQ2hhckNvZGUoYSYtMzMsYXwzMikrIl0ifSkpO3JldHVybiBmLmpvaW4oIiIpfWZvcih2YXIgdD0wLHM9ITEsbD0hMSxwPTAsZD1hLmxlbmd0aDtwPGQ7KytwKXt2YXIgZz1hW3BdO2lmKGcuaWdub3JlQ2FzZSlsPSEwO2Vsc2UgaWYoL1thLXpdL2kudGVzdChnLnNvdXJjZS5yZXBsYWNlKC9cXHVbXGRhLWZdezR9fFxceFtcZGEtZl17Mn18XFxbXlVYdXhdL2dpLCIiKSkpe3M9ITA7bD0hMTticmVha319Zm9yKHZhciByPQp7Yjo4LHQ6OSxuOjEwLHY6MTEsZjoxMixyOjEzfSxuPVtdLHA9MCxkPWEubGVuZ3RoO3A8ZDsrK3Ape2c9YVtwXTtpZihnLmdsb2JhbHx8Zy5tdWx0aWxpbmUpdGhyb3cgRXJyb3IoIiIrZyk7bi5wdXNoKCIoPzoiK3koZykrIikiKX1yZXR1cm4gUmVnRXhwKG4uam9pbigifCIpLGw/ImdpIjoiZyIpfWZ1bmN0aW9uIE0oYSl7ZnVuY3Rpb24gbShhKXtzd2l0Y2goYS5ub2RlVHlwZSl7Y2FzZSAxOmlmKGUudGVzdChhLmNsYXNzTmFtZSkpYnJlYWs7Zm9yKHZhciBnPWEuZmlyc3RDaGlsZDtnO2c9Zy5uZXh0U2libGluZyltKGcpO2c9YS5ub2RlTmFtZTtpZigiQlIiPT09Z3x8IkxJIj09PWcpaFtzXT0iXG4iLHRbczw8MV09eSsrLHRbcysrPDwxfDFdPWE7YnJlYWs7Y2FzZSAzOmNhc2UgNDpnPWEubm9kZVZhbHVlLGcubGVuZ3RoJiYoZz1wP2cucmVwbGFjZSgvXHJcbj8vZywiXG4iKTpnLnJlcGxhY2UoL1tcdFxuXHIgXSsvZywiICIpLGhbc109Zyx0W3M8PDFdPXkseSs9Zy5sZW5ndGgsCnRbcysrPDwxfDFdPWEpfX12YXIgZT0vKD86Xnxccylub2NvZGUoPzpcc3wkKS8saD1bXSx5PTAsdD1bXSxzPTAsbDthLmN1cnJlbnRTdHlsZT9sPWEuY3VycmVudFN0eWxlLndoaXRlU3BhY2U6d2luZG93LmdldENvbXB1dGVkU3R5bGUmJihsPWRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoYSxxKS5nZXRQcm9wZXJ0eVZhbHVlKCJ3aGl0ZS1zcGFjZSIpKTt2YXIgcD1sJiYicHJlIj09PWwuc3Vic3RyaW5nKDAsMyk7bShhKTtyZXR1cm57YTpoLmpvaW4oIiIpLnJlcGxhY2UoL1xuJC8sIiIpLGM6dH19ZnVuY3Rpb24gQihhLG0sZSxoKXttJiYoYT17YTptLGQ6YX0sZShhKSxoLnB1c2guYXBwbHkoaCxhLmUpKX1mdW5jdGlvbiB4KGEsbSl7ZnVuY3Rpb24gZShhKXtmb3IodmFyIGw9YS5kLHA9W2wsInBsbiJdLGQ9MCxnPWEuYS5tYXRjaCh5KXx8W10scj17fSxuPTAsej1nLmxlbmd0aDtuPHo7KytuKXt2YXIgZj1nW25dLGI9cltmXSxvPXZvaWQgMCxjO2lmKHR5cGVvZiBiPT09CiJzdHJpbmciKWM9ITE7ZWxzZXt2YXIgaT1oW2YuY2hhckF0KDApXTtpZihpKW89Zi5tYXRjaChpWzFdKSxiPWlbMF07ZWxzZXtmb3IoYz0wO2M8dDsrK2MpaWYoaT1tW2NdLG89Zi5tYXRjaChpWzFdKSl7Yj1pWzBdO2JyZWFrfW98fChiPSJwbG4iKX1pZigoYz1iLmxlbmd0aD49NSYmImxhbmctIj09PWIuc3Vic3RyaW5nKDAsNSkpJiYhKG8mJnR5cGVvZiBvWzFdPT09InN0cmluZyIpKWM9ITEsYj0ic3JjIjtjfHwocltmXT1iKX1pPWQ7ZCs9Zi5sZW5ndGg7aWYoYyl7Yz1vWzFdO3ZhciBqPWYuaW5kZXhPZihjKSxrPWorYy5sZW5ndGg7b1syXSYmKGs9Zi5sZW5ndGgtb1syXS5sZW5ndGgsaj1rLWMubGVuZ3RoKTtiPWIuc3Vic3RyaW5nKDUpO0IobCtpLGYuc3Vic3RyaW5nKDAsaiksZSxwKTtCKGwraStqLGMsQyhiLGMpLHApO0IobCtpK2ssZi5zdWJzdHJpbmcoayksZSxwKX1lbHNlIHAucHVzaChsK2ksYil9YS5lPXB9dmFyIGg9e30seTsoZnVuY3Rpb24oKXtmb3IodmFyIGU9YS5jb25jYXQobSksCmw9W10scD17fSxkPTAsZz1lLmxlbmd0aDtkPGc7KytkKXt2YXIgcj1lW2RdLG49clszXTtpZihuKWZvcih2YXIgaz1uLmxlbmd0aDstLWs+PTA7KWhbbi5jaGFyQXQoayldPXI7cj1yWzFdO249IiIrcjtwLmhhc093blByb3BlcnR5KG4pfHwobC5wdXNoKHIpLHBbbl09cSl9bC5wdXNoKC9bXFNcc10vKTt5PUwobCl9KSgpO3ZhciB0PW0ubGVuZ3RoO3JldHVybiBlfWZ1bmN0aW9uIHUoYSl7dmFyIG09W10sZT1bXTthLnRyaXBsZVF1b3RlZFN0cmluZ3M/bS5wdXNoKFsic3RyIiwvXig/OicnJyg/OlteJ1xcXXxcXFtcU1xzXXwnJz8oPz1bXiddKSkqKD86JycnfCQpfCIiIig/OlteIlxcXXxcXFtcU1xzXXwiIj8oPz1bXiJdKSkqKD86IiIifCQpfCcoPzpbXidcXF18XFxbXFNcc10pKig/Oid8JCl8Iig/OlteIlxcXXxcXFtcU1xzXSkqKD86InwkKSkvLHEsIidcIiJdKTphLm11bHRpTGluZVN0cmluZ3M/bS5wdXNoKFsic3RyIiwvXig/OicoPzpbXidcXF18XFxbXFNcc10pKig/Oid8JCl8Iig/OlteIlxcXXxcXFtcU1xzXSkqKD86InwkKXxgKD86W15cXGBdfFxcW1xTXHNdKSooPzpgfCQpKS8sCnEsIidcImAiXSk6bS5wdXNoKFsic3RyIiwvXig/OicoPzpbXlxuXHInXFxdfFxcLikqKD86J3wkKXwiKD86W15cblxyIlxcXXxcXC4pKig/OiJ8JCkpLyxxLCJcIiciXSk7YS52ZXJiYXRpbVN0cmluZ3MmJmUucHVzaChbInN0ciIsL15AIig/OlteIl18IiIpKig/OiJ8JCkvLHFdKTt2YXIgaD1hLmhhc2hDb21tZW50cztoJiYoYS5jU3R5bGVDb21tZW50cz8oaD4xP20ucHVzaChbImNvbSIsL14jKD86IyMoPzpbXiNdfCMoPyEjIykpKig/OiMjI3wkKXwuKikvLHEsIiMiXSk6bS5wdXNoKFsiY29tIiwvXiMoPzooPzpkZWZpbmV8ZWxpZnxlbHNlfGVuZGlmfGVycm9yfGlmZGVmfGluY2x1ZGV8aWZuZGVmfGxpbmV8cHJhZ21hfHVuZGVmfHdhcm5pbmcpXGJ8W15cblxyXSopLyxxLCIjIl0pLGUucHVzaChbInN0ciIsL148KD86KD86KD86XC5cLlwvKSp8XC8/KSg/Oltcdy1dKyg/OlwvW1x3LV0rKSspP1tcdy1dK1wuaHxbYS16XVx3Kik+LyxxXSkpOm0ucHVzaChbImNvbSIsL14jW15cblxyXSovLApxLCIjIl0pKTthLmNTdHlsZUNvbW1lbnRzJiYoZS5wdXNoKFsiY29tIiwvXlwvXC9bXlxuXHJdKi8scV0pLGUucHVzaChbImNvbSIsL15cL1wqW1xTXHNdKj8oPzpcKlwvfCQpLyxxXSkpO2EucmVnZXhMaXRlcmFscyYmZS5wdXNoKFsibGFuZy1yZWdleCIsL14oPzpeXlwuP3xbISstXXwhPXwhPT18I3wlfCU9fCZ8JiZ8JiY9fCY9fFwofFwqfFwqPXxcKz18LHwtPXwtPnxcL3xcLz18Onw6Onw7fDx8PDx8PDw9fDw9fD18PT18PT09fD58Pj18Pj58Pj49fD4+Pnw+Pj49fFs/QFteXXxcXj18XF5cXnxcXlxePXx7fFx8fFx8PXxcfFx8fFx8XHw9fH58YnJlYWt8Y2FzZXxjb250aW51ZXxkZWxldGV8ZG98ZWxzZXxmaW5hbGx5fGluc3RhbmNlb2Z8cmV0dXJufHRocm93fHRyeXx0eXBlb2YpXHMqKFwvKD89W14qL10pKD86W14vW1xcXXxcXFtcU1xzXXxcWyg/OlteXFxcXV18XFxbXFNcc10pKig/Ol18JCkpK1wvKS9dKTsoaD1hLnR5cGVzKSYmZS5wdXNoKFsidHlwIixoXSk7YT0oIiIrYS5rZXl3b3JkcykucmVwbGFjZSgvXiB8ICQvZywKIiIpO2EubGVuZ3RoJiZlLnB1c2goWyJrd2QiLFJlZ0V4cCgiXig/OiIrYS5yZXBsYWNlKC9bXHMsXSsvZywifCIpKyIpXFxiIikscV0pO20ucHVzaChbInBsbiIsL15ccysvLHEsIiBcclxuXHRceGEwIl0pO2UucHVzaChbImxpdCIsL15AWyRfYS16XVtcdyRAXSovaSxxXSxbInR5cCIsL14oPzpbQF9dP1tBLVpdK1thLXpdW1x3JEBdKnxcdytfdFxiKS8scV0sWyJwbG4iLC9eWyRfYS16XVtcdyRAXSovaSxxXSxbImxpdCIsL14oPzoweFtcZGEtZl0rfCg/OlxkKD86X1xkKykqXGQqKD86XC5cZCopP3xcLlxkXCspKD86ZVsrLV0/XGQrKT8pW2Etel0qL2kscSwiMDEyMzQ1Njc4OSJdLFsicGxuIiwvXlxcW1xTXHNdPy8scV0sWyJwdW4iLC9eLlteXHNcdyItJCcuL0BcXGBdKi8scV0pO3JldHVybiB4KG0sZSl9ZnVuY3Rpb24gRChhLG0pe2Z1bmN0aW9uIGUoYSl7c3dpdGNoKGEubm9kZVR5cGUpe2Nhc2UgMTppZihrLnRlc3QoYS5jbGFzc05hbWUpKWJyZWFrO2lmKCJCUiI9PT1hLm5vZGVOYW1lKWgoYSksCmEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpO2Vsc2UgZm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWUoYSk7YnJlYWs7Y2FzZSAzOmNhc2UgNDppZihwKXt2YXIgYj1hLm5vZGVWYWx1ZSxkPWIubWF0Y2godCk7aWYoZCl7dmFyIGM9Yi5zdWJzdHJpbmcoMCxkLmluZGV4KTthLm5vZGVWYWx1ZT1jOyhiPWIuc3Vic3RyaW5nKGQuaW5kZXgrZFswXS5sZW5ndGgpKSYmYS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLmNyZWF0ZVRleHROb2RlKGIpLGEubmV4dFNpYmxpbmcpO2goYSk7Y3x8YS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpfX19fWZ1bmN0aW9uIGgoYSl7ZnVuY3Rpb24gYihhLGQpe3ZhciBlPWQ/YS5jbG9uZU5vZGUoITEpOmEsZj1hLnBhcmVudE5vZGU7aWYoZil7dmFyIGY9YihmLDEpLGc9YS5uZXh0U2libGluZztmLmFwcGVuZENoaWxkKGUpO2Zvcih2YXIgaD1nO2g7aD1nKWc9aC5uZXh0U2libGluZyxmLmFwcGVuZENoaWxkKGgpfXJldHVybiBlfQpmb3IoOyFhLm5leHRTaWJsaW5nOylpZihhPWEucGFyZW50Tm9kZSwhYSlyZXR1cm47Zm9yKHZhciBhPWIoYS5uZXh0U2libGluZywwKSxlOyhlPWEucGFyZW50Tm9kZSkmJmUubm9kZVR5cGU9PT0xOylhPWU7ZC5wdXNoKGEpfXZhciBrPS8oPzpefFxzKW5vY29kZSg/OlxzfCQpLyx0PS9cclxuP3xcbi8scz1hLm93bmVyRG9jdW1lbnQsbDthLmN1cnJlbnRTdHlsZT9sPWEuY3VycmVudFN0eWxlLndoaXRlU3BhY2U6d2luZG93LmdldENvbXB1dGVkU3R5bGUmJihsPXMuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLHEpLmdldFByb3BlcnR5VmFsdWUoIndoaXRlLXNwYWNlIikpO3ZhciBwPWwmJiJwcmUiPT09bC5zdWJzdHJpbmcoMCwzKTtmb3IobD1zLmNyZWF0ZUVsZW1lbnQoIkxJIik7YS5maXJzdENoaWxkOylsLmFwcGVuZENoaWxkKGEuZmlyc3RDaGlsZCk7Zm9yKHZhciBkPVtsXSxnPTA7ZzxkLmxlbmd0aDsrK2cpZShkW2ddKTttPT09KG18MCkmJmRbMF0uc2V0QXR0cmlidXRlKCJ2YWx1ZSIsCm0pO3ZhciByPXMuY3JlYXRlRWxlbWVudCgiT0wiKTtyLmNsYXNzTmFtZT0ibGluZW51bXMiO2Zvcih2YXIgbj1NYXRoLm1heCgwLG0tMXwwKXx8MCxnPTAsej1kLmxlbmd0aDtnPHo7KytnKWw9ZFtnXSxsLmNsYXNzTmFtZT0iTCIrKGcrbiklMTAsbC5maXJzdENoaWxkfHxsLmFwcGVuZENoaWxkKHMuY3JlYXRlVGV4dE5vZGUoIlx4YTAiKSksci5hcHBlbmRDaGlsZChsKTthLmFwcGVuZENoaWxkKHIpfWZ1bmN0aW9uIGsoYSxtKXtmb3IodmFyIGU9bS5sZW5ndGg7LS1lPj0wOyl7dmFyIGg9bVtlXTtBLmhhc093blByb3BlcnR5KGgpP3dpbmRvdy5jb25zb2xlJiZjb25zb2xlLndhcm4oImNhbm5vdCBvdmVycmlkZSBsYW5ndWFnZSBoYW5kbGVyICVzIixoKTpBW2hdPWF9fWZ1bmN0aW9uIEMoYSxtKXtpZighYXx8IUEuaGFzT3duUHJvcGVydHkoYSkpYT0vXlxzKjwvLnRlc3QobSk/ImRlZmF1bHQtbWFya3VwIjoiZGVmYXVsdC1jb2RlIjtyZXR1cm4gQVthXX1mdW5jdGlvbiBFKGEpe3ZhciBtPQphLmc7dHJ5e3ZhciBlPU0oYS5oKSxoPWUuYTthLmE9aDthLmM9ZS5jO2EuZD0wO0MobSxoKShhKTt2YXIgaz0vXGJNU0lFXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksbT0vXG4vZyx0PWEuYSxzPXQubGVuZ3RoLGU9MCxsPWEuYyxwPWwubGVuZ3RoLGg9MCxkPWEuZSxnPWQubGVuZ3RoLGE9MDtkW2ddPXM7dmFyIHIsbjtmb3Iobj1yPTA7bjxnOylkW25dIT09ZFtuKzJdPyhkW3IrK109ZFtuKytdLGRbcisrXT1kW24rK10pOm4rPTI7Zz1yO2ZvcihuPXI9MDtuPGc7KXtmb3IodmFyIHo9ZFtuXSxmPWRbbisxXSxiPW4rMjtiKzI8PWcmJmRbYisxXT09PWY7KWIrPTI7ZFtyKytdPXo7ZFtyKytdPWY7bj1ifWZvcihkLmxlbmd0aD1yO2g8cDspe3ZhciBvPWxbaCsyXXx8cyxjPWRbYSsyXXx8cyxiPU1hdGgubWluKG8sYyksaT1sW2grMV0sajtpZihpLm5vZGVUeXBlIT09MSYmKGo9dC5zdWJzdHJpbmcoZSxiKSkpe2smJihqPWoucmVwbGFjZShtLCJcciIpKTtpLm5vZGVWYWx1ZT0Kajt2YXIgdT1pLm93bmVyRG9jdW1lbnQsdj11LmNyZWF0ZUVsZW1lbnQoIlNQQU4iKTt2LmNsYXNzTmFtZT1kW2ErMV07dmFyIHg9aS5wYXJlbnROb2RlO3gucmVwbGFjZUNoaWxkKHYsaSk7di5hcHBlbmRDaGlsZChpKTtlPG8mJihsW2grMV09aT11LmNyZWF0ZVRleHROb2RlKHQuc3Vic3RyaW5nKGIsbykpLHguaW5zZXJ0QmVmb3JlKGksdi5uZXh0U2libGluZykpfWU9YjtlPj1vJiYoaCs9Mik7ZT49YyYmKGErPTIpfX1jYXRjaCh3KXsiY29uc29sZSJpbiB3aW5kb3cmJmNvbnNvbGUubG9nKHcmJncuc3RhY2s/dy5zdGFjazp3KX19dmFyIHY9WyJicmVhayxjb250aW51ZSxkbyxlbHNlLGZvcixpZixyZXR1cm4sd2hpbGUiXSx3PVtbdiwiYXV0byxjYXNlLGNoYXIsY29uc3QsZGVmYXVsdCxkb3VibGUsZW51bSxleHRlcm4sZmxvYXQsZ290byxpbnQsbG9uZyxyZWdpc3RlcixzaG9ydCxzaWduZWQsc2l6ZW9mLHN0YXRpYyxzdHJ1Y3Qsc3dpdGNoLHR5cGVkZWYsdW5pb24sdW5zaWduZWQsdm9pZCx2b2xhdGlsZSJdLAoiY2F0Y2gsY2xhc3MsZGVsZXRlLGZhbHNlLGltcG9ydCxuZXcsb3BlcmF0b3IscHJpdmF0ZSxwcm90ZWN0ZWQscHVibGljLHRoaXMsdGhyb3csdHJ1ZSx0cnksdHlwZW9mIl0sRj1bdywiYWxpZ25vZixhbGlnbl91bmlvbixhc20sYXhpb20sYm9vbCxjb25jZXB0LGNvbmNlcHRfbWFwLGNvbnN0X2Nhc3QsY29uc3RleHByLGRlY2x0eXBlLGR5bmFtaWNfY2FzdCxleHBsaWNpdCxleHBvcnQsZnJpZW5kLGlubGluZSxsYXRlX2NoZWNrLG11dGFibGUsbmFtZXNwYWNlLG51bGxwdHIscmVpbnRlcnByZXRfY2FzdCxzdGF0aWNfYXNzZXJ0LHN0YXRpY19jYXN0LHRlbXBsYXRlLHR5cGVpZCx0eXBlbmFtZSx1c2luZyx2aXJ0dWFsLHdoZXJlIl0sRz1bdywiYWJzdHJhY3QsYm9vbGVhbixieXRlLGV4dGVuZHMsZmluYWwsZmluYWxseSxpbXBsZW1lbnRzLGltcG9ydCxpbnN0YW5jZW9mLG51bGwsbmF0aXZlLHBhY2thZ2Usc3RyaWN0ZnAsc3VwZXIsc3luY2hyb25pemVkLHRocm93cyx0cmFuc2llbnQiXSwKSD1bRywiYXMsYmFzZSxieSxjaGVja2VkLGRlY2ltYWwsZGVsZWdhdGUsZGVzY2VuZGluZyxkeW5hbWljLGV2ZW50LGZpeGVkLGZvcmVhY2gsZnJvbSxncm91cCxpbXBsaWNpdCxpbixpbnRlcmZhY2UsaW50ZXJuYWwsaW50byxpcyxsb2NrLG9iamVjdCxvdXQsb3ZlcnJpZGUsb3JkZXJieSxwYXJhbXMscGFydGlhbCxyZWFkb25seSxyZWYsc2J5dGUsc2VhbGVkLHN0YWNrYWxsb2Msc3RyaW5nLHNlbGVjdCx1aW50LHVsb25nLHVuY2hlY2tlZCx1bnNhZmUsdXNob3J0LHZhciJdLHc9W3csImRlYnVnZ2VyLGV2YWwsZXhwb3J0LGZ1bmN0aW9uLGdldCxudWxsLHNldCx1bmRlZmluZWQsdmFyLHdpdGgsSW5maW5pdHksTmFOIl0sST1bdiwiYW5kLGFzLGFzc2VydCxjbGFzcyxkZWYsZGVsLGVsaWYsZXhjZXB0LGV4ZWMsZmluYWxseSxmcm9tLGdsb2JhbCxpbXBvcnQsaW4saXMsbGFtYmRhLG5vbmxvY2FsLG5vdCxvcixwYXNzLHByaW50LHJhaXNlLHRyeSx3aXRoLHlpZWxkLEZhbHNlLFRydWUsTm9uZSJdLApKPVt2LCJhbGlhcyxhbmQsYmVnaW4sY2FzZSxjbGFzcyxkZWYsZGVmaW5lZCxlbHNpZixlbmQsZW5zdXJlLGZhbHNlLGluLG1vZHVsZSxuZXh0LG5pbCxub3Qsb3IscmVkbyxyZXNjdWUscmV0cnksc2VsZixzdXBlcix0aGVuLHRydWUsdW5kZWYsdW5sZXNzLHVudGlsLHdoZW4seWllbGQsQkVHSU4sRU5EIl0sdj1bdiwiY2FzZSxkb25lLGVsaWYsZXNhYyxldmFsLGZpLGZ1bmN0aW9uLGluLGxvY2FsLHNldCx0aGVuLHVudGlsIl0sSz0vXihESVJ8RklMRXx2ZWN0b3J8KGRlfHByaW9yaXR5Xyk/cXVldWV8bGlzdHxzdGFja3woY29uc3RfKT9pdGVyYXRvcnwobXVsdGkpPyhzZXR8bWFwKXxiaXRzZXR8dT8oaW50fGZsb2F0KVxkKikvLE49L1xTLyxPPXUoe2tleXdvcmRzOltGLEgsdywiY2FsbGVyLGRlbGV0ZSxkaWUsZG8sZHVtcCxlbHNpZixldmFsLGV4aXQsZm9yZWFjaCxmb3IsZ290byxpZixpbXBvcnQsbGFzdCxsb2NhbCxteSxuZXh0LG5vLG91cixwcmludCxwYWNrYWdlLHJlZG8scmVxdWlyZSxzdWIsdW5kZWYsdW5sZXNzLHVudGlsLHVzZSx3YW50YXJyYXksd2hpbGUsQkVHSU4sRU5EIisKSSxKLHZdLGhhc2hDb21tZW50czohMCxjU3R5bGVDb21tZW50czohMCxtdWx0aUxpbmVTdHJpbmdzOiEwLHJlZ2V4TGl0ZXJhbHM6ITB9KSxBPXt9O2soTyxbImRlZmF1bHQtY29kZSJdKTtrKHgoW10sW1sicGxuIiwvXltePD9dKy9dLFsiZGVjIiwvXjwhXHdbXj5dKig/Oj58JCkvXSxbImNvbSIsL148XCEtLVtcU1xzXSo/KD86LS1cPnwkKS9dLFsibGFuZy0iLC9ePFw/KFtcU1xzXSs/KSg/Olw/PnwkKS9dLFsibGFuZy0iLC9ePCUoW1xTXHNdKz8pKD86JT58JCkvXSxbInB1biIsL14oPzo8WyU/XXxbJT9dPikvXSxbImxhbmctIiwvXjx4bXBcYltePl0qPihbXFNcc10rPyk8XC94bXBcYltePl0qPi9pXSxbImxhbmctanMiLC9ePHNjcmlwdFxiW14+XSo+KFtcU1xzXSo/KSg8XC9zY3JpcHRcYltePl0qPikvaV0sWyJsYW5nLWNzcyIsL148c3R5bGVcYltePl0qPihbXFNcc10qPykoPFwvc3R5bGVcYltePl0qPikvaV0sWyJsYW5nLWluLnRhZyIsL14oPFwvP1thLXpdW148Pl0qPikvaV1dKSwKWyJkZWZhdWx0LW1hcmt1cCIsImh0bSIsImh0bWwiLCJteG1sIiwieGh0bWwiLCJ4bWwiLCJ4c2wiXSk7ayh4KFtbInBsbiIsL15ccysvLHEsIiBcdFxyXG4iXSxbImF0diIsL14oPzoiW14iXSoiP3wnW14nXSonPykvLHEsIlwiJyJdXSxbWyJ0YWciLC9eXjxcLz9bYS16XSg/Oltcdy0uOl0qXHcpP3xcLz8+JC9pXSxbImF0biIsL14oPyFzdHlsZVtccz1dfG9uKVthLXpdKD86W1x3Oi1dKlx3KT8vaV0sWyJsYW5nLXVxLnZhbCIsL149XHMqKFteXHMiJz5dKig/OlteXHMiJy8+XXxcLyg/PVxzKSkpL10sWyJwdW4iLC9eWy88LT5dKy9dLFsibGFuZy1qcyIsL15vblx3K1xzKj1ccyoiKFteIl0rKSIvaV0sWyJsYW5nLWpzIiwvXm9uXHcrXHMqPVxzKicoW14nXSspJy9pXSxbImxhbmctanMiLC9eb25cdytccyo9XHMqKFteXHMiJz5dKykvaV0sWyJsYW5nLWNzcyIsL15zdHlsZVxzKj1ccyoiKFteIl0rKSIvaV0sWyJsYW5nLWNzcyIsL15zdHlsZVxzKj1ccyonKFteJ10rKScvaV0sWyJsYW5nLWNzcyIsCi9ec3R5bGVccyo9XHMqKFteXHMiJz5dKykvaV1dKSxbImluLnRhZyJdKTtrKHgoW10sW1siYXR2IiwvXltcU1xzXSsvXV0pLFsidXEudmFsIl0pO2sodSh7a2V5d29yZHM6RixoYXNoQ29tbWVudHM6ITAsY1N0eWxlQ29tbWVudHM6ITAsdHlwZXM6S30pLFsiYyIsImNjIiwiY3BwIiwiY3h4IiwiY3ljIiwibSJdKTtrKHUoe2tleXdvcmRzOiJudWxsLHRydWUsZmFsc2UifSksWyJqc29uIl0pO2sodSh7a2V5d29yZHM6SCxoYXNoQ29tbWVudHM6ITAsY1N0eWxlQ29tbWVudHM6ITAsdmVyYmF0aW1TdHJpbmdzOiEwLHR5cGVzOkt9KSxbImNzIl0pO2sodSh7a2V5d29yZHM6RyxjU3R5bGVDb21tZW50czohMH0pLFsiamF2YSJdKTtrKHUoe2tleXdvcmRzOnYsaGFzaENvbW1lbnRzOiEwLG11bHRpTGluZVN0cmluZ3M6ITB9KSxbImJzaCIsImNzaCIsInNoIl0pO2sodSh7a2V5d29yZHM6SSxoYXNoQ29tbWVudHM6ITAsbXVsdGlMaW5lU3RyaW5nczohMCx0cmlwbGVRdW90ZWRTdHJpbmdzOiEwfSksClsiY3YiLCJweSJdKTtrKHUoe2tleXdvcmRzOiJjYWxsZXIsZGVsZXRlLGRpZSxkbyxkdW1wLGVsc2lmLGV2YWwsZXhpdCxmb3JlYWNoLGZvcixnb3RvLGlmLGltcG9ydCxsYXN0LGxvY2FsLG15LG5leHQsbm8sb3VyLHByaW50LHBhY2thZ2UscmVkbyxyZXF1aXJlLHN1Yix1bmRlZix1bmxlc3MsdW50aWwsdXNlLHdhbnRhcnJheSx3aGlsZSxCRUdJTixFTkQiLGhhc2hDb21tZW50czohMCxtdWx0aUxpbmVTdHJpbmdzOiEwLHJlZ2V4TGl0ZXJhbHM6ITB9KSxbInBlcmwiLCJwbCIsInBtIl0pO2sodSh7a2V5d29yZHM6SixoYXNoQ29tbWVudHM6ITAsbXVsdGlMaW5lU3RyaW5nczohMCxyZWdleExpdGVyYWxzOiEwfSksWyJyYiJdKTtrKHUoe2tleXdvcmRzOncsY1N0eWxlQ29tbWVudHM6ITAscmVnZXhMaXRlcmFsczohMH0pLFsianMiXSk7ayh1KHtrZXl3b3JkczoiYWxsLGFuZCxieSxjYXRjaCxjbGFzcyxlbHNlLGV4dGVuZHMsZmFsc2UsZmluYWxseSxmb3IsaWYsaW4saXMsaXNudCxsb29wLG5ldyxubyxub3QsbnVsbCxvZixvZmYsb24sb3IscmV0dXJuLHN1cGVyLHRoZW4sdHJ1ZSx0cnksdW5sZXNzLHVudGlsLHdoZW4sd2hpbGUseWVzIiwKaGFzaENvbW1lbnRzOjMsY1N0eWxlQ29tbWVudHM6ITAsbXVsdGlsaW5lU3RyaW5nczohMCx0cmlwbGVRdW90ZWRTdHJpbmdzOiEwLHJlZ2V4TGl0ZXJhbHM6ITB9KSxbImNvZmZlZSJdKTtrKHgoW10sW1sic3RyIiwvXltcU1xzXSsvXV0pLFsicmVnZXgiXSk7d2luZG93LnByZXR0eVByaW50T25lPWZ1bmN0aW9uKGEsbSxlKXt2YXIgaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJQUkUiKTtoLmlubmVySFRNTD1hO2UmJkQoaCxlKTtFKHtnOm0saTplLGg6aH0pO3JldHVybiBoLmlubmVySFRNTH07d2luZG93LnByZXR0eVByaW50PWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIG0oKXtmb3IodmFyIGU9d2luZG93LlBSX1NIT1VMRF9VU0VfQ09OVElOVUFUSU9OP2wubm93KCkrMjUwOkluZmluaXR5O3A8aC5sZW5ndGgmJmwubm93KCk8ZTtwKyspe3ZhciBuPWhbcF0saz1uLmNsYXNzTmFtZTtpZihrLmluZGV4T2YoInByZXR0eXByaW50Iik+PTApe3ZhciBrPWsubWF0Y2goZyksZixiO2lmKGI9CiFrKXtiPW47Zm9yKHZhciBvPXZvaWQgMCxjPWIuZmlyc3RDaGlsZDtjO2M9Yy5uZXh0U2libGluZyl2YXIgaT1jLm5vZGVUeXBlLG89aT09PTE/bz9iOmM6aT09PTM/Ti50ZXN0KGMubm9kZVZhbHVlKT9iOm86bztiPShmPW89PT1iP3ZvaWQgMDpvKSYmIkNPREUiPT09Zi50YWdOYW1lfWImJihrPWYuY2xhc3NOYW1lLm1hdGNoKGcpKTtrJiYoaz1rWzFdKTtiPSExO2ZvcihvPW4ucGFyZW50Tm9kZTtvO289by5wYXJlbnROb2RlKWlmKChvLnRhZ05hbWU9PT0icHJlInx8by50YWdOYW1lPT09ImNvZGUifHxvLnRhZ05hbWU9PT0ieG1wIikmJm8uY2xhc3NOYW1lJiZvLmNsYXNzTmFtZS5pbmRleE9mKCJwcmV0dHlwcmludCIpPj0wKXtiPSEwO2JyZWFrfWJ8fCgoYj0oYj1uLmNsYXNzTmFtZS5tYXRjaCgvXGJsaW5lbnVtc1xiKD86OihcZCspKT8vKSk/YlsxXSYmYlsxXS5sZW5ndGg/K2JbMV06ITA6ITEpJiZEKG4sYiksZD17ZzprLGg6bixpOmJ9LEUoZCkpfX1wPGgubGVuZ3RoP3NldFRpbWVvdXQobSwKMjUwKTphJiZhKCl9Zm9yKHZhciBlPVtkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgicHJlIiksZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImNvZGUiKSxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgieG1wIildLGg9W10saz0wO2s8ZS5sZW5ndGg7KytrKWZvcih2YXIgdD0wLHM9ZVtrXS5sZW5ndGg7dDxzOysrdCloLnB1c2goZVtrXVt0XSk7dmFyIGU9cSxsPURhdGU7bC5ub3d8fChsPXtub3c6ZnVuY3Rpb24oKXtyZXR1cm4rbmV3IERhdGV9fSk7dmFyIHA9MCxkLGc9L1xibGFuZyg/OnVhZ2UpPy0oW1x3Ll0rKSg/IVxTKS87bSgpfTt3aW5kb3cuUFI9e2NyZWF0ZVNpbXBsZUxleGVyOngscmVnaXN0ZXJMYW5nSGFuZGxlcjprLHNvdXJjZURlY29yYXRvcjp1LFBSX0FUVFJJQl9OQU1FOiJhdG4iLFBSX0FUVFJJQl9WQUxVRToiYXR2IixQUl9DT01NRU5UOiJjb20iLFBSX0RFQ0xBUkFUSU9OOiJkZWMiLFBSX0tFWVdPUkQ6Imt3ZCIsUFJfTElURVJBTDoibGl0IiwKUFJfTk9DT0RFOiJub2NvZGUiLFBSX1BMQUlOOiJwbG4iLFBSX1BVTkNUVUFUSU9OOiJwdW4iLFBSX1NPVVJDRToic3JjIixQUl9TVFJJTkc6InN0ciIsUFJfVEFHOiJ0YWciLFBSX1RZUEU6InR5cCJ9fSkoKTsK]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/_templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/_templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ie3sgcGF0aHRvKCdfc3RhdGljL3ByZXR0aWZ5LmpzJywgMSkgfX0iPjwvc2NyaXB0Pgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJ7eyBwYXRodG8oJ19zdGF0aWMvcHJldHRpZnkuY3NzJywgMSkgfX0iIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Int7IHBhdGh0bygnX3N0YXRpYy9ob21lcGFnZS5jc3MnLCAxKSB9fSIgLz4KCjxkaXYgY2xhc3M9Imp1bWJvdHJvbiBtYXN0aGVhZCI+CiAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgIDxpbWcgc3JjPSJ7eyBwYXRodG8oJ19zdGF0aWMvbG9nby5wbmcnLCAxKSB9fSIgYWx0PSJndXp6bGUiIHdpZHRoPSIxOTkiIGhlaWdodD0iMjYwIiAvPgogICAgPGgxPkd1enpsZTwvaDE+CiAgICA8cD5HdXp6bGUgaXMgYSBQSFAgSFRUUCBjbGllbnQ8YnIgLz4mYW1wOyBmcmFtZXdvcmsgZm9yIGJ1aWxkaW5nIFJFU1RmdWwgd2ViIHNlcnZpY2UgY2xpZW50cy48L3A+CiAgICA8cD4KICAgICAgPGEgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tbGciIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9ndXp6bGUvZ3V6emxlIj5WaWV3IEd1enpsZSBvbiBHaXRIdWI8L2E+CiAgICAgIDxhIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgYnRuLWxnIiBocmVmPSJ7eyBwYXRodG8oJ2RvY3MnKSB9fSI+UmVhZCB0aGUgZG9jczwvYT4KICAgIDwvcD4KICAgIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InNvY2lhbCI+CiAgPHVsIGNsYXNzPSJzb2NpYWwtYnV0dG9ucyI+CiAgICA8bGk+CiAgICAgIDxpZnJhbWUgc3JjPSJodHRwOi8vZ2hidG5zLmNvbS9naXRodWItYnRuLmh0bWw/dXNlcj1ndXp6bGUmcmVwbz1ndXp6bGUmdHlwZT13YXRjaCZjb3VudD10cnVlIgogICAgICAgICAgYWxsb3d0cmFuc3BhcmVuY3k9InRydWUiIGZyYW1lYm9yZGVyPSIwIiBzY3JvbGxpbmc9IjAiIHdpZHRoPSIxMTAiIGhlaWdodD0iMjAiPjwvaWZyYW1lPgogICAgPC9saT4KICAgIDxsaT4KICAgICAgPGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9zaGFyZSIgY2xhc3M9InR3aXR0ZXItc2hhcmUtYnV0dG9uIiBkYXRhLXVybD0iaHR0cDovL2d1enpsZXBocC5vcmciIGRhdGEtdGV4dD0iR3V6emxlLCBQSFAgSFRUUCBjbGllbnQgJmFtcDsgZnJhbWV3b3JrIGZvciBidWlsZGluZyBSRVNUZnVsIHdlYiBzZXJ2aWNlIGNsaWVudHMiIGRhdGEtdmlhPSJtdGRvd2xpbmciPlR3ZWV0PC9hPgogICAgICA8c2NyaXB0PiFmdW5jdGlvbihkLHMsaWQpe3ZhciBqcyxmanM9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZShzKVswXTtpZighZC5nZXRFbGVtZW50QnlJZChpZCkpe2pzPWQuY3JlYXRlRWxlbWVudChzKTtqcy5pZD1pZDtqcy5zcmM9Imh0dHA6Ly9wbGF0Zm9ybS50d2l0dGVyLmNvbS93aWRnZXRzLmpzIjtmanMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoanMsZmpzKTt9fShkb2N1bWVudCwic2NyaXB0IiwidHdpdHRlci13anMiKTs8L3NjcmlwdD4KICAgIDwvbGk+CiAgICA8bGk+CiAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vbXRkb3dsaW5nIiBjbGFzcz0idHdpdHRlci1mb2xsb3ctYnV0dG9uIiBkYXRhLXNob3ctY291bnQ9ImZhbHNlIj5Gb2xsb3cgQG10ZG93bGluZzwvYT4KICAgICAgPHNjcmlwdD4hZnVuY3Rpb24oZCxzLGlkKXt2YXIganMsZmpzPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUocylbMF07aWYoIWQuZ2V0RWxlbWVudEJ5SWQoaWQpKXtqcz1kLmNyZWF0ZUVsZW1lbnQocyk7anMuaWQ9aWQ7anMuc3JjPSJodHRwOi8vcGxhdGZvcm0udHdpdHRlci5jb20vd2lkZ2V0cy5qcyI7ZmpzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGpzLGZqcyk7fX0oZG9jdW1lbnQsInNjcmlwdCIsInR3aXR0ZXItd2pzIik7PC9zY3JpcHQ+CiAgICA8L2xpPgogIDwvdWw+CjwvZGl2PgoKPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCiAgPGgxPkludHJvZHVjaW5nIEd1enpsZTwvaDE+CgogIDxwPkd1enpsZSB0YWtlcyB0aGUgcGFpbiBvdXQgb2Ygc2VuZGluZyBIVFRQIHJlcXVlc3RzIGFuZCB0aGUgcmVkdW5kYW5jeSBvdXQgb2YgY3JlYXRpbmcgd2ViIHNlcnZpY2UgY2xpZW50cy4gSXQncwogICAgYSBmcmFtZXdvcmsgdGhhdCBpbmNsdWRlcyB0aGUgdG9vbHMgbmVlZGVkIHRvIGNyZWF0ZSBhIHJvYnVzdCB3ZWIgc2VydmljZSBjbGllbnQsIGluY2x1ZGluZzoKICAgIFNlcnZpY2UgZGVzY3JpcHRpb25zIGZvciBkZWZpbmluZyB0aGUgaW5wdXRzIGFuZCBvdXRwdXRzIG9mIGFuIEFQSSwgcmVzb3VyY2UgaXRlcmF0b3JzIGZvciB0cmF2ZXJzaW5nCiAgICBwYWdpbmF0ZWQgcmVzb3VyY2VzLCBiYXRjaGluZyBmb3Igc2VuZGluZyBhIGxhcmdlIG51bWJlciBvZiByZXF1ZXN0cyBhcyBlZmZpY2llbnRseSBhcyBwb3NzaWJsZS48L3A+CgogIDx1bD4KICAgIDxsaT5BbGwgdGhlIHBvd2VyIG9mIGNVUkwgd2l0aCBhIHNpbXBsZSBpbnRlcmZhY2UuPC9saT4KICAgIDxsaT5QZXJzaXN0ZW50IGNvbm5lY3Rpb25zIGFuZCBwYXJhbGxlbCByZXF1ZXN0cy48L2xpPgogICAgPGxpPlN0cmVhbXMgcmVxdWVzdCBhbmQgcmVzcG9uc2UgYm9kaWVzPC9saT4KICAgIDxsaT48YSBocmVmPSJ7eyBwYXRodG8oJ3dlYnNlcnZpY2UtY2xpZW50L2d1enpsZS1zZXJ2aWNlLWRlc2NyaXB0aW9ucycpIH19Ij5TZXJ2aWNlIGRlc2NyaXB0aW9uczwvYT4gZm9yIHF1aWNrbHkgYnVpbGRpbmcgY2xpZW50cy48L2xpPgogICAgPGxpPlBvd2VyZWQgYnkgdGhlIFN5bWZvbnkyIEV2ZW50RGlzcGF0Y2hlci48L2xpPgogICAgPGxpPlVzZSBhbGwgb2YgdGhlIGNvZGUgb3Igb25seSA8YSBocmVmPSJodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvZ3V6emxlLyI+c3BlY2lmaWMgY29tcG9uZW50czwvYT4uPC9saT4KICAgIDxsaT48YSBocmVmPSJ7eyBwYXRodG8oJ3BsdWdpbnMvcGx1Z2lucy1vdmVydmlldycpIH19Ij5QbHVnaW5zPC9hPiBmb3IgY2FjaGluZywgbG9nZ2luZywgT0F1dGgsIG1vY2tzLCBhbmQgbW9yZTwvYT4KICAgIDxsaT5JbmNsdWRlcyBhIGN1c3RvbSBub2RlLmpzIHdlYnNlcnZlciB0byA8YSBocmVmPSJ7eyBwYXRodG8oJ3Rlc3RpbmcvdW5pdC10ZXN0aW5nJykgfX0iPnRlc3QgeW91ciBjbGllbnRzPC9hPi48L2xpPgogIDwvdWw+CgogIDxkaXYgY2xhc3M9ImNlbnRlci1hbm5vdW5jZW1lbnQiPgogICAgR3V6emxlIGlzIG5vdyBwYXJ0IG9mIERydXBhbCA4IGNvcmUgYW5kIHBvd2VycyB0aGUgb2ZmaWNpYWwgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3Mtc2RrLXBocCI+QVdTIFNESyBmb3IgUEhQPC9hPgogIDwvZGl2PgoKICA8aDI+UXVpY2sgVHdpdHRlciBleGFtcGxlPC9oMj4KCiAgPHByZSBjbGFzcz0icHJldHR5cHJpbnQiPiZsdDs/cGhwCnJlcXVpcmVfb25jZSAndmVuZG9yL2F1dG9sb2FkLnBocCc7CnVzZSBHdXp6bGVcSHR0cFxDbGllbnQ7CgovLyBDcmVhdGUgYSBjbGllbnQgYW5kIHByb3ZpZGUgYSBiYXNlIFVSTAokY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbScpOwovLyBDcmVhdGUgYSByZXF1ZXN0IHdpdGggYmFzaWMgQXV0aAokcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnL3VzZXInKS0+c2V0QXV0aCgndXNlcicsICdwYXNzJyk7Ci8vIFNlbmQgdGhlIHJlcXVlc3QgYW5kIGdldCB0aGUgcmVzcG9uc2UKJHJlc3BvbnNlID0gJHJlcXVlc3QtPnNlbmQoKTsKZWNobyAkcmVzcG9uc2UtPmdldEJvZHkoKTsKLy8gPj4+IHsidHlwZSI6IlVzZXIiLCAuLi4KZWNobyAkcmVzcG9uc2UtPmdldEhlYWRlcignQ29udGVudC1MZW5ndGgnKTsKLy8gPj4+IDc5MgoKLy8gQ3JlYXRlIGEgY2xpZW50IHRvIHdvcmsgd2l0aCB0aGUgVHdpdHRlciBBUEkKJGNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHBzOi8vYXBpLnR3aXR0ZXIuY29tL3t2ZXJzaW9ufScsIGFycmF5KAogICAgJ3ZlcnNpb24nID0+ICcxLjEnCikpOwoKLy8gU2lnbiBhbGwgcmVxdWVzdHMgd2l0aCB0aGUgT2F1dGhQbHVnaW4KJGNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgR3V6emxlXFBsdWdpblxPYXV0aFxPYXV0aFBsdWdpbihhcnJheSgKICAgICdjb25zdW1lcl9rZXknICA9PiAnKioqJywKICAgICdjb25zdW1lcl9zZWNyZXQnID0+ICcqKionLAogICAgJ3Rva2VuJyAgICAgICA9PiAnKioqJywKICAgICd0b2tlbl9zZWNyZXQnICA9PiAnKioqJwopKSk7CgplY2hvICRjbGllbnQtPmdldCgnc3RhdHVzZXMvdXNlcl90aW1lbGluZS5qc29uJyktPnNlbmQoKS0+Z2V0Qm9keSgpOwovLyA+Pj4geyJwdWJsaWNfZ2lzdHMiOjYsInR5cGUiOiJVc2VyIiAuLi4KCi8vIENyZWF0ZSBhIHR3ZWV0IHVzaW5nIFBPU1QKJHJlcXVlc3QgPSAkY2xpZW50LT5wb3N0KCdzdGF0dXNlcy91cGRhdGUuanNvbicsIG51bGwsIGFycmF5KAogICAgJ3N0YXR1cycgPT4gJ1R3ZWV0ZWQgd2l0aCBHdXp6bGUsIGh0dHA6Ly9ndXp6bGVwaHAub3JnJwopKTsKCi8vIFNlbmQgdGhlIHJlcXVlc3QgYW5kIHBhcnNlIHRoZSBKU09OIHJlc3BvbnNlIGludG8gYW4gYXJyYXkKJGRhdGEgPSAkcmVxdWVzdC0+c2VuZCgpLT5qc29uKCk7CmVjaG8gJGRhdGFbJ3RleHQnXTsKLy8gPj4+IFR3ZWV0ZWQgd2l0aCBHdXp6bGUsIGh0dHA6Ly90LmNvL2tuZ0pNZlJrCjwvcHJlPgo8L2Rpdj4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5wcmV0dHlQcmludCgpOzwvc2NyaXB0Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/_templates/leftbar.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/docs/_templates/nav_links.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGxpPjxhIGhyZWY9Int7IHBhdGh0bygnZG9jcycpIH19Ij5Eb2NzPC9hPjwvbGk+CjxsaT48YSBocmVmPSJodHRwOi8vZ3V6emxlcGhwLm9yZy9hcGkvaW5kZXguaHRtbCI+QVBJPC9hPjwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZ3V6emxlL2d1enpsZSI+R2l0SHViPC9hPjwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL2dyb3Vwcy5nb29nbGUuY29tL2ZvcnVtLz9obD1lbiMhZm9ydW0vZ3V6emxlIj5Gb3J1bTwvYT48L2xpPgo8bGk+PGEgaHJlZj0iaXJjOmlyYy5mcmVlbm9kZS5jb20vI2d1enpsZXBocCI+SVJDPC9hPjwvbGk+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/LICENSE</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q29weXJpZ2h0IChjKSAyMDExIE1pY2hhZWwgRG93bGluZywgaHR0cHM6Ly9naXRodWIuY29tL210ZG93bGluZyA8bXRkb3dsaW5nQGdtYWlsLmNvbT4KClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwp0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwpmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgpJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgpUSEUgU09GVFdBUkUuCg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/phar-stub.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKClBoYXI6Om1hcFBoYXIoJ2d1enpsZS5waGFyJyk7CgpyZXF1aXJlX29uY2UgJ3BoYXI6Ly9ndXp6bGUucGhhci92ZW5kb3Ivc3ltZm9ueS9jbGFzcy1sb2FkZXIvU3ltZm9ueS9Db21wb25lbnQvQ2xhc3NMb2FkZXIvVW5pdmVyc2FsQ2xhc3NMb2FkZXIucGhwJzsKCiRjbGFzc0xvYWRlciA9IG5ldyBTeW1mb255XENvbXBvbmVudFxDbGFzc0xvYWRlclxVbml2ZXJzYWxDbGFzc0xvYWRlcigpOwokY2xhc3NMb2FkZXItPnJlZ2lzdGVyTmFtZXNwYWNlcyhhcnJheSgKICAgICdHdXp6bGUnID0+ICdwaGFyOi8vZ3V6emxlLnBoYXIvc3JjJywKICAgICdTeW1mb255XFxDb21wb25lbnRcXEV2ZW50RGlzcGF0Y2hlcicgPT4gJ3BoYXI6Ly9ndXp6bGUucGhhci92ZW5kb3Ivc3ltZm9ueS9ldmVudC1kaXNwYXRjaGVyJywKICAgICdEb2N0cmluZScgPT4gJ3BoYXI6Ly9ndXp6bGUucGhhci92ZW5kb3IvZG9jdHJpbmUvY29tbW9uL2xpYicsCiAgICAnTW9ub2xvZycgPT4gJ3BoYXI6Ly9ndXp6bGUucGhhci92ZW5kb3IvbW9ub2xvZy9tb25vbG9nL3NyYycKKSk7CiRjbGFzc0xvYWRlci0+cmVnaXN0ZXIoKTsKCl9fSEFMVF9DT01QSUxFUigpOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/phing/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/phing/build.properties.dist</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyB5b3UgbWF5IG5lZWQgdG8gdXBkYXRlIHRoaXMgaWYgeW91J3JlIHdvcmtpbmcgb24gYSBmb3JrLgpndXp6bGUucmVtb3RlPWdpdEBnaXRodWIuY29tOmd1enpsZS9ndXp6bGUuZ2l0CgojIGdpdGh1YiBjcmVkZW50aWFscyAtLSBvbmx5IHVzZWQgYnkgR2l0SHViIEFQSSBjYWxscyB0byBjcmVhdGUgc3VidHJlZSByZXBvcwpnaXRodWIuYmFzaWNhdXRoPXVzZXJuYW1lOnBhc3N3b3JkCiMgZm9yIHRoZSBzdWJ0cmVlIHNwbGl0IGFuZCB0ZXN0aW5nCmdpdGh1Yi5vcmc9Z3V6emxlCgojIHlvdXIgZ2l0IHBhdGgKY21kLmdpdD1naXQKCiMgeW91ciBjb21wb3NlciBjb21tYW5kCmNtZC5jb21wb3Nlcj1jb21wb3NlcgoKIyB0ZXN0IHNlcnZlciBzdGFydApjbWQudGVzdHNlcnZlcj1ub2RlCg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/phing/imports/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/phing/imports/dependencies.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgYmFzZWRpcj0iLi4vLi4vIiBkZWZhdWx0PSJpbnN0YWxsLWRlcGVuZGVuY2llcyI+CgogICAgPHByb3BlcnR5IG5hbWU9ImNtZC5jb21wb3NlciIgdmFsdWU9IiIgLz4KICAgIDxwcm9wZXJ0eSBuYW1lPSJjbWQuZ2l0IiB2YWx1ZT0iIiAvPgogICAgPHByb3BlcnR5IG5hbWU9ImNtZC50ZXN0c2VydmVyIiB2YWx1ZT0iIiAvPgoKICAgIDwhLS0KICAgIE91ciBjdXN0b20gdGFza3MKICAgIC0tPgogICAgPHRhc2tkZWYgbmFtZT0iY29tcG9zZXJsaW50IiBjbGFzc25hbWU9InBoaW5nLnRhc2tzLkNvbXBvc2VyTGludFRhc2siIC8+CiAgICA8dGFza2RlZiBuYW1lPSJndXp6bGVzdWJzcGxpdCIgY2xhc3NuYW1lPSJwaGluZy50YXNrcy5HdXp6bGVTdWJTcGxpdFRhc2siIC8+CiAgICA8dGFza2RlZiBuYW1lPSJndXp6bGVwZWFyIiBjbGFzc25hbWU9InBoaW5nLnRhc2tzLkd1enpsZVBlYXJQaGFyUGFja2FnZVRhc2siIC8+CgogICAgPHRhcmdldCBuYW1lPSJmaW5kLWdpdCI+CiAgICAgICAgPGlmPgogICAgICAgICAgICA8Y29udGFpbnMgc3RyaW5nPSIke2NtZC5naXR9IiBzdWJzdHJpbmc9ImdpdCIgLz4KICAgICAgICAgICAgPHRoZW4+CiAgICAgICAgICAgICAgICA8ZWNobz51c2luZyBnaXQgYXQgJHtjbWQuZ2l0fTwvZWNobz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgIDxlbHNlPgogICAgICAgICAgICA8ZXhlYyBjb21tYW5kPSJ3aGljaCBnaXQiIG91dHB1dFByb3BlcnR5PSJjbWQuZ2l0IiAvPgogICAgICAgICAgICA8ZWNobz5mb3VuZCBnaXQgYXQgJHtjbWQuZ2l0fTwvZWNobz4KICAgICAgICA8L2Vsc2U+CiAgICAgICAgPC9pZj4KICAgIDwvdGFyZ2V0PgoKICAgIDx0YXJnZXQgbmFtZT0iY2xlYW4tZGVwZW5kZW5jaWVzIj4KICAgICAgICA8ZGVsZXRlIGRpcj0iJHtwcm9qZWN0LmJhc2VkaXJ9L3ZlbmRvciIvPgogICAgICAgIDxkZWxldGUgZmlsZT0iJHtwcm9qZWN0LmJhc2VkaXJ9L2NvbXBvc2VyLmxvY2siIC8+CiAgICA8L3RhcmdldD4KCjwvcHJvamVjdD4K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/phing/imports/deploy.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgYmFzZWRpcj0iLi4vLi4vIiBkZWZhdWx0PSJkZXBsb3kiPgoKICAgIDxwcm9wZXJ0eSBuYW1lPSJnaXQuc3RhdHVzIiB2YWx1ZT0iIi8+CiAgICA8cHJvcGVydHkgbmFtZT0iZ2l0LmN1cnJlbnRicmFuY2giIHZhbHVlPSIiLz4KICAgIDx0YXJnZXQgbmFtZT0iY2hlY2stZ2l0LWJyYW5jaC1zdGF0dXMiPgogICAgICAgIDxleGVjIGNvbW1hbmQ9ImdpdCBzdGF0dXMgLXMgLWIiIG91dHB1dFByb3BlcnR5PSJnaXQuY3VycmVudGJyYW5jaCIgLz4KICAgICAgICA8aWY+CiAgICAgICAgICAgIDxlcXVhbHMgYXJnMT0iJHtnaXQuY3VycmVudGJyYW5jaH0iIGFyZzI9IiMjICR7aGVhZH0iIHRyaW09InRydWUiLz4KICAgICAgICAgICAgPHRoZW4+CiAgICAgICAgICAgICAgICA8ZWNobz5PbiBicmFuY2ggJHtoZWFkfTwvZWNobz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZT4KICAgICAgICAgICAgICAgIDxmYWlsIG1lc3NhZ2U9Ii1EaGVhZD0ke2hlYWR9IGFyZyBkaWQgbm90IG1hdGNoICR7Z2l0LmN1cnJlbnRicmFuY2h9Ii8+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICA8L2lmPgogICAgICAgIDxleGVjIGNvbW1hbmQ9ImdpdCBzdGF0dXMgLXMiIG91dHB1dFByb3BlcnR5PSJnaXQuc3RhdHVzIiAvPgogICAgICAgIDxpZj4KICAgICAgICAgICAgPGVxdWFscyBhcmcxPSIke2dpdC5zdGF0dXN9IiBhcmcyPSIiIHRyaW09InRydWUiLz4KICAgICAgICAgICAgPHRoZW4+CiAgICAgICAgICAgICAgICA8ZWNobz53b3JraW5nIGRpcmVjdG9yeSBjbGVhbjwvZWNobz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZT4KICAgICAgICAgICAgICAgIDxlY2hvPiR7Z2l0LnN0YXR1c308L2VjaG8+CiAgICAgICAgICAgICAgICA8ZmFpbCBtZXNzYWdlPSJXb3JraW5nIGRpcmVjdG9yeSBpc24ndCBjbGVhbi4iIC8+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICA8L2lmPgogICAgPC90YXJnZXQ+CgogICAgPHByb3BlcnR5IG5hbWU9InZlcnNpb24uY2hhbmdlbG9nIiB2YWx1ZT0iIi8+CiAgICA8cHJvcGVydHkgbmFtZT0idmVyc2lvbi52ZXJzaW9uIiB2YWx1ZT0iIi8+CiAgICA8dGFyZ2V0IG5hbWU9ImNoZWNrLWNoYW5nZWxvZy12ZXJzaW9uIj4KICAgICAgICA8ZXhlYyBleGVjdXRhYmxlPSJmZ3JlcCIgb3V0cHV0UHJvcGVydHk9InZlcnNpb24uY2hhbmdlbG9nIj4KICAgICAgICAgICAgPGFyZyB2YWx1ZT0iJHtuZXcudmVyc2lvbn0gKCIvPgogICAgICAgICAgICA8YXJnIHZhbHVlPSIke3Byb2plY3QuYmFzZWRpcn0vQ0hBTkdFTE9HLm1kIi8+CiAgICAgICAgPC9leGVjPgogICAgICAgIDxpZj4KICAgICAgICAgICAgPGVxdWFscyBhcmcxPSIke3ZlcnNpb24uY2hhbmdlbG9nfSIgYXJnMj0iIiB0cmltPSJ0cnVlIi8+CiAgICAgICAgICAgIDx0aGVuPgogICAgICAgICAgICAgICAgPGZhaWwgbWVzc2FnZT0iJHtuZXcudmVyc2lvbn0gbm90IG1lbnRpb25lZCBpbiBDSEFOR0VMT0ciLz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgIDwvaWY+CgogICAgICAgIDxleGVjIGV4ZWN1dGFibGU9ImZncmVwIiBvdXRwdXRQcm9wZXJ0eT0idmVyc2lvbi52ZXJzaW9uIj4KICAgICAgICAgICAgPGFyZyB2YWx1ZT0iY29uc3QgVkVSU0lPTiA9ICcke25ldy52ZXJzaW9ufSciLz4KICAgICAgICAgICAgPGFyZyB2YWx1ZT0iJHtwcm9qZWN0LmJhc2VkaXJ9L3NyYy9HdXp6bGUvQ29tbW9uL1ZlcnNpb24ucGhwIi8+CiAgICAgICAgPC9leGVjPgogICAgICAgIDxpZj4KICAgICAgICAgICAgPGVxdWFscyBhcmcxPSIke3ZlcnNpb24udmVyc2lvbn0iIGFyZzI9IiIgdHJpbT0idHJ1ZSIvPgogICAgICAgICAgICA8dGhlbj4KICAgICAgICAgICAgICAgIDxmYWlsIG1lc3NhZ2U9IiR7bmV3LnZlcnNpb259IG5vdCBtZW50aW9uZWQgaW4gR3V6emxlXENvbW1vblxWZXJzaW9uIi8+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICA8L2lmPgoKICAgICAgICA8ZWNobz5DaGFuZ2VMb2cgTWF0Y2g6ICR7dmVyc2lvbi5jaGFuZ2Vsb2d9PC9lY2hvPgogICAgICAgIDxlY2hvPkd1enpsZVxDb21tb25cVmVyc2lvbiBNYXRjaDogJHt2ZXJzaW9uLnZlcnNpb259PC9lY2hvPgogICAgPC90YXJnZXQ+CgogICAgPHRhcmdldCBuYW1lPSJoZWxwIiBkZXNjcmlwdGlvbj0iSEVMUCBBTkQgUkVNSU5ERVJTIGFib3V0IHdoYXQgeW91IGNhbiBkbyB3aXRoIHRoaXMgcHJvamVjdCI+CiAgICAgICAgPGVjaG8+cmVsZWFzaW5nOiBwaGluZyAtRG5ldy52ZXJzaW9uPTMuMC54IC1EaGVhZD1tYXN0ZXIgcmVsZWFzZTwvZWNobz4KICAgICAgICA8ZWNobz4tLTwvZWNobz4KICAgICAgICA8ZXhlYyBjb21tYW5kPSJwaGluZyAtbCIgcGFzc3RocnU9InRydWUiLz4KICAgIDwvdGFyZ2V0PgoKICAgIDx0YXJnZXQgbmFtZT0icmVsZWFzZSIgZGVwZW5kcz0iY2hlY2stY2hhbmdlbG9nLXZlcnNpb24sY2hlY2stZ2l0LWJyYW5jaC1zdGF0dXMiCiAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJ0YWcsIHN1YnRyZWUgc3BsaXQsIHBhY2thZ2UsIGRlcGxveTogVXNlOiBwaGluZyAtRG5ldy52ZXJzaW9uPVtUQUddIC1EaGVhZD1bQlJBTkNIXSByZWxlYXNlIj4KICAgICAgICA8aWY+CiAgICAgICAgICAgIDxpc3NldCBwcm9wZXJ0eT0ibmV3LnZlcnNpb24iIC8+CiAgICAgICAgICAgIDx0aGVuPgogICAgICAgICAgICAgICAgPGlmPgogICAgICAgICAgICAgICAgICAgIDxjb250YWlucyBzdHJpbmc9IiR7bmV3LnZlcnNpb259IiBzdWJzdHJpbmc9InYiIGNhc2VzZW5zaXRpdmU9ImZhbHNlIiAvPgogICAgICAgICAgICAgICAgICAgIDx0aGVuPgogICAgICAgICAgICAgICAgICAgICAgICA8ZmFpbCBtZXNzYWdlPSJQbGVhc2Ugc3BlY2lmeSB2ZXJzaW9uIGFzIFswLTldLlswLTldLlswLTldLiAoSSdsbCBhZGQgdiBmb3IgeW91LikiLz4KICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgICAgPGVsc2U+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZWNobz5CRUdJTk5JTkcgUkVMRUFTRSBGT1IgJHtuZXcudmVyc2lvbn08L2VjaG8+CgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGNoZWNrb3V0IHRoZSBzcGVjaWZpZWQgYnJhbmNoIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxnaXRjaGVja291dCByZXBvc2l0b3J5PSIke3JlcG8uZGlyfSIgYnJhbmNobmFtZT0iJHtoZWFkfSIgZ2l0UGF0aD0iJHtjbWQuZ2l0fSIgLz4gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRW5zdXJlIHRoYXQgdGhlIHRhZyBleGlzdHMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gcHVzaCB0aGUgdGFnIHVwIHNvIHN1YnNwbGl0IHdpbGwgZ2V0IGl0IC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tZ2l0cHVzaCByZXBvc2l0b3J5PSIke3JlcG8uZGlyfSIgdGFncz0idHJ1ZSIgZ2l0UGF0aD0iJHtjbWQuZ2l0fSIgLy0tPgoKICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBub3cgZG8gdGhlIHN1YnNwbGl0cyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGd1enpsZXN1YnNwbGl0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwb3NpdG9yeT0iJHtyZXBvLmRpcn0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3RlPSIke2d1enpsZS5yZW1vdGV9IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRzPSIke2hlYWR9IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZ3M9InYke25ldy52ZXJzaW9ufSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlPSJzcmMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViSW5kaWNhdG9yRmlsZT0iY29tcG9zZXIuanNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaXRQYXRoPSIke2NtZC5naXR9IiAvPgoKICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDb3B5IC5tZCBmaWxlcyBpbnRvIHRoZSBQRUFSIHBhY2thZ2UgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb3B5IGZpbGU9IiR7cmVwby5kaXJ9L0xJQ0VOU0UiIHRvZmlsZT0iLnN1YnNwbGl0L3NyYy9HdXp6bGUvTElDRU5TRS5tZCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvcHkgZmlsZT0iJHtyZXBvLmRpcn0vUkVBRE1FLm1kIiB0b2ZpbGU9Ii5zdWJzcGxpdC9zcmMvR3V6emxlL1JFQURNRS5tZCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvcHkgZmlsZT0iJHtyZXBvLmRpcn0vQ0hBTkdFTE9HLm1kIiB0b2ZpbGU9Ii5zdWJzcGxpdC9zcmMvR3V6emxlL0NIQU5HRUxPRy5tZCIgLz4KCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gYW5kIG5vdyB0aGUgcGVhciBwYWNrYWdlcyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGd1enpsZXBlYXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uPSIke25ldy52ZXJzaW9ufSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWtlcGhhcj0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KCiAgICAgICAgICAgICAgICA8L2lmPgogICAgICAgICAgICA8L3RoZW4+CgogICAgICAgICAgICA8ZWxzZT4KICAgICAgICAgICAgICAgIDxlY2hvPlRpcDogdG8gY3JlYXRlIGEgbmV3IHJlbGVhc2UsIGRvOiBwaGluZyAtRG5ldy52ZXJzaW9uPVtUQUddIC1EaGVhZD1bQlJBTkNIXSByZWxlYXNlPC9lY2hvPgogICAgICAgICAgICA8L2Vsc2U+CgogICAgICAgIDwvaWY+CiAgICA8L3RhcmdldD4KCiAgICA8dGFyZ2V0IG5hbWU9InBlYXItY2hhbm5lbCI+CiAgICAgICAgPGd1enpsZXBlYXIgdmVyc2lvbj0iJHtuZXcudmVyc2lvbn0iIGRlcGxveT0idHJ1ZSIgbWFrZXBoYXI9InRydWUiIC8+CiAgICA8L3RhcmdldD4KCiAgICA8dGFyZ2V0IG5hbWU9InBhY2thZ2UtcGhhciIgZGVzY3JpcHRpb249IkNyZWF0ZSBhIHBoYXIgd2l0aCBhbiBhdXRvbG9hZGVyIj4KICAgICAgICA8cGhhcnBhY2thZ2UKICAgICAgICAgICAgICAgIGRlc3RmaWxlPSIke2Rpci5vdXRwdXR9L2d1enpsZS5waGFyIgogICAgICAgICAgICAgICAgYmFzZWRpcj0iJHtwcm9qZWN0LmJhc2VkaXJ9Ly5zdWJzcGxpdCIKICAgICAgICAgICAgICAgIHN0dWI9InBoYXItc3R1Yi5waHAiCiAgICAgICAgICAgICAgICBzaWduYXR1cmU9Im1kNSI+CiAgICAgICAgICAgIDxmaWxlc2V0IGRpcj0iJHtwcm9qZWN0LmJhc2VkaXJ9Ly5zdWJzcGxpdCI+CiAgICAgICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSJzcmMvKiovKi5waHAiIC8+CiAgICAgICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSJzcmMvKiovKi5wZW0iIC8+CiAgICAgICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSJzcmMvKiovKi5tZDUiIC8+CiAgICAgICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSJ2ZW5kb3Ivc3ltZm9ueS9jbGFzcy1sb2FkZXIvU3ltZm9ueS9Db21wb25lbnQvQ2xhc3NMb2FkZXIvVW5pdmVyc2FsQ2xhc3NMb2FkZXIucGhwIiAvPgogICAgICAgICAgICAgICAgPGluY2x1ZGUgbmFtZT0idmVuZG9yL3N5bWZvbnkvZXZlbnQtZGlzcGF0Y2hlci8qKi8qLnBocCIgLz4KICAgICAgICAgICAgICAgIDxpbmNsdWRlIG5hbWU9InZlbmRvci9kb2N0cmluZS9jb21tb24vbGliL0RvY3RyaW5lL0NvbW1vbi9DYWNoZS8qLnBocCIgLz4KICAgICAgICAgICAgICAgIDxpbmNsdWRlIG5hbWU9InZlbmRvci9tb25vbG9nL21vbm9sb2cvc3JjLyoqLyoucGhwIiAvPgogICAgICAgICAgICA8L2ZpbGVzZXQ+CiAgICAgICAgICAgIDxtZXRhZGF0YT4KICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvciIgdmFsdWU9Ik1pY2hhZWwgRG93bGluZyIgLz4KICAgICAgICAgICAgPC9tZXRhZGF0YT4KICAgICAgICA8L3BoYXJwYWNrYWdlPgogICAgPC90YXJnZXQ+Cgo8L3Byb2plY3Q+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/phing/tasks/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/phing/tasks/ComposerLintTask.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFBoaW5nIHRhc2sgZm9yIGNvbXBvc2VyIHZhbGlkYXRpb24uCiAqCiAqIEBjb3B5cmlnaHQgMjAxMiBDbGF5IExvdmVsZXNzIDxjbGF5QHBocC5uZXQ+CiAqIEBsaWNlbnNlICAgaHR0cDovL2NsYXlsby5taXQtbGljZW5zZS5vcmcvMjAxMi8gTUlUIExpY2Vuc2UKICovCgpyZXF1aXJlX29uY2UgJ3BoaW5nL1Rhc2sucGhwJzsKCmNsYXNzIENvbXBvc2VyTGludFRhc2sgZXh0ZW5kcyBUYXNrCnsKICAgIHByb3RlY3RlZCAkZGlyID0gbnVsbDsKICAgIHByb3RlY3RlZCAkZmlsZSA9IG51bGw7CiAgICBwcm90ZWN0ZWQgJHBhc3N0aHJ1ID0gZmFsc2U7CiAgICBwcm90ZWN0ZWQgJGNvbXBvc2VyID0gbnVsbDsKCiAgICAvKioKICAgICAqIFRoZSBzZXR0ZXIgZm9yIHRoZSBkaXIKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzdHIgRGlyZWN0b3J5IHRvIGNyYXdsIHJlY3Vyc2l2ZWx5IGZvciBjb21wb3NlciBmaWxlcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RGlyKCRzdHIpCiAgICB7CiAgICAgICAgJHRoaXMtPmRpciA9ICRzdHI7CiAgICB9CgogICAgLyoqCiAgICAgKiBUaGUgc2V0dGVyIGZvciB0aGUgZmlsZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHN0ciBJbmRpdmlkdWFsIGZpbGUgdG8gdmFsaWRhdGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEZpbGUoJHN0cikKICAgIHsKICAgICAgICAkdGhpcy0+ZmlsZSA9ICRzdHI7CiAgICB9CgogICAgLyoqCiAgICAgKiBXaGV0aGVyIHRvIHVzZSBQSFAncyBwYXNzdGhydSgpIGZ1bmN0aW9uIGluc3RlYWQgb2YgZXhlYygpCiAgICAgKgogICAgICogQHBhcmFtIGJvb2xlYW4gJHBhc3N0aHJ1IElmIHBhc3N0aHJ1IHNoYWxsIGJlIHVzZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFBhc3N0aHJ1KCRwYXNzdGhydSkKICAgIHsKICAgICAgICAkdGhpcy0+cGFzc3RocnUgPSAoYm9vbCkgJHBhc3N0aHJ1OwogICAgfQoKICAgIC8qKgogICAgICogQ29tcG9zZXIgdG8gZXhlY3V0ZS4gSWYgdW5zZXQsIHdpbGwgYXR0ZW1wdCBjb21wb3Nlci5waGFyIGluIHByb2plY3QKICAgICAqIGJhc2VkaXIsIGFuZCBpZiB0aGF0IGZhaWxzLCB3aWxsIGF0dGVtcHQgZ2xvYmFsIGNvbXBvc2VyCiAgICAgKiBpbnN0YWxsYXRpb24uCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkc3RyIEluZGl2aWR1YWwgZmlsZSB0byB2YWxpZGF0ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Q29tcG9zZXIoJHN0cikKICAgIHsKICAgICAgICAkdGhpcy0+ZmlsZSA9ICRzdHI7CiAgICB9CgogICAgLyoqCiAgICAgKiBUaGUgaW5pdCBtZXRob2Q6IGRvIGluaXQgc3RlcHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGluaXQoKQogICAgewogICAgICAgIC8vIG5vdGhpbmcgbmVlZGVkIGhlcmUKICAgIH0KCiAgICAvKioKICAgICAqIFRoZSBtYWluIGVudHJ5IHBvaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBtYWluKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPmNvbXBvc2VyID09PSBudWxsKSB7CiAgICAgICAgICAgICR0aGlzLT5maW5kQ29tcG9zZXIoKTsKICAgICAgICB9CgogICAgICAgICRmaWxlcyA9IGFycmF5KCk7CiAgICAgICAgaWYgKCFlbXB0eSgkdGhpcy0+ZmlsZSkgJiYgZmlsZV9leGlzdHMoJHRoaXMtPmZpbGUpKSB7CiAgICAgICAgICAgICRmaWxlc1tdID0gJHRoaXMtPmZpbGU7CiAgICAgICAgfQoKICAgICAgICBpZiAoIWVtcHR5KCR0aGlzLT5kaXIpKSB7CiAgICAgICAgICAgICRmb3VuZCA9ICR0aGlzLT5maW5kRmlsZXMoKTsKICAgICAgICAgICAgZm9yZWFjaCAoJGZvdW5kIGFzICRmaWxlKSB7CiAgICAgICAgICAgICAgICAkZmlsZXNbXSA9ICR0aGlzLT5kaXIgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZvcmVhY2ggKCRmaWxlcyBhcyAkZmlsZSkgewoKICAgICAgICAgICAgJGNtZCA9ICR0aGlzLT5jb21wb3NlciAuICcgdmFsaWRhdGUgJyAuICRmaWxlOwogICAgICAgICAgICAkY21kID0gZXNjYXBlc2hlbGxjbWQoJGNtZCk7CgogICAgICAgICAgICBpZiAoJHRoaXMtPnBhc3N0aHJ1KSB7CiAgICAgICAgICAgICAgICAkcmV0dmFsID0gbnVsbDsKICAgICAgICAgICAgICAgIHBhc3N0aHJ1KCRjbWQsICRyZXR2YWwpOwogICAgICAgICAgICAgICAgaWYgKCRyZXR2YWwgPT0gMSkgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBCdWlsZEV4Y2VwdGlvbignaW52YWxpZCBjb21wb3Nlci5qc29uJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgICRyZXR2YWwgPSBudWxsOwogICAgICAgICAgICAgICAgZXhlYygkY21kLCAkb3V0LCAkcmV0dmFsKTsKICAgICAgICAgICAgICAgIGlmICgkcmV0dmFsID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkZXJyID0gam9pbigiXG4iLCAkb3V0KTsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQnVpbGRFeGNlcHRpb24oJGVycik7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5sb2coJG91dFswXSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgfQoKICAgIH0KCiAgICAvKioKICAgICAqIEZpbmQgdGhlIGNvbXBvc2VyLmpzb24gZmlsZXMgdXNpbmcgUGhpbmcncyBkaXJlY3Rvcnkgc2Nhbm5lcgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGZpbmRGaWxlcygpCiAgICB7CiAgICAgICAgJGRzID0gbmV3IERpcmVjdG9yeVNjYW5uZXIoKTsKICAgICAgICAkZHMtPnNldEJhc2VkaXIoJHRoaXMtPmRpcik7CiAgICAgICAgJGRzLT5zZXRJbmNsdWRlcyhhcnJheSgnKiovY29tcG9zZXIuanNvbicpKTsKICAgICAgICAkZHMtPnNjYW4oKTsKICAgICAgICByZXR1cm4gJGRzLT5nZXRJbmNsdWRlZEZpbGVzKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBGaW5kIGNvbXBvc2VyIGluc3RhbGxhdGlvbgogICAgICoKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGZpbmRDb21wb3NlcigpCiAgICB7CiAgICAgICAgJGJhc2VkaXIgPSAkdGhpcy0+cHJvamVjdC0+Z2V0QmFzZWRpcigpOwogICAgICAgICRwaHAgPSAkdGhpcy0+cHJvamVjdC0+Z2V0UHJvcGVydHkoJ3BocC5pbnRlcnByZXRlcicpOwoKICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGJhc2VkaXIgLiAnL2NvbXBvc2VyLnBoYXInKSkgewogICAgICAgICAgICAkdGhpcy0+Y29tcG9zZXIgPSAiJHBocCAkYmFzZWRpci9jb21wb3Nlci5waGFyIjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgICAgICAgZXhlYygnd2hpY2ggY29tcG9zZXInLCAkb3V0KTsKICAgICAgICAgICAgaWYgKGVtcHR5KCRvdXQpKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQnVpbGRFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAgICAgJ0NvdWxkIG5vdCBkZXRlcm1pbmUgY29tcG9zZXIgbG9jYXRpb24uJwogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkdGhpcy0+Y29tcG9zZXIgPSAkb3V0WzBdOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/phing/tasks/GuzzlePearPharPackageTask.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEd1enpsZSdzIGJ1aWxkIHByb2Nlc3MuCiAqCiAqIEBjb3B5cmlnaHQgMjAxMiBDbGF5IExvdmVsZXNzIDxjbGF5QHBocC5uZXQ+CiAqIEBsaWNlbnNlICAgaHR0cDovL2NsYXlsby5taXQtbGljZW5zZS5vcmcvMjAxMi8gTUlUIExpY2Vuc2UKICovCgpyZXF1aXJlX29uY2UgJ3BoaW5nL1Rhc2sucGhwJzsKcmVxdWlyZV9vbmNlICdQRUFSL1BhY2thZ2VGaWxlTWFuYWdlcjIucGhwJzsKcmVxdWlyZV9vbmNlICdQRUFSL1BhY2thZ2VGaWxlTWFuYWdlci9GaWxlLnBocCc7CnJlcXVpcmVfb25jZSAnUEVBUi9QYWNrYWdlci5waHAnOwoKY2xhc3MgR3V6emxlUGVhclBoYXJQYWNrYWdlVGFzayBleHRlbmRzIFRhc2sKewogICAgcHJpdmF0ZSAkdmVyc2lvbjsKICAgIHByaXZhdGUgJGRlcGxveSA9IHRydWU7CiAgICBwcml2YXRlICRtYWtlcGhhciA9IHRydWU7CgogICAgcHJpdmF0ZSAkc3VicGFja2FnZXMgPSBhcnJheSgpOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRWZXJzaW9uKCRzdHIpCiAgICB7CiAgICAgICAgJHRoaXMtPnZlcnNpb24gPSAkc3RyOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRWZXJzaW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnZlcnNpb247CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldERlcGxveSgkZGVwbG95KQogICAgewogICAgICAgICR0aGlzLT5kZXBsb3kgPSAoYm9vbCkgJGRlcGxveTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGVwbG95KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRlcGxveTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0TWFrZXBoYXIoJG1ha2VwaGFyKQogICAgewogICAgICAgICR0aGlzLT5tYWtlcGhhciA9IChib29sKSAkbWFrZXBoYXI7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldE1ha2VwaGFyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPm1ha2VwaGFyOwogICAgfQoKICAgIHByaXZhdGUgJGJhc2VkaXI7CiAgICBwcml2YXRlICRndXp6bGVpbmZvOwogICAgcHJpdmF0ZSAkY2hhbmdlbG9nX3JlbGVhc2VfZGF0ZTsKICAgIHByaXZhdGUgJGNoYW5nZWxvZ19ub3RlcyA9ICctJzsKCiAgICBwdWJsaWMgZnVuY3Rpb24gbWFpbigpCiAgICB7CiAgICAgICAgJHRoaXMtPmJhc2VkaXIgPSAkdGhpcy0+Z2V0UHJvamVjdCgpLT5nZXRCYXNlZGlyKCk7CgogICAgICAgIGlmICghaXNfZGlyKChzdHJpbmcpICR0aGlzLT5iYXNlZGlyLicvLnN1YnNwbGl0JykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEJ1aWxkRXhjZXB0aW9uKCdQRUFSIHBhY2thZ2luZyByZXF1aXJlcyAuc3Vic3BsaXQgZGlyZWN0b3J5Jyk7CiAgICAgICAgfQoKICAgICAgICAvLyBtYWluIGNvbXBvc2VyIGZpbGUKICAgICAgICAkY29tcG9zZXJfZmlsZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKChzdHJpbmcpICR0aGlzLT5iYXNlZGlyLicvLnN1YnNwbGl0L2NvbXBvc2VyLmpzb24nKTsKICAgICAgICAkdGhpcy0+Z3V6emxlaW5mbyA9IGpzb25fZGVjb2RlKCRjb21wb3Nlcl9maWxlLCB0cnVlKTsKCiAgICAgICAgLy8gbWFrZSBzdXJlIHdlIGhhdmUgYSB0YXJnZXQKICAgICAgICAkcGVhcndvcmsgPSAoc3RyaW5nKSAkdGhpcy0+YmFzZWRpciAuICcvYnVpbGQvcGVhcndvcmsnOwogICAgICAgIGlmICghaXNfZGlyKCRwZWFyd29yaykpIHsKICAgICAgICAgICAgbWtkaXIoJHBlYXJ3b3JrLCAwNzc3LCB0cnVlKTsKICAgICAgICB9CiAgICAgICAgJHBlYXJsb2dzID0gKHN0cmluZykgJHRoaXMtPmJhc2VkaXIgLiAnL2J1aWxkL2FydGlmYWN0cy9sb2dzJzsKICAgICAgICBpZiAoIWlzX2RpcigkcGVhcmxvZ3MpKSB7CiAgICAgICAgICAgIG1rZGlyKCRwZWFybG9ncywgMDc3NywgdHJ1ZSk7CiAgICAgICAgfQoKICAgICAgICAkdmVyc2lvbiA9ICR0aGlzLT5nZXRWZXJzaW9uKCk7CiAgICAgICAgJHRoaXMtPmdyYWJDaGFuZ2Vsb2coKTsKICAgICAgICBpZiAoJHZlcnNpb25bMF0gPT0gJzInKSB7CiAgICAgICAgICAgICR0aGlzLT5sb2coJ2J1aWxkaW5nIHNpbmdsZSBQRUFSIHBhY2thZ2UnKTsKICAgICAgICAgICAgJHRoaXMtPmJ1aWxkU2luZ2xlUGFja2FnZSgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vICR0aGlzLT5sb2coImJ1aWxkaW5nIFBFQVIgc3VicGFja2FnZXMiKTsKICAgICAgICAgICAgLy8gJHRoaXMtPmNyZWF0ZVN1YlBhY2thZ2VzKCk7CiAgICAgICAgICAgIC8vICR0aGlzLT5sb2coImJ1aWxkaW5nIFBFQVIgYnVuZGxlIHBhY2thZ2UiKTsKICAgICAgICAgICAgJHRoaXMtPmJ1aWxkU2luZ2xlUGFja2FnZSgpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT5nZXRNYWtlcGhhcigpKSB7CiAgICAgICAgICAgICR0aGlzLT5sb2coImJ1aWxkaW5nIFBIQVIiKTsKICAgICAgICAgICAgJHRoaXMtPmdldFByb2plY3QoKS0+ZXhlY3V0ZVRhcmdldCgncGFja2FnZS1waGFyJyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRoaXMtPmdldERlcGxveSgpKSB7CiAgICAgICAgICAgICR0aGlzLT5kb0RlcGxveW1lbnQoKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRvRGVwbG95bWVudCgpCiAgICB7CiAgICAgICAgJGJhc2VkaXIgPSAoc3RyaW5nKSAkdGhpcy0+YmFzZWRpcjsKICAgICAgICAkdGhpcy0+bG9nKCdiZWdpbm5pbmcgUEVBUi9QSEFSIGRlcGxveW1lbnQnKTsKCiAgICAgICAgY2hkaXIoJGJhc2VkaXIgLiAnL2J1aWxkL3BlYXJ3b3JrJyk7CiAgICAgICAgaWYgKCFpc19kaXIoJy4vY2hhbm5lbCcpKSB7CiAgICAgICAgICAgIG1rZGlyKCcuL2NoYW5uZWwnKTsKICAgICAgICB9CgogICAgICAgIC8vIFB1bGwgdGhlIFBFQVIgY2hhbm5lbCBkb3duIGxvY2FsbHkKICAgICAgICBwYXNzdGhydSgnYXdzIHMzIHN5bmMgczM6Ly9wZWFyLmd1enpsZXBocC5vcmcgLi9jaGFubmVsJyk7CgogICAgICAgIC8vIGFkZCBQRUFSIHBhY2thZ2VzCiAgICAgICAgZm9yZWFjaCAoc2NhbmRpcignLi8nKSBhcyAkZmlsZSkgewogICAgICAgICAgICBpZiAoc3Vic3RyKCRmaWxlLCAtNCkgPT0gJy50Z3onKSB7CiAgICAgICAgICAgICAgICBwYXNzdGhydSgncGlydW0gYWRkIC4vY2hhbm5lbCAnIC4gJGZpbGUpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBpZiB3ZSBoYXZlIGEgbmV3IHBoYXIsIGFkZCBpdAogICAgICAgIGlmICgkdGhpcy0+Z2V0TWFrZXBoYXIoKSAmJiBmaWxlX2V4aXN0cygkYmFzZWRpciAuICcvYnVpbGQvYXJ0aWZhY3RzL2d1enpsZS5waGFyJykpIHsKICAgICAgICAgICAgcmVuYW1lKCRiYXNlZGlyIC4gJy9idWlsZC9hcnRpZmFjdHMvZ3V6emxlLnBoYXInLCAnLi9jaGFubmVsL2d1enpsZS5waGFyJyk7CiAgICAgICAgfQoKICAgICAgICAvLyBTeW5jIHVwIHdpdGggdGhlIFMzIGJ1Y2tldAogICAgICAgIGNoZGlyKCRiYXNlZGlyIC4gJy9idWlsZC9wZWFyd29yay9jaGFubmVsJyk7CiAgICAgICAgcGFzc3RocnUoJ2F3cyBzMyBzeW5jIC4gczM6Ly9wZWFyLmd1enpsZXBocC5vcmcnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVpbGRTaW5nbGVQYWNrYWdlKCkKICAgIHsKICAgICAgICAkdiA9ICR0aGlzLT5nZXRWZXJzaW9uKCk7CiAgICAgICAgJGFwaXZlcnNpb24gPSAkdlswXSAuICcuMC4wJzsKCiAgICAgICAgJG9wdHMgPSBhcnJheSgKICAgICAgICAgICAgJ3BhY2thZ2VkaXJlY3RvcnknID0+IChzdHJpbmcpICR0aGlzLT5iYXNlZGlyIC4gJy8uc3Vic3BsaXQvc3JjLycsCiAgICAgICAgICAgICdmaWxlbGlzdGdlbmVyYXRvcicgPT4gJ2ZpbGUnLAogICAgICAgICAgICAnaWdub3JlJyA9PiBhcnJheSgnKmNvbXBvc2VyLmpzb24nKSwKICAgICAgICAgICAgJ2Jhc2VpbnN0YWxsZGlyJyA9PiAnLycsCiAgICAgICAgICAgICdwYWNrYWdlZmlsZScgPT4gJ3BhY2thZ2UueG1sJwogICAgICAgICAgICAvLydvdXRwdXRkaXJlY3RvcnknID0+IChzdHJpbmcpICR0aGlzLT5iYXNlZGlyIC4gJy9idWlsZC9wZWFyd29yay8nCiAgICAgICAgKTsKICAgICAgICAkcGZtID0gbmV3IFBFQVJfUGFja2FnZUZpbGVNYW5hZ2VyMigpOwogICAgICAgICRwZm0tPnNldE9wdGlvbnMoJG9wdHMpOwogICAgICAgICRwZm0tPmFkZFJvbGUoJ21kJywgJ2RvYycpOwogICAgICAgICRwZm0tPmFkZFJvbGUoJ3BlbScsICdwaHAnKTsKICAgICAgICAkcGZtLT5zZXRQYWNrYWdlKCdHdXp6bGUnKTsKICAgICAgICAkcGZtLT5zZXRTdW1tYXJ5KCJPYmplY3Qtb3JpZW50ZWQgUEhQIEhUVFAgQ2xpZW50IGZvciBQSFAgNS4zKyIpOwogICAgICAgICRwZm0tPnNldERlc2NyaXB0aW9uKCR0aGlzLT5ndXp6bGVpbmZvWydkZXNjcmlwdGlvbiddKTsKICAgICAgICAkcGZtLT5zZXRQYWNrYWdlVHlwZSgncGhwJyk7CiAgICAgICAgJHBmbS0+c2V0Q2hhbm5lbCgnZ3V6emxlcGhwLm9yZy9wZWFyJyk7CiAgICAgICAgJHBmbS0+c2V0QVBJVmVyc2lvbigkYXBpdmVyc2lvbik7CiAgICAgICAgJHBmbS0+c2V0UmVsZWFzZVZlcnNpb24oJHRoaXMtPmdldFZlcnNpb24oKSk7CiAgICAgICAgJHBmbS0+c2V0QVBJU3RhYmlsaXR5KCdzdGFibGUnKTsKICAgICAgICAkcGZtLT5zZXRSZWxlYXNlU3RhYmlsaXR5KCdzdGFibGUnKTsKICAgICAgICAkcGZtLT5zZXROb3RlcygkdGhpcy0+Y2hhbmdlbG9nX25vdGVzKTsKICAgICAgICAkcGZtLT5zZXRQYWNrYWdlVHlwZSgncGhwJyk7CiAgICAgICAgJHBmbS0+c2V0TGljZW5zZSgnTUlUJywgJ2h0dHA6Ly9naXRodWIuY29tL2d1enpsZS9ndXp6bGUvYmxvYi9tYXN0ZXIvTElDRU5TRScpOwogICAgICAgICRwZm0tPmFkZE1haW50YWluZXIoJ2xlYWQnLCAnbXRkb3dsaW5nJywgJ01pY2hhZWwgRG93bGluZycsICdtdGRvd2xpbmdAZ21haWwuY29tJywgJ3llcycpOwogICAgICAgICRwZm0tPnNldERhdGUoJHRoaXMtPmNoYW5nZWxvZ19yZWxlYXNlX2RhdGUpOwogICAgICAgICRwZm0tPmdlbmVyYXRlQ29udGVudHMoKTsKCiAgICAgICAgJHBocGRlcCA9ICR0aGlzLT5ndXp6bGVpbmZvWydyZXF1aXJlJ11bJ3BocCddOwogICAgICAgICRwaHBkZXAgPSBzdHJfcmVwbGFjZSgnPj0nLCAnJywgJHBocGRlcCk7CiAgICAgICAgJHBmbS0+c2V0UGhwRGVwKCRwaHBkZXApOwogICAgICAgICRwZm0tPmFkZEV4dGVuc2lvbkRlcCgncmVxdWlyZWQnLCAnY3VybCcpOwogICAgICAgICRwZm0tPnNldFBlYXJpbnN0YWxsZXJEZXAoJzEuNC42Jyk7CiAgICAgICAgJHBmbS0+YWRkUGFja2FnZURlcFdpdGhDaGFubmVsKCdyZXF1aXJlZCcsICdFdmVudERpc3BhdGNoZXInLCAncGVhci5zeW1mb255LmNvbScsICcyLjEuMCcpOwogICAgICAgIGlmICghZW1wdHkoJHRoaXMtPnN1YnBhY2thZ2VzKSkgewogICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+c3VicGFja2FnZXMgYXMgJHBhY2thZ2UpIHsKICAgICAgICAgICAgICAgICRwa2cgPSBkaXJuYW1lKCRwYWNrYWdlKTsKICAgICAgICAgICAgICAgICRwa2cgPSBzdHJfcmVwbGFjZSgnLycsICdfJywgJHBrZyk7CiAgICAgICAgICAgICAgICAkcGZtLT5hZGRDb25mbGljdGluZ1BhY2thZ2VEZXBXaXRoQ2hhbm5lbCgkcGtnLCAnZ3V6emxlcGhwLm9yZy9wZWFyJywgZmFsc2UsICRhcGl2ZXJzaW9uKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgb2Jfc3RhcnQoKTsKICAgICAgICAkc3RhcnRkaXIgPSBnZXRjd2QoKTsKICAgICAgICBjaGRpcigoc3RyaW5nKSAkdGhpcy0+YmFzZWRpciAuICcvYnVpbGQvcGVhcndvcmsnKTsKCiAgICAgICAgZWNobyAiREVCVUdHSU5HIEdFTkVSQVRFRCBQQUNLQUdFIEZJTEVcbiI7CiAgICAgICAgJHJlc3VsdCA9ICRwZm0tPmRlYnVnUGFja2FnZUZpbGUoKTsKICAgICAgICBpZiAoJHJlc3VsdCkgewogICAgICAgICAgICAkb3V0ID0gJHBmbS0+d3JpdGVQYWNrYWdlRmlsZSgpOwogICAgICAgICAgICBlY2hvICJcblxuXG5XUklURSBQQUNLQUdFIEZJTEUgUkVTVUxUOlxuIjsKICAgICAgICAgICAgdmFyX2R1bXAoJG91dCk7CiAgICAgICAgICAgIC8vIGxvYWQgdXAgcGFja2FnZSBmaWxlIGFuZCBidWlsZCBwYWNrYWdlCiAgICAgICAgICAgICRwYWNrYWdlciA9IG5ldyBQRUFSX1BhY2thZ2VyKCk7CiAgICAgICAgICAgIGVjaG8gIlxuXG5cbkJVSUxESU5HIFBBQ0tBR0UgRlJPTSBQQUNLQUdFIEZJTEU6XG4iOwogICAgICAgICAgICAkZGVzdF9wYWNrYWdlID0gJHBhY2thZ2VyLT5wYWNrYWdlKCRvcHRzWydwYWNrYWdlZGlyZWN0b3J5J10uJ3BhY2thZ2UueG1sJyk7CiAgICAgICAgICAgIHZhcl9kdW1wKCRkZXN0X3BhY2thZ2UpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGVjaG8gIlxuXG5cbkRFQlVHR0lORyBSRVNVTFQ6XG4iOwogICAgICAgICAgICB2YXJfZHVtcCgkcmVzdWx0KTsKICAgICAgICB9CiAgICAgICAgZWNobyAicmVtb3ZpbmcgcGFja2FnZS54bWwiOwogICAgICAgIHVubGluaygkb3B0c1sncGFja2FnZWRpcmVjdG9yeSddLidwYWNrYWdlLnhtbCcpOwogICAgICAgICRsb2cgPSBvYl9nZXRfY2xlYW4oKTsKICAgICAgICBmaWxlX3B1dF9jb250ZW50cygoc3RyaW5nKSAkdGhpcy0+YmFzZWRpciAuICcvYnVpbGQvYXJ0aWZhY3RzL2xvZ3MvcGVhcl9wYWNrYWdlLmxvZycsICRsb2cpOwogICAgICAgIGNoZGlyKCRzdGFydGRpcik7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZVN1YlBhY2thZ2VzKCkKICAgIHsKICAgICAgICAkdGhpcy0+ZmluZENvbXBvbmVudHMoKTsKCiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnN1YnBhY2thZ2VzIGFzICRwYWNrYWdlKSB7CiAgICAgICAgICAgICRiYXNlaW5zdGFsbGRpciA9IGRpcm5hbWUoJHBhY2thZ2UpOwogICAgICAgICAgICAkZGlyID0gKHN0cmluZykgJHRoaXMtPmJhc2VkaXIuJy8uc3Vic3BsaXQvc3JjLycgLiAkYmFzZWluc3RhbGxkaXI7CiAgICAgICAgICAgICRjb21wb3Nlcl9maWxlID0gZmlsZV9nZXRfY29udGVudHMoKHN0cmluZykgJHRoaXMtPmJhc2VkaXIuJy8uc3Vic3BsaXQvc3JjLycuICRwYWNrYWdlKTsKICAgICAgICAgICAgJHBhY2thZ2VfaW5mbyA9IGpzb25fZGVjb2RlKCRjb21wb3Nlcl9maWxlLCB0cnVlKTsKICAgICAgICAgICAgJHRoaXMtPmxvZygnYnVpbGRpbmcgJyAuICRwYWNrYWdlX2luZm9bJ3RhcmdldC1kaXInXSAuICcgc3VicGFja2FnZScpOwogICAgICAgICAgICAkdGhpcy0+YnVpbGRTdWJQYWNrYWdlKCRkaXIsICRiYXNlaW5zdGFsbGRpciwgJHBhY2thZ2VfaW5mbyk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBidWlsZFN1YlBhY2thZ2UoJGRpciwgJGJhc2VpbnN0YWxsZGlyLCAkaW5mbykKICAgIHsKICAgICAgICAkcGFja2FnZSA9IHN0cl9yZXBsYWNlKCcvJywgJ18nLCAkYmFzZWluc3RhbGxkaXIpOwogICAgICAgICRvcHRzID0gYXJyYXkoCiAgICAgICAgICAgICdwYWNrYWdlZGlyZWN0b3J5JyA9PiAkZGlyLAogICAgICAgICAgICAnZmlsZWxpc3RnZW5lcmF0b3InID0+ICdmaWxlJywKICAgICAgICAgICAgJ2lnbm9yZScgPT4gYXJyYXkoJypjb21wb3Nlci5qc29uJywgJypwYWNrYWdlLnhtbCcpLAogICAgICAgICAgICAnYmFzZWluc3RhbGxkaXInID0+ICcvJyAuICRpbmZvWyd0YXJnZXQtZGlyJ10sCiAgICAgICAgICAgICdwYWNrYWdlZmlsZScgPT4gJ3BhY2thZ2UueG1sJwogICAgICAgICk7CiAgICAgICAgJHBmbSA9IG5ldyBQRUFSX1BhY2thZ2VGaWxlTWFuYWdlcjIoKTsKICAgICAgICAkcGZtLT5zZXRPcHRpb25zKCRvcHRzKTsKICAgICAgICAkcGZtLT5zZXRQYWNrYWdlKCRwYWNrYWdlKTsKICAgICAgICAkcGZtLT5zZXRTdW1tYXJ5KCRpbmZvWydkZXNjcmlwdGlvbiddKTsKICAgICAgICAkcGZtLT5zZXREZXNjcmlwdGlvbigkaW5mb1snZGVzY3JpcHRpb24nXSk7CiAgICAgICAgJHBmbS0+c2V0UGFja2FnZVR5cGUoJ3BocCcpOwogICAgICAgICRwZm0tPnNldENoYW5uZWwoJ2d1enpsZXBocC5vcmcvcGVhcicpOwogICAgICAgICRwZm0tPnNldEFQSVZlcnNpb24oJzMuMC4wJyk7CiAgICAgICAgJHBmbS0+c2V0UmVsZWFzZVZlcnNpb24oJHRoaXMtPmdldFZlcnNpb24oKSk7CiAgICAgICAgJHBmbS0+c2V0QVBJU3RhYmlsaXR5KCdzdGFibGUnKTsKICAgICAgICAkcGZtLT5zZXRSZWxlYXNlU3RhYmlsaXR5KCdzdGFibGUnKTsKICAgICAgICAkcGZtLT5zZXROb3RlcygkdGhpcy0+Y2hhbmdlbG9nX25vdGVzKTsKICAgICAgICAkcGZtLT5zZXRQYWNrYWdlVHlwZSgncGhwJyk7CiAgICAgICAgJHBmbS0+c2V0TGljZW5zZSgnTUlUJywgJ2h0dHA6Ly9naXRodWIuY29tL2d1enpsZS9ndXp6bGUvYmxvYi9tYXN0ZXIvTElDRU5TRScpOwogICAgICAgICRwZm0tPmFkZE1haW50YWluZXIoJ2xlYWQnLCAnbXRkb3dsaW5nJywgJ01pY2hhZWwgRG93bGluZycsICdtdGRvd2xpbmdAZ21haWwuY29tJywgJ3llcycpOwogICAgICAgICRwZm0tPnNldERhdGUoJHRoaXMtPmNoYW5nZWxvZ19yZWxlYXNlX2RhdGUpOwogICAgICAgICRwZm0tPmdlbmVyYXRlQ29udGVudHMoKTsKCiAgICAgICAgJHBocGRlcCA9ICR0aGlzLT5ndXp6bGVpbmZvWydyZXF1aXJlJ11bJ3BocCddOwogICAgICAgICRwaHBkZXAgPSBzdHJfcmVwbGFjZSgnPj0nLCAnJywgJHBocGRlcCk7CiAgICAgICAgJHBmbS0+c2V0UGhwRGVwKCRwaHBkZXApOwogICAgICAgICRwZm0tPnNldFBlYXJpbnN0YWxsZXJEZXAoJzEuNC42Jyk7CgogICAgICAgIGZvcmVhY2ggKCRpbmZvWydyZXF1aXJlJ10gYXMgJHR5cGUgPT4gJHZlcnNpb24pIHsKICAgICAgICAgICAgaWYgKCR0eXBlID09ICdwaHAnKSB7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJHR5cGUgPT0gJ3N5bWZvbnkvZXZlbnQtZGlzcGF0Y2hlcicpIHsKICAgICAgICAgICAgICAgICRwZm0tPmFkZFBhY2thZ2VEZXBXaXRoQ2hhbm5lbCgncmVxdWlyZWQnLCAnRXZlbnREaXNwYXRjaGVyJywgJ3BlYXIuc3ltZm9ueS5jb20nLCAnMi4xLjAnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJHR5cGUgPT0gJ2V4dC1jdXJsJykgewogICAgICAgICAgICAgICAgJHBmbS0+YWRkRXh0ZW5zaW9uRGVwKCdyZXF1aXJlZCcsICdjdXJsJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHN1YnN0cigkdHlwZSwgMCwgNikgPT0gJ2d1enpsZScpIHsKICAgICAgICAgICAgICAgICRnZGVwID0gc3RyX3JlcGxhY2UoJy8nLCAnICcsICR0eXBlKTsKICAgICAgICAgICAgICAgICRnZGVwID0gdWN3b3JkcygkZ2RlcCk7CiAgICAgICAgICAgICAgICAkZ2RlcCA9IHN0cl9yZXBsYWNlKCcgJywgJ18nLCAkZ2RlcCk7CiAgICAgICAgICAgICAgICAkcGZtLT5hZGRQYWNrYWdlRGVwV2l0aENoYW5uZWwoJ3JlcXVpcmVkJywgJGdkZXAsICdndXp6bGVwaHAub3JnL3BlYXInLCAkdGhpcy0+Z2V0VmVyc2lvbigpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gY2FuJ3QgaGF2ZSBtYWluIEd1enpsZSBwYWNrYWdlIEFORCBzdWItcGFja2FnZXMKICAgICAgICAkcGZtLT5hZGRDb25mbGljdGluZ1BhY2thZ2VEZXBXaXRoQ2hhbm5lbCgnR3V6emxlJywgJ2d1enpsZXBocC5vcmcvcGVhcicsIGZhbHNlLCAkYXBpdmVyc2lvbik7CgogICAgICAgIG9iX3N0YXJ0KCk7CiAgICAgICAgJHN0YXJ0ZGlyID0gZ2V0Y3dkKCk7CiAgICAgICAgY2hkaXIoKHN0cmluZykgJHRoaXMtPmJhc2VkaXIgLiAnL2J1aWxkL3BlYXJ3b3JrJyk7CgogICAgICAgIGVjaG8gIkRFQlVHR0lORyBHRU5FUkFURUQgUEFDS0FHRSBGSUxFXG4iOwogICAgICAgICRyZXN1bHQgPSAkcGZtLT5kZWJ1Z1BhY2thZ2VGaWxlKCk7CiAgICAgICAgaWYgKCRyZXN1bHQpIHsKICAgICAgICAgICAgJG91dCA9ICRwZm0tPndyaXRlUGFja2FnZUZpbGUoKTsKICAgICAgICAgICAgZWNobyAiXG5cblxuV1JJVEUgUEFDS0FHRSBGSUxFIFJFU1VMVDpcbiI7CiAgICAgICAgICAgIHZhcl9kdW1wKCRvdXQpOwogICAgICAgICAgICAvLyBsb2FkIHVwIHBhY2thZ2UgZmlsZSBhbmQgYnVpbGQgcGFja2FnZQogICAgICAgICAgICAkcGFja2FnZXIgPSBuZXcgUEVBUl9QYWNrYWdlcigpOwogICAgICAgICAgICBlY2hvICJcblxuXG5CVUlMRElORyBQQUNLQUdFIEZST00gUEFDS0FHRSBGSUxFOlxuIjsKICAgICAgICAgICAgJGRlc3RfcGFja2FnZSA9ICRwYWNrYWdlci0+cGFja2FnZSgkb3B0c1sncGFja2FnZWRpcmVjdG9yeSddLicvcGFja2FnZS54bWwnKTsKICAgICAgICAgICAgdmFyX2R1bXAoJGRlc3RfcGFja2FnZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZWNobyAiXG5cblxuREVCVUdHSU5HIFJFU1VMVDpcbiI7CiAgICAgICAgICAgIHZhcl9kdW1wKCRyZXN1bHQpOwogICAgICAgIH0KICAgICAgICBlY2hvICJyZW1vdmluZyBwYWNrYWdlLnhtbCI7CiAgICAgICAgdW5saW5rKCRvcHRzWydwYWNrYWdlZGlyZWN0b3J5J10uJy9wYWNrYWdlLnhtbCcpOwogICAgICAgICRsb2cgPSBvYl9nZXRfY2xlYW4oKTsKICAgICAgICBmaWxlX3B1dF9jb250ZW50cygoc3RyaW5nKSAkdGhpcy0+YmFzZWRpciAuICcvYnVpbGQvYXJ0aWZhY3RzL2xvZ3MvcGVhcl9wYWNrYWdlXycuJHBhY2thZ2UuJy5sb2cnLCAkbG9nKTsKICAgICAgICBjaGRpcigkc3RhcnRkaXIpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBmaW5kQ29tcG9uZW50cygpCiAgICB7CiAgICAgICAgJGRzID0gbmV3IERpcmVjdG9yeVNjYW5uZXIoKTsKICAgICAgICAkZHMtPnNldEJhc2VkaXIoKHN0cmluZykgJHRoaXMtPmJhc2VkaXIuJy8uc3Vic3BsaXQvc3JjJyk7CiAgICAgICAgJGRzLT5zZXRJbmNsdWRlcyhhcnJheSgnKiovY29tcG9zZXIuanNvbicpKTsKICAgICAgICAkZHMtPnNjYW4oKTsKICAgICAgICAkZmlsZXMgPSAkZHMtPmdldEluY2x1ZGVkRmlsZXMoKTsKICAgICAgICAkdGhpcy0+c3VicGFja2FnZXMgPSAkZmlsZXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdyYWJDaGFuZ2Vsb2coKQogICAgewogICAgICAgICRjbCA9IGZpbGUoKHN0cmluZykgJHRoaXMtPmJhc2VkaXIuJy8uc3Vic3BsaXQvQ0hBTkdFTE9HLm1kJyk7CiAgICAgICAgJG5vdGVzID0gJyc7CiAgICAgICAgJGluX3ZlcnNpb24gPSBmYWxzZTsKICAgICAgICAkcmVsZWFzZV9kYXRlID0gbnVsbDsKCiAgICAgICAgZm9yZWFjaCAoJGNsIGFzICRsaW5lKSB7CiAgICAgICAgICAgICRsaW5lID0gdHJpbSgkbGluZSk7CiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcvXlwqICcuJHRoaXMtPmdldFZlcnNpb24oKS4nIFwoKFswLTlcLV0rKVwpJC8nLCAkbGluZSwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgICAgICAkcmVsZWFzZV9kYXRlID0gJG1hdGNoZXNbMV07CiAgICAgICAgICAgICAgICAkaW5fdmVyc2lvbiA9IHRydWU7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJGluX3ZlcnNpb24gJiYgZW1wdHkoJGxpbmUpICYmIGVtcHR5KCRub3RlcykpIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkaW5fdmVyc2lvbiAmJiAhIGVtcHR5KCRsaW5lKSkgewogICAgICAgICAgICAgICAgJG5vdGVzIC49ICRsaW5lLiJcbiI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCRpbl92ZXJzaW9uICYmIGVtcHR5KCRsaW5lKSAmJiAhZW1wdHkoJG5vdGVzKSkgewogICAgICAgICAgICAgICAgJGluX3ZlcnNpb24gPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+Y2hhbmdlbG9nX3JlbGVhc2VfZGF0ZSA9ICRyZWxlYXNlX2RhdGU7CgogICAgICAgIGlmICghIGVtcHR5KCRub3RlcykpIHsKICAgICAgICAgICAgJHRoaXMtPmNoYW5nZWxvZ19ub3RlcyA9ICRub3RlczsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/phing/tasks/GuzzleSubSplitTask.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFBoaW5nIHdyYXBwZXIgYXJvdW5kIGdpdCBzdWJzcGxpdC4KICoKICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vZGZseWRldi9naXQtc3Vic3BsaXQKICogQGNvcHlyaWdodCAyMDEyIENsYXkgTG92ZWxlc3MgPGNsYXlAcGhwLm5ldD4KICogQGxpY2Vuc2UgICBodHRwOi8vY2xheWxvLm1pdC1saWNlbnNlLm9yZy8yMDEyLyBNSVQgTGljZW5zZQogKi8KCnJlcXVpcmVfb25jZSAncGhpbmcvdGFza3MvZXh0L2dpdC9HaXRCYXNlVGFzay5waHAnOwoKLy8gYmFzZSAtIGJhc2Ugb2YgdHJlZSB0byBzcGxpdCBvdXQKLy8gc3ViSW5kaWNhdG9yRmlsZSAtIGNvbXBvc2VyLmpzb24sIHBhY2thZ2UueG1sPwpjbGFzcyBHdXp6bGVTdWJTcGxpdFRhc2sgZXh0ZW5kcyBHaXRCYXNlVGFzawp7CiAgICAvKioKICAgICAqIFdoYXQgZ2l0IHJlcG9zaXRvcnkgdG8gcHVsbCBmcm9tIGFuZCBwdWJsaXNoIHRvCiAgICAgKi8KICAgIHByb3RlY3RlZCAkcmVtb3RlID0gbnVsbDsKCiAgICAvKioKICAgICAqIFB1Ymxpc2ggZm9yIGNvbW1hLXNlcGFyYXRlZCBoZWFkcyBpbnN0ZWFkIG9mIGFsbCBoZWFkcwogICAgICovCiAgICBwcm90ZWN0ZWQgJGhlYWRzID0gbnVsbDsKCiAgICAvKioKICAgICAqIFB1Ymxpc2ggZm9yIGNvbW1hLXNlcGFyYXRlZCB0YWdzIGluc3RlYWQgb2YgYWxsIHRhZ3MKICAgICAqLwogICAgcHJvdGVjdGVkICR0YWdzID0gbnVsbDsKCiAgICAvKioKICAgICAqIEJhc2Ugb2YgdGhlIHRyZWUgUkVMQVRJVkUgVE8gLnN1YnNwbGl0IHdvcmtpbmcgZGlyCiAgICAgKi8KICAgIHByb3RlY3RlZCAkYmFzZSA9IG51bGw7CgogICAgLyoqCiAgICAgKiBUaGUgcHJlc2VuY2Ugb2YgdGhpcyBmaWxlIHdpbGwgaW5kaWNhdGUgdGhhdCB0aGUgZGlyZWN0b3J5IGl0IHJlc2lkZXMKICAgICAqIGluIGlzIGF0IHRoZSB0b3AgbGV2ZWwgb2YgYSBzcGxpdC4KICAgICAqLwogICAgcHJvdGVjdGVkICRzdWJJbmRpY2F0b3JGaWxlID0gJ2NvbXBvc2VyLmpzb24nOwoKICAgIC8qKgogICAgICogRG8gZXZlcnl0aGluZyBleGNlcHQgYWN0dWFsbHkgc2VuZCB0aGUgdXBkYXRlLgogICAgICovCiAgICBwcm90ZWN0ZWQgJGRyeVJ1biA9IG51bGw7CgogICAgLyoqCiAgICAgKiBEbyBub3Qgc3luYyBhbnkgaGVhZHMuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkbm9IZWFkcyA9IGZhbHNlOwoKICAgIC8qKgogICAgICogRG8gbm90IHN5bmMgYW55IHRhZ3MuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkbm9UYWdzID0gZmFsc2U7CgogICAgLyoqCiAgICAgKiBUaGUgc3BsaXRzIHdlIGZvdW5kIGluIHRoZSBoZWFkcwogICAgICovCiAgICBwcm90ZWN0ZWQgJHNwbGl0czsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UmVtb3RlKCRzdHIpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlbW90ZSA9ICRzdHI7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlbW90ZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZW1vdGU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldEhlYWRzKCRzdHIpCiAgICB7CiAgICAgICAgJHRoaXMtPmhlYWRzID0gZXhwbG9kZSgnLCcsICRzdHIpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRIZWFkcygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5oZWFkczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VGFncygkc3RyKQogICAgewogICAgICAgICR0aGlzLT50YWdzID0gZXhwbG9kZSgnLCcsICRzdHIpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUYWdzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnRhZ3M7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldEJhc2UoJHN0cikKICAgIHsKICAgICAgICAkdGhpcy0+YmFzZSA9ICRzdHI7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldEJhc2UoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+YmFzZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U3ViSW5kaWNhdG9yRmlsZSgkc3RyKQogICAgewogICAgICAgICR0aGlzLT5zdWJJbmRpY2F0b3JGaWxlID0gJHN0cjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U3ViSW5kaWNhdG9yRmlsZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zdWJJbmRpY2F0b3JGaWxlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXREcnlSdW4oJGJvb2wpCiAgICB7CiAgICAgICAgJHRoaXMtPmRyeVJ1biA9IChib29sKSAkYm9vbDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RHJ5UnVuKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRyeVJ1bjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Tm9IZWFkcygkYm9vbCkKICAgIHsKICAgICAgICAkdGhpcy0+bm9IZWFkcyA9IChib29sKSAkYm9vbDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Tm9IZWFkcygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ub0hlYWRzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXROb1RhZ3MoJGJvb2wpCiAgICB7CiAgICAgICAgJHRoaXMtPm5vVGFncyA9IChib29sKSAkYm9vbDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Tm9UYWdzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPm5vVGFnczsKICAgIH0KCiAgICAvKioKICAgICAqIEdpdENsaWVudCBmcm9tIFZlcnNpb25Db250cm9sX0dpdAogICAgICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudCAgID0gbnVsbDsKCiAgICAvKioKICAgICAqIFRoZSBtYWluIGVudHJ5IHBvaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBtYWluKCkKICAgIHsKICAgICAgICAkcmVwbyA9ICR0aGlzLT5nZXRSZXBvc2l0b3J5KCk7CiAgICAgICAgaWYgKGVtcHR5KCRyZXBvKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgQnVpbGRFeGNlcHRpb24oJyJyZXBvc2l0b3J5IiBpcyBhIHJlcXVpcmVkIHBhcmFtZXRlcicpOwogICAgICAgIH0KCiAgICAgICAgJHJlbW90ZSA9ICR0aGlzLT5nZXRSZW1vdGUoKTsKICAgICAgICBpZiAoZW1wdHkoJHJlbW90ZSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEJ1aWxkRXhjZXB0aW9uKCcicmVtb3RlIiBpcyBhIHJlcXVpcmVkIHBhcmFtZXRlcicpOwogICAgICAgIH0KCiAgICAgICAgY2hkaXIoJHJlcG8pOwogICAgICAgICR0aGlzLT5jbGllbnQgPSAkdGhpcy0+Z2V0R2l0Q2xpZW50KGZhbHNlLCAkcmVwbyk7CgogICAgICAgIC8vIGluaXRhbGl6ZWQgeWV0PwogICAgICAgIGlmICghaXNfZGlyKCcuc3Vic3BsaXQnKSkgewogICAgICAgICAgICAkdGhpcy0+c3Vic3BsaXRJbml0KCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gdXBkYXRlCiAgICAgICAgICAgICR0aGlzLT5zdWJzcGxpdFVwZGF0ZSgpOwogICAgICAgIH0KCiAgICAgICAgLy8gZmluZCBhbGwgc3BsaXRzIGJhc2VkIG9uIGhlYWRzIHJlcXVlc3RlZAogICAgICAgICR0aGlzLT5maW5kU3BsaXRzKCk7CgogICAgICAgIC8vIGNoZWNrIHRoYXQgR2l0SHViIGhhcyB0aGUgcmVwb3MKICAgICAgICAkdGhpcy0+dmVyaWZ5UmVwb3MoKTsKCiAgICAgICAgLy8gZXhlY3V0ZSB0aGUgc3Vic3BsaXRzCiAgICAgICAgJHRoaXMtPnB1Ymxpc2goKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcHVibGlzaCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmxvZygnRFJZIFJVTiBPTkxZIEZPUiBOT1cnKTsKICAgICAgICAkYmFzZSA9ICR0aGlzLT5nZXRCYXNlKCk7CiAgICAgICAgJGJhc2UgPSBydHJpbSgkYmFzZSwgJy8nKSAuICcvJzsKICAgICAgICAkb3JnID0gJHRoaXMtPmdldE93bmluZ1RhcmdldCgpLT5nZXRQcm9qZWN0KCktPmdldFByb3BlcnR5KCdnaXRodWIub3JnJyk7CgogICAgICAgICRzcGxpdHMgPSBhcnJheSgpOwoKICAgICAgICAkaGVhZHMgPSAkdGhpcy0+Z2V0SGVhZHMoKTsKICAgICAgICBmb3JlYWNoICgkaGVhZHMgYXMgJGhlYWQpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnNwbGl0c1skaGVhZF0gYXMgJGNvbXBvbmVudCA9PiAkbWV0YSkgewogICAgICAgICAgICAgICAgJHNwbGl0c1tdID0gJGJhc2UgLiAkY29tcG9uZW50IC4gJzpnaXRAZ2l0aHViLmNvbTonLiAkb3JnLicvJy4kbWV0YVsncmVwbyddOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkY21kID0gJ2dpdCBzdWJzcGxpdCBwdWJsaXNoICc7CiAgICAgICAgICAgICRjbWQgLj0gZXNjYXBlc2hlbGxhcmcoaW1wbG9kZSgnICcsICRzcGxpdHMpKTsKCiAgICAgICAgICAgIGlmICgkdGhpcy0+Z2V0Tm9IZWFkcygpKSB7CiAgICAgICAgICAgICAgICAkY21kIC49ICcgLS1uby1oZWFkcyc7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkY21kIC49ICcgLS1oZWFkcz0nLiRoZWFkOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJHRoaXMtPmdldE5vVGFncygpKSB7CiAgICAgICAgICAgICAgICAkY21kIC49ICcgLS1uby10YWdzJzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+Z2V0VGFncygpKSB7CiAgICAgICAgICAgICAgICAgICAgJGNtZCAuPSAnIC0tdGFncz0nIC4gZXNjYXBlc2hlbGxhcmcoaW1wbG9kZSgnICcsICR0aGlzLT5nZXRUYWdzKCkpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcGFzc3RocnUoJGNtZCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUnVucyBgZ2l0IHN1YnNwbGl0IHVwZGF0ZWAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHN1YnNwbGl0VXBkYXRlKCkKICAgIHsKICAgICAgICAkcmVwbyA9ICR0aGlzLT5nZXRSZXBvc2l0b3J5KCk7CiAgICAgICAgJHRoaXMtPmxvZygnZ2l0LXN1YnNwbGl0IHVwZGF0ZS4uLicpOwogICAgICAgICRjbWQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdzdWJzcGxpdCcpOwogICAgICAgICRjbWQtPmFkZEFyZ3VtZW50KCd1cGRhdGUnKTsKICAgICAgICB0cnkgewogICAgICAgICAgICAkY21kLT5leGVjdXRlKCk7CiAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBCdWlsZEV4Y2VwdGlvbignZ2l0IHN1YnNwbGl0IHVwZGF0ZSBmYWlsZWQnLiAkZSk7CiAgICAgICAgfQogICAgICAgIGNoZGlyKCRyZXBvIC4gJy8uc3Vic3BsaXQnKTsKICAgICAgICBwYXNzdGhydSgncGhwIC4uL2NvbXBvc2VyLnBoYXIgdXBkYXRlIC0tZGV2Jyk7CiAgICAgICAgY2hkaXIoJHJlcG8pOwogICAgfQoKICAgIC8qKgogICAgICogUnVucyBgZ2l0IHN1YnNwbGl0IGluaXRgIGJhc2VkIG9uIHRoZSByZW1vdGUgcmVwb3NpdG9yeS4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHN1YnNwbGl0SW5pdCgpCiAgICB7CiAgICAgICAgJHJlbW90ZSA9ICR0aGlzLT5nZXRSZW1vdGUoKTsKICAgICAgICAkY21kID0gJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnc3Vic3BsaXQnKTsKICAgICAgICAkdGhpcy0+bG9nKCdydW5uaW5nIGdpdC1zdWJzcGxpdCBpbml0ICcgLiAkcmVtb3RlKTsKCiAgICAgICAgJGNtZC0+c2V0QXJndW1lbnRzKGFycmF5KAogICAgICAgICAgICAnaW5pdCcsCiAgICAgICAgICAgICRyZW1vdGUKICAgICAgICApKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJG91dHB1dCA9ICRjbWQtPmV4ZWN1dGUoKTsKICAgICAgICB9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEJ1aWxkRXhjZXB0aW9uKCdnaXQgc3Vic3BsaXQgaW5pdCBmYWlsZWQnLiAkZSk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5sb2codHJpbSgkb3V0cHV0KSwgUHJvamVjdDo6TVNHX0lORk8pOwogICAgICAgICRyZXBvID0gJHRoaXMtPmdldFJlcG9zaXRvcnkoKTsKICAgICAgICBjaGRpcigkcmVwbyAuICcvLnN1YnNwbGl0Jyk7CiAgICAgICAgcGFzc3RocnUoJ3BocCAuLi9jb21wb3Nlci5waGFyIGluc3RhbGwgLS1kZXYnKTsKICAgICAgICBjaGRpcigkcmVwbyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBGaW5kIHRoZSBjb21wb3Nlci5qc29uIGZpbGVzIHVzaW5nIFBoaW5nJ3MgZGlyZWN0b3J5IHNjYW5uZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBmaW5kU3BsaXRzKCkKICAgIHsKICAgICAgICAkdGhpcy0+bG9nKCJjaGVja2luZyBoZWFkcyBmb3Igc3Vic3BsaXRzIik7CiAgICAgICAgJHJlcG8gPSAkdGhpcy0+Z2V0UmVwb3NpdG9yeSgpOwogICAgICAgICRiYXNlID0gJHRoaXMtPmdldEJhc2UoKTsKCiAgICAgICAgJHNwbGl0cyA9IGFycmF5KCk7CiAgICAgICAgJGhlYWRzID0gJHRoaXMtPmdldEhlYWRzKCk7CgogICAgICAgIGlmICghZW1wdHkoJGJhc2UpKSB7CiAgICAgICAgICAgICRiYXNlID0gJy8nIC4gbHRyaW0oJGJhc2UsICcvJyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGJhc2UgPSAnLyc7CiAgICAgICAgfQoKICAgICAgICBjaGRpcigkcmVwbyAuICcvLnN1YnNwbGl0Jyk7CiAgICAgICAgZm9yZWFjaCAoJGhlYWRzIGFzICRoZWFkKSB7CiAgICAgICAgICAgICRzcGxpdHNbJGhlYWRdID0gYXJyYXkoKTsKCiAgICAgICAgICAgIC8vIGNoZWNrIGVhY2ggaGVhZCByZXF1ZXN0ZWQgKkJFRk9SRSogdGhlIGFjdHVhbCBzdWJ0cmVlIHNwbGl0IGNvbW1hbmQgZ2V0cyBpdAogICAgICAgICAgICBwYXNzdGhydSgiZ2l0IGNoZWNrb3V0ICckaGVhZCciKTsKICAgICAgICAgICAgJGRzID0gbmV3IERpcmVjdG9yeVNjYW5uZXIoKTsKICAgICAgICAgICAgJGRzLT5zZXRCYXNlZGlyKCRyZXBvIC4gJy8uc3Vic3BsaXQnIC4gJGJhc2UpOwogICAgICAgICAgICAkZHMtPnNldEluY2x1ZGVzKGFycmF5KCcqKi8nLiR0aGlzLT5zdWJJbmRpY2F0b3JGaWxlKSk7CiAgICAgICAgICAgICRkcy0+c2NhbigpOwogICAgICAgICAgICAkZmlsZXMgPSAkZHMtPmdldEluY2x1ZGVkRmlsZXMoKTsKCiAgICAgICAgICAgIC8vIFByb2Nlc3MgdGhlIGZpbGVzIHdlIGZvdW5kCiAgICAgICAgICAgIGZvcmVhY2ggKCRmaWxlcyBhcyAkZmlsZSkgewogICAgICAgICAgICAgICAgJHBrZyA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRyZXBvIC4gJy8uc3Vic3BsaXQnIC4gJGJhc2UgLicvJy4gJGZpbGUpOwogICAgICAgICAgICAgICAgJHBrZ19qc29uID0ganNvbl9kZWNvZGUoJHBrZywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAkbmFtZSA9ICRwa2dfanNvblsnbmFtZSddOwogICAgICAgICAgICAgICAgJGNvbXBvbmVudCA9IHN0cl9yZXBsYWNlKCcvY29tcG9zZXIuanNvbicsICcnLCAkZmlsZSk7CiAgICAgICAgICAgICAgICAvLyBrZWVwIHRoaXMgZm9yIHNwbGl0IGNtZAogICAgICAgICAgICAgICAgJHRtcHJlcG9uYW1lID0gZXhwbG9kZSgnLycsICRuYW1lKTsKICAgICAgICAgICAgICAgICRyZXBvbmFtZSA9ICR0bXByZXBvbmFtZVsxXTsKICAgICAgICAgICAgICAgICRzcGxpdHNbJGhlYWRdWyRjb21wb25lbnRdWydyZXBvJ10gPSAkcmVwb25hbWU7CiAgICAgICAgICAgICAgICAkbnNjb21wb25lbnQgPSBzdHJfcmVwbGFjZSgnLycsICdcXCcsICRjb21wb25lbnQpOwogICAgICAgICAgICAgICAgJHNwbGl0c1skaGVhZF1bJGNvbXBvbmVudF1bJ2Rlc2MnXSA9ICJbUkVBRCBPTkxZXSBTdWJ0cmVlIHNwbGl0IG9mICRuc2NvbXBvbmVudDogIiAuICRwa2dfanNvblsnZGVzY3JpcHRpb24nXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gZ28gYmFjayB0byBob3cgd2UgZm91bmQgaXQKICAgICAgICBwYXNzdGhydSgiZ2l0IGNoZWNrb3V0IG1hc3RlciIpOwogICAgICAgIGNoZGlyKCRyZXBvKTsKICAgICAgICAkdGhpcy0+c3BsaXRzID0gJHNwbGl0czsKICAgIH0KCiAgICAvKioKICAgICAqIEJhc2VkIG9uIGxpc3Qgb2YgcmVwb3NpdG9yaWVzIHdlIGRldGVybWluZWQgd2UgKnNob3VsZCogaGF2ZSwgdGFsawogICAgICogdG8gR2l0SHViIGFuZCBtYWtlIHN1cmUgdGhleSdyZSBhbGwgdGhlcmUuCiAgICAgKgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdmVyaWZ5UmVwb3MoKQogICAgewogICAgICAgICR0aGlzLT5sb2coJ3ZlcmlmeWluZyBHaXRIdWIgdGFyZ2V0IHJlcG9zJyk7CiAgICAgICAgJGdpdGh1Yl9vcmcgPSAkdGhpcy0+Z2V0T3duaW5nVGFyZ2V0KCktPmdldFByb2plY3QoKS0+Z2V0UHJvcGVydHkoJ2dpdGh1Yi5vcmcnKTsKICAgICAgICAkZ2l0aHViX2NyZWRzID0gJHRoaXMtPmdldE93bmluZ1RhcmdldCgpLT5nZXRQcm9qZWN0KCktPmdldFByb3BlcnR5KCdnaXRodWIuYmFzaWNhdXRoJyk7CgogICAgICAgIGlmICgkZ2l0aHViX2NyZWRzID09ICd1c2VybmFtZTpwYXNzd29yZCcpIHsKICAgICAgICAgICAgJHRoaXMtPmxvZygnU2tpcHBpbmcgR2l0SHViIHJlcG8gY2hlY2tzLiBVcGRhdGUgZ2l0aHViLmJhc2ljYXV0aCBpbiBidWlsZC5wcm9wZXJ0aWVzIHRvIHZlcmlmeSByZXBvcy4nLCAxKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgJGNoID0gY3VybF9pbml0KCdodHRwczovL2FwaS5naXRodWIuY29tL29yZ3MvJy4kZ2l0aHViX29yZy4nL3JlcG9zP3R5cGU9YWxsJyk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUlBXRCwgJGdpdGh1Yl9jcmVkcyk7CiAgICAgICAgLy8gY2hhbmdlIHRoaXMgd2hlbiB3ZSBrbm93IHdlIGNhbiB1c2Ugb3VyIGJ1bmRsZWQgQ0EgYnVuZGxlIQogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgZmFsc2UpOwogICAgICAgICRyZXN1bHQgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgJHJlcG9zID0ganNvbl9kZWNvZGUoJHJlc3VsdCwgdHJ1ZSk7CiAgICAgICAgJGV4aXN0aW5nX3JlcG9zID0gYXJyYXkoKTsKCiAgICAgICAgLy8gcGFyc2Ugb3V0IHRoZSByZXBvcyB3ZSBmb3VuZCBvbiBHaXRIdWIKICAgICAgICBmb3JlYWNoICgkcmVwb3MgYXMgJHJlcG8pIHsKICAgICAgICAgICAgJHRtcHJlcG9uYW1lID0gZXhwbG9kZSgnLycsICRyZXBvWydmdWxsX25hbWUnXSk7CiAgICAgICAgICAgICRyZXBvbmFtZSA9ICR0bXByZXBvbmFtZVsxXTsKICAgICAgICAgICAgJGV4aXN0aW5nX3JlcG9zWyRyZXBvbmFtZV0gPSAkcmVwb1snZGVzY3JpcHRpb24nXTsKICAgICAgICB9CgogICAgICAgICRoZWFkcyA9ICR0aGlzLT5nZXRIZWFkcygpOwogICAgICAgIGZvcmVhY2ggKCRoZWFkcyBhcyAkaGVhZCkgewogICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+c3BsaXRzWyRoZWFkXSBhcyAkY29tcG9uZW50ID0+ICRtZXRhKSB7CgogICAgICAgICAgICAgICAgJHJlcG9uYW1lID0gJG1ldGFbJ3JlcG8nXTsKCiAgICAgICAgICAgICAgICBpZiAoIWlzc2V0KCRleGlzdGluZ19yZXBvc1skcmVwb25hbWVdKSkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5sb2coIkNyZWF0aW5nIG1pc3NpbmcgcmVwbyAkcmVwb25hbWUiKTsKICAgICAgICAgICAgICAgICAgICAkcGF5bG9hZCA9IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJHJlcG9uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICRtZXRhWydkZXNjJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICdob21lcGFnZScgPT4gJ2h0dHA6Ly93d3cuZ3V6emxlcGhwLm9yZy8nLAogICAgICAgICAgICAgICAgICAgICAgICAncHJpdmF0ZScgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2hhc19pc3N1ZXMnID0+IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAnaGFzX3dpa2knID0+IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAnaGFzX2Rvd25sb2FkcycgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2F1dG9faW5pdCcgPT4gZmFsc2UKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgICRjaCA9IGN1cmxfaW5pdCgnaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzLycuJGdpdGh1Yl9vcmcuJy9yZXBvcycpOwogICAgICAgICAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CiAgICAgICAgICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VTRVJQV0QsICRnaXRodWJfY3JlZHMpOwogICAgICAgICAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IVFRQSEVBREVSLCBhcnJheSgnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uJykpOwogICAgICAgICAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULCAxKTsKICAgICAgICAgICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywganNvbl9lbmNvZGUoJHBheWxvYWQpKTsKICAgICAgICAgICAgICAgICAgICAvLyBjaGFuZ2UgdGhpcyB3aGVuIHdlIGtub3cgd2UgY2FuIHVzZSBvdXIgYnVuZGxlZCBDQSBidW5kbGUhCiAgICAgICAgICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCBmYWxzZSk7CiAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCA9IGN1cmxfZXhlYygkY2gpOwogICAgICAgICAgICAgICAgICAgIGVjaG8gIlJlc3BvbnNlIGNvZGU6ICIuY3VybF9nZXRpbmZvKCRjaCwgQ1VSTElORk9fSFRUUF9DT0RFKS4iXG4iOwogICAgICAgICAgICAgICAgICAgIGN1cmxfY2xvc2UoJGNoKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmxvZygiUmVwbyAkcmVwb25hbWUgZXhpc3RzIiwgMik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/phpunit.xml.dist</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHBocHVuaXQgYm9vdHN0cmFwPSIuL3Rlc3RzL2Jvb3RzdHJhcC5waHAiCiAgICAgICAgIGNvbG9ycz0idHJ1ZSIKICAgICAgICAgcHJvY2Vzc0lzb2xhdGlvbj0iZmFsc2UiCiAgICAgICAgIHN0b3BPbkZhaWx1cmU9ImZhbHNlIgogICAgICAgICBzeW50YXhDaGVjaz0iZmFsc2UiCiAgICAgICAgIGNvbnZlcnRFcnJvcnNUb0V4Y2VwdGlvbnM9InRydWUiCiAgICAgICAgIGNvbnZlcnROb3RpY2VzVG9FeGNlcHRpb25zPSJ0cnVlIgogICAgICAgICBjb252ZXJ0V2FybmluZ3NUb0V4Y2VwdGlvbnM9InRydWUiCiAgICAgICAgIHRlc3RTdWl0ZUxvYWRlckNsYXNzPSJQSFBVbml0X1J1bm5lcl9TdGFuZGFyZFRlc3RTdWl0ZUxvYWRlciI+CgogICAgPHRlc3RzdWl0ZXM+CiAgICAgICAgPHRlc3RzdWl0ZT4KICAgICAgICAgICAgPGRpcmVjdG9yeT4uL3Rlc3RzL0d1enpsZS9UZXN0czwvZGlyZWN0b3J5PgogICAgICAgIDwvdGVzdHN1aXRlPgogICAgPC90ZXN0c3VpdGVzPgoKICAgIDxsb2dnaW5nPgogICAgICAgIDxsb2cgdHlwZT0ianVuaXQiIHRhcmdldD0iYnVpbGQvYXJ0aWZhY3RzL2xvZ3MvanVuaXQueG1sIiBsb2dJbmNvbXBsZXRlU2tpcHBlZD0iZmFsc2UiIC8+CiAgICA8L2xvZ2dpbmc+CgogICAgPGZpbHRlcj4KICAgICAgICA8d2hpdGVsaXN0PgogICAgICAgICAgICA8ZGlyZWN0b3J5IHN1ZmZpeD0iLnBocCI+Li9zcmMvR3V6emxlPC9kaXJlY3Rvcnk+CiAgICAgICAgICAgIDxleGNsdWRlPgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeSBzdWZmaXg9IkludGVyZmFjZS5waHAiPi4vc3JjL0d1enpsZTwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGZpbGU+Li9zcmMvR3V6emxlL0NvbW1vbi9FeGNlcHRpb24vR3V6emxlRXhjZXB0aW9uLnBocDwvZmlsZT4KICAgICAgICAgICAgICAgIDxmaWxlPi4vc3JjL0d1enpsZS9IdHRwL0V4Y2VwdGlvbi9IdHRwRXhjZXB0aW9uLnBocDwvZmlsZT4KICAgICAgICAgICAgICAgIDxmaWxlPi4vc3JjL0d1enpsZS9IdHRwL0V4Y2VwdGlvbi9TZXJ2ZXJFcnJvclJlc3BvbnNlRXhjZXB0aW9uLnBocDwvZmlsZT4KICAgICAgICAgICAgICAgIDxmaWxlPi4vc3JjL0d1enpsZS9IdHRwL0V4Y2VwdGlvbi9DbGllbnRFcnJvclJlc3BvbnNlRXhjZXB0aW9uLnBocDwvZmlsZT4KICAgICAgICAgICAgICAgIDxmaWxlPi4vc3JjL0d1enpsZS9IdHRwL0V4Y2VwdGlvbi9Ub29NYW55UmVkaXJlY3RzRXhjZXB0aW9uLnBocDwvZmlsZT4KICAgICAgICAgICAgICAgIDxmaWxlPi4vc3JjL0d1enpsZS9IdHRwL0V4Y2VwdGlvbi9Db3VsZE5vdFJld2luZFN0cmVhbUV4Y2VwdGlvbi5waHA8L2ZpbGU+CiAgICAgICAgICAgICAgICA8ZmlsZT4uL3NyYy9HdXp6bGUvQ29tbW9uL0V4Y2VwdGlvbi9CYWRNZXRob2RDYWxsRXhjZXB0aW9uLnBocDwvZmlsZT4KICAgICAgICAgICAgICAgIDxmaWxlPi4vc3JjL0d1enpsZS9Db21tb24vRXhjZXB0aW9uL0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbi5waHA8L2ZpbGU+CiAgICAgICAgICAgICAgICA8ZmlsZT4uL3NyYy9HdXp6bGUvQ29tbW9uL0V4Y2VwdGlvbi9SdW50aW1lRXhjZXB0aW9uLnBocDwvZmlsZT4KICAgICAgICAgICAgICAgIDxmaWxlPi4vc3JjL0d1enpsZS9Db21tb24vRXhjZXB0aW9uL1VuZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlvbi5waHA8L2ZpbGU+CiAgICAgICAgICAgICAgICA8ZmlsZT4uL3NyYy9HdXp6bGUvU2VydmljZS9FeGNlcHRpb24vQ2xpZW50Tm90Rm91bmRFeGNlcHRpb24ucGhwPC9maWxlPgogICAgICAgICAgICAgICAgPGZpbGU+Li9zcmMvR3V6emxlL1NlcnZpY2UvRXhjZXB0aW9uL0NvbW1hbmRFeGNlcHRpb24ucGhwPC9maWxlPgogICAgICAgICAgICAgICAgPGZpbGU+Li9zcmMvR3V6emxlL1NlcnZpY2UvRXhjZXB0aW9uL0Rlc2NyaXB0aW9uQnVpbGRlckV4Y2VwdGlvbi5waHA8L2ZpbGU+CiAgICAgICAgICAgICAgICA8ZmlsZT4uL3NyYy9HdXp6bGUvU2VydmljZS9FeGNlcHRpb24vU2VydmljZUJ1aWxkZXJFeGNlcHRpb24ucGhwPC9maWxlPgogICAgICAgICAgICAgICAgPGZpbGU+Li9zcmMvR3V6emxlL1NlcnZpY2UvRXhjZXB0aW9uL1NlcnZpY2VOb3RGb3VuZEV4Y2VwdGlvbi5waHA8L2ZpbGU+CiAgICAgICAgICAgICAgICA8ZmlsZT4uL3NyYy9HdXp6bGUvU2VydmljZS9FeGNlcHRpb24vVmFsaWRhdGlvbkV4Y2VwdGlvbi5waHA8L2ZpbGU+CiAgICAgICAgICAgICAgICA8ZmlsZT4uL3NyYy9HdXp6bGUvU2VydmljZS9FeGNlcHRpb24vSnNvbkV4Y2VwdGlvbi5waHA8L2ZpbGU+CiAgICAgICAgICAgIDwvZXhjbHVkZT4KICAgICAgICA8L3doaXRlbGlzdD4KICAgIDwvZmlsdGVyPgoKPC9waHB1bml0Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R3V6emxlLCBQSFAgSFRUUCBjbGllbnQgYW5kIHdlYnNlcnZpY2UgZnJhbWV3b3JrCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKWyFbTGF0ZXN0IFN0YWJsZSBWZXJzaW9uXShodHRwczovL3Bvc2VyLnB1Z3gub3JnL2d1enpsZS9ndXp6bGUvdmVyc2lvbi5wbmcpXShodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvZ3V6emxlL2d1enpsZSkgWyFbQ29tcG9zZXIgRG93bmxvYWRzXShodHRwczovL3Bvc2VyLnB1Z3gub3JnL2d1enpsZS9ndXp6bGUvZC90b3RhbC5wbmcpXShodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvZ3V6emxlL2d1enpsZSkgWyFbQnVpbGQgU3RhdHVzXShodHRwczovL3NlY3VyZS50cmF2aXMtY2kub3JnL2d1enpsZS9ndXp6bGUucG5nP2JyYW5jaD1tYXN0ZXIpXShodHRwOi8vdHJhdmlzLWNpLm9yZy9ndXp6bGUvZ3V6emxlKQoKR3V6emxlIGlzIGEgUEhQIEhUVFAgY2xpZW50IGFuZCBmcmFtZXdvcmsgZm9yIGJ1aWxkaW5nIFJFU1RmdWwgd2ViIHNlcnZpY2UgY2xpZW50cy4KCi0gRXh0cmVtZWx5IHBvd2VyZnVsIEFQSSBwcm92aWRlcyBhbGwgdGhlIHBvd2VyIG9mIGNVUkwgd2l0aCBhIHNpbXBsZSBpbnRlcmZhY2UuCi0gVHJ1bHkgdGFrZSBhZHZhbnRhZ2Ugb2YgSFRUUC8xLjEgd2l0aCBwZXJzaXN0ZW50IGNvbm5lY3Rpb25zLCBjb25uZWN0aW9uIHBvb2xpbmcsIGFuZCBwYXJhbGxlbCByZXF1ZXN0cy4KLSBTZXJ2aWNlIGRlc2NyaXB0aW9uIERTTCBhbGxvd3MgeW91IGJ1aWxkIGF3ZXNvbWUgd2ViIHNlcnZpY2UgY2xpZW50cyBmYXN0ZXIuCi0gU3ltZm9ueTIgZXZlbnQtYmFzZWQgcGx1Z2luIHN5c3RlbSBhbGxvd3MgeW91IHRvIGNvbXBsZXRlbHkgbW9kaWZ5IHRoZSBiZWhhdmlvciBvZiBhIHJlcXVlc3QuCgpHZXQgYW5zd2VycyB3aXRoOiBbRG9jdW1lbnRhdGlvbl0oaHR0cDovL2RvY3MuZ3V6emxlcGhwLm9yZy8pLCBbRm9ydW1zXShodHRwczovL2dyb3Vwcy5nb29nbGUuY29tL2ZvcnVtLz9obD1lbiMhZm9ydW0vZ3V6emxlKSwgSVJDIChbI2d1enpsZXBocF0oaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jZ3V6emxlcGhwKSBAIGlyYy5mcmVlbm9kZS5uZXQpCgpgYGBwaHAKLy8gUmVhbGx5IHNpbXBsZSB1c2luZyBhIHN0YXRpYyBmYWNhZGUKR3V6emxlXEh0dHBcU3RhdGljQ2xpZW50Ojptb3VudCgpOwokcmVzcG9uc2UgPSBHdXp6bGU6OmdldCgnaHR0cDovL2d1enpsZXBocC5vcmcnKTsKCi8vIE1vcmUgY29udHJvbCB1c2luZyBhIGNsaWVudCBjbGFzcwokY2xpZW50ID0gbmV3IFxHdXp6bGVcSHR0cFxDbGllbnQoJ2h0dHA6Ly9ndXp6bGVwaHAub3JnJyk7CiRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCcvJyk7CiRyZXNwb25zZSA9ICRyZXF1ZXN0LT5zZW5kKCk7CmBgYAoKIyMjIEluc3RhbGxpbmcgdmlhIENvbXBvc2VyCgpUaGUgcmVjb21tZW5kZWQgd2F5IHRvIGluc3RhbGwgR3V6emxlIGlzIHRocm91Z2ggW0NvbXBvc2VyXShodHRwOi8vZ2V0Y29tcG9zZXIub3JnKS4KCmBgYGJhc2gKIyBJbnN0YWxsIENvbXBvc2VyCmN1cmwgLXNTIGh0dHBzOi8vZ2V0Y29tcG9zZXIub3JnL2luc3RhbGxlciB8IHBocAoKIyBBZGQgR3V6emxlIGFzIGEgZGVwZW5kZW5jeQpwaHAgY29tcG9zZXIucGhhciByZXF1aXJlIGd1enpsZS9ndXp6bGU6fjMuNwpgYGAKCkFmdGVyIGluc3RhbGxpbmcsIHlvdSBuZWVkIHRvIHJlcXVpcmUgQ29tcG9zZXIncyBhdXRvbG9hZGVyOgoKYGBgcGhwCnJlcXVpcmUgJ3ZlbmRvci9hdXRvbG9hZC5waHAnOwpgYGAKCiMjIyBJbnN0YWxsaW5nIHZpYSBwaGFyCgpBcyBvZiB0aGUgMy43LjQgcmVsZWFzZSwgZWFjaCByZWxlYXNlIG9mIEd1enpsZSBpbmNsdWRlcyBhICJndXp6bGUucGhhciIgZmlsZSB0aGF0IGluY2x1ZGVzIGFsbCBvZiB0aGUgZmlsZXMgbmVlZGVkIHRvCnJ1biBHdXp6bGUgYW5kIGFsbCBvZiBHdXp6bGUncyBkZXBlbmRlbmNpZXMuIFNpbXBseSBkb3dubG9hZCB0aGUgcGhhciBhbmQgaW5jbHVkZSBpdCBpbiB5b3VyIHByb2plY3QuCgpZb3UgY2FuIGZpbmQgYSBsaXN0IG9mIGVhY2ggcmVsZWFzZSBhbmQgdGhlIGF2YWlsYWJsZSBkb3dubG9hZHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL2d1enpsZS9ndXp6bGUvcmVsZWFzZXMuCgpGZWF0dXJlcwotLS0tLS0tLQoKLSBTdXBwb3J0cyBHRVQsIEhFQUQsIFBPU1QsIERFTEVURSwgUFVULCBQQVRDSCwgT1BUSU9OUywgYW5kIGFueSBvdGhlciBjdXN0b20gSFRUUCBtZXRob2QKLSBBbGxvd3MgZnVsbCBhY2Nlc3MgdG8gcmVxdWVzdCBhbmQgcmVzcG9uc2UgaGVhZGVycwotIFBlcnNpc3RlbnQgY29ubmVjdGlvbnMgYXJlIGltcGxpY2l0bHkgbWFuYWdlZCBieSBHdXp6bGUsIHJlc3VsdGluZyBpbiBodWdlIHBlcmZvcm1hbmNlIGJlbmVmaXRzCi0gW1NlbmQgcmVxdWVzdHMgaW4gcGFyYWxsZWxdKGh0dHA6Ly9ndXp6bGVwaHAub3JnL3RvdXIvaHR0cC5odG1sI3NlbmQtaHR0cC1yZXF1ZXN0cy1pbi1wYXJhbGxlbCkKLSBDb29raWUgc2Vzc2lvbnMgY2FuIGJlIG1haW50YWluZWQgYmV0d2VlbiByZXF1ZXN0cyB1c2luZyB0aGUKICBbQ29va2llUGx1Z2luXShodHRwOi8vZ3V6emxlcGhwLm9yZy90b3VyL2h0dHAuaHRtbCNjb29raWUtc2Vzc2lvbi1wbHVnaW4pCi0gQWxsb3dzIGN1c3RvbSBbZW50aXR5IGJvZGllc10oaHR0cDovL2d1enpsZXBocC5vcmcvdG91ci9odHRwLmh0bWwjZW50aXR5LWJvZGllcyksIGluY2x1ZGluZyBzZW5kaW5nIGRhdGEgZnJvbSBhIFBIUAogIHN0cmVhbSBhbmQgZG93bmxvYWRpbmcgZGF0YSB0byBhIFBIUCBzdHJlYW0KLSBSZXNwb25zZXMgY2FuIGJlIGNhY2hlZCBhbmQgc2VydmVkIGZyb20gY2FjaGUgdXNpbmcgdGhlCiAgW2NhY2hpbmcgZm9yd2FyZCBwcm94eSBwbHVnaW5dKGh0dHA6Ly9ndXp6bGVwaHAub3JnL3RvdXIvaHR0cC5odG1sI3BocC1iYXNlZC1jYWNoaW5nLWZvcndhcmQtcHJveHkpCi0gRmFpbGVkIHJlcXVlc3RzIGNhbiBiZSByZXRyaWVkIHVzaW5nCiAgW3RydW5jYXRlZCBleHBvbmVudGlhbCBiYWNrb2ZmXShodHRwOi8vZ3V6emxlcGhwLm9yZy90b3VyL2h0dHAuaHRtbCN0cnVuY2F0ZWQtZXhwb25lbnRpYWwtYmFja29mZikgd2l0aCBjdXN0b20gcmV0cnkKICBwb2xpY2llcwotIEVudGl0eSBib2RpZXMgY2FuIGJlIHZhbGlkYXRlZCBhdXRvbWF0aWNhbGx5IHVzaW5nIENvbnRlbnQtTUQ1IGhlYWRlcnMgYW5kIHRoZQogIFtNRDUgaGFzaCB2YWxpZGF0b3IgcGx1Z2luXShodHRwOi8vZ3V6emxlcGhwLm9yZy90b3VyL2h0dHAuaHRtbCNtZDUtaGFzaC12YWxpZGF0b3ItcGx1Z2luKQotIEFsbCBkYXRhIHNlbnQgb3ZlciB0aGUgd2lyZSBjYW4gYmUgbG9nZ2VkIHVzaW5nIHRoZQogIFtMb2dQbHVnaW5dKGh0dHA6Ly9ndXp6bGVwaHAub3JnL3RvdXIvaHR0cC5odG1sI292ZXItdGhlLXdpcmUtbG9nZ2luZykKLSBTdWJqZWN0L09ic2VydmVyIHNpZ25hbCBzbG90IHN5c3RlbSBmb3IgdW5vYnRydXNpdmVseQogIFttb2RpZnlpbmcgcmVxdWVzdCBiZWhhdmlvcl0oaHR0cDovL2d1enpsZXBocC5vcmcvZ3VpZGUvaHR0cC9jcmVhdGluZ19wbHVnaW5zLmh0bWwpCi0gU3VwcG9ydHMgYWxsIG9mIHRoZSBmZWF0dXJlcyBvZiBsaWJjdXJsIGluY2x1ZGluZyBhdXRoZW50aWNhdGlvbiwgY29tcHJlc3Npb24sIHJlZGlyZWN0cywgU1NMLCBwcm94aWVzLCBldGMKLSBXZWIgc2VydmljZSBjbGllbnQgZnJhbWV3b3JrIGZvciBidWlsZGluZyBmdXR1cmUtcHJvb2YgaW50ZXJmYWNlcyB0byB3ZWIgc2VydmljZXMKLSBJbmNsdWRlcyBhIFtzZXJ2aWNlIGRlc2NyaXB0aW9uIERTTF0oaHR0cDovL2d1enpsZXBocC5vcmcvZ3VpZGUvc2VydmljZS9zZXJ2aWNlX2Rlc2NyaXB0aW9ucy5odG1sKSBmb3IgcXVpY2tseQogIGJ1aWxkaW5nIHdlYnNlcnZpY2UgY2xpZW50cwotIEZ1bGwgc3VwcG9ydCBmb3IgW1VSSSB0ZW1wbGF0ZXNdKGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzY1NzApCi0gQWR2YW5jZWQgYmF0Y2hpbmcgZnVuY3Rpb25hbGl0eSB0byBlZmZpY2llbnRseSBzZW5kIHJlcXVlc3RzIG9yIGNvbW1hbmRzIGluIHBhcmFsbGVsIHdpdGggY3VzdG9taXphYmxlIGJhdGNoIHNpemVzCiAgYW5kIHRyYW5zZmVyIHN0cmF0ZWdpZXMKCkhUVFAgYmFzaWNzCi0tLS0tLS0tLS0tCgpgYGBwaHAKPD9waHAKCnVzZSBHdXp6bGVcSHR0cFxDbGllbnQ7CgokY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cDovL3d3dy5leGFtcGxlLmNvbS9hcGkvdjEva2V5L3trZXl9JywgWwogICAgJ2tleScgPT4gJyoqKicKXSk7CgovLyBJc3N1ZSBhIHBhdGggdXNpbmcgYSByZWxhdGl2ZSBVUkwgdG8gdGhlIGNsaWVudCdzIGJhc2UgVVJMCi8vIFNlbmRzIHRvIGh0dHA6Ly93d3cuZXhhbXBsZS5jb20vYXBpL3YxL2tleS8qKiovdXNlcnMKJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJ3VzZXJzJyk7CiRyZXNwb25zZSA9ICRyZXF1ZXN0LT5zZW5kKCk7CgovLyBSZWxhdGl2ZSBVUkwgdGhhdCBvdmVyd3JpdGVzIHRoZSBwYXRoIG9mIHRoZSBiYXNlIFVSTAokcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnL3Rlc3QvMTIzLnBocD9hPWInKTsKCi8vIElzc3VlIGEgaGVhZCByZXF1ZXN0IG9uIHRoZSBiYXNlIFVSTAokcmVzcG9uc2UgPSAkY2xpZW50LT5oZWFkKCktPnNlbmQoKTsKLy8gRGVsZXRlIHVzZXIgMTIzCiRyZXNwb25zZSA9ICRjbGllbnQtPmRlbGV0ZSgndXNlcnMvMTIzJyktPnNlbmQoKTsKCi8vIFNlbmQgYSBQVVQgcmVxdWVzdCB3aXRoIGN1c3RvbSBoZWFkZXJzCiRyZXNwb25zZSA9ICRjbGllbnQtPnB1dCgndXBsb2FkL3RleHQnLCBbCiAgICAnWC1IZWFkZXInID0+ICdNeSBIZWFkZXInCl0sICdib2R5IG9mIHRoZSByZXF1ZXN0JyktPnNlbmQoKTsKCi8vIFNlbmQgYSBQVVQgcmVxdWVzdCB1c2luZyB0aGUgY29udGVudHMgb2YgYSBQSFAgc3RyZWFtIGFzIHRoZSBib2R5Ci8vIFNlbmQgdXNpbmcgYW4gYWJzb2x1dGUgVVJMIChvdmVycmlkZXMgdGhlIGJhc2UgVVJMKQokcmVzcG9uc2UgPSAkY2xpZW50LT5wdXQoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vdXBsb2FkJywgWwogICAgJ1gtSGVhZGVyJyA9PiAnTXkgSGVhZGVyJwpdLCBmb3BlbignaHR0cDovL3d3dy50ZXN0LmNvbS8nLCAncicpKTsKCi8vIENyZWF0ZSBhIFBPU1QgcmVxdWVzdCB3aXRoIGEgZmlsZSB1cGxvYWQgKG5vdGljZSB0aGUgQCBzeW1ib2wpOgokcmVxdWVzdCA9ICRjbGllbnQtPnBvc3QoJ2h0dHA6Ly9sb2NhbGhvc3Q6ODk4My9zb2xyL3VwZGF0ZScsIG51bGwsIFsKICAgICdjdXN0b21fZmllbGQnID0+ICdteSB2YWx1ZScsCiAgICAnZmlsZScgPT4gJ0AvcGF0aC90by9kb2N1bWVudHMueG1sJwpdKTsKCi8vIENyZWF0ZSBhIFBPU1QgcmVxdWVzdCBhbmQgYWRkIHRoZSBQT1NUIGZpbGVzIG1hbnVhbGx5CiRyZXF1ZXN0ID0gJGNsaWVudC0+cG9zdCgnaHR0cDovL2xvY2FsaG9zdDo4OTgzL3NvbHIvdXBkYXRlJykKICAgIC0+YWRkUG9zdEZpbGVzKFsnZmlsZScgPT4gJy9wYXRoL3RvL2RvY3VtZW50cy54bWwnXSk7CgovLyBSZXNwb25zZXMgYXJlIG9iamVjdHMKZWNobyAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSAuICcgJyAuICRyZXNwb25zZS0+Z2V0UmVhc29uUGhyYXNlKCkgLiAiXG4iOwoKLy8gUmVxdWVzdHMgYW5kIHJlc3BvbnNlcyBjYW4gYmUgY2FzdCB0byBhIHN0cmluZyB0byBzaG93IHRoZSByYXcgSFRUUCBtZXNzYWdlCmVjaG8gJHJlcXVlc3QgLiAiXG5cbiIgLiAkcmVzcG9uc2U7CgovLyBDcmVhdGUgYSByZXF1ZXN0IGJhc2VkIG9uIGFuIEhUVFAgbWVzc2FnZQokcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5Ojpmcm9tTWVzc2FnZSgKICAgICJQVVQgLyBIVFRQLzEuMVxyXG4iIC4KICAgICJIb3N0OiB0ZXN0LmNvbTo4MDgxXHJcbiIgLgogICAgIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbiIgLgogICAgIlRyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcbiIgLgogICAgIlxyXG4iIC4KICAgICJ0aGlzIGlzIHRoZSBib2R5IgopOwpgYGAKClVzaW5nIHRoZSBzdGF0aWMgY2xpZW50IGZhY2FkZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCllvdSBjYW4gdXNlIEd1enpsZSB0aHJvdWdoIGEgc3RhdGljIGNsaWVudCB0byBtYWtlIGl0IGV2ZW4gZWFzaWVyIHRvIHNlbmQgc2ltcGxlIEhUVFAgcmVxdWVzdHMuCgpgYGBwaHAKPD9waHAKCi8vIFVzZSB0aGUgc3RhdGljIGNsaWVudCBkaXJlY3RseToKJHJlc3BvbnNlID0gR3V6emxlXEh0dHBcU3RhdGljQ2xpZW50OjpnZXQoJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbScpOwoKLy8gT3IsIG1vdW50IHRoZSBjbGllbnQgdG8gXEd1enpsZSB0byBtYWtlIGl0IGVhc2llciB0byB1c2UKR3V6emxlXEh0dHBcU3RhdGljQ2xpZW50Ojptb3VudCgpOwoKJHJlc3BvbnNlID0gR3V6emxlOjpnZXQoJ2h0dHA6Ly9ndXp6bGVwaHAub3JnJyk7CgovLyBDdXN0b20gb3B0aW9ucyBjYW4gYmUgcGFzc2VkIGludG8gcmVxdWVzdHMgY3JlYXRlZCBieSB0aGUgc3RhdGljIGNsaWVudAokcmVzcG9uc2UgPSBHdXp6bGU6OnBvc3QoJ2h0dHA6Ly9ndXp6bGVwaHAub3JnJywgWwogICAgJ2hlYWRlcnMnID0+IFsnWC1Gb28nID0+ICdCYXInXSwKICAgICdib2R5JyAgICA9PiBbJ0ZvbycgPT4gJ0JhciddLAogICAgJ3F1ZXJ5JyAgID0+IFsnVGVzdCcgPT4gMTIzXSwKICAgICd0aW1lb3V0JyA9PiAxMCwKICAgICdkZWJ1ZycgICA9PiB0cnVlLAogICAgJ3NhdmVfdG8nID0+ICcvcGF0aC90by9maWxlLmh0bWwnCl0pOwpgYGAKCiMjIyBBdmFpbGFibGUgcmVxdWVzdCBvcHRpb25zOgoKKiBoZWFkZXJzOiBBc3NvY2lhdGl2ZSBhcnJheSBvZiBoZWFkZXJzCiogcXVlcnk6IEFzc29jaWF0aXZlIGFycmF5IG9mIHF1ZXJ5IHN0cmluZyB2YWx1ZXMgdG8gYWRkIHRvIHRoZSByZXF1ZXN0CiogYm9keTogQm9keSBvZiBhIHJlcXVlc3QsIGluY2x1ZGluZyBhbiBFbnRpdHlCb2R5LCBzdHJpbmcsIG9yIGFycmF5IHdoZW4gc2VuZGluZyBQT1NUIHJlcXVlc3RzLiBTZXR0aW5nIGEgYm9keSBmb3IgYQogIEdFVCByZXF1ZXN0IHdpbGwgc2V0IHdoZXJlIHRoZSByZXNwb25zZSBib2R5IGlzIGRvd25sb2FkZWQuCiogYXV0aDogQXJyYXkgb2YgSFRUUCBhdXRoZW50aWNhdGlvbiBwYXJhbWV0ZXJzIHRvIHVzZSB3aXRoIHRoZSByZXF1ZXN0LiBUaGUgYXJyYXkgbXVzdCBjb250YWluIHRoZQogIHVzZXJuYW1lIGluIGluZGV4IFswXSwgdGhlIHBhc3N3b3JkIGluIGluZGV4IFsxXSwgYW5kIGNhbiBvcHRpb25hbGx5IGNvbnRhaW4gdGhlIGF1dGhlbnRpY2F0aW9uIHR5cGUgaW4gaW5kZXggWzJdLgogIFRoZSBhdXRoZW50aWNhdGlvbiB0eXBlcyBhcmU6ICJCYXNpYyIsICJEaWdlc3QiLiBUaGUgZGVmYXVsdCBhdXRoIHR5cGUgaXMgIkJhc2ljIi4KKiBjb29raWVzOiBBc3NvY2lhdGl2ZSBhcnJheSBvZiBjb29raWVzCiogYWxsb3dfcmVkaXJlY3RzOiBTZXQgdG8gZmFsc2UgdG8gZGlzYWJsZSByZWRpcmVjdHMKKiBzYXZlX3RvOiBTdHJpbmcsIGZvcGVuIHJlc291cmNlLCBvciBFbnRpdHlCb2R5IG9iamVjdCB1c2VkIHRvIHN0b3JlIHRoZSBib2R5IG9mIHRoZSByZXNwb25zZQoqIGV2ZW50czogQXNzb2NpYXRpdmUgYXJyYXkgbWFwcGluZyBldmVudCBuYW1lcyB0byBhIGNsb3N1cmUgb3IgYXJyYXkgb2YgKHByaW9yaXR5LCBjbG9zdXJlKQoqIHBsdWdpbnM6IEFycmF5IG9mIHBsdWdpbnMgdG8gYWRkIHRvIHRoZSByZXF1ZXN0CiogZXhjZXB0aW9uczogU2V0IHRvIGZhbHNlIHRvIGRpc2FibGUgdGhyb3dpbmcgZXhjZXB0aW9ucyBvbiBhbiBIVFRQIGxldmVsIGVycm9yIChlLmcuIDQwNCwgNTAwLCBldGMpCiogdGltZW91dDogRmxvYXQgZGVzY3JpYmluZyB0aGUgdGltZW91dCBvZiB0aGUgcmVxdWVzdCBpbiBzZWNvbmRzCiogY29ubmVjdF90aW1lb3V0OiBGbG9hdCBkZXNjcmliaW5nIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyB0byB3YWl0IHdoaWxlIHRyeWluZyB0byBjb25uZWN0LiBVc2UgMCB0byB3YWl0CiAgaW5kZWZpbml0ZWx5LgoqIHZlcmlmeTogU2V0IHRvIHRydWUgdG8gZW5hYmxlIFNTTCBjZXJ0IHZhbGlkYXRpb24gKHRoZSBkZWZhdWx0KSwgZmFsc2UgdG8gZGlzYWJsZSwgb3Igc3VwcGx5IHRoZSBwYXRoIHRvIGEgQ0EKICBidW5kbGUgdG8gZW5hYmxlIHZlcmlmaWNhdGlvbiB1c2luZyBhIGN1c3RvbSBjZXJ0aWZpY2F0ZS4KKiBwcm94eTogU3BlY2lmeSBhbiBIVFRQIHByb3h5IChlLmcuICJodHRwOi8vdXNlcm5hbWU6cGFzc3dvcmRAMTkyLjE2OC4xNi4xOjEwIikKKiBkZWJ1ZzogU2V0IHRvIHRydWUgdG8gZGlzcGxheSBhbGwgZGF0YSBzZW50IG92ZXIgdGhlIHdpcmUKClRoZXNlIG9wdGlvbnMgY2FuIGFsc28gYmUgdXNlZCB3aGVuIGNyZWF0aW5nIHJlcXVlc3RzIHVzaW5nIGEgc3RhbmRhcmQgY2xpZW50OgoKYGBgcGhwCiRjbGllbnQgPSBuZXcgR3V6emxlXEh0dHBcQ2xpZW50KCk7Ci8vIENyZWF0ZSBhIHJlcXVlc3Qgd2l0aCBhIHRpbWVvdXQgb2YgMTAgc2Vjb25kcwokcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnaHR0cDovL2d1enpsZXBocC5vcmcnLCBbXSwgWyd0aW1lb3V0JyA9PiAxMF0pOwokcmVzcG9uc2UgPSAkcmVxdWVzdC0+c2VuZCgpOwpgYGAKClVuaXQgdGVzdGluZwotLS0tLS0tLS0tLS0KCkd1enpsZSB1c2VzIFBIUFVuaXQgZm9yIHVuaXQgdGVzdGluZy4gSW4gb3JkZXIgdG8gcnVuIHRoZSB1bml0IHRlc3RzLCB5b3UnbGwgZmlyc3QgbmVlZAp0byBpbnN0YWxsIHRoZSBkZXBlbmRlbmNpZXMgb2YgdGhlIHByb2plY3QgdXNpbmcgQ29tcG9zZXI6IGBwaHAgY29tcG9zZXIucGhhciBpbnN0YWxsIC0tZGV2YC4KWW91IGNhbiB0aGVuIHJ1biB0aGUgdGVzdHMgdXNpbmcgYHZlbmRvci9iaW4vcGhwdW5pdGAuCgpJZiB5b3UgYXJlIHJ1bm5pbmcgdGhlIHRlc3RzIHdpdGggeGRlYnVnIGVuYWJsZWQsIHlvdSBtYXkgZW5jb3VudGVyIHRoZSBmb2xsb3dpbmcgaXNzdWU6ICdGYXRhbCBlcnJvcjogTWF4aW11bSBmdW5jdGlvbiBuZXN0aW5nIGxldmVsIG9mICcxMDAnIHJlYWNoZWQsIGFib3J0aW5nIScuIFRoaXMgY2FuIGJlIHJlc29sdmVkIGJ5IGFkZGluZyAneGRlYnVnLm1heF9uZXN0aW5nX2xldmVsID0gMjAwJyB0byB5b3VyIHBocC5pbmkgZmlsZS4KClRoZSBQRUNMIGV4dGVuc2lvbnMsIHVyaV90ZW1wbGF0ZSBhbmQgcGVjbF9odHRwIHdpbGwgYmUgcmVxdWlyZWQgdG8gZW5zdXJlIGFsbCB0aGUgdGVzdHMgY2FuIHJ1bi4K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/AbstractBatchDecorator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7CgovKioKICogQWJzdHJhY3QgZGVjb3JhdG9yIHVzZWQgd2hlbiBkZWNvcmF0aW5nIGEgQmF0Y2hJbnRlcmZhY2UKICovCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0QmF0Y2hEZWNvcmF0b3IgaW1wbGVtZW50cyBCYXRjaEludGVyZmFjZQp7CiAgICAvKiogQHZhciBCYXRjaEludGVyZmFjZSBEZWNvcmF0ZWQgYmF0Y2ggb2JqZWN0ICovCiAgICBwcm90ZWN0ZWQgJGRlY29yYXRlZEJhdGNoOwoKICAgIC8qKgogICAgICogQHBhcmFtIEJhdGNoSW50ZXJmYWNlICRkZWNvcmF0ZWRCYXRjaCAgQmF0Y2hJbnRlcmZhY2UgdGhhdCBpcyBiZWluZyBkZWNvcmF0ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEJhdGNoSW50ZXJmYWNlICRkZWNvcmF0ZWRCYXRjaCkKICAgIHsKICAgICAgICAkdGhpcy0+ZGVjb3JhdGVkQmF0Y2ggPSAkZGVjb3JhdGVkQmF0Y2g7CiAgICB9CgogICAgLyoqCiAgICAgKiBBbGxvdyBkZWNvcmF0b3JzIHRvIGltcGxlbWVudCBjdXN0b20gbWV0aG9kcwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG1ldGhvZCBNaXNzaW5nIG1ldGhvZCBuYW1lCiAgICAgKiBAcGFyYW0gYXJyYXkgICRhcmdzICAgTWV0aG9kIGFyZ3VtZW50cwogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY2FsbCgkbWV0aG9kLCBhcnJheSAkYXJncykKICAgIHsKICAgICAgICByZXR1cm4gY2FsbF91c2VyX2Z1bmNfYXJyYXkoYXJyYXkoJHRoaXMtPmRlY29yYXRlZEJhdGNoLCAkbWV0aG9kKSwgJGFyZ3MpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhZGQoJGl0ZW0pCiAgICB7CiAgICAgICAgJHRoaXMtPmRlY29yYXRlZEJhdGNoLT5hZGQoJGl0ZW0pOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGZsdXNoKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRlY29yYXRlZEJhdGNoLT5mbHVzaCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc0VtcHR5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRlY29yYXRlZEJhdGNoLT5pc0VtcHR5KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBUcmFjZSB0aGUgZGVjb3JhdG9ycyBhc3NvY2lhdGVkIHdpdGggdGhlIGJhdGNoCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGVjb3JhdG9ycygpCiAgICB7CiAgICAgICAgJGZvdW5kID0gYXJyYXkoJHRoaXMpOwogICAgICAgIGlmIChtZXRob2RfZXhpc3RzKCR0aGlzLT5kZWNvcmF0ZWRCYXRjaCwgJ2dldERlY29yYXRvcnMnKSkgewogICAgICAgICAgICAkZm91bmQgPSBhcnJheV9tZXJnZSgkZm91bmQsICR0aGlzLT5kZWNvcmF0ZWRCYXRjaC0+Z2V0RGVjb3JhdG9ycygpKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZm91bmQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/Batch.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEV4Y2VwdGlvblxCYXRjaFRyYW5zZmVyRXhjZXB0aW9uOwoKLyoqCiAqIERlZmF1bHQgYmF0Y2ggaW1wbGVtZW50YXRpb24gdXNlZCB0byBjb252ZXJ0IHF1ZXVlZCBpdGVtcyBpbnRvIHNtYWxsZXIgY2h1bmtzIG9mIGJhdGNoZXMgdXNpbmcgYQogKiB7QHNlZSBCYXRjaERpdmlzb3JJdGVyZmFjZX0gYW5kIHRyYW5zZmVycyBlYWNoIGJhdGNoIHVzaW5nIGEge0BzZWUgQmF0Y2hUcmFuc2ZlckludGVyZmFjZX0uCiAqCiAqIEFueSBleGNlcHRpb24gZW5jb3VudGVyZWQgZHVyaW5nIGEgZmx1c2ggb3BlcmF0aW9uIHdpbGwgdGhyb3cgYSB7QHNlZSBCYXRjaFRyYW5zZmVyRXhjZXB0aW9ufSBvYmplY3QgY29udGFpbmluZyB0aGUKICogYmF0Y2ggdGhhdCBmYWlsZWQuIEFmdGVyIGFuIGV4Y2VwdGlvbiBpcyBlbmNvdW50ZXJlZCwgeW91IGNhbiBmbHVzaCB0aGUgYmF0Y2ggYWdhaW4gdG8gYXR0ZW1wdCB0byBmaW5pc2ggdHJhbnNmZXJyaW5nCiAqIGFueSBwcmV2aW91c2x5IGNyZWF0ZWQgYmF0Y2hlcyBvciBxdWV1ZWQgaXRlbXMuCiAqLwpjbGFzcyBCYXRjaCBpbXBsZW1lbnRzIEJhdGNoSW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIFxTcGxRdWV1ZSBRdWV1ZSBvZiBpdGVtcyBpbiB0aGUgcXVldWUgKi8KICAgIHByb3RlY3RlZCAkcXVldWU7CgogICAgLyoqIEB2YXIgYXJyYXkgRGl2aWRlZCBiYXRjaGVzIHRvIGJlIHRyYW5zZmVycmVkICovCiAgICBwcm90ZWN0ZWQgJGRpdmlkZWRCYXRjaGVzOwoKICAgIC8qKiBAdmFyIEJhdGNoVHJhbnNmZXJJbnRlcmZhY2UgKi8KICAgIHByb3RlY3RlZCAkdHJhbnNmZXJTdHJhdGVneTsKCiAgICAvKiogQHZhciBCYXRjaERpdmlzb3JJbnRlcmZhY2UgKi8KICAgIHByb3RlY3RlZCAkZGl2aXNpb25TdHJhdGVneTsKCiAgICAvKioKICAgICAqIEBwYXJhbSBCYXRjaFRyYW5zZmVySW50ZXJmYWNlICR0cmFuc2ZlclN0cmF0ZWd5IFN0cmF0ZWd5IHVzZWQgdG8gdHJhbnNmZXIgaXRlbXMKICAgICAqIEBwYXJhbSBCYXRjaERpdmlzb3JJbnRlcmZhY2UgICRkaXZpc2lvblN0cmF0ZWd5IERpdmlzb3IgdXNlZCB0byBjcmVhdGUgYmF0Y2hlcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoQmF0Y2hUcmFuc2ZlckludGVyZmFjZSAkdHJhbnNmZXJTdHJhdGVneSwgQmF0Y2hEaXZpc29ySW50ZXJmYWNlICRkaXZpc2lvblN0cmF0ZWd5KQogICAgewogICAgICAgICR0aGlzLT50cmFuc2ZlclN0cmF0ZWd5ID0gJHRyYW5zZmVyU3RyYXRlZ3k7CiAgICAgICAgJHRoaXMtPmRpdmlzaW9uU3RyYXRlZ3kgPSAkZGl2aXNpb25TdHJhdGVneTsKICAgICAgICAkdGhpcy0+cXVldWUgPSBuZXcgXFNwbFF1ZXVlKCk7CiAgICAgICAgJHRoaXMtPnF1ZXVlLT5zZXRJdGVyYXRvck1vZGUoXFNwbFF1ZXVlOjpJVF9NT0RFX0RFTEVURSk7CiAgICAgICAgJHRoaXMtPmRpdmlkZWRCYXRjaGVzID0gYXJyYXkoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkKCRpdGVtKQogICAgewogICAgICAgICR0aGlzLT5xdWV1ZS0+ZW5xdWV1ZSgkaXRlbSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZmx1c2goKQogICAgewogICAgICAgICR0aGlzLT5jcmVhdGVCYXRjaGVzKCk7CgogICAgICAgICRpdGVtcyA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmRpdmlkZWRCYXRjaGVzIGFzICRiYXRjaEluZGV4ID0+ICRkaXZpZGVkQmF0Y2gpIHsKICAgICAgICAgICAgd2hpbGUgKCRkaXZpZGVkQmF0Y2gtPnZhbGlkKCkpIHsKICAgICAgICAgICAgICAgICRiYXRjaCA9ICRkaXZpZGVkQmF0Y2gtPmN1cnJlbnQoKTsKICAgICAgICAgICAgICAgICRkaXZpZGVkQmF0Y2gtPm5leHQoKTsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnRyYW5zZmVyU3RyYXRlZ3ktPnRyYW5zZmVyKCRiYXRjaCk7CiAgICAgICAgICAgICAgICAgICAgJGl0ZW1zID0gYXJyYXlfbWVyZ2UoJGl0ZW1zLCAkYmF0Y2gpOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBCYXRjaFRyYW5zZmVyRXhjZXB0aW9uKCRiYXRjaCwgJGl0ZW1zLCAkZSwgJHRoaXMtPnRyYW5zZmVyU3RyYXRlZ3ksICR0aGlzLT5kaXZpc2lvblN0cmF0ZWd5KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBLZWVwIHRoZSBkaXZpZGVkIGJhdGNoIGRvd24gdG8gYSBtaW5pbXVtIGluIGNhc2Ugb2YgYSBsYXRlciBleGNlcHRpb24KICAgICAgICAgICAgdW5zZXQoJHRoaXMtPmRpdmlkZWRCYXRjaGVzWyRiYXRjaEluZGV4XSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGl0ZW1zOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc0VtcHR5KCkKICAgIHsKICAgICAgICByZXR1cm4gY291bnQoJHRoaXMtPnF1ZXVlKSA9PSAwICYmIGNvdW50KCR0aGlzLT5kaXZpZGVkQmF0Y2hlcykgPT0gMDsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBiYXRjaGVzIGZvciBhbnkgcXVldWVkIGl0ZW1zCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjcmVhdGVCYXRjaGVzKCkKICAgIHsKICAgICAgICBpZiAoY291bnQoJHRoaXMtPnF1ZXVlKSkgewogICAgICAgICAgICBpZiAoJGJhdGNoZXMgPSAkdGhpcy0+ZGl2aXNpb25TdHJhdGVneS0+Y3JlYXRlQmF0Y2hlcygkdGhpcy0+cXVldWUpKSB7CiAgICAgICAgICAgICAgICAvLyBDb252ZXJ0IGFycmF5cyBpbnRvIGl0ZXJhdG9ycwogICAgICAgICAgICAgICAgaWYgKGlzX2FycmF5KCRiYXRjaGVzKSkgewogICAgICAgICAgICAgICAgICAgICRiYXRjaGVzID0gbmV3IFxBcnJheUl0ZXJhdG9yKCRiYXRjaGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICR0aGlzLT5kaXZpZGVkQmF0Y2hlc1tdID0gJGJhdGNoZXM7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/BatchBuilder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKCi8qKgogKiBCdWlsZGVyIHVzZWQgdG8gY3JlYXRlIGN1c3RvbSBiYXRjaCBvYmplY3RzCiAqLwpjbGFzcyBCYXRjaEJ1aWxkZXIKewogICAgLyoqIEB2YXIgYm9vbCBXaGV0aGVyIG9yIG5vdCB0aGUgYmF0Y2ggc2hvdWxkIGF1dG9tYXRpY2FsbHkgZmx1c2gqLwogICAgcHJvdGVjdGVkICRhdXRvRmx1c2ggPSBmYWxzZTsKCiAgICAvKiogQHZhciBib29sIFdoZXRoZXIgb3Igbm90IHRvIG1haW50YWluIGEgYmF0Y2ggaGlzdG9yeSAqLwogICAgcHJvdGVjdGVkICRoaXN0b3J5ID0gZmFsc2U7CgogICAgLyoqIEB2YXIgYm9vbCBXaGV0aGVyIG9yIG5vdCB0byBidWZmZXIgZXhjZXB0aW9ucyBlbmNvdW50ZXJlZCBpbiB0cmFuc2ZlciAqLwogICAgcHJvdGVjdGVkICRleGNlcHRpb25CdWZmZXJpbmcgPSBmYWxzZTsKCiAgICAvKiogQHZhciBtaXhlZCBDYWxsYWJsZSB0byBpbnZva2UgZWFjaCB0aW1lIGEgZmx1c2ggY29tcGxldGVzICovCiAgICBwcm90ZWN0ZWQgJGFmdGVyRmx1c2g7CgogICAgLyoqIEB2YXIgQmF0Y2hUcmFuc2ZlckludGVyZmFjZSBPYmplY3QgdXNlZCB0byB0cmFuc2ZlciBpdGVtcyBpbiB0aGUgcXVldWUgKi8KICAgIHByb3RlY3RlZCAkdHJhbnNmZXJTdHJhdGVneTsKCiAgICAvKiogQHZhciBCYXRjaERpdmlzb3JJbnRlcmZhY2UgT2JqZWN0IHVzZWQgdG8gZGl2aWRlIHRoZSBxdWV1ZSBpbnRvIGJhdGNoZXMgKi8KICAgIHByb3RlY3RlZCAkZGl2aXNvclN0cmF0ZWd5OwoKICAgIC8qKiBAdmFyIGFycmF5IG9mIE1hcHBlZCB0cmFuc2ZlciBzdHJhdGVnaWVzIGJ5IGhhbmRsZSBuYW1lICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRtYXBwaW5nID0gYXJyYXkoCiAgICAgICAgJ3JlcXVlc3QnID0+ICdHdXp6bGVcQmF0Y2hcQmF0Y2hSZXF1ZXN0VHJhbnNmZXInLAogICAgICAgICdjb21tYW5kJyA9PiAnR3V6emxlXEJhdGNoXEJhdGNoQ29tbWFuZFRyYW5zZmVyJwogICAgKTsKCiAgICAvKioKICAgICAqIENyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgQmF0Y2hCdWlsZGVyCiAgICAgKgogICAgICogQHJldHVybiBCYXRjaEJ1aWxkZXIKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IHNlbGYoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEF1dG9tYXRpY2FsbHkgZmx1c2ggdGhlIGJhdGNoIHdoZW4gdGhlIHNpemUgb2YgdGhlIHF1ZXVlIHJlYWNoZXMgYSBjZXJ0YWluIHRocmVzaG9sZC4gQWRkcyB7QHNlZSBGbHVzaGluZ0JhdGNofS4KICAgICAqCiAgICAgKiBAcGFyYW0gJHRocmVzaG9sZCBOdW1iZXIgb2YgaXRlbXMgdG8gYWxsb3cgaW4gdGhlIHF1ZXVlIGJlZm9yZSBhIGZsdXNoCiAgICAgKgogICAgICogQHJldHVybiBCYXRjaEJ1aWxkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGF1dG9GbHVzaEF0KCR0aHJlc2hvbGQpCiAgICB7CiAgICAgICAgJHRoaXMtPmF1dG9GbHVzaCA9ICR0aHJlc2hvbGQ7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIE1haW50YWluIGEgaGlzdG9yeSBvZiBhbGwgaXRlbXMgdGhhdCBoYXZlIGJlZW4gdHJhbnNmZXJyZWQgdXNpbmcgdGhlIGJhdGNoLiBBZGRzIHtAc2VlIEhpc3RvcnlCYXRjaH0uCiAgICAgKgogICAgICogQHJldHVybiBCYXRjaEJ1aWxkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGtlZXBIaXN0b3J5KCkKICAgIHsKICAgICAgICAkdGhpcy0+aGlzdG9yeSA9IHRydWU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEJ1ZmZlciBleGNlcHRpb25zIHRocm93biBkdXJpbmcgdHJhbnNmZXIgc28gdGhhdCB5b3UgY2FuIHRyYW5zZmVyIGFzIG11Y2ggYXMgcG9zc2libGUsIGFuZCBhZnRlciBhIHRyYW5zZmVyCiAgICAgKiBjb21wbGV0ZXMsIGluc3BlY3QgZWFjaCBleGNlcHRpb24gdGhhdCB3YXMgdGhyb3duLiBFbmFibGVzIHRoZSB7QHNlZSBFeGNlcHRpb25CdWZmZXJpbmdCYXRjaH0gZGVjb3JhdG9yLgogICAgICoKICAgICAqIEByZXR1cm4gQmF0Y2hCdWlsZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidWZmZXJFeGNlcHRpb25zKCkKICAgIHsKICAgICAgICAkdGhpcy0+ZXhjZXB0aW9uQnVmZmVyaW5nID0gdHJ1ZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogTm90aWZ5IGEgY2FsbGFibGUgZWFjaCB0aW1lIGEgYmF0Y2ggZmx1c2ggY29tcGxldGVzLiBFbmFibGVzIHRoZSB7QHNlZSBOb3RpZnlpbmdCYXRjaH0gZGVjb3JhdG9yLgogICAgICoKICAgICAqIEBwYXJhbSBtaXhlZCAkY2FsbGFibGUgQ2FsbGFibGUgZnVuY3Rpb24gdG8gbm90aWZ5CiAgICAgKgogICAgICogQHJldHVybiBCYXRjaEJ1aWxkZXIKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGlmIHRoZSBhcmd1bWVudCBpcyBub3QgY2FsbGFibGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG5vdGlmeSgkY2FsbGFibGUpCiAgICB7CiAgICAgICAgJHRoaXMtPmFmdGVyRmx1c2ggPSAkY2FsbGFibGU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIENvbmZpZ3VyZXMgdGhlIGJhdGNoIHRvIHRyYW5zZmVyIGJhdGNoZXMgb2YgcmVxdWVzdHMuIEFzc29jaWF0ZXMgYSB7QHNlZSBcR3V6emxlXEh0dHBcQmF0Y2hSZXF1ZXN0VHJhbnNmZXJ9CiAgICAgKiBvYmplY3QgYXMgYm90aCB0aGUgdHJhbnNmZXIgYW5kIGRpdmlzb3Igc3RyYXRlZ3kuCiAgICAgKgogICAgICogQHBhcmFtIGludCAkYmF0Y2hTaXplIEJhdGNoIHNpemUgZm9yIGVhY2ggYmF0Y2ggb2YgcmVxdWVzdHMKICAgICAqCiAgICAgKiBAcmV0dXJuIEJhdGNoQnVpbGRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmZXJSZXF1ZXN0cygkYmF0Y2hTaXplID0gNTApCiAgICB7CiAgICAgICAgJGNsYXNzTmFtZSA9IHNlbGY6OiRtYXBwaW5nWydyZXF1ZXN0J107CiAgICAgICAgJHRoaXMtPnRyYW5zZmVyU3RyYXRlZ3kgPSBuZXcgJGNsYXNzTmFtZSgkYmF0Y2hTaXplKTsKICAgICAgICAkdGhpcy0+ZGl2aXNvclN0cmF0ZWd5ID0gJHRoaXMtPnRyYW5zZmVyU3RyYXRlZ3k7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIENvbmZpZ3VyZXMgdGhlIGJhdGNoIHRvIHRyYW5zZmVyIGJhdGNoZXMgY29tbWFuZHMuIEFzc29jaWF0ZXMgYXMKICAgICAqIHtAc2VlIFxHdXp6bGVcU2VydmljZVxDb21tYW5kXEJhdGNoQ29tbWFuZFRyYW5zZmVyfSBhcyBib3RoIHRoZSB0cmFuc2ZlciBhbmQgZGl2aXNvciBzdHJhdGVneS4KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRiYXRjaFNpemUgQmF0Y2ggc2l6ZSBmb3IgZWFjaCBiYXRjaCBvZiBjb21tYW5kcwogICAgICoKICAgICAqIEByZXR1cm4gQmF0Y2hCdWlsZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2ZlckNvbW1hbmRzKCRiYXRjaFNpemUgPSA1MCkKICAgIHsKICAgICAgICAkY2xhc3NOYW1lID0gc2VsZjo6JG1hcHBpbmdbJ2NvbW1hbmQnXTsKICAgICAgICAkdGhpcy0+dHJhbnNmZXJTdHJhdGVneSA9IG5ldyAkY2xhc3NOYW1lKCRiYXRjaFNpemUpOwogICAgICAgICR0aGlzLT5kaXZpc29yU3RyYXRlZ3kgPSAkdGhpcy0+dHJhbnNmZXJTdHJhdGVneTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU3BlY2lmeSB0aGUgc3RyYXRlZ3kgdXNlZCB0byBkaXZpZGUgdGhlIHF1ZXVlIGludG8gYW4gYXJyYXkgb2YgYmF0Y2hlcwogICAgICoKICAgICAqIEBwYXJhbSBCYXRjaERpdmlzb3JJbnRlcmZhY2UgJGRpdmlzb3JTdHJhdGVneSBTdHJhdGVneSB1c2VkIHRvIGRpdmlkZSBhIGJhdGNoIHF1ZXVlIGludG8gYmF0Y2hlcwogICAgICoKICAgICAqIEByZXR1cm4gQmF0Y2hCdWlsZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGVCYXRjaGVzV2l0aChCYXRjaERpdmlzb3JJbnRlcmZhY2UgJGRpdmlzb3JTdHJhdGVneSkKICAgIHsKICAgICAgICAkdGhpcy0+ZGl2aXNvclN0cmF0ZWd5ID0gJGRpdmlzb3JTdHJhdGVneTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU3BlY2lmeSB0aGUgc3RyYXRlZ3kgdXNlZCB0byB0cmFuc3BvcnQgdGhlIGl0ZW1zIHdoZW4gZmx1c2ggaXMgY2FsbGVkCiAgICAgKgogICAgICogQHBhcmFtIEJhdGNoVHJhbnNmZXJJbnRlcmZhY2UgJHRyYW5zZmVyU3RyYXRlZ3kgSG93IGl0ZW1zIGFyZSB0cmFuc2ZlcnJlZAogICAgICoKICAgICAqIEByZXR1cm4gQmF0Y2hCdWlsZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2ZlcldpdGgoQmF0Y2hUcmFuc2ZlckludGVyZmFjZSAkdHJhbnNmZXJTdHJhdGVneSkKICAgIHsKICAgICAgICAkdGhpcy0+dHJhbnNmZXJTdHJhdGVneSA9ICR0cmFuc2ZlclN0cmF0ZWd5OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYW5kIHJldHVybiB0aGUgaW5zdGFudGlhdGVkIGJhdGNoCiAgICAgKgogICAgICogQHJldHVybiBCYXRjaEludGVyZmFjZQogICAgICogQHRocm93cyBSdW50aW1lRXhjZXB0aW9uIGlmIG5vIHRyYW5zZmVyIHN0cmF0ZWd5IGhhcyBiZWVuIHNwZWNpZmllZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVpbGQoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPnRyYW5zZmVyU3RyYXRlZ3kpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oJ05vIHRyYW5zZmVyIHN0cmF0ZWd5IGhhcyBiZWVuIHNwZWNpZmllZCcpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCEkdGhpcy0+ZGl2aXNvclN0cmF0ZWd5KSB7CiAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKCdObyBkaXZpc29yIHN0cmF0ZWd5IGhhcyBiZWVuIHNwZWNpZmllZCcpOwogICAgICAgIH0KCiAgICAgICAgJGJhdGNoID0gbmV3IEJhdGNoKCR0aGlzLT50cmFuc2ZlclN0cmF0ZWd5LCAkdGhpcy0+ZGl2aXNvclN0cmF0ZWd5KTsKCiAgICAgICAgaWYgKCR0aGlzLT5leGNlcHRpb25CdWZmZXJpbmcpIHsKICAgICAgICAgICAgJGJhdGNoID0gbmV3IEV4Y2VwdGlvbkJ1ZmZlcmluZ0JhdGNoKCRiYXRjaCk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRoaXMtPmFmdGVyRmx1c2gpIHsKICAgICAgICAgICAgJGJhdGNoID0gbmV3IE5vdGlmeWluZ0JhdGNoKCRiYXRjaCwgJHRoaXMtPmFmdGVyRmx1c2gpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT5hdXRvRmx1c2gpIHsKICAgICAgICAgICAgJGJhdGNoID0gbmV3IEZsdXNoaW5nQmF0Y2goJGJhdGNoLCAkdGhpcy0+YXV0b0ZsdXNoKTsKICAgICAgICB9CgogICAgICAgIGlmICgkdGhpcy0+aGlzdG9yeSkgewogICAgICAgICAgICAkYmF0Y2ggPSBuZXcgSGlzdG9yeUJhdGNoKCRiYXRjaCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGJhdGNoOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/BatchClosureDivisor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwoKLyoqCiAqIERpdmlkZXMgYmF0Y2hlcyB1c2luZyBhIGNhbGxhYmxlCiAqLwpjbGFzcyBCYXRjaENsb3N1cmVEaXZpc29yIGltcGxlbWVudHMgQmF0Y2hEaXZpc29ySW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIGNhbGxhYmxlIE1ldGhvZCB1c2VkIHRvIGRpdmlkZSB0aGUgYmF0Y2hlcyAqLwogICAgcHJvdGVjdGVkICRjYWxsYWJsZTsKCiAgICAvKiogQHZhciBtaXhlZCAkY29udGV4dCBDb250ZXh0IHBhc3NlZCB0byB0aGUgY2FsbGFibGUgKi8KICAgIHByb3RlY3RlZCAkY29udGV4dDsKCiAgICAvKioKICAgICAqIEBwYXJhbSBjYWxsYWJsZSAkY2FsbGFibGUgTWV0aG9kIHVzZWQgdG8gZGl2aWRlIHRoZSBiYXRjaGVzLiBUaGUgbWV0aG9kIG11c3QgYWNjZXB0IGFuIFxTcGxRdWV1ZSBhbmQgcmV0dXJuIGFuCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5IG9mIGFycmF5cyBjb250YWluaW5nIHRoZSBkaXZpZGVkIGl0ZW1zLgogICAgICogQHBhcmFtIG1peGVkICAgICRjb250ZXh0ICBPcHRpb25hbCBjb250ZXh0IHRvIHBhc3MgdG8gdGhlIGJhdGNoIGRpdmlzb3IKICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBpZiB0aGUgY2FsbGFibGUgaXMgbm90IGNhbGxhYmxlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY2FsbGFibGUsICRjb250ZXh0ID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoIWlzX2NhbGxhYmxlKCRjYWxsYWJsZSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignTXVzdCBwYXNzIGEgY2FsbGFibGUnKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5jYWxsYWJsZSA9ICRjYWxsYWJsZTsKICAgICAgICAkdGhpcy0+Y29udGV4dCA9ICRjb250ZXh0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGVCYXRjaGVzKFxTcGxRdWV1ZSAkcXVldWUpCiAgICB7CiAgICAgICAgcmV0dXJuIGNhbGxfdXNlcl9mdW5jKCR0aGlzLT5jYWxsYWJsZSwgJHF1ZXVlLCAkdGhpcy0+Y29udGV4dCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/BatchClosureTransfer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwoKLyoqCiAqIEJhdGNoIHRyYW5zZmVyIHN0cmF0ZWd5IHdoZXJlIHRyYW5zZmVyIGxvZ2ljIGNhbiBiZSBkZWZpbmVkIHZpYSBhIENsb3N1cmUuCiAqIFRoaXMgY2xhc3MgaXMgdG8gYmUgdXNlZCB3aXRoIHtAc2VlIEd1enpsZVxCYXRjaFxCYXRjaEludGVyZmFjZX0KICovCmNsYXNzIEJhdGNoQ2xvc3VyZVRyYW5zZmVyIGltcGxlbWVudHMgQmF0Y2hUcmFuc2ZlckludGVyZmFjZQp7CiAgICAvKiogQHZhciBjYWxsYWJsZSBBIGNsb3N1cmUgdGhhdCBwZXJmb3JtcyB0aGUgdHJhbnNmZXIgKi8KICAgIHByb3RlY3RlZCAkY2FsbGFibGU7CgogICAgLyoqIEB2YXIgbWl4ZWQgJGNvbnRleHQgQ29udGV4dCBwYXNzZWQgdG8gdGhlIGNhbGxhYmxlICovCiAgICBwcm90ZWN0ZWQgJGNvbnRleHQ7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gbWl4ZWQgJGNhbGxhYmxlIENhbGxhYmxlIHRoYXQgcGVyZm9ybXMgdGhlIHRyYW5zZmVyLiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBhY2NlcHQgdHdvIGFyZ3VtZW50czoKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgKGFycmF5ICRiYXRjaCwgbWl4ZWQgJGNvbnRleHQpLgogICAgICogQHBhcmFtIG1peGVkICRjb250ZXh0ICBPcHRpb25hbCBjb250ZXh0IHRvIHBhc3MgdG8gdGhlIGJhdGNoIGRpdmlzb3IKICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNhbGxhYmxlLCAkY29udGV4dCA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKCFpc19jYWxsYWJsZSgkY2FsbGFibGUpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0FyZ3VtZW50IG11c3QgYmUgY2FsbGFibGUnKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5jYWxsYWJsZSA9ICRjYWxsYWJsZTsKICAgICAgICAkdGhpcy0+Y29udGV4dCA9ICRjb250ZXh0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2ZlcihhcnJheSAkYmF0Y2gpCiAgICB7CiAgICAgICAgcmV0dXJuIGVtcHR5KCRiYXRjaCkgPyBudWxsIDogY2FsbF91c2VyX2Z1bmMoJHRoaXMtPmNhbGxhYmxlLCAkYmF0Y2gsICR0aGlzLT5jb250ZXh0KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/BatchCommandTransfer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEJhdGNoVHJhbnNmZXJJbnRlcmZhY2U7CnVzZSBHdXp6bGVcQmF0Y2hcQmF0Y2hEaXZpc29ySW50ZXJmYWNlOwp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRXhjZXB0aW9uXEluY29uc2lzdGVudENsaWVudFRyYW5zZmVyRXhjZXB0aW9uOwoKLyoqCiAqIEVmZmljaWVudGx5IHRyYW5zZmVycyBtdWx0aXBsZSBjb21tYW5kcyBpbiBwYXJhbGxlbCBwZXIgY2xpZW50CiAqIFRoaXMgY2xhc3MgaXMgdG8gYmUgdXNlZCB3aXRoIHtAc2VlIEd1enpsZVxCYXRjaFxCYXRjaEludGVyZmFjZX0KICovCmNsYXNzIEJhdGNoQ29tbWFuZFRyYW5zZmVyIGltcGxlbWVudHMgQmF0Y2hUcmFuc2ZlckludGVyZmFjZSwgQmF0Y2hEaXZpc29ySW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIGludCBTaXplIG9mIGVhY2ggY29tbWFuZCBiYXRjaCAqLwogICAgcHJvdGVjdGVkICRiYXRjaFNpemU7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gaW50ICRiYXRjaFNpemUgU2l6ZSBvZiBlYWNoIGJhdGNoCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkYmF0Y2hTaXplID0gNTApCiAgICB7CiAgICAgICAgJHRoaXMtPmJhdGNoU2l6ZSA9ICRiYXRjaFNpemU7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGVzIGJhdGNoZXMgYnkgZ3JvdXBpbmcgY29tbWFuZHMgYnkgdGhlaXIgYXNzb2NpYXRlZCBjbGllbnQKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZUJhdGNoZXMoXFNwbFF1ZXVlICRxdWV1ZSkKICAgIHsKICAgICAgICAkZ3JvdXBzID0gbmV3IFxTcGxPYmplY3RTdG9yYWdlKCk7CiAgICAgICAgZm9yZWFjaCAoJHF1ZXVlIGFzICRpdGVtKSB7CiAgICAgICAgICAgIGlmICghJGl0ZW0gaW5zdGFuY2VvZiBDb21tYW5kSW50ZXJmYWNlKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdBbGwgaXRlbXMgbXVzdCBpbXBsZW1lbnQgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGNsaWVudCA9ICRpdGVtLT5nZXRDbGllbnQoKTsKICAgICAgICAgICAgaWYgKCEkZ3JvdXBzLT5jb250YWlucygkY2xpZW50KSkgewogICAgICAgICAgICAgICAgJGdyb3Vwcy0+YXR0YWNoKCRjbGllbnQsIG5ldyBcQXJyYXlPYmplY3QoYXJyYXkoJGl0ZW0pKSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZ3JvdXBzWyRjbGllbnRdLT5hcHBlbmQoJGl0ZW0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkYmF0Y2hlcyA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJGdyb3VwcyBhcyAkYmF0Y2gpIHsKICAgICAgICAgICAgJGJhdGNoZXMgPSBhcnJheV9tZXJnZSgkYmF0Y2hlcywgYXJyYXlfY2h1bmsoJGdyb3Vwc1skYmF0Y2hdLT5nZXRBcnJheUNvcHkoKSwgJHRoaXMtPmJhdGNoU2l6ZSkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRiYXRjaGVzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2ZlcihhcnJheSAkYmF0Y2gpCiAgICB7CiAgICAgICAgaWYgKGVtcHR5KCRiYXRjaCkpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgLy8gR2V0IHRoZSBjbGllbnQgb2YgdGhlIGZpcnN0IGZvdW5kIGNvbW1hbmQKICAgICAgICAkY2xpZW50ID0gcmVzZXQoJGJhdGNoKS0+Z2V0Q2xpZW50KCk7CgogICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGFsbCBjb21tYW5kcyB3aXRoIGludmFsaWQgY2xpZW50cwogICAgICAgICRpbnZhbGlkID0gYXJyYXlfZmlsdGVyKCRiYXRjaCwgZnVuY3Rpb24gKCRjb21tYW5kKSB1c2UgKCRjbGllbnQpIHsKICAgICAgICAgICAgcmV0dXJuICRjb21tYW5kLT5nZXRDbGllbnQoKSAhPT0gJGNsaWVudDsKICAgICAgICB9KTsKCiAgICAgICAgaWYgKCFlbXB0eSgkaW52YWxpZCkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEluY29uc2lzdGVudENsaWVudFRyYW5zZmVyRXhjZXB0aW9uKCRpbnZhbGlkKTsKICAgICAgICB9CgogICAgICAgICRjbGllbnQtPmV4ZWN1dGUoJGJhdGNoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/BatchDivisorInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7CgovKioKICogSW50ZXJmYWNlIHVzZWQgZm9yIGRpdmlkaW5nIGEgcXVldWUgb2YgaXRlbXMgaW50byBhbiBhcnJheSBvZiBiYXRjaGVzCiAqLwppbnRlcmZhY2UgQmF0Y2hEaXZpc29ySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogRGl2aWRlIGEgcXVldWUgb2YgaXRlbXMgaW50byBhbiBhcnJheSBiYXRjaGVzCiAgICAgKgogICAgICogQHBhcmFtIFxTcGxRdWV1ZSAkcXVldWUgUXVldWUgb2YgaXRlbXMgdG8gZGl2aWRlIGludG8gYmF0Y2hlcy4gSXRlbXMgYXJlIHJlbW92ZWQgYXMgdGhleSBhcmUgaXRlcmF0ZWQuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheXxcVHJhdmVyc2FibGUgUmV0dXJucyBhbiBhcnJheSBvciBUcmF2ZXJzYWJsZSBvYmplY3QgdGhhdCBjb250YWlucyBhcnJheXMgb2YgaXRlbXMgdG8gdHJhbnNmZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZUJhdGNoZXMoXFNwbFF1ZXVlICRxdWV1ZSk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/BatchInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7CgovKioKICogSW50ZXJmYWNlIGZvciBlZmZpY2llbnRseSB0cmFuc2ZlcnJpbmcgaXRlbXMgaW4gYSBxdWV1ZSB1c2luZyBiYXRjaGVzCiAqLwppbnRlcmZhY2UgQmF0Y2hJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBBZGQgYW4gaXRlbSB0byB0aGUgcXVldWUKICAgICAqCiAgICAgKiBAcGFyYW0gbWl4ZWQgJGl0ZW0gSXRlbSB0byBhZGQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZCgkaXRlbSk7CgogICAgLyoqCiAgICAgKiBGbHVzaCB0aGUgYmF0Y2ggYW5kIHRyYW5zZmVyIHRoZSBpdGVtcwogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkgUmV0dXJucyBhbiBhcnJheSBmbHVzaGVkIGl0ZW1zCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBmbHVzaCgpOwoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgdGhlIGJhdGNoIGlzIGVtcHR5IGFuZCBoYXMgZnVydGhlciBpdGVtcyB0byB0cmFuc2ZlcgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNFbXB0eSgpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/BatchRequestTransfer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEJhdGNoVHJhbnNmZXJJbnRlcmZhY2U7CnVzZSBHdXp6bGVcQmF0Y2hcQmF0Y2hEaXZpc29ySW50ZXJmYWNlOwp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwoKLyoqCiAqIEJhdGNoIHRyYW5zZmVyIHN0cmF0ZWd5IHVzZWQgdG8gZWZmaWNpZW50bHkgdHJhbnNmZXIgYSBiYXRjaCBvZiByZXF1ZXN0cy4KICogVGhpcyBjbGFzcyBpcyB0byBiZSB1c2VkIHdpdGgge0BzZWUgR3V6emxlXEJhdGNoXEJhdGNoSW50ZXJmYWNlfQogKi8KY2xhc3MgQmF0Y2hSZXF1ZXN0VHJhbnNmZXIgaW1wbGVtZW50cyBCYXRjaFRyYW5zZmVySW50ZXJmYWNlLCBCYXRjaERpdmlzb3JJbnRlcmZhY2UKewogICAgLyoqIEB2YXIgaW50IFNpemUgb2YgZWFjaCBjb21tYW5kIGJhdGNoICovCiAgICBwcm90ZWN0ZWQgJGJhdGNoU2l6ZTsKCiAgICAvKioKICAgICAqIENvbnN0cnVjdG9yIHVzZWQgdG8gc3BlY2lmeSBob3cgbGFyZ2UgZWFjaCBiYXRjaCBzaG91bGQgYmUKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRiYXRjaFNpemUgU2l6ZSBvZiBlYWNoIGJhdGNoCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkYmF0Y2hTaXplID0gNTApCiAgICB7CiAgICAgICAgJHRoaXMtPmJhdGNoU2l6ZSA9ICRiYXRjaFNpemU7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGVzIGJhdGNoZXMgb2YgcmVxdWVzdHMgYnkgZ3JvdXBpbmcgcmVxdWVzdHMgYnkgdGhlaXIgYXNzb2NpYXRlZCBjdXJsIG11bHRpIG9iamVjdC4KICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZUJhdGNoZXMoXFNwbFF1ZXVlICRxdWV1ZSkKICAgIHsKICAgICAgICAvLyBDcmVhdGUgYmF0Y2hlcyBieSBjbGllbnQgb2JqZWN0cwogICAgICAgICRncm91cHMgPSBuZXcgXFNwbE9iamVjdFN0b3JhZ2UoKTsKICAgICAgICBmb3JlYWNoICgkcXVldWUgYXMgJGl0ZW0pIHsKICAgICAgICAgICAgaWYgKCEkaXRlbSBpbnN0YW5jZW9mIFJlcXVlc3RJbnRlcmZhY2UpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0FsbCBpdGVtcyBtdXN0IGltcGxlbWVudCBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2UnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkY2xpZW50ID0gJGl0ZW0tPmdldENsaWVudCgpOwogICAgICAgICAgICBpZiAoISRncm91cHMtPmNvbnRhaW5zKCRjbGllbnQpKSB7CiAgICAgICAgICAgICAgICAkZ3JvdXBzLT5hdHRhY2goJGNsaWVudCwgYXJyYXkoJGl0ZW0pKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRjdXJyZW50ID0gJGdyb3Vwc1skY2xpZW50XTsKICAgICAgICAgICAgICAgICRjdXJyZW50W10gPSAkaXRlbTsKICAgICAgICAgICAgICAgICRncm91cHNbJGNsaWVudF0gPSAkY3VycmVudDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJGJhdGNoZXMgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKCRncm91cHMgYXMgJGJhdGNoKSB7CiAgICAgICAgICAgICRiYXRjaGVzID0gYXJyYXlfbWVyZ2UoJGJhdGNoZXMsIGFycmF5X2NodW5rKCRncm91cHNbJGJhdGNoXSwgJHRoaXMtPmJhdGNoU2l6ZSkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRiYXRjaGVzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2ZlcihhcnJheSAkYmF0Y2gpCiAgICB7CiAgICAgICAgaWYgKCRiYXRjaCkgewogICAgICAgICAgICByZXNldCgkYmF0Y2gpLT5nZXRDbGllbnQoKS0+c2VuZCgkYmF0Y2gpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/BatchSizeDivisor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7CgovKioKICogRGl2aWRlcyBiYXRjaGVzIGludG8gc21hbGxlciBiYXRjaGVzIHVuZGVyIGEgY2VydGFpbiBzaXplCiAqLwpjbGFzcyBCYXRjaFNpemVEaXZpc29yIGltcGxlbWVudHMgQmF0Y2hEaXZpc29ySW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIGludCBTaXplIG9mIGVhY2ggYmF0Y2ggKi8KICAgIHByb3RlY3RlZCAkc2l6ZTsKCiAgICAvKiogQHBhcmFtIGludCAkc2l6ZSBTaXplIG9mIGVhY2ggYmF0Y2ggKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkc2l6ZSkKICAgIHsKICAgICAgICAkdGhpcy0+c2l6ZSA9ICRzaXplOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBzaXplIG9mIGVhY2ggYmF0Y2gKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRzaXplIFNpemUgb2YgZWFjaCBiYXRjaAogICAgICoKICAgICAqIEByZXR1cm4gQmF0Y2hTaXplRGl2aXNvcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U2l6ZSgkc2l6ZSkKICAgIHsKICAgICAgICAkdGhpcy0+c2l6ZSA9ICRzaXplOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHNpemUgb2YgZWFjaCBiYXRjaAogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTaXplKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNpemU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZUJhdGNoZXMoXFNwbFF1ZXVlICRxdWV1ZSkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXlfY2h1bmsoaXRlcmF0b3JfdG9fYXJyYXkoJHF1ZXVlLCBmYWxzZSksICR0aGlzLT5zaXplKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/BatchTransferInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7CgovKioKICogSW50ZXJmYWNlIHVzZWQgZm9yIHRyYW5zZmVycmluZyBiYXRjaGVzIG9mIGl0ZW1zCiAqLwppbnRlcmZhY2UgQmF0Y2hUcmFuc2ZlckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIFRyYW5zZmVyIGFuIGFycmF5IG9mIGl0ZW1zCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRiYXRjaCBBcnJheSBvZiBpdGVtcyB0byB0cmFuc2ZlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmZXIoYXJyYXkgJGJhdGNoKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL2JhdGNoIiwKICAgICJkZXNjcmlwdGlvbiI6ICJHdXp6bGUgYmF0Y2ggY29tcG9uZW50IGZvciBiYXRjaGluZyByZXF1ZXN0cywgY29tbWFuZHMsIG9yIGN1c3RvbSB0cmFuc2ZlcnMiLAogICAgImhvbWVwYWdlIjogImh0dHA6Ly9ndXp6bGVwaHAub3JnLyIsCiAgICAia2V5d29yZHMiOiBbImJhdGNoIiwgIkhUVFAiLCAiUkVTVCIsICJndXp6bGUiXSwKICAgICJsaWNlbnNlIjogIk1JVCIsCiAgICAiYXV0aG9ycyI6IFsKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogIk1pY2hhZWwgRG93bGluZyIsCiAgICAgICAgICAgICJlbWFpbCI6ICJtdGRvd2xpbmdAZ21haWwuY29tIiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tdGRvd2xpbmciCiAgICAgICAgfQogICAgXSwKICAgICJyZXF1aXJlIjogewogICAgICAgICJwaHAiOiAiPj01LjMuMiIsCiAgICAgICAgImd1enpsZS9jb21tb24iOiAic2VsZi52ZXJzaW9uIgogICAgfSwKICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAicHNyLTAiOiB7ICJHdXp6bGVcXEJhdGNoIjogIiIgfQogICAgfSwKICAgICJzdWdnZXN0IjogewogICAgICAgICJndXp6bGUvaHR0cCI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvc2VydmljZSI6ICJzZWxmLnZlcnNpb24iCiAgICB9LAogICAgInRhcmdldC1kaXIiOiAiR3V6emxlL0JhdGNoIiwKICAgICJleHRyYSI6IHsKICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAiZGV2LW1hc3RlciI6ICIzLjctZGV2IgogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/Exception/BatchTransferException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2hcRXhjZXB0aW9uOwoKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEd1enpsZUV4Y2VwdGlvbjsKdXNlIEd1enpsZVxCYXRjaFxCYXRjaFRyYW5zZmVySW50ZXJmYWNlIGFzIFRyYW5zZmVyU3RyYXRlZ3k7CnVzZSBHdXp6bGVcQmF0Y2hcQmF0Y2hEaXZpc29ySW50ZXJmYWNlIGFzIERpdmlzb3JTdHJhdGVneTsKCi8qKgogKiBFeGNlcHRpb24gdGhyb3duIGR1cmluZyBhIGJhdGNoIHRyYW5zZmVyCiAqLwpjbGFzcyBCYXRjaFRyYW5zZmVyRXhjZXB0aW9uIGV4dGVuZHMgXEV4Y2VwdGlvbiBpbXBsZW1lbnRzIEd1enpsZUV4Y2VwdGlvbgp7CiAgICAvKiogQHZhciBhcnJheSBUaGUgYmF0Y2ggYmVpbmcgc2VudCB3aGVuIHRoZSBleGNlcHRpb24gb2NjdXJyZWQgKi8KICAgIHByb3RlY3RlZCAkYmF0Y2g7CgogICAgLyoqIEB2YXIgVHJhbnNmZXJTdHJhdGVneSBUaGUgdHJhbnNmZXIgc3RyYXRlZ3kgaW4gdXNlIHdoZW4gdGhlIGV4Y2VwdGlvbiBvY2N1cnJlZCAqLwogICAgcHJvdGVjdGVkICR0cmFuc2ZlclN0cmF0ZWd5OwoKICAgIC8qKiBAdmFyIERpdmlzb3JTdHJhdGVneSBUaGUgZGl2aXNvciBzdHJhdGVneSBpbiB1c2Ugd2hlbiB0aGUgZXhjZXB0aW9uIG9jY3VycmVkICovCiAgICBwcm90ZWN0ZWQgJGRpdmlzb3JTdHJhdGVneTsKCiAgICAvKiogQHZhciBhcnJheSBJdGVtcyB0cmFuc2ZlcnJlZCBhdCB0aGUgcG9pbnQgaW4gd2hpY2ggdGhlIGV4Y2VwdGlvbiB3YXMgZW5jb3VudGVyZWQgKi8KICAgIHByb3RlY3RlZCAkdHJhbnNmZXJyZWRJdGVtczsKCiAgICAvKioKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICRiYXRjaCAgICAgICAgICAgIFRoZSBiYXRjaCBiZWluZyBzZW50IHdoZW4gdGhlIGV4Y2VwdGlvbiBvY2N1cnJlZAogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgJHRyYW5zZmVycmVkSXRlbXMgSXRlbXMgdHJhbnNmZXJyZWQgYXQgdGhlIHBvaW50IGluIHdoaWNoIHRoZSBleGNlcHRpb24gd2FzIGVuY291bnRlcmVkCiAgICAgKiBAcGFyYW0gXEV4Y2VwdGlvbiAgICAgICAkZXhjZXB0aW9uICAgICAgICBFeGNlcHRpb24gZW5jb3VudGVyZWQKICAgICAqIEBwYXJhbSBUcmFuc2ZlclN0cmF0ZWd5ICR0cmFuc2ZlclN0cmF0ZWd5IFRoZSB0cmFuc2ZlciBzdHJhdGVneSBpbiB1c2Ugd2hlbiB0aGUgZXhjZXB0aW9uIG9jY3VycmVkCiAgICAgKiBAcGFyYW0gRGl2aXNvclN0cmF0ZWd5ICAkZGl2aXNvclN0cmF0ZWd5ICBUaGUgZGl2aXNvciBzdHJhdGVneSBpbiB1c2Ugd2hlbiB0aGUgZXhjZXB0aW9uIG9jY3VycmVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgKICAgICAgICBhcnJheSAkYmF0Y2gsCiAgICAgICAgYXJyYXkgJHRyYW5zZmVycmVkSXRlbXMsCiAgICAgICAgXEV4Y2VwdGlvbiAkZXhjZXB0aW9uLAogICAgICAgIFRyYW5zZmVyU3RyYXRlZ3kgJHRyYW5zZmVyU3RyYXRlZ3kgPSBudWxsLAogICAgICAgIERpdmlzb3JTdHJhdGVneSAkZGl2aXNvclN0cmF0ZWd5ID0gbnVsbAogICAgKSB7CiAgICAgICAgJHRoaXMtPmJhdGNoID0gJGJhdGNoOwogICAgICAgICR0aGlzLT50cmFuc2ZlcnJlZEl0ZW1zID0gJHRyYW5zZmVycmVkSXRlbXM7CiAgICAgICAgJHRoaXMtPnRyYW5zZmVyU3RyYXRlZ3kgPSAkdHJhbnNmZXJTdHJhdGVneTsKICAgICAgICAkdGhpcy0+ZGl2aXNvclN0cmF0ZWd5ID0gJGRpdmlzb3JTdHJhdGVneTsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KAogICAgICAgICAgICAnRXhjZXB0aW9uIGVuY291bnRlcmVkIHdoaWxlIHRyYW5zZmVycmluZyBiYXRjaDogJyAuICRleGNlcHRpb24tPmdldE1lc3NhZ2UoKSwKICAgICAgICAgICAgJGV4Y2VwdGlvbi0+Z2V0Q29kZSgpLAogICAgICAgICAgICAkZXhjZXB0aW9uCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgYmF0Y2ggdGhhdCB3ZSBiZWluZyBzZW50IHdoZW4gdGhlIGV4Y2VwdGlvbiBvY2N1cnJlZAogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEJhdGNoKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmJhdGNoOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBpdGVtcyB0cmFuc2ZlcnJlZCBhdCB0aGUgcG9pbnQgaW4gd2hpY2ggdGhlIGV4Y2VwdGlvbiB3YXMgZW5jb3VudGVyZWQKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUcmFuc2ZlcnJlZEl0ZW1zKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnRyYW5zZmVycmVkSXRlbXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHRyYW5zZmVyIHN0cmF0ZWd5CiAgICAgKgogICAgICogQHJldHVybiBUcmFuc2ZlclN0cmF0ZWd5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUcmFuc2ZlclN0cmF0ZWd5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnRyYW5zZmVyU3RyYXRlZ3k7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGRpdmlzb3Igc3RyYXRlZ3kKICAgICAqCiAgICAgKiBAcmV0dXJuIERpdmlzb3JTdHJhdGVneQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGl2aXNvclN0cmF0ZWd5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRpdmlzb3JTdHJhdGVneTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/ExceptionBufferingBatch.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEV4Y2VwdGlvblxCYXRjaFRyYW5zZmVyRXhjZXB0aW9uOwoKLyoqCiAqIEJhdGNoSW50ZXJmYWNlIGRlY29yYXRvciB1c2VkIHRvIGJ1ZmZlciBleGNlcHRpb25zIGVuY291bnRlcmVkIGR1cmluZyBhIHRyYW5zZmVyLiAgVGhlIGV4Y2VwdGlvbnMgY2FuIHRoZW4gbGF0ZXIgYmUKICogcHJvY2Vzc2VkIGFmdGVyIGEgYmF0Y2ggZmx1c2ggaGFzIGNvbXBsZXRlZC4KICovCmNsYXNzIEV4Y2VwdGlvbkJ1ZmZlcmluZ0JhdGNoIGV4dGVuZHMgQWJzdHJhY3RCYXRjaERlY29yYXRvcgp7CiAgICAvKiogQHZhciBhcnJheSBBcnJheSBvZiBCYXRjaFRyYW5zZmVyRXhjZXB0aW9uIGV4Y2VwdGlvbnMgKi8KICAgIHByb3RlY3RlZCAkZXhjZXB0aW9ucyA9IGFycmF5KCk7CgogICAgcHVibGljIGZ1bmN0aW9uIGZsdXNoKCkKICAgIHsKICAgICAgICAkaXRlbXMgPSBhcnJheSgpOwoKICAgICAgICB3aGlsZSAoISR0aGlzLT5kZWNvcmF0ZWRCYXRjaC0+aXNFbXB0eSgpKSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAkdHJhbnNmZXJyZWRJdGVtcyA9ICR0aGlzLT5kZWNvcmF0ZWRCYXRjaC0+Zmx1c2goKTsKICAgICAgICAgICAgfSBjYXRjaCAoQmF0Y2hUcmFuc2ZlckV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAgICAgJHRoaXMtPmV4Y2VwdGlvbnNbXSA9ICRlOwogICAgICAgICAgICAgICAgJHRyYW5zZmVycmVkSXRlbXMgPSAkZS0+Z2V0VHJhbnNmZXJyZWRJdGVtcygpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRpdGVtcyA9IGFycmF5X21lcmdlKCRpdGVtcywgJHRyYW5zZmVycmVkSXRlbXMpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRpdGVtczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgYnVmZmVyZWQgZXhjZXB0aW9ucwogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkgQXJyYXkgb2YgQmF0Y2hUcmFuc2ZlckV4Y2VwdGlvbiBvYmplY3RzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFeGNlcHRpb25zKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmV4Y2VwdGlvbnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBDbGVhciB0aGUgYnVmZmVyZWQgZXhjZXB0aW9ucwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xlYXJFeGNlcHRpb25zKCkKICAgIHsKICAgICAgICAkdGhpcy0+ZXhjZXB0aW9ucyA9IGFycmF5KCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/FlushingBatch.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7CgovKioKICogQmF0Y2hJbnRlcmZhY2UgZGVjb3JhdG9yIHVzZWQgdG8gYWRkIGF1dG9tYXRpYyBmbHVzaGluZyBvZiB0aGUgcXVldWUgd2hlbiB0aGUgc2l6ZSBvZiB0aGUgcXVldWUgcmVhY2hlcyBhIHRocmVzaG9sZC4KICovCmNsYXNzIEZsdXNoaW5nQmF0Y2ggZXh0ZW5kcyBBYnN0cmFjdEJhdGNoRGVjb3JhdG9yCnsKICAgIC8qKiBAdmFyIGludCBUaGUgdGhyZXNob2xkIGZvciB3aGljaCB0byBhdXRvbWF0aWNhbGx5IGZsdXNoICovCiAgICBwcm90ZWN0ZWQgJHRocmVzaG9sZDsKCiAgICAvKiogQHZhciBpbnQgQ3VycmVudCBudW1iZXIgb2YgaXRlbXMga25vd24gdG8gYmUgaW4gdGhlIHF1ZXVlICovCiAgICBwcm90ZWN0ZWQgJGN1cnJlbnRUb3RhbCA9IDA7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gQmF0Y2hJbnRlcmZhY2UgJGRlY29yYXRlZEJhdGNoICBCYXRjaEludGVyZmFjZSB0aGF0IGlzIGJlaW5nIGRlY29yYXRlZAogICAgICogQHBhcmFtIGludCAgICAgICAgICAgICR0aHJlc2hvbGQgICAgICAgRmx1c2ggd2hlbiB0aGUgbnVtYmVyIGluIHF1ZXVlIG1hdGNoZXMgdGhlIHRocmVzaG9sZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoQmF0Y2hJbnRlcmZhY2UgJGRlY29yYXRlZEJhdGNoLCAkdGhyZXNob2xkKQogICAgewogICAgICAgICR0aGlzLT50aHJlc2hvbGQgPSAkdGhyZXNob2xkOwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJGRlY29yYXRlZEJhdGNoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgYXV0by1mbHVzaCB0aHJlc2hvbGQKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICR0aHJlc2hvbGQgVGhlIGF1dG8tZmx1c2ggdGhyZXNob2xkCiAgICAgKgogICAgICogQHJldHVybiBGbHVzaGluZ0JhdGNoCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRUaHJlc2hvbGQoJHRocmVzaG9sZCkKICAgIHsKICAgICAgICAkdGhpcy0+dGhyZXNob2xkID0gJHRocmVzaG9sZDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBhdXRvLWZsdXNoIHRocmVzaG9sZAogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUaHJlc2hvbGQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+dGhyZXNob2xkOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhZGQoJGl0ZW0pCiAgICB7CiAgICAgICAgJHRoaXMtPmRlY29yYXRlZEJhdGNoLT5hZGQoJGl0ZW0pOwogICAgICAgIGlmICgrKyR0aGlzLT5jdXJyZW50VG90YWwgPj0gJHRoaXMtPnRocmVzaG9sZCkgewogICAgICAgICAgICAkdGhpcy0+Y3VycmVudFRvdGFsID0gMDsKICAgICAgICAgICAgJHRoaXMtPmRlY29yYXRlZEJhdGNoLT5mbHVzaCgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/HistoryBatch.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7CgovKioKICogQmF0Y2hJbnRlcmZhY2UgZGVjb3JhdG9yIHVzZWQgdG8ga2VlcCBhIGhpc3Rvcnkgb2YgaXRlbXMgdGhhdCB3ZXJlIGFkZGVkIHRvIHRoZSBiYXRjaC4gIFlvdSBtdXN0IGNsZWFyIHRoZSBoaXN0b3J5CiAqIG1hbnVhbGx5IHRvIHJlbW92ZSBpdGVtcyBmcm9tIHRoZSBoaXN0b3J5LgogKi8KY2xhc3MgSGlzdG9yeUJhdGNoIGV4dGVuZHMgQWJzdHJhY3RCYXRjaERlY29yYXRvcgp7CiAgICAvKiogQHZhciBhcnJheSBJdGVtcyBpbiB0aGUgaGlzdG9yeSAqLwogICAgcHJvdGVjdGVkICRoaXN0b3J5ID0gYXJyYXkoKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkKCRpdGVtKQogICAgewogICAgICAgICR0aGlzLT5oaXN0b3J5W10gPSAkaXRlbTsKICAgICAgICAkdGhpcy0+ZGVjb3JhdGVkQmF0Y2gtPmFkZCgkaXRlbSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgYmF0Y2ggaGlzdG9yeQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEhpc3RvcnkoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+aGlzdG9yeTsKICAgIH0KCiAgICAvKioKICAgICAqIENsZWFyIHRoZSBiYXRjaCBoaXN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjbGVhckhpc3RvcnkoKQogICAgewogICAgICAgICR0aGlzLT5oaXN0b3J5ID0gYXJyYXkoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Batch/NotifyingBatch.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQmF0Y2g7Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwoKLyoqCiAqIEJhdGNoSW50ZXJmYWNlIGRlY29yYXRvciB1c2VkIHRvIGNhbGwgYSBtZXRob2QgZWFjaCB0aW1lIGZsdXNoIGlzIGNhbGxlZAogKi8KY2xhc3MgTm90aWZ5aW5nQmF0Y2ggZXh0ZW5kcyBBYnN0cmFjdEJhdGNoRGVjb3JhdG9yCnsKICAgIC8qKiBAdmFyIG1peGVkIENhbGxhYmxlIHRvIGNhbGwgKi8KICAgIHByb3RlY3RlZCAkY2FsbGFibGU7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gQmF0Y2hJbnRlcmZhY2UgJGRlY29yYXRlZEJhdGNoIEJhdGNoIG9iamVjdCB0byBkZWNvcmF0ZQogICAgICogQHBhcmFtIG1peGVkICAgICAgICAgICRjYWxsYWJsZSAgICAgICBDYWxsYWJsZSB0byBjYWxsCiAgICAgKgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEJhdGNoSW50ZXJmYWNlICRkZWNvcmF0ZWRCYXRjaCwgJGNhbGxhYmxlKQogICAgewogICAgICAgIGlmICghaXNfY2FsbGFibGUoJGNhbGxhYmxlKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdUaGUgcGFzc2VkIGFyZ3VtZW50IGlzIG5vdCBjYWxsYWJsZScpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmNhbGxhYmxlID0gJGNhbGxhYmxlOwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJGRlY29yYXRlZEJhdGNoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZmx1c2goKQogICAgewogICAgICAgICRpdGVtcyA9ICR0aGlzLT5kZWNvcmF0ZWRCYXRjaC0+Zmx1c2goKTsKICAgICAgICBjYWxsX3VzZXJfZnVuYygkdGhpcy0+Y2FsbGFibGUsICRpdGVtcyk7CgogICAgICAgIHJldHVybiAkaXRlbXM7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Cache/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Cache/AbstractCacheAdapter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ2FjaGU7CgovKioKICogQWJzdHJhY3QgY2FjaGUgYWRhcHRlcgogKi8KYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RDYWNoZUFkYXB0ZXIgaW1wbGVtZW50cyBDYWNoZUFkYXB0ZXJJbnRlcmZhY2UKewogICAgcHJvdGVjdGVkICRjYWNoZTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgb2JqZWN0IG93bmVkIGJ5IHRoZSBhZGFwdGVyCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2FjaGVPYmplY3QoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2FjaGU7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Cache/CacheAdapterFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ2FjaGU7Cgp1c2UgRG9jdHJpbmVcQ29tbW9uXENhY2hlXENhY2hlOwp1c2UgR3V6emxlXENvbW1vblxWZXJzaW9uOwp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKdXNlIEd1enpsZVxDb21tb25cRnJvbUNvbmZpZ0ludGVyZmFjZTsKdXNlIFplbmRcQ2FjaGVcU3RvcmFnZVxTdG9yYWdlSW50ZXJmYWNlOwoKLyoqCiAqIEdlbmVyYXRlcyBjYWNoZSBhZGFwdGVycyBmcm9tIGFueSBudW1iZXIgb2Yga25vd24gY2FjaGUgaW1wbGVtZW50YXRpb25zCiAqLwpjbGFzcyBDYWNoZUFkYXB0ZXJGYWN0b3J5IGltcGxlbWVudHMgRnJvbUNvbmZpZ0ludGVyZmFjZQp7CiAgICAvKioKICAgICAqIENyZWF0ZSBhIEd1enpsZSBjYWNoZSBhZGFwdGVyIGJhc2VkIG9uIGFuIGFycmF5IG9mIG9wdGlvbnMKICAgICAqCiAgICAgKiBAcGFyYW0gbWl4ZWQgJGNhY2hlIENhY2hlIHZhbHVlCiAgICAgKgogICAgICogQHJldHVybiBDYWNoZUFkYXB0ZXJJbnRlcmZhY2UKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbUNhY2hlKCRjYWNoZSkKICAgIHsKICAgICAgICBpZiAoIWlzX29iamVjdCgkY2FjaGUpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0NhY2hlIG11c3QgYmUgb25lIG9mIHRoZSBrbm93biBjYWNoZSBvYmplY3RzJyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJGNhY2hlIGluc3RhbmNlb2YgQ2FjaGVBZGFwdGVySW50ZXJmYWNlKSB7CiAgICAgICAgICAgIHJldHVybiAkY2FjaGU7CiAgICAgICAgfSBlbHNlaWYgKCRjYWNoZSBpbnN0YW5jZW9mIENhY2hlKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgRG9jdHJpbmVDYWNoZUFkYXB0ZXIoJGNhY2hlKTsKICAgICAgICB9IGVsc2VpZiAoJGNhY2hlIGluc3RhbmNlb2YgU3RvcmFnZUludGVyZmFjZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IFpmMkNhY2hlQWRhcHRlcigkY2FjaGUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ1Vua25vd24gY2FjaGUgdHlwZTogJyAuIGdldF9jbGFzcygkY2FjaGUpKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBHdXp6bGUgY2FjaGUgYWRhcHRlciBiYXNlZCBvbiBhbiBhcnJheSBvZiBvcHRpb25zCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRjb25maWcgQXJyYXkgb2YgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKgogICAgICogQHJldHVybiBDYWNoZUFkYXB0ZXJJbnRlcmZhY2UKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICBWZXJzaW9uOjp3YXJuKF9fTUVUSE9EX18gLiAnIGlzIGRlcHJlY2F0ZWQnKTsKICAgICAgICBpZiAoIWlzX2FycmF5KCRjb25maWcpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJyRjb25maWcgbXVzdCBiZSBhbiBhcnJheScpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCFpc3NldCgkY29uZmlnWydjYWNoZS5hZGFwdGVyJ10pICYmICFpc3NldCgkY29uZmlnWydjYWNoZS5wcm92aWRlciddKSkgewogICAgICAgICAgICAkY29uZmlnWydjYWNoZS5hZGFwdGVyJ10gPSAnR3V6emxlXENhY2hlXE51bGxDYWNoZUFkYXB0ZXInOwogICAgICAgICAgICAkY29uZmlnWydjYWNoZS5wcm92aWRlciddID0gbnVsbDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBWYWxpZGF0ZSB0aGF0IHRoZSBvcHRpb25zIGFyZSB2YWxpZAogICAgICAgICAgICBmb3JlYWNoIChhcnJheSgnY2FjaGUuYWRhcHRlcicsICdjYWNoZS5wcm92aWRlcicpIGFzICRyZXF1aXJlZCkgewogICAgICAgICAgICAgICAgaWYgKCFpc3NldCgkY29uZmlnWyRyZXF1aXJlZF0pKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigieyRyZXF1aXJlZH0gaXMgYSByZXF1aXJlZCBDYWNoZUFkYXB0ZXJGYWN0b3J5IG9wdGlvbiIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKGlzX3N0cmluZygkY29uZmlnWyRyZXF1aXJlZF0pKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gQ29udmVydCBkb3Qgbm90YXRpb24gdG8gbmFtZXNwYWNlcwogICAgICAgICAgICAgICAgICAgICRjb25maWdbJHJlcXVpcmVkXSA9IHN0cl9yZXBsYWNlKCcuJywgJ1xcJywgJGNvbmZpZ1skcmVxdWlyZWRdKTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYXNzX2V4aXN0cygkY29uZmlnWyRyZXF1aXJlZF0pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oInskY29uZmlnWyRyZXF1aXJlZF19IGlzIG5vdCBhIHZhbGlkIGNsYXNzIGZvciB7JHJlcXVpcmVkfSIpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBJbnN0YW50aWF0ZSB0aGUgY2FjaGUgcHJvdmlkZXIKICAgICAgICAgICAgaWYgKGlzX3N0cmluZygkY29uZmlnWydjYWNoZS5wcm92aWRlciddKSkgewogICAgICAgICAgICAgICAgJGFyZ3MgPSBpc3NldCgkY29uZmlnWydjYWNoZS5wcm92aWRlci5hcmdzJ10pID8gJGNvbmZpZ1snY2FjaGUucHJvdmlkZXIuYXJncyddIDogbnVsbDsKICAgICAgICAgICAgICAgICRjb25maWdbJ2NhY2hlLnByb3ZpZGVyJ10gPSBzZWxmOjpjcmVhdGVPYmplY3QoJGNvbmZpZ1snY2FjaGUucHJvdmlkZXInXSwgJGFyZ3MpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBJbnN0YW50aWF0ZSB0aGUgY2FjaGUgYWRhcHRlciB1c2luZyB0aGUgcHJvdmlkZXIgYW5kIG9wdGlvbnMKICAgICAgICBpZiAoaXNfc3RyaW5nKCRjb25maWdbJ2NhY2hlLmFkYXB0ZXInXSkpIHsKICAgICAgICAgICAgJGFyZ3MgPSBpc3NldCgkY29uZmlnWydjYWNoZS5hZGFwdGVyLmFyZ3MnXSkgPyAkY29uZmlnWydjYWNoZS5hZGFwdGVyLmFyZ3MnXSA6IGFycmF5KCk7CiAgICAgICAgICAgIGFycmF5X3Vuc2hpZnQoJGFyZ3MsICRjb25maWdbJ2NhY2hlLnByb3ZpZGVyJ10pOwogICAgICAgICAgICAkY29uZmlnWydjYWNoZS5hZGFwdGVyJ10gPSBzZWxmOjpjcmVhdGVPYmplY3QoJGNvbmZpZ1snY2FjaGUuYWRhcHRlciddLCAkYXJncyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGNvbmZpZ1snY2FjaGUuYWRhcHRlciddOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgY2xhc3MgdXNpbmcgYW4gYXJyYXkgb2YgY29uc3RydWN0b3IgYXJndW1lbnRzCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkY2xhc3NOYW1lIENsYXNzIG5hbWUKICAgICAqIEBwYXJhbSBhcnJheSAgJGFyZ3MgICAgICBBcmd1bWVudHMgZm9yIHRoZSBjbGFzcyBjb25zdHJ1Y3RvcgogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqIEB0aHJvd3MgUnVudGltZUV4Y2VwdGlvbgogICAgICogQGRlcHJlY2F0ZWQKICAgICAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICAgICAqLwogICAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gY3JlYXRlT2JqZWN0KCRjbGFzc05hbWUsIGFycmF5ICRhcmdzID0gbnVsbCkKICAgIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBpZiAoISRhcmdzKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbmV3ICRjbGFzc05hbWU7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkYyA9IG5ldyBcUmVmbGVjdGlvbkNsYXNzKCRjbGFzc05hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuICRjLT5uZXdJbnN0YW5jZUFyZ3MoJGFyZ3MpOwogICAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbigkZS0+Z2V0TWVzc2FnZSgpLCAkZS0+Z2V0Q29kZSgpLCAkZSk7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Cache/CacheAdapterInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ2FjaGU7CgovKioKICogSW50ZXJmYWNlIGZvciBjYWNoZSBhZGFwdGVycy4KICoKICogQ2FjaGUgYWRhcHRlcnMgYWxsb3cgR3V6emxlIHRvIHV0aWxpemUgdmFyaW91cyBmcmFtZXdvcmtzIGZvciBjYWNoaW5nIEhUVFAgcmVzcG9uc2VzLgogKgogKiBAbGluayBodHRwOi8vd3d3LmRvY3RyaW5lLXByb2plY3Qub3JnLyBJbnNwaXJlZCBieSBEb2N0cmluZSAyCiAqLwppbnRlcmZhY2UgQ2FjaGVBZGFwdGVySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogVGVzdCBpZiBhbiBlbnRyeSBleGlzdHMgaW4gdGhlIGNhY2hlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGlkICAgICAgY2FjaGUgaWQgVGhlIGNhY2hlIGlkIG9mIHRoZSBlbnRyeSB0byBjaGVjayBmb3IuCiAgICAgKiBAcGFyYW0gYXJyYXkgICRvcHRpb25zIEFycmF5IG9mIGNhY2hlIGFkYXB0ZXIgb3B0aW9ucwogICAgICoKICAgICAqIEByZXR1cm4gYm9vbCBSZXR1cm5zIFRSVUUgaWYgYSBjYWNoZSBlbnRyeSBleGlzdHMgZm9yIHRoZSBnaXZlbiBjYWNoZSBpZCwgRkFMU0Ugb3RoZXJ3aXNlLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY29udGFpbnMoJGlkLCBhcnJheSAkb3B0aW9ucyA9IG51bGwpOwoKICAgIC8qKgogICAgICogRGVsZXRlcyBhIGNhY2hlIGVudHJ5LgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGlkICAgICAgY2FjaGUgaWQKICAgICAqIEBwYXJhbSBhcnJheSAgJG9wdGlvbnMgQXJyYXkgb2YgY2FjaGUgYWRhcHRlciBvcHRpb25zCiAgICAgKgogICAgICogQHJldHVybiBib29sIFRSVUUgb24gc3VjY2VzcywgRkFMU0Ugb24gZmFpbHVyZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCRpZCwgYXJyYXkgJG9wdGlvbnMgPSBudWxsKTsKCiAgICAvKioKICAgICAqIEZldGNoZXMgYW4gZW50cnkgZnJvbSB0aGUgY2FjaGUuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkaWQgICAgICBjYWNoZSBpZCBUaGUgaWQgb2YgdGhlIGNhY2hlIGVudHJ5IHRvIGZldGNoLgogICAgICogQHBhcmFtIGFycmF5ICAkb3B0aW9ucyBBcnJheSBvZiBjYWNoZSBhZGFwdGVyIG9wdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBUaGUgY2FjaGVkIGRhdGEgb3IgRkFMU0UsIGlmIG5vIGNhY2hlIGVudHJ5IGV4aXN0cyBmb3IgdGhlIGdpdmVuIGlkLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZmV0Y2goJGlkLCBhcnJheSAkb3B0aW9ucyA9IG51bGwpOwoKICAgIC8qKgogICAgICogUHV0cyBkYXRhIGludG8gdGhlIGNhY2hlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgICAkaWQgICAgICAgVGhlIGNhY2hlIGlkCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgJGRhdGEgICAgIFRoZSBjYWNoZSBlbnRyeS9kYXRhCiAgICAgKiBAcGFyYW0gaW50fGJvb2wgJGxpZmVUaW1lIFRoZSBsaWZldGltZS4gSWYgIT0gZmFsc2UsIHNldHMgYSBzcGVjaWZpYyBsaWZldGltZSBmb3IgdGhpcyBjYWNoZSBlbnRyeQogICAgICogQHBhcmFtIGFycmF5ICAgICRvcHRpb25zICBBcnJheSBvZiBjYWNoZSBhZGFwdGVyIG9wdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wgVFJVRSBpZiB0aGUgZW50cnkgd2FzIHN1Y2Nlc3NmdWxseSBzdG9yZWQgaW4gdGhlIGNhY2hlLCBGQUxTRSBvdGhlcndpc2UuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzYXZlKCRpZCwgJGRhdGEsICRsaWZlVGltZSA9IGZhbHNlLCBhcnJheSAkb3B0aW9ucyA9IG51bGwpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Cache/ClosureCacheAdapter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ2FjaGU7CgovKioKICogQ2FjaGUgYWRhcHRlciB0aGF0IGRlZmVycyB0byBjbG9zdXJlcyBmb3IgaW1wbGVtZW50YXRpb24KICovCmNsYXNzIENsb3N1cmVDYWNoZUFkYXB0ZXIgaW1wbGVtZW50cyBDYWNoZUFkYXB0ZXJJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IE1hcHBpbmcgb2YgbWV0aG9kIG5hbWVzIHRvIGNhbGxhYmxlcwogICAgICovCiAgICBwcm90ZWN0ZWQgJGNhbGxhYmxlczsKCiAgICAvKioKICAgICAqIFRoZSBjYWxsYWJsZXMgYXJyYXkgaXMgYW4gYXJyYXkgbWFwcGluZyB0aGUgYWN0aW9ucyBvZiB0aGUgY2FjaGUgYWRhcHRlciB0byBjYWxsYWJsZXMuCiAgICAgKiAtIGNvbnRhaW5zOiBDYWxsYWJsZSB0aGF0IGFjY2VwdHMgYW4gJGlkIGFuZCAkb3B0aW9ucyBhcmd1bWVudAogICAgICogLSBkZWxldGU6ICAgQ2FsbGFibGUgdGhhdCBhY2NlcHRzIGFuICRpZCBhbmQgJG9wdGlvbnMgYXJndW1lbnQKICAgICAqIC0gZmV0Y2g6ICAgIENhbGxhYmxlIHRoYXQgYWNjZXB0cyBhbiAkaWQgYW5kICRvcHRpb25zIGFyZ3VtZW50CiAgICAgKiAtIHNhdmU6ICAgICBDYWxsYWJsZSB0aGF0IGFjY2VwdHMgYW4gJGlkLCAkZGF0YSwgJGxpZmVUaW1lLCBhbmQgJG9wdGlvbnMgYXJndW1lbnQKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGNhbGxhYmxlcyBhcnJheSBvZiBhY3Rpb24gbmFtZXMgdG8gY2FsbGFibGUKICAgICAqCiAgICAgKiBAdGhyb3dzIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaWYgdGhlIGNhbGxhYmxlIGlzIG5vdCBjYWxsYWJsZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJGNhbGxhYmxlcykKICAgIHsKICAgICAgICAvLyBWYWxpZGF0ZSBlYWNoIGtleSB0byBlbnN1cmUgaXQgZXhpc3RzIGFuZCBpcyBjYWxsYWJsZQogICAgICAgIGZvcmVhY2ggKGFycmF5KCdjb250YWlucycsICdkZWxldGUnLCAnZmV0Y2gnLCAnc2F2ZScpIGFzICRrZXkpIHsKICAgICAgICAgICAgaWYgKCFhcnJheV9rZXlfZXhpc3RzKCRrZXksICRjYWxsYWJsZXMpIHx8ICFpc19jYWxsYWJsZSgkY2FsbGFibGVzWyRrZXldKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oImNhbGxhYmxlcyBtdXN0IGNvbnRhaW4gYSBjYWxsYWJsZSB7JGtleX0ga2V5Iik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICR0aGlzLT5jYWxsYWJsZXMgPSAkY2FsbGFibGVzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjb250YWlucygkaWQsIGFycmF5ICRvcHRpb25zID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gY2FsbF91c2VyX2Z1bmMoJHRoaXMtPmNhbGxhYmxlc1snY29udGFpbnMnXSwgJGlkLCAkb3B0aW9ucyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZSgkaWQsIGFycmF5ICRvcHRpb25zID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gY2FsbF91c2VyX2Z1bmMoJHRoaXMtPmNhbGxhYmxlc1snZGVsZXRlJ10sICRpZCwgJG9wdGlvbnMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBmZXRjaCgkaWQsIGFycmF5ICRvcHRpb25zID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gY2FsbF91c2VyX2Z1bmMoJHRoaXMtPmNhbGxhYmxlc1snZmV0Y2gnXSwgJGlkLCAkb3B0aW9ucyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNhdmUoJGlkLCAkZGF0YSwgJGxpZmVUaW1lID0gZmFsc2UsIGFycmF5ICRvcHRpb25zID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gY2FsbF91c2VyX2Z1bmMoJHRoaXMtPmNhbGxhYmxlc1snc2F2ZSddLCAkaWQsICRkYXRhLCAkbGlmZVRpbWUsICRvcHRpb25zKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Cache/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL2NhY2hlIiwKICAgICJkZXNjcmlwdGlvbiI6ICJHdXp6bGUgY2FjaGUgYWRhcHRlciBjb21wb25lbnQiLAogICAgImhvbWVwYWdlIjogImh0dHA6Ly9ndXp6bGVwaHAub3JnLyIsCiAgICAia2V5d29yZHMiOiBbImNhY2hlIiwgImFkYXB0ZXIiLCAiemYiLCAiZG9jdHJpbmUiLCAiZ3V6emxlIl0sCiAgICAibGljZW5zZSI6ICJNSVQiLAogICAgImF1dGhvcnMiOiBbCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJNaWNoYWVsIERvd2xpbmciLAogICAgICAgICAgICAiZW1haWwiOiAibXRkb3dsaW5nQGdtYWlsLmNvbSIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRkb3dsaW5nIgogICAgICAgIH0KICAgIF0sCiAgICAicmVxdWlyZSI6IHsKICAgICAgICAicGhwIjogIj49NS4zLjIiLAogICAgICAgICJndXp6bGUvY29tbW9uIjogInNlbGYudmVyc2lvbiIKICAgIH0sCiAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgInBzci0wIjogeyAiR3V6emxlXFxDYWNoZSI6ICIiIH0KICAgIH0sCiAgICAidGFyZ2V0LWRpciI6ICJHdXp6bGUvQ2FjaGUiLAogICAgImV4dHJhIjogewogICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjMuNy1kZXYiCiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Cache/DoctrineCacheAdapter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ2FjaGU7Cgp1c2UgRG9jdHJpbmVcQ29tbW9uXENhY2hlXENhY2hlOwoKLyoqCiAqIERvY3RyaW5lIDIgY2FjaGUgYWRhcHRlcgogKgogKiBAbGluayBodHRwOi8vd3d3LmRvY3RyaW5lLXByb2plY3Qub3JnLwogKi8KY2xhc3MgRG9jdHJpbmVDYWNoZUFkYXB0ZXIgZXh0ZW5kcyBBYnN0cmFjdENhY2hlQWRhcHRlcgp7CiAgICAvKioKICAgICAqIEBwYXJhbSBDYWNoZSAkY2FjaGUgRG9jdHJpbmUgY2FjaGUgb2JqZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChDYWNoZSAkY2FjaGUpCiAgICB7CiAgICAgICAgJHRoaXMtPmNhY2hlID0gJGNhY2hlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjb250YWlucygkaWQsIGFycmF5ICRvcHRpb25zID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNhY2hlLT5jb250YWlucygkaWQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoJGlkLCBhcnJheSAkb3B0aW9ucyA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWNoZS0+ZGVsZXRlKCRpZCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGZldGNoKCRpZCwgYXJyYXkgJG9wdGlvbnMgPSBudWxsKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2FjaGUtPmZldGNoKCRpZCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNhdmUoJGlkLCAkZGF0YSwgJGxpZmVUaW1lID0gZmFsc2UsIGFycmF5ICRvcHRpb25zID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNhY2hlLT5zYXZlKCRpZCwgJGRhdGEsICRsaWZlVGltZSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Cache/NullCacheAdapter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ2FjaGU7CgovKioKICogTnVsbCBjYWNoZSBhZGFwdGVyCiAqLwpjbGFzcyBOdWxsQ2FjaGVBZGFwdGVyIGV4dGVuZHMgQWJzdHJhY3RDYWNoZUFkYXB0ZXIKewogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCiAgICBwdWJsaWMgZnVuY3Rpb24gY29udGFpbnMoJGlkLCBhcnJheSAkb3B0aW9ucyA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoJGlkLCBhcnJheSAkb3B0aW9ucyA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGZldGNoKCRpZCwgYXJyYXkgJG9wdGlvbnMgPSBudWxsKQogICAgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2F2ZSgkaWQsICRkYXRhLCAkbGlmZVRpbWUgPSBmYWxzZSwgYXJyYXkgJG9wdGlvbnMgPSBudWxsKQogICAgewogICAgICAgIHJldHVybiB0cnVlOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Cache/Zf1CacheAdapter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ2FjaGU7Cgp1c2UgR3V6emxlXENvbW1vblxWZXJzaW9uOwoKLyoqCiAqIFplbmQgRnJhbWV3b3JrIDEgY2FjaGUgYWRhcHRlcgogKgogKiBAbGluayBodHRwOi8vZnJhbWV3b3JrLnplbmQuY29tL21hbnVhbC9lbi96ZW5kLmNhY2hlLmh0bWwKICogQGRlcHJlY2F0ZWQKICogQGNvZGVDb3ZlcmFnZUlnbm9yZQogKi8KY2xhc3MgWmYxQ2FjaGVBZGFwdGVyIGV4dGVuZHMgQWJzdHJhY3RDYWNoZUFkYXB0ZXIKewogICAgLyoqCiAgICAgKiBAcGFyYW0gXFplbmRfQ2FjaGVfQmFja2VuZCAkY2FjaGUgQ2FjaGUgb2JqZWN0IHRvIHdyYXAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFxaZW5kX0NhY2hlX0JhY2tlbmQgJGNhY2hlKQogICAgewogICAgICAgIFZlcnNpb246Ondhcm4oX19DTEFTU19fIC4gJyBpcyBkZXByZWNhdGVkLiBVcGdyYWRlIHRvIFpGMiBvciB1c2UgUHNyQ2FjaGVBZGFwdGVyJyk7CiAgICAgICAgJHRoaXMtPmNhY2hlID0gJGNhY2hlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjb250YWlucygkaWQsIGFycmF5ICRvcHRpb25zID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNhY2hlLT50ZXN0KCRpZCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZSgkaWQsIGFycmF5ICRvcHRpb25zID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNhY2hlLT5yZW1vdmUoJGlkKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZmV0Y2goJGlkLCBhcnJheSAkb3B0aW9ucyA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWNoZS0+bG9hZCgkaWQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzYXZlKCRpZCwgJGRhdGEsICRsaWZlVGltZSA9IGZhbHNlLCBhcnJheSAkb3B0aW9ucyA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWNoZS0+c2F2ZSgkZGF0YSwgJGlkLCBhcnJheSgpLCAkbGlmZVRpbWUpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Cache/Zf2CacheAdapter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ2FjaGU7Cgp1c2UgWmVuZFxDYWNoZVxTdG9yYWdlXFN0b3JhZ2VJbnRlcmZhY2U7CgovKioKICogWmVuZCBGcmFtZXdvcmsgMiBjYWNoZSBhZGFwdGVyCiAqCiAqIEBsaW5rIGh0dHA6Ly9wYWNrYWdlcy56ZW5kZnJhbWV3b3JrLmNvbS9kb2NzL2xhdGVzdC9tYW51YWwvZW4vemVuZC5jYWNoZS5odG1sCiAqLwpjbGFzcyBaZjJDYWNoZUFkYXB0ZXIgZXh0ZW5kcyBBYnN0cmFjdENhY2hlQWRhcHRlcgp7CiAgICAvKioKICAgICAqIEBwYXJhbSBTdG9yYWdlSW50ZXJmYWNlICRjYWNoZSBaZW5kIEZyYW1ld29yayAyIGNhY2hlIGFkYXB0ZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFN0b3JhZ2VJbnRlcmZhY2UgJGNhY2hlKQogICAgewogICAgICAgICR0aGlzLT5jYWNoZSA9ICRjYWNoZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY29udGFpbnMoJGlkLCBhcnJheSAkb3B0aW9ucyA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWNoZS0+aGFzSXRlbSgkaWQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoJGlkLCBhcnJheSAkb3B0aW9ucyA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWNoZS0+cmVtb3ZlSXRlbSgkaWQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBmZXRjaCgkaWQsIGFycmF5ICRvcHRpb25zID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNhY2hlLT5nZXRJdGVtKCRpZCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNhdmUoJGlkLCAkZGF0YSwgJGxpZmVUaW1lID0gZmFsc2UsIGFycmF5ICRvcHRpb25zID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNhY2hlLT5zZXRJdGVtKCRpZCwgJGRhdGEpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/AbstractHasDispatcher.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ29tbW9uOwoKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudERpc3BhdGNoZXI7CnVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50U3Vic2NyaWJlckludGVyZmFjZTsKCi8qKgogKiBDbGFzcyB0aGF0IGhvbGRzIGFuIGV2ZW50IGRpc3BhdGNoZXIKICovCmNsYXNzIEFic3RyYWN0SGFzRGlzcGF0Y2hlciBpbXBsZW1lbnRzIEhhc0Rpc3BhdGNoZXJJbnRlcmZhY2UKewogICAgLyoqIEB2YXIgRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlICovCiAgICBwcm90ZWN0ZWQgJGV2ZW50RGlzcGF0Y2hlcjsKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEFsbEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldEV2ZW50RGlzcGF0Y2hlcihFdmVudERpc3BhdGNoZXJJbnRlcmZhY2UgJGV2ZW50RGlzcGF0Y2hlcikKICAgIHsKICAgICAgICAkdGhpcy0+ZXZlbnREaXNwYXRjaGVyID0gJGV2ZW50RGlzcGF0Y2hlcjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFdmVudERpc3BhdGNoZXIoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPmV2ZW50RGlzcGF0Y2hlcikgewogICAgICAgICAgICAkdGhpcy0+ZXZlbnREaXNwYXRjaGVyID0gbmV3IEV2ZW50RGlzcGF0Y2hlcigpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5ldmVudERpc3BhdGNoZXI7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRpc3BhdGNoKCRldmVudE5hbWUsIGFycmF5ICRjb250ZXh0ID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5kaXNwYXRjaCgkZXZlbnROYW1lLCBuZXcgRXZlbnQoJGNvbnRleHQpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkU3Vic2NyaWJlcihFdmVudFN1YnNjcmliZXJJbnRlcmZhY2UgJHN1YnNjcmliZXIpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKCRzdWJzY3JpYmVyKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/Collection.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ29tbW9uOwoKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb247CgovKioKICogS2V5IHZhbHVlIHBhaXIgY29sbGVjdGlvbiBvYmplY3QKICovCmNsYXNzIENvbGxlY3Rpb24gaW1wbGVtZW50cyBcQXJyYXlBY2Nlc3MsIFxJdGVyYXRvckFnZ3JlZ2F0ZSwgXENvdW50YWJsZSwgVG9BcnJheUludGVyZmFjZQp7CiAgICAvKiogQHZhciBhcnJheSBEYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0LiAqLwogICAgcHJvdGVjdGVkICRkYXRhOwoKICAgIC8qKgogICAgICogQHBhcmFtIGFycmF5ICRkYXRhIEFzc29jaWF0aXZlIGFycmF5IG9mIGRhdGEgdG8gc2V0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChhcnJheSAkZGF0YSA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJHRoaXMtPmRhdGEgPSAkZGF0YTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIG5ldyBjb2xsZWN0aW9uIGZyb20gYW4gYXJyYXksIHZhbGlkYXRlIHRoZSBrZXlzLCBhbmQgYWRkIGRlZmF1bHQgdmFsdWVzIHdoZXJlIG1pc3NpbmcKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGNvbmZpZyAgIENvbmZpZ3VyYXRpb24gdmFsdWVzIHRvIGFwcGx5LgogICAgICogQHBhcmFtIGFycmF5ICRkZWZhdWx0cyBEZWZhdWx0IHBhcmFtZXRlcnMKICAgICAqIEBwYXJhbSBhcnJheSAkcmVxdWlyZWQgUmVxdWlyZWQgcGFyYW1ldGVyIG5hbWVzCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBpZiBhIHBhcmFtZXRlciBpcyBtaXNzaW5nCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbUNvbmZpZyhhcnJheSAkY29uZmlnID0gYXJyYXkoKSwgYXJyYXkgJGRlZmF1bHRzID0gYXJyYXkoKSwgYXJyYXkgJHJlcXVpcmVkID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkZGF0YSA9ICRjb25maWcgKyAkZGVmYXVsdHM7CgogICAgICAgIGlmICgkbWlzc2luZyA9IGFycmF5X2RpZmYoJHJlcXVpcmVkLCBhcnJheV9rZXlzKCRkYXRhKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignQ29uZmlnIGlzIG1pc3NpbmcgdGhlIGZvbGxvd2luZyBrZXlzOiAnIC4gaW1wbG9kZSgnLCAnLCAkbWlzc2luZykpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG5ldyBzZWxmKCRkYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY291bnQoKQogICAgewogICAgICAgIHJldHVybiBjb3VudCgkdGhpcy0+ZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldEl0ZXJhdG9yKCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IFxBcnJheUl0ZXJhdG9yKCR0aGlzLT5kYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdG9BcnJheSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5kYXRhOwogICAgfQoKICAgIC8qKgogICAgICogUmVtb3ZlcyBhbGwga2V5IHZhbHVlIHBhaXJzCiAgICAgKgogICAgICogQHJldHVybiBDb2xsZWN0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjbGVhcigpCiAgICB7CiAgICAgICAgJHRoaXMtPmRhdGEgPSBhcnJheSgpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYWxsIG9yIGEgc3Vic2V0IG9mIG1hdGNoaW5nIGtleSB2YWx1ZSBwYWlycwogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAka2V5cyBQYXNzIGFuIGFycmF5IG9mIGtleXMgdG8gcmV0cmlldmUgb25seSBhIHN1YnNldCBvZiBrZXkgdmFsdWUgcGFpcnMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IFJldHVybnMgYW4gYXJyYXkgb2YgYWxsIG1hdGNoaW5nIGtleSB2YWx1ZSBwYWlycwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QWxsKGFycmF5ICRrZXlzID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gJGtleXMgPyBhcnJheV9pbnRlcnNlY3Rfa2V5KCR0aGlzLT5kYXRhLCBhcnJheV9mbGlwKCRrZXlzKSkgOiAkdGhpcy0+ZGF0YTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhIHNwZWNpZmljIGtleSB2YWx1ZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgS2V5IHRvIHJldHJpZXZlLgogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWR8bnVsbCBWYWx1ZSBvZiB0aGUga2V5IG9yIE5VTEwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldCgka2V5KQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+ZGF0YVska2V5XSkgPyAkdGhpcy0+ZGF0YVska2V5XSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgYSBrZXkgdmFsdWUgcGFpcgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSAgIEtleSB0byBzZXQKICAgICAqIEBwYXJhbSBtaXhlZCAgJHZhbHVlIFZhbHVlIHRvIHNldAogICAgICoKICAgICAqIEByZXR1cm4gQ29sbGVjdGlvbiBSZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBvYmplY3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldCgka2V5LCAkdmFsdWUpCiAgICB7CiAgICAgICAgJHRoaXMtPmRhdGFbJGtleV0gPSAkdmFsdWU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIHZhbHVlIHRvIGEga2V5LiAgSWYgYSBrZXkgb2YgdGhlIHNhbWUgbmFtZSBoYXMgYWxyZWFkeSBiZWVuIGFkZGVkLCB0aGUga2V5IHZhbHVlIHdpbGwgYmUgY29udmVydGVkIGludG8gYW4KICAgICAqIGFycmF5IGFuZCB0aGUgbmV3IHZhbHVlIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSAgIEtleSB0byBhZGQKICAgICAqIEBwYXJhbSBtaXhlZCAgJHZhbHVlIFZhbHVlIHRvIGFkZCB0byB0aGUga2V5CiAgICAgKgogICAgICogQHJldHVybiBDb2xsZWN0aW9uIFJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZCgka2V5LCAkdmFsdWUpCiAgICB7CiAgICAgICAgaWYgKCFhcnJheV9rZXlfZXhpc3RzKCRrZXksICR0aGlzLT5kYXRhKSkgewogICAgICAgICAgICAkdGhpcy0+ZGF0YVska2V5XSA9ICR2YWx1ZTsKICAgICAgICB9IGVsc2VpZiAoaXNfYXJyYXkoJHRoaXMtPmRhdGFbJGtleV0pKSB7CiAgICAgICAgICAgICR0aGlzLT5kYXRhWyRrZXldW10gPSAkdmFsdWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmRhdGFbJGtleV0gPSBhcnJheSgkdGhpcy0+ZGF0YVska2V5XSwgJHZhbHVlKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFJlbW92ZSBhIHNwZWNpZmljIGtleSB2YWx1ZSBwYWlyCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5IEEga2V5IHRvIHJlbW92ZQogICAgICoKICAgICAqIEByZXR1cm4gQ29sbGVjdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlKCRrZXkpCiAgICB7CiAgICAgICAgdW5zZXQoJHRoaXMtPmRhdGFbJGtleV0pOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYWxsIGtleXMgaW4gdGhlIGNvbGxlY3Rpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRLZXlzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXlfa2V5cygkdGhpcy0+ZGF0YSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzcGVjaWZpZWQga2V5IGlzIHByZXNlbnQuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5IFRoZSBrZXkgZm9yIHdoaWNoIHRvIGNoZWNrIHRoZSBleGlzdGVuY2UuCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNLZXkoJGtleSkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXlfa2V5X2V4aXN0cygka2V5LCAkdGhpcy0+ZGF0YSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDYXNlIGluc2Vuc2l0aXZlIHNlYXJjaCB0aGUga2V5cyBpbiB0aGUgY29sbGVjdGlvbgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSBLZXkgdG8gc2VhcmNoIGZvcgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbHxzdHJpbmcgUmV0dXJucyBmYWxzZSBpZiBub3QgZm91bmQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBrZXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGtleVNlYXJjaCgka2V5KQogICAgewogICAgICAgIGZvcmVhY2ggKGFycmF5X2tleXMoJHRoaXMtPmRhdGEpIGFzICRrKSB7CiAgICAgICAgICAgIGlmICghc3RyY2FzZWNtcCgkaywgJGtleSkpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkazsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2tzIGlmIGFueSBrZXlzIGNvbnRhaW5zIGEgY2VydGFpbiB2YWx1ZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHZhbHVlIFZhbHVlIHRvIHNlYXJjaCBmb3IKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkIFJldHVybnMgdGhlIGtleSBpZiB0aGUgdmFsdWUgd2FzIGZvdW5kIEZBTFNFIGlmIHRoZSB2YWx1ZSB3YXMgbm90IGZvdW5kLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzVmFsdWUoJHZhbHVlKQogICAgewogICAgICAgIHJldHVybiBhcnJheV9zZWFyY2goJHZhbHVlLCAkdGhpcy0+ZGF0YSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXBsYWNlIHRoZSBkYXRhIG9mIHRoZSBvYmplY3Qgd2l0aCB0aGUgdmFsdWUgb2YgYW4gYXJyYXkKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGRhdGEgQXNzb2NpYXRpdmUgYXJyYXkgb2YgZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gQ29sbGVjdGlvbiBSZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBvYmplY3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlcGxhY2UoYXJyYXkgJGRhdGEpCiAgICB7CiAgICAgICAgJHRoaXMtPmRhdGEgPSAkZGF0YTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGFuZCBtZXJnZSBpbiBhIENvbGxlY3Rpb24gb3IgYXJyYXkgb2Yga2V5IHZhbHVlIHBhaXIgZGF0YS4KICAgICAqCiAgICAgKiBAcGFyYW0gQ29sbGVjdGlvbnxhcnJheSAkZGF0YSBBc3NvY2lhdGl2ZSBhcnJheSBvZiBrZXkgdmFsdWUgcGFpciBkYXRhCiAgICAgKgogICAgICogQHJldHVybiBDb2xsZWN0aW9uIFJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG1lcmdlKCRkYXRhKQogICAgewogICAgICAgIGZvcmVhY2ggKCRkYXRhIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICR0aGlzLT5hZGQoJGtleSwgJHZhbHVlKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIE92ZXIgd3JpdGUga2V5IHZhbHVlIHBhaXJzIGluIHRoaXMgY29sbGVjdGlvbiB3aXRoIGFsbCBvZiB0aGUgZGF0YSBmcm9tIGFuIGFycmF5IG9yIGNvbGxlY3Rpb24uCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fFxUcmF2ZXJzYWJsZSAkZGF0YSBWYWx1ZXMgdG8gb3ZlcnJpZGUgb3ZlciB0aGlzIGNvbmZpZwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb3ZlcndyaXRlV2l0aCgkZGF0YSkKICAgIHsKICAgICAgICBpZiAoaXNfYXJyYXkoJGRhdGEpKSB7CiAgICAgICAgICAgICR0aGlzLT5kYXRhID0gJGRhdGEgKyAkdGhpcy0+ZGF0YTsKICAgICAgICB9IGVsc2VpZiAoJGRhdGEgaW5zdGFuY2VvZiBDb2xsZWN0aW9uKSB7CiAgICAgICAgICAgICR0aGlzLT5kYXRhID0gJGRhdGEtPnRvQXJyYXkoKSArICR0aGlzLT5kYXRhOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCRkYXRhIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+ZGF0YVska2V5XSA9ICR2YWx1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIENvbGxlY3Rpb24gY29udGFpbmluZyBhbGwgdGhlIGVsZW1lbnRzIG9mIHRoZSBjb2xsZWN0aW9uIGFmdGVyIGFwcGx5aW5nIHRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBlYWNoCiAgICAgKiBvbmUuIFRoZSBDbG9zdXJlIHNob3VsZCBhY2NlcHQgdGhyZWUgcGFyYW1ldGVyczogKHN0cmluZykgJGtleSwgKHN0cmluZykgJHZhbHVlLCAoYXJyYXkpICRjb250ZXh0IGFuZCByZXR1cm4gYQogICAgICogbW9kaWZpZWQgdmFsdWUKICAgICAqCiAgICAgKiBAcGFyYW0gXENsb3N1cmUgJGNsb3N1cmUgQ2xvc3VyZSB0byBhcHBseQogICAgICogQHBhcmFtIGFycmF5ICAgICRjb250ZXh0IENvbnRleHQgdG8gcGFzcyB0byB0aGUgY2xvc3VyZQogICAgICogQHBhcmFtIGJvb2wgICAgICRzdGF0aWMgIFNldCB0byBUUlVFIHRvIHVzZSB0aGUgc2FtZSBjbGFzcyBhcyB0aGUgcmV0dXJuIHJhdGhlciB0aGFuIHJldHVybmluZyBhIENvbGxlY3Rpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIENvbGxlY3Rpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG1hcChcQ2xvc3VyZSAkY2xvc3VyZSwgYXJyYXkgJGNvbnRleHQgPSBhcnJheSgpLCAkc3RhdGljID0gdHJ1ZSkKICAgIHsKICAgICAgICAkY29sbGVjdGlvbiA9ICRzdGF0aWMgPyBuZXcgc3RhdGljKCkgOiBuZXcgc2VsZigpOwogICAgICAgIGZvcmVhY2ggKCR0aGlzIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICRjb2xsZWN0aW9uLT5hZGQoJGtleSwgJGNsb3N1cmUoJGtleSwgJHZhbHVlLCAkY29udGV4dCkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRjb2xsZWN0aW9uOwogICAgfQoKICAgIC8qKgogICAgICogSXRlcmF0ZXMgb3ZlciBlYWNoIGtleSB2YWx1ZSBwYWlyIGluIHRoZSBjb2xsZWN0aW9uIHBhc3NpbmcgdGhlbSB0byB0aGUgQ2xvc3VyZS4gSWYgdGhlICBDbG9zdXJlIGZ1bmN0aW9uIHJldHVybnMKICAgICAqIHRydWUsIHRoZSBjdXJyZW50IHZhbHVlIGZyb20gaW5wdXQgaXMgcmV0dXJuZWQgaW50byB0aGUgcmVzdWx0IENvbGxlY3Rpb24uICBUaGUgQ2xvc3VyZSBtdXN0IGFjY2VwdCB0aHJlZQogICAgICogcGFyYW1ldGVyczogKHN0cmluZykgJGtleSwgKHN0cmluZykgJHZhbHVlIGFuZCByZXR1cm4gQm9vbGVhbiBUUlVFIG9yIEZBTFNFIGZvciBlYWNoIHZhbHVlLgogICAgICoKICAgICAqIEBwYXJhbSBcQ2xvc3VyZSAkY2xvc3VyZSBDbG9zdXJlIGV2YWx1YXRpb24gZnVuY3Rpb24KICAgICAqIEBwYXJhbSBib29sICAgICAkc3RhdGljICBTZXQgdG8gVFJVRSB0byB1c2UgdGhlIHNhbWUgY2xhc3MgYXMgdGhlIHJldHVybiByYXRoZXIgdGhhbiByZXR1cm5pbmcgYSBDb2xsZWN0aW9uCiAgICAgKgogICAgICogQHJldHVybiBDb2xsZWN0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBmaWx0ZXIoXENsb3N1cmUgJGNsb3N1cmUsICRzdGF0aWMgPSB0cnVlKQogICAgewogICAgICAgICRjb2xsZWN0aW9uID0gKCRzdGF0aWMpID8gbmV3IHN0YXRpYygpIDogbmV3IHNlbGYoKTsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+ZGF0YSBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICBpZiAoJGNsb3N1cmUoJGtleSwgJHZhbHVlKSkgewogICAgICAgICAgICAgICAgJGNvbGxlY3Rpb24tPmFkZCgka2V5LCAkdmFsdWUpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGNvbGxlY3Rpb247CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEV4aXN0cygkb2Zmc2V0KQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+ZGF0YVskb2Zmc2V0XSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEdldCgkb2Zmc2V0KQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+ZGF0YVskb2Zmc2V0XSkgPyAkdGhpcy0+ZGF0YVskb2Zmc2V0XSA6IG51bGw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG9mZnNldFNldCgkb2Zmc2V0LCAkdmFsdWUpCiAgICB7CiAgICAgICAgJHRoaXMtPmRhdGFbJG9mZnNldF0gPSAkdmFsdWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG9mZnNldFVuc2V0KCRvZmZzZXQpCiAgICB7CiAgICAgICAgdW5zZXQoJHRoaXMtPmRhdGFbJG9mZnNldF0pOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IGEgdmFsdWUgaW50byBhIG5lc3RlZCBhcnJheSBrZXkuIEtleXMgd2lsbCBiZSBjcmVhdGVkIGFzIG5lZWRlZCB0byBzZXQgdGhlIHZhbHVlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdGggIFBhdGggdG8gc2V0CiAgICAgKiBAcGFyYW0gbWl4ZWQgICR2YWx1ZSBWYWx1ZSB0byBzZXQgYXQgdGhlIGtleQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQHRocm93cyBSdW50aW1lRXhjZXB0aW9uIHdoZW4gdHJ5aW5nIHRvIHNldFBhdGggdXNpbmcgYSBuZXN0ZWQgcGF0aCB0aGF0IHRyYXZlbHMgdGhyb3VnaCBhIHNjYWxhciB2YWx1ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UGF0aCgkcGF0aCwgJHZhbHVlKQogICAgewogICAgICAgICRjdXJyZW50ID0mICR0aGlzLT5kYXRhOwogICAgICAgICRxdWV1ZSA9IGV4cGxvZGUoJy8nLCAkcGF0aCk7CiAgICAgICAgd2hpbGUgKG51bGwgIT09ICgka2V5ID0gYXJyYXlfc2hpZnQoJHF1ZXVlKSkpIHsKICAgICAgICAgICAgaWYgKCFpc19hcnJheSgkY3VycmVudCkpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKCJUcnlpbmcgdG8gc2V0UGF0aCB7JHBhdGh9LCBidXQgeyRrZXl9IGlzIHNldCBhbmQgaXMgbm90IGFuIGFycmF5Iik7CiAgICAgICAgICAgIH0gZWxzZWlmICghJHF1ZXVlKSB7CiAgICAgICAgICAgICAgICAkY3VycmVudFska2V5XSA9ICR2YWx1ZTsKICAgICAgICAgICAgfSBlbHNlaWYgKGlzc2V0KCRjdXJyZW50WyRrZXldKSkgewogICAgICAgICAgICAgICAgJGN1cnJlbnQgPSYgJGN1cnJlbnRbJGtleV07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkY3VycmVudFska2V5XSA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAkY3VycmVudCA9JiAkY3VycmVudFska2V5XTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0cyBhIHZhbHVlIGZyb20gdGhlIGNvbGxlY3Rpb24gdXNpbmcgYW4gYXJyYXkgcGF0aCAoZS5nLiBmb28vYmF6L2JhciB3b3VsZCByZXRyaWV2ZSBiYXIgZnJvbSB0d28gbmVzdGVkIGFycmF5cykKICAgICAqIEFsbG93cyBmb3Igd2lsZGNhcmQgc2VhcmNoZXMgd2hpY2ggcmVjdXJzaXZlbHkgY29tYmluZSBtYXRjaGVzIHVwIHRvIHRoZSBsZXZlbCBhdCB3aGljaCB0aGUgd2lsZGNhcmQgb2NjdXJzLiBUaGlzCiAgICAgKiBjYW4gYmUgdXNlZnVsIGZvciBhY2NlcHRpbmcgYW55IGtleSBvZiBhIHN1Yi1hcnJheSBhbmQgY29tYmluaW5nIG1hdGNoaW5nIGtleXMgZnJvbSBlYWNoIGRpdmVyZ2luZyBwYXRoLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdGggICAgICBQYXRoIHRvIHRyYXZlcnNlIGFuZCByZXRyaWV2ZSBhIHZhbHVlIGZyb20KICAgICAqIEBwYXJhbSBzdHJpbmcgJHNlcGFyYXRvciBDaGFyYWN0ZXIgdXNlZCB0byBhZGQgZGVwdGggdG8gdGhlIHNlYXJjaAogICAgICogQHBhcmFtIG1peGVkICAkZGF0YSAgICAgIE9wdGlvbmFsIGRhdGEgdG8gZGVzY2VuZCBpbnRvICh1c2VkIHdoZW4gd2lsZGNhcmRzIGFyZSBlbmNvdW50ZXJlZCkKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhdGgoJHBhdGgsICRzZXBhcmF0b3IgPSAnLycsICRkYXRhID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoJGRhdGEgPT09IG51bGwpIHsKICAgICAgICAgICAgJGRhdGEgPSYgJHRoaXMtPmRhdGE7CiAgICAgICAgfQoKICAgICAgICAkcGF0aCA9IGlzX2FycmF5KCRwYXRoKSA/ICRwYXRoIDogZXhwbG9kZSgkc2VwYXJhdG9yLCAkcGF0aCk7CiAgICAgICAgd2hpbGUgKG51bGwgIT09ICgkcGFydCA9IGFycmF5X3NoaWZ0KCRwYXRoKSkpIHsKICAgICAgICAgICAgaWYgKCFpc19hcnJheSgkZGF0YSkpIHsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9IGVsc2VpZiAoaXNzZXQoJGRhdGFbJHBhcnRdKSkgewogICAgICAgICAgICAgICAgJGRhdGEgPSYgJGRhdGFbJHBhcnRdOwogICAgICAgICAgICB9IGVsc2VpZiAoJHBhcnQgIT0gJyonKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIFBlcmZvcm0gYSB3aWxkY2FyZCBzZWFyY2ggYnkgZGl2ZXJnaW5nIGFuZCBtZXJnaW5nIHBhdGhzCiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRkYXRhIGFzICR2YWx1ZSkgewogICAgICAgICAgICAgICAgICAgIGlmICghJHBhdGgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCA9IGFycmF5X21lcmdlX3JlY3Vyc2l2ZSgkcmVzdWx0LCAoYXJyYXkpICR2YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlaWYgKG51bGwgIT09ICgkdGVzdCA9ICR0aGlzLT5nZXRQYXRoKCRwYXRoLCAkc2VwYXJhdG9yLCAkdmFsdWUpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gYXJyYXlfbWVyZ2VfcmVjdXJzaXZlKCRyZXN1bHQsIChhcnJheSkgJHRlc3QpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGRhdGE7CiAgICB9CgogICAgLyoqCiAgICAgKiBJbmplY3QgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBpbnRvIGFuIGlucHV0IHN0cmluZwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGlucHV0IElucHV0IHRvIGluamVjdAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKiBAZGVwcmVjYXRlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaW5qZWN0KCRpbnB1dCkKICAgIHsKICAgICAgICBWZXJzaW9uOjp3YXJuKF9fTUVUSE9EX18gLiAnIGlzIGRlcHJlY2F0ZWQnKTsKICAgICAgICAkcmVwbGFjZSA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmRhdGEgYXMgJGtleSA9PiAkdmFsKSB7CiAgICAgICAgICAgICRyZXBsYWNlWyd7JyAuICRrZXkgLiAnfSddID0gJHZhbDsKICAgICAgICB9CgogICAgICAgIHJldHVybiBzdHJ0cigkaW5wdXQsICRyZXBsYWNlKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL2NvbW1vbiIsCiAgICAiaG9tZXBhZ2UiOiAiaHR0cDovL2d1enpsZXBocC5vcmcvIiwKICAgICJkZXNjcmlwdGlvbiI6ICJDb21tb24gbGlicmFyaWVzIHVzZWQgYnkgR3V6emxlIiwKICAgICJrZXl3b3JkcyI6IFsiY29tbW9uIiwgImV2ZW50IiwgImV4Y2VwdGlvbiIsICJjb2xsZWN0aW9uIl0sCiAgICAibGljZW5zZSI6ICJNSVQiLAogICAgInJlcXVpcmUiOiB7CiAgICAgICAgInBocCI6ICI+PTUuMy4yIiwKICAgICAgICAic3ltZm9ueS9ldmVudC1kaXNwYXRjaGVyIjogIj49Mi4xIgogICAgfSwKICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAicHNyLTAiOiB7ICJHdXp6bGVcXENvbW1vbiI6ICIiIH0KICAgIH0sCiAgICAidGFyZ2V0LWRpciI6ICJHdXp6bGUvQ29tbW9uIiwKICAgICJleHRyYSI6IHsKICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAiZGV2LW1hc3RlciI6ICIzLjctZGV2IgogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/Event.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ29tbW9uOwoKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudCBhcyBTeW1mb255RXZlbnQ7CgovKioKICogRGVmYXVsdCBldmVudCBmb3IgR3V6emxlIG5vdGlmaWNhdGlvbnMKICovCmNsYXNzIEV2ZW50IGV4dGVuZHMgU3ltZm9ueUV2ZW50IGltcGxlbWVudHMgVG9BcnJheUludGVyZmFjZSwgXEFycmF5QWNjZXNzLCBcSXRlcmF0b3JBZ2dyZWdhdGUKewogICAgLyoqIEB2YXIgYXJyYXkgKi8KICAgIHByaXZhdGUgJGNvbnRleHQ7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGNvbnRleHQgQ29udGV4dHVhbCBpbmZvcm1hdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJGNvbnRleHQgPSBhcnJheSgpKQogICAgewogICAgICAgICR0aGlzLT5jb250ZXh0ID0gJGNvbnRleHQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldEl0ZXJhdG9yKCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IFxBcnJheUl0ZXJhdG9yKCR0aGlzLT5jb250ZXh0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0R2V0KCRvZmZzZXQpCiAgICB7CiAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5jb250ZXh0WyRvZmZzZXRdKSA/ICR0aGlzLT5jb250ZXh0WyRvZmZzZXRdIDogbnVsbDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0U2V0KCRvZmZzZXQsICR2YWx1ZSkKICAgIHsKICAgICAgICAkdGhpcy0+Y29udGV4dFskb2Zmc2V0XSA9ICR2YWx1ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0RXhpc3RzKCRvZmZzZXQpCiAgICB7CiAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5jb250ZXh0WyRvZmZzZXRdKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0VW5zZXQoJG9mZnNldCkKICAgIHsKICAgICAgICB1bnNldCgkdGhpcy0+Y29udGV4dFskb2Zmc2V0XSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRvQXJyYXkoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y29udGV4dDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/Exception/BadMethodCallException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvbjsKCmNsYXNzIEJhZE1ldGhvZENhbGxFeGNlcHRpb24gZXh0ZW5kcyBcQmFkTWV0aG9kQ2FsbEV4Y2VwdGlvbiBpbXBsZW1lbnRzIEd1enpsZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/Exception/ExceptionCollection.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvbjsKCi8qKgogKiBDb2xsZWN0aW9uIG9mIGV4Y2VwdGlvbnMKICovCmNsYXNzIEV4Y2VwdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBcRXhjZXB0aW9uIGltcGxlbWVudHMgR3V6emxlRXhjZXB0aW9uLCBcSXRlcmF0b3JBZ2dyZWdhdGUsIFxDb3VudGFibGUKewogICAgLyoqIEB2YXIgYXJyYXkgQXJyYXkgb2YgRXhjZXB0aW9ucyAqLwogICAgcHJvdGVjdGVkICRleGNlcHRpb25zID0gYXJyYXkoKTsKCiAgICAvKiogQHZhciBzdHJpbmcgU3VjY2luY3QgZXhjZXB0aW9uIG1lc3NhZ2Ugbm90IGluY2x1ZGluZyBzdWItZXhjZXB0aW9ucyAqLwogICAgcHJpdmF0ZSAkc2hvcnRNZXNzYWdlOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbWVzc2FnZSA9ICcnLCAkY29kZSA9IDAsIFxFeGNlcHRpb24gJHByZXZpb3VzID0gbnVsbCkKICAgIHsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRtZXNzYWdlLCAkY29kZSwgJHByZXZpb3VzKTsKICAgICAgICAkdGhpcy0+c2hvcnRNZXNzYWdlID0gJG1lc3NhZ2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgYWxsIG9mIHRoZSBleGNlcHRpb25zCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRleGNlcHRpb25zIEFycmF5IG9mIGV4Y2VwdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEV4Y2VwdGlvbnMoYXJyYXkgJGV4Y2VwdGlvbnMpCiAgICB7CiAgICAgICAgJHRoaXMtPmV4Y2VwdGlvbnMgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKCRleGNlcHRpb25zIGFzICRleGNlcHRpb24pIHsKICAgICAgICAgICAgJHRoaXMtPmFkZCgkZXhjZXB0aW9uKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBleGNlcHRpb25zIHRvIHRoZSBjb2xsZWN0aW9uCiAgICAgKgogICAgICogQHBhcmFtIEV4Y2VwdGlvbkNvbGxlY3Rpb258XEV4Y2VwdGlvbiAkZSBFeGNlcHRpb24gdG8gYWRkCiAgICAgKgogICAgICogQHJldHVybiBFeGNlcHRpb25Db2xsZWN0aW9uOwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkKCRlKQogICAgewogICAgICAgICR0aGlzLT5leGNlcHRpb25zW10gPSAkZTsKICAgICAgICBpZiAoJHRoaXMtPm1lc3NhZ2UpIHsKICAgICAgICAgICAgJHRoaXMtPm1lc3NhZ2UgLj0gIlxuIjsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5tZXNzYWdlIC49ICR0aGlzLT5nZXRFeGNlcHRpb25NZXNzYWdlKCRlLCAwKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB0b3RhbCBudW1iZXIgb2YgcmVxdWVzdCBleGNlcHRpb25zCiAgICAgKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNvdW50KCkKICAgIHsKICAgICAgICByZXR1cm4gY291bnQoJHRoaXMtPmV4Y2VwdGlvbnMpOwogICAgfQoKICAgIC8qKgogICAgICogQWxsb3dzIGFycmF5LWxpa2UgaXRlcmF0aW9uIG92ZXIgdGhlIHJlcXVlc3QgZXhjZXB0aW9ucwogICAgICoKICAgICAqIEByZXR1cm4gXEFycmF5SXRlcmF0b3IKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEl0ZXJhdG9yKCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IFxBcnJheUl0ZXJhdG9yKCR0aGlzLT5leGNlcHRpb25zKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZmlyc3QgZXhjZXB0aW9uIGluIHRoZSBjb2xsZWN0aW9uCiAgICAgKgogICAgICogQHJldHVybiBcRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGaXJzdCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5leGNlcHRpb25zID8gJHRoaXMtPmV4Y2VwdGlvbnNbMF0gOiBudWxsOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0RXhjZXB0aW9uTWVzc2FnZShcRXhjZXB0aW9uICRlLCAkZGVwdGggPSAwKQogICAgewogICAgICAgIHN0YXRpYyAkc3AgPSAnICAgICc7CiAgICAgICAgJHByZWZpeCA9ICRkZXB0aCA/IHN0cl9yZXBlYXQoJHNwLCAkZGVwdGgpIDogJyc7CiAgICAgICAgJG1lc3NhZ2UgPSAieyRwcmVmaXh9KCIgLiBnZXRfY2xhc3MoJGUpIC4gJykgJyAuICRlLT5nZXRGaWxlKCkgLiAnIGxpbmUgJyAuICRlLT5nZXRMaW5lKCkgLiAiXG4iOwoKICAgICAgICBpZiAoJGUgaW5zdGFuY2VvZiBzZWxmKSB7CiAgICAgICAgICAgIGlmICgkZS0+c2hvcnRNZXNzYWdlKSB7CiAgICAgICAgICAgICAgICAkbWVzc2FnZSAuPSAiXG57JHByZWZpeH17JHNwfSIgLiBzdHJfcmVwbGFjZSgiXG4iLCAiXG57JHByZWZpeH17JHNwfSIsICRlLT5zaG9ydE1lc3NhZ2UpIC4gIlxuIjsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3JlYWNoICgkZSBhcyAkZWUpIHsKICAgICAgICAgICAgICAgICRtZXNzYWdlIC49ICJcbiIgLiAkdGhpcy0+Z2V0RXhjZXB0aW9uTWVzc2FnZSgkZWUsICRkZXB0aCArIDEpOwogICAgICAgICAgICB9CiAgICAgICAgfSAgZWxzZSB7CiAgICAgICAgICAgICRtZXNzYWdlIC49ICJcbnskcHJlZml4fXskc3B9IiAuIHN0cl9yZXBsYWNlKCJcbiIsICJcbnskcHJlZml4fXskc3B9IiwgJGUtPmdldE1lc3NhZ2UoKSkgLiAiXG4iOwogICAgICAgICAgICAkbWVzc2FnZSAuPSAiXG57JHByZWZpeH17JHNwfSIgLiBzdHJfcmVwbGFjZSgiXG4iLCAiXG57JHByZWZpeH17JHNwfSIsICRlLT5nZXRUcmFjZUFzU3RyaW5nKCkpIC4gIlxuIjsKICAgICAgICB9CgogICAgICAgIHJldHVybiBzdHJfcmVwbGFjZShnZXRjd2QoKSwgJy4nLCAkbWVzc2FnZSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/Exception/GuzzleException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvbjsKCi8qKgogKiBHdXp6bGUgZXhjZXB0aW9uCiAqLwppbnRlcmZhY2UgR3V6emxlRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/Exception/InvalidArgumentException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvbjsKCmNsYXNzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBleHRlbmRzIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaW1wbGVtZW50cyBHdXp6bGVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/Exception/RuntimeException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvbjsKCmNsYXNzIFJ1bnRpbWVFeGNlcHRpb24gZXh0ZW5kcyBcUnVudGltZUV4Y2VwdGlvbiBpbXBsZW1lbnRzIEd1enpsZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/Exception/UnexpectedValueException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvbjsKCmNsYXNzIFVuZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlvbiBleHRlbmRzIFxVbmV4cGVjdGVkVmFsdWVFeGNlcHRpb24gaW1wbGVtZW50cyBHdXp6bGVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/FromConfigInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ29tbW9uOwoKLyoqCiAqIEludGVyZmFjZXMgdGhhdCBhZGRzIGEgZmFjdG9yeSBtZXRob2Qgd2hpY2ggaXMgdXNlZCB0byBpbnN0YW50aWF0ZSBhIGNsYXNzIGZyb20gYW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBvcHRpb25zLgogKi8KaW50ZXJmYWNlIEZyb21Db25maWdJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBTdGF0aWMgZmFjdG9yeSBtZXRob2QgdXNlZCB0byB0dXJuIGFuIGFycmF5IG9yIGNvbGxlY3Rpb24gb2YgY29uZmlndXJhdGlvbiBkYXRhIGludG8gYW4gaW5zdGFudGlhdGVkIG9iamVjdC4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkY29uZmlnIENvbmZpZ3VyYXRpb24gZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gRnJvbUNvbmZpZ0ludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoJGNvbmZpZyA9IGFycmF5KCkpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/HasDispatcherInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ29tbW9uOwoKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudERpc3BhdGNoZXJJbnRlcmZhY2U7CnVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlOwoKLyoqCiAqIEhvbGRzIGFuIGV2ZW50IGRpc3BhdGNoZXIKICovCmludGVyZmFjZSBIYXNEaXNwYXRjaGVySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogR2V0IGEgbGlzdCBvZiBhbGwgb2YgdGhlIGV2ZW50cyBlbWl0dGVkIGZyb20gdGhlIGNsYXNzCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEFsbEV2ZW50cygpOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBFdmVudERpc3BhdGNoZXIgb2YgdGhlIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlICRldmVudERpc3BhdGNoZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEV2ZW50RGlzcGF0Y2hlcihFdmVudERpc3BhdGNoZXJJbnRlcmZhY2UgJGV2ZW50RGlzcGF0Y2hlcik7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIEV2ZW50RGlzcGF0Y2hlciBvZiB0aGUgcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFdmVudERpc3BhdGNoZXIoKTsKCiAgICAvKioKICAgICAqIEhlbHBlciB0byBkaXNwYXRjaCBHdXp6bGUgZXZlbnRzIGFuZCBzZXQgdGhlIGV2ZW50IG5hbWUgb24gdGhlIGV2ZW50CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZXZlbnROYW1lIE5hbWUgb2YgdGhlIGV2ZW50IHRvIGRpc3BhdGNoCiAgICAgKiBAcGFyYW0gYXJyYXkgICRjb250ZXh0ICAgQ29udGV4dCBvZiB0aGUgZXZlbnQKICAgICAqCiAgICAgKiBAcmV0dXJuIEV2ZW50IFJldHVybnMgdGhlIGNyZWF0ZWQgZXZlbnQgb2JqZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBkaXNwYXRjaCgkZXZlbnROYW1lLCBhcnJheSAkY29udGV4dCA9IGFycmF5KCkpOwoKICAgIC8qKgogICAgICogQWRkIGFuIGV2ZW50IHN1YnNjcmliZXIgdG8gdGhlIGRpc3BhdGNoZXIKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlICRzdWJzY3JpYmVyIEV2ZW50IHN1YnNjcmliZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZFN1YnNjcmliZXIoRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlICRzdWJzY3JpYmVyKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/ToArrayInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ29tbW9uOwoKLyoqCiAqIEFuIG9iamVjdCB0aGF0IGNhbiBiZSByZXByZXNlbnRlZCBhcyBhbiBhcnJheQogKi8KaW50ZXJmYWNlIFRvQXJyYXlJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBHZXQgdGhlIGFycmF5IHJlcHJlc2VudGF0aW9uIG9mIGFuIG9iamVjdAogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRvQXJyYXkoKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Common/Version.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcQ29tbW9uOwoKLyoqCiAqIEd1enpsZSB2ZXJzaW9uIGluZm9ybWF0aW9uCiAqLwpjbGFzcyBWZXJzaW9uCnsKICAgIGNvbnN0IFZFUlNJT04gPSAnMy44LjEnOwoKICAgIC8qKgogICAgICogQHZhciBib29sIFNldCB0aGlzIHZhbHVlIHRvIHRydWUgdG8gZW5hYmxlIHdhcm5pbmdzIGZvciBkZXByZWNhdGVkIGZ1bmN0aW9uYWxpdHkgdXNlLiBUaGlzIHNob3VsZCBiZSBvbiBpbiB5b3VyCiAgICAgKiAgICAgICAgICAgdW5pdCB0ZXN0cywgYnV0IHByb2JhYmx5IG5vdCBpbiBwcm9kdWN0aW9uLgogICAgICovCiAgICBwdWJsaWMgc3RhdGljICRlbWl0V2FybmluZ3MgPSBmYWxzZTsKCiAgICAvKioKICAgICAqIEVtaXQgYSBkZXByZWNhdGlvbiB3YXJuaW5nCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbWVzc2FnZSBXYXJuaW5nIG1lc3NhZ2UKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB3YXJuKCRtZXNzYWdlKQogICAgewogICAgICAgIGlmIChzZWxmOjokZW1pdFdhcm5pbmdzKSB7CiAgICAgICAgICAgIHRyaWdnZXJfZXJyb3IoJ0RlcHJlY2F0aW9uIHdhcm5pbmc6ICcgLiAkbWVzc2FnZSwgRV9VU0VSX0RFUFJFQ0FURUQpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/AbstractEntityBodyDecorator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cDsKCnVzZSBHdXp6bGVcU3RyZWFtXFN0cmVhbTsKCi8qKgogKiBBYnN0cmFjdCBkZWNvcmF0b3IgdXNlZCB0byB3cmFwIGVudGl0eSBib2RpZXMKICovCmNsYXNzIEFic3RyYWN0RW50aXR5Qm9keURlY29yYXRvciBpbXBsZW1lbnRzIEVudGl0eUJvZHlJbnRlcmZhY2UKewogICAgLyoqIEB2YXIgRW50aXR5Qm9keUludGVyZmFjZSBEZWNvcmF0ZWQgZW50aXR5IGJvZHkgKi8KICAgIHByb3RlY3RlZCAkYm9keTsKCiAgICAvKioKICAgICAqIEBwYXJhbSBFbnRpdHlCb2R5SW50ZXJmYWNlICRib2R5IEVudGl0eSBib2R5IHRvIGRlY29yYXRlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChFbnRpdHlCb2R5SW50ZXJmYWNlICRib2R5KQogICAgewogICAgICAgICR0aGlzLT5ib2R5ID0gJGJvZHk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAoc3RyaW5nKSAkdGhpcy0+Ym9keTsKICAgIH0KCiAgICAvKioKICAgICAqIEFsbG93IGRlY29yYXRvcnMgdG8gaW1wbGVtZW50IGN1c3RvbSBtZXRob2RzCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbWV0aG9kIE1pc3NpbmcgbWV0aG9kIG5hbWUKICAgICAqIEBwYXJhbSBhcnJheSAgJGFyZ3MgICBNZXRob2QgYXJndW1lbnRzCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jYWxsKCRtZXRob2QsIGFycmF5ICRhcmdzKQogICAgewogICAgICAgIHJldHVybiBjYWxsX3VzZXJfZnVuY19hcnJheShhcnJheSgkdGhpcy0+Ym9keSwgJG1ldGhvZCksICRhcmdzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xvc2UoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+Y2xvc2UoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UmV3aW5kRnVuY3Rpb24oJGNhbGxhYmxlKQogICAgewogICAgICAgICR0aGlzLT5ib2R5LT5zZXRSZXdpbmRGdW5jdGlvbigkY2FsbGFibGUpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJld2luZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ib2R5LT5yZXdpbmQoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY29tcHJlc3MoJGZpbHRlciA9ICd6bGliLmRlZmxhdGUnKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+Y29tcHJlc3MoJGZpbHRlcik7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHVuY29tcHJlc3MoJGZpbHRlciA9ICd6bGliLmluZmxhdGUnKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+dW5jb21wcmVzcygkZmlsdGVyKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29udGVudExlbmd0aCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRTaXplKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldENvbnRlbnRUeXBlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmJvZHktPmdldENvbnRlbnRUeXBlKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldENvbnRlbnRNZDUoJHJhd091dHB1dCA9IGZhbHNlLCAkYmFzZTY0RW5jb2RlID0gZmFsc2UpCiAgICB7CiAgICAgICAgJGhhc2ggPSBTdHJlYW06OmdldEhhc2goJHRoaXMsICdtZDUnLCAkcmF3T3V0cHV0KTsKCiAgICAgICAgcmV0dXJuICRoYXNoICYmICRiYXNlNjRFbmNvZGUgPyBiYXNlNjRfZW5jb2RlKCRoYXNoKSA6ICRoYXNoOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb250ZW50RW5jb2RpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+Z2V0Q29udGVudEVuY29kaW5nKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldE1ldGFEYXRhKCRrZXkgPSBudWxsKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+Z2V0TWV0YURhdGEoJGtleSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFN0cmVhbSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ib2R5LT5nZXRTdHJlYW0oKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U3RyZWFtKCRzdHJlYW0sICRzaXplID0gMCkKICAgIHsKICAgICAgICAkdGhpcy0+Ym9keS0+c2V0U3RyZWFtKCRzdHJlYW0sICRzaXplKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkZXRhY2hTdHJlYW0oKQogICAgewogICAgICAgICR0aGlzLT5ib2R5LT5kZXRhY2hTdHJlYW0oKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRXcmFwcGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmJvZHktPmdldFdyYXBwZXIoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0V3JhcHBlckRhdGEoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+Z2V0V3JhcHBlckRhdGEoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U3RyZWFtVHlwZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ib2R5LT5nZXRTdHJlYW1UeXBlKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFVyaSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ib2R5LT5nZXRVcmkoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2l6ZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ib2R5LT5nZXRTaXplKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzUmVhZGFibGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+aXNSZWFkYWJsZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc1JlcGVhdGFibGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+aXNTZWVrYWJsZSgpICYmICR0aGlzLT5pc1JlYWRhYmxlKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzV3JpdGFibGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+aXNXcml0YWJsZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc0NvbnN1bWVkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmJvZHktPmlzQ29uc3VtZWQoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFsaWFzIG9mIGlzQ29uc3VtZWQoKQogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZmVvZigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5pc0NvbnN1bWVkKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzTG9jYWwoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+aXNMb2NhbCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc1NlZWthYmxlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmJvZHktPmlzU2Vla2FibGUoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U2l6ZSgkc2l6ZSkKICAgIHsKICAgICAgICAkdGhpcy0+Ym9keS0+c2V0U2l6ZSgkc2l6ZSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2Vlaygkb2Zmc2V0LCAkd2hlbmNlID0gU0VFS19TRVQpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ib2R5LT5zZWVrKCRvZmZzZXQsICR3aGVuY2UpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZWFkKCRsZW5ndGgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ib2R5LT5yZWFkKCRsZW5ndGgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB3cml0ZSgkc3RyaW5nKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+d3JpdGUoJHN0cmluZyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlYWRMaW5lKCRtYXhMZW5ndGggPSBudWxsKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+cmVhZExpbmUoJG1heExlbmd0aCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGZ0ZWxsKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmJvZHktPmZ0ZWxsKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldEN1c3RvbURhdGEoJGtleSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmJvZHktPmdldEN1c3RvbURhdGEoJGtleSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldEN1c3RvbURhdGEoJGtleSwgJHZhbHVlKQogICAgewogICAgICAgICR0aGlzLT5ib2R5LT5zZXRDdXN0b21EYXRhKCRrZXksICR2YWx1ZSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/CachingEntityBody.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cDsKCnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwoKLyoqCiAqIEVudGl0eUJvZHkgZGVjb3JhdG9yIHRoYXQgY2FuIGNhY2hlIHByZXZpb3VzbHkgcmVhZCBieXRlcyBmcm9tIGEgc2VxdWVudGlhbGx5IHJlYWQgdHN0cmVhbQogKi8KY2xhc3MgQ2FjaGluZ0VudGl0eUJvZHkgZXh0ZW5kcyBBYnN0cmFjdEVudGl0eUJvZHlEZWNvcmF0b3IKewogICAgLyoqIEB2YXIgRW50aXR5Qm9keSBSZW1vdGUgc3RyZWFtIHVzZWQgdG8gYWN0dWFsbHkgcHVsbCBkYXRhIG9udG8gdGhlIGJ1ZmZlciAqLwogICAgcHJvdGVjdGVkICRyZW1vdGVTdHJlYW07CgogICAgLyoqIEB2YXIgaW50IFRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gc2tpcCByZWFkaW5nIGR1ZSB0byBhIHdyaXRlIG9uIHRoZSB0ZW1wb3JhcnkgYnVmZmVyICovCiAgICBwcm90ZWN0ZWQgJHNraXBSZWFkQnl0ZXMgPSAwOwoKICAgIC8qKgogICAgICogV2Ugd2lsbCB0cmVhdCB0aGUgYnVmZmVyIG9iamVjdCBhcyB0aGUgYm9keSBvZiB0aGUgZW50aXR5IGJvZHkKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEVudGl0eUJvZHlJbnRlcmZhY2UgJGJvZHkpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlbW90ZVN0cmVhbSA9ICRib2R5OwogICAgICAgICR0aGlzLT5ib2R5ID0gbmV3IEVudGl0eUJvZHkoZm9wZW4oJ3BocDovL3RlbXAnLCAncisnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBXaWxsIGdpdmUgdGhlIGNvbnRlbnRzIG9mIHRoZSBidWZmZXIgZm9sbG93ZWQgYnkgdGhlIGV4aGF1c3RlZCByZW1vdGUgc3RyZWFtLgogICAgICoKICAgICAqIFdhcm5pbmc6IExvYWRzIHRoZSBlbnRpcmUgc3RyZWFtIGludG8gbWVtb3J5CiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQogICAgewogICAgICAgICRwb3MgPSAkdGhpcy0+ZnRlbGwoKTsKICAgICAgICAkdGhpcy0+cmV3aW5kKCk7CgogICAgICAgICRzdHIgPSAnJzsKICAgICAgICB3aGlsZSAoISR0aGlzLT5pc0NvbnN1bWVkKCkpIHsKICAgICAgICAgICAgJHN0ciAuPSAkdGhpcy0+cmVhZCgxNjM4NCk7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+c2VlaygkcG9zKTsKCiAgICAgICAgcmV0dXJuICRzdHI7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFNpemUoKQogICAgewogICAgICAgIHJldHVybiBtYXgoJHRoaXMtPmJvZHktPmdldFNpemUoKSwgJHRoaXMtPnJlbW90ZVN0cmVhbS0+Z2V0U2l6ZSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqIEB0aHJvd3MgUnVudGltZUV4Y2VwdGlvbiBXaGVuIHNlZWtpbmcgd2l0aCBTRUVLX0VORCBvciB3aGVuIHNlZWtpbmcgcGFzdCB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgYnVmZmVyIHN0cmVhbQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2Vlaygkb2Zmc2V0LCAkd2hlbmNlID0gU0VFS19TRVQpCiAgICB7CiAgICAgICAgaWYgKCR3aGVuY2UgPT0gU0VFS19TRVQpIHsKICAgICAgICAgICAgJGJ5dGUgPSAkb2Zmc2V0OwogICAgICAgIH0gZWxzZWlmICgkd2hlbmNlID09IFNFRUtfQ1VSKSB7CiAgICAgICAgICAgICRieXRlID0gJG9mZnNldCArICR0aGlzLT5mdGVsbCgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKF9fQ0xBU1NfXyAuICcgc3VwcG9ydHMgb25seSBTRUVLX1NFVCBhbmQgU0VFS19DVVIgc2VlayBvcGVyYXRpb25zJyk7CiAgICAgICAgfQoKICAgICAgICAvLyBZb3UgY2Fubm90IHNraXAgYWhlYWQgcGFzdCB3aGVyZSB5b3UndmUgcmVhZCBmcm9tIHRoZSByZW1vdGUgc3RyZWFtCiAgICAgICAgaWYgKCRieXRlID4gJHRoaXMtPmJvZHktPmdldFNpemUoKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbigKICAgICAgICAgICAgICAgICJDYW5ub3Qgc2VlayB0byBieXRlIHskYnl0ZX0gd2hlbiB0aGUgYnVmZmVyZWQgc3RyZWFtIG9ubHkgY29udGFpbnMgeyR0aGlzLT5ib2R5LT5nZXRTaXplKCl9IGJ5dGVzIgogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5ib2R5LT5zZWVrKCRieXRlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmV3aW5kKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNlZWsoMCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBEb2VzIG5vdCBzdXBwb3J0IGN1c3RvbSByZXdpbmQgZnVuY3Rpb25zCiAgICAgKgogICAgICogQHRocm93cyBSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRSZXdpbmRGdW5jdGlvbigkY2FsbGFibGUpCiAgICB7CiAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oX19DTEFTU19fIC4gJyBkb2VzIG5vdCBzdXBwb3J0IGN1c3RvbSBzdHJlYW0gcmV3aW5kIGZ1bmN0aW9ucycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZWFkKCRsZW5ndGgpCiAgICB7CiAgICAgICAgLy8gUGVyZm9ybSBhIHJlZ3VsYXIgcmVhZCBvbiBhbnkgcHJldmlvdXNseSByZWFkIGRhdGEgZnJvbSB0aGUgYnVmZmVyCiAgICAgICAgJGRhdGEgPSAkdGhpcy0+Ym9keS0+cmVhZCgkbGVuZ3RoKTsKICAgICAgICAkcmVtYWluaW5nID0gJGxlbmd0aCAtIHN0cmxlbigkZGF0YSk7CgogICAgICAgIC8vIE1vcmUgZGF0YSB3YXMgcmVxdWVzdGVkIHNvIHJlYWQgZnJvbSB0aGUgcmVtb3RlIHN0cmVhbQogICAgICAgIGlmICgkcmVtYWluaW5nKSB7CiAgICAgICAgICAgIC8vIElmIGRhdGEgd2FzIHdyaXR0ZW4gdG8gdGhlIGJ1ZmZlciBpbiBhIHBvc2l0aW9uIHRoYXQgd291bGQgaGF2ZSBiZWVuIGZpbGxlZCBmcm9tIHRoZSByZW1vdGUgc3RyZWFtLAogICAgICAgICAgICAvLyB0aGVuIHdlIG11c3Qgc2tpcCBieXRlcyBvbiB0aGUgcmVtb3RlIHN0cmVhbSB0byBlbXVsYXRlIG92ZXJ3cml0aW5nIGJ5dGVzIGZyb20gdGhhdCBwb3NpdGlvbi4gVGhpcwogICAgICAgICAgICAvLyBtaW1pY3MgdGhlIGJlaGF2aW9yIG9mIG90aGVyIFBIUCBzdHJlYW0gd3JhcHBlcnMuCiAgICAgICAgICAgICRyZW1vdGVEYXRhID0gJHRoaXMtPnJlbW90ZVN0cmVhbS0+cmVhZCgkcmVtYWluaW5nICsgJHRoaXMtPnNraXBSZWFkQnl0ZXMpOwoKICAgICAgICAgICAgaWYgKCR0aGlzLT5za2lwUmVhZEJ5dGVzKSB7CiAgICAgICAgICAgICAgICAkbGVuID0gc3RybGVuKCRyZW1vdGVEYXRhKTsKICAgICAgICAgICAgICAgICRyZW1vdGVEYXRhID0gc3Vic3RyKCRyZW1vdGVEYXRhLCAkdGhpcy0+c2tpcFJlYWRCeXRlcyk7CiAgICAgICAgICAgICAgICAkdGhpcy0+c2tpcFJlYWRCeXRlcyA9IG1heCgwLCAkdGhpcy0+c2tpcFJlYWRCeXRlcyAtICRsZW4pOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkZGF0YSAuPSAkcmVtb3RlRGF0YTsKICAgICAgICAgICAgJHRoaXMtPmJvZHktPndyaXRlKCRyZW1vdGVEYXRhKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gd3JpdGUoJHN0cmluZykKICAgIHsKICAgICAgICAvLyBXaGVuIGFwcGVuZGluZyB0byB0aGUgZW5kIG9mIHRoZSBjdXJyZW50bHkgcmVhZCBzdHJlYW0sIHlvdSdsbCB3YW50IHRvIHNraXAgYnl0ZXMgZnJvbSBiZWluZyByZWFkIGZyb20KICAgICAgICAvLyB0aGUgcmVtb3RlIHN0cmVhbSB0byBlbXVsYXRlIG90aGVyIHN0cmVhbSB3cmFwcGVycy4gQmFzaWNhbGx5IHJlcGxhY2luZyBieXRlcyBvZiBkYXRhIG9mIGEgZml4ZWQgbGVuZ3RoLgogICAgICAgICRvdmVyZmxvdyA9IChzdHJsZW4oJHN0cmluZykgKyAkdGhpcy0+ZnRlbGwoKSkgLSAkdGhpcy0+cmVtb3RlU3RyZWFtLT5mdGVsbCgpOwogICAgICAgIGlmICgkb3ZlcmZsb3cgPiAwKSB7CiAgICAgICAgICAgICR0aGlzLT5za2lwUmVhZEJ5dGVzICs9ICRvdmVyZmxvdzsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+Ym9keS0+d3JpdGUoJHN0cmluZyk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKiBAbGluayBodHRwOi8vcGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uZmdldHMucGhwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZWFkTGluZSgkbWF4TGVuZ3RoID0gbnVsbCkKICAgIHsKICAgICAgICAkYnVmZmVyID0gJyc7CiAgICAgICAgJHNpemUgPSAwOwogICAgICAgIHdoaWxlICghJHRoaXMtPmlzQ29uc3VtZWQoKSkgewogICAgICAgICAgICAkYnl0ZSA9ICR0aGlzLT5yZWFkKDEpOwogICAgICAgICAgICAkYnVmZmVyIC49ICRieXRlOwogICAgICAgICAgICAvLyBCcmVhayB3aGVuIGEgbmV3IGxpbmUgaXMgZm91bmQgb3IgdGhlIG1heCBsZW5ndGggLSAxIGlzIHJlYWNoZWQKICAgICAgICAgICAgaWYgKCRieXRlID09IFBIUF9FT0wgfHwgKyskc2l6ZSA9PSAkbWF4TGVuZ3RoIC0gMSkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkYnVmZmVyOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc0NvbnN1bWVkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmJvZHktPmlzQ29uc3VtZWQoKSAmJiAkdGhpcy0+cmVtb3RlU3RyZWFtLT5pc0NvbnN1bWVkKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDbG9zZSBib3RoIHRoZSByZW1vdGUgc3RyZWFtIGFuZCBidWZmZXIgc3RyZWFtCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjbG9zZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZW1vdGVTdHJlYW0tPmNsb3NlKCkgJiYgJHRoaXMtPmJvZHktPmNsb3NlKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFN0cmVhbSgkc3RyZWFtLCAkc2l6ZSA9IDApCiAgICB7CiAgICAgICAgJHRoaXMtPnJlbW90ZVN0cmVhbS0+c2V0U3RyZWFtKCRzdHJlYW0sICRzaXplKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29udGVudFR5cGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVtb3RlU3RyZWFtLT5nZXRDb250ZW50VHlwZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb250ZW50RW5jb2RpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVtb3RlU3RyZWFtLT5nZXRDb250ZW50RW5jb2RpbmcoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWV0YURhdGEoJGtleSA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZW1vdGVTdHJlYW0tPmdldE1ldGFEYXRhKCRrZXkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTdHJlYW0oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVtb3RlU3RyZWFtLT5nZXRTdHJlYW0oKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0V3JhcHBlcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZW1vdGVTdHJlYW0tPmdldFdyYXBwZXIoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0V3JhcHBlckRhdGEoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVtb3RlU3RyZWFtLT5nZXRXcmFwcGVyRGF0YSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTdHJlYW1UeXBlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlbW90ZVN0cmVhbS0+Z2V0U3RyZWFtVHlwZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRVcmkoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVtb3RlU3RyZWFtLT5nZXRVcmkoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFsd2F5cyByZXRyaWV2ZSBjdXN0b20gZGF0YSBmcm9tIHRoZSByZW1vdGUgc3RyZWFtCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDdXN0b21EYXRhKCRrZXkpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZW1vdGVTdHJlYW0tPmdldEN1c3RvbURhdGEoJGtleSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBbHdheXMgc2V0IGN1c3RvbSBkYXRhIG9uIHRoZSByZW1vdGUgc3RyZWFtCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDdXN0b21EYXRhKCRrZXksICR2YWx1ZSkKICAgIHsKICAgICAgICAkdGhpcy0+cmVtb3RlU3RyZWFtLT5zZXRDdXN0b21EYXRhKCRrZXksICR2YWx1ZSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Client.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cDsKCnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcQ29tbW9uXEFic3RyYWN0SGFzRGlzcGF0Y2hlcjsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEV4Y2VwdGlvbkNvbGxlY3Rpb247CnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwp1c2UgR3V6emxlXENvbW1vblxWZXJzaW9uOwp1c2UgR3V6emxlXFBhcnNlclxQYXJzZXJSZWdpc3RyeTsKdXNlIEd1enpsZVxQYXJzZXJcVXJpVGVtcGxhdGVcVXJpVGVtcGxhdGVJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RGYWN0b3J5Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0RmFjdG9yeUludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXEN1cmxcQ3VybE11bHRpSW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcQ3VybFxDdXJsTXVsdGlQcm94eTsKdXNlIEd1enpsZVxIdHRwXEN1cmxcQ3VybEhhbmRsZTsKdXNlIEd1enpsZVxIdHRwXEN1cmxcQ3VybFZlcnNpb247CgovKioKICogSFRUUCBjbGllbnQKICovCmNsYXNzIENsaWVudCBleHRlbmRzIEFic3RyYWN0SGFzRGlzcGF0Y2hlciBpbXBsZW1lbnRzIENsaWVudEludGVyZmFjZQp7CiAgICAvKiogQGRlcHJlY2F0ZWQgVXNlIFtyZXF1ZXN0Lm9wdGlvbnNdW3BhcmFtc10gKi8KICAgIGNvbnN0IFJFUVVFU1RfUEFSQU1TID0gJ3JlcXVlc3QucGFyYW1zJzsKCiAgICBjb25zdCBSRVFVRVNUX09QVElPTlMgPSAncmVxdWVzdC5vcHRpb25zJzsKICAgIGNvbnN0IENVUkxfT1BUSU9OUyA9ICdjdXJsLm9wdGlvbnMnOwogICAgY29uc3QgU1NMX0NFUlRfQVVUSE9SSVRZID0gJ3NzbC5jZXJ0aWZpY2F0ZV9hdXRob3JpdHknOwogICAgY29uc3QgRElTQUJMRV9SRURJUkVDVFMgPSBSZWRpcmVjdFBsdWdpbjo6RElTQUJMRTsKCiAgICAvKiogQHZhciBDb2xsZWN0aW9uIERlZmF1bHQgSFRUUCBoZWFkZXJzIHRvIHNldCBvbiBlYWNoIHJlcXVlc3QgKi8KICAgIHByb3RlY3RlZCAkZGVmYXVsdEhlYWRlcnM7CgogICAgLyoqIEB2YXIgc3RyaW5nIFRoZSB1c2VyIGFnZW50IHN0cmluZyB0byBzZXQgb24gZWFjaCByZXF1ZXN0ICovCiAgICBwcm90ZWN0ZWQgJHVzZXJBZ2VudDsKCiAgICAvKiogQHZhciBDb2xsZWN0aW9uIFBhcmFtZXRlciBvYmplY3QgaG9sZGluZyBjb25maWd1cmF0aW9uIGRhdGEgKi8KICAgIHByaXZhdGUgJGNvbmZpZzsKCiAgICAvKiogQHZhciBVcmwgQmFzZSBVUkwgb2YgdGhlIGNsaWVudCAqLwogICAgcHJpdmF0ZSAkYmFzZVVybDsKCiAgICAvKiogQHZhciBDdXJsTXVsdGlJbnRlcmZhY2UgQ3VybE11bHRpIG9iamVjdCB1c2VkIGludGVybmFsbHkgKi8KICAgIHByaXZhdGUgJGN1cmxNdWx0aTsKCiAgICAvKiogQHZhciBVcmlUZW1wbGF0ZUludGVyZmFjZSBVUkkgdGVtcGxhdGUgb3duZWQgYnkgdGhlIGNsaWVudCAqLwogICAgcHJpdmF0ZSAkdXJpVGVtcGxhdGU7CgogICAgLyoqIEB2YXIgUmVxdWVzdEZhY3RvcnlJbnRlcmZhY2UgUmVxdWVzdCBmYWN0b3J5IHVzZWQgYnkgdGhlIGNsaWVudCAqLwogICAgcHJvdGVjdGVkICRyZXF1ZXN0RmFjdG9yeTsKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEFsbEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KHNlbGY6OkNSRUFURV9SRVFVRVNUKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgICRiYXNlVXJsIEJhc2UgVVJMIG9mIHRoZSB3ZWIgc2VydmljZQogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gJGNvbmZpZyAgQ29uZmlndXJhdGlvbiBzZXR0aW5ncwogICAgICoKICAgICAqIEB0aHJvd3MgUnVudGltZUV4Y2VwdGlvbiBpZiBjVVJMIGlzIG5vdCBpbnN0YWxsZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRiYXNlVXJsID0gJycsICRjb25maWcgPSBudWxsKQogICAgewogICAgICAgIGlmICghZXh0ZW5zaW9uX2xvYWRlZCgnY3VybCcpKSB7CiAgICAgICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVTdGFydAogICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbignVGhlIFBIUCBjVVJMIGV4dGVuc2lvbiBtdXN0IGJlIGluc3RhbGxlZCB0byB1c2UgR3V6emxlLicpOwogICAgICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlRW5kCiAgICAgICAgfQogICAgICAgICR0aGlzLT5zZXRDb25maWcoJGNvbmZpZyA/OiBuZXcgQ29sbGVjdGlvbigpKTsKICAgICAgICAkdGhpcy0+aW5pdFNzbCgpOwogICAgICAgICR0aGlzLT5zZXRCYXNlVXJsKCRiYXNlVXJsKTsKICAgICAgICAkdGhpcy0+ZGVmYXVsdEhlYWRlcnMgPSBuZXcgQ29sbGVjdGlvbigpOwogICAgICAgICR0aGlzLT5zZXRSZXF1ZXN0RmFjdG9yeShSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKSk7CiAgICAgICAgJHRoaXMtPnVzZXJBZ2VudCA9ICR0aGlzLT5nZXREZWZhdWx0VXNlckFnZW50KCk7CiAgICAgICAgaWYgKCEkdGhpcy0+Y29uZmlnW3NlbGY6OkRJU0FCTEVfUkVESVJFQ1RTXSkgewogICAgICAgICAgICAkdGhpcy0+YWRkU3Vic2NyaWJlcihuZXcgUmVkaXJlY3RQbHVnaW4oKSk7CiAgICAgICAgfQogICAgfQoKICAgIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBzZXRDb25maWcoJGNvbmZpZykKICAgIHsKICAgICAgICBpZiAoJGNvbmZpZyBpbnN0YW5jZW9mIENvbGxlY3Rpb24pIHsKICAgICAgICAgICAgJHRoaXMtPmNvbmZpZyA9ICRjb25maWc7CiAgICAgICAgfSBlbHNlaWYgKGlzX2FycmF5KCRjb25maWcpKSB7CiAgICAgICAgICAgICR0aGlzLT5jb25maWcgPSBuZXcgQ29sbGVjdGlvbigkY29uZmlnKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdDb25maWcgbXVzdCBiZSBhbiBhcnJheSBvciBDb2xsZWN0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgZmluYWwgcHVibGljIGZ1bmN0aW9uIGdldENvbmZpZygka2V5ID0gZmFsc2UpCiAgICB7CiAgICAgICAgcmV0dXJuICRrZXkgPyAkdGhpcy0+Y29uZmlnWyRrZXldIDogJHRoaXMtPmNvbmZpZzsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBhIGRlZmF1bHQgcmVxdWVzdCBvcHRpb24gb24gdGhlIGNsaWVudCB0aGF0IHdpbGwgYmUgdXNlZCBhcyBhIGRlZmF1bHQgZm9yIGVhY2ggcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleU9yUGF0aCByZXF1ZXN0Lm9wdGlvbnMga2V5IChlLmcuIGFsbG93X3JlZGlyZWN0cykgb3IgcGF0aCB0byBhIG5lc3RlZCBrZXkgKGUuZy4gaGVhZGVycy9mb28pCiAgICAgKiBAcGFyYW0gbWl4ZWQgICR2YWx1ZSAgICAgVmFsdWUgdG8gc2V0CiAgICAgKgogICAgICogQHJldHVybiAkdGhpcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RGVmYXVsdE9wdGlvbigka2V5T3JQYXRoLCAkdmFsdWUpCiAgICB7CiAgICAgICAgJGtleU9yUGF0aCA9IHNlbGY6OlJFUVVFU1RfT1BUSU9OUyAuICcvJyAuICRrZXlPclBhdGg7CiAgICAgICAgJHRoaXMtPmNvbmZpZy0+c2V0UGF0aCgka2V5T3JQYXRoLCAkdmFsdWUpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXRyaWV2ZSBhIGRlZmF1bHQgcmVxdWVzdCBvcHRpb24gZnJvbSB0aGUgY2xpZW50CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5T3JQYXRoIHJlcXVlc3Qub3B0aW9ucyBrZXkgKGUuZy4gYWxsb3dfcmVkaXJlY3RzKSBvciBwYXRoIHRvIGEgbmVzdGVkIGtleSAoZS5nLiBoZWFkZXJzL2ZvbykKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldERlZmF1bHRPcHRpb24oJGtleU9yUGF0aCkKICAgIHsKICAgICAgICAka2V5T3JQYXRoID0gc2VsZjo6UkVRVUVTVF9PUFRJT05TIC4gJy8nIC4gJGtleU9yUGF0aDsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5jb25maWctPmdldFBhdGgoJGtleU9yUGF0aCk7CiAgICB9CgogICAgZmluYWwgcHVibGljIGZ1bmN0aW9uIHNldFNzbFZlcmlmaWNhdGlvbigkY2VydGlmaWNhdGVBdXRob3JpdHkgPSB0cnVlLCAkdmVyaWZ5UGVlciA9IHRydWUsICR2ZXJpZnlIb3N0ID0gMikKICAgIHsKICAgICAgICAkb3B0cyA9ICR0aGlzLT5jb25maWdbc2VsZjo6Q1VSTF9PUFRJT05TXSA/OiBhcnJheSgpOwoKICAgICAgICBpZiAoJGNlcnRpZmljYXRlQXV0aG9yaXR5ID09PSB0cnVlKSB7CiAgICAgICAgICAgIC8vIHVzZSBidW5kbGVkIENBIGJ1bmRsZSwgc2V0IHNlY3VyZSBkZWZhdWx0cwogICAgICAgICAgICAkb3B0c1tDVVJMT1BUX0NBSU5GT10gPSBfX0RJUl9fIC4gJy9SZXNvdXJjZXMvY2FjZXJ0LnBlbSc7CiAgICAgICAgICAgICRvcHRzW0NVUkxPUFRfU1NMX1ZFUklGWVBFRVJdID0gdHJ1ZTsKICAgICAgICAgICAgJG9wdHNbQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVF0gPSAyOwogICAgICAgIH0gZWxzZWlmICgkY2VydGlmaWNhdGVBdXRob3JpdHkgPT09IGZhbHNlKSB7CiAgICAgICAgICAgIHVuc2V0KCRvcHRzW0NVUkxPUFRfQ0FJTkZPXSk7CiAgICAgICAgICAgICRvcHRzW0NVUkxPUFRfU1NMX1ZFUklGWVBFRVJdID0gZmFsc2U7CiAgICAgICAgICAgICRvcHRzW0NVUkxPUFRfU1NMX1ZFUklGWUhPU1RdID0gMDsKICAgICAgICB9IGVsc2VpZiAoJHZlcmlmeVBlZXIgIT09IHRydWUgJiYgJHZlcmlmeVBlZXIgIT09IGZhbHNlICYmICR2ZXJpZnlQZWVyICE9PSAxICYmICR2ZXJpZnlQZWVyICE9PSAwKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ3ZlcmlmeVBlZXIgbXVzdCBiZSAxLCAwIG9yIGJvb2xlYW4nKTsKICAgICAgICB9IGVsc2VpZiAoJHZlcmlmeUhvc3QgIT09IDAgJiYgJHZlcmlmeUhvc3QgIT09IDEgJiYgJHZlcmlmeUhvc3QgIT09IDIpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigndmVyaWZ5SG9zdCBtdXN0IGJlIDAsIDEgb3IgMicpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRvcHRzW0NVUkxPUFRfU1NMX1ZFUklGWVBFRVJdID0gJHZlcmlmeVBlZXI7CiAgICAgICAgICAgICRvcHRzW0NVUkxPUFRfU1NMX1ZFUklGWUhPU1RdID0gJHZlcmlmeUhvc3Q7CiAgICAgICAgICAgIGlmIChpc19maWxlKCRjZXJ0aWZpY2F0ZUF1dGhvcml0eSkpIHsKICAgICAgICAgICAgICAgIHVuc2V0KCRvcHRzW0NVUkxPUFRfQ0FQQVRIXSk7CiAgICAgICAgICAgICAgICAkb3B0c1tDVVJMT1BUX0NBSU5GT10gPSAkY2VydGlmaWNhdGVBdXRob3JpdHk7CiAgICAgICAgICAgIH0gZWxzZWlmIChpc19kaXIoJGNlcnRpZmljYXRlQXV0aG9yaXR5KSkgewogICAgICAgICAgICAgICAgdW5zZXQoJG9wdHNbQ1VSTE9QVF9DQUlORk9dKTsKICAgICAgICAgICAgICAgICRvcHRzW0NVUkxPUFRfQ0FQQVRIXSA9ICRjZXJ0aWZpY2F0ZUF1dGhvcml0eTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgICAgICdJbnZhbGlkIG9wdGlvbiBwYXNzZWQgdG8gJyAuIHNlbGY6OlNTTF9DRVJUX0FVVEhPUklUWSAuICc6ICcgLiAkY2VydGlmaWNhdGVBdXRob3JpdHkKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICR0aGlzLT5jb25maWctPnNldChzZWxmOjpDVVJMX09QVElPTlMsICRvcHRzKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGVSZXF1ZXN0KCRtZXRob2QgPSAnR0VUJywgJHVyaSA9IG51bGwsICRoZWFkZXJzID0gbnVsbCwgJGJvZHkgPSBudWxsLCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgaWYgKCEkdXJpKSB7CiAgICAgICAgICAgICR1cmwgPSAkdGhpcy0+Z2V0QmFzZVVybCgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmICghaXNfYXJyYXkoJHVyaSkpIHsKICAgICAgICAgICAgICAgICR0ZW1wbGF0ZVZhcnMgPSBudWxsOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbGlzdCgkdXJpLCAkdGVtcGxhdGVWYXJzKSA9ICR1cmk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHN1YnN0cigkdXJpLCAwLCA0KSA9PT0gJ2h0dHAnKSB7CiAgICAgICAgICAgICAgICAvLyBVc2UgYWJzb2x1dGUgVVJMcyBhcy1pcwogICAgICAgICAgICAgICAgJHVybCA9ICR0aGlzLT5leHBhbmRUZW1wbGF0ZSgkdXJpLCAkdGVtcGxhdGVWYXJzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICR1cmwgPSBVcmw6OmZhY3RvcnkoJHRoaXMtPmdldEJhc2VVcmwoKSktPmNvbWJpbmUoJHRoaXMtPmV4cGFuZFRlbXBsYXRlKCR1cmksICR0ZW1wbGF0ZVZhcnMpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gSWYgZGVmYXVsdCBoZWFkZXJzIGFyZSBwcm92aWRlZCwgdGhlbiBtZXJnZSB0aGVtIHVuZGVyIGFueSBleHBsaWNpdGx5IHByb3ZpZGVkIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0CiAgICAgICAgaWYgKGNvdW50KCR0aGlzLT5kZWZhdWx0SGVhZGVycykpIHsKICAgICAgICAgICAgaWYgKCEkaGVhZGVycykgewogICAgICAgICAgICAgICAgJGhlYWRlcnMgPSAkdGhpcy0+ZGVmYXVsdEhlYWRlcnMtPnRvQXJyYXkoKTsKICAgICAgICAgICAgfSBlbHNlaWYgKGlzX2FycmF5KCRoZWFkZXJzKSkgewogICAgICAgICAgICAgICAgJGhlYWRlcnMgKz0gJHRoaXMtPmRlZmF1bHRIZWFkZXJzLT50b0FycmF5KCk7CiAgICAgICAgICAgIH0gZWxzZWlmICgkaGVhZGVycyBpbnN0YW5jZW9mIENvbGxlY3Rpb24pIHsKICAgICAgICAgICAgICAgICRoZWFkZXJzID0gJGhlYWRlcnMtPnRvQXJyYXkoKSArICR0aGlzLT5kZWZhdWx0SGVhZGVycy0+dG9BcnJheSgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPnByZXBhcmVSZXF1ZXN0KCR0aGlzLT5yZXF1ZXN0RmFjdG9yeS0+Y3JlYXRlKCRtZXRob2QsIChzdHJpbmcpICR1cmwsICRoZWFkZXJzLCAkYm9keSksICRvcHRpb25zKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QmFzZVVybCgkZXhwYW5kID0gdHJ1ZSkKICAgIHsKICAgICAgICByZXR1cm4gJGV4cGFuZCA/ICR0aGlzLT5leHBhbmRUZW1wbGF0ZSgkdGhpcy0+YmFzZVVybCkgOiAkdGhpcy0+YmFzZVVybDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0QmFzZVVybCgkdXJsKQogICAgewogICAgICAgICR0aGlzLT5iYXNlVXJsID0gJHVybDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVc2VyQWdlbnQoJHVzZXJBZ2VudCwgJGluY2x1ZGVEZWZhdWx0ID0gZmFsc2UpCiAgICB7CiAgICAgICAgaWYgKCRpbmNsdWRlRGVmYXVsdCkgewogICAgICAgICAgICAkdXNlckFnZW50IC49ICcgJyAuICR0aGlzLT5nZXREZWZhdWx0VXNlckFnZW50KCk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT51c2VyQWdlbnQgPSAkdXNlckFnZW50OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGRlZmF1bHQgVXNlci1BZ2VudCBzdHJpbmcgdG8gdXNlIHdpdGggR3V6emxlCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldERlZmF1bHRVc2VyQWdlbnQoKQogICAgewogICAgICAgIHJldHVybiAnR3V6emxlLycgLiBWZXJzaW9uOjpWRVJTSU9OCiAgICAgICAgICAgIC4gJyBjdXJsLycgLiBDdXJsVmVyc2lvbjo6Z2V0SW5zdGFuY2UoKS0+Z2V0KCd2ZXJzaW9uJykKICAgICAgICAgICAgLiAnIFBIUC8nIC4gUEhQX1ZFUlNJT047CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldCgkdXJpID0gbnVsbCwgJGhlYWRlcnMgPSBudWxsLCAkb3B0aW9ucyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgLy8gQkMgY29tcGF0OiAkb3B0aW9ucyBjYW4gYmUgYSBzdHJpbmcsIHJlc291cmNlLCBldGMgdG8gc3BlY2lmeSB3aGVyZSB0aGUgcmVzcG9uc2UgYm9keSBpcyBkb3dubG9hZGVkCiAgICAgICAgcmV0dXJuIGlzX2FycmF5KCRvcHRpb25zKQogICAgICAgICAgICA/ICR0aGlzLT5jcmVhdGVSZXF1ZXN0KCdHRVQnLCAkdXJpLCAkaGVhZGVycywgbnVsbCwgJG9wdGlvbnMpCiAgICAgICAgICAgIDogJHRoaXMtPmNyZWF0ZVJlcXVlc3QoJ0dFVCcsICR1cmksICRoZWFkZXJzLCAkb3B0aW9ucyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhlYWQoJHVyaSA9IG51bGwsICRoZWFkZXJzID0gbnVsbCwgYXJyYXkgJG9wdGlvbnMgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y3JlYXRlUmVxdWVzdCgnSEVBRCcsICR1cmksICRoZWFkZXJzLCBudWxsLCAkb3B0aW9ucyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZSgkdXJpID0gbnVsbCwgJGhlYWRlcnMgPSBudWxsLCAkYm9keSA9IG51bGwsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNyZWF0ZVJlcXVlc3QoJ0RFTEVURScsICR1cmksICRoZWFkZXJzLCAkYm9keSwgJG9wdGlvbnMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBwdXQoJHVyaSA9IG51bGwsICRoZWFkZXJzID0gbnVsbCwgJGJvZHkgPSBudWxsLCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jcmVhdGVSZXF1ZXN0KCdQVVQnLCAkdXJpLCAkaGVhZGVycywgJGJvZHksICRvcHRpb25zKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcGF0Y2goJHVyaSA9IG51bGwsICRoZWFkZXJzID0gbnVsbCwgJGJvZHkgPSBudWxsLCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jcmVhdGVSZXF1ZXN0KCdQQVRDSCcsICR1cmksICRoZWFkZXJzLCAkYm9keSwgJG9wdGlvbnMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBwb3N0KCR1cmkgPSBudWxsLCAkaGVhZGVycyA9IG51bGwsICRwb3N0Qm9keSA9IG51bGwsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNyZWF0ZVJlcXVlc3QoJ1BPU1QnLCAkdXJpLCAkaGVhZGVycywgJHBvc3RCb2R5LCAkb3B0aW9ucyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG9wdGlvbnMoJHVyaSA9IG51bGwsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNyZWF0ZVJlcXVlc3QoJ09QVElPTlMnLCAkdXJpLCAkb3B0aW9ucyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNlbmQoJHJlcXVlc3RzKQogICAgewogICAgICAgIGlmICghKCRyZXF1ZXN0cyBpbnN0YW5jZW9mIFJlcXVlc3RJbnRlcmZhY2UpKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+c2VuZE11bHRpcGxlKCRyZXF1ZXN0cyk7CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICAvKiogQHZhciAkcmVxdWVzdHMgUmVxdWVzdEludGVyZmFjZSAgKi8KICAgICAgICAgICAgJHRoaXMtPmdldEN1cmxNdWx0aSgpLT5hZGQoJHJlcXVlc3RzKS0+c2VuZCgpOwogICAgICAgICAgICByZXR1cm4gJHJlcXVlc3RzLT5nZXRSZXNwb25zZSgpOwogICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbkNvbGxlY3Rpb24gJGUpIHsKICAgICAgICAgICAgdGhyb3cgJGUtPmdldEZpcnN0KCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogU2V0IGEgY3VybCBtdWx0aSBvYmplY3QgdG8gYmUgdXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSBjbGllbnQgZm9yIHRyYW5zZmVycmluZyByZXF1ZXN0cy4KICAgICAqCiAgICAgKiBAcGFyYW0gQ3VybE11bHRpSW50ZXJmYWNlICRjdXJsTXVsdGkgTXVsdGkgb2JqZWN0CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDdXJsTXVsdGkoQ3VybE11bHRpSW50ZXJmYWNlICRjdXJsTXVsdGkpCiAgICB7CiAgICAgICAgJHRoaXMtPmN1cmxNdWx0aSA9ICRjdXJsTXVsdGk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4gQ3VybE11bHRpSW50ZXJmYWNlfEN1cmxNdWx0aVByb3h5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDdXJsTXVsdGkoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPmN1cmxNdWx0aSkgewogICAgICAgICAgICAkdGhpcy0+Y3VybE11bHRpID0gbmV3IEN1cmxNdWx0aVByb3h5KCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPmN1cmxNdWx0aTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UmVxdWVzdEZhY3RvcnkoUmVxdWVzdEZhY3RvcnlJbnRlcmZhY2UgJGZhY3RvcnkpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlcXVlc3RGYWN0b3J5ID0gJGZhY3Rvcnk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgVVJJIHRlbXBsYXRlIGV4cGFuZGVyIHRvIHVzZSB3aXRoIHRoZSBjbGllbnQKICAgICAqCiAgICAgKiBAcGFyYW0gVXJpVGVtcGxhdGVJbnRlcmZhY2UgJHVyaVRlbXBsYXRlIFVSSSB0ZW1wbGF0ZSBleHBhbmRlcgogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXJpVGVtcGxhdGUoVXJpVGVtcGxhdGVJbnRlcmZhY2UgJHVyaVRlbXBsYXRlKQogICAgewogICAgICAgICR0aGlzLT51cmlUZW1wbGF0ZSA9ICR1cmlUZW1wbGF0ZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogQ29weSB0aGUgY2FjZXJ0LnBlbSBmaWxlIGZyb20gdGhlIHBoYXIgaWYgaXQgaXMgbm90IGluIHRoZSB0ZW1wIGZvbGRlciBhbmQgdmFsaWRhdGUgdGhlIE1ENSBjaGVja3N1bQogICAgICoKICAgICAqIEBwYXJhbSBib29sICRtZDVDaGVjayBTZXQgdG8gZmFsc2UgdG8gbm90IHBlcmZvcm0gdGhlIE1ENSB2YWxpZGF0aW9uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgUmV0dXJucyB0aGUgcGF0aCB0byB0aGUgZXh0cmFjdGVkIGNhY2VydAogICAgICogQHRocm93cyBSdW50aW1lRXhjZXB0aW9uIGlmIHRoZSBmaWxlIGNhbm5vdCBiZSBjb3BpZWQgb3IgdGhlcmUgaXMgYSBNRDUgbWlzbWF0Y2gKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHByZXBhcmVQaGFyQ2FjZXJ0KCRtZDVDaGVjayA9IHRydWUpCiAgICB7CiAgICAgICAgJGZyb20gPSBfX0RJUl9fIC4gJy9SZXNvdXJjZXMvY2FjZXJ0LnBlbSc7CiAgICAgICAgJGNlcnRGaWxlID0gc3lzX2dldF90ZW1wX2RpcigpIC4gJy9ndXp6bGUtY2FjZXJ0LnBlbSc7CiAgICAgICAgaWYgKCFmaWxlX2V4aXN0cygkY2VydEZpbGUpICYmICFjb3B5KCRmcm9tLCAkY2VydEZpbGUpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKCJDb3VsZCBub3QgY29weSB7JGZyb219IHRvIHskY2VydEZpbGV9OiAiIC4gdmFyX2V4cG9ydChlcnJvcl9nZXRfbGFzdCgpLCB0cnVlKSk7CiAgICAgICAgfSBlbHNlaWYgKCRtZDVDaGVjaykgewogICAgICAgICAgICAkYWN0dWFsTWQ1ID0gbWQ1X2ZpbGUoJGNlcnRGaWxlKTsKICAgICAgICAgICAgJGV4cGVjdGVkTWQ1ID0gdHJpbShmaWxlX2dldF9jb250ZW50cygieyRmcm9tfS5tZDUiKSk7CiAgICAgICAgICAgIGlmICgkYWN0dWFsTWQ1ICE9ICRleHBlY3RlZE1kNSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oInskY2VydEZpbGV9IE1ENSBtaXNtYXRjaDogZXhwZWN0ZWQgeyRleHBlY3RlZE1kNX0gYnV0IGdvdCB7JGFjdHVhbE1kNX0iKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRjZXJ0RmlsZTsKICAgIH0KCiAgICAvKioKICAgICAqIEV4cGFuZCBhIFVSSSB0ZW1wbGF0ZSB3aGlsZSBtZXJnaW5nIGNsaWVudCBjb25maWcgc2V0dGluZ3MgaW50byB0aGUgdGVtcGxhdGUgdmFyaWFibGVzCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdGVtcGxhdGUgIFRlbXBsYXRlIHRvIGV4cGFuZAogICAgICogQHBhcmFtIGFycmF5ICAkdmFyaWFibGVzIFZhcmlhYmxlcyB0byBpbmplY3QKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZXhwYW5kVGVtcGxhdGUoJHRlbXBsYXRlLCBhcnJheSAkdmFyaWFibGVzID0gbnVsbCkKICAgIHsKICAgICAgICAkZXhwYW5zaW9uVmFycyA9ICR0aGlzLT5nZXRDb25maWcoKS0+dG9BcnJheSgpOwogICAgICAgIGlmICgkdmFyaWFibGVzKSB7CiAgICAgICAgICAgICRleHBhbnNpb25WYXJzID0gJHZhcmlhYmxlcyArICRleHBhbnNpb25WYXJzOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRVcmlUZW1wbGF0ZSgpLT5leHBhbmQoJHRlbXBsYXRlLCAkZXhwYW5zaW9uVmFycyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIFVSSSB0ZW1wbGF0ZSBleHBhbmRlciB1c2VkIGJ5IHRoZSBjbGllbnQKICAgICAqCiAgICAgKiBAcmV0dXJuIFVyaVRlbXBsYXRlSW50ZXJmYWNlCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRVcmlUZW1wbGF0ZSgpCiAgICB7CiAgICAgICAgaWYgKCEkdGhpcy0+dXJpVGVtcGxhdGUpIHsKICAgICAgICAgICAgJHRoaXMtPnVyaVRlbXBsYXRlID0gUGFyc2VyUmVnaXN0cnk6OmdldEluc3RhbmNlKCktPmdldFBhcnNlcigndXJpX3RlbXBsYXRlJyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPnVyaVRlbXBsYXRlOwogICAgfQoKICAgIC8qKgogICAgICogU2VuZCBtdWx0aXBsZSByZXF1ZXN0cyBpbiBwYXJhbGxlbAogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkcmVxdWVzdHMgQXJyYXkgb2YgUmVxdWVzdEludGVyZmFjZSBvYmplY3RzCiAgICAgKgogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFuIGFycmF5IG9mIFJlc3BvbnNlIG9iamVjdHMKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNlbmRNdWx0aXBsZShhcnJheSAkcmVxdWVzdHMpCiAgICB7CiAgICAgICAgJGN1cmxNdWx0aSA9ICR0aGlzLT5nZXRDdXJsTXVsdGkoKTsKICAgICAgICBmb3JlYWNoICgkcmVxdWVzdHMgYXMgJHJlcXVlc3QpIHsKICAgICAgICAgICAgJGN1cmxNdWx0aS0+YWRkKCRyZXF1ZXN0KTsKICAgICAgICB9CiAgICAgICAgJGN1cmxNdWx0aS0+c2VuZCgpOwoKICAgICAgICAvKiogQHZhciAkcmVxdWVzdCBSZXF1ZXN0SW50ZXJmYWNlICovCiAgICAgICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJHJlcXVlc3RzIGFzICRyZXF1ZXN0KSB7CiAgICAgICAgICAgICRyZXN1bHRbXSA9ICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBQcmVwYXJlIGEgcmVxdWVzdCB0byBiZSBzZW50IGZyb20gdGhlIENsaWVudCBieSBhZGRpbmcgY2xpZW50IHNwZWNpZmljIGJlaGF2aW9ycyBhbmQgcHJvcGVydGllcyB0byB0aGUgcmVxdWVzdC4KICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCBSZXF1ZXN0IHRvIHByZXBhcmUgZm9yIHRoZSBjbGllbnQKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICRvcHRpb25zIE9wdGlvbnMgdG8gYXBwbHkgdG8gdGhlIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIFJlcXVlc3RJbnRlcmZhY2UKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHByZXBhcmVSZXF1ZXN0KFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkcmVxdWVzdC0+c2V0Q2xpZW50KCR0aGlzKS0+c2V0RXZlbnREaXNwYXRjaGVyKGNsb25lICR0aGlzLT5nZXRFdmVudERpc3BhdGNoZXIoKSk7CgogICAgICAgIGlmICgkY3VybCA9ICR0aGlzLT5jb25maWdbc2VsZjo6Q1VSTF9PUFRJT05TXSkgewogICAgICAgICAgICAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+b3ZlcndyaXRlV2l0aChDdXJsSGFuZGxlOjpwYXJzZUN1cmxDb25maWcoJGN1cmwpKTsKICAgICAgICB9CgogICAgICAgIGlmICgkcGFyYW1zID0gJHRoaXMtPmNvbmZpZ1tzZWxmOjpSRVFVRVNUX1BBUkFNU10pIHsKICAgICAgICAgICAgVmVyc2lvbjo6d2FybigncmVxdWVzdC5wYXJhbXMgaXMgZGVwcmVjYXRlZC4gVXNlIHJlcXVlc3Qub3B0aW9ucyB0byBhZGQgZGVmYXVsdCByZXF1ZXN0IG9wdGlvbnMuJyk7CiAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+b3ZlcndyaXRlV2l0aCgkcGFyYW1zKTsKICAgICAgICB9CgogICAgICAgIGlmICgkdGhpcy0+dXNlckFnZW50ICYmICEkcmVxdWVzdC0+aGFzSGVhZGVyKCdVc2VyLUFnZW50JykpIHsKICAgICAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcignVXNlci1BZ2VudCcsICR0aGlzLT51c2VyQWdlbnQpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRkZWZhdWx0cyA9ICR0aGlzLT5jb25maWdbc2VsZjo6UkVRVUVTVF9PUFRJT05TXSkgewogICAgICAgICAgICAkdGhpcy0+cmVxdWVzdEZhY3RvcnktPmFwcGx5T3B0aW9ucygkcmVxdWVzdCwgJGRlZmF1bHRzLCBSZXF1ZXN0RmFjdG9yeUludGVyZmFjZTo6T1BUSU9OU19BU19ERUZBVUxUUyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJG9wdGlvbnMpIHsKICAgICAgICAgICAgJHRoaXMtPnJlcXVlc3RGYWN0b3J5LT5hcHBseU9wdGlvbnMoJHJlcXVlc3QsICRvcHRpb25zKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5kaXNwYXRjaCgnY2xpZW50LmNyZWF0ZV9yZXF1ZXN0JywgYXJyYXkoJ2NsaWVudCcgPT4gJHRoaXMsICdyZXF1ZXN0JyA9PiAkcmVxdWVzdCkpOwoKICAgICAgICByZXR1cm4gJHJlcXVlc3Q7CiAgICB9CgogICAgLyoqCiAgICAgKiBJbml0aWFsaXplcyBTU0wgc2V0dGluZ3MKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGluaXRTc2woKQogICAgewogICAgICAgIGlmICgnc3lzdGVtJyA9PSAoJGF1dGhvcml0eSA9ICR0aGlzLT5jb25maWdbc2VsZjo6U1NMX0NFUlRfQVVUSE9SSVRZXSkpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRhdXRob3JpdHkgPT09IG51bGwpIHsKICAgICAgICAgICAgJGF1dGhvcml0eSA9IHRydWU7CiAgICAgICAgfQoKICAgICAgICBpZiAoJGF1dGhvcml0eSA9PT0gdHJ1ZSAmJiBzdWJzdHIoX19GSUxFX18sIDAsIDcpID09ICdwaGFyOi8vJykgewogICAgICAgICAgICAkYXV0aG9yaXR5ID0gJHRoaXMtPnByZXBhcmVQaGFyQ2FjZXJ0KCk7CiAgICAgICAgICAgICR0aGF0ID0gJHRoaXM7CiAgICAgICAgICAgICR0aGlzLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ3JlcXVlc3QuYmVmb3JlX3NlbmQnLCBmdW5jdGlvbiAoJGV2ZW50KSB1c2UgKCRhdXRob3JpdHksICR0aGF0KSB7CiAgICAgICAgICAgICAgICBpZiAoJGF1dGhvcml0eSA9PSAkZXZlbnRbJ3JlcXVlc3QnXS0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfQ0FJTkZPKSkgewogICAgICAgICAgICAgICAgICAgICR0aGF0LT5wcmVwYXJlUGhhckNhY2VydChmYWxzZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnNldFNzbFZlcmlmaWNhdGlvbigkYXV0aG9yaXR5KTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREZWZhdWx0SGVhZGVycygpCiAgICB7CiAgICAgICAgVmVyc2lvbjo6d2FybihfX01FVEhPRF9fIC4gJyBpcyBkZXByZWNhdGVkLiBVc2UgdGhlIHJlcXVlc3Qub3B0aW9ucyBhcnJheSB0byByZXRyaWV2ZSBkZWZhdWx0IHJlcXVlc3Qgb3B0aW9ucycpOwogICAgICAgIHJldHVybiAkdGhpcy0+ZGVmYXVsdEhlYWRlcnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwcmVjYXRlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RGVmYXVsdEhlYWRlcnMoJGhlYWRlcnMpCiAgICB7CiAgICAgICAgVmVyc2lvbjo6d2FybihfX01FVEhPRF9fIC4gJyBpcyBkZXByZWNhdGVkLiBVc2UgdGhlIHJlcXVlc3Qub3B0aW9ucyBhcnJheSB0byBzcGVjaWZ5IGRlZmF1bHQgcmVxdWVzdCBvcHRpb25zJyk7CiAgICAgICAgaWYgKCRoZWFkZXJzIGluc3RhbmNlb2YgQ29sbGVjdGlvbikgewogICAgICAgICAgICAkdGhpcy0+ZGVmYXVsdEhlYWRlcnMgPSAkaGVhZGVyczsKICAgICAgICB9IGVsc2VpZiAoaXNfYXJyYXkoJGhlYWRlcnMpKSB7CiAgICAgICAgICAgICR0aGlzLT5kZWZhdWx0SGVhZGVycyA9IG5ldyBDb2xsZWN0aW9uKCRoZWFkZXJzKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdIZWFkZXJzIG11c3QgYmUgYW4gYXJyYXkgb3IgQ29sbGVjdGlvbicpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/ClientInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cDsKCnVzZSBHdXp6bGVcQ29tbW9uXEhhc0Rpc3BhdGNoZXJJbnRlcmZhY2U7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CgovKioKICogQ2xpZW50IGludGVyZmFjZSBmb3Igc2VuZCBIVFRQIHJlcXVlc3RzCiAqLwppbnRlcmZhY2UgQ2xpZW50SW50ZXJmYWNlIGV4dGVuZHMgSGFzRGlzcGF0Y2hlckludGVyZmFjZQp7CiAgICBjb25zdCBDUkVBVEVfUkVRVUVTVCA9ICdjbGllbnQuY3JlYXRlX3JlcXVlc3QnOwoKICAgIC8qKiBAdmFyIHN0cmluZyBSRkMgMTEyMyBIVFRQLURhdGUgKi8KICAgIGNvbnN0IEhUVFBfREFURSA9ICdELCBkIE0gWSBIOmk6cyBcR1xNXFQnOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCB0byB1c2Ugd2l0aCB0aGUgY2xpZW50CiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gJGNvbmZpZyBQYXJhbWV0ZXJzIHRoYXQgZGVmaW5lIGhvdyB0aGUgY2xpZW50IGJlaGF2ZXMKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldENvbmZpZygkY29uZmlnKTsKCiAgICAvKioKICAgICAqIEdldCBhIGNvbmZpZ3VyYXRpb24gc2V0dGluZyBvciBhbGwgb2YgdGhlIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MuIFRoZSBDb2xsZWN0aW9uIHJlc3VsdCBvZiB0aGlzIG1ldGhvZCBjYW4gYmUKICAgICAqIG1vZGlmaWVkIHRvIGNoYW5nZSB0aGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBvZiBhIGNsaWVudC4KICAgICAqCiAgICAgKiBBIGNsaWVudCBzaG91bGQgaG9ub3IgdGhlIGZvbGxvd2luZyBzcGVjaWFsIHZhbHVlczoKICAgICAqCiAgICAgKiAtIHJlcXVlc3Qub3B0aW9uczogQXNzb2NpYXRpdmUgYXJyYXkgb2YgZGVmYXVsdCBSZXF1ZXN0RmFjdG9yeSBvcHRpb25zIHRvIGFwcGx5IHRvIGVhY2ggcmVxdWVzdAogICAgICogLSByZXF1ZXN0LnBhcmFtczogQXNzb2NpYXRpdmUgYXJyYXkgb2YgcmVxdWVzdCBwYXJhbWV0ZXJzIChkYXRhIHZhbHVlcykgdG8gYXBwbHkgdG8gZWFjaCByZXF1ZXN0CiAgICAgKiAtIGN1cmwub3B0aW9uczogQXNzb2NpYXRpdmUgYXJyYXkgb2YgY1VSTCBjb25maWd1cmF0aW9uIHNldHRpbmdzIHRvIGFwcGx5IHRvIGVhY2ggcmVxdWVzdAogICAgICogLSBzc2wuY2VydGlmaWNhdGVfYXV0aG9yaXR5OiBQYXRoIGEgQ0FJTkZPLCBDQVBBVEgsIHRydWUgdG8gdXNlIHN0cmljdCBkZWZhdWx0cywgb3IgZmFsc2UgdG8gZGlzYWJsZSB2ZXJpZmljYXRpb24KICAgICAqIC0gcmVkaXJlY3QuZGlzYWJsZTogU2V0IHRvIHRydWUgdG8gZGlzYWJsZSByZWRpcmVjdHMKICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbHxzdHJpbmcgJGtleSBDb25maWd1cmF0aW9uIHZhbHVlIHRvIHJldHJpZXZlLiBTZXQgdG8gRkFMU0UgdG8gcmV0cmlldmUgYWxsIHZhbHVlcyBvZiB0aGUgY2xpZW50LgogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCByZXR1cm4gY2FuIGJlIG1vZGlmaWVkLCBhbmQgbW9kaWZpY2F0aW9ucyB3aWxsIGFmZmVjdCB0aGUgY2xpZW50J3MgY29uZmlnLgogICAgICogQHJldHVybiBtaXhlZHxDb2xsZWN0aW9uCiAgICAgKiBAc2VlIFxHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RGYWN0b3J5SW50ZXJmYWNlOjphcHBseU9wdGlvbnMgZm9yIGEgZnVsbCBsaXN0IG9mIHJlcXVlc3Qub3B0aW9ucyBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb25maWcoJGtleSA9IGZhbHNlKTsKCiAgICAvKioKICAgICAqIENyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IHtAc2VlIFJlcXVlc3RJbnRlcmZhY2V9IGNvbmZpZ3VyZWQgZm9yIHRoZSBjbGllbnQuCiAgICAgKgogICAgICogVXNlIGFuIGFic29sdXRlIHBhdGggdG8gb3ZlcnJpZGUgdGhlIGJhc2UgcGF0aCBvZiB0aGUgY2xpZW50LCBvciBhIHJlbGF0aXZlIHBhdGggdG8gYXBwZW5kIHRvIHRoZSBiYXNlIHBhdGggb2YKICAgICAqIHRoZSBjbGllbnQuIFRoZSBVUkkgY2FuIGNvbnRhaW4gdGhlIHF1ZXJ5IHN0cmluZyBhcyB3ZWxsLiBVc2UgYW4gYXJyYXkgdG8gcHJvdmlkZSBhIFVSSSB0ZW1wbGF0ZSBhbmQgYWRkaXRpb25hbAogICAgICogdmFyaWFibGVzIHRvIHVzZSBpbiB0aGUgVVJJIHRlbXBsYXRlIGV4cGFuc2lvbi4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1ldGhvZCAgSFRUUCBtZXRob2QuIERlZmF1bHRzIHRvIEdFVAogICAgICogQHBhcmFtIHN0cmluZ3xhcnJheSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR1cmkgICAgIFJlc291cmNlIFVSSS4KICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAkaGVhZGVycyBIVFRQIGhlYWRlcnMKICAgICAqIEBwYXJhbSBzdHJpbmd8cmVzb3VyY2V8YXJyYXl8RW50aXR5Qm9keUludGVyZmFjZSAkYm9keSAgICBFbnRpdHkgYm9keSBvZiByZXF1ZXN0IChQT1NUL1BVVCkgb3IgcmVzcG9uc2UgKEdFVCkKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb3B0aW9ucyBBcnJheSBvZiBvcHRpb25zIHRvIGFwcGx5IHRvIHRoZSByZXF1ZXN0CiAgICAgKgogICAgICogQHJldHVybiBSZXF1ZXN0SW50ZXJmYWNlCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBpZiBhIFVSSSBhcnJheSBpcyBwYXNzZWQgdGhhdCBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgdHdvIGVsZW1lbnRzOiB0aGUgVVJJCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dlZCBieSB0ZW1wbGF0ZSB2YXJpYWJsZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZVJlcXVlc3QoCiAgICAgICAgJG1ldGhvZCA9IFJlcXVlc3RJbnRlcmZhY2U6OkdFVCwKICAgICAgICAkdXJpID0gbnVsbCwKICAgICAgICAkaGVhZGVycyA9IG51bGwsCiAgICAgICAgJGJvZHkgPSBudWxsLAogICAgICAgIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKQogICAgKTsKCiAgICAvKioKICAgICAqIENyZWF0ZSBhIEdFVCByZXF1ZXN0IGZvciB0aGUgY2xpZW50CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xhcnJheSAgICAgJHVyaSAgICAgUmVzb3VyY2UgVVJJCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkaGVhZGVycyBIVFRQIGhlYWRlcnMKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICRvcHRpb25zIE9wdGlvbnMgdG8gYXBwbHkgdG8gdGhlIHJlcXVlc3QuIEZvciBCQyBjb21wYXRpYmlsaXR5LCB5b3UgY2FuIGFsc28gcGFzcyBhCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmcgdG8gdGVsbCBHdXp6bGUgdG8gZG93bmxvYWQgdGhlIGJvZHkgb2YgdGhlIHJlc3BvbnNlIHRvIGEgcGFydGljdWxhcgogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24uIFVzZSB0aGUgJ2JvZHknIG9wdGlvbiBpbnN0ZWFkIGZvciBmb3J3YXJkIGNvbXBhdGliaWxpdHkuCiAgICAgKiBAcmV0dXJuIFJlcXVlc3RJbnRlcmZhY2UKICAgICAqIEBzZWUgICAgR3V6emxlXEh0dHBcQ2xpZW50SW50ZXJmYWNlOjpjcmVhdGVSZXF1ZXN0KCkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldCgkdXJpID0gbnVsbCwgJGhlYWRlcnMgPSBudWxsLCAkb3B0aW9ucyA9IGFycmF5KCkpOwoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgSEVBRCByZXF1ZXN0IGZvciB0aGUgY2xpZW50CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xhcnJheSAgICAgJHVyaSAgICAgUmVzb3VyY2UgVVJJCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAkaGVhZGVycyBIVFRQIGhlYWRlcnMKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICRvcHRpb25zIE9wdGlvbnMgdG8gYXBwbHkgdG8gdGhlIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIFJlcXVlc3RJbnRlcmZhY2UKICAgICAqIEBzZWUgICAgR3V6emxlXEh0dHBcQ2xpZW50SW50ZXJmYWNlOjpjcmVhdGVSZXF1ZXN0KCkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGhlYWQoJHVyaSA9IG51bGwsICRoZWFkZXJzID0gbnVsbCwgYXJyYXkgJG9wdGlvbnMgPSBhcnJheSgpKTsKCiAgICAvKioKICAgICAqIENyZWF0ZSBhIERFTEVURSByZXF1ZXN0IGZvciB0aGUgY2xpZW50CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xhcnJheSAgICAgICAgICAgICAgICAgICAgICAgICR1cmkgICAgIFJlc291cmNlIFVSSQogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gICAgICAgICAgICAgICAgICAgICRoZWFkZXJzIEhUVFAgaGVhZGVycwogICAgICogQHBhcmFtIHN0cmluZ3xyZXNvdXJjZXxFbnRpdHlCb2R5SW50ZXJmYWNlICRib2R5ICAgIEJvZHkgdG8gc2VuZCBpbiB0aGUgcmVxdWVzdAogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvcHRpb25zIE9wdGlvbnMgdG8gYXBwbHkgdG8gdGhlIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2UKICAgICAqIEBzZWUgICAgR3V6emxlXEh0dHBcQ2xpZW50SW50ZXJmYWNlOjpjcmVhdGVSZXF1ZXN0KCkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZSgkdXJpID0gbnVsbCwgJGhlYWRlcnMgPSBudWxsLCAkYm9keSA9IG51bGwsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSk7CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBQVVQgcmVxdWVzdCBmb3IgdGhlIGNsaWVudAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8YXJyYXkgICAgICAgICAgICAgICAgICAgICAgICAkdXJpICAgICBSZXNvdXJjZSBVUkkKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICAgICAgICAgICAgICAgICAgICAkaGVhZGVycyBIVFRQIGhlYWRlcnMKICAgICAqIEBwYXJhbSBzdHJpbmd8cmVzb3VyY2V8RW50aXR5Qm9keUludGVyZmFjZSAkYm9keSAgICBCb2R5IHRvIHNlbmQgaW4gdGhlIHJlcXVlc3QKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb3B0aW9ucyBPcHRpb25zIHRvIGFwcGx5IHRvIHRoZSByZXF1ZXN0CiAgICAgKgogICAgICogQHJldHVybiBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0SW50ZXJmYWNlCiAgICAgKiBAc2VlICAgIEd1enpsZVxIdHRwXENsaWVudEludGVyZmFjZTo6Y3JlYXRlUmVxdWVzdCgpCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwdXQoJHVyaSA9IG51bGwsICRoZWFkZXJzID0gbnVsbCwgJGJvZHkgPSBudWxsLCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCkpOwoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgUEFUQ0ggcmVxdWVzdCBmb3IgdGhlIGNsaWVudAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8YXJyYXkgICAgICAgICAgICAgICAgICAgICAgICAkdXJpICAgICBSZXNvdXJjZSBVUkkKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICAgICAgICAgICAgICAgICAgICAkaGVhZGVycyBIVFRQIGhlYWRlcnMKICAgICAqIEBwYXJhbSBzdHJpbmd8cmVzb3VyY2V8RW50aXR5Qm9keUludGVyZmFjZSAkYm9keSAgICBCb2R5IHRvIHNlbmQgaW4gdGhlIHJlcXVlc3QKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb3B0aW9ucyBPcHRpb25zIHRvIGFwcGx5IHRvIHRoZSByZXF1ZXN0CiAgICAgKgogICAgICogQHJldHVybiBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0SW50ZXJmYWNlCiAgICAgKiBAc2VlICAgIEd1enpsZVxIdHRwXENsaWVudEludGVyZmFjZTo6Y3JlYXRlUmVxdWVzdCgpCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwYXRjaCgkdXJpID0gbnVsbCwgJGhlYWRlcnMgPSBudWxsLCAkYm9keSA9IG51bGwsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSk7CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBQT1NUIHJlcXVlc3QgZm9yIHRoZSBjbGllbnQKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfGFycmF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdXJpICAgICAgUmVzb3VyY2UgVVJJCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaGVhZGVycyAgSFRUUCBoZWFkZXJzCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbnxzdHJpbmd8RW50aXR5Qm9keUludGVyZmFjZSAkcG9zdEJvZHkgUE9TVCBib2R5LiBDYW4gYmUgYSBzdHJpbmcsIEVudGl0eUJvZHksIG9yCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NvY2lhdGl2ZSBhcnJheSBvZiBQT1NUIGZpZWxkcyB0byBzZW5kIGluIHRoZSBib2R5IG9mIHRoZQogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC4gUHJlZml4IGEgdmFsdWUgaW4gdGhlIGFycmF5IHdpdGggdGhlIEAgc3ltYm9sIHRvCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2UgYSBmaWxlLgogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9wdGlvbnMgT3B0aW9ucyB0byBhcHBseSB0byB0aGUgcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gRW50aXR5RW5jbG9zaW5nUmVxdWVzdEludGVyZmFjZQogICAgICogQHNlZSAgICBHdXp6bGVcSHR0cFxDbGllbnRJbnRlcmZhY2U6OmNyZWF0ZVJlcXVlc3QoKQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcG9zdCgkdXJpID0gbnVsbCwgJGhlYWRlcnMgPSBudWxsLCAkcG9zdEJvZHkgPSBudWxsLCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCkpOwoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIE9QVElPTlMgcmVxdWVzdCBmb3IgdGhlIGNsaWVudAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8YXJyYXkgJHVyaSAgICAgUmVzb3VyY2UgVVJJCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICRvcHRpb25zIE9wdGlvbnMgdG8gYXBwbHkgdG8gdGhlIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIFJlcXVlc3RJbnRlcmZhY2UKICAgICAqIEBzZWUgICAgR3V6emxlXEh0dHBcQ2xpZW50SW50ZXJmYWNlOjpjcmVhdGVSZXF1ZXN0KCkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9wdGlvbnMoJHVyaSA9IG51bGwsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSk7CgogICAgLyoqCiAgICAgKiBTZW5kcyBhIHNpbmdsZSByZXF1ZXN0IG9yIGFuIGFycmF5IG9mIHJlcXVlc3RzIGluIHBhcmFsbGVsCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3RzIE9uZSBvciBtb3JlIFJlcXVlc3RJbnRlcmZhY2Ugb2JqZWN0cyB0byBzZW5kCiAgICAgKgogICAgICogQHJldHVybiBcR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZXxhcnJheSBSZXR1cm5zIGEgc2luZ2xlIFJlc3BvbnNlIG9yIGFuIGFycmF5IG9mIFJlc3BvbnNlIG9iamVjdHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNlbmQoJHJlcXVlc3RzKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgY2xpZW50J3MgYmFzZSBVUkwgYXMgZWl0aGVyIGFuIGV4cGFuZGVkIG9yIHJhdyBVUkkgdGVtcGxhdGUKICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbCAkZXhwYW5kIFNldCB0byBGQUxTRSB0byBnZXQgdGhlIHJhdyBiYXNlIFVSTCB3aXRob3V0IFVSSSB0ZW1wbGF0ZSBleHBhbnNpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRCYXNlVXJsKCRleHBhbmQgPSB0cnVlKTsKCiAgICAvKioKICAgICAqIFNldCB0aGUgYmFzZSBVUkwgb2YgdGhlIGNsaWVudAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVybCBUaGUgYmFzZSBzZXJ2aWNlIGVuZHBvaW50IFVSTCBvZiB0aGUgd2Vic2VydmljZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0QmFzZVVybCgkdXJsKTsKCiAgICAvKioKICAgICAqIFNldCB0aGUgVXNlci1BZ2VudCBoZWFkZXIgdG8gYmUgdXNlZCBvbiBhbGwgcmVxdWVzdHMgZnJvbSB0aGUgY2xpZW50CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXNlckFnZW50ICAgICAgVXNlciBhZ2VudCBzdHJpbmcKICAgICAqIEBwYXJhbSBib29sICAgJGluY2x1ZGVEZWZhdWx0IFNldCB0byB0cnVlIHRvIHByZXBlbmQgdGhlIHZhbHVlIHRvIEd1enpsZSdzIGRlZmF1bHQgdXNlciBhZ2VudCBzdHJpbmcKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFVzZXJBZ2VudCgkdXNlckFnZW50LCAkaW5jbHVkZURlZmF1bHQgPSBmYWxzZSk7CgogICAgLyoqCiAgICAgKiBTZXQgU1NMIHZlcmlmaWNhdGlvbiBvcHRpb25zLgogICAgICoKICAgICAqIFNldHRpbmcgJGNlcnRpZmljYXRlQXV0aG9yaXR5IHRvIFRSVUUgd2lsbCByZXN1bHQgaW4gdGhlIGJ1bmRsZWQgY2FjZXJ0LnBlbSBiZWluZyB1c2VkIHRvIHZlcmlmeSBhZ2FpbnN0IHRoZQogICAgICogcmVtb3RlIGhvc3QuCiAgICAgKgogICAgICogQWx0ZXJuYXRlIGNlcnRpZmljYXRlcyB0byB2ZXJpZnkgYWdhaW5zdCBjYW4gYmUgc3BlY2lmaWVkIHdpdGggdGhlICRjZXJ0aWZpY2F0ZUF1dGhvcml0eSBvcHRpb24gc2V0IHRvIHRoZSBmdWxsCiAgICAgKiBwYXRoIHRvIGEgY2VydGlmaWNhdGUgZmlsZSwgb3IgdGhlIHBhdGggdG8gYSBkaXJlY3RvcnkgY29udGFpbmluZyBjZXJ0aWZpY2F0ZXMuCiAgICAgKgogICAgICogU2V0dGluZyAkY2VydGlmaWNhdGVBdXRob3JpdHkgdG8gRkFMU0Ugd2lsbCB0dXJuIG9mZiBwZWVyIHZlcmlmaWNhdGlvbiwgdW5zZXQgdGhlIGJ1bmRsZWQgY2FjZXJ0LnBlbSwgYW5kCiAgICAgKiBkaXNhYmxlIGhvc3QgdmVyaWZpY2F0aW9uLiBQbGVhc2UgZG9uJ3QgZG8gdGhpcyB1bmxlc3MgeW91IHJlYWxseSBrbm93IHdoYXQgeW91J3JlIGRvaW5nLCBhbmQgd2h5IHlvdSdyZSBkb2luZwogICAgICogaXQuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xib29sICRjZXJ0aWZpY2F0ZUF1dGhvcml0eSBib29sLCBmaWxlIHBhdGgsIG9yIGRpcmVjdG9yeSBwYXRoCiAgICAgKiBAcGFyYW0gYm9vbCAgICAgICAgJHZlcmlmeVBlZXIgICAgICAgICAgIEZBTFNFIHRvIHN0b3AgZnJvbSB2ZXJpZnlpbmcgdGhlIHBlZXIncyBjZXJ0aWZpY2F0ZS4KICAgICAqIEBwYXJhbSBpbnQgICAgICAgICAkdmVyaWZ5SG9zdCAgICAgICAgICAgU2V0IHRvIDEgdG8gY2hlY2sgdGhlIGV4aXN0ZW5jZSBvZiBhIGNvbW1vbiBuYW1lIGluIHRoZSBTU0wgcGVlcgogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0aWZpY2F0ZS4gMiB0byBjaGVjayB0aGUgZXhpc3RlbmNlIG9mIGEgY29tbW9uIG5hbWUgYW5kIGFsc28gdmVyaWZ5CiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgaXQgbWF0Y2hlcyB0aGUgaG9zdG5hbWUgcHJvdmlkZWQuCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFNzbFZlcmlmaWNhdGlvbigkY2VydGlmaWNhdGVBdXRob3JpdHkgPSB0cnVlLCAkdmVyaWZ5UGVlciA9IHRydWUsICR2ZXJpZnlIb3N0ID0gMik7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL2h0dHAiLAogICAgImRlc2NyaXB0aW9uIjogIkhUVFAgbGlicmFyaWVzIHVzZWQgYnkgR3V6emxlIiwKICAgICJob21lcGFnZSI6ICJodHRwOi8vZ3V6emxlcGhwLm9yZy8iLAogICAgImtleXdvcmRzIjogWyJodHRwIGNsaWVudCIsICJodHRwIiwgImNsaWVudCIsICJHdXp6bGUiLCAiY3VybCJdLAogICAgImxpY2Vuc2UiOiAiTUlUIiwKICAgICJhdXRob3JzIjogWwogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAiTWljaGFlbCBEb3dsaW5nIiwKICAgICAgICAgICAgImVtYWlsIjogIm10ZG93bGluZ0BnbWFpbC5jb20iLAogICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly9naXRodWIuY29tL210ZG93bGluZyIKICAgICAgICB9CiAgICBdLAogICAgInJlcXVpcmUiOiB7CiAgICAgICAgInBocCI6ICI+PTUuMy4yIiwKICAgICAgICAiZ3V6emxlL2NvbW1vbiI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvcGFyc2VyIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgImd1enpsZS9zdHJlYW0iOiAic2VsZi52ZXJzaW9uIgogICAgfSwKICAgICJzdWdnZXN0IjogewogICAgICAgICJleHQtY3VybCI6ICIqIgogICAgfSwKICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAicHNyLTAiOiB7ICJHdXp6bGVcXEh0dHAiOiAiIiB9CiAgICB9LAogICAgInRhcmdldC1kaXIiOiAiR3V6emxlL0h0dHAiLAogICAgImV4dHJhIjogewogICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjMuNy1kZXYiCiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Curl/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Curl/CurlHandle.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxDdXJsOwoKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb247CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3Q7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcUGFyc2VyXFBhcnNlclJlZ2lzdHJ5Owp1c2UgR3V6emxlXEh0dHBcVXJsOwoKLyoqCiAqIEltbXV0YWJsZSB3cmFwcGVyIGZvciBhIGNVUkwgaGFuZGxlCiAqLwpjbGFzcyBDdXJsSGFuZGxlCnsKICAgIGNvbnN0IEJPRFlfQVNfU1RSSU5HID0gJ2JvZHlfYXNfc3RyaW5nJzsKICAgIGNvbnN0IFBST0dSRVNTID0gJ3Byb2dyZXNzJzsKICAgIGNvbnN0IERFQlVHID0gJ2RlYnVnJzsKCiAgICAvKiogQHZhciBDb2xsZWN0aW9uIEN1cmwgb3B0aW9ucyAqLwogICAgcHJvdGVjdGVkICRvcHRpb25zOwoKICAgIC8qKiBAdmFyIHJlc291cmNlIEN1cmwgcmVzb3VyY2UgaGFuZGxlICovCiAgICBwcm90ZWN0ZWQgJGhhbmRsZTsKCiAgICAvKiogQHZhciBpbnQgQ1VSTEVfKiBlcnJvciAqLwogICAgcHJvdGVjdGVkICRlcnJvck5vID0gQ1VSTEVfT0s7CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgY3VybCBoYW5kbGUgYmFzZWQgb24gYW4gSFRUUCByZXF1ZXN0LgogICAgICoKICAgICAqIFRoZXJlIGFyZSBzb21lIGhlbHBmdWwgb3B0aW9ucyB5b3UgY2FuIHNldCB0byBlbmFibGUgc3BlY2lmaWMgYmVoYXZpb3I6CiAgICAgKiAtIGRlYnVnOiAgICBTZXQgdG8gdHJ1ZSB0byBlbmFibGUgY1VSTCBkZWJ1ZyBmdW5jdGlvbmFsaXR5IHRvIHRyYWNrIHRoZSBhY3R1YWwgaGVhZGVycyBzZW50IG92ZXIgdGhlIHdpcmUuCiAgICAgKiAtIHByb2dyZXNzOiBTZXQgdG8gdHJ1ZSB0byBlbmFibGUgcHJvZ3Jlc3MgZnVuY3Rpb24gY2FsbGJhY2tzLgogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0IFJlcXVlc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIEN1cmxIYW5kbGUKICAgICAqIEB0aHJvd3MgUnVudGltZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCkKICAgIHsKICAgICAgICAkcmVxdWVzdEN1cmxPcHRpb25zID0gJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCk7CiAgICAgICAgJG1lZGlhdG9yID0gbmV3IFJlcXVlc3RNZWRpYXRvcigkcmVxdWVzdCwgJHJlcXVlc3RDdXJsT3B0aW9ucy0+Z2V0KCdlbWl0X2lvJykpOwogICAgICAgICR0ZW1wQ29udGVudExlbmd0aCA9IG51bGw7CiAgICAgICAgJG1ldGhvZCA9ICRyZXF1ZXN0LT5nZXRNZXRob2QoKTsKICAgICAgICAkYm9keUFzU3RyaW5nID0gJHJlcXVlc3RDdXJsT3B0aW9ucy0+Z2V0KHNlbGY6OkJPRFlfQVNfU1RSSU5HKTsKCiAgICAgICAgLy8gUHJlcGFyZSB1cmwKICAgICAgICAkdXJsID0gKHN0cmluZykkcmVxdWVzdC0+Z2V0VXJsKCk7CiAgICAgICAgaWYoKCRwb3MgPSBzdHJwb3MoJHVybCwgJyMnKSkgIT09IGZhbHNlICl7CiAgICAgICAgICAgIC8vIHN0cmlwIGZyYWdtZW50IGZyb20gdXJsCiAgICAgICAgICAgICR1cmwgPSBzdWJzdHIoJHVybCwgMCwgJHBvcyk7CiAgICAgICAgfQoKICAgICAgICAvLyBBcnJheSBvZiBkZWZhdWx0IGNVUkwgb3B0aW9ucy4KICAgICAgICAkY3VybE9wdGlvbnMgPSBhcnJheSgKICAgICAgICAgICAgQ1VSTE9QVF9VUkwgICAgICAgICAgICA9PiAkdXJsLAogICAgICAgICAgICBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VUID0+IDE1MCwKICAgICAgICAgICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiBmYWxzZSwKICAgICAgICAgICAgQ1VSTE9QVF9IRUFERVIgICAgICAgICA9PiBmYWxzZSwKICAgICAgICAgICAgQ1VSTE9QVF9QT1JUICAgICAgICAgICA9PiAkcmVxdWVzdC0+Z2V0UG9ydCgpLAogICAgICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgICAgID0+IGFycmF5KCksCiAgICAgICAgICAgIENVUkxPUFRfV1JJVEVGVU5DVElPTiAgPT4gYXJyYXkoJG1lZGlhdG9yLCAnd3JpdGVSZXNwb25zZUJvZHknKSwKICAgICAgICAgICAgQ1VSTE9QVF9IRUFERVJGVU5DVElPTiA9PiBhcnJheSgkbWVkaWF0b3IsICdyZWNlaXZlUmVzcG9uc2VIZWFkZXInKSwKICAgICAgICAgICAgQ1VSTE9QVF9IVFRQX1ZFUlNJT04gICA9PiAkcmVxdWVzdC0+Z2V0UHJvdG9jb2xWZXJzaW9uKCkgPT09ICcxLjAnCiAgICAgICAgICAgICAgICA/IENVUkxfSFRUUF9WRVJTSU9OXzFfMCA6IENVUkxfSFRUUF9WRVJTSU9OXzFfMSwKICAgICAgICAgICAgLy8gVmVyaWZpZXMgdGhlIGF1dGhlbnRpY2l0eSBvZiB0aGUgcGVlcidzIGNlcnRpZmljYXRlCiAgICAgICAgICAgIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIgPT4gMSwKICAgICAgICAgICAgLy8gQ2VydGlmaWNhdGUgbXVzdCBpbmRpY2F0ZSB0aGF0IHRoZSBzZXJ2ZXIgaXMgdGhlIHNlcnZlciB0byB3aGljaCB5b3UgbWVhbnQgdG8gY29ubmVjdAogICAgICAgICAgICBDVVJMT1BUX1NTTF9WRVJJRllIT1NUID0+IDIKICAgICAgICApOwoKICAgICAgICBpZiAoZGVmaW5lZCgnQ1VSTE9QVF9QUk9UT0NPTFMnKSkgewogICAgICAgICAgICAvLyBBbGxvdyBvbmx5IEhUVFAgYW5kIEhUVFBTIHByb3RvY29scwogICAgICAgICAgICAkY3VybE9wdGlvbnNbQ1VSTE9QVF9QUk9UT0NPTFNdID0gQ1VSTFBST1RPX0hUVFAgfCBDVVJMUFJPVE9fSFRUUFM7CiAgICAgICAgfQoKICAgICAgICAvLyBBZGQgQ1VSTE9QVF9FTkNPRElORyBpZiBBY2NlcHQtRW5jb2RpbmcgaGVhZGVyIGlzIHByb3ZpZGVkCiAgICAgICAgaWYgKCRhY2NlcHRFbmNvZGluZ0hlYWRlciA9ICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0FjY2VwdC1FbmNvZGluZycpKSB7CiAgICAgICAgICAgICRjdXJsT3B0aW9uc1tDVVJMT1BUX0VOQ09ESU5HXSA9IChzdHJpbmcpICRhY2NlcHRFbmNvZGluZ0hlYWRlcjsKICAgICAgICAgICAgLy8gTGV0IGNVUkwgc2V0IHRoZSBBY2NlcHQtRW5jb2RpbmcgaGVhZGVyLCBwcmV2ZW50cyBkdXBsaWNhdGUgdmFsdWVzCiAgICAgICAgICAgICRyZXF1ZXN0LT5yZW1vdmVIZWFkZXIoJ0FjY2VwdC1FbmNvZGluZycpOwogICAgICAgIH0KCiAgICAgICAgLy8gRW5hYmxlIGN1cmwgZGVidWcgaW5mb3JtYXRpb24gaWYgdGhlICdkZWJ1ZycgcGFyYW0gd2FzIHNldAogICAgICAgIGlmICgkcmVxdWVzdEN1cmxPcHRpb25zLT5nZXQoJ2RlYnVnJykpIHsKICAgICAgICAgICAgJGN1cmxPcHRpb25zW0NVUkxPUFRfU1RERVJSXSA9IGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3IrJyk7CiAgICAgICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVTdGFydAogICAgICAgICAgICBpZiAoZmFsc2UgPT09ICRjdXJsT3B0aW9uc1tDVVJMT1BUX1NUREVSUl0pIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKCdVbmFibGUgdG8gY3JlYXRlIGEgc3RyZWFtIGZvciBDVVJMT1BUX1NUREVSUicpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVFbmQKICAgICAgICAgICAgJGN1cmxPcHRpb25zW0NVUkxPUFRfVkVSQk9TRV0gPSB0cnVlOwogICAgICAgIH0KCiAgICAgICAgLy8gU3BlY2lmeSBzZXR0aW5ncyBhY2NvcmRpbmcgdG8gdGhlIEhUVFAgbWV0aG9kCiAgICAgICAgaWYgKCRtZXRob2QgPT0gJ0dFVCcpIHsKICAgICAgICAgICAgJGN1cmxPcHRpb25zW0NVUkxPUFRfSFRUUEdFVF0gPSB0cnVlOwogICAgICAgIH0gZWxzZWlmICgkbWV0aG9kID09ICdIRUFEJykgewogICAgICAgICAgICAkY3VybE9wdGlvbnNbQ1VSTE9QVF9OT0JPRFldID0gdHJ1ZTsKICAgICAgICAgICAgLy8gSEVBRCByZXF1ZXN0cyBkbyBub3QgdXNlIGEgd3JpdGUgZnVuY3Rpb24KICAgICAgICAgICAgdW5zZXQoJGN1cmxPcHRpb25zW0NVUkxPUFRfV1JJVEVGVU5DVElPTl0pOwogICAgICAgIH0gZWxzZWlmICghKCRyZXF1ZXN0IGluc3RhbmNlb2YgRW50aXR5RW5jbG9zaW5nUmVxdWVzdCkpIHsKICAgICAgICAgICAgJGN1cmxPcHRpb25zW0NVUkxPUFRfQ1VTVE9NUkVRVUVTVF0gPSAkbWV0aG9kOwogICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAkY3VybE9wdGlvbnNbQ1VSTE9QVF9DVVNUT01SRVFVRVNUXSA9ICRtZXRob2Q7CgogICAgICAgICAgICAvLyBIYW5kbGUgc2VuZGluZyByYXcgYm9kaWVzIGluIGEgcmVxdWVzdAogICAgICAgICAgICBpZiAoJHJlcXVlc3QtPmdldEJvZHkoKSkgewogICAgICAgICAgICAgICAgLy8gWW91IGNhbiBzZW5kIHRoZSBib2R5IGFzIGEgc3RyaW5nIHVzaW5nIGN1cmwncyBDVVJMT1BUX1BPU1RGSUVMRFMKICAgICAgICAgICAgICAgIGlmICgkYm9keUFzU3RyaW5nKSB7CiAgICAgICAgICAgICAgICAgICAgJGN1cmxPcHRpb25zW0NVUkxPUFRfUE9TVEZJRUxEU10gPSAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0Qm9keSgpOwogICAgICAgICAgICAgICAgICAgIC8vIEFsbG93IGN1cmwgdG8gYWRkIHRoZSBDb250ZW50LUxlbmd0aCBmb3IgdXMgdG8gYWNjb3VudCBmb3IgdGhlIHRpbWVzIHdoZW4KICAgICAgICAgICAgICAgICAgICAvLyBQT1NUIHJlZGlyZWN0cyBhcmUgZm9sbG93ZWQgYnkgR0VUIHJlcXVlc3RzCiAgICAgICAgICAgICAgICAgICAgaWYgKCR0ZW1wQ29udGVudExlbmd0aCA9ICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHRlbXBDb250ZW50TGVuZ3RoID0gKGludCkgKHN0cmluZykgJHRlbXBDb250ZW50TGVuZ3RoOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmUgdGhlIGN1cmwgZ2VuZXJhdGVkIENvbnRlbnQtVHlwZSBoZWFkZXIgaWYgbm9uZSB3YXMgc2V0IG1hbnVhbGx5CiAgICAgICAgICAgICAgICAgICAgaWYgKCEkcmVxdWVzdC0+aGFzSGVhZGVyKCdDb250ZW50LVR5cGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkY3VybE9wdGlvbnNbQ1VSTE9QVF9IVFRQSEVBREVSXVtdID0gJ0NvbnRlbnQtVHlwZTonOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJGN1cmxPcHRpb25zW0NVUkxPUFRfVVBMT0FEXSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgLy8gTGV0IGNVUkwgaGFuZGxlIHNldHRpbmcgdGhlIENvbnRlbnQtTGVuZ3RoIGhlYWRlcgogICAgICAgICAgICAgICAgICAgIGlmICgkdGVtcENvbnRlbnRMZW5ndGggPSAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdDb250ZW50LUxlbmd0aCcpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICR0ZW1wQ29udGVudExlbmd0aCA9IChpbnQpIChzdHJpbmcpICR0ZW1wQ29udGVudExlbmd0aDsKICAgICAgICAgICAgICAgICAgICAgICAgJGN1cmxPcHRpb25zW0NVUkxPUFRfSU5GSUxFU0laRV0gPSAkdGVtcENvbnRlbnRMZW5ndGg7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIC8vIEFkZCBhIGNhbGxiYWNrIGZvciBjdXJsIHRvIHJlYWQgZGF0YSB0byBzZW5kIHdpdGggdGhlIHJlcXVlc3Qgb25seSBpZiBhIGJvZHkgd2FzIHNwZWNpZmllZAogICAgICAgICAgICAgICAgICAgICRjdXJsT3B0aW9uc1tDVVJMT1BUX1JFQURGVU5DVElPTl0gPSBhcnJheSgkbWVkaWF0b3IsICdyZWFkUmVxdWVzdEJvZHknKTsKICAgICAgICAgICAgICAgICAgICAvLyBBdHRlbXB0IHRvIHNlZWsgdG8gdGhlIHN0YXJ0IG9mIHRoZSBzdHJlYW0KICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdC0+Z2V0Qm9keSgpLT5zZWVrKDApOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICAvLyBTcGVjaWFsIGhhbmRsaW5nIGZvciBQT1NUIHNwZWNpZmljIGZpZWxkcyBhbmQgZmlsZXMKICAgICAgICAgICAgICAgICRwb3N0RmllbGRzID0gZmFsc2U7CiAgICAgICAgICAgICAgICBpZiAoY291bnQoJHJlcXVlc3QtPmdldFBvc3RGaWxlcygpKSkgewogICAgICAgICAgICAgICAgICAgICRwb3N0RmllbGRzID0gJHJlcXVlc3QtPmdldFBvc3RGaWVsZHMoKS0+dXNlVXJsRW5jb2RpbmcoZmFsc2UpLT51cmxFbmNvZGUoKTsKICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkcmVxdWVzdC0+Z2V0UG9zdEZpbGVzKCkgYXMgJGtleSA9PiAkZGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICAkcHJlZml4S2V5cyA9IGNvdW50KCRkYXRhKSA+IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRkYXRhIGFzICRpbmRleCA9PiAkZmlsZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQWxsb3cgbXVsdGlwbGUgZmlsZXMgaW4gdGhlIHNhbWUga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZmllbGRLZXkgPSAkcHJlZml4S2V5cyA/ICJ7JGtleX1beyRpbmRleH1dIiA6ICRrZXk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9zdEZpZWxkc1skZmllbGRLZXldID0gJGZpbGUtPmdldEN1cmxWYWx1ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlaWYgKGNvdW50KCRyZXF1ZXN0LT5nZXRQb3N0RmllbGRzKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgJHBvc3RGaWVsZHMgPSAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0UG9zdEZpZWxkcygpLT51c2VVcmxFbmNvZGluZyh0cnVlKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoJHBvc3RGaWVsZHMgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRtZXRob2QgPT0gJ1BPU1QnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0KCRjdXJsT3B0aW9uc1tDVVJMT1BUX0NVU1RPTVJFUVVFU1RdKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGN1cmxPcHRpb25zW0NVUkxPUFRfUE9TVF0gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkY3VybE9wdGlvbnNbQ1VSTE9QVF9QT1NURklFTERTXSA9ICRwb3N0RmllbGRzOwogICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0LT5yZW1vdmVIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIElmIHRoZSBFeHBlY3QgaGVhZGVyIGlzIG5vdCBwcmVzZW50LCBwcmV2ZW50IGN1cmwgZnJvbSBhZGRpbmcgaXQKICAgICAgICAgICAgaWYgKCEkcmVxdWVzdC0+aGFzSGVhZGVyKCdFeHBlY3QnKSkgewogICAgICAgICAgICAgICAgJGN1cmxPcHRpb25zW0NVUkxPUFRfSFRUUEhFQURFUl1bXSA9ICdFeHBlY3Q6JzsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gSWYgYSBDb250ZW50LUxlbmd0aCBoZWFkZXIgd2FzIHNwZWNpZmllZCBidXQgd2Ugd2FudCB0byBhbGxvdyBjdXJsIHRvIHNldCBvbmUgZm9yIHVzCiAgICAgICAgaWYgKG51bGwgIT09ICR0ZW1wQ29udGVudExlbmd0aCkgewogICAgICAgICAgICAkcmVxdWVzdC0+cmVtb3ZlSGVhZGVyKCdDb250ZW50LUxlbmd0aCcpOwogICAgICAgIH0KCiAgICAgICAgLy8gU2V0IGN1c3RvbSBjVVJMIG9wdGlvbnMKICAgICAgICBmb3JlYWNoICgkcmVxdWVzdEN1cmxPcHRpb25zLT50b0FycmF5KCkgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgaWYgKGlzX251bWVyaWMoJGtleSkpIHsKICAgICAgICAgICAgICAgICRjdXJsT3B0aW9uc1ska2V5XSA9ICR2YWx1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gRG8gbm90IHNldCBhbiBBY2NlcHQgaGVhZGVyIGJ5IGRlZmF1bHQKICAgICAgICBpZiAoIWlzc2V0KCRjdXJsT3B0aW9uc1tDVVJMT1BUX0VOQ09ESU5HXSkpIHsKICAgICAgICAgICAgJGN1cmxPcHRpb25zW0NVUkxPUFRfSFRUUEhFQURFUl1bXSA9ICdBY2NlcHQ6JzsKICAgICAgICB9CgogICAgICAgIC8vIEFkZCBhbnkgY3VzdG9tIGhlYWRlcnMgdG8gdGhlIHJlcXVlc3QuIEVtcHR5IGhlYWRlcnMgd2lsbCBjYXVzZSBjdXJsIHRvIG5vdCBzZW5kIHRoZSBoZWFkZXIgYXQgYWxsLgogICAgICAgIGZvcmVhY2ggKCRyZXF1ZXN0LT5nZXRIZWFkZXJMaW5lcygpIGFzICRsaW5lKSB7CiAgICAgICAgICAgICRjdXJsT3B0aW9uc1tDVVJMT1BUX0hUVFBIRUFERVJdW10gPSAkbGluZTsKICAgICAgICB9CgogICAgICAgIC8vIEFkZCB0aGUgY29udGVudC1sZW5ndGggaGVhZGVyIGJhY2sgaWYgaXQgd2FzIHRlbXBvcmFyaWx5IHJlbW92ZWQKICAgICAgICBpZiAoJHRlbXBDb250ZW50TGVuZ3RoKSB7CiAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJywgJHRlbXBDb250ZW50TGVuZ3RoKTsKICAgICAgICB9CgogICAgICAgIC8vIEFwcGx5IHRoZSBvcHRpb25zIHRvIGEgbmV3IGNVUkwgaGFuZGxlLgogICAgICAgICRoYW5kbGUgPSBjdXJsX2luaXQoKTsKCiAgICAgICAgLy8gRW5hYmxlIHRoZSBwcm9ncmVzcyBmdW5jdGlvbiBpZiB0aGUgJ3Byb2dyZXNzJyBwYXJhbSB3YXMgc2V0CiAgICAgICAgaWYgKCRyZXF1ZXN0Q3VybE9wdGlvbnMtPmdldCgncHJvZ3Jlc3MnKSkgewogICAgICAgICAgICAvLyBXcmFwIHRoZSBmdW5jdGlvbiBpbiBhIGZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgdGhlIGN1cmwgaGFuZGxlIHRvIHRoZSBtZWRpYXRvcidzIHByb2dyZXNzIGZ1bmN0aW9uCiAgICAgICAgICAgIC8vIFVzaW5nIHRoaXMgcmF0aGVyIHRoYW4gaW5qZWN0aW5nIHRoZSBoYW5kbGUgaW50byB0aGUgbWVkaWF0b3IgcHJldmVudHMgYSBjaXJjdWxhciByZWZlcmVuY2UKICAgICAgICAgICAgJGN1cmxPcHRpb25zW0NVUkxPUFRfUFJPR1JFU1NGVU5DVElPTl0gPSBmdW5jdGlvbiAoKSB1c2UgKCRtZWRpYXRvciwgJGhhbmRsZSkgewogICAgICAgICAgICAgICAgJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CiAgICAgICAgICAgICAgICAkYXJnc1tdID0gJGhhbmRsZTsKCiAgICAgICAgICAgICAgICAvLyBQSFAgNS41IHB1c2hlZCB0aGUgaGFuZGxlIG9udG8gdGhlIHN0YXJ0IG9mIHRoZSBhcmdzCiAgICAgICAgICAgICAgICBpZiAoaXNfcmVzb3VyY2UoJGFyZ3NbMF0pKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyYXlfc2hpZnQoJGFyZ3MpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGNhbGxfdXNlcl9mdW5jX2FycmF5KGFycmF5KCRtZWRpYXRvciwgJ3Byb2dyZXNzJyksICRhcmdzKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgJGN1cmxPcHRpb25zW0NVUkxPUFRfTk9QUk9HUkVTU10gPSBmYWxzZTsKICAgICAgICB9CgogICAgICAgIGN1cmxfc2V0b3B0X2FycmF5KCRoYW5kbGUsICRjdXJsT3B0aW9ucyk7CgogICAgICAgIHJldHVybiBuZXcgc3RhdGljKCRoYW5kbGUsICRjdXJsT3B0aW9ucyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3QgYSBuZXcgQ3VybEhhbmRsZSBvYmplY3QgdGhhdCB3cmFwcyBhIGNVUkwgaGFuZGxlCiAgICAgKgogICAgICogQHBhcmFtIHJlc291cmNlICAgICAgICAgJGhhbmRsZSAgQ29uZmlndXJlZCBjVVJMIGhhbmRsZSByZXNvdXJjZQogICAgICogQHBhcmFtIENvbGxlY3Rpb258YXJyYXkgJG9wdGlvbnMgQ3VybCBvcHRpb25zIHRvIHVzZSB3aXRoIHRoZSBoYW5kbGUKICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGhhbmRsZSwgJG9wdGlvbnMpCiAgICB7CiAgICAgICAgaWYgKCFpc19yZXNvdXJjZSgkaGFuZGxlKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdJbnZhbGlkIGhhbmRsZSBwcm92aWRlZCcpOwogICAgICAgIH0KICAgICAgICBpZiAoaXNfYXJyYXkoJG9wdGlvbnMpKSB7CiAgICAgICAgICAgICR0aGlzLT5vcHRpb25zID0gbmV3IENvbGxlY3Rpb24oJG9wdGlvbnMpOwogICAgICAgIH0gZWxzZWlmICgkb3B0aW9ucyBpbnN0YW5jZW9mIENvbGxlY3Rpb24pIHsKICAgICAgICAgICAgJHRoaXMtPm9wdGlvbnMgPSAkb3B0aW9uczsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdFeHBlY3RlZCBhcnJheSBvciBDb2xsZWN0aW9uJyk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5oYW5kbGUgPSAkaGFuZGxlOwogICAgfQoKICAgIC8qKgogICAgICogRGVzdHJ1Y3RvcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19kZXN0cnVjdCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsb3NlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDbG9zZSB0aGUgY3VybCBoYW5kbGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNsb3NlKCkKICAgIHsKICAgICAgICBpZiAoaXNfcmVzb3VyY2UoJHRoaXMtPmhhbmRsZSkpIHsKICAgICAgICAgICAgY3VybF9jbG9zZSgkdGhpcy0+aGFuZGxlKTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmhhbmRsZSA9IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiB0aGUgaGFuZGxlIGlzIGF2YWlsYWJsZSBhbmQgc3RpbGwgT0sKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzQXZhaWxhYmxlKCkKICAgIHsKICAgICAgICByZXR1cm4gaXNfcmVzb3VyY2UoJHRoaXMtPmhhbmRsZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGxhc3QgZXJyb3IgdGhhdCBvY2N1cnJlZCBvbiB0aGUgY1VSTCBoYW5kbGUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXJyb3IoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+aXNBdmFpbGFibGUoKSA/IGN1cmxfZXJyb3IoJHRoaXMtPmhhbmRsZSkgOiAnJzsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbGFzdCBlcnJvciBudW1iZXIgdGhhdCBvY2N1cnJlZCBvbiB0aGUgY1VSTCBoYW5kbGUKICAgICAqCiAgICAgKiBAcmV0dXJuIGludAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXJyb3JObygpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5lcnJvck5vKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+ZXJyb3JObzsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+aXNBdmFpbGFibGUoKSA/IGN1cmxfZXJybm8oJHRoaXMtPmhhbmRsZSkgOiBDVVJMRV9PSzsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgY3VybCBlcnJvciBudW1iZXIKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRlcnJvciBFcnJvciBudW1iZXIgdG8gc2V0CiAgICAgKgogICAgICogQHJldHVybiBDdXJsSGFuZGxlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRFcnJvck5vKCRlcnJvcikKICAgIHsKICAgICAgICAkdGhpcy0+ZXJyb3JObyA9ICRlcnJvcjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGNVUkwgY3VybF9nZXRpbmZvIGRhdGEKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRvcHRpb24gT3B0aW9uIHRvIHJldHJpZXZlLiBQYXNzIG51bGwgdG8gcmV0cmlldmUgYWxsIGRhdGEgYXMgYW4gYXJyYXkuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheXxtaXhlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SW5mbygkb3B0aW9uID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoIWlzX3Jlc291cmNlKCR0aGlzLT5oYW5kbGUpKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KCiAgICAgICAgaWYgKG51bGwgIT09ICRvcHRpb24pIHsKICAgICAgICAgICAgcmV0dXJuIGN1cmxfZ2V0aW5mbygkdGhpcy0+aGFuZGxlLCAkb3B0aW9uKSA/OiBudWxsOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGN1cmxfZ2V0aW5mbygkdGhpcy0+aGFuZGxlKSA/OiBhcnJheSgpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBzdGRlcnIgb3V0cHV0CiAgICAgKgogICAgICogQHBhcmFtIGJvb2wgJGFzUmVzb3VyY2UgU2V0IHRvIFRSVUUgdG8gZ2V0IGFuIGZvcGVuIHJlc291cmNlCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8cmVzb3VyY2V8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U3RkZXJyKCRhc1Jlc291cmNlID0gZmFsc2UpCiAgICB7CiAgICAgICAgJHN0ZGVyciA9ICR0aGlzLT5nZXRPcHRpb25zKCktPmdldChDVVJMT1BUX1NUREVSUik7CiAgICAgICAgaWYgKCEkc3RkZXJyKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRhc1Jlc291cmNlKSB7CiAgICAgICAgICAgIHJldHVybiAkc3RkZXJyOwogICAgICAgIH0KCiAgICAgICAgZnNlZWsoJHN0ZGVyciwgMCk7CiAgICAgICAgJGUgPSBzdHJlYW1fZ2V0X2NvbnRlbnRzKCRzdGRlcnIpOwogICAgICAgIGZzZWVrKCRzdGRlcnIsIDAsIFNFRUtfRU5EKTsKCiAgICAgICAgcmV0dXJuICRlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBVUkwgdGhhdCB0aGlzIGhhbmRsZSBpcyBjb25uZWN0aW5nIHRvCiAgICAgKgogICAgICogQHJldHVybiBVcmwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFVybCgpCiAgICB7CiAgICAgICAgcmV0dXJuIFVybDo6ZmFjdG9yeSgkdGhpcy0+b3B0aW9ucy0+Z2V0KENVUkxPUFRfVVJMKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHdyYXBwZWQgY3VybCBoYW5kbGUKICAgICAqCiAgICAgKiBAcmV0dXJuIHJlc291cmNlfG51bGwgUmV0dXJucyB0aGUgY1VSTCBoYW5kbGUgb3IgbnVsbCBpZiBpdCB3YXMgY2xvc2VkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRIYW5kbGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+aXNBdmFpbGFibGUoKSA/ICR0aGlzLT5oYW5kbGUgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBjVVJMIHNldG9wdCBvcHRpb25zIG9mIHRoZSBoYW5kbGUuIENoYW5naW5nIHZhbHVlcyBpbiB0aGUgcmV0dXJuIG9iamVjdCB3aWxsIGhhdmUgbm8gZWZmZWN0IG9uIHRoZSBjdXJsCiAgICAgKiBoYW5kbGUgYWZ0ZXIgaXQgaXMgY3JlYXRlZC4KICAgICAqCiAgICAgKiBAcmV0dXJuIENvbGxlY3Rpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE9wdGlvbnMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+b3B0aW9uczsKICAgIH0KCiAgICAvKioKICAgICAqIFVwZGF0ZSBhIHJlcXVlc3QgYmFzZWQgb24gdGhlIGxvZyBtZXNzYWdlcyBvZiB0aGUgQ3VybEhhbmRsZQogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0IFJlcXVlc3QgdG8gdXBkYXRlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1cGRhdGVSZXF1ZXN0RnJvbVRyYW5zZmVyKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QpCiAgICB7CiAgICAgICAgaWYgKCEkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAvLyBVcGRhdGUgdGhlIHRyYW5zZmVyIHN0YXRzIG9mIHRoZSByZXNwb25zZQogICAgICAgICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpLT5zZXRJbmZvKCR0aGlzLT5nZXRJbmZvKCkpOwoKICAgICAgICBpZiAoISRsb2cgPSAkdGhpcy0+Z2V0U3RkZXJyKHRydWUpKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIC8vIFBhcnNlIHRoZSBjVVJMIHN0ZGVyciBvdXRwdXQgZm9yIG91dGdvaW5nIHJlcXVlc3RzCiAgICAgICAgJGhlYWRlcnMgPSAnJzsKICAgICAgICBmc2VlaygkbG9nLCAwKTsKICAgICAgICB3aGlsZSAoKCRsaW5lID0gZmdldHMoJGxvZykpICE9PSBmYWxzZSkgewogICAgICAgICAgICBpZiAoJGxpbmUgJiYgJGxpbmVbMF0gPT0gJz4nKSB7CiAgICAgICAgICAgICAgICAkaGVhZGVycyA9IHN1YnN0cih0cmltKCRsaW5lKSwgMikgLiAiXHJcbiI7CiAgICAgICAgICAgICAgICB3aGlsZSAoKCRsaW5lID0gZmdldHMoJGxvZykpICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgIGlmICgkbGluZVswXSA9PSAnKicgfHwgJGxpbmVbMF0gPT0gJzwnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkZXJzIC49IHRyaW0oJGxpbmUpIC4gIlxyXG4iOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gQWRkIHJlcXVlc3QgaGVhZGVycyB0byB0aGUgcmVxdWVzdCBleGFjdGx5IGFzIHRoZXkgd2VyZSBzZW50CiAgICAgICAgaWYgKCRoZWFkZXJzKSB7CiAgICAgICAgICAgICRwYXJzZWQgPSBQYXJzZXJSZWdpc3RyeTo6Z2V0SW5zdGFuY2UoKS0+Z2V0UGFyc2VyKCdtZXNzYWdlJyktPnBhcnNlUmVxdWVzdCgkaGVhZGVycyk7CiAgICAgICAgICAgIGlmICghZW1wdHkoJHBhcnNlZFsnaGVhZGVycyddKSkgewogICAgICAgICAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcnMoYXJyYXkoKSk7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkcGFyc2VkWydoZWFkZXJzJ10gYXMgJG5hbWUgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcigkbmFtZSwgJHZhbHVlKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIWVtcHR5KCRwYXJzZWRbJ3ZlcnNpb24nXSkpIHsKICAgICAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRQcm90b2NvbFZlcnNpb24oJHBhcnNlZFsndmVyc2lvbiddKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFBhcnNlIHRoZSBjb25maWcgYW5kIHJlcGxhY2UgY3VybC4qIGNvbmZpZ3VyYXRvcnMgaW50byB0aGUgY29uc3RhbnQgYmFzZWQgdmFsdWVzIHNvIGl0IGNhbiBiZSB1c2VkIGVsc2V3aGVyZQogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICRjb25maWcgVGhlIGNvbmZpZ3VyYXRpb24gd2Ugd2FudCB0byBwYXJzZQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBwYXJzZUN1cmxDb25maWcoJGNvbmZpZykKICAgIHsKICAgICAgICAkY3VybE9wdGlvbnMgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKCRjb25maWcgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgaWYgKGlzX3N0cmluZygka2V5KSAmJiBkZWZpbmVkKCRrZXkpKSB7CiAgICAgICAgICAgICAgICAvLyBDb252ZXJ0IGNvbnN0YW50cyByZXByZXNlbnRlZCBhcyBzdHJpbmcgdG8gY29uc3RhbnQgaW50IHZhbHVlcwogICAgICAgICAgICAgICAgJGtleSA9IGNvbnN0YW50KCRrZXkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChpc19zdHJpbmcoJHZhbHVlKSAmJiBkZWZpbmVkKCR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgICR2YWx1ZSA9IGNvbnN0YW50KCR2YWx1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGN1cmxPcHRpb25zWyRrZXldID0gJHZhbHVlOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRjdXJsT3B0aW9uczsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxDdXJsOwoKdXNlIEd1enpsZVxDb21tb25cQWJzdHJhY3RIYXNEaXNwYXRjaGVyOwp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxNdWx0aVRyYW5zZmVyRXhjZXB0aW9uOwp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEN1cmxFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CgovKioKICogU2VuZCB7QHNlZSBSZXF1ZXN0SW50ZXJmYWNlfSBvYmplY3RzIGluIHBhcmFsbGVsIHVzaW5nIGN1cmxfbXVsdGkKICovCmNsYXNzIEN1cmxNdWx0aSBleHRlbmRzIEFic3RyYWN0SGFzRGlzcGF0Y2hlciBpbXBsZW1lbnRzIEN1cmxNdWx0aUludGVyZmFjZQp7CiAgICAvKiogQHZhciByZXNvdXJjZSBjVVJMIG11bHRpIGhhbmRsZS4gKi8KICAgIHByb3RlY3RlZCAkbXVsdGlIYW5kbGU7CgogICAgLyoqIEB2YXIgYXJyYXkgQXR0YWNoZWQge0BzZWUgUmVxdWVzdEludGVyZmFjZX0gb2JqZWN0cy4gKi8KICAgIHByb3RlY3RlZCAkcmVxdWVzdHM7CgogICAgLyoqIEB2YXIgXFNwbE9iamVjdFN0b3JhZ2UgUmVxdWVzdEludGVyZmFjZSB0byBDdXJsSGFuZGxlIGhhc2ggKi8KICAgIHByb3RlY3RlZCAkaGFuZGxlczsKCiAgICAvKiogQHZhciBhcnJheSBIYXNoIG1hcHBpbmcgY3VybCBoYW5kbGUgcmVzb3VyY2UgSURzIHRvIHJlcXVlc3Qgb2JqZWN0cyAqLwogICAgcHJvdGVjdGVkICRyZXNvdXJjZUhhc2g7CgogICAgLyoqIEB2YXIgYXJyYXkgUXVldWVkIGV4Y2VwdGlvbnMgKi8KICAgIHByb3RlY3RlZCAkZXhjZXB0aW9ucyA9IGFycmF5KCk7CgogICAgLyoqIEB2YXIgYXJyYXkgUmVxdWVzdHMgdGhhdCBzdWNjZWVkZWQgKi8KICAgIHByb3RlY3RlZCAkc3VjY2Vzc2Z1bCA9IGFycmF5KCk7CgogICAgLyoqIEB2YXIgYXJyYXkgY1VSTCBtdWx0aSBlcnJvciB2YWx1ZXMgYW5kIGNvZGVzICovCiAgICBwcm90ZWN0ZWQgJG11bHRpRXJyb3JzID0gYXJyYXkoCiAgICAgICAgQ1VSTE1fQkFEX0hBTkRMRSAgICAgID0+IGFycmF5KCdDVVJMTV9CQURfSEFORExFJywgJ1RoZSBwYXNzZWQtaW4gaGFuZGxlIGlzIG5vdCBhIHZhbGlkIENVUkxNIGhhbmRsZS4nKSwKICAgICAgICBDVVJMTV9CQURfRUFTWV9IQU5ETEUgPT4gYXJyYXkoJ0NVUkxNX0JBRF9FQVNZX0hBTkRMRScsICJBbiBlYXN5IGhhbmRsZSB3YXMgbm90IGdvb2QvdmFsaWQuIEl0IGNvdWxkIG1lYW4gdGhhdCBpdCBpc24ndCBhbiBlYXN5IGhhbmRsZSBhdCBhbGwsIG9yIHBvc3NpYmx5IHRoYXQgdGhlIGhhbmRsZSBhbHJlYWR5IGlzIGluIHVzZWQgYnkgdGhpcyBvciBhbm90aGVyIG11bHRpIGhhbmRsZS4iKSwKICAgICAgICBDVVJMTV9PVVRfT0ZfTUVNT1JZICAgPT4gYXJyYXkoJ0NVUkxNX09VVF9PRl9NRU1PUlknLCAnWW91IGFyZSBkb29tZWQuJyksCiAgICAgICAgQ1VSTE1fSU5URVJOQUxfRVJST1IgID0+IGFycmF5KCdDVVJMTV9JTlRFUk5BTF9FUlJPUicsICdUaGlzIGNhbiBvbmx5IGJlIHJldHVybmVkIGlmIGxpYmN1cmwgYnVncy4gUGxlYXNlIHJlcG9ydCBpdCB0byB1cyEnKQogICAgKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogICAgewogICAgICAgICR0aGlzLT5tdWx0aUhhbmRsZSA9IGN1cmxfbXVsdGlfaW5pdCgpOwogICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVTdGFydAogICAgICAgIGlmICgkdGhpcy0+bXVsdGlIYW5kbGUgPT09IGZhbHNlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBDdXJsRXhjZXB0aW9uKCdVbmFibGUgdG8gY3JlYXRlIG11bHRpIGhhbmRsZScpOwogICAgICAgIH0KICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlRW5kCiAgICAgICAgJHRoaXMtPnJlc2V0KCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZGVzdHJ1Y3QoKQogICAgewogICAgICAgIGlmIChpc19yZXNvdXJjZSgkdGhpcy0+bXVsdGlIYW5kbGUpKSB7CiAgICAgICAgICAgIGN1cmxfbXVsdGlfY2xvc2UoJHRoaXMtPm11bHRpSGFuZGxlKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFkZChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgICR0aGlzLT5yZXF1ZXN0c1tdID0gJHJlcXVlc3Q7CiAgICAgICAgLy8gSWYgcmVxdWVzdHMgYXJlIGN1cnJlbnRseSB0cmFuc2ZlcnJpbmcgYW5kIHRoaXMgaXMgYXN5bmMsIHRoZW4gdGhlCiAgICAgICAgLy8gcmVxdWVzdCBtdXN0IGJlIHByZXBhcmVkIG5vdyBhcyB0aGUgc2VuZCgpIG1ldGhvZCBpcyBub3QgY2FsbGVkLgogICAgICAgICR0aGlzLT5iZWZvcmVTZW5kKCRyZXF1ZXN0KTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2goc2VsZjo6QUREX1JFUVVFU1QsIGFycmF5KCdyZXF1ZXN0JyA9PiAkcmVxdWVzdCkpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFsbCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXF1ZXN0czsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlbW92ZUhhbmRsZSgkcmVxdWVzdCk7CiAgICAgICAgaWYgKCgkaW5kZXggPSBhcnJheV9zZWFyY2goJHJlcXVlc3QsICR0aGlzLT5yZXF1ZXN0cywgdHJ1ZSkpICE9PSBmYWxzZSkgewogICAgICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5yZXF1ZXN0c1skaW5kZXhdOwogICAgICAgICAgICB1bnNldCgkdGhpcy0+cmVxdWVzdHNbJGluZGV4XSk7CiAgICAgICAgICAgICR0aGlzLT5yZXF1ZXN0cyA9IGFycmF5X3ZhbHVlcygkdGhpcy0+cmVxdWVzdHMpOwogICAgICAgICAgICAkdGhpcy0+ZGlzcGF0Y2goc2VsZjo6UkVNT1ZFX1JFUVVFU1QsIGFycmF5KCdyZXF1ZXN0JyA9PiAkcmVxdWVzdCkpOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVzZXQoJGhhcmQgPSBmYWxzZSkKICAgIHsKICAgICAgICAvLyBSZW1vdmUgZWFjaCByZXF1ZXN0CiAgICAgICAgaWYgKCR0aGlzLT5yZXF1ZXN0cykgewogICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+cmVxdWVzdHMgYXMgJHJlcXVlc3QpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5yZW1vdmUoJHJlcXVlc3QpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+aGFuZGxlcyA9IG5ldyBcU3BsT2JqZWN0U3RvcmFnZSgpOwogICAgICAgICR0aGlzLT5yZXF1ZXN0cyA9ICR0aGlzLT5yZXNvdXJjZUhhc2ggPSAkdGhpcy0+ZXhjZXB0aW9ucyA9ICR0aGlzLT5zdWNjZXNzZnVsID0gYXJyYXkoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VuZCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnBlcmZvcm0oKTsKICAgICAgICAkZXhjZXB0aW9ucyA9ICR0aGlzLT5leGNlcHRpb25zOwogICAgICAgICRzdWNjZXNzZnVsID0gJHRoaXMtPnN1Y2Nlc3NmdWw7CiAgICAgICAgJHRoaXMtPnJlc2V0KCk7CgogICAgICAgIGlmICgkZXhjZXB0aW9ucykgewogICAgICAgICAgICAkdGhpcy0+dGhyb3dNdWx0aUV4Y2VwdGlvbigkZXhjZXB0aW9ucywgJHN1Y2Nlc3NmdWwpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY291bnQoKQogICAgewogICAgICAgIHJldHVybiBjb3VudCgkdGhpcy0+cmVxdWVzdHMpOwogICAgfQoKICAgIC8qKgogICAgICogQnVpbGQgYW5kIHRocm93IGEgTXVsdGlUcmFuc2ZlckV4Y2VwdGlvbgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkZXhjZXB0aW9ucyBFeGNlcHRpb25zIGVuY291bnRlcmVkCiAgICAgKiBAcGFyYW0gYXJyYXkgJHN1Y2Nlc3NmdWwgU3VjY2Vzc2Z1bCByZXF1ZXN0cwogICAgICogQHRocm93cyBNdWx0aVRyYW5zZmVyRXhjZXB0aW9uCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiB0aHJvd011bHRpRXhjZXB0aW9uKGFycmF5ICRleGNlcHRpb25zLCBhcnJheSAkc3VjY2Vzc2Z1bCkKICAgIHsKICAgICAgICAkbXVsdGlFeGNlcHRpb24gPSBuZXcgTXVsdGlUcmFuc2ZlckV4Y2VwdGlvbignRXJyb3JzIGR1cmluZyBtdWx0aSB0cmFuc2ZlcicpOwoKICAgICAgICB3aGlsZSAoJGUgPSBhcnJheV9zaGlmdCgkZXhjZXB0aW9ucykpIHsKICAgICAgICAgICAgJG11bHRpRXhjZXB0aW9uLT5hZGRGYWlsZWRSZXF1ZXN0V2l0aEV4Y2VwdGlvbigkZVsncmVxdWVzdCddLCAkZVsnZXhjZXB0aW9uJ10pOwogICAgICAgIH0KCiAgICAgICAgLy8gQWRkIHN1Y2Nlc3NmdWwgcmVxdWVzdHMKICAgICAgICBmb3JlYWNoICgkc3VjY2Vzc2Z1bCBhcyAkcmVxdWVzdCkgewogICAgICAgICAgICBpZiAoISRtdWx0aUV4Y2VwdGlvbi0+Y29udGFpbnNSZXF1ZXN0KCRyZXF1ZXN0KSkgewogICAgICAgICAgICAgICAgJG11bHRpRXhjZXB0aW9uLT5hZGRTdWNjZXNzZnVsUmVxdWVzdCgkcmVxdWVzdCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHRocm93ICRtdWx0aUV4Y2VwdGlvbjsKICAgIH0KCiAgICAvKioKICAgICAqIFByZXBhcmUgZm9yIHNlbmRpbmcKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCBSZXF1ZXN0IHRvIHByZXBhcmUKICAgICAqIEB0aHJvd3MgXEV4Y2VwdGlvbiBvbiBlcnJvciBwcmVwYXJpbmcgdGhlIHJlcXVlc3QKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGJlZm9yZVNlbmQoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCkKICAgIHsKICAgICAgICB0cnkgewogICAgICAgICAgICAkc3RhdGUgPSAkcmVxdWVzdC0+c2V0U3RhdGUoUmVxdWVzdEludGVyZmFjZTo6U1RBVEVfVFJBTlNGRVIpOwogICAgICAgICAgICBpZiAoJHN0YXRlID09IFJlcXVlc3RJbnRlcmZhY2U6OlNUQVRFX1RSQU5TRkVSKSB7CiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIHJlcXVlc3QgY3VybCBoYW5kbGUgdG8gdGhlIG11bHRpIGhhbmRsZQogICAgICAgICAgICAgICAgJGhhbmRsZSA9ICR0aGlzLT5jcmVhdGVDdXJsSGFuZGxlKCRyZXF1ZXN0KS0+Z2V0SGFuZGxlKCk7CiAgICAgICAgICAgICAgICAkdGhpcy0+Y2hlY2tDdXJsUmVzdWx0KGN1cmxfbXVsdGlfYWRkX2hhbmRsZSgkdGhpcy0+bXVsdGlIYW5kbGUsICRoYW5kbGUpKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIFJlcXVlc3RzIG1pZ2h0IGRlY2lkZSB0aGV5IGRvbid0IG5lZWQgdG8gYmUgc2VudCBqdXN0IGJlZm9yZSB0cmFuc2ZlciAoZS5nLiBDYWNoZVBsdWdpbikKICAgICAgICAgICAgICAgICR0aGlzLT5yZW1vdmUoJHJlcXVlc3QpOwogICAgICAgICAgICAgICAgaWYgKCRzdGF0ZSA9PSBSZXF1ZXN0SW50ZXJmYWNlOjpTVEFURV9DT01QTEVURSkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5zdWNjZXNzZnVsW10gPSAkcmVxdWVzdDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgLy8gUXVldWUgdGhlIGV4Y2VwdGlvbiB0byBiZSB0aHJvd24gd2hlbiBzZW50CiAgICAgICAgICAgICR0aGlzLT5yZW1vdmVFcnJvcmVkUmVxdWVzdCgkcmVxdWVzdCwgJGUpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIGN1cmwgaGFuZGxlIGZvciBhIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCBSZXF1ZXN0CiAgICAgKgogICAgICogQHJldHVybiBDdXJsSGFuZGxlCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjcmVhdGVDdXJsSGFuZGxlKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QpCiAgICB7CiAgICAgICAgJHdyYXBwZXIgPSBDdXJsSGFuZGxlOjpmYWN0b3J5KCRyZXF1ZXN0KTsKICAgICAgICAkdGhpcy0+aGFuZGxlc1skcmVxdWVzdF0gPSAkd3JhcHBlcjsKICAgICAgICAkdGhpcy0+cmVzb3VyY2VIYXNoWyhpbnQpICR3cmFwcGVyLT5nZXRIYW5kbGUoKV0gPSAkcmVxdWVzdDsKCiAgICAgICAgcmV0dXJuICR3cmFwcGVyOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBkYXRhIGZyb20gdGhlIG11bHRpIGhhbmRsZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcGVyZm9ybSgpCiAgICB7CiAgICAgICAgJGV2ZW50ID0gbmV3IEV2ZW50KGFycmF5KCdjdXJsX211bHRpJyA9PiAkdGhpcykpOwoKICAgICAgICB3aGlsZSAoJHRoaXMtPnJlcXVlc3RzKSB7CiAgICAgICAgICAgIC8vIE5vdGlmeSBlYWNoIHJlcXVlc3QgYXMgcG9sbGluZwogICAgICAgICAgICAkYmxvY2tpbmcgPSAkdG90YWwgPSAwOwogICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+cmVxdWVzdHMgYXMgJHJlcXVlc3QpIHsKICAgICAgICAgICAgICAgICsrJHRvdGFsOwogICAgICAgICAgICAgICAgJGV2ZW50WydyZXF1ZXN0J10gPSAkcmVxdWVzdDsKICAgICAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+ZGlzcGF0Y2goc2VsZjo6UE9MTElOR19SRVFVRVNULCAkZXZlbnQpOwogICAgICAgICAgICAgICAgLy8gVGhlIGJsb2NraW5nIHZhcmlhYmxlIGp1c3QgaGFzIHRvIGJlIG5vbi1mYWxzZXkgdG8gYmxvY2sgdGhlIGxvb3AKICAgICAgICAgICAgICAgIGlmICgkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmhhc0tleShzZWxmOjpCTE9DS0lORykpIHsKICAgICAgICAgICAgICAgICAgICArKyRibG9ja2luZzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJGJsb2NraW5nID09ICR0b3RhbCkgewogICAgICAgICAgICAgICAgLy8gU2xlZXAgdG8gcHJldmVudCBlYXRpbmcgQ1BVIGJlY2F1c2Ugbm8gcmVxdWVzdHMgYXJlIGFjdHVhbGx5IHBlbmRpbmcgYSBzZWxlY3QgY2FsbAogICAgICAgICAgICAgICAgdXNsZWVwKDUwMCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+ZXhlY3V0ZUhhbmRsZXMoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEV4ZWN1dGUgYW5kIHNlbGVjdCBjdXJsIGhhbmRsZXMKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBleGVjdXRlSGFuZGxlcygpCiAgICB7CiAgICAgICAgLy8gVGhlIGZpcnN0IGN1cmxfbXVsdGlfc2VsZWN0IG9mdGVuIHRpbWVzIG91dCBubyBtYXR0ZXIgd2hhdCwgYnV0IGlzIHVzdWFsbHkgcmVxdWlyZWQgZm9yIGZhc3QgdHJhbnNmZXJzCiAgICAgICAgJHNlbGVjdFRpbWVvdXQgPSAwLjAwMTsKICAgICAgICAkYWN0aXZlID0gZmFsc2U7CiAgICAgICAgZG8gewogICAgICAgICAgICB3aGlsZSAoKCRtcmMgPSBjdXJsX211bHRpX2V4ZWMoJHRoaXMtPm11bHRpSGFuZGxlLCAkYWN0aXZlKSkgPT0gQ1VSTE1fQ0FMTF9NVUxUSV9QRVJGT1JNKTsKICAgICAgICAgICAgJHRoaXMtPmNoZWNrQ3VybFJlc3VsdCgkbXJjKTsKICAgICAgICAgICAgJHRoaXMtPnByb2Nlc3NNZXNzYWdlcygpOwogICAgICAgICAgICBpZiAoJGFjdGl2ZSAmJiBjdXJsX211bHRpX3NlbGVjdCgkdGhpcy0+bXVsdGlIYW5kbGUsICRzZWxlY3RUaW1lb3V0KSA9PT0gLTEpIHsKICAgICAgICAgICAgICAgIC8vIFBlcmZvcm0gYSB1c2xlZXAgaWYgYSBzZWxlY3QgcmV0dXJucyAtMTogaHR0cHM6Ly9idWdzLnBocC5uZXQvYnVnLnBocD9pZD02MTE0MQogICAgICAgICAgICAgICAgdXNsZWVwKDE1MCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHNlbGVjdFRpbWVvdXQgPSAxOwogICAgICAgIH0gd2hpbGUgKCRhY3RpdmUpOwogICAgfQoKICAgIC8qKgogICAgICogUHJvY2VzcyBhbnkgcmVjZWl2ZWQgY3VybCBtdWx0aSBtZXNzYWdlcwogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIHByb2Nlc3NNZXNzYWdlcygpCiAgICB7CiAgICAgICAgd2hpbGUgKCRkb25lID0gY3VybF9tdWx0aV9pbmZvX3JlYWQoJHRoaXMtPm11bHRpSGFuZGxlKSkgewogICAgICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5yZXNvdXJjZUhhc2hbKGludCkgJGRvbmVbJ2hhbmRsZSddXTsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICR0aGlzLT5wcm9jZXNzUmVzcG9uc2UoJHJlcXVlc3QsICR0aGlzLT5oYW5kbGVzWyRyZXF1ZXN0XSwgJGRvbmUpOwogICAgICAgICAgICAgICAgJHRoaXMtPnN1Y2Nlc3NmdWxbXSA9ICRyZXF1ZXN0OwogICAgICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cmVtb3ZlRXJyb3JlZFJlcXVlc3QoJHJlcXVlc3QsICRlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJlbW92ZSBhIHJlcXVlc3QgdGhhdCBlbmNvdW50ZXJlZCBhbiBleGNlcHRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCBSZXF1ZXN0IHRvIHJlbW92ZQogICAgICogQHBhcmFtIFxFeGNlcHRpb24gICAgICAgJGUgICAgICAgRXhjZXB0aW9uIGVuY291bnRlcmVkCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiByZW1vdmVFcnJvcmVkUmVxdWVzdChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBcRXhjZXB0aW9uICRlID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+ZXhjZXB0aW9uc1tdID0gYXJyYXkoJ3JlcXVlc3QnID0+ICRyZXF1ZXN0LCAnZXhjZXB0aW9uJyA9PiAkZSk7CiAgICAgICAgJHRoaXMtPnJlbW92ZSgkcmVxdWVzdCk7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoKHNlbGY6Ok1VTFRJX0VYQ0VQVElPTiwgYXJyYXkoJ2V4Y2VwdGlvbicgPT4gJGUsICdhbGxfZXhjZXB0aW9ucycgPT4gJHRoaXMtPmV4Y2VwdGlvbnMpKTsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGZvciBlcnJvcnMgYW5kIGZpeCBoZWFkZXJzIG9mIGEgcmVxdWVzdCBiYXNlZCBvbiBhIGN1cmwgcmVzcG9uc2UKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCBSZXF1ZXN0IHRvIHByb2Nlc3MKICAgICAqIEBwYXJhbSBDdXJsSGFuZGxlICAgICAgICRoYW5kbGUgIEN1cmwgaGFuZGxlIG9iamVjdAogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgJGN1cmwgICAgQXJyYXkgcmV0dXJuZWQgZnJvbSBjdXJsX211bHRpX2luZm9fcmVhZAogICAgICoKICAgICAqIEB0aHJvd3MgQ3VybEV4Y2VwdGlvbiBvbiBDdXJsIGVycm9yCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBwcm9jZXNzUmVzcG9uc2UoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgQ3VybEhhbmRsZSAkaGFuZGxlLCBhcnJheSAkY3VybCkKICAgIHsKICAgICAgICAvLyBTZXQgdGhlIHRyYW5zZmVyIHN0YXRzIG9uIHRoZSByZXNwb25zZQogICAgICAgICRoYW5kbGUtPnVwZGF0ZVJlcXVlc3RGcm9tVHJhbnNmZXIoJHJlcXVlc3QpOwogICAgICAgIC8vIENoZWNrIGlmIGEgY1VSTCBleGNlcHRpb24gb2NjdXJyZWQsIGFuZCBpZiBzbywgbm90aWZ5IHRoaW5ncwogICAgICAgICRjdXJsRXhjZXB0aW9uID0gJHRoaXMtPmlzQ3VybEV4Y2VwdGlvbigkcmVxdWVzdCwgJGhhbmRsZSwgJGN1cmwpOwoKICAgICAgICAvLyBBbHdheXMgcmVtb3ZlIGNvbXBsZXRlZCBjdXJsIGhhbmRsZXMuICBUaGV5IGNhbiBiZSBhZGRlZCBiYWNrIGFnYWluCiAgICAgICAgLy8gdmlhIGV2ZW50cyBpZiBuZWVkZWQgKGUuZy4gRXhwb25lbnRpYWxCYWNrb2ZmUGx1Z2luKQogICAgICAgICR0aGlzLT5yZW1vdmVIYW5kbGUoJHJlcXVlc3QpOwoKICAgICAgICBpZiAoISRjdXJsRXhjZXB0aW9uKSB7CiAgICAgICAgICAgICRzdGF0ZSA9ICRyZXF1ZXN0LT5zZXRTdGF0ZShSZXF1ZXN0SW50ZXJmYWNlOjpTVEFURV9DT01QTEVURSwgYXJyYXkoJ2hhbmRsZScgPT4gJGhhbmRsZSkpOwogICAgICAgICAgICAvLyBPbmx5IHJlbW92ZSB0aGUgcmVxdWVzdCBpZiBpdCB3YXNuJ3QgcmVzZW50IGFzIGEgcmVzdWx0IG9mIHRoZSBzdGF0ZSBjaGFuZ2UKICAgICAgICAgICAgaWYgKCRzdGF0ZSAhPSBSZXF1ZXN0SW50ZXJmYWNlOjpTVEFURV9UUkFOU0ZFUikgewogICAgICAgICAgICAgICAgJHRoaXMtPnJlbW92ZSgkcmVxdWVzdCk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBTZXQgdGhlIHN0YXRlIG9mIHRoZSByZXF1ZXN0IHRvIGFuIGVycm9yCiAgICAgICAgICAgICRzdGF0ZSA9ICRyZXF1ZXN0LT5zZXRTdGF0ZShSZXF1ZXN0SW50ZXJmYWNlOjpTVEFURV9FUlJPUiwgYXJyYXkoJ2V4Y2VwdGlvbicgPT4gJGN1cmxFeGNlcHRpb24pKTsKICAgICAgICAgICAgLy8gQWxsb3cgdGhpbmdzIHRvIGlnbm9yZSB0aGUgZXJyb3IgaWYgcG9zc2libGUKICAgICAgICAgICAgaWYgKCRzdGF0ZSAhPSBSZXF1ZXN0SW50ZXJmYWNlOjpTVEFURV9UUkFOU0ZFUikgewogICAgICAgICAgICAgICAgJHRoaXMtPnJlbW92ZSgkcmVxdWVzdCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gVGhlIGVycm9yIHdhcyBub3QgaGFuZGxlZCwgc28gZmFpbAogICAgICAgICAgICBpZiAoJHN0YXRlID09IFJlcXVlc3RJbnRlcmZhY2U6OlNUQVRFX0VSUk9SKSB7CiAgICAgICAgICAgICAgICAvKiogQHZhciBDdXJsRXhjZXB0aW9uICRjdXJsRXhjZXB0aW9uICovCiAgICAgICAgICAgICAgICB0aHJvdyAkY3VybEV4Y2VwdGlvbjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJlbW92ZSBhIGN1cmwgaGFuZGxlIGZyb20gdGhlIGN1cmwgbXVsdGkgb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgUmVxdWVzdCB0aGF0IG93bnMgdGhlIGhhbmRsZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcmVtb3ZlSGFuZGxlKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QpCiAgICB7CiAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5oYW5kbGVzWyRyZXF1ZXN0XSkpIHsKICAgICAgICAgICAgJGhhbmRsZSA9ICR0aGlzLT5oYW5kbGVzWyRyZXF1ZXN0XTsKICAgICAgICAgICAgY3VybF9tdWx0aV9yZW1vdmVfaGFuZGxlKCR0aGlzLT5tdWx0aUhhbmRsZSwgJGhhbmRsZS0+Z2V0SGFuZGxlKCkpOwogICAgICAgICAgICB1bnNldCgkdGhpcy0+aGFuZGxlc1skcmVxdWVzdF0pOwogICAgICAgICAgICB1bnNldCgkdGhpcy0+cmVzb3VyY2VIYXNoWyhpbnQpICRoYW5kbGUtPmdldEhhbmRsZSgpXSk7CiAgICAgICAgICAgICRoYW5kbGUtPmNsb3NlKCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgYSBjVVJMIHRyYW5zZmVyIHJlc3VsdGVkIGluIHdoYXQgc2hvdWxkIGJlIGFuIGV4Y2VwdGlvbgogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0IFJlcXVlc3QgdG8gY2hlY2sKICAgICAqIEBwYXJhbSBDdXJsSGFuZGxlICAgICAgICRoYW5kbGUgIEN1cmwgaGFuZGxlIG9iamVjdAogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgJGN1cmwgICAgQXJyYXkgcmV0dXJuZWQgZnJvbSBjdXJsX211bHRpX2luZm9fcmVhZAogICAgICoKICAgICAqIEByZXR1cm4gQ3VybEV4Y2VwdGlvbnxib29sCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gaXNDdXJsRXhjZXB0aW9uKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIEN1cmxIYW5kbGUgJGhhbmRsZSwgYXJyYXkgJGN1cmwpCiAgICB7CiAgICAgICAgaWYgKENVUkxNX09LID09ICRjdXJsWydyZXN1bHQnXSB8fCBDVVJMTV9DQUxMX01VTFRJX1BFUkZPUk0gPT0gJGN1cmxbJ3Jlc3VsdCddKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgICRoYW5kbGUtPnNldEVycm9yTm8oJGN1cmxbJ3Jlc3VsdCddKTsKICAgICAgICAkZSA9IG5ldyBDdXJsRXhjZXB0aW9uKHNwcmludGYoJ1tjdXJsXSAlczogJXMgW3VybF0gJXMnLAogICAgICAgICAgICAkaGFuZGxlLT5nZXRFcnJvck5vKCksICRoYW5kbGUtPmdldEVycm9yKCksICRoYW5kbGUtPmdldFVybCgpKSk7CiAgICAgICAgJGUtPnNldEN1cmxIYW5kbGUoJGhhbmRsZSkKICAgICAgICAgICAgLT5zZXRSZXF1ZXN0KCRyZXF1ZXN0KQogICAgICAgICAgICAtPnNldEN1cmxJbmZvKCRoYW5kbGUtPmdldEluZm8oKSkKICAgICAgICAgICAgLT5zZXRFcnJvcigkaGFuZGxlLT5nZXRFcnJvcigpLCAkaGFuZGxlLT5nZXRFcnJvck5vKCkpOwoKICAgICAgICByZXR1cm4gJGU7CiAgICB9CgogICAgLyoqCiAgICAgKiBUaHJvdyBhbiBleGNlcHRpb24gZm9yIGEgY1VSTCBtdWx0aSByZXNwb25zZSBpZiBuZWVkZWQKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRjb2RlIEN1cmwgcmVzcG9uc2UgY29kZQogICAgICogQHRocm93cyBDdXJsRXhjZXB0aW9uCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gY2hlY2tDdXJsUmVzdWx0KCRjb2RlKQogICAgewogICAgICAgIGlmICgkY29kZSAhPSBDVVJMTV9PSyAmJiAkY29kZSAhPSBDVVJMTV9DQUxMX01VTFRJX1BFUkZPUk0pIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEN1cmxFeGNlcHRpb24oaXNzZXQoJHRoaXMtPm11bHRpRXJyb3JzWyRjb2RlXSkKICAgICAgICAgICAgICAgID8gImNVUkwgZXJyb3I6IHskY29kZX0gKHskdGhpcy0+bXVsdGlFcnJvcnNbJGNvZGVdWzBdfSk6IGNVUkwgbWVzc2FnZTogeyR0aGlzLT5tdWx0aUVycm9yc1skY29kZV1bMV19IgogICAgICAgICAgICAgICAgOiAnVW5leHBlY3RlZCBjVVJMIGVycm9yOiAnIC4gJGNvZGUKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxDdXJsOwoKdXNlIEd1enpsZVxDb21tb25cSGFzRGlzcGF0Y2hlckludGVyZmFjZTsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEV4Y2VwdGlvbkNvbGxlY3Rpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CgovKioKICogSW50ZXJmYWNlIGZvciBzZW5kaW5nIGEgcG9vbCBvZiB7QHNlZSBSZXF1ZXN0SW50ZXJmYWNlfSBvYmplY3RzIGluIHBhcmFsbGVsCiAqLwppbnRlcmZhY2UgQ3VybE11bHRpSW50ZXJmYWNlIGV4dGVuZHMgXENvdW50YWJsZSwgSGFzRGlzcGF0Y2hlckludGVyZmFjZQp7CiAgICBjb25zdCBQT0xMSU5HX1JFUVVFU1QgPSAnY3VybF9tdWx0aS5wb2xsaW5nX3JlcXVlc3QnOwogICAgY29uc3QgQUREX1JFUVVFU1QgPSAnY3VybF9tdWx0aS5hZGRfcmVxdWVzdCc7CiAgICBjb25zdCBSRU1PVkVfUkVRVUVTVCA9ICdjdXJsX211bHRpLnJlbW92ZV9yZXF1ZXN0JzsKICAgIGNvbnN0IE1VTFRJX0VYQ0VQVElPTiA9ICdjdXJsX211bHRpLmV4Y2VwdGlvbic7CiAgICBjb25zdCBCTE9DS0lORyA9ICdjdXJsX211bHRpLmJsb2NraW5nJzsKCiAgICAvKioKICAgICAqIEFkZCBhIHJlcXVlc3QgdG8gdGhlIHBvb2wuCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgUmVxdWVzdCB0byBhZGQKICAgICAqCiAgICAgKiBAcmV0dXJuIEN1cmxNdWx0aUludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QpOwoKICAgIC8qKgogICAgICogR2V0IGFuIGFycmF5IG9mIGF0dGFjaGVkIHtAc2VlIFJlcXVlc3RJbnRlcmZhY2V9IG9iamVjdHMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhbGwoKTsKCiAgICAvKioKICAgICAqIFJlbW92ZSBhIHJlcXVlc3QgZnJvbSB0aGUgcG9vbC4KICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCBSZXF1ZXN0IHRvIHJlbW92ZQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbCBSZXR1cm5zIHRydWUgb24gc3VjY2VzcyBvciBmYWxzZSBvbiBmYWlsdXJlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmUoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCk7CgogICAgLyoqCiAgICAgKiBSZXNldCB0aGUgc3RhdGUgYW5kIHJlbW92ZSBhbnkgYXR0YWNoZWQgUmVxdWVzdEludGVyZmFjZSBvYmplY3RzCiAgICAgKgogICAgICogQHBhcmFtIGJvb2wgJGhhcmQgU2V0IHRvIHRydWUgdG8gY2xvc2UgYW5kIHJlb3BlbiBhbnkgb3BlbiBtdWx0aSBoYW5kbGVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZXNldCgkaGFyZCA9IGZhbHNlKTsKCiAgICAvKioKICAgICAqIFNlbmQgYSBwb29sIG9mIHtAc2VlIFJlcXVlc3RJbnRlcmZhY2V9IHJlcXVlc3RzLgogICAgICoKICAgICAqIEB0aHJvd3MgRXhjZXB0aW9uQ29sbGVjdGlvbiBpZiBhbnkgcmVxdWVzdHMgdGhyZXcgZXhjZXB0aW9ucyBkdXJpbmcgdGhlIHRyYW5zZmVyLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VuZCgpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiProxy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxDdXJsOwoKdXNlIEd1enpsZVxDb21tb25cQWJzdHJhY3RIYXNEaXNwYXRjaGVyOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwoKLyoqCiAqIFByb3hpZXMgcmVxdWVzdHMgYW5kIGNvbm5lY3Rpb25zIHRvIGEgcG9vbCBvZiBpbnRlcm5hbCBjdXJsX211bHRpIGhhbmRsZXMuIEVhY2ggcmVjdXJzaXZlIGNhbGwgd2lsbCBhZGQgcmVxdWVzdHMKICogdG8gdGhlIG5leHQgYXZhaWxhYmxlIEN1cmxNdWx0aSBoYW5kbGUuCiAqLwpjbGFzcyBDdXJsTXVsdGlQcm94eSBleHRlbmRzIEFic3RyYWN0SGFzRGlzcGF0Y2hlciBpbXBsZW1lbnRzIEN1cmxNdWx0aUludGVyZmFjZQp7CiAgICBwcm90ZWN0ZWQgJGhhbmRsZXMgPSBhcnJheSgpOwogICAgcHJvdGVjdGVkICRncm91cHMgPSBhcnJheSgpOwogICAgcHJvdGVjdGVkICRxdWV1ZWQgPSBhcnJheSgpOwogICAgcHJvdGVjdGVkICRtYXhIYW5kbGVzOwoKICAgIC8qKgogICAgICogQHBhcmFtIGludCAkbWF4SGFuZGxlcyBUaGUgbWF4aW11bSBudW1iZXIgb2YgaWRsZSBDdXJsTXVsdGkgaGFuZGxlcyB0byBhbGxvdyB0byByZW1haW4gb3BlbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG1heEhhbmRsZXMgPSAzKQogICAgewogICAgICAgICR0aGlzLT5tYXhIYW5kbGVzID0gJG1heEhhbmRsZXM7CiAgICAgICAgLy8gWW91IGNhbiBnZXQgc29tZSB3ZWlyZCAiVG9vIG1hbnkgb3BlbiBmaWxlcyIgZXJyb3JzIHdoZW4gc2VuZGluZyBhIGxhcmdlIGFtb3VudCBvZiByZXF1ZXN0cyBpbiBwYXJhbGxlbC4KICAgICAgICAvLyBUaGVzZSB0d28gc3RhdGVtZW50cyBhdXRvbG9hZCBjbGFzc2VzIGJlZm9yZSBhIHN5c3RlbSBydW5zIG91dCBvZiBmaWxlIGRlc2NyaXB0b3JzIHNvIHRoYXQgeW91IGNhbiBnZXQgYmFjawogICAgICAgIC8vIHZhbHVhYmxlIGVycm9yIG1lc3NhZ2VzIGlmIHlvdSBydW4gb3V0LgogICAgICAgIGNsYXNzX2V4aXN0cygnR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZScpOwogICAgICAgIGNsYXNzX2V4aXN0cygnR3V6emxlXEh0dHBcRXhjZXB0aW9uXEN1cmxFeGNlcHRpb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QpCiAgICB7CiAgICAgICAgJHRoaXMtPnF1ZXVlZFtdID0gJHJlcXVlc3Q7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWxsKCkKICAgIHsKICAgICAgICAkcmVxdWVzdHMgPSAkdGhpcy0+cXVldWVkOwogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5oYW5kbGVzIGFzICRoYW5kbGUpIHsKICAgICAgICAgICAgJHJlcXVlc3RzID0gYXJyYXlfbWVyZ2UoJHJlcXVlc3RzLCAkaGFuZGxlLT5hbGwoKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJlcXVlc3RzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmUoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCkKICAgIHsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+cXVldWVkIGFzICRpID0+ICRyKSB7CiAgICAgICAgICAgIGlmICgkcmVxdWVzdCA9PT0gJHIpIHsKICAgICAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5xdWV1ZWRbJGldKTsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmb3JlYWNoICgkdGhpcy0+aGFuZGxlcyBhcyAkaGFuZGxlKSB7CiAgICAgICAgICAgIGlmICgkaGFuZGxlLT5yZW1vdmUoJHJlcXVlc3QpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXNldCgkaGFyZCA9IGZhbHNlKQogICAgewogICAgICAgICR0aGlzLT5xdWV1ZWQgPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5ncm91cHMgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5oYW5kbGVzIGFzICRoYW5kbGUpIHsKICAgICAgICAgICAgJGhhbmRsZS0+cmVzZXQoKTsKICAgICAgICB9CiAgICAgICAgaWYgKCRoYXJkKSB7CiAgICAgICAgICAgICR0aGlzLT5oYW5kbGVzID0gYXJyYXkoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VuZCgpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5xdWV1ZWQpIHsKICAgICAgICAgICAgJGdyb3VwID0gJHRoaXMtPmdldEF2YWlsYWJsZUhhbmRsZSgpOwogICAgICAgICAgICAvLyBBZGQgdGhpcyBoYW5kbGUgdG8gYSBsaXN0IG9mIGhhbmRsZXMgdGhhbiBpcyBjbGFpbWVkCiAgICAgICAgICAgICR0aGlzLT5ncm91cHNbXSA9ICRncm91cDsKICAgICAgICAgICAgd2hpbGUgKCRyZXF1ZXN0ID0gYXJyYXlfc2hpZnQoJHRoaXMtPnF1ZXVlZCkpIHsKICAgICAgICAgICAgICAgICRncm91cC0+YWRkKCRyZXF1ZXN0KTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgJGdyb3VwLT5zZW5kKCk7CiAgICAgICAgICAgICAgICBhcnJheV9wb3AoJHRoaXMtPmdyb3Vwcyk7CiAgICAgICAgICAgICAgICAkdGhpcy0+Y2xlYW51cEhhbmRsZXMoKTsKICAgICAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBncm91cCBhbmQgY2xlYW51cCBpZiBhbiBleGNlcHRpb24gd2FzIGVuY291bnRlcmVkIGFuZCBubyBtb3JlIHJlcXVlc3RzIGluIGdyb3VwCiAgICAgICAgICAgICAgICBpZiAoISRncm91cC0+Y291bnQoKSkgewogICAgICAgICAgICAgICAgICAgIGFycmF5X3BvcCgkdGhpcy0+Z3JvdXBzKTsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Y2xlYW51cEhhbmRsZXMoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHRocm93ICRlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjb3VudCgpCiAgICB7CiAgICAgICAgcmV0dXJuIGNvdW50KCR0aGlzLT5hbGwoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYW4gZXhpc3RpbmcgYXZhaWxhYmxlIEN1cmxNdWx0aSBoYW5kbGUgb3IgY3JlYXRlIGEgbmV3IG9uZQogICAgICoKICAgICAqIEByZXR1cm4gQ3VybE11bHRpCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRBdmFpbGFibGVIYW5kbGUoKQogICAgewogICAgICAgIC8vIEdyYWIgYSBoYW5kbGUgdGhhdCBpcyBub3QgY2xhaW1lZAogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5oYW5kbGVzIGFzICRoKSB7CiAgICAgICAgICAgIGlmICghaW5fYXJyYXkoJGgsICR0aGlzLT5ncm91cHMsIHRydWUpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJGg7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEFsbCBhcmUgY2xhaW1lZCwgc28gY3JlYXRlIG9uZQogICAgICAgICRoYW5kbGUgPSBuZXcgQ3VybE11bHRpKCk7CiAgICAgICAgJGhhbmRsZS0+c2V0RXZlbnREaXNwYXRjaGVyKCR0aGlzLT5nZXRFdmVudERpc3BhdGNoZXIoKSk7CiAgICAgICAgJHRoaXMtPmhhbmRsZXNbXSA9ICRoYW5kbGU7CgogICAgICAgIHJldHVybiAkaGFuZGxlOwogICAgfQoKICAgIC8qKgogICAgICogVHJpbXMgZG93biB1bnVzZWQgQ3VybE11bHRpIGhhbmRsZXMgdG8gbGltaXQgdGhlIG51bWJlciBvZiBvcGVuIGNvbm5lY3Rpb25zCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjbGVhbnVwSGFuZGxlcygpCiAgICB7CiAgICAgICAgaWYgKCRkaWZmID0gbWF4KDAsIGNvdW50KCR0aGlzLT5oYW5kbGVzKSAtICR0aGlzLT5tYXhIYW5kbGVzKSkgewogICAgICAgICAgICBmb3IgKCRpID0gY291bnQoJHRoaXMtPmhhbmRsZXMpIC0gMTsgJGkgPiAwICYmICRkaWZmID4gMDsgJGktLSkgewogICAgICAgICAgICAgICAgaWYgKCFjb3VudCgkdGhpcy0+aGFuZGxlc1skaV0pKSB7CiAgICAgICAgICAgICAgICAgICAgdW5zZXQoJHRoaXMtPmhhbmRsZXNbJGldKTsKICAgICAgICAgICAgICAgICAgICAkZGlmZi0tOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgICR0aGlzLT5oYW5kbGVzID0gYXJyYXlfdmFsdWVzKCR0aGlzLT5oYW5kbGVzKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Curl/CurlVersion.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxDdXJsOwoKLyoqCiAqIENsYXNzIHVzZWQgZm9yIHF1ZXJ5aW5nIGN1cmxfdmVyc2lvbiBkYXRhCiAqLwpjbGFzcyBDdXJsVmVyc2lvbgp7CiAgICAvKiogQHZhciBhcnJheSBjdXJsX3ZlcnNpb24oKSBpbmZvcm1hdGlvbiAqLwogICAgcHJvdGVjdGVkICR2ZXJzaW9uOwoKICAgIC8qKiBAdmFyIEN1cmxWZXJzaW9uICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRpbnN0YW5jZTsKCiAgICAvKiogQHZhciBzdHJpbmcgRGVmYXVsdCB1c2VyIGFnZW50ICovCiAgICBwcm90ZWN0ZWQgJHVzZXJBZ2VudDsKCiAgICAvKioKICAgICAqIEByZXR1cm4gQ3VybFZlcnNpb24KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRJbnN0YW5jZSgpCiAgICB7CiAgICAgICAgaWYgKCFzZWxmOjokaW5zdGFuY2UpIHsKICAgICAgICAgICAgc2VsZjo6JGluc3RhbmNlID0gbmV3IHNlbGYoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBzZWxmOjokaW5zdGFuY2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYWxsIG9mIHRoZSBjdXJsX3ZlcnNpb24oKSBkYXRhCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QWxsKCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT52ZXJzaW9uKSB7CiAgICAgICAgICAgICR0aGlzLT52ZXJzaW9uID0gY3VybF92ZXJzaW9uKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPnZlcnNpb247CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYSBzcGVjaWZpYyB0eXBlIG9mIGN1cmwgaW5mb3JtYXRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0eXBlIFZlcnNpb24gaW5mb3JtYXRpb24gdG8gcmV0cmlldmUuIFRoaXMgdmFsdWUgaXMgb25lIG9mOgogICAgICogICAgIC0gdmVyc2lvbl9udW1iZXI6ICAgICBjVVJMIDI0IGJpdCB2ZXJzaW9uIG51bWJlcgogICAgICogICAgIC0gdmVyc2lvbjogICAgICAgICAgICBjVVJMIHZlcnNpb24gbnVtYmVyLCBhcyBhIHN0cmluZwogICAgICogICAgIC0gc3NsX3ZlcnNpb25fbnVtYmVyOiBPcGVuU1NMIDI0IGJpdCB2ZXJzaW9uIG51bWJlcgogICAgICogICAgIC0gc3NsX3ZlcnNpb246ICAgICAgICBPcGVuU1NMIHZlcnNpb24gbnVtYmVyLCBhcyBhIHN0cmluZwogICAgICogICAgIC0gbGliel92ZXJzaW9uOiAgICAgICB6bGliIHZlcnNpb24gbnVtYmVyLCBhcyBhIHN0cmluZwogICAgICogICAgIC0gaG9zdDogICAgICAgICAgICAgICBJbmZvcm1hdGlvbiBhYm91dCB0aGUgaG9zdCB3aGVyZSBjVVJMIHdhcyBidWlsdAogICAgICogICAgIC0gZmVhdHVyZXM6ICAgICAgICAgICBBIGJpdG1hc2sgb2YgdGhlIENVUkxfVkVSU0lPTl9YWFggY29uc3RhbnRzCiAgICAgKiAgICAgLSBwcm90b2NvbHM6ICAgICAgICAgIEFuIGFycmF5IG9mIHByb3RvY29scyBuYW1lcyBzdXBwb3J0ZWQgYnkgY1VSTAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfGZsb2F0fGJvb2wgaWYgdGhlICR0eXBlIGlzIGZvdW5kLCBhbmQgZmFsc2UgaWYgbm90IGZvdW5kCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXQoJHR5cGUpCiAgICB7CiAgICAgICAgJHZlcnNpb24gPSAkdGhpcy0+Z2V0QWxsKCk7CgogICAgICAgIHJldHVybiBpc3NldCgkdmVyc2lvblskdHlwZV0pID8gJHZlcnNpb25bJHR5cGVdIDogZmFsc2U7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Curl/RequestMediator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxDdXJsOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwoKLyoqCiAqIE1lZGlhdG9yIGJldHdlZW4gY3VybCBoYW5kbGVzIGFuZCByZXF1ZXN0IG9iamVjdHMKICovCmNsYXNzIFJlcXVlc3RNZWRpYXRvcgp7CiAgICAvKiogQHZhciBSZXF1ZXN0SW50ZXJmYWNlICovCiAgICBwcm90ZWN0ZWQgJHJlcXVlc3Q7CgogICAgLyoqIEB2YXIgYm9vbCBXaGV0aGVyIG9yIG5vdCB0byBlbWl0IHJlYWQvd3JpdGUgZXZlbnRzICovCiAgICBwcm90ZWN0ZWQgJGVtaXRJbzsKCiAgICAvKioKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0IFJlcXVlc3QgdG8gbWVkaWF0ZQogICAgICogQHBhcmFtIGJvb2wgICAgICAgICAgICAgJGVtaXRJbyAgU2V0IHRvIHRydWUgdG8gZGlzcGF0Y2ggZXZlbnRzIG9uIGlucHV0IGFuZCBvdXRwdXQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsICRlbWl0SW8gPSBmYWxzZSkKICAgIHsKICAgICAgICAkdGhpcy0+cmVxdWVzdCA9ICRyZXF1ZXN0OwogICAgICAgICR0aGlzLT5lbWl0SW8gPSAkZW1pdElvOwogICAgfQoKICAgIC8qKgogICAgICogUmVjZWl2ZSBhIHJlc3BvbnNlIGhlYWRlciBmcm9tIGN1cmwKICAgICAqCiAgICAgKiBAcGFyYW0gcmVzb3VyY2UgJGN1cmwgICBDdXJsIGhhbmRsZQogICAgICogQHBhcmFtIHN0cmluZyAgICRoZWFkZXIgUmVjZWl2ZWQgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlY2VpdmVSZXNwb25zZUhlYWRlcigkY3VybCwgJGhlYWRlcikKICAgIHsKICAgICAgICBzdGF0aWMgJG5vcm1hbGl6ZSA9IGFycmF5KCJcciIsICJcbiIpOwogICAgICAgICRsZW5ndGggPSBzdHJsZW4oJGhlYWRlcik7CiAgICAgICAgJGhlYWRlciA9IHN0cl9yZXBsYWNlKCRub3JtYWxpemUsICcnLCAkaGVhZGVyKTsKCiAgICAgICAgaWYgKHN0cnBvcygkaGVhZGVyLCAnSFRUUC8nKSA9PT0gMCkgewoKICAgICAgICAgICAgJHN0YXJ0TGluZSA9IGV4cGxvZGUoJyAnLCAkaGVhZGVyLCAzKTsKICAgICAgICAgICAgJGNvZGUgPSAkc3RhcnRMaW5lWzFdOwogICAgICAgICAgICAkc3RhdHVzID0gaXNzZXQoJHN0YXJ0TGluZVsyXSkgPyAkc3RhcnRMaW5lWzJdIDogJyc7CgogICAgICAgICAgICAvLyBPbmx5IGRvd25sb2FkIHRoZSBib2R5IG9mIHRoZSByZXNwb25zZSB0byB0aGUgc3BlY2lmaWVkIHJlc3BvbnNlCiAgICAgICAgICAgIC8vIGJvZHkgd2hlbiBhIHN1Y2Nlc3NmdWwgcmVzcG9uc2UgaXMgcmVjZWl2ZWQuCiAgICAgICAgICAgIGlmICgkY29kZSA+PSAyMDAgJiYgJGNvZGUgPCAzMDApIHsKICAgICAgICAgICAgICAgICRib2R5ID0gJHRoaXMtPnJlcXVlc3QtPmdldFJlc3BvbnNlQm9keSgpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgkY29kZSwgbnVsbCwgJGJvZHkpOwogICAgICAgICAgICAkcmVzcG9uc2UtPnNldFN0YXR1cygkY29kZSwgJHN0YXR1cyk7CiAgICAgICAgICAgICR0aGlzLT5yZXF1ZXN0LT5zdGFydFJlc3BvbnNlKCRyZXNwb25zZSk7CgogICAgICAgICAgICAkdGhpcy0+cmVxdWVzdC0+ZGlzcGF0Y2goJ3JlcXVlc3QucmVjZWl2ZS5zdGF0dXNfbGluZScsIGFycmF5KAogICAgICAgICAgICAgICAgJ3JlcXVlc3QnICAgICAgID0+ICR0aGlzLAogICAgICAgICAgICAgICAgJ2xpbmUnICAgICAgICAgID0+ICRoZWFkZXIsCiAgICAgICAgICAgICAgICAnc3RhdHVzX2NvZGUnICAgPT4gJGNvZGUsCiAgICAgICAgICAgICAgICAncmVhc29uX3BocmFzZScgPT4gJHN0YXR1cwogICAgICAgICAgICApKTsKCiAgICAgICAgfSBlbHNlaWYgKCRwb3MgPSBzdHJwb3MoJGhlYWRlciwgJzonKSkgewogICAgICAgICAgICAkdGhpcy0+cmVxdWVzdC0+Z2V0UmVzcG9uc2UoKS0+YWRkSGVhZGVyKAogICAgICAgICAgICAgICAgdHJpbShzdWJzdHIoJGhlYWRlciwgMCwgJHBvcykpLAogICAgICAgICAgICAgICAgdHJpbShzdWJzdHIoJGhlYWRlciwgJHBvcyArIDEpKQogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRsZW5ndGg7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZWNlaXZlZCBhIHByb2dyZXNzIG5vdGlmaWNhdGlvbgogICAgICoKICAgICAqIEBwYXJhbSBpbnQgICAgICAgICRkb3dubG9hZFNpemUgVG90YWwgZG93bmxvYWQgc2l6ZQogICAgICogQHBhcmFtIGludCAgICAgICAgJGRvd25sb2FkZWQgICBBbW91bnQgb2YgYnl0ZXMgZG93bmxvYWRlZAogICAgICogQHBhcmFtIGludCAgICAgICAgJHVwbG9hZFNpemUgICBUb3RhbCB1cGxvYWQgc2l6ZQogICAgICogQHBhcmFtIGludCAgICAgICAgJHVwbG9hZGVkICAgICBBbW91bnQgb2YgYnl0ZXMgdXBsb2FkZWQKICAgICAqIEBwYXJhbSByZXNvdXJjZSAgICRoYW5kbGUgICAgICAgQ3VybEhhbmRsZSBvYmplY3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHByb2dyZXNzKCRkb3dubG9hZFNpemUsICRkb3dubG9hZGVkLCAkdXBsb2FkU2l6ZSwgJHVwbG9hZGVkLCAkaGFuZGxlID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+cmVxdWVzdC0+ZGlzcGF0Y2goJ2N1cmwuY2FsbGJhY2sucHJvZ3Jlc3MnLCBhcnJheSgKICAgICAgICAgICAgJ3JlcXVlc3QnICAgICAgID0+ICR0aGlzLT5yZXF1ZXN0LAogICAgICAgICAgICAnaGFuZGxlJyAgICAgICAgPT4gJGhhbmRsZSwKICAgICAgICAgICAgJ2Rvd25sb2FkX3NpemUnID0+ICRkb3dubG9hZFNpemUsCiAgICAgICAgICAgICdkb3dubG9hZGVkJyAgICA9PiAkZG93bmxvYWRlZCwKICAgICAgICAgICAgJ3VwbG9hZF9zaXplJyAgID0+ICR1cGxvYWRTaXplLAogICAgICAgICAgICAndXBsb2FkZWQnICAgICAgPT4gJHVwbG9hZGVkCiAgICAgICAgKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBXcml0ZSBkYXRhIHRvIHRoZSByZXNwb25zZSBib2R5IG9mIGEgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSByZXNvdXJjZSAkY3VybCAgQ3VybCBoYW5kbGUKICAgICAqIEBwYXJhbSBzdHJpbmcgICAkd3JpdGUgRGF0YSB0aGF0IHdhcyByZWNlaXZlZAogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB3cml0ZVJlc3BvbnNlQm9keSgkY3VybCwgJHdyaXRlKQogICAgewogICAgICAgIGlmICgkdGhpcy0+ZW1pdElvKSB7CiAgICAgICAgICAgICR0aGlzLT5yZXF1ZXN0LT5kaXNwYXRjaCgnY3VybC5jYWxsYmFjay53cml0ZScsIGFycmF5KAogICAgICAgICAgICAgICAgJ3JlcXVlc3QnID0+ICR0aGlzLT5yZXF1ZXN0LAogICAgICAgICAgICAgICAgJ3dyaXRlJyAgID0+ICR3cml0ZQogICAgICAgICAgICApKTsKICAgICAgICB9CgogICAgICAgIGlmICgkcmVzcG9uc2UgPSAkdGhpcy0+cmVxdWVzdC0+Z2V0UmVzcG9uc2UoKSkgewogICAgICAgICAgICByZXR1cm4gJHJlc3BvbnNlLT5nZXRCb2R5KCktPndyaXRlKCR3cml0ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gVW5leHBlY3RlZCBkYXRhIHJlY2VpdmVkIGJlZm9yZSByZXNwb25zZSBoZWFkZXJzIC0gYWJvcnQgdHJhbnNmZXIKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUmVhZCBkYXRhIGZyb20gdGhlIHJlcXVlc3QgYm9keSBhbmQgc2VuZCBpdCB0byBjdXJsCiAgICAgKgogICAgICogQHBhcmFtIHJlc291cmNlICRjaCAgICAgQ3VybCBoYW5kbGUKICAgICAqIEBwYXJhbSByZXNvdXJjZSAkZmQgICAgIEZpbGUgZGVzY3JpcHRvcgogICAgICogQHBhcmFtIGludCAgICAgICRsZW5ndGggQW1vdW50IG9mIGRhdGEgdG8gcmVhZAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZWFkUmVxdWVzdEJvZHkoJGNoLCAkZmQsICRsZW5ndGgpCiAgICB7CiAgICAgICAgaWYgKCEoJGJvZHkgPSAkdGhpcy0+cmVxdWVzdC0+Z2V0Qm9keSgpKSkgewogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICAkcmVhZCA9IChzdHJpbmcpICRib2R5LT5yZWFkKCRsZW5ndGgpOwogICAgICAgIGlmICgkdGhpcy0+ZW1pdElvKSB7CiAgICAgICAgICAgICR0aGlzLT5yZXF1ZXN0LT5kaXNwYXRjaCgnY3VybC5jYWxsYmFjay5yZWFkJywgYXJyYXkoJ3JlcXVlc3QnID0+ICR0aGlzLT5yZXF1ZXN0LCAncmVhZCcgPT4gJHJlYWQpKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVhZDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/EntityBody.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cDsKCnVzZSBHdXp6bGVcQ29tbW9uXFZlcnNpb247CnVzZSBHdXp6bGVcU3RyZWFtXFN0cmVhbTsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1pbWV0eXBlczsKCi8qKgogKiBFbnRpdHkgYm9keSB1c2VkIHdpdGggYW4gSFRUUCByZXF1ZXN0IG9yIHJlc3BvbnNlCiAqLwpjbGFzcyBFbnRpdHlCb2R5IGV4dGVuZHMgU3RyZWFtIGltcGxlbWVudHMgRW50aXR5Qm9keUludGVyZmFjZQp7CiAgICAvKiogQHZhciBib29sIENvbnRlbnQtRW5jb2Rpbmcgb2YgdGhlIGVudGl0eSBib2R5IGlmIGtub3duICovCiAgICBwcm90ZWN0ZWQgJGNvbnRlbnRFbmNvZGluZyA9IGZhbHNlOwoKICAgIC8qKiBAdmFyIGNhbGxhYmxlIE1ldGhvZCB0byBpbnZva2UgZm9yIHJld2luZGluZyBhIHN0cmVhbSAqLwogICAgcHJvdGVjdGVkICRyZXdpbmRGdW5jdGlvbjsKCiAgICAvKioKICAgICAqIENyZWF0ZSBhIG5ldyBFbnRpdHlCb2R5IGJhc2VkIG9uIHRoZSBpbnB1dCB0eXBlCiAgICAgKgogICAgICogQHBhcmFtIHJlc291cmNlfHN0cmluZ3xFbnRpdHlCb2R5ICRyZXNvdXJjZSBFbnRpdHkgYm9keSBkYXRhCiAgICAgKiBAcGFyYW0gaW50ICAgICAgICAgICAgICAgICAgICAgICAgJHNpemUgICAgIFNpemUgb2YgdGhlIGRhdGEgY29udGFpbmVkIGluIHRoZSByZXNvdXJjZQogICAgICoKICAgICAqIEByZXR1cm4gRW50aXR5Qm9keQogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaWYgdGhlICRyZXNvdXJjZSBhcmcgaXMgbm90IGEgcmVzb3VyY2Ugb3Igc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkcmVzb3VyY2UgPSAnJywgJHNpemUgPSBudWxsKQogICAgewogICAgICAgIGlmICgkcmVzb3VyY2UgaW5zdGFuY2VvZiBFbnRpdHlCb2R5SW50ZXJmYWNlKSB7CiAgICAgICAgICAgIHJldHVybiAkcmVzb3VyY2U7CiAgICAgICAgfQoKICAgICAgICBzd2l0Y2ggKGdldHR5cGUoJHJlc291cmNlKSkgewogICAgICAgICAgICBjYXNlICdzdHJpbmcnOgogICAgICAgICAgICAgICAgcmV0dXJuIHNlbGY6OmZyb21TdHJpbmcoJHJlc291cmNlKTsKICAgICAgICAgICAgY2FzZSAncmVzb3VyY2UnOgogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBzdGF0aWMoJHJlc291cmNlLCAkc2l6ZSk7CiAgICAgICAgICAgIGNhc2UgJ29iamVjdCc6CiAgICAgICAgICAgICAgICBpZiAobWV0aG9kX2V4aXN0cygkcmVzb3VyY2UsICdfX3RvU3RyaW5nJykpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZjo6ZnJvbVN0cmluZygoc3RyaW5nKSAkcmVzb3VyY2UpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2FycmF5JzoKICAgICAgICAgICAgICAgIHJldHVybiBzZWxmOjpmcm9tU3RyaW5nKGh0dHBfYnVpbGRfcXVlcnkoJHJlc291cmNlKSk7CiAgICAgICAgfQoKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdJbnZhbGlkIHJlc291cmNlIHR5cGUnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UmV3aW5kRnVuY3Rpb24oJGNhbGxhYmxlKQogICAgewogICAgICAgIGlmICghaXNfY2FsbGFibGUoJGNhbGxhYmxlKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdNdXN0IHNwZWNpZnkgYSBjYWxsYWJsZScpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnJld2luZEZ1bmN0aW9uID0gJGNhbGxhYmxlOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJld2luZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXdpbmRGdW5jdGlvbiA/IGNhbGxfdXNlcl9mdW5jKCR0aGlzLT5yZXdpbmRGdW5jdGlvbiwgJHRoaXMpIDogcGFyZW50OjpyZXdpbmQoKTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIG5ldyBFbnRpdHlCb2R5IGZyb20gYSBzdHJpbmcKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzdHJpbmcgU3RyaW5nIG9mIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIEVudGl0eUJvZHkKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmcm9tU3RyaW5nKCRzdHJpbmcpCiAgICB7CiAgICAgICAgJHN0cmVhbSA9IGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3IrJyk7CiAgICAgICAgaWYgKCRzdHJpbmcgIT09ICcnKSB7CiAgICAgICAgICAgIGZ3cml0ZSgkc3RyZWFtLCAkc3RyaW5nKTsKICAgICAgICAgICAgcmV3aW5kKCRzdHJlYW0pOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG5ldyBzdGF0aWMoJHN0cmVhbSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNvbXByZXNzKCRmaWx0ZXIgPSAnemxpYi5kZWZsYXRlJykKICAgIHsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmhhbmRsZUNvbXByZXNzaW9uKCRmaWx0ZXIpOwogICAgICAgICR0aGlzLT5jb250ZW50RW5jb2RpbmcgPSAkcmVzdWx0ID8gJGZpbHRlciA6IGZhbHNlOwoKICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdW5jb21wcmVzcygkZmlsdGVyID0gJ3psaWIuaW5mbGF0ZScpCiAgICB7CiAgICAgICAgJG9mZnNldFN0YXJ0ID0gMDsKCiAgICAgICAgLy8gV2hlbiBpbmZsYXRpbmcgZ3ppcHBlZCBkYXRhLCB0aGUgZmlyc3QgMTAgYnl0ZXMgbXVzdCBiZSBzdHJpcHBlZAogICAgICAgIC8vIGlmIGEgZ3ppcCBoZWFkZXIgaXMgcHJlc2VudAogICAgICAgIGlmICgkZmlsdGVyID09ICd6bGliLmluZmxhdGUnKSB7CiAgICAgICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVTdGFydAogICAgICAgICAgICBpZiAoISR0aGlzLT5pc1JlYWRhYmxlKCkgfHwgKCR0aGlzLT5pc0NvbnN1bWVkKCkgJiYgISR0aGlzLT5pc1NlZWthYmxlKCkpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZUVuZAogICAgICAgICAgICBpZiAoc3RyZWFtX2dldF9jb250ZW50cygkdGhpcy0+c3RyZWFtLCAzLCAwKSA9PT0gIlx4MWZceDhiXHgwOCIpIHsKICAgICAgICAgICAgICAgICRvZmZzZXRTdGFydCA9IDEwOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+Y29udGVudEVuY29kaW5nID0gZmFsc2U7CgogICAgICAgIHJldHVybiAkdGhpcy0+aGFuZGxlQ29tcHJlc3Npb24oJGZpbHRlciwgJG9mZnNldFN0YXJ0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29udGVudExlbmd0aCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRTaXplKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldENvbnRlbnRUeXBlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldFVyaSgpID8gTWltZXR5cGVzOjpnZXRJbnN0YW5jZSgpLT5mcm9tRmlsZW5hbWUoJHRoaXMtPmdldFVyaSgpKSA6IG51bGw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldENvbnRlbnRNZDUoJHJhd091dHB1dCA9IGZhbHNlLCAkYmFzZTY0RW5jb2RlID0gZmFsc2UpCiAgICB7CiAgICAgICAgaWYgKCRoYXNoID0gc2VsZjo6Z2V0SGFzaCgkdGhpcywgJ21kNScsICRyYXdPdXRwdXQpKSB7CiAgICAgICAgICAgIHJldHVybiAkaGFzaCAmJiAkYmFzZTY0RW5jb2RlID8gYmFzZTY0X2VuY29kZSgkaGFzaCkgOiAkaGFzaDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ2FsY3VsYXRlIHRoZSBNRDUgaGFzaCBvZiBhbiBlbnRpdHkgYm9keQogICAgICoKICAgICAqIEBwYXJhbSBFbnRpdHlCb2R5SW50ZXJmYWNlICRib2R5ICAgICAgICAgRW50aXR5IGJvZHkgdG8gY2FsY3VsYXRlIHRoZSBoYXNoIGZvcgogICAgICogQHBhcmFtIGJvb2wgICAgICAgICAgICAgICAgJHJhd091dHB1dCAgICBXaGV0aGVyIG9yIG5vdCB0byB1c2UgcmF3IG91dHB1dAogICAgICogQHBhcmFtIGJvb2wgICAgICAgICAgICAgICAgJGJhc2U2NEVuY29kZSBXaGV0aGVyIG9yIG5vdCB0byBiYXNlNjQgZW5jb2RlIHJhdyBvdXRwdXQgKG9ubHkgaWYgcmF3IG91dHB1dCBpcyB0cnVlKQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbHxzdHJpbmcgUmV0dXJucyBhbiBNRDUgc3RyaW5nIG9uIHN1Y2Nlc3Mgb3IgRkFMU0Ugb24gZmFpbHVyZQogICAgICogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIGRlcHJlY2F0ZWQgc29vbgogICAgICogQGNvZGVDb3ZlcmFnZUlnbm9yZQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNhbGN1bGF0ZU1kNShFbnRpdHlCb2R5SW50ZXJmYWNlICRib2R5LCAkcmF3T3V0cHV0ID0gZmFsc2UsICRiYXNlNjRFbmNvZGUgPSBmYWxzZSkKICAgIHsKICAgICAgICBWZXJzaW9uOjp3YXJuKF9fQ0xBU1NfXyAuICcgaXMgZGVwcmVjYXRlZC4gVXNlIGdldENvbnRlbnRNZDUoKScpOwogICAgICAgIHJldHVybiAkYm9keS0+Z2V0Q29udGVudE1kNSgkcmF3T3V0cHV0LCAkYmFzZTY0RW5jb2RlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U3RyZWFtRmlsdGVyQ29udGVudEVuY29kaW5nKCRzdHJlYW1GaWx0ZXJDb250ZW50RW5jb2RpbmcpCiAgICB7CiAgICAgICAgJHRoaXMtPmNvbnRlbnRFbmNvZGluZyA9ICRzdHJlYW1GaWx0ZXJDb250ZW50RW5jb2Rpbmc7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29udGVudEVuY29kaW5nKCkKICAgIHsKICAgICAgICByZXR1cm4gc3RydHIoJHRoaXMtPmNvbnRlbnRFbmNvZGluZywgYXJyYXkoCiAgICAgICAgICAgICd6bGliLmRlZmxhdGUnID0+ICdnemlwJywKICAgICAgICAgICAgJ2J6aXAyLmNvbXByZXNzJyA9PiAnY29tcHJlc3MnCiAgICAgICAgKSkgPzogZmFsc2U7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGhhbmRsZUNvbXByZXNzaW9uKCRmaWx0ZXIsICRvZmZzZXRTdGFydCA9IDApCiAgICB7CiAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZVN0YXJ0CiAgICAgICAgaWYgKCEkdGhpcy0+aXNSZWFkYWJsZSgpIHx8ICgkdGhpcy0+aXNDb25zdW1lZCgpICYmICEkdGhpcy0+aXNTZWVrYWJsZSgpKSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVFbmQKCiAgICAgICAgJGhhbmRsZSA9IGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3IrJyk7CiAgICAgICAgJGZpbHRlciA9IEBzdHJlYW1fZmlsdGVyX2FwcGVuZCgkaGFuZGxlLCAkZmlsdGVyLCBTVFJFQU1fRklMVEVSX1dSSVRFKTsKICAgICAgICBpZiAoISRmaWx0ZXIpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgLy8gU2VlayB0byB0aGUgb2Zmc2V0IHN0YXJ0IGlmIHBvc3NpYmxlCiAgICAgICAgJHRoaXMtPnNlZWsoJG9mZnNldFN0YXJ0KTsKICAgICAgICB3aGlsZSAoJGRhdGEgPSBmcmVhZCgkdGhpcy0+c3RyZWFtLCA4MDk2KSkgewogICAgICAgICAgICBmd3JpdGUoJGhhbmRsZSwgJGRhdGEpOwogICAgICAgIH0KCiAgICAgICAgZmNsb3NlKCR0aGlzLT5zdHJlYW0pOwogICAgICAgICR0aGlzLT5zdHJlYW0gPSAkaGFuZGxlOwogICAgICAgIHN0cmVhbV9maWx0ZXJfcmVtb3ZlKCRmaWx0ZXIpOwogICAgICAgICRzdGF0ID0gZnN0YXQoJHRoaXMtPnN0cmVhbSk7CiAgICAgICAgJHRoaXMtPnNpemUgPSAkc3RhdFsnc2l6ZSddOwogICAgICAgICR0aGlzLT5yZWJ1aWxkQ2FjaGUoKTsKICAgICAgICAkdGhpcy0+c2VlaygwKTsKCiAgICAgICAgLy8gUmVtb3ZlIGFueSBleGlzdGluZyByZXdpbmQgZnVuY3Rpb24gYXMgdGhlIHVuZGVybHlpbmcgc3RyZWFtIGhhcyBiZWVuIHJlcGxhY2VkCiAgICAgICAgJHRoaXMtPnJld2luZEZ1bmN0aW9uID0gbnVsbDsKCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/EntityBodyInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cDsKCnVzZSBHdXp6bGVcU3RyZWFtXFN0cmVhbUludGVyZmFjZTsKCi8qKgogKiBFbnRpdHkgYm9keSB1c2VkIHdpdGggYW4gSFRUUCByZXF1ZXN0IG9yIHJlc3BvbnNlCiAqLwppbnRlcmZhY2UgRW50aXR5Qm9keUludGVyZmFjZSBleHRlbmRzIFN0cmVhbUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIFNwZWNpZnkgYSBjdXN0b20gY2FsbGJhY2sgdXNlZCB0byByZXdpbmQgYSBub24tc2Vla2FibGUgc3RyZWFtLiBUaGlzIGNhbiBiZSB1c2VmdWwgZW50aXR5IGVuY2xvc2luZyByZXF1ZXN0cwogICAgICogdGhhdCBhcmUgcmVkaXJlY3RlZC4KICAgICAqCiAgICAgKiBAcGFyYW0gbWl4ZWQgJGNhbGxhYmxlIENhbGxhYmxlIHRvIGludm9rZSB0byByZXdpbmQgYSBub24tc2Vla2FibGUgc3RyZWFtLiBUaGUgY2FsbGJhY2sgbXVzdCBhY2NlcHQgYW4KICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgRW50aXR5Qm9keUludGVyZmFjZSBvYmplY3QsIHBlcmZvcm0gdGhlIHJld2luZCBpZiBwb3NzaWJsZSwgYW5kIHJldHVybiBhIGJvb2xlYW4KICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgcmVwcmVzZW50aW5nIHdoZXRoZXIgb3Igbm90IHRoZSByZXdpbmQgd2FzIHN1Y2Nlc3NmdWwuCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFJld2luZEZ1bmN0aW9uKCRjYWxsYWJsZSk7CgogICAgLyoqCiAgICAgKiBJZiB0aGUgc3RyZWFtIGlzIHJlYWRhYmxlLCBjb21wcmVzcyB0aGUgZGF0YSBpbiB0aGUgc3RyZWFtIHVzaW5nIGRlZmxhdGUgY29tcHJlc3Npb24uIFRoZSB1bmNvbXByZXNzZWQgc3RyZWFtIGlzCiAgICAgKiB0aGVuIGNsb3NlZCwgYW5kIHRoZSBjb21wcmVzc2VkIHN0cmVhbSB0aGVuIGJlY29tZXMgdGhlIHdyYXBwZWQgc3RyZWFtLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGZpbHRlciBDb21wcmVzc2lvbiBmaWx0ZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wgUmV0dXJucyBUUlVFIG9uIHN1Y2Nlc3Mgb3IgRkFMU0Ugb24gZmFpbHVyZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY29tcHJlc3MoJGZpbHRlciA9ICd6bGliLmRlZmxhdGUnKTsKCiAgICAvKioKICAgICAqIERlY29tcHJlc3MgYSBkZWZsYXRlZCBzdHJpbmcuIE9uY2UgdW5jb21wcmVzc2VkLCB0aGUgdW5jb21wcmVzc2VkIHN0cmluZyBpcyB0aGVuIHVzZWQgYXMgdGhlIHdyYXBwZWQgc3RyZWFtLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGZpbHRlciBEZS1jb21wcmVzc2lvbiBmaWx0ZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wgUmV0dXJucyBUUlVFIG9uIHN1Y2Nlc3Mgb3IgRkFMU0Ugb24gZmFpbHVyZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdW5jb21wcmVzcygkZmlsdGVyID0gJ3psaWIuaW5mbGF0ZScpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBDb250ZW50LUxlbmd0aCBvZiB0aGUgZW50aXR5IGJvZHkgaWYgcG9zc2libGUgKGFsaWFzIG9mIGdldFNpemUpCiAgICAgKgogICAgICogQHJldHVybiBpbnR8Ym9vbCBSZXR1cm5zIHRoZSBDb250ZW50LUxlbmd0aCBvciBmYWxzZSBvbiBmYWlsdXJlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb250ZW50TGVuZ3RoKCk7CgogICAgLyoqCiAgICAgKiBHdWVzcyB0aGUgQ29udGVudC1UeXBlIG9mIGEgbG9jYWwgc3RyZWFtCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICogQHNlZSBodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLmZpbmZvLW9wZW4ucGhwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb250ZW50VHlwZSgpOwoKICAgIC8qKgogICAgICogR2V0IGFuIE1ENSBjaGVja3N1bSBvZiB0aGUgc3RyZWFtJ3MgY29udGVudHMKICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbCAkcmF3T3V0cHV0ICAgIFdoZXRoZXIgb3Igbm90IHRvIHVzZSByYXcgb3V0cHV0CiAgICAgKiBAcGFyYW0gYm9vbCAkYmFzZTY0RW5jb2RlIFdoZXRoZXIgb3Igbm90IHRvIGJhc2U2NCBlbmNvZGUgcmF3IG91dHB1dCAob25seSBpZiByYXcgb3V0cHV0IGlzIHRydWUpCiAgICAgKgogICAgICogQHJldHVybiBib29sfHN0cmluZyBSZXR1cm5zIGFuIE1ENSBzdHJpbmcgb24gc3VjY2VzcyBvciBGQUxTRSBvbiBmYWlsdXJlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb250ZW50TWQ1KCRyYXdPdXRwdXQgPSBmYWxzZSwgJGJhc2U2NEVuY29kZSA9IGZhbHNlKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgQ29udGVudC1FbmNvZGluZyBvZiB0aGUgRW50aXR5Qm9keQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbHxzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENvbnRlbnRFbmNvZGluZygpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Exception/BadResponseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxFeGNlcHRpb247Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCi8qKgogKiBIdHRwIHJlcXVlc3QgZXhjZXB0aW9uIHRocm93biB3aGVuIGEgYmFkIHJlc3BvbnNlIGlzIHJlY2VpdmVkCiAqLwpjbGFzcyBCYWRSZXNwb25zZUV4Y2VwdGlvbiBleHRlbmRzIFJlcXVlc3RFeGNlcHRpb24KewogICAgLyoqIEB2YXIgUmVzcG9uc2UgKi8KICAgIHByaXZhdGUgJHJlc3BvbnNlOwoKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IHJlc3BvbnNlIGV4Y2VwdGlvbiBiYXNlZCBvbiB0aGUgcmVzcG9uc2UgY29kZS4KICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCAgUmVxdWVzdAogICAgICogQHBhcmFtIFJlc3BvbnNlICAgICAgICAgJHJlc3BvbnNlIFJlc3BvbnNlIHJlY2VpdmVkCiAgICAgKgogICAgICogQHJldHVybiBCYWRSZXNwb25zZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgUmVzcG9uc2UgJHJlc3BvbnNlKQogICAgewogICAgICAgIGlmICgkcmVzcG9uc2UtPmlzQ2xpZW50RXJyb3IoKSkgewogICAgICAgICAgICAkbGFiZWwgPSAnQ2xpZW50IGVycm9yIHJlc3BvbnNlJzsKICAgICAgICAgICAgJGNsYXNzID0gX19OQU1FU1BBQ0VfXyAuICdcXENsaWVudEVycm9yUmVzcG9uc2VFeGNlcHRpb24nOwogICAgICAgIH0gZWxzZWlmICgkcmVzcG9uc2UtPmlzU2VydmVyRXJyb3IoKSkgewogICAgICAgICAgICAkbGFiZWwgPSAnU2VydmVyIGVycm9yIHJlc3BvbnNlJzsKICAgICAgICAgICAgJGNsYXNzID0gX19OQU1FU1BBQ0VfXyAuICdcXFNlcnZlckVycm9yUmVzcG9uc2VFeGNlcHRpb24nOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRsYWJlbCA9ICdVbnN1Y2Nlc3NmdWwgcmVzcG9uc2UnOwogICAgICAgICAgICAkY2xhc3MgPSBfX0NMQVNTX187CiAgICAgICAgfQoKICAgICAgICAkbWVzc2FnZSA9ICRsYWJlbCAuIFBIUF9FT0wgLiBpbXBsb2RlKFBIUF9FT0wsIGFycmF5KAogICAgICAgICAgICAnW3N0YXR1cyBjb2RlXSAnIC4gJHJlc3BvbnNlLT5nZXRTdGF0dXNDb2RlKCksCiAgICAgICAgICAgICdbcmVhc29uIHBocmFzZV0gJyAuICRyZXNwb25zZS0+Z2V0UmVhc29uUGhyYXNlKCksCiAgICAgICAgICAgICdbdXJsXSAnIC4gJHJlcXVlc3QtPmdldFVybCgpLAogICAgICAgICkpOwoKICAgICAgICAkZSA9IG5ldyAkY2xhc3MoJG1lc3NhZ2UpOwogICAgICAgICRlLT5zZXRSZXNwb25zZSgkcmVzcG9uc2UpOwogICAgICAgICRlLT5zZXRSZXF1ZXN0KCRyZXF1ZXN0KTsKCiAgICAgICAgcmV0dXJuICRlOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSByZXNwb25zZSB0aGF0IGNhdXNlZCB0aGUgZXhjZXB0aW9uCiAgICAgKgogICAgICogQHBhcmFtIFJlc3BvbnNlICRyZXNwb25zZSBSZXNwb25zZSB0byBzZXQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFJlc3BvbnNlKFJlc3BvbnNlICRyZXNwb25zZSkKICAgIHsKICAgICAgICAkdGhpcy0+cmVzcG9uc2UgPSAkcmVzcG9uc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHJlc3BvbnNlIHRoYXQgY2F1c2VkIHRoZSBleGNlcHRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIFJlc3BvbnNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXNwb25zZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXNwb25zZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Exception/ClientErrorResponseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHdoZW4gYSBjbGllbnQgZXJyb3IgaXMgZW5jb3VudGVyZWQgKDR4eCBjb2RlcykKICovCmNsYXNzIENsaWVudEVycm9yUmVzcG9uc2VFeGNlcHRpb24gZXh0ZW5kcyBCYWRSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Exception/CouldNotRewindStreamException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxFeGNlcHRpb247Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKCmNsYXNzIENvdWxkTm90UmV3aW5kU3RyZWFtRXhjZXB0aW9uIGV4dGVuZHMgUnVudGltZUV4Y2VwdGlvbiBpbXBsZW1lbnRzIEh0dHBFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Exception/CurlException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxFeGNlcHRpb247Cgp1c2UgR3V6emxlXEh0dHBcQ3VybFxDdXJsSGFuZGxlOwoKLyoqCiAqIGNVUkwgcmVxdWVzdCBleGNlcHRpb24KICovCmNsYXNzIEN1cmxFeGNlcHRpb24gZXh0ZW5kcyBSZXF1ZXN0RXhjZXB0aW9uCnsKICAgIHByaXZhdGUgJGN1cmxFcnJvcjsKICAgIHByaXZhdGUgJGN1cmxFcnJvck5vOwogICAgcHJpdmF0ZSAkaGFuZGxlOwogICAgcHJpdmF0ZSAkY3VybEluZm8gPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBjVVJMIGVycm9yIG1lc3NhZ2UKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlcnJvciAgQ3VybCBlcnJvcgogICAgICogQHBhcmFtIGludCAgICAkbnVtYmVyIEN1cmwgZXJyb3IgbnVtYmVyCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRFcnJvcigkZXJyb3IsICRudW1iZXIpCiAgICB7CiAgICAgICAgJHRoaXMtPmN1cmxFcnJvciA9ICRlcnJvcjsKICAgICAgICAkdGhpcy0+Y3VybEVycm9yTm8gPSAkbnVtYmVyOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGFzc29jaWF0ZWQgY3VybCBoYW5kbGUKICAgICAqCiAgICAgKiBAcGFyYW0gQ3VybEhhbmRsZSAkaGFuZGxlIEN1cmwgaGFuZGxlCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDdXJsSGFuZGxlKEN1cmxIYW5kbGUgJGhhbmRsZSkKICAgIHsKICAgICAgICAkdGhpcy0+aGFuZGxlID0gJGhhbmRsZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBhc3NvY2lhdGVkIGNVUkwgaGFuZGxlCiAgICAgKgogICAgICogQHJldHVybiBDdXJsSGFuZGxlfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEN1cmxIYW5kbGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+aGFuZGxlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBhc3NvY2lhdGVkIGNVUkwgZXJyb3IgbWVzc2FnZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEVycm9yKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmN1cmxFcnJvcjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgYXNzb2NpYXRlZCBjVVJMIGVycm9yIG51bWJlcgogICAgICoKICAgICAqIEByZXR1cm4gaW50fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEVycm9yTm8oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y3VybEVycm9yTm87CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGN1cmwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRyYW5zZmVyCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q3VybEluZm8oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y3VybEluZm87CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgY3VybCB0cmFuc2ZlciBpbmZvcm1hdGlvbgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkaW5mbyBBcnJheSBvZiBjdXJsIHRyYW5zZmVyIGluZm9ybWF0aW9uCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAbGluayBodHRwOi8vcGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uY3VybC1nZXRpbmZvLnBocAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Q3VybEluZm8oYXJyYXkgJGluZm8pCiAgICB7CiAgICAgICAgJHRoaXMtPmN1cmxJbmZvID0gJGluZm87CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Exception/HttpException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxFeGNlcHRpb247Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cR3V6emxlRXhjZXB0aW9uOwoKLyoqCiAqIEh0dHAgZXhjZXB0aW9uIGludGVyZmFjZQogKi8KaW50ZXJmYWNlIEh0dHBFeGNlcHRpb24gZXh0ZW5kcyBHdXp6bGVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Exception/MultiTransferException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxFeGNlcHRpb247Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cRXhjZXB0aW9uQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKCi8qKgogKiBFeGNlcHRpb24gZW5jb3VudGVyZWQgZHVyaW5nIGEgbXVsdGkgdHJhbnNmZXIKICovCmNsYXNzIE11bHRpVHJhbnNmZXJFeGNlcHRpb24gZXh0ZW5kcyBFeGNlcHRpb25Db2xsZWN0aW9uCnsKICAgIHByb3RlY3RlZCAkc3VjY2Vzc2Z1bFJlcXVlc3RzID0gYXJyYXkoKTsKICAgIHByb3RlY3RlZCAkZmFpbGVkUmVxdWVzdHMgPSBhcnJheSgpOwogICAgcHJvdGVjdGVkICRleGNlcHRpb25Gb3JSZXF1ZXN0ID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIEdldCBhbGwgb2YgdGhlIHJlcXVlc3RzIGluIHRoZSB0cmFuc2ZlcgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFsbFJlcXVlc3RzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXlfbWVyZ2UoJHRoaXMtPnN1Y2Nlc3NmdWxSZXF1ZXN0cywgJHRoaXMtPmZhaWxlZFJlcXVlc3RzKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCB0byB0aGUgYXJyYXkgb2Ygc3VjY2Vzc2Z1bCByZXF1ZXN0cwogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0IFN1Y2Nlc3NmdWwgcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkU3VjY2Vzc2Z1bFJlcXVlc3QoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCkKICAgIHsKICAgICAgICAkdGhpcy0+c3VjY2Vzc2Z1bFJlcXVlc3RzW10gPSAkcmVxdWVzdDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIHRvIHRoZSBhcnJheSBvZiBmYWlsZWQgcmVxdWVzdHMKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCBGYWlsZWQgcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkRmFpbGVkUmVxdWVzdChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgICR0aGlzLT5mYWlsZWRSZXF1ZXN0c1tdID0gJHJlcXVlc3Q7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCB0byB0aGUgYXJyYXkgb2YgZmFpbGVkIHJlcXVlc3RzIGFuZCBhc3NvY2lhdGUgd2l0aCBleGNlcHRpb25zCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgICBGYWlsZWQgcmVxdWVzdAogICAgICogQHBhcmFtIFxFeGNlcHRpb24gICAgICAgJGV4Y2VwdGlvbiBFeGNlcHRpb24gdG8gYWRkIGFuZCBhc3NvY2lhdGUgd2l0aAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkRmFpbGVkUmVxdWVzdFdpdGhFeGNlcHRpb24oUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgXEV4Y2VwdGlvbiAkZXhjZXB0aW9uKQogICAgewogICAgICAgICR0aGlzLT5hZGQoJGV4Y2VwdGlvbikKICAgICAgICAgICAgIC0+YWRkRmFpbGVkUmVxdWVzdCgkcmVxdWVzdCkKICAgICAgICAgICAgIC0+ZXhjZXB0aW9uRm9yUmVxdWVzdFtzcGxfb2JqZWN0X2hhc2goJHJlcXVlc3QpXSA9ICRleGNlcHRpb247CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgRXhjZXB0aW9uIHRoYXQgY2F1c2VkIHRoZSBnaXZlbiAkcmVxdWVzdCB0byBmYWlsCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgRmFpbGVkIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcmV0dXJuIFxFeGNlcHRpb258bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXhjZXB0aW9uRm9yRmFpbGVkUmVxdWVzdChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgICRvaWQgPSBzcGxfb2JqZWN0X2hhc2goJHJlcXVlc3QpOwoKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPmV4Y2VwdGlvbkZvclJlcXVlc3RbJG9pZF0pID8gJHRoaXMtPmV4Y2VwdGlvbkZvclJlcXVlc3RbJG9pZF0gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IGFsbCBvZiB0aGUgc3VjY2Vzc2Z1bCByZXF1ZXN0cwogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSBBcnJheSBvZiByZXF1ZXN0cwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U3VjY2Vzc2Z1bFJlcXVlc3RzKGFycmF5ICRyZXF1ZXN0cykKICAgIHsKICAgICAgICAkdGhpcy0+c3VjY2Vzc2Z1bFJlcXVlc3RzID0gJHJlcXVlc3RzOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgYWxsIG9mIHRoZSBmYWlsZWQgcmVxdWVzdHMKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgQXJyYXkgb2YgcmVxdWVzdHMKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEZhaWxlZFJlcXVlc3RzKGFycmF5ICRyZXF1ZXN0cykKICAgIHsKICAgICAgICAkdGhpcy0+ZmFpbGVkUmVxdWVzdHMgPSAkcmVxdWVzdHM7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbiBhcnJheSBvZiBzdWNjZXNzZnVsIHJlcXVlc3RzIHNlbnQgaW4gdGhlIG11bHRpIHRyYW5zZmVyCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U3VjY2Vzc2Z1bFJlcXVlc3RzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnN1Y2Nlc3NmdWxSZXF1ZXN0czsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbiBhcnJheSBvZiBmYWlsZWQgcmVxdWVzdHMgc2VudCBpbiB0aGUgbXVsdGkgdHJhbnNmZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGYWlsZWRSZXF1ZXN0cygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5mYWlsZWRSZXF1ZXN0czsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIHRoZSBleGNlcHRpb24gb2JqZWN0IGNvbnRhaW5zIGEgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0IFJlcXVlc3QgdG8gY2hlY2sKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNvbnRhaW5zUmVxdWVzdChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgIHJldHVybiBpbl9hcnJheSgkcmVxdWVzdCwgJHRoaXMtPmZhaWxlZFJlcXVlc3RzLCB0cnVlKSB8fCBpbl9hcnJheSgkcmVxdWVzdCwgJHRoaXMtPnN1Y2Nlc3NmdWxSZXF1ZXN0cywgdHJ1ZSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Exception/RequestException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxFeGNlcHRpb247Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKCi8qKgogKiBIdHRwIHJlcXVlc3QgZXhjZXB0aW9uCiAqLwpjbGFzcyBSZXF1ZXN0RXhjZXB0aW9uIGV4dGVuZHMgUnVudGltZUV4Y2VwdGlvbiBpbXBsZW1lbnRzIEh0dHBFeGNlcHRpb24KewogICAgLyoqIEB2YXIgUmVxdWVzdEludGVyZmFjZSAqLwogICAgcHJvdGVjdGVkICRyZXF1ZXN0OwoKICAgIC8qKgogICAgICogU2V0IHRoZSByZXF1ZXN0IHRoYXQgY2F1c2VkIHRoZSBleGNlcHRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCBSZXF1ZXN0IHRvIHNldAogICAgICoKICAgICAqIEByZXR1cm4gUmVxdWVzdEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UmVxdWVzdChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgICR0aGlzLT5yZXF1ZXN0ID0gJHJlcXVlc3Q7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcmVxdWVzdCB0aGF0IGNhdXNlZCB0aGUgZXhjZXB0aW9uCiAgICAgKgogICAgICogQHJldHVybiBSZXF1ZXN0SW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXF1ZXN0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlcXVlc3Q7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Exception/ServerErrorResponseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxFeGNlcHRpb247CgovKioKICogRXhjZXB0aW9uIHdoZW4gYSBzZXJ2ZXIgZXJyb3IgaXMgZW5jb3VudGVyZWQgKDV4eCBjb2RlcykKICovCmNsYXNzIFNlcnZlckVycm9yUmVzcG9uc2VFeGNlcHRpb24gZXh0ZW5kcyBCYWRSZXNwb25zZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Exception/TooManyRedirectsException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxFeGNlcHRpb247CgpjbGFzcyBUb29NYW55UmVkaXJlY3RzRXhjZXB0aW9uIGV4dGVuZHMgQmFkUmVzcG9uc2VFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/IoEmittingEntityBody.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cDsKCnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgR3V6emxlXENvbW1vblxIYXNEaXNwYXRjaGVySW50ZXJmYWNlOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50RGlzcGF0Y2hlcjsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CnVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlOwoKLyoqCiAqIEVudGl0eUJvZHkgZGVjb3JhdG9yIHRoYXQgZW1pdHMgZXZlbnRzIGZvciByZWFkIGFuZCB3cml0ZSBtZXRob2RzCiAqLwpjbGFzcyBJb0VtaXR0aW5nRW50aXR5Qm9keSBleHRlbmRzIEFic3RyYWN0RW50aXR5Qm9keURlY29yYXRvciBpbXBsZW1lbnRzIEhhc0Rpc3BhdGNoZXJJbnRlcmZhY2UKewogICAgLyoqIEB2YXIgRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlICovCiAgICBwcm90ZWN0ZWQgJGV2ZW50RGlzcGF0Y2hlcjsKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEFsbEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KCdib2R5LnJlYWQnLCAnYm9keS53cml0ZScpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICogQGNvZGVDb3ZlcmFnZUlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RXZlbnREaXNwYXRjaGVyKEV2ZW50RGlzcGF0Y2hlckludGVyZmFjZSAkZXZlbnREaXNwYXRjaGVyKQogICAgewogICAgICAgICR0aGlzLT5ldmVudERpc3BhdGNoZXIgPSAkZXZlbnREaXNwYXRjaGVyOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldEV2ZW50RGlzcGF0Y2hlcigpCiAgICB7CiAgICAgICAgaWYgKCEkdGhpcy0+ZXZlbnREaXNwYXRjaGVyKSB7CiAgICAgICAgICAgICR0aGlzLT5ldmVudERpc3BhdGNoZXIgPSBuZXcgRXZlbnREaXNwYXRjaGVyKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPmV2ZW50RGlzcGF0Y2hlcjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGlzcGF0Y2goJGV2ZW50TmFtZSwgYXJyYXkgJGNvbnRleHQgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmRpc3BhdGNoKCRldmVudE5hbWUsIG5ldyBFdmVudCgkY29udGV4dCkpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICogQGNvZGVDb3ZlcmFnZUlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkU3Vic2NyaWJlcihFdmVudFN1YnNjcmliZXJJbnRlcmZhY2UgJHN1YnNjcmliZXIpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKCRzdWJzY3JpYmVyKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZWFkKCRsZW5ndGgpCiAgICB7CiAgICAgICAgJGV2ZW50ID0gYXJyYXkoCiAgICAgICAgICAgICdib2R5JyAgID0+ICR0aGlzLAogICAgICAgICAgICAnbGVuZ3RoJyA9PiAkbGVuZ3RoLAogICAgICAgICAgICAncmVhZCcgICA9PiAkdGhpcy0+Ym9keS0+cmVhZCgkbGVuZ3RoKQogICAgICAgICk7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoKCdib2R5LnJlYWQnLCAkZXZlbnQpOwoKICAgICAgICByZXR1cm4gJGV2ZW50WydyZWFkJ107CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHdyaXRlKCRzdHJpbmcpCiAgICB7CiAgICAgICAgJGV2ZW50ID0gYXJyYXkoCiAgICAgICAgICAgICdib2R5JyAgID0+ICR0aGlzLAogICAgICAgICAgICAnd3JpdGUnICA9PiAkc3RyaW5nLAogICAgICAgICAgICAncmVzdWx0JyA9PiAkdGhpcy0+Ym9keS0+d3JpdGUoJHN0cmluZykKICAgICAgICApOwogICAgICAgICR0aGlzLT5kaXNwYXRjaCgnYm9keS53cml0ZScsICRldmVudCk7CgogICAgICAgIHJldHVybiAkZXZlbnRbJ3Jlc3VsdCddOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/AbstractMessage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxDb21tb25cVmVyc2lvbjsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcSGVhZGVyXEhlYWRlckNvbGxlY3Rpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlclxIZWFkZXJGYWN0b3J5Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxIZWFkZXJcSGVhZGVyRmFjdG9yeUludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcSGVhZGVyXEhlYWRlckludGVyZmFjZTsKCi8qKgogKiBBYnN0cmFjdCBIVFRQIHJlcXVlc3QvcmVzcG9uc2UgbWVzc2FnZQogKi8KYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RNZXNzYWdlIGltcGxlbWVudHMgTWVzc2FnZUludGVyZmFjZQp7CiAgICAvKiogQHZhciBhcnJheSBIVFRQIGhlYWRlciBjb2xsZWN0aW9uICovCiAgICBwcm90ZWN0ZWQgJGhlYWRlcnM7CgogICAgLyoqIEB2YXIgSGVhZGVyRmFjdG9yeUludGVyZmFjZSAkaGVhZGVyRmFjdG9yeSAqLwogICAgcHJvdGVjdGVkICRoZWFkZXJGYWN0b3J5OwoKICAgIC8qKiBAdmFyIENvbGxlY3Rpb24gQ3VzdG9tIG1lc3NhZ2UgcGFyYW1ldGVycyB0aGF0IGFyZSBleHRlbmRhYmxlIGJ5IHBsdWdpbnMgKi8KICAgIHByb3RlY3RlZCAkcGFyYW1zOwoKICAgIC8qKiBAdmFyIHN0cmluZyBNZXNzYWdlIHByb3RvY29sICovCiAgICBwcm90ZWN0ZWQgJHByb3RvY29sID0gJ0hUVFAnOwoKICAgIC8qKiBAdmFyIHN0cmluZyBIVFRQIHByb3RvY29sIHZlcnNpb24gb2YgdGhlIG1lc3NhZ2UgKi8KICAgIHByb3RlY3RlZCAkcHJvdG9jb2xWZXJzaW9uID0gJzEuMSc7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgIHsKICAgICAgICAkdGhpcy0+cGFyYW1zID0gbmV3IENvbGxlY3Rpb24oKTsKICAgICAgICAkdGhpcy0+aGVhZGVyRmFjdG9yeSA9IG5ldyBIZWFkZXJGYWN0b3J5KCk7CiAgICAgICAgJHRoaXMtPmhlYWRlcnMgPSBuZXcgSGVhZGVyQ29sbGVjdGlvbigpOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBoZWFkZXIgZmFjdG9yeSB0byB1c2UgdG8gY3JlYXRlIGhlYWRlcnMKICAgICAqCiAgICAgKiBAcGFyYW0gSGVhZGVyRmFjdG9yeUludGVyZmFjZSAkZmFjdG9yeQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0SGVhZGVyRmFjdG9yeShIZWFkZXJGYWN0b3J5SW50ZXJmYWNlICRmYWN0b3J5KQogICAgewogICAgICAgICR0aGlzLT5oZWFkZXJGYWN0b3J5ID0gJGZhY3Rvcnk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGFyYW1zKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnBhcmFtczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkSGVhZGVyKCRoZWFkZXIsICR2YWx1ZSkKICAgIHsKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPmhlYWRlcnNbJGhlYWRlcl0pKSB7CiAgICAgICAgICAgICR0aGlzLT5oZWFkZXJzWyRoZWFkZXJdLT5hZGQoJHZhbHVlKTsKICAgICAgICB9IGVsc2VpZiAoJHZhbHVlIGluc3RhbmNlb2YgSGVhZGVySW50ZXJmYWNlKSB7CiAgICAgICAgICAgICR0aGlzLT5oZWFkZXJzWyRoZWFkZXJdID0gJHZhbHVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5oZWFkZXJzWyRoZWFkZXJdID0gJHRoaXMtPmhlYWRlckZhY3RvcnktPmNyZWF0ZUhlYWRlcigkaGVhZGVyLCAkdmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRIZWFkZXJzKGFycmF5ICRoZWFkZXJzKQogICAgewogICAgICAgIGZvcmVhY2ggKCRoZWFkZXJzIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICR0aGlzLT5hZGRIZWFkZXIoJGtleSwgJHZhbHVlKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SGVhZGVyKCRoZWFkZXIpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5oZWFkZXJzWyRoZWFkZXJdOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRIZWFkZXJzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmhlYWRlcnM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldEhlYWRlckxpbmVzKCkKICAgIHsKICAgICAgICAkaGVhZGVycyA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmhlYWRlcnMgYXMgJHZhbHVlKSB7CiAgICAgICAgICAgICRoZWFkZXJzW10gPSAkdmFsdWUtPmdldE5hbWUoKSAuICc6ICcgLiAkdmFsdWU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGhlYWRlcnM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldEhlYWRlcigkaGVhZGVyLCAkdmFsdWUpCiAgICB7CiAgICAgICAgdW5zZXQoJHRoaXMtPmhlYWRlcnNbJGhlYWRlcl0pOwogICAgICAgICR0aGlzLT5hZGRIZWFkZXIoJGhlYWRlciwgJHZhbHVlKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRIZWFkZXJzKGFycmF5ICRoZWFkZXJzKQogICAgewogICAgICAgICR0aGlzLT5oZWFkZXJzLT5jbGVhcigpOwogICAgICAgIGZvcmVhY2ggKCRoZWFkZXJzIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICR0aGlzLT5hZGRIZWFkZXIoJGtleSwgJHZhbHVlKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzSGVhZGVyKCRoZWFkZXIpCiAgICB7CiAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5oZWFkZXJzWyRoZWFkZXJdKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlSGVhZGVyKCRoZWFkZXIpCiAgICB7CiAgICAgICAgdW5zZXQoJHRoaXMtPmhlYWRlcnNbJGhlYWRlcl0pOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJG1lc3NhZ2UtPmdldEhlYWRlcigpLT5wYXJzZVBhcmFtcygpCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUb2tlbml6ZWRIZWFkZXIoJGhlYWRlciwgJHRva2VuID0gJzsnKQogICAgewogICAgICAgIFZlcnNpb246Ondhcm4oX19NRVRIT0RfXyAuICcgaXMgZGVwcmVjYXRlZC4gVXNlICRtZXNzYWdlLT5nZXRIZWFkZXIoKS0+cGFyc2VQYXJhbXMoKScpOwogICAgICAgIGlmICgkdGhpcy0+aGFzSGVhZGVyKCRoZWFkZXIpKSB7CiAgICAgICAgICAgICRkYXRhID0gbmV3IENvbGxlY3Rpb24oKTsKICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmdldEhlYWRlcigkaGVhZGVyKS0+cGFyc2VQYXJhbXMoKSBhcyAkdmFsdWVzKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkdmFsdWVzIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCR2YWx1ZSA9PT0gJycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGRhdGEtPnNldCgkZGF0YS0+Y291bnQoKSwgJGtleSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGRhdGEtPmFkZCgka2V5LCAkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJGRhdGE7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQGRlcHJlY2F0ZWQKICAgICAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFRva2VuaXplZEhlYWRlcigkaGVhZGVyLCAkZGF0YSwgJHRva2VuID0gJzsnKQogICAgewogICAgICAgIFZlcnNpb246Ondhcm4oX19NRVRIT0RfXyAuICcgaXMgZGVwcmVjYXRlZC4nKTsKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwcmVjYXRlZAogICAgICogQGNvZGVDb3ZlcmFnZUlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2FjaGVDb250cm9sRGlyZWN0aXZlKCRkaXJlY3RpdmUpCiAgICB7CiAgICAgICAgVmVyc2lvbjo6d2FybihfX01FVEhPRF9fIC4gJyBpcyBkZXByZWNhdGVkLiBVc2UgJG1lc3NhZ2UtPmdldEhlYWRlcihcJ0NhY2hlLUNvbnRyb2xcJyktPmdldERpcmVjdGl2ZSgpJyk7CiAgICAgICAgaWYgKCEoJGhlYWRlciA9ICR0aGlzLT5nZXRIZWFkZXIoJ0NhY2hlLUNvbnRyb2wnKSkpIHsKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGhlYWRlci0+Z2V0RGlyZWN0aXZlKCRkaXJlY3RpdmUpOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcHJlY2F0ZWQKICAgICAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGhhc0NhY2hlQ29udHJvbERpcmVjdGl2ZSgkZGlyZWN0aXZlKQogICAgewogICAgICAgIFZlcnNpb246Ondhcm4oX19NRVRIT0RfXyAuICcgaXMgZGVwcmVjYXRlZC4gVXNlICRtZXNzYWdlLT5nZXRIZWFkZXIoXCdDYWNoZS1Db250cm9sXCcpLT5oYXNEaXJlY3RpdmUoKScpOwogICAgICAgIGlmICgkaGVhZGVyID0gJHRoaXMtPmdldEhlYWRlcignQ2FjaGUtQ29udHJvbCcpKSB7CiAgICAgICAgICAgIHJldHVybiAkaGVhZGVyLT5oYXNEaXJlY3RpdmUoJGRpcmVjdGl2ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRDYWNoZUNvbnRyb2xEaXJlY3RpdmUoJGRpcmVjdGl2ZSwgJHZhbHVlID0gdHJ1ZSkKICAgIHsKICAgICAgICBWZXJzaW9uOjp3YXJuKF9fTUVUSE9EX18gLiAnIGlzIGRlcHJlY2F0ZWQuIFVzZSAkbWVzc2FnZS0+Z2V0SGVhZGVyKFwnQ2FjaGUtQ29udHJvbFwnKS0+YWRkRGlyZWN0aXZlKCknKTsKICAgICAgICBpZiAoISgkaGVhZGVyID0gJHRoaXMtPmdldEhlYWRlcignQ2FjaGUtQ29udHJvbCcpKSkgewogICAgICAgICAgICAkdGhpcy0+YWRkSGVhZGVyKCdDYWNoZS1Db250cm9sJywgJycpOwogICAgICAgICAgICAkaGVhZGVyID0gJHRoaXMtPmdldEhlYWRlcignQ2FjaGUtQ29udHJvbCcpOwogICAgICAgIH0KCiAgICAgICAgJGhlYWRlci0+YWRkRGlyZWN0aXZlKCRkaXJlY3RpdmUsICR2YWx1ZSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVDYWNoZUNvbnRyb2xEaXJlY3RpdmUoJGRpcmVjdGl2ZSkKICAgIHsKICAgICAgICBWZXJzaW9uOjp3YXJuKF9fTUVUSE9EX18gLiAnIGlzIGRlcHJlY2F0ZWQuIFVzZSAkbWVzc2FnZS0+Z2V0SGVhZGVyKFwnQ2FjaGUtQ29udHJvbFwnKS0+cmVtb3ZlRGlyZWN0aXZlKCknKTsKICAgICAgICBpZiAoJGhlYWRlciA9ICR0aGlzLT5nZXRIZWFkZXIoJ0NhY2hlLUNvbnRyb2wnKSkgewogICAgICAgICAgICAkaGVhZGVyLT5yZW1vdmVEaXJlY3RpdmUoJGRpcmVjdGl2ZSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/EntityEnclosingRequest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcUXVlcnlTdHJpbmc7CnVzZSBHdXp6bGVcSHR0cFxSZWRpcmVjdFBsdWdpbjsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxSZXF1ZXN0RXhjZXB0aW9uOwoKLyoqCiAqIEhUVFAgcmVxdWVzdCB0aGF0IHNlbmRzIGFuIGVudGl0eS1ib2R5IGluIHRoZSByZXF1ZXN0IG1lc3NhZ2UgKFBPU1QsIFBVVCwgUEFUQ0gsIERFTEVURSkKICovCmNsYXNzIEVudGl0eUVuY2xvc2luZ1JlcXVlc3QgZXh0ZW5kcyBSZXF1ZXN0IGltcGxlbWVudHMgRW50aXR5RW5jbG9zaW5nUmVxdWVzdEludGVyZmFjZQp7CiAgICAvKiogQHZhciBpbnQgV2hlbiB0aGUgc2l6ZSBvZiB0aGUgYm9keSBpcyBncmVhdGVyIHRoYW4gMU1CLCB0aGVuIHNlbmQgRXhwZWN0OiAxMDAtQ29udGludWUgKi8KICAgIHByb3RlY3RlZCAkZXhwZWN0Q3V0b2ZmID0gMTA0ODU3NjsKCiAgICAvKiogQHZhciBFbnRpdHlCb2R5SW50ZXJmYWNlICRib2R5IEJvZHkgb2YgdGhlIHJlcXVlc3QgKi8KICAgIHByb3RlY3RlZCAkYm9keTsKCiAgICAvKiogQHZhciBRdWVyeVN0cmluZyBQT1NUIGZpZWxkcyB0byB1c2UgaW4gdGhlIEVudGl0eUJvZHkgKi8KICAgIHByb3RlY3RlZCAkcG9zdEZpZWxkczsKCiAgICAvKiogQHZhciBhcnJheSBQT1NUIGZpbGVzIHRvIHNlbmQgd2l0aCB0aGUgcmVxdWVzdCAqLwogICAgcHJvdGVjdGVkICRwb3N0RmlsZXMgPSBhcnJheSgpOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbWV0aG9kLCAkdXJsLCAkaGVhZGVycyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJHRoaXMtPnBvc3RGaWVsZHMgPSBuZXcgUXVlcnlTdHJpbmcoKTsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRtZXRob2QsICR1cmwsICRoZWFkZXJzKTsKICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkKICAgIHsKICAgICAgICAvLyBPbmx5IGF0dGVtcHQgdG8gaW5jbHVkZSB0aGUgUE9TVCBkYXRhIGlmIGl0J3Mgb25seSBmaWVsZHMKICAgICAgICBpZiAoY291bnQoJHRoaXMtPnBvc3RGaWVsZHMpICYmIGVtcHR5KCR0aGlzLT5wb3N0RmlsZXMpKSB7CiAgICAgICAgICAgIHJldHVybiBwYXJlbnQ6Ol9fdG9TdHJpbmcoKSAuIChzdHJpbmcpICR0aGlzLT5wb3N0RmllbGRzOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHBhcmVudDo6X190b1N0cmluZygpIC4gJHRoaXMtPmJvZHk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFN0YXRlKCRzdGF0ZSwgYXJyYXkgJGNvbnRleHQgPSBhcnJheSgpKQogICAgewogICAgICAgIHBhcmVudDo6c2V0U3RhdGUoJHN0YXRlLCAkY29udGV4dCk7CiAgICAgICAgaWYgKCRzdGF0ZSA9PSBzZWxmOjpTVEFURV9UUkFOU0ZFUiAmJiAhJHRoaXMtPmJvZHkgJiYgIWNvdW50KCR0aGlzLT5wb3N0RmllbGRzKSAmJiAhY291bnQoJHRoaXMtPnBvc3RGaWxlcykpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEhlYWRlcignQ29udGVudC1MZW5ndGgnLCAwKS0+cmVtb3ZlSGVhZGVyKCdUcmFuc2Zlci1FbmNvZGluZycpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5zdGF0ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Qm9keSgkYm9keSwgJGNvbnRlbnRUeXBlID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+Ym9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJGJvZHkpOwoKICAgICAgICAvLyBBdXRvIGRldGVjdCB0aGUgQ29udGVudC1UeXBlIGZyb20gdGhlIHBhdGggb2YgdGhlIHJlcXVlc3QgaWYgcG9zc2libGUKICAgICAgICBpZiAoJGNvbnRlbnRUeXBlID09PSBudWxsICYmICEkdGhpcy0+aGFzSGVhZGVyKCdDb250ZW50LVR5cGUnKSkgewogICAgICAgICAgICAkY29udGVudFR5cGUgPSAkdGhpcy0+Ym9keS0+Z2V0Q29udGVudFR5cGUoKTsKICAgICAgICB9CgogICAgICAgIGlmICgkY29udGVudFR5cGUpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEhlYWRlcignQ29udGVudC1UeXBlJywgJGNvbnRlbnRUeXBlKTsKICAgICAgICB9CgogICAgICAgIC8vIEFsd2F5cyBhZGQgdGhlIEV4cGVjdCAxMDAtQ29udGludWUgaGVhZGVyIGlmIHRoZSBib2R5IGNhbm5vdCBiZSByZXdvdW5kLiBUaGlzIGhlbHBzIHdpdGggcmVkaXJlY3RzLgogICAgICAgIGlmICghJHRoaXMtPmJvZHktPmlzU2Vla2FibGUoKSAmJiAkdGhpcy0+ZXhwZWN0Q3V0b2ZmICE9PSBmYWxzZSkgewogICAgICAgICAgICAkdGhpcy0+c2V0SGVhZGVyKCdFeHBlY3QnLCAnMTAwLUNvbnRpbnVlJyk7CiAgICAgICAgfQoKICAgICAgICAvLyBTZXQgdGhlIENvbnRlbnQtTGVuZ3RoIGhlYWRlciBpZiBpdCBjYW4gYmUgZGV0ZXJtaW5lZAogICAgICAgICRzaXplID0gJHRoaXMtPmJvZHktPmdldENvbnRlbnRMZW5ndGgoKTsKICAgICAgICBpZiAoJHNpemUgIT09IG51bGwgJiYgJHNpemUgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJywgJHNpemUpOwogICAgICAgICAgICBpZiAoJHNpemUgPiAkdGhpcy0+ZXhwZWN0Q3V0b2ZmKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+c2V0SGVhZGVyKCdFeHBlY3QnLCAnMTAwLUNvbnRpbnVlJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2VpZiAoISR0aGlzLT5oYXNIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJykpIHsKICAgICAgICAgICAgaWYgKCcxLjEnID09ICR0aGlzLT5wcm90b2NvbFZlcnNpb24pIHsKICAgICAgICAgICAgICAgICR0aGlzLT5zZXRIZWFkZXIoJ1RyYW5zZmVyLUVuY29kaW5nJywgJ2NodW5rZWQnKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBSZXF1ZXN0RXhjZXB0aW9uKAogICAgICAgICAgICAgICAgICAgICdDYW5ub3QgZGV0ZXJtaW5lIENvbnRlbnQtTGVuZ3RoIGFuZCBjYW5ub3QgdXNlIGNodW5rZWQgVHJhbnNmZXItRW5jb2Rpbmcgd2hlbiB1c2luZyBIVFRQLzEuMCcKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Qm9keSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ib2R5OwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBzaXplIHRoYXQgdGhlIGVudGl0eSBib2R5IG9mIHRoZSByZXF1ZXN0IG11c3QgZXhjZWVkIGJlZm9yZSBhZGRpbmcgdGhlIEV4cGVjdDogMTAwLUNvbnRpbnVlIGhlYWRlci4KICAgICAqCiAgICAgKiBAcGFyYW0gaW50fGJvb2wgJHNpemUgQ3V0b2ZmIGluIGJ5dGVzLiBTZXQgdG8gZmFsc2UgdG8gbmV2ZXIgc2VuZCB0aGUgZXhwZWN0IGhlYWRlciAoZXZlbiB3aXRoIG5vbi1zZWVrYWJsZSBkYXRhKQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RXhwZWN0SGVhZGVyQ3V0b2ZmKCRzaXplKQogICAgewogICAgICAgICR0aGlzLT5leHBlY3RDdXRvZmYgPSAkc2l6ZTsKICAgICAgICBpZiAoJHNpemUgPT09IGZhbHNlIHx8ICEkdGhpcy0+Ym9keSkgewogICAgICAgICAgICAkdGhpcy0+cmVtb3ZlSGVhZGVyKCdFeHBlY3QnKTsKICAgICAgICB9IGVsc2VpZiAoJHRoaXMtPmJvZHkgJiYgJHRoaXMtPmJvZHktPmdldFNpemUoKSAmJiAkdGhpcy0+Ym9keS0+Z2V0U2l6ZSgpID4gJHNpemUpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEhlYWRlcignRXhwZWN0JywgJzEwMC1Db250aW51ZScpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjb25maWd1cmVSZWRpcmVjdHMoJHN0cmljdCA9IGZhbHNlLCAkbWF4UmVkaXJlY3RzID0gNSkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0UGFyYW1zKCktPnNldChSZWRpcmVjdFBsdWdpbjo6U1RSSUNUX1JFRElSRUNUUywgJHN0cmljdCk7CiAgICAgICAgaWYgKCRtYXhSZWRpcmVjdHMgPT0gMCkgewogICAgICAgICAgICAkdGhpcy0+Z2V0UGFyYW1zKCktPnNldChSZWRpcmVjdFBsdWdpbjo6RElTQUJMRSwgdHJ1ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmdldFBhcmFtcygpLT5zZXQoUmVkaXJlY3RQbHVnaW46Ok1BWF9SRURJUkVDVFMsICRtYXhSZWRpcmVjdHMpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQb3N0RmllbGQoJGZpZWxkKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cG9zdEZpZWxkcy0+Z2V0KCRmaWVsZCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFBvc3RGaWVsZHMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cG9zdEZpZWxkczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UG9zdEZpZWxkKCRrZXksICR2YWx1ZSkKICAgIHsKICAgICAgICAkdGhpcy0+cG9zdEZpZWxkcy0+c2V0KCRrZXksICR2YWx1ZSk7CiAgICAgICAgJHRoaXMtPnByb2Nlc3NQb3N0RmllbGRzKCk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkUG9zdEZpZWxkcygkZmllbGRzKQogICAgewogICAgICAgICR0aGlzLT5wb3N0RmllbGRzLT5tZXJnZSgkZmllbGRzKTsKICAgICAgICAkdGhpcy0+cHJvY2Vzc1Bvc3RGaWVsZHMoKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVQb3N0RmllbGQoJGZpZWxkKQogICAgewogICAgICAgICR0aGlzLT5wb3N0RmllbGRzLT5yZW1vdmUoJGZpZWxkKTsKICAgICAgICAkdGhpcy0+cHJvY2Vzc1Bvc3RGaWVsZHMoKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQb3N0RmlsZXMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cG9zdEZpbGVzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQb3N0RmlsZSgkZmllbGROYW1lKQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+cG9zdEZpbGVzWyRmaWVsZE5hbWVdKSA/ICR0aGlzLT5wb3N0RmlsZXNbJGZpZWxkTmFtZV0gOiBudWxsOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVQb3N0RmlsZSgkZmllbGROYW1lKQogICAgewogICAgICAgIHVuc2V0KCR0aGlzLT5wb3N0RmlsZXNbJGZpZWxkTmFtZV0pOwogICAgICAgICR0aGlzLT5wcm9jZXNzUG9zdEZpZWxkcygpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFkZFBvc3RGaWxlKCRmaWVsZCwgJGZpbGVuYW1lID0gbnVsbCwgJGNvbnRlbnRUeXBlID0gbnVsbCwgJHBvc3RuYW1lID0gbnVsbCkKICAgIHsKICAgICAgICAkZGF0YSA9IG51bGw7CgogICAgICAgIGlmICgkZmllbGQgaW5zdGFuY2VvZiBQb3N0RmlsZUludGVyZmFjZSkgewogICAgICAgICAgICAkZGF0YSA9ICRmaWVsZDsKICAgICAgICB9IGVsc2VpZiAoaXNfYXJyYXkoJGZpbGVuYW1lKSkgewogICAgICAgICAgICAvLyBBbGxvdyBtdWx0aXBsZSB2YWx1ZXMgdG8gYmUgc2V0IGluIGEgc2luZ2xlIGtleQogICAgICAgICAgICBmb3JlYWNoICgkZmlsZW5hbWUgYXMgJGZpbGUpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hZGRQb3N0RmlsZSgkZmllbGQsICRmaWxlLCAkY29udGVudFR5cGUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkdGhpczsKICAgICAgICB9IGVsc2VpZiAoIWlzX3N0cmluZygkZmlsZW5hbWUpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBSZXF1ZXN0RXhjZXB0aW9uKCdUaGUgcGF0aCB0byBhIGZpbGUgbXVzdCBiZSBhIHN0cmluZycpOwogICAgICAgIH0gZWxzZWlmICghZW1wdHkoJGZpbGVuYW1lKSkgewogICAgICAgICAgICAvLyBBZGRpbmcgYW4gZW1wdHkgZmlsZSB3aWxsIGNhdXNlIGNVUkwgdG8gZXJyb3Igb3V0CiAgICAgICAgICAgICRkYXRhID0gbmV3IFBvc3RGaWxlKCRmaWVsZCwgJGZpbGVuYW1lLCAkY29udGVudFR5cGUsICRwb3N0bmFtZSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJGRhdGEpIHsKICAgICAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+cG9zdEZpbGVzWyRkYXRhLT5nZXRGaWVsZE5hbWUoKV0pKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cG9zdEZpbGVzWyRkYXRhLT5nZXRGaWVsZE5hbWUoKV0gPSBhcnJheSgkZGF0YSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cG9zdEZpbGVzWyRkYXRhLT5nZXRGaWVsZE5hbWUoKV1bXSA9ICRkYXRhOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR0aGlzLT5wcm9jZXNzUG9zdEZpZWxkcygpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRQb3N0RmlsZXMoYXJyYXkgJGZpbGVzKQogICAgewogICAgICAgIGZvcmVhY2ggKCRmaWxlcyBhcyAka2V5ID0+ICRmaWxlKSB7CiAgICAgICAgICAgIGlmICgkZmlsZSBpbnN0YW5jZW9mIFBvc3RGaWxlSW50ZXJmYWNlKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+YWRkUG9zdEZpbGUoJGZpbGUsIG51bGwsIG51bGwsIGZhbHNlKTsKICAgICAgICAgICAgfSBlbHNlaWYgKGlzX3N0cmluZygkZmlsZSkpIHsKICAgICAgICAgICAgICAgIC8vIENvbnZlcnQgbm9uLWFzc29jaWF0aXZlIGFycmF5IGtleXMgaW50byAnZmlsZScKICAgICAgICAgICAgICAgIGlmIChpc19udW1lcmljKCRrZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgJGtleSA9ICdmaWxlJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICR0aGlzLT5hZGRQb3N0RmlsZSgka2V5LCAkZmlsZSwgbnVsbCwgZmFsc2UpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJlcXVlc3RFeGNlcHRpb24oJ0ZpbGUgbXVzdCBiZSBhIHN0cmluZyBvciBpbnN0YW5jZSBvZiBQb3N0RmlsZUludGVyZmFjZScpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZXRlcm1pbmUgd2hhdCB0eXBlIG9mIHJlcXVlc3Qgc2hvdWxkIGJlIHNlbnQgYmFzZWQgb24gcG9zdCBmaWVsZHMKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHByb2Nlc3NQb3N0RmllbGRzKCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5wb3N0RmlsZXMpIHsKICAgICAgICAgICAgJHRoaXMtPnJlbW92ZUhlYWRlcignRXhwZWN0JyktPnNldEhlYWRlcignQ29udGVudC1UeXBlJywgc2VsZjo6VVJMX0VOQ09ERUQpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScsIHNlbGY6Ok1VTFRJUEFSVCk7CiAgICAgICAgICAgIGlmICgkdGhpcy0+ZXhwZWN0Q3V0b2ZmICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgJHRoaXMtPnNldEhlYWRlcignRXhwZWN0JywgJzEwMC1Db250aW51ZScpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/EntityEnclosingRequestInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxSZXF1ZXN0RXhjZXB0aW9uOwp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keUludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXFF1ZXJ5U3RyaW5nOwoKLyoqCiAqIEhUVFAgcmVxdWVzdCB0aGF0IHNlbmRzIGFuIGVudGl0eS1ib2R5IGluIHRoZSByZXF1ZXN0IG1lc3NhZ2UgKFBPU1QsIFBVVCkKICovCmludGVyZmFjZSBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0SW50ZXJmYWNlIGV4dGVuZHMgUmVxdWVzdEludGVyZmFjZQp7CiAgICBjb25zdCBVUkxfRU5DT0RFRCA9ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9dXRmLTgnOwogICAgY29uc3QgTVVMVElQQVJUID0gJ211bHRpcGFydC9mb3JtLWRhdGEnOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBib2R5IG9mIHRoZSByZXF1ZXN0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xyZXNvdXJjZXxFbnRpdHlCb2R5SW50ZXJmYWNlICRib2R5ICAgICAgICBCb2R5IHRvIHVzZSBpbiB0aGUgZW50aXR5IGJvZHkgb2YgdGhlIHJlcXVlc3QKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29udGVudFR5cGUgQ29udGVudC1UeXBlIHRvIHNldC4gTGVhdmUgbnVsbCB0byB1c2UgYW4gZXhpc3RpbmcKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udGVudC1UeXBlIG9yIHRvIGd1ZXNzIHRoZSBDb250ZW50LVR5cGUKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQHRocm93cyBSZXF1ZXN0RXhjZXB0aW9uIGlmIHRoZSBwcm90b2NvbCBpcyA8IDEuMSBhbmQgQ29udGVudC1MZW5ndGggY2FuIG5vdCBiZSBkZXRlcm1pbmVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRCb2R5KCRib2R5LCAkY29udGVudFR5cGUgPSBudWxsKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgYm9keSBvZiB0aGUgcmVxdWVzdCBpZiBzZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIEVudGl0eUJvZHlJbnRlcmZhY2V8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Qm9keSgpOwoKICAgIC8qKgogICAgICogR2V0IGEgUE9TVCBmaWVsZCBmcm9tIHRoZSByZXF1ZXN0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZmllbGQgRmllbGQgdG8gcmV0cmlldmUKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBvc3RGaWVsZCgkZmllbGQpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBwb3N0IGZpZWxkcyB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gUXVlcnlTdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBvc3RGaWVsZHMoKTsKCiAgICAvKioKICAgICAqIFNldCBhIFBPU1QgZmllbGQgdmFsdWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgICBLZXkgdG8gc2V0CiAgICAgKiBAcGFyYW0gc3RyaW5nICR2YWx1ZSBWYWx1ZSB0byBzZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFBvc3RGaWVsZCgka2V5LCAkdmFsdWUpOwoKICAgIC8qKgogICAgICogQWRkIFBPU1QgZmllbGRzIHRvIHVzZSBpbiB0aGUgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBRdWVyeVN0cmluZ3xhcnJheSAkZmllbGRzIFBPU1QgZmllbGRzCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRQb3N0RmllbGRzKCRmaWVsZHMpOwoKICAgIC8qKgogICAgICogUmVtb3ZlIGEgUE9TVCBmaWVsZCBvciBmaWxlIGJ5IG5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmaWVsZCBOYW1lIG9mIHRoZSBQT1NUIGZpZWxkIG9yIGZpbGUgdG8gcmVtb3ZlCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVQb3N0RmllbGQoJGZpZWxkKTsKCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gYXNzb2NpYXRpdmUgYXJyYXkgb2YgUE9TVCBmaWVsZCBuYW1lcyB0byBQb3N0RmlsZUludGVyZmFjZSBvYmplY3RzCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UG9zdEZpbGVzKCk7CgogICAgLyoqCiAgICAgKiBHZXQgYSBQT1NUIGZpbGUgZnJvbSB0aGUgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGZpZWxkTmFtZSBQT1NUIGZpZWxkcyB0byByZXRyaWV2ZQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXl8bnVsbCBSZXR1cm5zIGFuIGFycmF5IHdyYXBwaW5nIGFuIGFycmF5IG9mIFBvc3RGaWxlSW50ZXJmYWNlIG9iamVjdHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBvc3RGaWxlKCRmaWVsZE5hbWUpOwoKICAgIC8qKgogICAgICogUmVtb3ZlIGEgUE9TVCBmaWxlIGZyb20gdGhlIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmaWVsZE5hbWUgUE9TVCBmaWxlIGZpZWxkIG5hbWUgdG8gcmVtb3ZlCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVQb3N0RmlsZSgkZmllbGROYW1lKTsKCiAgICAvKioKICAgICAqIEFkZCBhIFBPU1QgZmlsZSB0byB0aGUgdXBsb2FkCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZmllbGQgICAgICAgUE9TVCBmaWVsZCB0byB1c2UgKGUuZy4gZmlsZSkuIFVzZWQgdG8gcmVmZXJlbmNlIGNvbnRlbnQgZnJvbSB0aGUgc2VydmVyLgogICAgICogQHBhcmFtIHN0cmluZyAkZmlsZW5hbWUgICAgRnVsbCBwYXRoIHRvIHRoZSBmaWxlLiBEbyBub3QgaW5jbHVkZSB0aGUgQCBzeW1ib2wuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb250ZW50VHlwZSBPcHRpb25hbCBDb250ZW50LVR5cGUgdG8gYWRkIHRvIHRoZSBDb250ZW50LURpc3Bvc2l0aW9uLgogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdCBiZWhhdmlvciBpcyB0byBndWVzcy4gU2V0IHRvIGZhbHNlIHRvIG5vdCBzcGVjaWZ5LgogICAgICogQHBhcmFtIHN0cmluZyAkcG9zdG5hbWUgICAgVGhlIG5hbWUgb2YgdGhlIGZpbGUsIHdoZW4gcG9zdGVkLiAoZS5nLiByZW5hbWUgdGhlIGZpbGUpCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZFBvc3RGaWxlKCRmaWVsZCwgJGZpbGVuYW1lID0gbnVsbCwgJGNvbnRlbnRUeXBlID0gbnVsbCwgJHBvc3RuYW1lID0gbnVsbCk7CgogICAgLyoqCiAgICAgKiBBZGQgUE9TVCBmaWxlcyB0byB1c2UgaW4gdGhlIHVwbG9hZAogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkZmlsZXMgQW4gYXJyYXkgb2YgUE9TVCBmaWVsZHMgPT4gZmlsZW5hbWVzIHdoZXJlIGZpbGVuYW1lIGNhbiBiZSBhIHN0cmluZyBvciBQb3N0RmlsZUludGVyZmFjZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkUG9zdEZpbGVzKGFycmF5ICRmaWxlcyk7CgogICAgLyoqCiAgICAgKiBDb25maWd1cmUgaG93IHJlZGlyZWN0cyBhcmUgaGFuZGxlZCBmb3IgdGhlIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbCAkc3RyaWN0ICAgICAgIFNldCB0byB0cnVlIHRvIGZvbGxvdyBzdHJpY3QgUkZDIGNvbXBsaWFuY2Ugd2hlbiByZWRpcmVjdGluZyBQT1NUIHJlcXVlc3RzLiBNb3N0CiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXJzIHdpdGggZm9sbG93IGEgMzAxLTMwMiByZWRpcmVjdCBmb3IgYSBQT1NUIHJlcXVlc3Qgd2l0aCBhIEdFVCByZXF1ZXN0LiBUaGlzIGlzCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIEd1enpsZS4gRW5hYmxlIHN0cmljdCByZWRpcmVjdHMgdG8gcmVkaXJlY3QgdGhlc2UgcmVzcG9uc2VzCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYSBQT1NUIHJhdGhlciB0aGFuIGEgR0VUIHJlcXVlc3QuCiAgICAgKiBAcGFyYW0gaW50ICAkbWF4UmVkaXJlY3RzIFNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIGFsbG93ZWQgcmVkaXJlY3RzLiBTZXQgdG8gMCB0byBkaXNhYmxlIHJlZGlyZWN0cy4KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNvbmZpZ3VyZVJlZGlyZWN0cygkc3RyaWN0ID0gZmFsc2UsICRtYXhSZWRpcmVjdHMgPSA1KTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/Header.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxDb21tb25cVmVyc2lvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcSGVhZGVyXEhlYWRlckludGVyZmFjZTsKCi8qKgogKiBSZXByZXNlbnRzIGEgaGVhZGVyIGFuZCBhbGwgb2YgdGhlIHZhbHVlcyBzdG9yZWQgYnkgdGhhdCBoZWFkZXIKICovCmNsYXNzIEhlYWRlciBpbXBsZW1lbnRzIEhlYWRlckludGVyZmFjZQp7CiAgICBwcm90ZWN0ZWQgJHZhbHVlcyA9IGFycmF5KCk7CiAgICBwcm90ZWN0ZWQgJGhlYWRlcjsKICAgIHByb3RlY3RlZCAkZ2x1ZTsKCiAgICAvKioKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgJGhlYWRlciBOYW1lIG9mIHRoZSBoZWFkZXIKICAgICAqIEBwYXJhbSBhcnJheXxzdHJpbmcgJHZhbHVlcyBWYWx1ZXMgb2YgdGhlIGhlYWRlciBhcyBhbiBhcnJheSBvciBhIHNjYWxhcgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAkZ2x1ZSAgIEdsdWUgdXNlZCB0byBjb21iaW5lIG11bHRpcGxlIHZhbHVlcyBpbnRvIGEgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkaGVhZGVyLCAkdmFsdWVzID0gYXJyYXkoKSwgJGdsdWUgPSAnLCcpCiAgICB7CiAgICAgICAgJHRoaXMtPmhlYWRlciA9IHRyaW0oJGhlYWRlcik7CiAgICAgICAgJHRoaXMtPmdsdWUgPSAkZ2x1ZTsKCiAgICAgICAgZm9yZWFjaCAoKGFycmF5KSAkdmFsdWVzIGFzICR2YWx1ZSkgewogICAgICAgICAgICBmb3JlYWNoICgoYXJyYXkpICR2YWx1ZSBhcyAkdikgewogICAgICAgICAgICAgICAgJHRoaXMtPnZhbHVlc1tdID0gJHY7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiBpbXBsb2RlKCR0aGlzLT5nbHVlIC4gJyAnLCAkdGhpcy0+dG9BcnJheSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkKCR2YWx1ZSkKICAgIHsKICAgICAgICAkdGhpcy0+dmFsdWVzW10gPSAkdmFsdWU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5oZWFkZXI7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldE5hbWUoJG5hbWUpCiAgICB7CiAgICAgICAgJHRoaXMtPmhlYWRlciA9ICRuYW1lOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldEdsdWUoJGdsdWUpCiAgICB7CiAgICAgICAgJHRoaXMtPmdsdWUgPSAkZ2x1ZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRHbHVlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdsdWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBOb3JtYWxpemUgdGhlIGhlYWRlciB0byBiZSBhIHNpbmdsZSBoZWFkZXIgd2l0aCBhbiBhcnJheSBvZiB2YWx1ZXMuCiAgICAgKgogICAgICogSWYgYW55IHZhbHVlcyBvZiB0aGUgaGVhZGVyIGNvbnRhaW5zIHRoZSBnbHVlIHN0cmluZyB2YWx1ZSAoZS5nLiAiLCIpLCB0aGVuIHRoZSB2YWx1ZSB3aWxsIGJlIGV4cGxvZGVkIGludG8KICAgICAqIG11bHRpcGxlIGVudHJpZXMgaW4gdGhlIGhlYWRlci4KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG5vcm1hbGl6ZSgpCiAgICB7CiAgICAgICAgJHZhbHVlcyA9ICR0aGlzLT50b0FycmF5KCk7CgogICAgICAgIGZvciAoJGkgPSAwLCAkdG90YWwgPSBjb3VudCgkdmFsdWVzKTsgJGkgPCAkdG90YWw7ICRpKyspIHsKICAgICAgICAgICAgaWYgKHN0cnBvcygkdmFsdWVzWyRpXSwgJHRoaXMtPmdsdWUpICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgLy8gRXhwbG9kZSBvbiBnbHVlIHdoZW4gdGhlIGdsdWUgaXMgbm90IGluc2lkZSBvZiBhIGNvbW1hCiAgICAgICAgICAgICAgICBmb3JlYWNoIChwcmVnX3NwbGl0KCcvJyAuIHByZWdfcXVvdGUoJHRoaXMtPmdsdWUpIC4gJyg/PShbXiJdKiJbXiJdKiIpKlteIl0qJCkvJywgJHZhbHVlc1skaV0pIGFzICR2KSB7CiAgICAgICAgICAgICAgICAgICAgJHZhbHVlc1tdID0gdHJpbSgkdik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB1bnNldCgkdmFsdWVzWyRpXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICR0aGlzLT52YWx1ZXMgPSBhcnJheV92YWx1ZXMoJHZhbHVlcyk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzVmFsdWUoJHNlYXJjaFZhbHVlKQogICAgewogICAgICAgIHJldHVybiBpbl9hcnJheSgkc2VhcmNoVmFsdWUsICR0aGlzLT50b0FycmF5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVWYWx1ZSgkc2VhcmNoVmFsdWUpCiAgICB7CiAgICAgICAgJHRoaXMtPnZhbHVlcyA9IGFycmF5X3ZhbHVlcyhhcnJheV9maWx0ZXIoJHRoaXMtPnZhbHVlcywgZnVuY3Rpb24gKCR2YWx1ZSkgdXNlICgkc2VhcmNoVmFsdWUpIHsKICAgICAgICAgICAgcmV0dXJuICR2YWx1ZSAhPSAkc2VhcmNoVmFsdWU7CiAgICAgICAgfSkpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRvQXJyYXkoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+dmFsdWVzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjb3VudCgpCiAgICB7CiAgICAgICAgcmV0dXJuIGNvdW50KCR0aGlzLT50b0FycmF5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJdGVyYXRvcigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBcQXJyYXlJdGVyYXRvcigkdGhpcy0+dG9BcnJheSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcGFyc2VQYXJhbXMoKQogICAgewogICAgICAgICRwYXJhbXMgPSAkbWF0Y2hlcyA9IGFycmF5KCk7CiAgICAgICAgJGNhbGxiYWNrID0gYXJyYXkoJHRoaXMsICd0cmltSGVhZGVyJyk7CgogICAgICAgIC8vIE5vcm1hbGl6ZSB0aGUgaGVhZGVyIGludG8gYSBzaW5nbGUgYXJyYXkgYW5kIGl0ZXJhdGUgb3ZlciBhbGwgdmFsdWVzCiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPm5vcm1hbGl6ZSgpLT50b0FycmF5KCkgYXMgJHZhbCkgewogICAgICAgICAgICAkcGFydCA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKHByZWdfc3BsaXQoJy87KD89KFteIl0qIlteIl0qIikqW14iXSokKS8nLCAkdmFsKSBhcyAka3ZwKSB7CiAgICAgICAgICAgICAgICBpZiAoIXByZWdfbWF0Y2hfYWxsKCcvPFtePl0rPnxbXj1dKy8nLCAka3ZwLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRwaWVjZXMgPSBhcnJheV9tYXAoJGNhbGxiYWNrLCAkbWF0Y2hlc1swXSk7CiAgICAgICAgICAgICAgICAkcGFydFskcGllY2VzWzBdXSA9IGlzc2V0KCRwaWVjZXNbMV0pID8gJHBpZWNlc1sxXSA6ICcnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkcGFydCkgewogICAgICAgICAgICAgICAgJHBhcmFtc1tdID0gJHBhcnQ7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkcGFyYW1zOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcHJlY2F0ZWQKICAgICAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGhhc0V4YWN0SGVhZGVyKCRoZWFkZXIpCiAgICB7CiAgICAgICAgVmVyc2lvbjo6d2FybihfX01FVEhPRF9fIC4gJyBpcyBkZXByZWNhdGVkJyk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5oZWFkZXIgPT0gJGhlYWRlcjsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByYXcoKQogICAgewogICAgICAgIFZlcnNpb246Ondhcm4oX19NRVRIT0RfXyAuICcgaXMgZGVwcmVjYXRlZC4gVXNlIHRvQXJyYXkoKScpOwogICAgICAgIHJldHVybiAkdGhpcy0+dG9BcnJheSgpOwogICAgfQoKICAgIC8qKgogICAgICogVHJpbSBhIGhlYWRlciBieSByZW1vdmluZyBleGNlc3Mgc3BhY2VzIGFuZCB3cmFwcGluZyBxdW90ZXMKICAgICAqCiAgICAgKiBAcGFyYW0gJHN0cgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiB0cmltSGVhZGVyKCRzdHIpCiAgICB7CiAgICAgICAgc3RhdGljICR0cmltbWVkID0gIlwiJyAgXG5cdCI7CgogICAgICAgIHJldHVybiB0cmltKCRzdHIsICR0cmltbWVkKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/Header/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/Header/CacheControl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlcjsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlcjsKCi8qKgogKiBQcm92aWRlcyBoZWxwZnVsIGZ1bmN0aW9uYWxpdHkgZm9yIENhY2hlLUNvbnRyb2wgaGVhZGVycwogKi8KY2xhc3MgQ2FjaGVDb250cm9sIGV4dGVuZHMgSGVhZGVyCnsKICAgIC8qKiBAdmFyIGFycmF5ICovCiAgICBwcm90ZWN0ZWQgJGRpcmVjdGl2ZXM7CgogICAgcHVibGljIGZ1bmN0aW9uIGFkZCgkdmFsdWUpCiAgICB7CiAgICAgICAgcGFyZW50OjphZGQoJHZhbHVlKTsKICAgICAgICAkdGhpcy0+ZGlyZWN0aXZlcyA9IG51bGw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZVZhbHVlKCRzZWFyY2hWYWx1ZSkKICAgIHsKICAgICAgICBwYXJlbnQ6OnJlbW92ZVZhbHVlKCRzZWFyY2hWYWx1ZSk7CiAgICAgICAgJHRoaXMtPmRpcmVjdGl2ZXMgPSBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgYSBzcGVjaWZpYyBjYWNoZSBjb250cm9sIGRpcmVjdGl2ZSBleGlzdHMKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXJhbSBEaXJlY3RpdmUgdG8gcmV0cmlldmUKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGhhc0RpcmVjdGl2ZSgkcGFyYW0pCiAgICB7CiAgICAgICAgJGRpcmVjdGl2ZXMgPSAkdGhpcy0+Z2V0RGlyZWN0aXZlcygpOwoKICAgICAgICByZXR1cm4gaXNzZXQoJGRpcmVjdGl2ZXNbJHBhcmFtXSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYSBzcGVjaWZpYyBjYWNoZSBjb250cm9sIGRpcmVjdGl2ZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhcmFtIERpcmVjdGl2ZSB0byByZXRyaWV2ZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfGJvb2x8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGlyZWN0aXZlKCRwYXJhbSkKICAgIHsKICAgICAgICAkZGlyZWN0aXZlcyA9ICR0aGlzLT5nZXREaXJlY3RpdmVzKCk7CgogICAgICAgIHJldHVybiBpc3NldCgkZGlyZWN0aXZlc1skcGFyYW1dKSA/ICRkaXJlY3RpdmVzWyRwYXJhbV0gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgY2FjaGUgY29udHJvbCBkaXJlY3RpdmUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXJhbSBEaXJlY3RpdmUgdG8gYWRkCiAgICAgKiBAcGFyYW0gc3RyaW5nICR2YWx1ZSBWYWx1ZSB0byBzZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZERpcmVjdGl2ZSgkcGFyYW0sICR2YWx1ZSkKICAgIHsKICAgICAgICAkZGlyZWN0aXZlcyA9ICR0aGlzLT5nZXREaXJlY3RpdmVzKCk7CiAgICAgICAgJGRpcmVjdGl2ZXNbJHBhcmFtXSA9ICR2YWx1ZTsKICAgICAgICAkdGhpcy0+dXBkYXRlRnJvbURpcmVjdGl2ZXMoJGRpcmVjdGl2ZXMpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW1vdmUgYSBjYWNoZSBjb250cm9sIGRpcmVjdGl2ZSBieSBuYW1lCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcGFyYW0gRGlyZWN0aXZlIHRvIHJlbW92ZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlRGlyZWN0aXZlKCRwYXJhbSkKICAgIHsKICAgICAgICAkZGlyZWN0aXZlcyA9ICR0aGlzLT5nZXREaXJlY3RpdmVzKCk7CiAgICAgICAgdW5zZXQoJGRpcmVjdGl2ZXNbJHBhcmFtXSk7CiAgICAgICAgJHRoaXMtPnVwZGF0ZUZyb21EaXJlY3RpdmVzKCRkaXJlY3RpdmVzKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGFzc29jaWF0aXZlIGFycmF5IG9mIGNhY2hlIGNvbnRyb2wgZGlyZWN0aXZlcwogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldERpcmVjdGl2ZXMoKQogICAgewogICAgICAgIGlmICgkdGhpcy0+ZGlyZWN0aXZlcyA9PT0gbnVsbCkgewogICAgICAgICAgICAkdGhpcy0+ZGlyZWN0aXZlcyA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5wYXJzZVBhcmFtcygpIGFzICRjb2xsZWN0aW9uKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkY29sbGVjdGlvbiBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5kaXJlY3RpdmVzWyRrZXldID0gJHZhbHVlID09PSAnJyA/IHRydWUgOiAkdmFsdWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+ZGlyZWN0aXZlczsKICAgIH0KCiAgICAvKioKICAgICAqIFVwZGF0ZXMgdGhlIGhlYWRlciB2YWx1ZSBiYXNlZCBvbiB0aGUgcGFyc2VkIGRpcmVjdGl2ZXMKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGRpcmVjdGl2ZXMgQXJyYXkgb2YgY2FjaGUgY29udHJvbCBkaXJlY3RpdmVzCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiB1cGRhdGVGcm9tRGlyZWN0aXZlcyhhcnJheSAkZGlyZWN0aXZlcykKICAgIHsKICAgICAgICAkdGhpcy0+ZGlyZWN0aXZlcyA9ICRkaXJlY3RpdmVzOwogICAgICAgICR0aGlzLT52YWx1ZXMgPSBhcnJheSgpOwoKICAgICAgICBmb3JlYWNoICgkZGlyZWN0aXZlcyBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICAkdGhpcy0+dmFsdWVzW10gPSAkdmFsdWUgPT09IHRydWUgPyAka2V5IDogInska2V5fT17JHZhbHVlfSI7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderCollection.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlcjsKCnVzZSBHdXp6bGVcQ29tbW9uXFRvQXJyYXlJbnRlcmZhY2U7CgovKioKICogUHJvdmlkZXMgYSBjYXNlLWluc2Vuc2l0aXZlIGNvbGxlY3Rpb24gb2YgaGVhZGVycwogKi8KY2xhc3MgSGVhZGVyQ29sbGVjdGlvbiBpbXBsZW1lbnRzIFxJdGVyYXRvckFnZ3JlZ2F0ZSwgXENvdW50YWJsZSwgXEFycmF5QWNjZXNzLCBUb0FycmF5SW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIGFycmF5ICovCiAgICBwcm90ZWN0ZWQgJGhlYWRlcnM7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRoZWFkZXJzID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkdGhpcy0+aGVhZGVycyA9ICRoZWFkZXJzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2Nsb25lKCkKICAgIHsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+aGVhZGVycyBhcyAmJGhlYWRlcikgewogICAgICAgICAgICAkaGVhZGVyID0gY2xvbmUgJGhlYWRlcjsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDbGVhcnMgdGhlIGhlYWRlciBjb2xsZWN0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjbGVhcigpCiAgICB7CiAgICAgICAgJHRoaXMtPmhlYWRlcnMgPSBhcnJheSgpOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IGEgaGVhZGVyIG9uIHRoZSBjb2xsZWN0aW9uCiAgICAgKgogICAgICogQHBhcmFtIEhlYWRlckludGVyZmFjZSAkaGVhZGVyIEhlYWRlciB0byBhZGQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZChIZWFkZXJJbnRlcmZhY2UgJGhlYWRlcikKICAgIHsKICAgICAgICAkdGhpcy0+aGVhZGVyc1tzdHJ0b2xvd2VyKCRoZWFkZXItPmdldE5hbWUoKSldID0gJGhlYWRlcjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGFycmF5IG9mIGhlYWRlciBvYmplY3RzCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QWxsKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmhlYWRlcnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBBbGlhcyBvZiBvZmZzZXRHZXQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldCgka2V5KQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+b2Zmc2V0R2V0KCRrZXkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjb3VudCgpCiAgICB7CiAgICAgICAgcmV0dXJuIGNvdW50KCR0aGlzLT5oZWFkZXJzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0RXhpc3RzKCRvZmZzZXQpCiAgICB7CiAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5oZWFkZXJzW3N0cnRvbG93ZXIoJG9mZnNldCldKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0R2V0KCRvZmZzZXQpCiAgICB7CiAgICAgICAgJGwgPSBzdHJ0b2xvd2VyKCRvZmZzZXQpOwoKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPmhlYWRlcnNbJGxdKSA/ICR0aGlzLT5oZWFkZXJzWyRsXSA6IG51bGw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG9mZnNldFNldCgkb2Zmc2V0LCAkdmFsdWUpCiAgICB7CiAgICAgICAgJHRoaXMtPmFkZCgkdmFsdWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRVbnNldCgkb2Zmc2V0KQogICAgewogICAgICAgIHVuc2V0KCR0aGlzLT5oZWFkZXJzW3N0cnRvbG93ZXIoJG9mZnNldCldKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SXRlcmF0b3IoKQogICAgewogICAgICAgIHJldHVybiBuZXcgXEFycmF5SXRlcmF0b3IoJHRoaXMtPmhlYWRlcnMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0b0FycmF5KCkKICAgIHsKICAgICAgICAkcmVzdWx0ID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+aGVhZGVycyBhcyAkaGVhZGVyKSB7CiAgICAgICAgICAgICRyZXN1bHRbJGhlYWRlci0+Z2V0TmFtZSgpXSA9ICRoZWFkZXItPnRvQXJyYXkoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlcjsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlcjsKCi8qKgogKiBEZWZhdWx0IGhlYWRlciBmYWN0b3J5IGltcGxlbWVudGF0aW9uCiAqLwpjbGFzcyBIZWFkZXJGYWN0b3J5IGltcGxlbWVudHMgSGVhZGVyRmFjdG9yeUludGVyZmFjZQp7CiAgICAvKiogQHZhciBhcnJheSAqLwogICAgcHJvdGVjdGVkICRtYXBwaW5nID0gYXJyYXkoCiAgICAgICAgJ2NhY2hlLWNvbnRyb2wnID0+ICdHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlclxDYWNoZUNvbnRyb2wnLAogICAgICAgICdsaW5rJyAgICAgICAgICA9PiAnR3V6emxlXEh0dHBcTWVzc2FnZVxIZWFkZXJcTGluaycsCiAgICApOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGVIZWFkZXIoJGhlYWRlciwgJHZhbHVlID0gbnVsbCkKICAgIHsKICAgICAgICAkbG93ZXJjYXNlID0gc3RydG9sb3dlcigkaGVhZGVyKTsKCiAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5tYXBwaW5nWyRsb3dlcmNhc2VdKQogICAgICAgICAgICA/IG5ldyAkdGhpcy0+bWFwcGluZ1skbG93ZXJjYXNlXSgkaGVhZGVyLCAkdmFsdWUpCiAgICAgICAgICAgIDogbmV3IEhlYWRlcigkaGVhZGVyLCAkdmFsdWUpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderFactoryInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlcjsKCi8qKgogKiBJbnRlcmZhY2UgZm9yIGNyZWF0aW5nIGhlYWRlcnMKICovCmludGVyZmFjZSBIZWFkZXJGYWN0b3J5SW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQ3JlYXRlIGEgaGVhZGVyIGZyb20gYSBoZWFkZXIgbmFtZSBhbmQgYSBzaW5nbGUgdmFsdWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRoZWFkZXIgTmFtZSBvZiB0aGUgaGVhZGVyIHRvIGNyZWF0ZQogICAgICogQHBhcmFtIHN0cmluZyAkdmFsdWUgIFZhbHVlIHRvIHNldCBvbiB0aGUgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBIZWFkZXJJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZUhlYWRlcigkaGVhZGVyLCAkdmFsdWUgPSBudWxsKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlcjsKCnVzZSBHdXp6bGVcQ29tbW9uXFRvQXJyYXlJbnRlcmZhY2U7CgppbnRlcmZhY2UgSGVhZGVySW50ZXJmYWNlIGV4dGVuZHMgVG9BcnJheUludGVyZmFjZSwgXENvdW50YWJsZSwgXEl0ZXJhdG9yQWdncmVnYXRlCnsKICAgIC8qKgogICAgICogQ29udmVydCB0aGUgaGVhZGVyIHRvIGEgc3RyaW5nCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKTsKCiAgICAvKioKICAgICAqIEFkZCBhIHZhbHVlIHRvIHRoZSBsaXN0IG9mIGhlYWRlciB2YWx1ZXMKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR2YWx1ZSBWYWx1ZSB0byBhZGQgdG8gdGhlIGhlYWRlcgogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkKCR2YWx1ZSk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG5hbWUgb2YgdGhlIGhlYWRlcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXROYW1lKCk7CgogICAgLyoqCiAgICAgKiBDaGFuZ2UgdGhlIG5hbWUgb2YgdGhlIGhlYWRlcgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUgTmFtZSB0byBjaGFuZ2UgdG8KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldE5hbWUoJG5hbWUpOwoKICAgIC8qKgogICAgICogQ2hhbmdlIHRoZSBnbHVlIHVzZWQgdG8gaW1wbG9kZSB0aGUgdmFsdWVzCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZ2x1ZSBHbHVlIHVzZWQgdG8gaW1wbG9kZSBtdWx0aXBsZSB2YWx1ZXMKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEdsdWUoJGdsdWUpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBnbHVlIHVzZWQgdG8gaW1wbG9kZSBtdWx0aXBsZSB2YWx1ZXMgaW50byBhIHN0cmluZwogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRHbHVlKCk7CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiB0aGUgY29sbGVjdGlvbiBvZiBoZWFkZXJzIGhhcyBhIHBhcnRpY3VsYXIgdmFsdWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzZWFyY2hWYWx1ZSBWYWx1ZSB0byBzZWFyY2ggZm9yCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNWYWx1ZSgkc2VhcmNoVmFsdWUpOwoKICAgIC8qKgogICAgICogUmVtb3ZlIGEgc3BlY2lmaWMgdmFsdWUgZnJvbSB0aGUgaGVhZGVyCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkc2VhcmNoVmFsdWUgVmFsdWUgdG8gcmVtb3ZlCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVWYWx1ZSgkc2VhcmNoVmFsdWUpOwoKICAgIC8qKgogICAgICogUGFyc2UgYSBoZWFkZXIgY29udGFpbmluZyAiOyIgc2VwYXJhdGVkIGRhdGEgaW50byBhbiBhcnJheSBvZiBhc3NvY2lhdGl2ZSBhcnJheXMgcmVwcmVzZW50aW5nIHRoZSBoZWFkZXIKICAgICAqIGtleSB2YWx1ZSBwYWlyIGRhdGEgb2YgdGhlIGhlYWRlci4gV2hlbiBhIHBhcmFtZXRlciBkb2VzIG5vdCBjb250YWluIGEgdmFsdWUsIGJ1dCBqdXN0IGNvbnRhaW5zIGEga2V5LCB0aGlzCiAgICAgKiBmdW5jdGlvbiB3aWxsIGluamVjdCBhIGtleSB3aXRoIGEgJycgc3RyaW5nIHZhbHVlLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHBhcnNlUGFyYW1zKCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/Header/Link.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlcjsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlcjsKCi8qKgogKiBQcm92aWRlcyBoZWxwZnVsIGZ1bmN0aW9uYWxpdHkgZm9yIGxpbmsgaGVhZGVycwogKi8KY2xhc3MgTGluayBleHRlbmRzIEhlYWRlcgp7CiAgICAvKioKICAgICAqIEFkZCBhIGxpbmsgdG8gdGhlIGhlYWRlcgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVybCAgICBMaW5rIFVSTAogICAgICogQHBhcmFtIHN0cmluZyAkcmVsICAgIExpbmsgcmVsCiAgICAgKiBAcGFyYW0gYXJyYXkgICRwYXJhbXMgT3RoZXIgbGluayBwYXJhbWV0ZXJzCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRMaW5rKCR1cmwsICRyZWwsIGFycmF5ICRwYXJhbXMgPSBhcnJheSgpKQogICAgewogICAgICAgICR2YWx1ZXMgPSBhcnJheSgiPHskdXJsfT4iLCAicmVsPVwieyRyZWx9XCIiKTsKCiAgICAgICAgZm9yZWFjaCAoJHBhcmFtcyBhcyAkayA9PiAkdikgewogICAgICAgICAgICAkdmFsdWVzW10gPSAieyRrfT1cInskdn1cIiI7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPmFkZChpbXBsb2RlKCc7ICcsICR2YWx1ZXMpKTsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIGEgc3BlY2lmaWMgbGluayBleGlzdHMgZm9yIGEgZ2l2ZW4gcmVsIGF0dHJpYnV0ZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHJlbCByZWwgdmFsdWUKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGhhc0xpbmsoJHJlbCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldExpbmsoJHJlbCkgIT09IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYSBzcGVjaWZpYyBsaW5rIGZvciBhIGdpdmVuIHJlbCBhdHRyaWJ1dGUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRyZWwgUmVsIHZhbHVlCiAgICAgKgogICAgICogQHJldHVybiBhcnJheXxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRMaW5rKCRyZWwpCiAgICB7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmdldExpbmtzKCkgYXMgJGxpbmspIHsKICAgICAgICAgICAgaWYgKGlzc2V0KCRsaW5rWydyZWwnXSkgJiYgJGxpbmtbJ3JlbCddID09ICRyZWwpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkbGluazsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYW4gYXNzb2NpYXRpdmUgYXJyYXkgb2YgbGlua3MKICAgICAqCiAgICAgKiBGb3IgZXhhbXBsZToKICAgICAqIExpbms6IDxodHRwOi8uLi4vZnJvbnQuanBlZz47IHJlbD1mcm9udDsgdHlwZT0iaW1hZ2UvanBlZyIsIDxodHRwOi8vLi4uL2JhY2suanBlZz47IHJlbD1iYWNrOyB0eXBlPSJpbWFnZS9qcGVnIgogICAgICoKICAgICAqIDxjb2RlPgogICAgICogdmFyX2V4cG9ydCgkcmVzcG9uc2UtPmdldExpbmtzKCkpOwogICAgICogYXJyYXkoCiAgICAgKiAgICAgYXJyYXkoCiAgICAgKiAgICAgICAgICd1cmwnID0+ICdodHRwOi8uLi4vZnJvbnQuanBlZycsCiAgICAgKiAgICAgICAgICdyZWwnID0+ICdiYWNrJywKICAgICAqICAgICAgICAgJ3R5cGUnID0+ICdpbWFnZS9qcGVnJywKICAgICAqICAgICApCiAgICAgKiApCiAgICAgKiA8L2NvZGU+CiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGlua3MoKQogICAgewogICAgICAgICRsaW5rcyA9ICR0aGlzLT5wYXJzZVBhcmFtcygpOwoKICAgICAgICBmb3JlYWNoICgkbGlua3MgYXMgJiRsaW5rKSB7CiAgICAgICAgICAgICRrZXkgPSBrZXkoJGxpbmspOwogICAgICAgICAgICB1bnNldCgkbGlua1ska2V5XSk7CiAgICAgICAgICAgICRsaW5rWyd1cmwnXSA9IHRyaW0oJGtleSwgJzw+ICcpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRsaW5rczsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/MessageInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlOwoKLyoqCiAqIFJlcXVlc3QgYW5kIHJlc3BvbnNlIG1lc3NhZ2UgaW50ZXJmYWNlCiAqLwppbnRlcmZhY2UgTWVzc2FnZUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEdldCBhcHBsaWNhdGlvbiBhbmQgcGx1Z2luIHNwZWNpZmljIHBhcmFtZXRlcnMgc2V0IG9uIHRoZSBtZXNzYWdlLgogICAgICoKICAgICAqIEByZXR1cm4gXEd1enpsZVxDb21tb25cQ29sbGVjdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGFyYW1zKCk7CgogICAgLyoqCiAgICAgKiBBZGQgYSBoZWFkZXIgdG8gYW4gZXhpc3RpbmcgY29sbGVjdGlvbiBvZiBoZWFkZXJzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGhlYWRlciBIZWFkZXIgbmFtZSB0byBhZGQKICAgICAqIEBwYXJhbSBzdHJpbmcgJHZhbHVlICBWYWx1ZSBvZiB0aGUgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRIZWFkZXIoJGhlYWRlciwgJHZhbHVlKTsKCiAgICAvKioKICAgICAqIEFkZCBhbmQgbWVyZ2UgaW4gYW4gYXJyYXkgb2YgSFRUUCBoZWFkZXJzLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkaGVhZGVycyBBc3NvY2lhdGl2ZSBhcnJheSBvZiBoZWFkZXIgZGF0YS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZEhlYWRlcnMoYXJyYXkgJGhlYWRlcnMpOwoKICAgIC8qKgogICAgICogUmV0cmlldmUgYW4gSFRUUCBoZWFkZXIgYnkgbmFtZS4gUGVyZm9ybXMgYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaCBvZiBhbGwgaGVhZGVycy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRoZWFkZXIgSGVhZGVyIHRvIHJldHJpZXZlLgogICAgICoKICAgICAqIEByZXR1cm4gSGVhZGVyfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEhlYWRlcigkaGVhZGVyKTsKCiAgICAvKioKICAgICAqIEdldCBhbGwgaGVhZGVycyBhcyBhIGNvbGxlY3Rpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIFxHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlclxIZWFkZXJDb2xsZWN0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRIZWFkZXJzKCk7CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiB0aGUgc3BlY2lmaWVkIGhlYWRlciBpcyBwcmVzZW50LgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGhlYWRlciBUaGUgaGVhZGVyIHRvIGNoZWNrLgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzSGVhZGVyKCRoZWFkZXIpOwoKICAgIC8qKgogICAgICogUmVtb3ZlIGEgc3BlY2lmaWMgSFRUUCBoZWFkZXIuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkaGVhZGVyIEhUVFAgaGVhZGVyIHRvIHJlbW92ZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZUhlYWRlcigkaGVhZGVyKTsKCiAgICAvKioKICAgICAqIFNldCBhbiBIVFRQIGhlYWRlciBhbmQgb3ZlcndyaXRlIGFueSBleGlzdGluZyB2YWx1ZSBmb3IgdGhlIGhlYWRlcgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGhlYWRlciBOYW1lIG9mIHRoZSBoZWFkZXIgdG8gc2V0LgogICAgICogQHBhcmFtIG1peGVkICAkdmFsdWUgIFZhbHVlIHRvIHNldC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEhlYWRlcigkaGVhZGVyLCAkdmFsdWUpOwoKICAgIC8qKgogICAgICogT3ZlcndyaXRlIGFsbCBIVFRQIGhlYWRlcnMgd2l0aCB0aGUgc3VwcGxpZWQgYXJyYXkgb2YgaGVhZGVycwogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkaGVhZGVycyBBc3NvY2lhdGl2ZSBhcnJheSBvZiBoZWFkZXIgZGF0YS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEhlYWRlcnMoYXJyYXkgJGhlYWRlcnMpOwoKICAgIC8qKgogICAgICogR2V0IGFuIGFycmF5IG9mIG1lc3NhZ2UgaGVhZGVyIGxpbmVzIChlLmcuIFsiSG9zdDogZXhhbXBsZS5jb20iLCAuLi5dKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEhlYWRlckxpbmVzKCk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHJhdyBtZXNzYWdlIGhlYWRlcnMgYXMgYSBzdHJpbmcKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmF3SGVhZGVycygpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/PostFile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxDb21tb25cVmVyc2lvbjsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1pbWV0eXBlczsKCi8qKgogKiBQT1NUIGZpbGUgdXBsb2FkCiAqLwpjbGFzcyBQb3N0RmlsZSBpbXBsZW1lbnRzIFBvc3RGaWxlSW50ZXJmYWNlCnsKICAgIHByb3RlY3RlZCAkZmllbGROYW1lOwogICAgcHJvdGVjdGVkICRjb250ZW50VHlwZTsKICAgIHByb3RlY3RlZCAkZmlsZW5hbWU7CiAgICBwcm90ZWN0ZWQgJHBvc3RuYW1lOwoKICAgIC8qKgogICAgICogQHBhcmFtIHN0cmluZyAkZmllbGROYW1lICAgTmFtZSBvZiB0aGUgZmllbGQKICAgICAqIEBwYXJhbSBzdHJpbmcgJGZpbGVuYW1lICAgIExvY2FsIHBhdGggdG8gdGhlIGZpbGUKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBvc3RuYW1lICAgIFJlbW90ZSBwb3N0IGZpbGUgbmFtZQogICAgICogQHBhcmFtIHN0cmluZyAkY29udGVudFR5cGUgQ29udGVudC1UeXBlIG9mIHRoZSB1cGxvYWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRmaWVsZE5hbWUsICRmaWxlbmFtZSwgJGNvbnRlbnRUeXBlID0gbnVsbCwgJHBvc3RuYW1lID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+ZmllbGROYW1lID0gJGZpZWxkTmFtZTsKICAgICAgICAkdGhpcy0+c2V0RmlsZW5hbWUoJGZpbGVuYW1lKTsKICAgICAgICAkdGhpcy0+cG9zdG5hbWUgPSAkcG9zdG5hbWUgPyAkcG9zdG5hbWUgOiBiYXNlbmFtZSgkZmlsZW5hbWUpOwogICAgICAgICR0aGlzLT5jb250ZW50VHlwZSA9ICRjb250ZW50VHlwZSA/OiAkdGhpcy0+Z3Vlc3NDb250ZW50VHlwZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRGaWVsZE5hbWUoJG5hbWUpCiAgICB7CiAgICAgICAgJHRoaXMtPmZpZWxkTmFtZSA9ICRuYW1lOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldEZpZWxkTmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5maWVsZE5hbWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldEZpbGVuYW1lKCRmaWxlbmFtZSkKICAgIHsKICAgICAgICAvLyBSZW1vdmUgbGVhZGluZyBAIHN5bWJvbAogICAgICAgIGlmIChzdHJwb3MoJGZpbGVuYW1lLCAnQCcpID09PSAwKSB7CiAgICAgICAgICAgICRmaWxlbmFtZSA9IHN1YnN0cigkZmlsZW5hbWUsIDEpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCFpc19yZWFkYWJsZSgkZmlsZW5hbWUpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oIlVuYWJsZSB0byBvcGVuIHskZmlsZW5hbWV9IGZvciByZWFkaW5nIik7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+ZmlsZW5hbWUgPSAkZmlsZW5hbWU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UG9zdG5hbWUoJHBvc3RuYW1lKQogICAgewogICAgICAgICR0aGlzLT5wb3N0bmFtZSA9ICRwb3N0bmFtZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGaWxlbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5maWxlbmFtZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UG9zdG5hbWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cG9zdG5hbWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldENvbnRlbnRUeXBlKCR0eXBlKQogICAgewogICAgICAgICR0aGlzLT5jb250ZW50VHlwZSA9ICR0eXBlOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldENvbnRlbnRUeXBlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNvbnRlbnRUeXBlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDdXJsVmFsdWUoKQogICAgewogICAgICAgIC8vIFBIUCA1LjUgaW50cm9kdWNlZCBhIEN1cmxGaWxlIG9iamVjdCB0aGF0IGRlcHJlY2F0ZXMgdGhlIG9sZCBAZmlsZW5hbWUgc3ludGF4CiAgICAgICAgLy8gU2VlOiBodHRwczovL3dpa2kucGhwLm5ldC9yZmMvY3VybC1maWxlLXVwbG9hZAogICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ2N1cmxfZmlsZV9jcmVhdGUnKSkgewogICAgICAgICAgICByZXR1cm4gY3VybF9maWxlX2NyZWF0ZSgkdGhpcy0+ZmlsZW5hbWUsICR0aGlzLT5jb250ZW50VHlwZSwgJHRoaXMtPnBvc3RuYW1lKTsKICAgICAgICB9CgogICAgICAgIC8vIFVzZSB0aGUgb2xkIHN0eWxlIGlmIHVzaW5nIGFuIG9sZGVyIHZlcnNpb24gb2YgUEhQCiAgICAgICAgJHZhbHVlID0gIkB7JHRoaXMtPmZpbGVuYW1lfTtmaWxlbmFtZT0iIC4gJHRoaXMtPnBvc3RuYW1lOwogICAgICAgIGlmICgkdGhpcy0+Y29udGVudFR5cGUpIHsKICAgICAgICAgICAgJHZhbHVlIC49ICc7dHlwZT0nIC4gJHRoaXMtPmNvbnRlbnRUeXBlOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR2YWx1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDdXJsU3RyaW5nKCkKICAgIHsKICAgICAgICBWZXJzaW9uOjp3YXJuKF9fTUVUSE9EX18gLiAnIGlzIGRlcHJlY2F0ZWQuIFVzZSBnZXRDdXJsVmFsdWUoKScpOwogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0Q3VybFZhbHVlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBvZiB0aGUgZmlsZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ3Vlc3NDb250ZW50VHlwZSgpCiAgICB7CiAgICAgICAgcmV0dXJuIE1pbWV0eXBlczo6Z2V0SW5zdGFuY2UoKS0+ZnJvbUZpbGVuYW1lKCR0aGlzLT5maWxlbmFtZSkgPzogJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/PostFileInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKCi8qKgogKiBQT1NUIGZpbGUgdXBsb2FkCiAqLwppbnRlcmZhY2UgUG9zdEZpbGVJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBTZXQgdGhlIG5hbWUgb2YgdGhlIGZpZWxkCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSBGaWVsZCBuYW1lCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRGaWVsZE5hbWUoJG5hbWUpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBuYW1lIG9mIHRoZSBmaWVsZAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGaWVsZE5hbWUoKTsKCiAgICAvKioKICAgICAqIFNldCB0aGUgcGF0aCB0byB0aGUgZmlsZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdGggRnVsbCBwYXRoIHRvIHRoZSBmaWxlCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBpZiB0aGUgZmlsZSBjYW5ub3QgYmUgcmVhZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RmlsZW5hbWUoJHBhdGgpOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBwb3N0IG5hbWUgb2YgdGhlIGZpbGUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIFRoZSBuZXcgbmFtZSBvZiB0aGUgZmlsZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UG9zdG5hbWUoJG5hbWUpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBmdWxsIHBhdGggdG8gdGhlIGZpbGUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RmlsZW5hbWUoKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgcG9zdCBuYW1lIG9mIHRoZSBmaWxlCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBvc3RuYW1lKCk7CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIENvbnRlbnQtVHlwZSBvZiB0aGUgZmlsZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHR5cGUgQ29udGVudCB0eXBlCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDb250ZW50VHlwZSgkdHlwZSk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIENvbnRlbnQtVHlwZSBvZiB0aGUgZmlsZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb250ZW50VHlwZSgpOwoKICAgIC8qKgogICAgICogR2V0IGEgY1VSTCByZWFkeSBzdHJpbmcgb3IgQ3VybEZpbGUgb2JqZWN0IGZvciB0aGUgdXBsb2FkCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEN1cmxWYWx1ZSgpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/Request.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxDb21tb25cVmVyc2lvbjsKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXFJlcXVlc3RFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxFeGNlcHRpb25cQmFkUmVzcG9uc2VFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxDbGllbnRJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5Owp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keUludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcSGVhZGVyXEhlYWRlckludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXFVybDsKdXNlIEd1enpsZVxQYXJzZXJcUGFyc2VyUmVnaXN0cnk7CnVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50RGlzcGF0Y2hlcjsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CgovKioKICogSFRUUCByZXF1ZXN0IGNsYXNzIHRvIHNlbmQgcmVxdWVzdHMKICovCmNsYXNzIFJlcXVlc3QgZXh0ZW5kcyBBYnN0cmFjdE1lc3NhZ2UgaW1wbGVtZW50cyBSZXF1ZXN0SW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIEV2ZW50RGlzcGF0Y2hlckludGVyZmFjZSAqLwogICAgcHJvdGVjdGVkICRldmVudERpc3BhdGNoZXI7CgogICAgLyoqIEB2YXIgVXJsIEhUVFAgVXJsICovCiAgICBwcm90ZWN0ZWQgJHVybDsKCiAgICAvKiogQHZhciBzdHJpbmcgSFRUUCBtZXRob2QgKEdFVCwgUFVULCBQT1NULCBERUxFVEUsIEhFQUQsIE9QVElPTlMsIFRSQUNFKSAqLwogICAgcHJvdGVjdGVkICRtZXRob2Q7CgogICAgLyoqIEB2YXIgQ2xpZW50SW50ZXJmYWNlICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICAvKiogQHZhciBSZXNwb25zZSBSZXNwb25zZSBvZiB0aGUgcmVxdWVzdCAqLwogICAgcHJvdGVjdGVkICRyZXNwb25zZTsKCiAgICAvKiogQHZhciBFbnRpdHlCb2R5SW50ZXJmYWNlIFJlc3BvbnNlIGJvZHkgKi8KICAgIHByb3RlY3RlZCAkcmVzcG9uc2VCb2R5OwoKICAgIC8qKiBAdmFyIHN0cmluZyBTdGF0ZSBvZiB0aGUgcmVxdWVzdCBvYmplY3QgKi8KICAgIHByb3RlY3RlZCAkc3RhdGU7CgogICAgLyoqIEB2YXIgc3RyaW5nIEF1dGhlbnRpY2F0aW9uIHVzZXJuYW1lICovCiAgICBwcm90ZWN0ZWQgJHVzZXJuYW1lOwoKICAgIC8qKiBAdmFyIHN0cmluZyBBdXRoIHBhc3N3b3JkICovCiAgICBwcm90ZWN0ZWQgJHBhc3N3b3JkOwoKICAgIC8qKiBAdmFyIENvbGxlY3Rpb24gY1VSTCBzcGVjaWZpYyB0cmFuc2ZlciBvcHRpb25zICovCiAgICBwcm90ZWN0ZWQgJGN1cmxPcHRpb25zOwoKICAgIC8qKiBAdmFyIGJvb2wgKi8KICAgIHByb3RlY3RlZCAkaXNSZWRpcmVjdCA9IGZhbHNlOwoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0QWxsRXZlbnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIC8vIENhbGxlZCB3aGVuIHJlY2VpdmluZyBvciB1cGxvYWRpbmcgZGF0YSB0aHJvdWdoIGNVUkwKICAgICAgICAgICAgJ2N1cmwuY2FsbGJhY2sucmVhZCcsICdjdXJsLmNhbGxiYWNrLndyaXRlJywgJ2N1cmwuY2FsbGJhY2sucHJvZ3Jlc3MnLAogICAgICAgICAgICAvLyBDbG9uaW5nIGEgcmVxdWVzdAogICAgICAgICAgICAncmVxdWVzdC5jbG9uZScsCiAgICAgICAgICAgIC8vIEFib3V0IHRvIHNlbmQgdGhlIHJlcXVlc3QsIHNlbnQgcmVxdWVzdCwgY29tcGxldGVkIHRyYW5zYWN0aW9uCiAgICAgICAgICAgICdyZXF1ZXN0LmJlZm9yZV9zZW5kJywgJ3JlcXVlc3Quc2VudCcsICdyZXF1ZXN0LmNvbXBsZXRlJywKICAgICAgICAgICAgLy8gQSByZXF1ZXN0IHJlY2VpdmVkIGEgc3VjY2Vzc2Z1bCByZXNwb25zZQogICAgICAgICAgICAncmVxdWVzdC5zdWNjZXNzJywKICAgICAgICAgICAgLy8gQSByZXF1ZXN0IHJlY2VpdmVkIGFuIHVuc3VjY2Vzc2Z1bCByZXNwb25zZQogICAgICAgICAgICAncmVxdWVzdC5lcnJvcicsCiAgICAgICAgICAgIC8vIEFuIGV4Y2VwdGlvbiBpcyBiZWluZyB0aHJvd24gYmVjYXVzZSBvZiBhbiB1bnN1Y2Nlc3NmdWwgcmVzcG9uc2UKICAgICAgICAgICAgJ3JlcXVlc3QuZXhjZXB0aW9uJywKICAgICAgICAgICAgLy8gUmVjZWl2ZWQgcmVzcG9uc2Ugc3RhdHVzIGxpbmUKICAgICAgICAgICAgJ3JlcXVlc3QucmVjZWl2ZS5zdGF0dXNfbGluZScKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgJG1ldGhvZCAgSFRUUCBtZXRob2QKICAgICAqIEBwYXJhbSBzdHJpbmd8VXJsICAgICAgICR1cmwgICAgIEhUVFAgVVJMIHRvIGNvbm5lY3QgdG8uIFRoZSBVUkkgc2NoZW1lLCBob3N0IGhlYWRlciwgYW5kIFVSSSBhcmUgcGFyc2VkIGZyb20gdGhlCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdWxsIFVSTC4gSWYgcXVlcnkgc3RyaW5nIHBhcmFtZXRlcnMgYXJlIHByZXNlbnQgdGhleSB3aWxsIGJlIHBhcnNlZCBhcyB3ZWxsLgogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gJGhlYWRlcnMgSFRUUCBoZWFkZXJzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbWV0aG9kLCAkdXJsLCAkaGVhZGVycyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgpOwogICAgICAgICR0aGlzLT5tZXRob2QgPSBzdHJ0b3VwcGVyKCRtZXRob2QpOwogICAgICAgICR0aGlzLT5jdXJsT3B0aW9ucyA9IG5ldyBDb2xsZWN0aW9uKCk7CiAgICAgICAgJHRoaXMtPnNldFVybCgkdXJsKTsKCiAgICAgICAgaWYgKCRoZWFkZXJzKSB7CiAgICAgICAgICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgZm9yIG11bHRpLXZhbHVlIGhlYWRlcnMKICAgICAgICAgICAgZm9yZWFjaCAoJGhlYWRlcnMgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgICAgIC8vIERlYWwgd2l0aCBjb2xsaXNpb25zIHdpdGggSG9zdCBhbmQgQXV0aG9yaXphdGlvbgogICAgICAgICAgICAgICAgaWYgKCRrZXkgPT0gJ2hvc3QnIHx8ICRrZXkgPT0gJ0hvc3QnKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnNldEhlYWRlcigka2V5LCAkdmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlaWYgKCR2YWx1ZSBpbnN0YW5jZW9mIEhlYWRlckludGVyZmFjZSkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5hZGRIZWFkZXIoJGtleSwgJHZhbHVlKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoKGFycmF5KSAkdmFsdWUgYXMgJHYpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmFkZEhlYWRlcigka2V5LCAkdik7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+c2V0U3RhdGUoc2VsZjo6U1RBVEVfTkVXKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jbG9uZSgpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5ldmVudERpc3BhdGNoZXIpIHsKICAgICAgICAgICAgJHRoaXMtPmV2ZW50RGlzcGF0Y2hlciA9IGNsb25lICR0aGlzLT5ldmVudERpc3BhdGNoZXI7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5jdXJsT3B0aW9ucyA9IGNsb25lICR0aGlzLT5jdXJsT3B0aW9uczsKICAgICAgICAkdGhpcy0+cGFyYW1zID0gY2xvbmUgJHRoaXMtPnBhcmFtczsKICAgICAgICAkdGhpcy0+dXJsID0gY2xvbmUgJHRoaXMtPnVybDsKICAgICAgICAkdGhpcy0+cmVzcG9uc2UgPSAkdGhpcy0+cmVzcG9uc2VCb2R5ID0gbnVsbDsKICAgICAgICAkdGhpcy0+aGVhZGVycyA9IGNsb25lICR0aGlzLT5oZWFkZXJzOwoKICAgICAgICAkdGhpcy0+c2V0U3RhdGUoUmVxdWVzdEludGVyZmFjZTo6U1RBVEVfTkVXKTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2goJ3JlcXVlc3QuY2xvbmUnLCBhcnJheSgncmVxdWVzdCcgPT4gJHRoaXMpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgSFRUUCByZXF1ZXN0IGFzIGEgc3RyaW5nCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0UmF3SGVhZGVycygpIC4gIlxyXG5cclxuIjsKICAgIH0KCiAgICAvKioKICAgICAqIERlZmF1bHQgbWV0aG9kIHRoYXQgd2lsbCB0aHJvdyBleGNlcHRpb25zIGlmIGFuIHVuc3VjY2Vzc2Z1bCByZXNwb25zZSBpcyByZWNlaXZlZC4KICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50IFJlY2VpdmVkCiAgICAgKiBAdGhyb3dzIEJhZFJlc3BvbnNlRXhjZXB0aW9uIGlmIHRoZSByZXNwb25zZSBpcyBub3Qgc3VjY2Vzc2Z1bAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIG9uUmVxdWVzdEVycm9yKEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICAkZSA9IEJhZFJlc3BvbnNlRXhjZXB0aW9uOjpmYWN0b3J5KCRldmVudFsncmVxdWVzdCddLCAkZXZlbnRbJ3Jlc3BvbnNlJ10pOwogICAgICAgICRldmVudFsncmVxdWVzdCddLT5zZXRTdGF0ZShzZWxmOjpTVEFURV9FUlJPUiwgYXJyYXkoJ2V4Y2VwdGlvbicgPT4gJGUpICsgJGV2ZW50LT50b0FycmF5KCkpOwogICAgICAgIHRocm93ICRlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDbGllbnQoQ2xpZW50SW50ZXJmYWNlICRjbGllbnQpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9ICRjbGllbnQ7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2xpZW50KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNsaWVudDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmF3SGVhZGVycygpCiAgICB7CiAgICAgICAgJHByb3RvY29sVmVyc2lvbiA9ICR0aGlzLT5wcm90b2NvbFZlcnNpb24gPzogJzEuMSc7CgogICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5tZXRob2QgLiAnICcgLiAkdGhpcy0+Z2V0UmVzb3VyY2UoKSkgLiAnICcKICAgICAgICAgICAgLiBzdHJ0b3VwcGVyKHN0cl9yZXBsYWNlKCdodHRwcycsICdodHRwJywgJHRoaXMtPnVybC0+Z2V0U2NoZW1lKCkpKQogICAgICAgICAgICAuICcvJyAuICRwcm90b2NvbFZlcnNpb24gLiAiXHJcbiIgLiBpbXBsb2RlKCJcclxuIiwgJHRoaXMtPmdldEhlYWRlckxpbmVzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcmwoJHVybCkKICAgIHsKICAgICAgICBpZiAoJHVybCBpbnN0YW5jZW9mIFVybCkgewogICAgICAgICAgICAkdGhpcy0+dXJsID0gJHVybDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+dXJsID0gVXJsOjpmYWN0b3J5KCR1cmwpOwogICAgICAgIH0KCiAgICAgICAgLy8gVXBkYXRlIHRoZSBwb3J0IGFuZCBob3N0IGhlYWRlcgogICAgICAgICR0aGlzLT5zZXRQb3J0KCR0aGlzLT51cmwtPmdldFBvcnQoKSk7CgogICAgICAgIGlmICgkdGhpcy0+dXJsLT5nZXRVc2VybmFtZSgpIHx8ICR0aGlzLT51cmwtPmdldFBhc3N3b3JkKCkpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEF1dGgoJHRoaXMtPnVybC0+Z2V0VXNlcm5hbWUoKSwgJHRoaXMtPnVybC0+Z2V0UGFzc3dvcmQoKSk7CiAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgYXV0aCBpbmZvIGZyb20gdGhlIFVSTAogICAgICAgICAgICAkdGhpcy0+dXJsLT5zZXRVc2VybmFtZShudWxsKTsKICAgICAgICAgICAgJHRoaXMtPnVybC0+c2V0UGFzc3dvcmQobnVsbCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNlbmQoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPmNsaWVudCkgewogICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbignQSBjbGllbnQgbXVzdCBiZSBzZXQgb24gdGhlIHJlcXVlc3QnKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+Y2xpZW50LT5zZW5kKCR0aGlzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzcG9uc2UoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVzcG9uc2U7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFF1ZXJ5KCRhc1N0cmluZyA9IGZhbHNlKQogICAgewogICAgICAgIHJldHVybiAkYXNTdHJpbmcKICAgICAgICAgICAgPyAoc3RyaW5nKSAkdGhpcy0+dXJsLT5nZXRRdWVyeSgpCiAgICAgICAgICAgIDogJHRoaXMtPnVybC0+Z2V0UXVlcnkoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWV0aG9kKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPm1ldGhvZDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2NoZW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnVybC0+Z2V0U2NoZW1lKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFNjaGVtZSgkc2NoZW1lKQogICAgewogICAgICAgICR0aGlzLT51cmwtPnNldFNjaGVtZSgkc2NoZW1lKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRIb3N0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnVybC0+Z2V0SG9zdCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRIb3N0KCRob3N0KQogICAgewogICAgICAgICR0aGlzLT51cmwtPnNldEhvc3QoJGhvc3QpOwogICAgICAgICR0aGlzLT5zZXRQb3J0KCR0aGlzLT51cmwtPmdldFBvcnQoKSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UHJvdG9jb2xWZXJzaW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnByb3RvY29sVmVyc2lvbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UHJvdG9jb2xWZXJzaW9uKCRwcm90b2NvbCkKICAgIHsKICAgICAgICAkdGhpcy0+cHJvdG9jb2xWZXJzaW9uID0gJHByb3RvY29sOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhdGgoKQogICAgewogICAgICAgIHJldHVybiAnLycgLiBsdHJpbSgkdGhpcy0+dXJsLT5nZXRQYXRoKCksICcvJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFBhdGgoJHBhdGgpCiAgICB7CiAgICAgICAgJHRoaXMtPnVybC0+c2V0UGF0aCgkcGF0aCk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UG9ydCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT51cmwtPmdldFBvcnQoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UG9ydCgkcG9ydCkKICAgIHsKICAgICAgICAkdGhpcy0+dXJsLT5zZXRQb3J0KCRwb3J0KTsKCiAgICAgICAgLy8gSW5jbHVkZSB0aGUgcG9ydCBpbiB0aGUgSG9zdCBoZWFkZXIgaWYgaXQgaXMgbm90IHRoZSBkZWZhdWx0IHBvcnQgZm9yIHRoZSBzY2hlbWUgb2YgdGhlIFVSTAogICAgICAgICRzY2hlbWUgPSAkdGhpcy0+dXJsLT5nZXRTY2hlbWUoKTsKICAgICAgICBpZiAoKCRzY2hlbWUgPT0gJ2h0dHAnICYmICRwb3J0ICE9IDgwKSB8fCAoJHNjaGVtZSA9PSAnaHR0cHMnICYmICRwb3J0ICE9IDQ0MykpIHsKICAgICAgICAgICAgJHRoaXMtPmhlYWRlcnNbJ2hvc3QnXSA9ICR0aGlzLT5oZWFkZXJGYWN0b3J5LT5jcmVhdGVIZWFkZXIoJ0hvc3QnLCAkdGhpcy0+dXJsLT5nZXRIb3N0KCkgLiAnOicgLiAkcG9ydCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmhlYWRlcnNbJ2hvc3QnXSA9ICR0aGlzLT5oZWFkZXJGYWN0b3J5LT5jcmVhdGVIZWFkZXIoJ0hvc3QnLCAkdGhpcy0+dXJsLT5nZXRIb3N0KCkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRVc2VybmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT51c2VybmFtZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGFzc3dvcmQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cGFzc3dvcmQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldEF1dGgoJHVzZXIsICRwYXNzd29yZCA9ICcnLCAkc2NoZW1lID0gQ1VSTEFVVEhfQkFTSUMpCiAgICB7CiAgICAgICAgc3RhdGljICRhdXRoTWFwID0gYXJyYXkoCiAgICAgICAgICAgICdiYXNpYycgID0+IENVUkxBVVRIX0JBU0lDLAogICAgICAgICAgICAnZGlnZXN0JyA9PiBDVVJMQVVUSF9ESUdFU1QsCiAgICAgICAgICAgICdudGxtJyAgID0+IENVUkxBVVRIX05UTE0sCiAgICAgICAgICAgICdhbnknICAgID0+IENVUkxBVVRIX0FOWQogICAgICAgICk7CgogICAgICAgIC8vIElmIHdlIGdvdCBmYWxzZSBvciBudWxsLCBkaXNhYmxlIGF1dGhlbnRpY2F0aW9uCiAgICAgICAgaWYgKCEkdXNlcikgewogICAgICAgICAgICAkdGhpcy0+cGFzc3dvcmQgPSAkdGhpcy0+dXNlcm5hbWUgPSBudWxsOwogICAgICAgICAgICAkdGhpcy0+cmVtb3ZlSGVhZGVyKCdBdXRob3JpemF0aW9uJyk7CiAgICAgICAgICAgICR0aGlzLT5nZXRDdXJsT3B0aW9ucygpLT5yZW1vdmUoQ1VSTE9QVF9IVFRQQVVUSCk7CiAgICAgICAgICAgIHJldHVybiAkdGhpczsKICAgICAgICB9CgogICAgICAgIGlmICghaXNfbnVtZXJpYygkc2NoZW1lKSkgewogICAgICAgICAgICAkc2NoZW1lID0gc3RydG9sb3dlcigkc2NoZW1lKTsKICAgICAgICAgICAgaWYgKCFpc3NldCgkYXV0aE1hcFskc2NoZW1lXSkpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJHNjaGVtZSAuICcgaXMgbm90IGEgdmFsaWQgYXV0aGVudGljYXRpb24gdHlwZScpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRzY2hlbWUgPSAkYXV0aE1hcFskc2NoZW1lXTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT51c2VybmFtZSA9ICR1c2VyOwogICAgICAgICR0aGlzLT5wYXNzd29yZCA9ICRwYXNzd29yZDsKCiAgICAgICAgLy8gQnlwYXNzIENVUkwgd2hlbiB1c2luZyBiYXNpYyBhdXRoIHRvIHByb21vdGUgY29ubmVjdGlvbiByZXVzZQogICAgICAgIGlmICgkc2NoZW1lID09IENVUkxBVVRIX0JBU0lDKSB7CiAgICAgICAgICAgICR0aGlzLT5nZXRDdXJsT3B0aW9ucygpLT5yZW1vdmUoQ1VSTE9QVF9IVFRQQVVUSCk7CiAgICAgICAgICAgICR0aGlzLT5zZXRIZWFkZXIoJ0F1dGhvcml6YXRpb24nLCAnQmFzaWMgJyAuIGJhc2U2NF9lbmNvZGUoJHRoaXMtPnVzZXJuYW1lIC4gJzonIC4gJHRoaXMtPnBhc3N3b3JkKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmdldEN1cmxPcHRpb25zKCkKICAgICAgICAgICAgICAgIC0+c2V0KENVUkxPUFRfSFRUUEFVVEgsICRzY2hlbWUpCiAgICAgICAgICAgICAgICAtPnNldChDVVJMT1BUX1VTRVJQV0QsICR0aGlzLT51c2VybmFtZSAuICc6JyAuICR0aGlzLT5wYXNzd29yZCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlc291cmNlKCkKICAgIHsKICAgICAgICAkcmVzb3VyY2UgPSAkdGhpcy0+Z2V0UGF0aCgpOwogICAgICAgIGlmICgkcXVlcnkgPSAoc3RyaW5nKSAkdGhpcy0+dXJsLT5nZXRRdWVyeSgpKSB7CiAgICAgICAgICAgICRyZXNvdXJjZSAuPSAnPycgLiAkcXVlcnk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJlc291cmNlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRVcmwoJGFzT2JqZWN0ID0gZmFsc2UpCiAgICB7CiAgICAgICAgcmV0dXJuICRhc09iamVjdCA/IGNsb25lICR0aGlzLT51cmwgOiAoc3RyaW5nKSAkdGhpcy0+dXJsOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTdGF0ZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zdGF0ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U3RhdGUoJHN0YXRlLCBhcnJheSAkY29udGV4dCA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJG9sZFN0YXRlID0gJHRoaXMtPnN0YXRlOwogICAgICAgICR0aGlzLT5zdGF0ZSA9ICRzdGF0ZTsKCiAgICAgICAgc3dpdGNoICgkc3RhdGUpIHsKICAgICAgICAgICAgY2FzZSBzZWxmOjpTVEFURV9ORVc6CiAgICAgICAgICAgICAgICAkdGhpcy0+cmVzcG9uc2UgPSBudWxsOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2Ugc2VsZjo6U1RBVEVfVFJBTlNGRVI6CiAgICAgICAgICAgICAgICBpZiAoJG9sZFN0YXRlICE9PSAkc3RhdGUpIHsKICAgICAgICAgICAgICAgICAgICAvLyBGaXggQ29udGVudC1MZW5ndGggYW5kIFRyYW5zZmVyLUVuY29kaW5nIGNvbGxpc2lvbnMKICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMtPmhhc0hlYWRlcignVHJhbnNmZXItRW5jb2RpbmcnKSAmJiAkdGhpcy0+aGFzSGVhZGVyKCdDb250ZW50LUxlbmd0aCcpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5yZW1vdmVIZWFkZXIoJ1RyYW5zZmVyLUVuY29kaW5nJyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICR0aGlzLT5kaXNwYXRjaCgncmVxdWVzdC5iZWZvcmVfc2VuZCcsIGFycmF5KCdyZXF1ZXN0JyA9PiAkdGhpcykpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2Ugc2VsZjo6U1RBVEVfQ09NUExFVEU6CiAgICAgICAgICAgICAgICBpZiAoJG9sZFN0YXRlICE9PSAkc3RhdGUpIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cHJvY2Vzc1Jlc3BvbnNlKCRjb250ZXh0KTsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cmVzcG9uc2VCb2R5ID0gbnVsbDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIHNlbGY6OlNUQVRFX0VSUk9SOgogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRjb250ZXh0WydleGNlcHRpb24nXSkpIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+ZGlzcGF0Y2goJ3JlcXVlc3QuZXhjZXB0aW9uJywgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1ZXN0JyAgID0+ICR0aGlzLAogICAgICAgICAgICAgICAgICAgICAgICAncmVzcG9uc2UnICA9PiBpc3NldCgkY29udGV4dFsncmVzcG9uc2UnXSkgPyAkY29udGV4dFsncmVzcG9uc2UnXSA6ICR0aGlzLT5yZXNwb25zZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2V4Y2VwdGlvbicgPT4gaXNzZXQoJGNvbnRleHRbJ2V4Y2VwdGlvbiddKSA/ICRjb250ZXh0WydleGNlcHRpb24nXSA6IG51bGwKICAgICAgICAgICAgICAgICAgICApKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+c3RhdGU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldEN1cmxPcHRpb25zKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmN1cmxPcHRpb25zOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzdGFydFJlc3BvbnNlKFJlc3BvbnNlICRyZXNwb25zZSkKICAgIHsKICAgICAgICAkdGhpcy0+c3RhdGUgPSBzZWxmOjpTVEFURV9UUkFOU0ZFUjsKICAgICAgICAkcmVzcG9uc2UtPnNldEVmZmVjdGl2ZVVybCgoc3RyaW5nKSAkdGhpcy0+Z2V0VXJsKCkpOwogICAgICAgICR0aGlzLT5yZXNwb25zZSA9ICRyZXNwb25zZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRSZXNwb25zZShSZXNwb25zZSAkcmVzcG9uc2UsICRxdWV1ZWQgPSBmYWxzZSkKICAgIHsKICAgICAgICAkcmVzcG9uc2UtPnNldEVmZmVjdGl2ZVVybCgoc3RyaW5nKSAkdGhpcy0+dXJsKTsKCiAgICAgICAgaWYgKCRxdWV1ZWQpIHsKICAgICAgICAgICAgJGVkID0gJHRoaXMtPmdldEV2ZW50RGlzcGF0Y2hlcigpOwogICAgICAgICAgICAkZWQtPmFkZExpc3RlbmVyKCdyZXF1ZXN0LmJlZm9yZV9zZW5kJywgJGYgPSBmdW5jdGlvbiAoJGUpIHVzZSAoJHJlc3BvbnNlLCAmJGYsICRlZCkgewogICAgICAgICAgICAgICAgJGVbJ3JlcXVlc3QnXS0+c2V0UmVzcG9uc2UoJHJlc3BvbnNlKTsKICAgICAgICAgICAgICAgICRlZC0+cmVtb3ZlTGlzdGVuZXIoJ3JlcXVlc3QuYmVmb3JlX3NlbmQnLCAkZik7CiAgICAgICAgICAgIH0sIC05OTk5KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+cmVzcG9uc2UgPSAkcmVzcG9uc2U7CiAgICAgICAgICAgIC8vIElmIGEgc3BlY2lmaWMgcmVzcG9uc2UgYm9keSBpcyBzcGVjaWZpZWQsIHRoZW4gdXNlIGl0IGluc3RlYWQgb2YgdGhlIHJlc3BvbnNlJ3MgYm9keQogICAgICAgICAgICBpZiAoJHRoaXMtPnJlc3BvbnNlQm9keSAmJiAhJHRoaXMtPnJlc3BvbnNlQm9keS0+Z2V0Q3VzdG9tRGF0YSgnZGVmYXVsdCcpICYmICEkcmVzcG9uc2UtPmlzUmVkaXJlY3QoKSkgewogICAgICAgICAgICAgICAgJHRoaXMtPmdldFJlc3BvbnNlQm9keSgpLT53cml0ZSgoc3RyaW5nKSAkdGhpcy0+cmVzcG9uc2UtPmdldEJvZHkoKSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cmVzcG9uc2VCb2R5ID0gJHRoaXMtPnJlc3BvbnNlLT5nZXRCb2R5KCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMtPnNldFN0YXRlKHNlbGY6OlNUQVRFX0NPTVBMRVRFKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UmVzcG9uc2VCb2R5KCRib2R5KQogICAgewogICAgICAgIC8vIEF0dGVtcHQgdG8gb3BlbiBhIGZpbGUgZm9yIHdyaXRpbmcgaWYgYSBzdHJpbmcgd2FzIHBhc3NlZAogICAgICAgIGlmIChpc19zdHJpbmcoJGJvZHkpKSB7CiAgICAgICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVTdGFydAogICAgICAgICAgICBpZiAoISgkYm9keSA9IGZvcGVuKCRib2R5LCAndysnKSkpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0NvdWxkIG5vdCBvcGVuICcgLiAkYm9keSAuICcgZm9yIHdyaXRpbmcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlRW5kCiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+cmVzcG9uc2VCb2R5ID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgkYm9keSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzcG9uc2VCb2R5KCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnJlc3BvbnNlQm9keSA9PT0gbnVsbCkgewogICAgICAgICAgICAkdGhpcy0+cmVzcG9uc2VCb2R5ID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgpLT5zZXRDdXN0b21EYXRhKCdkZWZhdWx0JywgdHJ1ZSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPnJlc3BvbnNlQm9keTsKICAgIH0KCiAgICAvKioKICAgICAqIERldGVybWluZSBpZiB0aGUgcmVzcG9uc2UgYm9keSBpcyByZXBlYXRhYmxlIChyZWFkYWJsZSArIHNlZWthYmxlKQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICogQGRlcHJlY2F0ZWQgVXNlIGdldFJlc3BvbnNlQm9keSgpLT5pc1NlZWthYmxlKCkKICAgICAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzUmVzcG9uc2VCb2R5UmVwZWF0YWJsZSgpCiAgICB7CiAgICAgICAgVmVyc2lvbjo6d2FybihfX01FVEhPRF9fIC4gJyBpcyBkZXByZWNhdGVkLiBVc2UgJHJlcXVlc3QtPmdldFJlc3BvbnNlQm9keSgpLT5pc1JlcGVhdGFibGUoKScpOwogICAgICAgIHJldHVybiAhJHRoaXMtPnJlc3BvbnNlQm9keSA/IHRydWUgOiAkdGhpcy0+cmVzcG9uc2VCb2R5LT5pc1JlcGVhdGFibGUoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29va2llcygpCiAgICB7CiAgICAgICAgaWYgKCRjb29raWUgPSAkdGhpcy0+Z2V0SGVhZGVyKCdDb29raWUnKSkgewogICAgICAgICAgICAkZGF0YSA9IFBhcnNlclJlZ2lzdHJ5OjpnZXRJbnN0YW5jZSgpLT5nZXRQYXJzZXIoJ2Nvb2tpZScpLT5wYXJzZUNvb2tpZSgkY29va2llKTsKICAgICAgICAgICAgcmV0dXJuICRkYXRhWydjb29raWVzJ107CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXJyYXkoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29va2llKCRuYW1lKQogICAgewogICAgICAgICRjb29raWVzID0gJHRoaXMtPmdldENvb2tpZXMoKTsKCiAgICAgICAgcmV0dXJuIGlzc2V0KCRjb29raWVzWyRuYW1lXSkgPyAkY29va2llc1skbmFtZV0gOiBudWxsOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRDb29raWUoJG5hbWUsICR2YWx1ZSkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5oYXNIZWFkZXIoJ0Nvb2tpZScpKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRIZWFkZXIoJ0Nvb2tpZScsICJ7JG5hbWV9PXskdmFsdWV9Iik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmdldEhlYWRlcignQ29va2llJyktPmFkZCgieyRuYW1lfT17JHZhbHVlfSIpOwogICAgICAgIH0KCiAgICAgICAgLy8gQWx3YXlzIHVzZSBzZW1pY29sb25zIHRvIHNlcGFyYXRlIG11bHRpcGxlIGNvb2tpZSBoZWFkZXJzCiAgICAgICAgJHRoaXMtPmdldEhlYWRlcignQ29va2llJyktPnNldEdsdWUoJzsnKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVDb29raWUoJG5hbWUpCiAgICB7CiAgICAgICAgaWYgKCRjb29raWUgPSAkdGhpcy0+Z2V0SGVhZGVyKCdDb29raWUnKSkgewogICAgICAgICAgICBmb3JlYWNoICgkY29va2llIGFzICRjb29raWVWYWx1ZSkgewogICAgICAgICAgICAgICAgaWYgKHN0cnBvcygkY29va2llVmFsdWUsICRuYW1lIC4gJz0nKSA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICRjb29raWUtPnJlbW92ZVZhbHVlKCRjb29raWVWYWx1ZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RXZlbnREaXNwYXRjaGVyKEV2ZW50RGlzcGF0Y2hlckludGVyZmFjZSAkZXZlbnREaXNwYXRjaGVyKQogICAgewogICAgICAgICR0aGlzLT5ldmVudERpc3BhdGNoZXIgPSAkZXZlbnREaXNwYXRjaGVyOwogICAgICAgICR0aGlzLT5ldmVudERpc3BhdGNoZXItPmFkZExpc3RlbmVyKCdyZXF1ZXN0LmVycm9yJywgYXJyYXkoX19DTEFTU19fLCAnb25SZXF1ZXN0RXJyb3InKSwgLTI1NSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXZlbnREaXNwYXRjaGVyKCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5ldmVudERpc3BhdGNoZXIpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEV2ZW50RGlzcGF0Y2hlcihuZXcgRXZlbnREaXNwYXRjaGVyKCkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5ldmVudERpc3BhdGNoZXI7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRpc3BhdGNoKCRldmVudE5hbWUsIGFycmF5ICRjb250ZXh0ID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkY29udGV4dFsncmVxdWVzdCddID0gJHRoaXM7CgogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmRpc3BhdGNoKCRldmVudE5hbWUsIG5ldyBFdmVudCgkY29udGV4dCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRTdWJzY3JpYmVyKEV2ZW50U3Vic2NyaWJlckludGVyZmFjZSAkc3Vic2NyaWJlcikKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZFN1YnNjcmliZXIoJHN1YnNjcmliZXIpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYW4gYXJyYXkgY29udGFpbmluZyB0aGUgcmVxdWVzdCBhbmQgcmVzcG9uc2UgZm9yIGV2ZW50IG5vdGlmaWNhdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRFdmVudEFycmF5KCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgICdyZXF1ZXN0JyAgPT4gJHRoaXMsCiAgICAgICAgICAgICdyZXNwb25zZScgPT4gJHRoaXMtPnJlc3BvbnNlCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFByb2Nlc3MgYSByZWNlaXZlZCByZXNwb25zZQogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkY29udGV4dCBDb250ZXh0dWFsIGluZm9ybWF0aW9uCiAgICAgKiBAdGhyb3dzIFJlcXVlc3RFeGNlcHRpb258QmFkUmVzcG9uc2VFeGNlcHRpb24gb24gdW5zdWNjZXNzZnVsIHJlc3BvbnNlcwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJvY2Vzc1Jlc3BvbnNlKGFycmF5ICRjb250ZXh0ID0gYXJyYXkoKSkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5yZXNwb25zZSkgewogICAgICAgICAgICAvLyBJZiBubyByZXNwb25zZSwgdGhlbiBwcm9jZXNzUmVzcG9uc2Ugc2hvdWxkbid0IGhhdmUgYmVlbiBjYWxsZWQKICAgICAgICAgICAgJGUgPSBuZXcgUmVxdWVzdEV4Y2VwdGlvbignRXJyb3IgY29tcGxldGluZyByZXF1ZXN0Jyk7CiAgICAgICAgICAgICRlLT5zZXRSZXF1ZXN0KCR0aGlzKTsKICAgICAgICAgICAgdGhyb3cgJGU7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+c3RhdGUgPSBzZWxmOjpTVEFURV9DT01QTEVURTsKCiAgICAgICAgLy8gQSByZXF1ZXN0IHdhcyBzZW50LCBidXQgd2UgZG9uJ3Qga25vdyBpZiB3ZSdsbCBzZW5kIG1vcmUgb3IgaWYgdGhlIGZpbmFsIHJlc3BvbnNlIHdpbGwgYmUgc3VjY2Vzc2Z1bAogICAgICAgICR0aGlzLT5kaXNwYXRjaCgncmVxdWVzdC5zZW50JywgJHRoaXMtPmdldEV2ZW50QXJyYXkoKSArICRjb250ZXh0KTsKCiAgICAgICAgLy8gU29tZSByZXNwb25zZSBwcm9jZXNzb3JzIHdpbGwgcmVtb3ZlIHRoZSByZXNwb25zZSBvciByZXNldCB0aGUgc3RhdGUgKGV4YW1wbGU6IEV4cG9uZW50aWFsQmFja29mZlBsdWdpbikKICAgICAgICBpZiAoJHRoaXMtPnN0YXRlID09IFJlcXVlc3RJbnRlcmZhY2U6OlNUQVRFX0NPTVBMRVRFKSB7CgogICAgICAgICAgICAvLyBUaGUgcmVxdWVzdCBjb21wbGV0ZWQsIHNvIHRoZSBIVFRQIHRyYW5zYWN0aW9uIGlzIGNvbXBsZXRlCiAgICAgICAgICAgICR0aGlzLT5kaXNwYXRjaCgncmVxdWVzdC5jb21wbGV0ZScsICR0aGlzLT5nZXRFdmVudEFycmF5KCkpOwoKICAgICAgICAgICAgLy8gSWYgdGhlIHJlc3BvbnNlIGlzIGJhZCwgYWxsb3cgbGlzdGVuZXJzIHRvIG1vZGlmeSBpdCBvciB0aHJvdyBleGNlcHRpb25zLiBZb3UgY2FuIGNoYW5nZSB0aGUgcmVzcG9uc2UgYnkKICAgICAgICAgICAgLy8gbW9kaWZ5aW5nIHRoZSBFdmVudCBvYmplY3QgaW4geW91ciBsaXN0ZW5lcnMgb3IgY2FsbGluZyBzZXRSZXNwb25zZSgpIG9uIHRoZSByZXF1ZXN0CiAgICAgICAgICAgIGlmICgkdGhpcy0+cmVzcG9uc2UtPmlzRXJyb3IoKSkgewogICAgICAgICAgICAgICAgJGV2ZW50ID0gbmV3IEV2ZW50KCR0aGlzLT5nZXRFdmVudEFycmF5KCkpOwogICAgICAgICAgICAgICAgJHRoaXMtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5kaXNwYXRjaCgncmVxdWVzdC5lcnJvcicsICRldmVudCk7CiAgICAgICAgICAgICAgICAvLyBBbGxvdyBldmVudHMgb2YgcmVxdWVzdC5lcnJvciB0byBxdWlldGx5IGNoYW5nZSB0aGUgcmVzcG9uc2UKICAgICAgICAgICAgICAgIGlmICgkZXZlbnRbJ3Jlc3BvbnNlJ10gIT09ICR0aGlzLT5yZXNwb25zZSkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5yZXNwb25zZSA9ICRldmVudFsncmVzcG9uc2UnXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gSWYgYSBzdWNjZXNzZnVsIHJlc3BvbnNlIHdhcyByZWNlaXZlZCwgZGlzcGF0Y2ggYW4gZXZlbnQKICAgICAgICAgICAgaWYgKCR0aGlzLT5yZXNwb25zZS0+aXNTdWNjZXNzZnVsKCkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5kaXNwYXRjaCgncmVxdWVzdC5zdWNjZXNzJywgJHRoaXMtPmdldEV2ZW50QXJyYXkoKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgR3V6emxlXFBsdWdpblxDYWNoZVxEZWZhdWx0Q2FuQ2FjaGVTdHJhdGVneQogICAgICogQGNvZGVDb3ZlcmFnZUlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FuQ2FjaGUoKQogICAgewogICAgICAgIFZlcnNpb246Ondhcm4oX19NRVRIT0RfXyAuICcgaXMgZGVwcmVjYXRlZC4gVXNlIEd1enpsZVxQbHVnaW5cQ2FjaGVcRGVmYXVsdENhbkNhY2hlU3RyYXRlZ3kuJyk7CiAgICAgICAgaWYgKGNsYXNzX2V4aXN0cygnR3V6emxlXFBsdWdpblxDYWNoZVxEZWZhdWx0Q2FuQ2FjaGVTdHJhdGVneScpKSB7CiAgICAgICAgICAgICRjYW5DYWNoZSA9IG5ldyBcR3V6emxlXFBsdWdpblxDYWNoZVxEZWZhdWx0Q2FuQ2FjaGVTdHJhdGVneSgpOwogICAgICAgICAgICByZXR1cm4gJGNhbkNhY2hlLT5jYW5DYWNoZVJlcXVlc3QoJHRoaXMpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGhpc3RvcnkgcGx1Z2luIChub3QgZW1pdHRpbmcgYSB3YXJuaW5nIGFzIHRoaXMgaXMgYnVpbHQtaW50byB0aGUgUmVkaXJlY3RQbHVnaW4gZm9yIG5vdykKICAgICAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldElzUmVkaXJlY3QoJGlzUmVkaXJlY3QpCiAgICB7CiAgICAgICAgJHRoaXMtPmlzUmVkaXJlY3QgPSAkaXNSZWRpcmVjdDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBoaXN0b3J5IHBsdWdpbgogICAgICogQGNvZGVDb3ZlcmFnZUlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNSZWRpcmVjdCgpCiAgICB7CiAgICAgICAgVmVyc2lvbjo6d2FybihfX01FVEhPRF9fIC4gJyBpcyBkZXByZWNhdGVkLiBVc2UgdGhlIEhpc3RvcnlQbHVnaW4gdG8gdHJhY2sgdGhpcy4nKTsKICAgICAgICByZXR1cm4gJHRoaXMtPmlzUmVkaXJlY3Q7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXFJlZGlyZWN0UGx1Z2luOwp1c2UgR3V6emxlXEh0dHBcVXJsOwp1c2UgR3V6emxlXFBhcnNlclxQYXJzZXJSZWdpc3RyeTsKCi8qKgogKiBEZWZhdWx0IEhUVFAgcmVxdWVzdCBmYWN0b3J5IHVzZWQgdG8gY3JlYXRlIHRoZSBkZWZhdWx0IHtAc2VlIFJlcXVlc3R9IGFuZCB7QHNlZSBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0fSBvYmplY3RzLgogKi8KY2xhc3MgUmVxdWVzdEZhY3RvcnkgaW1wbGVtZW50cyBSZXF1ZXN0RmFjdG9yeUludGVyZmFjZQp7CiAgICAvKiogQHZhciBSZXF1ZXN0RmFjdG9yeSBTaW5nbGV0b24gaW5zdGFuY2Ugb2YgdGhlIGRlZmF1bHQgcmVxdWVzdCBmYWN0b3J5ICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRpbnN0YW5jZTsKCiAgICAvKiogQHZhciBhcnJheSBIYXNoIG9mIG1ldGhvZHMgYXZhaWxhYmxlIHRvIHRoZSBjbGFzcyAocHJvdmlkZXMgZmFzdCBpc3NldCgpIGxvb2t1cHMpICovCiAgICBwcm90ZWN0ZWQgJG1ldGhvZHM7CgogICAgLyoqIEB2YXIgc3RyaW5nIENsYXNzIHRvIGluc3RhbnRpYXRlIGZvciByZXF1ZXN0cyB3aXRoIG5vIGJvZHkgKi8KICAgIHByb3RlY3RlZCAkcmVxdWVzdENsYXNzID0gJ0d1enpsZVxcSHR0cFxcTWVzc2FnZVxcUmVxdWVzdCc7CgogICAgLyoqIEB2YXIgc3RyaW5nIENsYXNzIHRvIGluc3RhbnRpYXRlIGZvciByZXF1ZXN0cyB3aXRoIGEgYm9keSAqLwogICAgcHJvdGVjdGVkICRlbnRpdHlFbmNsb3NpbmdSZXF1ZXN0Q2xhc3MgPSAnR3V6emxlXFxIdHRwXFxNZXNzYWdlXFxFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0JzsKCiAgICAvKioKICAgICAqIEdldCBhIGNhY2hlZCBpbnN0YW5jZSBvZiB0aGUgZGVmYXVsdCByZXF1ZXN0IGZhY3RvcnkKICAgICAqCiAgICAgKiBAcmV0dXJuIFJlcXVlc3RGYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0SW5zdGFuY2UoKQogICAgewogICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVTdGFydAogICAgICAgIGlmICghc3RhdGljOjokaW5zdGFuY2UpIHsKICAgICAgICAgICAgc3RhdGljOjokaW5zdGFuY2UgPSBuZXcgc3RhdGljKCk7CiAgICAgICAgfQogICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVFbmQKCiAgICAgICAgcmV0dXJuIHN0YXRpYzo6JGluc3RhbmNlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgICB7CiAgICAgICAgJHRoaXMtPm1ldGhvZHMgPSBhcnJheV9mbGlwKGdldF9jbGFzc19tZXRob2RzKF9fQ0xBU1NfXykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBmcm9tTWVzc2FnZSgkbWVzc2FnZSkKICAgIHsKICAgICAgICAkcGFyc2VkID0gUGFyc2VyUmVnaXN0cnk6OmdldEluc3RhbmNlKCktPmdldFBhcnNlcignbWVzc2FnZScpLT5wYXJzZVJlcXVlc3QoJG1lc3NhZ2UpOwoKICAgICAgICBpZiAoISRwYXJzZWQpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+ZnJvbVBhcnRzKCRwYXJzZWRbJ21ldGhvZCddLCAkcGFyc2VkWydyZXF1ZXN0X3VybCddLAogICAgICAgICAgICAkcGFyc2VkWydoZWFkZXJzJ10sICRwYXJzZWRbJ2JvZHknXSwgJHBhcnNlZFsncHJvdG9jb2wnXSwKICAgICAgICAgICAgJHBhcnNlZFsndmVyc2lvbiddKTsKCiAgICAgICAgLy8gRW50aXR5RW5jbG9zaW5nUmVxdWVzdCBhZGRzIGFuICJFeHBlY3Q6IDEwMC1Db250aW51ZSIgaGVhZGVyIHdoZW4gdXNpbmcgYSByYXcgcmVxdWVzdCBib2R5IGZvciBQVVQgb3IgUE9TVAogICAgICAgIC8vIHJlcXVlc3RzLiBUaGlzIGZhY3RvcnkgbWV0aG9kIHNob3VsZCBhY2N1cmF0ZWx5IHJlZmxlY3QgdGhlIG1lc3NhZ2UsIHNvIGhlcmUgd2UgYXJlIHJlbW92aW5nIHRoZSBFeHBlY3QKICAgICAgICAvLyBoZWFkZXIgaWYgb25lIHdhcyBub3Qgc3VwcGxpZWQgaW4gdGhlIG1lc3NhZ2UuCiAgICAgICAgaWYgKCFpc3NldCgkcGFyc2VkWydoZWFkZXJzJ11bJ0V4cGVjdCddKSAmJiAhaXNzZXQoJHBhcnNlZFsnaGVhZGVycyddWydleHBlY3QnXSkpIHsKICAgICAgICAgICAgJHJlcXVlc3QtPnJlbW92ZUhlYWRlcignRXhwZWN0Jyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJlcXVlc3Q7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGZyb21QYXJ0cygKICAgICAgICAkbWV0aG9kLAogICAgICAgIGFycmF5ICR1cmxQYXJ0cywKICAgICAgICAkaGVhZGVycyA9IG51bGwsCiAgICAgICAgJGJvZHkgPSBudWxsLAogICAgICAgICRwcm90b2NvbCA9ICdIVFRQJywKICAgICAgICAkcHJvdG9jb2xWZXJzaW9uID0gJzEuMScKICAgICkgewogICAgICAgIHJldHVybiAkdGhpcy0+Y3JlYXRlKCRtZXRob2QsIFVybDo6YnVpbGRVcmwoJHVybFBhcnRzKSwgJGhlYWRlcnMsICRib2R5KQogICAgICAgICAgICAgICAgICAgIC0+c2V0UHJvdG9jb2xWZXJzaW9uKCRwcm90b2NvbFZlcnNpb24pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGUoJG1ldGhvZCwgJHVybCwgJGhlYWRlcnMgPSBudWxsLCAkYm9keSA9IG51bGwsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkbWV0aG9kID0gc3RydG91cHBlcigkbWV0aG9kKTsKCiAgICAgICAgaWYgKCRtZXRob2QgPT0gJ0dFVCcgfHwgJG1ldGhvZCA9PSAnSEVBRCcgfHwgJG1ldGhvZCA9PSAnVFJBQ0UnIHx8ICRtZXRob2QgPT0gJ09QVElPTlMnKSB7CiAgICAgICAgICAgIC8vIEhhbmRsZSBub24tZW50aXR5LWVuY2xvc2luZyByZXF1ZXN0IG1ldGhvZHMKICAgICAgICAgICAgJHJlcXVlc3QgPSBuZXcgJHRoaXMtPnJlcXVlc3RDbGFzcygkbWV0aG9kLCAkdXJsLCAkaGVhZGVycyk7CiAgICAgICAgICAgIGlmICgkYm9keSkgewogICAgICAgICAgICAgICAgLy8gVGhlIGJvZHkgaXMgd2hlcmUgdGhlIHJlc3BvbnNlIGJvZHkgd2lsbCBiZSBzdG9yZWQKICAgICAgICAgICAgICAgICR0eXBlID0gZ2V0dHlwZSgkYm9keSk7CiAgICAgICAgICAgICAgICBpZiAoJHR5cGUgPT0gJ3N0cmluZycgfHwgJHR5cGUgPT0gJ3Jlc291cmNlJyB8fCAkdHlwZSA9PSAnb2JqZWN0JykgewogICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRSZXNwb25zZUJvZHkoJGJvZHkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gQ3JlYXRlIGFuIGVudGl0eSBlbmNsb3NpbmcgcmVxdWVzdCBieSBkZWZhdWx0CiAgICAgICAgICAgICRyZXF1ZXN0ID0gbmV3ICR0aGlzLT5lbnRpdHlFbmNsb3NpbmdSZXF1ZXN0Q2xhc3MoJG1ldGhvZCwgJHVybCwgJGhlYWRlcnMpOwogICAgICAgICAgICBpZiAoJGJvZHkgfHwgJGJvZHkgPT09ICcwJykgewogICAgICAgICAgICAgICAgLy8gQWRkIFBPU1QgZmllbGRzIGFuZCBmaWxlcyB0byBhbiBlbnRpdHkgZW5jbG9zaW5nIHJlcXVlc3QgaWYgYW4gYXJyYXkgaXMgdXNlZAogICAgICAgICAgICAgICAgaWYgKGlzX2FycmF5KCRib2R5KSB8fCAkYm9keSBpbnN0YW5jZW9mIENvbGxlY3Rpb24pIHsKICAgICAgICAgICAgICAgICAgICAvLyBOb3JtYWxpemUgUEhQIHN0eWxlIGNVUkwgdXBsb2FkcyB3aXRoIGEgbGVhZGluZyAnQCcgc3ltYm9sCiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJGJvZHkgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzX3N0cmluZygkdmFsdWUpICYmIHN1YnN0cigkdmFsdWUsIDAsIDEpID09ICdAJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3QtPmFkZFBvc3RGaWxlKCRrZXksICR2YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNldCgkYm9keVska2V5XSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgLy8gQWRkIHRoZSBmaWVsZHMgaWYgdGhleSBhcmUgc3RpbGwgcHJlc2VudCBhbmQgbm90IGFsbCBmaWxlcwogICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0LT5hZGRQb3N0RmllbGRzKCRib2R5KTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgLy8gQWRkIGEgcmF3IGVudGl0eSBib2R5IGJvZHkgdG8gdGhlIHJlcXVlc3QKICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdC0+c2V0Qm9keSgkYm9keSwgKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcignQ29udGVudC1UeXBlJykpOwogICAgICAgICAgICAgICAgICAgIGlmICgoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdUcmFuc2Zlci1FbmNvZGluZycpID09ICdjaHVua2VkJykgewogICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdC0+cmVtb3ZlSGVhZGVyKCdDb250ZW50LUxlbmd0aCcpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCRvcHRpb25zKSB7CiAgICAgICAgICAgICR0aGlzLT5hcHBseU9wdGlvbnMoJHJlcXVlc3QsICRvcHRpb25zKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVxdWVzdDsKICAgIH0KCiAgICAvKioKICAgICAqIENsb25lIGEgcmVxdWVzdCB3aGlsZSBjaGFuZ2luZyB0aGUgbWV0aG9kLiBFbXVsYXRlcyB0aGUgYmVoYXZpb3Igb2YKICAgICAqIHtAc2VlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDo6Y2xvbmV9LCBidXQgY2FuIGNoYW5nZSB0aGUgSFRUUCBtZXRob2QuCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgUmVxdWVzdCB0byBjbG9uZQogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgJG1ldGhvZCAgTWV0aG9kIHRvIHNldAogICAgICoKICAgICAqIEByZXR1cm4gUmVxdWVzdEludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xvbmVSZXF1ZXN0V2l0aE1ldGhvZChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCAkbWV0aG9kKQogICAgewogICAgICAgIC8vIENyZWF0ZSB0aGUgcmVxdWVzdCB3aXRoIHRoZSBzYW1lIGNsaWVudCBpZiBwb3NzaWJsZQogICAgICAgIGlmICgkcmVxdWVzdC0+Z2V0Q2xpZW50KCkpIHsKICAgICAgICAgICAgJGNsb25lZCA9ICRyZXF1ZXN0LT5nZXRDbGllbnQoKS0+Y3JlYXRlUmVxdWVzdCgkbWV0aG9kLCAkcmVxdWVzdC0+Z2V0VXJsKCksICRyZXF1ZXN0LT5nZXRIZWFkZXJzKCkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRjbG9uZWQgPSAkdGhpcy0+Y3JlYXRlKCRtZXRob2QsICRyZXF1ZXN0LT5nZXRVcmwoKSwgJHJlcXVlc3QtPmdldEhlYWRlcnMoKSk7CiAgICAgICAgfQoKICAgICAgICAkY2xvbmVkLT5nZXRDdXJsT3B0aW9ucygpLT5yZXBsYWNlKCRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT50b0FycmF5KCkpOwogICAgICAgICRjbG9uZWQtPnNldEV2ZW50RGlzcGF0Y2hlcihjbG9uZSAkcmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKCkpOwogICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoYXQgdGhlIENvbnRlbnQtTGVuZ3RoIGhlYWRlciBpcyBub3QgY29waWVkIGlmIGNoYW5naW5nIHRvIEdFVCBvciBIRUFECiAgICAgICAgaWYgKCEoJGNsb25lZCBpbnN0YW5jZW9mIEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2UpKSB7CiAgICAgICAgICAgICRjbG9uZWQtPnJlbW92ZUhlYWRlcignQ29udGVudC1MZW5ndGgnKTsKICAgICAgICB9IGVsc2VpZiAoJHJlcXVlc3QgaW5zdGFuY2VvZiBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0SW50ZXJmYWNlKSB7CiAgICAgICAgICAgICRjbG9uZWQtPnNldEJvZHkoJHJlcXVlc3QtPmdldEJvZHkoKSk7CiAgICAgICAgfQogICAgICAgICRjbG9uZWQtPmdldFBhcmFtcygpLT5yZXBsYWNlKCRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+dG9BcnJheSgpKTsKICAgICAgICAkY2xvbmVkLT5kaXNwYXRjaCgncmVxdWVzdC5jbG9uZScsIGFycmF5KCdyZXF1ZXN0JyA9PiAkY2xvbmVkKSk7CgogICAgICAgIHJldHVybiAkY2xvbmVkOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhcHBseU9wdGlvbnMoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgYXJyYXkgJG9wdGlvbnMgPSBhcnJheSgpLCAkZmxhZ3MgPSBzZWxmOjpPUFRJT05TX05PTkUpCiAgICB7CiAgICAgICAgLy8gSXRlcmF0ZSBvdmVyIGVhY2gga2V5IHZhbHVlIHBhaXIgYW5kIGF0dGVtcHQgdG8gYXBwbHkgYSBjb25maWcgdXNpbmcgZnVuY3Rpb24gdmlzaXRvcnMKICAgICAgICBmb3JlYWNoICgkb3B0aW9ucyBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICAkbWV0aG9kID0gInZpc2l0X3ska2V5fSI7CiAgICAgICAgICAgIGlmIChpc3NldCgkdGhpcy0+bWV0aG9kc1skbWV0aG9kXSkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT57JG1ldGhvZH0oJHJlcXVlc3QsICR2YWx1ZSwgJGZsYWdzKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdmlzaXRfaGVhZGVycyhSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCAkdmFsdWUsICRmbGFncykKICAgIHsKICAgICAgICBpZiAoIWlzX2FycmF5KCR2YWx1ZSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignaGVhZGVycyB2YWx1ZSBtdXN0IGJlIGFuIGFycmF5Jyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJGZsYWdzICYgc2VsZjo6T1BUSU9OU19BU19ERUZBVUxUUykgewogICAgICAgICAgICAvLyBNZXJnZSBoZWFkZXJzIGluIGJ1dCBkbyBub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIHZhbHVlcwogICAgICAgICAgICBmb3JlYWNoICgkdmFsdWUgYXMgJGtleSA9PiAkaGVhZGVyKSB7CiAgICAgICAgICAgICAgICBpZiAoISRyZXF1ZXN0LT5oYXNIZWFkZXIoJGtleSkpIHsKICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdC0+c2V0SGVhZGVyKCRrZXksICRoZWFkZXIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHJlcXVlc3QtPmFkZEhlYWRlcnMoJHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHZpc2l0X2JvZHkoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgJHZhbHVlLCAkZmxhZ3MpCiAgICB7CiAgICAgICAgaWYgKCRyZXF1ZXN0IGluc3RhbmNlb2YgRW50aXR5RW5jbG9zaW5nUmVxdWVzdEludGVyZmFjZSkgewogICAgICAgICAgICAkcmVxdWVzdC0+c2V0Qm9keSgkdmFsdWUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0F0dGVtcHRpbmcgdG8gc2V0IGEgYm9keSBvbiBhIG5vbi1lbnRpdHktZW5jbG9zaW5nIHJlcXVlc3QnKTsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHZpc2l0X2FsbG93X3JlZGlyZWN0cyhSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCAkdmFsdWUsICRmbGFncykKICAgIHsKICAgICAgICBpZiAoJHZhbHVlID09PSBmYWxzZSkgewogICAgICAgICAgICAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPnNldChSZWRpcmVjdFBsdWdpbjo6RElTQUJMRSwgdHJ1ZSk7CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiB2aXNpdF9hdXRoKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsICR2YWx1ZSwgJGZsYWdzKQogICAgewogICAgICAgIGlmICghaXNfYXJyYXkoJHZhbHVlKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdhdXRoIHZhbHVlIG11c3QgYmUgYW4gYXJyYXknKTsKICAgICAgICB9CgogICAgICAgICRyZXF1ZXN0LT5zZXRBdXRoKCR2YWx1ZVswXSwgaXNzZXQoJHZhbHVlWzFdKSA/ICR2YWx1ZVsxXSA6IG51bGwsIGlzc2V0KCR2YWx1ZVsyXSkgPyAkdmFsdWVbMl0gOiAnYmFzaWMnKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdmlzaXRfcXVlcnkoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgJHZhbHVlLCAkZmxhZ3MpCiAgICB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkdmFsdWUpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ3F1ZXJ5IHZhbHVlIG11c3QgYmUgYW4gYXJyYXknKTsKICAgICAgICB9CgogICAgICAgIGlmICgkZmxhZ3MgJiBzZWxmOjpPUFRJT05TX0FTX0RFRkFVTFRTKSB7CiAgICAgICAgICAgIC8vIE1lcmdlIHF1ZXJ5IHN0cmluZyB2YWx1ZXMgaW4gYnV0IGRvIG5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgdmFsdWVzCiAgICAgICAgICAgICRxdWVyeSA9ICRyZXF1ZXN0LT5nZXRRdWVyeSgpOwogICAgICAgICAgICAkcXVlcnktPm92ZXJ3cml0ZVdpdGgoYXJyYXlfZGlmZl9rZXkoJHZhbHVlLCAkcXVlcnktPnRvQXJyYXkoKSkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRRdWVyeSgpLT5vdmVyd3JpdGVXaXRoKCR2YWx1ZSk7CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiB2aXNpdF9jb29raWVzKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsICR2YWx1ZSwgJGZsYWdzKQogICAgewogICAgICAgIGlmICghaXNfYXJyYXkoJHZhbHVlKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdjb29raWVzIHZhbHVlIG11c3QgYmUgYW4gYXJyYXknKTsKICAgICAgICB9CgogICAgICAgIGZvcmVhY2ggKCR2YWx1ZSBhcyAkbmFtZSA9PiAkdikgewogICAgICAgICAgICAkcmVxdWVzdC0+YWRkQ29va2llKCRuYW1lLCAkdik7CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiB2aXNpdF9ldmVudHMoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgJHZhbHVlLCAkZmxhZ3MpCiAgICB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkdmFsdWUpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ2V2ZW50cyB2YWx1ZSBtdXN0IGJlIGFuIGFycmF5Jyk7CiAgICAgICAgfQoKICAgICAgICBmb3JlYWNoICgkdmFsdWUgYXMgJG5hbWUgPT4gJG1ldGhvZCkgewogICAgICAgICAgICBpZiAoaXNfYXJyYXkoJG1ldGhvZCkpIHsKICAgICAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJG5hbWUsICRtZXRob2RbMF0sICRtZXRob2RbMV0pOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJHJlcXVlc3QtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcigkbmFtZSwgJG1ldGhvZCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHZpc2l0X3BsdWdpbnMoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgJHZhbHVlLCAkZmxhZ3MpCiAgICB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkdmFsdWUpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ3BsdWdpbnMgdmFsdWUgbXVzdCBiZSBhbiBhcnJheScpOwogICAgICAgIH0KCiAgICAgICAgZm9yZWFjaCAoJHZhbHVlIGFzICRwbHVnaW4pIHsKICAgICAgICAgICAgJHJlcXVlc3QtPmFkZFN1YnNjcmliZXIoJHBsdWdpbik7CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiB2aXNpdF9leGNlcHRpb25zKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsICR2YWx1ZSwgJGZsYWdzKQogICAgewogICAgICAgIGlmICgkdmFsdWUgPT09IGZhbHNlIHx8ICR2YWx1ZSA9PT0gMCkgewogICAgICAgICAgICAkZGlzcGF0Y2hlciA9ICRyZXF1ZXN0LT5nZXRFdmVudERpc3BhdGNoZXIoKTsKICAgICAgICAgICAgZm9yZWFjaCAoJGRpc3BhdGNoZXItPmdldExpc3RlbmVycygncmVxdWVzdC5lcnJvcicpIGFzICRsaXN0ZW5lcikgewogICAgICAgICAgICAgICAgaWYgKGlzX2FycmF5KCRsaXN0ZW5lcikgJiYgJGxpc3RlbmVyWzBdID09ICdHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3QnICYmICRsaXN0ZW5lclsxXSA9ICdvblJlcXVlc3RFcnJvcicpIHsKICAgICAgICAgICAgICAgICAgICAkZGlzcGF0Y2hlci0+cmVtb3ZlTGlzdGVuZXIoJ3JlcXVlc3QuZXJyb3InLCAkbGlzdGVuZXIpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiB2aXNpdF9zYXZlX3RvKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsICR2YWx1ZSwgJGZsYWdzKQogICAgewogICAgICAgICRyZXF1ZXN0LT5zZXRSZXNwb25zZUJvZHkoJHZhbHVlKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdmlzaXRfcGFyYW1zKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsICR2YWx1ZSwgJGZsYWdzKQogICAgewogICAgICAgIGlmICghaXNfYXJyYXkoJHZhbHVlKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdwYXJhbXMgdmFsdWUgbXVzdCBiZSBhbiBhcnJheScpOwogICAgICAgIH0KCiAgICAgICAgJHJlcXVlc3QtPmdldFBhcmFtcygpLT5vdmVyd3JpdGVXaXRoKCR2YWx1ZSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHZpc2l0X3RpbWVvdXQoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgJHZhbHVlLCAkZmxhZ3MpCiAgICB7CiAgICAgICAgaWYgKGRlZmluZWQoJ0NVUkxPUFRfVElNRU9VVF9NUycpKSB7CiAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5zZXQoQ1VSTE9QVF9USU1FT1VUX01TLCAkdmFsdWUgKiAxMDAwKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+c2V0KENVUkxPUFRfVElNRU9VVCwgJHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHZpc2l0X2Nvbm5lY3RfdGltZW91dChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCAkdmFsdWUsICRmbGFncykKICAgIHsKICAgICAgICBpZiAoZGVmaW5lZCgnQ1VSTE9QVF9DT05ORUNUVElNRU9VVF9NUycpKSB7CiAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5zZXQoQ1VSTE9QVF9DT05ORUNUVElNRU9VVF9NUywgJHZhbHVlICogMTAwMCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPnNldChDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAkdmFsdWUpOwogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdmlzaXRfZGVidWcoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgJHZhbHVlLCAkZmxhZ3MpCiAgICB7CiAgICAgICAgaWYgKCR2YWx1ZSkgewogICAgICAgICAgICAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+c2V0KENVUkxPUFRfVkVSQk9TRSwgdHJ1ZSk7CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiB2aXNpdF92ZXJpZnkoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgJHZhbHVlLCAkZmxhZ3MpCiAgICB7CiAgICAgICAgJGN1cmwgPSAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKTsKICAgICAgICBpZiAoJHZhbHVlID09PSB0cnVlIHx8IGlzX3N0cmluZygkdmFsdWUpKSB7CiAgICAgICAgICAgICRjdXJsW0NVUkxPUFRfU1NMX1ZFUklGWUhPU1RdID0gMjsKICAgICAgICAgICAgJGN1cmxbQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUl0gPSB0cnVlOwogICAgICAgICAgICBpZiAoJHZhbHVlICE9PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAkY3VybFtDVVJMT1BUX0NBSU5GT10gPSAkdmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2VpZiAoJHZhbHVlID09PSBmYWxzZSkgewogICAgICAgICAgICB1bnNldCgkY3VybFtDVVJMT1BUX0NBSU5GT10pOwogICAgICAgICAgICAkY3VybFtDVVJMT1BUX1NTTF9WRVJJRllIT1NUXSA9IDA7CiAgICAgICAgICAgICRjdXJsW0NVUkxPUFRfU1NMX1ZFUklGWVBFRVJdID0gZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiB2aXNpdF9wcm94eShSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCAkdmFsdWUsICRmbGFncykKICAgIHsKICAgICAgICAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+c2V0KENVUkxPUFRfUFJPWFksICR2YWx1ZSwgJGZsYWdzKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdmlzaXRfY2VydChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCAkdmFsdWUsICRmbGFncykKICAgIHsKICAgICAgICBpZiAoaXNfYXJyYXkoJHZhbHVlKSkgewogICAgICAgICAgICAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+c2V0KENVUkxPUFRfU1NMQ0VSVCwgJHZhbHVlWzBdKTsKICAgICAgICAgICAgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPnNldChDVVJMT1BUX1NTTENFUlRQQVNTV0QsICR2YWx1ZVsxXSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPnNldChDVVJMT1BUX1NTTENFUlQsICR2YWx1ZSk7CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiB2aXNpdF9zc2xfa2V5KFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsICR2YWx1ZSwgJGZsYWdzKQogICAgewogICAgICAgIGlmIChpc19hcnJheSgkdmFsdWUpKSB7CiAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5zZXQoQ1VSTE9QVF9TU0xLRVksICR2YWx1ZVswXSk7CiAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5zZXQoQ1VSTE9QVF9TU0xLRVlQQVNTV0QsICR2YWx1ZVsxXSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPnNldChDVVJMT1BUX1NTTEtFWSwgJHZhbHVlKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHlJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxVcmw7CgovKioKICogUmVxdWVzdCBmYWN0b3J5IHVzZWQgdG8gY3JlYXRlIEhUVFAgcmVxdWVzdHMKICovCmludGVyZmFjZSBSZXF1ZXN0RmFjdG9yeUludGVyZmFjZQp7CiAgICBjb25zdCBPUFRJT05TX05PTkUgPSAwOwogICAgY29uc3QgT1BUSU9OU19BU19ERUZBVUxUUyA9IDE7CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBuZXcgcmVxdWVzdCBiYXNlZCBvbiBhbiBIVFRQIG1lc3NhZ2UKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRtZXNzYWdlIEhUVFAgbWVzc2FnZSBhcyBhIHN0cmluZwogICAgICoKICAgICAqIEByZXR1cm4gUmVxdWVzdEludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZnJvbU1lc3NhZ2UoJG1lc3NhZ2UpOwoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgcmVxdWVzdCBmcm9tIFVSTCBwYXJ0cyBhcyByZXR1cm5lZCBmcm9tIHBhcnNlX3VybCgpCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbWV0aG9kIEhUVFAgbWV0aG9kIChHRVQsIFBPU1QsIFBVVCwgSEVBRCwgREVMRVRFLCBldGMpCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICR1cmxQYXJ0cyBVUkwgcGFydHMgY29udGFpbmluZyB0aGUgc2FtZSBrZXlzIGFzIHBhcnNlX3VybCgpCiAgICAgKiAgICAgLSBzY2hlbWU6IGUuZy4gaHR0cAogICAgICogICAgIC0gaG9zdDogICBlLmcuIHd3dy5ndXp6bGUtcHJvamVjdC5jb20KICAgICAqICAgICAtIHBvcnQ6ICAgZS5nLiA4MAogICAgICogICAgIC0gdXNlcjogICBlLmcuIG1pY2hhZWwKICAgICAqICAgICAtIHBhc3M6ICAgZS5nLiByb2NrcwogICAgICogICAgIC0gcGF0aDogICBlLmcuIC8gT1IgL2luZGV4Lmh0bWwKICAgICAqICAgICAtIHF1ZXJ5OiAgYWZ0ZXIgdGhlIHF1ZXN0aW9uIG1hcmsgPwogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkZXJzICAgICAgICAgSFRUUCBoZWFkZXJzCiAgICAgKiBAcGFyYW0gc3RyaW5nfHJlc291cmNlfGFycmF5fEVudGl0eUJvZHlJbnRlcmZhY2UgJGJvZHkgICAgICAgICAgICBCb2R5IHRvIHNlbmQgaW4gdGhlIHJlcXVlc3QKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHJvdG9jb2wgICAgICAgIFByb3RvY29sIChIVFRQLCBTUFlEWSwgZXRjKQogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcm90b2NvbFZlcnNpb24gMS4wLCAxLjEsIGV0YwogICAgICoKICAgICAqIEByZXR1cm4gUmVxdWVzdEludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZnJvbVBhcnRzKAogICAgICAgICRtZXRob2QsCiAgICAgICAgYXJyYXkgJHVybFBhcnRzLAogICAgICAgICRoZWFkZXJzID0gbnVsbCwKICAgICAgICAkYm9keSA9IG51bGwsCiAgICAgICAgJHByb3RvY29sID0gJ0hUVFAnLAogICAgICAgICRwcm90b2NvbFZlcnNpb24gPSAnMS4xJwogICAgKTsKCiAgICAvKioKICAgICAqIENyZWF0ZSBhIG5ldyByZXF1ZXN0IGJhc2VkIG9uIHRoZSBIVFRQIG1ldGhvZAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbWV0aG9kICBIVFRQIG1ldGhvZCAoR0VULCBQT1NULCBQVVQsIFBBVENILCBIRUFELCBERUxFVEUsIC4uLikKICAgICAqIEBwYXJhbSBzdHJpbmd8VXJsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdXJsICAgICBIVFRQIFVSTCB0byBjb25uZWN0IHRvCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRlcnMgSFRUUCBoZWFkZXJzCiAgICAgKiBAcGFyYW0gc3RyaW5nfHJlc291cmNlfGFycmF5fEVudGl0eUJvZHlJbnRlcmZhY2UgJGJvZHkgICAgQm9keSB0byBzZW5kIGluIHRoZSByZXF1ZXN0CiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9wdGlvbnMgQXJyYXkgb2Ygb3B0aW9ucyB0byBhcHBseSB0byB0aGUgcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gUmVxdWVzdEludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY3JlYXRlKCRtZXRob2QsICR1cmwsICRoZWFkZXJzID0gbnVsbCwgJGJvZHkgPSBudWxsLCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCkpOwoKICAgIC8qKgogICAgICogQXBwbHkgYW4gYXNzb2NpYXRpdmUgYXJyYXkgb2Ygb3B0aW9ucyB0byB0aGUgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0IFJlcXVlc3QgdG8gdXBkYXRlCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICAkb3B0aW9ucyBPcHRpb25zIHRvIHVzZSB3aXRoIHRoZSByZXF1ZXN0LiBBdmFpbGFibGUgb3B0aW9ucyBhcmU6CiAgICAgKiAgICAgICAgImhlYWRlcnMiOiBBc3NvY2lhdGl2ZSBhcnJheSBvZiBoZWFkZXJzCiAgICAgKiAgICAgICAgInF1ZXJ5IjogQXNzb2NpYXRpdmUgYXJyYXkgb2YgcXVlcnkgc3RyaW5nIHZhbHVlcyB0byBhZGQgdG8gdGhlIHJlcXVlc3QKICAgICAqICAgICAgICAiYm9keSI6IEJvZHkgb2YgYSByZXF1ZXN0LCBpbmNsdWRpbmcgYW4gRW50aXR5Qm9keSwgc3RyaW5nLCBvciBhcnJheSB3aGVuIHNlbmRpbmcgUE9TVCByZXF1ZXN0cy4KICAgICAqICAgICAgICAiYXV0aCI6IEFycmF5IG9mIEhUVFAgYXV0aGVudGljYXRpb24gcGFyYW1ldGVycyB0byB1c2Ugd2l0aCB0aGUgcmVxdWVzdC4gVGhlIGFycmF5IG11c3QgY29udGFpbiB0aGUKICAgICAqICAgICAgICAgICAgdXNlcm5hbWUgaW4gaW5kZXggWzBdLCB0aGUgcGFzc3dvcmQgaW4gaW5kZXggWzJdLCBhbmQgY2FuIG9wdGlvbmFsbHkgY29udGFpbiB0aGUgYXV0aGVudGljYXRpb24gdHlwZQogICAgICogICAgICAgICAgICBpbiBpbmRleCBbM10uIFRoZSBhdXRoZW50aWNhdGlvbiB0eXBlcyBhcmU6ICJCYXNpYyIsICJEaWdlc3QiLCAiTlRMTSIsICJBbnkiIChkZWZhdWx0cyB0byAiQmFzaWMiKS4KICAgICAqICAgICAgICAiY29va2llcyI6IEFzc29jaWF0aXZlIGFycmF5IG9mIGNvb2tpZXMKICAgICAqICAgICAgICAiYWxsb3dfcmVkaXJlY3RzIjogU2V0IHRvIGZhbHNlIHRvIGRpc2FibGUgcmVkaXJlY3RzCiAgICAgKiAgICAgICAgInNhdmVfdG8iOiBTdHJpbmcsIGZvcGVuIHJlc291cmNlLCBvciBFbnRpdHlCb2R5IG9iamVjdCB1c2VkIHRvIHN0b3JlIHRoZSBib2R5IG9mIHRoZSByZXNwb25zZQogICAgICogICAgICAgICJldmVudHMiOiBBc3NvY2lhdGl2ZSBhcnJheSBtYXBwaW5nIGV2ZW50IG5hbWVzIHRvIGEgY2xvc3VyZSBvciBhcnJheSBvZiAocHJpb3JpdHksIGNsb3N1cmUpCiAgICAgKiAgICAgICAgInBsdWdpbnMiOiBBcnJheSBvZiBwbHVnaW5zIHRvIGFkZCB0byB0aGUgcmVxdWVzdAogICAgICogICAgICAgICJleGNlcHRpb25zIjogU2V0IHRvIGZhbHNlIHRvIGRpc2FibGUgdGhyb3dpbmcgZXhjZXB0aW9ucyBvbiBhbiBIVFRQIGxldmVsIGVycm9yIChlLmcuIDQwNCwgNTAwLCBldGMpCiAgICAgKiAgICAgICAgInBhcmFtcyI6IFNldCBjdXN0b20gcmVxdWVzdCBkYXRhIHBhcmFtZXRlcnMgb24gYSByZXF1ZXN0LiAoTm90ZTogdGhlc2UgYXJlIG5vdCBxdWVyeSBzdHJpbmcgcGFyYW1ldGVycykKICAgICAqICAgICAgICAidGltZW91dCI6IEZsb2F0IGRlc2NyaWJpbmcgdGhlIHRpbWVvdXQgb2YgdGhlIHJlcXVlc3QgaW4gc2Vjb25kcwogICAgICogICAgICAgICJjb25uZWN0X3RpbWVvdXQiOiBGbG9hdCBkZXNjcmliaW5nIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyB0byB3YWl0IHdoaWxlIHRyeWluZyB0byBjb25uZWN0LiBVc2UgMCB0byB3YWl0CiAgICAgKiAgICAgICAgICAgIGluZGVmaW5pdGVseS4KICAgICAqICAgICAgICAidmVyaWZ5IjogU2V0IHRvIHRydWUgdG8gZW5hYmxlIFNTTCBjZXJ0IHZhbGlkYXRpb24gKHRoZSBkZWZhdWx0KSwgZmFsc2UgdG8gZGlzYWJsZSwgb3Igc3VwcGx5IHRoZSBwYXRoCiAgICAgKiAgICAgICAgICAgIHRvIGEgQ0EgYnVuZGxlIHRvIGVuYWJsZSB2ZXJpZmljYXRpb24gdXNpbmcgYSBjdXN0b20gY2VydGlmaWNhdGUuCiAgICAgKiAgICAgICAgImNlcnQiOiBTZXQgdG8gYSBzdHJpbmcgdG8gc3BlY2lmeSB0aGUgcGF0aCB0byBhIGZpbGUgY29udGFpbmluZyBhIFBFTSBmb3JtYXR0ZWQgY2VydGlmaWNhdGUuIElmIGEKICAgICAqICAgICAgICAgICAgcGFzc3dvcmQgaXMgcmVxdWlyZWQsIHRoZW4gc2V0IGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIHBhdGggdG8gdGhlIFBFTSBmaWxlIGZvbGxvd2VkIGJ5IHRoZSB0aGUKICAgICAqICAgICAgICAgICAgcGFzc3dvcmQgcmVxdWlyZWQgZm9yIHRoZSBjZXJ0aWZpY2F0ZS4KICAgICAqICAgICAgICAic3NsX2tleSI6IFNwZWNpZnkgdGhlIHBhdGggdG8gYSBmaWxlIGNvbnRhaW5pbmcgYSBwcml2YXRlIFNTTCBrZXkgaW4gUEVNIGZvcm1hdC4gSWYgYSBwYXNzd29yZCBpcwogICAgICogICAgICAgICAgICByZXF1aXJlZCwgdGhlbiBzZXQgYW4gYXJyYXkgY29udGFpbmluZyB0aGUgcGF0aCB0byB0aGUgU1NMIGtleSBmb2xsb3dlZCBieSB0aGUgcGFzc3dvcmQgcmVxdWlyZWQgZm9yCiAgICAgKiAgICAgICAgICAgIHRoZSBjZXJ0aWZpY2F0ZS4KICAgICAqICAgICAgICAicHJveHkiOiBTcGVjaWZ5IGFuIEhUVFAgcHJveHkgKGUuZy4gImh0dHA6Ly91c2VybmFtZTpwYXNzd29yZEAxOTIuMTY4LjE2LjE6MTAiKQogICAgICogICAgICAgICJkZWJ1ZyI6IFNldCB0byB0cnVlIHRvIGRpc3BsYXkgYWxsIGRhdGEgc2VudCBvdmVyIHRoZSB3aXJlCiAgICAgKiBAcGFyYW0gaW50ICRmbGFncyBCaXR3aXNlIGZsYWdzIHRvIGFwcGx5IHdoZW4gYXBwbHlpbmcgdGhlIG9wdGlvbnMgdG8gdGhlIHJlcXVlc3QuIERlZmF1bHRzIHRvIG5vIHNwZWNpYWwKICAgICAqICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuIGAxYCAoT1BUSU9OU19BU19ERUZBVUxUUyk6IFdoZW4gc3BlY2lmaWVkLCBvcHRpb25zIHdpbGwgb25seSB1cGRhdGUgYSByZXF1ZXN0IHdoZW4KICAgICAqICAgICAgICAgICAgICAgICAgIHRoZSB2YWx1ZSBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0IG9uIHRoZSByZXF1ZXN0LiBUaGlzIGlzIG9ubHkgc3VwcG9ydGVkIGJ5ICJxdWVyeSIgYW5kCiAgICAgKiAgICAgICAgICAgICAgICAgICAiaGVhZGVycyIuIE90aGVyIGJpdHdpc2Ugb3B0aW9ucyBtYXkgYmUgYWRkZWQgaW4gdGhlIGZ1dHVyZS4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFwcGx5T3B0aW9ucyhSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCksICRmbGFncyA9IHNlbGY6Ok9QVElPTlNfTk9ORSk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/RequestInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxDb21tb25cSGFzRGlzcGF0Y2hlckludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxSZXF1ZXN0RXhjZXB0aW9uOwp1c2UgR3V6emxlXEh0dHBcQ2xpZW50SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keUludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXFVybDsKdXNlIEd1enpsZVxIdHRwXFF1ZXJ5U3RyaW5nOwoKLyoqCiAqIEdlbmVyaWMgSFRUUCByZXF1ZXN0IGludGVyZmFjZQogKi8KaW50ZXJmYWNlIFJlcXVlc3RJbnRlcmZhY2UgZXh0ZW5kcyBNZXNzYWdlSW50ZXJmYWNlLCBIYXNEaXNwYXRjaGVySW50ZXJmYWNlCnsKICAgIGNvbnN0IFNUQVRFX05FVyA9ICduZXcnOwogICAgY29uc3QgU1RBVEVfQ09NUExFVEUgPSAnY29tcGxldGUnOwogICAgY29uc3QgU1RBVEVfVFJBTlNGRVIgPSAndHJhbnNmZXInOwogICAgY29uc3QgU1RBVEVfRVJST1IgPSAnZXJyb3InOwoKICAgIGNvbnN0IEdFVCA9ICdHRVQnOwogICAgY29uc3QgUFVUID0gJ1BVVCc7CiAgICBjb25zdCBQT1NUID0gJ1BPU1QnOwogICAgY29uc3QgREVMRVRFID0gJ0RFTEVURSc7CiAgICBjb25zdCBIRUFEID0gJ0hFQUQnOwogICAgY29uc3QgQ09OTkVDVCA9ICdDT05ORUNUJzsKICAgIGNvbnN0IE9QVElPTlMgPSAnT1BUSU9OUyc7CiAgICBjb25zdCBUUkFDRSA9ICdUUkFDRSc7CiAgICBjb25zdCBQQVRDSCA9ICdQQVRDSCc7CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX190b1N0cmluZygpOwoKICAgIC8qKgogICAgICogU2VuZCB0aGUgcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gUmVzcG9uc2UKICAgICAqIEB0aHJvd3MgUmVxdWVzdEV4Y2VwdGlvbiBvbiBhIHJlcXVlc3QgZXJyb3IKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNlbmQoKTsKCiAgICAvKioKICAgICAqIFNldCB0aGUgY2xpZW50IHVzZWQgdG8gdHJhbnNwb3J0IHRoZSByZXF1ZXN0CiAgICAgKgogICAgICogQHBhcmFtIENsaWVudEludGVyZmFjZSAkY2xpZW50CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDbGllbnQoQ2xpZW50SW50ZXJmYWNlICRjbGllbnQpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBjbGllbnQgdXNlZCB0byB0cmFuc3BvcnQgdGhlIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIENsaWVudEludGVyZmFjZSAkY2xpZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDbGllbnQoKTsKCiAgICAvKioKICAgICAqIFNldCB0aGUgVVJMIG9mIHRoZSByZXF1ZXN0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXJsfFVybCBGdWxsIFVSTCB0byBzZXQgaW5jbHVkaW5nIHF1ZXJ5IHN0cmluZwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXJsKCR1cmwpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBmdWxsIFVSTCBvZiB0aGUgcmVxdWVzdCAoZS5nLiAnaHR0cDovL3d3dy5ndXp6bGUtcHJvamVjdC5jb20vJykKICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbCAkYXNPYmplY3QgU2V0IHRvIFRSVUUgdG8gcmV0cmlldmUgdGhlIFVSTCBhcyBhIGNsb25lIG9mIHRoZSBVUkwgb2JqZWN0IG93bmVkIGJ5IHRoZSByZXF1ZXN0LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfFVybAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VXJsKCRhc09iamVjdCA9IGZhbHNlKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgcmVzb3VyY2UgcGFydCBvZiB0aGUgdGhlIHJlcXVlc3QsIGluY2x1ZGluZyB0aGUgcGF0aCwgcXVlcnkgc3RyaW5nLCBhbmQgZnJhZ21lbnQKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzb3VyY2UoKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgY29sbGVjdGlvbiBvZiBrZXkgdmFsdWUgcGFpcnMgdGhhdCB3aWxsIGJlIHVzZWQgYXMgdGhlIHF1ZXJ5IHN0cmluZyBpbiB0aGUgcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gUXVlcnlTdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFF1ZXJ5KCk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIEhUVFAgbWV0aG9kIG9mIHRoZSByZXF1ZXN0CiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE1ldGhvZCgpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBVUkkgc2NoZW1lIG9mIHRoZSByZXF1ZXN0IChodHRwLCBodHRwcywgZnRwLCBldGMpCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFNjaGVtZSgpOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBVUkkgc2NoZW1lIG9mIHRoZSByZXF1ZXN0IChodHRwLCBodHRwcywgZnRwLCBldGMpCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkc2NoZW1lIFNjaGVtZSB0byBzZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFNjaGVtZSgkc2NoZW1lKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgaG9zdCBvZiB0aGUgcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRIb3N0KCk7CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGhvc3Qgb2YgdGhlIHJlcXVlc3QuIEluY2x1ZGluZyBhIHBvcnQgaW4gdGhlIGhvc3Qgd2lsbCBtb2RpZnkgdGhlIHBvcnQgb2YgdGhlIHJlcXVlc3QuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkaG9zdCBIb3N0IHRvIHNldCAoZS5nLiB3d3cueWFob28uY29tLCB3d3cueWFob28uY29tOjgwKQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0SG9zdCgkaG9zdCk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHBhdGggb2YgdGhlIHJlcXVlc3QgKGUuZy4gJy8nLCAnL2luZGV4Lmh0bWwnKQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYXRoKCk7CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHBhdGggb2YgdGhlIHJlcXVlc3QgKGUuZy4gJy8nLCAnL2luZGV4Lmh0bWwnKQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8YXJyYXkgJHBhdGggUGF0aCB0byBzZXQgb3IgYXJyYXkgb2Ygc2VnbWVudHMgdG8gaW1wbG9kZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UGF0aCgkcGF0aCk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHBvcnQgdGhhdCB0aGUgcmVxdWVzdCB3aWxsIGJlIHNlbnQgb24gaWYgaXQgaGFzIGJlZW4gc2V0CiAgICAgKgogICAgICogQHJldHVybiBpbnR8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UG9ydCgpOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBwb3J0IHRoYXQgdGhlIHJlcXVlc3Qgd2lsbCBiZSBzZW50IG9uCiAgICAgKgogICAgICogQHBhcmFtIGludCAkcG9ydCBQb3J0IG51bWJlciB0byBzZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFBvcnQoJHBvcnQpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSB1c2VybmFtZSB0byBwYXNzIGluIHRoZSBVUkwgaWYgc2V0CiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VXNlcm5hbWUoKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgcGFzc3dvcmQgdG8gcGFzcyBpbiB0aGUgVVJMIGlmIHNldAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhc3N3b3JkKCk7CgogICAgLyoqCiAgICAgKiBTZXQgSFRUUCBhdXRob3JpemF0aW9uIHBhcmFtZXRlcnMKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfGJvb2wgJHVzZXIgICAgIFVzZXIgbmFtZSBvciBmYWxzZSBkaXNhYmxlIGF1dGhlbnRpY2F0aW9uCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgJHBhc3N3b3JkIFBhc3N3b3JkCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgJHNjaGVtZSAgIEF1dGhlbnRpY2F0aW9uIHNjaGVtZSAoJ0Jhc2ljJywgJ0RpZ2VzdCcsIG9yIGEgQ1VSTEFVVEhfKiBjb25zdGFudCAoZGVwcmVjYXRlZCkpCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAbGluayBodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyNjE3LnR4dAogICAgICogQGxpbmsgaHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLmN1cmwtc2V0b3B0LnBocCBTZWUgdGhlIGF2YWlsYWJsZSBvcHRpb25zIGZvciBDVVJMT1BUX0hUVFBBVVRICiAgICAgKiBAdGhyb3dzIFJlcXVlc3RFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEF1dGgoJHVzZXIsICRwYXNzd29yZCA9ICcnLCAkc2NoZW1lID0gJ0Jhc2ljJyk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIEhUVFAgcHJvdG9jb2wgdmVyc2lvbiBvZiB0aGUgcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQcm90b2NvbFZlcnNpb24oKTsKCiAgICAvKioKICAgICAqIFNldCB0aGUgSFRUUCBwcm90b2NvbCB2ZXJzaW9uIG9mIHRoZSByZXF1ZXN0IChlLmcuIDEuMSBvciAxLjApCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcHJvdG9jb2wgSFRUUCBwcm90b2NvbCB2ZXJzaW9uIHRvIHVzZSB3aXRoIHRoZSByZXF1ZXN0CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRQcm90b2NvbFZlcnNpb24oJHByb3RvY29sKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgcHJldmlvdXNseSByZWNlaXZlZCB7QHNlZSBSZXNwb25zZX0gb3IgTlVMTCBpZiB0aGUgcmVxdWVzdCBoYXMgbm90IGJlZW4gc2VudAogICAgICoKICAgICAqIEByZXR1cm4gUmVzcG9uc2V8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzcG9uc2UoKTsKCiAgICAvKioKICAgICAqIE1hbnVhbGx5IHNldCBhIHJlc3BvbnNlIGZvciB0aGUgcmVxdWVzdC4KICAgICAqCiAgICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VmdWwgZm9yIHNwZWNpZnlpbmcgYSBtb2NrIHJlc3BvbnNlIGZvciB0aGUgcmVxdWVzdCBvciBzZXR0aW5nIHRoZSByZXNwb25zZSB1c2luZyBhIGNhY2hlLgogICAgICogTWFudWFsbHkgc2V0dGluZyBhIHJlc3BvbnNlIHdpbGwgYnlwYXNzIHRoZSBhY3R1YWwgc2VuZGluZyBvZiBhIHJlcXVlc3QuCiAgICAgKgogICAgICogQHBhcmFtIFJlc3BvbnNlICRyZXNwb25zZSBSZXNwb25zZSBvYmplY3QgdG8gc2V0CiAgICAgKiBAcGFyYW0gYm9vbCAgICAgJHF1ZXVlZCAgIFNldCB0byBUUlVFIHRvIGtlZXAgdGhlIHJlcXVlc3QgaW4gYSBzdGF0ZSBvZiBub3QgaGF2aW5nIGJlZW4gc2VudCwgYnV0IHF1ZXVlIHRoZQogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSBmb3Igc2VuZCgpCiAgICAgKgogICAgICogQHJldHVybiBzZWxmIFJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFJlc3BvbnNlKFJlc3BvbnNlICRyZXNwb25zZSwgJHF1ZXVlZCA9IGZhbHNlKTsKCiAgICAvKioKICAgICAqIFRoZSBzdGFydCBvZiBhIHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGZvciBhIHJlcXVlc3QgYW5kIHRoZSByZXF1ZXN0IGlzIHN0aWxsIGluIHByb2dyZXNzCiAgICAgKgogICAgICogQHBhcmFtIFJlc3BvbnNlICRyZXNwb25zZSBSZXNwb25zZSB0aGF0IGhhcyBiZWVuIHJlY2VpdmVkIHNvIGZhcgogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc3RhcnRSZXNwb25zZShSZXNwb25zZSAkcmVzcG9uc2UpOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBFbnRpdHlCb2R5IHRoYXQgd2lsbCBob2xkIGEgc3VjY2Vzc2Z1bCByZXNwb25zZSBtZXNzYWdlJ3MgZW50aXR5IGJvZHkuCiAgICAgKgogICAgICogVGhpcyBtZXRob2Qgc2hvdWxkIGJlIGludm9rZWQgd2hlbiB5b3UgbmVlZCB0byBzZW5kIHRoZSByZXNwb25zZSdzIGVudGl0eSBib2R5IHNvbWV3aGVyZSBvdGhlciB0aGFuIHRoZSBub3JtYWwKICAgICAqIHBocDovL3RlbXAgYnVmZmVyLiBGb3IgZXhhbXBsZSwgeW91IGNhbiBzZW5kIHRoZSBlbnRpdHkgYm9keSB0byBhIHNvY2tldCwgZmlsZSwgb3Igc29tZSBvdGhlciBjdXN0b20gc3RyZWFtLgogICAgICoKICAgICAqIEBwYXJhbSBFbnRpdHlCb2R5SW50ZXJmYWNlfHN0cmluZ3xyZXNvdXJjZSAkYm9keSBSZXNwb25zZSBib2R5IG9iamVjdC4gUGFzcyBhIHN0cmluZyB0byBhdHRlbXB0IHRvIHN0b3JlIHRoZQogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlIGJvZHkgaW4gYSBsb2NhbCBmaWxlLgogICAgICogQHJldHVybiBSZXF1ZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRSZXNwb25zZUJvZHkoJGJvZHkpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBFbnRpdHlCb2R5IHRoYXQgd2lsbCBob2xkIHRoZSByZXN1bHRpbmcgcmVzcG9uc2UgbWVzc2FnZSdzIGVudGl0eSBib2R5LiBUaGlzIHJlc3BvbnNlIGJvZHkgd2lsbCBvbmx5CiAgICAgKiBiZSB1c2VkIGZvciBzdWNjZXNzZnVsIHJlc3BvbnNlcy4gSW50ZXJtZWRpYXRlIHJlc3BvbnNlcyAoZS5nLiByZWRpcmVjdHMpIHdpbGwgbm90IHVzZSB0aGUgdGFyZ2V0ZWQgcmVzcG9uc2UKICAgICAqIGJvZHkuCiAgICAgKgogICAgICogQHJldHVybiBFbnRpdHlCb2R5SW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXNwb25zZUJvZHkoKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgc3RhdGUgb2YgdGhlIHJlcXVlc3QuIE9uZSBvZiAnY29tcGxldGUnLCAndHJhbnNmZXInLCAnbmV3JywgJ2Vycm9yJwogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTdGF0ZSgpOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBzdGF0ZSBvZiB0aGUgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHN0YXRlICAgU3RhdGUgb2YgdGhlIHJlcXVlc3QgKCdjb21wbGV0ZScsICd0cmFuc2ZlcicsICduZXcnLCAnZXJyb3InKQogICAgICogQHBhcmFtIGFycmF5ICAkY29udGV4dCBDb250ZXh0dWFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzdGF0ZSBjaGFuZ2UKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBSZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSByZXF1ZXN0ICh3aGljaCBtYXkgaGF2ZSBjaGFuZ2VkIGR1ZSB0byBldmVudHMgYmVpbmcgZmlyZWQpCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRTdGF0ZSgkc3RhdGUsIGFycmF5ICRjb250ZXh0ID0gYXJyYXkoKSk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGNVUkwgb3B0aW9ucyB0aGF0IHdpbGwgYmUgYXBwbGllZCB3aGVuIHRoZSBjVVJMIGhhbmRsZSBpcyBjcmVhdGVkCiAgICAgKgogICAgICogQHJldHVybiBDb2xsZWN0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDdXJsT3B0aW9ucygpOwoKICAgIC8qKgogICAgICogR2V0IGFuIGFycmF5IG9mIENvb2tpZXMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb29raWVzKCk7CgogICAgLyoqCiAgICAgKiBHZXQgYSBjb29raWUgdmFsdWUgYnkgbmFtZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUgQ29va2llIHRvIHJldHJpZXZlCiAgICAgKgogICAgICogQHJldHVybiBudWxsfHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29va2llKCRuYW1lKTsKCiAgICAvKioKICAgICAqIEFkZCBhIENvb2tpZSB2YWx1ZSBieSBuYW1lIHRvIHRoZSBDb29raWUgaGVhZGVyCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSAgTmFtZSBvZiB0aGUgY29va2llIHRvIGFkZAogICAgICogQHBhcmFtIHN0cmluZyAkdmFsdWUgVmFsdWUgdG8gc2V0CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRDb29raWUoJG5hbWUsICR2YWx1ZSk7CgogICAgLyoqCiAgICAgKiBSZW1vdmUgYSBzcGVjaWZpYyBjb29raWUgdmFsdWUgYnkgbmFtZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUgQ29va2llIHRvIHJlbW92ZSBieSBuYW1lCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVDb29raWUoJG5hbWUpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Message/Response.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxDb21tb25cVmVyc2lvbjsKdXNlIEd1enpsZVxDb21tb25cVG9BcnJheUludGVyZmFjZTsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxCYWRSZXNwb25zZUV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXFJlZGlyZWN0UGx1Z2luOwp1c2UgR3V6emxlXFBhcnNlclxQYXJzZXJSZWdpc3RyeTsKCi8qKgogKiBHdXp6bGUgSFRUUCByZXNwb25zZSBvYmplY3QKICovCmNsYXNzIFJlc3BvbnNlIGV4dGVuZHMgQWJzdHJhY3RNZXNzYWdlIGltcGxlbWVudHMgXFNlcmlhbGl6YWJsZQp7CiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgQXJyYXkgb2YgcmVhc29uIHBocmFzZXMgYW5kIHRoZWlyIGNvcnJlc3BvbmRpbmcgc3RhdHVzIGNvZGVzCiAgICAgKi8KICAgIHByaXZhdGUgc3RhdGljICRzdGF0dXNUZXh0cyA9IGFycmF5KAogICAgICAgIDEwMCA9PiAnQ29udGludWUnLAogICAgICAgIDEwMSA9PiAnU3dpdGNoaW5nIFByb3RvY29scycsCiAgICAgICAgMTAyID0+ICdQcm9jZXNzaW5nJywKICAgICAgICAyMDAgPT4gJ09LJywKICAgICAgICAyMDEgPT4gJ0NyZWF0ZWQnLAogICAgICAgIDIwMiA9PiAnQWNjZXB0ZWQnLAogICAgICAgIDIwMyA9PiAnTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb24nLAogICAgICAgIDIwNCA9PiAnTm8gQ29udGVudCcsCiAgICAgICAgMjA1ID0+ICdSZXNldCBDb250ZW50JywKICAgICAgICAyMDYgPT4gJ1BhcnRpYWwgQ29udGVudCcsCiAgICAgICAgMjA3ID0+ICdNdWx0aS1TdGF0dXMnLAogICAgICAgIDIwOCA9PiAnQWxyZWFkeSBSZXBvcnRlZCcsCiAgICAgICAgMjI2ID0+ICdJTSBVc2VkJywKICAgICAgICAzMDAgPT4gJ011bHRpcGxlIENob2ljZXMnLAogICAgICAgIDMwMSA9PiAnTW92ZWQgUGVybWFuZW50bHknLAogICAgICAgIDMwMiA9PiAnRm91bmQnLAogICAgICAgIDMwMyA9PiAnU2VlIE90aGVyJywKICAgICAgICAzMDQgPT4gJ05vdCBNb2RpZmllZCcsCiAgICAgICAgMzA1ID0+ICdVc2UgUHJveHknLAogICAgICAgIDMwNyA9PiAnVGVtcG9yYXJ5IFJlZGlyZWN0JywKICAgICAgICAzMDggPT4gJ1Blcm1hbmVudCBSZWRpcmVjdCcsCiAgICAgICAgNDAwID0+ICdCYWQgUmVxdWVzdCcsCiAgICAgICAgNDAxID0+ICdVbmF1dGhvcml6ZWQnLAogICAgICAgIDQwMiA9PiAnUGF5bWVudCBSZXF1aXJlZCcsCiAgICAgICAgNDAzID0+ICdGb3JiaWRkZW4nLAogICAgICAgIDQwNCA9PiAnTm90IEZvdW5kJywKICAgICAgICA0MDUgPT4gJ01ldGhvZCBOb3QgQWxsb3dlZCcsCiAgICAgICAgNDA2ID0+ICdOb3QgQWNjZXB0YWJsZScsCiAgICAgICAgNDA3ID0+ICdQcm94eSBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZCcsCiAgICAgICAgNDA4ID0+ICdSZXF1ZXN0IFRpbWVvdXQnLAogICAgICAgIDQwOSA9PiAnQ29uZmxpY3QnLAogICAgICAgIDQxMCA9PiAnR29uZScsCiAgICAgICAgNDExID0+ICdMZW5ndGggUmVxdWlyZWQnLAogICAgICAgIDQxMiA9PiAnUHJlY29uZGl0aW9uIEZhaWxlZCcsCiAgICAgICAgNDEzID0+ICdSZXF1ZXN0IEVudGl0eSBUb28gTGFyZ2UnLAogICAgICAgIDQxNCA9PiAnUmVxdWVzdC1VUkkgVG9vIExvbmcnLAogICAgICAgIDQxNSA9PiAnVW5zdXBwb3J0ZWQgTWVkaWEgVHlwZScsCiAgICAgICAgNDE2ID0+ICdSZXF1ZXN0ZWQgUmFuZ2UgTm90IFNhdGlzZmlhYmxlJywKICAgICAgICA0MTcgPT4gJ0V4cGVjdGF0aW9uIEZhaWxlZCcsCiAgICAgICAgNDIyID0+ICdVbnByb2Nlc3NhYmxlIEVudGl0eScsCiAgICAgICAgNDIzID0+ICdMb2NrZWQnLAogICAgICAgIDQyNCA9PiAnRmFpbGVkIERlcGVuZGVuY3knLAogICAgICAgIDQyNSA9PiAnUmVzZXJ2ZWQgZm9yIFdlYkRBViBhZHZhbmNlZCBjb2xsZWN0aW9ucyBleHBpcmVkIHByb3Bvc2FsJywKICAgICAgICA0MjYgPT4gJ1VwZ3JhZGUgcmVxdWlyZWQnLAogICAgICAgIDQyOCA9PiAnUHJlY29uZGl0aW9uIFJlcXVpcmVkJywKICAgICAgICA0MjkgPT4gJ1RvbyBNYW55IFJlcXVlc3RzJywKICAgICAgICA0MzEgPT4gJ1JlcXVlc3QgSGVhZGVyIEZpZWxkcyBUb28gTGFyZ2UnLAogICAgICAgIDUwMCA9PiAnSW50ZXJuYWwgU2VydmVyIEVycm9yJywKICAgICAgICA1MDEgPT4gJ05vdCBJbXBsZW1lbnRlZCcsCiAgICAgICAgNTAyID0+ICdCYWQgR2F0ZXdheScsCiAgICAgICAgNTAzID0+ICdTZXJ2aWNlIFVuYXZhaWxhYmxlJywKICAgICAgICA1MDQgPT4gJ0dhdGV3YXkgVGltZW91dCcsCiAgICAgICAgNTA1ID0+ICdIVFRQIFZlcnNpb24gTm90IFN1cHBvcnRlZCcsCiAgICAgICAgNTA2ID0+ICdWYXJpYW50IEFsc28gTmVnb3RpYXRlcyAoRXhwZXJpbWVudGFsKScsCiAgICAgICAgNTA3ID0+ICdJbnN1ZmZpY2llbnQgU3RvcmFnZScsCiAgICAgICAgNTA4ID0+ICdMb29wIERldGVjdGVkJywKICAgICAgICA1MTAgPT4gJ05vdCBFeHRlbmRlZCcsCiAgICAgICAgNTExID0+ICdOZXR3b3JrIEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJywKICAgICk7CgogICAgLyoqIEB2YXIgRW50aXR5Qm9keUludGVyZmFjZSBUaGUgcmVzcG9uc2UgYm9keSAqLwogICAgcHJvdGVjdGVkICRib2R5OwoKICAgIC8qKiBAdmFyIHN0cmluZyBUaGUgcmVhc29uIHBocmFzZSBvZiB0aGUgcmVzcG9uc2UgKGh1bWFuIHJlYWRhYmxlIGNvZGUpICovCiAgICBwcm90ZWN0ZWQgJHJlYXNvblBocmFzZTsKCiAgICAvKiogQHZhciBzdHJpbmcgVGhlIHN0YXR1cyBjb2RlIG9mIHRoZSByZXNwb25zZSAqLwogICAgcHJvdGVjdGVkICRzdGF0dXNDb2RlOwoKICAgIC8qKiBAdmFyIGFycmF5IEluZm9ybWF0aW9uIGFib3V0IHRoZSByZXF1ZXN0ICovCiAgICBwcm90ZWN0ZWQgJGluZm8gPSBhcnJheSgpOwoKICAgIC8qKiBAdmFyIHN0cmluZyBUaGUgZWZmZWN0aXZlIFVSTCB0aGF0IHJldHVybmVkIHRoaXMgcmVzcG9uc2UgKi8KICAgIHByb3RlY3RlZCAkZWZmZWN0aXZlVXJsOwoKICAgIC8qKiBAdmFyIGFycmF5IENhY2hlYWJsZSByZXNwb25zZSBjb2RlcyAoc2VlIFJGQyAyNjE2OjEzLjQpICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRjYWNoZVJlc3BvbnNlQ29kZXMgPSBhcnJheSgyMDAsIDIwMywgMjA2LCAzMDAsIDMwMSwgNDEwKTsKCiAgICAvKioKICAgICAqIENyZWF0ZSBhIG5ldyBSZXNwb25zZSBiYXNlZCBvbiBhIHJhdyByZXNwb25zZSBtZXNzYWdlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbWVzc2FnZSBSZXNwb25zZSBtZXNzYWdlCiAgICAgKgogICAgICogQHJldHVybiBzZWxmfGJvb2wgUmV0dXJucyBmYWxzZSBvbiBlcnJvcgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZyb21NZXNzYWdlKCRtZXNzYWdlKQogICAgewogICAgICAgICRkYXRhID0gUGFyc2VyUmVnaXN0cnk6OmdldEluc3RhbmNlKCktPmdldFBhcnNlcignbWVzc2FnZScpLT5wYXJzZVJlc3BvbnNlKCRtZXNzYWdlKTsKICAgICAgICBpZiAoISRkYXRhKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgICRyZXNwb25zZSA9IG5ldyBzdGF0aWMoJGRhdGFbJ2NvZGUnXSwgJGRhdGFbJ2hlYWRlcnMnXSwgJGRhdGFbJ2JvZHknXSk7CiAgICAgICAgJHJlc3BvbnNlLT5zZXRQcm90b2NvbCgkZGF0YVsncHJvdG9jb2wnXSwgJGRhdGFbJ3ZlcnNpb24nXSkKICAgICAgICAgICAgICAgICAtPnNldFN0YXR1cygkZGF0YVsnY29kZSddLCAkZGF0YVsncmVhc29uX3BocmFzZSddKTsKCiAgICAgICAgLy8gU2V0IHRoZSBhcHByb3ByaWF0ZSBDb250ZW50LUxlbmd0aCBpZiB0aGUgb25lIHNldCBpcyBpbmFjY3VyYXRlIChlLmcuIHNldHRpbmcgdG8gWCkKICAgICAgICAkY29udGVudExlbmd0aCA9IChzdHJpbmcpICRyZXNwb25zZS0+Z2V0SGVhZGVyKCdDb250ZW50LUxlbmd0aCcpOwogICAgICAgICRhY3R1YWxMZW5ndGggPSBzdHJsZW4oJGRhdGFbJ2JvZHknXSk7CiAgICAgICAgaWYgKHN0cmxlbigkZGF0YVsnYm9keSddKSA+IDAgJiYgJGNvbnRlbnRMZW5ndGggIT0gJGFjdHVhbExlbmd0aCkgewogICAgICAgICAgICAkcmVzcG9uc2UtPnNldEhlYWRlcignQ29udGVudC1MZW5ndGgnLCAkYWN0dWFsTGVuZ3RoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVzcG9uc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3QgdGhlIHJlc3BvbnNlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdGF0dXNDb2RlIFRoZSByZXNwb25zZSBzdGF0dXMgY29kZSAoZS5nLiAyMDAsIDQwNCwgZXRjKQogICAgICogQHBhcmFtIFRvQXJyYXlJbnRlcmZhY2V8YXJyYXkgICAgICAgICAgICAgICRoZWFkZXJzICAgIFRoZSByZXNwb25zZSBoZWFkZXJzCiAgICAgKiBAcGFyYW0gc3RyaW5nfHJlc291cmNlfEVudGl0eUJvZHlJbnRlcmZhY2UgJGJvZHkgICAgICAgVGhlIGJvZHkgb2YgdGhlIHJlc3BvbnNlCiAgICAgKgogICAgICogQHRocm93cyBCYWRSZXNwb25zZUV4Y2VwdGlvbiBpZiBhbiBpbnZhbGlkIHJlc3BvbnNlIGNvZGUgaXMgZ2l2ZW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRzdGF0dXNDb2RlLCAkaGVhZGVycyA9IG51bGwsICRib2R5ID0gbnVsbCkKICAgIHsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCk7CiAgICAgICAgJHRoaXMtPnNldFN0YXR1cygkc3RhdHVzQ29kZSk7CiAgICAgICAgJHRoaXMtPmJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KCRib2R5ICE9PSBudWxsID8gJGJvZHkgOiAnJyk7CgogICAgICAgIGlmICgkaGVhZGVycykgewogICAgICAgICAgICBpZiAoaXNfYXJyYXkoJGhlYWRlcnMpKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+c2V0SGVhZGVycygkaGVhZGVycyk7CiAgICAgICAgICAgIH0gZWxzZWlmICgkaGVhZGVycyBpbnN0YW5jZW9mIFRvQXJyYXlJbnRlcmZhY2UpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5zZXRIZWFkZXJzKCRoZWFkZXJzLT50b0FycmF5KCkpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEJhZFJlc3BvbnNlRXhjZXB0aW9uKCdJbnZhbGlkIGhlYWRlcnMgYXJndW1lbnQgcmVjZWl2ZWQnKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldE1lc3NhZ2UoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VyaWFsaXplKCkKICAgIHsKICAgICAgICByZXR1cm4ganNvbl9lbmNvZGUoYXJyYXkoCiAgICAgICAgICAgICdzdGF0dXMnICA9PiAkdGhpcy0+c3RhdHVzQ29kZSwKICAgICAgICAgICAgJ2JvZHknICAgID0+IChzdHJpbmcpICR0aGlzLT5ib2R5LAogICAgICAgICAgICAnaGVhZGVycycgPT4gJHRoaXMtPmhlYWRlcnMtPnRvQXJyYXkoKQogICAgICAgICkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB1bnNlcmlhbGl6ZSgkc2VyaWFsaXplKQogICAgewogICAgICAgICRkYXRhID0ganNvbl9kZWNvZGUoJHNlcmlhbGl6ZSwgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPl9fY29uc3RydWN0KCRkYXRhWydzdGF0dXMnXSwgJGRhdGFbJ2hlYWRlcnMnXSwgJGRhdGFbJ2JvZHknXSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHJlc3BvbnNlIGVudGl0eSBib2R5CiAgICAgKgogICAgICogQHBhcmFtIGJvb2wgJGFzU3RyaW5nIFNldCB0byBUUlVFIHRvIHJldHVybiBhIHN0cmluZyBvZiB0aGUgYm9keSByYXRoZXIgdGhhbiBhIGZ1bGwgYm9keSBvYmplY3QKICAgICAqCiAgICAgKiBAcmV0dXJuIEVudGl0eUJvZHlJbnRlcmZhY2V8c3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRCb2R5KCRhc1N0cmluZyA9IGZhbHNlKQogICAgewogICAgICAgIHJldHVybiAkYXNTdHJpbmcgPyAoc3RyaW5nKSAkdGhpcy0+Ym9keSA6ICR0aGlzLT5ib2R5OwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSByZXNwb25zZSBlbnRpdHkgYm9keQogICAgICoKICAgICAqIEBwYXJhbSBFbnRpdHlCb2R5SW50ZXJmYWNlfHN0cmluZyAkYm9keSBCb2R5IHRvIHNldAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Qm9keSgkYm9keSkKICAgIHsKICAgICAgICAkdGhpcy0+Ym9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJGJvZHkpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHByb3RvY29sIGFuZCBwcm90b2NvbCB2ZXJzaW9uIG9mIHRoZSByZXNwb25zZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHByb3RvY29sIFJlc3BvbnNlIHByb3RvY29sCiAgICAgKiBAcGFyYW0gc3RyaW5nICR2ZXJzaW9uICBQcm90b2NvbCB2ZXJzaW9uCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRQcm90b2NvbCgkcHJvdG9jb2wsICR2ZXJzaW9uKQogICAgewogICAgICAgICR0aGlzLT5wcm90b2NvbCA9ICRwcm90b2NvbDsKICAgICAgICAkdGhpcy0+cHJvdG9jb2xWZXJzaW9uID0gJHZlcnNpb247CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcHJvdG9jb2wgdXNlZCBmb3IgdGhlIHJlc3BvbnNlIChlLmcuIEhUVFApCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFByb3RvY29sKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnByb3RvY29sOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBIVFRQIHByb3RvY29sIHZlcnNpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UHJvdG9jb2xWZXJzaW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnByb3RvY29sVmVyc2lvbjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhIGNVUkwgdHJhbnNmZXIgaW5mb3JtYXRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgQSBzaW5nbGUgc3RhdGlzdGljIHRvIGNoZWNrCiAgICAgKgogICAgICogQHJldHVybiBhcnJheXxzdHJpbmd8bnVsbCBSZXR1cm5zIGFsbCBzdGF0cyBpZiBubyBrZXkgaXMgc2V0LCBhIHNpbmdsZSBzdGF0IGlmIGEga2V5IGlzIHNldCwgb3IgbnVsbCBpZiBhIGtleQogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBzZXQgYW5kIG5vdCBmb3VuZAogICAgICogQGxpbmsgaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5jdXJsLWdldGluZm8ucGhwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJbmZvKCRrZXkgPSBudWxsKQogICAgewogICAgICAgIGlmICgka2V5ID09PSBudWxsKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+aW5mbzsKICAgICAgICB9IGVsc2VpZiAoYXJyYXlfa2V5X2V4aXN0cygka2V5LCAkdGhpcy0+aW5mbykpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5pbmZvWyRrZXldOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgdHJhbnNmZXIgaW5mb3JtYXRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGluZm8gQXJyYXkgb2YgY1VSTCB0cmFuc2ZlciBzdGF0cwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0SW5mbyhhcnJheSAkaW5mbykKICAgIHsKICAgICAgICAkdGhpcy0+aW5mbyA9ICRpbmZvOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHJlc3BvbnNlIHN0YXR1cwogICAgICoKICAgICAqIEBwYXJhbSBpbnQgICAgJHN0YXR1c0NvZGUgICBSZXNwb25zZSBzdGF0dXMgY29kZSB0byBzZXQKICAgICAqIEBwYXJhbSBzdHJpbmcgJHJlYXNvblBocmFzZSBSZXNwb25zZSByZWFzb24gcGhyYXNlCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAdGhyb3dzIEJhZFJlc3BvbnNlRXhjZXB0aW9uIHdoZW4gYW4gaW52YWxpZCByZXNwb25zZSBjb2RlIGlzIHJlY2VpdmVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRTdGF0dXMoJHN0YXR1c0NvZGUsICRyZWFzb25QaHJhc2UgPSAnJykKICAgIHsKICAgICAgICAkdGhpcy0+c3RhdHVzQ29kZSA9IChpbnQpICRzdGF0dXNDb2RlOwoKICAgICAgICBpZiAoISRyZWFzb25QaHJhc2UgJiYgaXNzZXQoc2VsZjo6JHN0YXR1c1RleHRzWyR0aGlzLT5zdGF0dXNDb2RlXSkpIHsKICAgICAgICAgICAgJHRoaXMtPnJlYXNvblBocmFzZSA9IHNlbGY6OiRzdGF0dXNUZXh0c1skdGhpcy0+c3RhdHVzQ29kZV07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPnJlYXNvblBocmFzZSA9ICRyZWFzb25QaHJhc2U7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHJlc3BvbnNlIHN0YXR1cyBjb2RlCiAgICAgKgogICAgICogQHJldHVybiBpbnRlZ2VyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTdGF0dXNDb2RlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnN0YXR1c0NvZGU7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGVudGlyZSByZXNwb25zZSBhcyBhIHN0cmluZwogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRNZXNzYWdlKCkKICAgIHsKICAgICAgICAkbWVzc2FnZSA9ICR0aGlzLT5nZXRSYXdIZWFkZXJzKCk7CgogICAgICAgIC8vIE9ubHkgaW5jbHVkZSB0aGUgYm9keSBpbiB0aGUgbWVzc2FnZSBpZiB0aGUgc2l6ZSBpcyA8IDJNQgogICAgICAgICRzaXplID0gJHRoaXMtPmJvZHktPmdldFNpemUoKTsKICAgICAgICBpZiAoJHNpemUgPCAyMDk3MTUyKSB7CiAgICAgICAgICAgICRtZXNzYWdlIC49IChzdHJpbmcpICR0aGlzLT5ib2R5OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRtZXNzYWdlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB0aGUgcmF3IG1lc3NhZ2UgaGVhZGVycyBhcyBhIHN0cmluZwogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSYXdIZWFkZXJzKCkKICAgIHsKICAgICAgICAkaGVhZGVycyA9ICdIVFRQLzEuMSAnIC4gJHRoaXMtPnN0YXR1c0NvZGUgLiAnICcgLiAkdGhpcy0+cmVhc29uUGhyYXNlIC4gIlxyXG4iOwogICAgICAgICRsaW5lcyA9ICR0aGlzLT5nZXRIZWFkZXJMaW5lcygpOwogICAgICAgIGlmICghZW1wdHkoJGxpbmVzKSkgewogICAgICAgICAgICAkaGVhZGVycyAuPSBpbXBsb2RlKCJcclxuIiwgJGxpbmVzKSAuICJcclxuIjsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkaGVhZGVycyAuICJcclxuIjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcmVzcG9uc2UgcmVhc29uIHBocmFzZS0gYSBodW1hbiByZWFkYWJsZSB2ZXJzaW9uIG9mIHRoZSBudW1lcmljCiAgICAgKiBzdGF0dXMgY29kZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZWFzb25QaHJhc2UoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVhc29uUGhyYXNlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBBY2NlcHQtUmFuZ2VzIEhUVFAgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgUmV0dXJucyB3aGF0IHBhcnRpYWwgY29udGVudCByYW5nZSB0eXBlcyB0aGlzIHNlcnZlciBzdXBwb3J0cy4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFjY2VwdFJhbmdlcygpCiAgICB7CiAgICAgICAgcmV0dXJuIChzdHJpbmcpICR0aGlzLT5nZXRIZWFkZXIoJ0FjY2VwdC1SYW5nZXMnKTsKICAgIH0KCiAgICAvKioKICAgICAqIENhbGN1bGF0ZSB0aGUgYWdlIG9mIHRoZSByZXNwb25zZQogICAgICoKICAgICAqIEByZXR1cm4gaW50ZWdlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FsY3VsYXRlQWdlKCkKICAgIHsKICAgICAgICAkYWdlID0gJHRoaXMtPmdldEhlYWRlcignQWdlJyk7CgogICAgICAgIGlmICgkYWdlID09PSBudWxsICYmICR0aGlzLT5nZXREYXRlKCkpIHsKICAgICAgICAgICAgJGFnZSA9IHRpbWUoKSAtIHN0cnRvdGltZSgkdGhpcy0+Z2V0RGF0ZSgpKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkYWdlID09PSBudWxsID8gbnVsbCA6IChpbnQpIChzdHJpbmcpICRhZ2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIEFnZSBIVFRQIGhlYWRlcgogICAgICoKICAgICAqIEByZXR1cm4gaW50ZWdlcnxudWxsIFJldHVybnMgdGhlIGFnZSB0aGUgb2JqZWN0IGhhcyBiZWVuIGluIGEgcHJveHkgY2FjaGUgaW4gc2Vjb25kcy4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFnZSgpCiAgICB7CiAgICAgICAgcmV0dXJuIChzdHJpbmcpICR0aGlzLT5nZXRIZWFkZXIoJ0FnZScpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBBbGxvdyBIVFRQIGhlYWRlcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwgUmV0dXJucyB2YWxpZCBhY3Rpb25zIGZvciBhIHNwZWNpZmllZCByZXNvdXJjZS4gVG8gYmUgdXNlZCBmb3IgYSA0MDUgTWV0aG9kIG5vdCBhbGxvd2VkLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QWxsb3coKQogICAgewogICAgICAgIHJldHVybiAoc3RyaW5nKSAkdGhpcy0+Z2V0SGVhZGVyKCdBbGxvdycpOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgYW4gSFRUUCBtZXRob2QgaXMgYWxsb3dlZCBieSBjaGVja2luZyB0aGUgQWxsb3cgcmVzcG9uc2UgaGVhZGVyCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbWV0aG9kIE1ldGhvZCB0byBjaGVjawogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNNZXRob2RBbGxvd2VkKCRtZXRob2QpCiAgICB7CiAgICAgICAgJGFsbG93ID0gJHRoaXMtPmdldEhlYWRlcignQWxsb3cnKTsKICAgICAgICBpZiAoJGFsbG93KSB7CiAgICAgICAgICAgIGZvcmVhY2ggKGV4cGxvZGUoJywnLCAkYWxsb3cpIGFzICRhbGxvd2FibGUpIHsKICAgICAgICAgICAgICAgIGlmICghc3RyY2FzZWNtcCh0cmltKCRhbGxvd2FibGUpLCAkbWV0aG9kKSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIENhY2hlLUNvbnRyb2wgSFRUUCBoZWFkZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2FjaGVDb250cm9sKCkKICAgIHsKICAgICAgICByZXR1cm4gKHN0cmluZykgJHRoaXMtPmdldEhlYWRlcignQ2FjaGUtQ29udHJvbCcpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBDb25uZWN0aW9uIEhUVFAgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENvbm5lY3Rpb24oKQogICAgewogICAgICAgIHJldHVybiAoc3RyaW5nKSAkdGhpcy0+Z2V0SGVhZGVyKCdDb25uZWN0aW9uJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIENvbnRlbnQtRW5jb2RpbmcgSFRUUCBoZWFkZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb250ZW50RW5jb2RpbmcoKQogICAgewogICAgICAgIHJldHVybiAoc3RyaW5nKSAkdGhpcy0+Z2V0SGVhZGVyKCdDb250ZW50LUVuY29kaW5nJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIENvbnRlbnQtTGFuZ3VhZ2UgSFRUUCBoZWFkZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsIFJldHVybnMgdGhlIGxhbmd1YWdlIHRoZSBjb250ZW50IGlzIGluLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29udGVudExhbmd1YWdlKCkKICAgIHsKICAgICAgICByZXR1cm4gKHN0cmluZykgJHRoaXMtPmdldEhlYWRlcignQ29udGVudC1MYW5ndWFnZScpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBDb250ZW50LUxlbmd0aCBIVFRQIGhlYWRlcgogICAgICoKICAgICAqIEByZXR1cm4gaW50ZWdlciBSZXR1cm5zIHRoZSBsZW5ndGggb2YgdGhlIHJlc3BvbnNlIGJvZHkgaW4gYnl0ZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENvbnRlbnRMZW5ndGgoKQogICAgewogICAgICAgIHJldHVybiAoaW50KSAoc3RyaW5nKSAkdGhpcy0+Z2V0SGVhZGVyKCdDb250ZW50LUxlbmd0aCcpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBDb250ZW50LUxvY2F0aW9uIEhUVFAgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbCBSZXR1cm5zIGFuIGFsdGVybmF0ZSBsb2NhdGlvbiBmb3IgdGhlIHJldHVybmVkIGRhdGEgKGUuZyAvaW5kZXguaHRtKQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29udGVudExvY2F0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gKHN0cmluZykgJHRoaXMtPmdldEhlYWRlcignQ29udGVudC1Mb2NhdGlvbicpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBDb250ZW50LURpc3Bvc2l0aW9uIEhUVFAgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbCBSZXR1cm5zIHRoZSBDb250ZW50LURpc3Bvc2l0aW9uIGhlYWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29udGVudERpc3Bvc2l0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gKHN0cmluZykgJHRoaXMtPmdldEhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbicpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBDb250ZW50LU1ENSBIVFRQIGhlYWRlcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwgUmV0dXJucyBhIEJhc2U2NC1lbmNvZGVkIGJpbmFyeSBNRDUgc3VtIG9mIHRoZSBjb250ZW50IG9mIHRoZSByZXNwb25zZS4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENvbnRlbnRNZDUoKQogICAgewogICAgICAgIHJldHVybiAoc3RyaW5nKSAkdGhpcy0+Z2V0SGVhZGVyKCdDb250ZW50LU1ENScpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBDb250ZW50LVJhbmdlIEhUVFAgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgUmV0dXJucyB3aGVyZSBpbiBhIGZ1bGwgYm9keSBtZXNzYWdlIHRoaXMgcGFydGlhbCBtZXNzYWdlIGJlbG9uZ3MgKGUuZy4gYnl0ZXMgMjEwMTAtNDcwMjEvNDcwMjIpLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29udGVudFJhbmdlKCkKICAgIHsKICAgICAgICByZXR1cm4gKHN0cmluZykgJHRoaXMtPmdldEhlYWRlcignQ29udGVudC1SYW5nZScpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBDb250ZW50LVR5cGUgSFRUUCBoZWFkZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBSZXR1cm5zIHRoZSBtaW1lIHR5cGUgb2YgdGhpcyBjb250ZW50LgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29udGVudFR5cGUoKQogICAgewogICAgICAgIHJldHVybiAoc3RyaW5nKSAkdGhpcy0+Z2V0SGVhZGVyKCdDb250ZW50LVR5cGUnKTsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrcyBpZiB0aGUgQ29udGVudC1UeXBlIGlzIG9mIGEgY2VydGFpbiB0eXBlLiAgVGhpcyBpcyB1c2VmdWwgaWYgdGhlCiAgICAgKiBDb250ZW50LVR5cGUgaGVhZGVyIGNvbnRhaW5zIGNoYXJzZXQgaW5mb3JtYXRpb24gYW5kIHlvdSBuZWVkIHRvIGtub3cgaWYKICAgICAqIHRoZSBDb250ZW50LVR5cGUgbWF0Y2hlcyBhIHBhcnRpY3VsYXIgdHlwZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0eXBlIENvbnRlbnQgdHlwZSB0byBjaGVjayBhZ2FpbnN0CiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0NvbnRlbnRUeXBlKCR0eXBlKQogICAgewogICAgICAgIHJldHVybiBzdHJpcG9zKCR0aGlzLT5nZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScpLCAkdHlwZSkgIT09IGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBEYXRlIEhUVFAgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbCBSZXR1cm5zIHRoZSBkYXRlIGFuZCB0aW1lIHRoYXQgdGhlIG1lc3NhZ2Ugd2FzIHNlbnQuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREYXRlKCkKICAgIHsKICAgICAgICByZXR1cm4gKHN0cmluZykgJHRoaXMtPmdldEhlYWRlcignRGF0ZScpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBFVGFnIEhUVFAgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbCBSZXR1cm5zIGFuIGlkZW50aWZpZXIgZm9yIGEgc3BlY2lmaWMgdmVyc2lvbiBvZiBhIHJlc291cmNlLCBvZnRlbiBhIE1lc3NhZ2UgZGlnZXN0LgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXRhZygpCiAgICB7CiAgICAgICAgcmV0dXJuIChzdHJpbmcpICR0aGlzLT5nZXRIZWFkZXIoJ0VUYWcnKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgRXhwaXJlcyBIVFRQIGhlYWRlcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwgUmV0dXJucyB0aGUgZGF0ZS90aW1lIGFmdGVyIHdoaWNoIHRoZSByZXNwb25zZSBpcyBjb25zaWRlcmVkIHN0YWxlLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXhwaXJlcygpCiAgICB7CiAgICAgICAgcmV0dXJuIChzdHJpbmcpICR0aGlzLT5nZXRIZWFkZXIoJ0V4cGlyZXMnKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgTGFzdC1Nb2RpZmllZCBIVFRQIGhlYWRlcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwgUmV0dXJucyB0aGUgbGFzdCBtb2RpZmllZCBkYXRlIGZvciB0aGUgcmVxdWVzdGVkIG9iamVjdCwgaW4gUkZDIDI4MjIgZm9ybWF0CiAgICAgKiAgICAgICAgICAgICAgICAgICAgIChlLmcuIFR1ZSwgMTUgTm92IDE5OTQgMTI6NDU6MjYgR01UKQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGFzdE1vZGlmaWVkKCkKICAgIHsKICAgICAgICByZXR1cm4gKHN0cmluZykgJHRoaXMtPmdldEhlYWRlcignTGFzdC1Nb2RpZmllZCcpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBMb2NhdGlvbiBIVFRQIGhlYWRlcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwgVXNlZCBpbiByZWRpcmVjdGlvbiwgb3Igd2hlbiBhIG5ldyByZXNvdXJjZSBoYXMgYmVlbiBjcmVhdGVkLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TG9jYXRpb24oKQogICAgewogICAgICAgIHJldHVybiAoc3RyaW5nKSAkdGhpcy0+Z2V0SGVhZGVyKCdMb2NhdGlvbicpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBQcmFnbWEgSFRUUCBoZWFkZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIEhlYWRlcnxudWxsIFJldHVybnMgdGhlIGltcGxlbWVudGF0aW9uLXNwZWNpZmljIGhlYWRlcnMgdGhhdCBtYXkgaGF2ZSB2YXJpb3VzIGVmZmVjdHMgYW55d2hlcmUgYWxvbmcKICAgICAqICAgICAgICAgICAgICAgICAgICAgdGhlIHJlcXVlc3QtcmVzcG9uc2UgY2hhaW4uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQcmFnbWEoKQogICAgewogICAgICAgIHJldHVybiAoc3RyaW5nKSAkdGhpcy0+Z2V0SGVhZGVyKCdQcmFnbWEnKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgUHJveHktQXV0aGVudGljYXRlIEhUVFAgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbCBBdXRoZW50aWNhdGlvbiB0byBhY2Nlc3MgdGhlIHByb3h5IChlLmcuIEJhc2ljKQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UHJveHlBdXRoZW50aWNhdGUoKQogICAgewogICAgICAgIHJldHVybiAoc3RyaW5nKSAkdGhpcy0+Z2V0SGVhZGVyKCdQcm94eS1BdXRoZW50aWNhdGUnKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgUmV0cnktQWZ0ZXIgSFRUUCBoZWFkZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIGludHxudWxsIElmIGFuIGVudGl0eSBpcyB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZSwgdGhpcyBpbnN0cnVjdHMgdGhlIGNsaWVudCB0byB0cnkgYWdhaW4gYWZ0ZXIgYQogICAgICogICAgICAgICAgICAgICAgICBzcGVjaWZpZWQgcGVyaW9kIG9mIHRpbWUuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXRyeUFmdGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gKHN0cmluZykgJHRoaXMtPmdldEhlYWRlcignUmV0cnktQWZ0ZXInKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgU2VydmVyIEhUVFAgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbCBBIG5hbWUgZm9yIHRoZSBzZXJ2ZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFNlcnZlcigpCiAgICB7CiAgICAgICAgcmV0dXJuIChzdHJpbmcpICAkdGhpcy0+Z2V0SGVhZGVyKCdTZXJ2ZXInKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgU2V0LUNvb2tpZSBIVFRQIGhlYWRlcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwgQW4gSFRUUCBjb29raWUuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTZXRDb29raWUoKQogICAgewogICAgICAgIHJldHVybiAoc3RyaW5nKSAkdGhpcy0+Z2V0SGVhZGVyKCdTZXQtQ29va2llJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIFRyYWlsZXIgSFRUUCBoZWFkZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsIFRoZSBUcmFpbGVyIGdlbmVyYWwgZmllbGQgdmFsdWUgaW5kaWNhdGVzIHRoYXQgdGhlIGdpdmVuIHNldCBvZiBoZWFkZXIgZmllbGRzIGlzIHByZXNlbnQgaW4KICAgICAqICAgICAgICAgICAgICAgICAgICAgdGhlIHRyYWlsZXIgb2YgYSBtZXNzYWdlIGVuY29kZWQgd2l0aCBjaHVua2VkIHRyYW5zZmVyLWNvZGluZy4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFRyYWlsZXIoKQogICAgewogICAgICAgIHJldHVybiAoc3RyaW5nKSAkdGhpcy0+Z2V0SGVhZGVyKCdUcmFpbGVyJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIFRyYW5zZmVyLUVuY29kaW5nIEhUVFAgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbCBUaGUgZm9ybSBvZiBlbmNvZGluZyB1c2VkIHRvIHNhZmVseSB0cmFuc2ZlciB0aGUgZW50aXR5IHRvIHRoZSB1c2VyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUcmFuc2ZlckVuY29kaW5nKCkKICAgIHsKICAgICAgICByZXR1cm4gKHN0cmluZykgJHRoaXMtPmdldEhlYWRlcignVHJhbnNmZXItRW5jb2RpbmcnKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgVmFyeSBIVFRQIGhlYWRlcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwgVGVsbHMgZG93bnN0cmVhbSBwcm94aWVzIGhvdyB0byBtYXRjaCBmdXR1cmUgcmVxdWVzdCBoZWFkZXJzIHRvIGRlY2lkZSB3aGV0aGVyIHRoZSBjYWNoZWQKICAgICAqICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UgY2FuIGJlIHVzZWQgcmF0aGVyIHRoYW4gcmVxdWVzdGluZyBhIGZyZXNoIG9uZSBmcm9tIHRoZSBvcmlnaW4gc2VydmVyLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VmFyeSgpCiAgICB7CiAgICAgICAgcmV0dXJuIChzdHJpbmcpICR0aGlzLT5nZXRIZWFkZXIoJ1ZhcnknKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgVmlhIEhUVFAgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbCBJbmZvcm1zIHRoZSBjbGllbnQgb2YgcHJveGllcyB0aHJvdWdoIHdoaWNoIHRoZSByZXNwb25zZSB3YXMgc2VudC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFZpYSgpCiAgICB7CiAgICAgICAgcmV0dXJuIChzdHJpbmcpICR0aGlzLT5nZXRIZWFkZXIoJ1ZpYScpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBXYXJuaW5nIEhUVFAgaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbCBBIGdlbmVyYWwgd2FybmluZyBhYm91dCBwb3NzaWJsZSBwcm9ibGVtcyB3aXRoIHRoZSBlbnRpdHkgYm9keQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0V2FybmluZygpCiAgICB7CiAgICAgICAgcmV0dXJuIChzdHJpbmcpICR0aGlzLT5nZXRIZWFkZXIoJ1dhcm5pbmcnKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgV1dXLUF1dGhlbnRpY2F0ZSBIVFRQIGhlYWRlcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwgSW5kaWNhdGVzIHRoZSBhdXRoZW50aWNhdGlvbiBzY2hlbWUgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBhY2Nlc3MgdGhlIHJlcXVlc3RlZCBlbnRpdHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFd3d0F1dGhlbnRpY2F0ZSgpCiAgICB7CiAgICAgICAgcmV0dXJuIChzdHJpbmcpICR0aGlzLT5nZXRIZWFkZXIoJ1dXVy1BdXRoZW50aWNhdGUnKTsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrcyBpZiBIVFRQIFN0YXR1cyBjb2RlIGlzIGEgQ2xpZW50IEVycm9yICg0eHgpCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0NsaWVudEVycm9yKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnN0YXR1c0NvZGUgPj0gNDAwICYmICR0aGlzLT5zdGF0dXNDb2RlIDwgNTAwOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2tzIGlmIEhUVFAgU3RhdHVzIGNvZGUgaXMgU2VydmVyIE9SIENsaWVudCBFcnJvciAoNHh4IG9yIDV4eCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzRXJyb3IoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+aXNDbGllbnRFcnJvcigpIHx8ICR0aGlzLT5pc1NlcnZlckVycm9yKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVja3MgaWYgSFRUUCBTdGF0dXMgY29kZSBpcyBJbmZvcm1hdGlvbiAoMXh4KQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNJbmZvcm1hdGlvbmFsKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnN0YXR1c0NvZGUgPCAyMDA7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVja3MgaWYgSFRUUCBTdGF0dXMgY29kZSBpcyBhIFJlZGlyZWN0ICgzeHgpCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc1JlZGlyZWN0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnN0YXR1c0NvZGUgPj0gMzAwICYmICR0aGlzLT5zdGF0dXNDb2RlIDwgNDAwOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2tzIGlmIEhUVFAgU3RhdHVzIGNvZGUgaXMgU2VydmVyIEVycm9yICg1eHgpCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc1NlcnZlckVycm9yKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnN0YXR1c0NvZGUgPj0gNTAwICYmICR0aGlzLT5zdGF0dXNDb2RlIDwgNjAwOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2tzIGlmIEhUVFAgU3RhdHVzIGNvZGUgaXMgU3VjY2Vzc2Z1bCAoMnh4IHwgMzA0KQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNTdWNjZXNzZnVsKCkKICAgIHsKICAgICAgICByZXR1cm4gKCR0aGlzLT5zdGF0dXNDb2RlID49IDIwMCAmJiAkdGhpcy0+c3RhdHVzQ29kZSA8IDMwMCkgfHwgJHRoaXMtPnN0YXR1c0NvZGUgPT0gMzA0OwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgdGhlIHJlc3BvbnNlIGNhbiBiZSBjYWNoZWQgYmFzZWQgb24gdGhlIHJlc3BvbnNlIGhlYWRlcnMKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wgUmV0dXJucyBUUlVFIGlmIHRoZSByZXNwb25zZSBjYW4gYmUgY2FjaGVkIG9yIGZhbHNlIGlmIG5vdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FuQ2FjaGUoKQogICAgewogICAgICAgIC8vIENoZWNrIGlmIHRoZSByZXNwb25zZSBpcyBjYWNoZWFibGUgYmFzZWQgb24gdGhlIGNvZGUKICAgICAgICBpZiAoIWluX2FycmF5KChpbnQpICR0aGlzLT5nZXRTdGF0dXNDb2RlKCksIHNlbGY6OiRjYWNoZVJlc3BvbnNlQ29kZXMpKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIC8vIE1ha2Ugc3VyZSBhIHZhbGlkIGJvZHkgd2FzIHJldHVybmVkIGFuZCBjYW4gYmUgY2FjaGVkCiAgICAgICAgaWYgKCghJHRoaXMtPmdldEJvZHkoKS0+aXNSZWFkYWJsZSgpIHx8ICEkdGhpcy0+Z2V0Qm9keSgpLT5pc1NlZWthYmxlKCkpCiAgICAgICAgICAgICYmICgkdGhpcy0+Z2V0Q29udGVudExlbmd0aCgpID4gMCB8fCAkdGhpcy0+Z2V0VHJhbnNmZXJFbmNvZGluZygpID09ICdjaHVua2VkJykpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgLy8gTmV2ZXIgY2FjaGUgbm8tc3RvcmUgcmVzb3VyY2VzICh0aGlzIGlzIGEgcHJpdmF0ZSBjYWNoZSwgc28gcHJpdmF0ZQogICAgICAgIC8vIGNhbiBiZSBjYWNoZWQpCiAgICAgICAgaWYgKCR0aGlzLT5nZXRIZWFkZXIoJ0NhY2hlLUNvbnRyb2wnKSAmJiAkdGhpcy0+Z2V0SGVhZGVyKCdDYWNoZS1Db250cm9sJyktPmhhc0RpcmVjdGl2ZSgnbm8tc3RvcmUnKSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPmlzRnJlc2goKSB8fCAkdGhpcy0+Z2V0RnJlc2huZXNzKCkgPT09IG51bGwgfHwgJHRoaXMtPmNhblZhbGlkYXRlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXRzIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBmcm9tIHRoZSBjdXJyZW50IHRpbWUgaW4gd2hpY2ggdGhpcyByZXNwb25zZSBpcyBzdGlsbCBjb25zaWRlcmVkIGZyZXNoCiAgICAgKgogICAgICogQHJldHVybiBpbnR8bnVsbCBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygc2Vjb25kcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWF4QWdlKCkKICAgIHsKICAgICAgICBpZiAoJGhlYWRlciA9ICR0aGlzLT5nZXRIZWFkZXIoJ0NhY2hlLUNvbnRyb2wnKSkgewogICAgICAgICAgICAvLyBzLW1heC1hZ2UsIHRoZW4gbWF4LWFnZSwgdGhlbiBFeHBpcmVzCiAgICAgICAgICAgIGlmICgkYWdlID0gJGhlYWRlci0+Z2V0RGlyZWN0aXZlKCdzLW1heGFnZScpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJGFnZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJGFnZSA9ICRoZWFkZXItPmdldERpcmVjdGl2ZSgnbWF4LWFnZScpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJGFnZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT5nZXRIZWFkZXIoJ0V4cGlyZXMnKSkgewogICAgICAgICAgICByZXR1cm4gc3RydG90aW1lKCR0aGlzLT5nZXRFeHBpcmVzKCkpIC0gdGltZSgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiB0aGUgcmVzcG9uc2UgaXMgY29uc2lkZXJlZCBmcmVzaC4KICAgICAqCiAgICAgKiBBIHJlc3BvbnNlIGlzIGNvbnNpZGVyZWQgZnJlc2ggd2hlbiBpdHMgYWdlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgZnJlc2huZXNzIGxpZmV0aW1lIChtYXhpbXVtIGFnZSkgb2YgdGhlCiAgICAgKiByZXNwb25zZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2x8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNGcmVzaCgpCiAgICB7CiAgICAgICAgJGZyZXNoID0gJHRoaXMtPmdldEZyZXNobmVzcygpOwoKICAgICAgICByZXR1cm4gJGZyZXNoID09PSBudWxsID8gbnVsbCA6ICRmcmVzaCA+PSAwOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgdGhlIHJlc3BvbnNlIGNhbiBiZSB2YWxpZGF0ZWQgYWdhaW5zdCB0aGUgb3JpZ2luIHNlcnZlciB1c2luZyBhIGNvbmRpdGlvbmFsIEdFVCByZXF1ZXN0LgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FuVmFsaWRhdGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RXRhZygpIHx8ICR0aGlzLT5nZXRMYXN0TW9kaWZpZWQoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZnJlc2huZXNzIG9mIHRoZSByZXNwb25zZSBieSByZXR1cm5pbmcgdGhlIGRpZmZlcmVuY2Ugb2YgdGhlIG1heGltdW0gbGlmZXRpbWUgb2YgdGhlIHJlc3BvbnNlIGFuZCB0aGUKICAgICAqIGFnZSBvZiB0aGUgcmVzcG9uc2UgKG1heC1hZ2UgLSBhZ2UpLgogICAgICoKICAgICAqIEZyZXNobmVzcyB2YWx1ZXMgbGVzcyB0aGFuIDAgbWVhbiB0aGF0IHRoZSByZXNwb25zZSBpcyBubyBsb25nZXIgZnJlc2ggYW5kIGlzIEFCUyhmcmVzaG5lc3MpIHNlY29uZHMgZXhwaXJlZC4KICAgICAqIEZyZXNobmVzcyB2YWx1ZXMgb2YgZ3JlYXRlciB0aGFuIHplcm8gaXMgdGhlIG51bWJlciBvZiBzZWNvbmRzIHVudGlsIHRoZSByZXNwb25zZSBpcyBubyBsb25nZXIgZnJlc2guIEEgTlVMTAogICAgICogcmVzdWx0IG1lYW5zIHRoYXQgbm8gZnJlc2huZXNzIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGludAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RnJlc2huZXNzKCkKICAgIHsKICAgICAgICAkbWF4QWdlID0gJHRoaXMtPmdldE1heEFnZSgpOwogICAgICAgICRhZ2UgPSAkdGhpcy0+Y2FsY3VsYXRlQWdlKCk7CgogICAgICAgIHJldHVybiAkbWF4QWdlICYmICRhZ2UgPyAoJG1heEFnZSAtICRhZ2UpIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFBhcnNlIHRoZSBKU09OIHJlc3BvbnNlIGJvZHkgYW5kIHJldHVybiBhbiBhcnJheQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXl8c3RyaW5nfGludHxib29sfGZsb2F0CiAgICAgKiBAdGhyb3dzIFJ1bnRpbWVFeGNlcHRpb24gaWYgdGhlIHJlc3BvbnNlIGJvZHkgaXMgbm90IGluIEpTT04gZm9ybWF0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBqc29uKCkKICAgIHsKICAgICAgICAkZGF0YSA9IGpzb25fZGVjb2RlKChzdHJpbmcpICR0aGlzLT5ib2R5LCB0cnVlKTsKICAgICAgICBpZiAoSlNPTl9FUlJPUl9OT05FICE9PSBqc29uX2xhc3RfZXJyb3IoKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbignVW5hYmxlIHRvIHBhcnNlIHJlc3BvbnNlIGJvZHkgaW50byBKU09OOiAnIC4ganNvbl9sYXN0X2Vycm9yKCkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRkYXRhID09PSBudWxsID8gYXJyYXkoKSA6ICRkYXRhOwogICAgfQoKICAgIC8qKgogICAgICogUGFyc2UgdGhlIFhNTCByZXNwb25zZSBib2R5IGFuZCByZXR1cm4gYSBcU2ltcGxlWE1MRWxlbWVudC4KICAgICAqCiAgICAgKiBJbiBvcmRlciB0byBwcmV2ZW50IFhYRSBhdHRhY2tzLCB0aGlzIG1ldGhvZCBkaXNhYmxlcyBsb2FkaW5nIGV4dGVybmFsCiAgICAgKiBlbnRpdGllcy4gSWYgeW91IHJlbHkgb24gZXh0ZXJuYWwgZW50aXRpZXMsIHRoZW4geW91IG11c3QgcGFyc2UgdGhlCiAgICAgKiBYTUwgcmVzcG9uc2UgbWFudWFsbHkgYnkgYWNjZXNzaW5nIHRoZSByZXNwb25zZSBib2R5IGRpcmVjdGx5LgogICAgICoKICAgICAqIEByZXR1cm4gXFNpbXBsZVhNTEVsZW1lbnQKICAgICAqIEB0aHJvd3MgUnVudGltZUV4Y2VwdGlvbiBpZiB0aGUgcmVzcG9uc2UgYm9keSBpcyBub3QgaW4gWE1MIGZvcm1hdAogICAgICogQGxpbmsgaHR0cDovL3dlYnNlYy5pby8yMDEyLzA4LzI3L1ByZXZlbnRpbmctWFhFLWluLVBIUC5odG1sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB4bWwoKQogICAgewogICAgICAgICRlcnJvck1lc3NhZ2UgPSBudWxsOwogICAgICAgICRpbnRlcm5hbEVycm9ycyA9IGxpYnhtbF91c2VfaW50ZXJuYWxfZXJyb3JzKHRydWUpOwogICAgICAgICRkaXNhYmxlRW50aXRpZXMgPSBsaWJ4bWxfZGlzYWJsZV9lbnRpdHlfbG9hZGVyKHRydWUpOwogICAgICAgIGxpYnhtbF9jbGVhcl9lcnJvcnMoKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHhtbCA9IG5ldyBcU2ltcGxlWE1MRWxlbWVudCgoc3RyaW5nKSAkdGhpcy0+Ym9keSA/OiAnPHJvb3QgLz4nLCBMSUJYTUxfTk9ORVQpOwogICAgICAgICAgICBpZiAoJGVycm9yID0gbGlieG1sX2dldF9sYXN0X2Vycm9yKCkpIHsKICAgICAgICAgICAgICAgICRlcnJvck1lc3NhZ2UgPSAkZXJyb3ItPm1lc3NhZ2U7CiAgICAgICAgICAgIH0KICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICRlcnJvck1lc3NhZ2UgPSAkZS0+Z2V0TWVzc2FnZSgpOwogICAgICAgIH0KCiAgICAgICAgbGlieG1sX2NsZWFyX2Vycm9ycygpOwogICAgICAgIGxpYnhtbF91c2VfaW50ZXJuYWxfZXJyb3JzKCRpbnRlcm5hbEVycm9ycyk7CiAgICAgICAgbGlieG1sX2Rpc2FibGVfZW50aXR5X2xvYWRlcigkZGlzYWJsZUVudGl0aWVzKTsKCiAgICAgICAgaWYgKCRlcnJvck1lc3NhZ2UpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oJ1VuYWJsZSB0byBwYXJzZSByZXNwb25zZSBib2R5IGludG8gWE1MOiAnIC4gJGVycm9yTWVzc2FnZSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHhtbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcmVkaXJlY3QgY291bnQgb2YgdGhpcyByZXNwb25zZQogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZWRpcmVjdENvdW50KCkKICAgIHsKICAgICAgICByZXR1cm4gKGludCkgJHRoaXMtPnBhcmFtcy0+Z2V0KFJlZGlyZWN0UGx1Z2luOjpSRURJUkVDVF9DT1VOVCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGVmZmVjdGl2ZSBVUkwgdGhhdCByZXN1bHRlZCBpbiB0aGlzIHJlc3BvbnNlIChlLmcuIHRoZSBsYXN0IHJlZGlyZWN0IFVSTCkKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1cmwgVGhlIGVmZmVjdGl2ZSBVUkwKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEVmZmVjdGl2ZVVybCgkdXJsKQogICAgewogICAgICAgICR0aGlzLT5lZmZlY3RpdmVVcmwgPSAkdXJsOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGVmZmVjdGl2ZSBVUkwgdGhhdCByZXN1bHRlZCBpbiB0aGlzIHJlc3BvbnNlIChlLmcuIHRoZSBsYXN0IHJlZGlyZWN0IFVSTCkKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RWZmZWN0aXZlVXJsKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmVmZmVjdGl2ZVVybDsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQcmV2aW91c1Jlc3BvbnNlKCkKICAgIHsKICAgICAgICBWZXJzaW9uOjp3YXJuKF9fTUVUSE9EX18gLiAnIGlzIGRlcHJlY2F0ZWQuIFVzZSB0aGUgSGlzdG9yeVBsdWdpbi4nKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRSZXF1ZXN0KCRyZXF1ZXN0KQogICAgewogICAgICAgIFZlcnNpb246Ondhcm4oX19NRVRIT0RfXyAuICcgaXMgZGVwcmVjYXRlZCcpOwogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXF1ZXN0KCkKICAgIHsKICAgICAgICBWZXJzaW9uOjp3YXJuKF9fTUVUSE9EX18gLiAnIGlzIGRlcHJlY2F0ZWQnKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Mimetypes.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cDsKCi8qKgogKiBQcm92aWRlcyBtYXBwaW5ncyBvZiBmaWxlIGV4dGVuc2lvbnMgdG8gbWltZXR5cGVzCiAqIEBsaW5rIGh0dHA6Ly9zdm4uYXBhY2hlLm9yZy9yZXBvcy9hc2YvaHR0cGQvaHR0cGQvYnJhbmNoZXMvMS4zLngvY29uZi9taW1lLnR5cGVzCiAqLwpjbGFzcyBNaW1ldHlwZXMKewogICAgLyoqIEB2YXIgc2VsZiAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkaW5zdGFuY2U7CgogICAgLyoqIEB2YXIgYXJyYXkgTWFwcGluZyBvZiBleHRlbnNpb24gdG8gbWltZXR5cGUgKi8KICAgIHByb3RlY3RlZCAkbWltZXR5cGVzID0gYXJyYXkoCiAgICAgICAgJzNkbWwnID0+ICd0ZXh0L3ZuZC5pbjNkLjNkbWwnLAogICAgICAgICczZzInID0+ICd2aWRlby8zZ3BwMicsCiAgICAgICAgJzNncCcgPT4gJ3ZpZGVvLzNncHAnLAogICAgICAgICc3eicgPT4gJ2FwcGxpY2F0aW9uL3gtN3otY29tcHJlc3NlZCcsCiAgICAgICAgJ2FhYicgPT4gJ2FwcGxpY2F0aW9uL3gtYXV0aG9yd2FyZS1iaW4nLAogICAgICAgICdhYWMnID0+ICdhdWRpby94LWFhYycsCiAgICAgICAgJ2FhbScgPT4gJ2FwcGxpY2F0aW9uL3gtYXV0aG9yd2FyZS1tYXAnLAogICAgICAgICdhYXMnID0+ICdhcHBsaWNhdGlvbi94LWF1dGhvcndhcmUtc2VnJywKICAgICAgICAnYWJ3JyA9PiAnYXBwbGljYXRpb24veC1hYml3b3JkJywKICAgICAgICAnYWMnID0+ICdhcHBsaWNhdGlvbi9wa2l4LWF0dHItY2VydCcsCiAgICAgICAgJ2FjYycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5hbWVyaWNhbmR5bmFtaWNzLmFjYycsCiAgICAgICAgJ2FjZScgPT4gJ2FwcGxpY2F0aW9uL3gtYWNlLWNvbXByZXNzZWQnLAogICAgICAgICdhY3UnID0+ICdhcHBsaWNhdGlvbi92bmQuYWN1Y29ib2wnLAogICAgICAgICdhY3V0YycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5hY3Vjb3JwJywKICAgICAgICAnYWRwJyA9PiAnYXVkaW8vYWRwY20nLAogICAgICAgICdhZXAnID0+ICdhcHBsaWNhdGlvbi92bmQuYXVkaW9ncmFwaCcsCiAgICAgICAgJ2FmbScgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC10eXBlMScsCiAgICAgICAgJ2FmcCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5pYm0ubW9kY2FwJywKICAgICAgICAnYWhlYWQnID0+ICdhcHBsaWNhdGlvbi92bmQuYWhlYWQuc3BhY2UnLAogICAgICAgICdhaScgPT4gJ2FwcGxpY2F0aW9uL3Bvc3RzY3JpcHQnLAogICAgICAgICdhaWYnID0+ICdhdWRpby94LWFpZmYnLAogICAgICAgICdhaWZjJyA9PiAnYXVkaW8veC1haWZmJywKICAgICAgICAnYWlmZicgPT4gJ2F1ZGlvL3gtYWlmZicsCiAgICAgICAgJ2FpcicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5hZG9iZS5haXItYXBwbGljYXRpb24taW5zdGFsbGVyLXBhY2thZ2UremlwJywKICAgICAgICAnYWl0JyA9PiAnYXBwbGljYXRpb24vdm5kLmR2Yi5haXQnLAogICAgICAgICdhbWknID0+ICdhcHBsaWNhdGlvbi92bmQuYW1pZ2EuYW1pJywKICAgICAgICAnYXBrJyA9PiAnYXBwbGljYXRpb24vdm5kLmFuZHJvaWQucGFja2FnZS1hcmNoaXZlJywKICAgICAgICAnYXBwbGljYXRpb24nID0+ICdhcHBsaWNhdGlvbi94LW1zLWFwcGxpY2F0aW9uJywKICAgICAgICAnYXByJyA9PiAnYXBwbGljYXRpb24vdm5kLmxvdHVzLWFwcHJvYWNoJywKICAgICAgICAnYXNhJyA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgJ2FzYXgnID0+ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLAogICAgICAgICdhc2MnID0+ICdhcHBsaWNhdGlvbi9wZ3Atc2lnbmF0dXJlJywKICAgICAgICAnYXNjeCcgPT4gJ3RleHQvcGxhaW4nLAogICAgICAgICdhc2YnID0+ICd2aWRlby94LW1zLWFzZicsCiAgICAgICAgJ2FzaHgnID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAnYXNtJyA9PiAndGV4dC94LWFzbScsCiAgICAgICAgJ2FzbXgnID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAnYXNvJyA9PiAnYXBwbGljYXRpb24vdm5kLmFjY3BhYy5zaW1wbHkuYXNvJywKICAgICAgICAnYXNwJyA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgJ2FzcHgnID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAnYXN4JyA9PiAndmlkZW8veC1tcy1hc2YnLAogICAgICAgICdhdGMnID0+ICdhcHBsaWNhdGlvbi92bmQuYWN1Y29ycCcsCiAgICAgICAgJ2F0b20nID0+ICdhcHBsaWNhdGlvbi9hdG9tK3htbCcsCiAgICAgICAgJ2F0b21jYXQnID0+ICdhcHBsaWNhdGlvbi9hdG9tY2F0K3htbCcsCiAgICAgICAgJ2F0b21zdmMnID0+ICdhcHBsaWNhdGlvbi9hdG9tc3ZjK3htbCcsCiAgICAgICAgJ2F0eCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5hbnRpeC5nYW1lLWNvbXBvbmVudCcsCiAgICAgICAgJ2F1JyA9PiAnYXVkaW8vYmFzaWMnLAogICAgICAgICdhdmknID0+ICd2aWRlby94LW1zdmlkZW8nLAogICAgICAgICdhdycgPT4gJ2FwcGxpY2F0aW9uL2FwcGxpeHdhcmUnLAogICAgICAgICdheGQnID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAnYXpmJyA9PiAnYXBwbGljYXRpb24vdm5kLmFpcnppcC5maWxlc2VjdXJlLmF6ZicsCiAgICAgICAgJ2F6cycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5haXJ6aXAuZmlsZXNlY3VyZS5henMnLAogICAgICAgICdhencnID0+ICdhcHBsaWNhdGlvbi92bmQuYW1hem9uLmVib29rJywKICAgICAgICAnYmF0JyA9PiAnYXBwbGljYXRpb24veC1tc2Rvd25sb2FkJywKICAgICAgICAnYmNwaW8nID0+ICdhcHBsaWNhdGlvbi94LWJjcGlvJywKICAgICAgICAnYmRmJyA9PiAnYXBwbGljYXRpb24veC1mb250LWJkZicsCiAgICAgICAgJ2JkbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zeW5jbWwuZG0rd2J4bWwnLAogICAgICAgICdiZWQnID0+ICdhcHBsaWNhdGlvbi92bmQucmVhbHZuYy5iZWQnLAogICAgICAgICdiaDInID0+ICdhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5c3BycycsCiAgICAgICAgJ2JpbicgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsCiAgICAgICAgJ2JtaScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ibWknLAogICAgICAgICdibXAnID0+ICdpbWFnZS9ibXAnLAogICAgICAgICdib29rJyA9PiAnYXBwbGljYXRpb24vdm5kLmZyYW1lbWFrZXInLAogICAgICAgICdib3gnID0+ICdhcHBsaWNhdGlvbi92bmQucHJldmlld3N5c3RlbXMuYm94JywKICAgICAgICAnYm96JyA9PiAnYXBwbGljYXRpb24veC1iemlwMicsCiAgICAgICAgJ2JwaycgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsCiAgICAgICAgJ2J0aWYnID0+ICdpbWFnZS9wcnMuYnRpZicsCiAgICAgICAgJ2J6JyA9PiAnYXBwbGljYXRpb24veC1iemlwJywKICAgICAgICAnYnoyJyA9PiAnYXBwbGljYXRpb24veC1iemlwMicsCiAgICAgICAgJ2MnID0+ICd0ZXh0L3gtYycsCiAgICAgICAgJ2MxMWFtYycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jbHVldHJ1c3QuY2FydG9tb2JpbGUtY29uZmlnJywKICAgICAgICAnYzExYW16JyA9PiAnYXBwbGljYXRpb24vdm5kLmNsdWV0cnVzdC5jYXJ0b21vYmlsZS1jb25maWctcGtnJywKICAgICAgICAnYzRkJyA9PiAnYXBwbGljYXRpb24vdm5kLmNsb25rLmM0Z3JvdXAnLAogICAgICAgICdjNGYnID0+ICdhcHBsaWNhdGlvbi92bmQuY2xvbmsuYzRncm91cCcsCiAgICAgICAgJ2M0ZycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jbG9uay5jNGdyb3VwJywKICAgICAgICAnYzRwJyA9PiAnYXBwbGljYXRpb24vdm5kLmNsb25rLmM0Z3JvdXAnLAogICAgICAgICdjNHUnID0+ICdhcHBsaWNhdGlvbi92bmQuY2xvbmsuYzRncm91cCcsCiAgICAgICAgJ2NhYicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1jYWItY29tcHJlc3NlZCcsCiAgICAgICAgJ2NhcicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jdXJsLmNhcicsCiAgICAgICAgJ2NhdCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wa2kuc2VjY2F0JywKICAgICAgICAnY2MnID0+ICd0ZXh0L3gtYycsCiAgICAgICAgJ2NjdCcgPT4gJ2FwcGxpY2F0aW9uL3gtZGlyZWN0b3InLAogICAgICAgICdjY3htbCcgPT4gJ2FwcGxpY2F0aW9uL2NjeG1sK3htbCcsCiAgICAgICAgJ2NkYmNtc2cnID0+ICdhcHBsaWNhdGlvbi92bmQuY29udGFjdC5jbXNnJywKICAgICAgICAnY2RmJyA9PiAnYXBwbGljYXRpb24veC1uZXRjZGYnLAogICAgICAgICdjZGtleScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tZWRpYXN0YXRpb24uY2RrZXknLAogICAgICAgICdjZG1pYScgPT4gJ2FwcGxpY2F0aW9uL2NkbWktY2FwYWJpbGl0eScsCiAgICAgICAgJ2NkbWljJyA9PiAnYXBwbGljYXRpb24vY2RtaS1jb250YWluZXInLAogICAgICAgICdjZG1pZCcgPT4gJ2FwcGxpY2F0aW9uL2NkbWktZG9tYWluJywKICAgICAgICAnY2RtaW8nID0+ICdhcHBsaWNhdGlvbi9jZG1pLW9iamVjdCcsCiAgICAgICAgJ2NkbWlxJyA9PiAnYXBwbGljYXRpb24vY2RtaS1xdWV1ZScsCiAgICAgICAgJ2NkeCcgPT4gJ2NoZW1pY2FsL3gtY2R4JywKICAgICAgICAnY2R4bWwnID0+ICdhcHBsaWNhdGlvbi92bmQuY2hlbWRyYXcreG1sJywKICAgICAgICAnY2R5JyA9PiAnYXBwbGljYXRpb24vdm5kLmNpbmRlcmVsbGEnLAogICAgICAgICdjZXInID0+ICdhcHBsaWNhdGlvbi9wa2l4LWNlcnQnLAogICAgICAgICdjZmMnID0+ICdhcHBsaWNhdGlvbi94LWNvbGRmdXNpb24nLAogICAgICAgICdjZm0nID0+ICdhcHBsaWNhdGlvbi94LWNvbGRmdXNpb24nLAogICAgICAgICdjZ20nID0+ICdpbWFnZS9jZ20nLAogICAgICAgICdjaGF0JyA9PiAnYXBwbGljYXRpb24veC1jaGF0JywKICAgICAgICAnY2htJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLWh0bWxoZWxwJywKICAgICAgICAnY2hydCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5rZGUua2NoYXJ0JywKICAgICAgICAnY2lmJyA9PiAnY2hlbWljYWwveC1jaWYnLAogICAgICAgICdjaWknID0+ICdhcHBsaWNhdGlvbi92bmQuYW5zZXItd2ViLWNlcnRpZmljYXRlLWlzc3VlLWluaXRpYXRpb24nLAogICAgICAgICdjaWwnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtYXJ0Z2FscnknLAogICAgICAgICdjbGEnID0+ICdhcHBsaWNhdGlvbi92bmQuY2xheW1vcmUnLAogICAgICAgICdjbGFzcycgPT4gJ2FwcGxpY2F0aW9uL2phdmEtdm0nLAogICAgICAgICdjbGtrJyA9PiAnYXBwbGljYXRpb24vdm5kLmNyaWNrLmNsaWNrZXIua2V5Ym9hcmQnLAogICAgICAgICdjbGtwJyA9PiAnYXBwbGljYXRpb24vdm5kLmNyaWNrLmNsaWNrZXIucGFsZXR0ZScsCiAgICAgICAgJ2Nsa3QnID0+ICdhcHBsaWNhdGlvbi92bmQuY3JpY2suY2xpY2tlci50ZW1wbGF0ZScsCiAgICAgICAgJ2Nsa3cnID0+ICdhcHBsaWNhdGlvbi92bmQuY3JpY2suY2xpY2tlci53b3JkYmFuaycsCiAgICAgICAgJ2Nsa3gnID0+ICdhcHBsaWNhdGlvbi92bmQuY3JpY2suY2xpY2tlcicsCiAgICAgICAgJ2NscCcgPT4gJ2FwcGxpY2F0aW9uL3gtbXNjbGlwJywKICAgICAgICAnY21jJyA9PiAnYXBwbGljYXRpb24vdm5kLmNvc21vY2FsbGVyJywKICAgICAgICAnY21kZicgPT4gJ2NoZW1pY2FsL3gtY21kZicsCiAgICAgICAgJ2NtbCcgPT4gJ2NoZW1pY2FsL3gtY21sJywKICAgICAgICAnY21wJyA9PiAnYXBwbGljYXRpb24vdm5kLnllbGxvd3JpdmVyLWN1c3RvbS1tZW51JywKICAgICAgICAnY214JyA9PiAnaW1hZ2UveC1jbXgnLAogICAgICAgICdjb2QnID0+ICdhcHBsaWNhdGlvbi92bmQucmltLmNvZCcsCiAgICAgICAgJ2NvbScgPT4gJ2FwcGxpY2F0aW9uL3gtbXNkb3dubG9hZCcsCiAgICAgICAgJ2NvbmYnID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAnY3BpbycgPT4gJ2FwcGxpY2F0aW9uL3gtY3BpbycsCiAgICAgICAgJ2NwcCcgPT4gJ3RleHQveC1jJywKICAgICAgICAnY3B0JyA9PiAnYXBwbGljYXRpb24vbWFjLWNvbXBhY3Rwcm8nLAogICAgICAgICdjcmQnID0+ICdhcHBsaWNhdGlvbi94LW1zY2FyZGZpbGUnLAogICAgICAgICdjcmwnID0+ICdhcHBsaWNhdGlvbi9wa2l4LWNybCcsCiAgICAgICAgJ2NydCcgPT4gJ2FwcGxpY2F0aW9uL3gteDUwOS1jYS1jZXJ0JywKICAgICAgICAnY3J5cHRvbm90ZScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5yaWcuY3J5cHRvbm90ZScsCiAgICAgICAgJ2NzJyA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgJ2NzaCcgPT4gJ2FwcGxpY2F0aW9uL3gtY3NoJywKICAgICAgICAnY3NtbCcgPT4gJ2NoZW1pY2FsL3gtY3NtbCcsCiAgICAgICAgJ2NzcCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jb21tb25zcGFjZScsCiAgICAgICAgJ2NzcycgPT4gJ3RleHQvY3NzJywKICAgICAgICAnY3N0JyA9PiAnYXBwbGljYXRpb24veC1kaXJlY3RvcicsCiAgICAgICAgJ2NzdicgPT4gJ3RleHQvY3N2JywKICAgICAgICAnY3UnID0+ICdhcHBsaWNhdGlvbi9jdS1zZWVtZScsCiAgICAgICAgJ2N1cmwnID0+ICd0ZXh0L3ZuZC5jdXJsJywKICAgICAgICAnY3d3JyA9PiAnYXBwbGljYXRpb24vcHJzLmN3dycsCiAgICAgICAgJ2N4dCcgPT4gJ2FwcGxpY2F0aW9uL3gtZGlyZWN0b3InLAogICAgICAgICdjeHgnID0+ICd0ZXh0L3gtYycsCiAgICAgICAgJ2RhZScgPT4gJ21vZGVsL3ZuZC5jb2xsYWRhK3htbCcsCiAgICAgICAgJ2RhZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tb2JpdXMuZGFmJywKICAgICAgICAnZGF0YWxlc3MnID0+ICdhcHBsaWNhdGlvbi92bmQuZmRzbi5zZWVkJywKICAgICAgICAnZGF2bW91bnQnID0+ICdhcHBsaWNhdGlvbi9kYXZtb3VudCt4bWwnLAogICAgICAgICdkY3InID0+ICdhcHBsaWNhdGlvbi94LWRpcmVjdG9yJywKICAgICAgICAnZGN1cmwnID0+ICd0ZXh0L3ZuZC5jdXJsLmRjdXJsJywKICAgICAgICAnZGQyJyA9PiAnYXBwbGljYXRpb24vdm5kLm9tYS5kZDIreG1sJywKICAgICAgICAnZGRkJyA9PiAnYXBwbGljYXRpb24vdm5kLmZ1aml4ZXJveC5kZGQnLAogICAgICAgICdkZWInID0+ICdhcHBsaWNhdGlvbi94LWRlYmlhbi1wYWNrYWdlJywKICAgICAgICAnZGVmJyA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgJ2RlcGxveScgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsCiAgICAgICAgJ2RlcicgPT4gJ2FwcGxpY2F0aW9uL3gteDUwOS1jYS1jZXJ0JywKICAgICAgICAnZGZhYycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5kcmVhbWZhY3RvcnknLAogICAgICAgICdkaWMnID0+ICd0ZXh0L3gtYycsCiAgICAgICAgJ2RpcicgPT4gJ2FwcGxpY2F0aW9uL3gtZGlyZWN0b3InLAogICAgICAgICdkaXMnID0+ICdhcHBsaWNhdGlvbi92bmQubW9iaXVzLmRpcycsCiAgICAgICAgJ2Rpc3QnID0+ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLAogICAgICAgICdkaXN0eicgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsCiAgICAgICAgJ2RqdicgPT4gJ2ltYWdlL3ZuZC5kanZ1JywKICAgICAgICAnZGp2dScgPT4gJ2ltYWdlL3ZuZC5kanZ1JywKICAgICAgICAnZGxsJyA9PiAnYXBwbGljYXRpb24veC1tc2Rvd25sb2FkJywKICAgICAgICAnZG1nJyA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAnZG1zJyA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAnZG5hJyA9PiAnYXBwbGljYXRpb24vdm5kLmRuYScsCiAgICAgICAgJ2RvYycgPT4gJ2FwcGxpY2F0aW9uL21zd29yZCcsCiAgICAgICAgJ2RvY20nID0+ICdhcHBsaWNhdGlvbi92bmQubXMtd29yZC5kb2N1bWVudC5tYWNyb2VuYWJsZWQuMTInLAogICAgICAgICdkb2N4JyA9PiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLAogICAgICAgICdkb3QnID0+ICdhcHBsaWNhdGlvbi9tc3dvcmQnLAogICAgICAgICdkb3RtJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXdvcmQudGVtcGxhdGUubWFjcm9lbmFibGVkLjEyJywKICAgICAgICAnZG90eCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLnRlbXBsYXRlJywKICAgICAgICAnZHAnID0+ICdhcHBsaWNhdGlvbi92bmQub3NnaS5kcCcsCiAgICAgICAgJ2RwZycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5kcGdyYXBoJywKICAgICAgICAnZHJhJyA9PiAnYXVkaW8vdm5kLmRyYScsCiAgICAgICAgJ2RzYycgPT4gJ3RleHQvcHJzLmxpbmVzLnRhZycsCiAgICAgICAgJ2Rzc2MnID0+ICdhcHBsaWNhdGlvbi9kc3NjK2RlcicsCiAgICAgICAgJ2R0YicgPT4gJ2FwcGxpY2F0aW9uL3gtZHRib29rK3htbCcsCiAgICAgICAgJ2R0ZCcgPT4gJ2FwcGxpY2F0aW9uL3htbC1kdGQnLAogICAgICAgICdkdHMnID0+ICdhdWRpby92bmQuZHRzJywKICAgICAgICAnZHRzaGQnID0+ICdhdWRpby92bmQuZHRzLmhkJywKICAgICAgICAnZHVtcCcgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsCiAgICAgICAgJ2R2aScgPT4gJ2FwcGxpY2F0aW9uL3gtZHZpJywKICAgICAgICAnZHdmJyA9PiAnbW9kZWwvdm5kLmR3ZicsCiAgICAgICAgJ2R3ZycgPT4gJ2ltYWdlL3ZuZC5kd2cnLAogICAgICAgICdkeGYnID0+ICdpbWFnZS92bmQuZHhmJywKICAgICAgICAnZHhwJyA9PiAnYXBwbGljYXRpb24vdm5kLnNwb3RmaXJlLmR4cCcsCiAgICAgICAgJ2R4cicgPT4gJ2FwcGxpY2F0aW9uL3gtZGlyZWN0b3InLAogICAgICAgICdlY2VscDQ4MDAnID0+ICdhdWRpby92bmQubnVlcmEuZWNlbHA0ODAwJywKICAgICAgICAnZWNlbHA3NDcwJyA9PiAnYXVkaW8vdm5kLm51ZXJhLmVjZWxwNzQ3MCcsCiAgICAgICAgJ2VjZWxwOTYwMCcgPT4gJ2F1ZGlvL3ZuZC5udWVyYS5lY2VscDk2MDAnLAogICAgICAgICdlY21hJyA9PiAnYXBwbGljYXRpb24vZWNtYXNjcmlwdCcsCiAgICAgICAgJ2VkbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ub3ZhZGlnbS5lZG0nLAogICAgICAgICdlZHgnID0+ICdhcHBsaWNhdGlvbi92bmQubm92YWRpZ20uZWR4JywKICAgICAgICAnZWZpZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5waWNzZWwnLAogICAgICAgICdlaTYnID0+ICdhcHBsaWNhdGlvbi92bmQucGcub3Nhc2xpJywKICAgICAgICAnZWxjJyA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAnZW1sJyA9PiAnbWVzc2FnZS9yZmM4MjInLAogICAgICAgICdlbW1hJyA9PiAnYXBwbGljYXRpb24vZW1tYSt4bWwnLAogICAgICAgICdlb2wnID0+ICdhdWRpby92bmQuZGlnaXRhbC13aW5kcycsCiAgICAgICAgJ2VvdCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1mb250b2JqZWN0JywKICAgICAgICAnZXBzJyA9PiAnYXBwbGljYXRpb24vcG9zdHNjcmlwdCcsCiAgICAgICAgJ2VwdWInID0+ICdhcHBsaWNhdGlvbi9lcHViK3ppcCcsCiAgICAgICAgJ2VzMycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5lc3ppZ25vMyt4bWwnLAogICAgICAgICdlc2YnID0+ICdhcHBsaWNhdGlvbi92bmQuZXBzb24uZXNmJywKICAgICAgICAnZXQzJyA9PiAnYXBwbGljYXRpb24vdm5kLmVzemlnbm8zK3htbCcsCiAgICAgICAgJ2V0eCcgPT4gJ3RleHQveC1zZXRleHQnLAogICAgICAgICdleGUnID0+ICdhcHBsaWNhdGlvbi94LW1zZG93bmxvYWQnLAogICAgICAgICdleGknID0+ICdhcHBsaWNhdGlvbi9leGknLAogICAgICAgICdleHQnID0+ICdhcHBsaWNhdGlvbi92bmQubm92YWRpZ20uZXh0JywKICAgICAgICAnZXonID0+ICdhcHBsaWNhdGlvbi9hbmRyZXctaW5zZXQnLAogICAgICAgICdlejInID0+ICdhcHBsaWNhdGlvbi92bmQuZXpwaXgtYWxidW0nLAogICAgICAgICdlejMnID0+ICdhcHBsaWNhdGlvbi92bmQuZXpwaXgtcGFja2FnZScsCiAgICAgICAgJ2YnID0+ICd0ZXh0L3gtZm9ydHJhbicsCiAgICAgICAgJ2Y0dicgPT4gJ3ZpZGVvL3gtZjR2JywKICAgICAgICAnZjc3JyA9PiAndGV4dC94LWZvcnRyYW4nLAogICAgICAgICdmOTAnID0+ICd0ZXh0L3gtZm9ydHJhbicsCiAgICAgICAgJ2ZicycgPT4gJ2ltYWdlL3ZuZC5mYXN0Ymlkc2hlZXQnLAogICAgICAgICdmY3MnID0+ICdhcHBsaWNhdGlvbi92bmQuaXNhYy5mY3MnLAogICAgICAgICdmZGYnID0+ICdhcHBsaWNhdGlvbi92bmQuZmRmJywKICAgICAgICAnZmVfbGF1bmNoJyA9PiAnYXBwbGljYXRpb24vdm5kLmRlbm92by5mY3NlbGF5b3V0LWxpbmsnLAogICAgICAgICdmZzUnID0+ICdhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5c2dwJywKICAgICAgICAnZmdkJyA9PiAnYXBwbGljYXRpb24veC1kaXJlY3RvcicsCiAgICAgICAgJ2ZoJyA9PiAnaW1hZ2UveC1mcmVlaGFuZCcsCiAgICAgICAgJ2ZoNCcgPT4gJ2ltYWdlL3gtZnJlZWhhbmQnLAogICAgICAgICdmaDUnID0+ICdpbWFnZS94LWZyZWVoYW5kJywKICAgICAgICAnZmg3JyA9PiAnaW1hZ2UveC1mcmVlaGFuZCcsCiAgICAgICAgJ2ZoYycgPT4gJ2ltYWdlL3gtZnJlZWhhbmQnLAogICAgICAgICdmaWcnID0+ICdhcHBsaWNhdGlvbi94LXhmaWcnLAogICAgICAgICdmbGknID0+ICd2aWRlby94LWZsaScsCiAgICAgICAgJ2ZsbycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5taWNyb2dyYWZ4LmZsbycsCiAgICAgICAgJ2ZsdicgPT4gJ3ZpZGVvL3gtZmx2JywKICAgICAgICAnZmx3JyA9PiAnYXBwbGljYXRpb24vdm5kLmtkZS5raXZpbycsCiAgICAgICAgJ2ZseCcgPT4gJ3RleHQvdm5kLmZtaS5mbGV4c3RvcicsCiAgICAgICAgJ2ZseScgPT4gJ3RleHQvdm5kLmZseScsCiAgICAgICAgJ2ZtJyA9PiAnYXBwbGljYXRpb24vdm5kLmZyYW1lbWFrZXInLAogICAgICAgICdmbmMnID0+ICdhcHBsaWNhdGlvbi92bmQuZnJvZ2Fucy5mbmMnLAogICAgICAgICdmb3InID0+ICd0ZXh0L3gtZm9ydHJhbicsCiAgICAgICAgJ2ZweCcgPT4gJ2ltYWdlL3ZuZC5mcHgnLAogICAgICAgICdmcmFtZScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5mcmFtZW1ha2VyJywKICAgICAgICAnZnNjJyA9PiAnYXBwbGljYXRpb24vdm5kLmZzYy53ZWJsYXVuY2gnLAogICAgICAgICdmc3QnID0+ICdpbWFnZS92bmQuZnN0JywKICAgICAgICAnZnRjJyA9PiAnYXBwbGljYXRpb24vdm5kLmZsdXh0aW1lLmNsaXAnLAogICAgICAgICdmdGknID0+ICdhcHBsaWNhdGlvbi92bmQuYW5zZXItd2ViLWZ1bmRzLXRyYW5zZmVyLWluaXRpYXRpb24nLAogICAgICAgICdmdnQnID0+ICd2aWRlby92bmQuZnZ0JywKICAgICAgICAnZnhwJyA9PiAnYXBwbGljYXRpb24vdm5kLmFkb2JlLmZ4cCcsCiAgICAgICAgJ2Z4cGwnID0+ICdhcHBsaWNhdGlvbi92bmQuYWRvYmUuZnhwJywKICAgICAgICAnZnpzJyA9PiAnYXBwbGljYXRpb24vdm5kLmZ1enp5c2hlZXQnLAogICAgICAgICdnMncnID0+ICdhcHBsaWNhdGlvbi92bmQuZ2VvcGxhbicsCiAgICAgICAgJ2czJyA9PiAnaW1hZ2UvZzNmYXgnLAogICAgICAgICdnM3cnID0+ICdhcHBsaWNhdGlvbi92bmQuZ2Vvc3BhY2UnLAogICAgICAgICdnYWMnID0+ICdhcHBsaWNhdGlvbi92bmQuZ3Jvb3ZlLWFjY291bnQnLAogICAgICAgICdnZGwnID0+ICdtb2RlbC92bmQuZ2RsJywKICAgICAgICAnZ2VvJyA9PiAnYXBwbGljYXRpb24vdm5kLmR5bmFnZW8nLAogICAgICAgICdnZXgnID0+ICdhcHBsaWNhdGlvbi92bmQuZ2VvbWV0cnktZXhwbG9yZXInLAogICAgICAgICdnZ2InID0+ICdhcHBsaWNhdGlvbi92bmQuZ2VvZ2VicmEuZmlsZScsCiAgICAgICAgJ2dndCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5nZW9nZWJyYS50b29sJywKICAgICAgICAnZ2hmJyA9PiAnYXBwbGljYXRpb24vdm5kLmdyb292ZS1oZWxwJywKICAgICAgICAnZ2lmJyA9PiAnaW1hZ2UvZ2lmJywKICAgICAgICAnZ2ltJyA9PiAnYXBwbGljYXRpb24vdm5kLmdyb292ZS1pZGVudGl0eS1tZXNzYWdlJywKICAgICAgICAnZ214JyA9PiAnYXBwbGljYXRpb24vdm5kLmdteCcsCiAgICAgICAgJ2dudW1lcmljJyA9PiAnYXBwbGljYXRpb24veC1nbnVtZXJpYycsCiAgICAgICAgJ2dwaCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5mbG9ncmFwaGl0JywKICAgICAgICAnZ3FmJyA9PiAnYXBwbGljYXRpb24vdm5kLmdyYWZlcScsCiAgICAgICAgJ2dxcycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ncmFmZXEnLAogICAgICAgICdncmFtJyA9PiAnYXBwbGljYXRpb24vc3JncycsCiAgICAgICAgJ2dyZScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5nZW9tZXRyeS1leHBsb3JlcicsCiAgICAgICAgJ2dydicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtaW5qZWN0b3InLAogICAgICAgICdncnhtbCcgPT4gJ2FwcGxpY2F0aW9uL3NyZ3MreG1sJywKICAgICAgICAnZ3NmJyA9PiAnYXBwbGljYXRpb24veC1mb250LWdob3N0c2NyaXB0JywKICAgICAgICAnZ3RhcicgPT4gJ2FwcGxpY2F0aW9uL3gtZ3RhcicsCiAgICAgICAgJ2d0bScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtdG9vbC1tZXNzYWdlJywKICAgICAgICAnZ3R3JyA9PiAnbW9kZWwvdm5kLmd0dycsCiAgICAgICAgJ2d2JyA9PiAndGV4dC92bmQuZ3JhcGh2aXonLAogICAgICAgICdneHQnID0+ICdhcHBsaWNhdGlvbi92bmQuZ2VvbmV4dCcsCiAgICAgICAgJ2gnID0+ICd0ZXh0L3gtYycsCiAgICAgICAgJ2gyNjEnID0+ICd2aWRlby9oMjYxJywKICAgICAgICAnaDI2MycgPT4gJ3ZpZGVvL2gyNjMnLAogICAgICAgICdoMjY0JyA9PiAndmlkZW8vaDI2NCcsCiAgICAgICAgJ2hhbCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5oYWwreG1sJywKICAgICAgICAnaGJjaScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5oYmNpJywKICAgICAgICAnaGRmJyA9PiAnYXBwbGljYXRpb24veC1oZGYnLAogICAgICAgICdoaCcgPT4gJ3RleHQveC1jJywKICAgICAgICAnaGxwJyA9PiAnYXBwbGljYXRpb24vd2luaGxwJywKICAgICAgICAnaHBnbCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ocC1ocGdsJywKICAgICAgICAnaHBpZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ocC1ocGlkJywKICAgICAgICAnaHBzJyA9PiAnYXBwbGljYXRpb24vdm5kLmhwLWhwcycsCiAgICAgICAgJ2hxeCcgPT4gJ2FwcGxpY2F0aW9uL21hYy1iaW5oZXg0MCcsCiAgICAgICAgJ2h0YScgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsCiAgICAgICAgJ2h0YycgPT4gJ3RleHQvaHRtbCcsCiAgICAgICAgJ2h0a2UnID0+ICdhcHBsaWNhdGlvbi92bmQua2VuYW1lYWFwcCcsCiAgICAgICAgJ2h0bScgPT4gJ3RleHQvaHRtbCcsCiAgICAgICAgJ2h0bWwnID0+ICd0ZXh0L2h0bWwnLAogICAgICAgICdodmQnID0+ICdhcHBsaWNhdGlvbi92bmQueWFtYWhhLmh2LWRpYycsCiAgICAgICAgJ2h2cCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC55YW1haGEuaHYtdm9pY2UnLAogICAgICAgICdodnMnID0+ICdhcHBsaWNhdGlvbi92bmQueWFtYWhhLmh2LXNjcmlwdCcsCiAgICAgICAgJ2kyZycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5pbnRlcmdlbycsCiAgICAgICAgJ2ljYycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5pY2Nwcm9maWxlJywKICAgICAgICAnaWNlJyA9PiAneC1jb25mZXJlbmNlL3gtY29vbHRhbGsnLAogICAgICAgICdpY20nID0+ICdhcHBsaWNhdGlvbi92bmQuaWNjcHJvZmlsZScsCiAgICAgICAgJ2ljbycgPT4gJ2ltYWdlL3gtaWNvbicsCiAgICAgICAgJ2ljcycgPT4gJ3RleHQvY2FsZW5kYXInLAogICAgICAgICdpZWYnID0+ICdpbWFnZS9pZWYnLAogICAgICAgICdpZmInID0+ICd0ZXh0L2NhbGVuZGFyJywKICAgICAgICAnaWZtJyA9PiAnYXBwbGljYXRpb24vdm5kLnNoYW5hLmluZm9ybWVkLmZvcm1kYXRhJywKICAgICAgICAnaWdlcycgPT4gJ21vZGVsL2lnZXMnLAogICAgICAgICdpZ2wnID0+ICdhcHBsaWNhdGlvbi92bmQuaWdsb2FkZXInLAogICAgICAgICdpZ20nID0+ICdhcHBsaWNhdGlvbi92bmQuaW5zb3JzLmlnbScsCiAgICAgICAgJ2lncycgPT4gJ21vZGVsL2lnZXMnLAogICAgICAgICdpZ3gnID0+ICdhcHBsaWNhdGlvbi92bmQubWljcm9ncmFmeC5pZ3gnLAogICAgICAgICdpaWYnID0+ICdhcHBsaWNhdGlvbi92bmQuc2hhbmEuaW5mb3JtZWQuaW50ZXJjaGFuZ2UnLAogICAgICAgICdpbXAnID0+ICdhcHBsaWNhdGlvbi92bmQuYWNjcGFjLnNpbXBseS5pbXAnLAogICAgICAgICdpbXMnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtaW1zJywKICAgICAgICAnaW4nID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAnaW5pJyA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgJ2lwZml4JyA9PiAnYXBwbGljYXRpb24vaXBmaXgnLAogICAgICAgICdpcGsnID0+ICdhcHBsaWNhdGlvbi92bmQuc2hhbmEuaW5mb3JtZWQucGFja2FnZScsCiAgICAgICAgJ2lybScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5pYm0ucmlnaHRzLW1hbmFnZW1lbnQnLAogICAgICAgICdpcnAnID0+ICdhcHBsaWNhdGlvbi92bmQuaXJlcG9zaXRvcnkucGFja2FnZSt4bWwnLAogICAgICAgICdpc28nID0+ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLAogICAgICAgICdpdHAnID0+ICdhcHBsaWNhdGlvbi92bmQuc2hhbmEuaW5mb3JtZWQuZm9ybXRlbXBsYXRlJywKICAgICAgICAnaXZwJyA9PiAnYXBwbGljYXRpb24vdm5kLmltbWVydmlzaW9uLWl2cCcsCiAgICAgICAgJ2l2dScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5pbW1lcnZpc2lvbi1pdnUnLAogICAgICAgICdqYWQnID0+ICd0ZXh0L3ZuZC5zdW4uajJtZS5hcHAtZGVzY3JpcHRvcicsCiAgICAgICAgJ2phbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5qYW0nLAogICAgICAgICdqYXInID0+ICdhcHBsaWNhdGlvbi9qYXZhLWFyY2hpdmUnLAogICAgICAgICdqYXZhJyA9PiAndGV4dC94LWphdmEtc291cmNlJywKICAgICAgICAnamlzcCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5qaXNwJywKICAgICAgICAnamx0JyA9PiAnYXBwbGljYXRpb24vdm5kLmhwLWpseXQnLAogICAgICAgICdqbmxwJyA9PiAnYXBwbGljYXRpb24veC1qYXZhLWpubHAtZmlsZScsCiAgICAgICAgJ2pvZGEnID0+ICdhcHBsaWNhdGlvbi92bmQuam9vc3Quam9kYS1hcmNoaXZlJywKICAgICAgICAnanBlJyA9PiAnaW1hZ2UvanBlZycsCiAgICAgICAgJ2pwZWcnID0+ICdpbWFnZS9qcGVnJywKICAgICAgICAnanBnJyA9PiAnaW1hZ2UvanBlZycsCiAgICAgICAgJ2pwZ20nID0+ICd2aWRlby9qcG0nLAogICAgICAgICdqcGd2JyA9PiAndmlkZW8vanBlZycsCiAgICAgICAgJ2pwbScgPT4gJ3ZpZGVvL2pwbScsCiAgICAgICAgJ2pzJyA9PiAndGV4dC9qYXZhc2NyaXB0JywKICAgICAgICAnanNvbicgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICdrYXInID0+ICdhdWRpby9taWRpJywKICAgICAgICAna2FyYm9uJyA9PiAnYXBwbGljYXRpb24vdm5kLmtkZS5rYXJib24nLAogICAgICAgICdrZm8nID0+ICdhcHBsaWNhdGlvbi92bmQua2RlLmtmb3JtdWxhJywKICAgICAgICAna2lhJyA9PiAnYXBwbGljYXRpb24vdm5kLmtpZHNwaXJhdGlvbicsCiAgICAgICAgJ2ttbCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua21sK3htbCcsCiAgICAgICAgJ2tteicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua216JywKICAgICAgICAna25lJyA9PiAnYXBwbGljYXRpb24vdm5kLmtpbmFyJywKICAgICAgICAna25wJyA9PiAnYXBwbGljYXRpb24vdm5kLmtpbmFyJywKICAgICAgICAna29uJyA9PiAnYXBwbGljYXRpb24vdm5kLmtkZS5rb250b3VyJywKICAgICAgICAna3ByJyA9PiAnYXBwbGljYXRpb24vdm5kLmtkZS5rcHJlc2VudGVyJywKICAgICAgICAna3B0JyA9PiAnYXBwbGljYXRpb24vdm5kLmtkZS5rcHJlc2VudGVyJywKICAgICAgICAna3NwJyA9PiAnYXBwbGljYXRpb24vdm5kLmtkZS5rc3ByZWFkJywKICAgICAgICAna3RyJyA9PiAnYXBwbGljYXRpb24vdm5kLmthaG9vdHonLAogICAgICAgICdrdHgnID0+ICdpbWFnZS9rdHgnLAogICAgICAgICdrdHonID0+ICdhcHBsaWNhdGlvbi92bmQua2Fob290eicsCiAgICAgICAgJ2t3ZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5rZGUua3dvcmQnLAogICAgICAgICdrd3QnID0+ICdhcHBsaWNhdGlvbi92bmQua2RlLmt3b3JkJywKICAgICAgICAnbGFzeG1sJyA9PiAnYXBwbGljYXRpb24vdm5kLmxhcy5sYXMreG1sJywKICAgICAgICAnbGF0ZXgnID0+ICdhcHBsaWNhdGlvbi94LWxhdGV4JywKICAgICAgICAnbGJkJyA9PiAnYXBwbGljYXRpb24vdm5kLmxsYW1hZ3JhcGhpY3MubGlmZS1iYWxhbmNlLmRlc2t0b3AnLAogICAgICAgICdsYmUnID0+ICdhcHBsaWNhdGlvbi92bmQubGxhbWFncmFwaGljcy5saWZlLWJhbGFuY2UuZXhjaGFuZ2UreG1sJywKICAgICAgICAnbGVzJyA9PiAnYXBwbGljYXRpb24vdm5kLmhoZS5sZXNzb24tcGxheWVyJywKICAgICAgICAnbGhhJyA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAnbGluazY2JyA9PiAnYXBwbGljYXRpb24vdm5kLnJvdXRlNjYubGluazY2K3htbCcsCiAgICAgICAgJ2xpc3QnID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAnbGlzdDM4MjAnID0+ICdhcHBsaWNhdGlvbi92bmQuaWJtLm1vZGNhcCcsCiAgICAgICAgJ2xpc3RhZnAnID0+ICdhcHBsaWNhdGlvbi92bmQuaWJtLm1vZGNhcCcsCiAgICAgICAgJ2xvZycgPT4gJ3RleHQvcGxhaW4nLAogICAgICAgICdsb3N0eG1sJyA9PiAnYXBwbGljYXRpb24vbG9zdCt4bWwnLAogICAgICAgICdscmYnID0+ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLAogICAgICAgICdscm0nID0+ICdhcHBsaWNhdGlvbi92bmQubXMtbHJtJywKICAgICAgICAnbHRmJyA9PiAnYXBwbGljYXRpb24vdm5kLmZyb2dhbnMubHRmJywKICAgICAgICAnbHZwJyA9PiAnYXVkaW8vdm5kLmx1Y2VudC52b2ljZScsCiAgICAgICAgJ2x3cCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5sb3R1cy13b3JkcHJvJywKICAgICAgICAnbHpoJyA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAnbTEzJyA9PiAnYXBwbGljYXRpb24veC1tc21lZGlhdmlldycsCiAgICAgICAgJ20xNCcgPT4gJ2FwcGxpY2F0aW9uL3gtbXNtZWRpYXZpZXcnLAogICAgICAgICdtMXYnID0+ICd2aWRlby9tcGVnJywKICAgICAgICAnbTIxJyA9PiAnYXBwbGljYXRpb24vbXAyMScsCiAgICAgICAgJ20yYScgPT4gJ2F1ZGlvL21wZWcnLAogICAgICAgICdtMnYnID0+ICd2aWRlby9tcGVnJywKICAgICAgICAnbTNhJyA9PiAnYXVkaW8vbXBlZycsCiAgICAgICAgJ20zdScgPT4gJ2F1ZGlvL3gtbXBlZ3VybCcsCiAgICAgICAgJ20zdTgnID0+ICdhcHBsaWNhdGlvbi92bmQuYXBwbGUubXBlZ3VybCcsCiAgICAgICAgJ200YScgPT4gJ2F1ZGlvL21wNCcsCiAgICAgICAgJ200dScgPT4gJ3ZpZGVvL3ZuZC5tcGVndXJsJywKICAgICAgICAnbTR2JyA9PiAndmlkZW8vbXA0JywKICAgICAgICAnbWEnID0+ICdhcHBsaWNhdGlvbi9tYXRoZW1hdGljYScsCiAgICAgICAgJ21hZHMnID0+ICdhcHBsaWNhdGlvbi9tYWRzK3htbCcsCiAgICAgICAgJ21hZycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5lY293aW4uY2hhcnQnLAogICAgICAgICdtYWtlcicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5mcmFtZW1ha2VyJywKICAgICAgICAnbWFuJyA9PiAndGV4dC90cm9mZicsCiAgICAgICAgJ21hdGhtbCcgPT4gJ2FwcGxpY2F0aW9uL21hdGhtbCt4bWwnLAogICAgICAgICdtYicgPT4gJ2FwcGxpY2F0aW9uL21hdGhlbWF0aWNhJywKICAgICAgICAnbWJrJyA9PiAnYXBwbGljYXRpb24vdm5kLm1vYml1cy5tYmsnLAogICAgICAgICdtYm94JyA9PiAnYXBwbGljYXRpb24vbWJveCcsCiAgICAgICAgJ21jMScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tZWRjYWxjZGF0YScsCiAgICAgICAgJ21jZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tY2QnLAogICAgICAgICdtY3VybCcgPT4gJ3RleHQvdm5kLmN1cmwubWN1cmwnLAogICAgICAgICdtZGInID0+ICdhcHBsaWNhdGlvbi94LW1zYWNjZXNzJywKICAgICAgICAnbWRpJyA9PiAnaW1hZ2Uvdm5kLm1zLW1vZGknLAogICAgICAgICdtZScgPT4gJ3RleHQvdHJvZmYnLAogICAgICAgICdtZXNoJyA9PiAnbW9kZWwvbWVzaCcsCiAgICAgICAgJ21ldGE0JyA9PiAnYXBwbGljYXRpb24vbWV0YWxpbms0K3htbCcsCiAgICAgICAgJ21ldHMnID0+ICdhcHBsaWNhdGlvbi9tZXRzK3htbCcsCiAgICAgICAgJ21mbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tZm1wJywKICAgICAgICAnbWdwJyA9PiAnYXBwbGljYXRpb24vdm5kLm9zZ2VvLm1hcGd1aWRlLnBhY2thZ2UnLAogICAgICAgICdtZ3onID0+ICdhcHBsaWNhdGlvbi92bmQucHJvdGV1cy5tYWdhemluZScsCiAgICAgICAgJ21pZCcgPT4gJ2F1ZGlvL21pZGknLAogICAgICAgICdtaWRpJyA9PiAnYXVkaW8vbWlkaScsCiAgICAgICAgJ21pZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5taWYnLAogICAgICAgICdtaW1lJyA9PiAnbWVzc2FnZS9yZmM4MjInLAogICAgICAgICdtajInID0+ICd2aWRlby9tajInLAogICAgICAgICdtanAyJyA9PiAndmlkZW8vbWoyJywKICAgICAgICAnbWxwJyA9PiAnYXBwbGljYXRpb24vdm5kLmRvbGJ5Lm1scCcsCiAgICAgICAgJ21tZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jaGlwbnV0cy5rYXJhb2tlLW1tZCcsCiAgICAgICAgJ21tZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zbWFmJywKICAgICAgICAnbW1yJyA9PiAnaW1hZ2Uvdm5kLmZ1aml4ZXJveC5lZG1pY3MtbW1yJywKICAgICAgICAnbW55JyA9PiAnYXBwbGljYXRpb24veC1tc21vbmV5JywKICAgICAgICAnbW9iaScgPT4gJ2FwcGxpY2F0aW9uL3gtbW9iaXBvY2tldC1lYm9vaycsCiAgICAgICAgJ21vZHMnID0+ICdhcHBsaWNhdGlvbi9tb2RzK3htbCcsCiAgICAgICAgJ21vdicgPT4gJ3ZpZGVvL3F1aWNrdGltZScsCiAgICAgICAgJ21vdmllJyA9PiAndmlkZW8veC1zZ2ktbW92aWUnLAogICAgICAgICdtcDInID0+ICdhdWRpby9tcGVnJywKICAgICAgICAnbXAyMScgPT4gJ2FwcGxpY2F0aW9uL21wMjEnLAogICAgICAgICdtcDJhJyA9PiAnYXVkaW8vbXBlZycsCiAgICAgICAgJ21wMycgPT4gJ2F1ZGlvL21wZWcnLAogICAgICAgICdtcDQnID0+ICd2aWRlby9tcDQnLAogICAgICAgICdtcDRhJyA9PiAnYXVkaW8vbXA0JywKICAgICAgICAnbXA0cycgPT4gJ2FwcGxpY2F0aW9uL21wNCcsCiAgICAgICAgJ21wNHYnID0+ICd2aWRlby9tcDQnLAogICAgICAgICdtcGMnID0+ICdhcHBsaWNhdGlvbi92bmQubW9waHVuLmNlcnRpZmljYXRlJywKICAgICAgICAnbXBlJyA9PiAndmlkZW8vbXBlZycsCiAgICAgICAgJ21wZWcnID0+ICd2aWRlby9tcGVnJywKICAgICAgICAnbXBnJyA9PiAndmlkZW8vbXBlZycsCiAgICAgICAgJ21wZzQnID0+ICd2aWRlby9tcDQnLAogICAgICAgICdtcGdhJyA9PiAnYXVkaW8vbXBlZycsCiAgICAgICAgJ21wa2cnID0+ICdhcHBsaWNhdGlvbi92bmQuYXBwbGUuaW5zdGFsbGVyK3htbCcsCiAgICAgICAgJ21wbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ibHVlaWNlLm11bHRpcGFzcycsCiAgICAgICAgJ21wbicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tb3BodW4uYXBwbGljYXRpb24nLAogICAgICAgICdtcHAnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtcHJvamVjdCcsCiAgICAgICAgJ21wdCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wcm9qZWN0JywKICAgICAgICAnbXB5JyA9PiAnYXBwbGljYXRpb24vdm5kLmlibS5taW5pcGF5JywKICAgICAgICAnbXF5JyA9PiAnYXBwbGljYXRpb24vdm5kLm1vYml1cy5tcXknLAogICAgICAgICdtcmMnID0+ICdhcHBsaWNhdGlvbi9tYXJjJywKICAgICAgICAnbXJjeCcgPT4gJ2FwcGxpY2F0aW9uL21hcmN4bWwreG1sJywKICAgICAgICAnbXMnID0+ICd0ZXh0L3Ryb2ZmJywKICAgICAgICAnbXNjbWwnID0+ICdhcHBsaWNhdGlvbi9tZWRpYXNlcnZlcmNvbnRyb2wreG1sJywKICAgICAgICAnbXNlZWQnID0+ICdhcHBsaWNhdGlvbi92bmQuZmRzbi5tc2VlZCcsCiAgICAgICAgJ21zZXEnID0+ICdhcHBsaWNhdGlvbi92bmQubXNlcScsCiAgICAgICAgJ21zZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5lcHNvbi5tc2YnLAogICAgICAgICdtc2gnID0+ICdtb2RlbC9tZXNoJywKICAgICAgICAnbXNpJyA9PiAnYXBwbGljYXRpb24veC1tc2Rvd25sb2FkJywKICAgICAgICAnbXNsJyA9PiAnYXBwbGljYXRpb24vdm5kLm1vYml1cy5tc2wnLAogICAgICAgICdtc3R5JyA9PiAnYXBwbGljYXRpb24vdm5kLm11dmVlLnN0eWxlJywKICAgICAgICAnbXRzJyA9PiAnbW9kZWwvdm5kLm10cycsCiAgICAgICAgJ211cycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tdXNpY2lhbicsCiAgICAgICAgJ211c2ljeG1sJyA9PiAnYXBwbGljYXRpb24vdm5kLnJlY29yZGFyZS5tdXNpY3htbCt4bWwnLAogICAgICAgICdtdmInID0+ICdhcHBsaWNhdGlvbi94LW1zbWVkaWF2aWV3JywKICAgICAgICAnbXdmJyA9PiAnYXBwbGljYXRpb24vdm5kLm1mZXInLAogICAgICAgICdteGYnID0+ICdhcHBsaWNhdGlvbi9teGYnLAogICAgICAgICdteGwnID0+ICdhcHBsaWNhdGlvbi92bmQucmVjb3JkYXJlLm11c2ljeG1sJywKICAgICAgICAnbXhtbCcgPT4gJ2FwcGxpY2F0aW9uL3h2K3htbCcsCiAgICAgICAgJ214cycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC50cmlzY2FwZS5teHMnLAogICAgICAgICdteHUnID0+ICd2aWRlby92bmQubXBlZ3VybCcsCiAgICAgICAgJ24tZ2FnZScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ub2tpYS5uLWdhZ2Uuc3ltYmlhbi5pbnN0YWxsJywKICAgICAgICAnbjMnID0+ICd0ZXh0L24zJywKICAgICAgICAnbmInID0+ICdhcHBsaWNhdGlvbi9tYXRoZW1hdGljYScsCiAgICAgICAgJ25icCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC53b2xmcmFtLnBsYXllcicsCiAgICAgICAgJ25jJyA9PiAnYXBwbGljYXRpb24veC1uZXRjZGYnLAogICAgICAgICduY3gnID0+ICdhcHBsaWNhdGlvbi94LWR0Ym5jeCt4bWwnLAogICAgICAgICduZ2RhdCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ub2tpYS5uLWdhZ2UuZGF0YScsCiAgICAgICAgJ25sdScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5uZXVyb2xhbmd1YWdlLm5sdScsCiAgICAgICAgJ25tbCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5lbmxpdmVuJywKICAgICAgICAnbm5kJyA9PiAnYXBwbGljYXRpb24vdm5kLm5vYmxlbmV0LWRpcmVjdG9yeScsCiAgICAgICAgJ25ucycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ub2JsZW5ldC1zZWFsZXInLAogICAgICAgICdubncnID0+ICdhcHBsaWNhdGlvbi92bmQubm9ibGVuZXQtd2ViJywKICAgICAgICAnbnB4JyA9PiAnaW1hZ2Uvdm5kLm5ldC1mcHgnLAogICAgICAgICduc2YnID0+ICdhcHBsaWNhdGlvbi92bmQubG90dXMtbm90ZXMnLAogICAgICAgICdvYTInID0+ICdhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5czInLAogICAgICAgICdvYTMnID0+ICdhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5czMnLAogICAgICAgICdvYXMnID0+ICdhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5cycsCiAgICAgICAgJ29iZCcgPT4gJ2FwcGxpY2F0aW9uL3gtbXNiaW5kZXInLAogICAgICAgICdvZGEnID0+ICdhcHBsaWNhdGlvbi9vZGEnLAogICAgICAgICdvZGInID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmRhdGFiYXNlJywKICAgICAgICAnb2RjJyA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5jaGFydCcsCiAgICAgICAgJ29kZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuZm9ybXVsYScsCiAgICAgICAgJ29kZnQnID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmZvcm11bGEtdGVtcGxhdGUnLAogICAgICAgICdvZGcnID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmdyYXBoaWNzJywKICAgICAgICAnb2RpJyA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5pbWFnZScsCiAgICAgICAgJ29kbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dC1tYXN0ZXInLAogICAgICAgICdvZHAnID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnByZXNlbnRhdGlvbicsCiAgICAgICAgJ29kcycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXQnLAogICAgICAgICdvZHQnID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQnLAogICAgICAgICdvZ2EnID0+ICdhdWRpby9vZ2cnLAogICAgICAgICdvZ2cnID0+ICdhdWRpby9vZ2cnLAogICAgICAgICdvZ3YnID0+ICd2aWRlby9vZ2cnLAogICAgICAgICdvZ3gnID0+ICdhcHBsaWNhdGlvbi9vZ2cnLAogICAgICAgICdvbmVwa2cnID0+ICdhcHBsaWNhdGlvbi9vbmVub3RlJywKICAgICAgICAnb25ldG1wJyA9PiAnYXBwbGljYXRpb24vb25lbm90ZScsCiAgICAgICAgJ29uZXRvYycgPT4gJ2FwcGxpY2F0aW9uL29uZW5vdGUnLAogICAgICAgICdvbmV0b2MyJyA9PiAnYXBwbGljYXRpb24vb25lbm90ZScsCiAgICAgICAgJ29wZicgPT4gJ2FwcGxpY2F0aW9uL29lYnBzLXBhY2thZ2UreG1sJywKICAgICAgICAnb3ByYycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5wYWxtJywKICAgICAgICAnb3JnJyA9PiAnYXBwbGljYXRpb24vdm5kLmxvdHVzLW9yZ2FuaXplcicsCiAgICAgICAgJ29zZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC55YW1haGEub3BlbnNjb3JlZm9ybWF0JywKICAgICAgICAnb3NmcHZnJyA9PiAnYXBwbGljYXRpb24vdm5kLnlhbWFoYS5vcGVuc2NvcmVmb3JtYXQub3NmcHZnK3htbCcsCiAgICAgICAgJ290YycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuY2hhcnQtdGVtcGxhdGUnLAogICAgICAgICdvdGYnID0+ICdhcHBsaWNhdGlvbi94LWZvbnQtb3RmJywKICAgICAgICAnb3RnJyA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5ncmFwaGljcy10ZW1wbGF0ZScsCiAgICAgICAgJ290aCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dC13ZWInLAogICAgICAgICdvdGknID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmltYWdlLXRlbXBsYXRlJywKICAgICAgICAnb3RwJyA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5wcmVzZW50YXRpb24tdGVtcGxhdGUnLAogICAgICAgICdvdHMnID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0LXRlbXBsYXRlJywKICAgICAgICAnb3R0JyA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0LXRlbXBsYXRlJywKICAgICAgICAnb3h0JyA9PiAnYXBwbGljYXRpb24vdm5kLm9wZW5vZmZpY2VvcmcuZXh0ZW5zaW9uJywKICAgICAgICAncCcgPT4gJ3RleHQveC1wYXNjYWwnLAogICAgICAgICdwMTAnID0+ICdhcHBsaWNhdGlvbi9wa2NzMTAnLAogICAgICAgICdwMTInID0+ICdhcHBsaWNhdGlvbi94LXBrY3MxMicsCiAgICAgICAgJ3A3YicgPT4gJ2FwcGxpY2F0aW9uL3gtcGtjczctY2VydGlmaWNhdGVzJywKICAgICAgICAncDdjJyA9PiAnYXBwbGljYXRpb24vcGtjczctbWltZScsCiAgICAgICAgJ3A3bScgPT4gJ2FwcGxpY2F0aW9uL3BrY3M3LW1pbWUnLAogICAgICAgICdwN3InID0+ICdhcHBsaWNhdGlvbi94LXBrY3M3LWNlcnRyZXFyZXNwJywKICAgICAgICAncDdzJyA9PiAnYXBwbGljYXRpb24vcGtjczctc2lnbmF0dXJlJywKICAgICAgICAncDgnID0+ICdhcHBsaWNhdGlvbi9wa2NzOCcsCiAgICAgICAgJ3BhcycgPT4gJ3RleHQveC1wYXNjYWwnLAogICAgICAgICdwYXcnID0+ICdhcHBsaWNhdGlvbi92bmQucGF3YWFmaWxlJywKICAgICAgICAncGJkJyA9PiAnYXBwbGljYXRpb24vdm5kLnBvd2VyYnVpbGRlcjYnLAogICAgICAgICdwYm0nID0+ICdpbWFnZS94LXBvcnRhYmxlLWJpdG1hcCcsCiAgICAgICAgJ3BjZicgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC1wY2YnLAogICAgICAgICdwY2wnID0+ICdhcHBsaWNhdGlvbi92bmQuaHAtcGNsJywKICAgICAgICAncGNseGwnID0+ICdhcHBsaWNhdGlvbi92bmQuaHAtcGNseGwnLAogICAgICAgICdwY3QnID0+ICdpbWFnZS94LXBpY3QnLAogICAgICAgICdwY3VybCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jdXJsLnBjdXJsJywKICAgICAgICAncGN4JyA9PiAnaW1hZ2UveC1wY3gnLAogICAgICAgICdwZGInID0+ICdhcHBsaWNhdGlvbi92bmQucGFsbScsCiAgICAgICAgJ3BkZicgPT4gJ2FwcGxpY2F0aW9uL3BkZicsCiAgICAgICAgJ3BmYScgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC10eXBlMScsCiAgICAgICAgJ3BmYicgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC10eXBlMScsCiAgICAgICAgJ3BmbScgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC10eXBlMScsCiAgICAgICAgJ3BmcicgPT4gJ2FwcGxpY2F0aW9uL2ZvbnQtdGRwZnInLAogICAgICAgICdwZngnID0+ICdhcHBsaWNhdGlvbi94LXBrY3MxMicsCiAgICAgICAgJ3BnbScgPT4gJ2ltYWdlL3gtcG9ydGFibGUtZ3JheW1hcCcsCiAgICAgICAgJ3BnbicgPT4gJ2FwcGxpY2F0aW9uL3gtY2hlc3MtcGduJywKICAgICAgICAncGdwJyA9PiAnYXBwbGljYXRpb24vcGdwLWVuY3J5cHRlZCcsCiAgICAgICAgJ3BocCcgPT4gJ3RleHQveC1waHAnLAogICAgICAgICdwaHBzJyA9PiAnYXBwbGljYXRpb24veC1odHRwZC1waHBzJywKICAgICAgICAncGljJyA9PiAnaW1hZ2UveC1waWN0JywKICAgICAgICAncGtnJyA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAncGtpJyA9PiAnYXBwbGljYXRpb24vcGtpeGNtcCcsCiAgICAgICAgJ3BraXBhdGgnID0+ICdhcHBsaWNhdGlvbi9wa2l4LXBraXBhdGgnLAogICAgICAgICdwbGInID0+ICdhcHBsaWNhdGlvbi92bmQuM2dwcC5waWMtYnctbGFyZ2UnLAogICAgICAgICdwbGMnID0+ICdhcHBsaWNhdGlvbi92bmQubW9iaXVzLnBsYycsCiAgICAgICAgJ3BsZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5wb2NrZXRsZWFybicsCiAgICAgICAgJ3BscycgPT4gJ2FwcGxpY2F0aW9uL3Bscyt4bWwnLAogICAgICAgICdwbWwnID0+ICdhcHBsaWNhdGlvbi92bmQuY3RjLXBvc21sJywKICAgICAgICAncG5nJyA9PiAnaW1hZ2UvcG5nJywKICAgICAgICAncG5tJyA9PiAnaW1hZ2UveC1wb3J0YWJsZS1hbnltYXAnLAogICAgICAgICdwb3J0cGtnJyA9PiAnYXBwbGljYXRpb24vdm5kLm1hY3BvcnRzLnBvcnRwa2cnLAogICAgICAgICdwb3QnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCcsCiAgICAgICAgJ3BvdG0nID0+ICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC50ZW1wbGF0ZS5tYWNyb2VuYWJsZWQuMTInLAogICAgICAgICdwb3R4JyA9PiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnRlbXBsYXRlJywKICAgICAgICAncHBhbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LmFkZGluLm1hY3JvZW5hYmxlZC4xMicsCiAgICAgICAgJ3BwZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jdXBzLXBwZCcsCiAgICAgICAgJ3BwbScgPT4gJ2ltYWdlL3gtcG9ydGFibGUtcGl4bWFwJywKICAgICAgICAncHBzJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQnLAogICAgICAgICdwcHNtJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQuc2xpZGVzaG93Lm1hY3JvZW5hYmxlZC4xMicsCiAgICAgICAgJ3Bwc3gnID0+ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuc2xpZGVzaG93JywKICAgICAgICAncHB0JyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQnLAogICAgICAgICdwcHRtJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQucHJlc2VudGF0aW9uLm1hY3JvZW5hYmxlZC4xMicsCiAgICAgICAgJ3BwdHgnID0+ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uJywKICAgICAgICAncHFhJyA9PiAnYXBwbGljYXRpb24vdm5kLnBhbG0nLAogICAgICAgICdwcmMnID0+ICdhcHBsaWNhdGlvbi94LW1vYmlwb2NrZXQtZWJvb2snLAogICAgICAgICdwcmUnID0+ICdhcHBsaWNhdGlvbi92bmQubG90dXMtZnJlZWxhbmNlJywKICAgICAgICAncHJmJyA9PiAnYXBwbGljYXRpb24vcGljcy1ydWxlcycsCiAgICAgICAgJ3BzJyA9PiAnYXBwbGljYXRpb24vcG9zdHNjcmlwdCcsCiAgICAgICAgJ3BzYicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC4zZ3BwLnBpYy1idy1zbWFsbCcsCiAgICAgICAgJ3BzZCcgPT4gJ2ltYWdlL3ZuZC5hZG9iZS5waG90b3Nob3AnLAogICAgICAgICdwc2YnID0+ICdhcHBsaWNhdGlvbi94LWZvbnQtbGludXgtcHNmJywKICAgICAgICAncHNrY3htbCcgPT4gJ2FwcGxpY2F0aW9uL3Bza2MreG1sJywKICAgICAgICAncHRpZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5wdmkucHRpZDEnLAogICAgICAgICdwdWInID0+ICdhcHBsaWNhdGlvbi94LW1zcHVibGlzaGVyJywKICAgICAgICAncHZiJyA9PiAnYXBwbGljYXRpb24vdm5kLjNncHAucGljLWJ3LXZhcicsCiAgICAgICAgJ3B3bicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC4zbS5wb3N0LWl0LW5vdGVzJywKICAgICAgICAncHlhJyA9PiAnYXVkaW8vdm5kLm1zLXBsYXlyZWFkeS5tZWRpYS5weWEnLAogICAgICAgICdweXYnID0+ICd2aWRlby92bmQubXMtcGxheXJlYWR5Lm1lZGlhLnB5dicsCiAgICAgICAgJ3FhbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5lcHNvbi5xdWlja2FuaW1lJywKICAgICAgICAncWJvJyA9PiAnYXBwbGljYXRpb24vdm5kLmludHUucWJvJywKICAgICAgICAncWZ4JyA9PiAnYXBwbGljYXRpb24vdm5kLmludHUucWZ4JywKICAgICAgICAncXBzJyA9PiAnYXBwbGljYXRpb24vdm5kLnB1Ymxpc2hhcmUtZGVsdGEtdHJlZScsCiAgICAgICAgJ3F0JyA9PiAndmlkZW8vcXVpY2t0aW1lJywKICAgICAgICAncXdkJyA9PiAnYXBwbGljYXRpb24vdm5kLnF1YXJrLnF1YXJreHByZXNzJywKICAgICAgICAncXd0JyA9PiAnYXBwbGljYXRpb24vdm5kLnF1YXJrLnF1YXJreHByZXNzJywKICAgICAgICAncXhiJyA9PiAnYXBwbGljYXRpb24vdm5kLnF1YXJrLnF1YXJreHByZXNzJywKICAgICAgICAncXhkJyA9PiAnYXBwbGljYXRpb24vdm5kLnF1YXJrLnF1YXJreHByZXNzJywKICAgICAgICAncXhsJyA9PiAnYXBwbGljYXRpb24vdm5kLnF1YXJrLnF1YXJreHByZXNzJywKICAgICAgICAncXh0JyA9PiAnYXBwbGljYXRpb24vdm5kLnF1YXJrLnF1YXJreHByZXNzJywKICAgICAgICAncmEnID0+ICdhdWRpby94LXBuLXJlYWxhdWRpbycsCiAgICAgICAgJ3JhbScgPT4gJ2F1ZGlvL3gtcG4tcmVhbGF1ZGlvJywKICAgICAgICAncmFyJyA9PiAnYXBwbGljYXRpb24veC1yYXItY29tcHJlc3NlZCcsCiAgICAgICAgJ3JhcycgPT4gJ2ltYWdlL3gtY211LXJhc3RlcicsCiAgICAgICAgJ3JiJyA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgJ3JjcHJvZmlsZScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5pcHVucGx1Z2dlZC5yY3Byb2ZpbGUnLAogICAgICAgICdyZGYnID0+ICdhcHBsaWNhdGlvbi9yZGYreG1sJywKICAgICAgICAncmR6JyA9PiAnYXBwbGljYXRpb24vdm5kLmRhdGEtdmlzaW9uLnJkeicsCiAgICAgICAgJ3JlcCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5idXNpbmVzc29iamVjdHMnLAogICAgICAgICdyZXMnID0+ICdhcHBsaWNhdGlvbi94LWR0YnJlc291cmNlK3htbCcsCiAgICAgICAgJ3Jlc3gnID0+ICd0ZXh0L3htbCcsCiAgICAgICAgJ3JnYicgPT4gJ2ltYWdlL3gtcmdiJywKICAgICAgICAncmlmJyA9PiAnYXBwbGljYXRpb24vcmVnaW5mbyt4bWwnLAogICAgICAgICdyaXAnID0+ICdhdWRpby92bmQucmlwJywKICAgICAgICAncmwnID0+ICdhcHBsaWNhdGlvbi9yZXNvdXJjZS1saXN0cyt4bWwnLAogICAgICAgICdybGMnID0+ICdpbWFnZS92bmQuZnVqaXhlcm94LmVkbWljcy1ybGMnLAogICAgICAgICdybGQnID0+ICdhcHBsaWNhdGlvbi9yZXNvdXJjZS1saXN0cy1kaWZmK3htbCcsCiAgICAgICAgJ3JtJyA9PiAnYXBwbGljYXRpb24vdm5kLnJuLXJlYWxtZWRpYScsCiAgICAgICAgJ3JtaScgPT4gJ2F1ZGlvL21pZGknLAogICAgICAgICdybXAnID0+ICdhdWRpby94LXBuLXJlYWxhdWRpby1wbHVnaW4nLAogICAgICAgICdybXMnID0+ICdhcHBsaWNhdGlvbi92bmQuamNwLmphdmFtZS5taWRsZXQtcm1zJywKICAgICAgICAncm5jJyA9PiAnYXBwbGljYXRpb24vcmVsYXgtbmctY29tcGFjdC1zeW50YXgnLAogICAgICAgICdyb2ZmJyA9PiAndGV4dC90cm9mZicsCiAgICAgICAgJ3JwOScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jbG9hbnRvLnJwOScsCiAgICAgICAgJ3Jwc3MnID0+ICdhcHBsaWNhdGlvbi92bmQubm9raWEucmFkaW8tcHJlc2V0cycsCiAgICAgICAgJ3Jwc3QnID0+ICdhcHBsaWNhdGlvbi92bmQubm9raWEucmFkaW8tcHJlc2V0JywKICAgICAgICAncnEnID0+ICdhcHBsaWNhdGlvbi9zcGFycWwtcXVlcnknLAogICAgICAgICdycycgPT4gJ2FwcGxpY2F0aW9uL3Jscy1zZXJ2aWNlcyt4bWwnLAogICAgICAgICdyc2QnID0+ICdhcHBsaWNhdGlvbi9yc2QreG1sJywKICAgICAgICAncnNzJyA9PiAnYXBwbGljYXRpb24vcnNzK3htbCcsCiAgICAgICAgJ3J0ZicgPT4gJ2FwcGxpY2F0aW9uL3J0ZicsCiAgICAgICAgJ3J0eCcgPT4gJ3RleHQvcmljaHRleHQnLAogICAgICAgICdzJyA9PiAndGV4dC94LWFzbScsCiAgICAgICAgJ3NhZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC55YW1haGEuc21hZi1hdWRpbycsCiAgICAgICAgJ3NibWwnID0+ICdhcHBsaWNhdGlvbi9zYm1sK3htbCcsCiAgICAgICAgJ3NjJyA9PiAnYXBwbGljYXRpb24vdm5kLmlibS5zZWN1cmUtY29udGFpbmVyJywKICAgICAgICAnc2NkJyA9PiAnYXBwbGljYXRpb24veC1tc3NjaGVkdWxlJywKICAgICAgICAnc2NtJyA9PiAnYXBwbGljYXRpb24vdm5kLmxvdHVzLXNjcmVlbmNhbScsCiAgICAgICAgJ3NjcScgPT4gJ2FwcGxpY2F0aW9uL3NjdnAtY3YtcmVxdWVzdCcsCiAgICAgICAgJ3NjcycgPT4gJ2FwcGxpY2F0aW9uL3NjdnAtY3YtcmVzcG9uc2UnLAogICAgICAgICdzY3VybCcgPT4gJ3RleHQvdm5kLmN1cmwuc2N1cmwnLAogICAgICAgICdzZGEnID0+ICdhcHBsaWNhdGlvbi92bmQuc3RhcmRpdmlzaW9uLmRyYXcnLAogICAgICAgICdzZGMnID0+ICdhcHBsaWNhdGlvbi92bmQuc3RhcmRpdmlzaW9uLmNhbGMnLAogICAgICAgICdzZGQnID0+ICdhcHBsaWNhdGlvbi92bmQuc3RhcmRpdmlzaW9uLmltcHJlc3MnLAogICAgICAgICdzZGtkJyA9PiAnYXBwbGljYXRpb24vdm5kLnNvbGVudC5zZGttK3htbCcsCiAgICAgICAgJ3Nka20nID0+ICdhcHBsaWNhdGlvbi92bmQuc29sZW50LnNka20reG1sJywKICAgICAgICAnc2RwJyA9PiAnYXBwbGljYXRpb24vc2RwJywKICAgICAgICAnc2R3JyA9PiAnYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi53cml0ZXInLAogICAgICAgICdzZWUnID0+ICdhcHBsaWNhdGlvbi92bmQuc2VlbWFpbCcsCiAgICAgICAgJ3NlZWQnID0+ICdhcHBsaWNhdGlvbi92bmQuZmRzbi5zZWVkJywKICAgICAgICAnc2VtYScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zZW1hJywKICAgICAgICAnc2VtZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zZW1kJywKICAgICAgICAnc2VtZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zZW1mJywKICAgICAgICAnc2VyJyA9PiAnYXBwbGljYXRpb24vamF2YS1zZXJpYWxpemVkLW9iamVjdCcsCiAgICAgICAgJ3NldHBheScgPT4gJ2FwcGxpY2F0aW9uL3NldC1wYXltZW50LWluaXRpYXRpb24nLAogICAgICAgICdzZXRyZWcnID0+ICdhcHBsaWNhdGlvbi9zZXQtcmVnaXN0cmF0aW9uLWluaXRpYXRpb24nLAogICAgICAgICdzZmQtaGRzdHgnID0+ICdhcHBsaWNhdGlvbi92bmQuaHlkcm9zdGF0aXguc29mLWRhdGEnLAogICAgICAgICdzZnMnID0+ICdhcHBsaWNhdGlvbi92bmQuc3BvdGZpcmUuc2ZzJywKICAgICAgICAnc2dsJyA9PiAnYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi53cml0ZXItZ2xvYmFsJywKICAgICAgICAnc2dtJyA9PiAndGV4dC9zZ21sJywKICAgICAgICAnc2dtbCcgPT4gJ3RleHQvc2dtbCcsCiAgICAgICAgJ3NoJyA9PiAnYXBwbGljYXRpb24veC1zaCcsCiAgICAgICAgJ3NoYXInID0+ICdhcHBsaWNhdGlvbi94LXNoYXInLAogICAgICAgICdzaGYnID0+ICdhcHBsaWNhdGlvbi9zaGYreG1sJywKICAgICAgICAnc2lnJyA9PiAnYXBwbGljYXRpb24vcGdwLXNpZ25hdHVyZScsCiAgICAgICAgJ3NpbG8nID0+ICdtb2RlbC9tZXNoJywKICAgICAgICAnc2lzJyA9PiAnYXBwbGljYXRpb24vdm5kLnN5bWJpYW4uaW5zdGFsbCcsCiAgICAgICAgJ3Npc3gnID0+ICdhcHBsaWNhdGlvbi92bmQuc3ltYmlhbi5pbnN0YWxsJywKICAgICAgICAnc2l0JyA9PiAnYXBwbGljYXRpb24veC1zdHVmZml0JywKICAgICAgICAnc2l0eCcgPT4gJ2FwcGxpY2F0aW9uL3gtc3R1ZmZpdHgnLAogICAgICAgICdza2QnID0+ICdhcHBsaWNhdGlvbi92bmQua29hbicsCiAgICAgICAgJ3NrbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5rb2FuJywKICAgICAgICAnc2twJyA9PiAnYXBwbGljYXRpb24vdm5kLmtvYW4nLAogICAgICAgICdza3QnID0+ICdhcHBsaWNhdGlvbi92bmQua29hbicsCiAgICAgICAgJ3NsZG0nID0+ICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC5zbGlkZS5tYWNyb2VuYWJsZWQuMTInLAogICAgICAgICdzbGR4JyA9PiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnNsaWRlJywKICAgICAgICAnc2x0JyA9PiAnYXBwbGljYXRpb24vdm5kLmVwc29uLnNhbHQnLAogICAgICAgICdzbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdGVwbWFuaWEuc3RlcGNoYXJ0JywKICAgICAgICAnc21mJyA9PiAnYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi5tYXRoJywKICAgICAgICAnc21pJyA9PiAnYXBwbGljYXRpb24vc21pbCt4bWwnLAogICAgICAgICdzbWlsJyA9PiAnYXBwbGljYXRpb24vc21pbCt4bWwnLAogICAgICAgICdzbmQnID0+ICdhdWRpby9iYXNpYycsCiAgICAgICAgJ3NuZicgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC1zbmYnLAogICAgICAgICdzbycgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsCiAgICAgICAgJ3NwYycgPT4gJ2FwcGxpY2F0aW9uL3gtcGtjczctY2VydGlmaWNhdGVzJywKICAgICAgICAnc3BmJyA9PiAnYXBwbGljYXRpb24vdm5kLnlhbWFoYS5zbWFmLXBocmFzZScsCiAgICAgICAgJ3NwbCcgPT4gJ2FwcGxpY2F0aW9uL3gtZnV0dXJlc3BsYXNoJywKICAgICAgICAnc3BvdCcgPT4gJ3RleHQvdm5kLmluM2Quc3BvdCcsCiAgICAgICAgJ3NwcCcgPT4gJ2FwcGxpY2F0aW9uL3NjdnAtdnAtcmVzcG9uc2UnLAogICAgICAgICdzcHEnID0+ICdhcHBsaWNhdGlvbi9zY3ZwLXZwLXJlcXVlc3QnLAogICAgICAgICdzcHgnID0+ICdhdWRpby9vZ2cnLAogICAgICAgICdzcmMnID0+ICdhcHBsaWNhdGlvbi94LXdhaXMtc291cmNlJywKICAgICAgICAnc3J1JyA9PiAnYXBwbGljYXRpb24vc3J1K3htbCcsCiAgICAgICAgJ3NyeCcgPT4gJ2FwcGxpY2F0aW9uL3NwYXJxbC1yZXN1bHRzK3htbCcsCiAgICAgICAgJ3NzZScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5rb2Rhay1kZXNjcmlwdG9yJywKICAgICAgICAnc3NmJyA9PiAnYXBwbGljYXRpb24vdm5kLmVwc29uLnNzZicsCiAgICAgICAgJ3NzbWwnID0+ICdhcHBsaWNhdGlvbi9zc21sK3htbCcsCiAgICAgICAgJ3N0JyA9PiAnYXBwbGljYXRpb24vdm5kLnNhaWxpbmd0cmFja2VyLnRyYWNrJywKICAgICAgICAnc3RjJyA9PiAnYXBwbGljYXRpb24vdm5kLnN1bi54bWwuY2FsYy50ZW1wbGF0ZScsCiAgICAgICAgJ3N0ZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmRyYXcudGVtcGxhdGUnLAogICAgICAgICdzdGYnID0+ICdhcHBsaWNhdGlvbi92bmQud3Quc3RmJywKICAgICAgICAnc3RpJyA9PiAnYXBwbGljYXRpb24vdm5kLnN1bi54bWwuaW1wcmVzcy50ZW1wbGF0ZScsCiAgICAgICAgJ3N0aycgPT4gJ2FwcGxpY2F0aW9uL2h5cGVyc3R1ZGlvJywKICAgICAgICAnc3RsJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXBraS5zdGwnLAogICAgICAgICdzdHInID0+ICdhcHBsaWNhdGlvbi92bmQucGcuZm9ybWF0JywKICAgICAgICAnc3R3JyA9PiAnYXBwbGljYXRpb24vdm5kLnN1bi54bWwud3JpdGVyLnRlbXBsYXRlJywKICAgICAgICAnc3ViJyA9PiAnaW1hZ2Uvdm5kLmR2Yi5zdWJ0aXRsZScsCiAgICAgICAgJ3N1cycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdXMtY2FsZW5kYXInLAogICAgICAgICdzdXNwJyA9PiAnYXBwbGljYXRpb24vdm5kLnN1cy1jYWxlbmRhcicsCiAgICAgICAgJ3N2NGNwaW8nID0+ICdhcHBsaWNhdGlvbi94LXN2NGNwaW8nLAogICAgICAgICdzdjRjcmMnID0+ICdhcHBsaWNhdGlvbi94LXN2NGNyYycsCiAgICAgICAgJ3N2YycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5kdmIuc2VydmljZScsCiAgICAgICAgJ3N2ZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdmQnLAogICAgICAgICdzdmcnID0+ICdpbWFnZS9zdmcreG1sJywKICAgICAgICAnc3ZneicgPT4gJ2ltYWdlL3N2Zyt4bWwnLAogICAgICAgICdzd2EnID0+ICdhcHBsaWNhdGlvbi94LWRpcmVjdG9yJywKICAgICAgICAnc3dmJyA9PiAnYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnLAogICAgICAgICdzd2knID0+ICdhcHBsaWNhdGlvbi92bmQuYXJpc3RhbmV0d29ya3Muc3dpJywKICAgICAgICAnc3hjJyA9PiAnYXBwbGljYXRpb24vdm5kLnN1bi54bWwuY2FsYycsCiAgICAgICAgJ3N4ZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmRyYXcnLAogICAgICAgICdzeGcnID0+ICdhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC53cml0ZXIuZ2xvYmFsJywKICAgICAgICAnc3hpJyA9PiAnYXBwbGljYXRpb24vdm5kLnN1bi54bWwuaW1wcmVzcycsCiAgICAgICAgJ3N4bScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLm1hdGgnLAogICAgICAgICdzeHcnID0+ICdhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC53cml0ZXInLAogICAgICAgICd0JyA9PiAndGV4dC90cm9mZicsCiAgICAgICAgJ3RhbycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC50YW8uaW50ZW50LW1vZHVsZS1hcmNoaXZlJywKICAgICAgICAndGFyJyA9PiAnYXBwbGljYXRpb24veC10YXInLAogICAgICAgICd0Y2FwJyA9PiAnYXBwbGljYXRpb24vdm5kLjNncHAyLnRjYXAnLAogICAgICAgICd0Y2wnID0+ICdhcHBsaWNhdGlvbi94LXRjbCcsCiAgICAgICAgJ3RlYWNoZXInID0+ICdhcHBsaWNhdGlvbi92bmQuc21hcnQudGVhY2hlcicsCiAgICAgICAgJ3RlaScgPT4gJ2FwcGxpY2F0aW9uL3RlaSt4bWwnLAogICAgICAgICd0ZWljb3JwdXMnID0+ICdhcHBsaWNhdGlvbi90ZWkreG1sJywKICAgICAgICAndGV4JyA9PiAnYXBwbGljYXRpb24veC10ZXgnLAogICAgICAgICd0ZXhpJyA9PiAnYXBwbGljYXRpb24veC10ZXhpbmZvJywKICAgICAgICAndGV4aW5mbycgPT4gJ2FwcGxpY2F0aW9uL3gtdGV4aW5mbycsCiAgICAgICAgJ3RleHQnID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAndGZpJyA9PiAnYXBwbGljYXRpb24vdGhyYXVkK3htbCcsCiAgICAgICAgJ3RmbScgPT4gJ2FwcGxpY2F0aW9uL3gtdGV4LXRmbScsCiAgICAgICAgJ3RobXgnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtb2ZmaWNldGhlbWUnLAogICAgICAgICd0aWYnID0+ICdpbWFnZS90aWZmJywKICAgICAgICAndGlmZicgPT4gJ2ltYWdlL3RpZmYnLAogICAgICAgICd0bW8nID0+ICdhcHBsaWNhdGlvbi92bmQudG1vYmlsZS1saXZldHYnLAogICAgICAgICd0b3JyZW50JyA9PiAnYXBwbGljYXRpb24veC1iaXR0b3JyZW50JywKICAgICAgICAndHBsJyA9PiAnYXBwbGljYXRpb24vdm5kLmdyb292ZS10b29sLXRlbXBsYXRlJywKICAgICAgICAndHB0JyA9PiAnYXBwbGljYXRpb24vdm5kLnRyaWQudHB0JywKICAgICAgICAndHInID0+ICd0ZXh0L3Ryb2ZmJywKICAgICAgICAndHJhJyA9PiAnYXBwbGljYXRpb24vdm5kLnRydWVhcHAnLAogICAgICAgICd0cm0nID0+ICdhcHBsaWNhdGlvbi94LW1zdGVybWluYWwnLAogICAgICAgICd0c2QnID0+ICdhcHBsaWNhdGlvbi90aW1lc3RhbXBlZC1kYXRhJywKICAgICAgICAndHN2JyA9PiAndGV4dC90YWItc2VwYXJhdGVkLXZhbHVlcycsCiAgICAgICAgJ3R0YycgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC10dGYnLAogICAgICAgICd0dGYnID0+ICdhcHBsaWNhdGlvbi94LWZvbnQtdHRmJywKICAgICAgICAndHRsJyA9PiAndGV4dC90dXJ0bGUnLAogICAgICAgICd0d2QnID0+ICdhcHBsaWNhdGlvbi92bmQuc2ltdGVjaC1taW5kbWFwcGVyJywKICAgICAgICAndHdkcycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zaW10ZWNoLW1pbmRtYXBwZXInLAogICAgICAgICd0eGQnID0+ICdhcHBsaWNhdGlvbi92bmQuZ2Vub21hdGl4LnR1eGVkbycsCiAgICAgICAgJ3R4ZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tb2JpdXMudHhmJywKICAgICAgICAndHh0JyA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgJ3UzMicgPT4gJ2FwcGxpY2F0aW9uL3gtYXV0aG9yd2FyZS1iaW4nLAogICAgICAgICd1ZGViJyA9PiAnYXBwbGljYXRpb24veC1kZWJpYW4tcGFja2FnZScsCiAgICAgICAgJ3VmZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC51ZmRsJywKICAgICAgICAndWZkbCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC51ZmRsJywKICAgICAgICAndW1qJyA9PiAnYXBwbGljYXRpb24vdm5kLnVtYWppbicsCiAgICAgICAgJ3VuaXR5d2ViJyA9PiAnYXBwbGljYXRpb24vdm5kLnVuaXR5JywKICAgICAgICAndW9tbCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC51b21sK3htbCcsCiAgICAgICAgJ3VyaScgPT4gJ3RleHQvdXJpLWxpc3QnLAogICAgICAgICd1cmlzJyA9PiAndGV4dC91cmktbGlzdCcsCiAgICAgICAgJ3VybHMnID0+ICd0ZXh0L3VyaS1saXN0JywKICAgICAgICAndXN0YXInID0+ICdhcHBsaWNhdGlvbi94LXVzdGFyJywKICAgICAgICAndXR6JyA9PiAnYXBwbGljYXRpb24vdm5kLnVpcS50aGVtZScsCiAgICAgICAgJ3V1JyA9PiAndGV4dC94LXV1ZW5jb2RlJywKICAgICAgICAndXZhJyA9PiAnYXVkaW8vdm5kLmRlY2UuYXVkaW8nLAogICAgICAgICd1dmQnID0+ICdhcHBsaWNhdGlvbi92bmQuZGVjZS5kYXRhJywKICAgICAgICAndXZmJyA9PiAnYXBwbGljYXRpb24vdm5kLmRlY2UuZGF0YScsCiAgICAgICAgJ3V2ZycgPT4gJ2ltYWdlL3ZuZC5kZWNlLmdyYXBoaWMnLAogICAgICAgICd1dmgnID0+ICd2aWRlby92bmQuZGVjZS5oZCcsCiAgICAgICAgJ3V2aScgPT4gJ2ltYWdlL3ZuZC5kZWNlLmdyYXBoaWMnLAogICAgICAgICd1dm0nID0+ICd2aWRlby92bmQuZGVjZS5tb2JpbGUnLAogICAgICAgICd1dnAnID0+ICd2aWRlby92bmQuZGVjZS5wZCcsCiAgICAgICAgJ3V2cycgPT4gJ3ZpZGVvL3ZuZC5kZWNlLnNkJywKICAgICAgICAndXZ0JyA9PiAnYXBwbGljYXRpb24vdm5kLmRlY2UudHRtbCt4bWwnLAogICAgICAgICd1dnUnID0+ICd2aWRlby92bmQudXZ2dS5tcDQnLAogICAgICAgICd1dnYnID0+ICd2aWRlby92bmQuZGVjZS52aWRlbycsCiAgICAgICAgJ3V2dmEnID0+ICdhdWRpby92bmQuZGVjZS5hdWRpbycsCiAgICAgICAgJ3V2dmQnID0+ICdhcHBsaWNhdGlvbi92bmQuZGVjZS5kYXRhJywKICAgICAgICAndXZ2ZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5kZWNlLmRhdGEnLAogICAgICAgICd1dnZnJyA9PiAnaW1hZ2Uvdm5kLmRlY2UuZ3JhcGhpYycsCiAgICAgICAgJ3V2dmgnID0+ICd2aWRlby92bmQuZGVjZS5oZCcsCiAgICAgICAgJ3V2dmknID0+ICdpbWFnZS92bmQuZGVjZS5ncmFwaGljJywKICAgICAgICAndXZ2bScgPT4gJ3ZpZGVvL3ZuZC5kZWNlLm1vYmlsZScsCiAgICAgICAgJ3V2dnAnID0+ICd2aWRlby92bmQuZGVjZS5wZCcsCiAgICAgICAgJ3V2dnMnID0+ICd2aWRlby92bmQuZGVjZS5zZCcsCiAgICAgICAgJ3V2dnQnID0+ICdhcHBsaWNhdGlvbi92bmQuZGVjZS50dG1sK3htbCcsCiAgICAgICAgJ3V2dnUnID0+ICd2aWRlby92bmQudXZ2dS5tcDQnLAogICAgICAgICd1dnZ2JyA9PiAndmlkZW8vdm5kLmRlY2UudmlkZW8nLAogICAgICAgICd1dnZ4JyA9PiAnYXBwbGljYXRpb24vdm5kLmRlY2UudW5zcGVjaWZpZWQnLAogICAgICAgICd1dngnID0+ICdhcHBsaWNhdGlvbi92bmQuZGVjZS51bnNwZWNpZmllZCcsCiAgICAgICAgJ3ZjZCcgPT4gJ2FwcGxpY2F0aW9uL3gtY2RsaW5rJywKICAgICAgICAndmNmJyA9PiAndGV4dC94LXZjYXJkJywKICAgICAgICAndmNnJyA9PiAnYXBwbGljYXRpb24vdm5kLmdyb292ZS12Y2FyZCcsCiAgICAgICAgJ3ZjcycgPT4gJ3RleHQveC12Y2FsZW5kYXInLAogICAgICAgICd2Y3gnID0+ICdhcHBsaWNhdGlvbi92bmQudmN4JywKICAgICAgICAndmlzJyA9PiAnYXBwbGljYXRpb24vdm5kLnZpc2lvbmFyeScsCiAgICAgICAgJ3ZpdicgPT4gJ3ZpZGVvL3ZuZC52aXZvJywKICAgICAgICAndm9yJyA9PiAnYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi53cml0ZXInLAogICAgICAgICd2b3gnID0+ICdhcHBsaWNhdGlvbi94LWF1dGhvcndhcmUtYmluJywKICAgICAgICAndnJtbCcgPT4gJ21vZGVsL3ZybWwnLAogICAgICAgICd2c2QnID0+ICdhcHBsaWNhdGlvbi92bmQudmlzaW8nLAogICAgICAgICd2c2YnID0+ICdhcHBsaWNhdGlvbi92bmQudnNmJywKICAgICAgICAndnNzJyA9PiAnYXBwbGljYXRpb24vdm5kLnZpc2lvJywKICAgICAgICAndnN0JyA9PiAnYXBwbGljYXRpb24vdm5kLnZpc2lvJywKICAgICAgICAndnN3JyA9PiAnYXBwbGljYXRpb24vdm5kLnZpc2lvJywKICAgICAgICAndnR1JyA9PiAnbW9kZWwvdm5kLnZ0dScsCiAgICAgICAgJ3Z4bWwnID0+ICdhcHBsaWNhdGlvbi92b2ljZXhtbCt4bWwnLAogICAgICAgICd3M2QnID0+ICdhcHBsaWNhdGlvbi94LWRpcmVjdG9yJywKICAgICAgICAnd2FkJyA9PiAnYXBwbGljYXRpb24veC1kb29tJywKICAgICAgICAnd2F2JyA9PiAnYXVkaW8veC13YXYnLAogICAgICAgICd3YXgnID0+ICdhdWRpby94LW1zLXdheCcsCiAgICAgICAgJ3dibXAnID0+ICdpbWFnZS92bmQud2FwLndibXAnLAogICAgICAgICd3YnMnID0+ICdhcHBsaWNhdGlvbi92bmQuY3JpdGljYWx0b29scy53YnMreG1sJywKICAgICAgICAnd2J4bWwnID0+ICdhcHBsaWNhdGlvbi92bmQud2FwLndieG1sJywKICAgICAgICAnd2NtJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXdvcmtzJywKICAgICAgICAnd2RiJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXdvcmtzJywKICAgICAgICAnd2ViYScgPT4gJ2F1ZGlvL3dlYm0nLAogICAgICAgICd3ZWJtJyA9PiAndmlkZW8vd2VibScsCiAgICAgICAgJ3dlYnAnID0+ICdpbWFnZS93ZWJwJywKICAgICAgICAnd2cnID0+ICdhcHBsaWNhdGlvbi92bmQucG1pLndpZGdldCcsCiAgICAgICAgJ3dndCcgPT4gJ2FwcGxpY2F0aW9uL3dpZGdldCcsCiAgICAgICAgJ3drcycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy13b3JrcycsCiAgICAgICAgJ3dtJyA9PiAndmlkZW8veC1tcy13bScsCiAgICAgICAgJ3dtYScgPT4gJ2F1ZGlvL3gtbXMtd21hJywKICAgICAgICAnd21kJyA9PiAnYXBwbGljYXRpb24veC1tcy13bWQnLAogICAgICAgICd3bWYnID0+ICdhcHBsaWNhdGlvbi94LW1zbWV0YWZpbGUnLAogICAgICAgICd3bWwnID0+ICd0ZXh0L3ZuZC53YXAud21sJywKICAgICAgICAnd21sYycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC53YXAud21sYycsCiAgICAgICAgJ3dtbHMnID0+ICd0ZXh0L3ZuZC53YXAud21sc2NyaXB0JywKICAgICAgICAnd21sc2MnID0+ICdhcHBsaWNhdGlvbi92bmQud2FwLndtbHNjcmlwdGMnLAogICAgICAgICd3bXYnID0+ICd2aWRlby94LW1zLXdtdicsCiAgICAgICAgJ3dteCcgPT4gJ3ZpZGVvL3gtbXMtd214JywKICAgICAgICAnd216JyA9PiAnYXBwbGljYXRpb24veC1tcy13bXonLAogICAgICAgICd3b2ZmJyA9PiAnYXBwbGljYXRpb24veC1mb250LXdvZmYnLAogICAgICAgICd3cGQnID0+ICdhcHBsaWNhdGlvbi92bmQud29yZHBlcmZlY3QnLAogICAgICAgICd3cGwnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtd3BsJywKICAgICAgICAnd3BzJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXdvcmtzJywKICAgICAgICAnd3FkJyA9PiAnYXBwbGljYXRpb24vdm5kLndxZCcsCiAgICAgICAgJ3dyaScgPT4gJ2FwcGxpY2F0aW9uL3gtbXN3cml0ZScsCiAgICAgICAgJ3dybCcgPT4gJ21vZGVsL3ZybWwnLAogICAgICAgICd3c2RsJyA9PiAnYXBwbGljYXRpb24vd3NkbCt4bWwnLAogICAgICAgICd3c3BvbGljeScgPT4gJ2FwcGxpY2F0aW9uL3dzcG9saWN5K3htbCcsCiAgICAgICAgJ3d0YicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC53ZWJ0dXJibycsCiAgICAgICAgJ3d2eCcgPT4gJ3ZpZGVvL3gtbXMtd3Z4JywKICAgICAgICAneDMyJyA9PiAnYXBwbGljYXRpb24veC1hdXRob3J3YXJlLWJpbicsCiAgICAgICAgJ3gzZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5oem4tM2QtY3Jvc3N3b3JkJywKICAgICAgICAneGFwJyA9PiAnYXBwbGljYXRpb24veC1zaWx2ZXJsaWdodC1hcHAnLAogICAgICAgICd4YXInID0+ICdhcHBsaWNhdGlvbi92bmQueGFyYScsCiAgICAgICAgJ3hiYXAnID0+ICdhcHBsaWNhdGlvbi94LW1zLXhiYXAnLAogICAgICAgICd4YmQnID0+ICdhcHBsaWNhdGlvbi92bmQuZnVqaXhlcm94LmRvY3V3b3Jrcy5iaW5kZXInLAogICAgICAgICd4Ym0nID0+ICdpbWFnZS94LXhiaXRtYXAnLAogICAgICAgICd4ZGYnID0+ICdhcHBsaWNhdGlvbi94Y2FwLWRpZmYreG1sJywKICAgICAgICAneGRtJyA9PiAnYXBwbGljYXRpb24vdm5kLnN5bmNtbC5kbSt4bWwnLAogICAgICAgICd4ZHAnID0+ICdhcHBsaWNhdGlvbi92bmQuYWRvYmUueGRwK3htbCcsCiAgICAgICAgJ3hkc3NjJyA9PiAnYXBwbGljYXRpb24vZHNzYyt4bWwnLAogICAgICAgICd4ZHcnID0+ICdhcHBsaWNhdGlvbi92bmQuZnVqaXhlcm94LmRvY3V3b3JrcycsCiAgICAgICAgJ3hlbmMnID0+ICdhcHBsaWNhdGlvbi94ZW5jK3htbCcsCiAgICAgICAgJ3hlcicgPT4gJ2FwcGxpY2F0aW9uL3BhdGNoLW9wcy1lcnJvcit4bWwnLAogICAgICAgICd4ZmRmJyA9PiAnYXBwbGljYXRpb24vdm5kLmFkb2JlLnhmZGYnLAogICAgICAgICd4ZmRsJyA9PiAnYXBwbGljYXRpb24vdm5kLnhmZGwnLAogICAgICAgICd4aHQnID0+ICdhcHBsaWNhdGlvbi94aHRtbCt4bWwnLAogICAgICAgICd4aHRtbCcgPT4gJ2FwcGxpY2F0aW9uL3hodG1sK3htbCcsCiAgICAgICAgJ3hodm1sJyA9PiAnYXBwbGljYXRpb24veHYreG1sJywKICAgICAgICAneGlmJyA9PiAnaW1hZ2Uvdm5kLnhpZmYnLAogICAgICAgICd4bGEnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLAogICAgICAgICd4bGFtJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmFkZGluLm1hY3JvZW5hYmxlZC4xMicsCiAgICAgICAgJ3hsYycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsCiAgICAgICAgJ3hsbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsCiAgICAgICAgJ3hscycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsCiAgICAgICAgJ3hsc2InID0+ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2hlZXQuYmluYXJ5Lm1hY3JvZW5hYmxlZC4xMicsCiAgICAgICAgJ3hsc20nID0+ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2hlZXQubWFjcm9lbmFibGVkLjEyJywKICAgICAgICAneGxzeCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JywKICAgICAgICAneGx0JyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJywKICAgICAgICAneGx0bScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC50ZW1wbGF0ZS5tYWNyb2VuYWJsZWQuMTInLAogICAgICAgICd4bHR4JyA9PiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwudGVtcGxhdGUnLAogICAgICAgICd4bHcnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLAogICAgICAgICd4bWwnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICd4bycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vbHBjLXN1Z2FyJywKICAgICAgICAneG9wJyA9PiAnYXBwbGljYXRpb24veG9wK3htbCcsCiAgICAgICAgJ3hwaScgPT4gJ2FwcGxpY2F0aW9uL3gteHBpbnN0YWxsJywKICAgICAgICAneHBtJyA9PiAnaW1hZ2UveC14cGl4bWFwJywKICAgICAgICAneHByJyA9PiAnYXBwbGljYXRpb24vdm5kLmlzLXhwcicsCiAgICAgICAgJ3hwcycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy14cHNkb2N1bWVudCcsCiAgICAgICAgJ3hwdycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5pbnRlcmNvbi5mb3JtbmV0JywKICAgICAgICAneHB4JyA9PiAnYXBwbGljYXRpb24vdm5kLmludGVyY29uLmZvcm1uZXQnLAogICAgICAgICd4c2wnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICd4c2x0JyA9PiAnYXBwbGljYXRpb24veHNsdCt4bWwnLAogICAgICAgICd4c20nID0+ICdhcHBsaWNhdGlvbi92bmQuc3luY21sK3htbCcsCiAgICAgICAgJ3hzcGYnID0+ICdhcHBsaWNhdGlvbi94c3BmK3htbCcsCiAgICAgICAgJ3h1bCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tb3ppbGxhLnh1bCt4bWwnLAogICAgICAgICd4dm0nID0+ICdhcHBsaWNhdGlvbi94dit4bWwnLAogICAgICAgICd4dm1sJyA9PiAnYXBwbGljYXRpb24veHYreG1sJywKICAgICAgICAneHdkJyA9PiAnaW1hZ2UveC14d2luZG93ZHVtcCcsCiAgICAgICAgJ3h5eicgPT4gJ2NoZW1pY2FsL3gteHl6JywKICAgICAgICAneWFtbCcgPT4gJ3RleHQveWFtbCcsCiAgICAgICAgJ3lhbmcnID0+ICdhcHBsaWNhdGlvbi95YW5nJywKICAgICAgICAneWluJyA9PiAnYXBwbGljYXRpb24veWluK3htbCcsCiAgICAgICAgJ3ltbCcgPT4gJ3RleHQveWFtbCcsCiAgICAgICAgJ3pheicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC56emF6ei5kZWNrK3htbCcsCiAgICAgICAgJ3ppcCcgPT4gJ2FwcGxpY2F0aW9uL3ppcCcsCiAgICAgICAgJ3ppcicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC56dWwnLAogICAgICAgICd6aXJ6JyA9PiAnYXBwbGljYXRpb24vdm5kLnp1bCcsCiAgICAgICAgJ3ptbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5oYW5kaGVsZC1lbnRlcnRhaW5tZW50K3htbCcKICAgICk7CgogICAgLyoqCiAgICAgKiBHZXQgYSBzaW5nbGV0b24gaW5zdGFuY2Ugb2YgdGhlIGNsYXNzCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0SW5zdGFuY2UoKQogICAgewogICAgICAgIGlmICghc2VsZjo6JGluc3RhbmNlKSB7CiAgICAgICAgICAgIHNlbGY6OiRpbnN0YW5jZSA9IG5ldyBzZWxmKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gc2VsZjo6JGluc3RhbmNlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGEgbWltZXR5cGUgdmFsdWUgZnJvbSBhIGZpbGUgZXh0ZW5zaW9uCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZXh0ZW5zaW9uIEZpbGUgZXh0ZW5zaW9uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICoKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGZyb21FeHRlbnNpb24oJGV4dGVuc2lvbikKICAgIHsKICAgICAgICAkZXh0ZW5zaW9uID0gc3RydG9sb3dlcigkZXh0ZW5zaW9uKTsKCiAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5taW1ldHlwZXNbJGV4dGVuc2lvbl0pID8gJHRoaXMtPm1pbWV0eXBlc1skZXh0ZW5zaW9uXSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYSBtaW1ldHlwZSBmcm9tIGEgZmlsZW5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmaWxlbmFtZSBGaWxlbmFtZSB0byBnZW5lcmF0ZSBhIG1pbWV0eXBlIGZyb20KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBmcm9tRmlsZW5hbWUoJGZpbGVuYW1lKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZnJvbUV4dGVuc2lvbihwYXRoaW5mbygkZmlsZW5hbWUsIFBBVEhJTkZPX0VYVEVOU0lPTikpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/CommaAggregator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxRdWVyeUFnZ3JlZ2F0b3I7Cgp1c2UgR3V6emxlXEh0dHBcUXVlcnlTdHJpbmc7CgovKioKICogQWdncmVnYXRlcyBuZXN0ZWQgcXVlcnkgc3RyaW5nIHZhcmlhYmxlcyB1c2luZyBjb21tYXMKICovCmNsYXNzIENvbW1hQWdncmVnYXRvciBpbXBsZW1lbnRzIFF1ZXJ5QWdncmVnYXRvckludGVyZmFjZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gYWdncmVnYXRlKCRrZXksICR2YWx1ZSwgUXVlcnlTdHJpbmcgJHF1ZXJ5KQogICAgewogICAgICAgIGlmICgkcXVlcnktPmlzVXJsRW5jb2RpbmcoKSkgewogICAgICAgICAgICByZXR1cm4gYXJyYXkoJHF1ZXJ5LT5lbmNvZGVWYWx1ZSgka2V5KSA9PiBpbXBsb2RlKCcsJywgYXJyYXlfbWFwKGFycmF5KCRxdWVyeSwgJ2VuY29kZVZhbHVlJyksICR2YWx1ZSkpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gYXJyYXkoJGtleSA9PiBpbXBsb2RlKCcsJywgJHZhbHVlKSk7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/DuplicateAggregator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxRdWVyeUFnZ3JlZ2F0b3I7Cgp1c2UgR3V6emxlXEh0dHBcUXVlcnlTdHJpbmc7CgovKioKICogRG9lcyBub3QgYWdncmVnYXRlIG5lc3RlZCBxdWVyeSBzdHJpbmcgdmFsdWVzIGFuZCBhbGxvd3MgZHVwbGljYXRlcyBpbiB0aGUgcmVzdWx0aW5nIGFycmF5CiAqCiAqIEV4YW1wbGU6IGh0dHA6Ly90ZXN0LmNvbT9xPTEmcT0yCiAqLwpjbGFzcyBEdXBsaWNhdGVBZ2dyZWdhdG9yIGltcGxlbWVudHMgUXVlcnlBZ2dyZWdhdG9ySW50ZXJmYWNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBhZ2dyZWdhdGUoJGtleSwgJHZhbHVlLCBRdWVyeVN0cmluZyAkcXVlcnkpCiAgICB7CiAgICAgICAgaWYgKCRxdWVyeS0+aXNVcmxFbmNvZGluZygpKSB7CiAgICAgICAgICAgIHJldHVybiBhcnJheSgkcXVlcnktPmVuY29kZVZhbHVlKCRrZXkpID0+IGFycmF5X21hcChhcnJheSgkcXVlcnksICdlbmNvZGVWYWx1ZScpLCAkdmFsdWUpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gYXJyYXkoJGtleSA9PiAkdmFsdWUpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/PhpAggregator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxRdWVyeUFnZ3JlZ2F0b3I7Cgp1c2UgR3V6emxlXEh0dHBcUXVlcnlTdHJpbmc7CgovKioKICogQWdncmVnYXRlcyBuZXN0ZWQgcXVlcnkgc3RyaW5nIHZhcmlhYmxlcyB1c2luZyBQSFAgc3R5bGUgW10KICovCmNsYXNzIFBocEFnZ3JlZ2F0b3IgaW1wbGVtZW50cyBRdWVyeUFnZ3JlZ2F0b3JJbnRlcmZhY2UKewogICAgcHVibGljIGZ1bmN0aW9uIGFnZ3JlZ2F0ZSgka2V5LCAkdmFsdWUsIFF1ZXJ5U3RyaW5nICRxdWVyeSkKICAgIHsKICAgICAgICAkcmV0ID0gYXJyYXkoKTsKCiAgICAgICAgZm9yZWFjaCAoJHZhbHVlIGFzICRrID0+ICR2KSB7CiAgICAgICAgICAgICRrID0gInska2V5fVt7JGt9XSI7CiAgICAgICAgICAgIGlmIChpc19hcnJheSgkdikpIHsKICAgICAgICAgICAgICAgICRyZXQgPSBhcnJheV9tZXJnZSgkcmV0LCBzZWxmOjphZ2dyZWdhdGUoJGssICR2LCAkcXVlcnkpKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRyZXRbJHF1ZXJ5LT5lbmNvZGVWYWx1ZSgkayldID0gJHF1ZXJ5LT5lbmNvZGVWYWx1ZSgkdik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmV0OwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/QueryAggregatorInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cFxRdWVyeUFnZ3JlZ2F0b3I7Cgp1c2UgR3V6emxlXEh0dHBcUXVlcnlTdHJpbmc7CgovKioKICogSW50ZXJmYWNlIHVzZWQgZm9yIGFnZ3JlZ2F0aW5nIG5lc3RlZCBxdWVyeSBzdHJpbmcgdmFyaWFibGVzIGludG8gYSBmbGF0dGVuZWQgYXJyYXkgb2Yga2V5IHZhbHVlIHBhaXJzCiAqLwppbnRlcmZhY2UgUXVlcnlBZ2dyZWdhdG9ySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQWdncmVnYXRlIG11bHRpLXZhbHVlZCBwYXJhbWV0ZXJzIGludG8gYSBmbGF0dGVuZWQgYXNzb2NpYXRpdmUgYXJyYXkKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgJGtleSAgIFRoZSBuYW1lIG9mIHRoZSBxdWVyeSBzdHJpbmcgcGFyYW1ldGVyCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgJHZhbHVlIFRoZSB2YWx1ZXMgb2YgdGhlIHBhcmFtZXRlcgogICAgICogQHBhcmFtIFF1ZXJ5U3RyaW5nICRxdWVyeSBUaGUgcXVlcnkgc3RyaW5nIHRoYXQgaXMgYmVpbmcgYWdncmVnYXRlZAogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkgUmV0dXJucyBhbiBhcnJheSBvZiB0aGUgY29tYmluZWQgdmFsdWVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZ2dyZWdhdGUoJGtleSwgJHZhbHVlLCBRdWVyeVN0cmluZyAkcXVlcnkpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/QueryString.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cDsKCnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcSHR0cFxRdWVyeUFnZ3JlZ2F0b3JcRHVwbGljYXRlQWdncmVnYXRvcjsKdXNlIEd1enpsZVxIdHRwXFF1ZXJ5QWdncmVnYXRvclxRdWVyeUFnZ3JlZ2F0b3JJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxRdWVyeUFnZ3JlZ2F0b3JcUGhwQWdncmVnYXRvcjsKCi8qKgogKiBRdWVyeSBzdHJpbmcgb2JqZWN0IHRvIGhhbmRsZSBtYW5hZ2luZyBxdWVyeSBzdHJpbmcgcGFyYW1ldGVycyBhbmQgYWdncmVnYXRpbmcgdGhvc2UgcGFyYW1ldGVycyB0b2dldGhlciBhcyBhIHN0cmluZy4KICovCmNsYXNzIFF1ZXJ5U3RyaW5nIGV4dGVuZHMgQ29sbGVjdGlvbgp7CiAgICAvKiogQHZhciBzdHJpbmcgVXNlZCB0byBVUkwgZW5jb2RlIHdpdGggcmF3dXJsZW5jb2RlICovCiAgICBjb25zdCBSRkNfMzk4NiA9ICdSRkMgMzk4Nic7CgogICAgLyoqIEB2YXIgc3RyaW5nIFVzZWQgdG8gZW5jb2RlIHdpdGggdXJsZW5jb2RlICovCiAgICBjb25zdCBGT1JNX1VSTEVOQ09ERUQgPSAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJzsKCiAgICAvKiogQHZhciBzdHJpbmcgQ29uc3RhbnQgdXNlZCB0byBjcmVhdGUgYmxhbmsgcXVlcnkgc3RyaW5nIHZhbHVlcyAoZS5nLiA/Zm9vKSAqLwogICAgY29uc3QgQkxBTksgPSAiX2d1enpsZV9ibGFua18iOwoKICAgIC8qKiBAdmFyIHN0cmluZyBUaGUgcXVlcnkgc3RyaW5nIGZpZWxkIHNlcGFyYXRvciAoZS5nLiAnJicpICovCiAgICBwcm90ZWN0ZWQgJGZpZWxkU2VwYXJhdG9yID0gJyYnOwoKICAgIC8qKiBAdmFyIHN0cmluZyBUaGUgcXVlcnkgc3RyaW5nIHZhbHVlIHNlcGFyYXRvciAoZS5nLiAnPScpICovCiAgICBwcm90ZWN0ZWQgJHZhbHVlU2VwYXJhdG9yID0gJz0nOwoKICAgIC8qKiBAdmFyIGJvb2wgVVJMIGVuY29kZSBmaWVsZHMgYW5kIHZhbHVlcyAqLwogICAgcHJvdGVjdGVkICR1cmxFbmNvZGUgPSAnUkZDIDM5ODYnOwoKICAgIC8qKiBAdmFyIFF1ZXJ5QWdncmVnYXRvckludGVyZmFjZSAqLwogICAgcHJvdGVjdGVkICRhZ2dyZWdhdG9yOwoKICAgIC8qKiBAdmFyIGFycmF5IENhY2hlZCBQSFAgYWdncmVnYXRvciAqLwogICAgcHJpdmF0ZSBzdGF0aWMgJGRlZmF1bHRBZ2dyZWdhdG9yID0gbnVsbDsKCiAgICAvKioKICAgICAqIFBhcnNlIGEgcXVlcnkgc3RyaW5nIGludG8gYSBRdWVyeVN0cmluZyBvYmplY3QKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRxdWVyeSBRdWVyeSBzdHJpbmcgdG8gcGFyc2UKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmcm9tU3RyaW5nKCRxdWVyeSkKICAgIHsKICAgICAgICAkcSA9IG5ldyBzdGF0aWMoKTsKICAgICAgICBpZiAoJHF1ZXJ5ID09PSAnJykgewogICAgICAgICAgICByZXR1cm4gJHE7CiAgICAgICAgfQoKICAgICAgICAkZm91bmREdXBsaWNhdGVzID0gJGZvdW5kUGhwU3R5bGUgPSBmYWxzZTsKCiAgICAgICAgZm9yZWFjaCAoZXhwbG9kZSgnJicsICRxdWVyeSkgYXMgJGt2cCkgewogICAgICAgICAgICAkcGFydHMgPSBleHBsb2RlKCc9JywgJGt2cCwgMik7CiAgICAgICAgICAgICRrZXkgPSByYXd1cmxkZWNvZGUoJHBhcnRzWzBdKTsKICAgICAgICAgICAgaWYgKCRwYXJhbUlzUGhwU3R5bGVBcnJheSA9IHN1YnN0cigka2V5LCAtMikgPT0gJ1tdJykgewogICAgICAgICAgICAgICAgJGZvdW5kUGhwU3R5bGUgPSB0cnVlOwogICAgICAgICAgICAgICAgJGtleSA9IHN1YnN0cigka2V5LCAwLCAtMik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGlzc2V0KCRwYXJ0c1sxXSkpIHsKICAgICAgICAgICAgICAgICR2YWx1ZSA9IHJhd3VybGRlY29kZShzdHJfcmVwbGFjZSgnKycsICclMjAnLCAkcGFydHNbMV0pKTsKICAgICAgICAgICAgICAgIGlmIChpc3NldCgkcVska2V5XSkpIHsKICAgICAgICAgICAgICAgICAgICAkcS0+YWRkKCRrZXksICR2YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgJGZvdW5kRHVwbGljYXRlcyA9IHRydWU7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJHBhcmFtSXNQaHBTdHlsZUFycmF5KSB7CiAgICAgICAgICAgICAgICAgICAgJHFbJGtleV0gPSBhcnJheSgkdmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkcVska2V5XSA9ICR2YWx1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRxLT5hZGQoJGtleSwgc2VsZjo6QkxBTkspOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBVc2UgdGhlIGR1cGxpY2F0ZSBhZ2dyZWdhdG9yIGlmIGR1cGxpY2F0ZXMgd2VyZSBmb3VuZCBhbmQgbm90IHVzaW5nIFBIUCBzdHlsZSBhcnJheXMKICAgICAgICBpZiAoJGZvdW5kRHVwbGljYXRlcyAmJiAhJGZvdW5kUGhwU3R5bGUpIHsKICAgICAgICAgICAgJHEtPnNldEFnZ3JlZ2F0b3IobmV3IER1cGxpY2F0ZUFnZ3JlZ2F0b3IoKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHE7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb252ZXJ0IHRoZSBxdWVyeSBzdHJpbmcgcGFyYW1ldGVycyB0byBhIHF1ZXJ5IHN0cmluZyBzdHJpbmcKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX190b1N0cmluZygpCiAgICB7CiAgICAgICAgaWYgKCEkdGhpcy0+ZGF0YSkgewogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICAkcXVlcnlTdHJpbmcgPSAnJzsKCiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnByZXBhcmVEYXRhKCR0aGlzLT5kYXRhKSBhcyAkbmFtZSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgZm9yZWFjaCAoKGFycmF5KSAkdmFsdWUgYXMgJHYpIHsKICAgICAgICAgICAgICAgIGlmICgkcXVlcnlTdHJpbmcpIHsKICAgICAgICAgICAgICAgICAgICAkcXVlcnlTdHJpbmcgLj0gJHRoaXMtPmZpZWxkU2VwYXJhdG9yOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJHF1ZXJ5U3RyaW5nIC49ICRuYW1lOwogICAgICAgICAgICAgICAgaWYgKCR2ICE9PSBzZWxmOjpCTEFOSykgewogICAgICAgICAgICAgICAgICAgICRxdWVyeVN0cmluZyAuPSAkdGhpcy0+dmFsdWVTZXBhcmF0b3IgLiAkdjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRxdWVyeVN0cmluZzsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcXVlcnkgc3RyaW5nIGZpZWxkIHNlcGFyYXRvcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGaWVsZFNlcGFyYXRvcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5maWVsZFNlcGFyYXRvcjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcXVlcnkgc3RyaW5nIHZhbHVlIHNlcGFyYXRvcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRWYWx1ZVNlcGFyYXRvcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT52YWx1ZVNlcGFyYXRvcjsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHR5cGUgb2YgVVJMIGVuY29kaW5nIHVzZWQgYnkgdGhlIHF1ZXJ5IHN0cmluZwogICAgICoKICAgICAqIE9uZSBvZjogZmFsc2UsICJSRkMgMzk4NiIsIG9yICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiCiAgICAgKgogICAgICogQHJldHVybiBib29sfHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VXJsRW5jb2RpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+dXJsRW5jb2RlOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0cnVlIG9yIGZhbHNlIGlmIHVzaW5nIFVSTCBlbmNvZGluZwogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNVcmxFbmNvZGluZygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT51cmxFbmNvZGUgIT09IGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogUHJvdmlkZSBhIGZ1bmN0aW9uIGZvciBjb21iaW5pbmcgbXVsdGktdmFsdWVkIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzIGludG8gYSBzaW5nbGUgb3IgbXVsdGlwbGUgZmllbGRzCiAgICAgKgogICAgICogQHBhcmFtIG51bGx8UXVlcnlBZ2dyZWdhdG9ySW50ZXJmYWNlICRhZ2dyZWdhdG9yIFBhc3MgaW4gYSBRdWVyeUFnZ3JlZ2F0b3JJbnRlcmZhY2Ugb2JqZWN0IHRvIGhhbmRsZSBjb252ZXJ0aW5nCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVlcGx5IG5lc3RlZCBxdWVyeSBzdHJpbmcgdmFyaWFibGVzIGludG8gYSBmbGF0dGVuZWQgYXJyYXkuCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzcyBudWxsIHRvIHVzZSB0aGUgZGVmYXVsdCBQSFAgc3R5bGUgYWdncmVnYXRvci4gRm9yIGxlZ2FjeQogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYXNvbnMsIHRoaXMgZnVuY3Rpb24gYWNjZXB0cyBhIGNhbGxhYmxlIHRoYXQgbXVzdCBhY2NlcHRzIGEKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAka2V5LCAkdmFsdWUsIGFuZCBxdWVyeSBvYmplY3QuCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBzZWUgXEd1enpsZVxIdHRwXFF1ZXJ5U3RyaW5nOjphZ2dyZWdhdGVVc2luZ0NvbW1hKCkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEFnZ3JlZ2F0b3IoUXVlcnlBZ2dyZWdhdG9ySW50ZXJmYWNlICRhZ2dyZWdhdG9yID0gbnVsbCkKICAgIHsKICAgICAgICAvLyBVc2UgdGhlIGRlZmF1bHQgYWdncmVnYXRvciBpZiBub25lIHdhcyBzZXQKICAgICAgICBpZiAoISRhZ2dyZWdhdG9yKSB7CiAgICAgICAgICAgIGlmICghc2VsZjo6JGRlZmF1bHRBZ2dyZWdhdG9yKSB7CiAgICAgICAgICAgICAgICBzZWxmOjokZGVmYXVsdEFnZ3JlZ2F0b3IgPSBuZXcgUGhwQWdncmVnYXRvcigpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRhZ2dyZWdhdG9yID0gc2VsZjo6JGRlZmF1bHRBZ2dyZWdhdG9yOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmFnZ3JlZ2F0b3IgPSAkYWdncmVnYXRvcjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHdoZXRoZXIgb3Igbm90IGZpZWxkIG5hbWVzIGFuZCB2YWx1ZXMgc2hvdWxkIGJlIHJhd3VybGVuY29kZWQKICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbHxzdHJpbmcgJGVuY29kZSBTZXQgdG8gVFJVRSB0byB1c2UgUkZDIDM5ODYgZW5jb2RpbmcgKHJhd3VybGVuY29kZSksIGZhbHNlIHRvIGRpc2FibGUgZW5jb2RpbmcsIG9yCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtX3VybGVuY29kaW5nIHRvIHVzZSBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQgZW5jb2RpbmcgKHVybGVuY29kZSkKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlVXJsRW5jb2RpbmcoJGVuY29kZSkKICAgIHsKICAgICAgICAkdGhpcy0+dXJsRW5jb2RlID0gKCRlbmNvZGUgPT09IHRydWUpID8gc2VsZjo6UkZDXzM5ODYgOiAkZW5jb2RlOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHF1ZXJ5IHN0cmluZyBzZXBhcmF0b3IKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzZXBhcmF0b3IgVGhlIHF1ZXJ5IHN0cmluZyBzZXBhcmF0b3IgdGhhdCB3aWxsIHNlcGFyYXRlIGZpZWxkcwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RmllbGRTZXBhcmF0b3IoJHNlcGFyYXRvcikKICAgIHsKICAgICAgICAkdGhpcy0+ZmllbGRTZXBhcmF0b3IgPSAkc2VwYXJhdG9yOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHF1ZXJ5IHN0cmluZyB2YWx1ZSBzZXBhcmF0b3IKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzZXBhcmF0b3IgVGhlIHF1ZXJ5IHN0cmluZyBzZXBhcmF0b3IgdGhhdCB3aWxsIHNlcGFyYXRlIHZhbHVlcyBmcm9tIGZpZWxkcwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VmFsdWVTZXBhcmF0b3IoJHNlcGFyYXRvcikKICAgIHsKICAgICAgICAkdGhpcy0+dmFsdWVTZXBhcmF0b3IgPSAkc2VwYXJhdG9yOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIGFycmF5IG9mIHVybCBlbmNvZGVkIGZpZWxkIG5hbWVzIGFuZCB2YWx1ZXMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1cmxFbmNvZGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cHJlcGFyZURhdGEoJHRoaXMtPmRhdGEpOwogICAgfQoKICAgIC8qKgogICAgICogVVJMIGVuY29kZXMgYSB2YWx1ZSBiYXNlZCBvbiB0aGUgdXJsIGVuY29kaW5nIHR5cGUgb2YgdGhlIHF1ZXJ5IHN0cmluZyBvYmplY3QKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR2YWx1ZSBWYWx1ZSB0byBlbmNvZGUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZW5jb2RlVmFsdWUoJHZhbHVlKQogICAgewogICAgICAgIGlmICgkdGhpcy0+dXJsRW5jb2RlID09IHNlbGY6OlJGQ18zOTg2KSB7CiAgICAgICAgICAgIHJldHVybiByYXd1cmxlbmNvZGUoJHZhbHVlKTsKICAgICAgICB9IGVsc2VpZiAoJHRoaXMtPnVybEVuY29kZSA9PSBzZWxmOjpGT1JNX1VSTEVOQ09ERUQpIHsKICAgICAgICAgICAgcmV0dXJuIHVybGVuY29kZSgkdmFsdWUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiAoc3RyaW5nKSAkdmFsdWU7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogVXJsIGVuY29kZSBwYXJhbWV0ZXIgZGF0YSBhbmQgY29udmVydCBuZXN0ZWQgcXVlcnkgc3RyaW5ncyBpbnRvIGEgZmxhdHRlbmVkIGhhc2guCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRkYXRhIFRoZSBkYXRhIHRvIGVuY29kZQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkgUmV0dXJucyBhbiBhcnJheSBvZiBlbmNvZGVkIHZhbHVlcyBhbmQga2V5cwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJlcGFyZURhdGEoYXJyYXkgJGRhdGEpCiAgICB7CiAgICAgICAgLy8gSWYgbm8gYWdncmVnYXRvciBpcyBwcmVzZW50IHRoZW4gc2V0IHRoZSBkZWZhdWx0CiAgICAgICAgaWYgKCEkdGhpcy0+YWdncmVnYXRvcikgewogICAgICAgICAgICAkdGhpcy0+c2V0QWdncmVnYXRvcihudWxsKTsKICAgICAgICB9CgogICAgICAgICR0ZW1wID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkZGF0YSBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICBpZiAoaXNfYXJyYXkoJHZhbHVlKSkgewogICAgICAgICAgICAgICAgJHRlbXAgPSBhcnJheV9tZXJnZSgkdGVtcCwgJHRoaXMtPmFnZ3JlZ2F0b3ItPmFnZ3JlZ2F0ZSgka2V5LCAkdmFsdWUsICR0aGlzKSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkdGVtcFskdGhpcy0+ZW5jb2RlVmFsdWUoJGtleSldID0gJHRoaXMtPmVuY29kZVZhbHVlKCR2YWx1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGVtcDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/ReadLimitEntityBody.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cDsKCi8qKgogKiBFbnRpdHlCb2R5IGRlY29yYXRvciB1c2VkIHRvIHJldHVybiBvbmx5IGEgc3Vic2V0IG9mIGFuIGVudGl0eSBib2R5CiAqLwpjbGFzcyBSZWFkTGltaXRFbnRpdHlCb2R5IGV4dGVuZHMgQWJzdHJhY3RFbnRpdHlCb2R5RGVjb3JhdG9yCnsKICAgIC8qKiBAdmFyIGludCBMaW1pdCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgY2FuIGJlIHJlYWQgKi8KICAgIHByb3RlY3RlZCAkbGltaXQ7CgogICAgLyoqIEB2YXIgaW50IE9mZnNldCB0byBzdGFydCByZWFkaW5nIGZyb20gKi8KICAgIHByb3RlY3RlZCAkb2Zmc2V0OwoKICAgIC8qKgogICAgICogQHBhcmFtIEVudGl0eUJvZHlJbnRlcmZhY2UgJGJvZHkgICBCb2R5IHRvIHdyYXAKICAgICAqIEBwYXJhbSBpbnQgICAgICAgICAgICAgICAgICRsaW1pdCAgVG90YWwgbnVtYmVyIG9mIGJ5dGVzIHRvIGFsbG93IHRvIGJlIHJlYWQgZnJvbSB0aGUgc3RyZWFtCiAgICAgKiBAcGFyYW0gaW50ICAgICAgICAgICAgICAgICAkb2Zmc2V0IFBvc2l0aW9uIHRvIHNlZWsgdG8gYmVmb3JlIHJlYWRpbmcgKG9ubHkgd29ya3Mgb24gc2Vla2FibGUgc3RyZWFtcykKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEVudGl0eUJvZHlJbnRlcmZhY2UgJGJvZHksICRsaW1pdCwgJG9mZnNldCA9IDApCiAgICB7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkYm9keSk7CiAgICAgICAgJHRoaXMtPnNldExpbWl0KCRsaW1pdCktPnNldE9mZnNldCgkb2Zmc2V0KTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgb25seSBhIHN1YnNldCBvZiB0aGUgZGVjb3JhdGVkIGVudGl0eSBib2R5IHdoZW4gY2FzdCBhcyBhIHN0cmluZwogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX190b1N0cmluZygpCiAgICB7CiAgICAgICAgcmV0dXJuIHN1YnN0cigoc3RyaW5nKSAkdGhpcy0+Ym9keSwgJHRoaXMtPm9mZnNldCwgJHRoaXMtPmxpbWl0KSA/OiAnJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNDb25zdW1lZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICgoJHRoaXMtPm9mZnNldCArICR0aGlzLT5saW1pdCkgLSAkdGhpcy0+Ym9keS0+ZnRlbGwoKSkgPD0gMDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIENvbnRlbnQtTGVuZ3RoIG9mIHRoZSBsaW1pdGVkIHN1YnNldCBvZiBkYXRhCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb250ZW50TGVuZ3RoKCkKICAgIHsKICAgICAgICAkbGVuZ3RoID0gJHRoaXMtPmJvZHktPmdldENvbnRlbnRMZW5ndGgoKTsKCiAgICAgICAgcmV0dXJuICRsZW5ndGggPT09IGZhbHNlCiAgICAgICAgICAgID8gJHRoaXMtPmxpbWl0CiAgICAgICAgICAgIDogbWluKCR0aGlzLT5saW1pdCwgbWluKCRsZW5ndGgsICR0aGlzLT5vZmZzZXQgKyAkdGhpcy0+bGltaXQpIC0gJHRoaXMtPm9mZnNldCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBbGxvdyBmb3IgYSBib3VuZGVkIHNlZWsgb24gdGhlIHJlYWQgbGltaXRlZCBlbnRpdHkgYm9keQogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2Vlaygkb2Zmc2V0LCAkd2hlbmNlID0gU0VFS19TRVQpCiAgICB7CiAgICAgICAgcmV0dXJuICR3aGVuY2UgPT09IFNFRUtfU0VUCiAgICAgICAgICAgID8gJHRoaXMtPmJvZHktPnNlZWsobWF4KCR0aGlzLT5vZmZzZXQsIG1pbigkdGhpcy0+b2Zmc2V0ICsgJHRoaXMtPmxpbWl0LCAkb2Zmc2V0KSkpCiAgICAgICAgICAgIDogZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIG9mZnNldCB0byBzdGFydCBsaW1pdGluZyBmcm9tCiAgICAgKgogICAgICogQHBhcmFtIGludCAkb2Zmc2V0IE9mZnNldCB0byBzZWVrIHRvIGFuZCBiZWdpbiBieXRlIGxpbWl0aW5nIGZyb20KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldE9mZnNldCgkb2Zmc2V0KQogICAgewogICAgICAgICR0aGlzLT5ib2R5LT5zZWVrKCRvZmZzZXQpOwogICAgICAgICR0aGlzLT5vZmZzZXQgPSAkb2Zmc2V0OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGxpbWl0IG9mIGJ5dGVzIHRoYXQgdGhlIGRlY29yYXRvciBhbGxvd3MgdG8gYmUgcmVhZCBmcm9tIHRoZSBzdHJlYW0KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCBUb3RhbCBudW1iZXIgb2YgYnl0ZXMgdG8gYWxsb3cgdG8gYmUgcmVhZCBmcm9tIHRoZSBzdHJlYW0KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldExpbWl0KCRsaW1pdCkKICAgIHsKICAgICAgICAkdGhpcy0+bGltaXQgPSAkbGltaXQ7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVhZCgkbGVuZ3RoKQogICAgewogICAgICAgIC8vIENoZWNrIGlmIHRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIGxlc3MgdGhhbiB0aGUgdG90YWwgYWxsb3dlZCBieXRlcyArIG9yaWdpbmFsIG9mZnNldAogICAgICAgICRyZW1haW5pbmcgPSAoJHRoaXMtPm9mZnNldCArICR0aGlzLT5saW1pdCkgLSAkdGhpcy0+Ym9keS0+ZnRlbGwoKTsKICAgICAgICBpZiAoJHJlbWFpbmluZyA+IDApIHsKICAgICAgICAgICAgLy8gT25seSByZXR1cm4gdGhlIGFtb3VudCBvZiByZXF1ZXN0ZWQgZGF0YSwgZW5zdXJpbmcgdGhhdCB0aGUgYnl0ZSBsaW1pdCBpcyBub3QgZXhjZWVkZWQKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5ib2R5LT5yZWFkKG1pbigkcmVtYWluaW5nLCAkbGVuZ3RoKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/RedirectPlugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cDsKCnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEJhZFJlc3BvbnNlRXhjZXB0aW9uOwp1c2UgR3V6emxlXEh0dHBcVXJsOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEZhY3Rvcnk7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxFeGNlcHRpb25cVG9vTWFueVJlZGlyZWN0c0V4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxDb3VsZE5vdFJld2luZFN0cmVhbUV4Y2VwdGlvbjsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CgovKioKICogUGx1Z2luIHRvIGltcGxlbWVudCBIVFRQIHJlZGlyZWN0cy4gQ2FuIHJlZGlyZWN0IGxpa2UgYSB3ZWIgYnJvd3NlciBvciB1c2luZyBzdHJpY3QgUkZDIDI2MTYgY29tcGxpYW5jZQogKi8KY2xhc3MgUmVkaXJlY3RQbHVnaW4gaW1wbGVtZW50cyBFdmVudFN1YnNjcmliZXJJbnRlcmZhY2UKewogICAgY29uc3QgUkVESVJFQ1RfQ09VTlQgPSAncmVkaXJlY3QuY291bnQnOwogICAgY29uc3QgTUFYX1JFRElSRUNUUyA9ICdyZWRpcmVjdC5tYXgnOwogICAgY29uc3QgU1RSSUNUX1JFRElSRUNUUyA9ICdyZWRpcmVjdC5zdHJpY3QnOwogICAgY29uc3QgUEFSRU5UX1JFUVVFU1QgPSAncmVkaXJlY3QucGFyZW50X3JlcXVlc3QnOwogICAgY29uc3QgRElTQUJMRSA9ICdyZWRpcmVjdC5kaXNhYmxlJzsKCiAgICAvKioKICAgICAqIEB2YXIgaW50IERlZmF1bHQgbnVtYmVyIG9mIHJlZGlyZWN0cyBhbGxvd2VkIHdoZW4gbm8gc2V0dGluZyBpcyBzdXBwbGllZCBieSBhIHJlcXVlc3QKICAgICAqLwogICAgcHJvdGVjdGVkICRkZWZhdWx0TWF4UmVkaXJlY3RzID0gNTsKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFN1YnNjcmliZWRFdmVudHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgJ3JlcXVlc3Quc2VudCcgICAgICAgID0+IGFycmF5KCdvblJlcXVlc3RTZW50JywgMTAwKSwKICAgICAgICAgICAgJ3JlcXVlc3QuY2xvbmUnICAgICAgID0+ICdjbGVhbnVwUmVxdWVzdCcsCiAgICAgICAgICAgICdyZXF1ZXN0LmJlZm9yZV9zZW5kJyA9PiAnY2xlYW51cFJlcXVlc3QnCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIENsZWFuIHVwIHRoZSBwYXJhbWV0ZXJzIG9mIGEgcmVxdWVzdCB3aGVuIGl0IGlzIGNsb25lZAogICAgICoKICAgICAqIEBwYXJhbSBFdmVudCAkZXZlbnQgRXZlbnQgZW1pdHRlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xlYW51cFJlcXVlc3QoRXZlbnQgJGV2ZW50KQogICAgewogICAgICAgICRwYXJhbXMgPSAkZXZlbnRbJ3JlcXVlc3QnXS0+Z2V0UGFyYW1zKCk7CiAgICAgICAgdW5zZXQoJHBhcmFtc1tzZWxmOjpSRURJUkVDVF9DT1VOVF0pOwogICAgICAgIHVuc2V0KCRwYXJhbXNbc2VsZjo6UEFSRU5UX1JFUVVFU1RdKTsKICAgIH0KCiAgICAvKioKICAgICAqIENhbGxlZCB3aGVuIGEgcmVxdWVzdCByZWNlaXZlcyBhIHJlZGlyZWN0IHJlc3BvbnNlCiAgICAgKgogICAgICogQHBhcmFtIEV2ZW50ICRldmVudCBFdmVudCBlbWl0dGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvblJlcXVlc3RTZW50KEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICAkcmVzcG9uc2UgPSAkZXZlbnRbJ3Jlc3BvbnNlJ107CiAgICAgICAgJHJlcXVlc3QgPSAkZXZlbnRbJ3JlcXVlc3QnXTsKCiAgICAgICAgLy8gT25seSBhY3Qgb24gcmVkaXJlY3QgcmVxdWVzdHMgd2l0aCBMb2NhdGlvbiBoZWFkZXJzCiAgICAgICAgaWYgKCEkcmVzcG9uc2UgfHwgJHJlcXVlc3QtPmdldFBhcmFtcygpLT5nZXQoc2VsZjo6RElTQUJMRSkpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgLy8gVHJhY2UgdGhlIG9yaWdpbmFsIHJlcXVlc3QgYmFzZWQgb24gcGFyYW1ldGVyIGhpc3RvcnkKICAgICAgICAkb3JpZ2luYWwgPSAkdGhpcy0+Z2V0T3JpZ2luYWxSZXF1ZXN0KCRyZXF1ZXN0KTsKCiAgICAgICAgLy8gVGVybWluYXRpbmcgY29uZGl0aW9uIHRvIHNldCB0aGUgZWZmZWN0aXZlIHJlc3BvbnNlIG9uIHRoZSBvcmlnaW5hbCByZXF1ZXN0CiAgICAgICAgaWYgKCEkcmVzcG9uc2UtPmlzUmVkaXJlY3QoKSB8fCAhJHJlc3BvbnNlLT5oYXNIZWFkZXIoJ0xvY2F0aW9uJykpIHsKICAgICAgICAgICAgaWYgKCRyZXF1ZXN0ICE9PSAkb3JpZ2luYWwpIHsKICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSB0ZXJtaW5hdGluZyByZWRpcmVjdCByZXNwb25zZSwgc28gc2V0IGl0IG9uIHRoZSBvcmlnaW5hbCByZXF1ZXN0CiAgICAgICAgICAgICAgICAkcmVzcG9uc2UtPmdldFBhcmFtcygpLT5zZXQoc2VsZjo6UkVESVJFQ1RfQ09VTlQsICRvcmlnaW5hbC0+Z2V0UGFyYW1zKCktPmdldChzZWxmOjpSRURJUkVDVF9DT1VOVCkpOwogICAgICAgICAgICAgICAgJG9yaWdpbmFsLT5zZXRSZXNwb25zZSgkcmVzcG9uc2UpOwogICAgICAgICAgICAgICAgJHJlc3BvbnNlLT5zZXRFZmZlY3RpdmVVcmwoJHJlcXVlc3QtPmdldFVybCgpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+c2VuZFJlZGlyZWN0UmVxdWVzdCgkb3JpZ2luYWwsICRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBvcmlnaW5hbCByZXF1ZXN0IHRoYXQgaW5pdGlhdGVkIGEgc2VyaWVzIG9mIHJlZGlyZWN0cwogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0IFJlcXVlc3QgdG8gZ2V0IHRoZSBvcmlnaW5hbCByZXF1ZXN0IGZyb20KICAgICAqCiAgICAgKiBAcmV0dXJuIFJlcXVlc3RJbnRlcmZhY2UKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldE9yaWdpbmFsUmVxdWVzdChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgICRvcmlnaW5hbCA9ICRyZXF1ZXN0OwogICAgICAgIC8vIFRoZSBudW1iZXIgb2YgcmVkaXJlY3RzIGlzIGhlbGQgb24gdGhlIG9yaWdpbmFsIHJlcXVlc3QsIHNvIGRldGVybWluZSB3aGljaCByZXF1ZXN0IHRoYXQgaXMKICAgICAgICB3aGlsZSAoJHBhcmVudCA9ICRvcmlnaW5hbC0+Z2V0UGFyYW1zKCktPmdldChzZWxmOjpQQVJFTlRfUkVRVUVTVCkpIHsKICAgICAgICAgICAgJG9yaWdpbmFsID0gJHBhcmVudDsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkb3JpZ2luYWw7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSByZWRpcmVjdCByZXF1ZXN0IGZvciBhIHNwZWNpZmljIHJlcXVlc3Qgb2JqZWN0CiAgICAgKgogICAgICogVGFrZXMgaW50byBhY2NvdW50IHN0cmljdCBSRkMgY29tcGxpYW50IHJlZGlyZWN0aW9uIChlLmcuIHJlZGlyZWN0IFBPU1Qgd2l0aCBQT1NUKSB2cyBkb2luZyB3aGF0IG1vc3QgY2xpZW50cyBkbwogICAgICogKGUuZy4gcmVkaXJlY3QgUE9TVCB3aXRoIEdFVCkuCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgICAgUmVxdWVzdCBiZWluZyByZWRpcmVjdGVkCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkb3JpZ2luYWwgICBPcmlnaW5hbCByZXF1ZXN0CiAgICAgKiBAcGFyYW0gaW50ICAgICAgICAgICAgICAkc3RhdHVzQ29kZSBTdGF0dXMgY29kZSBvZiB0aGUgcmVkaXJlY3QKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgICRsb2NhdGlvbiAgIExvY2F0aW9uIGhlYWRlciBvZiB0aGUgcmVkaXJlY3QKICAgICAqCiAgICAgKiBAcmV0dXJuIFJlcXVlc3RJbnRlcmZhY2UgUmV0dXJucyBhIG5ldyByZWRpcmVjdCByZXF1ZXN0CiAgICAgKiBAdGhyb3dzIENvdWxkTm90UmV3aW5kU3RyZWFtRXhjZXB0aW9uIElmIHRoZSBib2R5IG5lZWRzIHRvIGJlIHJld291bmQgYnV0IGNhbm5vdAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY3JlYXRlUmVkaXJlY3RSZXF1ZXN0KAogICAgICAgIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsCiAgICAgICAgJHN0YXR1c0NvZGUsCiAgICAgICAgJGxvY2F0aW9uLAogICAgICAgIFJlcXVlc3RJbnRlcmZhY2UgJG9yaWdpbmFsCiAgICApIHsKICAgICAgICAkcmVkaXJlY3RSZXF1ZXN0ID0gbnVsbDsKICAgICAgICAkc3RyaWN0ID0gJG9yaWdpbmFsLT5nZXRQYXJhbXMoKS0+Z2V0KHNlbGY6OlNUUklDVF9SRURJUkVDVFMpOwoKICAgICAgICAvLyBTd2l0Y2ggbWV0aG9kIHRvIEdFVCBmb3IgMzAzIHJlZGlyZWN0cy4gIDMwMSBhbmQgMzAyIHJlZGlyZWN0cyBhbHNvIHN3aXRjaCB0byBHRVQgdW5sZXNzIHdlIGFyZSBmb3JjaW5nIFJGQwogICAgICAgIC8vIGNvbXBsaWFuY2UgdG8gZW11bGF0ZSB3aGF0IG1vc3QgYnJvd3NlcnMgZG8uICBOT1RFOiBJRSBvbmx5IHN3aXRjaGVzIG1ldGhvZHMgb24gMzAxLzMwMiB3aGVuIGNvbWluZyBmcm9tIGEgUE9TVC4KICAgICAgICBpZiAoJHJlcXVlc3QgaW5zdGFuY2VvZiBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0SW50ZXJmYWNlICYmICgkc3RhdHVzQ29kZSA9PSAzMDMgfHwgKCEkc3RyaWN0ICYmICRzdGF0dXNDb2RlIDw9IDMwMikpKSB7CiAgICAgICAgICAgICRyZWRpcmVjdFJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y2xvbmVSZXF1ZXN0V2l0aE1ldGhvZCgkcmVxdWVzdCwgJ0dFVCcpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRyZWRpcmVjdFJlcXVlc3QgPSBjbG9uZSAkcmVxdWVzdDsKICAgICAgICB9CgogICAgICAgICRyZWRpcmVjdFJlcXVlc3QtPnNldElzUmVkaXJlY3QodHJ1ZSk7CiAgICAgICAgLy8gQWx3YXlzIHVzZSB0aGUgc2FtZSByZXNwb25zZSBib2R5IHdoZW4gcmVkaXJlY3RpbmcKICAgICAgICAkcmVkaXJlY3RSZXF1ZXN0LT5zZXRSZXNwb25zZUJvZHkoJHJlcXVlc3QtPmdldFJlc3BvbnNlQm9keSgpKTsKCiAgICAgICAgJGxvY2F0aW9uID0gVXJsOjpmYWN0b3J5KCRsb2NhdGlvbik7CiAgICAgICAgLy8gSWYgdGhlIGxvY2F0aW9uIGlzIG5vdCBhYnNvbHV0ZSwgdGhlbiBjb21iaW5lIGl0IHdpdGggdGhlIG9yaWdpbmFsIFVSTAogICAgICAgIGlmICghJGxvY2F0aW9uLT5pc0Fic29sdXRlKCkpIHsKICAgICAgICAgICAgJG9yaWdpbmFsVXJsID0gJHJlZGlyZWN0UmVxdWVzdC0+Z2V0VXJsKHRydWUpOwogICAgICAgICAgICAvLyBSZW1vdmUgcXVlcnkgc3RyaW5nIHBhcmFtZXRlcnMgYW5kIGp1c3QgdGFrZSB3aGF0IGlzIHByZXNlbnQgb24gdGhlIHJlZGlyZWN0IExvY2F0aW9uIGhlYWRlcgogICAgICAgICAgICAkb3JpZ2luYWxVcmwtPmdldFF1ZXJ5KCktPmNsZWFyKCk7CiAgICAgICAgICAgICRsb2NhdGlvbiA9ICRvcmlnaW5hbFVybC0+Y29tYmluZSgoc3RyaW5nKSAkbG9jYXRpb24sIHRydWUpOwogICAgICAgIH0KCiAgICAgICAgJHJlZGlyZWN0UmVxdWVzdC0+c2V0VXJsKCRsb2NhdGlvbik7CgogICAgICAgIC8vIEFkZCB0aGUgcGFyZW50IHJlcXVlc3QgdG8gdGhlIHJlcXVlc3QgYmVmb3JlIGl0IHNlbmRzIChtYWtlIHN1cmUgaXQncyBiZWZvcmUgdGhlIG9uUmVxdWVzdENsb25lIGV2ZW50IHRvbykKICAgICAgICAkcmVkaXJlY3RSZXF1ZXN0LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoCiAgICAgICAgICAgICdyZXF1ZXN0LmJlZm9yZV9zZW5kJywKICAgICAgICAgICAgJGZ1bmMgPSBmdW5jdGlvbiAoJGUpIHVzZSAoJiRmdW5jLCAkcmVxdWVzdCwgJHJlZGlyZWN0UmVxdWVzdCkgewogICAgICAgICAgICAgICAgJHJlZGlyZWN0UmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPnJlbW92ZUxpc3RlbmVyKCdyZXF1ZXN0LmJlZm9yZV9zZW5kJywgJGZ1bmMpOwogICAgICAgICAgICAgICAgJGVbJ3JlcXVlc3QnXS0+Z2V0UGFyYW1zKCktPnNldChSZWRpcmVjdFBsdWdpbjo6UEFSRU5UX1JFUVVFU1QsICRyZXF1ZXN0KTsKICAgICAgICAgICAgfQogICAgICAgICk7CgogICAgICAgIC8vIFJld2luZCB0aGUgZW50aXR5IGJvZHkgb2YgdGhlIHJlcXVlc3QgaWYgbmVlZGVkCiAgICAgICAgaWYgKCRyZWRpcmVjdFJlcXVlc3QgaW5zdGFuY2VvZiBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0SW50ZXJmYWNlICYmICRyZWRpcmVjdFJlcXVlc3QtPmdldEJvZHkoKSkgewogICAgICAgICAgICAkYm9keSA9ICRyZWRpcmVjdFJlcXVlc3QtPmdldEJvZHkoKTsKICAgICAgICAgICAgLy8gT25seSByZXdpbmQgdGhlIGJvZHkgaWYgc29tZSBvZiBpdCBoYXMgYmVlbiByZWFkIGFscmVhZHksIGFuZCB0aHJvdyBhbiBleGNlcHRpb24gaWYgdGhlIHJld2luZCBmYWlscwogICAgICAgICAgICBpZiAoJGJvZHktPmZ0ZWxsKCkgJiYgISRib2R5LT5yZXdpbmQoKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IENvdWxkTm90UmV3aW5kU3RyZWFtRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgICAgICdVbmFibGUgdG8gcmV3aW5kIHRoZSBub24tc2Vla2FibGUgZW50aXR5IGJvZHkgb2YgdGhlIHJlcXVlc3QgYWZ0ZXIgcmVkaXJlY3RpbmcuIGNVUkwgcHJvYmFibHkgJwogICAgICAgICAgICAgICAgICAgIC4gJ3NlbnQgcGFydCBvZiBib2R5IGJlZm9yZSB0aGUgcmVkaXJlY3Qgb2NjdXJyZWQuIFRyeSBhZGRpbmcgYWN1c3RvbSByZXdpbmQgZnVuY3Rpb24gdXNpbmcgb24gdGhlICcKICAgICAgICAgICAgICAgICAgICAuICdlbnRpdHkgYm9keSBvZiB0aGUgcmVxdWVzdCB1c2luZyBzZXRSZXdpbmRGdW5jdGlvbigpLicKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVkaXJlY3RSZXF1ZXN0OwogICAgfQoKICAgIC8qKgogICAgICogUHJlcGFyZSB0aGUgcmVxdWVzdCBmb3IgcmVkaXJlY3Rpb24gYW5kIGVuZm9yY2UgdGhlIG1heGltdW0gbnVtYmVyIG9mIGFsbG93ZWQgcmVkaXJlY3RzIHBlciBjbGllbnQKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkb3JpZ2luYWwgIE9yaWdpbmFsIHJlcXVlc3QKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0ICAgUmVxdWVzdCB0byBwcmVwYXJlIGFuZCB2YWxpZGF0ZQogICAgICogQHBhcmFtIFJlc3BvbnNlICAgICAgICAgJHJlc3BvbnNlICBUaGUgY3VycmVudCByZXNwb25zZQogICAgICoKICAgICAqIEByZXR1cm4gUmVxdWVzdEludGVyZmFjZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJlcGFyZVJlZGlyZWN0aW9uKFJlcXVlc3RJbnRlcmZhY2UgJG9yaWdpbmFsLCBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBSZXNwb25zZSAkcmVzcG9uc2UpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9ICRvcmlnaW5hbC0+Z2V0UGFyYW1zKCk7CiAgICAgICAgLy8gVGhpcyBpcyBhIG5ldyByZWRpcmVjdCwgc28gaW5jcmVtZW50IHRoZSByZWRpcmVjdCBjb3VudGVyCiAgICAgICAgJGN1cnJlbnQgPSAkcGFyYW1zW3NlbGY6OlJFRElSRUNUX0NPVU5UXSArIDE7CiAgICAgICAgJHBhcmFtc1tzZWxmOjpSRURJUkVDVF9DT1VOVF0gPSAkY3VycmVudDsKICAgICAgICAvLyBVc2UgYSBwcm92aWRlZCBtYXhpbXVtIHZhbHVlIG9yIGRlZmF1bHQgdG8gYSBtYXggcmVkaXJlY3QgY291bnQgb2YgNQogICAgICAgICRtYXggPSBpc3NldCgkcGFyYW1zW3NlbGY6Ok1BWF9SRURJUkVDVFNdKSA/ICRwYXJhbXNbc2VsZjo6TUFYX1JFRElSRUNUU10gOiAkdGhpcy0+ZGVmYXVsdE1heFJlZGlyZWN0czsKCiAgICAgICAgLy8gVGhyb3cgYW4gZXhjZXB0aW9uIGlmIHRoZSByZWRpcmVjdCBjb3VudCBpcyBleGNlZWRlZAogICAgICAgIGlmICgkY3VycmVudCA+ICRtYXgpIHsKICAgICAgICAgICAgJHRoaXMtPnRocm93VG9vTWFueVJlZGlyZWN0c0V4Y2VwdGlvbigkb3JpZ2luYWwsICRtYXgpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gQ3JlYXRlIGEgcmVkaXJlY3QgcmVxdWVzdCBiYXNlZCBvbiB0aGUgcmVkaXJlY3QgcnVsZXMgc2V0IG9uIHRoZSByZXF1ZXN0CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Y3JlYXRlUmVkaXJlY3RSZXF1ZXN0KAogICAgICAgICAgICAgICAgJHJlcXVlc3QsCiAgICAgICAgICAgICAgICAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSwKICAgICAgICAgICAgICAgIHRyaW0oJHJlc3BvbnNlLT5nZXRMb2NhdGlvbigpKSwKICAgICAgICAgICAgICAgICRvcmlnaW5hbAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgYSByZWRpcmVjdCByZXF1ZXN0IGFuZCBoYW5kbGUgYW55IGVycm9ycwogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRvcmlnaW5hbCBUaGUgb3JpZ2luYXRpbmcgcmVxdWVzdAogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgIFRoZSBjdXJyZW50IHJlcXVlc3QgYmVpbmcgcmVkaXJlY3RlZAogICAgICogQHBhcmFtIFJlc3BvbnNlICAgICAgICAgJHJlc3BvbnNlIFRoZSByZXNwb25zZSBvZiB0aGUgY3VycmVudCByZXF1ZXN0CiAgICAgKgogICAgICogQHRocm93cyBCYWRSZXNwb25zZUV4Y2VwdGlvbnxcRXhjZXB0aW9uCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzZW5kUmVkaXJlY3RSZXF1ZXN0KFJlcXVlc3RJbnRlcmZhY2UgJG9yaWdpbmFsLCBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBSZXNwb25zZSAkcmVzcG9uc2UpCiAgICB7CiAgICAgICAgLy8gVmFsaWRhdGUgYW5kIGNyZWF0ZSBhIHJlZGlyZWN0IHJlcXVlc3QgYmFzZWQgb24gdGhlIG9yaWdpbmFsIHJlcXVlc3QgYW5kIGN1cnJlbnQgcmVzcG9uc2UKICAgICAgICBpZiAoJHJlZGlyZWN0UmVxdWVzdCA9ICR0aGlzLT5wcmVwYXJlUmVkaXJlY3Rpb24oJG9yaWdpbmFsLCAkcmVxdWVzdCwgJHJlc3BvbnNlKSkgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgJHJlZGlyZWN0UmVxdWVzdC0+c2VuZCgpOwogICAgICAgICAgICB9IGNhdGNoIChCYWRSZXNwb25zZUV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAgICAgJGUtPmdldFJlc3BvbnNlKCk7CiAgICAgICAgICAgICAgICBpZiAoISRlLT5nZXRSZXNwb25zZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgJGU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBUaHJvdyBhIHRvbyBtYW55IHJlZGlyZWN0cyBleGNlcHRpb24gZm9yIGEgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRvcmlnaW5hbCBSZXF1ZXN0CiAgICAgKiBAcGFyYW0gaW50ICAgICAgICAgICAgICAkbWF4ICAgICAgTWF4IGFsbG93ZWQgcmVkaXJlY3RzCiAgICAgKgogICAgICogQHRocm93cyBUb29NYW55UmVkaXJlY3RzRXhjZXB0aW9uIHdoZW4gdG9vIG1hbnkgcmVkaXJlY3RzIGhhdmUgYmVlbiBpc3N1ZWQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHRocm93VG9vTWFueVJlZGlyZWN0c0V4Y2VwdGlvbihSZXF1ZXN0SW50ZXJmYWNlICRvcmlnaW5hbCwgJG1heCkKICAgIHsKICAgICAgICAkb3JpZ2luYWwtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcigKICAgICAgICAgICAgJ3JlcXVlc3QuY29tcGxldGUnLAogICAgICAgICAgICAkZnVuYyA9IGZ1bmN0aW9uICgkZSkgdXNlICgmJGZ1bmMsICRvcmlnaW5hbCwgJG1heCkgewogICAgICAgICAgICAgICAgJG9yaWdpbmFsLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+cmVtb3ZlTGlzdGVuZXIoJ3JlcXVlc3QuY29tcGxldGUnLCAkZnVuYyk7CiAgICAgICAgICAgICAgICAkc3RyID0gInskbWF4fSByZWRpcmVjdHMgd2VyZSBpc3N1ZWQgZm9yIHRoaXMgcmVxdWVzdDpcbiIgLiAkZVsncmVxdWVzdCddLT5nZXRSYXdIZWFkZXJzKCk7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVG9vTWFueVJlZGlyZWN0c0V4Y2VwdGlvbigkc3RyKTsKICAgICAgICAgICAgfQogICAgICAgICk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Resources/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Resources/cacert.pem</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyMKIyMgY2EtYnVuZGxlLmNydCAtLSBCdW5kbGUgb2YgQ0EgUm9vdCBDZXJ0aWZpY2F0ZXMKIyMKIyMgQ2VydGlmaWNhdGUgZGF0YSBmcm9tIE1vemlsbGEgYXMgb2Y6IFNhdCBEZWMgMjkgMjA6MDM6NDAgMjAxMgojIwojIyBUaGlzIGlzIGEgYnVuZGxlIG9mIFguNTA5IGNlcnRpZmljYXRlcyBvZiBwdWJsaWMgQ2VydGlmaWNhdGUgQXV0aG9yaXRpZXMKIyMgKENBKS4gVGhlc2Ugd2VyZSBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBmcm9tIE1vemlsbGEncyByb290IGNlcnRpZmljYXRlcwojIyBmaWxlIChjZXJ0ZGF0YS50eHQpLiAgVGhpcyBmaWxlIGNhbiBiZSBmb3VuZCBpbiB0aGUgbW96aWxsYSBzb3VyY2UgdHJlZToKIyMgaHR0cDovL214ci5tb3ppbGxhLm9yZy9tb3ppbGxhL3NvdXJjZS9zZWN1cml0eS9uc3MvbGliL2NrZncvYnVpbHRpbnMvY2VydGRhdGEudHh0P3Jhdz0xCiMjCiMjIEl0IGNvbnRhaW5zIHRoZSBjZXJ0aWZpY2F0ZXMgaW4gUEVNIGZvcm1hdCBhbmQgdGhlcmVmb3JlCiMjIGNhbiBiZSBkaXJlY3RseSB1c2VkIHdpdGggY3VybCAvIGxpYmN1cmwgLyBwaHBfY3VybCwgb3Igd2l0aAojIyBhbiBBcGFjaGUrbW9kX3NzbCB3ZWJzZXJ2ZXIgZm9yIFNTTCBjbGllbnQgYXV0aGVudGljYXRpb24uCiMjIEp1c3QgY29uZmlndXJlIHRoaXMgZmlsZSBhcyB0aGUgU1NMQ0FDZXJ0aWZpY2F0ZUZpbGUuCiMjCgojIEAoIykgJFJDU2ZpbGU6IGNlcnRkYXRhLnR4dCx2ICQgJFJldmlzaW9uOiAxLjg3ICQgJERhdGU6IDIwMTIvMTIvMjkgMTY6MzI6NDUgJAoKR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QKPT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNXakNDQWNNQ0FnR2xNQTBHQ1NxR1NJYjNEUUVCQkFVQU1IVXhDekFKQmdOVkJBWVRBbFZUTVJnd0ZnWURWUVFLRXc5SFZFVWcKUTI5eWNHOXlZWFJwYjI0eEp6QWxCZ05WQkFzVEhrZFVSU0JEZVdKbGNsUnlkWE4wSUZOdmJIVjBhVzl1Y3l3Z1NXNWpMakVqTUNFRwpBMVVFQXhNYVIxUkZJRU41WW1WeVZISjFjM1FnUjJ4dlltRnNJRkp2YjNRd0hoY05PVGd3T0RFek1EQXlPVEF3V2hjTk1UZ3dPREV6Ck1qTTFPVEF3V2pCMU1Rc3dDUVlEVlFRR0V3SlZVekVZTUJZR0ExVUVDaE1QUjFSRklFTnZjbkJ2Y21GMGFXOXVNU2N3SlFZRFZRUUwKRXg1SFZFVWdRM2xpWlhKVWNuVnpkQ0JUYjJ4MWRHbHZibk1zSUVsdVl5NHhJekFoQmdOVkJBTVRHa2RVUlNCRGVXSmxjbFJ5ZFhOMApJRWRzYjJKaGJDQlNiMjkwTUlHZk1BMEdDU3FHU0liM0RRRUJBUVVBQTRHTkFEQ0JpUUtCZ1FDVkQ2QzI4RkNjNkhySGlNM2RGdzR1CnNKVFFHejBPOXBUQWlwVEhCc2lRbDhpNFpCcDZmbXc4VStFM0tITmdmN0tYVXdlZlUvbHRXSlRTcjQxdGlHZUE1dTJ5bGM5eU1jcWwKSEhLNlhBTG5aRUxuK2FrczFqb05ySTFDcWlRQk9lYWNQd0dGVncxWWgwWDQwNFdxazJrbWhYQklnRDhTRmNkNXRCOEZMenRpbVFJRApBUUFCTUEwR0NTcUdTSWIzRFFFQkJBVUFBNEdCQUczckd3bnBYdGxSMjJjaVlhUXFQRWgzNDZCOHB0NXpvaFFEaFQzN3F3NHd4WU1XCk00RVRDSjU3TkU3ZlFNaDAxN2w5M1BSMlZYMmJZMVFZNmZEcTgxeXgyWXRDSHJuQWxVNjYrdFhpZlBWb1liK083QVdYWDF1dzE2T0YKTk1Ra3B3MFBsWlB2eTVUWW5oK2RYSVZ0eDZxdVR4OGl0YzJWcmJxbnpQbXJDM3AvCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClRoYXd0ZSBTZXJ2ZXIgQ0EKPT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJREV6Q0NBbnlnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFRRkFEQ0J4REVMTUFrR0ExVUVCaE1DV2tFeEZUQVRCZ05WQkFnVApERmRsYzNSbGNtNGdRMkZ3WlRFU01CQUdBMVVFQnhNSlEyRndaU0JVYjNkdU1SMHdHd1lEVlFRS0V4UlVhR0YzZEdVZ1EyOXVjM1ZzCmRHbHVaeUJqWXpFb01DWUdBMVVFQ3hNZlEyVnlkR2xtYVdOaGRHbHZiaUJUWlhKMmFXTmxjeUJFYVhacGMybHZiakVaTUJjR0ExVUUKQXhNUVZHaGhkM1JsSUZObGNuWmxjaUJEUVRFbU1DUUdDU3FHU0liM0RRRUpBUllYYzJWeWRtVnlMV05sY25SelFIUm9ZWGQwWlM1agpiMjB3SGhjTk9UWXdPREF4TURBd01EQXdXaGNOTWpBeE1qTXhNak0xT1RVNVdqQ0J4REVMTUFrR0ExVUVCaE1DV2tFeEZUQVRCZ05WCkJBZ1RERmRsYzNSbGNtNGdRMkZ3WlRFU01CQUdBMVVFQnhNSlEyRndaU0JVYjNkdU1SMHdHd1lEVlFRS0V4UlVhR0YzZEdVZ1EyOXUKYzNWc2RHbHVaeUJqWXpFb01DWUdBMVVFQ3hNZlEyVnlkR2xtYVdOaGRHbHZiaUJUWlhKMmFXTmxjeUJFYVhacGMybHZiakVaTUJjRwpBMVVFQXhNUVZHaGhkM1JsSUZObGNuWmxjaUJEUVRFbU1DUUdDU3FHU0liM0RRRUpBUllYYzJWeWRtVnlMV05sY25SelFIUm9ZWGQwClpTNWpiMjB3Z1o4d0RRWUpLb1pJaHZjTkFRRUJCUUFEZ1kwQU1JR0pBb0dCQU5Pa1VHN0kvMVpyNXM5ZHR1b01hSFZIb3FyQzJvUWwKL0tqMFIxSGFoYlVnZEpTR0hnOTF5ZWtJWWZVR2JUQnVGUmtDNlZMQVl0dE5tWjdpYWd4RU9NMyt2dU5rQ1hERi9yRnJLYll2U2NnNwoxQ2NFSlJDWEwrZVFiY0FvUXBuWFRFUGV3L1VoYlZTZlhjTlk0Y0RrMlZ1d3VOeTBlOTgyT3NLMVppSVMxb2NOQWdNQkFBR2pFekFSCk1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUVCUUFEZ1lFQUIvcE1hVno3bGN4RzdvV0RUU0V3anNyWnFHOUoKR3ViYVVlTmdjR3lFWVJHaEdzaElQbGxEZlUrVlBhR0x0d3RpbUhwMWl0MklUazZlUU51b3pESjB1VzhOeHVPelJBdlppbSthS1p1WgpHQ2c3MGVOQUtKcGFQTlcxNXlBYmk4cWtxNDNwVWRuaVRDeFpxZHE1c25VYjlrTHk3OGZ5R1BtSnZLUC9paU11Y0VjPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpUaGF3dGUgUHJlbWl1bSBTZXJ2ZXIgQ0EKPT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlESnpDQ0FwQ2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUVFGQURDQnpqRUxNQWtHQTFVRUJoTUNXa0V4RlRBVEJnTlZCQWdUCkRGZGxjM1JsY200Z1EyRndaVEVTTUJBR0ExVUVCeE1KUTJGd1pTQlViM2R1TVIwd0d3WURWUVFLRXhSVWFHRjNkR1VnUTI5dWMzVnMKZEdsdVp5QmpZekVvTUNZR0ExVUVDeE1mUTJWeWRHbG1hV05oZEdsdmJpQlRaWEoyYVdObGN5QkVhWFpwYzJsdmJqRWhNQjhHQTFVRQpBeE1ZVkdoaGQzUmxJRkJ5WlcxcGRXMGdVMlZ5ZG1WeUlFTkJNU2d3SmdZSktvWklodmNOQVFrQkZobHdjbVZ0YVhWdExYTmxjblpsCmNrQjBhR0YzZEdVdVkyOXRNQjRYRFRrMk1EZ3dNVEF3TURBd01Gb1hEVEl3TVRJek1USXpOVGsxT1Zvd2djNHhDekFKQmdOVkJBWVQKQWxwQk1SVXdFd1lEVlFRSUV3eFhaWE4wWlhKdUlFTmhjR1V4RWpBUUJnTlZCQWNUQ1VOaGNHVWdWRzkzYmpFZE1Cc0dBMVVFQ2hNVQpWR2hoZDNSbElFTnZibk4xYkhScGJtY2dZMk14S0RBbUJnTlZCQXNUSDBObGNuUnBabWxqWVhScGIyNGdVMlZ5ZG1salpYTWdSR2wyCmFYTnBiMjR4SVRBZkJnTlZCQU1UR0ZSb1lYZDBaU0JRY21WdGFYVnRJRk5sY25abGNpQkRRVEVvTUNZR0NTcUdTSWIzRFFFSkFSWVoKY0hKbGJXbDFiUzF6WlhKMlpYSkFkR2hoZDNSbExtTnZiVENCbnpBTkJna3Foa2lHOXcwQkFRRUZBQU9CalFBd2dZa0NnWUVBMGpZMgphb3ZYd2x1ZTJvRkJZbzg0N2trRVZkYlE3eHdibFJaSDd4aElOVHBTOUN0cUJvODdMK3BXNDYrR2paNFg5NTYwWlhVQ1RlL0xDYUloClVkaWIwR2ZRdWcyU0JoUnoxSlBMbHlvQW5GeE9ETHo2RlZMODhrUnUyaEZLYmdpZkx5M2orYW82aG5PMlJsTll5SWtGdllNUnVITS8KcWdlTjlFSk41MENkSERjQ0F3RUFBYU1UTUJFd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBTkJna3Foa2lHOXcwQkFRUUZBQU9CZ1FBbQpTQ3dXd2xqNjZCWjBES3FxWDFRLzh0ZkplR0JlWG00M1l5SjNObjZ5RjhRMHVmVUloZnpKQVRqL1RiN3lGa0pENTd0YVJ2dkJ4aEVmCjhVcXdLRWJKdzhSQ2ZiejZxMWx1MWJkUmlCSGpwSVVaYTRKTXBBd1NyZW1rcmoveHcwbGxtb3pGeUQ0bHQ1U1p1NUl5Y1Fmd2hsN3QKVUNlbURhWWorYnZMcGdjVVFnPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKRXF1aWZheCBTZWN1cmUgQ0EKPT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJRENDQW9tZ0F3SUJBZ0lFTmQ3MHp6QU5CZ2txaGtpRzl3MEJBUVVGQURCT01Rc3dDUVlEVlFRR0V3SlZVekVRTUE0R0ExVUUKQ2hNSFJYRjFhV1poZURFdE1Dc0dBMVVFQ3hNa1JYRjFhV1poZUNCVFpXTjFjbVVnUTJWeWRHbG1hV05oZEdVZ1FYVjBhRzl5YVhSNQpNQjRYRFRrNE1EZ3lNakUyTkRFMU1Wb1hEVEU0TURneU1qRTJOREUxTVZvd1RqRUxNQWtHQTFVRUJoTUNWVk14RURBT0JnTlZCQW9UCkIwVnhkV2xtWVhneExUQXJCZ05WQkFzVEpFVnhkV2xtWVhnZ1UyVmpkWEpsSUVObGNuUnBabWxqWVhSbElFRjFkR2h2Y21sMGVUQ0IKbnpBTkJna3Foa2lHOXcwQkFRRUZBQU9CalFBd2dZa0NnWUVBd1YyeFdHY0lZdTZnbWkwZkNHMlJGR2lZQ2g3KzJnUnZFNFJpSWNQUgpmTTZmQmVDNEFmQk9OT3ppaXBVRVpLenhhMU5mQmJQTFo0Qy9RZ0tPL3QwQkNlemhBQlJQL1B2d0ROMUR1bHNyNFIrQWNKa1ZWNU1XCjhRK1hhcmZDYUNNY3pFMVpNS3hSSGp1dks5YnVZMFY3eGRsZlVOTGpVQTg2aU9lL0ZQM2d4N2tDQXdFQUFhT0NBUWt3Z2dFRk1IQUcKQTFVZEh3UnBNR2N3WmFCam9HR2tYekJkTVFzd0NRWURWUVFHRXdKVlV6RVFNQTRHQTFVRUNoTUhSWEYxYVdaaGVERXRNQ3NHQTFVRQpDeE1rUlhGMWFXWmhlQ0JUWldOMWNtVWdRMlZ5ZEdsbWFXTmhkR1VnUVhWMGFHOXlhWFI1TVEwd0N3WURWUVFERXdSRFVrd3hNQm9HCkExVWRFQVFUTUJHQkR6SXdNVGd3T0RJeU1UWTBNVFV4V2pBTEJnTlZIUThFQkFNQ0FRWXdId1lEVlIwakJCZ3dGb0FVU09abytTdlMKc3BYWFI5Z2pJQkJQTTVpUW45UXdIUVlEVlIwT0JCWUVGRWptYVBrcjByS1YxMGZZSXlBUVR6T1lrSi9VTUF3R0ExVWRFd1FGTUFNQgpBZjh3R2dZSktvWklodlo5QjBFQUJBMHdDeHNGVmpNdU1HTURBZ2JBTUEwR0NTcUdTSWIzRFFFQkJRVUFBNEdCQUZqT0tlcjg5OTYxCnpnSzVGN1dGMGJuajRKWE1KVEVOQUthU2JuKzJrbU9lVUpYUm1tL2tFZDVqaFc2WTdxai9Xc2pUVmJKbWNWZmV3Q0hyUFNxbkkwa0IKQklaQ2UvenVmNklXVXJWblo5TkEyenNtV0xJb2R6MnVGSGRoMXZvcVppZWdEZnFuYzF6cWNQR1VJV1ZFWC9yODd5bG9xYUtIZWU5NQo3MCtzQjNjNAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4gR2xvYmFsIENBIDEKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlES1RDQ0FwS2dBd0lCQWdJRU5uQVZsakFOQmdrcWhraUc5dzBCQVFVRkFEQkdNUXN3Q1FZRFZRUUdFd0pWVXpFa01DSUdBMVVFCkNoTWJSR2xuYVhSaGJDQlRhV2R1WVhSMWNtVWdWSEoxYzNRZ1EyOHVNUkV3RHdZRFZRUUxFd2hFVTFSRFFTQkZNVEFlRncwNU9ERXkKTVRBeE9ERXdNak5hRncweE9ERXlNVEF4T0RRd01qTmFNRVl4Q3pBSkJnTlZCQVlUQWxWVE1TUXdJZ1lEVlFRS0V4dEVhV2RwZEdGcwpJRk5wWjI1aGRIVnlaU0JVY25WemRDQkRieTR4RVRBUEJnTlZCQXNUQ0VSVFZFTkJJRVV4TUlHZE1BMEdDU3FHU0liM0RRRUJBUVVBCkE0R0xBRENCaHdLQmdRQ2diSUdwenpRZUpOMytoaWpNM29NditWN1VRdExvZEdCbUU1Z0dIS2xSRW1sdk1WVzVTWElBQ0g3VHBXSkUKTnlTWmo5bURTSStaYlpVVHUwTTdMa2xPaURmQnUxaC8vdUc5K0x0aHpmTkh3Sm1tOGZPUjZIaDhBTXRoeVVRbmNXbFZTbjVKVGUyaQpvNzRDVEFES0FxanVBUUl4WkE5U0xSTjBkamExZXJRdGNRSUJBNk9DQVNRd2dnRWdNQkVHQ1dDR1NBR0crRUlCQVFRRUF3SUFCekJvCkJnTlZIUjhFWVRCZk1GMmdXNkJacEZjd1ZURUxNQWtHQTFVRUJoTUNWVk14SkRBaUJnTlZCQW9URzBScFoybDBZV3dnVTJsbmJtRjAKZFhKbElGUnlkWE4wSUVOdkxqRVJNQThHQTFVRUN4TUlSRk5VUTBFZ1JURXhEVEFMQmdOVkJBTVRCRU5TVERFd0t3WURWUjBRQkNRdwpJb0FQTVRrNU9ERXlNVEF4T0RFd01qTmFnUTh5TURFNE1USXhNREU0TVRBeU0xb3dDd1lEVlIwUEJBUURBZ0VHTUI4R0ExVWRJd1FZCk1CYUFGR3A1ZnBGcFJoZ1RDZ0ozcFZsYllKZ2xEcUw0TUIwR0ExVWREZ1FXQkJScWVYNlJhVVlZRXdvQ2Q2VlpXMkNZSlE2aStEQU0KQmdOVkhSTUVCVEFEQVFIL01Ca0dDU3FHU0liMmZRZEJBQVFNTUFvYkJGWTBMakFEQWdTUU1BMEdDU3FHU0liM0RRRUJCUVVBQTRHQgpBQ0lTMkhvZDNJRUd0Z2xsc29mSUgxNjBMK25FSHZJOHdic0VrQkZLZzA1K2s3bE5Rc2VTSnFCY05KbzRjdmo5YXhZK0lPNkNpekVxCmt6YUZJNGlLUEFObzA4a0pEMDM4YktUYUtIS1REb21Bc0gzK2dHOWxiUmd6bDR2Q2E0bnVZRDNJbSs5L0t6SmljNVBMUE9ONzRuWjQKUmJ5aGt3UzdocDg2VzBONnc0cGwKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uIEdsb2JhbCBDQSAzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJREtUQ0NBcEtnQXdJQkFnSUVObTdUempBTkJna3Foa2lHOXcwQkFRVUZBREJHTVFzd0NRWURWUVFHRXdKVlV6RWtNQ0lHQTFVRQpDaE1iUkdsbmFYUmhiQ0JUYVdkdVlYUjFjbVVnVkhKMWMzUWdRMjh1TVJFd0R3WURWUVFMRXdoRVUxUkRRU0JGTWpBZUZ3MDVPREV5Ck1Ea3hPVEUzTWpaYUZ3MHhPREV5TURreE9UUTNNalphTUVZeEN6QUpCZ05WQkFZVEFsVlRNU1F3SWdZRFZRUUtFeHRFYVdkcGRHRnMKSUZOcFoyNWhkSFZ5WlNCVWNuVnpkQ0JEYnk0eEVUQVBCZ05WQkFzVENFUlRWRU5CSUVVeU1JR2RNQTBHQ1NxR1NJYjNEUUVCQVFVQQpBNEdMQURDQmh3S0JnUUMvazQ4WGt1OHpFeGpyRUg5T0ZyLy9CbzhxaGJ4ZStTU21KSWkyQTdmQncxOERXOUZ2cm41QzZtWWp1R09EClZ2c29MZUU0aTdUdXFBSGh6aHkyaUNvaVJvWDduNmR3cVVjVVA4N2VaZkNvY2ZkUEpteU12TWExNzk1SkovOUlLbjNvVFFQTXg3SlMKeGhjeEV6dTFUZHZJeFBiRER5UXEyZ3lkNTVGYmdNMlVuUUlCQTZPQ0FTUXdnZ0VnTUJFR0NXQ0dTQUdHK0VJQkFRUUVBd0lBQnpCbwpCZ05WSFI4RVlUQmZNRjJnVzZCWnBGY3dWVEVMTUFrR0ExVUVCaE1DVlZNeEpEQWlCZ05WQkFvVEcwUnBaMmwwWVd3Z1UybG5ibUYwCmRYSmxJRlJ5ZFhOMElFTnZMakVSTUE4R0ExVUVDeE1JUkZOVVEwRWdSVEl4RFRBTEJnTlZCQU1UQkVOU1RERXdLd1lEVlIwUUJDUXcKSW9BUE1UazVPREV5TURreE9URTNNalphZ1E4eU1ERTRNVEl3T1RFNU1UY3lObG93Q3dZRFZSMFBCQVFEQWdFR01COEdBMVVkSXdRWQpNQmFBRkI2Q1RTaGxnRHpKUVc2c05TNWF5OTd1K0RsYk1CMEdBMVVkRGdRV0JCUWVnazBvWllBOHlVRnVyRFV1V3N2ZTd2ZzVXekFNCkJnTlZIUk1FQlRBREFRSC9NQmtHQ1NxR1NJYjJmUWRCQUFRTU1Bb2JCRlkwTGpBREFnU1FNQTBHQ1NxR1NJYjNEUUVCQlFVQUE0R0IKQUVlTmc2MWk4dHV3bmtVaUJibWkxZ01PT0hMbm52eDc1cE8ybXFXaWxNZzBIWkhSeGRmMENpVVBQWGlCbmcreFo4U1FUR1BkWHFmaQp1cC8xOTAybE1YdWNLUzFNL21RKzdMWlQvdXFiN1lMYmRIVkxCM2x1SHRnWmczUGU5VDdRdGQ3blMyaDlReTRxSU9GK29IaEVuZ2oxCm1QbkhmeHNiMWdZZ0FsaWh3NklECi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClZlcmlzaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJQ1BEQ0NBYVVDRUhDNjVCMFEyU2swdGpqS2V3UE11cjh3RFFZSktvWklodmNOQVFFQ0JRQXdYekVMTUFrR0ExVUVCaE1DVlZNeApGekFWQmdOVkJBb1REbFpsY21sVGFXZHVMQ0JKYm1NdU1UY3dOUVlEVlFRTEV5NURiR0Z6Y3lBeklGQjFZbXhwWXlCUWNtbHRZWEo1CklFTmxjblJwWm1sallYUnBiMjRnUVhWMGFHOXlhWFI1TUI0WERUazJNREV5T1RBd01EQXdNRm9YRFRJNE1EZ3dNVEl6TlRrMU9Wb3cKWHpFTE1Ba0dBMVVFQmhNQ1ZWTXhGekFWQmdOVkJBb1REbFpsY21sVGFXZHVMQ0JKYm1NdU1UY3dOUVlEVlFRTEV5NURiR0Z6Y3lBegpJRkIxWW14cFl5QlFjbWx0WVhKNUlFTmxjblJwWm1sallYUnBiMjRnUVhWMGFHOXlhWFI1TUlHZk1BMEdDU3FHU0liM0RRRUJBUVVBCkE0R05BRENCaVFLQmdRREpYRm1lOGh1S0FSUzBFTjhFUU52alY2OXFSVUNQaEF3TDBUUFoyUkhQN2dKWUh5WDNLcWhFQmFyc0F4OTQKZjU2VHVab0FxaU45MXF5Rm9tTkZ4M0luelBSTXhuVngwam52VDBMd2RkOEtrTWFPSUcrWUQvaXNJMTl3S1Rha3lZYm5zWm9neTFPbApoZWM5dm4yYS9pUkZNOXgyRmUwUG9uRmtUR1V1Z1doRnB3SURBUUFCTUEwR0NTcUdTSWIzRFFFQkFnVUFBNEdCQUx0TUVpdlBMQ1lBClR4UVQzYWI3L0FvUmhJenpLQnhua2k5OHRzWDYzL0RvbGJ3ZGoyd3NxRkhNYzlpa3dGUHdUdFltd0hZQlY0R1NYaUh4MGJILzU5QWgKV00xcEYrTkVISndaUkRtSlhOeWNBQTlXalFLWjdhS1FSVXprdXhDa1BmQXlBdzd4enZqb3lWR001bUtmNXAvQWZiZHluTWsyT211ZgpUcWovWkExawotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpWZXJpc2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEQWpDQ0Ftc0NFSDNaL2dmUHFCNjNFSGxuKzZlSk5NWXdEUVlKS29aSWh2Y05BUUVGQlFBd2djRXhDekFKQmdOVkJBWVRBbFZUCk1SY3dGUVlEVlFRS0V3NVdaWEpwVTJsbmJpd2dTVzVqTGpFOE1Eb0dBMVVFQ3hNelEyeGhjM01nTXlCUWRXSnNhV01nVUhKcGJXRnkKZVNCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodmNtbDBlU0F0SUVjeU1Ub3dPQVlEVlFRTEV6RW9ZeWtnTVRrNU9DQldaWEpwVTJsbgpiaXdnU1c1akxpQXRJRVp2Y2lCaGRYUm9iM0pwZW1Wa0lIVnpaU0J2Ym14NU1SOHdIUVlEVlFRTEV4WldaWEpwVTJsbmJpQlVjblZ6CmRDQk9aWFIzYjNKck1CNFhEVGs0TURVeE9EQXdNREF3TUZvWERUSTRNRGd3TVRJek5UazFPVm93Z2NFeEN6QUpCZ05WQkFZVEFsVlQKTVJjd0ZRWURWUVFLRXc1V1pYSnBVMmxuYml3Z1NXNWpMakU4TURvR0ExVUVDeE16UTJ4aGMzTWdNeUJRZFdKc2FXTWdVSEpwYldGeQplU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVTQXRJRWN5TVRvd09BWURWUVFMRXpFb1l5a2dNVGs1T0NCV1pYSnBVMmxuCmJpd2dTVzVqTGlBdElFWnZjaUJoZFhSb2IzSnBlbVZrSUhWelpTQnZibXg1TVI4d0hRWURWUVFMRXhaV1pYSnBVMmxuYmlCVWNuVnoKZENCT1pYUjNiM0pyTUlHZk1BMEdDU3FHU0liM0RRRUJBUVVBQTRHTkFEQ0JpUUtCZ1FETVh0RVJYVnhwMEt2VHVXcE1tUjlabURDTwpGb1VnUm0xSFA5U0ZJSVRoYmJQNHBPME04UmNQTy9tbitTWFh3YytFWS9KOFk4K2lSL0xHV3pPT1pFQUVhTUdBdVdRY1JYZkgyRzcxCmxTazhVT2cwMTNnZnFMcHRRNUdWajBWWFhuN0YrOHFrQk92cWx6ZFVNRys3QVVjeU04M2NWNXRrYVdING14MGNpVTljWndJREFRQUIKTUEwR0NTcUdTSWIzRFFFQkJRVUFBNEdCQUZGTnpiNWN5NWdabkJXeUFUbDRMazBQWjNCd21jWVFXcFNrVTAxVWJTdXZEVjFBaTJUVAoxKzdlVm1HU1g2YkVIUkJoTnRNc0p6em9LUW01RVdSMHpMVnpueHhJcWJ4aEFlN2lGNllNNDBBSU93N242MFJ6S3ByeGFaTHZjUlRECk9heHhwNUVKYitSeEJyTzZXVmNtZVFEMitBMmlNekFvMUtwWW9KMmRhWkg5Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkdsb2JhbFNpZ24gUm9vdCBDQQo9PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURkVENDQWwyZ0F3SUJBZ0lMQkFBQUFBQUJGVXRhdzVRd0RRWUpLb1pJaHZjTkFRRUZCUUF3VnpFTE1Ba0dBMVVFQmhNQ1FrVXgKR1RBWEJnTlZCQW9URUVkc2IySmhiRk5wWjI0Z2JuWXRjMkV4RURBT0JnTlZCQXNUQjFKdmIzUWdRMEV4R3pBWkJnTlZCQU1URWtkcwpiMkpoYkZOcFoyNGdVbTl2ZENCRFFUQWVGdzA1T0RBNU1ERXhNakF3TURCYUZ3MHlPREF4TWpneE1qQXdNREJhTUZjeEN6QUpCZ05WCkJBWVRBa0pGTVJrd0Z3WURWUVFLRXhCSGJHOWlZV3hUYVdkdUlHNTJMWE5oTVJBd0RnWURWUVFMRXdkU2IyOTBJRU5CTVJzd0dRWUQKVlFRREV4SkhiRzlpWVd4VGFXZHVJRkp2YjNRZ1EwRXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEYQpEdWFaamM2ajQwK0tmdnZ4aTRNbGErcElIL0Vxc0xtVkVRUzk4R1BSNG1kbXp4emR6eHRJSys2TmlZNmFyeW1BWmF2cHh5MFN5NnNjClRIQUhvVDBLTU0wVmpVLzQzZFNNVUJVYzcxRHV4QzczL09sUzhwRjk0RzNWTlRDT1hrTno4a0hwMVdyanNvazZWams0YndZOGlHbGIKS2szRnAxUzRiSW5NbS9rOHl1WDlpZlVTUEpKNGx0YmNkRzZUUkdIUmpjZEdzblVPaHVnWml0VnRiTlY0RnBXaTZjZ0tPT3Z5SkJOUApjMVNURTRVNkc3d2VOTFdMQll5NWQ0dXgyeDhna2FzSlUyNlF6bnMzZExsd1I1RWlVV01XZWE2eHJrRW1DTWdaSzlGR3FraldaQ3JYCmd6VC9MQ3JCYkJsRFNnZUY1OU44OWlGbzcrcnlVcDkvazVEUEFnTUJBQUdqUWpCQU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBUEJnTlYKSFJNQkFmOEVCVEFEQVFIL01CMEdBMVVkRGdRV0JCUmdlMllhUlEyWHlvbFFMMzBFelRTby8vejlTekFOQmdrcWhraUc5dzBCQVFVRgpBQU9DQVFFQTFuUG5mRTkyMEkyLzdMcWl2alRGS0RLMWZQeHNuQ3dydlFtZVU3OXJYcW9SU0xibENLT3p5ajFoVGROR0NiTSt3NkRqClkxVWI4cnJ2clRuaFE3azRvK1l2aWlZNzc2QlFWdm5HQ3YwNHpjUUxjRkdVbDVnRTM4TmZsTlVWeVJSQm5NUmRkV1FWRGY5Vk1PeUcKai84Tjd5eTVZMGIycXZ6ZnZHbjlMaEpJWkpyZ2xmQ203eW1QQWJFVnRRd2RwZjVwTEdra2VCNnpweHh4WXU3S3lKZXNGMTJLd3ZoSApobTRxeEZZeGxkQm5pWVVyK1d5bVhVYWRES3FDNUpsUjNYQzMyMVk5WWVScTRWelc5djQ5M2tITUI2NWpVcjlUVS9RcjZjZjl0dmVDClg0WFNRUmpiZ2JNRUhNVWZwSUJ2RlNESjNneUlDaDNXWmxYaS9FakpLU1pwNEE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMgo9PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRHVqQ0NBcUtnQXdJQkFnSUxCQUFBQUFBQkQ0WW01ZzB3RFFZSktvWklodmNOQVFFRkJRQXdUREVnTUI0R0ExVUVDeE1YUjJ4dgpZbUZzVTJsbmJpQlNiMjkwSUVOQklDMGdVakl4RXpBUkJnTlZCQW9UQ2tkc2IySmhiRk5wWjI0eEV6QVJCZ05WQkFNVENrZHNiMkpoCmJGTnBaMjR3SGhjTk1EWXhNakUxTURnd01EQXdXaGNOTWpFeE1qRTFNRGd3TURBd1dqQk1NU0F3SGdZRFZRUUxFeGRIYkc5aVlXeFQKYVdkdUlGSnZiM1FnUTBFZ0xTQlNNakVUTUJFR0ExVUVDaE1LUjJ4dlltRnNVMmxuYmpFVE1CRUdBMVVFQXhNS1IyeHZZbUZzVTJsbgpiakNDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFLYlBKQTYrTG04b21VVkN4S3MrSVZTYkM5Ti9oSEQ2CkVyUEx2NGRmeG4rRzA3SXdYTmI5cmZGNzNPWDRZSllKa2hEMTBGUGUrM3QrYzRpc1VvaDdTcWJLU2FaZXFLZU1XaEc4ZW9McnZvenAKczZ5V0pRZVhTcGtxQnkrMEhuZS9pZysxQW53YmxyakZ1VG9zdk5ZU3VldFpmZUxRQm9aZlhrbHF0VGxlaURUc3ZIZ01DSmlFYktqTgpTN1NnZlF4NVRmQzRMY3NoeXRWc1czM2hvQ21Fb2ZuVGxFbkxKR0tSSUx6ZEM5WFp6UG5xSndvcmM1SEduUnVzeU12bzRLRDBMNUNMClRmdXdOaHYyR1hxRjRHM3lZUk9JWEovZ2t3cFJsNHBhenErcjFmZXFDYXBndmR6Wlg5OXlxV0FUWGdBQnlVcjZQNlRxQndNaEFvNkMKeWdQQ200OENBd0VBQWFPQm5EQ0JtVEFPQmdOVkhROEJBZjhFQkFNQ0FRWXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWRCZ05WSFE0RQpGZ1FVbStJSFYyY2NIc0JxQnQ1WnRKb3QzOXdaaGk0d05nWURWUjBmQkM4d0xUQXJvQ21nSjRZbGFIUjBjRG92TDJOeWJDNW5iRzlpCllXeHphV2R1TG01bGRDOXliMjkwTFhJeUxtTnliREFmQmdOVkhTTUVHREFXZ0JTYjRnZFhaeHdld0dvRzNsbTBtaTNmM0JtR0xqQU4KQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBbVlGVGh4eG9sNGFSN09CS3VFUUxxNEdzSjAvV3diZ2NRM2l6REpyODZpdzhibUViVFVzcAo5WjhGSFNiQnVPbURBR0pGdHFrSWs3bXBNMHNZbXNMNGg0aE8yOTF4TkJyQlZOcEdQK0RUS3F0dFZDTDFPbUxOSUcrNktZblgzWkh1CjAxeWlQcUZiUWZYZjVXUkRMZW5WT2F2U290KzNpOURBZ0JrY1JjQXRqT2o0TGFSMFZrbkZCYlZQRmQ1dVJIZzVoNmgrdS9ONUdKRzcKOUcrZHdmQ01OWXhkQWZ2RGJibnZSRzE1UmpGK0N2NnBnc0gvNzZ0dUlNUlF5VitkVFpzWGpBemxBY21nUVdwelUvcWxVTFJ1SlEvNwpUQmowL1ZMWmptbXg2QkVQM29qWSt4MUo5NnJlbGM4Z2VNSmdFdHNsUUl4cS9INUNPRUJrRXZlZWdlR1RMZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClZhbGlDZXJ0IENsYXNzIDEgVkEKPT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJQzV6Q0NBbEFDQVFFd0RRWUpLb1pJaHZjTkFRRUZCUUF3Z2JzeEpEQWlCZ05WQkFjVEcxWmhiR2xEWlhKMElGWmhiR2xrWVhScApiMjRnVG1WMGQyOXlhekVYTUJVR0ExVUVDaE1PVm1Gc2FVTmxjblFzSUVsdVl5NHhOVEF6QmdOVkJBc1RMRlpoYkdsRFpYSjBJRU5zCllYTnpJREVnVUc5c2FXTjVJRlpoYkdsa1lYUnBiMjRnUVhWMGFHOXlhWFI1TVNFd0h3WURWUVFERXhob2RIUndPaTh2ZDNkM0xuWmgKYkdsalpYSjBMbU52YlM4eElEQWVCZ2txaGtpRzl3MEJDUUVXRVdsdVptOUFkbUZzYVdObGNuUXVZMjl0TUI0WERUazVNRFl5TlRJeQpNak0wT0ZvWERURTVNRFl5TlRJeU1qTTBPRm93Z2JzeEpEQWlCZ05WQkFjVEcxWmhiR2xEWlhKMElGWmhiR2xrWVhScGIyNGdUbVYwCmQyOXlhekVYTUJVR0ExVUVDaE1PVm1Gc2FVTmxjblFzSUVsdVl5NHhOVEF6QmdOVkJBc1RMRlpoYkdsRFpYSjBJRU5zWVhOeklERWcKVUc5c2FXTjVJRlpoYkdsa1lYUnBiMjRnUVhWMGFHOXlhWFI1TVNFd0h3WURWUVFERXhob2RIUndPaTh2ZDNkM0xuWmhiR2xqWlhKMApMbU52YlM4eElEQWVCZ2txaGtpRzl3MEJDUUVXRVdsdVptOUFkbUZzYVdObGNuUXVZMjl0TUlHZk1BMEdDU3FHU0liM0RRRUJBUVVBCkE0R05BRENCaVFLQmdRRFlXWUo2aWJpV3VxWXZhRzlZTHFkVUhBWnU5T3FOU0x3eGxCZnc4MDY4c3JnMWtuYXcwS1dsQWRjQUF4SWkKR1FqNC94RWptODRIOWI5cEdpYitUdW5SZjUwc1FCMVphRzZtK0Zpd25ScVAwei94M0JrR2dhZ080RHJkeUZORkNRYm1EM0REK2tDbQpEdUpXQlE4WVRmd2dndEZ6VlhTTmRuS2dIWjBkd04wL2NRSURBUUFCTUEwR0NTcUdTSWIzRFFFQkJRVUFBNEdCQUZCb1BVbjBMQndHCmxOK1ZZSCtXZXhmK1QzR3RaTWpkZDlMdldWWG9QK2lPQlNvaDhnZlN0YWRTL3B5eHR1SmJkeGRBNm5MV0k4c29nVExEQUhrWTdGa1gKaWNuR2FoNXh5ZjIzZEtVbFJXbkZTS3NaNFVXS0pXc1o3dVc3RXZWLzk2YU5VY1B3blhTM3FUNmdwZisyU1FNVDJpTE03WEdDSzVuUApPcmYxTFhMSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpWYWxpQ2VydCBDbGFzcyAyIFZBCj09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWxBQ0FRRXdEUVlKS29aSWh2Y05BUUVGQlFBd2dic3hKREFpQmdOVkJBY1RHMVpoYkdsRFpYSjBJRlpoYkdsa1lYUnAKYjI0Z1RtVjBkMjl5YXpFWE1CVUdBMVVFQ2hNT1ZtRnNhVU5sY25Rc0lFbHVZeTR4TlRBekJnTlZCQXNUTEZaaGJHbERaWEowSUVOcwpZWE56SURJZ1VHOXNhV041SUZaaGJHbGtZWFJwYjI0Z1FYVjBhRzl5YVhSNU1TRXdId1lEVlFRREV4aG9kSFJ3T2k4dmQzZDNMblpoCmJHbGpaWEowTG1OdmJTOHhJREFlQmdrcWhraUc5dzBCQ1FFV0VXbHVabTlBZG1Gc2FXTmxjblF1WTI5dE1CNFhEVGs1TURZeU5qQXcKTVRrMU5Gb1hEVEU1TURZeU5qQXdNVGsxTkZvd2dic3hKREFpQmdOVkJBY1RHMVpoYkdsRFpYSjBJRlpoYkdsa1lYUnBiMjRnVG1WMApkMjl5YXpFWE1CVUdBMVVFQ2hNT1ZtRnNhVU5sY25Rc0lFbHVZeTR4TlRBekJnTlZCQXNUTEZaaGJHbERaWEowSUVOc1lYTnpJRElnClVHOXNhV041SUZaaGJHbGtZWFJwYjI0Z1FYVjBhRzl5YVhSNU1TRXdId1lEVlFRREV4aG9kSFJ3T2k4dmQzZDNMblpoYkdsalpYSjAKTG1OdmJTOHhJREFlQmdrcWhraUc5dzBCQ1FFV0VXbHVabTlBZG1Gc2FXTmxjblF1WTI5dE1JR2ZNQTBHQ1NxR1NJYjNEUUVCQVFVQQpBNEdOQURDQmlRS0JnUURPT25ISzVhdklXWkpWMTZ2WWRBNzU3dG4yVlVkWlpVY09CVlhjNjVnMlBGeFRYZE13enpqc3ZVR0o3U1ZDCkNTUnJDbDZ6Zk4xU0xVem0xTlo5V2xtcFpkUkpFeTBrVFJ4UWI3WEJoVlE3L25IazAxeEMrWURna1JvS1d6azJaL00vVlh3YlA3UmYKWkhNMDQ3UVN2NGRrK05vUy96Y253Yk5EdSs5N2JpNXA5d0lEQVFBQk1BMEdDU3FHU0liM0RRRUJCUVVBQTRHQkFEdC9VRzl2VUpTWgpTV0k0T0I5TCtLWElQcWVDZ2ZZcngrakZ6dWc2RUlMTEdBQ09UYjJvV0graGVRQzF1K21OcjBIWkR6VHVJWUVab0RKSktQVEVqbGJWClVqUDlVTlYrbVd3RDVNbE0vTXRzcTJhelNpR001YlVNTWo0UXNzeHNvZHlhbUV3Q1cvUE91WjZsY2c1S3R6ODg1aFpvK0w3dGRFeTgKVzlWaUgwUGQKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKUlNBIFJvb3QgQ2VydGlmaWNhdGUgMQo9PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlDNXpDQ0FsQUNBUUV3RFFZSktvWklodmNOQVFFRkJRQXdnYnN4SkRBaUJnTlZCQWNURzFaaGJHbERaWEowSUZaaGJHbGtZWFJwCmIyNGdUbVYwZDI5eWF6RVhNQlVHQTFVRUNoTU9WbUZzYVVObGNuUXNJRWx1WXk0eE5UQXpCZ05WQkFzVExGWmhiR2xEWlhKMElFTnMKWVhOeklETWdVRzlzYVdONUlGWmhiR2xrWVhScGIyNGdRWFYwYUc5eWFYUjVNU0V3SHdZRFZRUURFeGhvZEhSd09pOHZkM2QzTG5aaApiR2xqWlhKMExtTnZiUzh4SURBZUJna3Foa2lHOXcwQkNRRVdFV2x1Wm05QWRtRnNhV05sY25RdVkyOXRNQjRYRFRrNU1EWXlOakF3Ck1qSXpNMW9YRFRFNU1EWXlOakF3TWpJek0xb3dnYnN4SkRBaUJnTlZCQWNURzFaaGJHbERaWEowSUZaaGJHbGtZWFJwYjI0Z1RtVjAKZDI5eWF6RVhNQlVHQTFVRUNoTU9WbUZzYVVObGNuUXNJRWx1WXk0eE5UQXpCZ05WQkFzVExGWmhiR2xEWlhKMElFTnNZWE56SURNZwpVRzlzYVdONUlGWmhiR2xrWVhScGIyNGdRWFYwYUc5eWFYUjVNU0V3SHdZRFZRUURFeGhvZEhSd09pOHZkM2QzTG5aaGJHbGpaWEowCkxtTnZiUzh4SURBZUJna3Foa2lHOXcwQkNRRVdFV2x1Wm05QWRtRnNhV05sY25RdVkyOXRNSUdmTUEwR0NTcUdTSWIzRFFFQkFRVUEKQTRHTkFEQ0JpUUtCZ1FEam1GR1dIT2pWc1FhQmFsZkRjbldUcTgrZXB2enpGbExXTFUyZk5VU29MZ1JOQjBtS09DbjFkemZudDZ0ZAozelp4RkptUDNNS1M4ZWRna3BmczJFamN2OEVDSU1Za3BDaE1NRnAyYmJGYzg5M2VuaEJ4b1lqSFc1dEJiY3F3dUk0VjdxMHpLODlICkJGeDFjUXFZSkpncHAwbFpwZDM0dDBOaVlmUFQ0dEJWUHdJREFRQUJNQTBHQ1NxR1NJYjNEUUVCQlFVQUE0R0JBRmE3QWxpRVp3Z3MKM3gvYmUwa3o5ZE5ubmZTMENoQ3p5Y1VzNHBKcWNYZ244bkNEUXRNK3o2bFU5UEhZa2hhTTBRVExTNnZKbjBXdVBJcXBzSEV6WGNqRgpWOSt2cURXemY0bUg2ZWdsa3JoL2hYcXUxcndlTjFncVo4bVJ6eXFCUHUzR09kL0FQaG1jR2N3VFRZSkJ0WXplNEQxZ0NDQVBSWDVyCm9uK2pqQlh1Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClZlcmlzaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVHakNDQXdJQ0VRQ2JmZ1pKb3o1aXVkWHVrRWh4S2U5WE1BMEdDU3FHU0liM0RRRUJCUVVBTUlIS01Rc3dDUVlEVlFRR0V3SlYKVXpFWE1CVUdBMVVFQ2hNT1ZtVnlhVk5wWjI0c0lFbHVZeTR4SHpBZEJnTlZCQXNURmxabGNtbFRhV2R1SUZSeWRYTjBJRTVsZEhkdgpjbXN4T2pBNEJnTlZCQXNUTVNoaktTQXhPVGs1SUZabGNtbFRhV2R1TENCSmJtTXVJQzBnUm05eUlHRjFkR2h2Y21sNlpXUWdkWE5sCklHOXViSGt4UlRCREJnTlZCQU1UUEZabGNtbFRhV2R1SUVOc1lYTnpJRE1nVUhWaWJHbGpJRkJ5YVcxaGNua2dRMlZ5ZEdsbWFXTmgKZEdsdmJpQkJkWFJvYjNKcGRIa2dMU0JITXpBZUZ3MDVPVEV3TURFd01EQXdNREJhRncwek5qQTNNVFl5TXpVNU5UbGFNSUhLTVFzdwpDUVlEVlFRR0V3SlZVekVYTUJVR0ExVUVDaE1PVm1WeWFWTnBaMjRzSUVsdVl5NHhIekFkQmdOVkJBc1RGbFpsY21sVGFXZHVJRlJ5CmRYTjBJRTVsZEhkdmNtc3hPakE0QmdOVkJBc1RNU2hqS1NBeE9UazVJRlpsY21sVGFXZHVMQ0JKYm1NdUlDMGdSbTl5SUdGMWRHaHYKY21sNlpXUWdkWE5sSUc5dWJIa3hSVEJEQmdOVkJBTVRQRlpsY21sVGFXZHVJRU5zWVhOeklETWdVSFZpYkdsaklGQnlhVzFoY25rZwpRMlZ5ZEdsbWFXTmhkR2x2YmlCQmRYUm9iM0pwZEhrZ0xTQkhNekNDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DCmdnRUJBTXU2bkZMOGVCOGFIbThiTjNPOStNbHJsQkl3VC9BMlIvWFFrUXIxRjhpbFljRVdRRTM3aW1HUTVYWWd3UkVHZmFzc2JxYjEKRVVHTytpMnRLbUZacEdjbVRORG92RkpiY0NBRVdORjZ5YVJwdklNWFpLMEZpN3pRV002TmpQWHI4RUpKQzUyWEoyY3lidUd1a3hVYwpjTHdnVFM4WTNwS0k2R3lGVnhFYTZYN2pKaEZVb2tXV1ZZUEtNSW5vM05pajdTcUFQMzk1WlZjK0ZTQm1DQytWazcrcVJ5K29ScGZ3CkV1TCt3Z29yVWVaMjVyZEd0K0lOcHN5b3cweFpWWW5tNkZOY0hPcWQ4R0lXQzZmSlh3enczc0oyenEvM2F2TDZRYWFpTXhUSjVYcGoKMDU1aU45V0ZaWjRPNWxNa2RCdGVIUkpUVzhjczU0TkpPeFd1aW1pNVY1Y0NBd0VBQVRBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQQpFUlNXd2F1U0NQYy9MOG15L3VSYW4yVGUyeUZQaHBrMGRqWlgzZEFWTDhXdGZ4VWZOMkp6UHRUblg4NFhBOXMxK2l2YnJtQUpYeDVmCmoyNjdDejNxV2hNZURHQnZ0Y0MxSXlJdUJ3dkxxWFRMUjdzZHdkZWxhOHd2MGtMOVNkMm5pYzlUdXRvQVdpaS9ndC80dWhNZFVJYUMKL1k0d2p5bEdzQjQ5TmRvNFloWVlTcTNtdGxGczNxOWk2d0hRSGlUK2VvOFNHaEpvdVB0bW1SUVVSVnl1NTY1cEY0RXJXamZKWGlyMAp4dUtoWEZTYnBsUUF6L0R4d2NlWU1CbzdOaGJibzI3cS9hMnl3dHJ2QWtjVGlzRHhzekd0VHh6aFQ1eXZEd3lkOTNnTjJQUTFWb0RhCnQyMFhqNTBlZ1dUaC9zVkZ1cTFydVFwNlRrOUxoTzVMOFgzZEVRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKVmVyaXNpZ24gQ2xhc3MgNCBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRUdqQ0NBd0lDRVFEc29LZUxiblZxQWMvRWZNd3ZsRjdYTUEwR0NTcUdTSWIzRFFFQkJRVUFNSUhLTVFzd0NRWURWUVFHRXdKVgpVekVYTUJVR0ExVUVDaE1PVm1WeWFWTnBaMjRzSUVsdVl5NHhIekFkQmdOVkJBc1RGbFpsY21sVGFXZHVJRlJ5ZFhOMElFNWxkSGR2CmNtc3hPakE0QmdOVkJBc1RNU2hqS1NBeE9UazVJRlpsY21sVGFXZHVMQ0JKYm1NdUlDMGdSbTl5SUdGMWRHaHZjbWw2WldRZ2RYTmwKSUc5dWJIa3hSVEJEQmdOVkJBTVRQRlpsY21sVGFXZHVJRU5zWVhOeklEUWdVSFZpYkdsaklGQnlhVzFoY25rZ1EyVnlkR2xtYVdOaApkR2x2YmlCQmRYUm9iM0pwZEhrZ0xTQkhNekFlRncwNU9URXdNREV3TURBd01EQmFGdzB6TmpBM01UWXlNelU1TlRsYU1JSEtNUXN3CkNRWURWUVFHRXdKVlV6RVhNQlVHQTFVRUNoTU9WbVZ5YVZOcFoyNHNJRWx1WXk0eEh6QWRCZ05WQkFzVEZsWmxjbWxUYVdkdUlGUnkKZFhOMElFNWxkSGR2Y21zeE9qQTRCZ05WQkFzVE1TaGpLU0F4T1RrNUlGWmxjbWxUYVdkdUxDQkpibU11SUMwZ1JtOXlJR0YxZEdodgpjbWw2WldRZ2RYTmxJRzl1YkhreFJUQkRCZ05WQkFNVFBGWmxjbWxUYVdkdUlFTnNZWE56SURRZ1VIVmliR2xqSUZCeWFXMWhjbmtnClEyVnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGtnTFNCSE16Q0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0MKZ2dFQkFLM0xwUkZweGxtcjhZKzFHUTlXenN5MUh5RGtuaVlsUytCelpZbFozdENENVBVUHRidXQ4WHpvSWZ6azZBenVmRVVpR1hhUwp0Qk8zSUZzSittR3VxUEtsallYQ0t0YmVaamJTbXdMMHFKSmdmSnhwdEk4a0h0Q0dVdll5bkVGWUhpSzl6VVZpbFFodTBHYmRVNkxNCjhCRGNWSE9MQktGR016TmNGMEM1bmszVDg3NVZnK2l4aVk1YWZKcVdJcEE3aUNYeTBsT0lBZ3dMZVBMbU54ZExNRVlINUlCdHB0aVcKTHVncytCR3pPQTFtcHB2cXlTTmIyNDdpOHhPT0dsa3RxZ0x3N0tTSFp0ekJQL1hZdWZUc2dzYlNQWlVkNWNCUGhNblpvMFFvQm1yWApSYXp3YTJydlRsLzRFWUllT0dNMFpsRFVQcE56K2pERFpxMy9reTJYN3dNQ0F3RUFBVEFOQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBCmovb2xhMDliNUtST0oxV3JJaFZaUE1xMUN0UksyNnZkb1Y5VHhhQlhPY0xPUnl1K09zaFd2OExaSnhBNnNRVTh3SGN4dXpyVEJYdHQKbWh3d2pJRExrNU1xZzZzRlVZSUNBQkZuYS9PSVlVZGZBNVBWV3czZzhkU2hNaldGc2pyYnNJS3IwY3NLdkUrTVc4VkxBRHNmS29LbQpmamFGM0g0OFp3QzE1RHRTNEtqclhSWDV4bTN3clIwT2hiZXBtbk1VV2x1UFFTakExZWd0VGFSZXphclo3YzdjMk5VOFFoMFh3UkpkClJUakRPUFA4aFM2RFJraXkxeUJma2phUDUza1BtRjZaNlBEUXBMdjFVNzBxemxtd3IyNS9iTHZTSGdDd0llMzRRV0tDdWRpeXhMdEcKVVBNeHhZOEJxSFRyOVhnbjJ1ZjNaa1B6bm9NK0lLckROV0NSemc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENBCj09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUUyRENDQkVHZ0F3SUJBZ0lFTjByU1F6QU5CZ2txaGtpRzl3MEJBUVVGQURDQnd6RUxNQWtHQTFVRUJoTUNWVk14RkRBU0JnTlYKQkFvVEMwVnVkSEoxYzNRdWJtVjBNVHN3T1FZRFZRUUxFekozZDNjdVpXNTBjblZ6ZEM1dVpYUXZRMUJUSUdsdVkyOXljQzRnWW5rZwpjbVZtTGlBb2JHbHRhWFJ6SUd4cFlXSXVLVEVsTUNNR0ExVUVDeE1jS0dNcElERTVPVGtnUlc1MGNuVnpkQzV1WlhRZ1RHbHRhWFJsClpERTZNRGdHQTFVRUF4TXhSVzUwY25WemRDNXVaWFFnVTJWamRYSmxJRk5sY25abGNpQkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHYKY21sMGVUQWVGdzA1T1RBMU1qVXhOakE1TkRCYUZ3MHhPVEExTWpVeE5qTTVOREJhTUlIRE1Rc3dDUVlEVlFRR0V3SlZVekVVTUJJRwpBMVVFQ2hNTFJXNTBjblZ6ZEM1dVpYUXhPekE1QmdOVkJBc1RNbmQzZHk1bGJuUnlkWE4wTG01bGRDOURVRk1nYVc1amIzSndMaUJpCmVTQnlaV1l1SUNoc2FXMXBkSE1nYkdsaFlpNHBNU1V3SXdZRFZRUUxFeHdvWXlrZ01UazVPU0JGYm5SeWRYTjBMbTVsZENCTWFXMXAKZEdWa01Ub3dPQVlEVlFRREV6RkZiblJ5ZFhOMExtNWxkQ0JUWldOMWNtVWdVMlZ5ZG1WeUlFTmxjblJwWm1sallYUnBiMjRnUVhWMAphRzl5YVhSNU1JR2RNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0R0xBRENCaHdLQmdRRE5LSU0wVkJ1Sjh3K3ZONUV4LzY4eFlNbW82TElRCmFPMmY1NU0yOFFwa3UwZjFCQmMvSTBkTnhTY1pnU1lNVkhJTmlDM1pINW9Tbjd5emNkT0FHVDlIWm51TU5TalN1UXJmSk5xYzFsQjUKZ1hwYTB6ZjN3a3JZS1pJbVpOSGttR3c2QUlyMU5KdGwrTzNqRVAvOXVFbFkzS0RlZ2pscmdiRVdHV0c1VkxibVF3SUJBNk9DQWRjdwpnZ0hUTUJFR0NXQ0dTQUdHK0VJQkFRUUVBd0lBQnpDQ0FSa0dBMVVkSHdTQ0FSQXdnZ0VNTUlIZW9JSGJvSUhZcElIVk1JSFNNUXN3CkNRWURWUVFHRXdKVlV6RVVNQklHQTFVRUNoTUxSVzUwY25WemRDNXVaWFF4T3pBNUJnTlZCQXNUTW5kM2R5NWxiblJ5ZFhOMExtNWwKZEM5RFVGTWdhVzVqYjNKd0xpQmllU0J5WldZdUlDaHNhVzFwZEhNZ2JHbGhZaTRwTVNVd0l3WURWUVFMRXh3b1l5a2dNVGs1T1NCRgpiblJ5ZFhOMExtNWxkQ0JNYVcxcGRHVmtNVG93T0FZRFZRUURFekZGYm5SeWRYTjBMbTVsZENCVFpXTjFjbVVnVTJWeWRtVnlJRU5sCmNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNUTB3Q3dZRFZRUURFd1JEVWt3eE1DbWdKNkFsaGlOb2RIUndPaTh2ZDNkM0xtVnUKZEhKMWMzUXVibVYwTDBOU1RDOXVaWFF4TG1OeWJEQXJCZ05WSFJBRUpEQWlnQTh4T1RrNU1EVXlOVEUyTURrME1GcUJEekl3TVRrdwpOVEkxTVRZd09UUXdXakFMQmdOVkhROEVCQU1DQVFZd0h3WURWUjBqQkJnd0ZvQVU4QmRpRTFVOXMvOEtBR3Y3VUlTWDgrMWkwQm93CkhRWURWUjBPQkJZRUZQQVhZaE5WUGJQL0NnQnIrMUNFbC9QdFl0QWFNQXdHQTFVZEV3UUZNQU1CQWY4d0dRWUpLb1pJaHZaOUIwRUEKQkF3d0Noc0VWalF1TUFNQ0JKQXdEUVlKS29aSWh2Y05BUUVGQlFBRGdZRUFrTnd3QXZwa2RNS25DcVY4SVkwMEY2ajdSdzcvSlh5TgpFd3I3NUppMTc0ejR4UkFOOTVLKzhjUFYxWlZxQkxzc3ppWTJaY2d4eHVmdVArTlhkWVI2RWU5R1R4ajAwNWk3cUljeXVuTDJQT0k5Cm45Y2QyY05nUTR4WURpS1dMMktqTEIrNnJRWHZxeko0aDZCVWN4bTFYQVg1VWo1dExVVUw5d3FUNnUwRytiST0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKRW50cnVzdC5uZXQgUHJlbWl1bSAyMDQ4IFNlY3VyZSBTZXJ2ZXIgQ0EKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVYRENDQTBTZ0F3SUJBZ0lFT0dPNVpqQU5CZ2txaGtpRzl3MEJBUVVGQURDQnRERVVNQklHQTFVRUNoTUxSVzUwY25WemRDNXUKWlhReFFEQStCZ05WQkFzVU4zZDNkeTVsYm5SeWRYTjBMbTVsZEM5RFVGTmZNakEwT0NCcGJtTnZjbkF1SUdKNUlISmxaaTRnS0d4cApiV2wwY3lCc2FXRmlMaWt4SlRBakJnTlZCQXNUSENoaktTQXhPVGs1SUVWdWRISjFjM1F1Ym1WMElFeHBiV2wwWldReE16QXhCZ05WCkJBTVRLa1Z1ZEhKMWMzUXVibVYwSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVJQ2d5TURRNEtUQWVGdzA1T1RFeU1qUXgKTnpVd05URmFGdzB4T1RFeU1qUXhPREl3TlRGYU1JRzBNUlF3RWdZRFZRUUtFd3RGYm5SeWRYTjBMbTVsZERGQU1ENEdBMVVFQ3hRMwpkM2QzTG1WdWRISjFjM1F1Ym1WMEwwTlFVMTh5TURRNElHbHVZMjl5Y0M0Z1lua2djbVZtTGlBb2JHbHRhWFJ6SUd4cFlXSXVLVEVsCk1DTUdBMVVFQ3hNY0tHTXBJREU1T1RrZ1JXNTBjblZ6ZEM1dVpYUWdUR2x0YVhSbFpERXpNREVHQTFVRUF4TXFSVzUwY25WemRDNXUKWlhRZ1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGtnS0RJd05EZ3BNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QQpNSUlCQ2dLQ0FRRUFyVTFMcVJLR3N1cWpJQWNWRm1RcUswdlJ2d3RLVFk3dGdIYWxaN2Q0UU1CelFzaG93TnRUSzkxZXVIYVlOWk9MCkdwMThFem9PSDF1M0hzL2xKQlFlc1lHcGpYMjR6R3RMQS9FQ0ROeXJwVUFrQUg5MGxLR2RDQ216aUF2MWgzZWRWYzNrdzM3WGFtU3IKaFJTR2xWdVhNbEJ2UGNpNlpnemovTDI0U2NGMmlVa1ovY0Nvdlltalp5L0duN3h4R1dDNExla3N5WkIyWm51VTRxOTQxbVZUWFR6VwpuTExQS1FQNUw2UlFzdFJJemdVeVZZcjlzbVJNRHVTWUIzWGJmOSs1Q0ZWZ2hUQXArWHRJcEdtRzR6VS9Ib1pkZW5vVnZlOEFqaFVpClZCY0FrQ2FUdkE1SmFKRy8rRWZUblpWQ3dRNU4zMjhtejhNWUlXSm1RM0RXMWNBSDRRSURBUUFCbzNRd2NqQVJCZ2xnaGtnQmh2aEMKQVFFRUJBTUNBQWN3SHdZRFZSMGpCQmd3Rm9BVVZlU0IwUkdBdnRpSnVRaWpNZm1oSkFrV3VYQXdIUVlEVlIwT0JCWUVGRlhrZ2RFUgpnTDdZaWJrSW96SDVvU1FKRnJsd01CMEdDU3FHU0liMmZRZEJBQVFRTUE0YkNGWTFMakE2TkM0d0F3SUVrREFOQmdrcWhraUc5dzBCCkFRVUZBQU9DQVFFQVdVZXNJWVNLRjhtY2lWTWV1b0NGR3NZOFRqNnhuTFo4eHBKZEdHUUM0OU1HQ0JGaGZHUGpLNTB4QTNCMjBxTW8Kb1BTN21tTno3VzNsS3R2dEZLa3J4allSMEN2ckI0dWwycDVjR1oxV0V2VlVLY2dGN2JJU0tvMzBBeHYvNTVJUWg3QTZ0Y09kQlRjUwpvOGYwRmJuVnBEa1dtMU02STVIeHFJS2lhb2hvd1hrQ0lyeXFwdGF1MzdBVVg3aUgwTjE4ZjN2L3J4elA1dHNIclY3YmhaM1FLdzB6CjJ3VFI1a2xBRXl0Mit6N3BuSWtQRmM0WXNJVjRJVTlyVHc3Nk5tZk5CL0wvQ05EaTN0bS9LcSs0aDRZaFBBVEt0NVJvZjg4ODZaalgKT1Avc3dObFE4QzVMV0s1R2I5QXV3MkRhY2xWeXZVeEZubUc2djRTQmtnUFIwbWw4eFE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290Cj09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURkekNDQWwrZ0F3SUJBZ0lFQWdBQXVUQU5CZ2txaGtpRzl3MEJBUVVGQURCYU1Rc3dDUVlEVlFRR0V3SkpSVEVTTUJBR0ExVUUKQ2hNSlFtRnNkR2x0YjNKbE1STXdFUVlEVlFRTEV3cERlV0psY2xSeWRYTjBNU0l3SUFZRFZRUURFeGxDWVd4MGFXMXZjbVVnUTNsaQpaWEpVY25WemRDQlNiMjkwTUI0WERUQXdNRFV4TWpFNE5EWXdNRm9YRFRJMU1EVXhNakl6TlRrd01Gb3dXakVMTUFrR0ExVUVCaE1DClNVVXhFakFRQmdOVkJBb1RDVUpoYkhScGJXOXlaVEVUTUJFR0ExVUVDeE1LUTNsaVpYSlVjblZ6ZERFaU1DQUdBMVVFQXhNWlFtRnMKZEdsdGIzSmxJRU41WW1WeVZISjFjM1FnVW05dmREQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUtNRQp1eUtybUQxWDZDWnltclY1MUNuaTRlaVZnTEd3NDF1T0t5bWFaTitoWGUyd0NRVnQyeWd1em1LaVl2NjBpTm9TNnpqcklaM0FRU3NCClVudUlkOU1jajhlNnVZaTFhZ25uYytnUlFLZlJ6TXBpalMzbGp3dW1VTktvVU1NbzZ2V3JKWWVLbXBZY3FXZTRQd3pWOS9sU0V5L0MKRzlWd2NQQ1B3QkxLQnN1YTRkbktNM3AzMXZqc3VmRm9SRUpJRTlMQXdxU3VYbUQrdHFZRi9MVGRCMWtDMUZrWW1HUDFwV1Bna0F4OQpYYklHZXZPRjZ1dlVBNjVlaEQ1Zi94WHRhYno1T1RaeWRjOTNVazN6eVpBc3VUM2x5U05UUHg4a21DRmNCNWtwdmNZNjdPZHVoanByCmwzUmpNNzFvR0RId2VJMTJ2L3llamwwcWhxZE5rTnduR2prQ0F3RUFBYU5GTUVNd0hRWURWUjBPQkJZRUZPV2RXVENDUjFqTXJQb0kKVkRhR2V6cTFCRTN3TUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFNd0RnWURWUjBQQVFIL0JBUURBZ0VHTUEwR0NTcUdTSWIzRFFFQgpCUVVBQTRJQkFRQ0ZERjJPNUc5UmFFSUZvTjI3VHljbGhBTzk5MlQ5TGRjdzQ2UVFGK3ZhS1NtMmVUOTI5aGtUSTdnUUN2bFlwTlJoCmNMMEVZV29TaWhmVkNyM0Z2REI4MXVrTUpZMkdRRS9zektOK09NWTNFVS90M1dneGprelNzd0YwN3I1MVhnZElHbjl3L3haY2hNQjUKaGJnRi9YKytaUkdqRDhBQ3RQaFNOemtFMWFreGVoaS9vQ3IwRXBuM28wV0M0enhlOVoyZXRjaWVmQzdJcEo1T0NCUkxiZjF3YldzYQpZNzFrNWgrM3p2RHlueTY3RzdmeVVJaHprc0xpNHhhTm1qSUNxNDRZM2VrUUVlNStOYXVRcno0d2xIclFNejJuWlEvMS9JNmVZczlIClJDd0JYYnNkdFRMU1I5STRMdEQrZ2R3eWFoNjE3anpWL09lQkhSbkRKRUxxWXptcAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpFcXVpZmF4IFNlY3VyZSBHbG9iYWwgZUJ1c2luZXNzIENBCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNrRENDQWZtZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRUUZBREJhTVFzd0NRWURWUVFHRXdKVlV6RWNNQm9HQTFVRUNoTVQKUlhGMWFXWmhlQ0JUWldOMWNtVWdTVzVqTGpFdE1Dc0dBMVVFQXhNa1JYRjFhV1poZUNCVFpXTjFjbVVnUjJ4dlltRnNJR1ZDZFhOcApibVZ6Y3lCRFFTMHhNQjRYRFRrNU1EWXlNVEEwTURBd01Gb1hEVEl3TURZeU1UQTBNREF3TUZvd1dqRUxNQWtHQTFVRUJoTUNWVk14CkhEQWFCZ05WQkFvVEUwVnhkV2xtWVhnZ1UyVmpkWEpsSUVsdVl5NHhMVEFyQmdOVkJBTVRKRVZ4ZFdsbVlYZ2dVMlZqZFhKbElFZHMKYjJKaGJDQmxRblZ6YVc1bGMzTWdRMEV0TVRDQm56QU5CZ2txaGtpRzl3MEJBUUVGQUFPQmpRQXdnWWtDZ1lFQXV1Y1hrQUpsc1RSVgpQRW5DVWRYZnA5RTNqOUhuZ1hOQlVtQ2JuYUVYSm5pdHg3SG9KcFF5dGQ0empUb3YyL0thZWxwem1LTmM2ZnVLY3h0YzU4Ty9nR3pOCnFmVFdLOEQzK1ptcVk2S3hSd0lQMU9SUk9oSThiSXBhVklSdzI4SEZrTTl5UmN1b1djRE5NNTAvbzVicmhUTWhIRDRlUG1CdWRweG4KaGNYSXcyRUNBd0VBQWFObU1HUXdFUVlKWUlaSUFZYjRRZ0VCQkFRREFnQUhNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdId1lEVlIwagpCQmd3Rm9BVXZxaWdkSEpRYTBTM3lTUFkrNmovczFkcmFHd3dIUVlEVlIwT0JCWUVGTDZvb0hSeVVHdEV0OGtqMlB1by83TlhhMmhzCk1BMEdDU3FHU0liM0RRRUJCQVVBQTRHQkFERGlBVkdxeCtwZjJyblFaUTh3MWo3YURSUkpicEdUSnhReDc4VDNMVVg0N01lL29rRU4KSTdTUytSa0FaNzBCcjgzZ2NmeGF6MlRFNEphWTBLTkE0Z0dLN3ljSDhXVUJpa1F0Qm1WMVVzQ0dFQ0FoWDJ4ckQyeXVDUnl2OHFJWQpOTVIxcEhNYzhZM2M3NjM1czNhMGtyL2NsUkFldnN2SU8xcUVZQmxXbEtsVgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpFcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EgMQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJQ2dqQ0NBZXVnQXdJQkFnSUJCREFOQmdrcWhraUc5dzBCQVFRRkFEQlRNUXN3Q1FZRFZRUUdFd0pWVXpFY01Cb0dBMVVFQ2hNVApSWEYxYVdaaGVDQlRaV04xY21VZ1NXNWpMakVtTUNRR0ExVUVBeE1kUlhGMWFXWmhlQ0JUWldOMWNtVWdaVUoxYzJsdVpYTnpJRU5CCkxURXdIaGNOT1Rrd05qSXhNRFF3TURBd1doY05NakF3TmpJeE1EUXdNREF3V2pCVE1Rc3dDUVlEVlFRR0V3SlZVekVjTUJvR0ExVUUKQ2hNVFJYRjFhV1poZUNCVFpXTjFjbVVnU1c1akxqRW1NQ1FHQTFVRUF4TWRSWEYxYVdaaGVDQlRaV04xY21VZ1pVSjFjMmx1WlhOegpJRU5CTFRFd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFNNHZHYndYdDNmZWs2bGZXZzBYVHpRYURKajBJdGxaCjFNUm9SdkMwTmNXRkF5REdyMFdsSVZGRlFlc1dXRFl5YitKUVltVDUvVkdjcWlUWjlKMkRLb2NLSWRNU09EUnNqUUJ1V3FEWlF1NGEKSVpYNVVreFZXc1VQT0U5RyttMzRMalhXSFh6cjR2Q3dkWURJcVJPc3ZvanZPbTZyWHlvNFlnS3dFbnYrajZZREFnTUJBQUdqWmpCawpNQkVHQ1dDR1NBR0crRUlCQVFRRUF3SUFCekFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjhHQTFVZEl3UVlNQmFBRkVwNE1sSVIyMWtXCk5sN2Z3UlEyUUdwSGZFeWhNQjBHQTFVZERnUVdCQlJLZURKU0VkdFpGalplMzhFVU5rQnFSM3hNb1RBTkJna3Foa2lHOXcwQkFRUUYKQUFPQmdRQjFXNmliQXhIbTZWWk16Zm1wVE1BTm12UE1aV25tSlhiTVdiZldWTU1kelptc0dkMjBoZFhnUGZ4aUlLZUVTMWhsOGVMNQpsU0UvOWRSK1dCNUhoMVErV0tHMXRmZ3E3M0hudk1QMnNVbEc0dGVnYStWV2Vwb25tSHhHWWhUbnlmeHVBeEo1Z0RnZFNJS04vQmYrCktwWXJ0V0ttcGoyOWY1Slp6Vm9xZ3JJM2VRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENBIDIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJRENDQW9tZ0F3SUJBZ0lFTjNEUHRUQU5CZ2txaGtpRzl3MEJBUVVGQURCT01Rc3dDUVlEVlFRR0V3SlZVekVYTUJVR0ExVUUKQ2hNT1JYRjFhV1poZUNCVFpXTjFjbVV4SmpBa0JnTlZCQXNUSFVWeGRXbG1ZWGdnVTJWamRYSmxJR1ZDZFhOcGJtVnpjeUJEUVMweQpNQjRYRFRrNU1EWXlNekV5TVRRME5Wb1hEVEU1TURZeU16RXlNVFEwTlZvd1RqRUxNQWtHQTFVRUJoTUNWVk14RnpBVkJnTlZCQW9UCkRrVnhkV2xtWVhnZ1UyVmpkWEpsTVNZd0pBWURWUVFMRXgxRmNYVnBabUY0SUZObFkzVnlaU0JsUW5WemFXNWxjM01nUTBFdE1qQ0IKbnpBTkJna3Foa2lHOXcwQkFRRUZBQU9CalFBd2dZa0NnWUVBNURrNWt4NVNCaHNvTnZpeW95bkY3WTZ5RWIzKzYrZTBkTUtQL3dYbgoyWjBHdnhMSVB3N3kxdEVrc2hIZTBYTUppdFN4TEpnSkRSNVFScktEcGtXTlltaTdoUnNnY0RLcVFNMm1sbC9FY1RjL0JQTzNRU1E1CkJ4b2VMbUZZb0JJTDVhWGZ4YXZxTjNITUhNZzNPcm1YVXFlc3hXb2tsRTZjZTgvQWF0YmZJYjBDQXdFQUFhT0NBUWt3Z2dFRk1IQUcKQTFVZEh3UnBNR2N3WmFCam9HR2tYekJkTVFzd0NRWURWUVFHRXdKVlV6RVhNQlVHQTFVRUNoTU9SWEYxYVdaaGVDQlRaV04xY21VeApKakFrQmdOVkJBc1RIVVZ4ZFdsbVlYZ2dVMlZqZFhKbElHVkNkWE5wYm1WemN5QkRRUzB5TVEwd0N3WURWUVFERXdSRFVrd3hNQm9HCkExVWRFQVFUTUJHQkR6SXdNVGt3TmpJek1USXhORFExV2pBTEJnTlZIUThFQkFNQ0FRWXdId1lEVlIwakJCZ3dGb0FVVUo0TDZxOWUKdVNCSXBsQnF5LzNZSUhxbmduWXdIUVlEVlIwT0JCWUVGRkNlQytxdlhya2dTS1pRYXN2OTJDQjZwNEoyTUF3R0ExVWRFd1FGTUFNQgpBZjh3R2dZSktvWklodlo5QjBFQUJBMHdDeHNGVmpNdU1HTURBZ2JBTUEwR0NTcUdTSWIzRFFFQkJRVUFBNEdCQUF5R2dxM29UaHIxCmpva240alZZUFNtMEI0ODJVSlcvYnNHZTY4U1Fzb1dvdTdkQzRBOEhPZC83bnBDeTBjRStVNThEUkxCK1MvUnY1SHdmNStLeDVMaWEKNzhPOXp0NExNalRaM2lqdE0ydkUxTmM5RWxpcmZRa3R5M0QxRTRxVW9TZWsxbkRGYlpTMXlYMmRvTkxHQ0VuWlpwdW0wL1FMM01VbQpWK0dSTU9yTgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpBZGRUcnVzdCBMb3ctVmFsdWUgU2VydmljZXMgUm9vdAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRUdEQ0NBd0NnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQmxNUXN3Q1FZRFZRUUdFd0pUUlRFVU1CSUdBMVVFQ2hNTApRV1JrVkhKMWMzUWdRVUl4SFRBYkJnTlZCQXNURkVGa1pGUnlkWE4wSUZSVVVDQk9aWFIzYjNKck1TRXdId1lEVlFRREV4aEJaR1JVCmNuVnpkQ0JEYkdGemN5QXhJRU5CSUZKdmIzUXdIaGNOTURBd05UTXdNVEF6T0RNeFdoY05NakF3TlRNd01UQXpPRE14V2pCbE1Rc3cKQ1FZRFZRUUdFd0pUUlRFVU1CSUdBMVVFQ2hNTFFXUmtWSEoxYzNRZ1FVSXhIVEFiQmdOVkJBc1RGRUZrWkZSeWRYTjBJRlJVVUNCTwpaWFIzYjNKck1TRXdId1lEVlFRREV4aEJaR1JVY25WemRDQkRiR0Z6Y3lBeElFTkJJRkp2YjNRd2dnRWlNQTBHQ1NxR1NJYjNEUUVCCkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDV2x0UWhTV0RpYStoQkJ3emV4T0RjRXlQTndUWEgrOVpPRVFwblh2VUdXMnVsQ0R0YktSWTYKNTRleU5BYkZ2QVdsQTN5Q3l5a1FydUdJZ2IzV250UCtMVmJCRmM3akpwMFZMaEQ3Qm84d0JONm50R08wLzdHY3JqeXZkN1pXeGJXcgpvdWxwT2owT00za3lQM0NDa3BsaGJZMHdDSTl4UDZaSVZ4bjRKZHhMWmx5bGRJK1lyc2o1d0FZaTU2eHozNlV1KzFMY3NSVmxJUG8xClptbmUzeXp4YnJ3dzJ5d2tFdHZyTlRWb2tNc0FzSmNoUFhRaEkyVTBLN3Q0V2FQVzRYWTVtcVJKam94MHIyNmttcVBabTlJNFhKdWkKR014MUk0Uys2K0pOTTNHT0d2REMrTWNkb3EwRGx5ejR6eVhHOXJna01iRmpYWkovWS9BbHlWTXVINzlOQWdNQkFBR2pnZEl3Z2M4dwpIUVlEVlIwT0JCWUVGSld4dFBDVXRyM0gydEVSQ1NHK3dhOUovUkI3TUFzR0ExVWREd1FFQXdJQkJqQVBCZ05WSFJNQkFmOEVCVEFECkFRSC9NSUdQQmdOVkhTTUVnWWN3Z1lTQUZKV3h0UENVdHIzSDJ0RVJDU0crd2E5Si9SQjdvV21rWnpCbE1Rc3dDUVlEVlFRR0V3SlQKUlRFVU1CSUdBMVVFQ2hNTFFXUmtWSEoxYzNRZ1FVSXhIVEFiQmdOVkJBc1RGRUZrWkZSeWRYTjBJRlJVVUNCT1pYUjNiM0pyTVNFdwpId1lEVlFRREV4aEJaR1JVY25WemRDQkRiR0Z6Y3lBeElFTkJJRkp2YjNTQ0FRRXdEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBQ3h0ClpCc2Z6UTNkdVFINmxtTTBNa2hIbWE2WDdmMXlGcVp6UjFyMDY5M3A5ZGI3UmN3cGlVUmR2MFk1UGVqdXZFMVVoaDRkYk9NWEowUGgKaVZZcnFXOXlUa2t6NDNKOEtpT2F2RDcvS0NydG8vOGNJN3BEVndsblRVdGlCaTM0LzJ5ZFlCN1lIRXQ5dFRFdjJkQjhYZmplYTRNWQplRGRYTCtnekIyZmZIc2RyS3BWMnJvOVhvL0QwVXJTcFV3alA0RS9UZWxPTC9ic2NWamJ5L3JLMjVYYTcxU0pscHovKzBXYXRDN3hyCm1ZYnZQMzN6R0RMS2U4YmpxMlJHbGZnbWFkbFZnM3NzbGdmL1dTeEVvOGJsNmFuY29XT0FXaUZlSWM5VFZQQzZiNG5icUtxVno0dmoKY2N3ZUd5QkVDTUI2dGtEOXhPUTE0UjBXSE5DOEs0N1djZGs9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkFkZFRydXN0IEV4dGVybmFsIFJvb3QKPT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRU5qQ0NBeDZnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQnZNUXN3Q1FZRFZRUUdFd0pUUlRFVU1CSUdBMVVFQ2hNTApRV1JrVkhKMWMzUWdRVUl4SmpBa0JnTlZCQXNUSFVGa1pGUnlkWE4wSUVWNGRHVnlibUZzSUZSVVVDQk9aWFIzYjNKck1TSXdJQVlEClZRUURFeGxCWkdSVWNuVnpkQ0JGZUhSbGNtNWhiQ0JEUVNCU2IyOTBNQjRYRFRBd01EVXpNREV3TkRnek9Gb1hEVEl3TURVek1ERXcKTkRnek9Gb3diekVMTUFrR0ExVUVCaE1DVTBVeEZEQVNCZ05WQkFvVEMwRmtaRlJ5ZFhOMElFRkNNU1l3SkFZRFZRUUxFeDFCWkdSVQpjblZ6ZENCRmVIUmxjbTVoYkNCVVZGQWdUbVYwZDI5eWF6RWlNQ0FHQTFVRUF4TVpRV1JrVkhKMWMzUWdSWGgwWlhKdVlXd2dRMEVnClVtOXZkRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFMZjNHalBtOGdBRUxUbmdUbHZ0SDd4c0Q4MjEKK2lPMnp0NmJFVE9YcENsTWZaT2Z2VXE4ayswREd1T1B6K1Z0VUZyV2x5bVVXb0N3U1hyYkxwWDl1TXEvTnpndEhqNlJRYTF3VnNmdwpUei9vTXA1MHlzaVFWT25HWHc5NG5acEFQQTZzWWFwZUZJK2VoNkZxVU56WG1rNnZCYk9tY1pTY2NiTlFZQXJIRTUwNEI0WUNxT21vCmFTWVlrS3RNc0U4anF6cFBoTmpmenAvaGFXKzcxMExYYTBUa3g2M3ViVUZmY2xweENEZXplV1drV2FDVU4vY0FMdzNDa25MYTBEaHkKMnhTb1JjUmRLbjIzdE5iRTdxek5FMFMzeVN2ZFF3QWwrbUc1YVdwWUl4RzNwek9QVm5WWjljMHAxMGEzQ2l0bHR0TkNieFd5dUh2Nwo3K2xkVTlVMFdpY0NBd0VBQWFPQjNEQ0IyVEFkQmdOVkhRNEVGZ1FVcmIyWWVqUzBKdmY2eENaVTd3Tzk0Q1RMVkJvd0N3WURWUjBQCkJBUURBZ0VHTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3Z1prR0ExVWRJd1NCa1RDQmpvQVVyYjJZZWpTMEp2ZjZ4Q1pVN3dPOTRDVEwKVkJxaGM2UnhNRzh4Q3pBSkJnTlZCQVlUQWxORk1SUXdFZ1lEVlFRS0V3dEJaR1JVY25WemRDQkJRakVtTUNRR0ExVUVDeE1kUVdSawpWSEoxYzNRZ1JYaDBaWEp1WVd3Z1ZGUlFJRTVsZEhkdmNtc3hJakFnQmdOVkJBTVRHVUZrWkZSeWRYTjBJRVY0ZEdWeWJtRnNJRU5CCklGSnZiM1NDQVFFd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFMQ2I0SVVsd3RZajRnK1dCcEtkUVppYzJZUjVnZGtlV3hRSEl6WmwKajdEWWQ3dXNRV3hIWUlOUnNQa3lQZWY4OWlZVHg0QVdwYjlhL0lmUGVIbUpJWnJpVEFjS2hqVzg4dDVSeE5LV3Q5eCtUdTV3L1J3NQo2d3dDVVJRdGpyMFc0TUhmUm5YbkpLM3M5RUswaFpOd0VHZTZuUVkxU2hqVEszck1VVUtoZW1QUjVydWh4U3ZDTnI0VERlYTlZMzU1CmU2Y0pEVUNyYXQyUGlzUDI5b3dhUWdWUjFFWDFuNmRpSVdnVklFTThtZWQ4dlNUWXFaRVhjNGcvVmhzeE9CaTBjUSthemNnT25vNHUKRytHTW1JUExIekh4UkV6R0JITkpkbUFQeC9pOUY0QnJMdW5NVEE1YW1ua1BJQW91MVo1akpoNVZrcFRZZ2hkYWU5Qzh4NDlPaGdRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpBZGRUcnVzdCBQdWJsaWMgU2VydmljZXMgUm9vdAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRUZUQ0NBdjJnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQmtNUXN3Q1FZRFZRUUdFd0pUUlRFVU1CSUdBMVVFQ2hNTApRV1JrVkhKMWMzUWdRVUl4SFRBYkJnTlZCQXNURkVGa1pGUnlkWE4wSUZSVVVDQk9aWFIzYjNKck1TQXdIZ1lEVlFRREV4ZEJaR1JVCmNuVnpkQ0JRZFdKc2FXTWdRMEVnVW05dmREQWVGdzB3TURBMU16QXhNRFF4TlRCYUZ3MHlNREExTXpBeE1EUXhOVEJhTUdReEN6QUoKQmdOVkJBWVRBbE5GTVJRd0VnWURWUVFLRXd0QlpHUlVjblZ6ZENCQlFqRWRNQnNHQTFVRUN4TVVRV1JrVkhKMWMzUWdWRlJRSUU1bApkSGR2Y21zeElEQWVCZ05WQkFNVEYwRmtaRlJ5ZFhOMElGQjFZbXhwWXlCRFFTQlNiMjkwTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGCkFBT0NBUThBTUlJQkNnS0NBUUVBNlJvd2o0T0lGTUVnMkR5Ymp4dCtBM1M3Mm1uVFJxWDRqc0lNRVpCUnBTOW1WRUJWNnRzZlNsYnUKbnlOdTlEbkxvYmx2OG43NVhZY21ZWjRjK09Mc3BvSDRJY1VrekJFTVA5c21jbnJIQVpjSEYvblhHQ3d3ZlE1NkhtSWV4a3ZBL1gxaQpkOU5FSGlmMlAwdEVzN2M0MlRrZllOVlJrbk1EdEFCcDQvTVVUdTdSM0FuUGR6UkdVTEQ0RWZMK09IbjNCem4rVVpLWEMxc0lYelNHCkFhMklsK3RtelY3Ui85eDk4b1RhdW5ldDNJQUl4NmVIMWxXZmwycm95QkZrdXVjWktUOFJzM2lRaENCU1d4SHZlTkNEOXRWSWtOQXcKSE0rQStXRCtlZVNJOHQwQTY1UkY2MldVYVVDNndOVzB1THA5QkJHbzZ6RUZscFJPV0NHT245QmcvUUlEQVFBQm80SFJNSUhPTUIwRwpBMVVkRGdRV0JCU0JQamZZa3JBZmQ1OWN0S3R6cXVmMk5HQXYrakFMQmdOVkhROEVCQU1DQVFZd0R3WURWUjBUQVFIL0JBVXdBd0VCCi96Q0JqZ1lEVlIwakJJR0dNSUdEZ0JTQlBqZllrckFmZDU5Y3RLdHpxdWYyTkdBditxRm9wR1l3WkRFTE1Ba0dBMVVFQmhNQ1UwVXgKRkRBU0JnTlZCQW9UQzBGa1pGUnlkWE4wSUVGQ01SMHdHd1lEVlFRTEV4UkJaR1JVY25WemRDQlVWRkFnVG1WMGQyOXlhekVnTUI0RwpBMVVFQXhNWFFXUmtWSEoxYzNRZ1VIVmliR2xqSUVOQklGSnZiM1NDQVFFd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFBUDNGVXI0CkpOb2pWaGFUZHQwMktMbXVHN2pEOFdTNklCaDRsU2tuVndXOGZDcjB1VkZWMm9jQzNnOFdGekg0cW5rdUNSTzdyN0lnR1JMbGsvbEwKK1lQb1JOV3lRU1cvaUhWdi94RDhTbFRRWC9ENjd6WnpmUnMyUmNZaGJiUVZ1RTdQbkZ5bFBWb0FqZ2JqUEdzeWUvS2Y4TGI5My9BbwpHRWp3eHJ6UXZ6U0Fsc0pLc1cyT3g1QkYzaTluckVVRW8zcmNWWkxKUjJiWUdvekg3WnhPbXVBU3U3VnFUSVRoNFNJTmh3Qmsvb3g5CllqbGxwdTlDdG9BbEVtRUJxQ1FUY0FBUkpsLzZOVkRGU013R1IrZ24ySENOWDJUbW9VUW1YaUxza3MzL1FwcEVJVzFjeGVNaUhWOUgKRXVmT1gxMzYyS3F4TXkzWmR2Sk9Pak1NSzdNdGtBWT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQWRkVHJ1c3QgUXVhbGlmaWVkIENlcnRpZmljYXRlcyBSb290Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRUhqQ0NBd2FnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQm5NUXN3Q1FZRFZRUUdFd0pUUlRFVU1CSUdBMVVFQ2hNTApRV1JrVkhKMWMzUWdRVUl4SFRBYkJnTlZCQXNURkVGa1pGUnlkWE4wSUZSVVVDQk9aWFIzYjNKck1TTXdJUVlEVlFRREV4cEJaR1JVCmNuVnpkQ0JSZFdGc2FXWnBaV1FnUTBFZ1VtOXZkREFlRncwd01EQTFNekF4TURRME5UQmFGdzB5TURBMU16QXhNRFEwTlRCYU1HY3gKQ3pBSkJnTlZCQVlUQWxORk1SUXdFZ1lEVlFRS0V3dEJaR1JVY25WemRDQkJRakVkTUJzR0ExVUVDeE1VUVdSa1ZISjFjM1FnVkZSUQpJRTVsZEhkdmNtc3hJekFoQmdOVkJBTVRHa0ZrWkZSeWRYTjBJRkYxWVd4cFptbGxaQ0JEUVNCU2IyOTBNSUlCSWpBTkJna3Foa2lHCjl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUE1QjZhL3R3SldvZWtuMGUrRVYrdmhEVGJZang1ZUxmcE1MWHNEQndxeEJiLzRPeHgKNjRyMUVXN3RUdzJSMGhJWUxVa1ZBY0trSWhQSEVXVC9JaEthdVk1Y0x3alBjV3F6WndGWjhWMUc4N0I0cGZZT1FucmpmeHZNMFBDMwpLUDBxNnA2enNMa0VxdjMyeDdTeHVDcWcrMWp4R2FCdmNDVitQbWxLZnc4aTJPK3RDQkdhS1puaHFrUkZtaEplUHAxdFV2em5vRDFvCkwvQkxjSHdUT0syOEZTWHgxczZyb3NBeDFpK2Y0UDhVV2Z5RWs5bUhmRXhVRSt1ZjBTMFIrQmc2T3Q0bDJmZlRRTzJrQmhMRU8rR1IKd1ZZMThCVGNaVFlKYnF1a0I4YzEwY0lETXpaYmRTWnRRdkVTYTBOdlMzR1UralFkN1JOdXlvQi9tQzlzdVdYWTZRSURBUUFCbzRIVQpNSUhSTUIwR0ExVWREZ1FXQkJRNWxZdGlpMXpKMUlDNldBK1hQeFVJUTh5WXB6QUxCZ05WSFE4RUJBTUNBUVl3RHdZRFZSMFRBUUgvCkJBVXdBd0VCL3pDQmtRWURWUjBqQklHSk1JR0dnQlE1bFl0aWkxekoxSUM2V0ErWFB4VUlROHlZcDZGcnBHa3daekVMTUFrR0ExVUUKQmhNQ1UwVXhGREFTQmdOVkJBb1RDMEZrWkZSeWRYTjBJRUZDTVIwd0d3WURWUVFMRXhSQlpHUlVjblZ6ZENCVVZGQWdUbVYwZDI5eQphekVqTUNFR0ExVUVBeE1hUVdSa1ZISjFjM1FnVVhWaGJHbG1hV1ZrSUVOQklGSnZiM1NDQVFFd0RRWUpLb1pJaHZjTkFRRUZCUUFECmdnRUJBQm1yZGVyNGkyVmhsUk82YVFUdmhzb1RvTWVxVDJRYlB4ajJxQzBzVlk4RnR6RHFRbW9kd0NWUkxhZS9ETFB0N3doL2JEeEcKR3VvWVE5OTJ6UGxtaHB3c2FQWHBGL2d4c3hqRTFraDlJMHhvd1g2N0FSUnZ4ZGx1M3JzRVFtcjQ5bHg5NWRyNmgrc05OVkpuMEo2WApkZ1dUUDVYSEFlWnBWVGgvRUdHWnllTmZwc28rZ21OSXF1SUlTRDZxOHJLRllxYTBwOW05TjV4b3RTMVdmYkMzUDZDeEI5YnBUOXplClJYRXdNbjhiTGduNXYxS2g3c0tBUGdaY0xsVkF3UnYxY0VXdzNGMzY5bkphZDlKanpjOVlpUUJDWXo5NU9kQkVzSUp1UVJubzNlREIKaUZyUkhuR1RIeVF3ZE9VZXFONDhKemQvZzY2ZWQ4L3dNTEgvUzVub3hxRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRWtUQ0NBM21nQXdJQkFnSUVSV3RRVkRBTkJna3Foa2lHOXcwQkFRVUZBRENCc0RFTE1Ba0dBMVVFQmhNQ1ZWTXhGakFVQmdOVgpCQW9URFVWdWRISjFjM1FzSUVsdVl5NHhPVEEzQmdOVkJBc1RNSGQzZHk1bGJuUnlkWE4wTG01bGRDOURVRk1nYVhNZ2FXNWpiM0p3CmIzSmhkR1ZrSUdKNUlISmxabVZ5Wlc1alpURWZNQjBHQTFVRUN4TVdLR01wSURJd01EWWdSVzUwY25WemRDd2dTVzVqTGpFdE1Dc0cKQTFVRUF4TWtSVzUwY25WemRDQlNiMjkwSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNQjRYRFRBMk1URXlOekl3TWpNMApNbG9YRFRJMk1URXlOekl3TlRNME1sb3dnYkF4Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MUZiblJ5ZFhOMExDQkpibU11Ck1Ua3dOd1lEVlFRTEV6QjNkM2N1Wlc1MGNuVnpkQzV1WlhRdlExQlRJR2x6SUdsdVkyOXljRzl5WVhSbFpDQmllU0J5WldabGNtVnUKWTJVeEh6QWRCZ05WQkFzVEZpaGpLU0F5TURBMklFVnVkSEoxYzNRc0lFbHVZeTR4TFRBckJnTlZCQU1USkVWdWRISjFjM1FnVW05dgpkQ0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVUQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCCkFMYVZ0a05DK3NadEttOUkzNVJNT1ZjRjdzTjVFVUZvTnUzcy9wb0JqNkU0S1B6M0VFWm1MazBlR3JFYVRzYlJ3SldJc01uL01Zc3oKQTl1M2czcytJSVJlN2JKV0tLZjQ0TGxBY1RmRnkwY09seXBvd0NLVlloWGJSOW4xMEN2L2drdkpyVDdlVE51UWdGQS9DWXFFQU93dwpDajBZemZ2OUtsbWFJNVVYTEVXZUgyNURlVzBNWEpqK1NLZkZJMGRjWHYxdTV4NjA5bWhGMFlhRFc2S0tqYkhqS1lEK0pYR0lyYjY4Cmo2eFNsa3VxVVkza0V6RVo2RTVObjl1c3MyclZ2RGxVY2NwNmVuK1EzWDBkZ05tQnUxa213aEgrNXBQaTk0RGtaZnMwTnc0cGdIQk4KcnppR0xwNS9WNitlRjY3ckhNc29JVisySE5qbm9nUWkrZFBhMk1zQ0F3RUFBYU9Cc0RDQnJUQU9CZ05WSFE4QkFmOEVCQU1DQVFZdwpEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXJCZ05WSFJBRUpEQWlnQTh5TURBMk1URXlOekl3TWpNME1scUJEekl3TWpZeE1USTNNakExCk16UXlXakFmQmdOVkhTTUVHREFXZ0JSb2tPUm5wS1pUZ01lR1pxVHg5MHREKzRTOWJUQWRCZ05WSFE0RUZnUVVhSkRrWjZTbVU0REgKaG1hazhmZExRL3VFdlcwd0hRWUpLb1pJaHZaOUIwRUFCQkF3RGhzSVZqY3VNVG8wTGpBREFnU1FNQTBHQ1NxR1NJYjNEUUVCQlFVQQpBNElCQVFDVDFEQ3cxd01nS3RENVkraVJEQVVncVY4WnludHlUdFN4MjlDVysxUmFHU3dNQ1BleXZJV29uWDl0TzFLekt0dm4xSVNNClkvWVB5eVlCa1ZCczlGOFU0cE4wd0JPZU1EcFE0N1JneFJ6d0lrU05jVWVzeUJySjZadWFBR0FULzNCK1h4Rk5TUnV6RlZKN3lWVGEKdjUyVnIydWEySjdwOGVSRGplSVJSRHEvcjcyRFFuTlNpNnE3cHluUDlXUWNDazNSdktxc255clEvMzkvMm4zcXNlMHdKY0dFMmpUUwpXM2lEVnV5Y05zTW00aEgyWjBrZGtxdU0rK3YvZXU2RlNxZFFnUENuWEVxVUxsOEZtVHhTUWVETnRHUFBBVU82bklQY2oyQTc4MXEwCnRIdXUyZ3VRT0hYdmdSMW0wdmRYY0RhenYvd29yM0VsaFZzVC9oNS9XclE4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClJTQSBTZWN1cml0eSAyMDQ4IHYzCj09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEWVRDQ0FrbWdBd0lCQWdJUUNnRUJBUUFBQW53QUFBQUtBQUFBQWpBTkJna3Foa2lHOXcwQkFRVUZBREE2TVJrd0Z3WURWUVFLCkV4QlNVMEVnVTJWamRYSnBkSGtnU1c1ak1SMHdHd1lEVlFRTEV4UlNVMEVnVTJWamRYSnBkSGtnTWpBME9DQldNekFlRncwd01UQXkKTWpJeU1ETTVNak5hRncweU5qQXlNakl5TURNNU1qTmFNRG94R1RBWEJnTlZCQW9URUZKVFFTQlRaV04xY21sMGVTQkpibU14SFRBYgpCZ05WQkFzVEZGSlRRU0JUWldOMWNtbDBlU0F5TURRNElGWXpNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDCkFRRUF0NDlWY2RLQTNYdHBlYWZ3R0ZBeVBHSm45Z3FWQjkzbUcvT2UyZEpCVkd1dG4zeStHYzM3UnF0QmFCNFk2bFhJTDVGNGlTajcKSnlsZy85K1BqRHZKU1p1MXBKVE9BZW8rdFdON2Z5YjlHZDNBSWIyRTBTMVBSc05PM05nM09Uc29yOHVkR3VvcnJ5R2x3U01pdUxnYgpXaE9IVjRQUjhDRG42RThqUXJBQXBYMko2ZWxoYzVTWWNTYThMV3JnOTAzdzhiWXFPREdCRFNuaEFNRlJEMHhTK0FSYXFuMXkwN2lICktydGpFQU1xczZGUERWcGVScmM5RHZWMDdKbWYrVDBrZ1lpbTNXQlU2SlUyUGNZSms1cWpFb0FBVlprWlI3M1FwWHpEdXZzZjkvVVAKK0t5NXRmUTNtQk1ZM29WYnR3eUNPNGR2bFRsWU1OcHVBV2dYSXN6QUN3SURBUUFCbzJNd1lUQVBCZ05WSFJNQkFmOEVCVEFEQVFILwpNQTRHQTFVZER3RUIvd1FFQXdJQkJqQWZCZ05WSFNNRUdEQVdnQlFIdzFFd3BLcnBSYTQxSlByL0pDd3owTEdkakRBZEJnTlZIUTRFCkZnUVVCOE5STUtTcTZVV3VOU1Q2L3lRc005Q3huWXd3RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUY4K2huWnV1RFU4VGpZY0hubVkKdi8zVkVoRjVVZzd1TVltODNYLzUwY1lWSWVpS0FWUU5PdnRVdWRaajFMR3FsazJpUWszVVV4K0xFTjUvWmI1Z0V5ZHhpS1J6NDRSagowYVJWNFZDVDVoc09lZEJudkViSXZ6OFhEWlhteHBCcDN1ZTBMOTZWZmRBU1B6MCtmMDAvRkdqMUVWRFZ3ZlNRcFFnZE1XRC9ZSXdqClZBcXYvcUZ1eGRGNkttaDR6eDZDQ2lDMEg2M2xoYkpxYUhWT3JTVTNsSVcrdmFIVTZyY01TenlkNkJJQThGK3NEZUdzY0dOejkzOTUKbnpJbFFuUUZnQ2kvdmNFa2xsZ1ZzUmNoNllsTDJ3ZUlaL1FWclhBK0wwMkZPOEszMi82WWFDT0o0WFFQM3ZURmhHTXBHOHpMQjhrQQpwS25Yd2lKUFo5ZDM3Q0FGWWQ0PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpHZW9UcnVzdCBHbG9iYWwgQ0EKPT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEVkRDQ0FqeWdBd0lCQWdJREFqUldNQTBHQ1NxR1NJYjNEUUVCQlFVQU1FSXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLCkV3MUhaVzlVY25WemRDQkpibU11TVJzd0dRWURWUVFERXhKSFpXOVVjblZ6ZENCSGJHOWlZV3dnUTBFd0hoY05NREl3TlRJeE1EUXcKTURBd1doY05Nakl3TlRJeE1EUXdNREF3V2pCQ01Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OUjJWdlZISjFjM1FnU1c1agpMakViTUJrR0ExVUVBeE1TUjJWdlZISjFjM1FnUjJ4dlltRnNJRU5CTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnN3WVl6RDk5QmNqR2xaK1c5ODhiRGprY2JkNGtkUzhvZGhNK0toRHRnUHBUU0VIQ0lqYVdDOW1PU205QlhpTG5Uam8KQmJkcWZuR2s1c1JncHJEdmdPU0pLQStlSmRidGcvT3RwcEhIbU1sQ0dEVVVuYTJZUnBJdVQ4cnhoMFBCRnBWWExWRHZpUzJBZWxldAo4dTVmYTlJQWpia1UrQlFWTmRuQVJxTjdjc2lSdjhsVks4M1FsejZjSm1UTTM4NkRHWEhLVHViVTFYdXBHYzFWM3NqczBsNDRVK1ZjClQ0d3QvbEFqTnZ4bTVzdU9wRGtaQUxlVkFqbVJDdzcrT0M3UkhRV2E5azArYnc4SEhhOHNIbzlnT2VMNk5sTVRPZFJlSml2YlBhZ1UKdlRMckdBTW9VZ1J4NWFzelBlRTR1d2MyaEdLY2Vlb1dNUFJmd0N2b2NXdmsrUUlEQVFBQm8xTXdVVEFQQmdOVkhSTUJBZjhFQlRBRApBUUgvTUIwR0ExVWREZ1FXQkJUQWVwaG9qWW43cXdWa0RCRjlxbjFsdU1yTVRqQWZCZ05WSFNNRUdEQVdnQlRBZXBob2pZbjdxd1ZrCkRCRjlxbjFsdU1yTVRqQU5CZ2txaGtpRzl3MEJBUVVGQUFPQ0FRRUFOZU1wYXVVdlhWU09LVkNVbjVrYUZPU1BlQ3BpbEtJblo1N1EKenhwZVIrbkJzcVRQM1VFYUJVNmJTKzVLYjFWU3N5U2hOd3JyWkhZcUxpenovVHQxa0wvNmNkakhQVGZTdFFXVllybW0zb2s5Tm5zNApkMGlYcktZZ2p5Nm15UXpDc3BsRkFNZk9FVkVpSXVDbDZyWVZTQWxrNmw1UGRQY0ZQc2VLVWd6YkZiUzliWnZseHJGVWFLbmphWkMyCm1xVVB1TGsvSUgydVNyVzRuT1FkdHF2bWxLWEJ4NE90Mi9Vbmh3NEViTlgvM2FCZDdZZFN0eXNWQXE0NXBtcDA2ZHJFNTd4Tk5CNnAKWEUwelg1SUpMNGhtWFhlWHh4MTJFNm5WNWZFV0NSRTExYXpiSkhGd0xKaFdDOWtYdE5IalVTdGVkZWpWME54UE5PM0NCV2FBb2N2bQpNdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkdlb1RydXN0IEdsb2JhbCBDQSAyCj09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEWmpDQ0FrNmdBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUVVGQURCRU1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OClIyVnZWSEoxYzNRZ1NXNWpMakVkTUJzR0ExVUVBeE1VUjJWdlZISjFjM1FnUjJ4dlltRnNJRU5CSURJd0hoY05NRFF3TXpBME1EVXcKTURBd1doY05NVGt3TXpBME1EVXdNREF3V2pCRU1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OUjJWdlZISjFjM1FnU1c1agpMakVkTUJzR0ExVUVBeE1VUjJWdlZISjFjM1FnUjJ4dlltRnNJRU5CSURJd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3CmdnRUtBb0lCQVFEdlBFMUFQUkRmTzFNQTRXZitsR0FWUG9XSThZa05rTWdvSTVrRjZDc2duY2J6WUViWXdiTFZqREhaM0NCNUpJRy8KTlRMOFkybmJzU3ByN2lGWThnanBlTXR2eS93V1VzaVJ4UDg5Yzk2eFBxZkNmV2JCOVg1U0pCcmkxV2VSMElJUTEzaExUeXRDT2IxawpMVUNnc0JEVE9FaEdpS0VNdXpvekttS1krd0NkRTFsL2J6dHlxdTZtRDRiNUJXSHFaMzhNTjVhTDVta1dSeEhDSjFrRHM2Wmd3aUZBClZ2cWd4MzA2RStQc1Y4ZXoxcTZkaVlEM0FlY3M5cFlyRXcxNUxObkE1SVo3UzR3TWNvS0sreGZOQUd3NkV6eXdoSWRMRm5vcHNrL2IKSGRRTDgyWTN2ZGoyVjd0ZUpIcTRQSXU1K3BJYUdvU2UySFNQcWh0L1h2VCtSU0loQWdNQkFBR2pZekJoTUE4R0ExVWRFd0VCL3dRRgpNQU1CQWY4d0hRWURWUjBPQkJZRUZIRTROdklDTVZOSEsyNjZaVWFwRUJWWUlBVUpNQjhHQTFVZEl3UVlNQmFBRkhFNE52SUNNVk5ICksyNjZaVWFwRUJWWUlBVUpNQTRHQTFVZER3RUIvd1FFQXdJQmhqQU5CZ2txaGtpRzl3MEJBUVVGQUFPQ0FRRUFBL2UxSzZ0ZEVQeDcKc3JKZXJKc09mbE40V1Q1Q0JQNTFvNjJzZ1U3WEFvdGV4QzNJVW5iSExCLzhnVEtZMFV2R2twTXpOVEV2L05nZFJOM2dnWCtkNll2aApaSkZpQ3prSWpLeDBuVm5aZWxsU2x4RzVGbnR2UmRPVzJURjlBallQbkR0dXp5d05BMFpGNjZEMGYwaEV4Z2hBek40YmNMVXByYnFMCk96UmxkUnR4SVIwc0ZBcXdscFc0MXVyeVpmc3B1ay9xa1pOMGFiYnkvK0VhMEF6UmRvWExpaVc5bDE0c2J4V1pKdWUyS2Y4aTdNa0MKeDFZQXpVbTVzMng3VXdRYTRxakpxaElGSThMTzU3c0VBc3pBUjZMa3hDa3ZXMFZYaVZIdVBPdFNDUDhITlI2Zk5XcEhTbGFZMFZxRgpINHoxSXIrcnpvUHo0aUlwcm4yRFFLaTZiQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkdlb1RydXN0IFVuaXZlcnNhbCBDQQo9PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZhRENDQTFDZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREJGTVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU4KUjJWdlZISjFjM1FnU1c1akxqRWVNQndHQTFVRUF4TVZSMlZ2VkhKMWMzUWdWVzVwZG1WeWMyRnNJRU5CTUI0WERUQTBNRE13TkRBMQpNREF3TUZvWERUSTVNRE13TkRBMU1EQXdNRm93UlRFTE1Ba0dBMVVFQmhNQ1ZWTXhGakFVQmdOVkJBb1REVWRsYjFSeWRYTjBJRWx1Cll5NHhIakFjQmdOVkJBTVRGVWRsYjFSeWRYTjBJRlZ1YVhabGNuTmhiQ0JEUVRDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQUtZVlZhQ2p4dUFmakowaFVOZkJ2aXRidGFTZW9kbHlXTDBBRzB5L1lja1VIVVdDcThZZGdOWTk2eENjT3E5dApKUGk4Y1FHZUJ2VjhYeDdCRGxYS2c1cFpNSzRaeXpCSWxlMGlONDMwU3BweVpqNnRsY0RnRmdEZ0VCOHJNUTdYbEZUVFFqT2dOQjBlClJYYmRUOG9ZTit5RkZYb1pDUHpWeDV6dzhxa3VFS21TNWoxWVBha1dhRHd2ZFNFWWZ5aDNwZUZoRjdlbTZmZ2VtZHR6YnZRS29pRnMKN3RxcWhaSm1yL1o2YTRMYXVpSUlOUS9QUXZFMSttcnVmaXNsekRvUjVHMnZjN0oySGEzUXNuaG5HcVE1SEZFTFoxYUQvVGhkRGM3ZAo4THNybGgvZWV6SlMvUjI3dFFhaHNpRmVwZGFWYUgvd21aN2NSUWcrNTlJSkRUV1UzWUJPVTVmWHRRbEVJR1FXRndNQ1RGTU5hTjdWCnFuSk5rMjJDRHR1Y3ZjKzA4MXhkVkhwcENaYlcyeEhCalhXb3RNODV5TTQ4dkNSODVtTEs0YjE5cDcxWFpRdmsvaVh0dG1rUTNDZ2EKUnIwQkhkQ1h0ZUdZTzhBM1pOWTlsTzRMNGZVb3JndFd2M0dMSXlsQmpvYkZTMUo3MkhHckg0b1ZwanVEV3RkWUFWSEdURUhaZjloQgpaM0tpS045Z2c2bWV5SHY4VTNOeVdmV1RlaGQyRHM3MzVWelpDMVUwb3FwYnRXcFU1eFBLVit5WGJmUmVCaTlGaTFqVUl4YVM1Qlp1CktHTlpNTjlRQVp4amlScWYyeGVVZ25BM3d5U2Vta2ZXV3NwT3FHbUpjaCtSYk50K25odXR4eDl6M1N4UEdXWDlmNU5BRUM3UzhPMDgKbmk0b1Bta21NOFY3QWdNQkFBR2pZekJoTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRk5xN0xxcXdETGlJSmxGMApYRzBEMDhEWWozcldNQjhHQTFVZEl3UVlNQmFBRk5xN0xxcXdETGlJSmxGMFhHMEQwOERZajNyV01BNEdBMVVkRHdFQi93UUVBd0lCCmhqQU5CZ2txaGtpRzl3MEJBUVVGQUFPQ0FnRUFNWGpteDdYZnVKUkF5WEhFcURYc1JoM0NoZk1vV0lhd0MveU9zam1QUkZXclpJUmMKYWFuUW1qZzgrdVVmTmVWRTQ0QjVsR2lrdThTZlBlRTB6VEJHaTFRcmxhWHY5eitaaFAwMTVzOHh4dHhxdjZmWEl3amhtRjdEV2doMgpxYWF2ZHkrM1lMMUVSbXJ2bC85emxjR082SlA3L1RHMzdGY1JFVVdiTVBFYWlEbkJUenluQU5YSC9LdHRnQ0p3cFF6Z1hRUXBBdnZMCm9KSFJmTmJEZmxEVm5WaStRVGpydVhVOEZkbWJ5VXFEV2NEYVUvMHp1ellZbTRVUEZkM3VMYXgyazduWkFZMUlFS2o3OVRpRzhkc0sKeHIyRW95TkIzdFozYjRYVWhSeFE0SzVSaXJxTlBuYml1Y29uOGwrZjcyNVpEUWJZS3hlazBueHJ1MThVR2tpUEdrem5zMGNjamt4RgpLeUR1U04vbjNRbU9HS2phUUkyU0poRlRZWE5kNjczbnhFMHBOMkhyckRrdFp5NFcxdlVBZzRXaHpIOTJ4SDNrdDB0bTd3TkZZR20yCkRGS1drb1JlcHFPMXBENHIyY3pZRzBlcThrVGFUL2tENlBBVXl6L3pnOTdRd1ZUanQrZ0tOMDJMSUZrRE1CbWhMTWk5RVIvZnJzbEsKeGZNblptYUdyR2lSLzlubVV4d1BpMXhwWlFvbXlCNDB3MTFSZTllcG5BYWhOdDNWaVpTODJlUXRERjRKYkFpWGZLTTlmSlAvUDZFVQpwOCsxWGV2YjJ4ekVkdCtJdWIxRkJaVWJydnhHYWt5dlNPUE9yZy9TZnV2bWJKeFBnV3A2Wkt5N1B0WG55M1l1eGFkSXdWeVFEOHZJClAvcm1NdUdORzIrazVvN1krU2xJaXM1ei9pdz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIKPT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZiRENDQTFTZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREJITVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU4KUjJWdlZISjFjM1FnU1c1akxqRWdNQjRHQTFVRUF4TVhSMlZ2VkhKMWMzUWdWVzVwZG1WeWMyRnNJRU5CSURJd0hoY05NRFF3TXpBMApNRFV3TURBd1doY05Namt3TXpBME1EVXdNREF3V2pCSE1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OUjJWdlZISjFjM1FnClNXNWpMakVnTUI0R0ExVUVBeE1YUjJWdlZISjFjM1FnVlc1cGRtVnljMkZzSUVOQklESXdnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUEKQTRJQ0R3QXdnZ0lLQW9JQ0FRQ3pWRkxCeVQ3eTJkeXhVeHBaS2VleHcwVW81ZGZSN2NYRlM2R3FkSHRYcjBvbS9OajFYcWR1R2R0MApERTgxV3pJTEFlUGI2M3AzTmVxcVd1RFc2S0ZYbFBDUW8zUldsRVF3QXg1Y1RpdUZKblNDZWd4Mm9HOU56a0V0b0JVR0ZGKzNRczE3CmoxaGhOTndxQ1BrdXd3R21Ja1FjVEFlQzVsdk8wRXA4Qk5NWmN5ZndxcGgvTHE5TzY0Y2VKSGRxWGJib1cwVzYzTU9oQlc5V2pvOFEKSnFWSnd5N1hRWWNpNEUrR3ltQzE2cUZqd0FHWEVIbTlBRHdTYlNzVnNheExzZTRZdVU2VzNOeDIvenUrejE4RHdQdzc2TDVHRy8vYQpRTUpTOS83ak92ZHFkelhRMm8zclhoaHFNY2NldWp3YktOWnJWTWFxVzllaUxCc1p6S0lDOXB0WnZUZHJoclZ0Z3JyWTZzbFd2S2syCldQMCtHZlB0RENhcGt6ajRUOEZkSWdiUWwrcmhyY1pWNElFcktJTTYrdlI3SVZFQXZsSTR6czFtZWFqMGdWYmkwSU1KUjFGYlVHclAKMjBnYVhUNzN5L1psOTJ6eGxmZ0NPekpXZ2psNlc3MHZpUnUvb2JUby8zK05qTjhEOFdCT1dCRk02Nk0vRUN1RG1nRnoyWlJ0aEFBbgpacXp3Y0VBSlFwS3RUNU1OWVFsUkpOaVMxUXVVWWJLSHN1My9talgvaFZUSzdVUkRyQnM4Rm10SVNnb2NRSWdma3NJTEFBWC84c2dDClNxU3FxY3labHB3dldPQjk0YjY3Qjl4ZkJISmNNVFREN0Y4dDREMWtrQ0xtMGV5NEx0MVpydG1oTjc5VU5keHpNaytNQkI0enNzbEcKOGRoY3lGVlF5V2k5cUxvMkNRSURBUUFCbzJNd1lUQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CMEdBMVVkRGdRV0JCUjI4MVhoK3FRMgorL0NmWEdKeDdUejBSemdRS3pBZkJnTlZIU01FR0RBV2dCUjI4MVhoK3FRMisvQ2ZYR0p4N1R6MFJ6Z1FLekFPQmdOVkhROEJBZjhFCkJBTUNBWVl3RFFZSktvWklodmNOQVFFRkJRQURnZ0lCQUdiQnhpUHoyZUF1Ymwvb3o2NndzQ1ZOSy9nN1dKdEFKRGRheTZzV1NmK3oKZFhrem9TOXRjQmMwa2Y1bmZvL3NtK1ZlZ3FsVkh5L2MxRkVIRXY2c0ZqNHNOY1pqL053UTZ3MmpxdEI4ek5IUUwxRXV4QlJhM3VnWgo0VDdHektRcDV5NkVxZ1l3ZUhaVWN5aVlXVGpnQUExaTAwSjlJWit1UFRxTTFmcDNEUmdyRmc1Zk51SDhLclV3Sk0vZ1l3eDdXQnIrCm1icENFckdSOUh4bzRzam9yeXpxeVg2dXV5bzlEUlhjTkpXMkdIU29hZy9IdFBRVHhPUmI3UXJTcEpkTUt1MHZiQktKUGZFbmNLcHEKQTFJaG4wQ29aMUR5ODFvZjM5OGo5dHg0VHVhWVQxVTZVK1B2OHZTZngzellXSzhwSXBlNDRMMlJMckIyN0ZjUnorOHBSUFBwaFhwZwpZK1JkTTRrWDJUR3EydGJ6R0RWeXo0Y3JMMk1qaEYyRWpEOVhvSWo4bVpFb0ptbVoxSStYUkw2TzFVaXhwQ2dwOFJXMDRlV2UzZmlQCnBtOG0xd2s4T2h3UkRxWnNOL2V0Ukljc0tNZllkSUt6MEc5S1Y3czFLU2VnaStnaHA0ZGtObDNNMkJhc3g3SW5RSkpWT0NpTlVXN2QKRkdkVGJIRmNKb1JOZFZxMmZtQldxVTJ0KzVzZWwvTU4yZEtYVkhmYVBSSzM0Qjd2Q0FhcytZV0g2YUxjcjM0WUVvUDlWaGRCTHRVcApnbjJaOURIMmNhblBMQUVucFFXNXFySklUaXJ2bjVOU1VaVThVbk9PVmt3WFFNQUpLT1NMYWtoVDIrek5WVlh4eHZqcG9peE1wdEVtClgzNnZXa3phSDZieUhDeCtyZ0lXMGxiUUwxZFRSK2lTCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkFtZXJpY2EgT25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURwRENDQW95Z0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREJqTVFzd0NRWURWUVFHRXdKVlV6RWNNQm9HQTFVRUNoTVQKUVcxbGNtbGpZU0JQYm14cGJtVWdTVzVqTGpFMk1EUUdBMVVFQXhNdFFXMWxjbWxqWVNCUGJteHBibVVnVW05dmRDQkRaWEowYVdacApZMkYwYVc5dUlFRjFkR2h2Y21sMGVTQXhNQjRYRFRBeU1EVXlPREEyTURBd01Gb1hEVE0zTVRFeE9USXdORE13TUZvd1l6RUxNQWtHCkExVUVCaE1DVlZNeEhEQWFCZ05WQkFvVEUwRnRaWEpwWTJFZ1QyNXNhVzVsSUVsdVl5NHhOakEwQmdOVkJBTVRMVUZ0WlhKcFkyRWcKVDI1c2FXNWxJRkp2YjNRZ1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGtnTVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRApnZ0VQQURDQ0FRb0NnZ0VCQUtndjZLUnBCZ05IdytrcW1QOFpvbkNheGxDeWZxWGZhRTBiZkErMmwyaDlMYWFMbCtsa2hzbWo3NkNHCnYyQmxuRXRVaU1KSXhVbzV2eFRqV1ZYbEdiUjB5TFFGT1Z3V3BlS1ZCZUFTcmxtTG9qTm9XQnltMUJXMzJKL1gzSEdyZnBxL200NHoKRHlMOUh5N25CemJ2WWpuRjNjdTZKUlFqM2d6R1BUek9nZ2ptWmo3YVVUc1dPcU1GZjZEY2g5V2MvSEtwb0gxNDVMY3hWUjVsdTlSaApzQ0ZnN1JBeWNzV1NKUjc0a0VvWWVFZmZmakEzUGxBYjJ4elRhNXFHVXdldzc2d0dlUGlFbWY0aGpVeUF0Z3lDOW1ad2VSclRUNlBQCjhjOUdzRXNQUHQySVlyaU1xUWtvTzNySGwrRWU1ZlNmd01DdUpLRElvZGtQMW5zbWdta3lQYWNDQXdFQUFhTmpNR0V3RHdZRFZSMFQKQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVUFLM1pvL1o1OW01MHFYOHpQWUVYMTB6UE05NHdId1lEVlIwakJCZ3dGb0FVQUszWgpvL1o1OW01MHFYOHpQWUVYMTB6UE05NHdEZ1lEVlIwUEFRSC9CQVFEQWdHR01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQjhpdEVmCkdEZUM0TGl3bysxV2xjaGlZWndGb3MzQ1lpWmh6UkFXMTh5MFpUVFFFWXF0cUtrRlp1OTA4MjFmblptdjlvdjc2MUt5QlppaWJ5ckYKVkwwbHZWK3V5SWJxUml6QnM3M0I2VWx3R0JhWENCT01JT0FiTGpwSHl4N2tBRENWVy9SRm84QWFzQUZPcTczQUkyNWpQNEJLeFFmdAozT0p2eDhGaThlTnkxZ1RJZEdjTCtvaXJvUUhJYi9BVXI5S1p6VkdUZnUwdU9NZTl6a1pRUFhMamVTV2RtNGdyRUNEZHBiZ3luNDNnCktkOGhkSWFDMnkrQ01NYkhOWWF6K1paZlJ0c01SZjN6VU1OdnhzTklyVWFtNFNkSENoME9tN2JDZDM5ajh1QjlHcjc4NE4vWHg2ZHMKc1BtdXVqejlkTFFSNkZnTmdMelRxSUE2bWUxMXpFWjcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRnBEQ0NBNHlnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQmpNUXN3Q1FZRFZRUUdFd0pWVXpFY01Cb0dBMVVFQ2hNVApRVzFsY21sallTQlBibXhwYm1VZ1NXNWpMakUyTURRR0ExVUVBeE10UVcxbGNtbGpZU0JQYm14cGJtVWdVbTl2ZENCRFpYSjBhV1pwClkyRjBhVzl1SUVGMWRHaHZjbWwwZVNBeU1CNFhEVEF5TURVeU9EQTJNREF3TUZvWERUTTNNRGt5T1RFME1EZ3dNRm93WXpFTE1Ba0cKQTFVRUJoTUNWVk14SERBYUJnTlZCQW9URTBGdFpYSnBZMkVnVDI1c2FXNWxJRWx1WXk0eE5qQTBCZ05WQkFNVExVRnRaWEpwWTJFZwpUMjVzYVc1bElGSnZiM1FnUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa2dNakNDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFECmdnSVBBRENDQWdvQ2dnSUJBTXhCUlIzcFBVMFE5b3l4UWNuZ1hzc050NzlIYzlQd1ZVM2R4Z3o2c1dZRmFzMTR0TndDMjA2Qjg5ZW4KZkhHOGRXT2dYZU1IREVqc0pjUURJUFQvRGpzUy81dU40Y2JWRzdSdEl1T3gyMzhoWksrR3ZGY2lLdFpIZ1ZkRWdsWlR2WVlVQVF2OApmM1NrV3E3eHVoRzFtMWhhZ0xRM2VBa3pmREpIQTF6RXBZTkk5RmRXYm9FMkp4aFA3SnNvd3RTMDEzd01QZ3dyMzhvRTE4YU82bGhPCnFLU2xHQnhzUlppalFkRXQwc2R0alJueHJYbTNnVCs5Qm9JbkxSQllCYlY0QmJrdjJ3eHJrSkIrRkZrNHU1UWtFK1hSblJUZjA0Sk4KUnZDQU9WSXlEK09Fc25wRDhsN2VYejhkM2VPeUc2Q2hLaU1EYmk0QkZZZGNwblYxeDVkaHZ0NkczTlJJMjcwcXYwcFYydWg5VVB1MApnQmU0bEw4QlBlcmF1bnpnV0djWHVWamdpSVpHWjJ5ZEVFZFlNdEExZkhrcWtLSmFFQkVqTmEwdnpPUktXNmZJSi9LRDNsNjdYbmZuCjZLVnVZOElOWFdIUWpOSnNXaUVPeWlpanppcnBsY2RJejVadkhaSWx5TWJHd2NFTUJhd214TkoxMHVFcVo4QTlXNldhNjg5N0dxaWQKRkVYbEQ2Q2FaZDR2S0wzT2I1Um1nMGdwMk9wbGpLK1QyV1NmVlZjbXYyL0xOekdabzJDN0hLMkpOREppdUVNaEJuSU1vVnh0UnNYNgpLYzh3M29uY2NWdmR0amMrMzFEMXVBY2xKdVc4dGY0OEFyTzMrTDVEd1ljUmxKNGpiQmVLdUlvbkRGUkg4S216d0lDTW9DZnJIUm5qCkI0NTNjTW9yOUgxMjRIaG5BZ01CQUFHall6QmhNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGRTFGd1dnNHUzT3AKYWFFZzUrMzFJcUVqRk5lZU1COEdBMVVkSXdRWU1CYUFGRTFGd1dnNHUzT3BhYUVnNSszMUlxRWpGTmVlTUE0R0ExVWREd0VCL3dRRQpBd0lCaGpBTkJna3Foa2lHOXcwQkFRVUZBQU9DQWdFQVoyc0d1VjlGT3lwTE03UG1HMnRaVGlMTXViZWtKY21ueFBCVWxndGs4N0ZZClQxNVIvTEtYZXlkbHd1WEs1dzBNSlh0aTQvcWZ0SWUzUlVhdmc2V1hTSXlsdmZFV0s1dDJMSG8xWUd3UmdKZk1xWkpTNWl2bWFlMnAKK0RZdExIZS9ZVWpSWXd1NVcxTHRHTEJEUWlLbXNYZXUzbW5GemNjY29iR2xIQkQ3R0w0YWNOM0Jra3UrS1ZxZFB6Vys1WDFSK0ZYZwpKWFVqaHg1YzNMcWRzS3l6YWRzWGc4bjMzZ3k4Q055Um5xalExeFUzYzZVMXVQeCt4VVJBQnNQcitDS0FYRWZPQXVNUm4wVC8vWm95CnpIMWtVUTdyVnlaMk91TWVJanpDcGpiZEdlK24vQkx6SnNCWk1ZVk1uTmpQMzZUTXpDbVQvNVJ0ZGx3VENKZnk3YVVMVGQzb3lXZ08KWnRNQURqTVNXN3lWNVRLUXFMUEdiSU90ZCs2TGZuNnhxYXZUNGZHMndMSHFpTURuMDVEcEtKS1VlMmg3bHlvS1p5MkZBamdRNUFOaAoxTm9sTnNjSVdDMmhwMUd2TUFwSjlhWnBod2N0UkVaMmppcmxtanZYR0tMOG5EZ1F6TVk3MHJVWE9tLzlyaVc5OVhKWlpMRjBLamhmCkdFemZ6M0VFV2piVXZ5K1puT2padXJHVjVnSkxJYUZiMWNGUGo2NXBiVlBiQVpPMVhCNFkzV1JheWhnb1BtTUVFZjBjalFBUHVEZmYKWjRxZFpxa0NhcEgvRThvdlhZTzhoNU5zM0NSUkZnUWxadnF6MmNLNktiNmFTRGlDbWZTL08wb3hHZm0vamlFekZNcFBWRi83enZ1UApjWC85WGhtZ0QwdVJ1TVJVdkFhd1JZOG1rYUtPL3FrPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpWaXNhIGVDb21tZXJjZSBSb290Cj09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURvakNDQW9xZ0F3SUJBZ0lRRTRZMVRSMC9CdkxCK1dVRjFaQWNZakFOQmdrcWhraUc5dzBCQVFVRkFEQnJNUXN3Q1FZRFZRUUcKRXdKVlV6RU5NQXNHQTFVRUNoTUVWa2xUUVRFdk1DMEdBMVVFQ3hNbVZtbHpZU0JKYm5SbGNtNWhkR2x2Ym1Gc0lGTmxjblpwWTJVZwpRWE56YjJOcFlYUnBiMjR4SERBYUJnTlZCQU1URTFacGMyRWdaVU52YlcxbGNtTmxJRkp2YjNRd0hoY05NREl3TmpJMk1ESXhPRE0yCldoY05Nakl3TmpJME1EQXhOakV5V2pCck1Rc3dDUVlEVlFRR0V3SlZVekVOTUFzR0ExVUVDaE1FVmtsVFFURXZNQzBHQTFVRUN4TW0KVm1sellTQkpiblJsY201aGRHbHZibUZzSUZObGNuWnBZMlVnUVhOemIyTnBZWFJwYjI0eEhEQWFCZ05WQkFNVEUxWnBjMkVnWlVOdgpiVzFsY21ObElGSnZiM1F3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQ3ZWOTVXSG02aDJtQ3hsQ2ZMCkY5c0hQNENGVDhpY3R0RDBiMC9QbWRqaDI4SklYRHFzT1RQSEgycUxKajByTmZWSXNaSEJBazRFbHBGN3NEUHdzUlJPRVcrMVFLOGIKUmFWSzczNjJyUEtnSDFnL0VrWmdQSTJoNEgzUFZ6NHpIdnRIOGFvVmx3ZFZacVcxTFM3WWdGbXlwdzIzUnV3aFkvODFxNlVDenlyMApUUDU3OVpSZGhFMm84bUNQMnc0bFBKOXpjYytVMzBycTI5OXlPSXp6bHIzeEY3elN1anRGV3NhbjlzWVhpd0dkL0Jtb0tvTVd1RHBJCi9rNCtvS3NHR2VsVDg0QVRCKzB0dno4S1BGVWdPU3dzQUdsMGxVcThJTEtwZWVVWWlaR28zQnhONzd0K053dGQvam1saUZLTUFHenMKR0h4QnZmYUxkWGU2WUoyRTUvNHRBZ01CQUFHalFqQkFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFRwpNQjBHQTFVZERnUVdCQlFWT0lNUFB5dy9jRE1lelViK0I0d2c0TmZEdHpBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQVgvRkJmWHhjCkNMa3I0TldTUi9wblhLVVR3d01obXl0TWlVYlBXVTNKL3FWQXRtUE4zWEVvbFdjUnpDU3MwMFJzY2E0QklHc0RvbzhZdHlrNmZlVVcKWUZONFBNQ3ZGWVAzajFJekpMMWtrNWZ1aS9mYkdLaHRjYlAzTEJmUWRDVnA5LzVyUEpTK1RVdEJqRTdpYzlEamtDSnpRODN6Nytwegp6a1dLc0taSi8weDluWEdJeEhZZGtGc2Q3djNNOSs3OVlLV3hlaFp4MFJiUWZCSThiR21YMjY1Zk9acHdMd1U4R1VZRW1TQTIwR0J1CllRYTdGa0tNY1BjdysrRGJacU1BQWIzbUxOcVJYNkJHaTAxcW5EMDkzUVZHL25hL29Bbzg1QURtSjdmL2hDM2V1aUlubGhCeDZ5THQKMzk4em5NL2pyYTZPMUk3bVQxR3ZGcExnWFBZSER3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQ2VydHVtIFJvb3QgQ0EKPT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURERENDQWZTZ0F3SUJBZ0lEQVFBZ01BMEdDU3FHU0liM0RRRUJCUVVBTUQ0eEN6QUpCZ05WQkFZVEFsQk1NUnN3R1FZRFZRUUsKRXhKVmJtbDZaWFJ2SUZOd0xpQjZJRzh1Ynk0eEVqQVFCZ05WQkFNVENVTmxjblIxYlNCRFFUQWVGdzB3TWpBMk1URXhNRFEyTXpsYQpGdzB5TnpBMk1URXhNRFEyTXpsYU1ENHhDekFKQmdOVkJBWVRBbEJNTVJzd0dRWURWUVFLRXhKVmJtbDZaWFJ2SUZOd0xpQjZJRzh1CmJ5NHhFakFRQmdOVkJBTVRDVU5sY25SMWJTQkRRVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNNngKd1M3VFQzek5KYzRZUGsvRWpHK0FhblBJVzFING05TGN1d0Jjc2FEOGRRUHVnZkNJN2lOUzZlWVZNNDJzTFFuRmR2a3JPWUNKNUpkTAprS1dvZVBoelEzdWtZYkRZV016aGJHWituUE1KWGxWamhOV283L094TGpCb3M4UTgyS3h1alpsYWtFNDAzRGFhajRHSVVMZHRsa0lKCjg5ZVZndzFCUzdCcWEvajhEMzVpbjJmRTdTWmZFQ1lQQ0Uvd3BGY296bys0N1VYMmJ1NGxYYXB1T2I3a2t5L1pSNkJ5Ni9xbVc2L0sKVXovaURzYVdWaEZ1OStsbXFTYllmNVZUN1FxRmlMcFBLYVZDakY2Mi9JVWdBS3BvQzZFYWhRR2N4RVpqZ29pMklySHUvcXBHV1g3UApOU3pWdHRwZDkwZ3pGRlMyNjlsdnpzMkkxcXNiMnBZN0hWa0NBd0VBQWFNVE1CRXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QU5CZ2txCmhraUc5dzBCQVFVRkFBT0NBUUVBdUkzTzcrY1V1cy91c0VTU2JMUTVQcUtFYnEyNElYZlMxSGVDaCtZZ1FZSHU0dmdSdDJQUkZ6ZSsKR1hZa0hBUWFUT3M5cW1kdkxkVE4vbVV4Y01VYnBnSUt1bUI3YlZqQ21rbitZeklMYStNNndLeXJPN0RvMHdsUmpCQ0R4alRneFN2ZwpHclpnRkNkc01uZU12TEp5bU0vTnpEKzV5Q1JDRk5aWC9PWW1RNmtkNVlDUXpnTlVLRDczUDlQNFRlMXFDanFURTVzN0ZDTVRZNXcvCjBZY25lZVZNVWVNQnJZVmRHanV4MVhNUXBOUHl2RzVrOVZwV2tLakhEa3gwRHk1eE8vZklSL1JwYnhYeUVWNkRIcHg4VXE3OUF0b1MKcUZsbkdOdThjTjJic1dudGdNNkpRRWhxRGpYS0tXWVZJWlFzNkdBcW00VktRUE5yaWlUc0JoWXNjdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkNvbW9kbyBBQUEgU2VydmljZXMgcm9vdAo9PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVNakNDQXhxZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREI3TVFzd0NRWURWUVFHRXdKSFFqRWJNQmtHQTFVRUNBd1MKUjNKbFlYUmxjaUJOWVc1amFHVnpkR1Z5TVJBd0RnWURWUVFIREFkVFlXeG1iM0prTVJvd0dBWURWUVFLREJGRGIyMXZaRzhnUTBFZwpUR2x0YVhSbFpERWhNQjhHQTFVRUF3d1lRVUZCSUVObGNuUnBabWxqWVhSbElGTmxjblpwWTJWek1CNFhEVEEwTURFd01UQXdNREF3Ck1Gb1hEVEk0TVRJek1USXpOVGsxT1Zvd2V6RUxNQWtHQTFVRUJoTUNSMEl4R3pBWkJnTlZCQWdNRWtkeVpXRjBaWElnVFdGdVkyaGwKYzNSbGNqRVFNQTRHQTFVRUJ3d0hVMkZzWm05eVpERWFNQmdHQTFVRUNnd1JRMjl0YjJSdklFTkJJRXhwYldsMFpXUXhJVEFmQmdOVgpCQU1NR0VGQlFTQkRaWEowYVdacFkyRjBaU0JUWlhKMmFXTmxjekNDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DCmdnRUJBTDVBbmZSdTRlcDJoeHhOUlVTT3ZrYklnd2Fkd1NyK0dCK081QUw2ODZ0ZFVJb1dNUXVhQnRERmNDTE5TUzFVWTh5MmJtaEcKQzFQcXkwd2t3THh5VHVyeEZhNzBWSm9TQ3NONnNqTmc0dHFKVmZNaVdQUGUzTS92ZzRhaWpKUlBuMmp5bUpCR2hDZkhkci9qekRVcwppMTRIWkdXQ3dFaXdxSkg1WVo5MklGQ29rY2RtdGV0NFlnTlc4SW9hRStveG94NmdtZjA0OXZZbk1saHZCL1ZydVBzVUs2KzNxc3pXClkxOXpqTm9GbWFnNHFNc1hlRFpSck9tZTlIZzZqYzhQMlVMaW1BeXJMNThPQWQ3dm41bEo4UzNmckhSTkc1aTFSOFhsS2RINWtCakgKWXB5K2c4Y21lejZLSmNmQTNaM21OV2dRSUoyUDJON1N3NFNjRFY3b0w4a0NBd0VBQWFPQndEQ0J2VEFkQmdOVkhRNEVGZ1FVb0JFSwpJejZXOFFmczRxOHA3NEtsZjlBd3BMUXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d2V3WURWUjBmCkJIUXdjakE0b0RhZ05JWXlhSFIwY0RvdkwyTnliQzVqYjIxdlpHOWpZUzVqYjIwdlFVRkJRMlZ5ZEdsbWFXTmhkR1ZUWlhKMmFXTmwKY3k1amNtd3dOcUEwb0RLR01HaDBkSEE2THk5amNtd3VZMjl0YjJSdkxtNWxkQzlCUVVGRFpYSjBhV1pwWTJGMFpWTmxjblpwWTJWegpMbU55YkRBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQUNGYjhBdkNiNlArayt0Wjd4a1NBemsvRXhmWUFXTXltdHJ3VVNXZ0VkdWptCjdsM3NBZzlnMW8xUUdFOG1UZ0hqNXJDbDdyKzhkRlJCdi8zOEVyakhUMXIwaVdBRmYyQzNCVXJ6OXZIQ3Y4UzVkSWEyTFgxcnpOTHoKUnQwdnh1QnF3OE0wQXl4OWx0MWF3ZzZuQ3BuQkJZdXJEQy96WERyUGJEZFZDWWZlVTBCc1dPLzh0cXRsYmdUMkc5dzg0Rm9WeHA3Wgo4VmxJTUNGbEEyenM2U0Z6N0pzRG9lQTNyYUFWR0kvNnVnTE9weXlwRUJNczFPVUlKcXNpbDJENGtGNTAxS0thVTczeXFXamdvbTdDCjEyeXhvdytldit0bzUxYnlydkxqS3pnNkNZRzFhNFhYdmkzdFB4cTNzbVBpOVdJc2d0UnFBRUZROFRtRG41WHBOcGFZYmc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpDb21vZG8gU2VjdXJlIFNlcnZpY2VzIHJvb3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlFUHpDQ0F5ZWdBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUVVGQURCK01Rc3dDUVlEVlFRR0V3SkhRakViTUJrR0ExVUVDQXdTClIzSmxZWFJsY2lCTllXNWphR1Z6ZEdWeU1SQXdEZ1lEVlFRSERBZFRZV3htYjNKa01Sb3dHQVlEVlFRS0RCRkRiMjF2Wkc4Z1EwRWcKVEdsdGFYUmxaREVrTUNJR0ExVUVBd3diVTJWamRYSmxJRU5sY25ScFptbGpZWFJsSUZObGNuWnBZMlZ6TUI0WERUQTBNREV3TVRBdwpNREF3TUZvWERUSTRNVEl6TVRJek5UazFPVm93ZmpFTE1Ba0dBMVVFQmhNQ1IwSXhHekFaQmdOVkJBZ01Fa2R5WldGMFpYSWdUV0Z1ClkyaGxjM1JsY2pFUU1BNEdBMVVFQnd3SFUyRnNabTl5WkRFYU1CZ0dBMVVFQ2d3UlEyOXRiMlJ2SUVOQklFeHBiV2wwWldReEpEQWkKQmdOVkJBTU1HMU5sWTNWeVpTQkRaWEowYVdacFkyRjBaU0JUWlhKMmFXTmxjekNDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUApBRENDQVFvQ2dnRUJBTUJ4TTRLSzBIRHJjNGVDUU5VZDVNdkpEa0tRK2Q0MHVhRzZFZlFsaGZQTWNtM3llNWRyc3dmeGR5U1JYeVdQCjluUTk1SURDK0R3Tjg3OUE2dmZJVXRGeWIrL0lxMEc0Ymk0WEtwVnBETTNTSHBSN0xaUWRxblhYczVqTHJMeGtVMEM4ajZ5c05zdGMKcmJ2ZDRKUVg3TkZjMEwvdnBaWEprTVd3clBzYlE5OTZDRjIzdVBKQUd5c25ubERPWG1XQ2lJeGUwMDRNZXVvSWtiWTJxaXRDKytyQwpvem5sMnlZNHJZc0s3aGxqeHh3azN3TjQydWJxd1VjYUN3dEdDZDBDL043TGgxL1hNR05vb2E3Y01xRzZ2djVFcTJpMnBSY1YvYjNWCnA2ZWE1RVF6NllpTy9PMVI2NU54VHEwQjUwU09xeTNMcVA0QlNVand3TjNIYU5pUy9qMENBd0VBQWFPQnh6Q0J4REFkQmdOVkhRNEUKRmdRVVBOaVRpTUxBZ2duTUFaa0dreURwbm5BSlkwOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01BOEdBMVVkRXdFQi93UUZNQU1CQWY4dwpnWUVHQTFVZEh3UjZNSGd3TzZBNW9EZUdOV2gwZEhBNkx5OWpjbXd1WTI5dGIyUnZZMkV1WTI5dEwxTmxZM1Z5WlVObGNuUnBabWxqCllYUmxVMlZ5ZG1salpYTXVZM0pzTURtZ042QTFoak5vZEhSd09pOHZZM0pzTG1OdmJXOWtieTV1WlhRdlUyVmpkWEpsUTJWeWRHbG0KYVdOaGRHVlRaWEoyYVdObGN5NWpjbXd3RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUljQmJTTWRmbHNYZmNGaE1zK1A1L09LbEZsbQo0SjRvcUY3VHQvUTA1cW81c3BjV3hZSnZNcVRwak9ldi9lL0M2TGxMcXFQMDV0cU5aU0g3dW9EckppaUZHdjQ1ak41YkJBUzBWUG1qClo1NUIrZ2xTekFWSXFNay9JUVFlemtoci9JWG93bnV2ZjdmTStGODYvVFhHRGUrWDNFeXJFZUZyeXpIUmJQdElnS3ZjbkRlNElSUkwKRFhFOTdJTXpidEZ1TWhic21NY1dpMW1tTktzRlZ5MlQ5Nm9UeTlJVDRyY3VPODFyVUJjSmFENjFKbGZ1dHVDMjNia3BnSGw5ajZQdwpwQ2lrRmNTRjlDZlVhNy9sWE9SbEFuWlV0T00zWmlUVEdXSElVaERsaXplYXVhbjVIYi9xbVpKaGx2OEJ6YUZmRGJ4eHZBNnNDeDFIClJSM0I3SHpzL1NrPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpDb21vZG8gVHJ1c3RlZCBTZXJ2aWNlcyByb290Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRekNDQXl1Z0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREIvTVFzd0NRWURWUVFHRXdKSFFqRWJNQmtHQTFVRUNBd1MKUjNKbFlYUmxjaUJOWVc1amFHVnpkR1Z5TVJBd0RnWURWUVFIREFkVFlXeG1iM0prTVJvd0dBWURWUVFLREJGRGIyMXZaRzhnUTBFZwpUR2x0YVhSbFpERWxNQ01HQTFVRUF3d2NWSEoxYzNSbFpDQkRaWEowYVdacFkyRjBaU0JUWlhKMmFXTmxjekFlRncwd05EQXhNREV3Ck1EQXdNREJhRncweU9ERXlNekV5TXpVNU5UbGFNSDh4Q3pBSkJnTlZCQVlUQWtkQ01Sc3dHUVlEVlFRSURCSkhjbVZoZEdWeUlFMWgKYm1Ob1pYTjBaWEl4RURBT0JnTlZCQWNNQjFOaGJHWnZjbVF4R2pBWUJnTlZCQW9NRVVOdmJXOWtieUJEUVNCTWFXMXBkR1ZrTVNVdwpJd1lEVlFRRERCeFVjblZ6ZEdWa0lFTmxjblJwWm1sallYUmxJRk5sY25acFkyVnpNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FRRUEzM0Z2TmxoVFd2STJWRmVBeEhRSUlPMFlmeW9kNWpXYUhpV3NuT1dXZm5KU29CVkMyMW5kWkhvYTBMaDcKM1RrVnZGVkl4TzA2QU9veEVicnljWFFhWjdqUE04eW9NYStqNDlkL3Z6TXRUR284N0l2RGt0SlRkeVIwbkFkdWNQeTlDMXQydWwveQovOWMzUzBwZ2VQZncrc3B3dE9wWnFxUE9TQytwdzdJTGZoZHlGZ3ltQnd3Yk9NL0pZcmMvb0pPbGgwSHl0M0JBZDlpK0ZIempxTUI2Cmp1bGphdEVQbXNiUzlJczZGQVJXMU8yNHpHNzErK0lzV0wxL1Qyc3I5MkFrV0NUT0p1ODBrVHJWNDRIUXN2QUVBdGRidHo2U3JHc1MKaXZua0JiQTdrVWxjc3V0VDZ2aWZSNGJ1djVYQXdBYWYwbHRlRVJ2MHh3UTFLZEpWWE9UdDZ3SURBUUFCbzRISk1JSEdNQjBHQTFVZApEZ1FXQkJURmUxaTk3ZG9sYWRMM1dSYW9zekxBZXlkYjlEQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0R3WURWUjBUQVFIL0JBVXdBd0VCCi96Q0Jnd1lEVlIwZkJId3dlakE4b0RxZ09JWTJhSFIwY0RvdkwyTnliQzVqYjIxdlpHOWpZUzVqYjIwdlZISjFjM1JsWkVObGNuUnAKWm1sallYUmxVMlZ5ZG1salpYTXVZM0pzTURxZ09LQTJoalJvZEhSd09pOHZZM0pzTG1OdmJXOWtieTV1WlhRdlZISjFjM1JsWkVObApjblJwWm1sallYUmxVMlZ5ZG1salpYTXVZM0pzTUEwR0NTcUdTSWIzRFFFQkJRVUFBNElCQVFESWs0RTdpYlN2dUlRU1RJM1M4TnR3CnVsZUdGVFFRdVM5L0hyQ29pV0NoaXNKM0RGQkttd0NMMkl2MFFlTFFnNHBLSEJRR3NLTm9CWEF4TUtkVG13N3BTcUJZYVdjT3JwMzIKcFN4QnZ6d0dhK1JaekcwUThaWnZIOS8wQkFLa24wVSt5Tmo2TmtaRVVEK0NsNUVmS05zWUVZd3E1R1dEVnhJU2pCYy9sRGIrWGJEQQpCSGNUdVBRVjFUODR6SlE2VmRDc21QVzZBRi9naGhtQmVDOG93SDdUekVJSzlhNVFvTkUreHFGeDdEK2dJSXhtT29tMGp0VFlzVTBsClIrNHZpTWkxNFFWRndMNFVjZDU2L1k1N2ZVMElscVVTYy9BdHlqY25kQkluVE11MmwrblpyZ2h0V2psQTNRVkhkV3BhSWJPakdNOU8KOXk1WHQ1aHdYc2pFZUxCaQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpRdW9WYWRpcyBSb290IENBCj09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUYwRENDQkxpZ0F3SUJBZ0lFT3JaUWl6QU5CZ2txaGtpRzl3MEJBUVVGQURCL01Rc3dDUVlEVlFRR0V3SkNUVEVaTUJjR0ExVUUKQ2hNUVVYVnZWbUZrYVhNZ1RHbHRhWFJsWkRFbE1DTUdBMVVFQ3hNY1VtOXZkQ0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMAplVEV1TUN3R0ExVUVBeE1sVVhWdlZtRmthWE1nVW05dmRDQkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHZjbWwwZVRBZUZ3MHdNVEF6Ck1Ua3hPRE16TXpOYUZ3MHlNVEF6TVRjeE9ETXpNek5hTUg4eEN6QUpCZ05WQkFZVEFrSk5NUmt3RndZRFZRUUtFeEJSZFc5V1lXUnAKY3lCTWFXMXBkR1ZrTVNVd0l3WURWUVFMRXh4U2IyOTBJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1TNHdMQVlEVlFRRApFeVZSZFc5V1lXUnBjeUJTYjI5MElFTmxjblJwWm1sallYUnBiMjRnUVhWMGFHOXlhWFI1TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGCkFBT0NBUThBTUlJQkNnS0NBUUVBdjJHMWxWTzZWL3o2OG1jTE9ocmZFWUJrbGJUUnZNMTZ6L1lwbGk0a1ZFQWtPUGNhaGR4WVRNdWsKSjBLWDBKK0Rpc1BrQmdOYkFLVlJIbkFFZE9MQjFEcXIxNjA3QnhnRmp2MkRyT3BtMlJnYmFJcjFWeHFZdXZYdGRqMTgyZDZVYWp0TApGOEhWajcxbE9EcVYwRDFWTms3ZmVWY3hLaDdZV1dWSldDQ1lmcXRmZnAvcDFrM3NnM1NweDJ6WTdpbEtoU29HRlBsVTV0UGFaUWVMCll6Y1MxOURzdzNzZ1FVU2o3Y3VnRitGeFpjNGRaakgzZGdFWnlIMERXTGFWU1IybUVpYm94Z3gyNE9ObXkrcGRwaWJ1NWN4ZnZXZW4KQVNjT29zcFV4YkY2bFIxeEhrb3BpZ1BjYWtYQnBCbGViemJOdzZLd3QvNWNPT0pTdlBoRVErYVF1d0lEQVFBQm80SUNVakNDQWs0dwpQUVlJS3dZQkJRVUhBUUVFTVRBdk1DMEdDQ3NHQVFVRkJ6QUJoaUZvZEhSd2N6b3ZMMjlqYzNBdWNYVnZkbUZrYVhOdlptWnphRzl5ClpTNWpiMjB3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekNDQVJvR0ExVWRJQVNDQVJFd2dnRU5NSUlCQ1FZSkt3WUJCQUcrV0FBQk1JSDcKTUlIVUJnZ3JCZ0VGQlFjQ0FqQ0J4eHFCeEZKbGJHbGhibU5sSUc5dUlIUm9aU0JSZFc5V1lXUnBjeUJTYjI5MElFTmxjblJwWm1sagpZWFJsSUdKNUlHRnVlU0J3WVhKMGVTQmhjM04xYldWeklHRmpZMlZ3ZEdGdVkyVWdiMllnZEdobElIUm9aVzRnWVhCd2JHbGpZV0pzClpTQnpkR0Z1WkdGeVpDQjBaWEp0Y3lCaGJtUWdZMjl1WkdsMGFXOXVjeUJ2WmlCMWMyVXNJR05sY25ScFptbGpZWFJwYjI0Z2NISmgKWTNScFkyVnpMQ0JoYm1RZ2RHaGxJRkYxYjFaaFpHbHpJRU5sY25ScFptbGpZWFJsSUZCdmJHbGplUzR3SWdZSUt3WUJCUVVIQWdFVwpGbWgwZEhBNkx5OTNkM2N1Y1hWdmRtRmthWE11WW0wd0hRWURWUjBPQkJZRUZJdExiZTNUS2JrR0dldzVPYW53bDRScXkrL2ZNSUd1CkJnTlZIU01FZ2FZd2dhT0FGSXRMYmUzVEtia0dHZXc1T2Fud2w0UnF5Ky9mb1lHRXBJR0JNSDh4Q3pBSkJnTlZCQVlUQWtKTk1Sa3cKRndZRFZRUUtFeEJSZFc5V1lXUnBjeUJNYVcxcGRHVmtNU1V3SXdZRFZRUUxFeHhTYjI5MElFTmxjblJwWm1sallYUnBiMjRnUVhWMAphRzl5YVhSNU1TNHdMQVlEVlFRREV5VlJkVzlXWVdScGN5QlNiMjkwSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVnZ1E2CnRsQ0xNQTRHQTFVZER3RUIvd1FFQXdJQkJqQU5CZ2txaGtpRzl3MEJBUVVGQUFPQ0FRRUFpdFFVdGY3MG1wS25HZFNrZm5JWWo5bG8KZkZJazNXZHZPWHJFcWw0OTRsaXdUWENZaEdIb0crTnBHQTdPKzBkUW9FNy84Q1FmdmJMTzlTZjg3QzlUcW5ON0F6MTBidVlXbnV1bApMc1MvVmlkUUsySzZ2a3NjUEZWY1FSMGt2b0lnUjEzVlJINTZGbWpmZlUxUmNIaFhIVE1lL1FLWm5Bek5DZ1ZQeDd1T3BIWDZTbTJ4CmdJNEpWcm1jR21EK1hjSFhldHdSZU5EV1hjRzMxYTB5bVFNNmlzeFVKVGt4Z1hzVElsRzZSbXlodTU3NkJHeEpKblNQMG5QcnpEQ2kKNXVwWklvZjRsL1VPL2VyTWtxUVd4RklZNmlIT3NmSG1oSUhsdXFtR0tQSkRXbDBTbmF3ZTJhamxDbXFuZjZDSEtjL3lpVTNVN01YaQo1bnJRTmlPS1NuUTIrUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClF1b1ZhZGlzIFJvb3QgQ0EgMgo9PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZ0ekNDQTUrZ0F3SUJBZ0lDQlFrd0RRWUpLb1pJaHZjTkFRRUZCUUF3UlRFTE1Ba0dBMVVFQmhNQ1FrMHhHVEFYQmdOVkJBb1QKRUZGMWIxWmhaR2x6SUV4cGJXbDBaV1F4R3pBWkJnTlZCQU1URWxGMWIxWmhaR2x6SUZKdmIzUWdRMEVnTWpBZUZ3MHdOakV4TWpReApPREkzTURCYUZ3MHpNVEV4TWpReE9ESXpNek5hTUVVeEN6QUpCZ05WQkFZVEFrSk5NUmt3RndZRFZRUUtFeEJSZFc5V1lXUnBjeUJNCmFXMXBkR1ZrTVJzd0dRWURWUVFERXhKUmRXOVdZV1JwY3lCU2IyOTBJRU5CSURJd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFDYUdNcExsQTBBTGE4REtZcndENEhJcmt3WmhSMEluNnNwUklYekw0R3RNaDZRUnIramhpWWFIdjUrSEJnNgpYSnhnRnlvNmRJTXpNSDFoVkJITDdhdmc1dEtpZnZWcmJ4aTNDZ3N0L2VrKzd3ckdzeERwM01KR0YvaGQvYVRhLzU1Sldwem1NK1lrCmx2Yy91bHNySEhvMXd0Wm4vcXRtVUl0dEtHQXI3OWRndzhlVHZJMDJrZk4vK05zUkU4U2NkM2JCcnJjQ2FvRjZxVVdENGdYbXVWYkIKbERlUFNIRmpJdXdYWlFlVmlrdmZqOFphQ3VXdzQxOWVheEdyRFBtRjYwVHArQVJ6OHVuK1hKaU05WE92YTdSK3pkUmNBaXRNT2VHeQpsWlV0UW9mWDFiT1FRN2RzRS9IZTNmYkUrSWsvMFhYMWtzT1IxWXFJMEpEczNHM2VpY0psY1phTERRUDluTDliRnF5UzIrcitlWHl0CjY2LzNGc3ZielNVcjVSLzdtcC9pVWN3NlV3eEk1ZzY5eWJSMkJsTG1FUk9GY21NREJPQUVOaXNnR1FMb2RLY2Z0c2xXWnZCMUpkeG4Kd1E1aFlJaXpQdEdvL0tQYUhiRFJzU05VMzBSMmJlMUIyTUd5SXJaVEhOODFIZHloZHlveDVDMzE1ZVhieU9ELzVZRFhDMk9nL3pPaApEN29zRlJYcWw3UFNvclcrOG95V0hocVBIV3lrWVRlNWhuTXoxNWVXbmlOOWdxUk1nZUtoMGJwblg1VUhveWNSN2hZUWU3eEZTa3l5CkJOS3I3OVg5REZIT1VHb0lNZm1SMmd5UFpGd0R3enFMSUQ5dWpXYzlPdGIrZlZ1SXlWNzd6R0hjaXpOMzAwUXlOUWxpQkpJV0VOaWUKSjBmN095SGorT3NkV3dJREFRQUJvNEd3TUlHdE1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0N3WURWUjBQQkFRREFnRUdNQjBHQTFVZApEZ1FXQkJRYWhHSzhTRXd6SlFUVTd0RDJBOFFaUnRHVWF6QnVCZ05WSFNNRVp6QmxnQlFhaEdLOFNFd3pKUVRVN3REMkE4UVpSdEdVCmE2RkpwRWN3UlRFTE1Ba0dBMVVFQmhNQ1FrMHhHVEFYQmdOVkJBb1RFRkYxYjFaaFpHbHpJRXhwYldsMFpXUXhHekFaQmdOVkJBTVQKRWxGMWIxWmhaR2x6SUZKdmIzUWdRMEVnTW9JQ0JRa3dEUVlKS29aSWh2Y05BUUVGQlFBRGdnSUJBRDRLRmsyZkJsdW9ybkZkTHdVdgpaK1lUUllQRU52Ynp3Q1lNRGJWSFpGMzR0SExKUnFVREdDZFZpWGg5ZHVxV05JQVhJTnpuZy9pTi9BZTQybDlOTG1leWhQM1pSUHgzClVJSG1mTFRKRFF0eVUvaDJCd2RCUjVZTSsrQ0NKcE5WalA0aUgyQmxmRi9uSnJQM01wQ1lVTlEzY1ZYMmtpRjQ5NVY1K3ZndEpvZG0KVmpCM3BqZDRNMUlRV0s0L1lZN3lhckh2R0g1S1dXUEtqYUpXMWFjdnZGWWZ6em5CNHZzS3FCVXNmVTE2WThac2wwUTgwbS9EU2hjSworSkRTVjZJWlVhVXRsMEhhQjArcFVOcVFqWlJHNFQ3d2xQMFFBRGoxTytoQTRiUnVWaG9nekc5WWplMHVSWS9XNlpNLzU3RXMzenJXCklvemNoTHNpYjlENDVNWTU2UVNJUE1PNjYxVjZiWUNaSlBWc0FmdjRsN0NVVyt2OTBtL3hkMmdOTldRanJMaFZvUVBSVFVJWjNQaDEKV1ZhaithaEplZml2RHJrUm9IeTNhdTAwMExZbVlqZ2Fod3o0NlAwdTA1Qi9CNUVxSGRaK1hJV0RtYkE0Q0QvcFh2azFCK1RKWW01WApmNmRRbGZlNnlKdm1qcUlCeGRabXYzbGg4endjNGJtQ1hGMmd3K25ZU0wwWm9oRVVHVzZ5aGh0b1BrZzNHb2kzWFpaZW5NZnZKMklJCjRwRVpYTkx4SWQyNkYwS0NsM0dCVXpHcG4vWjlZcjl5NGFPVEhjeUtKbG9KT05ETzF3MkFGclI0cFRxSFRJMktwZFZHbC9Jc0VMbTgKVkNMQUFWQnBRNTcwc3U5dCtPemE4ZU94NzkrUmoxUXFDeVhCSmhuRVVoQUZaZFdDRU9yQ01jMHUKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKUXVvVmFkaXMgUm9vdCBDQSAzCj09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJR25UQ0NCSVdnQXdJQkFnSUNCY1l3RFFZSktvWklodmNOQVFFRkJRQXdSVEVMTUFrR0ExVUVCaE1DUWsweEdUQVhCZ05WQkFvVApFRkYxYjFaaFpHbHpJRXhwYldsMFpXUXhHekFaQmdOVkJBTVRFbEYxYjFaaFpHbHpJRkp2YjNRZ1EwRWdNekFlRncwd05qRXhNalF4Ck9URXhNak5hRncwek1URXhNalF4T1RBMk5EUmFNRVV4Q3pBSkJnTlZCQVlUQWtKTk1Sa3dGd1lEVlFRS0V4QlJkVzlXWVdScGN5Qk0KYVcxcGRHVmtNUnN3R1FZRFZRUURFeEpSZFc5V1lXUnBjeUJTYjI5MElFTkJJRE13Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQwpEd0F3Z2dJS0FvSUNBUURNVjBJV1ZKem1tTlBUVGU3KzdjZWZRemxLWmJQb0ZvZzAydzFaa1hUUGtyZ0VRSzBDU3pHcnZJMlJhTmdnCkRob0I0aHA3VGhkZDRvcTNQNWthemV0aHE4SmxwaCszdDcyM2ovejljSThMb0dlK0FhSlp6M0htRHlsMi83RldlVVVySDU1NlZPaWoKS1RWb3BBRlBENlF1Tis4YnYrT1BFS2h5cTFoWDUxU0d5TW56VzlvczJsMk9ianlqUHRyN2d1WGQ4bHl5QlROdmlqYk8wQk5PLzc5SwpERFJNcHNNaHZWQUVWZXV4dTUzN1JSNWtGZDVWQVl3Q2RyWExvVDlDYWJ3dnZXaERGbGFKS2pkaGtmMm1yazdBeXhSbGxEZExrZ2J2CkJOREluSWpiQzN1QnI3RTlLc1JsT25pMjd0eUFzZExUbVp3NjdtdGFhN09OdDlYT25NSytwVXN2RnJHZWFEc0diNjU5bi9qZTdNd3AKcDVpakpVTXY3L0ZmSnVHSVRmaGVidGZaRkc0Wk0ybW5PNFNKazhSVFZST2hVWGhBK0xqSm91NTd1bEpDZzU0VTdRVlNXbGxXcDVmOApuVDhLS2RqY1Q1RU9FN3plbGFUZmk1bStySnN6aU8rMWdhOGJ4aUpUeVBiSDdwY1VzTVY4ZUZMSThNNXVkMkNFcHVrcWRpRHRXQUVYCk1KUHBHb3ZnYzJQWmFwS1VTVTYwclVxRnhLTWlNUHdKN1dnaWM2YUlERlVoV01YaE9wOHEzY3Joa09EWmM2dHNnTGpvQzJTVG9KeU0KR2YrejBnenNrU2FIaXJPaTRYQ1BMQXJselcxb1VldmFQd1YvaXpMbUUxeHIvbDlBNGlMSXRMUmtUOWE2ZlVnK3FHa00xN3VHY2Nsegp1RDg3blNWTDJ2OUE2d0lEQVFBQm80SUJsVENDQVpFd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pDQjRRWURWUjBnQklIWk1JSFdNSUhUCkJna3JCZ0VFQWI1WUFBTXdnY1V3Z1pNR0NDc0dBUVVGQndJQ01JR0dHb0dEUVc1NUlIVnpaU0J2WmlCMGFHbHpJRU5sY25ScFptbGoKWVhSbElHTnZibk4wYVhSMWRHVnpJR0ZqWTJWd2RHRnVZMlVnYjJZZ2RHaGxJRkYxYjFaaFpHbHpJRkp2YjNRZ1EwRWdNeUJEWlhKMAphV1pwWTJGMFpTQlFiMnhwWTNrZ0x5QkRaWEowYVdacFkyRjBhVzl1SUZCeVlXTjBhV05sSUZOMFlYUmxiV1Z1ZEM0d0xRWUlLd1lCCkJRVUhBZ0VXSVdoMGRIQTZMeTkzZDNjdWNYVnZkbUZrYVhObmJHOWlZV3d1WTI5dEwyTndjekFMQmdOVkhROEVCQU1DQVFZd0hRWUQKVlIwT0JCWUVGUExBRStDQ1F6Nzc3aTluTXBZMVhOdTR5d0xRTUc0R0ExVWRJd1JuTUdXQUZQTEFFK0NDUXo3NzdpOW5NcFkxWE51NAp5d0xRb1Vta1J6QkZNUXN3Q1FZRFZRUUdFd0pDVFRFWk1CY0dBMVVFQ2hNUVVYVnZWbUZrYVhNZ1RHbHRhWFJsWkRFYk1Ca0dBMVVFCkF4TVNVWFZ2Vm1Ga2FYTWdVbTl2ZENCRFFTQXpnZ0lGeGpBTkJna3Foa2lHOXcwQkFRVUZBQU9DQWdFQVQ2MmdMRXo2d1BKdjkyWlYKcXlNMDd1Y3Ayc05idHJDRDJkRFE0aUg3ODJDbk8xMWdVeWVpbS9ZSUlpcm52NkJ5NVp3a2FqR3hrSG9uMjRRUmlTZW1kMW80MTcrcwpodnp1WFlPOEJzYlJkMnNQYlNRdlMzcHNwd2VXeXVPRW42MklpeDJyRm8xYlpoZlpGdlNMZ05MZCtMSjJ3L3c0RTZvTTNrSnBLMjd6ClBPdUFKOXYxcGtRTm4xcFZXUXZWRFZKSXhhNmY4aStBeGVveVVEVVNseTdCNGYveEk0aFJPSi95WmxaMjV3OVJsNlZTREUxSlVaVTIKUGIraVN3d1FIWWFaVEtyemNoR1Q1T3IybTlxb1hhZE50NTRDcm5NQXlOb2pBK2o1NmhsMFlnQ1V5eUlndnBTbldiV0NhcjZaZVhxcAo4a29rVXZkMC9icE81cWdkQW02eERZQkV3YTdUSXpkZnU0VjhLNUl1Nkg2bGk5Mlo0YjhuYnkxZHFudUgvZ3JkUy95TzlTYmtibkJDCmJqUHNNWjU3azhIa3lXa2FQY0JyVGlKdDdxdFlUY2JRUWNFcjZrOFNoMTdyUmRoczlaZ0MwNkRZVllvR21SbWlvSGZSTUo2c3pIWHUKZy9Xd1lqblBiRmZpVE5LUkN3NTFLQnVhdi8wYVEvSEtkL3M3ajJHNGFTZ1dRZ1JlY0NvY0lkaVA0YjBqV3kxMFFKTFpZeGtOYzkxcAp2R0pIdk9CMEs3THJmYjVCRzdYQVJzV2hJc3RmVHNFb2t0NFl1dFVxS0xzUml4ZVRtSmxnbEZ3anoxb25sMTRMQlFhVE54NDdhVGJyCnFaNWhIWTh5Mm80TTFuUStld2trMmdGM1I4UTd6VFNNbWZYSzRTVmhNN0paRytKdTF6ZFh0ZzJwRXRvPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpTZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3QgQ0EKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEV2pDQ0FrS2dBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUVVGQURCUU1Rc3dDUVlEVlFRR0V3SktVREVZTUJZR0ExVUVDaE1QClUwVkRUMDBnVkhKMWMzUXVibVYwTVNjd0pRWURWUVFMRXg1VFpXTjFjbWwwZVNCRGIyMXRkVzVwWTJGMGFXOXVJRkp2YjNSRFFURXcKSGhjTk1ETXdPVE13TURReU1EUTVXaGNOTWpNd09UTXdNRFF5TURRNVdqQlFNUXN3Q1FZRFZRUUdFd0pLVURFWU1CWUdBMVVFQ2hNUApVMFZEVDAwZ1ZISjFjM1F1Ym1WME1TY3dKUVlEVlFRTEV4NVRaV04xY21sMGVTQkRiMjF0ZFc1cFkyRjBhVzl1SUZKdmIzUkRRVEV3CmdnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUN6cy81LzAyMng3eFo4VjZVTWJYYUtMMHUvWlB0TTdvcncKOHlsODlmL3VLdURwNmJwYlpDS2FtbThzT2lacFVRV1pKdHpWSEdweHhwcDlIcDNkZkd6R2pHZG5Tajc0Y2JBWko2a0pES2FWdjB1TQpEUHBWbUR2WTZDS2hTM0U0ZWF5WGttbXppWDdxSVdnR21CU1doOUpoTnJ4dEoxYWVWKzdBd0ZiOU1zK2syWTdDSTllTnFQUFlKYXlYCjVIQTQ5TFk2dEowN2x5WkRvNkc4U1ZseVRDTXdod0ZZOWs2K0hHaFdacS9OUVYzSXMwMHFWVWFySDlvZTRrQTkyODE5dVpLQW5EZmQKREpaa25kd2k5MlNMMzJIZUZaUlNGYUI5VXNsTHFDSEp4ckh0eThPVllORVA4S3R3K04vTFRYN3MxdnFyMmIxL1ZQS2w2WG42MmRaMgpKQ2h6QWdNQkFBR2pQekE5TUIwR0ExVWREZ1FXQkJTZ2MwbVphTnlGVzJYam15Z3ZWNSs5TTd3SFNEQUxCZ05WSFE4RUJBTUNBUVl3CkR3WURWUjBUQVFIL0JBVXdBd0VCL3pBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQWFFQ3BxTHZrVDExNXN3VzFGN05nRSt2R2tsM2cKMGROcS92dSttMjIveHdWdFdTREVIUEMzMm9SWUFtUDZTQmJ2VDZVTDkwcVk4aitlRzYxSGEyUE9DRWZyVWo5NG5LOU5ydmpWVDgrYQptQ29RUVRsU3hOM1ptdzd2a3dHdXNpN0thRUlrUW15d3N6byt6ZW5hU01RVnkrbjVCdytTVUVtSzNUR1hYOG5wTjZvN1dXV1hsRExKCnM1OCtPbUpZeFVtdFlnNXhwVEtxTDhhSmRrTkFFeE5uUGFKVUpSREw4VHJ5MmZyYlNWYTdwdjZuUVRYRDRJaGh5WWpIM3pZUUlwaFoKNnJCSysxWVdjMjZzVGZjaW9VK3RIWG90UlNmbE1NRmU4dG9UeXlWQ1VaVkhBNHhzSWN4MFF1MVQvek9Manc5WEFSWXZ6NmJ1eVhBaQpGTDM5dm13TEF3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKU29uZXJhIENsYXNzIDIgUm9vdCBDQQo9PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlESURDQ0FnaWdBd0lCQWdJQkhUQU5CZ2txaGtpRzl3MEJBUVVGQURBNU1Rc3dDUVlEVlFRR0V3SkdTVEVQTUEwR0ExVUVDaE1HClUyOXVaWEpoTVJrd0Z3WURWUVFERXhCVGIyNWxjbUVnUTJ4aGMzTXlJRU5CTUI0WERUQXhNRFF3TmpBM01qazBNRm9YRFRJeE1EUXcKTmpBM01qazBNRm93T1RFTE1Ba0dBMVVFQmhNQ1Jra3hEekFOQmdOVkJBb1RCbE52Ym1WeVlURVpNQmNHQTFVRUF4TVFVMjl1WlhKaApJRU5zWVhOek1pQkRRVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFKQVhTaldkeXZBTmxzZEUraFkzCi9FaTl2WCtBTFRVNzRXK29aNm0vQXh4TmpHOHlSOVZCYUtRVEJNRTFESnFFUS94Y0hmK0pzK2dYR00yUlgvdUo0K3EvVGwxOEd5YlQKZFhudDVvVGpWK1d0S2NUME9pam5wWHVFTm1tei9WNTJ2YU10bWRPUVRpTW9mUmhqOFZRN0pwMTJXNWRDc3YrdThFN3MzVG1WVG9NRwpmK2RKUU1qRkFiSlVXbVlkUGZ6NTZUd0tub0c0Y1BBQmkrUWpWSHpJcnZpUUhnQ1djdFJVejJFanZPcjduUUtWMGJhNWNUcHBDRDhQCnRPRkN4NGoxUDVpb3A3b2M0SEZ4NzFoWGdWQjZYR3QwUmc2REE1akRqcWh1OG5ZeWJpZUR3blB6M0Jqb3RKUHFkVVJyQkdBZ2NWZUgKbmZPK29KQWpQWW9rNGRvaDI4TUNBd0VBQWFNek1ERXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QVJCZ05WSFE0RUNnUUlTcUNxV0lUVApYand3Q3dZRFZSMFBCQVFEQWdFR01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQmF6b2Y1Rm5JVlYwc2QyWnZub2lZdzdKTm4zOVl0CjBqU3Y5emlsenFzV3Vhc3ZmRFhMck5BUHRFd3IvSUR2YTR5Ulh6WjI5OXV6R3hucTlMSVIvV0Z4Ukw4b3N6b2R2N05ENkorLzNERUkKY2JDZGpkWTBSektReG1Vazk2QktmQVJ6anpsdkY0eHl0YjFMeUhyNGU0UERLRTZjQ2VwblA3Sm5CQnZERk5yNDUwa2trZEFkYXZwaApPZTlyNXlGMUJnZllFclFoSUhCQ2NZSGFQSm8ydnFaYkRXcHNtaCtSZS9uNTcwSzZUazZlekF5TmxOelpSWnhlN0VKUVk2NzBYY1N4CkV0ektPNmd1blJSYUJYVzM3TmRqNHJvMXRnUUlrZWphblp6MlpyVVlyQXFtVkNZME05SWJ3ZFIvR2pxT0M2b3lidHY4VHlXZjJUTEgKbGxwd3JOOU0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJvb3QgQ0EKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR1akNDQXFLZ0F3SUJBZ0lFQUppV2lqQU5CZ2txaGtpRzl3MEJBUVVGQURCVk1Rc3dDUVlEVlFRR0V3Sk9UREVlTUJ3R0ExVUUKQ2hNVlUzUmhZWFFnWkdWeUlFNWxaR1Z5YkdGdVpHVnVNU1l3SkFZRFZRUURFeDFUZEdGaGRDQmtaWElnVG1Wa1pYSnNZVzVrWlc0ZwpVbTl2ZENCRFFUQWVGdzB3TWpFeU1UY3dPVEl6TkRsYUZ3MHhOVEV5TVRZd09URTFNemhhTUZVeEN6QUpCZ05WQkFZVEFrNU1NUjR3CkhBWURWUVFLRXhWVGRHRmhkQ0JrWlhJZ1RtVmtaWEpzWVc1a1pXNHhKakFrQmdOVkJBTVRIVk4wWVdGMElHUmxjaUJPWldSbGNteGgKYm1SbGJpQlNiMjkwSUVOQk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbU5LMVVSRjZnYVlVbUhGdAp2c3puRXh2V0p3NTZzMm9ZSExaaFd0VmhDYi9la0JQSForN2Q4OXJGREJLZU5WVStMQ2VJUUd2MzNOMGlZZlhDeHc3MTl0VjJVMDJQCmpMd1lkamVGbmVqS1NjZlNUNWdUQ2FJK0lvaWNmOWJ5RUdXMDdsOFkxUmZqK01YOTRwMmk3MU1PaFhlaUQrRXdSKzRBNXpOOVJHY2EKQzFIb2k2Q2VVSmhvTkZJZkxtMEI4bUJGOGpIcnFURm9LYnQ2UVo3R0dYK1V0RkU1QTMreTNxY3ltN1JIam0rMFNxN2xyN0hjc0J0aAp2Smx5M3VTSnQzb21YZG96U1Z0U25BNzFpcTNEdUQzb0JtckMxU29MYkh1RXZWWUZ5NFpsa3V4RUs3Q091ZHh3QzBiYXJieGppRG42CjIycitJL3E4NUVqMFp5dHFFUkFoU1FJREFRQUJvNEdSTUlHT01Bd0dBMVVkRXdRRk1BTUJBZjh3VHdZRFZSMGdCRWd3UmpCRUJnUlYKSFNBQU1Ed3dPZ1lJS3dZQkJRVUhBZ0VXTG1oMGRIQTZMeTkzZDNjdWNHdHBiM1psY21obGFXUXVibXd2Y0c5c2FXTnBaWE12Y205dgpkQzF3YjJ4cFkza3dEZ1lEVlIwUEFRSC9CQVFEQWdFR01CMEdBMVVkRGdRV0JCU29mZXU4WTZSMEUzUUE3SmJnMHpUQkxMOXMrREFOCkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQUJZU0hWWFEyWWNHNzBkVEdGYWdUdEoray9ydnVGYlF2Qmd3cDhxaVNwR0VOL0t0Y0NGdFIKRXl0TndpcGh5UGdKV1B3dEFySTVmWmxtZ2I5dVhKVkZJR3ptZWFmUjJCd3AvTUlnSjFISThYeGROR2RwaFJFd3hnRFMxL1BUZkxidwpNVmNvRW9KejZUTXZwbFcwQzVHVVI1ejZ1M3BDTXVpdWZpM0l2S3dVdjlrUDJWdjh3Zmw2bGVGOWZwYjhjYkRDVE1qZlJUVEp6ZzN5Cm5HUUkwRHZES2NXeTdaQUV3YkVwa2NVd2I4R3BjalBNL2wwV0Z5d1JhZWQrL3NXRENOKzgzQ0k2TGlCcEl6bFdZR2VRaXk1Mk9mc1IKaUpmMmZMMUx1Q0FXWndXTjRqdkJjaitVbFRmSFhibWUySk9oRjQvL0RHWVZ3U1I4TW53REhUdWhXRVV5a3c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpUREMgSW50ZXJuZXQgUm9vdCBDQQo9PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRUt6Q0NBeE9nQXdJQkFnSUVPc3lsVERBTkJna3Foa2lHOXcwQkFRVUZBREJETVFzd0NRWURWUVFHRXdKRVN6RVZNQk1HQTFVRQpDaE1NVkVSRElFbHVkR1Z5Ym1WME1SMHdHd1lEVlFRTEV4UlVSRU1nU1c1MFpYSnVaWFFnVW05dmRDQkRRVEFlRncwd01UQTBNRFV4Ck5qTXpNVGRhRncweU1UQTBNRFV4TnpBek1UZGFNRU14Q3pBSkJnTlZCQVlUQWtSTE1SVXdFd1lEVlFRS0V3eFVSRU1nU1c1MFpYSnUKWlhReEhUQWJCZ05WQkFzVEZGUkVReUJKYm5SbGNtNWxkQ0JTYjI5MElFTkJNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QQpNSUlCQ2dLQ0FRRUF4TGhBdkpIVll4L1htYUNMREVBZWRMZEluVWFNQXJMZ0pGL3dHUk9uTjROclhjZU8rWVF3emhvNyt2dk9pMjBqCnhzTnVacCtKcGQvZ1FsQm4raDlzSHZUUUJkYS95dFpPNUdoZ2JFYXFIRjFqNFFlR0RtVUFweTZtY2NhOHVZR29PbjBhMHZuUnJFdkwKem5XdjNIdjZnWFBVL0xxOVFZalVkTFA1WGpnNlBFT28wcFZPZDIwVERKMlBlQUczV2lBZkF6YzE0aXpiU3lzc2VMbEoyOFRReDV5Ywo1SW9nQ1NFV1ZtYi9CZXhiNC9EUHF5UWtYc04vY0hvU3hOSzFFS0MySWVHTmVHbFZSR24xeXBZY05JVVhKWGZpOWk4bm1IajllUVk2Cm90WmFROEgvN0FRNzdoUHYwMWhhLzVMcjdLN2E4amNEUjBHMmw4a3RDa0VpdTd2bXB3SURBUUFCbzRJQkpUQ0NBU0V3RVFZSllJWkkKQVliNFFnRUJCQVFEQWdBSE1HVUdBMVVkSHdSZU1Gd3dXcUJZb0Zha1ZEQlNNUXN3Q1FZRFZRUUdFd0pFU3pFVk1CTUdBMVVFQ2hNTQpWRVJESUVsdWRHVnlibVYwTVIwd0d3WURWUVFMRXhSVVJFTWdTVzUwWlhKdVpYUWdVbTl2ZENCRFFURU5NQXNHQTFVRUF4TUVRMUpNCk1UQXJCZ05WSFJBRUpEQWlnQTh5TURBeE1EUXdOVEUyTXpNeE4xcUJEekl3TWpFd05EQTFNVGN3TXpFM1dqQUxCZ05WSFE4RUJBTUMKQVFZd0h3WURWUjBqQkJnd0ZvQVViR1FCeC8yRmJhekkycDVRQ0lVSXRUeFdxRkF3SFFZRFZSME9CQllFRkd4a0FjZjloVzJzeU5xZQpVQWlGQ0xVOFZxaFFNQXdHQTFVZEV3UUZNQU1CQWY4d0hRWUpLb1pJaHZaOUIwRUFCQkF3RGhzSVZqVXVNRG8wTGpBREFnU1FNQTBHCkNTcUdTSWIzRFFFQkJRVUFBNElCQVFCT1E4elIzUjBRR3daL3Q2VDYwOWxOK3lPZkkxUmI1b3N2QkNpTHRTZHRpYUhzbUduYzU0MG0KZ3dWNWRPeTB1YU9Yd1RVQS9SWGFPWUU2bFRHUTNwZnBocWlaZHd6bFdxQ0UveElXckc2NGpjTjdrc0tzTHRCOUtPeTI4MkE0YVc4KwoyQVJWUHA3TVZkSzYvcnRIQk5jSzJSWUtOQ24xV0JQVlQ4K1BWa3V6SHU3VG1IbmFDQjRNYjdqNEZpZnZ3bTg5OXFOTFBnN2tiV3piCk8wRVNtNzBOUnlOL1BFclFyOEN2OXU4YnRSWEU2NFBFQ1Y5MGk5a1IrOEpXc1R6NGNNbzBqVU5BRTR6OW1RTlVlY1l1Nm9haDlqclUKQ2J6MHZHYk1QVmpRVjBrSzdpWGlRZTRUK1pzNE5ORUE5WDdubEIzOGFRTml1SmtGQlQxcmVCSzlzRzlsCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClVUTiBEQVRBQ29ycCBTR0MgUm9vdCBDQQo9PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVYakNDQTBhZ0F3SUJBZ0lRUkw0TWkxQUFJYlFSMHlwb0JxbXRhVEFOQmdrcWhraUc5dzBCQVFVRkFEQ0JrekVMTUFrR0ExVUUKQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBbFZVTVJjd0ZRWURWUVFIRXc1VFlXeDBJRXhoYTJVZ1EybDBlVEVlTUJ3R0ExVUVDaE1WVkdobApJRlZUUlZKVVVsVlRWQ0JPWlhSM2IzSnJNU0V3SHdZRFZRUUxFeGhvZEhSd09pOHZkM2QzTG5WelpYSjBjblZ6ZEM1amIyMHhHekFaCkJnTlZCQU1URWxWVVRpQXRJRVJCVkVGRGIzSndJRk5IUXpBZUZ3MDVPVEEyTWpReE9EVTNNakZhRncweE9UQTJNalF4T1RBMk16QmEKTUlHVE1Rc3dDUVlEVlFRR0V3SlZVekVMTUFrR0ExVUVDQk1DVlZReEZ6QVZCZ05WQkFjVERsTmhiSFFnVEdGclpTQkRhWFI1TVI0dwpIQVlEVlFRS0V4VlVhR1VnVlZORlVsUlNWVk5VSUU1bGRIZHZjbXN4SVRBZkJnTlZCQXNUR0doMGRIQTZMeTkzZDNjdWRYTmxjblJ5CmRYTjBMbU52YlRFYk1Ca0dBMVVFQXhNU1ZWUk9JQzBnUkVGVVFVTnZjbkFnVTBkRE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0MKQVE4QU1JSUJDZ0tDQVFFQTMrNVlFS0lyYmxYRWpyOHVSZ25uNEFnUExpdDZFNVFidmZhMmdJNWxCWk1BSHJ5djRnK09HUTBTUit5cwpyYVA2TG5ENDNtNzdWa0lWbmk1Yzd5UGVJYmtGZGljWkQwL1d3NXkwdnBRWlkvS21FUXJyVTBpY3Z2SXBPeGJvR3FCTXBzbjBHRmxvCndIRHlVd0RBWGxDQ3BWWnZOdmxLNEVTR29FMU8xa2R1U1VyTFo5ZW14QVc1amg3MC9QL041emJnbkFWc3NqTWlGZEMwNE13WHdMTEEKOVA0eVB5a3FsWHZZOHFkT0QxUjhvUTJBc3drRHdmOWMzVjZhUHJ5dXZFZUthcTV4eWgreEtyaGZRZ1VMN0VZdzBYSUx5dWxXYmZYdgozM2krWWJxeXBhNEVUTHlvckdrVmw3M3Y2N1NNdnpYNDFNUFJLQTVjT3A5d0dETWdkOFNpcndJREFRQUJvNEdyTUlHb01Bc0dBMVVkCkR3UUVBd0lCeGpBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJSVE10R3p6My82NFBHZ1hZVk9rdEtlUlIyMFR6QTkKQmdOVkhSOEVOakEwTURLZ01LQXVoaXhvZEhSd09pOHZZM0pzTG5WelpYSjBjblZ6ZEM1amIyMHZWVlJPTFVSQlZFRkRiM0p3VTBkRApMbU55YkRBcUJnTlZIU1VFSXpBaEJnZ3JCZ0VGQlFjREFRWUtLd1lCQkFHQ053b0RBd1lKWUlaSUFZYjRRZ1FCTUEwR0NTcUdTSWIzCkRRRUJCUVVBQTRJQkFRQW5OWmNBaW9zb3ZjWXpNQjRwL09MMzFaalVRTHRneXIrckZ5d0pObjlRK2tIY3JwWTZDaU0raVZuSm93ZnQKR3pldC9IeStVVWxhM2pvS1ZBZ1dSY0tac1lmTmpHamdhUVBweEU2WXNqdU1Gck1Pb0F5WVVKdVRxWEFKeUN5amo5OEM1T0J4T3ZHMApJM0tncWdIZjM1ZytGRkNnTVNhOUtPbGFNQ1oxK1h0Z0hJM3p6VkFtYlFRbm10L1ZEVVZIS1dzczVuYlpxU2w5TXQzSk5qeTlyalh4CkVaNGR1NUEvRWtkT2p0ZCtEMkp6SFZJbU9Cd1lTZjB3ZEpyRTVTSXYyTUNON1pGNlRBQ1BjbjlkMnQwYmkwVnI1OTFwbDZqRlZrd1AKRFBhZmVwRTM5cGVDNE4xeGFmOTJQMkJOUE0vM21mbkdWL1RKVlRsNHVpeDV5YWFJSy9RSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpVVE4gVVNFUkZpcnN0IEhhcmR3YXJlIFJvb3QgQ0EKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlFZERDQ0ExeWdBd0lCQWdJUVJMNE1pMUFBSkxRUjB6WXEvbVVLL1RBTkJna3Foa2lHOXcwQkFRVUZBRENCbHpFTE1Ba0dBMVVFCkJoTUNWVk14Q3pBSkJnTlZCQWdUQWxWVU1SY3dGUVlEVlFRSEV3NVRZV3gwSUV4aGEyVWdRMmwwZVRFZU1Cd0dBMVVFQ2hNVlZHaGwKSUZWVFJWSlVVbFZUVkNCT1pYUjNiM0pyTVNFd0h3WURWUVFMRXhob2RIUndPaTh2ZDNkM0xuVnpaWEowY25WemRDNWpiMjB4SHpBZApCZ05WQkFNVEZsVlVUaTFWVTBWU1JtbHljM1F0U0dGeVpIZGhjbVV3SGhjTk9Ua3dOekE1TVRneE1EUXlXaGNOTVRrd056QTVNVGd4Ck9USXlXakNCbHpFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBbFZVTVJjd0ZRWURWUVFIRXc1VFlXeDBJRXhoYTJVZ1EybDAKZVRFZU1Cd0dBMVVFQ2hNVlZHaGxJRlZUUlZKVVVsVlRWQ0JPWlhSM2IzSnJNU0V3SHdZRFZRUUxFeGhvZEhSd09pOHZkM2QzTG5WegpaWEowY25WemRDNWpiMjB4SHpBZEJnTlZCQU1URmxWVVRpMVZVMFZTUm1seWMzUXRTR0Z5WkhkaGNtVXdnZ0VpTUEwR0NTcUdTSWIzCkRRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQ3g5OE00UDdTb2Y4ODVnbEZuMEcyZjB2OVk4K2VmSyt3TmlWU1p1VGlaRnZmZ0lYbEkKd3J0aGRCS1dIVHhxY3RVOEVHYzZPZTByRTgxbTY1VUpNNlJzbDdIb3h1ekJkWG1jUmw2TnE5QnEvYmtxVlJjUVZMTVo4SnIyOGJGZAp0cWR0KytCeEYydWlpUHNBMy80YU1YY01tZ0Y2c1RMakt3RUhPRzdEcFY0anZFV2JlMURCeVRDUDIrVXJldE5iK3pOQUhxRFZtQmU4Cmk0ZkRpZE5kb0k2eXFxcjJqbW1JQnNYNmlTSHpDSjFwTGdrem15a05SZytNekVrMHNHbFJ2ZmtHeldpdFpreThQcXhodlFxSURzamYKUGU1OEJFeWRDbDVya2RidXgrMG9qYXROaDRsejBHNmswQjRXaXhUaGRrUURmMk9zNU0xSm5NV1M5S3N5b1VoYkFnTUJBQUdqZ2JrdwpnYll3Q3dZRFZSMFBCQVFEQWdIR01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZLRnlYeVliS0poRGxWMEhOOVdGCmxwMUwwc05GTUVRR0ExVWRId1E5TURzd09hQTNvRFdHTTJoMGRIQTZMeTlqY213dWRYTmxjblJ5ZFhOMExtTnZiUzlWVkU0dFZWTkYKVWtacGNuTjBMVWhoY21SM1lYSmxMbU55YkRBeEJnTlZIU1VFS2pBb0JnZ3JCZ0VGQlFjREFRWUlLd1lCQlFVSEF3VUdDQ3NHQVFVRgpCd01HQmdnckJnRUZCUWNEQnpBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQVJ4a1AzblRHbVpldi9LMG9YbldPNnkxbjdrNTdLOWNNCi8vYmV5MVdpQ3VGTVZHV1RZR3VmRXB5dFhvTXM2MXF1d09RdDlBQmpIYmpBYlBMUFNidE5rMjhHcGdvaXNrbGlDRTcveU1nVXNvZ1cKWGVjQjVCS1Y1VVUwczR0cHZjKzBoWTkxVVo1OU9qZzZGRWdTeHZ1bk94cU5EWUpBQitnRUNKQ2hpY3NaVU4vS0hBRzhIUVFaZXhCMgpsenZ1a0pES3hBNGZGbTUxN3pQNDAyOWJIcGJqNEhSM2RIdUtvbTR0M1hiV09UQ0M4S3VjVXZJcXg2OUpYbjdIYU9XQ2djaHFKL2tuCmlDclZXRkNWSC9BN0hGZTdmUlE1WWl1YXlaU1NLcU1pRFArSkpuMWZJeXRIMXhVZHFXcWVVUTBxVVo2QitkUTdYbkFTZnhBeW5CNjcKbmZobXFBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQ2FtZXJmaXJtYSBDaGFtYmVycyBvZiBDb21tZXJjZSBSb290Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRXZUQ0NBNldnQXdJQkFnSUJBREFOQmdrcWhraUc5dzBCQVFVRkFEQi9NUXN3Q1FZRFZRUUdFd0pGVlRFbk1DVUdBMVVFQ2hNZQpRVU1nUTJGdFpYSm1hWEp0WVNCVFFTQkRTVVlnUVRneU56UXpNamczTVNNd0lRWURWUVFMRXhwb2RIUndPaTh2ZDNkM0xtTm9ZVzFpClpYSnphV2R1TG05eVp6RWlNQ0FHQTFVRUF4TVpRMmhoYldKbGNuTWdiMllnUTI5dGJXVnlZMlVnVW05dmREQWVGdzB3TXpBNU16QXgKTmpFek5ETmFGdzB6TnpBNU16QXhOakV6TkRSYU1IOHhDekFKQmdOVkJBWVRBa1ZWTVNjd0pRWURWUVFLRXg1QlF5QkRZVzFsY21acApjbTFoSUZOQklFTkpSaUJCT0RJM05ETXlPRGN4SXpBaEJnTlZCQXNUR21oMGRIQTZMeTkzZDNjdVkyaGhiV0psY25OcFoyNHViM0puCk1TSXdJQVlEVlFRREV4bERhR0Z0WW1WeWN5QnZaaUJEYjIxdFpYSmpaU0JTYjI5ME1JSUJJREFOQmdrcWhraUc5dzBCQVFFRkFBT0MKQVEwQU1JSUJDQUtDQVFFQXR6WlY1YVZkR0REZzJvbFVrZnpJeDFMNEwxRFo3N0YxYzJWSGZSdGJ1blhGL0tHSUpQb3Y3Y29JU2psVQp4RkY2dGRwZzZqZzhnYkxMOGJ2WmtTTS9TQUZ3ZGFrRktxMGZjZlBKVkQwZEJtcEFQck1NaGU1Y0czbkNZc1M0Tm80MVhRRU1Jd1JICk5hcWJZRTZnWmozTEpncWNRS0gwWFppL2NhdWxBR2dxN1lONkQ2SVV0ZFFpczRDd1BBeGFVV2t0V0JpUDdabWU4YTdpbGViMlI2alcKREErd1dGamJ3MlkzbnB1UlZETTMwcFFjYWtqSnlmS2wycVVNSS9jakRwd3lWVjV4bklRRlVab3QvZVpPS2pSYTNzcEFOMmNNVkNGVgpkOW9LRE15WHJvRGNsRFpLOUQ3T05oTWVVK1NzVGpvRjdOdXVjcHc0aTlBNU80a0tQbmYrZFFJQkE2T0NBVVF3Z2dGQU1CSUdBMVVkCkV3RUIvd1FJTUFZQkFmOENBUXd3UEFZRFZSMGZCRFV3TXpBeG9DK2dMWVlyYUhSMGNEb3ZMMk55YkM1amFHRnRZbVZ5YzJsbmJpNXYKY21jdlkyaGhiV0psY25OeWIyOTBMbU55YkRBZEJnTlZIUTRFRmdRVTQ1VDFzVTNwMjZFcFcxZUxUWFlHZHVIUm9vb3dEZ1lEVlIwUApBUUgvQkFRREFnRUdNQkVHQ1dDR1NBR0crRUlCQVFRRUF3SUFCekFuQmdOVkhSRUVJREFlZ1J4amFHRnRZbVZ5YzNKdmIzUkFZMmhoCmJXSmxjbk5wWjI0dWIzSm5NQ2NHQTFVZEVnUWdNQjZCSEdOb1lXMWlaWEp6Y205dmRFQmphR0Z0WW1WeWMybG5iaTV2Y21jd1dBWUQKVlIwZ0JGRXdUekJOQmdzckJnRUVBWUdITGdvREFUQStNRHdHQ0NzR0FRVUZCd0lCRmpCb2RIUndPaTh2WTNCekxtTm9ZVzFpWlhKegphV2R1TG05eVp5OWpjSE12WTJoaGJXSmxjbk55YjI5MExtaDBiV3d3RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUF4Qmw4SWFoc0FpCmZKLzdrUE1hMFFPeDd4UDVJVjhFbk5ySnBZMG5iSmFIa2I1QmtBRnlrK2NlZlYvMmljWmRwMEFKUGF4SlJVWGNMbzB3YUxJSnV2dkQKTDh5NkM5OC9kM3RHZlRvU0pJNldqendGQ20vU2xDZ2RiUXpBTG9naTFkalBIUlBIOEVqWDF3V256OGRIbmpzOE5NaUFUOVFVdS93TgpVUGY2cyt4Q1g2bmRiY2owZGM5N3dYSW1zUUVjWEN6OWVrNjBBY1VGVjdublBLb0YyWWpwQjBaQnp1OUJnYTVZMzRPaXJzclhkeC9uCkFEeWRiNDdrTWdrZFRYZzBlRFE4bEpzbTdVOXh4aGw2dlNBaVNGcitTMzBEdCtkWXZzWXlUblFlYU4yb2FGdXpQdTVpZmRtQTZBcDEKZXJmdXRHV2FJWkRncXRDWXZEaTFjenlMK053PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpDYW1lcmZpcm1hIEdsb2JhbCBDaGFtYmVyc2lnbiBSb290Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4VENDQTYyZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREI5TVFzd0NRWURWUVFHRXdKRlZURW5NQ1VHQTFVRUNoTWUKUVVNZ1EyRnRaWEptYVhKdFlTQlRRU0JEU1VZZ1FUZ3lOelF6TWpnM01TTXdJUVlEVlFRTEV4cG9kSFJ3T2k4dmQzZDNMbU5vWVcxaQpaWEp6YVdkdUxtOXlaekVnTUI0R0ExVUVBeE1YUjJ4dlltRnNJRU5vWVcxaVpYSnphV2R1SUZKdmIzUXdIaGNOTURNd09UTXdNVFl4Ck5ERTRXaGNOTXpjd09UTXdNVFl4TkRFNFdqQjlNUXN3Q1FZRFZRUUdFd0pGVlRFbk1DVUdBMVVFQ2hNZVFVTWdRMkZ0WlhKbWFYSnQKWVNCVFFTQkRTVVlnUVRneU56UXpNamczTVNNd0lRWURWUVFMRXhwb2RIUndPaTh2ZDNkM0xtTm9ZVzFpWlhKemFXZHVMbTl5WnpFZwpNQjRHQTFVRUF4TVhSMnh2WW1Gc0lFTm9ZVzFpWlhKemFXZHVJRkp2YjNRd2dnRWdNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEUUF3CmdnRUlBb0lCQVFDaWNLTFFuMEt1V3hmSDJIM1BGSVA4VDhtaHR4T3ZpdGVlUGdRS2tvdGdWdnEwTWkrSVRhRmdDUFMzQ1U2Z1NTOUoKMXRQZm5aZGFuNVFFY093L1dkbTN6R2FMbUZJb0NRTGZ4UytFalhxWGQ3L3NRSjBsY3F1MVB6S1krN2UzL0hLRTVUV0grVlg2b3g4TwpieTRvM1dtZzJVSVF4dmkxUk1MUVEzL2J2T1NpUEdwVmVBcDNxZGpxR1RLM0wvNWNQeHZ1c1pqc3lxMTZhVVhqbGc5Vjl1YnRkZXBsCjZESldrMGFKcUNXS1pRYnVhNzk1QjlEeHQ2L3RMRTJTdThDb1g2ZG5mUVR5RlFod3JKTFdmUVRTTS90TXRnc0wreHJKeEkwRHFYNWMKOGxDckVxV2h6MGhRcGUvU3lCb1QrckIvc1lJY2Qyb1BYOXdMbFkvdlEzN21SUWtsQWdFRG80SUJVRENDQVV3d0VnWURWUjBUQVFILwpCQWd3QmdFQi93SUJEREEvQmdOVkhSOEVPREEyTURTZ01xQXdoaTVvZEhSd09pOHZZM0pzTG1Ob1lXMWlaWEp6YVdkdUxtOXlaeTlqCmFHRnRZbVZ5YzJsbmJuSnZiM1F1WTNKc01CMEdBMVVkRGdRV0JCUkRuRGFmc0o0d1RjYk9YNjBRcStVRHBmcXBGREFPQmdOVkhROEIKQWY4RUJBTUNBUVl3RVFZSllJWklBWWI0UWdFQkJBUURBZ0FITUNvR0ExVWRFUVFqTUNHQkgyTm9ZVzFpWlhKemFXZHVjbTl2ZEVCagphR0Z0WW1WeWMybG5iaTV2Y21jd0tnWURWUjBTQkNNd0lZRWZZMmhoYldKbGNuTnBaMjV5YjI5MFFHTm9ZVzFpWlhKemFXZHVMbTl5Clp6QmJCZ05WSFNBRVZEQlNNRkFHQ3lzR0FRUUJnWWN1Q2dFQk1FRXdQd1lJS3dZQkJRVUhBZ0VXTTJoMGRIQTZMeTlqY0hNdVkyaGgKYldKbGNuTnBaMjR1YjNKbkwyTndjeTlqYUdGdFltVnljMmxuYm5KdmIzUXVhSFJ0YkRBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQQpQRHR3a2ZrRVZDZVI0ZTN0L21oL1lWM2xRV1ZQTXZFWUJaUnFITjRmY05zK2V6SUNOTFVNYktHS2ZLWDBqLy9VMkswWDFTMEUwVDlZCmdPS0JXWWkrd09OR2t5VCtrTDBtb2pBdDZKY21WeldKZEpZWTloWGlyeVFaVmdJQ3Nyb1BGT3JHaW1iQmhrVlZpNzZTdnB5a0JNZEoKUEo3b0tYcUoxLzZ2LzJqMXBSZVF2YXlaektXR1Z3bG5SdHZXRnNKRzhlU3BVUFdQMFpJVjAxOCt4Z0JKT201WXN0SFJKdzBseURMNApJQkhOZlRJelNKUlVUTjNjZWNRd24rdU91RlcxMTRoY3hXb2tQYkxUQlFOUnhnZnZ6QlJ5ZEQxdWNzNFlLSXhLb0hmbENTdEZSRWVzCnQyZC9BWW9GV3BPK29jSC8rT2NPWjZSSFNYWmRkWkFhOVNhUDhBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKTmV0TG9jayBOb3RhcnkgKENsYXNzIEEpIFJvb3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdmVENDQldXZ0F3SUJBZ0lDQVFNd0RRWUpLb1pJaHZjTkFRRUVCUUF3Z2E4eEN6QUpCZ05WQkFZVEFraFZNUkF3RGdZRFZRUUkKRXdkSWRXNW5ZWEo1TVJFd0R3WURWUVFIRXdoQ2RXUmhjR1Z6ZERFbk1DVUdBMVVFQ2hNZVRtVjBURzlqYXlCSVlXeHZlbUYwWW1sNgpkRzl1YzJGbmFTQkxablF1TVJvd0dBWURWUVFMRXhGVVlXNTFjMmwwZG1GdWVXdHBZV1J2YXpFMk1EUUdBMVVFQXhNdFRtVjBURzlqCmF5QkxiM3BxWldkNWVtOXBJQ2hEYkdGemN5QkJLU0JVWVc1MWMybDBkbUZ1ZVd0cFlXUnZNQjRYRFRrNU1ESXlOREl6TVRRME4xb1gKRFRFNU1ESXhPVEl6TVRRME4xb3dnYTh4Q3pBSkJnTlZCQVlUQWtoVk1SQXdEZ1lEVlFRSUV3ZElkVzVuWVhKNU1SRXdEd1lEVlFRSApFd2hDZFdSaGNHVnpkREVuTUNVR0ExVUVDaE1lVG1WMFRHOWpheUJJWVd4dmVtRjBZbWw2ZEc5dWMyRm5hU0JMWm5RdU1Sb3dHQVlEClZRUUxFeEZVWVc1MWMybDBkbUZ1ZVd0cFlXUnZhekUyTURRR0ExVUVBeE10VG1WMFRHOWpheUJMYjNwcVpXZDVlbTlwSUNoRGJHRnoKY3lCQktTQlVZVzUxYzJsMGRtRnVlV3RwWVdSdk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdkhTTQpEN3RNOURjZXFRV0MyT2JoYkhEcWVMVnUwVGhFRGFpRHpsM1MxdFdCeGRSTDUxdVVjQ2JiTzUxcVRHTDNjZk5rMW1FN1BldHpvemZaCnorcU1ranZOOXdmY1puU1g5RVVpM2ZSYzRMOXQ4NzVsTStRVk9yL2JtSkJWT01UdHBsVmpDN0I0QlBUamJzRS9qdnhSZUIrU25vUEMKL3Rtd3FjbThXZ0QvcWFpWWRQdjJMRDRWT1EyMkJGV29EcGdnUXJPeEphMSttbTlkVTdHckRQenI0UE42czZpei8wYjJZNkxZT3BoNwp0cXlGLzdBbFQzUmo1eE1IcFFxUEJmZkFaRzkrcHllQWx0N1VMb1pneDJzclhuTjdGK2VSUDJRTTJFc2lOQ3ViTXZKSUg1K2hDb1I2CjRzS3RsejJPMWNINVZxTlE2Y2EwK3BpaTdwWG1LZ09NM3dJREFRQUJvNElDbnpDQ0Fwc3dEZ1lEVlIwUEFRSC9CQVFEQWdBR01CSUcKQTFVZEV3RUIvd1FJTUFZQkFmOENBUVF3RVFZSllJWklBWWI0UWdFQkJBUURBZ0FITUlJQ1lBWUpZSVpJQVliNFFnRU5CSUlDVVJhQwpBazFHU1VkWlJVeEZUU0VnUlhwbGJpQjBZVzUxYzJsMGRtRnVlU0JoSUU1bGRFeHZZMnNnUzJaMExpQkJiSFJoYkdGdWIzTWdVM3B2CmJHZGhiSFJoZEdGemFTQkdaV3gwWlhSbGJHVnBZbVZ1SUd4bGFYSjBJR1ZzYW1GeVlYTnZheUJoYkdGd2FtRnVJR3RsYzNwMWJIUXUKSUVFZ2FHbDBaV3hsYzJsMFpYTWdabTlzZVdGdFlYUmhkQ0JoSUU1bGRFeHZZMnNnUzJaMExpQjBaWEp0Wld0bVpXeGxiRzl6YzJWbgpMV0pwZW5SdmMybDBZWE5oSUhabFpHa3VJRUVnWkdsbmFYUmhiR2x6SUdGc1lXbHlZWE1nWld4bWIyZGhaR0Z6WVc1aGF5Qm1aV3gwClpYUmxiR1VnWVhvZ1pXeHZhWEowSUdWc2JHVnViM0o2WlhOcElHVnNhbUZ5WVhNZ2JXVm5kR1YwWld4bExpQkJlaUJsYkdwaGNtRnoKSUd4bGFYSmhjMkVnYldWbmRHRnNZV3hvWVhSdklHRWdUbVYwVEc5amF5QkxablF1SUVsdWRHVnlibVYwSUdodmJteGhjR3BoYmlCaApJR2gwZEhCek9pOHZkM2QzTG01bGRHeHZZMnN1Ym1WMEwyUnZZM01nWTJsdFpXNGdkbUZuZVNCclpYSm9aWFJ2SUdGNklHVnNiR1Z1CmIzSjZaWE5BYm1WMGJHOWpheTV1WlhRZ1pTMXRZV2xzSUdOcGJXVnVMaUJKVFZCUFVsUkJUbFFoSUZSb1pTQnBjM04xWVc1alpTQmgKYm1RZ2RHaGxJSFZ6WlNCdlppQjBhR2x6SUdObGNuUnBabWxqWVhSbElHbHpJSE4xWW1wbFkzUWdkRzhnZEdobElFNWxkRXh2WTJzZwpRMUJUSUdGMllXbHNZV0pzWlNCaGRDQm9kSFJ3Y3pvdkwzZDNkeTV1WlhSc2IyTnJMbTVsZEM5a2IyTnpJRzl5SUdKNUlHVXRiV0ZwCmJDQmhkQ0JqY0hOQWJtVjBiRzlqYXk1dVpYUXVNQTBHQ1NxR1NJYjNEUUVCQkFVQUE0SUJBUUJJSkViM3VsWnYrc2dvQTBCTzVURTUKYXlaclUzL2IzOS96Y1QwbXdCUU94bWQ3STZnTWM5MEJ1OGJLYmpjNVZkWEhqRllnRGlnS0R0SXFwTEJKVXNZNEIvNitDZ21NMFpqUAp5dG9VTWFGUDBqbjhEeEVzUThQZHE1UEhWVDVIZkJnYUFOenplOWp5ZjFKc0lQUUxYMmxTOU83NHNpbGc2K05KTVNFTjFyVVFRZUpCCkNXemlHcHBXUzNjQzlxQ2JtaWVINkZVcGNjS1FuMFY0R3VFVlpEM1FEdGlnZHArdXhkQXU2dFlQVnV4a2YxcWJGRmdCSjM0VFVNZHIKS3Vab1BMOWNvQW9iNFE1NjZlS0F3K25wOXYxc0VaN1E1U2duSzFReVFoU0NkZVpLOEN0bWRXT01vdnNFUG9NT216YndHT1FtSU1PTQo4Q2dIclR3WFpvaTEvYmFJCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCk5ldExvY2sgQnVzaW5lc3MgKENsYXNzIEIpIFJvb3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRlN6Q0NCTFNnQXdJQkFnSUJhVEFOQmdrcWhraUc5dzBCQVFRRkFEQ0JtVEVMTUFrR0ExVUVCaE1DU0ZVeEVUQVBCZ05WQkFjVApDRUoxWkdGd1pYTjBNU2N3SlFZRFZRUUtFeDVPWlhSTWIyTnJJRWhoYkc5NllYUmlhWHAwYjI1ellXZHBJRXRtZEM0eEdqQVlCZ05WCkJBc1RFVlJoYm5WemFYUjJZVzU1YTJsaFpHOXJNVEl3TUFZRFZRUURFeWxPWlhSTWIyTnJJRlY2YkdWMGFTQW9RMnhoYzNNZ1Fpa2cKVkdGdWRYTnBkSFpoYm5scmFXRmtiekFlRncwNU9UQXlNalV4TkRFd01qSmFGdzB4T1RBeU1qQXhOREV3TWpKYU1JR1pNUXN3Q1FZRApWUVFHRXdKSVZURVJNQThHQTFVRUJ4TUlRblZrWVhCbGMzUXhKekFsQmdOVkJBb1RIazVsZEV4dlkyc2dTR0ZzYjNwaGRHSnBlblJ2CmJuTmhaMmtnUzJaMExqRWFNQmdHQTFVRUN4TVJWR0Z1ZFhOcGRIWmhibmxyYVdGa2Iyc3hNakF3QmdOVkJBTVRLVTVsZEV4dlkyc2cKVlhwc1pYUnBJQ2hEYkdGemN5QkNLU0JVWVc1MWMybDBkbUZ1ZVd0cFlXUnZNSUdmTUEwR0NTcUdTSWIzRFFFQkFRVUFBNEdOQURDQgppUUtCZ1FDeDZnVHNJS0Fqd284NFlNL0hSclBWRy83N3VabWVCTndjZjR4S2daanVwTlRLaWhlNUluK0RDblZNbThCcDJHUTVvKzJTCm8vMWJYSFFhd0VmS09tbDJtcnJpUkJmOFRLUFYvcmlYaUsrSUE0a2ZwUElFUHNnSEMrYjVzeTk2WWhRSlJoVEtaUFdMZ0xWaXFOaHIKMW5HVExiTy9DVlJZN1FicnFIdmNRN0doYVFJREFRQUJvNElDbnpDQ0Fwc3dFZ1lEVlIwVEFRSC9CQWd3QmdFQi93SUJCREFPQmdOVgpIUThCQWY4RUJBTUNBQVl3RVFZSllJWklBWWI0UWdFQkJBUURBZ0FITUlJQ1lBWUpZSVpJQVliNFFnRU5CSUlDVVJhQ0FrMUdTVWRaClJVeEZUU0VnUlhwbGJpQjBZVzUxYzJsMGRtRnVlU0JoSUU1bGRFeHZZMnNnUzJaMExpQkJiSFJoYkdGdWIzTWdVM3B2YkdkaGJIUmgKZEdGemFTQkdaV3gwWlhSbGJHVnBZbVZ1SUd4bGFYSjBJR1ZzYW1GeVlYTnZheUJoYkdGd2FtRnVJR3RsYzNwMWJIUXVJRUVnYUdsMApaV3hsYzJsMFpYTWdabTlzZVdGdFlYUmhkQ0JoSUU1bGRFeHZZMnNnUzJaMExpQjBaWEp0Wld0bVpXeGxiRzl6YzJWbkxXSnBlblJ2CmMybDBZWE5oSUhabFpHa3VJRUVnWkdsbmFYUmhiR2x6SUdGc1lXbHlZWE1nWld4bWIyZGhaR0Z6WVc1aGF5Qm1aV3gwWlhSbGJHVWcKWVhvZ1pXeHZhWEowSUdWc2JHVnViM0o2WlhOcElHVnNhbUZ5WVhNZ2JXVm5kR1YwWld4bExpQkJlaUJsYkdwaGNtRnpJR3hsYVhKaApjMkVnYldWbmRHRnNZV3hvWVhSdklHRWdUbVYwVEc5amF5QkxablF1SUVsdWRHVnlibVYwSUdodmJteGhjR3BoYmlCaElHaDBkSEJ6Ck9pOHZkM2QzTG01bGRHeHZZMnN1Ym1WMEwyUnZZM01nWTJsdFpXNGdkbUZuZVNCclpYSm9aWFJ2SUdGNklHVnNiR1Z1YjNKNlpYTkEKYm1WMGJHOWpheTV1WlhRZ1pTMXRZV2xzSUdOcGJXVnVMaUJKVFZCUFVsUkJUbFFoSUZSb1pTQnBjM04xWVc1alpTQmhibVFnZEdobApJSFZ6WlNCdlppQjBhR2x6SUdObGNuUnBabWxqWVhSbElHbHpJSE4xWW1wbFkzUWdkRzhnZEdobElFNWxkRXh2WTJzZ1ExQlRJR0YyCllXbHNZV0pzWlNCaGRDQm9kSFJ3Y3pvdkwzZDNkeTV1WlhSc2IyTnJMbTVsZEM5a2IyTnpJRzl5SUdKNUlHVXRiV0ZwYkNCaGRDQmoKY0hOQWJtVjBiRzlqYXk1dVpYUXVNQTBHQ1NxR1NJYjNEUUVCQkFVQUE0R0JBQVRicm93WHIvZ09rREZPelQ0SndHMDZzUGd6VEVkTQo0M1dJRUplc3NEZ1ZrY1lwbHN3aHdHMDhwWFRQMklLbE9jTmw0MEp3dXlLUTQzM2JOWGJob0xYYW4zQnVreG93T1IwdzJ5N2pmTEtSCnN0RTNLZnE1MWhkY1IwL2pIVGpybjlWN2xhZ29uaFZLMGRIUUt3Q1hvT0tTTml0anJGZ0Jhek1wVUlhRDhRRkkKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKTmV0TG9jayBFeHByZXNzIChDbGFzcyBDKSBSb290Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRlR6Q0NCTGlnQXdJQkFnSUJhREFOQmdrcWhraUc5dzBCQVFRRkFEQ0JtekVMTUFrR0ExVUVCaE1DU0ZVeEVUQVBCZ05WQkFjVApDRUoxWkdGd1pYTjBNU2N3SlFZRFZRUUtFeDVPWlhSTWIyTnJJRWhoYkc5NllYUmlhWHAwYjI1ellXZHBJRXRtZEM0eEdqQVlCZ05WCkJBc1RFVlJoYm5WemFYUjJZVzU1YTJsaFpHOXJNVFF3TWdZRFZRUURFeXRPWlhSTWIyTnJJRVY0Y0hKbGMzTjZJQ2hEYkdGemN5QkQKS1NCVVlXNTFjMmwwZG1GdWVXdHBZV1J2TUI0WERUazVNREl5TlRFME1EZ3hNVm9YRFRFNU1ESXlNREUwTURneE1Wb3dnWnN4Q3pBSgpCZ05WQkFZVEFraFZNUkV3RHdZRFZRUUhFd2hDZFdSaGNHVnpkREVuTUNVR0ExVUVDaE1lVG1WMFRHOWpheUJJWVd4dmVtRjBZbWw2CmRHOXVjMkZuYVNCTFpuUXVNUm93R0FZRFZRUUxFeEZVWVc1MWMybDBkbUZ1ZVd0cFlXUnZhekUwTURJR0ExVUVBeE1yVG1WMFRHOWoKYXlCRmVIQnlaWE56ZWlBb1EyeGhjM01nUXlrZ1ZHRnVkWE5wZEhaaGJubHJhV0ZrYnpDQm56QU5CZ2txaGtpRzl3MEJBUUVGQUFPQgpqUUF3Z1lrQ2dZRUE2K3l3YkdHS0l5V3ZZQ0RqMlovOGt3dmJYWTJ3b2JOQU9vTE8vWFhnZURJRGhscUdsWkh0VS9xZFFQem02TjNaClczb0R2VjN6T3d6RFVYbWJyVldnNmRBREVLOEt1aFJDMlZJbUVTTEgwaURNZ3FTYXFmNjRnWGFkYXJmU05uVStzWVlKOW01dGZrNjMKZXV5dWNZVDJCRE1JSlRMcmRLd1dSTWJrUUpNZGY2MENBd0VBQWFPQ0FwOHdnZ0tiTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFRdwpEZ1lEVlIwUEFRSC9CQVFEQWdBR01CRUdDV0NHU0FHRytFSUJBUVFFQXdJQUJ6Q0NBbUFHQ1dDR1NBR0crRUlCRFFTQ0FsRVdnZ0pOClJrbEhXVVZNUlUwaElFVjZaVzRnZEdGdWRYTnBkSFpoYm5rZ1lTQk9aWFJNYjJOcklFdG1kQzRnUVd4MFlXeGhibTl6SUZONmIyeG4KWVd4MFlYUmhjMmtnUm1Wc2RHVjBaV3hsYVdKbGJpQnNaV2x5ZENCbGJHcGhjbUZ6YjJzZ1lXeGhjR3BoYmlCclpYTjZkV3gwTGlCQgpJR2hwZEdWc1pYTnBkR1Z6SUdadmJIbGhiV0YwWVhRZ1lTQk9aWFJNYjJOcklFdG1kQzRnZEdWeWJXVnJabVZzWld4dmMzTmxaeTFpCmFYcDBiM05wZEdGellTQjJaV1JwTGlCQklHUnBaMmwwWVd4cGN5QmhiR0ZwY21GeklHVnNabTluWVdSaGMyRnVZV3NnWm1Wc2RHVjAKWld4bElHRjZJR1ZzYjJseWRDQmxiR3hsYm05eWVtVnphU0JsYkdwaGNtRnpJRzFsWjNSbGRHVnNaUzRnUVhvZ1pXeHFZWEpoY3lCcwpaV2x5WVhOaElHMWxaM1JoYkdGc2FHRjBieUJoSUU1bGRFeHZZMnNnUzJaMExpQkpiblJsY201bGRDQm9iMjVzWVhCcVlXNGdZU0JvCmRIUndjem92TDNkM2R5NXVaWFJzYjJOckxtNWxkQzlrYjJOeklHTnBiV1Z1SUhaaFoza2dhMlZ5YUdWMGJ5QmhlaUJsYkd4bGJtOXkKZW1WelFHNWxkR3h2WTJzdWJtVjBJR1V0YldGcGJDQmphVzFsYmk0Z1NVMVFUMUpVUVU1VUlTQlVhR1VnYVhOemRXRnVZMlVnWVc1awpJSFJvWlNCMWMyVWdiMllnZEdocGN5QmpaWEowYVdacFkyRjBaU0JwY3lCemRXSnFaV04wSUhSdklIUm9aU0JPWlhSTWIyTnJJRU5RClV5QmhkbUZwYkdGaWJHVWdZWFFnYUhSMGNITTZMeTkzZDNjdWJtVjBiRzlqYXk1dVpYUXZaRzlqY3lCdmNpQmllU0JsTFcxaGFXd2cKWVhRZ1kzQnpRRzVsZEd4dlkyc3VibVYwTGpBTkJna3Foa2lHOXcwQkFRUUZBQU9CZ1FBUXJYL1hEREtBQ3RpRzhYbVl0YTNVemJNMgp4SlpJd1Z6Tm10a0ZMcCsrVU92MEpoUVFMZFJtRi9pZXdTZjk4ZTNrZTB1Z2JMV3JtbGR3cHUyZ3BPMHU5ZjM4dmY1Tk53Z012T09XCmd5TDFTUnQvU3l1MFZNR0FmSmxPSGRDTTd0Q3M1Wkw2ZFZiK1pLQVRqN2k0RnAxaEJXZUF5TkRZcFFjQ05KZ0VqVE1FMUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpYUmFtcCBHbG9iYWwgQ0EgUm9vdAo9PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRU1EQ0NBeGlnQXdJQkFnSVFVSlJzN0JqcTFaeE4xWmZ2ZFkrZ3JUQU5CZ2txaGtpRzl3MEJBUVVGQURDQmdqRUxNQWtHQTFVRQpCaE1DVlZNeEhqQWNCZ05WQkFzVEZYZDNkeTU0Y21GdGNITmxZM1Z5YVhSNUxtTnZiVEVrTUNJR0ExVUVDaE1iV0ZKaGJYQWdVMlZqCmRYSnBkSGtnVTJWeWRtbGpaWE1nU1c1ak1TMHdLd1lEVlFRREV5UllVbUZ0Y0NCSGJHOWlZV3dnUTJWeWRHbG1hV05oZEdsdmJpQkIKZFhSb2IzSnBkSGt3SGhjTk1EUXhNVEF4TVRjeE5EQTBXaGNOTXpVd01UQXhNRFV6TnpFNVdqQ0JnakVMTUFrR0ExVUVCaE1DVlZNeApIakFjQmdOVkJBc1RGWGQzZHk1NGNtRnRjSE5sWTNWeWFYUjVMbU52YlRFa01DSUdBMVVFQ2hNYldGSmhiWEFnVTJWamRYSnBkSGtnClUyVnlkbWxqWlhNZ1NXNWpNUzB3S3dZRFZRUURFeVJZVW1GdGNDQkhiRzlpWVd3Z1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnAKZEhrd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUNZSkI2OUZiUzYzOGVNcFNlMk9BdHA4N1pPcUN3dQpJUjFjUk44aFhYNGpkUDVlZnJSS3Q2YXRINjdnQmhiaW0xdlpaM1JyWFlDUEtaMkdHOW1jRFpodGRoQW9XT1Jsc0g5S21IbWY0TU14CmZvQXJ0WXpBUURzUmh0RExvb1kyWUtUVk1JSnQyVzdRRHhJRU01ZGZUMkZhOE9UNWthdm5IVHU4Nk0vMGF5MDBmT0pJWVJ5TzgyRkUKekcrZ1NxbVVzRTNhNTZrMGVuSTRxRUhNUEpRUmZldklwb3kzaHN2S016dlpQVGVMKzNvK2hpem5jOWNLVjZ4a214bnI5QThFQ0lxcwpBeGNaWlBSYUpTS05OQ3l5OW1nZEVtM1RpaDRVMnNTUHB1SWpoZFY2RGIxcTRPbnM3QmU3UWh0bnFpWHRSWU1oL01ISmZOVmlQdnJ5CnhTM1QvZFJsQWdNQkFBR2pnWjh3Z1p3d0V3WUpLd1lCQkFHQ054UUNCQVllQkFCREFFRXdDd1lEVlIwUEJBUURBZ0dHTUE4R0ExVWQKRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZNWlBvajBHWTRRSm5NNWk1QVNzalZ5MTZiWWJNRFlHQTFVZEh3UXZNQzB3SzZBcApvQ2VHSldoMGRIQTZMeTlqY213dWVISmhiWEJ6WldOMWNtbDBlUzVqYjIwdldFZERRUzVqY213d0VBWUpLd1lCQkFHQ054VUJCQU1DCkFRRXdEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBSkVWT1FNQkcyZjdTaHo1Q21CYm9kcE5sMkw1SkZNbjE0SmtUcEF1dzBrYks1cmMKL0toNFp6WHhIZkFSdmJkSTR4RDJEZDgvMHNtMnFsV2tTTG9DMjk1WkxoVmJPNTBXZlVmWE4rcGZUWFlTTnJzZjE2R0JCRVlnb3l4dApxWjRCZmo4cHpnQ1QzLzNKa25PSmlXU2U1eXZrSEpFczBybk9mYzV2TVpuVDVyN1NIcER3Q1JSNVhDT3JUZExhSVI5Tm1YbWQ0YzhuCm54Q2JISWdOc0lwa1FURzREbXlRSktTYlhIR1B1cnQrSEJ2YmFvQVBJYnpwMjZhM1FQU3lpNm14NU8rYUd0QTlhWm51cUNpajRUeXoKOExJUm5NOThRT2JkNTBOOW90ZzZ0YW1OOGpTWnhOUVE0UWI5Q1lRUU8rN0VUUFRzSjN4Q3duUjhnb29KeWJRREpidz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKR28gRGFkZHkgQ2xhc3MgMiBDQQo9PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlFQURDQ0F1aWdBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUVVGQURCak1Rc3dDUVlEVlFRR0V3SlZVekVoTUI4R0ExVUVDaE1ZClZHaGxJRWR2SUVSaFpHUjVJRWR5YjNWd0xDQkpibU11TVRFd0x3WURWUVFMRXloSGJ5QkVZV1JrZVNCRGJHRnpjeUF5SUVObGNuUnAKWm1sallYUnBiMjRnUVhWMGFHOXlhWFI1TUI0WERUQTBNRFl5T1RFM01EWXlNRm9YRFRNME1EWXlPVEUzTURZeU1Gb3dZekVMTUFrRwpBMVVFQmhNQ1ZWTXhJVEFmQmdOVkJBb1RHRlJvWlNCSGJ5QkVZV1JrZVNCSGNtOTFjQ3dnU1c1akxqRXhNQzhHQTFVRUN4TW9SMjhnClJHRmtaSGtnUTJ4aGMzTWdNaUJEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVUQ0NBU0F3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dFTkFEQ0NBUWdDZ2dFQkFONmQxK3BYR0VtaFcrdlhYMGlHNnI3ZC8rVHZaeHowWldpelYzR2dYbmU3N1p0SjZYQ0FQVllZWXdodgoydkxNMEQ5L0FsUWlWQkRZc29IVXdIVTlTMy9IZDhNK2VLc2FBN1VnYXk5cUs3SEZpSDdFdXg2d3dkaEZKMitxTjFqM2h5YlgyQzMyCnFSZTNIM0kyVHFZWFAyV1lrdHNxYmwyaS9vamdDOTUvNVkwVjRldkxPdFhpRXFJVExkaU9yMThTUGFBSUJRaTJYS1ZsT0FSRm1SNmoKWUdCMHhVR2xjbUliWXNVZmIxOGFRcjRDVVdXb3JpTVlhdng0QTZsTmY0REQrcXRhL0tGQXBNb1pGdjZ5eU85ZWN3M3VkNzJhOW5tWQp2TEVIWjZJVkRkMmdXTVpFZXdvK1lpaGZ1a0VIVTFqUEVYNDRkTVg0LzdWcGtJK0VkT3FYRzY4Q0FRT2pnY0F3Z2Iwd0hRWURWUjBPCkJCWUVGTkxFc05LUjFFd1JjYk5oeXoyaC90Mm9hdFRqTUlHTkJnTlZIU01FZ1lVd2dZS0FGTkxFc05LUjFFd1JjYk5oeXoyaC90Mm8KYXRUam9XZWtaVEJqTVFzd0NRWURWUVFHRXdKVlV6RWhNQjhHQTFVRUNoTVlWR2hsSUVkdklFUmhaR1I1SUVkeWIzVndMQ0JKYm1NdQpNVEV3THdZRFZRUUxFeWhIYnlCRVlXUmtlU0JEYkdGemN5QXlJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNWdnRUFNQXdHCkExVWRFd1FGTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBREpMODdMS1BwSDhFc2FoQjR5T2Q2QXpCaFJja0I0WTl3aW0KUFFvWitZZUFFVzVwNUpZWE1QODBrV055T083TUhBR2pIWlFvcERIMmVzUlUxL2JsTVZnRG9zek9ZdHVVUlhPMXYwWEpKTFhWZ2dLdApJM2xwamJpMlRjN1BUTW96SStnY2lLcWRpMEZ1RnNrZzVZbWV6VHZhY1BkK21TWWdGRlFscTI1emhlYWJJWjBLYklJT3FQakNEUG9RCkhteVc3NGNOeEE5aGk2M3VneXVWK0k2U2hISTU2eURxZysyRHpaZHVDTHpyVGlhMmN5dmswL1pNL2laeDRtRVJkRXIvVnhxSEQzVkkKTHM5UmFSZWdBaEpobGRYUlFMSVFUTzdFckJCRHBxV2VDdFdWWXBvTno0aUN4VElNNUN1ZlJlWU5ueWljc2JrcVdsZXROdyt2SFgvYgp2Wjg9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClN0YXJmaWVsZCBDbGFzcyAyIENBCj09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlFRHpDQ0F2ZWdBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUVVGQURCb01Rc3dDUVlEVlFRR0V3SlZVekVsTUNNR0ExVUVDaE1jClUzUmhjbVpwWld4a0lGUmxZMmh1YjJ4dloybGxjeXdnU1c1akxqRXlNREFHQTFVRUN4TXBVM1JoY21acFpXeGtJRU5zWVhOeklESWcKUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa3dIaGNOTURRd05qSTVNVGN6T1RFMldoY05NelF3TmpJNU1UY3pPVEUyV2pCbwpNUXN3Q1FZRFZRUUdFd0pWVXpFbE1DTUdBMVVFQ2hNY1UzUmhjbVpwWld4a0lGUmxZMmh1YjJ4dloybGxjeXdnU1c1akxqRXlNREFHCkExVUVDeE1wVTNSaGNtWnBaV3hrSUVOc1lYTnpJRElnUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa3dnZ0VnTUEwR0NTcUcKU0liM0RRRUJBUVVBQTRJQkRRQXdnZ0VJQW9JQkFRQzNNc2orNlhHbUJJV3REQkZrMzg1Tjc4Z0RHSWMvb2F2N1BLYWY4TU9oMnRUWQpiaXRUa1Bza3BENkU4SjdvWCt6bEowVDFLS1kvZTk3Z0t2RElyMU12bnNvRkFaTWVqMlljT2FkTitscTJjd1FsWnV0M2YrZFp4a3FaCkpSUlU2eWJIODM4WjFUQndqNit3UmlyL3Jlc3A3ZGVmcWdTSG85VDVpYVUwWDl0RGtZSTIyV1k4c2JpNWd2MmNPajRReUR2dkJtVm0KZXBzWkdEMy9jVkU4TUM1ZnZqMTNjN0pkQm16REkxYWFLNFVta2h5bkFyUGtQdzJ2Q0htQ3VEWTk2cHpUTmJPOGFjcjF6SjNvL1dTTgpGNEF6Ymw1S1habkpIb2UwblJyQTFXNFROU05lMzV0ZlBlL1c5M2JDNmo2N2VBMGNRbWRyQk5qNDF0cHZpL0pFb0FHckFnRURvNEhGCk1JSENNQjBHQTFVZERnUVdCQlMvWDdmUnp0MGZodlJiVmF6YzF4RENEcW1JNXpDQmtnWURWUjBqQklHS01JR0hnQlMvWDdmUnp0MGYKaHZSYlZhemMxeERDRHFtSTU2RnNwR293YURFTE1Ba0dBMVVFQmhNQ1ZWTXhKVEFqQmdOVkJBb1RIRk4wWVhKbWFXVnNaQ0JVWldObwpibTlzYjJkcFpYTXNJRWx1WXk0eE1qQXdCZ05WQkFzVEtWTjBZWEptYVdWc1pDQkRiR0Z6Y3lBeUlFTmxjblJwWm1sallYUnBiMjRnClFYVjBhRzl5YVhSNWdnRUFNQXdHQTFVZEV3UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFBV2RQNGlkMGNrYVZhR3MKYWZQeldkcWJBWWNhVDFlcG9Ya0pLdHYzTDdJZXpNZGVhdGlEaDZHWDcwazFQbmNHUVZoaXY0NVl1QXBuUCt5ejNTRm1IOGxVK25MTQpQVXhBMklHdmQ1NkRlcnVpeC9VMEY0N1pFVUQwL0N3cVRSVi9wMkpkTGlYVEFBc2dHaDFvK1JlNDlMMkw3U2haM1UwV2l4ZUR5TEpsCnh5MTZwYXE4VTRadDNWZWt5dmdnUVF0bzhQVDdkTDVXWFhwNTlma2RoZU10bGI3MWNaQkR6STBmbWdBS2h5bnBWU0pZQUNQcTR4SkQKS1Z0SENOMk1RV3BsQnFqbElhcEJ0SlVobGJsOTBUU3JFOWF0dk56aVBUbk52VDUxY0tFWVdRUEpJclNQbk5WZUt0ZWx0dFFLYmZpMwpRQkZHbWg5NURtSy9ENWZzNEM4ZkY1UT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUh5VENDQmJHZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREI5TVFzd0NRWURWUVFHRXdKSlRERVdNQlFHQTFVRUNoTU4KVTNSaGNuUkRiMjBnVEhSa0xqRXJNQ2tHQTFVRUN4TWlVMlZqZFhKbElFUnBaMmwwWVd3Z1EyVnlkR2xtYVdOaGRHVWdVMmxuYm1sdQpaekVwTUNjR0ExVUVBeE1nVTNSaGNuUkRiMjBnUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa3dIaGNOTURZd09URTNNVGswCk5qTTJXaGNOTXpZd09URTNNVGswTmpNMldqQjlNUXN3Q1FZRFZRUUdFd0pKVERFV01CUUdBMVVFQ2hNTlUzUmhjblJEYjIwZ1RIUmsKTGpFck1Da0dBMVVFQ3hNaVUyVmpkWEpsSUVScFoybDBZV3dnUTJWeWRHbG1hV05oZEdVZ1UybG5ibWx1WnpFcE1DY0dBMVVFQXhNZwpVM1JoY25SRGIyMGdRMlZ5ZEdsbWFXTmhkR2x2YmlCQmRYUm9iM0pwZEhrd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3CmdnSUtBb0lDQVFEQmlOc0p2R3hHZkhpZmxYdTFNNUR5Y21MV3dUWWdJaVJlenVsMzhrTUtvZ1prcE15T052ZzQ1aVB3Ym0yeFBOMXkKbzRVY29kTTl0RE1yMHkrdi91cXdRVmxudHNRR2ZRcWVkSVhXZVV5QU4zcmZPUVZTV2ZmMEcwWkRwTktGaGRMRGNmTjFZalM2TElwLwpIby91N1RUUUVjZVd6Vkk5dWpQVzNVM2VDenRLUzUvQ0ppLzZ0UlljY2pWM3lqeGQ1c3JoSm9zYU5uWmNBZHQwRkNYKzdiV2dpQS9kCmVNb3RId2VYTUFFdGNubjZSdFlUS3FpNXBxdURTUjNsOHUvZDVBR09HQXFQWTFNV2hXS3BEaGs2ekxWbXBzSnJkQWZrSytGMlByUnQKMlBaRTRYTmlIenZFdnFCVFZpVnNVUW4zcXF2S3YzYjliWnZ6bmR1L1BXYThERmFxcjVoSWxUcEwzNmRZVU5rNGRhbGI2a01NQXYrWgo2K2hzVFhCYktXV2MzYXBkeks4Qk1ld002OUtONk9xY2UrWnU5eWRtREJwSTEyNUM0ei9lSVQ1NzRRMXcrMk9xcUd3YVZMUmNKWHJKCm9zbUxGcWE3TEg0WFhnVk5XRzRTSFFIdUVoQU54akovR1AvODlQck5icEhvTmttK0draHBpOEtXVFJvU3Nta1h3UXFRMXZwNUlraS8KdW50cCtIREgrbm8zMk5nTjBuWlBWLytRdCtPUjB0M3Z3bUMzWnpyZC9xcWM4TlNMZjNJaXpzYWZsN2I0cjRxZ0VLaloreGpHdHJWYwpVanlKdGhrcWN3RUtEd096RW1EeWVpK0IyNk51L3lZd2wvV0wzWWxYdHEwOXM2OHJ4YmQyQXZDbDFpdWFoaFFxY3Ziak00eGRDVXNUCjM3dU1kQk5TU3dJREFRQUJvNElDVWpDQ0FrNHdEQVlEVlIwVEJBVXdBd0VCL3pBTEJnTlZIUThFQkFNQ0FhNHdIUVlEVlIwT0JCWUUKRkU0TDd4cWtRRnVsRjJtSE1NbzBhRVBRUWE3eU1HUUdBMVVkSHdSZE1Gc3dMS0Fxb0NpR0ptaDBkSEE2THk5alpYSjBMbk4wWVhKMApZMjl0TG05eVp5OXpabk5qWVMxamNtd3VZM0pzTUN1Z0thQW5oaVZvZEhSd09pOHZZM0pzTG5OMFlYSjBZMjl0TG05eVp5OXpabk5qCllTMWpjbXd1WTNKc01JSUJYUVlEVlIwZ0JJSUJWRENDQVZBd2dnRk1CZ3NyQmdFRUFZRzFOd0VCQVRDQ0FUc3dMd1lJS3dZQkJRVUgKQWdFV0kyaDBkSEE2THk5alpYSjBMbk4wWVhKMFkyOXRMbTl5Wnk5d2IyeHBZM2t1Y0dSbU1EVUdDQ3NHQVFVRkJ3SUJGaWxvZEhSdwpPaTh2WTJWeWRDNXpkR0Z5ZEdOdmJTNXZjbWN2YVc1MFpYSnRaV1JwWVhSbExuQmtaakNCMEFZSUt3WUJCUVVIQWdJd2djTXdKeFlnClUzUmhjblFnUTI5dGJXVnlZMmxoYkNBb1UzUmhjblJEYjIwcElFeDBaQzR3QXdJQkFScUJsMHhwYldsMFpXUWdUR2xoWW1sc2FYUjUKTENCeVpXRmtJSFJvWlNCelpXTjBhVzl1SUNwTVpXZGhiQ0JNYVcxcGRHRjBhVzl1Y3lvZ2IyWWdkR2hsSUZOMFlYSjBRMjl0SUVObApjblJwWm1sallYUnBiMjRnUVhWMGFHOXlhWFI1SUZCdmJHbGplU0JoZG1GcGJHRmliR1VnWVhRZ2FIUjBjRG92TDJObGNuUXVjM1JoCmNuUmpiMjB1YjNKbkwzQnZiR2xqZVM1d1pHWXdFUVlKWUlaSUFZYjRRZ0VCQkFRREFnQUhNRGdHQ1dDR1NBR0crRUlCRFFRckZpbFQKZEdGeWRFTnZiU0JHY21WbElGTlRUQ0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVUQU5CZ2txaGtpRzl3MEJBUVVGQUFPQwpBZ0VBRm15WjlHWU1OUFhRaFY1OUN1emFFRTQ0SEY3ZnBpVUZTNUV5d2VnNzhUM2RSQWxiQjBtS0tjdG1BcmV4bXZjbG1BazhqaHZoCjNUYUhLMHU3YU5NNVpqMmdKc2Z5T1pFZFVhdUNlMzdWemxyazRnTlhjR21YQ1BsZVdLWUszNHdHbWtVV0ZqZ0tYbGYyWXNkNkFnWG0KdkI2MThwNzBxU21EK0xJVTQyNG9oMFREa0JyZU9LazhyRU5OWkVYTzNTaXBYUEp6ZXdUNEYraXJzZk11WEdSdWN6RTZFcmk4c3hIawpmWStCVVpvN2pZbjBUWk5tZXp3RDdkT2FIWnJ6WlZEMW9OQjFueSt2OE9xQ1E1ajRhWnlKZWNSRGprWnk0MlEyRXEvM0pSNDRpWkIzCmZzTnJhcm5EeTBSTHJIaVFpK2ZITEI1TEVVVElORkluelFwZG40WEJpZFVhZVBLVkVGTXkzWUNFWm5YWnRXZ28rMkV1dm9Tb09NQ1oKRW9hbEhtZGtyUVl1TDZsd2hjZVdEM3lKWmZXT1ExUU9xOTJsZ0RtVVlNQTB5Wlp3TEtNUzlSOUllNzBjZm11M25aRDBJanV1K1B3cQp5dnFDVXFEdnIwdFZrK3ZCdGZBaWk2dzBUaVlpQktHSExIVkt0K1Y5RTllNERHVEFOdExKTDRZU2pDTUp3UnVDTzNOSm8ycFhoNVRsCjFuakZtVU5qNDAzZ2R5M2haWmx5YVFRYVJ3bm1Ed0ZXSlBzZnZ3NTVxVmd1dWNRSkFYNlZ1bTBBQmo2eTZrb1FPZGpRSy9XLzdIVy8KbHdMRkNSc0kzRlUzNG9IN040UkRZaURLNTFaTFplcitiTUVra3lTaE5Pc0YvNW9pcnB0OVAvRmxVUXFtTUdxejlJZ2NnQTM4Y29ybwpnMTQ9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClRhaXdhbiBHUkNBCj09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGY2pDQ0ExcWdBd0lCQWdJUUg1MVpXdGN2d2daRXBZQUlhZU5lOWpBTkJna3Foa2lHOXcwQkFRVUZBREEvTVFzd0NRWURWUVFHCkV3SlVWekV3TUM0R0ExVUVDZ3duUjI5MlpYSnViV1Z1ZENCU2IyOTBJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1CNFgKRFRBeU1USXdOVEV6TWpNek0xb1hEVE15TVRJd05URXpNak16TTFvd1B6RUxNQWtHQTFVRUJoTUNWRmN4TURBdUJnTlZCQW9NSjBkdgpkbVZ5Ym0xbGJuUWdVbTl2ZENCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodmNtbDBlVENDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFECmdnSVBBRENDQWdvQ2dnSUJBSm9sdU96TW9uV29lL2ZPVzFtS3lkR0dFZ2hVN0p6eTUwYjJpUE44NmFYZlRFYzJwQnNCSEg4ZVY0cU4KdzhYUkllUGFKRDlJSy91ZkxxR1U1eXdjazlHL0d3R0hVNW5PcC9VS0lYWjMvNm0zeG5PVVQwYjNFRWszK3FoWlNWMXFnUWRXOG9yNQpCdEQzY0NKTnRMZEJ1VEs0c2ZDeHc1dy9jUDFUM1lHcTJHTjQ5dGhUYnFHc2FvUWtjbFNHeHRLeXlod09lWUhXdFhCaUNBRXVUazhPCjFSR3ZxYS9sbXIvY3pJZHRKdVRKVjZMN2x2bk00VDlUakd4TWZwdFRDQXRzRi90bnlNS3RzYzJBdEpmY2RnRVdGZWxxMTZUaGVFZk8KaHRYN01mUDZNYjQwcWlqN2NFd2RTY2V2TEoxdFpxYTJqV1IrdFNCcW5UdUJ0bzlBQUdkTGlZYTR6R1grRlZQcEJNSFdYeDFFMXdvdgpKNXBHZmFFTmRhMVVoaFhjU1R2eGxzNFBtNkRzbzNwZHZ0VXFkVUxsZTk2bHRxcXZLS3lza0t3NHQ5Vm9OU1o2M1BjNzgvMUZtOUc3ClEzaHViL0ZDVkdxWThBMnRsK2xTWHVuVmFuTGVhdmNiWUJUMHBlUzJjV2VxSCtyaVRjRkNRUDVuUmhjNEwwYy9jWnl1NVNIS1lTMXQKQjZpRWZDM3VVU1h4WTVDZS9lRlhpR3Z2aWlOdHNlYTlQNjNSUFpZTGhZM05heWU3dHdXYjdMdVJxUW9IRWdLWFRpQ1E4UDhOSHVKQgpPOU5BT3VlTlhkcG01QUt3QjFLWVhBNk9NNXpDcHBYN1ZSbHVUSTZ1U3crOXdUaE5YbytFSFdiTnhXQ1d0RkphQlltT2xYcVl3WkU4CmxTT3lEdlI1dE1sOHdVb2hBZ01CQUFHamFqQm9NQjBHQTFVZERnUVdCQlRNek8vTUtXQ2tPN0dTdGp6Nk1tS1ByQ1VWT3pBTUJnTlYKSFJNRUJUQURBUUgvTURrR0JHY3FCd0FFTVRBdk1DMENBUUF3Q1FZRkt3NERBaG9GQURBSEJnVm5LZ01BQUFRVUE1dndJaFAvbFNnMgowOXlld0RMN01UcUtVV1V3RFFZSktvWklodmNOQVFFRkJRQURnZ0lCQUVDQVN2b215YzVlTU4xUGhuUjJXUFd1czRNemVLUjZkQmNaClR1bFN0Ym5nQ25SaXFtaktlS0JNbW80c0l5N1ZhaElrdjlSbzA0clEySnlmdEI4TTNqaCtWemo4amVKUFhneWZxenZTLzNXWHk2VGoKWndqLzVjQVd0VWdCZmVuNUN2OGI1V3BwdjNnaHFNS25JNm1HcTNaVzZBNE05aFBkS21hS1pFazlHaGlIa0FTZlFsSzNUOHYrUjBGMgpOZS8vQUhZMlJUS2J4a2FGWGVJa3NCN2pTSmFZVjBlVVZYb1BRYkZFSlBQQi9ocHJ2NGo5d2FiYWsyQmVnVXFaSUp4SVpobTFBSGxVCkQ3Z3NMMHU4cVYxYllIK01oNlhnVW1NcXZ0ZzdoVUFWL2g2MlpUL0ZTOXArdFhvMUthTXVlcGhnSXFQMGZTZE9MZXEwZER6cEQ2UXoKRHhBUnZCTUIxdVVPMDcrMUVxTGhSU1BBekFodVliZUpxNFBqSkI3bVhRZm5IeUErejJmSTU2d3diU2RMYUc1TEtsd0NDRFRiK0hiawpaNk1tbkQraU1zSkt4WUVZTVJCV3FvVHZMUXIvdUI5MzByK2xXS0JpNU5kTGtYV05pWUNZZm0zTFUwNWVyL2F5bDRXWHVkcFZCcmtrCjd0ZkdPQjVqR3hJN2xlRllyUExmaE5WZm1TOE5WVnZtT05zdVAzTHBTSVhMdXlrVGp4NDRWYm56c3NRd21TTk9YZkpJb1JJTTNCS1EKQ1pCVWtRTThSK1hWeVdYZ3QwdDk3RWZUc3dzK3JaN1FkQUFPNjcxUnJjRGVMTUREYXY3djNBdW4ra2JmWU51Y3BsbFFkU05wYzVPeQorZndDMDBmbWNjNFFBdTRuaklUL3JFVU5FMXlETXVBbHBZWXNmUFFTCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkZpcm1hcHJvZmVzaW9uYWwgUm9vdCBDQQo9PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVWekNDQXorZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBRENCblRFTE1Ba0dBMVVFQmhNQ1JWTXhJakFnQmdOVkJBY1QKR1VNdklFMTFiblJoYm1WeUlESTBOQ0JDWVhKalpXeHZibUV4UWpCQUJnTlZCQU1UT1VGMWRHOXlhV1JoWkNCa1pTQkRaWEowYVdacApZMkZqYVc5dUlFWnBjbTFoY0hKdlptVnphVzl1WVd3Z1EwbEdJRUUyTWpZek5EQTJPREVtTUNRR0NTcUdTSWIzRFFFSkFSWVhZMkZBClptbHliV0Z3Y205bVpYTnBiMjVoYkM1amIyMHdIaGNOTURFeE1ESTBNakl3TURBd1doY05NVE14TURJME1qSXdNREF3V2pDQm5URUwKTUFrR0ExVUVCaE1DUlZNeElqQWdCZ05WQkFjVEdVTXZJRTExYm5SaGJtVnlJREkwTkNCQ1lYSmpaV3h2Ym1FeFFqQkFCZ05WQkFNVApPVUYxZEc5eWFXUmhaQ0JrWlNCRFpYSjBhV1pwWTJGamFXOXVJRVpwY20xaGNISnZabVZ6YVc5dVlXd2dRMGxHSUVFMk1qWXpOREEyCk9ERW1NQ1FHQ1NxR1NJYjNEUUVKQVJZWFkyRkFabWx5YldGd2NtOW1aWE5wYjI1aGJDNWpiMjB3Z2dFaU1BMEdDU3FHU0liM0RRRUIKQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUURuSXdOdmJ5T2xYbmpPbFN6dGxCNXVDcDRCeCtvdzBTeWQzVGZvbTVoNVZ0UDhjOS9RaXQ1VgpqMUg1V3VyZXRYREU3YVR0LzZNTmJnOWtVREd2QVNkWXJ2NXNwMG92RnkzVGM5VVRISTlacFRRc0hWUUVSYzFvdUtEQUE2WFBoVUpICmxTaGJ6KytBYk9DUWw0b0JQQjN6aHhBd0praDkxL3pwblpGeC8wR2FxVUMxTjV3cElFOGZVdU9nZlJOdFZMY0szdWxxVGdlc3JCbGYKM0g1aWRQYXlCUUM2aGFEOUhUaHV5MXE3aHJ5VVp6TTFneXdmSTgzNHlKRnh6SmVMNzY0UDNDa0RHOEE1NjNEdHdXNE8yR2NMaWFtOApOZVR2dGpTMHBiYkVMYVcrME1PVUpFamIzNWJUQUxWbUdvdG1CUS9kUHovTFA2cGVta3I0dEVydmxUY2JBZ01CQUFHamdaOHdnWnd3CktnWURWUjBSQkNNd0lZWWZhSFIwY0RvdkwzZDNkeTVtYVhKdFlYQnliMlpsYzJsdmJtRnNMbU52YlRBU0JnTlZIUk1CQWY4RUNEQUcKQVFIL0FnRUJNQ3NHQTFVZEVBUWtNQ0tBRHpJd01ERXhNREkwTWpJd01EQXdXb0VQTWpBeE16RXdNalF5TWpBd01EQmFNQTRHQTFVZApEd0VCL3dRRUF3SUJCakFkQmdOVkhRNEVGZ1FVTXd1Z1p0SHEyczdlWXBNRUtGSzFGSDg0YUxjd0RRWUpLb1pJaHZjTkFRRUZCUUFECmdnRUJBRWR6L28wblZQRDExSGVjSjNsWFY3Y1ZWdXpIMkZpM0FRTDBNKzJUVUlpZWZFYXh2VDhVYi9HelIwaUxqSmNHMStwK28xd3EKdTAwdlIrTDRPUWJKbkM0eEdnTjQ5THc0eGlLTE16SHdGZ1FFZmZsMjVFdlh3T2FEN0ZuTVA5Ny9UMnUzWjM2bWhvRXlJd09keVBkZgp3VXBncFpLcHNhU2dZTU40aDdNaTh5cnJXNm50QmFzM0Q3SGkwNVYyWTFaMGpGaHlHemZsWktHK1RReVRtQXlYOW9kdHN6L255NENtCjdZakhYMUJpQXVpWmRCYlE1clE1OFNmTHlFRFc0NFlRcVNNU2t1QnBRV09ucnlVTHdNV1N5eDZZbzFxNnhUTVBvSmNCM1gvZ2U5WUcKVk0raDRrMDQ2MHRRdGNzbTlNcmFjRXBxb2VKNXF1R25NL2I5U2gvMjJXQT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKV2VsbHMgRmFyZ28gUm9vdCBDQQo9PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlENVRDQ0FzMmdBd0lCQWdJRU9lU1huakFOQmdrcWhraUc5dzBCQVFVRkFEQ0JnakVMTUFrR0ExVUVCaE1DVlZNeEZEQVNCZ05WCkJBb1RDMWRsYkd4eklFWmhjbWR2TVN3d0tnWURWUVFMRXlOWFpXeHNjeUJHWVhKbmJ5QkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHYKY21sMGVURXZNQzBHQTFVRUF4TW1WMlZzYkhNZ1JtRnlaMjhnVW05dmRDQkRaWEowYVdacFkyRjBaU0JCZFhSb2IzSnBkSGt3SGhjTgpNREF4TURFeE1UWTBNVEk0V2hjTk1qRXdNVEUwTVRZME1USTRXakNCZ2pFTE1Ba0dBMVVFQmhNQ1ZWTXhGREFTQmdOVkJBb1RDMWRsCmJHeHpJRVpoY21kdk1Td3dLZ1lEVlFRTEV5TlhaV3hzY3lCR1lYSm5ieUJEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURXYKTUMwR0ExVUVBeE1tVjJWc2JITWdSbUZ5WjI4Z1VtOXZkQ0JEWlhKMGFXWnBZMkYwWlNCQmRYUm9iM0pwZEhrd2dnRWlNQTBHQ1NxRwpTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEVnFETTdKdmswLzgyYmZ1VUVSODRBNG4xMzV6SENMaWVsVFdpNU1icU5RMW1YCngzT3FmejFjUUo0RjVhSGlpZGxNdUQrYitReTB5R0laTEVXdWtSNXpjVUhFU3hQOWNNSWxyQ0wxZFF1M1UrU2xLOTNPdlJ3NmVzUDMKRTQ4bVZKd1dhMnV2KzlpV3NXQ2FTT0FsSWlSNU5NNE9KZ0FMVHF2OWk4NkMxeThJY0dqQnFBcjVkRThIcTZUNTRvTitKM04wUHJqNQpPRUw4cGFoYlNDT3o2K01sc29DdWx0UUtuTUo0bXNab0dLNDNZamRlVVhXb1dHUEFVZTVBZUg2b3J4cWc0YkI0blZDTWUrZXovSTRqCnNOdGxBSENFQVFnQUZHNVVocHE2elBrM0VQYmczb1F0bmFTRk45T0g0eFhRd1JlUWZoa2hhaEtwZHYwU0F1bFBJVjRYQWdNQkFBR2oKWVRCZk1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d1RBWURWUjBnQkVVd1F6QkJCZ3RnaGtnQmh2dDdod2NCQ3pBeU1EQUdDQ3NHQVFVRgpCd0lCRmlSb2RIUndPaTh2ZDNkM0xuZGxiR3h6Wm1GeVoyOHVZMjl0TDJObGNuUndiMnhwWTNrd0RRWUpLb1pJaHZjTkFRRUZCUUFECmdnRUJBTkluM1p3S2R5dTdJdklDdFVwS2tmblJMYjdrdXhwbzd3NmtBT251NSsvdTl2bmxkS1RDMkZKWXhIVDd6bXUxT3lsNUdGcnYKbSswZmF6YnVTQ1VsRkxaV29oRG83cWQvMEQrajBNTmRKdTRIek1QQkpDR0hIdDhxRWxOdlFSYm43YTZVK294eStoTkg4RHgrcm4wUgpPaFBzN2ZwdmNtUjduWDEvSnYxNit5V3Q2ajRwZjB6akFGY3lzTFBwN1ZNWDJZdXlGQTR3Nk9YVkU4WmtyOFFBMWRoWUpQejFqK3p4CngzMmwydzhuMGNieVFJam1IL1pocVBSQ3lMazMwNm0rTEZaNHduS2JXVjAxUUlyb1RtTWF0dWtnYWxIaXpxU1EzM1p3bVZ4d1EwMjMKdHFjWlpFNlN0OFdSUEg5SUZtVjdGdjNML1B2WjFkWlBJV1U3U245SG8vcz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKU3dpc3Njb20gUm9vdCBDQSAxCj09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRjJUQ0NBOEdnQXdJQkFnSVFYQXVGWEF2bldVSGZWOHcvZjUyb05qQU5CZ2txaGtpRzl3MEJBUVVGQURCa01Rc3dDUVlEVlFRRwpFd0pqYURFUk1BOEdBMVVFQ2hNSVUzZHBjM05qYjIweEpUQWpCZ05WQkFzVEhFUnBaMmwwWVd3Z1EyVnlkR2xtYVdOaGRHVWdVMlZ5CmRtbGpaWE14R3pBWkJnTlZCQU1URWxOM2FYTnpZMjl0SUZKdmIzUWdRMEVnTVRBZUZ3MHdOVEE0TVRneE1qQTJNakJhRncweU5UQTQKTVRneU1qQTJNakJhTUdReEN6QUpCZ05WQkFZVEFtTm9NUkV3RHdZRFZRUUtFd2hUZDJsemMyTnZiVEVsTUNNR0ExVUVDeE1jUkdsbgphWFJoYkNCRFpYSjBhV1pwWTJGMFpTQlRaWEoyYVdObGN6RWJNQmtHQTFVRUF4TVNVM2RwYzNOamIyMGdVbTl2ZENCRFFTQXhNSUlDCklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUEwTG13cUF6WnV6OGgrQnZWTTVPQUZtVWdkYkk5bTJCdFJzaU0KTVc4WHcvcWFiRmJ0UE1XUlY4UE5xNVpKa0NvWlN4NmpiVmZkOFN0aUtIVkZYcXJXVy9vTEpkaWhGdmtjeEM3bWxTcG56TkFwYmp5RgpORGhoU2JFQW45WTZjVjlOYmM1ZnVhbmtpWDlxVXZyS20vTGNxZm1kbVVjL1RpbGZ0S2FOWFhzTG1SRURBLzduMjl1ai94Mmx6WkFlCkFSODFzSDhBMjVCdnhuNTcwZTU2ZXFlcURGZHZwRzNGRXp1d3BkbnRNaHkwWG1lTFZOeHpoK1hURjN4bVVISmQxQnBZd2RuUDJJa0MKYjZkSnREWmQwS1RlQnl5MmRiY29rZGFYdmlqMW1CN3FXeWJKdmJDWGM5cXVrU2JyYU1INU9SWFdaMHNLYlUvTHo3RGtRbkdNVTNubgo3dUhiSGFCdUhZd2FkelZjRmg0clV4ODBpOUZzL1BKbkIzcjFyZTNXbXF1aHNVdmh6RGRmL1gvTlRhNjRINXhEK1NwWVZVTkZ2SmJOCmNBNzh5ZU5tdWs2Tk80SExGV1I3dVpUb1hUTlNoWEV1VDQ2aUJoRlJ5ZVBMb1c0eENHUU13dEk4OVRibzE5QU9lQ01na2Nra0ttVXAKV3lMM0ljNkRYcVR6M2t2VGFJOUdkVnlEQ1c0cGE4UndqUFdkMXlBdi8wYlNLempDTDNVY1BYN2FwZThlWUlWcFF0UE0rR1ArSGtNNQpoYWEyWTBFUXMzTWV2TlA2eW4wV1IrS24xZENqaWdvSWxtSldialRiMlFLNU1IWGpCTkxuajhLd0VVQUtyTlZ4QW1LTE1iN2R4aU5ZCk1VSkRMWFQ1eHA2bWlnL3AvcitENWtOWEpMcnZSalNxMXhJQk9PMENBd0VBQWFPQmhqQ0JnekFPQmdOVkhROEJBZjhFQkFNQ0FZWXcKSFFZRFZSMGhCQll3RkRBU0JnZGdoWFFCVXdBQkJnZGdoWFFCVXdBQk1CSUdBMVVkRXdFQi93UUlNQVlCQWY4Q0FRY3dId1lEVlIwagpCQmd3Rm9BVUF5VXYzbStDQVRwY0xOd3JvV20xWjlTTTAvMHdIUVlEVlIwT0JCWUVGQU1sTDk1dmdnRTZYQ3pjSzZGcHRXZlVqTlA5Ck1BMEdDU3FHU0liM0RRRUJCUVVBQTRJQ0FRQTFFTXZzcGdRTkRRL053TnVycVBLSWx3emZreTlOZkVCV01YcnJwQTlnelhyenZzTW4KamdNK3BOMFM3MzRlZEFZOFB6SHlISHVSTVNHMDhOQnNsOVRwbDdJa1ZoNVd3elc5aUFVUFd4QWFaT0hIZ2pENU1xMmVVQ3puZUFYUQpNYkZhbUlwMVRwQmNhaFFxNEZKSGdtRG1IdHFCc2ZzVUMxcnhuOUtWdWo3UUc5WVZIYU8raHRYYkQ4QkpaTHN1VUJsTDBpVDQzUjRIClZ0QTRvSlZ3SUhhTTE5MGUzcDl4eENQdmd4TmNveVFWVFNsQVBHckVxZGkzcGtTbERmVGduWGNlUUhBbS9OclpOdVI1NUxVL3ZKdGwKdnJzUmxzL2J4aWc1T2dqT1IxdFRXc1daL2wycDNlOU0xTWFsclFMbWpBY1NIbThEMFcrZ28vTXB2UkxIVUtLd2Y0aXBtWGVhc2NDbApPUzVjZkduaUxMRHFOMnFrNFZyaDlWRGxnKytsdXlxSTU0emIvVzFlbHhtb2ZtWjFhM0hxdjdISGI2RDBqcVRzTkZGYmpDWURjS0YzCjFRRVNWd0ExMnlQZURvb29tZjJ4RUc5TC96Z3RZRTRzbk90bnRhMUo3a3NmcksvN0RaQmFabUJ3WGFyTmVOUWs3c2hCb0pNQmtweHEKbnZ5NUpNV3pGWUordnE2VksrdXh3TnJqQVdBTFhtbXNoRlpodm5FWC9oMFRELzdHaDBYcC9qS2dHZzBUcEpSVmNhVVdpN3JLaWJDeQp4L3lQMkZTMWsyS2R6czlaK3owWXppckxOUldDWGY5VUlsdHhVdnUzeWY1Z213QkJaUENxS3V5MlFrUE9pV2FCeUl1Zk9WUURKZE1XCk5ZNkUwRi82TUJyMW1tejBEbFA1T2x2UkhBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKRGlnaUNlcnQgQXNzdXJlZCBJRCBSb290IENBCj09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRHR6Q0NBcCtnQXdJQkFnSVFET2ZnNVJmWVJ2NlA1V0Q4Ry9Bd09UQU5CZ2txaGtpRzl3MEJBUVVGQURCbE1Rc3dDUVlEVlFRRwpFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU1F3CklnWURWUVFERXh0RWFXZHBRMlZ5ZENCQmMzTjFjbVZrSUVsRUlGSnZiM1FnUTBFd0hoY05NRFl4TVRFd01EQXdNREF3V2hjTk16RXgKTVRFd01EQXdNREF3V2pCbE1Rc3dDUVlEVlFRR0V3SlZVekVWTUJNR0ExVUVDaE1NUkdsbmFVTmxjblFnU1c1ak1Sa3dGd1lEVlFRTApFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU1F3SWdZRFZRUURFeHRFYVdkcFEyVnlkQ0JCYzNOMWNtVmtJRWxFSUZKdmIzUWdRMEV3CmdnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUN0RGhYTzVFT0FYTEdIODdkZytYRVNwYTdjSnBTSXF2VE8KOVNBNUtGaGdEUGlBMnFrVmxUSmhQTFd4S0lTS2l0eWZDZ3lERjNxUGtLeUs1M2xUWERHRUt2WVBtREkyZHN6ZTNUeW9vdTlxK3lIeQpVbUhmbnlEWEgrS3gyZjRZWk5JU1cxLzVXQmcxdkVmTm9UYjVhMy9Vc0RnK3dSdkRqRFBaMkM4WS9pZ1BzNmVEMXNOdVJNQmhOWllXCi9sbWNpM1p0MS9HaVN3MHIvd3R5MnA1ZzBJNlFOY1o0VlljZ29jL2xiUXJJU1h3eG1ETnNJdW1IMERKYW9yb1RnaEh0T1JlZG1UcHkKb2ViNnBOblZGekYxcm9WOUlxNC9BVWFHOWloNXlMSGE1RmNYeEg0Y0RyQzBrcVpXczcyeWwrMnFwL0MzeGFnL2xSYlEvNkdXNndoZgpHSGRQQWdNQkFBR2pZekJoTUE0R0ExVWREd0VCL3dRRUF3SUJoakFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjBHQTFVZERnUVdCQlJGCjY2S3Y5SkxMZ2pFdFVZdW5weUdkODIzSUR6QWZCZ05WSFNNRUdEQVdnQlJGNjZLdjlKTExnakV0VVl1bnB5R2Q4MjNJRHpBTkJna3EKaGtpRzl3MEJBUVVGQUFPQ0FRRUFvZzY4MytMdDhPTnljM3BrbEwvM2NtYllNdVJDZFdLdWgrdnkxZG5lVnJPZnpNNFVLTGtObDJCYwpFa3hZNU5NOWcwbEZXSmMxYVJxb1IrcFd4bm1yRXRobmdZVGZmd2s4bE9hNEppd2d2VDJ6S0luM1gvOGk0cGVFSCtsbDc0ZmczOEZuClNiTmQ2N0lKS3VzbTdYaStmVDhyODdjbU5XMWZpUUcyU1Z1ZkFRV2JxejBsd2N5MmY4THhiNGJHK21SbzY0RXRsT3RDdC9xTUh0MWkKOGI1UVo3ZHN2ZlB4SDJzTU5nY1dmemQ4cVZ0dGV2RVNSbUNEMXljRXZrdk9sNzdEWnlwb0VkK0E1d3d6WnI4VERSUnU4MzhmWXhBZQorbzBiSlcxc2o2VzNZUUd4MHFNbW9SQnhuYTNpdy9uRG1WRzNLd2NJemk3bVVMS24rZ3BGTDZMdzhnPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKRGlnaUNlcnQgR2xvYmFsIFJvb3QgQ0EKPT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURyekNDQXBlZ0F3SUJBZ0lRQ0R2Z1ZwQkNSckdoZFdySldaSEhTakFOQmdrcWhraUc5dzBCQVFVRkFEQmhNUXN3Q1FZRFZRUUcKRXdKVlV6RVZNQk1HQTFVRUNoTU1SR2xuYVVObGNuUWdTVzVqTVJrd0Z3WURWUVFMRXhCM2QzY3VaR2xuYVdObGNuUXVZMjl0TVNBdwpIZ1lEVlFRREV4ZEVhV2RwUTJWeWRDQkhiRzlpWVd3Z1VtOXZkQ0JEUVRBZUZ3MHdOakV4TVRBd01EQXdNREJhRncwek1URXhNVEF3Ck1EQXdNREJhTUdFeEN6QUpCZ05WQkFZVEFsVlRNUlV3RXdZRFZRUUtFd3hFYVdkcFEyVnlkQ0JKYm1NeEdUQVhCZ05WQkFzVEVIZDMKZHk1a2FXZHBZMlZ5ZEM1amIyMHhJREFlQmdOVkJBTVRGMFJwWjJsRFpYSjBJRWRzYjJKaGJDQlNiMjkwSUVOQk1JSUJJakFOQmdrcQpoa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTRqdmhFWExlcUtUVG8xZXFVS0tQQzNlUXlhS2w3aExPbGxzQkNTRE1BWk9uClRqQzNVL2REeEdrQVY1M2lqU0xkaHdaQUFJRUp6czRiZzcvZnpUdHhSdUxXWnNjRnMzWW5Gbzk3bmg2VmZlNjNTS01JMnRhdmVndzUKQm1WL1NsMGZ2QmY0cTc3dUtOZDBmM3A0bVZtRmFHNWNJekpMdjA3QTZGcHQ0M0MvZHhDLy9BSDJoZG1vUkJCWU1xbDFHTlhSb3I1SAo0aWRxOUpveitFa0lZSXZVWDdRNmhMK2hxa3BNZlQ3UFQxOXNkbDZnU3plUm50d2k1bTNPRkJxT2Fzdit6Yk1VWkJmSFd5bWVNci95Cjd2clRDMExVcTdkQk10b00xTy80Z2RXN2pWZy90UnZvU1NpaWNOb3hCTjMzc2hieVRBcE9CNmp0U2oxZXRYK2prTU92SndJREFRQUIKbzJNd1lUQU9CZ05WSFE4QkFmOEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVUE5NVFOVmJSVEx0bQo4S1BpR3h2RGw3STkwVlV3SHdZRFZSMGpCQmd3Rm9BVUE5NVFOVmJSVEx0bThLUGlHeHZEbDdJOTBWVXdEUVlKS29aSWh2Y05BUUVGCkJRQURnZ0VCQU11Y042cElFeElLK3QxRW5FOVNzUFRmcmdUMWVYa0lveVFZL0VzcmhNQXR1ZFhIL3ZUQkgxakx1RzJjZW5Ubm1DbXIKRWJYamNLQ2h6VXlJbVpPTWtYRGlxdzhjdnBPcC8yUFY1QWRnMDZPL25Wc0o4ZFdPNDFQMGptUDZQNmZidEdiZlltYlcwVzVCamZJdAp0ZXAzU3ArZFdPSXJXY0JBSSswdEtJSkZQbmxVa2lhWTRJQklxRGZ2OE5aNVlCYmVyT2dPelc2c1JCYzRMMG5hNFVVK0tyazJVODg2ClVBYjNMdWpFVjBsc1lTRVkxUVN0ZUR3c09vQnJwK3V2RlJUcDJJbkJ1VGhzNHBGc2l2OWt1WGNsVnpEQUd5U2o0ZHpwMzBkOHRiUWsKQ0FVdzdDMjlDNzlGdjFDNXFmUHJtQUVTcmNpSXhwZzBYNDBLUE1icDFaV1ZiZDQ9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkRpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIEVWIFJvb3QgQ0EKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRHhUQ0NBcTJnQXdJQkFnSVFBcXhjSm1vTFFKdVBDM255cmtZbGR6QU5CZ2txaGtpRzl3MEJBUVVGQURCc01Rc3dDUVlEVlFRRwpFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU3N3CktRWURWUVFERXlKRWFXZHBRMlZ5ZENCSWFXZG9JRUZ6YzNWeVlXNWpaU0JGVmlCU2IyOTBJRU5CTUI0WERUQTJNVEV4TURBd01EQXcKTUZvWERUTXhNVEV4TURBd01EQXdNRm93YkRFTE1Ba0dBMVVFQmhNQ1ZWTXhGVEFUQmdOVkJBb1RERVJwWjJsRFpYSjBJRWx1WXpFWgpNQmNHQTFVRUN4TVFkM2QzTG1ScFoybGpaWEowTG1OdmJURXJNQ2tHQTFVRUF4TWlSR2xuYVVObGNuUWdTR2xuYUNCQmMzTjFjbUZ1ClkyVWdSVllnVW05dmRDQkRRVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNYk01WFBtKzlTNzVTMHQKTXFiZjVZRS95YzBsU2JaeEtzUFZsRFJub2dvY3NGOXBwa0N4eExleWo5Q1lwS2xCV1RyVDNKVFdQTnQwT0tSS3pFMGxndmRLcFZNUwpPTzd6U1cxeGtYNWp0cXVtWDhPa2hQaFBZbEcrK01YczJ6aVM0d2JsQ0pFTXhDaEJWZnZMV29rVmZuSG9OYjlOY2drOXZqbzRVRnQzCk1SdU5zOGNrUlpxbnJHMEFGRm9FdDdvVDYxRUttRUZCSWs1bFlZZUJRVkNtZVZ5SjNobEtWOVV1NWwwY1V5eCttTTBhQmhha2FIUFEKTkFRVFhLRngwMXA4VmR0ZVpPRTNoekJXQk9VUnRDbUFFdkY1T1lpaUFoRjhKMmEzaUxkNDhzb0txRGlyQ21UQ3YyWmRsWVRCb1NVZQpoMTBhVUFzZ0VzeEJ1MjRMVVRpNFM4c0NBd0VBQWFOak1HRXdEZ1lEVlIwUEFRSC9CQVFEQWdHR01BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdIUVlEVlIwT0JCWUVGTEUrdzJrRCtMOUhBZFNZSmhvSUF1OWpaQ3ZETUI4R0ExVWRJd1FZTUJhQUZMRSt3MmtEK0w5SEFkU1kKSmhvSUF1OWpaQ3ZETUEwR0NTcUdTSWIzRFFFQkJRVUFBNElCQVFBY0dnYVgzTmVjbnp5SVpnWUlWeUhiSVVmNEttZXF2eGd5ZGtBUQpWOEdLODNyWkVXV09OZnFlL0VXMW50bE1NVXU0a2VoRExJNnplTTdiNDFONWNkYmxJWlFCMmxXSG1pUms5b3Btek42Y044Mm9OTEZwCm15UElubmdpSzNCRDQxVkhNV0VaNzFqRmhTOU9NUGFnTVJZanlPZmlaUll6eTc4YUc2QTkrTXBlaXpHTFlBaUpMUXdHWEZLM3hQa0sKbU5FVlg1OFN2bncyWXppOVJLUi81Q1lyQ3NTWGFRM3BqT0xBRUZlNHlIWVNrVlh5U0duWXZDb0NXdzlFMUNBeDIvUzZjQ1pka0dDZQp2RXNYQ1MrMHl4NURhTWtISjhIU1hQZnFJYmxvRXB3OG5MK2UvSUJjbTJQTjdFZXFKU2Rub0RmekFJSjlWTmVwK09rdUU2TjM2QjlLCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkNlcnRwbHVzIENsYXNzIDIgUHJpbWFyeSBDQQo9PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURrakNDQW5xZ0F3SUJBZ0lSQUlXOVMvUFkydU5wOXBUWFg4T2xSQ013RFFZSktvWklodmNOQVFFRkJRQXdQVEVMTUFrR0ExVUUKQmhNQ1JsSXhFVEFQQmdOVkJBb1RDRU5sY25Sd2JIVnpNUnN3R1FZRFZRUURFeEpEYkdGemN5QXlJRkJ5YVcxaGNua2dRMEV3SGhjTgpPVGt3TnpBM01UY3dOVEF3V2hjTk1Ua3dOekEyTWpNMU9UVTVXakE5TVFzd0NRWURWUVFHRXdKR1VqRVJNQThHQTFVRUNoTUlRMlZ5CmRIQnNkWE14R3pBWkJnTlZCQU1URWtOc1lYTnpJRElnVUhKcGJXRnllU0JEUVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVAKQURDQ0FRb0NnZ0VCQU54UWx0QVMrRFhTQ0hoNnRsSncvVy91ejdrUnkxMTM0ZXpwZmdTTjFzeHZjME5YWUt3ekNrVHNBMThjZ0NTUgo1YWlSVmhLQzkrQXI5TnV1WVM2SkVJMXJiTHF6QXIzVk5zVklOeVBpOEZvM1VqTVhFdUxSWUUyK0wwRVI0L1lYSlF5TGtjQWJtWHVaClZnMnY3dEs4UjFmamVVbDdOSWtuSklUZXNlenBXRTcrVHQ5YXZrR3RyQWpGR0E3djBsUHViTkNkRWdFVGpkeUFZdmVWcVVTSVNuRk8KWUZXZTJ5TVplVllIREQ5akMxeXc0cjUrRmZ5VU0xaEJPSFRFNFkrTDN5YXNIN1dMTzdkRFdXdXdKS1p0a0l2RWN1cGRNNWkzeTk1ZQplKytVOFJzK3lza2h3Y1dZQXFxaTlsdDNtL1YrbGxVMEhHZHB3UEZDNDBlcy9DZ2NabFVDQXdFQUFhT0JqRENCaVRBUEJnTlZIUk1FCkNEQUdBUUgvQWdFS01Bc0dBMVVkRHdRRUF3SUJCakFkQmdOVkhRNEVGZ1FVNDNNdDM4c09LQXplM2JPa3lubTRqcnZvTUlrd0VRWUoKWUlaSUFZYjRRZ0VCQkFRREFnRUdNRGNHQTFVZEh3UXdNQzR3TEtBcW9DaUdKbWgwZEhBNkx5OTNkM2N1WTJWeWRIQnNkWE11WTI5dApMME5TVEM5amJHRnpjekl1WTNKc01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQ25WTStJUkJuTDM5Ui9BTjlXTTJLMTkxRUJrT3ZEClA5R0lST2trWGUvbkZMMGd0NW84QVA1dG45dVEzTmYwWXRhTGNGM241UVJJcVdoOHlmRkM4MngveFhwOEhWR0l1dElLUGlkZDNpMVIKVHRNVFpHbmtMdVBUNTVzSm1hYmdsWnZPR3RkL3Zqek9Vck1SRmNFUEY4MER1NXdsRmJxaWRvbjhCdkVZMEpOTERueUN0NlgwOWwvKwo3VUNtbllSME9ibmNIb1VXMmlrYmhpTUF5YnVKZm02QWlCNHZGTFFESktneWJ3T2FSeXd3dmxiR3AwSUNjQnZxUU5pNkJRTndCNlNXCi8vMUlNd3JoM0tXQmtKdE4zWDNuNTdMTlhNaHFsZmlsOW8zRVhYZ0l2bnNHMWtuUEdUWlFJeTRJNXA0RlRVY1kxUmJwc2RhMkVOVzcKbDcraWpyUlUKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKRFNUIFJvb3QgQ0EgWDMKPT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURTakNDQWpLZ0F3SUJBZ0lRUksrd2dOYWpKN3FKTURtR0x2aEFhekFOQmdrcWhraUc5dzBCQVFVRkFEQS9NU1F3SWdZRFZRUUsKRXh0RWFXZHBkR0ZzSUZOcFoyNWhkSFZ5WlNCVWNuVnpkQ0JEYnk0eEZ6QVZCZ05WQkFNVERrUlRWQ0JTYjI5MElFTkJJRmd6TUI0WApEVEF3TURrek1ESXhNVEl4T1ZvWERUSXhNRGt6TURFME1ERXhOVm93UHpFa01DSUdBMVVFQ2hNYlJHbG5hWFJoYkNCVGFXZHVZWFIxCmNtVWdWSEoxYzNRZ1EyOHVNUmN3RlFZRFZRUURFdzVFVTFRZ1VtOXZkQ0JEUVNCWU16Q0NBU0l3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dFUEFEQ0NBUW9DZ2dFQkFOK3Y2WmRRQ0lOWHRNeGlaZmFRZ3V6SDB5eHJNTXBiN05uRGZjZEF3UmdVaStEb00zWkpLdU0vSVVtVApyRTRPcno1SXkyWHUvTk1oRDJYU0t0a3lqNHpsOTNld0VudTFsY0NKbzZtNjdYTXVlZ3dHTW9PaWZvb1VNTTBSb09FcU9MbDVDakg5ClVMMkFaZCszVVdPRHlPS0lZZXBMWVlIc1VtdTVvdUpMR2lpZlNLT2VETm9Kamo0WExoN2RJTjlieGlxS3F5NjljSzNGQ3hvbGtIUnkKeFh0cXF6VFdNSW4vNVdnVGUxUUx5TmF1N0ZxY2toNDlaTE9NeHQrL3lVRnc3Qlp5MVNic09GVTVROUQ4L1JoY1FQR1g2OVdhbTQwZAp1dG9sdWNiWTM4RVZBanFyMm03eFBpNzFYQWljUE5hRGFlUVFteGtxdGlsWDQrVTltNS93QWwwQ0F3RUFBYU5DTUVBd0R3WURWUjBUCkFRSC9CQVV3QXdFQi96QU9CZ05WSFE4QkFmOEVCQU1DQVFZd0hRWURWUjBPQkJZRUZNU25zYVI3TEhINjIrRkxrSFgveEJWZ2hZa1EKTUEwR0NTcUdTSWIzRFFFQkJRVUFBNElCQVFDakdpeWJGd0JjcVI3dUtHWTNPcitEeHo5THd3bWdsU0JkNDlsWlJOSStEVDY5aWt1ZwpkQi9PRUlLY2RCb2RmcGdhM2NzVFM3TWdST1NSNmN6OGZhWGJhdVgrNXYzZ1R0MjNBRHExY0Vtdjh1WHJBdkhSQW9zWnk1UTZYa2pFCkdCNVlHVjhlQWxyd0RQR3hyYW5jV1lhTGJ1bVI5WWJLK3JsbU02cFpXODdpcHhaelI4c3J6Sm13TjBqUDQxWkw5YzhQREhJeWg4YncKUkx0VGNtMUQ5U1pJbWxKbnQxaXIvbWQyY1hqYkRhSldGQk01SkRHRm9xZ0NXakJINGQxUUI3d0NDWkFBNjJSallKc1d2SWpKRXViUwpmWkdMK1QweWpXVzA2WHl4VjNicXhiWW9PYjhWWlJ6STluZVdhZ3FOZHd2WWtRc0VqZ2ZiS2JZSzdwMkNOVFVRCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkRTVCBBQ0VTIENBIFg2Cj09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlFQ1RDQ0F2R2dBd0lCQWdJUURWNlpDdGFkdDNqczJBZFdPNFlWMlRBTkJna3Foa2lHOXcwQkFRVUZBREJiTVFzd0NRWURWUVFHCkV3SlZVekVnTUI0R0ExVUVDaE1YUkdsbmFYUmhiQ0JUYVdkdVlYUjFjbVVnVkhKMWMzUXhFVEFQQmdOVkJBc1RDRVJUVkNCQlEwVlQKTVJjd0ZRWURWUVFERXc1RVUxUWdRVU5GVXlCRFFTQllOakFlRncwd016RXhNakF5TVRFNU5UaGFGdzB4TnpFeE1qQXlNVEU1TlRoYQpNRnN4Q3pBSkJnTlZCQVlUQWxWVE1TQXdIZ1lEVlFRS0V4ZEVhV2RwZEdGc0lGTnBaMjVoZEhWeVpTQlVjblZ6ZERFUk1BOEdBMVVFCkN4TUlSRk5VSUVGRFJWTXhGekFWQmdOVkJBTVREa1JUVkNCQlEwVlRJRU5CSUZnMk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0MKQVE4QU1JSUJDZ0tDQVFFQXVUMzFMTW1VM0hXS2xWMWo2SVIzZG1hNVdaRmNSdDJTUHAvNURnTzBQV0dTdlNNbXRXUHVrdEtlMWp6SQpEWkJmWklHeHFBZ05UTmo1MHdVb1VyUUJKY1dWSEF4K1BoQ0VkYy9CR1pGanoraW9rWWk1UTFLN2dMRlZpWXN4K3RDM2RyNUJQVENhCnBDSWxGM1BvSHVMVHJDcTlXemdoMVNwTDExVjk0enBWdmRkdGF3SlhhK1pIZkFqSWdycmVwNGM5b1cyNE1GYkNzd0tCWHkzMTRwb3cKR0NpNFp0UExBWlp2Nm9wRlZkYmduZjluS3hjQ3BrNGFhaEVMZnJkNzU1aldqSFp2d1R2YlVKTis1ZENPSHplNHZickduMnpwZkRQeQpNandtUi9vbkpBTEpmaDFiaUVJVGFqVjhmVFhwTG1hUmNwUFZNaWJFZFBWVG83TmRtdllKeXdJREFRQUJvNEhJTUlIRk1BOEdBMVVkCkV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdIR01COEdBMVVkRVFRWU1CYUJGSEJyYVMxdmNITkFkSEoxYzNSa2MzUXUKWTI5dE1HSUdBMVVkSUFSYk1Ga3dWd1lLWUlaSUFXVURBZ0VCQVRCSk1FY0dDQ3NHQVFVRkJ3SUJGanRvZEhSd09pOHZkM2QzTG5SeQpkWE4wWkhOMExtTnZiUzlqWlhKMGFXWnBZMkYwWlhNdmNHOXNhV041TDBGRFJWTXRhVzVrWlhndWFIUnRiREFkQmdOVkhRNEVGZ1FVCkNYSUdUaGhERCtYV3pNTnFpekY3ZUkrb2c3Z3dEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBS1BZanRheTI4NEY1ekxOQWRNRUErVjIKNUZZcm5KbVE2QWd3Yk45OVBlN2x2N1VrUUlSSjRkRW9yc1RDT2xNd2lQSDFkMjVSeXZyL21hOGtYeHVnL2ZLc2hNcmZxZkJmQkM2dApGcjhobHhDQlBlUC9oNDB5M0pUbFI0cGVhaFBKbEpVOTB1N0lOSlhRZ05TdE1naUFWRHpndlZKVDExSjhzbWsvZjNyUGFuVEsrZ1FxCm5FeGFCcVhwSUsxRlpnOXA4ZDIvNmVNeWkvcmd3WVpOY2p3dTJKTjRDaXI0Mk5JblBSbUpYMXA3aWp2TUROcFJyc2NMOXl1d053WHMKdkZjajRqalNtMmp6VmhLSVQwSjh1REhFdGR2a3lDRTA2VWdSTmU3Nng1Slh4WjgwNU1mMjl3NExUSnhvZUh0eE1jZnJIdUJuUWZPMwpvS2ZONVhvek5tcjZtaXM9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClRVUktUUlVTVCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlcyBQcm92aWRlciBSb290IDEKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRCt6Q0NBdU9nQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQ0J0ekUvTUQwR0ExVUVBd3cyVk1PY1VrdFVVbFZUVkNCRgpiR1ZyZEhKdmJtbHJJRk5sY25ScFptbHJZU0JJYVhwdFpYUWdVMkhFbjJ4aGVjU3hZOFN4YzhTeE1Rc3dDUVlEVlFRR0RBSlVVakVQCk1BMEdBMVVFQnd3R1FVNUxRVkpCTVZZd1ZBWURWUVFLREUwb1l5a2dNakF3TlNCVXc1eFNTMVJTVlZOVUlFSnBiR2RwSU1Td2JHVjAKYWNXZmFXMGdkbVVnUW1sc2FjV2ZhVzBnUjhPOGRtVnViR25FbjJrZ1NHbDZiV1YwYkdWeWFTQkJMc1dlTGpBZUZ3MHdOVEExTVRNeApNREkzTVRkYUZ3MHhOVEF6TWpJeE1ESTNNVGRhTUlHM01UOHdQUVlEVlFRREREWlV3NXhTUzFSU1ZWTlVJRVZzWld0MGNtOXVhV3NnClUyVnlkR2xtYVd0aElFaHBlbTFsZENCVFljU2ZiR0Y1eExGanhMRnp4TEV4Q3pBSkJnTlZCQVlNQWxSU01ROHdEUVlEVlFRSERBWkIKVGt0QlVrRXhWakJVQmdOVkJBb01UU2hqS1NBeU1EQTFJRlREbkZKTFZGSlZVMVFnUW1sc1oya2d4TEJzWlhScHhaOXBiU0IyWlNCQwphV3hweFo5cGJTQkh3N3gyWlc1c2FjU2ZhU0JJYVhwdFpYUnNaWEpwSUVFdXhaNHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FRRUF5bElGMW1NRDJCeGYzZEo3WGZJTVlHRmJhenQwSzNnTmZVVzlJblRvakFQQnhoRXFQWlc4cVpTd3U1R1gKeUdsOGhNVzBrV3hzRTJxa1ZhMmtoZWlWZnJNQXJ3RENCUmoxY0owMmk2N0w1QnVCZjVPSSsycFZ1MzJGa3M2NldKL2JNc1c5WGU4aQpTaTlCQjM1SlliT0c3RTZtUVc2RXZBUHM5VHNjeUIvQzdxanU2aEpLalJUUDh3cmdVRG41Q0RYNEVWbXQ1eUxxUzhvVUJ0NUN1cktaCjh5MVVpQkFHNnVFYVBqMW5IL3ZPKzN5QzZCRmRTc0c1Rk9wVTJXYWJmSWw5QkpwaXllbFNQSjZjNzlMMUp1VG01Umg4aTI3ZmJNeDQKVzA5eXNzdGNQNHdGamRGTWpLMlN4K0Y0ZjJWc1NRWlFMSjR5d3RkS3huV0tXVTUxYjBkZXdRSURBUUFCb3hBd0RqQU1CZ05WSFJNRQpCVEFEQVFIL01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQVY5VlgvTjVhQVdTR2svS0VWVENEMjFGL2FBeVQ4ejVBYTlDRUttdTQ2CnNXcnY3L2hnMFV3MlprVWQ4MllDZEFSN2tqQ28zZ3AyRCsrVmJyM0pOK1lhRGF5SlNGdk1nemJDOVVaY1dZSld0TlgrSTdUWVZCeEUKcThTbjVSVE9QRUZoZkVQbXpjU0JDWXNrKzFRbDFoYW9sZ3huQjIrelVFZmpIQ1FvM1NxWXBHSCsyK29TTjd3QkdqU0Z2VzVQNTVGeQpCMFNGSGxqS1ZFVGQ5Nnk1eTRraGN0dVB3R2twbHlxanJoZ2pseHhCS290OEtzRjhrT2lwS01EVGtjYXRLSWRBYUxYLzdLZlMwemdZCm5OTjlhVjN3eHFVZUpCdWpSL3hwQjJqbjVKcTA3UStoaDRjQ3pvZlNTRTdodlAvTDhYS1NSR1FESmVyZVcyNmZ5ZkpPck4zSAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpUVVJLVFJVU1QgQ2VydGlmaWNhdGUgU2VydmljZXMgUHJvdmlkZXIgUm9vdCAyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVQRENDQXlTZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBRENCdmpFL01EMEdBMVVFQXd3MlZNT2NVa3RVVWxWVFZDQkYKYkdWcmRISnZibWxySUZObGNuUnBabWxyWVNCSWFYcHRaWFFnVTJIRW4yeGhlY1N4WThTeGM4U3hNUXN3Q1FZRFZRUUdFd0pVVWpFUApNQTBHQTFVRUJ3d0dRVzVyWVhKaE1WMHdXd1lEVlFRS0RGUlV3NXhTUzFSU1ZWTlVJRUpwYkdkcElNU3diR1YwYWNXZmFXMGdkbVVnClFtbHNhY1dmYVcwZ1I4TzhkbVZ1YkduRW4ya2dTR2w2YldWMGJHVnlhU0JCTHNXZUxpQW9ZeWtnUzJGenhMRnRJREl3TURVd0hoY04KTURVeE1UQTNNVEF3TnpVM1doY05NVFV3T1RFMk1UQXdOelUzV2pDQnZqRS9NRDBHQTFVRUF3dzJWTU9jVWt0VVVsVlRWQ0JGYkdWcgpkSEp2Ym1scklGTmxjblJwWm1scllTQklhWHB0WlhRZ1UySEVuMnhoZWNTeFk4U3hjOFN4TVFzd0NRWURWUVFHRXdKVVVqRVBNQTBHCkExVUVCd3dHUVc1cllYSmhNVjB3V3dZRFZRUUtERlJVdzV4U1MxUlNWVk5VSUVKcGJHZHBJTVN3YkdWMGFjV2ZhVzBnZG1VZ1FtbHMKYWNXZmFXMGdSOE84ZG1WdWJHbkVuMmtnU0dsNmJXVjBiR1Z5YVNCQkxzV2VMaUFvWXlrZ1MyRnp4TEZ0SURJd01EVXdnZ0VpTUEwRwpDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQ3BObjdEa1VOTXd4bVlDTWpIV0h0UEZveWx6a2tCSDNNT3JIVVRwdnFlCkxDRGUySkFPQ3RGcDBpZjdxbmVmSjFJbDRzdGQyTmlEVUJkOWlyV0NQd1NPdE5Yd1NhZGt0eDR1WHlDY1VIVlByK0cxUVJUMG1KS0kKeCtYbFpFZGhSM245d0ZIeHdabm4zTTVxKzYrMUFURGNSaHp2aXV5Vjc5ei9yeEFjNjUzWXNLcHFoUmdORjhrK3YvR2IwQW1KUXYyZwpRclNkaVZGVktjOGJjTHlFVkszQkV4K1k5QzUyWUl0ZFA1cXR5Z3kvcDFaYmozZTQxWjU1U1pJLzRQR1hKSHBzbXhjUGJlOVRtSkVyCjVBKytXWGtIZUx1WGxmU2ZhZFJZaHdxcDQ4eTJXQm1mSmlHeHhGbU5za0Yxd0sxcHpwd0FDUEkyL3o3d29ROGFyQlQ5cG1BUEFnTUIKQUFHalF6QkJNQjBHQTFVZERnUVdCQlRaTjdOT0JmM1p6NThTRnE2MmlTL3JKVHFJSERBUEJnTlZIUThCQWY4RUJRTURCd1lBTUE4RwpBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFISmdscmZKM05ncFhpT0ZYN0t6TFhiN2lOY1gvbnR0ClJiajJoV3lmSXZ3cUVDTHNxcmt3OXF0WTFqa1FNWmtwQUwySlprSDdkTjZSd1JnTG43Vmh5NTA2dnZXb2xLTWlWVzRYU2YvU0tmRTQKSmwzdnBhbzYrWEY3NXRwWUhkTjB3Z0g2UG1sWVg2M0xhTDRVTHB0c3dMYmNvQ2I2ZHhyaUpOb2FOK0JucmRGemd3MmxHaDF1RXBKKwpoR0lBRjcyOEpSaFg4dGVwYjFtSXZEUzNMb1Y0blpiY0ZNTXNpbEtibG94U1pqMkdGb3RIdUZFSmpPcDl6WWh5czJBenNmQUtSTzhQCjlRazNpQ1FPTEdzZ09xTDZFZkpBTlp4RWFHTTdyRE52WTd3c3UvTFN5M1o5ZllqWUhjZ0ZIVzY4bEtsbWpIZHh4L3FSK2k5Um51azUKVXJibkJFST0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKU3dpc3NTaWduIEdvbGQgQ0EgLSBHMgo9PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGdWpDQ0E2S2dBd0lCQWdJSkFMdEFIRVAxWGsrd01BMEdDU3FHU0liM0RRRUJCUVVBTUVVeEN6QUpCZ05WQkFZVEFrTklNUlV3CkV3WURWUVFLRXd4VGQybHpjMU5wWjI0Z1FVY3hIekFkQmdOVkJBTVRGbE4zYVhOelUybG5iaUJIYjJ4a0lFTkJJQzBnUnpJd0hoY04KTURZeE1ESTFNRGd6TURNMVdoY05Nell4TURJMU1EZ3pNRE0xV2pCRk1Rc3dDUVlEVlFRR0V3SkRTREVWTUJNR0ExVUVDaE1NVTNkcApjM05UYVdkdUlFRkhNUjh3SFFZRFZRUURFeFpUZDJsemMxTnBaMjRnUjI5c1pDQkRRU0F0SUVjeU1JSUNJakFOQmdrcWhraUc5dzBCCkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXIrVHVmb3NrRGhKdXFWQXRGa1E3a3BKY3lyaGRoSkpDRXlxOFpWZUNRRDVYSk0xUWl5VXEKdDIvODc2TFF3QjhDSkVvVGxvOGpFK1lvV0FDalI4Y0dwNFFqSzd1OWxpdC9WY3lMd1ZjZkRtSmxEOTA5Vm9wejJxNStiYnFCSEg1QwpqQ0ExMlVOTmhQcUUyMUlzOHc0bmR3dHJ2eEV2Y25pZkx0Zys1aGczV2lweStkcGlrSktWeWgrYzZiTThLOHZ6QVJPL1dzL0J0UXBnCnZkMjFtV1JUdUtDV3MyL2lKbmVSak9CaUVBS2ZOQStrMVpJelVkNitqYnFFZW1BOGF0dWZLK3plM2dFL2JrM2xVSWJMdEsvdFJFREYKeWxxTTJ0SXJmS2p1dnFibENxb09wZDhGVXJkVnh5SmRNbXFYbDJNVDI4bmJlVFo3aFRwS3hWS0orU1RublhlcGd2OVZIS1Z4YVN2UgpBaVR5c3liVWE5b0VWZVhCQ3NkdE1EZVFLdVNlRkROZUZoZFZ4VnUxeXpTSmt2R2RKbytoQjlUR3NuaFEyd3dNQzN3TGpFSFh1ZW5kCmpJajNvMDJ5TXN6WUY5ck50ODVtbmRUOVh2KzlsejRwZGVkK3AySllyeVUwcFVISFBid05VTW9EQXc4SVdoK1ZjM2hpdjY5eUZHa08KcGVVRERuaU9KaWhDOEFjTFlpQVFaemxHK3FrRHpBUTRlbWJ2SUlPMWpFcFdqcEVBL0k1Y2d0NklvTVBpYUc1OWplODgzV1gwWGF4Ugo3eVNBcnFwV2wyLzVyWDNhWVQrWWR6eWxrYlljakNiYVphSUpiY0hpVk9PNXlreE1nSTkzZTJDYUh0KzI4a2dlRHJwT1ZHMlk0T0dpCkdxSjNVTS9FWTVMc1J4bWQ2K1pyenNFQ0F3RUFBYU9CckRDQnFUQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0R3WURWUjBUQVFIL0JBVXcKQXdFQi96QWRCZ05WSFE0RUZnUVVXeVY3bHFSbFVYNjRPZlBBZUdaZTZEcm44TzR3SHdZRFZSMGpCQmd3Rm9BVVd5VjdscVJsVVg2NApPZlBBZUdaZTZEcm44TzR3UmdZRFZSMGdCRDh3UFRBN0JnbGdoWFFCV1FFQ0FRRXdMakFzQmdnckJnRUZCUWNDQVJZZ2FIUjBjRG92CkwzSmxjRzl6YVhSdmNua3VjM2RwYzNOemFXZHVMbU52YlM4d0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dJQkFDZTY0NVI4OGE3QTNoZm0KNWRqVjlWU3dnL1M3elY0RmUwK2ZkV2F2UE9oV2Z2eHllRGdEMlN0aUd3QzUrT2xnemN6T1VZckhVREZ1NFVwK0dDOXBXYlk5WklFcgo0NE9FNWlLSGpuM2c3Z0taWWJnZTlMZ3JpQklXaE1JeGt6aVdNYWE1TzFNL3d5U1RWbHRwa3V6RndiczRBT1BzRjZtNDNNZDhBWU9mCk1rZTZVaUkwSFRKNkNWYW5mQ1UycVQxTDJzQ0Nid3E3RXNpSFN5Y1IrUjR0eDVNL250dGZKbXRTMlM2SzhSVEdSSTBWcWJlL3ZkNm0KR3U2dUxmdElkeGYrdSt5dkdQVXFVZkE1aEplVmJHNGJ3eXZFZEdCNUpiQUtKOS9mWHRJNXowVjlRa3Zmc3l3ZXhjWmR5bFU2b0p4cAptby9hNzdLd1BKK0hiQklyWlhBVlVqRWFKTTl2TVNOUUg0eFBqeVBEZEVGakhGV29GTjArNEZGUXovRWJNRllPa3JDQ2hkaUR5eUprCnZDMjRKZFZVb3JnRzZxMlNwQ1Nnd1lhMVNoTnFSODh1QzFhVlZNdk9tdHRxdEtheTIwRUloaWQzOTJxZ1Ftd0xPTTdYZFZBeWtzTGYKS3pBaVNORFZRVGdsWGFUcFhaL0dsSFhRUmYwd2wwT1BrS3NLeDRaellFcHBMZDZsZU5jRzJtcWVTejUzT2lBVElnSFF2MmllWTJCcgpOVTBMYmJxaFBjQ1Q0SDhqczFXdGNpVk9Sdm5TRnUrd1pNRUJudW5Lb0dxWURzL1lZUEl2U2Jqa1F1RTROUmIweUc1UDk0Rlc2THFqCnZpT3ZydjF2QStBQ096QjIraHR0UWM4QnNlbTR5V2IwMnliek9xUjA4a2trVzhtdzBGZkIrajU2NFpmSgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpTd2lzc1NpZ24gU2lsdmVyIENBIC0gRzIKPT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGdlRDQ0E2V2dBd0lCQWdJSVR4dlVMMVM3TDBzd0RRWUpLb1pJaHZjTkFRRUZCUUF3UnpFTE1Ba0dBMVVFQmhNQ1EwZ3hGVEFUCkJnTlZCQW9UREZOM2FYTnpVMmxuYmlCQlJ6RWhNQjhHQTFVRUF4TVlVM2RwYzNOVGFXZHVJRk5wYkhabGNpQkRRU0F0SUVjeU1CNFgKRFRBMk1UQXlOVEE0TXpJME5sb1hEVE0yTVRBeU5UQTRNekkwTmxvd1J6RUxNQWtHQTFVRUJoTUNRMGd4RlRBVEJnTlZCQW9UREZOMwphWE56VTJsbmJpQkJSekVoTUI4R0ExVUVBeE1ZVTNkcGMzTlRhV2R1SUZOcGJIWmxjaUJEUVNBdElFY3lNSUlDSWpBTkJna3Foa2lHCjl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUF4UEdIZjlONE1mYzR5ZmpEbVVPOHgvZThOK2RPY2JwTGo2VnpIVnh1bUs0RFY2NDQKTjBNdkZ6MGZ5TTVvRU1GNHJoa0RLeEQ2TEhtRDl1aTVhTGxWOGdSRXB6bjUvQVNMSHZHaVRTZjVZWHU2dCtXaUU3YnJZVDdRYk5IbQorL3BlN1IyMG5xQTFXNkdTeS9CSmt2NkZDZ1UrNXRrTDRrKzczSlUzL0pIcE1qVWkwUjg2VGllRm5iQVZsRExhWVExSFRXQkNycEpICjZJTmFVRmpwaW91NVhhSGMzWmxLSHpabnUwamtnN1kzNjBnNnJ3OW5qeGNINkFUSzcyb3hoOVRBdHZtVWNYdG5aTGkya1VwQ2UyVXUKTUdvTTlaRHVsZWJ5ellMczJhRks3UGF5UytWRmhlWnRlSk1FTHB5Q2JUYXB4REZrSDRhREN5cjBOUXA0eVZYUFFiQkg2VENmbWI1aApxQWFFdVNoNlh6alpHNms0c0lOL2M4SERPMGdxZ2c4aG03ak1xRFhEaEJ1RHN6NitwSlZwQVRxSkFIZ0UyY24wbVJtclZuNWJpNFk1CkZaR2tFQ3dKTW9CZ3M1UEFLcllZQzUxK2pVbnlFRXAvK2RWR0x4bVNvNW1uSnF5N2pEem1EcnhIQjl4elVmRndaQzhJK2JSSEhUQnMKUk9vcE40V1NhR2E4Z3pqK2V6a3UwMUR3SC90ZVlMYXBwdm9uUWZHYkdITHk5WVIwU3NsbnhGU3VTR1Rmak5GdXNCM2hCNDhJSHBtYwpjZWxNMktYM1J4SWZkTkZSbm9iendxSWpRQXR6MjB1bTUzTUdqTUdnNmNGWnJFYjY1aS80ejNHY1JtMjV4QldOT0hrRFJVanZ4RjNYCkNPNkhPU0tHc2cwUFdFUDNjYWxJTHYzcTFoOENBd0VBQWFPQnJEQ0JxVEFPQmdOVkhROEJBZjhFQkFNQ0FRWXdEd1lEVlIwVEFRSC8KQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVRjZETndlUkJ0anBiTzh0Rm5iMGN3cGo2aGxnd0h3WURWUjBqQkJnd0ZvQVVGNkROd2VSQgp0anBiTzh0Rm5iMGN3cGo2aGxnd1JnWURWUjBnQkQ4d1BUQTdCZ2xnaFhRQldRRURBUUV3TGpBc0JnZ3JCZ0VGQlFjQ0FSWWdhSFIwCmNEb3ZMM0psY0c5emFYUnZjbmt1YzNkcGMzTnphV2R1TG1OdmJTOHdEUVlKS29aSWh2Y05BUUVGQlFBRGdnSUJBSFBHZ2VBbjBpMFAKNEpVdzRwcEJmMUFzWDE5aVlhbUdhbWtZREhSSjFsMkU2a0ZTR0c5WXJWQldJR3JHdlNocFdKSGNrUkUxcVRvZHZCcWxZSjdZSDM5RgprV25aZnJ0NGNzRUdEeXJPajRWd1lheWd6UXU0T1NsV2hESk9ocnM5eENyWjF4OXk3djVSb1NKQnNYRUNZeHFDc0dLclhsY1NIOS9MCjNYV2d3RjE1a0l3YjRGRG0zakgrbUh0d1g2V1EySzM0QXJadjAyRGRRRXNpeFQydE9ucWZHaHBIa1hrenVvTGNNbWtEbG00ZlMvQngKL3VObmNxQ3h2MXlMNVBxWklzZUV1UnVOSTVjLzdTWGd6Mlc3OVdFRTc5MGVzbHBCSWxxaG4xMHM2RnZKYmFrTURIaXFZTVpXandGYQpER2k4YVJsNXhCOStsd1cveGVra1VWN1UxVXRUN2RraldqWURaYVBCQTYxQk1QTkdHNFdRcjJXMTFiSGtGbHQ0ZFIyWGVtMVpxU3FQCmU5N0RoNGtRbVVsemVNZzl2VkUxZENyVjhYNXBHeXE3TzcwbHVKcGFQWEpoa0dhSDdneldUZFFSZEF0cS9nc0QvS05WVjRuK1NzdXUKV3hjRnlQS05JekZUT05JdGFqK0N1WTBJYXZkZVFYUnV3eEYrQjZ3cFlKRS9PTXBYRUEyOU1DL0hwZVpCb05xdUJZZWFvS1JsYkV3SgpESW02dU5PNXdKT0tNUHFONVpwckZRRk9aNnJhWWxZK2hBaG0wc1EyZmFjK0VQeUk0TlNBNVFDOXF2Tk9CcU42YXZsaWN1TUpUK3ViCkRnRWo4Wis3Zk56Y2JCR1hKYkx5dEdNVTBnWXFaNHlEOWM3cUI5aWFhaDdzNUFxN0trenJDV0E1enNwaTJDNXUKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEZkRDQ0FtU2dBd0lCQWdJUUdLeTFhdjFwdGhVNlkyeXYydnJFb1RBTkJna3Foa2lHOXcwQkFRVUZBREJZTVFzd0NRWURWUVFHCkV3SlZVekVXTUJRR0ExVUVDaE1OUjJWdlZISjFjM1FnU1c1akxqRXhNQzhHQTFVRUF4TW9SMlZ2VkhKMWMzUWdVSEpwYldGeWVTQkQKWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVUQWVGdzB3TmpFeE1qY3dNREF3TURCYUZ3MHpOakEzTVRZeU16VTVOVGxhTUZneApDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxSFpXOVVjblZ6ZENCSmJtTXVNVEV3THdZRFZRUURFeWhIWlc5VWNuVnpkQ0JRCmNtbHRZWEo1SUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUF2cmdWZS8vVWZIMW5yWU5rZThoQ1V5M2Y5b1FJSUdIV0FWbHFuRVFScis5Mi9aVit6bUV3dTNxRFh3SzlBV2JLN2hXTgpiNkV3bkwyaGhaNlVPdk5XaUFBeHo5anVhcFlDMmUwRGpQdDFiZWZxdUZVV0JSYWE5T0Jlc1lqQVpJVmNGVTJJeDdlNjRIWHByUVU5Cm5jZUpTT0M3S01nRDRUQ1RaRjVTd0Zsd0lqVlhpSXJ4bFFxRDE3d3hjd0UwN2U5R2NlQnJBcWcxY211WG0yYmd5eHg1WDlnYUJHZ2UKUndMbW5XRGlOcGNCMzg0MWt0KytaOGR0ZDFrN2o1M1drQldVdkVJMEVNRTUrYkVuUG43V2luWEZzcStXMDZMZW0rU1l2bjNoNllHdAp0bS84MXc3YTREU3dEUnAzNStNSW1POVkrcHlFdHphdnd0K3MwdlFRQm5CeE5RSURBUUFCbzBJd1FEQVBCZ05WSFJNQkFmOEVCVEFECkFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQkJqQWRCZ05WSFE0RUZnUVVMTlZRUVpjVmkvQ1BObUZiU3Z0cjJabkpNNUl3RFFZSktvWkkKaHZjTkFRRUZCUUFEZ2dFQkFGcHdmeXpkdHpSUDlZWlJxU2ErUzdpcThYRU4zR0hIb09vMEhucDNEd1ExNkNlUGJKQy9rUllrUmo1SwpUczRyRnRVTFVoMzhIMmVpQWtVeFQ4N3orZ09uZVoxVGF0bmFZenI0Z05mVG1lR2w0YjdVVlhHWU5UcStrK3F1clVLeWtHL2cvQ0ZOCk5XTXppVW5XbTA3S3grZE9DUUQzMnNmdm1XS1pkN2FWSWw2S29LdjB1SGlZeWpnWm1jbHlubmpOUzZ5dkdhQnpFaTM4d2tHNmdaSGEKRmxveHQvbTBjWUFTU0pseWMxcFpVOEZqVWpQdHA4blNPUUp3K3VDeFFtWXBxcHRSN1RCVUloUmYyYXNkd2VTVThQajFLL2ZxeW5oRwoxcmlSL2FZTkt4b1VBVDZBOEVLZ2xRZGViYzNNUzZSRmphc1M2TFBlV3VXZ2ZPZ1BJaDFhNlZrPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgp0aGF3dGUgUHJpbWFyeSBSb290IENBCj09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVJRENDQXdpZ0F3SUJBZ0lRTkU3VlZ5RFY3ZXhKOUMvT045c3JiVEFOQmdrcWhraUc5dzBCQVFVRkFEQ0JxVEVMTUFrR0ExVUUKQmhNQ1ZWTXhGVEFUQmdOVkJBb1RESFJvWVhkMFpTd2dTVzVqTGpFb01DWUdBMVVFQ3hNZlEyVnlkR2xtYVdOaGRHbHZiaUJUWlhKMgphV05sY3lCRWFYWnBjMmx2YmpFNE1EWUdBMVVFQ3hNdktHTXBJREl3TURZZ2RHaGhkM1JsTENCSmJtTXVJQzBnUm05eUlHRjFkR2h2CmNtbDZaV1FnZFhObElHOXViSGt4SHpBZEJnTlZCQU1URm5Sb1lYZDBaU0JRY21sdFlYSjVJRkp2YjNRZ1EwRXdIaGNOTURZeE1URTMKTURBd01EQXdXaGNOTXpZd056RTJNak0xT1RVNVdqQ0JxVEVMTUFrR0ExVUVCaE1DVlZNeEZUQVRCZ05WQkFvVERIUm9ZWGQwWlN3ZwpTVzVqTGpFb01DWUdBMVVFQ3hNZlEyVnlkR2xtYVdOaGRHbHZiaUJUWlhKMmFXTmxjeUJFYVhacGMybHZiakU0TURZR0ExVUVDeE12CktHTXBJREl3TURZZ2RHaGhkM1JsTENCSmJtTXVJQzBnUm05eUlHRjFkR2h2Y21sNlpXUWdkWE5sSUc5dWJIa3hIekFkQmdOVkJBTVQKRm5Sb1lYZDBaU0JRY21sdFlYSjVJRkp2YjNRZ1EwRXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDcwpvUEQ3Z0ZuVW5NZWt6NTJoV1hNSkVFVU1EU3h1YVBGc1cwaG9TVmszL0FzekdjSjNmOHdRTFpVMEhPYnJUUW1uSE5LNHlaYzJBcmVKCjFDUmZCc0RNUkpTVWpRSmliK3RhM1JHTktKcGNoSkFRZWcyOWRHWXZhamlnNHRWVVJPc2RCNThIdW0vdTZmMU9DeW4xUG9TZ0FmR2MKcS9nY2ZvbWs2S0hZY1dVTm8xRjc3cnpTSW1BTnVWdWQzN3I4VVZzTHI1aXk2UzdwQk9oaWg5NHJ5TmRPd1V4a0h0M1BoMWk2U2svSwphQWNkSEoxS3h0VXZrY3g4Y1hJY3hjQm42ekw5eVpKY2xOcUZ3SnUvVTMwckNmU01uWkVmbDJwU3k5NEpOcVIzMkh1SFVFVFZQbTRwCmFmczVTU1llQ2FXQWUwQXQ2K2duaGNuK1lmMSs1bnlYSGRXZEFnTUJBQUdqUWpCQU1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RnWUQKVlIwUEFRSC9CQVFEQWdFR01CMEdBMVVkRGdRV0JCUjdXMFhQcjg3TGV2MHhraHBxdHZORzYxZElVREFOQmdrcWhraUc5dzBCQVFVRgpBQU9DQVFFQWVSSEFTN09SdHZ6dzZXZlVEVzVGdmxYb2s5TE9Bei90MmlXd0hWZkxIanAyb0V6c1VIYm9aSElNcEtueHVJdlcxb2VFCnV6TGxRUkhBZDltellKM3JHOVhSYmtSRXFhWUI3RlZpSFhlNFhJNUlTWHljTzFjUnJLMXpONDR2ZUZ5UWFFZlpZR0RtL0FjOUlpQVgKeFBjVzZjVFljdm5JYzN6ZkZpOFZxVDc5YWllMm9ldGF1cGdmMWVOTlpBcWRFOGhodXZVNUhJZTZ1TDE3SW4vMi9xeEFlZVdzRUc4OQpqeHQ1ZG92RU43TWhHSVRsTmdEcll5Q1p1ZW4rTXdTN1FjakJBdmxFWXlDZWdjNUMwOVkvTEhiVFk1eFozWSttNFE2Z0xrSDNMcFZICno3ejlNL1AyQzJGK2ZwRXJnVWZDSnpEdXB4QmRONDljT1N2a0JQQjdqVmFNYUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlFMHpDQ0E3dWdBd0lCQWdJUUdOclJuaVo5Nkx0S0lWak56R3M3U2pBTkJna3Foa2lHOXcwQkFRVUZBRENCeWpFTE1Ba0dBMVVFCkJoTUNWVk14RnpBVkJnTlZCQW9URGxabGNtbFRhV2R1TENCSmJtTXVNUjh3SFFZRFZRUUxFeFpXWlhKcFUybG5iaUJVY25WemRDQk8KWlhSM2IzSnJNVG93T0FZRFZRUUxFekVvWXlrZ01qQXdOaUJXWlhKcFUybG5iaXdnU1c1akxpQXRJRVp2Y2lCaGRYUm9iM0pwZW1WawpJSFZ6WlNCdmJteDVNVVV3UXdZRFZRUURFenhXWlhKcFUybG5iaUJEYkdGemN5QXpJRkIxWW14cFl5QlFjbWx0WVhKNUlFTmxjblJwClptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNUlDMGdSelV3SGhjTk1EWXhNVEE0TURBd01EQXdXaGNOTXpZd056RTJNak0xT1RVNVdqQ0IKeWpFTE1Ba0dBMVVFQmhNQ1ZWTXhGekFWQmdOVkJBb1REbFpsY21sVGFXZHVMQ0JKYm1NdU1SOHdIUVlEVlFRTEV4WldaWEpwVTJsbgpiaUJVY25WemRDQk9aWFIzYjNKck1Ub3dPQVlEVlFRTEV6RW9ZeWtnTWpBd05pQldaWEpwVTJsbmJpd2dTVzVqTGlBdElFWnZjaUJoCmRYUm9iM0pwZW1Wa0lIVnpaU0J2Ym14NU1VVXdRd1lEVlFRREV6eFdaWEpwVTJsbmJpQkRiR0Z6Y3lBeklGQjFZbXhwWXlCUWNtbHQKWVhKNUlFTmxjblJwWm1sallYUnBiMjRnUVhWMGFHOXlhWFI1SUMwZ1J6VXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBdwpnZ0VLQW9JQkFRQ3ZKQWdJS1hvMW5tQU1xdWRMTzA3Y2ZMdzhSUnk3SytEK0tRTDVWd2lqWklVVkovWHhyY2d4aVYwaTZDcXFwa0t6CmovaTVWYmV4dDB1ei9vOStCMWZzNzBQYlptSVZZYzlnRGFUWTN2amd3MklJUFZRVDYwbktXVlNGSnVVcmp4dWY2L1doa2NJelNkaEQKWTJwU1M5S1A2SEJSVGRHSmFYdkhjUGF6M0JKMDIzdGRTMWJUbHI4VmQ2R3c5S0lsOHE4Y2ttY1k1ZlFHQk8rUXVlUUE1TjA2dFJuLwpBcnIwUE83Z2krczNpK3owMTZ6eTl2QTlyOTExa1RNWkhSeEF5M1FrR1NHVDJSVCtyQ3BTeDQvVkJFbmtqV05IaUR4cGc4ditSNzByCmZrL0ZsYTRPbmRUUlE4Qm5jK01VQ0g3bFA1OXp1RE1LejEwL05JZVdpdTVUNkNVVkFnTUJBQUdqZ2JJd2dhOHdEd1lEVlIwVEFRSC8KQkFVd0F3RUIvekFPQmdOVkhROEJBZjhFQkFNQ0FRWXdiUVlJS3dZQkJRVUhBUXdFWVRCZm9WMmdXekJaTUZjd1ZSWUphVzFoWjJVdgpaMmxtTUNFd0h6QUhCZ1VyRGdNQ0dnUVVqK1hUR29hc2pZNXJ3OCtBYXRSSUdDeDdHUzR3SlJZamFIUjBjRG92TDJ4dloyOHVkbVZ5CmFYTnBaMjR1WTI5dEwzWnpiRzluYnk1bmFXWXdIUVlEVlIwT0JCWUVGSC9UWmFmQzNleTc4REFKODBNNStnS3ZNekV6TUEwR0NTcUcKU0liM0RRRUJCUVVBQTRJQkFRQ1RKRW93WDJMUDJCcVlMejNxM0prdHZYZjJwWGtpT096RXA2QjRFcTFpRGtWd1pNWG5sMll0bUFsKwpYNi9XekNobDhnR3FDQnBIM3ZuNWZKSmFDR2tnRGRrK2JXNDhEVzdZNWdhUlFCaTUrTUh0Mzl0QnF1Q1dJTW5OWkJVNGdjbVU3cUtFCktRc1RiNDdiRE4wbEF0dWtpeGxFMGtGNkJXbEtXRTlneW42Q2Fnc0NxaVVYT2JYYmYrZUVaU3FWaXIyRzNsNkJGb010RU16ZS9haUMKS20wb0h3MEx4T1huR2lZWjRmUVJieEMxbGZ6blFnVXkyODZkVVY0b3RwNkYwMXZ2cFgxRlFIS090dzVyRGdiN016VkljYmlkSjR2RQpaVjhOaG5hY1JIcjJsVnoyWFRJSU02UlV0aGcvYUZ6eVFrcUZPRlNEWDlIb0xQS3NFZGFvN1dOcQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpTZWN1cmVUcnVzdCBDQQo9PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRHVEQ0NBcUNnQXdJQkFnSVFEUENPWEFnV3BhMUNmL0RySnhoWjBEQU5CZ2txaGtpRzl3MEJBUVVGQURCSU1Rc3dDUVlEVlFRRwpFd0pWVXpFZ01CNEdBMVVFQ2hNWFUyVmpkWEpsVkhKMWMzUWdRMjl5Y0c5eVlYUnBiMjR4RnpBVkJnTlZCQU1URGxObFkzVnlaVlJ5CmRYTjBJRU5CTUI0WERUQTJNVEV3TnpFNU16RXhPRm9YRFRJNU1USXpNVEU1TkRBMU5Wb3dTREVMTUFrR0ExVUVCaE1DVlZNeElEQWUKQmdOVkJBb1RGMU5sWTNWeVpWUnlkWE4wSUVOdmNuQnZjbUYwYVc5dU1SY3dGUVlEVlFRREV3NVRaV04xY21WVWNuVnpkQ0JEUVRDQwpBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUt1a2dlV1Z6ZlgyRkk3Q1Q4clU0bmlWV0p4QjRRMlpRQ1FYCk9aRXpadW0rNFlPdllseUowZndrVzJHejRCRVJRUndkYnZDNHUvamVwNEc2cGtqR254Mjl2bzZwUVQ2NGxPMHBHdFNPMGdNZEErOXQKRFdjY1Y5Y0dyY3JJOWY0T3IyWWxTQVNXQzEyanVoYkRDRS9SUnZnVVhQTElYZ0daYmYySXpJYW93Vzh4UW14U1Btakw4eGswMzd1SApHRmFBSnNUUTNNQnYzOTZnd3BFV29HUVJTMFM4SHZibittUGVacXgycEhHajdEYVVhSHAzcExIbkRpK0JldUsxY29idm9tdUw4QS9iCjAxay91bks4UkNTYzQzT3o5NjlYTDBJbW5hbDB1Z0JTOGt2TlUzeEhDemFGRG1hcENKY1dORmZCWnZlQTQrMXdWTWVUNEM0b0ZWbUgKdXJzQ0F3RUFBYU9CblRDQm1qQVRCZ2tyQmdFRUFZSTNGQUlFQmg0RUFFTUFRVEFMQmdOVkhROEVCQU1DQVlZd0R3WURWUjBUQVFILwpCQVV3QXdFQi96QWRCZ05WSFE0RUZnUVVRaksyRnZvRS9mNWRTM3JEL2ZkTVFCMWFRNjh3TkFZRFZSMGZCQzB3S3pBcG9DZWdKWVlqCmFIUjBjRG92TDJOeWJDNXpaV04xY21WMGNuVnpkQzVqYjIwdlUxUkRRUzVqY213d0VBWUpLd1lCQkFHQ054VUJCQU1DQVFBd0RRWUoKS29aSWh2Y05BUUVGQlFBRGdnRUJBRER0VDByaFdEcFNjbHUxcHFObEdLYTdVVHQzNlozcTA1OWM0RVZsZXczS1crSndVTEtVQlJTdQpTY2VOUVFjU2M1UitEQ01oL2J3UWYyQVFXbkwxbUE2czdMbC8zWHB2WGRNYzlQK0lCV2xDcVFWeHlMZXNKdWd1dEl4cS8zSGN1TEhmCm1ieDhJVlFyNUZpaXUxY3BycDZwb3hrbUQ1a3VDTER2L1duUG1Sb0pqZU9ubnl2Sk5qUjdKTE40VEpVWHBBWW1IclprVWpaZllHZloKbk1VRmRBdm5aeVBTQ1B5STZhNkxmK0V3OURkKy9jWXkyaTJlUkRBd2JPNEgzdEkwL05ML1FQWkw5R1pHQmxTbThqSUtZeVl3YTV2UgozSXRIdXVHNTFXTFFvcUQwWndWNEtXTWFid1RXK01aTW81cXhON1NONVNoTEhaNHN3cmhvdk8wQzdqRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKU2VjdXJlIEdsb2JhbCBDQQo9PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEdkRDQ0FxU2dBd0lCQWdJUUIxWWlwT2pVaW9sTjlCUEk4UGpxcFRBTkJna3Foa2lHOXcwQkFRVUZBREJLTVFzd0NRWURWUVFHCkV3SlZVekVnTUI0R0ExVUVDaE1YVTJWamRYSmxWSEoxYzNRZ1EyOXljRzl5WVhScGIyNHhHVEFYQmdOVkJBTVRFRk5sWTNWeVpTQkgKYkc5aVlXd2dRMEV3SGhjTk1EWXhNVEEzTVRrME1qSTRXaGNOTWpreE1qTXhNVGsxTWpBMldqQktNUXN3Q1FZRFZRUUdFd0pWVXpFZwpNQjRHQTFVRUNoTVhVMlZqZFhKbFZISjFjM1FnUTI5eWNHOXlZWFJwYjI0eEdUQVhCZ05WQkFNVEVGTmxZM1Z5WlNCSGJHOWlZV3dnClEwRXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDdk5TN1lyR3hWYVFaeDVSTm9KTE5QMk13aFIvangKWURpSmlRUHB2ZXBlUmxNSjNGejFXdWozUlNvQzZ6RmgxeWt6VE03SGZBbzNmZys2TXBqaEhaZXZqOGZjeVRpVzg5c2EvRkh0YU1iUQpicVI4Sk5HdVFzaVdVR011NFA1MS9waW5YMGt1bGVNNU0yU09IcVJma05KblBMTFova0c1VmFjSmpuSUZIb3ZkUklXQ1F0Qkp3QjFnCjhORVhMSlhyOXFYQmtxUEZ3cWNJWUExZ0JCQ1dlWjRXTk9hcHR2b2xSVG5JSG1YNWsvV3E4VkxjbVpnOXBZWWFERFV6K2t1bEJBWVYKSERHQTc2b1lhOEo3MTlyTytUTWcxZlc5YWpNdGdRVDdzRnpVbktQaVhCM2pxVUoxWG52VWQrODVWTHJKQ2hnYkVwbEpMNGhML1ZCaQowWFBuajNwREFnTUJBQUdqZ1owd2dab3dFd1lKS3dZQkJBR0NOeFFDQkFZZUJBQkRBRUV3Q3dZRFZSMFBCQVFEQWdHR01BOEdBMVVkCkV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGSzlFQk1KQmZraUQyMDQ1QXV6c2hIcm16c21rTURRR0ExVWRId1F0TUNzd0thQW4Kb0NXR0kyaDBkSEE2THk5amNtd3VjMlZqZFhKbGRISjFjM1F1WTI5dEwxTkhRMEV1WTNKc01CQUdDU3NHQVFRQmdqY1ZBUVFEQWdFQQpNQTBHQ1NxR1NJYjNEUUVCQlFVQUE0SUJBUUJqR2doQWZhUmVVdzEzMkhxdUh3MExVUllEN3hoOHlPT3ZhbGlURkdDUnNvVGNpRTYrCk9ZbzY4K2FDaVYwQk43T3JKS1FWRHBJMVdrcEVYazVYK25YT0gwak9adlE4UUNhU21Hd2I3aVJHREJlelVxWGJwWkdSenpmVGIrY24KQ0RwT0dSODZwMWhjRjg5NVA0dmtwOU1tSTUwbUQxaHAvRWQrc3RDTmk1Ty9LVTlEYVhSMlowdlBCNHptQXZlMTRiUkR0VXN0RkovNQozQ1lOdjZaSGRBYllpTkU2S1RDRXp0STVnR0licU1kWFNieHFWVkZuRlVxK05RZmsxWFdZTjNrd0ZOc3BuV3pGYWN4SFZhSXc5OHhjCmY4TERtQnhyVGhhQTYzcDRaVVdpQUJxdkRBMVZaRFJJdUpLNThiUlFLZkpQSXgvYWJLd2ZST0hkSTNoUlc4Y1cKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRUhUQ0NBd1dnQXdJQkFnSVFUb0V0aW9KbDRBc0M3ajQxQWtibFBUQU5CZ2txaGtpRzl3MEJBUVVGQURDQmdURUxNQWtHQTFVRQpCaE1DUjBJeEd6QVpCZ05WQkFnVEVrZHlaV0YwWlhJZ1RXRnVZMmhsYzNSbGNqRVFNQTRHQTFVRUJ4TUhVMkZzWm05eVpERWFNQmdHCkExVUVDaE1SUTA5TlQwUlBJRU5CSUV4cGJXbDBaV1F4SnpBbEJnTlZCQU1USGtOUFRVOUVUeUJEWlhKMGFXWnBZMkYwYVc5dUlFRjEKZEdodmNtbDBlVEFlRncwd05qRXlNREV3TURBd01EQmFGdzB5T1RFeU16RXlNelU1TlRsYU1JR0JNUXN3Q1FZRFZRUUdFd0pIUWpFYgpNQmtHQTFVRUNCTVNSM0psWVhSbGNpQk5ZVzVqYUdWemRHVnlNUkF3RGdZRFZRUUhFd2RUWVd4bWIzSmtNUm93R0FZRFZRUUtFeEZEClQwMVBSRThnUTBFZ1RHbHRhWFJsWkRFbk1DVUdBMVVFQXhNZVEwOU5UMFJQSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjUKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEwRUNMaTNMamtSdjNVY0ViVkFTWTA2bS93ZWFLWFR1SAorN3VJemczakx6OEdsdkNpS1ZDWnJ0czdvVmV3ZEZGeHplMUNrVTFCL3FuSTJHcUdkMFM3V1dhWFVGNjAxQ3h3Uk0vYU41VkNhVHd3CnhIR3pVdkFoVGFIWXVqbDhISjZqSkozeWd4YVlxaFo4UTVzVlc3ZXVOSkgrMUdJbUdFYWFQK3ZCK2ZHUVYrdXNlZzJMMjNJd2FtYlYKNEVhamNOeG8yZjhFU0lsMzNyWHArMmR0UWVtOE9iMHkyV0lDOGJHb1BXNDNuT0l2NHRPaUpvdkd1RlZEaU9FalBxWFNKRGxxUjZzQQoxS0d6cVNYK0RUK25IYnJUVWNFTHBOcXNPTzlWVUNRRlpVYVRORTh0amEzRzFDRVowbzdLQldGeEIzTkg1WW9aRXIwRVRjNU9uS1ZJCnJMc205d0lEQVFBQm80R09NSUdMTUIwR0ExVWREZ1FXQkJRTFdPV0x4a3dWTjZSQXFUQ3BJYjVITmxwVy96QU9CZ05WSFE4QkFmOEUKQkFNQ0FRWXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QkpCZ05WSFI4RVFqQkFNRDZnUEtBNmhqaG9kSFJ3T2k4dlkzSnNMbU52Ylc5awpiMk5oTG1OdmJTOURUMDFQUkU5RFpYSjBhV1pwWTJGMGFXOXVRWFYwYUc5eWFYUjVMbU55YkRBTkJna3Foa2lHOXcwQkFRVUZBQU9DCkFRRUFQcGllbS9ZYjZkYzV0M2l1SFhJWVNkT0g1RU9DNnovSnF2V290ZTlWZkNGU1pmblZEZUZzOUQ2TWszT1JMZ0xFVGdkeGI4Q1AKT0dFSXFCNkJDc0F2SUM5Qmk1SGNTRVc4OGNiZXVuWnJNOGdBTFRGR1RPM25uYytJbFA4endGYm9KSVltdU5nNE9OOHFhOTBTek1jLwpSeGRNb3NJR2xnblcyLzQvUEVaQjMxamlWZzg4TzhFY2t6WFpPRktzN3Nqc0xqQk9sRFcwSkI5TGVHbmE4Z0k0ekpWU2svQndKVm1jCklHZkU3dm1MVjJIMGtuWjlQNFNOVmJmbzVhelY4ZlVaVnFaYSs1QWNyNVByNVJ6VVo1ZGRCQTYrQzRPbUY0TzVNQktneFRNVkJia04KKzhjRmR1UFlTbzM4TkJlanhpRW92akJGTVI3SGVMNVlZVGlzTytJQlpRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKTmV0d29yayBTb2x1dGlvbnMgQ2VydGlmaWNhdGUgQXV0aG9yaXR5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRDVqQ0NBczZnQXdJQkFnSVFWOHN6YjhKY0Z1WkhGaGZqa0RGbzREQU5CZ2txaGtpRzl3MEJBUVVGQURCaU1Rc3dDUVlEVlFRRwpFd0pWVXpFaE1COEdBMVVFQ2hNWVRtVjBkMjl5YXlCVGIyeDFkR2x2Ym5NZ1RDNU1Ma011TVRBd0xnWURWUVFERXlkT1pYUjNiM0pyCklGTnZiSFYwYVc5dWN5QkRaWEowYVdacFkyRjBaU0JCZFhSb2IzSnBkSGt3SGhjTk1EWXhNakF4TURBd01EQXdXaGNOTWpreE1qTXgKTWpNMU9UVTVXakJpTVFzd0NRWURWUVFHRXdKVlV6RWhNQjhHQTFVRUNoTVlUbVYwZDI5eWF5QlRiMngxZEdsdmJuTWdUQzVNTGtNdQpNVEF3TGdZRFZRUURFeWRPWlhSM2IzSnJJRk52YkhWMGFXOXVjeUJEWlhKMGFXWnBZMkYwWlNCQmRYUm9iM0pwZEhrd2dnRWlNQTBHCkNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEa3ZINlNNRzNHMkk0ckM3eEd6dUFubHQ3ZStmb1Mwend6YzdNRUw3eHgKak9XZnRpSmdQbDlkemduL2dnd2JtbEZRR2lhSjNkVmhYUm5jRWc4dENxSkRYUmZRTkpJZzZuUFBPQ3dHSmdsNmN2ZjZVREw0d3BQVAphYUlqemtHeHpPVFZIemJSaWpyNGpHUGlGRmxwN1EzVGYydm91QVBsVDJybG1HTnBTQVcrTHY4enR1bVhXV240WnhtdWsyR1dSQlhUCmNyQS92R3A5N0VoL2pjT3JxbkVyVTJsQlV6UzFzTG5GQmdyRXNFWDFRVjF1aVVWN1BUc21qSFRDNWRMUmZiSVIxUHRZTWlLYWdNbmMKL1F6cGYxNERsODQ3QUJTSEozQTRxWTV1c3lkMm1GSGdCZU1ocXhyVmhTSThLYldhRnNXQXFQUzdhekNQTDBZQ29yRU1JdURUQWdNQgpBQUdqZ1pjd2daUXdIUVlEVlIwT0JCWUVGQ0V3eWZzQTEwNlkyb2VxS3RDbkxyRkFNYWRNTUE0R0ExVWREd0VCL3dRRUF3SUJCakFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUZJR0ExVWRId1JMTUVrd1I2QkZvRU9HUVdoMGRIQTZMeTlqY213dWJtVjBjMjlzYzNOc0xtTnYKYlM5T1pYUjNiM0pyVTI5c2RYUnBiMjV6UTJWeWRHbG1hV05oZEdWQmRYUm9iM0pwZEhrdVkzSnNNQTBHQ1NxR1NJYjNEUUVCQlFVQQpBNElCQVFDN3Jrdm50MWZyZjZvdHQzTkhoV3JCNUtVZDVPYzg2ZlJaWlhlMWVsdGFqU1UyNEhxWExqakFWMkNEbUFhRG43bDJlbTVRCjRMcUlMUHhGekJpd21aVlJEdXdkdUlqL2gxQWNnc0xqNERLQXY2QUxSOGpETWUrWlp6S0FUeGNoZVF4cFhONWVOSzRDdFNicVVOOS8KR0dVc3lmSmo0YWtIL254eEgyc3pKR29lQmZjRmFNQnFFc3N1WG1ITHJpalRmc0swWnBFbVh6d3VKRi9MV0EvcktPeXZFWmJ6M0h0dgp3S2VJOGxOM3MyQmVycTRvMmpVc2J6UkYweWJoM3V4YlR5ZHJGbnk5UkFRWWdyT0plUmNRY1QxNm9oWk85UUhOcEd4bGFLRkpkbHhECnlkaThObWRzcFpTMTFNeTV2V28xVmlIZTJNUHIrOHVrWUV5d1ZhQ2dlMWV5Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCldlbGxzU2VjdXJlIFB1YmxpYyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV2VENDQTZXZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBRENCaFRFTE1Ba0dBMVVFQmhNQ1ZWTXhJREFlQmdOVkJBb00KRjFkbGJHeHpJRVpoY21kdklGZGxiR3h6VTJWamRYSmxNUnd3R2dZRFZRUUxEQk5YWld4c2N5QkdZWEpuYnlCQ1lXNXJJRTVCTVRZdwpOQVlEVlFRRERDMVhaV3hzYzFObFkzVnlaU0JRZFdKc2FXTWdVbTl2ZENCRFpYSjBhV1pwWTJGMFpTQkJkWFJvYjNKcGRIa3dIaGNOCk1EY3hNakV6TVRjd056VTBXaGNOTWpJeE1qRTBNREF3TnpVMFdqQ0JoVEVMTUFrR0ExVUVCaE1DVlZNeElEQWVCZ05WQkFvTUYxZGwKYkd4eklFWmhjbWR2SUZkbGJHeHpVMlZqZFhKbE1Sd3dHZ1lEVlFRTERCTlhaV3hzY3lCR1lYSm5ieUJDWVc1cklFNUJNVFl3TkFZRApWUVFEREMxWFpXeHNjMU5sWTNWeVpTQlFkV0pzYVdNZ1VtOXZkQ0JEWlhKMGFXWnBZMkYwWlNCQmRYUm9iM0pwZEhrd2dnRWlNQTBHCkNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEdWI3UzllZUtQQ0NHZU9BUkJKZStyV3h4VGtxeHRudDNDeEM1RmxBTTEKaUdkMFYrUGZqTGluZG84Nzk2akUyeWxqRHBGb05vcVhqb3B4YUFrSDVPalVEay80MWl0TXBCYjU3ME9ZajdPZVV0OXRrVG1QT0wxMwppME5qNjdlVC9EQk1IQUdUdGhQNzk2RWZ2eVhoZERjc0hxUmVQR2o0Uzc4TnVSNHVOdWlwNUtmNEQ4dUNkWHcxTFNMV3dyOEw4N1Q4CmJKVmhIbGZYQklFeWcxSjU1b05qejdmTFk0c1I0cjFlNi9hTjdaVnlLTFNzRW1McFNqUG1nekt1QlhXVnZZU1YyeXBjbTQ0dURMaUIKSzBIbU9GYWZTWnRzZHZxS1hmY0JlWUY4d1lOQUJmNXgvUXcvekU1Z0NRNWxSeEF2QWNBRlA0LzRzMEh2V2tKK1dlL1Nsd3hsQWdNQgpBQUdqZ2dFME1JSUJNREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NRGtHQTFVZEh3UXlNREF3THFBc29DcUdLR2gwZEhBNkx5OWpjbXd1CmNHdHBMbmRsYkd4elptRnlaMjh1WTI5dEwzZHpjSEpqWVM1amNtd3dEZ1lEVlIwUEFRSC9CQVFEQWdIR01CMEdBMVVkRGdRV0JCUW0KbFJrUTJlaWhsNUgvM0JuWnRRUSswbk1LYWpDQnNnWURWUjBqQklHcU1JR25nQlFtbFJrUTJlaWhsNUgvM0JuWnRRUSswbk1LYXFHQgppNlNCaURDQmhURUxNQWtHQTFVRUJoTUNWVk14SURBZUJnTlZCQW9NRjFkbGJHeHpJRVpoY21kdklGZGxiR3h6VTJWamRYSmxNUnd3CkdnWURWUVFMREJOWFpXeHNjeUJHWVhKbmJ5QkNZVzVySUU1Qk1UWXdOQVlEVlFRRERDMVhaV3hzYzFObFkzVnlaU0JRZFdKc2FXTWcKVW05dmRDQkRaWEowYVdacFkyRjBaU0JCZFhSb2IzSnBkSG1DQVFFd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFMa1ZzVVNSekNQSQpLMDEzNC9pYWV5Y056WEs3bVFES2ZHWVpVTWJWbU8ycnZ3TmE1VTNsSHNoUGNaZUcxZU1kL1pESlBIVjNWM3A5K043MDFOWDNsZVowCmJoMDhybnlkMndJREJTeHhTeVUrQitOZW12Vm1GeW1JR2ppZno2cEJBNFNYYTVNNGVzb3dSQnNrUkRQUTVOSGNLRGowRTBNMU5TbGoKcUh5aXRhMDRwTzJ0L2NhYUgvK1hjLzc3c3pXbms0YkdkcEVBNXF4UkZzUW5NbHpiYzlxbGsxZU9QbTAxSmdoWjFlZEUxM1lnWStlcwpFMmZEYmJGd1JuelZsaEU5aVc5ZHFLSHJqUXJhd3gwemJLUHFaeG1hbVg5TFBZTlJLaDNLTDRZTW9uNFFMU3ZVRnBVTEI2b3VGSkpKCnR5bHYyRzB4ZmZYOG9SQUhoODR2V2R3K1dOcz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQ09NT0RPIEVDQyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlDaVRDQ0FnK2dBd0lCQWdJUUgwZXZxbUlBY0ZCVVRBR2VtMk9aS2pBS0JnZ3Foa2pPUFFRREF6Q0JoVEVMTUFrR0ExVUVCaE1DClIwSXhHekFaQmdOVkJBZ1RFa2R5WldGMFpYSWdUV0Z1WTJobGMzUmxjakVRTUE0R0ExVUVCeE1IVTJGc1ptOXlaREVhTUJnR0ExVUUKQ2hNUlEwOU5UMFJQSUVOQklFeHBiV2wwWldReEt6QXBCZ05WQkFNVElrTlBUVTlFVHlCRlEwTWdRMlZ5ZEdsbWFXTmhkR2x2YmlCQgpkWFJvYjNKcGRIa3dIaGNOTURnd016QTJNREF3TURBd1doY05Nemd3TVRFNE1qTTFPVFU1V2pDQmhURUxNQWtHQTFVRUJoTUNSMEl4Ckd6QVpCZ05WQkFnVEVrZHlaV0YwWlhJZ1RXRnVZMmhsYzNSbGNqRVFNQTRHQTFVRUJ4TUhVMkZzWm05eVpERWFNQmdHQTFVRUNoTVIKUTA5TlQwUlBJRU5CSUV4cGJXbDBaV1F4S3pBcEJnTlZCQU1USWtOUFRVOUVUeUJGUTBNZ1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhSbwpiM0pwZEhrd2RqQVFCZ2NxaGtqT1BRSUJCZ1VyZ1FRQUlnTmlBQVFEUjNzdmRjbUNGWVg3ZGVTUkZ0U3JZcG4xUGxJTEJzNUJBSCtYCjRRb2tQQjBCQk80OTBvMEpsd3pnZGVUNiszZUtLdlVEWUVzMml4WWpGcTBKY2ZSSzlDaFF0UDZJSEc0L2JDOHZDVmxicFZzTE01bmkKd3oySitXb3M3N0xUQnVtalFqQkFNQjBHQTFVZERnUVdCQlIxY2FjWlNCbThuWjNxUVVmZmxNUklkNW5UZVRBT0JnTlZIUThCQWY4RQpCQU1DQVFZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBS0JnZ3Foa2pPUFFRREF3Tm9BREJsQWpFQTd3TmJlcXkzZUFweXQ0amYvN1ZHCkZBa0srcURtZlFqR0dvZTlHS2h6dlNiS1lBeWR6cG1mejF3UE1PRytGREhxQWpBVTlKTThTYWN6ZXBCR1I3TmpmUk9iVHJkdkdEZUEKVS83ZElPQTFtamJSeHdHNTV0emQ4LzhkTERvV1Y5bVNPZFk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCklHQy9BCj09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlFQWpDQ0F1cWdBd0lCQWdJRk9SRkZFSlF3RFFZSktvWklodmNOQVFFRkJRQXdnWVV4Q3pBSkJnTlZCQVlUQWtaU01ROHdEUVlEClZRUUlFd1pHY21GdVkyVXhEakFNQmdOVkJBY1RCVkJoY21sek1SQXdEZ1lEVlFRS0V3ZFFUUzlUUjBST01RNHdEQVlEVlFRTEV3VkUKUTFOVFNURU9NQXdHQTFVRUF4TUZTVWRETDBFeEl6QWhCZ2txaGtpRzl3MEJDUUVXRkdsblkyRkFjMmRrYmk1d2JTNW5iM1YyTG1aeQpNQjRYRFRBeU1USXhNekUwTWpreU0xb1hEVEl3TVRBeE56RTBNamt5TWxvd2dZVXhDekFKQmdOVkJBWVRBa1pTTVE4d0RRWURWUVFJCkV3WkdjbUZ1WTJVeERqQU1CZ05WQkFjVEJWQmhjbWx6TVJBd0RnWURWUVFLRXdkUVRTOVRSMFJPTVE0d0RBWURWUVFMRXdWRVExTlQKU1RFT01Bd0dBMVVFQXhNRlNVZERMMEV4SXpBaEJna3Foa2lHOXcwQkNRRVdGR2xuWTJGQWMyZGtiaTV3YlM1bmIzVjJMbVp5TUlJQgpJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBc2gvUjBHTEZNenZBQklhSXM5ejRpUGY5MzBQZmVvMmFTVnoyClRxck1ITG1oNnllSjhrYnBPMHB4MVIyT0xjL21yYXRqVU1kVUMyNFN5WkEyeHRndjJwR3FhTVZ5L2hjS3NoZCtlYlV5aUhES2NNQ1cKU283a1ZjMGRKNVMvem5JcTdGejVjeUQrdmZjdWlXZTR1MGR6RXZmUk5XazY4Z3E1cnY5R1FrYWl2NkdGR3ZtLzVQOUpoZmVqY0lZeQpIRjJmWVBlcHJhWC96OUUwK1gxYkY4YmMxZzRvYThMZDhmVXphSjFPL0lkOE5oTFdvNERvUXcxVllaVHFaRGRINm5mSzBMSllCY05kCmZyR29ScEF4VnM1d0twYXlNTGgzNW5uQXZTazcvWlIzVEwwZ3pVRWw0QzdIRzd2dXBBUkIwbDJ0RW1xS20wZjd5ZDFHUU9HZFBEUFEKdFFJREFRQUJvM2N3ZFRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUFzR0ExVWREd1FFQXdJQlJqQVZCZ05WSFNBRURqQU1NQW9HQ0NxQgplZ0Y1QVFFQk1CMEdBMVVkRGdRV0JCU2pCUzhZWUZEQ2lRcmRLeUZQLzQ1T3FEQXhOakFmQmdOVkhTTUVHREFXZ0JTakJTOFlZRkRDCmlRcmRLeUZQLzQ1T3FEQXhOakFOQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBQmR3bTJQcDNGVVJvL0M5bU9uVGdYZVFwL3dZSEU0UksKcTg5dG9COVJsUGhKeTNRMkZMd1YzZHVKTDkyUG9GMTg5UkxybjU0NHBFZk1zNWJadnB3bHF3TitNdytWZ1EzOUZ1Q0l2amZ3YkYzUQpNWnN5SzEwWFpaT1lZTHh1ajdHb1BCN1pIUE9wSmtMNVpCM0M1NUwyOUI1YXFobFNYYS9vb3ZkZ29QYU44SW4xYnVBS0JRR1Z5WXNnCkNycGEvSm9zUEwzRHQ4bGRlQ1VGUDFZVW13emErenBJL3BkcFhzb1FodmRPbGdRSVRleXd2bDNjTzQ1UHdmMmFOalNhVEZSK0Z3TkkKbFFnUkhBZHZoUWgrWFUzRW5kdjdyczZ5MGJPNGcyd2Rzck41OGRod21YN3dFd0xPWHQxUjA5ODJnYUViZUM5eHMvRlpURVlZS0t1RgowbUJXV2c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpTZWN1cml0eSBDb21tdW5pY2F0aW9uIEVWIFJvb3RDQTEKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEZlRDQ0FtV2dBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUVVGQURCZ01Rc3dDUVlEVlFRR0V3SktVREVsTUNNR0ExVUVDaE1jClUwVkRUMDBnVkhKMWMzUWdVM2x6ZEdWdGN5QkRUeTRzVEZSRUxqRXFNQ2dHQTFVRUN4TWhVMlZqZFhKcGRIa2dRMjl0YlhWdWFXTmgKZEdsdmJpQkZWaUJTYjI5MFEwRXhNQjRYRFRBM01EWXdOakF5TVRJek1sb1hEVE0zTURZd05qQXlNVEl6TWxvd1lERUxNQWtHQTFVRQpCaE1DU2xBeEpUQWpCZ05WQkFvVEhGTkZRMDlOSUZSeWRYTjBJRk41YzNSbGJYTWdRMDh1TEV4VVJDNHhLakFvQmdOVkJBc1RJVk5sClkzVnlhWFI1SUVOdmJXMTFibWxqWVhScGIyNGdSVllnVW05dmRFTkJNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0MKQVFvQ2dnRUJBTHgvN0ZlYkpPRCtuTHBDZWFtSWl2cUE0UFVIS1VQcWpnbzBObzBjK3FlMU9Yai9sM1gzTCtTcWF3U0VSTXFtNG1pTwovVlZRWWcra2NRN09Cemd0UW9WUXJUeVdiNHZWb2c3UDNrbUpQZFprTGpqbEhteTFWNHFlNzBnT3pYcHBGb2RFdFpEa0JwMnVvUVNYCldIbnZJRXFDYTR3aXYrd2ZEK21FY2UzeER1UzRHQlBNVmpaZDBab2VVV3M1Ym1CMmlEUUw4N1BSc0ozS1llSmtIY0ZHQjdoajNSNHoKWmJPT0NWVlNQYlc5L3dmcnJXRlZHQ3lwYVpoS3FrREZNeFJsZEFENWtkNnZBMGpGUUZUY0Q0U1FhQ0RGa3BiY0x1VUNSYXJBWDFUNApiZXBKejExc1M2L3Ztc0pXWE1ZMVZrSnFNRi9DcS9iaVBUK3p5UkdQTVV6WG4wa0NBd0VBQWFOQ01FQXdIUVlEVlIwT0JCWUVGRFZLCjlVMnZQOWVDT0t5cmNXVVhkWXlkVlpQbU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUcKU0liM0RRRUJCUVVBQTRJQkFRQ29oK25zK0VCblhjUEJac2RBUzVmOGh4T1FXc1R2b01wZmk3ZW50L0hXdFdTM2lyTzRHOHphKzZ4bQppRUhPNlB6azJ4NklwdTBuVUJzQ01DUkdlZjRFaDNDWFFIUFJ3TUZYR1pwcHBTZVpxNTFpaFBaUndTekpJeFhZS0xlckpSTzFSdUdHCkF2OG1qTVNJa2gxVy9obG44bFhrZ0tOcm5LdDM0VkZ4RFNEYkVKcmJ2WFo1QjNlWktLMmFYdHF4VDBRc05ZNmxsc2Y5Zy9CWXhublcKbUh5b2pmNkdQZ2NXa3VGNzV4M3NNM1orUWk1S2hmbVJpV2lFQTRHbG01cSs0emZGVkt0V094Z3RRYVFNK0VMYm1hRGdjbSs3WGVFVwpUMU1LWlBsTzlMOU9WTDE0YklqcXY1d1RKTUp3YWFKL0Q4ZzhyUWpKc0poQW95cm5pSVB0ZDQ5MAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpPSVNURSBXSVNlS2V5IEdsb2JhbCBSb290IEdBIENBCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQ4VENDQXRtZ0F3SUJBZ0lRUVQxeXgvUnJINEZEZmZIU0tGVGZtakFOQmdrcWhraUc5dzBCQVFVRkFEQ0JpakVMTUFrR0ExVUUKQmhNQ1EwZ3hFREFPQmdOVkJBb1RCMWRKVTJWTFpYa3hHekFaQmdOVkJBc1RFa052Y0hseWFXZG9kQ0FvWXlrZ01qQXdOVEVpTUNBRwpBMVVFQ3hNWlQwbFRWRVVnUm05MWJtUmhkR2x2YmlCRmJtUnZjbk5sWkRFb01DWUdBMVVFQXhNZlQwbFRWRVVnVjBsVFpVdGxlU0JICmJHOWlZV3dnVW05dmRDQkhRU0JEUVRBZUZ3MHdOVEV5TVRFeE5qQXpORFJhRncwek56RXlNVEV4TmpBNU5URmFNSUdLTVFzd0NRWUQKVlFRR0V3SkRTREVRTUE0R0ExVUVDaE1IVjBsVFpVdGxlVEViTUJrR0ExVUVDeE1TUTI5d2VYSnBaMmgwSUNoaktTQXlNREExTVNJdwpJQVlEVlFRTEV4bFBTVk5VUlNCR2IzVnVaR0YwYVc5dUlFVnVaRzl5YzJWa01TZ3dKZ1lEVlFRREV4OVBTVk5VUlNCWFNWTmxTMlY1CklFZHNiMkpoYkNCU2IyOTBJRWRCSUVOQk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBeTArekFKczkKTnQzNTBVbHFheEJKSCt6WUs3TEcrREtCS1VPVlRKb1pJeUVWUmQ3anlCeFJWVnV1aytnMy95dHI2ZFRxdmlyZHFGRXIxMmJEWVZ4ZwpBc2oxem5KN083anlUbVVJbXMya2FobkJBYnR6cHRmMnc5M052S1NMdFpsaHVBR2lvOVJOMUFVOWthMzR0QWh4Wks5dzhSeHJmdmJECmQ1MGtjM3ZrREl6aDJUYmhtWXNGbVF2dFJURUp5c0lBMi9keW9KYXFsWWZRanNlMllYTU5kbWFNM0J1MFk2S2ZmNU1UTVBHaEo5dloKL3l4VmlKR2c0RThIc0NoV2pCZ2JsMFNPaWQzZ0YyN25LdStQT1FveGhJTFlRQlJKTG5wQjVLZis0MlRNd1ZseFN5d2hwMXQ5NEIzUgpMb0didzlobzk3MldHNnh3c1JZVUM5dGd1U1lCQlFJREFRQUJvMUV3VHpBTEJnTlZIUThFQkFNQ0FZWXdEd1lEVlIwVEFRSC9CQVV3CkF3RUIvekFkQmdOVkhRNEVGZ1FVc3dOK3JqYThzSG5SM0pRbXRoRytJYkpwaHBRd0VBWUpLd1lCQkFHQ054VUJCQU1DQVFBd0RRWUoKS29aSWh2Y05BUUVGQlFBRGdnRUJBRXVoL3d1SGJyUDV3VU94U1BNb3dCMHV5UWxCK3BRQUhLU2txMGxQanowZTcwMXZ2YnlrOXZJbQpNTWtReWgySSszUVpINFZGdmJCc1VmazJmdHYxVERJNlFVOWJSOC9vQ3kyMnhCbWRkTVZIeGp0cUQ2d1UyenowYzV5cEJkOEEzSFI0Cit2ZzFZRmtDRXhoOHZQdE5zQ0J0UTd0Z01IcG5NMXpGbWRINExUbFNjL3VNcXBjbFhITFpDQjZyVGp6amdUR2ZBNmI3d1A0cGlGWGEKaE5WUUE3YmloS09tTnFvUk9nSGhHRXZXUkdpelBmbFRkSVN6UnBGR2xnQzNnQ3kyNGVNUTR0dWk1eWlQQVpaaUZqNEE0eHlsTm9FWQpva3hTZHNBUm8yN21IYnJqV3I0MlU4VStkWStHYVNsWVU3V2N1MitmWE1VWTdOMHY0WmpKL0w3ZkNnMD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQQo9PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlIcURDQ0JwQ2dBd0lCQWdJUkFNeTQ1NzlPS1JyOW90eG1wUndzRHhFd0RRWUpLb1pJaHZjTkFRRUZCUUF3Y2pFTE1Ba0dBMVVFCkJoTUNTRlV4RVRBUEJnTlZCQWNUQ0VKMVpHRndaWE4wTVJZd0ZBWURWUVFLRXcxTmFXTnliM05sWXlCTWRHUXVNUlF3RWdZRFZRUUwKRXd0bExWTjZhV2R1YnlCRFFURWlNQ0FHQTFVRUF4TVpUV2xqY205elpXTWdaUzFUZW1sbmJtOGdVbTl2ZENCRFFUQWVGdzB3TlRBMApNRFl4TWpJNE5EUmFGdzB4TnpBME1EWXhNakk0TkRSYU1ISXhDekFKQmdOVkJBWVRBa2hWTVJFd0R3WURWUVFIRXdoQ2RXUmhjR1Z6CmRERVdNQlFHQTFVRUNoTU5UV2xqY205elpXTWdUSFJrTGpFVU1CSUdBMVVFQ3hNTFpTMVRlbWxuYm04Z1EwRXhJakFnQmdOVkJBTVQKR1UxcFkzSnZjMlZqSUdVdFUzcHBaMjV2SUZKdmIzUWdRMEV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQgpBUUR0eUFEVmdYdk5PQUJIek51RXdTRnBMSFNRRENIWlU0ZnRQa05FVTYrcitJQ2JQSGlOMUkydXVPL1RFZHlCNXM4N2xveldieFhHCmQzNmhMK0Jma3JZbjEzYWFIVU04NnRuc0wrNDU4MnBuUzR1Q3p5TDRaVlgrTE1zdmZVaDZQWFg1cXFBbnUzakNCc3BSd241bVM2L04Kb3FkTkFvSS9ncXlGeHVFUGtFZVpsQXB4Y3BNcXlhYkF2anhXVEhPU0ovRnJ0Zlg5L0RBRllKTEc2NVorQVpIQ2FiRWVIWHRUUmJqYwpRUi9KaTNIV1ZCVGppMVI0UDc3MFlqdGI5YVBzMVpKMDRuUXc3d0hiNGRTcm1ac3FhL2k5cGh5R0kwSmY3RW5lbW90YjlISTZRTVZKClBxVytqcXB4NjJ6NjlScmthdjE3ZlZWQTcxaHU1dG5WdkNTcndlKzNBZ01CQUFHamdnUTNNSUlFTXpCbkJnZ3JCZ0VGQlFjQkFRUmIKTUZrd0tBWUlLd1lCQlFVSE1BR0dIR2gwZEhCek9pOHZjbU5oTG1VdGMzcHBaMjV2TG1oMUwyOWpjM0F3TFFZSUt3WUJCUVVITUFLRwpJV2gwZEhBNkx5OTNkM2N1WlMxemVtbG5ibTh1YUhVdlVtOXZkRU5CTG1OeWREQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01JSUJjd1lEClZSMGdCSUlCYWpDQ0FXWXdnZ0ZpQmd3ckJnRUVBWUdvR0FJQkFRRXdnZ0ZRTUNnR0NDc0dBUVVGQndJQkZoeG9kSFJ3T2k4dmQzZDMKTG1VdGMzcHBaMjV2TG1oMUwxTmFVMW92TUlJQklnWUlLd1lCQlFVSEFnSXdnZ0VVSG9JQkVBQkJBQ0FBZEFCaEFHNEErZ0J6QU8wQQpkQUIyQU9FQWJnQjVBQ0FBNlFCeUFIUUFaUUJzQUcwQVpRQjZBT2tBY3dEcEFHZ0FaUUI2QUNBQTZRQnpBQ0FBWlFCc0FHWUFid0JuCkFHRUFaQURoQUhNQTRRQm9BRzhBZWdBZ0FHRUFJQUJUQUhvQWJ3QnNBR2NBNFFCc0FIUUFZUUIwQVBNQUlBQlRBSG9BYndCc0FHY0EKNFFCc0FIUUFZUUIwQU9FQWN3QnBBQ0FBVXdCNkFHRUFZZ0RoQUd3QWVRQjZBR0VBZEFCaEFDQUFjd0I2QUdVQWNnQnBBRzRBZEFBZwpBR3NBWlFCc0FHd0FJQUJsQUd3QWFnRGhBSElBYmdCcEFEb0FJQUJvQUhRQWRBQndBRG9BTHdBdkFIY0Fkd0IzQUM0QVpRQXRBSE1BCmVnQnBBR2NBYmdCdkFDNEFhQUIxQUM4QVV3QmFBRk1BV2dBdk1JSElCZ05WSFI4RWdjQXdnYjB3Z2JxZ2diZWdnYlNHSVdoMGRIQTYKTHk5M2QzY3VaUzF6ZW1sbmJtOHVhSFV2VW05dmRFTkJMbU55YklhQmpteGtZWEE2THk5c1pHRndMbVV0YzNwcFoyNXZMbWgxTDBOTwpQVTFwWTNKdmMyVmpKVEl3WlMxVGVtbG5ibThsTWpCU2IyOTBKVEl3UTBFc1QxVTlaUzFUZW1sbmJtOGxNakJEUVN4UFBVMXBZM0p2CmMyVmpKVEl3VEhSa0xpeE1QVUoxWkdGd1pYTjBMRU05U0ZVL1kyVnlkR2xtYVdOaGRHVlNaWFp2WTJGMGFXOXVUR2x6ZER0aWFXNWgKY25rd0RnWURWUjBQQVFIL0JBUURBZ0VHTUlHV0JnTlZIUkVFZ1k0d2dZdUJFR2x1Wm05QVpTMXplbWxuYm04dWFIV2tkekIxTVNNdwpJUVlEVlFRRERCcE5hV055YjNObFl5QmxMVk42YVdkdXc3TWdVbTl2ZENCRFFURVdNQlFHQTFVRUN3d05aUzFUZW1sbmJzT3pJRWhUCldqRVdNQlFHQTFVRUNoTU5UV2xqY205elpXTWdTMlowTGpFUk1BOEdBMVVFQnhNSVFuVmtZWEJsYzNReEN6QUpCZ05WQkFZVEFraFYKTUlHc0JnTlZIU01FZ2FRd2dhR0FGTWVnU1hVV1lZVGJNVXVFMHZFM1FKRHZUdHozb1hha2REQnlNUXN3Q1FZRFZRUUdFd0pJVlRFUgpNQThHQTFVRUJ4TUlRblZrWVhCbGMzUXhGakFVQmdOVkJBb1REVTFwWTNKdmMyVmpJRXgwWkM0eEZEQVNCZ05WQkFzVEMyVXRVM3BwCloyNXZJRU5CTVNJd0lBWURWUVFERXhsTmFXTnliM05sWXlCbExWTjZhV2R1YnlCU2IyOTBJRU5CZ2hFQXpMam52MDRwR3YyaTNHYWwKSEN3UEVUQWRCZ05WSFE0RUZnUVV4NkJKZFJaaGhOc3hTNFRTOFRkQWtPOU8zUGN3RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQU5NVApuR1pqV1M3S1hIQU0vSU84VmJIMGpnZHNaaWZPd1RzZ3FSeTdSbFJ3N2xyTW9IZnFhRVFuNi9JcDNYZXAxZnZqMUtjRXhKVzRDK0ZFCmFHQUhRekF4UW1IbDd0bmxKTlViMytGS0c2cWZ4MS80ZWhIcUU1TUF5b3BZc2U3dERrMjAxNmcySm56Z09zSFZWNEx4ZGJiOWlWL2EKODZnNG56VUdDTTRpbGI3TjFmeStXOTU1YTl4NnFXVm12ckVsV2wvdGZ0T3NSbTFNOURLSHRDQUU0R3g0c0hmUmhVWkxwaEszZGVoSwp5VlpzMTVLcm5mVkpPTkpQVStOVmtCSGJtSmJHU2ZJKzlKOGI0UGVJM0NWaW1VVFljNzgvTVBNTU56N1V3aWlBYzdFQnQ1MWFsaFFCClM2a1JuU2xxTHRCZGdjRFBzaUJEeHdQZ04wNWRDdHhaSUNVPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpDZXJ0aWduYQo9PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRHFEQ0NBcENnQXdJQkFnSUpBUDdjNHdFUHlVai9NQTBHQ1NxR1NJYjNEUUVCQlFVQU1EUXhDekFKQmdOVkJBWVRBa1pTTVJJdwpFQVlEVlFRS0RBbEVhR2x0ZVc5MGFYTXhFVEFQQmdOVkJBTU1DRU5sY25ScFoyNWhNQjRYRFRBM01EWXlPVEUxTVRNd05Wb1hEVEkzCk1EWXlPVEUxTVRNd05Wb3dOREVMTUFrR0ExVUVCaE1DUmxJeEVqQVFCZ05WQkFvTUNVUm9hVzE1YjNScGN6RVJNQThHQTFVRUF3d0kKUTJWeWRHbG5ibUV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRElhUEhKMXRhek5IVW1naDdzdEw3cQpYT0VtN1JGSFllR2lmQlo0UUNIa1lKNWF5R1BoeExHV2t2OFliV2tqNFN0aTk5M2lOaStSQjdsSXp3N3NlYllzNXpSTGNBZ2xvenlICkd4bnlnUWNQT0pBWjB4SCtoclR5MFY0ZUhwYk5nR3pPT3pHVHR2S2cwS21WRW4ybG1zeHJ5SVJXaWpPcDV5SVZVeGJ3ekJmc1YxL3AKb2dxWUNkN2pYNXh2M0VqamhRc1ZXcWE2bjZ4STR3bXk5L1F5M2w0MHZoeDRYVUpiemc0aWowMlExMzB5R0xNTExHcS9qajhVRVlrZwpEbmNVdFQyVUNJZjNKUjdWc21BQTdHOHFLQ1Z1S2o0WVl4Y2xQejVFSUJiMkpzZ2xyZ1ZLdE9kakxQT01GbE4rWFBzUkdnakJSbUtmCklyanh3bzFwM1BvNldBYmZBZ01CQUFHamdid3dnYmt3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVR3UzK1FUbVEKdENSWnZnSHlVdFZGOWxvNTNCRXdaQVlEVlIwakJGMHdXNEFVR3UzK1FUbVF0Q1JadmdIeVV0VkY5bG81M0JHaE9LUTJNRFF4Q3pBSgpCZ05WQkFZVEFrWlNNUkl3RUFZRFZRUUtEQWxFYUdsdGVXOTBhWE14RVRBUEJnTlZCQU1NQ0VObGNuUnBaMjVoZ2drQS90empBUS9KClNQOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01CRUdDV0NHU0FHRytFSUJBUVFFQXdJQUJ6QU5CZ2txaGtpRzl3MEJBUVVGQUFPQ0FRRUEKaFFNZWtuSDJRcS9obzJHZTYvUEFEL0tsMU5xVjV0YSthRFk5Zm00ZlRJcnYwUThoYlY2bFVtUE9Fdmp2S3RwdjZ6ZitFd0xIeXpzKwpJbXZhWVM1LzFISTkzVERoSGt4QUdZd1AxNXpSZ3pCN21GbmNmY2E1RENsTW9UT2k2MmM2WllUVGx1THRka1Z3ajdVcjN2a2oxa2x1ClBCUzF4cDgxSGxEUXdZOXFjRVFDWXN1dUhXaEJwNnBYNkZPcUI5SUc5dFVVQmd1UkEzVXNiSEsxWVpXYURZdTVEZWYxMzFUTjN1YlkKMWdrSWwyUGx3UzZ3dDBRbXdDYkFyMVV3bmp2Vk5pb1pCUFJjSHYvUExMZi8wUDJIUUJIVkVTTzdTTUFocWFRb0xmMFYrTEJPSy9RdwpXeUg4RVpFMHZrSHZlNTJYZGYrWGxjQ1dXQy9xdTBiWHUrVFpMZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkFDIFJhXHhDM1x4QUR6IENlcnRpY1x4QzNceEExbWFyYSBTLkEuCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlHWmpDQ0JFNmdBd0lCQWdJUEIzNVNrM3ZnRmVOWDhHbU15K3dNTUEwR0NTcUdTSWIzRFFFQkJRVUFNSHN4Q3pBSkJnTlZCQVlUCkFrTlBNVWN3UlFZRFZRUUtERDVUYjJOcFpXUmhaQ0JEWVcxbGNtRnNJR1JsSUVObGNuUnBabWxqWVdOcHc3TnVJRVJwWjJsMFlXd2cKTFNCRFpYSjBhV1BEb1cxaGNtRWdVeTVCTGpFak1DRUdBMVVFQXd3YVFVTWdVbUhEclhvZ1EyVnlkR2xqdzZGdFlYSmhJRk11UVM0dwpIaGNOTURZeE1USTNNakEwTmpJNVdoY05NekF3TkRBeU1qRTBNakF5V2pCN01Rc3dDUVlEVlFRR0V3SkRUekZITUVVR0ExVUVDZ3crClUyOWphV1ZrWVdRZ1EyRnRaWEpoYkNCa1pTQkRaWEowYVdacFkyRmphY096YmlCRWFXZHBkR0ZzSUMwZ1EyVnlkR2xqdzZGdFlYSmgKSUZNdVFTNHhJekFoQmdOVkJBTU1Ha0ZESUZKaHc2MTZJRU5sY25ScFk4T2hiV0Z5WVNCVExrRXVNSUlDSWpBTkJna3Foa2lHOXcwQgpBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFxMnVKbzFQTVNDTUkrOFBQVVpZSUxyZ0llbTA4a0JlR3FlbnRMaE0wUjdMUWNOekpQTkNOCnl1NUxGNnZRaGJDbkl3VExxS0w4NVhYYlFNcGlpWTlRbmdFOUpsc1loQnpMZkRlM2ZlelRmM01ac0dxeTJJaUtMVVYwcVBlenVNRFUKMnMwaWlYUk5XaFU1Y3hoMFQ3WHJtYWZCSG9pMHdwT1FZNWZ6cDZjU3Nna2lCelBaa2MwT25COE9JTWZ1dXpPTmo4TFNXS2RmL1dVMwo0b2pDMkkrR2RWNzVMYWVITS9KNE55K0x2QjJHTnpteGxQTFl2RXFjZ3hoYUJ2enoxTlM2akJVSkpmRDV0bzBFZmhjU00ydFhTRXhQCjJ5WWU2OHlRNTR2NWFIeHdENk1xMERvNDN6ZVg0bHZlZ0dIVGdOaVJnMEphVEFTSmFCRThyRjlvZ0VITVlFTE9EVm9xREErYk1NQ20KOEliYnEwblhsMjFJaS9rRHdGSm5teEwzd3ZJdW1HVkMyZGFhNDlBWk1ReXRoOVZYQW5vdzZJWW0rNDhqaWxTSDVMODg3dXZEZFVoZgpIamx2Z1dKc3hTM0VGMVFadHplTm5EZVJ5UFlMMWVwamI0T3NPTUx6UDk2YSsrRWpZZkRJSnNzMnlLSHpNSStrbzZLaDNWT3ozdkNhCk1oK0RrWGt3d2FrZlU1dFRvaFZUUDkyZHN4QTdTSDJKRC96dEEvWDdKV1IxRGhjWkRZOEFGbWQ1ZWtEOExWa0gyWkQ2bXEwOTNJQ0sKNWx3MW9tZE1FV3V4K0lCa0FDMXZJbUhGckVzbTVWb1FncHVrZzNzMDk1NkprU0NYanJkQ3gyYkQwT21rMXZVZ2pjVERsYXhFQ3AxYgpjendtUFM5S3ZxZkpweEFlKzU5UWFmTUNBd0VBQWFPQjVqQ0I0ekFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFCkF3SUJCakFkQmdOVkhRNEVGZ1FVMFFuUTZkZk9lWFJVK1Rvd3MvUnRMQU1ERzJnd2dhQUdBMVVkSUFTQm1EQ0JsVENCa2dZRVZSMGcKQURDQmlUQXJCZ2dyQmdFRkJRY0NBUllmYUhSMGNEb3ZMM2QzZHk1alpYSjBhV05oYldGeVlTNWpiMjB2WkhCakx6QmFCZ2dyQmdFRgpCUWNDQWpCT0dreE1hVzFwZEdGamFXOXVaWE1nWkdVZ1oyRnlZVzUwN1dGeklHUmxJR1Z6ZEdVZ1kyVnlkR2xtYVdOaFpHOGdjMlVnCmNIVmxaR1Z1SUdWdVkyOXVkSEpoY2lCbGJpQnNZU0JFVUVNdU1BMEdDU3FHU0liM0RRRUJCUVVBQTRJQ0FRQmNsTFc0UlpGTmptRWYKQXlnUFUzem1wRm1wczRwNnhiRC9DSHdzbzNFY0lSTm5vWlVTUURXRGc0OTAyek5jOEVsMkNvRlMzVW5VbWpJejc1dW55M1hsZXN1WApFcEJjdW52Rm05KzdPU1BJLzVqT0NrMGlBVWdIZm9yQTFTQkNsRVR2djNlaWlXZElHMEFEQmFHSjdNOWk0ejBsZG1hL0pyZTdJcjV2Ci96bFhkTHA2eVFHVndaVlI2S3NzK0xHR0lPay95elZiMGhmcEt2NkRFeGRBN29oaVpWdlZPMkRwZXp5NHlkVi9OZ0lscW1qQ01SVzMKTUdYcmZ4MUllYkhQT2VKQ2dCYlQ5Wk1qL0V5WHlWbzNiSHdpMkVyTjBvNDJnem1Sa0JESThjazFmais0MDRIR0lHUWF0bERDSWFSNAozTkF2TzJTVGRQQ1drUEh2K3dsYU5FQ1c4RFlTd2FOMGpKTitRZDUzaSt5RzJkSVBQeTNSekVDaWlXWklIaUN6bkNOWmM2bEVjN3drCmVaQldON1BHS1g2akQvRXBPZTkrWENneWNEV3MycmpJZFdiOG0wdzVSNDRiYjV0TkFsUWlNKzlodXA0cGhPOU9Tek5IZHBkcXkzNWYKL1JXbW5rSkRXMlphaW9nTjl4YTVQMUZsSzJacWk5RTRVcUxXUmhINi9Kb2NkSjZQbHdzQ1QyVEc5V2pUU3kzL3BEY2VpeisvUkw1aApScUdFUFFnblRJRWdkNGtJNm1kQVhtd0lVVjgwV295V2FNM1g5NG5DSE5NeUFLOVN5OU5nV3lvNlIzNXJNRE9oWWlsL1NybmhMZWNVCkl3NE9HRWZoZWZ3VlZkQ3gvQ1Z4WTNVekhDTXJyMXpaN1VkM1lBNDdEeDdTd054a0JZbjhlTlpjTENaRHFRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlFcWpDQ0E1S2dBd0lCQWdJT0xtb0FBUUFDSDlkU0lTd1JYRHN3RFFZSktvWklodmNOQVFFRkJRQXdkakVMTUFrR0ExVUVCaE1DClJFVXhIREFhQmdOVkJBb1RFMVJESUZSeWRYTjBRMlZ1ZEdWeUlFZHRZa2d4SWpBZ0JnTlZCQXNUR1ZSRElGUnlkWE4wUTJWdWRHVnkKSUVOc1lYTnpJRElnUTBFeEpUQWpCZ05WQkFNVEhGUkRJRlJ5ZFhOMFEyVnVkR1Z5SUVOc1lYTnpJRElnUTBFZ1NVa3dIaGNOTURZdwpNVEV5TVRRek9EUXpXaGNOTWpVeE1qTXhNakkxT1RVNVdqQjJNUXN3Q1FZRFZRUUdFd0pFUlRFY01Cb0dBMVVFQ2hNVFZFTWdWSEoxCmMzUkRaVzUwWlhJZ1IyMWlTREVpTUNBR0ExVUVDeE1aVkVNZ1ZISjFjM1JEWlc1MFpYSWdRMnhoYzNNZ01pQkRRVEVsTUNNR0ExVUUKQXhNY1ZFTWdWSEoxYzNSRFpXNTBaWElnUTJ4aGMzTWdNaUJEUVNCSlNUQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQwpBUW9DZ2dFQkFLdUFoNXVPOE1OOGg5Zm9KSUlSc3p6ZFEyTHUrTU5GMnVqaG9GL1JLckxxazJqZnRNaldRK25FZFZsLy9PRWQrREZ3Ckl4dUluaWU1ZS8wNjBzbXA2UlF2a0w0RFVzRkp6ZmI5NUFobUMxZUtva0tndU5WL2FWeVFNcktYRGNwSzNFWStBbFdKVStNYVdzczIKeGdkVzk0elBFZlJNdXpCd0JKV2w5am1NL1hPQkNIMkpYakllSXFraVJVdXdaaTR3eko5bC9mekxnYW54NER1dm80YlJpZXJFUlhsUQpYYTdwSVhTU1RZdFpnbytVNCtsSzhlZEpzQlRqOVdMTDFYSzlIN25TbjZETnFQb0J5TmtOMzlyOFI1Mnp5RlRmU1VyeElhbitHRTd1ClNOUVp1Kzk5NU9LZHkxdTJidi9qelZybmRJSUZ1b0FsT012a2FaNnZRYW9haFBVQ0F3RUFBYU9DQVRRd2dnRXdNQThHQTFVZEV3RUIKL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnRUdNQjBHQTFVZERnUVdCQlRqcTFSTWdLSGJWa08za1VyTDg0SjZFMXdJcXpDQgo3UVlEVlIwZkJJSGxNSUhpTUlIZm9JSGNvSUhaaGpWb2RIUndPaTh2ZDNkM0xuUnlkWE4wWTJWdWRHVnlMbVJsTDJOeWJDOTJNaTkwClkxOWpiR0Z6YzE4eVgyTmhYMGxKTG1OeWJJYUJuMnhrWVhBNkx5OTNkM2N1ZEhKMWMzUmpaVzUwWlhJdVpHVXZRMDQ5VkVNbE1qQlUKY25WemRFTmxiblJsY2lVeU1FTnNZWE56SlRJd01pVXlNRU5CSlRJd1NVa3NUejFVUXlVeU1GUnlkWE4wUTJWdWRHVnlKVEl3UjIxaQpTQ3hQVlQxeWIyOTBZMlZ5ZEhNc1JFTTlkSEoxYzNSalpXNTBaWElzUkVNOVpHVS9ZMlZ5ZEdsbWFXTmhkR1ZTWlhadlkyRjBhVzl1ClRHbHpkRDlpWVhObFB6QU5CZ2txaGtpRzl3MEJBUVVGQUFPQ0FRRUFqTmZmZnU0YmdCQ3pnL1hiRWVwclM2aVNHTm4zQnpuMUxMNEcKZFhwb1V4VWM2a3J0WHZ3anNoT2cwd24vOXZZdWEwRnhlYzNpYmYydVdXdUZIYmhPSXBydFpqbHVTNVRtVmZ3TEc0dDN3Vk1UWm9uWgpLTmFMODBWS1k3Zjlld3RoWGJodHZzUGNXM25TN1libG9rMitYblI4YXUwV09COS9XSUZhR3VzeWlDMnk4emwzZ0s5ZXRtRjFLZHNqClRZaktVQ2pMaGRMVEVLSlpidE9UVkFCNm9rYVZoZ1djcVJtWTVURnlEQURpWjlsQTRDUXplMjhzdVZ5clpaMHNySGJxTlpuMWw3a1AKSk96SGRpRW9aYTVYNkFlSWRVcFdvTklGT3FUbWpaS0lMUFB5NGNIR1lkdEJ4Y2ViOXc0YVVVWENZV3ZjWkNjWGpGcTMyblFvelpmawp2UT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0EgSUkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRXFqQ0NBNUtnQXdJQkFnSU9Ta2NBQVFBQzVhQmQxajhBVWI4d0RRWUpLb1pJaHZjTkFRRUZCUUF3ZGpFTE1Ba0dBMVVFQmhNQwpSRVV4SERBYUJnTlZCQW9URTFSRElGUnlkWE4wUTJWdWRHVnlJRWR0WWtneElqQWdCZ05WQkFzVEdWUkRJRlJ5ZFhOMFEyVnVkR1Z5CklFTnNZWE56SURNZ1EwRXhKVEFqQmdOVkJBTVRIRlJESUZSeWRYTjBRMlZ1ZEdWeUlFTnNZWE56SURNZ1EwRWdTVWt3SGhjTk1EWXcKTVRFeU1UUTBNVFUzV2hjTk1qVXhNak14TWpJMU9UVTVXakIyTVFzd0NRWURWUVFHRXdKRVJURWNNQm9HQTFVRUNoTVRWRU1nVkhKMQpjM1JEWlc1MFpYSWdSMjFpU0RFaU1DQUdBMVVFQ3hNWlZFTWdWSEoxYzNSRFpXNTBaWElnUTJ4aGMzTWdNeUJEUVRFbE1DTUdBMVVFCkF4TWNWRU1nVkhKMWMzUkRaVzUwWlhJZ1EyeGhjM01nTXlCRFFTQkpTVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0MKQVFvQ2dnRUJBTFRndTFHN09WeUxCTVZNZVJ3amhqRVFZME5WSnovR1JjZWtQZXdKRFJvZUlNSldIdDRiTndjd0lpOXY4UWJ4cTYzVwp5S3Rob3k5RHhMQ3lMZnpEbG1sN2Zvcmt6TUE1RXBCQ1lNbk1OV2p1MmwrUVZsL05IRTFiV0VuckRnRlBaUG9zUElsWTJDOHU0ckJvCjZTSTdkWW5XUkJwbDhodVhKaDBvYmF6b3ZWa2RLeVQyMW9RRFpvZ2tBSGhnOGZpci9nS3lhL3NpK3pYbUZ0R3Q5aTRTNVBvMWF1VVoKdVYzYk94NGErOVAvRlJRSTJBbHF1a1dkRkhsZ2ZhOUFpZ2R6czVPVzAzUTBqVG8zS2Q1YzdQWHVMakhDSU55KzhVOS9JMUxaVytKawoyWnlxQndpMVJiM1IwREhCcTFTZnFkTERZbUFEOGJzNVNwSktQUXE1bmNXZy9qY0NBd0VBQWFPQ0FUUXdnZ0V3TUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0VHTUIwR0ExVWREZ1FXQkJUVW92eWZzOFBZQTlOWFhBZWswQ1Nud1BJQTFEQ0IKN1FZRFZSMGZCSUhsTUlIaU1JSGZvSUhjb0lIWmhqVm9kSFJ3T2k4dmQzZDNMblJ5ZFhOMFkyVnVkR1Z5TG1SbEwyTnliQzkyTWk5MApZMTlqYkdGemMxOHpYMk5oWDBsSkxtTnliSWFCbjJ4a1lYQTZMeTkzZDNjdWRISjFjM1JqWlc1MFpYSXVaR1V2UTA0OVZFTWxNakJVCmNuVnpkRU5sYm5SbGNpVXlNRU5zWVhOekpUSXdNeVV5TUVOQkpUSXdTVWtzVHoxVVF5VXlNRlJ5ZFhOMFEyVnVkR1Z5SlRJd1IyMWkKU0N4UFZUMXliMjkwWTJWeWRITXNSRU05ZEhKMWMzUmpaVzUwWlhJc1JFTTlaR1UvWTJWeWRHbG1hV05oZEdWU1pYWnZZMkYwYVc5dQpUR2x6ZEQ5aVlYTmxQekFOQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBTm1Ea2NQY0dJRVBaSXhwQzh2aWpzcmxOaXJUendwcFZNWHpFCk8yZWF0TjlORG9xVFNoZUxHNDNLaWVIUE9oNnNIZkdjTXJTT1dYYWlRWVVsTjZBVDBQVjhUdFhxbHVKdWNzRzdLdjVzYnZpUm1FYjgKeVJ0WFcrcklHanMvc0ZHWVBBZmFMRmtCMm90RTZPRjAvYWRvM1ZTNmcwYnN5RWExK0srWHdEc0pISS9PY3BZOU0xWnd2SmJMMk5WOQpJSnFEbnhyY09mSEZjcU1SQS8wN1FsSXAyK2dCOTV0ZWpOYU5oazRaK3J3Y3ZzVWhwWWVlZUM0MjJ3bHhvM0kwK0d6akJnbnlYbGFsCjA5MlkrdFRtQnZUd3RpQmpTK29wdmFxQ1poNzdnYXFuTjYwVEdPYVN3NEhCTTd1SUhxSG40clM5TVd3T1VUMXYrNVpXZ09JMkY5SGMKNUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpUQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRDNUQ0NBc1dnQXdJQkFnSU9IYUlBQVFBQzdMZGdnSGlOdGdZd0RRWUpLb1pJaHZjTkFRRUZCUUF3ZVRFTE1Ba0dBMVVFQmhNQwpSRVV4SERBYUJnTlZCQW9URTFSRElGUnlkWE4wUTJWdWRHVnlJRWR0WWtneEpEQWlCZ05WQkFzVEcxUkRJRlJ5ZFhOMFEyVnVkR1Z5CklGVnVhWFpsY25OaGJDQkRRVEVtTUNRR0ExVUVBeE1kVkVNZ1ZISjFjM1JEWlc1MFpYSWdWVzVwZG1WeWMyRnNJRU5CSUVrd0hoY04KTURZd016SXlNVFUxTkRJNFdoY05NalV4TWpNeE1qSTFPVFU1V2pCNU1Rc3dDUVlEVlFRR0V3SkVSVEVjTUJvR0ExVUVDaE1UVkVNZwpWSEoxYzNSRFpXNTBaWElnUjIxaVNERWtNQ0lHQTFVRUN4TWJWRU1nVkhKMWMzUkRaVzUwWlhJZ1ZXNXBkbVZ5YzJGc0lFTkJNU1l3CkpBWURWUVFERXgxVVF5QlVjblZ6ZEVObGJuUmxjaUJWYm1sMlpYSnpZV3dnUTBFZ1NUQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dFUEFEQ0NBUW9DZ2dFQkFLUjNJNVpFcjVEME1hY1E5Q2FIblBNNDJROWUzczlCNkRHdHhuU1JKSlo0SGdtZ201cVZTa3IxWW53QwpxTXFzKzFvRWRqbmVYL0g1czcvekExaFYwcXEzNHdRaTBmaVUyaUlJQUkzVGZDWmR6SGQ1NXl4NE9hZ21jdzZpWFNWcGhVOVZEcHJ2CnhybEU0VmM5M3g5VUl1VnZaYW96aERyenpucStWWmV1alJJUEZEUGlVSEREU1ljVHZGSGUxNWdTV3U4Nmd6T1NCbldMa253U2FIdHcKYWcrMW03WjNXMGhabmVUdldxM3p3WjdVMTBWT3lsWTBJYncrRjF0dmR3eElBVU1wc04wL2xtN21sYW9Nd0NDMi9UNDJKNXpqWE05TwpnZHdadTVHUWZlem1sd1Flazh3aVNkZVhocllUQ2p4REkzZCs4TnptelNRZk80T2JORHFETk9NQ0F3RUFBYU5qTUdFd0h3WURWUjBqCkJCZ3dGb0FVa3FSMUxLU2V2b0ZFNjNuOGlzV1ZwZXNRZFhNd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBT0JnTlZIUThCQWY4RUJBTUMKQVlZd0hRWURWUjBPQkJZRUZKS2tkU3lrbnI2QlJPdDUvSXJGbGFYckVIVnpNQTBHQ1NxR1NJYjNEUUVCQlFVQUE0SUJBUUFvMHVDRwoxZWI0ZS9DWDNDSnJPNVVVVmc4Uk1LV2FUenF3T3VBR3kyWDE3Y2FYSi80bDhsZm1YcFdNUG1SZ0ZWcC9MdzBCeGJGZy9VVTF6L0N5CnZ3Ylo3MXErczJJaHROZXJOWHhUUHFZbjhhRXQyaG9qbmN6ZDdEd3RuaWMwWFEvQ05ubTh5VXBpTGUxcjJYMUJRM3kycXNydFliRTMKZ2hVSkdvb1dNTmpzeWRaSGNuaExFRVlVamw4T3IrekhMNnNRMTdieGJ1eUdzc0xvRFpKejNLTDBEenEvWVNNUWlaeElRRzV3QUxQVAp1amRFV0JGNkFtcUk4RGMwOEJucHJOUmxjL1pwakdTVU9ubUZLYkFXS3d5Q1B3YWN4LzBRSzU0UExMYWU0eFcvMlRZY3VpVWFVajBhCjdDSU1IT0Nrb2ozdzZEblBnY0I3N1YwZmI4WFFDOWVZCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkRldXRzY2hlIFRlbGVrb20gUm9vdCBDQSAyCj09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEbnpDQ0FvZWdBd0lCQWdJQkpqQU5CZ2txaGtpRzl3MEJBUVVGQURCeE1Rc3dDUVlEVlFRR0V3SkVSVEVjTUJvR0ExVUVDaE1UClJHVjFkSE5qYUdVZ1ZHVnNaV3R2YlNCQlJ6RWZNQjBHQTFVRUN4TVdWQzFVWld4bFUyVmpJRlJ5ZFhOMElFTmxiblJsY2pFak1DRUcKQTFVRUF4TWFSR1YxZEhOamFHVWdWR1ZzWld0dmJTQlNiMjkwSUVOQklESXdIaGNOT1Rrd056QTVNVEl4TVRBd1doY05NVGt3TnpBNQpNak0xT1RBd1dqQnhNUXN3Q1FZRFZRUUdFd0pFUlRFY01Cb0dBMVVFQ2hNVFJHVjFkSE5qYUdVZ1ZHVnNaV3R2YlNCQlJ6RWZNQjBHCkExVUVDeE1XVkMxVVpXeGxVMlZqSUZSeWRYTjBJRU5sYm5SbGNqRWpNQ0VHQTFVRUF4TWFSR1YxZEhOamFHVWdWR1ZzWld0dmJTQlMKYjI5MElFTkJJREl3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQ3JDNk0xNElzcEZMRVVoYTg4RU9RNQpielZkU3E3ZDZtR05sVW4wYjJTakdtQm1wS2xBSW9UWjFLWGxlSk1PYUFHdHVVMWNPczdUdUtoQ1FOL1BvN3FDV1dxU0c2d2NtdG9JCkt5VW4rV2tqUi9IZzZ5eDZtL1VUQXRCK05IekNuandBV2F2MTJnejFNandyckZEYTFzUGVnNVRLcUF5Wk1nNElTRlpiYXZ2YTRWaFkKQVVsZmNrRThGUVlCamwydHFyaVR0TTJlNjZmb2FpMVNOTnM2NzF4MVVkcmI4ekg1N25HWU1zUlVGVVFNK1p0VjdhM2ZHQWlnbzRhSwpTZTVUQlk4WlROWGVXSG1iMG1vY1FxdkYxYWZQYUErVzVPRmhtSFpoeUpGODFqNEE0cEZRaCtHZEN1YXRsOUlkeGpwOXk3emFBelRWCmpsc0I5V29IdHhhMmJrcC9BZ01CQUFHalFqQkFNQjBHQTFVZERnUVdCQlF4dzNrYnV2VlQxeGZnaVhvdEYyd0tzeXVkTXpBUEJnTlYKSFJNRUNEQUdBUUgvQWdFRk1BNEdBMVVkRHdFQi93UUVBd0lCQmpBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQWxHUlpyVGxrNXlucgpFLzVhdzRzVFY4Z0VKUEIwZDhCZzQyZjc2WW1tZzcrV2dueHUxTU05NzU2QWJyc3B0Smg2c1R0VTZ6a1hSMzRhamd2OEh6RlpNUVN5CnpoZnpMTWRpTmxYaUl0aUpWYlNZU0twayt0WWNOdGhFZUZwYUl6cFhsL1Y2TUUrdW4ycE1TeXVPb0FQalB1Q3AxTko3MHJPbzRuSTgKclo3L2dGbmttMFcwOWp1d3pUa1ptRExsNmlGaGtPUXhJWTQwc2Zjdk5VcUZFTnJuaWpjaHZsbGo0UEtGaURGVDFGUVVoWEI1OUM0RwpkeWQxTHgrNGl2bit4YnJZTnVTRDdPZGx0NzlqV3ZOR3I0R1VOOVJCak5ZajFoN1A5V2diUkdPaVdycW5OVm1oNVhBRm13NGpWNW1VCkNtMjZPV01vaHBMekdJVFkrOUhQQlZaa1Z3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQ29tU2lnbiBTZWN1cmVkIENBCj09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRHF6Q0NBcE9nQXdJQkFnSVJBTWNvUndtenVHeEZqQjM2SlBVMlR1a3dEUVlKS29aSWh2Y05BUUVGQlFBd1BERWJNQmtHQTFVRQpBeE1TUTI5dFUybG5iaUJUWldOMWNtVmtJRU5CTVJBd0RnWURWUVFLRXdkRGIyMVRhV2R1TVFzd0NRWURWUVFHRXdKSlREQWVGdzB3Ck5EQXpNalF4TVRNM01qQmFGdzB5T1RBek1UWXhOVEEwTlRaYU1Ed3hHekFaQmdOVkJBTVRFa052YlZOcFoyNGdVMlZqZFhKbFpDQkQKUVRFUU1BNEdBMVVFQ2hNSFEyOXRVMmxuYmpFTE1Ba0dBMVVFQmhNQ1NVd3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBdwpnZ0VLQW9JQkFRREd0V2hmSFpRVnc2UUlWUzNqb0ZkNjcrbDBLcnU1ZkZkSkdoRmVUeW1IREVqV2F1ZVAxSDVYSkxrR2llUWNQT3FzCjQ5b2hnSE1oQ3U5NW1Hd2ZDUCtoVUgzeW1CdkpWRzgrcFNqc0lRUVBSYnNIUGFIQStpcVlIVTRHay92MWlEdXJYOHNXditiem5rcUgKN1JucXdwOUQ1UEdCcFg4UVR6N1JTbUt0VXh2TGcvOEhaYVdTTFdhcFc3aGE5QjIwSVpGS0YzdWVNdjVXSkRteVZJUkQ5WVRDMkx4QgprTXlkMW1qYTZZSlFxVHRvejdWZEFwUmdGckZEMlVOZDNWMkhidXE3czhscjlnT1VDWERlRmhGNksraDJqMGtRbUhlNVkxeUxNNWQxCjlndU1zcXRiM25RZ0pUL2o4eEg1aDJpR05YSERIWXd0NitVYXJBOXoxWUpaUUlEVEFnTUJBQUdqZ2Fjd2dhUXdEQVlEVlIwVEJBVXcKQXdFQi96QkVCZ05WSFI4RVBUQTdNRG1nTjZBMWhqTm9kSFJ3T2k4dlptVmthWEl1WTI5dGMybG5iaTVqYnk1cGJDOWpjbXd2UTI5dApVMmxuYmxObFkzVnlaV1JEUVM1amNtd3dEZ1lEVlIwUEFRSC9CQVFEQWdHR01COEdBMVVkSXdRWU1CYUFGTUZMN1hDMjl6NThBRHNBCmo4YytEa1dmSGwzc01CMEdBMVVkRGdRV0JCVEJTKzF3dHZjK2ZBQTdBSS9IUGc1Rm54NWQ3REFOQmdrcWhraUc5dzBCQVFVRkFBT0MKQVFFQUZzL3VraE5RcTNzVW5qTzJRaUJxMUJXOUNhdjhjdWp2UjNxUXJGSEJaRTdwaUwxRFJZSGpaaU0vRW9aTkdlUUZzT1kzd28zYQpCaWpKRDRta1U2bDFQN0NXKzZ0TU0xWDVlQ1pHYnhzMm1QdENkc0dDdVk3ZSswWDVZeHRpT3prR3luZDZxRHdKejJ3MlBROEtSVXRwCkZocEZmVE1EWmZsU2NaQW1sYXhNRFBXTGt6L01kWFNGbUxyL1lucE5ING4rcnIyVUFKbS9FYVhjNEhuRkZndDlBbUVkNm9YNUFoVlAKNTFxSlRoUnY0emRMaGZYQlBHSGcvUVZCc3BKL3d4MmcwSzVTWkdCckdNWW1uTmoxWk9RMkdtS2ZpZzgrLzIxT0dWWk9JSkZzbnpRegpPalJYVURwdmdWNEd4dlUrZkU2T0s4NWxCaTVkMGlwVGRGN1RiaWVlanc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpDeWJlcnRydXN0IEdsb2JhbCBSb290Cj09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURvVENDQW9tZ0F3SUJBZ0lMQkFBQUFBQUJENFdxTFVnd0RRWUpLb1pJaHZjTkFRRUZCUUF3T3pFWU1CWUdBMVVFQ2hNUFEzbGkKWlhKMGNuVnpkQ3dnU1c1ak1SOHdIUVlEVlFRREV4WkRlV0psY25SeWRYTjBJRWRzYjJKaGJDQlNiMjkwTUI0WERUQTJNVEl4TlRBNApNREF3TUZvWERUSXhNVEl4TlRBNE1EQXdNRm93T3pFWU1CWUdBMVVFQ2hNUFEzbGlaWEowY25WemRDd2dTVzVqTVI4d0hRWURWUVFECkV4WkRlV0psY25SeWRYTjBJRWRzYjJKaGJDQlNiMjkwTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEKK01pOHZSUlFaaFAvOE5ONTdDUHl0eHJIam9YeEVuT21HYW9RMjV5aVpYUmFkejVSZlZiMjNDTzIxTzFmV0xFM1RkVkpEbTcxYW9mVwowb3pTSjhiaS96YWZtR1dnRTA3R0ttU2IxWkFTenhRRzlEdmoxQ2krNkE3NHEwNUlsRzJPbFRFUVhPMmlMYjNWT20yeUhMdGd3RVpMCkFmVkpybjVHaXRCMGphRU1Bczd1L09lUHVHdG04MzlFQUw5bUpSUXIzUkF3SFFlV1AwMzJhN2lQdDNzTXBUanIza2ZiMVYwNS9JaW4KODljcWRQSG9XcUk3bjFDNnBveEZOY0pRWlpYY1k0THYzYjkzVFp4aXlXTnpGdEFwRDBtcFNQQ3pxcmRzeGFjd09VQmRyc1RpWFNaVAo4TTRjSXdoaHFKUVp1Z1JpUU93Zk9IQjNFZ1p4cHpBWVhTVW5wUUlEQVFBQm80R2xNSUdpTUE0R0ExVWREd0VCL3dRRUF3SUJCakFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJTMkNIc05lc3lzSUV5R1ZqSmV6NnR1aFMxd1Z6QS9CZ05WSFI4RU9EQTIKTURTZ01xQXdoaTVvZEhSd09pOHZkM2QzTWk1d2RXSnNhV010ZEhKMWMzUXVZMjl0TDJOeWJDOWpkQzlqZEhKdmIzUXVZM0pzTUI4RwpBMVVkSXdRWU1CYUFGTFlJZXcxNnpLd2dUSVpXTWw3UHEyNkZMWEJYTUEwR0NTcUdTSWIzRFFFQkJRVUFBNElCQVFCVzd3b2pvRlJPCmxaZkorSW5hUmNIVW93QWw5QjhUcTdlamhWaHB3akN0MkJXS0xlUEp6WUZhK0hNaldxZDhCZlA5SWpzTzBRYkUyelpNY3dTTzViQWkKNU1YekxxWFpJK080VGtvZ3AyNENKSjhpWUdkN2l4MXlDY1V4WE9sNW40QkhQYTJoQ3djVVBVZi9BMmthREF0RTUyTWxwMyt5eWJoMgpoTzBqOW4wSHEwViswOSt6dittS3RzMm9vbWNyVXRXM1pmQTVUR09na1htVFVnOVUzWU83bjlHUHAxTnp3OHYvTU94OEJMallSQitUClgzRUpJcmR1UHVvY0EwNmRHaUJoKzRFMzdGNzhDa1dyMStjWFZkQ2c2bUNicHZiampGc3B3Z1pnRkowdGwweXBreFdkWWNRQlgwalcKV0wxV01SSk9FY2doNExNUmtXWGJ0S2FJT001VgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgplUEtJIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGc0RDQ0E1aWdBd0lCQWdJUUZjaTlaVWRjcjdpWEFGN2tCdEs4blRBTkJna3Foa2lHOXcwQkFRVUZBREJlTVFzd0NRWURWUVFHCkV3SlVWekVqTUNFR0ExVUVDZ3dhUTJoMWJtZG9kMkVnVkdWc1pXTnZiU0JEYnk0c0lFeDBaQzR4S2pBb0JnTlZCQXNNSVdWUVMwa2cKVW05dmRDQkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHZjbWwwZVRBZUZ3MHdOREV5TWpBd01qTXhNamRhRncwek5ERXlNakF3TWpNeApNamRhTUY0eEN6QUpCZ05WQkFZVEFsUlhNU013SVFZRFZRUUtEQnBEYUhWdVoyaDNZU0JVWld4bFkyOXRJRU52TGl3Z1RIUmtMakVxCk1DZ0dBMVVFQ3d3aFpWQkxTU0JTYjI5MElFTmxjblJwWm1sallYUnBiMjRnUVhWMGFHOXlhWFI1TUlJQ0lqQU5CZ2txaGtpRzl3MEIKQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBNFNVUDdvM2JpRE4xWjgydEgzMDZUbTJkMHk4VTgyTjB5d0VoYWpmcWhGQUhTeVpiQ1VOcwpJWjVxeU5VRDlXQnBqOHp3SXVRZjUvZHFJakczTEJYeTRQNEFha1AvaDJYR3RSckJwMHh0SW5BaGlqSHlsM1NKQ1JJbUhKN0syUktpCmxUemE2V2UvQ0tCazQ5WkN0MFh2bC9UMjlkZTFTaFVDV0gyWVdFdGd2TTNYRFpvVE0xUFJZZmw2MWRkNHM1b3o5d0NHemgxTmxEaXYKcU94NFVYQ0tYQkNEVVNIM0VUMDBobDdsU00yWGdZSTFUQm5zWmZacnhRV2g3a2NUMXJNaEo1UVFDdGtrTzdxK1JCTkdNRCtYUE5qWAoxMnJ1T3pqaks5U1hEcmtiNXdkSmZ6Y3ErWGQ0ejFUdFcwYWRvNEFPa1VQQjFsdGZGTHFmcG8wa1IwQlp2M0k0c2pac04vK1owVjBPCldRcXJhZmZBc2dSRmVsUUFycjVUOXJYbjRmZzhvekhTcWY0aFVtVEZwbWZ3ZFFjR2xCU0JWY1luNUFHUEY4RnFjZGUrUy91VVdIMSsKRVRPeFF2ZGliQmpXendsb1BuOXM5aDZQWXEybFk5c0pweDhpUWtFZWI1bUtQdGY1UDBCNmViQ2xBWkxTblQwSUZhVVFBUzJ6TW5hbwpsUTJ6ZXByN0J4QjRFVy9oajhlNkR5VWFkQ3JsSEpoQm1kOGhoK2lWQm1vS3MycEhkbVgyT3MrUFloY1pld29velJyU2d4NGh4eXkvCnZ2OWhhTGRuRzd0NFRZM09aK1hrd1k2M0kyYmluWkIxTkppcE5pdUttcFM1bmV6TWlySDRKWWxjV3JZdmpCOXRlU1NuVW1qRGhEWGkKWm8xakRpVk4xUm15NW5rM3B5S2RWREVDQXdFQUFhTnFNR2d3SFFZRFZSME9CQllFRkI0TTk3Wm44dUdTSmdsRndGVTVMbmMvUWtxaQpNQXdHQTFVZEV3UUZNQU1CQWY4d09RWUVaeW9IQUFReE1DOHdMUUlCQURBSkJnVXJEZ01DR2dVQU1BY0dCV2NxQXdBQUJCUkZzTUxICkNsWjg3bHQ0REpYNUdGUEJwaHpZRURBTkJna3Foa2lHOXcwQkFRVUZBQU9DQWdFQUNiT0RVMWtCUHBWSnVmR0J1dmwySUNPMUoyQjAKMUdxWk5GNXNBRlBabi9LbXNTUUhSR29xeHFXT2VCTG9SOWxZR3hNcVhubWJud29xWjZZbFB3WnBWblBEaW1aSSt5bUJWM1FHeXB6cQpLT2c0WnlZcjhkVzFQMldUK0RaZGpvMk5RQ0NIR2Vydko4QTl0RGtQSlh0b1VIUlZuQXhaZlZvOVFaUWxVZ2pnUnl3Vk1SblZ2d2RWCnhyc1N0WmYwWDRPRnVuSEIyV3lCRVhZS0NyQy9ncGYzNmozNit1d3RxU2lVTzFiZDBsRXVyc0M5Q0JXTWQxSTBsdGFick5NZGptRVAKTlh1YnJqbHBDMkpnUUNBMmo2LzdOdTR0Q0VvZHVMK2JYUGpxcFJ1Z2M2YlkrRzdnTXdSZmFLb25oKzNad1pDYzdiM2phald2WTkrcgpHTm02NXVsSzZsQ0tEMkdUSHVJdEdlSXdsRFdTWFE2MkI2OFpnSTlIa0ZGTExrM2RoZUxTQ2xJS0Y1cjhHckJRQXVVQm8yTTNJVXhFCnhKdFJtUkVPYzV3R2oxUXVweWhlUkRtSFZpMDN2WVZFbE9FTVN5eWN3NUtGTkdITEQ3aWJTa05TL2pRNmZianBLZHgycWNndytCUngKZ01ZZU5raDBJa0ZjaDRMb0dIR0xRWWxFNTM1WVc2aTRqUlBwcDJ6RFIrMnpHcDFpcm8yQzZwU2UzVmtRdzYzZDRrM2pNZFhIN09qeQpzUDZTSGhZS0d2elo4L2dudHNtK0hiUnNaSkIvOU9URVc5YzNya0lPM2FRYWIzeUlWTVVXYnVGNmFDNzRPcjhOcER5Sk8zaW5UbU9ECkJDRUlaNDN5Z2tuUVcvMnh6UStEaE5RK0lJWDNTajByblAwcUNnbE42b0g0RVp3PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpUXHhjM1x4OWNceDQyXHhDNFx4QjBUQUsgVUVLQUUgS1x4QzNceEI2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhXHhDNFx4OUZsYXlceGM0XHhiMVx4NjNceGM0XHhiMXNceGM0XHhiMSAtIFNceEMzXHhCQ3JceEMzXHhCQ20gMwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkZ6Q0NBLytnQXdJQkFnSUJFVEFOQmdrcWhraUc5dzBCQVFVRkFEQ0NBU3N4Q3pBSkJnTlZCQVlUQWxSU01SZ3dGZ1lEVlFRSApEQTlIWldKNlpTQXRJRXR2WTJGbGJHa3hSekJGQmdOVkJBb01QbFREdkhKcmFYbGxJRUpwYkdsdGMyVnNJSFpsSUZSbGEyNXZiRzlxCmFXc2dRWEpoeFo5MHhMRnliV0VnUzNWeWRXMTFJQzBnVk1PY1FzU3dWRUZMTVVnd1JnWURWUVFMREQ5VmJIVnpZV3dnUld4bGEzUnkKYjI1cGF5QjJaU0JMY21sd2RHOXNiMnBwSUVGeVljV2ZkTVN4Y20xaElFVnVjM1JwZE1POGM4TzhJQzBnVlVWTFFVVXhJekFoQmdOVgpCQXNNR2t0aGJYVWdVMlZ5ZEdsbWFXdGhjM2x2YmlCTlpYSnJaWHBwTVVvd1NBWURWUVFEREVGVXc1eEN4TEJVUVVzZ1ZVVkxRVVVnClM4TzJheUJUWlhKMGFXWnBhMkVnU0dsNmJXVjBJRk5oeEo5c1lYbkVzV1BFc1hQRXNTQXRJRlBEdkhMRHZHMGdNekFlRncwd056QTQKTWpReE1UTTNNRGRhRncweE56QTRNakV4TVRNM01EZGFNSUlCS3pFTE1Ba0dBMVVFQmhNQ1ZGSXhHREFXQmdOVkJBY01EMGRsWW5wbApJQzBnUzI5allXVnNhVEZITUVVR0ExVUVDZ3crVk1POGNtdHBlV1VnUW1sc2FXMXpaV3dnZG1VZ1ZHVnJibTlzYjJwcGF5QkJjbUhGCm4zVEVzWEp0WVNCTGRYSjFiWFVnTFNCVXc1eEN4TEJVUVVzeFNEQkdCZ05WQkFzTVAxVnNkWE5oYkNCRmJHVnJkSEp2Ym1scklIWmwKSUV0eWFYQjBiMnh2YW1rZ1FYSmh4WjkweExGeWJXRWdSVzV6ZEdsMHc3eHp3N3dnTFNCVlJVdEJSVEVqTUNFR0ExVUVDd3dhUzJGdApkU0JUWlhKMGFXWnBhMkZ6ZVc5dUlFMWxjbXRsZW1reFNqQklCZ05WQkFNTVFWVERuRUxFc0ZSQlN5QlZSVXRCUlNCTHc3WnJJRk5sCmNuUnBabWxyWVNCSWFYcHRaWFFnVTJIRW4yeGhlY1N4WThTeGM4U3hJQzBnVThPOGNzTzhiU0F6TUlJQklqQU5CZ2txaGtpRzl3MEIKQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBaW0xTC94Q0lPc1AyZnBUbzZpQmtjSzRoZ2I0NmV6emI4UjFTZjFuNjh5Sk1sYUNRdkVoTwpFYXY3dDdXTmVvTW9qQ1pHMkU2VlFJZGhuOFdlYllHSFYyeUtPN1JtNnN4QS9PT3FiTExMQWRzeXY5THJoYytoRFZYRFd6aFhjTGgxCnhublJGRER0RzFoYmErODE4cUVoVHNYT2ZKbGZiTG00SXBOUXA4MU1jR3ErYWdWL0U1d3JIdXIrUjg0RXBXK3NreTU4SzUrZWVST1IKNk9xZXlqaDFqbUt3bFpNcTVkL3BYcGR1SUY5ZmhIcEVPUmxBSExwVksvc3dzb0h2aE9QYzdKZzRPUU9GQ0tsVUF3VXA4TW1QaStvTApobVVaRWRQcENTUGVhSk1EeVRZY0lXN09qR2J4bVREWTE3UERIZmlCTHFpOWdndG0vb0xMNGVBYWdzTkFnUUlEQVFBQm8wSXdRREFkCkJnTlZIUTRFRmdRVXZZaUh5WS8ycEFvTHF1dkYvcEVqbmF0S2lqSXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01BOEdBMVVkRXdFQi93UUYKTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBQjE4K2ttUE5PbTNKcElXbWdWMDUwdlFiVGxzd3liMnpyZ3h2TVRmdkNyNApONUVZM0FUSVpKa3JHRzJBQTFuSnJ2aFkwRDd0d3lPZmFUeUdPQnllNzlvbmVOR0VOM0dLUEVzNXozNUZCdFl0MklwTmVCTFdyY0xUCnk5TFFRZk1tTmtxYmxXd003dVhSUXlkbXdZajNlck1nYk9xd2FTdkhJT2dNQThSQkJabmlQK1JyK0tDR2djZUV4aC9WUzRFU3NoWWgKTEJPaGdMSmVERW9UbmlEWVlrQ3JrT3BrU2krc0RRRVNlVVdvTDRjWmFNamloY2N3c25YNU9EK3l3Sk8wYStJRFJNNW5vTitKMXEyTQpkcU1UdzVSaEsydlpiTUVIQ2lJSGhXeUZKRWFwdmorTGVJU0NmaVFNbmYyQk4rTWxxTzAyVHBVc3laeVEydXlwUWp5dHRnST0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQnV5cGFzcyBDbGFzcyAyIENBIDEKPT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURVekNDQWp1Z0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREJMTVFzd0NRWURWUVFHRXdKT1R6RWRNQnNHQTFVRUNnd1UKUW5WNWNHRnpjeUJCVXkwNU9ETXhOak16TWpjeEhUQWJCZ05WQkFNTUZFSjFlWEJoYzNNZ1EyeGhjM01nTWlCRFFTQXhNQjRYRFRBMgpNVEF4TXpFd01qVXdPVm9YRFRFMk1UQXhNekV3TWpVd09Wb3dTekVMTUFrR0ExVUVCaE1DVGs4eEhUQWJCZ05WQkFvTUZFSjFlWEJoCmMzTWdRVk10T1Rnek1UWXpNekkzTVIwd0d3WURWUVFEREJSQ2RYbHdZWE56SUVOc1lYTnpJRElnUTBFZ01UQ0NBU0l3RFFZSktvWkkKaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFJczhCMFhZOXQvbXg4cTZqVVBGUjQyd1dzRTQyNUtFSEs4VDFBOXZOa1lneEM3TQpjWEEwb2pUVE55N1kzVHAzTDhEcktlaGMwcldwa1RTSElsbit6TnZubWErV3dhakhRTjJsRll4dXlIeVhBOHZtSVBMWGwxOHhvUzgzCjByN3V2cW10cUV5ZUlXWkRPNmk4OHdtak9OVlpKTUhDUjNheGlGeUNPN3NycGdUWGpBZVB6ZFZCSGZDdXVDa3NsRkpnTkpRNzJ1QTQKMFowelBoWDBrekxGQU5xMUtXWU9PbmdQSVZKZkF1V1NleVhUa2g0dkZaMkI1SjJPNk8rSnpoUk1WQjBjZ1JKTmNLaStFQVVYZmgvUgp1RmRWN2MyN1VzS3dIbmpDVFRab3kxWW13VkxCdlhiM1dOVnlmaDlFZHJzQWlSMFduVkUxNzAzQ1Z1OXI0SXc3RGVrQ0F3RUFBYU5DCk1FQXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWRCZ05WSFE0RUZnUVVQNDJhV1l2OGUzdWNvNjg0c0RudGtIR0Exc2d3RGdZRFZSMFAKQVFIL0JBUURBZ0VHTUEwR0NTcUdTSWIzRFFFQkJRVUFBNElCQVFBVkduNFRpcm5vQjZOTEp6S3lRSkh5SWRGa2hiNWphdExQZ2NJVgoxWHArRENtc054NGNmSFpTbGRxMWZ5T2hLWGRseVRLZHFDNVdxMkIyemhhMGpYOTR3TldaVVlOL1h0bStES2hRN1NMSHJRVk1kdnZ0CjdoNUhaUGIzSjMxY0tBOUZ4VnhpWHFhYWtaRzNVeGN1M0sxZ25aWmtPYjFuYUxLdUJjdE41MThmVjRiVklKd28rMjhUT1BYMkVaTDIKZlpsZUh3em9xMFFrS1hKQVBUWlNyNHhZa0hQQjdHRXNlYUhzaDdVLzJrM1pJUUF3M3BEYUR0TWFTS2sraFFzVWk0eThRWjVxOXc1dwp3RFgzT2FKZFp0QjdXWitvUnhLYUp5T2tMWTRuZzVJZ29kY1ZmL0V1R083MFNIOHZmL0doR0xXaEM1U2dZaUF5bkIzMjFPKy9USWhvCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkJ1eXBhc3MgQ2xhc3MgMyBDQSAxCj09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEVXpDQ0FqdWdBd0lCQWdJQkFqQU5CZ2txaGtpRzl3MEJBUVVGQURCTE1Rc3dDUVlEVlFRR0V3Sk9UekVkTUJzR0ExVUVDZ3dVClFuVjVjR0Z6Y3lCQlV5MDVPRE14TmpNek1qY3hIVEFiQmdOVkJBTU1GRUoxZVhCaGMzTWdRMnhoYzNNZ015QkRRU0F4TUI0WERUQTEKTURVd09URTBNVE13TTFvWERURTFNRFV3T1RFME1UTXdNMW93U3pFTE1Ba0dBMVVFQmhNQ1RrOHhIVEFiQmdOVkJBb01GRUoxZVhCaApjM01nUVZNdE9UZ3pNVFl6TXpJM01SMHdHd1lEVlFRRERCUkNkWGx3WVhOeklFTnNZWE56SURNZ1EwRWdNVENDQVNJd0RRWUpLb1pJCmh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS1NPMTNUWktXVGVYeCtIZ0pIcVRqbm1HY1pFQzREVkM2OVRCNHNTdmVabjhBS3gKaWZaZ2lzUmJzRUxSd0NHb3krR2I3MlJSdHFmUEZmVjBnR2dFa0tCWW91WjBwbE5UVlVoalA1SlczU1JPanZpNksvL3pOSXFlS05jMApuNnd2MWcveHBDKzlVckpKaFcwNU5mQkVNSk5HSlBPMjUxUDd2R0d2cWFNVSs4SVhGNFJzNEh5SStNa2NWeXp3UFg2VXZDV1RoT2lhCkFKcEZCVUpYZ1BST3p0bXVPZmJJVXhBTVpUcEhlMkRDMXZxUnljWnhiTDJSaHp5UmhrbXI4dytnYkNaMlhoeXNtM0hsamJ5YklSNmMKMWpoK0pJQVZNWUtXc1VuVFlqZGJpQXdLWWpUK3AwaCttYkV3aTVBM2xSeW9INlVzamZSVnlOdmRXUXJDclhpZzlJc0NBd0VBQWFOQwpNRUF3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVT0JUbXlQQ3BwQVAwVGo0aW8xdnkxdUN0UUhRd0RnWURWUjBQCkFRSC9CQVFEQWdFR01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQUJaNk9NeVNVOUUyTmRGbS9zb1Q0SlhKRVZLaXJaZ0NGUEJkeTcKcFltckV6TXFuamkzakc4Q2NtUEhjM2NlQ1FhNk95aDdwRWZKWVdzSUNDRDhpZ1dLSDd5NnhzTCt6MjdzRXpOeFp5NXArcWtzUDJiQQpFbGxOQzFRQ2tvUzcyeEx2ZzNCd2VNaFQrdC9HeHYvY2lDOEh3RW1kTWxkZzAvTDJtU2xmNTZvQnpLd3pxQndLdTVIRUE2QnZ0alQ1Cmh0T3pkbFNZOUVxQnMxT2RUVURzNVhjVFJhOWJxaC9ZTDB5Q2UvNHF4Rmk3VC95ZS9RTmxHaW9PdzZVZ0ZwUnJlYWFpRXJTN0dxUWoKZWwvd3JvUWs1UE1yKzRva295ZVlaZG93ZFhiOEdaSG8yK3ViUHpLL1FKY0hKcnJNODVTRlNub25rOCtRUXRTNFd4YW01OHRBQTkxNQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpFQkcgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhXHhDNFx4OUZsYXlceGM0XHhiMVx4NjNceGM0XHhiMXNceGM0XHhiMQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRjV6Q0NBOCtnQXdJQkFnSUlUSzl6UWh5T2RBSXdEUVlKS29aSWh2Y05BUUVGQlFBd2dZQXhPREEyQmdOVkJBTU1MMFZDUnlCRgpiR1ZyZEhKdmJtbHJJRk5sY25ScFptbHJZU0JJYVhwdFpYUWdVMkhFbjJ4aGVjU3hZOFN4YzhTeE1UY3dOUVlEVlFRS0RDNUZRa2NnClFtbHNhY1dmYVcwZ1ZHVnJibTlzYjJwcGJHVnlhU0IyWlNCSWFYcHRaWFJzWlhKcElFRXV4WjR1TVFzd0NRWURWUVFHRXdKVVVqQWUKRncwd05qQTRNVGN3TURJeE1EbGFGdzB4TmpBNE1UUXdNRE14TURsYU1JR0FNVGd3TmdZRFZRUUREQzlGUWtjZ1JXeGxhM1J5YjI1cApheUJUWlhKMGFXWnBhMkVnU0dsNmJXVjBJRk5oeEo5c1lYbkVzV1BFc1hQRXNURTNNRFVHQTFVRUNnd3VSVUpISUVKcGJHbkZuMmx0CklGUmxhMjV2Ykc5cWFXeGxjbWtnZG1VZ1NHbDZiV1YwYkdWeWFTQkJMc1dlTGpFTE1Ba0dBMVVFQmhNQ1ZGSXdnZ0lpTUEwR0NTcUcKU0liM0RRRUJBUVVBQTRJQ0R3QXdnZ0lLQW9JQ0FRRHVvSVJoMERwcVpoQXkyREU0ZjZlbjVmMmg0ZnVYZDdoeGx1Z1Rsa2FEVDdieQpYM0pXYmhOZ3BRR1I0bHZGelZjZmQyTlIveTg5MjdrL3FxazE1M25ROWRBa3RpSHE2eU9VL2ltLys0bVJER1NhQlVvcnpBenU4VDJiCmdtbWtUUGlhYitjaTJoQzZYNUw4R0NjS3FLcEUraTRzdFB0R21nZ0RnM0tyaU9ScWNzbmxaUjl1S2crZHMrZzc1QXh1ZXRwWC9kZnIKZVl0ZUlBYlRkZ3RzQXBXamx1VExkbEhSS0oyaEd2eEVvazNNZW5hb0RUMi9GMDhpaUZEOXJyYnNrRkJLVzUrVlFhcktEN0pLL29DWgpUcU5HRmF2NGMwSnF3bVoyc1FvbUZkMlRrdXpicVY5VUlsS1JjRjBUNmtqc2JnTnMyZDFzL09zTkEvK21neEtiOGFtVEQ4VW1UREd5Clk1bGhjdWNxWkpuU3VPbDE0bnlwcVpvYXFzTlcyeENhUElOU3RudVd0NnlIZDZpNThtY0xsRU96cno1eitrSTJzU1hGQ2pFbU4xWm4KdXFNTGZkYjNpYzFub2JjNkhtWlA5cUJWRkNWTUxETU5wa0dNdlFReGFoQnlDcDBPTG5hOVh2TlJpWXVvUDFWenY5czZ4aVFGbHBKSQpxa3VOS2dQbFY1RVE5R29vRlc1SGQ0UmNVWFNmR2VubUhtTVdPZU1SRmVOWUdrUzl5OFJzWnRlRUJ0OHc5RGVpUXlKNTBoQnMzN3ZtCkV4SDhuWVFLRTN2d085RDhvd3JYaWVxV2ZvMUloUjVrWDl0VW9xelZlZ0o1YTlLSzhHZmFaWElORkhEazZZNTRqekowZkZmeTF0YjAKTm9rYitDbHNpN24ybDlHa0xxcStDeG5DUmVsd1hRSURBSjNabzJNd1lUQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01BNEdBMVVkRHdFQgovd1FFQXdJQkJqQWRCZ05WSFE0RUZnUVU1ODdHVC93V1o1YjZTcU1Id1FTbnkycmUya2N3SHdZRFZSMGpCQmd3Rm9BVTU4N0dUL3dXClo1YjZTcU1Id1FTbnkycmUya2N3RFFZSktvWklodmNOQVFFRkJRQURnZ0lCQUp1WW1sMis4eWdqZHNaczkzL21RSjdBTnR5VkRSMnQKRmNVMjJOVTU3L0llSWw2emdyUmR1MHdheXBJTjMwY2tIck1rMnBHSTZZTnczWlBYNmJxejN4WmFQdDdneVB2VC9Xd3ArQlZHb0dnbQp6Sk5Tcm9JQms1REtkOHBOU2UvaVd0a3F2VERPVExLQnRqRE9XVS9hV1IxcWVxUkZzSUltZ1laMjlmVVFBTGp1c3dub1Q0Y0NCNjRrClhQQmZyQW93eklwQW9ITUV3ZnVKSlBhYUhGeTNQQXBuTmdVSU1iT3YyQUZvS3VCNGozVGV1Rkdrakd3Z1BhTDdzOVFKL1h2Q2dLcVQKYkNtWUlhaTdGdk9wRWw5MHRZZVk4cFVtM3pUdmlsT1JpRjBhbEtNL2ZDTDQxNGk2cG95V3FEMVNOR0tmQUI1VVZVSm54azFHajdzVQpSVDBLbGhhT0VLR1htZFhUTUlYTTNyUnl0N3lLUEJncGFQM2NjUWZ1SkRscSt1MmxyRGd2K1I0UURnWnhHaEJNL25WKy94NVhPVUxLCjErRVZvVlpWV1J2Um82OFIyRTdEcFN2dmtML0E3SUlUVzQzV2NpeVRUbzlxS2QrRlBOTU40S0lZRXN4VkwwZTNwNXNDL2tIMmlFeHQKMnFrQlI0TmtKMklRZ3RZU2UxNERIelNweVpIK3IxMXRoaWUzSTZwMUdNb2c1N0FQMTRrT3BtY2lZL1NEUVNzR1M3dFkxZEhYdDdrUQpZOWlKU3JTcTNSWmo5VzYrWUtINDdlaldrRThheHNXZ0tkT25JYWoxV2p6M3gwbWlJWnBLbFZJZ2xuS2Fac3YzMG9aRGZDSytsdm05CkFhaEgzZVU3UVBsMUs1c3JSbVNHalI3MGovc0hkOURxU2FJY2pWSVVwZ3FUCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCmNlcnRTSUdOIFJPT1QgQ0EKPT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRE9EQ0NBaUNnQXdJQkFnSUdJQVlGRm5BQ01BMEdDU3FHU0liM0RRRUJCUVVBTURzeEN6QUpCZ05WQkFZVEFsSlBNUkV3RHdZRApWUVFLRXdoalpYSjBVMGxIVGpFWk1CY0dBMVVFQ3hNUVkyVnlkRk5KUjA0Z1VrOVBWQ0JEUVRBZUZ3MHdOakEzTURReE56SXdNRFJhCkZ3MHpNVEEzTURReE56SXdNRFJhTURzeEN6QUpCZ05WQkFZVEFsSlBNUkV3RHdZRFZRUUtFd2hqWlhKMFUwbEhUakVaTUJjR0ExVUUKQ3hNUVkyVnlkRk5KUjA0Z1VrOVBWQ0JEUVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTGN6dVg3SQpKVXFPdGR1MEtCdXFWNURvMFNMVFpMclRrK2pVcklaaFFHcGdWMmhVaEUyOGFsUUNCZi9mbTVvcXJsMEhqMHJES0gvdit5djZlZkhICnJmQVFVeVNRaTJiSnFJaXJyMXFqQU9tK3VrYnVXM043TEJlQ2dWNWlMS0VDWmJPOXhTc0Fmc1Q4QXpOWERlM2krczVkUmRZNHpUVzIKc3NIUW5JRktxdVN5QVZ3ZGoxK1p4TEd0MjRnaDY1QUlnb0R6TUtORDVwQ0NybFVvU2UxYjE2a1FPQTcrajB4Ym0wYnFRZld3Q0hURAowSWd6dG56WGROL2NoTkZERG5VNW9TVkFLT3A0eXc0c0xqbWRqSXR1Rmh3dkpvSVE0dU5sbEFvRXdGNzNYVnY0RU9MUXVucEwrOTQzCkFBQWFXeWpqMHB4elBqS0htS0hKVVMvWDNxd3pzMDhDQXdFQUFhTkNNRUF3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFPQmdOVkhROEIKQWY4RUJBTUNBY1l3SFFZRFZSME9CQllFRk9DTW05c2xTYlB4ZkliV3NrS0hDOUJyb05ua01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQgpBUUErMGh5SkxqWDgrSFhkNW45bGlQUnlUTWtzMXpKTzg5MFplVWU5amp0Ymt3OVFTU1FUYXhRR2N1OEowNkdoNDBDRXllY1lNblE4ClNHNFBuMHZVOXg3VGs0WmtWSmRqY2xEVlZjLzZJSk1Db3B2REk1Tk9GbFYyb0hCNWJjMGhIODh2TGJ3WjQ0Z3grRmthZ1FuSWw2WjAKeDJERVc4eFhqckoxL1JzQ0NkdFpiM0tUYWZjeFFkYUlPTCtIc3IwV2VmbXE1TDZJSmQxaEp5TWN0VEVIQkRhMEdwQzlvSFJ4VUlsdAp2QlRqRDRhdThhcyt4NkFKektOSTBlRGJaT2VTdGMrdmNrTndpL25EaER3VHFuNlNtMWRUay9wd3dwRU9NZm1iWjEzcGxqaGVYN056ClRvZ1ZaOTZlZGhCaUlMNVZhWlZEQURsTjl1NndXazVKUkZSWVgwS0QKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQ05OSUMgUk9PVAo9PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEVlRDQ0FqMmdBd0lCQWdJRVNUTUFBVEFOQmdrcWhraUc5dzBCQVFVRkFEQXlNUXN3Q1FZRFZRUUdFd0pEVGpFT01Bd0dBMVVFCkNoTUZRMDVPU1VNeEV6QVJCZ05WQkFNVENrTk9Ua2xESUZKUFQxUXdIaGNOTURjd05ERTJNRGN3T1RFMFdoY05NamN3TkRFMk1EY3cKT1RFMFdqQXlNUXN3Q1FZRFZRUUdFd0pEVGpFT01Bd0dBMVVFQ2hNRlEwNU9TVU14RXpBUkJnTlZCQU1UQ2tOT1RrbERJRkpQVDFRdwpnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEVE5mYy9jM2V0NkZ0ekY4TFJiKzFWdkc3cTZLUjVzbXpECm8rL2huN0U3U0lYMW1sd2hJaEFzeFlMTzJ1T2FiamZoaHl6Y3VReGF1b2hWMy8ycTJ4OHg2Z0h4M3prQndSUDlTRkloeEZYZjJ0aXoKVkhhNmRMRzNmZGZBNlBaWnhVM0l2YTBmRk5yZldFUWxNaGtxeDM1K2pxNDRzREI3UjNJSk1mQXcyOE1iZGltN2FYWk9WL2tiWktLVApWcmR2bVc3YkNnU2NFZU9BSDh0amxCQUtxZUZrZ2pINWpDZnRwcGtBOW5DVEdQaWhOSWFqM1hyQ0dIbjJlbVUxejVEcnZUT1RuMU9yCmN6dm1telFnTHgzdnFSMWpHcUNBMndNditTWWFodEtOdTZtK1VqcUhaMGdOdjdTZzJDYStJMTl6TjM4bTVwSUVvMy9QSUtlMzh6cksKeTVuTEFnTUJBQUdqY3pCeE1CRUdDV0NHU0FHRytFSUJBUVFFQXdJQUJ6QWZCZ05WSFNNRUdEQVdnQlJsOGpHdEt2ZjMzVktXQ3NjQwp3UTd2cHRVN0VUQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01Bc0dBMVVkRHdRRUF3SUIvakFkQmdOVkhRNEVGZ1FVWmZJeHJTcjM5OTFTCmxnckhBc0VPNzZiVk94RXdEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBRXMxN3N6a3JyL0RicTJmbFR0TFAxc2UzMWNwb2xuS09PSzUKR3YrZTVtNHkzUjZ1NmpXMzlaT1JUdHBDNGNNWFlGRHkwVndtdVlLMzZtM2tuSVRuQTNrWHI1ZzlsTnZIdWdEbnVMOEJWOEYzUlRJTQpPL0cwSEFpdy9WR2dvZDJhSFJNMm1tMjN4enk1NGNYWkYvcUQxVDBWb0R5N0hndml5SkEvcUlZTS9QbUxYb1hMVDF0TFloRkh4VVY4CkJTOUJzWjRRYVJ1Wmx1QlZlZnRPaHBtNGxOcUdPR3FUbytmTGJ1WGY2aUZWaVp4OWZYK1k5UUNKN3VPRXdGeVd0Y1ZHNmtiZ2hWVzIKRzhrUzFzSE56WUR6QWdFOHlHbkxSVWhqMkpUUTdJVU9PMDRSWmZTQ2pLWTlyaTRpbEFuSVhPbzhnVjBXS2dPWEZsVUoyNHBCZ3A1bQpteEU9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkFwcGxpY2F0aW9uQ0EgLSBKYXBhbmVzZSBHb3Zlcm5tZW50Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEb0RDQ0FvaWdBd0lCQWdJQk1UQU5CZ2txaGtpRzl3MEJBUVVGQURCRE1Rc3dDUVlEVlFRR0V3SktVREVjTUJvR0ExVUVDaE1UClNtRndZVzVsYzJVZ1IyOTJaWEp1YldWdWRERVdNQlFHQTFVRUN4TU5RWEJ3YkdsallYUnBiMjVEUVRBZUZ3MHdOekV5TVRJeE5UQXcKTURCYUZ3MHhOekV5TVRJeE5UQXdNREJhTUVNeEN6QUpCZ05WQkFZVEFrcFFNUnd3R2dZRFZRUUtFeE5LWVhCaGJtVnpaU0JIYjNabApjbTV0Wlc1ME1SWXdGQVlEVlFRTEV3MUJjSEJzYVdOaGRHbHZia05CTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBcDIzZ2RFNkhqNlVHM21paTI0YVpTMlFOY2ZBS0JadU9xdUhNTHRKcU84RjZ0SmRoallxK3hwcWNCclNHVWVRM0RuUjQKZmwrS2Y1U2sxMGNJL1ZCYVZ1Um9yQ2h6b0h2cGZ4aVNRRTh0bmZXdVJFaHpOZ2FlWkN3N05DUGJYQ2JrY1htUDFHNTVJcm1Ud2NyTgp3VmJ0aUdyWG9Ea2hCRmNzb3ZXOFIwRlBYalFpbGJVZktXMWVTdk5OY3I1QlZpQ0gvT2xRUjljd0ZPNWNqRlc2V1kySC9DUGVrOUFFCmpQM3ZiYjNRZXNtbE9tcHlNOFpLRFFVWEtpMTdzYWZZMXZDKzlEL3FEaWh0UVdFamRuakR1R1drODFxdXpNS3EyZWRZM3JaK25ZVnUKbnlvS2I1OERLVENYS0IyOHQ4OVVLVTVSTWZrbnRpZ20vcUpqNWtFVzhET1lSd0lEQVFBQm80R2VNSUdiTUIwR0ExVWREZ1FXQkJSVQpXc3NtUDNITWxFWU5sbFBxYTBqUWsvNUNkVEFPQmdOVkhROEJBZjhFQkFNQ0FRWXdXUVlEVlIwUkJGSXdVS1JPTUV3eEN6QUpCZ05WCkJBWVRBa3BRTVJnd0ZnWURWUVFLREEvbWw2WG1uS3psbTczbWxML2x1cHd4SXpBaEJnTlZCQXNNR3VPQ291T0RsK09EcXVPQ3NlT0QKdk9PQ3QrT0RwK09EczBOQk1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFEbHFSSFozT0RycwpvMmRHRC9tTEJxajdhcEF4em43czJ0R0pmSHJyTGd5OW1UTG5zQ1RXdy8vMXNvZ0poeXpqVk9HanBySUlDOENGcU1qU25ISDJIWjlnCi9EZ3pFK0dlM0F0ZjJoWlFLWHN2Y0pFUG1ibzBOSTJWZE1WK2VLbG1YYjNLSVhkQ0VLeG1KajNla2F2OUZmQnY3V3hmRVBqekZ2WUQKaW8rbkVoRU15LzAvZWNHYy9XTHVvODlVRE5Fclh4Yys0ejYvd0NzK0NaditpS1ordEpJWC9DT1VnYjF1cDhXTXd1c1JSZHY0UWNtVwpkdXB3WDNrU2ErU2pCMW9GN3lkSnp5R2Zpa3dKY0dhcEpzRXJFVTR6MGc3ODFtelNEakprYVArdEJYaGZBeDJvNDVDc0pPQVBRS2RMCnJvc290NExLR0FmbXQxdDA2U0FaZjdJYmlWUT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRC9qQ0NBdWFnQXdJQkFnSVFGYXh1bEJteWVVdEI5aWVwd3hnUEh6QU5CZ2txaGtpRzl3MEJBUXNGQURDQm1ERUxNQWtHQTFVRQpCaE1DVlZNeEZqQVVCZ05WQkFvVERVZGxiMVJ5ZFhOMElFbHVZeTR4T1RBM0JnTlZCQXNUTUNoaktTQXlNREE0SUVkbGIxUnlkWE4wCklFbHVZeTRnTFNCR2IzSWdZWFYwYUc5eWFYcGxaQ0IxYzJVZ2IyNXNlVEUyTURRR0ExVUVBeE10UjJWdlZISjFjM1FnVUhKcGJXRnkKZVNCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodmNtbDBlU0F0SUVjek1CNFhEVEE0TURRd01qQXdNREF3TUZvWERUTTNNVEl3TVRJegpOVGsxT1Zvd2daZ3hDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxSFpXOVVjblZ6ZENCSmJtTXVNVGt3TndZRFZRUUxFekFvCll5a2dNakF3T0NCSFpXOVVjblZ6ZENCSmJtTXVJQzBnUm05eUlHRjFkR2h2Y21sNlpXUWdkWE5sSUc5dWJIa3hOakEwQmdOVkJBTVQKTFVkbGIxUnlkWE4wSUZCeWFXMWhjbmtnUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa2dMU0JITXpDQ0FTSXdEUVlKS29aSQpodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU56aVhtSllIVE5YT1RJeit1dkxoNHluMUVyZEJvanFaSTR4bUtVNGtCNll6eTVqCksvQkd2RVN5aWFIQUtBeEpjQ0dWbjJUQXBwTVNBbVVtaHNhbGlmRDYxNFNnY0s5UEdwYy9Ca1RWeWV0eUVIM2tNU2o3SEdIbUtBZEUKYzVJaWFhY0RpR3lkWThoUzJwZ241d2hNY0Q2MHlSTEJ4V2VEWFRQekF4SHNhdEJUNHRHNk5tQ1VnTHRoWTJ4YkYzN2ZRSlFlcXczQwpJU2h3aVAvV0pteHNZQVFsVGxWK2ZlKy9sRWpldHgzZGNJMEZYNGlsbS9MQzd1clJRRUZ0WWpnZFZnYkZBMGRSSUJuOGV4QUxEbUt1CmRsVy9YM2UrUGtrQlV6MllKUU4ySkZvZHROdUo2bm5sdHJNN1A3cE1LRUYvQnF4cWpzSFE5Z1VkZmVaQ2h1T2wxVWNDQXdFQUFhTkMKTUVBd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBT0JnTlZIUThCQWY4RUJBTUNBUVl3SFFZRFZSME9CQllFRk1SNXlvNmhUZ01kSE54cgoyekZibEQ0L01IOHRNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUF0eFJQUFZvQjdlbmk5bjY0c21lZnYydCtVWGdscHArZHVhSXk5CmNyNUhxUTZYRXJoSzhXVFRPZDhsTk5UQnpVNkI4QThFeENTek5KYkdwcW93MzJoaGM5ZjVqb1dKN3c1ZWxTaEtLaWVQRUk0dWZJYkUKQXA3YURIZGxEa1FOa3YzOXN4WTIraEVOSFl3T0I0bHFLVmIzY3ZUZEZaeDNOV1pYcXhOVDJJN0JRTVhYRXhaYWNzZTNhUUhFZXJHRApBV2g5alVHaGxCakJKVno4OFA2REFvZDhEUTNQTGdoY1NrQU5QdXlCWWVZazI4cmdEaTBIc2o1VzNJMzFRWVVIU0pzTUM4dEpQMzNzCnQvM0xqV2VKR3F2dHV4NmpBQWdJRnlxQ1hERmRSb290RDRhYmRObEYrOVJBc1hxcWFDMkdzcGtpNGNFcng1ejQ4MStvZ2hMckdSRXQKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcyCj09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJQ2lEQ0NBZzJnQXdJQkFnSVFOZndtWE5tRVQ4azlKajFYbTY3WFZqQUtCZ2dxaGtqT1BRUURBekNCaERFTE1Ba0dBMVVFQmhNQwpWVk14RlRBVEJnTlZCQW9UREhSb1lYZDBaU3dnU1c1akxqRTRNRFlHQTFVRUN4TXZLR01wSURJd01EY2dkR2hoZDNSbExDQkpibU11CklDMGdSbTl5SUdGMWRHaHZjbWw2WldRZ2RYTmxJRzl1YkhreEpEQWlCZ05WQkFNVEczUm9ZWGQwWlNCUWNtbHRZWEo1SUZKdmIzUWcKUTBFZ0xTQkhNakFlRncwd056RXhNRFV3TURBd01EQmFGdzB6T0RBeE1UZ3lNelU1TlRsYU1JR0VNUXN3Q1FZRFZRUUdFd0pWVXpFVgpNQk1HQTFVRUNoTU1kR2hoZDNSbExDQkpibU11TVRnd05nWURWUVFMRXk4b1l5a2dNakF3TnlCMGFHRjNkR1VzSUVsdVl5NGdMU0JHCmIzSWdZWFYwYUc5eWFYcGxaQ0IxYzJVZ2IyNXNlVEVrTUNJR0ExVUVBeE1iZEdoaGQzUmxJRkJ5YVcxaGNua2dVbTl2ZENCRFFTQXQKSUVjeU1IWXdFQVlIS29aSXpqMENBUVlGSzRFRUFDSURZZ0FFb3RXY2dudVZuZkZTZUlmK2loYS9CZWJmb3dKUERRZkdBRkc2REFKUwpMU0trUWpuRS9vL3F5Y0crMUUzL24zcWU0ckY4bXEybmhnbHpoOUhubXVONnBhcHUrN3F6Y01CbmlLSTExS09hc2YydHd1OHgrcWk1Cjgvc0l4cEhSK3ltVm8wSXdRREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQkJqQWRCZ05WSFE0RUZnUVUKbXRnQU1BRG5hMytGR082THRzNktEUGdSNGJzd0NnWUlLb1pJemowRUF3TURhUUF3WmdJeEFOMzQ0RmRIVzZmbUNzTzk5WUNLbHpVTgpHNGs4VklaM0tNcWg5SG5ldGVZNHNQQmxjSXgvQWxUQ3YvL1lvVDdaendJeEFNU05sUHpjVTlMY25YZ1dIeFV6STFOUzQxb3hYWjNLCnJyMFRLVVFOSjF1bzUyaWNFdmRZUHk1eUFsZWpqNkVVTGc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgp0aGF3dGUgUHJpbWFyeSBSb290IENBIC0gRzMKPT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlFS2pDQ0F4S2dBd0lCQWdJUVlBR1h0MGFuNnJTMG10WkxML2VRK3pBTkJna3Foa2lHOXcwQkFRc0ZBRENCcmpFTE1Ba0dBMVVFCkJoTUNWVk14RlRBVEJnTlZCQW9UREhSb1lYZDBaU3dnU1c1akxqRW9NQ1lHQTFVRUN4TWZRMlZ5ZEdsbWFXTmhkR2x2YmlCVFpYSjIKYVdObGN5QkVhWFpwYzJsdmJqRTRNRFlHQTFVRUN4TXZLR01wSURJd01EZ2dkR2hoZDNSbExDQkpibU11SUMwZ1JtOXlJR0YxZEdodgpjbWw2WldRZ2RYTmxJRzl1YkhreEpEQWlCZ05WQkFNVEczUm9ZWGQwWlNCUWNtbHRZWEo1SUZKdmIzUWdRMEVnTFNCSE16QWVGdzB3Ck9EQTBNREl3TURBd01EQmFGdzB6TnpFeU1ERXlNelU1TlRsYU1JR3VNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTWRHaGgKZDNSbExDQkpibU11TVNnd0pnWURWUVFMRXg5RFpYSjBhV1pwWTJGMGFXOXVJRk5sY25acFkyVnpJRVJwZG1semFXOXVNVGd3TmdZRApWUVFMRXk4b1l5a2dNakF3T0NCMGFHRjNkR1VzSUVsdVl5NGdMU0JHYjNJZ1lYVjBhRzl5YVhwbFpDQjFjMlVnYjI1c2VURWtNQ0lHCkExVUVBeE1iZEdoaGQzUmxJRkJ5YVcxaGNua2dVbTl2ZENCRFFTQXRJRWN6TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEEKTUlJQkNnS0NBUUVBc3I4bkxQdmIyRnZkZUhzYm5uZG1nY3Mrdkh5dTg2WW5talNqYURGeE9ETmk1UE54Wm5teHFXV2pwWXZWajJBdApQMExNcW1zeXdDUExMRUhkNU4vOFlaemljN0lpbFJGREdGL0V0aDlYYkFvRldDTElOa3c2ZktYUno0YXZpS2RFQWhOMGNYTUtRbGtDCitCc1VhMExmYjErNmE0S2luVnZuU3IwZUFYTGJTM1RvTzM5L2ZSOEV0Q2FiNExSYXJFYzlWYmpYc0NaU0tBRXhRR2JZMlNTOTlpclkKN0NGSlhKdjJldWwvVlRWK2xtdU5rNU1ueTVLNzZxeEF3Si9DK0lEUFhmUmEzTTUwaHFZK2JBdFR5cjJTemhrR2N1WU1YRGhweHdUVwp2R3pPVy9iM2FKemNKUlZJaUtIcHFmaVluT0R6MVRFb1lSRnNaNWFOT1puTHdrVWtPUUlEQVFBQm8wSXdRREFQQmdOVkhSTUJBZjhFCkJUQURBUUgvTUE0R0ExVWREd0VCL3dRRUF3SUJCakFkQmdOVkhRNEVGZ1FVcld5cWxHQ2M3ZVQvK2o0S2RDdGpBL2UyV2I4d0RRWUoKS29aSWh2Y05BUUVMQlFBRGdnRUJBQnBBMkpWbHJBbVNpY1k1OUJEbHFRNW1VMTE0M3Zva2tidm5SRkhmeGhZMEN1OXFSRkhxS3dlSwpBM3JENno4S0xGSVdvQ3REdVNXUVAzQ3BNeVZ0UlJvb095ZlBxc01wUWh2Zk8wekFNelJiUVlpL2F5dGxyeWp2c3ZYRHFtYk9lMWJ1CnQ4akxaOEhKbkJvWXVNVERTUVB4WUE1UXpVYkY4M2Q1OTdZVjREamJ4eThvb0F3L2R5WjAyU1VTMmpIYUdoN2NLVUdSSWp4cHA3c0MKOHJaY0p3T0o5QWJxbStSeWd1T2hDY0hwQUJuVFB0UndhN3B4cHFwWXJ2Uzc2V3kyNzRmTW03di9PZVpXWWRNS3A4UmNUR0I3QlhjbQplci9ZQjFJc1l2ZHdZOWs1dkc4Y3dubmNkaW12enNVc1pBUmVpRFp1TWRSQUdtSTBOajgxQWE2c1k2QT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJQ3JqQ0NBaldnQXdJQkFnSVFQTEwwU0FvQTR2N3JKRHRlWUQ3RGF6QUtCZ2dxaGtqT1BRUURBekNCbURFTE1Ba0dBMVVFQmhNQwpWVk14RmpBVUJnTlZCQW9URFVkbGIxUnlkWE4wSUVsdVl5NHhPVEEzQmdOVkJBc1RNQ2hqS1NBeU1EQTNJRWRsYjFSeWRYTjBJRWx1Cll5NGdMU0JHYjNJZ1lYVjBhRzl5YVhwbFpDQjFjMlVnYjI1c2VURTJNRFFHQTFVRUF4TXRSMlZ2VkhKMWMzUWdVSEpwYldGeWVTQkQKWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVTQXRJRWN5TUI0WERUQTNNVEV3TlRBd01EQXdNRm9YRFRNNE1ERXhPREl6TlRrMQpPVm93Z1pneEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFIWlc5VWNuVnpkQ0JKYm1NdU1Ua3dOd1lEVlFRTEV6QW9ZeWtnCk1qQXdOeUJIWlc5VWNuVnpkQ0JKYm1NdUlDMGdSbTl5SUdGMWRHaHZjbWw2WldRZ2RYTmxJRzl1YkhreE5qQTBCZ05WQkFNVExVZGwKYjFSeWRYTjBJRkJ5YVcxaGNua2dRMlZ5ZEdsbWFXTmhkR2x2YmlCQmRYUm9iM0pwZEhrZ0xTQkhNakIyTUJBR0J5cUdTTTQ5QWdFRwpCU3VCQkFBaUEySUFCQld4NlAwREZVUGxyT3VITnhGaTc5S0RObEo5UlZjTFNvMTdWRHM2Ymw4VkFzQlFwczhsTDMzS1NMakhVR01jCktpRUlmSm8yMkF2KzBTYkZXREV3S0NYelhWMmp1TGFsdEpMdGJDeWY2OTFEaWFJOFMwaVJIVkRzSnQvV1lDNjlJYU5DTUVBd0R3WUQKVlIwVEFRSC9CQVV3QXdFQi96QU9CZ05WSFE4QkFmOEVCQU1DQVFZd0hRWURWUjBPQkJZRUZCVmZOVmRSVmZzbHNxMERhZndCby9xKwpFVlhWTUFvR0NDcUdTTTQ5QkFNREEyY0FNR1FDTUdTV1dhYm9DZDZMdXZwYWlJandINUhUUnFqeVNrd0NZL3RzWHpqYkxrR1RxUTdtCm5kd3hITEtncHhnY2VlSEhOZ0l3T2xhdm1uUnM5dnVENERQVENGK2huTUpibjBiV3RzdVJCbU9pQnVjenJENm9nUkxReTdyUWtndTIKbnBhcUJBK0sKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKVmVyaVNpZ24gVW5pdmVyc2FsIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV1VENDQTZHZ0F3SUJBZ0lRUUJyRVpDR3pFeUVERHJ2a0VockZIVEFOQmdrcWhraUc5dzBCQVFzRkFEQ0J2VEVMTUFrR0ExVUUKQmhNQ1ZWTXhGekFWQmdOVkJBb1REbFpsY21sVGFXZHVMQ0JKYm1NdU1SOHdIUVlEVlFRTEV4WldaWEpwVTJsbmJpQlVjblZ6ZENCTwpaWFIzYjNKck1Ub3dPQVlEVlFRTEV6RW9ZeWtnTWpBd09DQldaWEpwVTJsbmJpd2dTVzVqTGlBdElFWnZjaUJoZFhSb2IzSnBlbVZrCklIVnpaU0J2Ym14NU1UZ3dOZ1lEVlFRREV5OVdaWEpwVTJsbmJpQlZibWwyWlhKellXd2dVbTl2ZENCRFpYSjBhV1pwWTJGMGFXOXUKSUVGMWRHaHZjbWwwZVRBZUZ3MHdPREEwTURJd01EQXdNREJhRncwek56RXlNREV5TXpVNU5UbGFNSUc5TVFzd0NRWURWUVFHRXdKVgpVekVYTUJVR0ExVUVDaE1PVm1WeWFWTnBaMjRzSUVsdVl5NHhIekFkQmdOVkJBc1RGbFpsY21sVGFXZHVJRlJ5ZFhOMElFNWxkSGR2CmNtc3hPakE0QmdOVkJBc1RNU2hqS1NBeU1EQTRJRlpsY21sVGFXZHVMQ0JKYm1NdUlDMGdSbTl5SUdGMWRHaHZjbWw2WldRZ2RYTmwKSUc5dWJIa3hPREEyQmdOVkJBTVRMMVpsY21sVGFXZHVJRlZ1YVhabGNuTmhiQ0JTYjI5MElFTmxjblJwWm1sallYUnBiMjRnUVhWMAphRzl5YVhSNU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBeDJFM1hyRUJOTnRpMXhXYi8xaGFqQ01qCjFtQ09rZGVRbUlONjVsZ1pPSXpGOXVWa2hiU2ljZnZ0dmJuYXpVMEF0TWd0YzZYSGFYR1ZIems4c2tRSG5PZ08razFLeENIZktXR1AKTWlKaGdzV0hIMjZNZkY4V0lGRkUwWEJQVityakhPUE1lZTVZMkE3Q3MwV1R3Q3pubWhjcmV3QTNla0V6ZU9FejR2TVFHbitITEw3Mgo5ZmRDNHVXL2gyS0pYd0JMMzhYZDVIVkVNa0U2SG5GdWFjc0xkVVlJMGNyU0s1WFF6L3U1UUd0a2pGZE4vQk1SZVlUdFhsVDJOSjhJCkFmTVFKUVlYU3RyeEhYcG1hNWhnWnFUWjc5SXVndkh3N3ducVJNa1ZhdUlEYmpQVHJKOVZBTWYyQ0dxVXVWL2M0RFB4aEdENVd5Y1IKdFB3VzhydFdhb0FsalFJREFRQUJvNEd5TUlHdk1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0VHTUcwRwpDQ3NHQVFVRkJ3RU1CR0V3WDZGZG9Gc3dXVEJYTUZVV0NXbHRZV2RsTDJkcFpqQWhNQjh3QndZRkt3NERBaG9FRkkvbDB4cUdySTJPCmE4UFBnR3JVU0Jnc2V4a3VNQ1VXSTJoMGRIQTZMeTlzYjJkdkxuWmxjbWx6YVdkdUxtTnZiUzkyYzJ4dloyOHVaMmxtTUIwR0ExVWQKRGdRV0JCUzJkL3BwU0VlZlV4TFZ3dW9ITW5ZSDBaY0hHVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBU3ZqNHNBUG1MR2Q3NUpSMwpZOHh1VFBsOURnM2N5TGsxdVhCUFkvb2srbXlEakVlZE8yUHptdmwyTXBXUnNYZThySnErc2VReEljYUJsVlphRHJIQzFMR21XYXp4Clk4dTRUQjFaa0VydmtCWW9IMXF1RVB1QlVEZ01iTXp4UGNQMVkrT3o0eUhKSkRucC9SVm1SdlFiRWRCTmM2TjlSdms5N2FoZll0VHgKUC9qZ2RGY3JHSjJCdE1RbzJwU1hwWERyckIyK0J4SHcxZHZkNVl6dzFUS3dnK1pYNG8rL3ZxR3F2ejBkdGRRNDZ0ZXdYRHBQYWorUAp3R1pzWTZycDJhUVc5SUhSbFJRT2ZjMlZOTm5TajNCemdYdWNmcjJZWWRoRmg1aVF4ZXVHTU1ZMXYvRC93MVdJZzB2dkJaSUdjZks0Cm1KTzM3TTJDWWZFNDVrK1htQ3BhalE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEaERDQ0F3cWdBd0lCQWdJUUw0RCtJNHdPSWc5SVp4SW9rWWVzc3pBS0JnZ3Foa2pPUFFRREF6Q0J5akVMTUFrR0ExVUVCaE1DClZWTXhGekFWQmdOVkJBb1REbFpsY21sVGFXZHVMQ0JKYm1NdU1SOHdIUVlEVlFRTEV4WldaWEpwVTJsbmJpQlVjblZ6ZENCT1pYUjMKYjNKck1Ub3dPQVlEVlFRTEV6RW9ZeWtnTWpBd055QldaWEpwVTJsbmJpd2dTVzVqTGlBdElFWnZjaUJoZFhSb2IzSnBlbVZrSUhWegpaU0J2Ym14NU1VVXdRd1lEVlFRREV6eFdaWEpwVTJsbmJpQkRiR0Z6Y3lBeklGQjFZbXhwWXlCUWNtbHRZWEo1SUVObGNuUnBabWxqCllYUnBiMjRnUVhWMGFHOXlhWFI1SUMwZ1J6UXdIaGNOTURjeE1UQTFNREF3TURBd1doY05Nemd3TVRFNE1qTTFPVFU1V2pDQnlqRUwKTUFrR0ExVUVCaE1DVlZNeEZ6QVZCZ05WQkFvVERsWmxjbWxUYVdkdUxDQkpibU11TVI4d0hRWURWUVFMRXhaV1pYSnBVMmxuYmlCVQpjblZ6ZENCT1pYUjNiM0pyTVRvd09BWURWUVFMRXpFb1l5a2dNakF3TnlCV1pYSnBVMmxuYml3Z1NXNWpMaUF0SUVadmNpQmhkWFJvCmIzSnBlbVZrSUhWelpTQnZibXg1TVVVd1F3WURWUVFERXp4V1pYSnBVMmxuYmlCRGJHRnpjeUF6SUZCMVlteHBZeUJRY21sdFlYSjUKSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVJQzBnUnpRd2RqQVFCZ2NxaGtqT1BRSUJCZ1VyZ1FRQUlnTmlBQVNuVm5wOApVdHBrbXc0dFhOaGVySkk5L2dIbUdVbzlGQU5MK21BbklObURpV242Vk1hYUdGNVZLbVRlQnZhTlNqdXRFRHhsUFpDSUJJbmdNR0d6CnJsMEJwM3ZlZkxLK3ltVmhBSWF1Mm85NzBJbXRUUjFabWtHeHZFZUEzSjVpdy9tamdiSXdnYTh3RHdZRFZSMFRBUUgvQkFVd0F3RUIKL3pBT0JnTlZIUThCQWY4RUJBTUNBUVl3YlFZSUt3WUJCUVVIQVF3RVlUQmZvVjJnV3pCWk1GY3dWUllKYVcxaFoyVXZaMmxtTUNFdwpIekFIQmdVckRnTUNHZ1FVaitYVEdvYXNqWTVydzgrQWF0UklHQ3g3R1M0d0pSWWphSFIwY0RvdkwyeHZaMjh1ZG1WeWFYTnBaMjR1ClkyOXRMM1p6Ykc5bmJ5NW5hV1l3SFFZRFZSME9CQllFRkxNV2tmM3VwbTdrdFM1Smo0ZDRnWURzNWJHMU1Bb0dDQ3FHU000OUJBTUQKQTJnQU1HVUNNR1loREJnbVlGbzRlMVpDNEtmOE5vUlJrU0FzZGsxRFBjUWRoQ1BRck5aOE5RYk96V205a0EzYmJFaENIUTZxUWdJeApBSnc5U0Rrak9WZ2FGUkpaYXA3djFWbXlIVklzbVhITnh5bmZHeXBoZTNIUjN2UEE1UTA2U3FvdHA5aUdLdDB1RUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpOZXRMb2NrIEFyYW55IChDbGFzcyBHb2xkKSBGxZF0YW7DunPDrXR2w6FueQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRUZUQ0NBdjJnQXdJQkFnSUdTVUVzNUFBUU1BMEdDU3FHU0liM0RRRUJDd1VBTUlHbk1Rc3dDUVlEVlFRR0V3SklWVEVSTUE4RwpBMVVFQnd3SVFuVmtZWEJsYzNReEZUQVRCZ05WQkFvTURFNWxkRXh2WTJzZ1MyWjBMakUzTURVR0ExVUVDd3d1VkdGdXc3cHp3NjEwCmRzT2hibmxyYVdGa3c3TnJJQ2hEWlhKMGFXWnBZMkYwYVc5dUlGTmxjblpwWTJWektURTFNRE1HQTFVRUF3d3NUbVYwVEc5amF5QkIKY21GdWVTQW9RMnhoYzNNZ1IyOXNaQ2tnUnNXUmRHRnV3N3B6dzYxMGRzT2hibmt3SGhjTk1EZ3hNakV4TVRVd09ESXhXaGNOTWpneApNakEyTVRVd09ESXhXakNCcHpFTE1Ba0dBMVVFQmhNQ1NGVXhFVEFQQmdOVkJBY01DRUoxWkdGd1pYTjBNUlV3RXdZRFZRUUtEQXhPClpYUk1iMk5ySUV0bWRDNHhOekExQmdOVkJBc01MbFJoYnNPNmM4T3RkSGJEb1c1NWEybGhaTU96YXlBb1EyVnlkR2xtYVdOaGRHbHYKYmlCVFpYSjJhV05sY3lreE5UQXpCZ05WQkFNTUxFNWxkRXh2WTJzZ1FYSmhibmtnS0VOc1lYTnpJRWR2YkdRcElFYkZrWFJoYnNPNgpjOE90ZEhiRG9XNTVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXhDUmVjNzVMYlJURG9mVGpsNUJ1CjBqQkZIanp1WjlsazRCcUtmOG93eW9QaklNSGo5RHJUbEY4YWZGdHR2ekJQaENmMm54OUp2TWFaQ3BEeUQvVi9RNFEzWTFHTGVxVncKL0hwWXpZNmI3Y05HYklSd1hkcnpBWkFqL0U0d3FYN2hKMlBuN1dROG9MakpNMlArRnBEL3NMajkxNmpBd0pSREM3YlZXYWFlVnRBawpIM0I1cjlzNVZBMWxkZGtWUVpRQnIxN3M5bzN4LzYxay9pQ2ExMXpyL3FZZkNHU2ppM1pWclI0N0tHQXVoeVhvcXE4ZnhtUkdJTGR3CmZ6emVTTnVXVTdjNWQrUWE0c2NXaEhhWFd5KzdHUldGK0dtRjlabW5xZkkwcDZtMnBnUDhiNFk5Vkh4MkJKdHIrVUJkQURUSExwbDEKbmVXSUE2cE4rQVBTUW5iQUd3SURBS2lMbzBVd1F6QVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUVNQTRHQTFVZER3RUIvd1FFQXdJQgpCakFkQmdOVkhRNEVGZ1FVelBwbmsvQzJ1TkNsd0I3elUvMk1VOStEMTVZd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFLdC83aHdXCnFadzhVUUNnd0JFSUJhZVo1bThCaUZSaGJ2RzVHSzFLcmY2QlFDT1VML3QxZkM4b1MySWtnWUlMOVdIeEhHNjRZVGpyZ2ZwaW9UdGEKWXRPVVpjVGg1bTJDK0M4bGNMSWhKc0Z5VVIrTUxNT0VrTU5hajdyUDlLZGxwZXVZMGZzRnNrWjFGU05xYjRWak1JRHcxWjRmS1J6QwpiTEJRV1YyUVd6dW9EVERQdjMxL3p2R2RnNzNKUm00Z3B2bGhVYm9oTDN1K3BSVmpvZFNWaC9HZXVmT0o4ejJGdUxqYnZyVzVLZm5hCk53VUFTWlFEaEVUbnYwTXh6M1dMSmRIMHBtVDFrdmFyQmVzOTZhVUxObUxhekFaZk5vdTJYakc0S3Z0ZTluSGZSQ2FleE9ZTmtiUXUKZFpXQVVXcExNS2F3WXFHVDhadll6c1JqZFQ5WlI3RT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJvb3QgQ0EgLSBHMgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGeWpDQ0E3S2dBd0lCQWdJRUFKaVdqREFOQmdrcWhraUc5dzBCQVFzRkFEQmFNUXN3Q1FZRFZRUUdFd0pPVERFZU1Cd0dBMVVFCkNnd1ZVM1JoWVhRZ1pHVnlJRTVsWkdWeWJHRnVaR1Z1TVNzd0tRWURWUVFERENKVGRHRmhkQ0JrWlhJZ1RtVmtaWEpzWVc1a1pXNGcKVW05dmRDQkRRU0F0SUVjeU1CNFhEVEE0TURNeU5qRXhNVGd4TjFvWERUSXdNRE15TlRFeE1ETXhNRm93V2pFTE1Ba0dBMVVFQmhNQwpUa3d4SGpBY0JnTlZCQW9NRlZOMFlXRjBJR1JsY2lCT1pXUmxjbXhoYm1SbGJqRXJNQ2tHQTFVRUF3d2lVM1JoWVhRZ1pHVnlJRTVsClpHVnliR0Z1WkdWdUlGSnZiM1FnUTBFZ0xTQkhNakNDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0NBZ29DZ2dJQkFNVloKNTI5MXFqNUxuTFc0cko0TDVQblp5cXRkajdVNUVJTFhyMUhnTytFQVNHclAydUVHUXhHWnFoUWxFcTBpNkFCdFE4U3B1T1VmaVV0bgp2V0ZJNy8zUzRHQ0k1YmtZWUNqRGR5dXRzRGVxTjk1a1dTcEdWK1JMdWZnM2ZOVTI1NERCdHZQVVo1dVc2TTdYeGdwVDBHdEpsdk9qCkN3VjNTUGNsNVhDc01CUWdKZU4vZFZybFNQaE9ld01IQlBxQ1lZZHU4RHZFcE1mUTlYUStwVjBhQ1BLYkpkTDJyQVFtUGxVNllpaWwKZTdJd3IvZzN3dEc2MWpqOTlPOUpNRGVaSmlGSWhRR3A1UmJuM0pCVjN3L29PTTJaTnlGUFhmVWliMnJGRWhaZ0YxWHlaV2FtcHpDUgpPTUU0SFlZRWhMb2FKWGhlbmEvTVVHRFdFNGRTN1dNZmJXVjl3aFVZZE1yaGZtUXBqSExZRmhOOUMwbEs4U2diSUhScnhUM2RzS3BJCkNUMHVncFROR21YWks0aWFtYndZZnAvdWZXWjhQcjJVdUlIT3paZ3dlTUZ2WjlDK1grQm83ZDdpc2Nrc1dYaVNxdDhyWUdQeTVWNjUKNDhyNmYxQ0dQcUkwR0F3SmFDZ1JIT1RodVZ3K1I3b3lQeGpNVzRUMTgydDB4SEowNGVPTG9FcTlqV1l2NnEwMTJpRFRpSUpoOEJJaQp0cnpRMWFUc3IxU0lKU1E4cDIyeGNpay9QbGVtZjFXdmJpYkcvdWZNUUZ4UlJJRUtlTjVLemxXL0hkWFp0MWJ2OEhiL0MzbTFyNzM3CnFXbVJScGRvZ0JRMkhiTi91eW1ZTnFVZytvSmdZak9rN05hNkI2ZHV4YzhVcHVmV2tqVFlnZlg4SFYycVhCNzJvMDA3dVBjNUFnTUIKQUFHamdaY3dnWlF3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekJTQmdOVkhTQUVTekJKTUVjR0JGVWRJQUF3UHpBOUJnZ3JCZ0VGQlFjQwpBUll4YUhSMGNEb3ZMM2QzZHk1d2EybHZkbVZ5YUdWcFpDNXViQzl3YjJ4cFkybGxjeTl5YjI5MExYQnZiR2xqZVMxSE1qQU9CZ05WCkhROEJBZjhFQkFNQ0FRWXdIUVlEVlIwT0JCWUVGSkZvTW9jVkhZbml0ZkdzTmlnMGpRdDhZb2pyTUEwR0NTcUdTSWIzRFFFQkN3VUEKQTRJQ0FRQ29RVXBuS3BLQmdsQnU0ZGZZc3prNzh3SVZDVkJSN3kyOUpIdUloanY1dEx5U0NaYTU5c0NySTJBR2VZd1JUbEhTZVlBegorNTFJdnV4QlE0RWZma2RBSE9WNkNNcXFpM1d0Rk1UQzZHWThnZ2VuNWllQ1d4am1EMjdaVUQ2S1FoZ3B4clJXL0ZZUW9BVVh2UXdqCmYvU1Q3WndhVWI3ZFJVRy9rU1MwSDR6cFg4OTdJWm1mbFo4NU9rWWNiUG5OZTV5UXpTaXB4NmxWdTZ4aU5HSTFFMHNVT2xXRHVZYU4Ka3FiRzlBY2xWTXdXVnhKS2duaklGTmtYZ2lZdFhTQWZlYTcrMUhBV0ZwV0QyRFU1LzFKZGRSd1d4Uk5WejBmTWRXVlNTdDd3c0tmawpDcFlMKzYzQzRpV0VzdDNrdlg1WmJKdnc4TmpueXZMcGx6aCtpYjdNK3prWFlUOXkyenFSMkdVQkdSMnRVS1JYQ254THZKeHhjeXBGClVSbUZ6STc5UjZkMGxSMm8wYTlPRjdGcEpzS3FlRmRieFUybjVaNEZGNVRLc2wrZ1NSaU5OT2ttYkVnZXFtaVNCZUdDYzFxYjNBZGIKQ0cxOW5kZU5JZG44RkNDcXdrWGZQK2NBc2xIa3d2Z0Z1WGthakRUem5sdmtOMXRyU3Q4c1Y0cEFXamE2M1hWRUNEZENjQXorM0Y0aApvS09Ld0pDY2FOcFE1a1VRUjNpMlR0Smx5Y00zMytGQ1k3QlhOMFV0ZTRxY3Z3WHFaVlV6OXprUXhTZ3FJWG9iaXNRaytUOFZ5Sm9WCklQVlZZcGJ0YlpOUXZPU3FlSzNaeXdwbGg2Wm13Y1NCbzNjNldCNEw3b09MblI3U1VxVE1IVyt3bUcyVU1iWDRjUXJjdWZ4OU1tRG0KNjYrS0FRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQ0EgRGlzaWcKPT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVEekNDQXZlZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREJLTVFzd0NRWURWUVFHRXdKVFN6RVRNQkVHQTFVRUJ4TUsKUW5KaGRHbHpiR0YyWVRFVE1CRUdBMVVFQ2hNS1JHbHphV2NnWVM1ekxqRVJNQThHQTFVRUF4TUlRMEVnUkdsemFXY3dIaGNOTURZdwpNekl5TURFek9UTTBXaGNOTVRZd016SXlNREV6T1RNMFdqQktNUXN3Q1FZRFZRUUdFd0pUU3pFVE1CRUdBMVVFQnhNS1FuSmhkR2x6CmJHRjJZVEVUTUJFR0ExVUVDaE1LUkdsemFXY2dZUzV6TGpFUk1BOEdBMVVFQXhNSVEwRWdSR2x6YVdjd2dnRWlNQTBHQ1NxR1NJYjMKRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDUzlqSEJmWWo5bVFHcDJIdnljWFh4TWNiemRXYjZVU2hHaEpkNE5MeHMvTHhGV1lnbQpHRXJFTngraFNrUzk0M0VFOVVRWDRqLzhTRmh2WEo1NkNicFJOeUlqWmtNaHNEeGtvdmhxRlE0LzYxSGhWS25kQnBuWG1qeFVpemtEClB3L0Z6c2JyZzNJQ3FCOXg4eTM0ZFFqYllrem8rczc1NTJvZnRtczFncnJpanhhU2ZRVU1iRVlEWGNEdGFiODZ3WXFnNkk3WnVVVW8KaHdqc3RNb1Z2b0xkdFVTTExhMkdER2hpYllWVzhxd1VZenJHMFptc05IaFdTOCsyclQrTWl0Y0U1ZU40VFBXR3F2V1ArajFzY2FNdAp5bWZyYUh0dU02a01naWlvVEdvaFFCVWdEQ1piZzhLcEZoWEFKSUpkS3hhdHltUDJkQUN3MzBQRUVHQldaMk5GQWdNQkFBR2pnZjh3Cmdmd3dEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWRCZ05WSFE0RUZnUVVqYkpKYUoxeUNDVzV3Q2YxVUpOV1NFWngrWTh3RGdZRFZSMFAKQVFIL0JBUURBZ0VHTURZR0ExVWRFUVF2TUMyQkUyTmhiM0JsY21GMGIzSkFaR2x6YVdjdWMydUdGbWgwZEhBNkx5OTNkM2N1WkdsegphV2N1YzJzdlkyRXdaZ1lEVlIwZkJGOHdYVEF0b0N1Z0tZWW5hSFIwY0RvdkwzZDNkeTVrYVhOcFp5NXpheTlqWVM5amNtd3ZZMkZmClpHbHphV2N1WTNKc01DeWdLcUFvaGlab2RIUndPaTh2WTJFdVpHbHphV2N1YzJzdlkyRXZZM0pzTDJOaFgyUnBjMmxuTG1OeWJEQWEKQmdOVkhTQUVFekFSTUE4R0RTdUJIcEdUNWdvQUFBQUJBUUV3RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUYwMGRHRk1yenZZLzU5dApXRFljUFF1QkRSSXJSaENBL2VjOEo5QjZ5S20yZm5Rd002TTZpbnQwd0hsNVFwTnQvN0VwRklLcklZd3ZGL2svSmkvMVdjYnZnQWEzCm1ra3A3TTUrY1R4cUVFSEE5dE9hc254YWtaekFyRnZJVFY3MzRWUC9RM2Y4bmt0bmJOZnpnOUdnNEg4bDM3aVlDNW95T0d3d29QUC8KQ0JVejkxQktlejZqUGlDcDNDOVdnQXJ0UVZDd3lmVHNzdU1tUkFBT2I1NEd2Q0tXVTNCbHhGQUtSbXVrTHllQkVpY1RYeENoZHM2SwplemZxd3psaEE1V1lPdWRzaUNVSS9IbG9EWWQ5WXZpMFgvdkYyRXk5V0x3L1ExdlVIZ0ZOUEdPK0krK016VnBRdUdoVStRcVpNeEVBCjRaN0NSbmVDOVZrR2pDRk1od25ONWFnPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpKdXVyLVNLCj09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU1akNDQTg2Z0F3SUJBZ0lFTzQ1TC9EQU5CZ2txaGtpRzl3MEJBUVVGQURCZE1SZ3dGZ1lKS29aSWh2Y05BUWtCRmdsd2EybEEKYzJzdVpXVXhDekFKQmdOVkJBWVRBa1ZGTVNJd0lBWURWUVFLRXhsQlV5QlRaWEowYVdacGRITmxaWEpwYldsemEyVnphM1Z6TVJBdwpEZ1lEVlFRREV3ZEtkWFZ5TFZOTE1CNFhEVEF4TURnek1ERTBNak13TVZvWERURTJNRGd5TmpFME1qTXdNVm93WFRFWU1CWUdDU3FHClNJYjNEUUVKQVJZSmNHdHBRSE5yTG1WbE1Rc3dDUVlEVlFRR0V3SkZSVEVpTUNBR0ExVUVDaE1aUVZNZ1UyVnlkR2xtYVhSelpXVnkKYVcxcGMydGxjMnQxY3pFUU1BNEdBMVVFQXhNSFNuVjFjaTFUU3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQwpnZ0VCQUlGeE5qNHpCOWJqTUkwVGZuY3lSc3ZQR2JKZ01VYVhodlNZUnFUQ1pVWFAwMEI4NDFvaXFCQjRNOHlJc2RPQlN2WmlGM3RmClRRb3UwTStMSSs1UEFrNjc2dzdLdlJoajZJQWNqZUVjalQzZy8xdGY2bVRsbCtnL21YOE1DZ2t6QUJwVHB5SGhPRXZXZ3h1dHIyVEMKK1J4NmpHWklUV1lmR0FyaVByc2ZCMldUaGJrYXNMbkUrdzBSOXZYVytSdkhMQ3UzR0ZIKzRIdjJxRWl2YkR0UEwrLzQwVWNlSmxmdwpVUjB6bHYvdldUM2FUZEVWTk1mcVB4WkllNUVjZ0VNUFBiZ0ZQdEd6bGMzWXlnL0NRMmZidDVQZ0lvSXV2dlZvS0lPNXdUdHBleURhClRweHQ0YnJOajNwc3NBa2kxNHNMMnh6VldpWmJEY0RxNVdEUW4vNDEzejhDQXdFQUFhT0NBYXd3Z2dHb01BOEdBMVVkRXdFQi93UUYKTUFNQkFmOHdnZ0VXQmdOVkhTQUVnZ0VOTUlJQkNUQ0NBUVVHQ2lzR0FRUUJ6aDhCQVFFd2dmWXdnZEFHQ0NzR0FRVUZCd0lDTUlIRApIb0hBQUZNQVpRQmxBQ0FBY3dCbEFISUFkQUJwQUdZQWFRQnJBR0VBWVFCMEFDQUFid0J1QUNBQWRnRGtBR3dBYWdCaEFITUFkQUJoCkFIUUFkUUJrQUNBQVFRQlRBQzBBYVFCekFDQUFVd0JsQUhJQWRBQnBBR1lBYVFCMEFITUFaUUJsQUhJQWFRQnRBR2tBY3dCckFHVUEKY3dCckFIVUFjd0FnQUdFQWJBQmhBRzBBTFFCVEFFc0FJQUJ6QUdVQWNnQjBBR2tBWmdCcEFHc0FZUUJoQUhRQWFRQmtBR1VBSUFCcgpBR2tBYmdCdUFHa0FkQUJoQUcwQWFRQnpBR1VBYXdCek1DRUdDQ3NHQVFVRkJ3SUJGaFZvZEhSd09pOHZkM2QzTG5OckxtVmxMMk53CmN5OHdLd1lEVlIwZkJDUXdJakFnb0I2Z0hJWWFhSFIwY0RvdkwzZDNkeTV6YXk1bFpTOXFkWFZ5TDJOeWJDOHdIUVlEVlIwT0JCWUUKRkFTcWVrZWo1SW12R3M4S1FLY1lQMi92NlgyK01COEdBMVVkSXdRWU1CYUFGQVNxZWtlajVJbXZHczhLUUtjWVAyL3Y2WDIrTUE0RwpBMVVkRHdFQi93UUVBd0lCNWpBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQWU4RVlsRk9pQ2ZQK0ptZWFVT1REQlM4ck5YaVJUSHlvCkVSRjVURWxack1qM2hXVmNScnM3RUtBQ3I4MVB0Y3cyS3V4ZC91K2drY20yazI5OGdGVHN4d2h3RFk3N2d1d3FZSGhwTmpiUnhaeUwKYWJWQXlKUmxkL0pYSVdZN3pvVkF0ak5qR3I5NUh2eGNIZE1ka3h1TERGMkZ2Wmt3TWhnSmtWTHBmS0c2LzJTU211eitOZTZNTDY3OApJSWJzU3Q0YmVESTNwb0hTbmE5YUVoYkttVnY4YjIwT3hhQWVoc21SMEZ5WWdsOWpESXBhcTlpVnBzekxpdGEvWkV1T3lvcXlzT2toCk1wNnFxSVdZTklFNUlUdW9PbEl5UGZack40WUdXaFdZM1BBUlp2NDBJTGNEOUVFUWZUbUVlWlp5WTdhV0F1VnJ1YTBaVGJ2R1JOczIKeXlxY2pnPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKSG9uZ2tvbmcgUG9zdCBSb290IENBIDEKPT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURNRENDQWhpZ0F3SUJBZ0lDQStnd0RRWUpLb1pJaHZjTkFRRUZCUUF3UnpFTE1Ba0dBMVVFQmhNQ1NFc3hGakFVQmdOVkJBb1QKRFVodmJtZHJiMjVuSUZCdmMzUXhJREFlQmdOVkJBTVRGMGh2Ym1kcmIyNW5JRkJ2YzNRZ1VtOXZkQ0JEUVNBeE1CNFhEVEF6TURVeApOVEExTVRNeE5Gb1hEVEl6TURVeE5UQTBOVEl5T1Zvd1J6RUxNQWtHQTFVRUJoTUNTRXN4RmpBVUJnTlZCQW9URFVodmJtZHJiMjVuCklGQnZjM1F4SURBZUJnTlZCQU1URjBodmJtZHJiMjVuSUZCdmMzUWdVbTl2ZENCRFFTQXhNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUYKQUFPQ0FROEFNSUlCQ2dLQ0FRRUFyUDg0dHVsbUFrbmpvclRoa1BsQWozbjU0cjE1L2dLOTdpU1NIU0wyMm9WeWFmN1hQd25VM1pHMQpBcHpRalZyaFZjTlFocmtwSnNMajJhRHhhUU1vSUlCRklpMVdwenRVbFZZaVdSOG8zeDhnUFcyaU5yNGpvTEZ1dGJFblB6bFRDZXFyCmF1aDBzc0psWEk2L2ZNTjRoTTJlRnZ6MUxrOGdLZ2lmZC9QRkhzU2FVbVllU0Y3akVBYVBJcGpoWlk0YlhTTm1PN2lsTWxISWhxcWgKcVo1L2RwVENwbXkzUWZEVnlBWTQ1dFFNNHZNN1RHMVFqTVNESjhFVGhGazlublYwdHRnQ1hqcVFlc0JDTm5Mc2FrM2M3OFFBM3hNWQpWMThtZU1qV0NubDN2L2V2dDNhNXBRdUVGMTBRNm0vaHE1VVJYMjA4bzF4TmcxdnlzeG1LZ0lzTGh3SURBUUFCb3lZd0pEQVNCZ05WCkhSTUJBZjhFQ0RBR0FRSC9BZ0VETUE0R0ExVWREd0VCL3dRRUF3SUJ4akFOQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBRGtiVlBLN2kKaDlsZWdZc0NtRUVJakV5ODJ0dnVKeHVDNTJwRjdCYUxUNFdnODdKd3ZWcVd1c3B1YmU1R2kyN25LaTZXc3hrejY3U2ZxTEkzN3BpbwpsN1l1dG1jbjFLWkovUnlUWlhhZVFpL2NJbXlhVC9KYUZUbXhjZGNyVWVodEhKakEyU3Iwb1lKNzFjbEJvaU1CZERoVml3KzVMbWVpCklBUTMycHdMMHhjaDRJK1hlVFJ2aEVnQ0lETWI1alJFbjVGdzlJQmVoRVBDS2RKc0VoVGtZWTJzRUpDZWhGQzc4Slp2UlorSzg4cHMKVC9vUk9oVVZSc1BOSDROYkxVRVM3VkJuUVJNOUlhdVVpcXBPZk1HeCs2Zld0U2N2bDZ0dTRCM2kwUndzSDBUaS9MNlJvWno3MWlsVApjNGFmVTloRERsM1dZNEp4SFlCMHl2YmlBbXZaV2c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpTZWN1cmVTaWduIFJvb3RDQTExCj09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURiVENDQWxXZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREJZTVFzd0NRWURWUVFHRXdKS1VERXJNQ2tHQTFVRUNoTWkKU21Gd1lXNGdRMlZ5ZEdsbWFXTmhkR2x2YmlCVFpYSjJhV05sY3l3Z1NXNWpMakVjTUJvR0ExVUVBeE1UVTJWamRYSmxVMmxuYmlCUwpiMjkwUTBFeE1UQWVGdzB3T1RBME1EZ3dORFUyTkRkYUZ3MHlPVEEwTURnd05EVTJORGRhTUZneEN6QUpCZ05WQkFZVEFrcFFNU3N3CktRWURWUVFLRXlKS1lYQmhiaUJEWlhKMGFXWnBZMkYwYVc5dUlGTmxjblpwWTJWekxDQkpibU11TVJ3d0dnWURWUVFERXhOVFpXTjEKY21WVGFXZHVJRkp2YjNSRFFURXhNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQS9YZXFwUnlRQlR2TApUSnN6aTFvVVJhVG5rQmJSMzFmU0lSQ2tGLzNmck5ZZnArVGJmUGZzMzdnRDJwUlkvVjF5Zkl3L1h3Rm5kQldXNHdJOGg5dXV5d0dPCnd2Tm14b1ZGOUFMR09yVmlzcS82bkwrazV0U0FNSmp6RGJhVGo2blUyRGJ5c1B5S3lpeWhGVE9WTWRyQUcvTHVZcG1HWXorLzNaTXEKZzZoMnVSTWZ0ODVPUW9XUEl1Y3VHdktWQ2JJRnRVUk9kNkVndmFueVRncDlVSzMxQlExRlQwWngvU2crVS9zRTJDM1haUjFLRy9yUApPN0F4bWpWdXlJc0cwd0NSOHBRSVpVeXhOQVlBZW9uaThNY0RXYy9WMXVpbk1yUG1tRUNHeGMwbkVvdk1lODYzRVR4aVlBY2pQaXRBCmJwU0FDVzIyczI5M2J6VUlVUHNDaDhVK2lRSURBUUFCbzBJd1FEQWRCZ05WSFE0RUZnUVVXL2hOVDdLbGh0UTYwdkZqbXFDK0NmWlgKdDk0d0RnWURWUjBQQVFIL0JBUURBZ0VHTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUtDaApPQlptTHFkV0h5R2NCdm9kN2JraXhUZ20yRTVQN0tOL2VkNUdJYUdIZDQ4SENKcXlwTVd2RHpLWUMzeG1LYmFiZlNWU1NVT3JUQzRyCmJucHdyeFlPNHdKcyswTG1HSjFGMkZYSTZEdmQ1K0gwTGdzY05GeHNXRXI3akloUVg1VWN2KzJySXJWbHM0VzZuZys0cmVWNkc0cFEKT2gyOURieDdWRkFMdVVLdlZhQVlnYTFsbWUrKzVKeS94SVdyUWJKVWI5d2x6ZTE0NG80TWpRbEozV043V21tV0FpR292VkpaNlgwMQp5OGhTeW4rQi90bHIwL2NSN1NYZitPZjVwUHB5bDRSVERhWFFNaGhSZGxrVWJBL3I3RitBakhWRGc4T0ZtUDlNbmkwTjVIZURrMDYxCmxnZUxLQk9iakJtTlFTZEpRTzdlNWlORU9keWhJdGE2QS9JPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpBQ0VESUNPTSBSb290Cj09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZ0VENDQTUyZ0F3SUJBZ0lJWVkzSGhqc0JnZ1V3RFFZSktvWklodmNOQVFFRkJRQXdSREVXTUJRR0ExVUVBd3dOUVVORlJFbEQKVDAwZ1VtOXZkREVNTUFvR0ExVUVDd3dEVUV0Sk1ROHdEUVlEVlFRS0RBWkZSRWxEVDAweEN6QUpCZ05WQkFZVEFrVlRNQjRYRFRBNApNRFF4T0RFMk1qUXlNbG9YRFRJNE1EUXhNekUyTWpReU1sb3dSREVXTUJRR0ExVUVBd3dOUVVORlJFbERUMDBnVW05dmRERU1NQW9HCkExVUVDd3dEVUV0Sk1ROHdEUVlEVlFRS0RBWkZSRWxEVDAweEN6QUpCZ05WQkFZVEFrVlRNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUYKQUFPQ0FnOEFNSUlDQ2dLQ0FnRUEvNUtWNFdnR2RyUXN5RmhJeXYyQVZDbFZZeVQva0dXYkVIVjd3MnJiWWdJQjhoaUd0WHhhT0xIawpXTG43MDlndG43MHlONzhzRlcyK3RmUWgwaE9SMlFldEFRWFc4NzEzemw5Q2dRcjVhdU9EQUtnckxsVVRZNEhLUnh4N1hCWlhlaHVECllBUTZQbVhEelFIZTNxVFdETHFPM3RrRTdoZFdJcHVQWS8xTkZndTNlM2VNK1NXMTBXMlpFaTVQR3JqbTZnU1NyajBSdVZGQ1BZZXcKTVlXdmVWcWMvdWRPWHBKUFEveXJPcTJsRWlabXVlSU0xNWpPMUZpbGxVQUt0MFNkRTNRcndxWHJJaFdZRU5pTHhRU2ZIWTlnNVFZYgptOCs1ZWFBOW9pTS9RajlyK2h3RGV6Q056bXpBditZYlg3OW51SVFaMVJYdmU4dVFOakZpeWJ3Q3EwWmZtLzRhYUpRMFBaQ09yZmJrCkhRbC9Tb2c0UDc1bi9UU1c5UjI4TUhUTE9PN1ZiS3ZVL1BRQXR3QmJoVElXZGpQcDJLT1puUVVBcWhibTg0RjliMzJxaG0ydEZYVFQKeEtKeHF2UVVmZWN5dUIrODFmRk92VzhYQWpuWERwVkNPc2NBUHVrbVl4SHFDOUZLL3hpZHN0ZDdMenJabHZ2b0hwS3VFMVhJMlNmMgozRWdic0NUQmhlTjNuWnFrOHd3UkhRM0l0QlR1dFlKWENiOGdXSDh2SWlQWWNNdDViTWxMOHFrcXlQeUhLOWNhVVBnbjZDOUQ0enE5CjJGZHgvYzZtVWx2NTNVM3Q1Zlp2aWUyN2s1eDJJWFh3a2t3cDl5K2NBUzcrVUVhZVpBd1Vzd2RieGNKemJQRUhYRVVrRkRXdWcvRnEKVFlsNityUFlMV2J3Tm9mMUsxTUNBd0VBQWFPQnFqQ0JwekFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjhHQTFVZEl3UVlNQmFBRkthego0U3NyU2JiWGM2R3FsUFVCNTNObFRLeFFNQTRHQTFVZER3RUIvd1FFQXdJQmhqQWRCZ05WSFE0RUZnUVVwclBoS3l0SnR0ZHpvYXFVCjlRSG5jMlZNckZBd1JBWURWUjBnQkQwd096QTVCZ1JWSFNBQU1ERXdMd1lJS3dZQkJRVUhBZ0VXSTJoMGRIQTZMeTloWTJWa2FXTnYKYlM1bFpHbGpiMjFuY205MWNDNWpiMjB2Wkc5ak1BMEdDU3FHU0liM0RRRUJCUVVBQTRJQ0FRRE9MQXRTVVdJbWZRd25nNC9GOXRxZwphSHRQa2w3cXBITXlFVk5Fc2tUTG5ld1BlVUt6RUtiSERaM0x0dm8vT256cXY0aFRHenozZ3ZvRk5UUGhOYWhYd09mOWpVOC9rekpQCmVHWURkd2RZNlpYSWZqN1FlUUNNOGh0Uk01dThsT2s2ZTI1U0xUS2VJNlJGKzdZdUU3Q0xHTEhkenRVZHAwSi9WYjc3Vzd0SDFQd2sKelFTdWxnVVYxcXpPTVBQS0M4VzY0aUxncHEwaTVBTHVkQkYvVFA5NEhUWGE1Z0kwNnhnU1lYY0dDUlpqNmhpdG9vY2Y4c2VBQ1FsMQpUaENvanoyR3VIVVJ3Q1JpaXBaN1NrWHA3Rm5Gdm11RDV1SG9yTFV3SHY0RkI0RDU0U01OVUk4Rm1QOHNYK2c3dHEzUGdiVWhoOG9JCktpTW5NQ0FyeisyVVc2eXlldExIS0tHS0M1dE5TaXh0aFQ4SmNqeG40dG5jQjdyclpYdGFBV1BXa0Z0UEYyWTlmd3NabzVOakVGSXEKbnhRV1dPTGNwZlNoRm9zT2tZdUJ5cHRaK3RocmtRZGxWVjlTSDY4Nis1RGRhYVZibkcwT0xMYjZ6cXlsZkRKS1owRGNNRFFqM2RjRQpJMmJ3L0ZXQXAvdG1HWUkxWjJKd09WNXZ4K3FRUUVRSUhyaXkxdHZ1V2FjTkdIazB2RlFZWGxQS05GSHRSUXJtanNlQ05qNm5PR09wCk1Dd1hFR0NTbjFXSEVsa1F3ZzluYVJITVRoNStTcHF0cjBDb2RheFdrSFM0b0p5bGVXL2M2UnJJYVFYcHV2b0RzM3prNEU3Q3pwM28KdGtZTmJuNVhPbWVVd3NzZm5IZEtaMDVwaGtPVE9QdTIyMCtEa2RSZ2ZrcytLemdIVlpoZXBBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKVmVyaXNpZ24gQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlDUERDQ0FhVUNFRHlSTWNzZjl0QWJEcHE0MEVTL0VyNHdEUVlKS29aSWh2Y05BUUVGQlFBd1h6RUxNQWtHQTFVRUJoTUNWVk14CkZ6QVZCZ05WQkFvVERsWmxjbWxUYVdkdUxDQkpibU11TVRjd05RWURWUVFMRXk1RGJHRnpjeUF6SUZCMVlteHBZeUJRY21sdFlYSjUKSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNQjRYRFRrMk1ERXlPVEF3TURBd01Gb1hEVEk0TURnd01qSXpOVGsxT1ZvdwpYekVMTUFrR0ExVUVCaE1DVlZNeEZ6QVZCZ05WQkFvVERsWmxjbWxUYVdkdUxDQkpibU11TVRjd05RWURWUVFMRXk1RGJHRnpjeUF6CklGQjFZbXhwWXlCUWNtbHRZWEo1SUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNSUdmTUEwR0NTcUdTSWIzRFFFQkFRVUEKQTRHTkFEQ0JpUUtCZ1FESlhGbWU4aHVLQVJTMEVOOEVRTnZqVjY5cVJVQ1BoQXdMMFRQWjJSSFA3Z0pZSHlYM0txaEVCYXJzQXg5NApmNTZUdVpvQXFpTjkxcXlGb21ORngzSW56UFJNeG5WeDBqbnZUMEx3ZGQ4S2tNYU9JRytZRC9pc0kxOXdLVGFreVlibnNab2d5MU9sCmhlYzl2bjJhL2lSRk05eDJGZTBQb25Ga1RHVXVnV2hGcHdJREFRQUJNQTBHQ1NxR1NJYjNEUUVCQlFVQUE0R0JBQkJ5VXFrRkZCa3kKQ0VId3hXc0t6SDRQSVJuTjVHZmNYNmtiNXNyb2M1MGkySmh1Y3dOaGtjVjhzRVZBYmtTZGpiQ3hsblJoTFEycFJkS2traXJXbW5XWApiajlUL1VXWllCMm9LMHo1WHFjSjJIVXcxOUpsWUQxbjFraFZkV2sva2ZWSUMwZHBJbW1DbHI3SnlEaUdTbm9zY3hsSWFVNXJmR1cvCkQveHd6b2lRCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVDakNDQXZLZ0F3SUJBZ0lKQU1KK1F3Uk9SejhaTUEwR0NTcUdTSWIzRFFFQkN3VUFNSUdDTVFzd0NRWURWUVFHRXdKSVZURVIKTUE4R0ExVUVCd3dJUW5Wa1lYQmxjM1F4RmpBVUJnTlZCQW9NRFUxcFkzSnZjMlZqSUV4MFpDNHhKekFsQmdOVkJBTU1IazFwWTNKdgpjMlZqSUdVdFUzcHBaMjV2SUZKdmIzUWdRMEVnTWpBd09URWZNQjBHQ1NxR1NJYjNEUUVKQVJZUWFXNW1iMEJsTFhONmFXZHVieTVvCmRUQWVGdzB3T1RBMk1UWXhNVE13TVRoYUZ3MHlPVEV5TXpBeE1UTXdNVGhhTUlHQ01Rc3dDUVlEVlFRR0V3SklWVEVSTUE4R0ExVUUKQnd3SVFuVmtZWEJsYzNReEZqQVVCZ05WQkFvTURVMXBZM0p2YzJWaklFeDBaQzR4SnpBbEJnTlZCQU1NSGsxcFkzSnZjMlZqSUdVdApVM3BwWjI1dklGSnZiM1FnUTBFZ01qQXdPVEVmTUIwR0NTcUdTSWIzRFFFSkFSWVFhVzVtYjBCbExYTjZhV2R1Ynk1b2RUQ0NBU0l3CkRRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFPbjRqL05qcmRxRzJLZmdRdnZQa2Q2bUp2aVpwV053clp1dXlqTkEKZlcyV2JxRU9STzdoRTUyVVFsS2F2WFdGZEN5b0RoMlR0aGkzakN5b3ovdGNjYm5hN1A3b2ZvL2tMeDJ5cUhXSDJMZWg1VHZQbVVwRwowSU1aZmNDaEVoeVZiVXIwMk1lbFRUTXVoVGxBZFg0VWZJQVNtRkRIUVdlNG9JQmhWS1pzVGgvZ25RNEg2Y202TStmK3dGVW9MQUtBCnB4bjFudHhWVXdPWGV3ZEkvNW43TjRva3hGbk1VQkJqanFxcEdyQ0VHb2I1WDd1eFVHNmswUXJNMVhGK0g2Y2JmUFZUYmlKZnl5dm0KMUh4ZHJ0YkN4a3psQlFIWjdWZjh3U041L1BySUpJT1Y4N1ZxVVFIUWQ5YnBFcUg1R29QN2dodTVzSmYwZGdZelEwbWcvd3UxK3JVQwpBd0VBQWFPQmdEQitNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01CMEdBMVVkRGdRV0JCVExEOGJmClFrUE1QY3UxU0NPaEducW1LcnMwYURBZkJnTlZIU01FR0RBV2dCVExEOGJmUWtQTVBjdTFTQ09oR25xbUtyczBhREFiQmdOVkhSRUUKRkRBU2dSQnBibVp2UUdVdGMzcHBaMjV2TG1oMU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRREowUTVlTHRYTXMzdyt5L3c5L3cwbwpsWk1FeUwvYXpYbTRRNUR3cEw3djh1OGhtTHpVMUYwRzl1NUM3REJzb0txcHl2R3Zpdm8vQzNOcVB1b3VRSDRmcmxSaGVlc3VDRGZYCkkvT01uNzRkc2VHa2RkdWc0bFFVc2JvY0thUVk5aEs2b2hRVTR6RTF5RUQvdCtBRmRsZkJIRm55K0wvazdTVmlYSVR3Zm40ZnM3NzUKdHlFUnpBTUJWbkNuRUpJZUd6U0JIcTJjR3NNRVBPMENZZFllQnZOZk9vZnlLL0ZGaCtVOXJOSEhWNFM5YTY3YzJQbTJHMkp3Q3owMgp5VUx5TXRkNlllYlMyejNQeUtuSm05emJXRVRYYnppdmYzalRvNjBhZGJvY3dUWjhqeDV0SE1OMVJxNDFCYWIyWEQwaDdsYnd5WUlpCkxYcFVxM0REZlNKbGduQ1cKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKRS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWljaXNpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRHRqQ0NBcDZnQXdJQkFnSVFSSm1OUE1BREo3MmNkcFc1NnR1c3RUQU5CZ2txaGtpRzl3MEJBUVVGQURCMU1Rc3dDUVlEVlFRRwpFd0pVVWpFb01DWUdBMVVFQ2hNZlJXeGxhM1J5YjI1cGF5QkNhV3huYVNCSGRYWmxibXhwWjJrZ1FTNVRMakU4TURvR0ExVUVBeE16ClpTMUhkWFpsYmlCTGIyc2dSV3hsYTNSeWIyNXBheUJUWlhKMGFXWnBhMkVnU0dsNmJXVjBJRk5oWjJ4aGVXbGphWE5wTUI0WERUQTMKTURFd05ERXhNekkwT0ZvWERURTNNREV3TkRFeE16STBPRm93ZFRFTE1Ba0dBMVVFQmhNQ1ZGSXhLREFtQmdOVkJBb1RIMFZzWld0MApjbTl1YVdzZ1FtbHNaMmtnUjNWMlpXNXNhV2RwSUVFdVV5NHhQREE2QmdOVkJBTVRNMlV0UjNWMlpXNGdTMjlySUVWc1pXdDBjbTl1CmFXc2dVMlZ5ZEdsbWFXdGhJRWhwZW0xbGRDQlRZV2RzWVhscFkybHphVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0MKQVFvQ2dnRUJBTU1TSUo2d1hnQmxqVTVHdTRCYzZTd0dsOVh6Y3Nsd3VlZExaWURCUzc1K1BOZFVNWlRlMVJLNlV4WUM2bGhqNzF2WQo4KzBxR3FweFNLUGNFQzFmWCt0Y1M1eVdDRUlsS0JITWlscGlBVkRWNndsVEwvakRqLzZ6L1AyZG91TmZmYjd0QytCZzYybnNNKzNZCmpmc1NTWU1BeVl1WGpEdHpLakt6RXZlNVRmTDBUVzNINXRZbU53ankyZjFyWEtQbFNGeFl2RUsrQTFxQnVodzFEQURUOVNOK2NUQUkKSmpqY0pSRkhMZk82SXhDbHY3d0M5ME5leC82d04xQ1pldytUenVaRExNTitEZkljUTJaZ3kyRXhSNGVqVDY2OVZteE12THo0QmNwawo5T2swb1N5MWMrSENQdWpJeVRRbENGeno3YWJIbEordGlFTWwxK0U1WVA2c09Wa0NBd0VBQWFOQ01FQXdEZ1lEVlIwUEFRSC9CQVFECkFnRUdNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGSi91UkxPVTFmcVJUeTdaVlpvRVZ0c3R4TnVsTUEwR0NTcUcKU0liM0RRRUJCUVVBQTRJQkFRQi9YN2xUVzJNOWRUTG4rc1IwR3N0RzMwWnBIRkxQcWsvQ2FPdi9nS2xSNkQxaWQ0azlDblU1OFc1ZApGNGR2YUFYQmxHelpYZC9hc2xuTHBSQ0t5c3c1elovclR0NVMvd3p3OUpLcDhteFRxNXZTUjZBZmRQZWJtdkV2Rlo5NlpEQVlCendxCkQyZksvQStKWVoxbHBUemx2Qk5iQ052ai8rMjdCcnRxQnJGNlQyWEdndjBlbkl1MURlNUl1N2k5cWdpMCs2Tjh5NS9Oa0haY2hwWjQKVndwbStWZ2FuZjJYS1dEZUVhYVFIQmtjN2dHV0lqUTBMcEg1dDhRbjBYdm12L3VBUkZvVzVldmcxQW80dk9TUjQ5WHJYTUdzM3h0cQpmSjdsZGRLMmw0ZmJ6SWNyUXpxRUNLK3JQTnYzUEdZeGhyQ2RVM250K0NQZVF1TXRndkVQNWZxWAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMwo9PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRFh6Q0NBa2VnQXdJQkFnSUxCQUFBQUFBQklWaFRDS0l3RFFZSktvWklodmNOQVFFTEJRQXdUREVnTUI0R0ExVUVDeE1YUjJ4dgpZbUZzVTJsbmJpQlNiMjkwSUVOQklDMGdVak14RXpBUkJnTlZCQW9UQ2tkc2IySmhiRk5wWjI0eEV6QVJCZ05WQkFNVENrZHNiMkpoCmJGTnBaMjR3SGhjTk1Ea3dNekU0TVRBd01EQXdXaGNOTWprd016RTRNVEF3TURBd1dqQk1NU0F3SGdZRFZRUUxFeGRIYkc5aVlXeFQKYVdkdUlGSnZiM1FnUTBFZ0xTQlNNekVUTUJFR0ExVUVDaE1LUjJ4dlltRnNVMmxuYmpFVE1CRUdBMVVFQXhNS1IyeHZZbUZzVTJsbgpiakNDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNd2xkcEI1Qm5naUZ2WEFnN2FFeWlpZS9RVjJFY1d0CmlITDhSZ0pEeDdLS25RUmZKTXN1UytGZ2drYmhVcXNNZ1Vkd2JOMWswZXYxTEtNUGdqME1LNjZYMTdZVWhoQjV1enNUZ0hlTUNPRkoKMG1waUx4OWUrcFpvMzRrbmxUaWZCdGMreWNzbVdRMXozckRJNlNZT2d4WEc3MXVMMGdSZ3lrbW1LUFpwTy9iTHlDaVI1WjJLWVZjMwpySFFVM0hUZ091NXlMeTZjKzlDN3YvVTlBT0VHTStpQ0s2NVRwam9XYzR6ZFFRNGdPc0MwcDZIcHNrK1FMakpnNlZmTHVRU1NhR2psCk9DWmdkYktmZC8rUkZPK3VJRW44clVBVlNORUNNV0VaWHJpWDc2MTN0MlNhZXI5ZndSUHZtMkw3RFd6Z1ZHa1dxUVBhYnVtRGszRjIKeG1tRmdoY0NBd0VBQWFOQ01FQXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRQpGSS93UzMrb0xrVWtyazFRK21PYWk5N2kzUnU4TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCTFFOdkFVS3IreUF6djk1WlVSVW03CmxnQUpRYXl6RTRhR0tBY3p5bXZtZExtNkFDMnVwQXJUOWZIeEQ0cS9jMmRLZzhkRWUzamdyMjVzYndNcGpqTTVSY09PNUxsWGJLcjgKRXBic1U4WXQ1Q1JzdVpSais5eFRhR2RXUG9PNHp6VWh3OGxvL3M3YXdsT3F6SkNLNmZCZFJveVYzWHBZS0JvdkhkN05BRGRCaisxRQpiZGRUS0pkKzgyY0VIaFhYaXBhMDA5NU1KNlJNRzNOemR2UVhtY0lmZWc3akxRaXRDaHdzL3p5clZRNFBrWDQyNjhOWFNiN2hMaTE4CllJdkRRVkVUSTUzTzl6SnJsQUdvbWVjc014ODZPeVhTaGtET095eUdlTWxoTHhTNjd0dFZiOStFN2dVSlRiMG8ySExPMDJKUVpSN3IKa3BlRE1kbXp0Y3BIV0Q5ZgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpUQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSUlJCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQ0VENDQXNtZ0F3SUJBZ0lPWXlVQUFRQUNGSTB6RlFMa2JQUXdEUVlKS29aSWh2Y05BUUVGQlFBd2V6RUxNQWtHQTFVRUJoTUMKUkVVeEhEQWFCZ05WQkFvVEUxUkRJRlJ5ZFhOMFEyVnVkR1Z5SUVkdFlrZ3hKREFpQmdOVkJBc1RHMVJESUZSeWRYTjBRMlZ1ZEdWeQpJRlZ1YVhabGNuTmhiQ0JEUVRFb01DWUdBMVVFQXhNZlZFTWdWSEoxYzNSRFpXNTBaWElnVlc1cGRtVnljMkZzSUVOQklFbEpTVEFlCkZ3MHdPVEE1TURrd09ERTFNamRhRncweU9URXlNekV5TXpVNU5UbGFNSHN4Q3pBSkJnTlZCQVlUQWtSRk1Sd3dHZ1lEVlFRS0V4TlUKUXlCVWNuVnpkRU5sYm5SbGNpQkhiV0pJTVNRd0lnWURWUVFMRXh0VVF5QlVjblZ6ZEVObGJuUmxjaUJWYm1sMlpYSnpZV3dnUTBFeApLREFtQmdOVkJBTVRIMVJESUZSeWRYTjBRMlZ1ZEdWeUlGVnVhWFpsY25OaGJDQkRRU0JKU1Vrd2dnRWlNQTBHQ1NxR1NJYjNEUUVCCkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEQzJweGlzTGx4RXJBTHlCcFhzcTZERkptek5FdWJrS0xGNStjdkFxQk5MYVQ2aGRxYkpZVXQKUUNnZ2Jlcmd2YkZJZ3lJcFJKOU9nKzQxVVJOemROVzg4akJtbEZQQVFEWXZESVJsemc5dXdsaVQ2Q3dMT3VuQmp2dnlhOG84NHB4TwpqdVQ1ZmRNbm54dlZaM2lITFg4TFI3UEg2TWxJZks4dnpBclpRZStmL3ByaHNxNzVVN1hsNlVhZllPUGZqZE4vKzVaK3M3VnkrRXV0CkNIbk5hWWxBSi9VcXdhMUQ3S1JUeUdHMjk5SjVLbWNZZGtodFd5VUIwU2JGdDFkcEl4VmJZWXF0OEJzdDJhOWM4U2FRYWFuVkRFRDEKTTRCRGo1eWpkaXBGdEsrL2Z6NkhQM2JGelNyZUlNVVdXTXY1Ry9VUHl3MFJVbVM0MG5aaWQ0UHhXSi8vQWdNQkFBR2pZekJoTUI4RwpBMVVkSXdRWU1CYUFGRmJuNFZzbFE0RGc5b3poY2J5TzVZQXZ4RWppTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvCkJBUURBZ0VHTUIwR0ExVWREZ1FXQkJSVzUrRmJKVU9BNFBhTTRYRzhqdVdBTDhSSTRqQU5CZ2txaGtpRzl3MEJBUVVGQUFPQ0FRRUEKZzhldjZuOU5Danc1c1dpK2UyMkpMdW16Q2VjWVY0MkZtaGZ6ZGtKUUV3L0hrRzh6cmNWSllDdHNTVmdaMU9LK3Q3K3JTYnlVeUt1KwpLR3dXYU9ESWwwWWdvR2huWUlnNUlGSFlhQUVSenFmMkVRZjI3T3lzR2greVptNVdaMkI2ZEY3QWJaYzJyclVOWFdaendDVXlSZGhLCkJnZVB4TGNIc1UwR0RlR2w2L1IxeXJxYzBMMnoweklrVE81KzRuWUVTMGxUMlBMcFZEUDg1WEVmUFJSY2xrdnhPdklBdTJ5MCtwWlYKQ0lnSndjeVJHU213SUMzL3l6aWtRT0VYdm5saGdQOEhBNFpNVG5zR254R0dqWW51SjhUYjRyd1pqZ3ZEd3hQSExRTmpPOVBvNUtJcQp3b0lJbEJaVThPOGZKNUFsdUEwT0tCdEhkMGU5SEtnbDhaUzBaZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2OAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdGRENDQS95Z0F3SUJBZ0lJVSt3Nzd2dXlTRjh3RFFZSktvWklodmNOQVFFRkJRQXdVVEVMTUFrR0ExVUVCaE1DUlZNeFFqQkEKQmdOVkJBTU1PVUYxZEc5eWFXUmhaQ0JrWlNCRFpYSjBhV1pwWTJGamFXOXVJRVpwY20xaGNISnZabVZ6YVc5dVlXd2dRMGxHSUVFMgpNall6TkRBMk9EQWVGdzB3T1RBMU1qQXdPRE00TVRWYUZ3MHpNREV5TXpFd09ETTRNVFZhTUZFeEN6QUpCZ05WQkFZVEFrVlRNVUl3ClFBWURWUVFERERsQmRYUnZjbWxrWVdRZ1pHVWdRMlZ5ZEdsbWFXTmhZMmx2YmlCR2FYSnRZWEJ5YjJabGMybHZibUZzSUVOSlJpQkIKTmpJMk16UXdOamd3Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXdnZ0lLQW9JQ0FRREtsbXVPNnZqNzhhSTE0SDlNMnVERApVdGQ5dGhESUFsNnpReXJFVDJxeXloeGRLSnA0RVJwcFdWZXZ0U0JDNUlzUDV0OWJwZ09TTC9VUjVHTFhNbkU0MlFRTWNhczlVWDRQCkI5OWpCVnpwdjVSdndTbUN3TFRhVWJEQlBMdXROMHBjeXZGTE5nNGtxNy9EaEhmOXFGRDBzZWZHTDlJdFdZMTZDazZXYVZJQ3FqYVkKN1B6NkZJTU1OeC9Ka2pkLzE0RXQ1Y1M1NEQ0MC9tZjBQbWJSMC9SQXoxNWlOQTl3Qmo0Z0dGck85M0liSld5VGRCU1RvM094RHFxSApFQ05aWHlBRkdVZnRhSTZTRXNwZC9OWXJzcEk4SU0vaFg2OGd2cUIyZjNibDdCcUdZVE0rNTN1MFA2QVBqcUs1YW0rNWh5WnZRV3lJCnBsRDlhbU1MOVpNV0d4bVBzdTJibThtUTlRRU0zeGs5RHo0NEk4a3Zqd3pSQXY0YlZkWk8wSTA4cjArazgvNnZLdE1GblhrSW9jdFgKTWJTY3lKQ3laL1FZRnBNNi9FZlkwWGlXTVIrNkt3eGZYWm10WTRsYUpDQjIyTi85cTA2bUlxcWRYdVluaW4xb0thUG5pcmphRWJzWApMWm1kRXlSRzk4WGkySitPZjhlUGRHMWFzdWh5OWF6dUpCQ3RMeFRhL3kyYVJuRkh2a0xmdXdIYjlIL1RLSTh4V1Z2VHlRS210RkxLCmJwZjdROFVJSm0rSzlMdjlueWlxRGRWRjh4TTZIZGpBZUk5Qlp6d2VsR1N1ZXd2RjZOa0JpRGthbDRaa1FkVTdod3h1K2cvR3ZVZ1UKdnpsTjFKNUJ0bytXSFdPV2s5bVZCbmd4YUo0M0JqdUFpVVZoT1NQSEcwU2pGZVVjK0pJd3V3SURBUUFCbzRIdk1JSHNNQklHQTFVZApFd0VCL3dRSU1BWUJBZjhDQVFFd0RnWURWUjBQQVFIL0JBUURBZ0VHTUIwR0ExVWREZ1FXQkJSbHpldXJOUjRBUG43VmRNQWN0SE5ICkRocGtMekNCcGdZRFZSMGdCSUdlTUlHYk1JR1lCZ1JWSFNBQU1JR1BNQzhHQ0NzR0FRVUZCd0lCRmlOb2RIUndPaTh2ZDNkM0xtWnAKY20xaGNISnZabVZ6YVc5dVlXd3VZMjl0TDJOd2N6QmNCZ2dyQmdFRkJRY0NBakJRSGs0QVVBQmhBSE1BWlFCdkFDQUFaQUJsQUNBQQpiQUJoQUNBQVFnQnZBRzRBWVFCdUFHOEFkZ0JoQUNBQU5BQTNBQ0FBUWdCaEFISUFZd0JsQUd3QWJ3QnVBR0VBSUFBd0FEZ0FNQUF4CkFEY3dEUVlKS29aSWh2Y05BUUVGQlFBRGdnSUJBQmQ5b1BtMDNjWEY2NjFMSkxXaEFxdmRwWWhLc2c5VlN5dFhqRHZsTWQzK3hETHgKNTF0a2xqWXlHT3lsTW5mWDQwUzJ3QkVxZ0xrOWFtNThtOU90L01QV28rWmtLWHpSNFRnZWdpdi9KMld2K3hZVnhDNXhoT1cxLy9xawpSNzFrTXJ2MkpZU2lKMEwxSUxEQ0V4QVJ6UkFWdWtLUUt0SkU0WlltNnpGSUV2MHEyc2tHejNRZXFVdlZoeWo1ZVRTU1BpNUU2UGFQClQ0ODFQeVd6T2R4aktwQnJJRi9FVWhKT2x5d3FySjJYM2tqeW8yYmJ3dEtEbGFabXA1NGxEK2tMTTVGbENsckQyVlFTM2EvRFRnNGYKSmw0TjNMT043TldCY043U1R5UUY4MnhPOVV4SlpvM1IvOUlMSlVGSS9sR0V4a0t2Z0FUUDBINWtTZVR5MzZMc3NVekFLaDNudExGbApvc1M4OFpqMHFuQUhZN1M0Mmp0TStrQWlNRnNScHZBRkRzWUNBMGlyaHB1RjNkdmQ2cUoyZ0hOOTlad0V4RVdONTdrY2k1N3ExM1hSCmNySGVkVVRuUW4zaVYydDkzSm04UFlNbzZvQ1RqY1ZNWmNGd2diZzQvRU14c3ZZRE5FZXlyUHNpQnNzZTNSZEhIRjltdWRNYW90b1IKc2FTOEk4bmt2b2YvdVpTMitGMGdTdFJmNTcxb2UyWHlGUjdTT3FrdDZkaHJKS3lYV0VSSHJWa1k4U0ZsY043T05HQ29RUEh6UEtURApLQ09NL2ljelEwQ2dGenpyNmp1d2NxYWp1VXBMWGhaSTlMSzh5SXlTeFoyZnJISTJ2RFNBTkd1cGk1TEF1QmZ0N0haVDlTUUJqTE1pCjZFdDhWY2FkK3FNVXUyV0ZibTVQRW40S1BKMlYKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKSXplbnBlLmNvbQo9PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGOFRDQ0E5bWdBd0lCQWdJUUFMQzNXaFpJWDcvaHkvV0wxeG5tZlRBTkJna3Foa2lHOXcwQkFRc0ZBREE0TVFzd0NRWURWUVFHCkV3SkZVekVVTUJJR0ExVUVDZ3dMU1ZwRlRsQkZJRk11UVM0eEV6QVJCZ05WQkFNTUNrbDZaVzV3WlM1amIyMHdIaGNOTURjeE1qRXoKTVRNd09ESTRXaGNOTXpjeE1qRXpNRGd5TnpJMVdqQTRNUXN3Q1FZRFZRUUdFd0pGVXpFVU1CSUdBMVVFQ2d3TFNWcEZUbEJGSUZNdQpRUzR4RXpBUkJnTlZCQU1NQ2tsNlpXNXdaUzVqYjIwd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUURKCjAzcktEeDZzcDRib0ZtVnFzY0liUlRKeGxkbitFRnZNcitlbGVRR1BpY1BLOGxWeDkzZStkNVR6Y3FRc1JOaWVrcHNVT3FIbkpKQUsKQ2xhT3hkZ21sT0haU09FdFB0b0tjdDJqbVJYYWdhS0g5SHR1Sm5lSldLM1c2d3l5UVhwemJtM2JlbmhCNlFpSUVuNkhMbVlSWTJ4VQorenlkY3NDOEx2L0N0OTBOZHVNNjEvZTBhTDZpOWVPQmJzRkdiMTJONEUzR1ZGV0pHak14Q3JGWHVhT0ttTVBzT3pURmxVRnBmblhDClBDREZZYnBSUjZBZ2tKT2hrRXZ6VG55RlJWU2EwUVVtUWJDMVRSMHp2c1FEeUNWOHdYRGJPL1FKTFZRblNLd3Y0Y1NzUHNqTGtreFQKT1RjajdOTUIrZUFKUkUxTlpNRGhEVnFISXJ5dEc2UCtKclVWODZmOGhCbnA3S0dJdEVScGhJUHppZEYwQnFuTUM5YkMzaWVGVUNiSwpGN2pKZW9kV0xCb0JIbXkrRTYwUXJMVWs5VGlSb2RaTDJ2RzcwdDVIdGZHOGdmWlphODhaVSttTkZjdEt5Nmx2Uk9VYlFjL2hocWZLCjBHcWZ2RXlOQmpOYW9vWGxrRFdnWWx3V1R2RGpvdm9ER3JRc2NiTllMTjU3QzlzYUQrdmVJUjhHZHdZRHNNbnZtZnpBdVU4TGhpaisKMHJucTQ5cWx3MGRwRXVEYjhQWVppKzE3Y05jQzF1MkhHQ2dzQkNSTWQrUklpaHJHTzVyVUQ4cjZkZElCUUZxTmViK0x6MHZQcWhiQgpsZVN0VElvK0Y1SFVzV0xsZ3VXQUJLUURmbzIvMm4raUQ1ZFBETk1OKzlmUjVYSitITWgzLzF1YUQ3ZXVCVWJsOGFnVzdFZWtGd0lECkFRQUJvNEgyTUlIek1JR3dCZ05WSFJFRWdhZ3dnYVdCRDJsdVptOUFhWHBsYm5CbExtTnZiYVNCa1RDQmpqRkhNRVVHQTFVRUNndysKU1ZwRlRsQkZJRk11UVM0Z0xTQkRTVVlnUVRBeE16TTNNall3TFZKTlpYSmpMbFpwZEc5eWFXRXRSMkZ6ZEdWcGVpQlVNVEExTlNCRwpOaklnVXpneFF6QkJCZ05WQkFrTU9rRjJaR0VnWkdWc0lFMWxaR2wwWlhKeVlXNWxieUJGZEc5eVltbGtaV0VnTVRRZ0xTQXdNVEF4Ck1DQldhWFJ2Y21saExVZGhjM1JsYVhvd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBT0JnTlZIUThCQWY4RUJBTUNBUVl3SFFZRFZSME8KQkJZRUZCMGNaUTZvOGlWN3RKSFA1TEd4NXIxVmRHd0ZNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUI0cGd3V1NwOU1pRHJBeXc2bApGbjJmdVVoZkdJOE5ZamIyelJscnJLdlY5cEY5cm5IelA3TU9lSVdibGFRbklVZENTbnhJT3ZWRmZMTU1qbEY0ckpVVDNzYjlmYmdhCmtFeXJrZ1BIN1VJQnpnL1lzZnFpa3VGZ2JhNTZhd21xeGludWFFbG5NSUFrZWpFV09WdCs4Und1M1d3SnJmSXh3WUpPdWJ2NXZyOHEKaFQvQVFLTTZXZnhaU3p3b0pOdTBGWFd1RFlpNkxuUEF2VmlINVVMeTYxN3VIakFpbWNzMzBjUWhiSUhzdm0wbTVoemtRaUNlUjdDcwpnMWx3TERYV3J6WTB0TTA3K0RLbzcrTjRpZnVOUlN6YW5MaCtRQnhoNXo2aWtpeEw4czM2bUxZcC8vUHllNmtmTHFDVFZ5dmVoUVA1CmFUZkxubmhxQmJURk1YaUo3SHFuaGVHNWV6emV2aDU1aE02ZmNBNVp3alV1a0NveDJlUkZla0drTGhPYk5BNW1lMG1yWkpmUVJzTjUKblhKUVk2YVlXd2E5U0czWU9ZTnc2RFh3QmRHcXZPUGJ5QUxxZlAyQzJzSmJVald1bURxdHVqV1RJNmNmU04wMVJwaXlFR2prcFRIQwpDbGd1R1lFUXlWQjEvT3BhRnM0UjErN3ZVSWd0WWY4L1FuTUZsRVBWamp4T0FUb1pwUjlHVG5mUVhlV0JJaUdIL3BSOWhOaVRyZFpvClEwaXkyK3R6Sk9lUmYxU2t0b0ErbmFNOFRITENWOFNnMU13NEo4N1ZCcDZpU05ucG44NkNjRGFUbWp2ZmxpSGpXYmNNMnBFMzhQMVoKV3JPWnlHbHNReVlCTldOZ1ZZa0RPblhZdWtyWlZQL3Uzb0RZTGRFNDFWNHRDNWg5UG16Yi9DYUl4dz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkNoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlIVHpDQ0JUZWdBd0lCQWdJSkFLUGFRbjZrc2E3YU1BMEdDU3FHU0liM0RRRUJCUVVBTUlHdU1Rc3dDUVlEVlFRR0V3SkZWVEZECk1FRUdBMVVFQnhNNlRXRmtjbWxrSUNoelpXVWdZM1Z5Y21WdWRDQmhaR1J5WlhOeklHRjBJSGQzZHk1allXMWxjbVpwY20xaExtTnYKYlM5aFpHUnlaWE56S1RFU01CQUdBMVVFQlJNSlFUZ3lOelF6TWpnM01Sc3dHUVlEVlFRS0V4SkJReUJEWVcxbGNtWnBjbTFoSUZNdQpRUzR4S1RBbkJnTlZCQU1USUVOb1lXMWlaWEp6SUc5bUlFTnZiVzFsY21ObElGSnZiM1FnTFNBeU1EQTRNQjRYRFRBNE1EZ3dNVEV5Ck1qazFNRm9YRFRNNE1EY3pNVEV5TWprMU1Gb3dnYTR4Q3pBSkJnTlZCQVlUQWtWVk1VTXdRUVlEVlFRSEV6cE5ZV1J5YVdRZ0tITmwKWlNCamRYSnlaVzUwSUdGa1pISmxjM01nWVhRZ2QzZDNMbU5oYldWeVptbHliV0V1WTI5dEwyRmtaSEpsYzNNcE1SSXdFQVlEVlFRRgpFd2xCT0RJM05ETXlPRGN4R3pBWkJnTlZCQW9URWtGRElFTmhiV1Z5Wm1seWJXRWdVeTVCTGpFcE1DY0dBMVVFQXhNZ1EyaGhiV0psCmNuTWdiMllnUTI5dGJXVnlZMlVnVW05dmRDQXRJREl3TURnd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUMKQVFDdkFNdHdOeXVBV2tvNmJIaVVmYU4vR2gvMk5kVzkyOHNOUkhJK0pyS1FVcnBqT3loWWI2V3piWlNtODkxa0RGWDI5dWZ5SWlLQQpYdUZpeHJZcDRZRnM4ci9sZlRKcVZLQXlHVm4rSDR2WFBXQ0doU1J2NHhHemR6NGdsalVoYTdNSTJYQXVaUGVFa2xQV0RyQ1Fpb3JqCmg0MEcwNzJRRHVLWm9SdUdEdHFhQ3JzTFlWQUdVdkdlZjNic3l3L1FIZzNQbVRBOUhNUkZFRmlzMXRQbzErWHF4UUVIZDlaUjVnTi8KaWtpbFRXaDF1ZW04bms0WmNmVXlTNXh0WUJrTCs4eWRkZHkvSnMyUGszZzVlWE5lSlE3S1hPdDNFZ2ZMWkVGSGNwT3JVTVByQ1haawpOTkk1dDNZUkNRMTJSY1NwcmoxcXI3VjlaUytVV0JEc1hIeXZmdUsyR05uUW0wNWFTZCtwWmd2TVBNWjRmS2VjSGVQT2psTytCZDVnCkQydmxHdHMvNCtFaHlTbkI4ZXNIbkZJYkFVUlJQSHNsMThUbFVsUmRKUWZLRmlDNHJlUkI3bm9JL3Bsdmc2YVJBckJzTmxWcTUzMzEKbHViS2dkYVg4WlNENmUyd3NXc1NhUjZzKzEycHhaanB0RnRZZXI0OW9rUTZZMW5VQ3lYZUcwKzk1UUdlemRJcDFaOFhHUXB2dnd5UQowd2xmMmVPS05jeDVXazBaTjVLM3hNR3RyL1I1SkpxeUFRdXhyMXlXODRBeSsxdzltUEdnUDByZXZxK1VMdGxWbWhkdVlKMWpiTGhqCnlhNkJYQmcxNEpDN3ZqeFBOeUs1ZnV2UG5uY2hwajA0Z2Z0STJqRTlLK09KOWRDMXZYN2dVTVFTaWJNam1oQXhoZHV1Yis4NE14aDIKRVFJREFRQUJvNElCYkRDQ0FXZ3dFZ1lEVlIwVEFRSC9CQWd3QmdFQi93SUJEREFkQmdOVkhRNEVGZ1FVK1NTc0Q3SzErSG5BK21DSQpHOFRaVFFLZUZ4a3dnZU1HQTFVZEl3U0IyekNCMklBVStTU3NEN0sxK0huQSttQ0lHOFRaVFFLZUZ4bWhnYlNrZ2JFd2dhNHhDekFKCkJnTlZCQVlUQWtWVk1VTXdRUVlEVlFRSEV6cE5ZV1J5YVdRZ0tITmxaU0JqZFhKeVpXNTBJR0ZrWkhKbGMzTWdZWFFnZDNkM0xtTmgKYldWeVptbHliV0V1WTI5dEwyRmtaSEpsYzNNcE1SSXdFQVlEVlFRRkV3bEJPREkzTkRNeU9EY3hHekFaQmdOVkJBb1RFa0ZESUVOaApiV1Z5Wm1seWJXRWdVeTVCTGpFcE1DY0dBMVVFQXhNZ1EyaGhiV0psY25NZ2IyWWdRMjl0YldWeVkyVWdVbTl2ZENBdElESXdNRGlDCkNRQ2oya0orcExHdTJqQU9CZ05WSFE4QkFmOEVCQU1DQVFZd1BRWURWUjBnQkRZd05EQXlCZ1JWSFNBQU1Db3dLQVlJS3dZQkJRVUgKQWdFV0hHaDBkSEE2THk5d2IyeHBZM2t1WTJGdFpYSm1hWEp0WVM1amIyMHdEUVlKS29aSWh2Y05BUUVGQlFBRGdnSUJBSkFTcnlJMQp3cU01OEM3ZTZiWHBlSHhJdmo5OVJaSmU2ZHF4R2Z3V1BKKzBXMmFlYXVmRHVWMkk2QSt0enlNUDNpVTZYc3hQcGNHMUxhd2swbGdICjNxTFBhWVJnTStnUURST3BJOUNGNVk1N3BwNDljaE55TS9XcWZjWmpId2owL2dGL0pNOHJMRlFKM3VJcmJaTEdPVThXNmp4K2VrYlUKUldwR3FPdDFnbGFucTZCOGFCTXo5cDB3OEc4bk9TUWpLcEQ5a0NrMThwUGZOS1hHOS9qdmpBOWlTbnl1MC9WVStJMjJtbGFIRm9JNgpNNnRhSWdqM2dycnFMdUJIbXJTMVJhTUZPOW5jTGtWQU8rcmNmK2c3NjlIc0p0ZzFwRERGT3F4WG5yTjJwU0I3K1I1S0JXSUJwaWgxCllKZVNEVzQrVFRkRERaSVZuQmdpelZHWm9Da2FQRitLTWpOYk1NZUpMMGVZRDZNRHh2YnhyTjh5OE5tQkd1U2N2ZmFBRlBEUkxMbUYKOWRpanNjaWxJZVVjRTVmdURyM2ZLYW52TkZOYjArUnFFNFFHdGpJQ3hGS3VJdExjc2lGQ0d0cEE4Q25KN0FvTVhPTFF1c3hJMHpjSwp6QklLaW5td1BRTi9hVXYwTkNCOXN6VHFqa3RrOVQ3OXN5Tm5GUTBFdVBBdHdRbFJQTEpzRmZDbEk5ZURkT1RsTHNuK21DZEN4cXZHCm5yRFFXemlsbTFEZWZoaVl0VVU3OW5tMDZQY2Fld2FEKzlDTDJydkh2UmlyQ0c4OGdHdEFQeGtadW1XSzVyN1ZYTk0yMSs5QVVpUmcKT0djRU1leVA4NExHM3JsVjh6c3hrVnJjdFFnVnJYWWxDZzE3TG9maURLWUd2Q1lRYlRlZDdOMTRqSHlBeGZEWmQwalEKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKR2xvYmFsIENoYW1iZXJzaWduIFJvb3QgLSAyMDA4Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJSFNUQ0NCVEdnQXdJQkFnSUpBTW5OMCtuVmZTUE9NQTBHQ1NxR1NJYjNEUUVCQlFVQU1JR3NNUXN3Q1FZRFZRUUdFd0pGVlRGRApNRUVHQTFVRUJ4TTZUV0ZrY21sa0lDaHpaV1VnWTNWeWNtVnVkQ0JoWkdSeVpYTnpJR0YwSUhkM2R5NWpZVzFsY21acGNtMWhMbU52CmJTOWhaR1J5WlhOektURVNNQkFHQTFVRUJSTUpRVGd5TnpRek1qZzNNUnN3R1FZRFZRUUtFeEpCUXlCRFlXMWxjbVpwY20xaElGTXUKUVM0eEp6QWxCZ05WQkFNVEhrZHNiMkpoYkNCRGFHRnRZbVZ5YzJsbmJpQlNiMjkwSUMwZ01qQXdPREFlRncwd09EQTRNREV4TWpNeApOREJhRncwek9EQTNNekV4TWpNeE5EQmFNSUdzTVFzd0NRWURWUVFHRXdKRlZURkRNRUVHQTFVRUJ4TTZUV0ZrY21sa0lDaHpaV1VnClkzVnljbVZ1ZENCaFpHUnlaWE56SUdGMElIZDNkeTVqWVcxbGNtWnBjbTFoTG1OdmJTOWhaR1J5WlhOektURVNNQkFHQTFVRUJSTUoKUVRneU56UXpNamczTVJzd0dRWURWUVFLRXhKQlF5QkRZVzFsY21acGNtMWhJRk11UVM0eEp6QWxCZ05WQkFNVEhrZHNiMkpoYkNCRAphR0Z0WW1WeWMybG5iaUJTYjI5MElDMGdNakF3T0RDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBTURmClZ0UGtPcHQyUmJRVDIvL0J0aG1MTjBFWWxWSkg2eGVkS1lpT05Xd0dNaTVIWXZOSkJMOTlSRGF4Y2N5OVdnbHoxZG1GUlArUlZ5WGYKWGphT2NORmNjVU1kMmRydlhOTDdHNzA2dGN1dG84eEVwdzJ1SVJVL3VYcGJrblhZcEJJNGlSbUt0NERTNGpKdlZweVIxb2dRQzdOMApaSkowWVBQMnp4aFBZTElqME1jN3ptRkxtWS9DRE5CQXNwamNEYWhPbzdrS3JtQ2dyVVZTWTdwbXZXamcrYjRhcUlHN0hrRjRkZFBCCi9nQlZzSWRVNkNlUU5SMU1NNjJYL0pjdW1JUy9MTW1qdjlHWUVSVHRZL2pLbUloWUY1bnRSUU9YZmp5R0hvaU12dktSaEk5bE5OZ0EKVEgyM01SZGFLWG9LR0NRd296ZTFlcWtCZlNiVytRNk9XZkg5R3pPMUtUc1hPMEcySWQzVXdEMmxuNThmUTFESnU3eHNlcGVZN3MyTQpIL3VjVWE2TGNMMG5uM0hBYTZ4OWtHYm8xMTA2RGJEVndvM1Z5SjJkd1czUTBMOVI1T1A0d3pnMnJ0YW5kZWF2aEVOZGs1SU1hZ2ZlCk94MllJdGFzd1RYYm82QWwvM0sxZGgzZWJla3NaaXhTaE5CRmtzNGM1ZVV6SGR3SFUxU2pxb0k3bWpjdjNOMmdaT25tM2IydS9HU0YKSFR5bnlRYmVoUDlyNkdzYVBNV2lzMEw3aXdrK1h3aFN4MkxFMUFWeHY4Ums1UGloZytnK0VwdW9IdFEyVFM5eDlvMG85b09wRTlKaAp3Wkc3U01BMGowR01TMHpiYVJML1VKU2NJSU5aYysxOG9mTHgvZDMzU2RORFdLQldZOG85UGVVMVZsbnBEc29nekN0TGt5a1BBZ01CCkFBR2pnZ0ZxTUlJQlpqQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRU1NQjBHQTFVZERnUVdCQlM1Q2NxY0h0dlRiRHBycnUxVThWdVQKQmpVdVhqQ0I0UVlEVlIwakJJSFpNSUhXZ0JTNUNjcWNIdHZUYkRwcnJ1MVU4VnVUQmpVdVhxR0JzcVNCcnpDQnJERUxNQWtHQTFVRQpCaE1DUlZVeFF6QkJCZ05WQkFjVE9rMWhaSEpwWkNBb2MyVmxJR04xY25KbGJuUWdZV1JrY21WemN5QmhkQ0IzZDNjdVkyRnRaWEptCmFYSnRZUzVqYjIwdllXUmtjbVZ6Y3lreEVqQVFCZ05WQkFVVENVRTRNamMwTXpJNE56RWJNQmtHQTFVRUNoTVNRVU1nUTJGdFpYSm0KYVhKdFlTQlRMa0V1TVNjd0pRWURWUVFERXg1SGJHOWlZV3dnUTJoaGJXSmxjbk5wWjI0Z1VtOXZkQ0F0SURJd01EaUNDUURKemRQcAoxWDBqempBT0JnTlZIUThCQWY4RUJBTUNBUVl3UFFZRFZSMGdCRFl3TkRBeUJnUlZIU0FBTUNvd0tBWUlLd1lCQlFVSEFnRVdIR2gwCmRIQTZMeTl3YjJ4cFkza3VZMkZ0WlhKbWFYSnRZUzVqYjIwd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dJQkFJQ0lmM0Rla2lqWkJaUkcKLzVCWHFmRXYzeG9OYS9wOERoeEpKSGtuMkVhcWJ5bFpVb2h3RXVyZFBmV2JVMVJ2NFdDaXFBbTU3T3RaZk1ZMThkd1k2ZkZuNWErNgpSZUFKM3NwRUQ4SVhEbmVSUlhvelgxK1dMR2lMd1VlUG1Kczl3T3pMOWRXQ2tvUTEwYjQyT0ZaeU1WdEhMYW9YcEdOUjZ3b0JyWC9zCmRaN0xvUi94ZnhLeHVlUmtmMmZXSXlyMHVEbGRtT2docCtHOVBVSWFkSnB3cjJoc1VGMUp6Ly83RGwzbUxFZlhnVHBaQUxWemEyTWcKOWpGRkNEa085SEIrUUhCYVA5QnJRcWwwUFNndkFtMTFjcFVKalVoanhzWWpWNUtUWGpYQmpma0s5eXlkWWh6MnJYemRwakVldHJISApmb1VtK3FScXRkcGpNTkh2a3pleVppOTlCZmZudDB1WWxEWEEyVG9wd1oyeVVETWRTcWxhcHNrRDcrMzA1Nmh1aXJSWGhPdWtQOUR1CnFxcUhXMlBvaytKcnFOUzRjbmhyRyswNTVGM0xtNnFIMVU5T0FQN1phcDg4TVE4b0FnRjltT2luc0tKa25ubjRTUElWcWN6bXlFVHIKUDNpWjhudHhQanp4bUtmRkdCSS81cnNvTTBMcFJRcDhiZktHZVMvRmdobDlDWWw4c2xSMmlLN2V3ZlBNNFc3Yk1kYVRycG1nN3lWcQpjNWlKV3pvdUU0Z2V2OENTbERRYjR5ZTNpeDV2UXYvbjZUZWJVQjB0b3ZrQzdzdFlXRHB4dkdqanFzR3ZIQ2dmb3R3alpUK0I2cTZaCjA5Z3d6eE1OVHhYSmhMeW5TQzM0TUNOMzJFWkxlVzMyak8wNmYyQVJlUFRwbTY3VlZNQjBnTkVMUXAvQgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR4VENDQXEyZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBRENCZ3pFTE1Ba0dBMVVFQmhNQ1ZWTXhFREFPQmdOVkJBZ1QKQjBGeWFYcHZibUV4RXpBUkJnTlZCQWNUQ2xOamIzUjBjMlJoYkdVeEdqQVlCZ05WQkFvVEVVZHZSR0ZrWkhrdVkyOXRMQ0JKYm1NdQpNVEV3THdZRFZRUURFeWhIYnlCRVlXUmtlU0JTYjI5MElFTmxjblJwWm1sallYUmxJRUYxZEdodmNtbDBlU0F0SUVjeU1CNFhEVEE1Ck1Ea3dNVEF3TURBd01Gb1hEVE0zTVRJek1USXpOVGsxT1Zvd2dZTXhDekFKQmdOVkJBWVRBbFZUTVJBd0RnWURWUVFJRXdkQmNtbDYKYjI1aE1STXdFUVlEVlFRSEV3cFRZMjkwZEhOa1lXeGxNUm93R0FZRFZRUUtFeEZIYjBSaFpHUjVMbU52YlN3Z1NXNWpMakV4TUM4RwpBMVVFQXhNb1IyOGdSR0ZrWkhrZ1VtOXZkQ0JEWlhKMGFXWnBZMkYwWlNCQmRYUm9iM0pwZEhrZ0xTQkhNakNDQVNJd0RRWUpLb1pJCmh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTDl4WWdqeCtsazA5eHZKR0tQM2dFbFk2U0tERTZiRklFTUJPNFR4NW9WSm55ZnEKOW9RYlRxQzAyM0NZeHpJQnNRVStCMDd1OVBwUEwxa3dJdWVyR1ZacjRvQUgvUE1XZFlBNVVYdmwrVFcyZEU2cGpZSVQ1TFkvcVFPRAorcUsraWhWcWY5NEx3N1laRkFYSzZzT29CSlE3Um53eURmTUFaaUxJaldsdE5vd1JHTGZUc2h4Z3REajZBb3pPMDkxR0I5NEtQdXRkCmZNaDgrN0FyVTZTU1ltbFJKUVZoR2tTQmpDeXBRNVlqMzZ3Nmdab09LY1VjcWVsZEhyYWVuakFLT2M3eGlJRDdTMTNNTXV5RllrTWwKTkFKV0p3R1J0RHR3S2o5dXNlaWNpQUY5bjlUNTIxTnRZSjIvTE9kWXE3aGZSdnpPeEJzRFBBbnJTVEZjYVVhejRFY0NBd0VBQWFOQwpNRUF3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFPQmdOVkhROEJBZjhFQkFNQ0FRWXdIUVlEVlIwT0JCWUVGRHFhaFFjUVp5aTI3L2E5CkJVRnVJTUdVMmcvZU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ1oyMTE1MWZtWFdXY0RZZkYrT3dZeGRTMmhJSTVQWlllMDk2YWMKdk5qcEw5RGJXdTdQZEl4enREaEMyZ1Y3K0FKMXVQMmxzZGV1OXRmZUU4dFRFSDZLUnRHWCtyY3VLeEdya0xBbmdQbm9uMXJwTjUrcgo1TjlzczRVWG5UM1pKRTk1a1RYV1h3VHJnSU9ybWdJdHRSRDAySkRIQkhOQTdYSWxvS21mN0o2cmFCS1pWOGFQRWpvSnBMMUUvUVlWCk44R2I1REtqN1RqbzJHVHpMSDRVL0FMcW44My9CMmdYMnlLUU9DMTZqZEZVOFdualh6UEtlajE3Q3VQS2YxODU1ZUoxdXNWMkdEUE8KTFBBdlRLMzNzZWZPVDZqRW0wcFVCc1YvZmRVSUQrSWMvbjRYdUt4ZTl0UVdza01KREUzMnAydTBtWVJseW5xSTR1SkV2bHozNmh6MQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRDNUQ0NBc1dnQXdJQkFnSUJBREFOQmdrcWhraUc5dzBCQVFzRkFEQ0JqekVMTUFrR0ExVUVCaE1DVlZNeEVEQU9CZ05WQkFnVApCMEZ5YVhwdmJtRXhFekFSQmdOVkJBY1RDbE5qYjNSMGMyUmhiR1V4SlRBakJnTlZCQW9USEZOMFlYSm1hV1ZzWkNCVVpXTm9ibTlzCmIyZHBaWE1zSUVsdVl5NHhNakF3QmdOVkJBTVRLVk4wWVhKbWFXVnNaQ0JTYjI5MElFTmxjblJwWm1sallYUmxJRUYxZEdodmNtbDAKZVNBdElFY3lNQjRYRFRBNU1Ea3dNVEF3TURBd01Gb1hEVE0zTVRJek1USXpOVGsxT1Zvd2dZOHhDekFKQmdOVkJBWVRBbFZUTVJBdwpEZ1lEVlFRSUV3ZEJjbWw2YjI1aE1STXdFUVlEVlFRSEV3cFRZMjkwZEhOa1lXeGxNU1V3SXdZRFZRUUtFeHhUZEdGeVptbGxiR1FnClZHVmphRzV2Ykc5bmFXVnpMQ0JKYm1NdU1USXdNQVlEVlFRREV5bFRkR0Z5Wm1sbGJHUWdVbTl2ZENCRFpYSjBhV1pwWTJGMFpTQkIKZFhSb2IzSnBkSGtnTFNCSE1qQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUwzdHdRUDg5by84QXJGdgpXNTlJMloxNTRxSzNBMkZXR01OSHR0ZktQVFV1aVVQM29XbWIzb29hL1JNZ25MUkpkeklwVnYyNTdJemRJdnB5M0NkaGwrNzJXb1RzCmJobTVpU3pjaEZ2VmRQdHJYOFdKcFJCU2lVWlY5TGgxSE9aLzVGU3VTL2hWY2xjQ0dmZ1hjVm5ySGlnSGRNV2RTTDVzdFBTa3NQTmsKTjNtU3dPeEdYbi9oYlZOTVlxL05Id3RqdXpxZCsveDVBSmhoZE04bWdrQmo4N0p5YWhrTm1jclVEblhNTi91TGljRlo4V0ovWDdOZgpaVEQ0cDdkTmRsb2VkbDQwd09pV1ZwbUtzL0IvcE0yOTNESXhmSkhQNEY4UitHdXFTVnpSbVpUUm91TmpXd2wydFZaaTRVdDBIWmJVCkp0UUlCRm5RbUE0TzV0Nzh3K3dma1BFQ0F3RUFBYU5DTUVBd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBT0JnTlZIUThCQWY4RUJBTUMKQVFZd0hRWURWUjBPQkJZRUZId01NaCtuMlRCL3hIMW9vMktvb2M2ckIxc25NQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUFSV2ZvbApUd052bEprN21oK0NoVG5VZGdXVVh1RW9rMjFpWFFuQ29LalVzSFU0OFRScW5lU2Zpb1ltVWVZczBjWXRicFVnU3BJQjdMaUtaM3N4CjRtY3VqSlVESmk1RG5Vb3g5ZzYxREx1MzRqZC9Jcm9Bb3c1N1V2dHJ1enZFMDNsUlRzMlE5R2NIR2NnOFJub05BWDNGV09kdDVvVXcKRjVva3hCRGdCUGZnOG4vVXFnci9RaDAzN1pUbFpGa1NJSGM0MHpJK09JRjFsblA2YUkreHk4NGZ4ZXo2bkg3UGZySHhCeTIyL0wvSwpwTC9RbHdWS3ZPb1lLQUtRdlZSNENTRngwOUY5SGRrV3NLbGhQZEFLQUNMOHgzdkxDV1JGQ3p0QWdmZDlmREwxbU1wWWpuMHE3cEJaCmMyVDVOblJlSmFIMVpnVXVmemtWcVNyN1VJdU9oV24wCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEN3pDQ0F0ZWdBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUXNGQURDQm1ERUxNQWtHQTFVRUJoTUNWVk14RURBT0JnTlZCQWdUCkIwRnlhWHB2Ym1FeEV6QVJCZ05WQkFjVENsTmpiM1IwYzJSaGJHVXhKVEFqQmdOVkJBb1RIRk4wWVhKbWFXVnNaQ0JVWldOb2JtOXMKYjJkcFpYTXNJRWx1WXk0eE96QTVCZ05WQkFNVE1sTjBZWEptYVdWc1pDQlRaWEoyYVdObGN5QlNiMjkwSUVObGNuUnBabWxqWVhSbApJRUYxZEdodmNtbDBlU0F0SUVjeU1CNFhEVEE1TURrd01UQXdNREF3TUZvWERUTTNNVEl6TVRJek5UazFPVm93Z1pneEN6QUpCZ05WCkJBWVRBbFZUTVJBd0RnWURWUVFJRXdkQmNtbDZiMjVoTVJNd0VRWURWUVFIRXdwVFkyOTBkSE5rWVd4bE1TVXdJd1lEVlFRS0V4eFQKZEdGeVptbGxiR1FnVkdWamFHNXZiRzluYVdWekxDQkpibU11TVRzd09RWURWUVFERXpKVGRHRnlabWxsYkdRZ1UyVnlkbWxqWlhNZwpVbTl2ZENCRFpYSjBhV1pwWTJGMFpTQkJkWFJvYjNKcGRIa2dMU0JITWpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDCkFRb0NnZ0VCQU5VTU9zUXErVTdpOWI0WmwxK09pRk94SHovTHo1OGdFMjBwT3NnUGZUejNhM1k0WTlrMllLaWJYbHdBZ0xJdldYLzIKaC9rbFE0Ym5hUnRTbXBEaGNlUFlMUTFPYi9iSVNkbTI4eHBXcml1MmRCVHJ6L3NtNHhxNkhaWXVhanRZbElsSFZ2OGxvSk53VTRQYQpoSFFVdzJlZUJHZzYzNDVBV2gxS1RzOURrVHZuVnRZQWNNdFM3bnQ5cmpybnZESDVSZmJDWU04VFdRSXJnTXcwUjkrNTNwQmxiUUxQCkxKR21wdWZlaFJoSmZHWk9venB0cWJYdU5DNjZEUU80TTk5SDY3RnJqU1habTg2QjBVVkdNcFp3aDk0Q0RrbERoYlpzYzd0azZtRkIKck1uVVZOK0hMOGNpc2liTW4xbFVhSi84dmlvdnhGVWNkVUJnRjRVQ1ZUbUxmd1VDQXdFQUFhTkNNRUF3RHdZRFZSMFRBUUgvQkFVdwpBd0VCL3pBT0JnTlZIUThCQWY4RUJBTUNBUVl3SFFZRFZSME9CQllFRkp4ZkFOK3FBZGN3S3ppSW9yaHRTcHp5RVpHRE1BMEdDU3FHClNJYjNEUUVCQ3dVQUE0SUJBUUJMTnFhRWQybmRPeG1mWnlNSWJ3NWh5ZjJFM0YvWU5vSE4yQnRCTFo5ZzNjY2FhTm5SYm9iaGlDUFAKRTk1RHorSTBzd1NkSHluVnYvaGV5TlhCdmU2U2J6SjA4cEdDTDcyQ1FucXRLcmNnZlUyOGVsVVN3aFhxdmZkcWxTNXNkSi9QSExUeQp4UUdqaGRCeVBxMXpxd3ViZFF4dFJiZU9sS3lXTjdXZzBJOFZSdzdqNklQZGovM3ZRUUYzekNlcFlvVXo4amNJNzNIUGR3YmV5QmtkCmlFRFBmVVlkL3g3SDRjNy9JOXZHK28xVlRxa0M1MGNSUmo3MC9iMTdLU2E3cVdGaU55aTJMU3IyRUlaa3lYQ24wcTIzS1hCNTZqemEKWXlXZi9XaTNNT3h3KzNXS3QyMWdaN0lleUxucDJLaHZBb3RuRFUwbVYzSGFJUHpCU2xDTnNTaTYKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQWZmaXJtVHJ1c3QgQ29tbWVyY2lhbAo9PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEVERDQ0FqU2dBd0lCQWdJSWQzY0dKeWFwc1h3d0RRWUpLb1pJaHZjTkFRRUxCUUF3UkRFTE1Ba0dBMVVFQmhNQ1ZWTXhGREFTCkJnTlZCQW9NQzBGbVptbHliVlJ5ZFhOME1SOHdIUVlEVlFRRERCWkJabVpwY20xVWNuVnpkQ0JEYjIxdFpYSmphV0ZzTUI0WERURXcKTURFeU9URTBNRFl3TmxvWERUTXdNVEl6TVRFME1EWXdObG93UkRFTE1Ba0dBMVVFQmhNQ1ZWTXhGREFTQmdOVkJBb01DMEZtWm1seQpiVlJ5ZFhOME1SOHdIUVlEVlFRRERCWkJabVpwY20xVWNuVnpkQ0JEYjIxdFpYSmphV0ZzTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGCkFBT0NBUThBTUlJQkNnS0NBUUVBOWh0UFp3Y3JvUlgxQmlMTEh3R3k0M05GQmtSSkxMdEpKUlRXenNPM3F5eFB4a0V5bEZmNkVxZGIKRHVLUEh4NkdHYWVxdFMyNVh3Mkt3cStGTlhreUxic2NZamZ5c1Z0S1Bjck5jVi9wUXI2VTZNamUrU0pJWk1ibHE4WXJiYTBGOFByVgpDOCthNWZCUXBJczdSNlVqVzNwNitETS91TytabCtNZ3dkWW9pYytVKzdsRjdlTkFGeEhVZFBBTE1lSXJKbXFiVEZldXJDQSt1a1Y2CkJmTzltMmtWcm4xT0lHUEVOWFk2QndMSk4vM0hSKzdvOFhZZGN4WHlsNlMxeUhwNTJVS3FLMzljL3M0bVQ2Tm1nVFd2UkxwVUhod3cKTW1XZDVqeVRYbEJPZXVNNjFHN01HdnY1MGpldUpDcXJWd01pS0ExSmRYKzNLTnAxdjQ3ajNBNTVNUUlEQVFBQm8wSXdRREFkQmdOVgpIUTRFRmdRVW5aUEdVNHRleXE4L254NFA1Wm1WdkNUMmxJOHdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QU9CZ05WSFE4QkFmOEVCQU1DCkFRWXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBRmlzOUFRT3pjQU4vd3I5MUxvV1h5bTllMmlaV0VuU3RCMDNUWDhuZlVZR1hVUEcKaGk0K2M3SW1mVStUcWJiRUtwcXJJWmNVc2Q2TTA2dUpGZGhySk5UeEZxN1lwRnpVZjFHTzdSZ0JzWk5qdmJ6NFlZQ2FuckhPUW5EaQpxWDBHSlgwbm9mNXY3TE1lSk5yalMxVWFBRHMxdER2WjExMHcvWUVUaWZMQ0JpdnRaOFNPeVVPeVhHc1ZpUUs4WXZ4TzhyVXpxckp2CjB3cWlVT1AyTytndVJNTGJaamlwTTFaSThXMGJNNDBOakQ5Z041M1R5bTErTkg0Tm4zSjJpeHVmY3YxU05VRkZBcFl2SExLYWMwa2gKc1VsSFJVZTA3Mm8wRWNsTm1zeFp0OVlDbmxwT1piV1VyaHZmS2JBVzhiOEFuZ2M2RjJTMUJMVWpJWmtLbFR1WGZPOD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQWZmaXJtVHJ1c3QgTmV0d29ya2luZwo9PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEVERDQ0FqU2dBd0lCQWdJSWZFOEVPUnpVbVMwd0RRWUpLb1pJaHZjTkFRRUZCUUF3UkRFTE1Ba0dBMVVFQmhNQ1ZWTXhGREFTCkJnTlZCQW9NQzBGbVptbHliVlJ5ZFhOME1SOHdIUVlEVlFRRERCWkJabVpwY20xVWNuVnpkQ0JPWlhSM2IzSnJhVzVuTUI0WERURXcKTURFeU9URTBNRGd5TkZvWERUTXdNVEl6TVRFME1EZ3lORm93UkRFTE1Ba0dBMVVFQmhNQ1ZWTXhGREFTQmdOVkJBb01DMEZtWm1seQpiVlJ5ZFhOME1SOHdIUVlEVlFRRERCWkJabVpwY20xVWNuVnpkQ0JPWlhSM2IzSnJhVzVuTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGCkFBT0NBUThBTUlJQkNnS0NBUUVBdElUTU14Y3VhNVJzYTJGU29PdWp6M21VVE9XVWdKbkxWV1JFWlk5blpPSUc0MXczU2ZZdm00U0UKSGkzeVlKMHdUc3lFaGVJc3p4NmUvamFyTTNjMVJOZzFsaG85TnVoNkR0alZSNkZxYVl2Wi9MczZybmxhMWZUV2NidWFrQ05ybXJlSQpkSWNNSGwrNW5pMzZxMU1yM0x0MlBwTk1DQWlNSHFJakhOUnFyU0s2bVFFdWJXWEx2aVJtVlNSTFFFU3hHOWZod29YQTNoQS9QZTI0Ci9QSHhJMVBjdjJXWGI5bjVRSEdOZmIyVjFNNitvRjRuSTk3OXB0QW1EZ0FwNnp4RzhEMWd2ejlRMHR3bVFWR2VGRGRDQktOd1Y2Z2IKaCswdCtudnVqQXJqcVdhSkdjdEIrZDFFTm1IUDRuZEd5SDMyOUpLQk52M2JOUEZ5ZnZNTUZyMjBGUUlEQVFBQm8wSXdRREFkQmdOVgpIUTRFRmdRVUJ4L1M1NXphd202aVFMU3dlbEFRVUhURXlMMHdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QU9CZ05WSFE4QkFmOEVCQU1DCkFRWXdEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBSWxYc2haNnFNTDkxdG1ibXpUQ25MUXlGRTJucE4vc3ZxZSsrRVBia1RmT3RESXUKVUZVYU5VNTJRM0VnNzVOM1RoVndMb2ZEd1IxdDNNdTFKOVFzVnRGU1V6cEUwblBJeEJzRlpWcGlrcHp1UVkweDIrYzA2bGtoMVFGNgoxMlM0WkRuTnllMnY3VXNEU0tlZ21RR0EzR1dqTnE1bFdVaFBna3ZJWmZGWEhlVlpMZ28vYk5qUjllVUp0R3hVQUFyZ0ZVMkhkVzIzCldKWmEzVzNTQUtEMG0waSt3emVrdWpiZ2ZJZUZseG9Wb3Q0dW9sdTlyeGo1a0ZETmNGbjRKMmRIeThlZ0J6cDkwU3hkYkJrNlpyVjkKL1pGdmdyRytDSlBiRkVmeG9qZkhSWjQ4eDNldlpLaVQzL1pwZzRKZzhrbENOTzFhQUZTRkhCWTJrZ3hjK3FhdHY5cz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQWZmaXJtVHJ1c3QgUHJlbWl1bQo9PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGUmpDQ0F5NmdBd0lCQWdJSWJZd1VSckdtQ3U0d0RRWUpLb1pJaHZjTkFRRU1CUUF3UVRFTE1Ba0dBMVVFQmhNQ1ZWTXhGREFTCkJnTlZCQW9NQzBGbVptbHliVlJ5ZFhOME1Sd3dHZ1lEVlFRRERCTkJabVpwY20xVWNuVnpkQ0JRY21WdGFYVnRNQjRYRFRFd01ERXkKT1RFME1UQXpObG9YRFRRd01USXpNVEUwTVRBek5sb3dRVEVMTUFrR0ExVUVCaE1DVlZNeEZEQVNCZ05WQkFvTUMwRm1abWx5YlZSeQpkWE4wTVJ3d0dnWURWUVFEREJOQlptWnBjbTFVY25WemRDQlFjbVZ0YVhWdE1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBCk1JSUNDZ0tDQWdFQXhCTGZxVi8rUWQzZDlaK0s0L2FzNFR4NG1yelk4SDk2b0RNcTNJMGdXNjR0YitlVDJUWndhbWpQamxHamhWdG4KQktBUUpHOWRLSUxCbDFmWVNDa1R0dUcra1UzZmhReFRHSm9lSktKUGovQ2loUXZMOUNsLzBxUlk3aVpOeWFxb2U1cloramplUkZjVgo1ZmlNeU5sSTRnMFdKeDBleUlPRkpiZTZxbFZCekFNaVN5MlJqWXZtaWE5bXgrbi9LK2s4ck5yU3M4UGhhSnlKK0hvQVZ0NzBWWlZzCis3cGszV0tMM3d0M011dGl6Q2FhbTd1cVlvTk10QVo2TU1ncHYrMEdUWmU1SE1ReEs5VmZ2Rk1TRjV5WlZ5bG1kMkVoTVFjdUpVbWQKR1BMdTh5dHhqTFc2T1FkSmQvenZMcEtRQlkwdEwzZDc3ME8vTmJ1YTJQbHpweXp5MEZmdUtFNG1YNCtRYUFrdnVQamNCdWt1bWo1UgpwOUVpeEFxbk9FaHNzL24vZmF1R1YrTzYxb1Y0ZDdwRDZraC85dGkrSTIwZXY5RTJiRmhjOGU2a0dWUWE5UVBTZHViaGpMMDhzOU5JClMrTEkrSCtTcUhaR25FSmxQcVFld1FjRFdrWXR1SmZ6dDlXeVZTSHZ1dHhNQUpmN0ZKVW5NNy9vUTBkRzBnaVpGbUE3bW43UzV1MDQKNnV3QkhqeElWa2tKeDB3M0FKNklEc0J6NFc5bTZYSkhNRDRRNVFzRHlacENBR3pGbEg1aHhJcmZmNElhQzFuRVdUSjNzN3hnYVZZNQovYlFHZXl6V1pEYlp2VWp0aEI5K3BTS1BLcmhDOUlLMzFGT1FlRTR0R3YyQmIwVFhPd0YwbGtMZ0FPSXVhK3JGN25Lc3U3Lys2cXFvCitOejJzbm1LdG1jQ0F3RUFBYU5DTUVBd0hRWURWUjBPQkJZRUZKM0FaNllNSXRrbTlVV3JwbVZTRVNmWVJheGpNQThHQTFVZEV3RUIKL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnRUdNQTBHQ1NxR1NJYjNEUUVCREFVQUE0SUNBUUN6VjAwUVlrNDY1S3pxdUJ5dgpNaVBJczBsYVVaeDJLSTE1cWxkR0Y5WDFVdmEzUk9nSVJMOFloTklMZ00zRkV2MEFWUVZoaDBIY3RTU2VQTVRZeVB0d25pOTRsb01nCk50NThEMmtUaUtWMU5wZ0lwc2Jmck03aldOYTNQdDY2OCtzMFFOaWlnZlY0UHkvVnBmelpvdFJlQkE0WHJmNUI4T1d5Y3ZwRWdqTkMKNkMxWTkxYU1Zais2UXJDY0RGeCtMbVVtWEZOUEFMSjRmcUVObVMyTnVCMk9vc1N3L1dEUU1LU095QVJpcWNUdE5kNTZsKzBPT0Y2UwpMNU53cGFtY2I2ZDlFeDEreGdoSXNWNW42MUVJSmVubUpXdFNLWkdjMGpsekNGZmVtUWEwVzUwUUJ1SENBS2k0SEVvQ0NoVFF3VUhLCis0dzFJWDJDT1BLcFZKRVpOWk9VYldvNnhiTFF1NG1HaytpYnlRODZwM3E0b2ZCNFJ2cjhOeS9saW9UejMvNEUyYUZvb0M4azRnbVYKQnRXVnl1RWtsdXQ4OXBNRnUrMXo2UzNSZFRuWDV5VGIyRTVmUTQrZTBCUTV2MVZ3U0psWE1iU2M3a3FZQTVZd0gyQUc3aHNqL29GZwpJeHBIWW9XbHpCazBnRyt6ckJyam4vQjdTSzNWQWRsbnRxbHlrK290WnJXeXVPUTlQTEx2VEl6cTZ3ZS9xeldhVllhOEdLYTFxRjYwCmcyeHJhVURUbjl6eHcybHJ1ZUZ0Q2ZUeHFsQjJDbnA5ZWhlaFZaWkNtVEVKM1dBUmpRVXdmdWFPUnRHZEZOckhGK1FGbG96RUpMVWIKenhRSHNrRDRvNTVCaHJ3RTBHdVd5Q3FBTlAyLzd3YWozVmpGaFQwK2ovNmVLZUMydUFsb0dSd1lRdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkFmZmlybVRydXN0IFByZW1pdW0gRUNDCj09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlCL2pDQ0FZV2dBd0lCQWdJSWRKY2xpc2MvZWxRd0NnWUlLb1pJemowRUF3TXdSVEVMTUFrR0ExVUVCaE1DVlZNeEZEQVNCZ05WCkJBb01DMEZtWm1seWJWUnlkWE4wTVNBd0hnWURWUVFEREJkQlptWnBjbTFVY25WemRDQlFjbVZ0YVhWdElFVkRRekFlRncweE1EQXgKTWpreE5ESXdNalJhRncwME1ERXlNekV4TkRJd01qUmFNRVV4Q3pBSkJnTlZCQVlUQWxWVE1SUXdFZ1lEVlFRS0RBdEJabVpwY20xVQpjblZ6ZERFZ01CNEdBMVVFQXd3WFFXWm1hWEp0VkhKMWMzUWdVSEpsYldsMWJTQkZRME13ZGpBUUJnY3Foa2pPUFFJQkJnVXJnUVFBCklnTmlBQVFOTUY0YkZaMEQwS0Y1TmJjNlBKSjZ5aFVjeldMem5DWmNCejNsVlBxajFzd1M2dlFVWCtpT0dhc3ZMa2ptckJoRGVLelEKTjhPOXNzMHM1a2ZpR3VaanVEMHVMM2pFVDl2MEQ2Um9URlZ5YTVVZFRoaENsWGpNTnp5UjRwdGxLeW1qUWpCQU1CMEdBMVVkRGdRVwpCQlNhcnlsNndCRTFOU1pSTUFERGF2NUExYTdXUERBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUE0R0ExVWREd0VCL3dRRUF3SUJCakFLCkJnZ3Foa2pPUFFRREF3Tm5BREJrQWpBWENmT0hpRkJhcjhqQVFyOUhYL1ZzYW9iZ3hDZDA1RGhUMXdWL0d6VGp4aSt6eWdrOE41M1gKNTdoRzhmMmg0bkVDTUVKWmgwUFVVZCs2MHdreVdzNklmbGM5bkY5Q2EvVUhMYlh3Z3BQNVdXK3VaUHBZNVlzZTQyTyt0WUhOYndLTQplUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EKPT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRHV6Q0NBcU9nQXdJQkFnSURCRVRBTUEwR0NTcUdTSWIzRFFFQkJRVUFNSDR4Q3pBSkJnTlZCQVlUQWxCTU1TSXdJQVlEVlFRSwpFeGxWYm1sNlpYUnZJRlJsWTJodWIyeHZaMmxsY3lCVExrRXVNU2N3SlFZRFZRUUxFeDVEWlhKMGRXMGdRMlZ5ZEdsbWFXTmhkR2x2CmJpQkJkWFJvYjNKcGRIa3hJakFnQmdOVkJBTVRHVU5sY25SMWJTQlVjblZ6ZEdWa0lFNWxkSGR2Y21zZ1EwRXdIaGNOTURneE1ESXkKTVRJd056TTNXaGNOTWpreE1qTXhNVEl3TnpNM1dqQitNUXN3Q1FZRFZRUUdFd0pRVERFaU1DQUdBMVVFQ2hNWlZXNXBlbVYwYnlCVQpaV05vYm05c2IyZHBaWE1nVXk1QkxqRW5NQ1VHQTFVRUN4TWVRMlZ5ZEhWdElFTmxjblJwWm1sallYUnBiMjRnUVhWMGFHOXlhWFI1Ck1TSXdJQVlEVlFRREV4bERaWEowZFcwZ1ZISjFjM1JsWkNCT1pYUjNiM0pySUVOQk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0MKQVE4QU1JSUJDZ0tDQVFFQTQvdDlvM0s2d3ZESkZJZjFhd0ZPNFc1QUI3cHRKMTEvOTFzdHMxckhVVitycERLbVlZZTJiZytHMGpBQwpsL2pYYVZlaEdEbGRhbVI1eGdGWnJEd3hTamg4MGdUU1N5am9JRjg3QjZMTVRYUGI4NjVQeDFiVldxZVdpZnJ6cTJqVUk0WlpKODhKCko3eXNibktESERCeTMrQ2k2ZExoZEhVWnZTcWVleFZVQkJ2WFF6bXRWU2pGNGhxNzlNRGtyamhKTTh4MmhaODVSZEtrbnZJU2pGSDQKZk9RdGYvV3NYK3NXbjdFdDBick1rVUozVENYSmtEaHYyL0RNKzQ0ZWwxaysxV0JPNWdVbzdVbDVFMHU2U05zditYTFRPY3IrSDlnMApjdlcwUU04eEFjUHMzaEV0RjEwZnVGRFJYaG1uYWQ0SE15aktVSlg1cDFUTFZJWlFSYW41U1FJREFRQUJvMEl3UURBUEJnTlZIUk1CCkFmOEVCVEFEQVFIL01CMEdBMVVkRGdRV0JCUUlkczNMQi84azlzWE43YnVRdk9LRU4wWjE5ekFPQmdOVkhROEJBZjhFQkFNQ0FRWXcKRFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUthb3JTTE9BVDJtby85aTBFaWRpMTV5c0hoRTQ5d2Nyd245STBqNnZTckV1VlVFdFJDagpqU2ZlQzRKajBPN2VERGQ1UVZzaXNyQ2FRVnltY09EVTBIZkxJOU1BNEd4V0wrRnBEUTNacXI4aGdWRFpCcVdvLzVVMzBLcis0clAxCm1TMUZoSXJsUWduWGRBSXY5NG5ZbWVtOEo5UkhqYm9OUmh4M3p4U2tITG1rTWNTY0tIUUROUDh6R1NhbDZRMTB0ejZYeG5ib0o1YWoKWnQzaHJ2SkJXOHFZVm9OemNPU0dHdEl4UWJvdnZpMFRXblp2VHVoT2dRNC9Xd01pb0JLK1psZ1JTc3NEeExRcUtpMldGK0E1Vkx4SQowM1lublpvdEJxYko3RG5TcTl1Zm1nc25BalVwc1VDVjUvbm9uRldJR1ViV3R6VDFmczQ1bXRrNDhWSDNUeXc9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkNlcnRpbm9taXMgLSBBdXRvcml0w6kgUmFjaW5lCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGbkRDQ0E0U2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUVVGQURCak1Rc3dDUVlEVlFRR0V3SkdVakVUTUJFR0ExVUVDaE1LClEyVnlkR2x1YjIxcGN6RVhNQlVHQTFVRUN4TU9NREF3TWlBME16TTVPVGc1TURNeEpqQWtCZ05WQkFNTUhVTmxjblJwYm05dGFYTWcKTFNCQmRYUnZjbWwwdzZrZ1VtRmphVzVsTUI0WERUQTRNRGt4TnpBNE1qZzFPVm9YRFRJNE1Ea3hOekE0TWpnMU9Wb3dZekVMTUFrRwpBMVVFQmhNQ1JsSXhFekFSQmdOVkJBb1RDa05sY25ScGJtOXRhWE14RnpBVkJnTlZCQXNURGpBd01ESWdORE16T1RrNE9UQXpNU1l3CkpBWURWUVFEREIxRFpYSjBhVzV2YldseklDMGdRWFYwYjNKcGRNT3BJRkpoWTJsdVpUQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFKMkZuNGJUNDYvSHNtdHVNK0NldDBJMFZaMzVnYjVqMkNOMkRwZFV6WmxNR3ZFNXg0allGMUFNbm1IYQp3RTVWM3VkYXVIcE9kNGNONWJqcitwNWVleDdFenloMHg1UDFGTVlpS0FUNWtjT3JKM05xRGk1Tjh5NG9IM0RmVlM5TzdjZHhid2x5Ckx1M1ZNcGZROFZoMzBXQzhUbDdibW9UMlIyRkZLL1pRcG45cWNTZEloRFdlclA1cHFaNTZYalVsK3JTblNUVjNscWMyVytITjN5TncKMkYxTXBRaUQ4YVlrT0JPbzdDK29vV2ZIcGkyR1IrNksvT3liRG5UMEswa0NlNUIxalB5Wk9RRTUxa3FKNVo1MnF6NldLRGdtaTkyTgpqTUQyQVI1dnBURVNPSDJWd25IdTdYU3U1RGFpUTNYVjhRQ2I0dVRYekVJRFMzaDY1WDI3dUs0dUlKUFQ1R0hmY2VGMlo1Yy90dDlxCmMxcGtJdVZDMjgrQkE1UFk5T01RNEhMMkFIQ3M4TUY2RHdWL3p6UnBSYldUNUJuYlVoWWpCWWtPalVqa0pXK3plTDlpOVFmNmxTVEMKbHJMb295UENYUVA4dzlQbGZNbDFJOWYwOWJ6ZTVOL05nTCtSaUgybkU3UTV1aXk2dmRGcnpQT2xLTzFFbm4xU28yK1dMaGwrSFBOYgp4eGFPdTJCOWQyWkhWSUlBRVdCc01zR29PQnZyYnBnVDF1NDQ5ZkNmRHUvK01ZSEIwaVNWTDFONmFhTHdENFpGamxpQ0swd2kxRjZnCjUzMG1KMGpmSlVhTlNpaDhocDc1bXhwWnVXVy9CZDIyUWwwOTVnQklnbDRnOXhHQzNzclluK1kzUnlZZTYzajNZY05CWkZnQ1FmbmEKNE5INCtlajlVamkyOVluZkFnTUJBQUdqV3pCWk1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0VHTUIwRwpBMVVkRGdRV0JCUU5qTFpoMmtTNDBSUjl3NzU5WGtqd3pzcHFzREFYQmdOVkhTQUVFREFPTUF3R0NpcUJlZ0ZXQWdJQUFRRXdEUVlKCktvWklodmNOQVFFRkJRQURnZ0lCQUNRK1lBWitIZTg2UHR2cXJ4eWFMQUVMOU1XMTJVa3g5RjFCallrTVR2OXNvdjMvNGdiSU9aL3gKV3FuZElsZ1ZxSXJUc2VZeUNZSURiTmMvQ01mNHVib0FiYm5XL0ZJeVhhUi9wREdVdTdaTU9IOG9NRFgvbnlOVHQ3YnVGSEFBUUN2YQpSNnMwZmw2blZqQmhLNHREclAyMmlDajFhN1krWUVxNlFwQTBaNDNxNjE5RlZEc1hySXZreG1VUDd0Q01YV1k1empLbjJCQ1h3SDQwCm5KK1U4L2FHSDg4YmM2MlVlWWRvY01NenBYRG4yTlU0bEc5amVldS9DZzRJNThVdkQwS2dLeFJBL3lIZ0JjVW40WVFSRTdyV2hoMUIKQ3hNamlkUEpDK2lLdW5xam8zTTNOWUI5RXJnemQwQTR3UHBlTU5MeXRxT3gxcUtWbDRHYlV1MXBUUCtBNUZQYlZGc0RiVlJmc2JqdgpKTDF2bnhIRHgyVENEeWhpaFdaZUdudXl0Kyt1TmNrWk02aTRKOXN6VmI5bzRYVklSRmI3emROSXUwZUpPcXhwOVlERzVFUlFMMVRFCnFrUEZNVEZZdlpiRjZuVnNtbld4VGZqM2wvK1dGdktYVGVqMjh4SDVPbjJLT0c0RXkrSFRSUldxcGRFZG5WMWo2Q1RtTmhUaWg2MGIKV2ZWRW0vdlhkM3dmQVhCaW9TQWFvc1VhS1BRaEErNHUyY0dBNnJuWmd0WmJkc0xMTzdYU0FQQ2pEdUd0YmtEMzI2QzAwRWF1RmRkRQp3azAxK2RJTDhoZjJyR2JWSkxKUDBSeVp3RzcxZmV0MEJMajVUWGNKMTdUUEJ6QUo4YmdBVnRrWEZoWUtLNGJmandFWkd1VzdnbVAvCnZndDJGbDQzTitiWWRKZWltVVY1Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClJvb3QgQ0EgR2VuZXJhbGl0YXQgVmFsZW5jaWFuYQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdpekNDQlhPZ0F3SUJBZ0lFTzBYbGFEQU5CZ2txaGtpRzl3MEJBUVVGQURCb01Rc3dDUVlEVlFRR0V3SkZVekVmTUIwR0ExVUUKQ2hNV1IyVnVaWEpoYkdsMFlYUWdWbUZzWlc1amFXRnVZVEVQTUEwR0ExVUVDeE1HVUV0SlIxWkJNU2N3SlFZRFZRUURFeDVTYjI5MApJRU5CSUVkbGJtVnlZV3hwZEdGMElGWmhiR1Z1WTJsaGJtRXdIaGNOTURFd056QTJNVFl5TWpRM1doY05NakV3TnpBeE1UVXlNalEzCldqQm9NUXN3Q1FZRFZRUUdFd0pGVXpFZk1CMEdBMVVFQ2hNV1IyVnVaWEpoYkdsMFlYUWdWbUZzWlc1amFXRnVZVEVQTUEwR0ExVUUKQ3hNR1VFdEpSMVpCTVNjd0pRWURWUVFERXg1U2IyOTBJRU5CSUVkbGJtVnlZV3hwZEdGMElGWmhiR1Z1WTJsaGJtRXdnZ0VpTUEwRwpDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREdLcXRYRVRjdklvcktBM1FkeXUwdG9ndThNMUpBSmtlK1dtbW1PM0kyCkYwem8zN2k3TDNiaFFFWjBaUUtRVWdpMC82aU13ZURIaVZZUU9UUHZhTFJmWDlwdEk2R0pYaUtqU2did0ovQlh1ZmpwVGpKM0NqOUIKWlBQclplNTIvbFNxZlIwZ3J2UFhkTUlLWC9VSUtGSUl6RlZkMGcvYm1vR2x1Nkd6d1pUTlZPQXlkVEdSR21LeTNuWGl6MCtKMlpHUQpEMEVidEZwS2Q3MW5nK0NUNTE2bkRPZUIwL1JTckZPeUE4ZEVKdnQ1NWNzMFlGQVFleHZiYTlkSHExOThhTXB1blVFREVPNXJtWHRlCkphakNxK1RBODF5YzQ3N09NVXhrSGw2QW92V0RmZ3pXeW94VmpyN2d2a2tIRDZNa1FYcFlIWVRxV0JMSTRiZnQ3NVBlbEFneEFnTUIKQUFHamdnTTdNSUlETnpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFHR0ZtaDBkSEE2THk5dlkzTndMbkJyYVM1bgpkbUV1WlhNd0VnWURWUjBUQVFIL0JBZ3dCZ0VCL3dJQkFqQ0NBalFHQTFVZElBU0NBaXN3Z2dJbk1JSUNJd1lLS3dZQkJBRy9WUUlCCkFEQ0NBaE13Z2dIb0JnZ3JCZ0VGQlFjQ0FqQ0NBZG9lZ2dIV0FFRUFkUUIwQUc4QWNnQnBBR1FBWVFCa0FDQUFaQUJsQUNBQVF3QmwKQUhJQWRBQnBBR1lBYVFCakFHRUFZd0JwQVBNQWJnQWdBRklBWVFEdEFIb0FJQUJrQUdVQUlBQnNBR0VBSUFCSEFHVUFiZ0JsQUhJQQpZUUJzQUdrQWRBQmhBSFFBSUFCV0FHRUFiQUJsQUc0QVl3QnBBR0VBYmdCaEFDNEFEUUFLQUV3QVlRQWdBRVFBWlFCakFHd0FZUUJ5CkFHRUFZd0JwQVBNQWJnQWdBR1FBWlFBZ0FGQUFjZ0RoQUdNQWRBQnBBR01BWVFCekFDQUFaQUJsQUNBQVF3QmxBSElBZEFCcEFHWUEKYVFCakFHRUFZd0JwQVBNQWJnQWdBSEVBZFFCbEFDQUFjZ0JwQUdjQVpRQWdBR1VBYkFBZ0FHWUFkUUJ1QUdNQWFRQnZBRzRBWVFCdApBR2tBWlFCdUFIUUFid0FnQUdRQVpRQWdBR3dBWVFBZ0FIQUFjZ0JsQUhNQVpRQnVBSFFBWlFBZ0FFRUFkUUIwQUc4QWNnQnBBR1FBCllRQmtBQ0FBWkFCbEFDQUFRd0JsQUhJQWRBQnBBR1lBYVFCakFHRUFZd0JwQVBNQWJnQWdBSE1BWlFBZ0FHVUFiZ0JqQUhVQVpRQnUKQUhRQWNnQmhBQ0FBWlFCdUFDQUFiQUJoQUNBQVpBQnBBSElBWlFCakFHTUFhUUR6QUc0QUlBQjNBR1VBWWdBZ0FHZ0FkQUIwQUhBQQpPZ0F2QUM4QWR3QjNBSGNBTGdCd0FHc0FhUUF1QUdjQWRnQmhBQzRBWlFCekFDOEFZd0J3QUhNd0pRWUlLd1lCQlFVSEFnRVdHV2gwCmRIQTZMeTkzZDNjdWNHdHBMbWQyWVM1bGN5OWpjSE13SFFZRFZSME9CQllFRkhzMTAwRFNISGdaWnU5MEVDamNQayt5ZUFUOE1JR1YKQmdOVkhTTUVnWTB3Z1lxQUZIczEwMERTSEhnWlp1OTBFQ2pjUGsreWVBVDhvV3lrYWpCb01Rc3dDUVlEVlFRR0V3SkZVekVmTUIwRwpBMVVFQ2hNV1IyVnVaWEpoYkdsMFlYUWdWbUZzWlc1amFXRnVZVEVQTUEwR0ExVUVDeE1HVUV0SlIxWkJNU2N3SlFZRFZRUURFeDVTCmIyOTBJRU5CSUVkbGJtVnlZV3hwZEdGMElGWmhiR1Z1WTJsaGJtR0NCRHRGNVdnd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFDUmgKVHZXMXlFSUNLck5jZGEzRmJjcm5sRCtsYUpXSXdWVEFFR21pRWk4WVB5VlFxSHhLNnNZSjJmUjF4a0RhcjFDZFBhVVd1MjB4eHNkegpDa2orSUhMdGI4em9nMkVXUnBBQmxVdDlqcHBTQ1MvMmJ4emtvWEhQakNwYUYzT0RSMDBQTnZzRVRVbFI0aFRKWkdINzFCVGc5SjYzCk5JOEtKcjJYWFBSNU9rb3dHY3l0VDZDWWlyUXhseXJpYzIxK2VMajRpSWxQc1NLUlpFdjFVTjREMitYRmR1Y1RablYrWmZzQm41T0gKaUozNVJsZDhUV0N2bUhNVEk2UWdrWUg2MEdGbXVIM1JyOVp2SG13OTZSSDlxZm1DSW9hWk0zRmE2aGxYUFpITnFjQ2piZ2NUcHNudAorR2lqbnNOYWNnbUhLTkhFYzhSekdGOVFkUll4bjdmb2ZNTT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQS1UcnVzdC1uUXVhbC0wMwo9PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEenpDQ0FyZWdBd0lCQWdJREFXd2VNQTBHQ1NxR1NJYjNEUUVCQlFVQU1JR05NUXN3Q1FZRFZRUUdFd0pCVkRGSU1FWUdBMVVFCkNndy9RUzFVY25WemRDQkhaWE11SUdZdUlGTnBZMmhsY21obGFYUnpjM2x6ZEdWdFpTQnBiU0JsYkdWcmRISXVJRVJoZEdWdWRtVnkKYTJWb2NpQkhiV0pJTVJrd0Z3WURWUVFMREJCQkxWUnlkWE4wTFc1UmRXRnNMVEF6TVJrd0Z3WURWUVFEREJCQkxWUnlkWE4wTFc1UgpkV0ZzTFRBek1CNFhEVEExTURneE56SXlNREF3TUZvWERURTFNRGd4TnpJeU1EQXdNRm93Z1kweEN6QUpCZ05WQkFZVEFrRlVNVWd3ClJnWURWUVFLREQ5QkxWUnlkWE4wSUVkbGN5NGdaaTRnVTJsamFHVnlhR1ZwZEhOemVYTjBaVzFsSUdsdElHVnNaV3QwY2k0Z1JHRjAKWlc1MlpYSnJaV2h5SUVkdFlrZ3hHVEFYQmdOVkJBc01FRUV0VkhKMWMzUXRibEYxWVd3dE1ETXhHVEFYQmdOVkJBTU1FRUV0VkhKMQpjM1F0YmxGMVlXd3RNRE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQ3RQV0Z1QS9PUU84QkJDNFNBCnpld3FvNTFydTI3Q1FvVDNVUlRob0tndFVhTlI4dDRqOERSRS81VHJ6QVVqbFVDNUIzaWxKZllLdlVXRzZObTl3QVNPaFVSaDczK24KeWZyQkpjeUZMR00vQldCelNRWGdZSGlWRUV2YytSRlp6bkYvUUp1S3FpVGZDMExpMjFhOFN0S2xESnUzUXo3ZGc5TW1FQUxQNmlQRQpTVTdsMCttMGlLc01ybUtTMUdXSDJXclg5SVdmNURNaUphWGx5RE82dzhkQjNGL0dhc3dBRG0weXFMYUhOZ0JpZDVzZUh6VExrRHg0CmlIUUY2M24xazNGbHlwM0hheGd0UFZ4TzU5WDRQekY5ajRmc0NpSXZJK24rdTMzSjRQVHM2M3pFc01NdFlyV2FjZGF4YXVqczJlM1YKY3V5K1Z3SE9CVldmM3RGZ2lCQ3pBZ01CQUFHak5qQTBNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdFUVlEVlIwT0JBb0VDRVJxbFdkVgplUkZQTUE0R0ExVWREd0VCL3dRRUF3SUJCakFOQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBVmRSVTBWbElYTE9UaGFxL1l5L2tnTTQwCm96UmlQdmJZN21lSU1RUURid3ZVQi90T2RRL1RMdFBBRjhmR0tPd0dEUkVrRGc2bFhiK01zaE9XY2R6VXpnNE5DbWd5YkxsQk1SbXIKc1FkN1RaalRYTERSOEtkQ29MWEVqcS8rOFQvMDcwOUdBSGJyQXZ2NW5kSkFsc2VJT3JpZkVYbnpnR1dvdlIvVGVJR2dVVXczdEtaZApKWERSWnNsbytTNFJGR2p4VkpnSXJDYVNEOTZKbnRUNnMza3IwcU41MU95THJJZFRhRUpNVVZGMEhoc25MdVAxSHlsMFRlMnY5K0dTCm1ZSG92anJIRjFEMnQ4YjhtN0NLYTlhSUE1R1BCbmM2aFFMZG1OVkRlRC9HTUJXc20ydkxWN2VKVVlzNjZNbUVETnV4VUNBS0drcTYKYWhxOTdCdkl4WVNhelE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpUV0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEZXpDQ0FtT2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUVVGQURCZk1Rc3dDUVlEVlFRR0V3SlVWekVTTUJBR0ExVUVDZ3dKClZFRkpWMEZPTFVOQk1SQXdEZ1lEVlFRTERBZFNiMjkwSUVOQk1Tb3dLQVlEVlFRRERDRlVWME5CSUZKdmIzUWdRMlZ5ZEdsbWFXTmgKZEdsdmJpQkJkWFJvYjNKcGRIa3dIaGNOTURnd09ESTRNRGN5TkRNeldoY05NekF4TWpNeE1UVTFPVFU1V2pCZk1Rc3dDUVlEVlFRRwpFd0pVVnpFU01CQUdBMVVFQ2d3SlZFRkpWMEZPTFVOQk1SQXdEZ1lEVlFRTERBZFNiMjkwSUVOQk1Tb3dLQVlEVlFRRERDRlVWME5CCklGSnZiM1FnUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ3dmbks0cEFPVTVxZmVDVGlSU2hGQWg2ZDhXV1FVZTdVUkVOMyt2OVhBdTFiaWhTWDBOWElQK0ZQUVFlRkVBY0swSE1NeApRaFpIaFRNaWRySUtidy9sSlZCUGhZYSt2NWd1RUdjZXZoRUZoZ1dReEZuUWZIZ1FzSUJjdCtISEszWExmSit1dGRHZEl6ZGpwOXhDCm9pMlNCQnRRd1h1NFBodkpWZ1NMTDFLYnJhbFc2Y0gvcmFsWWh6QzJnZmVYUmZ3WlZ6c3JiK1JIOUpsRi9oM3grSmVqaUIwM0hGeVAKNEhZbG1sRDRvRlQvUkpCMkk5SXl4c09yQnIvOCs3L3pyWDJTWWdKYktkTTFvNU9hUTJSZ1hiTDZNdjg3Qks5TlFHcjV4K1B2SS8xcgp5K1VQaXpnTjdncjgvZytZbnpBeDNXeFNaZm1MZ2I0aTRSeFlBN3FSRzRrSEFnTUJBQUdqUWpCQU1BNEdBMVVkRHdFQi93UUVBd0lCCkJqQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CMEdBMVVkRGdRV0JCUnFPRnNtamQ2TFd2SlBlbFNER1JqakNEV211akFOQmdrcWhraUcKOXcwQkFRVUZBQU9DQVFFQVBOVjNQZHJmaWJxSERBaFVhaUJRa3I2d1FUMjVKbVNEQ2kvb1FNQ1hLQ2VDTUVySmsvOXE1NllBZjRsQwptdFlSNVZQT0w4enkyZ1hFL3VKUXhEcUdmY3phZmhBSk81STFLbE95L3VzckJkbHNYZWJRNzlOcVpwNFZLSVY2NklJQXJCNm5DV2xXClF0Tm9VUmkrVkpxL1JFRzZTYjRndW1sYzdyaDN6YzVzSDYyRGxoaDlEclVVT1lUeEtPa3RvNTU3SG5weVdvT3plVy92dFB6UUNxVlkKVDBiZisyMTVXZktFSWxLdUQ4ejdmRHZuYXNwSFljTjYrTk9TQkIrNElJVGhObFFXeDBEZU80cHozTi9HQ1V6ZjdOci8xRk5Db2NueQpZaDBpZ3p5WHhma1pZaWVzWlNMWDB6ekc1WTZ5VTh4Snpyd3cvbnNPTTVENzdkSVVrUjhIcnc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpTZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlEZHpDQ0FsK2dBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUXNGQURCZE1Rc3dDUVlEVlFRR0V3SktVREVsTUNNR0ExVUVDaE1jClUwVkRUMDBnVkhKMWMzUWdVM2x6ZEdWdGN5QkRUeTRzVEZSRUxqRW5NQ1VHQTFVRUN4TWVVMlZqZFhKcGRIa2dRMjl0YlhWdWFXTmgKZEdsdmJpQlNiMjkwUTBFeU1CNFhEVEE1TURVeU9UQTFNREF6T1ZvWERUSTVNRFV5T1RBMU1EQXpPVm93WFRFTE1Ba0dBMVVFQmhNQwpTbEF4SlRBakJnTlZCQW9USEZORlEwOU5JRlJ5ZFhOMElGTjVjM1JsYlhNZ1EwOHVMRXhVUkM0eEp6QWxCZ05WQkFzVEhsTmxZM1Z5CmFYUjVJRU52YlcxMWJtbGpZWFJwYjI0Z1VtOXZkRU5CTWpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUIKQU5BVk9WS3hVck82eFZtQ3hGMVNyanBEWllCTHgvS1d2TnMybDlhbVpJeW9YdkRqQ2h6MzM1YzlTNjcyWGV3aHRVR3J6YmwrZHArKworVDQyTktBN3dmWXhFVVYwa3oxWGdNWDVpWm5LNWF0cTFMWGFRWkFRd2RiV1FvbkN2L1E0RXBWTVZBWDNOdVJGZzNzVVpkYmNERTNSCjNuNE1xenZFRmI0NlZxWmFiM1pwVXFsNnVjanJhcHBkVXRBdENtczFGZ2tRaE5CcXlqb0dBRGRINUg1WFR6K0w2MmU0aUtyRnZsTlYKc3BIRWZibXdoUmtHZUM3YllScjZoZlZLa2FIbkZ0V09vam5mbExod0h5Zy9pL3hBWG1PRFBJTXFHcGxyejk1WmFqdjhieGJYSC8xSwpFT3RPZ2hZNnJDY01VL0d0MVNTd2F3TlF3UzA4RnQxRU5DY2FkZnNDQXdFQUFhTkNNRUF3SFFZRFZSME9CQllFRkFxRnFYZGxCWmg4ClFJSDRENWNzT1BFSzdEelBNQTRHQTFVZER3RUIvd1FFQXdJQkJqQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01BMEdDU3FHU0liM0RRRUIKQ3dVQUE0SUJBUUJNT3FORXJMbEZzY2VUZnNnTENrTGZaT29jN2xsc0NMcUpYMnJLU3BXZWVvOEh4ZHBGY29KeERqclN6RytudEtFagp1L1lrbjhzWC9veW16c0xTMjh5Ti9ISDhBeW5CYkYwelgyUzJaVHVKYnhoMmVQWGNva2dmR1QrT2srdngraGZ1elU3akJCSlYxdVhrCjNmcytCWHppSFY3R3A3eVhUMmc2OWVrdUNrTzJyMWRjWW1oOHQvMmppb1NnckdLK0t3bUhOUEJxQWJ1YktWWTgvZ0EzenlOczhVNnEKdG5SR0VteVI3alRWN0pxUjUwUytrREZ5MVVrQzlnTGw5Qi9yZk5tV1Zhbi83SXI1bVVmL05Wb0NxZ1RMaWx1SGNTbVJ2YVMwZWcyOQptdlZYSXdBSElSYy9Tam5SQlVrTHA3WTNnYVZkaktvelhvRW9mS2Q5SitzQXJvMDMKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKRUMtQUNDCj09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRlZqQ0NCRDZnQXdJQkFnSVE3aXM5NjlRaDNoU29ZcXdFODkzRUFUQU5CZ2txaGtpRzl3MEJBUVVGQURDQjh6RUxNQWtHQTFVRQpCaE1DUlZNeE96QTVCZ05WQkFvVE1rRm5aVzVqYVdFZ1EyRjBZV3hoYm1FZ1pHVWdRMlZ5ZEdsbWFXTmhZMmx2SUNoT1NVWWdVUzB3Ck9EQXhNVGMyTFVrcE1TZ3dKZ1lEVlFRTEV4OVRaWEoyWldseklGQjFZbXhwWTNNZ1pHVWdRMlZ5ZEdsbWFXTmhZMmx2TVRVd013WUQKVlFRTEV5eFdaV2RsZFNCb2RIUndjem92TDNkM2R5NWpZWFJqWlhKMExtNWxkQzkyWlhKaGNuSmxiQ0FvWXlrd016RTFNRE1HQTFVRQpDeE1zU21WeVlYSnhkV2xoSUVWdWRHbDBZWFJ6SUdSbElFTmxjblJwWm1sallXTnBieUJEWVhSaGJHRnVaWE14RHpBTkJnTlZCQU1UCkJrVkRMVUZEUXpBZUZ3MHdNekF4TURjeU16QXdNREJhRncwek1UQXhNRGN5TWpVNU5UbGFNSUh6TVFzd0NRWURWUVFHRXdKRlV6RTcKTURrR0ExVUVDaE15UVdkbGJtTnBZU0JEWVhSaGJHRnVZU0JrWlNCRFpYSjBhV1pwWTJGamFXOGdLRTVKUmlCUkxUQTRNREV4TnpZdApTU2t4S0RBbUJnTlZCQXNUSDFObGNuWmxhWE1nVUhWaWJHbGpjeUJrWlNCRFpYSjBhV1pwWTJGamFXOHhOVEF6QmdOVkJBc1RMRlpsCloyVjFJR2gwZEhCek9pOHZkM2QzTG1OaGRHTmxjblF1Ym1WMEwzWmxjbUZ5Y21Wc0lDaGpLVEF6TVRVd013WURWUVFMRXl4S1pYSmgKY25GMWFXRWdSVzUwYVhSaGRITWdaR1VnUTJWeWRHbG1hV05oWTJsdklFTmhkR0ZzWVc1bGN6RVBNQTBHQTFVRUF4TUdSVU10UVVORApNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXN5TEhUK0tYUXBXSVI0TkE5aDBYODROekpCNVI4NWlLCnc1SzQvMENRQlhDSFlNa0FxYldVWlJraUZSZkNRMnhtUkpvTkJENDViNlZMZXFwanQ0cEVuZGxqa1lSbTRDZ1B1a0xqYm83M0ZDZVQKYWU2UkRxTmZEckhyWnFKeVR4SVRobVY2UHR0UEIvU25DV0RhT2tLWng3Si9zeGFWSE1mNU5MV1VoZFdaWHFCSW9IN25GMlc0b25XNApIdlBsUW4ydjdmT0tTR1JkZ2hTVDJNRGsvN05RY3ZKMjlyTmRRbEI1MEpRK2F3d0F2dGhyRGs0cTdEN1N6SUtpR0dVekUzZWVtbDBhCkU5akQyejNJbDNydWNPMm41bnpiY2M4dGxHTGZiZGIxT0w0L3BZVUtHYmlvMkFsMVFuREU2dS9MRHNnMHFCSWltQXk0RTVTMlMrencKMEpEbkp3SURBUUFCbzRIak1JSGdNQjBHQTFVZEVRUVdNQlNCRW1WalgyRmpZMEJqWVhSalpYSjBMbTVsZERBUEJnTlZIUk1CQWY4RQpCVEFEQVFIL01BNEdBMVVkRHdFQi93UUVBd0lCQmpBZEJnTlZIUTRFRmdRVW9NT0xSS28zcFVXL2w0QmEwZkY0b3B2cFhZMHdmd1lEClZSMGdCSGd3ZGpCMEJnc3JCZ0VFQWZWNEFRTUJDakJsTUN3R0NDc0dBUVVGQndJQkZpQm9kSFJ3Y3pvdkwzZDNkeTVqWVhSalpYSjAKTG01bGRDOTJaWEpoY25KbGJEQTFCZ2dyQmdFRkJRY0NBakFwR2lkV1pXZGxkU0JvZEhSd2N6b3ZMM2QzZHk1allYUmpaWEowTG01bApkQzkyWlhKaGNuSmxiQ0F3RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUtCSVc0SUI5azFJdURsVk5aeUFlbE9aMVZyL3NYRTd6RGtKCmxGN1cydSsrQVZ0ZDB4N1kvWDFQemFCQjREU1R2OHZpaHB3M2twQldITnpyS1FYbHhKN0hOZCtLRE0zRklVUHBxb2psTmNBWlFtTmEKQWw2a1NCZzZoVy9jbmJ3L25aekJoN2g2WVFqcGR3dC9jS3Q2M2RtWExHUWVoYis4ZEphaHczb1M3QXdhYm9NTVBPaHlScC83U05WZQpsK2F4b2ZqazcwWWxsSnlKMjJrNHZ1eGNEbGJIWlZIbFVJaUl2MExWS3ozbCticWVMclBLOUhPU0FndStUR2JySVA2NXk3V1pmK2EyCkUvcktTMDNaN2xOR0JqdkdUcTJUV29GK2JDcExhZ1ZGalBJaHBER1FoMnhsbkoybFlKVTZVbi8xMGFzSWJ2UHVXL21JUFg2NGIyNEQKNUVJPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVNVENDQXhtZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRVUZBRENCbFRFTE1Ba0dBMVVFQmhNQ1IxSXhSREJDQmdOVkJBb1QKTzBobGJHeGxibWxqSUVGallXUmxiV2xqSUdGdVpDQlNaWE5sWVhKamFDQkpibk4wYVhSMWRHbHZibk1nUTJWeWRDNGdRWFYwYUc5eQphWFI1TVVBd1BnWURWUVFERXpkSVpXeHNaVzVwWXlCQlkyRmtaVzFwWXlCaGJtUWdVbVZ6WldGeVkyZ2dTVzV6ZEdsMGRYUnBiMjV6CklGSnZiM1JEUVNBeU1ERXhNQjRYRFRFeE1USXdOakV6TkRrMU1sb1hEVE14TVRJd01URXpORGsxTWxvd2daVXhDekFKQmdOVkJBWVQKQWtkU01VUXdRZ1lEVlFRS0V6dElaV3hzWlc1cFl5QkJZMkZrWlcxcFl5QmhibVFnVW1WelpXRnlZMmdnU1c1emRHbDBkWFJwYjI1egpJRU5sY25RdUlFRjFkR2h2Y21sMGVURkFNRDRHQTFVRUF4TTNTR1ZzYkdWdWFXTWdRV05oWkdWdGFXTWdZVzVrSUZKbGMyVmhjbU5vCklFbHVjM1JwZEhWMGFXOXVjeUJTYjI5MFEwRWdNakF4TVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUIKQUtsVEFPTXVwdmFPK21EWUxaVSsrQ3dxVkU3TnVZUmhsRmhQanoyTDVFUHpkWW1OVWVURE45S0tpRTE1SHJjUzNVTjRTb3FTNXRkSQoxUStrT2lsRU5iZ0g5bWdkVmMwNFVmQ01KREdGcjRQSmZlbDNyKzBhZTUwWCtiT2RPRkFQcGxwNWtZQ3ZONjZtMHpIN3RTWUpuVHhhCjcxSEZLOStXWGVzeUhnTGFjRW5zYmd6SW1qZU45L0UyWUVzbUxJS2UwSGp6RFE5anBGRXc0ZmtySnhJSDJPcTlHR0tZc0ZrM2ZiN3UKOHlCUlFscUQ3NU82YVJYeFlwMmZtVG1Db2JkMExvdlV4UXQ3TC9ESUN0bzllUXFha3h5bEtISnprVU9hcDlGTmhZUzVxWFNQRkVESAozTjZzUVdSc3RCbWJBbU50SkdTUFJMSWw2czVkZEF4ak1seU5oK1VDQXdFQUFhT0JpVENCaGpBUEJnTlZIUk1CQWY4RUJUQURBUUgvCk1Bc0dBMVVkRHdRRUF3SUJCakFkQmdOVkhRNEVGZ1FVcHBGQy9STmhTaU9lQ0tRcDVkZ1RCQ1B1UVNVd1J3WURWUjBlQkVBd1BxQTgKTUFXQ0F5NW5jakFGZ2dNdVpYVXdCb0lFTG1Wa2RUQUdnZ1F1YjNKbk1BV0JBeTVuY2pBRmdRTXVaWFV3Qm9FRUxtVmtkVEFHZ1FRdQpiM0puTUEwR0NTcUdTSWIzRFFFQkJRVUFBNElCQVFBZjczbEI0WHR1UDdLTWhqZENTazRjTng2Tlpyb2tnY2xQRWc4aHdBT1hoaVZ0ClhkTWlLYWhzb2cycDZ6MEdXNWs2eDh6RG1qUi9xdzdJVGh6aCt1VGN6UTIrdnlUK2JPZHJ3ZzNJQnA1T2pXRW9wbXI5NWZaaTZoZzgKVHFCVG5iSTZuT3VsbkpFV3RrMkM0QXdGU0tsczljejR5NTFKdFBBQ3BmMXdBKzJLSWFXdUU0Wkp3ek56dm9jN2RJc1hSU1pNRnBHRAovbWQ5elUxalovcnpBeEtXZUFhTnNXZnRqaisrbjA4QzliTUpML05NaDk4cXk1VjhBY3lzTm5xL29uTjY5NC9CdFpxaEZMS1BNNThOCjd5TGNabnVFdlVVWEJqMDh5cmwzTkkvSzZzOC9NVDdqaU9PQVNTWElsN1dkbXBsTnNEejRTZ0NiWk4yZk9VdlJKOWU0Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkFjdGFsaXMgQXV0aGVudGljYXRpb24gUm9vdCBDQQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZ1ekNDQTZPZ0F3SUJBZ0lJVndvUmwwTEU0OHd3RFFZSktvWklodmNOQVFFTEJRQXdhekVMTUFrR0ExVUVCaE1DU1ZReERqQU0KQmdOVkJBY01CVTFwYkdGdU1TTXdJUVlEVlFRS0RCcEJZM1JoYkdseklGTXVjQzVCTGk4d016TTFPRFV5TURrMk56RW5NQ1VHQTFVRQpBd3dlUVdOMFlXeHBjeUJCZFhSb1pXNTBhV05oZEdsdmJpQlNiMjkwSUVOQk1CNFhEVEV4TURreU1qRXhNakl3TWxvWERUTXdNRGt5Ck1qRXhNakl3TWxvd2F6RUxNQWtHQTFVRUJoTUNTVlF4RGpBTUJnTlZCQWNNQlUxcGJHRnVNU013SVFZRFZRUUtEQnBCWTNSaGJHbHoKSUZNdWNDNUJMaTh3TXpNMU9EVXlNRGsyTnpFbk1DVUdBMVVFQXd3ZVFXTjBZV3hwY3lCQmRYUm9aVzUwYVdOaGRHbHZiaUJTYjI5MApJRU5CTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFwOGJFcFNta0xPL2xHTVd3VUtOdlVUdWZDbHJKCndrZzRDc0ljb0JoL2tiV0h1VUEvM1Ixb0h3aUQxUzBlaUtENGoxYVBiWmtDa3BBVzFWOEliSW5YNGF5OElNS3g0SU5SaW1sTkFKWmEKYnkvQVJINmpEdVNSelZqdTNQdkhIa1ZIM1NlNUNBR2ZwaUVkOVVFdEwwejlLSzNnaXEwaXRGWmxqb1pVajVOREtkNDVSbmlqTUNPNgp6ZkI5RTFmQVhkS0RhMGhNeEt1ZmdGcGJPcjNKcHlJL2dDY3pXdzYzaWd4ZEJ6Y0l5MnpTZWtjaVJEWEZ6TXd1anQwcTdiZDlaZzFmCllWRWlWUnZqUnVQalBkQTFZcHJicnhUSVc2SE1pUnZoTUNiOG9Kc2ZnYWRISHdUcm96bVNCcCtaMDcvVDZrOVFuQm4rbG9jZVBHWDIKb3hna2c0WVE1MVErcURwMkpFK0JJY1hqRHdMNGs1UkhJTHYrMUE3VGFMbmR4SHFFZ3VOVFZIbmQyNXpTOGdlYkxyYThQdTJGYmU4bApFZktYR2tKaDkwcVg2SXV4RUFmNlpZR3lvam5QOXp6L0dQdkc4VnFMV2VJQ3JIdVMwRTRVVDFsRjlneGVLRit3NkQ5Rno4K3ZtMi83CmhOTjNXcFZ2ckpTRW51Njh3RXFQU3BQNFJDSGlNVVZoVUU0UTJPTTFmRXdadE40RnY2TUduOGkxemVRZjF4Y0dEWHFWZEZVTmFCcjgKRUJ0aVpKMXQ0SldndzVRSFZ3MFU1cjBGKzdpZjV0K0w0c2JuZnBiMlU4V0FORkFvV1BBU1VIRVhNTHJtZUdPODlMS3RteXV5L3VFNQpqRjY2Q3lDVTNudUR1UC9qVm8yM0VlazdqUEt4d1YyZHBBdE1LOW15R1BXMW4wc0NBd0VBQWFOak1HRXdIUVlEVlIwT0JCWUVGRkxZCmlEckluM2htN1luemV6aHdsTWtDQWpiUU1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0h3WURWUjBqQkJnd0ZvQVVVdGlJT3NpZmVHYnQKaWZON09IQ1V5UUlDTnRBd0RnWURWUjBQQVFIL0JBUURBZ0VHTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElDQVFBTGUzS0h3R0NtU1V5SQpXT1lkaVBjVVpFaW0yRmdLRGs4VE5kODFIZFR0QmpISWdUNXExZDA3R2pMdWtEMFIwaTcwanNOakxpTm1zR2UrYjdiQUV6bGdxcUkwCkpaTjFVdDZubmEwT2g0bFNjV29XUEJrZGcvaWFLV1crOUQrYTJmRHpXb2NoY1lCTnkrQTRteis3K3VBd1RjK0cwMlVRR1JqUmx3S3gKSzNKQ2FLeWd2VTVhMmhpL2E1aUIwUDJhdmw0VlNNMFJGYm5BS1Z5MDZJajNQamF1dDJMOUhtTGVjSGdRSEVoYjJyeWtPTHBuN1ZVKwpYbGZmMUFOQVRJR2swazlqcHdsQ0NSVDhBS25DZ0hOUExzQkEyUkY3U09wNkFzRFQ2eWdCSmxoMHdjQnpJbTJUbGYwNWZic3E0L2FDCjR5eVhYMDRma1pUNi9peWoySFlhdUUyeU9FK2IraDFJWUhrbTR2UDlxZENhNkhDUFNYclc1YjBLRHRzdDg0Mi82K09rZmN2SGxYSG8KMnFOOHhjTDRkSklFRzRhc3BDSlRRTGFzL2t4MnovdVVNc0ExbjNZL2J1V1FicUNtSnFLNExMN1JLNFg5cDJqSXVnRXJzV3gwSGJoegpsZWZ1dDhjbDhBQk1BTEordGd1TEhQUEFVSjRsdWVBSTNqWm0vemVsMGJ0VVpDekpKN1ZMa241bC85TXQ0YmxPdkgra1FTR1FRWGVtCk9SL3FudU9mMEdadkJleXFkbjYvYXhhZzY3WEgvSkpVTHlzUkp5VTNlRXhSYXJEenpGaGRGUEZxU0JYL3dnZTJzWTBQamx4UVJyTTkKdndHWVQ3SlpWRWMrTkh0NGJWYVRMblBxWmloNHpSMFV2NkNQTHk2NExvN3lGSXJNNmJWOCsyeWRES1hobGc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpUcnVzdGlzIEZQUyBSb290IENBCj09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURaekNDQWsrZ0F3SUJBZ0lRR3grdHRpRDVKTk0yYS9mSDhZeWdXVEFOQmdrcWhraUc5dzBCQVFVRkFEQkZNUXN3Q1FZRFZRUUcKRXdKSFFqRVlNQllHQTFVRUNoTVBWSEoxYzNScGN5Qk1hVzFwZEdWa01Sd3dHZ1lEVlFRTEV4TlVjblZ6ZEdseklFWlFVeUJTYjI5MApJRU5CTUI0WERUQXpNVEl5TXpFeU1UUXdObG9YRFRJME1ERXlNVEV4TXpZMU5Gb3dSVEVMTUFrR0ExVUVCaE1DUjBJeEdEQVdCZ05WCkJBb1REMVJ5ZFhOMGFYTWdUR2x0YVhSbFpERWNNQm9HQTFVRUN4TVRWSEoxYzNScGN5QkdVRk1nVW05dmRDQkRRVENDQVNJd0RRWUoKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTVZRZTU0N05kRGZ4SXpOanB2dG84QTJtZlJDNnFjK2dJTVBwcWRaaDhtUQpSVU4rQU9xR2VTb0R2VDAzbVlsbXQrV0tWb2FUbkdoTGFBU01rNU1DUGpEU056b2lZWWtjaFU1OWo5V3ZlelgyZmloSGlUSGNEbmxrCkg1blNXN3IrZjJDL3Jldm5QRGdwYWkvbGtRdFYvK3h2V05VdHlkNU1abkdQRE5jRTJnZm1IaGpqdlNrQ3FQb2M0VnU1ZzZoQlNMd2EKY1kzbll1VXRzdXZmZk0vYnExcktNZkZNSXZNRkUvZUMrWE41REw3WFN4ekEwUlU4azBGazBlYStJeGNpQUlsZUgydWxyRzZuUzR6dApvM0xtcjJOTkw0WFNGRFdhTGs2TTZqS1lLSWFoa1FsQk9yVGg0L0w2OE1rS29rSGRxZU1EeDRnVk94elVHcFRYbjJSWkVtMENBd0VBCkFhTlRNRkV3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFmQmdOVkhTTUVHREFXZ0JTNituRWxlWXRYUVNVaGhndHg2N0prRG9zaFp6QWQKQmdOVkhRNEVGZ1FVdXZweEpYbUxWMEVsSVlZTGNldXlaQTZMSVdjd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFINVkvLzAxR1gyYwpHRStlc0N1OGpvd1UveXlnMmtkYncrK0JMYThGNm5SSVcvTStUZ2ZIYmNXems4OGlOVnkyUDNVblh3bVd6YUQrdmtBTVhCSlYrSk9DCnlpbnBYajlXVjRzNE52ZEZHa3dvelo1QnVPMVdUSVNrUU1pNHNLVXJhWEFFYXNQNDFCSXkrUTdEc2R3eWhFUXNiOHRHRCtwbVFROVAKOFZpbHBnME5EMkhlcFo1ZGZXV2hQQmZucUZWTzc2REg3Y1pFZjFUMW8rQ1A4SHhWSW84cHRvR2o0VzFPTEJ1QVoreXRJSjhNWW1IVgpsLzlEN1MzQjJsMHBLb1UvckdYdWhnOEZqWkJmMys2ZjlML3VIZnVZNUgrUUs0UjRFQTVzU1ZQdkZWdGxSa3BkcjdyN09uSWR6ZllsCmlCNlh6Q0djS1FFTlpldFgyZk5YbHJ0SXpZRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUhoekNDQlcrZ0F3SUJBZ0lCTFRBTkJna3Foa2lHOXcwQkFRc0ZBREI5TVFzd0NRWURWUVFHRXdKSlRERVdNQlFHQTFVRUNoTU4KVTNSaGNuUkRiMjBnVEhSa0xqRXJNQ2tHQTFVRUN4TWlVMlZqZFhKbElFUnBaMmwwWVd3Z1EyVnlkR2xtYVdOaGRHVWdVMmxuYm1sdQpaekVwTUNjR0ExVUVBeE1nVTNSaGNuUkRiMjBnUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa3dIaGNOTURZd09URTNNVGswCk5qTTNXaGNOTXpZd09URTNNVGswTmpNMldqQjlNUXN3Q1FZRFZRUUdFd0pKVERFV01CUUdBMVVFQ2hNTlUzUmhjblJEYjIwZ1RIUmsKTGpFck1Da0dBMVVFQ3hNaVUyVmpkWEpsSUVScFoybDBZV3dnUTJWeWRHbG1hV05oZEdVZ1UybG5ibWx1WnpFcE1DY0dBMVVFQXhNZwpVM1JoY25SRGIyMGdRMlZ5ZEdsbWFXTmhkR2x2YmlCQmRYUm9iM0pwZEhrd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3CmdnSUtBb0lDQVFEQmlOc0p2R3hHZkhpZmxYdTFNNUR5Y21MV3dUWWdJaVJlenVsMzhrTUtvZ1prcE15T052ZzQ1aVB3Ym0yeFBOMXkKbzRVY29kTTl0RE1yMHkrdi91cXdRVmxudHNRR2ZRcWVkSVhXZVV5QU4zcmZPUVZTV2ZmMEcwWkRwTktGaGRMRGNmTjFZalM2TElwLwpIby91N1RUUUVjZVd6Vkk5dWpQVzNVM2VDenRLUzUvQ0ppLzZ0UlljY2pWM3lqeGQ1c3JoSm9zYU5uWmNBZHQwRkNYKzdiV2dpQS9kCmVNb3RId2VYTUFFdGNubjZSdFlUS3FpNXBxdURTUjNsOHUvZDVBR09HQXFQWTFNV2hXS3BEaGs2ekxWbXBzSnJkQWZrSytGMlByUnQKMlBaRTRYTmlIenZFdnFCVFZpVnNVUW4zcXF2S3YzYjliWnZ6bmR1L1BXYThERmFxcjVoSWxUcEwzNmRZVU5rNGRhbGI2a01NQXYrWgo2K2hzVFhCYktXV2MzYXBkeks4Qk1ld002OUtONk9xY2UrWnU5eWRtREJwSTEyNUM0ei9lSVQ1NzRRMXcrMk9xcUd3YVZMUmNKWHJKCm9zbUxGcWE3TEg0WFhnVk5XRzRTSFFIdUVoQU54akovR1AvODlQck5icEhvTmttK0draHBpOEtXVFJvU3Nta1h3UXFRMXZwNUlraS8KdW50cCtIREgrbm8zMk5nTjBuWlBWLytRdCtPUjB0M3Z3bUMzWnpyZC9xcWM4TlNMZjNJaXpzYWZsN2I0cjRxZ0VLaloreGpHdHJWYwpVanlKdGhrcWN3RUtEd096RW1EeWVpK0IyNk51L3lZd2wvV0wzWWxYdHEwOXM2OHJ4YmQyQXZDbDFpdWFoaFFxY3Ziak00eGRDVXNUCjM3dU1kQk5TU3dJREFRQUJvNElDRURDQ0Fnd3dEd1lEVlIwVEFRSC9CQVV3QXdFQi96QU9CZ05WSFE4QkFmOEVCQU1DQVFZd0hRWUQKVlIwT0JCWUVGRTRMN3hxa1FGdWxGMm1ITU1vMGFFUFFRYTd5TUI4R0ExVWRJd1FZTUJhQUZFNEw3eHFrUUZ1bEYybUhNTW8wYUVQUQpRYTd5TUlJQldnWURWUjBnQklJQlVUQ0NBVTB3Z2dGSkJnc3JCZ0VFQVlHMU53RUJBVENDQVRnd0xnWUlLd1lCQlFVSEFnRVdJbWgwCmRIQTZMeTkzZDNjdWMzUmhjblJ6YzJ3dVkyOXRMM0J2YkdsamVTNXdaR1l3TkFZSUt3WUJCUVVIQWdFV0tHaDBkSEE2THk5M2QzY3UKYzNSaGNuUnpjMnd1WTI5dEwybHVkR1Z5YldWa2FXRjBaUzV3WkdZd2djOEdDQ3NHQVFVRkJ3SUNNSUhDTUNjV0lGTjBZWEowSUVOdgpiVzFsY21OcFlXd2dLRk4wWVhKMFEyOXRLU0JNZEdRdU1BTUNBUUVhZ1paTWFXMXBkR1ZrSUV4cFlXSnBiR2wwZVN3Z2NtVmhaQ0IwCmFHVWdjMlZqZEdsdmJpQXFUR1ZuWVd3Z1RHbHRhWFJoZEdsdmJuTXFJRzltSUhSb1pTQlRkR0Z5ZEVOdmJTQkRaWEowYVdacFkyRjAKYVc5dUlFRjFkR2h2Y21sMGVTQlFiMnhwWTNrZ1lYWmhhV3hoWW14bElHRjBJR2gwZEhBNkx5OTNkM2N1YzNSaGNuUnpjMnd1WTI5dApMM0J2YkdsamVTNXdaR1l3RVFZSllJWklBWWI0UWdFQkJBUURBZ0FITURnR0NXQ0dTQUdHK0VJQkRRUXJGaWxUZEdGeWRFTnZiU0JHCmNtVmxJRk5UVENCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodmNtbDBlVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBZ0VBam8vbjNKUjUKZlBHRmY1OUpiMnZLWGZ1TS9nVEZ3V0xSZlVLS3ZGTzNsQU5tTUQreDV3cW5VQ0JWSlg5MmVoUU42d1FPUU9ZKzJJaXJCeWVEcVhXbQpOM1BIL1V2U1RhMFhRTWhHdmp0L1VmekR0Z1V4M00yRklrNXh0L0p4WHJBYXhycVRpM2lTU29YNGVBK0QvaSt0TFBma3BMc3QwT2NOCk9yZyt6dlo0OXE1SEpNcWpOVGJPeDhhSG1OcnMrK215emllYmlNTUVvZllMV1dpdnlkc1FEMDMyWkdOY3BSSnZrcktUbE1lSUZ3NlQKdG41aWk1Qi9xMDZmL09OMUZFOHFNdDliRGVEMWU1TU5xNkhQaCtHbEJFWG9QQktsQ2NXdzBiZFQ4MkFVdW9WcGFpRjhIM1ZoRnlBWAplMnc3UVNsYzRheGEwYzJNbSt0Z0hSbnM5K1d3MnZsNUdLVkZQMGxEVjlMZEpOVXNvLzJSalNlMTVlc1VCcHBNZXlHN09xMHdCaGpBCjJNRnJMSDlaWEYyUnNYQWlWK3VLYTBoSzFROHA3TVpBd0MrSVRHZ0JGM2YwSkJsUHZmcmhzaUFoUzkwYTJDbDlxcmplVk93aFZZQnMKSHZVd3lLTVE1YkxtS2hReHc0VXRqSml4aGxwUGlWa3R1Y2YzSE1pS2Y4Q2RCVXJtUWs5aW8yMHBwQitGcTl2bGdjaXRLajFNWFZ1RQpKbkhFaFY1eEpNcWxHMnpZWWRNYTRGVGJ6cnFwTXJVaTluTkJDVjI0RjEwT0Q1bVExa2ZhYndvNllpZ1VaNExaOGRDQVdadkxNZGliCkQ0eDNUclZvaXZKczlpUU9MV3h3eFhQUjNoVFFjWSsyMDNzQzl1TzQxQWx1YTU1MWhEbm1meVdsOGtnQXdLUUIyajg9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEcyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGWXpDQ0EwdWdBd0lCQWdJQk96QU5CZ2txaGtpRzl3MEJBUXNGQURCVE1Rc3dDUVlEVlFRR0V3SkpUREVXTUJRR0ExVUVDaE1OClUzUmhjblJEYjIwZ1RIUmtMakVzTUNvR0ExVUVBeE1qVTNSaGNuUkRiMjBnUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa2cKUnpJd0hoY05NVEF3TVRBeE1ERXdNREF4V2hjTk16a3hNak14TWpNMU9UQXhXakJUTVFzd0NRWURWUVFHRXdKSlRERVdNQlFHQTFVRQpDaE1OVTNSaGNuUkRiMjBnVEhSa0xqRXNNQ29HQTFVRUF4TWpVM1JoY25SRGIyMGdRMlZ5ZEdsbWFXTmhkR2x2YmlCQmRYUm9iM0pwCmRIa2dSekl3Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXdnZ0lLQW9JQ0FRQzJpVFpiQjdjZ05yMkN1K0VXSUFPVmVxOE8KbzFYSkpabEt4ZEJXUVllUVRTRmdwQlNITzgzOXNqNjBad05xN2VFUFM4Q1JoWEJGNEVLZTNpa2oxQUVOb0JCNXVOc0R2Zk9wTDlIRwo0QS9Mbm9vVUNyaTk5bFppOGNWeXRqSWwyYkx6dldYRkRTeHUxWkp2R0lzQVFSU0NiMEFnSm5vb0QvVWVmeWYzbExFM1BiZkhrZmZpCkFlejlsSW5oekc3VE50WUtHWG11MXpTQ1pmOThRcnUyM1F1bU5LOUxZUDUvUTBrR2k0eER1RmJ5Mlg4aFF4ZnFwMGlWQVhWMTZpdWwKUTVYcUZZU2RDSTBtYmxXYnE5elNPZEl4SFdEaXJNeFdSU1QxSEZTcjdvYmRsaktGK0V4UDZKVjJ0Z1hkTmlObnZQOFY0c283NXFicwpPK3dtRVRSSWpmYUFLeG9qQXV1S0hEcDJLbnRXRmh4eUtyT3E0MkNsQUo4RW0rSnZIaFJZVzZWc2kxZzh3N3BPT2x6MzRaWXJQdThICnZLVGxYY3hObnczaDNLcTc0VzRhN0kvaHRreE5lWEpkRnpVTEhkZkJSOXFXSk9EUWNxaGFYMll0RU53dktoT3VKdjRLSEJuTTBENEwKbk1nSkx2bGJsbnBIbk9sNjh3VlFkSlZ6bmpBSjg1ZUNYdWFQT1FnZVdlVTFGRUlUL3dDYzk3NnFVTS9pVVVqWHVHK3YrRTUrTTVpUwpGR0k2ZFdQUGUvcmVnanVwdXpuaXhMMHNBQTdJRjZ3VDcwMGxqdGl6a0MrcDJpbDlIYTkwT3JJbndNRWVQbldqRnFtdmVpSmRueE1hCno2ZWc2K09HQ3RQOTVwYVYxeVBJTjkzRWZLbzJySmdhRXJIZ1R1aXhPL1hXYi9FdzF3SURBUUFCbzBJd1FEQVBCZ05WSFJNQkFmOEUKQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQkJqQWRCZ05WSFE0RUZnUVVTOFcwUUd1dEhMT2xIR1Z1UmphSmh3VU1Ecll3RFFZSgpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFITlhQeXpWbFRKK045dVdrdXNaWG41VDUwSHNFYlpINzdYZTdYUmN4ZkdPU2VEOGJwa1R6WitLCjJzMDZDdGc2V2drL1h6VFFMd1BTWmgwYXZaeVFOOGdNamdkYWxFVkdLdWErZXRxaHFhUnBFcEt3ZlRiVVJJZlhVZkVwWTlaMXpSYmsKSjRrZCtNSXlTUDNibWRDUFgxUjB6S3huTkJGaTJRd0tONGZSb3hkSWp0SVhIZmJYL2R0bDYvMm8xUFhXVDZSYmRlakYwbUN5MndsKwpKWXQ3dWxLU25qN294WGVoUE9CS2MydGh6NGJjUS8vL0lmNGpYU1JLOWROdEQySUVCVmVDMm02a015VjVTeTVVR1l2TUxEMHc2ZEVHCi8rZ3lScjYxTTNaM3FBRmRsc0hCMWI2dUpjREpIZ29KSUlpaERzbnpiMDJDVkFBZ3A5S1A1RGxVRnk2TkhyZ2J1eHU5bWs0N0VEVGMKbkloVDc2SXhXMWhQa1dMSXdwcWF6UlZkT0tuV3Z2Z1R0WjhTYWZKUVlxejdGemYwN3JoMVoyQVErNE5RK1VTMWRaeEFGN0wrL1hsZApibGhZWHpEOEFLNnZNOEVPVG15NnA2YWhmekxiT09DeGNoY0tLNUhzYW1NbTdZblVlTXgwSGdYNGEvNk1hblk1S2E1bEl4S1ZDQ0ljCmw4NWJCdTRNNHJ1OEgwU1Q5dGc0UlFVaDdlU3RxeEsyQTZSQ0xpM0VDVG9EWjJtRW11RlprSW9vaGRWZGRMSFJEaUJZbXhPbHNHT20KN1h0SC9VVlZNS1R1bXRUbTRvZnZtTWt5Z2hFcElyd0FDakZlTFEvQWp1bHJzbzh1QnRqUmtjZkdFdlJNL1RBWHc4SGFPRnZqcWVybQpvYnA1NzNQWXRsTlhMZmJRNGRkSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgpCdXlwYXNzIENsYXNzIDIgUm9vdCBDQQo9PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRldUQ0NBMEdnQXdJQkFnSUJBakFOQmdrcWhraUc5dzBCQVFzRkFEQk9NUXN3Q1FZRFZRUUdFd0pPVHpFZE1Cc0dBMVVFQ2d3VQpRblY1Y0dGemN5QkJVeTA1T0RNeE5qTXpNamN4SURBZUJnTlZCQU1NRjBKMWVYQmhjM01nUTJ4aGMzTWdNaUJTYjI5MElFTkJNQjRYCkRURXdNVEF5TmpBNE16Z3dNMW9YRFRRd01UQXlOakE0TXpnd00xb3dUakVMTUFrR0ExVUVCaE1DVGs4eEhUQWJCZ05WQkFvTUZFSjEKZVhCaGMzTWdRVk10T1Rnek1UWXpNekkzTVNBd0hnWURWUVFEREJkQ2RYbHdZWE56SUVOc1lYTnpJRElnVW05dmRDQkRRVENDQWlJdwpEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBTmZIWHZmQkI5UjMrME1oOVBUMWFlVHVNZ0hibzRZZjVGa051dWQxCmcxTHI2aHhoRlVpN0hRZktqSzZ3M0phZDZzTmdrb2FDS0hPY1ZnYi9TMlR3RENvM1NiWGx6d3g4N3ZGS3UzTXdaZlBWTDRPMmZ1UG4KOVo2cllQblQ4WjJTZElya0hKYXNXNERwdGZReGg2TlIvTWQrb1crT1UzZlVsOEZWTTVJK0dDOTExSzJHU2N1VnIxUUdiTmdHRTQxYgovK0VtR1ZuQUpMcUJjWG1RUkZCb0pKUmZ1TE1SOFNsQllhTkJ5eU0yMWNIeE1sQVFUbi8waHBQc2hOT092RXUvWEFGT0J6M2NGSXFVCkNxVHFjL3NMVWVnVEJ4ajZEdkVyMFZRVmZUemg5N1FaUW1kaVhuZmdvbFhzdHRscEY5VTZyMFR0U3NXZTVIb25mT1YxMTZyTEplZmYKYXdyYkQwMlRUcWlnelhzdThsa0JhcmNOdUFlQmZvczRHemptQ2xlWlBlNGg2S1AxREJiZGkrdzBqcHdxSEFBVkY0MW9nOUp3bnhnSQp6UkZvMWNsclVzM0VSby9jdGZQWVYzTWU2WlE1QkwvVDNqamV0RlBzYVJ5aWZzU1A1QnR3cmZLaStmdjNGbVJtYVo5SlVhTGlGUmhuCkJrcC8xV3kxVGJNejRHSHJYYjdwbUE4eTF4MUxQQzVhQVZLUkNmTGY2bzNZQmtCanFoSGsvc00zbmhSU1AvVGl6UEpoazlIOVoydlgKVXE2L2FLdEFRNkJYTlZONDhGUDRZVUlIWk1iWGI1dE1PQTFqckdLdk5vdWljd29OOVNHOWRLcE42bklEU2R2SFh4MWlZOGY5M1pIcwpNKzcxYmJSdU1HamV5Tlltc0hWZWU3UUhJSmloZGpLNFRXeFBBZ01CQUFHalFqQkFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEClZSME9CQllFRk1tQWQrQmlrb0wxUnB6enV2ZE13OTY0bzYwNU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBTkJna3Foa2lHOXcwQkFRc0YKQUFPQ0FnRUFVMThoOWJxd09sSTVMSkt3YkFESjc4NGc3d2J5bHA3cHBIUi9laGI4dC9XMit4VWJQNnVtd0hKZEVMRng3cnhQNDYycwpBMjB1Y1M2dnhPT3RvNzBNRWFlMC8wcXlleEFRSDZkWFFiTEFydlFzV2RaSEVJanpJVkVwTU1wZ2hxOUdxeDN0T2x1d2xONUU0MEVJCm9zSHNIZGI5VDdiV1I5QVVDOHJteXJWN2QzNUJIMTZEeDdhTU9aYXdQNWFCUVc5Z2tPTG8rZnNpY2RsOXN6MUd2N1NFcjVBY0Q0OFMKYXEvdjdoNTZyZ0pLaWhjcmR2NnNWSWtrTEU4L3RyS25Ub3lva1pmN0tjWjdYQzI1eTJhMnQ2aGJFbEdGdFFsK1luaHcvcWxxWUxZZApEbmtNL2NycUpJQnl3NWMvOG5lclF5SUt4K3UyRElTQ0xJQnJRWW9Jd091bGE5K1pFc3VLMVY2QURKSGdKZ2cyU01YNk9CRTEveVdECkxmSjZ2OXI5anY2bHkwVXNIOFNJVTY1M0R0bWFkc1dPTEIyanV0WHNNcTdBcXF6MzBYcE42OVFINGtqM0lvNndwSjlxem82eXNtRDAKb3lMUUkrdVVXbnBwM1ErL1FGZXNhMWxRMmFPWjRXNytqUUY1SnlNVjNwS2Rld2xOV3VkTFNEQmFHT1lLYmVhUDROSzc1dDk4YmlHQwp3V2c1VGJTWVdHWml6RXFRWHNQNkp3U3hlUlYwbWN5K3JTRGVKbUFjNjFaUnBxUHE1S00vcC85aDNQRmFUV3d5STBQdXJLanU3a29TCkNUeGRjY0srZWZyQ2gyZ2RDLzFjYWN3RzBKcDlWSmtxeVRrYUdhOUxLa1B6WTExYVdPSXY0eDNrcWRiUUN0Q2V2OWVCQ2ZISnh5WU4KckpnV1ZxQT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKQnV5cGFzcyBDbGFzcyAzIFJvb3QgQ0EKPT09PT09PT09PT09PT09PT09PT09PT0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZXVENDQTBHZ0F3SUJBZ0lCQWpBTkJna3Foa2lHOXcwQkFRc0ZBREJPTVFzd0NRWURWUVFHRXdKT1R6RWRNQnNHQTFVRUNnd1UKUW5WNWNHRnpjeUJCVXkwNU9ETXhOak16TWpjeElEQWVCZ05WQkFNTUYwSjFlWEJoYzNNZ1EyeGhjM01nTXlCU2IyOTBJRU5CTUI0WApEVEV3TVRBeU5qQTRNamcxT0ZvWERUUXdNVEF5TmpBNE1qZzFPRm93VGpFTE1Ba0dBMVVFQmhNQ1RrOHhIVEFiQmdOVkJBb01GRUoxCmVYQmhjM01nUVZNdE9UZ3pNVFl6TXpJM01TQXdIZ1lEVlFRRERCZENkWGx3WVhOeklFTnNZWE56SURNZ1VtOXZkQ0JEUVRDQ0FpSXcKRFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUtYYUNwVVdVT09WOGw2ZGRqRUdNbnFiOFJCMnVBQ2F0VkkyelNSSApzSjhZWkx5YTl2clZlZGlRWWt3aUw5NDRQZGJncU9rY0xOdDRFZW1PYUZFVmNzZnpNNGZrb0YwTFhPQlhCeW93OWMzRU4zY29UUmlSCjVyL1ZVdjF4TFhBKzU4YkVpdVB3S0F2MGRwaWhpNGRWc2pvVC9MYytKemVPSXVPb1R5cnZZTHM5dHpuRERnRkhtVjBTVDl0RCtsZWgKN2ZtZHZoRkhKbHNUbUt0ZEZvcXdOeHhYblVYL2lKWTJ2N3ZLQjN0dmgyUFgwREpxMWwxc0RQR3piam5pYXpFdU9RQW5GTjQ0d093Wgpab1lTNkoxeUZoTmtVc2VwTnh6OWdqRHRoQmdkOUs1Yy8zQVRBT3V4OVRONlM5WlYrQVdOUzJtdzliTW9ObHdVeEZGelRXc0w4VFFICjJ4YzUxOXdvZTJ2MW4vTXV3VThYS2hEenpNcm82LzFycXk2YW55MkNiZ1RVVWdHVExUMkcvSDc4Mys5Q0hhWnI3N2tneHZlOW9LZVYKL2FmbWlTVFl6SXcwYk9Jakw5a1NHaUc1VlpGdkM1RjVHUXl0UUlnTGNPSjYwZzdZYUVpN2doTTVFRmpwMkNvSHhoTGJXTnZTTzFVUQpSd1VWWjJKK0dHT21SajhKRGxReVhyOE5Zbm9uNzREbzI5bExCbG8zV2lYUUNCSjMxRzhKVUpjOXlCM0QzNHhGTUZiRzAyU3JadlBBClhwYWN3OFR2dzN4cml6cDVmN05KenozaWlaK2dNRXVGdVp5VUpIbVBmV3VwUldnUEs5RHgyaHpMYWJqS1NXSnR5TkJqWXQxZ0QxaXEKajZHOEJhVm1vczhiZHJLRVpMRk1PVkxBTUxyd2pFc0NzTGEzQWdNQkFBR2pRakJBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRApWUjBPQkJZRUZFZTR6Zi9sYis3NHN1d3ZUZzc1SmJDT1BHdkRNQTRHQTFVZER3RUIvd1FFQXdJQkJqQU5CZ2txaGtpRzl3MEJBUXNGCkFBT0NBZ0VBQUNBalFUVUVrTUpBWW1EdjRqVk0xeitzNGpTUXVLRnZkdm9XRnFSSU55enBrTUx5UFBnS245aUI1YnRiMmlVc3BLZFYKY1NReTlzZ0w4cnhxK0pPc3NnZkNYNS9iek1pS3FyNXFiK0ZKRU13eDE0Qzd1OGpZb2c1a1YrcWk5Y0twTVJYU0lHcnMvQ0lCS00rRwp1SUFlcWN3UnBUenlGck5IbmZ6U2dDSEV5OUJIY0VHaHlvTVpDQ3h0OGwxM25Jb1VFOVEySEpMdzVRWTMzS2Jta0pzNGoxeHJHMGFHClEwSmZQZ0VIVTFSZFpYMzNpbk9obWxSYUh5bERGQ2ZDaFErMWlIc2FPNVMzSFdDbnRaem5LV2xYV3B1VGVrTXdHd1BYWXNoQXBxcjgKWk9SSzE1RlRBYWdnaUc2Y1gwUzV5MkNCTk94djAzM2FTRi9ydEpDOExha2NDNndjMWFKb0lJQUUxdnl4ankrN1NqRU5Tb1ljNitJMgpLU2IxMnRqRThuVmh6MzZ1ZG1OS2VrQmxrNGY0SG9DTWh1V0cxbzhPL0ZNc1lPZ1dZUnFpUGtON3pUbGdWR3IxOG9rbUFXaURTS0l6CjZNa0VrYklSTkJFKzZ0QkRHUjhEazVBTS8xRTlWL1JCYnVITG9MN3J5V1BOYmN6aytEYXFhSjN0dlYyWGNFUU50ZzQxM09FTVhidWcKVVpUTGZoYnJFUytqa2tYSVRISFp2TW1aVWxkR0wxRFB2VFZwOUQwVnpnYWxMQTgrOW9HNmxMdkR1NzlsZU5LR2VmOUpPeHFERFBEZQplT3pJOGsxTUd0NkNLZmpCV3RydDd1WW5YdWhGMEowY1VhaG9xMFRqMEl0cTQvZzd1OXhOMTJUeVViN21xcXRhNlRIdUJyeHp2eE5pCkNwL0h1WmM9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KClQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRHd6Q0NBcXVnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFzRkFEQ0JnakVMTUFrR0ExVUVCaE1DUkVVeEt6QXBCZ05WQkFvTQpJbFF0VTNsemRHVnRjeUJGYm5SbGNuQnlhWE5sSUZObGNuWnBZMlZ6SUVkdFlrZ3hIekFkQmdOVkJBc01GbFF0VTNsemRHVnRjeUJVCmNuVnpkQ0JEWlc1MFpYSXhKVEFqQmdOVkJBTU1IRlF0VkdWc1pWTmxZeUJIYkc5aVlXeFNiMjkwSUVOc1lYTnpJRE13SGhjTk1EZ3gKTURBeE1UQXlPVFUyV2hjTk16TXhNREF4TWpNMU9UVTVXakNCZ2pFTE1Ba0dBMVVFQmhNQ1JFVXhLekFwQmdOVkJBb01JbFF0VTNsegpkR1Z0Y3lCRmJuUmxjbkJ5YVhObElGTmxjblpwWTJWeklFZHRZa2d4SHpBZEJnTlZCQXNNRmxRdFUzbHpkR1Z0Y3lCVWNuVnpkQ0JEClpXNTBaWEl4SlRBakJnTlZCQU1NSEZRdFZHVnNaVk5sWXlCSGJHOWlZV3hTYjI5MElFTnNZWE56SURNd2dnRWlNQTBHQ1NxR1NJYjMKRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDOWRaUHdZaUp2Sks3Z2VuYXNmYjNaSk5XNHQvek44RUxnNjNpSVZsNmJtbFFkVFF5Swo5dFBQY1BSU3RkaVRCT05HaG5GQlNpdndLaXhWQTlaSXcrQTVPTzN5WER3L1JMeVRQV0dyVHMwTnZ2QWdKMWdPUkg4RUdvZWwxNVlVCk5wRFFTWHVoZGZzYWEzT3grTTZwQ1N6eVU5WERGRVM0aHFYMml5czUycU16Vk5uNmNocjNJaFVjaUpGcmYyYmx3MnFBc0NUejM0WkYKaVAwWmYzV0hIeCt4R3dwekpGdTVaZUFzVk1oZzAyWVhQK0hNVkROemtRSTZwbjk3ZGptaUg1YTJPSzYxeUpOMEhaNjV0T1ZnblM5VwowZURyWGx0TUVuQU1iRVFncXhIWTlCbjIwcHhTTitmNnRzSXhPMHJVRkptdHh4cjFYVi82QjdoOERSL1dneDZ6QWdNQkFBR2pRakJBCk1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0VHTUIwR0ExVWREZ1FXQkJTMUEvZDJPMkdDYWhLcUdGUHIKQXlHVXYvN095akFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBVmozdmxOVzkybk95V0w2dWtLMllKNWYrQWJHd1VnQzRUZVFiSVhRYgpmc0R1WG1rcUphOWMxaDNhMG5uSjg1Y3A0SWFIM2dSWkQvRloxR1NGUzVtdkpRUWV5VWFwbDk2Q3NodHduNXoycjNFeDNYc0ZwU3pUCnVjcEg5c3J5OXVldHVVZy92QmEzd1czMDZnbXY3UE8xNXdXZXBoNktVMUhXazRITWRKUDJ1ZHFtSlFWMGVWcCtRRDZDU3lZUk1HN2gKUDBISFJ3QTExZlhUOTFRK2dUM2FTV3Fhcys4UVBlYnJiOUhJSWtmTHpNOEJNWkxaR09NaXZna2VHajVhc3VSckRGUjZmVU5PdUltbAplOWVpUFphR3pQSW1OQzFxa3AyYUd0QXc0bDFPQkxCZml5QitkOEU5bFlMUlJwbzdQSGk0YjZIUURXU2llQjRwVHBQRHBGUVVXdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCkVFIENlcnRpZmljYXRpb24gQ2VudHJlIFJvb3QgQ0EKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRUF6Q0NBdXVnQXdJQkFnSVFWSUQ1b0hQdFB3Qk15b25ZNDNIbVNqQU5CZ2txaGtpRzl3MEJBUVVGQURCMU1Rc3dDUVlEVlFRRwpFd0pGUlRFaU1DQUdBMVVFQ2d3WlFWTWdVMlZ5ZEdsbWFYUnpaV1Z5YVcxcGMydGxjMnQxY3pFb01DWUdBMVVFQXd3ZlJVVWdRMlZ5CmRHbG1hV05oZEdsdmJpQkRaVzUwY21VZ1VtOXZkQ0JEUVRFWU1CWUdDU3FHU0liM0RRRUpBUllKY0d0cFFITnJMbVZsTUNJWUR6SXcKTVRBeE1ETXdNVEF4TURNd1doZ1BNakF6TURFeU1UY3lNelU1TlRsYU1IVXhDekFKQmdOVkJBWVRBa1ZGTVNJd0lBWURWUVFLREJsQgpVeUJUWlhKMGFXWnBkSE5sWlhKcGJXbHphMlZ6YTNWek1TZ3dKZ1lEVlFRRERCOUZSU0JEWlhKMGFXWnBZMkYwYVc5dUlFTmxiblJ5ClpTQlNiMjkwSUVOQk1SZ3dGZ1lKS29aSWh2Y05BUWtCRmdsd2EybEFjMnN1WldVd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUIKRHdBd2dnRUtBb0lCQVFESUlNRHM0TVZMcXdkNGxmTkU3dnNMRFA5MGptRzdzV0xxSTlpcm9XVXlldXVPRjArVzJBcDdrYUpqYk1lTQpUQzU1djZrRi9HbGNsWTFpK2JsdzdjTlJmZENUNW16ck1Fdmh2SDIvVXB2T2JudGw4aml4d0tJeTcyS3lhT0JoVThFMmxmL3NsTG8yCnJwd2NweklQNVh5MHhtOTAvWHNZNkt4WDdRWWdTekl3V0Z2OXpham1vZnh3dkk2U2M5dVhwM3docmozQjlVaUhiQ2U5bnlWMGdWV3cKOTNYMlBhUmthOVpQNTg1QXJRL2RNdE84aWhKVG1NbUoreEFkVFg3TmZoOVdEU0Z3aGZZZ2d4LzJ1aDhFaitwM2lEWEUvK3BPb1l0TgpQMk1iUk1ORTFDVjJ5cmVOMXg1S1ptVE5YTVdjZytIQ0NJaWE3RTZqOFQ0Y0xObHNIYUZMQWdNQkFBR2pnWW93Z1ljd0R3WURWUjBUCkFRSC9CQVV3QXdFQi96QU9CZ05WSFE4QkFmOEVCQU1DQVFZd0hRWURWUjBPQkJZRUZCTHlXajdxVmh5L3pRYXM4ZkVseWFsTDFCU1oKTUVVR0ExVWRKUVErTUR3R0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFRWUlLd1lCQlFVSEF3TUdDQ3NHQVFVRkJ3TUVCZ2dyQmdFRgpCUWNEQ0FZSUt3WUJCUVVIQXdrd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFIdjI1TUFOcWhsSHQwMVhvLzZ0dTdGcTFRK2UyK1JqCnhZNmhVRmFUbHJnNHdDUWlacnhURkdHVnY5REhLcFk1UDMwb3N4QkFJV3JFcjdCU2R4amhsdGhXWGVQZE5sNGRwMUJVb01VcTVLcU0KbElwUG5UWC9kcVFHRTVHaW9uMEFSRDlWMDRJOEd0VmJ2RlpNSWk1R1E0b2tRQzN6RXJnN2NCcWtscmthcjRkQkdtb1lEUVpQeHo1dQp1U2xORFVtSkVZY3lXK1pMQk1qa1hPWjBjNVJkRnBnVGxmNzcyN0ZFNVRwd3JEZHI1ck16Y2lqSnMxZWc5Z0lXaUFZTHRxWkxJQ2pVCjNqMkxyVGNGVTNUK2JzeThReGR4WHZuRnpCcXBZZTczZGd6emN2UnlyYzl5QWpZSFI4L3ZHVkNKWU16cEpKVVB3c3NkOG05MmtNZk0KZGNHV3haMD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Resources/cacert.pem.md5</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[MzQ5YmEyZDY5NjRkYjljYTU1OGM5ZTFkYWYzOGU0MjgK]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/StaticClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cDsKCnVzZSBHdXp6bGVcSHR0cFxDbGllbnQ7CnVzZSBHdXp6bGVcSHR0cFxDbGllbnRJbnRlcmZhY2U7CnVzZSBHdXp6bGVcU3RyZWFtXFN0cmVhbVJlcXVlc3RGYWN0b3J5SW50ZXJmYWNlOwp1c2UgR3V6emxlXFN0cmVhbVxQaHBTdHJlYW1SZXF1ZXN0RmFjdG9yeTsKCi8qKgogKiBTaW1wbGlmaWVkIGludGVyZmFjZSB0byBHdXp6bGUgdGhhdCBkb2VzIG5vdCByZXF1aXJlIGEgY2xhc3MgdG8gYmUgaW5zdGFudGlhdGVkCiAqLwpmaW5hbCBjbGFzcyBTdGF0aWNDbGllbnQKewogICAgLyoqIEB2YXIgQ2xpZW50IEd1enpsZSBjbGllbnQgKi8KICAgIHByaXZhdGUgc3RhdGljICRjbGllbnQ7CgogICAgLyoqCiAgICAgKiBNb3VudCB0aGUgY2xpZW50IHRvIGEgc2ltcGxlciBjbGFzcyBuYW1lIGZvciBhIHNwZWNpZmljIGNsaWVudAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgJGNsYXNzTmFtZSBDbGFzcyBuYW1lIHRvIHVzZSB0byBtb3VudAogICAgICogQHBhcmFtIENsaWVudEludGVyZmFjZSAkY2xpZW50ICAgIENsaWVudCB1c2VkIHRvIHNlbmQgcmVxdWVzdHMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBtb3VudCgkY2xhc3NOYW1lID0gJ0d1enpsZScsIENsaWVudEludGVyZmFjZSAkY2xpZW50ID0gbnVsbCkKICAgIHsKICAgICAgICBjbGFzc19hbGlhcyhfX0NMQVNTX18sICRjbGFzc05hbWUpOwogICAgICAgIGlmICgkY2xpZW50KSB7CiAgICAgICAgICAgIHNlbGY6OiRjbGllbnQgPSAkY2xpZW50OwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSAgc3RyaW5nICRtZXRob2QgIEhUVFAgcmVxdWVzdCBtZXRob2QgKEdFVCwgUE9TVCwgSEVBRCwgREVMRVRFLCBQVVQsIGV0YykKICAgICAqIEBwYXJhbSAgc3RyaW5nICR1cmwgICAgIFVSTCBvZiB0aGUgcmVxdWVzdAogICAgICogQHBhcmFtICBhcnJheSAgJG9wdGlvbnMgT3B0aW9ucyB0byB1c2Ugd2l0aCB0aGUgcmVxdWVzdC4gU2VlOiBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RGYWN0b3J5OjphcHBseU9wdGlvbnMoKQogICAgICogQHJldHVybiBcR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZXxcR3V6emxlXFN0cmVhbVxTdHJlYW0KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZXF1ZXN0KCRtZXRob2QsICR1cmwsICRvcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlU3RhcnQKICAgICAgICBpZiAoIXNlbGY6OiRjbGllbnQpIHsKICAgICAgICAgICAgc2VsZjo6JGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICB9CiAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZUVuZAoKICAgICAgICAkcmVxdWVzdCA9IHNlbGY6OiRjbGllbnQtPmNyZWF0ZVJlcXVlc3QoJG1ldGhvZCwgJHVybCwgbnVsbCwgbnVsbCwgJG9wdGlvbnMpOwoKICAgICAgICBpZiAoaXNzZXQoJG9wdGlvbnNbJ3N0cmVhbSddKSkgewogICAgICAgICAgICBpZiAoJG9wdGlvbnNbJ3N0cmVhbSddIGluc3RhbmNlb2YgU3RyZWFtUmVxdWVzdEZhY3RvcnlJbnRlcmZhY2UpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkb3B0aW9uc1snc3RyZWFtJ10tPmZyb21SZXF1ZXN0KCRyZXF1ZXN0KTsKICAgICAgICAgICAgfSBlbHNlaWYgKCRvcHRpb25zWydzdHJlYW0nXSA9PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAkc3RyZWFtRmFjdG9yeSA9IG5ldyBQaHBTdHJlYW1SZXF1ZXN0RmFjdG9yeSgpOwogICAgICAgICAgICAgICAgcmV0dXJuICRzdHJlYW1GYWN0b3J5LT5mcm9tUmVxdWVzdCgkcmVxdWVzdCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVxdWVzdC0+c2VuZCgpOwogICAgfQoKICAgIC8qKgogICAgICogU2VuZCBhIEdFVCByZXF1ZXN0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXJsICAgICBVUkwgb2YgdGhlIHJlcXVlc3QKICAgICAqIEBwYXJhbSBhcnJheSAgJG9wdGlvbnMgQXJyYXkgb2YgcmVxdWVzdCBvcHRpb25zCiAgICAgKgogICAgICogQHJldHVybiBcR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZQogICAgICogQHNlZSBHdXp6bGU6OnJlcXVlc3QgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldCgkdXJsLCAkb3B0aW9ucyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuIHNlbGY6OnJlcXVlc3QoJ0dFVCcsICR1cmwsICRvcHRpb25zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgYSBIRUFEIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1cmwgICAgIFVSTCBvZiB0aGUgcmVxdWVzdAogICAgICogQHBhcmFtIGFycmF5ICAkb3B0aW9ucyBBcnJheSBvZiByZXF1ZXN0IG9wdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIFxHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlCiAgICAgKiBAc2VlIEd1enpsZTo6cmVxdWVzdCBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaGVhZCgkdXJsLCAkb3B0aW9ucyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuIHNlbGY6OnJlcXVlc3QoJ0hFQUQnLCAkdXJsLCAkb3B0aW9ucyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kIGEgREVMRVRFIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1cmwgICAgIFVSTCBvZiB0aGUgcmVxdWVzdAogICAgICogQHBhcmFtIGFycmF5ICAkb3B0aW9ucyBBcnJheSBvZiByZXF1ZXN0IG9wdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIFxHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlCiAgICAgKiBAc2VlIEd1enpsZTo6cmVxdWVzdCBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZGVsZXRlKCR1cmwsICRvcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gc2VsZjo6cmVxdWVzdCgnREVMRVRFJywgJHVybCwgJG9wdGlvbnMpOwogICAgfQoKICAgIC8qKgogICAgICogU2VuZCBhIFBPU1QgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVybCAgICAgVVJMIG9mIHRoZSByZXF1ZXN0CiAgICAgKiBAcGFyYW0gYXJyYXkgICRvcHRpb25zIEFycmF5IG9mIHJlcXVlc3Qgb3B0aW9ucwogICAgICoKICAgICAqIEByZXR1cm4gXEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2UKICAgICAqIEBzZWUgR3V6emxlOjpyZXF1ZXN0IGZvciBhIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBwb3N0KCR1cmwsICRvcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gc2VsZjo6cmVxdWVzdCgnUE9TVCcsICR1cmwsICRvcHRpb25zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgYSBQVVQgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVybCAgICAgVVJMIG9mIHRoZSByZXF1ZXN0CiAgICAgKiBAcGFyYW0gYXJyYXkgICRvcHRpb25zIEFycmF5IG9mIHJlcXVlc3Qgb3B0aW9ucwogICAgICoKICAgICAqIEByZXR1cm4gXEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2UKICAgICAqIEBzZWUgR3V6emxlOjpyZXF1ZXN0IGZvciBhIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBwdXQoJHVybCwgJG9wdGlvbnMgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiBzZWxmOjpyZXF1ZXN0KCdQVVQnLCAkdXJsLCAkb3B0aW9ucyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kIGEgUEFUQ0ggcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVybCAgICAgVVJMIG9mIHRoZSByZXF1ZXN0CiAgICAgKiBAcGFyYW0gYXJyYXkgICRvcHRpb25zIEFycmF5IG9mIHJlcXVlc3Qgb3B0aW9ucwogICAgICoKICAgICAqIEByZXR1cm4gXEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2UKICAgICAqIEBzZWUgR3V6emxlOjpyZXF1ZXN0IGZvciBhIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBwYXRjaCgkdXJsLCAkb3B0aW9ucyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuIHNlbGY6OnJlcXVlc3QoJ1BBVENIJywgJHVybCwgJG9wdGlvbnMpOwogICAgfQoKICAgIC8qKgogICAgICogU2VuZCBhbiBPUFRJT05TIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1cmwgICAgIFVSTCBvZiB0aGUgcmVxdWVzdAogICAgICogQHBhcmFtIGFycmF5ICAkb3B0aW9ucyBBcnJheSBvZiByZXF1ZXN0IG9wdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIFxHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlCiAgICAgKiBAc2VlIEd1enpsZTo6cmVxdWVzdCBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gb3B0aW9ucygkdXJsLCAkb3B0aW9ucyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuIHNlbGY6OnJlcXVlc3QoJ09QVElPTlMnLCAkdXJsLCAkb3B0aW9ucyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Http/Url.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSHR0cDsKCnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CgovKioKICogUGFyc2VzIGFuZCBnZW5lcmF0ZXMgVVJMcyBiYXNlZCBvbiBVUkwgcGFydHMuIEluIGZhdm9yIG9mIHBlcmZvcm1hbmNlLCBVUkwgcGFydHMgYXJlIG5vdCB2YWxpZGF0ZWQuCiAqLwpjbGFzcyBVcmwKewogICAgcHJvdGVjdGVkICRzY2hlbWU7CiAgICBwcm90ZWN0ZWQgJGhvc3Q7CiAgICBwcm90ZWN0ZWQgJHBvcnQ7CiAgICBwcm90ZWN0ZWQgJHVzZXJuYW1lOwogICAgcHJvdGVjdGVkICRwYXNzd29yZDsKICAgIHByb3RlY3RlZCAkcGF0aCA9ICcnOwogICAgcHJvdGVjdGVkICRmcmFnbWVudDsKCiAgICAvKiogQHZhciBRdWVyeVN0cmluZyBRdWVyeSBwYXJ0IG9mIHRoZSBVUkwgKi8KICAgIHByb3RlY3RlZCAkcXVlcnk7CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgVVJMIGZyb20gYSBVUkwgc3RyaW5nCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXJsIEZ1bGwgVVJMIHVzZWQgdG8gY3JlYXRlIGEgVXJsIG9iamVjdAogICAgICoKICAgICAqIEByZXR1cm4gVXJsCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoJHVybCkKICAgIHsKICAgICAgICBzdGF0aWMgJGRlZmF1bHRzID0gYXJyYXkoJ3NjaGVtZScgPT4gbnVsbCwgJ2hvc3QnID0+IG51bGwsICdwYXRoJyA9PiBudWxsLCAncG9ydCcgPT4gbnVsbCwgJ3F1ZXJ5JyA9PiBudWxsLAogICAgICAgICAgICAndXNlcicgPT4gbnVsbCwgJ3Bhc3MnID0+IG51bGwsICdmcmFnbWVudCcgPT4gbnVsbCk7CgogICAgICAgIGlmIChmYWxzZSA9PT0gKCRwYXJ0cyA9IHBhcnNlX3VybCgkdXJsKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignV2FzIHVuYWJsZSB0byBwYXJzZSBtYWxmb3JtZWQgdXJsOiAnIC4gJHVybCk7CiAgICAgICAgfQoKICAgICAgICAkcGFydHMgKz0gJGRlZmF1bHRzOwoKICAgICAgICAvLyBDb252ZXJ0IHRoZSBxdWVyeSBzdHJpbmcgaW50byBhIFF1ZXJ5U3RyaW5nIG9iamVjdAogICAgICAgIGlmICgkcGFydHNbJ3F1ZXJ5J10gfHwgMCAhPT0gc3RybGVuKCRwYXJ0c1sncXVlcnknXSkpIHsKICAgICAgICAgICAgJHBhcnRzWydxdWVyeSddID0gUXVlcnlTdHJpbmc6OmZyb21TdHJpbmcoJHBhcnRzWydxdWVyeSddKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBuZXcgc3RhdGljKCRwYXJ0c1snc2NoZW1lJ10sICRwYXJ0c1snaG9zdCddLCAkcGFydHNbJ3VzZXInXSwKICAgICAgICAgICAgJHBhcnRzWydwYXNzJ10sICRwYXJ0c1sncG9ydCddLCAkcGFydHNbJ3BhdGgnXSwgJHBhcnRzWydxdWVyeSddLAogICAgICAgICAgICAkcGFydHNbJ2ZyYWdtZW50J10pOwogICAgfQoKICAgIC8qKgogICAgICogQnVpbGQgYSBVUkwgZnJvbSBwYXJzZV91cmwgcGFydHMuIFRoZSBnZW5lcmF0ZWQgVVJMIHdpbGwgYmUgYSByZWxhdGl2ZSBVUkwgaWYgYSBzY2hlbWUgb3IgaG9zdCBhcmUgbm90IHByb3ZpZGVkLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkcGFydHMgQXJyYXkgb2YgcGFyc2VfdXJsIHBhcnRzCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBidWlsZFVybChhcnJheSAkcGFydHMpCiAgICB7CiAgICAgICAgJHVybCA9ICRzY2hlbWUgPSAnJzsKCiAgICAgICAgaWYgKGlzc2V0KCRwYXJ0c1snc2NoZW1lJ10pKSB7CiAgICAgICAgICAgICRzY2hlbWUgPSAkcGFydHNbJ3NjaGVtZSddOwogICAgICAgICAgICAkdXJsIC49ICRzY2hlbWUgLiAnOic7CiAgICAgICAgfQoKICAgICAgICBpZiAoaXNzZXQoJHBhcnRzWydob3N0J10pKSB7CiAgICAgICAgICAgICR1cmwgLj0gJy8vJzsKICAgICAgICAgICAgaWYgKGlzc2V0KCRwYXJ0c1sndXNlciddKSkgewogICAgICAgICAgICAgICAgJHVybCAuPSAkcGFydHNbJ3VzZXInXTsKICAgICAgICAgICAgICAgIGlmIChpc3NldCgkcGFydHNbJ3Bhc3MnXSkpIHsKICAgICAgICAgICAgICAgICAgICAkdXJsIC49ICc6JyAuICRwYXJ0c1sncGFzcyddOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJHVybCAuPSAgJ0AnOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkdXJsIC49ICRwYXJ0c1snaG9zdCddOwoKICAgICAgICAgICAgLy8gT25seSBpbmNsdWRlIHRoZSBwb3J0IGlmIGl0IGlzIG5vdCB0aGUgZGVmYXVsdCBwb3J0IG9mIHRoZSBzY2hlbWUKICAgICAgICAgICAgaWYgKGlzc2V0KCRwYXJ0c1sncG9ydCddKQogICAgICAgICAgICAgICAgJiYgISgoJHNjaGVtZSA9PSAnaHR0cCcgJiYgJHBhcnRzWydwb3J0J10gPT0gODApIHx8ICgkc2NoZW1lID09ICdodHRwcycgJiYgJHBhcnRzWydwb3J0J10gPT0gNDQzKSkKICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICAgICAkdXJsIC49ICc6JyAuICRwYXJ0c1sncG9ydCddOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBBZGQgdGhlIHBhdGggY29tcG9uZW50IGlmIHByZXNlbnQKICAgICAgICBpZiAoaXNzZXQoJHBhcnRzWydwYXRoJ10pICYmIDAgIT09IHN0cmxlbigkcGFydHNbJ3BhdGgnXSkpIHsKICAgICAgICAgICAgLy8gQWx3YXlzIGVuc3VyZSB0aGF0IHRoZSBwYXRoIGJlZ2lucyB3aXRoICcvJyBpZiBzZXQgYW5kIHNvbWV0aGluZyBpcyBiZWZvcmUgdGhlIHBhdGgKICAgICAgICAgICAgaWYgKCR1cmwgJiYgJHBhcnRzWydwYXRoJ11bMF0gIT0gJy8nICYmIHN1YnN0cigkdXJsLCAtMSkgICE9ICcvJykgewogICAgICAgICAgICAgICAgJHVybCAuPSAnLyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHVybCAuPSAkcGFydHNbJ3BhdGgnXTsKICAgICAgICB9CgogICAgICAgIC8vIEFkZCB0aGUgcXVlcnkgc3RyaW5nIGlmIHByZXNlbnQKICAgICAgICBpZiAoaXNzZXQoJHBhcnRzWydxdWVyeSddKSkgewogICAgICAgICAgICAkdXJsIC49ICc/JyAuICRwYXJ0c1sncXVlcnknXTsKICAgICAgICB9CgogICAgICAgIC8vIEVuc3VyZSB0aGF0ICMgaXMgb25seSBhZGRlZCB0byB0aGUgdXJsIGlmIGZyYWdtZW50IGNvbnRhaW5zIGFueXRoaW5nLgogICAgICAgIGlmIChpc3NldCgkcGFydHNbJ2ZyYWdtZW50J10pKSB7CiAgICAgICAgICAgICR1cmwgLj0gJyMnIC4gJHBhcnRzWydmcmFnbWVudCddOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR1cmw7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBuZXcgVVJMIGZyb20gVVJMIHBhcnRzCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAgICAkc2NoZW1lICAgU2NoZW1lIG9mIHRoZSBVUkwKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgICAgICAgICAgJGhvc3QgICAgIEhvc3Qgb2YgdGhlIFVSTAogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAgICAkdXNlcm5hbWUgVXNlcm5hbWUgb2YgdGhlIFVSTAogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAgICAkcGFzc3dvcmQgUGFzc3dvcmQgb2YgdGhlIFVSTAogICAgICogQHBhcmFtIGludCAgICAgICAgICAgICAgICAgICAgICAkcG9ydCAgICAgUG9ydCBvZiB0aGUgVVJMCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgICAgICRwYXRoICAgICBQYXRoIG9mIHRoZSBVUkwKICAgICAqIEBwYXJhbSBRdWVyeVN0cmluZ3xhcnJheXxzdHJpbmcgJHF1ZXJ5ICAgIFF1ZXJ5IHN0cmluZyBvZiB0aGUgVVJMCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgICAgICRmcmFnbWVudCBGcmFnbWVudCBvZiB0aGUgVVJMCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkc2NoZW1lLCAkaG9zdCwgJHVzZXJuYW1lID0gbnVsbCwgJHBhc3N3b3JkID0gbnVsbCwgJHBvcnQgPSBudWxsLCAkcGF0aCA9IG51bGwsIFF1ZXJ5U3RyaW5nICRxdWVyeSA9IG51bGwsICRmcmFnbWVudCA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPnNjaGVtZSA9ICRzY2hlbWU7CiAgICAgICAgJHRoaXMtPmhvc3QgPSAkaG9zdDsKICAgICAgICAkdGhpcy0+cG9ydCA9ICRwb3J0OwogICAgICAgICR0aGlzLT51c2VybmFtZSA9ICR1c2VybmFtZTsKICAgICAgICAkdGhpcy0+cGFzc3dvcmQgPSAkcGFzc3dvcmQ7CiAgICAgICAgJHRoaXMtPmZyYWdtZW50ID0gJGZyYWdtZW50OwogICAgICAgIGlmICghJHF1ZXJ5KSB7CiAgICAgICAgICAgICR0aGlzLT5xdWVyeSA9IG5ldyBRdWVyeVN0cmluZygpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRRdWVyeSgkcXVlcnkpOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+c2V0UGF0aCgkcGF0aCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDbG9uZSB0aGUgVVJMCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2Nsb25lKCkKICAgIHsKICAgICAgICAkdGhpcy0+cXVlcnkgPSBjbG9uZSAkdGhpcy0+cXVlcnk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBVUkwgYXMgYSBVUkwgc3RyaW5nCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiBzZWxmOjpidWlsZFVybCgkdGhpcy0+Z2V0UGFydHMoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHBhcnRzIG9mIHRoZSBVUkwgYXMgYW4gYXJyYXkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYXJ0cygpCiAgICB7CiAgICAgICAgJHF1ZXJ5ID0gKHN0cmluZykgJHRoaXMtPnF1ZXJ5OwoKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgICdzY2hlbWUnID0+ICR0aGlzLT5zY2hlbWUsCiAgICAgICAgICAgICd1c2VyJyA9PiAkdGhpcy0+dXNlcm5hbWUsCiAgICAgICAgICAgICdwYXNzJyA9PiAkdGhpcy0+cGFzc3dvcmQsCiAgICAgICAgICAgICdob3N0JyA9PiAkdGhpcy0+aG9zdCwKICAgICAgICAgICAgJ3BvcnQnID0+ICR0aGlzLT5wb3J0LAogICAgICAgICAgICAncGF0aCcgPT4gJHRoaXMtPmdldFBhdGgoKSwKICAgICAgICAgICAgJ3F1ZXJ5JyA9PiAkcXVlcnkgIT09ICcnID8gJHF1ZXJ5IDogbnVsbCwKICAgICAgICAgICAgJ2ZyYWdtZW50JyA9PiAkdGhpcy0+ZnJhZ21lbnQsCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgaG9zdCBvZiB0aGUgcmVxdWVzdC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRob3N0IEhvc3QgdG8gc2V0IChlLmcuIHd3dy55YWhvby5jb20sIHlhaG9vLmNvbSkKICAgICAqCiAgICAgKiBAcmV0dXJuIFVybAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0SG9zdCgkaG9zdCkKICAgIHsKICAgICAgICBpZiAoc3RycG9zKCRob3N0LCAnOicpID09PSBmYWxzZSkgewogICAgICAgICAgICAkdGhpcy0+aG9zdCA9ICRob3N0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGxpc3QoJGhvc3QsICRwb3J0KSA9IGV4cGxvZGUoJzonLCAkaG9zdCk7CiAgICAgICAgICAgICR0aGlzLT5ob3N0ID0gJGhvc3Q7CiAgICAgICAgICAgICR0aGlzLT5zZXRQb3J0KCRwb3J0KTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgaG9zdCBwYXJ0IG9mIHRoZSBVUkwKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SG9zdCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ob3N0OwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBzY2hlbWUgcGFydCBvZiB0aGUgVVJMIChodHRwLCBodHRwcywgZnRwLCBldGMpCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkc2NoZW1lIFNjaGVtZSB0byBzZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIFVybAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U2NoZW1lKCRzY2hlbWUpCiAgICB7CiAgICAgICAgJHRoaXMtPnNjaGVtZSA9ICRzY2hlbWU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgc2NoZW1lIHBhcnQgb2YgdGhlIFVSTAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTY2hlbWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c2NoZW1lOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBwb3J0IHBhcnQgb2YgdGhlIFVSTAogICAgICoKICAgICAqIEBwYXJhbSBpbnQgJHBvcnQgUG9ydCB0byBzZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIFVybAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UG9ydCgkcG9ydCkKICAgIHsKICAgICAgICAkdGhpcy0+cG9ydCA9ICRwb3J0OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHBvcnQgcGFydCBvZiB0aGUgVVJsLiBXaWxsIHJldHVybiB0aGUgZGVmYXVsdCBwb3J0IGZvciBhIGdpdmVuIHNjaGVtZSBpZiBubyBwb3J0IGhhcyBiZWVuIHNldC4KICAgICAqCiAgICAgKiBAcmV0dXJuIGludHxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQb3J0KCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnBvcnQpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5wb3J0OwogICAgICAgIH0gZWxzZWlmICgkdGhpcy0+c2NoZW1lID09ICdodHRwJykgewogICAgICAgICAgICByZXR1cm4gODA7CiAgICAgICAgfSBlbHNlaWYgKCR0aGlzLT5zY2hlbWUgPT0gJ2h0dHBzJykgewogICAgICAgICAgICByZXR1cm4gNDQzOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHBhdGggcGFydCBvZiB0aGUgVVJMCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fHN0cmluZyAkcGF0aCBQYXRoIHN0cmluZyBvciBhcnJheSBvZiBwYXRoIHNlZ21lbnRzCiAgICAgKgogICAgICogQHJldHVybiBVcmwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFBhdGgoJHBhdGgpCiAgICB7CiAgICAgICAgc3RhdGljICRwYXRoUmVwbGFjZSA9IGFycmF5KCcgJyA9PiAnJTIwJywgJz8nID0+ICclM0YnKTsKICAgICAgICBpZiAoaXNfYXJyYXkoJHBhdGgpKSB7CiAgICAgICAgICAgICRwYXRoID0gJy8nIC4gaW1wbG9kZSgnLycsICRwYXRoKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5wYXRoID0gc3RydHIoJHBhdGgsICRwYXRoUmVwbGFjZSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIE5vcm1hbGl6ZSB0aGUgVVJMIHNvIHRoYXQgZG91YmxlIHNsYXNoZXMgYW5kIHJlbGF0aXZlIHBhdGhzIGFyZSByZW1vdmVkCiAgICAgKgogICAgICogQHJldHVybiBVcmwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG5vcm1hbGl6ZVBhdGgoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPnBhdGggfHwgJHRoaXMtPnBhdGggPT0gJy8nIHx8ICR0aGlzLT5wYXRoID09ICcqJykgewogICAgICAgICAgICByZXR1cm4gJHRoaXM7CiAgICAgICAgfQoKICAgICAgICAkcmVzdWx0cyA9IGFycmF5KCk7CiAgICAgICAgJHNlZ21lbnRzID0gJHRoaXMtPmdldFBhdGhTZWdtZW50cygpOwogICAgICAgIGZvcmVhY2ggKCRzZWdtZW50cyBhcyAkc2VnbWVudCkgewogICAgICAgICAgICBpZiAoJHNlZ21lbnQgPT0gJy4uJykgewogICAgICAgICAgICAgICAgYXJyYXlfcG9wKCRyZXN1bHRzKTsKICAgICAgICAgICAgfSBlbHNlaWYgKCRzZWdtZW50ICE9ICcuJyAmJiAkc2VnbWVudCAhPSAnJykgewogICAgICAgICAgICAgICAgJHJlc3VsdHNbXSA9ICRzZWdtZW50OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBDb21iaW5lIHRoZSBub3JtYWxpemVkIHBhcnRzIGFuZCBhZGQgdGhlIGxlYWRpbmcgc2xhc2ggaWYgbmVlZGVkCiAgICAgICAgJHRoaXMtPnBhdGggPSAoJHRoaXMtPnBhdGhbMF0gPT0gJy8nID8gJy8nIDogJycpIC4gaW1wbG9kZSgnLycsICRyZXN1bHRzKTsKCiAgICAgICAgLy8gQWRkIHRoZSB0cmFpbGluZyBzbGFzaCBpZiBuZWNlc3NhcnkKICAgICAgICBpZiAoJHRoaXMtPnBhdGggIT0gJy8nICYmIGVuZCgkc2VnbWVudHMpID09ICcnKSB7CiAgICAgICAgICAgICR0aGlzLT5wYXRoIC49ICcvJzsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIHJlbGF0aXZlIHBhdGggdG8gdGhlIGN1cnJlbnRseSBzZXQgcGF0aAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHJlbGF0aXZlUGF0aCBSZWxhdGl2ZSBwYXRoIHRvIGFkZAogICAgICoKICAgICAqIEByZXR1cm4gVXJsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRQYXRoKCRyZWxhdGl2ZVBhdGgpCiAgICB7CiAgICAgICAgaWYgKCEkcmVsYXRpdmVQYXRoIHx8ICRyZWxhdGl2ZVBhdGggPT0gJy8nKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpczsKICAgICAgICB9CgogICAgICAgIC8vIEFkZCBhIGxlYWRpbmcgc2xhc2ggaWYgbmVlZGVkCiAgICAgICAgaWYgKCRyZWxhdGl2ZVBhdGhbMF0gIT0gJy8nKSB7CiAgICAgICAgICAgICRyZWxhdGl2ZVBhdGggPSAnLycgLiAkcmVsYXRpdmVQYXRoOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5zZXRQYXRoKHN0cl9yZXBsYWNlKCcvLycsICcvJywgJHRoaXMtPmdldFBhdGgoKSAuICRyZWxhdGl2ZVBhdGgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcGF0aCBwYXJ0IG9mIHRoZSBVUkwKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGF0aCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5wYXRoOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBwYXRoIHNlZ21lbnRzIG9mIHRoZSBVUkwgYXMgYW4gYXJyYXkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYXRoU2VnbWVudHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheV9zbGljZShleHBsb2RlKCcvJywgJHRoaXMtPmdldFBhdGgoKSksIDEpOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBwYXNzd29yZCBwYXJ0IG9mIHRoZSBVUkwKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXNzd29yZCBQYXNzd29yZCB0byBzZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIFVybAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UGFzc3dvcmQoJHBhc3N3b3JkKQogICAgewogICAgICAgICR0aGlzLT5wYXNzd29yZCA9ICRwYXNzd29yZDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBwYXNzd29yZCBwYXJ0IG9mIHRoZSBVUkwKICAgICAqCiAgICAgKiBAcmV0dXJuIG51bGx8c3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYXNzd29yZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5wYXNzd29yZDsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgdXNlcm5hbWUgcGFydCBvZiB0aGUgVVJMCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXNlcm5hbWUgVXNlcm5hbWUgdG8gc2V0CiAgICAgKgogICAgICogQHJldHVybiBVcmwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFVzZXJuYW1lKCR1c2VybmFtZSkKICAgIHsKICAgICAgICAkdGhpcy0+dXNlcm5hbWUgPSAkdXNlcm5hbWU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgdXNlcm5hbWUgcGFydCBvZiB0aGUgVVJsCiAgICAgKgogICAgICogQHJldHVybiBudWxsfHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VXNlcm5hbWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+dXNlcm5hbWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHF1ZXJ5IHBhcnQgb2YgdGhlIFVSTCBhcyBhIFF1ZXJ5U3RyaW5nIG9iamVjdAogICAgICoKICAgICAqIEByZXR1cm4gUXVlcnlTdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFF1ZXJ5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnF1ZXJ5OwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBxdWVyeSBwYXJ0IG9mIHRoZSBVUkwKICAgICAqCiAgICAgKiBAcGFyYW0gUXVlcnlTdHJpbmd8c3RyaW5nfGFycmF5ICRxdWVyeSBRdWVyeSB0byBzZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIFVybAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UXVlcnkoJHF1ZXJ5KQogICAgewogICAgICAgIGlmIChpc19zdHJpbmcoJHF1ZXJ5KSkgewogICAgICAgICAgICAkb3V0cHV0ID0gbnVsbDsKICAgICAgICAgICAgcGFyc2Vfc3RyKCRxdWVyeSwgJG91dHB1dCk7CiAgICAgICAgICAgICR0aGlzLT5xdWVyeSA9IG5ldyBRdWVyeVN0cmluZygkb3V0cHV0KTsKICAgICAgICB9IGVsc2VpZiAoaXNfYXJyYXkoJHF1ZXJ5KSkgewogICAgICAgICAgICAkdGhpcy0+cXVlcnkgPSBuZXcgUXVlcnlTdHJpbmcoJHF1ZXJ5KTsKICAgICAgICB9IGVsc2VpZiAoJHF1ZXJ5IGluc3RhbmNlb2YgUXVlcnlTdHJpbmcpIHsKICAgICAgICAgICAgJHRoaXMtPnF1ZXJ5ID0gJHF1ZXJ5OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBmcmFnbWVudCBwYXJ0IG9mIHRoZSBVUkwKICAgICAqCiAgICAgKiBAcmV0dXJuIG51bGx8c3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGcmFnbWVudCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5mcmFnbWVudDsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgZnJhZ21lbnQgcGFydCBvZiB0aGUgVVJMCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZnJhZ21lbnQgRnJhZ21lbnQgdG8gc2V0CiAgICAgKgogICAgICogQHJldHVybiBVcmwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEZyYWdtZW50KCRmcmFnbWVudCkKICAgIHsKICAgICAgICAkdGhpcy0+ZnJhZ21lbnQgPSAkZnJhZ21lbnQ7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIHRoaXMgaXMgYW4gYWJzb2x1dGUgVVJMCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0Fic29sdXRlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNjaGVtZSAmJiAkdGhpcy0+aG9zdDsKICAgIH0KCiAgICAvKioKICAgICAqIENvbWJpbmUgdGhlIFVSTCB3aXRoIGFub3RoZXIgVVJMLiBGb2xsb3dzIHRoZSBydWxlcyBzcGVjaWZpYyBpbiBSRkMgMzk4NiBzZWN0aW9uIDUuNC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1cmwgICAgICAgICAgIFJlbGF0aXZlIFVSTCB0byBjb21iaW5lIHdpdGgKICAgICAqIEBwYXJhbSBib29sICAgJHN0cmljdFJmYzM5ODYgU2V0IHRvIHRydWUgdG8gdXNlIHN0cmljdCBSRkMgMzk4NiBjb21wbGlhbmNlIHdoZW4gbWVyZ2luZyBwYXRocy4gV2hlbiBmaXJzdAogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxlYXNlZCwgR3V6emxlIHVzZWQgYW4gaW5jb3JyZWN0IGFsZ29yaXRobSBmb3IgY29tYmluaW5nIHJlbGF0aXZlIFVSTCBwYXRocy4gSW4KICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXIgdG8gbm90IGJyZWFrIHVzZXJzLCB3ZSBpbnRyb2R1Y2VkIHRoaXMgZmxhZyB0byBhbGxvdyB0aGUgbWVyZ2luZyBvZiBVUkxzIGJhc2VkCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIHN0cmljdCBSRkMgMzk4NiBzZWN0aW9uIDUuNC4xLiBUaGlzIG1lYW5zIHRoYXQgImh0dHA6Ly9hLmNvbS9mb28vYmF6IiBtZXJnZWQgd2l0aAogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmFyIiB3b3VsZCBiZWNvbWUgImh0dHA6Ly9hLmNvbS9mb28vYmFyIi4gV2hlbiB0aGlzIHZhbHVlIGlzIHNldCB0byBmYWxzZSwgaXQgd291bGQKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVjb21lICJodHRwOi8vYS5jb20vZm9vL2Jhei9iYXIiLgogICAgICogQHJldHVybiBVcmwKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAbGluayBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tNS40CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb21iaW5lKCR1cmwsICRzdHJpY3RSZmMzOTg2ID0gZmFsc2UpCiAgICB7CiAgICAgICAgJHVybCA9IHNlbGY6OmZhY3RvcnkoJHVybCk7CgogICAgICAgIC8vIFVzZSB0aGUgbW9yZSBhYnNvbHV0ZSBVUkwgYXMgdGhlIGJhc2UgVVJMCiAgICAgICAgaWYgKCEkdGhpcy0+aXNBYnNvbHV0ZSgpICYmICR1cmwtPmlzQWJzb2x1dGUoKSkgewogICAgICAgICAgICAkdXJsID0gJHVybC0+Y29tYmluZSgkdGhpcyk7CiAgICAgICAgfQoKICAgICAgICAvLyBQYXNzaW5nIGEgVVJMIHdpdGggYSBzY2hlbWUgb3ZlcnJpZGVzIGV2ZXJ5dGhpbmcKICAgICAgICBpZiAoJGJ1ZmZlciA9ICR1cmwtPmdldFNjaGVtZSgpKSB7CiAgICAgICAgICAgICR0aGlzLT5zY2hlbWUgPSAkYnVmZmVyOwogICAgICAgICAgICAkdGhpcy0+aG9zdCA9ICR1cmwtPmdldEhvc3QoKTsKICAgICAgICAgICAgJHRoaXMtPnBvcnQgPSAkdXJsLT5nZXRQb3J0KCk7CiAgICAgICAgICAgICR0aGlzLT51c2VybmFtZSA9ICR1cmwtPmdldFVzZXJuYW1lKCk7CiAgICAgICAgICAgICR0aGlzLT5wYXNzd29yZCA9ICR1cmwtPmdldFBhc3N3b3JkKCk7CiAgICAgICAgICAgICR0aGlzLT5wYXRoID0gJHVybC0+Z2V0UGF0aCgpOwogICAgICAgICAgICAkdGhpcy0+cXVlcnkgPSAkdXJsLT5nZXRRdWVyeSgpOwogICAgICAgICAgICAkdGhpcy0+ZnJhZ21lbnQgPSAkdXJsLT5nZXRGcmFnbWVudCgpOwogICAgICAgICAgICByZXR1cm4gJHRoaXM7CiAgICAgICAgfQoKICAgICAgICAvLyBTZXR0aW5nIGEgaG9zdCBvdmVycmlkZXMgdGhlIGVudGlyZSByZXN0IG9mIHRoZSBVUkwKICAgICAgICBpZiAoJGJ1ZmZlciA9ICR1cmwtPmdldEhvc3QoKSkgewogICAgICAgICAgICAkdGhpcy0+aG9zdCA9ICRidWZmZXI7CiAgICAgICAgICAgICR0aGlzLT5wb3J0ID0gJHVybC0+Z2V0UG9ydCgpOwogICAgICAgICAgICAkdGhpcy0+dXNlcm5hbWUgPSAkdXJsLT5nZXRVc2VybmFtZSgpOwogICAgICAgICAgICAkdGhpcy0+cGFzc3dvcmQgPSAkdXJsLT5nZXRQYXNzd29yZCgpOwogICAgICAgICAgICAkdGhpcy0+cGF0aCA9ICR1cmwtPmdldFBhdGgoKTsKICAgICAgICAgICAgJHRoaXMtPnF1ZXJ5ID0gJHVybC0+Z2V0UXVlcnkoKTsKICAgICAgICAgICAgJHRoaXMtPmZyYWdtZW50ID0gJHVybC0+Z2V0RnJhZ21lbnQoKTsKICAgICAgICAgICAgcmV0dXJuICR0aGlzOwogICAgICAgIH0KCiAgICAgICAgJHBhdGggPSAkdXJsLT5nZXRQYXRoKCk7CiAgICAgICAgJHF1ZXJ5ID0gJHVybC0+Z2V0UXVlcnkoKTsKCiAgICAgICAgaWYgKCEkcGF0aCkgewogICAgICAgICAgICBpZiAoY291bnQoJHF1ZXJ5KSkgewogICAgICAgICAgICAgICAgJHRoaXMtPmFkZFF1ZXJ5KCRxdWVyeSwgJHN0cmljdFJmYzM5ODYpOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKCRwYXRoWzBdID09ICcvJykgewogICAgICAgICAgICAgICAgJHRoaXMtPnBhdGggPSAkcGF0aDsKICAgICAgICAgICAgfSBlbHNlaWYgKCRzdHJpY3RSZmMzOTg2KSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cGF0aCAuPSAnLy4uLycgLiAkcGF0aDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICR0aGlzLT5wYXRoIC49ICcvJyAuICRwYXRoOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR0aGlzLT5ub3JtYWxpemVQYXRoKCk7CiAgICAgICAgICAgICR0aGlzLT5hZGRRdWVyeSgkcXVlcnksICRzdHJpY3RSZmMzOTg2KTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5mcmFnbWVudCA9ICR1cmwtPmdldEZyYWdtZW50KCk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIGFkZFF1ZXJ5KFF1ZXJ5U3RyaW5nICRuZXcsICRzdHJpY3RSZmMzODYpCiAgICB7CiAgICAgICAgaWYgKCEkc3RyaWN0UmZjMzg2KSB7CiAgICAgICAgICAgICRuZXctPm1lcmdlKCR0aGlzLT5xdWVyeSk7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+cXVlcnkgPSAkbmV3OwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Inflection/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Inflection/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL2luZmxlY3Rpb24iLAogICAgImRlc2NyaXB0aW9uIjogIkd1enpsZSBpbmZsZWN0aW9uIGNvbXBvbmVudCIsCiAgICAiaG9tZXBhZ2UiOiAiaHR0cDovL2d1enpsZXBocC5vcmcvIiwKICAgICJrZXl3b3JkcyI6IFsiaW5mbGVjdGlvbiIsICJndXp6bGUiXSwKICAgICJsaWNlbnNlIjogIk1JVCIsCiAgICAiYXV0aG9ycyI6IFsKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogIk1pY2hhZWwgRG93bGluZyIsCiAgICAgICAgICAgICJlbWFpbCI6ICJtdGRvd2xpbmdAZ21haWwuY29tIiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tdGRvd2xpbmciCiAgICAgICAgfQogICAgXSwKICAgICJyZXF1aXJlIjogewogICAgICAgICJwaHAiOiAiPj01LjMuMiIKICAgIH0sCiAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgInBzci0wIjogeyAiR3V6emxlXFxJbmZsZWN0aW9uIjogIiIgfQogICAgfSwKICAgICJ0YXJnZXQtZGlyIjogIkd1enpsZS9JbmZsZWN0aW9uIiwKICAgICJleHRyYSI6IHsKICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAiZGV2LW1hc3RlciI6ICIzLjctZGV2IgogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Inflection/Inflector.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSW5mbGVjdGlvbjsKCi8qKgogKiBEZWZhdWx0IGluZmxlY3Rpb24gaW1wbGVtZW50YXRpb24KICovCmNsYXNzIEluZmxlY3RvciBpbXBsZW1lbnRzIEluZmxlY3RvckludGVyZmFjZQp7CiAgICAvKiogQHZhciBJbmZsZWN0b3JJbnRlcmZhY2UgKi8KICAgIHByb3RlY3RlZCBzdGF0aWMgJGRlZmF1bHQ7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGRlZmF1bHQgaW5mbGVjdG9yIG9iamVjdCB0aGF0IGhhcyBzdXBwb3J0IGZvciBjYWNoaW5nCiAgICAgKgogICAgICogQHJldHVybiBNZW1vaXppbmdJbmZsZWN0b3IKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXREZWZhdWx0KCkKICAgIHsKICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlU3RhcnQKICAgICAgICBpZiAoIXNlbGY6OiRkZWZhdWx0KSB7CiAgICAgICAgICAgIHNlbGY6OiRkZWZhdWx0ID0gbmV3IE1lbW9pemluZ0luZmxlY3RvcihuZXcgc2VsZigpKTsKICAgICAgICB9CiAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZUVuZAoKICAgICAgICByZXR1cm4gc2VsZjo6JGRlZmF1bHQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNuYWtlKCR3b3JkKQogICAgewogICAgICAgIHJldHVybiBjdHlwZV9sb3dlcigkd29yZCkgPyAkd29yZCA6IHN0cnRvbG93ZXIocHJlZ19yZXBsYWNlKCcvKC4pKFtBLVpdKS8nLCAiJDFfJDIiLCAkd29yZCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjYW1lbCgkd29yZCkKICAgIHsKICAgICAgICByZXR1cm4gc3RyX3JlcGxhY2UoJyAnLCAnJywgdWN3b3JkcyhzdHJ0cigkd29yZCwgJ18tJywgJyAgJykpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Inflection/InflectorInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSW5mbGVjdGlvbjsKCi8qKgogKiBJbmZsZWN0b3IgaW50ZXJmYWNlIHVzZWQgdG8gY29udmVydCB0aGUgY2FzaW5nIG9mIHdvcmRzCiAqLwppbnRlcmZhY2UgSW5mbGVjdG9ySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQ29udmVydHMgc3RyaW5ncyBmcm9tIGNhbWVsIGNhc2UgdG8gc25ha2UgY2FzZSAoZS5nLiBDYW1lbENhc2UgY2FtZWxfY2FzZSkuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkd29yZCBXb3JkIHRvIGNvbnZlcnQgdG8gc25ha2UgY2FzZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzbmFrZSgkd29yZCk7CgogICAgLyoqCiAgICAgKiBDb252ZXJ0cyBzdHJpbmdzIGZyb20gc25ha2VfY2FzZSB0byB1cHBlciBDYW1lbENhc2UKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR3b3JkIFZhbHVlIHRvIGNvbnZlcnQgaW50byB1cHBlciBDYW1lbENhc2UKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FtZWwoJHdvcmQpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Inflection/MemoizingInflector.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSW5mbGVjdGlvbjsKCi8qKgogKiBEZWNvcmF0b3IgdXNlZCB0byBhZGQgbWVtb2l6YXRpb24gdG8gcHJldmlvdXNseSBpbmZsZWN0ZWQgd29yZHMKICovCmNsYXNzIE1lbW9pemluZ0luZmxlY3RvciBpbXBsZW1lbnRzIEluZmxlY3RvckludGVyZmFjZQp7CiAgICAvKiogQHZhciBhcnJheSBBcnJheSBvZiBjYWNoZWQgaW5mbGVjdGlvbnMgKi8KICAgIHByb3RlY3RlZCAkY2FjaGUgPSBhcnJheSgKICAgICAgICAnc25ha2UnID0+IGFycmF5KCksCiAgICAgICAgJ2NhbWVsJyA9PiBhcnJheSgpCiAgICApOwoKICAgIC8qKiBAdmFyIGludCBNYXggZW50cmllcyBwZXIgY2FjaGUgKi8KICAgIHByb3RlY3RlZCAkbWF4Q2FjaGVTaXplOwoKICAgIC8qKiBAdmFyIEluZmxlY3RvckludGVyZmFjZSBEZWNvcmF0ZWQgaW5mbGVjdG9yICovCiAgICBwcm90ZWN0ZWQgJGRlY29yYXRlZEluZmxlY3RvcjsKCiAgICAvKioKICAgICAqIEBwYXJhbSBJbmZsZWN0b3JJbnRlcmZhY2UgJGluZmxlY3RvciAgICBJbmZsZWN0b3IgYmVpbmcgZGVjb3JhdGVkCiAgICAgKiBAcGFyYW0gaW50ICAgICAgICAgICAgICAgICRtYXhDYWNoZVNpemUgTWF4aW11bSBudW1iZXIgb2YgY2FjaGVkIGl0ZW1zIHRvIGhvbGQgcGVyIGNhY2hlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChJbmZsZWN0b3JJbnRlcmZhY2UgJGluZmxlY3RvciwgJG1heENhY2hlU2l6ZSA9IDUwMCkKICAgIHsKICAgICAgICAkdGhpcy0+ZGVjb3JhdGVkSW5mbGVjdG9yID0gJGluZmxlY3RvcjsKICAgICAgICAkdGhpcy0+bWF4Q2FjaGVTaXplID0gJG1heENhY2hlU2l6ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc25ha2UoJHdvcmQpCiAgICB7CiAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+Y2FjaGVbJ3NuYWtlJ11bJHdvcmRdKSkgewogICAgICAgICAgICAkdGhpcy0+cHJ1bmVDYWNoZSgnc25ha2UnKTsKICAgICAgICAgICAgJHRoaXMtPmNhY2hlWydzbmFrZSddWyR3b3JkXSA9ICR0aGlzLT5kZWNvcmF0ZWRJbmZsZWN0b3ItPnNuYWtlKCR3b3JkKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+Y2FjaGVbJ3NuYWtlJ11bJHdvcmRdOwogICAgfQoKICAgIC8qKgogICAgICogQ29udmVydHMgc3RyaW5ncyBmcm9tIHNuYWtlX2Nhc2UgdG8gdXBwZXIgQ2FtZWxDYXNlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkd29yZCBWYWx1ZSB0byBjb252ZXJ0IGludG8gdXBwZXIgQ2FtZWxDYXNlCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNhbWVsKCR3b3JkKQogICAgewogICAgICAgIGlmICghaXNzZXQoJHRoaXMtPmNhY2hlWydjYW1lbCddWyR3b3JkXSkpIHsKICAgICAgICAgICAgJHRoaXMtPnBydW5lQ2FjaGUoJ2NhbWVsJyk7CiAgICAgICAgICAgICR0aGlzLT5jYWNoZVsnY2FtZWwnXVskd29yZF0gPSAkdGhpcy0+ZGVjb3JhdGVkSW5mbGVjdG9yLT5jYW1lbCgkd29yZCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPmNhY2hlWydjYW1lbCddWyR3b3JkXTsKICAgIH0KCiAgICAvKioKICAgICAqIFBydW5lIG9uZSBvZiB0aGUgbmFtZWQgY2FjaGVzIGJ5IHJlbW92aW5nIDIwJSBvZiB0aGUgY2FjaGUgaWYgaXQgaXMgZnVsbAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGNhY2hlIFR5cGUgb2YgY2FjaGUgdG8gcHJ1bmUKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHBydW5lQ2FjaGUoJGNhY2hlKQogICAgewogICAgICAgIGlmIChjb3VudCgkdGhpcy0+Y2FjaGVbJGNhY2hlXSkgPT0gJHRoaXMtPm1heENhY2hlU2l6ZSkgewogICAgICAgICAgICAkdGhpcy0+Y2FjaGVbJGNhY2hlXSA9IGFycmF5X3NsaWNlKCR0aGlzLT5jYWNoZVskY2FjaGVdLCAkdGhpcy0+bWF4Q2FjaGVTaXplICogMC4yKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Inflection/PreComputedInflector.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSW5mbGVjdGlvbjsKCi8qKgogKiBEZWNvcmF0b3IgdXNlZCB0byBhZGQgcHJlLWNvbXB1dGVkIGluZmxlY3Rpb24gbWFwcGluZ3MgdG8gYW4gaW5mbGVjdG9yCiAqLwpjbGFzcyBQcmVDb21wdXRlZEluZmxlY3RvciBpbXBsZW1lbnRzIEluZmxlY3RvckludGVyZmFjZQp7CiAgICAvKiogQHZhciBhcnJheSBBcnJheSBvZiBwcmUtY29tcHV0ZWQgaW5mbGVjdGlvbnMgKi8KICAgIHByb3RlY3RlZCAkbWFwcGluZyA9IGFycmF5KAogICAgICAgICdzbmFrZScgPT4gYXJyYXkoKSwKICAgICAgICAnY2FtZWwnID0+IGFycmF5KCkKICAgICk7CgogICAgLyoqIEB2YXIgSW5mbGVjdG9ySW50ZXJmYWNlIERlY29yYXRlZCBpbmZsZWN0b3IgKi8KICAgIHByb3RlY3RlZCAkZGVjb3JhdGVkSW5mbGVjdG9yOwoKICAgIC8qKgogICAgICogQHBhcmFtIEluZmxlY3RvckludGVyZmFjZSAkaW5mbGVjdG9yIEluZmxlY3RvciBiZWluZyBkZWNvcmF0ZWQKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICAgJHNuYWtlICAgICBIYXNoIG9mIHByZS1jb21wdXRlZCBjYW1lbCB0byBzbmFrZQogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgICAkY2FtZWwgICAgIEhhc2ggb2YgcHJlLWNvbXB1dGVkIHNuYWtlIHRvIGNhbWVsCiAgICAgKiBAcGFyYW0gYm9vbCAgICAgICAgICAgICAgICRtaXJyb3IgICAgTWlycm9yIHNuYWtlIGFuZCBjYW1lbCByZWZsZWN0aW9ucwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoSW5mbGVjdG9ySW50ZXJmYWNlICRpbmZsZWN0b3IsIGFycmF5ICRzbmFrZSA9IGFycmF5KCksIGFycmF5ICRjYW1lbCA9IGFycmF5KCksICRtaXJyb3IgPSBmYWxzZSkKICAgIHsKICAgICAgICBpZiAoJG1pcnJvcikgewogICAgICAgICAgICAkY2FtZWwgPSBhcnJheV9tZXJnZShhcnJheV9mbGlwKCRzbmFrZSksICRjYW1lbCk7CiAgICAgICAgICAgICRzbmFrZSA9IGFycmF5X21lcmdlKGFycmF5X2ZsaXAoJGNhbWVsKSwgJHNuYWtlKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5kZWNvcmF0ZWRJbmZsZWN0b3IgPSAkaW5mbGVjdG9yOwogICAgICAgICR0aGlzLT5tYXBwaW5nID0gYXJyYXkoCiAgICAgICAgICAgICdzbmFrZScgPT4gJHNuYWtlLAogICAgICAgICAgICAnY2FtZWwnID0+ICRjYW1lbAogICAgICAgICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNuYWtlKCR3b3JkKQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+bWFwcGluZ1snc25ha2UnXVskd29yZF0pCiAgICAgICAgICAgID8gJHRoaXMtPm1hcHBpbmdbJ3NuYWtlJ11bJHdvcmRdCiAgICAgICAgICAgIDogJHRoaXMtPmRlY29yYXRlZEluZmxlY3Rvci0+c25ha2UoJHdvcmQpOwogICAgfQoKICAgIC8qKgogICAgICogQ29udmVydHMgc3RyaW5ncyBmcm9tIHNuYWtlX2Nhc2UgdG8gdXBwZXIgQ2FtZWxDYXNlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkd29yZCBWYWx1ZSB0byBjb252ZXJ0IGludG8gdXBwZXIgQ2FtZWxDYXNlCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNhbWVsKCR3b3JkKQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+bWFwcGluZ1snY2FtZWwnXVskd29yZF0pCiAgICAgICAgICAgID8gJHRoaXMtPm1hcHBpbmdbJ2NhbWVsJ11bJHdvcmRdCiAgICAgICAgICAgIDogJHRoaXMtPmRlY29yYXRlZEluZmxlY3Rvci0+Y2FtZWwoJHdvcmQpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Iterator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Iterator/AppendIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSXRlcmF0b3I7CgovKioKICogQXBwZW5kSXRlcmF0b3IgdGhhdCBpcyBub3QgYWZmZWN0ZWQgYnkgaHR0cHM6Ly9idWdzLnBocC5uZXQvYnVnLnBocD9pZD00OTEwNAogKi8KY2xhc3MgQXBwZW5kSXRlcmF0b3IgZXh0ZW5kcyBcQXBwZW5kSXRlcmF0b3IKewogICAgLyoqCiAgICAgKiBXb3JrcyBhcm91bmQgdGhlIGJ1ZyBpbiB3aGljaCBQSFAgY2FsbHMgcmV3aW5kKCkgYW5kIG5leHQoKSB3aGVuIGFwcGVuZGluZwogICAgICoKICAgICAqIEBwYXJhbSBcSXRlcmF0b3IgJGl0ZXJhdG9yIEl0ZXJhdG9yIHRvIGFwcGVuZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYXBwZW5kKFxJdGVyYXRvciAkaXRlcmF0b3IpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldEFycmF5SXRlcmF0b3IoKS0+YXBwZW5kKCRpdGVyYXRvcik7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Iterator/ChunkedIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSXRlcmF0b3I7CgovKioKICogUHVsbHMgb3V0IGNodW5rcyBmcm9tIGFuIGlubmVyIGl0ZXJhdG9yIGFuZCB5aWVsZHMgdGhlIGNodW5rcyBhcyBhcnJheXMKICovCmNsYXNzIENodW5rZWRJdGVyYXRvciBleHRlbmRzIFxJdGVyYXRvckl0ZXJhdG9yCnsKICAgIC8qKiBAdmFyIGludCBTaXplIG9mIGVhY2ggY2h1bmsgKi8KICAgIHByb3RlY3RlZCAkY2h1bmtTaXplOwoKICAgIC8qKiBAdmFyIGFycmF5IEN1cnJlbnQgY2h1bmsgKi8KICAgIHByb3RlY3RlZCAkY2h1bms7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gXFRyYXZlcnNhYmxlICRpdGVyYXRvciAgVHJhdmVyc2FibGUgaXRlcmF0b3IKICAgICAqIEBwYXJhbSBpbnQgICAgICAgICAgJGNodW5rU2l6ZSBTaXplIHRvIG1ha2UgZWFjaCBjaHVuawogICAgICogQHRocm93cyBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChcVHJhdmVyc2FibGUgJGl0ZXJhdG9yLCAkY2h1bmtTaXplKQogICAgewogICAgICAgICRjaHVua1NpemUgPSAoaW50KSAkY2h1bmtTaXplOwogICAgICAgIGlmICgkY2h1bmtTaXplIDwgMCApIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oIlRoZSBjaHVuayBzaXplIG11c3QgYmUgZXF1YWwgb3IgZ3JlYXRlciB0aGFuIHplcm87ICRjaHVua1NpemUgZ2l2ZW4iKTsKICAgICAgICB9CgogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJGl0ZXJhdG9yKTsKICAgICAgICAkdGhpcy0+Y2h1bmtTaXplID0gJGNodW5rU2l6ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmV3aW5kKCkKICAgIHsKICAgICAgICBwYXJlbnQ6OnJld2luZCgpOwogICAgICAgICR0aGlzLT5uZXh0KCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG5leHQoKQogICAgewogICAgICAgICR0aGlzLT5jaHVuayA9IGFycmF5KCk7CiAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgJHRoaXMtPmNodW5rU2l6ZSAmJiBwYXJlbnQ6OnZhbGlkKCk7ICRpKyspIHsKICAgICAgICAgICAgJHRoaXMtPmNodW5rW10gPSBwYXJlbnQ6OmN1cnJlbnQoKTsKICAgICAgICAgICAgcGFyZW50OjpuZXh0KCk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjdXJyZW50KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNodW5rOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZCgpCiAgICB7CiAgICAgICAgcmV0dXJuIChib29sKSAkdGhpcy0+Y2h1bms7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Iterator/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL2l0ZXJhdG9yIiwKICAgICJkZXNjcmlwdGlvbiI6ICJQcm92aWRlcyBoZWxwZnVsIGl0ZXJhdG9ycyBhbmQgaXRlcmF0b3IgZGVjb3JhdG9ycyIsCiAgICAia2V5d29yZHMiOiBbIml0ZXJhdG9yIiwgImd1enpsZSJdLAogICAgImhvbWVwYWdlIjogImh0dHA6Ly9ndXp6bGVwaHAub3JnLyIsCiAgICAibGljZW5zZSI6ICJNSVQiLAogICAgImF1dGhvcnMiOiBbCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJNaWNoYWVsIERvd2xpbmciLAogICAgICAgICAgICAiZW1haWwiOiAibXRkb3dsaW5nQGdtYWlsLmNvbSIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRkb3dsaW5nIgogICAgICAgIH0KICAgIF0sCiAgICAicmVxdWlyZSI6IHsKICAgICAgICAicGhwIjogIj49NS4zLjIiLAogICAgICAgICJndXp6bGUvY29tbW9uIjogIj49Mi44LjAiCiAgICB9LAogICAgImF1dG9sb2FkIjogewogICAgICAgICJwc3ItMCI6IHsgIkd1enpsZVxcSXRlcmF0b3IiOiAiLyIgfQogICAgfSwKICAgICJ0YXJnZXQtZGlyIjogIkd1enpsZS9Mb2ciLAogICAgImV4dHJhIjogewogICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjMuNy1kZXYiCiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Iterator/FilterIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSXRlcmF0b3I7Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwoKLyoqCiAqIEZpbHRlcnMgdmFsdWVzIHVzaW5nIGEgY2FsbGJhY2sKICoKICogVXNlZCB3aGVuIFBIUCA1LjQncyB7QHNlZSBcQ2FsbGJhY2tGaWx0ZXJJdGVyYXRvcn0gaXMgbm90IGF2YWlsYWJsZQogKi8KY2xhc3MgRmlsdGVySXRlcmF0b3IgZXh0ZW5kcyBcRmlsdGVySXRlcmF0b3IKewogICAgLyoqIEB2YXIgbWl4ZWQgQ2FsbGJhY2sgdXNlZCBmb3IgZmlsdGVyaW5nICovCiAgICBwcm90ZWN0ZWQgJGNhbGxiYWNrOwoKICAgIC8qKgogICAgICogQHBhcmFtIFxJdGVyYXRvciAgICAgICRpdGVyYXRvciBUcmF2ZXJzYWJsZSBpdGVyYXRvcgogICAgICogQHBhcmFtIGFycmF5fFxDbG9zdXJlICRjYWxsYmFjayBDYWxsYmFjayB1c2VkIGZvciBmaWx0ZXJpbmcuIFJldHVybiB0cnVlIHRvIGtlZXAgb3IgZmFsc2UgdG8gZmlsdGVyLgogICAgICoKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGlmIHRoZSBjYWxsYmFjayBpZiBub3QgY2FsbGFibGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFxJdGVyYXRvciAkaXRlcmF0b3IsICRjYWxsYmFjaykKICAgIHsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRpdGVyYXRvcik7CiAgICAgICAgaWYgKCFpc19jYWxsYWJsZSgkY2FsbGJhY2spKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ1RoZSBjYWxsYmFjayBtdXN0IGJlIGNhbGxhYmxlJyk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5jYWxsYmFjayA9ICRjYWxsYmFjazsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWNjZXB0KCkKICAgIHsKICAgICAgICByZXR1cm4gY2FsbF91c2VyX2Z1bmMoJHRoaXMtPmNhbGxiYWNrLCAkdGhpcy0+Y3VycmVudCgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Iterator/MapIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSXRlcmF0b3I7Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwoKLyoqCiAqIE1hcHMgdmFsdWVzIGJlZm9yZSB5aWVsZGluZwogKi8KY2xhc3MgTWFwSXRlcmF0b3IgZXh0ZW5kcyBcSXRlcmF0b3JJdGVyYXRvcgp7CiAgICAvKiogQHZhciBtaXhlZCBDYWxsYmFjayAqLwogICAgcHJvdGVjdGVkICRjYWxsYmFjazsKCiAgICAvKioKICAgICAqIEBwYXJhbSBcVHJhdmVyc2FibGUgICAkaXRlcmF0b3IgVHJhdmVyc2FibGUgaXRlcmF0b3IKICAgICAqIEBwYXJhbSBhcnJheXxcQ2xvc3VyZSAkY2FsbGJhY2sgQ2FsbGJhY2sgdXNlZCBmb3IgaXRlcmF0aW5nCiAgICAgKgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaWYgdGhlIGNhbGxiYWNrIGlmIG5vdCBjYWxsYWJsZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoXFRyYXZlcnNhYmxlICRpdGVyYXRvciwgJGNhbGxiYWNrKQogICAgewogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJGl0ZXJhdG9yKTsKICAgICAgICBpZiAoIWlzX2NhbGxhYmxlKCRjYWxsYmFjaykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignVGhlIGNhbGxiYWNrIG11c3QgYmUgY2FsbGFibGUnKTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmNhbGxiYWNrID0gJGNhbGxiYWNrOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjdXJyZW50KCkKICAgIHsKICAgICAgICByZXR1cm4gY2FsbF91c2VyX2Z1bmMoJHRoaXMtPmNhbGxiYWNrLCBwYXJlbnQ6OmN1cnJlbnQoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Iterator/MethodProxyIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcSXRlcmF0b3I7CgovKioKICogUHJveGllcyBtaXNzaW5nIG1ldGhvZCBjYWxscyB0byB0aGUgaW5uZXJtb3N0IGl0ZXJhdG9yCiAqLwpjbGFzcyBNZXRob2RQcm94eUl0ZXJhdG9yIGV4dGVuZHMgXEl0ZXJhdG9ySXRlcmF0b3IKewogICAgLyoqCiAgICAgKiBQcm94eSBtZXRob2QgY2FsbHMgdG8gdGhlIHdyYXBwZWQgaXRlcmF0b3IKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIE5hbWUgb2YgdGhlIG1ldGhvZAogICAgICogQHBhcmFtIGFycmF5ICAkYXJncyBBcmd1bWVudHMgdG8gcHJveHkKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NhbGwoJG5hbWUsIGFycmF5ICRhcmdzKQogICAgewogICAgICAgICRpID0gJHRoaXMtPmdldElubmVySXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoJGkgaW5zdGFuY2VvZiBcT3V0ZXJJdGVyYXRvcikgewogICAgICAgICAgICAkaSA9ICRpLT5nZXRJbm5lckl0ZXJhdG9yKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gY2FsbF91c2VyX2Z1bmNfYXJyYXkoYXJyYXkoJGksICRuYW1lKSwgJGFyZ3MpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Iterator/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R3V6emxlIEl0ZXJhdG9yCj09PT09PT09PT09PT09PQoKUHJvdmlkZXMgdXNlZnVsIEl0ZXJhdG9ycyBhbmQgSXRlcmF0b3IgZGVjb3JhdG9ycwoKLSBDaHVua2VkSXRlcmF0b3I6IFB1bGxzIG91dCBjaHVua3MgZnJvbSBhbiBpbm5lciBpdGVyYXRvciBhbmQgeWllbGRzIHRoZSBjaHVua3MgYXMgYXJyYXlzCi0gRmlsdGVySXRlcmF0b3I6IFVzZWQgd2hlbiBQSFAgNS40J3MgQ2FsbGJhY2tGaWx0ZXJJdGVyYXRvciBpcyBub3QgYXZhaWxhYmxlCi0gTWFwSXRlcmF0b3I6IE1hcHMgdmFsdWVzIGJlZm9yZSB5aWVsZGluZwotIE1ldGhvZFByb3h5SXRlcmF0b3I6IFByb3hpZXMgbWlzc2luZyBtZXRob2QgY2FsbHMgdG8gdGhlIGlubmVybW9zdCBpdGVyYXRvcgoKIyMjIEluc3RhbGxpbmcgdmlhIENvbXBvc2VyCgpgYGBiYXNoCiMgSW5zdGFsbCBDb21wb3NlcgpjdXJsIC1zUyBodHRwczovL2dldGNvbXBvc2VyLm9yZy9pbnN0YWxsZXIgfCBwaHAKCiMgQWRkIEd1enpsZSBhcyBhIGRlcGVuZGVuY3kKcGhwIGNvbXBvc2VyLnBoYXIgcmVxdWlyZSBndXp6bGUvaXRlcmF0b3I6fjMuMApgYGAKCkFmdGVyIGluc3RhbGxpbmcsIHlvdSBuZWVkIHRvIHJlcXVpcmUgQ29tcG9zZXIncyBhdXRvbG9hZGVyOgoKYGBgcGhwCnJlcXVpcmUgJ3ZlbmRvci9hdXRvbG9hZC5waHAnOwpgYGAK]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Log/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Log/AbstractLogAdapter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcTG9nOwoKLyoqCiAqIEFkYXB0ZXIgY2xhc3MgdGhhdCBhbGxvd3MgR3V6emxlIHRvIGxvZyBkYXRhIHVzaW5nIHZhcmlvdXMgbG9nZ2luZyBpbXBsZW1lbnRhdGlvbnMKICovCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0TG9nQWRhcHRlciBpbXBsZW1lbnRzIExvZ0FkYXB0ZXJJbnRlcmZhY2UKewogICAgcHJvdGVjdGVkICRsb2c7CgogICAgcHVibGljIGZ1bmN0aW9uIGdldExvZ09iamVjdCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5sb2c7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Log/ArrayLogAdapter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcTG9nOwoKLyoqCiAqIFN0b3JlcyBhbGwgbG9nIG1lc3NhZ2VzIGluIGFuIGFycmF5CiAqLwpjbGFzcyBBcnJheUxvZ0FkYXB0ZXIgaW1wbGVtZW50cyBMb2dBZGFwdGVySW50ZXJmYWNlCnsKICAgIHByb3RlY3RlZCAkbG9ncyA9IGFycmF5KCk7CgogICAgcHVibGljIGZ1bmN0aW9uIGxvZygkbWVzc2FnZSwgJHByaW9yaXR5ID0gTE9HX0lORk8sICRleHRyYXMgPSBhcnJheSgpKQogICAgewogICAgICAgICR0aGlzLT5sb2dzW10gPSBhcnJheSgnbWVzc2FnZScgPT4gJG1lc3NhZ2UsICdwcmlvcml0eScgPT4gJHByaW9yaXR5LCAnZXh0cmFzJyA9PiAkZXh0cmFzKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBsb2dnZWQgZW50cmllcwogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldExvZ3MoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+bG9nczsKICAgIH0KCiAgICAvKioKICAgICAqIENsZWFycyBsb2dnZWQgZW50cmllcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xlYXJMb2dzKCkKICAgIHsKICAgICAgICAkdGhpcy0+bG9ncyA9IGFycmF5KCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Log/ClosureLogAdapter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcTG9nOwoKLyoqCiAqIExvZ3MgbWVzc2FnZXMgdXNpbmcgQ2xvc3VyZXMuIENsb3N1cmVzIGNvbWJpbmVkIHdpdGggZmlsdGVyaW5nIGNhbiB0cmlnZ2VyIGFwcGxpY2F0aW9uIGV2ZW50cyBiYXNlZCBvbiBsb2cgbWVzc2FnZXMuCiAqLwpjbGFzcyBDbG9zdXJlTG9nQWRhcHRlciBleHRlbmRzIEFic3RyYWN0TG9nQWRhcHRlcgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGxvZ09iamVjdCkKICAgIHsKICAgICAgICBpZiAoIWlzX2NhbGxhYmxlKCRsb2dPYmplY3QpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdPYmplY3QgbXVzdCBiZSBjYWxsYWJsZScpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmxvZyA9ICRsb2dPYmplY3Q7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGxvZygkbWVzc2FnZSwgJHByaW9yaXR5ID0gTE9HX0lORk8sICRleHRyYXMgPSBhcnJheSgpKQogICAgewogICAgICAgIGNhbGxfdXNlcl9mdW5jKCR0aGlzLT5sb2csICRtZXNzYWdlLCAkcHJpb3JpdHksICRleHRyYXMpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Log/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL2xvZyIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3V6emxlIGxvZyBhZGFwdGVyIGNvbXBvbmVudCIsCiAgICAiaG9tZXBhZ2UiOiAiaHR0cDovL2d1enpsZXBocC5vcmcvIiwKICAgICJrZXl3b3JkcyI6IFsibG9nIiwgImFkYXB0ZXIiLCAiZ3V6emxlIl0sCiAgICAibGljZW5zZSI6ICJNSVQiLAogICAgImF1dGhvcnMiOiBbCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJNaWNoYWVsIERvd2xpbmciLAogICAgICAgICAgICAiZW1haWwiOiAibXRkb3dsaW5nQGdtYWlsLmNvbSIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRkb3dsaW5nIgogICAgICAgIH0KICAgIF0sCiAgICAicmVxdWlyZSI6IHsKICAgICAgICAicGhwIjogIj49NS4zLjIiCiAgICB9LAogICAgImF1dG9sb2FkIjogewogICAgICAgICJwc3ItMCI6IHsgIkd1enpsZVxcTG9nIjogIiIgfQogICAgfSwKICAgICJzdWdnZXN0IjogewogICAgICAgICJndXp6bGUvaHR0cCI6ICJzZWxmLnZlcnNpb24iCiAgICB9LAogICAgInRhcmdldC1kaXIiOiAiR3V6emxlL0xvZyIsCiAgICAiZXh0cmEiOiB7CiAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMy43LWRldiIKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Log/LogAdapterInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcTG9nOwoKLyoqCiAqIEFkYXB0ZXIgY2xhc3MgdGhhdCBhbGxvd3MgR3V6emxlIHRvIGxvZyBkYXRhIHRvIHZhcmlvdXMgbG9nZ2luZyBpbXBsZW1lbnRhdGlvbnMuCiAqLwppbnRlcmZhY2UgTG9nQWRhcHRlckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIExvZyBhIG1lc3NhZ2UgYXQgYSBwcmlvcml0eQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgICRtZXNzYWdlICBNZXNzYWdlIHRvIGxvZwogICAgICogQHBhcmFtIGludGVnZXIgJHByaW9yaXR5IFByaW9yaXR5IG9mIG1lc3NhZ2UgKHVzZSB0aGUgXExPR18qIGNvbnN0YW50cyBvZiAwIC0gNykKICAgICAqIEBwYXJhbSBhcnJheSAgICRleHRyYXMgICBFeHRyYSBpbmZvcm1hdGlvbiB0byBsb2cgaW4gZXZlbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxvZygkbWVzc2FnZSwgJHByaW9yaXR5ID0gTE9HX0lORk8sICRleHRyYXMgPSBhcnJheSgpKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Log/MessageFormatter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcTG9nOwoKdXNlIEd1enpsZVxIdHRwXEN1cmxcQ3VybEhhbmRsZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcRW50aXR5RW5jbG9zaW5nUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogTWVzc2FnZSBmb3JtYXR0ZXIgdXNlZCBpbiB2YXJpb3VzIHBsYWNlcyBpbiB0aGUgZnJhbWV3b3JrCiAqCiAqIEZvcm1hdCBtZXNzYWdlcyB1c2luZyBhIHRlbXBsYXRlIHRoYXQgY2FuIGNvbnRhaW4gdGhlIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzOgogKgogKiAtIHtyZXF1ZXN0fTogICAgICAgRnVsbCBIVFRQIHJlcXVlc3QgbWVzc2FnZQogKiAtIHtyZXNwb25zZX06ICAgICAgRnVsbCBIVFRQIHJlc3BvbnNlIG1lc3NhZ2UKICogLSB7dHN9OiAgICAgICAgICAgIFRpbWVzdGFtcAogKiAtIHtob3N0fTogICAgICAgICAgSG9zdCBvZiB0aGUgcmVxdWVzdAogKiAtIHttZXRob2R9OiAgICAgICAgTWV0aG9kIG9mIHRoZSByZXF1ZXN0CiAqIC0ge3VybH06ICAgICAgICAgICBVUkwgb2YgdGhlIHJlcXVlc3QKICogLSB7aG9zdH06ICAgICAgICAgIEhvc3Qgb2YgdGhlIHJlcXVlc3QKICogLSB7cHJvdG9jb2x9OiAgICAgIFJlcXVlc3QgcHJvdG9jb2wKICogLSB7dmVyc2lvbn06ICAgICAgIFByb3RvY29sIHZlcnNpb24KICogLSB7cmVzb3VyY2V9OiAgICAgIFJlc291cmNlIG9mIHRoZSByZXF1ZXN0IChwYXRoICsgcXVlcnkgKyBmcmFnbWVudCkKICogLSB7cG9ydH06ICAgICAgICAgIFBvcnQgb2YgdGhlIHJlcXVlc3QKICogLSB7aG9zdG5hbWV9OiAgICAgIEhvc3RuYW1lIG9mIHRoZSBtYWNoaW5lIHRoYXQgc2VudCB0aGUgcmVxdWVzdAogKiAtIHtjb2RlfTogICAgICAgICAgU3RhdHVzIGNvZGUgb2YgdGhlIHJlc3BvbnNlIChpZiBhdmFpbGFibGUpCiAqIC0ge3BocmFzZX06ICAgICAgICBSZWFzb24gcGhyYXNlIG9mIHRoZSByZXNwb25zZSAgKGlmIGF2YWlsYWJsZSkKICogLSB7Y3VybF9lcnJvcn06ICAgIEN1cmwgZXJyb3IgbWVzc2FnZSAoaWYgYXZhaWxhYmxlKQogKiAtIHtjdXJsX2NvZGV9OiAgICAgQ3VybCBlcnJvciBjb2RlIChpZiBhdmFpbGFibGUpCiAqIC0ge2N1cmxfc3RkZXJyfTogICBDdXJsIHN0YW5kYXJkIGVycm9yIChpZiBhdmFpbGFibGUpCiAqIC0ge2Nvbm5lY3RfdGltZX06ICBUaW1lIGluIHNlY29uZHMgaXQgdG9vayB0byBlc3RhYmxpc2ggdGhlIGNvbm5lY3Rpb24gKGlmIGF2YWlsYWJsZSkKICogLSB7dG90YWxfdGltZX06ICAgIFRvdGFsIHRyYW5zYWN0aW9uIHRpbWUgaW4gc2Vjb25kcyBmb3IgbGFzdCB0cmFuc2ZlciAoaWYgYXZhaWxhYmxlKQogKiAtIHtyZXFfaGVhZGVyXyp9OiAgUmVwbGFjZSBgKmAgd2l0aCB0aGUgbG93ZXJjYXNlZCBuYW1lIG9mIGEgcmVxdWVzdCBoZWFkZXIgdG8gYWRkIHRvIHRoZSBtZXNzYWdlCiAqIC0ge3Jlc19oZWFkZXJfKn06ICBSZXBsYWNlIGAqYCB3aXRoIHRoZSBsb3dlcmNhc2VkIG5hbWUgb2YgYSByZXNwb25zZSBoZWFkZXIgdG8gYWRkIHRvIHRoZSBtZXNzYWdlCiAqIC0ge3JlcV9ib2R5fTogICAgICBSZXF1ZXN0IGJvZHkKICogLSB7cmVzX2JvZHl9OiAgICAgIFJlc3BvbnNlIGJvZHkKICovCmNsYXNzIE1lc3NhZ2VGb3JtYXR0ZXIKewogICAgY29uc3QgREVGQVVMVF9GT1JNQVQgPSAie2hvc3RuYW1lfSB7cmVxX2hlYWRlcl9Vc2VyLUFnZW50fSAtIFt7dHN9XSBcInttZXRob2R9IHtyZXNvdXJjZX0ge3Byb3RvY29sfS97dmVyc2lvbn1cIiB7Y29kZX0ge3Jlc19oZWFkZXJfQ29udGVudC1MZW5ndGh9IjsKICAgIGNvbnN0IERFQlVHX0ZPUk1BVCA9ICI+Pj4+Pj4+Plxue3JlcXVlc3R9XG48PDw8PDw8PFxue3Jlc3BvbnNlfVxuLS0tLS0tLS1cbntjdXJsX3N0ZGVycn0iOwogICAgY29uc3QgU0hPUlRfRk9STUFUID0gJ1t7dHN9XSAie21ldGhvZH0ge3Jlc291cmNlfSB7cHJvdG9jb2x9L3t2ZXJzaW9ufSIge2NvZGV9JzsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRlbXBsYXRlIHVzZWQgdG8gZm9ybWF0IGxvZyBtZXNzYWdlcwogICAgICovCiAgICBwcm90ZWN0ZWQgJHRlbXBsYXRlOwoKICAgIC8qKgogICAgICogQHBhcmFtIHN0cmluZyAkdGVtcGxhdGUgTG9nIG1lc3NhZ2UgdGVtcGxhdGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCR0ZW1wbGF0ZSA9IHNlbGY6OkRFRkFVTFRfRk9STUFUKQogICAgewogICAgICAgICR0aGlzLT50ZW1wbGF0ZSA9ICR0ZW1wbGF0ZSA/OiBzZWxmOjpERUZBVUxUX0ZPUk1BVDsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgdGVtcGxhdGUgdG8gdXNlIGZvciBsb2dnaW5nCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdGVtcGxhdGUgTG9nIG1lc3NhZ2UgdGVtcGxhdGUKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFRlbXBsYXRlKCR0ZW1wbGF0ZSkKICAgIHsKICAgICAgICAkdGhpcy0+dGVtcGxhdGUgPSAkdGVtcGxhdGU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBmb3JtYXR0ZWQgbWVzc2FnZQogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0ICAgIFJlcXVlc3QgdGhhdCB3YXMgc2VudAogICAgICogQHBhcmFtIFJlc3BvbnNlICAgICAgICAgJHJlc3BvbnNlICAgUmVzcG9uc2UgdGhhdCB3YXMgcmVjZWl2ZWQKICAgICAqIEBwYXJhbSBDdXJsSGFuZGxlICAgICAgICRoYW5kbGUgICAgIEN1cmwgaGFuZGxlIGFzc29jaWF0ZWQgd2l0aCB0aGUgbWVzc2FnZQogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgJGN1c3RvbURhdGEgQXNzb2NpYXRpdmUgYXJyYXkgb2YgY3VzdG9tIHRlbXBsYXRlIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZm9ybWF0KAogICAgICAgIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsCiAgICAgICAgUmVzcG9uc2UgJHJlc3BvbnNlID0gbnVsbCwKICAgICAgICBDdXJsSGFuZGxlICRoYW5kbGUgPSBudWxsLAogICAgICAgIGFycmF5ICRjdXN0b21EYXRhID0gYXJyYXkoKQogICAgKSB7CiAgICAgICAgJGNhY2hlID0gJGN1c3RvbURhdGE7CgogICAgICAgIHJldHVybiBwcmVnX3JlcGxhY2VfY2FsbGJhY2soCiAgICAgICAgICAgICcve1xzKihbQS1aYS16X1wtXC4wLTldKylccyp9LycsCiAgICAgICAgICAgIGZ1bmN0aW9uIChhcnJheSAkbWF0Y2hlcykgdXNlICgkcmVxdWVzdCwgJHJlc3BvbnNlLCAkaGFuZGxlLCAmJGNhY2hlKSB7CgogICAgICAgICAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJG1hdGNoZXNbMV0sICRjYWNoZSkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJGNhY2hlWyRtYXRjaGVzWzFdXTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJyc7CiAgICAgICAgICAgICAgICBzd2l0Y2ggKCRtYXRjaGVzWzFdKSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAncmVxdWVzdCc6CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAoc3RyaW5nKSAkcmVxdWVzdDsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAncmVzcG9uc2UnOgogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gKHN0cmluZykgJHJlc3BvbnNlOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlICdyZXFfYm9keSc6CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkcmVxdWVzdCBpbnN0YW5jZW9mIEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gKHN0cmluZykgJHJlcXVlc3QtPmdldEJvZHkoKSA6ICcnOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlICdyZXNfYm9keSc6CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkcmVzcG9uc2UgPyAkcmVzcG9uc2UtPmdldEJvZHkodHJ1ZSkgOiAnJzsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAndHMnOgogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gZ21kYXRlKCdjJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgJ21ldGhvZCc6CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkcmVxdWVzdC0+Z2V0TWV0aG9kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3VybCc6CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0VXJsKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3Jlc291cmNlJzoKICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCA9ICRyZXF1ZXN0LT5nZXRSZXNvdXJjZSgpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlICdwcm90b2NvbCc6CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAnSFRUUCc7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3ZlcnNpb24nOgogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJHJlcXVlc3QtPmdldFByb3RvY29sVmVyc2lvbigpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlICdob3N0JzoKICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCA9ICRyZXF1ZXN0LT5nZXRIb3N0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgJ2hvc3RuYW1lJzoKICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCA9IGdldGhvc3RuYW1lKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3BvcnQnOgogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJHJlcXVlc3QtPmdldFBvcnQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29kZSc6CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkcmVzcG9uc2UgPyAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSA6ICcnOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlICdwaHJhc2UnOgogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJHJlc3BvbnNlID8gJHJlc3BvbnNlLT5nZXRSZWFzb25QaHJhc2UoKSA6ICcnOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlICdjb25uZWN0X3RpbWUnOgogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGhhbmRsZSAmJiAkaGFuZGxlLT5nZXRJbmZvKENVUkxJTkZPX0NPTk5FQ1RfVElNRSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJGhhbmRsZS0+Z2V0SW5mbyhDVVJMSU5GT19DT05ORUNUX1RJTUUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICgkcmVzcG9uc2UgPyAkcmVzcG9uc2UtPmdldEluZm8oJ2Nvbm5lY3RfdGltZScpIDogJycpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlICd0b3RhbF90aW1lJzoKICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCA9ICRoYW5kbGUgJiYgJGhhbmRsZS0+Z2V0SW5mbyhDVVJMSU5GT19UT1RBTF9USU1FKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAkaGFuZGxlLT5nZXRJbmZvKENVUkxJTkZPX1RPVEFMX1RJTUUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICgkcmVzcG9uc2UgPyAkcmVzcG9uc2UtPmdldEluZm8oJ3RvdGFsX3RpbWUnKSA6ICcnKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAnY3VybF9lcnJvcic6CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkaGFuZGxlID8gJGhhbmRsZS0+Z2V0RXJyb3IoKSA6ICcnOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlICdjdXJsX2NvZGUnOgogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGhhbmRsZSA/ICRoYW5kbGUtPmdldEVycm9yTm8oKSA6ICcnOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlICdjdXJsX3N0ZGVycic6CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAgJGhhbmRsZSA/ICRoYW5kbGUtPmdldFN0ZGVycigpIDogJyc7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJwb3MoJG1hdGNoZXNbMV0sICdyZXFfaGVhZGVyXycpID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJHJlcXVlc3QtPmdldEhlYWRlcihzdWJzdHIoJG1hdGNoZXNbMV0sIDExKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkcmVzcG9uc2UgJiYgc3RycG9zKCRtYXRjaGVzWzFdLCAncmVzX2hlYWRlcl8nKSA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCA9ICRyZXNwb25zZS0+Z2V0SGVhZGVyKHN1YnN0cigkbWF0Y2hlc1sxXSwgMTEpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRjYWNoZVskbWF0Y2hlc1sxXV0gPSAkcmVzdWx0OwogICAgICAgICAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICR0aGlzLT50ZW1wbGF0ZQogICAgICAgICk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Log/MonologLogAdapter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcTG9nOwoKdXNlIE1vbm9sb2dcTG9nZ2VyOwoKLyoqCiAqIEBkZXByZWNhdGVkCiAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICovCmNsYXNzIE1vbm9sb2dMb2dBZGFwdGVyIGV4dGVuZHMgQWJzdHJhY3RMb2dBZGFwdGVyCnsKICAgIC8qKgogICAgICogc3lzbG9nIHRvIE1vbm9sb2cgbWFwcGluZ3MKICAgICAqLwogICAgcHJpdmF0ZSBzdGF0aWMgJG1hcHBpbmcgPSBhcnJheSgKICAgICAgICBMT0dfREVCVUcgICA9PiBMb2dnZXI6OkRFQlVHLAogICAgICAgIExPR19JTkZPICAgID0+IExvZ2dlcjo6SU5GTywKICAgICAgICBMT0dfV0FSTklORyA9PiBMb2dnZXI6OldBUk5JTkcsCiAgICAgICAgTE9HX0VSUiAgICAgPT4gTG9nZ2VyOjpFUlJPUiwKICAgICAgICBMT0dfQ1JJVCAgICA9PiBMb2dnZXI6OkNSSVRJQ0FMLAogICAgICAgIExPR19BTEVSVCAgID0+IExvZ2dlcjo6QUxFUlQKICAgICk7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KExvZ2dlciAkbG9nT2JqZWN0KQogICAgewogICAgICAgICR0aGlzLT5sb2cgPSAkbG9nT2JqZWN0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2coJG1lc3NhZ2UsICRwcmlvcml0eSA9IExPR19JTkZPLCAkZXh0cmFzID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkdGhpcy0+bG9nLT5hZGRSZWNvcmQoc2VsZjo6JG1hcHBpbmdbJHByaW9yaXR5XSwgJG1lc3NhZ2UpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Log/PsrLogAdapter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcTG9nOwoKdXNlIFBzclxMb2dcTG9nTGV2ZWw7CnVzZSBQc3JcTG9nXExvZ2dlckludGVyZmFjZTsKCi8qKgogKiBQU1ItMyBsb2cgYWRhcHRlcgogKgogKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vcGhwLWZpZy9maWctc3RhbmRhcmRzL2Jsb2IvbWFzdGVyL2FjY2VwdGVkL1BTUi0zLWxvZ2dlci1pbnRlcmZhY2UubWQKICovCmNsYXNzIFBzckxvZ0FkYXB0ZXIgZXh0ZW5kcyBBYnN0cmFjdExvZ0FkYXB0ZXIKewogICAgLyoqCiAgICAgKiBzeXNsb2cgdG8gUFNSLTMgbWFwcGluZ3MKICAgICAqLwogICAgcHJpdmF0ZSBzdGF0aWMgJG1hcHBpbmcgPSBhcnJheSgKICAgICAgICBMT0dfREVCVUcgICA9PiBMb2dMZXZlbDo6REVCVUcsCiAgICAgICAgTE9HX0lORk8gICAgPT4gTG9nTGV2ZWw6OklORk8sCiAgICAgICAgTE9HX1dBUk5JTkcgPT4gTG9nTGV2ZWw6OldBUk5JTkcsCiAgICAgICAgTE9HX0VSUiAgICAgPT4gTG9nTGV2ZWw6OkVSUk9SLAogICAgICAgIExPR19DUklUICAgID0+IExvZ0xldmVsOjpDUklUSUNBTCwKICAgICAgICBMT0dfQUxFUlQgICA9PiBMb2dMZXZlbDo6QUxFUlQKICAgICk7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KExvZ2dlckludGVyZmFjZSAkbG9nT2JqZWN0KQogICAgewogICAgICAgICR0aGlzLT5sb2cgPSAkbG9nT2JqZWN0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2coJG1lc3NhZ2UsICRwcmlvcml0eSA9IExPR19JTkZPLCAkZXh0cmFzID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkdGhpcy0+bG9nLT5sb2coc2VsZjo6JG1hcHBpbmdbJHByaW9yaXR5XSwgJG1lc3NhZ2UsICRleHRyYXMpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Log/Zf1LogAdapter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcTG9nOwoKdXNlIEd1enpsZVxDb21tb25cVmVyc2lvbjsKCi8qKgogKiBBZGFwdHMgYSBaZW5kIEZyYW1ld29yayAxIGxvZ2dlciBvYmplY3QKICogQGRlcHJlY2F0ZWQKICogQGNvZGVDb3ZlcmFnZUlnbm9yZQogKi8KY2xhc3MgWmYxTG9nQWRhcHRlciBleHRlbmRzIEFic3RyYWN0TG9nQWRhcHRlcgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoXFplbmRfTG9nICRsb2dPYmplY3QpCiAgICB7CiAgICAgICAgJHRoaXMtPmxvZyA9ICRsb2dPYmplY3Q7CiAgICAgICAgVmVyc2lvbjo6d2FybihfX0NMQVNTX18gLiAnIGlzIGRlcHJlY2F0ZWQnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gbG9nKCRtZXNzYWdlLCAkcHJpb3JpdHkgPSBMT0dfSU5GTywgJGV4dHJhcyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJHRoaXMtPmxvZy0+bG9nKCRtZXNzYWdlLCAkcHJpb3JpdHksICRleHRyYXMpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Log/Zf2LogAdapter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcTG9nOwoKdXNlIFplbmRcTG9nXExvZ2dlcjsKCi8qKgogKiBBZGFwdHMgYSBaZW5kIEZyYW1ld29yayAyIGxvZ2dlciBvYmplY3QKICovCmNsYXNzIFpmMkxvZ0FkYXB0ZXIgZXh0ZW5kcyBBYnN0cmFjdExvZ0FkYXB0ZXIKewogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KExvZ2dlciAkbG9nT2JqZWN0KQogICAgewogICAgICAgICR0aGlzLT5sb2cgPSAkbG9nT2JqZWN0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2coJG1lc3NhZ2UsICRwcmlvcml0eSA9IExPR19JTkZPLCAkZXh0cmFzID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkdGhpcy0+bG9nLT5sb2coJHByaW9yaXR5LCAkbWVzc2FnZSwgJGV4dHJhcyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3BhcnNlciIsCiAgICAiaG9tZXBhZ2UiOiAiaHR0cDovL2d1enpsZXBocC5vcmcvIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbnRlcmNoYW5nZWFibGUgcGFyc2VycyB1c2VkIGJ5IEd1enpsZSIsCiAgICAia2V5d29yZHMiOiBbIkhUVFAiLCAibWVzc2FnZSIsICJjb29raWUiLCAiVVJMIiwgIlVSSSBUZW1wbGF0ZSJdLAogICAgImxpY2Vuc2UiOiAiTUlUIiwKICAgICJyZXF1aXJlIjogewogICAgICAgICJwaHAiOiAiPj01LjMuMiIKICAgIH0sCiAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgInBzci0wIjogeyAiR3V6emxlXFxQYXJzZXIiOiAiIiB9CiAgICB9LAogICAgInRhcmdldC1kaXIiOiAiR3V6emxlL1BhcnNlciIsCiAgICAiZXh0cmEiOiB7CiAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMy43LWRldiIKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/Cookie/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/Cookie/CookieParser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGFyc2VyXENvb2tpZTsKCi8qKgogKiBEZWZhdWx0IEd1enpsZSBpbXBsZW1lbnRhdGlvbiBvZiBhIENvb2tpZSBwYXJzZXIKICovCmNsYXNzIENvb2tpZVBhcnNlciBpbXBsZW1lbnRzIENvb2tpZVBhcnNlckludGVyZmFjZQp7CiAgICAvKiogQHZhciBhcnJheSBDb29raWUgcGFydCBuYW1lcyB0byBzbmFrZV9jYXNlIGFycmF5IHZhbHVlcyAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkY29va2llUGFydHMgPSBhcnJheSgKICAgICAgICAnZG9tYWluJyAgICAgID0+ICdEb21haW4nLAogICAgICAgICdwYXRoJyAgICAgICAgPT4gJ1BhdGgnLAogICAgICAgICdtYXhfYWdlJyAgICAgPT4gJ01heC1BZ2UnLAogICAgICAgICdleHBpcmVzJyAgICAgPT4gJ0V4cGlyZXMnLAogICAgICAgICd2ZXJzaW9uJyAgICAgPT4gJ1ZlcnNpb24nLAogICAgICAgICdzZWN1cmUnICAgICAgPT4gJ1NlY3VyZScsCiAgICAgICAgJ3BvcnQnICAgICAgICA9PiAnUG9ydCcsCiAgICAgICAgJ2Rpc2NhcmQnICAgICA9PiAnRGlzY2FyZCcsCiAgICAgICAgJ2NvbW1lbnQnICAgICA9PiAnQ29tbWVudCcsCiAgICAgICAgJ2NvbW1lbnRfdXJsJyA9PiAnQ29tbWVudC1VcmwnLAogICAgICAgICdodHRwX29ubHknICAgPT4gJ0h0dHBPbmx5JwogICAgKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gcGFyc2VDb29raWUoJGNvb2tpZSwgJGhvc3QgPSBudWxsLCAkcGF0aCA9IG51bGwsICRkZWNvZGUgPSBmYWxzZSkKICAgIHsKICAgICAgICAvLyBFeHBsb2RlIHRoZSBjb29raWUgc3RyaW5nIHVzaW5nIGEgc2VyaWVzIG9mIHNlbWljb2xvbnMKICAgICAgICAkcGllY2VzID0gYXJyYXlfZmlsdGVyKGFycmF5X21hcCgndHJpbScsIGV4cGxvZGUoJzsnLCAkY29va2llKSkpOwoKICAgICAgICAvLyBUaGUgbmFtZSBvZiB0aGUgY29va2llIChmaXJzdCBrdnApIG11c3QgaW5jbHVkZSBhbiBlcXVhbCBzaWduLgogICAgICAgIGlmIChlbXB0eSgkcGllY2VzKSB8fCAhc3RycG9zKCRwaWVjZXNbMF0sICc9JykpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgLy8gQ3JlYXRlIHRoZSBkZWZhdWx0IHJldHVybiBhcnJheQogICAgICAgICRkYXRhID0gYXJyYXlfbWVyZ2UoYXJyYXlfZmlsbF9rZXlzKGFycmF5X2tleXMoc2VsZjo6JGNvb2tpZVBhcnRzKSwgbnVsbCksIGFycmF5KAogICAgICAgICAgICAnY29va2llcycgICA9PiBhcnJheSgpLAogICAgICAgICAgICAnZGF0YScgICAgICA9PiBhcnJheSgpLAogICAgICAgICAgICAncGF0aCcgICAgICA9PiAkcGF0aCA/OiAnLycsCiAgICAgICAgICAgICdodHRwX29ubHknID0+IGZhbHNlLAogICAgICAgICAgICAnZGlzY2FyZCcgICA9PiBmYWxzZSwKICAgICAgICAgICAgJ2RvbWFpbicgICAgPT4gJGhvc3QKICAgICAgICApKTsKICAgICAgICAkZm91bmROb25Db29raWVzID0gMDsKCiAgICAgICAgLy8gQWRkIHRoZSBjb29raWUgcGllY2VzIGludG8gdGhlIHBhcnNlZCBkYXRhIGFycmF5CiAgICAgICAgZm9yZWFjaCAoJHBpZWNlcyBhcyAkcGFydCkgewoKICAgICAgICAgICAgJGNvb2tpZVBhcnRzID0gZXhwbG9kZSgnPScsICRwYXJ0LCAyKTsKICAgICAgICAgICAgJGtleSA9IHRyaW0oJGNvb2tpZVBhcnRzWzBdKTsKCiAgICAgICAgICAgIGlmIChjb3VudCgkY29va2llUGFydHMpID09IDEpIHsKICAgICAgICAgICAgICAgIC8vIENhbiBiZSBhIHNpbmdsZSB2YWx1ZSAoZS5nLiBzZWN1cmUsIGh0dHBPbmx5KQogICAgICAgICAgICAgICAgJHZhbHVlID0gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIEJlIHN1cmUgdG8gc3RyaXAgd3JhcHBpbmcgcXVvdGVzCiAgICAgICAgICAgICAgICAkdmFsdWUgPSB0cmltKCRjb29raWVQYXJ0c1sxXSwgIiBcblxyXHRcMFx4MEJcIiIpOwogICAgICAgICAgICAgICAgaWYgKCRkZWNvZGUpIHsKICAgICAgICAgICAgICAgICAgICAkdmFsdWUgPSB1cmxkZWNvZGUoJHZhbHVlKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gT25seSBjaGVjayBmb3Igbm9uLWNvb2tpZXMgd2hlbiBjb29raWVzIGhhdmUgYmVlbiBmb3VuZAogICAgICAgICAgICBpZiAoIWVtcHR5KCRkYXRhWydjb29raWVzJ10pKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoIChzZWxmOjokY29va2llUGFydHMgYXMgJG1hcFZhbHVlID0+ICRzZWFyY2gpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIXN0cmNhc2VjbXAoJHNlYXJjaCwgJGtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGRhdGFbJG1hcFZhbHVlXSA9ICRtYXBWYWx1ZSA9PSAncG9ydCcgPyBhcnJheV9tYXAoJ3RyaW0nLCBleHBsb2RlKCcsJywgJHZhbHVlKSkgOiAkdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgICRmb3VuZE5vbkNvb2tpZXMrKzsKICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUgMjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIElmIGNvb2tpZXMgaGF2ZSBub3QgeWV0IGJlZW4gcmV0cmlldmVkLCBvciB0aGlzIHZhbHVlIHdhcyBub3QgZm91bmQgaW4gdGhlIHBpZWNlcyBhcnJheSwgdHJlYXQgaXQgYXMgYQogICAgICAgICAgICAvLyBjb29raWUuIElGIG5vbi1jb29raWVzIGhhdmUgYmVlbiBwYXJzZWQsIHRoZW4gdGhpcyBpc24ndCBhIGNvb2tpZSwgaXQncyBjb29raWUgZGF0YS4gQ29va2llcyB0aGVuIGRhdGEuCiAgICAgICAgICAgICRkYXRhWyRmb3VuZE5vbkNvb2tpZXMgPyAnZGF0YScgOiAnY29va2llcyddWyRrZXldID0gJHZhbHVlOwogICAgICAgIH0KCiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBleHBpcmVzIGRhdGUKICAgICAgICBpZiAoISRkYXRhWydleHBpcmVzJ10gJiYgJGRhdGFbJ21heF9hZ2UnXSkgewogICAgICAgICAgICAkZGF0YVsnZXhwaXJlcyddID0gdGltZSgpICsgKGludCkgJGRhdGFbJ21heF9hZ2UnXTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/Cookie/CookieParserInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGFyc2VyXENvb2tpZTsKCi8qKgogKiBDb29raWUgcGFyc2VyIGludGVyZmFjZQogKi8KaW50ZXJmYWNlIENvb2tpZVBhcnNlckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIFBhcnNlIGEgY29va2llIHN0cmluZyBhcyBzZXQgaW4gYSBTZXQtQ29va2llIEhUVFAgaGVhZGVyIGFuZCByZXR1cm4gYW4gYXNzb2NpYXRpdmUgYXJyYXkgb2YgZGF0YS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb29raWUgQ29va2llIGhlYWRlciB2YWx1ZSB0byBwYXJzZQogICAgICogQHBhcmFtIHN0cmluZyAkaG9zdCAgIEhvc3Qgb2YgYW4gYXNzb2NpYXRlZCByZXF1ZXN0CiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXRoICAgUGF0aCBvZiBhbiBhc3NvY2lhdGVkIHJlcXVlc3QKICAgICAqIEBwYXJhbSBib29sICAgJGRlY29kZSBTZXQgdG8gVFJVRSB0byB1cmxkZWNvZGUgY29va2llIHZhbHVlcwogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXl8Ym9vbCBSZXR1cm5zIEZBTFNFIG9uIGZhaWx1cmUgb3IgcmV0dXJucyBhbiBhcnJheSBvZiBhcnJheXMsIHdpdGggZWFjaCBvZiB0aGUgc3ViIGFycmF5cyBpbmNsdWRpbmc6CiAgICAgKiAgICAgLSBkb21haW4gIChzdHJpbmcpIC0gRG9tYWluIG9mIHRoZSBjb29raWUKICAgICAqICAgICAtIHBhdGggICAgKHN0cmluZykgLSBQYXRoIG9mIHRoZSBjb29raWUKICAgICAqICAgICAtIGNvb2tpZXMgKGFycmF5KSAgLSBBc3NvY2lhdGl2ZSBhcnJheSBvZiBjb29raWUgbmFtZXMgYW5kIHZhbHVlcwogICAgICogICAgIC0gbWF4X2FnZSAoaW50KSAgICAtIExpZmV0aW1lIG9mIHRoZSBjb29raWUgaW4gc2Vjb25kcwogICAgICogICAgIC0gdmVyc2lvbiAoaW50KSAgICAtIFZlcnNpb24gb2YgdGhlIGNvb2tpZSBzcGVjaWZpY2F0aW9uLiBSRkMgMjk2NSBpcyAxCiAgICAgKiAgICAgLSBzZWN1cmUgIChib29sKSAgIC0gV2hldGhlciBvciBub3QgdGhpcyBpcyBhIHNlY3VyZSBjb29raWUKICAgICAqICAgICAtIGRpc2NhcmQgKGJvb2wpICAgLSBXaGV0aGVyIG9yIG5vdCB0aGlzIGlzIGEgZGlzY2FyZGFibGUgY29va2llCiAgICAgKiAgICAgLSBjdXN0b20gKHN0cmluZykgIC0gQ3VzdG9tIGNvb2tpZSBkYXRhIGFycmF5CiAgICAgKiAgICAgLSBjb21tZW50IChzdHJpbmcpIC0gSG93IHRoZSBjb29raWUgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZAogICAgICogICAgIC0gY29tbWVudF91cmwgKHN0ciktIFVSTCB0aGF0IGNvbnRhaW5zIGluZm8gb24gaG93IGl0IHdpbGwgYmUgdXNlZAogICAgICogICAgIC0gcG9ydCAoYXJyYXl8c3RyKSAtIEFycmF5IG9mIHBvcnRzIG9yIG51bGwKICAgICAqICAgICAtIGh0dHBfb25seSAoYm9vbCkgLSBIVFRQIG9ubHkgY29va2llCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwYXJzZUNvb2tpZSgkY29va2llLCAkaG9zdCA9IG51bGwsICRwYXRoID0gbnVsbCwgJGRlY29kZSA9IGZhbHNlKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/Message/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/Message/AbstractMessageParser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGFyc2VyXE1lc3NhZ2U7CgovKioKICogSW1wbGVtZW50cyBzaGFyZWQgbWVzc2FnZSBwYXJzaW5nIGZ1bmN0aW9uYWxpdHkKICovCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0TWVzc2FnZVBhcnNlciBpbXBsZW1lbnRzIE1lc3NhZ2VQYXJzZXJJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBDcmVhdGUgVVJMIHBhcnRzIGZyb20gSFRUUCBtZXNzYWdlIHBhcnRzCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcmVxdWVzdFVybCBBc3NvY2lhdGVkIFVSTAogICAgICogQHBhcmFtIGFycmF5ICAkcGFydHMgICAgICBIVFRQIG1lc3NhZ2UgcGFydHMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRVcmxQYXJ0c0Zyb21NZXNzYWdlKCRyZXF1ZXN0VXJsLCBhcnJheSAkcGFydHMpCiAgICB7CiAgICAgICAgLy8gUGFyc2UgdGhlIFVSTCBpbmZvcm1hdGlvbiBmcm9tIHRoZSBtZXNzYWdlCiAgICAgICAgJHVybFBhcnRzID0gYXJyYXkoCiAgICAgICAgICAgICdwYXRoJyAgID0+ICRyZXF1ZXN0VXJsLAogICAgICAgICAgICAnc2NoZW1lJyA9PiAnaHR0cCcKICAgICAgICApOwoKICAgICAgICAvLyBDaGVjayBmb3IgdGhlIEhvc3QgaGVhZGVyCiAgICAgICAgaWYgKGlzc2V0KCRwYXJ0c1snaGVhZGVycyddWydIb3N0J10pKSB7CiAgICAgICAgICAgICR1cmxQYXJ0c1snaG9zdCddID0gJHBhcnRzWydoZWFkZXJzJ11bJ0hvc3QnXTsKICAgICAgICB9IGVsc2VpZiAoaXNzZXQoJHBhcnRzWydoZWFkZXJzJ11bJ2hvc3QnXSkpIHsKICAgICAgICAgICAgJHVybFBhcnRzWydob3N0J10gPSAkcGFydHNbJ2hlYWRlcnMnXVsnaG9zdCddOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR1cmxQYXJ0c1snaG9zdCddID0gbnVsbDsKICAgICAgICB9CgogICAgICAgIGlmIChmYWxzZSA9PT0gc3RycG9zKCR1cmxQYXJ0c1snaG9zdCddLCAnOicpKSB7CiAgICAgICAgICAgICR1cmxQYXJ0c1sncG9ydCddID0gJyc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGhvc3RQYXJ0cyA9IGV4cGxvZGUoJzonLCAkdXJsUGFydHNbJ2hvc3QnXSk7CiAgICAgICAgICAgICR1cmxQYXJ0c1snaG9zdCddID0gdHJpbSgkaG9zdFBhcnRzWzBdKTsKICAgICAgICAgICAgJHVybFBhcnRzWydwb3J0J10gPSAoaW50KSB0cmltKCRob3N0UGFydHNbMV0pOwogICAgICAgICAgICBpZiAoJHVybFBhcnRzWydwb3J0J10gPT0gNDQzKSB7CiAgICAgICAgICAgICAgICAkdXJsUGFydHNbJ3NjaGVtZSddID0gJ2h0dHBzJzsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gQ2hlY2sgaWYgYSBxdWVyeSBpcyBwcmVzZW50CiAgICAgICAgJHBhdGggPSAkdXJsUGFydHNbJ3BhdGgnXTsKICAgICAgICAkcXBvcyA9IHN0cnBvcygkcGF0aCwgJz8nKTsKICAgICAgICBpZiAoJHFwb3MpIHsKICAgICAgICAgICAgJHVybFBhcnRzWydxdWVyeSddID0gc3Vic3RyKCRwYXRoLCAkcXBvcyArIDEpOwogICAgICAgICAgICAkdXJsUGFydHNbJ3BhdGgnXSA9IHN1YnN0cigkcGF0aCwgMCwgJHFwb3MpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR1cmxQYXJ0c1sncXVlcnknXSA9ICcnOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR1cmxQYXJ0czsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/Message/MessageParser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGFyc2VyXE1lc3NhZ2U7CgovKioKICogRGVmYXVsdCByZXF1ZXN0IGFuZCByZXNwb25zZSBwYXJzZXIgdXNlZCBieSBHdXp6bGUuIE9wdGltaXplZCBmb3Igc3BlZWQuCiAqLwpjbGFzcyBNZXNzYWdlUGFyc2VyIGV4dGVuZHMgQWJzdHJhY3RNZXNzYWdlUGFyc2VyCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBwYXJzZVJlcXVlc3QoJG1lc3NhZ2UpCiAgICB7CiAgICAgICAgaWYgKCEkbWVzc2FnZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICAkcGFydHMgPSAkdGhpcy0+cGFyc2VNZXNzYWdlKCRtZXNzYWdlKTsKCiAgICAgICAgLy8gUGFyc2UgdGhlIHByb3RvY29sIGFuZCBwcm90b2NvbCB2ZXJzaW9uCiAgICAgICAgaWYgKGlzc2V0KCRwYXJ0c1snc3RhcnRfbGluZSddWzJdKSkgewogICAgICAgICAgICAkc3RhcnRQYXJ0cyA9IGV4cGxvZGUoJy8nLCAkcGFydHNbJ3N0YXJ0X2xpbmUnXVsyXSk7CiAgICAgICAgICAgICRwcm90b2NvbCA9IHN0cnRvdXBwZXIoJHN0YXJ0UGFydHNbMF0pOwogICAgICAgICAgICAkdmVyc2lvbiA9IGlzc2V0KCRzdGFydFBhcnRzWzFdKSA/ICRzdGFydFBhcnRzWzFdIDogJzEuMSc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHByb3RvY29sID0gJ0hUVFAnOwogICAgICAgICAgICAkdmVyc2lvbiA9ICcxLjEnOwogICAgICAgIH0KCiAgICAgICAgJHBhcnNlZCA9IGFycmF5KAogICAgICAgICAgICAnbWV0aG9kJyAgID0+IHN0cnRvdXBwZXIoJHBhcnRzWydzdGFydF9saW5lJ11bMF0pLAogICAgICAgICAgICAncHJvdG9jb2wnID0+ICRwcm90b2NvbCwKICAgICAgICAgICAgJ3ZlcnNpb24nICA9PiAkdmVyc2lvbiwKICAgICAgICAgICAgJ2hlYWRlcnMnICA9PiAkcGFydHNbJ2hlYWRlcnMnXSwKICAgICAgICAgICAgJ2JvZHknICAgICA9PiAkcGFydHNbJ2JvZHknXQogICAgICAgICk7CgogICAgICAgICRwYXJzZWRbJ3JlcXVlc3RfdXJsJ10gPSAkdGhpcy0+Z2V0VXJsUGFydHNGcm9tTWVzc2FnZSgkcGFydHNbJ3N0YXJ0X2xpbmUnXVsxXSwgJHBhcnNlZCk7CgogICAgICAgIHJldHVybiAkcGFyc2VkOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBwYXJzZVJlc3BvbnNlKCRtZXNzYWdlKQogICAgewogICAgICAgIGlmICghJG1lc3NhZ2UpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgJHBhcnRzID0gJHRoaXMtPnBhcnNlTWVzc2FnZSgkbWVzc2FnZSk7CiAgICAgICAgbGlzdCgkcHJvdG9jb2wsICR2ZXJzaW9uKSA9IGV4cGxvZGUoJy8nLCB0cmltKCRwYXJ0c1snc3RhcnRfbGluZSddWzBdKSk7CgogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgJ3Byb3RvY29sJyAgICAgID0+ICRwcm90b2NvbCwKICAgICAgICAgICAgJ3ZlcnNpb24nICAgICAgID0+ICR2ZXJzaW9uLAogICAgICAgICAgICAnY29kZScgICAgICAgICAgPT4gJHBhcnRzWydzdGFydF9saW5lJ11bMV0sCiAgICAgICAgICAgICdyZWFzb25fcGhyYXNlJyA9PiBpc3NldCgkcGFydHNbJ3N0YXJ0X2xpbmUnXVsyXSkgPyAkcGFydHNbJ3N0YXJ0X2xpbmUnXVsyXSA6ICcnLAogICAgICAgICAgICAnaGVhZGVycycgICAgICAgPT4gJHBhcnRzWydoZWFkZXJzJ10sCiAgICAgICAgICAgICdib2R5JyAgICAgICAgICA9PiAkcGFydHNbJ2JvZHknXQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBQYXJzZSBhIG1lc3NhZ2UgaW50byBwYXJ0cwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG1lc3NhZ2UgTWVzc2FnZSB0byBwYXJzZQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHBhcnNlTWVzc2FnZSgkbWVzc2FnZSkKICAgIHsKICAgICAgICAkc3RhcnRMaW5lID0gbnVsbDsKICAgICAgICAkaGVhZGVycyA9IGFycmF5KCk7CiAgICAgICAgJGJvZHkgPSAnJzsKCiAgICAgICAgLy8gSXRlcmF0ZSBvdmVyIGVhY2ggbGluZSBpbiB0aGUgbWVzc2FnZSwgYWNjb3VudGluZyBmb3IgbGluZSBlbmRpbmdzCiAgICAgICAgJGxpbmVzID0gcHJlZ19zcGxpdCgnLyhcXHI/XFxuKS8nLCAkbWVzc2FnZSwgLTEsIFBSRUdfU1BMSVRfREVMSU1fQ0FQVFVSRSk7CiAgICAgICAgZm9yICgkaSA9IDAsICR0b3RhbExpbmVzID0gY291bnQoJGxpbmVzKTsgJGkgPCAkdG90YWxMaW5lczsgJGkgKz0gMikgewoKICAgICAgICAgICAgJGxpbmUgPSAkbGluZXNbJGldOwoKICAgICAgICAgICAgLy8gSWYgdHdvIGxpbmUgYnJlYWtzIHdlcmUgZW5jb3VudGVyZWQsIHRoZW4gdGhpcyBpcyB0aGUgZW5kIG9mIGJvZHkKICAgICAgICAgICAgaWYgKGVtcHR5KCRsaW5lKSkgewogICAgICAgICAgICAgICAgaWYgKCRpIDwgJHRvdGFsTGluZXMgLSAxKSB7CiAgICAgICAgICAgICAgICAgICAgJGJvZHkgPSBpbXBsb2RlKCcnLCBhcnJheV9zbGljZSgkbGluZXMsICRpICsgMikpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFBhcnNlIG1lc3NhZ2UgaGVhZGVycwogICAgICAgICAgICBpZiAoISRzdGFydExpbmUpIHsKICAgICAgICAgICAgICAgICRzdGFydExpbmUgPSBleHBsb2RlKCcgJywgJGxpbmUsIDMpOwogICAgICAgICAgICB9IGVsc2VpZiAoc3RycG9zKCRsaW5lLCAnOicpKSB7CiAgICAgICAgICAgICAgICAkcGFydHMgPSBleHBsb2RlKCc6JywgJGxpbmUsIDIpOwogICAgICAgICAgICAgICAgJGtleSA9IHRyaW0oJHBhcnRzWzBdKTsKICAgICAgICAgICAgICAgICR2YWx1ZSA9IGlzc2V0KCRwYXJ0c1sxXSkgPyB0cmltKCRwYXJ0c1sxXSkgOiAnJzsKICAgICAgICAgICAgICAgIGlmICghaXNzZXQoJGhlYWRlcnNbJGtleV0pKSB7CiAgICAgICAgICAgICAgICAgICAgJGhlYWRlcnNbJGtleV0gPSAkdmFsdWU7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoIWlzX2FycmF5KCRoZWFkZXJzWyRrZXldKSkgewogICAgICAgICAgICAgICAgICAgICRoZWFkZXJzWyRrZXldID0gYXJyYXkoJGhlYWRlcnNbJGtleV0sICR2YWx1ZSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRoZWFkZXJzWyRrZXldW10gPSAkdmFsdWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgJ3N0YXJ0X2xpbmUnID0+ICRzdGFydExpbmUsCiAgICAgICAgICAgICdoZWFkZXJzJyAgICA9PiAkaGVhZGVycywKICAgICAgICAgICAgJ2JvZHknICAgICAgID0+ICRib2R5CiAgICAgICAgKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/Message/MessageParserInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGFyc2VyXE1lc3NhZ2U7CgovKioKICogSFRUUCBtZXNzYWdlIHBhcnNlciBpbnRlcmZhY2UgdXNlZCB0byBwYXJzZSBIVFRQIG1lc3NhZ2VzIGludG8gYW4gYXJyYXkKICovCmludGVyZmFjZSBNZXNzYWdlUGFyc2VySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogUGFyc2UgYW4gSFRUUCByZXF1ZXN0IG1lc3NhZ2UgaW50byBhbiBhc3NvY2lhdGl2ZSBhcnJheSBvZiBwYXJ0cy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRtZXNzYWdlIEhUVFAgcmVxdWVzdCB0byBwYXJzZQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXl8Ym9vbCBSZXR1cm5zIGZhbHNlIGlmIHRoZSBtZXNzYWdlIGlzIGludmFsaWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHBhcnNlUmVxdWVzdCgkbWVzc2FnZSk7CgogICAgLyoqCiAgICAgKiBQYXJzZSBhbiBIVFRQIHJlc3BvbnNlIG1lc3NhZ2UgaW50byBhbiBhc3NvY2lhdGl2ZSBhcnJheSBvZiBwYXJ0cy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRtZXNzYWdlIEhUVFAgcmVzcG9uc2UgdG8gcGFyc2UKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5fGJvb2wgUmV0dXJucyBmYWxzZSBpZiB0aGUgbWVzc2FnZSBpcyBpbnZhbGlkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwYXJzZVJlc3BvbnNlKCRtZXNzYWdlKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/Message/PeclHttpMessageParser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGFyc2VyXE1lc3NhZ2U7CgovKioKICogUGVjbCBIVFRQIG1lc3NhZ2UgcGFyc2VyCiAqLwpjbGFzcyBQZWNsSHR0cE1lc3NhZ2VQYXJzZXIgZXh0ZW5kcyBBYnN0cmFjdE1lc3NhZ2VQYXJzZXIKewogICAgcHVibGljIGZ1bmN0aW9uIHBhcnNlUmVxdWVzdCgkbWVzc2FnZSkKICAgIHsKICAgICAgICBpZiAoISRtZXNzYWdlKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgICRwYXJ0cyA9IGh0dHBfcGFyc2VfbWVzc2FnZSgkbWVzc2FnZSk7CgogICAgICAgICRwYXJzZWQgPSBhcnJheSgKICAgICAgICAgICAgJ21ldGhvZCcgICA9PiAkcGFydHMtPnJlcXVlc3RNZXRob2QsCiAgICAgICAgICAgICdwcm90b2NvbCcgPT4gJ0hUVFAnLAogICAgICAgICAgICAndmVyc2lvbicgID0+IG51bWJlcl9mb3JtYXQoJHBhcnRzLT5odHRwVmVyc2lvbiwgMSksCiAgICAgICAgICAgICdoZWFkZXJzJyAgPT4gJHBhcnRzLT5oZWFkZXJzLAogICAgICAgICAgICAnYm9keScgICAgID0+ICRwYXJ0cy0+Ym9keQogICAgICAgICk7CgogICAgICAgICRwYXJzZWRbJ3JlcXVlc3RfdXJsJ10gPSAkdGhpcy0+Z2V0VXJsUGFydHNGcm9tTWVzc2FnZSgkcGFydHMtPnJlcXVlc3RVcmwsICRwYXJzZWQpOwoKICAgICAgICByZXR1cm4gJHBhcnNlZDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcGFyc2VSZXNwb25zZSgkbWVzc2FnZSkKICAgIHsKICAgICAgICBpZiAoISRtZXNzYWdlKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgICRwYXJ0cyA9IGh0dHBfcGFyc2VfbWVzc2FnZSgkbWVzc2FnZSk7CgogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgJ3Byb3RvY29sJyAgICAgID0+ICdIVFRQJywKICAgICAgICAgICAgJ3ZlcnNpb24nICAgICAgID0+IG51bWJlcl9mb3JtYXQoJHBhcnRzLT5odHRwVmVyc2lvbiwgMSksCiAgICAgICAgICAgICdjb2RlJyAgICAgICAgICA9PiAkcGFydHMtPnJlc3BvbnNlQ29kZSwKICAgICAgICAgICAgJ3JlYXNvbl9waHJhc2UnID0+ICRwYXJ0cy0+cmVzcG9uc2VTdGF0dXMsCiAgICAgICAgICAgICdoZWFkZXJzJyAgICAgICA9PiAkcGFydHMtPmhlYWRlcnMsCiAgICAgICAgICAgICdib2R5JyAgICAgICAgICA9PiAkcGFydHMtPmJvZHkKICAgICAgICApOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/ParserRegistry.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGFyc2VyOwoKLyoqCiAqIFJlZ2lzdHJ5IG9mIHBhcnNlcnMgdXNlZCBieSB0aGUgYXBwbGljYXRpb24KICovCmNsYXNzIFBhcnNlclJlZ2lzdHJ5CnsKICAgIC8qKiBAdmFyIFBhcnNlclJlZ2lzdHJ5IFNpbmdsZXRvbiBpbnN0YW5jZSAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkaW5zdGFuY2U7CgogICAgLyoqIEB2YXIgYXJyYXkgQXJyYXkgb2YgcGFyc2VyIGluc3RhbmNlcyAqLwogICAgcHJvdGVjdGVkICRpbnN0YW5jZXMgPSBhcnJheSgpOwoKICAgIC8qKiBAdmFyIGFycmF5IE1hcHBpbmcgb2YgcGFyc2VyIG5hbWUgdG8gZGVmYXVsdCBjbGFzcyAqLwogICAgcHJvdGVjdGVkICRtYXBwaW5nID0gYXJyYXkoCiAgICAgICAgJ21lc3NhZ2UnICAgICAgPT4gJ0d1enpsZVxcUGFyc2VyXFxNZXNzYWdlXFxNZXNzYWdlUGFyc2VyJywKICAgICAgICAnY29va2llJyAgICAgICA9PiAnR3V6emxlXFxQYXJzZXJcXENvb2tpZVxcQ29va2llUGFyc2VyJywKICAgICAgICAndXJsJyAgICAgICAgICA9PiAnR3V6emxlXFxQYXJzZXJcXFVybFxcVXJsUGFyc2VyJywKICAgICAgICAndXJpX3RlbXBsYXRlJyA9PiAnR3V6emxlXFxQYXJzZXJcXFVyaVRlbXBsYXRlXFxVcmlUZW1wbGF0ZScsCiAgICApOwoKICAgIC8qKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0SW5zdGFuY2UoKQogICAgewogICAgICAgIGlmICghc2VsZjo6JGluc3RhbmNlKSB7CiAgICAgICAgICAgIHNlbGY6OiRpbnN0YW5jZSA9IG5ldyBzdGF0aWM7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gc2VsZjo6JGluc3RhbmNlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgICB7CiAgICAgICAgLy8gVXNlIHRoZSBQRUNMIFVSSSB0ZW1wbGF0ZSBwYXJzZXIgaWYgYXZhaWxhYmxlCiAgICAgICAgaWYgKGV4dGVuc2lvbl9sb2FkZWQoJ3VyaV90ZW1wbGF0ZScpKSB7CiAgICAgICAgICAgICR0aGlzLT5tYXBwaW5nWyd1cmlfdGVtcGxhdGUnXSA9ICdHdXp6bGVcXFBhcnNlclxcVXJpVGVtcGxhdGVcXFBlY2xVcmlUZW1wbGF0ZSc7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2V0IGEgcGFyc2VyIGJ5IG5hbWUgZnJvbSBhbiBpbnN0YW5jZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUgTmFtZSBvZiB0aGUgcGFyc2VyIHRvIHJldHJpZXZlCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZHxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYXJzZXIoJG5hbWUpCiAgICB7CiAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+aW5zdGFuY2VzWyRuYW1lXSkpIHsKICAgICAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+bWFwcGluZ1skbmFtZV0pKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfQogICAgICAgICAgICAkY2xhc3MgPSAkdGhpcy0+bWFwcGluZ1skbmFtZV07CiAgICAgICAgICAgICR0aGlzLT5pbnN0YW5jZXNbJG5hbWVdID0gbmV3ICRjbGFzcygpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5pbnN0YW5jZXNbJG5hbWVdOwogICAgfQoKICAgIC8qKgogICAgICogUmVnaXN0ZXIgYSBjdXN0b20gcGFyc2VyIGJ5IG5hbWUgd2l0aCB0aGUgcmVnaXN0ZXIKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lICAgTmFtZSBvciBoYW5kbGUgb2YgdGhlIHBhcnNlciB0byByZWdpc3RlcgogICAgICogQHBhcmFtIG1peGVkICAkcGFyc2VyIEluc3RhbnRpYXRlZCBwYXJzZXIgdG8gcmVnaXN0ZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlZ2lzdGVyUGFyc2VyKCRuYW1lLCAkcGFyc2VyKQogICAgewogICAgICAgICR0aGlzLT5pbnN0YW5jZXNbJG5hbWVdID0gJHBhcnNlcjsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/PeclUriTemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGFyc2VyXFVyaVRlbXBsYXRlOwoKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb247CgovKioKICogRXhwYW5kcyBVUkkgdGVtcGxhdGVzIHVzaW5nIHRoZSB1cmlfdGVtcGxhdGUgcGVjbCBleHRlbnNpb24gKHBlY2wgaW5zdGFsbCB1cmlfdGVtcGxhdGUtYmV0YSkKICoKICogQGxpbmsgaHR0cDovL3BlY2wucGhwLm5ldC9wYWNrYWdlL3VyaV90ZW1wbGF0ZQogKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vaW9zZWIvdXJpLXRlbXBsYXRlCiAqLwpjbGFzcyBQZWNsVXJpVGVtcGxhdGUgaW1wbGVtZW50cyBVcmlUZW1wbGF0ZUludGVyZmFjZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogICAgewogICAgICAgIGlmICghZXh0ZW5zaW9uX2xvYWRlZCgndXJpX3RlbXBsYXRlJykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oJ3VyaV90ZW1wbGF0ZSBQRUNMIGV4dGVuc2lvbiBtdXN0IGJlIGluc3RhbGxlZCB0byB1c2UgUGVjbFVyaVRlbXBsYXRlJyk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBleHBhbmQoJHRlbXBsYXRlLCBhcnJheSAkdmFyaWFibGVzKQogICAgewogICAgICAgIHJldHVybiB1cmlfdGVtcGxhdGUoJHRlbXBsYXRlLCAkdmFyaWFibGVzKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/UriTemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGFyc2VyXFVyaVRlbXBsYXRlOwoKLyoqCiAqIEV4cGFuZHMgVVJJIHRlbXBsYXRlcyB1c2luZyBhbiBhcnJheSBvZiB2YXJpYWJsZXMKICoKICogQGxpbmsgaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtZ3JlZ29yaW8tdXJpdGVtcGxhdGUtMDgKICovCmNsYXNzIFVyaVRlbXBsYXRlIGltcGxlbWVudHMgVXJpVGVtcGxhdGVJbnRlcmZhY2UKewogICAgY29uc3QgREVGQVVMVF9QQVRURVJOID0gJy9ceyhbXlx9XSspXH0vJzsKCiAgICAvKiogQHZhciBzdHJpbmcgVVJJIHRlbXBsYXRlICovCiAgICBwcml2YXRlICR0ZW1wbGF0ZTsKCiAgICAvKiogQHZhciBhcnJheSBWYXJpYWJsZXMgdG8gdXNlIGluIHRoZSB0ZW1wbGF0ZSBleHBhbnNpb24gKi8KICAgIHByaXZhdGUgJHZhcmlhYmxlczsKCiAgICAvKiogQHZhciBzdHJpbmcgUmVnZXggdXNlZCB0byBwYXJzZSBleHByZXNzaW9ucyAqLwogICAgcHJpdmF0ZSAkcmVnZXggPSBzZWxmOjpERUZBVUxUX1BBVFRFUk47CgogICAgLyoqIEB2YXIgYXJyYXkgSGFzaCBmb3IgcXVpY2sgb3BlcmF0b3IgbG9va3VwcyAqLwogICAgcHJpdmF0ZSBzdGF0aWMgJG9wZXJhdG9ySGFzaCA9IGFycmF5KAogICAgICAgICcrJyA9PiB0cnVlLCAnIycgPT4gdHJ1ZSwgJy4nID0+IHRydWUsICcvJyA9PiB0cnVlLCAnOycgPT4gdHJ1ZSwgJz8nID0+IHRydWUsICcmJyA9PiB0cnVlCiAgICApOwoKICAgIC8qKiBAdmFyIGFycmF5IERlbGltaXRlcnMgKi8KICAgIHByaXZhdGUgc3RhdGljICRkZWxpbXMgPSBhcnJheSgKICAgICAgICAnOicsICcvJywgJz8nLCAnIycsICdbJywgJ10nLCAnQCcsICchJywgJyQnLCAnJicsICdcJycsICcoJywgJyknLCAnKicsICcrJywgJywnLCAnOycsICc9JwogICAgKTsKCiAgICAvKiogQHZhciBhcnJheSBQZXJjZW50IGVuY29kZWQgZGVsaW1pdGVycyAqLwogICAgcHJpdmF0ZSBzdGF0aWMgJGRlbGltc1BjdCA9IGFycmF5KAogICAgICAgICclM0EnLCAnJTJGJywgJyUzRicsICclMjMnLCAnJTVCJywgJyU1RCcsICclNDAnLCAnJTIxJywgJyUyNCcsICclMjYnLCAnJTI3JywgJyUyOCcsICclMjknLCAnJTJBJywgJyUyQicsICclMkMnLAogICAgICAgICclM0InLCAnJTNEJwogICAgKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gZXhwYW5kKCR0ZW1wbGF0ZSwgYXJyYXkgJHZhcmlhYmxlcykKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnJlZ2V4ID09IHNlbGY6OkRFRkFVTFRfUEFUVEVSTiAmJiBmYWxzZSA9PT0gc3RycG9zKCR0ZW1wbGF0ZSwgJ3snKSkgewogICAgICAgICAgICByZXR1cm4gJHRlbXBsYXRlOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnRlbXBsYXRlID0gJHRlbXBsYXRlOwogICAgICAgICR0aGlzLT52YXJpYWJsZXMgPSAkdmFyaWFibGVzOwoKICAgICAgICByZXR1cm4gcHJlZ19yZXBsYWNlX2NhbGxiYWNrKCR0aGlzLT5yZWdleCwgYXJyYXkoJHRoaXMsICdleHBhbmRNYXRjaCcpLCAkdGhpcy0+dGVtcGxhdGUpOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSByZWdleCBwYXR0ZW4gdXNlZCB0byBleHBhbmQgVVJJIHRlbXBsYXRlcwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHJlZ2V4UGF0dGVybgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UmVnZXgoJHJlZ2V4UGF0dGVybikKICAgIHsKICAgICAgICAkdGhpcy0+cmVnZXggPSAkcmVnZXhQYXR0ZXJuOwogICAgfQoKICAgIC8qKgogICAgICogUGFyc2UgYW4gZXhwcmVzc2lvbiBpbnRvIHBhcnRzCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZXhwcmVzc2lvbiBFeHByZXNzaW9uIHRvIHBhcnNlCiAgICAgKgogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFuIGFzc29jaWF0aXZlIGFycmF5IG9mIHBhcnRzCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gcGFyc2VFeHByZXNzaW9uKCRleHByZXNzaW9uKQogICAgewogICAgICAgIC8vIENoZWNrIGZvciBVUkkgb3BlcmF0b3JzCiAgICAgICAgJG9wZXJhdG9yID0gJyc7CgogICAgICAgIGlmIChpc3NldChzZWxmOjokb3BlcmF0b3JIYXNoWyRleHByZXNzaW9uWzBdXSkpIHsKICAgICAgICAgICAgJG9wZXJhdG9yID0gJGV4cHJlc3Npb25bMF07CiAgICAgICAgICAgICRleHByZXNzaW9uID0gc3Vic3RyKCRleHByZXNzaW9uLCAxKTsKICAgICAgICB9CgogICAgICAgICR2YWx1ZXMgPSBleHBsb2RlKCcsJywgJGV4cHJlc3Npb24pOwogICAgICAgIGZvcmVhY2ggKCR2YWx1ZXMgYXMgJiR2YWx1ZSkgewogICAgICAgICAgICAkdmFsdWUgPSB0cmltKCR2YWx1ZSk7CiAgICAgICAgICAgICR2YXJzcGVjID0gYXJyYXkoKTsKICAgICAgICAgICAgJHN1YnN0clBvcyA9IHN0cnBvcygkdmFsdWUsICc6Jyk7CiAgICAgICAgICAgIGlmICgkc3Vic3RyUG9zKSB7CiAgICAgICAgICAgICAgICAkdmFyc3BlY1sndmFsdWUnXSA9IHN1YnN0cigkdmFsdWUsIDAsICRzdWJzdHJQb3MpOwogICAgICAgICAgICAgICAgJHZhcnNwZWNbJ21vZGlmaWVyJ10gPSAnOic7CiAgICAgICAgICAgICAgICAkdmFyc3BlY1sncG9zaXRpb24nXSA9IChpbnQpIHN1YnN0cigkdmFsdWUsICRzdWJzdHJQb3MgKyAxKTsKICAgICAgICAgICAgfSBlbHNlaWYgKHN1YnN0cigkdmFsdWUsIC0xKSA9PSAnKicpIHsKICAgICAgICAgICAgICAgICR2YXJzcGVjWydtb2RpZmllciddID0gJyonOwogICAgICAgICAgICAgICAgJHZhcnNwZWNbJ3ZhbHVlJ10gPSBzdWJzdHIoJHZhbHVlLCAwLCAtMSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkdmFyc3BlY1sndmFsdWUnXSA9IChzdHJpbmcpICR2YWx1ZTsKICAgICAgICAgICAgICAgICR2YXJzcGVjWydtb2RpZmllciddID0gJyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHZhbHVlID0gJHZhcnNwZWM7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRvcicgPT4gJG9wZXJhdG9yLAogICAgICAgICAgICAndmFsdWVzJyAgID0+ICR2YWx1ZXMKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogUHJvY2VzcyBhbiBleHBhbnNpb24KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJG1hdGNoZXMgTWF0Y2hlcyBtZXQgaW4gdGhlIHByZWdfcmVwbGFjZV9jYWxsYmFjawogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIFJldHVybnMgdGhlIHJlcGxhY2VtZW50IHN0cmluZwogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGV4cGFuZE1hdGNoKGFycmF5ICRtYXRjaGVzKQogICAgewogICAgICAgIHN0YXRpYyAkcmZjMTczOHRvMzk4NiA9IGFycmF5KAogICAgICAgICAgICAnKycgICA9PiAnJTIwJywKICAgICAgICAgICAgJyU3ZScgPT4gJ34nCiAgICAgICAgKTsKCiAgICAgICAgJHBhcnNlZCA9IHNlbGY6OnBhcnNlRXhwcmVzc2lvbigkbWF0Y2hlc1sxXSk7CiAgICAgICAgJHJlcGxhY2VtZW50cyA9IGFycmF5KCk7CgogICAgICAgICRwcmVmaXggPSAkcGFyc2VkWydvcGVyYXRvciddOwogICAgICAgICRqb2luZXIgPSAkcGFyc2VkWydvcGVyYXRvciddOwogICAgICAgICR1c2VRdWVyeVN0cmluZyA9IGZhbHNlOwogICAgICAgIGlmICgkcGFyc2VkWydvcGVyYXRvciddID09ICc/JykgewogICAgICAgICAgICAkam9pbmVyID0gJyYnOwogICAgICAgICAgICAkdXNlUXVlcnlTdHJpbmcgPSB0cnVlOwogICAgICAgIH0gZWxzZWlmICgkcGFyc2VkWydvcGVyYXRvciddID09ICcmJykgewogICAgICAgICAgICAkdXNlUXVlcnlTdHJpbmcgPSB0cnVlOwogICAgICAgIH0gZWxzZWlmICgkcGFyc2VkWydvcGVyYXRvciddID09ICcjJykgewogICAgICAgICAgICAkam9pbmVyID0gJywnOwogICAgICAgIH0gZWxzZWlmICgkcGFyc2VkWydvcGVyYXRvciddID09ICc7JykgewogICAgICAgICAgICAkdXNlUXVlcnlTdHJpbmcgPSB0cnVlOwogICAgICAgIH0gZWxzZWlmICgkcGFyc2VkWydvcGVyYXRvciddID09ICcnIHx8ICRwYXJzZWRbJ29wZXJhdG9yJ10gPT0gJysnKSB7CiAgICAgICAgICAgICRqb2luZXIgPSAnLCc7CiAgICAgICAgICAgICRwcmVmaXggPSAnJzsKICAgICAgICB9CgogICAgICAgIGZvcmVhY2ggKCRwYXJzZWRbJ3ZhbHVlcyddIGFzICR2YWx1ZSkgewoKICAgICAgICAgICAgaWYgKCFhcnJheV9rZXlfZXhpc3RzKCR2YWx1ZVsndmFsdWUnXSwgJHRoaXMtPnZhcmlhYmxlcykgfHwgJHRoaXMtPnZhcmlhYmxlc1skdmFsdWVbJ3ZhbHVlJ11dID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHZhcmlhYmxlID0gJHRoaXMtPnZhcmlhYmxlc1skdmFsdWVbJ3ZhbHVlJ11dOwogICAgICAgICAgICAkYWN0dWFsbHlVc2VRdWVyeVN0cmluZyA9ICR1c2VRdWVyeVN0cmluZzsKICAgICAgICAgICAgJGV4cGFuZGVkID0gJyc7CgogICAgICAgICAgICBpZiAoaXNfYXJyYXkoJHZhcmlhYmxlKSkgewoKICAgICAgICAgICAgICAgICRpc0Fzc29jID0gJHRoaXMtPmlzQXNzb2MoJHZhcmlhYmxlKTsKICAgICAgICAgICAgICAgICRrdnAgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgZm9yZWFjaCAoJHZhcmlhYmxlIGFzICRrZXkgPT4gJHZhcikgewoKICAgICAgICAgICAgICAgICAgICBpZiAoJGlzQXNzb2MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGtleSA9IHJhd3VybGVuY29kZSgka2V5KTsKICAgICAgICAgICAgICAgICAgICAgICAgJGlzTmVzdGVkQXJyYXkgPSBpc19hcnJheSgkdmFyKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAkaXNOZXN0ZWRBcnJheSA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWYgKCEkaXNOZXN0ZWRBcnJheSkgewogICAgICAgICAgICAgICAgICAgICAgICAkdmFyID0gcmF3dXJsZW5jb2RlKCR2YXIpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHBhcnNlZFsnb3BlcmF0b3InXSA9PSAnKycgfHwgJHBhcnNlZFsnb3BlcmF0b3InXSA9PSAnIycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YXIgPSAkdGhpcy0+ZGVjb2RlUmVzZXJ2ZWQoJHZhcik7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGlmICgkdmFsdWVbJ21vZGlmaWVyJ10gPT0gJyonKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkaXNBc3NvYykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRpc05lc3RlZEFycmF5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTmVzdGVkIGFycmF5cyBtdXN0IGFsbG93IGZvciBkZWVwbHkgbmVzdGVkIHN0cnVjdHVyZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdmFyID0gc3RydHIoaHR0cF9idWlsZF9xdWVyeShhcnJheSgka2V5ID0+ICR2YXIpKSwgJHJmYzE3Mzh0bzM5ODYpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdmFyID0gJGtleSAuICc9JyAuICR2YXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZWlmICgka2V5ID4gMCAmJiAkYWN0dWFsbHlVc2VRdWVyeVN0cmluZykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZhciA9ICR2YWx1ZVsndmFsdWUnXSAuICc9JyAuICR2YXI7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRrdnBbJGtleV0gPSAkdmFyOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChlbXB0eSgkdmFyaWFibGUpKSB7CiAgICAgICAgICAgICAgICAgICAgJGFjdHVhbGx5VXNlUXVlcnlTdHJpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkdmFsdWVbJ21vZGlmaWVyJ10gPT0gJyonKSB7CiAgICAgICAgICAgICAgICAgICAgJGV4cGFuZGVkID0gaW1wbG9kZSgkam9pbmVyLCAka3ZwKTsKICAgICAgICAgICAgICAgICAgICBpZiAoJGlzQXNzb2MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gRG9uJ3QgcHJlcGVuZCB0aGUgdmFsdWUgbmFtZSB3aGVuIHVzaW5nIHRoZSBleHBsb2RlIG1vZGlmaWVyIHdpdGggYW4gYXNzb2NpYXRpdmUgYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgJGFjdHVhbGx5VXNlUXVlcnlTdHJpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGlmICgkaXNBc3NvYykgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBXaGVuIGFuIGFzc29jaWF0aXZlIGFycmF5IGlzIGVuY291bnRlcmVkIGFuZCB0aGUgZXhwbG9kZSBtb2RpZmllciBpcyBub3Qgc2V0LCB0aGVuIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAvLyByZXN1bHQgbXVzdCBiZSBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGtleXMgZm9sbG93ZWQgYnkgdGhlaXIgcmVzcGVjdGl2ZSB2YWx1ZXMuCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRrdnAgYXMgJGsgPT4gJiR2KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdiA9ICRrIC4gJywnIC4gJHY7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgJGV4cGFuZGVkID0gaW1wbG9kZSgnLCcsICRrdnApOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlmICgkdmFsdWVbJ21vZGlmaWVyJ10gPT0gJzonKSB7CiAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlID0gc3Vic3RyKCR2YXJpYWJsZSwgMCwgJHZhbHVlWydwb3NpdGlvbiddKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRleHBhbmRlZCA9IHJhd3VybGVuY29kZSgkdmFyaWFibGUpOwogICAgICAgICAgICAgICAgaWYgKCRwYXJzZWRbJ29wZXJhdG9yJ10gPT0gJysnIHx8ICRwYXJzZWRbJ29wZXJhdG9yJ10gPT0gJyMnKSB7CiAgICAgICAgICAgICAgICAgICAgJGV4cGFuZGVkID0gJHRoaXMtPmRlY29kZVJlc2VydmVkKCRleHBhbmRlZCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgkYWN0dWFsbHlVc2VRdWVyeVN0cmluZykgewogICAgICAgICAgICAgICAgaWYgKCEkZXhwYW5kZWQgJiYgJGpvaW5lciAhPSAnJicpIHsKICAgICAgICAgICAgICAgICAgICAkZXhwYW5kZWQgPSAkdmFsdWVbJ3ZhbHVlJ107CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRleHBhbmRlZCA9ICR2YWx1ZVsndmFsdWUnXSAuICc9JyAuICRleHBhbmRlZDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHJlcGxhY2VtZW50c1tdID0gJGV4cGFuZGVkOwogICAgICAgIH0KCiAgICAgICAgJHJldCA9IGltcGxvZGUoJGpvaW5lciwgJHJlcGxhY2VtZW50cyk7CiAgICAgICAgaWYgKCRyZXQgJiYgJHByZWZpeCkgewogICAgICAgICAgICByZXR1cm4gJHByZWZpeCAuICRyZXQ7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJldDsKICAgIH0KCiAgICAvKioKICAgICAqIERldGVybWluZXMgaWYgYW4gYXJyYXkgaXMgYXNzb2NpYXRpdmUKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGFycmF5IEFycmF5IHRvIGNoZWNrCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gaXNBc3NvYyhhcnJheSAkYXJyYXkpCiAgICB7CiAgICAgICAgcmV0dXJuIChib29sKSBjb3VudChhcnJheV9maWx0ZXIoYXJyYXlfa2V5cygkYXJyYXkpLCAnaXNfc3RyaW5nJykpOwogICAgfQoKICAgIC8qKgogICAgICogUmVtb3ZlcyBwZXJjZW50IGVuY29kaW5nIG9uIHJlc2VydmVkIGNoYXJhY3RlcnMgKHVzZWQgd2l0aCArIGFuZCAjIG1vZGlmaWVycykKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzdHJpbmcgU3RyaW5nIHRvIGZpeAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gZGVjb2RlUmVzZXJ2ZWQoJHN0cmluZykKICAgIHsKICAgICAgICByZXR1cm4gc3RyX3JlcGxhY2Uoc2VsZjo6JGRlbGltc1BjdCwgc2VsZjo6JGRlbGltcywgJHN0cmluZyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/UriTemplateInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGFyc2VyXFVyaVRlbXBsYXRlOwoKLyoqCiAqIEV4cGFuZHMgVVJJIHRlbXBsYXRlcyB1c2luZyBhbiBhcnJheSBvZiB2YXJpYWJsZXMKICoKICogQGxpbmsgaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjU3MAogKi8KaW50ZXJmYWNlIFVyaVRlbXBsYXRlSW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogRXhwYW5kIHRoZSBVUkkgdGVtcGxhdGUgdXNpbmcgdGhlIHN1cHBsaWVkIHZhcmlhYmxlcwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHRlbXBsYXRlICBVUkkgVGVtcGxhdGUgdG8gZXhwYW5kCiAgICAgKiBAcGFyYW0gYXJyYXkgICR2YXJpYWJsZXMgVmFyaWFibGVzIHRvIHVzZSB3aXRoIHRoZSBleHBhbnNpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBSZXR1cm5zIHRoZSBleHBhbmRlZCB0ZW1wbGF0ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZXhwYW5kKCR0ZW1wbGF0ZSwgYXJyYXkgJHZhcmlhYmxlcyk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/Url/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/Url/UrlParser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGFyc2VyXFVybDsKCnVzZSBHdXp6bGVcQ29tbW9uXFZlcnNpb247CgovKioKICogUGFyc2VzIFVSTHMgaW50byBwYXJ0cyB1c2luZyBQSFAncyBidWlsdC1pbiBwYXJzZV91cmwoKSBmdW5jdGlvbgogKiBAZGVwcmVjYXRlZCBKdXN0IHVzZSBwYXJzZV91cmwuIFVURi04IGNoYXJhY3RlcnMgc2hvdWxkIGJlIHBlcmNlbnQgZW5jb2RlZCBhbnl3YXlzLgogKiBAY29kZUNvdmVyYWdlSWdub3JlCiAqLwpjbGFzcyBVcmxQYXJzZXIgaW1wbGVtZW50cyBVcmxQYXJzZXJJbnRlcmZhY2UKewogICAgLyoqIEB2YXIgYm9vbCBXaGV0aGVyIG9yIG5vdCB0byB3b3JrIHdpdGggVVRGLTggc3RyaW5ncyAqLwogICAgcHJvdGVjdGVkICR1dGY4ID0gZmFsc2U7CgogICAgLyoqCiAgICAgKiBTZXQgd2hldGhlciBvciBub3QgdG8gYXR0ZW1wdCB0byBoYW5kbGUgVVRGLTggc3RyaW5ncyAoc3RpbGwgV0lQKQogICAgICoKICAgICAqIEBwYXJhbSBib29sICR1dGY4IFNldCB0byBUUlVFIHRvIGhhbmRsZSBVVEYgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVdGY4U3VwcG9ydCgkdXRmOCkKICAgIHsKICAgICAgICAkdGhpcy0+dXRmOCA9ICR1dGY4OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBwYXJzZVVybCgkdXJsKQogICAgewogICAgICAgIFZlcnNpb246Ondhcm4oX19DTEFTU19fIC4gJyBpcyBkZXByZWNhdGVkLiBKdXN0IHVzZSBwYXJzZV91cmwoKScpOwoKICAgICAgICBzdGF0aWMgJGRlZmF1bHRzID0gYXJyYXkoJ3NjaGVtZScgPT4gbnVsbCwgJ2hvc3QnID0+IG51bGwsICdwYXRoJyA9PiBudWxsLCAncG9ydCcgPT4gbnVsbCwgJ3F1ZXJ5JyA9PiBudWxsLAogICAgICAgICAgICAndXNlcicgPT4gbnVsbCwgJ3Bhc3MnID0+IG51bGwsICdmcmFnbWVudCcgPT4gbnVsbCk7CgogICAgICAgICRwYXJ0cyA9IHBhcnNlX3VybCgkdXJsKTsKCiAgICAgICAgLy8gTmVlZCB0byBoYW5kbGUgcXVlcnkgcGFyc2luZyBzcGVjaWFsbHkgZm9yIFVURi04IHJlcXVpcmVtZW50cwogICAgICAgIGlmICgkdGhpcy0+dXRmOCAmJiBpc3NldCgkcGFydHNbJ3F1ZXJ5J10pKSB7CiAgICAgICAgICAgICRxdWVyeVBvcyA9IHN0cnBvcygkdXJsLCAnPycpOwogICAgICAgICAgICBpZiAoaXNzZXQoJHBhcnRzWydmcmFnbWVudCddKSkgewogICAgICAgICAgICAgICAgJHBhcnRzWydxdWVyeSddID0gc3Vic3RyKCR1cmwsICRxdWVyeVBvcyArIDEsIHN0cnBvcygkdXJsLCAnIycpIC0gJHF1ZXJ5UG9zIC0gMSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkcGFydHNbJ3F1ZXJ5J10gPSBzdWJzdHIoJHVybCwgJHF1ZXJ5UG9zICsgMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkcGFydHMgKyAkZGVmYXVsdHM7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Parser/Url/UrlParserInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGFyc2VyXFVybDsKCi8qKgogKiBVUkwgcGFyc2VyIGludGVyZmFjZQogKi8KaW50ZXJmYWNlIFVybFBhcnNlckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIFBhcnNlIGEgVVJMIHVzaW5nIHNwZWNpYWwgaGFuZGxpbmcgZm9yIGEgc3Vic2V0IG9mIFVURi04IGNoYXJhY3RlcnMgaW4gdGhlIHF1ZXJ5IHN0cmluZyBpZiBuZWVkZWQuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXJsIFVSTCB0byBwYXJzZQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkgUmV0dXJucyBhbiBhcnJheSBpZGVudGljYWwgdG8gd2hhdCBpcyByZXR1cm5lZCBmcm9tIHBhcnNlX3VybCgpLiAgV2hlbiBhbiBhcnJheSBrZXkgaXMgbWlzc2luZyBmcm9tCiAgICAgKiAgICAgICAgICAgICAgIHRoaXMgYXJyYXksIHlvdSBtdXN0IGZpbGwgaXQgaW4gd2l0aCBOVUxMIHRvIGF2b2lkIHdhcm5pbmdzIGluIGNhbGxpbmcgY29kZS4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHBhcnNlVXJsKCR1cmwpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Async/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Async/AsyncPlugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEFzeW5jOwoKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEN1cmxFeGNlcHRpb247CnVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlOwoKLyoqCiAqIFNlbmRzIHJlcXVlc3RzIGJ1dCBkb2VzIG5vdCB3YWl0IGZvciB0aGUgcmVzcG9uc2UKICovCmNsYXNzIEFzeW5jUGx1Z2luIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAncmVxdWVzdC5iZWZvcmVfc2VuZCcgICAgPT4gJ29uQmVmb3JlU2VuZCcsCiAgICAgICAgICAgICdyZXF1ZXN0LmV4Y2VwdGlvbicgICAgICA9PiAnb25SZXF1ZXN0VGltZW91dCcsCiAgICAgICAgICAgICdyZXF1ZXN0LnNlbnQnICAgICAgICAgICA9PiAnb25SZXF1ZXN0U2VudCcsCiAgICAgICAgICAgICdjdXJsLmNhbGxiYWNrLnByb2dyZXNzJyA9PiAnb25DdXJsUHJvZ3Jlc3MnCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEV2ZW50IHVzZWQgdG8gZW5zdXJlIHRoYXQgcHJvZ3Jlc3MgY2FsbGJhY2sgYXJlIGVtaXR0ZWQgZnJvbSB0aGUgY3VybCBoYW5kbGUncyByZXF1ZXN0IG1lZGlhdG9yLgogICAgICoKICAgICAqIEBwYXJhbSBFdmVudCAkZXZlbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9uQmVmb3JlU2VuZChFdmVudCAkZXZlbnQpCiAgICB7CiAgICAgICAgLy8gRW5zdXJlIHRoYXQgcHJvZ3Jlc3MgY2FsbGJhY2tzIGFyZSBkaXNwYXRjaGVkCiAgICAgICAgJGV2ZW50WydyZXF1ZXN0J10tPmdldEN1cmxPcHRpb25zKCktPnNldCgncHJvZ3Jlc3MnLCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIGN1cmwgcHJvZ3Jlc3MgZnVuY3Rpb24gaXMgY2FsbGVkLiBXaGVuIHRoZSBhbW91bnQgb2YgZGF0YSB1cGxvYWRlZCA9PSB0aGUgYW1vdW50IG9mIGRhdGEgdG8KICAgICAqIHVwbG9hZCBPUiBhbnkgYnl0ZXMgaGF2ZSBiZWVuIGRvd25sb2FkZWQsIHRoZW4gdGltZSB0aGUgcmVxdWVzdCBvdXQgYWZ0ZXIgMW1zIGJlY2F1c2Ugd2UncmUgZG9uZSB3aXRoCiAgICAgKiB0cmFuc21pdHRpbmcgdGhlIHJlcXVlc3QsIGFuZCB0ZWxsIGN1cmwgbm90IGRvd25sb2FkIGEgYm9keS4KICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvbkN1cmxQcm9ncmVzcyhFdmVudCAkZXZlbnQpCiAgICB7CiAgICAgICAgaWYgKCRldmVudFsnaGFuZGxlJ10gJiYKICAgICAgICAgICAgKCRldmVudFsnZG93bmxvYWRlZCddIHx8IChpc3NldCgkZXZlbnRbJ3VwbG9hZGVkJ10pICYmICRldmVudFsndXBsb2FkX3NpemUnXSA9PT0gJGV2ZW50Wyd1cGxvYWRlZCddKSkKICAgICAgICApIHsKICAgICAgICAgICAgLy8gVGltZW91dCBhZnRlciAxbXMKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGV2ZW50WydoYW5kbGUnXSwgQ1VSTE9QVF9USU1FT1VUX01TLCAxKTsKICAgICAgICAgICAgLy8gRXZlbiBpZiB0aGUgcmVzcG9uc2UgaXMgcXVpY2ssIHRlbGwgY3VybCBub3QgdG8gZG93bmxvYWQgdGhlIGJvZHkuCiAgICAgICAgICAgIC8vIC0gTm90ZSB0aGF0IHdlIGNhbiBvbmx5IHBlcmZvcm0gdGhpcyBzaG9ydGN1dCBpZiB0aGUgcmVxdWVzdCB0cmFuc21pdHRlZCBhIGJvZHkgc28gYXMgdG8gZW5zdXJlIHRoYXQgdGhlCiAgICAgICAgICAgIC8vICAgcmVxdWVzdCBtZXRob2QgaXMgbm90IGNvbnZlcnRlZCB0byBhIEhFQUQgcmVxdWVzdCBiZWZvcmUgdGhlIHJlcXVlc3Qgd2FzIHNlbnQgdmlhIGN1cmwuCiAgICAgICAgICAgIGlmICgkZXZlbnRbJ3VwbG9hZGVkJ10pIHsKICAgICAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRldmVudFsnaGFuZGxlJ10sIENVUkxPUFRfTk9CT0RZLCB0cnVlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIGN1cmwgZXhjZXB0aW9uIG9jY3Vycy4gSWdub3JlIHRoZSBleGNlcHRpb24gYW5kIHNldCBhIG1vY2sgcmVzcG9uc2UuCiAgICAgKgogICAgICogQHBhcmFtIEV2ZW50ICRldmVudAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb25SZXF1ZXN0VGltZW91dChFdmVudCAkZXZlbnQpCiAgICB7CiAgICAgICAgaWYgKCRldmVudFsnZXhjZXB0aW9uJ10gaW5zdGFuY2VvZiBDdXJsRXhjZXB0aW9uKSB7CiAgICAgICAgICAgICRldmVudFsncmVxdWVzdCddLT5zZXRSZXNwb25zZShuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgKICAgICAgICAgICAgICAgICdYLUd1enpsZS1Bc3luYycgPT4gJ0RpZCBub3Qgd2FpdCBmb3IgdGhlIHJlc3BvbnNlJwogICAgICAgICAgICApKSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgcmVxdWVzdCBjb21wbGV0ZXMgYmVjYXVzZSBpdCB0b29rIGxlc3MgdGhhbiAxbXMuIEFkZCBhbiBYLUd1enpsZS1Bc3luYyBoZWFkZXIgdG8gbm90aWZ5IHRoZQogICAgICogY2FsbGVyIHRoYXQgdGhlcmUgaXMgbm8gYm9keSBpbiB0aGUgbWVzc2FnZS4KICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvblJlcXVlc3RTZW50KEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICAvLyBMZXQgdGhlIGNhbGxlciBrbm93IHRoaXMgd2FzIG1lYW50IHRvIGJlIGFzeW5jCiAgICAgICAgJGV2ZW50WydyZXF1ZXN0J10tPmdldFJlc3BvbnNlKCktPnNldEhlYWRlcignWC1HdXp6bGUtQXN5bmMnLCAnRGlkIG5vdCB3YWl0IGZvciB0aGUgcmVzcG9uc2UnKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Async/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3BsdWdpbi1hc3luYyIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3V6emxlIGFzeW5jIHJlcXVlc3QgcGx1Z2luIiwKICAgICJob21lcGFnZSI6ICJodHRwOi8vZ3V6emxlcGhwLm9yZy8iLAogICAgImtleXdvcmRzIjogWyJwbHVnaW4iLCAiZ3V6emxlIl0sCiAgICAibGljZW5zZSI6ICJNSVQiLAogICAgImF1dGhvcnMiOiBbCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJNaWNoYWVsIERvd2xpbmciLAogICAgICAgICAgICAiZW1haWwiOiAibXRkb3dsaW5nQGdtYWlsLmNvbSIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRkb3dsaW5nIgogICAgICAgIH0KICAgIF0sCiAgICAicmVxdWlyZSI6IHsKICAgICAgICAicGhwIjogIj49NS4zLjIiLAogICAgICAgICJndXp6bGUvaHR0cCI6ICJzZWxmLnZlcnNpb24iCiAgICB9LAogICAgImF1dG9sb2FkIjogewogICAgICAgICJwc3ItMCI6IHsgIkd1enpsZVxcUGx1Z2luXFxBc3luYyI6ICIiIH0KICAgIH0sCiAgICAidGFyZ2V0LWRpciI6ICJHdXp6bGUvUGx1Z2luL0FzeW5jIiwKICAgICJleHRyYSI6IHsKICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAiZGV2LW1hc3RlciI6ICIzLjctZGV2IgogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractBackoffStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxIdHRwRXhjZXB0aW9uOwoKLyoqCiAqIEFic3RyYWN0IGJhY2tvZmYgc3RyYXRlZ3kgdGhhdCBhbGxvd3MgZm9yIGEgY2hhaW4gb2YgcmVzcG9uc2liaWxpdHkKICovCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0QmFja29mZlN0cmF0ZWd5IGltcGxlbWVudHMgQmFja29mZlN0cmF0ZWd5SW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIEFic3RyYWN0QmFja29mZlN0cmF0ZWd5IE5leHQgc3RyYXRlZ3kgaW4gdGhlIGNoYWluICovCiAgICBwcm90ZWN0ZWQgJG5leHQ7CgogICAgLyoqIEBwYXJhbSBBYnN0cmFjdEJhY2tvZmZTdHJhdGVneSAkbmV4dCBOZXh0IHN0cmF0ZWd5IGluIHRoZSBjaGFpbiAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldE5leHQoQWJzdHJhY3RCYWNrb2ZmU3RyYXRlZ3kgJG5leHQpCiAgICB7CiAgICAgICAgJHRoaXMtPm5leHQgPSAkbmV4dDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbmV4dCBiYWNrb2ZmIHN0cmF0ZWd5IGluIHRoZSBjaGFpbgogICAgICoKICAgICAqIEByZXR1cm4gQWJzdHJhY3RCYWNrb2ZmU3RyYXRlZ3l8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TmV4dCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5uZXh0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRCYWNrb2ZmUGVyaW9kKAogICAgICAgICRyZXRyaWVzLAogICAgICAgIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsCiAgICAgICAgUmVzcG9uc2UgJHJlc3BvbnNlID0gbnVsbCwKICAgICAgICBIdHRwRXhjZXB0aW9uICRlID0gbnVsbAogICAgKSB7CiAgICAgICAgJGRlbGF5ID0gJHRoaXMtPmdldERlbGF5KCRyZXRyaWVzLCAkcmVxdWVzdCwgJHJlc3BvbnNlLCAkZSk7CiAgICAgICAgaWYgKCRkZWxheSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgLy8gVGhlIHN0cmF0ZWd5IGtub3dzIHRoYXQgdGhpcyBtdXN0IG5vdCBiZSByZXRyaWVkCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGVsc2VpZiAoJGRlbGF5ID09PSBudWxsKSB7CiAgICAgICAgICAgIC8vIElmIHRoZSBzdHJhdGVneSBpcyBkZWZlcnJpbmcgYSBkZWNpc2lvbiBhbmQgdGhlIG5leHQgc3RyYXRlZ3kgd2lsbCBub3QgbWFrZSBhIGRlY2lzaW9uIHRoZW4gcmV0dXJuIGZhbHNlCiAgICAgICAgICAgIHJldHVybiAhJHRoaXMtPm5leHQgfHwgISR0aGlzLT5uZXh0LT5tYWtlc0RlY2lzaW9uKCkKICAgICAgICAgICAgICAgID8gZmFsc2UKICAgICAgICAgICAgICAgIDogJHRoaXMtPm5leHQtPmdldEJhY2tvZmZQZXJpb2QoJHJldHJpZXMsICRyZXF1ZXN0LCAkcmVzcG9uc2UsICRlKTsKICAgICAgICB9IGVsc2VpZiAoJGRlbGF5ID09PSB0cnVlKSB7CiAgICAgICAgICAgIC8vIGlmIHRoZSBzdHJhdGVneSBrbm93cyB0aGF0IGl0IG11c3QgcmV0cnkgYnV0IGlzIGRlZmVycmluZyB0byB0aGUgbmV4dCB0byBkZXRlcm1pbmUgdGhlIGRlbGF5CiAgICAgICAgICAgIGlmICghJHRoaXMtPm5leHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJG5leHQgPSAkdGhpcy0+bmV4dDsKICAgICAgICAgICAgICAgIHdoaWxlICgkbmV4dC0+bWFrZXNEZWNpc2lvbigpICYmICRuZXh0LT5nZXROZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAkbmV4dCA9ICRuZXh0LT5nZXROZXh0KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gISRuZXh0LT5tYWtlc0RlY2lzaW9uKCkgPyAkbmV4dC0+Z2V0QmFja29mZlBlcmlvZCgkcmV0cmllcywgJHJlcXVlc3QsICRyZXNwb25zZSwgJGUpIDogMDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiAkZGVsYXk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgdGhlIHN0cmF0ZWd5IGRvZXMgZmlsdGVyaW5nIGFuZCBtYWtlcyBkZWNpc2lvbnMgb24gd2hldGhlciBvciBub3QgdG8gcmV0cnkuCiAgICAgKgogICAgICogU3RyYXRlZ2llcyB0aGF0IHJldHVybiBmYWxzZSB3aWxsIG5ldmVyIHJldHJ5IGlmIGFsbCBvZiB0aGUgcHJldmlvdXMgc3RyYXRlZ2llcyBpbiBhIGNoYWluIGRlZmVyIG9uIGEgYmFja29mZgogICAgICogZGVjaXNpb24uCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBtYWtlc0RlY2lzaW9uKCk7CgogICAgLyoqCiAgICAgKiBJbXBsZW1lbnQgdGhlIGNvbmNyZXRlIHN0cmF0ZWd5CiAgICAgKgogICAgICogQHBhcmFtIGludCAgICAgICAgICAgICAgJHJldHJpZXMgIE51bWJlciBvZiByZXRyaWVzIG9mIHRoZSByZXF1ZXN0CiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCAgUmVxdWVzdCB0aGF0IHdhcyBzZW50CiAgICAgKiBAcGFyYW0gUmVzcG9uc2UgICAgICAgICAkcmVzcG9uc2UgUmVzcG9uc2UgdGhhdCB3YXMgcmVjZWl2ZWQuIE5vdGUgdGhhdCB0aGVyZSBtYXkgbm90IGJlIGEgcmVzcG9uc2UKICAgICAqIEBwYXJhbSBIdHRwRXhjZXB0aW9uICAgICRlICAgICAgICBFeGNlcHRpb24gdGhhdCB3YXMgZW5jb3VudGVyZWQgaWYgYW55CiAgICAgKgogICAgICogQHJldHVybiBib29sfGludHxudWxsIFJldHVybnMgZmFsc2UgdG8gbm90IHJldHJ5IG9yIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyB0byBkZWxheSBiZXR3ZWVuIHJldHJpZXMuIFJldHVybiB0cnVlCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgb3IgbnVsbCB0byBkZWZlciB0byB0aGUgbmV4dCBzdHJhdGVneSBpZiBhdmFpbGFibGUsIGFuZCBpZiBub3QsIHJldHVybiAwLgogICAgICovCiAgICBhYnN0cmFjdCBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RGVsYXkoCiAgICAgICAgJHJldHJpZXMsCiAgICAgICAgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwKICAgICAgICBSZXNwb25zZSAkcmVzcG9uc2UgPSBudWxsLAogICAgICAgIEh0dHBFeGNlcHRpb24gJGUgPSBudWxsCiAgICApOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractErrorCodeBackoffStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmY7CgovKioKICogU3RyYXRlZ3kgdXNlZCB0byByZXRyeSB3aGVuIGNlcnRhaW4gZXJyb3IgY29kZXMgYXJlIGVuY291bnRlcmVkCiAqLwphYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEVycm9yQ29kZUJhY2tvZmZTdHJhdGVneSBleHRlbmRzIEFic3RyYWN0QmFja29mZlN0cmF0ZWd5CnsKICAgIC8qKiBAdmFyIGFycmF5IERlZmF1bHQgY1VSTCBlcnJvcnMgdG8gcmV0cnkgKi8KICAgIHByb3RlY3RlZCBzdGF0aWMgJGRlZmF1bHRFcnJvckNvZGVzID0gYXJyYXkoKTsKCiAgICAvKiogQHZhciBhcnJheSBFcnJvciBjb2RlcyB0aGF0IGNhbiBiZSByZXRyaWVkICovCiAgICBwcm90ZWN0ZWQgJGVycm9yQ29kZXM7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICAgICAgICAgICRjb2RlcyBBcnJheSBvZiBjb2RlcyB0aGF0IHNob3VsZCBiZSByZXRyaWVkCiAgICAgKiBAcGFyYW0gQmFja29mZlN0cmF0ZWd5SW50ZXJmYWNlICRuZXh0ICBUaGUgb3B0aW9uYWwgbmV4dCBzdHJhdGVneQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJGNvZGVzID0gbnVsbCwgQmFja29mZlN0cmF0ZWd5SW50ZXJmYWNlICRuZXh0ID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+ZXJyb3JDb2RlcyA9IGFycmF5X2ZpbGxfa2V5cygkY29kZXMgPzogc3RhdGljOjokZGVmYXVsdEVycm9yQ29kZXMsIDEpOwogICAgICAgICR0aGlzLT5uZXh0ID0gJG5leHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGRlZmF1bHQgZmFpbHVyZSBjb2RlcyB0byByZXRyeQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXREZWZhdWx0RmFpbHVyZUNvZGVzKCkKICAgIHsKICAgICAgICByZXR1cm4gc3RhdGljOjokZGVmYXVsdEVycm9yQ29kZXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG1ha2VzRGVjaXNpb24oKQogICAgewogICAgICAgIHJldHVybiB0cnVlOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffLogger.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIEd1enpsZVxMb2dcTG9nQWRhcHRlckludGVyZmFjZTsKdXNlIEd1enpsZVxMb2dcTWVzc2FnZUZvcm1hdHRlcjsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CgovKioKICogTG9ncyBiYWNrb2ZmIHJldHJpZXMgdHJpZ2dlcmVkIGZyb20gdGhlIEJhY2tvZmZQbHVnaW4KICoKICogRm9ybWF0IHlvdXIgbG9nIG1lc3NhZ2VzIHVzaW5nIGEgdGVtcGxhdGUgdGhhdCBjYW4gY29udGFpbiB0ZW1wbGF0ZSBzdWJzdGl0dXRpb25zIGZvdW5kIGluIHtAc2VlIE1lc3NhZ2VGb3JtYXR0ZXJ9LgogKiBJbiBhZGRpdGlvbiB0byB0aGUgZGVmYXVsdCB0ZW1wbGF0ZSBzdWJzdGl0dXRpb25zLCB0aGVyZSBpcyBhbHNvOgogKgogKiAtIHJldHJpZXM6IFRoZSBudW1iZXIgb2YgdGltZXMgdGhlIHJlcXVlc3QgaGFzIGJlZW4gcmV0cmllZAogKiAtIGRlbGF5OiAgIFRoZSBhbW91bnQgb2YgdGltZSB0aGUgcmVxdWVzdCBpcyBiZWluZyBkZWxheWVkCiAqLwpjbGFzcyBCYWNrb2ZmTG9nZ2VyIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIHN0cmluZyBEZWZhdWx0IGxvZyBtZXNzYWdlIHRlbXBsYXRlICovCiAgICBjb25zdCBERUZBVUxUX0ZPUk1BVCA9ICdbe3RzfV0ge21ldGhvZH0ge3VybH0gLSB7Y29kZX0ge3BocmFzZX0gLSBSZXRyaWVzOiB7cmV0cmllc30sIERlbGF5OiB7ZGVsYXl9LCBUaW1lOiB7Y29ubmVjdF90aW1lfSwge3RvdGFsX3RpbWV9LCBjVVJMOiB7Y3VybF9jb2RlfSB7Y3VybF9lcnJvcn0nOwoKICAgIC8qKiBAdmFyIExvZ0FkYXB0ZXJJbnRlcmZhY2UgTG9nZ2VyIHVzZWQgdG8gbG9nIHJldHJpZXMgKi8KICAgIHByb3RlY3RlZCAkbG9nZ2VyOwoKICAgIC8qKiBAdmFyIE1lc3NhZ2VGb3JtYXR0ZXIgRm9ybWF0dGVyIHVzZWQgdG8gZm9ybWF0IGxvZyBtZXNzYWdlcyAqLwogICAgcHJvdGVjdGVkICRmb3JtYXR0ZXI7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gTG9nQWRhcHRlckludGVyZmFjZSAkbG9nZ2VyICAgIExvZ2dlciB1c2VkIHRvIGxvZyB0aGUgcmV0cmllcwogICAgICogQHBhcmFtIE1lc3NhZ2VGb3JtYXR0ZXIgICAgJGZvcm1hdHRlciBGb3JtYXR0ZXIgdXNlZCB0byBmb3JtYXQgbG9nIG1lc3NhZ2VzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChMb2dBZGFwdGVySW50ZXJmYWNlICRsb2dnZXIsIE1lc3NhZ2VGb3JtYXR0ZXIgJGZvcm1hdHRlciA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPmxvZ2dlciA9ICRsb2dnZXI7CiAgICAgICAgJHRoaXMtPmZvcm1hdHRlciA9ICRmb3JtYXR0ZXIgPzogbmV3IE1lc3NhZ2VGb3JtYXR0ZXIoc2VsZjo6REVGQVVMVF9GT1JNQVQpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KEJhY2tvZmZQbHVnaW46OlJFVFJZX0VWRU5UID0+ICdvblJlcXVlc3RSZXRyeScpOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSB0ZW1wbGF0ZSB0byB1c2UgZm9yIGxvZ2dpbmcKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0ZW1wbGF0ZSBMb2cgbWVzc2FnZSB0ZW1wbGF0ZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VGVtcGxhdGUoJHRlbXBsYXRlKQogICAgewogICAgICAgICR0aGlzLT5mb3JtYXR0ZXItPnNldFRlbXBsYXRlKCR0ZW1wbGF0ZSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIENhbGxlZCB3aGVuIGEgcmVxdWVzdCBpcyBiZWluZyByZXRyaWVkCiAgICAgKgogICAgICogQHBhcmFtIEV2ZW50ICRldmVudCBFdmVudCBlbWl0dGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvblJlcXVlc3RSZXRyeShFdmVudCAkZXZlbnQpCiAgICB7CiAgICAgICAgJHRoaXMtPmxvZ2dlci0+bG9nKCR0aGlzLT5mb3JtYXR0ZXItPmZvcm1hdCgKICAgICAgICAgICAgJGV2ZW50WydyZXF1ZXN0J10sCiAgICAgICAgICAgICRldmVudFsncmVzcG9uc2UnXSwKICAgICAgICAgICAgJGV2ZW50WydoYW5kbGUnXSwKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAncmV0cmllcycgPT4gJGV2ZW50WydyZXRyaWVzJ10sCiAgICAgICAgICAgICAgICAnZGVsYXknICAgPT4gJGV2ZW50WydkZWxheSddCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffPlugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIEd1enpsZVxDb21tb25cQWJzdHJhY3RIYXNEaXNwYXRjaGVyOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcQ3VybFxDdXJsTXVsdGlJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxFeGNlcHRpb25cQ3VybEV4Y2VwdGlvbjsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CgovKioKICogUGx1Z2luIHRvIGF1dG9tYXRpY2FsbHkgcmV0cnkgZmFpbGVkIEhUVFAgcmVxdWVzdHMgdXNpbmcgYSBiYWNrb2ZmIHN0cmF0ZWd5CiAqLwpjbGFzcyBCYWNrb2ZmUGx1Z2luIGV4dGVuZHMgQWJzdHJhY3RIYXNEaXNwYXRjaGVyIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCnsKICAgIGNvbnN0IERFTEFZX1BBUkFNID0gQ3VybE11bHRpSW50ZXJmYWNlOjpCTE9DS0lORzsKICAgIGNvbnN0IFJFVFJZX1BBUkFNID0gJ3BsdWdpbnMuYmFja29mZi5yZXRyeV9jb3VudCc7CiAgICBjb25zdCBSRVRSWV9FVkVOVCA9ICdwbHVnaW5zLmJhY2tvZmYucmV0cnknOwoKICAgIC8qKiBAdmFyIEJhY2tvZmZTdHJhdGVneUludGVyZmFjZSBCYWNrb2ZmIHN0cmF0ZWd5ICovCiAgICBwcm90ZWN0ZWQgJHN0cmF0ZWd5OwoKICAgIC8qKgogICAgICogQHBhcmFtIEJhY2tvZmZTdHJhdGVneUludGVyZmFjZSAkc3RyYXRlZ3kgVGhlIGJhY2tvZmYgc3RyYXRlZ3kgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBvciBub3QgdG8gcmV0cnkgYW5kCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgYW1vdW50IG9mIGRlbGF5IGJldHdlZW4gcmV0cmllcy4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEJhY2tvZmZTdHJhdGVneUludGVyZmFjZSAkc3RyYXRlZ3kgPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5zdHJhdGVneSA9ICRzdHJhdGVneTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHJpZXZlIGEgYmFzaWMgdHJ1bmNhdGVkIGV4cG9uZW50aWFsIGJhY2tvZmYgcGx1Z2luIHRoYXQgd2lsbCByZXRyeSBIVFRQIGVycm9ycyBhbmQgY1VSTCBlcnJvcnMKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICAgJG1heFJldHJpZXMgTWF4aW11bSBudW1iZXIgb2YgcmV0cmllcwogICAgICogQHBhcmFtIGFycmF5ICRodHRwQ29kZXMgIEhUVFAgcmVzcG9uc2UgY29kZXMgdG8gcmV0cnkKICAgICAqIEBwYXJhbSBhcnJheSAkY3VybENvZGVzICBjVVJMIGVycm9yIGNvZGVzIHRvIHJldHJ5CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0RXhwb25lbnRpYWxCYWNrb2ZmKAogICAgICAgICRtYXhSZXRyaWVzID0gMywKICAgICAgICBhcnJheSAkaHR0cENvZGVzID0gbnVsbCwKICAgICAgICBhcnJheSAkY3VybENvZGVzID0gbnVsbAogICAgKSB7CiAgICAgICAgcmV0dXJuIG5ldyBzZWxmKG5ldyBUcnVuY2F0ZWRCYWNrb2ZmU3RyYXRlZ3koJG1heFJldHJpZXMsCiAgICAgICAgICAgIG5ldyBIdHRwQmFja29mZlN0cmF0ZWd5KCRodHRwQ29kZXMsCiAgICAgICAgICAgICAgICBuZXcgQ3VybEJhY2tvZmZTdHJhdGVneSgkY3VybENvZGVzLAogICAgICAgICAgICAgICAgICAgIG5ldyBFeHBvbmVudGlhbEJhY2tvZmZTdHJhdGVneSgpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEFsbEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KHNlbGY6OlJFVFJZX0VWRU5UKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFN1YnNjcmliZWRFdmVudHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgJ3JlcXVlc3Quc2VudCcgICAgICA9PiAnb25SZXF1ZXN0U2VudCcsCiAgICAgICAgICAgICdyZXF1ZXN0LmV4Y2VwdGlvbicgPT4gJ29uUmVxdWVzdFNlbnQnLAogICAgICAgICAgICBDdXJsTXVsdGlJbnRlcmZhY2U6OlBPTExJTkdfUkVRVUVTVCA9PiAnb25SZXF1ZXN0UG9sbCcKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQ2FsbGVkIHdoZW4gYSByZXF1ZXN0IGhhcyBiZWVuIHNlbnQgIGFuZCBpc24ndCBmaW5pc2hlZCBwcm9jZXNzaW5nCiAgICAgKgogICAgICogQHBhcmFtIEV2ZW50ICRldmVudAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb25SZXF1ZXN0U2VudChFdmVudCAkZXZlbnQpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSAkZXZlbnRbJ3JlcXVlc3QnXTsKICAgICAgICAkcmVzcG9uc2UgPSAkZXZlbnRbJ3Jlc3BvbnNlJ107CiAgICAgICAgJGV4Y2VwdGlvbiA9ICRldmVudFsnZXhjZXB0aW9uJ107CgogICAgICAgICRwYXJhbXMgPSAkcmVxdWVzdC0+Z2V0UGFyYW1zKCk7CiAgICAgICAgJHJldHJpZXMgPSAoaW50KSAkcGFyYW1zLT5nZXQoc2VsZjo6UkVUUllfUEFSQU0pOwogICAgICAgICRkZWxheSA9ICR0aGlzLT5zdHJhdGVneS0+Z2V0QmFja29mZlBlcmlvZCgkcmV0cmllcywgJHJlcXVlc3QsICRyZXNwb25zZSwgJGV4Y2VwdGlvbik7CgogICAgICAgIGlmICgkZGVsYXkgIT09IGZhbHNlKSB7CiAgICAgICAgICAgIC8vIENhbGN1bGF0ZSBob3cgbG9uZyB0byB3YWl0IHVudGlsIHRoZSByZXF1ZXN0IHNob3VsZCBiZSByZXRyaWVkCiAgICAgICAgICAgICRwYXJhbXMtPnNldChzZWxmOjpSRVRSWV9QQVJBTSwgKyskcmV0cmllcykKICAgICAgICAgICAgICAgIC0+c2V0KHNlbGY6OkRFTEFZX1BBUkFNLCBtaWNyb3RpbWUodHJ1ZSkgKyAkZGVsYXkpOwogICAgICAgICAgICAvLyBTZW5kIHRoZSByZXF1ZXN0IGFnYWluCiAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRTdGF0ZShSZXF1ZXN0SW50ZXJmYWNlOjpTVEFURV9UUkFOU0ZFUik7CiAgICAgICAgICAgICR0aGlzLT5kaXNwYXRjaChzZWxmOjpSRVRSWV9FVkVOVCwgYXJyYXkoCiAgICAgICAgICAgICAgICAncmVxdWVzdCcgID0+ICRyZXF1ZXN0LAogICAgICAgICAgICAgICAgJ3Jlc3BvbnNlJyA9PiAkcmVzcG9uc2UsCiAgICAgICAgICAgICAgICAnaGFuZGxlJyAgID0+ICgkZXhjZXB0aW9uICYmICRleGNlcHRpb24gaW5zdGFuY2VvZiBDdXJsRXhjZXB0aW9uKSA/ICRleGNlcHRpb24tPmdldEN1cmxIYW5kbGUoKSA6IG51bGwsCiAgICAgICAgICAgICAgICAncmV0cmllcycgID0+ICRyZXRyaWVzLAogICAgICAgICAgICAgICAgJ2RlbGF5JyAgICA9PiAkZGVsYXkKICAgICAgICAgICAgKSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ2FsbGVkIHdoZW4gYSByZXF1ZXN0IGlzIHBvbGxpbmcgaW4gdGhlIGN1cmwgbXVsdGkgb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIEV2ZW50ICRldmVudAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb25SZXF1ZXN0UG9sbChFdmVudCAkZXZlbnQpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSAkZXZlbnRbJ3JlcXVlc3QnXTsKICAgICAgICAkZGVsYXkgPSAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmdldChzZWxmOjpERUxBWV9QQVJBTSk7CgogICAgICAgIC8vIElmIHRoZSBkdXJhdGlvbiBvZiB0aGUgZGVsYXkgaGFzIHBhc3NlZCwgcmV0cnkgdGhlIHJlcXVlc3QgdXNpbmcgdGhlIHBvb2wKICAgICAgICBpZiAobnVsbCAhPT0gJGRlbGF5ICYmIG1pY3JvdGltZSh0cnVlKSA+PSAkZGVsYXkpIHsKICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSByZXF1ZXN0IGZyb20gdGhlIHBvb2wgYW5kIHRoZW4gYWRkIGl0IGJhY2sgYWdhaW4uIFRoaXMgaXMgcmVxdWlyZWQgZm9yIGNVUkwgdG8ga25vdyB0aGF0IHdlCiAgICAgICAgICAgIC8vIHdhbnQgdG8gcmV0cnkgc2VuZGluZyB0aGUgZWFzeSBoYW5kbGUuCiAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+cmVtb3ZlKHNlbGY6OkRFTEFZX1BBUkFNKTsKICAgICAgICAgICAgLy8gUmV3aW5kIHRoZSByZXF1ZXN0IGJvZHkgaWYgcG9zc2libGUKICAgICAgICAgICAgaWYgKCRyZXF1ZXN0IGluc3RhbmNlb2YgRW50aXR5RW5jbG9zaW5nUmVxdWVzdEludGVyZmFjZSAmJiAkcmVxdWVzdC0+Z2V0Qm9keSgpKSB7CiAgICAgICAgICAgICAgICAkcmVxdWVzdC0+Z2V0Qm9keSgpLT5zZWVrKDApOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRtdWx0aSA9ICRldmVudFsnY3VybF9tdWx0aSddOwogICAgICAgICAgICAkbXVsdGktPnJlbW92ZSgkcmVxdWVzdCk7CiAgICAgICAgICAgICRtdWx0aS0+YWRkKCRyZXF1ZXN0KTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffStrategyInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxIdHRwRXhjZXB0aW9uOwoKLyoqCiAqIFN0cmF0ZWd5IHRvIGRldGVybWluZSBpZiBhIHJlcXVlc3Qgc2hvdWxkIGJlIHJldHJpZWQgYW5kIGhvdyBsb25nIHRvIGRlbGF5IGJldHdlZW4gcmV0cmllcwogKi8KaW50ZXJmYWNlIEJhY2tvZmZTdHJhdGVneUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEdldCB0aGUgYW1vdW50IG9mIHRpbWUgdG8gZGVsYXkgaW4gc2Vjb25kcyBiZWZvcmUgcmV0cnlpbmcgYSByZXF1ZXN0CiAgICAgKgogICAgICogQHBhcmFtIGludCAgICAgICAgICAgICAgJHJldHJpZXMgIE51bWJlciBvZiByZXRyaWVzIG9mIHRoZSByZXF1ZXN0CiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCAgUmVxdWVzdCB0aGF0IHdhcyBzZW50CiAgICAgKiBAcGFyYW0gUmVzcG9uc2UgICAgICAgICAkcmVzcG9uc2UgUmVzcG9uc2UgdGhhdCB3YXMgcmVjZWl2ZWQuIE5vdGUgdGhhdCB0aGVyZSBtYXkgbm90IGJlIGEgcmVzcG9uc2UKICAgICAqIEBwYXJhbSBIdHRwRXhjZXB0aW9uICAgICRlICAgICAgICBFeGNlcHRpb24gdGhhdCB3YXMgZW5jb3VudGVyZWQgaWYgYW55CiAgICAgKgogICAgICogQHJldHVybiBib29sfGludCBSZXR1cm5zIGZhbHNlIHRvIG5vdCByZXRyeSBvciB0aGUgbnVtYmVyIG9mIHNlY29uZHMgdG8gZGVsYXkgYmV0d2VlbiByZXRyaWVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRCYWNrb2ZmUGVyaW9kKAogICAgICAgICRyZXRyaWVzLAogICAgICAgIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsCiAgICAgICAgUmVzcG9uc2UgJHJlc3BvbnNlID0gbnVsbCwKICAgICAgICBIdHRwRXhjZXB0aW9uICRlID0gbnVsbAogICAgKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/CallbackBackoffStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxIdHRwRXhjZXB0aW9uOwoKLyoqCiAqIFN0cmF0ZWd5IHRoYXQgd2lsbCBpbnZva2UgYSBjbG9zdXJlIHRvIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0byByZXRyeSB3aXRoIGEgZGVsYXkKICovCmNsYXNzIENhbGxiYWNrQmFja29mZlN0cmF0ZWd5IGV4dGVuZHMgQWJzdHJhY3RCYWNrb2ZmU3RyYXRlZ3kKewogICAgLyoqIEB2YXIgXENsb3N1cmV8YXJyYXl8bWl4ZWQgQ2FsbGFibGUgbWV0aG9kIHRvIGludm9rZSAqLwogICAgcHJvdGVjdGVkICRjYWxsYmFjazsKCiAgICAvKiogQHZhciBib29sIFdoZXRoZXIgb3Igbm90IHRoaXMgc3RyYXRlZ3kgbWFrZXMgYSByZXRyeSBkZWNpc2lvbiAqLwogICAgcHJvdGVjdGVkICRkZWNpc2lvbjsKCiAgICAvKioKICAgICAqIEBwYXJhbSBcQ2xvc3VyZXxhcnJheXxtaXhlZCAgICAgJGNhbGxiYWNrIENhbGxhYmxlIG1ldGhvZCB0byBpbnZva2UKICAgICAqIEBwYXJhbSBib29sICAgICAgICAgICAgICAgICAgICAgJGRlY2lzaW9uIFNldCB0byB0cnVlIGlmIHRoaXMgc3RyYXRlZ3kgbWFrZXMgYSBiYWNrb2ZmIGRlY2lzaW9uCiAgICAgKiBAcGFyYW0gQmFja29mZlN0cmF0ZWd5SW50ZXJmYWNlICRuZXh0ICAgICBUaGUgb3B0aW9uYWwgbmV4dCBzdHJhdGVneQogICAgICoKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY2FsbGJhY2ssICRkZWNpc2lvbiwgQmFja29mZlN0cmF0ZWd5SW50ZXJmYWNlICRuZXh0ID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoIWlzX2NhbGxhYmxlKCRjYWxsYmFjaykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignVGhlIGNhbGxiYWNrIG11c3QgYmUgY2FsbGFibGUnKTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmNhbGxiYWNrID0gJGNhbGxiYWNrOwogICAgICAgICR0aGlzLT5kZWNpc2lvbiA9IChib29sKSAkZGVjaXNpb247CiAgICAgICAgJHRoaXMtPm5leHQgPSAkbmV4dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gbWFrZXNEZWNpc2lvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5kZWNpc2lvbjsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RGVsYXkoJHJldHJpZXMsIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSA9IG51bGwsIEh0dHBFeGNlcHRpb24gJGUgPSBudWxsKQogICAgewogICAgICAgIHJldHVybiBjYWxsX3VzZXJfZnVuYygkdGhpcy0+Y2FsbGJhY2ssICRyZXRyaWVzLCAkcmVxdWVzdCwgJHJlc3BvbnNlLCAkZSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3BsdWdpbi1iYWNrb2ZmIiwKICAgICJkZXNjcmlwdGlvbiI6ICJHdXp6bGUgYmFja29mZiByZXRyeSBwbHVnaW5zIiwKICAgICJob21lcGFnZSI6ICJodHRwOi8vZ3V6emxlcGhwLm9yZy8iLAogICAgImtleXdvcmRzIjogWyJwbHVnaW4iLCAiZ3V6emxlIl0sCiAgICAibGljZW5zZSI6ICJNSVQiLAogICAgImF1dGhvcnMiOiBbCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJNaWNoYWVsIERvd2xpbmciLAogICAgICAgICAgICAiZW1haWwiOiAibXRkb3dsaW5nQGdtYWlsLmNvbSIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRkb3dsaW5nIgogICAgICAgIH0KICAgIF0sCiAgICAicmVxdWlyZSI6IHsKICAgICAgICAicGhwIjogIj49NS4zLjIiLAogICAgICAgICJndXp6bGUvaHR0cCI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvbG9nIjogInNlbGYudmVyc2lvbiIKICAgIH0sCiAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgInBzci0wIjogeyAiR3V6emxlXFxQbHVnaW5cXEJhY2tvZmYiOiAiIiB9CiAgICB9LAogICAgInRhcmdldC1kaXIiOiAiR3V6emxlL1BsdWdpbi9CYWNrb2ZmIiwKICAgICJleHRyYSI6IHsKICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAiZGV2LW1hc3RlciI6ICIzLjctZGV2IgogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ConstantBackoffStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxIdHRwRXhjZXB0aW9uOwoKLyoqCiAqIFdpbGwgcmV0cnkgdGhlIHJlcXVlc3QgdXNpbmcgdGhlIHNhbWUgYW1vdW50IG9mIGRlbGF5IGZvciBlYWNoIHJldHJ5LgogKgogKiBXYXJuaW5nOiBJZiBubyBkZWNpc2lvbiBtYWtpbmcgc3RyYXRlZ2llcyBwcmVjZWRlIHRoaXMgc3RyYXRlZ3kgaW4gdGhlIHRoZSBjaGFpbiwgdGhlbiBhbGwgcmVxdWVzdHMgd2lsbCBiZSByZXRyaWVkCiAqLwpjbGFzcyBDb25zdGFudEJhY2tvZmZTdHJhdGVneSBleHRlbmRzIEFic3RyYWN0QmFja29mZlN0cmF0ZWd5CnsKICAgIC8qKiBAdmFyIGludCBBbW91bnQgb2YgdGltZSBmb3IgZWFjaCBkZWxheSAqLwogICAgcHJvdGVjdGVkICRkZWxheTsKCiAgICAvKiogQHBhcmFtIGludCAkZGVsYXkgQW1vdW50IG9mIHRpbWUgdG8gZGVsYXkgYmV0d2VlbiBlYWNoIGFkZGl0aW9uYWwgYmFja29mZiAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRkZWxheSkKICAgIHsKICAgICAgICAkdGhpcy0+ZGVsYXkgPSAkZGVsYXk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG1ha2VzRGVjaXNpb24oKQogICAgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RGVsYXkoJHJldHJpZXMsIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSA9IG51bGwsIEh0dHBFeGNlcHRpb24gJGUgPSBudWxsKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZGVsYXk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/CurlBackoffStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxIdHRwRXhjZXB0aW9uOwp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEN1cmxFeGNlcHRpb247CgovKioKICogU3RyYXRlZ3kgdXNlZCB0byByZXRyeSB3aGVuIGNlcnRhaW4gY1VSTCBlcnJvciBjb2RlcyBhcmUgZW5jb3VudGVyZWQuCiAqLwpjbGFzcyBDdXJsQmFja29mZlN0cmF0ZWd5IGV4dGVuZHMgQWJzdHJhY3RFcnJvckNvZGVCYWNrb2ZmU3RyYXRlZ3kKewogICAgLyoqIEB2YXIgYXJyYXkgRGVmYXVsdCBjVVJMIGVycm9ycyB0byByZXRyeSAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkZGVmYXVsdEVycm9yQ29kZXMgPSBhcnJheSgKICAgICAgICBDVVJMRV9DT1VMRE5UX1JFU09MVkVfSE9TVCwgQ1VSTEVfQ09VTEROVF9DT05ORUNULCBDVVJMRV9QQVJUSUFMX0ZJTEUsIENVUkxFX1dSSVRFX0VSUk9SLCBDVVJMRV9SRUFEX0VSUk9SLAogICAgICAgIENVUkxFX09QRVJBVElPTl9USU1FT1VURUQsIENVUkxFX1NTTF9DT05ORUNUX0VSUk9SLCBDVVJMRV9IVFRQX1BPUlRfRkFJTEVELCBDVVJMRV9HT1RfTk9USElORywKICAgICAgICBDVVJMRV9TRU5EX0VSUk9SLCBDVVJMRV9SRUNWX0VSUk9SCiAgICApOwoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXREZWxheSgkcmV0cmllcywgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgUmVzcG9uc2UgJHJlc3BvbnNlID0gbnVsbCwgSHR0cEV4Y2VwdGlvbiAkZSA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKCRlICYmICRlIGluc3RhbmNlb2YgQ3VybEV4Y2VwdGlvbikgewogICAgICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPmVycm9yQ29kZXNbJGUtPmdldEVycm9yTm8oKV0pID8gdHJ1ZSA6IG51bGw7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ExponentialBackoffStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxIdHRwRXhjZXB0aW9uOwoKLyoqCiAqIEltcGxlbWVudHMgYW4gZXhwb25lbnRpYWwgYmFja29mZiByZXRyeSBzdHJhdGVneS4KICoKICogV2FybmluZzogSWYgbm8gZGVjaXNpb24gbWFraW5nIHN0cmF0ZWdpZXMgcHJlY2VkZSB0aGlzIHN0cmF0ZWd5IGluIHRoZSB0aGUgY2hhaW4sIHRoZW4gYWxsIHJlcXVlc3RzIHdpbGwgYmUgcmV0cmllZAogKi8KY2xhc3MgRXhwb25lbnRpYWxCYWNrb2ZmU3RyYXRlZ3kgZXh0ZW5kcyBBYnN0cmFjdEJhY2tvZmZTdHJhdGVneQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gbWFrZXNEZWNpc2lvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXREZWxheSgkcmV0cmllcywgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgUmVzcG9uc2UgJHJlc3BvbnNlID0gbnVsbCwgSHR0cEV4Y2VwdGlvbiAkZSA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuIChpbnQpIHBvdygyLCAkcmV0cmllcyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/HttpBackoffStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxIdHRwRXhjZXB0aW9uOwoKLyoqCiAqIFN0cmF0ZWd5IHVzZWQgdG8gcmV0cnkgSFRUUCByZXF1ZXN0cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2UgY29kZS4KICoKICogUmV0cmllcyA1MDAgYW5kIDUwMyBlcnJvciBieSBkZWZhdWx0LgogKi8KY2xhc3MgSHR0cEJhY2tvZmZTdHJhdGVneSBleHRlbmRzIEFic3RyYWN0RXJyb3JDb2RlQmFja29mZlN0cmF0ZWd5CnsKICAgIC8qKiBAdmFyIGFycmF5IERlZmF1bHQgY1VSTCBlcnJvcnMgdG8gcmV0cnkgKi8KICAgIHByb3RlY3RlZCBzdGF0aWMgJGRlZmF1bHRFcnJvckNvZGVzID0gYXJyYXkoNTAwLCA1MDMpOwoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXREZWxheSgkcmV0cmllcywgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgUmVzcG9uc2UgJHJlc3BvbnNlID0gbnVsbCwgSHR0cEV4Y2VwdGlvbiAkZSA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKCRyZXNwb25zZSkgewogICAgICAgICAgICAvL1Nob3J0IGNpcmN1aXQgdGhlIHJlc3Qgb2YgdGhlIGNoZWNrcyBpZiBpdCB3YXMgc3VjY2Vzc2Z1bAogICAgICAgICAgICBpZiAoJHJlc3BvbnNlLT5pc1N1Y2Nlc3NmdWwoKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5lcnJvckNvZGVzWyRyZXNwb25zZS0+Z2V0U3RhdHVzQ29kZSgpXSkgPyB0cnVlIDogbnVsbDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/LinearBackoffStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxIdHRwRXhjZXB0aW9uOwoKLyoqCiAqIEltcGxlbWVudHMgYSBsaW5lYXIgYmFja29mZiByZXRyeSBzdHJhdGVneS4KICoKICogV2FybmluZzogSWYgbm8gZGVjaXNpb24gbWFraW5nIHN0cmF0ZWdpZXMgcHJlY2VkZSB0aGlzIHN0cmF0ZWd5IGluIHRoZSB0aGUgY2hhaW4sIHRoZW4gYWxsIHJlcXVlc3RzIHdpbGwgYmUgcmV0cmllZAogKi8KY2xhc3MgTGluZWFyQmFja29mZlN0cmF0ZWd5IGV4dGVuZHMgQWJzdHJhY3RCYWNrb2ZmU3RyYXRlZ3kKewogICAgLyoqIEB2YXIgaW50IEFtb3VudCBvZiB0aW1lIHRvIHByb2dyZXNzIGVhY2ggZGVsYXkgKi8KICAgIHByb3RlY3RlZCAkc3RlcDsKCiAgICAvKioKICAgICAqIEBwYXJhbSBpbnQgJHN0ZXAgQW1vdW50IG9mIHRpbWUgdG8gaW5jcmVhc2UgdGhlIGRlbGF5IGVhY2ggYWRkaXRpb25hbCBiYWNrb2ZmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkc3RlcCA9IDEpCiAgICB7CiAgICAgICAgJHRoaXMtPnN0ZXAgPSAkc3RlcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gbWFrZXNEZWNpc2lvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXREZWxheSgkcmV0cmllcywgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgUmVzcG9uc2UgJHJlc3BvbnNlID0gbnVsbCwgSHR0cEV4Y2VwdGlvbiAkZSA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuICRyZXRyaWVzICogJHRoaXMtPnN0ZXA7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ReasonPhraseBackoffStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxIdHRwRXhjZXB0aW9uOwoKLyoqCiAqIFN0cmF0ZWd5IHVzZWQgdG8gcmV0cnkgSFRUUCByZXF1ZXN0cyB3aGVuIHRoZSByZXNwb25zZSdzIHJlYXNvbiBwaHJhc2UgbWF0Y2hlcyBvbmUgb2YgdGhlIHJlZ2lzdGVyZWQgcGhyYXNlcy4KICovCmNsYXNzIFJlYXNvblBocmFzZUJhY2tvZmZTdHJhdGVneSBleHRlbmRzIEFic3RyYWN0RXJyb3JDb2RlQmFja29mZlN0cmF0ZWd5CnsKICAgIHB1YmxpYyBmdW5jdGlvbiBtYWtlc0RlY2lzaW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RGVsYXkoJHJldHJpZXMsIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSA9IG51bGwsIEh0dHBFeGNlcHRpb24gJGUgPSBudWxsKQogICAgewogICAgICAgIGlmICgkcmVzcG9uc2UpIHsKICAgICAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5lcnJvckNvZGVzWyRyZXNwb25zZS0+Z2V0UmVhc29uUGhyYXNlKCldKSA/IHRydWUgOiBudWxsOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Backoff/TruncatedBackoffStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxIdHRwRXhjZXB0aW9uOwoKLyoqCiAqIFN0cmF0ZWd5IHRoYXQgd2lsbCBub3QgcmV0cnkgbW9yZSB0aGFuIGEgY2VydGFpbiBudW1iZXIgb2YgdGltZXMuCiAqLwpjbGFzcyBUcnVuY2F0ZWRCYWNrb2ZmU3RyYXRlZ3kgZXh0ZW5kcyBBYnN0cmFjdEJhY2tvZmZTdHJhdGVneQp7CiAgICAvKiogQHZhciBpbnQgTWF4aW11bSBudW1iZXIgb2YgcmV0cmllcyBwZXIgcmVxdWVzdCAqLwogICAgcHJvdGVjdGVkICRtYXg7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gaW50ICAgICAgICAgICAgICAgICAgICAgICRtYXhSZXRyaWVzIE1heGltdW0gbnVtYmVyIG9mIHJldHJpZXMgcGVyIHJlcXVlc3QKICAgICAqIEBwYXJhbSBCYWNrb2ZmU3RyYXRlZ3lJbnRlcmZhY2UgJG5leHQgVGhlIG9wdGlvbmFsIG5leHQgc3RyYXRlZ3kKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRtYXhSZXRyaWVzLCBCYWNrb2ZmU3RyYXRlZ3lJbnRlcmZhY2UgJG5leHQgPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5tYXggPSAkbWF4UmV0cmllczsKICAgICAgICAkdGhpcy0+bmV4dCA9ICRuZXh0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBtYWtlc0RlY2lzaW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RGVsYXkoJHJldHJpZXMsIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSA9IG51bGwsIEh0dHBFeGNlcHRpb24gJGUgPSBudWxsKQogICAgewogICAgICAgIHJldHVybiAkcmV0cmllcyA8ICR0aGlzLT5tYXggPyBudWxsIDogZmFsc2U7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cache/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cache/CacheKeyProviderInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENhY2hlOwoKXEd1enpsZVxDb21tb25cVmVyc2lvbjo6d2FybignR3V6emxlXFBsdWdpblxDYWNoZVxDYWNoZUtleVByb3ZpZGVySW50ZXJmYWNlIGlzIG5vIGxvbmdlciB1c2VkJyk7CgovKioKICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBubyBsb25nZXIgdXNlZAogKiBAY29kZUNvdmVyYWdlSWdub3JlCiAqLwppbnRlcmZhY2UgQ2FjaGVLZXlQcm92aWRlckludGVyZmFjZSB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cache/CachePlugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxDYWNoZVxDYWNoZUFkYXB0ZXJGYWN0b3J5Owp1c2UgR3V6emxlXENhY2hlXENhY2hlQWRhcHRlckludGVyZmFjZTsKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcQ29tbW9uXFZlcnNpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXENhY2hlXERvY3RyaW5lQ2FjaGVBZGFwdGVyOwp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEN1cmxFeGNlcHRpb247CnVzZSBEb2N0cmluZVxDb21tb25cQ2FjaGVcQXJyYXlDYWNoZTsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CgovKioKICogUGx1Z2luIHRvIGVuYWJsZSB0aGUgY2FjaGluZyBvZiBHRVQgYW5kIEhFQUQgcmVxdWVzdHMuICBDYWNoaW5nIGNhbiBiZSBkb25lIG9uIGFsbCByZXF1ZXN0cyBwYXNzaW5nIHRocm91Z2ggdGhpcwogKiBwbHVnaW4gb3Igb25seSBhZnRlciByZXRyaWV2aW5nIHJlc291cmNlcyB3aXRoIGNhY2hlYWJsZSByZXNwb25zZSBoZWFkZXJzLgogKgogKiBUaGlzIGlzIGEgc2ltcGxlIGltcGxlbWVudGF0aW9uIG9mIFJGQyAyNjE2IGFuZCBzaG91bGQgYmUgY29uc2lkZXJlZCBhIHByaXZhdGUgdHJhbnNwYXJlbnQgcHJveHkgY2FjaGUsIG1lYW5pbmcKICogYXV0aG9yaXphdGlvbiBhbmQgcHJpdmF0ZSBkYXRhIGNhbiBiZSBjYWNoZWQuCiAqCiAqIEl0IGFsc28gaW1wbGVtZW50cyBSRkMgNTg2MSdzIGBzdGFsZS1pZi1lcnJvcmAgQ2FjaGUtQ29udHJvbCBleHRlbnNpb24sIGFsbG93aW5nIHN0YWxlIGNhY2hlIHJlc3BvbnNlcyB0byBiZSB1c2VkCiAqIHdoZW4gYW4gZXJyb3IgaXMgZW5jb3VudGVyZWQgKHN1Y2ggYXMgYSBgNTAwIEludGVybmFsIFNlcnZlciBFcnJvcmAgb3IgRE5TIGZhaWx1cmUpLgogKi8KY2xhc3MgQ2FjaGVQbHVnaW4gaW1wbGVtZW50cyBFdmVudFN1YnNjcmliZXJJbnRlcmZhY2UKewogICAgLyoqIEB2YXIgUmV2YWxpZGF0aW9uSW50ZXJmYWNlIENhY2hlIHJldmFsaWRhdGlvbiBzdHJhdGVneSAqLwogICAgcHJvdGVjdGVkICRyZXZhbGlkYXRpb247CgogICAgLyoqIEB2YXIgQ2FuQ2FjaGVTdHJhdGVneUludGVyZmFjZSBPYmplY3QgdXNlZCB0byBkZXRlcm1pbmUgaWYgYSByZXF1ZXN0IGNhbiBiZSBjYWNoZWQgKi8KICAgIHByb3RlY3RlZCAkY2FuQ2FjaGU7CgogICAgLyoqIEB2YXIgQ2FjaGVTdG9yYWdlSW50ZXJmYWNlICRjYWNoZSBPYmplY3QgdXNlZCB0byBjYWNoZSByZXNwb25zZXMgKi8KICAgIHByb3RlY3RlZCAkc3RvcmFnZTsKCiAgICAvKiogQHZhciBib29sICovCiAgICBwcm90ZWN0ZWQgJGF1dG9QdXJnZTsKCiAgICAvKioKICAgICAqIEBwYXJhbSBhcnJheXxDYWNoZUFkYXB0ZXJJbnRlcmZhY2V8Q2FjaGVTdG9yYWdlSW50ZXJmYWNlICRvcHRpb25zIEFycmF5IG9mIG9wdGlvbnMgZm9yIHRoZSBjYWNoZSBwbHVnaW4sCiAgICAgKiAgICAgY2FjaGUgYWRhcHRlciwgb3IgY2FjaGUgc3RvcmFnZSBvYmplY3QuCiAgICAgKiAgICAgLSBDYWNoZVN0b3JhZ2VJbnRlcmZhY2Ugc3RvcmFnZTogICAgICBBZGFwdGVyIHVzZWQgdG8gY2FjaGUgcmVzcG9uc2VzCiAgICAgKiAgICAgLSBSZXZhbGlkYXRpb25JbnRlcmZhY2UgcmV2YWxpZGF0aW9uOiBDYWNoZSByZXZhbGlkYXRpb24gc3RyYXRlZ3kKICAgICAqICAgICAtIENhbkNhY2hlSW50ZXJmYWNlICAgICBjYW5fY2FjaGU6ICAgIE9iamVjdCB1c2VkIHRvIGRldGVybWluZSBpZiBhIHJlcXVlc3QgY2FuIGJlIGNhY2hlZAogICAgICogICAgIC0gYm9vbCAgICAgICAgICAgICAgICAgIGF1dG9fcHVyZ2UgICAgU2V0IHRvIHRydWUgdG8gYXV0b21hdGljYWxseSBQVVJHRSByZXNvdXJjZXMgd2hlbiBub24taWRlbXBvdGVudAogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdHMgYXJlIHNlbnQgdG8gYSByZXNvdXJjZS4gRGVmYXVsdHMgdG8gZmFsc2UuCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBpZiBubyBjYWNoZSBpcyBwcm92aWRlZCBhbmQgRG9jdHJpbmUgY2FjaGUgaXMgbm90IGluc3RhbGxlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG9wdGlvbnMgPSBudWxsKQogICAgewogICAgICAgIGlmICghaXNfYXJyYXkoJG9wdGlvbnMpKSB7CiAgICAgICAgICAgIGlmICgkb3B0aW9ucyBpbnN0YW5jZW9mIENhY2hlQWRhcHRlckludGVyZmFjZSkgewogICAgICAgICAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgnc3RvcmFnZScgPT4gbmV3IERlZmF1bHRDYWNoZVN0b3JhZ2UoJG9wdGlvbnMpKTsKICAgICAgICAgICAgfSBlbHNlaWYgKCRvcHRpb25zIGluc3RhbmNlb2YgQ2FjaGVTdG9yYWdlSW50ZXJmYWNlKSB7CiAgICAgICAgICAgICAgICAkb3B0aW9ucyA9IGFycmF5KCdzdG9yYWdlJyA9PiAkb3B0aW9ucyk7CiAgICAgICAgICAgIH0gZWxzZWlmICgkb3B0aW9ucykgewogICAgICAgICAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgnc3RvcmFnZScgPT4gbmV3IERlZmF1bHRDYWNoZVN0b3JhZ2UoQ2FjaGVBZGFwdGVyRmFjdG9yeTo6ZnJvbUNhY2hlKCRvcHRpb25zKSkpOwogICAgICAgICAgICB9IGVsc2VpZiAoIWNsYXNzX2V4aXN0cygnRG9jdHJpbmVcQ29tbW9uXENhY2hlXEFycmF5Q2FjaGUnKSkgewogICAgICAgICAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZVN0YXJ0CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdObyBjYWNoZSB3YXMgcHJvdmlkZWQgYW5kIERvY3RyaW5lIGlzIG5vdCBpbnN0YWxsZWQnKTsKICAgICAgICAgICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVFbmQKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmF1dG9QdXJnZSA9IGlzc2V0KCRvcHRpb25zWydhdXRvX3B1cmdlJ10pID8gJG9wdGlvbnNbJ2F1dG9fcHVyZ2UnXSA6IGZhbHNlOwoKICAgICAgICAvLyBBZGQgYSBjYWNoZSBzdG9yYWdlIGlmIGEgY2FjaGUgYWRhcHRlciB3YXMgcHJvdmlkZWQKICAgICAgICAkdGhpcy0+c3RvcmFnZSA9IGlzc2V0KCRvcHRpb25zWydzdG9yYWdlJ10pCiAgICAgICAgICAgID8gJG9wdGlvbnNbJ3N0b3JhZ2UnXQogICAgICAgICAgICA6IG5ldyBEZWZhdWx0Q2FjaGVTdG9yYWdlKG5ldyBEb2N0cmluZUNhY2hlQWRhcHRlcihuZXcgQXJyYXlDYWNoZSgpKSk7CgogICAgICAgIGlmICghaXNzZXQoJG9wdGlvbnNbJ2Nhbl9jYWNoZSddKSkgewogICAgICAgICAgICAkdGhpcy0+Y2FuQ2FjaGUgPSBuZXcgRGVmYXVsdENhbkNhY2hlU3RyYXRlZ3koKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+Y2FuQ2FjaGUgPSBpc19jYWxsYWJsZSgkb3B0aW9uc1snY2FuX2NhY2hlJ10pCiAgICAgICAgICAgICAgICA/IG5ldyBDYWxsYmFja0NhbkNhY2hlU3RyYXRlZ3koJG9wdGlvbnNbJ2Nhbl9jYWNoZSddKQogICAgICAgICAgICAgICAgOiAkb3B0aW9uc1snY2FuX2NhY2hlJ107CiAgICAgICAgfQoKICAgICAgICAvLyBVc2UgdGhlIHByb3ZpZGVkIHJldmFsaWRhdGlvbiBzdHJhdGVneSBvciB0aGUgZGVmYXVsdAogICAgICAgICR0aGlzLT5yZXZhbGlkYXRpb24gPSBpc3NldCgkb3B0aW9uc1sncmV2YWxpZGF0aW9uJ10pCiAgICAgICAgICAgID8gJG9wdGlvbnNbJ3JldmFsaWRhdGlvbiddCiAgICAgICAgICAgIDogbmV3IERlZmF1bHRSZXZhbGlkYXRpb24oJHRoaXMtPnN0b3JhZ2UsICR0aGlzLT5jYW5DYWNoZSk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTdWJzY3JpYmVkRXZlbnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgICdyZXF1ZXN0LmJlZm9yZV9zZW5kJyA9PiBhcnJheSgnb25SZXF1ZXN0QmVmb3JlU2VuZCcsIC0yNTUpLAogICAgICAgICAgICAncmVxdWVzdC5zZW50JyAgICAgICAgPT4gYXJyYXkoJ29uUmVxdWVzdFNlbnQnLCAyNTUpLAogICAgICAgICAgICAncmVxdWVzdC5lcnJvcicgICAgICAgPT4gYXJyYXkoJ29uUmVxdWVzdEVycm9yJywgMCksCiAgICAgICAgICAgICdyZXF1ZXN0LmV4Y2VwdGlvbicgICA9PiBhcnJheSgnb25SZXF1ZXN0RXhjZXB0aW9uJywgMCksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIGEgcmVzcG9uc2UgaW4gY2FjaGUgd2lsbCBzYXRpc2Z5IHRoZSByZXF1ZXN0IGJlZm9yZSBzZW5kaW5nCiAgICAgKgogICAgICogQHBhcmFtIEV2ZW50ICRldmVudAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb25SZXF1ZXN0QmVmb3JlU2VuZChFdmVudCAkZXZlbnQpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSAkZXZlbnRbJ3JlcXVlc3QnXTsKICAgICAgICAkcmVxdWVzdC0+YWRkSGVhZGVyKCdWaWEnLCBzcHJpbnRmKCclcyBHdXp6bGVDYWNoZS8lcycsICRyZXF1ZXN0LT5nZXRQcm90b2NvbFZlcnNpb24oKSwgVmVyc2lvbjo6VkVSU0lPTikpOwoKICAgICAgICBpZiAoISR0aGlzLT5jYW5DYWNoZS0+Y2FuQ2FjaGVSZXF1ZXN0KCRyZXF1ZXN0KSkgewogICAgICAgICAgICBzd2l0Y2ggKCRyZXF1ZXN0LT5nZXRNZXRob2QoKSkgewogICAgICAgICAgICAgICAgY2FzZSAnUFVSR0UnOgogICAgICAgICAgICAgICAgICAgICR0aGlzLT5wdXJnZSgkcmVxdWVzdCk7CiAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3QtPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KCksICdwdXJnZWQnKSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICdQVVQnOgogICAgICAgICAgICAgICAgY2FzZSAnUE9TVCc6CiAgICAgICAgICAgICAgICBjYXNlICdERUxFVEUnOgogICAgICAgICAgICAgICAgY2FzZSAnUEFUQ0gnOgogICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+YXV0b1B1cmdlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5wdXJnZSgkcmVxdWVzdCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIGlmICgkcmVzcG9uc2UgPSAkdGhpcy0+c3RvcmFnZS0+ZmV0Y2goJHJlcXVlc3QpKSB7CiAgICAgICAgICAgICRwYXJhbXMgPSAkcmVxdWVzdC0+Z2V0UGFyYW1zKCk7CiAgICAgICAgICAgICRwYXJhbXNbJ2NhY2hlLmxvb2t1cCddID0gdHJ1ZTsKICAgICAgICAgICAgJHJlc3BvbnNlLT5zZXRIZWFkZXIoCiAgICAgICAgICAgICAgICAnQWdlJywKICAgICAgICAgICAgICAgIHRpbWUoKSAtIHN0cnRvdGltZSgkcmVzcG9uc2UtPmdldERhdGUoKSA/IDogJHJlc3BvbnNlLT5nZXRMYXN0TW9kaWZpZWQoKSA/OiAnbm93JykKICAgICAgICAgICAgKTsKICAgICAgICAgICAgLy8gVmFsaWRhdGUgdGhhdCB0aGUgcmVzcG9uc2Ugc2F0aXNmaWVzIHRoZSByZXF1ZXN0CiAgICAgICAgICAgIGlmICgkdGhpcy0+Y2FuUmVzcG9uc2VTYXRpc2Z5UmVxdWVzdCgkcmVxdWVzdCwgJHJlc3BvbnNlKSkgewogICAgICAgICAgICAgICAgaWYgKCFpc3NldCgkcGFyYW1zWydjYWNoZS5oaXQnXSkpIHsKICAgICAgICAgICAgICAgICAgICAkcGFyYW1zWydjYWNoZS5oaXQnXSA9IHRydWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkcmVxdWVzdC0+c2V0UmVzcG9uc2UoJHJlc3BvbnNlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIElmIHBvc3NpYmxlLCBzdG9yZSBhIHJlc3BvbnNlIGluIGNhY2hlIGFmdGVyIHNlbmRpbmcKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvblJlcXVlc3RTZW50KEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9ICRldmVudFsncmVxdWVzdCddOwogICAgICAgICRyZXNwb25zZSA9ICRldmVudFsncmVzcG9uc2UnXTsKCiAgICAgICAgaWYgKCRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+Z2V0KCdjYWNoZS5oaXQnKSA9PT0gbnVsbCAmJgogICAgICAgICAgICAkdGhpcy0+Y2FuQ2FjaGUtPmNhbkNhY2hlUmVxdWVzdCgkcmVxdWVzdCkgJiYKICAgICAgICAgICAgJHRoaXMtPmNhbkNhY2hlLT5jYW5DYWNoZVJlc3BvbnNlKCRyZXNwb25zZSkKICAgICAgICApIHsKICAgICAgICAgICAgJHRoaXMtPnN0b3JhZ2UtPmNhY2hlKCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmFkZFJlc3BvbnNlSGVhZGVycygkcmVxdWVzdCwgJHJlc3BvbnNlKTsKICAgIH0KCiAgICAvKioKICAgICAqIElmIHBvc3NpYmxlLCByZXR1cm4gYSBjYWNoZSByZXNwb25zZSBvbiBhbiBlcnJvcgogICAgICoKICAgICAqIEBwYXJhbSBFdmVudCAkZXZlbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9uUmVxdWVzdEVycm9yKEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9ICRldmVudFsncmVxdWVzdCddOwoKICAgICAgICBpZiAoISR0aGlzLT5jYW5DYWNoZS0+Y2FuQ2FjaGVSZXF1ZXN0KCRyZXF1ZXN0KSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBpZiAoJHJlc3BvbnNlID0gJHRoaXMtPnN0b3JhZ2UtPmZldGNoKCRyZXF1ZXN0KSkgewogICAgICAgICAgICAkcmVzcG9uc2UtPnNldEhlYWRlcigKICAgICAgICAgICAgICAgICdBZ2UnLAogICAgICAgICAgICAgICAgdGltZSgpIC0gc3RydG90aW1lKCRyZXNwb25zZS0+Z2V0TGFzdE1vZGlmaWVkKCkgPyA6ICRyZXNwb25zZS0+Z2V0RGF0ZSgpID86ICdub3cnKQogICAgICAgICAgICApOwoKICAgICAgICAgICAgaWYgKCR0aGlzLT5jYW5SZXNwb25zZVNhdGlzZnlGYWlsZWRSZXF1ZXN0KCRyZXF1ZXN0LCAkcmVzcG9uc2UpKSB7CiAgICAgICAgICAgICAgICAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPnNldCgnY2FjaGUuaGl0JywgJ2Vycm9yJyk7CiAgICAgICAgICAgICAgICAkdGhpcy0+YWRkUmVzcG9uc2VIZWFkZXJzKCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgICAgICAgICAgJGV2ZW50WydyZXNwb25zZSddID0gJHJlc3BvbnNlOwogICAgICAgICAgICAgICAgJGV2ZW50LT5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIElmIHBvc3NpYmxlLCBzZXQgYSBjYWNoZSByZXNwb25zZSBvbiBhIGNVUkwgZXhjZXB0aW9uCiAgICAgKgogICAgICogQHBhcmFtIEV2ZW50ICRldmVudAogICAgICoKICAgICAqIEByZXR1cm4gbnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb25SZXF1ZXN0RXhjZXB0aW9uKEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICBpZiAoISRldmVudFsnZXhjZXB0aW9uJ10gaW5zdGFuY2VvZiBDdXJsRXhjZXB0aW9uKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICRyZXF1ZXN0ID0gJGV2ZW50WydyZXF1ZXN0J107CiAgICAgICAgaWYgKCEkdGhpcy0+Y2FuQ2FjaGUtPmNhbkNhY2hlUmVxdWVzdCgkcmVxdWVzdCkpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRyZXNwb25zZSA9ICR0aGlzLT5zdG9yYWdlLT5mZXRjaCgkcmVxdWVzdCkpIHsKICAgICAgICAgICAgJHJlc3BvbnNlLT5zZXRIZWFkZXIoJ0FnZScsIHRpbWUoKSAtIHN0cnRvdGltZSgkcmVzcG9uc2UtPmdldERhdGUoKSA/IDogJ25vdycpKTsKICAgICAgICAgICAgaWYgKCEkdGhpcy0+Y2FuUmVzcG9uc2VTYXRpc2Z5RmFpbGVkUmVxdWVzdCgkcmVxdWVzdCwgJHJlc3BvbnNlKSkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+c2V0KCdjYWNoZS5oaXQnLCAnZXJyb3InKTsKICAgICAgICAgICAgJHJlcXVlc3QtPnNldFJlc3BvbnNlKCRyZXNwb25zZSk7CiAgICAgICAgICAgICR0aGlzLT5hZGRSZXNwb25zZUhlYWRlcnMoJHJlcXVlc3QsICRyZXNwb25zZSk7CiAgICAgICAgICAgICRldmVudC0+c3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgYSBjYWNoZSByZXNwb25zZSBzYXRpc2ZpZXMgYSByZXF1ZXN0J3MgY2FjaGluZyBjb25zdHJhaW50cwogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0ICBSZXF1ZXN0IHRvIHZhbGlkYXRlCiAgICAgKiBAcGFyYW0gUmVzcG9uc2UgICAgICAgICAkcmVzcG9uc2UgUmVzcG9uc2UgdG8gdmFsaWRhdGUKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNhblJlc3BvbnNlU2F0aXNmeVJlcXVlc3QoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgUmVzcG9uc2UgJHJlc3BvbnNlKQogICAgewogICAgICAgICRyZXNwb25zZUFnZSA9ICRyZXNwb25zZS0+Y2FsY3VsYXRlQWdlKCk7CiAgICAgICAgJHJlcWMgPSAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdDYWNoZS1Db250cm9sJyk7CiAgICAgICAgJHJlc2MgPSAkcmVzcG9uc2UtPmdldEhlYWRlcignQ2FjaGUtQ29udHJvbCcpOwoKICAgICAgICAvLyBDaGVjayB0aGUgcmVxdWVzdCdzIG1heC1hZ2UgaGVhZGVyIGFnYWluc3QgdGhlIGFnZSBvZiB0aGUgcmVzcG9uc2UKICAgICAgICBpZiAoJHJlcWMgJiYgJHJlcWMtPmhhc0RpcmVjdGl2ZSgnbWF4LWFnZScpICYmCiAgICAgICAgICAgICRyZXNwb25zZUFnZSA+ICRyZXFjLT5nZXREaXJlY3RpdmUoJ21heC1hZ2UnKSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICAvLyBDaGVjayB0aGUgcmVzcG9uc2UncyBtYXgtYWdlIGhlYWRlcgogICAgICAgIGlmICgkcmVzcG9uc2UtPmlzRnJlc2goKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgJG1heFN0YWxlID0gJHJlcWMgPyAkcmVxYy0+Z2V0RGlyZWN0aXZlKCdtYXgtc3RhbGUnKSA6IG51bGw7CiAgICAgICAgICAgIGlmIChudWxsICE9PSAkbWF4U3RhbGUpIHsKICAgICAgICAgICAgICAgIGlmICgkbWF4U3RhbGUgIT09IHRydWUgJiYgJHJlc3BvbnNlLT5nZXRGcmVzaG5lc3MoKSA8ICgtMSAqICRtYXhTdGFsZSkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZWlmICgkcmVzYyAmJiAkcmVzYy0+aGFzRGlyZWN0aXZlKCdtYXgtYWdlJykKICAgICAgICAgICAgICAgICYmICRyZXNwb25zZUFnZSA+ICRyZXNjLT5nZXREaXJlY3RpdmUoJ21heC1hZ2UnKQogICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT5yZXZhbGlkYXRpb24tPnNob3VsZFJldmFsaWRhdGUoJHJlcXVlc3QsICRyZXNwb25zZSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+cmV2YWxpZGF0aW9uLT5yZXZhbGlkYXRlKCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgICAgICB9IGNhdGNoIChDdXJsRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICAgICAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPnNldCgnY2FjaGUuaGl0JywgJ2Vycm9yJyk7CiAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPmNhblJlc3BvbnNlU2F0aXNmeUZhaWxlZFJlcXVlc3QoJHJlcXVlc3QsICRyZXNwb25zZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgYSBjYWNoZSByZXNwb25zZSBzYXRpc2ZpZXMgYSBmYWlsZWQgcmVxdWVzdCdzIGNhY2hpbmcgY29uc3RyYWludHMKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCAgUmVxdWVzdCB0byB2YWxpZGF0ZQogICAgICogQHBhcmFtIFJlc3BvbnNlICAgICAgICAgJHJlc3BvbnNlIFJlc3BvbnNlIHRvIHZhbGlkYXRlCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjYW5SZXNwb25zZVNhdGlzZnlGYWlsZWRSZXF1ZXN0KFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSkKICAgIHsKICAgICAgICAkcmVxYyA9ICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0NhY2hlLUNvbnRyb2wnKTsKICAgICAgICAkcmVzYyA9ICRyZXNwb25zZS0+Z2V0SGVhZGVyKCdDYWNoZS1Db250cm9sJyk7CiAgICAgICAgJHJlcXVlc3RTdGFsZUlmRXJyb3IgPSAkcmVxYyA/ICRyZXFjLT5nZXREaXJlY3RpdmUoJ3N0YWxlLWlmLWVycm9yJykgOiBudWxsOwogICAgICAgICRyZXNwb25zZVN0YWxlSWZFcnJvciA9ICRyZXNjID8gJHJlc2MtPmdldERpcmVjdGl2ZSgnc3RhbGUtaWYtZXJyb3InKSA6IG51bGw7CgogICAgICAgIGlmICghJHJlcXVlc3RTdGFsZUlmRXJyb3IgJiYgISRyZXNwb25zZVN0YWxlSWZFcnJvcikgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBpZiAoaXNfbnVtZXJpYygkcmVxdWVzdFN0YWxlSWZFcnJvcikgJiYgJHJlc3BvbnNlLT5nZXRBZ2UoKSAtICRyZXNwb25zZS0+Z2V0TWF4QWdlKCkgPiAkcmVxdWVzdFN0YWxlSWZFcnJvcikgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBpZiAoaXNfbnVtZXJpYygkcmVzcG9uc2VTdGFsZUlmRXJyb3IpICYmICRyZXNwb25zZS0+Z2V0QWdlKCkgLSAkcmVzcG9uc2UtPmdldE1heEFnZSgpID4gJHJlc3BvbnNlU3RhbGVJZkVycm9yKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogUHVyZ2UgYWxsIGNhY2hlIGVudHJpZXMgZm9yIGEgZ2l2ZW4gVVJMCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXJsIFVSTCB0byBwdXJnZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcHVyZ2UoJHVybCkKICAgIHsKICAgICAgICAvLyBCQyBjb21wYXRpYmlsaXR5IHdpdGggcHJldmlvdXMgdmVyc2lvbiB0aGF0IGFjY2VwdGVkIGEgUmVxdWVzdCBvYmplY3QKICAgICAgICAkdXJsID0gJHVybCBpbnN0YW5jZW9mIFJlcXVlc3RJbnRlcmZhY2UgPyAkdXJsLT5nZXRVcmwoKSA6ICR1cmw7CiAgICAgICAgJHRoaXMtPnN0b3JhZ2UtPnB1cmdlKCR1cmwpOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIHRoZSBwbHVnaW4ncyBoZWFkZXJzIHRvIGEgcmVzcG9uc2UKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCAgUmVxdWVzdAogICAgICogQHBhcmFtIFJlc3BvbnNlICAgICAgICAgJHJlc3BvbnNlIFJlc3BvbnNlIHRvIGFkZCBoZWFkZXJzIHRvCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBhZGRSZXNwb25zZUhlYWRlcnMoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgUmVzcG9uc2UgJHJlc3BvbnNlKQogICAgewogICAgICAgICRwYXJhbXMgPSAkcmVxdWVzdC0+Z2V0UGFyYW1zKCk7CiAgICAgICAgJHJlc3BvbnNlLT5zZXRIZWFkZXIoJ1ZpYScsIHNwcmludGYoJyVzIEd1enpsZUNhY2hlLyVzJywgJHJlcXVlc3QtPmdldFByb3RvY29sVmVyc2lvbigpLCBWZXJzaW9uOjpWRVJTSU9OKSk7CgogICAgICAgICRsb29rdXAgPSAoJHBhcmFtc1snY2FjaGUubG9va3VwJ10gPT09IHRydWUgPyAnSElUJyA6ICdNSVNTJykgLiAnIGZyb20gR3V6emxlQ2FjaGUnOwogICAgICAgIGlmICgkaGVhZGVyID0gJHJlc3BvbnNlLT5nZXRIZWFkZXIoJ1gtQ2FjaGUtTG9va3VwJykpIHsKICAgICAgICAgICAgLy8gRG9uJ3QgYWRkIGR1cGxpY2F0ZXMKICAgICAgICAgICAgJHZhbHVlcyA9ICRoZWFkZXItPnRvQXJyYXkoKTsKICAgICAgICAgICAgJHZhbHVlc1tdID0gJGxvb2t1cDsKICAgICAgICAgICAgJHJlc3BvbnNlLT5zZXRIZWFkZXIoJ1gtQ2FjaGUtTG9va3VwJywgYXJyYXlfdW5pcXVlKCR2YWx1ZXMpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkcmVzcG9uc2UtPnNldEhlYWRlcignWC1DYWNoZS1Mb29rdXAnLCAkbG9va3VwKTsKICAgICAgICB9CgogICAgICAgIGlmICgkcGFyYW1zWydjYWNoZS5oaXQnXSA9PT0gdHJ1ZSkgewogICAgICAgICAgICAkeGNhY2hlID0gJ0hJVCBmcm9tIEd1enpsZUNhY2hlJzsKICAgICAgICB9IGVsc2VpZiAoJHBhcmFtc1snY2FjaGUuaGl0J10gPT0gJ2Vycm9yJykgewogICAgICAgICAgICAkeGNhY2hlID0gJ0hJVF9FUlJPUiBmcm9tIEd1enpsZUNhY2hlJzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkeGNhY2hlID0gJ01JU1MgZnJvbSBHdXp6bGVDYWNoZSc7CiAgICAgICAgfQoKICAgICAgICBpZiAoJGhlYWRlciA9ICRyZXNwb25zZS0+Z2V0SGVhZGVyKCdYLUNhY2hlJykpIHsKICAgICAgICAgICAgLy8gRG9uJ3QgYWRkIGR1cGxpY2F0ZXMKICAgICAgICAgICAgJHZhbHVlcyA9ICRoZWFkZXItPnRvQXJyYXkoKTsKICAgICAgICAgICAgJHZhbHVlc1tdID0gJHhjYWNoZTsKICAgICAgICAgICAgJHJlc3BvbnNlLT5zZXRIZWFkZXIoJ1gtQ2FjaGUnLCBhcnJheV91bmlxdWUoJHZhbHVlcykpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRyZXNwb25zZS0+c2V0SGVhZGVyKCdYLUNhY2hlJywgJHhjYWNoZSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHJlc3BvbnNlLT5pc0ZyZXNoKCkgPT09IGZhbHNlKSB7CiAgICAgICAgICAgICRyZXNwb25zZS0+YWRkSGVhZGVyKCdXYXJuaW5nJywgc3ByaW50ZignMTEwIEd1enpsZUNhY2hlLyVzICJSZXNwb25zZSBpcyBzdGFsZSInLCBWZXJzaW9uOjpWRVJTSU9OKSk7CiAgICAgICAgICAgIGlmICgkcGFyYW1zWydjYWNoZS5oaXQnXSA9PT0gJ2Vycm9yJykgewogICAgICAgICAgICAgICAgJHJlc3BvbnNlLT5hZGRIZWFkZXIoJ1dhcm5pbmcnLCBzcHJpbnRmKCcxMTEgR3V6emxlQ2FjaGUvJXMgIlJldmFsaWRhdGlvbiBmYWlsZWQiJywgVmVyc2lvbjo6VkVSU0lPTikpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cache/CacheStorageInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogSW50ZXJmYWNlIHVzZWQgdG8gY2FjaGUgSFRUUCByZXF1ZXN0cwogKi8KaW50ZXJmYWNlIENhY2hlU3RvcmFnZUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEdldCBhIFJlc3BvbnNlIGZyb20gdGhlIGNhY2hlIGZvciBhIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gbnVsbHxSZXNwb25zZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZmV0Y2goUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCk7CgogICAgLyoqCiAgICAgKiBDYWNoZSBhbiBIVFRQIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCAgUmVxdWVzdCBiZWluZyBjYWNoZWQKICAgICAqIEBwYXJhbSBSZXNwb25zZSAgICAgICAgICRyZXNwb25zZSBSZXNwb25zZSB0byBjYWNoZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FjaGUoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgUmVzcG9uc2UgJHJlc3BvbnNlKTsKCiAgICAvKioKICAgICAqIERlbGV0ZXMgY2FjaGUgZW50cmllcyB0aGF0IG1hdGNoIGEgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0IFJlcXVlc3QgdG8gZGVsZXRlIGZyb20gY2FjaGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZShSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KTsKCiAgICAvKioKICAgICAqIFB1cmdlIGFsbCBjYWNoZSBlbnRyaWVzIGZvciBhIGdpdmVuIFVSTAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVybAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcHVyZ2UoJHVybCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cache/CallbackCanCacheStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogRGV0ZXJtaW5lcyBpZiBhIHJlcXVlc3QgY2FuIGJlIGNhY2hlZCB1c2luZyBhIGNhbGxiYWNrCiAqLwpjbGFzcyBDYWxsYmFja0NhbkNhY2hlU3RyYXRlZ3kgZXh0ZW5kcyBEZWZhdWx0Q2FuQ2FjaGVTdHJhdGVneQp7CiAgICAvKiogQHZhciBjYWxsYWJsZSBDYWxsYmFjayBmb3IgcmVxdWVzdCAqLwogICAgcHJvdGVjdGVkICRyZXF1ZXN0Q2FsbGJhY2s7CgogICAgLyoqIEB2YXIgY2FsbGFibGUgQ2FsbGJhY2sgZm9yIHJlc3BvbnNlICovCiAgICBwcm90ZWN0ZWQgJHJlc3BvbnNlQ2FsbGJhY2s7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gXENsb3N1cmV8YXJyYXl8bWl4ZWQgJHJlcXVlc3RDYWxsYmFjayAgQ2FsbGFibGUgbWV0aG9kIHRvIGludm9rZSBmb3IgcmVxdWVzdHMKICAgICAqIEBwYXJhbSBcQ2xvc3VyZXxhcnJheXxtaXhlZCAkcmVzcG9uc2VDYWxsYmFjayBDYWxsYWJsZSBtZXRob2QgdG8gaW52b2tlIGZvciByZXNwb25zZXMKICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHJlcXVlc3RDYWxsYmFjayA9IG51bGwsICRyZXNwb25zZUNhbGxiYWNrID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoJHJlcXVlc3RDYWxsYmFjayAmJiAhaXNfY2FsbGFibGUoJHJlcXVlc3RDYWxsYmFjaykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignTWV0aG9kIG11c3QgYmUgY2FsbGFibGUnKTsKICAgICAgICB9CgogICAgICAgIGlmICgkcmVzcG9uc2VDYWxsYmFjayAmJiAhaXNfY2FsbGFibGUoJHJlc3BvbnNlQ2FsbGJhY2spKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ01ldGhvZCBtdXN0IGJlIGNhbGxhYmxlJyk7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+cmVxdWVzdENhbGxiYWNrID0gJHJlcXVlc3RDYWxsYmFjazsKICAgICAgICAkdGhpcy0+cmVzcG9uc2VDYWxsYmFjayA9ICRyZXNwb25zZUNhbGxiYWNrOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjYW5DYWNoZVJlcXVlc3QoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlcXVlc3RDYWxsYmFjawogICAgICAgICAgICA/IGNhbGxfdXNlcl9mdW5jKCR0aGlzLT5yZXF1ZXN0Q2FsbGJhY2ssICRyZXF1ZXN0KQogICAgICAgICAgICA6IHBhcmVudDo6Y2FuQ2FjaGVSZXF1ZXN0KCRyZXF1ZXN0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FuQ2FjaGVSZXNwb25zZShSZXNwb25zZSAkcmVzcG9uc2UpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXNwb25zZUNhbGxiYWNrCiAgICAgICAgICAgID8gY2FsbF91c2VyX2Z1bmMoJHRoaXMtPnJlc3BvbnNlQ2FsbGJhY2ssICRyZXNwb25zZSkKICAgICAgICAgICAgOiBwYXJlbnQ6OmNhbkNhY2hlUmVzcG9uc2UoJHJlc3BvbnNlKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cache/CanCacheStrategyInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogU3RyYXRlZ3kgdXNlZCB0byBkZXRlcm1pbmUgaWYgYSByZXF1ZXN0IGNhbiBiZSBjYWNoZWQKICovCmludGVyZmFjZSBDYW5DYWNoZVN0cmF0ZWd5SW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogRGV0ZXJtaW5lIGlmIGEgcmVxdWVzdCBjYW4gYmUgY2FjaGVkCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgUmVxdWVzdCB0byBkZXRlcm1pbmUKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNhbkNhY2hlUmVxdWVzdChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KTsKCiAgICAvKioKICAgICAqIERldGVybWluZSBpZiBhIHJlc3BvbnNlIGNhbiBiZSBjYWNoZWQKICAgICAqCiAgICAgKiBAcGFyYW0gUmVzcG9uc2UgJHJlc3BvbnNlIFJlc3BvbnNlIHRvIGRldGVybWluZQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FuQ2FjaGVSZXNwb25zZShSZXNwb25zZSAkcmVzcG9uc2UpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cache/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3BsdWdpbi1jYWNoZSIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3V6emxlIEhUVFAgY2FjaGUgcGx1Z2luIiwKICAgICJob21lcGFnZSI6ICJodHRwOi8vZ3V6emxlcGhwLm9yZy8iLAogICAgImtleXdvcmRzIjogWyJwbHVnaW4iLCAiZ3V6emxlIl0sCiAgICAibGljZW5zZSI6ICJNSVQiLAogICAgImF1dGhvcnMiOiBbCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJNaWNoYWVsIERvd2xpbmciLAogICAgICAgICAgICAiZW1haWwiOiAibXRkb3dsaW5nQGdtYWlsLmNvbSIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRkb3dsaW5nIgogICAgICAgIH0KICAgIF0sCiAgICAicmVxdWlyZSI6IHsKICAgICAgICAicGhwIjogIj49NS4zLjIiLAogICAgICAgICJndXp6bGUvaHR0cCI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvY2FjaGUiOiAic2VsZi52ZXJzaW9uIgogICAgfSwKICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAicHNyLTAiOiB7ICJHdXp6bGVcXFBsdWdpblxcQ2FjaGUiOiAiIiB9CiAgICB9LAogICAgInRhcmdldC1kaXIiOiAiR3V6emxlL1BsdWdpbi9DYWNoZSIsCiAgICAiZXh0cmEiOiB7CiAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMy43LWRldiIKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultCacheKeyProvider.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKClxHdXp6bGVcQ29tbW9uXFZlcnNpb246Ondhcm4oJ0d1enpsZVxQbHVnaW5cQ2FjaGVcRGVmYXVsdENhY2hlS2V5UHJvdmlkZXIgaXMgbm8gbG9uZ2VyIHVzZWQnKTsKCi8qKgogKiBAZGVwcmVjYXRlZCBUaGlzIGNsYXNzIGlzIG5vIGxvbmdlciB1c2VkCiAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICovCmNsYXNzIERlZmF1bHRDYWNoZUtleVByb3ZpZGVyIGltcGxlbWVudHMgQ2FjaGVLZXlQcm92aWRlckludGVyZmFjZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2FjaGVLZXkoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCkKICAgIHsKICAgICAgICAvLyBTZWUgaWYgdGhlIGtleSBoYXMgYWxyZWFkeSBiZWVuIGNhbGN1bGF0ZWQKICAgICAgICAka2V5ID0gJHJlcXVlc3QtPmdldFBhcmFtcygpLT5nZXQoc2VsZjo6Q0FDSEVfS0VZKTsKCiAgICAgICAgaWYgKCEka2V5KSB7CgogICAgICAgICAgICAkY2xvbmVkID0gY2xvbmUgJHJlcXVlc3Q7CiAgICAgICAgICAgICRjbG9uZWQtPnJlbW92ZUhlYWRlcignQ2FjaGUtQ29udHJvbCcpOwoKICAgICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGhvdyBhbmQgaWYgdGhlIGtleSBzaG91bGQgYmUgZmlsdGVyZWQKICAgICAgICAgICAgZm9yZWFjaCAoZXhwbG9kZSgnOycsICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+Z2V0KHNlbGY6OkNBQ0hFX0tFWV9GSUxURVIpKSBhcyAkcGFydCkgewogICAgICAgICAgICAgICAgJHBpZWNlcyA9IGFycmF5X21hcCgndHJpbScsIGV4cGxvZGUoJz0nLCAkcGFydCkpOwogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRwaWVjZXNbMV0pKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoYXJyYXlfbWFwKCd0cmltJywgZXhwbG9kZSgnLCcsICRwaWVjZXNbMV0pKSBhcyAkcmVtb3ZlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkcGllY2VzWzBdID09ICdoZWFkZXInKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2xvbmVkLT5yZW1vdmVIZWFkZXIoJHJlbW92ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkcGllY2VzWzBdID09ICdxdWVyeScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjbG9uZWQtPmdldFF1ZXJ5KCktPnJlbW92ZSgkcmVtb3ZlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHJhdyA9IChzdHJpbmcpICRjbG9uZWQ7CiAgICAgICAgICAgICRrZXkgPSAnR1onIC4gbWQ1KCRyYXcpOwogICAgICAgICAgICAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPnNldChzZWxmOjpDQUNIRV9LRVksICRrZXkpLT5zZXQoc2VsZjo6Q0FDSEVfS0VZX1JBVywgJHJhdyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGtleTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultCacheStorage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxDYWNoZVxDYWNoZUFkYXB0ZXJGYWN0b3J5Owp1c2UgR3V6emxlXENhY2hlXENhY2hlQWRhcHRlckludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHlJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXE1lc3NhZ2VJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwoKLyoqCiAqIERlZmF1bHQgY2FjaGUgc3RvcmFnZSBpbXBsZW1lbnRhdGlvbgogKi8KY2xhc3MgRGVmYXVsdENhY2hlU3RvcmFnZSBpbXBsZW1lbnRzIENhY2hlU3RvcmFnZUludGVyZmFjZQp7CiAgICAvKiogQHZhciBzdHJpbmcgKi8KICAgIHByb3RlY3RlZCAka2V5UHJlZml4OwoKICAgIC8qKiBAdmFyIENhY2hlQWRhcHRlckludGVyZmFjZSBDYWNoZSB1c2VkIHRvIHN0b3JlIGNhY2hlIGRhdGEgKi8KICAgIHByb3RlY3RlZCAkY2FjaGU7CgogICAgLyoqIEB2YXIgaW50IERlZmF1bHQgY2FjaGUgVFRMICovCiAgICBwcm90ZWN0ZWQgJGRlZmF1bHRUdGw7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gbWl4ZWQgICRjYWNoZSAgICAgIENhY2hlIHVzZWQgdG8gc3RvcmUgY2FjaGUgZGF0YQogICAgICogQHBhcmFtIHN0cmluZyAka2V5UHJlZml4ICBQcm92aWRlIGFuIG9wdGlvbmFsIGtleSBwcmVmaXggdG8gcHJlZml4IG9uIGFsbCBjYWNoZSBrZXlzCiAgICAgKiBAcGFyYW0gaW50ICAgICRkZWZhdWx0VHRsIERlZmF1bHQgY2FjaGUgVFRMCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY2FjaGUsICRrZXlQcmVmaXggPSAnJywgJGRlZmF1bHRUdGwgPSAzNjAwKQogICAgewogICAgICAgICR0aGlzLT5jYWNoZSA9IENhY2hlQWRhcHRlckZhY3Rvcnk6OmZyb21DYWNoZSgkY2FjaGUpOwogICAgICAgICR0aGlzLT5kZWZhdWx0VHRsID0gJGRlZmF1bHRUdGw7CiAgICAgICAgJHRoaXMtPmtleVByZWZpeCA9ICRrZXlQcmVmaXg7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNhY2hlKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSkKICAgIHsKICAgICAgICAkY3VycmVudFRpbWUgPSB0aW1lKCk7CiAgICAgICAgJHR0bCA9ICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+Z2V0KCdjYWNoZS5vdmVycmlkZV90dGwnKSA/OiAkcmVzcG9uc2UtPmdldE1heEFnZSgpID86ICR0aGlzLT5kZWZhdWx0VHRsOwoKICAgICAgICBpZiAoJGNhY2hlQ29udHJvbCA9ICRyZXNwb25zZS0+Z2V0SGVhZGVyKCdDYWNoZS1Db250cm9sJykpIHsKICAgICAgICAgICAgJHN0YWxlID0gJGNhY2hlQ29udHJvbC0+Z2V0RGlyZWN0aXZlKCdzdGFsZS1pZi1lcnJvcicpOwogICAgICAgICAgICAkdHRsICs9ICRzdGFsZSA9PSB0cnVlID8gJHR0bCA6ICRzdGFsZTsKICAgICAgICB9CgogICAgICAgIC8vIERldGVybWluZSB3aGljaCBtYW5pZmVzdCBrZXkgc2hvdWxkIGJlIHVzZWQKICAgICAgICAka2V5ID0gJHRoaXMtPmdldENhY2hlS2V5KCRyZXF1ZXN0KTsKICAgICAgICAkcGVyc2lzdGVkUmVxdWVzdCA9ICR0aGlzLT5wZXJzaXN0SGVhZGVycygkcmVxdWVzdCk7CiAgICAgICAgJGVudHJpZXMgPSBhcnJheSgpOwoKICAgICAgICBpZiAoJG1hbmlmZXN0ID0gJHRoaXMtPmNhY2hlLT5mZXRjaCgka2V5KSkgewogICAgICAgICAgICAvLyBEZXRlcm1pbmUgd2hpY2ggY2FjaGUgZW50cmllcyBzaG91bGQgc3RpbGwgYmUgaW4gdGhlIGNhY2hlCiAgICAgICAgICAgICR2YXJ5ID0gJHJlc3BvbnNlLT5nZXRWYXJ5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKHVuc2VyaWFsaXplKCRtYW5pZmVzdCkgYXMgJGVudHJ5KSB7CiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgZW50cnkgaXMgZXhwaXJlZAogICAgICAgICAgICAgICAgaWYgKCRlbnRyeVs0XSA8ICRjdXJyZW50VGltZSkgewogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJGVudHJ5WzFdWyd2YXJ5J10gPSBpc3NldCgkZW50cnlbMV1bJ3ZhcnknXSkgPyAkZW50cnlbMV1bJ3ZhcnknXSA6ICcnOwogICAgICAgICAgICAgICAgaWYgKCR2YXJ5ICE9ICRlbnRyeVsxXVsndmFyeSddIHx8ICEkdGhpcy0+cmVxdWVzdHNNYXRjaCgkdmFyeSwgJGVudHJ5WzBdLCAkcGVyc2lzdGVkUmVxdWVzdCkpIHsKICAgICAgICAgICAgICAgICAgICAkZW50cmllc1tdID0gJGVudHJ5OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBQZXJzaXN0IHRoZSByZXNwb25zZSBib2R5IGlmIG5lZWRlZAogICAgICAgICRib2R5RGlnZXN0ID0gbnVsbDsKICAgICAgICBpZiAoJHJlc3BvbnNlLT5nZXRCb2R5KCkgJiYgJHJlc3BvbnNlLT5nZXRCb2R5KCktPmdldENvbnRlbnRMZW5ndGgoKSA+IDApIHsKICAgICAgICAgICAgJGJvZHlEaWdlc3QgPSAkdGhpcy0+Z2V0Qm9keUtleSgkcmVxdWVzdC0+Z2V0VXJsKCksICRyZXNwb25zZS0+Z2V0Qm9keSgpKTsKICAgICAgICAgICAgJHRoaXMtPmNhY2hlLT5zYXZlKCRib2R5RGlnZXN0LCAoc3RyaW5nKSAkcmVzcG9uc2UtPmdldEJvZHkoKSwgJHR0bCk7CiAgICAgICAgfQoKICAgICAgICBhcnJheV91bnNoaWZ0KCRlbnRyaWVzLCBhcnJheSgKICAgICAgICAgICAgJHBlcnNpc3RlZFJlcXVlc3QsCiAgICAgICAgICAgICR0aGlzLT5wZXJzaXN0SGVhZGVycygkcmVzcG9uc2UpLAogICAgICAgICAgICAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSwKICAgICAgICAgICAgJGJvZHlEaWdlc3QsCiAgICAgICAgICAgICRjdXJyZW50VGltZSArICR0dGwKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmNhY2hlLT5zYXZlKCRrZXksIHNlcmlhbGl6ZSgkZW50cmllcykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCkKICAgIHsKICAgICAgICAka2V5ID0gJHRoaXMtPmdldENhY2hlS2V5KCRyZXF1ZXN0KTsKICAgICAgICBpZiAoJGVudHJpZXMgPSAkdGhpcy0+Y2FjaGUtPmZldGNoKCRrZXkpKSB7CiAgICAgICAgICAgIC8vIERlbGV0ZSBlYWNoIGNhY2hlZCBib2R5CiAgICAgICAgICAgIGZvcmVhY2ggKHVuc2VyaWFsaXplKCRlbnRyaWVzKSBhcyAkZW50cnkpIHsKICAgICAgICAgICAgICAgIGlmICgkZW50cnlbM10pIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Y2FjaGUtPmRlbGV0ZSgkZW50cnlbM10pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgICR0aGlzLT5jYWNoZS0+ZGVsZXRlKCRrZXkpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcHVyZ2UoJHVybCkKICAgIHsKICAgICAgICBmb3JlYWNoIChhcnJheSgnR0VUJywgJ0hFQUQnLCAnUE9TVCcsICdQVVQnLCAnREVMRVRFJykgYXMgJG1ldGhvZCkgewogICAgICAgICAgICAkdGhpcy0+ZGVsZXRlKG5ldyBSZXF1ZXN0KCRtZXRob2QsICR1cmwpKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGZldGNoKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QpCiAgICB7CiAgICAgICAgJGtleSA9ICR0aGlzLT5nZXRDYWNoZUtleSgkcmVxdWVzdCk7CiAgICAgICAgaWYgKCEoJGVudHJpZXMgPSAkdGhpcy0+Y2FjaGUtPmZldGNoKCRrZXkpKSkgewogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgICRtYXRjaCA9IG51bGw7CiAgICAgICAgJGhlYWRlcnMgPSAkdGhpcy0+cGVyc2lzdEhlYWRlcnMoJHJlcXVlc3QpOwogICAgICAgICRlbnRyaWVzID0gdW5zZXJpYWxpemUoJGVudHJpZXMpOwogICAgICAgIGZvcmVhY2ggKCRlbnRyaWVzIGFzICRpbmRleCA9PiAkZW50cnkpIHsKICAgICAgICAgICAgaWYgKCR0aGlzLT5yZXF1ZXN0c01hdGNoKGlzc2V0KCRlbnRyeVsxXVsndmFyeSddKSA/ICRlbnRyeVsxXVsndmFyeSddIDogJycsICRoZWFkZXJzLCAkZW50cnlbMF0pKSB7CiAgICAgICAgICAgICAgICAkbWF0Y2ggPSAkZW50cnk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCEkbWF0Y2gpIHsKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfQoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgcmVzcG9uc2UgaXMgbm90IGV4cGlyZWQKICAgICAgICAkcmVzcG9uc2UgPSBudWxsOwogICAgICAgIGlmICgkbWF0Y2hbNF0gPCB0aW1lKCkpIHsKICAgICAgICAgICAgJHJlc3BvbnNlID0gLTE7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKCRtYXRjaFsyXSwgJG1hdGNoWzFdKTsKICAgICAgICAgICAgaWYgKCRtYXRjaFszXSkgewogICAgICAgICAgICAgICAgaWYgKCRib2R5ID0gJHRoaXMtPmNhY2hlLT5mZXRjaCgkbWF0Y2hbM10pKSB7CiAgICAgICAgICAgICAgICAgICAgJHJlc3BvbnNlLT5zZXRCb2R5KCRib2R5KTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHJlc3BvbnNlIGlzIG5vdCB2YWxpZCBiZWNhdXNlIHRoZSBib2R5IHdhcyBzb21laG93IGRlbGV0ZWQKICAgICAgICAgICAgICAgICAgICAkcmVzcG9uc2UgPSAtMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCRyZXNwb25zZSA9PT0gLTEpIHsKICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBlbnRyeSBmcm9tIHRoZSBtZXRhZGF0YSBhbmQgdXBkYXRlIHRoZSBjYWNoZQogICAgICAgICAgICB1bnNldCgkZW50cmllc1skaW5kZXhdKTsKICAgICAgICAgICAgaWYgKCRlbnRyaWVzKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+Y2FjaGUtPnNhdmUoJGtleSwgc2VyaWFsaXplKCRlbnRyaWVzKSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+Y2FjaGUtPmRlbGV0ZSgka2V5KTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVzcG9uc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBIYXNoIGEgcmVxdWVzdCBVUkwgaW50byBhIHN0cmluZyB0aGF0IHJldHVybnMgY2FjaGUgbWV0YWRhdGEKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRDYWNoZUtleShSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgIC8vIEFsbG93IGNhY2hlLmtleV9maWx0ZXIgdG8gdHJpbSBkb3duIHRoZSBVUkwgY2FjaGUga2V5IGJ5IHJlbW92aW5nIGdlbmVyYXRlIHF1ZXJ5IHN0cmluZyB2YWx1ZXMgKGUuZy4gYXV0aCkKICAgICAgICBpZiAoJGZpbHRlciA9ICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+Z2V0KCdjYWNoZS5rZXlfZmlsdGVyJykpIHsKICAgICAgICAgICAgJHVybCA9ICRyZXF1ZXN0LT5nZXRVcmwodHJ1ZSk7CiAgICAgICAgICAgIGZvcmVhY2ggKGV4cGxvZGUoJywnLCAkZmlsdGVyKSBhcyAkcmVtb3ZlKSB7CiAgICAgICAgICAgICAgICAkdXJsLT5nZXRRdWVyeSgpLT5yZW1vdmUodHJpbSgkcmVtb3ZlKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdXJsID0gJHJlcXVlc3QtPmdldFVybCgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5rZXlQcmVmaXggLiBtZDUoJHJlcXVlc3QtPmdldE1ldGhvZCgpIC4gJyAnIC4gJHVybCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBjYWNoZSBrZXkgZm9yIGEgcmVzcG9uc2UncyBib2R5CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgJHVybCAgVVJMIG9mIHRoZSBlbnRyeQogICAgICogQHBhcmFtIEVudGl0eUJvZHlJbnRlcmZhY2UgJGJvZHkgUmVzcG9uc2UgYm9keQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRCb2R5S2V5KCR1cmwsIEVudGl0eUJvZHlJbnRlcmZhY2UgJGJvZHkpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5rZXlQcmVmaXggLiBtZDUoJHVybCkgLiAkYm9keS0+Z2V0Q29udGVudE1kNSgpOwogICAgfQoKICAgIC8qKgogICAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHR3byBSZXF1ZXN0IEhUVFAgaGVhZGVyIHNldHMgYXJlIG5vbi12YXJ5aW5nCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdmFyeSBSZXNwb25zZSB2YXJ5IGhlYWRlcgogICAgICogQHBhcmFtIGFycmF5ICAkcjEgICBIVFRQIGhlYWRlciBhcnJheQogICAgICogQHBhcmFtIGFycmF5ICAkcjIgICBIVFRQIGhlYWRlciBhcnJheQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIHJlcXVlc3RzTWF0Y2goJHZhcnksICRyMSwgJHIyKQogICAgewogICAgICAgIGlmICgkdmFyeSkgewogICAgICAgICAgICBmb3JlYWNoIChleHBsb2RlKCcsJywgJHZhcnkpIGFzICRoZWFkZXIpIHsKICAgICAgICAgICAgICAgICRrZXkgPSB0cmltKHN0cnRvbG93ZXIoJGhlYWRlcikpOwogICAgICAgICAgICAgICAgJHYxID0gaXNzZXQoJHIxWyRrZXldKSA/ICRyMVska2V5XSA6IG51bGw7CiAgICAgICAgICAgICAgICAkdjIgPSBpc3NldCgkcjJbJGtleV0pID8gJHIyWyRrZXldIDogbnVsbDsKICAgICAgICAgICAgICAgIGlmICgkdjEgIT09ICR2MikgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIGNhY2hlYWJsZSBhbmQgbm9ybWFsaXplZCBtZXNzYWdlIGhlYWRlcnMKICAgICAqCiAgICAgKiBAcGFyYW0gTWVzc2FnZUludGVyZmFjZSAkbWVzc2FnZQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBwZXJzaXN0SGVhZGVycyhNZXNzYWdlSW50ZXJmYWNlICRtZXNzYWdlKQogICAgewogICAgICAgIC8vIEhlYWRlcnMgYXJlIGV4Y2x1ZGVkIGZyb20gdGhlIGNhY2hpbmcgKHNlZSBSRkMgMjYxNjoxMy41LjEpCiAgICAgICAgc3RhdGljICRub0NhY2hlID0gYXJyYXkoCiAgICAgICAgICAgICdhZ2UnID0+IHRydWUsCiAgICAgICAgICAgICdjb25uZWN0aW9uJyA9PiB0cnVlLAogICAgICAgICAgICAna2VlcC1hbGl2ZScgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3h5LWF1dGhlbnRpY2F0ZScgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3h5LWF1dGhvcml6YXRpb24nID0+IHRydWUsCiAgICAgICAgICAgICd0ZScgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3RyYWlsZXJzJyA9PiB0cnVlLAogICAgICAgICAgICAndHJhbnNmZXItZW5jb2RpbmcnID0+IHRydWUsCiAgICAgICAgICAgICd1cGdyYWRlJyA9PiB0cnVlLAogICAgICAgICAgICAnc2V0LWNvb2tpZScgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3NldC1jb29raWUyJyA9PiB0cnVlCiAgICAgICAgKTsKCiAgICAgICAgLy8gQ2xvbmUgdGhlIHJlc3BvbnNlIHRvIG5vdCBkZXN0cm95IGFueSBuZWNlc3NhcnkgaGVhZGVycyB3aGVuIGNhY2hpbmcKICAgICAgICAkaGVhZGVycyA9ICRtZXNzYWdlLT5nZXRIZWFkZXJzKCktPmdldEFsbCgpOwogICAgICAgICRoZWFkZXJzID0gYXJyYXlfZGlmZl9rZXkoJGhlYWRlcnMsICRub0NhY2hlKTsKICAgICAgICAvLyBDYXN0IHRoZSBoZWFkZXJzIHRvIGEgc3RyaW5nCiAgICAgICAgJGhlYWRlcnMgPSBhcnJheV9tYXAoZnVuY3Rpb24gKCRoKSB7IHJldHVybiAoc3RyaW5nKSAkaDsgfSwgJGhlYWRlcnMpOwoKICAgICAgICByZXR1cm4gJGhlYWRlcnM7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultCanCacheStrategy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogRGVmYXVsdCBzdHJhdGVneSB1c2VkIHRvIGRldGVybWluZSBvZiBhbiBIVFRQIHJlcXVlc3QgY2FuIGJlIGNhY2hlZAogKi8KY2xhc3MgRGVmYXVsdENhbkNhY2hlU3RyYXRlZ3kgaW1wbGVtZW50cyBDYW5DYWNoZVN0cmF0ZWd5SW50ZXJmYWNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBjYW5DYWNoZVJlcXVlc3QoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCkKICAgIHsKICAgICAgICAvLyBPbmx5IEdFVCBhbmQgSEVBRCByZXF1ZXN0cyBjYW4gYmUgY2FjaGVkCiAgICAgICAgaWYgKCRyZXF1ZXN0LT5nZXRNZXRob2QoKSAhPSBSZXF1ZXN0SW50ZXJmYWNlOjpHRVQgJiYgJHJlcXVlc3QtPmdldE1ldGhvZCgpICE9IFJlcXVlc3RJbnRlcmZhY2U6OkhFQUQpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgLy8gTmV2ZXIgY2FjaGUgcmVxdWVzdHMgd2hlbiB1c2luZyBuby1zdG9yZQogICAgICAgIGlmICgkcmVxdWVzdC0+aGFzSGVhZGVyKCdDYWNoZS1Db250cm9sJykgJiYgJHJlcXVlc3QtPmdldEhlYWRlcignQ2FjaGUtQ29udHJvbCcpLT5oYXNEaXJlY3RpdmUoJ25vLXN0b3JlJykpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNhbkNhY2hlUmVzcG9uc2UoUmVzcG9uc2UgJHJlc3BvbnNlKQogICAgewogICAgICAgIHJldHVybiAkcmVzcG9uc2UtPmlzU3VjY2Vzc2Z1bCgpICYmICRyZXNwb25zZS0+Y2FuQ2FjaGUoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultRevalidation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcSHR0cFxFeGNlcHRpb25cQmFkUmVzcG9uc2VFeGNlcHRpb247CgovKioKICogRGVmYXVsdCByZXZhbGlkYXRpb24gc3RyYXRlZ3kKICovCmNsYXNzIERlZmF1bHRSZXZhbGlkYXRpb24gaW1wbGVtZW50cyBSZXZhbGlkYXRpb25JbnRlcmZhY2UKewogICAgLyoqIEB2YXIgQ2FjaGVTdG9yYWdlSW50ZXJmYWNlIENhY2hlIG9iamVjdCBzdG9yaW5nIGNhY2hlIGRhdGEgKi8KICAgIHByb3RlY3RlZCAkc3RvcmFnZTsKCiAgICAvKiogQHZhciBDYW5DYWNoZVN0cmF0ZWd5SW50ZXJmYWNlICovCiAgICBwcm90ZWN0ZWQgJGNhbkNhY2hlOwoKICAgIC8qKgogICAgICogQHBhcmFtIENhY2hlU3RvcmFnZUludGVyZmFjZSAgICAgJGNhY2hlICAgIENhY2hlIHN0b3JhZ2UKICAgICAqIEBwYXJhbSBDYW5DYWNoZVN0cmF0ZWd5SW50ZXJmYWNlICRjYW5DYWNoZSBEZXRlcm1pbmVzIGlmIGEgbWVzc2FnZSBjYW4gYmUgY2FjaGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChDYWNoZVN0b3JhZ2VJbnRlcmZhY2UgJGNhY2hlLCBDYW5DYWNoZVN0cmF0ZWd5SW50ZXJmYWNlICRjYW5DYWNoZSA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPnN0b3JhZ2UgPSAkY2FjaGU7CiAgICAgICAgJHRoaXMtPmNhbkNhY2hlID0gJGNhbkNhY2hlID86IG5ldyBEZWZhdWx0Q2FuQ2FjaGVTdHJhdGVneSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXZhbGlkYXRlKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSkKICAgIHsKICAgICAgICB0cnkgewogICAgICAgICAgICAkcmV2YWxpZGF0ZSA9ICR0aGlzLT5jcmVhdGVSZXZhbGlkYXRpb25SZXF1ZXN0KCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgICAgICAkdmFsaWRhdGVSZXNwb25zZSA9ICRyZXZhbGlkYXRlLT5zZW5kKCk7CiAgICAgICAgICAgIGlmICgkdmFsaWRhdGVSZXNwb25zZS0+Z2V0U3RhdHVzQ29kZSgpID09IDIwMCkgewogICAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5oYW5kbGUyMDBSZXNwb25zZSgkcmVxdWVzdCwgJHZhbGlkYXRlUmVzcG9uc2UpOwogICAgICAgICAgICB9IGVsc2VpZiAoJHZhbGlkYXRlUmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSA9PSAzMDQpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+aGFuZGxlMzA0UmVzcG9uc2UoJHJlcXVlc3QsICR2YWxpZGF0ZVJlc3BvbnNlLCAkcmVzcG9uc2UpOwogICAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAoQmFkUmVzcG9uc2VFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgJHRoaXMtPmhhbmRsZUJhZFJlc3BvbnNlKCRlKTsKICAgICAgICB9CgogICAgICAgIC8vIE90aGVyIGV4Y2VwdGlvbnMgZW5jb3VudGVyZWQgaW4gdGhlIHJldmFsaWRhdGlvbiByZXF1ZXN0IGFyZSBpZ25vcmVkCiAgICAgICAgLy8gaW4gaG9wZXMgdGhhdCBzZW5kaW5nIGEgcmVxdWVzdCB0byB0aGUgb3JpZ2luIHNlcnZlciB3aWxsIGZpeCBpdAogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2hvdWxkUmV2YWxpZGF0ZShSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBSZXNwb25zZSAkcmVzcG9uc2UpCiAgICB7CiAgICAgICAgaWYgKCRyZXF1ZXN0LT5nZXRNZXRob2QoKSAhPSBSZXF1ZXN0SW50ZXJmYWNlOjpHRVQpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgJHJlcUNhY2hlID0gJHJlcXVlc3QtPmdldEhlYWRlcignQ2FjaGUtQ29udHJvbCcpOwogICAgICAgICRyZXNDYWNoZSA9ICRyZXNwb25zZS0+Z2V0SGVhZGVyKCdDYWNoZS1Db250cm9sJyk7CgogICAgICAgICRyZXZhbGlkYXRlID0gJHJlcXVlc3QtPmdldEhlYWRlcignUHJhZ21hJykgPT0gJ25vLWNhY2hlJyB8fAogICAgICAgICAgICAoJHJlcUNhY2hlICYmICgkcmVxQ2FjaGUtPmhhc0RpcmVjdGl2ZSgnbm8tY2FjaGUnKSB8fCAkcmVxQ2FjaGUtPmhhc0RpcmVjdGl2ZSgnbXVzdC1yZXZhbGlkYXRlJykpKSB8fAogICAgICAgICAgICAoJHJlc0NhY2hlICYmICgkcmVzQ2FjaGUtPmhhc0RpcmVjdGl2ZSgnbm8tY2FjaGUnKSB8fCAkcmVzQ2FjaGUtPmhhc0RpcmVjdGl2ZSgnbXVzdC1yZXZhbGlkYXRlJykpKTsKCiAgICAgICAgLy8gVXNlIHRoZSBzdHJvbmcgRVRhZyB2YWxpZGF0b3IgaWYgYXZhaWxhYmxlIGFuZCB0aGUgcmVzcG9uc2UgY29udGFpbnMgbm8gQ2FjaGUtQ29udHJvbCBkaXJlY3RpdmUKICAgICAgICBpZiAoISRyZXZhbGlkYXRlICYmICEkcmVzQ2FjaGUgJiYgJHJlc3BvbnNlLT5oYXNIZWFkZXIoJ0VUYWcnKSkgewogICAgICAgICAgICAkcmV2YWxpZGF0ZSA9IHRydWU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJldmFsaWRhdGU7CiAgICB9CgogICAgLyoqCiAgICAgKiBIYW5kbGVzIGEgYmFkIHJlc3BvbnNlIHdoZW4gYXR0ZW1wdGluZyB0byByZXZhbGlkYXRlCiAgICAgKgogICAgICogQHBhcmFtIEJhZFJlc3BvbnNlRXhjZXB0aW9uICRlIEV4Y2VwdGlvbiBlbmNvdW50ZXJlZAogICAgICoKICAgICAqIEB0aHJvd3MgQmFkUmVzcG9uc2VFeGNlcHRpb24KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGhhbmRsZUJhZFJlc3BvbnNlKEJhZFJlc3BvbnNlRXhjZXB0aW9uICRlKQogICAgewogICAgICAgIC8vIDQwNCBlcnJvcnMgbWVhbiB0aGUgcmVzb3VyY2Ugbm8gbG9uZ2VyIGV4aXN0cywgc28gcmVtb3ZlIGZyb20KICAgICAgICAvLyBjYWNoZSwgYW5kIHByZXZlbnQgYW4gYWRkaXRpb25hbCByZXF1ZXN0IGJ5IHRocm93aW5nIHRoZSBleGNlcHRpb24KICAgICAgICBpZiAoJGUtPmdldFJlc3BvbnNlKCktPmdldFN0YXR1c0NvZGUoKSA9PSA0MDQpIHsKICAgICAgICAgICAgJHRoaXMtPnN0b3JhZ2UtPmRlbGV0ZSgkZS0+Z2V0UmVxdWVzdCgpKTsKICAgICAgICAgICAgdGhyb3cgJGU7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlcyBhIHJlcXVlc3QgdG8gdXNlIGZvciByZXZhbGlkYXRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCAgUmVxdWVzdAogICAgICogQHBhcmFtIFJlc3BvbnNlICAgICAgICAgJHJlc3BvbnNlIFJlc3BvbnNlIHRvIHJldmFsaWRhdGUKICAgICAqCiAgICAgKiBAcmV0dXJuIFJlcXVlc3RJbnRlcmZhY2UgcmV0dXJucyBhIHJldmFsaWRhdGlvbiByZXF1ZXN0CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjcmVhdGVSZXZhbGlkYXRpb25SZXF1ZXN0KFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSkKICAgIHsKICAgICAgICAkcmV2YWxpZGF0ZSA9IGNsb25lICRyZXF1ZXN0OwogICAgICAgICRyZXZhbGlkYXRlLT5yZW1vdmVIZWFkZXIoJ1ByYWdtYScpCiAgICAgICAgICAgIC0+cmVtb3ZlSGVhZGVyKCdDYWNoZS1Db250cm9sJykKICAgICAgICAgICAgLT5zZXRIZWFkZXIoJ0lmLU1vZGlmaWVkLVNpbmNlJywgJHJlc3BvbnNlLT5nZXRMYXN0TW9kaWZpZWQoKSA/OiAkcmVzcG9uc2UtPmdldERhdGUoKSk7CgogICAgICAgIGlmICgkcmVzcG9uc2UtPmdldEV0YWcoKSkgewogICAgICAgICAgICAkcmV2YWxpZGF0ZS0+c2V0SGVhZGVyKCdJZi1Ob25lLU1hdGNoJywgJHJlc3BvbnNlLT5nZXRFdGFnKCkpOwogICAgICAgIH0KCiAgICAgICAgLy8gUmVtb3ZlIGFueSBjYWNoZSBwbHVnaW5zIHRoYXQgbWlnaHQgYmUgb24gdGhlIHJlcXVlc3QgdG8gcHJldmVudCBpbmZpbml0ZSByZWN1cnNpdmUgcmV2YWxpZGF0aW9ucwogICAgICAgICRkaXNwYXRjaGVyID0gJHJldmFsaWRhdGUtPmdldEV2ZW50RGlzcGF0Y2hlcigpOwogICAgICAgIGZvcmVhY2ggKCRkaXNwYXRjaGVyLT5nZXRMaXN0ZW5lcnMoKSBhcyAkZXZlbnROYW1lID0+ICRsaXN0ZW5lcnMpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJGxpc3RlbmVycyBhcyAkbGlzdGVuZXIpIHsKICAgICAgICAgICAgICAgIGlmIChpc19hcnJheSgkbGlzdGVuZXIpICYmICRsaXN0ZW5lclswXSBpbnN0YW5jZW9mIENhY2hlUGx1Z2luKSB7CiAgICAgICAgICAgICAgICAgICAgJGRpc3BhdGNoZXItPnJlbW92ZUxpc3RlbmVyKCRldmVudE5hbWUsICRsaXN0ZW5lcik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmV2YWxpZGF0ZTsKICAgIH0KCiAgICAvKioKICAgICAqIEhhbmRsZXMgYSAyMDAgcmVzcG9uc2UgcmVzcG9uc2UgZnJvbSByZXZhbGlkYXRpbmcuIFRoZSBzZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCB2YWxpZGF0aW9uLCBzbyB1c2UgdGhpcyByZXNwb25zZS4KICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCAgICAgICAgICBSZXF1ZXN0IHRoYXQgd2FzIHNlbnQKICAgICAqIEBwYXJhbSBSZXNwb25zZSAgICAgICAgICR2YWxpZGF0ZVJlc3BvbnNlIFJlc3BvbnNlIHJlY2VpdmVkCiAgICAgKgogICAgICogQHJldHVybiBib29sIFJldHVybnMgdHJ1ZSBpZiB2YWxpZCwgZmFsc2UgaWYgaW52YWxpZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaGFuZGxlMjAwUmVzcG9uc2UoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgUmVzcG9uc2UgJHZhbGlkYXRlUmVzcG9uc2UpCiAgICB7CiAgICAgICAgJHJlcXVlc3QtPnNldFJlc3BvbnNlKCR2YWxpZGF0ZVJlc3BvbnNlKTsKICAgICAgICBpZiAoJHRoaXMtPmNhbkNhY2hlLT5jYW5DYWNoZVJlc3BvbnNlKCR2YWxpZGF0ZVJlc3BvbnNlKSkgewogICAgICAgICAgICAkdGhpcy0+c3RvcmFnZS0+Y2FjaGUoJHJlcXVlc3QsICR2YWxpZGF0ZVJlc3BvbnNlKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIEhhbmRsZSBhIDMwNCByZXNwb25zZSBhbmQgZW5zdXJlIHRoYXQgaXQgaXMgc3RpbGwgdmFsaWQKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCAgICAgICAgICBSZXF1ZXN0IHRoYXQgd2FzIHNlbnQKICAgICAqIEBwYXJhbSBSZXNwb25zZSAgICAgICAgICR2YWxpZGF0ZVJlc3BvbnNlIFJlc3BvbnNlIHJlY2VpdmVkCiAgICAgKiBAcGFyYW0gUmVzcG9uc2UgICAgICAgICAkcmVzcG9uc2UgICAgICAgICBPcmlnaW5hbCBjYWNoZWQgcmVzcG9uc2UKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wgUmV0dXJucyB0cnVlIGlmIHZhbGlkLCBmYWxzZSBpZiBpbnZhbGlkCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBoYW5kbGUzMDRSZXNwb25zZShSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBSZXNwb25zZSAkdmFsaWRhdGVSZXNwb25zZSwgUmVzcG9uc2UgJHJlc3BvbnNlKQogICAgewogICAgICAgIHN0YXRpYyAkcmVwbGFjZUhlYWRlcnMgPSBhcnJheSgnRGF0ZScsICdFeHBpcmVzJywgJ0NhY2hlLUNvbnRyb2wnLCAnRVRhZycsICdMYXN0LU1vZGlmaWVkJyk7CgogICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHRoaXMgcmVzcG9uc2UgaGFzIHRoZSBzYW1lIEVUYWcKICAgICAgICBpZiAoJHZhbGlkYXRlUmVzcG9uc2UtPmdldEV0YWcoKSAhPSAkcmVzcG9uc2UtPmdldEV0YWcoKSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICAvLyBSZXBsYWNlIGNhY2hlZCBoZWFkZXJzIHdpdGggYW55IG9mIHRoZXNlIGhlYWRlcnMgZnJvbSB0aGUKICAgICAgICAvLyBvcmlnaW4gc2VydmVyIHRoYXQgbWlnaHQgYmUgbW9yZSB1cCB0byBkYXRlCiAgICAgICAgJG1vZGlmaWVkID0gZmFsc2U7CiAgICAgICAgZm9yZWFjaCAoJHJlcGxhY2VIZWFkZXJzIGFzICRuYW1lKSB7CiAgICAgICAgICAgIGlmICgkdmFsaWRhdGVSZXNwb25zZS0+aGFzSGVhZGVyKCRuYW1lKSkgewogICAgICAgICAgICAgICAgJG1vZGlmaWVkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICRyZXNwb25zZS0+c2V0SGVhZGVyKCRuYW1lLCAkdmFsaWRhdGVSZXNwb25zZS0+Z2V0SGVhZGVyKCRuYW1lKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIFN0b3JlIHRoZSB1cGRhdGVkIHJlc3BvbnNlIGluIGNhY2hlCiAgICAgICAgaWYgKCRtb2RpZmllZCAmJiAkdGhpcy0+Y2FuQ2FjaGUtPmNhbkNhY2hlUmVzcG9uc2UoJHJlc3BvbnNlKSkgewogICAgICAgICAgICAkdGhpcy0+c3RvcmFnZS0+Y2FjaGUoJHJlcXVlc3QsICRyZXNwb25zZSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cache/DenyRevalidation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogTmV2ZXIgcGVyZm9ybXMgY2FjaGUgcmV2YWxpZGF0aW9uIGFuZCBqdXN0IGFzc3VtZXMgdGhlIHJlcXVlc3QgaXMgaW52YWxpZAogKi8KY2xhc3MgRGVueVJldmFsaWRhdGlvbiBleHRlbmRzIERlZmF1bHRSZXZhbGlkYXRpb24KewogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmV2YWxpZGF0ZShSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBSZXNwb25zZSAkcmVzcG9uc2UpCiAgICB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cache/RevalidationInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogQ2FjaGUgcmV2YWxpZGF0aW9uIGludGVyZmFjZQogKi8KaW50ZXJmYWNlIFJldmFsaWRhdGlvbkludGVyZmFjZQp7CiAgICAvKioKICAgICAqIFBlcmZvcm1zIGEgY2FjaGUgcmV2YWxpZGF0aW9uCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgICAgUmVxdWVzdCB0byByZXZhbGlkYXRlCiAgICAgKiBAcGFyYW0gUmVzcG9uc2UgICAgICAgICAkcmVzcG9uc2UgICBSZXNwb25zZSB0aGF0IHdhcyByZWNlaXZlZAogICAgICoKICAgICAqIEByZXR1cm4gYm9vbCBSZXR1cm5zIHRydWUgaWYgdGhlIHJlcXVlc3QgY2FuIGJlIGNhY2hlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmV2YWxpZGF0ZShSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBSZXNwb25zZSAkcmVzcG9uc2UpOwoKICAgIC8qKgogICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSByZXNwb25zZSBzaG91bGQgYmUgcmV2YWxpZGF0ZWQKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCAgUmVxdWVzdCB0byBjaGVjawogICAgICogQHBhcmFtIFJlc3BvbnNlICAgICAgICAgJHJlc3BvbnNlIFJlc3BvbnNlIHRvIGNoZWNrCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzaG91bGRSZXZhbGlkYXRlKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFJlc3BvbnNlICRyZXNwb25zZSk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cache/SkipRevalidation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogTmV2ZXIgcGVyZm9ybXMgY2FjaGUgcmV2YWxpZGF0aW9uIGFuZCBqdXN0IGFzc3VtZXMgdGhlIHJlcXVlc3QgaXMgc3RpbGwgb2sKICovCmNsYXNzIFNraXBSZXZhbGlkYXRpb24gZXh0ZW5kcyBEZWZhdWx0UmV2YWxpZGF0aW9uCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHt9CgogICAgcHVibGljIGZ1bmN0aW9uIHJldmFsaWRhdGUoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgUmVzcG9uc2UgJHJlc3BvbnNlKQogICAgewogICAgICAgIHJldHVybiB0cnVlOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3BsdWdpbiIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3V6emxlIHBsdWdpbiBjb21wb25lbnQgY29udGFpbmluZyBhbGwgR3V6emxlIEhUVFAgcGx1Z2lucyIsCiAgICAiaG9tZXBhZ2UiOiAiaHR0cDovL2d1enpsZXBocC5vcmcvIiwKICAgICJrZXl3b3JkcyI6IFsiaHR0cCIsICJjbGllbnQiLCAicGx1Z2luIiwgImV4dGVuc2lvbiIsICJndXp6bGUiXSwKICAgICJsaWNlbnNlIjogIk1JVCIsCiAgICAiYXV0aG9ycyI6IFsKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogIk1pY2hhZWwgRG93bGluZyIsCiAgICAgICAgICAgICJlbWFpbCI6ICJtdGRvd2xpbmdAZ21haWwuY29tIiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tdGRvd2xpbmciCiAgICAgICAgfQogICAgXSwKICAgICJyZXF1aXJlIjogewogICAgICAgICJwaHAiOiAiPj01LjMuMiIsCiAgICAgICAgImd1enpsZS9odHRwIjogInNlbGYudmVyc2lvbiIKICAgIH0sCiAgICAic3VnZ2VzdCI6IHsKICAgICAgICAiZ3V6emxlL2NhY2hlIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgImd1enpsZS9sb2ciOiAic2VsZi52ZXJzaW9uIgogICAgfSwKICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAicHNyLTAiOiB7ICJHdXp6bGVcXFBsdWdpbiI6ICIiIH0KICAgIH0sCiAgICAidGFyZ2V0LWRpciI6ICJHdXp6bGUvUGx1Z2luIiwKICAgICJyZXBsYWNlIjogewogICAgICAgICJndXp6bGUvcGx1Z2luLWFzeW5jIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgImd1enpsZS9wbHVnaW4tYmFja29mZiI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvcGx1Z2luLWNhY2hlIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgImd1enpsZS9wbHVnaW4tY29va2llIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgImd1enpsZS9wbHVnaW4tY3VybGF1dGgiOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAiZ3V6emxlL3BsdWdpbi1lcnJvci1yZXNwb25zZSI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvcGx1Z2luLWhpc3RvcnkiOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAiZ3V6emxlL3BsdWdpbi1sb2ciOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAiZ3V6emxlL3BsdWdpbi1tZDUiOiAic2VsZi52ZXJzaW9uIiwKICAgICAgICAiZ3V6emxlL3BsdWdpbi1tb2NrIjogInNlbGYudmVyc2lvbiIsCiAgICAgICAgImd1enpsZS9wbHVnaW4tb2F1dGgiOiAic2VsZi52ZXJzaW9uIgogICAgfSwKICAgICJleHRyYSI6IHsKICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAiZGV2LW1hc3RlciI6ICIzLjctZGV2IgogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cookie/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cookie/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3BsdWdpbi1jb29raWUiLAogICAgImRlc2NyaXB0aW9uIjogIkd1enpsZSBjb29raWUgcGx1Z2luIiwKICAgICJob21lcGFnZSI6ICJodHRwOi8vZ3V6emxlcGhwLm9yZy8iLAogICAgImtleXdvcmRzIjogWyJwbHVnaW4iLCAiZ3V6emxlIl0sCiAgICAibGljZW5zZSI6ICJNSVQiLAogICAgImF1dGhvcnMiOiBbCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJNaWNoYWVsIERvd2xpbmciLAogICAgICAgICAgICAiZW1haWwiOiAibXRkb3dsaW5nQGdtYWlsLmNvbSIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRkb3dsaW5nIgogICAgICAgIH0KICAgIF0sCiAgICAicmVxdWlyZSI6IHsKICAgICAgICAicGhwIjogIj49NS4zLjIiLAogICAgICAgICJndXp6bGUvaHR0cCI6ICJzZWxmLnZlcnNpb24iCiAgICB9LAogICAgImF1dG9sb2FkIjogewogICAgICAgICJwc3ItMCI6IHsgIkd1enpsZVxcUGx1Z2luXFxDb29raWUiOiAiIiB9CiAgICB9LAogICAgInRhcmdldC1kaXIiOiAiR3V6emxlL1BsdWdpbi9Db29raWUiLAogICAgImV4dHJhIjogewogICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjMuNy1kZXYiCiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cookie/Cookie.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENvb2tpZTsKCnVzZSBHdXp6bGVcQ29tbW9uXFRvQXJyYXlJbnRlcmZhY2U7CgovKioKICogU2V0LUNvb2tpZSBvYmplY3QKICovCmNsYXNzIENvb2tpZSBpbXBsZW1lbnRzIFRvQXJyYXlJbnRlcmZhY2UKewogICAgLyoqIEB2YXIgYXJyYXkgQ29va2llIGRhdGEgKi8KICAgIHByb3RlY3RlZCAkZGF0YTsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIEFTQ0lJIGNvZGVzIG5vdCB2YWxpZCBmb3IgZm9yIHVzZSBpbiBhIGNvb2tpZSBuYW1lCiAgICAgKgogICAgICogQ29va2llIG5hbWVzIGFyZSBkZWZpbmVkIGFzICd0b2tlbicsIGFjY29yZGluZyB0byBSRkMgMjYxNiwgU2VjdGlvbiAyLjIKICAgICAqIEEgdmFsaWQgdG9rZW4gbWF5IGNvbnRhaW4gYW55IENIQVIgZXhjZXB0IENUTHMgKEFTQ0lJIDAgLSAzMSBvciAxMjcpCiAgICAgKiBvciBhbnkgb2YgdGhlIGZvbGxvd2luZyBzZXBhcmF0b3JzCiAgICAgKi8KICAgIHByb3RlY3RlZCBzdGF0aWMgJGludmFsaWRDaGFyU3RyaW5nOwoKICAgIC8qKgogICAgICogR2V0cyBhbiBhcnJheSBvZiBpbnZhbGlkIGNvb2tpZSBjaGFyYWN0ZXJzCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwcm90ZWN0ZWQgc3RhdGljIGZ1bmN0aW9uIGdldEludmFsaWRDaGFyYWN0ZXJzKCkKICAgIHsKICAgICAgICBpZiAoIXNlbGY6OiRpbnZhbGlkQ2hhclN0cmluZykgewogICAgICAgICAgICBzZWxmOjokaW52YWxpZENoYXJTdHJpbmcgPSBpbXBsb2RlKCcnLCBhcnJheV9tYXAoJ2NocicsIGFycmF5X21lcmdlKAogICAgICAgICAgICAgICAgcmFuZ2UoMCwgMzIpLAogICAgICAgICAgICAgICAgYXJyYXkoMzQsIDQwLCA0MSwgNDQsIDQ3KSwKICAgICAgICAgICAgICAgIGFycmF5KDU4LCA1OSwgNjAsIDYxLCA2MiwgNjMsIDY0LCA5MSwgOTIsIDkzLCAxMjMsIDEyNSwgMTI3KQogICAgICAgICAgICApKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gc2VsZjo6JGludmFsaWRDaGFyU3RyaW5nOwogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIGFycmF5ICRkYXRhIEFycmF5IG9mIGNvb2tpZSBkYXRhIHByb3ZpZGVkIGJ5IGEgQ29va2llIHBhcnNlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJGRhdGEgPSBhcnJheSgpKQogICAgewogICAgICAgIHN0YXRpYyAkZGVmYXVsdHMgPSBhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgICAgICA9PiAnJywKICAgICAgICAgICAgJ3ZhbHVlJyAgICAgICA9PiAnJywKICAgICAgICAgICAgJ2RvbWFpbicgICAgICA9PiAnJywKICAgICAgICAgICAgJ3BhdGgnICAgICAgICA9PiAnLycsCiAgICAgICAgICAgICdleHBpcmVzJyAgICAgPT4gbnVsbCwKICAgICAgICAgICAgJ21heF9hZ2UnICAgICA9PiAwLAogICAgICAgICAgICAnY29tbWVudCcgICAgID0+IG51bGwsCiAgICAgICAgICAgICdjb21tZW50X3VybCcgPT4gbnVsbCwKICAgICAgICAgICAgJ3BvcnQnICAgICAgICA9PiBhcnJheSgpLAogICAgICAgICAgICAndmVyc2lvbicgICAgID0+IG51bGwsCiAgICAgICAgICAgICdzZWN1cmUnICAgICAgPT4gZmFsc2UsCiAgICAgICAgICAgICdkaXNjYXJkJyAgICAgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwX29ubHknICAgPT4gZmFsc2UKICAgICAgICApOwoKICAgICAgICAkdGhpcy0+ZGF0YSA9IGFycmF5X21lcmdlKCRkZWZhdWx0cywgJGRhdGEpOwogICAgICAgIC8vIEV4dHJhY3QgdGhlIGV4cGlyZXMgdmFsdWUgYW5kIHR1cm4gaXQgaW50byBhIFVOSVggdGltZXN0YW1wIGlmIG5lZWRlZAogICAgICAgIGlmICghJHRoaXMtPmdldEV4cGlyZXMoKSAmJiAkdGhpcy0+Z2V0TWF4QWdlKCkpIHsKICAgICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBleHBpcmVzIGRhdGUKICAgICAgICAgICAgJHRoaXMtPnNldEV4cGlyZXModGltZSgpICsgKGludCkgJHRoaXMtPmdldE1heEFnZSgpKTsKICAgICAgICB9IGVsc2VpZiAoJHRoaXMtPmdldEV4cGlyZXMoKSAmJiAhaXNfbnVtZXJpYygkdGhpcy0+Z2V0RXhwaXJlcygpKSkgewogICAgICAgICAgICAkdGhpcy0+c2V0RXhwaXJlcyhzdHJ0b3RpbWUoJHRoaXMtPmdldEV4cGlyZXMoKSkpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgY29va2llIGFzIGFuIGFycmF5CiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdG9BcnJheSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5kYXRhOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBjb29raWUgbmFtZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXROYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRhdGFbJ25hbWUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgY29va2llIG5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIENvb2tpZSBuYW1lCiAgICAgKgogICAgICogQHJldHVybiBDb29raWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldE5hbWUoJG5hbWUpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zZXREYXRhKCduYW1lJywgJG5hbWUpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBjb29raWUgdmFsdWUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VmFsdWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZGF0YVsndmFsdWUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgY29va2llIHZhbHVlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdmFsdWUgQ29va2llIHZhbHVlCiAgICAgKgogICAgICogQHJldHVybiBDb29raWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFZhbHVlKCR2YWx1ZSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNldERhdGEoJ3ZhbHVlJywgJHZhbHVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZG9tYWluCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RG9tYWluKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRhdGFbJ2RvbWFpbiddOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBkb21haW4gb2YgdGhlIGNvb2tpZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGRvbWFpbgogICAgICoKICAgICAqIEByZXR1cm4gQ29va2llCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXREb21haW4oJGRvbWFpbikKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNldERhdGEoJ2RvbWFpbicsICRkb21haW4pOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBwYXRoCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhdGgoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZGF0YVsncGF0aCddOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBwYXRoIG9mIHRoZSBjb29raWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXRoIFBhdGggb2YgdGhlIGNvb2tpZQogICAgICoKICAgICAqIEByZXR1cm4gQ29va2llCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRQYXRoKCRwYXRoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c2V0RGF0YSgncGF0aCcsICRwYXRoKTsKICAgIH0KCiAgICAvKioKICAgICAqIE1heGltdW0gbGlmZXRpbWUgb2YgdGhlIGNvb2tpZSBpbiBzZWNvbmRzCiAgICAgKgogICAgICogQHJldHVybiBpbnR8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWF4QWdlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRhdGFbJ21heF9hZ2UnXTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgbWF4LWFnZSBvZiB0aGUgY29va2llCiAgICAgKgogICAgICogQHBhcmFtIGludCAkbWF4QWdlIE1heCBhZ2Ugb2YgdGhlIGNvb2tpZSBpbiBzZWNvbmRzCiAgICAgKgogICAgICogQHJldHVybiBDb29raWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldE1heEFnZSgkbWF4QWdlKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c2V0RGF0YSgnbWF4X2FnZScsICRtYXhBZ2UpOwogICAgfQoKICAgIC8qKgogICAgICogVGhlIFVOSVggdGltZXN0YW1wIHdoZW4gdGhlIGNvb2tpZSBleHBpcmVzCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXhwaXJlcygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5kYXRhWydleHBpcmVzJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHVuaXggdGltZXN0YW1wIGZvciB3aGljaCB0aGUgY29va2llIHdpbGwgZXhwaXJlCiAgICAgKgogICAgICogQHBhcmFtIGludCAkdGltZXN0YW1wIFVuaXggdGltZXN0YW1wCiAgICAgKgogICAgICogQHJldHVybiBDb29raWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEV4cGlyZXMoJHRpbWVzdGFtcCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNldERhdGEoJ2V4cGlyZXMnLCAkdGltZXN0YW1wKTsKICAgIH0KCiAgICAvKioKICAgICAqIFZlcnNpb24gb2YgdGhlIGNvb2tpZSBzcGVjaWZpY2F0aW9uLiBSRkMgMjk2NSBpcyAxCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VmVyc2lvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5kYXRhWyd2ZXJzaW9uJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGNvb2tpZSB2ZXJzaW9uCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xpbnQgJHZlcnNpb24gVmVyc2lvbiB0byBzZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIENvb2tpZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VmVyc2lvbigkdmVyc2lvbikKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNldERhdGEoJ3ZlcnNpb24nLCAkdmVyc2lvbik7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgd2hldGhlciBvciBub3QgdGhpcyBpcyBhIHNlY3VyZSBjb29raWUKICAgICAqCiAgICAgKiBAcmV0dXJuIG51bGx8Ym9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2VjdXJlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRhdGFbJ3NlY3VyZSddOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHdoZXRoZXIgb3Igbm90IHRoZSBjb29raWUgaXMgc2VjdXJlCiAgICAgKgogICAgICogQHBhcmFtIGJvb2wgJHNlY3VyZSBTZXQgdG8gdHJ1ZSBvciBmYWxzZSBpZiBzZWN1cmUKICAgICAqCiAgICAgKiBAcmV0dXJuIENvb2tpZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U2VjdXJlKCRzZWN1cmUpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zZXREYXRhKCdzZWN1cmUnLCAoYm9vbCkgJHNlY3VyZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgd2hldGhlciBvciBub3QgdGhpcyBpcyBhIHNlc3Npb24gY29va2llCiAgICAgKgogICAgICogQHJldHVybiBudWxsfGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldERpc2NhcmQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZGF0YVsnZGlzY2FyZCddOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHdoZXRoZXIgb3Igbm90IHRoaXMgaXMgYSBzZXNzaW9uIGNvb2tpZQogICAgICoKICAgICAqIEBwYXJhbSBib29sICRkaXNjYXJkIFNldCB0byB0cnVlIG9yIGZhbHNlIGlmIHRoaXMgaXMgYSBzZXNzaW9uIGNvb2tpZQogICAgICoKICAgICAqIEByZXR1cm4gQ29va2llCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXREaXNjYXJkKCRkaXNjYXJkKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c2V0RGF0YSgnZGlzY2FyZCcsICRkaXNjYXJkKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgY29tbWVudAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENvbW1lbnQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZGF0YVsnY29tbWVudCddOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBjb21tZW50IG9mIHRoZSBjb29raWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb21tZW50IENvb2tpZSBjb21tZW50CiAgICAgKgogICAgICogQHJldHVybiBDb29raWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldENvbW1lbnQoJGNvbW1lbnQpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zZXREYXRhKCdjb21tZW50JywgJGNvbW1lbnQpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBjb21tZW50IFVSTCBvZiB0aGUgY29va2llCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29tbWVudFVybCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5kYXRhWydjb21tZW50X3VybCddOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBjb21tZW50IFVSTCBvZiB0aGUgY29va2llCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkY29tbWVudFVybCBDb29raWUgY29tbWVudCBVUkwgZm9yIG1vcmUgaW5mb3JtYXRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIENvb2tpZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Q29tbWVudFVybCgkY29tbWVudFVybCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNldERhdGEoJ2NvbW1lbnRfdXJsJywgJGNvbW1lbnRVcmwpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGFycmF5IG9mIGFjY2VwdGFibGUgcG9ydHMgdGhpcyBjb29raWUgY2FuIGJlIHVzZWQgd2l0aAogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBvcnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRhdGFbJ3BvcnQnXTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBhIGxpc3Qgb2YgYWNjZXB0YWJsZSBwb3J0cyB0aGlzIGNvb2tpZSBjYW4gYmUgdXNlZCB3aXRoCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRwb3J0cyBBcnJheSBvZiBhY2NlcHRhYmxlIHBvcnRzCiAgICAgKgogICAgICogQHJldHVybiBDb29raWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFBvcnRzKGFycmF5ICRwb3J0cykKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNldERhdGEoJ3BvcnQnLCAkcG9ydHMpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHdoZXRoZXIgb3Igbm90IHRoaXMgaXMgYW4gSFRUUCBvbmx5IGNvb2tpZQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SHR0cE9ubHkoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZGF0YVsnaHR0cF9vbmx5J107CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgd2hldGhlciBvciBub3QgdGhpcyBpcyBhbiBIVFRQIG9ubHkgY29va2llCiAgICAgKgogICAgICogQHBhcmFtIGJvb2wgJGh0dHBPbmx5IFNldCB0byB0cnVlIG9yIGZhbHNlIGlmIHRoaXMgaXMgSFRUUCBvbmx5CiAgICAgKgogICAgICogQHJldHVybiBDb29raWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEh0dHBPbmx5KCRodHRwT25seSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNldERhdGEoJ2h0dHBfb25seScsICRodHRwT25seSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYW4gYXJyYXkgb2YgZXh0cmEgY29va2llIGRhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRhdGFbJ2RhdGEnXTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhIHNwZWNpZmljIGRhdGEgcG9pbnQgZnJvbSB0aGUgZXh0cmEgY29va2llIGRhdGEKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIE5hbWUgb2YgdGhlIGRhdGEgcG9pbnQgdG8gcmV0cmlldmUKICAgICAqCiAgICAgKiBAcmV0dXJuIG51bGx8c3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRBdHRyaWJ1dGUoJG5hbWUpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5X2tleV9leGlzdHMoJG5hbWUsICR0aGlzLT5kYXRhWydkYXRhJ10pID8gJHRoaXMtPmRhdGFbJ2RhdGEnXVskbmFtZV0gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IGEgY29va2llIGRhdGEgYXR0cmlidXRlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSAgTmFtZSBvZiB0aGUgYXR0cmlidXRlIHRvIHNldAogICAgICogQHBhcmFtIHN0cmluZyAkdmFsdWUgVmFsdWUgdG8gc2V0CiAgICAgKgogICAgICogQHJldHVybiBDb29raWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEF0dHJpYnV0ZSgkbmFtZSwgJHZhbHVlKQogICAgewogICAgICAgICR0aGlzLT5kYXRhWydkYXRhJ11bJG5hbWVdID0gJHZhbHVlOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiB0aGUgY29va2llIG1hdGNoZXMgYSBwYXRoIHZhbHVlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcGF0aCBQYXRoIHRvIGNoZWNrIGFnYWluc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG1hdGNoZXNQYXRoKCRwYXRoKQogICAgewogICAgICAgIHJldHVybiAhJHRoaXMtPmdldFBhdGgoKSB8fCAwID09PSBzdHJpcG9zKCRwYXRoLCAkdGhpcy0+Z2V0UGF0aCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIHRoZSBjb29raWUgbWF0Y2hlcyBhIGRvbWFpbiB2YWx1ZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGRvbWFpbiBEb21haW4gdG8gY2hlY2sgYWdhaW5zdAogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbWF0Y2hlc0RvbWFpbigkZG9tYWluKQogICAgewogICAgICAgIC8vIFJlbW92ZSB0aGUgbGVhZGluZyAnLicgYXMgcGVyIHNwZWMgaW4gUkZDIDYyNjU6IGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzYyNjUjc2VjdGlvbi01LjIuMwogICAgICAgICRjb29raWVEb21haW4gPSBsdHJpbSgkdGhpcy0+Z2V0RG9tYWluKCksICcuJyk7CgogICAgICAgIC8vIERvbWFpbiBub3Qgc2V0IG9yIGV4YWN0IG1hdGNoLgogICAgICAgIGlmICghJGNvb2tpZURvbWFpbiB8fCAhc3RyY2FzZWNtcCgkZG9tYWluLCAkY29va2llRG9tYWluKSkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIC8vIE1hdGNoaW5nIHRoZSBzdWJkb21haW4gYWNjb3JkaW5nIHRvIFJGQyA2MjY1OiBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM2MjY1I3NlY3Rpb24tNS4xLjMKICAgICAgICBpZiAoZmlsdGVyX3ZhcigkZG9tYWluLCBGSUxURVJfVkFMSURBVEVfSVApKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAoYm9vbCkgcHJlZ19tYXRjaCgnL1wuJyAuIHByZWdfcXVvdGUoJGNvb2tpZURvbWFpbiwgJy8nKSAuICckL2knLCAkZG9tYWluKTsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIHRoZSBjb29raWUgaXMgY29tcGF0aWJsZSB3aXRoIGEgc3BlY2lmaWMgcG9ydAogICAgICoKICAgICAqIEBwYXJhbSBpbnQgJHBvcnQgUG9ydCB0byBjaGVjawogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbWF0Y2hlc1BvcnQoJHBvcnQpCiAgICB7CiAgICAgICAgcmV0dXJuIGNvdW50KCR0aGlzLT5nZXRQb3J0cygpKSA9PSAwIHx8IGluX2FycmF5KCRwb3J0LCAkdGhpcy0+Z2V0UG9ydHMoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiB0aGUgY29va2llIGlzIGV4cGlyZWQKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzRXhwaXJlZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRFeHBpcmVzKCkgJiYgdGltZSgpID4gJHRoaXMtPmdldEV4cGlyZXMoKTsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIHRoZSBjb29raWUgaXMgdmFsaWQgYWNjb3JkaW5nIHRvIFJGQyA2MjY1CiAgICAgKgogICAgICogQHJldHVybiBib29sfHN0cmluZyBSZXR1cm5zIHRydWUgaWYgdmFsaWQgb3IgYW4gZXJyb3IgbWVzc2FnZSBpZiBpbnZhbGlkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZSgpCiAgICB7CiAgICAgICAgLy8gTmFtZXMgbXVzdCBub3QgYmUgZW1wdHksIGJ1dCBjYW4gYmUgMAogICAgICAgICRuYW1lID0gJHRoaXMtPmdldE5hbWUoKTsKICAgICAgICBpZiAoZW1wdHkoJG5hbWUpICYmICFpc19udW1lcmljKCRuYW1lKSkgewogICAgICAgICAgICByZXR1cm4gJ1RoZSBjb29raWUgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eSc7CiAgICAgICAgfQoKICAgICAgICAvLyBDaGVjayBpZiBhbnkgb2YgdGhlIGludmFsaWQgY2hhcmFjdGVycyBhcmUgcHJlc2VudCBpbiB0aGUgY29va2llIG5hbWUKICAgICAgICBpZiAoc3RycGJyaygkbmFtZSwgc2VsZjo6Z2V0SW52YWxpZENoYXJhY3RlcnMoKSkgIT09IGZhbHNlKSB7CiAgICAgICAgICAgIHJldHVybiAnVGhlIGNvb2tpZSBuYW1lIG11c3Qgbm90IGNvbnRhaW4gaW52YWxpZCBjaGFyYWN0ZXJzOiAnIC4gJG5hbWU7CiAgICAgICAgfQoKICAgICAgICAvLyBWYWx1ZSBtdXN0IG5vdCBiZSBlbXB0eSwgYnV0IGNhbiBiZSAwCiAgICAgICAgJHZhbHVlID0gJHRoaXMtPmdldFZhbHVlKCk7CiAgICAgICAgaWYgKGVtcHR5KCR2YWx1ZSkgJiYgIWlzX251bWVyaWMoJHZhbHVlKSkgewogICAgICAgICAgICByZXR1cm4gJ1RoZSBjb29raWUgdmFsdWUgbXVzdCBub3QgYmUgZW1wdHknOwogICAgICAgIH0KCiAgICAgICAgLy8gRG9tYWlucyBtdXN0IG5vdCBiZSBlbXB0eSwgYnV0IGNhbiBiZSAwCiAgICAgICAgLy8gQSAiMCIgaXMgbm90IGEgdmFsaWQgaW50ZXJuZXQgZG9tYWluLCBidXQgbWF5IGJlIHVzZWQgYXMgc2VydmVyIG5hbWUgaW4gYSBwcml2YXRlIG5ldHdvcmsKICAgICAgICAkZG9tYWluID0gJHRoaXMtPmdldERvbWFpbigpOwogICAgICAgIGlmIChlbXB0eSgkZG9tYWluKSAmJiAhaXNfbnVtZXJpYygkZG9tYWluKSkgewogICAgICAgICAgICByZXR1cm4gJ1RoZSBjb29raWUgZG9tYWluIG11c3Qgbm90IGJlIGVtcHR5JzsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IGEgdmFsdWUgYW5kIHJldHVybiB0aGUgY29va2llIG9iamVjdAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSAgIEtleSB0byBzZXQKICAgICAqIEBwYXJhbSBzdHJpbmcgJHZhbHVlIFZhbHVlIHRvIHNldAogICAgICoKICAgICAqIEByZXR1cm4gQ29va2llCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gc2V0RGF0YSgka2V5LCAkdmFsdWUpCiAgICB7CiAgICAgICAgJHRoaXMtPmRhdGFbJGtleV0gPSAkdmFsdWU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/ArrayCookieJar.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENvb2tpZVxDb29raWVKYXI7Cgp1c2UgR3V6emxlXFBsdWdpblxDb29raWVcQ29va2llOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxQYXJzZXJcUGFyc2VyUmVnaXN0cnk7CnVzZSBHdXp6bGVcUGx1Z2luXENvb2tpZVxFeGNlcHRpb25cSW52YWxpZENvb2tpZUV4Y2VwdGlvbjsKCi8qKgogKiBDb29raWUgY29va2llSmFyIHRoYXQgc3RvcmVzIGNvb2tpZXMgYW4gYW4gYXJyYXkKICovCmNsYXNzIEFycmF5Q29va2llSmFyIGltcGxlbWVudHMgQ29va2llSmFySW50ZXJmYWNlLCBcU2VyaWFsaXphYmxlCnsKICAgIC8qKiBAdmFyIGFycmF5IExvYWRlZCBjb29raWUgZGF0YSAqLwogICAgcHJvdGVjdGVkICRjb29raWVzID0gYXJyYXkoKTsKCiAgICAvKiogQHZhciBib29sIFdoZXRoZXIgb3Igbm90IHN0cmljdCBtb2RlIGlzIGVuYWJsZWQuIFdoZW4gZW5hYmxlZCwgZXhjZXB0aW9ucyB3aWxsIGJlIHRocm93biBmb3IgaW52YWxpZCBjb29raWVzICovCiAgICBwcm90ZWN0ZWQgJHN0cmljdE1vZGU7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gYm9vbCAkc3RyaWN0TW9kZSBTZXQgdG8gdHJ1ZSB0byB0aHJvdyBleGNlcHRpb25zIHdoZW4gaW52YWxpZCBjb29raWVzIGFyZSBhZGRlZCB0byB0aGUgY29va2llIGphcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHN0cmljdE1vZGUgPSBmYWxzZSkKICAgIHsKICAgICAgICAkdGhpcy0+c3RyaWN0TW9kZSA9ICRzdHJpY3RNb2RlOwogICAgfQoKICAgIC8qKgogICAgICogRW5hYmxlIG9yIGRpc2FibGUgc3RyaWN0IG1vZGUgb24gdGhlIGNvb2tpZSBqYXIKICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbCAkc3RyaWN0TW9kZSBTZXQgdG8gdHJ1ZSB0byB0aHJvdyBleGNlcHRpb25zIHdoZW4gaW52YWxpZCBjb29raWVzIGFyZSBhZGRlZC4gRmFsc2UgdG8gaWdub3JlIHRoZW0uCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRTdHJpY3RNb2RlKCRzdHJpY3RNb2RlKQogICAgewogICAgICAgICR0aGlzLT5zdHJpY3RNb2RlID0gJHN0cmljdE1vZGU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZSgkZG9tYWluID0gbnVsbCwgJHBhdGggPSBudWxsLCAkbmFtZSA9IG51bGwpCiAgICB7CiAgICAgICAgJGNvb2tpZXMgPSAkdGhpcy0+YWxsKCRkb21haW4sICRwYXRoLCAkbmFtZSwgZmFsc2UsIGZhbHNlKTsKICAgICAgICAkdGhpcy0+Y29va2llcyA9IGFycmF5X2ZpbHRlcigkdGhpcy0+Y29va2llcywgZnVuY3Rpb24gKENvb2tpZSAkY29va2llKSB1c2UgKCRjb29raWVzKSB7CiAgICAgICAgICAgIHJldHVybiAhaW5fYXJyYXkoJGNvb2tpZSwgJGNvb2tpZXMsIHRydWUpOwogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZVRlbXBvcmFyeSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNvb2tpZXMgPSBhcnJheV9maWx0ZXIoJHRoaXMtPmNvb2tpZXMsIGZ1bmN0aW9uIChDb29raWUgJGNvb2tpZSkgewogICAgICAgICAgICByZXR1cm4gISRjb29raWUtPmdldERpc2NhcmQoKSAmJiAkY29va2llLT5nZXRFeHBpcmVzKCk7CiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlRXhwaXJlZCgpCiAgICB7CiAgICAgICAgJGN1cnJlbnRUaW1lID0gdGltZSgpOwogICAgICAgICR0aGlzLT5jb29raWVzID0gYXJyYXlfZmlsdGVyKCR0aGlzLT5jb29raWVzLCBmdW5jdGlvbiAoQ29va2llICRjb29raWUpIHVzZSAoJGN1cnJlbnRUaW1lKSB7CiAgICAgICAgICAgIHJldHVybiAhJGNvb2tpZS0+Z2V0RXhwaXJlcygpIHx8ICRjdXJyZW50VGltZSA8ICRjb29raWUtPmdldEV4cGlyZXMoKTsKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhbGwoJGRvbWFpbiA9IG51bGwsICRwYXRoID0gbnVsbCwgJG5hbWUgPSBudWxsLCAkc2tpcERpc2NhcmRhYmxlID0gZmFsc2UsICRza2lwRXhwaXJlZCA9IHRydWUpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5X3ZhbHVlcyhhcnJheV9maWx0ZXIoJHRoaXMtPmNvb2tpZXMsIGZ1bmN0aW9uIChDb29raWUgJGNvb2tpZSkgdXNlICgKICAgICAgICAgICAgJGRvbWFpbiwKICAgICAgICAgICAgJHBhdGgsCiAgICAgICAgICAgICRuYW1lLAogICAgICAgICAgICAkc2tpcERpc2NhcmRhYmxlLAogICAgICAgICAgICAkc2tpcEV4cGlyZWQKICAgICAgICApIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlID09PSAoKCRuYW1lICYmICRjb29raWUtPmdldE5hbWUoKSAhPSAkbmFtZSkgfHwKICAgICAgICAgICAgICAgICgkc2tpcEV4cGlyZWQgJiYgJGNvb2tpZS0+aXNFeHBpcmVkKCkpIHx8CiAgICAgICAgICAgICAgICAoJHNraXBEaXNjYXJkYWJsZSAmJiAoJGNvb2tpZS0+Z2V0RGlzY2FyZCgpIHx8ICEkY29va2llLT5nZXRFeHBpcmVzKCkpKSB8fAogICAgICAgICAgICAgICAgKCRwYXRoICYmICEkY29va2llLT5tYXRjaGVzUGF0aCgkcGF0aCkpIHx8CiAgICAgICAgICAgICAgICAoJGRvbWFpbiAmJiAhJGNvb2tpZS0+bWF0Y2hlc0RvbWFpbigkZG9tYWluKSkpOwogICAgICAgIH0pKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkKENvb2tpZSAkY29va2llKQogICAgewogICAgICAgIC8vIE9ubHkgYWxsb3cgY29va2llcyB3aXRoIHNldCBhbmQgdmFsaWQgZG9tYWluLCBuYW1lLCB2YWx1ZQogICAgICAgICRyZXN1bHQgPSAkY29va2llLT52YWxpZGF0ZSgpOwogICAgICAgIGlmICgkcmVzdWx0ICE9PSB0cnVlKSB7CiAgICAgICAgICAgIGlmICgkdGhpcy0+c3RyaWN0TW9kZSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRDb29raWVFeGNlcHRpb24oJHJlc3VsdCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIFJlc29sdmUgY29uZmxpY3RzIHdpdGggcHJldmlvdXNseSBzZXQgY29va2llcwogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5jb29raWVzIGFzICRpID0+ICRjKSB7CgogICAgICAgICAgICAvLyBUd28gY29va2llcyBhcmUgaWRlbnRpY2FsLCB3aGVuIHRoZWlyIHBhdGgsIGRvbWFpbiwgcG9ydCBhbmQgbmFtZSBhcmUgaWRlbnRpY2FsCiAgICAgICAgICAgIGlmICgkYy0+Z2V0UGF0aCgpICE9ICRjb29raWUtPmdldFBhdGgoKSB8fAogICAgICAgICAgICAgICAgJGMtPmdldERvbWFpbigpICE9ICRjb29raWUtPmdldERvbWFpbigpIHx8CiAgICAgICAgICAgICAgICAkYy0+Z2V0UG9ydHMoKSAhPSAkY29va2llLT5nZXRQb3J0cygpIHx8CiAgICAgICAgICAgICAgICAkYy0+Z2V0TmFtZSgpICE9ICRjb29raWUtPmdldE5hbWUoKQogICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBUaGUgcHJldmlvdXNseSBzZXQgY29va2llIGlzIGEgZGlzY2FyZCBjb29raWUgYW5kIHRoaXMgb25lIGlzIG5vdCBzbyBhbGxvdyB0aGUgbmV3IGNvb2tpZSB0byBiZSBzZXQKICAgICAgICAgICAgaWYgKCEkY29va2llLT5nZXREaXNjYXJkKCkgJiYgJGMtPmdldERpc2NhcmQoKSkgewogICAgICAgICAgICAgICAgdW5zZXQoJHRoaXMtPmNvb2tpZXNbJGldKTsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBJZiB0aGUgbmV3IGNvb2tpZSdzIGV4cGlyYXRpb24gaXMgZnVydGhlciBpbnRvIHRoZSBmdXR1cmUsIHRoZW4gcmVwbGFjZSB0aGUgb2xkIGNvb2tpZQogICAgICAgICAgICBpZiAoJGNvb2tpZS0+Z2V0RXhwaXJlcygpID4gJGMtPmdldEV4cGlyZXMoKSkgewogICAgICAgICAgICAgICAgdW5zZXQoJHRoaXMtPmNvb2tpZXNbJGldKTsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBJZiB0aGUgdmFsdWUgaGFzIGNoYW5nZWQsIHdlIGJldHRlciBjaGFuZ2UgaXQKICAgICAgICAgICAgaWYgKCRjb29raWUtPmdldFZhbHVlKCkgIT09ICRjLT5nZXRWYWx1ZSgpKSB7CiAgICAgICAgICAgICAgICB1bnNldCgkdGhpcy0+Y29va2llc1skaV0pOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFRoZSBjb29raWUgZXhpc3RzLCBzbyBubyBuZWVkIHRvIGNvbnRpbnVlCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5jb29raWVzW10gPSAkY29va2llOwoKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlcmlhbGl6ZXMgdGhlIGNvb2tpZSBjb29raWVKYXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VyaWFsaXplKCkKICAgIHsKICAgICAgICAvLyBPbmx5IHNlcmlhbGl6ZSBsb25nIHRlcm0gY29va2llcyBhbmQgdW5leHBpcmVkIGNvb2tpZXMKICAgICAgICByZXR1cm4ganNvbl9lbmNvZGUoYXJyYXlfbWFwKGZ1bmN0aW9uIChDb29raWUgJGNvb2tpZSkgewogICAgICAgICAgICByZXR1cm4gJGNvb2tpZS0+dG9BcnJheSgpOwogICAgICAgIH0sICR0aGlzLT5hbGwobnVsbCwgbnVsbCwgbnVsbCwgdHJ1ZSwgdHJ1ZSkpKTsKICAgIH0KCiAgICAvKioKICAgICAqIFVuc2VyaWFsaXplcyB0aGUgY29va2llIGNvb2tpZUphcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdW5zZXJpYWxpemUoJGRhdGEpCiAgICB7CiAgICAgICAgJGRhdGEgPSBqc29uX2RlY29kZSgkZGF0YSwgdHJ1ZSk7CiAgICAgICAgaWYgKGVtcHR5KCRkYXRhKSkgewogICAgICAgICAgICAkdGhpcy0+Y29va2llcyA9IGFycmF5KCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmNvb2tpZXMgPSBhcnJheV9tYXAoZnVuY3Rpb24gKGFycmF5ICRjb29raWUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ29va2llKCRjb29raWUpOwogICAgICAgICAgICB9LCAkZGF0YSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgdG90YWwgbnVtYmVyIG9mIHN0b3JlZCBjb29raWVzCiAgICAgKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNvdW50KCkKICAgIHsKICAgICAgICByZXR1cm4gY291bnQoJHRoaXMtPmNvb2tpZXMpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBpdGVyYXRvcgogICAgICoKICAgICAqIEByZXR1cm4gXEFycmF5SXRlcmF0b3IKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEl0ZXJhdG9yKCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IFxBcnJheUl0ZXJhdG9yKCR0aGlzLT5jb29raWVzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkQ29va2llc0Zyb21SZXNwb25zZShSZXNwb25zZSAkcmVzcG9uc2UsIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgPSBudWxsKQogICAgewogICAgICAgIGlmICgkY29va2llSGVhZGVyID0gJHJlc3BvbnNlLT5nZXRIZWFkZXIoJ1NldC1Db29raWUnKSkgewogICAgICAgICAgICAkcGFyc2VyID0gUGFyc2VyUmVnaXN0cnk6OmdldEluc3RhbmNlKCktPmdldFBhcnNlcignY29va2llJyk7CiAgICAgICAgICAgIGZvcmVhY2ggKCRjb29raWVIZWFkZXIgYXMgJGNvb2tpZSkgewogICAgICAgICAgICAgICAgaWYgKCRwYXJzZWQgPSAkcmVxdWVzdAogICAgICAgICAgICAgICAgICAgID8gJHBhcnNlci0+cGFyc2VDb29raWUoJGNvb2tpZSwgJHJlcXVlc3QtPmdldEhvc3QoKSwgJHJlcXVlc3QtPmdldFBhdGgoKSkKICAgICAgICAgICAgICAgICAgICA6ICRwYXJzZXItPnBhcnNlQ29va2llKCRjb29raWUpCiAgICAgICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgICAgICAvLyBCcmVhayB1cCBjb29raWUgdjIgaW50byBtdWx0aXBsZSBjb29raWVzCiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJHBhcnNlZFsnY29va2llcyddIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRyb3cgPSAkcGFyc2VkOwogICAgICAgICAgICAgICAgICAgICAgICAkcm93WyduYW1lJ10gPSAka2V5OwogICAgICAgICAgICAgICAgICAgICAgICAkcm93Wyd2YWx1ZSddID0gJHZhbHVlOwogICAgICAgICAgICAgICAgICAgICAgICB1bnNldCgkcm93Wydjb29raWVzJ10pOwogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+YWRkKG5ldyBDb29raWUoJHJvdykpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWF0Y2hpbmdDb29raWVzKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QpCiAgICB7CiAgICAgICAgLy8gRmluZCBjb29raWVzIHRoYXQgbWF0Y2ggdGhpcyByZXF1ZXN0CiAgICAgICAgJGNvb2tpZXMgPSAkdGhpcy0+YWxsKCRyZXF1ZXN0LT5nZXRIb3N0KCksICRyZXF1ZXN0LT5nZXRQYXRoKCkpOwogICAgICAgIC8vIFJlbW92ZSBpbmVsaWdpYmxlIGNvb2tpZXMKICAgICAgICBmb3JlYWNoICgkY29va2llcyBhcyAkaW5kZXggPT4gJGNvb2tpZSkgewogICAgICAgICAgICBpZiAoISRjb29raWUtPm1hdGNoZXNQb3J0KCRyZXF1ZXN0LT5nZXRQb3J0KCkpIHx8ICgkY29va2llLT5nZXRTZWN1cmUoKSAmJiAkcmVxdWVzdC0+Z2V0U2NoZW1lKCkgIT0gJ2h0dHBzJykpIHsKICAgICAgICAgICAgICAgIHVuc2V0KCRjb29raWVzWyRpbmRleF0pOwogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuICRjb29raWVzOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/CookieJarInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENvb2tpZVxDb29raWVKYXI7Cgp1c2UgR3V6emxlXFBsdWdpblxDb29raWVcQ29va2llOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCi8qKgogKiBJbnRlcmZhY2UgZm9yIHBlcnNpc3RpbmcgY29va2llcwogKi8KaW50ZXJmYWNlIENvb2tpZUphckludGVyZmFjZSBleHRlbmRzIFxDb3VudGFibGUsIFxJdGVyYXRvckFnZ3JlZ2F0ZQp7CiAgICAvKioKICAgICAqIFJlbW92ZSBjb29raWVzIGN1cnJlbnRseSBoZWxkIGluIHRoZSBDb29raWUgY29va2llSmFyLgogICAgICoKICAgICAqIEludm9raW5nIHRoaXMgbWV0aG9kIHdpdGhvdXQgYXJndW1lbnRzIHdpbGwgZW1wdHkgdGhlIHdob2xlIENvb2tpZSBjb29raWVKYXIuICBJZiBnaXZlbiBhICRkb21haW4gYXJndW1lbnQgb25seQogICAgICogY29va2llcyBiZWxvbmdpbmcgdG8gdGhhdCBkb21haW4gd2lsbCBiZSByZW1vdmVkLiBJZiBnaXZlbiBhICRkb21haW4gYW5kICRwYXRoIGFyZ3VtZW50LCBjb29raWVzIGJlbG9uZ2luZyB0bwogICAgICogdGhlIHNwZWNpZmllZCBwYXRoIHdpdGhpbiB0aGF0IGRvbWFpbiBhcmUgcmVtb3ZlZC4gSWYgZ2l2ZW4gYWxsIHRocmVlIGFyZ3VtZW50cywgdGhlbiB0aGUgY29va2llIHdpdGggdGhlCiAgICAgKiBzcGVjaWZpZWQgbmFtZSwgcGF0aCBhbmQgZG9tYWluIGlzIHJlbW92ZWQuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZG9tYWluIFNldCB0byBjbGVhciBvbmx5IGNvb2tpZXMgbWF0Y2hpbmcgYSBkb21haW4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdGggICBTZXQgdG8gY2xlYXIgb25seSBjb29raWVzIG1hdGNoaW5nIGEgZG9tYWluIGFuZCBwYXRoCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lICAgU2V0IHRvIGNsZWFyIG9ubHkgY29va2llcyBtYXRjaGluZyBhIGRvbWFpbiwgcGF0aCwgYW5kIG5hbWUKICAgICAqCiAgICAgKiBAcmV0dXJuIENvb2tpZUphckludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlKCRkb21haW4gPSBudWxsLCAkcGF0aCA9IG51bGwsICRuYW1lID0gbnVsbCk7CgogICAgLyoqCiAgICAgKiBEaXNjYXJkIGFsbCB0ZW1wb3JhcnkgY29va2llcy4KICAgICAqCiAgICAgKiBTY2FucyBmb3IgYWxsIGNvb2tpZXMgaW4gdGhlIGNvb2tpZUphciB3aXRoIGVpdGhlciBubyBleHBpcmUgZmllbGQgb3IgYSB0cnVlIGRpc2NhcmQgZmxhZy4gVG8gYmUgY2FsbGVkIHdoZW4gdGhlCiAgICAgKiB1c2VyIGFnZW50IHNodXRzIGRvd24gYWNjb3JkaW5nIHRvIFJGQyAyOTY1LgogICAgICoKICAgICAqIEByZXR1cm4gQ29va2llSmFySW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVUZW1wb3JhcnkoKTsKCiAgICAvKioKICAgICAqIERlbGV0ZSBhbnkgZXhwaXJlZCBjb29raWVzCiAgICAgKgogICAgICogQHJldHVybiBDb29raWVKYXJJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZUV4cGlyZWQoKTsKCiAgICAvKioKICAgICAqIEFkZCBhIGNvb2tpZSB0byB0aGUgY29va2llIGNvb2tpZUphcgogICAgICoKICAgICAqIEBwYXJhbSBDb29raWUgJGNvb2tpZSBDb29raWUgdG8gYWRkCiAgICAgKgogICAgICogQHJldHVybiBib29sIFJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzIG9yIGZhbHNlIG9uIGZhaWx1cmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZChDb29raWUgJGNvb2tpZSk7CgogICAgLyoqCiAgICAgKiBBZGQgY29va2llcyBmcm9tIGEge0BzZWUgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZX0gb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIFJlc3BvbnNlICAgICAgICAgJHJlc3BvbnNlIFJlc3BvbnNlIG9iamVjdAogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgIFJlcXVlc3QgdGhhdCByZWNlaXZlZCB0aGUgcmVzcG9uc2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZENvb2tpZXNGcm9tUmVzcG9uc2UoUmVzcG9uc2UgJHJlc3BvbnNlLCBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0ID0gbnVsbCk7CgogICAgLyoqCiAgICAgKiBHZXQgY29va2llcyBtYXRjaGluZyBhIHJlcXVlc3Qgb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgUmVxdWVzdCBvYmplY3QgdG8gbWF0Y2gKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRNYXRjaGluZ0Nvb2tpZXMoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCk7CgogICAgLyoqCiAgICAgKiBHZXQgYWxsIG9mIHRoZSBtYXRjaGluZyBjb29raWVzCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZG9tYWluICAgICAgICAgIERvbWFpbiBvZiB0aGUgY29va2llCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXRoICAgICAgICAgICAgUGF0aCBvZiB0aGUgY29va2llCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lICAgICAgICAgICAgTmFtZSBvZiB0aGUgY29va2llCiAgICAgKiBAcGFyYW0gYm9vbCAgICRza2lwRGlzY2FyZGFibGUgU2V0IHRvIFRSVUUgdG8gc2tpcCBjb29raWVzIHdpdGggdGhlIERpc2NhcmQgYXR0cmlidXRlLgogICAgICogQHBhcmFtIGJvb2wgICAkc2tpcEV4cGlyZWQgICAgIFNldCB0byBGQUxTRSB0byBpbmNsdWRlIGV4cGlyZWQKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IFJldHVybnMgYW4gYXJyYXkgb2YgQ29va2llIG9iamVjdHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFsbCgkZG9tYWluID0gbnVsbCwgJHBhdGggPSBudWxsLCAkbmFtZSA9IG51bGwsICRza2lwRGlzY2FyZGFibGUgPSBmYWxzZSwgJHNraXBFeHBpcmVkID0gdHJ1ZSk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/FileCookieJar.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENvb2tpZVxDb29raWVKYXI7Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKCi8qKgogKiBQZXJzaXN0cyBub24tc2Vzc2lvbiBjb29raWVzIHVzaW5nIGEgSlNPTiBmb3JtYXR0ZWQgZmlsZQogKi8KY2xhc3MgRmlsZUNvb2tpZUphciBleHRlbmRzIEFycmF5Q29va2llSmFyCnsKICAgIC8qKiBAdmFyIHN0cmluZyBmaWxlbmFtZSAqLwogICAgcHJvdGVjdGVkICRmaWxlbmFtZTsKCiAgICAvKioKICAgICAqIENyZWF0ZSBhIG5ldyBGaWxlQ29va2llSmFyIG9iamVjdAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGNvb2tpZUZpbGUgRmlsZSB0byBzdG9yZSB0aGUgY29va2llIGRhdGEKICAgICAqCiAgICAgKiBAdGhyb3dzIFJ1bnRpbWVFeGNlcHRpb24gaWYgdGhlIGZpbGUgY2Fubm90IGJlIGZvdW5kIG9yIGNyZWF0ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb29raWVGaWxlKQogICAgewogICAgICAgICR0aGlzLT5maWxlbmFtZSA9ICRjb29raWVGaWxlOwogICAgICAgICR0aGlzLT5sb2FkKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTYXZlcyB0aGUgZmlsZSB3aGVuIHNodXR0aW5nIGRvd24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fZGVzdHJ1Y3QoKQogICAgewogICAgICAgICR0aGlzLT5wZXJzaXN0KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTYXZlIHRoZSBjb250ZW50cyBvZiB0aGUgZGF0YSBhcnJheSB0byB0aGUgZmlsZQogICAgICoKICAgICAqIEB0aHJvd3MgUnVudGltZUV4Y2VwdGlvbiBpZiB0aGUgZmlsZSBjYW5ub3QgYmUgZm91bmQgb3IgY3JlYXRlZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcGVyc2lzdCgpCiAgICB7CiAgICAgICAgaWYgKGZhbHNlID09PSBmaWxlX3B1dF9jb250ZW50cygkdGhpcy0+ZmlsZW5hbWUsICR0aGlzLT5zZXJpYWxpemUoKSkpIHsKICAgICAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZVN0YXJ0CiAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKCdVbmFibGUgdG8gb3BlbiBmaWxlICcgLiAkdGhpcy0+ZmlsZW5hbWUpOwogICAgICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlRW5kCiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogTG9hZCB0aGUgY29udGVudHMgb2YgdGhlIGpzb24gZm9ybWF0dGVkIGZpbGUgaW50byB0aGUgZGF0YSBhcnJheSBhbmQgZGlzY2FyZCBhbnkgdW5zYXZlZCBzdGF0ZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gbG9hZCgpCiAgICB7CiAgICAgICAgJGpzb24gPSBmaWxlX2dldF9jb250ZW50cygkdGhpcy0+ZmlsZW5hbWUpOwogICAgICAgIGlmIChmYWxzZSA9PT0gJGpzb24pIHsKICAgICAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZVN0YXJ0CiAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKCdVbmFibGUgdG8gb3BlbiBmaWxlICcgLiAkdGhpcy0+ZmlsZW5hbWUpOwogICAgICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlRW5kCiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+dW5zZXJpYWxpemUoJGpzb24pOwogICAgICAgICR0aGlzLT5jb29raWVzID0gJHRoaXMtPmNvb2tpZXMgPzogYXJyYXkoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookiePlugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENvb2tpZTsKCnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgR3V6emxlXFBsdWdpblxDb29raWVcQ29va2llSmFyXEFycmF5Q29va2llSmFyOwp1c2UgR3V6emxlXFBsdWdpblxDb29raWVcQ29va2llSmFyXENvb2tpZUphckludGVyZmFjZTsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CgovKioKICogQWRkcywgZXh0cmFjdHMsIGFuZCBwZXJzaXN0cyBjb29raWVzIGJldHdlZW4gSFRUUCByZXF1ZXN0cwogKi8KY2xhc3MgQ29va2llUGx1Z2luIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIENvb2tpZUphckludGVyZmFjZSBDb29raWUgY29va2llSmFyIHVzZWQgdG8gaG9sZCBjb29raWVzICovCiAgICBwcm90ZWN0ZWQgJGNvb2tpZUphcjsKCiAgICAvKioKICAgICAqIEBwYXJhbSBDb29raWVKYXJJbnRlcmZhY2UgJGNvb2tpZUphciBDb29raWUgamFyIHVzZWQgdG8gaG9sZCBjb29raWVzLiBDcmVhdGVzIGFuIEFycmF5Q29va2llSmFyIGJ5IGRlZmF1bHQuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChDb29raWVKYXJJbnRlcmZhY2UgJGNvb2tpZUphciA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPmNvb2tpZUphciA9ICRjb29raWVKYXIgPzogbmV3IEFycmF5Q29va2llSmFyKCk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTdWJzY3JpYmVkRXZlbnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgICdyZXF1ZXN0LmJlZm9yZV9zZW5kJyA9PiBhcnJheSgnb25SZXF1ZXN0QmVmb3JlU2VuZCcsIDEyNSksCiAgICAgICAgICAgICdyZXF1ZXN0LnNlbnQnICAgICAgICA9PiBhcnJheSgnb25SZXF1ZXN0U2VudCcsIDEyNSkKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBjb29raWUgY29va2llSmFyCiAgICAgKgogICAgICogQHJldHVybiBDb29raWVKYXJJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENvb2tpZUphcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jb29raWVKYXI7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgY29va2llcyBiZWZvcmUgYSByZXF1ZXN0IGlzIHNlbnQKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvblJlcXVlc3RCZWZvcmVTZW5kKEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9ICRldmVudFsncmVxdWVzdCddOwogICAgICAgIGlmICghJHJlcXVlc3QtPmdldFBhcmFtcygpLT5nZXQoJ2Nvb2tpZXMuZGlzYWJsZScpKSB7CiAgICAgICAgICAgICRyZXF1ZXN0LT5yZW1vdmVIZWFkZXIoJ0Nvb2tpZScpOwogICAgICAgICAgICAvLyBGaW5kIGNvb2tpZXMgdGhhdCBtYXRjaCB0aGlzIHJlcXVlc3QKICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmNvb2tpZUphci0+Z2V0TWF0Y2hpbmdDb29raWVzKCRyZXF1ZXN0KSBhcyAkY29va2llKSB7CiAgICAgICAgICAgICAgICAkcmVxdWVzdC0+YWRkQ29va2llKCRjb29raWUtPmdldE5hbWUoKSwgJGNvb2tpZS0+Z2V0VmFsdWUoKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBFeHRyYWN0IGNvb2tpZXMgZnJvbSBhIHNlbnQgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBFdmVudCAkZXZlbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9uUmVxdWVzdFNlbnQoRXZlbnQgJGV2ZW50KQogICAgewogICAgICAgICR0aGlzLT5jb29raWVKYXItPmFkZENvb2tpZXNGcm9tUmVzcG9uc2UoJGV2ZW50WydyZXNwb25zZSddLCAkZXZlbnRbJ3JlcXVlc3QnXSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cookie/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Cookie/Exception/InvalidCookieException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXENvb2tpZVxFeGNlcHRpb247Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwoKY2xhc3MgSW52YWxpZENvb2tpZUV4Y2VwdGlvbiBleHRlbmRzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3BsdWdpbi1jdXJsYXV0aCIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3V6emxlIGNVUkwgYXV0aG9yaXphdGlvbiBwbHVnaW4iLAogICAgImhvbWVwYWdlIjogImh0dHA6Ly9ndXp6bGVwaHAub3JnLyIsCiAgICAia2V5d29yZHMiOiBbInBsdWdpbiIsICJjdXJsIiwgImd1enpsZSJdLAogICAgImxpY2Vuc2UiOiAiTUlUIiwKICAgICJhdXRob3JzIjogWwogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAiTWljaGFlbCBEb3dsaW5nIiwKICAgICAgICAgICAgImVtYWlsIjogIm10ZG93bGluZ0BnbWFpbC5jb20iLAogICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly9naXRodWIuY29tL210ZG93bGluZyIKICAgICAgICB9CiAgICBdLAogICAgInJlcXVpcmUiOiB7CiAgICAgICAgInBocCI6ICI+PTUuMy4yIiwKICAgICAgICAiZ3V6emxlL2h0dHAiOiAic2VsZi52ZXJzaW9uIgogICAgfSwKICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAicHNyLTAiOiB7ICJHdXp6bGVcXFBsdWdpblxcQ3VybEF1dGgiOiAiIiB9CiAgICB9LAogICAgInRhcmdldC1kaXIiOiAiR3V6emxlL1BsdWdpbi9DdXJsQXV0aCIsCiAgICAiZXh0cmEiOiB7CiAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMy43LWRldiIKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/CurlAuthPlugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEN1cmxBdXRoOwoKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBHdXp6bGVcQ29tbW9uXFZlcnNpb247CnVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlOwoKLyoqCiAqIEFkZHMgc3BlY2lmaWVkIGN1cmwgYXV0aCB0byBhbGwgcmVxdWVzdHMgc2VudCBmcm9tIGEgY2xpZW50LiBEZWZhdWx0cyB0byBDVVJMQVVUSF9CQVNJQyBpZiBub25lIHN1cHBsaWVkLgogKiBAZGVwcmVjYXRlZCBVc2UgJGNsaWVudC0+Z2V0Q29uZmlnKCktPnNldFBhdGgoJ3JlcXVlc3Qub3B0aW9ucy9hdXRoJywgYXJyYXkoJ3VzZXInLCAncGFzcycsICdCYXNpY3xEaWdlc3QnKTsKICovCmNsYXNzIEN1cmxBdXRoUGx1Z2luIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCnsKICAgIHByaXZhdGUgJHVzZXJuYW1lOwogICAgcHJpdmF0ZSAkcGFzc3dvcmQ7CiAgICBwcml2YXRlICRzY2hlbWU7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1c2VybmFtZSBIVFRQIGJhc2ljIGF1dGggdXNlcm5hbWUKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhc3N3b3JkIFBhc3N3b3JkCiAgICAgKiBAcGFyYW0gaW50ICAgICRzY2hlbWUgICBDdXJsIGF1dGggc2NoZW1lCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkdXNlcm5hbWUsICRwYXNzd29yZCwgJHNjaGVtZT1DVVJMQVVUSF9CQVNJQykKICAgIHsKICAgICAgICBWZXJzaW9uOjp3YXJuKF9fQ0xBU1NfXyAuICIgaXMgZGVwcmVjYXRlZC4gVXNlIFwkY2xpZW50LT5nZXRDb25maWcoKS0+c2V0UGF0aCgncmVxdWVzdC5vcHRpb25zL2F1dGgnLCBhcnJheSgndXNlcicsICdwYXNzJywgJ0Jhc2ljfERpZ2VzdCcpOyIpOwogICAgICAgICR0aGlzLT51c2VybmFtZSA9ICR1c2VybmFtZTsKICAgICAgICAkdGhpcy0+cGFzc3dvcmQgPSAkcGFzc3dvcmQ7CiAgICAgICAgJHRoaXMtPnNjaGVtZSA9ICRzY2hlbWU7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTdWJzY3JpYmVkRXZlbnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoJ2NsaWVudC5jcmVhdGVfcmVxdWVzdCcgPT4gYXJyYXkoJ29uUmVxdWVzdENyZWF0ZScsIDI1NSkpOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGJhc2ljIGF1dGgKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvblJlcXVlc3RDcmVhdGUoRXZlbnQgJGV2ZW50KQogICAgewogICAgICAgICRldmVudFsncmVxdWVzdCddLT5zZXRBdXRoKCR0aGlzLT51c2VybmFtZSwgJHRoaXMtPnBhc3N3b3JkLCAkdGhpcy0+c2NoZW1lKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3BsdWdpbi1lcnJvci1yZXNwb25zZSIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3V6emxlIGVycm9yUmVzcG9uc2UgcGx1Z2luIGZvciBjcmVhdGluZyBlcnJvciBleGNlcHRpb25zIGJhc2VkIG9uIGEgc2VydmljZSBkZXNjcmlwdGlvbiIsCiAgICAiaG9tZXBhZ2UiOiAiaHR0cDovL2d1enpsZXBocC5vcmcvIiwKICAgICJrZXl3b3JkcyI6IFsicGx1Z2luIiwgImd1enpsZSJdLAogICAgImxpY2Vuc2UiOiAiTUlUIiwKICAgICJhdXRob3JzIjogWwogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAiTWljaGFlbCBEb3dsaW5nIiwKICAgICAgICAgICAgImVtYWlsIjogIm10ZG93bGluZ0BnbWFpbC5jb20iLAogICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly9naXRodWIuY29tL210ZG93bGluZyIKICAgICAgICB9CiAgICBdLAogICAgInJlcXVpcmUiOiB7CiAgICAgICAgInBocCI6ICI+PTUuMy4yIiwKICAgICAgICAiZ3V6emxlL3NlcnZpY2UiOiAic2VsZi52ZXJzaW9uIgogICAgfSwKICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAicHNyLTAiOiB7ICJHdXp6bGVcXFBsdWdpblxcRXJyb3JSZXNwb25zZSI6ICIiIH0KICAgIH0sCiAgICAidGFyZ2V0LWRpciI6ICJHdXp6bGUvUGx1Z2luL0Vycm9yUmVzcG9uc2UiLAogICAgImV4dHJhIjogewogICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjMuNy1kZXYiCiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/ErrorResponseExceptionInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEVycm9yUmVzcG9uc2U7Cgp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCi8qKgogKiBJbnRlcmZhY2UgdXNlZCB0byBjcmVhdGUgYW4gZXhjZXB0aW9uIGZyb20gYW4gZXJyb3IgcmVzcG9uc2UKICovCmludGVyZmFjZSBFcnJvclJlc3BvbnNlRXhjZXB0aW9uSW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIGV4Y2VwdGlvbiBmb3IgYSBjb21tYW5kIGJhc2VkIG9uIGEgY29tbWFuZCBhbmQgYW4gZXJyb3IgcmVzcG9uc2UgZGVmaW5pdGlvbgogICAgICoKICAgICAqIEBwYXJhbSBDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kICBDb21tYW5kIHRoYXQgd2FzIHNlbnQKICAgICAqIEBwYXJhbSBSZXNwb25zZSAgICAgICAgICRyZXNwb25zZSBUaGUgZXJyb3IgcmVzcG9uc2UKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmcm9tQ29tbWFuZChDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLCBSZXNwb25zZSAkcmVzcG9uc2UpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/ErrorResponsePlugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEVycm9yUmVzcG9uc2U7Cgp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXE9wZXJhdGlvbjsKdXNlIEd1enpsZVxQbHVnaW5cRXJyb3JSZXNwb25zZVxFeGNlcHRpb25cRXJyb3JSZXNwb25zZUV4Y2VwdGlvbjsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CgovKioKICogQ29udmVydHMgZ2VuZXJpYyBHdXp6bGUgcmVzcG9uc2UgZXhjZXB0aW9ucyBpbnRvIGVycm9yUmVzcG9uc2UgZXhjZXB0aW9ucwogKi8KY2xhc3MgRXJyb3JSZXNwb25zZVBsdWdpbiBpbXBsZW1lbnRzIEV2ZW50U3Vic2NyaWJlckludGVyZmFjZQp7CiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFN1YnNjcmliZWRFdmVudHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgnY29tbWFuZC5iZWZvcmVfc2VuZCcgPT4gYXJyYXkoJ29uQ29tbWFuZEJlZm9yZVNlbmQnLCAtMSkpOwogICAgfQoKICAgIC8qKgogICAgICogQWRkcyBhIGxpc3RlbmVyIHRvIHJlcXVlc3RzIGJlZm9yZSB0aGV5IHNlbnQgZnJvbSBhIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50IEV2ZW50IGVtaXR0ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9uQ29tbWFuZEJlZm9yZVNlbmQoRXZlbnQgJGV2ZW50KQogICAgewogICAgICAgICRjb21tYW5kID0gJGV2ZW50Wydjb21tYW5kJ107CiAgICAgICAgaWYgKCRvcGVyYXRpb24gPSAkY29tbWFuZC0+Z2V0T3BlcmF0aW9uKCkpIHsKICAgICAgICAgICAgaWYgKCRvcGVyYXRpb24tPmdldEVycm9yUmVzcG9uc2VzKCkpIHsKICAgICAgICAgICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPmdldFJlcXVlc3QoKTsKICAgICAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRFdmVudERpc3BhdGNoZXIoKQogICAgICAgICAgICAgICAgICAgIC0+YWRkTGlzdGVuZXIoJ3JlcXVlc3QuY29tcGxldGUnLCAkdGhpcy0+Z2V0RXJyb3JDbG9zdXJlKCRyZXF1ZXN0LCAkY29tbWFuZCwgJG9wZXJhdGlvbikpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgICBSZXF1ZXN0IHRoYXQgcmVjZWl2ZWQgYW4gZXJyb3IKICAgICAqIEBwYXJhbSBDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kICAgQ29tbWFuZCB0aGF0IGNyZWF0ZWQgdGhlIHJlcXVlc3QKICAgICAqIEBwYXJhbSBPcGVyYXRpb24gICAgICAgICRvcGVyYXRpb24gT3BlcmF0aW9uIHRoYXQgZGVmaW5lcyB0aGUgcmVxdWVzdCBhbmQgZXJyb3JzCiAgICAgKgogICAgICogQHJldHVybiBcQ2xvc3VyZSBSZXR1cm5zIGEgY2xvc3VyZQogICAgICogQHRocm93cyBFcnJvclJlc3BvbnNlRXhjZXB0aW9uCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRFcnJvckNsb3N1cmUoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwgT3BlcmF0aW9uICRvcGVyYXRpb24pCiAgICB7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChFdmVudCAkZXZlbnQpIHVzZSAoJHJlcXVlc3QsICRjb21tYW5kLCAkb3BlcmF0aW9uKSB7CiAgICAgICAgICAgICRyZXNwb25zZSA9ICRldmVudFsncmVzcG9uc2UnXTsKICAgICAgICAgICAgZm9yZWFjaCAoJG9wZXJhdGlvbi0+Z2V0RXJyb3JSZXNwb25zZXMoKSBhcyAkZXJyb3IpIHsKICAgICAgICAgICAgICAgIGlmICghaXNzZXQoJGVycm9yWydjbGFzcyddKSkgewogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRlcnJvclsnY29kZSddKSAmJiAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSAhPSAkZXJyb3JbJ2NvZGUnXSkgewogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRlcnJvclsncmVhc29uJ10pICYmICRyZXNwb25zZS0+Z2V0UmVhc29uUGhyYXNlKCkgIT0gJGVycm9yWydyZWFzb24nXSkgewogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJGNsYXNzTmFtZSA9ICRlcnJvclsnY2xhc3MnXTsKICAgICAgICAgICAgICAgICRlcnJvckNsYXNzSW50ZXJmYWNlID0gX19OQU1FU1BBQ0VfXyAuICdcXEVycm9yUmVzcG9uc2VFeGNlcHRpb25JbnRlcmZhY2UnOwogICAgICAgICAgICAgICAgaWYgKCFjbGFzc19leGlzdHMoJGNsYXNzTmFtZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3JSZXNwb25zZUV4Y2VwdGlvbigieyRjbGFzc05hbWV9IGRvZXMgbm90IGV4aXN0Iik7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoIWlzX3N1YmNsYXNzX29mKCRjbGFzc05hbWUsICRlcnJvckNsYXNzSW50ZXJmYWNlKSkgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvclJlc3BvbnNlRXhjZXB0aW9uKCJ7JGNsYXNzTmFtZX0gbXVzdCBpbXBsZW1lbnQgeyRlcnJvckNsYXNzSW50ZXJmYWNlfSIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdGhyb3cgJGNsYXNzTmFtZTo6ZnJvbUNvbW1hbmQoJGNvbW1hbmQsICRyZXNwb25zZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9OwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/Exception/ErrorResponseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEVycm9yUmVzcG9uc2VcRXhjZXB0aW9uOwoKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb247CgpjbGFzcyBFcnJvclJlc3BvbnNlRXhjZXB0aW9uIGV4dGVuZHMgUnVudGltZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/History/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/History/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3BsdWdpbi1oaXN0b3J5IiwKICAgICJkZXNjcmlwdGlvbiI6ICJHdXp6bGUgaGlzdG9yeSBwbHVnaW4iLAogICAgImhvbWVwYWdlIjogImh0dHA6Ly9ndXp6bGVwaHAub3JnLyIsCiAgICAia2V5d29yZHMiOiBbInBsdWdpbiIsICJndXp6bGUiXSwKICAgICJsaWNlbnNlIjogIk1JVCIsCiAgICAiYXV0aG9ycyI6IFsKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogIk1pY2hhZWwgRG93bGluZyIsCiAgICAgICAgICAgICJlbWFpbCI6ICJtdGRvd2xpbmdAZ21haWwuY29tIiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tdGRvd2xpbmciCiAgICAgICAgfQogICAgXSwKICAgICJyZXF1aXJlIjogewogICAgICAgICJwaHAiOiAiPj01LjMuMiIsCiAgICAgICAgImd1enpsZS9odHRwIjogInNlbGYudmVyc2lvbiIKICAgIH0sCiAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgInBzci0wIjogeyAiR3V6emxlXFxQbHVnaW5cXEhpc3RvcnkiOiAiIiB9CiAgICB9LAogICAgInRhcmdldC1kaXIiOiAiR3V6emxlL1BsdWdpbi9IaXN0b3J5IiwKICAgICJleHRyYSI6IHsKICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAiZGV2LW1hc3RlciI6ICIzLjctZGV2IgogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/History/HistoryPlugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXEhpc3Rvcnk7Cgp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlOwoKLyoqCiAqIE1haW50YWlucyBhIGxpc3Qgb2YgcmVxdWVzdHMgYW5kIHJlc3BvbnNlcyBzZW50IHVzaW5nIGEgcmVxdWVzdCBvciBjbGllbnQKICovCmNsYXNzIEhpc3RvcnlQbHVnaW4gaW1wbGVtZW50cyBFdmVudFN1YnNjcmliZXJJbnRlcmZhY2UsIFxJdGVyYXRvckFnZ3JlZ2F0ZSwgXENvdW50YWJsZQp7CiAgICAvKiogQHZhciBpbnQgVGhlIG1heGltdW0gbnVtYmVyIG9mIHJlcXVlc3RzIHRvIG1haW50YWluIGluIHRoZSBoaXN0b3J5ICovCiAgICBwcm90ZWN0ZWQgJGxpbWl0ID0gMTA7CgogICAgLyoqIEB2YXIgYXJyYXkgUmVxdWVzdHMgYW5kIHJlc3BvbnNlcyB0aGF0IGhhdmUgcGFzc2VkIHRocm91Z2ggdGhlIHBsdWdpbiAqLwogICAgcHJvdGVjdGVkICR0cmFuc2FjdGlvbnMgPSBhcnJheSgpOwoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KCdyZXF1ZXN0LnNlbnQnID0+IGFycmF5KCdvblJlcXVlc3RTZW50JywgOTk5OSkpOwogICAgfQoKICAgIC8qKgogICAgICogQ29udmVydCB0byBhIHN0cmluZyB0aGF0IGNvbnRhaW5zIGFsbCByZXF1ZXN0IGFuZCByZXNwb25zZSBoZWFkZXJzCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQogICAgewogICAgICAgICRsaW5lcyA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnRyYW5zYWN0aW9ucyBhcyAkZW50cnkpIHsKICAgICAgICAgICAgJHJlc3BvbnNlID0gaXNzZXQoJGVudHJ5WydyZXNwb25zZSddKSA/ICRlbnRyeVsncmVzcG9uc2UnXSA6ICcnOwogICAgICAgICAgICAkbGluZXNbXSA9ICc+ICcgLiB0cmltKCRlbnRyeVsncmVxdWVzdCddKSAuICJcblxuPCAiIC4gdHJpbSgkcmVzcG9uc2UpIC4gIlxuIjsKICAgICAgICB9CgogICAgICAgIHJldHVybiBpbXBsb2RlKCJcbiIsICRsaW5lcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYSByZXF1ZXN0IHRvIHRoZSBoaXN0b3J5CiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgIFJlcXVlc3QgdG8gYWRkCiAgICAgKiBAcGFyYW0gUmVzcG9uc2UgICAgICAgICAkcmVzcG9uc2UgUmVzcG9uc2Ugb2YgdGhlIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIEhpc3RvcnlQbHVnaW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBSZXNwb25zZSAkcmVzcG9uc2UgPSBudWxsKQogICAgewogICAgICAgIGlmICghJHJlc3BvbnNlICYmICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpKSB7CiAgICAgICAgICAgICRyZXNwb25zZSA9ICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnRyYW5zYWN0aW9uc1tdID0gYXJyYXkoJ3JlcXVlc3QnID0+ICRyZXF1ZXN0LCAncmVzcG9uc2UnID0+ICRyZXNwb25zZSk7CiAgICAgICAgaWYgKGNvdW50KCR0aGlzLT50cmFuc2FjdGlvbnMpID4gJHRoaXMtPmdldGxpbWl0KCkpIHsKICAgICAgICAgICAgYXJyYXlfc2hpZnQoJHRoaXMtPnRyYW5zYWN0aW9ucyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIG1heCBudW1iZXIgb2YgcmVxdWVzdHMgdG8gc3RvcmUKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCBMaW1pdAogICAgICoKICAgICAqIEByZXR1cm4gSGlzdG9yeVBsdWdpbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0TGltaXQoJGxpbWl0KQogICAgewogICAgICAgICR0aGlzLT5saW1pdCA9IChpbnQpICRsaW1pdDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSByZXF1ZXN0IGxpbWl0CiAgICAgKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldExpbWl0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmxpbWl0OwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFsbCBvZiB0aGUgcmF3IHRyYW5zYWN0aW9ucyBpbiB0aGUgZm9ybSBvZiBhbiBhcnJheSBvZiBhc3NvY2lhdGl2ZSBhcnJheXMgY29udGFpbmluZwogICAgICogJ3JlcXVlc3QnIGFuZCAncmVzcG9uc2UnIGtleXMuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QWxsKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnRyYW5zYWN0aW9uczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcmVxdWVzdHMgaW4gdGhlIGhpc3RvcnkKICAgICAqCiAgICAgKiBAcmV0dXJuIFxBcnJheUl0ZXJhdG9yCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJdGVyYXRvcigpCiAgICB7CiAgICAgICAgLy8gUmV0dXJuIGFuIGl0ZXJhdG9yIGp1c3QgbGlrZSB0aGUgb2xkIGl0ZXJhdGlvbiBvZiB0aGUgSGlzdG9yeVBsdWdpbiBmb3IgQkMgY29tcGF0aWJpbGl0eSAodXNlIGdldEFsbCgpKQogICAgICAgIHJldHVybiBuZXcgXEFycmF5SXRlcmF0b3IoYXJyYXlfbWFwKGZ1bmN0aW9uICgkZW50cnkpIHsKICAgICAgICAgICAgJGVudHJ5WydyZXF1ZXN0J10tPmdldFBhcmFtcygpLT5zZXQoJ2FjdHVhbF9yZXNwb25zZScsICRlbnRyeVsncmVzcG9uc2UnXSk7CiAgICAgICAgICAgIHJldHVybiAkZW50cnlbJ3JlcXVlc3QnXTsKICAgICAgICB9LCAkdGhpcy0+dHJhbnNhY3Rpb25zKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG51bWJlciBvZiByZXF1ZXN0cyBpbiB0aGUgaGlzdG9yeQogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb3VudCgpCiAgICB7CiAgICAgICAgcmV0dXJuIGNvdW50KCR0aGlzLT50cmFuc2FjdGlvbnMpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBsYXN0IHJlcXVlc3Qgc2VudAogICAgICoKICAgICAqIEByZXR1cm4gUmVxdWVzdEludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGFzdFJlcXVlc3QoKQogICAgewogICAgICAgICRsYXN0ID0gZW5kKCR0aGlzLT50cmFuc2FjdGlvbnMpOwoKICAgICAgICByZXR1cm4gJGxhc3RbJ3JlcXVlc3QnXTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbGFzdCByZXNwb25zZSBpbiB0aGUgaGlzdG9yeQogICAgICoKICAgICAqIEByZXR1cm4gUmVzcG9uc2V8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGFzdFJlc3BvbnNlKCkKICAgIHsKICAgICAgICAkbGFzdCA9IGVuZCgkdGhpcy0+dHJhbnNhY3Rpb25zKTsKCiAgICAgICAgcmV0dXJuIGlzc2V0KCRsYXN0WydyZXNwb25zZSddKSA/ICRsYXN0WydyZXNwb25zZSddIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIENsZWFycyB0aGUgaGlzdG9yeQogICAgICoKICAgICAqIEByZXR1cm4gSGlzdG9yeVBsdWdpbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xlYXIoKQogICAgewogICAgICAgICR0aGlzLT50cmFuc2FjdGlvbnMgPSBhcnJheSgpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG9uUmVxdWVzdFNlbnQoRXZlbnQgJGV2ZW50KQogICAgewogICAgICAgICR0aGlzLT5hZGQoJGV2ZW50WydyZXF1ZXN0J10sICRldmVudFsncmVzcG9uc2UnXSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Log/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Log/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3BsdWdpbi1sb2ciLAogICAgImRlc2NyaXB0aW9uIjogIkd1enpsZSBsb2cgcGx1Z2luIGZvciBvdmVyIHRoZSB3aXJlIGxvZ2dpbmciLAogICAgImhvbWVwYWdlIjogImh0dHA6Ly9ndXp6bGVwaHAub3JnLyIsCiAgICAia2V5d29yZHMiOiBbInBsdWdpbiIsICJsb2ciLCAiZ3V6emxlIl0sCiAgICAibGljZW5zZSI6ICJNSVQiLAogICAgImF1dGhvcnMiOiBbCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJNaWNoYWVsIERvd2xpbmciLAogICAgICAgICAgICAiZW1haWwiOiAibXRkb3dsaW5nQGdtYWlsLmNvbSIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRkb3dsaW5nIgogICAgICAgIH0KICAgIF0sCiAgICAicmVxdWlyZSI6IHsKICAgICAgICAicGhwIjogIj49NS4zLjIiLAogICAgICAgICJndXp6bGUvaHR0cCI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvbG9nIjogInNlbGYudmVyc2lvbiIKICAgIH0sCiAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgInBzci0wIjogeyAiR3V6emxlXFxQbHVnaW5cXExvZyI6ICIiIH0KICAgIH0sCiAgICAidGFyZ2V0LWRpciI6ICJHdXp6bGUvUGx1Z2luL0xvZyIsCiAgICAiZXh0cmEiOiB7CiAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMy43LWRldiIKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Log/LogPlugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXExvZzsKCnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgR3V6emxlXExvZ1xMb2dBZGFwdGVySW50ZXJmYWNlOwp1c2UgR3V6emxlXExvZ1xNZXNzYWdlRm9ybWF0dGVyOwp1c2UgR3V6emxlXExvZ1xDbG9zdXJlTG9nQWRhcHRlcjsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2U7CnVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlOwoKLyoqCiAqIFBsdWdpbiBjbGFzcyB0aGF0IHdpbGwgYWRkIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGxvZ2dpbmcgdG8gYW4gSFRUUCByZXF1ZXN0LgogKgogKiBUaGUgbG9nIHBsdWdpbiB1c2VzIGEgbWVzc2FnZSBmb3JtYXR0ZXIgdGhhdCBhbGxvd3MgY3VzdG9tIG1lc3NhZ2VzIHZpYSB0ZW1wbGF0ZSB2YXJpYWJsZSBzdWJzdGl0dXRpb24uCiAqCiAqIEBzZWUgTWVzc2FnZUxvZ2dlciBmb3IgYSBsaXN0IG9mIGF2YWlsYWJsZSBsb2cgdGVtcGxhdGUgdmFyaWFibGUgc3Vic3RpdHV0aW9ucwogKi8KY2xhc3MgTG9nUGx1Z2luIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIExvZ0FkYXB0ZXJJbnRlcmZhY2UgQWRhcHRlciByZXNwb25zaWJsZSBmb3Igd3JpdGluZyBsb2cgZGF0YSAqLwogICAgcHJvdGVjdGVkICRsb2dBZGFwdGVyOwoKICAgIC8qKiBAdmFyIE1lc3NhZ2VGb3JtYXR0ZXIgRm9ybWF0dGVyIHVzZWQgdG8gZm9ybWF0IG1lc3NhZ2VzIGJlZm9yZSBsb2dnaW5nICovCiAgICBwcm90ZWN0ZWQgJGZvcm1hdHRlcjsKCiAgICAvKiogQHZhciBib29sIFdoZXRoZXIgb3Igbm90IHRvIHdpcmUgcmVxdWVzdCBhbmQgcmVzcG9uc2UgYm9kaWVzICovCiAgICBwcm90ZWN0ZWQgJHdpcmVCb2RpZXM7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gTG9nQWRhcHRlckludGVyZmFjZSAgICAgJGxvZ0FkYXB0ZXIgQWRhcHRlciBvYmplY3QgdXNlZCB0byBsb2cgbWVzc2FnZQogICAgICogQHBhcmFtIHN0cmluZ3xNZXNzYWdlRm9ybWF0dGVyICRmb3JtYXR0ZXIgIEZvcm1hdHRlciB1c2VkIHRvIGZvcm1hdCBsb2cgbWVzc2FnZXMgb3IgdGhlIGZvcm1hdHRlciB0ZW1wbGF0ZQogICAgICogQHBhcmFtIGJvb2wgICAgICAgICAgICAgICAgICAgICR3aXJlQm9kaWVzIFNldCB0byB0cnVlIHRvIHRyYWNrIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGJvZGllcyB1c2luZyBhIHRlbXBvcmFyeQogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlciBpZiB0aGUgYm9kaWVzIGFyZSBub3QgcmVwZWF0YWJsZS4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KAogICAgICAgIExvZ0FkYXB0ZXJJbnRlcmZhY2UgJGxvZ0FkYXB0ZXIsCiAgICAgICAgJGZvcm1hdHRlciA9IG51bGwsCiAgICAgICAgJHdpcmVCb2RpZXMgPSBmYWxzZQogICAgKSB7CiAgICAgICAgJHRoaXMtPmxvZ0FkYXB0ZXIgPSAkbG9nQWRhcHRlcjsKICAgICAgICAkdGhpcy0+Zm9ybWF0dGVyID0gJGZvcm1hdHRlciBpbnN0YW5jZW9mIE1lc3NhZ2VGb3JtYXR0ZXIgPyAkZm9ybWF0dGVyIDogbmV3IE1lc3NhZ2VGb3JtYXR0ZXIoJGZvcm1hdHRlcik7CiAgICAgICAgJHRoaXMtPndpcmVCb2RpZXMgPSAkd2lyZUJvZGllczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhIGxvZyBwbHVnaW4gdGhhdCBvdXRwdXRzIGZ1bGwgcmVxdWVzdCwgcmVzcG9uc2UsIGFuZCBjdXJsIGVycm9yIGluZm9ybWF0aW9uIHRvIHN0ZGVycgogICAgICoKICAgICAqIEBwYXJhbSBib29sICAgICAkd2lyZUJvZGllcyBTZXQgdG8gZmFsc2UgdG8gZGlzYWJsZSByZXF1ZXN0L3Jlc3BvbnNlIGJvZHkgb3V0cHV0IHdoZW4gdGhleSB1c2UgYXJlIG5vdCByZXBlYXRhYmxlCiAgICAgKiBAcGFyYW0gcmVzb3VyY2UgJHN0cmVhbSAgICAgU3RyZWFtIHRvIHdyaXRlIHRvIHdoZW4gbG9nZ2luZy4gRGVmYXVsdHMgdG8gU1RERVJSIHdoZW4gaXQgaXMgYXZhaWxhYmxlCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0RGVidWdQbHVnaW4oJHdpcmVCb2RpZXMgPSB0cnVlLCAkc3RyZWFtID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoJHN0cmVhbSA9PT0gbnVsbCkgewogICAgICAgICAgICBpZiAoZGVmaW5lZCgnU1RERVJSJykpIHsKICAgICAgICAgICAgICAgICRzdHJlYW0gPSBTVERFUlI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkc3RyZWFtID0gZm9wZW4oJ3BocDovL291dHB1dCcsICd3Jyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBuZXcgc2VsZihuZXcgQ2xvc3VyZUxvZ0FkYXB0ZXIoZnVuY3Rpb24gKCRtKSB1c2UgKCRzdHJlYW0pIHsKICAgICAgICAgICAgZndyaXRlKCRzdHJlYW0sICRtIC4gUEhQX0VPTCk7CiAgICAgICAgfSksICIjIFJlcXVlc3Q6XG57cmVxdWVzdH1cblxuIyBSZXNwb25zZTpcbntyZXNwb25zZX1cblxuIyBFcnJvcnM6IHtjdXJsX2NvZGV9IHtjdXJsX2Vycm9yfSIsICR3aXJlQm9kaWVzKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFN1YnNjcmliZWRFdmVudHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgJ2N1cmwuY2FsbGJhY2sud3JpdGUnID0+IGFycmF5KCdvbkN1cmxXcml0ZScsIDI1NSksCiAgICAgICAgICAgICdjdXJsLmNhbGxiYWNrLnJlYWQnICA9PiBhcnJheSgnb25DdXJsUmVhZCcsIDI1NSksCiAgICAgICAgICAgICdyZXF1ZXN0LmJlZm9yZV9zZW5kJyA9PiBhcnJheSgnb25SZXF1ZXN0QmVmb3JlU2VuZCcsIDI1NSksCiAgICAgICAgICAgICdyZXF1ZXN0LnNlbnQnICAgICAgICA9PiBhcnJheSgnb25SZXF1ZXN0U2VudCcsIDI1NSkKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogRXZlbnQgdHJpZ2dlcmVkIHdoZW4gY3VybCBkYXRhIGlzIHJlYWQgZnJvbSBhIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvbkN1cmxSZWFkKEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICAvLyBTdHJlYW0gdGhlIHJlcXVlc3QgYm9keSB0byB0aGUgbG9nIGlmIHRoZSBib2R5IGlzIG5vdCByZXBlYXRhYmxlCiAgICAgICAgaWYgKCR3aXJlID0gJGV2ZW50WydyZXF1ZXN0J10tPmdldFBhcmFtcygpLT5nZXQoJ3JlcXVlc3Rfd2lyZScpKSB7CiAgICAgICAgICAgICR3aXJlLT53cml0ZSgkZXZlbnRbJ3JlYWQnXSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogRXZlbnQgdHJpZ2dlcmVkIHdoZW4gY3VybCBkYXRhIGlzIHdyaXR0ZW4gdG8gYSByZXNwb25zZQogICAgICoKICAgICAqIEBwYXJhbSBFdmVudCAkZXZlbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9uQ3VybFdyaXRlKEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICAvLyBTdHJlYW0gdGhlIHJlc3BvbnNlIGJvZHkgdG8gdGhlIGxvZyBpZiB0aGUgYm9keSBpcyBub3QgcmVwZWF0YWJsZQogICAgICAgIGlmICgkd2lyZSA9ICRldmVudFsncmVxdWVzdCddLT5nZXRQYXJhbXMoKS0+Z2V0KCdyZXNwb25zZV93aXJlJykpIHsKICAgICAgICAgICAgJHdpcmUtPndyaXRlKCRldmVudFsnd3JpdGUnXSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ2FsbGVkIGJlZm9yZSBhIHJlcXVlc3QgaXMgc2VudAogICAgICoKICAgICAqIEBwYXJhbSBFdmVudCAkZXZlbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9uUmVxdWVzdEJlZm9yZVNlbmQoRXZlbnQgJGV2ZW50KQogICAgewogICAgICAgIGlmICgkdGhpcy0+d2lyZUJvZGllcykgewogICAgICAgICAgICAkcmVxdWVzdCA9ICRldmVudFsncmVxdWVzdCddOwogICAgICAgICAgICAvLyBFbnN1cmUgdGhhdCBjdXJsIElPIGV2ZW50cyBhcmUgZW1pdHRlZAogICAgICAgICAgICAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+c2V0KCdlbWl0X2lvJywgdHJ1ZSk7CiAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gbWFrZSBzcGVjaWFsIGhhbmRsaW5nIGZvciBjb250ZW50IHdpcmluZyBhbmQgbm9uLXJlcGVhdGFibGUgc3RyZWFtcy4KICAgICAgICAgICAgaWYgKCRyZXF1ZXN0IGluc3RhbmNlb2YgRW50aXR5RW5jbG9zaW5nUmVxdWVzdEludGVyZmFjZSAmJiAkcmVxdWVzdC0+Z2V0Qm9keSgpCiAgICAgICAgICAgICAgICAmJiAoISRyZXF1ZXN0LT5nZXRCb2R5KCktPmlzU2Vla2FibGUoKSB8fCAhJHJlcXVlc3QtPmdldEJvZHkoKS0+aXNSZWFkYWJsZSgpKQogICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgIC8vIFRoZSBib2R5IG9mIHRoZSByZXF1ZXN0IGNhbm5vdCBiZSByZWNhbGxlZCBzbyBsb2dnaW5nIHRoZSBib2R5IHdpbGwgcmVxdWlyZSB1cyB0byBidWZmZXIgaXQKICAgICAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+c2V0KCdyZXF1ZXN0X3dpcmUnLCBFbnRpdHlCb2R5OjpmYWN0b3J5KCkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghJHJlcXVlc3QtPmdldFJlc3BvbnNlQm9keSgpLT5pc1JlcGVhdGFibGUoKSkgewogICAgICAgICAgICAgICAgLy8gVGhlIGJvZHkgb2YgdGhlIHJlc3BvbnNlIGNhbm5vdCBiZSByZWNhbGxlZCBzbyBsb2dnaW5nIHRoZSBib2R5IHdpbGwgcmVxdWlyZSB1cyB0byBidWZmZXIgaXQKICAgICAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+c2V0KCdyZXNwb25zZV93aXJlJywgRW50aXR5Qm9keTo6ZmFjdG9yeSgpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFRyaWdnZXJzIHRoZSBhY3R1YWwgbG9nIHdyaXRlIHdoZW4gYSByZXF1ZXN0IGNvbXBsZXRlcwogICAgICoKICAgICAqIEBwYXJhbSBFdmVudCAkZXZlbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9uUmVxdWVzdFNlbnQoRXZlbnQgJGV2ZW50KQogICAgewogICAgICAgICRyZXF1ZXN0ID0gJGV2ZW50WydyZXF1ZXN0J107CiAgICAgICAgJHJlc3BvbnNlID0gJGV2ZW50WydyZXNwb25zZSddOwogICAgICAgICRoYW5kbGUgPSAkZXZlbnRbJ2hhbmRsZSddOwoKICAgICAgICBpZiAoJHdpcmUgPSAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmdldCgncmVxdWVzdF93aXJlJykpIHsKICAgICAgICAgICAgJHJlcXVlc3QgPSBjbG9uZSAkcmVxdWVzdDsKICAgICAgICAgICAgJHJlcXVlc3QtPnNldEJvZHkoJHdpcmUpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCR3aXJlID0gJHJlcXVlc3QtPmdldFBhcmFtcygpLT5nZXQoJ3Jlc3BvbnNlX3dpcmUnKSkgewogICAgICAgICAgICAkcmVzcG9uc2UgPSBjbG9uZSAkcmVzcG9uc2U7CiAgICAgICAgICAgICRyZXNwb25zZS0+c2V0Qm9keSgkd2lyZSk7CiAgICAgICAgfQoKICAgICAgICAvLyBTZW5kIHRoZSBsb2cgbWVzc2FnZSB0byB0aGUgYWRhcHRlciwgYWRkaW5nIGEgY2F0ZWdvcnkgYW5kIGhvc3QKICAgICAgICAkcHJpb3JpdHkgPSAkcmVzcG9uc2UgJiYgJHJlc3BvbnNlLT5pc0Vycm9yKCkgPyBMT0dfRVJSIDogTE9HX0RFQlVHOwogICAgICAgICRtZXNzYWdlID0gJHRoaXMtPmZvcm1hdHRlci0+Zm9ybWF0KCRyZXF1ZXN0LCAkcmVzcG9uc2UsICRoYW5kbGUpOwogICAgICAgICR0aGlzLT5sb2dBZGFwdGVyLT5sb2coJG1lc3NhZ2UsICRwcmlvcml0eSwgYXJyYXkoCiAgICAgICAgICAgICdyZXF1ZXN0JyAgPT4gJHJlcXVlc3QsCiAgICAgICAgICAgICdyZXNwb25zZScgPT4gJHJlc3BvbnNlLAogICAgICAgICAgICAnaGFuZGxlJyAgID0+ICRoYW5kbGUKICAgICAgICApKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Md5/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Md5/CommandContentMd5Plugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXE1kNTsKCnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50U3Vic2NyaWJlckludGVyZmFjZTsKCi8qKgogKiBMaXN0ZW5lciB1c2VkIHRvIGFkZCBhIENvbnRlbnRNRDUgaGVhZGVyIHRvIHRoZSBib2R5IG9mIGEgY29tbWFuZCBhbmQgYWRkcyBDb250ZW50TUQ1IHZhbGlkYXRpb24gaWYgdGhlCiAqIFZhbGlkYXRlTUQ1IG9wdGlvbiBpcyBub3Qgc2V0IHRvIGZhbHNlIG9uIGEgY29tbWFuZAogKi8KY2xhc3MgQ29tbWFuZENvbnRlbnRNZDVQbHVnaW4gIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIHN0cmluZyBQYXJhbWV0ZXIgdXNlZCB0byBjaGVjayBpZiB0aGUgQ29udGVudE1ENSB2YWx1ZSBpcyBiZWluZyBhZGRlZCAqLwogICAgcHJvdGVjdGVkICRjb250ZW50TWQ1UGFyYW07CgogICAgLyoqIEB2YXIgc3RyaW5nIFBhcmFtZXRlciB1c2VkIHRvIGNoZWNrIGlmIHZhbGlkYXRpb24gc2hvdWxkIG9jY3VyIG9uIHRoZSByZXNwb25zZSAqLwogICAgcHJvdGVjdGVkICR2YWxpZGF0ZU1kNVBhcmFtOwoKICAgIC8qKgogICAgICogQHBhcmFtIHN0cmluZyAkY29udGVudE1kNVBhcmFtICBQYXJhbWV0ZXIgdXNlZCB0byBjaGVjayBpZiB0aGUgQ29udGVudE1ENSB2YWx1ZSBpcyBiZWluZyBhZGRlZAogICAgICogQHBhcmFtIHN0cmluZyAkdmFsaWRhdGVNZDVQYXJhbSBQYXJhbWV0ZXIgdXNlZCB0byBjaGVjayBpZiB2YWxpZGF0aW9uIHNob3VsZCBvY2N1ciBvbiB0aGUgcmVzcG9uc2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb250ZW50TWQ1UGFyYW0gPSAnQ29udGVudE1ENScsICR2YWxpZGF0ZU1kNVBhcmFtID0gJ1ZhbGlkYXRlTUQ1JykKICAgIHsKICAgICAgICAkdGhpcy0+Y29udGVudE1kNVBhcmFtID0gJGNvbnRlbnRNZDVQYXJhbTsKICAgICAgICAkdGhpcy0+dmFsaWRhdGVNZDVQYXJhbSA9ICR2YWxpZGF0ZU1kNVBhcmFtOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KCdjb21tYW5kLmJlZm9yZV9zZW5kJyA9PiBhcnJheSgnb25Db21tYW5kQmVmb3JlU2VuZCcsIC0yNTUpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb25Db21tYW5kQmVmb3JlU2VuZChFdmVudCAkZXZlbnQpCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSAkZXZlbnRbJ2NvbW1hbmQnXTsKICAgICAgICAkcmVxdWVzdCA9ICRjb21tYW5kLT5nZXRSZXF1ZXN0KCk7CgogICAgICAgIC8vIE9ubHkgYWRkIGFuIE1ENSBpcyB0aGVyZSBpcyBhIE1ENSBvcHRpb24gb24gdGhlIG9wZXJhdGlvbiBhbmQgaXQgaGFzIGEgcGF5bG9hZAogICAgICAgIGlmICgkcmVxdWVzdCBpbnN0YW5jZW9mIEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2UgJiYgJHJlcXVlc3QtPmdldEJvZHkoKQogICAgICAgICAgICAmJiAkY29tbWFuZC0+Z2V0T3BlcmF0aW9uKCktPmhhc1BhcmFtKCR0aGlzLT5jb250ZW50TWQ1UGFyYW0pKSB7CiAgICAgICAgICAgIC8vIENoZWNrIGlmIGFuIE1ENSBjaGVja3N1bSB2YWx1ZSBzaG91bGQgYmUgcGFzc2VkIGFsb25nIHRvIHRoZSByZXF1ZXN0CiAgICAgICAgICAgIGlmICgkY29tbWFuZFskdGhpcy0+Y29udGVudE1kNVBhcmFtXSA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgaWYgKGZhbHNlICE9PSAoJG1kNSA9ICRyZXF1ZXN0LT5nZXRCb2R5KCktPmdldENvbnRlbnRNZDUodHJ1ZSwgdHJ1ZSkpKSB7CiAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcignQ29udGVudC1NRDUnLCAkbWQ1KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gQ2hlY2sgaWYgTUQ1IHZhbGlkYXRpb24gc2hvdWxkIGJlIHVzZWQgd2l0aCB0aGUgcmVzcG9uc2UKICAgICAgICBpZiAoJGNvbW1hbmRbJHRoaXMtPnZhbGlkYXRlTWQ1UGFyYW1dID09PSB0cnVlKSB7CiAgICAgICAgICAgICRyZXF1ZXN0LT5hZGRTdWJzY3JpYmVyKG5ldyBNZDVWYWxpZGF0b3JQbHVnaW4odHJ1ZSwgZmFsc2UpKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Md5/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3BsdWdpbi1tZDUiLAogICAgImRlc2NyaXB0aW9uIjogIkd1enpsZSBNRDUgcGx1Z2lucyIsCiAgICAiaG9tZXBhZ2UiOiAiaHR0cDovL2d1enpsZXBocC5vcmcvIiwKICAgICJrZXl3b3JkcyI6IFsicGx1Z2luIiwgImd1enpsZSJdLAogICAgImxpY2Vuc2UiOiAiTUlUIiwKICAgICJhdXRob3JzIjogWwogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAiTWljaGFlbCBEb3dsaW5nIiwKICAgICAgICAgICAgImVtYWlsIjogIm10ZG93bGluZ0BnbWFpbC5jb20iLAogICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly9naXRodWIuY29tL210ZG93bGluZyIKICAgICAgICB9CiAgICBdLAogICAgInJlcXVpcmUiOiB7CiAgICAgICAgInBocCI6ICI+PTUuMy4yIiwKICAgICAgICAiZ3V6emxlL2h0dHAiOiAic2VsZi52ZXJzaW9uIgogICAgfSwKICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAicHNyLTAiOiB7ICJHdXp6bGVcXFBsdWdpblxcTWQ1IjogIiIgfQogICAgfSwKICAgICJ0YXJnZXQtZGlyIjogIkd1enpsZS9QbHVnaW4vTWQ1IiwKICAgICJleHRyYSI6IHsKICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAiZGV2LW1hc3RlciI6ICIzLjctZGV2IgogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Md5/Md5ValidatorPlugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXE1kNTsKCnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cVW5leHBlY3RlZFZhbHVlRXhjZXB0aW9uOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50U3Vic2NyaWJlckludGVyZmFjZTsKCi8qKgogKiBFbnN1cmVzIHRoYXQgYW4gdGhlIE1ENSBoYXNoIG9mIGFuIGVudGl0eSBib2R5IG1hdGNoZXMgdGhlIENvbnRlbnQtTUQ1CiAqIGhlYWRlciAoaWYgc2V0KSBvZiBhbiBIVFRQIHJlc3BvbnNlLiAgQW4gZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGUKICogY2FsY3VsYXRlZCBNRDUgZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIE1ENS4KICovCmNsYXNzIE1kNVZhbGlkYXRvclBsdWdpbiBpbXBsZW1lbnRzIEV2ZW50U3Vic2NyaWJlckludGVyZmFjZQp7CiAgICAvKiogQHZhciBpbnQgTWF4aW11bSBDb250ZW50LUxlbmd0aCBpbiBieXRlcyB0byB2YWxpZGF0ZSAqLwogICAgcHJvdGVjdGVkICRjb250ZW50TGVuZ3RoQ3V0b2ZmOwoKICAgIC8qKiBAdmFyIGJvb2wgV2hldGhlciBvciBub3QgdG8gY29tcGFyZSB3aGVuIGEgQ29udGVudC1FbmNvZGluZyBpcyBwcmVzZW50ICovCiAgICBwcm90ZWN0ZWQgJGNvbnRlbnRFbmNvZGVkOwoKICAgIC8qKgogICAgICogQHBhcmFtIGJvb2wgICAgICRjb250ZW50RW5jb2RlZCAgICAgIENhbGN1bGF0aW5nIHRoZSBNRDUgaGFzaCBvZiBhbiBlbnRpdHkgYm9keSB3aGVyZSBhIENvbnRlbnQtRW5jb2Rpbmcgd2FzCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGllZCBpcyBhIG1vcmUgZXhwZW5zaXZlIGNvbXBhcmlzb24gYmVjYXVzZSB0aGUgZW50aXR5IGJvZHkgd2lsbCBuZWVkIHRvCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgY29tcHJlc3NlZCBpbiBvcmRlciB0byBnZXQgdGhlIGNvcnJlY3QgaGFzaC4gIFNldCB0byBGQUxTRSB0byBub3QKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZSB0aGUgTUQ1IGhhc2ggb2YgYW4gZW50aXR5IGJvZHkgd2l0aCBhbiBhcHBsaWVkIENvbnRlbnQtRW5jb2RpbmcuCiAgICAgKiBAcGFyYW0gYm9vbHxpbnQgJGNvbnRlbnRMZW5ndGhDdXRvZmYgTWF4aW11bSBDb250ZW50LUxlbmd0aCAoYnl0ZXMpIGluIHdoaWNoIGEgTUQ1IGhhc2ggd2lsbCBiZSB2YWxpZGF0ZWQuIEFueQogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlIHdpdGggYSBDb250ZW50LUxlbmd0aCBncmVhdGVyIHRoYW4gdGhpcyB2YWx1ZSB3aWxsIG5vdCBiZSB2YWxpZGF0ZWQKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWNhdXNlIGl0IHdpbGwgYmUgZGVlbWVkIHRvbyBtZW1vcnkgaW50ZW5zaXZlLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNvbnRlbnRFbmNvZGVkID0gdHJ1ZSwgJGNvbnRlbnRMZW5ndGhDdXRvZmYgPSBmYWxzZSkKICAgIHsKICAgICAgICAkdGhpcy0+Y29udGVudExlbmd0aEN1dG9mZiA9ICRjb250ZW50TGVuZ3RoQ3V0b2ZmOwogICAgICAgICR0aGlzLT5jb250ZW50RW5jb2RlZCA9ICRjb250ZW50RW5jb2RlZDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFN1YnNjcmliZWRFdmVudHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgncmVxdWVzdC5jb21wbGV0ZScgPT4gYXJyYXkoJ29uUmVxdWVzdENvbXBsZXRlJywgMjU1KSk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKiBAdGhyb3dzIFVuZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb25SZXF1ZXN0Q29tcGxldGUoRXZlbnQgJGV2ZW50KQogICAgewogICAgICAgICRyZXNwb25zZSA9ICRldmVudFsncmVzcG9uc2UnXTsKCiAgICAgICAgaWYgKCEkY29udGVudE1kNSA9ICRyZXNwb25zZS0+Z2V0Q29udGVudE1kNSgpKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICRjb250ZW50RW5jb2RpbmcgPSAkcmVzcG9uc2UtPmdldENvbnRlbnRFbmNvZGluZygpOwogICAgICAgIGlmICgkY29udGVudEVuY29kaW5nICYmICEkdGhpcy0+Y29udGVudEVuY29kZWQpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIHNpemUgb2YgdGhlIHJlcXVlc3QgaXMgdW5kZXIgdGhlIGN1dG9mZiBzaXplCiAgICAgICAgaWYgKCR0aGlzLT5jb250ZW50TGVuZ3RoQ3V0b2ZmKSB7CiAgICAgICAgICAgICRzaXplID0gJHJlc3BvbnNlLT5nZXRDb250ZW50TGVuZ3RoKCkgPzogJHJlc3BvbnNlLT5nZXRCb2R5KCktPmdldFNpemUoKTsKICAgICAgICAgICAgaWYgKCEkc2l6ZSB8fCAkc2l6ZSA+ICR0aGlzLT5jb250ZW50TGVuZ3RoQ3V0b2ZmKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICghJGNvbnRlbnRFbmNvZGluZykgewogICAgICAgICAgICAkaGFzaCA9ICRyZXNwb25zZS0+Z2V0Qm9keSgpLT5nZXRDb250ZW50TWQ1KCk7CiAgICAgICAgfSBlbHNlaWYgKCRjb250ZW50RW5jb2RpbmcgPT0gJ2d6aXAnKSB7CiAgICAgICAgICAgICRyZXNwb25zZS0+Z2V0Qm9keSgpLT5jb21wcmVzcygnemxpYi5kZWZsYXRlJyk7CiAgICAgICAgICAgICRoYXNoID0gJHJlc3BvbnNlLT5nZXRCb2R5KCktPmdldENvbnRlbnRNZDUoKTsKICAgICAgICAgICAgJHJlc3BvbnNlLT5nZXRCb2R5KCktPnVuY29tcHJlc3MoKTsKICAgICAgICB9IGVsc2VpZiAoJGNvbnRlbnRFbmNvZGluZyA9PSAnY29tcHJlc3MnKSB7CiAgICAgICAgICAgICRyZXNwb25zZS0+Z2V0Qm9keSgpLT5jb21wcmVzcygnYnppcDIuY29tcHJlc3MnKTsKICAgICAgICAgICAgJGhhc2ggPSAkcmVzcG9uc2UtPmdldEJvZHkoKS0+Z2V0Q29udGVudE1kNSgpOwogICAgICAgICAgICAkcmVzcG9uc2UtPmdldEJvZHkoKS0+dW5jb21wcmVzcygpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIGlmICgkY29udGVudE1kNSAhPT0gJGhhc2gpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFVuZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlvbigKICAgICAgICAgICAgICAgICJUaGUgcmVzcG9uc2UgZW50aXR5IGJvZHkgbWF5IGhhdmUgYmVlbiBtb2RpZmllZCBvdmVyIHRoZSB3aXJlLiAgVGhlIENvbnRlbnQtTUQ1ICIKICAgICAgICAgICAgICAgIC4gInJlY2VpdmVkICh7JGNvbnRlbnRNZDV9KSBkaWQgbm90IG1hdGNoIHRoZSBjYWxjdWxhdGVkIE1ENSBoYXNoICh7JGhhc2h9KS4iCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Mock/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Mock/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3BsdWdpbi1tb2NrIiwKICAgICJkZXNjcmlwdGlvbiI6ICJHdXp6bGUgTW9jayBwbHVnaW4iLAogICAgImhvbWVwYWdlIjogImh0dHA6Ly9ndXp6bGVwaHAub3JnLyIsCiAgICAia2V5d29yZHMiOiBbIm1vY2siLCAicGx1Z2luIiwgImd1enpsZSJdLAogICAgImxpY2Vuc2UiOiAiTUlUIiwKICAgICJhdXRob3JzIjogWwogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAiTWljaGFlbCBEb3dsaW5nIiwKICAgICAgICAgICAgImVtYWlsIjogIm10ZG93bGluZ0BnbWFpbC5jb20iLAogICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly9naXRodWIuY29tL210ZG93bGluZyIKICAgICAgICB9CiAgICBdLAogICAgInJlcXVpcmUiOiB7CiAgICAgICAgInBocCI6ICI+PTUuMy4yIiwKICAgICAgICAiZ3V6emxlL2h0dHAiOiAic2VsZi52ZXJzaW9uIgogICAgfSwKICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAicHNyLTAiOiB7ICJHdXp6bGVcXFBsdWdpblxcTW9jayI6ICIiIH0KICAgIH0sCiAgICAidGFyZ2V0LWRpciI6ICJHdXp6bGUvUGx1Z2luL01vY2siLAogICAgImV4dHJhIjogewogICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjMuNy1kZXYiCiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Mock/MockPlugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXE1vY2s7Cgp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxDb21tb25cQWJzdHJhY3RIYXNEaXNwYXRjaGVyOwp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEN1cmxFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50U3Vic2NyaWJlckludGVyZmFjZTsKCi8qKgogKiBRdWV1ZXMgbW9jayByZXNwb25zZXMgb3IgZXhjZXB0aW9ucyBhbmQgZGVsaXZlcnMgbW9jayByZXNwb25zZXMgb3IgZXhjZXB0aW9ucyBpbiBhIGZpZm8gb3JkZXIuCiAqLwpjbGFzcyBNb2NrUGx1Z2luIGV4dGVuZHMgQWJzdHJhY3RIYXNEaXNwYXRjaGVyIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlLCBcQ291bnRhYmxlCnsKICAgIC8qKiBAdmFyIGFycmF5IEFycmF5IG9mIG1vY2sgcmVzcG9uc2VzIC8gZXhjZXB0aW9ucyAqLwogICAgcHJvdGVjdGVkICRxdWV1ZSA9IGFycmF5KCk7CgogICAgLyoqIEB2YXIgYm9vbCBXaGV0aGVyIG9yIG5vdCB0byByZW1vdmUgdGhlIHBsdWdpbiB3aGVuIHRoZSBxdWV1ZSBpcyBlbXB0eSAqLwogICAgcHJvdGVjdGVkICR0ZW1wb3JhcnkgPSBmYWxzZTsKCiAgICAvKiogQHZhciBhcnJheSBBcnJheSBvZiByZXF1ZXN0cyB0aGF0IHdlcmUgbW9ja2VkICovCiAgICBwcm90ZWN0ZWQgJHJlY2VpdmVkID0gYXJyYXkoKTsKCiAgICAvKiogQHZhciBib29sIFdoZXRoZXIgb3Igbm90IHRvIGNvbnN1bWUgYW4gZW50aXR5IGJvZHkgd2hlbiBhIG1vY2sgcmVzcG9uc2UgaXMgc2VydmVkICovCiAgICBwcm90ZWN0ZWQgJHJlYWRCb2RpZXM7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGl0ZW1zICAgICAgQXJyYXkgb2YgcmVzcG9uc2VzIG9yIGV4Y2VwdGlvbnMgdG8gcXVldWUKICAgICAqIEBwYXJhbSBib29sICAkdGVtcG9yYXJ5ICBTZXQgdG8gVFJVRSB0byByZW1vdmUgdGhlIHBsdWdpbiB3aGVuIHRoZSBxdWV1ZSBpcyBlbXB0eQogICAgICogQHBhcmFtIGJvb2wgICRyZWFkQm9kaWVzIFNldCB0byBUUlVFIHRvIGNvbnN1bWUgdGhlIGVudGl0eSBib2R5IHdoZW4gYSBtb2NrIGlzIHNlcnZlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJGl0ZW1zID0gbnVsbCwgJHRlbXBvcmFyeSA9IGZhbHNlLCAkcmVhZEJvZGllcyA9IGZhbHNlKQogICAgewogICAgICAgICR0aGlzLT5yZWFkQm9kaWVzID0gJHJlYWRCb2RpZXM7CiAgICAgICAgJHRoaXMtPnRlbXBvcmFyeSA9ICR0ZW1wb3Jhcnk7CiAgICAgICAgaWYgKCRpdGVtcykgewogICAgICAgICAgICBmb3JlYWNoICgkaXRlbXMgYXMgJGl0ZW0pIHsKICAgICAgICAgICAgICAgIGlmICgkaXRlbSBpbnN0YW5jZW9mIFxFeGNlcHRpb24pIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+YWRkRXhjZXB0aW9uKCRpdGVtKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmFkZFJlc3BvbnNlKCRpdGVtKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFN1YnNjcmliZWRFdmVudHMoKQogICAgewogICAgICAgIC8vIFVzZSBhIG51bWJlciBsb3dlciB0aGFuIHRoZSBDYWNoZVBsdWdpbgogICAgICAgIHJldHVybiBhcnJheSgncmVxdWVzdC5iZWZvcmVfc2VuZCcgPT4gYXJyYXkoJ29uUmVxdWVzdEJlZm9yZVNlbmQnLCAtOTk5KSk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRBbGxFdmVudHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgnbW9jay5yZXF1ZXN0Jyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYSBtb2NrIHJlc3BvbnNlIGZyb20gYSBmaWxlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcGF0aCBGaWxlIHRvIHJldHJpZXZlIGEgbW9jayByZXNwb25zZSBmcm9tCiAgICAgKgogICAgICogQHJldHVybiBSZXNwb25zZQogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaWYgdGhlIGZpbGUgaXMgbm90IGZvdW5kCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0TW9ja0ZpbGUoJHBhdGgpCiAgICB7CiAgICAgICAgaWYgKCFmaWxlX2V4aXN0cygkcGF0aCkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignVW5hYmxlIHRvIG9wZW4gbW9jayBmaWxlOiAnIC4gJHBhdGgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFJlc3BvbnNlOjpmcm9tTWVzc2FnZShmaWxlX2dldF9jb250ZW50cygkcGF0aCkpOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHdoZXRoZXIgb3Igbm90IHRvIGNvbnN1bWUgdGhlIGVudGl0eSBib2R5IG9mIGEgcmVxdWVzdCB3aGVuIGEgbW9jawogICAgICogcmVzcG9uc2UgaXMgdXNlZAogICAgICoKICAgICAqIEBwYXJhbSBib29sICRyZWFkQm9kaWVzIFNldCB0byB0cnVlIHRvIHJlYWQgYW5kIGNvbnN1bWUgZW50aXR5IGJvZGllcwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVhZEJvZGllcygkcmVhZEJvZGllcykKICAgIHsKICAgICAgICAkdGhpcy0+cmVhZEJvZGllcyA9ICRyZWFkQm9kaWVzOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgcmVtYWluaW5nIG1vY2sgcmVzcG9uc2VzCiAgICAgKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNvdW50KCkKICAgIHsKICAgICAgICByZXR1cm4gY291bnQoJHRoaXMtPnF1ZXVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIHJlc3BvbnNlIHRvIHRoZSBlbmQgb2YgdGhlIHF1ZXVlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xSZXNwb25zZSAkcmVzcG9uc2UgUmVzcG9uc2Ugb2JqZWN0IG9yIHBhdGggdG8gcmVzcG9uc2UgZmlsZQogICAgICoKICAgICAqIEByZXR1cm4gTW9ja1BsdWdpbgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaWYgYSBzdHJpbmcgb3IgUmVzcG9uc2UgaXMgbm90IHBhc3NlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkUmVzcG9uc2UoJHJlc3BvbnNlKQogICAgewogICAgICAgIGlmICghKCRyZXNwb25zZSBpbnN0YW5jZW9mIFJlc3BvbnNlKSkgewogICAgICAgICAgICBpZiAoIWlzX3N0cmluZygkcmVzcG9uc2UpKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdJbnZhbGlkIHJlc3BvbnNlJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHJlc3BvbnNlID0gc2VsZjo6Z2V0TW9ja0ZpbGUoJHJlc3BvbnNlKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5xdWV1ZVtdID0gJHJlc3BvbnNlOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYW4gZXhjZXB0aW9uIHRvIHRoZSBlbmQgb2YgdGhlIHF1ZXVlCiAgICAgKgogICAgICogQHBhcmFtIEN1cmxFeGNlcHRpb24gJGUgRXhjZXB0aW9uIHRvIHRocm93IHdoZW4gdGhlIHJlcXVlc3QgaXMgZXhlY3V0ZWQKICAgICAqCiAgICAgKiBAcmV0dXJuIE1vY2tQbHVnaW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZEV4Y2VwdGlvbihDdXJsRXhjZXB0aW9uICRlKQogICAgewogICAgICAgICR0aGlzLT5xdWV1ZVtdID0gJGU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIENsZWFyIHRoZSBxdWV1ZQogICAgICoKICAgICAqIEByZXR1cm4gTW9ja1BsdWdpbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xlYXJRdWV1ZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPnF1ZXVlID0gYXJyYXkoKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBhcnJheSBvZiBtb2NrIHJlc3BvbnNlcyByZW1haW5pbmcgaW4gdGhlIHF1ZXVlCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UXVldWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cXVldWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiB0aGlzIGlzIGEgdGVtcG9yYXJ5IHBsdWdpbgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNUZW1wb3JhcnkoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+dGVtcG9yYXJ5OwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGEgcmVzcG9uc2UgZnJvbSB0aGUgZnJvbnQgb2YgdGhlIGxpc3QgYW5kIGFkZCBpdCB0byBhIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCBSZXF1ZXN0IHRvIG1vY2sKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEB0aHJvd3MgQ3VybEV4Y2VwdGlvbiBXaGVuIHJlcXVlc3Quc2VuZCBpcyBjYWxsZWQgYW5kIGFuIGV4Y2VwdGlvbiBpcyBxdWV1ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRlcXVldWUoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCkKICAgIHsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2goJ21vY2sucmVxdWVzdCcsIGFycmF5KCdwbHVnaW4nID0+ICR0aGlzLCAncmVxdWVzdCcgPT4gJHJlcXVlc3QpKTsKCiAgICAgICAgJGl0ZW0gPSBhcnJheV9zaGlmdCgkdGhpcy0+cXVldWUpOwogICAgICAgIGlmICgkaXRlbSBpbnN0YW5jZW9mIFJlc3BvbnNlKSB7CiAgICAgICAgICAgIGlmICgkdGhpcy0+cmVhZEJvZGllcyAmJiAkcmVxdWVzdCBpbnN0YW5jZW9mIEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2UpIHsKICAgICAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ3JlcXVlc3Quc2VudCcsICRmID0gZnVuY3Rpb24gKEV2ZW50ICRldmVudCkgdXNlICgmJGYpIHsKICAgICAgICAgICAgICAgICAgICB3aGlsZSAoJGRhdGEgPSAkZXZlbnRbJ3JlcXVlc3QnXS0+Z2V0Qm9keSgpLT5yZWFkKDgwOTYpKTsKICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmUgdGhlIGxpc3RlbmVyIGFmdGVyIG9uZS10aW1lIHVzZQogICAgICAgICAgICAgICAgICAgICRldmVudFsncmVxdWVzdCddLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+cmVtb3ZlTGlzdGVuZXIoJ3JlcXVlc3Quc2VudCcsICRmKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRSZXNwb25zZSgkaXRlbSk7CiAgICAgICAgfSBlbHNlaWYgKCRpdGVtIGluc3RhbmNlb2YgQ3VybEV4Y2VwdGlvbikgewogICAgICAgICAgICAvLyBFbXVsYXRlcyBleGNlcHRpb25zIGVuY291bnRlcmVkIHdoaWxlIHRyYW5zZmVycmluZyByZXF1ZXN0cwogICAgICAgICAgICAkaXRlbS0+c2V0UmVxdWVzdCgkcmVxdWVzdCk7CiAgICAgICAgICAgICRzdGF0ZSA9ICRyZXF1ZXN0LT5zZXRTdGF0ZShSZXF1ZXN0SW50ZXJmYWNlOjpTVEFURV9FUlJPUiwgYXJyYXkoJ2V4Y2VwdGlvbicgPT4gJGl0ZW0pKTsKICAgICAgICAgICAgLy8gT25seSB0aHJvdyBpZiB0aGUgZXhjZXB0aW9uIHdhc24ndCBoYW5kbGVkCiAgICAgICAgICAgIGlmICgkc3RhdGUgPT0gUmVxdWVzdEludGVyZmFjZTo6U1RBVEVfRVJST1IpIHsKICAgICAgICAgICAgICAgIHRocm93ICRpdGVtOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBDbGVhciB0aGUgYXJyYXkgb2YgcmVjZWl2ZWQgcmVxdWVzdHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGZsdXNoKCkKICAgIHsKICAgICAgICAkdGhpcy0+cmVjZWl2ZWQgPSBhcnJheSgpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGFycmF5IG9mIHJlcXVlc3RzIHRoYXQgd2VyZSBtb2NrZWQgYnkgdGhpcyBwbHVnaW4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZWNlaXZlZFJlcXVlc3RzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlY2VpdmVkOwogICAgfQoKICAgIC8qKgogICAgICogQ2FsbGVkIHdoZW4gYSByZXF1ZXN0IGlzIGFib3V0IHRvIGJlIHNlbnQKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvblJlcXVlc3RCZWZvcmVTZW5kKEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnF1ZXVlKSB7CiAgICAgICAgICAgICRyZXF1ZXN0ID0gJGV2ZW50WydyZXF1ZXN0J107CiAgICAgICAgICAgICR0aGlzLT5yZWNlaXZlZFtdID0gJHJlcXVlc3Q7CiAgICAgICAgICAgIC8vIERldGFjaCB0aGUgZmlsdGVyIGZyb20gdGhlIGNsaWVudCBzbyBpdCdzIGEgb25lLXRpbWUgdXNlCiAgICAgICAgICAgIGlmICgkdGhpcy0+dGVtcG9yYXJ5ICYmIGNvdW50KCR0aGlzLT5xdWV1ZSkgPT0gMSAmJiAkcmVxdWVzdC0+Z2V0Q2xpZW50KCkpIHsKICAgICAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRDbGllbnQoKS0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPnJlbW92ZVN1YnNjcmliZXIoJHRoaXMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR0aGlzLT5kZXF1ZXVlKCRyZXF1ZXN0KTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Oauth/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Oauth/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3BsdWdpbi1vYXV0aCIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3V6emxlIE9BdXRoIHBsdWdpbiIsCiAgICAiaG9tZXBhZ2UiOiAiaHR0cDovL2d1enpsZXBocC5vcmcvIiwKICAgICJrZXl3b3JkcyI6IFsib2F1dGgiLCAicGx1Z2luIiwgImd1enpsZSJdLAogICAgImxpY2Vuc2UiOiAiTUlUIiwKICAgICJhdXRob3JzIjogWwogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAiTWljaGFlbCBEb3dsaW5nIiwKICAgICAgICAgICAgImVtYWlsIjogIm10ZG93bGluZ0BnbWFpbC5jb20iLAogICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly9naXRodWIuY29tL210ZG93bGluZyIKICAgICAgICB9CiAgICBdLAogICAgInJlcXVpcmUiOiB7CiAgICAgICAgInBocCI6ICI+PTUuMy4yIiwKICAgICAgICAiZ3V6emxlL2h0dHAiOiAic2VsZi52ZXJzaW9uIgogICAgfSwKICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAicHNyLTAiOiB7ICJHdXp6bGVcXFBsdWdpblxcT2F1dGgiOiAiIiB9CiAgICB9LAogICAgInRhcmdldC1kaXIiOiAiR3V6emxlL1BsdWdpbi9PYXV0aCIsCiAgICAiZXh0cmEiOiB7CiAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMy43LWRldiIKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Plugin/Oauth/OauthPlugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcUGx1Z2luXE9hdXRoOwoKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxRdWVyeVN0cmluZzsKdXNlIEd1enpsZVxIdHRwXFVybDsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CgovKioKICogT0F1dGggc2lnbmluZyBwbHVnaW4KICogQGxpbmsgaHR0cDovL29hdXRoLm5ldC9jb3JlLzEuMC8jcmZjLnNlY3Rpb24uOS4xLjEKICovCmNsYXNzIE9hdXRoUGx1Z2luIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQ29uc3VtZXIgcmVxdWVzdCBtZXRob2QgY29uc3RhbnRzLiBTZWUgaHR0cDovL29hdXRoLm5ldC9jb3JlLzEuMC8jY29uc3VtZXJfcmVxX3BhcmFtCiAgICAgKi8KICAgIGNvbnN0IFJFUVVFU1RfTUVUSE9EX0hFQURFUiA9ICdoZWFkZXInOwogICAgY29uc3QgUkVRVUVTVF9NRVRIT0RfUVVFUlkgID0gJ3F1ZXJ5JzsKCiAgICAvKiogQHZhciBDb2xsZWN0aW9uIENvbmZpZ3VyYXRpb24gc2V0dGluZ3MgKi8KICAgIHByb3RlY3RlZCAkY29uZmlnOwoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgbmV3IE9BdXRoIDEuMCBwbHVnaW4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGNvbmZpZyBDb25maWd1cmF0aW9uIGFycmF5IGNvbnRhaW5pbmcgdGhlc2UgcGFyYW1ldGVyczoKICAgICAqICAgICAtIHN0cmluZyAncmVxdWVzdF9tZXRob2QnICAgICAgIENvbnN1bWVyIHJlcXVlc3QgbWV0aG9kLiBVc2UgdGhlIGNsYXNzIGNvbnN0YW50cy4KICAgICAqICAgICAtIHN0cmluZyAnY2FsbGJhY2snICAgICAgICAgICAgIE9BdXRoIGNhbGxiYWNrCiAgICAgKiAgICAgLSBzdHJpbmcgJ2NvbnN1bWVyX2tleScgICAgICAgICBDb25zdW1lciBrZXkKICAgICAqICAgICAtIHN0cmluZyAnY29uc3VtZXJfc2VjcmV0JyAgICAgIENvbnN1bWVyIHNlY3JldAogICAgICogICAgIC0gc3RyaW5nICd0b2tlbicgICAgICAgICAgICAgICAgVG9rZW4KICAgICAqICAgICAtIHN0cmluZyAndG9rZW5fc2VjcmV0JyAgICAgICAgIFRva2VuIHNlY3JldAogICAgICogICAgIC0gc3RyaW5nICd2ZXJpZmllcicgICAgICAgICAgICAgT0F1dGggdmVyaWZpZXIuCiAgICAgKiAgICAgLSBzdHJpbmcgJ3ZlcnNpb24nICAgICAgICAgICAgICBPQXV0aCB2ZXJzaW9uLiAgRGVmYXVsdHMgdG8gMS4wCiAgICAgKiAgICAgLSBzdHJpbmcgJ3NpZ25hdHVyZV9tZXRob2QnICAgICBDdXN0b20gc2lnbmF0dXJlIG1ldGhvZAogICAgICogICAgIC0gYm9vbCAgICdkaXNhYmxlX3Bvc3RfcGFyYW1zJyAgU2V0IHRvIHRydWUgdG8gcHJldmVudCBQT1NUIHBhcmFtZXRlcnMgZnJvbSBiZWluZyBzaWduZWQKICAgICAqICAgICAtIGFycmF5fENsb3N1cmUgJ3NpZ25hdHVyZV9jYWxsYmFjaycgQ3VzdG9tIHNpZ25hdHVyZSBjYWxsYmFjayB0aGF0IGFjY2VwdHMgYSBzdHJpbmcgdG8gc2lnbiBhbmQgYSBzaWduaW5nIGtleQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNvbmZpZykKICAgIHsKICAgICAgICAkdGhpcy0+Y29uZmlnID0gQ29sbGVjdGlvbjo6ZnJvbUNvbmZpZygkY29uZmlnLCBhcnJheSgKICAgICAgICAgICAgJ3ZlcnNpb24nID0+ICcxLjAnLAogICAgICAgICAgICAncmVxdWVzdF9tZXRob2QnID0+IHNlbGY6OlJFUVVFU1RfTUVUSE9EX0hFQURFUiwKICAgICAgICAgICAgJ2NvbnN1bWVyX2tleScgPT4gJ2Fub255bW91cycsCiAgICAgICAgICAgICdjb25zdW1lcl9zZWNyZXQnID0+ICdhbm9ueW1vdXMnLAogICAgICAgICAgICAnc2lnbmF0dXJlX21ldGhvZCcgPT4gJ0hNQUMtU0hBMScsCiAgICAgICAgICAgICdzaWduYXR1cmVfY2FsbGJhY2snID0+IGZ1bmN0aW9uKCRzdHJpbmdUb1NpZ24sICRrZXkpIHsKICAgICAgICAgICAgICAgIHJldHVybiBoYXNoX2htYWMoJ3NoYTEnLCAkc3RyaW5nVG9TaWduLCAka2V5LCB0cnVlKTsKICAgICAgICAgICAgfQogICAgICAgICksIGFycmF5KAogICAgICAgICAgICAnc2lnbmF0dXJlX21ldGhvZCcsICdzaWduYXR1cmVfY2FsbGJhY2snLCAndmVyc2lvbicsCiAgICAgICAgICAgICdjb25zdW1lcl9rZXknLCAnY29uc3VtZXJfc2VjcmV0JwogICAgICAgICkpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAncmVxdWVzdC5iZWZvcmVfc2VuZCcgPT4gYXJyYXkoJ29uUmVxdWVzdEJlZm9yZVNlbmQnLCAtMTAwMCkKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogUmVxdWVzdCBiZWZvcmUtc2VuZCBldmVudCBoYW5kbGVyCiAgICAgKgogICAgICogQHBhcmFtIEV2ZW50ICRldmVudCBFdmVudCByZWNlaXZlZAogICAgICogQHJldHVybiBhcnJheQogICAgICogQHRocm93cyBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvblJlcXVlc3RCZWZvcmVTZW5kKEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICAkdGltZXN0YW1wID0gJHRoaXMtPmdldFRpbWVzdGFtcCgkZXZlbnQpOwogICAgICAgICRyZXF1ZXN0ID0gJGV2ZW50WydyZXF1ZXN0J107CiAgICAgICAgJG5vbmNlID0gJHRoaXMtPmdlbmVyYXRlTm9uY2UoJHJlcXVlc3QpOwogICAgICAgICRhdXRob3JpemF0aW9uUGFyYW1zID0gJHRoaXMtPmdldE9hdXRoUGFyYW1zKCR0aW1lc3RhbXAsICRub25jZSk7CiAgICAgICAgJGF1dGhvcml6YXRpb25QYXJhbXNbJ29hdXRoX3NpZ25hdHVyZSddICA9ICR0aGlzLT5nZXRTaWduYXR1cmUoJHJlcXVlc3QsICR0aW1lc3RhbXAsICRub25jZSk7CgogICAgICAgIHN3aXRjaCAoJHRoaXMtPmNvbmZpZ1sncmVxdWVzdF9tZXRob2QnXSkgewogICAgICAgICAgICBjYXNlIHNlbGY6OlJFUVVFU1RfTUVUSE9EX0hFQURFUjoKICAgICAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRIZWFkZXIoCiAgICAgICAgICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nLAogICAgICAgICAgICAgICAgICAgICR0aGlzLT5idWlsZEF1dGhvcml6YXRpb25IZWFkZXIoJGF1dGhvcml6YXRpb25QYXJhbXMpCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2Ugc2VsZjo6UkVRVUVTVF9NRVRIT0RfUVVFUlk6CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkYXV0aG9yaXphdGlvblBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRRdWVyeSgpLT5zZXQoJGtleSwgJHZhbHVlKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oc3ByaW50ZigKICAgICAgICAgICAgICAgICAgICAnSW52YWxpZCBjb25zdW1lciBtZXRob2QgIiVzIicsCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmNvbmZpZ1sncmVxdWVzdF9tZXRob2QnXQogICAgICAgICAgICAgICAgKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGF1dGhvcml6YXRpb25QYXJhbXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBCdWlsZHMgdGhlIEF1dGhvcml6YXRpb24gaGVhZGVyIGZvciBhIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGF1dGhvcml6YXRpb25QYXJhbXMgQXNzb2NpYXRpdmUgYXJyYXkgb2YgYXV0aG9yaXphdGlvbiBwYXJhbWV0ZXJzCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBidWlsZEF1dGhvcml6YXRpb25IZWFkZXIoJGF1dGhvcml6YXRpb25QYXJhbXMpCiAgICB7CiAgICAgICAgJGF1dGhvcml6YXRpb25TdHJpbmcgPSAnT0F1dGggJzsKICAgICAgICBmb3JlYWNoICgkYXV0aG9yaXphdGlvblBhcmFtcyBhcyAka2V5ID0+ICR2YWwpIHsKICAgICAgICAgICAgaWYgKCR2YWwpIHsKICAgICAgICAgICAgICAgICRhdXRob3JpemF0aW9uU3RyaW5nIC49ICRrZXkgLiAnPSInIC4gdXJsZW5jb2RlKCR2YWwpIC4gJyIsICc7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBzdWJzdHIoJGF1dGhvcml6YXRpb25TdHJpbmcsIDAsIC0yKTsKICAgIH0KCiAgICAvKioKICAgICAqIENhbGN1bGF0ZSBzaWduYXR1cmUgZm9yIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCAgIFJlcXVlc3QgdG8gZ2VuZXJhdGUgYSBzaWduYXR1cmUgZm9yCiAgICAgKiBAcGFyYW0gaW50ZWdlciAgICAgICAgICAkdGltZXN0YW1wIFRpbWVzdGFtcCB0byB1c2UgZm9yIG5vbmNlCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAkbm9uY2UKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2lnbmF0dXJlKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsICR0aW1lc3RhbXAsICRub25jZSkKICAgIHsKICAgICAgICAkc3RyaW5nID0gJHRoaXMtPmdldFN0cmluZ1RvU2lnbigkcmVxdWVzdCwgJHRpbWVzdGFtcCwgJG5vbmNlKTsKICAgICAgICAka2V5ID0gdXJsZW5jb2RlKCR0aGlzLT5jb25maWdbJ2NvbnN1bWVyX3NlY3JldCddKSAuICcmJyAuIHVybGVuY29kZSgkdGhpcy0+Y29uZmlnWyd0b2tlbl9zZWNyZXQnXSk7CgogICAgICAgIHJldHVybiBiYXNlNjRfZW5jb2RlKGNhbGxfdXNlcl9mdW5jKCR0aGlzLT5jb25maWdbJ3NpZ25hdHVyZV9jYWxsYmFjayddLCAkc3RyaW5nLCAka2V5KSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDYWxjdWxhdGUgc3RyaW5nIHRvIHNpZ24KICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCAgIFJlcXVlc3QgdG8gZ2VuZXJhdGUgYSBzaWduYXR1cmUgZm9yCiAgICAgKiBAcGFyYW0gaW50ICAgICAgICAgICAgICAkdGltZXN0YW1wIFRpbWVzdGFtcCB0byB1c2UgZm9yIG5vbmNlCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAkbm9uY2UKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U3RyaW5nVG9TaWduKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsICR0aW1lc3RhbXAsICRub25jZSkKICAgIHsKICAgICAgICAkcGFyYW1zID0gJHRoaXMtPmdldFBhcmFtc1RvU2lnbigkcmVxdWVzdCwgJHRpbWVzdGFtcCwgJG5vbmNlKTsKCiAgICAgICAgLy8gQ29udmVydCBib29sZWFucyB0byBzdHJpbmdzLgogICAgICAgICRwYXJhbXMgPSAkdGhpcy0+cHJlcGFyZVBhcmFtZXRlcnMoJHBhcmFtcyk7CgogICAgICAgIC8vIEJ1aWxkIHNpZ25pbmcgc3RyaW5nIGZyb20gY29tYmluZWQgcGFyYW1zCiAgICAgICAgJHBhcmFtZXRlclN0cmluZyA9IG5ldyBRdWVyeVN0cmluZygkcGFyYW1zKTsKCiAgICAgICAgJHVybCA9IFVybDo6ZmFjdG9yeSgkcmVxdWVzdC0+Z2V0VXJsKCkpLT5zZXRRdWVyeSgnJyktPnNldEZyYWdtZW50KG51bGwpOwoKICAgICAgICByZXR1cm4gc3RydG91cHBlcigkcmVxdWVzdC0+Z2V0TWV0aG9kKCkpIC4gJyYnCiAgICAgICAgICAgICAuIHJhd3VybGVuY29kZSgkdXJsKSAuICcmJwogICAgICAgICAgICAgLiByYXd1cmxlbmNvZGUoKHN0cmluZykgJHBhcmFtZXRlclN0cmluZyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG9hdXRoIHBhcmFtZXRlcnMgYXMgbmFtZWQgYnkgdGhlIG9hdXRoIHNwZWMKICAgICAqCiAgICAgKiBAcGFyYW0gJHRpbWVzdGFtcAogICAgICogQHBhcmFtICRub25jZQogICAgICogQHJldHVybiBDb2xsZWN0aW9uCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRPYXV0aFBhcmFtcygkdGltZXN0YW1wLCAkbm9uY2UpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IG5ldyBDb2xsZWN0aW9uKGFycmF5KAogICAgICAgICAgICAnb2F1dGhfY29uc3VtZXJfa2V5JyAgICAgPT4gJHRoaXMtPmNvbmZpZ1snY29uc3VtZXJfa2V5J10sCiAgICAgICAgICAgICdvYXV0aF9ub25jZScgICAgICAgICAgICA9PiAkbm9uY2UsCiAgICAgICAgICAgICdvYXV0aF9zaWduYXR1cmVfbWV0aG9kJyA9PiAkdGhpcy0+Y29uZmlnWydzaWduYXR1cmVfbWV0aG9kJ10sCiAgICAgICAgICAgICdvYXV0aF90aW1lc3RhbXAnICAgICAgICA9PiAkdGltZXN0YW1wLAogICAgICAgICkpOwoKICAgICAgICAvLyBPcHRpb25hbCBwYXJhbWV0ZXJzIHNob3VsZCBub3QgYmUgc2V0IGlmIHRoZXkgaGF2ZSBub3QgYmVlbiBzZXQgaW4gdGhlIGNvbmZpZyBhcwogICAgICAgIC8vIHRoZSBwYXJhbWV0ZXIgbWF5IGJlIGNvbnNpZGVyZWQgaW52YWxpZCBieSB0aGUgT2F1dGggc2VydmljZS4KICAgICAgICAkb3B0aW9uYWxQYXJhbXMgPSBhcnJheSgKICAgICAgICAgICAgJ2NhbGxiYWNrJyAgPT4gJ29hdXRoX2NhbGxiYWNrJywKICAgICAgICAgICAgJ3Rva2VuJyAgICAgPT4gJ29hdXRoX3Rva2VuJywKICAgICAgICAgICAgJ3ZlcmlmaWVyJyAgPT4gJ29hdXRoX3ZlcmlmaWVyJywKICAgICAgICAgICAgJ3ZlcnNpb24nICAgPT4gJ29hdXRoX3ZlcnNpb24nCiAgICAgICAgKTsKCiAgICAgICAgZm9yZWFjaCAoJG9wdGlvbmFsUGFyYW1zIGFzICRvcHRpb25OYW1lID0+ICRvYXV0aE5hbWUpIHsKICAgICAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5jb25maWdbJG9wdGlvbk5hbWVdKSA9PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAkcGFyYW1zWyRvYXV0aE5hbWVdID0gJHRoaXMtPmNvbmZpZ1skb3B0aW9uTmFtZV07CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkcGFyYW1zOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFsbCBvZiB0aGUgcGFyYW1ldGVycyByZXF1aXJlZCB0byBzaWduIGEgcmVxdWVzdCBpbmNsdWRpbmc6CiAgICAgKiAqIFRoZSBvYXV0aCBwYXJhbXMKICAgICAqICogVGhlIHJlcXVlc3QgR0VUIHBhcmFtcwogICAgICogKiBUaGUgcGFyYW1zIHBhc3NlZCBpbiB0aGUgUE9TVCBib2R5ICh3aXRoIGEgY29udGVudC10eXBlIG9mIGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCkKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCAgIFJlcXVlc3QgdG8gZ2VuZXJhdGUgYSBzaWduYXR1cmUgZm9yCiAgICAgKiBAcGFyYW0gaW50ZWdlciAgICAgICAgICAkdGltZXN0YW1wIFRpbWVzdGFtcCB0byB1c2UgZm9yIG5vbmNlCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAkbm9uY2UKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYXJhbXNUb1NpZ24oUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgJHRpbWVzdGFtcCwgJG5vbmNlKQogICAgewogICAgICAgICRwYXJhbXMgPSAkdGhpcy0+Z2V0T2F1dGhQYXJhbXMoJHRpbWVzdGFtcCwgJG5vbmNlKTsKCiAgICAgICAgLy8gQWRkIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzCiAgICAgICAgJHBhcmFtcy0+bWVyZ2UoJHJlcXVlc3QtPmdldFF1ZXJ5KCkpOwoKICAgICAgICAvLyBBZGQgUE9TVCBmaWVsZHMgdG8gc2lnbmluZyBzdHJpbmcgaWYgcmVxdWlyZWQKICAgICAgICBpZiAoJHRoaXMtPnNob3VsZFBvc3RGaWVsZHNCZVNpZ25lZCgkcmVxdWVzdCkpCiAgICAgICAgewogICAgICAgICAgICAkcGFyYW1zLT5tZXJnZSgkcmVxdWVzdC0+Z2V0UG9zdEZpZWxkcygpKTsKICAgICAgICB9CgogICAgICAgIC8vIFNvcnQgcGFyYW1zCiAgICAgICAgJHBhcmFtcyA9ICRwYXJhbXMtPnRvQXJyYXkoKTsKICAgICAgICBrc29ydCgkcGFyYW1zKTsKCiAgICAgICAgcmV0dXJuICRwYXJhbXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZWNpZGUgd2hldGhlciB0aGUgcG9zdCBmaWVsZHMgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBiYXNlIHN0cmluZyB0aGF0IE9hdXRoIHNpZ25zLgogICAgICogVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBjb3JyZWN0LiBOb24tY29uZm9ybWFudCBBUElzIG1heSByZXF1aXJlIHRoYXQgdGhpcyBtZXRob2QgYmUKICAgICAqIG92ZXJ3cml0dGVuIGUuZy4gdGhlIEZsaWNrciBBUEkgaW5jb3JyZWN0bHkgYWRkcyB0aGUgcG9zdCBmaWVsZHMgd2hlbiB0aGUgQ29udGVudC1UeXBlCiAgICAgKiBpcyAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJwogICAgICoKICAgICAqIEBwYXJhbSAkcmVxdWVzdAogICAgICogQHJldHVybiBib29sIFdoZXRoZXIgdGhlIHBvc3QgZmllbGRzIHNob3VsZCBiZSBzaWduZWQgb3Igbm90CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzaG91bGRQb3N0RmllbGRzQmVTaWduZWQoJHJlcXVlc3QpCiAgICB7CiAgICAgICAgaWYgKCEkdGhpcy0+Y29uZmlnLT5nZXQoJ2Rpc2FibGVfcG9zdF9wYXJhbXMnKSAmJgogICAgICAgICAgICAkcmVxdWVzdCBpbnN0YW5jZW9mIEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2UgJiYKICAgICAgICAgICAgZmFsc2UgIT09IHN0cnBvcygkcmVxdWVzdC0+Z2V0SGVhZGVyKCdDb250ZW50LVR5cGUnKSwgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgTm9uY2UgQmFzZWQgb24gdGhlIHVuaXF1ZSBpZCBhbmQgVVJMLiBUaGlzIHdpbGwgYWxsb3cgZm9yIG11bHRpcGxlIHJlcXVlc3RzIGluIHBhcmFsbGVsIHdpdGggdGhlIHNhbWUKICAgICAqIGV4YWN0IHRpbWVzdGFtcCB0byB1c2Ugc2VwYXJhdGUgbm9uY2Uncy4KICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCBSZXF1ZXN0IHRvIGdlbmVyYXRlIGEgbm9uY2UgZm9yCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdlbmVyYXRlTm9uY2UoUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCkKICAgIHsKICAgICAgICByZXR1cm4gc2hhMSh1bmlxaWQoJycsIHRydWUpIC4gJHJlcXVlc3QtPmdldFVybCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldHMgdGltZXN0YW1wIGZyb20gZXZlbnQgb3IgY3JlYXRlIG5ldyB0aW1lc3RhbXAKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50IEV2ZW50IGNvbnRhaW5pbmcgY29udGV4dHVhbCBpbmZvcm1hdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUaW1lc3RhbXAoRXZlbnQgJGV2ZW50KQogICAgewogICAgICAgcmV0dXJuICRldmVudFsndGltZXN0YW1wJ10gPzogdGltZSgpOwogICAgfQoKICAgIC8qKgogICAgICogQ29udmVydCBib29sZWFucyB0byBzdHJpbmdzLCByZW1vdmVkIHVuc2V0IHBhcmFtZXRlcnMsIGFuZCBzb3J0cyB0aGUgYXJyYXkKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGRhdGEgRGF0YSBhcnJheQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHByZXBhcmVQYXJhbWV0ZXJzKCRkYXRhKQogICAgewogICAgICAgIGtzb3J0KCRkYXRhKTsKICAgICAgICBmb3JlYWNoICgkZGF0YSBhcyAka2V5ID0+ICYkdmFsdWUpIHsKICAgICAgICAgICAgc3dpdGNoIChnZXR0eXBlKCR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ05VTEwnOgogICAgICAgICAgICAgICAgICAgIHVuc2V0KCRkYXRhWyRrZXldKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ2FycmF5JzoKICAgICAgICAgICAgICAgICAgICAkZGF0YVska2V5XSA9IHNlbGY6OnByZXBhcmVQYXJhbWV0ZXJzKCR2YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICdib29sZWFuJzoKICAgICAgICAgICAgICAgICAgICAkZGF0YVska2V5XSA9ICR2YWx1ZSA/ICd0cnVlJyA6ICdmYWxzZSc7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/AbstractConfigLoader.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZTsKCnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwoKLyoqCiAqIEFic3RyYWN0IGNvbmZpZyBsb2FkZXIKICovCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0Q29uZmlnTG9hZGVyIGltcGxlbWVudHMgQ29uZmlnTG9hZGVySW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIGFycmF5IEFycmF5IG9mIGFsaWFzZXMgZm9yIGFjdHVhbCBmaWxlbmFtZXMgKi8KICAgIHByb3RlY3RlZCAkYWxpYXNlcyA9IGFycmF5KCk7CgogICAgLyoqIEB2YXIgYXJyYXkgSGFzaCBvZiBwcmV2aW91c2x5IGxvYWRlZCBmaWxlbmFtZXMgKi8KICAgIHByb3RlY3RlZCAkbG9hZGVkRmlsZXMgPSBhcnJheSgpOwoKICAgIC8qKiBAdmFyIGFycmF5IEpTT04gZXJyb3IgY29kZSBtYXBwaW5ncyAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkanNvbkVycm9ycyA9IGFycmF5KAogICAgICAgIEpTT05fRVJST1JfTk9ORSA9PiAnSlNPTl9FUlJPUl9OT05FIC0gTm8gZXJyb3JzJywKICAgICAgICBKU09OX0VSUk9SX0RFUFRIID0+ICdKU09OX0VSUk9SX0RFUFRIIC0gTWF4aW11bSBzdGFjayBkZXB0aCBleGNlZWRlZCcsCiAgICAgICAgSlNPTl9FUlJPUl9TVEFURV9NSVNNQVRDSCA9PiAnSlNPTl9FUlJPUl9TVEFURV9NSVNNQVRDSCAtIFVuZGVyZmxvdyBvciB0aGUgbW9kZXMgbWlzbWF0Y2gnLAogICAgICAgIEpTT05fRVJST1JfQ1RSTF9DSEFSID0+ICdKU09OX0VSUk9SX0NUUkxfQ0hBUiAtIFVuZXhwZWN0ZWQgY29udHJvbCBjaGFyYWN0ZXIgZm91bmQnLAogICAgICAgIEpTT05fRVJST1JfU1lOVEFYID0+ICdKU09OX0VSUk9SX1NZTlRBWCAtIFN5bnRheCBlcnJvciwgbWFsZm9ybWVkIEpTT04nLAogICAgICAgIEpTT05fRVJST1JfVVRGOCA9PiAnSlNPTl9FUlJPUl9VVEY4IC0gTWFsZm9ybWVkIFVURi04IGNoYXJhY3RlcnMsIHBvc3NpYmx5IGluY29ycmVjdGx5IGVuY29kZWQnCiAgICApOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2FkKCRjb25maWcsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAvLyBSZXNldCB0aGUgYXJyYXkgb2YgbG9hZGVkIGZpbGVzIGJlY2F1c2UgdGhpcyBpcyBhIG5ldyBjb25maWcKICAgICAgICAkdGhpcy0+bG9hZGVkRmlsZXMgPSBhcnJheSgpOwoKICAgICAgICBpZiAoaXNfc3RyaW5nKCRjb25maWcpKSB7CiAgICAgICAgICAgICRjb25maWcgPSAkdGhpcy0+bG9hZEZpbGUoJGNvbmZpZyk7CiAgICAgICAgfSBlbHNlaWYgKCFpc19hcnJheSgkY29uZmlnKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdVbmtub3duIHR5cGUgcGFzc2VkIHRvIGNvbmZpZ3VyYXRpb24gbG9hZGVyOiAnIC4gZ2V0dHlwZSgkY29uZmlnKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPm1lcmdlSW5jbHVkZXMoJGNvbmZpZyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPmJ1aWxkKCRjb25maWcsICRvcHRpb25zKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhbiBpbmNsdWRlIGFsaWFzIHRvIHRoZSBsb2FkZXIKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmaWxlbmFtZSBGaWxlbmFtZSB0byBhbGlhcyAoZS5nLiBfZm9vKQogICAgICogQHBhcmFtIHN0cmluZyAkYWxpYXMgICAgQWN0dWFsIGZpbGUgdG8gdXNlIChlLmcuIC9wYXRoL3RvL2Zvby5qc29uKQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkQWxpYXMoJGZpbGVuYW1lLCAkYWxpYXMpCiAgICB7CiAgICAgICAgJHRoaXMtPmFsaWFzZXNbJGZpbGVuYW1lXSA9ICRhbGlhczsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogUmVtb3ZlIGFuIGFsaWFzIGZyb20gdGhlIGxvYWRlcgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGFsaWFzIEFsaWFzIHRvIHJlbW92ZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlQWxpYXMoJGFsaWFzKQogICAgewogICAgICAgIHVuc2V0KCR0aGlzLT5hbGlhc2VzWyRhbGlhc10pOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBQZXJmb3JtIHRoZSBwYXJzaW5nIG9mIGEgY29uZmlnIGZpbGUgYW5kIGNyZWF0ZSB0aGUgZW5kIHJlc3VsdAogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkY29uZmlnICBDb25maWd1cmF0aW9uIGRhdGEKICAgICAqIEBwYXJhbSBhcnJheSAkb3B0aW9ucyBPcHRpb25zIHRvIHVzZSB3aGVuIGJ1aWxkaW5nCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZAogICAgICovCiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZnVuY3Rpb24gYnVpbGQoJGNvbmZpZywgYXJyYXkgJG9wdGlvbnMpOwoKICAgIC8qKgogICAgICogTG9hZCBhIGNvbmZpZ3VyYXRpb24gZmlsZSAoY2FuIGxvYWQgSlNPTiBvciBQSFAgZmlsZXMgdGhhdCByZXR1cm4gYW4gYXJyYXkgd2hlbiBpbmNsdWRlZCkKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmaWxlbmFtZSBGaWxlIHRvIGxvYWQKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICogQHRocm93cyBSdW50aW1lRXhjZXB0aW9uIHdoZW4gdGhlIEpTT04gY2Fubm90IGJlIHBhcnNlZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gbG9hZEZpbGUoJGZpbGVuYW1lKQogICAgewogICAgICAgIGlmIChpc3NldCgkdGhpcy0+YWxpYXNlc1skZmlsZW5hbWVdKSkgewogICAgICAgICAgICAkZmlsZW5hbWUgPSAkdGhpcy0+YWxpYXNlc1skZmlsZW5hbWVdOwogICAgICAgIH0KCiAgICAgICAgc3dpdGNoIChwYXRoaW5mbygkZmlsZW5hbWUsIFBBVEhJTkZPX0VYVEVOU0lPTikpIHsKICAgICAgICAgICAgY2FzZSAnanMnOgogICAgICAgICAgICBjYXNlICdqc29uJzoKICAgICAgICAgICAgICAgICRsZXZlbCA9IGVycm9yX3JlcG9ydGluZygwKTsKICAgICAgICAgICAgICAgICRqc29uID0gZmlsZV9nZXRfY29udGVudHMoJGZpbGVuYW1lKTsKICAgICAgICAgICAgICAgIGVycm9yX3JlcG9ydGluZygkbGV2ZWwpOwoKICAgICAgICAgICAgICAgIGlmICgkanNvbiA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICAkZXJyID0gZXJyb3JfZ2V0X2xhc3QoKTsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCJVbmFibGUgdG8gb3BlbiB7JGZpbGVuYW1lfTogIiAuICRlcnJbJ21lc3NhZ2UnXSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJGNvbmZpZyA9IGpzb25fZGVjb2RlKCRqc29uLCB0cnVlKTsKICAgICAgICAgICAgICAgIC8vIFRocm93IGFuIGV4Y2VwdGlvbiBpZiB0aGVyZSB3YXMgYW4gZXJyb3IgbG9hZGluZyB0aGUgZmlsZQogICAgICAgICAgICAgICAgaWYgKCRlcnJvciA9IGpzb25fbGFzdF9lcnJvcigpKSB7CiAgICAgICAgICAgICAgICAgICAgJG1lc3NhZ2UgPSBpc3NldChzZWxmOjokanNvbkVycm9yc1skZXJyb3JdKSA/IHNlbGY6OiRqc29uRXJyb3JzWyRlcnJvcl0gOiAnVW5rbm93biBlcnJvcic7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIkVycm9yIGxvYWRpbmcgSlNPTiBkYXRhIGZyb20geyRmaWxlbmFtZX06ICh7JGVycm9yfSkgLSB7JG1lc3NhZ2V9Iik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAncGhwJzoKICAgICAgICAgICAgICAgIGlmICghaXNfcmVhZGFibGUoJGZpbGVuYW1lKSkgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oIlVuYWJsZSB0byBvcGVuIHskZmlsZW5hbWV9IGZvciByZWFkaW5nIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkY29uZmlnID0gcmVxdWlyZSAkZmlsZW5hbWU7CiAgICAgICAgICAgICAgICBpZiAoIWlzX2FycmF5KCRjb25maWcpKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignUEhQIGZpbGVzIG11c3QgcmV0dXJuIGFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24gZGF0YScpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdVbmtub3duIGZpbGUgZXh0ZW5zaW9uOiAnIC4gJGZpbGVuYW1lKTsKICAgICAgICB9CgogICAgICAgIC8vIEtlZXAgdHJhY2sgb2YgdGhpcyBmaWxlIGJlaW5nIGxvYWRlZCB0byBwcmV2ZW50IGluZmluaXRlIHJlY3Vyc2lvbgogICAgICAgICR0aGlzLT5sb2FkZWRGaWxlc1skZmlsZW5hbWVdID0gdHJ1ZTsKCiAgICAgICAgLy8gTWVyZ2UgaW5jbHVkZSBmaWxlcyBpbnRvIHRoZSBjb25maWd1cmF0aW9uIGFycmF5CiAgICAgICAgJHRoaXMtPm1lcmdlSW5jbHVkZXMoJGNvbmZpZywgZGlybmFtZSgkZmlsZW5hbWUpKTsKCiAgICAgICAgcmV0dXJuICRjb25maWc7CiAgICB9CgogICAgLyoqCiAgICAgKiBNZXJnZXMgaW4gYWxsIGluY2x1ZGUgZmlsZXMKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgICRjb25maWcgICBDb25maWcgZGF0YSB0aGF0IGNvbnRhaW5zIGluY2x1ZGVzCiAgICAgKiBAcGFyYW0gc3RyaW5nICRiYXNlUGF0aCBCYXNlIHBhdGggdG8gdXNlIHdoZW4gYSByZWxhdGl2ZSBwYXRoIGlzIGVuY291bnRlcmVkCiAgICAgKgogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIHRoZSBtZXJnZWQgYW5kIGluY2x1ZGVkIGRhdGEKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIG1lcmdlSW5jbHVkZXMoJiRjb25maWcsICRiYXNlUGF0aCA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKCFlbXB0eSgkY29uZmlnWydpbmNsdWRlcyddKSkgewogICAgICAgICAgICBmb3JlYWNoICgkY29uZmlnWydpbmNsdWRlcyddIGFzICYkcGF0aCkgewogICAgICAgICAgICAgICAgLy8gQWNjb3VudCBmb3IgcmVsYXRpdmUgcGF0aHMKICAgICAgICAgICAgICAgIGlmICgkcGF0aFswXSAhPSBESVJFQ1RPUllfU0VQQVJBVE9SICYmICFpc3NldCgkdGhpcy0+YWxpYXNlc1skcGF0aF0pICYmICRiYXNlUGF0aCkgewogICAgICAgICAgICAgICAgICAgICRwYXRoID0gInskYmFzZVBhdGh9L3skcGF0aH0iOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgLy8gRG9uJ3QgbG9hZCB0aGUgc2FtZSBmaWxlcyBtb3JlIHRoYW4gb25jZQogICAgICAgICAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+bG9hZGVkRmlsZXNbJHBhdGhdKSkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5sb2FkZWRGaWxlc1skcGF0aF0gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICRjb25maWcgPSAkdGhpcy0+bWVyZ2VEYXRhKCR0aGlzLT5sb2FkRmlsZSgkcGF0aCksICRjb25maWcpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBmb3IgbWVyZ2luZyB0d28gYXJyYXlzIG9mIGRhdGEgKHVzZXMgYXJyYXlfbWVyZ2VfcmVjdXJzaXZlKQogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkYSBPcmlnaW5hbCBkYXRhCiAgICAgKiBAcGFyYW0gYXJyYXkgJGIgRGF0YSB0byBtZXJnZSBpbnRvIHRoZSBvcmlnaW5hbCBhbmQgb3ZlcndyaXRlIGV4aXN0aW5nIHZhbHVlcwogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIG1lcmdlRGF0YShhcnJheSAkYSwgYXJyYXkgJGIpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5X21lcmdlX3JlY3Vyc2l2ZSgkYSwgJGIpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Builder/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxCdWlsZGVyOwoKdXNlIEd1enpsZVxDb21tb25cQWJzdHJhY3RIYXNEaXNwYXRjaGVyOwp1c2UgR3V6emxlXFNlcnZpY2VcQ2xpZW50SW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRXhjZXB0aW9uXFNlcnZpY2VCdWlsZGVyRXhjZXB0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcRXhjZXB0aW9uXFNlcnZpY2VOb3RGb3VuZEV4Y2VwdGlvbjsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CgovKioKICoge0Bpbmhlcml0ZG9jfQogKgogKiBDbGllbnRzIGFuZCBkYXRhIGNhbiBiZSBzZXQsIHJldHJpZXZlZCwgYW5kIHJlbW92ZWQgYnkgYWNjZXNzaW5nIHRoZSBzZXJ2aWNlIGJ1aWxkZXIgbGlrZSBhbiBhc3NvY2lhdGl2ZSBhcnJheS4KICovCmNsYXNzIFNlcnZpY2VCdWlsZGVyIGV4dGVuZHMgQWJzdHJhY3RIYXNEaXNwYXRjaGVyIGltcGxlbWVudHMgU2VydmljZUJ1aWxkZXJJbnRlcmZhY2UsIFxBcnJheUFjY2VzcywgXFNlcmlhbGl6YWJsZQp7CiAgICAvKiogQHZhciBhcnJheSBTZXJ2aWNlIGJ1aWxkZXIgY29uZmlndXJhdGlvbiBkYXRhICovCiAgICBwcm90ZWN0ZWQgJGJ1aWxkZXJDb25maWcgPSBhcnJheSgpOwoKICAgIC8qKiBAdmFyIGFycmF5IEluc3RhbnRpYXRlZCBjbGllbnQgb2JqZWN0cyAqLwogICAgcHJvdGVjdGVkICRjbGllbnRzID0gYXJyYXkoKTsKCiAgICAvKiogQHZhciBTZXJ2aWNlQnVpbGRlckxvYWRlciBDYWNoZWQgaW5zdGFuY2Ugb2YgdGhlIHNlcnZpY2UgYnVpbGRlciBsb2FkZXIgKi8KICAgIHByb3RlY3RlZCBzdGF0aWMgJGNhY2hlZEZhY3Rvcnk7CgogICAgLyoqIEB2YXIgYXJyYXkgUGx1Z2lucyB0byBhdHRhY2ggdG8gZWFjaCBjbGllbnQgY3JlYXRlZCBieSB0aGUgc2VydmljZSBidWlsZGVyICovCiAgICBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgbmV3IFNlcnZpY2VCdWlsZGVyIHVzaW5nIGNvbmZpZ3VyYXRpb24gZGF0YSBzb3VyY2VkIGZyb20gYW4KICAgICAqIGFycmF5LCAuanN8Lmpzb24gb3IgLnBocCBmaWxlLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxzdHJpbmcgJGNvbmZpZyAgICAgICAgICAgVGhlIGZ1bGwgcGF0aCB0byBhbiAuanNvbnwuanMgb3IgLnBocCBmaWxlLCBvciBhbiBhc3NvY2lhdGl2ZSBhcnJheQogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAkZ2xvYmFsUGFyYW1ldGVycyBBcnJheSBvZiBnbG9iYWwgcGFyYW1ldGVycyB0byBwYXNzIHRvIGV2ZXJ5IHNlcnZpY2UgYXMgaXQgaXMgaW5zdGFudGlhdGVkLgogICAgICoKICAgICAqIEByZXR1cm4gU2VydmljZUJ1aWxkZXJJbnRlcmZhY2UKICAgICAqIEB0aHJvd3MgU2VydmljZUJ1aWxkZXJFeGNlcHRpb24gaWYgYSBmaWxlIGNhbm5vdCBiZSBvcGVuZWQKICAgICAqIEB0aHJvd3MgU2VydmljZU5vdEZvdW5kRXhjZXB0aW9uIHdoZW4gdHJ5aW5nIHRvIGV4dGVuZCBhIG1pc3NpbmcgY2xpZW50CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gbnVsbCwgYXJyYXkgJGdsb2JhbFBhcmFtZXRlcnMgPSBhcnJheSgpKQogICAgewogICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVTdGFydAogICAgICAgIGlmICghc3RhdGljOjokY2FjaGVkRmFjdG9yeSkgewogICAgICAgICAgICBzdGF0aWM6OiRjYWNoZWRGYWN0b3J5ID0gbmV3IFNlcnZpY2VCdWlsZGVyTG9hZGVyKCk7CiAgICAgICAgfQogICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVFbmQKCiAgICAgICAgcmV0dXJuIHNlbGY6OiRjYWNoZWRGYWN0b3J5LT5sb2FkKCRjb25maWcsICRnbG9iYWxQYXJhbWV0ZXJzKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBhcnJheSAkc2VydmljZUJ1aWxkZXJDb25maWcgU2VydmljZSBjb25maWd1cmF0aW9uIHNldHRpbmdzOgogICAgICogICAgIC0gbmFtZTogTmFtZSBvZiB0aGUgc2VydmljZQogICAgICogICAgIC0gY2xhc3M6IENsaWVudCBjbGFzcyB0byBpbnN0YW50aWF0ZSB1c2luZyBhIGZhY3RvcnkgbWV0aG9kCiAgICAgKiAgICAgLSBwYXJhbXM6IGFycmF5IG9mIGtleSB2YWx1ZSBwYWlyIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIHRoZSBidWlsZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChhcnJheSAkc2VydmljZUJ1aWxkZXJDb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgICR0aGlzLT5idWlsZGVyQ29uZmlnID0gJHNlcnZpY2VCdWlsZGVyQ29uZmlnOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0QWxsRXZlbnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoJ3NlcnZpY2VfYnVpbGRlci5jcmVhdGVfY2xpZW50Jyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHVuc2VyaWFsaXplKCRzZXJpYWxpemVkKQogICAgewogICAgICAgICR0aGlzLT5idWlsZGVyQ29uZmlnID0ganNvbl9kZWNvZGUoJHNlcmlhbGl6ZWQsIHRydWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXJpYWxpemUoKQogICAgewogICAgICAgIHJldHVybiBqc29uX2VuY29kZSgkdGhpcy0+YnVpbGRlckNvbmZpZyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBdHRhY2ggYSBwbHVnaW4gdG8gZXZlcnkgY2xpZW50IGNyZWF0ZWQgYnkgdGhlIGJ1aWxkZXIKICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlICRwbHVnaW4gUGx1Z2luIHRvIGF0dGFjaCB0byBlYWNoIGNsaWVudAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkR2xvYmFsUGx1Z2luKEV2ZW50U3Vic2NyaWJlckludGVyZmFjZSAkcGx1Z2luKQogICAgewogICAgICAgICR0aGlzLT5wbHVnaW5zW10gPSAkcGx1Z2luOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgZGF0YSBmcm9tIHRoZSBzZXJ2aWNlIGJ1aWxkZXIgd2l0aG91dCB0cmlnZ2VyaW5nIHRoZSBidWlsZGluZyBvZiBhIHNlcnZpY2UKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIE5hbWUgb2YgdGhlIHNlcnZpY2UgdG8gcmV0cmlldmUKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldERhdGEoJG5hbWUpCiAgICB7CiAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5idWlsZGVyQ29uZmlnWyRuYW1lXSkgPyAkdGhpcy0+YnVpbGRlckNvbmZpZ1skbmFtZV0gOiBudWxsOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXQoJG5hbWUsICR0aHJvd0F3YXkgPSBmYWxzZSkKICAgIHsKICAgICAgICBpZiAoIWlzc2V0KCR0aGlzLT5idWlsZGVyQ29uZmlnWyRuYW1lXSkpIHsKCiAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiBhcmJpdHJhcnkgZGF0YSBpcyBiZWluZyByZWZlcmVuY2VkCiAgICAgICAgICAgIGlmIChpc3NldCgkdGhpcy0+Y2xpZW50c1skbmFtZV0pKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPmNsaWVudHNbJG5hbWVdOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBDaGVjayBhbGlhc2VzIGFuZCByZXR1cm4gYSBtYXRjaCBpZiBmb3VuZAogICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+YnVpbGRlckNvbmZpZyBhcyAkYWN0dWFsTmFtZSA9PiAkY29uZmlnKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGNvbmZpZ1snYWxpYXMnXSkgJiYgJGNvbmZpZ1snYWxpYXMnXSA9PSAkbmFtZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Z2V0KCRhY3R1YWxOYW1lLCAkdGhyb3dBd2F5KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICB0aHJvdyBuZXcgU2VydmljZU5vdEZvdW5kRXhjZXB0aW9uKCdObyBzZXJ2aWNlIGlzIHJlZ2lzdGVyZWQgYXMgJyAuICRuYW1lKTsKICAgICAgICB9CgogICAgICAgIGlmICghJHRocm93QXdheSAmJiBpc3NldCgkdGhpcy0+Y2xpZW50c1skbmFtZV0pKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Y2xpZW50c1skbmFtZV07CiAgICAgICAgfQoKICAgICAgICAkYnVpbGRlciA9JiAkdGhpcy0+YnVpbGRlckNvbmZpZ1skbmFtZV07CgogICAgICAgIC8vIENvbnZlcnQgcmVmZXJlbmNlcyB0byB0aGUgYWN0dWFsIGNsaWVudAogICAgICAgIGZvcmVhY2ggKCRidWlsZGVyWydwYXJhbXMnXSBhcyAmJHYpIHsKICAgICAgICAgICAgaWYgKGlzX3N0cmluZygkdikgJiYgc3Vic3RyKCR2LCAwLCAxKSA9PSAneycgJiYgc3Vic3RyKCR2LCAtMSkgPT0gJ30nKSB7CiAgICAgICAgICAgICAgICAkdiA9ICR0aGlzLT5nZXQodHJpbSgkdiwgJ3t9ICcpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gR2V0IHRoZSBjb25maWd1cmVkIHBhcmFtZXRlcnMgYW5kIG1lcmdlIGluIGFueSBwYXJhbWV0ZXJzIHByb3ZpZGVkIGZvciB0aHJvdy1hd2F5IGNsaWVudHMKICAgICAgICAkY29uZmlnID0gJGJ1aWxkZXJbJ3BhcmFtcyddOwogICAgICAgIGlmIChpc19hcnJheSgkdGhyb3dBd2F5KSkgewogICAgICAgICAgICAkY29uZmlnID0gJHRocm93QXdheSArICRjb25maWc7CiAgICAgICAgfQoKICAgICAgICAkY2xpZW50ID0gJGJ1aWxkZXJbJ2NsYXNzJ106OmZhY3RvcnkoJGNvbmZpZyk7CgogICAgICAgIGlmICghJHRocm93QXdheSkgewogICAgICAgICAgICAkdGhpcy0+Y2xpZW50c1skbmFtZV0gPSAkY2xpZW50OwogICAgICAgIH0KCiAgICAgICAgaWYgKCRjbGllbnQgaW5zdGFuY2VvZiBDbGllbnRJbnRlcmZhY2UpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnBsdWdpbnMgYXMgJHBsdWdpbikgewogICAgICAgICAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkcGx1Z2luKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBEaXNwYXRjaCBhbiBldmVudCBsZXR0aW5nIGxpc3RlbmVycyBrbm93IGEgY2xpZW50IHdhcyBjcmVhdGVkCiAgICAgICAgICAgICR0aGlzLT5kaXNwYXRjaCgnc2VydmljZV9idWlsZGVyLmNyZWF0ZV9jbGllbnQnLCBhcnJheSgnY2xpZW50JyA9PiAkY2xpZW50KSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGNsaWVudDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0KCRrZXksICRzZXJ2aWNlKQogICAgewogICAgICAgIGlmIChpc19hcnJheSgkc2VydmljZSkgJiYgaXNzZXQoJHNlcnZpY2VbJ2NsYXNzJ10pICYmIGlzc2V0KCRzZXJ2aWNlWydwYXJhbXMnXSkpIHsKICAgICAgICAgICAgJHRoaXMtPmJ1aWxkZXJDb25maWdbJGtleV0gPSAkc2VydmljZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+Y2xpZW50c1ska2V5XSA9ICRzZXJ2aWNlOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRTZXQoJG9mZnNldCwgJHZhbHVlKQogICAgewogICAgICAgICR0aGlzLT5zZXQoJG9mZnNldCwgJHZhbHVlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0VW5zZXQoJG9mZnNldCkKICAgIHsKICAgICAgICB1bnNldCgkdGhpcy0+YnVpbGRlckNvbmZpZ1skb2Zmc2V0XSk7CiAgICAgICAgdW5zZXQoJHRoaXMtPmNsaWVudHNbJG9mZnNldF0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRFeGlzdHMoJG9mZnNldCkKICAgIHsKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPmJ1aWxkZXJDb25maWdbJG9mZnNldF0pIHx8IGlzc2V0KCR0aGlzLT5jbGllbnRzWyRvZmZzZXRdKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0R2V0KCRvZmZzZXQpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXQoJG9mZnNldCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilderInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxCdWlsZGVyOwoKdXNlIEd1enpsZVxTZXJ2aWNlXEV4Y2VwdGlvblxTZXJ2aWNlTm90Rm91bmRFeGNlcHRpb247CgovKioKICogU2VydmljZSBidWlsZGVyIHVzZWQgdG8gc3RvcmUgYW5kIGJ1aWxkIGNsaWVudHMgb3IgYXJiaXRyYXJ5IGRhdGEuIENsaWVudCBjb25maWd1cmF0aW9uIGRhdGEgY2FuIGJlIHN1cHBsaWVkIHRvIHRlbGwKICogdGhlIHNlcnZpY2UgYnVpbGRlciBob3cgdG8gY3JlYXRlIGFuZCBjYWNoZSB7QHNlZSBcR3V6emxlXFNlcnZpY2VcQ2xpZW50SW50ZXJmYWNlfSBvYmplY3RzLiBBcmJpdHJhcnkgZGF0YSBjYW4gYmUKICogc3VwcGxpZWQgYW5kIGFjY2Vzc2VkIGZyb20gYSBzZXJ2aWNlIGJ1aWxkZXIuIEFyYml0cmFyeSBkYXRhIGFuZCBvdGhlciBjbGllbnRzIGNhbiBiZSByZWZlcmVuY2VkIGJ5IG5hbWUgaW4gY2xpZW50CiAqIGNvbmZpZ3VyYXRpb24gYXJyYXlzIHRvIG1ha2UgdGhlbSBpbnB1dCBmb3IgYnVpbGRpbmcgb3RoZXIgY2xpZW50cyAoZS5nLiAie2tleX0iKS4KICovCmludGVyZmFjZSBTZXJ2aWNlQnVpbGRlckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEdldCBhIENsaWVudEludGVyZmFjZSBvYmplY3Qgb3IgYXJiaXRyYXJ5IGRhdGEgZnJvbSB0aGUgc2VydmljZSBidWlsZGVyCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAgICAgJG5hbWUgICAgICBOYW1lIG9mIHRoZSByZWdpc3RlcmVkIHNlcnZpY2Ugb3IgZGF0YSB0byByZXRyaWV2ZQogICAgICogQHBhcmFtIGJvb2x8YXJyYXkgJHRocm93QXdheSBPbmx5IHBlcnRhaW5zIHRvIHJldHJpZXZpbmcgY2xpZW50IG9iamVjdHMgYnVpbHQgdXNpbmcgYSBjb25maWd1cmF0aW9uIGFycmF5LgogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXQgdG8gVFJVRSB0byBub3Qgc3RvcmUgdGhlIGNsaWVudCBmb3IgbGF0ZXIgcmV0cmlldmFsIGZyb20gdGhlIFNlcnZpY2VCdWlsZGVyLgogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBhbiBhcnJheSBpcyBzcGVjaWZpZWQsIHRoYXQgZGF0YSB3aWxsIG92ZXJ3cml0ZSB0aGUgY29uZmlndXJlZCBwYXJhbXMgb2YgdGhlCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudCBpZiB0aGUgY2xpZW50IGltcGxlbWVudHMge0BzZWUgXEd1enpsZVxDb21tb25cRnJvbUNvbmZpZ0ludGVyZmFjZX0gYW5kIHdpbGwKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90IHN0b3JlIHRoZSBjbGllbnQgZm9yIGxhdGVyIHJldHJpZXZhbC4KICAgICAqCiAgICAgKiBAcmV0dXJuIFxHdXp6bGVcU2VydmljZVxDbGllbnRJbnRlcmZhY2V8bWl4ZWQKICAgICAqIEB0aHJvd3MgU2VydmljZU5vdEZvdW5kRXhjZXB0aW9uIHdoZW4gYSBjbGllbnQgb3IgZGF0YSBjYW5ub3QgYmUgZm91bmQgYnkgdGhlIGdpdmVuIG5hbWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldCgkbmFtZSwgJHRocm93QXdheSA9IGZhbHNlKTsKCiAgICAvKioKICAgICAqIFJlZ2lzdGVyIGEgc2VydmljZSBvciBhcmJpdHJhcnkgZGF0YSBieSBuYW1lIHdpdGggdGhlIHNlcnZpY2UgYnVpbGRlcgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSAgICAgTmFtZSBvZiB0aGUgY2xpZW50IG9yIGRhdGEgdG8gcmVnaXN0ZXIKICAgICAqIEBwYXJhbSBtaXhlZCAgJHNlcnZpY2UgQ2xpZW50IGNvbmZpZ3VyYXRpb24gYXJyYXkgb3IgYXJiaXRyYXJ5IGRhdGEgdG8gcmVnaXN0ZXIuIFRoZSBjbGllbnQgY29uZmlndXJhdGlvbiBhcnJheQogICAgICogICAgICAgICAgICAgICAgICAgICAgICBtdXN0IGluY2x1ZGUgYSAnY2xhc3MnIChzdHJpbmcpIGFuZCAncGFyYW1zJyAoYXJyYXkpIGtleS4KICAgICAqCiAgICAgKiBAcmV0dXJuIFNlcnZpY2VCdWlsZGVySW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXQoJGtleSwgJHNlcnZpY2UpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilderLoader.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxCdWlsZGVyOwoKdXNlIEd1enpsZVxTZXJ2aWNlXEFic3RyYWN0Q29uZmlnTG9hZGVyOwp1c2UgR3V6emxlXFNlcnZpY2VcRXhjZXB0aW9uXFNlcnZpY2VOb3RGb3VuZEV4Y2VwdGlvbjsKCi8qKgogKiBTZXJ2aWNlIGJ1aWxkZXIgY29uZmlnIGxvYWRlcgogKi8KY2xhc3MgU2VydmljZUJ1aWxkZXJMb2FkZXIgZXh0ZW5kcyBBYnN0cmFjdENvbmZpZ0xvYWRlcgp7CiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYnVpbGQoJGNvbmZpZywgYXJyYXkgJG9wdGlvbnMpCiAgICB7CiAgICAgICAgLy8gQSBzZXJ2aWNlIGJ1aWxkZXIgY2xhc3MgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgY2xhc3MgZmllbGQKICAgICAgICAkY2xhc3MgPSAhZW1wdHkoJGNvbmZpZ1snY2xhc3MnXSkgPyAkY29uZmlnWydjbGFzcyddIDogX19OQU1FU1BBQ0VfXyAuICdcXFNlcnZpY2VCdWlsZGVyJzsKCiAgICAgICAgLy8gQWNjb3VudCBmb3Igb2xkIHN0eWxlIGNvbmZpZ3MgdGhhdCBkbyBub3QgaGF2ZSBhIHNlcnZpY2VzIGFycmF5CiAgICAgICAgJHNlcnZpY2VzID0gaXNzZXQoJGNvbmZpZ1snc2VydmljZXMnXSkgPyAkY29uZmlnWydzZXJ2aWNlcyddIDogJGNvbmZpZzsKCiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGNvbmZpZ3VyYXRpb24gYW5kIGhhbmRsZSBleHRlbnNpb25zCiAgICAgICAgZm9yZWFjaCAoJHNlcnZpY2VzIGFzICRuYW1lID0+ICYkc2VydmljZSkgewoKICAgICAgICAgICAgJHNlcnZpY2VbJ3BhcmFtcyddID0gaXNzZXQoJHNlcnZpY2VbJ3BhcmFtcyddKSA/ICRzZXJ2aWNlWydwYXJhbXMnXSA6IGFycmF5KCk7CgogICAgICAgICAgICAvLyBDaGVjayBpZiB0aGlzIGNsaWVudCBidWlsZGVyIGV4dGVuZHMgYW5vdGhlciBjbGllbnQKICAgICAgICAgICAgaWYgKCFlbXB0eSgkc2VydmljZVsnZXh0ZW5kcyddKSkgewoKICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBzZXJ2aWNlIGl0J3MgZXh0ZW5kaW5nIGhhcyBiZWVuIGRlZmluZWQKICAgICAgICAgICAgICAgIGlmICghaXNzZXQoJHNlcnZpY2VzWyRzZXJ2aWNlWydleHRlbmRzJ11dKSkgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTZXJ2aWNlTm90Rm91bmRFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAgICAgICAgICJ7JG5hbWV9IGlzIHRyeWluZyB0byBleHRlbmQgYSBub24tZXhpc3RlbnQgc2VydmljZTogeyRzZXJ2aWNlWydleHRlbmRzJ119IgogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJGV4dGVuZGVkID0gJiRzZXJ2aWNlc1skc2VydmljZVsnZXh0ZW5kcyddXTsKCiAgICAgICAgICAgICAgICAvLyBVc2UgdGhlIGNvcnJlY3QgY2xhc3MgYXR0cmlidXRlCiAgICAgICAgICAgICAgICBpZiAoZW1wdHkoJHNlcnZpY2VbJ2NsYXNzJ10pKSB7CiAgICAgICAgICAgICAgICAgICAgJHNlcnZpY2VbJ2NsYXNzJ10gPSBpc3NldCgkZXh0ZW5kZWRbJ2NsYXNzJ10pID8gJGV4dGVuZGVkWydjbGFzcyddIDogJyc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoJGV4dGVuZHNQYXJhbXMgPSBpc3NldCgkZXh0ZW5kZWRbJ3BhcmFtcyddKSA/ICRleHRlbmRlZFsncGFyYW1zJ10gOiBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICRzZXJ2aWNlWydwYXJhbXMnXSA9ICRzZXJ2aWNlWydwYXJhbXMnXSArICRleHRlbmRzUGFyYW1zOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBPdmVyd3JpdGUgZGVmYXVsdCB2YWx1ZXMgd2l0aCBnbG9iYWwgcGFyYW1ldGVyIHZhbHVlcwogICAgICAgICAgICBpZiAoIWVtcHR5KCRvcHRpb25zKSkgewogICAgICAgICAgICAgICAgJHNlcnZpY2VbJ3BhcmFtcyddID0gJG9wdGlvbnMgKyAkc2VydmljZVsncGFyYW1zJ107CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRzZXJ2aWNlWydjbGFzcyddID0gaXNzZXQoJHNlcnZpY2VbJ2NsYXNzJ10pID8gJHNlcnZpY2VbJ2NsYXNzJ10gOiAnJzsKICAgICAgICB9CgogICAgICAgIHJldHVybiBuZXcgJGNsYXNzKCRzZXJ2aWNlcyk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIG1lcmdlRGF0YShhcnJheSAkYSwgYXJyYXkgJGIpCiAgICB7CiAgICAgICAgJHJlc3VsdCA9ICRiICsgJGE7CgogICAgICAgIC8vIE1lcmdlIHNlcnZpY2VzIHVzaW5nIGEgcmVjdXJzaXZlIHVuaW9uIG9mIGFycmF5cwogICAgICAgIGlmIChpc3NldCgkYVsnc2VydmljZXMnXSkgJiYgJGJbJ3NlcnZpY2VzJ10pIHsKCiAgICAgICAgICAgIC8vIEdldCBhIHVuaW9uIG9mIHRoZSBzZXJ2aWNlcyBvZiB0aGUgdHdvIGFycmF5cwogICAgICAgICAgICAkcmVzdWx0WydzZXJ2aWNlcyddID0gJGJbJ3NlcnZpY2VzJ10gKyAkYVsnc2VydmljZXMnXTsKCiAgICAgICAgICAgIC8vIE1lcmdlIGVhY2ggc2VydmljZSBpbiB1c2luZyBhIHVuaW9uIG9mIHRoZSB0d28gYXJyYXlzCiAgICAgICAgICAgIGZvcmVhY2ggKCRyZXN1bHRbJ3NlcnZpY2VzJ10gYXMgJG5hbWUgPT4gJiRzZXJ2aWNlKSB7CgogICAgICAgICAgICAgICAgLy8gQnkgZGVmYXVsdCwgc2VydmljZXMgY29tcGxldGVseSBvdmVycmlkZSBhIHByZXZpb3VzbHkgZGVmaW5lZCBzZXJ2aWNlIHVubGVzcyBpdCBleHRlbmRzIGl0c2VsZgogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRhWydzZXJ2aWNlcyddWyRuYW1lXVsnZXh0ZW5kcyddKQogICAgICAgICAgICAgICAgICAgICYmIGlzc2V0KCRiWydzZXJ2aWNlcyddWyRuYW1lXVsnZXh0ZW5kcyddKQogICAgICAgICAgICAgICAgICAgICYmICRiWydzZXJ2aWNlcyddWyRuYW1lXVsnZXh0ZW5kcyddID09ICRuYW1lCiAgICAgICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgICAgICAkc2VydmljZSArPSAkYVsnc2VydmljZXMnXVskbmFtZV07CiAgICAgICAgICAgICAgICAgICAgLy8gVXNlIHRoZSBgZXh0ZW5kc2AgYXR0cmlidXRlIG9mIHRoZSBwYXJlbnQKICAgICAgICAgICAgICAgICAgICAkc2VydmljZVsnZXh0ZW5kcyddID0gJGFbJ3NlcnZpY2VzJ11bJG5hbWVdWydleHRlbmRzJ107CiAgICAgICAgICAgICAgICAgICAgLy8gTWVyZ2UgcGFyYW1ldGVycyB1c2luZyBhIHVuaW9uIGlmIGJvdGggaGF2ZSBwYXJhbWV0ZXJzCiAgICAgICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRhWydzZXJ2aWNlcyddWyRuYW1lXVsncGFyYW1zJ10pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRzZXJ2aWNlWydwYXJhbXMnXSArPSAkYVsnc2VydmljZXMnXVskbmFtZV1bJ3BhcmFtcyddOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/CachingConfigLoader.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZTsKCnVzZSBHdXp6bGVcQ2FjaGVcQ2FjaGVBZGFwdGVySW50ZXJmYWNlOwoKLyoqCiAqIERlY29yYXRvciB0aGF0IGFkZHMgY2FjaGluZyB0byBhIHNlcnZpY2UgZGVzY3JpcHRpb24gbG9hZGVyCiAqLwpjbGFzcyBDYWNoaW5nQ29uZmlnTG9hZGVyIGltcGxlbWVudHMgQ29uZmlnTG9hZGVySW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIENvbmZpZ0xvYWRlckludGVyZmFjZSAqLwogICAgcHJvdGVjdGVkICRsb2FkZXI7CgogICAgLyoqIEB2YXIgQ2FjaGVBZGFwdGVySW50ZXJmYWNlICovCiAgICBwcm90ZWN0ZWQgJGNhY2hlOwoKICAgIC8qKgogICAgICogQHBhcmFtIENvbmZpZ0xvYWRlckludGVyZmFjZSAkbG9hZGVyIExvYWRlciB1c2VkIHRvIGxvYWQgdGhlIGNvbmZpZyB3aGVuIHRoZXJlIGlzIGEgY2FjaGUgbWlzcwogICAgICogQHBhcmFtIENhY2hlQWRhcHRlckludGVyZmFjZSAkY2FjaGUgIE9iamVjdCB1c2VkIHRvIGNhY2hlIHRoZSBsb2FkZWQgcmVzdWx0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChDb25maWdMb2FkZXJJbnRlcmZhY2UgJGxvYWRlciwgQ2FjaGVBZGFwdGVySW50ZXJmYWNlICRjYWNoZSkKICAgIHsKICAgICAgICAkdGhpcy0+bG9hZGVyID0gJGxvYWRlcjsKICAgICAgICAkdGhpcy0+Y2FjaGUgPSAkY2FjaGU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGxvYWQoJGNvbmZpZywgYXJyYXkgJG9wdGlvbnMgPSBhcnJheSgpKQogICAgewogICAgICAgIGlmICghaXNfc3RyaW5nKCRjb25maWcpKSB7CiAgICAgICAgICAgICRrZXkgPSBmYWxzZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAka2V5ID0gJ2xvYWRlcl8nIC4gY3JjMzIoJGNvbmZpZyk7CiAgICAgICAgICAgIGlmICgkcmVzdWx0ID0gJHRoaXMtPmNhY2hlLT5mZXRjaCgka2V5KSkgewogICAgICAgICAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+bG9hZGVyLT5sb2FkKCRjb25maWcsICRvcHRpb25zKTsKICAgICAgICBpZiAoJGtleSkgewogICAgICAgICAgICAkdGhpcy0+Y2FjaGUtPnNhdmUoJGtleSwgJHJlc3VsdCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Client.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZTsKCnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxCYWRNZXRob2RDYWxsRXhjZXB0aW9uOwp1c2UgR3V6emxlXENvbW1vblxWZXJzaW9uOwp1c2UgR3V6emxlXEluZmxlY3Rpb25cSW5mbGVjdG9ySW50ZXJmYWNlOwp1c2UgR3V6emxlXEluZmxlY3Rpb25cSW5mbGVjdG9yOwp1c2UgR3V6emxlXEh0dHBcQ2xpZW50IGFzIEh0dHBDbGllbnQ7CnVzZSBHdXp6bGVcSHR0cFxFeGNlcHRpb25cTXVsdGlUcmFuc2ZlckV4Y2VwdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXEV4Y2VwdGlvblxDb21tYW5kVHJhbnNmZXJFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2U7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXEZhY3RvcnlcQ29tcG9zaXRlRmFjdG9yeTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcRmFjdG9yeVxGYWN0b3J5SW50ZXJmYWNlIGFzIENvbW1hbmRGYWN0b3J5SW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcUmVzb3VyY2VJdGVyYXRvckNsYXNzRmFjdG9yeTsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JGYWN0b3J5SW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlOwoKLyoqCiAqIENsaWVudCBvYmplY3QgZm9yIGV4ZWN1dGluZyBjb21tYW5kcyBvbiBhIHdlYiBzZXJ2aWNlLgogKi8KY2xhc3MgQ2xpZW50IGV4dGVuZHMgSHR0cENsaWVudCBpbXBsZW1lbnRzIENsaWVudEludGVyZmFjZQp7CiAgICBjb25zdCBDT01NQU5EX1BBUkFNUyA9ICdjb21tYW5kLnBhcmFtcyc7CgogICAgLyoqIEB2YXIgU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlIERlc2NyaXB0aW9uIG9mIHRoZSBzZXJ2aWNlIGFuZCBwb3NzaWJsZSBjb21tYW5kcyAqLwogICAgcHJvdGVjdGVkICRzZXJ2aWNlRGVzY3JpcHRpb247CgogICAgLyoqIEB2YXIgQ29tbWFuZEZhY3RvcnlJbnRlcmZhY2UgKi8KICAgIHByb3RlY3RlZCAkY29tbWFuZEZhY3Rvcnk7CgogICAgLyoqIEB2YXIgUmVzb3VyY2VJdGVyYXRvckZhY3RvcnlJbnRlcmZhY2UgKi8KICAgIHByb3RlY3RlZCAkcmVzb3VyY2VJdGVyYXRvckZhY3Rvcnk7CgogICAgLyoqIEB2YXIgSW5mbGVjdG9ySW50ZXJmYWNlIEluZmxlY3RvciBhc3NvY2lhdGVkIHdpdGggdGhlIHNlcnZpY2UvY2xpZW50ICovCiAgICBwcm90ZWN0ZWQgJGluZmxlY3RvcjsKCiAgICAvKioKICAgICAqIEJhc2ljIGZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBjbGllbnQuIEV4dGVuZCB0aGlzIG1ldGhvZCBpbiBzdWJjbGFzc2VzIHRvIGJ1aWxkIG1vcmUgY29tcGxleCBjbGllbnRzLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxDb2xsZWN0aW9uICRjb25maWcgQ29uZmlndXJhdGlvbiBkYXRhCiAgICAgKgogICAgICogQHJldHVybiBDbGllbnQKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiBuZXcgc3RhdGljKGlzc2V0KCRjb25maWdbJ2Jhc2VfdXJsJ10pID8gJGNvbmZpZ1snYmFzZV91cmwnXSA6IG51bGwsICRjb25maWcpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0QWxsRXZlbnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXlfbWVyZ2UoSHR0cENsaWVudDo6Z2V0QWxsRXZlbnRzKCksIGFycmF5KAogICAgICAgICAgICAnY2xpZW50LmNvbW1hbmQuY3JlYXRlJywKICAgICAgICAgICAgJ2NvbW1hbmQuYmVmb3JlX3ByZXBhcmUnLAogICAgICAgICAgICAnY29tbWFuZC5hZnRlcl9wcmVwYXJlJywKICAgICAgICAgICAgJ2NvbW1hbmQuYmVmb3JlX3NlbmQnLAogICAgICAgICAgICAnY29tbWFuZC5hZnRlcl9zZW5kJywKICAgICAgICAgICAgJ2NvbW1hbmQucGFyc2VfcmVzcG9uc2UnCiAgICAgICAgKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBNYWdpYyBtZXRob2QgdXNlZCB0byByZXRyaWV2ZSBhIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRtZXRob2QgTmFtZSBvZiB0aGUgY29tbWFuZCBvYmplY3QgdG8gaW5zdGFudGlhdGUKICAgICAqIEBwYXJhbSBhcnJheSAgJGFyZ3MgICBBcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgY29tbWFuZAogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQgUmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSBjb21tYW5kCiAgICAgKiBAdGhyb3dzIEJhZE1ldGhvZENhbGxFeGNlcHRpb24gd2hlbiBhIGNvbW1hbmQgaXMgbm90IGZvdW5kCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NhbGwoJG1ldGhvZCwgJGFyZ3MpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRDb21tYW5kKCRtZXRob2QsIGlzc2V0KCRhcmdzWzBdKSA/ICRhcmdzWzBdIDogYXJyYXkoKSktPmdldFJlc3VsdCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb21tYW5kKCRuYW1lLCBhcnJheSAkYXJncyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgLy8gQWRkIGdsb2JhbCBjbGllbnQgb3B0aW9ucyB0byB0aGUgY29tbWFuZAogICAgICAgIGlmICgkb3B0aW9ucyA9ICR0aGlzLT5nZXRDb25maWcoc2VsZjo6Q09NTUFORF9QQVJBTVMpKSB7CiAgICAgICAgICAgICRhcmdzICs9ICRvcHRpb25zOwogICAgICAgIH0KCiAgICAgICAgaWYgKCEoJGNvbW1hbmQgPSAkdGhpcy0+Z2V0Q29tbWFuZEZhY3RvcnkoKS0+ZmFjdG9yeSgkbmFtZSwgJGFyZ3MpKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCJDb21tYW5kIHdhcyBub3QgZm91bmQgbWF0Y2hpbmcgeyRuYW1lfSIpOwogICAgICAgIH0KCiAgICAgICAgJGNvbW1hbmQtPnNldENsaWVudCgkdGhpcyk7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoKCdjbGllbnQuY29tbWFuZC5jcmVhdGUnLCBhcnJheSgnY2xpZW50JyA9PiAkdGhpcywgJ2NvbW1hbmQnID0+ICRjb21tYW5kKSk7CgogICAgICAgIHJldHVybiAkY29tbWFuZDsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgY29tbWFuZCBmYWN0b3J5IHVzZWQgdG8gY3JlYXRlIGNvbW1hbmRzIGJ5IG5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gQ29tbWFuZEZhY3RvcnlJbnRlcmZhY2UgJGZhY3RvcnkgQ29tbWFuZCBmYWN0b3J5CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDb21tYW5kRmFjdG9yeShDb21tYW5kRmFjdG9yeUludGVyZmFjZSAkZmFjdG9yeSkKICAgIHsKICAgICAgICAkdGhpcy0+Y29tbWFuZEZhY3RvcnkgPSAkZmFjdG9yeTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSByZXNvdXJjZSBpdGVyYXRvciBmYWN0b3J5IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2xpZW50CiAgICAgKgogICAgICogQHBhcmFtIFJlc291cmNlSXRlcmF0b3JGYWN0b3J5SW50ZXJmYWNlICRmYWN0b3J5IFJlc291cmNlIGl0ZXJhdG9yIGZhY3RvcnkKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFJlc291cmNlSXRlcmF0b3JGYWN0b3J5KFJlc291cmNlSXRlcmF0b3JGYWN0b3J5SW50ZXJmYWNlICRmYWN0b3J5KQogICAgewogICAgICAgICR0aGlzLT5yZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeSA9ICRmYWN0b3J5OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldEl0ZXJhdG9yKCRjb21tYW5kLCBhcnJheSAkY29tbWFuZE9wdGlvbnMgPSBudWxsLCBhcnJheSAkaXRlcmF0b3JPcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICBpZiAoISgkY29tbWFuZCBpbnN0YW5jZW9mIENvbW1hbmRJbnRlcmZhY2UpKSB7CiAgICAgICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldENvbW1hbmQoJGNvbW1hbmQsICRjb21tYW5kT3B0aW9ucyA/OiBhcnJheSgpKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0UmVzb3VyY2VJdGVyYXRvckZhY3RvcnkoKS0+YnVpbGQoJGNvbW1hbmQsICRpdGVyYXRvck9wdGlvbnMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBleGVjdXRlKCRjb21tYW5kKQogICAgewogICAgICAgIGlmICgkY29tbWFuZCBpbnN0YW5jZW9mIENvbW1hbmRJbnRlcmZhY2UpIHsKICAgICAgICAgICAgJHRoaXMtPnNlbmQoJHRoaXMtPnByZXBhcmVDb21tYW5kKCRjb21tYW5kKSk7CiAgICAgICAgICAgICR0aGlzLT5kaXNwYXRjaCgnY29tbWFuZC5hZnRlcl9zZW5kJywgYXJyYXkoJ2NvbW1hbmQnID0+ICRjb21tYW5kKSk7CiAgICAgICAgICAgIHJldHVybiAkY29tbWFuZC0+Z2V0UmVzdWx0KCk7CiAgICAgICAgfSBlbHNlaWYgKGlzX2FycmF5KCRjb21tYW5kKSB8fCAkY29tbWFuZCBpbnN0YW5jZW9mIFxUcmF2ZXJzYWJsZSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmV4ZWN1dGVNdWx0aXBsZSgkY29tbWFuZCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignQ29tbWFuZCBtdXN0IGJlIGEgY29tbWFuZCBvciBhcnJheSBvZiBjb21tYW5kcycpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RGVzY3JpcHRpb24oU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlICRzZXJ2aWNlKQogICAgewogICAgICAgICR0aGlzLT5zZXJ2aWNlRGVzY3JpcHRpb24gPSAkc2VydmljZTsKCiAgICAgICAgLy8gSWYgYSBiYXNlVXJsIHdhcyBzZXQgb24gdGhlIGRlc2NyaXB0aW9uLCB0aGVuIHVwZGF0ZSB0aGUgY2xpZW50CiAgICAgICAgaWYgKCRiYXNlVXJsID0gJHNlcnZpY2UtPmdldEJhc2VVcmwoKSkgewogICAgICAgICAgICAkdGhpcy0+c2V0QmFzZVVybCgkYmFzZVVybCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldERlc2NyaXB0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNlcnZpY2VEZXNjcmlwdGlvbjsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgaW5mbGVjdG9yIHVzZWQgd2l0aCB0aGUgY2xpZW50CiAgICAgKgogICAgICogQHBhcmFtIEluZmxlY3RvckludGVyZmFjZSAkaW5mbGVjdG9yIEluZmxlY3Rpb24gb2JqZWN0CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRJbmZsZWN0b3IoSW5mbGVjdG9ySW50ZXJmYWNlICRpbmZsZWN0b3IpCiAgICB7CiAgICAgICAgJHRoaXMtPmluZmxlY3RvciA9ICRpbmZsZWN0b3I7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgaW5mbGVjdG9yIHVzZWQgd2l0aCB0aGUgY2xpZW50CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJbmZsZWN0b3IoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPmluZmxlY3RvcikgewogICAgICAgICAgICAkdGhpcy0+aW5mbGVjdG9yID0gSW5mbGVjdG9yOjpnZXREZWZhdWx0KCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPmluZmxlY3RvcjsKICAgIH0KCiAgICAvKioKICAgICAqIFByZXBhcmUgYSBjb21tYW5kIGZvciBzZW5kaW5nIGFuZCBnZXQgdGhlIFJlcXVlc3RJbnRlcmZhY2Ugb2JqZWN0IGNyZWF0ZWQgYnkgdGhlIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcGFyYW0gQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCBDb21tYW5kIHRvIHByZXBhcmUKICAgICAqCiAgICAgKiBAcmV0dXJuIFJlcXVlc3RJbnRlcmZhY2UKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHByZXBhcmVDb21tYW5kKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQpCiAgICB7CiAgICAgICAgLy8gU2V0IHRoZSBjbGllbnQgYW5kIHByZXBhcmUgdGhlIGNvbW1hbmQKICAgICAgICAkcmVxdWVzdCA9ICRjb21tYW5kLT5zZXRDbGllbnQoJHRoaXMpLT5wcmVwYXJlKCk7CiAgICAgICAgLy8gU2V0IHRoZSBzdGF0ZSB0byBuZXcgaWYgdGhlIGNvbW1hbmQgd2FzIHByZXZpb3VzbHkgZXhlY3V0ZWQKICAgICAgICAkcmVxdWVzdC0+c2V0U3RhdGUoUmVxdWVzdEludGVyZmFjZTo6U1RBVEVfTkVXKTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2goJ2NvbW1hbmQuYmVmb3JlX3NlbmQnLCBhcnJheSgnY29tbWFuZCcgPT4gJGNvbW1hbmQpKTsKCiAgICAgICAgcmV0dXJuICRyZXF1ZXN0OwogICAgfQoKICAgIC8qKgogICAgICogRXhlY3V0ZSBtdWx0aXBsZSBjb21tYW5kcyBpbiBwYXJhbGxlbAogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxUcmF2ZXJzYWJsZSAkY29tbWFuZHMgQXJyYXkgb2YgQ29tbWFuZEludGVyZmFjZSBvYmplY3RzIHRvIGV4ZWN1dGUKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IFJldHVybnMgYW4gYXJyYXkgb2YgdGhlIGV4ZWN1dGVkIGNvbW1hbmRzCiAgICAgKiBAdGhyb3dzIEV4Y2VwdGlvblxDb21tYW5kVHJhbnNmZXJFeGNlcHRpb24KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGV4ZWN1dGVNdWx0aXBsZSgkY29tbWFuZHMpCiAgICB7CiAgICAgICAgJHJlcXVlc3RzID0gYXJyYXkoKTsKICAgICAgICAkY29tbWFuZFJlcXVlc3RzID0gbmV3IFxTcGxPYmplY3RTdG9yYWdlKCk7CgogICAgICAgIGZvcmVhY2ggKCRjb21tYW5kcyBhcyAkY29tbWFuZCkgewogICAgICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5wcmVwYXJlQ29tbWFuZCgkY29tbWFuZCk7CiAgICAgICAgICAgICRjb21tYW5kUmVxdWVzdHNbJHJlcXVlc3RdID0gJGNvbW1hbmQ7CiAgICAgICAgICAgICRyZXF1ZXN0c1tdID0gJHJlcXVlc3Q7CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICAkdGhpcy0+c2VuZCgkcmVxdWVzdHMpOwogICAgICAgICAgICBmb3JlYWNoICgkY29tbWFuZHMgYXMgJGNvbW1hbmQpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5kaXNwYXRjaCgnY29tbWFuZC5hZnRlcl9zZW5kJywgYXJyYXkoJ2NvbW1hbmQnID0+ICRjb21tYW5kKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICRjb21tYW5kczsKICAgICAgICB9IGNhdGNoIChNdWx0aVRyYW5zZmVyRXhjZXB0aW9uICRmYWlsdXJlRXhjZXB0aW9uKSB7CiAgICAgICAgICAgIC8vIFRocm93IGEgQ29tbWFuZFRyYW5zZmVyRXhjZXB0aW9uIHVzaW5nIHRoZSBzdWNjZXNzZnVsIGFuZCBmYWlsZWQgY29tbWFuZHMKICAgICAgICAgICAgJGUgPSBDb21tYW5kVHJhbnNmZXJFeGNlcHRpb246OmZyb21NdWx0aVRyYW5zZmVyRXhjZXB0aW9uKCRmYWlsdXJlRXhjZXB0aW9uKTsKCiAgICAgICAgICAgIC8vIFJlbW92ZSBmYWlsZWQgcmVxdWVzdHMgZnJvbSB0aGUgc3VjY2Vzc2Z1bCByZXF1ZXN0cyBhcnJheSBhbmQgYWRkIHRvIHRoZSBmYWlsdXJlcyBhcnJheQogICAgICAgICAgICBmb3JlYWNoICgkZmFpbHVyZUV4Y2VwdGlvbi0+Z2V0RmFpbGVkUmVxdWVzdHMoKSBhcyAkcmVxdWVzdCkgewogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRjb21tYW5kUmVxdWVzdHNbJHJlcXVlc3RdKSkgewogICAgICAgICAgICAgICAgICAgICRlLT5hZGRGYWlsZWRDb21tYW5kKCRjb21tYW5kUmVxdWVzdHNbJHJlcXVlc3RdKTsKICAgICAgICAgICAgICAgICAgICB1bnNldCgkY29tbWFuZFJlcXVlc3RzWyRyZXF1ZXN0XSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIEFsd2F5cyBlbWl0IHRoZSBjb21tYW5kIGFmdGVyX3NlbmQgZXZlbnRzIGZvciBzdWNjZXNzZnVsIGNvbW1hbmRzCiAgICAgICAgICAgIGZvcmVhY2ggKCRjb21tYW5kUmVxdWVzdHMgYXMgJHN1Y2Nlc3MpIHsKICAgICAgICAgICAgICAgICRlLT5hZGRTdWNjZXNzZnVsQ29tbWFuZCgkY29tbWFuZFJlcXVlc3RzWyRzdWNjZXNzXSk7CiAgICAgICAgICAgICAgICAkdGhpcy0+ZGlzcGF0Y2goJ2NvbW1hbmQuYWZ0ZXJfc2VuZCcsIGFycmF5KCdjb21tYW5kJyA9PiAkY29tbWFuZFJlcXVlc3RzWyRzdWNjZXNzXSkpOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0aHJvdyAkZTsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldFJlc291cmNlSXRlcmF0b3JGYWN0b3J5KCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5yZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeSkgewogICAgICAgICAgICAvLyBCdWlsZCB0aGUgZGVmYXVsdCByZXNvdXJjZSBpdGVyYXRvciBmYWN0b3J5IGlmIG9uZSBpcyBub3Qgc2V0CiAgICAgICAgICAgICRjbGllbnRDbGFzcyA9IGdldF9jbGFzcygkdGhpcyk7CiAgICAgICAgICAgICRwcmVmaXggPSBzdWJzdHIoJGNsaWVudENsYXNzLCAwLCBzdHJycG9zKCRjbGllbnRDbGFzcywgJ1xcJykpOwogICAgICAgICAgICAkdGhpcy0+cmVzb3VyY2VJdGVyYXRvckZhY3RvcnkgPSBuZXcgUmVzb3VyY2VJdGVyYXRvckNsYXNzRmFjdG9yeShhcnJheSgKICAgICAgICAgICAgICAgICJ7JHByZWZpeH1cXEl0ZXJhdG9yIiwKICAgICAgICAgICAgICAgICJ7JHByZWZpeH1cXE1vZGVsIgogICAgICAgICAgICApKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+cmVzb3VyY2VJdGVyYXRvckZhY3Rvcnk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGNvbW1hbmQgZmFjdG9yeSBhc3NvY2lhdGVkIHdpdGggdGhlIGNsaWVudAogICAgICoKICAgICAqIEByZXR1cm4gQ29tbWFuZEZhY3RvcnlJbnRlcmZhY2UKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldENvbW1hbmRGYWN0b3J5KCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5jb21tYW5kRmFjdG9yeSkgewogICAgICAgICAgICAkdGhpcy0+Y29tbWFuZEZhY3RvcnkgPSBDb21wb3NpdGVGYWN0b3J5OjpnZXREZWZhdWx0Q2hhaW4oJHRoaXMpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5jb21tYW5kRmFjdG9yeTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBlbmFibGVNYWdpY01ldGhvZHMoJGlzRW5hYmxlZCkKICAgIHsKICAgICAgICBWZXJzaW9uOjp3YXJuKF9fTUVUSE9EX18gLiAnIGlzIGRlcHJlY2F0ZWQnKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/ClientInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZTsKCnVzZSBHdXp6bGVcQ29tbW9uXEZyb21Db25maWdJbnRlcmZhY2U7CnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxDbGllbnRJbnRlcmZhY2UgYXMgSHR0cENsaWVudEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXEV4Y2VwdGlvblxDb21tYW5kVHJhbnNmZXJFeGNlcHRpb247CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2U7CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTZXJ2aWNlRGVzY3JpcHRpb25JbnRlcmZhY2U7CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlOwoKLyoqCiAqIENsaWVudCBpbnRlcmZhY2UgZm9yIGV4ZWN1dGluZyBjb21tYW5kcyBvbiBhIHdlYiBzZXJ2aWNlLgogKi8KaW50ZXJmYWNlIENsaWVudEludGVyZmFjZSBleHRlbmRzIEh0dHBDbGllbnRJbnRlcmZhY2UsIEZyb21Db25maWdJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBHZXQgYSBjb21tYW5kIGJ5IG5hbWUuIEZpcnN0LCB0aGUgY2xpZW50IHdpbGwgc2VlIGlmIGl0IGhhcyBhIHNlcnZpY2UgZGVzY3JpcHRpb24gYW5kIGlmIHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uCiAgICAgKiBkZWZpbmVzIGEgY29tbWFuZCBieSB0aGUgc3VwcGxpZWQgbmFtZS4gSWYgbm8gZHluYW1pYyBjb21tYW5kIGlzIGZvdW5kLCB0aGUgY2xpZW50IHdpbGwgbG9vayBmb3IgYSBjb25jcmV0ZQogICAgICogY29tbWFuZCBjbGFzcyBleGlzdHMgbWF0Y2hpbmcgdGhlIG5hbWUgc3VwcGxpZWQuIElmIG5laXRoZXIgYXJlIGZvdW5kLCBhbiBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaXMgdGhyb3duLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUgTmFtZSBvZiB0aGUgY29tbWFuZCB0byByZXRyaWV2ZQogICAgICogQHBhcmFtIGFycmF5ICAkYXJncyBBcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgY29tbWFuZAogICAgICoKICAgICAqIEByZXR1cm4gQ29tbWFuZEludGVyZmFjZQogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gaWYgbm8gY29tbWFuZCBjYW4gYmUgZm91bmQgYnkgbmFtZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29tbWFuZCgkbmFtZSwgYXJyYXkgJGFyZ3MgPSBhcnJheSgpKTsKCiAgICAvKioKICAgICAqIEV4ZWN1dGUgb25lIG9yIG1vcmUgY29tbWFuZHMKICAgICAqCiAgICAgKiBAcGFyYW0gQ29tbWFuZEludGVyZmFjZXxhcnJheXxUcmF2ZXJzYWJsZSAkY29tbWFuZCBDb21tYW5kLCBhcnJheSBvZiBjb21tYW5kcyBvciBUcmF2ZXJzYWJsZSBvYmplY3QgY29udGFpbmluZyBjb21tYW5kcyB0byBleGVjdXRlCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZCBSZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIGV4ZWN1dGVkIGNvbW1hbmQgb3IgYW4gYXJyYXkgb2YgY29tbWFuZHMgaWYgZXhlY3V0aW5nIG11bHRpcGxlIGNvbW1hbmRzCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBpZiBhbiBpbnZhbGlkIGNvbW1hbmQgaXMgcGFzc2VkCiAgICAgKiBAdGhyb3dzIENvbW1hbmRUcmFuc2ZlckV4Y2VwdGlvbiBpZiBhbiBleGNlcHRpb24gaXMgZW5jb3VudGVyZWQgd2hlbiB0cmFuc2ZlcnJpbmcgbXVsdGlwbGUgY29tbWFuZHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGV4ZWN1dGUoJGNvbW1hbmQpOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uIG9mIHRoZSBjbGllbnQKICAgICAqCiAgICAgKiBAcGFyYW0gU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlICRzZXJ2aWNlIFNlcnZpY2UgZGVzY3JpcHRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIENsaWVudEludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RGVzY3JpcHRpb24oU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlICRzZXJ2aWNlKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgc2VydmljZSBkZXNjcmlwdGlvbiBvZiB0aGUgY2xpZW50CiAgICAgKgogICAgICogQHJldHVybiBTZXJ2aWNlRGVzY3JpcHRpb25JbnRlcmZhY2V8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGVzY3JpcHRpb24oKTsKCiAgICAvKioKICAgICAqIEdldCBhIHJlc291cmNlIGl0ZXJhdG9yIGZyb20gdGhlIGNsaWVudC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQgICAgICAgICBDb21tYW5kIGNsYXNzIG9yIGNvbW1hbmQgbmFtZS4KICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICAgICAgICAkY29tbWFuZE9wdGlvbnMgIENvbW1hbmQgb3B0aW9ucyB1c2VkIHdoZW4gY3JlYXRpbmcgY29tbWFuZHMuCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICAgICAgICAgJGl0ZXJhdG9yT3B0aW9ucyBJdGVyYXRvciBvcHRpb25zIHBhc3NlZCB0byB0aGUgaXRlcmF0b3Igd2hlbiBpdCBpcyBpbnN0YW50aWF0ZWQuCiAgICAgKgogICAgICogQHJldHVybiBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJdGVyYXRvcigkY29tbWFuZCwgYXJyYXkgJGNvbW1hbmRPcHRpb25zID0gbnVsbCwgYXJyYXkgJGl0ZXJhdG9yT3B0aW9ucyA9IGFycmF5KCkpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/AbstractCommand.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXEN1cmxcQ3VybEhhbmRsZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENsaWVudDsKdXNlIEd1enpsZVxTZXJ2aWNlXENsaWVudEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXE9wZXJhdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXE9wZXJhdGlvbkludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFZhbGlkYXRvckludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFNjaGVtYVZhbGlkYXRvcjsKdXNlIEd1enpsZVxTZXJ2aWNlXEV4Y2VwdGlvblxDb21tYW5kRXhjZXB0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcRXhjZXB0aW9uXFZhbGlkYXRpb25FeGNlcHRpb247CgovKioKICogQ29tbWFuZCBvYmplY3QgdG8gaGFuZGxlIHByZXBhcmluZyBhbmQgcHJvY2Vzc2luZyBjbGllbnQgcmVxdWVzdHMgYW5kIHJlc3BvbnNlcyBvZiB0aGUgcmVxdWVzdHMKICovCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0Q29tbWFuZCBleHRlbmRzIENvbGxlY3Rpb24gaW1wbGVtZW50cyBDb21tYW5kSW50ZXJmYWNlCnsKICAgIC8vIEBkZXByZWNhdGVkOiBPcHRpb24gdXNlZCB0byBzcGVjaWZ5IGN1c3RvbSBoZWFkZXJzIHRvIGFkZCB0byB0aGUgZ2VuZXJhdGVkIHJlcXVlc3QKICAgIGNvbnN0IEhFQURFUlNfT1BUSU9OID0gJ2NvbW1hbmQuaGVhZGVycyc7CiAgICAvLyBAZGVwcmVjYXRlZDogT3B0aW9uIHVzZWQgdG8gYWRkIGFuIG9uQ29tcGxldGUgbWV0aG9kIHRvIGEgY29tbWFuZAogICAgY29uc3QgT05fQ09NUExFVEUgPSAnY29tbWFuZC5vbl9jb21wbGV0ZSc7CiAgICAvLyBAZGVwcmVjYXRlZDogT3B0aW9uIHVzZWQgdG8gY2hhbmdlIHRoZSBlbnRpdHkgYm9keSB1c2VkIHRvIHN0b3JlIGEgcmVzcG9uc2UKICAgIGNvbnN0IFJFU1BPTlNFX0JPRFkgPSAnY29tbWFuZC5yZXNwb25zZV9ib2R5JzsKCiAgICAvLyBPcHRpb24gdXNlZCB0byBhZGQgcmVxdWVzdCBvcHRpb25zIHRvIHRoZSByZXF1ZXN0IGNyZWF0ZWQgYnkgYSBjb21tYW5kCiAgICBjb25zdCBSRVFVRVNUX09QVElPTlMgPSAnY29tbWFuZC5yZXF1ZXN0X29wdGlvbnMnOwogICAgLy8gY29tbWFuZCB2YWx1ZXMgdG8gbm90IGNvdW50IGFzIGFkZGl0aW9uYWxQYXJhbWV0ZXJzCiAgICBjb25zdCBISURERU5fUEFSQU1TID0gJ2NvbW1hbmQuaGlkZGVuX3BhcmFtcyc7CiAgICAvLyBPcHRpb24gdXNlZCB0byBkaXNhYmxlIGFueSBwcmUtc2VuZGluZyBjb21tYW5kIHZhbGlkYXRpb24KICAgIGNvbnN0IERJU0FCTEVfVkFMSURBVElPTiA9ICdjb21tYW5kLmRpc2FibGVfdmFsaWRhdGlvbic7CiAgICAvLyBPcHRpb24gdXNlZCB0byBvdmVycmlkZSBob3cgYSBjb21tYW5kIHJlc3VsdCB3aWxsIGJlIGZvcm1hdHRlZAogICAgY29uc3QgUkVTUE9OU0VfUFJPQ0VTU0lORyA9ICdjb21tYW5kLnJlc3BvbnNlX3Byb2Nlc3NpbmcnOwogICAgLy8gRGlmZmVyZW50IHJlc3BvbnNlIHR5cGVzIHRoYXQgY29tbWFuZHMgY2FuIHVzZQogICAgY29uc3QgVFlQRV9SQVcgPSAncmF3JzsKICAgIGNvbnN0IFRZUEVfTU9ERUwgPSAnbW9kZWwnOwogICAgY29uc3QgVFlQRV9OT19UUkFOU0xBVElPTiA9ICdub190cmFuc2xhdGlvbic7CgogICAgLyoqIEB2YXIgQ2xpZW50SW50ZXJmYWNlIENsaWVudCBvYmplY3QgdXNlZCB0byBleGVjdXRlIHRoZSBjb21tYW5kICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICAvKiogQHZhciBSZXF1ZXN0SW50ZXJmYWNlIFRoZSByZXF1ZXN0IG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbW1hbmQgKi8KICAgIHByb3RlY3RlZCAkcmVxdWVzdDsKCiAgICAvKiogQHZhciBtaXhlZCBUaGUgcmVzdWx0IG9mIHRoZSBjb21tYW5kICovCiAgICBwcm90ZWN0ZWQgJHJlc3VsdDsKCiAgICAvKiogQHZhciBPcGVyYXRpb25JbnRlcmZhY2UgQVBJIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb21tYW5kICovCiAgICBwcm90ZWN0ZWQgJG9wZXJhdGlvbjsKCiAgICAvKiogQHZhciBtaXhlZCBjYWxsYWJsZSAqLwogICAgcHJvdGVjdGVkICRvbkNvbXBsZXRlOwoKICAgIC8qKiBAdmFyIFZhbGlkYXRvckludGVyZmFjZSBWYWxpZGF0b3IgdXNlZCB0byBwcmVwYXJlIGFuZCB2YWxpZGF0ZSBwcm9wZXJ0aWVzIGFnYWluc3QgYSBKU09OIHNjaGVtYSAqLwogICAgcHJvdGVjdGVkICR2YWxpZGF0b3I7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gYXJyYXl8Q29sbGVjdGlvbiAgICRwYXJhbWV0ZXJzIENvbGxlY3Rpb24gb2YgcGFyYW1ldGVycyB0byBzZXQgb24gdGhlIGNvbW1hbmQKICAgICAqIEBwYXJhbSBPcGVyYXRpb25JbnRlcmZhY2UgJG9wZXJhdGlvbiBDb21tYW5kIGRlZmluaXRpb24gZnJvbSBkZXNjcmlwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHBhcmFtZXRlcnMgPSBhcnJheSgpLCBPcGVyYXRpb25JbnRlcmZhY2UgJG9wZXJhdGlvbiA9IG51bGwpCiAgICB7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkcGFyYW1ldGVycyk7CiAgICAgICAgJHRoaXMtPm9wZXJhdGlvbiA9ICRvcGVyYXRpb24gPzogJHRoaXMtPmNyZWF0ZU9wZXJhdGlvbigpOwogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5vcGVyYXRpb24tPmdldFBhcmFtcygpIGFzICRuYW1lID0+ICRhcmcpIHsKICAgICAgICAgICAgJGN1cnJlbnRWYWx1ZSA9ICR0aGlzWyRuYW1lXTsKICAgICAgICAgICAgJGNvbmZpZ1ZhbHVlID0gJGFyZy0+Z2V0VmFsdWUoJGN1cnJlbnRWYWx1ZSk7CiAgICAgICAgICAgIC8vIElmIGRlZmF1bHQgb3Igc3RhdGljIHZhbHVlcyBhcmUgc2V0LCB0aGVuIHRoaXMgc2hvdWxkIGFsd2F5cyBiZSB1cGRhdGVkIG9uIHRoZSBjb25maWcgb2JqZWN0CiAgICAgICAgICAgIGlmICgkY3VycmVudFZhbHVlICE9PSAkY29uZmlnVmFsdWUpIHsKICAgICAgICAgICAgICAgICR0aGlzWyRuYW1lXSA9ICRjb25maWdWYWx1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJGhlYWRlcnMgPSAkdGhpc1tzZWxmOjpIRUFERVJTX09QVElPTl07CiAgICAgICAgaWYgKCEkaGVhZGVycyBpbnN0YW5jZW9mIENvbGxlY3Rpb24pIHsKICAgICAgICAgICAgJHRoaXNbc2VsZjo6SEVBREVSU19PUFRJT05dID0gbmV3IENvbGxlY3Rpb24oKGFycmF5KSAkaGVhZGVycyk7CiAgICAgICAgfQoKICAgICAgICAvLyBZb3UgY2FuIHNldCBhIGNvbW1hbmQub25fY29tcGxldGUgb3B0aW9uIGluIHlvdXIgcGFyYW1ldGVycyB0byBzZXQgYW4gb25Db21wbGV0ZSBjYWxsYmFjawogICAgICAgIGlmICgkb25Db21wbGV0ZSA9ICR0aGlzWydjb21tYW5kLm9uX2NvbXBsZXRlJ10pIHsKICAgICAgICAgICAgdW5zZXQoJHRoaXNbJ2NvbW1hbmQub25fY29tcGxldGUnXSk7CiAgICAgICAgICAgICR0aGlzLT5zZXRPbkNvbXBsZXRlKCRvbkNvbXBsZXRlKTsKICAgICAgICB9CgogICAgICAgIC8vIFNldCB0aGUgaGlkZGVuIGFkZGl0aW9uYWwgcGFyYW1ldGVycwogICAgICAgIGlmICghJHRoaXNbc2VsZjo6SElEREVOX1BBUkFNU10pIHsKICAgICAgICAgICAgJHRoaXNbc2VsZjo6SElEREVOX1BBUkFNU10gPSBhcnJheSgKICAgICAgICAgICAgICAgIHNlbGY6OkhFQURFUlNfT1BUSU9OLAogICAgICAgICAgICAgICAgc2VsZjo6UkVTUE9OU0VfUFJPQ0VTU0lORywKICAgICAgICAgICAgICAgIHNlbGY6OkhJRERFTl9QQVJBTVMsCiAgICAgICAgICAgICAgICBzZWxmOjpSRVFVRVNUX09QVElPTlMKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5pbml0KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDdXN0b20gY2xvbmUgYmVoYXZpb3IKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY2xvbmUoKQogICAgewogICAgICAgICR0aGlzLT5yZXF1ZXN0ID0gbnVsbDsKICAgICAgICAkdGhpcy0+cmVzdWx0ID0gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEV4ZWN1dGUgdGhlIGNvbW1hbmQgaW4gdGhlIHNhbWUgbWFubmVyIGFzIGNhbGxpbmcgYSBmdW5jdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQgUmV0dXJucyB0aGUgcmVzdWx0IG9mIHtAc2VlIEFic3RyYWN0Q29tbWFuZDo6ZXhlY3V0ZX0KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9faW52b2tlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmV4ZWN1dGUoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5vcGVyYXRpb24tPmdldE5hbWUoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgQVBJIGNvbW1hbmQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcmV0dXJuIE9wZXJhdGlvbkludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPm9wZXJhdGlvbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0T25Db21wbGV0ZSgkY2FsbGFibGUpCiAgICB7CiAgICAgICAgaWYgKCFpc19jYWxsYWJsZSgkY2FsbGFibGUpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ1RoZSBvbkNvbXBsZXRlIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGFibGUnKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5vbkNvbXBsZXRlID0gJGNhbGxhYmxlOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGV4ZWN1dGUoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPmNsaWVudCkgewogICAgICAgICAgICB0aHJvdyBuZXcgQ29tbWFuZEV4Y2VwdGlvbignQSBjbGllbnQgbXVzdCBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbW1hbmQgYmVmb3JlIGl0IGNhbiBiZSBleGVjdXRlZC4nKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+Y2xpZW50LT5leGVjdXRlKCR0aGlzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2xpZW50KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNsaWVudDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Q2xpZW50KENsaWVudEludGVyZmFjZSAkY2xpZW50KQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSAkY2xpZW50OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlcXVlc3QoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPnJlcXVlc3QpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1hbmRFeGNlcHRpb24oJ1RoZSBjb21tYW5kIG11c3QgYmUgcHJlcGFyZWQgYmVmb3JlIHJldHJpZXZpbmcgdGhlIHJlcXVlc3QnKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+cmVxdWVzdDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzcG9uc2UoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPmlzRXhlY3V0ZWQoKSkgewogICAgICAgICAgICAkdGhpcy0+ZXhlY3V0ZSgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXF1ZXN0LT5nZXRSZXNwb25zZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXN1bHQoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPmlzRXhlY3V0ZWQoKSkgewogICAgICAgICAgICAkdGhpcy0+ZXhlY3V0ZSgpOwogICAgICAgIH0KCiAgICAgICAgaWYgKG51bGwgPT09ICR0aGlzLT5yZXN1bHQpIHsKICAgICAgICAgICAgJHRoaXMtPnByb2Nlc3MoKTsKICAgICAgICAgICAgLy8gQ2FsbCB0aGUgb25Db21wbGV0ZSBtZXRob2QgaWYgb25lIGlzIHNldAogICAgICAgICAgICBpZiAoJHRoaXMtPm9uQ29tcGxldGUpIHsKICAgICAgICAgICAgICAgIGNhbGxfdXNlcl9mdW5jKCR0aGlzLT5vbkNvbXBsZXRlLCAkdGhpcyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+cmVzdWx0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRSZXN1bHQoJHJlc3VsdCkKICAgIHsKICAgICAgICAkdGhpcy0+cmVzdWx0ID0gJHJlc3VsdDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc1ByZXBhcmVkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlcXVlc3QgIT09IG51bGw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzRXhlY3V0ZWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVxdWVzdCAhPT0gbnVsbCAmJiAkdGhpcy0+cmVxdWVzdC0+Z2V0U3RhdGUoKSA9PSAnY29tcGxldGUnOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBwcmVwYXJlKCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5pc1ByZXBhcmVkKCkpIHsKICAgICAgICAgICAgaWYgKCEkdGhpcy0+Y2xpZW50KSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29tbWFuZEV4Y2VwdGlvbignQSBjbGllbnQgbXVzdCBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbW1hbmQgYmVmb3JlIGl0IGNhbiBiZSBwcmVwYXJlZC4nKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gSWYgbm8gcmVzcG9uc2UgcHJvY2Vzc2luZyB2YWx1ZSB3YXMgc3BlY2lmaWVkLCB0aGVuIGF0dGVtcHQgdG8gdXNlIHRoZSBoaWdoZXN0IGxldmVsIG9mIHByb2Nlc3NpbmcKICAgICAgICAgICAgaWYgKCFpc3NldCgkdGhpc1tzZWxmOjpSRVNQT05TRV9QUk9DRVNTSU5HXSkpIHsKICAgICAgICAgICAgICAgICR0aGlzW3NlbGY6OlJFU1BPTlNFX1BST0NFU1NJTkddID0gc2VsZjo6VFlQRV9NT0RFTDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gTm90aWZ5IHN1YnNjcmliZXJzIG9mIHRoZSBjbGllbnQgdGhhdCB0aGUgY29tbWFuZCBpcyBiZWluZyBwcmVwYXJlZAogICAgICAgICAgICAkdGhpcy0+Y2xpZW50LT5kaXNwYXRjaCgnY29tbWFuZC5iZWZvcmVfcHJlcGFyZScsIGFycmF5KCdjb21tYW5kJyA9PiAkdGhpcykpOwoKICAgICAgICAgICAgLy8gRmFpbCBvbiBtaXNzaW5nIHJlcXVpcmVkIGFyZ3VtZW50cywgYW5kIGNoYW5nZSBwYXJhbWV0ZXJzIHZpYSBmaWx0ZXJzCiAgICAgICAgICAgICR0aGlzLT52YWxpZGF0ZSgpOwogICAgICAgICAgICAvLyBEZWxlZ2F0ZSB0byB0aGUgc3ViY2xhc3MgdGhhdCBpbXBsZW1lbnRzIHRoZSBidWlsZCBtZXRob2QKICAgICAgICAgICAgJHRoaXMtPmJ1aWxkKCk7CgogICAgICAgICAgICAvLyBBZGQgY3VzdG9tIHJlcXVlc3QgaGVhZGVycyBzZXQgb24gdGhlIGNvbW1hbmQKICAgICAgICAgICAgaWYgKCRoZWFkZXJzID0gJHRoaXNbc2VsZjo6SEVBREVSU19PUFRJT05dKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkaGVhZGVycyBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5yZXF1ZXN0LT5zZXRIZWFkZXIoJGtleSwgJHZhbHVlKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gQWRkIGFueSBjdXJsIG9wdGlvbnMgdG8gdGhlIHJlcXVlc3QKICAgICAgICAgICAgaWYgKCRvcHRpb25zID0gJHRoaXNbQ2xpZW50OjpDVVJMX09QVElPTlNdKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+b3ZlcndyaXRlV2l0aChDdXJsSGFuZGxlOjpwYXJzZUN1cmxDb25maWcoJG9wdGlvbnMpKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gU2V0IGEgY3VzdG9tIHJlc3BvbnNlIGJvZHkKICAgICAgICAgICAgaWYgKCRyZXNwb25zZUJvZHkgPSAkdGhpc1tzZWxmOjpSRVNQT05TRV9CT0RZXSkgewogICAgICAgICAgICAgICAgJHRoaXMtPnJlcXVlc3QtPnNldFJlc3BvbnNlQm9keSgkcmVzcG9uc2VCb2R5KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHRoaXMtPmNsaWVudC0+ZGlzcGF0Y2goJ2NvbW1hbmQuYWZ0ZXJfcHJlcGFyZScsIGFycmF5KCdjb21tYW5kJyA9PiAkdGhpcykpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXF1ZXN0OwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSB2YWxpZGF0b3IgdXNlZCB0byB2YWxpZGF0ZSBhbmQgcHJlcGFyZSBjb21tYW5kIHBhcmFtZXRlcnMgYW5kIG5lc3RlZCBKU09OIHNjaGVtYXMuIElmIG5vIHZhbGlkYXRvciBpcwogICAgICogc2V0LCB0aGVuIHRoZSBjb21tYW5kIHdpbGwgdmFsaWRhdGUgdXNpbmcgdGhlIGRlZmF1bHQge0BzZWUgU2NoZW1hVmFsaWRhdG9yfS4KICAgICAqCiAgICAgKiBAcGFyYW0gVmFsaWRhdG9ySW50ZXJmYWNlICR2YWxpZGF0b3IgVmFsaWRhdG9yIHVzZWQgdG8gcHJlcGFyZSBhbmQgdmFsaWRhdGUgcHJvcGVydGllcyBhZ2FpbnN0IGEgSlNPTiBzY2hlbWEKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFZhbGlkYXRvcihWYWxpZGF0b3JJbnRlcmZhY2UgJHZhbGlkYXRvcikKICAgIHsKICAgICAgICAkdGhpcy0+dmFsaWRhdG9yID0gJHZhbGlkYXRvcjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXF1ZXN0SGVhZGVycygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzW3NlbGY6OkhFQURFUlNfT1BUSU9OXTsKICAgIH0KCiAgICAvKioKICAgICAqIEluaXRpYWxpemUgdGhlIGNvbW1hbmQgKGhvb2sgdGhhdCBjYW4gYmUgaW1wbGVtZW50ZWQgaW4gc3ViY2xhc3NlcykKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGluaXQoKSB7fQoKICAgIC8qKgogICAgICogQ3JlYXRlIHRoZSByZXF1ZXN0IG9iamVjdCB0aGF0IHdpbGwgY2Fycnkgb3V0IHRoZSBjb21tYW5kCiAgICAgKi8KICAgIGFic3RyYWN0IHByb3RlY3RlZCBmdW5jdGlvbiBidWlsZCgpOwoKICAgIC8qKgogICAgICogSG9vayB1c2VkIHRvIGNyZWF0ZSBhbiBvcGVyYXRpb24gZm9yIGNvbmNyZXRlIGNvbW1hbmRzIHRoYXQgYXJlIG5vdCBhc3NvY2lhdGVkIHdpdGggYSBzZXJ2aWNlIGRlc2NyaXB0aW9uCiAgICAgKgogICAgICogQHJldHVybiBPcGVyYXRpb25JbnRlcmZhY2UKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNyZWF0ZU9wZXJhdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBPcGVyYXRpb24oYXJyYXkoJ25hbWUnID0+IGdldF9jbGFzcygkdGhpcykpKTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSB0aGUgcmVzdWx0IG9mIHRoZSBjb21tYW5kIGFmdGVyIHRoZSByZXF1ZXN0IGhhcyBiZWVuIGNvbXBsZXRlZC4KICAgICAqIE92ZXJyaWRlIHRoaXMgbWV0aG9kIGluIHN1YmNsYXNzZXMgdG8gY3VzdG9taXplIHRoaXMgYmVoYXZpb3IKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHByb2Nlc3MoKQogICAgewogICAgICAgICR0aGlzLT5yZXN1bHQgPSAkdGhpc1tzZWxmOjpSRVNQT05TRV9QUk9DRVNTSU5HXSAhPSBzZWxmOjpUWVBFX1JBVwogICAgICAgICAgICA/IERlZmF1bHRSZXNwb25zZVBhcnNlcjo6Z2V0SW5zdGFuY2UoKS0+cGFyc2UoJHRoaXMpCiAgICAgICAgICAgIDogJHRoaXMtPnJlcXVlc3QtPmdldFJlc3BvbnNlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBWYWxpZGF0ZSBhbmQgcHJlcGFyZSB0aGUgY29tbWFuZCBiYXNlZCBvbiB0aGUgc2NoZW1hIGFuZCBydWxlcyBkZWZpbmVkIGJ5IHRoZSBjb21tYW5kJ3MgT3BlcmF0aW9uIG9iamVjdAogICAgICoKICAgICAqIEB0aHJvd3MgVmFsaWRhdGlvbkV4Y2VwdGlvbiB3aGVuIHZhbGlkYXRpb24gZXJyb3JzIG9jY3VyCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiB2YWxpZGF0ZSgpCiAgICB7CiAgICAgICAgLy8gRG8gbm90IHBlcmZvcm0gcmVxdWVzdCB2YWxpZGF0aW9uL3RyYW5zZm9ybWF0aW9uIGlmIGl0IGlzIGRpc2FibGUKICAgICAgICBpZiAoJHRoaXNbc2VsZjo6RElTQUJMRV9WQUxJREFUSU9OXSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAkZXJyb3JzID0gYXJyYXkoKTsKICAgICAgICAkdmFsaWRhdG9yID0gJHRoaXMtPmdldFZhbGlkYXRvcigpOwogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5vcGVyYXRpb24tPmdldFBhcmFtcygpIGFzICRuYW1lID0+ICRzY2hlbWEpIHsKICAgICAgICAgICAgJHZhbHVlID0gJHRoaXNbJG5hbWVdOwogICAgICAgICAgICBpZiAoISR2YWxpZGF0b3ItPnZhbGlkYXRlKCRzY2hlbWEsICR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgICRlcnJvcnMgPSBhcnJheV9tZXJnZSgkZXJyb3JzLCAkdmFsaWRhdG9yLT5nZXRFcnJvcnMoKSk7CiAgICAgICAgICAgIH0gZWxzZWlmICgkdmFsdWUgIT09ICR0aGlzWyRuYW1lXSkgewogICAgICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBjb25maWcgdmFsdWUgaWYgaXQgY2hhbmdlZCBhbmQgbm8gdmFsaWRhdGlvbiBlcnJvcnMgd2VyZSBlbmNvdW50ZXJlZAogICAgICAgICAgICAgICAgJHRoaXMtPmRhdGFbJG5hbWVdID0gJHZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBWYWxpZGF0ZSBhZGRpdGlvbmFsIHBhcmFtZXRlcnMKICAgICAgICAkaGlkZGVuID0gJHRoaXNbc2VsZjo6SElEREVOX1BBUkFNU107CgogICAgICAgIGlmICgkcHJvcGVydGllcyA9ICR0aGlzLT5vcGVyYXRpb24tPmdldEFkZGl0aW9uYWxQYXJhbWV0ZXJzKCkpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnRvQXJyYXkoKSBhcyAkbmFtZSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgICAgIC8vIEl0J3Mgb25seSBhZGRpdGlvbmFsIGlmIGl0IGlzbid0IGRlZmluZWQgaW4gdGhlIHNjaGVtYQogICAgICAgICAgICAgICAgaWYgKCEkdGhpcy0+b3BlcmF0aW9uLT5oYXNQYXJhbSgkbmFtZSkgJiYgIWluX2FycmF5KCRuYW1lLCAkaGlkZGVuKSkgewogICAgICAgICAgICAgICAgICAgIC8vIEFsd2F5cyBzZXQgdGhlIG5hbWUgc28gdGhhdCBlcnJvciBtZXNzYWdlcyBhcmUgdXNlZnVsCiAgICAgICAgICAgICAgICAgICAgJHByb3BlcnRpZXMtPnNldE5hbWUoJG5hbWUpOwogICAgICAgICAgICAgICAgICAgIGlmICghJHZhbGlkYXRvci0+dmFsaWRhdGUoJHByb3BlcnRpZXMsICR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGVycm9ycyA9IGFycmF5X21lcmdlKCRlcnJvcnMsICR2YWxpZGF0b3ItPmdldEVycm9ycygpKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJHZhbHVlICE9PSAkdGhpc1skbmFtZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmRhdGFbJG5hbWVdID0gJHZhbHVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCFlbXB0eSgkZXJyb3JzKSkgewogICAgICAgICAgICAkZSA9IG5ldyBWYWxpZGF0aW9uRXhjZXB0aW9uKCdWYWxpZGF0aW9uIGVycm9yczogJyAuIGltcGxvZGUoIlxuIiwgJGVycm9ycykpOwogICAgICAgICAgICAkZS0+c2V0RXJyb3JzKCRlcnJvcnMpOwogICAgICAgICAgICB0aHJvdyAkZTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHZhbGlkYXRvciB1c2VkIHRvIHByZXBhcmUgYW5kIHZhbGlkYXRlIHByb3BlcnRpZXMuIElmIG5vIHZhbGlkYXRvciBoYXMgYmVlbiBzZXQgb24gdGhlIGNvbW1hbmQsIHRoZW4KICAgICAqIHRoZSBkZWZhdWx0IHtAc2VlIFNjaGVtYVZhbGlkYXRvcn0gd2lsbCBiZSB1c2VkLgogICAgICoKICAgICAqIEByZXR1cm4gVmFsaWRhdG9ySW50ZXJmYWNlCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRWYWxpZGF0b3IoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPnZhbGlkYXRvcikgewogICAgICAgICAgICAkdGhpcy0+dmFsaWRhdG9yID0gU2NoZW1hVmFsaWRhdG9yOjpnZXRJbnN0YW5jZSgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT52YWxpZGF0b3I7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYXJyYXkgb2YgYW55IHZhbGlkYXRpb24gZXJyb3JzCiAgICAgKiBJZiBubyB2YWxpZGF0b3IgaGFzIGJlZW4gc2V0IHRoZW4gcmV0dXJuIGZhbHNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRWYWxpZGF0aW9uRXJyb3JzKCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT52YWxpZGF0b3IpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT52YWxpZGF0b3ItPmdldEVycm9ycygpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/ClosureCommand.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXFVuZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKCi8qKgogKiBBIENsb3N1cmVDb21tYW5kIGlzIGEgY29tbWFuZCB0aGF0IGFsbG93cyBkeW5hbWljIGNvbW1hbmRzIHRvIGJlIGNyZWF0ZWQgYXQgcnVudGltZSB1c2luZyBhIGNsb3N1cmUgdG8gcHJlcGFyZSB0aGUKICogcmVxdWVzdC4gQSBjbG9zdXJlIGtleSBhbmQgXENsb3N1cmUgdmFsdWUgbXVzdCBiZSBwYXNzZWQgdG8gdGhlIGNvbW1hbmQgaW4gdGhlIGNvbnN0cnVjdG9yLiBUaGUgY2xvc3VyZSBtdXN0CiAqIGFjY2VwdCB0aGUgY29tbWFuZCBvYmplY3QgYXMgYW4gYXJndW1lbnQuCiAqLwpjbGFzcyBDbG9zdXJlQ29tbWFuZCBleHRlbmRzIEFic3RyYWN0Q29tbWFuZAp7CiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGlmIGEgY2xvc3VyZSB3YXMgbm90IHBhc3NlZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5pdCgpCiAgICB7CiAgICAgICAgaWYgKCEkdGhpc1snY2xvc3VyZSddKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0EgY2xvc3VyZSBtdXN0IGJlIHBhc3NlZCBpbiB0aGUgcGFyYW1ldGVycyBhcnJheScpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqIEB0aHJvd3MgVW5leHBlY3RlZFZhbHVlRXhjZXB0aW9uIElmIHRoZSBjbG9zdXJlIGRvZXMgbm90IHJldHVybiBhIHJlcXVlc3QKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGJ1aWxkKCkKICAgIHsKICAgICAgICAkY2xvc3VyZSA9ICR0aGlzWydjbG9zdXJlJ107CiAgICAgICAgLyoqIEB2YXIgJGNsb3N1cmUgXENsb3N1cmUgKi8KICAgICAgICAkdGhpcy0+cmVxdWVzdCA9ICRjbG9zdXJlKCR0aGlzLCAkdGhpcy0+b3BlcmF0aW9uKTsKCiAgICAgICAgaWYgKCEkdGhpcy0+cmVxdWVzdCB8fCAhJHRoaXMtPnJlcXVlc3QgaW5zdGFuY2VvZiBSZXF1ZXN0SW50ZXJmYWNlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBVbmV4cGVjdGVkVmFsdWVFeGNlcHRpb24oJ0Nsb3N1cmUgY29tbWFuZCBkaWQgbm90IHJldHVybiBhIFJlcXVlc3RJbnRlcmZhY2Ugb2JqZWN0Jyk7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/CommandInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcU2VydmljZVxFeGNlcHRpb25cQ29tbWFuZEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXE9wZXJhdGlvbkludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENsaWVudEludGVyZmFjZTsKdXNlIEd1enpsZVxDb21tb25cVG9BcnJheUludGVyZmFjZTsKCi8qKgogKiBBIGNvbW1hbmQgb2JqZWN0IHRoYXQgY29udGFpbnMgcGFyYW1ldGVycyB0aGF0IGNhbiBiZSBtb2RpZmllZCBhbmQgYWNjZXNzZWQgbGlrZSBhbiBhcnJheSBhbmQgdHVybmVkIGludG8gYW4gYXJyYXkKICovCmludGVyZmFjZSBDb21tYW5kSW50ZXJmYWNlIGV4dGVuZHMgXEFycmF5QWNjZXNzLCBUb0FycmF5SW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogR2V0IHRoZSBzaG9ydCBmb3JtIG5hbWUgb2YgdGhlIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TmFtZSgpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBBUEkgb3BlcmF0aW9uIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb21tYW5kCiAgICAgKgogICAgICogQHJldHVybiBPcGVyYXRpb25JbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE9wZXJhdGlvbigpOwoKICAgIC8qKgogICAgICogRXhlY3V0ZSB0aGUgY29tbWFuZCBhbmQgcmV0dXJuIHRoZSByZXN1bHQKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkIFJldHVybnMgdGhlIHJlc3VsdCBvZiB7QHNlZSBDb21tYW5kSW50ZXJmYWNlOjpleGVjdXRlfQogICAgICogQHRocm93cyBDb21tYW5kRXhjZXB0aW9uIGlmIGEgY2xpZW50IGhhcyBub3QgYmVlbiBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbW1hbmQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGV4ZWN1dGUoKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgY2xpZW50IG9iamVjdCB0aGF0IHdpbGwgZXhlY3V0ZSB0aGUgY29tbWFuZAogICAgICoKICAgICAqIEByZXR1cm4gQ2xpZW50SW50ZXJmYWNlfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENsaWVudCgpOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBjbGllbnQgb2JqZWN0IHRoYXQgd2lsbCBleGVjdXRlIHRoZSBjb21tYW5kCiAgICAgKgogICAgICogQHBhcmFtIENsaWVudEludGVyZmFjZSAkY2xpZW50IFRoZSBjbGllbnQgb2JqZWN0IHRoYXQgd2lsbCBleGVjdXRlIHRoZSBjb21tYW5kCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDbGllbnQoQ2xpZW50SW50ZXJmYWNlICRjbGllbnQpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSByZXF1ZXN0IG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcmV0dXJuIFJlcXVlc3RJbnRlcmZhY2UKICAgICAqIEB0aHJvd3MgQ29tbWFuZEV4Y2VwdGlvbiBpZiB0aGUgY29tbWFuZCBoYXMgbm90IGJlZW4gZXhlY3V0ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlcXVlc3QoKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgcmVzcG9uc2Ugb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tbWFuZAogICAgICoKICAgICAqIEByZXR1cm4gUmVzcG9uc2UKICAgICAqIEB0aHJvd3MgQ29tbWFuZEV4Y2VwdGlvbiBpZiB0aGUgY29tbWFuZCBoYXMgbm90IGJlZW4gZXhlY3V0ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlc3BvbnNlKCk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHJlc3VsdCBvZiB0aGUgY29tbWFuZAogICAgICoKICAgICAqIEByZXR1cm4gUmVzcG9uc2UgQnkgZGVmYXVsdCwgY29tbWFuZHMgcmV0dXJuIGEgUmVzcG9uc2Ugb2JqZWN0IHVubGVzcyBvdmVycmlkZGVuIGluIGEgc3ViY2xhc3MKICAgICAqIEB0aHJvd3MgQ29tbWFuZEV4Y2VwdGlvbiBpZiB0aGUgY29tbWFuZCBoYXMgbm90IGJlZW4gZXhlY3V0ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlc3VsdCgpOwoKICAgIC8qKgogICAgICogU2V0IHRoZSByZXN1bHQgb2YgdGhlIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcGFyYW0gbWl4ZWQgJHJlc3VsdCBSZXN1bHQgdG8gc2V0CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRSZXN1bHQoJHJlc3VsdCk7CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIFRSVUUgaWYgdGhlIGNvbW1hbmQgaGFzIGJlZW4gcHJlcGFyZWQgZm9yIGV4ZWN1dGluZwogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNQcmVwYXJlZCgpOwoKICAgIC8qKgogICAgICogUmV0dXJucyBUUlVFIGlmIHRoZSBjb21tYW5kIGhhcyBiZWVuIGV4ZWN1dGVkCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0V4ZWN1dGVkKCk7CgogICAgLyoqCiAgICAgKiBQcmVwYXJlIHRoZSBjb21tYW5kIGZvciBleGVjdXRpbmcgYW5kIGNyZWF0ZSBhIHJlcXVlc3Qgb2JqZWN0LgogICAgICoKICAgICAqIEByZXR1cm4gUmVxdWVzdEludGVyZmFjZSBSZXR1cm5zIHRoZSBnZW5lcmF0ZWQgcmVxdWVzdAogICAgICogQHRocm93cyBDb21tYW5kRXhjZXB0aW9uIGlmIGEgY2xpZW50IG9iamVjdCBoYXMgbm90IGJlZW4gc2V0IHByZXZpb3VzbHkgb3IgaW4gdGhlIHByZXBhcmUoKQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcHJlcGFyZSgpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBvYmplY3QgdGhhdCBtYW5hZ2VzIHRoZSByZXF1ZXN0IGhlYWRlcnMgdGhhdCB3aWxsIGJlIHNldCBvbiBhbnkgb3V0Ym91bmQgcmVxdWVzdHMgZnJvbSB0aGUgY29tbWFuZAogICAgICoKICAgICAqIEByZXR1cm4gQ29sbGVjdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVxdWVzdEhlYWRlcnMoKTsKCiAgICAvKioKICAgICAqIFNwZWNpZnkgYSBjYWxsYWJsZSB0byBleGVjdXRlIHdoZW4gdGhlIGNvbW1hbmQgY29tcGxldGVzCiAgICAgKgogICAgICogQHBhcmFtIG1peGVkICRjYWxsYWJsZSBDYWxsYWJsZSB0byBleGVjdXRlIHdoZW4gdGhlIGNvbW1hbmQgY29tcGxldGVzLiBUaGUgY2FsbGFibGUgbXVzdCBhY2NlcHQgYQogICAgICogICAgICAgICAgICAgICAgICAgICAgICB7QHNlZSBDb21tYW5kSW50ZXJmYWNlfSBvYmplY3QgYXMgdGhlIG9ubHkgYXJndW1lbnQuCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRPbkNvbXBsZXRlKCRjYWxsYWJsZSk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/CreateResponseClassEvent.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CgovKioKICogRXZlbnQgY2xhc3MgZW1pdHRlZCB3aXRoIHRoZSBvcGVyYXRpb24ucGFyc2VfY2xhc3MgZXZlbnQKICovCmNsYXNzIENyZWF0ZVJlc3BvbnNlQ2xhc3NFdmVudCBleHRlbmRzIEV2ZW50CnsKICAgIC8qKgogICAgICogU2V0IHRoZSByZXN1bHQgb2YgdGhlIG9iamVjdCBjcmVhdGlvbgogICAgICoKICAgICAqIEBwYXJhbSBtaXhlZCAkcmVzdWx0IFJlc3VsdCB2YWx1ZSB0byBzZXQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFJlc3VsdCgkcmVzdWx0KQogICAgewogICAgICAgICR0aGlzWydyZXN1bHQnXSA9ICRyZXN1bHQ7CiAgICAgICAgJHRoaXMtPnN0b3BQcm9wYWdhdGlvbigpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBjcmVhdGVkIG9iamVjdAogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlc3VsdCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzWydyZXN1bHQnXTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/DefaultRequestSerializer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlcXVlc3RcUmVxdWVzdFZpc2l0b3JJbnRlcmZhY2U7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxWaXNpdG9yRmx5d2VpZ2h0Owp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cT3BlcmF0aW9uSW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyOwoKLyoqCiAqIERlZmF1bHQgcmVxdWVzdCBzZXJpYWxpemVyIHRoYXQgdHJhbnNmb3JtcyBjb21tYW5kIG9wdGlvbnMgYW5kIG9wZXJhdGlvbiBwYXJhbWV0ZXJzIGludG8gYSByZXF1ZXN0CiAqLwpjbGFzcyBEZWZhdWx0UmVxdWVzdFNlcmlhbGl6ZXIgaW1wbGVtZW50cyBSZXF1ZXN0U2VyaWFsaXplckludGVyZmFjZQp7CiAgICAvKiogQHZhciBWaXNpdG9yRmx5d2VpZ2h0ICRmYWN0b3J5IFZpc2l0b3IgZmFjdG9yeSAqLwogICAgcHJvdGVjdGVkICRmYWN0b3J5OwoKICAgIC8qKiBAdmFyIHNlbGYgKi8KICAgIHByb3RlY3RlZCBzdGF0aWMgJGluc3RhbmNlOwoKICAgIC8qKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0SW5zdGFuY2UoKQogICAgewogICAgICAgIGlmICghc2VsZjo6JGluc3RhbmNlKSB7CiAgICAgICAgICAgIHNlbGY6OiRpbnN0YW5jZSA9IG5ldyBzZWxmKFZpc2l0b3JGbHl3ZWlnaHQ6OmdldEluc3RhbmNlKCkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHNlbGY6OiRpbnN0YW5jZTsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBWaXNpdG9yRmx5d2VpZ2h0ICRmYWN0b3J5IEZhY3RvcnkgdG8gdXNlIHdoZW4gY3JlYXRpbmcgdmlzaXRvcnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFZpc2l0b3JGbHl3ZWlnaHQgJGZhY3RvcnkpCiAgICB7CiAgICAgICAgJHRoaXMtPmZhY3RvcnkgPSAkZmFjdG9yeTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIGxvY2F0aW9uIHZpc2l0b3IgdG8gdGhlIHNlcmlhbGl6ZXIKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgICAgICRsb2NhdGlvbiBMb2NhdGlvbiB0byBhc3NvY2lhdGUgd2l0aCB0aGUgdmlzaXRvcgogICAgICogQHBhcmFtIFJlcXVlc3RWaXNpdG9ySW50ZXJmYWNlICAkdmlzaXRvciAgVmlzaXRvciB0byBhdHRhY2gKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZFZpc2l0b3IoJGxvY2F0aW9uLCBSZXF1ZXN0VmlzaXRvckludGVyZmFjZSAkdmlzaXRvcikKICAgIHsKICAgICAgICAkdGhpcy0+ZmFjdG9yeS0+YWRkUmVxdWVzdFZpc2l0b3IoJGxvY2F0aW9uLCAkdmlzaXRvcik7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcHJlcGFyZShDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmNyZWF0ZVJlcXVlc3QoJGNvbW1hbmQpOwogICAgICAgIC8vIEtlZXAgYW4gYXJyYXkgb2YgdmlzaXRvcnMgZm91bmQgaW4gdGhlIG9wZXJhdGlvbgogICAgICAgICRmb3VuZFZpc2l0b3JzID0gYXJyYXkoKTsKICAgICAgICAkb3BlcmF0aW9uID0gJGNvbW1hbmQtPmdldE9wZXJhdGlvbigpOwoKICAgICAgICAvLyBBZGQgYXJndW1lbnRzIHRvIHRoZSByZXF1ZXN0IHVzaW5nIHRoZSBsb2NhdGlvbiBhdHRyaWJ1dGUKICAgICAgICBmb3JlYWNoICgkb3BlcmF0aW9uLT5nZXRQYXJhbXMoKSBhcyAkbmFtZSA9PiAkYXJnKSB7CiAgICAgICAgICAgIC8qKiBAdmFyICRhcmcgXEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlciAqLwogICAgICAgICAgICAkbG9jYXRpb24gPSAkYXJnLT5nZXRMb2NhdGlvbigpOwogICAgICAgICAgICAvLyBTa2lwICd1cmknIGxvY2F0aW9ucyBiZWNhdXNlIHRoZXkndmUgYWxyZWFkeSBiZWVuIHByb2Nlc3NlZAogICAgICAgICAgICBpZiAoJGxvY2F0aW9uICYmICRsb2NhdGlvbiAhPSAndXJpJykgewogICAgICAgICAgICAgICAgLy8gSW5zdGFudGlhdGUgdmlzaXRvcnMgYXMgdGhleSBhcmUgZGV0ZWN0ZWQgaW4gdGhlIHByb3BlcnRpZXMKICAgICAgICAgICAgICAgIGlmICghaXNzZXQoJGZvdW5kVmlzaXRvcnNbJGxvY2F0aW9uXSkpIHsKICAgICAgICAgICAgICAgICAgICAkZm91bmRWaXNpdG9yc1skbG9jYXRpb25dID0gJHRoaXMtPmZhY3RvcnktPmdldFJlcXVlc3RWaXNpdG9yKCRsb2NhdGlvbik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLyBFbnN1cmUgdGhhdCBhIHZhbHVlIGhhcyBiZWVuIHNldCBmb3IgdGhpcyBwYXJhbWV0ZXIKICAgICAgICAgICAgICAgICR2YWx1ZSA9ICRjb21tYW5kWyRuYW1lXTsKICAgICAgICAgICAgICAgIGlmICgkdmFsdWUgIT09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICAvLyBBcHBseSB0aGUgcGFyYW1ldGVyIHZhbHVlIHdpdGggdGhlIGxvY2F0aW9uIHZpc2l0b3IKICAgICAgICAgICAgICAgICAgICAkZm91bmRWaXNpdG9yc1skbG9jYXRpb25dLT52aXNpdCgkY29tbWFuZCwgJHJlcXVlc3QsICRhcmcsICR2YWx1ZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIFNlcmlhbGl6ZSBhZGRpdGlvbmFsIHBhcmFtZXRlcnMKICAgICAgICBpZiAoJGFkZGl0aW9uYWwgPSAkb3BlcmF0aW9uLT5nZXRBZGRpdGlvbmFsUGFyYW1ldGVycygpKSB7CiAgICAgICAgICAgIGlmICgkdmlzaXRvciA9ICR0aGlzLT5wcmVwYXJlQWRkaXRpb25hbFBhcmFtZXRlcnMoJG9wZXJhdGlvbiwgJGNvbW1hbmQsICRyZXF1ZXN0LCAkYWRkaXRpb25hbCkpIHsKICAgICAgICAgICAgICAgICRmb3VuZFZpc2l0b3JzWyRhZGRpdGlvbmFsLT5nZXRMb2NhdGlvbigpXSA9ICR2aXNpdG9yOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBDYWxsIHRoZSBhZnRlciBtZXRob2Qgb24gZWFjaCB2aXNpdG9yIGZvdW5kIGluIHRoZSBvcGVyYXRpb24KICAgICAgICBmb3JlYWNoICgkZm91bmRWaXNpdG9ycyBhcyAkdmlzaXRvcikgewogICAgICAgICAgICAkdmlzaXRvci0+YWZ0ZXIoJGNvbW1hbmQsICRyZXF1ZXN0KTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVxdWVzdDsKICAgIH0KCiAgICAvKioKICAgICAqIFNlcmlhbGl6ZSBhZGRpdGlvbmFsIHBhcmFtZXRlcnMKICAgICAqCiAgICAgKiBAcGFyYW0gT3BlcmF0aW9uSW50ZXJmYWNlICRvcGVyYXRpb24gIE9wZXJhdGlvbiB0aGF0IG93bnMgdGhlIGNvbW1hbmQKICAgICAqIEBwYXJhbSBDb21tYW5kSW50ZXJmYWNlICAgJGNvbW1hbmQgICAgQ29tbWFuZCB0byBwcmVwYXJlCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAgICRyZXF1ZXN0ICAgIFJlcXVlc3QgdG8gc2VyaWFsaXplCiAgICAgKiBAcGFyYW0gUGFyYW1ldGVyICAgICAgICAgICRhZGRpdGlvbmFsIEFkZGl0aW9uYWwgcGFyYW1ldGVycwogICAgICoKICAgICAqIEByZXR1cm4gbnVsbHxSZXF1ZXN0VmlzaXRvckludGVyZmFjZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJlcGFyZUFkZGl0aW9uYWxQYXJhbWV0ZXJzKAogICAgICAgIE9wZXJhdGlvbkludGVyZmFjZSAkb3BlcmF0aW9uLAogICAgICAgIENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQsCiAgICAgICAgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwKICAgICAgICBQYXJhbWV0ZXIgJGFkZGl0aW9uYWwKICAgICkgewogICAgICAgIGlmICghKCRsb2NhdGlvbiA9ICRhZGRpdGlvbmFsLT5nZXRMb2NhdGlvbigpKSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAkdmlzaXRvciA9ICR0aGlzLT5mYWN0b3J5LT5nZXRSZXF1ZXN0VmlzaXRvcigkbG9jYXRpb24pOwogICAgICAgICRoaWRkZW4gPSAkY29tbWFuZFskY29tbWFuZDo6SElEREVOX1BBUkFNU107CgogICAgICAgIGZvcmVhY2ggKCRjb21tYW5kLT50b0FycmF5KCkgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgLy8gSWdub3JlIHZhbHVlcyB0aGF0IGFyZSBudWxsIG9yIGJ1aWx0LWluIGNvbW1hbmQgb3B0aW9ucwogICAgICAgICAgICBpZiAoJHZhbHVlICE9PSBudWxsCiAgICAgICAgICAgICAgICAmJiAhaW5fYXJyYXkoJGtleSwgJGhpZGRlbikKICAgICAgICAgICAgICAgICYmICEkb3BlcmF0aW9uLT5oYXNQYXJhbSgka2V5KQogICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgICRhZGRpdGlvbmFsLT5zZXROYW1lKCRrZXkpOwogICAgICAgICAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCRjb21tYW5kLCAkcmVxdWVzdCwgJGFkZGl0aW9uYWwsICR2YWx1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkdmlzaXRvcjsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIHJlcXVlc3QgZm9yIHRoZSBjb21tYW5kIGFuZCBvcGVyYXRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCBDb21tYW5kIHRvIGNyZWF0ZSBhIHJlcXVlc3QgZm9yCiAgICAgKgogICAgICogQHJldHVybiBSZXF1ZXN0SW50ZXJmYWNlCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjcmVhdGVSZXF1ZXN0KENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQpCiAgICB7CiAgICAgICAgJG9wZXJhdGlvbiA9ICRjb21tYW5kLT5nZXRPcGVyYXRpb24oKTsKICAgICAgICAkY2xpZW50ID0gJGNvbW1hbmQtPmdldENsaWVudCgpOwogICAgICAgICRvcHRpb25zID0gJGNvbW1hbmRbQWJzdHJhY3RDb21tYW5kOjpSRVFVRVNUX09QVElPTlNdID86IGFycmF5KCk7CgogICAgICAgIC8vIElmIHRoZSBjb21tYW5kIGRvZXMgbm90IHNwZWNpZnkgYSB0ZW1wbGF0ZSwgdGhlbiBhc3N1bWUgdGhlIGJhc2UgVVJMIG9mIHRoZSBjbGllbnQKICAgICAgICBpZiAoISgkdXJpID0gJG9wZXJhdGlvbi0+Z2V0VXJpKCkpKSB7CiAgICAgICAgICAgIHJldHVybiAkY2xpZW50LT5jcmVhdGVSZXF1ZXN0KCRvcGVyYXRpb24tPmdldEh0dHBNZXRob2QoKSwgJGNsaWVudC0+Z2V0QmFzZVVybCgpLCBudWxsLCBudWxsLCAkb3B0aW9ucyk7CiAgICAgICAgfQoKICAgICAgICAvLyBHZXQgdGhlIHBhdGggdmFsdWVzIGFuZCB1c2UgdGhlIGNsaWVudCBjb25maWcgc2V0dGluZ3MKICAgICAgICAkdmFyaWFibGVzID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkb3BlcmF0aW9uLT5nZXRQYXJhbXMoKSBhcyAkbmFtZSA9PiAkYXJnKSB7CiAgICAgICAgICAgIGlmICgkYXJnLT5nZXRMb2NhdGlvbigpID09ICd1cmknKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGNvbW1hbmRbJG5hbWVdKSkgewogICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZXNbJG5hbWVdID0gJGFyZy0+ZmlsdGVyKCRjb21tYW5kWyRuYW1lXSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc19hcnJheSgkdmFyaWFibGVzWyRuYW1lXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlc1skbmFtZV0gPSAoc3RyaW5nKSAkdmFyaWFibGVzWyRuYW1lXTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkY2xpZW50LT5jcmVhdGVSZXF1ZXN0KCRvcGVyYXRpb24tPmdldEh0dHBNZXRob2QoKSwgYXJyYXkoJHVyaSwgJHZhcmlhYmxlcyksIG51bGwsIG51bGwsICRvcHRpb25zKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/DefaultResponseParser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogRGVmYXVsdCBIVFRQIHJlc3BvbnNlIHBhcnNlciB1c2VkIHRvIG1hcnNoYWwgSlNPTiByZXNwb25zZXMgaW50byBhcnJheXMgYW5kIFhNTCByZXNwb25zZXMgaW50byBTaW1wbGVYTUxFbGVtZW50CiAqLwpjbGFzcyBEZWZhdWx0UmVzcG9uc2VQYXJzZXIgaW1wbGVtZW50cyBSZXNwb25zZVBhcnNlckludGVyZmFjZQp7CiAgICAvKiogQHZhciBzZWxmICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRpbnN0YW5jZTsKCiAgICAvKioKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQGNvZGVDb3ZlcmFnZUlnbm9yZQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEluc3RhbmNlKCkKICAgIHsKICAgICAgICBpZiAoIXNlbGY6OiRpbnN0YW5jZSkgewogICAgICAgICAgICBzZWxmOjokaW5zdGFuY2UgPSBuZXcgc2VsZjsKICAgICAgICB9CgogICAgICAgIHJldHVybiBzZWxmOjokaW5zdGFuY2U7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHBhcnNlKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQpCiAgICB7CiAgICAgICAgJHJlc3BvbnNlID0gJGNvbW1hbmQtPmdldFJlcXVlc3QoKS0+Z2V0UmVzcG9uc2UoKTsKCiAgICAgICAgLy8gQWNjb3VudCBmb3IgaGFyZCBjb2RlZCBjb250ZW50LXR5cGUgdmFsdWVzIHNwZWNpZmllZCBpbiBzZXJ2aWNlIGRlc2NyaXB0aW9ucwogICAgICAgIGlmICgkY29udGVudFR5cGUgPSAkY29tbWFuZFsnY29tbWFuZC5leHBlY3RzJ10pIHsKICAgICAgICAgICAgJHJlc3BvbnNlLT5zZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICRjb250ZW50VHlwZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGNvbnRlbnRUeXBlID0gKHN0cmluZykgJHJlc3BvbnNlLT5nZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5oYW5kbGVQYXJzaW5nKCRjb21tYW5kLCAkcmVzcG9uc2UsICRjb250ZW50VHlwZSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGhhbmRsZVBhcnNpbmcoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwgUmVzcG9uc2UgJHJlc3BvbnNlLCAkY29udGVudFR5cGUpCiAgICB7CiAgICAgICAgJHJlc3VsdCA9ICRyZXNwb25zZTsKICAgICAgICBpZiAoJHJlc3VsdC0+Z2V0Qm9keSgpKSB7CiAgICAgICAgICAgIGlmIChzdHJpcG9zKCRjb250ZW50VHlwZSwgJ2pzb24nKSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkcmVzdWx0LT5qc29uKCk7CiAgICAgICAgICAgIH0gZWxzZWlmIChzdHJpcG9zKCRjb250ZW50VHlwZSwgJ3htbCcpICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgJHJlc3VsdCA9ICRyZXN1bHQtPnhtbCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/Factory/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/Factory/AliasFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXEZhY3Rvcnk7Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcQ2xpZW50SW50ZXJmYWNlOwoKLyoqCiAqIENvbW1hbmQgZmFjdG9yeSB1c2VkIHdoZW4geW91IG5lZWQgdG8gcHJvdmlkZSBhbGlhc2VzIHRvIGNvbW1hbmRzCiAqLwpjbGFzcyBBbGlhc0ZhY3RvcnkgaW1wbGVtZW50cyBGYWN0b3J5SW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIGFycmF5IEFzc29jaWF0aXZlIGFycmF5IG1hcHBpbmcgY29tbWFuZCBhbGlhc2VzIHRvIHRoZSBhbGlhc2VkIGNvbW1hbmQgKi8KICAgIHByb3RlY3RlZCAkYWxpYXNlczsKCiAgICAvKiogQHZhciBDbGllbnRJbnRlcmZhY2UgQ2xpZW50IHVzZWQgdG8gcmV0cnkgdXNpbmcgYWxpYXNlcyAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gQ2xpZW50SW50ZXJmYWNlICRjbGllbnQgIENsaWVudCB1c2VkIHRvIHJldHJ5IHdpdGggdGhlIGFsaWFzCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICRhbGlhc2VzIEFzc29jaWF0aXZlIGFycmF5IG1hcHBpbmcgYWxpYXNlcyB0byB0aGUgYWxpYXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KENsaWVudEludGVyZmFjZSAkY2xpZW50LCBhcnJheSAkYWxpYXNlcykKICAgIHsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gJGNsaWVudDsKICAgICAgICAkdGhpcy0+YWxpYXNlcyA9ICRhbGlhc2VzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBmYWN0b3J5KCRuYW1lLCBhcnJheSAkYXJncyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5hbGlhc2VzWyRuYW1lXSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCR0aGlzLT5hbGlhc2VzWyRuYW1lXSwgJGFyZ3MpOwogICAgICAgICAgICB9IGNhdGNoIChJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/Factory/CompositeFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXEZhY3Rvcnk7Cgp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcQ2xpZW50SW50ZXJmYWNlOwoKLyoqCiAqIENvbXBvc2l0ZSBmYWN0b3J5IHVzZWQgYnkgYSBjbGllbnQgb2JqZWN0IHRvIGNyZWF0ZSBjb21tYW5kIG9iamVjdHMgdXRpbGl6aW5nIG11bHRpcGxlIGZhY3RvcmllcwogKi8KY2xhc3MgQ29tcG9zaXRlRmFjdG9yeSBpbXBsZW1lbnRzIFxJdGVyYXRvckFnZ3JlZ2F0ZSwgXENvdW50YWJsZSwgRmFjdG9yeUludGVyZmFjZQp7CiAgICAvKiogQHZhciBhcnJheSBBcnJheSBvZiBjb21tYW5kIGZhY3RvcmllcyAqLwogICAgcHJvdGVjdGVkICRmYWN0b3JpZXM7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGRlZmF1bHQgY2hhaW4gdG8gdXNlIHdpdGggY2xpZW50cwogICAgICoKICAgICAqIEBwYXJhbSBDbGllbnRJbnRlcmZhY2UgJGNsaWVudCBDbGllbnQgdG8gYmFzZSB0aGUgY2hhaW4gb24KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXREZWZhdWx0Q2hhaW4oQ2xpZW50SW50ZXJmYWNlICRjbGllbnQpCiAgICB7CiAgICAgICAgJGZhY3RvcmllcyA9IGFycmF5KCk7CiAgICAgICAgaWYgKCRkZXNjcmlwdGlvbiA9ICRjbGllbnQtPmdldERlc2NyaXB0aW9uKCkpIHsKICAgICAgICAgICAgJGZhY3Rvcmllc1tdID0gbmV3IFNlcnZpY2VEZXNjcmlwdGlvbkZhY3RvcnkoJGRlc2NyaXB0aW9uKTsKICAgICAgICB9CiAgICAgICAgJGZhY3Rvcmllc1tdID0gbmV3IENvbmNyZXRlQ2xhc3NGYWN0b3J5KCRjbGllbnQpOwoKICAgICAgICByZXR1cm4gbmV3IHNlbGYoJGZhY3Rvcmllcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGZhY3RvcmllcyBBcnJheSBvZiBjb21tYW5kIGZhY3RvcmllcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJGZhY3RvcmllcyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJHRoaXMtPmZhY3RvcmllcyA9ICRmYWN0b3JpZXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYSBjb21tYW5kIGZhY3RvcnkgdG8gdGhlIGNoYWluCiAgICAgKgogICAgICogQHBhcmFtIEZhY3RvcnlJbnRlcmZhY2UgICAgICAgICRmYWN0b3J5IEZhY3RvcnkgdG8gYWRkCiAgICAgKiBAcGFyYW0gc3RyaW5nfEZhY3RvcnlJbnRlcmZhY2UgJGJlZm9yZSAgSW5zZXJ0IHRoZSBuZXcgY29tbWFuZCBmYWN0b3J5IGJlZm9yZSBhIGNvbW1hbmQgZmFjdG9yeSBjbGFzcyBvciBvYmplY3QKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaGluZyBhIGNsYXNzIG5hbWUuCiAgICAgKiBAcmV0dXJuIENvbXBvc2l0ZUZhY3RvcnkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZChGYWN0b3J5SW50ZXJmYWNlICRmYWN0b3J5LCAkYmVmb3JlID0gbnVsbCkKICAgIHsKICAgICAgICAkcG9zID0gbnVsbDsKCiAgICAgICAgaWYgKCRiZWZvcmUpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmZhY3RvcmllcyBhcyAkaSA9PiAkZikgewogICAgICAgICAgICAgICAgaWYgKCRiZWZvcmUgaW5zdGFuY2VvZiBGYWN0b3J5SW50ZXJmYWNlKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRmID09PSAkYmVmb3JlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRwb3MgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlaWYgKGlzX3N0cmluZygkYmVmb3JlKSkgewogICAgICAgICAgICAgICAgICAgIGlmICgkZiBpbnN0YW5jZW9mICRiZWZvcmUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHBvcyA9ICRpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICgkcG9zID09PSBudWxsKSB7CiAgICAgICAgICAgICR0aGlzLT5mYWN0b3JpZXNbXSA9ICRmYWN0b3J5OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGFycmF5X3NwbGljZSgkdGhpcy0+ZmFjdG9yaWVzLCAkaSwgMCwgYXJyYXkoJGZhY3RvcnkpKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIHRoZSBjaGFpbiBjb250YWlucyBhIHNwZWNpZmljIGNvbW1hbmQgZmFjdG9yeQogICAgICoKICAgICAqIEBwYXJhbSBGYWN0b3J5SW50ZXJmYWNlfHN0cmluZyAkZmFjdG9yeSBGYWN0b3J5IHRvIGNoZWNrCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBoYXMoJGZhY3RvcnkpCiAgICB7CiAgICAgICAgcmV0dXJuIChib29sKSAkdGhpcy0+ZmluZCgkZmFjdG9yeSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW1vdmUgYSBzcGVjaWZpYyBjb21tYW5kIGZhY3RvcnkgZnJvbSB0aGUgY2hhaW4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfEZhY3RvcnlJbnRlcmZhY2UgJGZhY3RvcnkgRmFjdG9yeSB0byByZW1vdmUgYnkgbmFtZSBvciBpbnN0YW5jZQogICAgICoKICAgICAqIEByZXR1cm4gQ29tcG9zaXRlRmFjdG9yeQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlKCRmYWN0b3J5ID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoISgkZmFjdG9yeSBpbnN0YW5jZW9mIEZhY3RvcnlJbnRlcmZhY2UpKSB7CiAgICAgICAgICAgICRmYWN0b3J5ID0gJHRoaXMtPmZpbmQoJGZhY3RvcnkpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmZhY3RvcmllcyA9IGFycmF5X3ZhbHVlcyhhcnJheV9maWx0ZXIoJHRoaXMtPmZhY3RvcmllcywgZnVuY3Rpb24oJGYpIHVzZSAoJGZhY3RvcnkpIHsKICAgICAgICAgICAgcmV0dXJuICRmICE9PSAkZmFjdG9yeTsKICAgICAgICB9KSk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhIGNvbW1hbmQgZmFjdG9yeSBieSBjbGFzcyBuYW1lCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xGYWN0b3J5SW50ZXJmYWNlICRmYWN0b3J5IENvbW1hbmQgZmFjdG9yeSBjbGFzcyBvciBpbnN0YW5jZQogICAgICoKICAgICAqIEByZXR1cm4gbnVsbHxGYWN0b3J5SW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBmaW5kKCRmYWN0b3J5KQogICAgewogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5mYWN0b3JpZXMgYXMgJGYpIHsKICAgICAgICAgICAgaWYgKCRmYWN0b3J5ID09PSAkZiB8fCAoaXNfc3RyaW5nKCRmYWN0b3J5KSAmJiAkZiBpbnN0YW5jZW9mICRmYWN0b3J5KSkgewogICAgICAgICAgICAgICAgcmV0dXJuICRmOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgY29tbWFuZCB1c2luZyB0aGUgYXNzb2NpYXRlZCBjb21tYW5kIGZhY3RvcmllcwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUgTmFtZSBvZiB0aGUgY29tbWFuZAogICAgICogQHBhcmFtIGFycmF5ICAkYXJncyBDb21tYW5kIGFyZ3VtZW50cwogICAgICoKICAgICAqIEByZXR1cm4gQ29tbWFuZEludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZmFjdG9yeSgkbmFtZSwgYXJyYXkgJGFyZ3MgPSBhcnJheSgpKQogICAgewogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5mYWN0b3JpZXMgYXMgJGZhY3RvcnkpIHsKICAgICAgICAgICAgJGNvbW1hbmQgPSAkZmFjdG9yeS0+ZmFjdG9yeSgkbmFtZSwgJGFyZ3MpOwogICAgICAgICAgICBpZiAoJGNvbW1hbmQpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkY29tbWFuZDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY291bnQoKQogICAgewogICAgICAgIHJldHVybiBjb3VudCgkdGhpcy0+ZmFjdG9yaWVzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SXRlcmF0b3IoKQogICAgewogICAgICAgIHJldHVybiBuZXcgXEFycmF5SXRlcmF0b3IoJHRoaXMtPmZhY3Rvcmllcyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/Factory/ConcreteClassFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXEZhY3Rvcnk7Cgp1c2UgR3V6emxlXEluZmxlY3Rpb25cSW5mbGVjdG9ySW50ZXJmYWNlOwp1c2UgR3V6emxlXEluZmxlY3Rpb25cSW5mbGVjdG9yOwp1c2UgR3V6emxlXFNlcnZpY2VcQ2xpZW50SW50ZXJmYWNlOwoKLyoqCiAqIENvbW1hbmQgZmFjdG9yeSB1c2VkIHRvIGNyZWF0ZSBjb21tYW5kcyByZWZlcmVuY2luZyBjb25jcmV0ZSBjb21tYW5kIGNsYXNzZXMKICovCmNsYXNzIENvbmNyZXRlQ2xhc3NGYWN0b3J5IGltcGxlbWVudHMgRmFjdG9yeUludGVyZmFjZQp7CiAgICAvKiogQHZhciBDbGllbnRJbnRlcmZhY2UgKi8KICAgIHByb3RlY3RlZCAkY2xpZW50OwoKICAgIC8qKiBAdmFyIEluZmxlY3RvckludGVyZmFjZSAqLwogICAgcHJvdGVjdGVkICRpbmZsZWN0b3I7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gQ2xpZW50SW50ZXJmYWNlICAgICRjbGllbnQgICAgQ2xpZW50IHRoYXQgb3ducyB0aGUgY29tbWFuZHMKICAgICAqIEBwYXJhbSBJbmZsZWN0b3JJbnRlcmZhY2UgJGluZmxlY3RvciBJbmZsZWN0b3IgdXNlZCB0byByZXNvbHZlIGNsYXNzIG5hbWVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChDbGllbnRJbnRlcmZhY2UgJGNsaWVudCwgSW5mbGVjdG9ySW50ZXJmYWNlICRpbmZsZWN0b3IgPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSAkY2xpZW50OwogICAgICAgICR0aGlzLT5pbmZsZWN0b3IgPSAkaW5mbGVjdG9yID86IEluZmxlY3Rvcjo6Z2V0RGVmYXVsdCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBmYWN0b3J5KCRuYW1lLCBhcnJheSAkYXJncyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgLy8gRGV0ZXJtaW5lIHRoZSBjbGFzcyB0byBpbnN0YW50aWF0ZSBiYXNlZCBvbiB0aGUgbmFtZXNwYWNlIG9mIHRoZSBjdXJyZW50IGNsaWVudCBhbmQgdGhlIGRlZmF1bHQgZGlyZWN0b3J5CiAgICAgICAgJHByZWZpeCA9ICR0aGlzLT5jbGllbnQtPmdldENvbmZpZygnY29tbWFuZC5wcmVmaXgnKTsKICAgICAgICBpZiAoISRwcmVmaXgpIHsKICAgICAgICAgICAgLy8gVGhlIHByZWZpeCBjYW4gYmUgc3BlY2lmaWVkIGluIGEgZmFjdG9yeSBtZXRob2QgYW5kIGlzIGNhY2hlZAogICAgICAgICAgICAkcHJlZml4ID0gaW1wbG9kZSgnXFwnLCBhcnJheV9zbGljZShleHBsb2RlKCdcXCcsIGdldF9jbGFzcygkdGhpcy0+Y2xpZW50KSksIDAsIC0xKSkgLiAnXFxDb21tYW5kXFwnOwogICAgICAgICAgICAkdGhpcy0+Y2xpZW50LT5nZXRDb25maWcoKS0+c2V0KCdjb21tYW5kLnByZWZpeCcsICRwcmVmaXgpOwogICAgICAgIH0KCiAgICAgICAgJGNsYXNzID0gJHByZWZpeCAuIHN0cl9yZXBsYWNlKCcgJywgJ1xcJywgdWN3b3JkcyhzdHJfcmVwbGFjZSgnLicsICcgJywgJHRoaXMtPmluZmxlY3Rvci0+Y2FtZWwoJG5hbWUpKSkpOwoKICAgICAgICAvLyBDcmVhdGUgdGhlIGNvbmNyZXRlIGNvbW1hbmQgaWYgaXQgZXhpc3RzCiAgICAgICAgaWYgKGNsYXNzX2V4aXN0cygkY2xhc3MpKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgJGNsYXNzKCRhcmdzKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/Factory/FactoryInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXEZhY3Rvcnk7Cgp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwoKLyoqCiAqIEludGVyZmFjZSBmb3IgY3JlYXRpbmcgY29tbWFuZHMgYnkgbmFtZQogKi8KaW50ZXJmYWNlIEZhY3RvcnlJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBjb21tYW5kIGJ5IG5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIENvbW1hbmQgdG8gY3JlYXRlCiAgICAgKiBAcGFyYW0gYXJyYXkgICRhcmdzIENvbW1hbmQgYXJndW1lbnRzCiAgICAgKgogICAgICogQHJldHVybiBDb21tYW5kSW50ZXJmYWNlfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGZhY3RvcnkoJG5hbWUsIGFycmF5ICRhcmdzID0gYXJyYXkoKSk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/Factory/MapFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXEZhY3Rvcnk7CgovKioKICogQ29tbWFuZCBmYWN0b3J5IHVzZWQgd2hlbiBleHBsaWNpdGx5IG1hcHBpbmcgc3RyaW5ncyB0byBjb21tYW5kIGNsYXNzZXMKICovCmNsYXNzIE1hcEZhY3RvcnkgaW1wbGVtZW50cyBGYWN0b3J5SW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIGFycmF5IEFzc29jaWF0aXZlIGFycmF5IG1hcHBpbmcgY29tbWFuZCBuYW1lcyB0byBjbGFzc2VzICovCiAgICBwcm90ZWN0ZWQgJG1hcDsKCiAgICAvKiogQHBhcmFtIGFycmF5ICRtYXAgQXNzb2NpYXRpdmUgYXJyYXkgbWFwcGluZyBjb21tYW5kIG5hbWVzIHRvIGNsYXNzZXMgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChhcnJheSAkbWFwKQogICAgewogICAgICAgICR0aGlzLT5tYXAgPSAkbWFwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBmYWN0b3J5KCRuYW1lLCBhcnJheSAkYXJncyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5tYXBbJG5hbWVdKSkgewogICAgICAgICAgICAkY2xhc3MgPSAkdGhpcy0+bWFwWyRuYW1lXTsKCiAgICAgICAgICAgIHJldHVybiBuZXcgJGNsYXNzKCRhcmdzKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/Factory/ServiceDescriptionFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXEZhY3Rvcnk7Cgp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlOwp1c2UgR3V6emxlXEluZmxlY3Rpb25cSW5mbGVjdG9ySW50ZXJmYWNlOwoKLyoqCiAqIENvbW1hbmQgZmFjdG9yeSB1c2VkIHRvIGNyZWF0ZSBjb21tYW5kcyBiYXNlZCBvbiBzZXJ2aWNlIGRlc2NyaXB0aW9ucwogKi8KY2xhc3MgU2VydmljZURlc2NyaXB0aW9uRmFjdG9yeSBpbXBsZW1lbnRzIEZhY3RvcnlJbnRlcmZhY2UKewogICAgLyoqIEB2YXIgU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlICovCiAgICBwcm90ZWN0ZWQgJGRlc2NyaXB0aW9uOwoKICAgIC8qKiBAdmFyIEluZmxlY3RvckludGVyZmFjZSAqLwogICAgcHJvdGVjdGVkICRpbmZsZWN0b3I7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlICRkZXNjcmlwdGlvbiBTZXJ2aWNlIGRlc2NyaXB0aW9uCiAgICAgKiBAcGFyYW0gSW5mbGVjdG9ySW50ZXJmYWNlICAgICAgICAgICRpbmZsZWN0b3IgICBPcHRpb25hbCBpbmZsZWN0b3IgdG8gdXNlIGlmIHRoZSBjb21tYW5kIGlzIG5vdCBhdCBmaXJzdCBmb3VuZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlICRkZXNjcmlwdGlvbiwgSW5mbGVjdG9ySW50ZXJmYWNlICRpbmZsZWN0b3IgPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5zZXRTZXJ2aWNlRGVzY3JpcHRpb24oJGRlc2NyaXB0aW9uKTsKICAgICAgICAkdGhpcy0+aW5mbGVjdG9yID0gJGluZmxlY3RvcjsKICAgIH0KCiAgICAvKioKICAgICAqIENoYW5nZSB0aGUgc2VydmljZSBkZXNjcmlwdGlvbiB1c2VkIHdpdGggdGhlIGZhY3RvcnkKICAgICAqCiAgICAgKiBAcGFyYW0gU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlICRkZXNjcmlwdGlvbiBTZXJ2aWNlIGRlc2NyaXB0aW9uIHRvIHVzZQogICAgICoKICAgICAqIEByZXR1cm4gRmFjdG9yeUludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U2VydmljZURlc2NyaXB0aW9uKFNlcnZpY2VEZXNjcmlwdGlvbkludGVyZmFjZSAkZGVzY3JpcHRpb24pCiAgICB7CiAgICAgICAgJHRoaXMtPmRlc2NyaXB0aW9uID0gJGRlc2NyaXB0aW9uOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uCiAgICAgKgogICAgICogQHJldHVybiBTZXJ2aWNlRGVzY3JpcHRpb25JbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFNlcnZpY2VEZXNjcmlwdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5kZXNjcmlwdGlvbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZmFjdG9yeSgkbmFtZSwgYXJyYXkgJGFyZ3MgPSBhcnJheSgpKQogICAgewogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmRlc2NyaXB0aW9uLT5nZXRPcGVyYXRpb24oJG5hbWUpOwoKICAgICAgICAvLyBJZiBhIGNvbW1hbmQgd2Fzbid0IGZvdW5kLCB0aGVuIHRyeSB0byB1cHBlcmNhc2UgdGhlIGZpcnN0IGxldHRlciBhbmQgdHJ5IGFnYWluCiAgICAgICAgaWYgKCEkY29tbWFuZCkgewogICAgICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5kZXNjcmlwdGlvbi0+Z2V0T3BlcmF0aW9uKHVjZmlyc3QoJG5hbWUpKTsKICAgICAgICAgICAgLy8gSWYgYW4gaW5mbGVjdG9yIHdhcyBwYXNzZWQsIHRoZW4gYXR0ZW1wdCB0byBnZXQgdGhlIGNvbW1hbmQgdXNpbmcgc25ha2VfY2FzZSBpbmZsZWN0aW9uCiAgICAgICAgICAgIGlmICghJGNvbW1hbmQgJiYgJHRoaXMtPmluZmxlY3RvcikgewogICAgICAgICAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+ZGVzY3JpcHRpb24tPmdldE9wZXJhdGlvbigkdGhpcy0+aW5mbGVjdG9yLT5zbmFrZSgkbmFtZSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoJGNvbW1hbmQpIHsKICAgICAgICAgICAgJGNsYXNzID0gJGNvbW1hbmQtPmdldENsYXNzKCk7CiAgICAgICAgICAgIHJldHVybiBuZXcgJGNsYXNzKCRhcmdzLCAkY29tbWFuZCwgJHRoaXMtPmRlc2NyaXB0aW9uKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/AbstractRequestVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcjsKCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0UmVxdWVzdFZpc2l0b3IgaW1wbGVtZW50cyBSZXF1ZXN0VmlzaXRvckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFmdGVyKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQsIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QpIHt9CgogICAgLyoqCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdChDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLCBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBQYXJhbWV0ZXIgJHBhcmFtLCAkdmFsdWUpIHt9CgogICAgLyoqCiAgICAgKiBQcmVwYXJlIChmaWx0ZXIgYW5kIHNldCBkZXNpcmVkIG5hbWUgZm9yIHJlcXVlc3QgaXRlbSkgdGhlIHZhbHVlIGZvciByZXF1ZXN0LgogICAgICoKICAgICAqIEBwYXJhbSBtaXhlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdmFsdWUKICAgICAqIEBwYXJhbSBcR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyICAgICAkcGFyYW0KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5fG1peGVkCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBwcmVwYXJlVmFsdWUoJHZhbHVlLCBQYXJhbWV0ZXIgJHBhcmFtKQogICAgewogICAgICAgIHJldHVybiBpc19hcnJheSgkdmFsdWUpCiAgICAgICAgICAgID8gJHRoaXMtPnJlc29sdmVSZWN1cnNpdmVseSgkdmFsdWUsICRwYXJhbSkKICAgICAgICAgICAgOiAkcGFyYW0tPmZpbHRlcigkdmFsdWUpOwogICAgfQoKICAgIC8qKgogICAgICogTWFwIG5lc3RlZCBwYXJhbWV0ZXJzIGludG8gdGhlIGxvY2F0aW9uX2tleSBiYXNlZCBwYXJhbWV0ZXJzCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICAgICAkdmFsdWUgVmFsdWUgdG8gbWFwCiAgICAgKiBAcGFyYW0gUGFyYW1ldGVyICRwYXJhbSBQYXJhbWV0ZXIgdGhhdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCBrZXkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IFJldHVybnMgdGhlIG1hcHBlZCBhcnJheQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcmVzb2x2ZVJlY3Vyc2l2ZWx5KGFycmF5ICR2YWx1ZSwgUGFyYW1ldGVyICRwYXJhbSkKICAgIHsKICAgICAgICBmb3JlYWNoICgkdmFsdWUgYXMgJG5hbWUgPT4gJiR2KSB7CiAgICAgICAgICAgIHN3aXRjaCAoJHBhcmFtLT5nZXRUeXBlKCkpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ29iamVjdCc6CiAgICAgICAgICAgICAgICAgICAgaWYgKCRzdWJQYXJhbSA9ICRwYXJhbS0+Z2V0UHJvcGVydHkoJG5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRrZXkgPSAkc3ViUGFyYW0tPmdldFdpcmVOYW1lKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZVska2V5XSA9ICR0aGlzLT5wcmVwYXJlVmFsdWUoJHYsICRzdWJQYXJhbSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkbmFtZSAhPSAka2V5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNldCgkdmFsdWVbJG5hbWVdKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkcGFyYW0tPmdldEFkZGl0aW9uYWxQcm9wZXJ0aWVzKCkgaW5zdGFuY2VvZiBQYXJhbWV0ZXIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHYgPSAkdGhpcy0+cHJlcGFyZVZhbHVlKCR2LCAkcGFyYW0tPmdldEFkZGl0aW9uYWxQcm9wZXJ0aWVzKCkpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ2FycmF5JzoKICAgICAgICAgICAgICAgICAgICBpZiAoJGl0ZW1zID0gJHBhcmFtLT5nZXRJdGVtcygpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICR2ID0gJHRoaXMtPnByZXBhcmVWYWx1ZSgkdiwgJGl0ZW1zKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkcGFyYW0tPmZpbHRlcigkdmFsdWUpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/BodyVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5SW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyOwoKLyoqCiAqIFZpc2l0b3IgdXNlZCB0byBhcHBseSBhIGJvZHkgdG8gYSByZXF1ZXN0CiAqCiAqIFRoaXMgdmlzaXRvciBjYW4gdXNlIGEgZGF0YSBwYXJhbWV0ZXIgb2YgJ2V4cGVjdCcgdG8gY29udHJvbCB0aGUgRXhwZWN0IGhlYWRlci4gU2V0IHRoZSBleHBlY3QgZGF0YSBwYXJhbWV0ZXIgdG8KICogZmFsc2UgdG8gZGlzYWJsZSB0aGUgZXhwZWN0IGhlYWRlciwgb3Igc2V0IHRoZSB2YWx1ZSB0byBhbiBpbnRlZ2VyIHNvIHRoYXQgdGhlIGV4cGVjdCAxMDAtY29udGludWUgaGVhZGVyIGlzIG9ubHkKICogYWRkZWQgaWYgdGhlIENvbnRlbnQtTGVuZ3RoIG9mIHRoZSBlbnRpdHkgYm9keSBpcyBncmVhdGVyIHRoYW4gdGhlIHZhbHVlLgogKi8KY2xhc3MgQm9keVZpc2l0b3IgZXh0ZW5kcyBBYnN0cmFjdFJlcXVlc3RWaXNpdG9yCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdChDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLCBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBQYXJhbWV0ZXIgJHBhcmFtLCAkdmFsdWUpCiAgICB7CiAgICAgICAgJHZhbHVlID0gJHBhcmFtLT5maWx0ZXIoJHZhbHVlKTsKICAgICAgICAkZW50aXR5Qm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJHZhbHVlKTsKICAgICAgICAkcmVxdWVzdC0+c2V0Qm9keSgkZW50aXR5Qm9keSk7CiAgICAgICAgJHRoaXMtPmFkZEV4cGVjdEhlYWRlcigkcmVxdWVzdCwgJGVudGl0eUJvZHksICRwYXJhbS0+Z2V0RGF0YSgnZXhwZWN0X2hlYWRlcicpKTsKICAgICAgICAvLyBBZGQgdGhlIENvbnRlbnQtRW5jb2RpbmcgaGVhZGVyIGlmIG9uZSBpcyBzZXQgb24gdGhlIEVudGl0eUJvZHkKICAgICAgICBpZiAoJGVuY29kaW5nID0gJGVudGl0eUJvZHktPmdldENvbnRlbnRFbmNvZGluZygpKSB7CiAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRIZWFkZXIoJ0NvbnRlbnQtRW5jb2RpbmcnLCAkZW5jb2RpbmcpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEFkZCB0aGUgYXBwcm9wcmlhdGUgZXhwZWN0IGhlYWRlciB0byBhIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gRW50aXR5RW5jbG9zaW5nUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCBSZXF1ZXN0IHRvIHVwZGF0ZQogICAgICogQHBhcmFtIEVudGl0eUJvZHlJbnRlcmZhY2UgICAgICAgICAgICAgJGJvZHkgICAgRW50aXR5IGJvZHkgb2YgdGhlIHJlcXVlc3QKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICAgICAgICAgICAgICAgICAgICAgICRleHBlY3QgIEV4cGVjdCBoZWFkZXIgc2V0dGluZwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkRXhwZWN0SGVhZGVyKEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIEVudGl0eUJvZHlJbnRlcmZhY2UgJGJvZHksICRleHBlY3QpCiAgICB7CiAgICAgICAgLy8gQWxsb3cgdGhlIGBleHBlY3RgIGRhdGEgcGFyYW1ldGVyIHRvIGJlIHNldCB0byByZW1vdmUgdGhlIEV4cGVjdCBoZWFkZXIgZnJvbSB0aGUgcmVxdWVzdAogICAgICAgIGlmICgkZXhwZWN0ID09PSBmYWxzZSkgewogICAgICAgICAgICAkcmVxdWVzdC0+cmVtb3ZlSGVhZGVyKCdFeHBlY3QnKTsKICAgICAgICB9IGVsc2VpZiAoJGV4cGVjdCAhPT0gdHJ1ZSkgewogICAgICAgICAgICAvLyBEZWZhdWx0IHRvIHVzaW5nIGEgTUIgYXMgdGhlIHBvaW50IGluIHdoaWNoIHRvIHN0YXJ0IHVzaW5nIHRoZSBleHBlY3QgaGVhZGVyCiAgICAgICAgICAgICRleHBlY3QgPSAkZXhwZWN0ID86IDEwNDg1NzY7CiAgICAgICAgICAgIC8vIElmIHRoZSBleHBlY3RfaGVhZGVyIHZhbHVlIGlzIG51bWVyaWMgdGhlbiBvbmx5IGFkZCBpZiB0aGUgc2l6ZSBpcyBncmVhdGVyIHRoYW4gdGhlIGN1dG9mZgogICAgICAgICAgICBpZiAoaXNfbnVtZXJpYygkZXhwZWN0KSAmJiAkYm9keS0+Z2V0U2l6ZSgpKSB7CiAgICAgICAgICAgICAgICBpZiAoJGJvZHktPmdldFNpemUoKSA8ICRleHBlY3QpIHsKICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdC0+cmVtb3ZlSGVhZGVyKCdFeHBlY3QnKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcignRXhwZWN0JywgJzEwMC1Db250aW51ZScpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/HeaderVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcjsKCi8qKgogKiBWaXNpdG9yIHVzZWQgdG8gYXBwbHkgYSBwYXJhbWV0ZXIgdG8gYSBoZWFkZXIgdmFsdWUKICovCmNsYXNzIEhlYWRlclZpc2l0b3IgZXh0ZW5kcyBBYnN0cmFjdFJlcXVlc3RWaXNpdG9yCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdChDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLCBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBQYXJhbWV0ZXIgJHBhcmFtLCAkdmFsdWUpCiAgICB7CiAgICAgICAgJHZhbHVlID0gJHBhcmFtLT5maWx0ZXIoJHZhbHVlKTsKICAgICAgICBpZiAoJHBhcmFtLT5nZXRUeXBlKCkgPT0gJ29iamVjdCcgJiYgJHBhcmFtLT5nZXRBZGRpdGlvbmFsUHJvcGVydGllcygpIGluc3RhbmNlb2YgUGFyYW1ldGVyKSB7CiAgICAgICAgICAgICR0aGlzLT5hZGRQcmVmaXhlZEhlYWRlcnMoJHJlcXVlc3QsICRwYXJhbSwgJHZhbHVlKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkcmVxdWVzdC0+c2V0SGVhZGVyKCRwYXJhbS0+Z2V0V2lyZU5hbWUoKSwgJHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYSBwcmVmaXhlZCBhcnJheSBvZiBoZWFkZXJzIHRvIHRoZSByZXF1ZXN0CiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgUmVxdWVzdCB0byB1cGRhdGUKICAgICAqIEBwYXJhbSBQYXJhbWV0ZXIgICAgICAgICRwYXJhbSAgIFBhcmFtZXRlciBvYmplY3QKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICR2YWx1ZSAgIEhlYWRlciBhcnJheSB0byBhZGQKICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkUHJlZml4ZWRIZWFkZXJzKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFBhcmFtZXRlciAkcGFyYW0sICR2YWx1ZSkKICAgIHsKICAgICAgICBpZiAoIWlzX2FycmF5KCR2YWx1ZSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignQW4gYXJyYXkgb2YgbWFwcGVkIGhlYWRlcnMgZXhwZWN0ZWQsIGJ1dCByZWNlaXZlZCBhIHNpbmdsZSB2YWx1ZScpOwogICAgICAgIH0KICAgICAgICAkcHJlZml4ID0gJHBhcmFtLT5nZXRTZW50QXMoKTsKICAgICAgICBmb3JlYWNoICgkdmFsdWUgYXMgJGhlYWRlck5hbWUgPT4gJGhlYWRlclZhbHVlKSB7CiAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRIZWFkZXIoJHByZWZpeCAuICRoZWFkZXJOYW1lLCAkaGVhZGVyVmFsdWUpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/JsonVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcjsKCi8qKgogKiBWaXNpdG9yIHVzZWQgdG8gYXBwbHkgYSBwYXJhbWV0ZXIgdG8gYW4gYXJyYXkgdGhhdCB3aWxsIGJlIHNlcmlhbGl6ZWQgYXMgYSB0b3AgbGV2ZWwga2V5LXZhbHVlIHBhaXIgaW4gYSBKU09OIGJvZHkKICovCmNsYXNzIEpzb25WaXNpdG9yIGV4dGVuZHMgQWJzdHJhY3RSZXF1ZXN0VmlzaXRvcgp7CiAgICAvKiogQHZhciBib29sIFdoZXRoZXIgb3Igbm90IHRvIGFkZCBhIENvbnRlbnQtVHlwZSBoZWFkZXIgd2hlbiBKU09OIGlzIGZvdW5kICovCiAgICBwcm90ZWN0ZWQgJGpzb25Db250ZW50VHlwZSA9ICdhcHBsaWNhdGlvbi9qc29uJzsKCiAgICAvKiogQHZhciBcU3BsT2JqZWN0U3RvcmFnZSBEYXRhIG9iamVjdCBmb3IgcGVyc2lzdGluZyBKU09OIGRhdGEgKi8KICAgIHByb3RlY3RlZCAkZGF0YTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogICAgewogICAgICAgICR0aGlzLT5kYXRhID0gbmV3IFxTcGxPYmplY3RTdG9yYWdlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXIgdG8gYWRkIHRvIHRoZSByZXF1ZXN0IGlmIEpTT04gaXMgYWRkZWQgdG8gdGhlIGJvZHkuIFRoaXMgdmlzaXRvciBkb2VzIG5vdCBhZGQgYQogICAgICogQ29udGVudC1UeXBlIGhlYWRlciB1bmxlc3MgeW91IHNwZWNpZnkgb25lIGhlcmUuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkaGVhZGVyIEhlYWRlciB0byBzZXQgd2hlbiBKU09OIGlzIGFkZGVkIChlLmcuIGFwcGxpY2F0aW9uL2pzb24pCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDb250ZW50VHlwZUhlYWRlcigkaGVhZGVyID0gJ2FwcGxpY2F0aW9uL2pzb24nKQogICAgewogICAgICAgICR0aGlzLT5qc29uQ29udGVudFR5cGUgPSAkaGVhZGVyOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHZpc2l0KENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQsIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFBhcmFtZXRlciAkcGFyYW0sICR2YWx1ZSkKICAgIHsKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPmRhdGFbJGNvbW1hbmRdKSkgewogICAgICAgICAgICAkanNvbiA9ICR0aGlzLT5kYXRhWyRjb21tYW5kXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkanNvbiA9IGFycmF5KCk7CiAgICAgICAgfQogICAgICAgICRqc29uWyRwYXJhbS0+Z2V0V2lyZU5hbWUoKV0gPSAkdGhpcy0+cHJlcGFyZVZhbHVlKCR2YWx1ZSwgJHBhcmFtKTsKICAgICAgICAkdGhpcy0+ZGF0YVskY29tbWFuZF0gPSAkanNvbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWZ0ZXIoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCkKICAgIHsKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPmRhdGFbJGNvbW1hbmRdKSkgewogICAgICAgICAgICAvLyBEb24ndCBvdmVyd3JpdGUgdGhlIENvbnRlbnQtVHlwZSBpZiBvbmUgaXMgc2V0CiAgICAgICAgICAgIGlmICgkdGhpcy0+anNvbkNvbnRlbnRUeXBlICYmICEkcmVxdWVzdC0+aGFzSGVhZGVyKCdDb250ZW50LVR5cGUnKSkgewogICAgICAgICAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcignQ29udGVudC1UeXBlJywgJHRoaXMtPmpzb25Db250ZW50VHlwZSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRCb2R5KGpzb25fZW5jb2RlKCR0aGlzLT5kYXRhWyRjb21tYW5kXSkpOwogICAgICAgICAgICB1bnNldCgkdGhpcy0+ZGF0YVskY29tbWFuZF0pOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/PostFieldVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcjsKCi8qKgogKiBWaXNpdG9yIHVzZWQgdG8gYXBwbHkgYSBwYXJhbWV0ZXIgdG8gYSBQT1NUIGZpZWxkCiAqLwpjbGFzcyBQb3N0RmllbGRWaXNpdG9yIGV4dGVuZHMgQWJzdHJhY3RSZXF1ZXN0VmlzaXRvcgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdmlzaXQoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgUGFyYW1ldGVyICRwYXJhbSwgJHZhbHVlKQogICAgewogICAgICAgICRyZXF1ZXN0LT5zZXRQb3N0RmllbGQoJHBhcmFtLT5nZXRXaXJlTmFtZSgpLCAkdGhpcy0+cHJlcGFyZVZhbHVlKCR2YWx1ZSwgJHBhcmFtKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/PostFileVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUG9zdEZpbGVJbnRlcmZhY2U7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2U7CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXI7CgovKioKICogVmlzaXRvciB1c2VkIHRvIGFwcGx5IGEgcGFyYW1ldGVyIHRvIGEgUE9TVCBmaWxlCiAqLwpjbGFzcyBQb3N0RmlsZVZpc2l0b3IgZXh0ZW5kcyBBYnN0cmFjdFJlcXVlc3RWaXNpdG9yCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdChDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLCBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBQYXJhbWV0ZXIgJHBhcmFtLCAkdmFsdWUpCiAgICB7CiAgICAgICAgJHZhbHVlID0gJHBhcmFtLT5maWx0ZXIoJHZhbHVlKTsKICAgICAgICBpZiAoJHZhbHVlIGluc3RhbmNlb2YgUG9zdEZpbGVJbnRlcmZhY2UpIHsKICAgICAgICAgICAgJHJlcXVlc3QtPmFkZFBvc3RGaWxlKCR2YWx1ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHJlcXVlc3QtPmFkZFBvc3RGaWxlKCRwYXJhbS0+Z2V0V2lyZU5hbWUoKSwgJHZhbHVlKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/QueryVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcjsKCi8qKgogKiBWaXNpdG9yIHVzZWQgdG8gYXBwbHkgYSBwYXJhbWV0ZXIgdG8gYSByZXF1ZXN0J3MgcXVlcnkgc3RyaW5nCiAqLwpjbGFzcyBRdWVyeVZpc2l0b3IgZXh0ZW5kcyBBYnN0cmFjdFJlcXVlc3RWaXNpdG9yCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdChDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLCBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBQYXJhbWV0ZXIgJHBhcmFtLCAkdmFsdWUpCiAgICB7CiAgICAgICAgJHJlcXVlc3QtPmdldFF1ZXJ5KCktPnNldCgkcGFyYW0tPmdldFdpcmVOYW1lKCksICR0aGlzLT5wcmVwYXJlVmFsdWUoJHZhbHVlLCAkcGFyYW0pKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/RequestVisitorInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcjsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKCi8qKgogKiBMb2NhdGlvbiB2aXNpdG9yIHVzZWQgdG8gYWRkIHZhbHVlcyB0byBkaWZmZXJlbnQgbG9jYXRpb25zIGluIGEgcmVxdWVzdCB3aXRoIGRpZmZlcmVudCBiZWhhdmlvcnMgYXMgbmVlZGVkCiAqLwppbnRlcmZhY2UgUmVxdWVzdFZpc2l0b3JJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBDYWxsZWQgYWZ0ZXIgdmlzaXRpbmcgYWxsIHBhcmFtZXRlcnMKICAgICAqCiAgICAgKiBAcGFyYW0gQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCBDb21tYW5kIGJlaW5nIHZpc2l0ZWQKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0IFJlcXVlc3QgYmVpbmcgdmlzaXRlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWZ0ZXIoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCk7CgogICAgLyoqCiAgICAgKiBDYWxsZWQgb25jZSBmb3IgZWFjaCBwYXJhbWV0ZXIgYmVpbmcgdmlzaXRlZCB0aGF0IG1hdGNoZXMgdGhlIGxvY2F0aW9uIHR5cGUKICAgICAqCiAgICAgKiBAcGFyYW0gQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCBDb21tYW5kIGJlaW5nIHZpc2l0ZWQKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0IFJlcXVlc3QgYmVpbmcgdmlzaXRlZAogICAgICogQHBhcmFtIFBhcmFtZXRlciAgICAgICAgJHBhcmFtICAgUGFyYW1ldGVyIGJlaW5nIHZpc2l0ZWQKICAgICAqIEBwYXJhbSBtaXhlZCAgICAgICAgICAgICR2YWx1ZSAgIFZhbHVlIHRvIHNldAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdmlzaXQoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCwgUGFyYW1ldGVyICRwYXJhbSwgJHZhbHVlKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/ResponseBodyVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcjsKCi8qKgogKiBWaXNpdG9yIHVzZWQgdG8gY2hhbmdlIHRoZSBsb2NhdGlvbiBpbiB3aGljaCBhIHJlc3BvbnNlIGJvZHkgaXMgc2F2ZWQKICovCmNsYXNzIFJlc3BvbnNlQm9keVZpc2l0b3IgZXh0ZW5kcyBBYnN0cmFjdFJlcXVlc3RWaXNpdG9yCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdChDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLCBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBQYXJhbWV0ZXIgJHBhcmFtLCAkdmFsdWUpCiAgICB7CiAgICAgICAgJHJlcXVlc3QtPnNldFJlc3BvbnNlQm9keSgkdmFsdWUpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/XmlVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXE9wZXJhdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcjsKCi8qKgogKiBMb2NhdGlvbiB2aXNpdG9yIHVzZWQgdG8gc2VyaWFsaXplIFhNTCBib2RpZXMKICovCmNsYXNzIFhtbFZpc2l0b3IgZXh0ZW5kcyBBYnN0cmFjdFJlcXVlc3RWaXNpdG9yCnsKICAgIC8qKiBAdmFyIFxTcGxPYmplY3RTdG9yYWdlIERhdGEgb2JqZWN0IGZvciBwZXJzaXN0aW5nIFhNTCBkYXRhICovCiAgICBwcm90ZWN0ZWQgJGRhdGE7CgogICAgLyoqIEB2YXIgYm9vbCBDb250ZW50LVR5cGUgaGVhZGVyIGFkZGVkIHdoZW4gWE1MIGlzIGZvdW5kICovCiAgICBwcm90ZWN0ZWQgJGNvbnRlbnRUeXBlID0gJ2FwcGxpY2F0aW9uL3htbCc7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgIHsKICAgICAgICAkdGhpcy0+ZGF0YSA9IG5ldyBcU3BsT2JqZWN0U3RvcmFnZSgpOwogICAgfQoKICAgIC8qKgogICAgICogQ2hhbmdlIHRoZSBjb250ZW50LXR5cGUgaGVhZGVyIHRoYXQgaXMgYWRkZWQgd2hlbiBYTUwgaXMgZm91bmQKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRoZWFkZXIgSGVhZGVyIHRvIHNldCB3aGVuIFhNTCBpcyBmb3VuZAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Q29udGVudFR5cGVIZWFkZXIoJGhlYWRlcikKICAgIHsKICAgICAgICAkdGhpcy0+Y29udGVudFR5cGUgPSAkaGVhZGVyOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHZpc2l0KENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQsIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsIFBhcmFtZXRlciAkcGFyYW0sICR2YWx1ZSkKICAgIHsKICAgICAgICAkeG1sID0gaXNzZXQoJHRoaXMtPmRhdGFbJGNvbW1hbmRdKQogICAgICAgICAgICA/ICR0aGlzLT5kYXRhWyRjb21tYW5kXQogICAgICAgICAgICA6ICR0aGlzLT5jcmVhdGVSb290RWxlbWVudCgkcGFyYW0tPmdldFBhcmVudCgpKTsKICAgICAgICAkdGhpcy0+YWRkWG1sKCR4bWwsICRwYXJhbSwgJHZhbHVlKTsKCiAgICAgICAgJHRoaXMtPmRhdGFbJGNvbW1hbmRdID0gJHhtbDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWZ0ZXIoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwgUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdCkKICAgIHsKICAgICAgICAkeG1sID0gbnVsbDsKCiAgICAgICAgLy8gSWYgZGF0YSB3YXMgZm91bmQgdGhhdCBuZWVkcyB0byBiZSBzZXJpYWxpemVkLCB0aGVuIGRvIHNvCiAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5kYXRhWyRjb21tYW5kXSkpIHsKICAgICAgICAgICAgJHhtbCA9ICR0aGlzLT5maW5pc2hEb2N1bWVudCgkdGhpcy0+ZGF0YVskY29tbWFuZF0pOwogICAgICAgICAgICB1bnNldCgkdGhpcy0+ZGF0YVskY29tbWFuZF0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIENoZWNrIGlmIFhNTCBzaG91bGQgYWx3YXlzIGJlIHNlbnQgZm9yIHRoZSBjb21tYW5kCiAgICAgICAgICAgICRvcGVyYXRpb24gPSAkY29tbWFuZC0+Z2V0T3BlcmF0aW9uKCk7CiAgICAgICAgICAgIGlmICgkb3BlcmF0aW9uLT5nZXREYXRhKCd4bWxBbGxvd0VtcHR5JykpIHsKICAgICAgICAgICAgICAgICR4bWxXcml0ZXIgPSAkdGhpcy0+Y3JlYXRlUm9vdEVsZW1lbnQoJG9wZXJhdGlvbik7CiAgICAgICAgICAgICAgICAkeG1sID0gJHRoaXMtPmZpbmlzaERvY3VtZW50KCR4bWxXcml0ZXIpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoJHhtbCkgewogICAgICAgICAgICAvLyBEb24ndCBvdmVyd3JpdGUgdGhlIENvbnRlbnQtVHlwZSBpZiBvbmUgaXMgc2V0CiAgICAgICAgICAgIGlmICgkdGhpcy0+Y29udGVudFR5cGUgJiYgISRyZXF1ZXN0LT5oYXNIZWFkZXIoJ0NvbnRlbnQtVHlwZScpKSB7CiAgICAgICAgICAgICAgICAkcmVxdWVzdC0+c2V0SGVhZGVyKCdDb250ZW50LVR5cGUnLCAkdGhpcy0+Y29udGVudFR5cGUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRCb2R5KCR4bWwpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSB0aGUgcm9vdCBYTUwgZWxlbWVudCB0byB1c2Ugd2l0aCBhIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gT3BlcmF0aW9uICRvcGVyYXRpb24gT3BlcmF0aW9uIG9iamVjdAogICAgICoKICAgICAqIEByZXR1cm4gXFhNTFdyaXRlcgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY3JlYXRlUm9vdEVsZW1lbnQoT3BlcmF0aW9uICRvcGVyYXRpb24pCiAgICB7CiAgICAgICAgc3RhdGljICRkZWZhdWx0Um9vdCA9IGFycmF5KCduYW1lJyA9PiAnUmVxdWVzdCcpOwogICAgICAgIC8vIElmIG5vIHJvb3QgZWxlbWVudCB3YXMgc3BlY2lmaWVkLCB0aGVuIGp1c3Qgd3JhcCB0aGUgWE1MIGluICdSZXF1ZXN0JwogICAgICAgICRyb290ID0gJG9wZXJhdGlvbi0+Z2V0RGF0YSgneG1sUm9vdCcpID86ICRkZWZhdWx0Um9vdDsKICAgICAgICAvLyBBbGxvdyB0aGUgWE1MIGRlY2xhcmF0aW9uIHRvIGJlIGN1c3RvbWl6ZWQgd2l0aCB4bWxFbmNvZGluZwogICAgICAgICRlbmNvZGluZyA9ICRvcGVyYXRpb24tPmdldERhdGEoJ3htbEVuY29kaW5nJyk7CgogICAgICAgICR4bWxXcml0ZXIgPSAkdGhpcy0+c3RhcnREb2N1bWVudCgkZW5jb2RpbmcpOwoKICAgICAgICAkeG1sV3JpdGVyLT5zdGFydEVsZW1lbnQoJHJvb3RbJ25hbWUnXSk7CiAgICAgICAgLy8gQ3JlYXRlIHRoZSB3cmFwcGluZyBlbGVtZW50IHdpdGggbm8gbmFtZXNwYWNlcyBpZiBubyBuYW1lc3BhY2VzIHdlcmUgcHJlc2VudAogICAgICAgIGlmICghZW1wdHkoJHJvb3RbJ25hbWVzcGFjZXMnXSkpIHsKICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSB3cmFwcGluZyBlbGVtZW50IHdpdGggYW4gYXJyYXkgb2Ygb25lIG9yIG1vcmUgbmFtZXNwYWNlcwogICAgICAgICAgICBmb3JlYWNoICgoYXJyYXkpICRyb290WyduYW1lc3BhY2VzJ10gYXMgJHByZWZpeCA9PiAkdXJpKSB7CiAgICAgICAgICAgICAgICAkbnNMYWJlbCA9ICd4bWxucyc7CiAgICAgICAgICAgICAgICBpZiAoIWlzX251bWVyaWMoJHByZWZpeCkpIHsKICAgICAgICAgICAgICAgICAgICAkbnNMYWJlbCAuPSAnOicuJHByZWZpeDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICR4bWxXcml0ZXItPndyaXRlQXR0cmlidXRlKCRuc0xhYmVsLCAkdXJpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJHhtbFdyaXRlcjsKICAgIH0KCiAgICAvKioKICAgICAqIFJlY3Vyc2l2ZWx5IGJ1aWxkIHRoZSBYTUwgYm9keQogICAgICoKICAgICAqIEBwYXJhbSBcWE1MV3JpdGVyICR4bWxXcml0ZXIgWE1MIHRvIG1vZGlmeQogICAgICogQHBhcmFtIFBhcmFtZXRlciAgJHBhcmFtICAgICBBUEkgUGFyYW1ldGVyCiAgICAgKiBAcGFyYW0gbWl4ZWQgICAgICAkdmFsdWUgICAgIFZhbHVlIHRvIGFkZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkWG1sKFxYTUxXcml0ZXIgJHhtbFdyaXRlciwgUGFyYW1ldGVyICRwYXJhbSwgJHZhbHVlKQogICAgewogICAgICAgIGlmICgkdmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgJHZhbHVlID0gJHBhcmFtLT5maWx0ZXIoJHZhbHVlKTsKICAgICAgICAkdHlwZSA9ICRwYXJhbS0+Z2V0VHlwZSgpOwogICAgICAgICRuYW1lID0gJHBhcmFtLT5nZXRXaXJlTmFtZSgpOwogICAgICAgICRwcmVmaXggPSBudWxsOwogICAgICAgICRuYW1lc3BhY2UgPSAkcGFyYW0tPmdldERhdGEoJ3htbE5hbWVzcGFjZScpOwogICAgICAgIGlmIChmYWxzZSAhPT0gc3RycG9zKCRuYW1lLCAnOicpKSB7CiAgICAgICAgICAgIGxpc3QoJHByZWZpeCwgJG5hbWUpID0gZXhwbG9kZSgnOicsICRuYW1lLCAyKTsKICAgICAgICB9CgogICAgICAgIGlmICgkdHlwZSA9PSAnb2JqZWN0JyB8fCAkdHlwZSA9PSAnYXJyYXknKSB7CiAgICAgICAgICAgIGlmICghJHBhcmFtLT5nZXREYXRhKCd4bWxGbGF0dGVuZWQnKSkgewogICAgICAgICAgICAgICAgJHhtbFdyaXRlci0+c3RhcnRFbGVtZW50TlMobnVsbCwgJG5hbWUsICRuYW1lc3BhY2UpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkcGFyYW0tPmdldFR5cGUoKSA9PSAnYXJyYXknKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+YWRkWG1sQXJyYXkoJHhtbFdyaXRlciwgJHBhcmFtLCAkdmFsdWUpOwogICAgICAgICAgICB9IGVsc2VpZiAoJHBhcmFtLT5nZXRUeXBlKCkgPT0gJ29iamVjdCcpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hZGRYbWxPYmplY3QoJHhtbFdyaXRlciwgJHBhcmFtLCAkdmFsdWUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghJHBhcmFtLT5nZXREYXRhKCd4bWxGbGF0dGVuZWQnKSkgewogICAgICAgICAgICAgICAgJHhtbFdyaXRlci0+ZW5kRWxlbWVudCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgaWYgKCRwYXJhbS0+Z2V0RGF0YSgneG1sQXR0cmlidXRlJykpIHsKICAgICAgICAgICAgJHRoaXMtPndyaXRlQXR0cmlidXRlKCR4bWxXcml0ZXIsICRwcmVmaXgsICRuYW1lLCAkbmFtZXNwYWNlLCAkdmFsdWUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT53cml0ZUVsZW1lbnQoJHhtbFdyaXRlciwgJHByZWZpeCwgJG5hbWUsICRuYW1lc3BhY2UsICR2YWx1ZSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogV3JpdGUgYW4gYXR0cmlidXRlIHdpdGggbmFtZXNwYWNlIGlmIHVzZWQKICAgICAqCiAgICAgKiBAcGFyYW0gIFxYTUxXcml0ZXIgJHhtbFdyaXRlciBYTUxXcml0ZXIgaW5zdGFuY2UKICAgICAqIEBwYXJhbSAgc3RyaW5nICAgICAkcHJlZml4ICAgIE5hbWVzcGFjZSBwcmVmaXggaWYgYW55CiAgICAgKiBAcGFyYW0gIHN0cmluZyAgICAgJG5hbWUgICAgICBBdHRyaWJ1dGUgbmFtZQogICAgICogQHBhcmFtICBzdHJpbmcgICAgICRuYW1lc3BhY2UgVGhlIHVyaSBvZiB0aGUgbmFtZXNwYWNlCiAgICAgKiBAcGFyYW0gIHN0cmluZyAgICAgJHZhbHVlICAgICBUaGUgYXR0cmlidXRlIGNvbnRlbnQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHdyaXRlQXR0cmlidXRlKCR4bWxXcml0ZXIsICRwcmVmaXgsICRuYW1lLCAkbmFtZXNwYWNlLCAkdmFsdWUpCiAgICB7CiAgICAgICAgaWYgKGVtcHR5KCRuYW1lc3BhY2UpKSB7CiAgICAgICAgICAgICR4bWxXcml0ZXItPndyaXRlQXR0cmlidXRlKCRuYW1lLCAkdmFsdWUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR4bWxXcml0ZXItPndyaXRlQXR0cmlidXRlTlMoJHByZWZpeCwgJG5hbWUsICRuYW1lc3BhY2UsICR2YWx1ZSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogV3JpdGUgYW4gZWxlbWVudCB3aXRoIG5hbWVzcGFjZSBpZiB1c2VkCiAgICAgKgogICAgICogQHBhcmFtICBcWE1MV3JpdGVyICR4bWxXcml0ZXIgWE1MIHdyaXRlciByZXNvdXJjZQogICAgICogQHBhcmFtICBzdHJpbmcgICAgICRwcmVmaXggICAgTmFtZXNwYWNlIHByZWZpeCBpZiBhbnkKICAgICAqIEBwYXJhbSAgc3RyaW5nICAgICAkbmFtZSAgICAgIEVsZW1lbnQgbmFtZQogICAgICogQHBhcmFtICBzdHJpbmcgICAgICRuYW1lc3BhY2UgVGhlIHVyaSBvZiB0aGUgbmFtZXNwYWNlCiAgICAgKiBAcGFyYW0gIHN0cmluZyAgICAgJHZhbHVlICAgICBUaGUgZWxlbWVudCBjb250ZW50CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiB3cml0ZUVsZW1lbnQoXFhNTFdyaXRlciAkeG1sV3JpdGVyLCAkcHJlZml4LCAkbmFtZSwgJG5hbWVzcGFjZSwgJHZhbHVlKQogICAgewogICAgICAgICR4bWxXcml0ZXItPnN0YXJ0RWxlbWVudE5TKCRwcmVmaXgsICRuYW1lLCAkbmFtZXNwYWNlKTsKICAgICAgICBpZiAoc3RycGJyaygkdmFsdWUsICc8PiYnKSkgewogICAgICAgICAgICAkeG1sV3JpdGVyLT53cml0ZUNEYXRhKCR2YWx1ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHhtbFdyaXRlci0+d3JpdGVSYXcoJHZhbHVlKTsKICAgICAgICB9CiAgICAgICAgJHhtbFdyaXRlci0+ZW5kRWxlbWVudCgpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgbmV3IHhtbCB3cml0ZXIgYW5kIHN0YXJ0IGEgZG9jdW1lbnQKICAgICAqCiAgICAgKiBAcGFyYW0gIHN0cmluZyAkZW5jb2RpbmcgZG9jdW1lbnQgZW5jb2RpbmcKICAgICAqCiAgICAgKiBAcmV0dXJuIFxYTUxXcml0ZXIgdGhlIHdyaXRlciByZXNvdXJjZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc3RhcnREb2N1bWVudCgkZW5jb2RpbmcpCiAgICB7CiAgICAgICAgJHhtbFdyaXRlciA9IG5ldyBcWE1MV3JpdGVyKCk7CiAgICAgICAgJHhtbFdyaXRlci0+b3Blbk1lbW9yeSgpOwogICAgICAgICR4bWxXcml0ZXItPnN0YXJ0RG9jdW1lbnQoJzEuMCcsICRlbmNvZGluZyk7CgogICAgICAgIHJldHVybiAkeG1sV3JpdGVyOwogICAgfQoKICAgIC8qKgogICAgICogRW5kIHRoZSBkb2N1bWVudCBhbmQgcmV0dXJuIHRoZSBvdXRwdXQKICAgICAqCiAgICAgKiBAcGFyYW0gXFhNTFdyaXRlciAkeG1sV3JpdGVyCiAgICAgKgogICAgICogQHJldHVybiBcc3RyaW5nIHRoZSB3cml0ZXIgcmVzb3VyY2UKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGZpbmlzaERvY3VtZW50KCR4bWxXcml0ZXIpCiAgICB7CiAgICAgICAgJHhtbFdyaXRlci0+ZW5kRG9jdW1lbnQoKTsKCiAgICAgICAgcmV0dXJuICR4bWxXcml0ZXItPm91dHB1dE1lbW9yeSgpOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGFuIGFycmF5IHRvIHRoZSBYTUwKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGFkZFhtbEFycmF5KFxYTUxXcml0ZXIgJHhtbFdyaXRlciwgUGFyYW1ldGVyICRwYXJhbSwgJiR2YWx1ZSkKICAgIHsKICAgICAgICBpZiAoJGl0ZW1zID0gJHBhcmFtLT5nZXRJdGVtcygpKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCR2YWx1ZSBhcyAkdikgewogICAgICAgICAgICAgICAgJHRoaXMtPmFkZFhtbCgkeG1sV3JpdGVyLCAkaXRlbXMsICR2KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhbiBvYmplY3QgdG8gdGhlIFhNTAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkWG1sT2JqZWN0KFxYTUxXcml0ZXIgJHhtbFdyaXRlciwgUGFyYW1ldGVyICRwYXJhbSwgJiR2YWx1ZSkKICAgIHsKICAgICAgICAkbm9BdHRyaWJ1dGVzID0gYXJyYXkoKTsKICAgICAgICAvLyBhZGQgdmFsdWVzIHdoaWNoIGhhdmUgYXR0cmlidXRlcwogICAgICAgIGZvcmVhY2ggKCR2YWx1ZSBhcyAkbmFtZSA9PiAkdikgewogICAgICAgICAgICBpZiAoJHByb3BlcnR5ID0gJHBhcmFtLT5nZXRQcm9wZXJ0eSgkbmFtZSkpIHsKICAgICAgICAgICAgICAgIGlmICgkcHJvcGVydHktPmdldERhdGEoJ3htbEF0dHJpYnV0ZScpKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmFkZFhtbCgkeG1sV3JpdGVyLCAkcHJvcGVydHksICR2KTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJG5vQXR0cmlidXRlc1tdID0gYXJyYXkoJ3ZhbHVlJyA9PiAkdiwgJ3Byb3BlcnR5JyA9PiAkcHJvcGVydHkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIG5vdyBhZGQgdmFsdWVzIHdpdGggbm8gYXR0cmlidXRlcwogICAgICAgIGZvcmVhY2ggKCRub0F0dHJpYnV0ZXMgYXMgJGVsZW1lbnQpIHsKICAgICAgICAgICAgJHRoaXMtPmFkZFhtbCgkeG1sV3JpdGVyLCAkZWxlbWVudFsncHJvcGVydHknXSwgJGVsZW1lbnRbJ3ZhbHVlJ10pOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/AbstractResponseVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyOwoKLyoqCiAqIHtAaW5oZXJpdGRvY30KICogQGNvZGVDb3ZlcmFnZUlnbm9yZQogKi8KYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RSZXNwb25zZVZpc2l0b3IgaW1wbGVtZW50cyBSZXNwb25zZVZpc2l0b3JJbnRlcmZhY2UKewogICAgcHVibGljIGZ1bmN0aW9uIGJlZm9yZShDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLCBhcnJheSAmJHJlc3VsdCkge30KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWZ0ZXIoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCkge30KCiAgICBwdWJsaWMgZnVuY3Rpb24gdmlzaXQoCiAgICAgICAgQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwKICAgICAgICBSZXNwb25zZSAkcmVzcG9uc2UsCiAgICAgICAgUGFyYW1ldGVyICRwYXJhbSwKICAgICAgICAmJHZhbHVlLAogICAgICAgICRjb250ZXh0ID0gIG51bGwKICAgICkge30KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/BodyVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyOwoKLyoqCiAqIFZpc2l0b3IgdXNlZCB0byBhZGQgdGhlIGJvZHkgb2YgYSByZXNwb25zZSB0byBhIHBhcnRpY3VsYXIga2V5CiAqLwpjbGFzcyBCb2R5VmlzaXRvciBleHRlbmRzIEFic3RyYWN0UmVzcG9uc2VWaXNpdG9yCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdCgKICAgICAgICBDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLAogICAgICAgIFJlc3BvbnNlICRyZXNwb25zZSwKICAgICAgICBQYXJhbWV0ZXIgJHBhcmFtLAogICAgICAgICYkdmFsdWUsCiAgICAgICAgJGNvbnRleHQgPSAgbnVsbAogICAgKSB7CiAgICAgICAgJHZhbHVlWyRwYXJhbS0+Z2V0TmFtZSgpXSA9ICRwYXJhbS0+ZmlsdGVyKCRyZXNwb25zZS0+Z2V0Qm9keSgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/HeaderVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwoKLyoqCiAqIExvY2F0aW9uIHZpc2l0b3IgdXNlZCB0byBhZGQgYSBwYXJ0aWN1bGFyIGhlYWRlciBvZiBhIHJlc3BvbnNlIHRvIGEga2V5IGluIHRoZSByZXN1bHQKICovCmNsYXNzIEhlYWRlclZpc2l0b3IgZXh0ZW5kcyBBYnN0cmFjdFJlc3BvbnNlVmlzaXRvcgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdmlzaXQoCiAgICAgICAgQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwKICAgICAgICBSZXNwb25zZSAkcmVzcG9uc2UsCiAgICAgICAgUGFyYW1ldGVyICRwYXJhbSwKICAgICAgICAmJHZhbHVlLAogICAgICAgICRjb250ZXh0ID0gIG51bGwKICAgICkgewogICAgICAgIGlmICgkcGFyYW0tPmdldFR5cGUoKSA9PSAnb2JqZWN0JyAmJiAkcGFyYW0tPmdldEFkZGl0aW9uYWxQcm9wZXJ0aWVzKCkgaW5zdGFuY2VvZiBQYXJhbWV0ZXIpIHsKICAgICAgICAgICAgJHRoaXMtPnByb2Nlc3NQcmVmaXhlZEhlYWRlcnMoJHJlc3BvbnNlLCAkcGFyYW0sICR2YWx1ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHZhbHVlWyRwYXJhbS0+Z2V0TmFtZSgpXSA9ICRwYXJhbS0+ZmlsdGVyKChzdHJpbmcpICRyZXNwb25zZS0+Z2V0SGVhZGVyKCRwYXJhbS0+Z2V0V2lyZU5hbWUoKSkpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFByb2Nlc3MgYSBwcmVmaXhlZCBoZWFkZXIgYXJyYXkKICAgICAqCiAgICAgKiBAcGFyYW0gUmVzcG9uc2UgICRyZXNwb25zZSBSZXNwb25zZSB0aGF0IGNvbnRhaW5zIHRoZSBoZWFkZXJzCiAgICAgKiBAcGFyYW0gUGFyYW1ldGVyICRwYXJhbSAgICBQYXJhbWV0ZXIgb2JqZWN0CiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICR2YWx1ZSAgICBWYWx1ZSByZXNwb25zZSBhcnJheSB0byBtb2RpZnkKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHByb2Nlc3NQcmVmaXhlZEhlYWRlcnMoUmVzcG9uc2UgJHJlc3BvbnNlLCBQYXJhbWV0ZXIgJHBhcmFtLCAmJHZhbHVlKQogICAgewogICAgICAgIC8vIEdyYWIgcHJlZml4ZWQgaGVhZGVycyB0aGF0IHNob3VsZCBiZSBwbGFjZWQgaW50byBhbiBhcnJheSB3aXRoIHRoZSBwcmVmaXggc3RyaXBwZWQKICAgICAgICBpZiAoJHByZWZpeCA9ICRwYXJhbS0+Z2V0U2VudEFzKCkpIHsKICAgICAgICAgICAgJGNvbnRhaW5lciA9ICRwYXJhbS0+Z2V0TmFtZSgpOwogICAgICAgICAgICAkbGVuID0gc3RybGVuKCRwcmVmaXgpOwogICAgICAgICAgICAvLyBGaW5kIGFsbCBtYXRjaGluZyBoZWFkZXJzIGFuZCBwbGFjZSB0aGVtIGludG8gdGhlIGNvbnRhaW5pbmcgZWxlbWVudAogICAgICAgICAgICBmb3JlYWNoICgkcmVzcG9uc2UtPmdldEhlYWRlcnMoKS0+dG9BcnJheSgpIGFzICRrZXkgPT4gJGhlYWRlcikgewogICAgICAgICAgICAgICAgaWYgKHN0cmlwb3MoJGtleSwgJHByZWZpeCkgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAvLyBBY2NvdW50IGZvciBtdWx0aS12YWx1ZSBoZWFkZXJzCiAgICAgICAgICAgICAgICAgICAgJHZhbHVlWyRjb250YWluZXJdW3N1YnN0cigka2V5LCAkbGVuKV0gPSBjb3VudCgkaGVhZGVyKSA9PSAxID8gZW5kKCRoZWFkZXIpIDogJGhlYWRlcjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/JsonVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwoKLyoqCiAqIExvY2F0aW9uIHZpc2l0b3IgdXNlZCB0byBtYXJzaGFsIEpTT04gcmVzcG9uc2UgZGF0YSBpbnRvIGEgZm9ybWF0dGVkIGFycmF5LgogKgogKiBBbGxvd3MgdG9wIGxldmVsIEpTT04gcGFyYW1ldGVycyB0byBiZSBpbnNlcnRlZCBpbnRvIHRoZSByZXN1bHQgb2YgYSBjb21tYW5kLiBUaGUgdG9wIGxldmVsIGF0dHJpYnV0ZXMgYXJlIGdyYWJiZWQKICogZnJvbSB0aGUgcmVzcG9uc2UncyBKU09OIGRhdGEgdXNpbmcgdGhlIG5hbWUgdmFsdWUgYnkgZGVmYXVsdC4gRmlsdGVycyBjYW4gYmUgYXBwbGllZCB0byBwYXJhbWV0ZXJzIGFzIHRoZXkgYXJlCiAqIHRyYXZlcnNlZC4gVGhpcyBhbGxvd3MgZGF0YSB0byBiZSBub3JtYWxpemVkIGJlZm9yZSByZXR1cm5pbmcgaXQgdG8gdXNlcnMgKGZvciBleGFtcGxlIGNvbnZlcnRpbmcgdGltZXN0YW1wcyB0bwogKiBEYXRlVGltZSBvYmplY3RzKS4KICovCmNsYXNzIEpzb25WaXNpdG9yIGV4dGVuZHMgQWJzdHJhY3RSZXNwb25zZVZpc2l0b3IKewogICAgcHVibGljIGZ1bmN0aW9uIGJlZm9yZShDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLCBhcnJheSAmJHJlc3VsdCkKICAgIHsKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgcmVzdWx0IG9mIHRoZSBjb21tYW5kIGlzIGFsd2F5cyByb290ZWQgd2l0aCB0aGUgcGFyc2VkIEpTT04gZGF0YQogICAgICAgICRyZXN1bHQgPSAkY29tbWFuZC0+Z2V0UmVzcG9uc2UoKS0+anNvbigpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdCgKICAgICAgICBDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLAogICAgICAgIFJlc3BvbnNlICRyZXNwb25zZSwKICAgICAgICBQYXJhbWV0ZXIgJHBhcmFtLAogICAgICAgICYkdmFsdWUsCiAgICAgICAgJGNvbnRleHQgPSAgbnVsbAogICAgKSB7CiAgICAgICAgJG5hbWUgPSAkcGFyYW0tPmdldE5hbWUoKTsKICAgICAgICAka2V5ID0gJHBhcmFtLT5nZXRXaXJlTmFtZSgpOwogICAgICAgIGlmIChpc3NldCgkdmFsdWVbJGtleV0pKSB7CiAgICAgICAgICAgICR0aGlzLT5yZWN1cnNpdmVQcm9jZXNzKCRwYXJhbSwgJHZhbHVlWyRrZXldKTsKICAgICAgICAgICAgaWYgKCRrZXkgIT0gJG5hbWUpIHsKICAgICAgICAgICAgICAgICR2YWx1ZVskbmFtZV0gPSAkdmFsdWVbJGtleV07CiAgICAgICAgICAgICAgICB1bnNldCgkdmFsdWVbJGtleV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUmVjdXJzaXZlbHkgcHJvY2VzcyBhIHBhcmFtZXRlciB3aGlsZSBhcHBseWluZyBmaWx0ZXJzCiAgICAgKgogICAgICogQHBhcmFtIFBhcmFtZXRlciAkcGFyYW0gQVBJIHBhcmFtZXRlciBiZWluZyB2YWxpZGF0ZWQKICAgICAqIEBwYXJhbSBtaXhlZCAgICAgJHZhbHVlIFZhbHVlIHRvIHZhbGlkYXRlIGFuZCBwcm9jZXNzLiBUaGUgdmFsdWUgbWF5IGNoYW5nZSBkdXJpbmcgdGhpcyBwcm9jZXNzLgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcmVjdXJzaXZlUHJvY2VzcyhQYXJhbWV0ZXIgJHBhcmFtLCAmJHZhbHVlKQogICAgewogICAgICAgIGlmICgkdmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgaWYgKGlzX2FycmF5KCR2YWx1ZSkpIHsKICAgICAgICAgICAgJHR5cGUgPSAkcGFyYW0tPmdldFR5cGUoKTsKICAgICAgICAgICAgaWYgKCR0eXBlID09ICdhcnJheScpIHsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCR2YWx1ZSBhcyAmJGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cmVjdXJzaXZlUHJvY2VzcygkcGFyYW0tPmdldEl0ZW1zKCksICRpdGVtKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlaWYgKCR0eXBlID09ICdvYmplY3QnICYmICFpc3NldCgkdmFsdWVbMF0pKSB7CiAgICAgICAgICAgICAgICAvLyBPbiB0aGUgYWJvdmUgbGluZSwgd2UgZW5zdXJlIHRoYXQgdGhlIGFycmF5IGlzIGFzc29jaWF0aXZlIGFuZCBub3QgbnVtZXJpY2FsbHkgaW5kZXhlZAogICAgICAgICAgICAgICAgJGtub3duUHJvcGVydGllcyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICBpZiAoJHByb3BlcnRpZXMgPSAkcGFyYW0tPmdldFByb3BlcnRpZXMoKSkgewogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRwcm9wZXJ0aWVzIGFzICRwcm9wZXJ0eSkgewogICAgICAgICAgICAgICAgICAgICAgICAkbmFtZSA9ICRwcm9wZXJ0eS0+Z2V0TmFtZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAka2V5ID0gJHByb3BlcnR5LT5nZXRXaXJlTmFtZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAka25vd25Qcm9wZXJ0aWVzWyRuYW1lXSA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkdmFsdWVbJGtleV0pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cmVjdXJzaXZlUHJvY2VzcygkcHJvcGVydHksICR2YWx1ZVska2V5XSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGtleSAhPSAkbmFtZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZVskbmFtZV0gPSAkdmFsdWVbJGtleV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zZXQoJHZhbHVlWyRrZXldKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBSZW1vdmUgYW55IHVua25vd24gYW5kIHBvdGVudGlhbGx5IHVuc2FmZSBwcm9wZXJ0aWVzCiAgICAgICAgICAgICAgICBpZiAoJHBhcmFtLT5nZXRBZGRpdGlvbmFsUHJvcGVydGllcygpID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9IGFycmF5X2ludGVyc2VjdF9rZXkoJHZhbHVlLCAka25vd25Qcm9wZXJ0aWVzKTsKICAgICAgICAgICAgICAgIH0gZWxzZWlmICgoJGFkZGl0aW9uYWwgPSAkcGFyYW0tPmdldEFkZGl0aW9uYWxQcm9wZXJ0aWVzKCkpICE9PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gVmFsaWRhdGUgYW5kIGZpbHRlciBhZGRpdGlvbmFsIHByb3BlcnRpZXMKICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkdmFsdWUgYXMgJiR2KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5yZWN1cnNpdmVQcm9jZXNzKCRhZGRpdGlvbmFsLCAkdik7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkdmFsdWUgPSAkcGFyYW0tPmZpbHRlcigkdmFsdWUpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/ReasonPhraseVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwoKLyoqCiAqIExvY2F0aW9uIHZpc2l0b3IgdXNlZCB0byBhZGQgdGhlIHJlYXNvbiBwaHJhc2Ugb2YgYSByZXNwb25zZSB0byBhIGtleSBpbiB0aGUgcmVzdWx0CiAqLwpjbGFzcyBSZWFzb25QaHJhc2VWaXNpdG9yIGV4dGVuZHMgQWJzdHJhY3RSZXNwb25zZVZpc2l0b3IKewogICAgcHVibGljIGZ1bmN0aW9uIHZpc2l0KAogICAgICAgIENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQsCiAgICAgICAgUmVzcG9uc2UgJHJlc3BvbnNlLAogICAgICAgIFBhcmFtZXRlciAkcGFyYW0sCiAgICAgICAgJiR2YWx1ZSwKICAgICAgICAkY29udGV4dCA9ICBudWxsCiAgICApIHsKICAgICAgICAkdmFsdWVbJHBhcmFtLT5nZXROYW1lKCldID0gJHJlc3BvbnNlLT5nZXRSZWFzb25QaHJhc2UoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/ResponseVisitorInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwoKLyoqCiAqIExvY2F0aW9uIHZpc2l0b3IgdXNlZCB0byBwYXJzZSB2YWx1ZXMgb3V0IG9mIGEgcmVzcG9uc2UgaW50byBhbiBhc3NvY2lhdGl2ZSBhcnJheQogKi8KaW50ZXJmYWNlIFJlc3BvbnNlVmlzaXRvckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIENhbGxlZCBiZWZvcmUgdmlzaXRpbmcgYWxsIHBhcmFtZXRlcnMuIFRoaXMgY2FuIGJlIHVzZWQgZm9yIHNlZWRpbmcgdGhlIHJlc3VsdCBvZiBhIGNvbW1hbmQgd2l0aCBkZWZhdWx0CiAgICAgKiBkYXRhIChlLmcuIHBvcHVsYXRpbmcgd2l0aCBKU09OIGRhdGEgaW4gdGhlIHJlc3BvbnNlIHRoZW4gYWRkaW5nIHRvIHRoZSBwYXJzZWQgZGF0YSkuCiAgICAgKgogICAgICogQHBhcmFtIENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQgQ29tbWFuZCBiZWluZyB2aXNpdGVkCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICAkcmVzdWx0ICBSZXN1bHQgdmFsdWUgdG8gdXBkYXRlIGlmIG5lZWRlZCAoZS5nLiBwYXJzaW5nIFhNTCBvciBKU09OKQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYmVmb3JlKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQsIGFycmF5ICYkcmVzdWx0KTsKCiAgICAvKioKICAgICAqIENhbGxlZCBhZnRlciB2aXNpdGluZyBhbGwgcGFyYW1ldGVycwogICAgICoKICAgICAqIEBwYXJhbSBDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kIENvbW1hbmQgYmVpbmcgdmlzaXRlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWZ0ZXIoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCk7CgogICAgLyoqCiAgICAgKiBDYWxsZWQgb25jZSBmb3IgZWFjaCBwYXJhbWV0ZXIgYmVpbmcgdmlzaXRlZCB0aGF0IG1hdGNoZXMgdGhlIGxvY2F0aW9uIHR5cGUKICAgICAqCiAgICAgKiBAcGFyYW0gQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCAgQ29tbWFuZCBiZWluZyB2aXNpdGVkCiAgICAgKiBAcGFyYW0gUmVzcG9uc2UgICAgICAgICAkcmVzcG9uc2UgUmVzcG9uc2UgYmVpbmcgdmlzaXRlZAogICAgICogQHBhcmFtIFBhcmFtZXRlciAgICAgICAgJHBhcmFtICAgIFBhcmFtZXRlciBiZWluZyB2aXNpdGVkCiAgICAgKiBAcGFyYW0gbWl4ZWQgICAgICAgICAgICAkdmFsdWUgICAgUmVzdWx0IGFzc29jaWF0aXZlIGFycmF5IHZhbHVlIGJlaW5nIHVwZGF0ZWQgYnkgcmVmZXJlbmNlCiAgICAgKiBAcGFyYW0gbWl4ZWQgICAgICAgICAgICAkY29udGV4dCAgUGFyc2luZyBjb250ZXh0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdCgKICAgICAgICBDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLAogICAgICAgIFJlc3BvbnNlICRyZXNwb25zZSwKICAgICAgICBQYXJhbWV0ZXIgJHBhcmFtLAogICAgICAgICYkdmFsdWUsCiAgICAgICAgJGNvbnRleHQgPSAgbnVsbAogICAgKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/StatusCodeVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwoKLyoqCiAqIExvY2F0aW9uIHZpc2l0b3IgdXNlZCB0byBhZGQgdGhlIHN0YXR1cyBjb2RlIG9mIGEgcmVzcG9uc2UgdG8gYSBrZXkgaW4gdGhlIHJlc3VsdAogKi8KY2xhc3MgU3RhdHVzQ29kZVZpc2l0b3IgZXh0ZW5kcyBBYnN0cmFjdFJlc3BvbnNlVmlzaXRvcgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdmlzaXQoCiAgICAgICAgQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwKICAgICAgICBSZXNwb25zZSAkcmVzcG9uc2UsCiAgICAgICAgUGFyYW1ldGVyICRwYXJhbSwKICAgICAgICAmJHZhbHVlLAogICAgICAgICRjb250ZXh0ID0gIG51bGwKICAgICkgewogICAgICAgICR2YWx1ZVskcGFyYW0tPmdldE5hbWUoKV0gPSAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/XmlVisitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDb21tYW5kSW50ZXJmYWNlOwoKLyoqCiAqIExvY2F0aW9uIHZpc2l0b3IgdXNlZCB0byBtYXJzaGFsIFhNTCByZXNwb25zZSBkYXRhIGludG8gYSBmb3JtYXR0ZWQgYXJyYXkKICovCmNsYXNzIFhtbFZpc2l0b3IgZXh0ZW5kcyBBYnN0cmFjdFJlc3BvbnNlVmlzaXRvcgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gYmVmb3JlKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQsIGFycmF5ICYkcmVzdWx0KQogICAgewogICAgICAgIC8vIFNldCB0aGUgcmVzdWx0IG9mIHRoZSBjb21tYW5kIHRvIHRoZSBhcnJheSBjb252ZXJzaW9uIG9mIHRoZSBYTUwgYm9keQogICAgICAgICRyZXN1bHQgPSBqc29uX2RlY29kZShqc29uX2VuY29kZSgkY29tbWFuZC0+Z2V0UmVzcG9uc2UoKS0+eG1sKCkpLCB0cnVlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdmlzaXQoCiAgICAgICAgQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwKICAgICAgICBSZXNwb25zZSAkcmVzcG9uc2UsCiAgICAgICAgUGFyYW1ldGVyICRwYXJhbSwKICAgICAgICAmJHZhbHVlLAogICAgICAgICRjb250ZXh0ID0gIG51bGwKICAgICkgewogICAgICAgICRzZW50QXMgPSAkcGFyYW0tPmdldFdpcmVOYW1lKCk7CiAgICAgICAgJG5hbWUgPSAkcGFyYW0tPmdldE5hbWUoKTsKICAgICAgICBpZiAoaXNzZXQoJHZhbHVlWyRzZW50QXNdKSkgewogICAgICAgICAgICAkdGhpcy0+cmVjdXJzaXZlUHJvY2VzcygkcGFyYW0sICR2YWx1ZVskc2VudEFzXSk7CiAgICAgICAgICAgIGlmICgkbmFtZSAhPSAkc2VudEFzKSB7CiAgICAgICAgICAgICAgICAkdmFsdWVbJG5hbWVdID0gJHZhbHVlWyRzZW50QXNdOwogICAgICAgICAgICAgICAgdW5zZXQoJHZhbHVlWyRzZW50QXNdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJlY3Vyc2l2ZWx5IHByb2Nlc3MgYSBwYXJhbWV0ZXIgd2hpbGUgYXBwbHlpbmcgZmlsdGVycwogICAgICoKICAgICAqIEBwYXJhbSBQYXJhbWV0ZXIgJHBhcmFtIEFQSSBwYXJhbWV0ZXIgYmVpbmcgcHJvY2Vzc2VkCiAgICAgKiBAcGFyYW0gbWl4ZWQgICAgICR2YWx1ZSBWYWx1ZSB0byB2YWxpZGF0ZSBhbmQgcHJvY2Vzcy4gVGhlIHZhbHVlIG1heSBjaGFuZ2UgZHVyaW5nIHRoaXMgcHJvY2Vzcy4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlY3Vyc2l2ZVByb2Nlc3MoUGFyYW1ldGVyICRwYXJhbSwgJiR2YWx1ZSkKICAgIHsKICAgICAgICAkdHlwZSA9ICRwYXJhbS0+Z2V0VHlwZSgpOwoKICAgICAgICBpZiAoIWlzX2FycmF5KCR2YWx1ZSkpIHsKICAgICAgICAgICAgaWYgKCR0eXBlID09ICdhcnJheScpIHsKICAgICAgICAgICAgICAgIC8vIENhc3QgdG8gYW4gYXJyYXkgaWYgdGhlIHZhbHVlIHdhcyBhIHN0cmluZywgYnV0IHNob3VsZCBiZSBhbiBhcnJheQogICAgICAgICAgICAgICAgJHRoaXMtPnJlY3Vyc2l2ZVByb2Nlc3MoJHBhcmFtLT5nZXRJdGVtcygpLCAkdmFsdWUpOwogICAgICAgICAgICAgICAgJHZhbHVlID0gYXJyYXkoJHZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZWlmICgkdHlwZSA9PSAnb2JqZWN0JykgewogICAgICAgICAgICAkdGhpcy0+cHJvY2Vzc09iamVjdCgkcGFyYW0sICR2YWx1ZSk7CiAgICAgICAgfSBlbHNlaWYgKCR0eXBlID09ICdhcnJheScpIHsKICAgICAgICAgICAgJHRoaXMtPnByb2Nlc3NBcnJheSgkcGFyYW0sICR2YWx1ZSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHZhbHVlICE9PSBudWxsKSB7CiAgICAgICAgICAgICR2YWx1ZSA9ICRwYXJhbS0+ZmlsdGVyKCR2YWx1ZSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUHJvY2VzcyBhbiBhcnJheQogICAgICoKICAgICAqIEBwYXJhbSBQYXJhbWV0ZXIgJHBhcmFtIEFQSSBwYXJhbWV0ZXIgYmVpbmcgcGFyc2VkCiAgICAgKiBAcGFyYW0gbWl4ZWQgICAgICR2YWx1ZSBWYWx1ZSB0byBwcm9jZXNzCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBwcm9jZXNzQXJyYXkoUGFyYW1ldGVyICRwYXJhbSwgJiR2YWx1ZSkKICAgIHsKICAgICAgICAvLyBDb252ZXJ0IHRoZSBub2RlIGlmIGl0IHdhcyBtZWFudCB0byBiZSBhbiBhcnJheQogICAgICAgIGlmICghaXNzZXQoJHZhbHVlWzBdKSkgewogICAgICAgICAgICAvLyBDb2xsZWN0aW9ucyBmbyBub2RlcyBhcmUgc29tZXRpbWVzIHdyYXBwZWQgaW4gYW4gYWRkaXRpb25hbCBhcnJheS4gRm9yIGV4YW1wbGU6CiAgICAgICAgICAgIC8vIDxJdGVtcz48SXRlbT48YT4xPC9hPjwvSXRlbT48SXRlbT48YT4yPC9hPjwvSXRlbT48L0l0ZW1zPiBzaG91bGQgYmVjb21lOgogICAgICAgICAgICAvLyBhcnJheSgnSXRlbXMnID0+IGFycmF5KGFycmF5KCdhJyA9PiAxKSwgYXJyYXkoJ2EnID0+IDIpKQogICAgICAgICAgICAvLyBTb21lIG5vZGVzIGFyZSBub3Qgd3JhcHBlZC4gRm9yIGV4YW1wbGU6IDxGb28+PGE+MTwvYT48L0Zvbz48Rm9vPjxhPjI8L2E+PC9Gb28+CiAgICAgICAgICAgIC8vIHNob3VsZCBiZWNvbWUgYXJyYXkoJ0ZvbycgPT4gYXJyYXkoYXJyYXkoJ2EnID0+IDEpLCBhcnJheSgnYScgPT4gMikpCiAgICAgICAgICAgIGlmICgkcGFyYW0tPmdldEl0ZW1zKCkgJiYgaXNzZXQoJHZhbHVlWyRwYXJhbS0+Z2V0SXRlbXMoKS0+Z2V0V2lyZU5hbWUoKV0pKSB7CiAgICAgICAgICAgICAgICAvLyBBY2NvdW50IGZvciB0aGUgY2FzZSBvZiBhIGNvbGxlY3Rpb24gd3JhcHBpbmcgd3JhcHBlZCBub2RlczogSXRlbXMgPT4gSXRlbVtdCiAgICAgICAgICAgICAgICAkdmFsdWUgPSAkdmFsdWVbJHBhcmFtLT5nZXRJdGVtcygpLT5nZXRXaXJlTmFtZSgpXTsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB3cmFwcGVkIG5vZGUgb25seSBoYWQgb25lIHZhbHVlLCB0aGVuIG1ha2UgaXQgYW4gYXJyYXkgb2Ygbm9kZXMKICAgICAgICAgICAgICAgIGlmICghaXNzZXQoJHZhbHVlWzBdKSB8fCAhaXNfYXJyYXkoJHZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9IGFycmF5KCR2YWx1ZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZWlmICghZW1wdHkoJHZhbHVlKSkgewogICAgICAgICAgICAgICAgLy8gQWNjb3VudCBmb3IgcmVwZWF0ZWQgbm9kZXMgdGhhdCBtdXN0IGJlIGFuIGFycmF5OiBGb28gPT4gQmF6LCBGb28gPT4gQmF6LCBidXQgb25seSBpZiB0aGUKICAgICAgICAgICAgICAgIC8vIHZhbHVlIGlzIHNldCBhbmQgbm90IGVtcHR5CiAgICAgICAgICAgICAgICAkdmFsdWUgPSBhcnJheSgkdmFsdWUpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmb3JlYWNoICgkdmFsdWUgYXMgJiRpdGVtKSB7CiAgICAgICAgICAgICR0aGlzLT5yZWN1cnNpdmVQcm9jZXNzKCRwYXJhbS0+Z2V0SXRlbXMoKSwgJGl0ZW0pOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFByb2Nlc3MgYW4gb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIFBhcmFtZXRlciAkcGFyYW0gQVBJIHBhcmFtZXRlciBiZWluZyBwYXJzZWQKICAgICAqIEBwYXJhbSBtaXhlZCAgICAgJHZhbHVlIFZhbHVlIHRvIHByb2Nlc3MKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHByb2Nlc3NPYmplY3QoUGFyYW1ldGVyICRwYXJhbSwgJiR2YWx1ZSkKICAgIHsKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgYXJyYXkgaXMgYXNzb2NpYXRpdmUgYW5kIG5vdCBudW1lcmljYWxseSBpbmRleGVkCiAgICAgICAgaWYgKCFpc3NldCgkdmFsdWVbMF0pICYmICgkcHJvcGVydGllcyA9ICRwYXJhbS0+Z2V0UHJvcGVydGllcygpKSkgewogICAgICAgICAgICAka25vd25Qcm9wZXJ0aWVzID0gYXJyYXkoKTsKICAgICAgICAgICAgZm9yZWFjaCAoJHByb3BlcnRpZXMgYXMgJHByb3BlcnR5KSB7CiAgICAgICAgICAgICAgICAkbmFtZSA9ICRwcm9wZXJ0eS0+Z2V0TmFtZSgpOwogICAgICAgICAgICAgICAgJHNlbnRBcyA9ICRwcm9wZXJ0eS0+Z2V0V2lyZU5hbWUoKTsKICAgICAgICAgICAgICAgICRrbm93blByb3BlcnRpZXNbJG5hbWVdID0gMTsKICAgICAgICAgICAgICAgIGlmICgkcHJvcGVydHktPmdldERhdGEoJ3htbEF0dHJpYnV0ZScpKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnByb2Nlc3NYbWxBdHRyaWJ1dGUoJHByb3BlcnR5LCAkdmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlaWYgKGlzc2V0KCR2YWx1ZVskc2VudEFzXSkpIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cmVjdXJzaXZlUHJvY2VzcygkcHJvcGVydHksICR2YWx1ZVskc2VudEFzXSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRuYW1lICE9ICRzZW50QXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlWyRuYW1lXSA9ICR2YWx1ZVskc2VudEFzXTsKICAgICAgICAgICAgICAgICAgICAgICAgdW5zZXQoJHZhbHVlWyRzZW50QXNdKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFJlbW92ZSBhbnkgdW5rbm93biBhbmQgcG90ZW50aWFsbHkgdW5zYWZlIHByb3BlcnRpZXMKICAgICAgICAgICAgaWYgKCRwYXJhbS0+Z2V0QWRkaXRpb25hbFByb3BlcnRpZXMoKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICR2YWx1ZSA9IGFycmF5X2ludGVyc2VjdF9rZXkoJHZhbHVlLCAka25vd25Qcm9wZXJ0aWVzKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFByb2Nlc3MgYW4gWE1MIGF0dHJpYnV0ZSBwcm9wZXJ0eQogICAgICoKICAgICAqIEBwYXJhbSBQYXJhbWV0ZXIgJHByb3BlcnR5IFByb3BlcnR5IHRvIHByb2Nlc3MKICAgICAqIEBwYXJhbSBhcnJheSAgICAgJHZhbHVlICAgIFZhbHVlIHRvIHByb2Nlc3MgYW5kIHVwZGF0ZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJvY2Vzc1htbEF0dHJpYnV0ZShQYXJhbWV0ZXIgJHByb3BlcnR5LCBhcnJheSAmJHZhbHVlKQogICAgewogICAgICAgICRzZW50QXMgPSAkcHJvcGVydHktPmdldFdpcmVOYW1lKCk7CiAgICAgICAgaWYgKGlzc2V0KCR2YWx1ZVsnQGF0dHJpYnV0ZXMnXVskc2VudEFzXSkpIHsKICAgICAgICAgICAgJHZhbHVlWyRwcm9wZXJ0eS0+Z2V0TmFtZSgpXSA9ICR2YWx1ZVsnQGF0dHJpYnV0ZXMnXVskc2VudEFzXTsKICAgICAgICAgICAgdW5zZXQoJHZhbHVlWydAYXR0cmlidXRlcyddWyRzZW50QXNdKTsKICAgICAgICAgICAgaWYgKGVtcHR5KCR2YWx1ZVsnQGF0dHJpYnV0ZXMnXSkpIHsKICAgICAgICAgICAgICAgIHVuc2V0KCR2YWx1ZVsnQGF0dHJpYnV0ZXMnXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/VisitorFlyweight.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvcjsKCnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0XFJlcXVlc3RWaXNpdG9ySW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcUmVzcG9uc2VWaXNpdG9ySW50ZXJmYWNlOwoKLyoqCiAqIEZseXdlaWdodCBmYWN0b3J5IHVzZWQgdG8gaW5zdGFudGlhdGUgcmVxdWVzdCBhbmQgcmVzcG9uc2UgdmlzaXRvcnMKICovCmNsYXNzIFZpc2l0b3JGbHl3ZWlnaHQKewogICAgLyoqIEB2YXIgc2VsZiBTaW5nbGV0b24gaW5zdGFuY2Ugb2Ygc2VsZiAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkaW5zdGFuY2U7CgogICAgLyoqIEB2YXIgYXJyYXkgRGVmYXVsdCBhcnJheSBvZiBtYXBwaW5ncyBvZiBsb2NhdGlvbiBuYW1lcyB0byBjbGFzc2VzICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRkZWZhdWx0TWFwcGluZ3MgPSBhcnJheSgKICAgICAgICAncmVxdWVzdC5ib2R5JyAgICAgICAgICA9PiAnR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVxdWVzdFxCb2R5VmlzaXRvcicsCiAgICAgICAgJ3JlcXVlc3QuaGVhZGVyJyAgICAgICAgPT4gJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlcXVlc3RcSGVhZGVyVmlzaXRvcicsCiAgICAgICAgJ3JlcXVlc3QuanNvbicgICAgICAgICAgPT4gJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlcXVlc3RcSnNvblZpc2l0b3InLAogICAgICAgICdyZXF1ZXN0LnBvc3RGaWVsZCcgICAgID0+ICdHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0XFBvc3RGaWVsZFZpc2l0b3InLAogICAgICAgICdyZXF1ZXN0LnBvc3RGaWxlJyAgICAgID0+ICdHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0XFBvc3RGaWxlVmlzaXRvcicsCiAgICAgICAgJ3JlcXVlc3QucXVlcnknICAgICAgICAgPT4gJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlcXVlc3RcUXVlcnlWaXNpdG9yJywKICAgICAgICAncmVxdWVzdC5yZXNwb25zZV9ib2R5JyA9PiAnR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVxdWVzdFxSZXNwb25zZUJvZHlWaXNpdG9yJywKICAgICAgICAncmVxdWVzdC5yZXNwb25zZUJvZHknICA9PiAnR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVxdWVzdFxSZXNwb25zZUJvZHlWaXNpdG9yJywKICAgICAgICAncmVxdWVzdC54bWwnICAgICAgICAgICA9PiAnR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVxdWVzdFxYbWxWaXNpdG9yJywKICAgICAgICAncmVzcG9uc2UuYm9keScgICAgICAgICA9PiAnR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcQm9keVZpc2l0b3InLAogICAgICAgICdyZXNwb25zZS5oZWFkZXInICAgICAgID0+ICdHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZVxIZWFkZXJWaXNpdG9yJywKICAgICAgICAncmVzcG9uc2UuanNvbicgICAgICAgICA9PiAnR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcSnNvblZpc2l0b3InLAogICAgICAgICdyZXNwb25zZS5yZWFzb25QaHJhc2UnID0+ICdHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZVxSZWFzb25QaHJhc2VWaXNpdG9yJywKICAgICAgICAncmVzcG9uc2Uuc3RhdHVzQ29kZScgICA9PiAnR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcU3RhdHVzQ29kZVZpc2l0b3InLAogICAgICAgICdyZXNwb25zZS54bWwnICAgICAgICAgID0+ICdHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZVxYbWxWaXNpdG9yJwogICAgKTsKCiAgICAvKiogQHZhciBhcnJheSBBcnJheSBvZiBtYXBwaW5ncyBvZiBsb2NhdGlvbiBuYW1lcyB0byBjbGFzc2VzICovCiAgICBwcm90ZWN0ZWQgJG1hcHBpbmdzOwoKICAgIC8qKiBAdmFyIGFycmF5IENhY2hlIG9mIGluc3RhbnRpYXRlZCB2aXNpdG9ycyAqLwogICAgcHJvdGVjdGVkICRjYWNoZSA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRJbnN0YW5jZSgpCiAgICB7CiAgICAgICAgaWYgKCFzZWxmOjokaW5zdGFuY2UpIHsKICAgICAgICAgICAgc2VsZjo6JGluc3RhbmNlID0gbmV3IHNlbGYoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBzZWxmOjokaW5zdGFuY2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0gYXJyYXkgJG1hcHBpbmdzIEFycmF5IG1hcHBpbmcgcmVxdWVzdC5uYW1lIGFuZCByZXNwb25zZS5uYW1lIHRvIGxvY2F0aW9uIHZpc2l0b3IgY2xhc3Nlcy4gTGVhdmUgbnVsbCB0bwogICAgICogICAgICAgICAgICAgICAgICAgICAgICB1c2UgdGhlIGRlZmF1bHQgdmFsdWVzLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJG1hcHBpbmdzID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+bWFwcGluZ3MgPSAkbWFwcGluZ3MgPT09IG51bGwgPyBzZWxmOjokZGVmYXVsdE1hcHBpbmdzIDogJG1hcHBpbmdzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGluc3RhbmNlIG9mIGEgcmVxdWVzdCB2aXNpdG9yIGJ5IGxvY2F0aW9uIG5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR2aXNpdG9yIFZpc2l0b3IgbmFtZQogICAgICoKICAgICAqIEByZXR1cm4gUmVxdWVzdFZpc2l0b3JJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlcXVlc3RWaXNpdG9yKCR2aXNpdG9yKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0S2V5KCdyZXF1ZXN0LicgLiAkdmlzaXRvcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYW4gaW5zdGFuY2Ugb2YgYSByZXNwb25zZSB2aXNpdG9yIGJ5IGxvY2F0aW9uIG5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR2aXNpdG9yIFZpc2l0b3IgbmFtZQogICAgICoKICAgICAqIEByZXR1cm4gUmVzcG9uc2VWaXNpdG9ySW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXNwb25zZVZpc2l0b3IoJHZpc2l0b3IpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRLZXkoJ3Jlc3BvbnNlLicgLiAkdmlzaXRvcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYSByZXNwb25zZSB2aXNpdG9yIHRvIHRoZSBmYWN0b3J5IGJ5IG5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgICAgJG5hbWUgICAgTmFtZSBvZiB0aGUgdmlzaXRvcgogICAgICogQHBhcmFtIFJlcXVlc3RWaXNpdG9ySW50ZXJmYWNlICR2aXNpdG9yIFZpc2l0b3IgdG8gYWRkCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRSZXF1ZXN0VmlzaXRvcigkbmFtZSwgUmVxdWVzdFZpc2l0b3JJbnRlcmZhY2UgJHZpc2l0b3IpCiAgICB7CiAgICAgICAgJHRoaXMtPmNhY2hlWydyZXF1ZXN0LicgLiAkbmFtZV0gPSAkdmlzaXRvcjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgcmVzcG9uc2UgdmlzaXRvciB0byB0aGUgZmFjdG9yeSBieSBuYW1lCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAgICAkbmFtZSAgICBOYW1lIG9mIHRoZSB2aXNpdG9yCiAgICAgKiBAcGFyYW0gUmVzcG9uc2VWaXNpdG9ySW50ZXJmYWNlICR2aXNpdG9yIFZpc2l0b3IgdG8gYWRkCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRSZXNwb25zZVZpc2l0b3IoJG5hbWUsIFJlc3BvbnNlVmlzaXRvckludGVyZmFjZSAkdmlzaXRvcikKICAgIHsKICAgICAgICAkdGhpcy0+Y2FjaGVbJ3Jlc3BvbnNlLicgLiAkbmFtZV0gPSAkdmlzaXRvcjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGEgdmlzaXRvciBieSBrZXkgdmFsdWUgbmFtZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSBLZXkgbmFtZSB0byByZXRyaWV2ZQogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0S2V5KCRrZXkpCiAgICB7CiAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+Y2FjaGVbJGtleV0pKSB7CiAgICAgICAgICAgIGlmICghaXNzZXQoJHRoaXMtPm1hcHBpbmdzWyRrZXldKSkgewogICAgICAgICAgICAgICAgbGlzdCgkdHlwZSwgJG5hbWUpID0gZXhwbG9kZSgnLicsICRrZXkpOwogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigiTm8geyR0eXBlfSB2aXNpdG9yIGhhcyBiZWVuIG1hcHBlZCBmb3IgeyRuYW1lfSIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR0aGlzLT5jYWNoZVska2V5XSA9IG5ldyAkdGhpcy0+bWFwcGluZ3NbJGtleV07CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPmNhY2hlWyRrZXldOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/OperationCommand.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kOwoKLyoqCiAqIEEgY29tbWFuZCB0aGF0IGNyZWF0ZXMgcmVxdWVzdHMgYmFzZWQgb24ge0BzZWUgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cT3BlcmF0aW9uSW50ZXJmYWNlfSBvYmplY3RzLCBhbmQgaWYgdGhlCiAqIG1hdGNoaW5nIG9wZXJhdGlvbiB1c2VzIGEgc2VydmljZSBkZXNjcmlwdGlvbiBtb2RlbCBpbiB0aGUgcmVzcG9uc2VDbGFzcyBhdHRyaWJ1dGUsIHRoZW4gdGhpcyBjb21tYW5kIHdpbGwgbWFyc2hhbAogKiB0aGUgcmVzcG9uc2UgaW50byBhbiBhc3NvY2lhdGl2ZSBhcnJheSBiYXNlZCBvbiB0aGUgSlNPTiBzY2hlbWEgb2YgdGhlIG1vZGVsLgogKi8KY2xhc3MgT3BlcmF0aW9uQ29tbWFuZCBleHRlbmRzIEFic3RyYWN0Q29tbWFuZAp7CiAgICAvKiogQHZhciBSZXF1ZXN0U2VyaWFsaXplckludGVyZmFjZSAqLwogICAgcHJvdGVjdGVkICRyZXF1ZXN0U2VyaWFsaXplcjsKCiAgICAvKiogQHZhciBSZXNwb25zZVBhcnNlckludGVyZmFjZSBSZXNwb25zZSBwYXJzZXIgKi8KICAgIHByb3RlY3RlZCAkcmVzcG9uc2VQYXJzZXI7CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHJlc3BvbnNlIHBhcnNlciB1c2VkIHdpdGggdGhlIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcGFyYW0gUmVzcG9uc2VQYXJzZXJJbnRlcmZhY2UgJHBhcnNlciBSZXNwb25zZSBwYXJzZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFJlc3BvbnNlUGFyc2VyKFJlc3BvbnNlUGFyc2VySW50ZXJmYWNlICRwYXJzZXIpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlc3BvbnNlUGFyc2VyID0gJHBhcnNlcjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSByZXF1ZXN0IHNlcmlhbGl6ZXIgdXNlZCB3aXRoIHRoZSBjb21tYW5kCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RTZXJpYWxpemVySW50ZXJmYWNlICRzZXJpYWxpemVyIFJlcXVlc3Qgc2VyaWFsaXplcgogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UmVxdWVzdFNlcmlhbGl6ZXIoUmVxdWVzdFNlcmlhbGl6ZXJJbnRlcmZhY2UgJHNlcmlhbGl6ZXIpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlcXVlc3RTZXJpYWxpemVyID0gJHNlcmlhbGl6ZXI7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcmVxdWVzdCBzZXJpYWxpemVyIHVzZWQgd2l0aCB0aGUgY29tbWFuZAogICAgICoKICAgICAqIEByZXR1cm4gUmVxdWVzdFNlcmlhbGl6ZXJJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlcXVlc3RTZXJpYWxpemVyKCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5yZXF1ZXN0U2VyaWFsaXplcikgewogICAgICAgICAgICAvLyBVc2UgdGhlIGRlZmF1bHQgcmVxdWVzdCBzZXJpYWxpemVyIGlmIG5vbmUgd2FzIGZvdW5kCiAgICAgICAgICAgICR0aGlzLT5yZXF1ZXN0U2VyaWFsaXplciA9IERlZmF1bHRSZXF1ZXN0U2VyaWFsaXplcjo6Z2V0SW5zdGFuY2UoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+cmVxdWVzdFNlcmlhbGl6ZXI7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHJlc3BvbnNlIHBhcnNlciB1c2VkIGZvciB0aGUgb3BlcmF0aW9uCiAgICAgKgogICAgICogQHJldHVybiBSZXNwb25zZVBhcnNlckludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzcG9uc2VQYXJzZXIoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPnJlc3BvbnNlUGFyc2VyKSB7CiAgICAgICAgICAgIC8vIFVzZSB0aGUgZGVmYXVsdCByZXNwb25zZSBwYXJzZXIgaWYgbm9uZSB3YXMgZm91bmQKICAgICAgICAgICAgJHRoaXMtPnJlc3BvbnNlUGFyc2VyID0gT3BlcmF0aW9uUmVzcG9uc2VQYXJzZXI6OmdldEluc3RhbmNlKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPnJlc3BvbnNlUGFyc2VyOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBidWlsZCgpCiAgICB7CiAgICAgICAgLy8gUHJlcGFyZSBhbmQgc2VyaWFsaXplIHRoZSByZXF1ZXN0CiAgICAgICAgJHRoaXMtPnJlcXVlc3QgPSAkdGhpcy0+Z2V0UmVxdWVzdFNlcmlhbGl6ZXIoKS0+cHJlcGFyZSgkdGhpcyk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHByb2Nlc3MoKQogICAgewogICAgICAgIC8vIERvIG5vdCBwcm9jZXNzIHRoZSByZXNwb25zZSBpZiAnY29tbWFuZC5yZXNwb25zZV9wcm9jZXNzaW5nJyBpcyBzZXQgdG8gJ3JhdycKICAgICAgICAkdGhpcy0+cmVzdWx0ID0gJHRoaXNbc2VsZjo6UkVTUE9OU0VfUFJPQ0VTU0lOR10gPT0gc2VsZjo6VFlQRV9SQVcKICAgICAgICAgICAgPyAkdGhpcy0+cmVxdWVzdC0+Z2V0UmVzcG9uc2UoKQogICAgICAgICAgICA6ICR0aGlzLT5nZXRSZXNwb25zZVBhcnNlcigpLT5wYXJzZSgkdGhpcyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/OperationResponseParser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxWaXNpdG9yRmx5d2VpZ2h0Owp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcUmVzcG9uc2VWaXNpdG9ySW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cT3BlcmF0aW9uSW50ZXJmYWNlOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cT3BlcmF0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcRXhjZXB0aW9uXFJlc3BvbnNlQ2xhc3NFeGNlcHRpb247CnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKCi8qKgogKiBSZXNwb25zZSBwYXJzZXIgdGhhdCBhdHRlbXB0cyB0byBtYXJzaGFsIHJlc3BvbnNlcyBpbnRvIGFuIGFzc29jaWF0aXZlIGFycmF5IGJhc2VkIG9uIG1vZGVscyBpbiBhIHNlcnZpY2UgZGVzY3JpcHRpb24KICovCmNsYXNzIE9wZXJhdGlvblJlc3BvbnNlUGFyc2VyIGV4dGVuZHMgRGVmYXVsdFJlc3BvbnNlUGFyc2VyCnsKICAgIC8qKiBAdmFyIFZpc2l0b3JGbHl3ZWlnaHQgJGZhY3RvcnkgVmlzaXRvciBmYWN0b3J5ICovCiAgICBwcm90ZWN0ZWQgJGZhY3Rvcnk7CgogICAgLyoqIEB2YXIgc2VsZiAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkaW5zdGFuY2U7CgogICAgLyoqIEB2YXIgYm9vbCAqLwogICAgcHJpdmF0ZSAkc2NoZW1hSW5Nb2RlbHM7CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRJbnN0YW5jZSgpCiAgICB7CiAgICAgICAgaWYgKCFzdGF0aWM6OiRpbnN0YW5jZSkgewogICAgICAgICAgICBzdGF0aWM6OiRpbnN0YW5jZSA9IG5ldyBzdGF0aWMoVmlzaXRvckZseXdlaWdodDo6Z2V0SW5zdGFuY2UoKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gc3RhdGljOjokaW5zdGFuY2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0gVmlzaXRvckZseXdlaWdodCAkZmFjdG9yeSAgICAgICAgRmFjdG9yeSB0byB1c2Ugd2hlbiBjcmVhdGluZyB2aXNpdG9ycwogICAgICogQHBhcmFtIGJvb2wgICAgICAgICAgICAgJHNjaGVtYUluTW9kZWxzIFNldCB0byB0cnVlIHRvIGluamVjdCBzY2hlbWFzIGludG8gbW9kZWxzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChWaXNpdG9yRmx5d2VpZ2h0ICRmYWN0b3J5LCAkc2NoZW1hSW5Nb2RlbHMgPSBmYWxzZSkKICAgIHsKICAgICAgICAkdGhpcy0+ZmFjdG9yeSA9ICRmYWN0b3J5OwogICAgICAgICR0aGlzLT5zY2hlbWFJbk1vZGVscyA9ICRzY2hlbWFJbk1vZGVsczsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIGxvY2F0aW9uIHZpc2l0b3IgdG8gdGhlIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgICAgICRsb2NhdGlvbiBMb2NhdGlvbiB0byBhc3NvY2lhdGUgd2l0aCB0aGUgdmlzaXRvcgogICAgICogQHBhcmFtIFJlc3BvbnNlVmlzaXRvckludGVyZmFjZSAkdmlzaXRvciAgVmlzaXRvciB0byBhdHRhY2gKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZFZpc2l0b3IoJGxvY2F0aW9uLCBSZXNwb25zZVZpc2l0b3JJbnRlcmZhY2UgJHZpc2l0b3IpCiAgICB7CiAgICAgICAgJHRoaXMtPmZhY3RvcnktPmFkZFJlc3BvbnNlVmlzaXRvcigkbG9jYXRpb24sICR2aXNpdG9yKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBoYW5kbGVQYXJzaW5nKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQsIFJlc3BvbnNlICRyZXNwb25zZSwgJGNvbnRlbnRUeXBlKQogICAgewogICAgICAgICRvcGVyYXRpb24gPSAkY29tbWFuZC0+Z2V0T3BlcmF0aW9uKCk7CiAgICAgICAgJHR5cGUgPSAkb3BlcmF0aW9uLT5nZXRSZXNwb25zZVR5cGUoKTsKICAgICAgICAkbW9kZWwgPSBudWxsOwoKICAgICAgICBpZiAoJHR5cGUgPT0gT3BlcmF0aW9uSW50ZXJmYWNlOjpUWVBFX01PREVMKSB7CiAgICAgICAgICAgICRtb2RlbCA9ICRvcGVyYXRpb24tPmdldFNlcnZpY2VEZXNjcmlwdGlvbigpLT5nZXRNb2RlbCgkb3BlcmF0aW9uLT5nZXRSZXNwb25zZUNsYXNzKCkpOwogICAgICAgIH0gZWxzZWlmICgkdHlwZSA9PSBPcGVyYXRpb25JbnRlcmZhY2U6OlRZUEVfQ0xBU1MpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5wYXJzZUNsYXNzKCRjb21tYW5kKTsKICAgICAgICB9CgogICAgICAgIGlmICghJG1vZGVsKSB7CiAgICAgICAgICAgIC8vIFJldHVybiBiYXNpYyBwcm9jZXNzaW5nIGlmIHRoZSByZXNwb25zZVR5cGUgaXMgbm90IG1vZGVsIG9yIHRoZSBtb2RlbCBjYW5ub3QgYmUgZm91bmQKICAgICAgICAgICAgcmV0dXJuIHBhcmVudDo6aGFuZGxlUGFyc2luZygkY29tbWFuZCwgJHJlc3BvbnNlLCAkY29udGVudFR5cGUpOwogICAgICAgIH0gZWxzZWlmICgkY29tbWFuZFtBYnN0cmFjdENvbW1hbmQ6OlJFU1BPTlNFX1BST0NFU1NJTkddICE9IEFic3RyYWN0Q29tbWFuZDo6VFlQRV9NT0RFTCkgewogICAgICAgICAgICAvLyBSZXR1cm5zIGEgbW9kZWwgd2l0aCBubyB2aXNpdGluZyBpZiB0aGUgY29tbWFuZCByZXNwb25zZSBwcm9jZXNzaW5nIGlzIG5vdCBtb2RlbAogICAgICAgICAgICByZXR1cm4gbmV3IE1vZGVsKHBhcmVudDo6aGFuZGxlUGFyc2luZygkY29tbWFuZCwgJHJlc3BvbnNlLCAkY29udGVudFR5cGUpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBPbmx5IGluamVjdCB0aGUgc2NoZW1hIGludG8gdGhlIG1vZGVsIGlmICJzY2hlbWFJbk1vZGVsIiBpcyB0cnVlCiAgICAgICAgICAgIHJldHVybiBuZXcgTW9kZWwoJHRoaXMtPnZpc2l0UmVzdWx0KCRtb2RlbCwgJGNvbW1hbmQsICRyZXNwb25zZSksICR0aGlzLT5zY2hlbWFJbk1vZGVscyA/ICRtb2RlbCA6IG51bGwpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFBhcnNlIGEgY2xhc3Mgb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQgQ29tbWFuZCB0byBwYXJzZSBpbnRvIGFuIG9iamVjdAogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqIEB0aHJvd3MgUmVzcG9uc2VDbGFzc0V4Y2VwdGlvbgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcGFyc2VDbGFzcyhDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kKQogICAgewogICAgICAgIC8vIEVtaXQgdGhlIG9wZXJhdGlvbi5wYXJzZV9jbGFzcyBldmVudC4gSWYgYSBsaXN0ZW5lciBpbmplY3RzIGEgJ3Jlc3VsdCcgcHJvcGVydHksIHRoZW4gdGhhdCB3aWxsIGJlIHRoZSByZXN1bHQKICAgICAgICAkZXZlbnQgPSBuZXcgQ3JlYXRlUmVzcG9uc2VDbGFzc0V2ZW50KGFycmF5KCdjb21tYW5kJyA9PiAkY29tbWFuZCkpOwogICAgICAgICRjb21tYW5kLT5nZXRDbGllbnQoKS0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmRpc3BhdGNoKCdjb21tYW5kLnBhcnNlX3Jlc3BvbnNlJywgJGV2ZW50KTsKICAgICAgICBpZiAoJHJlc3VsdCA9ICRldmVudC0+Z2V0UmVzdWx0KCkpIHsKICAgICAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICAgICAgfQoKICAgICAgICAkY2xhc3NOYW1lID0gJGNvbW1hbmQtPmdldE9wZXJhdGlvbigpLT5nZXRSZXNwb25zZUNsYXNzKCk7CiAgICAgICAgaWYgKCFtZXRob2RfZXhpc3RzKCRjbGFzc05hbWUsICdmcm9tQ29tbWFuZCcpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBSZXNwb25zZUNsYXNzRXhjZXB0aW9uKCJ7JGNsYXNzTmFtZX0gbXVzdCBleGlzdCBhbmQgaW1wbGVtZW50IGEgc3RhdGljIGZyb21Db21tYW5kKCkgbWV0aG9kIik7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGNsYXNzTmFtZTo6ZnJvbUNvbW1hbmQoJGNvbW1hbmQpOwogICAgfQoKICAgIC8qKgogICAgICogUGVyZm9ybSB0cmFuc2Zvcm1hdGlvbnMgb24gdGhlIHJlc3VsdCBhcnJheQogICAgICoKICAgICAqIEBwYXJhbSBQYXJhbWV0ZXIgICAgICAgICRtb2RlbCAgICBNb2RlbCB0aGF0IGRlZmluZXMgdGhlIHN0cnVjdHVyZQogICAgICogQHBhcmFtIENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQgIENvbW1hbmQgdGhhdCBwZXJmb3JtZWQgdGhlIG9wZXJhdGlvbgogICAgICogQHBhcmFtIFJlc3BvbnNlICAgICAgICAgJHJlc3BvbnNlIFJlc3BvbnNlIHJlY2VpdmVkCiAgICAgKgogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIHRoZSBhcnJheSBvZiByZXN1bHQgZGF0YQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdmlzaXRSZXN1bHQoUGFyYW1ldGVyICRtb2RlbCwgQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwgUmVzcG9uc2UgJHJlc3BvbnNlKQogICAgewogICAgICAgICRmb3VuZFZpc2l0b3JzID0gJHJlc3VsdCA9ICRrbm93blByb3BzID0gYXJyYXkoKTsKICAgICAgICAkcHJvcHMgPSAkbW9kZWwtPmdldFByb3BlcnRpZXMoKTsKCiAgICAgICAgZm9yZWFjaCAoJHByb3BzIGFzICRzY2hlbWEpIHsKICAgICAgICAgICAgaWYgKCRsb2NhdGlvbiA9ICRzY2hlbWEtPmdldExvY2F0aW9uKCkpIHsKICAgICAgICAgICAgICAgIC8vIFRyaWdnZXIgdGhlIGJlZm9yZSBtZXRob2Qgb24gdGhlIGZpcnN0IGZvdW5kIHZpc2l0b3Igb2YgdGhpcyB0eXBlCiAgICAgICAgICAgICAgICBpZiAoIWlzc2V0KCRmb3VuZFZpc2l0b3JzWyRsb2NhdGlvbl0pKSB7CiAgICAgICAgICAgICAgICAgICAgJGZvdW5kVmlzaXRvcnNbJGxvY2F0aW9uXSA9ICR0aGlzLT5mYWN0b3J5LT5nZXRSZXNwb25zZVZpc2l0b3IoJGxvY2F0aW9uKTsKICAgICAgICAgICAgICAgICAgICAkZm91bmRWaXNpdG9yc1skbG9jYXRpb25dLT5iZWZvcmUoJGNvbW1hbmQsICRyZXN1bHQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBWaXNpdCBhZGRpdGlvbmFsIHByb3BlcnRpZXMgd2hlbiBpdCBpcyBhbiBhY3R1YWwgc2NoZW1hCiAgICAgICAgaWYgKCgkYWRkaXRpb25hbCA9ICRtb2RlbC0+Z2V0QWRkaXRpb25hbFByb3BlcnRpZXMoKSkgaW5zdGFuY2VvZiBQYXJhbWV0ZXIpIHsKICAgICAgICAgICAgJHRoaXMtPnZpc2l0QWRkaXRpb25hbFByb3BlcnRpZXMoJG1vZGVsLCAkY29tbWFuZCwgJHJlc3BvbnNlLCAkYWRkaXRpb25hbCwgJHJlc3VsdCwgJGZvdW5kVmlzaXRvcnMpOwogICAgICAgIH0KCiAgICAgICAgLy8gQXBwbHkgdGhlIHBhcmFtZXRlciB2YWx1ZSB3aXRoIHRoZSBsb2NhdGlvbiB2aXNpdG9yCiAgICAgICAgZm9yZWFjaCAoJHByb3BzIGFzICRzY2hlbWEpIHsKICAgICAgICAgICAgJGtub3duUHJvcHNbJHNjaGVtYS0+Z2V0TmFtZSgpXSA9IDE7CiAgICAgICAgICAgIGlmICgkbG9jYXRpb24gPSAkc2NoZW1hLT5nZXRMb2NhdGlvbigpKSB7CiAgICAgICAgICAgICAgICAkZm91bmRWaXNpdG9yc1skbG9jYXRpb25dLT52aXNpdCgkY29tbWFuZCwgJHJlc3BvbnNlLCAkc2NoZW1hLCAkcmVzdWx0KTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gUmVtb3ZlIGFueSB1bmtub3duIGFuZCBwb3RlbnRpYWxseSB1bnNhZmUgdG9wLWxldmVsIHByb3BlcnRpZXMKICAgICAgICBpZiAoJGFkZGl0aW9uYWwgPT09IGZhbHNlKSB7CiAgICAgICAgICAgICRyZXN1bHQgPSBhcnJheV9pbnRlcnNlY3Rfa2V5KCRyZXN1bHQsICRrbm93blByb3BzKTsKICAgICAgICB9CgogICAgICAgIC8vIENhbGwgdGhlIGFmdGVyKCkgbWV0aG9kIG9mIGVhY2ggZm91bmQgdmlzaXRvcgogICAgICAgIGZvcmVhY2ggKCRmb3VuZFZpc2l0b3JzIGFzICR2aXNpdG9yKSB7CiAgICAgICAgICAgICR2aXNpdG9yLT5hZnRlcigkY29tbWFuZCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdmlzaXRBZGRpdGlvbmFsUHJvcGVydGllcygKICAgICAgICBQYXJhbWV0ZXIgJG1vZGVsLAogICAgICAgIENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQsCiAgICAgICAgUmVzcG9uc2UgJHJlc3BvbnNlLAogICAgICAgIFBhcmFtZXRlciAkYWRkaXRpb25hbCwKICAgICAgICAmJHJlc3VsdCwKICAgICAgICBhcnJheSAmJGZvdW5kVmlzaXRvcnMKICAgICkgewogICAgICAgIC8vIE9ubHkgdmlzaXQgd2hlbiBhIGxvY2F0aW9uIGlzIHNwZWNpZmllZAogICAgICAgIGlmICgkbG9jYXRpb24gPSAkYWRkaXRpb25hbC0+Z2V0TG9jYXRpb24oKSkgewogICAgICAgICAgICBpZiAoIWlzc2V0KCRmb3VuZFZpc2l0b3JzWyRsb2NhdGlvbl0pKSB7CiAgICAgICAgICAgICAgICAkZm91bmRWaXNpdG9yc1skbG9jYXRpb25dID0gJHRoaXMtPmZhY3RvcnktPmdldFJlc3BvbnNlVmlzaXRvcigkbG9jYXRpb24pOwogICAgICAgICAgICAgICAgJGZvdW5kVmlzaXRvcnNbJGxvY2F0aW9uXS0+YmVmb3JlKCRjb21tYW5kLCAkcmVzdWx0KTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBPbmx5IHRyYXZlcnNlIGlmIGFuIGFycmF5IHdhcyBwYXJzZWQgZnJvbSB0aGUgYmVmb3JlKCkgdmlzaXRvcnMKICAgICAgICAgICAgaWYgKGlzX2FycmF5KCRyZXN1bHQpKSB7CiAgICAgICAgICAgICAgICAvLyBGaW5kIGVhY2ggYWRkaXRpb25hbCBwcm9wZXJ0eQogICAgICAgICAgICAgICAgZm9yZWFjaCAoYXJyYXlfa2V5cygkcmVzdWx0KSBhcyAka2V5KSB7CiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIG1vZGVsIGFjdHVhbGx5IGtub3dzIHRoaXMgcHJvcGVydHkuIElmIHNvLCB0aGVuIGl0IGlzIG5vdCBhZGRpdGlvbmFsCiAgICAgICAgICAgICAgICAgICAgaWYgKCEkbW9kZWwtPmdldFByb3BlcnR5KCRrZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldCB0aGUgbmFtZSB0byB0aGUga2V5IHNvIHRoYXQgd2UgY2FuIHBhcnNlIGl0IHdpdGggZWFjaCB2aXNpdG9yCiAgICAgICAgICAgICAgICAgICAgICAgICRhZGRpdGlvbmFsLT5zZXROYW1lKCRrZXkpOwogICAgICAgICAgICAgICAgICAgICAgICAkZm91bmRWaXNpdG9yc1skbG9jYXRpb25dLT52aXNpdCgkY29tbWFuZCwgJHJlc3BvbnNlLCAkYWRkaXRpb25hbCwgJHJlc3VsdCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgLy8gUmVzZXQgdGhlIGFkZGl0aW9uYWxQcm9wZXJ0aWVzIG5hbWUgdG8gbnVsbAogICAgICAgICAgICAgICAgJGFkZGl0aW9uYWwtPnNldE5hbWUobnVsbCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/RequestSerializerInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKCi8qKgogKiBUcmFuc2xhdGVzIGNvbW1hbmQgb3B0aW9ucyBhbmQgb3BlcmF0aW9uIHBhcmFtZXRlcnMgaW50byBhIHJlcXVlc3Qgb2JqZWN0CiAqLwppbnRlcmZhY2UgUmVxdWVzdFNlcmlhbGl6ZXJJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBDcmVhdGUgYSByZXF1ZXN0IGZvciBhIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcGFyYW0gQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCBDb21tYW5kIHRoYXQgd2lsbCBvd24gdGhlIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIFJlcXVlc3RJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHByZXBhcmUoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/ResponseClassInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kOwoKLyoqCiAqIEludGVyZmFjZSB1c2VkIHRvIGFjY2VwdCBhIGNvbXBsZXRlZCBPcGVyYXRpb25Db21tYW5kIGFuZCBwYXJzZSB0aGUgcmVzdWx0IGludG8gYSBzcGVjaWZpYyByZXNwb25zZSB0eXBlCiAqLwppbnRlcmZhY2UgUmVzcG9uc2VDbGFzc0ludGVyZmFjZQp7CiAgICAvKioKICAgICAqIENyZWF0ZSBhIHJlc3BvbnNlIG1vZGVsIG9iamVjdCBmcm9tIGEgY29tcGxldGVkIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcGFyYW0gT3BlcmF0aW9uQ29tbWFuZCAkY29tbWFuZCBUaGF0IHNlcmlhbGl6ZWQgdGhlIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmcm9tQ29tbWFuZChPcGVyYXRpb25Db21tYW5kICRjb21tYW5kKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Command/ResponseParserInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxDb21tYW5kOwoKLyoqCiAqIFBhcnNlcyB0aGUgSFRUUCByZXNwb25zZSBvZiBhIGNvbW1hbmQgYW5kIHNldHMgdGhlIGFwcHJvcHJpYXRlIHJlc3VsdCBvbiBhIGNvbW1hbmQgb2JqZWN0CiAqLwppbnRlcmZhY2UgUmVzcG9uc2VQYXJzZXJJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBQYXJzZSB0aGUgSFRUUCByZXNwb25zZSByZWNlaXZlZCBieSB0aGUgY29tbWFuZCBhbmQgdXBkYXRlIHRoZSBjb21tYW5kJ3MgcmVzdWx0IGNvbnRlbnRzCiAgICAgKgogICAgICogQHBhcmFtIENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQgQ29tbWFuZCB0byBwYXJzZSBhbmQgdXBkYXRlCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZCBSZXR1cm5zIHRoZSByZXN1bHQgdG8gc2V0IG9uIHRoZSBjb21tYW5kCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwYXJzZShDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3NlcnZpY2UiLAogICAgImRlc2NyaXB0aW9uIjogIkd1enpsZSBzZXJ2aWNlIGNvbXBvbmVudCBmb3IgYWJzdHJhY3RpbmcgUkVTVGZ1bCB3ZWIgc2VydmljZXMiLAogICAgImhvbWVwYWdlIjogImh0dHA6Ly9ndXp6bGVwaHAub3JnLyIsCiAgICAia2V5d29yZHMiOiBbIndlYiBzZXJ2aWNlIiwgIndlYnNlcnZpY2UiLCAiUkVTVCIsICJndXp6bGUiXSwKICAgICJsaWNlbnNlIjogIk1JVCIsCiAgICAiYXV0aG9ycyI6IFsKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogIk1pY2hhZWwgRG93bGluZyIsCiAgICAgICAgICAgICJlbWFpbCI6ICJtdGRvd2xpbmdAZ21haWwuY29tIiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tdGRvd2xpbmciCiAgICAgICAgfQogICAgXSwKICAgICJyZXF1aXJlIjogewogICAgICAgICJwaHAiOiAiPj01LjMuMiIsCiAgICAgICAgImd1enpsZS9jYWNoZSI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvaHR0cCI6ICJzZWxmLnZlcnNpb24iLAogICAgICAgICJndXp6bGUvaW5mbGVjdGlvbiI6ICJzZWxmLnZlcnNpb24iCiAgICB9LAogICAgImF1dG9sb2FkIjogewogICAgICAgICJwc3ItMCI6IHsgIkd1enpsZVxcU2VydmljZSI6ICIiIH0KICAgIH0sCiAgICAidGFyZ2V0LWRpciI6ICJHdXp6bGUvU2VydmljZSIsCiAgICAiZXh0cmEiOiB7CiAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMy43LWRldiIKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/ConfigLoaderInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZTsKCi8qKgogKiBJbnRlcmZhY2UgdXNlZCBmb3IgbG9hZGluZyBjb25maWd1cmF0aW9uIGRhdGEgKHNlcnZpY2UgZGVzY3JpcHRpb25zLCBzZXJ2aWNlIGJ1aWxkZXIgY29uZmlncywgZXRjKQogKgogKiBJZiBhIGxvYWRlZCBjb25maWd1cmF0aW9uIGRhdGEgc2V0cyBpbmNsdWRlcyBhIHRvcCBsZXZlbCBrZXkgY29udGFpbmluZyBhbiAnaW5jbHVkZXMnIHNlY3Rpb24sIHRoZW4gdGhlIGRhdGEgaW4gdGhlCiAqIGZpbGUgd2lsbCBleHRlbmQgdGhlIG1lcmdlZCByZXN1bHQgb2YgYWxsIG9mIHRoZSBpbmNsdWRlZCBjb25maWcgZmlsZXMuCiAqLwppbnRlcmZhY2UgQ29uZmlnTG9hZGVySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogTG9hZHMgY29uZmlndXJhdGlvbiBkYXRhIGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBsb2FkZWQgcmVzdWx0CiAgICAgKgogICAgICogQHBhcmFtIG1peGVkICRjb25maWcgIERhdGEgdG8gbG9hZCAoZmlsZW5hbWUgb3IgYXJyYXkgb2YgZGF0YSkKICAgICAqIEBwYXJhbSBhcnJheSAkb3B0aW9ucyBBcnJheSBvZiBvcHRpb25zIHRvIHVzZSB3aGVuIGxvYWRpbmcKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsb2FkKCRjb25maWcsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Description/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Description/Operation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvbjsKCnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CgovKioKICogRGF0YSBvYmplY3QgaG9sZGluZyB0aGUgaW5mb3JtYXRpb24gb2YgYW4gQVBJIGNvbW1hbmQKICovCmNsYXNzIE9wZXJhdGlvbiBpbXBsZW1lbnRzIE9wZXJhdGlvbkludGVyZmFjZQp7CiAgICAvKiogQHZhciBzdHJpbmcgRGVmYXVsdCBjb21tYW5kIGNsYXNzIHRvIHVzZSB3aGVuIG5vbmUgaXMgc3BlY2lmaWVkICovCiAgICBjb25zdCBERUZBVUxUX0NPTU1BTkRfQ0xBU1MgPSAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxPcGVyYXRpb25Db21tYW5kJzsKCiAgICAvKiogQHZhciBhcnJheSBIYXNobWFwIG9mIHByb3BlcnRpZXMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkLiBSZXByZXNlbnRlZCBhcyBhIGhhc2ggdG8gc3BlZWQgdXAgY29uc3RydWN0b3IuICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRwcm9wZXJ0aWVzID0gYXJyYXkoCiAgICAgICAgJ25hbWUnID0+IHRydWUsICdodHRwTWV0aG9kJyA9PiB0cnVlLCAndXJpJyA9PiB0cnVlLCAnY2xhc3MnID0+IHRydWUsICdyZXNwb25zZUNsYXNzJyA9PiB0cnVlLAogICAgICAgICdyZXNwb25zZVR5cGUnID0+IHRydWUsICdyZXNwb25zZU5vdGVzJyA9PiB0cnVlLCAnbm90ZXMnID0+IHRydWUsICdzdW1tYXJ5JyA9PiB0cnVlLCAnZG9jdW1lbnRhdGlvblVybCcgPT4gdHJ1ZSwKICAgICAgICAnZGVwcmVjYXRlZCcgPT4gdHJ1ZSwgJ2RhdGEnID0+IHRydWUsICdwYXJhbWV0ZXJzJyA9PiB0cnVlLCAnYWRkaXRpb25hbFBhcmFtZXRlcnMnID0+IHRydWUsCiAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiB0cnVlCiAgICApOwoKICAgIC8qKiBAdmFyIGFycmF5IFBhcmFtZXRlcnMgKi8KICAgIHByb3RlY3RlZCAkcGFyYW1ldGVycyA9IGFycmF5KCk7CgogICAgLyoqIEB2YXIgUGFyYW1ldGVyIEFkZGl0aW9uYWwgcGFyYW1ldGVycyBzY2hlbWEgKi8KICAgIHByb3RlY3RlZCAkYWRkaXRpb25hbFBhcmFtZXRlcnM7CgogICAgLyoqIEB2YXIgc3RyaW5nIE5hbWUgb2YgdGhlIGNvbW1hbmQgKi8KICAgIHByb3RlY3RlZCAkbmFtZTsKCiAgICAvKiogQHZhciBzdHJpbmcgSFRUUCBtZXRob2QgKi8KICAgIHByb3RlY3RlZCAkaHR0cE1ldGhvZDsKCiAgICAvKiogQHZhciBzdHJpbmcgVGhpcyBpcyBhIHNob3J0IHN1bW1hcnkgb2Ygd2hhdCB0aGUgb3BlcmF0aW9uIGRvZXMgKi8KICAgIHByb3RlY3RlZCAkc3VtbWFyeTsKCiAgICAvKiogQHZhciBzdHJpbmcgQSBsb25nZXIgdGV4dCBmaWVsZCB0byBleHBsYWluIHRoZSBiZWhhdmlvciBvZiB0aGUgb3BlcmF0aW9uLiAqLwogICAgcHJvdGVjdGVkICRub3RlczsKCiAgICAvKiogQHZhciBzdHJpbmcgUmVmZXJlbmNlIFVSTCBwcm92aWRpbmcgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb3BlcmF0aW9uICovCiAgICBwcm90ZWN0ZWQgJGRvY3VtZW50YXRpb25Vcmw7CgogICAgLyoqIEB2YXIgc3RyaW5nIEhUVFAgVVJJIG9mIHRoZSBjb21tYW5kICovCiAgICBwcm90ZWN0ZWQgJHVyaTsKCiAgICAvKiogQHZhciBzdHJpbmcgQ2xhc3Mgb2YgdGhlIGNvbW1hbmQgb2JqZWN0ICovCiAgICBwcm90ZWN0ZWQgJGNsYXNzOwoKICAgIC8qKiBAdmFyIHN0cmluZyBUaGlzIGlzIHdoYXQgaXMgcmV0dXJuZWQgZnJvbSB0aGUgbWV0aG9kICovCiAgICBwcm90ZWN0ZWQgJHJlc3BvbnNlQ2xhc3M7CgogICAgLyoqIEB2YXIgc3RyaW5nIFR5cGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlc3BvbnNlICovCiAgICBwcm90ZWN0ZWQgJHJlc3BvbnNlVHlwZTsKCiAgICAvKiogQHZhciBzdHJpbmcgSW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlc3BvbnNlIHJldHVybmVkIGJ5IHRoZSBvcGVyYXRpb24gKi8KICAgIHByb3RlY3RlZCAkcmVzcG9uc2VOb3RlczsKCiAgICAvKiogQHZhciBib29sIFdoZXRoZXIgb3Igbm90IHRoZSBjb21tYW5kIGlzIGRlcHJlY2F0ZWQgKi8KICAgIHByb3RlY3RlZCAkZGVwcmVjYXRlZDsKCiAgICAvKiogQHZhciBhcnJheSBBcnJheSBvZiBlcnJvcnMgdGhhdCBjb3VsZCBvY2N1ciB3aGVuIHJ1bm5pbmcgdGhlIGNvbW1hbmQgKi8KICAgIHByb3RlY3RlZCAkZXJyb3JSZXNwb25zZXM7CgogICAgLyoqIEB2YXIgU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlICovCiAgICBwcm90ZWN0ZWQgJGRlc2NyaXB0aW9uOwoKICAgIC8qKiBAdmFyIGFycmF5IEV4dHJhIG9wZXJhdGlvbiBpbmZvcm1hdGlvbiAqLwogICAgcHJvdGVjdGVkICRkYXRhOwoKICAgIC8qKgogICAgICogQnVpbGRzIGFuIE9wZXJhdGlvbiBvYmplY3QgdXNpbmcgYW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBkYXRhOgogICAgICogLSBuYW1lOiAgICAgICAgICAgICAgIChzdHJpbmcpIE5hbWUgb2YgdGhlIGNvbW1hbmQKICAgICAqIC0gaHR0cE1ldGhvZDogICAgICAgICAoc3RyaW5nKSBIVFRQIG1ldGhvZCBvZiB0aGUgb3BlcmF0aW9uCiAgICAgKiAtIHVyaTogICAgICAgICAgICAgICAgKHN0cmluZykgVVJJIHRlbXBsYXRlIHRoYXQgY2FuIGNyZWF0ZSBhIHJlbGF0aXZlIG9yIGFic29sdXRlIFVSTAogICAgICogLSBjbGFzczogICAgICAgICAgICAgIChzdHJpbmcpIENvbmNyZXRlIGNsYXNzIHRoYXQgaW1wbGVtZW50cyB0aGlzIGNvbW1hbmQKICAgICAqIC0gcGFyYW1ldGVyczogICAgICAgICAoYXJyYXkpIEFzc29jaWF0aXZlIGFycmF5IG9mIHBhcmFtZXRlcnMgZm9yIHRoZSBjb21tYW5kLiB7QHNlZSBQYXJhbWV0ZXJ9IGZvciBpbmZvcm1hdGlvbi4KICAgICAqIC0gc3VtbWFyeTogICAgICAgICAgICAoc3RyaW5nKSBUaGlzIGlzIGEgc2hvcnQgc3VtbWFyeSBvZiB3aGF0IHRoZSBvcGVyYXRpb24gZG9lcwogICAgICogLSBub3RlczogICAgICAgICAgICAgIChzdHJpbmcpIEEgbG9uZ2VyIHRleHQgZmllbGQgdG8gZXhwbGFpbiB0aGUgYmVoYXZpb3Igb2YgdGhlIG9wZXJhdGlvbi4KICAgICAqIC0gZG9jdW1lbnRhdGlvblVybDogICAoc3RyaW5nKSBSZWZlcmVuY2UgVVJMIHByb3ZpZGluZyBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBvcGVyYXRpb24KICAgICAqIC0gcmVzcG9uc2VDbGFzczogICAgICAoc3RyaW5nKSBUaGlzIGlzIHdoYXQgaXMgcmV0dXJuZWQgZnJvbSB0aGUgbWV0aG9kLiBDYW4gYmUgYSBwcmltaXRpdmUsIFBTUi0wIGNvbXBsaWFudAogICAgICogICAgICAgICAgICAgICAgICAgICAgIGNsYXNzIG5hbWUsIG9yIG1vZGVsLgogICAgICogLSByZXNwb25zZU5vdGVzOiAgICAgIChzdHJpbmcpIEluZm9ybWF0aW9uIGFib3V0IHRoZSByZXNwb25zZSByZXR1cm5lZCBieSB0aGUgb3BlcmF0aW9uCiAgICAgKiAtIHJlc3BvbnNlVHlwZTogICAgICAgKHN0cmluZykgT25lIG9mICdwcmltaXRpdmUnLCAnY2xhc3MnLCAnbW9kZWwnLCBvciAnZG9jdW1lbnRhdGlvbicuIElmIG5vdCBzcGVjaWZpZWQsIHRoaXMKICAgICAqICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQgYmFzZWQgb24gd2hldGhlciBvciBub3QgdGhlcmUgaXMgYSBtb2RlbCBtYXRjaGluZyB0aGUKICAgICAqICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBpZiBhIG1hdGNoaW5nIFBTUi0wIGNvbXBsaWFudCBjbGFzcyBuYW1lIGlzIGZvdW5kLCBvciBzZXQgdG8gJ3ByaW1pdGl2ZScgYnkgZGVmYXVsdC4KICAgICAqIC0gZGVwcmVjYXRlZDogICAgICAgICAoYm9vbCkgU2V0IHRvIHRydWUgaWYgdGhpcyBpcyBhIGRlcHJlY2F0ZWQgY29tbWFuZAogICAgICogLSBlcnJvclJlc3BvbnNlczogICAgIChhcnJheSkgRXJyb3JzIHRoYXQgY291bGQgb2NjdXIgd2hlbiBleGVjdXRpbmcgdGhlIGNvbW1hbmQuIEFycmF5IG9mIGhhc2hlcywgZWFjaCB3aXRoIGEKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAnY29kZScgKHRoZSBIVFRQIHJlc3BvbnNlIGNvZGUpLCAncGhyYXNlJyAocmVzcG9uc2UgcmVhc29uIHBocmFzZSBvciBkZXNjcmlwdGlvbiBvZiB0aGUKICAgICAqICAgICAgICAgICAgICAgICAgICAgICBlcnJvciksIGFuZCAnY2xhc3MnIChhIGN1c3RvbSBleGNlcHRpb24gY2xhc3MgdGhhdCB3b3VsZCBiZSB0aHJvd24gaWYgdGhlIGVycm9yIGlzCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgZW5jb3VudGVyZWQpLgogICAgICogLSBkYXRhOiAgICAgICAgICAgICAgIChhcnJheSkgQW55IGV4dHJhIGRhdGEgdGhhdCBtaWdodCBiZSB1c2VkIHRvIGhlbHAgYnVpbGQgb3Igc2VyaWFsaXplIHRoZSBvcGVyYXRpb24KICAgICAqIC0gYWRkaXRpb25hbFBhcmFtZXRlcnM6IChudWxsfGFycmF5KSBQYXJhbWV0ZXIgc2NoZW1hIHRvIHVzZSB3aGVuIGFuIG9wdGlvbiBpcyBwYXNzZWQgdG8gdGhlIG9wZXJhdGlvbiB0aGF0IGlzCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90IGluIHRoZSBzY2hlbWEKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICAgICAgICAgICAgICRjb25maWcgICAgICBBcnJheSBvZiBjb25maWd1cmF0aW9uIGRhdGEKICAgICAqIEBwYXJhbSBTZXJ2aWNlRGVzY3JpcHRpb25JbnRlcmZhY2UgJGRlc2NyaXB0aW9uIFNlcnZpY2UgZGVzY3JpcHRpb24gdXNlZCB0byByZXNvbHZlIG1vZGVscyBpZiAkcmVmIHRhZ3MgYXJlIGZvdW5kCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChhcnJheSAkY29uZmlnID0gYXJyYXkoKSwgU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlICRkZXNjcmlwdGlvbiA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPmRlc2NyaXB0aW9uID0gJGRlc2NyaXB0aW9uOwoKICAgICAgICAvLyBHZXQgdGhlIGludGVyc2VjdGlvbiBvZiB0aGUgYXZhaWxhYmxlIHByb3BlcnRpZXMgYW5kIHByb3BlcnRpZXMgc2V0IG9uIHRoZSBvcGVyYXRpb24KICAgICAgICBmb3JlYWNoIChhcnJheV9pbnRlcnNlY3Rfa2V5KCRjb25maWcsIHNlbGY6OiRwcm9wZXJ0aWVzKSBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICAkdGhpcy0+eyRrZXl9ID0gJHZhbHVlOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmNsYXNzID0gJHRoaXMtPmNsYXNzID86IHNlbGY6OkRFRkFVTFRfQ09NTUFORF9DTEFTUzsKICAgICAgICAkdGhpcy0+ZGVwcmVjYXRlZCA9IChib29sKSAkdGhpcy0+ZGVwcmVjYXRlZDsKICAgICAgICAkdGhpcy0+ZXJyb3JSZXNwb25zZXMgPSAkdGhpcy0+ZXJyb3JSZXNwb25zZXMgPzogYXJyYXkoKTsKICAgICAgICAkdGhpcy0+ZGF0YSA9ICR0aGlzLT5kYXRhID86IGFycmF5KCk7CgogICAgICAgIGlmICghJHRoaXMtPnJlc3BvbnNlQ2xhc3MpIHsKICAgICAgICAgICAgJHRoaXMtPnJlc3BvbnNlQ2xhc3MgPSAnYXJyYXknOwogICAgICAgICAgICAkdGhpcy0+cmVzcG9uc2VUeXBlID0gJ3ByaW1pdGl2ZSc7CiAgICAgICAgfSBlbHNlaWYgKCR0aGlzLT5yZXNwb25zZVR5cGUpIHsKICAgICAgICAgICAgLy8gU2V0IHRoZSByZXNwb25zZSB0eXBlIHRvIHBlcmZvcm0gdmFsaWRhdGlvbgogICAgICAgICAgICAkdGhpcy0+c2V0UmVzcG9uc2VUeXBlKCR0aGlzLT5yZXNwb25zZVR5cGUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIEEgcmVzcG9uc2UgY2xhc3Mgd2FzIHNldCBhbmQgbm8gcmVzcG9uc2UgdHlwZSB3YXMgc2V0LCBzbyBndWVzcyB3aGF0IHRoZSB0eXBlIGlzCiAgICAgICAgICAgICR0aGlzLT5pbmZlclJlc3BvbnNlVHlwZSgpOwogICAgICAgIH0KCiAgICAgICAgLy8gUGFyYW1ldGVycyBuZWVkIHNwZWNpYWwgaGFuZGxpbmcgd2hlbiBhZGRpbmcKICAgICAgICBpZiAoJHRoaXMtPnBhcmFtZXRlcnMpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnBhcmFtZXRlcnMgYXMgJG5hbWUgPT4gJHBhcmFtKSB7CiAgICAgICAgICAgICAgICBpZiAoJHBhcmFtIGluc3RhbmNlb2YgUGFyYW1ldGVyKSB7CiAgICAgICAgICAgICAgICAgICAgJHBhcmFtLT5zZXROYW1lKCRuYW1lKS0+c2V0UGFyZW50KCR0aGlzKTsKICAgICAgICAgICAgICAgIH0gZWxzZWlmIChpc19hcnJheSgkcGFyYW0pKSB7CiAgICAgICAgICAgICAgICAgICAgJHBhcmFtWyduYW1lJ10gPSAkbmFtZTsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+YWRkUGFyYW0obmV3IFBhcmFtZXRlcigkcGFyYW0sICR0aGlzLT5kZXNjcmlwdGlvbikpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRoaXMtPmFkZGl0aW9uYWxQYXJhbWV0ZXJzKSB7CiAgICAgICAgICAgIGlmICgkdGhpcy0+YWRkaXRpb25hbFBhcmFtZXRlcnMgaW5zdGFuY2VvZiBQYXJhbWV0ZXIpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hZGRpdGlvbmFsUGFyYW1ldGVycy0+c2V0UGFyZW50KCR0aGlzKTsKICAgICAgICAgICAgfSBlbHNlaWYgKGlzX2FycmF5KCR0aGlzLT5hZGRpdGlvbmFsUGFyYW1ldGVycykpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5zZXRhZGRpdGlvbmFsUGFyYW1ldGVycyhuZXcgUGFyYW1ldGVyKCR0aGlzLT5hZGRpdGlvbmFsUGFyYW1ldGVycywgJHRoaXMtPmRlc2NyaXB0aW9uKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRvQXJyYXkoKQogICAgewogICAgICAgICRyZXN1bHQgPSBhcnJheSgpOwogICAgICAgIC8vIEdyYWIgdmFsaWQgcHJvcGVydGllcyBhbmQgZmlsdGVyIG91dCB2YWx1ZXMgdGhhdCB3ZXJlbid0IHNldAogICAgICAgIGZvcmVhY2ggKGFycmF5X2tleXMoc2VsZjo6JHByb3BlcnRpZXMpIGFzICRjaGVjaykgewogICAgICAgICAgICBpZiAoJHZhbHVlID0gJHRoaXMtPnskY2hlY2t9KSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0WyRjaGVja10gPSAkdmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy8gUmVtb3ZlIHRoZSBuYW1lIHByb3BlcnR5CiAgICAgICAgdW5zZXQoJHJlc3VsdFsnbmFtZSddKTsKICAgICAgICAvLyBQYXJhbWV0ZXJzIG5lZWQgdG8gYmUgY29udmVydGVkIHRvIGFycmF5cwogICAgICAgICRyZXN1bHRbJ3BhcmFtZXRlcnMnXSA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnBhcmFtZXRlcnMgYXMgJGtleSA9PiAkcGFyYW0pIHsKICAgICAgICAgICAgJHJlc3VsdFsncGFyYW1ldGVycyddWyRrZXldID0gJHBhcmFtLT50b0FycmF5KCk7CiAgICAgICAgfQogICAgICAgIC8vIEFkZGl0aW9uYWwgcGFyYW1ldGVycyBuZWVkIHRvIGJlIGNhc3QgdG8gYW4gYXJyYXkKICAgICAgICBpZiAoJHRoaXMtPmFkZGl0aW9uYWxQYXJhbWV0ZXJzIGluc3RhbmNlb2YgUGFyYW1ldGVyKSB7CiAgICAgICAgICAgICRyZXN1bHRbJ2FkZGl0aW9uYWxQYXJhbWV0ZXJzJ10gPSAkdGhpcy0+YWRkaXRpb25hbFBhcmFtZXRlcnMtPnRvQXJyYXkoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTZXJ2aWNlRGVzY3JpcHRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZGVzY3JpcHRpb247CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFNlcnZpY2VEZXNjcmlwdGlvbihTZXJ2aWNlRGVzY3JpcHRpb25JbnRlcmZhY2UgJGRlc2NyaXB0aW9uKQogICAgewogICAgICAgICR0aGlzLT5kZXNjcmlwdGlvbiA9ICRkZXNjcmlwdGlvbjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYXJhbXMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cGFyYW1ldGVyczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGFyYW1OYW1lcygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5X2tleXMoJHRoaXMtPnBhcmFtZXRlcnMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNQYXJhbSgkbmFtZSkKICAgIHsKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPnBhcmFtZXRlcnNbJG5hbWVdKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGFyYW0oJHBhcmFtKQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+cGFyYW1ldGVyc1skcGFyYW1dKSA/ICR0aGlzLT5wYXJhbWV0ZXJzWyRwYXJhbV0gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgcGFyYW1ldGVyIHRvIHRoZSBjb21tYW5kCiAgICAgKgogICAgICogQHBhcmFtIFBhcmFtZXRlciAkcGFyYW0gUGFyYW1ldGVyIHRvIGFkZAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkUGFyYW0oUGFyYW1ldGVyICRwYXJhbSkKICAgIHsKICAgICAgICAkdGhpcy0+cGFyYW1ldGVyc1skcGFyYW0tPmdldE5hbWUoKV0gPSAkcGFyYW07CiAgICAgICAgJHBhcmFtLT5zZXRQYXJlbnQoJHRoaXMpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW1vdmUgYSBwYXJhbWV0ZXIgZnJvbSB0aGUgY29tbWFuZAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUgTmFtZSBvZiB0aGUgcGFyYW1ldGVyIHRvIHJlbW92ZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlUGFyYW0oJG5hbWUpCiAgICB7CiAgICAgICAgdW5zZXQoJHRoaXMtPnBhcmFtZXRlcnNbJG5hbWVdKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRIdHRwTWV0aG9kKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmh0dHBNZXRob2Q7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIEhUVFAgbWV0aG9kIG9mIHRoZSBjb21tYW5kCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkaHR0cE1ldGhvZCBNZXRob2QgdG8gc2V0CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRIdHRwTWV0aG9kKCRodHRwTWV0aG9kKQogICAgewogICAgICAgICR0aGlzLT5odHRwTWV0aG9kID0gJGh0dHBNZXRob2Q7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2xhc3MoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2xhc3M7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGNvbmNyZXRlIGNsYXNzIG9mIHRoZSBjb21tYW5kCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkY2xhc3NOYW1lIENvbmNyZXRlIGNsYXNzIG5hbWUKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldENsYXNzKCRjbGFzc05hbWUpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsYXNzID0gJGNsYXNzTmFtZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXROYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPm5hbWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIE5hbWUgb2YgdGhlIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldE5hbWUoJG5hbWUpCiAgICB7CiAgICAgICAgJHRoaXMtPm5hbWUgPSAkbmFtZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTdW1tYXJ5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnN1bW1hcnk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgYSBzaG9ydCBzdW1tYXJ5IG9mIHdoYXQgdGhlIG9wZXJhdGlvbiBkb2VzCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkc3VtbWFyeSBTaG9ydCBzdW1tYXJ5IG9mIHRoZSBvcGVyYXRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFN1bW1hcnkoJHN1bW1hcnkpCiAgICB7CiAgICAgICAgJHRoaXMtPnN1bW1hcnkgPSAkc3VtbWFyeTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXROb3RlcygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ub3RlczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBhIGxvbmdlciB0ZXh0IGZpZWxkIHRvIGV4cGxhaW4gdGhlIGJlaGF2aW9yIG9mIHRoZSBvcGVyYXRpb24uCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbm90ZXMgTm90ZXMgb24gdGhlIG9wZXJhdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Tm90ZXMoJG5vdGVzKQogICAgewogICAgICAgICR0aGlzLT5ub3RlcyA9ICRub3RlczsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREb2N1bWVudGF0aW9uVXJsKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRvY3VtZW50YXRpb25Vcmw7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIFVSTCBwb2ludGluZyB0byBhZGRpdGlvbmFsIGRvY3VtZW50YXRpb24gb24gdGhlIGNvbW1hbmQKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkb2NVcmwgRG9jdW1lbnRhdGlvbiBVUkwKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldERvY3VtZW50YXRpb25VcmwoJGRvY1VybCkKICAgIHsKICAgICAgICAkdGhpcy0+ZG9jdW1lbnRhdGlvblVybCA9ICRkb2NVcmw7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzcG9uc2VDbGFzcygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXNwb25zZUNsYXNzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHdoYXQgaXMgcmV0dXJuZWQgZnJvbSB0aGUgbWV0aG9kLiBDYW4gYmUgYSBwcmltaXRpdmUsIGNsYXNzIG5hbWUsIG9yIG1vZGVsLiBGb3IgZXhhbXBsZTogJ2FycmF5JywKICAgICAqICdHdXp6bGVcXEZvb1xcQmF6Jywgb3IgJ015TW9kZWxOYW1lJyAodG8gcmVmZXJlbmNlIGEgbW9kZWwgYnkgSUQpLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHJlc3BvbnNlQ2xhc3MgVHlwZSBvZiByZXNwb25zZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0UmVzcG9uc2VDbGFzcygkcmVzcG9uc2VDbGFzcykKICAgIHsKICAgICAgICAkdGhpcy0+cmVzcG9uc2VDbGFzcyA9ICRyZXNwb25zZUNsYXNzOwogICAgICAgICR0aGlzLT5pbmZlclJlc3BvbnNlVHlwZSgpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlc3BvbnNlVHlwZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXNwb25zZVR5cGU7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgcXVhbGlmeWluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVzcG9uc2VDbGFzcy4gT25lIG9mICdwcmltaXRpdmUnLCAnY2xhc3MnLCAnbW9kZWwnLCBvciAnZG9jdW1lbnRhdGlvbicKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRyZXNwb25zZVR5cGUgUmVzcG9uc2UgdHlwZSBpbmZvcm1hdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFJlc3BvbnNlVHlwZSgkcmVzcG9uc2VUeXBlKQogICAgewogICAgICAgIHN0YXRpYyAkdHlwZXMgPSBhcnJheSgKICAgICAgICAgICAgc2VsZjo6VFlQRV9QUklNSVRJVkUgPT4gdHJ1ZSwKICAgICAgICAgICAgc2VsZjo6VFlQRV9DTEFTUyA9PiB0cnVlLAogICAgICAgICAgICBzZWxmOjpUWVBFX01PREVMID0+IHRydWUsCiAgICAgICAgICAgIHNlbGY6OlRZUEVfRE9DVU1FTlRBVElPTiA9PiB0cnVlCiAgICAgICAgKTsKICAgICAgICBpZiAoIWlzc2V0KCR0eXBlc1skcmVzcG9uc2VUeXBlXSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigncmVzcG9uc2VUeXBlIG11c3QgYmUgb25lIG9mICcgLiBpbXBsb2RlKCcsICcsIGFycmF5X2tleXMoJHR5cGVzKSkpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnJlc3BvbnNlVHlwZSA9ICRyZXNwb25zZVR5cGU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzcG9uc2VOb3RlcygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXNwb25zZU5vdGVzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IG5vdGVzIGFib3V0IHRoZSByZXNwb25zZSBvZiB0aGUgb3BlcmF0aW9uCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbm90ZXMgUmVzcG9uc2Ugbm90ZXMKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFJlc3BvbnNlTm90ZXMoJG5vdGVzKQogICAgewogICAgICAgICR0aGlzLT5yZXNwb25zZU5vdGVzID0gJG5vdGVzOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldERlcHJlY2F0ZWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZGVwcmVjYXRlZDsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB3aGV0aGVyIG9yIG5vdCB0aGUgY29tbWFuZCBpcyBkZXByZWNhdGVkCiAgICAgKgogICAgICogQHBhcmFtIGJvb2wgJGlzRGVwcmVjYXRlZCBTZXQgdG8gdHJ1ZSB0byBtYXJrIGFzIGRlcHJlY2F0ZWQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldERlcHJlY2F0ZWQoJGlzRGVwcmVjYXRlZCkKICAgIHsKICAgICAgICAkdGhpcy0+ZGVwcmVjYXRlZCA9ICRpc0RlcHJlY2F0ZWQ7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VXJpKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnVyaTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgVVJJIHRlbXBsYXRlIG9mIHRoZSBjb21tYW5kCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXJpIFVSSSB0ZW1wbGF0ZSB0byBzZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFVyaSgkdXJpKQogICAgewogICAgICAgICR0aGlzLT51cmkgPSAkdXJpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldEVycm9yUmVzcG9uc2VzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmVycm9yUmVzcG9uc2VzOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGFuIGVycm9yIHRvIHRoZSBjb21tYW5kCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkY29kZSAgIEhUVFAgcmVzcG9uc2UgY29kZQogICAgICogQHBhcmFtIHN0cmluZyAkcmVhc29uIEhUVFAgcmVzcG9uc2UgcmVhc29uIHBocmFzZSBvciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZXJyb3IKICAgICAqIEBwYXJhbSBzdHJpbmcgJGNsYXNzICBFeGNlcHRpb24gY2xhc3MgYXNzb2NpYXRlZCB3aXRoIHRoZSBlcnJvcgogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkRXJyb3JSZXNwb25zZSgkY29kZSwgJHJlYXNvbiwgJGNsYXNzKQogICAgewogICAgICAgICR0aGlzLT5lcnJvclJlc3BvbnNlc1tdID0gYXJyYXkoJ2NvZGUnID0+ICRjb2RlLCAncmVhc29uJyA9PiAkcmVhc29uLCAnY2xhc3MnID0+ICRjbGFzcyk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBhbGwgb2YgdGhlIGVycm9yIHJlc3BvbnNlcyBvZiB0aGUgb3BlcmF0aW9uCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRlcnJvclJlc3BvbnNlcyBIYXNoIG9mIGVycm9yIG5hbWUgdG8gYSBoYXNoIGNvbnRhaW5pbmcgYSBjb2RlLCByZWFzb24sIGNsYXNzCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRFcnJvclJlc3BvbnNlcyhhcnJheSAkZXJyb3JSZXNwb25zZXMpCiAgICB7CiAgICAgICAgJHRoaXMtPmVycm9yUmVzcG9uc2VzID0gJGVycm9yUmVzcG9uc2VzOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldERhdGEoJG5hbWUpCiAgICB7CiAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5kYXRhWyRuYW1lXSkgPyAkdGhpcy0+ZGF0YVskbmFtZV0gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IGEgcGFydGljdWxhciBkYXRhIHBvaW50IG9uIHRoZSBvcGVyYXRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lICBOYW1lIG9mIHRoZSBkYXRhIHZhbHVlCiAgICAgKiBAcGFyYW0gbWl4ZWQgICR2YWx1ZSBWYWx1ZSB0byBzZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldERhdGEoJG5hbWUsICR2YWx1ZSkKICAgIHsKICAgICAgICAkdGhpcy0+ZGF0YVskbmFtZV0gPSAkdmFsdWU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgYWRkaXRpb25hbFBhcmFtZXRlcnMgb2YgdGhlIG9wZXJhdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gUGFyYW1ldGVyfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFkZGl0aW9uYWxQYXJhbWV0ZXJzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmFkZGl0aW9uYWxQYXJhbWV0ZXJzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBhZGRpdGlvbmFsUGFyYW1ldGVycyBvZiB0aGUgb3BlcmF0aW9uCiAgICAgKgogICAgICogQHBhcmFtIFBhcmFtZXRlcnxudWxsICRwYXJhbWV0ZXIgUGFyYW1ldGVyIHRvIHNldAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0QWRkaXRpb25hbFBhcmFtZXRlcnMoJHBhcmFtZXRlcikKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPmFkZGl0aW9uYWxQYXJhbWV0ZXJzID0gJHBhcmFtZXRlcikgewogICAgICAgICAgICAkdGhpcy0+YWRkaXRpb25hbFBhcmFtZXRlcnMtPnNldFBhcmVudCgkdGhpcyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBJbmZlciB0aGUgcmVzcG9uc2UgdHlwZSBmcm9tIHRoZSByZXNwb25zZUNsYXNzIHZhbHVlCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpbmZlclJlc3BvbnNlVHlwZSgpCiAgICB7CiAgICAgICAgc3RhdGljICRwcmltaXRpdmVzID0gYXJyYXkoJ2FycmF5JyA9PiAxLCAnYm9vbGVhbicgPT4gMSwgJ3N0cmluZycgPT4gMSwgJ2ludGVnZXInID0+IDEsICcnID0+IDEpOwogICAgICAgIGlmIChpc3NldCgkcHJpbWl0aXZlc1skdGhpcy0+cmVzcG9uc2VDbGFzc10pKSB7CiAgICAgICAgICAgICR0aGlzLT5yZXNwb25zZVR5cGUgPSBzZWxmOjpUWVBFX1BSSU1JVElWRTsKICAgICAgICB9IGVsc2VpZiAoJHRoaXMtPmRlc2NyaXB0aW9uICYmICR0aGlzLT5kZXNjcmlwdGlvbi0+aGFzTW9kZWwoJHRoaXMtPnJlc3BvbnNlQ2xhc3MpKSB7CiAgICAgICAgICAgICR0aGlzLT5yZXNwb25zZVR5cGUgPSBzZWxmOjpUWVBFX01PREVMOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5yZXNwb25zZVR5cGUgPSBzZWxmOjpUWVBFX0NMQVNTOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Description/OperationInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvbjsKCnVzZSBHdXp6bGVcQ29tbW9uXFRvQXJyYXlJbnRlcmZhY2U7CgovKioKICogSW50ZXJmYWNlIGRlZmluaW5nIGRhdGEgb2JqZWN0cyB0aGF0IGhvbGQgdGhlIGluZm9ybWF0aW9uIG9mIGFuIEFQSSBvcGVyYXRpb24KICovCmludGVyZmFjZSBPcGVyYXRpb25JbnRlcmZhY2UgZXh0ZW5kcyBUb0FycmF5SW50ZXJmYWNlCnsKICAgIGNvbnN0IFRZUEVfUFJJTUlUSVZFID0gJ3ByaW1pdGl2ZSc7CiAgICBjb25zdCBUWVBFX0NMQVNTID0gJ2NsYXNzJzsKICAgIGNvbnN0IFRZUEVfRE9DVU1FTlRBVElPTiA9ICdkb2N1bWVudGF0aW9uJzsKICAgIGNvbnN0IFRZUEVfTU9ERUwgPSAnbW9kZWwnOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uIHRoYXQgdGhlIG9wZXJhdGlvbiBiZWxvbmdzIHRvCiAgICAgKgogICAgICogQHJldHVybiBTZXJ2aWNlRGVzY3JpcHRpb25JbnRlcmZhY2V8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2VydmljZURlc2NyaXB0aW9uKCk7CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHNlcnZpY2UgZGVzY3JpcHRpb24gdGhhdCB0aGUgb3BlcmF0aW9uIGJlbG9uZ3MgdG8KICAgICAqCiAgICAgKiBAcGFyYW0gU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlICRkZXNjcmlwdGlvbiBTZXJ2aWNlIGRlc2NyaXB0aW9uCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRTZXJ2aWNlRGVzY3JpcHRpb24oU2VydmljZURlc2NyaXB0aW9uSW50ZXJmYWNlICRkZXNjcmlwdGlvbik7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHBhcmFtcyBvZiB0aGUgb3BlcmF0aW9uCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGFyYW1zKCk7CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIGFycmF5IG9mIHBhcmFtZXRlciBuYW1lcwogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhcmFtTmFtZXMoKTsKCiAgICAvKioKICAgICAqIENoZWNrIGlmIHRoZSBvcGVyYXRpb24gaGFzIGEgc3BlY2lmaWMgcGFyYW1ldGVyIGJ5IG5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIE5hbWUgb2YgdGhlIHBhcmFtCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNQYXJhbSgkbmFtZSk7CgogICAgLyoqCiAgICAgKiBHZXQgYSBzaW5nbGUgcGFyYW1ldGVyIG9mIHRoZSBvcGVyYXRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXJhbSBQYXJhbWV0ZXIgdG8gcmV0cmlldmUgYnkgbmFtZQogICAgICoKICAgICAqIEByZXR1cm4gUGFyYW1ldGVyfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhcmFtKCRwYXJhbSk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIEhUVFAgbWV0aG9kIG9mIHRoZSBvcGVyYXRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRIdHRwTWV0aG9kKCk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGNvbmNyZXRlIG9wZXJhdGlvbiBjbGFzcyB0aGF0IGltcGxlbWVudHMgdGhpcyBvcGVyYXRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2xhc3MoKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgbmFtZSBvZiB0aGUgb3BlcmF0aW9uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TmFtZSgpOwoKICAgIC8qKgogICAgICogR2V0IGEgc2hvcnQgc3VtbWFyeSBvZiB3aGF0IHRoZSBvcGVyYXRpb24gZG9lcwogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFN1bW1hcnkoKTsKCiAgICAvKioKICAgICAqIEdldCBhIGxvbmdlciB0ZXh0IGZpZWxkIHRvIGV4cGxhaW4gdGhlIGJlaGF2aW9yIG9mIHRoZSBvcGVyYXRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXROb3RlcygpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBkb2N1bWVudGF0aW9uIFVSTCBvZiB0aGUgb3BlcmF0aW9uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RG9jdW1lbnRhdGlvblVybCgpOwoKICAgIC8qKgogICAgICogR2V0IHdoYXQgaXMgcmV0dXJuZWQgZnJvbSB0aGUgbWV0aG9kLiBDYW4gYmUgYSBwcmltaXRpdmUsIGNsYXNzIG5hbWUsIG9yIG1vZGVsLiBGb3IgZXhhbXBsZSwgdGhlIHJlc3BvbnNlQ2xhc3MKICAgICAqIGNvdWxkIGJlICdhcnJheScsIHdoaWNoIHdvdWxkIGluaGVyZW50bHkgdXNlIGEgcmVzcG9uc2VUeXBlIG9mICdwcmltaXRpdmUnLiBVc2luZyBhIGNsYXNzIG5hbWUgd291bGQgc2V0IGEKICAgICAqIHJlc3BvbnNlVHlwZSBvZiAnY2xhc3MnLiBTcGVjaWZ5aW5nIGEgbW9kZWwgYnkgSUQgd2lsbCB1c2UgYSByZXNwb25zZVR5cGUgb2YgJ21vZGVsJy4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXNwb25zZUNsYXNzKCk7CgogICAgLyoqCiAgICAgKiBHZXQgaW5mb3JtYXRpb24gYWJvdXQgaG93IHRoZSByZXNwb25zZSBpcyB1bm1hcnNoYWxsZWQ6IE9uZSBvZiAncHJpbWl0aXZlJywgJ2NsYXNzJywgJ21vZGVsJywgb3IgJ2RvY3VtZW50YXRpb24nCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlc3BvbnNlVHlwZSgpOwoKICAgIC8qKgogICAgICogR2V0IG5vdGVzIGFib3V0IHRoZSByZXNwb25zZSBvZiB0aGUgb3BlcmF0aW9uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzcG9uc2VOb3RlcygpOwoKICAgIC8qKgogICAgICogR2V0IHdoZXRoZXIgb3Igbm90IHRoZSBvcGVyYXRpb24gaXMgZGVwcmVjYXRlZAogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGVwcmVjYXRlZCgpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBVUkkgdGhhdCB3aWxsIGJlIG1lcmdlZCBpbnRvIHRoZSBnZW5lcmF0ZWQgcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRVcmkoKTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgZXJyb3JzIHRoYXQgY291bGQgYmUgZW5jb3VudGVyZWQgd2hlbiBleGVjdXRpbmcgdGhlIG9wZXJhdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEVycm9yUmVzcG9uc2VzKCk7CgogICAgLyoqCiAgICAgKiBHZXQgZXh0cmEgZGF0YSBmcm9tIHRoZSBvcGVyYXRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIE5hbWUgb2YgdGhlIGRhdGEgcG9pbnQgdG8gcmV0cmlldmUKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldERhdGEoJG5hbWUpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Description/Parameter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvbjsKCnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CgovKioKICogQVBJIHBhcmFtZXRlciBvYmplY3QgdXNlZCB3aXRoIHNlcnZpY2UgZGVzY3JpcHRpb25zCiAqLwpjbGFzcyBQYXJhbWV0ZXIKewogICAgcHJvdGVjdGVkICRuYW1lOwogICAgcHJvdGVjdGVkICRkZXNjcmlwdGlvbjsKICAgIHByb3RlY3RlZCAkc2VydmljZURlc2NyaXB0aW9uOwogICAgcHJvdGVjdGVkICR0eXBlOwogICAgcHJvdGVjdGVkICRyZXF1aXJlZDsKICAgIHByb3RlY3RlZCAkZW51bTsKICAgIHByb3RlY3RlZCAkcGF0dGVybjsKICAgIHByb3RlY3RlZCAkbWluaW11bTsKICAgIHByb3RlY3RlZCAkbWF4aW11bTsKICAgIHByb3RlY3RlZCAkbWluTGVuZ3RoOwogICAgcHJvdGVjdGVkICRtYXhMZW5ndGg7CiAgICBwcm90ZWN0ZWQgJG1pbkl0ZW1zOwogICAgcHJvdGVjdGVkICRtYXhJdGVtczsKICAgIHByb3RlY3RlZCAkZGVmYXVsdDsKICAgIHByb3RlY3RlZCAkc3RhdGljOwogICAgcHJvdGVjdGVkICRpbnN0YW5jZU9mOwogICAgcHJvdGVjdGVkICRmaWx0ZXJzOwogICAgcHJvdGVjdGVkICRsb2NhdGlvbjsKICAgIHByb3RlY3RlZCAkc2VudEFzOwogICAgcHJvdGVjdGVkICRkYXRhOwogICAgcHJvdGVjdGVkICRwcm9wZXJ0aWVzID0gYXJyYXkoKTsKICAgIHByb3RlY3RlZCAkYWRkaXRpb25hbFByb3BlcnRpZXM7CiAgICBwcm90ZWN0ZWQgJGl0ZW1zOwogICAgcHJvdGVjdGVkICRwYXJlbnQ7CiAgICBwcm90ZWN0ZWQgJHJlZjsKICAgIHByb3RlY3RlZCAkZm9ybWF0OwogICAgcHJvdGVjdGVkICRwcm9wZXJ0aWVzQ2FjaGUgPSBudWxsOwoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgbmV3IFBhcmFtZXRlciB1c2luZyBhbiBhc3NvY2lhdGl2ZSBhcnJheSBvZiBkYXRhLiBUaGUgYXJyYXkgY2FuIGNvbnRhaW4gdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjoKICAgICAqIC0gbmFtZTogICAgICAgICAgKHN0cmluZykgVW5pcXVlIG5hbWUgb2YgdGhlIHBhcmFtZXRlcgogICAgICogLSB0eXBlOiAgICAgICAgICAoc3RyaW5nfGFycmF5KSBUeXBlIG9mIHZhcmlhYmxlIChzdHJpbmcsIG51bWJlciwgaW50ZWdlciwgYm9vbGVhbiwgb2JqZWN0LCBhcnJheSwgbnVtZXJpYywKICAgICAqICAgICAgICAgICAgICAgICAgbnVsbCwgYW55KS4gVHlwZXMgYXJlIHVzaW5nIGZvciB2YWxpZGF0aW9uIGFuZCBkZXRlcm1pbmluZyB0aGUgc3RydWN0dXJlIG9mIGEgcGFyYW1ldGVyLiBZb3UKICAgICAqICAgICAgICAgICAgICAgICAgY2FuIHVzZSBhIHVuaW9uIHR5cGUgYnkgcHJvdmlkaW5nIGFuIGFycmF5IG9mIHNpbXBsZSB0eXBlcy4gSWYgb25lIG9mIHRoZSB1bmlvbiB0eXBlcyBtYXRjaGVzCiAgICAgKiAgICAgICAgICAgICAgICAgIHRoZSBwcm92aWRlZCB2YWx1ZSwgdGhlbiB0aGUgdmFsdWUgaXMgdmFsaWQuCiAgICAgKiAtIGluc3RhbmNlT2Y6ICAgIChzdHJpbmcpIFdoZW4gdGhlIHR5cGUgaXMgYW4gb2JqZWN0LCB5b3UgY2FuIHNwZWNpZnkgdGhlIGNsYXNzIHRoYXQgdGhlIG9iamVjdCBtdXN0IGltcGxlbWVudAogICAgICogLSByZXF1aXJlZDogICAgICAoYm9vbCkgV2hldGhlciBvciBub3QgdGhlIHBhcmFtZXRlciBpcyByZXF1aXJlZAogICAgICogLSBkZWZhdWx0OiAgICAgICAobWl4ZWQpIERlZmF1bHQgdmFsdWUgdG8gdXNlIGlmIG5vIHZhbHVlIGlzIHN1cHBsaWVkCiAgICAgKiAtIHN0YXRpYzogICAgICAgIChib29sKSBTZXQgdG8gdHJ1ZSB0byBzcGVjaWZ5IHRoYXQgdGhlIHBhcmFtZXRlciB2YWx1ZSBjYW5ub3QgYmUgY2hhbmdlZCBmcm9tIHRoZSBkZWZhdWx0CiAgICAgKiAtIGRlc2NyaXB0aW9uOiAgIChzdHJpbmcpIERvY3VtZW50YXRpb24gb2YgdGhlIHBhcmFtZXRlcgogICAgICogLSBsb2NhdGlvbjogICAgICAoc3RyaW5nKSBUaGUgbG9jYXRpb24gb2YgYSByZXF1ZXN0IHVzZWQgdG8gYXBwbHkgYSBwYXJhbWV0ZXIuIEN1c3RvbSBsb2NhdGlvbnMgY2FuIGJlIHJlZ2lzdGVyZWQKICAgICAqICAgICAgICAgICAgICAgICAgd2l0aCBhIGNvbW1hbmQsIGJ1dCB0aGUgZGVmYXVsdHMgYXJlIHVyaSwgcXVlcnksIGhlYWRlciwgYm9keSwganNvbiwgeG1sLCBwb3N0RmllbGQsIHBvc3RGaWxlLgogICAgICogLSBzZW50QXM6ICAgICAgICAoc3RyaW5nKSBTcGVjaWZpZXMgaG93IHRoZSBkYXRhIGJlaW5nIG1vZGVsZWQgaXMgc2VudCBvdmVyIHRoZSB3aXJlLiBGb3IgZXhhbXBsZSwgeW91IG1heSB3aXNoCiAgICAgKiAgICAgICAgICAgICAgICAgIHRvIGluY2x1ZGUgY2VydGFpbiBoZWFkZXJzIGluIGEgcmVzcG9uc2UgbW9kZWwgdGhhdCBoYXZlIGEgbm9ybWFsaXplZCBjYXNpbmcgb2YgRm9vQmFyLCBidXQgdGhlCiAgICAgKiAgICAgICAgICAgICAgICAgIGFjdHVhbCBoZWFkZXIgaXMgeC1mb28tYmFyLiBJbiB0aGlzIGNhc2UsIHNlbnRBcyB3b3VsZCBiZSBzZXQgdG8geC1mb28tYmFyLgogICAgICogLSBmaWx0ZXJzOiAgICAgICAoYXJyYXkpIEFycmF5IG9mIHN0YXRpYyBtZXRob2QgbmFtZXMgdG8gdG8gcnVuIGEgcGFyYW1ldGVyIHZhbHVlIHRocm91Z2guIEVhY2ggdmFsdWUgaW4gdGhlCiAgICAgKiAgICAgICAgICAgICAgICAgIGFycmF5IG11c3QgYmUgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgZnVsbCBjbGFzcyBwYXRoIHRvIGEgc3RhdGljIG1ldGhvZCBvciBhbiBhcnJheSBvZiBjb21wbGV4CiAgICAgKiAgICAgICAgICAgICAgICAgIGZpbHRlciBpbmZvcm1hdGlvbi4gWW91IGNhbiBzcGVjaWZ5IHN0YXRpYyBtZXRob2RzIG9mIGNsYXNzZXMgdXNpbmcgdGhlIGZ1bGwgbmFtZXNwYWNlIGNsYXNzCiAgICAgKiAgICAgICAgICAgICAgICAgIG5hbWUgZm9sbG93ZWQgYnkgJzo6JyAoZS5nLiBGb29cQmFyOjpiYXooKSkuIFNvbWUgZmlsdGVycyByZXF1aXJlIGFyZ3VtZW50cyBpbiBvcmRlciB0byBwcm9wZXJseQogICAgICogICAgICAgICAgICAgICAgICBmaWx0ZXIgYSB2YWx1ZS4gRm9yIGNvbXBsZXggZmlsdGVycywgdXNlIGEgaGFzaCBjb250YWluaW5nIGEgJ21ldGhvZCcga2V5IHBvaW50aW5nIHRvIGEgc3RhdGljCiAgICAgKiAgICAgICAgICAgICAgICAgIG1ldGhvZCwgYW5kIGFuICdhcmdzJyBrZXkgY29udGFpbmluZyBhbiBhcnJheSBvZiBwb3NpdGlvbmFsIGFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBtZXRob2QuCiAgICAgKiAgICAgICAgICAgICAgICAgIEFyZ3VtZW50cyBjYW4gY29udGFpbiBrZXl3b3JkcyB0aGF0IGFyZSByZXBsYWNlZCB3aGVuIGZpbHRlcmluZyBhIHZhbHVlOiAnQHZhbHVlJyBpcyByZXBsYWNlZAogICAgICogICAgICAgICAgICAgICAgICB3aXRoIHRoZSB2YWx1ZSBiZWluZyB2YWxpZGF0ZWQsICdAYXBpJyBpcyByZXBsYWNlZCB3aXRoIHRoZSBQYXJhbWV0ZXIgb2JqZWN0LgogICAgICogLSBwcm9wZXJ0aWVzOiAgICBXaGVuIHRoZSB0eXBlIGlzIGFuIG9iamVjdCwgeW91IGNhbiBzcGVjaWZ5IG5lc3RlZCBwYXJhbWV0ZXJzCiAgICAgKiAtIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiAoYXJyYXkpIFRoaXMgYXR0cmlidXRlIGRlZmluZXMgYSBzY2hlbWEgZm9yIGFsbCBwcm9wZXJ0aWVzIHRoYXQgYXJlIG5vdCBleHBsaWNpdGx5CiAgICAgKiAgICAgICAgICAgICAgICAgIGRlZmluZWQgaW4gYW4gb2JqZWN0IHR5cGUgZGVmaW5pdGlvbi4gSWYgc3BlY2lmaWVkLCB0aGUgdmFsdWUgTVVTVCBiZSBhIHNjaGVtYSBvciBhIGJvb2xlYW4uIElmCiAgICAgKiAgICAgICAgICAgICAgICAgIGZhbHNlIGlzIHByb3ZpZGVkLCBubyBhZGRpdGlvbmFsIHByb3BlcnRpZXMgYXJlIGFsbG93ZWQgYmV5b25kIHRoZSBwcm9wZXJ0aWVzIGRlZmluZWQgaW4gdGhlCiAgICAgKiAgICAgICAgICAgICAgICAgIHNjaGVtYS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYW4gZW1wdHkgc2NoZW1hIHdoaWNoIGFsbG93cyBhbnkgdmFsdWUgZm9yIGFkZGl0aW9uYWwgcHJvcGVydGllcy4KICAgICAqIC0gaXRlbXM6ICAgICAgICAgVGhpcyBhdHRyaWJ1dGUgZGVmaW5lcyB0aGUgYWxsb3dlZCBpdGVtcyBpbiBhbiBpbnN0YW5jZSBhcnJheSwgYW5kIE1VU1QgYmUgYSBzY2hlbWEgb3IgYW4gYXJyYXkKICAgICAqICAgICAgICAgICAgICAgICAgb2Ygc2NoZW1hcy4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYW4gZW1wdHkgc2NoZW1hIHdoaWNoIGFsbG93cyBhbnkgdmFsdWUgZm9yIGl0ZW1zIGluIHRoZQogICAgICogICAgICAgICAgICAgICAgICBpbnN0YW5jZSBhcnJheS4KICAgICAqICAgICAgICAgICAgICAgICAgV2hlbiB0aGlzIGF0dHJpYnV0ZSB2YWx1ZSBpcyBhIHNjaGVtYSBhbmQgdGhlIGluc3RhbmNlIHZhbHVlIGlzIGFuIGFycmF5LCB0aGVuIGFsbCB0aGUgaXRlbXMKICAgICAqICAgICAgICAgICAgICAgICAgaW4gdGhlIGFycmF5IE1VU1QgYmUgdmFsaWQgYWNjb3JkaW5nIHRvIHRoZSBzY2hlbWEuCiAgICAgKiAtIHBhdHRlcm46ICAgICAgIFdoZW4gdGhlIHR5cGUgaXMgYSBzdHJpbmcsIHlvdSBjYW4gc3BlY2lmeSB0aGUgcmVnZXggcGF0dGVybiB0aGF0IGEgdmFsdWUgbXVzdCBtYXRjaAogICAgICogLSBlbnVtOiAgICAgICAgICBXaGVuIHRoZSB0eXBlIGlzIGEgc3RyaW5nLCB5b3UgY2FuIHNwZWNpZnkgYSBsaXN0IG9mIGFjY2VwdGFibGUgdmFsdWVzCiAgICAgKiAtIG1pbkl0ZW1zOiAgICAgIChpbnQpIE1pbmltdW0gbnVtYmVyIG9mIGl0ZW1zIGFsbG93ZWQgaW4gYW4gYXJyYXkKICAgICAqIC0gbWF4SXRlbXM6ICAgICAgKGludCkgTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgYWxsb3dlZCBpbiBhbiBhcnJheQogICAgICogLSBtaW5MZW5ndGg6ICAgICAoaW50KSBNaW5pbXVtIGxlbmd0aCBvZiBhIHN0cmluZwogICAgICogLSBtYXhMZW5ndGg6ICAgICAoaW50KSBNYXhpbXVtIGxlbmd0aCBvZiBhIHN0cmluZwogICAgICogLSBtaW5pbXVtOiAgICAgICAoaW50KSBNaW5pbXVtIHZhbHVlIG9mIGFuIGludGVnZXIKICAgICAqIC0gbWF4aW11bTogICAgICAgKGludCkgTWF4aW11bSB2YWx1ZSBvZiBhbiBpbnRlZ2VyCiAgICAgKiAtIGRhdGE6ICAgICAgICAgIChhcnJheSkgQW55IGFkZGl0aW9uYWwgY3VzdG9tIGRhdGEgdG8gdXNlIHdoZW4gc2VyaWFsaXppbmcsIHZhbGlkYXRpbmcsIGV0YwogICAgICogLSBmb3JtYXQ6ICAgICAgICAoc3RyaW5nKSBGb3JtYXQgdXNlZCB0byBjb2F4IGEgdmFsdWUgaW50byB0aGUgY29ycmVjdCBmb3JtYXQgd2hlbiBzZXJpYWxpemluZyBvciB1bnNlcmlhbGl6aW5nLgogICAgICogICAgICAgICAgICAgICAgICBZb3UgbWF5IHNwZWNpZnkgZWl0aGVyIGFuIGFycmF5IG9mIGZpbHRlcnMgT1IgYSBmb3JtYXQsIGJ1dCBub3QgYm90aC4KICAgICAqICAgICAgICAgICAgICAgICAgU3VwcG9ydGVkIHZhbHVlczogZGF0ZS10aW1lLCBkYXRlLCB0aW1lLCB0aW1lc3RhbXAsIGRhdGUtdGltZS1odHRwCiAgICAgKiAtICRyZWY6ICAgICAgICAgIChzdHJpbmcpIFN0cmluZyByZWZlcmVuY2luZyBhIHNlcnZpY2UgZGVzY3JpcHRpb24gbW9kZWwuIFRoZSBwYXJhbWV0ZXIgaXMgcmVwbGFjZWQgYnkgdGhlCiAgICAgKiAgICAgICAgICAgICAgICAgIHNjaGVtYSBjb250YWluZWQgaW4gdGhlIG1vZGVsLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICAgICAgICAgICAgJGRhdGEgICAgICAgIEFycmF5IG9mIGRhdGEgYXMgc2VlbiBpbiBzZXJ2aWNlIGRlc2NyaXB0aW9ucwogICAgICogQHBhcmFtIFNlcnZpY2VEZXNjcmlwdGlvbkludGVyZmFjZSAkZGVzY3JpcHRpb24gU2VydmljZSBkZXNjcmlwdGlvbiB1c2VkIHRvIHJlc29sdmUgbW9kZWxzIGlmICRyZWYgdGFncyBhcmUgZm91bmQKICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJGRhdGEgPSBhcnJheSgpLCBTZXJ2aWNlRGVzY3JpcHRpb25JbnRlcmZhY2UgJGRlc2NyaXB0aW9uID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoJGRlc2NyaXB0aW9uKSB7CiAgICAgICAgICAgIGlmIChpc3NldCgkZGF0YVsnJHJlZiddKSkgewogICAgICAgICAgICAgICAgaWYgKCRtb2RlbCA9ICRkZXNjcmlwdGlvbi0+Z2V0TW9kZWwoJGRhdGFbJyRyZWYnXSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9ICRtb2RlbC0+dG9BcnJheSgpICsgJGRhdGE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZWlmIChpc3NldCgkZGF0YVsnZXh0ZW5kcyddKSkgewogICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBwYXJhbWV0ZXIgZXh0ZW5kcyBmcm9tIGFub3RoZXIgcGFyYW1ldGVyIHRoZW4gc3RhcnQgd2l0aCB0aGUgYWN0dWFsIGRhdGEKICAgICAgICAgICAgICAgIC8vIHVuaW9uIGluIHRoZSBwYXJlbnQncyBkYXRhIChlLmcuIGFjdHVhbCBzdXBlcnNlZGVzIHBhcmVudCkKICAgICAgICAgICAgICAgIGlmICgkZXh0ZW5kcyA9ICRkZXNjcmlwdGlvbi0+Z2V0TW9kZWwoJGRhdGFbJ2V4dGVuZHMnXSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSArPSAkZXh0ZW5kcy0+dG9BcnJheSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBQdWxsIGNvbmZpZ3VyYXRpb24gZGF0YSBpbnRvIHRoZSBwYXJhbWV0ZXIKICAgICAgICBmb3JlYWNoICgkZGF0YSBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICAkdGhpcy0+eyRrZXl9ID0gJHZhbHVlOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnNlcnZpY2VEZXNjcmlwdGlvbiA9ICRkZXNjcmlwdGlvbjsKICAgICAgICAkdGhpcy0+cmVxdWlyZWQgPSAoYm9vbCkgJHRoaXMtPnJlcXVpcmVkOwogICAgICAgICR0aGlzLT5kYXRhID0gKGFycmF5KSAkdGhpcy0+ZGF0YTsKCiAgICAgICAgaWYgKCR0aGlzLT5maWx0ZXJzKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRGaWx0ZXJzKChhcnJheSkgJHRoaXMtPmZpbHRlcnMpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT50eXBlID09ICdvYmplY3QnICYmICR0aGlzLT5hZGRpdGlvbmFsUHJvcGVydGllcyA9PT0gbnVsbCkgewogICAgICAgICAgICAkdGhpcy0+YWRkaXRpb25hbFByb3BlcnRpZXMgPSB0cnVlOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnQgdGhlIG9iamVjdCB0byBhbiBhcnJheQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRvQXJyYXkoKQogICAgewogICAgICAgIHN0YXRpYyAkY2hlY2tzID0gYXJyYXkoJ3JlcXVpcmVkJywgJ2Rlc2NyaXB0aW9uJywgJ3N0YXRpYycsICd0eXBlJywgJ2Zvcm1hdCcsICdpbnN0YW5jZU9mJywgJ2xvY2F0aW9uJywgJ3NlbnRBcycsCiAgICAgICAgICAgICdwYXR0ZXJuJywgJ21pbmltdW0nLCAnbWF4aW11bScsICdtaW5JdGVtcycsICdtYXhJdGVtcycsICdtaW5MZW5ndGgnLCAnbWF4TGVuZ3RoJywgJ2RhdGEnLCAnZW51bScsCiAgICAgICAgICAgICdmaWx0ZXJzJyk7CgogICAgICAgICRyZXN1bHQgPSBhcnJheSgpOwoKICAgICAgICAvLyBBbnl0aGluZyB0aGF0IGlzIGluIHRoZSBgSXRlbXNgIGF0dHJpYnV0ZSBvZiBhbiBhcnJheSAqbXVzdCogaW5jbHVkZSBpdCdzIG5hbWUgaWYgYXZhaWxhYmxlCiAgICAgICAgaWYgKCR0aGlzLT5wYXJlbnQgaW5zdGFuY2VvZiBzZWxmICYmICR0aGlzLT5wYXJlbnQtPmdldFR5cGUoKSA9PSAnYXJyYXknICYmIGlzc2V0KCR0aGlzLT5uYW1lKSkgewogICAgICAgICAgICAkcmVzdWx0WyduYW1lJ10gPSAkdGhpcy0+bmFtZTsKICAgICAgICB9CgogICAgICAgIGZvcmVhY2ggKCRjaGVja3MgYXMgJGMpIHsKICAgICAgICAgICAgaWYgKCR2YWx1ZSA9ICR0aGlzLT57JGN9KSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0WyRjXSA9ICR2YWx1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT5kZWZhdWx0ICE9PSBudWxsKSB7CiAgICAgICAgICAgICRyZXN1bHRbJ2RlZmF1bHQnXSA9ICR0aGlzLT5kZWZhdWx0OwogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT5pdGVtcyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcmVzdWx0WydpdGVtcyddID0gJHRoaXMtPmdldEl0ZW1zKCktPnRvQXJyYXkoKTsKICAgICAgICB9CgogICAgICAgIGlmICgkdGhpcy0+YWRkaXRpb25hbFByb3BlcnRpZXMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHJlc3VsdFsnYWRkaXRpb25hbFByb3BlcnRpZXMnXSA9ICR0aGlzLT5nZXRBZGRpdGlvbmFsUHJvcGVydGllcygpOwogICAgICAgICAgICBpZiAoJHJlc3VsdFsnYWRkaXRpb25hbFByb3BlcnRpZXMnXSBpbnN0YW5jZW9mIHNlbGYpIHsKICAgICAgICAgICAgICAgICRyZXN1bHRbJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJ10gPSAkcmVzdWx0WydhZGRpdGlvbmFsUHJvcGVydGllcyddLT50b0FycmF5KCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICgkdGhpcy0+dHlwZSA9PSAnb2JqZWN0JyAmJiAkdGhpcy0+cHJvcGVydGllcykgewogICAgICAgICAgICAkcmVzdWx0Wydwcm9wZXJ0aWVzJ10gPSBhcnJheSgpOwogICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+Z2V0UHJvcGVydGllcygpIGFzICRuYW1lID0+ICRwcm9wZXJ0eSkgewogICAgICAgICAgICAgICAgJHJlc3VsdFsncHJvcGVydGllcyddWyRuYW1lXSA9ICRwcm9wZXJ0eS0+dG9BcnJheSgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZGVmYXVsdCBvciBzdGF0aWMgdmFsdWUgb2YgdGhlIGNvbW1hbmQgYmFzZWQgb24gYSB2YWx1ZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHZhbHVlIFZhbHVlIHRoYXQgaXMgY3VycmVudGx5IHNldAogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQgUmV0dXJucyB0aGUgdmFsdWUsIGEgc3RhdGljIHZhbHVlIGlmIG9uZSBpcyBwcmVzZW50LCBvciBhIGRlZmF1bHQgdmFsdWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFZhbHVlKCR2YWx1ZSkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnN0YXRpYyB8fCAoJHRoaXMtPmRlZmF1bHQgIT09IG51bGwgJiYgJHZhbHVlID09PSBudWxsKSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmRlZmF1bHQ7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHZhbHVlOwogICAgfQoKICAgIC8qKgogICAgICogUnVuIGEgdmFsdWUgdGhyb3VnaCB0aGUgZmlsdGVycyBPUiBmb3JtYXQgYXR0cmlidXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGFyYW1ldGVyCiAgICAgKgogICAgICogQHBhcmFtIG1peGVkICR2YWx1ZSBWYWx1ZSB0byBmaWx0ZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkIFJldHVybnMgdGhlIGZpbHRlcmVkIHZhbHVlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBmaWx0ZXIoJHZhbHVlKQogICAgewogICAgICAgIC8vIEZvcm1hdHMgYXJlIGFwcGxpZWQgZXhjbHVzaXZlbHkgYW5kIHN1cGVyc2VkIGZpbHRlcnMKICAgICAgICBpZiAoJHRoaXMtPmZvcm1hdCkgewogICAgICAgICAgICByZXR1cm4gU2NoZW1hRm9ybWF0dGVyOjpmb3JtYXQoJHRoaXMtPmZvcm1hdCwgJHZhbHVlKTsKICAgICAgICB9CgogICAgICAgIC8vIENvbnZlcnQgQm9vbGVhbiB2YWx1ZXMKICAgICAgICBpZiAoJHRoaXMtPnR5cGUgPT0gJ2Jvb2xlYW4nICYmICFpc19ib29sKCR2YWx1ZSkpIHsKICAgICAgICAgICAgJHZhbHVlID0gZmlsdGVyX3ZhcigkdmFsdWUsIEZJTFRFUl9WQUxJREFURV9CT09MRUFOKTsKICAgICAgICB9CgogICAgICAgIC8vIEFwcGx5IGZpbHRlcnMgdG8gdGhlIHZhbHVlCiAgICAgICAgaWYgKCR0aGlzLT5maWx0ZXJzKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5maWx0ZXJzIGFzICRmaWx0ZXIpIHsKICAgICAgICAgICAgICAgIGlmIChpc19hcnJheSgkZmlsdGVyKSkgewogICAgICAgICAgICAgICAgICAgIC8vIENvbnZlcnQgY29tcGxleCBmaWx0ZXJzIHRoYXQgaG9sZCB2YWx1ZSBwbGFjZSBob2xkZXJzCiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJGZpbHRlclsnYXJncyddIGFzICYkZGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGRhdGEgPT0gJ0B2YWx1ZScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkYXRhID0gJHZhbHVlOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJGRhdGEgPT0gJ0BhcGknKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGF0YSA9ICR0aGlzOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9IGNhbGxfdXNlcl9mdW5jX2FycmF5KCRmaWx0ZXJbJ21ldGhvZCddLCAkZmlsdGVyWydhcmdzJ10pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkdmFsdWUgPSBjYWxsX3VzZXJfZnVuYygkZmlsdGVyLCAkdmFsdWUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHZhbHVlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5uYW1lOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBrZXkgb2YgdGhlIHBhcmFtZXRlciwgd2hlcmUgc2VudEFzIHdpbGwgc3VwZXJzZWRlIG5hbWUgaWYgaXQgaXMgc2V0CiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFdpcmVOYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNlbnRBcyA/OiAkdGhpcy0+bmFtZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSBOYW1lIHRvIHNldAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0TmFtZSgkbmFtZSkKICAgIHsKICAgICAgICAkdGhpcy0+bmFtZSA9ICRuYW1lOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHR5cGUocykgb2YgdGhlIHBhcmFtZXRlcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUeXBlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnR5cGU7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHR5cGUocykgb2YgdGhlIHBhcmFtZXRlcgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8YXJyYXkgJHR5cGUgVHlwZSBvZiBwYXJhbWV0ZXIgb3IgYXJyYXkgb2Ygc2ltcGxlIHR5cGVzIHVzZWQgaW4gYSB1bmlvbgogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VHlwZSgkdHlwZSkKICAgIHsKICAgICAgICAkdGhpcy0+dHlwZSA9ICR0eXBlOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgaWYgdGhlIHBhcmFtZXRlciBpcyByZXF1aXJlZAogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVxdWlyZWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVxdWlyZWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgaWYgdGhlIHBhcmFtZXRlciBpcyByZXF1aXJlZAogICAgICoKICAgICAqIEBwYXJhbSBib29sICRpc1JlcXVpcmVkIFdoZXRoZXIgb3Igbm90IHRoZSBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFJlcXVpcmVkKCRpc1JlcXVpcmVkKQogICAgewogICAgICAgICR0aGlzLT5yZXF1aXJlZCA9IChib29sKSAkaXNSZXF1aXJlZDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBwYXJhbWV0ZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREZWZhdWx0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRlZmF1bHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIHBhcmFtZXRlcgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAkZGVmYXVsdCBEZWZhdWx0IHZhbHVlIHRvIHNldAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RGVmYXVsdCgkZGVmYXVsdCkKICAgIHsKICAgICAgICAkdGhpcy0+ZGVmYXVsdCA9ICRkZWZhdWx0OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBwYXJhbWV0ZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREZXNjcmlwdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5kZXNjcmlwdGlvbjsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHBhcmFtZXRlcgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGRlc2NyaXB0aW9uIERlc2NyaXB0aW9uCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXREZXNjcmlwdGlvbigkZGVzY3JpcHRpb24pCiAgICB7CiAgICAgICAgJHRoaXMtPmRlc2NyaXB0aW9uID0gJGRlc2NyaXB0aW9uOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG1pbmltdW0gYWNjZXB0YWJsZSB2YWx1ZSBmb3IgYW4gaW50ZWdlcgogICAgICoKICAgICAqIEByZXR1cm4gaW50fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE1pbmltdW0oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+bWluaW11bTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgbWluaW11bSBhY2NlcHRhYmxlIHZhbHVlIGZvciBhbiBpbnRlZ2VyCiAgICAgKgogICAgICogQHBhcmFtIGludHxudWxsICRtaW4gTWluaW11bQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0TWluaW11bSgkbWluKQogICAgewogICAgICAgICR0aGlzLT5taW5pbXVtID0gJG1pbjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBtYXhpbXVtIGFjY2VwdGFibGUgdmFsdWUgZm9yIGFuIGludGVnZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIGludHxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRNYXhpbXVtKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPm1heGltdW07CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIG1heGltdW0gYWNjZXB0YWJsZSB2YWx1ZSBmb3IgYW4gaW50ZWdlcgogICAgICoKICAgICAqIEBwYXJhbSBpbnQgJG1heCBNYXhpbXVtCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRNYXhpbXVtKCRtYXgpCiAgICB7CiAgICAgICAgJHRoaXMtPm1heGltdW0gPSAkbWF4OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG1pbmltdW0gYWxsb3dlZCBsZW5ndGggb2YgYSBzdHJpbmcgdmFsdWUKICAgICAqCiAgICAgKiBAcmV0dXJuIGludAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWluTGVuZ3RoKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPm1pbkxlbmd0aDsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgbWluaW11bSBhbGxvd2VkIGxlbmd0aCBvZiBhIHN0cmluZyB2YWx1ZQogICAgICoKICAgICAqIEBwYXJhbSBpbnR8bnVsbCAkbWluIE1pbmltdW0KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldE1pbkxlbmd0aCgkbWluKQogICAgewogICAgICAgICR0aGlzLT5taW5MZW5ndGggPSAkbWluOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG1heGltdW0gYWxsb3dlZCBsZW5ndGggb2YgYSBzdHJpbmcgdmFsdWUKICAgICAqCiAgICAgKiBAcmV0dXJuIGludHxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRNYXhMZW5ndGgoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+bWF4TGVuZ3RoOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoIG9mIGEgc3RyaW5nIHZhbHVlCiAgICAgKgogICAgICogQHBhcmFtIGludCAkbWF4IE1heGltdW0gbGVuZ3RoCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRNYXhMZW5ndGgoJG1heCkKICAgIHsKICAgICAgICAkdGhpcy0+bWF4TGVuZ3RoID0gJG1heDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBtYXhpbXVtIGFsbG93ZWQgbnVtYmVyIG9mIGl0ZW1zIGluIGFuIGFycmF5IHZhbHVlCiAgICAgKgogICAgICogQHJldHVybiBpbnR8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWF4SXRlbXMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+bWF4SXRlbXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIG1heGltdW0gYWxsb3dlZCBudW1iZXIgb2YgaXRlbXMgaW4gYW4gYXJyYXkgdmFsdWUKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRtYXggTWF4aW11bQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0TWF4SXRlbXMoJG1heCkKICAgIHsKICAgICAgICAkdGhpcy0+bWF4SXRlbXMgPSAkbWF4OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG1pbmltdW0gYWxsb3dlZCBudW1iZXIgb2YgaXRlbXMgaW4gYW4gYXJyYXkgdmFsdWUKICAgICAqCiAgICAgKiBAcmV0dXJuIGludAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWluSXRlbXMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+bWluSXRlbXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIG1pbmltdW0gYWxsb3dlZCBudW1iZXIgb2YgaXRlbXMgaW4gYW4gYXJyYXkgdmFsdWUKICAgICAqCiAgICAgKiBAcGFyYW0gaW50fG51bGwgJG1pbiBNaW5pbXVtCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRNaW5JdGVtcygkbWluKQogICAgewogICAgICAgICR0aGlzLT5taW5JdGVtcyA9ICRtaW47CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbG9jYXRpb24gb2YgdGhlIHBhcmFtZXRlcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldExvY2F0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmxvY2F0aW9uOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBsb2NhdGlvbiBvZiB0aGUgcGFyYW1ldGVyCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xudWxsICRsb2NhdGlvbiBMb2NhdGlvbiBvZiB0aGUgcGFyYW1ldGVyCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRMb2NhdGlvbigkbG9jYXRpb24pCiAgICB7CiAgICAgICAgJHRoaXMtPmxvY2F0aW9uID0gJGxvY2F0aW9uOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHNlbnRBcyBhdHRyaWJ1dGUgb2YgdGhlIHBhcmFtZXRlciB0aGF0IHVzZWQgd2l0aCBsb2NhdGlvbnMgdG8gc2VudEFzIGFuIGF0dHJpYnV0ZSB3aGVuIGl0IGlzIGJlaW5nCiAgICAgKiBhcHBsaWVkIHRvIGEgbG9jYXRpb24uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2VudEFzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNlbnRBczsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgc2VudEFzIGF0dHJpYnV0ZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAkbmFtZSBOYW1lIG9mIHRoZSB2YWx1ZSBhcyBpdCBpcyBzZW50IG92ZXIgdGhlIHdpcmUKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFNlbnRBcygkbmFtZSkKICAgIHsKICAgICAgICAkdGhpcy0+c2VudEFzID0gJG5hbWU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHJpZXZlIGEga25vd24gcHJvcGVydHkgZnJvbSB0aGUgcGFyYW1ldGVyIGJ5IG5hbWUgb3IgYSBkYXRhIHByb3BlcnR5IGJ5IG5hbWUuIFdoZW4gbm90IHNwZWNpZmljIG5hbWUgdmFsdWUKICAgICAqIGlzIHNwZWNpZmllZCwgYWxsIGRhdGEgcHJvcGVydGllcyB3aWxsIGJlIHJldHVybmVkLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAkbmFtZSBTcGVjaWZ5IGEgcGFydGljdWxhciBwcm9wZXJ0eSBuYW1lIHRvIHJldHJpZXZlCiAgICAgKgogICAgICogQHJldHVybiBhcnJheXxtaXhlZHxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREYXRhKCRuYW1lID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoISRuYW1lKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+ZGF0YTsKICAgICAgICB9CgogICAgICAgIGlmIChpc3NldCgkdGhpcy0+ZGF0YVskbmFtZV0pKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+ZGF0YVskbmFtZV07CiAgICAgICAgfSBlbHNlaWYgKGlzc2V0KCR0aGlzLT57JG5hbWV9KSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnskbmFtZX07CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgZXh0cmEgZGF0YSBwcm9wZXJ0aWVzIG9mIHRoZSBwYXJhbWV0ZXIgb3Igc2V0IGEgc3BlY2lmaWMgZXh0cmEgcHJvcGVydHkKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfGFycmF5fG51bGwgJG5hbWVPckRhdGEgVGhlIG5hbWUgb2YgYSBzcGVjaWZpYyBleHRyYSB0byBzZXQgb3IgYW4gYXJyYXkgb2YgZXh0cmFzIHRvIHNldAogICAgICogQHBhcmFtIG1peGVkfG51bGwgICAgICAgICRkYXRhICAgICAgIFdoZW4gc2V0dGluZyBhIHNwZWNpZmljIGV4dHJhIHByb3BlcnR5LCBzcGVjaWZ5IHRoZSBkYXRhIHRvIHNldCBmb3IgaXQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldERhdGEoJG5hbWVPckRhdGEsICRkYXRhID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoaXNfYXJyYXkoJG5hbWVPckRhdGEpKSB7CiAgICAgICAgICAgICR0aGlzLT5kYXRhID0gJG5hbWVPckRhdGE7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmRhdGFbJG5hbWVPckRhdGFdID0gJGRhdGE7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgd2hldGhlciBvciBub3QgdGhlIGRlZmF1bHQgdmFsdWUgY2FuIGJlIGNoYW5nZWQKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFN0YXRpYygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zdGF0aWM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdG8gdHJ1ZSBpZiB0aGUgZGVmYXVsdCB2YWx1ZSBjYW5ub3QgYmUgY2hhbmdlZAogICAgICoKICAgICAqIEBwYXJhbSBib29sICRzdGF0aWMgVHJ1ZSBvciBmYWxzZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U3RhdGljKCRzdGF0aWMpCiAgICB7CiAgICAgICAgJHRoaXMtPnN0YXRpYyA9IChib29sKSAkc3RhdGljOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYW4gYXJyYXkgb2YgZmlsdGVycyB1c2VkIGJ5IHRoZSBwYXJhbWV0ZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGaWx0ZXJzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmZpbHRlcnMgPzogYXJyYXkoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgYXJyYXkgb2YgZmlsdGVycyB1c2VkIGJ5IHRoZSBwYXJhbWV0ZXIKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGZpbHRlcnMgQXJyYXkgb2YgZnVuY3Rpb25zIHRvIHVzZSBhcyBmaWx0ZXJzCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRGaWx0ZXJzKGFycmF5ICRmaWx0ZXJzKQogICAgewogICAgICAgICR0aGlzLT5maWx0ZXJzID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkZmlsdGVycyBhcyAkZmlsdGVyKSB7CiAgICAgICAgICAgICR0aGlzLT5hZGRGaWx0ZXIoJGZpbHRlcik7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYSBmaWx0ZXIgdG8gdGhlIHBhcmFtZXRlcgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8YXJyYXkgJGZpbHRlciBNZXRob2QgdG8gZmlsdGVyIHRoZSB2YWx1ZSB0aHJvdWdoCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkRmlsdGVyKCRmaWx0ZXIpCiAgICB7CiAgICAgICAgaWYgKGlzX2FycmF5KCRmaWx0ZXIpKSB7CiAgICAgICAgICAgIGlmICghaXNzZXQoJGZpbHRlclsnbWV0aG9kJ10pKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdBIFttZXRob2RdIHZhbHVlIG11c3QgYmUgc3BlY2lmaWVkIGZvciBlYWNoIGNvbXBsZXggZmlsdGVyJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICghJHRoaXMtPmZpbHRlcnMpIHsKICAgICAgICAgICAgJHRoaXMtPmZpbHRlcnMgPSBhcnJheSgkZmlsdGVyKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+ZmlsdGVyc1tdID0gJGZpbHRlcjsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcGFyZW50IG9iamVjdCAoYW4ge0BzZWUgT3BlcmF0aW9uSW50ZXJmYWNlfSBvciB7QHNlZSBQYXJhbWV0ZXJ9CiAgICAgKgogICAgICogQHJldHVybiBPcGVyYXRpb25JbnRlcmZhY2V8UGFyYW1ldGVyfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhcmVudCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5wYXJlbnQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHBhcmVudCBvYmplY3Qgb2YgdGhlIHBhcmFtZXRlcgogICAgICoKICAgICAqIEBwYXJhbSBPcGVyYXRpb25JbnRlcmZhY2V8UGFyYW1ldGVyfG51bGwgJHBhcmVudCBQYXJlbnQgY29udGFpbmVyIG9mIHRoZSBwYXJhbWV0ZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFBhcmVudCgkcGFyZW50KQogICAgewogICAgICAgICR0aGlzLT5wYXJlbnQgPSAkcGFyZW50OwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHByb3BlcnRpZXMgb2YgdGhlIHBhcmFtZXRlcgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFByb3BlcnRpZXMoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPnByb3BlcnRpZXNDYWNoZSkgewogICAgICAgICAgICAkdGhpcy0+cHJvcGVydGllc0NhY2hlID0gYXJyYXkoKTsKICAgICAgICAgICAgZm9yZWFjaCAoYXJyYXlfa2V5cygkdGhpcy0+cHJvcGVydGllcykgYXMgJG5hbWUpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5wcm9wZXJ0aWVzQ2FjaGVbJG5hbWVdID0gJHRoaXMtPmdldFByb3BlcnR5KCRuYW1lKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5wcm9wZXJ0aWVzQ2FjaGU7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYSBzcGVjaWZpYyBwcm9wZXJ0eSBmcm9tIHRoZSBwYXJhbWV0ZXIKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIE5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlCiAgICAgKgogICAgICogQHJldHVybiBudWxsfFBhcmFtZXRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UHJvcGVydHkoJG5hbWUpCiAgICB7CiAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+cHJvcGVydGllc1skbmFtZV0pKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KCiAgICAgICAgaWYgKCEoJHRoaXMtPnByb3BlcnRpZXNbJG5hbWVdIGluc3RhbmNlb2Ygc2VsZikpIHsKICAgICAgICAgICAgJHRoaXMtPnByb3BlcnRpZXNbJG5hbWVdWyduYW1lJ10gPSAkbmFtZTsKICAgICAgICAgICAgJHRoaXMtPnByb3BlcnRpZXNbJG5hbWVdID0gbmV3IHN0YXRpYygkdGhpcy0+cHJvcGVydGllc1skbmFtZV0sICR0aGlzLT5zZXJ2aWNlRGVzY3JpcHRpb24pOwogICAgICAgICAgICAkdGhpcy0+cHJvcGVydGllc1skbmFtZV0tPnNldFBhcmVudCgkdGhpcyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPnByb3BlcnRpZXNbJG5hbWVdOwogICAgfQoKICAgIC8qKgogICAgICogUmVtb3ZlIGEgcHJvcGVydHkgZnJvbSB0aGUgcGFyYW1ldGVyCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSBOYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZW1vdmUKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZVByb3BlcnR5KCRuYW1lKQogICAgewogICAgICAgIHVuc2V0KCR0aGlzLT5wcm9wZXJ0aWVzWyRuYW1lXSk7CiAgICAgICAgJHRoaXMtPnByb3BlcnRpZXNDYWNoZSA9IG51bGw7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIHByb3BlcnR5IHRvIHRoZSBwYXJhbWV0ZXIKICAgICAqCiAgICAgKiBAcGFyYW0gUGFyYW1ldGVyICRwcm9wZXJ0eSBQcm9wZXJ0aWVzIHRvIHNldAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkUHJvcGVydHkoUGFyYW1ldGVyICRwcm9wZXJ0eSkKICAgIHsKICAgICAgICAkdGhpcy0+cHJvcGVydGllc1skcHJvcGVydHktPmdldE5hbWUoKV0gPSAkcHJvcGVydHk7CiAgICAgICAgJHByb3BlcnR5LT5zZXRQYXJlbnQoJHRoaXMpOwogICAgICAgICR0aGlzLT5wcm9wZXJ0aWVzQ2FjaGUgPSBudWxsOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGFkZGl0aW9uYWxQcm9wZXJ0aWVzIHZhbHVlIG9mIHRoZSBwYXJhbWV0ZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2x8UGFyYW1ldGVyfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFkZGl0aW9uYWxQcm9wZXJ0aWVzKCkKICAgIHsKICAgICAgICBpZiAoaXNfYXJyYXkoJHRoaXMtPmFkZGl0aW9uYWxQcm9wZXJ0aWVzKSkgewogICAgICAgICAgICAkdGhpcy0+YWRkaXRpb25hbFByb3BlcnRpZXMgPSBuZXcgc3RhdGljKCR0aGlzLT5hZGRpdGlvbmFsUHJvcGVydGllcywgJHRoaXMtPnNlcnZpY2VEZXNjcmlwdGlvbik7CiAgICAgICAgICAgICR0aGlzLT5hZGRpdGlvbmFsUHJvcGVydGllcy0+c2V0UGFyZW50KCR0aGlzKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+YWRkaXRpb25hbFByb3BlcnRpZXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGFkZGl0aW9uYWxQcm9wZXJ0aWVzIHZhbHVlIG9mIHRoZSBwYXJhbWV0ZXIKICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbHxQYXJhbWV0ZXJ8bnVsbCAkYWRkaXRpb25hbCBCb29sZWFuIHRvIGFsbG93IGFueSwgYW4gUGFyYW1ldGVyIHRvIHNwZWNpZnkgYSBzY2hlbWEsIG9yIGZhbHNlIHRvIGRpc2FsbG93CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRBZGRpdGlvbmFsUHJvcGVydGllcygkYWRkaXRpb25hbCkKICAgIHsKICAgICAgICAkdGhpcy0+YWRkaXRpb25hbFByb3BlcnRpZXMgPSAkYWRkaXRpb25hbDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBpdGVtcyBkYXRhIG9mIHRoZSBwYXJhbWV0ZXIKICAgICAqCiAgICAgKiBAcGFyYW0gUGFyYW1ldGVyfG51bGwgJGl0ZW1zIEl0ZW1zIHRvIHNldAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0SXRlbXMoUGFyYW1ldGVyICRpdGVtcyA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5pdGVtcyA9ICRpdGVtcykgewogICAgICAgICAgICAkdGhpcy0+aXRlbXMtPnNldFBhcmVudCgkdGhpcyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGl0ZW0gZGF0YSBvZiB0aGUgcGFyYW1ldGVyCiAgICAgKgogICAgICogQHJldHVybiBQYXJhbWV0ZXJ8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SXRlbXMoKQogICAgewogICAgICAgIGlmIChpc19hcnJheSgkdGhpcy0+aXRlbXMpKSB7CiAgICAgICAgICAgICR0aGlzLT5pdGVtcyA9IG5ldyBzdGF0aWMoJHRoaXMtPml0ZW1zLCAkdGhpcy0+c2VydmljZURlc2NyaXB0aW9uKTsKICAgICAgICAgICAgJHRoaXMtPml0ZW1zLT5zZXRQYXJlbnQoJHRoaXMpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5pdGVtczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgY2xhc3MgdGhhdCB0aGUgcGFyYW1ldGVyIG11c3QgaW1wbGVtZW50CiAgICAgKgogICAgICogQHJldHVybiBudWxsfHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SW5zdGFuY2VPZigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5pbnN0YW5jZU9mOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBjbGFzcyB0aGF0IHRoZSBwYXJhbWV0ZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAkaW5zdGFuY2VPZiBDbGFzcyBvciBpbnRlcmZhY2UgbmFtZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0SW5zdGFuY2VPZigkaW5zdGFuY2VPZikKICAgIHsKICAgICAgICAkdGhpcy0+aW5zdGFuY2VPZiA9ICRpbnN0YW5jZU9mOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGVudW0gb2Ygc3RyaW5ncyB0aGF0IGFyZSB2YWxpZCBmb3IgdGhlIHBhcmFtZXRlcgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXl8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RW51bSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5lbnVtOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBlbnVtIG9mIHN0cmluZ3MgdGhhdCBhcmUgdmFsaWQgZm9yIHRoZSBwYXJhbWV0ZXIKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXl8bnVsbCAkZW51bSBBcnJheSBvZiBzdHJpbmdzIG9yIG51bGwKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEVudW0oYXJyYXkgJGVudW0gPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5lbnVtID0gJGVudW07CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcmVnZXggcGF0dGVybiB0aGF0IG11c3QgbWF0Y2ggYSB2YWx1ZSB3aGVuIHRoZSB2YWx1ZSBpcyBhIHN0cmluZwogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYXR0ZXJuKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnBhdHRlcm47CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHJlZ2V4IHBhdHRlcm4gdGhhdCBtdXN0IG1hdGNoIGEgdmFsdWUgd2hlbiB0aGUgdmFsdWUgaXMgYSBzdHJpbmcKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXR0ZXJuIFJlZ2V4IHBhdHRlcm4KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFBhdHRlcm4oJHBhdHRlcm4pCiAgICB7CiAgICAgICAgJHRoaXMtPnBhdHRlcm4gPSAkcGF0dGVybjsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBmb3JtYXQgYXR0cmlidXRlIG9mIHRoZSBzY2hlbWEKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Rm9ybWF0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmZvcm1hdDsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgZm9ybWF0IGF0dHJpYnV0ZSBvZiB0aGUgc2NoZW1hCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZm9ybWF0IEZvcm1hdCB0byBzZXQgKGUuZy4gZGF0ZSwgZGF0ZS10aW1lLCB0aW1lc3RhbXAsIHRpbWUsIGRhdGUtdGltZS1odHRwKQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0Rm9ybWF0KCRmb3JtYXQpCiAgICB7CiAgICAgICAgJHRoaXMtPmZvcm1hdCA9ICRmb3JtYXQ7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Description/SchemaFormatter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvbjsKCnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CgovKioKICogSlNPTiBTY2hlbWEgZm9ybWF0dGVyIGNsYXNzCiAqLwpjbGFzcyBTY2hlbWFGb3JtYXR0ZXIKewogICAgLyoqIEB2YXIgXERhdGVUaW1lWm9uZSAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkdXRjVGltZVpvbmU7CgogICAgLyoqCiAgICAgKiBGb3JtYXQgYSB2YWx1ZSBieSBhIHJlZ2lzdGVyZWQgZm9ybWF0IG5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmb3JtYXQgUmVnaXN0ZXJlZCBmb3JtYXQgdXNlZCB0byBmb3JtYXQgdGhlIHZhbHVlCiAgICAgKiBAcGFyYW0gbWl4ZWQgICR2YWx1ZSAgVmFsdWUgYmVpbmcgZm9ybWF0dGVkCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZvcm1hdCgkZm9ybWF0LCAkdmFsdWUpCiAgICB7CiAgICAgICAgc3dpdGNoICgkZm9ybWF0KSB7CiAgICAgICAgICAgIGNhc2UgJ2RhdGUtdGltZSc6CiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZjo6Zm9ybWF0RGF0ZVRpbWUoJHZhbHVlKTsKICAgICAgICAgICAgY2FzZSAnZGF0ZS10aW1lLWh0dHAnOgogICAgICAgICAgICAgICAgcmV0dXJuIHNlbGY6OmZvcm1hdERhdGVUaW1lSHR0cCgkdmFsdWUpOwogICAgICAgICAgICBjYXNlICdkYXRlJzoKICAgICAgICAgICAgICAgIHJldHVybiBzZWxmOjpmb3JtYXREYXRlKCR2YWx1ZSk7CiAgICAgICAgICAgIGNhc2UgJ3RpbWUnOgogICAgICAgICAgICAgICAgcmV0dXJuIHNlbGY6OmZvcm1hdFRpbWUoJHZhbHVlKTsKICAgICAgICAgICAgY2FzZSAndGltZXN0YW1wJzoKICAgICAgICAgICAgICAgIHJldHVybiBzZWxmOjpmb3JtYXRUaW1lc3RhbXAoJHZhbHVlKTsKICAgICAgICAgICAgY2FzZSAnYm9vbGVhbi1zdHJpbmcnOgogICAgICAgICAgICAgICAgcmV0dXJuIHNlbGY6OmZvcm1hdEJvb2xlYW5Bc1N0cmluZygkdmFsdWUpOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgcmV0dXJuICR2YWx1ZTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBJU08gODYwMSAoWVlZWS1NTS1ERFRoaDptbTpzc1opIGZvcm1hdHRlZCBkYXRlIHRpbWUgdmFsdWUgaW4gVVRDIHRpbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludGVnZXJ8XERhdGVUaW1lICR2YWx1ZSBEYXRlIHRpbWUgdmFsdWUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZvcm1hdERhdGVUaW1lKCR2YWx1ZSkKICAgIHsKICAgICAgICByZXR1cm4gc2VsZjo6ZGF0ZUZvcm1hdHRlcigkdmFsdWUsICdZLW0tZFxUSDppOnNcWicpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIEhUVFAgZGF0ZSAoUkZDIDExMjMgLyBSRkMgODIyKSBmb3JtYXR0ZWQgVVRDIGRhdGUtdGltZSBzdHJpbmcKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludGVnZXJ8XERhdGVUaW1lICR2YWx1ZSBEYXRlIHRpbWUgdmFsdWUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZvcm1hdERhdGVUaW1lSHR0cCgkdmFsdWUpCiAgICB7CiAgICAgICAgcmV0dXJuIHNlbGY6OmRhdGVGb3JtYXR0ZXIoJHZhbHVlLCAnRCwgZCBNIFkgSDppOnMgXEdcTVxUJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBZWVlZLU1NLUREIGZvcm1hdHRlZCBzdHJpbmcKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludGVnZXJ8XERhdGVUaW1lICR2YWx1ZSBEYXRlIHRpbWUgdmFsdWUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZvcm1hdERhdGUoJHZhbHVlKQogICAgewogICAgICAgIHJldHVybiBzZWxmOjpkYXRlRm9ybWF0dGVyKCR2YWx1ZSwgJ1ktbS1kJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBoaDptbTpzcyBmb3JtYXR0ZWQgc3RyaW5nCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xpbnRlZ2VyfFxEYXRlVGltZSAkdmFsdWUgRGF0ZSB0aW1lIHZhbHVlCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmb3JtYXRUaW1lKCR2YWx1ZSkKICAgIHsKICAgICAgICByZXR1cm4gc2VsZjo6ZGF0ZUZvcm1hdHRlcigkdmFsdWUsICdIOmk6cycpOwogICAgfQoKICAgIC8qKgogICAgICogRm9ybWF0cyBhIGJvb2xlYW4gdmFsdWUgYXMgYSBzdHJpbmcKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludGVnZXJ8Ym9vbCAkdmFsdWUgVmFsdWUgdG8gY29udmVydCB0byBhIGJvb2xlYW4gJ3RydWUnIC8gJ2ZhbHNlJyB2YWx1ZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZm9ybWF0Qm9vbGVhbkFzU3RyaW5nKCR2YWx1ZSkKICAgIHsKICAgICAgICByZXR1cm4gZmlsdGVyX3ZhcigkdmFsdWUsIEZJTFRFUl9WQUxJREFURV9CT09MRUFOKSA/ICd0cnVlJyA6ICdmYWxzZSc7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYSBVTklYIHRpbWVzdGFtcCBpbiB0aGUgVVRDIHRpbWV6b25lCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xpbnRlZ2VyfFxEYXRlVGltZSAkdmFsdWUgVGltZSB2YWx1ZQogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZm9ybWF0VGltZXN0YW1wKCR2YWx1ZSkKICAgIHsKICAgICAgICByZXR1cm4gKGludCkgc2VsZjo6ZGF0ZUZvcm1hdHRlcigkdmFsdWUsICdVJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYSBVVEMgRGF0ZVRpbWVab25lIG9iamVjdAogICAgICoKICAgICAqIEByZXR1cm4gXERhdGVUaW1lWm9uZQogICAgICovCiAgICBwcm90ZWN0ZWQgc3RhdGljIGZ1bmN0aW9uIGdldFV0Y1RpbWVab25lKCkKICAgIHsKICAgICAgICAvLyBAY29kZUNvdmVyYWdlSWdub3JlU3RhcnQKICAgICAgICBpZiAoIXNlbGY6OiR1dGNUaW1lWm9uZSkgewogICAgICAgICAgICBzZWxmOjokdXRjVGltZVpvbmUgPSBuZXcgXERhdGVUaW1lWm9uZSgnVVRDJyk7CiAgICAgICAgfQogICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVFbmQKCiAgICAgICAgcmV0dXJuIHNlbGY6OiR1dGNUaW1lWm9uZTsKICAgIH0KCiAgICAvKioKICAgICAqIFBlcmZvcm0gdGhlIGFjdHVhbCBEYXRlVGltZSBmb3JtYXR0aW5nCiAgICAgKgogICAgICogQHBhcmFtIGludHxzdHJpbmd8XERhdGVUaW1lICRkYXRlVGltZSBEYXRlIHRpbWUgdmFsdWUKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgICAgICAkZm9ybWF0ICAgRm9ybWF0IG9mIHRoZSByZXN1bHQKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyBmdW5jdGlvbiBkYXRlRm9ybWF0dGVyKCRkYXRlVGltZSwgJGZvcm1hdCkKICAgIHsKICAgICAgICBpZiAoaXNfbnVtZXJpYygkZGF0ZVRpbWUpKSB7CiAgICAgICAgICAgIHJldHVybiBnbWRhdGUoJGZvcm1hdCwgKGludCkgJGRhdGVUaW1lKTsKICAgICAgICB9CgogICAgICAgIGlmIChpc19zdHJpbmcoJGRhdGVUaW1lKSkgewogICAgICAgICAgICAkZGF0ZVRpbWUgPSBuZXcgXERhdGVUaW1lKCRkYXRlVGltZSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJGRhdGVUaW1lIGluc3RhbmNlb2YgXERhdGVUaW1lKSB7CiAgICAgICAgICAgIHJldHVybiAkZGF0ZVRpbWUtPnNldFRpbWV6b25lKHNlbGY6OmdldFV0Y1RpbWVab25lKCkpLT5mb3JtYXQoJGZvcm1hdCk7CiAgICAgICAgfQoKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdEYXRlL1RpbWUgdmFsdWVzIG11c3QgYmUgZWl0aGVyIGEgc3RyaW5nLCBpbnRlZ2VyLCBvciBEYXRlVGltZSBvYmplY3QnKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Description/SchemaValidator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvbjsKCnVzZSBHdXp6bGVcQ29tbW9uXFRvQXJyYXlJbnRlcmZhY2U7CgovKioKICogRGVmYXVsdCBwYXJhbWV0ZXIgdmFsaWRhdG9yCiAqLwpjbGFzcyBTY2hlbWFWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3JJbnRlcmZhY2UKewogICAgLyoqIEB2YXIgc2VsZiBDYWNoZSBpbnN0YW5jZSBvZiB0aGUgb2JqZWN0ICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRpbnN0YW5jZTsKCiAgICAvKiogQHZhciBib29sIFdoZXRoZXIgb3Igbm90IGludGVnZXJzIGFyZSBjb252ZXJ0ZWQgdG8gc3RyaW5ncyB3aGVuIGFuIGludGVnZXIgaXMgcmVjZWl2ZWQgZm9yIGEgc3RyaW5nIGlucHV0ICovCiAgICBwcm90ZWN0ZWQgJGNhc3RJbnRlZ2VyVG9TdHJpbmdUeXBlOwoKICAgIC8qKiBAdmFyIGFycmF5IEVycm9ycyBlbmNvdW50ZXJlZCB3aGlsZSB2YWxpZGF0aW5nICovCiAgICBwcm90ZWN0ZWQgJGVycm9yczsKCiAgICAvKioKICAgICAqIEByZXR1cm4gc2VsZgogICAgICogQGNvZGVDb3ZlcmFnZUlnbm9yZQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEluc3RhbmNlKCkKICAgIHsKICAgICAgICBpZiAoIXNlbGY6OiRpbnN0YW5jZSkgewogICAgICAgICAgICBzZWxmOjokaW5zdGFuY2UgPSBuZXcgc2VsZigpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHNlbGY6OiRpbnN0YW5jZTsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBib29sICRjYXN0SW50ZWdlclRvU3RyaW5nVHlwZSBTZXQgdG8gdHJ1ZSB0byBjb252ZXJ0IGludGVnZXJzIGludG8gc3RyaW5ncyB3aGVuIGEgcmVxdWlyZWQgdHlwZSBpcyBhCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nIGFuZCB0aGUgaW5wdXQgdmFsdWUgaXMgYW4gaW50ZWdlci4gRGVmYXVsdHMgdG8gdHJ1ZS4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjYXN0SW50ZWdlclRvU3RyaW5nVHlwZSA9IHRydWUpCiAgICB7CiAgICAgICAgJHRoaXMtPmNhc3RJbnRlZ2VyVG9TdHJpbmdUeXBlID0gJGNhc3RJbnRlZ2VyVG9TdHJpbmdUeXBlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZShQYXJhbWV0ZXIgJHBhcmFtLCAmJHZhbHVlKQogICAgewogICAgICAgICR0aGlzLT5lcnJvcnMgPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5yZWN1cnNpdmVQcm9jZXNzKCRwYXJhbSwgJHZhbHVlKTsKCiAgICAgICAgaWYgKGVtcHR5KCR0aGlzLT5lcnJvcnMpKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHNvcnQoJHRoaXMtPmVycm9ycyk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGVycm9ycyBlbmNvdW50ZXJlZCB3aGlsZSB2YWxpZGF0aW5nCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXJyb3JzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmVycm9ycyA/OiBhcnJheSgpOwogICAgfQoKICAgIC8qKgogICAgICogUmVjdXJzaXZlbHkgdmFsaWRhdGUgYSBwYXJhbWV0ZXIKICAgICAqCiAgICAgKiBAcGFyYW0gUGFyYW1ldGVyICRwYXJhbSAgQVBJIHBhcmFtZXRlciBiZWluZyB2YWxpZGF0ZWQKICAgICAqIEBwYXJhbSBtaXhlZCAgICAgJHZhbHVlICBWYWx1ZSB0byB2YWxpZGF0ZSBhbmQgdmFsaWRhdGUuIFRoZSB2YWx1ZSBtYXkgY2hhbmdlIGR1cmluZyB0aGlzIHZhbGlkYXRlLgogICAgICogQHBhcmFtIHN0cmluZyAgICAkcGF0aCAgIEN1cnJlbnQgdmFsaWRhdGlvbiBwYXRoICh1c2VkIGZvciBlcnJvciByZXBvcnRpbmcpCiAgICAgKiBAcGFyYW0gaW50ICAgICAgICRkZXB0aCAgQ3VycmVudCBkZXB0aCBpbiB0aGUgdmFsaWRhdGlvbiB2YWxpZGF0ZQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbCBSZXR1cm5zIHRydWUgaWYgdmFsaWQsIG9yIGZhbHNlIGlmIGludmFsaWQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlY3Vyc2l2ZVByb2Nlc3MoUGFyYW1ldGVyICRwYXJhbSwgJiR2YWx1ZSwgJHBhdGggPSAnJywgJGRlcHRoID0gMCkKICAgIHsKICAgICAgICAvLyBVcGRhdGUgdGhlIHZhbHVlIGJ5IGFkZGluZyBkZWZhdWx0IG9yIHN0YXRpYyB2YWx1ZXMKICAgICAgICAkdmFsdWUgPSAkcGFyYW0tPmdldFZhbHVlKCR2YWx1ZSk7CgogICAgICAgICRyZXF1aXJlZCA9ICRwYXJhbS0+Z2V0UmVxdWlyZWQoKTsKICAgICAgICAvLyBpZiB0aGUgdmFsdWUgaXMgbnVsbCBhbmQgdGhlIHBhcmFtZXRlciBpcyBub3QgcmVxdWlyZWQgb3IgaXMgc3RhdGljLCB0aGVuIHNraXAgYW55IGZ1cnRoZXIgcmVjdXJzaW9uCiAgICAgICAgaWYgKChudWxsID09PSAkdmFsdWUgJiYgISRyZXF1aXJlZCkgfHwgJHBhcmFtLT5nZXRTdGF0aWMoKSkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgICR0eXBlID0gJHBhcmFtLT5nZXRUeXBlKCk7CiAgICAgICAgLy8gQXR0ZW1wdCB0byBsaW1pdCB0aGUgbnVtYmVyIG9mIHRpbWVzIGlzX2FycmF5IGlzIGNhbGxlZCBieSB0cmFja2luZyBpZiB0aGUgdmFsdWUgaXMgYW4gYXJyYXkKICAgICAgICAkdmFsdWVJc0FycmF5ID0gaXNfYXJyYXkoJHZhbHVlKTsKICAgICAgICAvLyBJZiBhIG5hbWUgaXMgc2V0IHRoZW4gdXBkYXRlIHRoZSBwYXRoIHNvIHRoYXQgdmFsaWRhdGlvbiBtZXNzYWdlcyBhcmUgbW9yZSBoZWxwZnVsCiAgICAgICAgaWYgKCRuYW1lID0gJHBhcmFtLT5nZXROYW1lKCkpIHsKICAgICAgICAgICAgJHBhdGggLj0gIlt7JG5hbWV9XSI7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHR5cGUgPT0gJ29iamVjdCcpIHsKCiAgICAgICAgICAgIC8vIE9iamVjdHMgYXJlIGVpdGhlciBhc3NvY2lhdGl2ZSBhcnJheXMsIFRvQXJyYXlJbnRlcmZhY2UsIG9yIHNvbWUgb3RoZXIgb2JqZWN0CiAgICAgICAgICAgIGlmICgkcGFyYW0tPmdldEluc3RhbmNlT2YoKSkgewogICAgICAgICAgICAgICAgJGluc3RhbmNlID0gJHBhcmFtLT5nZXRJbnN0YW5jZU9mKCk7CiAgICAgICAgICAgICAgICBpZiAoISgkdmFsdWUgaW5zdGFuY2VvZiAkaW5zdGFuY2UpKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmVycm9yc1tdID0gInskcGF0aH0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiB7JGluc3RhbmNlfSI7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBEZXRlcm1pbmUgd2hldGhlciBvciBub3QgdGhpcyAidmFsdWUiIGhhcyBwcm9wZXJ0aWVzIGFuZCBzaG91bGQgYmUgdHJhdmVyc2VkCiAgICAgICAgICAgICR0cmF2ZXJzZSA9ICR0ZW1wb3JhcnlWYWx1ZSA9IGZhbHNlOwoKICAgICAgICAgICAgLy8gQ29udmVydCB0aGUgdmFsdWUgdG8gYW4gYXJyYXkKICAgICAgICAgICAgaWYgKCEkdmFsdWVJc0FycmF5ICYmICR2YWx1ZSBpbnN0YW5jZW9mIFRvQXJyYXlJbnRlcmZhY2UpIHsKICAgICAgICAgICAgICAgICR2YWx1ZSA9ICR2YWx1ZS0+dG9BcnJheSgpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJHZhbHVlSXNBcnJheSkgewogICAgICAgICAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGFycmF5IGlzIGFzc29jaWF0aXZlIGFuZCBub3QgbnVtZXJpY2FsbHkgaW5kZXhlZAogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCR2YWx1ZVswXSkpIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+ZXJyb3JzW10gPSAieyRwYXRofSBtdXN0IGJlIGFuIGFycmF5IG9mIHByb3BlcnRpZXMuIEdvdCBhIG51bWVyaWNhbGx5IGluZGV4ZWQgYXJyYXkuIjsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkdHJhdmVyc2UgPSB0cnVlOwogICAgICAgICAgICB9IGVsc2VpZiAoJHZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICAvLyBBdHRlbXB0IHRvIGxldCB0aGUgY29udGVudHMgYmUgYnVpbHQgdXAgYnkgZGVmYXVsdCB2YWx1ZXMgaWYgcG9zc2libGUKICAgICAgICAgICAgICAgICR2YWx1ZSA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAkdGVtcG9yYXJ5VmFsdWUgPSAkdmFsdWVJc0FycmF5ID0gJHRyYXZlcnNlID0gdHJ1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCR0cmF2ZXJzZSkgewoKICAgICAgICAgICAgICAgIGlmICgkcHJvcGVydGllcyA9ICRwYXJhbS0+Z2V0UHJvcGVydGllcygpKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gaWYgcHJvcGVydGllcyB3ZXJlIGZvdW5kLCB0aGUgdmFsaWRhdGUgZWFjaCBwcm9wZXJ0eSBvZiB0aGUgdmFsdWUKICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkcHJvcGVydGllcyBhcyAkcHJvcGVydHkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG5hbWUgPSAkcHJvcGVydHktPmdldE5hbWUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzc2V0KCR2YWx1ZVskbmFtZV0pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cmVjdXJzaXZlUHJvY2VzcygkcHJvcGVydHksICR2YWx1ZVskbmFtZV0sICRwYXRoLCAkZGVwdGggKyAxKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXJyZW50ID0gbnVsbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5yZWN1cnNpdmVQcm9jZXNzKCRwcm9wZXJ0eSwgJGN1cnJlbnQsICRwYXRoLCAkZGVwdGggKyAxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9ubHkgc2V0IHRoZSB2YWx1ZSBpZiBpdCB3YXMgcG9wdWxhdGVkIHdpdGggc29tZXRoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVsbCAhPT0gJGN1cnJlbnQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdmFsdWVbJG5hbWVdID0gJGN1cnJlbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJGFkZGl0aW9uYWwgPSAkcGFyYW0tPmdldEFkZGl0aW9uYWxQcm9wZXJ0aWVzKCk7CiAgICAgICAgICAgICAgICBpZiAoJGFkZGl0aW9uYWwgIT09IHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAvLyBJZiBhZGRpdGlvbmFsIHByb3BlcnRpZXMgd2VyZSBmb3VuZCwgdGhlbiB2YWxpZGF0ZSBlYWNoIGFnYWluc3QgdGhlIGFkZGl0aW9uYWxQcm9wZXJ0aWVzIGF0dHIuCiAgICAgICAgICAgICAgICAgICAgJGtleXMgPSBhcnJheV9rZXlzKCR2YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgLy8gRGV0ZXJtaW5lIHRoZSBrZXlzIHRoYXQgd2VyZSBzcGVjaWZpZWQgdGhhdCB3ZXJlIG5vdCBsaXN0ZWQgaW4gdGhlIHByb3BlcnRpZXMgb2YgdGhlIHNjaGVtYQogICAgICAgICAgICAgICAgICAgICRkaWZmID0gYXJyYXlfZGlmZigka2V5cywgYXJyYXlfa2V5cygkcHJvcGVydGllcykpOwogICAgICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJGRpZmYpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERldGVybWluZSB3aGljaCBrZXlzIGFyZSBub3QgaW4gdGhlIHByb3BlcnRpZXMKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRhZGRpdGlvbmFsIGluc3RhbmNlT2YgUGFyYW1ldGVyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkZGlmZiBhcyAka2V5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnJlY3Vyc2l2ZVByb2Nlc3MoJGFkZGl0aW9uYWwsICR2YWx1ZVska2V5XSwgInskcGF0aH1beyRrZXl9XSIsICRkZXB0aCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiBhZGRpdGlvbmFsUHJvcGVydGllcyBpcyBzZXQgdG8gZmFsc2UgYW5kIHRoZXJlIGFyZSBhZGRpdGlvbmFsUHJvcGVydGllcyBpbiB0aGUgdmFsdWVzLCB0aGVuIGZhaWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRrZXlzID0gYXJyYXlfa2V5cygkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmVycm9yc1tdID0gc3ByaW50ZignJXNbJXNdIGlzIG5vdCBhbiBhbGxvd2VkIHByb3BlcnR5JywgJHBhdGgsIHJlc2V0KCRrZXlzKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gQSB0ZW1wb3JhcnkgdmFsdWUgd2lsbCBiZSB1c2VkIHRvIHRyYXZlcnNlIGVsZW1lbnRzIHRoYXQgaGF2ZSBubyBjb3JyZXNwb25kaW5nIGlucHV0IHZhbHVlLgogICAgICAgICAgICAgICAgLy8gVGhpcyBhbGxvd3MgbmVzdGVkIHJlcXVpcmVkIHBhcmFtZXRlcnMgd2l0aCBkZWZhdWx0IHZhbHVlcyB0byBidWJibGUgdXAgaW50byB0aGUgaW5wdXQuCiAgICAgICAgICAgICAgICAvLyBIZXJlIHdlIGNoZWNrIGlmIHdlIHVzZWQgYSB0ZW1wIHZhbHVlIGFuZCBub3RoaW5nIGJ1YmJsZWQgdXAsIHRoZW4gd2UgbmVlZCB0byByZW1vdGUgdGhlIHZhbHVlLgogICAgICAgICAgICAgICAgaWYgKCR0ZW1wb3JhcnlWYWx1ZSAmJiBlbXB0eSgkdmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgJHZhbHVlID0gbnVsbDsKICAgICAgICAgICAgICAgICAgICAkdmFsdWVJc0FycmF5ID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgfSBlbHNlaWYgKCR0eXBlID09ICdhcnJheScgJiYgJHZhbHVlSXNBcnJheSAmJiAkcGFyYW0tPmdldEl0ZW1zKCkpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHZhbHVlIGFzICRpID0+ICYkaXRlbSkgewogICAgICAgICAgICAgICAgLy8gVmFsaWRhdGUgZWFjaCBpdGVtIGluIGFuIGFycmF5IGFnYWluc3QgdGhlIGl0ZW1zIGF0dHJpYnV0ZSBvZiB0aGUgc2NoZW1hCiAgICAgICAgICAgICAgICAkdGhpcy0+cmVjdXJzaXZlUHJvY2VzcygkcGFyYW0tPmdldEl0ZW1zKCksICRpdGVtLCAkcGF0aCAuICJbeyRpfV0iLCAkZGVwdGggKyAxKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gSWYgdGhlIHZhbHVlIGlzIHJlcXVpcmVkIGFuZCB0aGUgdHlwZSBpcyBub3QgbnVsbCwgdGhlbiB0aGVyZSBpcyBhbiBlcnJvciBpZiB0aGUgdmFsdWUgaXMgbm90IHNldAogICAgICAgIGlmICgkcmVxdWlyZWQgJiYgJHZhbHVlID09PSBudWxsICYmICR0eXBlICE9ICdudWxsJykgewogICAgICAgICAgICAkbWVzc2FnZSA9ICJ7JHBhdGh9IGlzICIgLiAoJHBhcmFtLT5nZXRUeXBlKCkgPyAoJ2EgcmVxdWlyZWQgJyAuIGltcGxvZGUoJyBvciAnLCAoYXJyYXkpICRwYXJhbS0+Z2V0VHlwZSgpKSkgOiAncmVxdWlyZWQnKTsKICAgICAgICAgICAgaWYgKCRwYXJhbS0+Z2V0RGVzY3JpcHRpb24oKSkgewogICAgICAgICAgICAgICAgJG1lc3NhZ2UgLj0gJzogJyAuICRwYXJhbS0+Z2V0RGVzY3JpcHRpb24oKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkdGhpcy0+ZXJyb3JzW10gPSAkbWVzc2FnZTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgLy8gVmFsaWRhdGUgdGhhdCB0aGUgdHlwZSBpcyBjb3JyZWN0LiBJZiB0aGUgdHlwZSBpcyBzdHJpbmcgYnV0IGFuIGludGVnZXIgd2FzIHBhc3NlZCwgdGhlIGNsYXNzIGNhbiBiZQogICAgICAgIC8vIGluc3RydWN0ZWQgdG8gY2FzdCB0aGUgaW50ZWdlciB0byBhIHN0cmluZyB0byBwYXNzIHZhbGlkYXRpb24uIFRoaXMgaXMgdGhlIGRlZmF1bHQgYmVoYXZpb3IuCiAgICAgICAgaWYgKCR0eXBlICYmICghJHR5cGUgPSAkdGhpcy0+ZGV0ZXJtaW5lVHlwZSgkdHlwZSwgJHZhbHVlKSkpIHsKICAgICAgICAgICAgaWYgKCR0aGlzLT5jYXN0SW50ZWdlclRvU3RyaW5nVHlwZSAmJiAkcGFyYW0tPmdldFR5cGUoKSA9PSAnc3RyaW5nJyAmJiBpc19pbnRlZ2VyKCR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgICR2YWx1ZSA9IChzdHJpbmcpICR2YWx1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICR0aGlzLT5lcnJvcnNbXSA9ICJ7JHBhdGh9IG11c3QgYmUgb2YgdHlwZSAiIC4gaW1wbG9kZSgnIG9yICcsIChhcnJheSkgJHBhcmFtLT5nZXRUeXBlKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBQZXJmb3JtIHR5cGUgc3BlY2lmaWMgdmFsaWRhdGlvbiBmb3Igc3RyaW5ncywgYXJyYXlzLCBhbmQgaW50ZWdlcnMKICAgICAgICBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHsKCiAgICAgICAgICAgIC8vIFN0cmluZ3MgY2FuIGhhdmUgZW51bXMgd2hpY2ggYXJlIGEgbGlzdCBvZiBwcmVkZWZpbmVkIHZhbHVlcwogICAgICAgICAgICBpZiAoKCRlbnVtID0gJHBhcmFtLT5nZXRFbnVtKCkpICYmICFpbl9hcnJheSgkdmFsdWUsICRlbnVtKSkgewogICAgICAgICAgICAgICAgJHRoaXMtPmVycm9yc1tdID0gInskcGF0aH0gbXVzdCBiZSBvbmUgb2YgIiAuIGltcGxvZGUoJyBvciAnLCBhcnJheV9tYXAoZnVuY3Rpb24gKCRzKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICciJyAuIGFkZHNsYXNoZXMoJHMpIC4gJyInOwogICAgICAgICAgICAgICAgfSwgJGVudW0pKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBTdHJpbmdzIGNhbiBoYXZlIGEgcmVnZXggcGF0dGVybiB0aGF0IHRoZSB2YWx1ZSBtdXN0IG1hdGNoCiAgICAgICAgICAgIGlmICgoJHBhdHRlcm4gID0gJHBhcmFtLT5nZXRQYXR0ZXJuKCkpICYmICFwcmVnX21hdGNoKCRwYXR0ZXJuLCAkdmFsdWUpKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+ZXJyb3JzW10gPSAieyRwYXRofSBtdXN0IG1hdGNoIHRoZSBmb2xsb3dpbmcgcmVndWxhciBleHByZXNzaW9uOiB7JHBhdHRlcm59IjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHN0ckxlbiA9IG51bGw7CiAgICAgICAgICAgIGlmICgkbWluID0gJHBhcmFtLT5nZXRNaW5MZW5ndGgoKSkgewogICAgICAgICAgICAgICAgJHN0ckxlbiA9IHN0cmxlbigkdmFsdWUpOwogICAgICAgICAgICAgICAgaWYgKCRzdHJMZW4gPCAkbWluKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmVycm9yc1tdID0gInskcGF0aH0gbGVuZ3RoIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHskbWlufSI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCRtYXggPSAkcGFyYW0tPmdldE1heExlbmd0aCgpKSB7CiAgICAgICAgICAgICAgICBpZiAoKCRzdHJMZW4gPzogc3RybGVuKCR2YWx1ZSkpID4gJG1heCkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5lcnJvcnNbXSA9ICJ7JHBhdGh9IGxlbmd0aCBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byB7JG1heH0iOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgIH0gZWxzZWlmICgkdHlwZSA9PSAnYXJyYXknKSB7CgogICAgICAgICAgICAkc2l6ZSA9IG51bGw7CiAgICAgICAgICAgIGlmICgkbWluID0gJHBhcmFtLT5nZXRNaW5JdGVtcygpKSB7CiAgICAgICAgICAgICAgICAkc2l6ZSA9IGNvdW50KCR2YWx1ZSk7CiAgICAgICAgICAgICAgICBpZiAoJHNpemUgPCAkbWluKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmVycm9yc1tdID0gInskcGF0aH0gbXVzdCBjb250YWluIHskbWlufSBvciBtb3JlIGVsZW1lbnRzIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJG1heCA9ICRwYXJhbS0+Z2V0TWF4SXRlbXMoKSkgewogICAgICAgICAgICAgICAgaWYgKCgkc2l6ZSA/OiBjb3VudCgkdmFsdWUpKSA+ICRtYXgpIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+ZXJyb3JzW10gPSAieyRwYXRofSBtdXN0IGNvbnRhaW4geyRtYXh9IG9yIGZld2VyIGVsZW1lbnRzIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICB9IGVsc2VpZiAoJHR5cGUgPT0gJ2ludGVnZXInIHx8ICR0eXBlID09ICdudW1iZXInIHx8ICR0eXBlID09ICdudW1lcmljJykgewogICAgICAgICAgICBpZiAoKCRtaW4gPSAkcGFyYW0tPmdldE1pbmltdW0oKSkgJiYgJHZhbHVlIDwgJG1pbikgewogICAgICAgICAgICAgICAgJHRoaXMtPmVycm9yc1tdID0gInskcGF0aH0gbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8geyRtaW59IjsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoKCRtYXggPSAkcGFyYW0tPmdldE1heGltdW0oKSkgJiYgJHZhbHVlID4gJG1heCkgewogICAgICAgICAgICAgICAgJHRoaXMtPmVycm9yc1tdID0gInskcGF0aH0gbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8geyRtYXh9IjsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGVtcHR5KCR0aGlzLT5lcnJvcnMpOwogICAgfQoKICAgIC8qKgogICAgICogRnJvbSB0aGUgYWxsb3dhYmxlIHR5cGVzLCBkZXRlcm1pbmUgdGhlIHR5cGUgdGhhdCB0aGUgdmFyaWFibGUgbWF0Y2hlcwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHR5cGUgIFBhcmFtZXRlciB0eXBlCiAgICAgKiBAcGFyYW0gbWl4ZWQgICR2YWx1ZSBWYWx1ZSB0byBkZXRlcm1pbmUgdGhlIHR5cGUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xib29sIFJldHVybnMgdGhlIG1hdGNoaW5nIHR5cGUgb24KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGRldGVybWluZVR5cGUoJHR5cGUsICR2YWx1ZSkKICAgIHsKICAgICAgICBmb3JlYWNoICgoYXJyYXkpICR0eXBlIGFzICR0KSB7CiAgICAgICAgICAgIGlmICgkdCA9PSAnc3RyaW5nJyAmJiAoaXNfc3RyaW5nKCR2YWx1ZSkgfHwgKGlzX29iamVjdCgkdmFsdWUpICYmIG1ldGhvZF9leGlzdHMoJHZhbHVlLCAnX190b1N0cmluZycpKSkpIHsKICAgICAgICAgICAgICAgIHJldHVybiAnc3RyaW5nJzsKICAgICAgICAgICAgfSBlbHNlaWYgKCR0ID09ICdvYmplY3QnICYmIChpc19hcnJheSgkdmFsdWUpIHx8IGlzX29iamVjdCgkdmFsdWUpKSkgewogICAgICAgICAgICAgICAgcmV0dXJuICdvYmplY3QnOwogICAgICAgICAgICB9IGVsc2VpZiAoJHQgPT0gJ2FycmF5JyAmJiBpc19hcnJheSgkdmFsdWUpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJ2FycmF5JzsKICAgICAgICAgICAgfSBlbHNlaWYgKCR0ID09ICdpbnRlZ2VyJyAmJiBpc19pbnRlZ2VyKCR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgIHJldHVybiAnaW50ZWdlcic7CiAgICAgICAgICAgIH0gZWxzZWlmICgkdCA9PSAnYm9vbGVhbicgJiYgaXNfYm9vbCgkdmFsdWUpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJ2Jvb2xlYW4nOwogICAgICAgICAgICB9IGVsc2VpZiAoJHQgPT0gJ251bWJlcicgJiYgaXNfbnVtZXJpYygkdmFsdWUpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJ251bWJlcic7CiAgICAgICAgICAgIH0gZWxzZWlmICgkdCA9PSAnbnVtZXJpYycgJiYgaXNfbnVtZXJpYygkdmFsdWUpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJ251bWVyaWMnOwogICAgICAgICAgICB9IGVsc2VpZiAoJHQgPT0gJ251bGwnICYmICEkdmFsdWUpIHsKICAgICAgICAgICAgICAgIHJldHVybiAnbnVsbCc7CiAgICAgICAgICAgIH0gZWxzZWlmICgkdCA9PSAnYW55JykgewogICAgICAgICAgICAgICAgcmV0dXJuICdhbnknOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Description/ServiceDescription.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvbjsKCnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcQ29tbW9uXFRvQXJyYXlJbnRlcmZhY2U7CgovKioKICogQSBTZXJ2aWNlRGVzY3JpcHRpb24gc3RvcmVzIHNlcnZpY2UgaW5mb3JtYXRpb24gYmFzZWQgb24gYSBzZXJ2aWNlIGRvY3VtZW50CiAqLwpjbGFzcyBTZXJ2aWNlRGVzY3JpcHRpb24gaW1wbGVtZW50cyBTZXJ2aWNlRGVzY3JpcHRpb25JbnRlcmZhY2UsIFRvQXJyYXlJbnRlcmZhY2UKewogICAgLyoqIEB2YXIgYXJyYXkgQXJyYXkgb2Yge0BzZWUgT3BlcmF0aW9uSW50ZXJmYWNlfSBvYmplY3RzICovCiAgICBwcm90ZWN0ZWQgJG9wZXJhdGlvbnMgPSBhcnJheSgpOwoKICAgIC8qKiBAdmFyIGFycmF5IEFycmF5IG9mIEFQSSBtb2RlbHMgKi8KICAgIHByb3RlY3RlZCAkbW9kZWxzID0gYXJyYXkoKTsKCiAgICAvKiogQHZhciBzdHJpbmcgTmFtZSBvZiB0aGUgQVBJICovCiAgICBwcm90ZWN0ZWQgJG5hbWU7CgogICAgLyoqIEB2YXIgc3RyaW5nIEFQSSB2ZXJzaW9uICovCiAgICBwcm90ZWN0ZWQgJGFwaVZlcnNpb247CgogICAgLyoqIEB2YXIgc3RyaW5nIFN1bW1hcnkgb2YgdGhlIEFQSSAqLwogICAgcHJvdGVjdGVkICRkZXNjcmlwdGlvbjsKCiAgICAvKiogQHZhciBhcnJheSBBbnkgZXh0cmEgQVBJIGRhdGEgKi8KICAgIHByb3RlY3RlZCAkZXh0cmFEYXRhID0gYXJyYXkoKTsKCiAgICAvKiogQHZhciBTZXJ2aWNlRGVzY3JpcHRpb25Mb2FkZXIgRmFjdG9yeSB1c2VkIGluIGZhY3RvcnkgbWV0aG9kICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRkZXNjcmlwdGlvbkxvYWRlcjsKCiAgICAvKiogQHZhciBzdHJpbmcgYmFzZVVybC9iYXNlUGF0aCAqLwogICAgcHJvdGVjdGVkICRiYXNlVXJsOwoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICogQHBhcmFtIHN0cmluZ3xhcnJheSAkY29uZmlnICBGaWxlIHRvIGJ1aWxkIG9yIGFycmF5IG9mIG9wZXJhdGlvbiBpbmZvcm1hdGlvbgogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAkb3B0aW9ucyBTZXJ2aWNlIGRlc2NyaXB0aW9uIGZhY3Rvcnkgb3B0aW9ucwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZhY3RvcnkoJGNvbmZpZywgYXJyYXkgJG9wdGlvbnMgPSBhcnJheSgpKQogICAgewogICAgICAgIC8vIEBjb2RlQ292ZXJhZ2VJZ25vcmVTdGFydAogICAgICAgIGlmICghc2VsZjo6JGRlc2NyaXB0aW9uTG9hZGVyKSB7CiAgICAgICAgICAgIHNlbGY6OiRkZXNjcmlwdGlvbkxvYWRlciA9IG5ldyBTZXJ2aWNlRGVzY3JpcHRpb25Mb2FkZXIoKTsKICAgICAgICB9CiAgICAgICAgLy8gQGNvZGVDb3ZlcmFnZUlnbm9yZUVuZAoKICAgICAgICByZXR1cm4gc2VsZjo6JGRlc2NyaXB0aW9uTG9hZGVyLT5sb2FkKCRjb25maWcsICRvcHRpb25zKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBhcnJheSAkY29uZmlnIEFycmF5IG9mIGNvbmZpZ3VyYXRpb24gZGF0YQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJGNvbmZpZyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJHRoaXMtPmZyb21BcnJheSgkY29uZmlnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VyaWFsaXplKCkKICAgIHsKICAgICAgICByZXR1cm4ganNvbl9lbmNvZGUoJHRoaXMtPnRvQXJyYXkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHVuc2VyaWFsaXplKCRqc29uKQogICAgewogICAgICAgICR0aGlzLT5vcGVyYXRpb25zID0gYXJyYXkoKTsKICAgICAgICAkdGhpcy0+ZnJvbUFycmF5KGpzb25fZGVjb2RlKCRqc29uLCB0cnVlKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRvQXJyYXkoKQogICAgewogICAgICAgICRyZXN1bHQgPSBhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgICAgICA9PiAkdGhpcy0+bmFtZSwKICAgICAgICAgICAgJ2FwaVZlcnNpb24nICA9PiAkdGhpcy0+YXBpVmVyc2lvbiwKICAgICAgICAgICAgJ2Jhc2VVcmwnICAgICA9PiAkdGhpcy0+YmFzZVVybCwKICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAkdGhpcy0+ZGVzY3JpcHRpb24KICAgICAgICApICsgJHRoaXMtPmV4dHJhRGF0YTsKICAgICAgICAkcmVzdWx0WydvcGVyYXRpb25zJ10gPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5nZXRPcGVyYXRpb25zKCkgYXMgJG5hbWUgPT4gJG9wZXJhdGlvbikgewogICAgICAgICAgICAkcmVzdWx0WydvcGVyYXRpb25zJ11bJG9wZXJhdGlvbi0+Z2V0TmFtZSgpID86ICRuYW1lXSA9ICRvcGVyYXRpb24tPnRvQXJyYXkoKTsKICAgICAgICB9CiAgICAgICAgaWYgKCFlbXB0eSgkdGhpcy0+bW9kZWxzKSkgewogICAgICAgICAgICAkcmVzdWx0Wydtb2RlbHMnXSA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5tb2RlbHMgYXMgJGlkID0+ICRtb2RlbCkgewogICAgICAgICAgICAgICAgJHJlc3VsdFsnbW9kZWxzJ11bJGlkXSA9ICRtb2RlbCBpbnN0YW5jZW9mIFBhcmFtZXRlciA/ICRtb2RlbC0+dG9BcnJheSgpOiAkbW9kZWw7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBhcnJheV9maWx0ZXIoJHJlc3VsdCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldEJhc2VVcmwoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+YmFzZVVybDsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgYmFzZVVybCBvZiB0aGUgZGVzY3JpcHRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRiYXNlVXJsIEJhc2UgVVJMIG9mIGVhY2ggb3BlcmF0aW9uCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRCYXNlVXJsKCRiYXNlVXJsKQogICAgewogICAgICAgICR0aGlzLT5iYXNlVXJsID0gJGJhc2VVcmw7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0T3BlcmF0aW9ucygpCiAgICB7CiAgICAgICAgZm9yZWFjaCAoYXJyYXlfa2V5cygkdGhpcy0+b3BlcmF0aW9ucykgYXMgJG5hbWUpIHsKICAgICAgICAgICAgJHRoaXMtPmdldE9wZXJhdGlvbigkbmFtZSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPm9wZXJhdGlvbnM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhhc09wZXJhdGlvbigkbmFtZSkKICAgIHsKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPm9wZXJhdGlvbnNbJG5hbWVdKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uKCRuYW1lKQogICAgewogICAgICAgIC8vIExhemlseSByZXRyaWV2ZSBhbmQgYnVpbGQgb3BlcmF0aW9ucwogICAgICAgIGlmICghaXNzZXQoJHRoaXMtPm9wZXJhdGlvbnNbJG5hbWVdKSkgewogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIGlmICghKCR0aGlzLT5vcGVyYXRpb25zWyRuYW1lXSBpbnN0YW5jZW9mIE9wZXJhdGlvbikpIHsKICAgICAgICAgICAgJHRoaXMtPm9wZXJhdGlvbnNbJG5hbWVdID0gbmV3IE9wZXJhdGlvbigkdGhpcy0+b3BlcmF0aW9uc1skbmFtZV0sICR0aGlzKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+b3BlcmF0aW9uc1skbmFtZV07CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYSBvcGVyYXRpb24gdG8gdGhlIHNlcnZpY2UgZGVzY3JpcHRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gT3BlcmF0aW9uSW50ZXJmYWNlICRvcGVyYXRpb24gT3BlcmF0aW9uIHRvIGFkZAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkT3BlcmF0aW9uKE9wZXJhdGlvbkludGVyZmFjZSAkb3BlcmF0aW9uKQogICAgewogICAgICAgICR0aGlzLT5vcGVyYXRpb25zWyRvcGVyYXRpb24tPmdldE5hbWUoKV0gPSAkb3BlcmF0aW9uLT5zZXRTZXJ2aWNlRGVzY3JpcHRpb24oJHRoaXMpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldE1vZGVsKCRpZCkKICAgIHsKICAgICAgICBpZiAoIWlzc2V0KCR0aGlzLT5tb2RlbHNbJGlkXSkpIHsKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfQoKICAgICAgICBpZiAoISgkdGhpcy0+bW9kZWxzWyRpZF0gaW5zdGFuY2VvZiBQYXJhbWV0ZXIpKSB7CiAgICAgICAgICAgICR0aGlzLT5tb2RlbHNbJGlkXSA9IG5ldyBQYXJhbWV0ZXIoJHRoaXMtPm1vZGVsc1skaWRdICsgYXJyYXkoJ25hbWUnID0+ICRpZCksICR0aGlzKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+bW9kZWxzWyRpZF07CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldE1vZGVscygpCiAgICB7CiAgICAgICAgLy8gRW5zdXJlIGFsbCBtb2RlbHMgYXJlIGNvbnZlcnRlZCBpbnRvIHBhcmFtZXRlciBvYmplY3RzCiAgICAgICAgZm9yZWFjaCAoYXJyYXlfa2V5cygkdGhpcy0+bW9kZWxzKSBhcyAkaWQpIHsKICAgICAgICAgICAgJHRoaXMtPmdldE1vZGVsKCRpZCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPm1vZGVsczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzTW9kZWwoJGlkKQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+bW9kZWxzWyRpZF0pOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgbW9kZWwgdG8gdGhlIHNlcnZpY2UgZGVzY3JpcHRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gUGFyYW1ldGVyICRtb2RlbCBNb2RlbCB0byBhZGQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZE1vZGVsKFBhcmFtZXRlciAkbW9kZWwpCiAgICB7CiAgICAgICAgJHRoaXMtPm1vZGVsc1skbW9kZWwtPmdldE5hbWUoKV0gPSAkbW9kZWw7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QXBpVmVyc2lvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5hcGlWZXJzaW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXROYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPm5hbWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldERlc2NyaXB0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRlc2NyaXB0aW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREYXRhKCRrZXkpCiAgICB7CiAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5leHRyYURhdGFbJGtleV0pID8gJHRoaXMtPmV4dHJhRGF0YVska2V5XSA6IG51bGw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldERhdGEoJGtleSwgJHZhbHVlKQogICAgewogICAgICAgICR0aGlzLT5leHRyYURhdGFbJGtleV0gPSAkdmFsdWU7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEluaXRpYWxpemUgdGhlIHN0YXRlIGZyb20gYW4gYXJyYXkKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGNvbmZpZyBDb25maWd1cmF0aW9uIGRhdGEKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBmcm9tQXJyYXkoYXJyYXkgJGNvbmZpZykKICAgIHsKICAgICAgICAvLyBLZWVwIGEgbGlzdCBvZiBkZWZhdWx0IGtleXMgdXNlZCBpbiBzZXJ2aWNlIGRlc2NyaXB0aW9ucyB0aGF0IGlzIGxhdGVyIHVzZWQgdG8gZGV0ZXJtaW5lIGV4dHJhIGRhdGEga2V5cwogICAgICAgIHN0YXRpYyAkZGVmYXVsdEtleXMgPSBhcnJheSgnbmFtZScsICdtb2RlbHMnLCAnYXBpVmVyc2lvbicsICdiYXNlVXJsJywgJ2Rlc2NyaXB0aW9uJyk7CiAgICAgICAgLy8gUHVsbCBpbiB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIHZhbHVlcwogICAgICAgIGZvcmVhY2ggKCRkZWZhdWx0S2V5cyBhcyAka2V5KSB7CiAgICAgICAgICAgIGlmIChpc3NldCgkY29uZmlnWyRrZXldKSkgewogICAgICAgICAgICAgICAgJHRoaXMtPnska2V5fSA9ICRjb25maWdbJGtleV07CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEFjY291bnQgZm9yIHRoZSBTd2FnZ2VyIG5hbWUgZm9yIEd1enpsZSdzIGJhc2VVcmwKICAgICAgICBpZiAoaXNzZXQoJGNvbmZpZ1snYmFzZVBhdGgnXSkpIHsKICAgICAgICAgICAgJHRoaXMtPmJhc2VVcmwgPSAkY29uZmlnWydiYXNlUGF0aCddOwogICAgICAgIH0KCiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIG1vZGVscyBhbmQgb3BlcmF0aW9ucyBwcm9wZXJ0aWVzIGFyZSBhbHdheXMgYXJyYXlzCiAgICAgICAgJHRoaXMtPm1vZGVscyA9IChhcnJheSkgJHRoaXMtPm1vZGVsczsKICAgICAgICAkdGhpcy0+b3BlcmF0aW9ucyA9IChhcnJheSkgJHRoaXMtPm9wZXJhdGlvbnM7CgogICAgICAgIC8vIFdlIHdhbnQgdG8gYWRkIG9wZXJhdGlvbnMgZGlmZmVyZW50bHkgdGhhbiBhZGRpbmcgdGhlIG90aGVyIHByb3BlcnRpZXMKICAgICAgICAkZGVmYXVsdEtleXNbXSA9ICdvcGVyYXRpb25zJzsKCiAgICAgICAgLy8gQ3JlYXRlIG9wZXJhdGlvbnMgZm9yIGVhY2ggb3BlcmF0aW9uCiAgICAgICAgaWYgKGlzc2V0KCRjb25maWdbJ29wZXJhdGlvbnMnXSkpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJGNvbmZpZ1snb3BlcmF0aW9ucyddIGFzICRuYW1lID0+ICRvcGVyYXRpb24pIHsKICAgICAgICAgICAgICAgIGlmICghKCRvcGVyYXRpb24gaW5zdGFuY2VvZiBPcGVyYXRpb24pICYmICFpc19hcnJheSgkb3BlcmF0aW9uKSkgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0ludmFsaWQgb3BlcmF0aW9uIGluIHNlcnZpY2UgZGVzY3JpcHRpb246ICcKICAgICAgICAgICAgICAgICAgICAgICAgLiBnZXR0eXBlKCRvcGVyYXRpb24pKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICR0aGlzLT5vcGVyYXRpb25zWyRuYW1lXSA9ICRvcGVyYXRpb247CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEdldCBhbGwgb2YgdGhlIGFkZGl0aW9uYWwgcHJvcGVydGllcyBvZiB0aGUgc2VydmljZSBkZXNjcmlwdGlvbiBhbmQgc3RvcmUgdGhlbSBpbiBhIGRhdGEgYXJyYXkKICAgICAgICBmb3JlYWNoIChhcnJheV9kaWZmKGFycmF5X2tleXMoJGNvbmZpZyksICRkZWZhdWx0S2V5cykgYXMgJGtleSkgewogICAgICAgICAgICAkdGhpcy0+ZXh0cmFEYXRhWyRrZXldID0gJGNvbmZpZ1ska2V5XTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Description/ServiceDescriptionInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvbjsKCi8qKgogKiBBIFNlcnZpY2VEZXNjcmlwdGlvbiBzdG9yZXMgc2VydmljZSBpbmZvcm1hdGlvbiBiYXNlZCBvbiBhIHNlcnZpY2UgZG9jdW1lbnQKICovCmludGVyZmFjZSBTZXJ2aWNlRGVzY3JpcHRpb25JbnRlcmZhY2UgZXh0ZW5kcyBcU2VyaWFsaXphYmxlCnsKICAgIC8qKgogICAgICogR2V0IHRoZSBiYXNlUGF0aC9iYXNlVXJsIG9mIHRoZSBkZXNjcmlwdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRCYXNlVXJsKCk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIEFQSSBvcGVyYXRpb25zIG9mIHRoZSBzZXJ2aWNlCiAgICAgKgogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFuIGFycmF5IG9mIHtAc2VlIE9wZXJhdGlvbkludGVyZmFjZX0gb2JqZWN0cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0T3BlcmF0aW9ucygpOwoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgdGhlIHNlcnZpY2UgaGFzIGFuIG9wZXJhdGlvbiBieSBuYW1lCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSBOYW1lIG9mIHRoZSBvcGVyYXRpb24gdG8gY2hlY2sKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGhhc09wZXJhdGlvbigkbmFtZSk7CgogICAgLyoqCiAgICAgKiBHZXQgYW4gQVBJIG9wZXJhdGlvbiBieSBuYW1lCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSBOYW1lIG9mIHRoZSBjb21tYW5kCiAgICAgKgogICAgICogQHJldHVybiBPcGVyYXRpb25JbnRlcmZhY2V8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uKCRuYW1lKTsKCiAgICAvKioKICAgICAqIEdldCBhIHNwZWNpZmljIG1vZGVsIGZyb20gdGhlIGRlc2NyaXB0aW9uCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkaWQgSUQgb2YgdGhlIG1vZGVsCiAgICAgKgogICAgICogQHJldHVybiBQYXJhbWV0ZXJ8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TW9kZWwoJGlkKTsKCiAgICAvKioKICAgICAqIEdldCBhbGwgc2VydmljZSBkZXNjcmlwdGlvbiBtb2RlbHMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRNb2RlbHMoKTsKCiAgICAvKioKICAgICAqIENoZWNrIGlmIHRoZSBkZXNjcmlwdGlvbiBoYXMgYSBzcGVjaWZpYyBtb2RlbCBieSBuYW1lCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkaWQgSUQgb2YgdGhlIG1vZGVsCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNNb2RlbCgkaWQpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBBUEkgdmVyc2lvbiBvZiB0aGUgc2VydmljZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRBcGlWZXJzaW9uKCk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG5hbWUgb2YgdGhlIEFQSQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXROYW1lKCk7CgogICAgLyoqCiAgICAgKiBHZXQgYSBzdW1tYXJ5IG9mIHRoZSBwdXJwb3NlIG9mIHRoZSBBUEkKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGVzY3JpcHRpb24oKTsKCiAgICAvKioKICAgICAqIEdldCBhcmJpdHJhcnkgZGF0YSBmcm9tIHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uIHRoYXQgaXMgbm90IHBhcnQgb2YgdGhlIEd1enpsZSBzcGVjCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5IERhdGEga2V5IHRvIHJldHJpZXZlCiAgICAgKgogICAgICogQHJldHVybiBudWxsfG1peGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREYXRhKCRrZXkpOwoKICAgIC8qKgogICAgICogU2V0IGFyYml0cmFyeSBkYXRhIG9uIHRoZSBzZXJ2aWNlIGRlc2NyaXB0aW9uCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5ICAgRGF0YSBrZXkgdG8gc2V0CiAgICAgKiBAcGFyYW0gbWl4ZWQgICR2YWx1ZSBWYWx1ZSB0byBzZXQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldERhdGEoJGtleSwgJHZhbHVlKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Description/ServiceDescriptionLoader.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvbjsKCnVzZSBHdXp6bGVcU2VydmljZVxBYnN0cmFjdENvbmZpZ0xvYWRlcjsKdXNlIEd1enpsZVxTZXJ2aWNlXEV4Y2VwdGlvblxEZXNjcmlwdGlvbkJ1aWxkZXJFeGNlcHRpb247CgovKioKICogTG9hZGVyIGZvciBzZXJ2aWNlIGRlc2NyaXB0aW9ucwogKi8KY2xhc3MgU2VydmljZURlc2NyaXB0aW9uTG9hZGVyIGV4dGVuZHMgQWJzdHJhY3RDb25maWdMb2FkZXIKewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGJ1aWxkKCRjb25maWcsIGFycmF5ICRvcHRpb25zKQogICAgewogICAgICAgICRvcGVyYXRpb25zID0gYXJyYXkoKTsKICAgICAgICBpZiAoIWVtcHR5KCRjb25maWdbJ29wZXJhdGlvbnMnXSkpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJGNvbmZpZ1snb3BlcmF0aW9ucyddIGFzICRuYW1lID0+ICRvcCkgewogICAgICAgICAgICAgICAgJG5hbWUgPSAkb3BbJ25hbWUnXSA9IGlzc2V0KCRvcFsnbmFtZSddKSA/ICRvcFsnbmFtZSddIDogJG5hbWU7CiAgICAgICAgICAgICAgICAvLyBFeHRlbmQgb3RoZXIgb3BlcmF0aW9ucwogICAgICAgICAgICAgICAgaWYgKCFlbXB0eSgkb3BbJ2V4dGVuZHMnXSkpIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cmVzb2x2ZUV4dGVuc2lvbigkbmFtZSwgJG9wLCAkb3BlcmF0aW9ucyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkb3BbJ3BhcmFtZXRlcnMnXSA9IGlzc2V0KCRvcFsncGFyYW1ldGVycyddKSA/ICRvcFsncGFyYW1ldGVycyddIDogYXJyYXkoKTsKICAgICAgICAgICAgICAgICRvcGVyYXRpb25zWyRuYW1lXSA9ICRvcDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG5ldyBTZXJ2aWNlRGVzY3JpcHRpb24oYXJyYXkoCiAgICAgICAgICAgICdhcGlWZXJzaW9uJyAgPT4gaXNzZXQoJGNvbmZpZ1snYXBpVmVyc2lvbiddKSA/ICRjb25maWdbJ2FwaVZlcnNpb24nXSA6IG51bGwsCiAgICAgICAgICAgICdiYXNlVXJsJyAgICAgPT4gaXNzZXQoJGNvbmZpZ1snYmFzZVVybCddKSA/ICRjb25maWdbJ2Jhc2VVcmwnXSA6IG51bGwsCiAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gaXNzZXQoJGNvbmZpZ1snZGVzY3JpcHRpb24nXSkgPyAkY29uZmlnWydkZXNjcmlwdGlvbiddIDogbnVsbCwKICAgICAgICAgICAgJ29wZXJhdGlvbnMnICA9PiAkb3BlcmF0aW9ucywKICAgICAgICAgICAgJ21vZGVscycgICAgICA9PiBpc3NldCgkY29uZmlnWydtb2RlbHMnXSkgPyAkY29uZmlnWydtb2RlbHMnXSA6IG51bGwKICAgICAgICApICsgJGNvbmZpZyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lICAgICAgIE5hbWUgb2YgdGhlIG9wZXJhdGlvbgogICAgICogQHBhcmFtIGFycmF5ICAkb3AgICAgICAgICBPcGVyYXRpb24gdmFsdWUgYXJyYXkKICAgICAqIEBwYXJhbSBhcnJheSAgJG9wZXJhdGlvbnMgQ3VycmVudGx5IGxvYWRlZCBvcGVyYXRpb25zCiAgICAgKiBAdGhyb3dzIERlc2NyaXB0aW9uQnVpbGRlckV4Y2VwdGlvbiB3aGVuIGV4dGVuZGluZyBhIG5vbi1leGlzdGVudCBvcGVyYXRpb24KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlc29sdmVFeHRlbnNpb24oJG5hbWUsIGFycmF5ICYkb3AsIGFycmF5ICYkb3BlcmF0aW9ucykKICAgIHsKICAgICAgICAkcmVzb2x2ZWQgPSBhcnJheSgpOwogICAgICAgICRvcmlnaW5hbCA9IGVtcHR5KCRvcFsncGFyYW1ldGVycyddKSA/IGZhbHNlOiAkb3BbJ3BhcmFtZXRlcnMnXTsKICAgICAgICAkaGFzQ2xhc3MgPSAhZW1wdHkoJG9wWydjbGFzcyddKTsKICAgICAgICBmb3JlYWNoICgoYXJyYXkpICRvcFsnZXh0ZW5kcyddIGFzICRleHRlbmRlZENvbW1hbmQpIHsKICAgICAgICAgICAgaWYgKGVtcHR5KCRvcGVyYXRpb25zWyRleHRlbmRlZENvbW1hbmRdKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IERlc2NyaXB0aW9uQnVpbGRlckV4Y2VwdGlvbigieyRuYW1lfSBleHRlbmRzIG1pc3Npbmcgb3BlcmF0aW9uIHskZXh0ZW5kZWRDb21tYW5kfSIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR0b0FycmF5ID0gJG9wZXJhdGlvbnNbJGV4dGVuZGVkQ29tbWFuZF07CiAgICAgICAgICAgICRyZXNvbHZlZCA9IGVtcHR5KCRyZXNvbHZlZCkKICAgICAgICAgICAgICAgID8gJHRvQXJyYXlbJ3BhcmFtZXRlcnMnXQogICAgICAgICAgICAgICAgOiBhcnJheV9tZXJnZSgkcmVzb2x2ZWQsICR0b0FycmF5WydwYXJhbWV0ZXJzJ10pOwoKICAgICAgICAgICAgJG9wID0gJG9wICsgJHRvQXJyYXk7CiAgICAgICAgICAgIGlmICghJGhhc0NsYXNzICYmIGlzc2V0KCR0b0FycmF5WydjbGFzcyddKSkgewogICAgICAgICAgICAgICAgJG9wWydjbGFzcyddID0gJHRvQXJyYXlbJ2NsYXNzJ107CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJG9wWydwYXJhbWV0ZXJzJ10gPSAkb3JpZ2luYWwgPyBhcnJheV9tZXJnZSgkcmVzb2x2ZWQsICRvcmlnaW5hbCkgOiAkcmVzb2x2ZWQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Description/ValidatorInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvbjsKCi8qKgogKiBWYWxpZGF0b3IgcmVzcG9uc2libGUgZm9yIHByZXBhcmluZyBhbmQgdmFsaWRhdGluZyBwYXJhbWV0ZXJzIGFnYWluc3QgdGhlIHBhcmFtZXRlcidzIHNjaGVtYQogKi8KaW50ZXJmYWNlIFZhbGlkYXRvckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIFZhbGlkYXRlIGEgdmFsdWUgYWdhaW5zdCB0aGUgYWNjZXB0YWJsZSB0eXBlcywgcmVndWxhciBleHByZXNzaW9ucywgbWluaW11bSwgbWF4aW11bXMsIGluc3RhbmNlT2YsIGVudW1zLCBldGMKICAgICAqIEFkZCBkZWZhdWx0IGFuZCBzdGF0aWMgdmFsdWVzIHRvIHRoZSBwYXNzZWQgaW4gdmFyaWFibGUuIElmIHRoZSB2YWxpZGF0aW9uIGNvbXBsZXRlcyBzdWNjZXNzZnVsbHksIHRoZSBpbnB1dAogICAgICogbXVzdCBiZSBydW4gY29ycmVjdGx5IHRocm91Z2ggdGhlIG1hdGNoaW5nIHNjaGVtYSdzIGZpbHRlcnMgYXR0cmlidXRlLgogICAgICoKICAgICAqIEBwYXJhbSBQYXJhbWV0ZXIgJHBhcmFtIFNjaGVtYSB0aGF0IGlzIGJlaW5nIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSB2YWx1ZQogICAgICogQHBhcmFtIG1peGVkICAgICAkdmFsdWUgVmFsdWUgdG8gdmFsaWRhdGUgYW5kIHByb2Nlc3MuIFRoZSB2YWx1ZSBtYXkgY2hhbmdlIGR1cmluZyB0aGlzIHByb2Nlc3MuCiAgICAgKgogICAgICogQHJldHVybiBib29sICBSZXR1cm5zIHRydWUgaWYgdGhlIGlucHV0IGRhdGEgaXMgdmFsaWQgZm9yIHRoZSBzY2hlbWEKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlKFBhcmFtZXRlciAkcGFyYW0sICYkdmFsdWUpOwoKICAgIC8qKgogICAgICogR2V0IHZhbGlkYXRpb24gZXJyb3JzIGVuY291bnRlcmVkIHdoaWxlIHZhbGlkYXRpbmcKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFcnJvcnMoKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Exception/CommandException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxFeGNlcHRpb247Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKCmNsYXNzIENvbW1hbmRFeGNlcHRpb24gZXh0ZW5kcyBSdW50aW1lRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Exception/CommandTransferException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxFeGNlcHRpb247Cgp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXE11bHRpVHJhbnNmZXJFeGNlcHRpb247CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2U7CgovKioKICogRXhjZXB0aW9uIHRocm93biB3aGVuIHRyYW5zZmVycmluZyBjb21tYW5kcyBpbiBwYXJhbGxlbAogKi8KY2xhc3MgQ29tbWFuZFRyYW5zZmVyRXhjZXB0aW9uIGV4dGVuZHMgTXVsdGlUcmFuc2ZlckV4Y2VwdGlvbgp7CiAgICBwcm90ZWN0ZWQgJHN1Y2Nlc3NmdWxDb21tYW5kcyA9IGFycmF5KCk7CiAgICBwcm90ZWN0ZWQgJGZhaWxlZENvbW1hbmRzID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIENyZWF0ZXMgYSBuZXcgQ29tbWFuZFRyYW5zZmVyRXhjZXB0aW9uIGZyb20gYSBNdWx0aVRyYW5zZmVyRXhjZXB0aW9uCiAgICAgKgogICAgICogQHBhcmFtIE11bHRpVHJhbnNmZXJFeGNlcHRpb24gJGUgRXhjZXB0aW9uIHRvIGJhc2UgYSBuZXcgZXhjZXB0aW9uIG9uCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbU11bHRpVHJhbnNmZXJFeGNlcHRpb24oTXVsdGlUcmFuc2ZlckV4Y2VwdGlvbiAkZSkKICAgIHsKICAgICAgICAkY2UgPSBuZXcgc2VsZigkZS0+Z2V0TWVzc2FnZSgpLCAkZS0+Z2V0Q29kZSgpLCAkZS0+Z2V0UHJldmlvdXMoKSk7CiAgICAgICAgJGNlLT5zZXRTdWNjZXNzZnVsUmVxdWVzdHMoJGUtPmdldFN1Y2Nlc3NmdWxSZXF1ZXN0cygpKTsKCiAgICAgICAgJGFscmVhZHlBZGRlZEV4Y2VwdGlvbnMgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKCRlLT5nZXRGYWlsZWRSZXF1ZXN0cygpIGFzICRyZXF1ZXN0KSB7CiAgICAgICAgICAgIGlmICgkcmUgPSAkZS0+Z2V0RXhjZXB0aW9uRm9yRmFpbGVkUmVxdWVzdCgkcmVxdWVzdCkpIHsKICAgICAgICAgICAgICAgICRhbHJlYWR5QWRkZWRFeGNlcHRpb25zW10gPSAkcmU7CiAgICAgICAgICAgICAgICAkY2UtPmFkZEZhaWxlZFJlcXVlc3RXaXRoRXhjZXB0aW9uKCRyZXF1ZXN0LCAkcmUpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGNlLT5hZGRGYWlsZWRSZXF1ZXN0KCRyZXF1ZXN0KTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gQWRkIGFueSBleGNlcHRpb25zIHRoYXQgZGlkIG5vdCBtYXAgdG8gYSByZXF1ZXN0CiAgICAgICAgaWYgKGNvdW50KCRhbHJlYWR5QWRkZWRFeGNlcHRpb25zKSA8IGNvdW50KCRlKSkgewogICAgICAgICAgICBmb3JlYWNoICgkZSBhcyAkZXgpIHsKICAgICAgICAgICAgICAgIGlmICghaW5fYXJyYXkoJGV4LCAkYWxyZWFkeUFkZGVkRXhjZXB0aW9ucykpIHsKICAgICAgICAgICAgICAgICAgICAkY2UtPmFkZCgkZXgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGNlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFsbCBvZiB0aGUgY29tbWFuZHMgaW4gdGhlIHRyYW5zZmVyCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QWxsQ29tbWFuZHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheV9tZXJnZSgkdGhpcy0+c3VjY2Vzc2Z1bENvbW1hbmRzLCAkdGhpcy0+ZmFpbGVkQ29tbWFuZHMpOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIHRvIHRoZSBhcnJheSBvZiBzdWNjZXNzZnVsIGNvbW1hbmRzCiAgICAgKgogICAgICogQHBhcmFtIENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQgU3VjY2Vzc2Z1bCBjb21tYW5kCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRTdWNjZXNzZnVsQ29tbWFuZChDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kKQogICAgewogICAgICAgICR0aGlzLT5zdWNjZXNzZnVsQ29tbWFuZHNbXSA9ICRjb21tYW5kOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgdG8gdGhlIGFycmF5IG9mIGZhaWxlZCBjb21tYW5kcwogICAgICoKICAgICAqIEBwYXJhbSBDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kIEZhaWxlZCBjb21tYW5kCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRGYWlsZWRDb21tYW5kKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQpCiAgICB7CiAgICAgICAgJHRoaXMtPmZhaWxlZENvbW1hbmRzW10gPSAkY29tbWFuZDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGFycmF5IG9mIHN1Y2Nlc3NmdWwgY29tbWFuZHMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTdWNjZXNzZnVsQ29tbWFuZHMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c3VjY2Vzc2Z1bENvbW1hbmRzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGFycmF5IG9mIGZhaWxlZCBjb21tYW5kcwogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEZhaWxlZENvbW1hbmRzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmZhaWxlZENvbW1hbmRzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBFeGNlcHRpb24gdGhhdCBjYXVzZWQgdGhlIGdpdmVuICRjb21tYW5kIHRvIGZhaWwKICAgICAqCiAgICAgKiBAcGFyYW0gQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCBGYWlsZWQgY29tbWFuZAogICAgICoKICAgICAqIEByZXR1cm4gXEV4Y2VwdGlvbnxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFeGNlcHRpb25Gb3JGYWlsZWRDb21tYW5kKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRFeGNlcHRpb25Gb3JGYWlsZWRSZXF1ZXN0KCRjb21tYW5kLT5nZXRSZXF1ZXN0KCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Exception/DescriptionBuilderException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxFeGNlcHRpb247Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKCmNsYXNzIERlc2NyaXB0aW9uQnVpbGRlckV4Y2VwdGlvbiBleHRlbmRzIFJ1bnRpbWVFeGNlcHRpb24ge30K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Exception/InconsistentClientTransferException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxFeGNlcHRpb247Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKCi8qKgogKiBDb21tYW5kIHRyYW5zZmVyIGV4Y2VwdGlvbiB3aGVuIGNvbW1hbmRzIGRvIG5vdCBhbGwgdXNlIHRoZSBzYW1lIGNsaWVudAogKi8KY2xhc3MgSW5jb25zaXN0ZW50Q2xpZW50VHJhbnNmZXJFeGNlcHRpb24gZXh0ZW5kcyBSdW50aW1lRXhjZXB0aW9uCnsKICAgIC8qKgogICAgICogQHZhciBhcnJheSBDb21tYW5kcyB3aXRoIGFuIGludmFsaWQgY2xpZW50CiAgICAgKi8KICAgIHByaXZhdGUgJGludmFsaWRDb21tYW5kcyA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGNvbW1hbmRzIEludmFsaWQgY29tbWFuZHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KGFycmF5ICRjb21tYW5kcykKICAgIHsKICAgICAgICAkdGhpcy0+aW52YWxpZENvbW1hbmRzID0gJGNvbW1hbmRzOwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoCiAgICAgICAgICAgICdFbmNvdW50ZXJlZCBjb21tYW5kcyBpbiBhIGJhdGNoIHRyYW5zZmVyIHRoYXQgdXNlIGluY29uc2lzdGVudCBjbGllbnRzLiBUaGUgYmF0Y2hpbmcgJyAuCiAgICAgICAgICAgICdzdHJhdGVneSB5b3UgdXNlIHdpdGggYSBjb21tYW5kIHRyYW5zZmVyIG11c3QgZGl2aWRlIGNvbW1hbmQgYmF0Y2hlcyBieSBjbGllbnQuJwogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGludmFsaWQgY29tbWFuZHMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb21tYW5kcygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5pbnZhbGlkQ29tbWFuZHM7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Exception/ResponseClassException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxFeGNlcHRpb247Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKCmNsYXNzIFJlc3BvbnNlQ2xhc3NFeGNlcHRpb24gZXh0ZW5kcyBSdW50aW1lRXhjZXB0aW9uCnsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Exception/ServiceBuilderException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxFeGNlcHRpb247Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKCmNsYXNzIFNlcnZpY2VCdWlsZGVyRXhjZXB0aW9uIGV4dGVuZHMgUnVudGltZUV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Exception/ServiceNotFoundException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxFeGNlcHRpb247CgpjbGFzcyBTZXJ2aWNlTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBTZXJ2aWNlQnVpbGRlckV4Y2VwdGlvbiB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Exception/ValidationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxFeGNlcHRpb247Cgp1c2UgR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbjsKCmNsYXNzIFZhbGlkYXRpb25FeGNlcHRpb24gZXh0ZW5kcyBSdW50aW1lRXhjZXB0aW9uCnsKICAgIHByb3RlY3RlZCAkZXJyb3JzID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIFNldCB0aGUgdmFsaWRhdGlvbiBlcnJvciBtZXNzYWdlcwogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkZXJyb3JzIEFycmF5IG9mIHZhbGlkYXRpb24gZXJyb3JzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRFcnJvcnMoYXJyYXkgJGVycm9ycykKICAgIHsKICAgICAgICAkdGhpcy0+ZXJyb3JzID0gJGVycm9yczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbnkgdmFsaWRhdGlvbiBlcnJvcnMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFcnJvcnMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZXJyb3JzOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Resource/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Resource/AbstractResourceIteratorFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZTsKCnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2U7CgovKioKICogQWJzdHJhY3QgcmVzb3VyY2UgaXRlcmF0b3IgZmFjdG9yeSBpbXBsZW1lbnRhdGlvbgogKi8KYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeSBpbXBsZW1lbnRzIFJlc291cmNlSXRlcmF0b3JGYWN0b3J5SW50ZXJmYWNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBidWlsZChDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgaWYgKCEkdGhpcy0+Y2FuQnVpbGQoJGNvbW1hbmQpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0l0ZXJhdG9yIHdhcyBub3QgZm91bmQgZm9yICcgLiAkY29tbWFuZC0+Z2V0TmFtZSgpKTsKICAgICAgICB9CgogICAgICAgICRjbGFzc05hbWUgPSAkdGhpcy0+Z2V0Q2xhc3NOYW1lKCRjb21tYW5kKTsKCiAgICAgICAgcmV0dXJuIG5ldyAkY2xhc3NOYW1lKCRjb21tYW5kLCAkb3B0aW9ucyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNhbkJ1aWxkKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQpCiAgICB7CiAgICAgICAgcmV0dXJuIChib29sKSAkdGhpcy0+Z2V0Q2xhc3NOYW1lKCRjb21tYW5kKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbmFtZSBvZiB0aGUgY2xhc3MgdG8gaW5zdGFudGlhdGUgZm9yIHRoZSBjb21tYW5kCiAgICAgKgogICAgICogQHBhcmFtIENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQgQ29tbWFuZCB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgaXRlcmF0b3IKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBhYnN0cmFjdCBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0Q2xhc3NOYW1lKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Resource/CompositeResourceIteratorFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZTsKCnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2U7CgovKioKICogRmFjdG9yeSB0aGF0IHV0aWxpemVzIG11bHRpcGxlIGZhY3RvcmllcyBmb3IgY3JlYXRpbmcgaXRlcmF0b3JzCiAqLwpjbGFzcyBDb21wb3NpdGVSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeSBpbXBsZW1lbnRzIFJlc291cmNlSXRlcmF0b3JGYWN0b3J5SW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIGFycmF5IEFycmF5IG9mIGZhY3RvcmllcyAqLwogICAgcHJvdGVjdGVkICRmYWN0b3JpZXM7CgogICAgLyoqIEBwYXJhbSBhcnJheSAkZmFjdG9yaWVzIEFycmF5IG9mIGZhY3RvcmllcyB1c2VkIHRvIGluc3RhbnRpYXRlIGl0ZXJhdG9ycyAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KGFycmF5ICRmYWN0b3JpZXMpCiAgICB7CiAgICAgICAgJHRoaXMtPmZhY3RvcmllcyA9ICRmYWN0b3JpZXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGJ1aWxkKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQsIGFycmF5ICRvcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICBpZiAoISgkZmFjdG9yeSA9ICR0aGlzLT5nZXRGYWN0b3J5KCRjb21tYW5kKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignSXRlcmF0b3Igd2FzIG5vdCBmb3VuZCBmb3IgJyAuICRjb21tYW5kLT5nZXROYW1lKCkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRmYWN0b3J5LT5idWlsZCgkY29tbWFuZCwgJG9wdGlvbnMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjYW5CdWlsZChDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmFjdG9yeSgkY29tbWFuZCkgIT09IGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgZmFjdG9yeSB0byB0aGUgY29tcG9zaXRlIGZhY3RvcnkKICAgICAqCiAgICAgKiBAcGFyYW0gUmVzb3VyY2VJdGVyYXRvckZhY3RvcnlJbnRlcmZhY2UgJGZhY3RvcnkgRmFjdG9yeSB0byBhZGQKICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZEZhY3RvcnkoUmVzb3VyY2VJdGVyYXRvckZhY3RvcnlJbnRlcmZhY2UgJGZhY3RvcnkpCiAgICB7CiAgICAgICAgJHRoaXMtPmZhY3Rvcmllc1tdID0gJGZhY3Rvcnk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZmFjdG9yeSB0aGF0IG1hdGNoZXMgdGhlIGNvbW1hbmQgb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQgQ29tbWFuZCByZXRyaWV2aW5nIHRoZSBpdGVyYXRvciBmb3IKICAgICAqCiAgICAgKiBAcmV0dXJuIFJlc291cmNlSXRlcmF0b3JGYWN0b3J5SW50ZXJmYWNlfGJvb2wKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldEZhY3RvcnkoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCkKICAgIHsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+ZmFjdG9yaWVzIGFzICRmYWN0b3J5KSB7CiAgICAgICAgICAgIGlmICgkZmFjdG9yeS0+Y2FuQnVpbGQoJGNvbW1hbmQpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJGZhY3Rvcnk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Resource/MapResourceIteratorFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZTsKCnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2U7CgovKioKICogUmVzb3VyY2UgaXRlcmF0b3IgZmFjdG9yeSB1c2VkIHdoZW4gZXhwbGljaXRseSBtYXBwaW5nIHN0cmluZ3MgdG8gaXRlcmF0b3IgY2xhc3NlcwogKi8KY2xhc3MgTWFwUmVzb3VyY2VJdGVyYXRvckZhY3RvcnkgZXh0ZW5kcyBBYnN0cmFjdFJlc291cmNlSXRlcmF0b3JGYWN0b3J5CnsKICAgIC8qKiBAdmFyIGFycmF5IEFzc29jaWF0aXZlIGFycmF5IG1hcHBpbmcgaXRlcmF0b3IgbmFtZXMgdG8gY2xhc3MgbmFtZXMgKi8KICAgIHByb3RlY3RlZCAkbWFwOwoKICAgIC8qKiBAcGFyYW0gYXJyYXkgJG1hcCBBc3NvY2lhdGl2ZSBhcnJheSBtYXBwaW5nIGl0ZXJhdG9yIG5hbWVzIHRvIGNsYXNzIG5hbWVzICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJG1hcCkKICAgIHsKICAgICAgICAkdGhpcy0+bWFwID0gJG1hcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2xhc3NOYW1lKENvbW1hbmRJbnRlcmZhY2UgJGNvbW1hbmQpCiAgICB7CiAgICAgICAgJGNsYXNzTmFtZSA9ICRjb21tYW5kLT5nZXROYW1lKCk7CgogICAgICAgIGlmIChpc3NldCgkdGhpcy0+bWFwWyRjbGFzc05hbWVdKSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPm1hcFskY2xhc3NOYW1lXTsKICAgICAgICB9IGVsc2VpZiAoaXNzZXQoJHRoaXMtPm1hcFsnKiddKSkgewogICAgICAgICAgICAvLyBJZiBhIHdpbGRjYXJkIHdhcyBhZGRlZCwgdGhlbiBhbHdheXMgdXNlIHRoYXQKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5tYXBbJyonXTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Resource/Model.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZTsKCnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXI7CgovKioKICogRGVmYXVsdCBtb2RlbCBjcmVhdGVkIHdoZW4gY29tbWFuZHMgY3JlYXRlIHNlcnZpY2UgZGVzY3JpcHRpb24gbW9kZWwgcmVzcG9uc2VzCiAqLwpjbGFzcyBNb2RlbCBleHRlbmRzIENvbGxlY3Rpb24KewogICAgLyoqIEB2YXIgUGFyYW1ldGVyIFN0cnVjdHVyZSBvZiB0aGUgbW9kZWwgKi8KICAgIHByb3RlY3RlZCAkc3RydWN0dXJlOwoKICAgIC8qKgogICAgICogQHBhcmFtIGFycmF5ICAgICAkZGF0YSAgICAgIERhdGEgY29udGFpbmVkIGJ5IHRoZSBtb2RlbAogICAgICogQHBhcmFtIFBhcmFtZXRlciAkc3RydWN0dXJlIFRoZSBzdHJ1Y3R1cmUgb2YgdGhlIG1vZGVsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChhcnJheSAkZGF0YSA9IGFycmF5KCksIFBhcmFtZXRlciAkc3RydWN0dXJlID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+ZGF0YSA9ICRkYXRhOwogICAgICAgICR0aGlzLT5zdHJ1Y3R1cmUgPSAkc3RydWN0dXJlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIG1vZGVsCiAgICAgKgogICAgICogQHJldHVybiBQYXJhbWV0ZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFN0cnVjdHVyZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zdHJ1Y3R1cmUgPzogbmV3IFBhcmFtZXRlcigpOwogICAgfQoKICAgIC8qKgogICAgICogUHJvdmlkZXMgZGVidWcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG1vZGVsIG9iamVjdAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkKICAgIHsKICAgICAgICAkb3V0cHV0ID0gJ0RlYnVnIG91dHB1dCBvZiAnOwogICAgICAgIGlmICgkdGhpcy0+c3RydWN0dXJlKSB7CiAgICAgICAgICAgICRvdXRwdXQgLj0gJHRoaXMtPnN0cnVjdHVyZS0+Z2V0TmFtZSgpIC4gJyAnOwogICAgICAgIH0KICAgICAgICAkb3V0cHV0IC49ICdtb2RlbCc7CiAgICAgICAgJG91dHB1dCA9IHN0cl9yZXBlYXQoJz0nLCBzdHJsZW4oJG91dHB1dCkpIC4gIlxuIiAuICRvdXRwdXQgLiAiXG4iIC4gc3RyX3JlcGVhdCgnPScsIHN0cmxlbigkb3V0cHV0KSkgLiAiXG5cbiI7CiAgICAgICAgJG91dHB1dCAuPSAiTW9kZWwgZGF0YVxuLS0tLS0tLS0tLS1cblxuIjsKICAgICAgICAkb3V0cHV0IC49ICJUaGlzIGRhdGEgY2FuIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBtb2RlbCBvYmplY3QgdXNpbmcgdGhlIGdldCgpIG1ldGhvZCBvZiB0aGUgbW9kZWwgIgogICAgICAgICAgICAuICIoZS5nLiBcJG1vZGVsLT5nZXQoXCRrZXkpKSBvciBhY2Nlc3NpbmcgdGhlIG1vZGVsIGxpa2UgYW4gYXNzb2NpYXRpdmUgYXJyYXkgKGUuZy4gXCRtb2RlbFsna2V5J10pLlxuXG4iOwogICAgICAgICRsaW5lcyA9IGFycmF5X3NsaWNlKGV4cGxvZGUoIlxuIiwgdHJpbShwcmludF9yKCR0aGlzLT50b0FycmF5KCksIHRydWUpKSksIDIsIC0xKTsKICAgICAgICAkb3V0cHV0IC49ICBpbXBsb2RlKCJcbiIsICRsaW5lcyk7CgogICAgICAgIGlmICgkdGhpcy0+c3RydWN0dXJlKSB7CiAgICAgICAgICAgICRvdXRwdXQgLj0gIlxuXG5Nb2RlbCBzdHJ1Y3R1cmVcbi0tLS0tLS0tLS0tLS0tLVxuXG4iOwogICAgICAgICAgICAkb3V0cHV0IC49ICJUaGUgZm9sbG93aW5nIEpTT04gZG9jdW1lbnQgZGVmaW5lcyBob3cgdGhlIG1vZGVsIHdhcyBwYXJzZWQgZnJvbSBhbiBIVFRQIHJlc3BvbnNlIGludG8gdGhlICIKICAgICAgICAgICAgICAgIC4gImFzc29jaWF0aXZlIGFycmF5IHN0cnVjdHVyZSB5b3Ugc2VlIGFib3ZlLlxuXG4iOwogICAgICAgICAgICAkb3V0cHV0IC49ICcgICcgLiBqc29uX2VuY29kZSgkdGhpcy0+c3RydWN0dXJlLT50b0FycmF5KCkpIC4gIlxuXG4iOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRvdXRwdXQgLiAiXG4iOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZTsKCnVzZSBHdXp6bGVcQ29tbW9uXEFic3RyYWN0SGFzRGlzcGF0Y2hlcjsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKCmFic3RyYWN0IGNsYXNzIFJlc291cmNlSXRlcmF0b3IgZXh0ZW5kcyBBYnN0cmFjdEhhc0Rpc3BhdGNoZXIgaW1wbGVtZW50cyBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlCnsKICAgIC8qKiBAdmFyIENvbW1hbmRJbnRlcmZhY2UgQ29tbWFuZCB1c2VkIHRvIHNlbmQgcmVxdWVzdHMgKi8KICAgIHByb3RlY3RlZCAkY29tbWFuZDsKCiAgICAvKiogQHZhciBDb21tYW5kSW50ZXJmYWNlIEZpcnN0IHNlbnQgY29tbWFuZCAqLwogICAgcHJvdGVjdGVkICRvcmlnaW5hbENvbW1hbmQ7CgogICAgLyoqIEB2YXIgYXJyYXkgQ3VycmVudGx5IGxvYWRlZCByZXNvdXJjZXMgKi8KICAgIHByb3RlY3RlZCAkcmVzb3VyY2VzOwoKICAgIC8qKiBAdmFyIGludCBUb3RhbCBudW1iZXIgb2YgcmVzb3VyY2VzIHRoYXQgaGF2ZSBiZWVuIHJldHJpZXZlZCAqLwogICAgcHJvdGVjdGVkICRyZXRyaWV2ZWRDb3VudCA9IDA7CgogICAgLyoqIEB2YXIgaW50IFRvdGFsIG51bWJlciBvZiByZXNvdXJjZXMgdGhhdCBoYXZlIGJlZW4gaXRlcmF0ZWQgKi8KICAgIHByb3RlY3RlZCAkaXRlcmF0ZWRDb3VudCA9IDA7CgogICAgLyoqIEB2YXIgc3RyaW5nIE5leHRUb2tlbi9NYXJrZXIgZm9yIGEgc3Vic2VxdWVudCByZXF1ZXN0ICovCiAgICBwcm90ZWN0ZWQgJG5leHRUb2tlbiA9IGZhbHNlOwoKICAgIC8qKiBAdmFyIGludCBNYXhpbXVtIG51bWJlciBvZiByZXNvdXJjZXMgdG8gZmV0Y2ggcGVyIHJlcXVlc3QgKi8KICAgIHByb3RlY3RlZCAkcGFnZVNpemU7CgogICAgLyoqIEB2YXIgaW50IE1heGltdW0gbnVtYmVyIG9mIHJlc291cmNlcyB0byByZXRyaWV2ZSBpbiB0b3RhbCAqLwogICAgcHJvdGVjdGVkICRsaW1pdDsKCiAgICAvKiogQHZhciBpbnQgTnVtYmVyIG9mIHJlcXVlc3RzIHNlbnQgKi8KICAgIHByb3RlY3RlZCAkcmVxdWVzdENvdW50ID0gMDsKCiAgICAvKiogQHZhciBhcnJheSBJbml0aWFsIGRhdGEgcGFzc2VkIHRvIHRoZSBjb25zdHJ1Y3RvciAqLwogICAgcHJvdGVjdGVkICRkYXRhID0gYXJyYXkoKTsKCiAgICAvKiogQHZhciBib29sIFdoZXRoZXIgb3Igbm90IHRoZSBjdXJyZW50IHZhbHVlIGlzIGtub3duIHRvIGJlIGludmFsaWQgKi8KICAgIHByb3RlY3RlZCAkaW52YWxpZDsKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEFsbEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAvLyBBYm91dCB0byBpc3N1ZSBhbm90aGVyIGNvbW1hbmQgdG8gZ2V0IG1vcmUgcmVzdWx0cwogICAgICAgICAgICAncmVzb3VyY2VfaXRlcmF0b3IuYmVmb3JlX3NlbmQnLAogICAgICAgICAgICAvLyBJc3N1ZWQgYW5vdGhlciBjb21tYW5kIHRvIGdldCBtb3JlIHJlc3VsdHMKICAgICAgICAgICAgJ3Jlc291cmNlX2l0ZXJhdG9yLmFmdGVyX3NlbmQnCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kIEluaXRpYWwgY29tbWFuZCB1c2VkIGZvciBpdGVyYXRpb24KICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICRkYXRhICAgIEFzc29jaWF0aXZlIGFycmF5IG9mIGFkZGl0aW9uYWwgcGFyYW1ldGVycy4gWW91IG1heSBzcGVjaWZ5IGFueSBudW1iZXIgb2YgY3VzdG9tCiAgICAgKiAgICAgb3B0aW9ucyBmb3IgYW4gaXRlcmF0b3IuIEFtb25nIHRoZXNlIG9wdGlvbnMsIHlvdSBtYXkgYWxzbyBzcGVjaWZ5IHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAgICogICAgIC0gbGltaXQ6IEF0dGVtcHQgdG8gbGltaXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHJlc291cmNlcyB0byB0aGlzIGFtb3VudAogICAgICogICAgIC0gcGFnZV9zaXplOiBBdHRlbXB0IHRvIHJldHJpZXZlIHRoaXMgbnVtYmVyIG9mIHJlc291cmNlcyBwZXIgcmVxdWVzdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCwgYXJyYXkgJGRhdGEgPSBhcnJheSgpKQogICAgewogICAgICAgIC8vIENsb25lIHRoZSBjb21tYW5kIHRvIGtlZXAgdHJhY2sgb2YgdGhlIG9yaWdpbmF0aW5nIGNvbW1hbmQgZm9yIHJld2luZAogICAgICAgICR0aGlzLT5vcmlnaW5hbENvbW1hbmQgPSAkY29tbWFuZDsKCiAgICAgICAgLy8gUGFyc2Ugb3B0aW9ucyBmcm9tIHRoZSBhcnJheSBvZiBvcHRpb25zCiAgICAgICAgJHRoaXMtPmRhdGEgPSAkZGF0YTsKICAgICAgICAkdGhpcy0+bGltaXQgPSBhcnJheV9rZXlfZXhpc3RzKCdsaW1pdCcsICRkYXRhKSA/ICRkYXRhWydsaW1pdCddIDogMDsKICAgICAgICAkdGhpcy0+cGFnZVNpemUgPSBhcnJheV9rZXlfZXhpc3RzKCdwYWdlX3NpemUnLCAkZGF0YSkgPyAkZGF0YVsncGFnZV9zaXplJ10gOiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbGwgb2YgdGhlIHJlc291cmNlcyBhcyBhbiBhcnJheSAoV2FybmluZzogdGhpcyBjb3VsZCBpc3N1ZSBhIGxhcmdlIG51bWJlciBvZiByZXF1ZXN0cykKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0b0FycmF5KCkKICAgIHsKICAgICAgICByZXR1cm4gaXRlcmF0b3JfdG9fYXJyYXkoJHRoaXMsIGZhbHNlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0TGltaXQoJGxpbWl0KQogICAgewogICAgICAgICR0aGlzLT5saW1pdCA9ICRsaW1pdDsKICAgICAgICAkdGhpcy0+cmVzZXRTdGF0ZSgpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFBhZ2VTaXplKCRwYWdlU2l6ZSkKICAgIHsKICAgICAgICAkdGhpcy0+cGFnZVNpemUgPSAkcGFnZVNpemU7CiAgICAgICAgJHRoaXMtPnJlc2V0U3RhdGUoKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIG9wdGlvbiBmcm9tIHRoZSBpdGVyYXRvcgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSBLZXkgb2YgdGhlIG9wdGlvbiB0byByZXRyaWV2ZQogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWR8bnVsbCBSZXR1cm5zIE5VTEwgaWYgbm90IHNldCBvciB0aGUgdmFsdWUgaWYgc2V0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXQoJGtleSkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXlfa2V5X2V4aXN0cygka2V5LCAkdGhpcy0+ZGF0YSkgPyAkdGhpcy0+ZGF0YVska2V5XSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgYW4gb3B0aW9uIG9uIHRoZSBpdGVyYXRvcgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSAgIEtleSBvZiB0aGUgb3B0aW9uIHRvIHNldAogICAgICogQHBhcmFtIG1peGVkICAkdmFsdWUgVmFsdWUgdG8gc2V0IGZvciB0aGUgb3B0aW9uCiAgICAgKgogICAgICogQHJldHVybiBSZXNvdXJjZUl0ZXJhdG9yCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXQoJGtleSwgJHZhbHVlKQogICAgewogICAgICAgICR0aGlzLT5kYXRhWyRrZXldID0gJHZhbHVlOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGN1cnJlbnQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVzb3VyY2VzID8gY3VycmVudCgkdGhpcy0+cmVzb3VyY2VzKSA6IGZhbHNlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBrZXkoKQogICAgewogICAgICAgIHJldHVybiBtYXgoMCwgJHRoaXMtPml0ZXJhdGVkQ291bnQgLSAxKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY291bnQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmV0cmlldmVkQ291bnQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHRvdGFsIG51bWJlciBvZiByZXF1ZXN0cyBzZW50CiAgICAgKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlcXVlc3RDb3VudCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXF1ZXN0Q291bnQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXdpbmQgdGhlIEl0ZXJhdG9yIHRvIHRoZSBmaXJzdCBlbGVtZW50IGFuZCBzZW5kIHRoZSBvcmlnaW5hbCBjb21tYW5kCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZXdpbmQoKQogICAgewogICAgICAgIC8vIFVzZSB0aGUgb3JpZ2luYWwgY29tbWFuZAogICAgICAgICR0aGlzLT5jb21tYW5kID0gY2xvbmUgJHRoaXMtPm9yaWdpbmFsQ29tbWFuZDsKICAgICAgICAkdGhpcy0+cmVzZXRTdGF0ZSgpOwogICAgICAgICR0aGlzLT5uZXh0KCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkKCkKICAgIHsKICAgICAgICByZXR1cm4gISR0aGlzLT5pbnZhbGlkICYmICghJHRoaXMtPnJlc291cmNlcyB8fCAkdGhpcy0+Y3VycmVudCgpIHx8ICR0aGlzLT5uZXh0VG9rZW4pCiAgICAgICAgICAgICYmICghJHRoaXMtPmxpbWl0IHx8ICR0aGlzLT5pdGVyYXRlZENvdW50IDwgJHRoaXMtPmxpbWl0ICsgMSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG5leHQoKQogICAgewogICAgICAgICR0aGlzLT5pdGVyYXRlZENvdW50Kys7CgogICAgICAgIC8vIENoZWNrIGlmIGEgbmV3IHNldCBvZiByZXNvdXJjZXMgbmVlZHMgdG8gYmUgcmV0cmlldmVkCiAgICAgICAgJHNlbmRSZXF1ZXN0ID0gZmFsc2U7CiAgICAgICAgaWYgKCEkdGhpcy0+cmVzb3VyY2VzKSB7CiAgICAgICAgICAgICRzZW5kUmVxdWVzdCA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gaXRlcmF0ZSBvdmVyIHRoZSBpbnRlcm5hbCBhcnJheQogICAgICAgICAgICAkY3VycmVudCA9IG5leHQoJHRoaXMtPnJlc291cmNlcyk7CiAgICAgICAgICAgICRzZW5kUmVxdWVzdCA9ICRjdXJyZW50ID09PSBmYWxzZSAmJiAkdGhpcy0+bmV4dFRva2VuICYmICghJHRoaXMtPmxpbWl0IHx8ICR0aGlzLT5pdGVyYXRlZENvdW50IDwgJHRoaXMtPmxpbWl0ICsgMSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHNlbmRSZXF1ZXN0KSB7CgogICAgICAgICAgICAkdGhpcy0+ZGlzcGF0Y2goJ3Jlc291cmNlX2l0ZXJhdG9yLmJlZm9yZV9zZW5kJywgYXJyYXkoCiAgICAgICAgICAgICAgICAnaXRlcmF0b3InICA9PiAkdGhpcywKICAgICAgICAgICAgICAgICdyZXNvdXJjZXMnID0+ICR0aGlzLT5yZXNvdXJjZXMKICAgICAgICAgICAgKSk7CgogICAgICAgICAgICAvLyBHZXQgYSBuZXcgY29tbWFuZCBvYmplY3QgZnJvbSB0aGUgb3JpZ2luYWwgY29tbWFuZAogICAgICAgICAgICAkdGhpcy0+Y29tbWFuZCA9IGNsb25lICR0aGlzLT5vcmlnaW5hbENvbW1hbmQ7CiAgICAgICAgICAgIC8vIFNlbmQgYSByZXF1ZXN0IGFuZCByZXRyaWV2ZSB0aGUgbmV3bHkgbG9hZGVkIHJlc291cmNlcwogICAgICAgICAgICAkdGhpcy0+cmVzb3VyY2VzID0gJHRoaXMtPnNlbmRSZXF1ZXN0KCk7CiAgICAgICAgICAgICR0aGlzLT5yZXF1ZXN0Q291bnQrKzsKCiAgICAgICAgICAgIC8vIElmIG5vIHJlc291cmNlcyB3ZXJlIGZvdW5kLCB0aGVuIHRoZSBsYXN0IHJlcXVlc3Qgd2FzIG5vdCBuZWVkZWQKICAgICAgICAgICAgLy8gYW5kIGl0ZXJhdGlvbiBtdXN0IHN0b3AKICAgICAgICAgICAgaWYgKGVtcHR5KCR0aGlzLT5yZXNvdXJjZXMpKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+aW52YWxpZCA9IHRydWU7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBBZGQgdG8gdGhlIG51bWJlciBvZiByZXRyaWV2ZWQgcmVzb3VyY2VzCiAgICAgICAgICAgICAgICAkdGhpcy0+cmV0cmlldmVkQ291bnQgKz0gY291bnQoJHRoaXMtPnJlc291cmNlcyk7CiAgICAgICAgICAgICAgICAvLyBFbnN1cmUgdGhhdCB3ZSByZXdpbmQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgYXJyYXkKICAgICAgICAgICAgICAgIHJlc2V0KCR0aGlzLT5yZXNvdXJjZXMpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkdGhpcy0+ZGlzcGF0Y2goJ3Jlc291cmNlX2l0ZXJhdG9yLmFmdGVyX3NlbmQnLCBhcnJheSgKICAgICAgICAgICAgICAgICdpdGVyYXRvcicgID0+ICR0aGlzLAogICAgICAgICAgICAgICAgJ3Jlc291cmNlcycgPT4gJHRoaXMtPnJlc291cmNlcwogICAgICAgICAgICApKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXRyaWV2ZSB0aGUgTmV4dFRva2VuIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgaXRlcmF0b3JzLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIFJldHVybnMgYSBOZXh0VG9rZW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE5leHRUb2tlbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5uZXh0VG9rZW47CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSB0aGF0IHNob3VsZCBiZSBzcGVjaWZpZWQgZm9yIHRoZSBwYWdlIHNpemUgZm9yIGEgcmVxdWVzdCB0aGF0IHdpbGwgbWFpbnRhaW4gYW55IGhhcmQgbGltaXRzLAogICAgICogYnV0IHN0aWxsIGhvbm9yIHRoZSBzcGVjaWZpZWQgcGFnZVNpemUgaWYgdGhlIG51bWJlciBvZiBpdGVtcyByZXRyaWV2ZWQgKyBwYWdlU2l6ZSA8IGhhcmQgbGltaXQKICAgICAqCiAgICAgKiBAcmV0dXJuIGludCBSZXR1cm5zIHRoZSBwYWdlIHNpemUgb2YgdGhlIG5leHQgcmVxdWVzdC4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNhbGN1bGF0ZVBhZ2VTaXplKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPmxpbWl0ICYmICR0aGlzLT5pdGVyYXRlZENvdW50ICsgJHRoaXMtPnBhZ2VTaXplID4gJHRoaXMtPmxpbWl0KSB7CiAgICAgICAgICAgIHJldHVybiAxICsgKCR0aGlzLT5saW1pdCAtICR0aGlzLT5pdGVyYXRlZENvdW50KTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAoaW50KSAkdGhpcy0+cGFnZVNpemU7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXNldCB0aGUgaW50ZXJuYWwgc3RhdGUgb2YgdGhlIGl0ZXJhdG9yIHdpdGhvdXQgdHJpZ2dlcmluZyBhIHJld2luZCgpCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiByZXNldFN0YXRlKCkKICAgIHsKICAgICAgICAkdGhpcy0+aXRlcmF0ZWRDb3VudCA9IDA7CiAgICAgICAgJHRoaXMtPnJldHJpZXZlZENvdW50ID0gMDsKICAgICAgICAkdGhpcy0+bmV4dFRva2VuID0gZmFsc2U7CiAgICAgICAgJHRoaXMtPnJlc291cmNlcyA9IG51bGw7CiAgICAgICAgJHRoaXMtPmludmFsaWQgPSBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgYSByZXF1ZXN0IHRvIHJldHJpZXZlIHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0cy4gSG9vayBmb3Igc3ViY2xhc3NlcyB0byBpbXBsZW1lbnQuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIHRoZSBuZXdseSBsb2FkZWQgcmVzb3VyY2VzCiAgICAgKi8KICAgIGFic3RyYWN0IHByb3RlY3RlZCBmdW5jdGlvbiBzZW5kUmVxdWVzdCgpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorApplyBatched.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZTsKCnVzZSBHdXp6bGVcQ29tbW9uXEFic3RyYWN0SGFzRGlzcGF0Y2hlcjsKdXNlIEd1enpsZVxCYXRjaFxCYXRjaEJ1aWxkZXI7CnVzZSBHdXp6bGVcQmF0Y2hcQmF0Y2hTaXplRGl2aXNvcjsKdXNlIEd1enpsZVxCYXRjaFxCYXRjaENsb3N1cmVUcmFuc2ZlcjsKdXNlIEd1enpsZVxDb21tb25cVmVyc2lvbjsKCi8qKgogKiBBcHBseSBhIGNhbGxiYWNrIHRvIHRoZSBjb250ZW50cyBvZiBhIHtAc2VlIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2V9CiAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIGFuZCBpcyBubyBsb25nZXIgbWFpbnRhaW5lZC4gVXNlIHRoZSBCYXRjaFwgYWJzdHJhY3Rpb25zIGluc3RlYWQuCiAqIEBjb2RlQ292ZXJhZ2VJZ25vcmUKICovCmNsYXNzIFJlc291cmNlSXRlcmF0b3JBcHBseUJhdGNoZWQgZXh0ZW5kcyBBYnN0cmFjdEhhc0Rpc3BhdGNoZXIKewogICAgLyoqIEB2YXIgY2FsbGFibGV8YXJyYXkgKi8KICAgIHByb3RlY3RlZCAkY2FsbGJhY2s7CgogICAgLyoqIEB2YXIgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSAqLwogICAgcHJvdGVjdGVkICRpdGVyYXRvcjsKCiAgICAvKiogQHZhciBpbnRlZ2VyIFRvdGFsIG51bWJlciBvZiBzZW50IGJhdGNoZXMgKi8KICAgIHByb3RlY3RlZCAkYmF0Y2hlcyA9IDA7CgogICAgLyoqIEB2YXIgaW50IFRvdGFsIG51bWJlciBvZiBpdGVyYXRlZCByZXNvdXJjZXMgKi8KICAgIHByb3RlY3RlZCAkaXRlcmF0ZWQgPSAwOwoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0QWxsRXZlbnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIC8vIEFib3V0IHRvIHNlbmQgYSBiYXRjaCBvZiByZXF1ZXN0cyB0byB0aGUgY2FsbGJhY2sKICAgICAgICAgICAgJ2l0ZXJhdG9yX2JhdGNoLmJlZm9yZV9iYXRjaCcsCiAgICAgICAgICAgIC8vIEZpbmlzaGVkIHNlbmRpbmcgYSBiYXRjaCBvZiByZXF1ZXN0cyB0byB0aGUgY2FsbGJhY2sKICAgICAgICAgICAgJ2l0ZXJhdG9yX2JhdGNoLmFmdGVyX2JhdGNoJywKICAgICAgICAgICAgLy8gQ3JlYXRlZCB0aGUgYmF0Y2ggb2JqZWN0CiAgICAgICAgICAgICdpdGVyYXRvcl9iYXRjaC5jcmVhdGVkX2JhdGNoJwogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0gUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZSAkaXRlcmF0b3IgUmVzb3VyY2UgaXRlcmF0b3IgdG8gYXBwbHkgYSBjYWxsYmFjayB0bwogICAgICogQHBhcmFtIGFycmF5fGNhbGxhYmxlICAgICAgICAgICAgJGNhbGxiYWNrIENhbGxiYWNrIG1ldGhvZCBhY2NlcHRpbmcgdGhlIHJlc291cmNlIGl0ZXJhdG9yCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGFuIGFycmF5IG9mIHRoZSBpdGVyYXRvcidzIGN1cnJlbnQgcmVzb3VyY2VzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlICRpdGVyYXRvciwgJGNhbGxiYWNrKQogICAgewogICAgICAgICR0aGlzLT5pdGVyYXRvciA9ICRpdGVyYXRvcjsKICAgICAgICAkdGhpcy0+Y2FsbGJhY2sgPSAkY2FsbGJhY2s7CiAgICAgICAgVmVyc2lvbjo6d2FybihfX0NMQVNTX18gLiAnIGlzIGRlcHJlY2F0ZWQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFwcGx5IHRoZSBjYWxsYmFjayB0byB0aGUgY29udGVudHMgb2YgdGhlIHJlc291cmNlIGl0ZXJhdG9yCiAgICAgKgogICAgICogQHBhcmFtIGludCAkcGVyQmF0Y2ggVGhlIG51bWJlciBvZiByZWNvcmRzIHRvIGdyb3VwIHBlciBiYXRjaCB0cmFuc2ZlcgogICAgICoKICAgICAqIEByZXR1cm4gaW50IFJldHVybnMgdGhlIG51bWJlciBvZiBpdGVyYXRlZCByZXNvdXJjZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFwcGx5KCRwZXJCYXRjaCA9IDUwKQogICAgewogICAgICAgICR0aGlzLT5pdGVyYXRlZCA9ICR0aGlzLT5iYXRjaGVzID0gJGJhdGNoZXMgPSAwOwogICAgICAgICR0aGF0ID0gJHRoaXM7CiAgICAgICAgJGl0ID0gJHRoaXMtPml0ZXJhdG9yOwogICAgICAgICRjYWxsYmFjayA9ICR0aGlzLT5jYWxsYmFjazsKCiAgICAgICAgJGJhdGNoID0gQmF0Y2hCdWlsZGVyOjpmYWN0b3J5KCkKICAgICAgICAgICAgLT5jcmVhdGVCYXRjaGVzV2l0aChuZXcgQmF0Y2hTaXplRGl2aXNvcigkcGVyQmF0Y2gpKQogICAgICAgICAgICAtPnRyYW5zZmVyV2l0aChuZXcgQmF0Y2hDbG9zdXJlVHJhbnNmZXIoZnVuY3Rpb24gKGFycmF5ICRiYXRjaCkgdXNlICgkdGhhdCwgJGNhbGxiYWNrLCAmJGJhdGNoZXMsICRpdCkgewogICAgICAgICAgICAgICAgJGJhdGNoZXMrKzsKICAgICAgICAgICAgICAgICR0aGF0LT5kaXNwYXRjaCgnaXRlcmF0b3JfYmF0Y2guYmVmb3JlX2JhdGNoJywgYXJyYXkoJ2l0ZXJhdG9yJyA9PiAkaXQsICdiYXRjaCcgPT4gJGJhdGNoKSk7CiAgICAgICAgICAgICAgICBjYWxsX3VzZXJfZnVuY19hcnJheSgkY2FsbGJhY2ssIGFycmF5KCRpdCwgJGJhdGNoKSk7CiAgICAgICAgICAgICAgICAkdGhhdC0+ZGlzcGF0Y2goJ2l0ZXJhdG9yX2JhdGNoLmFmdGVyX2JhdGNoJywgYXJyYXkoJ2l0ZXJhdG9yJyA9PiAkaXQsICdiYXRjaCcgPT4gJGJhdGNoKSk7CiAgICAgICAgICAgIH0pKQogICAgICAgICAgICAtPmF1dG9GbHVzaEF0KCRwZXJCYXRjaCkKICAgICAgICAgICAgLT5idWlsZCgpOwoKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2goJ2l0ZXJhdG9yX2JhdGNoLmNyZWF0ZWRfYmF0Y2gnLCBhcnJheSgnYmF0Y2gnID0+ICRiYXRjaCkpOwoKICAgICAgICBmb3JlYWNoICgkdGhpcy0+aXRlcmF0b3IgYXMgJHJlc291cmNlKSB7CiAgICAgICAgICAgICR0aGlzLT5pdGVyYXRlZCsrOwogICAgICAgICAgICAkYmF0Y2gtPmFkZCgkcmVzb3VyY2UpOwogICAgICAgIH0KCiAgICAgICAgJGJhdGNoLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5iYXRjaGVzID0gJGJhdGNoZXM7CgogICAgICAgIHJldHVybiAkdGhpcy0+aXRlcmF0ZWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHRvdGFsIG51bWJlciBvZiBiYXRjaGVzIHNlbnQKICAgICAqCiAgICAgKiBAcmV0dXJuIGludAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QmF0Y2hDb3VudCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5iYXRjaGVzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB0b3RhbCBudW1iZXIgb2YgaXRlcmF0ZWQgcmVzb3VyY2VzCiAgICAgKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEl0ZXJhdGVkQ291bnQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+aXRlcmF0ZWQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorClassFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZTsKCnVzZSBHdXp6bGVcSW5mbGVjdGlvblxJbmZsZWN0b3JJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSW5mbGVjdGlvblxJbmZsZWN0b3I7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2U7CgovKioKICogRmFjdG9yeSBmb3IgY3JlYXRpbmcge0BzZWUgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZX0gb2JqZWN0cyB1c2luZyBhIGNvbnZlbnRpb24gb2Ygc3RvcmluZyBpdGVyYXRvciBjbGFzc2VzIHVuZGVyIGEKICogcm9vdCBuYW1lc3BhY2UgdXNpbmcgdGhlIG5hbWUgb2YgYSB7QHNlZSBDb21tYW5kSW50ZXJmYWNlfSBvYmplY3QgYXMgYSBjb252ZW50aW9uIGZvciBkZXRlcm1pbmluZyB0aGUgbmFtZSBvZiBhbgogKiBpdGVyYXRvciBjbGFzcy4gVGhlIGNvbW1hbmQgbmFtZSBpcyBjb252ZXJ0ZWQgdG8gQ2FtZWxDYXNlIGFuZCBJdGVyYXRvciBpcyBhcHBlbmRlZCAoZS5nLiBhYmNfZm9vID0+IEFiY0ZvbykuCiAqLwpjbGFzcyBSZXNvdXJjZUl0ZXJhdG9yQ2xhc3NGYWN0b3J5IGV4dGVuZHMgQWJzdHJhY3RSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeQp7CiAgICAvKiogQHZhciBhcnJheSBMaXN0IG9mIG5hbWVzcGFjZXMgdXNlZCB0byBsb29rIGZvciBjbGFzc2VzICovCiAgICBwcm90ZWN0ZWQgJG5hbWVzcGFjZXM7CgogICAgLyoqIEB2YXIgSW5mbGVjdG9ySW50ZXJmYWNlIEluZmxlY3RvciB1c2VkIHRvIGRldGVybWluZSBjbGFzcyBuYW1lcyAqLwogICAgcHJvdGVjdGVkICRpbmZsZWN0b3I7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gc3RyaW5nfGFycmF5ICAgICAgICRuYW1lc3BhY2VzIExpc3Qgb2YgbmFtZXNwYWNlcyBmb3IgaXRlcmF0b3Igb2JqZWN0cwogICAgICogQHBhcmFtIEluZmxlY3RvckludGVyZmFjZSAkaW5mbGVjdG9yICBJbmZsZWN0b3IgdXNlZCB0byByZXNvbHZlIGNsYXNzIG5hbWVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbmFtZXNwYWNlcyA9IGFycmF5KCksIEluZmxlY3RvckludGVyZmFjZSAkaW5mbGVjdG9yID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+bmFtZXNwYWNlcyA9IChhcnJheSkgJG5hbWVzcGFjZXM7CiAgICAgICAgJHRoaXMtPmluZmxlY3RvciA9ICRpbmZsZWN0b3IgPzogSW5mbGVjdG9yOjpnZXREZWZhdWx0KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZWdpc3RlcnMgYSBuYW1lc3BhY2UgdG8gY2hlY2sgZm9yIEl0ZXJhdG9ycwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWVzcGFjZSBOYW1lc3BhY2Ugd2hpY2ggY29udGFpbnMgSXRlcmF0b3IgY2xhc3NlcwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVnaXN0ZXJOYW1lc3BhY2UoJG5hbWVzcGFjZSkKICAgIHsKICAgICAgICBhcnJheV91bnNoaWZ0KCR0aGlzLT5uYW1lc3BhY2VzLCAkbmFtZXNwYWNlKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRDbGFzc05hbWUoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCkKICAgIHsKICAgICAgICAkaXRlcmF0b3JOYW1lID0gJHRoaXMtPmluZmxlY3Rvci0+Y2FtZWwoJGNvbW1hbmQtPmdldE5hbWUoKSkgLiAnSXRlcmF0b3InOwoKICAgICAgICAvLyBEZXRlcm1pbmUgdGhlIG5hbWUgb2YgdGhlIGNsYXNzIHRvIGxvYWQKICAgICAgICBmb3JlYWNoICgkdGhpcy0+bmFtZXNwYWNlcyBhcyAkbmFtZXNwYWNlKSB7CiAgICAgICAgICAgICRwb3RlbnRpYWxDbGFzc05hbWUgPSAkbmFtZXNwYWNlIC4gJ1xcJyAuICRpdGVyYXRvck5hbWU7CiAgICAgICAgICAgIGlmIChjbGFzc19leGlzdHMoJHBvdGVudGlhbENsYXNzTmFtZSkpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkcG90ZW50aWFsQ2xhc3NOYW1lOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorFactoryInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZTsKCnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2U7CgovKioKICogRmFjdG9yeSBmb3IgY3JlYXRpbmcge0BzZWUgUmVzb3VyY2VJdGVyYXRvckludGVyZmFjZX0gb2JqZWN0cwogKi8KaW50ZXJmYWNlIFJlc291cmNlSXRlcmF0b3JGYWN0b3J5SW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQ3JlYXRlIGEgcmVzb3VyY2UgaXRlcmF0b3IKICAgICAqCiAgICAgKiBAcGFyYW0gQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCBDb21tYW5kIHRvIGNyZWF0ZSBhbiBpdGVyYXRvciBmb3IKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICAgICAgJG9wdGlvbnMgSXRlcmF0b3Igb3B0aW9ucyB0aGF0IGFyZSBleHBvc2VkIGFzIGRhdGEuCiAgICAgKgogICAgICogQHJldHVybiBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidWlsZChDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLCBhcnJheSAkb3B0aW9ucyA9IGFycmF5KCkpOwoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgdGhlIGZhY3RvcnkgY2FuIGNyZWF0ZSBhbiBpdGVyYXRvcgogICAgICoKICAgICAqIEBwYXJhbSBDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kIENvbW1hbmQgdG8gY3JlYXRlIGFuIGl0ZXJhdG9yIGZvcgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FuQnVpbGQoQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZTsKCnVzZSBHdXp6bGVcQ29tbW9uXEhhc0Rpc3BhdGNoZXJJbnRlcmZhY2U7CnVzZSBHdXp6bGVcQ29tbW9uXFRvQXJyYXlJbnRlcmZhY2U7CgovKioKICogSXRlcmF0ZXMgb3ZlciBhIHBhZ2luYXRlZCByZXNvdXJjZSB1c2luZyBzdWJzZXF1ZW50IHJlcXVlc3RzIGluIG9yZGVyIHRvIHJldHJpZXZlIHRoZSBlbnRpcmUgbWF0Y2hpbmcgcmVzdWx0IHNldAogKi8KaW50ZXJmYWNlIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UgZXh0ZW5kcyBUb0FycmF5SW50ZXJmYWNlLCBIYXNEaXNwYXRjaGVySW50ZXJmYWNlLCBcSXRlcmF0b3IsIFxDb3VudGFibGUKewogICAgLyoqCiAgICAgKiBSZXRyaWV2ZSB0aGUgTmV4dFRva2VuIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgaXRlcmF0b3JzLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIFJldHVybnMgYSBOZXh0VG9rZW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE5leHRUb2tlbigpOwoKICAgIC8qKgogICAgICogQXR0ZW1wdCB0byBsaW1pdCB0aGUgdG90YWwgbnVtYmVyIG9mIHJlc291cmNlcyByZXR1cm5lZCBieSB0aGUgaXRlcmF0b3IuCiAgICAgKgogICAgICogWW91IG1heSBzdGlsbCByZWNlaXZlIG1vcmUgaXRlbXMgdGhhbiB5b3Ugc3BlY2lmeS4gU2V0IHRvIDAgdG8gc3BlY2lmeSBubyBsaW1pdC4KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCBMaW1pdCBhbW91bnQKICAgICAqCiAgICAgKiBAcmV0dXJuIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldExpbWl0KCRsaW1pdCk7CgogICAgLyoqCiAgICAgKiBBdHRlbXB0IHRvIGxpbWl0IHRoZSB0b3RhbCBudW1iZXIgb2YgcmVzb3VyY2VzIHJldHJpZXZlZCBwZXIgcmVxdWVzdCBieSAgdGhlIGl0ZXJhdG9yLgogICAgICoKICAgICAqIFRoZSBpdGVyYXRvciBtYXkgcmV0dXJuIG1vcmUgdGhhbiB5b3Ugc3BlY2lmeSBpbiB0aGUgcGFnZSBzaXplIGFyZ3VtZW50IGRlcGVuZGluZyBvbiB0aGUgc2VydmljZSBhbmQgdW5kZXJseWluZwogICAgICogY29tbWFuZCBpbXBsZW1lbnRhdGlvbi4gIFNldCB0byAwIHRvIHNwZWNpZnkgbm8gcGFnZSBzaXplIGxpbWl0YXRpb24uCiAgICAgKgogICAgICogQHBhcmFtIGludCAkcGFnZVNpemUgTGltaXQgYW1vdW50CiAgICAgKgogICAgICogQHJldHVybiBSZXNvdXJjZUl0ZXJhdG9ySW50ZXJmYWNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRQYWdlU2l6ZSgkcGFnZVNpemUpOwoKICAgIC8qKgogICAgICogR2V0IGEgZGF0YSBvcHRpb24gZnJvbSB0aGUgaXRlcmF0b3IKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgS2V5IG9mIHRoZSBvcHRpb24gdG8gcmV0cmlldmUKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkfG51bGwgUmV0dXJucyBOVUxMIGlmIG5vdCBzZXQgb3IgdGhlIHZhbHVlIGlmIHNldAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0KCRrZXkpOwoKICAgIC8qKgogICAgICogU2V0IGEgZGF0YSBvcHRpb24gb24gdGhlIGl0ZXJhdG9yCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5ICAgS2V5IG9mIHRoZSBvcHRpb24gdG8gc2V0CiAgICAgKiBAcGFyYW0gbWl4ZWQgICR2YWx1ZSBWYWx1ZSB0byBzZXQgZm9yIHRoZSBvcHRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIFJlc291cmNlSXRlcmF0b3JJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldCgka2V5LCAkdmFsdWUpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Stream/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Stream/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZ3V6emxlL3N0cmVhbSIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3V6emxlIHN0cmVhbSB3cmFwcGVyIGNvbXBvbmVudCIsCiAgICAiaG9tZXBhZ2UiOiAiaHR0cDovL2d1enpsZXBocC5vcmcvIiwKICAgICJrZXl3b3JkcyI6IFsic3RyZWFtIiwgImNvbXBvbmVudCIsICJndXp6bGUiXSwKICAgICJsaWNlbnNlIjogIk1JVCIsCiAgICAiYXV0aG9ycyI6IFsKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogIk1pY2hhZWwgRG93bGluZyIsCiAgICAgICAgICAgICJlbWFpbCI6ICJtdGRvd2xpbmdAZ21haWwuY29tIiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tdGRvd2xpbmciCiAgICAgICAgfQogICAgXSwKICAgICJyZXF1aXJlIjogewogICAgICAgICJwaHAiOiAiPj01LjMuMiIsCiAgICAgICAgImd1enpsZS9jb21tb24iOiAic2VsZi52ZXJzaW9uIgogICAgfSwKICAgICJzdWdnZXN0IjogewogICAgICAgICJndXp6bGUvaHR0cCI6ICJUbyBjb252ZXJ0IEd1enpsZSByZXF1ZXN0IG9iamVjdHMgdG8gUEhQIHN0cmVhbXMiCiAgICB9LAogICAgImF1dG9sb2FkIjogewogICAgICAgICJwc3ItMCI6IHsgIkd1enpsZVxcU3RyZWFtIjogIiIgfQogICAgfSwKICAgICJ0YXJnZXQtZGlyIjogIkd1enpsZS9TdHJlYW0iLAogICAgImV4dHJhIjogewogICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjMuNy1kZXYiCiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Stream/PhpStreamRequestFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU3RyZWFtOwoKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxVcmw7CgovKioKICogRmFjdG9yeSB1c2VkIHRvIGNyZWF0ZSBmb3BlbiBzdHJlYW1zIHVzaW5nIFBIUCdzIGh0dHAgYW5kIGh0dHBzIHN0cmVhbSB3cmFwcGVycwogKgogKiBOb3RlOiBQSFAncyBodHRwIHN0cmVhbSB3cmFwcGVyIG9ubHkgc3VwcG9ydHMgc3RyZWFtaW5nIGRvd25sb2Fkcy4gSXQgZG9lcyBub3Qgc3VwcG9ydCBzdHJlYW1pbmcgdXBsb2Fkcy4KICovCmNsYXNzIFBocFN0cmVhbVJlcXVlc3RGYWN0b3J5IGltcGxlbWVudHMgU3RyZWFtUmVxdWVzdEZhY3RvcnlJbnRlcmZhY2UKewogICAgLyoqIEB2YXIgcmVzb3VyY2UgU3RyZWFtIGNvbnRleHQgb3B0aW9ucyAqLwogICAgcHJvdGVjdGVkICRjb250ZXh0OwoKICAgIC8qKiBAdmFyIGFycmF5IFN0cmVhbSBjb250ZXh0ICovCiAgICBwcm90ZWN0ZWQgJGNvbnRleHRPcHRpb25zOwoKICAgIC8qKiBAdmFyIFVybCBTdHJlYW0gVVJMICovCiAgICBwcm90ZWN0ZWQgJHVybDsKCiAgICAvKiogQHZhciBhcnJheSBMYXN0IHJlc3BvbnNlIGhlYWRlcnMgcmVjZWl2ZWQgYnkgdGhlIEhUVFAgcmVxdWVzdCAqLwogICAgcHJvdGVjdGVkICRsYXN0UmVzcG9uc2VIZWFkZXJzOwoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICoKICAgICAqIFRoZSAkcGFyYW1zIGFycmF5IGNhbiBjb250YWluIHRoZSBmb2xsb3dpbmcgY3VzdG9tIGtleXMgc3BlY2lmaWMgdG8gdGhlIFBocFN0cmVhbVJlcXVlc3RGYWN0b3J5OgogICAgICogLSBzdHJlYW1fY2xhc3M6IFRoZSBuYW1lIG9mIGEgY2xhc3MgdG8gY3JlYXRlIGluc3RlYWQgb2YgYSBHdXp6bGVcU3RyZWFtXFN0cmVhbSBvYmplY3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGZyb21SZXF1ZXN0KFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsICRjb250ZXh0ID0gYXJyYXkoKSwgYXJyYXkgJHBhcmFtcyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgaWYgKGlzX3Jlc291cmNlKCRjb250ZXh0KSkgewogICAgICAgICAgICAkdGhpcy0+Y29udGV4dE9wdGlvbnMgPSBzdHJlYW1fY29udGV4dF9nZXRfb3B0aW9ucygkY29udGV4dCk7CiAgICAgICAgICAgICR0aGlzLT5jb250ZXh0ID0gJGNvbnRleHQ7CiAgICAgICAgfSBlbHNlaWYgKGlzX2FycmF5KCRjb250ZXh0KSB8fCAhJGNvbnRleHQpIHsKICAgICAgICAgICAgJHRoaXMtPmNvbnRleHRPcHRpb25zID0gJGNvbnRleHQ7CiAgICAgICAgICAgICR0aGlzLT5jcmVhdGVDb250ZXh0KCRwYXJhbXMpOwogICAgICAgIH0gZWxzZWlmICgkY29udGV4dCkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCckY29udGV4dCBtdXN0IGJlIGFuIGFycmF5IG9yIHJlc291cmNlJyk7CiAgICAgICAgfQoKICAgICAgICAvLyBEaXNwYXRjaCB0aGUgYmVmb3JlIHNlbmQgZXZlbnQKICAgICAgICAkcmVxdWVzdC0+ZGlzcGF0Y2goJ3JlcXVlc3QuYmVmb3JlX3NlbmQnLCBhcnJheSgKICAgICAgICAgICAgJ3JlcXVlc3QnICAgICAgICAgPT4gJHJlcXVlc3QsCiAgICAgICAgICAgICdjb250ZXh0JyAgICAgICAgID0+ICR0aGlzLT5jb250ZXh0LAogICAgICAgICAgICAnY29udGV4dF9vcHRpb25zJyA9PiAkdGhpcy0+Y29udGV4dE9wdGlvbnMKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPnNldFVybCgkcmVxdWVzdCk7CiAgICAgICAgJHRoaXMtPmFkZERlZmF1bHRDb250ZXh0T3B0aW9ucygkcmVxdWVzdCk7CiAgICAgICAgJHRoaXMtPmFkZFNzbE9wdGlvbnMoJHJlcXVlc3QpOwogICAgICAgICR0aGlzLT5hZGRCb2R5T3B0aW9ucygkcmVxdWVzdCk7CiAgICAgICAgJHRoaXMtPmFkZFByb3h5T3B0aW9ucygkcmVxdWVzdCk7CgogICAgICAgIC8vIENyZWF0ZSB0aGUgZmlsZSBoYW5kbGUgYnV0IHNpbGVuY2UgZXJyb3JzCiAgICAgICAgcmV0dXJuICR0aGlzLT5jcmVhdGVTdHJlYW0oJHBhcmFtcykKICAgICAgICAgICAgLT5zZXRDdXN0b21EYXRhKCdyZXF1ZXN0JywgJHJlcXVlc3QpCiAgICAgICAgICAgIC0+c2V0Q3VzdG9tRGF0YSgncmVzcG9uc2VfaGVhZGVycycsICR0aGlzLT5nZXRMYXN0UmVzcG9uc2VIZWFkZXJzKCkpOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IGFuIG9wdGlvbiBvbiB0aGUgY29udGV4dCBhbmQgdGhlIGludGVybmFsIG9wdGlvbnMgYXJyYXkKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR3cmFwcGVyICAgU3RyZWFtIHdyYXBwZXIgbmFtZSBvZiBodHRwCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lICAgICAgQ29udGV4dCBuYW1lCiAgICAgKiBAcGFyYW0gbWl4ZWQgICR2YWx1ZSAgICAgQ29udGV4dCB2YWx1ZQogICAgICogQHBhcmFtIGJvb2wgICAkb3ZlcndyaXRlIFNldCB0byB0cnVlIHRvIG92ZXJ3cml0ZSBhbiBleGlzdGluZyB2YWx1ZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0Q29udGV4dFZhbHVlKCR3cmFwcGVyLCAkbmFtZSwgJHZhbHVlLCAkb3ZlcndyaXRlID0gZmFsc2UpCiAgICB7CiAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+Y29udGV4dE9wdGlvbnNbJHdyYXBwZXJdKSkgewogICAgICAgICAgICAkdGhpcy0+Y29udGV4dE9wdGlvbnNbJHdyYXBwZXJdID0gYXJyYXkoJG5hbWUgPT4gJHZhbHVlKTsKICAgICAgICB9IGVsc2VpZiAoISRvdmVyd3JpdGUgJiYgaXNzZXQoJHRoaXMtPmNvbnRleHRPcHRpb25zWyR3cmFwcGVyXVskbmFtZV0pKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmNvbnRleHRPcHRpb25zWyR3cmFwcGVyXVskbmFtZV0gPSAkdmFsdWU7CiAgICAgICAgc3RyZWFtX2NvbnRleHRfc2V0X29wdGlvbigkdGhpcy0+Y29udGV4dCwgJHdyYXBwZXIsICRuYW1lLCAkdmFsdWUpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgc3RyZWFtIGNvbnRleHQKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBhcmFtcyBQYXJhbWV0ZXIgYXJyYXkKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNyZWF0ZUNvbnRleHQoYXJyYXkgJHBhcmFtcykKICAgIHsKICAgICAgICAkb3B0aW9ucyA9ICR0aGlzLT5jb250ZXh0T3B0aW9uczsKICAgICAgICAkdGhpcy0+Y29udGV4dCA9ICR0aGlzLT5jcmVhdGVSZXNvdXJjZShmdW5jdGlvbiAoKSB1c2UgKCRwYXJhbXMsICRvcHRpb25zKSB7CiAgICAgICAgICAgIHJldHVybiBzdHJlYW1fY29udGV4dF9jcmVhdGUoJG9wdGlvbnMsICRwYXJhbXMpOwogICAgICAgIH0pOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBsYXN0IHJlc3BvbnNlIGhlYWRlcnMgcmVjZWl2ZWQgYnkgdGhlIEhUVFAgcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldExhc3RSZXNwb25zZUhlYWRlcnMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+bGFzdFJlc3BvbnNlSGVhZGVyczsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZHMgdGhlIGRlZmF1bHQgY29udGV4dCBvcHRpb25zIHRvIHRoZSBzdHJlYW0gY29udGV4dCBvcHRpb25zCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgUmVxdWVzdAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkRGVmYXVsdENvbnRleHRPcHRpb25zKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QpCiAgICB7CiAgICAgICAgJHRoaXMtPnNldENvbnRleHRWYWx1ZSgnaHR0cCcsICdtZXRob2QnLCAkcmVxdWVzdC0+Z2V0TWV0aG9kKCkpOwogICAgICAgICRoZWFkZXJzID0gJHJlcXVlc3QtPmdldEhlYWRlckxpbmVzKCk7CgogICAgICAgIC8vICJDb25uZWN0aW9uOiBjbG9zZSIgaXMgcmVxdWlyZWQgdG8gZ2V0IHN0cmVhbXMgdG8gd29yayBpbiBIVFRQIDEuMQogICAgICAgIGlmICghJHJlcXVlc3QtPmhhc0hlYWRlcignQ29ubmVjdGlvbicpKSB7CiAgICAgICAgICAgICRoZWFkZXJzW10gPSAnQ29ubmVjdGlvbjogY2xvc2UnOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnNldENvbnRleHRWYWx1ZSgnaHR0cCcsICdoZWFkZXInLCAkaGVhZGVycyk7CiAgICAgICAgJHRoaXMtPnNldENvbnRleHRWYWx1ZSgnaHR0cCcsICdwcm90b2NvbF92ZXJzaW9uJywgJHJlcXVlc3QtPmdldFByb3RvY29sVmVyc2lvbigpKTsKICAgICAgICAkdGhpcy0+c2V0Q29udGV4dFZhbHVlKCdodHRwJywgJ2lnbm9yZV9lcnJvcnMnLCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgVVJMIHRvIHVzZSB3aXRoIHRoZSBmYWN0b3J5CiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgUmVxdWVzdCB0aGF0IG93bnMgdGhlIFVSTAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0VXJsKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QpCiAgICB7CiAgICAgICAgJHRoaXMtPnVybCA9ICRyZXF1ZXN0LT5nZXRVcmwodHJ1ZSk7CgogICAgICAgIC8vIENoZWNrIGZvciBiYXNpYyBBdXRoIHVzZXJuYW1lCiAgICAgICAgaWYgKCRyZXF1ZXN0LT5nZXRVc2VybmFtZSgpKSB7CiAgICAgICAgICAgICR0aGlzLT51cmwtPnNldFVzZXJuYW1lKCRyZXF1ZXN0LT5nZXRVc2VybmFtZSgpKTsKICAgICAgICB9CgogICAgICAgIC8vIENoZWNrIGZvciBiYXNpYyBBdXRoIHBhc3N3b3JkCiAgICAgICAgaWYgKCRyZXF1ZXN0LT5nZXRQYXNzd29yZCgpKSB7CiAgICAgICAgICAgICR0aGlzLT51cmwtPnNldFBhc3N3b3JkKCRyZXF1ZXN0LT5nZXRQYXNzd29yZCgpKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgU1NMIG9wdGlvbnMgdG8gdGhlIHN0cmVhbSBjb250ZXh0CiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgUmVxdWVzdAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkU3NsT3B0aW9ucyhSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgIGlmICgkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfU1NMX1ZFUklGWVBFRVIpKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRDb250ZXh0VmFsdWUoJ3NzbCcsICd2ZXJpZnlfcGVlcicsIHRydWUsIHRydWUpOwogICAgICAgICAgICBpZiAoJGNhZmlsZSA9ICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5nZXQoQ1VSTE9QVF9DQUlORk8pKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+c2V0Q29udGV4dFZhbHVlKCdzc2wnLCAnY2FmaWxlJywgJGNhZmlsZSwgdHJ1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+c2V0Q29udGV4dFZhbHVlKCdzc2wnLCAndmVyaWZ5X3BlZXInLCBmYWxzZSwgdHJ1ZSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQWRkIGJvZHkgKGNvbnRlbnQpIHNwZWNpZmljIG9wdGlvbnMgdG8gdGhlIGNvbnRleHQgb3B0aW9ucwogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBhZGRCb2R5T3B0aW9ucyhSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgIC8vIEFkZCB0aGUgY29udGVudCBmb3IgdGhlIHJlcXVlc3QgaWYgbmVlZGVkCiAgICAgICAgaWYgKCEoJHJlcXVlc3QgaW5zdGFuY2VvZiBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0SW50ZXJmYWNlKSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBpZiAoY291bnQoJHJlcXVlc3QtPmdldFBvc3RGaWVsZHMoKSkpIHsKICAgICAgICAgICAgJHRoaXMtPnNldENvbnRleHRWYWx1ZSgnaHR0cCcsICdjb250ZW50JywgKHN0cmluZykgJHJlcXVlc3QtPmdldFBvc3RGaWVsZHMoKSwgdHJ1ZSk7CiAgICAgICAgfSBlbHNlaWYgKCRyZXF1ZXN0LT5nZXRCb2R5KCkpIHsKICAgICAgICAgICAgJHRoaXMtPnNldENvbnRleHRWYWx1ZSgnaHR0cCcsICdjb250ZW50JywgKHN0cmluZykgJHJlcXVlc3QtPmdldEJvZHkoKSwgdHJ1ZSk7CiAgICAgICAgfQoKICAgICAgICAvLyBBbHdheXMgZW5zdXJlIGEgY29udGVudC1sZW5ndGggaGVhZGVyIGlzIHNlbnQKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPmNvbnRleHRPcHRpb25zWydodHRwJ11bJ2NvbnRlbnQnXSkpIHsKICAgICAgICAgICAgJGhlYWRlcnMgPSBpc3NldCgkdGhpcy0+Y29udGV4dE9wdGlvbnNbJ2h0dHAnXVsnaGVhZGVyJ10pID8gJHRoaXMtPmNvbnRleHRPcHRpb25zWydodHRwJ11bJ2hlYWRlciddIDogYXJyYXkoKTsKICAgICAgICAgICAgJGhlYWRlcnNbXSA9ICdDb250ZW50LUxlbmd0aDogJyAuIHN0cmxlbigkdGhpcy0+Y29udGV4dE9wdGlvbnNbJ2h0dHAnXVsnY29udGVudCddKTsKICAgICAgICAgICAgJHRoaXMtPnNldENvbnRleHRWYWx1ZSgnaHR0cCcsICdoZWFkZXInLCAkaGVhZGVycywgdHJ1ZSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQWRkIHByb3h5IHBhcmFtZXRlcnMgdG8gdGhlIGNvbnRleHQgaWYgbmVlZGVkCiAgICAgKgogICAgICogQHBhcmFtIFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QgUmVxdWVzdAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkUHJveHlPcHRpb25zKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QpCiAgICB7CiAgICAgICAgaWYgKCRwcm94eSA9ICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5nZXQoQ1VSTE9QVF9QUk9YWSkpIHsKICAgICAgICAgICAgJHRoaXMtPnNldENvbnRleHRWYWx1ZSgnaHR0cCcsICdwcm94eScsICRwcm94eSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIHRoZSBzdHJlYW0gZm9yIHRoZSByZXF1ZXN0IHdpdGggdGhlIGNvbnRleHQgb3B0aW9ucwogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIFBhcmFtZXRlcnMgb2YgdGhlIHN0cmVhbQogICAgICoKICAgICAqIEByZXR1cm4gU3RyZWFtSW50ZXJmYWNlCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjcmVhdGVTdHJlYW0oYXJyYXkgJHBhcmFtcykKICAgIHsKICAgICAgICAkaHR0cF9yZXNwb25zZV9oZWFkZXIgPSBudWxsOwogICAgICAgICR1cmwgPSAkdGhpcy0+dXJsOwogICAgICAgICRjb250ZXh0ID0gJHRoaXMtPmNvbnRleHQ7CiAgICAgICAgJGZwID0gJHRoaXMtPmNyZWF0ZVJlc291cmNlKGZ1bmN0aW9uICgpIHVzZSAoJGNvbnRleHQsICR1cmwsICYkaHR0cF9yZXNwb25zZV9oZWFkZXIpIHsKICAgICAgICAgICAgcmV0dXJuIGZvcGVuKChzdHJpbmcpICR1cmwsICdyJywgZmFsc2UsICRjb250ZXh0KTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gRGV0ZXJtaW5lIHRoZSBjbGFzcyB0byBpbnN0YW50aWF0ZQogICAgICAgICRjbGFzc05hbWUgPSBpc3NldCgkcGFyYW1zWydzdHJlYW1fY2xhc3MnXSkgPyAkcGFyYW1zWydzdHJlYW1fY2xhc3MnXSA6IF9fTkFNRVNQQUNFX18gLiAnXFxTdHJlYW0nOwoKICAgICAgICAvKiogQHZhciAkc3RyZWFtIFN0cmVhbUludGVyZmFjZSAqLwogICAgICAgICRzdHJlYW0gPSBuZXcgJGNsYXNzTmFtZSgkZnApOwoKICAgICAgICAvLyBUcmFjayB0aGUgcmVzcG9uc2UgaGVhZGVycyBvZiB0aGUgcmVxdWVzdAogICAgICAgIGlmIChpc3NldCgkaHR0cF9yZXNwb25zZV9oZWFkZXIpKSB7CiAgICAgICAgICAgICR0aGlzLT5sYXN0UmVzcG9uc2VIZWFkZXJzID0gJGh0dHBfcmVzcG9uc2VfaGVhZGVyOwogICAgICAgICAgICAkdGhpcy0+cHJvY2Vzc1Jlc3BvbnNlSGVhZGVycygkc3RyZWFtKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkc3RyZWFtOwogICAgfQoKICAgIC8qKgogICAgICogUHJvY2VzcyByZXNwb25zZSBoZWFkZXJzCiAgICAgKgogICAgICogQHBhcmFtIFN0cmVhbUludGVyZmFjZSAkc3RyZWFtCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBwcm9jZXNzUmVzcG9uc2VIZWFkZXJzKFN0cmVhbUludGVyZmFjZSAkc3RyZWFtKQogICAgewogICAgICAgIC8vIFNldCB0aGUgc2l6ZSBvbiB0aGUgc3RyZWFtIGlmIGl0IHdhcyByZXR1cm5lZCBpbiB0aGUgcmVzcG9uc2UKICAgICAgICBmb3JlYWNoICgkdGhpcy0+bGFzdFJlc3BvbnNlSGVhZGVycyBhcyAkaGVhZGVyKSB7CiAgICAgICAgICAgIGlmICgoc3RyaXBvcygkaGVhZGVyLCAnQ29udGVudC1MZW5ndGg6JykpID09PSAwKSB7CiAgICAgICAgICAgICAgICAkc3RyZWFtLT5zZXRTaXplKHRyaW0oc3Vic3RyKCRoZWFkZXIsIDE1KSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgcmVzb3VyY2UgYW5kIGNoZWNrIHRvIGVuc3VyZSBpdCB3YXMgY3JlYXRlZCBzdWNjZXNzZnVsbHkKICAgICAqCiAgICAgKiBAcGFyYW0gY2FsbGFibGUgJGNhbGxiYWNrIENsb3N1cmUgdG8gaW52b2tlIHRoYXQgbXVzdCByZXR1cm4gYSB2YWxpZCByZXNvdXJjZQogICAgICoKICAgICAqIEByZXR1cm4gcmVzb3VyY2UKICAgICAqIEB0aHJvd3MgUnVudGltZUV4Y2VwdGlvbiBvbiBlcnJvcgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY3JlYXRlUmVzb3VyY2UoJGNhbGxiYWNrKQogICAgewogICAgICAgIC8vIFR1cm4gb2ZmIGVycm9yIHJlcG9ydGluZyB3aGlsZSB3ZSB0cnkgdG8gaW5pdGlhdGUgdGhlIHJlcXVlc3QKICAgICAgICAkbGV2ZWwgPSBlcnJvcl9yZXBvcnRpbmcoMCk7CiAgICAgICAgJHJlc291cmNlID0gY2FsbF91c2VyX2Z1bmMoJGNhbGxiYWNrKTsKICAgICAgICBlcnJvcl9yZXBvcnRpbmcoJGxldmVsKTsKCiAgICAgICAgLy8gSWYgdGhlIHJlc291cmNlIGNvdWxkIG5vdCBiZSBjcmVhdGVkLCB0aGVuIGdyYWIgdGhlIGxhc3QgZXJyb3IgYW5kIHRocm93IGFuIGV4Y2VwdGlvbgogICAgICAgIGlmIChmYWxzZSA9PT0gJHJlc291cmNlKSB7CiAgICAgICAgICAgICRtZXNzYWdlID0gJ0Vycm9yIGNyZWF0aW5nIHJlc291cmNlLiAnOwogICAgICAgICAgICBmb3JlYWNoIChlcnJvcl9nZXRfbGFzdCgpIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAkbWVzc2FnZSAuPSAiW3ska2V5fV0geyR2YWx1ZX0gIjsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbih0cmltKCRtZXNzYWdlKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJlc291cmNlOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Stream/Stream.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU3RyZWFtOwoKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKCi8qKgogKiBQSFAgc3RyZWFtIGltcGxlbWVudGF0aW9uCiAqLwpjbGFzcyBTdHJlYW0gaW1wbGVtZW50cyBTdHJlYW1JbnRlcmZhY2UKewogICAgY29uc3QgU1RSRUFNX1RZUEUgPSAnc3RyZWFtX3R5cGUnOwogICAgY29uc3QgV1JBUFBFUl9UWVBFID0gJ3dyYXBwZXJfdHlwZSc7CiAgICBjb25zdCBJU19MT0NBTCA9ICdpc19sb2NhbCc7CiAgICBjb25zdCBJU19SRUFEQUJMRSA9ICdpc19yZWFkYWJsZSc7CiAgICBjb25zdCBJU19XUklUQUJMRSA9ICdpc193cml0YWJsZSc7CiAgICBjb25zdCBTRUVLQUJMRSA9ICdzZWVrYWJsZSc7CgogICAgLyoqIEB2YXIgcmVzb3VyY2UgU3RyZWFtIHJlc291cmNlICovCiAgICBwcm90ZWN0ZWQgJHN0cmVhbTsKCiAgICAvKiogQHZhciBpbnQgU2l6ZSBvZiB0aGUgc3RyZWFtIGNvbnRlbnRzIGluIGJ5dGVzICovCiAgICBwcm90ZWN0ZWQgJHNpemU7CgogICAgLyoqIEB2YXIgYXJyYXkgU3RyZWFtIGNhY2hlZCBkYXRhICovCiAgICBwcm90ZWN0ZWQgJGNhY2hlID0gYXJyYXkoKTsKCiAgICAvKiogQHZhciBhcnJheSBDdXN0b20gc3RyZWFtIGRhdGEgKi8KICAgIHByb3RlY3RlZCAkY3VzdG9tRGF0YSA9IGFycmF5KCk7CgogICAgLyoqIEB2YXIgYXJyYXkgSGFzaCB0YWJsZSBvZiByZWFkYWJsZSBhbmQgd3JpdGVhYmxlIHN0cmVhbSB0eXBlcyBmb3IgZmFzdCBsb29rdXBzICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRyZWFkV3JpdGVIYXNoID0gYXJyYXkoCiAgICAgICAgJ3JlYWQnID0+IGFycmF5KAogICAgICAgICAgICAncicgPT4gdHJ1ZSwgJ3crJyA9PiB0cnVlLCAncisnID0+IHRydWUsICd4KycgPT4gdHJ1ZSwgJ2MrJyA9PiB0cnVlLAogICAgICAgICAgICAncmInID0+IHRydWUsICd3K2InID0+IHRydWUsICdyK2InID0+IHRydWUsICd4K2InID0+IHRydWUsICdjK2InID0+IHRydWUsCiAgICAgICAgICAgICdydCcgPT4gdHJ1ZSwgJ3crdCcgPT4gdHJ1ZSwgJ3IrdCcgPT4gdHJ1ZSwgJ3grdCcgPT4gdHJ1ZSwgJ2MrdCcgPT4gdHJ1ZSwgJ2ErJyA9PiB0cnVlCiAgICAgICAgKSwKICAgICAgICAnd3JpdGUnID0+IGFycmF5KAogICAgICAgICAgICAndycgPT4gdHJ1ZSwgJ3crJyA9PiB0cnVlLCAncncnID0+IHRydWUsICdyKycgPT4gdHJ1ZSwgJ3grJyA9PiB0cnVlLCAnYysnID0+IHRydWUsCiAgICAgICAgICAgICd3YicgPT4gdHJ1ZSwgJ3crYicgPT4gdHJ1ZSwgJ3IrYicgPT4gdHJ1ZSwgJ3grYicgPT4gdHJ1ZSwgJ2MrYicgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3crdCcgPT4gdHJ1ZSwgJ3IrdCcgPT4gdHJ1ZSwgJ3grdCcgPT4gdHJ1ZSwgJ2MrdCcgPT4gdHJ1ZSwgJ2EnID0+IHRydWUsICdhKycgPT4gdHJ1ZQogICAgICAgICkKICAgICk7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gcmVzb3VyY2UgJHN0cmVhbSBTdHJlYW0gcmVzb3VyY2UgdG8gd3JhcAogICAgICogQHBhcmFtIGludCAgICAgICRzaXplICAgU2l6ZSBvZiB0aGUgc3RyZWFtIGluIGJ5dGVzLiBPbmx5IHBhc3MgaWYgdGhlIHNpemUgY2Fubm90IGJlIG9idGFpbmVkIGZyb20gdGhlIHN0cmVhbS4KICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBpZiB0aGUgc3RyZWFtIGlzIG5vdCBhIHN0cmVhbSByZXNvdXJjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHN0cmVhbSwgJHNpemUgPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5zZXRTdHJlYW0oJHN0cmVhbSwgJHNpemUpOwogICAgfQoKICAgIC8qKgogICAgICogQ2xvc2VzIHRoZSBzdHJlYW0gd2hlbiB0aGUgaGVscGVyIGlzIGRlc3RydWN0ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fZGVzdHJ1Y3QoKQogICAgewogICAgICAgICR0aGlzLT5jbG9zZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5pc1JlYWRhYmxlKCkgfHwgKCEkdGhpcy0+aXNTZWVrYWJsZSgpICYmICR0aGlzLT5pc0NvbnN1bWVkKCkpKSB7CiAgICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICB9CgogICAgICAgICRvcmlnaW5hbFBvcyA9ICR0aGlzLT5mdGVsbCgpOwogICAgICAgICRib2R5ID0gc3RyZWFtX2dldF9jb250ZW50cygkdGhpcy0+c3RyZWFtLCAtMSwgMCk7CiAgICAgICAgJHRoaXMtPnNlZWsoJG9yaWdpbmFsUG9zKTsKCiAgICAgICAgcmV0dXJuICRib2R5OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjbG9zZSgpCiAgICB7CiAgICAgICAgaWYgKGlzX3Jlc291cmNlKCR0aGlzLT5zdHJlYW0pKSB7CiAgICAgICAgICAgIGZjbG9zZSgkdGhpcy0+c3RyZWFtKTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmNhY2hlW3NlbGY6OklTX1JFQURBQkxFXSA9IGZhbHNlOwogICAgICAgICR0aGlzLT5jYWNoZVtzZWxmOjpJU19XUklUQUJMRV0gPSBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIENhbGN1bGF0ZSBhIGhhc2ggb2YgYSBTdHJlYW0KICAgICAqCiAgICAgKiBAcGFyYW0gU3RyZWFtSW50ZXJmYWNlICRzdHJlYW0gICAgU3RyZWFtIHRvIGNhbGN1bGF0ZSB0aGUgaGFzaCBmb3IKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgJGFsZ28gICAgICBIYXNoIGFsZ29yaXRobSAoZS5nLiBtZDUsIGNyYzMyLCBldGMpCiAgICAgKiBAcGFyYW0gYm9vbCAgICAgICAgICAgICRyYXdPdXRwdXQgV2hldGhlciBvciBub3QgdG8gdXNlIHJhdyBvdXRwdXQKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2x8c3RyaW5nIFJldHVybnMgZmFsc2Ugb24gZmFpbHVyZSBvciBhIGhhc2ggc3RyaW5nIG9uIHN1Y2Nlc3MKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRIYXNoKFN0cmVhbUludGVyZmFjZSAkc3RyZWFtLCAkYWxnbywgJHJhd091dHB1dCA9IGZhbHNlKQogICAgewogICAgICAgICRwb3MgPSAkc3RyZWFtLT5mdGVsbCgpOwogICAgICAgIGlmICghJHN0cmVhbS0+c2VlaygwKSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICAkY3R4ID0gaGFzaF9pbml0KCRhbGdvKTsKICAgICAgICB3aGlsZSAoJGRhdGEgPSAkc3RyZWFtLT5yZWFkKDgxOTIpKSB7CiAgICAgICAgICAgIGhhc2hfdXBkYXRlKCRjdHgsICRkYXRhKTsKICAgICAgICB9CgogICAgICAgICRvdXQgPSBoYXNoX2ZpbmFsKCRjdHgsIChib29sKSAkcmF3T3V0cHV0KTsKICAgICAgICAkc3RyZWFtLT5zZWVrKCRwb3MpOwoKICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWV0YURhdGEoJGtleSA9IG51bGwpCiAgICB7CiAgICAgICAgJG1ldGEgPSBzdHJlYW1fZ2V0X21ldGFfZGF0YSgkdGhpcy0+c3RyZWFtKTsKCiAgICAgICAgcmV0dXJuICEka2V5ID8gJG1ldGEgOiAoYXJyYXlfa2V5X2V4aXN0cygka2V5LCAkbWV0YSkgPyAkbWV0YVska2V5XSA6IG51bGwpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTdHJlYW0oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c3RyZWFtOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRTdHJlYW0oJHN0cmVhbSwgJHNpemUgPSBudWxsKQogICAgewogICAgICAgIGlmICghaXNfcmVzb3VyY2UoJHN0cmVhbSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignU3RyZWFtIG11c3QgYmUgYSByZXNvdXJjZScpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnNpemUgPSAkc2l6ZTsKICAgICAgICAkdGhpcy0+c3RyZWFtID0gJHN0cmVhbTsKICAgICAgICAkdGhpcy0+cmVidWlsZENhY2hlKCk7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGV0YWNoU3RyZWFtKCkKICAgIHsKICAgICAgICAkdGhpcy0+c3RyZWFtID0gbnVsbDsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRXcmFwcGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNhY2hlW3NlbGY6OldSQVBQRVJfVFlQRV07CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFdyYXBwZXJEYXRhKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldE1ldGFEYXRhKCd3cmFwcGVyX2RhdGEnKSA/OiBhcnJheSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTdHJlYW1UeXBlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNhY2hlW3NlbGY6OlNUUkVBTV9UWVBFXTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VXJpKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNhY2hlWyd1cmknXTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2l6ZSgpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5zaXplICE9PSBudWxsKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+c2l6ZTsKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSBzdHJlYW0gaXMgYSBmaWxlIGJhc2VkIHN0cmVhbSBhbmQgbG9jYWwsIHRoZW4gdXNlIGZzdGF0CiAgICAgICAgY2xlYXJzdGF0Y2FjaGUodHJ1ZSwgJHRoaXMtPmNhY2hlWyd1cmknXSk7CiAgICAgICAgJHN0YXRzID0gZnN0YXQoJHRoaXMtPnN0cmVhbSk7CiAgICAgICAgaWYgKGlzc2V0KCRzdGF0c1snc2l6ZSddKSkgewogICAgICAgICAgICAkdGhpcy0+c2l6ZSA9ICRzdGF0c1snc2l6ZSddOwogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnNpemU7CiAgICAgICAgfSBlbHNlaWYgKCR0aGlzLT5jYWNoZVtzZWxmOjpJU19SRUFEQUJMRV0gJiYgJHRoaXMtPmNhY2hlW3NlbGY6OlNFRUtBQkxFXSkgewogICAgICAgICAgICAvLyBPbmx5IGdldCB0aGUgc2l6ZSBiYXNlZCBvbiB0aGUgY29udGVudCBpZiB0aGUgdGhlIHN0cmVhbSBpcyByZWFkYWJsZSBhbmQgc2Vla2FibGUKICAgICAgICAgICAgJHBvcyA9ICR0aGlzLT5mdGVsbCgpOwogICAgICAgICAgICAkdGhpcy0+c2l6ZSA9IHN0cmxlbigoc3RyaW5nKSAkdGhpcyk7CiAgICAgICAgICAgICR0aGlzLT5zZWVrKCRwb3MpOwogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnNpemU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzUmVhZGFibGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2FjaGVbc2VsZjo6SVNfUkVBREFCTEVdOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc1JlcGVhdGFibGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2FjaGVbc2VsZjo6SVNfUkVBREFCTEVdICYmICR0aGlzLT5jYWNoZVtzZWxmOjpTRUVLQUJMRV07CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzV3JpdGFibGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2FjaGVbc2VsZjo6SVNfV1JJVEFCTEVdOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc0NvbnN1bWVkKCkKICAgIHsKICAgICAgICByZXR1cm4gZmVvZigkdGhpcy0+c3RyZWFtKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZmVvZigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5pc0NvbnN1bWVkKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzTG9jYWwoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2FjaGVbc2VsZjo6SVNfTE9DQUxdOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc1NlZWthYmxlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNhY2hlW3NlbGY6OlNFRUtBQkxFXTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U2l6ZSgkc2l6ZSkKICAgIHsKICAgICAgICAkdGhpcy0+c2l6ZSA9ICRzaXplOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNlZWsoJG9mZnNldCwgJHdoZW5jZSA9IFNFRUtfU0VUKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2FjaGVbc2VsZjo6U0VFS0FCTEVdID8gZnNlZWsoJHRoaXMtPnN0cmVhbSwgJG9mZnNldCwgJHdoZW5jZSkgPT09IDAgOiBmYWxzZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVhZCgkbGVuZ3RoKQogICAgewogICAgICAgIHJldHVybiBmcmVhZCgkdGhpcy0+c3RyZWFtLCAkbGVuZ3RoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gd3JpdGUoJHN0cmluZykKICAgIHsKICAgICAgICAvLyBXZSBjYW4ndCBrbm93IHRoZSBzaXplIGFmdGVyIHdyaXRpbmcgYW55dGhpbmcKICAgICAgICAkdGhpcy0+c2l6ZSA9IG51bGw7CgogICAgICAgIHJldHVybiBmd3JpdGUoJHRoaXMtPnN0cmVhbSwgJHN0cmluZyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGZ0ZWxsKCkKICAgIHsKICAgICAgICByZXR1cm4gZnRlbGwoJHRoaXMtPnN0cmVhbSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJld2luZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zZWVrKDApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZWFkTGluZSgkbWF4TGVuZ3RoID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5jYWNoZVtzZWxmOjpJU19SRUFEQUJMRV0pIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiAkbWF4TGVuZ3RoID8gZmdldHMoJHRoaXMtPmdldFN0cmVhbSgpLCAkbWF4TGVuZ3RoKSA6IGZnZXRzKCR0aGlzLT5nZXRTdHJlYW0oKSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDdXN0b21EYXRhKCRrZXksICR2YWx1ZSkKICAgIHsKICAgICAgICAkdGhpcy0+Y3VzdG9tRGF0YVska2V5XSA9ICR2YWx1ZTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDdXN0b21EYXRhKCRrZXkpCiAgICB7CiAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5jdXN0b21EYXRhWyRrZXldKSA/ICR0aGlzLT5jdXN0b21EYXRhWyRrZXldIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFJlcHJvY2VzcyBzdHJlYW0gbWV0YWRhdGEKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlYnVpbGRDYWNoZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNhY2hlID0gc3RyZWFtX2dldF9tZXRhX2RhdGEoJHRoaXMtPnN0cmVhbSk7CiAgICAgICAgJHRoaXMtPmNhY2hlW3NlbGY6OklTX0xPQ0FMXSA9IHN0cmVhbV9pc19sb2NhbCgkdGhpcy0+c3RyZWFtKTsKICAgICAgICAkdGhpcy0+Y2FjaGVbc2VsZjo6SVNfUkVBREFCTEVdID0gaXNzZXQoc2VsZjo6JHJlYWRXcml0ZUhhc2hbJ3JlYWQnXVskdGhpcy0+Y2FjaGVbJ21vZGUnXV0pOwogICAgICAgICR0aGlzLT5jYWNoZVtzZWxmOjpJU19XUklUQUJMRV0gPSBpc3NldChzZWxmOjokcmVhZFdyaXRlSGFzaFsnd3JpdGUnXVskdGhpcy0+Y2FjaGVbJ21vZGUnXV0pOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Stream/StreamInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU3RyZWFtOwoKLyoqCiAqIE9PIGludGVyZmFjZSB0byBQSFAgc3RyZWFtcwogKi8KaW50ZXJmYWNlIFN0cmVhbUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIENvbnZlcnQgdGhlIHN0cmVhbSB0byBhIHN0cmluZyBpZiB0aGUgc3RyZWFtIGlzIHJlYWRhYmxlIGFuZCB0aGUgc3RyZWFtIGlzIHNlZWthYmxlLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCk7CgogICAgLyoqCiAgICAgKiBDbG9zZSB0aGUgdW5kZXJseWluZyBzdHJlYW0KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNsb3NlKCk7CgogICAgLyoqCiAgICAgKiBHZXQgc3RyZWFtIG1ldGFkYXRhCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5IFNwZWNpZmljIG1ldGFkYXRhIHRvIHJldHJpZXZlCiAgICAgKgogICAgICogQHJldHVybiBhcnJheXxtaXhlZHxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRNZXRhRGF0YSgka2V5ID0gbnVsbCk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHN0cmVhbSByZXNvdXJjZQogICAgICoKICAgICAqIEByZXR1cm4gcmVzb3VyY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFN0cmVhbSgpOwoKICAgIC8qKgogICAgICogU2V0IHRoZSBzdHJlYW0gdGhhdCBpcyB3cmFwcGVkIGJ5IHRoZSBvYmplY3QKICAgICAqCiAgICAgKiBAcGFyYW0gcmVzb3VyY2UgJHN0cmVhbSBTdHJlYW0gcmVzb3VyY2UgdG8gd3JhcAogICAgICogQHBhcmFtIGludCAgICAgICRzaXplICAgU2l6ZSBvZiB0aGUgc3RyZWFtIGluIGJ5dGVzLiBPbmx5IHBhc3MgaWYgdGhlIHNpemUgY2Fubm90IGJlIG9idGFpbmVkIGZyb20gdGhlIHN0cmVhbS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHNlbGYKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFN0cmVhbSgkc3RyZWFtLCAkc2l6ZSA9IG51bGwpOwoKICAgIC8qKgogICAgICogRGV0YWNoIHRoZSBjdXJyZW50IHN0cmVhbSByZXNvdXJjZQogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZGV0YWNoU3RyZWFtKCk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHN0cmVhbSB3cmFwcGVyIHR5cGUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0V3JhcHBlcigpOwoKICAgIC8qKgogICAgICogV3JhcHBlciBzcGVjaWZpYyBkYXRhIGF0dGFjaGVkIHRvIHRoaXMgc3RyZWFtLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFdyYXBwZXJEYXRhKCk7CgogICAgLyoqCiAgICAgKiBHZXQgYSBsYWJlbCBkZXNjcmliaW5nIHRoZSB1bmRlcmx5aW5nIGltcGxlbWVudGF0aW9uIG9mIHRoZSBzdHJlYW0KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U3RyZWFtVHlwZSgpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBVUkkvZmlsZW5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3RyZWFtCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFVyaSgpOwoKICAgIC8qKgogICAgICogR2V0IHRoZSBzaXplIG9mIHRoZSBzdHJlYW0gaWYgYWJsZQogICAgICoKICAgICAqIEByZXR1cm4gaW50fGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFNpemUoKTsKCiAgICAvKioKICAgICAqIENoZWNrIGlmIHRoZSBzdHJlYW0gaXMgcmVhZGFibGUKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzUmVhZGFibGUoKTsKCiAgICAvKioKICAgICAqIENoZWNrIGlmIHRoZSBzdHJlYW0gaXMgcmVwZWF0YWJsZQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNSZXBlYXRhYmxlKCk7CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiB0aGUgc3RyZWFtIGlzIHdyaXRhYmxlCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc1dyaXRhYmxlKCk7CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiB0aGUgc3RyZWFtIGhhcyBiZWVuIGNvbnN1bWVkCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0NvbnN1bWVkKCk7CgogICAgLyoqCiAgICAgKiBBbGlhcyBvZiBpc0NvbnN1bWVkCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBmZW9mKCk7CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiB0aGUgc3RyZWFtIGlzIGEgbG9jYWwgc3RyZWFtIHZzIGEgcmVtb3RlIHN0cmVhbQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNMb2NhbCgpOwoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgdGhlIHN0cmluZyBpcyByZXBlYXRhYmxlCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc1NlZWthYmxlKCk7CgogICAgLyoqCiAgICAgKiBTcGVjaWZ5IHRoZSBzaXplIG9mIHRoZSBzdHJlYW0gaW4gYnl0ZXMKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRzaXplIFNpemUgb2YgdGhlIHN0cmVhbSBjb250ZW50cyBpbiBieXRlcwogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U2l6ZSgkc2l6ZSk7CgogICAgLyoqCiAgICAgKiBTZWVrIHRvIGEgcG9zaXRpb24gaW4gdGhlIHN0cmVhbQogICAgICoKICAgICAqIEBwYXJhbSBpbnQgJG9mZnNldCBTdHJlYW0gb2Zmc2V0CiAgICAgKiBAcGFyYW0gaW50ICR3aGVuY2UgV2hlcmUgdGhlIG9mZnNldCBpcyBhcHBsaWVkCiAgICAgKgogICAgICogQHJldHVybiBib29sIFJldHVybnMgVFJVRSBvbiBzdWNjZXNzIG9yIEZBTFNFIG9uIGZhaWx1cmUKICAgICAqIEBsaW5rICAgaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5mc2Vlay5waHAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNlZWsoJG9mZnNldCwgJHdoZW5jZSA9IFNFRUtfU0VUKTsKCiAgICAvKioKICAgICAqIFJlYWQgZGF0YSBmcm9tIHRoZSBzdHJlYW0KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRsZW5ndGggVXAgdG8gbGVuZ3RoIG51bWJlciBvZiBieXRlcyByZWFkLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfGJvb2wgUmV0dXJucyB0aGUgZGF0YSByZWFkIGZyb20gdGhlIHN0cmVhbSBvciBGQUxTRSBvbiBmYWlsdXJlIG9yIEVPRgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVhZCgkbGVuZ3RoKTsKCiAgICAvKioKICAgICAqIFdyaXRlIGRhdGEgdG8gdGhlIHN0cmVhbQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHN0cmluZyBUaGUgc3RyaW5nIHRoYXQgaXMgdG8gYmUgd3JpdHRlbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIGludHxib29sIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIHRvIHRoZSBzdHJlYW0gb24gc3VjY2VzcyBvciBGQUxTRSBvbiBmYWlsdXJlLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gd3JpdGUoJHN0cmluZyk7CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHBvc2l0aW9uIG9mIHRoZSBmaWxlIHJlYWQvd3JpdGUgcG9pbnRlcgogICAgICoKICAgICAqIEByZXR1cm4gaW50fGJvb2wgUmV0dXJucyB0aGUgcG9zaXRpb24gb2YgdGhlIGZpbGUgcG9pbnRlciBvciBmYWxzZSBvbiBlcnJvcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZnRlbGwoKTsKCiAgICAvKioKICAgICAqIFJld2luZCB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0KICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wgUmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3Mgb3IgZmFsc2Ugb24gZmFpbHVyZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmV3aW5kKCk7CgogICAgLyoqCiAgICAgKiBSZWFkIGEgbGluZSBmcm9tIHRoZSBzdHJlYW0gdXAgdG8gdGhlIG1heGltdW0gYWxsb3dlZCBidWZmZXIgbGVuZ3RoCiAgICAgKgogICAgICogQHBhcmFtIGludCAkbWF4TGVuZ3RoIE1heGltdW0gYnVmZmVyIGxlbmd0aAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlYWRMaW5lKCRtYXhMZW5ndGggPSBudWxsKTsKCiAgICAvKioKICAgICAqIFNldCBjdXN0b20gZGF0YSBvbiB0aGUgc3RyZWFtCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5ICAgS2V5IHRvIHNldAogICAgICogQHBhcmFtIG1peGVkICAkdmFsdWUgVmFsdWUgdG8gc2V0CiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDdXN0b21EYXRhKCRrZXksICR2YWx1ZSk7CgogICAgLyoqCiAgICAgKiBHZXQgY3VzdG9tIGRhdGEgZnJvbSB0aGUgc3RyZWFtCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5IEtleSB0byByZXRyaWV2ZQogICAgICoKICAgICAqIEByZXR1cm4gbnVsbHxtaXhlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q3VzdG9tRGF0YSgka2V5KTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/src/Guzzle/Stream/StreamRequestFactoryInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcU3RyZWFtOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKCi8qKgogKiBJbnRlcmZhY2UgdXNlZCBmb3IgY3JlYXRpbmcgc3RyZWFtcyBmcm9tIHJlcXVlc3RzCiAqLwppbnRlcmZhY2UgU3RyZWFtUmVxdWVzdEZhY3RvcnlJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBzdHJlYW0gYmFzZWQgb24gYSByZXF1ZXN0IG9iamVjdAogICAgICoKICAgICAqIEBwYXJhbSBSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0IEJhc2UgdGhlIHN0cmVhbSBvbiBhIHJlcXVlc3QKICAgICAqIEBwYXJhbSBhcnJheXxyZXNvdXJjZSAgICRjb250ZXh0IEEgc3RyZWFtX2NvbnRleHRfb3B0aW9ucyByZXNvdXJjZSBvciBhcnJheSBvZiBwYXJhbWV0ZXJzIHVzZWQgdG8gY3JlYXRlIGEKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbSBjb250ZXh0LgogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgJHBhcmFtcyAgT3B0aW9uYWwgYXJyYXkgb2YgcGFyYW1ldGVycyBzcGVjaWZpYyB0byB0aGUgZmFjdG9yeQogICAgICoKICAgICAqIEByZXR1cm4gU3RyZWFtSW50ZXJmYWNlIFJldHVybnMgYSBzdHJlYW0gb2JqZWN0CiAgICAgKiBAdGhyb3dzIFxHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uIGlmIHRoZSBzdHJlYW0gY2Fubm90IGJlIG9wZW5lZCBvciBhbiBlcnJvciBvY2N1cnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGZyb21SZXF1ZXN0KFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QsICRjb250ZXh0ID0gYXJyYXkoKSwgYXJyYXkgJHBhcmFtcyA9IGFycmF5KCkpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/bootstrap.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmVycm9yX3JlcG9ydGluZyhFX0FMTCB8IEVfU1RSSUNUKTsKCnJlcXVpcmVfb25jZSAnUEhQVW5pdC9UZXh0VUkvVGVzdFJ1bm5lci5waHAnOwpyZXF1aXJlIGRpcm5hbWUoX19ESVJfXykgLiAnL3ZlbmRvci9hdXRvbG9hZC5waHAnOwoKLy8gQWRkIHRoZSBzZXJ2aWNlcyBmaWxlIHRvIHRoZSBkZWZhdWx0IHNlcnZpY2UgYnVpbGRlcgokc2VydmljZXNGaWxlID0gX19ESVJfXyAuICcvR3V6emxlL1Rlc3RzL1Rlc3REYXRhL3NlcnZpY2VzL3NlcnZpY2VzLmpzb24nOwpHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2U6OnNldFNlcnZpY2VCdWlsZGVyKEd1enpsZVxTZXJ2aWNlXEJ1aWxkZXJcU2VydmljZUJ1aWxkZXI6OmZhY3RvcnkoJHNlcnZpY2VzRmlsZSkpOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Batch/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Batch/AbstractBatchDecoratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEJhdGNoOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXEJhdGNoXEFic3RyYWN0QmF0Y2hEZWNvcmF0b3IKICovCmNsYXNzIEFic3RyYWN0QmF0Y2hEZWNvcmF0b3JUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByb3hpZXNUb1dyYXBwZWRPYmplY3QoKQogICAgewogICAgICAgICRiYXRjaCA9IG5ldyBCYXRjaCgKICAgICAgICAgICAgJHRoaXMtPmdldE1vY2soJ0d1enpsZVxCYXRjaFxCYXRjaFRyYW5zZmVySW50ZXJmYWNlJyksCiAgICAgICAgICAgICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcQmF0Y2hcQmF0Y2hEaXZpc29ySW50ZXJmYWNlJykKICAgICAgICApOwoKICAgICAgICAkZGVjb3JhdG9yQSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXEJhdGNoXEFic3RyYWN0QmF0Y2hEZWNvcmF0b3InKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheSgkYmF0Y2gpKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CgogICAgICAgICRkZWNvcmF0b3JCID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcQmF0Y2hcQWJzdHJhY3RCYXRjaERlY29yYXRvcicpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KCRkZWNvcmF0b3JBKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICAkZGVjb3JhdG9yQS0+YWRkKCdmb28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGRlY29yYXRvckItPmlzRW1wdHkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRiYXRjaC0+aXNFbXB0eSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCRkZWNvcmF0b3JCLCAkZGVjb3JhdG9yQSksICRkZWNvcmF0b3JCLT5nZXREZWNvcmF0b3JzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoKSwgJGRlY29yYXRvckItPmZsdXNoKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchBuilderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEJhdGNoQnVpbGRlcjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxCYXRjaFxCYXRjaEJ1aWxkZXIKICovCmNsYXNzIEJhdGNoQnVpbGRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0TW9ja1RyYW5zZmVyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxCYXRjaFxCYXRjaFRyYW5zZmVySW50ZXJmYWNlJyk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRNb2NrRGl2aXNvcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcQmF0Y2hcQmF0Y2hEaXZpc29ySW50ZXJmYWNlJyk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRNb2NrQmF0Y2hCdWlsZGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gQmF0Y2hCdWlsZGVyOjpmYWN0b3J5KCkKICAgICAgICAgICAgLT50cmFuc2ZlcldpdGgoJHRoaXMtPmdldE1vY2tUcmFuc2ZlcigpKQogICAgICAgICAgICAtPmNyZWF0ZUJhdGNoZXNXaXRoKCR0aGlzLT5nZXRNb2NrRGl2aXNvcigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhY3RvcnlDcmVhdGVzSW5zdGFuY2UoKQogICAgewogICAgICAgICRidWlsZGVyID0gQmF0Y2hCdWlsZGVyOjpmYWN0b3J5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxCYXRjaFxCYXRjaEJ1aWxkZXInLCAkYnVpbGRlcik7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzQXV0b0ZsdXNoKCkKICAgIHsKICAgICAgICAkYmF0Y2ggPSAkdGhpcy0+Z2V0TW9ja0JhdGNoQnVpbGRlcigpLT5hdXRvRmx1c2hBdCgxMCktPmJ1aWxkKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxCYXRjaFxGbHVzaGluZ0JhdGNoJywgJGJhdGNoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNFeGNlcHRpb25CdWZmZXJpbmcoKQogICAgewogICAgICAgICRiYXRjaCA9ICR0aGlzLT5nZXRNb2NrQmF0Y2hCdWlsZGVyKCktPmJ1ZmZlckV4Y2VwdGlvbnMoKS0+YnVpbGQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXEJhdGNoXEV4Y2VwdGlvbkJ1ZmZlcmluZ0JhdGNoJywgJGJhdGNoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZEhpc3RvcnkoKQogICAgewogICAgICAgICRiYXRjaCA9ICR0aGlzLT5nZXRNb2NrQmF0Y2hCdWlsZGVyKCktPmtlZXBIaXN0b3J5KCktPmJ1aWxkKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxCYXRjaFxIaXN0b3J5QmF0Y2gnLCAkYmF0Y2gpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkc05vdGlmeSgpCiAgICB7CiAgICAgICAgJGJhdGNoID0gJHRoaXMtPmdldE1vY2tCYXRjaEJ1aWxkZXIoKS0+bm90aWZ5KGZ1bmN0aW9uKCkge30pLT5idWlsZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcQmF0Y2hcTm90aWZ5aW5nQmF0Y2gnLCAkYmF0Y2gpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUcmFuc2ZlclN0cmF0ZWd5TXVzdEJlU2V0KCkKICAgIHsKICAgICAgICAkYmF0Y2ggPSBCYXRjaEJ1aWxkZXI6OmZhY3RvcnkoKS0+Y3JlYXRlQmF0Y2hlc1dpdGgoJHRoaXMtPmdldE1vY2tEaXZpc29yKCkpLT5idWlsZCgpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REaXZpc29yU3RyYXRlZ3lNdXN0QmVTZXQoKQogICAgewogICAgICAgICRiYXRjaCA9IEJhdGNoQnVpbGRlcjo6ZmFjdG9yeSgpLT50cmFuc2ZlcldpdGgoJHRoaXMtPmdldE1vY2tUcmFuc2ZlcigpKS0+YnVpbGQoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRyYW5zZmVyc1JlcXVlc3RzKCkKICAgIHsKICAgICAgICAkYmF0Y2ggPSBCYXRjaEJ1aWxkZXI6OmZhY3RvcnkoKS0+dHJhbnNmZXJSZXF1ZXN0cygxMCktPmJ1aWxkKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxCYXRjaFxCYXRjaFJlcXVlc3RUcmFuc2ZlcicsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRiYXRjaCwgJ3RyYW5zZmVyU3RyYXRlZ3knKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUcmFuc2ZlcnNDb21tYW5kcygpCiAgICB7CiAgICAgICAgJGJhdGNoID0gQmF0Y2hCdWlsZGVyOjpmYWN0b3J5KCktPnRyYW5zZmVyQ29tbWFuZHMoMTApLT5idWlsZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcQmF0Y2hcQmF0Y2hDb21tYW5kVHJhbnNmZXInLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYmF0Y2gsICd0cmFuc2ZlclN0cmF0ZWd5JykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchClosureDivisorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEJhdGNoQ2xvc3VyZURpdmlzb3I7CgovKioKICogQGNvdmVycyBHdXp6bGVcQmF0Y2hcQmF0Y2hDbG9zdXJlRGl2aXNvcgogKi8KY2xhc3MgQmF0Y2hDbG9zdXJlRGl2aXNvclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNDYWxsYWJsZUlzQ2FsbGFibGUoKQogICAgewogICAgICAgICRkID0gbmV3IEJhdGNoQ2xvc3VyZURpdmlzb3IobmV3IFxzdGRDbGFzcygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERpdmlkZXNCYXRjaCgpCiAgICB7CiAgICAgICAgJHF1ZXVlID0gbmV3IFxTcGxRdWV1ZSgpOwogICAgICAgICRxdWV1ZVtdID0gJ2Zvbyc7CiAgICAgICAgJHF1ZXVlW10gPSAnYmF6JzsKCiAgICAgICAgJGQgPSBuZXcgQmF0Y2hDbG9zdXJlRGl2aXNvcihmdW5jdGlvbiAoXFNwbFF1ZXVlICRxdWV1ZSwgJGNvbnRleHQpIHsKICAgICAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoJ2ZvbycpLAogICAgICAgICAgICAgICAgYXJyYXkoJ2JheicpCiAgICAgICAgICAgICk7CiAgICAgICAgfSwgJ0JhciEnKTsKCiAgICAgICAgJGJhdGNoZXMgPSAkZC0+Y3JlYXRlQmF0Y2hlcygkcXVldWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoYXJyYXkoJ2ZvbycpLCBhcnJheSgnYmF6JykpLCAkYmF0Y2hlcyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchClosureTransferTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEJhdGNoQ2xvc3VyZVRyYW5zZmVyOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXEJhdGNoXEJhdGNoQ2xvc3VyZVRyYW5zZmVyCiAqLwpjbGFzcyBCYXRjaENsb3N1cmVUcmFuc2ZlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKiBAdmFyIFxHdXp6bGVcQmF0Y2hcQmF0Y2hDbG9zdXJlVHJhbnNmZXIgVGhlIHRyYW5zZmVyIGZpeHR1cmUgKi8KICAgIHByb3RlY3RlZCAkdHJhbnNmZXJTdHJhdGVneTsKCiAgICAvKiogQHZhciBhcnJheXxudWxsIEFuIGFycmF5IGZvciBrZWVwaW5nIHRyYWNrIG9mIGl0ZW1zIHBhc3NlZCBpbnRvIHRoZSB0cmFuc2ZlciBjbG9zdXJlICovCiAgICBwcm90ZWN0ZWQgJGl0ZW1zVHJhbnNmZXJyZWQ7CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+aXRlbXNUcmFuc2ZlcnJlZCA9IG51bGw7CiAgICAgICAgJGl0ZW1zVHJhbnNmZXJyZWQgPSYgJHRoaXMtPml0ZW1zVHJhbnNmZXJyZWQ7CgogICAgICAgICR0aGlzLT50cmFuc2ZlclN0cmF0ZWd5ID0gbmV3IEJhdGNoQ2xvc3VyZVRyYW5zZmVyKGZ1bmN0aW9uIChhcnJheSAkYmF0Y2gpIHVzZSAoJiRpdGVtc1RyYW5zZmVycmVkKSB7CiAgICAgICAgICAgICRpdGVtc1RyYW5zZmVycmVkID0gJGJhdGNoOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUcmFuc2ZlcnNCYXRjaCgpCiAgICB7CiAgICAgICAgJGJhdGNoZWRJdGVtcyA9IGFycmF5KCdmb28nLCAnYmFyJywgJ2JheicpOwogICAgICAgICR0aGlzLT50cmFuc2ZlclN0cmF0ZWd5LT50cmFuc2ZlcigkYmF0Y2hlZEl0ZW1zKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkYmF0Y2hlZEl0ZW1zLCAkdGhpcy0+aXRlbXNUcmFuc2ZlcnJlZCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUcmFuc2ZlckJhaWxzT25FbXB0eUJhdGNoKCkKICAgIHsKICAgICAgICAkYmF0Y2hlZEl0ZW1zID0gYXJyYXkoKTsKICAgICAgICAkdGhpcy0+dHJhbnNmZXJTdHJhdGVneS0+dHJhbnNmZXIoJGJhdGNoZWRJdGVtcyk7CgogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCR0aGlzLT5pdGVtc1RyYW5zZmVycmVkKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzQ2FsbGFibGVJc0NhbGxhYmxlKCkKICAgIHsKICAgICAgICAkZm9vID0gbmV3IEJhdGNoQ2xvc3VyZVRyYW5zZmVyKCd1aCBvaCEnKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchCommandTransferTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEJhdGNoQ29tbWFuZFRyYW5zZmVyOwp1c2UgR3V6emxlXFNlcnZpY2VcQ2xpZW50Owp1c2UgR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xDb21tYW5kXE1vY2tDb21tYW5kIGFzIE1jOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXEJhdGNoXEJhdGNoQ29tbWFuZFRyYW5zZmVyCiAqLwpjbGFzcyBCYXRjaENvbW1hbmRUcmFuc2ZlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc0JhdGNoZXNCYXNlZE9uQ2xpZW50KCkKICAgIHsKICAgICAgICAkY2xpZW50MSA9IG5ldyBDbGllbnQoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20nKTsKICAgICAgICAkY2xpZW50MiA9IG5ldyBDbGllbnQoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20nKTsKCiAgICAgICAgJGNvbW1hbmRzID0gYXJyYXkobmV3IE1jKCksIG5ldyBNYygpLCBuZXcgTWMoKSwgbmV3IE1jKCksIG5ldyBNYygpKTsKCiAgICAgICAgJHF1ZXVlID0gbmV3IFxTcGxRdWV1ZSgpOwogICAgICAgIGZvcmVhY2ggKCRjb21tYW5kcyBhcyAkaSA9PiAkY29tbWFuZCkgewogICAgICAgICAgICBpZiAoJGkgJSAyKSB7CiAgICAgICAgICAgICAgICAkY29tbWFuZC0+c2V0Q2xpZW50KCRjbGllbnQxKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRjb21tYW5kLT5zZXRDbGllbnQoJGNsaWVudDIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRxdWV1ZVtdID0gJGNvbW1hbmQ7CiAgICAgICAgfQoKICAgICAgICAkYmF0Y2ggPSBuZXcgQmF0Y2hDb21tYW5kVHJhbnNmZXIoMik7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgYXJyYXkoJGNvbW1hbmRzWzBdLCAkY29tbWFuZHNbMl0pLAogICAgICAgICAgICBhcnJheSgkY29tbWFuZHNbNF0pLAogICAgICAgICAgICBhcnJheSgkY29tbWFuZHNbMV0sICRjb21tYW5kc1szXSkKICAgICAgICApLCAkYmF0Y2gtPmNyZWF0ZUJhdGNoZXMoJHF1ZXVlKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc0FsbEl0ZW1zQXJlQ29tbWFuZHMoKQogICAgewogICAgICAgICRxdWV1ZSA9IG5ldyBcU3BsUXVldWUoKTsKICAgICAgICAkcXVldWVbXSA9ICdmb28nOwogICAgICAgICRiYXRjaCA9IG5ldyBCYXRjaENvbW1hbmRUcmFuc2ZlcigyKTsKICAgICAgICAkYmF0Y2gtPmNyZWF0ZUJhdGNoZXMoJHF1ZXVlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRyYW5zZmVyc0JhdGNoZXMoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTZXJ2aWNlXENsaWVudCcpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnc2VuZCcpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkY2xpZW50LT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdzZW5kJyk7CiAgICAgICAgJGNvbW1hbmQgPSBuZXcgTWMoKTsKICAgICAgICAkY29tbWFuZC0+c2V0Q2xpZW50KCRjbGllbnQpOwogICAgICAgICRiYXRjaCA9IG5ldyBCYXRjaENvbW1hbmRUcmFuc2ZlcigyKTsKICAgICAgICAkYmF0Y2gtPnRyYW5zZmVyKGFycmF5KCRjb21tYW5kKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzTm90VHJhbnNmZXJzRW1wdHlCYXRjaGVzKCkKICAgIHsKICAgICAgICAkYmF0Y2ggPSBuZXcgQmF0Y2hDb21tYW5kVHJhbnNmZXIoMik7CiAgICAgICAgJGJhdGNoLT50cmFuc2ZlcihhcnJheSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBHdXp6bGVcU2VydmljZVxFeGNlcHRpb25cSW5jb25zaXN0ZW50Q2xpZW50VHJhbnNmZXJFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzQWxsQ29tbWFuZHNVc2VUaGVTYW1lQ2xpZW50KCkKICAgIHsKICAgICAgICAkYmF0Y2ggPSBuZXcgQmF0Y2hDb21tYW5kVHJhbnNmZXIoMik7CiAgICAgICAgJGNsaWVudDEgPSBuZXcgQ2xpZW50KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tJyk7CiAgICAgICAgJGNsaWVudDIgPSBuZXcgQ2xpZW50KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tJyk7CiAgICAgICAgJGNvbW1hbmQxID0gbmV3IE1jKCk7CiAgICAgICAgJGNvbW1hbmQxLT5zZXRDbGllbnQoJGNsaWVudDEpOwogICAgICAgICRjb21tYW5kMiA9IG5ldyBNYygpOwogICAgICAgICRjb21tYW5kMi0+c2V0Q2xpZW50KCRjbGllbnQyKTsKICAgICAgICAkYmF0Y2gtPnRyYW5zZmVyKGFycmF5KCRjb21tYW5kMSwgJGNvbW1hbmQyKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchRequestTransferTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEJhdGNoUmVxdWVzdFRyYW5zZmVyOwp1c2UgR3V6emxlXEh0dHBcQ2xpZW50Owp1c2UgR3V6emxlXEh0dHBcQ3VybFxDdXJsTXVsdGk7CgovKioKICogQGNvdmVycyBHdXp6bGVcQmF0Y2hcQmF0Y2hSZXF1ZXN0VHJhbnNmZXIKICovCmNsYXNzIEJhdGNoUmVxdWVzdFRyYW5zZmVyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzQmF0Y2hlc0Jhc2VkT25DdXJsTXVsdGlIYW5kbGVzKCkKICAgIHsKICAgICAgICAkY2xpZW50MSA9IG5ldyBDbGllbnQoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20nKTsKICAgICAgICAkY2xpZW50MS0+c2V0Q3VybE11bHRpKG5ldyBDdXJsTXVsdGkoKSk7CgogICAgICAgICRjbGllbnQyID0gbmV3IENsaWVudCgnaHR0cDovL3d3dy5leGFtcGxlLmNvbScpOwogICAgICAgICRjbGllbnQyLT5zZXRDdXJsTXVsdGkobmV3IEN1cmxNdWx0aSgpKTsKCiAgICAgICAgJHJlcXVlc3QxID0gJGNsaWVudDEtPmdldCgpOwogICAgICAgICRyZXF1ZXN0MiA9ICRjbGllbnQyLT5nZXQoKTsKICAgICAgICAkcmVxdWVzdDMgPSAkY2xpZW50MS0+Z2V0KCk7CiAgICAgICAgJHJlcXVlc3Q0ID0gJGNsaWVudDItPmdldCgpOwogICAgICAgICRyZXF1ZXN0NSA9ICRjbGllbnQxLT5nZXQoKTsKCiAgICAgICAgJHF1ZXVlID0gbmV3IFxTcGxRdWV1ZSgpOwogICAgICAgICRxdWV1ZVtdID0gJHJlcXVlc3QxOwogICAgICAgICRxdWV1ZVtdID0gJHJlcXVlc3QyOwogICAgICAgICRxdWV1ZVtdID0gJHJlcXVlc3QzOwogICAgICAgICRxdWV1ZVtdID0gJHJlcXVlc3Q0OwogICAgICAgICRxdWV1ZVtdID0gJHJlcXVlc3Q1OwoKICAgICAgICAkYmF0Y2ggPSBuZXcgQmF0Y2hSZXF1ZXN0VHJhbnNmZXIoMik7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgYXJyYXkoJHJlcXVlc3QxLCAkcmVxdWVzdDMpLAogICAgICAgICAgICBhcnJheSgkcmVxdWVzdDMpLAogICAgICAgICAgICBhcnJheSgkcmVxdWVzdDIsICRyZXF1ZXN0NCkKICAgICAgICApLCAkYmF0Y2gtPmNyZWF0ZUJhdGNoZXMoJHF1ZXVlKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNBbGxJdGVtc0FyZVJlcXVlc3RzKCkKICAgIHsKICAgICAgICAkcXVldWUgPSBuZXcgXFNwbFF1ZXVlKCk7CiAgICAgICAgJHF1ZXVlW10gPSAnZm9vJzsKICAgICAgICAkYmF0Y2ggPSBuZXcgQmF0Y2hSZXF1ZXN0VHJhbnNmZXIoMik7CiAgICAgICAgJGJhdGNoLT5jcmVhdGVCYXRjaGVzKCRxdWV1ZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUcmFuc2ZlcnNCYXRjaGVzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cDovL2xvY2FsaG9zdDoxMjMnKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgpOwogICAgICAgIC8vIEZvciBzb21lIHJlYXNvbi4uLiBQSFAgdW5pdCBjbG9uZXMgdGhlIHJlcXVlc3QsIHdoaWNoIGVtaXRzIGEgcmVxdWVzdC5jbG9uZSBldmVudC4gVGhpcyBjYXVzZXMgdGhlCiAgICAgICAgLy8gJ3NvcnRlZCcgcHJvcGVydHkgb2YgdGhlIGV2ZW50IGRpc3BhdGNoZXIgdG8gY29udGFpbiBhbiBhcnJheSBpbiB0aGUgY2xvbmVkIHJlcXVlc3QgdGhhdCBpcyBub3QgcHJlc2VudCBpbgogICAgICAgIC8vIHRoZSBvcmlnaW5hbC4KICAgICAgICAkcmVxdWVzdC0+ZGlzcGF0Y2goJ3JlcXVlc3QuY2xvbmUnKTsKCiAgICAgICAgJG11bHRpID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxIdHRwXEN1cmxcQ3VybE11bHRpSW50ZXJmYWNlJyk7CiAgICAgICAgJGNsaWVudC0+c2V0Q3VybE11bHRpKCRtdWx0aSk7CiAgICAgICAgJG11bHRpLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdhZGQnKQogICAgICAgICAgICAtPndpdGgoJHJlcXVlc3QpOwogICAgICAgICRtdWx0aS0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnc2VuZCcpOwoKICAgICAgICAkYmF0Y2ggPSBuZXcgQmF0Y2hSZXF1ZXN0VHJhbnNmZXIoMik7CiAgICAgICAgJGJhdGNoLT50cmFuc2ZlcihhcnJheSgkcmVxdWVzdCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc05vdFRyYW5zZmVyc0VtcHR5QmF0Y2hlcygpCiAgICB7CiAgICAgICAgJGJhdGNoID0gbmV3IEJhdGNoUmVxdWVzdFRyYW5zZmVyKDIpOwogICAgICAgICRiYXRjaC0+dHJhbnNmZXIoYXJyYXkoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchSizeDivisorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEJhdGNoU2l6ZURpdmlzb3I7CgovKioKICogQGNvdmVycyBHdXp6bGVcQmF0Y2hcQmF0Y2hTaXplRGl2aXNvcgogKi8KY2xhc3MgQmF0Y2hTaXplRGl2aXNvclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGl2aWRlc0JhdGNoKCkKICAgIHsKICAgICAgICAkcXVldWUgPSBuZXcgXFNwbFF1ZXVlKCk7CiAgICAgICAgJHF1ZXVlW10gPSAnZm9vJzsKICAgICAgICAkcXVldWVbXSA9ICdiYXonOwogICAgICAgICRxdWV1ZVtdID0gJ2Jhcic7CiAgICAgICAgJGQgPSBuZXcgQmF0Y2hTaXplRGl2aXNvcigzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsICRkLT5nZXRTaXplKCkpOwogICAgICAgICRkLT5zZXRTaXplKDIpOwogICAgICAgICRiYXRjaGVzID0gJGQtPmNyZWF0ZUJhdGNoZXMoJHF1ZXVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KGFycmF5KCdmb28nLCAnYmF6JyksIGFycmF5KCdiYXInKSksICRiYXRjaGVzKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEJhdGNoOwp1c2UgR3V6emxlXEJhdGNoXEV4Y2VwdGlvblxCYXRjaFRyYW5zZmVyRXhjZXB0aW9uOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXEJhdGNoXEJhdGNoCiAqLwpjbGFzcyBCYXRjaFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0TW9ja1RyYW5zZmVyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxCYXRjaFxCYXRjaFRyYW5zZmVySW50ZXJmYWNlJyk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRNb2NrRGl2aXNvcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcQmF0Y2hcQmF0Y2hEaXZpc29ySW50ZXJmYWNlJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzSXRlbXNUb1F1ZXVlKCkKICAgIHsKICAgICAgICAkYmF0Y2ggPSBuZXcgQmF0Y2goJHRoaXMtPmdldE1vY2tUcmFuc2ZlcigpLCAkdGhpcy0+Z2V0TW9ja0Rpdmlzb3IoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGJhdGNoLCAkYmF0Y2gtPmFkZCgnZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJGJhdGNoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGbHVzaFJldHVybnNJdGVtcygpCiAgICB7CiAgICAgICAgJHRyYW5zZmVyID0gJHRoaXMtPmdldE1vY2tUcmFuc2ZlcigpOwogICAgICAgICR0cmFuc2Zlci0+ZXhwZWN0cygkdGhpcy0+ZXhhY3RseSgyKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3RyYW5zZmVyJyk7CgogICAgICAgICRkaXZpc29yID0gJHRoaXMtPmdldE1vY2tEaXZpc29yKCk7CiAgICAgICAgJGRpdmlzb3ItPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2NyZWF0ZUJhdGNoZXMnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKGFycmF5KGFycmF5KCdmb28nLCAnYmF6JyksIGFycmF5KCdiYXInKSkpKTsKCiAgICAgICAgJGJhdGNoID0gbmV3IEJhdGNoKCR0cmFuc2ZlciwgJGRpdmlzb3IpOwoKICAgICAgICAkYmF0Y2gtPmFkZCgnZm9vJyktPmFkZCgnYmF6JyktPmFkZCgnYmFyJyk7CiAgICAgICAgJGl0ZW1zID0gJGJhdGNoLT5mbHVzaCgpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmb28nLCAnYmF6JywgJ2JhcicpLCAkaXRlbXMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VGhyb3dzRXhjZXB0aW9uQ29udGFpbmluZ1RoZUZhaWxlZEJhdGNoKCkKICAgIHsKICAgICAgICAkY2FsbGVkID0gMDsKICAgICAgICAkb3JpZ2luYWxFeGNlcHRpb24gPSBuZXcgXEV4Y2VwdGlvbignRm9vIScpOwoKICAgICAgICAkdHJhbnNmZXIgPSAkdGhpcy0+Z2V0TW9ja1RyYW5zZmVyKCk7CiAgICAgICAgJHRyYW5zZmVyLT5leHBlY3RzKCR0aGlzLT5leGFjdGx5KDIpKQogICAgICAgICAgICAtPm1ldGhvZCgndHJhbnNmZXInKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVybkNhbGxiYWNrKGZ1bmN0aW9uICgpIHVzZSAoJiRjYWxsZWQsICRvcmlnaW5hbEV4Y2VwdGlvbikgewogICAgICAgICAgICAgICAgaWYgKCsrJGNhbGxlZCA9PSAyKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgJG9yaWdpbmFsRXhjZXB0aW9uOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSk7CgogICAgICAgICRkaXZpc29yID0gJHRoaXMtPmdldE1vY2tEaXZpc29yKCk7CiAgICAgICAgJGJhdGNoID0gbmV3IEJhdGNoKCR0cmFuc2ZlciwgJGRpdmlzb3IpOwoKICAgICAgICAvLyBQSFB1bml0IGNsb25lcyBvYmplY3RzIGJlZm9yZSBwYXNzaW5nIHRoZW0gdG8gYSBjYWxsYmFjay4KICAgICAgICAvLyBIb3JyaWJsZSBoYWNrIHRvIGdldCBhcm91bmQgdGhpcyEKICAgICAgICAkcXVldWUgPSAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYmF0Y2gsICdxdWV1ZScpOwoKICAgICAgICAkZGl2aXNvci0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnY3JlYXRlQmF0Y2hlcycpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuQ2FsbGJhY2soZnVuY3Rpb24gKCRiYXRjaCkgdXNlICgkcXVldWUpIHsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRxdWV1ZSBhcyAkaXRlbSkgewogICAgICAgICAgICAgICAgICAgICRpdGVtc1tdID0gJGl0ZW07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gYXJyYXlfY2h1bmsoJGl0ZW1zLCAyKTsKICAgICAgICAgICAgfSkpOwoKICAgICAgICAkYmF0Y2gtPmFkZCgnZm9vJyktPmFkZCgnYmF6JyktPmFkZCgnYmFyJyktPmFkZCgnYmVlJyktPmFkZCgnYm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRiYXRjaC0+aXNFbXB0eSgpKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJGl0ZW1zID0gJGJhdGNoLT5mbHVzaCgpOwogICAgICAgICAgICAkdGhpcy0+ZmFpbCgnRXhwZWN0ZWQgZXhjZXB0aW9uJyk7CiAgICAgICAgfSBjYXRjaCAoQmF0Y2hUcmFuc2ZlckV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRvcmlnaW5hbEV4Y2VwdGlvbiwgJGUtPmdldFByZXZpb3VzKCkpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdiYXInLCAnYmVlJyksIGFycmF5X3ZhbHVlcygkZS0+Z2V0QmF0Y2goKSkpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRiYXRjaCkpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Batch/ExceptionBufferingBatchTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEV4Y2VwdGlvbkJ1ZmZlcmluZ0JhdGNoOwp1c2UgR3V6emxlXEJhdGNoXEJhdGNoOwp1c2UgR3V6emxlXEJhdGNoXEJhdGNoU2l6ZURpdmlzb3I7CgovKioKICogQGNvdmVycyBHdXp6bGVcQmF0Y2hcRXhjZXB0aW9uQnVmZmVyaW5nQmF0Y2gKICovCmNsYXNzIEV4Y2VwdGlvbkJ1ZmZlcmluZ0JhdGNoVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGbHVzaGVzRW50aXJlQmF0Y2hXaGlsZUJ1ZmZlcmluZ0Vycm9yZWRCYXRjaGVzKCkKICAgIHsKICAgICAgICAkdCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXEJhdGNoXEJhdGNoVHJhbnNmZXJJbnRlcmZhY2UnKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ3RyYW5zZmVyJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwoKICAgICAgICAkZCA9IG5ldyBCYXRjaFNpemVEaXZpc29yKDEpOwogICAgICAgICRiYXRjaCA9IG5ldyBCYXRjaCgkdCwgJGQpOwoKICAgICAgICAkY2FsbGVkID0gMDsKICAgICAgICAkdC0+ZXhwZWN0cygkdGhpcy0+ZXhhY3RseSgzKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3RyYW5zZmVyJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5DYWxsYmFjayhmdW5jdGlvbiAoJGJhdGNoKSB1c2UgKCYkY2FsbGVkKSB7CiAgICAgICAgICAgICAgICBpZiAoKyskY2FsbGVkID09PSAyKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxFeGNlcHRpb24oJ0ZvbycpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSk7CgogICAgICAgICRkZWNvcmF0b3IgPSBuZXcgRXhjZXB0aW9uQnVmZmVyaW5nQmF0Y2goJGJhdGNoKTsKICAgICAgICAkZGVjb3JhdG9yLT5hZGQoJ2ZvbycpLT5hZGQoJ2JheicpLT5hZGQoJ2JhcicpOwogICAgICAgICRyZXN1bHQgPSAkZGVjb3JhdG9yLT5mbHVzaCgpOwoKICAgICAgICAkZSA9ICRkZWNvcmF0b3ItPmdldEV4Y2VwdGlvbnMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnYmF6JyksICRlWzBdLT5nZXRCYXRjaCgpKTsKCiAgICAgICAgJGRlY29yYXRvci0+Y2xlYXJFeGNlcHRpb25zKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCBjb3VudCgkZGVjb3JhdG9yLT5nZXRFeGNlcHRpb25zKCkpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnZm9vJywgJ2JhcicpLCAkcmVzdWx0KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Batch/FlushingBatchTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEZsdXNoaW5nQmF0Y2g7CnVzZSBHdXp6bGVcQmF0Y2hcQmF0Y2g7CgovKioKICogQGNvdmVycyBHdXp6bGVcQmF0Y2hcRmx1c2hpbmdCYXRjaAogKi8KY2xhc3MgRmx1c2hpbmdCYXRjaFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Rmx1c2hlc1doZW5TaXplTWVldHNUaHJlc2hvbGQoKQogICAgewogICAgICAgICR0ID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxCYXRjaFxCYXRjaFRyYW5zZmVySW50ZXJmYWNlJywgYXJyYXkoJ3RyYW5zZmVyJykpOwogICAgICAgICRkID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxCYXRjaFxCYXRjaERpdmlzb3JJbnRlcmZhY2UnLCBhcnJheSgnY3JlYXRlQmF0Y2hlcycpKTsKCiAgICAgICAgJGJhdGNoID0gbmV3IEJhdGNoKCR0LCAkZCk7CiAgICAgICAgJHF1ZXVlID0gJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGJhdGNoLCAncXVldWUnKTsKCiAgICAgICAgJGQtPmV4cGVjdHMoJHRoaXMtPmV4YWN0bHkoMikpCiAgICAgICAgICAgIC0+bWV0aG9kKCdjcmVhdGVCYXRjaGVzJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5DYWxsYmFjayhmdW5jdGlvbiAoKSB1c2UgKCRxdWV1ZSkgewogICAgICAgICAgICAgICAgJGl0ZW1zID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRxdWV1ZSBhcyAkaXRlbSkgewogICAgICAgICAgICAgICAgICAgICRpdGVtc1tdID0gJGl0ZW07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gYXJyYXkoJGl0ZW1zKTsKICAgICAgICAgICAgfSkpOwoKICAgICAgICAkdC0+ZXhwZWN0cygkdGhpcy0+ZXhhY3RseSgyKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3RyYW5zZmVyJyk7CgogICAgICAgICRmbHVzaCA9IG5ldyBGbHVzaGluZ0JhdGNoKCRiYXRjaCwgMyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCAkZmx1c2gtPmdldFRocmVzaG9sZCgpKTsKICAgICAgICAkZmx1c2gtPnNldFRocmVzaG9sZCgyKTsKICAgICAgICAkZmx1c2gtPmFkZCgnZm9vJyktPmFkZCgnYmF6JyktPmFkZCgnYmFyJyktPmFkZCgnYmVlJyktPmFkZCgnYm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkZmx1c2gpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Batch/HistoryBatchTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXEhpc3RvcnlCYXRjaDsKdXNlIEd1enpsZVxCYXRjaFxCYXRjaDsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxCYXRjaFxIaXN0b3J5QmF0Y2gKICovCmNsYXNzIEhpc3RvcnlCYXRjaFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TWFpbnRhaW5zSGlzdG9yeU9mSXRlbXNBZGRlZFRvQmF0Y2goKQogICAgewogICAgICAgICRiYXRjaCA9IG5ldyBCYXRjaCgKICAgICAgICAgICAgJHRoaXMtPmdldE1vY2soJ0d1enpsZVxCYXRjaFxCYXRjaFRyYW5zZmVySW50ZXJmYWNlJyksCiAgICAgICAgICAgICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcQmF0Y2hcQmF0Y2hEaXZpc29ySW50ZXJmYWNlJykKICAgICAgICApOwoKICAgICAgICAkaGlzdG9yeSA9IG5ldyBIaXN0b3J5QmF0Y2goJGJhdGNoKTsKICAgICAgICAkaGlzdG9yeS0+YWRkKCdmb28nKS0+YWRkKCdiYXonKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmb28nLCAnYmF6JyksICRoaXN0b3J5LT5nZXRIaXN0b3J5KCkpOwogICAgICAgICRoaXN0b3J5LT5jbGVhckhpc3RvcnkoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCksICRoaXN0b3J5LT5nZXRIaXN0b3J5KCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Batch/NotifyingBatchTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQmF0Y2g7Cgp1c2UgR3V6emxlXEJhdGNoXE5vdGlmeWluZ0JhdGNoOwp1c2UgR3V6emxlXEJhdGNoXEJhdGNoOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXEJhdGNoXE5vdGlmeWluZ0JhdGNoCiAqLwpjbGFzcyBOb3RpZnlpbmdCYXRjaFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Tm90aWZpZXNBZnRlckZsdXNoKCkKICAgIHsKICAgICAgICAkYmF0Y2ggPSAkdGhpcy0+Z2V0TW9jaygnR3V6emxlXEJhdGNoXEJhdGNoJywgYXJyYXkoJ2ZsdXNoJyksIGFycmF5KAogICAgICAgICAgICAkdGhpcy0+Z2V0TW9jaygnR3V6emxlXEJhdGNoXEJhdGNoVHJhbnNmZXJJbnRlcmZhY2UnKSwKICAgICAgICAgICAgJHRoaXMtPmdldE1vY2soJ0d1enpsZVxCYXRjaFxCYXRjaERpdmlzb3JJbnRlcmZhY2UnKQogICAgICAgICkpOwoKICAgICAgICAkYmF0Y2gtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2ZsdXNoJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShhcnJheSgnZm9vJywgJ2JheicpKSk7CgogICAgICAgICRkYXRhID0gYXJyYXkoKTsKICAgICAgICAkZGVjb3JhdG9yID0gbmV3IE5vdGlmeWluZ0JhdGNoKCRiYXRjaCwgZnVuY3Rpb24gKCRiYXRjaCkgdXNlICgmJGRhdGEpIHsKICAgICAgICAgICAgJGRhdGFbXSA9ICRiYXRjaDsKICAgICAgICB9KTsKCiAgICAgICAgJGRlY29yYXRvci0+YWRkKCdmb28nKS0+YWRkKCdiYXonKTsKICAgICAgICAkZGVjb3JhdG9yLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoYXJyYXkoJ2ZvbycsICdiYXonKSksICRkYXRhKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzQ2FsbGFibGVJc1ZhbGlkKCkKICAgIHsKICAgICAgICAkYmF0Y2ggPSBuZXcgQmF0Y2goCiAgICAgICAgICAgICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcQmF0Y2hcQmF0Y2hUcmFuc2ZlckludGVyZmFjZScpLAogICAgICAgICAgICAkdGhpcy0+Z2V0TW9jaygnR3V6emxlXEJhdGNoXEJhdGNoRGl2aXNvckludGVyZmFjZScpCiAgICAgICAgKTsKICAgICAgICAkZGVjb3JhdG9yID0gbmV3IE5vdGlmeWluZ0JhdGNoKCRiYXRjaCwgJ2ZvbycpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Cache/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Cache/CacheAdapterFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQ2FjaGU7Cgp1c2UgR3V6emxlXENhY2hlXENhY2hlQWRhcHRlckZhY3Rvcnk7CnVzZSBHdXp6bGVcQ2FjaGVcRG9jdHJpbmVDYWNoZUFkYXB0ZXI7CnVzZSBEb2N0cmluZVxDb21tb25cQ2FjaGVcQXJyYXlDYWNoZTsKdXNlIFplbmRcQ2FjaGVcU3RvcmFnZUZhY3Rvcnk7CgovKioKICogQGNvdmVycyBHdXp6bGVcQ2FjaGVcQ2FjaGVBZGFwdGVyRmFjdG9yeQogKi8KY2xhc3MgQ2FjaGVBZGFwdGVyRmFjdG9yeVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKiBAdmFyIEFycmF5Q2FjaGUgKi8KICAgIHByaXZhdGUgJGNhY2hlOwoKICAgIC8qKiBAdmFyIERvY3RyaW5lQ2FjaGVBZGFwdGVyICovCiAgICBwcml2YXRlICRhZGFwdGVyOwoKICAgIC8qKgogICAgICogUHJlcGFyZXMgdGhlIGVudmlyb25tZW50IGJlZm9yZSBydW5uaW5nIGEgdGVzdC4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNldHVwKCkKICAgIHsKICAgICAgICBwYXJlbnQ6OnNldFVwKCk7CiAgICAgICAgJHRoaXMtPmNhY2hlID0gbmV3IEFycmF5Q2FjaGUoKTsKICAgICAgICAkdGhpcy0+YWRhcHRlciA9IG5ldyBEb2N0cmluZUNhY2hlQWRhcHRlcigkdGhpcy0+Y2FjaGUpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzQ29uZmlnSXNPYmplY3QoKQogICAgewogICAgICAgIENhY2hlQWRhcHRlckZhY3Rvcnk6OmZyb21DYWNoZShhcnJheSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc0tub3duVHlwZSgpCiAgICB7CiAgICAgICAgQ2FjaGVBZGFwdGVyRmFjdG9yeTo6ZnJvbUNhY2hlKG5ldyBcc3RkQ2xhc3MoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNhY2hlUHJvdmlkZXIoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkobmV3IERvY3RyaW5lQ2FjaGVBZGFwdGVyKG5ldyBBcnJheUNhY2hlKCkpLCAnR3V6emxlXENhY2hlXERvY3RyaW5lQ2FjaGVBZGFwdGVyJyksCiAgICAgICAgICAgIGFycmF5KG5ldyBBcnJheUNhY2hlKCksICdHdXp6bGVcQ2FjaGVcRG9jdHJpbmVDYWNoZUFkYXB0ZXInKSwKICAgICAgICAgICAgYXJyYXkoU3RvcmFnZUZhY3Rvcnk6OmZhY3RvcnkoYXJyYXkoJ2FkYXB0ZXInID0+ICdtZW1vcnknKSksICdHdXp6bGVcQ2FjaGVcWmYyQ2FjaGVBZGFwdGVyJyksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgY2FjaGVQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNOdWxsQ2FjaGVBZGFwdGVyQnlEZWZhdWx0KCRjYWNoZSwgJHR5cGUpCiAgICB7CiAgICAgICAgJGFkYXB0ZXIgPSBDYWNoZUFkYXB0ZXJGYWN0b3J5Ojpmcm9tQ2FjaGUoJGNhY2hlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZigkdHlwZSwgJGFkYXB0ZXIpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Cache/CacheAdapterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQ2FjaGU7Cgp1c2UgR3V6emxlXENhY2hlXERvY3RyaW5lQ2FjaGVBZGFwdGVyOwp1c2UgRG9jdHJpbmVcQ29tbW9uXENhY2hlXEFycmF5Q2FjaGU7CgovKioKICogQGNvdmVycyBHdXp6bGVcQ2FjaGVcRG9jdHJpbmVDYWNoZUFkYXB0ZXIKICogQGNvdmVycyBHdXp6bGVcQ2FjaGVcQWJzdHJhY3RDYWNoZUFkYXB0ZXIKICovCmNsYXNzIENhY2hlQWRhcHRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKiBAdmFyIEFycmF5Q2FjaGUgKi8KICAgIHByaXZhdGUgJGNhY2hlOwoKICAgIC8qKiBAdmFyIERvY3RyaW5lQ2FjaGVBZGFwdGVyICovCiAgICBwcml2YXRlICRhZGFwdGVyOwoKICAgIC8qKgogICAgICogUHJlcGFyZXMgdGhlIGVudmlyb25tZW50IGJlZm9yZSBydW5uaW5nIGEgdGVzdC4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICBwYXJlbnQ6OnNldFVwKCk7CiAgICAgICAgJHRoaXMtPmNhY2hlID0gbmV3IEFycmF5Q2FjaGUoKTsKICAgICAgICAkdGhpcy0+YWRhcHRlciA9IG5ldyBEb2N0cmluZUNhY2hlQWRhcHRlcigkdGhpcy0+Y2FjaGUpOwogICAgfQoKICAgIC8qKgogICAgICogQ2xlYW5zIHVwIHRoZSBlbnZpcm9ubWVudCBhZnRlciBydW5uaW5nIGEgdGVzdC4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHRlYXJEb3duKCkKICAgIHsKICAgICAgICAkdGhpcy0+YWRhcHRlciA9IG51bGw7CiAgICAgICAgJHRoaXMtPmNhY2hlID0gbnVsbDsKICAgICAgICBwYXJlbnQ6OnRlYXJEb3duKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRDYWNoZU9iamVjdCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+Y2FjaGUsICR0aGlzLT5hZGFwdGVyLT5nZXRDYWNoZU9iamVjdCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNhdmUoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5hZGFwdGVyLT5zYXZlKCd0ZXN0JywgJ2RhdGEnLCAxMDAwKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGZXRjaCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmFkYXB0ZXItPnNhdmUoJ3Rlc3QnLCAnZGF0YScsIDEwMDApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdkYXRhJywgJHRoaXMtPmFkYXB0ZXItPmZldGNoKCd0ZXN0JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29udGFpbnMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5hZGFwdGVyLT5zYXZlKCd0ZXN0JywgJ2RhdGEnLCAxMDAwKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmFkYXB0ZXItPmNvbnRhaW5zKCd0ZXN0JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGVsZXRlKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+YWRhcHRlci0+c2F2ZSgndGVzdCcsICdkYXRhJywgMTAwMCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5hZGFwdGVyLT5kZWxldGUoJ3Rlc3QnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT5hZGFwdGVyLT5jb250YWlucygndGVzdCcpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Cache/ClosureCacheAdapterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQ2FjaGU7Cgp1c2UgR3V6emxlXENhY2hlXENsb3N1cmVDYWNoZUFkYXB0ZXI7CgovKioKICogQGNvdmVycyBHdXp6bGVcQ2FjaGVcQ2xvc3VyZUNhY2hlQWRhcHRlcgogKi8KY2xhc3MgQ2xvc3VyZUNhY2hlQWRhcHRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKiBAdmFyIENsb3N1cmVDYWNoZUFkYXB0ZXIgKi8KICAgIHByaXZhdGUgJGFkYXB0ZXI7CgogICAgLyoqIEFycmF5IG9mIGNhbGxhYmxlcyB0byB1c2UgZm9yIHRlc3RpbmcgKi8KICAgIHByaXZhdGUgJGNhbGxhYmxlczsKCiAgICAvKiogQ2FjaGUgZGF0YSBmb3IgdGVzdGluZyAqLwogICAgcHVibGljICRkYXRhID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIFByZXBhcmVzIHRoZSBlbnZpcm9ubWVudCBiZWZvcmUgcnVubmluZyBhIHRlc3QuCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgcGFyZW50OjpzZXRVcCgpOwoKICAgICAgICAkdGhhdCA9ICR0aGlzOwogICAgICAgICR0aGlzLT5jYWxsYWJsZXMgPSBhcnJheSgKICAgICAgICAgICAgJ2NvbnRhaW5zJyA9PiBmdW5jdGlvbigkaWQsICRvcHRpb25zID0gYXJyYXkoKSkgdXNlICgkdGhhdCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGFycmF5X2tleV9leGlzdHMoJGlkLCAkdGhhdC0+ZGF0YSk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICdkZWxldGUnID0+IGZ1bmN0aW9uKCRpZCwgJG9wdGlvbnMgPSBhcnJheSgpKSB1c2UgKCR0aGF0KSB7CiAgICAgICAgICAgICAgICB1bnNldCgkdGhhdC0+ZGF0YVskaWRdKTsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9LAogICAgICAgICAgICAnZmV0Y2gnID0+IGZ1bmN0aW9uKCRpZCwgJG9wdGlvbnMgPSBhcnJheSgpKSB1c2UgKCR0aGF0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gYXJyYXlfa2V5X2V4aXN0cygkaWQsICR0aGF0LT5kYXRhKSA/ICR0aGF0LT5kYXRhWyRpZF0gOiBudWxsOwogICAgICAgICAgICB9LAogICAgICAgICAgICAnc2F2ZScgPT4gZnVuY3Rpb24oJGlkLCAkZGF0YSwgJGxpZmVUaW1lLCAkb3B0aW9ucyA9IGFycmF5KCkpIHVzZSAoJHRoYXQpIHsKICAgICAgICAgICAgICAgICR0aGF0LT5kYXRhWyRpZF0gPSAkZGF0YTsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgKTsKCiAgICAgICAgJHRoaXMtPmFkYXB0ZXIgPSBuZXcgQ2xvc3VyZUNhY2hlQWRhcHRlcigkdGhpcy0+Y2FsbGFibGVzKTsKICAgIH0KCiAgICAvKioKICAgICAqIENsZWFucyB1cCB0aGUgZW52aXJvbm1lbnQgYWZ0ZXIgcnVubmluZyBhIHRlc3QuCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiB0ZWFyRG93bigpCiAgICB7CiAgICAgICAgJHRoaXMtPmNhY2hlID0gbnVsbDsKICAgICAgICAkdGhpcy0+Y2FsbGFibGVzID0gbnVsbDsKICAgICAgICBwYXJlbnQ6OnRlYXJEb3duKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc0NhbGxhYmxlc0FyZVByZXNlbnQoKQogICAgewogICAgICAgICRjYWxsYWJsZXMgPSAkdGhpcy0+Y2FsbGFibGVzOwogICAgICAgIHVuc2V0KCRjYWxsYWJsZXNbJ2RlbGV0ZSddKTsKICAgICAgICAkY2FjaGUgPSBuZXcgQ2xvc3VyZUNhY2hlQWRhcHRlcigkY2FsbGFibGVzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbENhbGxhYmxlc011c3RCZVByZXNlbnQoKQogICAgewogICAgICAgICRjYWNoZSA9IG5ldyBDbG9zdXJlQ2FjaGVBZGFwdGVyKCR0aGlzLT5jYWxsYWJsZXMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FjaGVzRGF0YVVzaW5nQ2FsbGFibGVzKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+YWRhcHRlci0+c2F2ZSgndGVzdCcsICdkYXRhJywgMTAwMCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2RhdGEnLCAkdGhpcy0+YWRhcHRlci0+ZmV0Y2goJ3Rlc3QnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDaGVja3NJZkNhY2hlQ29udGFpbnNLZXlzKCkKICAgIHsKICAgICAgICAkdGhpcy0+YWRhcHRlci0+c2F2ZSgndGVzdCcsICdkYXRhJywgMTAwMCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmFkYXB0ZXItPmNvbnRhaW5zKCd0ZXN0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+YWRhcHRlci0+Y29udGFpbnMoJ2ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlbGV0ZXNGcm9tQ2FjaGVCeUtleSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFkYXB0ZXItPnNhdmUoJ3Rlc3QnLCAnZGF0YScsIDEwMDApOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5hZGFwdGVyLT5jb250YWlucygndGVzdCcpKTsKICAgICAgICAkdGhpcy0+YWRhcHRlci0+ZGVsZXRlKCd0ZXN0Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT5hZGFwdGVyLT5jb250YWlucygndGVzdCcpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Cache/NullCacheAdapterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQ29tbW9uXENhY2hlOwoKdXNlIEd1enpsZVxDYWNoZVxOdWxsQ2FjaGVBZGFwdGVyOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXENhY2hlXE51bGxDYWNoZUFkYXB0ZXIKICovCmNsYXNzIE51bGxDYWNoZUFkYXB0ZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE51bGxDYWNoZUFkYXB0ZXIoKQogICAgewogICAgICAgICRjID0gbmV3IE51bGxDYWNoZUFkYXB0ZXIoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGZhbHNlLCAkYy0+Y29udGFpbnMoJ2ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKHRydWUsICRjLT5kZWxldGUoJ2ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGZhbHNlLCAkYy0+ZmV0Y2goJ2ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKHRydWUsICRjLT5zYXZlKCdmb28nLCAnYmFyJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Cache/Zf2CacheAdapterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQ2FjaGU7Cgp1c2UgR3V6emxlXENhY2hlXFpmMkNhY2hlQWRhcHRlcjsKdXNlIFplbmRcQ2FjaGVcU3RvcmFnZUZhY3Rvcnk7CgovKioKICogQGNvdmVycyBHdXp6bGVcQ2FjaGVcWmYyQ2FjaGVBZGFwdGVyCiAqLwpjbGFzcyBaZjJDYWNoZUFkYXB0ZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcml2YXRlICRjYWNoZTsKICAgIHByaXZhdGUgJGFkYXB0ZXI7CgogICAgLyoqCiAgICAgKiBQcmVwYXJlcyB0aGUgZW52aXJvbm1lbnQgYmVmb3JlIHJ1bm5pbmcgYSB0ZXN0LgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgIHBhcmVudDo6c2V0VXAoKTsKICAgICAgICAkdGhpcy0+Y2FjaGUgPSBTdG9yYWdlRmFjdG9yeTo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2FkYXB0ZXInID0+ICdtZW1vcnknCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFkYXB0ZXIgPSBuZXcgWmYyQ2FjaGVBZGFwdGVyKCR0aGlzLT5jYWNoZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDbGVhbnMgdXAgdGhlIGVudmlyb25tZW50IGFmdGVyIHJ1bm5pbmcgYSB0ZXN0LgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdGVhckRvd24oKQogICAgewogICAgICAgICR0aGlzLT5hZGFwdGVyID0gbnVsbDsKICAgICAgICAkdGhpcy0+Y2FjaGUgPSBudWxsOwogICAgICAgIHBhcmVudDo6dGVhckRvd24oKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhY2hlc0RhdGFVc2luZ0NhbGxhYmxlcygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmFkYXB0ZXItPnNhdmUoJ3Rlc3QnLCAnZGF0YScsIDEwMDApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdkYXRhJywgJHRoaXMtPmFkYXB0ZXItPmZldGNoKCd0ZXN0JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2hlY2tzSWZDYWNoZUNvbnRhaW5zS2V5cygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFkYXB0ZXItPnNhdmUoJ3Rlc3QnLCAnZGF0YScsIDEwMDApOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5hZGFwdGVyLT5jb250YWlucygndGVzdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHRoaXMtPmFkYXB0ZXItPmNvbnRhaW5zKCdmb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZWxldGVzRnJvbUNhY2hlQnlLZXkoKQogICAgewogICAgICAgICR0aGlzLT5hZGFwdGVyLT5zYXZlKCd0ZXN0JywgJ2RhdGEnLCAxMDAwKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+YWRhcHRlci0+Y29udGFpbnMoJ3Rlc3QnKSk7CiAgICAgICAgJHRoaXMtPmFkYXB0ZXItPmRlbGV0ZSgndGVzdCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+YWRhcHRlci0+Y29udGFpbnMoJ3Rlc3QnKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Common/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Common/AbstractHasDispatcherTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQ29tbW9uOwoKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBHdXp6bGVcQ29tbW9uXEFic3RyYWN0SGFzRGlzcGF0Y2hlcjsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudERpc3BhdGNoZXI7CgovKioKICogQGNvdmVycyBHdXp6bGVcQ29tbW9uXEFic3RyYWN0SGFzRGlzcGF0Y2hlcgogKi8KY2xhc3MgQWJzdHJhY3RIYXNBZGFwdGVyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzTm90UmVxdWlyZVJlZ2lzdGVyZWRFdmVudHMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoKSwgQWJzdHJhY3RIYXNEaXNwYXRjaGVyOjpnZXRBbGxFdmVudHMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NEaXNwYXRjaGVyVG9CZUluamVjdGVkKCkKICAgIHsKICAgICAgICAkZCA9IG5ldyBFdmVudERpc3BhdGNoZXIoKTsKICAgICAgICAkbW9jayA9ICR0aGlzLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygnR3V6emxlXENvbW1vblxBYnN0cmFjdEhhc0Rpc3BhdGNoZXInKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkbW9jaywgJG1vY2stPnNldEV2ZW50RGlzcGF0Y2hlcigkZCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRkLCAkbW9jay0+Z2V0RXZlbnREaXNwYXRjaGVyKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc0RlZmF1bHRFdmVudERpc3BhdGNoZXJJZk5lZWRlZCgpCiAgICB7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoJ0d1enpsZVxDb21tb25cQWJzdHJhY3RIYXNEaXNwYXRjaGVyJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ1N5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudERpc3BhdGNoZXInLCAkbW9jay0+Z2V0RXZlbnREaXNwYXRjaGVyKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGVscGVyRGlzcGF0Y2hlc0V2ZW50cygpCiAgICB7CiAgICAgICAgJGRhdGEgPSBhcnJheSgpOwogICAgICAgICRtb2NrID0gJHRoaXMtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCdHdXp6bGVcQ29tbW9uXEFic3RyYWN0SGFzRGlzcGF0Y2hlcicpOwogICAgICAgICRtb2NrLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ3Rlc3QnLCBmdW5jdGlvbihFdmVudCAkZSkgdXNlICgmJGRhdGEpIHsKICAgICAgICAgICAgJGRhdGEgPSAkZS0+Z2V0SXRlcmF0b3IoKS0+Z2V0QXJyYXlDb3B5KCk7CiAgICAgICAgfSk7CiAgICAgICAgJG1vY2stPmRpc3BhdGNoKCd0ZXN0JywgYXJyYXkoCiAgICAgICAgICAgICdwYXJhbScgPT4gJ2FiYycKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAncGFyYW0nID0+ICdhYmMnLAogICAgICAgICksICRkYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhlbHBlckF0dGFjaGVzU3Vic2NyaWJlcnMoKQogICAgewogICAgICAgICRtb2NrID0gJHRoaXMtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCdHdXp6bGVcQ29tbW9uXEFic3RyYWN0SGFzRGlzcGF0Y2hlcicpOwogICAgICAgICRzdWJzY3JpYmVyID0gJHRoaXMtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCdTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlJyk7CgogICAgICAgICRkaXNwYXRjaGVyID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnREaXNwYXRjaGVyJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdhZGRTdWJzY3JpYmVyJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwoKICAgICAgICAkZGlzcGF0Y2hlci0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnYWRkU3Vic2NyaWJlcicpOwoKICAgICAgICAkbW9jay0+c2V0RXZlbnREaXNwYXRjaGVyKCRkaXNwYXRjaGVyKTsKICAgICAgICAkbW9jay0+YWRkU3Vic2NyaWJlcigkc3Vic2NyaWJlcik7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Common/CollectionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQ29tbW9uOwoKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXFF1ZXJ5U3RyaW5nOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uCiAqLwpjbGFzcyBDb2xsZWN0aW9uVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqIEB2YXIgQ29sbGVjdGlvbiAqLwogICAgcHJvdGVjdGVkICRjb2xsOwoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNvbGwgPSBuZXcgQ29sbGVjdGlvbigpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3JDYW5CZUNhbGxlZFdpdGhOb1BhcmFtcygpCiAgICB7CiAgICAgICAgJHRoaXMtPmNvbGwgPSBuZXcgQ29sbGVjdGlvbigpOwogICAgICAgICRwID0gJHRoaXMtPmNvbGwtPmdldEFsbCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFbXB0eSgkcCwgJy0+IENvbGxlY3Rpb24gbXVzdCBiZSBlbXB0eSB3aGVuIG5vIGRhdGEgaXMgcGFzc2VkJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvckNhbkJlQ2FsbGVkV2l0aFBhcmFtcygpCiAgICB7CiAgICAgICAgJHRlc3REYXRhID0gYXJyYXkoCiAgICAgICAgICAgICd0ZXN0JyA9PiAndmFsdWUnLAogICAgICAgICAgICAndGVzdF8yJyA9PiAndmFsdWUyJwogICAgICAgICk7CiAgICAgICAgJHRoaXMtPmNvbGwgPSBuZXcgQ29sbGVjdGlvbigkdGVzdERhdGEpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHRoaXMtPmNvbGwtPmdldEFsbCgpLCAkdGVzdERhdGEsICctPiBnZXRBbGwoKSBtdXN0IHJldHVybiB0aGUgZGF0YSBwYXNzZWQgaW4gdGhlIGNvbnN0cnVjdG9yJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+Y29sbC0+Z2V0QWxsKCksICR0aGlzLT5jb2xsLT50b0FycmF5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SW1wbGVtZW50c0l0ZXJhdG9yQWdncmVnYXRlKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y29sbC0+c2V0KCdrZXknLCAndmFsdWUnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXJyYXlJdGVyYXRvcicsICR0aGlzLT5jb2xsLT5nZXRJdGVyYXRvcigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCR0aGlzLT5jb2xsKSk7CiAgICAgICAgJHRvdGFsID0gMDsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+Y29sbCBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdrZXknLCAka2V5KTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndmFsdWUnLCAkdmFsdWUpOwogICAgICAgICAgICAkdG90YWwrKzsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCAkdG90YWwpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQWRkVmFsdWVzVG9FeGlzdGluZ0tleXNCeVVzaW5nQXJyYXkoKQogICAgewogICAgICAgICR0aGlzLT5jb2xsLT5hZGQoJ3Rlc3QnLCAndmFsdWUxJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+Y29sbC0+Z2V0QWxsKCksIGFycmF5KCd0ZXN0JyA9PiAndmFsdWUxJykpOwogICAgICAgICR0aGlzLT5jb2xsLT5hZGQoJ3Rlc3QnLCAndmFsdWUyJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+Y29sbC0+Z2V0QWxsKCksIGFycmF5KCd0ZXN0JyA9PiBhcnJheSgndmFsdWUxJywgJ3ZhbHVlMicpKSk7CiAgICAgICAgJHRoaXMtPmNvbGwtPmFkZCgndGVzdCcsICd2YWx1ZTMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR0aGlzLT5jb2xsLT5nZXRBbGwoKSwgYXJyYXkoJ3Rlc3QnID0+IGFycmF5KCd2YWx1ZTEnLCAndmFsdWUyJywgJ3ZhbHVlMycpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYW5kbGVzTWVyZ2luZ0luRGlzcGFyYXRlRGF0YVNvdXJjZXMoKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgKICAgICAgICAgICAgJ3Rlc3QnID0+ICd2YWx1ZTEnLAogICAgICAgICAgICAndGVzdDInID0+ICd2YWx1ZTInLAogICAgICAgICAgICAndGVzdDMnID0+IGFycmF5KCd2YWx1ZTMnLCAndmFsdWU0JykKICAgICAgICApOwogICAgICAgICR0aGlzLT5jb2xsLT5tZXJnZSgkcGFyYW1zKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR0aGlzLT5jb2xsLT5nZXRBbGwoKSwgJHBhcmFtcyk7CgogICAgICAgIC8vIFBhc3MgdGhlIHNhbWUgb2JqZWN0IHRvIGl0c2VsZgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHRoaXMtPmNvbGwtPm1lcmdlKCR0aGlzLT5jb2xsKSwgJHRoaXMtPmNvbGwpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQ2xlYXJBbGxEYXRhT3JTcGVjaWZpY0tleXMoKQogICAgewogICAgICAgICR0aGlzLT5jb2xsLT5tZXJnZShhcnJheSgKICAgICAgICAgICAgJ3Rlc3QnID0+ICd2YWx1ZTEnLAogICAgICAgICAgICAndGVzdDInID0+ICd2YWx1ZTInCiAgICAgICAgKSk7CgogICAgICAgIC8vIENsZWFyIGEgc3BlY2lmaWMgcGFyYW1ldGVyIGJ5IG5hbWUKICAgICAgICAkdGhpcy0+Y29sbC0+cmVtb3ZlKCd0ZXN0Jyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHRoaXMtPmNvbGwtPmdldEFsbCgpLCBhcnJheSgKICAgICAgICAgICAgJ3Rlc3QyJyA9PiAndmFsdWUyJwogICAgICAgICkpOwoKICAgICAgICAvLyBDbGVhciBhbGwgcGFyYW1ldGVycwogICAgICAgICR0aGlzLT5jb2xsLT5jbGVhcigpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR0aGlzLT5jb2xsLT5nZXRBbGwoKSwgYXJyYXkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRzVmFsdWVzQnlLZXkoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCR0aGlzLT5jb2xsLT5nZXQoJ3Rlc3QnKSk7CiAgICAgICAgJHRoaXMtPmNvbGwtPmFkZCgndGVzdCcsICd2YWx1ZScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3ZhbHVlJywgJHRoaXMtPmNvbGwtPmdldCgndGVzdCcpKTsKICAgICAgICAkdGhpcy0+Y29sbC0+c2V0KCd0ZXN0MicsICd2MicpOwogICAgICAgICR0aGlzLT5jb2xsLT5zZXQoJ3Rlc3QzJywgJ3YzJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ3Rlc3QnID0+ICd2YWx1ZScsCiAgICAgICAgICAgICd0ZXN0MicgPT4gJ3YyJwogICAgICAgICksICR0aGlzLT5jb2xsLT5nZXRBbGwoYXJyYXkoJ3Rlc3QnLCAndGVzdDInKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UHJvdmlkZXNLZXlzKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCksICR0aGlzLT5jb2xsLT5nZXRLZXlzKCkpOwogICAgICAgICR0aGlzLT5jb2xsLT5tZXJnZShhcnJheSgKICAgICAgICAgICAgJ3Rlc3QxJyA9PiAndmFsdWUxJywKICAgICAgICAgICAgJ3Rlc3QyJyA9PiAndmFsdWUyJwogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ3Rlc3QxJywgJ3Rlc3QyJyksICR0aGlzLT5jb2xsLT5nZXRLZXlzKCkpOwogICAgICAgIC8vIFJldHVybnMgdGhlIGNhY2hlZCBhcnJheSBwcmV2aW91c2x5IHJldHVybmVkCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgndGVzdDEnLCAndGVzdDInKSwgJHRoaXMtPmNvbGwtPmdldEtleXMoKSk7CiAgICAgICAgJHRoaXMtPmNvbGwtPnJlbW92ZSgndGVzdDEnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCd0ZXN0MicpLCAkdGhpcy0+Y29sbC0+Z2V0S2V5cygpKTsKICAgICAgICAkdGhpcy0+Y29sbC0+YWRkKCd0ZXN0MycsICd2YWx1ZTMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCd0ZXN0MicsICd0ZXN0MycpLCAkdGhpcy0+Y29sbC0+Z2V0S2V5cygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENoZWNrc0lmSGFzS2V5KCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHRoaXMtPmNvbGwtPmhhc0tleSgndGVzdCcpKTsKICAgICAgICAkdGhpcy0+Y29sbC0+YWRkKCd0ZXN0JywgJ3ZhbHVlJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyh0cnVlLCAkdGhpcy0+Y29sbC0+aGFzS2V5KCd0ZXN0JykpOwogICAgICAgICR0aGlzLT5jb2xsLT5hZGQoJ3Rlc3QyJywgJ3ZhbHVlMicpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHModHJ1ZSwgJHRoaXMtPmNvbGwtPmhhc0tleSgndGVzdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKHRydWUsICR0aGlzLT5jb2xsLT5oYXNLZXkoJ3Rlc3QyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+Y29sbC0+aGFzS2V5KCd0ZXN0aW5nJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoZmFsc2UsICR0aGlzLT5jb2xsLT5oYXNLZXkoJ0FCLUMnLCAnanVuaycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENoZWNrc0lmSGFzVmFsdWUoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+Y29sbC0+aGFzVmFsdWUoJ3ZhbHVlJykpOwogICAgICAgICR0aGlzLT5jb2xsLT5hZGQoJ3Rlc3QnLCAndmFsdWUnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgJHRoaXMtPmNvbGwtPmhhc1ZhbHVlKCd2YWx1ZScpKTsKICAgICAgICAkdGhpcy0+Y29sbC0+YWRkKCd0ZXN0MicsICd2YWx1ZTInKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgJHRoaXMtPmNvbGwtPmhhc1ZhbHVlKCd2YWx1ZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0MicsICR0aGlzLT5jb2xsLT5oYXNWYWx1ZSgndmFsdWUyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+Y29sbC0+aGFzVmFsdWUoJ3ZhbCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkdldEFsbFZhbHVlc0J5QXJyYXkoKQogICAgewogICAgICAgICR0aGlzLT5jb2xsLT5hZGQoJ2ZvbycsICdiYXInKTsKICAgICAgICAkdGhpcy0+Y29sbC0+YWRkKCd0RXNUJywgJ3ZhbHVlJyk7CiAgICAgICAgJHRoaXMtPmNvbGwtPmFkZCgndGVzVGluZycsICd2MicpOwogICAgICAgICR0aGlzLT5jb2xsLT5hZGQoJ2tleScsICd2MycpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCR0aGlzLT5jb2xsLT5nZXQoJ3Rlc3QnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ2ZvbycgICAgID0+ICdiYXInLAogICAgICAgICAgICAndEVzVCcgICAgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgJ3Rlc1RpbmcnID0+ICd2MicKICAgICAgICApLCAkdGhpcy0+Y29sbC0+Z2V0QWxsKGFycmF5KAogICAgICAgICAgICAnZm9vJywgJ3Rlc1RpbmcnLCAndEVzVCcKICAgICAgICApKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJbXBsZW1lbnRzQ291bnQoKQogICAgewogICAgICAgICRkYXRhID0gbmV3IENvbGxlY3Rpb24oKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsICRkYXRhLT5jb3VudCgpKTsKICAgICAgICAkZGF0YS0+YWRkKCdrZXknLCAndmFsdWUnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRkYXRhKSk7CiAgICAgICAgJGRhdGEtPmFkZCgna2V5JywgJ3ZhbHVlMicpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJGRhdGEpKTsKICAgICAgICAkZGF0YS0+YWRkKCdrZXlfMicsICd2YWx1ZTMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCRkYXRhKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRQYXJhbXNCeU1lcmdpbmcoKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgKICAgICAgICAgICAgJ3Rlc3QnID0+ICd2YWx1ZTEnLAogICAgICAgICAgICAndGVzdDInID0+ICd2YWx1ZTInLAogICAgICAgICAgICAndGVzdDMnID0+IGFycmF5KCd2YWx1ZTMnLCAndmFsdWU0JykKICAgICAgICApOwoKICAgICAgICAvLyBBZGQgc29tZSBwYXJhbWV0ZXJzCiAgICAgICAgJHRoaXMtPmNvbGwtPm1lcmdlKCRwYXJhbXMpOwoKICAgICAgICAvLyBBZGQgbW9yZSBwYXJhbWV0ZXJzIGJ5IG1lcmdpbmcgdGhlbSBpbgogICAgICAgICR0aGlzLT5jb2xsLT5tZXJnZShhcnJheSgKICAgICAgICAgICAgJ3Rlc3QnID0+ICdhbm90aGVyJywKICAgICAgICAgICAgJ2RpZmZlcmVudF9rZXknID0+ICduZXcgdmFsdWUnCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICd0ZXN0JyA9PiBhcnJheSgndmFsdWUxJywgJ2Fub3RoZXInKSwKICAgICAgICAgICAgJ3Rlc3QyJyA9PiAndmFsdWUyJywKICAgICAgICAgICAgJ3Rlc3QzJyA9PiBhcnJheSgndmFsdWUzJywgJ3ZhbHVlNCcpLAogICAgICAgICAgICAnZGlmZmVyZW50X2tleScgPT4gJ25ldyB2YWx1ZScKICAgICAgICApLCAkdGhpcy0+Y29sbC0+Z2V0QWxsKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzRnVuY3Rpb25hbEZpbHRlcigpCiAgICB7CiAgICAgICAgJHRoaXMtPmNvbGwtPm1lcmdlKGFycmF5KAogICAgICAgICAgICAnZnJ1aXQnID0+ICdhcHBsZScsCiAgICAgICAgICAgICdudW1iZXInID0+ICd0ZW4nLAogICAgICAgICAgICAncHJlcG9zaXRpb25zJyA9PiBhcnJheSgnYWJvdXQnLCAnYWJvdmUnLCAnYWNyb3NzJywgJ2FmdGVyJyksCiAgICAgICAgICAgICdzYW1lX251bWJlcicgPT4gJ3RlbicKICAgICAgICApKTsKCiAgICAgICAgJGZpbHRlcmVkID0gJHRoaXMtPmNvbGwtPmZpbHRlcihmdW5jdGlvbigka2V5LCAkdmFsdWUpIHsKICAgICAgICAgICAgcmV0dXJuICR2YWx1ZSA9PSAndGVuJzsKICAgICAgICB9KTsKCiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVxdWFscygkZmlsdGVyZWQsICR0aGlzLT5jb2xsKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ251bWJlcicgPT4gJ3RlbicsCiAgICAgICAgICAgICdzYW1lX251bWJlcicgPT4gJ3RlbicKICAgICAgICApLCAkZmlsdGVyZWQtPmdldEFsbCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0Z1bmN0aW9uYWxNYXBwaW5nKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y29sbC0+bWVyZ2UoYXJyYXkoCiAgICAgICAgICAgICdudW1iZXJfMScgPT4gMSwKICAgICAgICAgICAgJ251bWJlcl8yJyA9PiAyLAogICAgICAgICAgICAnbnVtYmVyXzMnID0+IDMKICAgICAgICApKTsKCiAgICAgICAgJG1hcHBlZCA9ICR0aGlzLT5jb2xsLT5tYXAoZnVuY3Rpb24oJGtleSwgJHZhbHVlKSB7CiAgICAgICAgICAgIHJldHVybiAkdmFsdWUgKiAkdmFsdWU7CiAgICAgICAgfSk7CgogICAgICAgICR0aGlzLT5hc3NlcnROb3RFcXVhbHMoJG1hcHBlZCwgJHRoaXMtPmNvbGwpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnbnVtYmVyXzEnID0+IDEsCiAgICAgICAgICAgICdudW1iZXJfMicgPT4gNCwKICAgICAgICAgICAgJ251bWJlcl8zJyA9PiA5CiAgICAgICAgKSwgJG1hcHBlZC0+Z2V0QWxsKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SW1wbGVtZW50c0FycmF5QWNjZXNzKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y29sbC0+bWVyZ2UoYXJyYXkoCiAgICAgICAgICAgICdrMScgPT4gJ3YxJywKICAgICAgICAgICAgJ2syJyA9PiAndjInCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5jb2xsLT5vZmZzZXRFeGlzdHMoJ2sxJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+Y29sbC0+b2Zmc2V0RXhpc3RzKCdLcnVsbCcpKTsKCiAgICAgICAgJHRoaXMtPmNvbGwtPm9mZnNldFNldCgnazMnLCAndjMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd2MycsICR0aGlzLT5jb2xsLT5vZmZzZXRHZXQoJ2szJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3YzJywgJHRoaXMtPmNvbGwtPmdldCgnazMnKSk7CgogICAgICAgICR0aGlzLT5jb2xsLT5vZmZzZXRVbnNldCgnazEnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHRoaXMtPmNvbGwtPm9mZnNldEV4aXN0cygnazEnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzU3RhdGljV2hlbkNyZWF0aW5nTmV3KCkKICAgIHsKICAgICAgICAkcXMgPSBuZXcgUXVlcnlTdHJpbmcoYXJyYXkoCiAgICAgICAgICAgICdhJyA9PiAnYicsCiAgICAgICAgICAgICdjJyA9PiAnZCcKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcSHR0cFxcUXVlcnlTdHJpbmcnLCAkcXMtPm1hcChmdW5jdGlvbigkYSwgJGIpIHt9KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcQ29tbW9uXFxDb2xsZWN0aW9uJywgJHFzLT5tYXAoZnVuY3Rpb24oJGEsICRiKSB7fSwgYXJyYXkoKSwgZmFsc2UpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcSHR0cFxcUXVlcnlTdHJpbmcnLCAkcXMtPmZpbHRlcihmdW5jdGlvbigkYSwgJGIpIHt9KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcQ29tbW9uXFxDb2xsZWN0aW9uJywgJHFzLT5maWx0ZXIoZnVuY3Rpb24oJGEsICRiKSB7fSwgZmFsc2UpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblJlcGxhY2VBbGxEYXRhKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkdGhpcy0+Y29sbCwgJHRoaXMtPmNvbGwtPnJlcGxhY2UoYXJyYXkoCiAgICAgICAgICAgICdhJyA9PiAnMTIzJwogICAgICAgICkpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ2EnID0+ICcxMjMnCiAgICAgICAgKSwgJHRoaXMtPmNvbGwtPmdldEFsbCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGF0YVByb3ZpZGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KCd0aGlzX2lzX2FfdGVzdCcsICd7YX1faXNfYV97Yn0nLCBhcnJheSgKICAgICAgICAgICAgICAgICdhJyA9PiAndGhpcycsCiAgICAgICAgICAgICAgICAnYicgPT4gJ3Rlc3QnCiAgICAgICAgICAgICkpLAogICAgICAgICAgICBhcnJheSgndGhpc19pc19hX3Rlc3QnLCAne2FiY31faXNfYV97MH0nLCBhcnJheSgKICAgICAgICAgICAgICAgICdhYmMnID0+ICd0aGlzJywKICAgICAgICAgICAgICAgIDAgPT4gJ3Rlc3QnCiAgICAgICAgICAgICkpLAogICAgICAgICAgICBhcnJheSgndGhpc19pc19hX3Rlc3QnLCAne2FiY31faXNfYV97MH0nLCBhcnJheSgKICAgICAgICAgICAgICAgICdhYmMnID0+ICd0aGlzJywKICAgICAgICAgICAgICAgIDAgPT4gJ3Rlc3QnCiAgICAgICAgICAgICkpLAogICAgICAgICAgICBhcnJheSgndGhpc19pc19hX3Rlc3QnLCAndGhpc19pc19hX3Rlc3QnLCBhcnJheSgKICAgICAgICAgICAgICAgICdhYmMnID0+ICd0aGlzJwogICAgICAgICAgICApKSwKICAgICAgICAgICAgYXJyYXkoJ3thYmN9X2lzX3tub3RfZm91bmR9YV97MH0nLCAne2FiY31faXNfe25vdF9mb3VuZH1hX3swfScsIGFycmF5KCkpCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgZGF0YVByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SW5qZWN0c0NvbmZpZ0RhdGEoJG91dHB1dCwgJGlucHV0LCAkY29uZmlnKQogICAgewogICAgICAgICRjb2xsZWN0aW9uID0gbmV3IENvbGxlY3Rpb24oJGNvbmZpZyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkb3V0cHV0LCAkY29sbGVjdGlvbi0+aW5qZWN0KCRpbnB1dCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2VhcmNoQnlLZXkoKQogICAgewogICAgICAgICRjb2xsZWN0aW9uID0gbmV3IENvbGxlY3Rpb24oYXJyYXkoCiAgICAgICAgICAgICdmb28nID0+ICdiYXInLAogICAgICAgICAgICAnQmFaJyA9PiAncGhvJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkY29sbGVjdGlvbi0+a2V5U2VhcmNoKCdGT08nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQmFaJywgJGNvbGxlY3Rpb24tPmtleVNlYXJjaCgnYmF6JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoZmFsc2UsICRjb2xsZWN0aW9uLT5rZXlTZWFyY2goJ0JhcicpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByZXBhcmVzRnJvbUNvbmZpZygpCiAgICB7CiAgICAgICAgJGMgPSBDb2xsZWN0aW9uOjpmcm9tQ29uZmlnKGFycmF5KAogICAgICAgICAgICAnYScgPT4gJzEyMycsCiAgICAgICAgICAgICdiYXNlX3VybCcgPT4gJ2h0dHA6Ly93d3cudGVzdC5jb20vJwogICAgICAgICksIGFycmF5KAogICAgICAgICAgICAnYScgPT4gJ3h5eicsCiAgICAgICAgICAgICdiJyA9PiAnbG9sJwogICAgICAgICksIGFycmF5KCdhJykpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXENvbW1vblxDb2xsZWN0aW9uJywgJGMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdhJyA9PiAnMTIzJywKICAgICAgICAgICAgJ2InID0+ICdsb2wnLAogICAgICAgICAgICAnYmFzZV91cmwnID0+ICdodHRwOi8vd3d3LnRlc3QuY29tLycKICAgICAgICApLCAkYy0+Z2V0QWxsKCkpOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAkYyA9IENvbGxlY3Rpb246OmZyb21Db25maWcoYXJyYXkoKSwgYXJyYXkoKSwgYXJyYXkoJ2EnKSk7CiAgICAgICAgICAgICR0aGlzLT5mYWlsKCdFeGNlcHRpb24gbm90IHRocm93IHdoZW4gbWlzc2luZyBjb25maWcnKTsKICAgICAgICB9IGNhdGNoIChJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gJGUpIHsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gZmFsc2V5RGF0YVByb3ZpZGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KGZhbHNlLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KG51bGwsIG51bGwpLAogICAgICAgICAgICBhcnJheSgnJywgJycpLAogICAgICAgICAgICBhcnJheShhcnJheSgpLCBhcnJheSgpKSwKICAgICAgICAgICAgYXJyYXkoMCwgMCksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgZmFsc2V5RGF0YVByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc0NvcnJlY3REYXRhKCRhLCAkYikKICAgIHsKICAgICAgICAkYyA9IG5ldyBDb2xsZWN0aW9uKGFycmF5KCd2YWx1ZScgPT4gJGEpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYiwgJGMtPmdldCgndmFsdWUnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXRyaWV2ZXNOZXN0ZWRLZXlzVXNpbmdQYXRoKCkKICAgIHsKICAgICAgICAkZGF0YSA9IGFycmF5KAogICAgICAgICAgICAnZm9vJyA9PiAnYmFyJywKICAgICAgICAgICAgJ2JheicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnbWVzYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2phcicgPT4gJ2phcicKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICk7CiAgICAgICAgJGNvbGxlY3Rpb24gPSBuZXcgQ29sbGVjdGlvbigkZGF0YSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmFyJywgJGNvbGxlY3Rpb24tPmdldFBhdGgoJ2ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdqYXInLCAkY29sbGVjdGlvbi0+Z2V0UGF0aCgnYmF6L21lc2EvamFyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRjb2xsZWN0aW9uLT5nZXRQYXRoKCd3ZXdld2YnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJGNvbGxlY3Rpb24tPmdldFBhdGgoJ2Jhei9tZXNhL2phci9qYXInKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGYWxzZXlLZXlzU3RpbGxEZXNjZW5kKCkKICAgIHsKICAgICAgICAkY29sbGVjdGlvbiA9IG5ldyBDb2xsZWN0aW9uKGFycmF5KAogICAgICAgICAgICAnMCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnYScgPT4gJ2phcicKICAgICAgICAgICAgKSwKICAgICAgICAgICAgMSA9PiAnb3RoZXInCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnamFyJywgJGNvbGxlY3Rpb24tPmdldFBhdGgoJzAvYScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdvdGhlcicsICRjb2xsZWN0aW9uLT5nZXRQYXRoKCcxJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYXRoUHJvdmlkZXIoKQogICAgewogICAgICAgICRkYXRhID0gYXJyYXkoCiAgICAgICAgICAgICdmb28nID0+ICdiYXInLAogICAgICAgICAgICAnYmF6JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdtZXNhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnamFyJyA9PiAnamFyJywKICAgICAgICAgICAgICAgICAgICAnYXJyYXknID0+IGFycmF5KCdhJywgJ2InLCAnYycpCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2JhcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2JheicgPT4gJ2JhbScsCiAgICAgICAgICAgICAgICAgICAgJ2FycmF5JyA9PiBhcnJheSgnZCcsICdlJywgJ2YnKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAogICAgICAgICAgICAnYmFtJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KCdmb28nID0+IDEpLAogICAgICAgICAgICAgICAgYXJyYXkoJ2ZvbycgPT4gMiksCiAgICAgICAgICAgICAgICBhcnJheSgnYXJyYXknID0+IGFycmF5KCdoJywgJ2knKSkKICAgICAgICAgICAgKQogICAgICAgICk7CiAgICAgICAgJGMgPSBuZXcgQ29sbGVjdGlvbigkZGF0YSk7CgogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgLy8gU2ltcGxlIHBhdGggc2VsZWN0b3JzCiAgICAgICAgICAgIGFycmF5KCRjLCAnZm9vJywgJ2JhcicpLAogICAgICAgICAgICBhcnJheSgkYywgJ2JheicsICRkYXRhWydiYXonXSksCiAgICAgICAgICAgIGFycmF5KCRjLCAnYmFtJywgJGRhdGFbJ2JhbSddKSwKICAgICAgICAgICAgYXJyYXkoJGMsICdiYXovbWVzYScsICRkYXRhWydiYXonXVsnbWVzYSddKSwKICAgICAgICAgICAgYXJyYXkoJGMsICdiYXovbWVzYS9qYXInLCAnamFyJyksCiAgICAgICAgICAgIC8vIE1lcmdlIGV2ZXJ5dGhpbmcgdHdvIGxldmVscyB1bmRlciBiYXoKICAgICAgICAgICAgYXJyYXkoJGMsICdiYXovKicsIGFycmF5KAogICAgICAgICAgICAgICAgJ2phcicgPT4gJ2phcicsCiAgICAgICAgICAgICAgICAnYXJyYXknID0+IGFycmF5X21lcmdlKCRkYXRhWydiYXonXVsnbWVzYSddWydhcnJheSddLCAkZGF0YVsnYmF6J11bJ2JhciddWydhcnJheSddKSwKICAgICAgICAgICAgICAgICdiYXonID0+ICdiYW0nCiAgICAgICAgICAgICkpLAogICAgICAgICAgICAvLyBEb2VzIG5vdCBiYXJmIG9uIG1pc3Npbmcga2V5cwogICAgICAgICAgICBhcnJheSgkYywgJ2ZlZndmdycsIG51bGwpLAogICAgICAgICAgICAvLyBEb2VzIG5vdCBiYXJmIHdoZW4gYSB3aWxkY2FyZCBkb2VzIG5vdCByZXNvbHZlIGNvcnJlY3RseQogICAgICAgICAgICBhcnJheSgkYywgJyovKi8qLyovKi93ZWZ3ZmUnLCBhcnJheSgpKSwKICAgICAgICAgICAgLy8gQWxsb3dzIGN1c3RvbSBzZXBhcmF0b3IKICAgICAgICAgICAgYXJyYXkoJGMsICcqfG1lc2EnLCAkZGF0YVsnYmF6J11bJ21lc2EnXSwgJ3wnKSwKICAgICAgICAgICAgLy8gTWVyZ2UgYWxsICdhcnJheScga2V5cyB0d28gbGV2ZWxzIHVuZGVyIGJheiAodGhlIHRyYWlsaW5nICogZG9lcyBub3QgaHVydCB0aGUgcmVzdWx0cykKICAgICAgICAgICAgYXJyYXkoJGMsICdiYXovKi9hcnJheS8qJywgYXJyYXlfbWVyZ2UoJGRhdGFbJ2JheiddWydtZXNhJ11bJ2FycmF5J10sICRkYXRhWydiYXonXVsnYmFyJ11bJ2FycmF5J10pKSwKICAgICAgICAgICAgLy8gTWVyZ2UgYWxsICdhcnJheScga2V5cyB0d28gbGV2ZWxzIHVuZGVyIGJhegogICAgICAgICAgICBhcnJheSgkYywgJ2Jhei8qL2FycmF5JywgYXJyYXlfbWVyZ2UoJGRhdGFbJ2JheiddWydtZXNhJ11bJ2FycmF5J10sICRkYXRhWydiYXonXVsnYmFyJ11bJ2FycmF5J10pKSwKICAgICAgICAgICAgYXJyYXkoJGMsICdiYXovbWVzYS9hcnJheScsICRkYXRhWydiYXonXVsnbWVzYSddWydhcnJheSddKSwKICAgICAgICAgICAgLy8gSGF2aW5nIGEgdHJhaWxpbmcgKiBkb2VzIG5vdCBodXJ0IHRoZSByZXN1bHRzCiAgICAgICAgICAgIGFycmF5KCRjLCAnYmF6L21lc2EvYXJyYXkvKicsICRkYXRhWydiYXonXVsnbWVzYSddWydhcnJheSddKSwKICAgICAgICAgICAgLy8gTWVyZ2Ugb2YgYW55dGhpbmcgb25lIGxldmVsIGRlZXAKICAgICAgICAgICAgYXJyYXkoJGMsICcqJywgYXJyYXlfbWVyZ2UoYXJyYXkoJ2JhcicpLCAkZGF0YVsnYmF6J10sICRkYXRhWydiYW0nXSkpLAogICAgICAgICAgICAvLyBGdW5reSBtZXJnZSBvZiBhbnl0aGluZyB0d28gbGV2ZWxzIGRlZXAKICAgICAgICAgICAgYXJyYXkoJGMsICcqLyonLCBhcnJheSgKICAgICAgICAgICAgICAgICdqYXInID0+ICdqYXInLAogICAgICAgICAgICAgICAgJ2FycmF5JyA9PiBhcnJheSgnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnaCcsICdpJyksCiAgICAgICAgICAgICAgICAnYmF6JyA9PiAnYmFtJywKICAgICAgICAgICAgICAgICdmb28nID0+IGFycmF5KDEsIDIpCiAgICAgICAgICAgICkpLAogICAgICAgICAgICAvLyBGdW5reSBtZXJnZSBvZiBhbGwgJ2FycmF5JyBrZXlzIHRoYXQgYXJlIHR3byBsZXZlbHMgZGVlcAogICAgICAgICAgICBhcnJheSgkYywgJyovKi9hcnJheScsIGFycmF5KCdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicsICdoJywgJ2knKSkKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciBnZXRQYXRoUHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRQYXRoKENvbGxlY3Rpb24gJGMsICRwYXRoLCAkZXhwZWN0ZWQsICRzZXBhcmF0b3IgPSAnLycpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZXhwZWN0ZWQsICRjLT5nZXRQYXRoKCRwYXRoLCAkc2VwYXJhdG9yKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RPdmVycmlkZXNTZXR0aW5ncygpCiAgICB7CiAgICAgICAgJGMgPSBuZXcgQ29sbGVjdGlvbihhcnJheSgnZm9vJyA9PiAxLCAnYmF6JyA9PiAyLCAnYmFyJyA9PiAzKSk7CiAgICAgICAgJGMtPm92ZXJ3cml0ZVdpdGgoYXJyYXkoJ2ZvbycgPT4gMTAsICdiYXInID0+IDMwMCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2ZvbycgPT4gMTAsICdiYXonID0+IDIsICdiYXInID0+IDMwMCksICRjLT5nZXRBbGwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RPdmVyd3JpdGVXaXRoQ29sbGVjdGlvbigpCiAgICB7CiAgICAgICAgJGMgPSBuZXcgQ29sbGVjdGlvbihhcnJheSgnZm9vJyA9PiAxLCAnYmF6JyA9PiAyLCAnYmFyJyA9PiAzKSk7CiAgICAgICAgJGIgPSBuZXcgQ29sbGVjdGlvbihhcnJheSgnZm9vJyA9PiAxMCwgJ2JhcicgPT4gMzAwKSk7CiAgICAgICAgJGMtPm92ZXJ3cml0ZVdpdGgoJGIpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2ZvbycgPT4gMTAsICdiYXonID0+IDIsICdiYXInID0+IDMwMCksICRjLT5nZXRBbGwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RPdmVyd3JpdGVXaXRoVHJhdmVyc2FibGUoKQogICAgewogICAgICAgICRjID0gbmV3IENvbGxlY3Rpb24oYXJyYXkoJ2ZvbycgPT4gMSwgJ2JheicgPT4gMiwgJ2JhcicgPT4gMykpOwogICAgICAgICRiID0gbmV3IENvbGxlY3Rpb24oYXJyYXkoJ2ZvbycgPT4gMTAsICdiYXInID0+IDMwMCkpOwogICAgICAgICRjLT5vdmVyd3JpdGVXaXRoKCRiLT5nZXRJdGVyYXRvcigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmb28nID0+IDEwLCAnYmF6JyA9PiAyLCAnYmFyJyA9PiAzMDApLCAkYy0+Z2V0QWxsKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2V0TmVzdGVkUGF0aFZhbHVlVGhhdERvZXNOb3RFeGlzdCgpCiAgICB7CiAgICAgICAgJGMgPSBuZXcgQ29sbGVjdGlvbihhcnJheSgpKTsKICAgICAgICAkYy0+c2V0UGF0aCgnZm9vL2Jhci9iYXovMTIzJywgJ2hpJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaGknLCAkY1snZm9vJ11bJ2JhciddWydiYXonXVsnMTIzJ10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2V0TmVzdGVkUGF0aFZhbHVlVGhhdEV4aXN0cygpCiAgICB7CiAgICAgICAgJGMgPSBuZXcgQ29sbGVjdGlvbihhcnJheSgnZm9vJyA9PiBhcnJheSgnYmFyJyA9PiAndGVzdCcpKSk7CiAgICAgICAgJGMtPnNldFBhdGgoJ2Zvby9iYXInLCAnaGknKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdoaScsICRjWydmb28nXVsnYmFyJ10pOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmVyaWZpZXNOZXN0ZWRQYXRoSXNWYWxpZEF0RXhhY3RMZXZlbCgpCiAgICB7CiAgICAgICAgJGMgPSBuZXcgQ29sbGVjdGlvbihhcnJheSgnZm9vJyA9PiAnYmFyJykpOwogICAgICAgICRjLT5zZXRQYXRoKCdmb28vYmFyJywgJ2hpJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaGknLCAkY1snZm9vJ11bJ2JhciddKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZlcmlmaWVzVGhhdE5lc3RlZFBhdGhJc1ZhbGlkQXRBbnlMZXZlbCgpCiAgICB7CiAgICAgICAgJGMgPSBuZXcgQ29sbGVjdGlvbihhcnJheSgnZm9vJyA9PiAnYmFyJykpOwogICAgICAgICRjLT5zZXRQYXRoKCdmb28vYmFyL2JheicsICd0ZXN0Jyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Common/EventTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQ29tbW9uOwoKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CgovKioKICogQGNvdmVycyBHdXp6bGVcQ29tbW9uXEV2ZW50CiAqLwpjbGFzcyBFdmVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQHJldHVybiBFdmVudAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldEV2ZW50KCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAndGVzdCcgID0+ICcxMjMnLAogICAgICAgICAgICAnb3RoZXInID0+ICc0NTYnLAogICAgICAgICAgICAnZXZlbnQnID0+ICd0ZXN0Lm5vdGlmeScKICAgICAgICApKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c1BhcmFtZXRlckluamVjdGlvbigpCiAgICB7CiAgICAgICAgJGV2ZW50ID0gbmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAndGVzdCcgPT4gJzEyMycKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAkZXZlbnRbJ3Rlc3QnXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJbXBsZW1lbnRzQXJyYXlBY2Nlc3MoKQogICAgewogICAgICAgICRldmVudCA9ICR0aGlzLT5nZXRFdmVudCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyMycsICRldmVudFsndGVzdCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkZXZlbnRbJ2Zvb2JhciddKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGV2ZW50LT5vZmZzZXRFeGlzdHMoJ3Rlc3QnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRldmVudC0+b2Zmc2V0RXhpc3RzKCdmb29iYXInKSk7CgogICAgICAgIHVuc2V0KCRldmVudFsndGVzdCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGV2ZW50LT5vZmZzZXRFeGlzdHMoJ3Rlc3QnKSk7CgogICAgICAgICRldmVudFsndGVzdCddID0gJ25ldyc7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnbmV3JywgJGV2ZW50Wyd0ZXN0J10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SW1wbGVtZW50c0l0ZXJhdG9yQWdncmVnYXRlKCkKICAgIHsKICAgICAgICAkZXZlbnQgPSAkdGhpcy0+Z2V0RXZlbnQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXJyYXlJdGVyYXRvcicsICRldmVudC0+Z2V0SXRlcmF0b3IoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb252ZXJ0c1RvQXJyYXkoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICd0ZXN0JyAgPT4gJzEyMycsCiAgICAgICAgICAgICdvdGhlcicgPT4gJzQ1NicsCiAgICAgICAgICAgICdldmVudCcgPT4gJ3Rlc3Qubm90aWZ5JwogICAgICAgICksICR0aGlzLT5nZXRFdmVudCgpLT50b0FycmF5KCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/BatchTransferExceptionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQ29tbW9uXEV4Y2VwdGlvbjsKCnVzZSBHdXp6bGVcQmF0Y2hcRXhjZXB0aW9uXEJhdGNoVHJhbnNmZXJFeGNlcHRpb247CgpjbGFzcyBCYXRjaFRyYW5zZmVyRXhjZXB0aW9uVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb250YWluc0JhdGNoKCkKICAgIHsKICAgICAgICAkZSA9IG5ldyBcRXhjZXB0aW9uKCdCYXohJyk7CiAgICAgICAgJHQgPSAkdGhpcy0+Z2V0TW9jaygnR3V6emxlXEJhdGNoXEJhdGNoVHJhbnNmZXJJbnRlcmZhY2UnKTsKICAgICAgICAkZCA9ICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcQmF0Y2hcQmF0Y2hEaXZpc29ySW50ZXJmYWNlJyk7CiAgICAgICAgJHRyYW5zZmVyRXhjZXB0aW9uID0gbmV3IEJhdGNoVHJhbnNmZXJFeGNlcHRpb24oYXJyYXkoJ2ZvbycpLCBhcnJheSgxLCAyKSwgJGUsICR0LCAkZCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnZm9vJyksICR0cmFuc2ZlckV4Y2VwdGlvbi0+Z2V0QmF0Y2goKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHQsICR0cmFuc2ZlckV4Y2VwdGlvbi0+Z2V0VHJhbnNmZXJTdHJhdGVneSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZCwgJHRyYW5zZmVyRXhjZXB0aW9uLT5nZXREaXZpc29yU3RyYXRlZ3koKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGUsICR0cmFuc2ZlckV4Y2VwdGlvbi0+Z2V0UHJldmlvdXMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgxLCAyKSwgJHRyYW5zZmVyRXhjZXB0aW9uLT5nZXRUcmFuc2ZlcnJlZEl0ZW1zKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQ29tbW9uXEV4Y2VwdGlvbjsKCnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxFeGNlcHRpb25Db2xsZWN0aW9uOwoKY2xhc3MgRXhjZXB0aW9uQ29sbGVjdGlvblRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0RXhjZXB0aW9ucygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBuZXcgXEV4Y2VwdGlvbignVGVzdCcpLAogICAgICAgICAgICBuZXcgXEV4Y2VwdGlvbignVGVzdGluZycpCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFnZ3JlZ2F0ZXNFeGNlcHRpb25zKCkKICAgIHsKICAgICAgICAkZSA9IG5ldyBFeGNlcHRpb25Db2xsZWN0aW9uKCk7CiAgICAgICAgJGV4Y2VwdGlvbnMgPSAkdGhpcy0+Z2V0RXhjZXB0aW9ucygpOwogICAgICAgICRlLT5hZGQoJGV4Y2VwdGlvbnNbMF0pOwogICAgICAgICRlLT5hZGQoJGV4Y2VwdGlvbnNbMV0pOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygiKEV4Y2VwdGlvbikgLi90ZXN0cy9HdXp6bGUvVGVzdHMvQ29tbW9uL0V4Y2VwdGlvbi9FeGNlcHRpb25Db2xsZWN0aW9uVGVzdC5waHAgbGluZSAiLCAkZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoIiAgICBUZXN0XG5cbiAgICAjMCAuLyIsICRlLT5nZXRNZXNzYWdlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRleGNlcHRpb25zWzBdLCAkZS0+Z2V0Rmlyc3QoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5TZXRFeGNlcHRpb25zKCkKICAgIHsKICAgICAgICAkZXggPSBuZXcgXEV4Y2VwdGlvbignZm9vJyk7CiAgICAgICAgJGUgPSBuZXcgRXhjZXB0aW9uQ29sbGVjdGlvbigpOwogICAgICAgICRlLT5zZXRFeGNlcHRpb25zKGFycmF5KCRleCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRleCwgJGUtPmdldEZpcnN0KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWN0c0FzQXJyYXkoKQogICAgewogICAgICAgICRlID0gbmV3IEV4Y2VwdGlvbkNvbGxlY3Rpb24oKTsKICAgICAgICAkZXhjZXB0aW9ucyA9ICR0aGlzLT5nZXRFeGNlcHRpb25zKCk7CiAgICAgICAgJGUtPmFkZCgkZXhjZXB0aW9uc1swXSk7CiAgICAgICAgJGUtPmFkZCgkZXhjZXB0aW9uc1sxXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGV4Y2VwdGlvbnMsICRlLT5nZXRJdGVyYXRvcigpLT5nZXRBcnJheUNvcHkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5BZGRTZWxmKCkKICAgIHsKICAgICAgICAkZTEgPSBuZXcgRXhjZXB0aW9uQ29sbGVjdGlvbigpOwogICAgICAgICRlMS0+YWRkKG5ldyBcRXhjZXB0aW9uKCJUZXN0IikpOwogICAgICAgICRlMiA9IG5ldyBFeGNlcHRpb25Db2xsZWN0aW9uKCdNZXRhIGRlc2NyaXB0aW9uIScpOwogICAgICAgICRlMi0+YWRkKG5ldyBcRXhjZXB0aW9uKCJUZXN0IDIiKSk7CiAgICAgICAgJGUzID0gbmV3IEV4Y2VwdGlvbkNvbGxlY3Rpb24oKTsKICAgICAgICAkZTMtPmFkZChuZXcgXEV4Y2VwdGlvbignQmF6JykpOwogICAgICAgICRlMi0+YWRkKCRlMyk7CiAgICAgICAgJGUxLT5hZGQoJGUyKTsKICAgICAgICAkbWVzc2FnZSA9ICRlMS0+Z2V0TWVzc2FnZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygiKEV4Y2VwdGlvbikgLi90ZXN0cy9HdXp6bGUvVGVzdHMvQ29tbW9uL0V4Y2VwdGlvbi9FeGNlcHRpb25Db2xsZWN0aW9uVGVzdC5waHAgbGluZSAiLCAkbWVzc2FnZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCJcbiAgICBUZXN0XG5cbiAgICAjMCAiLCAkbWVzc2FnZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCJcblxuKEd1enpsZVxcQ29tbW9uXFxFeGNlcHRpb25cXEV4Y2VwdGlvbkNvbGxlY3Rpb24pIC4vdGVzdHMvR3V6emxlL1Rlc3RzL0NvbW1vbi9FeGNlcHRpb24vRXhjZXB0aW9uQ29sbGVjdGlvblRlc3QucGhwIGxpbmUgIiwgJG1lc3NhZ2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygiXG5cbiAgICBNZXRhIGRlc2NyaXB0aW9uIVxuXG4iLCAkbWVzc2FnZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCIgICAgKEV4Y2VwdGlvbikgLi90ZXN0cy9HdXp6bGUvVGVzdHMvQ29tbW9uL0V4Y2VwdGlvbi9FeGNlcHRpb25Db2xsZWN0aW9uVGVzdC5waHAgbGluZSAiLCAkbWVzc2FnZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCJcbiAgICAgICAgVGVzdCAyXG5cbiAgICAgICAgIzAgIiwgJG1lc3NhZ2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygiICAgICAgICAoRXhjZXB0aW9uKSAuL3Rlc3RzL0d1enpsZS9UZXN0cy9Db21tb24vRXhjZXB0aW9uL0V4Y2VwdGlvbkNvbGxlY3Rpb25UZXN0LnBocCBsaW5lICIsICRtZXNzYWdlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoIiAgICAgICAgICAgIEJhelxuXG4gICAgICAgICAgICAjMCIsICRtZXNzYWdlKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Common/VersionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcQ29tbW9uOwoKdXNlIEd1enpsZVxDb21tb25cVmVyc2lvbjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxDb21tb25cVmVyc2lvbgogKi8KY2xhc3MgVmVyc2lvblRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxQSFBVbml0X0ZyYW1ld29ya19FcnJvcl9EZXByZWNhdGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW1pdHNXYXJuaW5ncygpCiAgICB7CiAgICAgICAgVmVyc2lvbjo6JGVtaXRXYXJuaW5ncyA9IHRydWU7CiAgICAgICAgVmVyc2lvbjo6d2FybigndGVzdGluZyEnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNpbGVuY2VXYXJuaW5ncygpCiAgICB7CiAgICAgICAgVmVyc2lvbjo6JGVtaXRXYXJuaW5ncyA9IGZhbHNlOwogICAgICAgIFZlcnNpb246Ondhcm4oJ3Rlc3RpbmchJyk7CiAgICAgICAgVmVyc2lvbjo6JGVtaXRXYXJuaW5ncyA9IHRydWU7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/GuzzleTestCase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHM7Cgp1c2UgR3V6emxlXENvbW1vblxIYXNEaXNwYXRjaGVySW50ZXJmYWNlOwp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcVGVzdHNcSHR0cFxNZXNzYWdlXEhlYWRlckNvbXBhcmlzb247CnVzZSBHdXp6bGVcUGx1Z2luXE1vY2tcTW9ja1BsdWdpbjsKdXNlIEd1enpsZVxTZXJ2aWNlXENsaWVudDsKdXNlIEd1enpsZVxTZXJ2aWNlXEJ1aWxkZXJcU2VydmljZUJ1aWxkZXJJbnRlcmZhY2U7CnVzZSBHdXp6bGVcU2VydmljZVxCdWlsZGVyXFNlcnZpY2VCdWlsZGVyOwp1c2UgR3V6emxlXFRlc3RzXE1vY2tcTW9ja09ic2VydmVyOwp1c2UgR3V6emxlXFRlc3RzXEh0dHBcU2VydmVyOwp1c2UgUnVudGltZUV4Y2VwdGlvbjsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CgovKioKICogQmFzZSB0ZXN0Y2FzZSBjbGFzcyBmb3IgYWxsIEd1enpsZSB0ZXN0Y2FzZXMuCiAqLwphYnN0cmFjdCBjbGFzcyBHdXp6bGVUZXN0Q2FzZSBleHRlbmRzIFxQSFBVbml0X0ZyYW1ld29ya19UZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgc3RhdGljICRtb2NrQmFzZVBhdGg7CiAgICBwdWJsaWMgc3RhdGljICRzZXJ2aWNlQnVpbGRlcjsKICAgIHB1YmxpYyBzdGF0aWMgJHNlcnZlcjsKCiAgICBwcml2YXRlICRyZXF1ZXN0cyA9IGFycmF5KCk7CiAgICBwdWJsaWMgJG1vY2tPYnNlcnZlcjsKCiAgICAvKioKICAgICAqIEdldCB0aGUgZ2xvYmFsIHNlcnZlciBvYmplY3QgdXNlZCB0aHJvdWdob3V0IHRoZSB1bml0IHRlc3RzIG9mIEd1enpsZQogICAgICoKICAgICAqIEByZXR1cm4gU2VydmVyCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmVyKCkKICAgIHsKICAgICAgICBpZiAoIXNlbGY6OiRzZXJ2ZXIpIHsKICAgICAgICAgICAgc2VsZjo6JHNlcnZlciA9IG5ldyBTZXJ2ZXIoKTsKICAgICAgICAgICAgaWYgKHNlbGY6OiRzZXJ2ZXItPmlzUnVubmluZygpKSB7CiAgICAgICAgICAgICAgICBzZWxmOjokc2VydmVyLT5mbHVzaCgpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgc2VsZjo6JHNlcnZlci0+c3RhcnQoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHNlbGY6OiRzZXJ2ZXI7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHNlcnZpY2UgYnVpbGRlciB0byB1c2UgZm9yIHRlc3RzCiAgICAgKgogICAgICogQHBhcmFtIFNlcnZpY2VCdWlsZGVySW50ZXJmYWNlICRidWlsZGVyIFNlcnZpY2UgYnVpbGRlcgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNldFNlcnZpY2VCdWlsZGVyKFNlcnZpY2VCdWlsZGVySW50ZXJmYWNlICRidWlsZGVyKQogICAgewogICAgICAgIHNlbGY6OiRzZXJ2aWNlQnVpbGRlciA9ICRidWlsZGVyOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGEgc2VydmljZSBidWlsZGVyIG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIHRocm91Z2hvdXQgdGhlIHNlcnZpY2UgdGVzdHMKICAgICAqCiAgICAgKiBAcmV0dXJuIFNlcnZpY2VCdWlsZGVyCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U2VydmljZUJ1aWxkZXIoKQogICAgewogICAgICAgIGlmICghc2VsZjo6JHNlcnZpY2VCdWlsZGVyKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKCdObyBzZXJ2aWNlIGJ1aWxkZXIgaGFzIGJlZW4gc2V0IHZpYSBzZXRTZXJ2aWNlQnVpbGRlcigpJyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gc2VsZjo6JHNlcnZpY2VCdWlsZGVyOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgYW4gZXZlbnQgZGlzcGF0Y2hlciBoYXMgYSBzdWJzY3JpYmVyCiAgICAgKgogICAgICogQHBhcmFtIEhhc0Rpc3BhdGNoZXJJbnRlcmZhY2UgJGRpc3BhdGNoZXIKICAgICAqIEBwYXJhbSBFdmVudFN1YnNjcmliZXJJbnRlcmZhY2UgJHN1YnNjcmliZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGhhc1N1YnNjcmliZXIoSGFzRGlzcGF0Y2hlckludGVyZmFjZSAkZGlzcGF0Y2hlciwgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlICRzdWJzY3JpYmVyKQogICAgewogICAgICAgICRjbGFzcyA9IGdldF9jbGFzcygkc3Vic2NyaWJlcik7CiAgICAgICAgJGFsbCA9IGFycmF5X2tleXMoY2FsbF91c2VyX2Z1bmMoYXJyYXkoJGNsYXNzLCAnZ2V0U3Vic2NyaWJlZEV2ZW50cycpKSk7CgogICAgICAgIGZvcmVhY2ggKCRhbGwgYXMgJGkgPT4gJGV2ZW50KSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCRkaXNwYXRjaGVyLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+Z2V0TGlzdGVuZXJzKCRldmVudCkgYXMgJGUpIHsKICAgICAgICAgICAgICAgIGlmICgkZVswXSA9PT0gJHN1YnNjcmliZXIpIHsKICAgICAgICAgICAgICAgICAgICB1bnNldCgkYWxsWyRpXSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBjb3VudCgkYWxsKSA9PSAwOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGEgd2lsZGNhcmQgb2JzZXJ2ZXIgZm9yIGFuIGV2ZW50IGRpc3BhdGNoZXIKICAgICAqCiAgICAgKiBAcGFyYW0gSGFzRGlzcGF0Y2hlckludGVyZmFjZSAkaGFzRXZlbnQKICAgICAqCiAgICAgKiBAcmV0dXJuIE1vY2tPYnNlcnZlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0V2lsZGNhcmRPYnNlcnZlcihIYXNEaXNwYXRjaGVySW50ZXJmYWNlICRoYXNEaXNwYXRjaGVyKQogICAgewogICAgICAgICRjbGFzcyA9IGdldF9jbGFzcygkaGFzRGlzcGF0Y2hlcik7CiAgICAgICAgJG8gPSBuZXcgTW9ja09ic2VydmVyKCk7CiAgICAgICAgJGV2ZW50cyA9IGNhbGxfdXNlcl9mdW5jKGFycmF5KCRjbGFzcywgJ2dldEFsbEV2ZW50cycpKTsKICAgICAgICBmb3JlYWNoICgkZXZlbnRzIGFzICRldmVudCkgewogICAgICAgICAgICAkaGFzRGlzcGF0Y2hlci0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCRldmVudCwgYXJyYXkoJG8sICd1cGRhdGUnKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJG87CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIG1vY2sgcmVzcG9uc2UgYmFzZSBwYXRoCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcGF0aCBQYXRoIHRvIG1vY2sgcmVzcG9uc2UgZm9sZGVyCiAgICAgKgogICAgICogQHJldHVybiBHdXp6bGVUZXN0Q2FzZQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNldE1vY2tCYXNlUGF0aCgkcGF0aCkKICAgIHsKICAgICAgICBzZWxmOjokbW9ja0Jhc2VQYXRoID0gJHBhdGg7CiAgICB9CgogICAgLyoqCiAgICAgKiBNYXJrIGEgcmVxdWVzdCBhcyBiZWluZyBtb2NrZWQKICAgICAqCiAgICAgKiBAcGFyYW0gUmVxdWVzdEludGVyZmFjZSAkcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gc2VsZgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkTW9ja2VkUmVxdWVzdChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgICR0aGlzLT5yZXF1ZXN0c1tdID0gJHJlcXVlc3Q7CgogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbGwgb2YgdGhlIG1vY2tlZCByZXF1ZXN0cwogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE1vY2tlZFJlcXVlc3RzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlcXVlc3RzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGEgbW9jayByZXNwb25zZSBmb3IgYSBjbGllbnQgYnkgbW9jayBmaWxlIG5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXRoIFJlbGF0aXZlIHBhdGggdG8gdGhlIG1vY2sgcmVzcG9uc2UgZmlsZQogICAgICoKICAgICAqIEByZXR1cm4gUmVzcG9uc2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE1vY2tSZXNwb25zZSgkcGF0aCkKICAgIHsKICAgICAgICByZXR1cm4gJHBhdGggaW5zdGFuY2VvZiBSZXNwb25zZQogICAgICAgICAgICA/ICRwYXRoCiAgICAgICAgICAgIDogTW9ja1BsdWdpbjo6Z2V0TW9ja0ZpbGUoc2VsZjo6JG1vY2tCYXNlUGF0aCAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkcGF0aCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgYSBtb2NrIHJlc3BvbnNlIGZyb20gYSBtb2NrIGZpbGUgb24gdGhlIG5leHQgY2xpZW50IHJlcXVlc3QuCiAgICAgKgogICAgICogVGhpcyBtZXRob2QgYXNzdW1lcyB0aGF0IG1vY2sgcmVzcG9uc2UgZmlsZXMgYXJlIGxvY2F0ZWQgdW5kZXIgdGhlCiAgICAgKiBDb21tYW5kL01vY2svIGRpcmVjdG9yeSBvZiB0aGUgU2VydmljZSBiZWluZyB0ZXN0ZWQKICAgICAqIChlLmcuIFVuZnVkZGxlL0NvbW1hbmQvTW9jay8pLiAgQSBtb2NrIHJlc3BvbnNlIGlzIGFkZGVkIHRvIHRoZSBuZXh0CiAgICAgKiByZXF1ZXN0IHNlbnQgYnkgdGhlIGNsaWVudC4KICAgICAqCiAgICAgKiBAcGFyYW0gQ2xpZW50ICRjbGllbnQgQ2xpZW50IG9iamVjdCB0byBtb2RpZnkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdGhzICBQYXRoIHRvIGZpbGVzIHdpdGhpbiB0aGUgTW9jayBmb2xkZXIgb2YgdGhlIHNlcnZpY2UKICAgICAqCiAgICAgKiBAcmV0dXJuIE1vY2tQbHVnaW4gcmV0dXJucyB0aGUgY3JlYXRlZCBtb2NrIHBsdWdpbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0TW9ja1Jlc3BvbnNlKENsaWVudCAkY2xpZW50LCAkcGF0aHMpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlcXVlc3RzID0gYXJyYXkoKTsKICAgICAgICAkdGhhdCA9ICR0aGlzOwogICAgICAgICRtb2NrID0gbmV3IE1vY2tQbHVnaW4obnVsbCwgdHJ1ZSk7CiAgICAgICAgJGNsaWVudC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPnJlbW92ZVN1YnNjcmliZXIoJG1vY2spOwogICAgICAgICRtb2NrLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ21vY2sucmVxdWVzdCcsIGZ1bmN0aW9uKEV2ZW50ICRldmVudCkgdXNlICgkdGhhdCkgewogICAgICAgICAgICAkdGhhdC0+YWRkTW9ja2VkUmVxdWVzdCgkZXZlbnRbJ3JlcXVlc3QnXSk7CiAgICAgICAgfSk7CgogICAgICAgIGlmICgkcGF0aHMgaW5zdGFuY2VvZiBSZXNwb25zZSkgewogICAgICAgICAgICAvLyBBIHNpbmdsZSByZXNwb25zZSBpbnN0YW5jZSBoYXMgYmVlbiBzcGVjaWZpZWQsIGNyZWF0ZSBhbiBhcnJheSB3aXRoIHRoYXQgaW5zdGFuY2UKICAgICAgICAgICAgLy8gYXMgdGhlIG9ubHkgZWxlbWVudCBmb3IgdGhlIGZvbGxvd2luZyBsb29wIHRvIHdvcmsgYXMgZXhwZWN0ZWQKICAgICAgICAgICAgJHBhdGhzID0gYXJyYXkoJHBhdGhzKTsKICAgICAgICB9CgogICAgICAgIGZvcmVhY2ggKChhcnJheSkgJHBhdGhzIGFzICRwYXRoKSB7CiAgICAgICAgICAgICRtb2NrLT5hZGRSZXNwb25zZSgkdGhpcy0+Z2V0TW9ja1Jlc3BvbnNlKCRwYXRoKSk7CiAgICAgICAgfQoKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkU3Vic2NyaWJlcigkbW9jayk7CgogICAgICAgIHJldHVybiAkbW9jazsKICAgIH0KCiAgICAvKioKICAgICAqIENvbXBhcmUgSFRUUCBoZWFkZXJzIGFuZCB1c2Ugc3BlY2lhbCBtYXJrdXAgdG8gZmlsdGVyIHZhbHVlcwogICAgICogQSBoZWFkZXIgcHJlZml4ZWQgd2l0aCAnIScgbWVhbnMgaXQgbXVzdCBub3QgZXhpc3QKICAgICAqIEEgaGVhZGVyIHByZWZpeGVkIHdpdGggJ18nIG1lYW5zIGl0IG11c3QgYmUgaWdub3JlZAogICAgICogQSBoZWFkZXIgdmFsdWUgb2YgJyonIG1lYW5zIGFueXRoaW5nIGFmdGVyIHRoZSAqIHdpbGwgYmUgaWdub3JlZAogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkZmlsdGVyZWRIZWFkZXJzIEFycmF5IG9mIHNwZWNpYWwgaGVhZGVycwogICAgICogQHBhcmFtIGFycmF5ICRhY3R1YWxIZWFkZXJzIEFycmF5IG9mIGhlYWRlcnMgdG8gY2hlY2sgYWdhaW5zdAogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXl8Ym9vbCBSZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBkaWZmZXJlbmNlcyBvciBGQUxTRSBpZiBub25lCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb21wYXJlSGVhZGVycygkZmlsdGVyZWRIZWFkZXJzLCAkYWN0dWFsSGVhZGVycykKICAgIHsKICAgICAgICAkY29tcGFyaXNvbiA9IG5ldyBIZWFkZXJDb21wYXJpc29uKCk7CgogICAgICAgIHJldHVybiAkY29tcGFyaXNvbi0+Y29tcGFyZSgkZmlsdGVyZWRIZWFkZXJzLCAkYWN0dWFsSGVhZGVycyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDYXNlIGluc2Vuc2l0aXZlIGFzc2VydENvbnRhaW5zCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbmVlZGxlIFNlYXJjaCBzdHJpbmcKICAgICAqIEBwYXJhbSBzdHJpbmcgJGhheXN0YWNrIFNlYXJjaCB0aGlzCiAgICAgKiBAcGFyYW0gc3RyaW5nICRtZXNzYWdlIE9wdGlvbmFsIGZhaWx1cmUgbWVzc2FnZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYXNzZXJ0Q29udGFpbnNJbnMoJG5lZWRsZSwgJGhheXN0YWNrLCAkbWVzc2FnZSA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKHN0cnRvbG93ZXIoJG5lZWRsZSksIHN0cnRvbG93ZXIoJGhheXN0YWNrKSwgJG1lc3NhZ2UpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/AbstractEntityBodyDecoratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cDsKCnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5OwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXEh0dHBcQWJzdHJhY3RFbnRpdHlCb2R5RGVjb3JhdG9yCiAqLwpjbGFzcyBBYnN0cmFjdEVudGl0eUJvZHlEZWNvcmF0b3JUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlY29yYXRlc0VudGl0eUJvZHkoKQogICAgewogICAgICAgICRlID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgpOwogICAgICAgICRtb2NrID0gJHRoaXMtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCdHdXp6bGVcSHR0cFxBYnN0cmFjdEVudGl0eUJvZHlEZWNvcmF0b3InLCBhcnJheSgkZSkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZS0+Z2V0U3RyZWFtKCksICRtb2NrLT5nZXRTdHJlYW0oKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGUtPmdldENvbnRlbnRMZW5ndGgoKSwgJG1vY2stPmdldENvbnRlbnRMZW5ndGgoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGUtPmdldFNpemUoKSwgJG1vY2stPmdldFNpemUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGUtPmdldENvbnRlbnRNZDUoKSwgJG1vY2stPmdldENvbnRlbnRNZDUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGUtPmdldENvbnRlbnRUeXBlKCksICRtb2NrLT5nZXRDb250ZW50VHlwZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZS0+X190b1N0cmluZygpLCAkbW9jay0+X190b1N0cmluZygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZS0+Z2V0VXJpKCksICRtb2NrLT5nZXRVcmkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGUtPmdldFN0cmVhbVR5cGUoKSwgJG1vY2stPmdldFN0cmVhbVR5cGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGUtPmdldFdyYXBwZXIoKSwgJG1vY2stPmdldFdyYXBwZXIoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGUtPmdldFdyYXBwZXJEYXRhKCksICRtb2NrLT5nZXRXcmFwcGVyRGF0YSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZS0+aXNSZWFkYWJsZSgpLCAkbW9jay0+aXNSZWFkYWJsZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZS0+aXNXcml0YWJsZSgpLCAkbW9jay0+aXNXcml0YWJsZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZS0+aXNDb25zdW1lZCgpLCAkbW9jay0+aXNDb25zdW1lZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZS0+aXNMb2NhbCgpLCAkbW9jay0+aXNMb2NhbCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZS0+aXNTZWVrYWJsZSgpLCAkbW9jay0+aXNTZWVrYWJsZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZS0+Z2V0Q29udGVudEVuY29kaW5nKCksICRtb2NrLT5nZXRDb250ZW50RW5jb2RpbmcoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/CachingEntityBodyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cDsKCnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5Owp1c2UgR3V6emxlXEh0dHBcQ2FjaGluZ0VudGl0eUJvZHk7CgovKioKICogQGNvdmVycyBHdXp6bGVcSHR0cFxDYWNoaW5nRW50aXR5Qm9keQogKi8KY2xhc3MgQ2FjaGluZ0VudGl0eUJvZHlUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKiogQHZhciBDYWNoaW5nRW50aXR5Qm9keSAqLwogICAgcHJvdGVjdGVkICRib2R5OwoKICAgIC8qKiBAdmFyIEVudGl0eUJvZHkgKi8KICAgIHByb3RlY3RlZCAkZGVjb3JhdGVkOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmRlY29yYXRlZCA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJ3Rlc3RpbmcnKTsKICAgICAgICAkdGhpcy0+Ym9keSA9IG5ldyBDYWNoaW5nRW50aXR5Qm9keSgkdGhpcy0+ZGVjb3JhdGVkKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVzZXNSZW1vdGVTaXplSWZQb3NzaWJsZSgpCiAgICB7CiAgICAgICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KCd0ZXN0Jyk7CiAgICAgICAgJGNhY2hpbmcgPSBuZXcgQ2FjaGluZ0VudGl0eUJvZHkoJGJvZHkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNCwgJGNhY2hpbmctPmdldFNpemUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg0LCAkY2FjaGluZy0+Z2V0Q29udGVudExlbmd0aCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBkb2VzIG5vdCBzdXBwb3J0IGN1c3RvbSBzdHJlYW0gcmV3aW5kCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc05vdEFsbG93UmV3aW5kRnVuY3Rpb24oKQogICAgewogICAgICAgICR0aGlzLT5ib2R5LT5zZXRSZXdpbmRGdW5jdGlvbih0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBDYW5ub3Qgc2VlayB0byBieXRlIDEwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2Fubm90U2Vla1Bhc3RXaGF0SGFzQmVlblJlYWQoKQogICAgewogICAgICAgICR0aGlzLT5ib2R5LT5zZWVrKDEwKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBzdXBwb3J0cyBvbmx5IFNFRUtfU0VUIGFuZCBTRUVLX0NVUgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbm5vdFVzZVNlZWtFbmQoKQogICAgewogICAgICAgICR0aGlzLT5ib2R5LT5zZWVrKDIsIFNFRUtfRU5EKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENoYW5naW5nVW5kZXJseWluZ1N0cmVhbVVwZGF0ZXNTaXplQW5kU3RyZWFtKCkKICAgIHsKICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKF9fRklMRV9fKTsKICAgICAgICAkcyA9IGZvcGVuKF9fRklMRV9fLCAncicpOwogICAgICAgICR0aGlzLT5ib2R5LT5zZXRTdHJlYW0oJHMsICRzaXplKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRzaXplLCAkdGhpcy0+Ym9keS0+Z2V0U2l6ZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRzaXplLCAkdGhpcy0+ZGVjb3JhdGVkLT5nZXRTaXplKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRzLCAkdGhpcy0+Ym9keS0+Z2V0U3RyZWFtKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRzLCAkdGhpcy0+ZGVjb3JhdGVkLT5nZXRTdHJlYW0oKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXdpbmRVc2VzU2VlaygpCiAgICB7CiAgICAgICAgJGEgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KCdmb28nKTsKICAgICAgICAkZCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXEh0dHBcQ2FjaGluZ0VudGl0eUJvZHknKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ3NlZWsnKSkKICAgICAgICAgICAgLT5zZXRDb25zdHJ1Y3RvckFyZ3MoYXJyYXkoJGEpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkZC0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnc2VlaycpCiAgICAgICAgICAgIC0+d2l0aCgwKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKHRydWUpKTsKICAgICAgICAkZC0+cmV3aW5kKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5TZWVrVG9SZWFkQnl0ZXMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3RlJywgJHRoaXMtPmJvZHktPnJlYWQoMikpOwogICAgICAgICR0aGlzLT5ib2R5LT5zZWVrKDApOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3QnLCAkdGhpcy0+Ym9keS0+cmVhZCg0KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg0LCAkdGhpcy0+Ym9keS0+ZnRlbGwoKSk7CiAgICAgICAgJHRoaXMtPmJvZHktPnNlZWsoMik7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCAkdGhpcy0+Ym9keS0+ZnRlbGwoKSk7CiAgICAgICAgJHRoaXMtPmJvZHktPnNlZWsoMiwgU0VFS19DVVIpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNCwgJHRoaXMtPmJvZHktPmZ0ZWxsKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2luZycsICR0aGlzLT5ib2R5LT5yZWFkKDMpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFdyaXRlc1RvQnVmZmVyU3RyZWFtKCkKICAgIHsKICAgICAgICAkdGhpcy0+Ym9keS0+cmVhZCgyKTsKICAgICAgICAkdGhpcy0+Ym9keS0+d3JpdGUoJ2hpJyk7CiAgICAgICAgJHRoaXMtPmJvZHktPnJld2luZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3RlaGlpbmcnLCAoc3RyaW5nKSAkdGhpcy0+Ym9keSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZWFkTGluZXNGcm9tQm90aFN0cmVhbXMoKQogICAgewogICAgICAgICR0aGlzLT5ib2R5LT5zZWVrKCR0aGlzLT5ib2R5LT5mdGVsbCgpKTsKICAgICAgICAkdGhpcy0+Ym9keS0+d3JpdGUoInRlc3RcbjEyM1xuaGVsbG9cbjEyMzQ1Njc4OTBcbiIpOwogICAgICAgICR0aGlzLT5ib2R5LT5yZXdpbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCJ0ZXN0XG4iLCAkdGhpcy0+Ym9keS0+cmVhZExpbmUoNykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoIjEyM1xuIiwgJHRoaXMtPmJvZHktPnJlYWRMaW5lKDcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCJoZWxsb1xuIiwgJHRoaXMtPmJvZHktPnJlYWRMaW5lKDcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCIxMjM0NTYiLCAkdGhpcy0+Ym9keS0+cmVhZExpbmUoNykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoIjc4OTBcbiIsICR0aGlzLT5ib2R5LT5yZWFkTGluZSg3KSk7CiAgICAgICAgLy8gV2Ugb3Zlcndyb3RlIHRoZSBkZWNvcmF0ZWQgc3RyZWFtLCBzbyBubyBtb3JlIGRhdGEKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcnLCAkdGhpcy0+Ym9keS0+cmVhZExpbmUoNykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2tpcHNPdmVyd3JpdHRlbkJ5dGVzKCkKICAgIHsKICAgICAgICAkZGVjb3JhdGVkID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgKICAgICAgICAgICAgaW1wbG9kZSgiXG4iLCBhcnJheV9tYXAoZnVuY3Rpb24gKCRuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gc3RyX3BhZCgkbiwgNCwgJzAnLCBTVFJfUEFEX0xFRlQpOwogICAgICAgICAgICB9LCByYW5nZSgwLCAyNSkpKQogICAgICAgICk7CgogICAgICAgICRib2R5ID0gbmV3IENhY2hpbmdFbnRpdHlCb2R5KCRkZWNvcmF0ZWQpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCIwMDAwXG4iLCAkYm9keS0+cmVhZExpbmUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygiMDAwMVxuIiwgJGJvZHktPnJlYWRMaW5lKCkpOwogICAgICAgIC8vIFdyaXRlIG92ZXIgcGFydCBvZiB0aGUgYm9keSB5ZXQgdG8gYmUgcmVhZCwgc28gc2tpcCBzb21lIGJ5dGVzCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg1LCAkYm9keS0+d3JpdGUoIlRFU1RcbiIpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDUsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRib2R5LCAnc2tpcFJlYWRCeXRlcycpKTsKICAgICAgICAvLyBSZWFkLCB3aGljaCBza2lwcyBieXRlcywgdGhlbiByZWFkcwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoIjAwMDNcbiIsICRib2R5LT5yZWFkTGluZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRib2R5LCAnc2tpcFJlYWRCeXRlcycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCIwMDA0XG4iLCAkYm9keS0+cmVhZExpbmUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygiMDAwNVxuIiwgJGJvZHktPnJlYWRMaW5lKCkpOwoKICAgICAgICAvLyBPdmVyd3JpdGUgcGFydCBvZiB0aGUgY2FjaGVkIGJvZHkgKHNvIGRvbid0IHNraXAgYW55IGJ5dGVzKQogICAgICAgICRib2R5LT5zZWVrKDUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNSwgJGJvZHktPndyaXRlKCJBQkNEXG4iKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkYm9keSwgJ3NraXBSZWFkQnl0ZXMnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygiVEVTVFxuIiwgJGJvZHktPnJlYWRMaW5lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoIjAwMDNcbiIsICRib2R5LT5yZWFkTGluZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCIwMDA0XG4iLCAkYm9keS0+cmVhZExpbmUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygiMDAwNVxuIiwgJGJvZHktPnJlYWRMaW5lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoIjAwMDZcbiIsICRib2R5LT5yZWFkTGluZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDUsICRib2R5LT53cml0ZSgiMTIzNFxuIikpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNSwgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGJvZHksICdza2lwUmVhZEJ5dGVzJykpOwoKICAgICAgICAvLyBTZWVrIHRvIDAgYW5kIGVuc3VyZSB0aGUgb3ZlcndyaXR0ZW4gYml0IGlzIHJlcGxhY2VkCiAgICAgICAgJGJvZHktPnJld2luZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoIjAwMDBcbkFCQ0RcblRFU1RcbjAwMDNcbjAwMDRcbjAwMDVcbjAwMDZcbjEyMzRcbjAwMDhcbjAwMDlcbiIsICRib2R5LT5yZWFkKDUwKSk7CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IGNhc3RpbmcgaXQgdG8gYSBzdHJpbmcgZG9lcyBub3QgaW5jbHVkZSB0aGUgYml0IHRoYXQgd2FzIG92ZXJ3cml0dGVuCiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCIwMDAwXG5BQkNEXG5URVNUXG4wMDAzXG4wMDA0XG4wMDA1XG4wMDA2XG4xMjM0XG4wMDA4XG4wMDA5XG4iLCAoc3RyaW5nKSAkYm9keSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RXcmFwc0NvbnRlbnRUeXBlKCkKICAgIHsKICAgICAgICAkYSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXEh0dHBcRW50aXR5Qm9keScpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZ2V0Q29udGVudFR5cGUnKSkKICAgICAgICAgICAgLT5zZXRDb25zdHJ1Y3RvckFyZ3MoYXJyYXkoZm9wZW4oX19GSUxFX18sICdyJykpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkYS0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0Q29udGVudFR5cGUnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCdmb28nKSk7CiAgICAgICAgJGQgPSBuZXcgQ2FjaGluZ0VudGl0eUJvZHkoJGEpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICRkLT5nZXRDb250ZW50VHlwZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFdyYXBzQ29udGVudEVuY29kaW5nKCkKICAgIHsKICAgICAgICAkYSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXEh0dHBcRW50aXR5Qm9keScpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZ2V0Q29udGVudEVuY29kaW5nJykpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KGZvcGVuKF9fRklMRV9fLCAncicpKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJGEtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldENvbnRlbnRFbmNvZGluZycpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJ2ZvbycpKTsKICAgICAgICAkZCA9IG5ldyBDYWNoaW5nRW50aXR5Qm9keSgkYSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJGQtPmdldENvbnRlbnRFbmNvZGluZygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFdyYXBzTWV0YWRhdGEoKQogICAgewogICAgICAgICRhID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcSHR0cFxFbnRpdHlCb2R5JykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdnZXRNZXRhZGF0YScsICdnZXRXcmFwcGVyJywgJ2dldFdyYXBwZXJEYXRhJywgJ2dldFN0cmVhbVR5cGUnLCAnZ2V0VXJpJykpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KGZvcGVuKF9fRklMRV9fLCAncicpKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CgogICAgICAgICRhLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRNZXRhZGF0YScpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoYXJyYXkoKSkpOwogICAgICAgIC8vIENhbGxlZCB0d2ljZSBmb3IgZ2V0V3JhcHBlciBhbmQgZ2V0V3JhcHBlckRhdGEKICAgICAgICAkYS0+ZXhwZWN0cygkdGhpcy0+ZXhhY3RseSgxKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldFdyYXBwZXInKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCd3cmFwcGVyJykpOwogICAgICAgICRhLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRXcmFwcGVyRGF0YScpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoYXJyYXkoKSkpOwogICAgICAgICRhLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRTdHJlYW1UeXBlJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgnYmF6JykpOwogICAgICAgICRhLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRVcmknKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCdwYXRoL3RvL2ZvbycpKTsKCiAgICAgICAgJGQgPSBuZXcgQ2FjaGluZ0VudGl0eUJvZHkoJGEpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoKSwgJGQtPmdldE1ldGFEYXRhKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3dyYXBwZXInLCAkZC0+Z2V0V3JhcHBlcigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCksICRkLT5nZXRXcmFwcGVyRGF0YSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXonLCAkZC0+Z2V0U3RyZWFtVHlwZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdwYXRoL3RvL2ZvbycsICRkLT5nZXRVcmkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RXcmFwc0N1c3RvbURhdGEoKQogICAgewogICAgICAgICRhID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcSHR0cFxFbnRpdHlCb2R5JykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdnZXRDdXN0b21EYXRhJywgJ3NldEN1c3RvbURhdGEnKSkKICAgICAgICAgICAgLT5zZXRDb25zdHJ1Y3RvckFyZ3MoYXJyYXkoZm9wZW4oX19GSUxFX18sICdyJykpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJGEtPmV4cGVjdHMoJHRoaXMtPmV4YWN0bHkoMSkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRDdXN0b21EYXRhJykKICAgICAgICAgICAgLT53aXRoKCdmb28nKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCdiYXInKSk7CgogICAgICAgICRhLT5leHBlY3RzKCR0aGlzLT5leGFjdGx5KDEpKQogICAgICAgICAgICAtPm1ldGhvZCgnc2V0Q3VzdG9tRGF0YScpCiAgICAgICAgICAgIC0+d2l0aCgnZm9vJywgJ2JhcicpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuU2VsZigpKTsKCiAgICAgICAgJGQgPSBuZXcgQ2FjaGluZ0VudGl0eUJvZHkoJGEpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRkLCAkZC0+c2V0Q3VzdG9tRGF0YSgnZm9vJywgJ2JhcicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXInLCAkZC0+Z2V0Q3VzdG9tRGF0YSgnZm9vJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2xvc2VzQm90aFN0cmVhbXMoKQogICAgewogICAgICAgICRzID0gZm9wZW4oJ3BocDovL3RlbXAnLCAncicpOwogICAgICAgICRhID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgkcyk7CiAgICAgICAgJGQgPSBuZXcgQ2FjaGluZ0VudGl0eUJvZHkoJGEpOwogICAgICAgICRkLT5jbG9zZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZShpc19yZXNvdXJjZSgkcykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/ClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cDsKCnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcTG9nXENsb3N1cmVMb2dBZGFwdGVyOwp1c2UgR3V6emxlXFBhcnNlclxVcmlUZW1wbGF0ZVxVcmlUZW1wbGF0ZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcUGx1Z2luXExvZ1xMb2dQbHVnaW47CnVzZSBHdXp6bGVcUGx1Z2luXE1vY2tcTW9ja1BsdWdpbjsKdXNlIEd1enpsZVxIdHRwXEN1cmxcQ3VybE11bHRpOwp1c2UgR3V6emxlXEh0dHBcQ2xpZW50Owp1c2UgR3V6emxlXENvbW1vblxWZXJzaW9uOwoKLyoqCiAqIEBncm91cCBzZXJ2ZXIKICogQGNvdmVycyBHdXp6bGVcSHR0cFxDbGllbnQKICovCmNsYXNzIENsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQHJldHVybiBMb2dQbHVnaW4KICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRMb2dQbHVnaW4oKQogICAgewogICAgICAgIHJldHVybiBuZXcgTG9nUGx1Z2luKG5ldyBDbG9zdXJlTG9nQWRhcHRlcigKICAgICAgICAgICAgZnVuY3Rpb24oJG1lc3NhZ2UsICRwcmlvcml0eSwgJGV4dHJhcyA9IG51bGwpIHsKICAgICAgICAgICAgICAgIGVjaG8gJG1lc3NhZ2UgLiAnICcgLiAkcHJpb3JpdHkgLiAnICcgLiBpbXBsb2RlKCcgLSAnLCAoYXJyYXkpICRleHRyYXMpIC4gIlxuIjsKICAgICAgICAgICAgfQogICAgICAgICkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWNjZXB0c0NvbmZpZygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS8nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vd3d3Lmdvb2dsZS5jb20vJywgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkY2xpZW50LCAkY2xpZW50LT5zZXRDb25maWcoYXJyYXkoCiAgICAgICAgICAgICd0ZXN0JyA9PiAnMTIzJwogICAgICAgICkpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCd0ZXN0JyA9PiAnMTIzJyksICRjbGllbnQtPmdldENvbmZpZygpLT5nZXRBbGwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnMTIzJywgJGNsaWVudC0+Z2V0Q29uZmlnKCd0ZXN0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRjbGllbnQsICRjbGllbnQtPnNldEJhc2VVcmwoJ2h0dHA6Ly93d3cudGVzdC5jb20ve3Rlc3R9JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly93d3cudGVzdC5jb20vMTIzJywgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vd3d3LnRlc3QuY29tL3t0ZXN0fScsICRjbGllbnQtPmdldEJhc2VVcmwoZmFsc2UpKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJGNsaWVudC0+c2V0Q29uZmlnKGZhbHNlKTsKICAgICAgICB9IGNhdGNoIChcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uICRlKSB7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGVzY3JpYmVzRXZlbnRzKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdjbGllbnQuY3JlYXRlX3JlcXVlc3QnKSwgQ2xpZW50OjpnZXRBbGxFdmVudHMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvckNhbkFjY2VwdENvbmZpZygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHA6Ly93d3cudGVzdC5jb20vJywgYXJyYXkoCiAgICAgICAgICAgICdkYXRhJyA9PiAnMTIzJwogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyMycsICRjbGllbnQtPmdldENvbmZpZygnZGF0YScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblVzZUNvbGxlY3Rpb25Bc0NvbmZpZygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS8nKTsKICAgICAgICAkY2xpZW50LT5zZXRDb25maWcobmV3IENvbGxlY3Rpb24oYXJyYXkoCiAgICAgICAgICAgICdhcGknID0+ICd2MScsCiAgICAgICAgICAgICdrZXknID0+ICd2YWx1ZScsCiAgICAgICAgICAgICdiYXNlX3VybCcgPT4gJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS8nCiAgICAgICAgKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3YxJywgJGNsaWVudC0+Z2V0Q29uZmlnKCdhcGknKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFeHBhbmRzVXJpVGVtcGxhdGVzVXNpbmdDb25maWcoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vd3d3Lmdvb2dsZS5jb20vJyk7CiAgICAgICAgJGNsaWVudC0+c2V0Q29uZmlnKGFycmF5KCdhcGknID0+ICd2MScsICdrZXknID0+ICd2YWx1ZScsICdmb28nID0+ICdiYXInKSk7CiAgICAgICAgJHJlZiA9IG5ldyBcUmVmbGVjdGlvbk1ldGhvZCgkY2xpZW50LCAnZXhwYW5kVGVtcGxhdGUnKTsKICAgICAgICAkcmVmLT5zZXRBY2Nlc3NpYmxlKHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1Rlc3RpbmcuLi5hcGkvdjEva2V5L3ZhbHVlJywgJHJlZi0+aW52b2tlKCRjbGllbnQsICdUZXN0aW5nLi4uYXBpL3thcGl9L2tleS97a2V5fScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsaWVudEF0dGFjaGVyc09ic2VydmVyc1RvUmVxdWVzdHMoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIik7CgogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRsb2dQbHVnaW4gPSAkdGhpcy0+Z2V0TG9nUGx1Z2luKCk7CiAgICAgICAgJGNsaWVudC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZFN1YnNjcmliZXIoJGxvZ1BsdWdpbik7CgogICAgICAgIC8vIEdldCBhIHJlcXVlc3QgZnJvbSB0aGUgY2xpZW50IGFuZCBlbnN1cmUgdGhlIHRoZSBvYnNlcnZlciB3YXMKICAgICAgICAvLyBhdHRhY2hlZCB0byB0aGUgbmV3IHJlcXVlc3QKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmNyZWF0ZVJlcXVlc3QoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+aGFzU3Vic2NyaWJlcigkcmVxdWVzdCwgJGxvZ1BsdWdpbikpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2xpZW50UmV0dXJuc1ZhbGlkQmFzZVVybHMoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vd3d3Lntmb299LntkYXRhfS8nLCBhcnJheSgKICAgICAgICAgICAgJ2RhdGEnID0+ICcxMjMnLAogICAgICAgICAgICAnZm9vJyA9PiAnYmFyJwogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly93d3cuYmFyLjEyMy8nLCAkY2xpZW50LT5nZXRCYXNlVXJsKCkpOwogICAgICAgICRjbGllbnQtPnNldEJhc2VVcmwoJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS8nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vd3d3Lmdvb2dsZS5jb20vJywgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsaWVudEFkZHNDdXJsT3B0aW9uc1RvUmVxdWVzdHMoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vd3d3LnRlc3QuY29tLycsIGFycmF5KAogICAgICAgICAgICAnYXBpJyA9PiAndjEnLAogICAgICAgICAgICAvLyBBZGRzIHRoZSBvcHRpb24gdXNpbmcgdGhlIGN1cmwgdmFsdWVzCiAgICAgICAgICAgICdjdXJsLm9wdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0NVUkxPUFRfSFRUUEFVVEgnICAgICA9PiAnQ1VSTEFVVEhfRElHRVNUJywKICAgICAgICAgICAgICAgICdhYmMnICAgICAgICAgICAgICAgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICAgICAnYmxhY2tsaXN0JyAgICAgICAgICAgID0+ICdhYmMnLAogICAgICAgICAgICAgICAgJ2RlYnVnJyAgICAgICAgICAgICAgICA9PiB0cnVlCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5jcmVhdGVSZXF1ZXN0KCk7CiAgICAgICAgJG9wdGlvbnMgPSAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKENVUkxBVVRIX0RJR0VTVCwgJG9wdGlvbnMtPmdldChDVVJMT1BUX0hUVFBBVVRIKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJG9wdGlvbnMtPmdldCgnYWJjJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FiYycsICRvcHRpb25zLT5nZXQoJ2JsYWNrbGlzdCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsaWVudEFsbG93c0ZpbmVHcmFpbmVkU3NsQ29udHJvbEJ1dElzU2VjdXJlQnlEZWZhdWx0KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cHM6Ly93d3cuc2VjdXJlLmNvbS8nKTsKCiAgICAgICAgLy8gc2VjdXJlIGJ5IGRlZmF1bHQKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmNyZWF0ZVJlcXVlc3QoKTsKICAgICAgICAkb3B0aW9ucyA9ICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRvcHRpb25zLT5nZXQoQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUikpOwoKICAgICAgICAvLyBzZXQgYSBjYXBhdGggaWYgeW91IHByZWZlcgogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwczovL3d3dy5zZWN1cmUuY29tLycpOwogICAgICAgICRjbGllbnQtPnNldFNzbFZlcmlmaWNhdGlvbihfX0RJUl9fKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmNyZWF0ZVJlcXVlc3QoKTsKICAgICAgICAkb3B0aW9ucyA9ICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKF9fRElSX18sICRvcHRpb25zLT5nZXQoQ1VSTE9QVF9DQVBBVEgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbmZpZ1NldHRpbmdzQ29udHJvbFNzbENvbmZpZ3VyYXRpb24oKQogICAgewogICAgICAgIC8vIFVzZSB0aGUgZGVmYXVsdCBjYSBjZXJ0cyBvbiB0aGUgc3lzdGVtCiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHBzOi8vd3d3LnNlY3VyZS5jb20vJywgYXJyYXkoJ3NzbC5jZXJ0aWZpY2F0ZV9hdXRob3JpdHknID0+ICdzeXN0ZW0nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJGNsaWVudC0+Z2V0Q29uZmlnKCdjdXJsLm9wdGlvbnMnKSk7CiAgICAgICAgLy8gQ2FuIHNldCB0aGUgY2FjZXJ0IHZhbHVlIGFzIHdlbGwKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cHM6Ly93d3cuc2VjdXJlLmNvbS8nLCBhcnJheSgnc3NsLmNlcnRpZmljYXRlX2F1dGhvcml0eScgPT4gZmFsc2UpKTsKICAgICAgICAkb3B0aW9ucyA9ICRjbGllbnQtPmdldENvbmZpZygnY3VybC5vcHRpb25zJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5Tm90SGFzS2V5KENVUkxPUFRfQ0FJTkZPLCAkb3B0aW9ucyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoZmFsc2UsICRvcHRpb25zW0NVUkxPUFRfU1NMX1ZFUklGWVBFRVJdKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgwLCAkb3B0aW9uc1tDVVJMT1BUX1NTTF9WRVJJRllIT1NUXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGllbnRBbGxvd3NVbnNhZmVPcGVyYXRpb25JZlJlcXVlc3RlZCgpCiAgICB7CiAgICAgICAgLy8gYmUgcmVhbGx5IHVuc2FmZSBpZiB5b3UgaW5zaXN0CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHBzOi8vd3d3LnNlY3VyZS5jb20vJywgYXJyYXkoCiAgICAgICAgICAgICdhcGknID0+ICd2MScKICAgICAgICApKTsKCiAgICAgICAgJGNsaWVudC0+c2V0U3NsVmVyaWZpY2F0aW9uKGZhbHNlKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmNyZWF0ZVJlcXVlc3QoKTsKICAgICAgICAkb3B0aW9ucyA9ICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkb3B0aW9ucy0+Z2V0KENVUkxPUFRfU1NMX1ZFUklGWVBFRVIpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkb3B0aW9ucy0+Z2V0KENVUkxPUFRfQ0FJTkZPKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25Gb3JJbnZhbGlkQ2VydGlmaWNhdGUoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwczovL3d3dy5zZWN1cmUuY29tLycpOwogICAgICAgICRjbGllbnQtPnNldFNzbFZlcmlmaWNhdGlvbignL3BhdGgvdG8vbWlzc2luZy9maWxlJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGllbnRBbGxvd3NTZXR0aW5nU3BlY2lmaWNTc2xDYUluZm8oKQogICAgewogICAgICAgIC8vIHNldCBhIGZpbGUgb3RoZXIgdGhhbiB0aGUgcHJvdmlkZWQgY2FjZXJ0LnBlbQogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwczovL3d3dy5zZWN1cmUuY29tLycsIGFycmF5KAogICAgICAgICAgICAnYXBpJyA9PiAndjEnCiAgICAgICAgKSk7CgogICAgICAgICRjbGllbnQtPnNldFNzbFZlcmlmaWNhdGlvbihfX0ZJTEVfXyk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5jcmVhdGVSZXF1ZXN0KCk7CiAgICAgICAgJG9wdGlvbnMgPSAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZShfX0ZJTEVfXywgJG9wdGlvbnMtPmdldChDVVJMT1BUX0NBSU5GTykpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsaWVudFByZXZlbnRzSW5hZHZlcnRlbnRJbnNlY3VyZVZlcmlmeUhvc3RTZXR0aW5nKCkKICAgIHsKICAgICAgICAvLyBzZXQgYSBmaWxlIG90aGVyIHRoYW4gdGhlIHByb3ZpZGVkIGNhY2VydC5wZW0KICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cHM6Ly93d3cuc2VjdXJlLmNvbS8nLCBhcnJheSgKICAgICAgICAgICAgJ2FwaScgPT4gJ3YxJwogICAgICAgICkpOwogICAgICAgICRjbGllbnQtPnNldFNzbFZlcmlmaWNhdGlvbihfX0ZJTEVfXywgdHJ1ZSwgdHJ1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2xpZW50UHJldmVudHNJbnZhbGlkVmVyaWZ5UGVlclNldHRpbmcoKQogICAgewogICAgICAgIC8vIHNldCBhIGZpbGUgb3RoZXIgdGhhbiB0aGUgcHJvdmlkZWQgY2FjZXJ0LnBlbQogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwczovL3d3dy5zZWN1cmUuY29tLycsIGFycmF5KAogICAgICAgICAgICAnYXBpJyA9PiAndjEnCiAgICAgICAgKSk7CiAgICAgICAgJGNsaWVudC0+c2V0U3NsVmVyaWZpY2F0aW9uKF9fRklMRV9fLCAneWVzJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGllbnRBZGRzUGFyYW1zVG9SZXF1ZXN0cygpCiAgICB7CiAgICAgICAgVmVyc2lvbjo6JGVtaXRXYXJuaW5ncyA9IGZhbHNlOwogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tJywgYXJyYXkoCiAgICAgICAgICAgICdhcGknID0+ICd2MScsCiAgICAgICAgICAgICdyZXF1ZXN0LnBhcmFtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZm9vJyA9PiAnYmFyJywKICAgICAgICAgICAgICAgICdiYXonID0+ICdqYXInCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmNyZWF0ZVJlcXVlc3QoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXInLCAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmdldCgnZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2phcicsICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+Z2V0KCdiYXonKSk7CiAgICAgICAgVmVyc2lvbjo6JGVtaXRXYXJuaW5ncyA9IHRydWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHVybFByb3ZpZGVyKCkKICAgIHsKICAgICAgICAkdSA9ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkgLiAnYmFzZS8nOwogICAgICAgICR1MiA9ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkgLiAnYmFzZT96PTEnOwogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoJHUsICcnLCAkdSksCiAgICAgICAgICAgIGFycmF5KCR1LCAncmVsYXRpdmUvcGF0aC90by9yZXNvdXJjZScsICR1IC4gJ3JlbGF0aXZlL3BhdGgvdG8vcmVzb3VyY2UnKSwKICAgICAgICAgICAgYXJyYXkoJHUsICdyZWxhdGl2ZS9wYXRoL3RvL3Jlc291cmNlP2E9YiZjPWQnLCAkdSAuICdyZWxhdGl2ZS9wYXRoL3RvL3Jlc291cmNlP2E9YiZjPWQnKSwKICAgICAgICAgICAgYXJyYXkoJHUsICcvYWJzb2x1dGUvcGF0aC90by9yZXNvdXJjZScsICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkgLiAnYWJzb2x1dGUvcGF0aC90by9yZXNvdXJjZScpLAogICAgICAgICAgICBhcnJheSgkdSwgJy9hYnNvbHV0ZS9wYXRoL3RvL3Jlc291cmNlP2E9YiZjPWQnLCAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpIC4gJ2Fic29sdXRlL3BhdGgvdG8vcmVzb3VyY2U/YT1iJmM9ZCcpLAogICAgICAgICAgICBhcnJheSgkdTIsICcvYWJzb2x1dGUvcGF0aC90by9yZXNvdXJjZT9hPWImYz1kJywgJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSAgLiAnYWJzb2x1dGUvcGF0aC90by9yZXNvdXJjZT9hPWImYz1kJno9MScpLAogICAgICAgICAgICBhcnJheSgkdTIsICdyZWxhdGl2ZS9wYXRoL3RvL3Jlc291cmNlJywgJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSAuICdiYXNlL3JlbGF0aXZlL3BhdGgvdG8vcmVzb3VyY2U/ej0xJyksCiAgICAgICAgICAgIGFycmF5KCR1MiwgJ3JlbGF0aXZlL3BhdGgvdG8vcmVzb3VyY2U/YW5vdGhlcj1xdWVyeScsICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkgLiAnYmFzZS9yZWxhdGl2ZS9wYXRoL3RvL3Jlc291cmNlP2Fub3RoZXI9cXVlcnkmej0xJykKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciB1cmxQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEJ1aWxkc1JlbGF0aXZlVXJscygkYmFzZVVybCwgJHVybCwgJHJlc3VsdCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkYmFzZVVybCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcmVzdWx0LCAkY2xpZW50LT5nZXQoJHVybCktPmdldFVybCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0NvbmZpZ3NUb0JlQ2hhbmdlZEFuZEluamVjdGVkSW5CYXNlVXJsKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cDovL3thfS97Yn0nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vLycsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovL3thfS97Yn0nLCAkY2xpZW50LT5nZXRCYXNlVXJsKGZhbHNlKSk7CiAgICAgICAgJGNsaWVudC0+c2V0Q29uZmlnKGFycmF5KAogICAgICAgICAgICAnYScgPT4gJ3Rlc3QuY29tJywKICAgICAgICAgICAgJ2InID0+ICdpbmRleC5odG1sJwogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly90ZXN0LmNvbS9pbmRleC5odG1sJywgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNSZXF1ZXN0c1dpdGhEZWZhdWx0VmFsdWVzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpIC4gJ2Jhc2UnKTsKCiAgICAgICAgLy8gQ3JlYXRlIGEgR0VUIHJlcXVlc3QKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmNyZWF0ZVJlcXVlc3QoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdHRVQnLCAkcmVxdWVzdC0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGNsaWVudC0+Z2V0QmFzZVVybCgpLCAkcmVxdWVzdC0+Z2V0VXJsKCkpOwoKICAgICAgICAvLyBDcmVhdGUgYSBERUxFVEUgcmVxdWVzdAogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Y3JlYXRlUmVxdWVzdCgnREVMRVRFJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnREVMRVRFJywgJHJlcXVlc3QtPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRjbGllbnQtPmdldEJhc2VVcmwoKSwgJHJlcXVlc3QtPmdldFVybCgpKTsKCiAgICAgICAgLy8gQ3JlYXRlIGEgSEVBRCByZXF1ZXN0IHdpdGggY3VzdG9tIGhlYWRlcnMKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmNyZWF0ZVJlcXVlc3QoJ0hFQUQnLCAnaHR0cDovL3d3dy50ZXN0LmNvbS8nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdIRUFEJywgJHJlcXVlc3QtPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vd3d3LnRlc3QuY29tLycsICRyZXF1ZXN0LT5nZXRVcmwoKSk7CgogICAgICAgIC8vIENyZWF0ZSBhIFBVVCByZXF1ZXN0CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5jcmVhdGVSZXF1ZXN0KCdQVVQnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQVVQnLCAkcmVxdWVzdC0+Z2V0TWV0aG9kKCkpOwoKICAgICAgICAvLyBDcmVhdGUgYSBQVVQgcmVxdWVzdCB3aXRoIGluamVjdGVkIGNvbmZpZwogICAgICAgICRjbGllbnQtPmdldENvbmZpZygpLT5zZXQoJ2EnLCAxKS0+c2V0KCdiJywgMik7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5jcmVhdGVSZXF1ZXN0KCdQVVQnLCAnL3BhdGgve2F9P3E9e2J9Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcmVxdWVzdC0+Z2V0VXJsKCksICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkgLiAncGF0aC8xP3E9MicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2xpZW50SGFzSGVscGVyTWV0aG9kc0ZvckNyZWF0aW5nUmVxdWVzdHMoKQogICAgewogICAgICAgICR1cmwgPSAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpOwogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR1cmwgLiAnYmFzZScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0dFVCcsICRjbGllbnQtPmdldCgpLT5nZXRNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUFVUJywgJGNsaWVudC0+cHV0KCktPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQT1NUJywgJGNsaWVudC0+cG9zdCgpLT5nZXRNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnSEVBRCcsICRjbGllbnQtPmhlYWQoKS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0RFTEVURScsICRjbGllbnQtPmRlbGV0ZSgpLT5nZXRNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnT1BUSU9OUycsICRjbGllbnQtPm9wdGlvbnMoKS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BBVENIJywgJGNsaWVudC0+cGF0Y2goKS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHVybCAuICdiYXNlL2FiYycsICRjbGllbnQtPmdldCgnYWJjJyktPmdldFVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR1cmwgLiAnenh5JywgJGNsaWVudC0+cHV0KCcvenh5JyktPmdldFVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR1cmwgLiAnenh5P2E9YicsICRjbGllbnQtPnBvc3QoJy96eHk/YT1iJyktPmdldFVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR1cmwgLiAnYmFzZT9hPWInLCAkY2xpZW50LT5oZWFkKCc/YT1iJyktPmdldFVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR1cmwgLiAnYmFzZT9hPWInLCAkY2xpZW50LT5kZWxldGUoJy9iYXNlP2E9YicpLT5nZXRVcmwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGllbnRJbmplY3RzQ29uZmlnc0ludG9VcmxzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cDovL3d3dy50ZXN0LmNvbS9hcGkvdjEnLCBhcnJheSgKICAgICAgICAgICAgJ3Rlc3QnID0+ICcxMjMnCiAgICAgICAgKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJ3JlbGF0aXZlL3t0ZXN0fScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly93d3cudGVzdC5jb20vYXBpL3YxL3JlbGF0aXZlLzEyMycsICRyZXF1ZXN0LT5nZXRVcmwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NFbXB0eUJhc2VVcmwoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS8nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vd3d3Lmdvb2dsZS5jb20vJywgJHJlcXVlc3QtPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdC0+c2V0UmVzcG9uc2UobmV3IFJlc3BvbnNlKDIwMCksIHRydWUpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NDdXN0b21DdXJsTXVsdGlPYmplY3RzKCkKICAgIHsKICAgICAgICAkbW9jayA9ICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcXEh0dHBcXEN1cmxcXEN1cmxNdWx0aScsIGFycmF5KCdhZGQnLCAnc2VuZCcpKTsKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnYWRkJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5TZWxmKCkpOwogICAgICAgICRtb2NrLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdzZW5kJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5TZWxmKCkpOwoKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICRjbGllbnQtPnNldEN1cmxNdWx0aSgkbW9jayk7CgogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCk7CiAgICAgICAgJHJlcXVlc3QtPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDApLCB0cnVlKTsKICAgICAgICAkY2xpZW50LT5zZW5kKCRyZXF1ZXN0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsaWVudFNlbmRzTXVsdGlwbGVSZXF1ZXN0cygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJG1vY2sgPSBuZXcgTW9ja1BsdWdpbigpOwoKICAgICAgICAkcmVzcG9uc2VzID0gYXJyYXkoCiAgICAgICAgICAgIG5ldyBSZXNwb25zZSgyMDApLAogICAgICAgICAgICBuZXcgUmVzcG9uc2UoMjAxKSwKICAgICAgICAgICAgbmV3IFJlc3BvbnNlKDIwMikKICAgICAgICApOwoKICAgICAgICAkbW9jay0+YWRkUmVzcG9uc2UoJHJlc3BvbnNlc1swXSk7CiAgICAgICAgJG1vY2stPmFkZFJlc3BvbnNlKCRyZXNwb25zZXNbMV0pOwogICAgICAgICRtb2NrLT5hZGRSZXNwb25zZSgkcmVzcG9uc2VzWzJdKTsKCiAgICAgICAgJGNsaWVudC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZFN1YnNjcmliZXIoJG1vY2spOwoKICAgICAgICAkcmVxdWVzdHMgPSBhcnJheSgKICAgICAgICAgICAgJGNsaWVudC0+Z2V0KCksCiAgICAgICAgICAgICRjbGllbnQtPmhlYWQoKSwKICAgICAgICAgICAgJGNsaWVudC0+cHV0KCcvJywgbnVsbCwgJ3Rlc3QnKQogICAgICAgICk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICRyZXNwb25zZXNbMF0sCiAgICAgICAgICAgICRyZXNwb25zZXNbMV0sCiAgICAgICAgICAgICRyZXNwb25zZXNbMl0KICAgICAgICApLCAkY2xpZW50LT5zZW5kKCRyZXF1ZXN0cykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2xpZW50U2VuZHNTaW5nbGVSZXF1ZXN0KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkbW9jayA9IG5ldyBNb2NrUGx1Z2luKCk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCk7CiAgICAgICAgJG1vY2stPmFkZFJlc3BvbnNlKCRyZXNwb25zZSk7CiAgICAgICAgJGNsaWVudC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZFN1YnNjcmliZXIoJG1vY2spOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlc3BvbnNlLCAkY2xpZW50LT5zZW5kKCRjbGllbnQtPmdldCgpKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxIdHRwXEV4Y2VwdGlvblxCYWRSZXNwb25zZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsaWVudFRocm93c0V4Y2VwdGlvbkZvclNpbmdsZVJlcXVlc3QoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRtb2NrID0gbmV3IE1vY2tQbHVnaW4oKTsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoNDA0KTsKICAgICAgICAkbW9jay0+YWRkUmVzcG9uc2UoJHJlc3BvbnNlKTsKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkU3Vic2NyaWJlcigkbW9jayk7CiAgICAgICAgJGNsaWVudC0+c2VuZCgkY2xpZW50LT5nZXQoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEV4Y2VwdGlvbkNvbGxlY3Rpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGllbnRUaHJvd3NFeGNlcHRpb25Gb3JNdWx0aXBsZVJlcXVlc3RzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkbW9jayA9IG5ldyBNb2NrUGx1Z2luKCk7CiAgICAgICAgJG1vY2stPmFkZFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDApKTsKICAgICAgICAkbW9jay0+YWRkUmVzcG9uc2UobmV3IFJlc3BvbnNlKDQwNCkpOwogICAgICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKCRtb2NrKTsKICAgICAgICAkY2xpZW50LT5zZW5kKGFycmF5KCRjbGllbnQtPmdldCgpLCAkY2xpZW50LT5oZWFkKCkpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFF1ZXJ5U3RyaW5nc0FyZU5vdERvdWJsZUVuY29kZWQoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vdGVzdC5jb20nLCBhcnJheSgKICAgICAgICAgICAgJ3BhdGgnICA9PiBhcnJheSgnZm9vJywgJ2JhcicpLAogICAgICAgICAgICAncXVlcnknID0+ICdoaSB0aGVyZScsCiAgICAgICAgICAgICdkYXRhJyAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndGVzdCcgPT4gJ2EmYicKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgney9wYXRoKn17P3F1ZXJ5LGRhdGEqfScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly90ZXN0LmNvbS9mb28vYmFyP3F1ZXJ5PWhpJTIwdGhlcmUmdGVzdD1hJTI2YicsICRyZXF1ZXN0LT5nZXRVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaGkgdGhlcmUnLCAkcmVxdWVzdC0+Z2V0UXVlcnkoKS0+Z2V0KCdxdWVyeScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhJmInLCAkcmVxdWVzdC0+Z2V0UXVlcnkoKS0+Z2V0KCd0ZXN0JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UXVlcnlTdHJpbmdzQXJlTm90RG91YmxlRW5jb2RlZFVzaW5nQWJzb2x1dGVQYXRocygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHA6Ly90ZXN0LmNvbScsIGFycmF5KAogICAgICAgICAgICAncGF0aCcgID0+IGFycmF5KCdmb28nLCAnYmFyJyksCiAgICAgICAgICAgICdxdWVyeScgPT4gJ2hpIHRoZXJlJywKICAgICAgICApKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnaHR0cDovL3Rlc3QuY29tez9xdWVyeX0nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vdGVzdC5jb20/cXVlcnk9aGklMjB0aGVyZScsICRyZXF1ZXN0LT5nZXRVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaGkgdGhlcmUnLCAkcmVxdWVzdC0+Z2V0UXVlcnkoKS0+Z2V0KCdxdWVyeScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c1VyaVRlbXBsYXRlSW5qZWN0aW9uKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cDovL3Rlc3QuY29tJyk7CiAgICAgICAgJHJlZiA9IG5ldyBcUmVmbGVjdGlvbk1ldGhvZCgkY2xpZW50LCAnZ2V0VXJpVGVtcGxhdGUnKTsKICAgICAgICAkcmVmLT5zZXRBY2Nlc3NpYmxlKHRydWUpOwogICAgICAgICRhID0gJHJlZi0+aW52b2tlKCRjbGllbnQpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRhLCAkcmVmLT5pbnZva2UoJGNsaWVudCkpOwogICAgICAgICRjbGllbnQtPnNldFVyaVRlbXBsYXRlKG5ldyBVcmlUZW1wbGF0ZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90U2FtZSgkYSwgJHJlZi0+aW52b2tlKCRjbGllbnQpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0N1c3RvbVZhcmlhYmxlc1doZW5FeHBhbmRpbmdUZW1wbGF0ZXMoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vdGVzdC5jb20nLCBhcnJheSgndGVzdCcgPT4gJ2hpJykpOwogICAgICAgICRyZWYgPSBuZXcgXFJlZmxlY3Rpb25NZXRob2QoJGNsaWVudCwgJ2V4cGFuZFRlbXBsYXRlJyk7CiAgICAgICAgJHJlZi0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkdXJpID0gJHJlZi0+aW52b2tlKCRjbGllbnQsICdodHRwOi8ve3Rlc3R9ez9xdWVyeSp9JywgYXJyYXkoJ3F1ZXJ5JyA9PiBhcnJheSgnaGFuJyA9PiAnc29sbycpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovL2hpP2hhbj1zb2xvJywgJHVyaSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVcmlBcnJheUFsbG93c0N1c3RvbVRlbXBsYXRlVmFyaWFibGVzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICR2YXJzID0gYXJyYXkoCiAgICAgICAgICAgICd2YXInID0+ICdoaScKICAgICAgICApOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9oaScsIChzdHJpbmcpICRjbGllbnQtPmNyZWF0ZVJlcXVlc3QoJ0dFVCcsIGFycmF5KCcve3Zhcn0nLCAkdmFycykpLT5nZXRVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnL2hpJywgKHN0cmluZykgJGNsaWVudC0+Z2V0KGFycmF5KCcve3Zhcn0nLCAkdmFycykpLT5nZXRVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnL2hpJywgKHN0cmluZykgJGNsaWVudC0+cHV0KGFycmF5KCcve3Zhcn0nLCAkdmFycykpLT5nZXRVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnL2hpJywgKHN0cmluZykgJGNsaWVudC0+cG9zdChhcnJheSgnL3t2YXJ9JywgJHZhcnMpKS0+Z2V0VXJsKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9oaScsIChzdHJpbmcpICRjbGllbnQtPmhlYWQoYXJyYXkoJy97dmFyfScsICR2YXJzKSktPmdldFVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvaGknLCAoc3RyaW5nKSAkY2xpZW50LT5vcHRpb25zKGFycmF5KCcve3Zhcn0nLCAkdmFycykpLT5nZXRVcmwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NEZWZhdWx0SGVhZGVycygpCiAgICB7CiAgICAgICAgVmVyc2lvbjo6JGVtaXRXYXJuaW5ncyA9IGZhbHNlOwogICAgICAgICRkZWZhdWx0ID0gYXJyYXkoJ1gtVGVzdCcgPT4gJ0hpIScpOwogICAgICAgICRvdGhlciA9IGFycmF5KCdYLU90aGVyJyA9PiAnRm9vJyk7CgogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJGNsaWVudC0+c2V0RGVmYXVsdEhlYWRlcnMoJGRlZmF1bHQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGRlZmF1bHQsICRjbGllbnQtPmdldERlZmF1bHRIZWFkZXJzKCktPmdldEFsbCgpKTsKICAgICAgICAkY2xpZW50LT5zZXREZWZhdWx0SGVhZGVycyhuZXcgQ29sbGVjdGlvbigkZGVmYXVsdCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGRlZmF1bHQsICRjbGllbnQtPmdldERlZmF1bHRIZWFkZXJzKCktPmdldEFsbCgpKTsKCiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5jcmVhdGVSZXF1ZXN0KCdHRVQnLCBudWxsLCAkb3RoZXIpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0hpIScsICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ1gtVGVzdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdGb28nLCAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdYLU90aGVyJykpOwoKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmNyZWF0ZVJlcXVlc3QoJ0dFVCcsIG51bGwsIG5ldyBDb2xsZWN0aW9uKCRvdGhlcikpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0hpIScsICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ1gtVGVzdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdGb28nLCAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdYLU90aGVyJykpOwoKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmNyZWF0ZVJlcXVlc3QoJ0dFVCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0hpIScsICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ1gtVGVzdCcpKTsKICAgICAgICBWZXJzaW9uOjokZW1pdFdhcm5pbmdzID0gdHJ1ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvbnRSZXVzZUN1cmxNdWx0aSgpCiAgICB7CiAgICAgICAgJGNsaWVudDEgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJGNsaWVudDIgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdFNhbWUoJGNsaWVudDEtPmdldEN1cmxNdWx0aSgpLCAkY2xpZW50Mi0+Z2V0Q3VybE11bHRpKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0RGVmYXVsdFVzZXJBZ2VudCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkYWdlbnQgPSAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY2xpZW50LCAndXNlckFnZW50Jyk7CiAgICAgICAgJHZlcnNpb24gPSBjdXJsX3ZlcnNpb24oKTsKICAgICAgICAkdGVzdEFnZW50ID0gc3ByaW50ZignR3V6emxlLyVzIGN1cmwvJXMgUEhQLyVzJywgVmVyc2lvbjo6VkVSU0lPTiwgJHZlcnNpb25bJ3ZlcnNpb24nXSwgUEhQX1ZFUlNJT04pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGFnZW50LCAkdGVzdEFnZW50KTsKCiAgICAgICAgJGNsaWVudC0+c2V0VXNlckFnZW50KCdmb28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY2xpZW50LCAndXNlckFnZW50JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0T3ZlcndyaXRlc1VzZXJBZ2VudCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmNyZWF0ZVJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3LmZvby5jb20nLCBhcnJheSgnVXNlci1hZ2VudCcgPT4gJ2ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdVc2VyLUFnZW50JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXNlc0RlZmF1bHRVc2VyQWdlbnQoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5jcmVhdGVSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5mb28uY29tJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdHdXp6bGUvJywgKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcignVXNlci1BZ2VudCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNldERlZmF1bHRSZXF1ZXN0T3B0aW9ucygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkY2xpZW50LT5nZXRDb25maWcoKS0+c2V0KCdyZXF1ZXN0Lm9wdGlvbnMnLCBhcnJheSgKICAgICAgICAgICAgJ3F1ZXJ5JyA9PiBhcnJheSgndGVzdCcgPT4gJzEyMycsICdvdGhlcicgPT4gJ2FiYycpLAogICAgICAgICAgICAnaGVhZGVycycgPT4gYXJyYXkoJ0ZvbycgPT4gJ0JhcicsICdCYXonID0+ICdCYW0nKQogICAgICAgICkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Y3JlYXRlUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZm9vLmNvbT90ZXN0PWhlbGxvJywgYXJyYXkoJ0ZvbycgPT4gJ1Rlc3QnKSk7CiAgICAgICAgLy8gRXhwbGljaXQgb3B0aW9ucyBvbiBhIHJlcXVlc3Qgc2hvdWxkIG92ZXJydWxlIGRlZmF1bHQgb3B0aW9ucwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1Rlc3QnLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdGb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaGVsbG8nLCAkcmVxdWVzdC0+Z2V0UXVlcnkoKS0+Z2V0KCd0ZXN0JykpOwogICAgICAgIC8vIERlZmF1bHQgb3B0aW9ucyBzaG91bGQgc3RpbGwgYmUgc2V0CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYWJjJywgJHJlcXVlc3QtPmdldFF1ZXJ5KCktPmdldCgnb3RoZXInKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQmFtJywgKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcignQmF6JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2V0U2V0T3B0aW9uc09uUmVxdWVzdHMoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5jcmVhdGVSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5mb28uY29tP3Rlc3Q9aGVsbG8nLCBhcnJheSgnRm9vJyA9PiAnVGVzdCcpLCBudWxsLCBhcnJheSgKICAgICAgICAgICAgJ2Nvb2tpZXMnID0+IGFycmF5KCdtaWNoYWVsJyA9PiAndGVzdCcpCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsICRyZXF1ZXN0LT5nZXRDb29raWUoJ21pY2hhZWwnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNEZWZhdWx0T3B0aW9uc0hlbHBlck1ldGhvZHMoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgLy8gV2l0aCBwYXRoCiAgICAgICAgJGNsaWVudC0+c2V0RGVmYXVsdE9wdGlvbignaGVhZGVycy9mb28nLCAnYmFyJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmFyJywgJGNsaWVudC0+Z2V0RGVmYXVsdE9wdGlvbignaGVhZGVycy9mb28nKSk7CiAgICAgICAgLy8gV2l0aCBzaW1wbGUga2V5CiAgICAgICAgJGNsaWVudC0+c2V0RGVmYXVsdE9wdGlvbignYWxsb3dfcmVkaXJlY3RzJywgZmFsc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkY2xpZW50LT5nZXREZWZhdWx0T3B0aW9uKCdhbGxvd19yZWRpcmVjdHMnKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdoZWFkZXJzJyA9PiBhcnJheSgnZm9vJyA9PiAnYmFyJyksCiAgICAgICAgICAgICdhbGxvd19yZWRpcmVjdHMnID0+IGZhbHNlCiAgICAgICAgKSwgJGNsaWVudC0+Z2V0Q29uZmlnKCdyZXF1ZXN0Lm9wdGlvbnMnKSk7CgogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCcvJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmFyJywgJHJlcXVlc3QtPmdldEhlYWRlcignZm9vJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGVhZENhblVzZU9wdGlvbnMoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJGhlYWQgPSAkY2xpZW50LT5oZWFkKCdodHRwOi8vd3d3LmZvby5jb20nLCBhcnJheSgpLCBhcnJheSgncXVlcnknID0+IGFycmF5KCdmb28nID0+ICdiYXInKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRoZWFkLT5nZXRRdWVyeSgpLT5nZXQoJ2ZvbycpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlHandleTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxDdXJsOwoKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5Owp1c2UgR3V6emxlXEh0dHBcUXVlcnlTdHJpbmc7CnVzZSBHdXp6bGVcSHR0cFxDbGllbnQ7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RGYWN0b3J5Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcQ3VybFxDdXJsSGFuZGxlOwoKLyoqCiAqIEBncm91cCBzZXJ2ZXIKICogQGNvdmVycyBHdXp6bGVcSHR0cFxDdXJsXEN1cmxIYW5kbGUKICovCmNsYXNzIEN1cmxIYW5kbGVUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgJHJlcXVlc3RIYW5kbGU7CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHVwZGF0ZUZvckhhbmRsZShSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgICR0aGF0ID0gJHRoaXM7CiAgICAgICAgJHJlcXVlc3QtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcigncmVxdWVzdC5zZW50JywgZnVuY3Rpb24gKEV2ZW50ICRlKSB1c2UgKCR0aGF0KSB7CiAgICAgICAgICAgICR0aGF0LT5yZXF1ZXN0SGFuZGxlID0gJGVbJ2hhbmRsZSddOwogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gJHJlcXVlc3Q7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+cmVxdWVzdEhhbmRsZSA9IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbnN0cnVjdG9yRXhwZWN0c0N1cmxSZXNvdXJjZSgpCiAgICB7CiAgICAgICAgJGggPSBuZXcgQ3VybEhhbmRsZShmYWxzZSwgYXJyYXkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvckV4cGVjdHNQcm9wZXJPcHRpb25zKCkKICAgIHsKICAgICAgICAkaCA9IGN1cmxfaW5pdCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICB0cnkgewogICAgICAgICAgICAkaGEgPSBuZXcgQ3VybEhhbmRsZSgkaCwgZmFsc2UpOwogICAgICAgICAgICAkdGhpcy0+ZmFpbCgnRXhwZWN0ZWQgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uJyk7CiAgICAgICAgfSBjYXRjaCAoXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiAkZSkgewogICAgICAgIH0KCiAgICAgICAkaGEgPSBuZXcgQ3VybEhhbmRsZSgkaCwgYXJyYXkoCiAgICAgICAgICAgQ1VSTE9QVF9VUkwgPT4gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKQogICAgICAgKSk7CiAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCksICRoYS0+Z2V0T3B0aW9ucygpLT5nZXQoQ1VSTE9QVF9VUkwpKTsKCiAgICAgICAkaGEgPSBuZXcgQ3VybEhhbmRsZSgkaCwgbmV3IENvbGxlY3Rpb24oYXJyYXkoCiAgICAgICAgICAgQ1VSTE9QVF9VUkwgPT4gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKQogICAgICAgKSkpOwogICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpLCAkaGEtPmdldE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfVVJMKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvckluaXRpYWxpemVzT2JqZWN0KCkKICAgIHsKICAgICAgICAkaGFuZGxlID0gY3VybF9pbml0KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRoID0gbmV3IEN1cmxIYW5kbGUoJGhhbmRsZSwgYXJyYXkoCiAgICAgICAgICAgIENVUkxPUFRfVVJMID0+ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkaGFuZGxlLCAkaC0+Z2V0SGFuZGxlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcXEh0dHBcXFVybCcsICRoLT5nZXRVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpLCAoc3RyaW5nKSAkaC0+Z2V0VXJsKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSwgJGgtPmdldE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfVVJMKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdG9yZXNTdGRFcnIoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnR0VUJywgJ2h0dHA6Ly90ZXN0LmNvbScpOwogICAgICAgICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5zZXQoJ2RlYnVnJywgdHJ1ZSk7CiAgICAgICAgJGggPSBDdXJsSGFuZGxlOjpmYWN0b3J5KCRyZXF1ZXN0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRoLT5nZXRTdGRlcnIodHJ1ZSksICRoLT5nZXRPcHRpb25zKCktPmdldChDVVJMT1BUX1NUREVSUikpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ3Jlc291cmNlJywgJGgtPmdldFN0ZGVycih0cnVlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnc3RyaW5nJywgJGgtPmdldFN0ZGVycihmYWxzZSkpOwogICAgICAgICRyID0gJGgtPmdldFN0ZGVycih0cnVlKTsKICAgICAgICBmd3JpdGUoJHIsICd0ZXN0Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsICRoLT5nZXRTdGRlcnIoZmFsc2UpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFN0b3Jlc0N1cmxFcnJvck51bWJlcigpCiAgICB7CiAgICAgICAgJGggPSBuZXcgQ3VybEhhbmRsZShjdXJsX2luaXQoJ2h0dHA6Ly90ZXN0LmNvbScpLCBhcnJheShDVVJMT1BUX1VSTCA9PiAnaHR0cDovL3Rlc3QuY29tJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoQ1VSTEVfT0ssICRoLT5nZXRFcnJvck5vKCkpOwogICAgICAgICRoLT5zZXRFcnJvck5vKENVUkxFX09QRVJBVElPTl9USU1FT1VURUQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoQ1VSTEVfT1BFUkFUSU9OX1RJTUVPVVRFRCwgJGgtPmdldEVycm9yTm8oKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBY2NvdW50c0Zvck1pc3NpbmdTdGRFcnIoKQogICAgewogICAgICAgICRoYW5kbGUgPSBjdXJsX2luaXQoJ2h0dHA6Ly93d3cudGVzdC5jb20vJyk7CiAgICAgICAgJGggPSBuZXcgQ3VybEhhbmRsZSgkaGFuZGxlLCBhcnJheSgKICAgICAgICAgICAgQ1VSTE9QVF9VUkwgPT4gJ2h0dHA6Ly93d3cudGVzdC5jb20vJwogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRoLT5nZXRTdGRlcnIoZmFsc2UpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERldGVybWluZXNJZlJlc291cmNlSXNBdmFpbGFibGUoKQogICAgewogICAgICAgICRoYW5kbGUgPSBjdXJsX2luaXQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJGggPSBuZXcgQ3VybEhhbmRsZSgkaGFuZGxlLCBhcnJheSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkaC0+aXNBdmFpbGFibGUoKSk7CgogICAgICAgIC8vIE1lc3MgaXQgdXAgYnkgY2xvc2luZyB0aGUgaGFuZGxlCiAgICAgICAgY3VybF9jbG9zZSgkaGFuZGxlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGgtPmlzQXZhaWxhYmxlKCkpOwoKICAgICAgICAvLyBNZXNzIGl0IHVwIGJ5IHVuc2V0dGluZyB0aGUgaGFuZGxlCiAgICAgICAgJGhhbmRsZSA9IG51bGw7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRoLT5pc0F2YWlsYWJsZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFdyYXBzRXJyb3JzQW5kSW5mbygpCiAgICB7CiAgICAgICAgaWYgKCFkZWZpbmVkKCdDVVJMT1BUX1RJTUVPVVRfTVMnKSkgewogICAgICAgICAgICAkdGhpcy0+bWFya1Rlc3RTa2lwcGVkKCdVcGRhdGUgY3VybCcpOwogICAgICAgIH0KCiAgICAgICAgJHNldHRpbmdzID0gYXJyYXkoCiAgICAgICAgICAgIENVUkxPUFRfUE9SVCAgICAgICAgICAgICAgPT4gMTIzLAogICAgICAgICAgICBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VUX01TID0+IDEsCiAgICAgICAgICAgIENVUkxPUFRfVElNRU9VVF9NUyAgICAgICAgPT4gMQogICAgICAgICk7CgogICAgICAgICRoYW5kbGUgPSBjdXJsX2luaXQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgY3VybF9zZXRvcHRfYXJyYXkoJGhhbmRsZSwgJHNldHRpbmdzKTsKICAgICAgICAkaCA9IG5ldyBDdXJsSGFuZGxlKCRoYW5kbGUsICRzZXR0aW5ncyk7CiAgICAgICAgQGN1cmxfZXhlYygkaGFuZGxlKTsKCiAgICAgICAgJGVycm9ycyA9IGFycmF5KAogICAgICAgICAgICAiY291bGRuJ3QgY29ubmVjdCB0byBob3N0IiwKICAgICAgICAgICAgJ3RpbWVvdXQgd2FzIHJlYWNoZWQnLAogICAgICAgICAgICAnY29ubmVjdGlvbiB0aW1lLW91dCcsCiAgICAgICAgICAgICdjb25uZWN0KCkgdGltZWQgb3V0IScKICAgICAgICApOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKGluX2FycmF5KHN0cnRvbG93ZXIoJGgtPmdldEVycm9yKCkpLCAkZXJyb3JzKSwgJGgtPmdldEVycm9yKCkgLiAnIHdhcyBub3QgdGhlIGVycm9yJyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRoLT5nZXRFcnJvck5vKCkgPiAwKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpLCAkaC0+Z2V0SW5mbyhDVVJMSU5GT19FRkZFQ1RJVkVfVVJMKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCAkaC0+Z2V0SW5mbygpKTsKCiAgICAgICAgY3VybF9jbG9zZSgkaGFuZGxlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKG51bGwsICRoLT5nZXRJbmZvKCd1cmwnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRJbmZvV2l0aG91dERlYnVnTW9kZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIpOwogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRyZXNwb25zZSA9ICRyZXF1ZXN0LT5zZW5kKCk7CgogICAgICAgICRpbmZvID0gJHJlc3BvbnNlLT5nZXRJbmZvKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKGVtcHR5KCRpbmZvKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpLCAkaW5mb1sndXJsJ10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0V3JhcHNDdXJsT3B0aW9ucygpCiAgICB7CiAgICAgICAgJGhhbmRsZSA9IGN1cmxfaW5pdCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkaCA9IG5ldyBDdXJsSGFuZGxlKCRoYW5kbGUsIGFycmF5KAogICAgICAgICAgICBDVVJMT1BUX0FVVE9SRUZFUkVSID0+IHRydWUsCiAgICAgICAgICAgIENVUkxPUFRfQlVGRkVSU0laRSA9PiAxMDI0CiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHModHJ1ZSwgJGgtPmdldE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfQVVUT1JFRkVSRVIpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEwMjQsICRoLT5nZXRPcHRpb25zKCktPmdldChDVVJMT1BUX0JVRkZFUlNJWkUpKTsKICAgIH0KCiAgICAvKioKICAgICAqIERhdGEgcHJvdmlkZXIgZm9yIGZhY3RvcnkgdGVzdHMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBkYXRhUHJvdmlkZXIoKQogICAgewogICAgICAgICR0ZXN0RmlsZSA9IF9fRElSX18gLiAnLy4uLy4uLy4uLy4uLy4uL3BocHVuaXQueG1sLmRpc3QnOwoKICAgICAgICAkcG9zdEJvZHkgPSBuZXcgUXVlcnlTdHJpbmcoYXJyYXkoJ2ZpbGUnID0+ICdAJyAuICR0ZXN0RmlsZSkpOwogICAgICAgICRxcyA9IG5ldyBRdWVyeVN0cmluZyhhcnJheSgKICAgICAgICAgICAgJ3gnID0+ICd5JywKICAgICAgICAgICAgJ3onID0+ICdhJwogICAgICAgICkpOwoKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICR1c2VyQWdlbnQgPSAkY2xpZW50LT5nZXREZWZhdWx0VXNlckFnZW50KCk7CiAgICAgICAgJGF1dGggPSBiYXNlNjRfZW5jb2RlKCdtaWNoYWVsOjEyMycpOwogICAgICAgICR0ZXN0RmlsZVNpemUgPSBmaWxlc2l6ZSgkdGVzdEZpbGUpOwoKICAgICAgICAkdGVzdHMgPSBhcnJheSgKICAgICAgICAgICAgLy8gU2VuZCBhIHJlZ3VsYXIgR0VUCiAgICAgICAgICAgIGFycmF5KCdHRVQnLCAnaHR0cDovL3d3dy5nb29nbGUuY29tLycsIG51bGwsIG51bGwsIGFycmF5KAogICAgICAgICAgICAgICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiAwLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9IRUFERVIgPT4gMCwKICAgICAgICAgICAgICAgIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQgPT4gMTUwLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9XUklURUZVTkNUSU9OID0+ICdjYWxsYmFjaycsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hFQURFUkZVTkNUSU9OID0+ICdjYWxsYmFjaycsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gYXJyYXkoJ0FjY2VwdDonLCAnSG9zdDogd3d3Lmdvb2dsZS5jb20nLCAnVXNlci1BZ2VudDogJyAuICR1c2VyQWdlbnQpLAogICAgICAgICAgICApKSwKICAgICAgICAgICAgLy8gVGVzdCB0aGF0IGN1c3RvbSByZXF1ZXN0IG1ldGhvZHMgY2FuIGJlIHVzZWQKICAgICAgICAgICAgYXJyYXkoJ1RSQUNFJywgJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS8nLCBudWxsLCBudWxsLCBhcnJheSgKICAgICAgICAgICAgICAgIENVUkxPUFRfQ1VTVE9NUkVRVUVTVCA9PiAnVFJBQ0UnCiAgICAgICAgICAgICkpLAogICAgICAgICAgICAvLyBTZW5kIGEgR0VUIHVzaW5nIGEgcG9ydAogICAgICAgICAgICBhcnJheSgnR0VUJywgJ2h0dHA6Ly8xMjcuMC4wLjE6ODA4MCcsIG51bGwsIG51bGwsIGFycmF5KAogICAgICAgICAgICAgICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiAwLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9IRUFERVIgPT4gMCwKICAgICAgICAgICAgICAgIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQgPT4gMTUwLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9XUklURUZVTkNUSU9OID0+ICdjYWxsYmFjaycsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hFQURFUkZVTkNUSU9OID0+ICdjYWxsYmFjaycsCiAgICAgICAgICAgICAgICBDVVJMT1BUX1BPUlQgPT4gODA4MCwKICAgICAgICAgICAgICAgIENVUkxPUFRfSFRUUEhFQURFUiA9PiBhcnJheSgnQWNjZXB0OicsICdIb3N0OiAxMjcuMC4wLjE6ODA4MCcsICdVc2VyLUFnZW50OiAnIC4gJHVzZXJBZ2VudCksCiAgICAgICAgICAgICkpLAogICAgICAgICAgICAvLyBTZW5kIGEgSEVBRCByZXF1ZXN0CiAgICAgICAgICAgIGFycmF5KCdIRUFEJywgJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS8nLCBudWxsLCBudWxsLCBhcnJheSgKICAgICAgICAgICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gMCwKICAgICAgICAgICAgICAgIENVUkxPUFRfSEVBREVSID0+IDAsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VUID0+IDE1MCwKICAgICAgICAgICAgICAgIENVUkxPUFRfSEVBREVSRlVOQ1RJT04gPT4gJ2NhbGxiYWNrJywKICAgICAgICAgICAgICAgIENVUkxPUFRfSFRUUEhFQURFUiA9PiBhcnJheSgnQWNjZXB0OicsICdIb3N0OiB3d3cuZ29vZ2xlLmNvbScsICdVc2VyLUFnZW50OiAnIC4gJHVzZXJBZ2VudCksCiAgICAgICAgICAgICAgICBDVVJMT1BUX05PQk9EWSA9PiAxCiAgICAgICAgICAgICkpLAogICAgICAgICAgICAvLyBTZW5kIGEgR0VUIHVzaW5nIGJhc2ljIGF1dGgKICAgICAgICAgICAgYXJyYXkoJ0dFVCcsICdodHRwczovL21pY2hhZWw6MTIzQGxvY2FsaG9zdC9pbmRleC5odG1sP3E9MicsIG51bGwsIG51bGwsIGFycmF5KAogICAgICAgICAgICAgICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiAwLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9IRUFERVIgPT4gMCwKICAgICAgICAgICAgICAgIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQgPT4gMTUwLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9XUklURUZVTkNUSU9OID0+ICdjYWxsYmFjaycsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hFQURFUkZVTkNUSU9OID0+ICdjYWxsYmFjaycsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0FjY2VwdDonLAogICAgICAgICAgICAgICAgICAgICdIb3N0OiBsb2NhbGhvc3QnLAogICAgICAgICAgICAgICAgICAgICdBdXRob3JpemF0aW9uOiBCYXNpYyAnIC4gJGF1dGgsCiAgICAgICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQ6ICcgLiAkdXNlckFnZW50CiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9QT1JUID0+IDQ0MwogICAgICAgICAgICApKSwKICAgICAgICAgICAgLy8gU2VuZCBhIEdFVCByZXF1ZXN0IHdpdGggY3VzdG9tIGhlYWRlcnMKICAgICAgICAgICAgYXJyYXkoJ0dFVCcsICdodHRwOi8vbG9jYWxob3N0OjgxMjQvJywgYXJyYXkoCiAgICAgICAgICAgICAgICAneC10ZXN0LWRhdGEnID0+ICdHdXp6bGUnCiAgICAgICAgICAgICksIG51bGwsIGFycmF5KAogICAgICAgICAgICAgICAgQ1VSTE9QVF9QT1JUID0+IDgxMjQsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0FjY2VwdDonLAogICAgICAgICAgICAgICAgICAgICdIb3N0OiBsb2NhbGhvc3Q6ODEyNCcsCiAgICAgICAgICAgICAgICAgICAgJ3gtdGVzdC1kYXRhOiBHdXp6bGUnLAogICAgICAgICAgICAgICAgICAgICdVc2VyLUFnZW50OiAnIC4gJHVzZXJBZ2VudAogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgICAgICdIb3N0JyAgICAgICAgICAgICA9PiAnKicsCiAgICAgICAgICAgICAgICAnVXNlci1BZ2VudCcgICAgICAgPT4gJyonLAogICAgICAgICAgICAgICAgJ3gtdGVzdC1kYXRhJyAgICAgID0+ICdHdXp6bGUnCiAgICAgICAgICAgICkpLAogICAgICAgICAgICAvLyBTZW5kIGEgUE9TVCB1c2luZyBhIHF1ZXJ5IHN0cmluZwogICAgICAgICAgICBhcnJheSgnUE9TVCcsICdodHRwOi8vbG9jYWxob3N0OjgxMjQvcG9zdC5waHAnLCBudWxsLCAkcXMsIGFycmF5KAogICAgICAgICAgICAgICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiAwLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9IRUFERVIgPT4gMCwKICAgICAgICAgICAgICAgIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQgPT4gMTUwLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9XUklURUZVTkNUSU9OID0+ICdjYWxsYmFjaycsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hFQURFUkZVTkNUSU9OID0+ICdjYWxsYmFjaycsCiAgICAgICAgICAgICAgICBDVVJMT1BUX1BPU1RGSUVMRFMgPT4gJ3g9eSZ6PWEnLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9IVFRQSEVBREVSID0+IGFycmF5ICgKICAgICAgICAgICAgICAgICAgICAnRXhwZWN0OicsCiAgICAgICAgICAgICAgICAgICAgJ0FjY2VwdDonLAogICAgICAgICAgICAgICAgICAgICdIb3N0OiBsb2NhbGhvc3Q6ODEyNCcsCiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0Zi04JywKICAgICAgICAgICAgICAgICAgICAnVXNlci1BZ2VudDogJyAuICR1c2VyQWdlbnQKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSwgYXJyYXkoCiAgICAgICAgICAgICAgICAnSG9zdCcgICAgICAgICAgICAgPT4gJyonLAogICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQnICAgICAgID0+ICcqJywKICAgICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgICA9PiAnNycsCiAgICAgICAgICAgICAgICAnIUV4cGVjdCcgICAgICAgICAgPT4gbnVsbCwKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnICAgICA9PiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0Zi04JywKICAgICAgICAgICAgICAgICchVHJhbnNmZXItRW5jb2RpbmcnID0+IG51bGwKICAgICAgICAgICAgKSksCiAgICAgICAgICAgIC8vIFNlbmQgYSBQVVQgdXNpbmcgcmF3IGRhdGEKICAgICAgICAgICAgYXJyYXkoJ1BVVCcsICdodHRwOi8vbG9jYWxob3N0OjgxMjQvcHV0LnBocCcsIG51bGwsIEVudGl0eUJvZHk6OmZhY3RvcnkoZm9wZW4oJHRlc3RGaWxlLCAncisnKSksIGFycmF5KAogICAgICAgICAgICAgICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiAwLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9IRUFERVIgPT4gMCwKICAgICAgICAgICAgICAgIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQgPT4gMTUwLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9XUklURUZVTkNUSU9OID0+ICdjYWxsYmFjaycsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hFQURFUkZVTkNUSU9OID0+ICdjYWxsYmFjaycsCiAgICAgICAgICAgICAgICBDVVJMT1BUX1JFQURGVU5DVElPTiA9PiAnY2FsbGJhY2snLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9JTkZJTEVTSVpFID0+IGZpbGVzaXplKCR0ZXN0RmlsZSksCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gYXJyYXkgKAogICAgICAgICAgICAgICAgICAgICdFeHBlY3Q6JywKICAgICAgICAgICAgICAgICAgICAnQWNjZXB0OicsCiAgICAgICAgICAgICAgICAgICAgJ0hvc3Q6IGxvY2FsaG9zdDo4MTI0JywKICAgICAgICAgICAgICAgICAgICAnVXNlci1BZ2VudDogJyAuICR1c2VyQWdlbnQKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSwgYXJyYXkoCiAgICAgICAgICAgICAgICAnSG9zdCcgICAgICAgICAgICAgPT4gJyonLAogICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQnICAgICAgID0+ICcqJywKICAgICAgICAgICAgICAgICchRXhwZWN0JyAgICAgICAgICAgPT4gbnVsbCwKICAgICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgICA9PiAkdGVzdEZpbGVTaXplLAogICAgICAgICAgICAgICAgJyFUcmFuc2Zlci1FbmNvZGluZycgPT4gbnVsbAogICAgICAgICAgICApKSwKICAgICAgICAgICAgLy8gU2VuZCBhIFBPU1QgcmVxdWVzdCB1c2luZyBhbiBhcnJheSBvZiBmaWVsZHMKICAgICAgICAgICAgYXJyYXkoJ1BPU1QnLCAnaHR0cDovL2xvY2FsaG9zdDo4MTI0L3Bvc3QucGhwJywgbnVsbCwgYXJyYXkoCiAgICAgICAgICAgICAgICAneCcgPT4gJ3knLAogICAgICAgICAgICAgICAgJ2EnID0+ICdiJwogICAgICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gMCwKICAgICAgICAgICAgICAgIENVUkxPUFRfSEVBREVSID0+IDAsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VUID0+IDE1MCwKICAgICAgICAgICAgICAgIENVUkxPUFRfV1JJVEVGVU5DVElPTiA9PiAnY2FsbGJhY2snLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9IRUFERVJGVU5DVElPTiA9PiAnY2FsbGJhY2snLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9QT1NUID0+IDEsCiAgICAgICAgICAgICAgICBDVVJMT1BUX1BPU1RGSUVMRFMgPT4gJ3g9eSZhPWInLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9IVFRQSEVBREVSID0+IGFycmF5ICgKICAgICAgICAgICAgICAgICAgICAnRXhwZWN0OicsCiAgICAgICAgICAgICAgICAgICAgJ0FjY2VwdDonLAogICAgICAgICAgICAgICAgICAgICdIb3N0OiBsb2NhbGhvc3Q6ODEyNCcsCiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0Zi04JywKICAgICAgICAgICAgICAgICAgICAnVXNlci1BZ2VudDogJyAuICR1c2VyQWdlbnQKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSwgYXJyYXkoCiAgICAgICAgICAgICAgICAnSG9zdCcgICAgICAgICAgICAgPT4gJyonLAogICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQnICAgICAgID0+ICcqJywKICAgICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgICA9PiAnNycsCiAgICAgICAgICAgICAgICAnIUV4cGVjdCcgICAgICAgICAgPT4gbnVsbCwKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnICAgICA9PiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0Zi04JywKICAgICAgICAgICAgICAgICchVHJhbnNmZXItRW5jb2RpbmcnID0+IG51bGwKICAgICAgICAgICAgKSksCiAgICAgICAgICAgIC8vIFNlbmQgYSBQT1NUIHJlcXVlc3Qgd2l0aCByYXcgUE9TVCBkYXRhIGFuZCBhIGN1c3RvbSBjb250ZW50LXR5cGUKICAgICAgICAgICAgYXJyYXkoJ1BPU1QnLCAnaHR0cDovL2xvY2FsaG9zdDo4MTI0L3Bvc3QucGhwJywgYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiAnYXBwbGljYXRpb24vanNvbicKICAgICAgICAgICAgKSwgJ3siaGkiOiJ0aGVyZSJ9JywgYXJyYXkoCiAgICAgICAgICAgICAgICBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSID0+IDAsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hFQURFUiA9PiAwLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCA9PiAxNTAsCiAgICAgICAgICAgICAgICBDVVJMT1BUX1dSSVRFRlVOQ1RJT04gPT4gJ2NhbGxiYWNrJywKICAgICAgICAgICAgICAgIENVUkxPUFRfSEVBREVSRlVOQ1RJT04gPT4gJ2NhbGxiYWNrJywKICAgICAgICAgICAgICAgIENVUkxPUFRfQ1VTVE9NUkVRVUVTVCA9PiAnUE9TVCcsCiAgICAgICAgICAgICAgICBDVVJMT1BUX1VQTE9BRCA9PiB0cnVlLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9JTkZJTEVTSVpFID0+IDE0LAogICAgICAgICAgICAgICAgQ1VSTE9QVF9IVFRQSEVBREVSID0+IGFycmF5ICgKICAgICAgICAgICAgICAgICAgICAnRXhwZWN0OicsCiAgICAgICAgICAgICAgICAgICAgJ0FjY2VwdDonLAogICAgICAgICAgICAgICAgICAgICdIb3N0OiBsb2NhbGhvc3Q6ODEyNCcsCiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQ6ICcgLiAkdXNlckFnZW50CiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgICAgICdIb3N0JyAgICAgICAgICAgICA9PiAnKicsCiAgICAgICAgICAgICAgICAnVXNlci1BZ2VudCcgICAgICAgPT4gJyonLAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgICAgID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICchRXhwZWN0JyAgICAgICAgICA9PiBudWxsLAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoJyAgID0+ICcxNCcsCiAgICAgICAgICAgICAgICAnIVRyYW5zZmVyLUVuY29kaW5nJyA9PiBudWxsCiAgICAgICAgICAgICkpLAogICAgICAgICAgICAvLyBTZW5kIGEgUE9TVCByZXF1ZXN0IHdpdGggcmF3IFBPU1QgZGF0YSwgYSBjdXN0b20gY29udGVudC10eXBlLCBhbmQgdXNlIGNodW5rZWQgZW5jb2RpbmcKICAgICAgICAgICAgYXJyYXkoJ1BPU1QnLCAnaHR0cDovL2xvY2FsaG9zdDo4MTI0L3Bvc3QucGhwJywgYXJyYXkoCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyAgICAgID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICdUcmFuc2Zlci1FbmNvZGluZycgPT4gJ2NodW5rZWQnCiAgICAgICAgICAgICksICd7ImhpIjoidGhlcmUifScsIGFycmF5KAogICAgICAgICAgICAgICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiAwLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9IRUFERVIgPT4gMCwKICAgICAgICAgICAgICAgIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQgPT4gMTUwLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9XUklURUZVTkNUSU9OID0+ICdjYWxsYmFjaycsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hFQURFUkZVTkNUSU9OID0+ICdjYWxsYmFjaycsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0NVU1RPTVJFUVVFU1QgPT4gJ1BPU1QnLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9VUExPQUQgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgIENVUkxPUFRfSFRUUEhFQURFUiA9PiBhcnJheSAoCiAgICAgICAgICAgICAgICAgICAgJ0V4cGVjdDonLAogICAgICAgICAgICAgICAgICAgICdBY2NlcHQ6JywKICAgICAgICAgICAgICAgICAgICAnSG9zdDogbG9jYWxob3N0OjgxMjQnLAogICAgICAgICAgICAgICAgICAgICdUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZCcsCiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQ6ICcgLiAkdXNlckFnZW50CiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgICAgICdIb3N0JyAgICAgICAgICAgICA9PiAnKicsCiAgICAgICAgICAgICAgICAnVXNlci1BZ2VudCcgICAgICAgPT4gJyonLAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgICAgID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICchRXhwZWN0JyAgICAgICAgICA9PiBudWxsLAogICAgICAgICAgICAgICAgJ1RyYW5zZmVyLUVuY29kaW5nJyA9PiAnY2h1bmtlZCcsCiAgICAgICAgICAgICAgICAnIUNvbnRlbnQtTGVuZ3RoJyAgPT4gJycKICAgICAgICAgICAgKSksCiAgICAgICAgICAgIC8vIFNlbmQgYSBQT1NUIHJlcXVlc3Qgd2l0aCBubyBib2R5CiAgICAgICAgICAgIGFycmF5KCdQT1NUJywgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODEyNC9wb3N0LnBocCcsIG51bGwsICcnLCBhcnJheSgKICAgICAgICAgICAgICAgIENVUkxPUFRfQ1VTVE9NUkVRVUVTVCA9PiAnUE9TVCcsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gYXJyYXkgKAogICAgICAgICAgICAgICAgICAgICdFeHBlY3Q6JywKICAgICAgICAgICAgICAgICAgICAnQWNjZXB0OicsCiAgICAgICAgICAgICAgICAgICAgJ0hvc3Q6IGxvY2FsaG9zdDo4MTI0JywKICAgICAgICAgICAgICAgICAgICAnVXNlci1BZ2VudDogJyAuICR1c2VyQWdlbnQKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSwgYXJyYXkoCiAgICAgICAgICAgICAgICAnSG9zdCcgICAgICAgICAgICAgPT4gJyonLAogICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQnICAgICAgID0+ICcqJywKICAgICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgICA9PiAnMCcsCiAgICAgICAgICAgICAgICAnIVRyYW5zZmVyLUVuY29kaW5nJyA9PiBudWxsCiAgICAgICAgICAgICkpLAogICAgICAgICAgICAvLyBTZW5kIGEgUE9TVCByZXF1ZXN0IHdpdGggZW1wdHkgcG9zdCBmaWVsZHMKICAgICAgICAgICAgYXJyYXkoJ1BPU1QnLCAnaHR0cDovL2xvY2FsaG9zdDo4MTI0L3Bvc3QucGhwJywgbnVsbCwgYXJyYXkoKSwgYXJyYXkoCiAgICAgICAgICAgICAgICBDVVJMT1BUX0NVU1RPTVJFUVVFU1QgPT4gJ1BPU1QnLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9IVFRQSEVBREVSID0+IGFycmF5ICgKICAgICAgICAgICAgICAgICAgICAnRXhwZWN0OicsCiAgICAgICAgICAgICAgICAgICAgJ0FjY2VwdDonLAogICAgICAgICAgICAgICAgICAgICdIb3N0OiBsb2NhbGhvc3Q6ODEyNCcsCiAgICAgICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQ6ICcgLiAkdXNlckFnZW50CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksIGFycmF5KAogICAgICAgICAgICAgICAgJ0hvc3QnICAgICAgICAgICAgID0+ICcqJywKICAgICAgICAgICAgICAgICdVc2VyLUFnZW50JyAgICAgICA9PiAnKicsCiAgICAgICAgICAgICAgICAnQ29udGVudC1MZW5ndGgnICAgPT4gJzAnLAogICAgICAgICAgICAgICAgJyFUcmFuc2Zlci1FbmNvZGluZycgPT4gbnVsbAogICAgICAgICAgICApKSwKICAgICAgICAgICAgLy8gU2VuZCBhIFBBVENIIHJlcXVlc3QKICAgICAgICAgICAgYXJyYXkoJ1BBVENIJywgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODEyNC9wYXRjaC5waHAnLCBudWxsLCAnYm9keScsIGFycmF5KAogICAgICAgICAgICAgICAgQ1VSTE9QVF9JTkZJTEVTSVpFID0+IDQsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gYXJyYXkgKAogICAgICAgICAgICAgICAgICAgICdFeHBlY3Q6JywKICAgICAgICAgICAgICAgICAgICAnQWNjZXB0OicsCiAgICAgICAgICAgICAgICAgICAgJ0hvc3Q6IGxvY2FsaG9zdDo4MTI0JywKICAgICAgICAgICAgICAgICAgICAnVXNlci1BZ2VudDogJyAuICR1c2VyQWdlbnQKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSksCiAgICAgICAgICAgIC8vIFNlbmQgYSBERUxFVEUgcmVxdWVzdCB3aXRoIGEgYm9keQogICAgICAgICAgICBhcnJheSgnREVMRVRFJywgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODEyNC9kZWxldGUucGhwJywgbnVsbCwgJ2JvZHknLCBhcnJheSgKICAgICAgICAgICAgICAgIENVUkxPUFRfQ1VTVE9NUkVRVUVTVCA9PiAnREVMRVRFJywKICAgICAgICAgICAgICAgIENVUkxPUFRfSU5GSUxFU0laRSA9PiA0LAogICAgICAgICAgICAgICAgQ1VSTE9QVF9IVFRQSEVBREVSID0+IGFycmF5ICgKICAgICAgICAgICAgICAgICAgICAnRXhwZWN0OicsCiAgICAgICAgICAgICAgICAgICAgJ0FjY2VwdDonLAogICAgICAgICAgICAgICAgICAgICdIb3N0OiBsb2NhbGhvc3Q6ODEyNCcsCiAgICAgICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQ6ICcgLiAkdXNlckFnZW50CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksIGFycmF5KAogICAgICAgICAgICAgICAgJ0hvc3QnICAgICAgICAgICAgID0+ICcqJywKICAgICAgICAgICAgICAgICdVc2VyLUFnZW50JyAgICAgICA9PiAnKicsCiAgICAgICAgICAgICAgICAnQ29udGVudC1MZW5ndGgnICAgPT4gJzQnLAogICAgICAgICAgICAgICAgJyFFeHBlY3QnICAgICAgICAgICAgPT4gbnVsbCwKICAgICAgICAgICAgICAgICchVHJhbnNmZXItRW5jb2RpbmcnID0+IG51bGwKICAgICAgICAgICAgKSksCgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogU2VuZCBhIHJlcXVlc3Qgd2l0aCBlbXB0eSBwYXRoIGFuZCBhIGZyYWdtZW50IC0gdGhlIGZyYWdtZW50IG11c3QgYmUKICAgICAgICAgICAgICogc3RyaXBwZWQgb3V0IGJlZm9yZSBzZW5kaW5nIGl0IHRvIGN1cmwKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQGlzc3VlIDQ1MwogICAgICAgICAgICAgKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vZ3V6emxlL2d1enpsZS9pc3N1ZXMvNDUzCiAgICAgICAgICAgICAqLwogICAgICAgICAgICBhcnJheSgnR0VUJywgJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbSNoZWFkJywgbnVsbCwgbnVsbCwgYXJyYXkoCiAgICAgICAgICAgICAgICBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSID0+IDAsCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hFQURFUiA9PiAwLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCA9PiAxNTAsCiAgICAgICAgICAgICAgICBDVVJMT1BUX1dSSVRFRlVOQ1RJT04gPT4gJ2NhbGxiYWNrJywKICAgICAgICAgICAgICAgIENVUkxPUFRfSEVBREVSRlVOQ1RJT04gPT4gJ2NhbGxiYWNrJywKICAgICAgICAgICAgICAgIENVUkxPUFRfSFRUUEhFQURFUiA9PiBhcnJheSgnQWNjZXB0OicsICdIb3N0OiB3d3cuZ29vZ2xlLmNvbScsICdVc2VyLUFnZW50OiAnIC4gJHVzZXJBZ2VudCksCiAgICAgICAgICAgICkpLAogICAgICAgICk7CgogICAgICAgICRwb3N0VGVzdCA9IGFycmF5KCdQT1NUJywgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODEyNC9wb3N0LnBocCcsIG51bGwsICRwb3N0Qm9keSwgYXJyYXkoCiAgICAgICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gMCwKICAgICAgICAgICAgQ1VSTE9QVF9IRUFERVIgPT4gMCwKICAgICAgICAgICAgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCA9PiAxNTAsCiAgICAgICAgICAgIENVUkxPUFRfV1JJVEVGVU5DVElPTiA9PiAnY2FsbGJhY2snLAogICAgICAgICAgICBDVVJMT1BUX0hFQURFUkZVTkNUSU9OID0+ICdjYWxsYmFjaycsCiAgICAgICAgICAgIENVUkxPUFRfUE9TVCA9PiAxLAogICAgICAgICAgICBDVVJMT1BUX1BPU1RGSUVMRFMgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZmlsZScgPT4gJ0AnIC4gJHRlc3RGaWxlIC4gJztmaWxlbmFtZT1waHB1bml0LnhtbC5kaXN0O3R5cGU9YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJwogICAgICAgICAgICApLAogICAgICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gYXJyYXkgKAogICAgICAgICAgICAgICAgJ0FjY2VwdDonLAogICAgICAgICAgICAgICAgJ0hvc3Q6IGxvY2FsaG9zdDo4MTI0JywKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGU6IG11bHRpcGFydC9mb3JtLWRhdGEnLAogICAgICAgICAgICAgICAgJ0V4cGVjdDogMTAwLUNvbnRpbnVlJywKICAgICAgICAgICAgICAgICdVc2VyLUFnZW50OiAnIC4gJHVzZXJBZ2VudAogICAgICAgICAgICApCiAgICAgICAgKSwgYXJyYXkoCiAgICAgICAgICAgICdIb3N0JyAgICAgICAgICAgICA9PiAnKicsCiAgICAgICAgICAgICdVc2VyLUFnZW50JyAgICAgICA9PiAnKicsCiAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgICA9PiAnKicsCiAgICAgICAgICAgICdFeHBlY3QnICAgICAgICAgICA9PiAnMTAwLUNvbnRpbnVlJywKICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgICAgID0+ICdtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0qJywKICAgICAgICAgICAgJyFUcmFuc2Zlci1FbmNvZGluZycgPT4gbnVsbAogICAgICAgICkpOwoKICAgICAgICBpZiAodmVyc2lvbl9jb21wYXJlKHBocHZlcnNpb24oKSwgJzUuNS4wJywgJz49JykpIHsKICAgICAgICAgICAgJHBvc3RUZXN0WzRdW0NVUkxPUFRfUE9TVEZJRUxEU10gPSBhcnJheSgKICAgICAgICAgICAgICAgICdmaWxlJyA9PiBuZXcgXEN1cmxGaWxlKCR0ZXN0RmlsZSwgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsICdwaHB1bml0LnhtbC5kaXN0JykKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICR0ZXN0c1tdID0gJHBvc3RUZXN0OwoKICAgICAgICByZXR1cm4gJHRlc3RzOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciBkYXRhUHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGYWN0b3J5Q3JlYXRlc0N1cmxCYXNlZE9uUmVxdWVzdCgkbWV0aG9kLCAkdXJsLCAkaGVhZGVycywgJGJvZHksICRvcHRpb25zLCAkZXhwZWN0ZWRIZWFkZXJzID0gbnVsbCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Y3JlYXRlUmVxdWVzdCgkbWV0aG9kLCAkdXJsLCAkaGVhZGVycywgJGJvZHkpOwogICAgICAgICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5zZXQoJ2RlYnVnJywgdHJ1ZSk7CgogICAgICAgICRvcmlnaW5hbFJlcXVlc3QgPSBjbG9uZSAkcmVxdWVzdDsKICAgICAgICAkY3VybFRlc3QgPSBjbG9uZSAkcmVxdWVzdDsKICAgICAgICAkaGFuZGxlID0gQ3VybEhhbmRsZTo6ZmFjdG9yeSgkY3VybFRlc3QpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFxIdHRwXFxDdXJsXFxDdXJsSGFuZGxlJywgJGhhbmRsZSk7CiAgICAgICAgJG8gPSAkaGFuZGxlLT5nZXRPcHRpb25zKCktPmdldEFsbCgpOwoKICAgICAgICAvLyBIZWFkZXJzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCiAgICAgICAgaWYgKGlzc2V0KCRvW0NVUkxPUFRfSFRUUEhFQURFUl0pKSB7CiAgICAgICAgICAgICRvW0NVUkxPUFRfSFRUUEhFQURFUl0gPSBhcnJheV9tYXAoJ3N0cnRvbG93ZXInLCAkb1tDVVJMT1BUX0hUVFBIRUFERVJdKTsKICAgICAgICB9CiAgICAgICAgaWYgKGlzc2V0KCRvcHRpb25zW0NVUkxPUFRfSFRUUEhFQURFUl0pKSB7CiAgICAgICAgICAgICRvcHRpb25zW0NVUkxPUFRfSFRUUEhFQURFUl0gPSBhcnJheV9tYXAoJ3N0cnRvbG93ZXInLCAkb3B0aW9uc1tDVVJMT1BUX0hUVFBIRUFERVJdKTsKICAgICAgICB9CgogICAgICAgICRjaGVjayA9IDA7CiAgICAgICAgZm9yZWFjaCAoJG9wdGlvbnMgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgJGNoZWNrKys7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgka2V5LCAkbywgJy0+IENoZWNrIG51bWJlciAnIC4gJGNoZWNrKTsKICAgICAgICAgICAgaWYgKCRrZXkgIT0gQ1VSTE9QVF9IVFRQSEVBREVSICYmICRrZXkgIT0gQ1VSTE9QVF9QT1NURklFTERTICYmIChpc19hcnJheSgkb1ska2V5XSkpIHx8ICRvWyRrZXldIGluc3RhbmNlb2YgXENsb3N1cmUpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2NhbGxiYWNrJywgJHZhbHVlLCAnLT4gQ2hlY2sgbnVtYmVyICcgLiAkY2hlY2spOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHZhbHVlID09ICRvWyRrZXldLCAnLT4gQ2hlY2sgbnVtYmVyICcgLiAkY2hlY2sgLiAnIC0gJyAuIHZhcl9leHBvcnQoJHZhbHVlLCB0cnVlKSAuICcgIT0gJyAuIHZhcl9leHBvcnQoJG9bJGtleV0sIHRydWUpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gSWYgd2UgYXJlIHRlc3RpbmcgdGhlIGFjdHVhbCBzZW50IGhlYWRlcnMKICAgICAgICBpZiAoJGV4cGVjdGVkSGVhZGVycykgewoKICAgICAgICAgICAgLy8gU2VuZCB0aGUgcmVxdWVzdCB0byB0aGUgdGVzdCBzZXJ2ZXIKICAgICAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRDbGllbnQoJGNsaWVudCk7CiAgICAgICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIpOwogICAgICAgICAgICAkcmVxdWVzdC0+c2VuZCgpOwoKICAgICAgICAgICAgLy8gR2V0IHRoZSByZXF1ZXN0IHRoYXQgd2FzIHNlbnQgYW5kIGNyZWF0ZSBhIHJlcXVlc3QgdGhhdCB3ZSBleHBlY3RlZAogICAgICAgICAgICAkcmVxdWVzdHMgPSAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHModHJ1ZSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJG1ldGhvZCwgJHJlcXVlc3RzWzBdLT5nZXRNZXRob2QoKSk7CgogICAgICAgICAgICAkdGVzdCA9ICR0aGlzLT5jb21wYXJlSGVhZGVycygkZXhwZWN0ZWRIZWFkZXJzLCAkcmVxdWVzdHNbMF0tPmdldEhlYWRlcnMoKSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGVzdCwgJHRlc3QgLiAiXG5TZW50OiBcbiIgLiAkcmVxdWVzdCAuICJcblxuIiAuICRyZXF1ZXN0c1swXSk7CgogICAgICAgICAgICAvLyBFbnN1cmUgb25seSBvbmUgQ29udGVudC1MZW5ndGggaGVhZGVyIGlzIHNlbnQKICAgICAgICAgICAgaWYgKCRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJykpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcignQ29udGVudC1MZW5ndGgnKSwgKHN0cmluZykgJHJlcXVlc3RzWzBdLT5nZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJykpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeVVzZXNTcGVjaWZpZWRQcm90b2NvbCgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdHRVQnLCAnaHR0cDovL2xvY2FsaG9zdDo4MTI0LycpOwogICAgICAgICRyZXF1ZXN0LT5zZXRQcm90b2NvbFZlcnNpb24oJzEuMScpOwogICAgICAgICRoYW5kbGUgPSBDdXJsSGFuZGxlOjpmYWN0b3J5KCRyZXF1ZXN0KTsKICAgICAgICAkb3B0aW9ucyA9ICRoYW5kbGUtPmdldE9wdGlvbnMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKENVUkxfSFRUUF9WRVJTSU9OXzFfMSwgJG9wdGlvbnNbQ1VSTE9QVF9IVFRQX1ZFUlNJT05dKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVwbG9hZHNQdXREYXRhKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDJcclxuXHJcbmhpIik7CgogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+cHV0KCcvJyk7CiAgICAgICAgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPnNldCgnZGVidWcnLCB0cnVlKTsKICAgICAgICAkcmVxdWVzdC0+c2V0Qm9keShFbnRpdHlCb2R5OjpmYWN0b3J5KCd0ZXN0JyksICd0ZXh0L3BsYWluJywgZmFsc2UpOwogICAgICAgICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5zZXQoJ3Byb2dyZXNzJywgdHJ1ZSk7CgogICAgICAgICRvID0gJHRoaXMtPmdldFdpbGRjYXJkT2JzZXJ2ZXIoJHJlcXVlc3QpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CgogICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBldmVudHMgd2VyZSBkaXNwYXRjaGVkCiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJG8tPmhhcygnY3VybC5jYWxsYmFjay5wcm9ncmVzcycpKTsKCiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIHJlcXVlc3Qgd2FzIHJlY2VpdmVkIGV4YWN0bHkgYXMgaW50ZW5kZWQKICAgICAgICAkciA9ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cyh0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHJbMF0tPmhhc0hlYWRlcignVHJhbnNmZXItRW5jb2RpbmcnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg0LCAoc3RyaW5nKSAkclswXS0+Z2V0SGVhZGVyKCdDb250ZW50LUxlbmd0aCcpKTsKICAgICAgICAkc2VudCA9IHN0cnRvbG93ZXIoJHJbMF0pOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygncHV0IC8gaHR0cC8xLjEnLCAkc2VudCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdob3N0OiAxMjcuMC4wLjEnLCAkc2VudCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCd1c2VyLWFnZW50OicsICRzZW50KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ2NvbnRlbnQtdHlwZTogdGV4dC9wbGFpbicsICRzZW50KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVwbG9hZHNQdXREYXRhVXNpbmdDaHVua2VkRW5jb2RpbmdXaGVuTGVuZ3RoQ2Fubm90QmVEZXRlcm1pbmVkKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAyXHJcblxyXG5oaSIKICAgICAgICApKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnB1dCgnLycpOwogICAgICAgICRyZXF1ZXN0LT5zZXRCb2R5KEVudGl0eUJvZHk6OmZhY3RvcnkoZm9wZW4oJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSwgJ3InKSksICd0ZXh0L3BsYWluJyk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKCiAgICAgICAgJHIgPSAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHModHJ1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnY2h1bmtlZCcsICRyWzFdLT5nZXRIZWFkZXIoJ1RyYW5zZmVyLUVuY29kaW5nJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkclsxXS0+aGFzSGVhZGVyKCdDb250ZW50LUxlbmd0aCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVwbG9hZHNQdXREYXRhVXNpbmdDaHVua2VkRW5jb2RpbmdXaGVuRm9yY2VkKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDJcclxuXHJcbmhpIik7CgogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+cHV0KCcvJywgYXJyYXkoJ1RyYW5zZmVyLUVuY29kaW5nJyA9PiAnY2h1bmtlZCcpLCAnaGkhJyk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKCiAgICAgICAgJHIgPSAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHModHJ1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnY2h1bmtlZCcsICRyWzBdLT5nZXRIZWFkZXIoJ1RyYW5zZmVyLUVuY29kaW5nJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkclswXS0+aGFzSGVhZGVyKCdDb250ZW50LUxlbmd0aCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdoaSEnLCAkclswXS0+Z2V0Qm9keSh0cnVlKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZW5kc1Bvc3RSZXF1ZXN0c1dpdGhGaWVsZHMoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMlxyXG5cclxuaGkiKTsKCiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQT1NUJywgJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPnNldCgnZGVidWcnLCB0cnVlKTsKICAgICAgICAkcmVxdWVzdC0+c2V0Q2xpZW50KG5ldyBDbGllbnQoKSk7CiAgICAgICAgJHJlcXVlc3QtPmFkZFBvc3RGaWVsZHMoYXJyYXkoCiAgICAgICAgICAgICdhJyA9PiAnYicsCiAgICAgICAgICAgICdjJyA9PiAnYXkhIH5UaGlzIGlzIGEgdGVzdCwgaXNuXCd0IGl0PycKICAgICAgICApKTsKICAgICAgICAkcmVxdWVzdC0+c2VuZCgpOwoKICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgcmVxdWVzdCB3YXMgc2VudCBjb3JyZWN0bHkKICAgICAgICAkciA9ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cyh0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhPWImYz1heSUyMSUyMH5UaGlzJTIwaXMlMjBhJTIwdGVzdCUyQyUyMGlzbiUyN3QlMjBpdCUzRicsIChzdHJpbmcpICRyWzBdLT5nZXRCb2R5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkclswXS0+aGFzSGVhZGVyKCdUcmFuc2Zlci1FbmNvZGluZycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDU2LCAoc3RyaW5nKSAkclswXS0+Z2V0SGVhZGVyKCdDb250ZW50LUxlbmd0aCcpKTsKICAgICAgICAkc2VudCA9IHN0cnRvbG93ZXIoJHJbMF0pOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygncG9zdCAvIGh0dHAvMS4xJywgJHNlbnQpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9dXRmLTgnLCAkc2VudCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZW5kc1Bvc3RSZXF1ZXN0c1dpdGhGaWxlcygpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAyXHJcblxyXG5oaSIpOwoKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BPU1QnLCAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+c2V0KCdkZWJ1ZycsIHRydWUpOwogICAgICAgICRyZXF1ZXN0LT5zZXRDbGllbnQobmV3IENsaWVudCgpKTsKICAgICAgICAkcmVxdWVzdC0+YWRkUG9zdEZpbGVzKGFycmF5KAogICAgICAgICAgICAnZm9vJyA9PiBfX0ZJTEVfXywKICAgICAgICApKTsKICAgICAgICAkcmVxdWVzdC0+YWRkUG9zdEZpZWxkcyhhcnJheSgKICAgICAgICAgICAgJ2JhcicgPT4gJ2JheicsCiAgICAgICAgICAgICdhcnInID0+IGFycmF5KCdhJyA9PiAxLCAnYicgPT4gMiksCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPnVwZGF0ZUZvckhhbmRsZSgkcmVxdWVzdCk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKCiAgICAgICAgLy8gRW5zdXJlIHRoZSBDVVJMT1BUX1BPU1RGSUVMRFMgb3B0aW9uIHdhcyBzZXQgcHJvcGVybHkKICAgICAgICAkb3B0aW9ucyA9ICR0aGlzLT5yZXF1ZXN0SGFuZGxlLT5nZXRPcHRpb25zKCktPmdldEFsbCgpOwogICAgICAgIGlmICh2ZXJzaW9uX2NvbXBhcmUocGhwdmVyc2lvbigpLCAnNS41LjAnLCAnPCcpKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnQCcgLiBfX0ZJTEVfXyAuICc7ZmlsZW5hbWU9Q3VybEhhbmRsZVRlc3QucGhwO3R5cGU9dGV4dC94LScsICRvcHRpb25zW0NVUkxPUFRfUE9TVEZJRUxEU11bJ2ZvbyddKTsKICAgICAgICB9IGVsc2V7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdDVVJMRmlsZScsICRvcHRpb25zW0NVUkxPUFRfUE9TVEZJRUxEU11bJ2ZvbyddKTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmF6JywgJG9wdGlvbnNbQ1VSTE9QVF9QT1NURklFTERTXVsnYmFyJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEnLCAkb3B0aW9uc1tDVVJMT1BUX1BPU1RGSUVMRFNdWydhcnJbYV0nXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnMicsICRvcHRpb25zW0NVUkxPUFRfUE9TVEZJRUxEU11bJ2FycltiXSddKTsKICAgICAgICAvLyBFbnN1cmUgdGhhdCBhIENvbnRlbnQtTGVuZ3RoIGhlYWRlciB3YXMgc2VudCBieSBjVVJMCiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlcXVlc3QtPmhhc0hlYWRlcignQ29udGVudC1MZW5ndGgnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDdXJsQ29uZmlndXJhdGlvbk9wdGlvbnNBcmVTZXQoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUFVUJywgJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QtPnNldENsaWVudChuZXcgQ2xpZW50KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tJykpOwogICAgICAgICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5zZXQoQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgOTkpOwogICAgICAgICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5zZXQoJ2N1cmwuZmFrZV9vcHQnLCA5OSk7CiAgICAgICAgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPnNldChDVVJMT1BUX1BPUlQsIDgxODEpOwogICAgICAgICRoYW5kbGUgPSBDdXJsSGFuZGxlOjpmYWN0b3J5KCRyZXF1ZXN0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDk5LCAkaGFuZGxlLT5nZXRPcHRpb25zKCktPmdldChDVVJMT1BUX0NPTk5FQ1RUSU1FT1VUKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg4MTgxLCAkaGFuZGxlLT5nZXRPcHRpb25zKCktPmdldChDVVJMT1BUX1BPUlQpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkaGFuZGxlLT5nZXRPcHRpb25zKCktPmdldCgnY3VybC5mYWtlX29wdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkaGFuZGxlLT5nZXRPcHRpb25zKCktPmdldCgnZmFrZV9vcHQnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzUmVxdWVzdHNIYXZlUmVzcG9uc2VzV2hlblVwZGF0aW5nRnJvbVRyYW5zZmVyKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BVVCcsICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRoYW5kbGUgPSBDdXJsSGFuZGxlOjpmYWN0b3J5KCRyZXF1ZXN0KTsKICAgICAgICAkaGFuZGxlLT51cGRhdGVSZXF1ZXN0RnJvbVRyYW5zZmVyKCRyZXF1ZXN0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNlbmRCb2R5QXNTdHJpbmcoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIik7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wdXQoJy8nLCBudWxsLCAnZm9vJyk7CiAgICAgICAgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPnNldCgnYm9keV9hc19zdHJpbmcnLCB0cnVlKTsKICAgICAgICAkcmVxdWVzdC0+c2VuZCgpOwogICAgICAgICRyZXF1ZXN0cyA9ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cyhmYWxzZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdQVVQgLycsICRyZXF1ZXN0c1swXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCJcbmZvbyIsICRyZXF1ZXN0c1swXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdjb250ZW50LWxlbmd0aDogMycsICRyZXF1ZXN0c1swXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdENvbnRhaW5zKCdjb250ZW50LXR5cGUnLCAkcmVxdWVzdHNbMF0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2VuZFBvc3RCb2R5QXNTdHJpbmcoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIik7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wb3N0KCcvJywgbnVsbCwgJ2ZvbycpOwogICAgICAgICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5zZXQoJ2JvZHlfYXNfc3RyaW5nJywgdHJ1ZSk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkcmVxdWVzdHMgPSAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHMoZmFsc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnUE9TVCAvJywgJHJlcXVlc3RzWzBdKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoIlxuZm9vIiwgJHJlcXVlc3RzWzBdKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ2NvbnRlbnQtbGVuZ3RoOiAzJywgJHJlcXVlc3RzWzBdKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90Q29udGFpbnMoJ2NvbnRlbnQtdHlwZScsICRyZXF1ZXN0c1swXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NXaXJlVHJhbnNmZXJJbmZvVG9CZUVuYWJsZWQoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUFVUJywgJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPnNldCgnZGVidWcnLCB0cnVlKTsKICAgICAgICAkaGFuZGxlID0gQ3VybEhhbmRsZTo6ZmFjdG9yeSgkcmVxdWVzdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdE51bGwoJGhhbmRsZS0+Z2V0T3B0aW9ucygpLT5nZXQoQ1VSTE9QVF9TVERFUlIpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90TnVsbCgkaGFuZGxlLT5nZXRPcHRpb25zKCktPmdldChDVVJMT1BUX1ZFUkJPU0UpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNDdXN0b21DdXJsT3B0aW9ucygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQVVQnLCAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+c2V0KENVUkxPUFRfVElNRU9VVCwgMjAwKTsKICAgICAgICAkaGFuZGxlID0gQ3VybEhhbmRsZTo6ZmFjdG9yeSgkcmVxdWVzdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyMDAsICRoYW5kbGUtPmdldE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfVElNRU9VVCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2VuZHNQb3N0VXBsb2Fkc1dpdGhDb250ZW50RGlzcG9zaXRpb25IZWFkZXJzKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKCiAgICAgICAgJGZpbGVUb1VwbG9hZCA9IGRpcm5hbWUoZGlybmFtZShfX0RJUl9fKSkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ1Rlc3REYXRhJyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAndGVzdF9zZXJ2aWNlLmpzb24nOwoKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnBvc3QoKTsKICAgICAgICAkcmVxdWVzdC0+YWRkUG9zdEZpbGUoJ2ZvbycsICRmaWxlVG9VcGxvYWQsICdhcHBsaWNhdGlvbi9qc29uJyk7CiAgICAgICAgJHJlcXVlc3QtPmFkZFBvc3RGaWxlKCdmb28nLCBfX0ZJTEVfXyk7CgogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKHRydWUpOwogICAgICAgICRib2R5ID0gKHN0cmluZykgJHJlcXVlc3RzWzBdLT5nZXRCb2R5KCk7CgogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJmb29bMF0iOyBmaWxlbmFtZT0iJywgJGJvZHkpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uJywgJGJvZHkpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnQ29udGVudC1UeXBlOiB0ZXh0L3gtJywgJGJvZHkpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJmb29bMV0iOyBmaWxlbmFtZT0iJywgJGJvZHkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXF1ZXN0TWV0aG9kUHJvdmlkZXIoKQogICAgewogICAgICAgIHJldHVybiBhcnJheShhcnJheSgnUE9TVCcpLCBhcnJheSgnUFVUJyksIGFycmF5KCdQQVRDSCcpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgcmVxdWVzdE1ldGhvZFByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2VuZHNSZXF1ZXN0c1dpdGhOb0JvZHlVc2luZ0NvbnRlbnRMZW5ndGhaZXJvKCRtZXRob2QpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkY2xpZW50LT5jcmVhdGVSZXF1ZXN0KCRtZXRob2QpLT5zZW5kKCk7CiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkcmVxdWVzdHNbMF0tPmhhc0hlYWRlcignVHJhbnNmZXItRW5jb2RpbmcnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlcXVlc3RzWzBdLT5oYXNIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzAnLCAoc3RyaW5nKSAkcmVxdWVzdHNbMF0tPmdldEhlYWRlcignQ29udGVudC1MZW5ndGgnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIHByb3ZpZGVDdXJsQ29uZmlnCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGFyc2VDdXJsQ29uZmlnQ29udmVydHNTdHJpbmdLZXlzVG9Db25zdGFudEtleXMoJG9wdGlvbnMsICRleHBlY3RlZCkKICAgIHsKICAgICAgICAkYWN0dWFsID0gQ3VybEhhbmRsZTo6cGFyc2VDdXJsQ29uZmlnKCRvcHRpb25zKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRleHBlY3RlZCwgJGFjdHVhbCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBEYXRhIHByb3ZpZGVyIGZvciBjdXJsIGNvbmZpZ3VyYXRpb25zCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcHJvdmlkZUN1cmxDb25maWcoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgLy8gQ29udmVyc2lvbiBvZiBvcHRpb24gbmFtZSB0byBjb25zdGFudCB2YWx1ZQogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdDVVJMT1BUX1BPUlQnID0+IDEwLAogICAgICAgICAgICAgICAgICAgICdDVVJMT1BUX1RJTUVPVVQnID0+IDk5CiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgQ1VSTE9QVF9QT1JUID0+IDEwLAogICAgICAgICAgICAgICAgICAgIENVUkxPUFRfVElNRU9VVCA9PiA5OQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAogICAgICAgICAgICAvLyBLZWVwcyBub24gY29uc3RhbnQgb3B0aW9ucwogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KCdkZWJ1ZycgPT4gdHJ1ZSksCiAgICAgICAgICAgICAgICBhcnJheSgnZGVidWcnID0+IHRydWUpCiAgICAgICAgICAgICksCiAgICAgICAgICAgIC8vIENvbnZlcnNpb24gb2YgY29uc3RhbnQgbmFtZXMgdG8gY29uc3RhbnQgdmFsdWVzCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoJ2RlYnVnJyA9PiAnQ1VSTFBST1hZX0hUVFAnKSwKICAgICAgICAgICAgICAgIGFycmF5KCdkZWJ1ZycgPT4gQ1VSTFBST1hZX0hUVFApCiAgICAgICAgICAgICkKICAgICAgICApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2Vla3NUb0JlZ2lubmluZ09mU3RyZWFtV2hlblNlbmRpbmcoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIsCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIKICAgICAgICApKTsKCiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wdXQoJy8nLCBudWxsLCAndGVzdCcpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKCiAgICAgICAgJHJlY2VpdmVkID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJHJlY2VpdmVkKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsIChzdHJpbmcpICRyZWNlaXZlZFswXS0+Z2V0Qm9keSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgKHN0cmluZykgJHJlY2VpdmVkWzFdLT5nZXRCb2R5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzQ3VybG9wdEVuY29kaW5nVG9CZVNldCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKCiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJy8nLCBudWxsKTsKICAgICAgICAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+c2V0KENVUkxPUFRfRU5DT0RJTkcsICcnKTsKICAgICAgICAkdGhpcy0+dXBkYXRlRm9ySGFuZGxlKCRyZXF1ZXN0KTsKICAgICAgICAkcmVxdWVzdC0+c2VuZCgpOwogICAgICAgICRvcHRpb25zID0gJHRoaXMtPnJlcXVlc3RIYW5kbGUtPmdldE9wdGlvbnMoKS0+Z2V0QWxsKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJycsICRvcHRpb25zW0NVUkxPUFRfRU5DT0RJTkddKTsKICAgICAgICAkcmVjZWl2ZWQgPSAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHMoZmFsc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWluc0lucygnYWNjZXB0OiAqLyonLCAkcmVjZWl2ZWRbMF0pOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWluc0lucygnYWNjZXB0LWVuY29kaW5nOiAnLCAkcmVjZWl2ZWRbMF0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2VuZHNFeHBlY3RIZWFkZXJXaGVuU2l6ZUlzR3JlYXRlclRoYW5DdXRvZmYoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIik7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wdXQoJy8nLCBudWxsLCAndGVzdCcpOwogICAgICAgIC8vIFN0YXJ0IHNlbmRpbmcgdGhlIGV4cGVjdCBoZWFkZXIgdG8gMiBieXRlcwogICAgICAgICR0aGlzLT51cGRhdGVGb3JIYW5kbGUoJHJlcXVlc3QpOwogICAgICAgICRyZXF1ZXN0LT5zZXRFeHBlY3RIZWFkZXJDdXRvZmYoMiktPnNlbmQoKTsKICAgICAgICAkb3B0aW9ucyA9ICR0aGlzLT5yZXF1ZXN0SGFuZGxlLT5nZXRPcHRpb25zKCktPmdldEFsbCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnRXhwZWN0OiAxMDAtQ29udGludWUnLCAkb3B0aW9uc1tDVVJMT1BUX0hUVFBIRUFERVJdKTsKICAgICAgICAkcmVjZWl2ZWQgPSAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHMoZmFsc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWluc0lucygnZXhwZWN0OiAxMDAtY29udGludWUnLCAkcmVjZWl2ZWRbMF0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2V0c0N1cmxvcHRFbmNvZGluZ1doZW5BY2NlcHRFbmNvZGluZ0hlYWRlcklzU2V0KCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDRcclxuXHJcbmRhdGEiKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnLycsIGFycmF5KAogICAgICAgICAgICAnQWNjZXB0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgICAgICdBY2NlcHQtRW5jb2RpbmcnID0+ICdnemlwLCBkZWZsYXRlJywKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+dXBkYXRlRm9ySGFuZGxlKCRyZXF1ZXN0KTsKICAgICAgICAkcmVxdWVzdC0+c2VuZCgpOwogICAgICAgICRvcHRpb25zID0gJHRoaXMtPnJlcXVlc3RIYW5kbGUtPmdldE9wdGlvbnMoKS0+Z2V0QWxsKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJ2d6aXAsIGRlZmxhdGUnLCAkb3B0aW9uc1tDVVJMT1BUX0VOQ09ESU5HXSk7CiAgICAgICAgJHJlY2VpdmVkID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKGZhbHNlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnNJbnMoJ2FjY2VwdDogYXBwbGljYXRpb24vanNvbicsICRyZWNlaXZlZFswXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zSW5zKCdhY2NlcHQtZW5jb2Rpbmc6IGd6aXAsIGRlZmxhdGUnLCAkcmVjZWl2ZWRbMF0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2VuZHNQb3N0RmllbGRzRm9yTm9uUG9zdFJlcXVlc3RzKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKCiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnB1dCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpLCBudWxsLCBhcnJheSgKICAgICAgICAgICAgJ2ZvbycgPT4gJ2JheicsCiAgICAgICAgICAgICdiYXonID0+ICdiYXInCiAgICAgICAgKSk7CgogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BVVCcsICRyZXF1ZXN0c1swXS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoCiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9dXRmLTgnLAogICAgICAgICAgICAoc3RyaW5nKSAkcmVxdWVzdHNbMF0tPmdldEhlYWRlcignQ29udGVudC1UeXBlJykKICAgICAgICApOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTUsIChzdHJpbmcpICRyZXF1ZXN0c1swXS0+Z2V0SGVhZGVyKCdDb250ZW50LUxlbmd0aCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb289YmF6JmJhej1iYXInLCAoc3RyaW5nKSAkcmVxdWVzdHNbMF0tPmdldEJvZHkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZW5kc1Bvc3RGaWxlc0Zvck5vblBvc3RSZXF1ZXN0cygpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgMjAwIE9LXHJcblxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIik7CgogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wdXQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSwgbnVsbCwgYXJyYXkoCiAgICAgICAgICAgICdmb28nID0+ICdAJyAuIF9fRklMRV9fCiAgICAgICAgKSk7CgogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BVVCcsICRyZXF1ZXN0c1swXS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIChzdHJpbmcpICRyZXF1ZXN0c1swXS0+Z2V0SGVhZGVyKCdDb250ZW50LVR5cGUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCd0ZXN0U2VuZHNQb3N0RmlsZXNGb3JOb25Qb3N0UmVxdWVzdHMnLCAoc3RyaW5nKSAkcmVxdWVzdHNbMF0tPmdldEJvZHkoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiProxyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxDdXJsOwoKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXEN1cmxcQ3VybE11bHRpUHJveHk7CgovKioKICogQGdyb3VwIHNlcnZlcgogKiBAY292ZXJzIEd1enpsZVxIdHRwXEN1cmxcQ3VybE11bHRpUHJveHkKICovCmNsYXNzIEN1cmxNdWx0aVByb3h5VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqIEB2YXIgXEd1enpsZVxIdHRwXEN1cmxcQ3VybE11bHRpUHJveHkgKi8KICAgIHByaXZhdGUgJG11bHRpOwoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgcGFyZW50OjpzZXRVcCgpOwogICAgICAgICR0aGlzLT5tdWx0aSA9IG5ldyBDdXJsTXVsdGlQcm94eSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZWFyRG93bigpCiAgICB7CiAgICAgICAgdW5zZXQoJHRoaXMtPm11bHRpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbnN0cnVjdG9yU2V0c01heEhhbmRsZXMoKQogICAgewogICAgICAgICRtID0gbmV3IEN1cmxNdWx0aVByb3h5KDIpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJG0sICdtYXhIYW5kbGVzJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkaW5nUmVxdWVzdHNBZGRzVG9RdWV1ZSgpCiAgICB7CiAgICAgICAgJHIgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZm9vLmNvbScpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCR0aGlzLT5tdWx0aSwgJHRoaXMtPm11bHRpLT5hZGQoJHIpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCR0aGlzLT5tdWx0aSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJHIpLCAkdGhpcy0+bXVsdGktPmFsbCgpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPm11bHRpLT5yZW1vdmUoJHIpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHRoaXMtPm11bHRpLT5yZW1vdmUoJHIpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsIGNvdW50KCR0aGlzLT5tdWx0aSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVzZXRDbGVhcnNTdGF0ZSgpCiAgICB7CiAgICAgICAgJHIgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZm9vLmNvbScpOwogICAgICAgICR0aGlzLT5tdWx0aS0+YWRkKCRyKTsKICAgICAgICAkdGhpcy0+bXVsdGktPnJlc2V0KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCBjb3VudCgkdGhpcy0+bXVsdGkpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNlbmRXaWxsU2VuZFF1ZXVlZFJlcXVlc3RzRmlyc3QoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIsCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIKICAgICAgICApKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkZXZlbnRzID0gYXJyYXkoKTsKICAgICAgICAkY2xpZW50LT5nZXRDdXJsTXVsdGkoKS0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKAogICAgICAgICAgICBDdXJsTXVsdGlQcm94eTo6QUREX1JFUVVFU1QsCiAgICAgICAgICAgIGZ1bmN0aW9uICgkZSkgdXNlICgmJGV2ZW50cykgewogICAgICAgICAgICAgICAgJGV2ZW50c1tdID0gJGU7CiAgICAgICAgICAgIH0KICAgICAgICApOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCk7CiAgICAgICAgJHJlcXVlc3QtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcigncmVxdWVzdC5jb21wbGV0ZScsIGZ1bmN0aW9uICgpIHVzZSAoJGNsaWVudCkgewogICAgICAgICAgICAkY2xpZW50LT5nZXQoJy9mb28nKS0+c2VuZCgpOwogICAgICAgIH0pOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICAgICAgJHJlY2VpdmVkID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJHJlY2VpdmVkKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpLCAkcmVjZWl2ZWRbMF0tPmdldFVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkgLiAnZm9vJywgJHJlY2VpdmVkWzFdLT5nZXRVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkZXZlbnRzKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUcmltc0Rvd25NYXhIYW5kbGVDb3VudCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZShhcnJheSgKICAgICAgICAgICAgIkhUVFAvMS4xIDMwNyBPS1xyXG5Mb2NhdGlvbjogL2Zvb1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDMwNyBPS1xyXG5Mb2NhdGlvbjogL2Zvb1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDMwNyBPS1xyXG5Mb2NhdGlvbjogL2Zvb1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDMwNyBPS1xyXG5Mb2NhdGlvbjogL2Zvb1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIgogICAgICAgICkpOwogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRjbGllbnQtPnNldEN1cmxNdWx0aShuZXcgQ3VybE11bHRpUHJveHkoMikpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMCwgJHJlcXVlc3QtPmdldFJlc3BvbnNlKCktPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJGhhbmRsZXMgPSAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY2xpZW50LT5nZXRDdXJsTXVsdGkoKSwgJ2hhbmRsZXMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCRoYW5kbGVzKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxDdXJsOwoKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBHdXp6bGVcSHR0cFxFeGNlcHRpb25cQmFkUmVzcG9uc2VFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxFeGNlcHRpb25cTXVsdGlUcmFuc2ZlckV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RGYWN0b3J5Owp1c2UgR3V6emxlXEh0dHBcQ3VybFxDdXJsTXVsdGk7CnVzZSBHdXp6bGVcSHR0cFxFeGNlcHRpb25cQ3VybEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxUZXN0c1xNb2NrXE1vY2tNdWx0aTsKCi8qKgogKiBAZ3JvdXAgc2VydmVyCiAqIEBjb3ZlcnMgR3V6emxlXEh0dHBcQ3VybFxDdXJsTXVsdGkKICovCmNsYXNzIEN1cmxNdWx0aVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKiBAdmFyIFxHdXp6bGVcSHR0cFxDdXJsXEN1cmxNdWx0aSAqLwogICAgcHJpdmF0ZSAkbXVsdGk7CgogICAgLyoqCiAgICAgKiBQcmVwYXJlcyB0aGUgZW52aXJvbm1lbnQgYmVmb3JlIHJ1bm5pbmcgYSB0ZXN0LgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgIHBhcmVudDo6c2V0VXAoKTsKICAgICAgICAkdGhpcy0+bXVsdGkgPSBuZXcgTW9ja011bHRpKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlYXJEb3duKCkKICAgIHsKICAgICAgICB1bnNldCgkdGhpcy0+bXVsdGkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3JDcmVhdGVNdWx0aUhhbmRsZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgncmVzb3VyY2UnLCAkdGhpcy0+bXVsdGktPmdldEhhbmRsZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdjdXJsX211bHRpJywgZ2V0X3Jlc291cmNlX3R5cGUoJHRoaXMtPm11bHRpLT5nZXRIYW5kbGUoKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGVzdHJ1Y3RvckNsb3Nlc011bHRpSGFuZGxlKCkKICAgIHsKICAgICAgICAkaGFuZGxlID0gJHRoaXMtPm11bHRpLT5nZXRIYW5kbGUoKTsKICAgICAgICAkdGhpcy0+bXVsdGktPl9fZGVzdHJ1Y3QoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoaXNfcmVzb3VyY2UoJGhhbmRsZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVxdWVzdHNDYW5CZUFkZGVkQW5kQ291bnRlZCgpCiAgICB7CiAgICAgICAgJG11bHRpID0gbmV3IEN1cmxNdWx0aSgpOwogICAgICAgICRyZXF1ZXN0MSA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5nb29nbGUuY29tLycpOwogICAgICAgICRtdWx0aS0+YWRkKCRyZXF1ZXN0MSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgkcmVxdWVzdDEpLCAkbXVsdGktPmFsbCgpKTsKICAgICAgICAkcmVxdWVzdDIgPSBuZXcgUmVxdWVzdCgnUE9TVCcsICdodHRwOi8vd3d3Lmdvb2dsZS5jb20vJyk7CiAgICAgICAgJG11bHRpLT5hZGQoJHJlcXVlc3QyKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCRyZXF1ZXN0MSwgJHJlcXVlc3QyKSwgJG11bHRpLT5hbGwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkbXVsdGkpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlcXVlc3RzQ2FuQmVSZW1vdmVkKCkKICAgIHsKICAgICAgICAkcmVxdWVzdDEgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS8nKTsKICAgICAgICAkdGhpcy0+bXVsdGktPmFkZCgkcmVxdWVzdDEpOwogICAgICAgICRyZXF1ZXN0MiA9IG5ldyBSZXF1ZXN0KCdQVVQnLCAnaHR0cDovL3d3dy5nb29nbGUuY29tLycpOwogICAgICAgICR0aGlzLT5tdWx0aS0+YWRkKCRyZXF1ZXN0Mik7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgkcmVxdWVzdDEsICRyZXF1ZXN0MiksICR0aGlzLT5tdWx0aS0+YWxsKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5tdWx0aS0+cmVtb3ZlKCRyZXF1ZXN0MSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+bXVsdGktPnJlbW92ZSgkcmVxdWVzdDEpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCRyZXF1ZXN0MiksICR0aGlzLT5tdWx0aS0+YWxsKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0c1Jlc2V0UmVtb3Zlc1JlcXVlc3RzQW5kUmVzZXRzU3RhdGUoKQogICAgewogICAgICAgICR0aGlzLT5tdWx0aS0+YWRkKG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5nb29nbGUuY29tLycpKTsKICAgICAgICAkdGhpcy0+bXVsdGktPnJlc2V0KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgpLCAkdGhpcy0+bXVsdGktPmFsbCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNlbmRzUmVxdWVzdHNUaHJvdWdoQ3VybCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgMjA0IE5vIGNvbnRlbnRcclxuIiAuCiAgICAgICAgICAgICJDb250ZW50LUxlbmd0aDogMFxyXG4iIC4KICAgICAgICAgICAgIlNlcnZlcjogSmV0dHkoNi4xLjMpXHJcblxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbiIgLgogICAgICAgICAgICAiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcclxuIiAuCiAgICAgICAgICAgICJDb250ZW50LUxlbmd0aDogNFxyXG4iIC4KICAgICAgICAgICAgIlNlcnZlcjogSmV0dHkoNi4xLjMpXHJcblxyXG4iIC4KICAgICAgICAgICAgImRhdGEiCiAgICAgICAgKSk7CgogICAgICAgICRyZXF1ZXN0MSA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdDIgPSBuZXcgUmVxdWVzdCgnR0VUJywgJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHRoaXMtPm11bHRpLT5hZGQoJHJlcXVlc3QxKTsKICAgICAgICAkdGhpcy0+bXVsdGktPmFkZCgkcmVxdWVzdDIpOwogICAgICAgICR0aGlzLT5tdWx0aS0+c2VuZCgpOwoKICAgICAgICAkcmVzcG9uc2UxID0gJHJlcXVlc3QxLT5nZXRSZXNwb25zZSgpOwogICAgICAgICRyZXNwb25zZTIgPSAkcmVxdWVzdDItPmdldFJlc3BvbnNlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcSHR0cFxcTWVzc2FnZVxcUmVzcG9uc2UnLCAkcmVzcG9uc2UxKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFxIdHRwXFxNZXNzYWdlXFxSZXNwb25zZScsICRyZXNwb25zZTIpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVzcG9uc2UxLT5nZXRCb2R5KHRydWUpID09ICdkYXRhJyB8fCAkcmVzcG9uc2UyLT5nZXRCb2R5KHRydWUpID09ICdkYXRhJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlc3BvbnNlMS0+Z2V0Qm9keSh0cnVlKSA9PSAnJyB8fCAkcmVzcG9uc2UyLT5nZXRCb2R5KHRydWUpID09ICcnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVzcG9uc2UxLT5nZXRTdGF0dXNDb2RlKCkgPT0gJzIwNCcgfHwgJHJlc3BvbnNlMi0+Z2V0U3RhdHVzQ29kZSgpID09ICcyMDQnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RXF1YWxzKChzdHJpbmcpICRyZXNwb25zZTEsIChzdHJpbmcpICRyZXNwb25zZTIpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2VuZHNUaHJvdWdoQ3VybEFuZEFnZ3JlZ2F0ZXNSZXF1ZXN0RXhjZXB0aW9ucygpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbiIgLgogICAgICAgICAgICAiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcclxuIiAuCiAgICAgICAgICAgICJDb250ZW50LUxlbmd0aDogNFxyXG4iIC4KICAgICAgICAgICAgIlNlcnZlcjogSmV0dHkoNi4xLjMpXHJcbiIgLgogICAgICAgICAgICAiXHJcbiIgLgogICAgICAgICAgICAiZGF0YSIsCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDQgTm8gY29udGVudFxyXG4iIC4KICAgICAgICAgICAgIkNvbnRlbnQtTGVuZ3RoOiAwXHJcbiIgLgogICAgICAgICAgICAiU2VydmVyOiBKZXR0eSg2LjEuMylcclxuIiAuCiAgICAgICAgICAgICJcclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDQwNCBOb3QgRm91bmRcclxuIiAuCiAgICAgICAgICAgICJDb250ZW50LUxlbmd0aDogMFxyXG4iIC4KICAgICAgICAgICAgIlxyXG4iCiAgICAgICAgKSk7CgogICAgICAgICRyZXF1ZXN0MSA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdDIgPSBuZXcgUmVxdWVzdCgnSEVBRCcsICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRyZXF1ZXN0MyA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkdGhpcy0+bXVsdGktPmFkZCgkcmVxdWVzdDEpOwogICAgICAgICR0aGlzLT5tdWx0aS0+YWRkKCRyZXF1ZXN0Mik7CiAgICAgICAgJHRoaXMtPm11bHRpLT5hZGQoJHJlcXVlc3QzKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHRoaXMtPm11bHRpLT5zZW5kKCk7CiAgICAgICAgICAgICR0aGlzLT5mYWlsKCdNdWx0aVRyYW5zZmVyRXhjZXB0aW9uIG5vdCB0aHJvd24gd2hlbiBhZ2dyZWdhdGluZyByZXF1ZXN0IGV4Y2VwdGlvbnMnKTsKICAgICAgICB9IGNhdGNoIChNdWx0aVRyYW5zZmVyRXhjZXB0aW9uICRlKSB7CgogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZS0+Y29udGFpbnNSZXF1ZXN0KCRyZXF1ZXN0MSkpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZS0+Y29udGFpbnNSZXF1ZXN0KCRyZXF1ZXN0MikpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZS0+Y29udGFpbnNSZXF1ZXN0KCRyZXF1ZXN0MykpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQXJyYXlJdGVyYXRvcicsICRlLT5nZXRJdGVyYXRvcigpKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkZSkpOwogICAgICAgICAgICAkZXhjZXB0aW9ucyA9ICRlLT5nZXRJdGVyYXRvcigpOwoKICAgICAgICAgICAgJHJlc3BvbnNlMSA9ICRyZXF1ZXN0MS0+Z2V0UmVzcG9uc2UoKTsKICAgICAgICAgICAgJHJlc3BvbnNlMiA9ICRyZXF1ZXN0Mi0+Z2V0UmVzcG9uc2UoKTsKICAgICAgICAgICAgJHJlc3BvbnNlMyA9ICRyZXF1ZXN0My0+Z2V0UmVzcG9uc2UoKTsKCiAgICAgICAgICAgICR0aGlzLT5hc3NlcnROb3RFcXVhbHMoKHN0cmluZykgJHJlc3BvbnNlMSwgKHN0cmluZykgJHJlc3BvbnNlMik7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnROb3RFcXVhbHMoKHN0cmluZykgJHJlc3BvbnNlMywgKHN0cmluZykgJHJlc3BvbnNlMSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcXEh0dHBcXE1lc3NhZ2VcXFJlc3BvbnNlJywgJHJlc3BvbnNlMSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcXEh0dHBcXE1lc3NhZ2VcXFJlc3BvbnNlJywgJHJlc3BvbnNlMik7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcXEh0dHBcXE1lc3NhZ2VcXFJlc3BvbnNlJywgJHJlc3BvbnNlMyk7CgogICAgICAgICAgICAkZmFpbGVkID0gJGV4Y2VwdGlvbnNbMF0tPmdldFJlc3BvbnNlKCk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNDA0LCAkZmFpbGVkLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRlKSk7CgogICAgICAgICAgICAvLyBUZXN0IHRoZSBJdGVyYXRvckFnZ3JlZ2F0ZSBmdW5jdGlvbmFsaXR5CiAgICAgICAgICAgIGZvcmVhY2ggKCRlIGFzICRleGNlcHQpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGZhaWxlZCwgJGV4Y2VwdC0+Z2V0UmVzcG9uc2UoKSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJGUtPmdldEZhaWxlZFJlcXVlc3RzKCkpKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkZS0+Z2V0U3VjY2Vzc2Z1bFJlcXVlc3RzKCkpKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCBjb3VudCgkZS0+Z2V0QWxsUmVxdWVzdHMoKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEN1cmxFcnJvcnNBcmVDYXVnaHQoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKICAgICAgICB0cnkgewogICAgICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ0dFVCcsICdodHRwOi8vMTI3LjAuMC4xOjk4NzYvJyk7CiAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRDbGllbnQobmV3IENsaWVudCgpKTsKICAgICAgICAgICAgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPnNldChDVVJMT1BUX0ZSRVNIX0NPTk5FQ1QsIHRydWUpOwogICAgICAgICAgICAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+c2V0KENVUkxPUFRfRk9SQklEX1JFVVNFLCB0cnVlKTsKICAgICAgICAgICAgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPnNldChDVVJMT1BUX0NPTk5FQ1RUSU1FT1VUX01TLCA1KTsKICAgICAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAgICAgJHRoaXMtPmZhaWwoJ0N1cmxFeGNlcHRpb24gbm90IHRocm93bicpOwogICAgICAgIH0gY2F0Y2ggKEN1cmxFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgJG0gPSAkZS0+Z2V0TWVzc2FnZSgpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ1tjdXJsXSAnLCAkbSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnW3VybF0gaHR0cDovLzEyNy4wLjAuMTo5ODc2LycsICRtKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCAkZS0+Z2V0Q3VybEluZm8oKSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVtb3Zlc1F1ZXVlZFJlcXVlc3RzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ0dFVCcsICdodHRwOi8vMTI3LjAuMC4xOjk4NzYvJyk7CiAgICAgICAgJHIgPSBuZXcgUmVzcG9uc2UoMjAwKTsKICAgICAgICAkcmVxdWVzdC0+c2V0Q2xpZW50KG5ldyBDbGllbnQoKSk7CiAgICAgICAgJHJlcXVlc3QtPnNldFJlc3BvbnNlKCRyLCB0cnVlKTsKICAgICAgICAkdGhpcy0+bXVsdGktPmFkZCgkcmVxdWVzdCk7CiAgICAgICAgJHRoaXMtPm11bHRpLT5zZW5kKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHIsICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlbW92ZXNRdWV1ZWRSZXF1ZXN0c0FkZGVkSW5UcmFuc2l0KCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIpKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkciA9ICRjbGllbnQtPmdldCgpOwogICAgICAgICRyLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ3JlcXVlc3QucmVjZWl2ZS5zdGF0dXNfbGluZScsIGZ1bmN0aW9uIChFdmVudCAkZXZlbnQpIHVzZSAoJGNsaWVudCkgewogICAgICAgICAgICAvLyBDcmVhdGUgYSByZXF1ZXN0IHVzaW5nIGEgcXVldWVkIHJlc3BvbnNlCiAgICAgICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCktPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDApLCB0cnVlKTsKICAgICAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICB9KTsKICAgICAgICAkci0+c2VuZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKGZhbHNlKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2F0Y2hlc0V4Y2VwdGlvbnNCZWZvcmVTZW5kaW5nU2luZ2xlUmVxdWVzdCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJG11bHRpID0gbmV3IEN1cmxNdWx0aSgpOwogICAgICAgICRjbGllbnQtPnNldEN1cmxNdWx0aSgkbXVsdGkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCk7CiAgICAgICAgJHJlcXVlc3QtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcigncmVxdWVzdC5iZWZvcmVfc2VuZCcsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJ1Rlc3RpbmchJyk7CiAgICAgICAgfSk7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAgICAgJHRoaXMtPmZhaWwoJ0RpZCBub3QgdGhyb3cnKTsKICAgICAgICB9IGNhdGNoIChcUnVudGltZUV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAvLyBFbnN1cmUgaXQgd2FzIHJlbW92ZWQKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCBjb3VudCgkbXVsdGkpKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEV4Y2VwdGlvbkNvbGxlY3Rpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgVGhyb3duIGJlZm9yZSBzZW5kaW5nIQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhdGNoZXNFeGNlcHRpb25zQmVmb3JlU2VuZGluZ011bHRpcGxlUmVxdWVzdHMoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCk7CiAgICAgICAgJHJlcXVlc3QtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcigncmVxdWVzdC5iZWZvcmVfc2VuZCcsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJ1Rocm93biBiZWZvcmUgc2VuZGluZyEnKTsKICAgICAgICB9KTsKICAgICAgICAkY2xpZW50LT5zZW5kKGFycmF5KCRyZXF1ZXN0KSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYXRjaGVzRXhjZXB0aW9uc1doZW5SZW1vdmluZ1F1ZXVlZFJlcXVlc3RzKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIik7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHIgPSAkY2xpZW50LT5nZXQoKTsKICAgICAgICAkci0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCdyZXF1ZXN0LnNlbnQnLCBmdW5jdGlvbigpIHVzZSAoJGNsaWVudCkgewogICAgICAgICAgICAvLyBDcmVhdGUgYSByZXF1ZXN0IHVzaW5nIGEgcXVldWVkIHJlc3BvbnNlCiAgICAgICAgICAgICRjbGllbnQtPmdldCgpLT5zZXRSZXNwb25zZShuZXcgUmVzcG9uc2UoNDA0KSwgdHJ1ZSktPnNlbmQoKTsKICAgICAgICB9KTsKICAgICAgICB0cnkgewogICAgICAgICAgICAkci0+c2VuZCgpOwogICAgICAgICAgICAkdGhpcy0+ZmFpbCgnRGlkIG5vdCB0aHJvdycpOwogICAgICAgIH0gY2F0Y2ggKEJhZFJlc3BvbnNlRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgwLCAkY2xpZW50LT5nZXRDdXJsTXVsdGkoKSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2F0Y2hlc0V4Y2VwdGlvbnNXaGVuUmVtb3ZpbmdRdWV1ZWRSZXF1ZXN0c0JlZm9yZVNlbmRpbmcoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkciA9ICRjbGllbnQtPmdldCgpOwogICAgICAgICRyLT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ3JlcXVlc3QuYmVmb3JlX3NlbmQnLCBmdW5jdGlvbigpIHVzZSAoJGNsaWVudCkgewogICAgICAgICAgICAvLyBDcmVhdGUgYSByZXF1ZXN0IHVzaW5nIGEgcXVldWVkIHJlc3BvbnNlCiAgICAgICAgICAgICRjbGllbnQtPmdldCgpLT5zZXRSZXNwb25zZShuZXcgUmVzcG9uc2UoNDA0KSwgdHJ1ZSktPnNlbmQoKTsKICAgICAgICB9KTsKICAgICAgICB0cnkgewogICAgICAgICAgICAkci0+c2VuZCgpOwogICAgICAgICAgICAkdGhpcy0+ZmFpbCgnRGlkIG5vdCB0aHJvdycpOwogICAgICAgIH0gY2F0Y2ggKEJhZFJlc3BvbnNlRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgwLCAkY2xpZW50LT5nZXRDdXJsTXVsdGkoKSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxSdW50aW1lRXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIHRlc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzTm90Q2F0Y2hSYW5kb21FeGNlcHRpb25zVGhyb3duRHVyaW5nUGVyZm9ybSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJG11bHRpID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxcSHR0cFxcQ3VybFxcQ3VybE11bHRpJywgYXJyYXkoJ3BlcmZvcm0nKSk7CiAgICAgICAgJG11bHRpLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdwZXJmb3JtJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT50aHJvd0V4Y2VwdGlvbihuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJ3Rlc3QnKSkpOwogICAgICAgICRtdWx0aS0+YWRkKCRjbGllbnQtPmdldCgpKTsKICAgICAgICAkbXVsdGktPnNlbmQoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvZXNOb3RTZW5kUmVxdWVzdHNEZWNsaW5pbmdUb0JlU2VudCgpCiAgICB7CiAgICAgICAgaWYgKCFkZWZpbmVkKCdDVVJMT1BUX1RJTUVPVVRfTVMnKSkgewogICAgICAgICAgICAkdGhpcy0+bWFya1Rlc3RTa2lwcGVkKCdVcGRhdGUgY3VybCcpOwogICAgICAgIH0KCiAgICAgICAgLy8gQ3JlYXRlIGEgY2xpZW50IHRoYXQgaXMgYm91bmQgdG8gZmFpbCBjb25uZWN0aW5nCiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHA6Ly9sb2NhbGhvc3Q6MTIzJywgYXJyYXkoCiAgICAgICAgICAgICdjdXJsLkNVUkxPUFRfUE9SVCcgICAgICAgICAgICAgID0+IDEyMywKICAgICAgICAgICAgJ2N1cmwuQ1VSTE9QVF9DT05ORUNUVElNRU9VVF9NUycgPT4gMSwKICAgICAgICApKTsKCiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoKTsKICAgICAgICAkbXVsdGkgPSBuZXcgQ3VybE11bHRpKCk7CiAgICAgICAgJG11bHRpLT5hZGQoJHJlcXVlc3QpOwoKICAgICAgICAvLyBMaXN0ZW4gZm9yIHJlcXVlc3QgZXhjZXB0aW9ucywgYW5kIHdoZW4gdGhleSBvY2N1ciwgZmlyc3QgY2hhbmdlIHRoZQogICAgICAgIC8vIHN0YXRlIG9mIHRoZSByZXF1ZXN0IGJhY2sgdG8gdHJhbnNmZXJyaW5nLCBhbmQgdGhlbiBqdXN0IGFsbG93IGl0IHRvCiAgICAgICAgLy8gZXhjZXB0aW9uIG91dAogICAgICAgICRyZXF1ZXN0LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ3JlcXVlc3QuZXhjZXB0aW9uJywgZnVuY3Rpb24oRXZlbnQgJGV2ZW50KSB1c2UgKCRtdWx0aSkgewogICAgICAgICAgICAkcmV0cmllcyA9ICRldmVudFsncmVxdWVzdCddLT5nZXRQYXJhbXMoKS0+Z2V0KCdyZXRyaWVzJyk7CiAgICAgICAgICAgIC8vIEFsbG93IHRoZSBmaXJzdCBmYWlsdXJlIHRvIHJldHJ5CiAgICAgICAgICAgIGlmICgkcmV0cmllcyA9PSAwKSB7CiAgICAgICAgICAgICAgICAkZXZlbnRbJ3JlcXVlc3QnXS0+c2V0U3RhdGUoJ3RyYW5zZmVyJyk7CiAgICAgICAgICAgICAgICAkZXZlbnRbJ3JlcXVlc3QnXS0+Z2V0UGFyYW1zKCktPnNldCgncmV0cmllcycsIDEpOwogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSByZXF1ZXN0IHRvIHRyeSBhZ2FpbgogICAgICAgICAgICAgICAgJG11bHRpLT5yZW1vdmUoJGV2ZW50WydyZXF1ZXN0J10pOwogICAgICAgICAgICAgICAgJG11bHRpLT5hZGQoJGV2ZW50WydyZXF1ZXN0J10pOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRtdWx0aS0+c2VuZCgpOwogICAgICAgICAgICAkdGhpcy0+ZmFpbCgnRGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24gYXQgYWxsIT8hJyk7CiAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+Z2V0KCdyZXRyaWVzJykpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvZXNOb3RUaHJvd0V4Y2VwdGlvbnNXaGVuUmVxdWVzdHNSZWNvdmVyV2l0aFJldHJ5KCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoKTsKICAgICAgICAkcmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCdyZXF1ZXN0LmJlZm9yZV9zZW5kJywgZnVuY3Rpb24oRXZlbnQgJGV2ZW50KSB7CiAgICAgICAgICAgICRldmVudFsncmVxdWVzdCddLT5zZXRSZXNwb25zZShuZXcgUmVzcG9uc2UoMjAwKSk7CiAgICAgICAgfSk7CgogICAgICAgICRtdWx0aSA9IG5ldyBDdXJsTXVsdGkoKTsKICAgICAgICAkbXVsdGktPmFkZCgkcmVxdWVzdCk7CiAgICAgICAgJG11bHRpLT5zZW5kKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCBjb3VudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHMoZmFsc2UpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzTm90VGhyb3dFeGNlcHRpb25zV2hlblJlcXVlc3RzUmVjb3ZlcldpdGhTdWNjZXNzKCkKICAgIHsKICAgICAgICAvLyBBdHRlbXB0IGEgcG9ydCB0aGF0IDk5LjklIGlzIG5vdCBsaXN0ZW5pbmcKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cDovL2xvY2FsaG9zdDoxMjMnKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgpOwogICAgICAgIC8vIEVuc3VyZSBpdCB0aW1lcyBvdXQgcXVpY2tseSBpZiBuZWVkZWQKICAgICAgICAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+c2V0KENVUkxPUFRfVElNRU9VVF9NUywgMSktPnNldChDVVJMT1BUX0NPTk5FQ1RUSU1FT1VUX01TLCAxKTsKCiAgICAgICAgJHJlcXVlc3QtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcigncmVxdWVzdC5leGNlcHRpb24nLCBmdW5jdGlvbihFdmVudCAkZXZlbnQpIHVzZSAoJiRjb3VudCkgewogICAgICAgICAgICAkZXZlbnRbJ3JlcXVlc3QnXS0+c2V0UmVzcG9uc2UobmV3IFJlc3BvbnNlKDIwMCkpOwogICAgICAgIH0pOwoKICAgICAgICAkbXVsdGkgPSBuZXcgQ3VybE11bHRpKCk7CiAgICAgICAgJG11bHRpLT5hZGQoJHJlcXVlc3QpOwogICAgICAgICRtdWx0aS0+c2VuZCgpOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgZXhjZXB0aW9uIHdhcyBjYXVnaHQsIGFuZCB0aGUgcmVzcG9uc2Ugd2FzIHNldCBtYW51YWxseQogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAwLCAkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKS0+Z2V0U3RhdHVzQ29kZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhcmRSZXNldFJlb3BlbnNNdWx0aUhhbmRsZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iCiAgICAgICAgKSk7CgogICAgICAgICRzdHJlYW0gPSBmb3BlbigncGhwOi8vdGVtcCcsICd3KycpOwogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRjbGllbnQtPmdldENvbmZpZygpLT5zZXQoJ2N1cmwuQ1VSTE9QVF9WRVJCT1NFJywgdHJ1ZSktPnNldCgnY3VybC5DVVJMT1BUX1NUREVSUicsICRzdHJlYW0pOwoKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgpOwogICAgICAgICRtdWx0aSA9IG5ldyBDdXJsTXVsdGkoKTsKICAgICAgICAkbXVsdGktPmFkZCgkcmVxdWVzdCk7CiAgICAgICAgJG11bHRpLT5zZW5kKCk7CiAgICAgICAgJG11bHRpLT5yZXNldCh0cnVlKTsKICAgICAgICAkbXVsdGktPmFkZCgkcmVxdWVzdCk7CiAgICAgICAgJG11bHRpLT5zZW5kKCk7CgogICAgICAgIHJld2luZCgkc3RyZWFtKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90Q29udGFpbnMoJ1JlLXVzaW5nIGV4aXN0aW5nIGNvbm5lY3Rpb24nLCBzdHJlYW1fZ2V0X2NvbnRlbnRzKCRzdHJlYW0pKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRocm93c01lYW5pbmdmdWxFeGNlcHRpb25zRm9yQ3VybE11bHRpRXJyb3JzKCkKICAgIHsKICAgICAgICAkbXVsdGkgPSBuZXcgQ3VybE11bHRpKCk7CgogICAgICAgIC8vIFNldCB0aGUgc3RhdGUgb2YgdGhlIG11bHRpIG9iamVjdCB0byBzZW5kaW5nIHRvIHRyaWdnZXIgdGhlIGV4Y2VwdGlvbgogICAgICAgICRyZWZsZWN0b3IgPSBuZXcgXFJlZmxlY3Rpb25NZXRob2QoJ0d1enpsZVxIdHRwXEN1cmxcQ3VybE11bHRpJywgJ2NoZWNrQ3VybFJlc3VsdCcpOwogICAgICAgICRyZWZsZWN0b3ItPnNldEFjY2Vzc2libGUodHJ1ZSk7CgogICAgICAgIC8vIFN1Y2Nlc3NmdWwKICAgICAgICAkcmVmbGVjdG9yLT5pbnZva2UoJG11bHRpLCAwKTsKCiAgICAgICAgLy8gS25vd24gZXJyb3IKICAgICAgICB0cnkgewogICAgICAgICAgICAkcmVmbGVjdG9yLT5pbnZva2UoJG11bHRpLCBDVVJMTV9CQURfSEFORExFKTsKICAgICAgICAgICAgJHRoaXMtPmZhaWwoJ0V4cGVjdGVkIGFuIGV4Y2VwdGlvbiBoZXJlJyk7CiAgICAgICAgfSBjYXRjaCAoQ3VybEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ1RoZSBwYXNzZWQtaW4gaGFuZGxlIGlzIG5vdCBhIHZhbGlkIENVUkxNIGhhbmRsZS4nLCAkZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdDVVJMTV9CQURfSEFORExFJywgJGUtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucyhzdHJ2YWwoQ1VSTE1fQkFEX0hBTkRMRSksICRlLT5nZXRNZXNzYWdlKCkpOwogICAgICAgIH0KCiAgICAgICAgLy8gVW5rbm93biBlcnJvcgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRyZWZsZWN0b3ItPmludm9rZSgkbXVsdGksIDI1NSk7CiAgICAgICAgICAgICR0aGlzLT5mYWlsKCdFeHBlY3RlZCBhbiBleGNlcHRpb24gaGVyZScpOwogICAgICAgIH0gY2F0Y2ggKEN1cmxFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnVW5leHBlY3RlZCBjVVJMIGVycm9yOiAyNTUnLCAkZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0QmVmb3JlU2VuZEluY2x1ZGVzQ29udGVudExlbmd0aEhlYWRlcklmRW1wdHlCb2R5KCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIik7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnUFVUJywgJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHRoYXQgPSAkdGhpczsKICAgICAgICAkcmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCdyZXF1ZXN0LmJlZm9yZV9zZW5kJywgZnVuY3Rpb24gKCRldmVudCkgdXNlICgkdGhhdCkgewogICAgICAgICAgICAkdGhhdC0+YXNzZXJ0RXF1YWxzKDAsICRldmVudFsncmVxdWVzdCddLT5nZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJykpOwogICAgICAgIH0pOwogICAgICAgICR0aGlzLT5tdWx0aS0+YWRkKCRyZXF1ZXN0KTsKICAgICAgICAkdGhpcy0+bXVsdGktPnNlbmQoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlbW92ZXNDb25mbGljdGluZ1RyYW5zZmVyRW5jb2RpbmdIZWFkZXIoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDRcclxuXHJcbnRlc3QiLAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iCiAgICAgICAgKSk7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wdXQoJy8nLCBudWxsLCBmb3BlbigkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpLCAncicpKTsKICAgICAgICAkcmVxdWVzdC0+c2V0SGVhZGVyKCdDb250ZW50LUxlbmd0aCcsIDQpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICAgICAgJHJlY2VpdmVkID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkcmVjZWl2ZWRbMV0tPmhhc0hlYWRlcignVHJhbnNmZXItRW5jb2RpbmcnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg0LCAoc3RyaW5nKSAkcmVjZWl2ZWRbMV0tPmdldEhlYWRlcignQ29udGVudC1MZW5ndGgnKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlVersionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxDdXJsOwoKdXNlIEd1enpsZVxIdHRwXEN1cmxcQ3VybFZlcnNpb247CgovKioKICogQGNvdmVycyBHdXp6bGVcSHR0cFxDdXJsXEN1cmxWZXJzaW9uCiAqLwpjbGFzcyBDdXJsVmVyc2lvblRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FjaGVzQ3VybEluZm8oKQogICAgewogICAgICAgICRpbmZvID0gY3VybF92ZXJzaW9uKCk7CiAgICAgICAgJGluc3RhbmNlID0gQ3VybFZlcnNpb246OmdldEluc3RhbmNlKCk7CgogICAgICAgIC8vIENsZWFyIG91dCB0aGUgaW5mbyBjYWNoZQogICAgICAgICRyZWZPYmplY3QgPSBuZXcgXFJlZmxlY3Rpb25PYmplY3QoJGluc3RhbmNlKTsKICAgICAgICAkcmVmUHJvcGVydHkgPSAkcmVmT2JqZWN0LT5nZXRQcm9wZXJ0eSgndmVyc2lvbicpOwogICAgICAgICRyZWZQcm9wZXJ0eS0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkcmVmUHJvcGVydHktPnNldFZhbHVlKCRpbnN0YW5jZSwgYXJyYXkoKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGluZm8sICRpbnN0YW5jZS0+Z2V0QWxsKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGluZm8sICRpbnN0YW5jZS0+Z2V0QWxsKCkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRpbmZvWyd2ZXJzaW9uJ10sICRpbnN0YW5jZS0+Z2V0KCd2ZXJzaW9uJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkaW5zdGFuY2UtPmdldCgnZm9vJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXNTaW5nbGV0b24oKQogICAgewogICAgICAgICRyZWZPYmplY3QgPSBuZXcgXFJlZmxlY3Rpb25DbGFzcygnR3V6emxlXEh0dHBcQ3VybFxDdXJsVmVyc2lvbicpOwogICAgICAgICRyZWZQcm9wZXJ0eSA9ICRyZWZPYmplY3QtPmdldFByb3BlcnR5KCdpbnN0YW5jZScpOwogICAgICAgICRyZWZQcm9wZXJ0eS0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkcmVmUHJvcGVydHktPnNldFZhbHVlKG51bGwsIG51bGwpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXEh0dHBcQ3VybFxDdXJsVmVyc2lvbicsIEN1cmxWZXJzaW9uOjpnZXRJbnN0YW5jZSgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/RequestMediatorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxDdXJsOwoKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcRW50aXR5RW5jbG9zaW5nUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcSHR0cFxDdXJsXFJlcXVlc3RNZWRpYXRvcjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxIdHRwXEN1cmxcUmVxdWVzdE1lZGlhdG9yCiAqLwpjbGFzcyBSZXF1ZXN0TWVkaWF0b3JUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgJGV2ZW50cyA9IGFycmF5KCk7CgogICAgcHVibGljIGZ1bmN0aW9uIGV2ZW50KCRldmVudCkKICAgIHsKICAgICAgICAkdGhpcy0+ZXZlbnRzW10gPSAkZXZlbnQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbWl0c0V2ZW50cygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgRW50aXR5RW5jbG9zaW5nUmVxdWVzdCgnUFVUJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20nKTsKICAgICAgICAkcmVxdWVzdC0+c2V0Qm9keSgnZm9vJyk7CiAgICAgICAgJHJlcXVlc3QtPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDApKTsKCiAgICAgICAgLy8gRW5zdXJlIHRoYXQgSU8gZXZlbnRzIGFyZSBlbWl0dGVkCiAgICAgICAgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPnNldCgnZW1pdF9pbycsIHRydWUpOwoKICAgICAgICAvLyBBdHRhY2ggbGlzdGVuZXJzIGZvciBlYWNoIGV2ZW50IHR5cGUKICAgICAgICAkcmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCdjdXJsLmNhbGxiYWNrLnByb2dyZXNzJywgYXJyYXkoJHRoaXMsICdldmVudCcpKTsKICAgICAgICAkcmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCdjdXJsLmNhbGxiYWNrLnJlYWQnLCBhcnJheSgkdGhpcywgJ2V2ZW50JykpOwogICAgICAgICRyZXF1ZXN0LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ2N1cmwuY2FsbGJhY2sud3JpdGUnLCBhcnJheSgkdGhpcywgJ2V2ZW50JykpOwoKICAgICAgICAkbWVkaWF0b3IgPSBuZXcgUmVxdWVzdE1lZGlhdG9yKCRyZXF1ZXN0LCB0cnVlKTsKCiAgICAgICAgJG1lZGlhdG9yLT5wcm9ncmVzcygnYScsICdiJywgJ2MnLCAnZCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJHRoaXMtPmV2ZW50cykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2N1cmwuY2FsbGJhY2sucHJvZ3Jlc3MnLCAkdGhpcy0+ZXZlbnRzWzBdLT5nZXROYW1lKCkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsICRtZWRpYXRvci0+d3JpdGVSZXNwb25zZUJvZHkoJ2ZvbycsICdiYXInKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkdGhpcy0+ZXZlbnRzKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnY3VybC5jYWxsYmFjay53cml0ZScsICR0aGlzLT5ldmVudHNbMV0tPmdldE5hbWUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmFyJywgJHRoaXMtPmV2ZW50c1sxXVsnd3JpdGUnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHJlcXVlc3QsICR0aGlzLT5ldmVudHNbMV1bJ3JlcXVlc3QnXSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICRtZWRpYXRvci0+cmVhZFJlcXVlc3RCb2R5KCdhJywgJ2InLCAzKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCBjb3VudCgkdGhpcy0+ZXZlbnRzKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnY3VybC5jYWxsYmFjay5yZWFkJywgJHRoaXMtPmV2ZW50c1syXS0+Z2V0TmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkdGhpcy0+ZXZlbnRzWzJdWydyZWFkJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRyZXF1ZXN0LCAkdGhpcy0+ZXZlbnRzWzJdWydyZXF1ZXN0J10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc05vdFVzZVJlcXVlc3RSZXNwb25zZUJvZHlXaGVuTm90Q3VzdG9tKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgMzA3IEZvb1xyXG5Mb2NhdGlvbjogL2Zvb1xyXG5Db250ZW50LUxlbmd0aDogMlxyXG5cclxuSEkiLAogICAgICAgICAgICAiSFRUUC8xLjEgMzAxIEZvb1xyXG5Mb2NhdGlvbjogL2Zvb1xyXG5Db250ZW50LUxlbmd0aDogMlxyXG5cclxuRkkiLAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiA0XHJcblxyXG50ZXN0IiwKICAgICAgICApKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVzcG9uc2UgPSAkY2xpZW50LT5nZXQoKS0+c2VuZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3QnLCAkcmVzcG9uc2UtPmdldEJvZHkodHJ1ZSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/EntityBodyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cDsKCnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5Owp1c2UgR3V6emxlXEh0dHBcUXVlcnlTdHJpbmc7CgovKioKICogQGdyb3VwIHNlcnZlcgogKiBAY292ZXJzIEd1enpsZVxIdHRwXEVudGl0eUJvZHkKICovCmNsYXNzIEVudGl0eUJvZHlUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeVRocm93c0V4Y2VwdGlvbigpCiAgICB7CiAgICAgICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KGZhbHNlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhY3RvcnkoKQogICAgewogICAgICAgICRib2R5ID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgnZGF0YScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2RhdGEnLCAoc3RyaW5nKSAkYm9keSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg0LCAkYm9keS0+Z2V0Q29udGVudExlbmd0aCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQSFAnLCAkYm9keS0+Z2V0V3JhcHBlcigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdURU1QJywgJGJvZHktPmdldFN0cmVhbVR5cGUoKSk7CgogICAgICAgICRoYW5kbGUgPSBmb3BlbihfX0RJUl9fIC4gJy8uLi8uLi8uLi8uLi9waHB1bml0LnhtbC5kaXN0JywgJ3InKTsKICAgICAgICBpZiAoISRoYW5kbGUpIHsKICAgICAgICAgICAgJHRoaXMtPmZhaWwoJ0NvdWxkIG5vdCBvcGVuIHRlc3QgZmlsZScpOwogICAgICAgIH0KICAgICAgICAkYm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJGhhbmRsZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhfX0RJUl9fIC4gJy8uLi8uLi8uLi8uLi9waHB1bml0LnhtbC5kaXN0JywgJGJvZHktPmdldFVyaSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkYm9keS0+aXNMb2NhbCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKF9fRElSX18gLiAnLy4uLy4uLy4uLy4uL3BocHVuaXQueG1sLmRpc3QnLCAkYm9keS0+Z2V0VXJpKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoZmlsZXNpemUoX19ESVJfXyAuICcvLi4vLi4vLi4vLi4vcGhwdW5pdC54bWwuZGlzdCcpLCAkYm9keS0+Z2V0Q29udGVudExlbmd0aCgpKTsKCiAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgYSBib2R5IHdpbGwgcmV0dXJuIGFzIHRoZSBzYW1lIG9iamVjdAogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRib2R5ID09PSBFbnRpdHlCb2R5OjpmYWN0b3J5KCRib2R5KSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGYWN0b3J5Q3JlYXRlc1RlbXBTdHJlYW1CeURlZmF1bHQoKQogICAgewogICAgICAgICRib2R5ID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgnJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUEhQJywgJGJvZHktPmdldFdyYXBwZXIoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnVEVNUCcsICRib2R5LT5nZXRTdHJlYW1UeXBlKCkpOwogICAgICAgICRib2R5ID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BIUCcsICRib2R5LT5nZXRXcmFwcGVyKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1RFTVAnLCAkYm9keS0+Z2V0U3RyZWFtVHlwZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhY3RvcnlDYW5DcmVhdGVGcm9tT2JqZWN0KCkKICAgIHsKICAgICAgICAkYm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkobmV3IFF1ZXJ5U3RyaW5nKGFycmF5KCdmb28nID0+ICdiYXInKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2Zvbz1iYXInLCAoc3RyaW5nKSAkYm9keSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhY3RvcnlFbnN1cmVzT2JqZWN0c0hhdmVUb1N0cmluZ01ldGhvZCgpCiAgICB7CiAgICAgICAgRW50aXR5Qm9keTo6ZmFjdG9yeShuZXcgXHN0ZENsYXNzKCdhJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFuZGxlc0NvbXByZXNzaW9uKCkKICAgIHsKICAgICAgICAkYm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJ3Rlc3RpbmcgMTIzLi4udGVzdGluZyAxMjMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGJvZHktPmdldENvbnRlbnRFbmNvZGluZygpLCAnLT4gZ2V0Q29udGVudEVuY29kaW5nKCkgbXVzdCBpbml0aWFsbHkgcmV0dXJuIEZBTFNFJyk7CiAgICAgICAgJHNpemUgPSAkYm9keS0+Z2V0Q29udGVudExlbmd0aCgpOwogICAgICAgICRib2R5LT5jb21wcmVzcygpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2d6aXAnLCAkYm9keS0+Z2V0Q29udGVudEVuY29kaW5nKCksICctPiBnZXRDb250ZW50RW5jb2RpbmcoKSBtdXN0IHJldHVybiB0aGUgY29ycmVjdCBlbmNvZGluZyBhZnRlciBjb21wcmVzc2luZycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoZ3pkZWZsYXRlKCd0ZXN0aW5nIDEyMy4uLnRlc3RpbmcgMTIzJyksIChzdHJpbmcpICRib2R5KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkYm9keS0+Z2V0Q29udGVudExlbmd0aCgpIDwgJHNpemUpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRib2R5LT51bmNvbXByZXNzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3RpbmcgMTIzLi4udGVzdGluZyAxMjMnLCAoc3RyaW5nKSAkYm9keSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRib2R5LT5nZXRDb250ZW50RW5jb2RpbmcoKSwgJy0+IGdldENvbnRlbnRFbmNvZGluZygpIG11c3QgcmVzZXQgdG8gRkFMU0UnKTsKCiAgICAgICAgaWYgKGluX2FycmF5KCdiemlwMi4qJywgc3RyZWFtX2dldF9maWx0ZXJzKCkpKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRib2R5LT5jb21wcmVzcygnYnppcDIuY29tcHJlc3MnKSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2NvbXByZXNzJywgJGJvZHktPmdldENvbnRlbnRFbmNvZGluZygpLCAnLT4gY29tcHJlc3MoKSBtdXN0IHNldCBcJ2NvbXByZXNzXCcgYXMgdGhlIENvbnRlbnQtRW5jb2RpbmcnKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkYm9keS0+Y29tcHJlc3MoJ25vbi1leGlzdGVudCcpLCAnLT4gY29tcHJlc3MoKSBtdXN0IHJldHVybiBmYWxzZSB3aGVuIGEgbm9uLWV4aXN0ZW50IHN0cmVhbSBmaWx0ZXIgaXMgdXNlZCcpOwoKICAgICAgICAvLyBSZWxlYXNlIHRoZSBib2R5CiAgICAgICAgdW5zZXQoJGJvZHkpOwoKICAgICAgICAvLyBVc2UgZ3ppcCBjb21wcmVzc2lvbiBvbiB0aGUgaW5pdGlhbCBjb250ZW50LiAgVGhpcyB3aWxsIGluY2x1ZGUgYQogICAgICAgIC8vIGd6aXAgaGVhZGVyIHdoaWNoIHdpbGwgbmVlZCB0byBiZSBzdHJpcHBlZCB3aGVuIGRlZmxhdGluZyB0aGUgc3RyZWFtCiAgICAgICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KGd6ZW5jb2RlKCd0ZXN0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRib2R5LCAkYm9keS0+c2V0U3RyZWFtRmlsdGVyQ29udGVudEVuY29kaW5nKCd6bGliLmRlZmxhdGUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGJvZHktPnVuY29tcHJlc3MoJ3psaWIuaW5mbGF0ZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgKHN0cmluZykgJGJvZHkpOwogICAgICAgIHVuc2V0KCRib2R5KTsKCiAgICAgICAgLy8gVGVzdCB1c2luZyBhIHZlcnkgbG9uZyBzdHJpbmcKICAgICAgICAkbGFyZ2VTdHJpbmcgPSAnJzsKICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCAyNTAwMDsgJGkrKykgewogICAgICAgICAgICAkbGFyZ2VTdHJpbmcgLj0gY2hyKHJhbmQoMzMsIDEyNikpOwogICAgICAgIH0KICAgICAgICAkYm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJGxhcmdlU3RyaW5nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRsYXJnZVN0cmluZywgKHN0cmluZykgJGJvZHkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRib2R5LT5jb21wcmVzcygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RXF1YWxzKCRsYXJnZVN0cmluZywgKHN0cmluZykgJGJvZHkpOwogICAgICAgICRjb21wcmVzc2VkID0gKHN0cmluZykgJGJvZHk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGJvZHktPnVuY29tcHJlc3MoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkbGFyZ2VTdHJpbmcsIChzdHJpbmcpICRib2R5KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRjb21wcmVzc2VkLCBnemRlZmxhdGUoJGxhcmdlU3RyaW5nKSk7CgogICAgICAgICRib2R5ID0gRW50aXR5Qm9keTo6ZmFjdG9yeShmb3BlbihfX0RJUl9fIC4gJy8uLi9UZXN0RGF0YS9jb21wcmVzc190ZXN0JywgJ3cnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRib2R5LT5jb21wcmVzcygpKTsKICAgICAgICB1bnNldCgkYm9keSk7CgogICAgICAgIHVubGluayhfX0RJUl9fIC4gJy8uLi9UZXN0RGF0YS9jb21wcmVzc190ZXN0Jyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZXRlcm1pbmVzQ29udGVudFR5cGUoKQogICAgewogICAgICAgIC8vIFRlc3QgdXNpbmcgYSBzdHJpbmcvdGVtcCBzdHJlYW0KICAgICAgICAkYm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJ3Rlc3RpbmcgMTIzLi4udGVzdGluZyAxMjMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkYm9keS0+Z2V0Q29udGVudFR5cGUoKSk7CgogICAgICAgIC8vIFVzZSBhIGxvY2FsIGZpbGUKICAgICAgICAkYm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoZm9wZW4oX19GSUxFX18sICdyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygndGV4dC94LScsICRib2R5LT5nZXRDb250ZW50VHlwZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNNZDVDaGVja3N1bSgpCiAgICB7CiAgICAgICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KCd0ZXN0aW5nIDEyMy4uLnRlc3RpbmcgMTIzJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhtZDUoJ3Rlc3RpbmcgMTIzLi4udGVzdGluZyAxMjMnKSwgJGJvZHktPmdldENvbnRlbnRNZDUoKSk7CgogICAgICAgICRzZXJ2ZXIgPSAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0siIC4gIlxyXG4iIC4KICAgICAgICAgICAgIkNvbnRlbnQtTGVuZ3RoOiAzIiAuICJcclxuXHJcbiIgLgogICAgICAgICAgICAiYWJjIgogICAgICAgICk7CgogICAgICAgICRib2R5ID0gRW50aXR5Qm9keTo6ZmFjdG9yeShmb3BlbigkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpLCAncicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGJvZHktPmdldENvbnRlbnRNZDUoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZWVrc1RvT3JpZ2luYWxQb3NBZnRlck1kNSgpCiAgICB7CiAgICAgICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KCd0ZXN0aW5nIDEyMycpOwogICAgICAgICRib2R5LT5zZWVrKDQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMobWQ1KCd0ZXN0aW5nIDEyMycpLCAkYm9keS0+Z2V0Q29udGVudE1kNSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDQsICRib2R5LT5mdGVsbCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdpbmcgMTIzJywgJGJvZHktPnJlYWQoMTAwMCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0VHlwZUZvcm1Cb2R5RmFjdG9yaW5nKCkKICAgIHsKICAgICAgICAkYm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoYXJyYXkoJ2tleTEnID0+ICd2YWwxJywgJ2tleTInID0+ICd2YWwyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2tleTE9dmFsMSZrZXkyPXZhbDInLCAoc3RyaW5nKSAkYm9keSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NDdXN0b21SZXdpbmQoKQogICAgewogICAgICAgICRib2R5ID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgnZm9vJyk7CiAgICAgICAgJHJld291bmQgPSBmYWxzZTsKICAgICAgICAkYm9keS0+c2V0UmV3aW5kRnVuY3Rpb24oZnVuY3Rpb24gKCRib2R5KSB1c2UgKCYkcmV3b3VuZCkgewogICAgICAgICAgICAkcmV3b3VuZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiAkYm9keS0+c2VlaygwKTsKICAgICAgICB9KTsKICAgICAgICAkYm9keS0+c2VlaygyKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkYm9keS0+cmV3aW5kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXdvdW5kKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3VzdG9tUmV3aW5kRnVuY3Rpb25NdXN0QmVDYWxsYWJsZSgpCiAgICB7CiAgICAgICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KCk7CiAgICAgICAgJGJvZHktPnNldFJld2luZEZ1bmN0aW9uKCdmb28nKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/CurlExceptionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxFeGNlcHRpb247Cgp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEN1cmxFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxDdXJsXEN1cmxIYW5kbGU7CgovKioKICogQGNvdmVycyBHdXp6bGVcSHR0cFxFeGNlcHRpb25cQ3VybEV4Y2VwdGlvbgogKi8KY2xhc3MgQ3VybEV4Y2VwdGlvblRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U3RvcmVzQ3VybEVycm9yKCkKICAgIHsKICAgICAgICAkZSA9IG5ldyBDdXJsRXhjZXB0aW9uKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJGUtPmdldEVycm9yKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRlLT5nZXRFcnJvck5vKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRlLCAkZS0+c2V0RXJyb3IoJ3Rlc3QnLCAxMikpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3QnLCAkZS0+Z2V0RXJyb3IoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxMiwgJGUtPmdldEVycm9yTm8oKSk7CgogICAgICAgICRoYW5kbGUgPSBuZXcgQ3VybEhhbmRsZShjdXJsX2luaXQoKSwgYXJyYXkoKSk7CiAgICAgICAgJGUtPnNldEN1cmxIYW5kbGUoJGhhbmRsZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGhhbmRsZSwgJGUtPmdldEN1cmxIYW5kbGUoKSk7CiAgICAgICAgJGhhbmRsZS0+Y2xvc2UoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/ExceptionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxFeGNlcHRpb247Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxSZXF1ZXN0RXhjZXB0aW9uOwp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEJhZFJlc3BvbnNlRXhjZXB0aW9uOwoKY2xhc3MgRXhjZXB0aW9uVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAY292ZXJzIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxSZXF1ZXN0RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVxdWVzdEV4Y2VwdGlvbigpCiAgICB7CiAgICAgICAgJGUgPSBuZXcgUmVxdWVzdEV4Y2VwdGlvbignTWVzc2FnZScpOwogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3Lmd1enpsZS1wcm9qZWN0LmNvbS8nKTsKICAgICAgICAkZS0+c2V0UmVxdWVzdCgkcmVxdWVzdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcmVxdWVzdCwgJGUtPmdldFJlcXVlc3QoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxCYWRSZXNwb25zZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEJhZFJlc3BvbnNlRXhjZXB0aW9uKCkKICAgIHsKICAgICAgICAkZSA9IG5ldyBCYWRSZXNwb25zZUV4Y2VwdGlvbignTWVzc2FnZScpOwogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDApOwogICAgICAgICRlLT5zZXRSZXNwb25zZSgkcmVzcG9uc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlc3BvbnNlLCAkZS0+Z2V0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxCYWRSZXNwb25zZUV4Y2VwdGlvbjo6ZmFjdG9yeQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNHZW5lcmljRXJyb3JFeGNlcHRpb25PbkVycm9yKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5leGFtcGxlLmNvbScpOwogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgzMDcpOwogICAgICAgICRlID0gQmFkUmVzcG9uc2VFeGNlcHRpb246OmZhY3RvcnkoJHJlcXVlc3QsICRyZXNwb25zZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxIdHRwXEV4Y2VwdGlvblxCYWRSZXNwb25zZUV4Y2VwdGlvbicsICRlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEJhZFJlc3BvbnNlRXhjZXB0aW9uOjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc0NsaWVudEVycm9yRXhjZXB0aW9uT25DbGllbnRFcnJvcigpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20nKTsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoNDA0KTsKICAgICAgICAkZSA9IEJhZFJlc3BvbnNlRXhjZXB0aW9uOjpmYWN0b3J5KCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcSHR0cFxFeGNlcHRpb25cQ2xpZW50RXJyb3JSZXNwb25zZUV4Y2VwdGlvbicsICRlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBjb3ZlcnMgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEJhZFJlc3BvbnNlRXhjZXB0aW9uOjpmYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc1NlcnZlckVycm9yRXhjZXB0aW9uT25TZXJ2ZXJFcnJvcigpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20nKTsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoNTAzKTsKICAgICAgICAkZSA9IEJhZFJlc3BvbnNlRXhjZXB0aW9uOjpmYWN0b3J5KCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcSHR0cFxFeGNlcHRpb25cU2VydmVyRXJyb3JSZXNwb25zZUV4Y2VwdGlvbicsICRlKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/MultiTransferExceptionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxFeGNlcHRpb247Cgp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXE11bHRpVHJhbnNmZXJFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxDdXJsXEN1cmxIYW5kbGU7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q7CgovKioKICogQGNvdmVycyBHdXp6bGVcSHR0cFxFeGNlcHRpb25cTXVsdGlUcmFuc2ZlckV4Y2VwdGlvbgogKi8KY2xhc3MgTXVsdGlUcmFuc2ZlckV4Y2VwdGlvblRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzUmVxdWVzdHMoKQogICAgewogICAgICAgICRyMSA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5mb28uY29tJyk7CiAgICAgICAgJHIyID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3LmZvby5jb20nKTsKICAgICAgICAkZSA9IG5ldyBNdWx0aVRyYW5zZmVyRXhjZXB0aW9uKCk7CiAgICAgICAgJGUtPmFkZFN1Y2Nlc3NmdWxSZXF1ZXN0KCRyMSk7CiAgICAgICAgJGUtPmFkZEZhaWxlZFJlcXVlc3QoJHIyKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCRyMSksICRlLT5nZXRTdWNjZXNzZnVsUmVxdWVzdHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgkcjIpLCAkZS0+Z2V0U3VjY2Vzc2Z1bFJlcXVlc3RzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJHIxLCAkcjIpLCAkZS0+Z2V0QWxsUmVxdWVzdHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGUtPmNvbnRhaW5zUmVxdWVzdCgkcjEpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZS0+Y29udGFpbnNSZXF1ZXN0KCRyMikpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkZS0+Y29udGFpbnNSZXF1ZXN0KG5ldyBSZXF1ZXN0KCdQT1NUJywgJy9mb28nKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2V0UmVxdWVzdHMoKQogICAgewogICAgICAgICRzID0gYXJyYXkoJHIxID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3LmZvby5jb20nKSk7CiAgICAgICAgJGYgPSBhcnJheSgkcjIgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZm9vLmNvbScpKTsKICAgICAgICAkZSA9IG5ldyBNdWx0aVRyYW5zZmVyRXhjZXB0aW9uKCk7CiAgICAgICAgJGUtPnNldFN1Y2Nlc3NmdWxSZXF1ZXN0cygkcyk7CiAgICAgICAgJGUtPnNldEZhaWxlZFJlcXVlc3RzKCRmKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCRyMSksICRlLT5nZXRTdWNjZXNzZnVsUmVxdWVzdHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgkcjIpLCAkZS0+Z2V0U3VjY2Vzc2Z1bFJlcXVlc3RzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QXNzb2NpYXRlc0V4Y2VwdGlvbnNXaXRoUmVxdWVzdHMoKQogICAgewogICAgICAgICRyMSA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5mb28uY29tJyk7CiAgICAgICAgJHJlMSA9IG5ldyBcRXhjZXB0aW9uKCdmb28nKTsKICAgICAgICAkcmUyID0gbmV3IFxFeGNlcHRpb24oJ2JhcicpOwogICAgICAgICRlID0gbmV3IE11bHRpVHJhbnNmZXJFeGNlcHRpb24oKTsKICAgICAgICAkZS0+YWRkKCRyZTIpOwogICAgICAgICRlLT5hZGRGYWlsZWRSZXF1ZXN0V2l0aEV4Y2VwdGlvbigkcjEsICRyZTEpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRyZTEsICRlLT5nZXRFeGNlcHRpb25Gb3JGYWlsZWRSZXF1ZXN0KCRyMSkpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRlLT5nZXRFeGNlcHRpb25Gb3JGYWlsZWRSZXF1ZXN0KG5ldyBSZXF1ZXN0KCdQT1NUJywgJy9mb28nKSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/IoEmittingEntityBodyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cDsKCnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5Owp1c2UgR3V6emxlXEh0dHBcSW9FbWl0dGluZ0VudGl0eUJvZHk7CgovKioKICogQGNvdmVycyBHdXp6bGVcSHR0cFxJb0VtaXR0aW5nRW50aXR5Qm9keQogKi8KY2xhc3MgSW9FbWl0dGluZ0VudGl0eUJvZHlUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgJGJvZHk7CiAgICBwcm90ZWN0ZWQgJGRlY29yYXRlZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5kZWNvcmF0ZWQgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KCdoZWxsbycpOwogICAgICAgICR0aGlzLT5ib2R5ID0gbmV3IElvRW1pdHRpbmdFbnRpdHlCb2R5KCR0aGlzLT5kZWNvcmF0ZWQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW1pdHNSZWFkRXZlbnRzKCkKICAgIHsKICAgICAgICAkZSA9IG51bGw7CiAgICAgICAgJHRoaXMtPmJvZHktPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcignYm9keS5yZWFkJywgZnVuY3Rpb24gKCRldmVudCkgdXNlICgmJGUpIHsKICAgICAgICAgICAgJGUgPSAkZXZlbnQ7CiAgICAgICAgfSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaGVsJywgJHRoaXMtPmJvZHktPnJlYWQoMykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2hlbCcsICRlWydyZWFkJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgJGVbJ2xlbmd0aCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkdGhpcy0+Ym9keSwgJGVbJ2JvZHknXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbWl0c1dyaXRlRXZlbnRzKCkKICAgIHsKICAgICAgICAkZSA9IG51bGw7CiAgICAgICAgJHRoaXMtPmJvZHktPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcignYm9keS53cml0ZScsIGZ1bmN0aW9uICgkZXZlbnQpIHVzZSAoJiRlKSB7CiAgICAgICAgICAgICRlID0gJGV2ZW50OwogICAgICAgIH0pOwogICAgICAgICR0aGlzLT5ib2R5LT5zZWVrKDAsIFNFRUtfRU5EKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDUsICR0aGlzLT5ib2R5LT53cml0ZSgndGhlcmUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGhlcmUnLCAkZVsnd3JpdGUnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg1LCAkZVsncmVzdWx0J10pOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCR0aGlzLT5ib2R5LCAkZVsnYm9keSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdoZWxsb3RoZXJlJywgKHN0cmluZykgJHRoaXMtPmJvZHkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/AbstractMessageTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcSGVhZGVyOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0Owp1c2UgR3V6emxlXENvbW1vblxDb2xsZWN0aW9uOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXEh0dHBcTWVzc2FnZVxBYnN0cmFjdE1lc3NhZ2UKICovCmNsYXNzIEFic3RyYWN0TWVzc2FnZVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKiBAdmFyIFJlcXVlc3QgUmVxdWVzdCBvYmplY3QgKi8KICAgIHByaXZhdGUgJHJlcXVlc3Q7CgogICAgLyoqIEB2YXIgQWJzdHJhY3RNZXNzYWdlICovCiAgICBwcml2YXRlICRtb2NrOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgcGFyZW50OjpzZXRVcCgpOwogICAgICAgICR0aGlzLT5tb2NrID0gJHRoaXMtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCdHdXp6bGVcSHR0cFxNZXNzYWdlXEFic3RyYWN0TWVzc2FnZScpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZWFyRG93bigpCiAgICB7CiAgICAgICAgJHRoaXMtPm1vY2sgPSAkdGhpcy0+cmVxdWVzdCA9IG51bGw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRQYXJhbXMoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZXhhbXBsZS5jb20nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFxDb21tb25cXENvbGxlY3Rpb24nLCAkcmVxdWVzdC0+Z2V0UGFyYW1zKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkSGVhZGVycygpCiAgICB7CiAgICAgICAgJHRoaXMtPm1vY2stPnNldEhlYWRlcignQScsICdCJyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHRoaXMtPm1vY2ssICR0aGlzLT5tb2NrLT5hZGRIZWFkZXJzKGFycmF5KAogICAgICAgICAgICAnWC1EYXRhJyA9PiAnMTIzJwogICAgICAgICkpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPm1vY2stPmhhc0hlYWRlcignWC1EYXRhJykgIT09IGZhbHNlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+bW9jay0+aGFzSGVhZGVyKCdBJykgIT09IGZhbHNlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0hlYWRlclRvU2V0QXNIZWFkZXIoKQogICAgewogICAgICAgICRoID0gbmV3IEhlYWRlcignQScsICdCJyk7CiAgICAgICAgJHRoaXMtPm1vY2stPnNldEhlYWRlcignQScsICRoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkaCwgJHRoaXMtPm1vY2stPmdldEhlYWRlcignQScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldEhlYWRlcigpCiAgICB7CiAgICAgICAgJHRoaXMtPm1vY2stPnNldEhlYWRlcignVGVzdCcsICcxMjMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAkdGhpcy0+bW9jay0+Z2V0SGVhZGVyKCdUZXN0JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0SGVhZGVycygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHRoaXMtPm1vY2ssICR0aGlzLT5tb2NrLT5zZXRIZWFkZXJzKGFycmF5KCdhJyA9PiAnYicsICdjJyA9PiAnZCcpKSk7CiAgICAgICAgJGggPSAkdGhpcy0+bW9jay0+Z2V0SGVhZGVycygpOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnYScsICRoLT50b0FycmF5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnYycsICRoLT50b0FycmF5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlclxIZWFkZXJJbnRlcmZhY2UnLCAkaC0+Z2V0KCdhJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlclxIZWFkZXJJbnRlcmZhY2UnLCAkaC0+Z2V0KCdjJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0SGVhZGVyTGluZXNVc2VzR2x1ZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPm1vY2stPnNldEhlYWRlcnMoYXJyYXkoJ2EnID0+ICdiJywgJ2MnID0+ICdkJykpOwogICAgICAgICR0aGlzLT5tb2NrLT5hZGRIZWFkZXIoJ2EnLCAnZScpOwogICAgICAgICR0aGlzLT5tb2NrLT5nZXRIZWFkZXIoJ2EnKS0+c2V0R2x1ZSgnIScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdhOiBiISBlJywKICAgICAgICAgICAgJ2M6IGQnCiAgICAgICAgKSwgJHRoaXMtPm1vY2stPmdldEhlYWRlckxpbmVzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzSGVhZGVyKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHRoaXMtPm1vY2stPmhhc0hlYWRlcignRm9vJykpOwogICAgICAgICR0aGlzLT5tb2NrLT5zZXRIZWFkZXIoJ0ZvbycsICdCYXInKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKHRydWUsICR0aGlzLT5tb2NrLT5oYXNIZWFkZXIoJ0ZvbycpKTsKICAgICAgICAkdGhpcy0+bW9jay0+c2V0SGVhZGVyKCdmb28nLCAneW9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyh0cnVlLCAkdGhpcy0+bW9jay0+aGFzSGVhZGVyKCdGb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyh0cnVlLCAkdGhpcy0+bW9jay0+aGFzSGVhZGVyKCdmb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhmYWxzZSwgJHRoaXMtPm1vY2stPmhhc0hlYWRlcignYmFyJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVtb3ZlSGVhZGVyKCkKICAgIHsKICAgICAgICAkdGhpcy0+bW9jay0+c2V0SGVhZGVyKCdGb28nLCAnQmFyJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyh0cnVlLCAkdGhpcy0+bW9jay0+aGFzSGVhZGVyKCdGb28nKSk7CiAgICAgICAgJHRoaXMtPm1vY2stPnJlbW92ZUhlYWRlcignRm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT5tb2NrLT5oYXNIZWFkZXIoJ0ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNOdWxsV2hlbkhlYWRlcklzTm90Rm91bmQoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCR0aGlzLT5tb2NrLT5nZXRIZWFkZXIoJ2ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZGluZ0hlYWRlcnNQcmVzZXJ2ZXNPcmlnaW5hbEhlYWRlckNhc2UoKQogICAgewogICAgICAgICR0aGlzLT5tb2NrLT5hZGRIZWFkZXJzKGFycmF5KAogICAgICAgICAgICAndGVzdCcgPT4gJzEyMycsCiAgICAgICAgICAgICdUZXN0JyA9PiAnYWJjJwogICAgICAgICkpOwogICAgICAgICR0aGlzLT5tb2NrLT5hZGRIZWFkZXIoJ3Rlc3QnLCAnNDU2Jyk7CiAgICAgICAgJHRoaXMtPm1vY2stPmFkZEhlYWRlcigndGVzdCcsICc3ODknKTsKCiAgICAgICAgJGhlYWRlciA9ICR0aGlzLT5tb2NrLT5nZXRIZWFkZXIoJ3Rlc3QnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJzEyMycsICRoZWFkZXItPnRvQXJyYXkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCc0NTYnLCAkaGVhZGVyLT50b0FycmF5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnNzg5JywgJGhlYWRlci0+dG9BcnJheSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ2FiYycsICRoZWFkZXItPnRvQXJyYXkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5TdG9yZUVtcHR5SGVhZGVycygpCiAgICB7CiAgICAgICAgJHRoaXMtPm1vY2stPnNldEhlYWRlcignQ29udGVudC1MZW5ndGgnLCAwKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+bW9jay0+aGFzSGVhZGVyKCdDb250ZW50LUxlbmd0aCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsIChzdHJpbmcpICR0aGlzLT5tb2NrLT5nZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2V0Q3VzdG9tSGVhZGVyRmFjdG9yeSgpCiAgICB7CiAgICAgICAgJGYgPSBuZXcgSGVhZGVyXEhlYWRlckZhY3RvcnkoKTsKICAgICAgICAkdGhpcy0+bW9jay0+c2V0SGVhZGVyRmFjdG9yeSgkZik7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGYsICR0aGlzLT5yZWFkQXR0cmlidXRlKCR0aGlzLT5tb2NrLCAnaGVhZGVyRmFjdG9yeScpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/EntityEnclosingRequestTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RGYWN0b3J5Owp1c2UgR3V6emxlXEh0dHBcUmVkaXJlY3RQbHVnaW47CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3Q7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFBvc3RGaWxlOwp1c2UgR3V6emxlXEh0dHBcUXVlcnlTdHJpbmc7CgovKioKICogQGdyb3VwIHNlcnZlcgogKiBAY292ZXJzIEd1enpsZVxIdHRwXE1lc3NhZ2VcRW50aXR5RW5jbG9zaW5nUmVxdWVzdAogKi8KY2xhc3MgRW50aXR5RW5jbG9zaW5nUmVxdWVzdFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCAkY2xpZW50OwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVhckRvd24oKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSBudWxsOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3JDb25maWd1cmVzUmVxdWVzdCgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgRW50aXR5RW5jbG9zaW5nUmVxdWVzdCgnUFVUJywgJ2h0dHA6Ly90ZXN0LmNvbScsIGFycmF5KAogICAgICAgICAgICAnWC1UZXN0JyA9PiAnMTIzJwogICAgICAgICkpOwogICAgICAgICRyZXF1ZXN0LT5zZXRCb2R5KCdUZXN0Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnMTIzJywgJHJlcXVlc3QtPmdldEhlYWRlcignWC1UZXN0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0V4cGVjdCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNldEJvZHlXaXRob3V0T3ZlcnJpZGluZ0NvbnRlbnRUeXBlKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0KCdQVVQnLCAnaHR0cDovL3Rlc3QuY29tJywgYXJyYXkoJ0NvbnRlbnQtVHlwZScgPT4gJ2Zvb29vb28nKSk7CiAgICAgICAgJHJlcXVlc3QtPnNldEJvZHkoJ3siYSI6ImIifScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2Zvb29vb28nLCAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdDb250ZW50LVR5cGUnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0SW5jbHVkZXNCb2R5SW5NZXNzYWdlKCkKICAgIHsKCiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQVVQnLCAnaHR0cDovL3d3dy5ndXp6bGUtcHJvamVjdC5jb20vJywgbnVsbCwgJ2RhdGEnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCJQVVQgLyBIVFRQLzEuMVxyXG4iCiAgICAgICAgICAgIC4gIkhvc3Q6IHd3dy5ndXp6bGUtcHJvamVjdC5jb21cclxuIgogICAgICAgICAgICAuICJDb250ZW50LUxlbmd0aDogNFxyXG5cclxuIgogICAgICAgICAgICAuICJkYXRhIiwgKHN0cmluZykgJHJlcXVlc3QpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVxdWVzdEluY2x1ZGVzUG9zdEJvZHlJbk1lc3NhZ2VPbmx5V2hlbk5vUG9zdEZpbGVzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BPU1QnLCAnaHR0cDovL3d3dy5ndXp6bGUtcHJvamVjdC5jb20vJywgbnVsbCwgYXJyYXkoCiAgICAgICAgICAgICdmb28nID0+ICdiYXInCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygiUE9TVCAvIEhUVFAvMS4xXHJcbiIKICAgICAgICAgICAgLiAiSG9zdDogd3d3Lmd1enpsZS1wcm9qZWN0LmNvbVxyXG4iCiAgICAgICAgICAgIC4gIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0Zi04XHJcblxyXG4iCiAgICAgICAgICAgIC4gImZvbz1iYXIiLCAoc3RyaW5nKSAkcmVxdWVzdCk7CgogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUE9TVCcsICdodHRwOi8vd3d3Lmd1enpsZS1wcm9qZWN0LmNvbS8nLCBudWxsLCBhcnJheSgKICAgICAgICAgICAgJ2ZvbycgPT4gJ0AnIC4gX19GSUxFX18KICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCJQT1NUIC8gSFRUUC8xLjFcclxuIgogICAgICAgICAgICAuICJIb3N0OiB3d3cuZ3V6emxlLXByb2plY3QuY29tXHJcbiIKICAgICAgICAgICAgLiAiQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvZm9ybS1kYXRhXHJcbiIKICAgICAgICAgICAgLiAiRXhwZWN0OiAxMDAtQ29udGludWVcclxuXHJcbiIsIChzdHJpbmcpICRyZXF1ZXN0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNQb3N0RmllbGRzQW5kU2V0c0NvbnRlbnRMZW5ndGgoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUE9TVCcsICdodHRwOi8vd3d3Lmd1enpsZS1wcm9qZWN0LmNvbS8nLCBudWxsLCBhcnJheSgKICAgICAgICAgICAgJ2RhdGEnID0+ICcxMjMnCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygiUE9TVCAvIEhUVFAvMS4xXHJcbiIKICAgICAgICAgICAgLiAiSG9zdDogd3d3Lmd1enpsZS1wcm9qZWN0LmNvbVxyXG4iCiAgICAgICAgICAgIC4gIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0Zi04XHJcblxyXG4iCiAgICAgICAgICAgIC4gImRhdGE9MTIzIiwgKHN0cmluZykgJHJlcXVlc3QpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkc1Bvc3RGaWxlc0FuZFNldHNDb250ZW50VHlwZSgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQT1NUJywgJ2h0dHA6Ly93d3cudGVzdC5jb20vJykKICAgICAgICAgICAgLT5hZGRQb3N0RmlsZXMoYXJyYXkoCiAgICAgICAgICAgICAgICAnZmlsZScgPT4gX19GSUxFX18KICAgICAgICAgICAgKSktPmFkZFBvc3RGaWVsZHMoYXJyYXkoCiAgICAgICAgICAgICAgICAnYScgPT4gJ2InCiAgICAgICAgICAgICkpOwogICAgICAgICRtZXNzYWdlID0gKHN0cmluZykgJHJlcXVlc3Q7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMDAtQ29udGludWUnLCAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdFeHBlY3QnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0Qm9keUNvbnRhaW5zUG9zdEZpbGVzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BPU1QnLCAnaHR0cDovL3d3dy50ZXN0LmNvbS8nKTsKICAgICAgICAkcmVxdWVzdC0+YWRkUG9zdEZpZWxkcyhhcnJheSgKICAgICAgICAgICAgJ3Rlc3QnID0+ICcxMjMnCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCJcclxuXHJcbnRlc3Q9MTIzIiwgKHN0cmluZykgJHJlcXVlc3QpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVxdWVzdEJvZHlBZGRzQ29udGVudExlbmd0aCgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQVVQnLCAnaHR0cDovL3d3dy50ZXN0LmNvbS8nKTsKICAgICAgICAkcmVxdWVzdC0+c2V0Qm9keShFbnRpdHlCb2R5OjpmYWN0b3J5KCd0ZXN0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNCwgKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcignQ29udGVudC1MZW5ndGgnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRyZXF1ZXN0LT5oYXNIZWFkZXIoJ1RyYW5zZmVyLUVuY29kaW5nJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVxdWVzdEJvZHlEb2VzTm90VXNlQ29udGVudExlbmd0aFdoZW5DaHVua2VkKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BVVCcsICdodHRwOi8vd3d3LnRlc3QuY29tLycsIGFycmF5KAogICAgICAgICAgICAnVHJhbnNmZXItRW5jb2RpbmcnID0+ICdjaHVua2VkJwogICAgICAgICksICd0ZXN0Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHJlcXVlc3QtPmdldEhlYWRlcignQ29udGVudC1MZW5ndGgnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlcXVlc3QtPmhhc0hlYWRlcignVHJhbnNmZXItRW5jb2RpbmcnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0SGFzTXV0YWJsZUJvZHkoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUFVUJywgJ2h0dHA6Ly93d3cuZ3V6emxlLXByb2plY3QuY29tLycsIG51bGwsICdkYXRhJyk7CiAgICAgICAgJGJvZHkgPSAkcmVxdWVzdC0+Z2V0Qm9keSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcXEh0dHBcXEVudGl0eUJvZHknLCAkYm9keSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGJvZHksICRyZXF1ZXN0LT5nZXRCb2R5KCkpOwoKICAgICAgICAkbmV3Qm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJ2Zvb2JhcicpOwogICAgICAgICRyZXF1ZXN0LT5zZXRCb2R5KCRuZXdCb2R5KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb29iYXInLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0Qm9keSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkbmV3Qm9keSwgJHJlcXVlc3QtPmdldEJvZHkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZXRQb3N0RmllbGRzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BPU1QnLCAnaHR0cDovL3d3dy5ndXp6bGUtcHJvamVjdC5jb20vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcSHR0cFxcUXVlcnlTdHJpbmcnLCAkcmVxdWVzdC0+Z2V0UG9zdEZpZWxkcygpKTsKCiAgICAgICAgJGZpZWxkcyA9IG5ldyBRdWVyeVN0cmluZyhhcnJheSgKICAgICAgICAgICAgJ2EnID0+ICdiJwogICAgICAgICkpOwogICAgICAgICRyZXF1ZXN0LT5hZGRQb3N0RmllbGRzKCRmaWVsZHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGZpZWxkcy0+Z2V0QWxsKCksICRyZXF1ZXN0LT5nZXRQb3N0RmllbGRzKCktPmdldEFsbCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCksICRyZXF1ZXN0LT5nZXRQb3N0RmlsZXMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZXRQb3N0RmlsZXMoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUE9TVCcsICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpCiAgICAgICAgICAgIC0+c2V0Q2xpZW50KG5ldyBDbGllbnQoKSkKICAgICAgICAgICAgLT5hZGRQb3N0RmlsZXMoYXJyYXkoX19GSUxFX18pKQogICAgICAgICAgICAtPmFkZFBvc3RGaWVsZHMoYXJyYXkoCiAgICAgICAgICAgICAgICAndGVzdCcgPT4gJ2FiYycKICAgICAgICAgICAgKSk7CgogICAgICAgICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5zZXQoJ2RlYnVnJywgdHJ1ZSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICd0ZXN0JyA9PiAnYWJjJwogICAgICAgICksICRyZXF1ZXN0LT5nZXRQb3N0RmllbGRzKCktPmdldEFsbCgpKTsKCiAgICAgICAgJGZpbGVzID0gJHJlcXVlc3QtPmdldFBvc3RGaWxlcygpOwogICAgICAgICRwb3N0ID0gJGZpbGVzWydmaWxlJ11bMF07CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZmlsZScsICRwb3N0LT5nZXRGaWVsZE5hbWUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCd0ZXh0L3gtJywgJHBvc3QtPmdldENvbnRlbnRUeXBlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoX19GSUxFX18sICRwb3N0LT5nZXRGaWxlbmFtZSgpKTsKCiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CgogICAgICAgICR0aGlzLT5hc3NlcnROb3ROdWxsKCRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnbXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9JywgKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcignQ29udGVudC1UeXBlJyksICctPiBjVVJMIG11c3QgYWRkIHRoZSBib3VuZGFyeScpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNldFBvc3RGaWxlc1Rocm93c0V4Y2VwdGlvbldoZW5GaWxlSXNOb3RGb3VuZCgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQT1NUJywgJ2h0dHA6Ly93d3cuZ3V6emxlLXByb2plY3QuY29tLycpCiAgICAgICAgICAgIC0+YWRkUG9zdEZpbGVzKGFycmF5KAogICAgICAgICAgICAgICAgJ2ZpbGUnID0+ICdmaWxlbm90Zm91bmQuaW5pJwogICAgICAgICAgICApKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBHdXp6bGVcSHR0cFxFeGNlcHRpb25cUmVxdWVzdEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRocm93c0V4Y2VwdGlvbldoZW5Ob25TdHJpbmdzQXJlQWRkZWRUb1Bvc3QoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUE9TVCcsICdodHRwOi8vd3d3Lmd1enpsZS1wcm9qZWN0LmNvbS8nKQogICAgICAgICAgICAtPmFkZFBvc3RGaWxlKCdmb28nLCBuZXcgXHN0ZENsYXNzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzQ29udGVudFR5cGVJblBvc3RVcGxvYWRzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BPU1QnLCAnaHR0cDovL3d3dy5ndXp6bGUtcHJvamVjdC5jb20vJykKICAgICAgICAgICAgLT5hZGRQb3N0RmlsZSgnZm9vJywgX19GSUxFX18sICd0ZXh0L3BsYWluJyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgIG5ldyBQb3N0RmlsZSgnZm9vJywgX19GSUxFX18sICd0ZXh0L3BsYWluJykKICAgICAgICApLCAkcmVxdWVzdC0+Z2V0UG9zdEZpbGUoJ2ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEd1ZXNzZXNDb250ZW50VHlwZU9mUG9zdFVwbG9hZCgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQT1NUJywgJ2h0dHA6Ly93d3cuZ3V6emxlLXByb2plY3QuY29tLycpCiAgICAgICAgICAgIC0+YWRkUG9zdEZpbGUoJ2ZvbycsIF9fRklMRV9fKTsKICAgICAgICAkZmlsZSA9ICRyZXF1ZXN0LT5nZXRQb3N0RmlsZSgnZm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCd0ZXh0L3gtJywgJGZpbGVbMF0tPmdldENvbnRlbnRUeXBlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzQ29udGVudERpc3Bvc2l0aW9uRmllbGRzSW5Qb3N0VXBsb2Fkc1doZW5TZXR0aW5nSW5CdWxrKCkKICAgIHsKICAgICAgICAkcG9zdEZpbGUgPSBuZXcgUG9zdEZpbGUoJ2ZvbycsIF9fRklMRV9fLCAndGV4dC94LXBocCcpOwogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUE9TVCcsICdodHRwOi8vd3d3Lmd1enpsZS1wcm9qZWN0LmNvbS8nKQogICAgICAgICAgICAtPmFkZFBvc3RGaWxlcyhhcnJheSgnZm9vJyA9PiAkcG9zdEZpbGUpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgkcG9zdEZpbGUpLCAkcmVxdWVzdC0+Z2V0UG9zdEZpbGUoJ2ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBvc3RSZXF1ZXN0c1VzZUFwcGxpY2F0aW9uWHd3d0ZvclVybEVuY29kZWRGb3JBcnJheXMoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUE9TVCcsICdodHRwOi8vd3d3Lmd1enpsZS1wcm9qZWN0LmNvbS8nKTsKICAgICAgICAkcmVxdWVzdC0+c2V0UG9zdEZpZWxkKCdhJywgJ2InKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoIlxyXG5cclxuYT1iIiwgKHN0cmluZykgJHJlcXVlc3QpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD11dGYtOCcsICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByb2Nlc3NNZXRob2RBZGRzQ29udGVudFR5cGUoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUE9TVCcsICdodHRwOi8vd3d3Lmd1enpsZS1wcm9qZWN0LmNvbS8nKTsKICAgICAgICAkcmVxdWVzdC0+c2V0UG9zdEZpZWxkKCdhJywgJ2InKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9dXRmLTgnLCAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdDb250ZW50LVR5cGUnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQb3N0UmVxdWVzdHNVc2VNdWx0aXBhcnRGb3JtRGF0YVdpdGhGaWxlcygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQT1NUJywgJ2h0dHA6Ly93d3cuZ3V6emxlLXByb2plY3QuY29tLycpOwogICAgICAgICRyZXF1ZXN0LT5hZGRQb3N0RmlsZXMoYXJyYXkoJ2ZpbGUnID0+IF9fRklMRV9fKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNlbmRNdWx0aXBsZVJlcXVlc3RzVXNpbmdBU2luZ2xlUmVxdWVzdE9iamVjdCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZShhcnJheSgKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMSBDcmVhdGVkXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICkpOwoKICAgICAgICAvLyBTZW5kIHRoZSBmaXJzdCByZXF1ZXN0CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQVVQnLCAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKQogICAgICAgICAgICAtPnNldEJvZHkoJ3Rlc3QnKQogICAgICAgICAgICAtPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyMDAsICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpLT5nZXRTdGF0dXNDb2RlKCkpOwoKICAgICAgICAvLyBTZW5kIHRoZSBzZWNvbmQgcmVxdWVzdAogICAgICAgICRyZXF1ZXN0LT5zZXRCb2R5KCdhYmNkZWZnJywgJ2FwcGxpY2F0aW9uL2pzb24nLCBmYWxzZSk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMSwgJHJlcXVlc3QtPmdldFJlc3BvbnNlKCktPmdldFN0YXR1c0NvZGUoKSk7CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBzYW1lIHJlcXVlc3Qgd2FzIHNlbnQgdHdpY2Ugd2l0aCBkaWZmZXJlbnQgYm9kaWVzCiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJHJlcXVlc3RzKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg0LCAoc3RyaW5nKSAkcmVxdWVzdHNbMF0tPmdldEhlYWRlcignQ29udGVudC1MZW5ndGgnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg3LCAoc3RyaW5nKSAkcmVxdWVzdHNbMV0tPmdldEhlYWRlcignQ29udGVudC1MZW5ndGgnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZW1vdmluZ1Bvc3RGaWVsZFJlYnVpbGRzUG9zdEZpZWxkcygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgRW50aXR5RW5jbG9zaW5nUmVxdWVzdCgnUE9TVCcsICdodHRwOi8vdGVzdC5jb20nKTsKICAgICAgICAkcmVxdWVzdC0+c2V0UG9zdEZpZWxkKCd0ZXN0JywgJ3ZhbHVlJyk7CiAgICAgICAgJHJlcXVlc3QtPnJlbW92ZVBvc3RGaWVsZCgndGVzdCcpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRyZXF1ZXN0LT5nZXRQb3N0RmllbGQoJ3Rlc3QnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzQ2h1bmtlZFRyYW5zZmVyV2hlbkJvZHlMZW5ndGhDYW5ub3RCZURldGVybWluZWQoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0KCdQVVQnLCAnaHR0cDovL3Rlc3QuY29tLycpOwogICAgICAgICRyZXF1ZXN0LT5zZXRCb2R5KGZvcGVuKCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCksICdyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2NodW5rZWQnLCAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdUcmFuc2Zlci1FbmNvZGluZycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHJlcXVlc3QtPmhhc0hlYWRlcignQ29udGVudC1MZW5ndGgnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxIdHRwXEV4Y2VwdGlvblxSZXF1ZXN0RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VGhyb3dzRXhjZXB0aW9uV2hlbkNvbnRlbnRMZW5ndGhDYW5ub3RCZURldGVybWluZWRBbmRVc2luZ0h0dHAxKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0KCdQVVQnLCAnaHR0cDovL3Rlc3QuY29tLycpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKICAgICAgICAkcmVxdWVzdC0+c2V0UHJvdG9jb2xWZXJzaW9uKCcxLjAnKTsKICAgICAgICAkcmVxdWVzdC0+c2V0Qm9keShmb3BlbigkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpLCAncicpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c05lc3RlZFBvc3REYXRhKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0KCdQT1NUJywgJ2h0dHA6Ly90ZXN0LmNvbS8nKTsKICAgICAgICAkcmVxdWVzdC0+YWRkUG9zdEZpZWxkcyhhcnJheSgKICAgICAgICAgICAgJ2EnID0+IGFycmF5KCdiJywgJ2MnKQogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdhJyA9PiBhcnJheSgnYicsICdjJykKICAgICAgICApLCAkcmVxdWVzdC0+Z2V0UG9zdEZpZWxkcygpLT5nZXRBbGwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NFbXB0eUZpZWxkcygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgRW50aXR5RW5jbG9zaW5nUmVxdWVzdCgnUE9TVCcsICdodHRwOi8vdGVzdC5jb20vJyk7CiAgICAgICAgJHJlcXVlc3QtPmFkZFBvc3RGaWVsZHMoYXJyYXkoCiAgICAgICAgICAgICdhJyA9PiAnJwogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdhJyA9PiAnJwogICAgICAgICksICRyZXF1ZXN0LT5nZXRQb3N0RmllbGRzKCktPmdldEFsbCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXEh0dHBcRXhjZXB0aW9uXFJlcXVlc3RFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGYWlsc09uSW52YWxpZEZpbGVzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0KCdQT1NUJywgJ2h0dHA6Ly90ZXN0LmNvbS8nKTsKICAgICAgICAkcmVxdWVzdC0+YWRkUG9zdEZpbGVzKGFycmF5KAogICAgICAgICAgICAnYScgPT4gbmV3IFxzdGRDbGFzcygpCiAgICAgICAgKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYW5kbGVzRW1wdHlTdHJpbmdzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0KCdQT1NUJywgJ2h0dHA6Ly90ZXN0LmNvbS8nKTsKICAgICAgICAkcmVxdWVzdC0+YWRkUG9zdEZpZWxkcyhhcnJheSgKICAgICAgICAgICAgJ2EnID0+ICcnLAogICAgICAgICAgICAnYicgPT4gbnVsbCwKICAgICAgICAgICAgJ2MnID0+ICdGb28nCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ2EnID0+ICcnLAogICAgICAgICAgICAnYicgPT4gbnVsbCwKICAgICAgICAgICAgJ2MnID0+ICdGb28nCiAgICAgICAgKSwgJHJlcXVlc3QtPmdldFBvc3RGaWVsZHMoKS0+Z2V0QWxsKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SG9sZHNQb3N0RmlsZXMoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IEVudGl0eUVuY2xvc2luZ1JlcXVlc3QoJ1BPU1QnLCAnaHR0cDovL3Rlc3QuY29tLycpOwogICAgICAgICRyZXF1ZXN0LT5hZGRQb3N0RmlsZSgnZm9vJywgX19GSUxFX18pOwogICAgICAgICRyZXF1ZXN0LT5hZGRQb3N0RmlsZShuZXcgUG9zdEZpbGUoJ2ZvbycsIF9fRklMRV9fKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnZm9vJywgJHJlcXVlc3QtPmdldFBvc3RGaWxlcygpKTsKICAgICAgICAkZm9vID0gJHJlcXVlc3QtPmdldFBvc3RGaWxlKCdmb28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCRmb28pKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKF9fRklMRV9fLCAkZm9vWzBdLT5nZXRGaWxlbmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKF9fRklMRV9fLCAkZm9vWzFdLT5nZXRGaWxlbmFtZSgpKTsKCiAgICAgICAgJHJlcXVlc3QtPnJlbW92ZVBvc3RGaWxlKCdmb28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCksICRyZXF1ZXN0LT5nZXRQb3N0RmlsZXMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NBdFByZWZpeFdoZW5BZGRpbmdQb3N0RmlsZXMoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IEVudGl0eUVuY2xvc2luZ1JlcXVlc3QoJ1BPU1QnLCAnaHR0cDovL3Rlc3QuY29tLycpOwogICAgICAgICRyZXF1ZXN0LT5hZGRQb3N0RmlsZXMoYXJyYXkoCiAgICAgICAgICAgICdmb28nID0+ICdAJyAuIF9fRklMRV9fCiAgICAgICAgKSk7CiAgICAgICAgJGZvbyA9ICRyZXF1ZXN0LT5nZXRQb3N0RmlsZSgnZm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhfX0ZJTEVfXywgJGZvb1swXS0+Z2V0RmlsZW5hbWUoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZXRTdGF0ZVRvVHJhbnNmZXJXaXRoRW1wdHlCb2R5U2V0c0NvbnRlbnRMZW5ndGhUb1plcm8oKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IEVudGl0eUVuY2xvc2luZ1JlcXVlc3QoJ1BPU1QnLCAnaHR0cDovL3Rlc3QuY29tLycpOwogICAgICAgICRyZXF1ZXN0LT5zZXRTdGF0ZSgkcmVxdWVzdDo6U1RBVEVfVFJBTlNGRVIpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzAnLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdDb250ZW50LUxlbmd0aCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNldHRpbmdFeHBlY3RIZWFkZXJDdXRvZmZDaGFuZ2VzUmVxdWVzdCgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgRW50aXR5RW5jbG9zaW5nUmVxdWVzdCgnUFVUJywgJ2h0dHA6Ly90ZXN0LmNvbS8nKTsKICAgICAgICAkcmVxdWVzdC0+c2V0SGVhZGVyKCdFeHBlY3QnLCAnMTAwLUNvbnRpbnVlJyk7CiAgICAgICAgJHJlcXVlc3QtPnNldEV4cGVjdEhlYWRlckN1dG9mZihmYWxzZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHJlcXVlc3QtPmdldEhlYWRlcignRXhwZWN0JykpOwogICAgICAgIC8vIFRoZXJlIGlzIG5vdCBib2R5LCBzbyByZW1vdmUgdGhlIGV4cGVjdCBoZWFkZXIKICAgICAgICAkcmVxdWVzdC0+c2V0SGVhZGVyKCdFeHBlY3QnLCAnMTAwLUNvbnRpbnVlJyk7CiAgICAgICAgJHJlcXVlc3QtPnNldEV4cGVjdEhlYWRlckN1dG9mZigxMCk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHJlcXVlc3QtPmdldEhlYWRlcignRXhwZWN0JykpOwogICAgICAgIC8vIFRoZSBzaXplIGlzIGxlc3MgdGhhbiB0aGUgY3V0b2ZmCiAgICAgICAgJHJlcXVlc3QtPnNldEJvZHkoJ2ZvbycpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0V4cGVjdCcpKTsKICAgICAgICAvLyBUaGUgc2l6ZSBpcyBncmVhdGVyIHRoYW4gdGhlIGN1dG9mZgogICAgICAgICRyZXF1ZXN0LT5zZXRCb2R5KCdmb29iYXpiYXJiYW1ib28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90TnVsbCgkcmVxdWVzdC0+Z2V0SGVhZGVyKCdFeHBlY3QnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdHJpY3RSZWRpcmVjdHNDYW5CZVNwZWNpZmllZE9uRW50aXR5RW5jbG9zaW5nUmVxdWVzdHMoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IEVudGl0eUVuY2xvc2luZ1JlcXVlc3QoJ1BVVCcsICdodHRwOi8vdGVzdC5jb20vJyk7CiAgICAgICAgJHJlcXVlc3QtPmNvbmZpZ3VyZVJlZGlyZWN0cyh0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmdldChSZWRpcmVjdFBsdWdpbjo6U1RSSUNUX1JFRElSRUNUUykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuRGlzYWJsZVJlZGlyZWN0cygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgRW50aXR5RW5jbG9zaW5nUmVxdWVzdCgnUFVUJywgJ2h0dHA6Ly90ZXN0LmNvbS8nKTsKICAgICAgICAkcmVxdWVzdC0+Y29uZmlndXJlUmVkaXJlY3RzKGZhbHNlLCBmYWxzZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlcXVlc3QtPmdldFBhcmFtcygpLT5nZXQoUmVkaXJlY3RQbHVnaW46OkRJU0FCTEUpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNldHNDb250ZW50VHlwZVdoZW5TZXR0aW5nQm9keUJ5R3Vlc3NpbmdGcm9tRW50aXR5Qm9keSgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgRW50aXR5RW5jbG9zaW5nUmVxdWVzdCgnUFVUJywgJ2h0dHA6Ly90ZXN0LmNvbS9mb28nKTsKICAgICAgICAkcmVxdWVzdC0+c2V0Qm9keShFbnRpdHlCb2R5OjpmYWN0b3J5KGZvcGVuKF9fRklMRV9fLCAncicpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGV4dC94LXBocCcsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvZXNOb3RDbG9uZUJvZHkoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IEVudGl0eUVuY2xvc2luZ1JlcXVlc3QoJ1BVVCcsICdodHRwOi8vdGVzdC5jb20vZm9vJyk7CiAgICAgICAgJHJlcXVlc3QtPnNldEJvZHkoJ3Rlc3QnKTsKICAgICAgICAkbmV3UmVxdWVzdCA9IGNsb25lICRyZXF1ZXN0OwogICAgICAgICRuZXdSZXF1ZXN0LT5zZXRCb2R5KCdmb28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdzdHJpbmcnLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0Qm9keSgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/Header/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/Header/HeaderFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxNZXNzYWdlXEhlYWRlcjsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlclxIZWFkZXJGYWN0b3J5OwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXEh0dHBcTWVzc2FnZVxIZWFkZXJcSGVhZGVyRmFjdG9yeQogKi8KY2xhc3MgSGVhZGVyRmFjdG9yeVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc0Jhc2ljSGVhZGVycygpCiAgICB7CiAgICAgICAgJGYgPSBuZXcgSGVhZGVyRmFjdG9yeSgpOwogICAgICAgICRoID0gJGYtPmNyZWF0ZUhlYWRlcignRm9vJywgJ0JhcicpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlcicsICRoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdGb28nLCAkaC0+Z2V0TmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdCYXInLCAoc3RyaW5nKSAkaCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzU3BlY2lmaWNIZWFkZXJzKCkKICAgIHsKICAgICAgICAkZiA9IG5ldyBIZWFkZXJGYWN0b3J5KCk7CiAgICAgICAgJGggPSAkZi0+Y3JlYXRlSGVhZGVyKCdMaW5rJywgJzxodHRwPjsgcmVsPSJ0ZXN0IicpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlclxMaW5rJywgJGgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0xpbmsnLCAkaC0+Z2V0TmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCc8aHR0cD47IHJlbD0idGVzdCInLCAoc3RyaW5nKSAkaCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/Header/LinkTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxNZXNzYWdlXEhlYWRlcjsKCnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEhlYWRlclxMaW5rOwp1c2UgR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlOwoKY2xhc3MgTGlua1Rlc3QgZXh0ZW5kcyBHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBhcnNlc0xpbmtzKCkKICAgIHsKICAgICAgICAkbGluayA9IG5ldyBMaW5rKCdMaW5rJywgJzxodHRwOi8uLi4vZnJvbnQuanBlZz47IHJlbD1mcm9udDsgdHlwZT0iaW1hZ2UvanBlZyIsIDxodHRwOi8vLi4uL2JhY2suanBlZz47IHJlbD1iYWNrOyB0eXBlPSJpbWFnZS9qcGVnIiwgPGh0dHA6Ly8uLi4vc2lkZS5qcGVnP3Rlc3Q9MT47IHJlbD1zaWRlOyB0eXBlPSJpbWFnZS9qcGVnIicpOwogICAgICAgICRsaW5rcyA9ICRsaW5rLT5nZXRMaW5rcygpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJ3JlbCcgPT4gJ2Zyb250JywKICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnaW1hZ2UvanBlZycsCiAgICAgICAgICAgICAgICAndXJsJyA9PiAnaHR0cDovLi4uL2Zyb250LmpwZWcnLAogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICdyZWwnID0+ICdiYWNrJywKICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnaW1hZ2UvanBlZycsCiAgICAgICAgICAgICAgICAndXJsJyA9PiAnaHR0cDovLy4uLi9iYWNrLmpwZWcnLAogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICdyZWwnID0+ICdzaWRlJywKICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnaW1hZ2UvanBlZycsCiAgICAgICAgICAgICAgICAndXJsJyA9PiAnaHR0cDovLy4uLi9zaWRlLmpwZWc/dGVzdD0xJwogICAgICAgICAgICApCiAgICAgICAgKSwgJGxpbmtzKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ3JlbCcgPT4gJ2JhY2snLAogICAgICAgICAgICAndHlwZScgPT4gJ2ltYWdlL2pwZWcnLAogICAgICAgICAgICAndXJsJyA9PiAnaHR0cDovLy4uLi9iYWNrLmpwZWcnLAogICAgICAgICksICRsaW5rLT5nZXRMaW5rKCdiYWNrJykpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkbGluay0+aGFzTGluaygnZnJvbnQnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRsaW5rLT5oYXNMaW5rKCdmb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5BZGRMaW5rKCkKICAgIHsKICAgICAgICAkbGluayA9IG5ldyBMaW5rKCdMaW5rJywgJzxodHRwOi8vZm9vPjsgcmVsPWE7IHR5cGU9ImltYWdlL2pwZWciJyk7CiAgICAgICAgJGxpbmstPmFkZExpbmsoJ2h0dHA6Ly90ZXN0LmNvbScsICd0ZXN0JywgYXJyYXkoJ2ZvbycgPT4gJ2JhcicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKAogICAgICAgICAgICAnPGh0dHA6Ly9mb28+OyByZWw9YTsgdHlwZT0iaW1hZ2UvanBlZyIsIDxodHRwOi8vdGVzdC5jb20+OyByZWw9InRlc3QiOyBmb289ImJhciInLAogICAgICAgICAgICAoc3RyaW5nKSAkbGluawogICAgICAgICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5QYXJzZUxpbmtzV2l0aENvbW1hcygpCiAgICB7CiAgICAgICAgJGxpbmsgPSBuZXcgTGluaygnTGluaycsICc8aHR0cDovL2V4YW1wbGUuY29tL1RoZUJvb2svY2hhcHRlcjE+OyByZWw9InByZXZpb3VzIjsgdGl0bGU9InN0YXJ0LCBpbmRleCInKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICdyZWwnID0+ICdwcmV2aW91cycsCiAgICAgICAgICAgICAgICAndGl0bGUnID0+ICdzdGFydCwgaW5kZXgnLAogICAgICAgICAgICAgICAgJ3VybCcgPT4gJ2h0dHA6Ly9leGFtcGxlLmNvbS9UaGVCb29rL2NoYXB0ZXIxJywKICAgICAgICAgICAgKQogICAgICAgICksICRsaW5rLT5nZXRMaW5rcygpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderComparison.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcSGVhZGVyXEhlYWRlckNvbGxlY3Rpb247CgovKioKICogQ2xhc3MgdXNlZCB0byBjb21wYXJlIEhUVFAgaGVhZGVycyB1c2luZyBhIGN1c3RvbSBEU0wKICovCmNsYXNzIEhlYWRlckNvbXBhcmlzb24KewogICAgLyoqCiAgICAgKiBDb21wYXJlIEhUVFAgaGVhZGVycyBhbmQgdXNlIHNwZWNpYWwgbWFya3VwIHRvIGZpbHRlciB2YWx1ZXMKICAgICAqIEEgaGVhZGVyIHByZWZpeGVkIHdpdGggJyEnIG1lYW5zIGl0IG11c3Qgbm90IGV4aXN0CiAgICAgKiBBIGhlYWRlciBwcmVmaXhlZCB3aXRoICdfJyBtZWFucyBpdCBtdXN0IGJlIGlnbm9yZWQKICAgICAqIEEgaGVhZGVyIHZhbHVlIG9mICcqJyBtZWFucyBhbnl0aGluZyBhZnRlciB0aGUgKiB3aWxsIGJlIGlnbm9yZWQKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGZpbHRlcmVkSGVhZGVycyBBcnJheSBvZiBzcGVjaWFsIGhlYWRlcnMKICAgICAqIEBwYXJhbSBhcnJheSAkYWN0dWFsSGVhZGVycyAgIEFycmF5IG9mIGhlYWRlcnMgdG8gY2hlY2sgYWdhaW5zdAogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXl8Ym9vbCBSZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBkaWZmZXJlbmNlcyBvciBGQUxTRSBpZiBub25lCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb21wYXJlKCRmaWx0ZXJlZEhlYWRlcnMsICRhY3R1YWxIZWFkZXJzKQogICAgewogICAgICAgICRleHBlY3RlZCA9IGFycmF5KCk7CiAgICAgICAgJGlnbm9yZSA9IGFycmF5KCk7CiAgICAgICAgJGFic2VudCA9IGFycmF5KCk7CgogICAgICAgIGlmICgkYWN0dWFsSGVhZGVycyBpbnN0YW5jZW9mIEhlYWRlckNvbGxlY3Rpb24pIHsKICAgICAgICAgICAgJGFjdHVhbEhlYWRlcnMgPSAkYWN0dWFsSGVhZGVycy0+dG9BcnJheSgpOwogICAgICAgIH0KCiAgICAgICAgZm9yZWFjaCAoJGZpbHRlcmVkSGVhZGVycyBhcyAkayA9PiAkdikgewogICAgICAgICAgICBpZiAoJGtbMF0gPT0gJ18nKSB7CiAgICAgICAgICAgICAgICAvLyBUaGlzIGhlYWRlciBzaG91bGQgYmUgaWdub3JlZAogICAgICAgICAgICAgICAgJGlnbm9yZVtdID0gc3RyX3JlcGxhY2UoJ18nLCAnJywgJGspOwogICAgICAgICAgICB9IGVsc2VpZiAoJGtbMF0gPT0gJyEnKSB7CiAgICAgICAgICAgICAgICAvLyBUaGlzIGhlYWRlciBtdXN0IG5vdCBiZSBwcmVzZW50CiAgICAgICAgICAgICAgICAkYWJzZW50W10gPSBzdHJfcmVwbGFjZSgnIScsICcnLCAkayk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZXhwZWN0ZWRbJGtdID0gJHY7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+Y29tcGFyZUFycmF5KCRleHBlY3RlZCwgJGFjdHVhbEhlYWRlcnMsICRpZ25vcmUsICRhYnNlbnQpOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgYW4gYXJyYXkgb2YgSFRUUCBoZWFkZXJzIG1hdGNoZXMgYW5vdGhlciBhcnJheSBvZiBIVFRQIGhlYWRlcnMgd2hpbGUgdGFraW5nICogaW50byBhY2NvdW50IGFzIGEgd2lsZGNhcmQKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICAkZXhwZWN0ZWQgRXhwZWN0ZWQgSFRUUCBoZWFkZXJzIChhbGxvd3Mgd2lsZGNhcmQgdmFsdWVzKQogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gJGFjdHVhbCAgIEFjdHVhbCBIVFRQIGhlYWRlciBhcnJheQogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgJGlnbm9yZSAgIEhlYWRlcnMgdG8gaWdub3JlIGZyb20gdGhlIGNvbXBhcmlzb24KICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICRhYnNlbnQgICBBcnJheSBvZiBoZWFkZXJzIHRoYXQgbXVzdCBub3QgYmUgcHJlc2VudAogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXl8Ym9vbCBSZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBkaWZmZXJlbmNlcyBvciBGQUxTRSBpZiBub25lCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb21wYXJlQXJyYXkoYXJyYXkgJGV4cGVjdGVkLCAkYWN0dWFsLCBhcnJheSAkaWdub3JlID0gYXJyYXkoKSwgYXJyYXkgJGFic2VudCA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJGRpZmZlcmVuY2VzID0gYXJyYXkoKTsKCiAgICAgICAgLy8gQWRkIGluZm9ybWF0aW9uIGFib3V0IGhlYWRlcnMgdGhhdCB3ZXJlIHByZXNlbnQgYnV0IHdlcmVuJ3Qgc3VwcG9zZWQgdG8gYmUKICAgICAgICBmb3JlYWNoICgkYWJzZW50IGFzICRoZWFkZXIpIHsKICAgICAgICAgICAgaWYgKCR0aGlzLT5oYXNLZXkoJGhlYWRlciwgJGFjdHVhbCkpIHsKICAgICAgICAgICAgICAgICRkaWZmZXJlbmNlc1siKysgeyRoZWFkZXJ9Il0gPSAkYWN0dWFsWyRoZWFkZXJdOwogICAgICAgICAgICAgICAgdW5zZXQoJGFjdHVhbFskaGVhZGVyXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIENoZWNrIGlmIGV4cGVjdGVkIGhlYWRlcnMgYXJlIG1pc3NpbmcKICAgICAgICBmb3JlYWNoICgkZXhwZWN0ZWQgYXMgJGhlYWRlciA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgaWYgKCEkdGhpcy0+aGFzS2V5KCRoZWFkZXIsICRhY3R1YWwpKSB7CiAgICAgICAgICAgICAgICAkZGlmZmVyZW5jZXNbIi0geyRoZWFkZXJ9Il0gPSAkdmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEZsaXAgdGhlIGlnbm9yZSBhcnJheSBzbyBpdCB3b3JrcyB3aXRoIHRoZSBjYXNlIGluc2Vuc2l0aXZlIGhlbHBlcgogICAgICAgICRpZ25vcmUgPSBhcnJheV9mbGlwKCRpZ25vcmUpOwogICAgICAgIC8vIEFsbG93IGNhc2UtaW5zZW5zaXRpdmUgY29tcGFyaXNvbnMgaW4gd2lsZGNhcmRzCiAgICAgICAgJGV4cGVjdGVkID0gYXJyYXlfY2hhbmdlX2tleV9jYXNlKCRleHBlY3RlZCk7CgogICAgICAgIC8vIENvbXBhcmUgdGhlIGV4cGVjdGVkIGFuZCBhY3R1YWwgSFRUUCBoZWFkZXJzIGluIG5vIHBhcnRpY3VsYXIgb3JkZXIKICAgICAgICBmb3JlYWNoICgkYWN0dWFsIGFzICRrZXkgPT4gJHZhbHVlKSB7CgogICAgICAgICAgICAvLyBJZiB0aGlzIGlzIHRvIGJlIGlnbm9yZWQsIHRoZSBza2lwIGl0CiAgICAgICAgICAgIGlmICgkdGhpcy0+aGFzS2V5KCRrZXksICRpZ25vcmUpKSB7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gSWYgdGhlIGhlYWRlciB3YXMgbm90IGV4cGVjdGVkCiAgICAgICAgICAgIGlmICghJHRoaXMtPmhhc0tleSgka2V5LCAkZXhwZWN0ZWQpKSB7CiAgICAgICAgICAgICAgICAkZGlmZmVyZW5jZXNbIisgeyRrZXl9Il0gPSAkdmFsdWU7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gQ2hlY2sgdmFsdWVzIGFuZCB0YWtlIHdpbGRjYXJkcyBpbnRvIGFjY291bnQKICAgICAgICAgICAgJGxrZXkgPSBzdHJ0b2xvd2VyKCRrZXkpOwogICAgICAgICAgICAkcG9zID0gaXNfc3RyaW5nKCRleHBlY3RlZFskbGtleV0pID8gc3RycG9zKCRleHBlY3RlZFskbGtleV0sICcqJykgOiBmYWxzZTsKCiAgICAgICAgICAgIGZvcmVhY2ggKChhcnJheSkgJGFjdHVhbFska2V5XSBhcyAkdikgewogICAgICAgICAgICAgICAgaWYgKCgkcG9zID09PSBmYWxzZSAmJiAkdiAhPSAkZXhwZWN0ZWRbJGxrZXldKSB8fCAkcG9zID4gMCAmJiBzdWJzdHIoJHYsIDAsICRwb3MpICE9IHN1YnN0cigkZXhwZWN0ZWRbJGxrZXldLCAwLCAkcG9zKSkgewogICAgICAgICAgICAgICAgICAgICRkaWZmZXJlbmNlc1ska2V5XSA9ICJ7JHZhbHVlfSAhPSB7JGV4cGVjdGVkWyRsa2V5XX0iOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZW1wdHkoJGRpZmZlcmVuY2VzKSA/IGZhbHNlIDogJGRpZmZlcmVuY2VzOwogICAgfQoKICAgIC8qKgogICAgICogQ2FzZSBpbnNlbnNpdGl2ZSBjaGVjayBpZiBhbiBhcnJheSBoYXZlIGEga2V5CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5ICAgS2V5IHRvIGNoZWNrCiAgICAgKiBAcGFyYW0gYXJyYXkgICRhcnJheSBBcnJheSB0byBjaGVjawogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaGFzS2V5KCRrZXksICRhcnJheSkKICAgIHsKICAgICAgICBpZiAoJGFycmF5IGluc3RhbmNlb2YgQ29sbGVjdGlvbikgewogICAgICAgICAgICAka2V5cyA9ICRhcnJheS0+Z2V0S2V5cygpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRrZXlzID0gYXJyYXlfa2V5cygkYXJyYXkpOwogICAgICAgIH0KCiAgICAgICAgZm9yZWFjaCAoJGtleXMgYXMgJGspIHsKICAgICAgICAgICAgaWYgKCFzdHJjYXNlY21wKCRrLCAka2V5KSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderComparisonTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcTWVzc2FnZTsKCnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcVGVzdHNcSHR0cFxNZXNzYWdlXEhlYWRlckNvbXBhcmlzb247CgpjbGFzcyBIZWFkZXJDb21wYXJpc29uVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIGZpbHRlclByb3ZpZGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCgogICAgICAgICAgICAvLyBIZWFkZXJzIG1hdGNoCiAgICAgICAgICAgIGFycmF5KGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoJyA9PiAnRm9vJwogICAgICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgPT4gJ0ZvbycKICAgICAgICAgICAgKSwgZmFsc2UpLAoKICAgICAgICAgICAgLy8gTWlzc2luZyBoZWFkZXIKICAgICAgICAgICAgYXJyYXkoYXJyYXkoCiAgICAgICAgICAgICAgICAnWC1Gb28nID0+ICdCYXInCiAgICAgICAgICAgICksIGFycmF5KCksIGFycmF5KAogICAgICAgICAgICAgICAgJy0gWC1Gb28nID0+ICdCYXInCiAgICAgICAgICAgICkpLAoKICAgICAgICAgICAgLy8gRXh0cmEgaGVhZGVycyBpcyBwcmVzZW50CiAgICAgICAgICAgIGFycmF5KGFycmF5KAogICAgICAgICAgICAgICAgJ1gtRm9vJyA9PiAnQmFyJwogICAgICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgICAgICdYLUZvbycgPT4gJ0JhcicsCiAgICAgICAgICAgICAgICAnWC1CYXonID0+ICdKYXInCiAgICAgICAgICAgICksIGFycmF5KAogICAgICAgICAgICAgICAgJysgWC1CYXonID0+ICdKYXInCiAgICAgICAgICAgICkpLAoKICAgICAgICAgICAgLy8gSGVhZGVyIGlzIHByZXNlbnQgYnV0IG11c3QgYmUgYWJzZW50CiAgICAgICAgICAgIGFycmF5KGFycmF5KAogICAgICAgICAgICAgICAgJyFYLUZvbycgPT4gJyonCiAgICAgICAgICAgICksIGFycmF5KAogICAgICAgICAgICAgICAgJ1gtRm9vJyA9PiAnQmFyJwogICAgICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgICAgICcrKyBYLUZvbycgPT4gJ0JhcicKICAgICAgICAgICAgKSksCgogICAgICAgICAgICAvLyBEaWZmZXJlbnQgdmFsdWVzCiAgICAgICAgICAgIGFycmF5KGFycmF5KAogICAgICAgICAgICAgICAgJ1gtRm9vJyA9PiAnQmFyJwogICAgICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgICAgICdYLUZvbycgPT4gJ0JheicKICAgICAgICAgICAgKSwgYXJyYXkoCiAgICAgICAgICAgICAgICAnWC1Gb28nID0+ICdCYXogIT0gQmFyJwogICAgICAgICAgICApKSwKCiAgICAgICAgICAgIC8vIFdpbGRjYXJkIHNlYXJjaCBwYXNzZXMKICAgICAgICAgICAgYXJyYXkoYXJyYXkoCiAgICAgICAgICAgICAgICAnWC1Gb28nID0+ICcqJwogICAgICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgICAgICdYLUZvbycgPT4gJ0JhcicKICAgICAgICAgICAgKSwgZmFsc2UpLAoKICAgICAgICAgICAgLy8gV2lsZGNhcmQgc2VhcmNoIGZhaWxzCiAgICAgICAgICAgIGFycmF5KGFycmF5KAogICAgICAgICAgICAgICAgJ1gtRm9vJyA9PiAnKicKICAgICAgICAgICAgKSwgYXJyYXkoKSwgYXJyYXkoCiAgICAgICAgICAgICAgICAnLSBYLUZvbycgPT4gJyonCiAgICAgICAgICAgICkpLAoKICAgICAgICAgICAgLy8gSWdub3JlIGV4dHJhIGhlYWRlciBpZiBwcmVzZW50CiAgICAgICAgICAgIGFycmF5KGFycmF5KAogICAgICAgICAgICAgICAgJ1gtRm9vJyA9PiAnKicsCiAgICAgICAgICAgICAgICAnX1gtQmFyJyA9PiAnKicsCiAgICAgICAgICAgICksIGFycmF5KAogICAgICAgICAgICAgICAgJ1gtRm9vJyA9PiAnQmF6JywKICAgICAgICAgICAgICAgICdYLUJhcicgPT4gJ0phcicKICAgICAgICAgICAgKSwgZmFsc2UpLAoKICAgICAgICAgICAgLy8gSWdub3JlIGV4dHJhIGhlYWRlciBpZiBwcmVzZW50IGFuZCBpcyBub3QKICAgICAgICAgICAgYXJyYXkoYXJyYXkoCiAgICAgICAgICAgICAgICAnWC1Gb28nID0+ICcqJywKICAgICAgICAgICAgICAgICdfWC1CYXInID0+ICcqJywKICAgICAgICAgICAgKSwgYXJyYXkoCiAgICAgICAgICAgICAgICAnWC1Gb28nID0+ICdCYXonCiAgICAgICAgICAgICksIGZhbHNlKSwKCiAgICAgICAgICAgIC8vIENhc2UgaW5zZW5zaXRpdmUKICAgICAgICAgICAgYXJyYXkoYXJyYXkoCiAgICAgICAgICAgICAgICAnWC1Gb28nID0+ICcqJywKICAgICAgICAgICAgICAgICdfWC1CYXInID0+ICcqJywKICAgICAgICAgICAgKSwgYXJyYXkoCiAgICAgICAgICAgICAgICAneC1mb28nID0+ICdCYXonLAogICAgICAgICAgICAgICAgJ3gtQkFSJyA9PiAnYmF6JwogICAgICAgICAgICApLCBmYWxzZSksCgogICAgICAgICAgICAvLyBDYXNlIGluc2Vuc2l0aXZlIHdpdGggY29sbGVjdGlvbgogICAgICAgICAgICBhcnJheShhcnJheSgKICAgICAgICAgICAgICAgICdYLUZvbycgPT4gJyonLAogICAgICAgICAgICAgICAgJ19YLUJhcicgPT4gJyonLAogICAgICAgICAgICApLCBuZXcgQ29sbGVjdGlvbihhcnJheSgKICAgICAgICAgICAgICAgICd4LWZvbycgPT4gJ0JheicsCiAgICAgICAgICAgICAgICAneC1CQVInID0+ICdiYXonCiAgICAgICAgICAgICkpLCBmYWxzZSksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgZmlsdGVyUHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb21wYXJlc0hlYWRlcnMoJGZpbHRlcnMsICRoZWFkZXJzLCAkcmVzdWx0KQogICAgewogICAgICAgICRjb21wYXJlID0gbmV3IEhlYWRlckNvbXBhcmlzb24oKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRyZXN1bHQsICRjb21wYXJlLT5jb21wYXJlKCRmaWx0ZXJzLCAkaGVhZGVycykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcSGVhZGVyOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxIdHRwXE1lc3NhZ2VcSGVhZGVyCiAqLwpjbGFzcyBIZWFkZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgJHRlc3QgPSBhcnJheSgKICAgICAgICAnem9vJyAgID0+IGFycmF5KCdmb28nLCAnRm9vJyksCiAgICAgICAgJ1pvbycgICA9PiAnYmFyJywKICAgICk7CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdG9yZXNIZWFkZXJOYW1lKCkKICAgIHsKICAgICAgICAkaSA9IG5ldyBIZWFkZXIoJ1pvbycsICR0aGlzLT50ZXN0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdab28nLCAkaS0+Z2V0TmFtZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbnZlcnRzVG9TdHJpbmcoKQogICAgewogICAgICAgICRpID0gbmV3IEhlYWRlcignWm9vJywgJHRoaXMtPnRlc3QpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbywgRm9vLCBiYXInLCAoc3RyaW5nKSAkaSk7CiAgICAgICAgJGktPnNldEdsdWUoJzsnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb287IEZvbzsgYmFyJywgKHN0cmluZykgJGkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Tm9ybWFsaXplc0dsdWVkSGVhZGVycygpCiAgICB7CiAgICAgICAgJGggPSBuZXcgSGVhZGVyKCdab28nLCBhcnJheSgnZm9vLCBGYXonLCAnYmFyJykpOwogICAgICAgICRyZXN1bHQgPSAkaC0+bm9ybWFsaXplKHRydWUpLT50b0FycmF5KCk7CiAgICAgICAgbmF0c29ydCgkcmVzdWx0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdiYXInLCAnZm9vJywgJ0ZheicpLCAkcmVzdWx0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNlYXJjaEZvclZhbHVlcygpCiAgICB7CiAgICAgICAgJGggPSBuZXcgSGVhZGVyKCdab28nLCAkdGhpcy0+dGVzdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGgtPmhhc1ZhbHVlKCdmb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGgtPmhhc1ZhbHVlKCdGb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGgtPmhhc1ZhbHVlKCdiYXInKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRoLT5oYXNWYWx1ZSgnbW9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkaC0+aGFzVmFsdWUoJ0ZvTycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdElzQ291bnRhYmxlKCkKICAgIHsKICAgICAgICAkaCA9IG5ldyBIZWFkZXIoJ1pvbycsICR0aGlzLT50ZXN0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCRoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5CZUl0ZXJhdGVkKCkKICAgIHsKICAgICAgICAkaCA9IG5ldyBIZWFkZXIoJ1pvbycsICR0aGlzLT50ZXN0KTsKICAgICAgICAkcmVzdWx0cyA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJGggYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgJHJlc3VsdHNbJGtleV0gPSAkdmFsdWU7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdmb28nLCAnRm9vJywgJ2JhcicKICAgICAgICApLCAkcmVzdWx0cyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NGYWxzZXlWYWx1ZXMoKQogICAgewogICAgICAgIC8vIEFsbG93cyAwCiAgICAgICAgJGggPSBuZXcgSGVhZGVyKCdGb28nLCAwLCAnOycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzAnLCAoc3RyaW5nKSAkaCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkaCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzsnLCAkaC0+Z2V0R2x1ZSgpKTsKCiAgICAgICAgLy8gRG9lcyBub3QgYWRkIGEgbnVsbCBoZWFkZXIgYnkgZGVmYXVsdAogICAgICAgICRoID0gbmV3IEhlYWRlcignRm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnJywgKHN0cmluZykgJGgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMCwgY291bnQoJGgpKTsKCiAgICAgICAgLy8gQWxsb3dzIG51bGwgYXJyYXkgZm9yIGEgc2luZ2xlIG51bGwgaGVhZGVyCiAgICAgICAgJGggPSBuZXcgSGVhZGVyKCdGb28nLCBhcnJheShudWxsKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnJywgKHN0cmluZykgJGgpOwoKICAgICAgICAvLyBBbGxvd3MgZW1wdHkgc3RyaW5nCiAgICAgICAgJGggPSBuZXcgSGVhZGVyKCdGb28nLCAnJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnJywgKHN0cmluZykgJGgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJGgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRoLT5ub3JtYWxpemUoKS0+dG9BcnJheSgpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5SZW1vdmVWYWx1ZXMoKQogICAgewogICAgICAgICRoID0gbmV3IEhlYWRlcignRm9vJywgYXJyYXkoJ0ZvbycsICdiYXonLCAnYmFyJykpOwogICAgICAgICRoLT5yZW1vdmVWYWx1ZSgnYmFyJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGgtPmhhc1ZhbHVlKCdGb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRoLT5oYXNWYWx1ZSgnYmFyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRoLT5oYXNWYWx1ZSgnYmF6JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzQXJyYXlJbkNvbnN0cnVjdG9yKCkKICAgIHsKICAgICAgICAkaCA9IG5ldyBIZWFkZXIoJ0ZvbycsIGFycmF5KCdUZXN0aW5nJywgJzEyMycsICdGb289YmF6JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ1Rlc3RpbmcnLCAnMTIzJywgJ0Zvbz1iYXonKSwgJGgtPnRvQXJyYXkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHBhcnNlUGFyYW1zUHJvdmlkZXIoKQogICAgewogICAgICAgICRyZXMxID0gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJzxodHRwOi8uLi4vZnJvbnQuanBlZz4nID0+ICcnLAogICAgICAgICAgICAgICAgJ3JlbCcgPT4gJ2Zyb250JywKICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnaW1hZ2UvanBlZycsCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJzxodHRwOi8vLi4uL2JhY2suanBlZz4nID0+ICcnLAogICAgICAgICAgICAgICAgJ3JlbCcgPT4gJ2JhY2snLAogICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdpbWFnZS9qcGVnJywKICAgICAgICAgICAgKSwKICAgICAgICApOwoKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJzxodHRwOi8uLi4vZnJvbnQuanBlZz47IHJlbD0iZnJvbnQiOyB0eXBlPSJpbWFnZS9qcGVnIiwgPGh0dHA6Ly8uLi4vYmFjay5qcGVnPjsgcmVsPWJhY2s7IHR5cGU9ImltYWdlL2pwZWciJywKICAgICAgICAgICAgICAgICRyZXMxCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJzxodHRwOi8uLi4vZnJvbnQuanBlZz47IHJlbD0iZnJvbnQiOyB0eXBlPSJpbWFnZS9qcGVnIiw8aHR0cDovLy4uLi9iYWNrLmpwZWc+OyByZWw9YmFjazsgdHlwZT0iaW1hZ2UvanBlZyInLAogICAgICAgICAgICAgICAgJHJlczEKICAgICAgICAgICAgKSwKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAnZm9vPSJiYXoiOyBiYXI9MTIzLCBib28sIHRlc3Q9IjEyMyIsIGZvb2Jhcj0iZm9vO2JhciInLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2ZvbycgPT4gJ2JheicsICdiYXInID0+ICcxMjMnKSwKICAgICAgICAgICAgICAgICAgICBhcnJheSgnYm9vJyA9PiAnJyksCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ3Rlc3QnID0+ICcxMjMnKSwKICAgICAgICAgICAgICAgICAgICBhcnJheSgnZm9vYmFyJyA9PiAnZm9vO2JhcicpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJzxodHRwOi8vLi4uL3NpZGUuanBlZz90ZXN0PTE+OyByZWw9InNpZGUiOyB0eXBlPSJpbWFnZS9qcGVnIiw8aHR0cDovLy4uLi9zaWRlLmpwZWc/dGVzdD0yPjsgcmVsPXNpZGU7IHR5cGU9ImltYWdlL2pwZWciJywKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgIGFycmF5KCc8aHR0cDovLy4uLi9zaWRlLmpwZWc/dGVzdD0xPicgPT4gJycsICdyZWwnID0+ICdzaWRlJywgJ3R5cGUnID0+ICdpbWFnZS9qcGVnJyksCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoJzxodHRwOi8vLi4uL3NpZGUuanBlZz90ZXN0PTI+JyA9PiAnJywgJ3JlbCcgPT4gJ3NpZGUnLCAndHlwZScgPT4gJ2ltYWdlL2pwZWcnKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICcnLAogICAgICAgICAgICAgICAgYXJyYXkoKQogICAgICAgICAgICApCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgcGFyc2VQYXJhbXNQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBhcnNlUGFyYW1zKCRoZWFkZXIsICRyZXN1bHQpCiAgICB7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoJ0xpbmsnID0+ICRoZWFkZXIpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRyZXN1bHQsICRyZXNwb25zZS0+Z2V0SGVhZGVyKCdMaW5rJyktPnBhcnNlUGFyYW1zKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/PostFileTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUG9zdEZpbGU7CgovKioKICogQGNvdmVycyBHdXp6bGVcSHR0cFxNZXNzYWdlXFBvc3RGaWxlCiAqIEBncm91cCBzZXJ2ZXIKICovCmNsYXNzIFBvc3RGaWxlVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvckNvbmZpZ3VyZXNQb3N0RmlsZSgpCiAgICB7CiAgICAgICAgJGZpbGUgPSBuZXcgUG9zdEZpbGUoJ2ZvbycsIF9fRklMRV9fLCAneC1mb28nLCAnYm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJGZpbGUtPmdldEZpZWxkTmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKF9fRklMRV9fLCAkZmlsZS0+Z2V0RmlsZW5hbWUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYm9vJywgJGZpbGUtPmdldFBvc3ROYW1lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3gtZm9vJywgJGZpbGUtPmdldENvbnRlbnRUeXBlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVtb3Zlc0xlYWRpbmdBdFN5bWJvbEZyb21QYXRoKCkKICAgIHsKICAgICAgICAkZmlsZSA9IG5ldyBQb3N0RmlsZSgnZm9vJywgJ0AnIC4gX19GSUxFX18pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoX19GSUxFX18sICRmaWxlLT5nZXRGaWxlbmFtZSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzRmlsZUlzUmVhZGFibGUoKQogICAgewogICAgICAgICRmaWxlID0gbmV3IFBvc3RGaWxlKCdmb28nLCAnL2Zvby9iYXovYmFyJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5DaGFuZ2VDb250ZW50VHlwZSgpCiAgICB7CiAgICAgICAgJGZpbGUgPSBuZXcgUG9zdEZpbGUoJ2ZvbycsICdAJyAuIF9fRklMRV9fKTsKICAgICAgICAkZmlsZS0+c2V0Q29udGVudFR5cGUoJ0JvbycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0JvbycsICRmaWxlLT5nZXRDb250ZW50VHlwZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNoYW5nZUZpZWxkTmFtZSgpCiAgICB7CiAgICAgICAgJGZpbGUgPSBuZXcgUG9zdEZpbGUoJ2ZvbycsICdAJyAuIF9fRklMRV9fKTsKICAgICAgICAkZmlsZS0+c2V0RmllbGROYW1lKCdCb28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdCb28nLCAkZmlsZS0+Z2V0RmllbGROYW1lKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc0N1cmxWYWx1ZVN0cmluZygpCiAgICB7CiAgICAgICAgJGZpbGUgPSBuZXcgUG9zdEZpbGUoJ2ZvbycsIF9fRklMRV9fKTsKICAgICAgICBpZiAodmVyc2lvbl9jb21wYXJlKHBocHZlcnNpb24oKSwgJzUuNS4wJywgJzwnKSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ0AnIC4gX19GSUxFX18gLiAnO2ZpbGVuYW1lPVBvc3RGaWxlVGVzdC5waHA7dHlwZT10ZXh0L3gtJywgJGZpbGUtPmdldEN1cmxWYWx1ZSgpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkYyA9ICRmaWxlLT5nZXRDdXJsVmFsdWUoKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhfX0ZJTEVfXywgJGMtPmdldEZpbGVuYW1lKCkpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQb3N0RmlsZVRlc3QucGhwJywgJGMtPmdldFBvc3RGaWxlbmFtZSgpKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCd0ZXh0L3gtJywgJGMtPmdldE1pbWVUeXBlKCkpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNDdXJsVmFsdWVTdHJpbmdBbmRQb3N0bmFtZSgpCiAgICB7CiAgICAgICAgJGZpbGUgPSBuZXcgUG9zdEZpbGUoJ2ZvbycsIF9fRklMRV9fLCBudWxsLCAnTmV3UG9zdEZpbGVUZXN0LnBocCcpOwogICAgICAgIGlmICh2ZXJzaW9uX2NvbXBhcmUocGhwdmVyc2lvbigpLCAnNS41LjAnLCAnPCcpKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnQCcgLiBfX0ZJTEVfXyAuICc7ZmlsZW5hbWU9TmV3UG9zdEZpbGVUZXN0LnBocDt0eXBlPXRleHQveC0nLCAkZmlsZS0+Z2V0Q3VybFZhbHVlKCkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRjID0gJGZpbGUtPmdldEN1cmxWYWx1ZSgpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKF9fRklMRV9fLCAkYy0+Z2V0RmlsZW5hbWUoKSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ05ld1Bvc3RGaWxlVGVzdC5waHAnLCAkYy0+Z2V0UG9zdEZpbGVuYW1lKCkpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ3RleHQveC0nLCAkYy0+Z2V0TWltZVR5cGUoKSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29udGVudERpc3Bvc2l0aW9uRmlsZVBhdGhJc1N0cmlwcGVkKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+cG9zdCgpLT5hZGRQb3N0RmlsZSgnZmlsZScsIF9fRklMRV9fKTsKICAgICAgICAkcmVxdWVzdC0+c2VuZCgpOwogICAgICAgICRyZXF1ZXN0cyA9ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cyhmYWxzZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdQT1NUIC8gSFRUUC8xLjEnLCAkcmVxdWVzdHNbMF0pOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJmaWxlIjsgZmlsZW5hbWU9IlBvc3RGaWxlVGVzdC5waHAiJywgJHJlcXVlc3RzWzBdKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/RequestFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcSHR0cFxVcmw7CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0RmFjdG9yeTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXFF1ZXJ5U3RyaW5nOwp1c2UgR3V6emxlXFBhcnNlclxNZXNzYWdlXE1lc3NhZ2VQYXJzZXI7CnVzZSBHdXp6bGVcUGx1Z2luXExvZ1xMb2dQbHVnaW47CnVzZSBHdXp6bGVcUGx1Z2luXE1vY2tcTW9ja1BsdWdpbjsKCi8qKgogKiBAZ3JvdXAgc2VydmVyCiAqIEBjb3ZlcnMgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0RmFjdG9yeQogKi8KY2xhc3MgSHR0cFJlcXVlc3RGYWN0b3J5VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYWNoZXNTaW5nbGV0b25JbnN0YW5jZSgpCiAgICB7CiAgICAgICAgJGZhY3RvcnkgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZmFjdG9yeSwgUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc05ld0dldFJlcXVlc3RzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ0dFVCcsICdodHRwOi8vd3d3Lmdvb2dsZS5jb20vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcSHR0cFxcTWVzc2FnZVxcTWVzc2FnZUludGVyZmFjZScsICRyZXF1ZXN0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFxIdHRwXFxNZXNzYWdlXFxSZXF1ZXN0SW50ZXJmYWNlJywgJHJlcXVlc3QpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcXEh0dHBcXE1lc3NhZ2VcXFJlcXVlc3QnLCAkcmVxdWVzdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnR0VUJywgJHJlcXVlc3QtPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwJywgJHJlcXVlc3QtPmdldFNjaGVtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vd3d3Lmdvb2dsZS5jb20vJywgJHJlcXVlc3QtPmdldFVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd3d3cuZ29vZ2xlLmNvbScsICRyZXF1ZXN0LT5nZXRIb3N0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy8nLCAkcmVxdWVzdC0+Z2V0UGF0aCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvJywgJHJlcXVlc3QtPmdldFJlc291cmNlKCkpOwoKICAgICAgICAvLyBDcmVhdGUgYSBHRVQgcmVxdWVzdCB3aXRoIGEgY3VzdG9tIHJlY2VpdmluZyBib2R5CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIpOwogICAgICAgICRiID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgpOwogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnR0VUJywgJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSwgbnVsbCwgJGIpOwogICAgICAgICRyZXF1ZXN0LT5zZXRDbGllbnQobmV3IENsaWVudCgpKTsKICAgICAgICAkcmVzcG9uc2UgPSAkcmVxdWVzdC0+c2VuZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRiLCAkcmVzcG9uc2UtPmdldEJvZHkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzUHV0UmVxdWVzdHMoKQogICAgewogICAgICAgIC8vIFRlc3QgdXNpbmcgYSBzdHJpbmcKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BVVCcsICdodHRwOi8vd3d3Lmdvb2dsZS5jb20vcGF0aD9xPTEmdj0yJywgbnVsbCwgJ0RhdGEnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFxIdHRwXFxNZXNzYWdlXFxFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0JywgJHJlcXVlc3QpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BVVCcsICRyZXF1ZXN0LT5nZXRNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cCcsICRyZXF1ZXN0LT5nZXRTY2hlbWUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovL3d3dy5nb29nbGUuY29tL3BhdGg/cT0xJnY9MicsICRyZXF1ZXN0LT5nZXRVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnd3d3Lmdvb2dsZS5jb20nLCAkcmVxdWVzdC0+Z2V0SG9zdCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvcGF0aCcsICRyZXF1ZXN0LT5nZXRQYXRoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9wYXRoP3E9MSZ2PTInLCAkcmVxdWVzdC0+Z2V0UmVzb3VyY2UoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcSHR0cFxcRW50aXR5Qm9keScsICRyZXF1ZXN0LT5nZXRCb2R5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0RhdGEnLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0Qm9keSgpKTsKICAgICAgICB1bnNldCgkcmVxdWVzdCk7CgogICAgICAgIC8vIFRlc3QgdXNpbmcgYW4gRW50aXR5Qm9keQogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUFVUJywgJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wYXRoP3E9MSZ2PTInLCBudWxsLCBFbnRpdHlCb2R5OjpmYWN0b3J5KCdEYXRhJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcXEh0dHBcXE1lc3NhZ2VcXEVudGl0eUVuY2xvc2luZ1JlcXVlc3QnLCAkcmVxdWVzdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnRGF0YScsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRCb2R5KCkpOwoKICAgICAgICAvLyBUZXN0IHVzaW5nIGEgcmVzb3VyY2UKICAgICAgICAkcmVzb3VyY2UgPSBmb3BlbigncGhwOi8vdGVtcCcsICd3KycpOwogICAgICAgIGZ3cml0ZSgkcmVzb3VyY2UsICdEYXRhJyk7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQVVQnLCAnaHR0cDovL3d3dy5nb29nbGUuY29tL3BhdGg/cT0xJnY9MicsIG51bGwsICRyZXNvdXJjZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcSHR0cFxcTWVzc2FnZVxcRW50aXR5RW5jbG9zaW5nUmVxdWVzdCcsICRyZXF1ZXN0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdEYXRhJywgKHN0cmluZykgJHJlcXVlc3QtPmdldEJvZHkoKSk7CgogICAgICAgIC8vIFRlc3QgdXNpbmcgYW4gb2JqZWN0IHRoYXQgY2FuIGJlIGNhc3QgYXMgYSBzdHJpbmcKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BVVCcsICdodHRwOi8vd3d3Lmdvb2dsZS5jb20vcGF0aD9xPTEmdj0yJywgbnVsbCwgVXJsOjpmYWN0b3J5KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tLycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFxIdHRwXFxNZXNzYWdlXFxFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0JywgJHJlcXVlc3QpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vJywgKHN0cmluZykgJHJlcXVlc3QtPmdldEJvZHkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzSGVhZEFuZERlbGV0ZVJlcXVlc3RzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ0RFTEVURScsICdodHRwOi8vd3d3LnRlc3QuY29tLycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0RFTEVURScsICRyZXF1ZXN0LT5nZXRNZXRob2QoKSk7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdIRUFEJywgJ2h0dHA6Ly93d3cudGVzdC5jb20vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnSEVBRCcsICRyZXF1ZXN0LT5nZXRNZXRob2QoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzT3B0aW9uc1JlcXVlc3RzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ09QVElPTlMnLCAnaHR0cDovL3d3dy5leGFtcGxlLmNvbS8nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdPUFRJT05TJywgJHJlcXVlc3QtPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFxIdHRwXFxNZXNzYWdlXFxSZXF1ZXN0JywgJHJlcXVlc3QpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc05ld1B1dFJlcXVlc3RXaXRoQm9keSgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQVVQnLCAnaHR0cDovL3d3dy5nb29nbGUuY29tL3BhdGg/cT0xJnY9MicsIG51bGwsICdEYXRhJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnRGF0YScsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRCb2R5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc05ld1Bvc3RSZXF1ZXN0V2l0aEZpZWxkcygpCiAgICB7CiAgICAgICAgLy8gVXNlIGFuIGFycmF5CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQT1NUJywgJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wYXRoP3E9MSZ2PTInLCBudWxsLCBhcnJheSgKICAgICAgICAgICAgJ2EnID0+ICdiJwogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2EnID0+ICdiJyksICRyZXF1ZXN0LT5nZXRQb3N0RmllbGRzKCktPmdldEFsbCgpKTsKICAgICAgICB1bnNldCgkcmVxdWVzdCk7CgogICAgICAgIC8vIFVzZSBhIGNvbGxlY3Rpb24KICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BPU1QnLCAnaHR0cDovL3d3dy5nb29nbGUuY29tL3BhdGg/cT0xJnY9MicsIG51bGwsIG5ldyBDb2xsZWN0aW9uKGFycmF5KAogICAgICAgICAgICAnYScgPT4gJ2InCiAgICAgICAgKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2EnID0+ICdiJyksICRyZXF1ZXN0LT5nZXRQb3N0RmllbGRzKCktPmdldEFsbCgpKTsKCiAgICAgICAgLy8gVXNlIGEgUXVlcnlTdHJpbmcKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BPU1QnLCAnaHR0cDovL3d3dy5nb29nbGUuY29tL3BhdGg/cT0xJnY9MicsIG51bGwsIG5ldyBRdWVyeVN0cmluZyhhcnJheSgKICAgICAgICAgICAgJ2EnID0+ICdiJwogICAgICAgICkpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdhJyA9PiAnYicpLCAkcmVxdWVzdC0+Z2V0UG9zdEZpZWxkcygpLT5nZXRBbGwoKSk7CgogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUE9TVCcsICdodHRwOi8vd3d3LnRlc3QuY29tLycsIG51bGwsIGFycmF5KAogICAgICAgICAgICAnYScgPT4gJ2InLAogICAgICAgICAgICAnZmlsZScgPT4gJ0AnIC4gX19GSUxFX18KICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ2EnID0+ICdiJwogICAgICAgICksICRyZXF1ZXN0LT5nZXRQb3N0RmllbGRzKCktPmdldEFsbCgpKTsKCiAgICAgICAgJGZpbGVzID0gJHJlcXVlc3QtPmdldFBvc3RGaWxlcygpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcSHR0cFxNZXNzYWdlXFBvc3RGaWxlJywgJGZpbGVzWydmaWxlJ11bMF0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc0Zyb21QYXJ0cygpCiAgICB7CiAgICAgICAgJHBhcnRzID0gcGFyc2VfdXJsKCdodHRwOi8vbWljaGFlbDoxMjNAd3d3Lmdvb2dsZS5jb206ODA4MC9wYXRoP3E9MSZ2PTInKTsKCiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+ZnJvbVBhcnRzKCdQVVQnLCAkcGFydHMsIG51bGwsICdEYXRhJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcSHR0cFxcTWVzc2FnZVxcRW50aXR5RW5jbG9zaW5nUmVxdWVzdCcsICRyZXF1ZXN0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQVVQnLCAkcmVxdWVzdC0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHAnLCAkcmVxdWVzdC0+Z2V0U2NoZW1lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbTo4MDgwL3BhdGg/cT0xJnY9MicsICRyZXF1ZXN0LT5nZXRVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnd3d3Lmdvb2dsZS5jb20nLCAkcmVxdWVzdC0+Z2V0SG9zdCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd3d3cuZ29vZ2xlLmNvbTo4MDgwJywgJHJlcXVlc3QtPmdldEhlYWRlcignSG9zdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvcGF0aCcsICRyZXF1ZXN0LT5nZXRQYXRoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9wYXRoP3E9MSZ2PTInLCAkcmVxdWVzdC0+Z2V0UmVzb3VyY2UoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcSHR0cFxcRW50aXR5Qm9keScsICRyZXF1ZXN0LT5nZXRCb2R5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0RhdGEnLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0Qm9keSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdtaWNoYWVsJywgJHJlcXVlc3QtPmdldFVzZXJuYW1lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyMycsICRyZXF1ZXN0LT5nZXRQYXNzd29yZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCc4MDgwJywgJHJlcXVlc3QtPmdldFBvcnQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ3NjaGVtZScgPT4gJ2h0dHAnLAogICAgICAgICAgICAnaG9zdCcgPT4gJ3d3dy5nb29nbGUuY29tJywKICAgICAgICAgICAgJ3BvcnQnID0+IDgwODAsCiAgICAgICAgICAgICdwYXRoJyA9PiAnL3BhdGgnLAogICAgICAgICAgICAncXVlcnknID0+ICdxPTEmdj0yJywKICAgICAgICApLCBwYXJzZV91cmwoJHJlcXVlc3QtPmdldFVybCgpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzRnJvbU1lc3NhZ2UoKQogICAgewogICAgICAgICRhdXRoID0gYmFzZTY0X2VuY29kZSgnbWljaGFlbDoxMjMnKTsKICAgICAgICAkbWVzc2FnZSA9ICJQVVQgL3BhdGg/cT0xJnY9MiBIVFRQLzEuMVxyXG5Ib3N0OiB3d3cuZ29vZ2xlLmNvbTo4MDgwXHJcbkNvbnRlbnQtTGVuZ3RoOiA0XHJcbkF1dGhvcml6YXRpb246IEJhc2ljIHskYXV0aH1cclxuXHJcbkRhdGEiOwogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmZyb21NZXNzYWdlKCRtZXNzYWdlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFxIdHRwXFxNZXNzYWdlXFxFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0JywgJHJlcXVlc3QpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BVVCcsICRyZXF1ZXN0LT5nZXRNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cCcsICRyZXF1ZXN0LT5nZXRTY2hlbWUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovL3d3dy5nb29nbGUuY29tOjgwODAvcGF0aD9xPTEmdj0yJywgJHJlcXVlc3QtPmdldFVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd3d3cuZ29vZ2xlLmNvbScsICRyZXF1ZXN0LT5nZXRIb3N0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3d3dy5nb29nbGUuY29tOjgwODAnLCAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdIb3N0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9wYXRoJywgJHJlcXVlc3QtPmdldFBhdGgoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnL3BhdGg/cT0xJnY9MicsICRyZXF1ZXN0LT5nZXRSZXNvdXJjZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFxIdHRwXFxFbnRpdHlCb2R5JywgJHJlcXVlc3QtPmdldEJvZHkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnRGF0YScsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRCb2R5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoIkJhc2ljIHskYXV0aH0iLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdBdXRob3JpemF0aW9uJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzgwODAnLCAkcmVxdWVzdC0+Z2V0UG9ydCgpKTsKCiAgICAgICAgLy8gVGVzdCBwYXNzaW5nIGEgYmxhbmsgbWVzc2FnZSByZXR1cm5zIGZhbHNlCiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmZyb21NZXNzYWdlKCcnKSk7CgogICAgICAgIC8vIFRlc3QgcGFzc2luZyBhIHVybCB3aXRoIG5vIHBvcnQKICAgICAgICAkbWVzc2FnZSA9ICJQVVQgL3BhdGg/cT0xJnY9MiBIVFRQLzEuMVxyXG5Ib3N0OiB3d3cuZ29vZ2xlLmNvbVxyXG5Db250ZW50LUxlbmd0aDogNFxyXG5BdXRob3JpemF0aW9uOiBCYXNpYyB7JGF1dGh9XHJcblxyXG5EYXRhIjsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5mcm9tTWVzc2FnZSgkbWVzc2FnZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcSHR0cFxcTWVzc2FnZVxcRW50aXR5RW5jbG9zaW5nUmVxdWVzdCcsICRyZXF1ZXN0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQVVQnLCAkcmVxdWVzdC0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHAnLCAkcmVxdWVzdC0+Z2V0U2NoZW1lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wYXRoP3E9MSZ2PTInLCAkcmVxdWVzdC0+Z2V0VXJsKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3d3dy5nb29nbGUuY29tJywgJHJlcXVlc3QtPmdldEhvc3QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnL3BhdGgnLCAkcmVxdWVzdC0+Z2V0UGF0aCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvcGF0aD9xPTEmdj0yJywgJHJlcXVlc3QtPmdldFJlc291cmNlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcXEh0dHBcXEVudGl0eUJvZHknLCAkcmVxdWVzdC0+Z2V0Qm9keSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdEYXRhJywgKHN0cmluZykgJHJlcXVlc3QtPmdldEJvZHkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygiQmFzaWMgeyRhdXRofSIsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0F1dGhvcml6YXRpb24nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg4MCwgJHJlcXVlc3QtPmdldFBvcnQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzTmV3VHJhY2VSZXF1ZXN0KCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1RSQUNFJywgJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS8nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHJlcXVlc3QgaW5zdGFuY2VvZiBcR3V6emxlXEh0dHBcTWVzc2FnZVxFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdUUkFDRScsICRyZXF1ZXN0LT5nZXRNZXRob2QoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzUHJvcGVyVHJhbnNmZXJFbmNvZGluZ1JlcXVlc3RzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BVVCcsICdodHRwOi8vd3d3Lmdvb2dsZS5jb20vJywgYXJyYXkoCiAgICAgICAgICAgICdUcmFuc2Zlci1FbmNvZGluZycgPT4gJ2NodW5rZWQnCiAgICAgICAgKSwgJ2hlbGxvJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnY2h1bmtlZCcsICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ1RyYW5zZmVyLUVuY29kaW5nJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkcmVxdWVzdC0+aGFzSGVhZGVyKCdDb250ZW50LUxlbmd0aCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByb3Blcmx5RGVhbHNXaXRoRHVwbGljYXRlSGVhZGVycygpCiAgICB7CiAgICAgICAgJHBhcnNlciA9IG5ldyBNZXNzYWdlUGFyc2VyKCk7CgogICAgICAgICRtZXNzYWdlID0gIlBPU1QgLyBodHRwLzEuMVxyXG4iCiAgICAgICAgICAgIC4gIkRBVEU6TW9uLCAwOSBTZXAgMjAxMSAyMzozNjowMCBHTVRcclxuIgogICAgICAgICAgICAuICJob3N0Omhvc3QuZm9vLmNvbVxyXG4iCiAgICAgICAgICAgIC4gIlpPTzphYmNcclxuIgogICAgICAgICAgICAuICJaT086MTIzXHJcbiIKICAgICAgICAgICAgLiAiWk9POkhJXHJcbiIKICAgICAgICAgICAgLiAiem9vOjQ1NlxyXG5cclxuIjsKCiAgICAgICAgJHBhcnRzID0gJHBhcnNlci0+cGFyc2VSZXF1ZXN0KCRtZXNzYWdlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5ICgKICAgICAgICAgICAgJ0RBVEUnID0+ICdNb24sIDA5IFNlcCAyMDExIDIzOjM2OjAwIEdNVCcsCiAgICAgICAgICAgICdob3N0JyA9PiAnaG9zdC5mb28uY29tJywKICAgICAgICAgICAgJ1pPTycgID0+IGFycmF5KCdhYmMnLCAnMTIzJywgJ0hJJyksCiAgICAgICAgICAgICd6b28nICA9PiAnNDU2JywKICAgICAgICApLCAkcGFydHNbJ2hlYWRlcnMnXSk7CgogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmZyb21NZXNzYWdlKCRtZXNzYWdlKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ2FiYycsICcxMjMnLCAnSEknLCAnNDU2JwogICAgICAgICksICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ3pvbycpLT50b0FycmF5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc0h0dHBNZXNzYWdlc1dpdGhCb2RpZXNBbmROb3JtYWxpemVzTGluZUVuZGluZ3MoKQogICAgewogICAgICAgICRtZXNzYWdlID0gIlBPU1QgLyBodHRwLzEuMVxyXG4iCiAgICAgICAgICAgICAgICAgLiAiQ29udGVudC1UeXBlOmFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD11dGY4XHJcbiIKICAgICAgICAgICAgICAgICAuICJEYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UXHJcbiIKICAgICAgICAgICAgICAgICAuICJIb3N0Omhvc3QuZm9vLmNvbVxyXG5cclxuIgogICAgICAgICAgICAgICAgIC4gImZvbz1iYXIiOwoKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5mcm9tTWVzc2FnZSgkbWVzc2FnZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0ZjgnLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdDb250ZW50LVR5cGUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vPWJhcicsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRCb2R5KCkpOwoKICAgICAgICAkbWVzc2FnZSA9ICJQT1NUIC8gaHR0cC8xLjFcbiIKICAgICAgICAgICAgICAgICAuICJDb250ZW50LVR5cGU6YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0ZjhcbiIKICAgICAgICAgICAgICAgICAuICJEYXRlOk1vbiwgMDkgU2VwIDIwMTEgMjM6MzY6MDAgR01UXG4iCiAgICAgICAgICAgICAgICAgLiAiSG9zdDpob3N0LmZvby5jb21cblxuIgogICAgICAgICAgICAgICAgIC4gImZvbz1iYXIiOwogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmZyb21NZXNzYWdlKCRtZXNzYWdlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb289YmFyJywgKHN0cmluZykgJHJlcXVlc3QtPmdldEJvZHkoKSk7CgogICAgICAgICRtZXNzYWdlID0gIlBVVCAvIEhUVFAvMS4xXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iOwogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmZyb21NZXNzYWdlKCRtZXNzYWdlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVxdWVzdC0+aGFzSGVhZGVyKCdDb250ZW50LUxlbmd0aCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QnVnUGF0aEluY29ycmVjdGx5SGFuZGxlZCgpCiAgICB7CiAgICAgICAgJG1lc3NhZ2UgPSAiUE9TVCAvZm9vXHJcblxyXG5CT0RZIjsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5mcm9tTWVzc2FnZSgkbWVzc2FnZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJ1BPU1QnLCAkcmVxdWVzdC0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCcvZm9vJywgJHJlcXVlc3QtPmdldFBhdGgoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJ0JPRFknLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0Qm9keSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhbmRsZXNDaHVua2VkVHJhbnNmZXJFbmNvZGluZygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQVVQnLCAnaHR0cDovL3d3dy5mb28uY29tLycsIGFycmF5KAogICAgICAgICAgICAnVHJhbnNmZXItRW5jb2RpbmcnID0+ICdjaHVua2VkJwogICAgICAgICksICdUZXN0Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRyZXF1ZXN0LT5oYXNIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2NodW5rZWQnLCAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdUcmFuc2Zlci1FbmNvZGluZycpKTsKCiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQT1NUJywgJ2h0dHA6Ly93d3cuZm9vLmNvbS8nLCBhcnJheSgKICAgICAgICAgICAgJ3RyYW5zZmVyLWVuY29kaW5nJyA9PiAnY2h1bmtlZCcKICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgJ2ZvbycgPT4gJ2JhcicKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRyZXF1ZXN0LT5oYXNIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2NodW5rZWQnLCAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdUcmFuc2Zlci1FbmNvZGluZycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsb25lc1JlcXVlc3RzV2l0aE1ldGhvZFdpdGhvdXRDbGllbnQoKQogICAgewogICAgICAgICRmID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCk7CiAgICAgICAgJHJlcXVlc3QgPSAkZi0+Y3JlYXRlKCdHRVQnLCAnaHR0cDovL3d3dy50ZXN0LmNvbScsIGFycmF5KCdYLUZvbycgPT4gJ0JhcicpKTsKICAgICAgICAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPnJlcGxhY2UoYXJyYXkoJ3Rlc3QnID0+ICcxMjMnKSk7CiAgICAgICAgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPnNldCgnZm9vJywgJ2JhcicpOwogICAgICAgICRjbG9uZWQgPSAkZi0+Y2xvbmVSZXF1ZXN0V2l0aE1ldGhvZCgkcmVxdWVzdCwgJ1BVVCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BVVCcsICRjbG9uZWQtPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdCYXInLCAoc3RyaW5nKSAkY2xvbmVkLT5nZXRIZWFkZXIoJ1gtRm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly93d3cudGVzdC5jb20nLCAkY2xvbmVkLT5nZXRVcmwoKSk7CiAgICAgICAgLy8gRW5zdXJlIHBhcmFtcyBhcmUgY2xvbmVkIGFuZCBjbGVhbmVkIHVwCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkY2xvbmVkLT5nZXRQYXJhbXMoKS0+Z2V0QWxsKCkpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAkY2xvbmVkLT5nZXRQYXJhbXMoKS0+Z2V0KCd0ZXN0JykpOwogICAgICAgIC8vIEVuc3VyZSBjdXJsIG9wdGlvbnMgYXJlIGNsb25lZAogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRjbG9uZWQtPmdldEN1cmxPcHRpb25zKCktPmdldCgnZm9vJykpOwogICAgICAgIC8vIEVuc3VyZSBldmVudCBkaXNwYXRjaGVyIGlzIGNsb25lZAogICAgICAgICR0aGlzLT5hc3NlcnROb3RTYW1lKCRyZXF1ZXN0LT5nZXRFdmVudERpc3BhdGNoZXIoKSwgJGNsb25lZC0+Z2V0RXZlbnREaXNwYXRjaGVyKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2xvbmVzUmVxdWVzdHNXaXRoTWV0aG9kV2l0aENsaWVudCgpCiAgICB7CiAgICAgICAgJGYgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+cHV0KCdodHRwOi8vd3d3LnRlc3QuY29tJywgYXJyYXkoJ0NvbnRlbnQtTGVuZ3RoJyA9PiA0KSwgJ3Rlc3QnKTsKICAgICAgICAkY2xvbmVkID0gJGYtPmNsb25lUmVxdWVzdFdpdGhNZXRob2QoJHJlcXVlc3QsICdHRVQnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdHRVQnLCAkY2xvbmVkLT5nZXRNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJGNsb25lZC0+Z2V0SGVhZGVyKCdDb250ZW50LUxlbmd0aCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vd3d3LnRlc3QuY29tJywgJGNsb25lZC0+Z2V0VXJsKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRyZXF1ZXN0LT5nZXRDbGllbnQoKSwgJGNsb25lZC0+Z2V0Q2xpZW50KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2xvbmVzUmVxdWVzdHNXaXRoTWV0aG9kV2l0aENsaWVudFdpdGhFbnRpdHlFbmNsb3NpbmdDaGFuZ2UoKQogICAgewogICAgICAgICRmID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCk7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnB1dCgnaHR0cDovL3d3dy50ZXN0LmNvbScsIGFycmF5KCdDb250ZW50LUxlbmd0aCcgPT4gNCksICd0ZXN0Jyk7CiAgICAgICAgJGNsb25lZCA9ICRmLT5jbG9uZVJlcXVlc3RXaXRoTWV0aG9kKCRyZXF1ZXN0LCAnUE9TVCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BPU1QnLCAkY2xvbmVkLT5nZXRNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsIChzdHJpbmcpICRjbG9uZWQtPmdldEJvZHkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5EaXNhYmxlUmVkaXJlY3RzKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoCiAgICAgICAgICAgICJIVFRQLzEuMSAzMDdcclxuTG9jYXRpb246ICIgLiAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpIC4gIlxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIgogICAgICAgICkpOwogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRyZXNwb25zZSA9ICRjbGllbnQtPmdldCgnLycsIGFycmF5KCksIGFycmF5KCdhbGxvd19yZWRpcmVjdHMnID0+IGZhbHNlKSktPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMwNywgJHJlc3BvbnNlLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQWRkQ29va2llcygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJy8nLCBhcnJheSgpLCBhcnJheSgnY29va2llcycgPT4gYXJyYXkoJ0ZvbycgPT4gJ0JhcicpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQmFyJywgJHJlcXVlc3QtPmdldENvb2tpZSgnRm9vJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQWRkUXVlcnlTdHJpbmcoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnR0VUJywgJ2h0dHA6Ly9mb28uY29tJywgYXJyYXkoKSwgbnVsbCwgYXJyYXkoCiAgICAgICAgICAgICdxdWVyeScgPT4gYXJyYXkoJ0ZvbycgPT4gJ0JhcicpCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQmFyJywgJHJlcXVlc3QtPmdldFF1ZXJ5KCktPmdldCgnRm9vJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2V0RGVmYXVsdFF1ZXJ5U3RyaW5nKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5mb28uY29tP3Rlc3Q9YWJjJyk7CiAgICAgICAgUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmFwcGx5T3B0aW9ucygkcmVxdWVzdCwgYXJyYXkoCiAgICAgICAgICAgICdxdWVyeScgPT4gYXJyYXkoJ3Rlc3QnID0+ICcxMjMnLCAnb3RoZXInID0+ICd0MTIzJykKICAgICAgICApLCBSZXF1ZXN0RmFjdG9yeTo6T1BUSU9OU19BU19ERUZBVUxUUyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYWJjJywgJHJlcXVlc3QtPmdldFF1ZXJ5KCktPmdldCgndGVzdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0MTIzJywgJHJlcXVlc3QtPmdldFF1ZXJ5KCktPmdldCgnb3RoZXInKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5BZGRCYXNpY0F1dGgoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnR0VUJywgJ2h0dHA6Ly9mb28uY29tJywgYXJyYXkoKSwgbnVsbCwgYXJyYXkoCiAgICAgICAgICAgICdhdXRoJyA9PiBhcnJheSgnbWljaGFlbCcsICd0ZXN0JykKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdtaWNoYWVsJywgJHJlcXVlc3QtPmdldFVzZXJuYW1lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3QnLCAkcmVxdWVzdC0+Z2V0UGFzc3dvcmQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5BZGREaWdlc3RBdXRoKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ0dFVCcsICdodHRwOi8vZm9vLmNvbScsIGFycmF5KCksIG51bGwsIGFycmF5KAogICAgICAgICAgICAnYXV0aCcgPT4gYXJyYXkoJ21pY2hhZWwnLCAndGVzdCcsICdkaWdlc3QnKQogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoQ1VSTEFVVEhfRElHRVNULCAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfSFRUUEFVVEgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdtaWNoYWVsJywgJHJlcXVlc3QtPmdldFVzZXJuYW1lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3QnLCAkcmVxdWVzdC0+Z2V0UGFzc3dvcmQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5BZGRFdmVudHMoKQogICAgewogICAgICAgICRmb28gPSBudWxsOwogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgTW9ja1BsdWdpbihhcnJheShuZXcgUmVzcG9uc2UoMjAwKSkpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpLCBhcnJheSgpLCBhcnJheSgKICAgICAgICAgICAgJ2V2ZW50cycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncmVxdWVzdC5iZWZvcmVfc2VuZCcgPT4gZnVuY3Rpb24gKCkgdXNlICgmJGZvbykgeyAkZm9vID0gdHJ1ZTsgfQogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZm9vKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkFkZEV2ZW50c1dpdGhQcmlvcml0eSgpCiAgICB7CiAgICAgICAgJGZvbyA9IG51bGw7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKG5ldyBNb2NrUGx1Z2luKGFycmF5KG5ldyBSZXNwb25zZSgyMDApKSkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCksIGFycmF5KCksIGFycmF5KAogICAgICAgICAgICAnZXZlbnRzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdyZXF1ZXN0LmJlZm9yZV9zZW5kJyA9PiBhcnJheShmdW5jdGlvbiAoKSB1c2UgKCYkZm9vKSB7ICRmb28gPSB0cnVlOyB9LCAxMDApCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgICAgICAkcmVxdWVzdC0+c2VuZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRmb28pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQWRkUGx1Z2lucygpCiAgICB7CiAgICAgICAgJG1vY2sgPSBuZXcgTW9ja1BsdWdpbihhcnJheShuZXcgUmVzcG9uc2UoMjAwKSkpOwogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkbW9jayk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJy8nLCBhcnJheSgpLCBhcnJheSgKICAgICAgICAgICAgJ3BsdWdpbnMnID0+IGFycmF5KCRtb2NrKQogICAgICAgICkpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5EaXNhYmxlRXhjZXB0aW9ucygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnLycsIGFycmF5KCksIGFycmF5KAogICAgICAgICAgICAncGx1Z2lucycgPT4gYXJyYXkobmV3IE1vY2tQbHVnaW4oYXJyYXkobmV3IFJlc3BvbnNlKDUwMCkpKSksCiAgICAgICAgICAgICdleGNlcHRpb25zJyA9PiBmYWxzZQogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNTAwLCAkcmVxdWVzdC0+c2VuZCgpLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuRGlzYWJsZUV4Y2VwdGlvbnNXaXRoRXJyb3JMaXN0ZW5lcigpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ3JlcXVlc3QuZXJyb3InLCBmdW5jdGlvbiAoKSB7fSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJy8nLCBhcnJheSgpLCBhcnJheSgKICAgICAgICAgICAgICAgICdwbHVnaW5zJyA9PiBhcnJheShuZXcgTW9ja1BsdWdpbihhcnJheShuZXcgUmVzcG9uc2UoNTAwKSkpKSwKICAgICAgICAgICAgICAgICdleGNlcHRpb25zJyA9PiBmYWxzZQogICAgICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDUwMCwgJHJlcXVlc3QtPnNlbmQoKS0+Z2V0U3RhdHVzQ29kZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNoYW5nZVNhdmVUb0xvY2F0aW9uKCkKICAgIHsKICAgICAgICAkciA9IEVudGl0eUJvZHk6OmZhY3RvcnkoKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCcvJywgYXJyYXkoKSwgYXJyYXkoCiAgICAgICAgICAgICdwbHVnaW5zJyA9PiBhcnJheShuZXcgTW9ja1BsdWdpbihhcnJheShuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgpLCAndGVzdGluZycpKSkpLAogICAgICAgICAgICAnc2F2ZV90bycgPT4gJHIKICAgICAgICApKTsKICAgICAgICAkcmVxdWVzdC0+c2VuZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3RpbmcnLCAoc3RyaW5nKSAkcik7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5TZXRQcm94eSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnLycsIGFycmF5KCksIGFycmF5KCdwcm94eScgPT4gJzE5Mi4xNjguMTYuMTIxJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzE5Mi4xNjguMTYuMTIxJywgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPmdldChDVVJMT1BUX1BST1hZKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5TZXRIZWFkZXJzT3B0aW9uKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCcvJywgYXJyYXkoKSwgYXJyYXkoJ2hlYWRlcnMnID0+IGFycmF5KCdGb28nID0+ICdCYXInKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0JhcicsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNldERlZmF1bHRIZWFkZXJzT3B0aW9ucygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZm9vLmNvbScsIGFycmF5KCdGb28nID0+ICdCYXInKSk7CiAgICAgICAgUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmFwcGx5T3B0aW9ucygkcmVxdWVzdCwgYXJyYXkoCiAgICAgICAgICAgICdoZWFkZXJzJyA9PiBhcnJheSgnRm9vJyA9PiAnQmF6JywgJ0JhbScgPT4gJ3QxMjMnKQogICAgICAgICksIFJlcXVlc3RGYWN0b3J5OjpPUFRJT05TX0FTX0RFRkFVTFRTKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdCYXInLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdGb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndDEyMycsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0JhbScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNldEJvZHlPcHRpb24oKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wdXQoJy8nLCBhcnJheSgpLCBudWxsLCBhcnJheSgnYm9keScgPT4gJ3Rlc3QnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRCb2R5KCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNCb2R5T3B0aW9uKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICRjbGllbnQtPmdldCgnLycsIGFycmF5KCksIGFycmF5KCdib2R5JyA9PiAndGVzdCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNldFRpbWVvdXRPcHRpb24oKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJy8nLCBhcnJheSgpLCBhcnJheSgndGltZW91dCcgPT4gMS41KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxNTAwLCAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfVElNRU9VVF9NUykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2V0Q29ubmVjdFRpbWVvdXRPcHRpb24oKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJy8nLCBhcnJheSgpLCBhcnJheSgnY29ubmVjdF90aW1lb3V0JyA9PiAxLjUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDE1MDAsICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5nZXQoQ1VSTE9QVF9DT05ORUNUVElNRU9VVF9NUykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2V0RGVidWcoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJy8nLCBhcnJheSgpLCBhcnJheSgnZGVidWcnID0+IHRydWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfVkVSQk9TRSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2V0VmVyaWZ5VG9PZmYoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJy8nLCBhcnJheSgpLCBhcnJheSgndmVyaWZ5JyA9PiBmYWxzZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5nZXQoQ1VSTE9QVF9DQUlORk8pKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgwLCAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfU1NMX1ZFUklGWUhPU1QpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPmdldChDVVJMT1BUX1NTTF9WRVJJRllQRUVSKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5TZXRWZXJpZnlUb09uKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCcvJywgYXJyYXkoKSwgYXJyYXkoJ3ZlcmlmeScgPT4gdHJ1ZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3ROdWxsKCRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5nZXQoQ1VSTE9QVF9DQUlORk8pKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgyLCAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfU1NMX1ZFUklGWUhPU1QpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfU1NMX1ZFUklGWVBFRVIpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNldFZlcmlmeVRvUGF0aCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnLycsIGFycmF5KCksIGFycmF5KCd2ZXJpZnknID0+ICcvZm9vLnBlbScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvZm9vLnBlbScsICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5nZXQoQ1VSTE9QVF9DQUlORk8pKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgyLCAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfU1NMX1ZFUklGWUhPU1QpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfU1NMX1ZFUklGWVBFRVIpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaW5wdXRWYWxpZGF0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXlfbWFwKGZ1bmN0aW9uICgkb3B0aW9uKSB7IHJldHVybiBhcnJheSgkb3B0aW9uKTsgfSwgYXJyYXkoCiAgICAgICAgICAgICdoZWFkZXJzJywgJ3F1ZXJ5JywgJ2Nvb2tpZXMnLCAnYXV0aCcsICdldmVudHMnLCAncGx1Z2lucycsICdwYXJhbXMnCiAgICAgICAgKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGlucHV0VmFsaWRhdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNJbnB1dCgkb3B0aW9uKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJGNsaWVudC0+Z2V0KCcvJywgYXJyYXkoKSwgYXJyYXkoJG9wdGlvbiA9PiAnZm9vJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQWRkUmVxdWVzdFBhcmFtcygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnB1dCgnLycsIGFycmF5KCksIG51bGwsIGFycmF5KCdwYXJhbXMnID0+IGFycmF5KCdmb28nID0+ICd0ZXN0JykpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgJHJlcXVlc3QtPmdldFBhcmFtcygpLT5nZXQoJ2ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkFkZFNzbEtleSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnLycsIGFycmF5KCksIGFycmF5KCdzc2xfa2V5JyA9PiAnL2Zvby5wZW0nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnL2Zvby5wZW0nLCAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfU1NMS0VZKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5BZGRTc2xLZXlQYXNzd29yZCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnLycsIGFycmF5KCksIGFycmF5KCdzc2xfa2V5JyA9PiBhcnJheSgnL2Zvby5wZW0nLCAnYmFyJykpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvZm9vLnBlbScsICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5nZXQoQ1VSTE9QVF9TU0xLRVkpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXInLCAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfU1NMS0VZUEFTU1dEKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5BZGRTc2xDZXJ0KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCcvJywgYXJyYXkoKSwgYXJyYXkoJ2NlcnQnID0+ICcvZm9vLnBlbScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvZm9vLnBlbScsICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5nZXQoQ1VSTE9QVF9TU0xDRVJUKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5BZGRTc2xDZXJ0UGFzc3dvcmQoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJy8nLCBhcnJheSgpLCBhcnJheSgnY2VydCcgPT4gYXJyYXkoJy9mb28ucGVtJywgJ2JhcicpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnL2Zvby5wZW0nLCAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfU1NMQ0VSVCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5nZXQoQ1VSTE9QVF9TU0xDRVJUUEFTU1dEKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzQm9keVdpdGhvdXRaZXJvU3RyaW5nKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BVVCcsICdodHRwOi8vdGVzdC5jb20nLCBhcnJheSgpLCAnMCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCcwJywgKHN0cmluZykgJHJlcXVlc3QtPmdldEJvZHkoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/RequestTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cFxNZXNzYWdlOwoKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcSHR0cFxVcmw7CnVzZSBHdXp6bGVcSHR0cFxDbGllbnQ7CnVzZSBHdXp6bGVcUGx1Z2luXEFzeW5jXEFzeW5jUGx1Z2luOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEZhY3Rvcnk7CnVzZSBHdXp6bGVcSHR0cFxSZWRpcmVjdFBsdWdpbjsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxCYWRSZXNwb25zZUV4Y2VwdGlvbjsKCi8qKgogKiBAZ3JvdXAgc2VydmVyCiAqIEBjb3ZlcnMgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0CiAqIEBjb3ZlcnMgR3V6emxlXEh0dHBcTWVzc2FnZVxBYnN0cmFjdE1lc3NhZ2UKICovCmNsYXNzIFJlcXVlc3RUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKiogQHZhciBSZXF1ZXN0ICovCiAgICBwcm90ZWN0ZWQgJHJlcXVlc3Q7CgogICAgLyoqIEB2YXIgQ2xpZW50ICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICR0aGlzLT5yZXF1ZXN0ID0gJHRoaXMtPmNsaWVudC0+Z2V0KCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlYXJEb3duKCkKICAgIHsKICAgICAgICB1bnNldCgkdGhpcy0+cmVxdWVzdCk7CiAgICAgICAgdW5zZXQoJHRoaXMtPmNsaWVudCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvckJ1aWxkc1JlcXVlc3RXaXRoQXJyYXlIZWFkZXJzKCkKICAgIHsKICAgICAgICAvLyBUZXN0IHBhc3NpbmcgYW4gYXJyYXkgb2YgaGVhZGVycwogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3Lmd1enpsZS1wcm9qZWN0LmNvbS8nLCBhcnJheSgKICAgICAgICAgICAgJ2ZvbycgPT4gJ2JhcicKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnR0VUJywgJHJlcXVlc3QtPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vd3d3Lmd1enpsZS1wcm9qZWN0LmNvbS8nLCAkcmVxdWVzdC0+Z2V0VXJsKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ2ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlc2NyaWJlc0V2ZW50cygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCBSZXF1ZXN0OjpnZXRBbGxFdmVudHMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvckJ1aWxkc1JlcXVlc3RXaXRoQ29sbGVjdGlvbkhlYWRlcnMoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3Lmd1enpsZS1wcm9qZWN0LmNvbS8nLCBuZXcgQ29sbGVjdGlvbihhcnJheSgKICAgICAgICAgICAgJ2ZvbycgPT4gJ2JhcicKICAgICAgICApKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmFyJywgJHJlcXVlc3QtPmdldEhlYWRlcignZm9vJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3JCdWlsZHNSZXF1ZXN0V2l0aE5vSGVhZGVycygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZ3V6emxlLXByb2plY3QuY29tLycsIG51bGwpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkcmVxdWVzdC0+aGFzSGVhZGVyKCdmb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3RvckhhbmRsZXNOb25CYXNpY0F1dGgoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3Lmd1enpsZS1wcm9qZWN0LmNvbS8nLCBhcnJheSgKICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nID0+ICdGb28gYmFyJwogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRyZXF1ZXN0LT5nZXRVc2VyTmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkcmVxdWVzdC0+Z2V0UGFzc3dvcmQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnRm9vIGJhcicsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0F1dGhvcml6YXRpb24nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0c0NhbkJlQ29udmVydGVkVG9SYXdNZXNzYWdlU3RyaW5ncygpCiAgICB7CiAgICAgICAgJGF1dGggPSBiYXNlNjRfZW5jb2RlKCdtaWNoYWVsOjEyMycpOwogICAgICAgICRtZXNzYWdlID0gIlBVVCAvcGF0aD9xPTEmdj0yIEhUVFAvMS4xXHJcbiIKICAgICAgICAgICAgLiAiSG9zdDogd3d3Lmdvb2dsZS5jb21cclxuIgogICAgICAgICAgICAuICJBdXRob3JpemF0aW9uOiBCYXNpYyB7JGF1dGh9XHJcbiIKICAgICAgICAgICAgLiAiQ29udGVudC1MZW5ndGg6IDRcclxuXHJcbkRhdGEiOwoKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BVVCcsICdodHRwOi8vd3d3Lmdvb2dsZS5jb20vcGF0aD9xPTEmdj0yJywgYXJyYXkoCiAgICAgICAgICAgICdBdXRob3JpemF0aW9uJyA9PiAnQmFzaWMgJyAuICRhdXRoCiAgICAgICAgKSwgJ0RhdGEnKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkbWVzc2FnZSwgJHJlcXVlc3QtPl9fdG9TdHJpbmcoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYXV0aG9yaXphdGlvbiBhZnRlciB0aGUgZmFjdCBhbmQgc2VlIHRoYXQgaXQgd2FzIHB1dCBpbiB0aGUgbWVzc2FnZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlcXVlc3RTdHJpbmdzSW5jbHVkZUF1dGgoKQogICAgewogICAgICAgICRhdXRoID0gYmFzZTY0X2VuY29kZSgnbWljaGFlbDoxMjMnKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIik7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQVVQnLCAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpLCBudWxsLCAnRGF0YScpCiAgICAgICAgICAgIC0+c2V0Q2xpZW50KCR0aGlzLT5jbGllbnQpCiAgICAgICAgICAgIC0+c2V0QXV0aCgnbWljaGFlbCcsICcxMjMnLCBDVVJMQVVUSF9CQVNJQyk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdBdXRob3JpemF0aW9uOiBCYXNpYyAnIC4gJGF1dGgsIChzdHJpbmcpICRyZXF1ZXN0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldEV2ZW50RGlzcGF0Y2hlcigpCiAgICB7CiAgICAgICAgJGQgPSAkdGhpcy0+cmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ1N5bWZvbnlcXENvbXBvbmVudFxcRXZlbnREaXNwYXRjaGVyXFxFdmVudERpc3BhdGNoZXJJbnRlcmZhY2UnLCAkZCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZCwgJHRoaXMtPnJlcXVlc3QtPmdldEV2ZW50RGlzcGF0Y2hlcigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlcXVlc3RzTWFuYWdlQ2xpZW50cygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly90ZXN0LmNvbScpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRyZXF1ZXN0LT5nZXRDbGllbnQoKSk7CiAgICAgICAgJHJlcXVlc3QtPnNldENsaWVudCgkdGhpcy0+Y2xpZW50KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkdGhpcy0+Y2xpZW50LCAkcmVxdWVzdC0+Z2V0Q2xpZW50KCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxSdW50aW1lRXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIEEgY2xpZW50IG11c3QgYmUgc2V0IG9uIHRoZSByZXF1ZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVxdWVzdHNSZXF1aXJlQ2xpZW50cygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly90ZXN0LmNvbScpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZW5kKCkKICAgIHsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgKICAgICAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoJyA9PiAzCiAgICAgICAgKSwgJ2FiYycpOwogICAgICAgICR0aGlzLT5yZXF1ZXN0LT5zZXRSZXNwb25zZSgkcmVzcG9uc2UsIHRydWUpOwogICAgICAgICRyID0gJHRoaXMtPnJlcXVlc3QtPnNlbmQoKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHJlc3BvbnNlLCAkcik7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcSHR0cFxcTWVzc2FnZVxcUmVzcG9uc2UnLCAkdGhpcy0+cmVxdWVzdC0+Z2V0UmVzcG9uc2UoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHIsICR0aGlzLT5yZXF1ZXN0LT5nZXRSZXNwb25zZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdjb21wbGV0ZScsICR0aGlzLT5yZXF1ZXN0LT5nZXRTdGF0ZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldFJlc3BvbnNlKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkdGhpcy0+cmVxdWVzdC0+Z2V0UmVzcG9uc2UoKSk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoJ0NvbnRlbnQtTGVuZ3RoJyA9PiAzKSwgJ2FiYycpOwoKICAgICAgICAkdGhpcy0+cmVxdWVzdC0+c2V0UmVzcG9uc2UoJHJlc3BvbnNlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRyZXNwb25zZSwgJHRoaXMtPnJlcXVlc3QtPmdldFJlc3BvbnNlKCkpOwoKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cDovL3d3dy5nb29nbGUuY29tJyk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS8nKTsKICAgICAgICAkcmVxdWVzdC0+c2V0UmVzcG9uc2UoJHJlc3BvbnNlLCB0cnVlKTsKICAgICAgICAkcmVxdWVzdC0+c2VuZCgpOwogICAgICAgICRyZXF1ZXN0UmVzcG9uc2UgPSAkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkcmVzcG9uc2UsICRyZXF1ZXN0UmVzcG9uc2UpOwoKICAgICAgICAvLyBUcnkgYWdhaW4sIG1ha2luZyBzdXJlIGl0J3Mgc3RpbGwgdGhlIHNhbWUgcmVzcG9uc2UKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkcmVxdWVzdFJlc3BvbnNlLCAkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKSk7CgogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDQpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCk7CiAgICAgICAgJHJlcXVlc3QtPnNldFJlc3BvbnNlKCRyZXNwb25zZSwgdHJ1ZSk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkcmVxdWVzdFJlc3BvbnNlID0gJHJlcXVlc3QtPmdldFJlc3BvbnNlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHJlc3BvbnNlLCAkcmVxdWVzdFJlc3BvbnNlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFxIdHRwXFxFbnRpdHlCb2R5JywgJHJlc3BvbnNlLT5nZXRCb2R5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVxdWVzdFRocm93c0V4Y2VwdGlvbk9uQmFkUmVzcG9uc2UoKQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR0aGlzLT5yZXF1ZXN0LT5zZXRSZXNwb25zZShuZXcgUmVzcG9uc2UoNDA0LCBhcnJheSgnQ29udGVudC1MZW5ndGgnID0+IDMpLCAnYWJjJyksIHRydWUpOwogICAgICAgICAgICAkdGhpcy0+cmVxdWVzdC0+c2VuZCgpOwogICAgICAgICAgICAkdGhpcy0+ZmFpbCgnRXhwZWN0ZWQgZXhjZXB0aW9uIG5vdCB0aHJvd24nKTsKICAgICAgICB9IGNhdGNoIChCYWRSZXNwb25zZUV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFxIdHRwXFxNZXNzYWdlXFxSZXF1ZXN0SW50ZXJmYWNlJywgJGUtPmdldFJlcXVlc3QoKSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcXEh0dHBcXE1lc3NhZ2VcXFJlc3BvbnNlJywgJGUtPmdldFJlc3BvbnNlKCkpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ0NsaWVudCBlcnJvciByZXNwb25zZScsICRlLT5nZXRNZXNzYWdlKCkpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE1hbmFnZXNRdWVyeSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcSHR0cFxcUXVlcnlTdHJpbmcnLCAkdGhpcy0+cmVxdWVzdC0+Z2V0UXVlcnkoKSk7CiAgICAgICAgJHRoaXMtPnJlcXVlc3QtPmdldFF1ZXJ5KCktPnNldCgndGVzdCcsICcxMjMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0PTEyMycsICR0aGlzLT5yZXF1ZXN0LT5nZXRRdWVyeSh0cnVlKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0SGFzTWV0aG9kKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdHRVQnLCAkdGhpcy0+cmVxdWVzdC0+Z2V0TWV0aG9kKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVxdWVzdEhhc1NjaGVtZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cCcsICR0aGlzLT5yZXF1ZXN0LT5nZXRTY2hlbWUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+cmVxdWVzdCwgJHRoaXMtPnJlcXVlc3QtPnNldFNjaGVtZSgnaHR0cHMnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHMnLCAkdGhpcy0+cmVxdWVzdC0+Z2V0U2NoZW1lKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVxdWVzdEhhc0hvc3QoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyNy4wLjAuMScsICR0aGlzLT5yZXF1ZXN0LT5nZXRIb3N0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyNy4wLjAuMTo4MTI0JywgKHN0cmluZykgJHRoaXMtPnJlcXVlc3QtPmdldEhlYWRlcignSG9zdCcpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHRoaXMtPnJlcXVlc3QsICR0aGlzLT5yZXF1ZXN0LT5zZXRIb3N0KCd3d3cyLmdvb2dsZS5jb20nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnd3d3Mi5nb29nbGUuY29tJywgJHRoaXMtPnJlcXVlc3QtPmdldEhvc3QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnd3d3Mi5nb29nbGUuY29tOjgxMjQnLCAoc3RyaW5nKSAkdGhpcy0+cmVxdWVzdC0+Z2V0SGVhZGVyKCdIb3N0JykpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkdGhpcy0+cmVxdWVzdCwgJHRoaXMtPnJlcXVlc3QtPnNldEhvc3QoJ3d3dy50ZXN0LmNvbTo4MDgxJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3d3dy50ZXN0LmNvbScsICR0aGlzLT5yZXF1ZXN0LT5nZXRIb3N0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoODA4MSwgJHRoaXMtPnJlcXVlc3QtPmdldFBvcnQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0SGFzUHJvdG9jb2woKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEuMScsICR0aGlzLT5yZXF1ZXN0LT5nZXRQcm90b2NvbFZlcnNpb24oKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+cmVxdWVzdCwgJHRoaXMtPnJlcXVlc3QtPnNldFByb3RvY29sVmVyc2lvbignMS4xJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEuMScsICR0aGlzLT5yZXF1ZXN0LT5nZXRQcm90b2NvbFZlcnNpb24oKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+cmVxdWVzdCwgJHRoaXMtPnJlcXVlc3QtPnNldFByb3RvY29sVmVyc2lvbignMS4wJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEuMCcsICR0aGlzLT5yZXF1ZXN0LT5nZXRQcm90b2NvbFZlcnNpb24oKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0SGFzUGF0aCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnLycsICR0aGlzLT5yZXF1ZXN0LT5nZXRQYXRoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHRoaXMtPnJlcXVlc3QsICR0aGlzLT5yZXF1ZXN0LT5zZXRQYXRoKCcvaW5kZXguaHRtbCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvaW5kZXguaHRtbCcsICR0aGlzLT5yZXF1ZXN0LT5nZXRQYXRoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHRoaXMtPnJlcXVlc3QsICR0aGlzLT5yZXF1ZXN0LT5zZXRQYXRoKCdpbmRleC5odG1sJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9pbmRleC5odG1sJywgJHRoaXMtPnJlcXVlc3QtPmdldFBhdGgoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQZXJtaXRzRmFsc3lDb21wb25lbnRzKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovLzAvMD8wJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJzAnLCAkcmVxdWVzdC0+Z2V0SG9zdCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgnLzAnLCAkcmVxdWVzdC0+Z2V0UGF0aCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgnMCcsICRyZXF1ZXN0LT5nZXRRdWVyeSh0cnVlKSk7CgogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICcwJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnLzAnLCAkcmVxdWVzdC0+Z2V0UGF0aCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlcXVlc3RIYXNQb3J0KCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDgxMjQsICR0aGlzLT5yZXF1ZXN0LT5nZXRQb3J0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyNy4wLjAuMTo4MTI0JywgJHRoaXMtPnJlcXVlc3QtPmdldEhlYWRlcignSG9zdCcpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+cmVxdWVzdCwgJHRoaXMtPnJlcXVlc3QtPnNldFBvcnQoJzgwODAnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnODA4MCcsICR0aGlzLT5yZXF1ZXN0LT5nZXRQb3J0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyNy4wLjAuMTo4MDgwJywgJHRoaXMtPnJlcXVlc3QtPmdldEhlYWRlcignSG9zdCcpKTsKCiAgICAgICAgJHRoaXMtPnJlcXVlc3QtPnNldFBvcnQoODApOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyNy4wLjAuMScsICR0aGlzLT5yZXF1ZXN0LT5nZXRIZWFkZXIoJ0hvc3QnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0SGFuZGxlc0F1dGhvcml6YXRpb24oKQogICAgewogICAgICAgIC8vIFVuaW5pdGlhbGl6ZWQgYXV0aAogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMobnVsbCwgJHRoaXMtPnJlcXVlc3QtPmdldFVzZXJuYW1lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMobnVsbCwgJHRoaXMtPnJlcXVlc3QtPmdldFBhc3N3b3JkKCkpOwoKICAgICAgICAvLyBTZXQgYW4gYXV0aAogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCR0aGlzLT5yZXF1ZXN0LCAkdGhpcy0+cmVxdWVzdC0+c2V0QXV0aCgnbWljaGFlbCcsICcxMjMnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnbWljaGFlbCcsICR0aGlzLT5yZXF1ZXN0LT5nZXRVc2VybmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAkdGhpcy0+cmVxdWVzdC0+Z2V0UGFzc3dvcmQoKSk7CgogICAgICAgIC8vIFNldCBhbiBhdXRoIHdpdGggYmxhbmsgcGFzc3dvcmQKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkdGhpcy0+cmVxdWVzdCwgJHRoaXMtPnJlcXVlc3QtPnNldEF1dGgoJ21pY2hhZWwnLCAnJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ21pY2hhZWwnLCAkdGhpcy0+cmVxdWVzdC0+Z2V0VXNlcm5hbWUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnJywgJHRoaXMtPnJlcXVlc3QtPmdldFBhc3N3b3JkKCkpOwoKICAgICAgICAvLyBSZW1vdmUgdGhlIGF1dGgKICAgICAgICAkdGhpcy0+cmVxdWVzdC0+c2V0QXV0aChmYWxzZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhudWxsLCAkdGhpcy0+cmVxdWVzdC0+Z2V0VXNlcm5hbWUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhudWxsLCAkdGhpcy0+cmVxdWVzdC0+Z2V0UGFzc3dvcmQoKSk7CgogICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBjVVJMIGJhc2VkIGF1dGggd29ya3MgdG9vCiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QtPnNldEF1dGgoJ21pY2hhZWwnLCAncGFzc3dvcmQnLCBDVVJMQVVUSF9ESUdFU1QpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ21pY2hhZWw6cGFzc3dvcmQnLCAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfVVNFUlBXRCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoQ1VSTEFVVEhfRElHRVNULCAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+Z2V0KENVUkxPUFRfSFRUUEFVVEgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVzQXV0aCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlcXVlc3QtPnNldEF1dGgoJ2ZvbycsICdiYXInLCAnYmFtJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRSZXNvdXJjZVVyaSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnLycsICR0aGlzLT5yZXF1ZXN0LT5nZXRSZXNvdXJjZSgpKTsKICAgICAgICAkdGhpcy0+cmVxdWVzdC0+c2V0UGF0aCgnL2luZGV4Lmh0bWwnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvaW5kZXguaHRtbCcsICR0aGlzLT5yZXF1ZXN0LT5nZXRSZXNvdXJjZSgpKTsKICAgICAgICAkdGhpcy0+cmVxdWVzdC0+Z2V0UXVlcnkoKS0+YWRkKCd2JywgJzEnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvaW5kZXguaHRtbD92PTEnLCAkdGhpcy0+cmVxdWVzdC0+Z2V0UmVzb3VyY2UoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0SGFzTXV0YWJsZVVybCgpCiAgICB7CiAgICAgICAgJHVybCA9ICdodHRwOi8vd3d3LnRlc3QuY29tOjgwODEvcGF0aD9xPTEyMyNmcmFnbWVudCc7CiAgICAgICAgJHUgPSBVcmw6OmZhY3RvcnkoJHVybCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHRoaXMtPnJlcXVlc3QsICR0aGlzLT5yZXF1ZXN0LT5zZXRVcmwoJHVybCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHVybCwgJHRoaXMtPnJlcXVlc3QtPmdldFVybCgpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHRoaXMtPnJlcXVlc3QsICR0aGlzLT5yZXF1ZXN0LT5zZXRVcmwoJHUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR1cmwsICR0aGlzLT5yZXF1ZXN0LT5nZXRVcmwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0SGFzU3RhdGUoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoUmVxdWVzdEludGVyZmFjZTo6U1RBVEVfTkVXLCAkdGhpcy0+cmVxdWVzdC0+Z2V0U3RhdGUoKSk7CiAgICAgICAgJHRoaXMtPnJlcXVlc3QtPnNldFN0YXRlKFJlcXVlc3RJbnRlcmZhY2U6OlNUQVRFX1RSQU5TRkVSKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKFJlcXVlc3RJbnRlcmZhY2U6OlNUQVRFX1RSQU5TRkVSLCAkdGhpcy0+cmVxdWVzdC0+Z2V0U3RhdGUoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZXRNYW51YWxSZXNwb25zZSgpCiAgICB7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICdEYXRlJyA9PiAnU2F0LCAxNiBPY3QgMjAxMCAxNzoyNzoxNCBHTVQnLAogICAgICAgICAgICAnRXhwaXJlcycgPT4gJy0xJywKICAgICAgICAgICAgJ0NhY2hlLUNvbnRyb2wnID0+ICdwcml2YXRlLCBtYXgtYWdlPTAnLAogICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiAndGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEnLAogICAgICAgICksICdyZXNwb25zZSBib2R5Jyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCR0aGlzLT5yZXF1ZXN0LCAkdGhpcy0+cmVxdWVzdC0+c2V0UmVzcG9uc2UoJHJlc3BvbnNlKSwgJy0+IHNldFJlc3BvbnNlKCkgbXVzdCB1c2UgYSBmbHVlbnQgaW50ZXJmYWNlJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnY29tcGxldGUnLCAkdGhpcy0+cmVxdWVzdC0+Z2V0U3RhdGUoKSwgJy0+IHNldFJlc3BvbnNlKCkgbXVzdCBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSByZXF1ZXN0IHRvIGNvbXBsZXRlJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHJlc3BvbnNlLCAkdGhpcy0+cmVxdWVzdC0+Z2V0UmVzcG9uc2UoKSwgJy0+IHNldFJlc3BvbnNlKCkgbXVzdCBzZXQgdGhlIGV4YWN0IHNhbWUgcmVzcG9uc2UgdGhhdCB3YXMgcGFzc2VkIGluIHRvIGl0Jyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0Q2FuSGF2ZU1hbnVhbGx5U2V0UmVzcG9uc2VCb2R5KCkKICAgIHsKICAgICAgICAkZmlsZSA9IF9fRElSX18gLiAnLy4uLy4uL1Rlc3REYXRhL3RlbXAub3V0JzsKICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGZpbGUpKSB7CiAgICAgICAgICAgIHVubGluaygkZmlsZSk7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogNFxyXG5cclxuZGF0YSIpOwogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnR0VUJywgJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QtPnNldENsaWVudCgkdGhpcy0+Y2xpZW50KTsKICAgICAgICAkZW50aXR5Qm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoZm9wZW4oJGZpbGUsICd3KycpKTsKICAgICAgICAkcmVxdWVzdC0+c2V0UmVzcG9uc2VCb2R5KCRlbnRpdHlCb2R5KTsKICAgICAgICAkcmVzcG9uc2UgPSAkcmVxdWVzdC0+c2VuZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRlbnRpdHlCb2R5LCAkcmVzcG9uc2UtPmdldEJvZHkoKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKGZpbGVfZXhpc3RzKCRmaWxlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZGF0YScsIGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlKSk7CiAgICAgICAgdW5saW5rKCRmaWxlKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZGF0YScsICRyZXNwb25zZS0+Z2V0Qm9keSh0cnVlKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIb2xkc0Nvb2tpZXMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCR0aGlzLT5yZXF1ZXN0LT5nZXRDb29raWUoJ3Rlc3QnKSk7CgogICAgICAgIC8vIFNldCBhIGNvb2tpZQogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCR0aGlzLT5yZXF1ZXN0LCAkdGhpcy0+cmVxdWVzdC0+YWRkQ29va2llKCd0ZXN0JywgJ2FiYycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhYmMnLCAkdGhpcy0+cmVxdWVzdC0+Z2V0Q29va2llKCd0ZXN0JykpOwoKICAgICAgICAvLyBNdWx0aXBsZSBjb29raWVzIGJ5IHNldHRpbmcgdGhlIENvb2tpZSBoZWFkZXIKICAgICAgICAkdGhpcy0+cmVxdWVzdC0+c2V0SGVhZGVyKCdDb29raWUnLCAnX191dG1hPTEuNjM4MzcwMjcwLjEzNDQzNjc2MTAuMTM3NDM2NTYxMC4xOTQ0NDUwMjc2LjI7IF9fdXRtej0xLjEzNDYzNjg2MTAuMS4xLnV0bWNzcj0oZGlyZWN0KXx1dG1jY249KGRpcmVjdCl8dXRtY21kPShub25lKTsgaGw9ZGU7IFBIUFNFU1NJRD1hazkzcHFhc2hpNXV1YnVvcThmanY2MDg5NycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEuNjM4MzcwMjcwLjEzNDQzNjc2MTAuMTM3NDM2NTYxMC4xOTQ0NDUwMjc2LjInLCAkdGhpcy0+cmVxdWVzdC0+Z2V0Q29va2llKCdfX3V0bWEnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnMS4xMzQ2MzY4NjEwLjEuMS51dG1jc3I9KGRpcmVjdCl8dXRtY2NuPShkaXJlY3QpfHV0bWNtZD0obm9uZSknLCAkdGhpcy0+cmVxdWVzdC0+Z2V0Q29va2llKCdfX3V0bXonKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZGUnLCAkdGhpcy0+cmVxdWVzdC0+Z2V0Q29va2llKCdobCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhazkzcHFhc2hpNXV1YnVvcThmanY2MDg5NycsICR0aGlzLT5yZXF1ZXN0LT5nZXRDb29raWUoJ1BIUFNFU1NJRCcpKTsKCiAgICAgICAgLy8gVW5zZXQgdGhlIGNvb2tpZXMgYnkgc2V0dGluZyB0aGUgQ29va2llIGhlYWRlciB0byBudWxsCiAgICAgICAgJHRoaXMtPnJlcXVlc3QtPnNldEhlYWRlcignQ29va2llJywgbnVsbCk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHRoaXMtPnJlcXVlc3QtPmdldENvb2tpZSgndGVzdCcpKTsKICAgICAgICAkdGhpcy0+cmVxdWVzdC0+cmVtb3ZlSGVhZGVyKCdDb29raWUnKTsKCiAgICAgICAgLy8gU2V0IGFuZCByZW1vdmUgYSBjb29raWUKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkdGhpcy0+cmVxdWVzdCwgJHRoaXMtPnJlcXVlc3QtPmFkZENvb2tpZSgndGVzdCcsICdhYmMnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYWJjJywgJHRoaXMtPnJlcXVlc3QtPmdldENvb2tpZSgndGVzdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkdGhpcy0+cmVxdWVzdCwgJHRoaXMtPnJlcXVlc3QtPnJlbW92ZUNvb2tpZSgndGVzdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkdGhpcy0+cmVxdWVzdC0+Z2V0Q29va2llKCd0ZXN0JykpOwoKICAgICAgICAvLyBSZW1vdmUgdGhlIGNvb2tpZSBoZWFkZXIKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkdGhpcy0+cmVxdWVzdCwgJHRoaXMtPnJlcXVlc3QtPmFkZENvb2tpZSgndGVzdCcsICdhYmMnKSk7CiAgICAgICAgJHRoaXMtPnJlcXVlc3QtPnJlbW92ZUhlYWRlcignQ29va2llJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnJywgKHN0cmluZykgJHRoaXMtPnJlcXVlc3QtPmdldEhlYWRlcignQ29va2llJykpOwoKICAgICAgICAvLyBSZW1vdmUgYSBjb29raWUgdmFsdWUKICAgICAgICAkdGhpcy0+cmVxdWVzdC0+YWRkQ29va2llKCdmb28nLCAnYmFyJyktPmFkZENvb2tpZSgnYmF6JywgJ2JvbycpOwogICAgICAgICR0aGlzLT5yZXF1ZXN0LT5yZW1vdmVDb29raWUoJ2ZvbycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdiYXonID0+ICdib28nCiAgICAgICAgKSwgJHRoaXMtPnJlcXVlc3QtPmdldENvb2tpZXMoKSk7CgogICAgICAgICR0aGlzLT5yZXF1ZXN0LT5hZGRDb29raWUoJ2ZvbycsICdiYXInKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXo9Ym9vOyBmb289YmFyJywgKHN0cmluZykgJHRoaXMtPnJlcXVlc3QtPmdldEhlYWRlcignQ29va2llJykpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxHdXp6bGVcSHR0cFxFeGNlcHRpb25cUmVxdWVzdEV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBFcnJvciBjb21wbGV0aW5nIHJlcXVlc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0VGhyb3dzRXhjZXB0aW9uV2hlblNldFRvQ29tcGxldGVXaXRoTm9SZXNwb25zZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlcXVlc3QtPnNldFN0YXRlKFJlcXVlc3RJbnRlcmZhY2U6OlNUQVRFX0NPTVBMRVRFKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsb25lZFJlcXVlc3RzVXNlTmV3SW50ZXJuYWxTdGF0ZSgpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgQXN5bmNQbHVnaW4oKTsKICAgICAgICAkdGhpcy0+cmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZFN1YnNjcmliZXIoJHApOwogICAgICAgICRoID0gJHRoaXMtPnJlcXVlc3QtPmdldEhlYWRlcignSG9zdCcpOwoKICAgICAgICAkciA9IGNsb25lICR0aGlzLT5yZXF1ZXN0OwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoUmVxdWVzdEludGVyZmFjZTo6U1RBVEVfTkVXLCAkci0+Z2V0U3RhdGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdFNhbWUoJHItPmdldFF1ZXJ5KCksICR0aGlzLT5yZXF1ZXN0LT5nZXRRdWVyeSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90U2FtZSgkci0+Z2V0Q3VybE9wdGlvbnMoKSwgJHRoaXMtPnJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RTYW1lKCRyLT5nZXRFdmVudERpc3BhdGNoZXIoKSwgJHRoaXMtPnJlcXVlc3QtPmdldEV2ZW50RGlzcGF0Y2hlcigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRyLT5nZXRIZWFkZXJzKCksICR0aGlzLT5yZXF1ZXN0LT5nZXRIZWFkZXJzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RTYW1lKCRoLCAkci0+Z2V0SGVhZGVyKCdIb3N0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RTYW1lKCRyLT5nZXRQYXJhbXMoKSwgJHRoaXMtPnJlcXVlc3QtPmdldFBhcmFtcygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+cmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmhhc0xpc3RlbmVycygncmVxdWVzdC5zZW50JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVjb2duaXplc0Jhc2ljQXV0aENyZWRlbnRpYWxzSW5VcmxzKCkKICAgIHsKICAgICAgICAkdGhpcy0+cmVxdWVzdC0+c2V0VXJsKCdodHRwOi8vbWljaGFlbDp0ZXN0QHRlc3QuY29tLycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ21pY2hhZWwnLCAkdGhpcy0+cmVxdWVzdC0+Z2V0VXNlcm5hbWUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsICR0aGlzLT5yZXF1ZXN0LT5nZXRQYXNzd29yZCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlcXVlc3RDYW5CZVNlbnRVc2luZ0N1cmwoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDRcclxuRXhwaXJlczogVGh1LCAwMSBEZWMgMTk5NCAxNjowMDowMCBHTVRcclxuQ29ubmVjdGlvbjogY2xvc2VcclxuXHJcbmRhdGEiLAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiA0XHJcbkV4cGlyZXM6IFRodSwgMDEgRGVjIDE5OTQgMTY6MDA6MDAgR01UXHJcbkNvbm5lY3Rpb246IGNsb3NlXHJcblxyXG5kYXRhIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDQwNCBOb3QgRm91bmRcclxuQ29udGVudC1FbmNvZGluZzogYXBwbGljYXRpb24veG1sXHJcbkNvbnRlbnQtTGVuZ3RoOiA0OFxyXG5cclxuPGVycm9yPjxtZXNhZ2U+RmlsZSBub3QgZm91bmQ8L21lc3NhZ2U+PC9lcnJvcj4iCiAgICAgICAgKSk7CgogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnR0VUJywgJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QtPnNldENsaWVudCgkdGhpcy0+Y2xpZW50KTsKICAgICAgICAkcmVzcG9uc2UgPSAkcmVxdWVzdC0+c2VuZCgpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdkYXRhJywgJHJlc3BvbnNlLT5nZXRCb2R5KHRydWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMCwgKGludCkgJHJlc3BvbnNlLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ09LJywgJHJlc3BvbnNlLT5nZXRSZWFzb25QaHJhc2UoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg0LCAkcmVzcG9uc2UtPmdldENvbnRlbnRMZW5ndGgoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnVGh1LCAwMSBEZWMgMTk5NCAxNjowMDowMCBHTVQnLCAkcmVzcG9uc2UtPmdldEV4cGlyZXMoKSk7CgogICAgICAgIC8vIFRlc3QgdGhhdCB0aGUgc2FtZSBoYW5kbGUgY2FuIGJlIHNlbnQgdHdpY2Ugd2l0aG91dCBzZXR0aW5nIHN0YXRlIHRvIG5ldwogICAgICAgICRyZXNwb25zZTIgPSAkcmVxdWVzdC0+c2VuZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RTYW1lKCRyZXNwb25zZSwgJHJlc3BvbnNlMik7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnR0VUJywgJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSAuICdpbmRleC5odG1sJyk7CiAgICAgICAgICAgICRyZXF1ZXN0LT5zZXRDbGllbnQoJHRoaXMtPmNsaWVudCk7CiAgICAgICAgICAgICRyZXNwb25zZSA9ICRyZXF1ZXN0LT5zZW5kKCk7CiAgICAgICAgICAgICR0aGlzLT5mYWlsKCdSZXF1ZXN0IGRpZCBub3QgcmVjZWl2ZSBhIDQwNCByZXNwb25zZScpOwogICAgICAgIH0gY2F0Y2ggKEJhZFJlc3BvbnNlRXhjZXB0aW9uICRlKSB7CiAgICAgICAgfQoKICAgICAgICAkcmVxdWVzdHMgPSAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHModHJ1ZSk7CiAgICAgICAgJG1lc3NhZ2VzID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKGZhbHNlKTsKICAgICAgICAkcG9ydCA9ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UG9ydCgpOwoKICAgICAgICAkdXNlckFnZW50ID0gJHRoaXMtPmNsaWVudC0+Z2V0RGVmYXVsdFVzZXJBZ2VudCgpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjcuMC4wLjE6JyAuICRwb3J0LCAkcmVxdWVzdHNbMF0tPmdldEhlYWRlcignSG9zdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjcuMC4wLjE6JyAuICRwb3J0LCAkcmVxdWVzdHNbMV0tPmdldEhlYWRlcignSG9zdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjcuMC4wLjE6JyAuICRwb3J0LCAkcmVxdWVzdHNbMl0tPmdldEhlYWRlcignSG9zdCcpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnLycsICRyZXF1ZXN0c1swXS0+Z2V0UGF0aCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvJywgJHJlcXVlc3RzWzFdLT5nZXRQYXRoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9pbmRleC5odG1sJywgJHJlcXVlc3RzWzJdLT5nZXRQYXRoKCkpOwoKICAgICAgICAkcGFydHMgPSBleHBsb2RlKCJcclxuIiwgJG1lc3NhZ2VzWzBdKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdHRVQgLyBIVFRQLzEuMScsICRwYXJ0c1swXSk7CgogICAgICAgICRwYXJ0cyA9IGV4cGxvZGUoIlxyXG4iLCAkbWVzc2FnZXNbMV0pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0dFVCAvIEhUVFAvMS4xJywgJHBhcnRzWzBdKTsKCiAgICAgICAgJHBhcnRzID0gZXhwbG9kZSgiXHJcbiIsICRtZXNzYWdlc1syXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnR0VUIC9pbmRleC5odG1sIEhUVFAvMS4xJywgJHBhcnRzWzBdKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRocm93c0V4Y2VwdGlvbnNXaGVuVW5zdWNjZXNzZnVsUmVzcG9uc2VJc1JlY2VpdmVkQnlEZWZhdWx0KCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSA0MDQgTm90IGZvdW5kXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+Y2xpZW50LT5nZXQoJy9pbmRleC5odG1sJyk7CiAgICAgICAgICAgICRyZXNwb25zZSA9ICRyZXF1ZXN0LT5zZW5kKCk7CiAgICAgICAgICAgICR0aGlzLT5mYWlsKCdSZXF1ZXN0IGRpZCBub3QgcmVjZWl2ZSBhIDQwNCByZXNwb25zZScpOwogICAgICAgIH0gY2F0Y2ggKEJhZFJlc3BvbnNlRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnQ2xpZW50IGVycm9yIHJlc3BvbnNlJywgJGUtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnW3N0YXR1cyBjb2RlXSA0MDQnLCAkZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdbcmVhc29uIHBocmFzZV0gTm90IGZvdW5kJywgJGUtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2hvcnRDaXJjdWl0RXJyb3JIYW5kbGluZygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+cmVxdWVzdDsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoNDA0KTsKICAgICAgICAkcmVxdWVzdC0+c2V0UmVzcG9uc2UoJHJlc3BvbnNlLCB0cnVlKTsKICAgICAgICAkb3V0ID0gJyc7CiAgICAgICAgJHRoYXQgPSAkdGhpczsKICAgICAgICAkcmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCdyZXF1ZXN0LmVycm9yJywgZnVuY3Rpb24oJGV2ZW50KSB1c2UgKCYkb3V0LCAkdGhhdCkgewogICAgICAgICAgICAkb3V0IC49ICRldmVudFsncmVxdWVzdCddIC4gIlxuIiAuICRldmVudFsncmVzcG9uc2UnXSAuICJcbiI7CiAgICAgICAgICAgICRldmVudC0+c3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgfSk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoKHN0cmluZykgJHJlcXVlc3QsICRvdXQpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKSwgJG91dCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHJlc3BvbnNlLCAkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5PdmVycmlkZVVuc3VjY2Vzc2Z1bFJlc3BvbnNlcygpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZShhcnJheSgKICAgICAgICAgICAgIkhUVFAvMS4xIDQwNCBOT1QgRk9VTkRcclxuIiAuCiAgICAgICAgICAgICJDb250ZW50LUxlbmd0aDogMFxyXG4iIC4KICAgICAgICAgICAgIlxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbiIgLgogICAgICAgICAgICAiQ29udGVudC1MZW5ndGg6IDBcclxuIiAuCiAgICAgICAgICAgICJcclxuIgogICAgICAgICkpOwoKICAgICAgICAkbmV3UmVzcG9uc2UgPSBudWxsOwoKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5yZXF1ZXN0OwogICAgICAgICRyZXF1ZXN0LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkTGlzdGVuZXIoJ3JlcXVlc3QuZXJyb3InLCBmdW5jdGlvbigkZXZlbnQpIHVzZSAoJiRuZXdSZXNwb25zZSkgewogICAgICAgICAgICBpZiAoJGV2ZW50WydyZXNwb25zZSddLT5nZXRTdGF0dXNDb2RlKCkgPT0gNDA0KSB7CiAgICAgICAgICAgICAgICAkbmV3UmVxdWVzdCA9IGNsb25lICRldmVudFsncmVxdWVzdCddOwogICAgICAgICAgICAgICAgJG5ld1Jlc3BvbnNlID0gJG5ld1JlcXVlc3QtPnNlbmQoKTsKICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIHRoZSBvcmlnaW5hbCByZXNwb25zZSBhbmQgYnlwYXNzIGFkZGl0aW9uYWwgcmVzcG9uc2UgcHJvY2Vzc2luZwogICAgICAgICAgICAgICAgJGV2ZW50WydyZXNwb25zZSddID0gJG5ld1Jlc3BvbnNlOwogICAgICAgICAgICAgICAgLy8gQ2FsbCAkZXZlbnRbJ3JlcXVlc3QnXS0+c2V0UmVzcG9uc2UoJG5ld1Jlc3BvbnNlKTsgdG8gcmUtYXBwbHkgZXZlbnRzCiAgICAgICAgICAgICAgICAkZXZlbnQtPnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAwLCAkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKS0+Z2V0U3RhdHVzQ29kZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkbmV3UmVzcG9uc2UsICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cygpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5SZXRyaWV2ZVVybE9iamVjdCgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vZm9vP2FiYz1kJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxIdHRwXFVybCcsICRyZXF1ZXN0LT5nZXRVcmwodHJ1ZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vZm9vP2FiYz1kJywgJHJlcXVlc3QtPmdldFVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vd3d3LmV4YW1wbGUuY29tL2Zvbz9hYmM9ZCcsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRVcmwodHJ1ZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VW5yZXNvbHZlZFJlZGlyZWN0c1JldHVyblJlc3BvbnNlKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgMzAzIFNFRSBPVEhFUlxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDMwMSBGb29cclxuTG9jYXRpb246IC9mb29cclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIKICAgICAgICApKTsKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5yZXF1ZXN0OwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMzAzLCAkcmVxdWVzdC0+c2VuZCgpLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgICAgICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+c2V0KFJlZGlyZWN0UGx1Z2luOjpESVNBQkxFLCB0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMwMSwgJHJlcXVlc3QtPnNlbmQoKS0+Z2V0U3RhdHVzQ29kZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNlbmRDdXN0b21SZXF1ZXN0cygpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5jbGllbnQtPmNyZWF0ZVJlcXVlc3QoJ1BST1BGSU5EJywgJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSwgYXJyYXkoCiAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+ICd0ZXh0L3BsYWluJwogICAgICAgICksICdmb28nKTsKICAgICAgICAkcmVzcG9uc2UgPSAkcmVxdWVzdC0+c2VuZCgpOwogICAgICAgICRyZXF1ZXN0cyA9ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cyh0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQUk9QRklORCcsICRyZXF1ZXN0c1swXS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgKHN0cmluZykgJHJlcXVlc3RzWzBdLT5nZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsIChzdHJpbmcpICRyZXF1ZXN0c1swXS0+Z2V0Qm9keSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcUEhQVW5pdF9GcmFtZXdvcmtfRXJyb3JfV2FybmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNGaWxlQ2FuQmVDcmVhdGVkKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDRcclxuXHJcbnRlc3QiKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5nZXQoJy8nKS0+c2V0UmVzcG9uc2VCb2R5KCcvd2Vmd2VmZWZlZmVmd2V3ZWZ3ZS93ZWZ3ZWZ3ZWZlZndlL3dlZndlZmV3ZncudHh0JyktPnNlbmQoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0ZpbGVuYW1lRm9yRG93bmxvYWRpbmdDb250ZW50KCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDRcclxuXHJcbnRlc3QiKTsKICAgICAgICAkbmFtZSA9IHN5c19nZXRfdGVtcF9kaXIoKSAuICcvZm9vLnR4dCc7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+Z2V0KCcvJyktPnNldFJlc3BvbnNlQm9keSgkbmFtZSktPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgZmlsZV9nZXRfY29udGVudHMoJG5hbWUpKTsKICAgICAgICB1bmxpbmsoJG5hbWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXNlc0N1c3RvbVJlc3BvbnNlQm9keVdoZW5JdElzQ3VzdG9tKCkKICAgIHsKICAgICAgICAkZW4gPSBFbnRpdHlCb2R5OjpmYWN0b3J5KCk7CiAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+Y2xpZW50LT5nZXQoKTsKICAgICAgICAkcmVxdWVzdC0+c2V0UmVzcG9uc2VCb2R5KCRlbik7CiAgICAgICAgJHJlcXVlc3QtPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KCksICdmb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgKHN0cmluZykgJGVuKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/ResponseTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcTWVzc2FnZTsKCnVzZSBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb247CnVzZSBHdXp6bGVcSHR0cFxDbGllbnRJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5Owp1c2UgR3V6emxlXEh0dHBcSHR0cEV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxCYWRSZXNwb25zZUV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogQGdyb3VwIHNlcnZlcgogKiBAY292ZXJzIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2UKICovCmNsYXNzIFJlc3BvbnNlVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqIEB2YXIgUmVzcG9uc2UgVGhlIHJlc3BvbnNlIG9iamVjdCB0byB0ZXN0ICovCiAgICBwcm90ZWN0ZWQgJHJlc3BvbnNlOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXR1cCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgbmV3IENvbGxlY3Rpb24oYXJyYXkoCiAgICAgICAgICAgICdBY2NlcHQtUmFuZ2VzJyA9PiAnYnl0ZXMnLAogICAgICAgICAgICAnQWdlJyA9PiAnMTInLAogICAgICAgICAgICAnQWxsb3cnID0+ICdHRVQsIEhFQUQnLAogICAgICAgICAgICAnQ2FjaGUtQ29udHJvbCcgPT4gJ25vLWNhY2hlJywKICAgICAgICAgICAgJ0NvbnRlbnQtRW5jb2RpbmcnID0+ICdnemlwJywKICAgICAgICAgICAgJ0NvbnRlbnQtTGFuZ3VhZ2UnID0+ICdkYScsCiAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgPT4gJzM0OCcsCiAgICAgICAgICAgICdDb250ZW50LUxvY2F0aW9uJyA9PiAnL2luZGV4Lmh0bScsCiAgICAgICAgICAgICdDb250ZW50LURpc3Bvc2l0aW9uJyA9PiAnYXR0YWNobWVudDsgZmlsZW5hbWU9Zm5hbWUuZXh0JywKICAgICAgICAgICAgJ0NvbnRlbnQtTUQ1JyA9PiAnUTJobFkyc2dTVzUwWldkeWFYUjVJUT09JywKICAgICAgICAgICAgJ0NvbnRlbnQtUmFuZ2UnID0+ICdieXRlcyAyMTAxMC00NzAyMS80NzAyMicsCiAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+ICd0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgnLAogICAgICAgICAgICAnRGF0ZScgPT4gJ1R1ZSwgMTUgTm92IDE5OTQgMDg6MTI6MzEgR01UJywKICAgICAgICAgICAgJ0VUYWcnID0+ICc3MzcwNjBjZDhjMjg0ZDhhZjdhZDMwODJmMjA5NTgyZCcsCiAgICAgICAgICAgICdFeHBpcmVzJyA9PiAnVGh1LCAwMSBEZWMgMTk5NCAxNjowMDowMCBHTVQnLAogICAgICAgICAgICAnTGFzdC1Nb2RpZmllZCcgPT4gJ1R1ZSwgMTUgTm92IDE5OTQgMTI6NDU6MjYgR01UJywKICAgICAgICAgICAgJ0xvY2F0aW9uJyA9PiAnaHR0cDovL3d3dy53My5vcmcvcHViL1dXVy9QZW9wbGUuaHRtbCcsCiAgICAgICAgICAgICdQcmFnbWEnID0+ICduby1jYWNoZScsCiAgICAgICAgICAgICdQcm94eS1BdXRoZW50aWNhdGUnID0+ICdCYXNpYycsCiAgICAgICAgICAgICdSZXRyeS1BZnRlcicgPT4gJzEyMCcsCiAgICAgICAgICAgICdTZXJ2ZXInID0+ICdBcGFjaGUvMS4zLjI3IChVbml4KSAoUmVkLUhhdC9MaW51eCknLAogICAgICAgICAgICAnU2V0LUNvb2tpZScgPT4gJ1VzZXJJRD1Kb2huRG9lOyBNYXgtQWdlPTM2MDA7IFZlcnNpb249MScsCiAgICAgICAgICAgICdUcmFpbGVyJyA9PiAnTWF4LUZvcndhcmRzJywKICAgICAgICAgICAgJ1RyYW5zZmVyLUVuY29kaW5nJyA9PiAnY2h1bmtlZCcsCiAgICAgICAgICAgICdWYXJ5JyA9PiAnKicsCiAgICAgICAgICAgICdWaWEnID0+ICcxLjAgZnJlZCwgMS4xIG5vd2hlcmUuY29tIChBcGFjaGUvMS4xKScsCiAgICAgICAgICAgICdXYXJuaW5nJyA9PiAnMTk5IE1pc2NlbGxhbmVvdXMgd2FybmluZycsCiAgICAgICAgICAgICdXV1ctQXV0aGVudGljYXRlJyA9PiAnQmFzaWMnCiAgICAgICAgKSksICdib2R5Jyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlYXJEb3duKCkKICAgIHsKICAgICAgICB1bnNldCgkdGhpcy0+cmVzcG9uc2UpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3IoKQogICAgewogICAgICAgICRwYXJhbXMgPSBuZXcgQ29sbGVjdGlvbigpOwogICAgICAgICRib2R5ID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgnJyk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgJHBhcmFtcywgJGJvZHkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAwLCAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkYm9keSwgJHJlc3BvbnNlLT5nZXRCb2R5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ09LJywgJHJlc3BvbnNlLT5nZXRSZWFzb25QaHJhc2UoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygiSFRUUC8xLjEgMjAwIE9LXHJcblxyXG4iLCAkcmVzcG9uc2UtPmdldFJhd0hlYWRlcnMoKSk7CgogICAgICAgIC8vIE1ha2Ugc3VyZSBDb250ZW50LUxlbmd0aCBpcyBzZXQgYXV0b21hdGljYWxseQogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDAsICRwYXJhbXMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoIkhUVFAvMS4xIDIwMCBPS1xyXG5cclxuIiwgJHJlc3BvbnNlLT5nZXRSYXdIZWFkZXJzKCkpOwoKICAgICAgICAvLyBQYXNzIGJvZGllcyB0byB0aGUgcmVzcG9uc2UKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwLCBudWxsLCAnZGF0YScpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcXEh0dHBcXEVudGl0eUJvZHknLCAkcmVzcG9uc2UtPmdldEJvZHkoKSk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgbnVsbCwgRW50aXR5Qm9keTo6ZmFjdG9yeSgnZGF0YScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFxIdHRwXFxFbnRpdHlCb2R5JywgJHJlc3BvbnNlLT5nZXRCb2R5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2RhdGEnLCAkcmVzcG9uc2UtPmdldEJvZHkodHJ1ZSkpOwogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDAsIG51bGwsICcwJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJzAnLCAkcmVzcG9uc2UtPmdldEJvZHkodHJ1ZSksICdnZXRCb2R5KHRydWUpIHNob3VsZCByZXR1cm4gIjAiIGlmIHJlc3BvbnNlIGJvZHkgaXMgIjAiLicpOwoKICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHByb3BlciBleGNlcHRpb24gaXMgdGhyb3duCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgLy8kcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwLCBudWxsLCBhcnJheSgnZm9vJyA9PiAnYmFyJykpOwogICAgICAgICAgICAvLyR0aGlzLT5mYWlsKCdSZXNwb25zZSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbiB3aGVuIHBhc3NpbmcgaW52YWxpZCBib2R5Jyk7CiAgICAgICAgfSBjYXRjaCAoSHR0cEV4Y2VwdGlvbiAkZSkgewogICAgICAgIH0KCiAgICAgICAgLy8gRW5zdXJlIGN1c3RvbSBjb2RlcyBjYW4gYmUgc2V0CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgJHJlc3BvbnNlLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJycsICRyZXNwb25zZS0+Z2V0UmVhc29uUGhyYXNlKCkpOwoKICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHByb3BlciBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gc2VuZGluZyBpbnZhbGlkIGhlYWRlcnMKICAgICAgICB0cnkgewogICAgICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwLCAnYWRpZGFzJyk7CiAgICAgICAgICAgICR0aGlzLT5mYWlsKCdSZXNwb25zZSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbiB3aGVuIHBhc3NpbmcgaW52YWxpZCAkaGVhZGVycycpOwogICAgICAgIH0gY2F0Y2ggKEJhZFJlc3BvbnNlRXhjZXB0aW9uICRlKSB7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0X190b1N0cmluZygpCiAgICB7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygiSFRUUC8xLjEgMjAwIE9LXHJcblxyXG4iLCAoc3RyaW5nKSAkcmVzcG9uc2UpOwoKICAgICAgICAvLyBBZGQgYW5vdGhlciBoZWFkZXIKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgKICAgICAgICAgICAgJ1gtVGVzdCcgPT4gJ0d1enpsZScKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCJIVFRQLzEuMSAyMDAgT0tcclxuWC1UZXN0OiBHdXp6bGVcclxuXHJcbiIsIChzdHJpbmcpICRyZXNwb25zZSk7CgogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAnQ29udGVudC1MZW5ndGgnID0+IDQKICAgICAgICApLCAndGVzdCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogNFxyXG5cclxudGVzdCIsIChzdHJpbmcpICRyZXNwb25zZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGYWN0b3J5KCkKICAgIHsKICAgICAgICAkcmVzcG9uc2UgPSBSZXNwb25zZTo6ZnJvbU1lc3NhZ2UoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogNFxyXG5cclxudGVzdCIpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAwLCAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnT0snLCAkcmVzcG9uc2UtPmdldFJlYXNvblBocmFzZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDQsIChzdHJpbmcpICRyZXNwb25zZS0+Z2V0Q29udGVudExlbmd0aCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgJHJlc3BvbnNlLT5nZXRCb2R5KHRydWUpKTsKCiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgYXV0b21hdGljIENvbnRlbnQtTGVuZ3RoIHdvcmtzCiAgICAgICAgJHJlc3BvbnNlID0gUmVzcG9uc2U6OmZyb21NZXNzYWdlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDRcclxuXHJcbnRlc3QiKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDQsIChzdHJpbmcpICRyZXNwb25zZS0+Z2V0Q29udGVudExlbmd0aCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgJHJlc3BvbnNlLT5nZXRCb2R5KHRydWUpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhY3RvcnlDYW5DcmVhdGVIZWFkUmVzcG9uc2VzKCkKICAgIHsKICAgICAgICAkcmVzcG9uc2UgPSBSZXNwb25zZTo6ZnJvbU1lc3NhZ2UoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogNFxyXG5cclxuIik7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyMDAsICRyZXNwb25zZS0+Z2V0U3RhdHVzQ29kZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdPSycsICRyZXNwb25zZS0+Z2V0UmVhc29uUGhyYXNlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNCwgKHN0cmluZykgJHJlc3BvbnNlLT5nZXRDb250ZW50TGVuZ3RoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJycsICRyZXNwb25zZS0+Z2V0Qm9keSh0cnVlKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGYWN0b3J5UmVxdWlyZXNNZXNzYWdlKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoUmVzcG9uc2U6OmZyb21NZXNzYWdlKCcnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRCb2R5KCkKICAgIHsKICAgICAgICAkYm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJycpOwogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSg0MDMsIG5ldyBDb2xsZWN0aW9uKCksICRib2R5KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRib2R5LCAkcmVzcG9uc2UtPmdldEJvZHkoKSk7CiAgICAgICAgJHJlc3BvbnNlLT5zZXRCb2R5KCdmb28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkcmVzcG9uc2UtPmdldEJvZHkodHJ1ZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TWFuYWdlc1N0YXR1c0NvZGUoKQogICAgewogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSg0MDMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNDAzLCAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRNZXNzYWdlKCkKICAgIHsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwLCBuZXcgQ29sbGVjdGlvbihhcnJheSgKICAgICAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoJyA9PiA0CiAgICAgICAgKSksICdib2R5Jyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogNFxyXG5cclxuYm9keSIsICRyZXNwb25zZS0+Z2V0TWVzc2FnZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldFJhd0hlYWRlcnMoKQogICAgewogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDAsIG5ldyBDb2xsZWN0aW9uKGFycmF5KAogICAgICAgICAgICAnS2VlcC1BbGl2ZScgPT4gMTU1LAogICAgICAgICAgICAnVXNlci1BZ2VudCcgPT4gJ0d1enpsZScsCiAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgPT4gNAogICAgICAgICkpLCAnYm9keScpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCJIVFRQLzEuMSAyMDAgT0tcclxuS2VlcC1BbGl2ZTogMTU1XHJcblVzZXItQWdlbnQ6IEd1enpsZVxyXG5Db250ZW50LUxlbmd0aDogNFxyXG5cclxuIiwgJHJlc3BvbnNlLT5nZXRSYXdIZWFkZXJzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFuZGxlc1N0YXR1c0FuZFN0YXR1c0NvZGVzKCkKICAgIHsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwLCBuZXcgQ29sbGVjdGlvbigpLCAnYm9keScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ09LJywgJHJlc3BvbnNlLT5nZXRSZWFzb25QaHJhc2UoKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRyZXNwb25zZSwgJHJlc3BvbnNlLT5zZXRTdGF0dXMoMjA0KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnTm8gQ29udGVudCcsICRyZXNwb25zZS0+Z2V0UmVhc29uUGhyYXNlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjA0LCAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRyZXNwb25zZSwgJHJlc3BvbnNlLT5zZXRTdGF0dXMoMjA0LCAnVGVzdGluZyEnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnVGVzdGluZyEnLCAkcmVzcG9uc2UtPmdldFJlYXNvblBocmFzZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwNCwgJHJlc3BvbnNlLT5nZXRTdGF0dXNDb2RlKCkpOwoKICAgICAgICAkcmVzcG9uc2UtPnNldFN0YXR1cygyMDAwKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMDAsICRyZXNwb25zZS0+Z2V0U3RhdHVzQ29kZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcnLCAkcmVzcG9uc2UtPmdldFJlYXNvblBocmFzZSgpKTsKCiAgICAgICAgJHJlc3BvbnNlLT5zZXRTdGF0dXMoMjAwLCAnRm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyMDAsICRyZXNwb25zZS0+Z2V0U3RhdHVzQ29kZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdGb28nLCAkcmVzcG9uc2UtPmdldFJlYXNvblBocmFzZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdElzQ2xpZW50RXJyb3IoKQogICAgewogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSg0MDMpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXNwb25zZS0+aXNDbGllbnRFcnJvcigpKTsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHJlc3BvbnNlLT5pc0NsaWVudEVycm9yKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXNFcnJvcigpCiAgICB7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDQwMyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlc3BvbnNlLT5pc0Vycm9yKCkpOwogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDApOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkcmVzcG9uc2UtPmlzRXJyb3IoKSk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDUwMCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlc3BvbnNlLT5pc0Vycm9yKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXNJbmZvcm1hdGlvbmFsKCkKICAgIHsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMTAwKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVzcG9uc2UtPmlzSW5mb3JtYXRpb25hbCgpKTsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHJlc3BvbnNlLT5pc0luZm9ybWF0aW9uYWwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJc1JlZGlyZWN0KCkKICAgIHsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMzAxKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVzcG9uc2UtPmlzUmVkaXJlY3QoKSk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRyZXNwb25zZS0+aXNSZWRpcmVjdCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdElzU2VydmVyRXJyb3IoKQogICAgewogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSg1MDApOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXNwb25zZS0+aXNTZXJ2ZXJFcnJvcigpKTsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoNDAwKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHJlc3BvbnNlLT5pc1NlcnZlckVycm9yKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXNTdWNjZXNzZnVsKCkKICAgIHsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVzcG9uc2UtPmlzU3VjY2Vzc2Z1bCgpKTsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoNDAzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHJlc3BvbnNlLT5pc1N1Y2Nlc3NmdWwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRBY2NlcHRSYW5nZXMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2J5dGVzJywgJHRoaXMtPnJlc3BvbnNlLT5nZXRBY2NlcHRSYW5nZXMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYWxjdWxhdGVzQWdlKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEyLCAkdGhpcy0+cmVzcG9uc2UtPmNhbGN1bGF0ZUFnZSgpKTsKCiAgICAgICAgJHRoaXMtPnJlc3BvbnNlLT5yZW1vdmVIZWFkZXIoJ0FnZScpOwogICAgICAgICR0aGlzLT5yZXNwb25zZS0+cmVtb3ZlSGVhZGVyKCdEYXRlJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHRoaXMtPnJlc3BvbnNlLT5jYWxjdWxhdGVBZ2UoKSk7CgogICAgICAgICR0aGlzLT5yZXNwb25zZS0+c2V0SGVhZGVyKCdEYXRlJywgZ21kYXRlKENsaWVudEludGVyZmFjZTo6SFRUUF9EQVRFLCBzdHJ0b3RpbWUoJy0xIG1pbnV0ZScpKSk7CiAgICAgICAgLy8gSWYgdGhlIHRlc3QgcnVucyBzbG93bHksIHN0aWxsIHBhc3Mgd2l0aCBhICs1IHNlY29uZCBhbGxvd2FuY2UKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+cmVzcG9uc2UtPmdldEFnZSgpIC0gNjAgPD0gNSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRBbGxvdygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnR0VULCBIRUFEJywgJHRoaXMtPnJlc3BvbnNlLT5nZXRBbGxvdygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldENhY2hlQ29udHJvbCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnbm8tY2FjaGUnLCAkdGhpcy0+cmVzcG9uc2UtPmdldENhY2hlQ29udHJvbCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldENvbnRlbnRFbmNvZGluZygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZ3ppcCcsICR0aGlzLT5yZXNwb25zZS0+Z2V0Q29udGVudEVuY29kaW5nKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0Q29udGVudExhbmd1YWdlKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdkYScsICR0aGlzLT5yZXNwb25zZS0+Z2V0Q29udGVudExhbmd1YWdlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0Q29udGVudExlbmd0aCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnMzQ4JywgJHRoaXMtPnJlc3BvbnNlLT5nZXRDb250ZW50TGVuZ3RoKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0Q29udGVudExvY2F0aW9uKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvaW5kZXguaHRtJywgJHRoaXMtPnJlc3BvbnNlLT5nZXRDb250ZW50TG9jYXRpb24oKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRDb250ZW50RGlzcG9zaXRpb24oKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2F0dGFjaG1lbnQ7IGZpbGVuYW1lPWZuYW1lLmV4dCcsICR0aGlzLT5yZXNwb25zZS0+Z2V0Q29udGVudERpc3Bvc2l0aW9uKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0Q29udGVudE1kNSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUTJobFkyc2dTVzUwWldkeWFYUjVJUT09JywgJHRoaXMtPnJlc3BvbnNlLT5nZXRDb250ZW50TWQ1KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0Q29udGVudFJhbmdlKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdieXRlcyAyMTAxMC00NzAyMS80NzAyMicsICR0aGlzLT5yZXNwb25zZS0+Z2V0Q29udGVudFJhbmdlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0Q29udGVudFR5cGUoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3RleHQvaHRtbDsgY2hhcnNldD11dGYtOCcsICR0aGlzLT5yZXNwb25zZS0+Z2V0Q29udGVudFR5cGUoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXREYXRlKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdUdWUsIDE1IE5vdiAxOTk0IDA4OjEyOjMxIEdNVCcsICR0aGlzLT5yZXNwb25zZS0+Z2V0RGF0ZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldEV0YWcoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzczNzA2MGNkOGMyODRkOGFmN2FkMzA4MmYyMDk1ODJkJywgJHRoaXMtPnJlc3BvbnNlLT5nZXRFdGFnKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0RXhwaXJlcygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnVGh1LCAwMSBEZWMgMTk5NCAxNjowMDowMCBHTVQnLCAkdGhpcy0+cmVzcG9uc2UtPmdldEV4cGlyZXMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRMYXN0TW9kaWZpZWQoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1R1ZSwgMTUgTm92IDE5OTQgMTI6NDU6MjYgR01UJywgJHRoaXMtPnJlc3BvbnNlLT5nZXRMYXN0TW9kaWZpZWQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRMb2NhdGlvbigpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovL3d3dy53My5vcmcvcHViL1dXVy9QZW9wbGUuaHRtbCcsICR0aGlzLT5yZXNwb25zZS0+Z2V0TG9jYXRpb24oKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRQcmFnbWEoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ25vLWNhY2hlJywgJHRoaXMtPnJlc3BvbnNlLT5nZXRQcmFnbWEoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRQcm94eUF1dGhlbnRpY2F0ZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQmFzaWMnLCAkdGhpcy0+cmVzcG9uc2UtPmdldFByb3h5QXV0aGVudGljYXRlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0U2VydmVyKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdBcGFjaGUvMS4zLjI3IChVbml4KSAoUmVkLUhhdC9MaW51eCknLCAkdGhpcy0+cmVzcG9uc2UtPmdldFNlcnZlcigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldFNldENvb2tpZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnVXNlcklEPUpvaG5Eb2U7IE1heC1BZ2U9MzYwMDsgVmVyc2lvbj0xJywgJHRoaXMtPnJlc3BvbnNlLT5nZXRTZXRDb29raWUoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRNdWx0aXBsZVNldENvb2tpZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlc3BvbnNlLT5hZGRIZWFkZXIoJ1NldC1Db29raWUnLCAnVXNlcklEPU1pa2U7IE1heC1BZ2U9MjAwJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ1VzZXJJRD1Kb2huRG9lOyBNYXgtQWdlPTM2MDA7IFZlcnNpb249MScsCiAgICAgICAgICAgICdVc2VySUQ9TWlrZTsgTWF4LUFnZT0yMDAnLAogICAgICAgICksICR0aGlzLT5yZXNwb25zZS0+Z2V0SGVhZGVyKCdTZXQtQ29va2llJyktPnRvQXJyYXkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRTZXRDb29raWVOb3JtYWxpemVzSGVhZGVycygpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlc3BvbnNlLT5hZGRIZWFkZXJzKGFycmF5KAogICAgICAgICAgICAnU2V0LUNvb2tlJyAgPT4gJ2JvbycsCiAgICAgICAgICAgICdzZXQtY29va2llJyA9PiAnZm9vJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnVXNlcklEPUpvaG5Eb2U7IE1heC1BZ2U9MzYwMDsgVmVyc2lvbj0xJywKICAgICAgICAgICAgJ2ZvbycKICAgICAgICApLCAkdGhpcy0+cmVzcG9uc2UtPmdldEhlYWRlcignU2V0LUNvb2tpZScpLT50b0FycmF5KCkpOwoKICAgICAgICAkdGhpcy0+cmVzcG9uc2UtPmFkZEhlYWRlcnMoYXJyYXkoCiAgICAgICAgICAgICdzZXQtY29va2llJyA9PiAnZnVidScKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKAogICAgICAgICAgICBhcnJheSgnVXNlcklEPUpvaG5Eb2U7IE1heC1BZ2U9MzYwMDsgVmVyc2lvbj0xJywgJ2ZvbycsICdmdWJ1JyksCiAgICAgICAgICAgICR0aGlzLT5yZXNwb25zZS0+Z2V0SGVhZGVyKCdTZXQtQ29va2llJyktPnRvQXJyYXkoKQogICAgICAgICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRUcmFpbGVyKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdNYXgtRm9yd2FyZHMnLCAkdGhpcy0+cmVzcG9uc2UtPmdldFRyYWlsZXIoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRUcmFuc2ZlckVuY29kaW5nKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdjaHVua2VkJywgJHRoaXMtPnJlc3BvbnNlLT5nZXRUcmFuc2ZlckVuY29kaW5nKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0VmFyeSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnKicsICR0aGlzLT5yZXNwb25zZS0+Z2V0VmFyeSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNWaWFIZWFkZXIoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEuMCBmcmVkLCAxLjEgbm93aGVyZS5jb20gKEFwYWNoZS8xLjEpJywgJHRoaXMtPnJlc3BvbnNlLT5nZXRWaWEoKSk7CiAgICB9CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldFdhcm5pbmcoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzE5OSBNaXNjZWxsYW5lb3VzIHdhcm5pbmcnLCAkdGhpcy0+cmVzcG9uc2UtPmdldFdhcm5pbmcoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zV3d3QXV0aGVudGljYXRlSGVhZGVyKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdCYXNpYycsICR0aGlzLT5yZXNwb25zZS0+Z2V0V3d3QXV0aGVudGljYXRlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc0Nvbm5lY3Rpb25IZWFkZXIoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMobnVsbCwgJHRoaXMtPnJlc3BvbnNlLT5nZXRDb25uZWN0aW9uKCkpOwogICAgICAgICR0aGlzLT5yZXNwb25zZS0+c2V0SGVhZGVyKCdDb25uZWN0aW9uJywgJ2Nsb3NlJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnY2xvc2UnLCAkdGhpcy0+cmVzcG9uc2UtPmdldENvbm5lY3Rpb24oKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zSGVhZGVycygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQmFzaWMnLCAkdGhpcy0+cmVzcG9uc2UtPmdldEhlYWRlcignV1dXLUF1dGhlbnRpY2F0ZScsIG51bGwsIHRydWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdjaHVua2VkJywgJHRoaXMtPnJlc3BvbnNlLT5nZXRIZWFkZXIoJ1RyYW5zZmVyLUVuY29kaW5nJywgbnVsbCwgZmFsc2UpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc1RyYW5zZmVySW5mbygpCiAgICB7CiAgICAgICAgJHN0YXRzID0gYXJyYXkgKAogICAgICAgICAgICAndXJsJyA9PiAnaHR0cDovL3d3dy5nb29nbGUuY29tLycsCiAgICAgICAgICAgICdjb250ZW50X3R5cGUnID0+ICd0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMScsCiAgICAgICAgICAgICdodHRwX2NvZGUnID0+IDIwMCwKICAgICAgICAgICAgJ2hlYWRlcl9zaXplJyA9PiA2MDYsCiAgICAgICAgICAgICdyZXF1ZXN0X3NpemUnID0+IDUzLAogICAgICAgICAgICAnZmlsZXRpbWUnID0+IC0xLAogICAgICAgICAgICAnc3NsX3ZlcmlmeV9yZXN1bHQnID0+IDAsCiAgICAgICAgICAgICdyZWRpcmVjdF9jb3VudCcgPT4gMCwKICAgICAgICAgICAgJ3RvdGFsX3RpbWUnID0+IDAuMDkzMjg0LAogICAgICAgICAgICAnbmFtZWxvb2t1cF90aW1lJyA9PiAwLjAwMTM0OSwKICAgICAgICAgICAgJ2Nvbm5lY3RfdGltZScgPT4gMC4wMTYzNSwKICAgICAgICAgICAgJ3ByZXRyYW5zZmVyX3RpbWUnID0+IDAuMDE2MzU4LAogICAgICAgICAgICAnc2l6ZV91cGxvYWQnID0+IDAsCiAgICAgICAgICAgICdzaXplX2Rvd25sb2FkJyA9PiAxMDMzMCwKICAgICAgICAgICAgJ3NwZWVkX2Rvd25sb2FkJyA9PiAxMTA3MzcsCiAgICAgICAgICAgICdzcGVlZF91cGxvYWQnID0+IDAsCiAgICAgICAgICAgICdkb3dubG9hZF9jb250ZW50X2xlbmd0aCcgPT4gLTEsCiAgICAgICAgICAgICd1cGxvYWRfY29udGVudF9sZW5ndGgnID0+IDAsCiAgICAgICAgICAgICdzdGFydHRyYW5zZmVyX3RpbWUnID0+IDAuMDcwNjYsCiAgICAgICAgICAgICdyZWRpcmVjdF90aW1lJyA9PiAwLAogICAgICAgICk7CgogICAgICAgIC8vIFVuaW5pdGlhbGl6ZWQgc3RhdGUKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkdGhpcy0+cmVzcG9uc2UtPmdldEluZm8oJ3VybCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCksICR0aGlzLT5yZXNwb25zZS0+Z2V0SW5mbygpKTsKCiAgICAgICAgLy8gU2V0IHRoZSBzdGF0cwogICAgICAgICR0aGlzLT5yZXNwb25zZS0+c2V0SW5mbygkc3RhdHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHN0YXRzLCAkdGhpcy0+cmVzcG9uc2UtPmdldEluZm8oKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg2MDYsICR0aGlzLT5yZXNwb25zZS0+Z2V0SW5mbygnaGVhZGVyX3NpemUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHRoaXMtPnJlc3BvbnNlLT5nZXRJbmZvKCdkb2VzX25vdF9leGlzdCcpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4gUmVzcG9uc2UKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRSZXNwb25zZSgkY29kZSwgYXJyYXkgJGhlYWRlcnMgPSBudWxsLCBFbnRpdHlCb2R5ICRib2R5ID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKCRjb2RlLCAkaGVhZGVycywgJGJvZHkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGV0ZXJtaW5lc0lmSXRDYW5CZUNhY2hlZCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmdldFJlc3BvbnNlKDIwMCktPmNhbkNhY2hlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5nZXRSZXNwb25zZSg0MTApLT5jYW5DYWNoZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHRoaXMtPmdldFJlc3BvbnNlKDQwNCktPmNhbkNhY2hlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5nZXRSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAnQ2FjaGUtQ29udHJvbCcgPT4gJ3B1YmxpYycKICAgICAgICApKS0+Y2FuQ2FjaGUoKSk7CgogICAgICAgIC8vIFRoaXMgaGFzIHRoZSBuby1zdG9yZSBkaXJlY3RpdmUKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHRoaXMtPmdldFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICdDYWNoZS1Db250cm9sJyA9PiAncHJpdmF0ZSwgbm8tc3RvcmUnCiAgICAgICAgKSktPmNhbkNhY2hlKCkpOwoKICAgICAgICAvLyBUaGUgYm9keSBjYW5ub3QgYmUgcmVhZCwgc28gaXQgY2Fubm90IGJlIGNhY2hlZAogICAgICAgICR0bXAgPSB0ZW1wbmFtKCcvdG1wJywgJ25vdC1yZWFkYWJsZScpOwogICAgICAgICRyZXNvdXJjZSA9IGZvcGVuKCR0bXAsICd3Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT5nZXRSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAnVHJhbnNmZXItRW5jb2RpbmcnID0+ICdjaHVua2VkJwogICAgICAgICksIEVudGl0eUJvZHk6OmZhY3RvcnkoJHJlc291cmNlLCAxMCkpLT5jYW5DYWNoZSgpKTsKICAgICAgICB1bmxpbmsoJHRtcCk7CgogICAgICAgIC8vIFRoZSBib2R5IGlzIDAgbGVuZ3RoLCBjYW5ub3QgYmUgcmVhZCwgc28gaXQgY2FuIGJlIGNhY2hlZAogICAgICAgICR0bXAgPSB0ZW1wbmFtKCcvdG1wJywgJ25vdC1yZWFkYWJsZScpOwogICAgICAgICRyZXNvdXJjZSA9IGZvcGVuKCR0bXAsICd3Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmdldFJlc3BvbnNlKDIwMCwgYXJyYXkoYXJyYXkoCiAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgPT4gMAogICAgICAgICkpLCBFbnRpdHlCb2R5OjpmYWN0b3J5KCRyZXNvdXJjZSwgMCkpLT5jYW5DYWNoZSgpKTsKICAgICAgICB1bmxpbmsoJHRtcCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZXRlcm1pbmVzUmVzcG9uc2VNYXhBZ2UoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMobnVsbCwgJHRoaXMtPmdldFJlc3BvbnNlKDIwMCktPmdldE1heEFnZSgpKTsKCiAgICAgICAgLy8gVXNlcyB0aGUgcmVzcG9uc2UncyBzLW1heGFnZQogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTQwLCAkdGhpcy0+Z2V0UmVzcG9uc2UoMjAwLCBhcnJheSgKICAgICAgICAgICAgJ0NhY2hlLUNvbnRyb2wnID0+ICdzLW1heGFnZT0xNDAnCiAgICAgICAgKSktPmdldE1heEFnZSgpKTsKCiAgICAgICAgLy8gVXNlcyB0aGUgcmVzcG9uc2UncyBtYXgtYWdlCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxMjAsICR0aGlzLT5nZXRSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAnQ2FjaGUtQ29udHJvbCcgPT4gJ21heC1hZ2U9MTIwJwogICAgICAgICkpLT5nZXRNYXhBZ2UoKSk7CgogICAgICAgIC8vIFVzZXMgdGhlIHJlc3BvbnNlJ3MgbWF4LWFnZQogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTIwLCAkdGhpcy0+Z2V0UmVzcG9uc2UoMjAwLCBhcnJheSgKICAgICAgICAgICAgJ0NhY2hlLUNvbnRyb2wnID0+ICdtYXgtYWdlPTEyMCcsCiAgICAgICAgICAgICdFeHBpcmVzJyA9PiBnbWRhdGUoQ2xpZW50SW50ZXJmYWNlOjpIVFRQX0RBVEUsIHN0cnRvdGltZSgnKzEgZGF5JykpCiAgICAgICAgKSktPmdldE1heEFnZSgpKTsKCiAgICAgICAgLy8gVXNlcyB0aGUgRXhwaXJlcyBkYXRlCiAgICAgICAgJHRoaXMtPmFzc2VydEdyZWF0ZXJUaGFuT3JFcXVhbCg4MjQwMCwgJHRoaXMtPmdldFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICdFeHBpcmVzJyA9PiBnbWRhdGUoQ2xpZW50SW50ZXJmYWNlOjpIVFRQX0RBVEUsIHN0cnRvdGltZSgnKzEgZGF5JykpCiAgICAgICAgKSktPmdldE1heEFnZSgpKTsKCiAgICAgICAgLy8gVXNlcyB0aGUgRXhwaXJlcyBkYXRlCiAgICAgICAgJHRoaXMtPmFzc2VydEdyZWF0ZXJUaGFuT3JFcXVhbCg4MjQwMCwgJHRoaXMtPmdldFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICdFeHBpcmVzJyA9PiBnbWRhdGUoQ2xpZW50SW50ZXJmYWNlOjpIVFRQX0RBVEUsIHN0cnRvdGltZSgnKzEgZGF5JykpCiAgICAgICAgKSktPmdldE1heEFnZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERldGVybWluZXNJZkl0Q2FuVmFsaWRhdGUoKQogICAgewogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDApOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkcmVzcG9uc2UtPmNhblZhbGlkYXRlKCkpOwogICAgICAgICRyZXNwb25zZS0+c2V0SGVhZGVyKCdFVGFnJywgJzEyMycpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXNwb25zZS0+Y2FuVmFsaWRhdGUoKSk7CiAgICAgICAgJHJlc3BvbnNlLT5yZW1vdmVIZWFkZXIoJ0VUYWcnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHJlc3BvbnNlLT5jYW5WYWxpZGF0ZSgpKTsKICAgICAgICAkcmVzcG9uc2UtPnNldEhlYWRlcignTGFzdC1Nb2RpZmllZCcsICcxMjMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVzcG9uc2UtPmNhblZhbGlkYXRlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FsY3VsYXRlc0ZyZXNobmVzcygpCiAgICB7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHJlc3BvbnNlLT5pc0ZyZXNoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRyZXNwb25zZS0+Z2V0RnJlc2huZXNzKCkpOwoKICAgICAgICAkcmVzcG9uc2UtPnNldEhlYWRlcignQ2FjaGUtQ29udHJvbCcsICdtYXgtYWdlPTEyMCcpOwogICAgICAgICRyZXNwb25zZS0+c2V0SGVhZGVyKCdBZ2UnLCAxMDApOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAsICRyZXNwb25zZS0+Z2V0RnJlc2huZXNzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXNwb25zZS0+aXNGcmVzaCgpKTsKCiAgICAgICAgJHJlc3BvbnNlLT5zZXRIZWFkZXIoJ0FnZScsIDEyMCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCAkcmVzcG9uc2UtPmdldEZyZXNobmVzcygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVzcG9uc2UtPmlzRnJlc2goKSk7CgogICAgICAgICRyZXNwb25zZS0+c2V0SGVhZGVyKCdBZ2UnLCAxNTApOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoLTMwLCAkcmVzcG9uc2UtPmdldEZyZXNobmVzcygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHJlc3BvbnNlLT5pc0ZyZXNoKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFuZGxlc1Byb3RvY29scygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHRoaXMtPnJlc3BvbnNlLCAkdGhpcy0+cmVzcG9uc2UtPnNldFByb3RvY29sKCdIVFRQJywgJzEuMCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdIVFRQJywgJHRoaXMtPnJlc3BvbnNlLT5nZXRQcm90b2NvbCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxLjAnLCAkdGhpcy0+cmVzcG9uc2UtPmdldFByb3RvY29sVmVyc2lvbigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbXBhcmVzQ29udGVudFR5cGUoKQogICAgewogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiAndGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTQnCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXNwb25zZS0+aXNDb250ZW50VHlwZSgndGV4dC9odG1sJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXNwb25zZS0+aXNDb250ZW50VHlwZSgnVEV4VC9odG1sJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXNwb25zZS0+aXNDb250ZW50VHlwZSgnY2hhcnNldD1JU08tODg1OS00JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkcmVzcG9uc2UtPmlzQ29udGVudFR5cGUoJ2FwcGxpY2F0aW9uL3htbCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlc3BvbnNlRGV0ZXJtaW5lc0lmTWV0aG9kSXNBbGxvd2VkQmFzZU9uQWxsb3dIZWFkZXIoKQogICAgewogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAnQWxsb3cnID0+ICdPUFRJT05TLCBQT1NULCBkZWxldEUsR0VUJwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVzcG9uc2UtPmlzTWV0aG9kQWxsb3dlZCgnZ2V0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXNwb25zZS0+aXNNZXRob2RBbGxvd2VkKCdHRVQnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlc3BvbnNlLT5pc01ldGhvZEFsbG93ZWQoJ29wdGlvbnMnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlc3BvbnNlLT5pc01ldGhvZEFsbG93ZWQoJ3Bvc3QnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlc3BvbnNlLT5pc01ldGhvZEFsbG93ZWQoJ0RlbGV0ZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHJlc3BvbnNlLT5pc01ldGhvZEFsbG93ZWQoJ3B1dCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHJlc3BvbnNlLT5pc01ldGhvZEFsbG93ZWQoJ1BVVCcpKTsKCiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRyZXNwb25zZS0+aXNNZXRob2RBbGxvd2VkKCdnZXQnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQYXJzZXNKc29uUmVzcG9uc2VzKCkKICAgIHsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgpLCAneyJmb28iOiAiYmFyIn0nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmb28nID0+ICdiYXInKSwgJHJlc3BvbnNlLT5qc29uKCkpOwogICAgICAgIC8vIFJldHVybiBhcnJheSB3aGVuIG51bGwgaXMgYSBzZXJ2aWNlIHJlc3BvbnNlCiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgpLCAkcmVzcG9uc2UtPmpzb24oKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgVW5hYmxlIHRvIHBhcnNlIHJlc3BvbnNlIGJvZHkgaW50byBKU09OOiA0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VGhyb3dzRXhjZXB0aW9uV2hlbkZhaWxzVG9QYXJzZUpzb25SZXNwb25zZSgpCiAgICB7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoKSwgJ3siZm9vIjogIicpOwogICAgICAgICRyZXNwb25zZS0+anNvbigpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGFyc2VzWG1sUmVzcG9uc2VzKCkKICAgIHsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgpLCAnPGFiYz48Zm9vPmJhcjwvZm9vPjwvYWJjPicpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsIChzdHJpbmcpICRyZXNwb25zZS0+eG1sKCktPmZvbyk7CiAgICAgICAgLy8gQWx3YXlzIHJldHVybiBhIFNpbXBsZVhNTEVsZW1lbnQgZnJvbSB0aGUgeG1sIG1ldGhvZAogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDApOwogICAgICAgICR0aGlzLT5hc3NlcnRFbXB0eSgoc3RyaW5nKSAkcmVzcG9uc2UtPnhtbCgpLT5mb28pOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIFVuYWJsZSB0byBwYXJzZSByZXNwb25zZSBib2R5IGludG8gWE1MOiBTdHJpbmcgY291bGQgbm90IGJlIHBhcnNlZCBhcyBYTUwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25XaGVuRmFpbHNUb1BhcnNlWG1sUmVzcG9uc2UoKQogICAgewogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KCksICc8YWJjJyk7CiAgICAgICAgJHJlc3BvbnNlLT54bWwoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlc3BvbnNlSXNTZXJpYWxpemFibGUoKQogICAgewogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KCdGb28nID0+ICdiYXInKSwgJ3Rlc3QnKTsKICAgICAgICAkciA9IHVuc2VyaWFsaXplKHNlcmlhbGl6ZSgkcmVzcG9uc2UpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMCwgJHItPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmFyJywgKHN0cmluZykgJHItPmdldEhlYWRlcignRm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3QnLCAoc3RyaW5nKSAkci0+Z2V0Qm9keSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByZXZlbnRzQ29tcGxleEV4dGVybmFsRW50aXRpZXMoKQogICAgewogICAgICAgICR4bWwgPSAnPD94bWwgdmVyc2lvbj0iMS4wIj8+PCFET0NUWVBFIHNjYW5bPCFFTlRJVFkgdGVzdCBTWVNURU0gInBocDovL2ZpbHRlci9yZWFkPWNvbnZlcnQuYmFzZTY0LWVuY29kZS9yZXNvdXJjZT1SZXNwb25zZVRlc3QucGhwIj5dPjxzY2FuPiZ0ZXN0Ozwvc2Nhbj4nOwogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KCksICR4bWwpOwoKICAgICAgICAkb2xkQ3dkID0gZ2V0Y3dkKCk7CiAgICAgICAgY2hkaXIoX19ESVJfXyk7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHhtbCA9ICRyZXNwb25zZS0+eG1sKCk7CiAgICAgICAgICAgIGNoZGlyKCRvbGRDd2QpOwogICAgICAgICAgICAkdGhpcy0+bWFya1Rlc3RJbmNvbXBsZXRlKCdEaWQgbm90IHRocm93IHRoZSBleHBlY3RlZCBleGNlcHRpb24hIFhNTCByZXNvbHZlZCBhczogJyAuICR4bWwtPmFzWE1MKCkpOwogICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgY2hkaXIoJG9sZEN3ZCk7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/MimetypesTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cDsKCnVzZSBHdXp6bGVcSHR0cFxNaW1ldHlwZXM7CgovKioKICogQGNvdmVycyBHdXp6bGVcSHR0cFxNaW1ldHlwZXMKICovCmNsYXNzIE1pbWV0eXBlc1Rlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0c0Zyb21FeHRlbnNpb24oKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3RleHQveC1waHAnLCBNaW1ldHlwZXM6OmdldEluc3RhbmNlKCktPmZyb21FeHRlbnNpb24oJ3BocCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldHNGcm9tRmlsZW5hbWUoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3RleHQveC1waHAnLCBNaW1ldHlwZXM6OmdldEluc3RhbmNlKCktPmZyb21GaWxlbmFtZShfX0ZJTEVfXykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0c0Zyb21DYXNlSW5zZW5zaXRpdmVGaWxlbmFtZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGV4dC94LXBocCcsIE1pbWV0eXBlczo6Z2V0SW5zdGFuY2UoKS0+ZnJvbUZpbGVuYW1lKHN0cnRvdXBwZXIoX19GSUxFX18pKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zTnVsbFdoZW5Ob01hdGNoRm91bmQoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKE1pbWV0eXBlczo6Z2V0SW5zdGFuY2UoKS0+ZnJvbUV4dGVuc2lvbignZm9vYmFyJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/CommaAggregatorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cDsKCnVzZSBHdXp6bGVcSHR0cFxRdWVyeVN0cmluZzsKdXNlIEd1enpsZVxIdHRwXFF1ZXJ5QWdncmVnYXRvclxDb21tYUFnZ3JlZ2F0b3IgYXMgQWc7CgpjbGFzcyBDb21tYUFnZ3JlZ2F0b3JUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFnZ3JlZ2F0ZXMoKQogICAgewogICAgICAgICRxdWVyeSA9IG5ldyBRdWVyeVN0cmluZygpOwogICAgICAgICRhID0gbmV3IEFnKCk7CiAgICAgICAgJGtleSA9ICd0ZXN0IDEyMyc7CiAgICAgICAgJHZhbHVlID0gYXJyYXkoJ2ZvbyAxMjMnLCAnYmF6JywgJ2JhcicpOwogICAgICAgICRyZXN1bHQgPSAkYS0+YWdncmVnYXRlKCRrZXksICR2YWx1ZSwgJHF1ZXJ5KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCd0ZXN0JTIwMTIzJyA9PiAnZm9vJTIwMTIzLGJheixiYXInKSwgJHJlc3VsdCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbmNvZGVzKCkKICAgIHsKICAgICAgICAkcXVlcnkgPSBuZXcgUXVlcnlTdHJpbmcoKTsKICAgICAgICAkcXVlcnktPnVzZVVybEVuY29kaW5nKGZhbHNlKTsKICAgICAgICAkYSA9IG5ldyBBZygpOwogICAgICAgICRrZXkgPSAndGVzdCAxMjMnOwogICAgICAgICR2YWx1ZSA9IGFycmF5KCdmb28gMTIzJywgJ2JheicsICdiYXInKTsKICAgICAgICAkcmVzdWx0ID0gJGEtPmFnZ3JlZ2F0ZSgka2V5LCAkdmFsdWUsICRxdWVyeSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgndGVzdCAxMjMnID0+ICdmb28gMTIzLGJheixiYXInKSwgJHJlc3VsdCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/DuplicateAggregatorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cDsKCnVzZSBHdXp6bGVcSHR0cFxRdWVyeVN0cmluZzsKdXNlIEd1enpsZVxIdHRwXFF1ZXJ5QWdncmVnYXRvclxEdXBsaWNhdGVBZ2dyZWdhdG9yIGFzIEFnOwoKY2xhc3MgRHVwbGljYXRlQWdncmVnYXRvclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWdncmVnYXRlcygpCiAgICB7CiAgICAgICAgJHF1ZXJ5ID0gbmV3IFF1ZXJ5U3RyaW5nKCk7CiAgICAgICAgJGEgPSBuZXcgQWcoKTsKICAgICAgICAka2V5ID0gJ2ZhY2V0IDEnOwogICAgICAgICR2YWx1ZSA9IGFycmF5KCdzaXplIGEnLCAnd2lkdGggYicpOwogICAgICAgICRyZXN1bHQgPSAkYS0+YWdncmVnYXRlKCRrZXksICR2YWx1ZSwgJHF1ZXJ5KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmYWNldCUyMDEnID0+IGFycmF5KCdzaXplJTIwYScsICd3aWR0aCUyMGInKSksICRyZXN1bHQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5jb2RlcygpCiAgICB7CiAgICAgICAgJHF1ZXJ5ID0gbmV3IFF1ZXJ5U3RyaW5nKCk7CiAgICAgICAgJHF1ZXJ5LT51c2VVcmxFbmNvZGluZyhmYWxzZSk7CiAgICAgICAgJGEgPSBuZXcgQWcoKTsKICAgICAgICAka2V5ID0gJ2ZhY2V0IDEnOwogICAgICAgICR2YWx1ZSA9IGFycmF5KCdzaXplIGEnLCAnd2lkdGggYicpOwogICAgICAgICRyZXN1bHQgPSAkYS0+YWdncmVnYXRlKCRrZXksICR2YWx1ZSwgJHF1ZXJ5KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmYWNldCAxJyA9PiBhcnJheSgnc2l6ZSBhJywgJ3dpZHRoIGInKSksICRyZXN1bHQpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/PhpAggregatorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cDsKCnVzZSBHdXp6bGVcSHR0cFxRdWVyeVN0cmluZzsKdXNlIEd1enpsZVxIdHRwXFF1ZXJ5QWdncmVnYXRvclxQaHBBZ2dyZWdhdG9yIGFzIEFnOwoKY2xhc3MgUGhwQWdncmVnYXRvclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5jb2RlcygpCiAgICB7CiAgICAgICAgJHF1ZXJ5ID0gbmV3IFF1ZXJ5U3RyaW5nKCk7CiAgICAgICAgJHF1ZXJ5LT51c2VVcmxFbmNvZGluZyhmYWxzZSk7CiAgICAgICAgJGEgPSBuZXcgQWcoKTsKICAgICAgICAka2V5ID0gJ3QnOwogICAgICAgICR2YWx1ZSA9IGFycmF5KAogICAgICAgICAgICAndjEnID0+ICdhJywKICAgICAgICAgICAgJ3YyJyA9PiAnYicsCiAgICAgICAgICAgICd2MycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndjQnID0+ICdjJywKICAgICAgICAgICAgICAgICd2NScgPT4gJ2QnLAogICAgICAgICAgICApCiAgICAgICAgKTsKICAgICAgICAkcmVzdWx0ID0gJGEtPmFnZ3JlZ2F0ZSgka2V5LCAkdmFsdWUsICRxdWVyeSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ3RbdjFdJyA9PiAnYScsCiAgICAgICAgICAgICd0W3YyXScgPT4gJ2InLAogICAgICAgICAgICAndFt2M11bdjRdJyA9PiAnYycsCiAgICAgICAgICAgICd0W3YzXVt2NV0nID0+ICdkJywKICAgICAgICApLCAkcmVzdWx0KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryStringTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cDsKCnVzZSBHdXp6bGVcSHR0cFxRdWVyeVN0cmluZzsKdXNlIEd1enpsZVxIdHRwXFF1ZXJ5QWdncmVnYXRvclxEdXBsaWNhdGVBZ2dyZWdhdG9yOwp1c2UgR3V6emxlXEh0dHBcUXVlcnlBZ2dyZWdhdG9yXENvbW1hQWdncmVnYXRvcjsKCmNsYXNzIFF1ZXJ5U3RyaW5nVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqIEB2YXIgXEd1enpsZVxIdHRwXFF1ZXJ5U3RyaW5nIFRoZSBxdWVyeSBzdHJpbmcgb2JqZWN0IHRvIHRlc3QgKi8KICAgIHByb3RlY3RlZCAkcTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0dXAoKQogICAgewogICAgICAgICR0aGlzLT5xID0gbmV3IFF1ZXJ5U3RyaW5nKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRGaWVsZFNlcGFyYXRvcigpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnJicsICR0aGlzLT5xLT5nZXRGaWVsZFNlcGFyYXRvcigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldFZhbHVlU2VwYXJhdG9yKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCc9JywgJHRoaXMtPnEtPmdldFZhbHVlU2VwYXJhdG9yKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXNVcmxFbmNvZGluZygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUkZDIDM5ODYnLCAkdGhpcy0+cS0+Z2V0VXJsRW5jb2RpbmcoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPnEtPmlzVXJsRW5jb2RpbmcoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJTIwYmFyJywgJHRoaXMtPnEtPmVuY29kZVZhbHVlKCdmb28gYmFyJykpOwoKICAgICAgICAkdGhpcy0+cS0+dXNlVXJsRW5jb2RpbmcoUXVlcnlTdHJpbmc6OkZPUk1fVVJMRU5DT0RFRCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPnEtPmlzVXJsRW5jb2RpbmcoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhRdWVyeVN0cmluZzo6Rk9STV9VUkxFTkNPREVELCAkdGhpcy0+cS0+Z2V0VXJsRW5jb2RpbmcoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vK2JhcicsICR0aGlzLT5xLT5lbmNvZGVWYWx1ZSgnZm9vIGJhcicpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHRoaXMtPnEsICR0aGlzLT5xLT51c2VVcmxFbmNvZGluZyhmYWxzZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+cS0+aXNVcmxFbmNvZGluZygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHRoaXMtPnEtPmlzVXJsRW5jb2RpbmcoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZXRGaWVsZFNlcGFyYXRvcigpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+cSwgJHRoaXMtPnEtPnNldEZpZWxkU2VwYXJhdG9yKCcvJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy8nLCAkdGhpcy0+cS0+Z2V0RmllbGRTZXBhcmF0b3IoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZXRWYWx1ZVNlcGFyYXRvcigpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+cSwgJHRoaXMtPnEtPnNldFZhbHVlU2VwYXJhdG9yKCcvJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy8nLCAkdGhpcy0+cS0+Z2V0VmFsdWVTZXBhcmF0b3IoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVcmxFbmNvZGUoKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgKICAgICAgICAgICAgJ3Rlc3QnICAgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgJ3Rlc3QgMicgPT4gJ3RoaXMgaXMgYSB0ZXN0PycsCiAgICAgICAgICAgICd0ZXN0MycgID0+IGFycmF5KCd2MScsICd2MicsICd2MycpLAogICAgICAgICAgICAn4Yi0JyAgICAgID0+ICdiYXInCiAgICAgICAgKTsKICAgICAgICAkZW5jb2RlZCA9IGFycmF5KAogICAgICAgICAgICAndGVzdCcgICAgICAgICA9PiAndmFsdWUnLAogICAgICAgICAgICAndGVzdCUyMDInICAgICA9PiByYXd1cmxlbmNvZGUoJ3RoaXMgaXMgYSB0ZXN0PycpLAogICAgICAgICAgICAndGVzdDMlNUIwJTVEJyA9PiAndjEnLAogICAgICAgICAgICAndGVzdDMlNUIxJTVEJyA9PiAndjInLAogICAgICAgICAgICAndGVzdDMlNUIyJTVEJyA9PiAndjMnLAogICAgICAgICAgICAnJUUxJTg4JUI0JyAgICA9PiAnYmFyJwogICAgICAgICk7CiAgICAgICAgJHRoaXMtPnEtPnJlcGxhY2UoJHBhcmFtcyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZW5jb2RlZCwgJHRoaXMtPnEtPnVybEVuY29kZSgpKTsKCiAgICAgICAgLy8gRGlzYWJsZSBlbmNvZGluZwogICAgICAgICR0ZXN0RGF0YSA9IGFycmF5KCd0ZXN0IDInID0+ICd0aGlzIGlzIGEgdGVzdCcpOwogICAgICAgICR0aGlzLT5xLT5yZXBsYWNlKCR0ZXN0RGF0YSk7CiAgICAgICAgJHRoaXMtPnEtPnVzZVVybEVuY29kaW5nKGZhbHNlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR0ZXN0RGF0YSwgJHRoaXMtPnEtPnVybEVuY29kZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRvU3RyaW5nKCkKICAgIHsKICAgICAgICAvLyBDaGVjayB3aXRoIG5vIHBhcmFtZXRlcnMKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcnLCAkdGhpcy0+cS0+X190b1N0cmluZygpKTsKCiAgICAgICAgJHBhcmFtcyA9IGFycmF5KAogICAgICAgICAgICAndGVzdCcgICA9PiAndmFsdWUnLAogICAgICAgICAgICAndGVzdCAyJyA9PiAndGhpcyBpcyBhIHRlc3Q/JywKICAgICAgICAgICAgJ3Rlc3QzJyAgPT4gYXJyYXkoJ3YxJywgJ3YyJywgJ3YzJyksCiAgICAgICAgICAgICd0ZXN0NCcgID0+IG51bGwsCiAgICAgICAgKTsKICAgICAgICAkdGhpcy0+cS0+cmVwbGFjZSgkcGFyYW1zKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0PXZhbHVlJnRlc3QlMjAyPXRoaXMlMjBpcyUyMGElMjB0ZXN0JTNGJnRlc3QzJTVCMCU1RD12MSZ0ZXN0MyU1QjElNUQ9djImdGVzdDMlNUIyJTVEPXYzJnRlc3Q0PScsICR0aGlzLT5xLT5fX3RvU3RyaW5nKCkpOwogICAgICAgICR0aGlzLT5xLT51c2VVcmxFbmNvZGluZyhmYWxzZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdD12YWx1ZSZ0ZXN0IDI9dGhpcyBpcyBhIHRlc3Q/JnRlc3QzWzBdPXYxJnRlc3QzWzFdPXYyJnRlc3QzWzJdPXYzJnRlc3Q0PScsICR0aGlzLT5xLT5fX3RvU3RyaW5nKCkpOwoKICAgICAgICAvLyBVc2UgYW4gYWx0ZXJuYXRpdmUgYWdncmVnYXRvcgogICAgICAgICR0aGlzLT5xLT5zZXRBZ2dyZWdhdG9yKG5ldyBDb21tYUFnZ3JlZ2F0b3IoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdD12YWx1ZSZ0ZXN0IDI9dGhpcyBpcyBhIHRlc3Q/JnRlc3QzPXYxLHYyLHYzJnRlc3Q0PScsICR0aGlzLT5xLT5fX3RvU3RyaW5nKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzTXVsdGlwbGVWYWx1ZXNQZXJLZXkoKQogICAgewogICAgICAgICRxID0gbmV3IFF1ZXJ5U3RyaW5nKCk7CiAgICAgICAgJHEtPmFkZCgnZmFjZXQnLCAnc2l6ZScpOwogICAgICAgICRxLT5hZGQoJ2ZhY2V0JywgJ3dpZHRoJyk7CiAgICAgICAgJHEtPmFkZCgnZmFjZXQuZmllbGQnLCAnZm9vJyk7CiAgICAgICAgLy8gVXNlIHRoZSBkdXBsaWNhdGUgYWdncmVnYXRvcgogICAgICAgICRxLT5zZXRBZ2dyZWdhdG9yKG5ldyBEdXBsaWNhdGVBZ2dyZWdhdG9yKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZhY2V0PXNpemUmZmFjZXQ9d2lkdGgmZmFjZXQuZmllbGQ9Zm9vJywgJHEtPl9fdG9TdHJpbmcoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NOZXN0ZWRRdWVyeURhdGEoKQogICAgewogICAgICAgICR0aGlzLT5xLT5yZXBsYWNlKGFycmF5KAogICAgICAgICAgICAndGVzdCcgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgJ3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3YxJyA9PiAnYScsCiAgICAgICAgICAgICAgICAndjInID0+ICdiJywKICAgICAgICAgICAgICAgICd2MycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3Y0JyA9PiAnYycsCiAgICAgICAgICAgICAgICAgICAgJ3Y1JyA9PiAnZCcsCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPnEtPnVzZVVybEVuY29kaW5nKGZhbHNlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0PXZhbHVlJnRbdjFdPWEmdFt2Ml09YiZ0W3YzXVt2NF09YyZ0W3YzXVt2NV09ZCcsICR0aGlzLT5xLT5fX3RvU3RyaW5nKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBwYXJzZVF1ZXJ5UHJvdmlkZXIoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgLy8gRW5zdXJlIHRoYXQgbXVsdGlwbGUgcXVlcnkgc3RyaW5nIHZhbHVlcyBhcmUgYWxsb3dlZCBwZXIgdmFsdWUKICAgICAgICAgICAgYXJyYXkoJ3E9YSZxPWInLCBhcnJheSgncScgPT4gYXJyYXkoJ2EnLCAnYicpKSksCiAgICAgICAgICAgIC8vIEVuc3VyZSB0aGF0IFBIUCBhcnJheSBzdHlsZSBxdWVyeSBzdHJpbmcgdmFsdWVzIGFyZSBwYXJzZWQKICAgICAgICAgICAgYXJyYXkoJ3FbXT1hJnFbXT1iJywgYXJyYXkoJ3EnID0+IGFycmF5KCdhJywgJ2InKSkpLAogICAgICAgICAgICAvLyBFbnN1cmUgdGhhdCBhIHNpbmdsZSBQSFAgYXJyYXkgc3R5bGUgcXVlcnkgc3RyaW5nIHZhbHVlIGlzIHBhcnNlZCBpbnRvIGFuIGFycmF5CiAgICAgICAgICAgIGFycmF5KCdxW109YScsIGFycmF5KCdxJyA9PiBhcnJheSgnYScpKSksCiAgICAgICAgICAgIC8vIEVuc3VyZSB0aGF0IGRlY2ltYWxzIGFyZSBhbGxvd2VkIGluIHF1ZXJ5IHN0cmluZ3MKICAgICAgICAgICAgYXJyYXkoJ3EuYT1hJnEuYj1iJywgYXJyYXkoCiAgICAgICAgICAgICAgICAncS5hJyA9PiAnYScsCiAgICAgICAgICAgICAgICAncS5iJyA9PiAnYicKICAgICAgICAgICAgKSksCiAgICAgICAgICAgIC8vIEVuc3VyZSB0aGF0IHF1ZXJ5IHN0cmluZyB2YWx1ZXMgYXJlIHBlcmNlbnQgZGVjb2RlZAogICAgICAgICAgICBhcnJheSgncSUyMGE9YSUyMGInLCBhcnJheSgncSBhJyA9PiAnYSBiJykpLAogICAgICAgICAgICAvLyBFbnN1cmUgbnVsbCB2YWx1ZXMgY2FuIGJlIGFkZGVkCiAgICAgICAgICAgIGFycmF5KCdxJmEnLCBhcnJheSgncScgPT4gUXVlcnlTdHJpbmc6OkJMQU5LLCAnYScgPT4gUXVlcnlTdHJpbmc6OkJMQU5LKSksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgcGFyc2VRdWVyeVByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGFyc2VzUXVlcnlTdHJpbmdzKCRxdWVyeSwgJGRhdGEpCiAgICB7CiAgICAgICAgJHF1ZXJ5ID0gUXVlcnlTdHJpbmc6OmZyb21TdHJpbmcoJHF1ZXJ5KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRkYXRhLCAkcXVlcnktPmdldEFsbCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByb3Blcmx5RGVhbHNXaXRoRHVwbGljYXRlUXVlcnlTdHJpbmdWYWx1ZXMoKQogICAgewogICAgICAgICRxdWVyeSA9IFF1ZXJ5U3RyaW5nOjpmcm9tU3RyaW5nKCdmb289YSZmb289YiY/wrU9YycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2EnLCAnYicpLCAkcXVlcnktPmdldCgnZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2MnLCAkcXVlcnktPmdldCgnP8K1JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzQmxhbmtRdWVyeVN0cmluZ1ZhbHVlcygpCiAgICB7CiAgICAgICAgJHF1ZXJ5ID0gUXVlcnlTdHJpbmc6OmZyb21TdHJpbmcoJ2ZvbycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsIChzdHJpbmcpICRxdWVyeSk7CiAgICAgICAgJHF1ZXJ5LT5zZXQoJ2ZvbycsIFF1ZXJ5U3RyaW5nOjpCTEFOSyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgKHN0cmluZykgJHF1ZXJ5KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0ZhbHN5UXVlcnlTdHJpbmdWYWx1ZXMoKQogICAgewogICAgICAgICRxdWVyeSA9IFF1ZXJ5U3RyaW5nOjpmcm9tU3RyaW5nKCcwJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnMCcsIChzdHJpbmcpICRxdWVyeSk7CiAgICAgICAgJHF1ZXJ5LT5zZXQoJzAnLCBRdWVyeVN0cmluZzo6QkxBTkspOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCcwJywgKHN0cmluZykgJHF1ZXJ5KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZyb21TdHJpbmdJZ25vcmVzUXVlc3Rpb25NYXJrKCkKICAgIHsKICAgICAgICAkcXVlcnkgPSBRdWVyeVN0cmluZzo6ZnJvbVN0cmluZygnZm9vPWJheiZiYXI9Ym9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vPWJheiZiYXI9Ym9vJywgKHN0cmluZykgJHF1ZXJ5KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbnZlcnRzUGx1c1N5bWJvbHNUb1NwYWNlcygpCiAgICB7CiAgICAgICAgJHF1ZXJ5ID0gUXVlcnlTdHJpbmc6OmZyb21TdHJpbmcoJ3Zhcj1mb28rYmFyJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vIGJhcicsICRxdWVyeS0+Z2V0KCd2YXInKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGcm9tU3RyaW5nRG9lc250TWFuZ2xlWmVyb2VzKCkKICAgIHsKICAgICAgICAkcXVlcnkgPSBRdWVyeVN0cmluZzo6ZnJvbVN0cmluZygndmFyPTAnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgnMCcsICRxdWVyeS0+Z2V0KCd2YXInKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NaZXJvVmFsdWVzKCkKICAgIHsKICAgICAgICAkcXVlcnkgPSBuZXcgUXVlcnlTdHJpbmcoYXJyYXkoCiAgICAgICAgICAgICdmb28nID0+IDAsCiAgICAgICAgICAgICdiYXonID0+ICcwJywKICAgICAgICAgICAgJ2JhcicgPT4gbnVsbCwKICAgICAgICAgICAgJ2JvbycgPT4gZmFsc2UKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb289MCZiYXo9MCZiYXI9JmJvbz0nLCAoc3RyaW5nKSAkcXVlcnkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RnJvbVN0cmluZ0RvZXNudFN0cmlwVHJhaWxpbmdFcXVhbHMoKQogICAgewogICAgICAgICRxdWVyeSA9IFF1ZXJ5U3RyaW5nOjpmcm9tU3RyaW5nKCdkYXRhPW1GMGIzSWlMQ0pVWldGdElFUmxkaUpkZlgwPScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ21GMGIzSWlMQ0pVWldGdElFUmxkaUpkZlgwPScsICRxdWVyeS0+Z2V0KCdkYXRhJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R3Vlc3Nlc0lmRHVwbGljYXRlQWdncmVnYXRvclNob3VsZEJlVXNlZCgpCiAgICB7CiAgICAgICAgJHF1ZXJ5ID0gUXVlcnlTdHJpbmc6OmZyb21TdHJpbmcoJ3Rlc3Q9YSZ0ZXN0PWInKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0PWEmdGVzdD1iJywgKHN0cmluZykgJHF1ZXJ5KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEd1ZXNzZXNJZkR1cGxpY2F0ZUFnZ3JlZ2F0b3JTaG91bGRCZVVzZWRBbmRDaGVja3NGb3JQaHBTdHlsZSgpCiAgICB7CiAgICAgICAgJHF1ZXJ5ID0gUXVlcnlTdHJpbmc6OmZyb21TdHJpbmcoJ3Rlc3RbXT1hJnRlc3RbXT1iJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCU1QjAlNUQ9YSZ0ZXN0JTVCMSU1RD1iJywgKHN0cmluZykgJHF1ZXJ5KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/ReadLimitEntityBodyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cDsKCnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5Owp1c2UgR3V6emxlXEh0dHBcUmVhZExpbWl0RW50aXR5Qm9keTsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxIdHRwXFJlYWRMaW1pdEVudGl0eUJvZHkKICovCmNsYXNzIFJlYWRMaW1pdEVudGl0eUJvZHlUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKiogQHZhciBSZWFkTGltaXRFbnRpdHlCb2R5ICovCiAgICBwcm90ZWN0ZWQgJGJvZHk7CgogICAgLyoqIEB2YXIgRW50aXR5Qm9keSAqLwogICAgcHJvdGVjdGVkICRkZWNvcmF0ZWQ7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+ZGVjb3JhdGVkID0gRW50aXR5Qm9keTo6ZmFjdG9yeShmb3BlbihfX0ZJTEVfXywgJ3InKSk7CiAgICAgICAgJHRoaXMtPmJvZHkgPSBuZXcgUmVhZExpbWl0RW50aXR5Qm9keSgkdGhpcy0+ZGVjb3JhdGVkLCAxMCwgMyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zU3Vic2V0V2hlbkNhc3RUb1N0cmluZygpCiAgICB7CiAgICAgICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KCdmb29fYmF6X2JhcicpOwogICAgICAgICRsaW1pdGVkID0gbmV3IFJlYWRMaW1pdEVudGl0eUJvZHkoJGJvZHksIDMsIDQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JheicsIChzdHJpbmcpICRsaW1pdGVkKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNTdWJzZXRPZkVtcHR5Qm9keVdoZW5DYXN0VG9TdHJpbmcoKQogICAgewogICAgICAgICRib2R5ID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgnJyk7CiAgICAgICAgJGxpbWl0ZWQgPSBuZXcgUmVhZExpbWl0RW50aXR5Qm9keSgkYm9keSwgMCwgMTApOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJycsIChzdHJpbmcpICRsaW1pdGVkKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNlZWtzV2hlbkNvbnN0cnVjdGVkKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsICR0aGlzLT5ib2R5LT5mdGVsbCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0JvdW5kZWRTZWVrKCkKICAgIHsKICAgICAgICAkdGhpcy0+Ym9keS0+c2VlaygxMDApOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTMsICR0aGlzLT5ib2R5LT5mdGVsbCgpKTsKICAgICAgICAkdGhpcy0+Ym9keS0+c2VlaygwKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsICR0aGlzLT5ib2R5LT5mdGVsbCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGZhbHNlLCAkdGhpcy0+Ym9keS0+c2VlaygxMDAwLCBTRUVLX0VORCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVhZHNPbmx5U3Vic2V0T2ZEYXRhKCkKICAgIHsKICAgICAgICAkZGF0YSA9ICR0aGlzLT5ib2R5LT5yZWFkKDEwMCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxMCwgc3RybGVuKCRkYXRhKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT5ib2R5LT5yZWFkKDEwMDApKTsKCiAgICAgICAgJHRoaXMtPmJvZHktPnNldE9mZnNldCgxMCk7CiAgICAgICAgJG5ld0RhdGEgPSAkdGhpcy0+Ym9keS0+cmVhZCgxMDApOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTAsIHN0cmxlbigkbmV3RGF0YSkpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RTYW1lKCRkYXRhLCAkbmV3RGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGFpbXNDb25zdW1lZFdoZW5SZWFkTGltaXRJc1JlYWNoZWQoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+Ym9keS0+aXNDb25zdW1lZCgpKTsKICAgICAgICAkdGhpcy0+Ym9keS0+cmVhZCgxMDAwKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+Ym9keS0+aXNDb25zdW1lZCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbnRlbnRMZW5ndGhJc0JvdW5kZWQoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTAsICR0aGlzLT5ib2R5LT5nZXRDb250ZW50TGVuZ3RoKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29udGVudE1kNUlzQmFzZWRPblN1YnNlY3Rpb24oKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnROb3RTYW1lKCR0aGlzLT5ib2R5LT5nZXRDb250ZW50TWQ1KCksICR0aGlzLT5kZWNvcmF0ZWQtPmdldENvbnRlbnRNZDUoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/RedirectPluginTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXFJlZGlyZWN0OwoKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcSHR0cFxSZWRpcmVjdFBsdWdpbjsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxUb29NYW55UmVkaXJlY3RzRXhjZXB0aW9uOwp1c2UgR3V6emxlXFBsdWdpblxIaXN0b3J5XEhpc3RvcnlQbHVnaW47CgovKioKICogQGNvdmVycyBHdXp6bGVcSHR0cFxSZWRpcmVjdFBsdWdpbgogKi8KY2xhc3MgUmVkaXJlY3RQbHVnaW5UZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlZGlyZWN0c1JlcXVlc3RzKCkKICAgIHsKICAgICAgICAvLyBGbHVzaCB0aGUgc2VydmVyIGFuZCBxdWV1ZSB1cCBhIHJlZGlyZWN0IGZvbGxvd2VkIGJ5IGEgc3VjY2Vzc2Z1bCByZXNwb25zZQogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoCiAgICAgICAgICAgICJIVFRQLzEuMSAzMDEgTW92ZWQgUGVybWFuZW50bHlcclxuTG9jYXRpb246IC9yZWRpcmVjdDFcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIsCiAgICAgICAgICAgICJIVFRQLzEuMSAzMDEgTW92ZWQgUGVybWFuZW50bHlcclxuTG9jYXRpb246IC9yZWRpcmVjdDJcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIsCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIsCiAgICAgICAgKSk7CgogICAgICAgIC8vIENyZWF0ZSBhIGNsaWVudCB0aGF0IHVzZXMgdGhlIGRlZmF1bHQgcmVkaXJlY3QgYmVoYXZpb3IKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkaGlzdG9yeSA9IG5ldyBIaXN0b3J5UGx1Z2luKCk7CiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkaGlzdG9yeSk7CgogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCcvZm9vJyk7CiAgICAgICAgJHJlc3BvbnNlID0gJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMCwgJHJlc3BvbnNlLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnL3JlZGlyZWN0MicsICRyZXNwb25zZS0+Z2V0RWZmZWN0aXZlVXJsKCkpOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0d28gcmVxdWVzdHMgd2VyZSBzZW50CiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9mb28nLCAkcmVxdWVzdHNbMF0tPmdldFJlc291cmNlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0dFVCcsICRyZXF1ZXN0c1swXS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9yZWRpcmVjdDEnLCAkcmVxdWVzdHNbMV0tPmdldFJlc291cmNlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0dFVCcsICRyZXF1ZXN0c1sxXS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9yZWRpcmVjdDInLCAkcmVxdWVzdHNbMl0tPmdldFJlc291cmNlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0dFVCcsICRyZXF1ZXN0c1syXS0+Z2V0TWV0aG9kKCkpOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgcmVkaXJlY3QgY291bnQgd2FzIGluY3JlbWVudGVkCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmdldChSZWRpcmVjdFBsdWdpbjo6UkVESVJFQ1RfQ09VTlQpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoMywgJGhpc3RvcnkpOwogICAgICAgICRyZXF1ZXN0SGlzdG9yeSA9ICRoaXN0b3J5LT5nZXRBbGwoKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzMDEsICRyZXF1ZXN0SGlzdG9yeVswXVsncmVzcG9uc2UnXS0+Z2V0U3RhdHVzQ29kZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvcmVkaXJlY3QxJywgKHN0cmluZykgJHJlcXVlc3RIaXN0b3J5WzBdWydyZXNwb25zZSddLT5nZXRIZWFkZXIoJ0xvY2F0aW9uJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMzAxLCAkcmVxdWVzdEhpc3RvcnlbMV1bJ3Jlc3BvbnNlJ10tPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnL3JlZGlyZWN0MicsIChzdHJpbmcpICRyZXF1ZXN0SGlzdG9yeVsxXVsncmVzcG9uc2UnXS0+Z2V0SGVhZGVyKCdMb2NhdGlvbicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMCwgJHJlcXVlc3RIaXN0b3J5WzJdWydyZXNwb25zZSddLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuTGltaXROdW1iZXJPZlJlZGlyZWN0cygpCiAgICB7CiAgICAgICAgLy8gRmx1c2ggdGhlIHNlcnZlciBhbmQgcXVldWUgdXAgYSByZWRpcmVjdCBmb2xsb3dlZCBieSBhIHN1Y2Nlc3NmdWwgcmVzcG9uc2UKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgMzAxIE1vdmVkIFBlcm1hbmVudGx5XHJcbkxvY2F0aW9uOiAvcmVkaXJlY3QxXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgMzAxIE1vdmVkIFBlcm1hbmVudGx5XHJcbkxvY2F0aW9uOiAvcmVkaXJlY3QyXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgMzAxIE1vdmVkIFBlcm1hbmVudGx5XHJcbkxvY2F0aW9uOiAvcmVkaXJlY3QzXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgMzAxIE1vdmVkIFBlcm1hbmVudGx5XHJcbkxvY2F0aW9uOiAvcmVkaXJlY3Q0XHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgMzAxIE1vdmVkIFBlcm1hbmVudGx5XHJcbkxvY2F0aW9uOiAvcmVkaXJlY3Q1XHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgMzAxIE1vdmVkIFBlcm1hbmVudGx5XHJcbkxvY2F0aW9uOiAvcmVkaXJlY3Q2XHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iCiAgICAgICAgKSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICAgICAkY2xpZW50LT5nZXQoJy9mb28nKS0+c2VuZCgpOwogICAgICAgICAgICAkdGhpcy0+ZmFpbCgnRGlkIG5vdCB0aHJvdyBleHBlY3RlZCBleGNlcHRpb24nKTsKICAgICAgICB9IGNhdGNoIChUb29NYW55UmVkaXJlY3RzRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygKICAgICAgICAgICAgICAgICI1IHJlZGlyZWN0cyB3ZXJlIGlzc3VlZCBmb3IgdGhpcyByZXF1ZXN0OlxuR0VUIC9mb28gSFRUUC8xLjFcclxuIiwKICAgICAgICAgICAgICAgICRlLT5nZXRNZXNzYWdlKCkKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZWZhdWx0QmVoYXZpb3JJc1RvUmVkaXJlY3RXaXRoR2V0Rm9yRW50aXR5RW5jbG9zaW5nUmVxdWVzdHMoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoCiAgICAgICAgICAgICJIVFRQLzEuMSAzMDEgTW92ZWQgUGVybWFuZW50bHlcclxuTG9jYXRpb246IC9yZWRpcmVjdFxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDMwMSBNb3ZlZCBQZXJtYW5lbnRseVxyXG5Mb2NhdGlvbjogL3JlZGlyZWN0XHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICkpOwoKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkY2xpZW50LT5wb3N0KCcvZm9vJywgYXJyYXkoJ1gtQmF6JyA9PiAnYmFyJyksICd0ZXN0aW5nJyktPnNlbmQoKTsKCiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BPU1QnLCAkcmVxdWVzdHNbMF0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdHRVQnLCAkcmVxdWVzdHNbMV0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXInLCAoc3RyaW5nKSAkcmVxdWVzdHNbMV0tPmdldEhlYWRlcignWC1CYXonKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnR0VUJywgJHJlcXVlc3RzWzJdLT5nZXRNZXRob2QoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5SZWRpcmVjdFdpdGhTdHJpY3RSZmNDb21wbGlhbmNlKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgMzAxIE1vdmVkIFBlcm1hbmVudGx5XHJcbkxvY2F0aW9uOiAvcmVkaXJlY3RcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIsCiAgICAgICAgICAgICJIVFRQLzEuMSAzMDEgTW92ZWQgUGVybWFuZW50bHlcclxuTG9jYXRpb246IC9yZWRpcmVjdFxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICApKTsKCiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wb3N0KCcvZm9vJywgYXJyYXkoJ1gtQmF6JyA9PiAnYmFyJyksICd0ZXN0aW5nJyk7CiAgICAgICAgJHJlcXVlc3QtPmdldFBhcmFtcygpLT5zZXQoUmVkaXJlY3RQbHVnaW46OlNUUklDVF9SRURJUkVDVFMsIHRydWUpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CgogICAgICAgICRyZXF1ZXN0cyA9ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cyh0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQT1NUJywgJHJlcXVlc3RzWzBdLT5nZXRNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUE9TVCcsICRyZXF1ZXN0c1sxXS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsIChzdHJpbmcpICRyZXF1ZXN0c1sxXS0+Z2V0SGVhZGVyKCdYLUJheicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQT1NUJywgJHJlcXVlc3RzWzJdLT5nZXRNZXRob2QoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZWRpcmVjdDMwM1dpdGhHZXQoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoCiAgICAgICAgICAgICAiSFRUUC8xLjEgMzAzIE1vdmVkIFBlcm1hbmVudGx5XHJcbkxvY2F0aW9uOiAvcmVkaXJlY3RcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIsCiAgICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICkpOwoKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnBvc3QoJy9mb28nKTsKICAgICAgICAkcmVxdWVzdC0+c2VuZCgpOwoKICAgICAgICAkcmVxdWVzdHMgPSAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHModHJ1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUE9TVCcsICRyZXF1ZXN0c1swXS0+Z2V0TWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0dFVCcsICRyZXF1ZXN0c1sxXS0+Z2V0TWV0aG9kKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVkaXJlY3QzMDNXaXRoR2V0V2l0aFN0cmljdFJmY0NvbXBsaWFuY2UoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoCiAgICAgICAgICAgICAiSFRUUC8xLjEgMzAzIE1vdmVkIFBlcm1hbmVudGx5XHJcbkxvY2F0aW9uOiAvcmVkaXJlY3RcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIsCiAgICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICkpOwoKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnBvc3QoJy9mb28nKTsKICAgICAgICAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPnNldChSZWRpcmVjdFBsdWdpbjo6U1RSSUNUX1JFRElSRUNUUywgdHJ1ZSk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKCiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BPU1QnLCAkcmVxdWVzdHNbMF0tPmdldE1ldGhvZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdHRVQnLCAkcmVxdWVzdHNbMV0tPmdldE1ldGhvZCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJld2luZHNTdHJlYW1XaGVuUmVkaXJlY3RpbmdJZk5lZWRlZCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZShhcnJheSgKICAgICAgICAgICAgIkhUVFAvMS4xIDMwMSBNb3ZlZCBQZXJtYW5lbnRseVxyXG5Mb2NhdGlvbjogL3JlZGlyZWN0XHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICkpOwoKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnB1dCgpOwogICAgICAgICRyZXF1ZXN0LT5jb25maWd1cmVSZWRpcmVjdHModHJ1ZSk7CiAgICAgICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KCdmb28nKTsKICAgICAgICAkYm9keS0+cmVhZCgxKTsKICAgICAgICAkcmVxdWVzdC0+c2V0Qm9keSgkYm9keSk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkcmVxdWVzdHMgPSAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHModHJ1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgKHN0cmluZykgJHJlcXVlc3RzWzBdLT5nZXRCb2R5KCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxHdXp6bGVcSHR0cFxFeGNlcHRpb25cQ291bGROb3RSZXdpbmRTdHJlYW1FeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25XaGVuU3RyZWFtQ2Fubm90QmVSZXdvdW5kKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAyXHJcblxyXG5oaSIsCiAgICAgICAgICAgICJIVFRQLzEuMSAzMDEgTW92ZWQgUGVybWFuZW50bHlcclxuTG9jYXRpb246IC9yZWRpcmVjdFxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIgogICAgICAgICkpOwoKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnB1dCgpOwogICAgICAgICRyZXF1ZXN0LT5jb25maWd1cmVSZWRpcmVjdHModHJ1ZSk7CiAgICAgICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KGZvcGVuKCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCksICdyJykpOwogICAgICAgICRib2R5LT5yZWFkKDEpOwogICAgICAgICRyZXF1ZXN0LT5zZXRCb2R5KCRib2R5KS0+c2VuZCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVkaXJlY3RzQ2FuQmVEaXNhYmxlZFBlclJlcXVlc3QoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoIkhUVFAvMS4xIDMwMSBGb29cclxuTG9jYXRpb246IC9mb29cclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIpKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnB1dCgpOwogICAgICAgICRyZXF1ZXN0LT5jb25maWd1cmVSZWRpcmVjdHMoZmFsc2UsIDApOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMzAxLCAkcmVxdWVzdC0+c2VuZCgpLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuUmVkaXJlY3RXaXRoTm9MZWFkaW5nU2xhc2hBbmRRdWVyeSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZShhcnJheSgKICAgICAgICAgICAgIkhUVFAvMS4xIDMwMSBNb3ZlZCBQZXJtYW5lbnRseVxyXG5Mb2NhdGlvbjogcmVkaXJlY3Q/Zm9vPWJhclxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICApKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnP2Zvbz1iYXInKTsKICAgICAgICAkcmVxdWVzdC0+c2VuZCgpOwogICAgICAgICRyZXF1ZXN0cyA9ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cyh0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkgLiAnP2Zvbz1iYXInLCAkcmVxdWVzdHNbMF0tPmdldFVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkgLiAncmVkaXJlY3Q/Zm9vPWJhcicsICRyZXF1ZXN0c1sxXS0+Z2V0VXJsKCkpOwogICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBoaXN0b3J5IG9uIHRoZSBhY3R1YWwgcmVxdWVzdCBpcyBjb3JyZWN0CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpIC4gJz9mb289YmFyJywgJHJlcXVlc3QtPmdldFVybCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlZGlyZWN0V2l0aFN0cmljdFJmYzM4NkNvbXBsaWFuY2UoKQogICAgewogICAgICAgIC8vIEZsdXNoIHRoZSBzZXJ2ZXIgYW5kIHF1ZXVlIHVwIGEgcmVkaXJlY3QgZm9sbG93ZWQgYnkgYSBzdWNjZXNzZnVsIHJlc3BvbnNlCiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZShhcnJheSgKICAgICAgICAgICAgIkhUVFAvMS4xIDMwMSBNb3ZlZCBQZXJtYW5lbnRseVxyXG5Mb2NhdGlvbjogcmVkaXJlY3RcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIsCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIKICAgICAgICApKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnL2ZvbycpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9yZWRpcmVjdCcsICRyZXF1ZXN0c1sxXS0+Z2V0UmVzb3VyY2UoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXNldHNIaXN0b3J5RWFjaFNlbmQoKQogICAgewogICAgICAgIC8vIEZsdXNoIHRoZSBzZXJ2ZXIgYW5kIHF1ZXVlIHVwIGEgcmVkaXJlY3QgZm9sbG93ZWQgYnkgYSBzdWNjZXNzZnVsIHJlc3BvbnNlCiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZShhcnJheSgKICAgICAgICAgICAgIkhUVFAvMS4xIDMwMSBNb3ZlZCBQZXJtYW5lbnRseVxyXG5Mb2NhdGlvbjogL3JlZGlyZWN0MVxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDMwMSBNb3ZlZCBQZXJtYW5lbnRseVxyXG5Mb2NhdGlvbjogL3JlZGlyZWN0MlxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIgogICAgICAgICkpOwoKICAgICAgICAvLyBDcmVhdGUgYSBjbGllbnQgdGhhdCB1c2VzIHRoZSBkZWZhdWx0IHJlZGlyZWN0IGJlaGF2aW9yCiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJGhpc3RvcnkgPSBuZXcgSGlzdG9yeVBsdWdpbigpOwogICAgICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIoJGhpc3RvcnkpOwoKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnL2ZvbycpOwogICAgICAgICRyZXNwb25zZSA9ICRyZXF1ZXN0LT5zZW5kKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCBjb3VudCgkaGlzdG9yeSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+aGFzS2V5KCdyZWRpcmVjdC5jb3VudCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJy9yZWRpcmVjdDInLCAkcmVzcG9uc2UtPmdldEVmZmVjdGl2ZVVybCgpKTsKCiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHJlcXVlc3QtPmdldFBhcmFtcygpLT5oYXNLZXkoJ3JlZGlyZWN0LmNvdW50JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFuZGxlc1JlZGlyZWN0c1dpdGhTcGFjZXNQcm9wZXJseSgpCiAgICB7CiAgICAgICAgLy8gRmx1c2ggdGhlIHNlcnZlciBhbmQgcXVldWUgdXAgYSByZWRpcmVjdCBmb2xsb3dlZCBieSBhIHN1Y2Nlc3NmdWwgcmVzcG9uc2UKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgMzAxIE1vdmVkIFBlcm1hbmVudGx5XHJcbkxvY2F0aW9uOiAvcmVkaXJlY3QgMVxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIgogICAgICAgICkpOwogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCcvZm9vJyk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkcmVxcyA9ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cyh0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvcmVkaXJlY3QlMjAxJywgJHJlcXNbMV0tPmdldFJlc291cmNlKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/server.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIEd1enpsZSBub2RlLmpzIHRlc3Qgc2VydmVyIHRvIHJldHVybiBxdWV1ZWQgcmVzcG9uc2VzIHRvIEhUVFAgcmVxdWVzdHMgYW5kCiAqIGV4cG9zZSBhIFJFU1RmdWwgQVBJIGZvciBlbnF1ZXVlaW5nIHJlc3BvbnNlcyBhbmQgcmV0cmlldmluZyB0aGUgcmVxdWVzdHMKICogdGhhdCBoYXZlIGJlZW4gcmVjZWl2ZWQuCiAqCiAqIC0gRGVsZXRlIGFsbCByZXF1ZXN0cyB0aGF0IGhhdmUgYmVlbiByZWNlaXZlZDoKICogICAgICBERUxFVEUgL2d1enpsZS1zZXJ2ZXIvcmVxdWVzdHMKICogICAgICBIb3N0OiAxMjcuMC4wLjE6ODEyNAogKgogKiAgLSBFbnF1ZXVlIHJlc3BvbnNlcwogKiAgICAgIFBVVCAvZ3V6emxlLXNlcnZlci9yZXNwb25zZXMKICogICAgICBIb3N0OiAxMjcuMC4wLjE6ODEyNAogKgogKiAgICAgIFt7ICJzdGF0dXNDb2RlIjogMjAwLCAicmVhc29uUGhyYXNlIjogIk9LIiwgImhlYWRlcnMiOiB7fSwgImJvZHkiOiAiIiB9XQogKgogKiAgLSBHZXQgdGhlIHJlY2VpdmVkIHJlcXVlc3RzCiAqICAgICAgR0VUIC9ndXp6bGUtc2VydmVyL3JlcXVlc3RzCiAqICAgICAgSG9zdDogMTI3LjAuMC4xOjgxMjQKICoKICogIC0gU2h1dGRvd24gdGhlIHNlcnZlcgogKiAgICAgIERFTEVURSAvZ3V6emxlLXNlcnZlcgogKiAgICAgIEhvc3Q6IDEyNy4wLjAuMTo4MTI0CiAqCiAqIEBwYWNrYWdlIEd1enpsZSBQSFAgPGh0dHA6Ly93d3cuZ3V6emxlcGhwLm9yZz4KICogQGxpY2Vuc2UgU2VlIHRoZSBMSUNFTlNFIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKi8KCnZhciBodHRwID0gcmVxdWlyZSgiaHR0cCIpOwoKLyoqCiAqIEd1enpsZSBub2RlLmpzIHNlcnZlcgogKiBAY2xhc3MKICovCnZhciBHdXp6bGVTZXJ2ZXIgPSBmdW5jdGlvbihwb3J0LCBsb2cpIHsKCiAgICB0aGlzLnBvcnQgPSBwb3J0OwogICAgdGhpcy5sb2cgPSBsb2c7CiAgICB0aGlzLnJlc3BvbnNlcyA9IFtdOwogICAgdGhpcy5yZXF1ZXN0cyA9IFtdOwogICAgdmFyIHRoYXQgPSB0aGlzOwoKICAgIHZhciBjb250cm9sUmVxdWVzdCA9IGZ1bmN0aW9uKHJlcXVlc3QsIHJlcSwgcmVzKSB7CiAgICAgICAgaWYgKHJlcS51cmwgPT0gJy9ndXp6bGUtc2VydmVyL3BlcmYnKSB7CiAgICAgICAgICAgIHJlcy53cml0ZUhlYWQoMjAwLCAiT0siLCB7IkNvbnRlbnQtTGVuZ3RoIjogMTZ9KTsKICAgICAgICAgICAgcmVzLmVuZCgiQm9keSBvZiByZXNwb25zZSIpOwogICAgICAgIH0gZWxzZSBpZiAocmVxLm1ldGhvZCA9PSAiREVMRVRFIikgewogICAgICAgICAgICBpZiAocmVxLnVybCA9PSAiL2d1enpsZS1zZXJ2ZXIvcmVxdWVzdHMiKSB7CiAgICAgICAgICAgICAgICAvLyBDbGVhciB0aGUgcmVjZWl2ZWQgcmVxdWVzdHMKICAgICAgICAgICAgICAgIHRoYXQucmVxdWVzdHMgPSBbXTsKICAgICAgICAgICAgICAgIHJlcy53cml0ZUhlYWQoMjAwLCAiT0siLCB7ICJDb250ZW50LUxlbmd0aCI6IDAgfSk7CiAgICAgICAgICAgICAgICByZXMuZW5kKCk7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygiRmx1c2hpbmcgcmVxdWVzdHMiKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChyZXEudXJsID09ICIvZ3V6emxlLXNlcnZlciIpIHsKICAgICAgICAgICAgICAgIC8vIFNodXRkb3duIHRoZSBzZXJ2ZXIKICAgICAgICAgICAgICAgIHJlcy53cml0ZUhlYWQoMjAwLCAiT0siLCB7ICJDb250ZW50LUxlbmd0aCI6IDAsICJDb25uZWN0aW9uIjogImNsb3NlIiB9KTsKICAgICAgICAgICAgICAgIHJlcy5lbmQoKTsKICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvZykgewogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJTaHV0dGluZyBkb3duIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB0aGF0LnNlcnZlci5jbG9zZSgpOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIGlmIChyZXEubWV0aG9kID09ICJHRVQiKSB7CiAgICAgICAgICAgIGlmIChyZXEudXJsID09PSAiL2d1enpsZS1zZXJ2ZXIvcmVxdWVzdHMiKSB7CiAgICAgICAgICAgICAgICAvLyBHZXQgcmVjZWl2ZWQgcmVxdWVzdHMKICAgICAgICAgICAgICAgIHZhciBkYXRhID0gdGhhdC5yZXF1ZXN0cy5qb2luKCJcbi0tLS1bcmVxdWVzdF1cbiIpOwogICAgICAgICAgICAgICAgcmVzLndyaXRlSGVhZCgyMDAsICJPSyIsIHsgIkNvbnRlbnQtTGVuZ3RoIjogZGF0YS5sZW5ndGggfSk7CiAgICAgICAgICAgICAgICByZXMuZW5kKGRhdGEpOwogICAgICAgICAgICAgICAgaWYgKHRoYXQubG9nKSB7CiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coIlNlbmRpbmcgcmVjZWl2aW5nIHJlcXVlc3RzIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKHJlcS5tZXRob2QgPT0gIlBVVCIpIHsKICAgICAgICAgICAgaWYgKHJlcS51cmwgPT0gIi9ndXp6bGUtc2VydmVyL3Jlc3BvbnNlcyIpIHsKICAgICAgICAgICAgICAgIGlmICh0aGF0LmxvZykgewogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJBZGRpbmcgcmVzcG9uc2VzLi4uIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLyBSZWNlaXZlZCByZXNwb25zZSB0byBxdWV1ZQogICAgICAgICAgICAgICAgdmFyIGRhdGEgPSByZXF1ZXN0LnNwbGl0KCJcclxuXHJcbiIpWzFdOwogICAgICAgICAgICAgICAgaWYgKCFkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQubG9nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJObyByZXNwb25zZSBkYXRhIHdhcyBwcm92aWRlZCIpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXMud3JpdGVIZWFkKDQwMCwgIk5PIFJFU1BPTlNFUyBJTiBSRVFVRVNUIiwgeyAiQ29udGVudC1MZW5ndGgiOiAwIH0pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB0aGF0LnJlc3BvbnNlcyA9IGV2YWwoIigiICsgZGF0YSArICIpIik7CiAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQubG9nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoYXQucmVzcG9uc2VzKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmVzLndyaXRlSGVhZCgyMDAsICJPSyIsIHsgIkNvbnRlbnQtTGVuZ3RoIjogMCB9KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJlcy5lbmQoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH07CgogICAgdmFyIHJlY2VpdmVkUmVxdWVzdCA9IGZ1bmN0aW9uKHJlcXVlc3QsIHJlcSwgcmVzKSB7CiAgICAgICAgaWYgKHJlcS51cmwuaW5kZXhPZigiL2d1enpsZS1zZXJ2ZXIiKSA9PT0gMCkgewogICAgICAgICAgICBjb250cm9sUmVxdWVzdChyZXF1ZXN0LCByZXEsIHJlcyk7CiAgICAgICAgfSBlbHNlIGlmIChyZXEudXJsLmluZGV4T2YoIi9ndXp6bGUtc2VydmVyIikgPT0gLTEgJiYgIXRoYXQucmVzcG9uc2VzLmxlbmd0aCkgewogICAgICAgICAgICByZXMud3JpdGVIZWFkKDUwMCk7CiAgICAgICAgICAgIHJlcy5lbmQoIk5vIHJlc3BvbnNlcyBpbiBxdWV1ZSIpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHZhciByZXNwb25zZSA9IHRoYXQucmVzcG9uc2VzLnNoaWZ0KCk7CiAgICAgICAgICAgIHJlcy53cml0ZUhlYWQocmVzcG9uc2Uuc3RhdHVzQ29kZSwgcmVzcG9uc2UucmVhc29uUGhyYXNlLCByZXNwb25zZS5oZWFkZXJzKTsKICAgICAgICAgICAgcmVzLmVuZChyZXNwb25zZS5ib2R5KTsKICAgICAgICAgICAgdGhhdC5yZXF1ZXN0cy5wdXNoKHJlcXVlc3QpOwogICAgICAgIH0KICAgIH07CgogICAgdGhpcy5zdGFydCA9IGZ1bmN0aW9uKCkgewoKICAgICAgICB0aGF0LnNlcnZlciA9IGh0dHAuY3JlYXRlU2VydmVyKGZ1bmN0aW9uKHJlcSwgcmVzKSB7CgogICAgICAgICAgICB2YXIgcmVxdWVzdCA9IHJlcS5tZXRob2QgKyAiICIgKyByZXEudXJsICsgIiBIVFRQLyIgKyByZXEuaHR0cFZlcnNpb24gKyAiXHJcbiI7CiAgICAgICAgICAgIGZvciAodmFyIGkgaW4gcmVxLmhlYWRlcnMpIHsKICAgICAgICAgICAgICAgIHJlcXVlc3QgKz0gaSArICI6ICIgKyByZXEuaGVhZGVyc1tpXSArICJcclxuIjsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXF1ZXN0ICs9ICJcclxuIjsKCiAgICAgICAgICAgIC8vIFJlY2VpdmUgZWFjaCBjaHVuayBvZiB0aGUgcmVxdWVzdCBib2R5CiAgICAgICAgICAgIHJlcS5hZGRMaXN0ZW5lcigiZGF0YSIsIGZ1bmN0aW9uKGNodW5rKSB7CiAgICAgICAgICAgICAgICByZXF1ZXN0ICs9IGNodW5rOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIENhbGxlZCB3aGVuIHRoZSByZXF1ZXN0IGNvbXBsZXRlcwogICAgICAgICAgICByZXEuYWRkTGlzdGVuZXIoImVuZCIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcmVjZWl2ZWRSZXF1ZXN0KHJlcXVlc3QsIHJlcSwgcmVzKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgICAgdGhhdC5zZXJ2ZXIubGlzdGVuKHBvcnQsICIxMjcuMC4wLjEiKTsKCiAgICAgICAgaWYgKHRoaXMubG9nKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCJTZXJ2ZXIgcnVubmluZyBhdCBodHRwOi8vMTI3LjAuMC4xOjgxMjQvIik7CiAgICAgICAgfQogICAgfTsKfTsKCi8vIEdldCB0aGUgcG9ydCBmcm9tIHRoZSBhcmd1bWVudHMKcG9ydCA9IHByb2Nlc3MuYXJndi5sZW5ndGggPj0gMyA/IHByb2Nlc3MuYXJndlsyXSA6IDgxMjQ7CmxvZyA9IHByb2Nlc3MuYXJndi5sZW5ndGggPj0gNCA/IHByb2Nlc3MuYXJndlszXSA6IGZhbHNlOwoKLy8gU3RhcnQgdGhlIHNlcnZlcgpzZXJ2ZXIgPSBuZXcgR3V6emxlU2VydmVyKHBvcnQsIGxvZyk7CnNlcnZlci5zdGFydCgpOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/Server.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cDsKCnVzZSBHdXp6bGVcSHR0cFxFeGNlcHRpb25cQmFkUmVzcG9uc2VFeGNlcHRpb247CnVzZSBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEZhY3Rvcnk7CnVzZSBHdXp6bGVcSHR0cFxDbGllbnQ7CgovKioKICogVGhlIFNlcnZlciBjbGFzcyBpcyB1c2VkIHRvIGNvbnRyb2wgYSBzY3JpcHRlZCB3ZWJzZXJ2ZXIgdXNpbmcgbm9kZS5qcyB0aGF0CiAqIHdpbGwgcmVzcG9uZCB0byBIVFRQIHJlcXVlc3RzIHdpdGggcXVldWVkIHJlc3BvbnNlcy4KICoKICogUXVldWVkIHJlc3BvbnNlcyB3aWxsIGJlIHNlcnZlZCB0byByZXF1ZXN0cyB1c2luZyBhIEZJRk8gb3JkZXIuICBBbGwgcmVxdWVzdHMKICogcmVjZWl2ZWQgYnkgdGhlIHNlcnZlciBhcmUgc3RvcmVkIG9uIHRoZSBub2RlLmpzIHNlcnZlciBhbmQgY2FuIGJlIHJldHJpZXZlZAogKiBieSBjYWxsaW5nIHtAc2VlIFNlcnZlcjo6Z2V0UmVjZWl2ZWRSZXF1ZXN0cygpfS4KICoKICogTW9jayByZXNwb25zZXMgdGhhdCBkb24ndCByZXF1aXJlIGRhdGEgdG8gYmUgdHJhbnNtaXR0ZWQgb3ZlciBIVFRQIGEgZ3JlYXQKICogZm9yIHRlc3RpbmcuICBNb2NrIHJlc3BvbnNlLCBob3dldmVyLCBjYW5ub3QgdGVzdCB0aGUgYWN0dWFsIHNlbmRpbmcgb2YgYW4KICogSFRUUCByZXF1ZXN0IHVzaW5nIGNVUkwuICBUaGlzIHRlc3Qgc2VydmVyIGFsbG93cyB0aGUgc2ltdWxhdGlvbiBvZiBhbnkKICogbnVtYmVyIG9mIEhUVFAgcmVxdWVzdCByZXNwb25zZSB0cmFuc2FjdGlvbnMgdG8gdGVzdCB0aGUgYWN0dWFsIHNlbmRpbmcgb2YKICogcmVxdWVzdHMgb3ZlciB0aGUgd2lyZSB3aXRob3V0IGhhdmluZyB0byBsZWF2ZSBhbiBpbnRlcm5hbCBuZXR3b3JrLgogKi8KY2xhc3MgU2VydmVyCnsKICAgIGNvbnN0IERFRkFVTFRfUE9SVCA9IDgxMjQ7CiAgICBjb25zdCBSRVFVRVNUX0RFTElNSVRFUiA9ICJcbi0tLS1bcmVxdWVzdF1cbiI7CgogICAgLyoqIEB2YXIgaW50IFBvcnQgdGhhdCB0aGUgc2VydmVyIHdpbGwgbGlzdGVuIG9uICovCiAgICBwcml2YXRlICRwb3J0OwoKICAgIC8qKiBAdmFyIGJvb2wgSXMgdGhlIHNlcnZlciBydW5uaW5nICovCiAgICBwcml2YXRlICRydW5uaW5nID0gZmFsc2U7CgogICAgLyoqIEB2YXIgQ2xpZW50ICovCiAgICBwcml2YXRlICRjbGllbnQ7CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBuZXcgc2NyaXB0ZWQgc2VydmVyCiAgICAgKgogICAgICogQHBhcmFtIGludCAkcG9ydCBQb3J0IHRvIGxpc3RlbiBvbiAoZGVmYXVsdHMgdG8gODEyNCkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRwb3J0ID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+cG9ydCA9ICRwb3J0ID86IHNlbGY6OkRFRkFVTFRfUE9SVDsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0VXJsKCkpOwogICAgICAgIHJlZ2lzdGVyX3NodXRkb3duX2Z1bmN0aW9uKGFycmF5KCR0aGlzLCAnc3RvcCcpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEZsdXNoIHRoZSByZWNlaXZlZCByZXF1ZXN0cyBmcm9tIHRoZSBzZXJ2ZXIKICAgICAqIEB0aHJvd3MgUnVudGltZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZmx1c2goKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQtPmRlbGV0ZSgnZ3V6emxlLXNlcnZlci9yZXF1ZXN0cycpLT5zZW5kKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBRdWV1ZSBhbiBhcnJheSBvZiByZXNwb25zZXMgb3IgYSBzaW5nbGUgcmVzcG9uc2Ugb24gdGhlIHNlcnZlci4KICAgICAqCiAgICAgKiBBbnkgY3VycmVudGx5IHF1ZXVlZCByZXNwb25zZXMgd2lsbCBiZSBvdmVyd3JpdHRlbi4gIFN1YnNlcXVlbnQgcmVxdWVzdHMKICAgICAqIG9uIHRoZSBzZXJ2ZXIgd2lsbCByZXR1cm4gcXVldWVkIHJlc3BvbnNlcyBpbiBGSUZPIG9yZGVyLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheXxSZXNwb25zZSAkcmVzcG9uc2VzIEEgc2luZ2xlIG9yIGFycmF5IG9mIFJlc3BvbnNlcyB0byBxdWV1ZQogICAgICogQHRocm93cyBCYWRSZXNwb25zZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZW5xdWV1ZSgkcmVzcG9uc2VzKQogICAgewogICAgICAgICRkYXRhID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgoYXJyYXkpICRyZXNwb25zZXMgYXMgJHJlc3BvbnNlKSB7CgogICAgICAgICAgICAvLyBDcmVhdGUgdGhlIHJlc3BvbnNlIG9iamVjdCBmcm9tIGEgc3RyaW5nCiAgICAgICAgICAgIGlmIChpc19zdHJpbmcoJHJlc3BvbnNlKSkgewogICAgICAgICAgICAgICAgJHJlc3BvbnNlID0gUmVzcG9uc2U6OmZyb21NZXNzYWdlKCRyZXNwb25zZSk7CiAgICAgICAgICAgIH0gZWxzZWlmICghKCRyZXNwb25zZSBpbnN0YW5jZW9mIFJlc3BvbnNlKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEJhZFJlc3BvbnNlRXhjZXB0aW9uKCdSZXNwb25zZXMgbXVzdCBiZSBzdHJpbmdzIG9yIGltcGxlbWVudCBSZXNwb25zZScpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkZGF0YVtdID0gYXJyYXkoCiAgICAgICAgICAgICAgICAnc3RhdHVzQ29kZScgICA9PiAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSwKICAgICAgICAgICAgICAgICdyZWFzb25QaHJhc2UnID0+ICRyZXNwb25zZS0+Z2V0UmVhc29uUGhyYXNlKCksCiAgICAgICAgICAgICAgICAnaGVhZGVycycgICAgICA9PiAkcmVzcG9uc2UtPmdldEhlYWRlcnMoKS0+dG9BcnJheSgpLAogICAgICAgICAgICAgICAgJ2JvZHknICAgICAgICAgPT4gJHJlc3BvbnNlLT5nZXRCb2R5KHRydWUpCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5jbGllbnQtPnB1dCgnZ3V6emxlLXNlcnZlci9yZXNwb25zZXMnLCBudWxsLCBqc29uX2VuY29kZSgkZGF0YSkpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiB0aGUgc2VydmVyIGlzIHJ1bm5pbmcKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzUnVubmluZygpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5ydW5uaW5nKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHRoaXMtPmNsaWVudC0+Z2V0KCdndXp6bGUtc2VydmVyL3BlcmYnLCBhcnJheSgpLCBhcnJheSgndGltZW91dCcgPT4gNSkpLT5zZW5kKCk7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+cnVubmluZyA9IHRydWU7CiAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBVUkwgdG8gdGhlIHNlcnZlcgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRVcmwoKQogICAgewogICAgICAgIHJldHVybiAnaHR0cDovLzEyNy4wLjAuMTonIC4gJHRoaXMtPmdldFBvcnQoKSAuICcvJzsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcG9ydCB0aGF0IHRoZSBzZXJ2ZXIgaXMgbGlzdGVuaW5nIG9uCiAgICAgKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBvcnQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cG9ydDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbGwgb2YgdGhlIHJlY2VpdmVkIHJlcXVlc3RzCiAgICAgKgogICAgICogQHBhcmFtIGJvb2wgJGh5ZHJhdGUgU2V0IHRvIFRSVUUgdG8gdHVybiB0aGUgbWVzc2FnZXMgaW50bwogICAgICogICAgICBhY3R1YWwge0BzZWUgUmVxdWVzdEludGVyZmFjZX0gb2JqZWN0cy4gIElmICRoeWRyYXRlIGlzIEZBTFNFLAogICAgICogICAgICByZXF1ZXN0cyB3aWxsIGJlIHJldHVybmVkIGFzIHN0cmluZ3MuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICogQHRocm93cyBSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZWNlaXZlZFJlcXVlc3RzKCRoeWRyYXRlID0gZmFsc2UpCiAgICB7CiAgICAgICAgJHJlc3BvbnNlID0gJHRoaXMtPmNsaWVudC0+Z2V0KCdndXp6bGUtc2VydmVyL3JlcXVlc3RzJyktPnNlbmQoKTsKICAgICAgICAkZGF0YSA9IGFycmF5X2ZpbHRlcihleHBsb2RlKHNlbGY6OlJFUVVFU1RfREVMSU1JVEVSLCAkcmVzcG9uc2UtPmdldEJvZHkodHJ1ZSkpKTsKICAgICAgICBpZiAoJGh5ZHJhdGUpIHsKICAgICAgICAgICAgJGRhdGEgPSBhcnJheV9tYXAoZnVuY3Rpb24oJG1lc3NhZ2UpIHsKICAgICAgICAgICAgICAgIHJldHVybiBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+ZnJvbU1lc3NhZ2UoJG1lc3NhZ2UpOwogICAgICAgICAgICB9LCAkZGF0YSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGRhdGE7CiAgICB9CgogICAgLyoqCiAgICAgKiBTdGFydCBydW5uaW5nIHRoZSBub2RlLmpzIHNlcnZlciBpbiB0aGUgYmFja2dyb3VuZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc3RhcnQoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPmlzUnVubmluZygpKSB7CiAgICAgICAgICAgIGV4ZWMoJ25vZGUgJyAuIF9fRElSX18gLiBcRElSRUNUT1JZX1NFUEFSQVRPUiAuICdzZXJ2ZXIuanMgJyAuICR0aGlzLT5wb3J0IC4gJyA+PiAvdG1wL3NlcnZlci5sb2cgMj4mMSAmJyk7CiAgICAgICAgICAgIC8vIFdhaXQgYXQgbW9zdCA1IHNlY29uZHMgZm9yIHRoZSBzZXJ2ZXIgdGhlIHNldHVwIGJlZm9yZSBwcm9jZWVkaW5nCiAgICAgICAgICAgICRzdGFydCA9IHRpbWUoKTsKICAgICAgICAgICAgd2hpbGUgKCEkdGhpcy0+aXNSdW5uaW5nKCkgJiYgdGltZSgpIC0gJHN0YXJ0IDwgNSk7CiAgICAgICAgICAgIGlmICghJHRoaXMtPnJ1bm5pbmcpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgICAgICdVbmFibGUgdG8gY29udGFjdCBzZXJ2ZXIuanMuIEhhdmUgeW91IGluc3RhbGxlZCBub2RlLmpzIHYwLjUuMCs/IG5vZGUgbXVzdCBiZSBpbiB5b3VyIHBhdGguJwogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFN0b3AgcnVubmluZyB0aGUgbm9kZS5qcyBzZXJ2ZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHN0b3AoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPmlzUnVubmluZygpKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5ydW5uaW5nID0gZmFsc2U7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+ZGVsZXRlKCdndXp6bGUtc2VydmVyJyktPnNlbmQoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/StaticClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXFJlZGlyZWN0OwoKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKdXNlIEd1enpsZVxIdHRwXFN0YXRpY0NsaWVudDsKdXNlIEd1enpsZVxQbHVnaW5cTW9ja1xNb2NrUGx1Z2luOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxTdHJlYW1cU3RyZWFtOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXEh0dHBcU3RhdGljQ2xpZW50CiAqLwpjbGFzcyBTdGF0aWNDbGllbnRUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE1vdW50c0NsaWVudCgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICBTdGF0aWNDbGllbnQ6Om1vdW50KCdGb29CYXpCYXInLCAkY2xpZW50KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZShjbGFzc19leGlzdHMoJ0Zvb0JhekJhcicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkY2xpZW50LCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgnR3V6emxlXEh0dHBcU3RhdGljQ2xpZW50JywgJ2NsaWVudCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVxdWVzdFByb3ZpZGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXlfbWFwKAogICAgICAgICAgICBmdW5jdGlvbiAoJG0pIHsgcmV0dXJuIGFycmF5KCRtKTsgfSwKICAgICAgICAgICAgYXJyYXkoJ0dFVCcsICdQT1NUJywgJ1BVVCcsICdERUxFVEUnLCAnUEFUQ0gnLCAnSEVBRCcsICdPUFRJT05TJykKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciByZXF1ZXN0UHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZW5kc1JlcXVlc3RzKCRtZXRob2QpCiAgICB7CiAgICAgICAgJG1vY2sgPSBuZXcgTW9ja1BsdWdpbihhcnJheShuZXcgUmVzcG9uc2UoMjAwKSkpOwogICAgICAgIGNhbGxfdXNlcl9mdW5jKCdHdXp6bGVcSHR0cFxTdGF0aWNDbGllbnQ6OicgLiAkbWV0aG9kLCAnaHR0cDovL2Zvby5jb20nLCBhcnJheSgKICAgICAgICAgICAgJ3BsdWdpbnMnID0+IGFycmF5KCRtb2NrKQogICAgICAgICkpOwogICAgICAgICRyZXF1ZXN0cyA9ICRtb2NrLT5nZXRSZWNlaXZlZFJlcXVlc3RzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvdW50KDEsICRyZXF1ZXN0cyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkbWV0aG9kLCAkcmVxdWVzdHNbMF0tPmdldE1ldGhvZCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNyZWF0ZVN0cmVhbXNVc2luZ0RlZmF1bHRGYWN0b3J5KCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogNFxyXG5cclxudGVzdCIpKTsKICAgICAgICAkc3RyZWFtID0gU3RhdGljQ2xpZW50OjpnZXQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSwgYXJyYXkoJ3N0cmVhbScgPT4gdHJ1ZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcU3RyZWFtXFN0cmVhbUludGVyZmFjZScsICRzdHJlYW0pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3QnLCAoc3RyaW5nKSAkc3RyZWFtKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNyZWF0ZVN0cmVhbXNVc2luZ0N1c3RvbUZhY3RvcnkoKQogICAgewogICAgICAgICRzdHJlYW0gPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTdHJlYW1cU3RyZWFtUmVxdWVzdEZhY3RvcnlJbnRlcmZhY2UnKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2Zyb21SZXF1ZXN0JykpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKICAgICAgICAkcmVzb3VyY2UgPSBuZXcgU3RyZWFtKGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3IrJykpOwogICAgICAgICRzdHJlYW0tPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2Zyb21SZXF1ZXN0JykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkcmVzb3VyY2UpKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogNFxyXG5cclxudGVzdCIpKTsKICAgICAgICAkcmVzdWx0ID0gU3RhdGljQ2xpZW50OjpnZXQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSwgYXJyYXkoJ3N0cmVhbScgPT4gJHN0cmVhbSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRyZXNvdXJjZSwgJHJlc3VsdCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Http/UrlTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSHR0cDsKCnVzZSBHdXp6bGVcSHR0cFxRdWVyeVN0cmluZzsKdXNlIEd1enpsZVxIdHRwXFVybDsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxIdHRwXFVybAogKi8KY2xhc3MgVXJsVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbXB0eVVybCgpCiAgICB7CiAgICAgICAgJHVybCA9IFVybDo6ZmFjdG9yeSgnJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnJywgKHN0cmluZykgJHVybCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQb3J0SXNEZXRlcm1pbmVkRnJvbVNjaGVtZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg4MCwgVXJsOjpmYWN0b3J5KCdodHRwOi8vd3d3LnRlc3QuY29tLycpLT5nZXRQb3J0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNDQzLCBVcmw6OmZhY3RvcnkoJ2h0dHBzOi8vd3d3LnRlc3QuY29tLycpLT5nZXRQb3J0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMobnVsbCwgVXJsOjpmYWN0b3J5KCdmdHA6Ly93d3cudGVzdC5jb20vJyktPmdldFBvcnQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg4MTkyLCBVcmw6OmZhY3RvcnkoJ2h0dHA6Ly93d3cudGVzdC5jb206ODE5Mi8nKS0+Z2V0UG9ydCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsb25lQ3JlYXRlc05ld0ludGVybmFsT2JqZWN0cygpCiAgICB7CiAgICAgICAgJHUxID0gVXJsOjpmYWN0b3J5KCdodHRwOi8vd3d3LnRlc3QuY29tLycpOwogICAgICAgICR1MiA9IGNsb25lICR1MTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90U2FtZSgkdTEtPmdldFF1ZXJ5KCksICR1Mi0+Z2V0UXVlcnkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNVcmxQYXJ0c0luRmFjdG9yeSgpCiAgICB7CiAgICAgICAgJHVybCA9IFVybDo6ZmFjdG9yeSgnL2luZGV4LnBocCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9pbmRleC5waHAnLCAoc3RyaW5nKSAkdXJsKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHVybC0+aXNBYnNvbHV0ZSgpKTsKCiAgICAgICAgJHVybCA9ICdodHRwOi8vbWljaGFlbDp0ZXN0QHRlc3QuY29tOjgwL3BhdGgvMTIzP3E9YWJjI3Rlc3QnOwogICAgICAgICR1ID0gVXJsOjpmYWN0b3J5KCR1cmwpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly9taWNoYWVsOnRlc3RAdGVzdC5jb20vcGF0aC8xMjM/cT1hYmMjdGVzdCcsIChzdHJpbmcpICR1KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdS0+aXNBYnNvbHV0ZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0ZhbHN5VXJsUGFydHMoKQogICAgewogICAgICAgICR1cmwgPSBVcmw6OmZhY3RvcnkoJ2h0dHA6Ly8wOjUwLzA/MCMwJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJzAnLCAkdXJsLT5nZXRIb3N0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNTAsICR1cmwtPmdldFBvcnQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJy8wJywgJHVybC0+Z2V0UGF0aCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcwJywgKHN0cmluZykgJHVybC0+Z2V0UXVlcnkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJzAnLCAkdXJsLT5nZXRGcmFnbWVudCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vMDo1MC8wPzAjMCcsIChzdHJpbmcpICR1cmwpOwoKICAgICAgICAkdXJsID0gVXJsOjpmYWN0b3J5KCcnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgnJywgKHN0cmluZykgJHVybCk7CgogICAgICAgICR1cmwgPSBVcmw6OmZhY3RvcnkoJzAnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgnMCcsIChzdHJpbmcpICR1cmwpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QnVpbGRzUmVsYXRpdmVVcmxzV2l0aEZhbHN5UGFydHMoKQogICAgewogICAgICAgICR1cmwgPSBVcmw6OmJ1aWxkVXJsKGFycmF5KAogICAgICAgICAgICAgICAgJ2hvc3QnID0+ICcwJywKICAgICAgICAgICAgICAgICdwYXRoJyA9PiAnMCcsCiAgICAgICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgnLy8wLzAnLCAkdXJsKTsKCiAgICAgICAgJHVybCA9IFVybDo6YnVpbGRVcmwoYXJyYXkoCiAgICAgICAgICAgICAgICAncGF0aCcgPT4gJzAnLAogICAgICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgnMCcsICR1cmwpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXJsU3RvcmVzUGFydHMoKQogICAgewogICAgICAgICR1cmwgPSBVcmw6OmZhY3RvcnkoJ2h0dHA6Ly90ZXN0OnBhc3NAd3d3LnRlc3QuY29tOjgwODEvcGF0aC9wYXRoMi8/YT0xJmI9MiNmcmFnbWVudCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHAnLCAkdXJsLT5nZXRTY2hlbWUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsICR1cmwtPmdldFVzZXJuYW1lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Bhc3MnLCAkdXJsLT5nZXRQYXNzd29yZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd3d3cudGVzdC5jb20nLCAkdXJsLT5nZXRIb3N0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoODA4MSwgJHVybC0+Z2V0UG9ydCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvcGF0aC9wYXRoMi8nLCAkdXJsLT5nZXRQYXRoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZyYWdtZW50JywgJHVybC0+Z2V0RnJhZ21lbnQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYT0xJmI9MicsIChzdHJpbmcpICR1cmwtPmdldFF1ZXJ5KCkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnZnJhZ21lbnQnID0+ICdmcmFnbWVudCcsCiAgICAgICAgICAgICdob3N0JyA9PiAnd3d3LnRlc3QuY29tJywKICAgICAgICAgICAgJ3Bhc3MnID0+ICdwYXNzJywKICAgICAgICAgICAgJ3BhdGgnID0+ICcvcGF0aC9wYXRoMi8nLAogICAgICAgICAgICAncG9ydCcgPT4gODA4MSwKICAgICAgICAgICAgJ3F1ZXJ5JyA9PiAnYT0xJmI9MicsCiAgICAgICAgICAgICdzY2hlbWUnID0+ICdodHRwJywKICAgICAgICAgICAgJ3VzZXInID0+ICd0ZXN0JwogICAgICAgICksICR1cmwtPmdldFBhcnRzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFuZGxlc1BhdGhzQ29ycmVjdGx5KCkKICAgIHsKICAgICAgICAkdXJsID0gVXJsOjpmYWN0b3J5KCdodHRwOi8vd3d3LnRlc3QuY29tJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnJywgJHVybC0+Z2V0UGF0aCgpKTsKICAgICAgICAkdXJsLT5zZXRQYXRoKCd0ZXN0Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsICR1cmwtPmdldFBhdGgoKSk7CgogICAgICAgICR1cmwtPnNldFBhdGgoJy90ZXN0LzEyMy9hYmMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCd0ZXN0JywgJzEyMycsICdhYmMnKSwgJHVybC0+Z2V0UGF0aFNlZ21lbnRzKCkpOwoKICAgICAgICAkcGFydHMgPSBwYXJzZV91cmwoJ2h0dHA6Ly93d3cudGVzdC5jb20vdGVzdCcpOwogICAgICAgICRwYXJ0c1sncGF0aCddID0gJyc7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovL3d3dy50ZXN0LmNvbScsIFVybDo6YnVpbGRVcmwoJHBhcnRzKSk7CiAgICAgICAgJHBhcnRzWydwYXRoJ10gPSAndGVzdCc7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovL3d3dy50ZXN0LmNvbS90ZXN0JywgVXJsOjpidWlsZFVybCgkcGFydHMpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNRdWVyeVN0cmluZ0lmUHJlc2VudCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnP2Zvbz1iYXInLCBVcmw6OmJ1aWxkVXJsKGFycmF5KAogICAgICAgICAgICAncXVlcnknID0+ICdmb289YmFyJwogICAgICAgICkpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNUb1BhdGgoKQogICAgewogICAgICAgIC8vIERvZXMgbm90aGluZyBoZXJlCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovL2UuY29tL2Jhc2U/YT0xJywgKHN0cmluZykgVXJsOjpmYWN0b3J5KCdodHRwOi8vZS5jb20vYmFzZT9hPTEnKS0+YWRkUGF0aChmYWxzZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly9lLmNvbS9iYXNlP2E9MScsIChzdHJpbmcpIFVybDo6ZmFjdG9yeSgnaHR0cDovL2UuY29tL2Jhc2U/YT0xJyktPmFkZFBhdGgoJycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vZS5jb20vYmFzZT9hPTEnLCAoc3RyaW5nKSBVcmw6OmZhY3RvcnkoJ2h0dHA6Ly9lLmNvbS9iYXNlP2E9MScpLT5hZGRQYXRoKCcvJykpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vZS5jb20vYmFzZS9yZWxhdGl2ZT9hPTEnLCAoc3RyaW5nKSBVcmw6OmZhY3RvcnkoJ2h0dHA6Ly9lLmNvbS9iYXNlP2E9MScpLT5hZGRQYXRoKCdyZWxhdGl2ZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vZS5jb20vYmFzZS9yZWxhdGl2ZT9hPTEnLCAoc3RyaW5nKSBVcmw6OmZhY3RvcnkoJ2h0dHA6Ly9lLmNvbS9iYXNlP2E9MScpLT5hZGRQYXRoKCcvcmVsYXRpdmUnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBVUkwgY29tYmluYXRpb24gZGF0YSBwcm92aWRlcgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVybENvbWJpbmVEYXRhUHJvdmlkZXIoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vJyksCiAgICAgICAgICAgIGFycmF5KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tL3BhdGgnLCAnL2Fic29sdXRlJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vYWJzb2x1dGUnKSwKICAgICAgICAgICAgYXJyYXkoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vcGF0aCcsICcvYWJzb2x1dGU/cT0yJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vYWJzb2x1dGU/cT0yJyksCiAgICAgICAgICAgIGFycmF5KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tL3BhdGgnLCAnbW9yZScsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tL3BhdGgvbW9yZScpLAogICAgICAgICAgICBhcnJheSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbS9wYXRoJywgJ21vcmU/cT0xJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vcGF0aC9tb3JlP3E9MScpLAogICAgICAgICAgICBhcnJheSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbS8nLCAnP3E9MScsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tLz9xPTEnKSwKICAgICAgICAgICAgYXJyYXkoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vcGF0aCcsICdodHRwOi8vdGVzdC5jb20nLCAnaHR0cDovL3Rlc3QuY29tJyksCiAgICAgICAgICAgIGFycmF5KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tOjgwODAvcGF0aCcsICdodHRwOi8vdGVzdC5jb20nLCAnaHR0cDovL3Rlc3QuY29tJyksCiAgICAgICAgICAgIGFycmF5KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tOjgwODAvcGF0aCcsICc/cT0yI2FiYycsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tOjgwODAvcGF0aD9xPTIjYWJjJyksCiAgICAgICAgICAgIGFycmF5KCdodHRwOi8vdTphQHd3dy5leGFtcGxlLmNvbS9wYXRoJywgJ3Rlc3QnLCAnaHR0cDovL3U6YUB3d3cuZXhhbXBsZS5jb20vcGF0aC90ZXN0JyksCiAgICAgICAgICAgIGFycmF5KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tL3BhdGgnLCAnaHR0cDovL3U6YUB3d3cuZXhhbXBsZS5jb20vJywgJ2h0dHA6Ly91OmFAd3d3LmV4YW1wbGUuY29tLycpLAogICAgICAgICAgICBhcnJheSgnL3BhdGg/cT0yJywgJ2h0dHA6Ly93d3cudGVzdC5jb20vJywgJ2h0dHA6Ly93d3cudGVzdC5jb20vcGF0aD9xPTInKSwKICAgICAgICAgICAgYXJyYXkoJ2h0dHA6Ly9hcGkuZmxpY2tyLmNvbS9zZXJ2aWNlcy8nLCAnaHR0cDovL3d3dy5mbGlja3IuY29tL3NlcnZpY2VzL29hdXRoL2FjY2Vzc190b2tlbicsICdodHRwOi8vd3d3LmZsaWNrci5jb20vc2VydmljZXMvb2F1dGgvYWNjZXNzX3Rva2VuJyksCiAgICAgICAgICAgIGFycmF5KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tLz9mb289YmFyJywgJ3NvbWUvcGF0aCcsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tL3NvbWUvcGF0aD9mb289YmFyJyksCiAgICAgICAgICAgIGFycmF5KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tLz9mb289YmFyJywgJ3NvbWUvcGF0aD9ib289bW9vJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vc29tZS9wYXRoP2Jvbz1tb28mZm9vPWJhcicpLAogICAgICAgICAgICBhcnJheSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbS9zb21lLycsICdwYXRoP2Zvbz1iYXImZm9vPWJheicsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tL3NvbWUvcGF0aD9mb289YmFyJmZvbz1iYXonKSwKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciB1cmxDb21iaW5lRGF0YVByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29tYmluZXNVcmxzKCRhLCAkYiwgJGMpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkYywgKHN0cmluZykgVXJsOjpmYWN0b3J5KCRhKS0+Y29tYmluZSgkYikpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzR2V0dGVyc0FuZFNldHRlcnMoKQogICAgewogICAgICAgICR1cmwgPSBVcmw6OmZhY3RvcnkoJ2h0dHA6Ly93d3cudGVzdC5jb20vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZXhhbXBsZS5jb20nLCAkdXJsLT5zZXRIb3N0KCdleGFtcGxlLmNvbScpLT5nZXRIb3N0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzgwODAnLCAkdXJsLT5zZXRQb3J0KDgwODApLT5nZXRQb3J0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9mb28vYmFyJywgJHVybC0+c2V0UGF0aChhcnJheSgnZm9vJywgJ2JhcicpKS0+Z2V0UGF0aCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhJywgJHVybC0+c2V0UGFzc3dvcmQoJ2EnKS0+Z2V0UGFzc3dvcmQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYicsICR1cmwtPnNldFVzZXJuYW1lKCdiJyktPmdldFVzZXJuYW1lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FiYycsICR1cmwtPnNldEZyYWdtZW50KCdhYmMnKS0+Z2V0RnJhZ21lbnQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHMnLCAkdXJsLT5zZXRTY2hlbWUoJ2h0dHBzJyktPmdldFNjaGVtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhPTEyMycsIChzdHJpbmcpICR1cmwtPnNldFF1ZXJ5KCdhPTEyMycpLT5nZXRRdWVyeSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwczovL2I6YUBleGFtcGxlLmNvbTo4MDgwL2Zvby9iYXI/YT0xMjMjYWJjJywgKHN0cmluZykgJHVybCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYj1ib28nLCAoc3RyaW5nKSAkdXJsLT5zZXRRdWVyeShuZXcgUXVlcnlTdHJpbmcoYXJyYXkoCiAgICAgICAgICAgICdiJyA9PiAnYm9vJwogICAgICAgICkpKS0+Z2V0UXVlcnkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cHM6Ly9iOmFAZXhhbXBsZS5jb206ODA4MC9mb28vYmFyP2I9Ym9vI2FiYycsIChzdHJpbmcpICR1cmwpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2V0UXVlcnlBY2NlcHRzQXJyYXkoKQogICAgewogICAgICAgICR1cmwgPSBVcmw6OmZhY3RvcnkoJ2h0dHA6Ly93d3cudGVzdC5jb20nKTsKICAgICAgICAkdXJsLT5zZXRRdWVyeShhcnJheSgnYScgPT4gJ2InKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovL3d3dy50ZXN0LmNvbT9hPWInLCAoc3RyaW5nKSAkdXJsKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdXJsUHJvdmlkZXIoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoJy9mb28vLi4nLCAnLycpLAogICAgICAgICAgICBhcnJheSgnLy9mb28vLy4uJywgJy8nKSwKICAgICAgICAgICAgYXJyYXkoJy9mb28vLi4vLi4nLCAnLycpLAogICAgICAgICAgICBhcnJheSgnL2Zvby8uLi8uJywgJy8nKSwKICAgICAgICAgICAgYXJyYXkoJy8uL2Zvby8uLicsICcvJyksCiAgICAgICAgICAgIGFycmF5KCcvLi9mb28nLCAnL2ZvbycpLAogICAgICAgICAgICBhcnJheSgnLy4vZm9vLycsICcvZm9vLycpLAogICAgICAgICAgICBhcnJheSgnLy4vZm9vL2Jhci9iYXovcGhvLy4uLy4uJywgJy9mb28vYmFyJyksCiAgICAgICAgICAgIGFycmF5KCcqJywgJyonKSwKICAgICAgICAgICAgYXJyYXkoJy9mb28nLCAnL2ZvbycpLAogICAgICAgICAgICBhcnJheSgnL2FiYy8xMjMvLi4vZm9vLycsICcvYWJjL2Zvby8nKSwKICAgICAgICAgICAgYXJyYXkoJy9hL2IvYy8uLy4uLy4uL2cnLCAnL2EvZycpLAogICAgICAgICAgICBhcnJheSgnL2IvYy8uLy4uLy4uL2cnLCAnL2cnKSwKICAgICAgICAgICAgYXJyYXkoJy9iL2MvLi8uLi8uLi9nJywgJy9nJyksCiAgICAgICAgICAgIGFycmF5KCcvYy8uLy4uLy4uL2cnLCAnL2cnKSwKICAgICAgICAgICAgYXJyYXkoJy8uLy4uLy4uL2cnLCAnL2cnKSwKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciB1cmxQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE5vcm1hbGl6ZXNQYXRocygkcGF0aCwgJHJlc3VsdCkKICAgIHsKICAgICAgICAkdXJsID0gVXJsOjpmYWN0b3J5KCdodHRwOi8vd3d3LmV4YW1wbGUuY29tLycpOwogICAgICAgICR1cmwtPnNldFBhdGgoJHBhdGgpLT5ub3JtYWxpemVQYXRoKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcmVzdWx0LCAkdXJsLT5nZXRQYXRoKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2V0dGluZ0hvc3RXaXRoUG9ydE1vZGlmaWVzUG9ydCgpCiAgICB7CiAgICAgICAgJHVybCA9IFVybDo6ZmFjdG9yeSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbScpOwogICAgICAgICR1cmwtPnNldEhvc3QoJ2Zvbzo4OTgzJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJHVybC0+Z2V0SG9zdCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDg5ODMsICR1cmwtPmdldFBvcnQoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZhbGlkYXRlc1VybENhbkJlUGFyc2VkKCkKICAgIHsKICAgICAgICBVcmw6OmZhY3RvcnkoJ2ZvbzovLy8vJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb252ZXJ0c1NwZWNpYWxDaGFyc0luUGF0aFdoZW5DYXN0aW5nVG9TdHJpbmcoKQogICAgewogICAgICAgICR1cmwgPSBVcmw6OmZhY3RvcnkoJ2h0dHA6Ly9mb28uY29tL2JheiBiYXI/YT1iJyk7CiAgICAgICAgJHVybC0+YWRkUGF0aCgnPycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly9mb28uY29tL2JheiUyMGJhci8lM0Y/YT1iJywgKHN0cmluZykgJHVybCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAbGluayBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tNS40LjEKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJmYzM5ODZVcmxQcm92aWRlcigpCiAgICB7CiAgICAgICAgJHJlc3VsdCA9IGFycmF5KAogICAgICAgICAgICBhcnJheSgnZycsICdodHRwOi8vYS9iL2MvZycpLAogICAgICAgICAgICBhcnJheSgnLi9nJywgJ2h0dHA6Ly9hL2IvYy9nJyksCiAgICAgICAgICAgIGFycmF5KCdnLycsICdodHRwOi8vYS9iL2MvZy8nKSwKICAgICAgICAgICAgYXJyYXkoJy9nJywgJ2h0dHA6Ly9hL2cnKSwKICAgICAgICAgICAgYXJyYXkoJz95JywgJ2h0dHA6Ly9hL2IvYy9kO3A/eScpLAogICAgICAgICAgICBhcnJheSgnZz95JywgJ2h0dHA6Ly9hL2IvYy9nP3knKSwKICAgICAgICAgICAgYXJyYXkoJyNzJywgJ2h0dHA6Ly9hL2IvYy9kO3A/cSNzJyksCiAgICAgICAgICAgIGFycmF5KCdnI3MnLCAnaHR0cDovL2EvYi9jL2cjcycpLAogICAgICAgICAgICBhcnJheSgnZz95I3MnLCAnaHR0cDovL2EvYi9jL2c/eSNzJyksCiAgICAgICAgICAgIGFycmF5KCc7eCcsICdodHRwOi8vYS9iL2MvO3gnKSwKICAgICAgICAgICAgYXJyYXkoJ2c7eCcsICdodHRwOi8vYS9iL2MvZzt4JyksCiAgICAgICAgICAgIGFycmF5KCdnO3g/eSNzJywgJ2h0dHA6Ly9hL2IvYy9nO3g/eSNzJyksCiAgICAgICAgICAgIGFycmF5KCcnLCAnaHR0cDovL2EvYi9jL2Q7cD9xJyksCiAgICAgICAgICAgIGFycmF5KCcuJywgJ2h0dHA6Ly9hL2IvYycpLAogICAgICAgICAgICBhcnJheSgnLi8nLCAnaHR0cDovL2EvYi9jLycpLAogICAgICAgICAgICBhcnJheSgnLi4nLCAnaHR0cDovL2EvYicpLAogICAgICAgICAgICBhcnJheSgnLi4vJywgJ2h0dHA6Ly9hL2IvJyksCiAgICAgICAgICAgIGFycmF5KCcuLi9nJywgJ2h0dHA6Ly9hL2IvZycpLAogICAgICAgICAgICBhcnJheSgnLi4vLi4nLCAnaHR0cDovL2EvJyksCiAgICAgICAgICAgIGFycmF5KCcuLi8uLi8nLCAnaHR0cDovL2EvJyksCiAgICAgICAgICAgIGFycmF5KCcuLi8uLi9nJywgJ2h0dHA6Ly9hL2cnKQogICAgICAgICk7CgogICAgICAgIC8vIFRoaXMgc3VwcG9ydCB3YXMgYWRkZWQgaW4gUEhQIDUuNC43OiBodHRwczovL2J1Z3MucGhwLm5ldC9idWcucGhwP2lkPTYyODQ0CiAgICAgICAgaWYgKHZlcnNpb25fY29tcGFyZShQSFBfVkVSU0lPTiwgJzUuNC43JywgJz49JykpIHsKICAgICAgICAgICAgJHJlc3VsdFtdID0gYXJyYXkoJy8vZycsICdodHRwOi8vZycpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIHJmYzM5ODZVcmxQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbWJpbmVzVXJsc1VzaW5nUmZjMzk4NigkcmVsYXRpdmUsICRyZXN1bHQpCiAgICB7CiAgICAgICAgJGEgPSBVcmw6OmZhY3RvcnkoJ2h0dHA6Ly9hL2IvYy9kO3A/cScpOwogICAgICAgICRiID0gVXJsOjpmYWN0b3J5KCRyZWxhdGl2ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcmVzdWx0LCB0cmltKChzdHJpbmcpICRhLT5jb21iaW5lKCRiLCB0cnVlKSwgJz0nKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Inflection/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Inflection/InflectorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSW5mbGVjdGlvbjsKCnVzZSBHdXp6bGVcSW5mbGVjdGlvblxJbmZsZWN0b3I7CgovKioKICogQGNvdmVycyBHdXp6bGVcSW5mbGVjdGlvblxJbmZsZWN0b3IKICovCmNsYXNzIEluZmxlY3RvclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc0RlZmF1bHRJbnN0YW5jZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoSW5mbGVjdG9yOjpnZXREZWZhdWx0KCksIEluZmxlY3Rvcjo6Z2V0RGVmYXVsdCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNuYWtlKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdjYW1lbF9jYXNlJywgSW5mbGVjdG9yOjpnZXREZWZhdWx0KCktPnNuYWtlKCdjYW1lbENhc2UnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnY2FtZWxfY2FzZScsIEluZmxlY3Rvcjo6Z2V0RGVmYXVsdCgpLT5zbmFrZSgnQ2FtZWxDYXNlJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2NhbWVsX2Nhc2Vfd29yZHMnLCBJbmZsZWN0b3I6OmdldERlZmF1bHQoKS0+c25ha2UoJ0NhbWVsQ2FzZVdvcmRzJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2NhbWVsX2Nhc2Vfd29yZHMnLCBJbmZsZWN0b3I6OmdldERlZmF1bHQoKS0+c25ha2UoJ0NhbWVsQ2FzZV93b3JkcycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgSW5mbGVjdG9yOjpnZXREZWZhdWx0KCktPnNuYWtlKCd0ZXN0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3QnLCBJbmZsZWN0b3I6OmdldERlZmF1bHQoKS0+c25ha2UoJ3Rlc3QnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZXhwZWN0MTAwX2NvbnRpbnVlJywgSW5mbGVjdG9yOjpnZXREZWZhdWx0KCktPnNuYWtlKCdFeHBlY3QxMDBDb250aW51ZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbWVsKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdDYW1lbENhc2UnLCBJbmZsZWN0b3I6OmdldERlZmF1bHQoKS0+Y2FtZWwoJ2NhbWVsX2Nhc2UnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQ2FtZWxDYXNlV29yZHMnLCBJbmZsZWN0b3I6OmdldERlZmF1bHQoKS0+Y2FtZWwoJ2NhbWVsX2Nhc2Vfd29yZHMnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnVGVzdCcsIEluZmxlY3Rvcjo6Z2V0RGVmYXVsdCgpLT5jYW1lbCgndGVzdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdFeHBlY3QxMDBDb250aW51ZScsIHVjZmlyc3QoSW5mbGVjdG9yOjpnZXREZWZhdWx0KCktPmNhbWVsKCdleHBlY3QxMDBfY29udGludWUnKSkpOwogICAgICAgIC8vIEdldCBmcm9tIGNhY2hlCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnVGVzdCcsIEluZmxlY3Rvcjo6Z2V0RGVmYXVsdCgpLT5jYW1lbCgndGVzdCcsIGZhbHNlKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Inflection/MemoizingInflectorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSW5mbGVjdGlvbjsKCnVzZSBHdXp6bGVcSW5mbGVjdGlvblxNZW1vaXppbmdJbmZsZWN0b3I7CnVzZSBHdXp6bGVcSW5mbGVjdGlvblxJbmZsZWN0b3I7CgovKioKICogQGNvdmVycyBHdXp6bGVcSW5mbGVjdGlvblxNZW1vaXppbmdJbmZsZWN0b3IKICovCmNsYXNzIE1lbW9pemluZ0luZmxlY3RvclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXNlc0NhY2hlKCkKICAgIHsKICAgICAgICAkbW9jayA9ICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcSW5mbGVjdGlvblxJbmZsZWN0b3InLCBhcnJheSgnc25ha2UnLCAnY2FtZWwnKSk7CiAgICAgICAgJG1vY2stPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSktPm1ldGhvZCgnc25ha2UnKS0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJ2Zvb19iYXInKSk7CiAgICAgICAgJG1vY2stPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSktPm1ldGhvZCgnY2FtZWwnKS0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJ0Zvb0JhcicpKTsKCiAgICAgICAgJGluZmxlY3RvciA9IG5ldyBNZW1vaXppbmdJbmZsZWN0b3IoJG1vY2spOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2Zvb19iYXInLCAkaW5mbGVjdG9yLT5zbmFrZSgnRm9vQmFyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2Zvb19iYXInLCAkaW5mbGVjdG9yLT5zbmFrZSgnRm9vQmFyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0Zvb0JhcicsICRpbmZsZWN0b3ItPmNhbWVsKCdmb29fYmFyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0Zvb0JhcicsICRpbmZsZWN0b3ItPmNhbWVsKCdmb29fYmFyJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UHJvdGVjdHNBZ2FpbnN0Q2FjaGVPdmVyZmxvdygpCiAgICB7CiAgICAgICAgJGluZmxlY3RvciA9IG5ldyBNZW1vaXppbmdJbmZsZWN0b3IobmV3IEluZmxlY3RvcigpLCAxMCk7CiAgICAgICAgZm9yICgkaSA9IDE7ICRpIDwgMTE7ICRpKyspIHsKICAgICAgICAgICAgJGluZmxlY3Rvci0+Y2FtZWwoJ2Zvb18nIC4gJGkpOwogICAgICAgICAgICAkaW5mbGVjdG9yLT5zbmFrZSgnRm9vJyAuICRpKTsKICAgICAgICB9CgogICAgICAgICRjYWNoZSA9ICR0aGlzLT5yZWFkQXR0cmlidXRlKCRpbmZsZWN0b3IsICdjYWNoZScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTAsIGNvdW50KCRjYWNoZVsnc25ha2UnXSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTAsIGNvdW50KCRjYWNoZVsnY2FtZWwnXSkpOwoKICAgICAgICAkaW5mbGVjdG9yLT5jYW1lbCgnYmF6IScpOwogICAgICAgICRpbmZsZWN0b3ItPnNuYWtlKCdiYXohJyk7CgogICAgICAgIC8vIE5vdyBlbnN1cmUgdGhhdCAyMCUgb2YgdGhlIGNhY2hlIHdhcyByZW1vdmVkICgyKSwgdGhlbiB0aGUgaXRlbSB3YXMgYWRkZWQKICAgICAgICAkY2FjaGUgPSAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkaW5mbGVjdG9yLCAnY2FjaGUnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDksIGNvdW50KCRjYWNoZVsnc25ha2UnXSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoOSwgY291bnQoJGNhY2hlWydjYW1lbCddKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Inflection/PreComputedInflectorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSW5mbGVjdGlvbjsKCnVzZSBHdXp6bGVcSW5mbGVjdGlvblxQcmVDb21wdXRlZEluZmxlY3RvcjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxJbmZsZWN0aW9uXFByZUNvbXB1dGVkSW5mbGVjdG9yCiAqLwpjbGFzcyBQcmVDb21wdXRlZEluZmxlY3RvclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXNlc1ByZUNvbXB1dGVkSGFzaCgpCiAgICB7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+Z2V0TW9jaygnR3V6emxlXEluZmxlY3Rpb25cSW5mbGVjdG9yJywgYXJyYXkoJ3NuYWtlJywgJ2NhbWVsJykpOwogICAgICAgICRtb2NrLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpLT5tZXRob2QoJ3NuYWtlJyktPndpdGgoJ1Rlc3QnKS0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJ3Rlc3QnKSk7CiAgICAgICAgJG1vY2stPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSktPm1ldGhvZCgnY2FtZWwnKS0+d2l0aCgnVGVzdCcpLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgnVGVzdCcpKTsKICAgICAgICAkaW5mbGVjdG9yID0gbmV3IFByZUNvbXB1dGVkSW5mbGVjdG9yKCRtb2NrLCBhcnJheSgnRm9vQmFyJyA9PiAnZm9vX2JhcicpLCBhcnJheSgnZm9vX2JhcicgPT4gJ0Zvb0JhcicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdGb29CYXInLCAkaW5mbGVjdG9yLT5jYW1lbCgnZm9vX2JhcicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb29fYmFyJywgJGluZmxlY3Rvci0+c25ha2UoJ0Zvb0JhcicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdUZXN0JywgJGluZmxlY3Rvci0+Y2FtZWwoJ1Rlc3QnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsICRpbmZsZWN0b3ItPnNuYWtlKCdUZXN0JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TWlycm9yc1ByZWNvbXB1dGVkVmFsdWVzKCkKICAgIHsKICAgICAgICAkbW9jayA9ICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcSW5mbGVjdGlvblxJbmZsZWN0b3InLCBhcnJheSgnc25ha2UnLCAnY2FtZWwnKSk7CiAgICAgICAgJG1vY2stPmV4cGVjdHMoJHRoaXMtPm5ldmVyKCkpLT5tZXRob2QoJ3NuYWtlJyk7CiAgICAgICAgJG1vY2stPmV4cGVjdHMoJHRoaXMtPm5ldmVyKCkpLT5tZXRob2QoJ2NhbWVsJyk7CiAgICAgICAgJGluZmxlY3RvciA9IG5ldyBQcmVDb21wdXRlZEluZmxlY3RvcigkbW9jaywgYXJyYXkoJ1plZXAnID0+ICd6ZWVwJyksIGFycmF5KCksIHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1plZXAnLCAkaW5mbGVjdG9yLT5jYW1lbCgnemVlcCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd6ZWVwJywgJGluZmxlY3Rvci0+c25ha2UoJ1plZXAnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RNaXJyb3JzUHJlY29tcHV0ZWRWYWx1ZXNCeU1lcmdpbmcoKQogICAgewogICAgICAgICRtb2NrID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxJbmZsZWN0aW9uXEluZmxlY3RvcicsIGFycmF5KCdzbmFrZScsICdjYW1lbCcpKTsKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+bmV2ZXIoKSktPm1ldGhvZCgnc25ha2UnKTsKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+bmV2ZXIoKSktPm1ldGhvZCgnY2FtZWwnKTsKICAgICAgICAkaW5mbGVjdG9yID0gbmV3IFByZUNvbXB1dGVkSW5mbGVjdG9yKCRtb2NrLCBhcnJheSgnWmVlcCcgPT4gJ3plZXAnKSwgYXJyYXkoJ2ZvbycgPT4gJ0ZvbycpLCB0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdaZWVwJywgJGluZmxlY3Rvci0+Y2FtZWwoJ3plZXAnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnemVlcCcsICRpbmZsZWN0b3ItPnNuYWtlKCdaZWVwJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0ZvbycsICRpbmZsZWN0b3ItPmNhbWVsKCdmb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJGluZmxlY3Rvci0+c25ha2UoJ0ZvbycpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Iterator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Iterator/AppendIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSXRlcmF0b3I7Cgp1c2UgR3V6emxlXEl0ZXJhdG9yXEFwcGVuZEl0ZXJhdG9yOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXEl0ZXJhdG9yXEFwcGVuZEl0ZXJhdG9yCiAqLwpjbGFzcyBBcHBlbmRJdGVyYXRvclRlc3QgZXh0ZW5kcyBcUEhQVW5pdF9GcmFtZXdvcmtfVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUcmF2ZXJzZXNJdGVyYXRvcnNJbk9yZGVyKCkKICAgIHsKICAgICAgICAkYSA9IG5ldyBcQXJyYXlJdGVyYXRvcihhcnJheSgKICAgICAgICAgICAgJ2EnID0+IDEsCiAgICAgICAgICAgICdiJyA9PiAyCiAgICAgICAgKSk7CiAgICAgICAgJGIgPSBuZXcgXEFycmF5SXRlcmF0b3IoYXJyYXkoKSk7CiAgICAgICAgJGMgPSBuZXcgXEFycmF5SXRlcmF0b3IoYXJyYXkoCiAgICAgICAgICAgICdjJyA9PiAzLAogICAgICAgICAgICAnZCcgPT4gNAogICAgICAgICkpOwogICAgICAgICRpID0gbmV3IEFwcGVuZEl0ZXJhdG9yKCk7CiAgICAgICAgJGktPmFwcGVuZCgkYSk7CiAgICAgICAgJGktPmFwcGVuZCgkYik7CiAgICAgICAgJGktPmFwcGVuZCgkYyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgxLCAyLCAzLCA0KSwgaXRlcmF0b3JfdG9fYXJyYXkoJGksIGZhbHNlKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Iterator/ChunkedIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSXRlcmF0b3I7Cgp1c2UgR3V6emxlXEl0ZXJhdG9yXENodW5rZWRJdGVyYXRvcjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxJdGVyYXRvclxDaHVua2VkSXRlcmF0b3IKICovCmNsYXNzIENodW5rZWRJdGVyYXRvclRlc3QgZXh0ZW5kcyBcUEhQVW5pdF9GcmFtZXdvcmtfVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDaHVua3NJdGVyYXRvcigpCiAgICB7CiAgICAgICAgJGNodW5rZWQgPSBuZXcgQ2h1bmtlZEl0ZXJhdG9yKG5ldyBcQXJyYXlJdGVyYXRvcihyYW5nZSgwLCAxMDApKSwgMTApOwogICAgICAgICRjaHVua3MgPSBpdGVyYXRvcl90b19hcnJheSgkY2h1bmtlZCwgZmFsc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTEsIGNvdW50KCRjaHVua3MpKTsKICAgICAgICBmb3JlYWNoICgkY2h1bmtzIGFzICRqID0+ICRjaHVuaykgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKHJhbmdlKCRqICogMTAsIG1pbigxMDAsICRqICogMTAgKyA5KSksICRjaHVuayk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2h1bmtzSXRlcmF0b3JXaXRoT2RkVmFsdWVzKCkKICAgIHsKICAgICAgICAkY2h1bmtlZCA9IG5ldyBDaHVua2VkSXRlcmF0b3IobmV3IFxBcnJheUl0ZXJhdG9yKGFycmF5KDEsIDIsIDMsIDQsIDUpKSwgMik7CiAgICAgICAgJGNodW5rcyA9IGl0ZXJhdG9yX3RvX2FycmF5KCRjaHVua2VkLCBmYWxzZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCBjb3VudCgkY2h1bmtzKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgxLCAyKSwgJGNodW5rc1swXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgzLCA0KSwgJGNodW5rc1sxXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSg1KSwgJGNodW5rc1syXSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAdGVzdAogICAgICogQHJ1bkluU2VwYXJhdGVQcm9jZXNzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBtdXN0Tm90VGVybWluYXRlV2l0aFRyYXZlcnNhYmxlKCkKICAgIHsKICAgICAgICAkdHJhdmVyc2FibGUgPSBzaW1wbGV4bWxfbG9hZF9zdHJpbmcoJzxyb290Pjxmb28vPjxmb28vPjxmb28vPjwvcm9vdD4nKS0+Zm9vOwogICAgICAgICRjaHVua2VkID0gbmV3IENodW5rZWRJdGVyYXRvcigkdHJhdmVyc2FibGUsIDIpOwogICAgICAgICRhY3R1YWwgPSBpdGVyYXRvcl90b19hcnJheSgkY2h1bmtlZCwgZmFsc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgyLCAkYWN0dWFsKTsKICAgIH0KCiAgICAvKioKICAgICAqIEB0ZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzaXplT2ZaZXJvTWFrZXNJdGVyYXRvckludmFsaWQoKSB7CiAgICAgICAgJGNodW5rZWQgPSBuZXcgQ2h1bmtlZEl0ZXJhdG9yKG5ldyBcQXJyYXlJdGVyYXRvcihyYW5nZSgxLCA1KSksIDApOwogICAgICAgICRjaHVua2VkLT5yZXdpbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNodW5rZWQtPnZhbGlkKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQHRlc3QKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzaXplTG93ZXJaZXJvVGhyb3dzRXhjZXB0aW9uKCkgewogICAgICAgICRjaHVua2VkID0gbmV3IENodW5rZWRJdGVyYXRvcihuZXcgXEFycmF5SXRlcmF0b3IocmFuZ2UoMSwgNSkpLCAtMSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Iterator/FilterIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSXRlcmF0b3I7Cgp1c2UgR3V6emxlXEl0ZXJhdG9yXEZpbHRlckl0ZXJhdG9yOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXEl0ZXJhdG9yXEZpbHRlckl0ZXJhdG9yCiAqLwpjbGFzcyBGaWx0ZXJJdGVyYXRvclRlc3QgZXh0ZW5kcyBcUEhQVW5pdF9GcmFtZXdvcmtfVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGaWx0ZXJzVmFsdWVzKCkKICAgIHsKICAgICAgICAkaSA9IG5ldyBGaWx0ZXJJdGVyYXRvcihuZXcgXEFycmF5SXRlcmF0b3IocmFuZ2UoMCwgMTAwKSksIGZ1bmN0aW9uICgkdmFsdWUpIHsKICAgICAgICAgICAgcmV0dXJuICR2YWx1ZSAlIDI7CiAgICAgICAgfSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMocmFuZ2UoMSwgOTksIDIpLCBpdGVyYXRvcl90b19hcnJheSgkaSwgZmFsc2UpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVzQ2FsbGFibGUoKQogICAgewogICAgICAgICRpID0gbmV3IEZpbHRlckl0ZXJhdG9yKG5ldyBcQXJyYXlJdGVyYXRvcigpLCBuZXcgXHN0ZENsYXNzKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Iterator/MapIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSXRlcmF0b3I7Cgp1c2UgR3V6emxlXEl0ZXJhdG9yXE1hcEl0ZXJhdG9yOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXEl0ZXJhdG9yXE1hcEl0ZXJhdG9yCiAqLwpjbGFzcyBNYXBJdGVyYXRvclRlc3QgZXh0ZW5kcyBcUEhQVW5pdF9GcmFtZXdvcmtfVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGaWx0ZXJzVmFsdWVzKCkKICAgIHsKICAgICAgICAkaSA9IG5ldyBNYXBJdGVyYXRvcihuZXcgXEFycmF5SXRlcmF0b3IocmFuZ2UoMCwgMTAwKSksIGZ1bmN0aW9uICgkdmFsdWUpIHsKICAgICAgICAgICAgcmV0dXJuICR2YWx1ZSAqIDEwOwogICAgICAgIH0pOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKHJhbmdlKDAsIDEwMDAsIDEwKSwgaXRlcmF0b3JfdG9fYXJyYXkoJGksIGZhbHNlKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZhbGlkYXRlc0NhbGxhYmxlKCkKICAgIHsKICAgICAgICAkaSA9IG5ldyBNYXBJdGVyYXRvcihuZXcgXEFycmF5SXRlcmF0b3IoKSwgbmV3IFxzdGRDbGFzcygpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Iterator/MethodProxyIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcSXRlcmF0b3I7Cgp1c2UgR3V6emxlXEl0ZXJhdG9yXE1ldGhvZFByb3h5SXRlcmF0b3I7CnVzZSBHdXp6bGVcSXRlcmF0b3JcQ2h1bmtlZEl0ZXJhdG9yOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXEl0ZXJhdG9yXE1ldGhvZFByb3h5SXRlcmF0b3IKICovCmNsYXNzIE1ldGhvZFByb3h5SXRlcmF0b3JUZXN0IGV4dGVuZHMgXFBIUFVuaXRfRnJhbWV3b3JrX1Rlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UHJveGllc01hZ2ljQ2FsbHNUb0lubmVybW9zdEl0ZXJhdG9yKCkKICAgIHsKICAgICAgICAkaSA9IG5ldyBcQXJyYXlJdGVyYXRvcigpOwogICAgICAgICRwcm94eSA9IG5ldyBNZXRob2RQcm94eUl0ZXJhdG9yKG5ldyBNZXRob2RQcm94eUl0ZXJhdG9yKG5ldyBNZXRob2RQcm94eUl0ZXJhdG9yKCRpKSkpOwogICAgICAgICRwcm94eS0+YXBwZW5kKCdhJyk7CiAgICAgICAgJHByb3h5LT5hcHBlbmQoJ2InKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdhJywgJ2InKSwgJGktPmdldEFycmF5Q29weSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdhJywgJ2InKSwgJHByb3h5LT5nZXRBcnJheUNvcHkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzSW5uZXJJdGVyYXRvcigpCiAgICB7CiAgICAgICAgJGkgPSBuZXcgTWV0aG9kUHJveHlJdGVyYXRvcihuZXcgQ2h1bmtlZEl0ZXJhdG9yKG5ldyBcQXJyYXlJdGVyYXRvcihhcnJheSgxLCAyLCAzLCA0LCA1KSksIDIpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KGl0ZXJhdG9yX3RvX2FycmF5KCRpLCBmYWxzZSkpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Log/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Log/ArrayLogAdapterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcTG9nOwoKdXNlIEd1enpsZVxMb2dcQXJyYXlMb2dBZGFwdGVyOwoKY2xhc3MgQXJyYXlMb2dBZGFwdGVyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RMb2coKQogICAgewogICAgICAgICRhZGFwdGVyID0gbmV3IEFycmF5TG9nQWRhcHRlcigpOwogICAgICAgICRhZGFwdGVyLT5sb2coJ3Rlc3QnLCBcTE9HX05PVElDRSwgJ2xvY2FsaG9zdCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoYXJyYXkoJ21lc3NhZ2UnID0+ICd0ZXN0JywgJ3ByaW9yaXR5JyA9PiBcTE9HX05PVElDRSwgJ2V4dHJhcycgPT4gJ2xvY2FsaG9zdCcpKSwgJGFkYXB0ZXItPmdldExvZ3MoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGVhckxvZygpCiAgICB7CiAgICAgICAgJGFkYXB0ZXIgPSBuZXcgQXJyYXlMb2dBZGFwdGVyKCk7CiAgICAgICAgJGFkYXB0ZXItPmxvZygndGVzdCcsIFxMT0dfTk9USUNFLCAnbG9jYWxob3N0Jyk7CiAgICAgICAgJGFkYXB0ZXItPmNsZWFyTG9ncygpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoKSwgJGFkYXB0ZXItPmdldExvZ3MoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Log/ClosureLogAdapterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcTG9nOwoKdXNlIEd1enpsZVxMb2dcQ2xvc3VyZUxvZ0FkYXB0ZXI7CgovKioKICogQGNvdmVycyBHdXp6bGVcTG9nXENsb3N1cmVMb2dBZGFwdGVyCiAqLwpjbGFzcyBDbG9zdXJlTG9nQWRhcHRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2xvc3VyZSgpCiAgICB7CiAgICAgICAgJHRoYXQgPSAkdGhpczsKICAgICAgICAkbW9kaWZpZWQgPSBudWxsOwogICAgICAgICR0aGlzLT5hZGFwdGVyID0gbmV3IENsb3N1cmVMb2dBZGFwdGVyKGZ1bmN0aW9uKCRtZXNzYWdlLCAkcHJpb3JpdHksICRleHRyYXMgPSBudWxsKSB1c2UgKCR0aGF0LCAmJG1vZGlmaWVkKSB7CiAgICAgICAgICAgICRtb2RpZmllZCA9IGFycmF5KCRtZXNzYWdlLCAkcHJpb3JpdHksICRleHRyYXMpOwogICAgICAgIH0pOwogICAgICAgICR0aGlzLT5hZGFwdGVyLT5sb2coJ3Rlc3QnLCBMT0dfTk9USUNFLCAnbG9jYWxob3N0Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgndGVzdCcsIExPR19OT1RJQ0UsICdsb2NhbGhvc3QnKSwgJG1vZGlmaWVkKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25XaGVuTm90Q2FsbGFibGUoKQogICAgewogICAgICAgICR0aGlzLT5hZGFwdGVyID0gbmV3IENsb3N1cmVMb2dBZGFwdGVyKDEyMyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Log/MessageFormatterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcTG9nOwoKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKdXNlIEd1enpsZVxIdHRwXEN1cmxcQ3VybEhhbmRsZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcRW50aXR5RW5jbG9zaW5nUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXExvZ1xNZXNzYWdlRm9ybWF0dGVyOwp1c2UgR3V6emxlXFBsdWdpblxMb2dcTG9nUGx1Z2luOwp1c2UgR3V6emxlXExvZ1xDbG9zdXJlTG9nQWRhcHRlcjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxMb2dcTWVzc2FnZUZvcm1hdHRlcgogKi8KY2xhc3MgTWVzc2FnZUZvcm1hdHRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCAkcmVxdWVzdDsKICAgIHByb3RlY3RlZCAkcmVzcG9uc2U7CiAgICBwcm90ZWN0ZWQgJGhhbmRsZTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5yZXF1ZXN0ID0gbmV3IEVudGl0eUVuY2xvc2luZ1JlcXVlc3QoJ1BPU1QnLCAnaHR0cDovL2Zvby5jb20/cT10ZXN0JywgYXJyYXkoCiAgICAgICAgICAgICdYLUZvbycgICAgICAgICA9PiAnYmFyJywKICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nID0+ICdCYXonCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPnJlcXVlc3QtPnNldEJvZHkoRW50aXR5Qm9keTo6ZmFjdG9yeSgnSGVsbG8nKSk7CgogICAgICAgICR0aGlzLT5yZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAnWC1UZXN0JyA9PiAnQWJjJwogICAgICAgICksICdGb28nKTsKCiAgICAgICAgJHRoaXMtPmhhbmRsZSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXEh0dHBcQ3VybFxDdXJsSGFuZGxlJykKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZ2V0RXJyb3InLCAnZ2V0RXJyb3JObycsICdnZXRTdGRlcnInLCAnZ2V0SW5mbycpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJHRoaXMtPmhhbmRsZS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRFcnJvcicpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJ2UnKSk7CgogICAgICAgICR0aGlzLT5oYW5kbGUtPmV4cGVjdHMoJHRoaXMtPmFueSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0RXJyb3JObycpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJzEyMycpKTsKCiAgICAgICAgJHRoaXMtPmhhbmRsZS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRTdGRlcnInKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCd0ZXN0aW5nJykpOwoKICAgICAgICAkdGhpcy0+aGFuZGxlLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldEluZm8nKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlTWFwKGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoQ1VSTElORk9fQ09OTkVDVF9USU1FLCAnMTIzJyksCiAgICAgICAgICAgICAgICBhcnJheShDVVJMSU5GT19UT1RBTF9USU1FLCAnNDU2JykKICAgICAgICAgICAgKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2dQcm92aWRlcigpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAvLyBVc2VzIHRoZSBjYWNoZSBmb3IgdGhlIHNlY29uZCB0aW1lCiAgICAgICAgICAgIGFycmF5KCd7bWV0aG9kfSAtIHttZXRob2R9JywgJ1BPU1QgLSBQT1NUJyksCiAgICAgICAgICAgIGFycmF5KCd7dXJsfScsICdodHRwOi8vZm9vLmNvbT9xPXRlc3QnKSwKICAgICAgICAgICAgYXJyYXkoJ3twb3J0fScsICc4MCcpLAogICAgICAgICAgICBhcnJheSgne3Jlc291cmNlfScsICcvP3E9dGVzdCcpLAogICAgICAgICAgICBhcnJheSgne2hvc3R9JywgJ2Zvby5jb20nKSwKICAgICAgICAgICAgYXJyYXkoJ3tob3N0bmFtZX0nLCBnZXRob3N0bmFtZSgpKSwKICAgICAgICAgICAgYXJyYXkoJ3twcm90b2NvbH0ve3ZlcnNpb259JywgJ0hUVFAvMS4xJyksCiAgICAgICAgICAgIGFycmF5KCd7Y29kZX0ge3BocmFzZX0nLCAnMjAwIE9LJyksCiAgICAgICAgICAgIGFycmF5KCd7cmVxX2hlYWRlcl9Gb299JywgJycpLAogICAgICAgICAgICBhcnJheSgne3JlcV9oZWFkZXJfWC1Gb299JywgJ2JhcicpLAogICAgICAgICAgICBhcnJheSgne3JlcV9oZWFkZXJfQXV0aG9yaXphdGlvbn0nLCAnQmF6JyksCiAgICAgICAgICAgIGFycmF5KCd7cmVzX2hlYWRlcl9mb299JywgJycpLAogICAgICAgICAgICBhcnJheSgne3Jlc19oZWFkZXJfWC1UZXN0fScsICdBYmMnKSwKICAgICAgICAgICAgYXJyYXkoJ3tyZXFfYm9keX0nLCAnSGVsbG8nKSwKICAgICAgICAgICAgYXJyYXkoJ3tyZXNfYm9keX0nLCAnRm9vJyksCiAgICAgICAgICAgIGFycmF5KCd7Y3VybF9zdGRlcnJ9JywgJ3Rlc3RpbmcnKSwKICAgICAgICAgICAgYXJyYXkoJ3tjdXJsX2Vycm9yfScsICdlJyksCiAgICAgICAgICAgIGFycmF5KCd7Y3VybF9jb2RlfScsICcxMjMnKSwKICAgICAgICAgICAgYXJyYXkoJ3tjb25uZWN0X3RpbWV9JywgJzEyMycpLAogICAgICAgICAgICBhcnJheSgne3RvdGFsX3RpbWV9JywgJzQ1NicpCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgbG9nUHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGb3JtYXRzTWVzc2FnZXMoJHRlbXBsYXRlLCAkb3V0cHV0KQogICAgewogICAgICAgICRmb3JtYXR0ZXIgPSBuZXcgTWVzc2FnZUZvcm1hdHRlcigkdGVtcGxhdGUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJG91dHB1dCwgJGZvcm1hdHRlci0+Zm9ybWF0KCR0aGlzLT5yZXF1ZXN0LCAkdGhpcy0+cmVzcG9uc2UsICR0aGlzLT5oYW5kbGUpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZvcm1hdHNSZXF1ZXN0c0FuZFJlc3BvbnNlcygpCiAgICB7CiAgICAgICAgJGZvcm1hdHRlciA9IG5ldyBNZXNzYWdlRm9ybWF0dGVyKCk7CiAgICAgICAgJGZvcm1hdHRlci0+c2V0VGVtcGxhdGUoJ3tyZXF1ZXN0fXtyZXNwb25zZX0nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR0aGlzLT5yZXF1ZXN0IC4gJHRoaXMtPnJlc3BvbnNlLCAkZm9ybWF0dGVyLT5mb3JtYXQoJHRoaXMtPnJlcXVlc3QsICR0aGlzLT5yZXNwb25zZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkc1RpbWVzdGFtcCgpCiAgICB7CiAgICAgICAgJGZvcm1hdHRlciA9IG5ldyBNZXNzYWdlRm9ybWF0dGVyKCd7dHN9Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KCRmb3JtYXR0ZXItPmZvcm1hdCgkdGhpcy0+cmVxdWVzdCwgJHRoaXMtPnJlc3BvbnNlKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzUmVzcG9uc2VXaGVuTm9IYW5kbGVBbmRHZXR0aW5nQ3VybEluZm9ybWF0aW9uKCkKICAgIHsKICAgICAgICAkZm9ybWF0dGVyID0gbmV3IE1lc3NhZ2VGb3JtYXR0ZXIoJ3tjb25uZWN0X3RpbWV9L3t0b3RhbF90aW1lfScpOwogICAgICAgICRyZXNwb25zZSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZScpCiAgICAgICAgICAgIC0+ZGlzYWJsZU9yaWdpbmFsQ29uc3RydWN0b3IoKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2dldEluZm8nKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJHJlc3BvbnNlLT5leHBlY3RzKCR0aGlzLT5leGFjdGx5KDIpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0SW5mbycpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWVNYXAoYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgnY29ubmVjdF90aW1lJywgJzEnKSwKICAgICAgICAgICAgICAgIGFycmF5KCd0b3RhbF90aW1lJywgJzInKSwKICAgICAgICAgICAgKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEvMicsICRmb3JtYXR0ZXItPmZvcm1hdCgkdGhpcy0+cmVxdWVzdCwgJHJlc3BvbnNlKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzRW1wdHlTdHJpbmdXaGVuTm9IYW5kbGVBbmROb1Jlc3BvbnNlKCkKICAgIHsKICAgICAgICAkZm9ybWF0dGVyID0gbmV3IE1lc3NhZ2VGb3JtYXR0ZXIoJ3tjb25uZWN0X3RpbWV9L3t0b3RhbF90aW1lfScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy8nLCAkZm9ybWF0dGVyLT5mb3JtYXQoJHRoaXMtPnJlcXVlc3QpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEluamVjdHNUb3RhbFRpbWUoKQogICAgewogICAgICAgICRvdXQgPSAnJzsKICAgICAgICAkZm9ybWF0dGVyID0gbmV3IE1lc3NhZ2VGb3JtYXR0ZXIoJ3tjb25uZWN0X3RpbWV9L3t0b3RhbF90aW1lfScpOwogICAgICAgICRhZGFwdGVyID0gbmV3IENsb3N1cmVMb2dBZGFwdGVyKGZ1bmN0aW9uICgkbSkgdXNlICgmJG91dCkgeyAkb3V0IC49ICRtOyB9KTsKICAgICAgICAkbG9nID0gbmV3IExvZ1BsdWdpbigkYWRhcHRlciwgJGZvcm1hdHRlcik7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDJcclxuXHJcbkhJIik7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkbG9nKTsKICAgICAgICAkY2xpZW50LT5nZXQoJy8nKS0+c2VuZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RFcXVhbHMoJy8nLCAkb3V0KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Log/PsrLogAdapterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcTG9nOwoKdXNlIEd1enpsZVxMb2dcUHNyTG9nQWRhcHRlcjsKdXNlIE1vbm9sb2dcTG9nZ2VyOwp1c2UgTW9ub2xvZ1xIYW5kbGVyXFRlc3RIYW5kbGVyOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXExvZ1xQc3JMb2dBZGFwdGVyCiAqIEBjb3ZlcnMgR3V6emxlXExvZ1xBYnN0cmFjdExvZ0FkYXB0ZXIKICovCmNsYXNzIFBzckxvZ0FkYXB0ZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExvZ3NNZXNzYWdlc1RvQWRhcHRlZE9iamVjdCgpCiAgICB7CiAgICAgICAgJGxvZyA9IG5ldyBMb2dnZXIoJ3Rlc3QnKTsKICAgICAgICAkaGFuZGxlciA9IG5ldyBUZXN0SGFuZGxlcigpOwogICAgICAgICRsb2ctPnB1c2hIYW5kbGVyKCRoYW5kbGVyKTsKICAgICAgICAkYWRhcHRlciA9IG5ldyBQc3JMb2dBZGFwdGVyKCRsb2cpOwogICAgICAgICRhZGFwdGVyLT5sb2coJ3Rlc3QhJywgTE9HX0lORk8pOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRoYW5kbGVyLT5oYXNJbmZvUmVjb3JkcygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkbG9nLCAkYWRhcHRlci0+Z2V0TG9nT2JqZWN0KCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Log/Zf2LogAdapterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcTG9nOwoKdXNlIEd1enpsZVxMb2dcWmYyTG9nQWRhcHRlcjsKdXNlIFplbmRcTG9nXExvZ2dlcjsKdXNlIFplbmRcTG9nXFdyaXRlclxTdHJlYW07CgovKioKICogQGNvdmVycyBHdXp6bGVcTG9nXFpmMkxvZ0FkYXB0ZXIKICovCmNsYXNzIFpmMkxvZ0FkYXB0ZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKiogQHZhciBaZjJMb2dBZGFwdGVyICovCiAgICBwcm90ZWN0ZWQgJGFkYXB0ZXI7CgogICAgLyoqIEB2YXIgTG9nZ2VyICovCiAgICBwcm90ZWN0ZWQgJGxvZzsKCiAgICAvKiogQHZhciByZXNvdXJjZSAqLwogICAgcHJvdGVjdGVkICRzdHJlYW07CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+c3RyZWFtID0gZm9wZW4oJ3BocDovL3RlbXAnLCAncisnKTsKICAgICAgICAkdGhpcy0+bG9nID0gbmV3IExvZ2dlcigpOwogICAgICAgICR0aGlzLT5sb2ctPmFkZFdyaXRlcihuZXcgU3RyZWFtKCR0aGlzLT5zdHJlYW0pKTsKICAgICAgICAkdGhpcy0+YWRhcHRlciA9IG5ldyBaZjJMb2dBZGFwdGVyKCR0aGlzLT5sb2cpOwoKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExvZ3NNZXNzYWdlc1RvQWRhcHRlZE9iamVjdCgpCiAgICB7CiAgICAgICAgLy8gVGVzdCB3aXRob3V0IGEgcHJpb3JpdHkKICAgICAgICAkdGhpcy0+YWRhcHRlci0+bG9nKCdaZW5kX1Rlc3QhJywgXExPR19OT1RJQ0UpOwogICAgICAgIHJld2luZCgkdGhpcy0+c3RyZWFtKTsKICAgICAgICAkY29udGVudHMgPSBzdHJlYW1fZ2V0X2NvbnRlbnRzKCR0aGlzLT5zdHJlYW0pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgc3Vic3RyX2NvdW50KCRjb250ZW50cywgJ1plbmRfVGVzdCEnKSk7CgogICAgICAgIC8vIFRlc3Qgd2l0aCBhIHByaW9yaXR5CiAgICAgICAgJHRoaXMtPmFkYXB0ZXItPmxvZygnWmVuZF9UZXN0IScsIFxMT0dfQUxFUlQpOwogICAgICAgIHJld2luZCgkdGhpcy0+c3RyZWFtKTsKICAgICAgICAkY29udGVudHMgPSBzdHJlYW1fZ2V0X2NvbnRlbnRzKCR0aGlzLT5zdHJlYW0pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgc3Vic3RyX2NvdW50KCRjb250ZW50cywgJ1plbmRfVGVzdCEnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFeHBvc2VzQWRhcHRlZExvZ09iamVjdCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+bG9nLCAkdGhpcy0+YWRhcHRlci0+Z2V0TG9nT2JqZWN0KCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Mock/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Mock/CustomResponseModel.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcTW9jazsKCnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXFJlc3BvbnNlQ2xhc3NJbnRlcmZhY2U7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXE9wZXJhdGlvbkNvbW1hbmQ7CgpjbGFzcyBDdXN0b21SZXNwb25zZU1vZGVsIGltcGxlbWVudHMgUmVzcG9uc2VDbGFzc0ludGVyZmFjZQp7CiAgICBwdWJsaWMgJGNvbW1hbmQ7CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmcm9tQ29tbWFuZChPcGVyYXRpb25Db21tYW5kICRjb21tYW5kKQogICAgewogICAgICAgIHJldHVybiBuZXcgc2VsZigkY29tbWFuZCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb21tYW5kKQogICAgewogICAgICAgICR0aGlzLT5jb21tYW5kID0gJGNvbW1hbmQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Mock/ErrorResponseMock.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcTW9jazsKCnVzZSBHdXp6bGVcUGx1Z2luXEVycm9yUmVzcG9uc2VcRXJyb3JSZXNwb25zZUV4Y2VwdGlvbkludGVyZmFjZTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgpjbGFzcyBFcnJvclJlc3BvbnNlTW9jayBleHRlbmRzIFxFeGNlcHRpb24gaW1wbGVtZW50cyBFcnJvclJlc3BvbnNlRXhjZXB0aW9uSW50ZXJmYWNlCnsKICAgIHB1YmxpYyAkY29tbWFuZDsKICAgIHB1YmxpYyAkcmVzcG9uc2U7CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmcm9tQ29tbWFuZChDb21tYW5kSW50ZXJmYWNlICRjb21tYW5kLCBSZXNwb25zZSAkcmVzcG9uc2UpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBzZWxmKCRjb21tYW5kLCAkcmVzcG9uc2UpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY29tbWFuZCwgJHJlc3BvbnNlKQogICAgewogICAgICAgICR0aGlzLT5jb21tYW5kID0gJGNvbW1hbmQ7CiAgICAgICAgJHRoaXMtPnJlc3BvbnNlID0gJHJlc3BvbnNlOwogICAgICAgICR0aGlzLT5tZXNzYWdlID0gJ0Vycm9yIGZyb20gJyAuICRyZXNwb25zZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Mock/ExceptionMock.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcTW9jazsKCmNsYXNzIEV4Y2VwdGlvbk1vY2sKewogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgIHsKICAgICAgICB0aHJvdyBuZXcgXEV4Y2VwdGlvbignT2ggbm8hJyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockMulti.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcTW9jazsKCmNsYXNzIE1vY2tNdWx0aSBleHRlbmRzIFxHdXp6bGVcSHR0cFxDdXJsXEN1cmxNdWx0aQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SGFuZGxlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPm11bHRpSGFuZGxlOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockObserver.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcTW9jazsKCnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50U3Vic2NyaWJlckludGVyZmFjZTsKCmNsYXNzIE1vY2tPYnNlcnZlciBpbXBsZW1lbnRzIFxDb3VudGFibGUsIEV2ZW50U3Vic2NyaWJlckludGVyZmFjZQp7CiAgICBwdWJsaWMgJGV2ZW50cyA9IGFycmF5KCk7CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTdWJzY3JpYmVkRXZlbnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzKCRldmVudE5hbWUpCiAgICB7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmV2ZW50cyBhcyAkZXZlbnQpIHsKICAgICAgICAgICAgaWYgKCRldmVudC0+Z2V0TmFtZSgpID09ICRldmVudE5hbWUpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldExhc3RFdmVudCgpCiAgICB7CiAgICAgICAgcmV0dXJuIGVuZCgkdGhpcy0+ZXZlbnRzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY291bnQoKQogICAgewogICAgICAgIHJldHVybiBjb3VudCgkdGhpcy0+ZXZlbnRzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0R3JvdXBlZCgpCiAgICB7CiAgICAgICAgJGV2ZW50cyA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmV2ZW50cyBhcyAkZXZlbnQpIHsKICAgICAgICAgICAgaWYgKCFpc3NldCgkZXZlbnRzWyRldmVudC0+Z2V0TmFtZSgpXSkpIHsKICAgICAgICAgICAgICAgICRldmVudHNbJGV2ZW50LT5nZXROYW1lKCldID0gYXJyYXkoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkZXZlbnRzWyRldmVudC0+Z2V0TmFtZSgpXVtdID0gJGV2ZW50OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRldmVudHM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldERhdGEoJGV2ZW50LCAka2V5LCAkb2NjdXJyZW5jZSA9IDApCiAgICB7CiAgICAgICAgJGdyb3VwZWQgPSAkdGhpcy0+Z2V0R3JvdXBlZCgpOwogICAgICAgIGlmIChpc3NldCgkZ3JvdXBlZFskZXZlbnRdKSkgewogICAgICAgICAgICByZXR1cm4gJGdyb3VwZWRbJGV2ZW50XVskb2NjdXJyZW5jZV1bJGtleV07CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdXBkYXRlKEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICAkdGhpcy0+ZXZlbnRzW10gPSAkZXZlbnQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockSubject.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcTW9jazsKCmNsYXNzIE1vY2tTdWJqZWN0IGV4dGVuZHMgXEd1enpsZVxDb21tb25cRXZlbnRcQWJzdHJhY3RTdWJqZWN0CnsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Parser/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Parser/Cookie/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Parser/Cookie/CookieParserProvider.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGFyc2VyXENvb2tpZTsKCnVzZSBHdXp6bGVcSHR0cFxVcmw7CgovKioKICogQGNvdmVycyBHdXp6bGVcUGFyc2VyXENvb2tpZVxDb29raWVQYXJzZXIKICovCmNsYXNzIENvb2tpZVBhcnNlclByb3ZpZGVyIGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIFByb3ZpZGVzIHRoZSBwYXJzZWQgaW5mb3JtYXRpb24gZnJvbSBhIGNvb2tpZQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNvb2tpZVBhcnNlckRhdGFQcm92aWRlcigpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICdBU0lIVFRQUmVxdWVzdFRlc3RDb29raWU9VGhpcytpcyt0aGUrdmFsdWU7IGV4cGlyZXM9U2F0LCAyNi1KdWwtMjAwOCAxNzowMDo0MiBHTVQ7IHBhdGg9L3Rlc3RzOyBkb21haW49YWxsc2VlaW5nLWkuY29tOyBQSFBTRVNTSUQ9NmM5NTE1OTBlN2E5MzU5YmNlZGRlMjVjZGE3M2U0M2M7IHBhdGg9LyI7JywKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkb21haW4nID0+ICdhbGxzZWVpbmctaS5jb20nLAogICAgICAgICAgICAgICAgICAgICdwYXRoJyA9PiAnLycsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUEhQU0VTU0lEJyA9PiAnNmM5NTE1OTBlN2E5MzU5YmNlZGRlMjVjZGE3M2U0M2MnCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnbWF4X2FnZScgPT4gTlVMTCwKICAgICAgICAgICAgICAgICAgICAnZXhwaXJlcycgPT4gJ1NhdCwgMjYtSnVsLTIwMDggMTc6MDA6NDIgR01UJywKICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gTlVMTCwKICAgICAgICAgICAgICAgICAgICAnc2VjdXJlJyA9PiBOVUxMLAogICAgICAgICAgICAgICAgICAgICdkaXNjYXJkJyA9PiBOVUxMLAogICAgICAgICAgICAgICAgICAgICdwb3J0JyA9PiBOVUxMLAogICAgICAgICAgICAgICAgICAgICdjb29raWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0FTSUhUVFBSZXF1ZXN0VGVzdENvb2tpZScgPT4gJ1RoaXMraXMrdGhlK3ZhbHVlJwogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2NvbW1lbnQnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2NvbW1lbnRfdXJsJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdodHRwX29ubHknID0+IGZhbHNlCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KCcnLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KCdmb28nLCBmYWxzZSksCiAgICAgICAgICAgIC8vIFRlc3Qgc2V0dGluZyBhIGJsYW5rIHZhbHVlIGZvciBhIGNvb2tpZQogICAgICAgICAgICBhcnJheShhcnJheSgKICAgICAgICAgICAgICAgICdmb289JywgJ2ZvbyA9JywgJ2ZvbyA9OycsICdmb289IDsnLCAnZm9vID0nLCAnZm9vPSAnKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjb29raWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbycgPT4gJycKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgpLAogICAgICAgICAgICAgICAgICAgICdkaXNjYXJkJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdkb21haW4nID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2V4cGlyZXMnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ21heF9hZ2UnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ3BhdGgnID0+ICcvJywKICAgICAgICAgICAgICAgICAgICAncG9ydCcgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnc2VjdXJlJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdjb21tZW50JyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdjb21tZW50X3VybCcgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnaHR0cF9vbmx5JyA9PiBmYWxzZQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAogICAgICAgICAgICAvLyBUZXN0IHNldHRpbmcgYSB2YWx1ZSBhbmQgcmVtb3ZpbmcgcXVvdGVzCiAgICAgICAgICAgIGFycmF5KGFycmF5KAogICAgICAgICAgICAgICAgJ2Zvbz0xJywgJ2ZvbyA9MScsICdmb28gPTE7JywgJ2Zvbz0xIDsnLCAnZm9vID0xJywgJ2Zvbz0gMScsICdmb28gPSAxIDsnLCAnZm9vPSIxIicsICdmb289IjEiOycsICdmb289ICIxIjsnKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjb29raWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbycgPT4gJzEnCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoKSwKICAgICAgICAgICAgICAgICAgICAnZGlzY2FyZCcgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnZG9tYWluJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdleHBpcmVzJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdtYXhfYWdlJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdwYXRoJyA9PiAnLycsCiAgICAgICAgICAgICAgICAgICAgJ3BvcnQnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ3NlY3VyZScgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnY29tbWVudCcgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnY29tbWVudF91cmwnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2h0dHBfb25seScgPT4gZmFsc2UKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gVGVzdCBzZXR0aW5nIG11bHRpcGxlIHZhbHVlcwogICAgICAgICAgICBhcnJheShhcnJheSgKICAgICAgICAgICAgICAgICdmb289MTsgYmFyPTI7JywgJ2ZvbyA9MTsgYmFyID0gIjIiJywgJ2Zvbz0xOyAgIGJhcj0yJyksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY29va2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdmb28nID0+ICcxJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2JhcicgPT4gJzInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KCksCiAgICAgICAgICAgICAgICAgICAgJ2Rpc2NhcmQnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2RvbWFpbicgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnZXhwaXJlcycgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnbWF4X2FnZScgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAncGF0aCcgPT4gJy8nLAogICAgICAgICAgICAgICAgICAgICdwb3J0JyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdzZWN1cmUnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2NvbW1lbnQnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2NvbW1lbnRfdXJsJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdodHRwX29ubHknID0+IGZhbHNlCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksCiAgICAgICAgICAgIC8vIFRlc3RzIGdldHRpbmcgdGhlIGRvbWFpbiBhbmQgcGF0aCBmcm9tIGEgcmVmZXJlbmNlIHJlcXVlc3QKICAgICAgICAgICAgYXJyYXkoYXJyYXkoCiAgICAgICAgICAgICAgICAnZm9vPTE7IHBvcnQ9IjgwLDgwODEiOyBodHRwb25seScsICdmb289MTsgcG9ydD0iODAsODA4MSI7IGRvbWFpbj13d3cudGVzdC5jb207IEh0dHBPbmx5OycsICdmb289MTsgOyBkb21haW49d3d3LnRlc3QuY29tOyBwYXRoPS9wYXRoLzsgcG9ydD0iODAsODA4MSI7IEh0dHBPbmx5OycpLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Nvb2tpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnZm9vJyA9PiAxCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoKSwKICAgICAgICAgICAgICAgICAgICAnZGlzY2FyZCcgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnZG9tYWluJyA9PiAnd3d3LnRlc3QuY29tJywKICAgICAgICAgICAgICAgICAgICAnZXhwaXJlcycgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnbWF4X2FnZScgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAncGF0aCcgPT4gJy9wYXRoLycsCiAgICAgICAgICAgICAgICAgICAgJ3BvcnQnID0+IGFycmF5KCc4MCcsICc4MDgxJyksCiAgICAgICAgICAgICAgICAgICAgJ3NlY3VyZScgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnY29tbWVudCcgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnY29tbWVudF91cmwnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2h0dHBfb25seScgPT4gdHJ1ZQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdodHRwOi8vd3d3LnRlc3QuY29tL3BhdGgvJwogICAgICAgICAgICApLAogICAgICAgICAgICAvLyBTb21lIG9mIHRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIGJhc2VkIG9uIGh0dHA6Ly9mcmFtZXdvcmsuemVuZC5jb20vc3ZuL2ZyYW1ld29yay9zdGFuZGFyZC90cnVuay90ZXN0cy9aZW5kL0h0dHAvQ29va2llVGVzdC5waHAKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAnanVzdGFjb29raWU9Zm9vOyBkb21haW49ZXhhbXBsZS5jb20nLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Nvb2tpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnanVzdGFjb29raWUnID0+ICdmb28nCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZG9tYWluJyA9PiAnZXhhbXBsZS5jb20nLAogICAgICAgICAgICAgICAgICAgICdwYXRoJyA9PiAnJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoKSwKICAgICAgICAgICAgICAgICAgICAnZGlzY2FyZCcgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnZXhwaXJlcycgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnbWF4X2FnZScgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAncGF0aCcgPT4gJy8nLAogICAgICAgICAgICAgICAgICAgICdwb3J0JyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdzZWN1cmUnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2NvbW1lbnQnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2NvbW1lbnRfdXJsJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdodHRwX29ubHknID0+IGZhbHNlCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJ2V4cGlyZXM9dG9tb3Jyb3c7IHNlY3VyZTsgcGF0aD0vU3BhY2UgT3V0LzsgZXhwaXJlcz1UdWUsIDIxLU5vdi0yMDA2IDA4OjMzOjQ0IEdNVDsgZG9tYWluPS5leGFtcGxlLmNvbScsCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY29va2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdleHBpcmVzJyA9PiAndG9tb3Jyb3cnCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZG9tYWluJyA9PiAnLmV4YW1wbGUuY29tJywKICAgICAgICAgICAgICAgICAgICAncGF0aCcgPT4gJy9TcGFjZSBPdXQvJywKICAgICAgICAgICAgICAgICAgICAnZXhwaXJlcycgPT4gJ1R1ZSwgMjEtTm92LTIwMDYgMDg6MzM6NDQgR01UJywKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoKSwKICAgICAgICAgICAgICAgICAgICAnZGlzY2FyZCcgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAncG9ydCcgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnc2VjdXJlJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdtYXhfYWdlJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdjb21tZW50JyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdjb21tZW50X3VybCcgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnaHR0cF9vbmx5JyA9PiBmYWxzZQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICdkb21haW49dW5pdHRlc3RzOyBleHBpcmVzPVR1ZSwgMjEtTm92LTIwMDYgMDg6MzM6NDQgR01UOyBkb21haW49ZXhhbXBsZS5jb207IHBhdGg9L3NvbWUgdmFsdWUvJywKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjb29raWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2RvbWFpbicgPT4gJ3VuaXR0ZXN0cycKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdkb21haW4nID0+ICdleGFtcGxlLmNvbScsCiAgICAgICAgICAgICAgICAgICAgJ3BhdGgnID0+ICcvc29tZSB2YWx1ZS8nLAogICAgICAgICAgICAgICAgICAgICdleHBpcmVzJyA9PiAnVHVlLCAyMS1Ob3YtMjAwNiAwODozMzo0NCBHTVQnLAogICAgICAgICAgICAgICAgICAgICdzZWN1cmUnID0+IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgpLAogICAgICAgICAgICAgICAgICAgICdkaXNjYXJkJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdtYXhfYWdlJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdwb3J0JyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdjb21tZW50JyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdjb21tZW50X3VybCcgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnaHR0cF9vbmx5JyA9PiBmYWxzZQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICdwYXRoPWluZGV4QWN0aW9uOyBwYXRoPS87IGRvbWFpbj0uZm9vLmNvbTsgZXhwaXJlcz1UdWUsIDIxLU5vdi0yMDA2IDA4OjMzOjQ0IEdNVCcsCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnY29va2llcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdwYXRoJyA9PiAnaW5kZXhBY3Rpb24nCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZG9tYWluJyA9PiAnLmZvby5jb20nLAogICAgICAgICAgICAgICAgICAgICdwYXRoJyA9PiAnLycsCiAgICAgICAgICAgICAgICAgICAgJ2V4cGlyZXMnID0+ICdUdWUsIDIxLU5vdi0yMDA2IDA4OjMzOjQ0IEdNVCcsCiAgICAgICAgICAgICAgICAgICAgJ3NlY3VyZScgPT4gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KCksCiAgICAgICAgICAgICAgICAgICAgJ2Rpc2NhcmQnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ21heF9hZ2UnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ3BvcnQnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2NvbW1lbnQnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2NvbW1lbnRfdXJsJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdodHRwX29ubHknID0+IGZhbHNlCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJ3NlY3VyZT1zaGExOyBzZWN1cmU7IFNFQ1VSRTsgZG9tYWluPXNvbWUucmVhbGx5LmRlZXAuZG9tYWluLmNvbTsgdmVyc2lvbj0xOyBNYXgtQWdlPTg2NDAwJywKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjb29raWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlY3VyZScgPT4gJ3NoYTEnCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnZG9tYWluJyA9PiAnc29tZS5yZWFsbHkuZGVlcC5kb21haW4uY29tJywKICAgICAgICAgICAgICAgICAgICAncGF0aCcgPT4gJy8nLAogICAgICAgICAgICAgICAgICAgICdzZWN1cmUnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KCksCiAgICAgICAgICAgICAgICAgICAgJ2Rpc2NhcmQnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2V4cGlyZXMnID0+IHRpbWUoKSArIDg2NDAwLAogICAgICAgICAgICAgICAgICAgICdtYXhfYWdlJyA9PiA4NjQwMCwKICAgICAgICAgICAgICAgICAgICAncG9ydCcgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnY29tbWVudCcgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAnY29tbWVudF91cmwnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2h0dHBfb25seScgPT4gZmFsc2UKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSwKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAnUEhQU0VTU0lEPTEyMzQ1Njc4OSthYmNkJTJDZWY7IHNlY3VyZTsgZGlzY2FyZDsgZG9tYWluPS5sb2NhbGRvbWFpbjsgcGF0aD0vZm9vL2JhejsgZXhwaXJlcz1UdWUsIDIxLU5vdi0yMDA2IDA4OjMzOjQ0IEdNVDsnLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2Nvb2tpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnUEhQU0VTU0lEJyA9PiAnMTIzNDU2Nzg5K2FiY2QlMkNlZicKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdkb21haW4nID0+ICcubG9jYWxkb21haW4nLAogICAgICAgICAgICAgICAgICAgICdwYXRoJyA9PiAnL2Zvby9iYXonLAogICAgICAgICAgICAgICAgICAgICdleHBpcmVzJyA9PiAnVHVlLCAyMS1Ob3YtMjAwNiAwODozMzo0NCBHTVQnLAogICAgICAgICAgICAgICAgICAgICdzZWN1cmUnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KCksCiAgICAgICAgICAgICAgICAgICAgJ2Rpc2NhcmQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ21heF9hZ2UnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ3BvcnQnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2NvbW1lbnQnID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ2NvbW1lbnRfdXJsJyA9PiBudWxsLAogICAgICAgICAgICAgICAgICAgICdodHRwX29ubHknID0+IGZhbHNlCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgY29va2llUGFyc2VyRGF0YVByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGFyc2VDb29raWUoJGNvb2tpZSwgJHBhcnNlZCwgJHVybCA9IG51bGwpCiAgICB7CiAgICAgICAgJGMgPSAkdGhpcy0+Y29va2llUGFyc2VyQ2xhc3M7CiAgICAgICAgJHBhcnNlciA9IG5ldyAkYygpOwoKICAgICAgICAkcmVxdWVzdCA9IG51bGw7CiAgICAgICAgaWYgKCR1cmwpIHsKICAgICAgICAgICAgJHVybCA9IFVybDo6ZmFjdG9yeSgkdXJsKTsKICAgICAgICAgICAgJGhvc3QgPSAkdXJsLT5nZXRIb3N0KCk7CiAgICAgICAgICAgICRwYXRoID0gJHVybC0+Z2V0UGF0aCgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRob3N0ID0gJyc7CiAgICAgICAgICAgICRwYXRoID0gJyc7CiAgICAgICAgfQoKICAgICAgICBmb3JlYWNoICgoYXJyYXkpICRjb29raWUgYXMgJGMpIHsKICAgICAgICAgICAgJHAgPSAkcGFyc2VyLT5wYXJzZUNvb2tpZSgkYywgJGhvc3QsICRwYXRoKTsKCiAgICAgICAgICAgIC8vIFJlbW92ZSBleHBpcmVzIHZhbHVlcyBmcm9tIHRoZSBhc3NlcnRpb24gaWYgdGhleSBhcmUgcmVsYXRpdmVseSBlcXVhbCBieSBhbGxvd2luZyBhIDUgbWludXRlIGRpZmZlcmVuY2UKICAgICAgICAgICAgaWYgKCRwWydleHBpcmVzJ10gIT0gJHBhcnNlZFsnZXhwaXJlcyddKSB7CiAgICAgICAgICAgICAgICBpZiAoYWJzKCRwWydleHBpcmVzJ10gLSAkcGFyc2VkWydleHBpcmVzJ10pIDwgMzAwKSB7CiAgICAgICAgICAgICAgICAgICAgdW5zZXQoJHBbJ2V4cGlyZXMnXSk7CiAgICAgICAgICAgICAgICAgICAgdW5zZXQoJHBhcnNlZFsnZXhwaXJlcyddKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGlzX2FycmF5KCRwYXJzZWQpKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkcGFyc2VkIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcGFyc2VkWyRrZXldLCAkcFska2V5XSwgJ0NvbXBhcmluZyAnIC4gJGtleSAuICcgJyAuIHZhcl9leHBvcnQoJHZhbHVlLCB0cnVlKSAuICcgOiAnIC4gdmFyX2V4cG9ydCgkcGFyc2VkLCB0cnVlKSAuICcgfCAnIC4gdmFyX2V4cG9ydCgkcCwgdHJ1ZSkpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRwIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcFska2V5XSwgJHBhcnNlZFska2V5XSwgJ0NvbXBhcmluZyAnIC4gJGtleSAuICcgJyAuIHZhcl9leHBvcnQoJHZhbHVlLCB0cnVlKSAuICcgOiAnIC4gdmFyX2V4cG9ydCgkcGFyc2VkLCB0cnVlKSAuICcgfCAnIC4gdmFyX2V4cG9ydCgkcCwgdHJ1ZSkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcGFyc2VkLCAkcCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Parser/Cookie/CookieParserTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGFyc2VyXENvb2tpZTsKCnVzZSBHdXp6bGVcUGFyc2VyXENvb2tpZVxDb29raWVQYXJzZXI7CgovKioKICogQGNvdmVycyBHdXp6bGVcUGFyc2VyXENvb2tpZVxDb29raWVQYXJzZXIKICovCmNsYXNzIENvb2tpZVBhcnNlclRlc3QgZXh0ZW5kcyBDb29raWVQYXJzZXJQcm92aWRlcgp7CiAgICBwcm90ZWN0ZWQgJGNvb2tpZVBhcnNlckNsYXNzID0gJ0d1enpsZVxQYXJzZXJcQ29va2llXENvb2tpZVBhcnNlcic7CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVcmxEZWNvZGVzQ29va2llcygpCiAgICB7CiAgICAgICAgJHBhcnNlciA9IG5ldyBDb29raWVQYXJzZXIoKTsKICAgICAgICAkcmVzdWx0ID0gJHBhcnNlci0+cGFyc2VDb29raWUoJ2Zvbz1iYXorYmFyJywgbnVsbCwgbnVsbCwgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ2ZvbycgPT4gJ2JheiBiYXInCiAgICAgICAgKSwgJHJlc3VsdFsnY29va2llcyddKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/MessageParserProvider.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGFyc2VyXE1lc3NhZ2U7CgpjbGFzcyBNZXNzYWdlUGFyc2VyUHJvdmlkZXIgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiByZXF1ZXN0UHJvdmlkZXIoKQogICAgewogICAgICAgICRhdXRoID0gYmFzZTY0X2VuY29kZSgnbWljaGFlbDpmb28nKTsKCiAgICAgICAgcmV0dXJuIGFycmF5KAoKICAgICAgICAgICAgLy8gRW1wdHkgcmVxdWVzdAogICAgICAgICAgICBhcnJheSgnJywgZmFsc2UpLAoKICAgICAgICAgICAgLy8gQ29udmVydHMgY2FzaW5nIG9mIHJlcXVlc3QuIERvZXMgbm90IHJlcXVpcmUgaG9zdCBoZWFkZXIuCiAgICAgICAgICAgIGFycmF5KCJHRVQgLyBIVFRQLzEuMVxyXG5cclxuIiwgYXJyYXkoCiAgICAgICAgICAgICAgICAnbWV0aG9kJyAgID0+ICdHRVQnLAogICAgICAgICAgICAgICAgJ3Byb3RvY29sJyA9PiAnSFRUUCcsCiAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gJzEuMScsCiAgICAgICAgICAgICAgICAncmVxdWVzdF91cmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzY2hlbWUnID0+ICdodHRwJywKICAgICAgICAgICAgICAgICAgICAnaG9zdCcgICA9PiAnJywKICAgICAgICAgICAgICAgICAgICAncG9ydCcgICA9PiAnJywKICAgICAgICAgICAgICAgICAgICAncGF0aCcgICA9PiAnLycsCiAgICAgICAgICAgICAgICAgICAgJ3F1ZXJ5JyAgPT4gJycKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnaGVhZGVycycgPT4gYXJyYXkoKSwKICAgICAgICAgICAgICAgICdib2R5JyAgICA9PiAnJwogICAgICAgICAgICApKSwKICAgICAgICAgICAgLy8gUGF0aCBhbmQgcXVlcnkgc3RyaW5nLCBtdWx0aXBsZSBoZWFkZXIgdmFsdWVzIHBlciBoZWFkZXIgYW5kIGNhc2Ugc2Vuc2l0aXZlIHN0b3JhZ2UKICAgICAgICAgICAgYXJyYXkoIkhFQUQgL3BhdGg/cXVlcnk9Zm9vIEhUVFAvMS4wXHJcbkhvc3Q6IGV4YW1wbGUuY29tXHJcblgtRm9vOiBmb29cclxueC1mb286IEJhclxyXG5YLUZvbzogZm9vXHJcblgtRm9vOiBCYXpcclxuXHJcbiIsIGFycmF5KAogICAgICAgICAgICAgICAgJ21ldGhvZCcgICA9PiAnSEVBRCcsCiAgICAgICAgICAgICAgICAncHJvdG9jb2wnID0+ICdIVFRQJywKICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiAnMS4wJywKICAgICAgICAgICAgICAgICdyZXF1ZXN0X3VybCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3NjaGVtZScgPT4gJ2h0dHAnLAogICAgICAgICAgICAgICAgICAgICdob3N0JyAgID0+ICdleGFtcGxlLmNvbScsCiAgICAgICAgICAgICAgICAgICAgJ3BvcnQnICAgPT4gJycsCiAgICAgICAgICAgICAgICAgICAgJ3BhdGgnICAgPT4gJy9wYXRoJywKICAgICAgICAgICAgICAgICAgICAncXVlcnknICA9PiAncXVlcnk9Zm9vJwogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdoZWFkZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnSG9zdCcgID0+ICdleGFtcGxlLmNvbScsCiAgICAgICAgICAgICAgICAgICAgJ1gtRm9vJyA9PiBhcnJheSgnZm9vJywgJ2ZvbycsICdCYXonKSwKICAgICAgICAgICAgICAgICAgICAneC1mb28nID0+ICdCYXInCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2JvZHknICAgID0+ICcnCiAgICAgICAgICAgICkpLAogICAgICAgICAgICAvLyBJbmNsdWRlcyBhIGJvZHkKICAgICAgICAgICAgYXJyYXkoIlBVVCAvIEhUVFAvMS4wXHJcbmhvc3Q6IGV4YW1wbGUuY29tOjQ0M1xyXG5Db250ZW50LUxlbmd0aDogNFxyXG5cclxudGVzdCIsIGFycmF5KAogICAgICAgICAgICAgICAgJ21ldGhvZCcgICA9PiAnUFVUJywKICAgICAgICAgICAgICAgICdwcm90b2NvbCcgPT4gJ0hUVFAnLAogICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+ICcxLjAnLAogICAgICAgICAgICAgICAgJ3JlcXVlc3RfdXJsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc2NoZW1lJyA9PiAnaHR0cHMnLAogICAgICAgICAgICAgICAgICAgICdob3N0JyAgID0+ICdleGFtcGxlLmNvbScsCiAgICAgICAgICAgICAgICAgICAgJ3BvcnQnICAgPT4gJzQ0MycsCiAgICAgICAgICAgICAgICAgICAgJ3BhdGgnICAgPT4gJy8nLAogICAgICAgICAgICAgICAgICAgICdxdWVyeScgID0+ICcnCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2hlYWRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdob3N0JyAgICAgICAgICAgPT4gJ2V4YW1wbGUuY29tOjQ0MycsCiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoJyA9PiAnNCcKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnYm9keScgPT4gJ3Rlc3QnCiAgICAgICAgICAgICkpLAogICAgICAgICAgICAvLyBJbmNsdWRlcyBBdXRob3JpemF0aW9uIGhlYWRlcnMKICAgICAgICAgICAgYXJyYXkoIkdFVCAvIEhUVFAvMS4xXHJcbkhvc3Q6IGV4YW1wbGUuY29tOjgwODBcclxuQXV0aG9yaXphdGlvbjogQmFzaWMgeyRhdXRofVxyXG5cclxuIiwgYXJyYXkoCiAgICAgICAgICAgICAgICAnbWV0aG9kJyAgID0+ICdHRVQnLAogICAgICAgICAgICAgICAgJ3Byb3RvY29sJyA9PiAnSFRUUCcsCiAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gJzEuMScsCiAgICAgICAgICAgICAgICAncmVxdWVzdF91cmwnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzY2hlbWUnID0+ICdodHRwJywKICAgICAgICAgICAgICAgICAgICAnaG9zdCcgICA9PiAnZXhhbXBsZS5jb20nLAogICAgICAgICAgICAgICAgICAgICdwb3J0JyAgID0+ICc4MDgwJywKICAgICAgICAgICAgICAgICAgICAncGF0aCcgICA9PiAnLycsCiAgICAgICAgICAgICAgICAgICAgJ3F1ZXJ5JyAgPT4gJycKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnaGVhZGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0hvc3QnICAgICAgICAgICA9PiAnZXhhbXBsZS5jb206ODA4MCcsCiAgICAgICAgICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nID0+ICJCYXNpYyB7JGF1dGh9IgogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdib2R5JyA9PiAnJwogICAgICAgICAgICApKSwKICAgICAgICAgICAgLy8gSW5jbHVkZSBhdXRob3JpemF0aW9uIGhlYWRlcgogICAgICAgICAgICBhcnJheSgiR0VUIC8gSFRUUC8xLjFcclxuSG9zdDogZXhhbXBsZS5jb206ODA4MFxyXG5hdXRob3JpemF0aW9uOiBCYXNpYyB7JGF1dGh9XHJcblxyXG4iLCBhcnJheSgKICAgICAgICAgICAgICAgICdtZXRob2QnICAgPT4gJ0dFVCcsCiAgICAgICAgICAgICAgICAncHJvdG9jb2wnID0+ICdIVFRQJywKICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiAnMS4xJywKICAgICAgICAgICAgICAgICdyZXF1ZXN0X3VybCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3NjaGVtZScgPT4gJ2h0dHAnLAogICAgICAgICAgICAgICAgICAgICdob3N0JyAgID0+ICdleGFtcGxlLmNvbScsCiAgICAgICAgICAgICAgICAgICAgJ3BvcnQnICAgPT4gJzgwODAnLAogICAgICAgICAgICAgICAgICAgICdwYXRoJyAgID0+ICcvJywKICAgICAgICAgICAgICAgICAgICAncXVlcnknICA9PiAnJwogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdoZWFkZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnSG9zdCcgICAgICAgICAgID0+ICdleGFtcGxlLmNvbTo4MDgwJywKICAgICAgICAgICAgICAgICAgICAnYXV0aG9yaXphdGlvbicgPT4gIkJhc2ljIHskYXV0aH0iCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2JvZHknID0+ICcnCiAgICAgICAgICAgICkpLAogICAgICAgICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlc3BvbnNlUHJvdmlkZXIoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgLy8gRW1wdHkgcmVxdWVzdAogICAgICAgICAgICBhcnJheSgnJywgZmFsc2UpLAoKICAgICAgICAgICAgYXJyYXkoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwgYXJyYXkoCiAgICAgICAgICAgICAgICAncHJvdG9jb2wnICAgICAgPT4gJ0hUVFAnLAogICAgICAgICAgICAgICAgJ3ZlcnNpb24nICAgICAgID0+ICcxLjEnLAogICAgICAgICAgICAgICAgJ2NvZGUnICAgICAgICAgID0+ICcyMDAnLAogICAgICAgICAgICAgICAgJ3JlYXNvbl9waHJhc2UnID0+ICdPSycsCiAgICAgICAgICAgICAgICAnaGVhZGVycycgICAgICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoJyA9PiAwCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2JvZHknICAgICAgICAgID0+ICcnCiAgICAgICAgICAgICkpLAogICAgICAgICAgICBhcnJheSgiSFRUUC8xLjAgNDAwIEJhZCBSZXF1ZXN0XHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLCBhcnJheSgKICAgICAgICAgICAgICAgICdwcm90b2NvbCcgICAgICA9PiAnSFRUUCcsCiAgICAgICAgICAgICAgICAndmVyc2lvbicgICAgICAgPT4gJzEuMCcsCiAgICAgICAgICAgICAgICAnY29kZScgICAgICAgICAgPT4gJzQwMCcsCiAgICAgICAgICAgICAgICAncmVhc29uX3BocmFzZScgPT4gJ0JhZCBSZXF1ZXN0JywKICAgICAgICAgICAgICAgICdoZWFkZXJzJyAgICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1MZW5ndGgnID0+IDAKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnYm9keScgICAgICAgICAgPT4gJycKICAgICAgICAgICAgKSksCiAgICAgICAgICAgIGFycmF5KCJIVFRQLzEuMCAxMDAgQ29udGludWVcclxuXHJcbiIsIGFycmF5KAogICAgICAgICAgICAgICAgJ3Byb3RvY29sJyAgICAgID0+ICdIVFRQJywKICAgICAgICAgICAgICAgICd2ZXJzaW9uJyAgICAgICA9PiAnMS4wJywKICAgICAgICAgICAgICAgICdjb2RlJyAgICAgICAgICA9PiAnMTAwJywKICAgICAgICAgICAgICAgICdyZWFzb25fcGhyYXNlJyA9PiAnQ29udGludWUnLAogICAgICAgICAgICAgICAgJ2hlYWRlcnMnICAgICAgID0+IGFycmF5KCksCiAgICAgICAgICAgICAgICAnYm9keScgICAgICAgICAgPT4gJycKICAgICAgICAgICAgKSksCiAgICAgICAgICAgIGFycmF5KCJIVFRQLzEuMSAyMDQgTm8gQ29udGVudFxyXG5YLUZvbzogZm9vXHJcbngtZm9vOiBCYXJcclxuWC1Gb286IGZvb1xyXG5cclxuIiwgYXJyYXkoCiAgICAgICAgICAgICAgICAncHJvdG9jb2wnICAgICAgPT4gJ0hUVFAnLAogICAgICAgICAgICAgICAgJ3ZlcnNpb24nICAgICAgID0+ICcxLjEnLAogICAgICAgICAgICAgICAgJ2NvZGUnICAgICAgICAgID0+ICcyMDQnLAogICAgICAgICAgICAgICAgJ3JlYXNvbl9waHJhc2UnID0+ICdObyBDb250ZW50JywKICAgICAgICAgICAgICAgICdoZWFkZXJzJyAgICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnWC1Gb28nID0+IGFycmF5KCdmb28nLCAnZm9vJyksCiAgICAgICAgICAgICAgICAgICAgJ3gtZm9vJyA9PiAnQmFyJwogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdib2R5JyAgICAgICAgICA9PiAnJwogICAgICAgICAgICApKSwKICAgICAgICAgICAgYXJyYXkoIkhUVFAvMS4xIDIwMCBPayB0aGF0IGlzIGdyZWF0IVxyXG5Db250ZW50LUxlbmd0aDogNFxyXG5cclxuVGVzdCIsIGFycmF5KAogICAgICAgICAgICAgICAgJ3Byb3RvY29sJyAgICAgID0+ICdIVFRQJywKICAgICAgICAgICAgICAgICd2ZXJzaW9uJyAgICAgICA9PiAnMS4xJywKICAgICAgICAgICAgICAgICdjb2RlJyAgICAgICAgICA9PiAnMjAwJywKICAgICAgICAgICAgICAgICdyZWFzb25fcGhyYXNlJyA9PiAnT2sgdGhhdCBpcyBncmVhdCEnLAogICAgICAgICAgICAgICAgJ2hlYWRlcnMnICAgICAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgPT4gNAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdib2R5JyAgICAgICAgICA9PiAnVGVzdCcKICAgICAgICAgICAgKSksCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY29tcGFyZVJlcXVlc3RSZXN1bHRzKCRyZXN1bHQsICRleHBlY3RlZCkKICAgIHsKICAgICAgICBpZiAoISRyZXN1bHQpIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRleHBlY3RlZCk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlc3VsdFsnbWV0aG9kJ10sICRleHBlY3RlZFsnbWV0aG9kJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlc3VsdFsncHJvdG9jb2wnXSwgJGV4cGVjdGVkWydwcm90b2NvbCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRyZXN1bHRbJ3ZlcnNpb24nXSwgJGV4cGVjdGVkWyd2ZXJzaW9uJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlc3VsdFsncmVxdWVzdF91cmwnXSwgJGV4cGVjdGVkWydyZXF1ZXN0X3VybCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRyZXN1bHRbJ2JvZHknXSwgJGV4cGVjdGVkWydib2R5J10pOwogICAgICAgICR0aGlzLT5jb21wYXJlSHR0cEhlYWRlcnMoJHJlc3VsdFsnaGVhZGVycyddLCAkZXhwZWN0ZWRbJ2hlYWRlcnMnXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNvbXBhcmVSZXNwb25zZVJlc3VsdHMoJHJlc3VsdCwgJGV4cGVjdGVkKQogICAgewogICAgICAgIGlmICghJHJlc3VsdCkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGV4cGVjdGVkKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcmVzdWx0Wydwcm90b2NvbCddLCAkZXhwZWN0ZWRbJ3Byb3RvY29sJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlc3VsdFsndmVyc2lvbiddLCAkZXhwZWN0ZWRbJ3ZlcnNpb24nXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcmVzdWx0Wydjb2RlJ10sICRleHBlY3RlZFsnY29kZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRyZXN1bHRbJ3JlYXNvbl9waHJhc2UnXSwgJGV4cGVjdGVkWydyZWFzb25fcGhyYXNlJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlc3VsdFsnYm9keSddLCAkZXhwZWN0ZWRbJ2JvZHknXSk7CiAgICAgICAgJHRoaXMtPmNvbXBhcmVIdHRwSGVhZGVycygkcmVzdWx0WydoZWFkZXJzJ10sICRleHBlY3RlZFsnaGVhZGVycyddKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gbm9ybWFsaXplSGVhZGVycygkaGVhZGVycykKICAgIHsKICAgICAgICAkbm9ybWFsaXplZCA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJGhlYWRlcnMgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgJGtleSA9IHN0cnRvbG93ZXIoJGtleSk7CiAgICAgICAgICAgIGlmICghaXNzZXQoJG5vcm1hbGl6ZWRbJGtleV0pKSB7CiAgICAgICAgICAgICAgICAkbm9ybWFsaXplZFska2V5XSA9ICR2YWx1ZTsKICAgICAgICAgICAgfSBlbHNlaWYgKCFpc19hcnJheSgkbm9ybWFsaXplZFska2V5XSkpIHsKICAgICAgICAgICAgICAgICRub3JtYWxpemVkWyRrZXldID0gYXJyYXkoJHZhbHVlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRub3JtYWxpemVkWyRrZXldW10gPSAkdmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZvcmVhY2ggKCRub3JtYWxpemVkIGFzICRrZXkgPT4gJiR2YWx1ZSkgewogICAgICAgICAgICBpZiAoaXNfYXJyYXkoJHZhbHVlKSkgewogICAgICAgICAgICAgICAgc29ydCgkdmFsdWUpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJG5vcm1hbGl6ZWQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNvbXBhcmVIdHRwSGVhZGVycygkcmVzdWx0LCAkZXhwZWN0ZWQpCiAgICB7CiAgICAgICAgLy8gQWdncmVnYXRlIGFsbCBoZWFkZXJzIGNhc2UtaW5zZW5zaXRpdmVseQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+bm9ybWFsaXplSGVhZGVycygkcmVzdWx0KTsKICAgICAgICAkZXhwZWN0ZWQgPSAkdGhpcy0+bm9ybWFsaXplSGVhZGVycygkZXhwZWN0ZWQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHJlc3VsdCwgJGV4cGVjdGVkKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/MessageParserTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGFyc2VyXE1lc3NhZ2U7Cgp1c2UgR3V6emxlXFBhcnNlclxNZXNzYWdlXE1lc3NhZ2VQYXJzZXI7CgovKioKICogQGNvdmVycyBHdXp6bGVcUGFyc2VyXE1lc3NhZ2VcQWJzdHJhY3RNZXNzYWdlUGFyc2VyCiAqIEBjb3ZlcnMgR3V6emxlXFBhcnNlclxNZXNzYWdlXE1lc3NhZ2VQYXJzZXIKICovCmNsYXNzIE1lc3NhZ2VQYXJzZXJUZXN0IGV4dGVuZHMgTWVzc2FnZVBhcnNlclByb3ZpZGVyCnsKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciByZXF1ZXN0UHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQYXJzZXNSZXF1ZXN0cygkbWVzc2FnZSwgJHBhcnRzKQogICAgewogICAgICAgICRwYXJzZXIgPSBuZXcgTWVzc2FnZVBhcnNlcigpOwogICAgICAgICR0aGlzLT5jb21wYXJlUmVxdWVzdFJlc3VsdHMoJHBhcnRzLCAkcGFyc2VyLT5wYXJzZVJlcXVlc3QoJG1lc3NhZ2UpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgcmVzcG9uc2VQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBhcnNlc1Jlc3BvbnNlcygkbWVzc2FnZSwgJHBhcnRzKQogICAgewogICAgICAgICRwYXJzZXIgPSBuZXcgTWVzc2FnZVBhcnNlcigpOwogICAgICAgICR0aGlzLT5jb21wYXJlUmVzcG9uc2VSZXN1bHRzKCRwYXJ0cywgJHBhcnNlci0+cGFyc2VSZXNwb25zZSgkbWVzc2FnZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGFyc2VzUmVxdWVzdHNXaXRoTWlzc2luZ1Byb3RvY29sKCkKICAgIHsKICAgICAgICAkcGFyc2VyID0gbmV3IE1lc3NhZ2VQYXJzZXIoKTsKICAgICAgICAkcGFydHMgPSAkcGFyc2VyLT5wYXJzZVJlcXVlc3QoIkdFVCAvXHJcbkhvc3Q6IEZvby5jb21cclxuXHJcbiIpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0dFVCcsICRwYXJ0c1snbWV0aG9kJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0hUVFAnLCAkcGFydHNbJ3Byb3RvY29sJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEuMScsICRwYXJ0c1sndmVyc2lvbiddKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBhcnNlc1JlcXVlc3RzV2l0aE1pc3NpbmdWZXJzaW9uKCkKICAgIHsKICAgICAgICAkcGFyc2VyID0gbmV3IE1lc3NhZ2VQYXJzZXIoKTsKICAgICAgICAkcGFydHMgPSAkcGFyc2VyLT5wYXJzZVJlcXVlc3QoIkdFVCAvIEhUVFBcclxuSG9zdDogRm9vLmNvbVxyXG5cclxuIik7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnR0VUJywgJHBhcnRzWydtZXRob2QnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnSFRUUCcsICRwYXJ0c1sncHJvdG9jb2wnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnMS4xJywgJHBhcnRzWyd2ZXJzaW9uJ10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGFyc2VzUmVzcG9uc2VzV2l0aE1pc3NpbmdSZWFzb25QaHJhc2UoKQogICAgewogICAgICAgICRwYXJzZXIgPSBuZXcgTWVzc2FnZVBhcnNlcigpOwogICAgICAgICRwYXJ0cyA9ICRwYXJzZXItPnBhcnNlUmVzcG9uc2UoIkhUVFAvMS4xIDIwMFxyXG5cclxuIik7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnMjAwJywgJHBhcnRzWydjb2RlJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJycsICRwYXJ0c1sncmVhc29uX3BocmFzZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdIVFRQJywgJHBhcnRzWydwcm90b2NvbCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxLjEnLCAkcGFydHNbJ3ZlcnNpb24nXSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/PeclHttpMessageParserTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGFyc2VyXE1lc3NhZ2U7Cgp1c2UgR3V6emxlXFBhcnNlclxNZXNzYWdlXFBlY2xIdHRwTWVzc2FnZVBhcnNlcjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxQYXJzZXJcTWVzc2FnZVxQZWNsSHR0cE1lc3NhZ2VQYXJzZXIKICovCmNsYXNzIFBlY2xIdHRwTWVzc2FnZVBhcnNlclRlc3QgZXh0ZW5kcyBNZXNzYWdlUGFyc2VyUHJvdmlkZXIKewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICBpZiAoIWZ1bmN0aW9uX2V4aXN0cygnaHR0cF9wYXJzZV9tZXNzYWdlJykpIHsKICAgICAgICAgICAgJHRoaXMtPm1hcmtUZXN0U2tpcHBlZCgncGVjbF9odHRwIGlzIG5vdCBhdmFpbGFibGUuJyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciByZXF1ZXN0UHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQYXJzZXNSZXF1ZXN0cygkbWVzc2FnZSwgJHBhcnRzKQogICAgewogICAgICAgICRwYXJzZXIgPSBuZXcgUGVjbEh0dHBNZXNzYWdlUGFyc2VyKCk7CiAgICAgICAgJHRoaXMtPmNvbXBhcmVSZXF1ZXN0UmVzdWx0cygkcGFydHMsICRwYXJzZXItPnBhcnNlUmVxdWVzdCgkbWVzc2FnZSkpOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciByZXNwb25zZVByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGFyc2VzUmVzcG9uc2VzKCRtZXNzYWdlLCAkcGFydHMpCiAgICB7CiAgICAgICAgJHBhcnNlciA9IG5ldyBQZWNsSHR0cE1lc3NhZ2VQYXJzZXIoKTsKICAgICAgICAkdGhpcy0+Y29tcGFyZVJlc3BvbnNlUmVzdWx0cygkcGFydHMsICRwYXJzZXItPnBhcnNlUmVzcG9uc2UoJG1lc3NhZ2UpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Parser/ParserRegistryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGFyc2VyOwoKdXNlIEd1enpsZVxQYXJzZXJcUGFyc2VyUmVnaXN0cnk7CgovKioKICogQGNvdmVycyBHdXp6bGVcUGFyc2VyXFBhcnNlclJlZ2lzdHJ5CiAqLwpjbGFzcyBQYXJzZXJSZWdpc3RyeVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U3RvcmVzT2JqZWN0cygpCiAgICB7CiAgICAgICAgJHIgPSBuZXcgUGFyc2VyUmVnaXN0cnkoKTsKICAgICAgICAkYyA9IG5ldyBcc3RkQ2xhc3MoKTsKICAgICAgICAkci0+cmVnaXN0ZXJQYXJzZXIoJ2ZvbycsICRjKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYywgJHItPmdldFBhcnNlcignZm9vJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc051bGxXaGVuTm90Rm91bmQoKQogICAgewogICAgICAgICRyID0gbmV3IFBhcnNlclJlZ2lzdHJ5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHItPmdldFBhcnNlcignRk9PJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc0xhenlMb2FkZWREZWZhdWx0KCkKICAgIHsKICAgICAgICAkciA9IG5ldyBQYXJzZXJSZWdpc3RyeSgpOwogICAgICAgICRjID0gJHItPmdldFBhcnNlcignY29va2llJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxQYXJzZXJcQ29va2llXENvb2tpZVBhcnNlcicsICRjKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYywgJHItPmdldFBhcnNlcignY29va2llJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/AbstractUriTemplateTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGFyc2Vyc1xVcmlUZW1wbGF0ZTsKCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0VXJpVGVtcGxhdGVUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlbXBsYXRlUHJvdmlkZXIoKQogICAgewogICAgICAgICR0ID0gYXJyYXkoKTsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoCiAgICAgICAgICAgICd2YXInICAgPT4gJ3ZhbHVlJywKICAgICAgICAgICAgJ2hlbGxvJyA9PiAnSGVsbG8gV29ybGQhJywKICAgICAgICAgICAgJ2VtcHR5JyA9PiAnJywKICAgICAgICAgICAgJ3BhdGgnICA9PiAnL2Zvby9iYXInLAogICAgICAgICAgICAneCcgICAgID0+ICcxMDI0JywKICAgICAgICAgICAgJ3knICAgICA9PiAnNzY4JywKICAgICAgICAgICAgJ251bGwnICA9PiBudWxsLAogICAgICAgICAgICAnbGlzdCcgID0+IGFycmF5KCdyZWQnLCAnZ3JlZW4nLCAnYmx1ZScpLAogICAgICAgICAgICAna2V5cycgID0+IGFycmF5KAogICAgICAgICAgICAgICAgInNlbWkiICA9PiAnOycsCiAgICAgICAgICAgICAgICAiZG90IiAgID0+ICcuJywKICAgICAgICAgICAgICAgICJjb21tYSIgPT4gJywnCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdlbXB0eV9rZXlzJyA9PiBhcnJheSgpLAogICAgICAgICk7CgogICAgICAgIHJldHVybiBhcnJheV9tYXAoZnVuY3Rpb24oJHQpIHVzZSAoJHBhcmFtcykgewogICAgICAgICAgICAkdFtdID0gJHBhcmFtczsKICAgICAgICAgICAgcmV0dXJuICR0OwogICAgICAgIH0sIGFycmF5KAogICAgICAgICAgICBhcnJheSgnZm9vJywgICAgICAgICAgICAgICAgICdmb28nKSwKICAgICAgICAgICAgYXJyYXkoJ3t2YXJ9JywgICAgICAgICAgICAgICAndmFsdWUnKSwKICAgICAgICAgICAgYXJyYXkoJ3toZWxsb30nLCAgICAgICAgICAgICAnSGVsbG8lMjBXb3JsZCUyMScpLAogICAgICAgICAgICBhcnJheSgneyt2YXJ9JywgICAgICAgICAgICAgICd2YWx1ZScpLAogICAgICAgICAgICBhcnJheSgneytoZWxsb30nLCAgICAgICAgICAgICdIZWxsbyUyMFdvcmxkIScpLAogICAgICAgICAgICBhcnJheSgneytwYXRofS9oZXJlJywgICAgICAgICcvZm9vL2Jhci9oZXJlJyksCiAgICAgICAgICAgIGFycmF5KCdoZXJlP3JlZj17K3BhdGh9JywgICAgJ2hlcmU/cmVmPS9mb28vYmFyJyksCiAgICAgICAgICAgIGFycmF5KCdYeyN2YXJ9JywgICAgICAgICAgICAgJ1gjdmFsdWUnKSwKICAgICAgICAgICAgYXJyYXkoJ1h7I2hlbGxvfScsICAgICAgICAgICAnWCNIZWxsbyUyMFdvcmxkIScpLAogICAgICAgICAgICBhcnJheSgnbWFwP3t4LHl9JywgICAgICAgICAgICdtYXA/MTAyNCw3NjgnKSwKICAgICAgICAgICAgYXJyYXkoJ3t4LGhlbGxvLHl9JywgICAgICAgICAnMTAyNCxIZWxsbyUyMFdvcmxkJTIxLDc2OCcpLAogICAgICAgICAgICBhcnJheSgneyt4LGhlbGxvLHl9JywgICAgICAgICcxMDI0LEhlbGxvJTIwV29ybGQhLDc2OCcpLAogICAgICAgICAgICBhcnJheSgneytwYXRoLHh9L2hlcmUnLCAgICAgICcvZm9vL2JhciwxMDI0L2hlcmUnKSwKICAgICAgICAgICAgYXJyYXkoJ3sjeCxoZWxsbyx5fScsICAgICAgICAnIzEwMjQsSGVsbG8lMjBXb3JsZCEsNzY4JyksCiAgICAgICAgICAgIGFycmF5KCd7I3BhdGgseH0vaGVyZScsICAgICAgJyMvZm9vL2JhciwxMDI0L2hlcmUnKSwKICAgICAgICAgICAgYXJyYXkoJ1h7LnZhcn0nLCAgICAgICAgICAgICAnWC52YWx1ZScpLAogICAgICAgICAgICBhcnJheSgnWHsueCx5fScsICAgICAgICAgICAgICdYLjEwMjQuNzY4JyksCiAgICAgICAgICAgIGFycmF5KCd7L3Zhcn0nLCAgICAgICAgICAgICAgJy92YWx1ZScpLAogICAgICAgICAgICBhcnJheSgney92YXIseH0vaGVyZScsICAgICAgICcvdmFsdWUvMTAyNC9oZXJlJyksCiAgICAgICAgICAgIGFycmF5KCd7O3gseX0nLCAgICAgICAgICAgICAgJzt4PTEwMjQ7eT03NjgnKSwKICAgICAgICAgICAgYXJyYXkoJ3s7eCx5LGVtcHR5fScsICAgICAgICAnO3g9MTAyNDt5PTc2ODtlbXB0eScpLAogICAgICAgICAgICBhcnJheSgnez94LHl9JywgICAgICAgICAgICAgICc/eD0xMDI0Jnk9NzY4JyksCiAgICAgICAgICAgIGFycmF5KCd7P3gseSxlbXB0eX0nLCAgICAgICAgJz94PTEwMjQmeT03NjgmZW1wdHk9JyksCiAgICAgICAgICAgIGFycmF5KCc/Zml4ZWQ9eWVzeyZ4fScsICAgICAgJz9maXhlZD15ZXMmeD0xMDI0JyksCiAgICAgICAgICAgIGFycmF5KCd7JngseSxlbXB0eX0nLCAgICAgICAgJyZ4PTEwMjQmeT03NjgmZW1wdHk9JyksCiAgICAgICAgICAgIGFycmF5KCd7dmFyOjN9JywgICAgICAgICAgICAgJ3ZhbCcpLAogICAgICAgICAgICBhcnJheSgne3ZhcjozMH0nLCAgICAgICAgICAgICd2YWx1ZScpLAogICAgICAgICAgICBhcnJheSgne2xpc3R9JywgICAgICAgICAgICAgICdyZWQsZ3JlZW4sYmx1ZScpLAogICAgICAgICAgICBhcnJheSgne2xpc3QqfScsICAgICAgICAgICAgICdyZWQsZ3JlZW4sYmx1ZScpLAogICAgICAgICAgICBhcnJheSgne2tleXN9JywgICAgICAgICAgICAgICdzZW1pLCUzQixkb3QsLixjb21tYSwlMkMnKSwKICAgICAgICAgICAgYXJyYXkoJ3trZXlzKn0nLCAgICAgICAgICAgICAnc2VtaT0lM0IsZG90PS4sY29tbWE9JTJDJyksCiAgICAgICAgICAgIGFycmF5KCd7K3BhdGg6Nn0vaGVyZScsICAgICAgJy9mb28vYi9oZXJlJyksCiAgICAgICAgICAgIGFycmF5KCd7K2xpc3R9JywgICAgICAgICAgICAgJ3JlZCxncmVlbixibHVlJyksCiAgICAgICAgICAgIGFycmF5KCd7K2xpc3QqfScsICAgICAgICAgICAgJ3JlZCxncmVlbixibHVlJyksCiAgICAgICAgICAgIGFycmF5KCd7K2tleXN9JywgICAgICAgICAgICAgJ3NlbWksOyxkb3QsLixjb21tYSwsJyksCiAgICAgICAgICAgIGFycmF5KCd7K2tleXMqfScsICAgICAgICAgICAgJ3NlbWk9Oyxkb3Q9Lixjb21tYT0sJyksCiAgICAgICAgICAgIGFycmF5KCd7I3BhdGg6Nn0vaGVyZScsICAgICAgJyMvZm9vL2IvaGVyZScpLAogICAgICAgICAgICBhcnJheSgneyNsaXN0fScsICAgICAgICAgICAgICcjcmVkLGdyZWVuLGJsdWUnKSwKICAgICAgICAgICAgYXJyYXkoJ3sjbGlzdCp9JywgICAgICAgICAgICAnI3JlZCxncmVlbixibHVlJyksCiAgICAgICAgICAgIGFycmF5KCd7I2tleXN9JywgICAgICAgICAgICAgJyNzZW1pLDssZG90LC4sY29tbWEsLCcpLAogICAgICAgICAgICBhcnJheSgneyNrZXlzKn0nLCAgICAgICAgICAgICcjc2VtaT07LGRvdD0uLGNvbW1hPSwnKSwKICAgICAgICAgICAgYXJyYXkoJ1h7LnZhcjozfScsICAgICAgICAgICAnWC52YWwnKSwKICAgICAgICAgICAgYXJyYXkoJ1h7Lmxpc3R9JywgICAgICAgICAgICAnWC5yZWQsZ3JlZW4sYmx1ZScpLAogICAgICAgICAgICBhcnJheSgnWHsubGlzdCp9JywgICAgICAgICAgICdYLnJlZC5ncmVlbi5ibHVlJyksCiAgICAgICAgICAgIGFycmF5KCdYey5rZXlzfScsICAgICAgICAgICAgJ1guc2VtaSwlM0IsZG90LC4sY29tbWEsJTJDJyksCiAgICAgICAgICAgIGFycmF5KCdYey5rZXlzKn0nLCAgICAgICAgICAgJ1guc2VtaT0lM0IuZG90PS4uY29tbWE9JTJDJyksCiAgICAgICAgICAgIGFycmF5KCd7L3ZhcjoxLHZhcn0nLCAgICAgICAgJy92L3ZhbHVlJyksCiAgICAgICAgICAgIGFycmF5KCd7L2xpc3R9JywgICAgICAgICAgICAgJy9yZWQsZ3JlZW4sYmx1ZScpLAogICAgICAgICAgICBhcnJheSgney9saXN0Kn0nLCAgICAgICAgICAgICcvcmVkL2dyZWVuL2JsdWUnKSwKICAgICAgICAgICAgYXJyYXkoJ3svbGlzdCoscGF0aDo0fScsICAgICAnL3JlZC9ncmVlbi9ibHVlLyUyRmZvbycpLAogICAgICAgICAgICBhcnJheSgney9rZXlzfScsICAgICAgICAgICAgICcvc2VtaSwlM0IsZG90LC4sY29tbWEsJTJDJyksCiAgICAgICAgICAgIGFycmF5KCd7L2tleXMqfScsICAgICAgICAgICAgJy9zZW1pPSUzQi9kb3Q9Li9jb21tYT0lMkMnKSwKICAgICAgICAgICAgYXJyYXkoJ3s7aGVsbG86NX0nLCAgICAgICAgICAnO2hlbGxvPUhlbGxvJyksCiAgICAgICAgICAgIGFycmF5KCd7O2xpc3R9JywgICAgICAgICAgICAgJztsaXN0PXJlZCxncmVlbixibHVlJyksCiAgICAgICAgICAgIGFycmF5KCd7O2xpc3QqfScsICAgICAgICAgICAgJztsaXN0PXJlZDtsaXN0PWdyZWVuO2xpc3Q9Ymx1ZScpLAogICAgICAgICAgICBhcnJheSgneztrZXlzfScsICAgICAgICAgICAgICc7a2V5cz1zZW1pLCUzQixkb3QsLixjb21tYSwlMkMnKSwKICAgICAgICAgICAgYXJyYXkoJ3s7a2V5cyp9JywgICAgICAgICAgICAnO3NlbWk9JTNCO2RvdD0uO2NvbW1hPSUyQycpLAogICAgICAgICAgICBhcnJheSgnez92YXI6M30nLCAgICAgICAgICAgICc/dmFyPXZhbCcpLAogICAgICAgICAgICBhcnJheSgnez9saXN0fScsICAgICAgICAgICAgICc/bGlzdD1yZWQsZ3JlZW4sYmx1ZScpLAogICAgICAgICAgICBhcnJheSgnez9saXN0Kn0nLCAgICAgICAgICAgICc/bGlzdD1yZWQmbGlzdD1ncmVlbiZsaXN0PWJsdWUnKSwKICAgICAgICAgICAgYXJyYXkoJ3s/a2V5c30nLCAgICAgICAgICAgICAnP2tleXM9c2VtaSwlM0IsZG90LC4sY29tbWEsJTJDJyksCiAgICAgICAgICAgIGFycmF5KCd7P2tleXMqfScsICAgICAgICAgICAgJz9zZW1pPSUzQiZkb3Q9LiZjb21tYT0lMkMnKSwKICAgICAgICAgICAgYXJyYXkoJ3smdmFyOjN9JywgICAgICAgICAgICAnJnZhcj12YWwnKSwKICAgICAgICAgICAgYXJyYXkoJ3smbGlzdH0nLCAgICAgICAgICAgICAnJmxpc3Q9cmVkLGdyZWVuLGJsdWUnKSwKICAgICAgICAgICAgYXJyYXkoJ3smbGlzdCp9JywgICAgICAgICAgICAnJmxpc3Q9cmVkJmxpc3Q9Z3JlZW4mbGlzdD1ibHVlJyksCiAgICAgICAgICAgIGFycmF5KCd7JmtleXN9JywgICAgICAgICAgICAgJyZrZXlzPXNlbWksJTNCLGRvdCwuLGNvbW1hLCUyQycpLAogICAgICAgICAgICBhcnJheSgneyZrZXlzKn0nLCAgICAgICAgICAgICcmc2VtaT0lM0ImZG90PS4mY29tbWE9JTJDJyksCiAgICAgICAgICAgIGFycmF5KCd7Lm51bGx9JywgICAgICAgICAgICAnJyksCiAgICAgICAgICAgIGFycmF5KCd7Lm51bGwsdmFyfScsICAgICAgICAnLnZhbHVlJyksCiAgICAgICAgICAgIGFycmF5KCdYey5lbXB0eV9rZXlzKn0nLCAgICAgJ1gnKSwKICAgICAgICAgICAgYXJyYXkoJ1h7LmVtcHR5X2tleXN9JywgICAgICAnWCcpLAogICAgICAgICAgICAvLyBUZXN0IHRoYXQgbWlzc2luZyBleHBhbnNpb25zIGFyZSBza2lwcGVkCiAgICAgICAgICAgIGFycmF5KCd0ZXN0eyZtaXNzaW5nKn0nLCAgICAgJ3Rlc3QnKSwKICAgICAgICAgICAgLy8gVGVzdCB0aGF0IG11bHRpcGxlIGV4cGFuc2lvbnMgY2FuIGJlIHNldAogICAgICAgICAgICBhcnJheSgnaHR0cDovL3t2YXJ9L3t2YXI6Mn17P2tleXMqfScsICdodHRwOi8vdmFsdWUvdmE/c2VtaT0lM0ImZG90PS4mY29tbWE9JTJDJyksCiAgICAgICAgICAgIC8vIFRlc3QgbW9yZSBjb21wbGV4IHF1ZXJ5IHN0cmluZyBzdHVmZgogICAgICAgICAgICBhcnJheSgnaHR0cDovL3d3dy50ZXN0LmNvbXsrcGF0aH17P3ZhcixrZXlzKn0nLCAnaHR0cDovL3d3dy50ZXN0LmNvbS9mb28vYmFyP3Zhcj12YWx1ZSZzZW1pPSUzQiZkb3Q9LiZjb21tYT0lMkMnKQogICAgICAgICkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/PeclUriTemplateTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGFyc2Vyc1xVcmlUZW1wbGF0ZTsKCnVzZSBHdXp6bGVcUGFyc2VyXFVyaVRlbXBsYXRlXFBlY2xVcmlUZW1wbGF0ZTsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxQYXJzZXJcVXJpVGVtcGxhdGVcUGVjbFVyaVRlbXBsYXRlCiAqLwpjbGFzcyBQZWNsVXJpVGVtcGxhdGVUZXN0IGV4dGVuZHMgQWJzdHJhY3RVcmlUZW1wbGF0ZVRlc3QKewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICBpZiAoIWV4dGVuc2lvbl9sb2FkZWQoJ3VyaV90ZW1wbGF0ZScpKSB7CiAgICAgICAgICAgICR0aGlzLT5tYXJrVGVzdFNraXBwZWQoJ3VyaV90ZW1wbGF0ZSBQRUNMIGV4dGVuc2lvbiBtdXN0IGJlIGluc3RhbGxlZCB0byB0ZXN0IFBlY2xVcmlUZW1wbGF0ZScpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgdGVtcGxhdGVQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEV4cGFuZHNVcmlUZW1wbGF0ZXMoJHRlbXBsYXRlLCAkZXhwYW5zaW9uLCAkcGFyYW1zKQogICAgewogICAgICAgICR1cmkgPSBuZXcgUGVjbFVyaVRlbXBsYXRlKCR0ZW1wbGF0ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZXhwYW5zaW9uLCAkdXJpLT5leHBhbmQoJHRlbXBsYXRlLCAkcGFyYW1zKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/UriTemplateTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGFyc2Vyc1xVcmlUZW1wbGF0ZTsKCnVzZSBHdXp6bGVcUGFyc2VyXFVyaVRlbXBsYXRlXFVyaVRlbXBsYXRlOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFBhcnNlclxVcmlUZW1wbGF0ZVxVcmlUZW1wbGF0ZQogKi8KY2xhc3MgVXJpVGVtcGxhdGVUZXN0IGV4dGVuZHMgQWJzdHJhY3RVcmlUZW1wbGF0ZVRlc3QKewogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIHRlbXBsYXRlUHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFeHBhbmRzVXJpVGVtcGxhdGVzKCR0ZW1wbGF0ZSwgJGV4cGFuc2lvbiwgJHBhcmFtcykKICAgIHsKICAgICAgICAkdXJpID0gbmV3IFVyaVRlbXBsYXRlKCR0ZW1wbGF0ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZXhwYW5zaW9uLCAkdXJpLT5leHBhbmQoJHRlbXBsYXRlLCAkcGFyYW1zKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGV4cHJlc3Npb25Qcm92aWRlcigpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICd7K3Zhcip9JywgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ29wZXJhdG9yJyA9PiAnKycsCiAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlcycgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ3ZhbHVlJyA9PiAndmFyJywgJ21vZGlmaWVyJyA9PiAnKicpCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAnez9rZXlzLHZhcix2YWx9JywgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ29wZXJhdG9yJyA9PiAnPycsCiAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlcycgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ3ZhbHVlJyA9PiAna2V5cycsICdtb2RpZmllcicgPT4gJycpLAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgndmFsdWUnID0+ICd2YXInLCAnbW9kaWZpZXInID0+ICcnKSwKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ3ZhbHVlJyA9PiAndmFsJywgJ21vZGlmaWVyJyA9PiAnJykKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICd7K3gsaGVsbG8seX0nLCBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnb3BlcmF0b3InID0+ICcrJywKICAgICAgICAgICAgICAgICAgICAndmFsdWVzJyAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgndmFsdWUnID0+ICd4JywgJ21vZGlmaWVyJyA9PiAnJyksCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCd2YWx1ZScgPT4gJ2hlbGxvJywgJ21vZGlmaWVyJyA9PiAnJyksCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCd2YWx1ZScgPT4gJ3knLCAnbW9kaWZpZXInID0+ICcnKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGV4cHJlc3Npb25Qcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBhcnNlc0V4cHJlc3Npb25zKCRleHAsICRkYXRhKQogICAgewogICAgICAgICR0ZW1wbGF0ZSA9IG5ldyBVcmlUZW1wbGF0ZSgkZXhwKTsKCiAgICAgICAgLy8gQWNjZXNzIHRoZSBjb25maWcgb2JqZWN0CiAgICAgICAgJGNsYXNzID0gbmV3IFxSZWZsZWN0aW9uQ2xhc3MoJHRlbXBsYXRlKTsKICAgICAgICAkbWV0aG9kID0gJGNsYXNzLT5nZXRNZXRob2QoJ3BhcnNlRXhwcmVzc2lvbicpOwogICAgICAgICRtZXRob2QtPnNldEFjY2Vzc2libGUodHJ1ZSk7CgogICAgICAgICRleHAgPSBzdWJzdHIoJGV4cCwgMSwgLTEpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGRhdGEsICRtZXRob2QtPmludm9rZUFyZ3MoJHRlbXBsYXRlLCBhcnJheSgkZXhwKSkpOwogICAgfQoKICAgIC8qKgogICAgICogQHRpY2tldCBodHRwczovL2dpdGh1Yi5jb20vZ3V6emxlL2d1enpsZS9pc3N1ZXMvOTAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NOZXN0ZWRBcnJheUV4cGFuc2lvbigpCiAgICB7CiAgICAgICAgJHRlbXBsYXRlID0gbmV3IFVyaVRlbXBsYXRlKCk7CgogICAgICAgICRyZXN1bHQgPSAkdGVtcGxhdGUtPmV4cGFuZCgnaHR0cDovL2V4YW1wbGUuY29teytwYXRofXsvc2VnbWVudHN9ez9xdWVyeSxkYXRhKixmb28qfScsIGFycmF5KAogICAgICAgICAgICAncGF0aCcgICAgID0+ICcvZm9vL2JhcicsCiAgICAgICAgICAgICdzZWdtZW50cycgPT4gYXJyYXkoJ29uZScsICd0d28nKSwKICAgICAgICAgICAgJ3F1ZXJ5JyAgICA9PiAndGVzdCcsCiAgICAgICAgICAgICdkYXRhJyAgICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnbW9yZScgPT4gYXJyYXkoJ2Z1bicsICdpY2UgY3JlYW0nKQogICAgICAgICAgICApLAogICAgICAgICAgICAnZm9vJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdiYXonID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdiYXInICA9PiAnZml6eicsCiAgICAgICAgICAgICAgICAgICAgJ3Rlc3QnID0+ICdidXp6JwogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdiYW0nID0+ICdib28nCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovL2V4YW1wbGUuY29tL2Zvby9iYXIvb25lLHR3bz9xdWVyeT10ZXN0Jm1vcmUlNUIwJTVEPWZ1biZtb3JlJTVCMSU1RD1pY2UlMjBjcmVhbSZiYXolNUJiYXIlNUQ9Zml6eiZiYXolNUJ0ZXN0JTVEPWJ1enomYmFtPWJvbycsICRyZXN1bHQpOwogICAgfQoKICAgIC8qKgogICAgICogQHRpY2tldCBodHRwczovL2dpdGh1Yi5jb20vZ3V6emxlL2d1enpsZS9pc3N1ZXMvNDI2CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2V0UmVnZXgoKQogICAgewogICAgICAgICR0ZW1wbGF0ZSA9IG5ldyBVcmlUZW1wbGF0ZSgpOwogICAgICAgICR0ZW1wbGF0ZS0+c2V0UmVnZXgoJy9cPFwkKC4rKVw+LycpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCcvZm9vJywgJHRlbXBsYXRlLT5leHBhbmQoJy88JGE+JywgYXJyYXkoJ2EnID0+ICdmb28nKSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Async/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Async/AsyncPluginTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEFzeW5jOwoKdXNlIEd1enpsZVxQbHVnaW5cQXN5bmNcQXN5bmNQbHVnaW47CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RGYWN0b3J5Owp1c2UgR3V6emxlXEh0dHBcQ3VybFxDdXJsSGFuZGxlOwp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEN1cmxFeGNlcHRpb247CnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgR3V6emxlXEh0dHBcQ2xpZW50OwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFBsdWdpblxBc3luY1xBc3luY1BsdWdpbgogKi8KY2xhc3MgQXN5bmNQbHVnaW5UZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFN1YnNjcmliZXNUb0V2ZW50cygpCiAgICB7CiAgICAgICAgJGV2ZW50cyA9IEFzeW5jUGx1Z2luOjpnZXRTdWJzY3JpYmVkRXZlbnRzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdyZXF1ZXN0LmJlZm9yZV9zZW5kJywgJGV2ZW50cyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdyZXF1ZXN0LmV4Y2VwdGlvbicsICRldmVudHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRBcnJheUhhc0tleSgnY3VybC5jYWxsYmFjay5wcm9ncmVzcycsICRldmVudHMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5hYmxlc1Byb2dyZXNzQ2FsbGJhY2tzKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBBc3luY1BsdWdpbigpOwogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUFVUJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20nKTsKICAgICAgICAkZXZlbnQgPSBuZXcgRXZlbnQoYXJyYXkoCiAgICAgICAgICAgICdyZXF1ZXN0JyA9PiAkcmVxdWVzdAogICAgICAgICkpOwogICAgICAgICRwLT5vbkJlZm9yZVNlbmQoJGV2ZW50KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKHRydWUsICRyZXF1ZXN0LT5nZXRDdXJsT3B0aW9ucygpLT5nZXQoJ3Byb2dyZXNzJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkc1RpbWVzT3V0QWZ0ZXJTZW5kaW5nKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBBc3luY1BsdWdpbigpOwogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUFVUJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20nKTsKICAgICAgICAkaGFuZGxlID0gQ3VybEhhbmRsZTo6ZmFjdG9yeSgkcmVxdWVzdCk7CiAgICAgICAgJGV2ZW50ID0gbmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAncmVxdWVzdCcgICAgID0+ICRyZXF1ZXN0LAogICAgICAgICAgICAnaGFuZGxlJyAgICAgID0+ICRoYW5kbGUtPmdldEhhbmRsZSgpLAogICAgICAgICAgICAndXBsb2FkZWQnICAgID0+IDEwLAogICAgICAgICAgICAndXBsb2FkX3NpemUnID0+IDEwLAogICAgICAgICAgICAnZG93bmxvYWRlZCcgID0+IDAKICAgICAgICApKTsKICAgICAgICAkcC0+b25DdXJsUHJvZ3Jlc3MoJGV2ZW50KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNSZXF1ZXN0SXNTZXQoKQogICAgewogICAgICAgICRwID0gbmV3IEFzeW5jUGx1Z2luKCk7CiAgICAgICAgJGV2ZW50ID0gbmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAndXBsb2FkZWQnICAgID0+IDEwLAogICAgICAgICAgICAndXBsb2FkX3NpemUnID0+IDEwLAogICAgICAgICAgICAnZG93bmxvYWRlZCcgID0+IDAKICAgICAgICApKTsKICAgICAgICAkcC0+b25DdXJsUHJvZ3Jlc3MoJGV2ZW50KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE1hc2tzQ3VybEV4Y2VwdGlvbnMoKQogICAgewogICAgICAgICRwID0gbmV3IEFzeW5jUGx1Z2luKCk7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdQVVQnLCAnaHR0cDovL3d3dy5leGFtcGxlLmNvbScpOwogICAgICAgICRlID0gbmV3IEN1cmxFeGNlcHRpb24oJ0Vycm9yJyk7CiAgICAgICAgJGV2ZW50ID0gbmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAncmVxdWVzdCcgICA9PiAkcmVxdWVzdCwKICAgICAgICAgICAgJ2V4Y2VwdGlvbicgPT4gJGUKICAgICAgICApKTsKICAgICAgICAkcC0+b25SZXF1ZXN0VGltZW91dCgkZXZlbnQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoUmVxdWVzdEludGVyZmFjZTo6U1RBVEVfQ09NUExFVEUsICRyZXF1ZXN0LT5nZXRTdGF0ZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMCwgJHJlcXVlc3QtPmdldFJlc3BvbnNlKCktPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlcXVlc3QtPmdldFJlc3BvbnNlKCktPmhhc0hlYWRlcignWC1HdXp6bGUtQXN5bmMnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzSW50ZWdyYXRpb24oKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoIkhUVFAvMS4xIDIwNCBGT09cclxuQ29udGVudC1MZW5ndGg6IDRcclxuXHJcbnRlc3QiKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPnBvc3QoJy8nLCBudWxsLCBhcnJheSgKICAgICAgICAgICAgJ2ZvbycgPT4gJ2JhcicKICAgICAgICApKTsKICAgICAgICAkcmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZFN1YnNjcmliZXIobmV3IEFzeW5jUGx1Z2luKCkpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnJywgJHJlcXVlc3QtPmdldFJlc3BvbnNlKCktPmdldEJvZHkodHJ1ZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpLT5oYXNIZWFkZXIoJ1gtR3V6emxlLUFzeW5jJykpOwogICAgICAgICRyZWNlaXZlZCA9ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cyh0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQT1NUJywgJHJlY2VpdmVkWzBdLT5nZXRNZXRob2QoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/AbstractBackoffStrategyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0Owp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXFRydW5jYXRlZEJhY2tvZmZTdHJhdGVneTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxDYWxsYmFja0JhY2tvZmZTdHJhdGVneTsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxQbHVnaW5cQmFja29mZlxBYnN0cmFjdEJhY2tvZmZTdHJhdGVneQogKi8KY2xhc3MgQWJzdHJhY3RCYWNrb2ZmU3RyYXRlZ3lUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0TW9ja1N0cmF0ZWd5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcUGx1Z2luXEJhY2tvZmZcQWJzdHJhY3RCYWNrb2ZmU3RyYXRlZ3knKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2dldERlbGF5JywgJ21ha2VzRGVjaXNpb24nKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc1plcm9XaGVuTm9OZXh0QW5kR290TnVsbCgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZm9vLmNvbScpOwogICAgICAgICRtb2NrID0gJHRoaXMtPmdldE1vY2tTdHJhdGVneSgpOwogICAgICAgICRtb2NrLT5leHBlY3RzKCR0aGlzLT5hdExlYXN0T25jZSgpKS0+bWV0aG9kKCdnZXREZWxheScpLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShudWxsKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCAkbW9jay0+Z2V0QmFja29mZlBlcmlvZCgwLCAkcmVxdWVzdCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc0ZhbHNlKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5mb28uY29tJyk7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+Z2V0TW9ja1N0cmF0ZWd5KCk7CiAgICAgICAgJG1vY2stPmV4cGVjdHMoJHRoaXMtPmF0TGVhc3RPbmNlKCkpLT5tZXRob2QoJ2dldERlbGF5JyktPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKGZhbHNlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhmYWxzZSwgJG1vY2stPmdldEJhY2tvZmZQZXJpb2QoMCwgJHJlcXVlc3QpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNOZXh0VmFsdWVXaGVuTnVsbE9yVHJ1ZSgpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZm9vLmNvbScpOwogICAgICAgICRtb2NrID0gJHRoaXMtPmdldE1vY2tTdHJhdGVneSgpOwogICAgICAgICRtb2NrLT5leHBlY3RzKCR0aGlzLT5hdExlYXN0T25jZSgpKS0+bWV0aG9kKCdnZXREZWxheScpLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShudWxsKSk7CiAgICAgICAgJG1vY2stPmV4cGVjdHMoJHRoaXMtPmFueSgpKS0+bWV0aG9kKCdtYWtlc0RlY2lzaW9uJyktPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKGZhbHNlKSk7CgogICAgICAgICRtb2NrMiA9ICR0aGlzLT5nZXRNb2NrU3RyYXRlZ3koKTsKICAgICAgICAkbW9jazItPmV4cGVjdHMoJHRoaXMtPmF0TGVhc3RPbmNlKCkpLT5tZXRob2QoJ2dldERlbGF5JyktPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKDEwKSk7CiAgICAgICAgJG1vY2syLT5leHBlY3RzKCR0aGlzLT5hdExlYXN0T25jZSgpKS0+bWV0aG9kKCdtYWtlc0RlY2lzaW9uJyktPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKHRydWUpKTsKICAgICAgICAkbW9jay0+c2V0TmV4dCgkbW9jazIpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEwLCAkbW9jay0+Z2V0QmFja29mZlBlcmlvZCgwLCAkcmVxdWVzdCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc0ZhbHNlV2hlbk51bGxBbmROb05leHQoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3LmZvby5jb20nKTsKICAgICAgICAkcyA9IG5ldyBUcnVuY2F0ZWRCYWNrb2ZmU3RyYXRlZ3koMik7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRzLT5nZXRCYWNrb2ZmUGVyaW9kKDAsICRyZXF1ZXN0KSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNOZXh0KCkKICAgIHsKICAgICAgICAkYSA9IG5ldyBUcnVuY2F0ZWRCYWNrb2ZmU3RyYXRlZ3koMik7CiAgICAgICAgJGIgPSBuZXcgVHJ1bmNhdGVkQmFja29mZlN0cmF0ZWd5KDIpOwogICAgICAgICRhLT5zZXROZXh0KCRiKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYiwgJGEtPmdldE5leHQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTa2lwc090aGVyRGVjaXNpb25zSW5DaGFpbldoZW5PbmVSZXR1cm5zVHJ1ZSgpCiAgICB7CiAgICAgICAgJGEgPSBuZXcgQ2FsbGJhY2tCYWNrb2ZmU3RyYXRlZ3koZnVuY3Rpb24gKCkgeyByZXR1cm4gbnVsbDsgfSwgdHJ1ZSk7CiAgICAgICAgJGIgPSBuZXcgQ2FsbGJhY2tCYWNrb2ZmU3RyYXRlZ3koZnVuY3Rpb24gKCkgeyByZXR1cm4gdHJ1ZTsgfSwgdHJ1ZSk7CiAgICAgICAgJGMgPSBuZXcgQ2FsbGJhY2tCYWNrb2ZmU3RyYXRlZ3koZnVuY3Rpb24gKCkgeyByZXR1cm4gbnVsbDsgfSwgdHJ1ZSk7CiAgICAgICAgJGQgPSBuZXcgQ2FsbGJhY2tCYWNrb2ZmU3RyYXRlZ3koZnVuY3Rpb24gKCkgeyByZXR1cm4gMTA7IH0sIGZhbHNlKTsKICAgICAgICAkYS0+c2V0TmV4dCgkYik7CiAgICAgICAgJGItPnNldE5leHQoJGMpOwogICAgICAgICRjLT5zZXROZXh0KCRkKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEwLCAkYS0+Z2V0QmFja29mZlBlcmlvZCgyLCBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly93d3cuZm9vLmNvbScpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zWmVyb1doZW5EZWNpc2lvbk1ha2VyUmV0dXJuc1RydWVCdXROb0Z1cnRoZXJTdHJhdGVnaWVzQXJlSW5UaGVDaGFpbigpCiAgICB7CiAgICAgICAgJGEgPSBuZXcgQ2FsbGJhY2tCYWNrb2ZmU3RyYXRlZ3koZnVuY3Rpb24gKCkgeyByZXR1cm4gbnVsbDsgfSwgdHJ1ZSk7CiAgICAgICAgJGIgPSBuZXcgQ2FsbGJhY2tCYWNrb2ZmU3RyYXRlZ3koZnVuY3Rpb24gKCkgeyByZXR1cm4gdHJ1ZTsgfSwgdHJ1ZSk7CiAgICAgICAgJGEtPnNldE5leHQoJGIpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKDAsICRhLT5nZXRCYWNrb2ZmUGVyaW9kKDIsIG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5mb28uY29tJykpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/BackoffLoggerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIEd1enpsZVxMb2dcQ2xvc3VyZUxvZ0FkYXB0ZXI7CnVzZSBHdXp6bGVcSHR0cFxDdXJsXEN1cmxIYW5kbGU7CnVzZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmZcQmFja29mZkxvZ2dlcjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RGYWN0b3J5OwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEJhY2tvZmZMb2dnZXIKICovCmNsYXNzIEJhY2tvZmZMb2dnZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgJG1lc3NhZ2U7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+bWVzc2FnZSA9ICcnOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzRXZlbnRMaXN0KCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KEJhY2tvZmZMb2dnZXI6OmdldFN1YnNjcmliZWRFdmVudHMoKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TG9nc0V2ZW50cygpCiAgICB7CiAgICAgICAgbGlzdCgkbG9nUGx1Z2luLCAkcmVxdWVzdCwgJHJlc3BvbnNlKSA9ICR0aGlzLT5nZXRNb2NrcygpOwoKICAgICAgICAkcmVzcG9uc2UgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2UnKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheSg1MDMpKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2dldEluZm8nKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CgogICAgICAgICRyZXNwb25zZS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRJbmZvJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgyKSk7CgogICAgICAgICRoYW5kbGUgPSAkdGhpcy0+Z2V0TW9ja0hhbmRsZSgpOwoKICAgICAgICAkZXZlbnQgPSBuZXcgRXZlbnQoYXJyYXkoCiAgICAgICAgICAgICdyZXF1ZXN0JyAgPT4gJHJlcXVlc3QsCiAgICAgICAgICAgICdyZXNwb25zZScgPT4gJHJlc3BvbnNlLAogICAgICAgICAgICAncmV0cmllcycgID0+IDEsCiAgICAgICAgICAgICdkZWxheScgICAgPT4gMywKICAgICAgICAgICAgJ2hhbmRsZScgICA9PiAkaGFuZGxlCiAgICAgICAgKSk7CgogICAgICAgICRsb2dQbHVnaW4tPm9uUmVxdWVzdFJldHJ5KCRldmVudCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKAogICAgICAgICAgICAnXSBQVVQgaHR0cDovL3d3dy5leGFtcGxlLmNvbSAtIDUwMyBTZXJ2aWNlIFVuYXZhaWxhYmxlIC0gUmV0cmllczogMSwgRGVsYXk6IDMsIFRpbWU6IDIsIDIsIGNVUkw6IDMwIEZvbycsCiAgICAgICAgICAgICR0aGlzLT5tZXNzYWdlCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNldFRlbXBsYXRlKCkKICAgIHsKICAgICAgICAkbCA9IG5ldyBCYWNrb2ZmTG9nZ2VyKG5ldyBDbG9zdXJlTG9nQWRhcHRlcihmdW5jdGlvbiAoKSB7fSkpOwogICAgICAgICRsLT5zZXRUZW1wbGF0ZSgnZm9vJyk7CiAgICAgICAgJHQgPSAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkbCwgJ2Zvcm1hdHRlcicpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICR0aGlzLT5yZWFkQXR0cmlidXRlKCR0LCAndGVtcGxhdGUnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRNb2NrcygpCiAgICB7CiAgICAgICAgJHRoYXQgPSAkdGhpczsKICAgICAgICAkbG9nZ2VyID0gbmV3IENsb3N1cmVMb2dBZGFwdGVyKGZ1bmN0aW9uICgkbWVzc2FnZSkgdXNlICgkdGhhdCkgewogICAgICAgICAgICAkdGhhdC0+bWVzc2FnZSAuPSAkbWVzc2FnZSAuICJcbiI7CiAgICAgICAgfSk7CiAgICAgICAgJGxvZ1BsdWdpbiA9IG5ldyBCYWNrb2ZmTG9nZ2VyKCRsb2dnZXIpOwogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSg1MDMpOwogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnUFVUJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20nLCBhcnJheSgKICAgICAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoJyA9PiAzLAogICAgICAgICAgICAnRm9vJyAgICAgICAgICAgID0+ICdCYXInCiAgICAgICAgKSk7CgogICAgICAgIHJldHVybiBhcnJheSgkbG9nUGx1Z2luLCAkcmVxdWVzdCwgJHJlc3BvbnNlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4gQ3VybEhhbmRsZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0TW9ja0hhbmRsZSgpCiAgICB7CiAgICAgICAgJGhhbmRsZSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXEh0dHBcQ3VybFxDdXJsSGFuZGxlJykKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZ2V0RXJyb3InLCAnZ2V0RXJyb3JObycsICdnZXRJbmZvJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwoKICAgICAgICAkaGFuZGxlLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRFcnJvcicpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJ0ZvbycpKTsKCiAgICAgICAgJGhhbmRsZS0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0RXJyb3JObycpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoMzApKTsKCiAgICAgICAgJGhhbmRsZS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRJbmZvJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgyKSk7CgogICAgICAgIHJldHVybiAkaGFuZGxlOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/BackoffPluginTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxDdXJsRXhjZXB0aW9uOwp1c2UgR3V6emxlXEh0dHBcQ2xpZW50Owp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEJhY2tvZmZQbHVnaW47CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3Q7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXEh0dHBcQ3VybFxDdXJsTXVsdGk7CnVzZSBHdXp6bGVcSHR0cFxDdXJsXEN1cmxNdWx0aUludGVyZmFjZTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxDb25zdGFudEJhY2tvZmZTdHJhdGVneTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxDdXJsQmFja29mZlN0cmF0ZWd5Owp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEh0dHBCYWNrb2ZmU3RyYXRlZ3k7CnVzZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmZcVHJ1bmNhdGVkQmFja29mZlN0cmF0ZWd5Owp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50U3Vic2NyaWJlckludGVyZmFjZTsKCi8qKgogKiBAZ3JvdXAgc2VydmVyCiAqIEBjb3ZlcnMgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEJhY2tvZmZQbHVnaW4KICovCmNsYXNzIEJhY2tvZmZQbHVnaW5UZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZSBpbXBsZW1lbnRzIEV2ZW50U3Vic2NyaWJlckludGVyZmFjZQp7CiAgICBwcm90ZWN0ZWQgJHJldHJpZWQ7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+cmV0cmllZCA9IGZhbHNlOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KEJhY2tvZmZQbHVnaW46OlJFVFJZX0VWRU5UID0+ICdvblJlcXVlc3RSZXRyeScpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBvblJlcXVlc3RSZXRyeShFdmVudCAkZXZlbnQpCiAgICB7CiAgICAgICAgJHRoaXMtPnJldHJpZWQgPSAkZXZlbnQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNFdmVudExpc3QoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoQmFja29mZlBsdWdpbjo6Z2V0QWxsRXZlbnRzKCkpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNEZWZhdWx0RXhwb25lbnRpYWxCYWNrb2ZmUGx1Z2luKCkKICAgIHsKICAgICAgICAkcGx1Z2luID0gQmFja29mZlBsdWdpbjo6Z2V0RXhwb25lbnRpYWxCYWNrb2ZmKDMsIGFycmF5KDIwNCksIGFycmF5KDEwKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxQbHVnaW5cQmFja29mZlxCYWNrb2ZmUGx1Z2luJywgJHBsdWdpbik7CiAgICAgICAgJHN0cmF0ZWd5ID0gJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHBsdWdpbiwgJ3N0cmF0ZWd5Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxQbHVnaW5cQmFja29mZlxUcnVuY2F0ZWRCYWNrb2ZmU3RyYXRlZ3knLCAkc3RyYXRlZ3kpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHN0cmF0ZWd5LCAnbWF4JykpOwogICAgICAgICRzdHJhdGVneSA9ICR0aGlzLT5yZWFkQXR0cmlidXRlKCRzdHJhdGVneSwgJ25leHQnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFBsdWdpblxCYWNrb2ZmXEh0dHBCYWNrb2ZmU3RyYXRlZ3knLCAkc3RyYXRlZ3kpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoMjA0ID0+IHRydWUpLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkc3RyYXRlZ3ksICdlcnJvckNvZGVzJykpOwogICAgICAgICRzdHJhdGVneSA9ICR0aGlzLT5yZWFkQXR0cmlidXRlKCRzdHJhdGVneSwgJ25leHQnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFBsdWdpblxCYWNrb2ZmXEN1cmxCYWNrb2ZmU3RyYXRlZ3knLCAkc3RyYXRlZ3kpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoMTAgPT4gdHJ1ZSksICR0aGlzLT5yZWFkQXR0cmlidXRlKCRzdHJhdGVneSwgJ2Vycm9yQ29kZXMnKSk7CiAgICAgICAgJHN0cmF0ZWd5ID0gJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHN0cmF0ZWd5LCAnbmV4dCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcUGx1Z2luXEJhY2tvZmZcRXhwb25lbnRpYWxCYWNrb2ZmU3RyYXRlZ3knLCAkc3RyYXRlZ3kpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc05vdFJldHJ5VW5sZXNzU3RyYXRlZ3lSZXR1cm5zTnVtYmVyKCkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5leGFtcGxlLmNvbScpOwogICAgICAgICRyZXF1ZXN0LT5zZXRTdGF0ZSgndHJhbnNmZXInKTsKCiAgICAgICAgJG1vY2sgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxQbHVnaW5cQmFja29mZlxCYWNrb2ZmU3RyYXRlZ3lJbnRlcmZhY2UnKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2dldEJhY2tvZmZQZXJpb2QnKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0QmFja29mZlBlcmlvZCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoZmFsc2UpKTsKCiAgICAgICAgJHBsdWdpbiA9IG5ldyBCYWNrb2ZmUGx1Z2luKCRtb2NrKTsKICAgICAgICAkcGx1Z2luLT5hZGRTdWJzY3JpYmVyKCR0aGlzKTsKICAgICAgICAkcGx1Z2luLT5vblJlcXVlc3RTZW50KG5ldyBFdmVudChhcnJheSgncmVxdWVzdCcgPT4gJHJlcXVlc3QpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT5yZXRyaWVkKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVwZGF0ZXNSZXF1ZXN0Rm9yUmV0cnkoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tJyk7CiAgICAgICAgJHJlcXVlc3QtPnNldFN0YXRlKCd0cmFuc2ZlcicpOwogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSg1MDApOwogICAgICAgICRoYW5kbGUgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxIdHRwXEN1cmxcQ3VybEhhbmRsZScpLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpLT5nZXRNb2NrKCk7CiAgICAgICAgJGUgPSBuZXcgQ3VybEV4Y2VwdGlvbigpOwogICAgICAgICRlLT5zZXRDdXJsSGFuZGxlKCRoYW5kbGUpOwoKICAgICAgICAkcGx1Z2luID0gbmV3IEJhY2tvZmZQbHVnaW4obmV3IENvbnN0YW50QmFja29mZlN0cmF0ZWd5KDEwKSk7CiAgICAgICAgJHBsdWdpbi0+YWRkU3Vic2NyaWJlcigkdGhpcyk7CgogICAgICAgICRldmVudCA9IG5ldyBFdmVudChhcnJheSgKICAgICAgICAgICAgJ3JlcXVlc3QnICAgPT4gJHJlcXVlc3QsCiAgICAgICAgICAgICdyZXNwb25zZScgID0+ICRyZXNwb25zZSwKICAgICAgICAgICAgJ2V4Y2VwdGlvbicgPT4gJGUKICAgICAgICApKTsKCiAgICAgICAgJHBsdWdpbi0+b25SZXF1ZXN0U2VudCgkZXZlbnQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdyZXF1ZXN0JyAgPT4gJHJlcXVlc3QsCiAgICAgICAgICAgICdyZXNwb25zZScgPT4gJHJlc3BvbnNlLAogICAgICAgICAgICAnaGFuZGxlJyAgID0+ICRoYW5kbGUsCiAgICAgICAgICAgICdyZXRyaWVzJyAgPT4gMSwKICAgICAgICAgICAgJ2RlbGF5JyAgICA9PiAxMAogICAgICAgICksICR0aGlzLT5yZWFkQXR0cmlidXRlKCR0aGlzLT5yZXRyaWVkLCAnY29udGV4dCcpKTsKCiAgICAgICAgJHBsdWdpbi0+b25SZXF1ZXN0U2VudCgkZXZlbnQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdyZXF1ZXN0JyAgPT4gJHJlcXVlc3QsCiAgICAgICAgICAgICdyZXNwb25zZScgPT4gJHJlc3BvbnNlLAogICAgICAgICAgICAnaGFuZGxlJyAgID0+ICRoYW5kbGUsCiAgICAgICAgICAgICdyZXRyaWVzJyAgPT4gMiwKICAgICAgICAgICAgJ2RlbGF5JyAgICA9PiAxMAogICAgICAgICksICR0aGlzLT5yZWFkQXR0cmlidXRlKCR0aGlzLT5yZXRyaWVkLCAnY29udGV4dCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvZXNOb3RoaW5nV2hlbk5vdFJldHJ5aW5nQW5kUG9sbGluZ1JlcXVlc3QoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3LmZvby5jb20nKTsKICAgICAgICAkcGx1Z2luID0gbmV3IEJhY2tvZmZQbHVnaW4obmV3IENvbnN0YW50QmFja29mZlN0cmF0ZWd5KDEwKSk7CiAgICAgICAgJHBsdWdpbi0+b25SZXF1ZXN0UG9sbChuZXcgRXZlbnQoYXJyYXkoJ3JlcXVlc3QnID0+ICRyZXF1ZXN0KSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0cmllc1JlcXVlc3RzKCkKICAgIHsKICAgICAgICAvLyBDcmVhdGUgYSBzY3JpcHQgdG8gcmV0dXJuIHNldmVyYWwgNTAwIGFuZCA1MDMgcmVzcG9uc2UgY29kZXMKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgNTAwIEludGVybmFsIFNlcnZlciBFcnJvclxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDUwMCBJbnRlcm5hbCBTZXJ2ZXIgRXJyb3JcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIsCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDRcclxuXHJcbmRhdGEiCiAgICAgICAgKSk7CgogICAgICAgICRwbHVnaW4gPSBuZXcgQmFja29mZlBsdWdpbigKICAgICAgICAgICAgbmV3IFRydW5jYXRlZEJhY2tvZmZTdHJhdGVneSgzLAogICAgICAgICAgICAgICAgbmV3IEh0dHBCYWNrb2ZmU3RyYXRlZ3kobnVsbCwKICAgICAgICAgICAgICAgICAgICBuZXcgQ3VybEJhY2tvZmZTdHJhdGVneShudWxsLAogICAgICAgICAgICAgICAgICAgICAgICBuZXcgQ29uc3RhbnRCYWNrb2ZmU3RyYXRlZ3koMC4wNSkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApOwoKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkU3Vic2NyaWJlcigkcGx1Z2luKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CgogICAgICAgIC8vIE1ha2Ugc3VyZSBpdCBldmVudHVhbGx5IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMCwgJHJlcXVlc3QtPmdldFJlc3BvbnNlKCktPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZGF0YScsICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpLT5nZXRCb2R5KHRydWUpKTsKCiAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aHJlZSByZXF1ZXN0cyB3ZXJlIG1hZGUgdG8gcmV0cnkgdGhpcyByZXF1ZXN0CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCBjb3VudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHMoZmFsc2UpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmdldChCYWNrb2ZmUGx1Z2luOjpSRVRSWV9QQVJBTSkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxHdXp6bGVcSHR0cFxFeGNlcHRpb25cU2VydmVyRXJyb3JSZXNwb25zZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhaWxzT25UcnVuY2F0aW9uKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgNTAwIEludGVybmFsIFNlcnZlciBFcnJvclxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDUwMCBJbnRlcm5hbCBTZXJ2ZXIgRXJyb3JcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIKICAgICAgICApKTsKCiAgICAgICAgJHBsdWdpbiA9IG5ldyBCYWNrb2ZmUGx1Z2luKAogICAgICAgICAgICBuZXcgVHJ1bmNhdGVkQmFja29mZlN0cmF0ZWd5KDIsCiAgICAgICAgICAgICAgICBuZXcgSHR0cEJhY2tvZmZTdHJhdGVneShudWxsLAogICAgICAgICAgICAgICAgICAgIG5ldyBDb25zdGFudEJhY2tvZmZTdHJhdGVneSgwLjA1KQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKTsKCiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkcGx1Z2luKTsKICAgICAgICAkY2xpZW50LT5nZXQoKS0+c2VuZCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0cmllc1JlcXVlc3RzV2hlbkluUGFyYWxsZWwoKQogICAgewogICAgICAgIC8vIENyZWF0ZSBhIHNjcmlwdCB0byByZXR1cm4gc2V2ZXJhbCA1MDAgYW5kIDUwMyByZXNwb25zZSBjb2RlcwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoCiAgICAgICAgICAgICJIVFRQLzEuMSA1MDAgSW50ZXJuYWwgU2VydmVyIEVycm9yXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgNTAwIEludGVybmFsIFNlcnZlciBFcnJvclxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDUwMCBJbnRlcm5hbCBTZXJ2ZXIgRXJyb3JcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIsCiAgICAgICAgICAgICJIVFRQLzEuMSA1MDAgSW50ZXJuYWwgU2VydmVyIEVycm9yXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgNTAwIEludGVybmFsIFNlcnZlciBFcnJvclxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDUwMCBJbnRlcm5hbCBTZXJ2ZXIgRXJyb3JcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIsCiAgICAgICAgICAgICJIVFRQLzEuMSA1MDAgSW50ZXJuYWwgU2VydmVyIEVycm9yXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgNTAwIEludGVybmFsIFNlcnZlciBFcnJvclxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDUwMCBJbnRlcm5hbCBTZXJ2ZXIgRXJyb3JcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIsCiAgICAgICAgICAgICJIVFRQLzEuMSA1MDAgSW50ZXJuYWwgU2VydmVyIEVycm9yXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiA0XHJcblxyXG5kYXRhIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogNFxyXG5cclxuZGF0YSIsCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDRcclxuXHJcbmRhdGEiLAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiA0XHJcblxyXG5kYXRhIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogNFxyXG5cclxuZGF0YSIKICAgICAgICApKTsKCiAgICAgICAgJHBsdWdpbiA9IG5ldyBCYWNrb2ZmUGx1Z2luKAogICAgICAgICAgICBuZXcgSHR0cEJhY2tvZmZTdHJhdGVneShudWxsLAogICAgICAgICAgICAgICAgbmV3IFRydW5jYXRlZEJhY2tvZmZTdHJhdGVneSgzLAogICAgICAgICAgICAgICAgICAgIG5ldyBDdXJsQmFja29mZlN0cmF0ZWd5KG51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBDb25zdGFudEJhY2tvZmZTdHJhdGVneSgwLjEpCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkU3Vic2NyaWJlcigkcGx1Z2luKTsKICAgICAgICAkcmVxdWVzdHMgPSBhcnJheSgpOwogICAgICAgIGZvciAoJGkgPSAwOyAkaSA8IDU7ICRpKyspIHsKICAgICAgICAgICAgJHJlcXVlc3RzW10gPSAkY2xpZW50LT5nZXQoKTsKICAgICAgICB9CiAgICAgICAgJGNsaWVudC0+c2VuZCgkcmVxdWVzdHMpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDE1LCBjb3VudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHMoZmFsc2UpKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEd1enpsZVxQbHVnaW5cQmFja29mZlxCYWNrb2ZmUGx1Z2luCiAgICAgKiBAY292ZXJzIEd1enpsZVxIdHRwXEN1cmxcQ3VybE11bHRpCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0cmllc1Bvb2xlZFJlcXVlc3RzVXNpbmdEZWxheUFuZFBvbGxpbmdFdmVudCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZShhcnJheSgKICAgICAgICAgICAgIkhUVFAvMS4xIDUwMCBJbnRlcm5hbCBTZXJ2ZXIgRXJyb3JcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIsCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDRcclxuXHJcbmRhdGEiCiAgICAgICAgKSk7CiAgICAgICAgLy8gTmVlZCB0byBzbGVlcCBmb3Igc29tZSB0aW1lIGVuc3VyZSB0aGF0IHRoZSBwb2xsaW5nIHdvcmtzIGNvcnJlY3RseSBpbiB0aGUgb2JzZXJ2ZXIKICAgICAgICAkcGx1Z2luID0gbmV3IEJhY2tvZmZQbHVnaW4obmV3IEh0dHBCYWNrb2ZmU3RyYXRlZ3kobnVsbCwKICAgICAgICAgICAgbmV3IFRydW5jYXRlZEJhY2tvZmZTdHJhdGVneSgxLAogICAgICAgICAgICAgICAgbmV3IENvbnN0YW50QmFja29mZlN0cmF0ZWd5KDAuNSkpKSk7CgogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKCRwbHVnaW4pOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAvLyBNYWtlIHN1cmUgaXQgZXZlbnR1YWxseSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZGF0YScsICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpLT5nZXRCb2R5KHRydWUpKTsKICAgICAgICAvLyBDaGVjayB0aGF0IHR3byByZXF1ZXN0cyB3ZXJlIG1hZGUgdG8gcmV0cnkgdGhpcyByZXF1ZXN0CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHMoZmFsc2UpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZWVrc1RvQmVnaW5uaW5nT2ZSZXF1ZXN0Qm9keVdoZW5SZXRyeWluZygpCiAgICB7CiAgICAgICAgLy8gQ3JlYXRlIGEgcmVxdWVzdCB3aXRoIGEgYm9keQogICAgICAgICRyZXF1ZXN0ID0gbmV3IEVudGl0eUVuY2xvc2luZ1JlcXVlc3QoJ1BVVCcsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tJyk7CiAgICAgICAgJHJlcXVlc3QtPnNldEJvZHkoJ2FiYycpOwogICAgICAgIC8vIFNldCB0aGUgcmV0cnkgdGltZSB0byBiZSBzb21ldGhpbmcgdGhhdCB3aWxsIGJlIHJldHJpZWQgYWx3YXlzCiAgICAgICAgJHJlcXVlc3QtPmdldFBhcmFtcygpLT5zZXQoQmFja29mZlBsdWdpbjo6REVMQVlfUEFSQU0sIDIpOwogICAgICAgIC8vIFNlZWsgdG8gdGhlIGVuZCBvZiB0aGUgc3RyZWFtCiAgICAgICAgJHJlcXVlc3QtPmdldEJvZHkoKS0+c2VlaygzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcnLCAkcmVxdWVzdC0+Z2V0Qm9keSgpLT5yZWFkKDEpKTsKICAgICAgICAvLyBDcmVhdGUgYSBwbHVnaW4gdGhhdCBkb2VzIG5vdCBkZWxheSB3aGVuIHJldHJ5aW5nCiAgICAgICAgJHBsdWdpbiA9IG5ldyBCYWNrb2ZmUGx1Z2luKG5ldyBDb25zdGFudEJhY2tvZmZTdHJhdGVneSgwKSk7CiAgICAgICAgJHBsdWdpbi0+b25SZXF1ZXN0UG9sbCgkdGhpcy0+Z2V0TW9ja0V2ZW50KCRyZXF1ZXN0KSk7CiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIHN0cmVhbSB3YXMgc2Vla2VkIHRvIDAKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhJywgJHJlcXVlc3QtPmdldEJvZHkoKS0+cmVhZCgxKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzTm90U2Vla09uUmVxdWVzdHNXaXRoTm9Cb2R5V2hlblJldHJ5aW5nKCkKICAgIHsKICAgICAgICAvLyBDcmVhdGUgYSByZXF1ZXN0IHdpdGggYSBib2R5CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgRW50aXR5RW5jbG9zaW5nUmVxdWVzdCgnUFVUJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20nKTsKICAgICAgICAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPnNldChCYWNrb2ZmUGx1Z2luOjpERUxBWV9QQVJBTSwgMik7CiAgICAgICAgJHBsdWdpbiA9IG5ldyBCYWNrb2ZmUGx1Z2luKG5ldyBDb25zdGFudEJhY2tvZmZTdHJhdGVneSgwKSk7CiAgICAgICAgJHBsdWdpbi0+b25SZXF1ZXN0UG9sbCgkdGhpcy0+Z2V0TW9ja0V2ZW50KCRyZXF1ZXN0KSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldE1vY2tFdmVudChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KQogICAgewogICAgICAgIC8vIENyZWF0ZSBhIG1vY2sgY3VybCBtdWx0aSBvYmplY3QKICAgICAgICAkbXVsdGkgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxIdHRwXEN1cmxcQ3VybE11bHRpJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdyZW1vdmUnLCAnYWRkJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwoKICAgICAgICAvLyBDcmVhdGUgYW4gZXZlbnQgdGhhdCBpcyBleHBlY3RlZCBmb3IgdGhlIFBvbGwgZXZlbnQKICAgICAgICAkZXZlbnQgPSBuZXcgRXZlbnQoYXJyYXkoCiAgICAgICAgICAgICdyZXF1ZXN0JyAgICA9PiAkcmVxdWVzdCwKICAgICAgICAgICAgJ2N1cmxfbXVsdGknID0+ICRtdWx0aQogICAgICAgICkpOwogICAgICAgICRldmVudC0+c2V0TmFtZShDdXJsTXVsdGlJbnRlcmZhY2U6OlBPTExJTkdfUkVRVUVTVCk7CgogICAgICAgIHJldHVybiAkZXZlbnQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/CallbackBackoffStrategyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXENhbGxiYWNrQmFja29mZlN0cmF0ZWd5OwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFBsdWdpblxCYWNrb2ZmXENhbGxiYWNrQmFja29mZlN0cmF0ZWd5CiAqLwpjbGFzcyBDYWxsYmFja0JhY2tvZmZTdHJhdGVneVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNJc0NhbGxhYmxlKCkKICAgIHsKICAgICAgICAkc3RyYXRlZ3kgPSBuZXcgQ2FsbGJhY2tCYWNrb2ZmU3RyYXRlZ3kobmV3IFxzdGRDbGFzcygpLCB0cnVlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHJpZXNXaXRoQ2FsbGFibGUoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdCcsIGFycmF5KCksIGFycmF5KCksICcnLCBmYWxzZSk7CiAgICAgICAgJHN0cmF0ZWd5ID0gbmV3IENhbGxiYWNrQmFja29mZlN0cmF0ZWd5KGZ1bmN0aW9uICgpIHsgcmV0dXJuIDEwOyB9LCB0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkc3RyYXRlZ3ktPm1ha2VzRGVjaXNpb24oKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxMCwgJHN0cmF0ZWd5LT5nZXRCYWNrb2ZmUGVyaW9kKDAsICRyZXF1ZXN0KSk7CiAgICAgICAgLy8gRW5zdXJlIGl0IGNoYWlucyBjb3JyZWN0bHkgd2hlbiBudWxsIGlzIHJldHVybmVkCiAgICAgICAgJHN0cmF0ZWd5ID0gbmV3IENhbGxiYWNrQmFja29mZlN0cmF0ZWd5KGZ1bmN0aW9uICgpIHsgcmV0dXJuIG51bGw7IH0sIGZhbHNlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHN0cmF0ZWd5LT5tYWtlc0RlY2lzaW9uKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkc3RyYXRlZ3ktPmdldEJhY2tvZmZQZXJpb2QoMCwgJHJlcXVlc3QpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ConstantBackoffStrategyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXENvbnN0YW50QmFja29mZlN0cmF0ZWd5OwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFBsdWdpblxCYWNrb2ZmXENvbnN0YW50QmFja29mZlN0cmF0ZWd5CiAqLwpjbGFzcyBDb25zdGFudEJhY2tvZmZTdHJhdGVneVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0cmllc1dpdGhDb25zdGFudERlbGF5KCkKICAgIHsKICAgICAgICAkc3RyYXRlZ3kgPSBuZXcgQ29uc3RhbnRCYWNrb2ZmU3RyYXRlZ3koMy41KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHN0cmF0ZWd5LT5tYWtlc0RlY2lzaW9uKCkpOwogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdCcsIGFycmF5KCksIGFycmF5KCksICcnLCBmYWxzZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLjUsICRzdHJhdGVneS0+Z2V0QmFja29mZlBlcmlvZCgwLCAkcmVxdWVzdCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMy41LCAkc3RyYXRlZ3ktPmdldEJhY2tvZmZQZXJpb2QoMSwgJHJlcXVlc3QpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/CurlBackoffStrategyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxDdXJsQmFja29mZlN0cmF0ZWd5Owp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXEN1cmxFeGNlcHRpb247CgovKioKICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXEJhY2tvZmZcQ3VybEJhY2tvZmZTdHJhdGVneQogKiBAY292ZXJzIEd1enpsZVxQbHVnaW5cQmFja29mZlxBYnN0cmFjdEVycm9yQ29kZUJhY2tvZmZTdHJhdGVneQogKi8KY2xhc3MgQ3VybEJhY2tvZmZTdHJhdGVneVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0cmllc1dpdGhFeHBvbmVudGlhbERlbGF5KCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoQ3VybEJhY2tvZmZTdHJhdGVneTo6Z2V0RGVmYXVsdEZhaWx1cmVDb2RlcygpKTsKICAgICAgICAkc3RyYXRlZ3kgPSBuZXcgQ3VybEJhY2tvZmZTdHJhdGVneSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRzdHJhdGVneS0+bWFrZXNEZWNpc2lvbigpKTsKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3QnLCBhcnJheSgpLCBhcnJheSgpLCAnJywgZmFsc2UpOwogICAgICAgICRlID0gbmV3IEN1cmxFeGNlcHRpb24oKTsKICAgICAgICAkZS0+c2V0RXJyb3IoJ2ZvbycsIENVUkxFX0JBRF9DQUxMSU5HX09SREVSKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGZhbHNlLCAkc3RyYXRlZ3ktPmdldEJhY2tvZmZQZXJpb2QoMCwgJHJlcXVlc3QsIG51bGwsICRlKSk7CgogICAgICAgIGZvcmVhY2ggKEN1cmxCYWNrb2ZmU3RyYXRlZ3k6OmdldERlZmF1bHRGYWlsdXJlQ29kZXMoKSBhcyAkY29kZSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsICRzdHJhdGVneS0+Z2V0QmFja29mZlBlcmlvZCgwLCAkcmVxdWVzdCwgbnVsbCwgJGUtPnNldEVycm9yKCdmb28nLCAkY29kZSkpKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJZ25vcmVzTm9uRXJyb3JzKCkKICAgIHsKICAgICAgICAkc3RyYXRlZ3kgPSBuZXcgQ3VybEJhY2tvZmZTdHJhdGVneSgpOwogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdCcsIGFycmF5KCksIGFycmF5KCksICcnLCBmYWxzZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhmYWxzZSwgJHN0cmF0ZWd5LT5nZXRCYWNrb2ZmUGVyaW9kKDAsICRyZXF1ZXN0LCBuZXcgUmVzcG9uc2UoMjAwKSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ExponentialBackoffStrategyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEV4cG9uZW50aWFsQmFja29mZlN0cmF0ZWd5OwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEV4cG9uZW50aWFsQmFja29mZlN0cmF0ZWd5CiAqLwpjbGFzcyBFeHBvbmVudGlhbEJhY2tvZmZTdHJhdGVneVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0cmllc1dpdGhFeHBvbmVudGlhbERlbGF5KCkKICAgIHsKICAgICAgICAkc3RyYXRlZ3kgPSBuZXcgRXhwb25lbnRpYWxCYWNrb2ZmU3RyYXRlZ3koKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHN0cmF0ZWd5LT5tYWtlc0RlY2lzaW9uKCkpOwogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdCcsIGFycmF5KCksIGFycmF5KCksICcnLCBmYWxzZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCAkc3RyYXRlZ3ktPmdldEJhY2tvZmZQZXJpb2QoMCwgJHJlcXVlc3QpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsICRzdHJhdGVneS0+Z2V0QmFja29mZlBlcmlvZCgxLCAkcmVxdWVzdCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNCwgJHN0cmF0ZWd5LT5nZXRCYWNrb2ZmUGVyaW9kKDIsICRyZXF1ZXN0KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg4LCAkc3RyYXRlZ3ktPmdldEJhY2tvZmZQZXJpb2QoMywgJHJlcXVlc3QpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDE2LCAkc3RyYXRlZ3ktPmdldEJhY2tvZmZQZXJpb2QoNCwgJHJlcXVlc3QpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/HttpBackoffStrategyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEh0dHBCYWNrb2ZmU3RyYXRlZ3k7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEh0dHBCYWNrb2ZmU3RyYXRlZ3kKICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXEJhY2tvZmZcQWJzdHJhY3RFcnJvckNvZGVCYWNrb2ZmU3RyYXRlZ3kKICovCmNsYXNzIEh0dHBCYWNrb2ZmU3RyYXRlZ3lUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHJpZXNXaGVuQ29kZU1hdGNoZXMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnROb3RFbXB0eShIdHRwQmFja29mZlN0cmF0ZWd5OjpnZXREZWZhdWx0RmFpbHVyZUNvZGVzKCkpOwogICAgICAgICRzdHJhdGVneSA9IG5ldyBIdHRwQmFja29mZlN0cmF0ZWd5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHN0cmF0ZWd5LT5tYWtlc0RlY2lzaW9uKCkpOwogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdCcsIGFycmF5KCksIGFycmF5KCksICcnLCBmYWxzZSk7CgogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDApOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoZmFsc2UsICRzdHJhdGVneS0+Z2V0QmFja29mZlBlcmlvZCgwLCAkcmVxdWVzdCwgJHJlc3BvbnNlKSk7CiAgICAgICAgJHJlc3BvbnNlLT5zZXRTdGF0dXMoNDAwKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGZhbHNlLCAkc3RyYXRlZ3ktPmdldEJhY2tvZmZQZXJpb2QoMCwgJHJlcXVlc3QsICRyZXNwb25zZSkpOwoKICAgICAgICBmb3JlYWNoIChIdHRwQmFja29mZlN0cmF0ZWd5OjpnZXREZWZhdWx0RmFpbHVyZUNvZGVzKCkgYXMgJGNvZGUpIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCAkc3RyYXRlZ3ktPmdldEJhY2tvZmZQZXJpb2QoMCwgJHJlcXVlc3QsICRyZXNwb25zZS0+c2V0U3RhdHVzKCRjb2RlKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0N1c3RvbUNvZGVzKCkKICAgIHsKICAgICAgICAkc3RyYXRlZ3kgPSBuZXcgSHR0cEJhY2tvZmZTdHJhdGVneShhcnJheSgyMDQpKTsKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3QnLCBhcnJheSgpLCBhcnJheSgpLCAnJywgZmFsc2UpOwogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMCwgJHN0cmF0ZWd5LT5nZXRCYWNrb2ZmUGVyaW9kKDAsICRyZXF1ZXN0LCAkcmVzcG9uc2UpKTsKICAgICAgICAkcmVzcG9uc2UtPnNldFN0YXR1cyg1MDApOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoZmFsc2UsICRzdHJhdGVneS0+Z2V0QmFja29mZlBlcmlvZCgwLCAkcmVxdWVzdCwgJHJlc3BvbnNlKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJZ25vcmVzTm9uRXJyb3JzKCkKICAgIHsKICAgICAgICAkc3RyYXRlZ3kgPSBuZXcgSHR0cEJhY2tvZmZTdHJhdGVneSgpOwogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdCcsIGFycmF5KCksIGFycmF5KCksICcnLCBmYWxzZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhmYWxzZSwgJHN0cmF0ZWd5LT5nZXRCYWNrb2ZmUGVyaW9kKDAsICRyZXF1ZXN0KSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/LinearBackoffStrategyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXExpbmVhckJhY2tvZmZTdHJhdGVneTsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxQbHVnaW5cQmFja29mZlxMaW5lYXJCYWNrb2ZmU3RyYXRlZ3kKICovCmNsYXNzIExpbmVhckJhY2tvZmZTdHJhdGVneVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0cmllc1dpdGhMaW5lYXJEZWxheSgpCiAgICB7CiAgICAgICAgJHN0cmF0ZWd5ID0gbmV3IExpbmVhckJhY2tvZmZTdHJhdGVneSg1KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHN0cmF0ZWd5LT5tYWtlc0RlY2lzaW9uKCkpOwogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdCcsIGFycmF5KCksIGFycmF5KCksICcnLCBmYWxzZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCAkc3RyYXRlZ3ktPmdldEJhY2tvZmZQZXJpb2QoMCwgJHJlcXVlc3QpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDUsICRzdHJhdGVneS0+Z2V0QmFja29mZlBlcmlvZCgxLCAkcmVxdWVzdCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTAsICRzdHJhdGVneS0+Z2V0QmFja29mZlBlcmlvZCgyLCAkcmVxdWVzdCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ReasonPhraseBackoffStrategyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXFJlYXNvblBocmFzZUJhY2tvZmZTdHJhdGVneTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CgovKioKICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXEJhY2tvZmZcUmVhc29uUGhyYXNlQmFja29mZlN0cmF0ZWd5CiAqIEBjb3ZlcnMgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEFic3RyYWN0RXJyb3JDb2RlQmFja29mZlN0cmF0ZWd5CiAqLwpjbGFzcyBSZWFzb25QaHJhc2VCYWNrb2ZmU3RyYXRlZ3lUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHJpZXNXaGVuQ29kZU1hdGNoZXMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRFbXB0eShSZWFzb25QaHJhc2VCYWNrb2ZmU3RyYXRlZ3k6OmdldERlZmF1bHRGYWlsdXJlQ29kZXMoKSk7CiAgICAgICAgJHN0cmF0ZWd5ID0gbmV3IFJlYXNvblBocmFzZUJhY2tvZmZTdHJhdGVneShhcnJheSgnRm9vJywgJ0ludGVybmFsIFNlcnZlciBFcnJvcicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkc3RyYXRlZ3ktPm1ha2VzRGVjaXNpb24oKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+Z2V0TW9jaygnR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0JywgYXJyYXkoKSwgYXJyYXkoKSwgJycsIGZhbHNlKTsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGZhbHNlLCAkc3RyYXRlZ3ktPmdldEJhY2tvZmZQZXJpb2QoMCwgJHJlcXVlc3QsICRyZXNwb25zZSkpOwogICAgICAgICRyZXNwb25zZS0+c2V0U3RhdHVzKDIwMCwgJ0ZvbycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMCwgJHN0cmF0ZWd5LT5nZXRCYWNrb2ZmUGVyaW9kKDAsICRyZXF1ZXN0LCAkcmVzcG9uc2UpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdElnbm9yZXNOb25FcnJvcnMoKQogICAgewogICAgICAgICRzdHJhdGVneSA9IG5ldyBSZWFzb25QaHJhc2VCYWNrb2ZmU3RyYXRlZ3koKTsKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3QnLCBhcnJheSgpLCBhcnJheSgpLCAnJywgZmFsc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoZmFsc2UsICRzdHJhdGVneS0+Z2V0QmFja29mZlBlcmlvZCgwLCAkcmVxdWVzdCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/TruncatedBackoffStrategyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEJhY2tvZmY7Cgp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxUcnVuY2F0ZWRCYWNrb2ZmU3RyYXRlZ3k7CnVzZSBHdXp6bGVcUGx1Z2luXEJhY2tvZmZcSHR0cEJhY2tvZmZTdHJhdGVneTsKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxDb25zdGFudEJhY2tvZmZTdHJhdGVneTsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxQbHVnaW5cQmFja29mZlxUcnVuY2F0ZWRCYWNrb2ZmU3RyYXRlZ3kKICovCmNsYXNzIFRydW5jYXRlZEJhY2tvZmZTdHJhdGVneVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0cmllc1doZW5MZXNzVGhhbk1heCgpCiAgICB7CiAgICAgICAgJHN0cmF0ZWd5ID0gbmV3IFRydW5jYXRlZEJhY2tvZmZTdHJhdGVneSgyKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkc3RyYXRlZ3ktPm1ha2VzRGVjaXNpb24oKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+Z2V0TW9jaygnR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0JywgYXJyYXkoKSwgYXJyYXkoKSwgJycsIGZhbHNlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHN0cmF0ZWd5LT5nZXRCYWNrb2ZmUGVyaW9kKDAsICRyZXF1ZXN0KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRzdHJhdGVneS0+Z2V0QmFja29mZlBlcmlvZCgxLCAkcmVxdWVzdCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkc3RyYXRlZ3ktPmdldEJhY2tvZmZQZXJpb2QoMiwgJHJlcXVlc3QpKTsKCiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDUwMCk7CiAgICAgICAgJHN0cmF0ZWd5LT5zZXROZXh0KG5ldyBIdHRwQmFja29mZlN0cmF0ZWd5KG51bGwsIG5ldyBDb25zdGFudEJhY2tvZmZTdHJhdGVneSgxMCkpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEwLCAkc3RyYXRlZ3ktPmdldEJhY2tvZmZQZXJpb2QoMCwgJHJlcXVlc3QsICRyZXNwb25zZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTAsICRzdHJhdGVneS0+Z2V0QmFja29mZlBlcmlvZCgxLCAkcmVxdWVzdCwgJHJlc3BvbnNlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRzdHJhdGVneS0+Z2V0QmFja29mZlBlcmlvZCgyLCAkcmVxdWVzdCwgJHJlc3BvbnNlKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/CachePluginTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxDb21tb25cRXZlbnQ7CnVzZSBHdXp6bGVcQ29tbW9uXFZlcnNpb247CnVzZSBHdXp6bGVcQ2FjaGVcRG9jdHJpbmVDYWNoZUFkYXB0ZXI7CnVzZSBHdXp6bGVcSHR0cFxDbGllbnQ7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFBsdWdpblxDYWNoZVxDYWNoZVBsdWdpbjsKdXNlIEd1enpsZVxQbHVnaW5cQ2FjaGVcRGVmYXVsdENhY2hlU3RvcmFnZTsKdXNlIEd1enpsZVxQbHVnaW5cQ2FjaGVcQ2FsbGJhY2tDYW5DYWNoZVN0cmF0ZWd5Owp1c2UgRG9jdHJpbmVcQ29tbW9uXENhY2hlXEFycmF5Q2FjaGU7CgovKioKICogQGdyb3VwIHNlcnZlcgogKiBAY292ZXJzIEd1enpsZVxQbHVnaW5cQ2FjaGVcQ2FjaGVQbHVnaW4KICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXENhY2hlXERlZmF1bHRSZXZhbGlkYXRpb24KICovCmNsYXNzIENhY2hlUGx1Z2luVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzRGVmYXVsdFN0b3JhZ2UoKQogICAgewogICAgICAgICRwbHVnaW4gPSBuZXcgQ2FjaGVQbHVnaW4oKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFBsdWdpblxDYWNoZVxDYWNoZVN0b3JhZ2VJbnRlcmZhY2UnLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkcGx1Z2luLCAnc3RvcmFnZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNEZWZhdWx0Q29sbGFib3JhdG9ycygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KENhY2hlUGx1Z2luOjpnZXRTdWJzY3JpYmVkRXZlbnRzKCkpOwogICAgICAgICRwbHVnaW4gPSBuZXcgQ2FjaGVQbHVnaW4oYXJyYXkoCiAgICAgICAgICAgICdzdG9yYWdlJyA9PiAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxQbHVnaW5cQ2FjaGVcQ2FjaGVTdG9yYWdlSW50ZXJmYWNlJyktPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCkKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFBsdWdpblxDYWNoZVxDYWNoZVN0b3JhZ2VJbnRlcmZhY2UnLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkcGx1Z2luLCAnc3RvcmFnZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZigKICAgICAgICAgICAgJ0d1enpsZVxQbHVnaW5cQ2FjaGVcQ2FuQ2FjaGVTdHJhdGVneUludGVyZmFjZScsCiAgICAgICAgICAgICR0aGlzLT5yZWFkQXR0cmlidXRlKCRwbHVnaW4sICdjYW5DYWNoZScpCiAgICAgICAgKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZigKICAgICAgICAgICAgJ0d1enpsZVxQbHVnaW5cQ2FjaGVcUmV2YWxpZGF0aW9uSW50ZXJmYWNlJywKICAgICAgICAgICAgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHBsdWdpbiwgJ3JldmFsaWRhdGlvbicpCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNDYWxsYmFja0NvbGxhYm9yYXRvcnMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnROb3RFbXB0eShDYWNoZVBsdWdpbjo6Z2V0U3Vic2NyaWJlZEV2ZW50cygpKTsKICAgICAgICAkcGx1Z2luID0gbmV3IENhY2hlUGx1Z2luKGFycmF5KCdjYW5fY2FjaGUnID0+IGZ1bmN0aW9uICgpIHt9KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoCiAgICAgICAgICAgICdHdXp6bGVcUGx1Z2luXENhY2hlXENhbGxiYWNrQ2FuQ2FjaGVTdHJhdGVneScsCiAgICAgICAgICAgICR0aGlzLT5yZWFkQXR0cmlidXRlKCRwbHVnaW4sICdjYW5DYWNoZScpCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblBhc3NDYWNoZUFzT25seUFyZ3VtZW50VG9Db25zdHJ1Y3RvcigpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgQ2FjaGVQbHVnaW4obmV3IERvY3RyaW5lQ2FjaGVBZGFwdGVyKG5ldyBBcnJheUNhY2hlKCkpKTsKICAgICAgICAkcCA9IG5ldyBDYWNoZVBsdWdpbihuZXcgRGVmYXVsdENhY2hlU3RvcmFnZShuZXcgRG9jdHJpbmVDYWNoZUFkYXB0ZXIobmV3IEFycmF5Q2FjaGUoKSkpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVzZXNDcmVhdGVkQ2FjaGVTdG9yYWdlKCkKICAgIHsKICAgICAgICAkcGx1Z2luID0gbmV3IENhY2hlUGx1Z2luKGFycmF5KAogICAgICAgICAgICAnYWRhcHRlcicgPT4gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcQ2FjaGVcQ2FjaGVBZGFwdGVySW50ZXJmYWNlJyktPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCkKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFBsdWdpblxDYWNoZVxDYWNoZVN0b3JhZ2VJbnRlcmZhY2UnLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkcGx1Z2luLCAnc3RvcmFnZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVzZXNQcm92aWRlZE9wdGlvbnMoKQogICAgewogICAgICAgICRjYW4gPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxQbHVnaW5cQ2FjaGVcQ2FuQ2FjaGVTdHJhdGVneUludGVyZmFjZScpLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICRyZXZhbGlkYXRlID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcUGx1Z2luXENhY2hlXFJldmFsaWRhdGlvbkludGVyZmFjZScpLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICRwbHVnaW4gPSBuZXcgQ2FjaGVQbHVnaW4oYXJyYXkoCiAgICAgICAgICAgICdzdG9yYWdlJyA9PiAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxQbHVnaW5cQ2FjaGVcQ2FjaGVTdG9yYWdlSW50ZXJmYWNlJyktPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCksCiAgICAgICAgICAgICdjYW5fY2FjaGUnID0+ICRjYW4sCiAgICAgICAgICAgICdyZXZhbGlkYXRpb24nID0+ICRyZXZhbGlkYXRlCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGNhbiwgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHBsdWdpbiwgJ2NhbkNhY2hlJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRyZXZhbGlkYXRlLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkcGx1Z2luLCAncmV2YWxpZGF0aW9uJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzYXRpc2Z5UHJvdmlkZXIoKQogICAgewogICAgICAgICRyZXExID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZm9vLmNvbScsIGFycmF5KCdDYWNoZS1Db250cm9sJyA9PiAnbm8tY2FjaGUnKSk7CgogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgLy8gVGhlIHJlc3BvbnNlIGlzIHRvbyBvbGQgdG8gc2F0aXNmeSB0aGUgcmVxdWVzdAogICAgICAgICAgICBhcnJheShuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9mb28uY29tJywgYXJyYXkoJ0NhY2hlLUNvbnRyb2wnID0+ICdtYXgtYWdlPTIwJykpLCBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnQWdlJyA9PiAxMDApKSwgZmFsc2UsIGZhbHNlKSwKICAgICAgICAgICAgLy8gVGhlIHJlc3BvbnNlIGNhbm5vdCBzYXRpc2Z5IHRoZSByZXF1ZXN0IGJlY2F1c2UgaXQgaXMgc3RhbGUKICAgICAgICAgICAgYXJyYXkobmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZm9vLmNvbScpLCBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnQ2FjaGUtQ29udHJvbCcgPT4gJ21heC1hZ2U9MTAnLCAnQWdlJyA9PiAxMDApKSwgZmFsc2UsIGZhbHNlKSwKICAgICAgICAgICAgLy8gQWxsb3dzIHRoZSBleHBpcmVkIHJlc3BvbnNlIHRvIHNhdGlzZnkgdGhlIHJlcXVlc3QgYmVjYXVzZSBvZiB0aGUgbWF4LXN0YWxlCiAgICAgICAgICAgIGFycmF5KG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2Zvby5jb20nLCBhcnJheSgnQ2FjaGUtQ29udHJvbCcgPT4gJ21heC1zdGFsZT0xNScpKSwgbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoJ0NhY2hlLUNvbnRyb2wnID0+ICdtYXgtYWdlPTkwJywgJ0FnZScgPT4gMTAwKSksIHRydWUsIGZhbHNlKSwKICAgICAgICAgICAgLy8gTWF4IHN0YWxlIGlzID4gdGhhbiB0aGUgYWxsb3dlZCBzdGFsZW5lc3MKICAgICAgICAgICAgYXJyYXkobmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZm9vLmNvbScsIGFycmF5KCdDYWNoZS1Db250cm9sJyA9PiAnbWF4LXN0YWxlPTUnKSksIG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KCdDYWNoZS1Db250cm9sJyA9PiAnbWF4LWFnZT05MCcsICdBZ2UnID0+IDEwMCkpLCBmYWxzZSwgZmFsc2UpLAogICAgICAgICAgICAvLyBQZXJmb3JtcyBjYWNoZSByZXZhbGlkYXRpb24KICAgICAgICAgICAgYXJyYXkoJHJlcTEsIG5ldyBSZXNwb25zZSgyMDApLCB0cnVlLCB0cnVlKSwKICAgICAgICAgICAgLy8gUGVyZm9ybXMgcmV2YWxpZGF0aW9uIGR1ZSB0byBFVGFnIG9uIHRoZSByZXNwb25zZSBhbmQgbm8gY2FjaGUtY29udHJvbCBvbiB0aGUgcmVxdWVzdAogICAgICAgICAgICBhcnJheShuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9mb28uY29tJyksIG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAgICAgJ0VUYWcnID0+ICdBQkMnLAogICAgICAgICAgICAgICAgJ0V4cGlyZXMnID0+IGRhdGUoJ2MnLCBzdHJ0b3RpbWUoJysxIHllYXInKSkKICAgICAgICAgICAgKSksIHRydWUsIHRydWUpLAogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIHNhdGlzZnlQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENoZWNrc0lmUmVzcG9uc2VDYW5TYXRpc2Z5UmVxdWVzdCgkcmVxdWVzdCwgJHJlc3BvbnNlLCAkY2FuLCAkcmV2YWxpZGF0ZXMpCiAgICB7CiAgICAgICAgJGRpZFJldmFsaWRhdGUgPSBmYWxzZTsKICAgICAgICAkc3RvcmFnZSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFBsdWdpblxDYWNoZVxDYWNoZVN0b3JhZ2VJbnRlcmZhY2UnKS0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKICAgICAgICAkcmV2YWxpZGF0ZSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFBsdWdpblxDYWNoZVxEZWZhdWx0UmV2YWxpZGF0aW9uJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdyZXZhbGlkYXRlJykpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KCRzdG9yYWdlKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICAkcmV2YWxpZGF0ZS0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdyZXZhbGlkYXRlJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5DYWxsYmFjayhmdW5jdGlvbiAoKSB1c2UgKCYkZGlkUmV2YWxpZGF0ZSkgewogICAgICAgICAgICAgICAgJGRpZFJldmFsaWRhdGUgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgJHBsdWdpbiA9IG5ldyBDYWNoZVBsdWdpbihhcnJheSgKICAgICAgICAgICAgJ3N0b3JhZ2UnID0+ICRzdG9yYWdlLAogICAgICAgICAgICAncmV2YWxpZGF0aW9uJyA9PiAkcmV2YWxpZGF0ZQogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRjYW4sICRwbHVnaW4tPmNhblJlc3BvbnNlU2F0aXNmeVJlcXVlc3QoJHJlcXVlc3QsICRyZXNwb25zZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGRpZFJldmFsaWRhdGUsICRyZXZhbGlkYXRlcyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNhdGlzZnlGYWlsZWRQcm92aWRlcigpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAvLyBOZWl0aGVyIGhhcyBzdGFsZS1pZi1lcnJvcgogICAgICAgICAgICBhcnJheShuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9mb28uY29tJywgYXJyYXkoKSksIG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KCdBZ2UnID0+IDEwMCkpLCBmYWxzZSksCiAgICAgICAgICAgIC8vIFJlcXVlc3QgaGFzIHN0YWxlLWlmLWVycm9yCiAgICAgICAgICAgIGFycmF5KG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2Zvby5jb20nLCBhcnJheSgnQ2FjaGUtQ29udHJvbCcgPT4gJ3N0YWxlLWlmLWVycm9yJykpLCBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnQWdlJyA9PiAxMDAsICdDYWNoZS1Db250cm9sJyA9PiAnbWF4LWFnZT01MCcpKSwgdHJ1ZSksCiAgICAgICAgICAgIC8vIFJlcXVlc3QgaGFzIHZhbGlkIHN0YWxlLWlmLWVycm9yCiAgICAgICAgICAgIGFycmF5KG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2Zvby5jb20nLCBhcnJheSgnQ2FjaGUtQ29udHJvbCcgPT4gJ3N0YWxlLWlmLWVycm9yPTUwJykpLCBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnQWdlJyA9PiAxMDAsICdDYWNoZS1Db250cm9sJyA9PiAnbWF4LWFnZT01MCcpKSwgdHJ1ZSksCiAgICAgICAgICAgIC8vIFJlcXVlc3QgaGFzIGV4cGlyZWQgc3RhbGUtaWYtZXJyb3IKICAgICAgICAgICAgYXJyYXkobmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZm9vLmNvbScsIGFycmF5KCdDYWNoZS1Db250cm9sJyA9PiAnc3RhbGUtaWYtZXJyb3I9MjAnKSksIG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KCdBZ2UnID0+IDEwMCwgJ0NhY2hlLUNvbnRyb2wnID0+ICdtYXgtYWdlPTUwJykpLCBmYWxzZSksCiAgICAgICAgICAgIC8vIFJlc3BvbnNlIGhhcyBwZXJtYW5lbnQgc3RhbGUtaWYtZXJyb3IKICAgICAgICAgICAgYXJyYXkobmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZm9vLmNvbScsIGFycmF5KCkpLCBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnQWdlJyA9PiAxMDAsICdDYWNoZS1Db250cm9sJyA9PiAnbWF4LWFnZT01MCwgc3RhbGUtaWYtZXJyb3InLCApKSwgdHJ1ZSksCiAgICAgICAgICAgIC8vIFJlc3BvbnNlIGhhcyB2YWxpZCBzdGFsZS1pZi1lcnJvcgogICAgICAgICAgICBhcnJheShuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9mb28uY29tJywgYXJyYXkoKSksIG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KCdBZ2UnID0+IDEwMCwgJ0NhY2hlLUNvbnRyb2wnID0+ICdtYXgtYWdlPTUwLCBzdGFsZS1pZi1lcnJvcj01MCcpKSwgdHJ1ZSksCiAgICAgICAgICAgIC8vIFJlc3BvbnNlIGhhcyBleHBpcmVkIHN0YWxlLWlmLWVycm9yCiAgICAgICAgICAgIGFycmF5KG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2Zvby5jb20nLCBhcnJheSgpKSwgbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoJ0FnZScgPT4gMTAwLCAnQ2FjaGUtQ29udHJvbCcgPT4gJ21heC1hZ2U9NTAsIHN0YWxlLWlmLWVycm9yPTIwJykpLCBmYWxzZSksCiAgICAgICAgICAgIC8vIFJlcXVlc3QgaGFzIHZhbGlkIHN0YWxlLWlmLWVycm9yIGJ1dCByZXNwb25zZSBkb2VzIG5vdAogICAgICAgICAgICBhcnJheShuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9mb28uY29tJywgYXJyYXkoJ0NhY2hlLUNvbnRyb2wnID0+ICdzdGFsZS1pZi1lcnJvcj01MCcpKSwgbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoJ0FnZScgPT4gMTAwLCAnQ2FjaGUtQ29udHJvbCcgPT4gJ21heC1hZ2U9NTAsIHN0YWxlLWlmLWVycm9yPTIwJykpLCBmYWxzZSksCiAgICAgICAgICAgIC8vIFJlc3BvbnNlIGhhcyB2YWxpZCBzdGFsZS1pZi1lcnJvciBidXQgcmVxdWVzdCBkb2VzIG5vdAogICAgICAgICAgICBhcnJheShuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9mb28uY29tJywgYXJyYXkoJ0NhY2hlLUNvbnRyb2wnID0+ICdzdGFsZS1pZi1lcnJvcj0yMCcpKSwgbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoJ0FnZScgPT4gMTAwLCAnQ2FjaGUtQ29udHJvbCcgPT4gJ21heC1hZ2U9NTAsIHN0YWxlLWlmLWVycm9yPTUwJykpLCBmYWxzZSksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgc2F0aXNmeUZhaWxlZFByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2hlY2tzSWZSZXNwb25zZUNhblNhdGlzZnlGYWlsZWRSZXF1ZXN0KCRyZXF1ZXN0LCAkcmVzcG9uc2UsICRjYW4pCiAgICB7CiAgICAgICAgJHBsdWdpbiA9IG5ldyBDYWNoZVBsdWdpbigpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRjYW4sICRwbHVnaW4tPmNhblJlc3BvbnNlU2F0aXNmeUZhaWxlZFJlcXVlc3QoJHJlcXVlc3QsICRyZXNwb25zZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc05vdGhpbmdXaGVuUmVxdWVzdElzTm90Q2FjaGVhYmxlKCkKICAgIHsKICAgICAgICAkc3RvcmFnZSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFBsdWdpblxDYWNoZVxDYWNoZVN0b3JhZ2VJbnRlcmZhY2UnKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2ZldGNoJykpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKICAgICAgICAkc3RvcmFnZS0+ZXhwZWN0cygkdGhpcy0+bmV2ZXIoKSktPm1ldGhvZCgnZmV0Y2gnKTsKCiAgICAgICAgJHBsdWdpbiA9IG5ldyBDYWNoZVBsdWdpbihhcnJheSgKICAgICAgICAgICAgJ3N0b3JhZ2UnICAgPT4gJHN0b3JhZ2UsCiAgICAgICAgICAgICdjYW5fY2FjaGUnID0+IG5ldyBDYWxsYmFja0NhbkNhY2hlU3RyYXRlZ3koZnVuY3Rpb24gKCkgeyByZXR1cm4gZmFsc2U7IH0pCiAgICAgICAgKSk7CgogICAgICAgICRwbHVnaW4tPm9uUmVxdWVzdEJlZm9yZVNlbmQobmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAncmVxdWVzdCcgPT4gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZm9vLmNvbScpCiAgICAgICAgKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzYXRpc2ZpYWJsZVByb3ZpZGVyKCkKICAgIHsKICAgICAgICAkZGF0ZSA9IG5ldyBcRGF0ZVRpbWUoJy0xMCBzZWNvbmRzJyk7CgogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgLy8gRnJlc2ggcmVzcG9uc2UKICAgICAgICAgICAgYXJyYXkobmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoKSwgJ2ZvbycpKSwKICAgICAgICAgICAgLy8gU3RhbGUgcmVzcG9uc2UKICAgICAgICAgICAgYXJyYXkobmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoJ0RhdGUnID0+ICRkYXRlLT5mb3JtYXQoJ2MnKSwgJ0NhY2hlLUNvbnRyb2wnID0+ICdtYXgtYWdlPTUnKSwgJ2ZvbycpKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIHNhdGlzZmlhYmxlUHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJbmplY3RzU2F0aXNmaWFibGVSZXNwb25zZXMoJHJlc3BvbnNlKQogICAgewogICAgICAgICRzdG9yYWdlID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcUGx1Z2luXENhY2hlXENhY2hlU3RvcmFnZUludGVyZmFjZScpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZmV0Y2gnKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICAkc3RvcmFnZS0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKS0+bWV0aG9kKCdmZXRjaCcpLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkcmVzcG9uc2UpKTsKICAgICAgICAkcGx1Z2luID0gbmV3IENhY2hlUGx1Z2luKGFycmF5KCdzdG9yYWdlJyA9PiAkc3RvcmFnZSkpOwogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZm9vLmNvbScsIGFycmF5KCdDYWNoZS1Db250cm9sJyA9PiAnbWF4LXN0YWxlJykpOwogICAgICAgICRwbHVnaW4tPm9uUmVxdWVzdEJlZm9yZVNlbmQobmV3IEV2ZW50KGFycmF5KCdyZXF1ZXN0JyA9PiAkcmVxdWVzdCkpKTsKICAgICAgICAkcGx1Z2luLT5vblJlcXVlc3RTZW50KG5ldyBFdmVudChhcnJheSgncmVxdWVzdCcgPT4gJHJlcXVlc3QsICdyZXNwb25zZScgPT4gJHJlcXVlc3QtPmdldFJlc3BvbnNlKCkpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSwgJHJlcXVlc3QtPmdldFJlc3BvbnNlKCktPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygoc3RyaW5nKSAkcmVzcG9uc2UtPmdldEJvZHkoKSwgKHN0cmluZykgJHJlcXVlc3QtPmdldFJlc3BvbnNlKCktPmdldEJvZHkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlcXVlc3QtPmdldFJlc3BvbnNlKCktPmhhc0hlYWRlcignQWdlJykpOwogICAgICAgIGlmICgkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKS0+aXNGcmVzaCgpID09PSBmYWxzZSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJzExMCcsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpLT5nZXRIZWFkZXIoJ1dhcm5pbmcnKSk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKAogICAgICAgICAgICBzcHJpbnRmKCclcyBHdXp6bGVDYWNoZS8lcycsICRyZXF1ZXN0LT5nZXRQcm90b2NvbFZlcnNpb24oKSwgVmVyc2lvbjo6VkVSU0lPTiksCiAgICAgICAgICAgIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ1ZpYScpCiAgICAgICAgKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgKICAgICAgICAgICAgc3ByaW50ZignJXMgR3V6emxlQ2FjaGUvJXMnLCRyZXF1ZXN0LT5nZXRQcm90b2NvbFZlcnNpb24oKSwgVmVyc2lvbjo6VkVSU0lPTiksCiAgICAgICAgICAgIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpLT5nZXRIZWFkZXIoJ1ZpYScpCiAgICAgICAgKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmdldCgnY2FjaGUubG9va3VwJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+Z2V0KCdjYWNoZS5oaXQnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlcXVlc3QtPmdldFJlc3BvbnNlKCktPmhhc0hlYWRlcignWC1DYWNoZS1Mb29rdXAnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlcXVlc3QtPmdldFJlc3BvbnNlKCktPmhhc0hlYWRlcignWC1DYWNoZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdISVQgZnJvbSBHdXp6bGVDYWNoZScsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpLT5nZXRIZWFkZXIoJ1gtQ2FjaGUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnSElUIGZyb20gR3V6emxlQ2FjaGUnLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKS0+Z2V0SGVhZGVyKCdYLUNhY2hlLUxvb2t1cCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2F0aXNmaWFibGVPbkVycm9yUHJvdmlkZXIoKQogICAgewogICAgICAgICRkYXRlID0gbmV3IFxEYXRlVGltZSgnLTEwIHNlY29uZHMnKTsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0RhdGUnID0+ICRkYXRlLT5mb3JtYXQoJ2MnKSwKICAgICAgICAgICAgICAgICAgICAnQ2FjaGUtQ29udHJvbCcgPT4gJ21heC1hZ2U9NSwgc3RhbGUtaWYtZXJyb3InCiAgICAgICAgICAgICAgICApLCAnZm9vJyksCiAgICAgICAgICAgICkKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciBzYXRpc2ZpYWJsZU9uRXJyb3JQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEluamVjdHNTYXRpc2ZpYWJsZVJlc3BvbnNlc09uRXJyb3IoJGNhY2hlUmVzcG9uc2UpCiAgICB7CiAgICAgICAgJHN0b3JhZ2UgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxQbHVnaW5cQ2FjaGVcQ2FjaGVTdG9yYWdlSW50ZXJmYWNlJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdmZXRjaCcpKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CiAgICAgICAgJHN0b3JhZ2UtPmV4cGVjdHMoJHRoaXMtPmV4YWN0bHkoMikpLT5tZXRob2QoJ2ZldGNoJyktPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRjYWNoZVJlc3BvbnNlKSk7CiAgICAgICAgJHBsdWdpbiA9IG5ldyBDYWNoZVBsdWdpbihhcnJheSgnc3RvcmFnZScgPT4gJHN0b3JhZ2UpKTsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2Zvby5jb20nLCBhcnJheSgnQ2FjaGUtQ29udHJvbCcgPT4gJ21heC1zdGFsZScpKTsKICAgICAgICAkcGx1Z2luLT5vblJlcXVlc3RCZWZvcmVTZW5kKG5ldyBFdmVudChhcnJheSgncmVxdWVzdCcgPT4gJHJlcXVlc3QpKSk7CiAgICAgICAgJHBsdWdpbi0+b25SZXF1ZXN0RXJyb3IoCiAgICAgICAgICAgICRldmVudCA9IG5ldyBFdmVudChhcnJheSgKICAgICAgICAgICAgICAgICdyZXF1ZXN0JyA9PiAkcmVxdWVzdCwKICAgICAgICAgICAgICAgICdyZXNwb25zZScgPT4gJHJlcXVlc3QtPmdldFJlc3BvbnNlKCksCiAgICAgICAgICAgICkpCiAgICAgICAgKTsKICAgICAgICAkcmVzcG9uc2UgPSAkZXZlbnRbJ3Jlc3BvbnNlJ107CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkY2FjaGVSZXNwb25zZS0+Z2V0U3RhdHVzQ29kZSgpLCAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygoc3RyaW5nKSAkY2FjaGVSZXNwb25zZS0+Z2V0Qm9keSgpLCAoc3RyaW5nKSAkcmVzcG9uc2UtPmdldEJvZHkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlc3BvbnNlLT5oYXNIZWFkZXIoJ0FnZScpKTsKICAgICAgICBpZiAoJHJlc3BvbnNlLT5pc0ZyZXNoKCkgPT09IGZhbHNlKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnMTEwJywgKHN0cmluZykgJHJlc3BvbnNlLT5nZXRIZWFkZXIoJ1dhcm5pbmcnKSk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKHNwcmludGYoJyVzIEd1enpsZUNhY2hlLyVzJywgJHJlcXVlc3QtPmdldFByb3RvY29sVmVyc2lvbigpLCBWZXJzaW9uOjpWRVJTSU9OKSwgKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcignVmlhJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKHNwcmludGYoJyVzIEd1enpsZUNhY2hlLyVzJywgJHJlcXVlc3QtPmdldFByb3RvY29sVmVyc2lvbigpLCBWZXJzaW9uOjpWRVJTSU9OKSwgKHN0cmluZykgJHJlc3BvbnNlLT5nZXRIZWFkZXIoJ1ZpYScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmdldCgnY2FjaGUubG9va3VwJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCdlcnJvcicsICRyZXF1ZXN0LT5nZXRQYXJhbXMoKS0+Z2V0KCdjYWNoZS5oaXQnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlc3BvbnNlLT5oYXNIZWFkZXIoJ1gtQ2FjaGUtTG9va3VwJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXNwb25zZS0+aGFzSGVhZGVyKCdYLUNhY2hlJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0hJVCBmcm9tIEd1enpsZUNhY2hlJywgKHN0cmluZykgJHJlc3BvbnNlLT5nZXRIZWFkZXIoJ1gtQ2FjaGUtTG9va3VwJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0hJVF9FUlJPUiBmcm9tIEd1enpsZUNhY2hlJywgKHN0cmluZykgJHJlc3BvbnNlLT5nZXRIZWFkZXIoJ1gtQ2FjaGUnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIHNhdGlzZmlhYmxlT25FcnJvclByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SW5qZWN0c1NhdGlzZmlhYmxlUmVzcG9uc2VzT25FeGNlcHRpb24oJGNhY2hlUmVzcG9uc2UpCiAgICB7CiAgICAgICAgJHN0b3JhZ2UgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxQbHVnaW5cQ2FjaGVcQ2FjaGVTdG9yYWdlSW50ZXJmYWNlJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdmZXRjaCcpKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CiAgICAgICAgJHN0b3JhZ2UtPmV4cGVjdHMoJHRoaXMtPmV4YWN0bHkoMikpLT5tZXRob2QoJ2ZldGNoJyktPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRjYWNoZVJlc3BvbnNlKSk7CiAgICAgICAgJHBsdWdpbiA9IG5ldyBDYWNoZVBsdWdpbihhcnJheSgnc3RvcmFnZScgPT4gJHN0b3JhZ2UpKTsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2Zvby5jb20nLCBhcnJheSgnQ2FjaGUtQ29udHJvbCcgPT4gJ21heC1zdGFsZScpKTsKICAgICAgICAkcGx1Z2luLT5vblJlcXVlc3RCZWZvcmVTZW5kKG5ldyBFdmVudChhcnJheSgKICAgICAgICAgICAgJ3JlcXVlc3QnID0+ICRyZXF1ZXN0CiAgICAgICAgKSkpOwogICAgICAgICRwbHVnaW4tPm9uUmVxdWVzdEV4Y2VwdGlvbigKICAgICAgICAgICAgbmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAgICAgJ3JlcXVlc3QnID0+ICRyZXF1ZXN0LAogICAgICAgICAgICAgICAgJ3Jlc3BvbnNlJyA9PiAkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKSwKICAgICAgICAgICAgICAgICdleGNlcHRpb24nID0+ICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcSHR0cFxFeGNlcHRpb25cQ3VybEV4Y2VwdGlvbicpLAogICAgICAgICAgICApKQogICAgICAgICk7CiAgICAgICAgJHBsdWdpbi0+b25SZXF1ZXN0U2VudCgKICAgICAgICAgICAgbmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAgICAgJ3JlcXVlc3QnID0+ICRyZXF1ZXN0LAogICAgICAgICAgICAgICAgJ3Jlc3BvbnNlJyA9PiAkcmVzcG9uc2UgPSAkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKSwKICAgICAgICAgICAgKSkKICAgICAgICApOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGNhY2hlUmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSwgJHJlc3BvbnNlLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoKHN0cmluZykgJGNhY2hlUmVzcG9uc2UtPmdldEJvZHkoKSwgKHN0cmluZykgJHJlc3BvbnNlLT5nZXRCb2R5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXNwb25zZS0+aGFzSGVhZGVyKCdBZ2UnKSk7CiAgICAgICAgaWYgKCRyZXNwb25zZS0+aXNGcmVzaCgpID09PSBmYWxzZSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJzExMCcsIChzdHJpbmcpICRyZXNwb25zZS0+Z2V0SGVhZGVyKCdXYXJuaW5nJykpOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZShzcHJpbnRmKCclcyBHdXp6bGVDYWNoZS8lcycsICRyZXF1ZXN0LT5nZXRQcm90b2NvbFZlcnNpb24oKSwgVmVyc2lvbjo6VkVSU0lPTiksIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ1ZpYScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZShzcHJpbnRmKCclcyBHdXp6bGVDYWNoZS8lcycsICRyZXF1ZXN0LT5nZXRQcm90b2NvbFZlcnNpb24oKSwgVmVyc2lvbjo6VkVSU0lPTiksIChzdHJpbmcpICRyZXNwb25zZS0+Z2V0SGVhZGVyKCdWaWEnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHJlcXVlc3QtPmdldFBhcmFtcygpLT5nZXQoJ2NhY2hlLmxvb2t1cCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgnZXJyb3InLCAkcmVxdWVzdC0+Z2V0UGFyYW1zKCktPmdldCgnY2FjaGUuaGl0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRyZXNwb25zZS0+aGFzSGVhZGVyKCdYLUNhY2hlLUxvb2t1cCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcmVzcG9uc2UtPmhhc0hlYWRlcignWC1DYWNoZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdISVQgZnJvbSBHdXp6bGVDYWNoZScsIChzdHJpbmcpICRyZXNwb25zZS0+Z2V0SGVhZGVyKCdYLUNhY2hlLUxvb2t1cCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdISVRfRVJST1IgZnJvbSBHdXp6bGVDYWNoZScsIChzdHJpbmcpICRyZXNwb25zZS0+Z2V0SGVhZGVyKCdYLUNhY2hlJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB1bnNhdGlzZmlhYmxlT25FcnJvclByb3ZpZGVyKCkKICAgIHsKICAgICAgICAkZGF0ZSA9IG5ldyBcRGF0ZVRpbWUoJy0xMCBzZWNvbmRzJyk7CgogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgLy8gbm8tc3RvcmUgb24gcmVxdWVzdAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGZhbHNlLAogICAgICAgICAgICAgICAgYXJyYXkoJ0NhY2hlLUNvbnRyb2wnID0+ICduby1zdG9yZScpLAogICAgICAgICAgICAgICAgbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoJ0RhdGUnID0+ICRkYXRlLT5mb3JtYXQoJ0QsIGQgTSBZIEg6aTpzIFQnKSwgJ0NhY2hlLUNvbnRyb2wnID0+ICdtYXgtYWdlPTUsIHN0YWxlLWlmLWVycm9yJyksICdmb28nKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gcmVxdWVzdCBleHBpcmVkCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgdHJ1ZSwKICAgICAgICAgICAgICAgIGFycmF5KCdDYWNoZS1Db250cm9sJyA9PiAnc3RhbGUtaWYtZXJyb3I9NCcpLAogICAgICAgICAgICAgICAgbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoJ0RhdGUnID0+ICRkYXRlLT5mb3JtYXQoJ0QsIGQgTSBZIEg6aTpzIFQnKSwgJ0NhY2hlLUNvbnRyb2wnID0+ICdtYXgtYWdlPTUsIHN0YWxlLWlmLWVycm9yJyksICdmb28nKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gcmVzcG9uc2UgZXhwaXJlZAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIHRydWUsCiAgICAgICAgICAgICAgICBhcnJheSgnQ2FjaGUtQ29udHJvbCcgPT4gJ3N0YWxlLWlmLWVycm9yJyksCiAgICAgICAgICAgICAgICBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnRGF0ZScgPT4gJGRhdGUtPmZvcm1hdCgnRCwgZCBNIFkgSDppOnMgVCcpLCAnQ2FjaGUtQ29udHJvbCcgPT4gJ21heC1hZ2U9NSwgc3RhbGUtaWYtZXJyb3I9NCcpLCAnZm9vJyksCiAgICAgICAgICAgICksCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgdW5zYXRpc2ZpYWJsZU9uRXJyb3JQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvZXNOb3RJbmplY3RVbnNhdGlzZmlhYmxlUmVzcG9uc2VzT25FcnJvcigkcmVxdWVzdENhbkNhY2hlLCAkcmVxdWVzdEhlYWRlcnMsICRjYWNoZVJlc3BvbnNlKQogICAgewogICAgICAgICRzdG9yYWdlID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcUGx1Z2luXENhY2hlXENhY2hlU3RvcmFnZUludGVyZmFjZScpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZmV0Y2gnKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICRzdG9yYWdlLT5leHBlY3RzKCR0aGlzLT5leGFjdGx5KCRyZXF1ZXN0Q2FuQ2FjaGUgPyAyIDogMCkpLT5tZXRob2QoJ2ZldGNoJyktPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRjYWNoZVJlc3BvbnNlKSk7CiAgICAgICAgJHBsdWdpbiA9IG5ldyBDYWNoZVBsdWdpbihhcnJheSgnc3RvcmFnZScgPT4gJHN0b3JhZ2UpKTsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2Zvby5jb20nLCAkcmVxdWVzdEhlYWRlcnMpOwogICAgICAgICRwbHVnaW4tPm9uUmVxdWVzdEJlZm9yZVNlbmQobmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAncmVxdWVzdCcgPT4gJHJlcXVlc3QKICAgICAgICApKSk7CiAgICAgICAgJHBsdWdpbi0+b25SZXF1ZXN0RXJyb3IoCiAgICAgICAgICAgICRldmVudCA9IG5ldyBFdmVudChhcnJheSgKICAgICAgICAgICAgICAgICdyZXF1ZXN0JyA9PiAkcmVxdWVzdCwKICAgICAgICAgICAgICAgICdyZXNwb25zZScgPT4gJHJlc3BvbnNlID0gJHJlcXVlc3QtPmdldFJlc3BvbnNlKCksCiAgICAgICAgICAgICkpCiAgICAgICAgKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHJlc3BvbnNlLCAkZXZlbnRbJ3Jlc3BvbnNlJ10pOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciB1bnNhdGlzZmlhYmxlT25FcnJvclByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc05vdEluamVjdFVuc2F0aXNmaWFibGVSZXNwb25zZXNPbkV4Y2VwdGlvbigkcmVxdWVzdENhbkNhY2hlLCAkcmVxdWVzdEhlYWRlcnMsICRyZXNwb25zZVBhcnRzKQogICAgewogICAgICAgICRzdG9yYWdlID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcUGx1Z2luXENhY2hlXENhY2hlU3RvcmFnZUludGVyZmFjZScpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZmV0Y2gnKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICRzdG9yYWdlLT5leHBlY3RzKCR0aGlzLT5leGFjdGx5KCRyZXF1ZXN0Q2FuQ2FjaGUgPyAyIDogMCkpLT5tZXRob2QoJ2ZldGNoJyktPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRyZXNwb25zZVBhcnRzKSk7CiAgICAgICAgJHBsdWdpbiA9IG5ldyBDYWNoZVBsdWdpbihhcnJheSgnc3RvcmFnZScgPT4gJHN0b3JhZ2UpKTsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2Zvby5jb20nLCAkcmVxdWVzdEhlYWRlcnMpOwogICAgICAgICRwbHVnaW4tPm9uUmVxdWVzdEJlZm9yZVNlbmQobmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAncmVxdWVzdCcgPT4gJHJlcXVlc3QKICAgICAgICApKSk7CiAgICAgICAgJHBsdWdpbi0+b25SZXF1ZXN0RXhjZXB0aW9uKAogICAgICAgICAgICAkZXZlbnQgPSBuZXcgRXZlbnQoYXJyYXkoCiAgICAgICAgICAgICAgICAncmVxdWVzdCcgPT4gJHJlcXVlc3QsCiAgICAgICAgICAgICAgICAncmVzcG9uc2UnID0+ICRyZXNwb25zZSA9ICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpLAogICAgICAgICAgICAgICAgJ2V4Y2VwdGlvbicgPT4gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxIdHRwXEV4Y2VwdGlvblxDdXJsRXhjZXB0aW9uJyksCiAgICAgICAgICAgICkpCiAgICAgICAgKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHJlc3BvbnNlLCAkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYWNoZXNSZXNwb25zZXNXaGVuQ2FjaGVhYmxlKCkKICAgIHsKICAgICAgICAkY2FjaGUgPSBuZXcgQXJyYXlDYWNoZSgpOwogICAgICAgICRwbHVnaW4gPSBuZXcgQ2FjaGVQbHVnaW4oJGNhY2hlKTsKCiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9mb28uY29tJyk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoKSwgJ0ZvbycpOwogICAgICAgICRwbHVnaW4tPm9uUmVxdWVzdEJlZm9yZVNlbmQobmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAncmVxdWVzdCcgPT4gJHJlcXVlc3QKICAgICAgICApKSk7CiAgICAgICAgJHBsdWdpbi0+b25SZXF1ZXN0U2VudChuZXcgRXZlbnQoYXJyYXkoCiAgICAgICAgICAgICdyZXF1ZXN0JyAgPT4gJHJlcXVlc3QsCiAgICAgICAgICAgICdyZXNwb25zZScgPT4gJHJlc3BvbnNlCiAgICAgICAgKSkpOwogICAgICAgICRkYXRhID0gJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGNhY2hlLCAnZGF0YScpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RFbXB0eSgkZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQdXJnZXNSZXF1ZXN0cygpCiAgICB7CiAgICAgICAgJHN0b3JhZ2UgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxQbHVnaW5cQ2FjaGVcQ2FjaGVTdG9yYWdlSW50ZXJmYWNlJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdwdXJnZScpKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CiAgICAgICAgJHN0b3JhZ2UtPmV4cGVjdHMoJHRoaXMtPmF0TGVhc3RPbmNlKCkpLT5tZXRob2QoJ3B1cmdlJyk7CiAgICAgICAgJHBsdWdpbiA9IG5ldyBDYWNoZVBsdWdpbihhcnJheSgnc3RvcmFnZScgPT4gJHN0b3JhZ2UpKTsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2Zvby5jb20nLCBhcnJheSgnWC1Gb28nID0+ICdCYXInKSk7CiAgICAgICAgJHBsdWdpbi0+cHVyZ2UoJHJlcXVlc3QpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QXV0b1B1cmdlc1JlcXVlc3RzKCkKICAgIHsKICAgICAgICAkc3RvcmFnZSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFBsdWdpblxDYWNoZVxDYWNoZVN0b3JhZ2VJbnRlcmZhY2UnKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ3B1cmdlJykpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKICAgICAgICAkc3RvcmFnZS0+ZXhwZWN0cygkdGhpcy0+YXRMZWFzdE9uY2UoKSktPm1ldGhvZCgncHVyZ2UnKTsKICAgICAgICAkcGx1Z2luID0gbmV3IENhY2hlUGx1Z2luKGFycmF5KCdzdG9yYWdlJyA9PiAkc3RvcmFnZSwgJ2F1dG9fcHVyZ2UnID0+IHRydWUpKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+cHV0KCdodHRwOi8vZm9vLmNvbScsIGFycmF5KCdYLUZvbycgPT4gJ0JhcicpKTsKICAgICAgICAkcmVxdWVzdC0+YWRkU3Vic2NyaWJlcigkcGx1Z2luKTsKICAgICAgICAkcmVxdWVzdC0+c2V0UmVzcG9uc2UobmV3IFJlc3BvbnNlKDIwMCksIHRydWUpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/CallbackCanCacheStrategyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXENhY2hlOwoKdXNlIERvY3RyaW5lXENvbW1vblxDYWNoZVxBcnJheUNhY2hlOwp1c2UgR3V6emxlXENhY2hlXERvY3RyaW5lQ2FjaGVBZGFwdGVyOwp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcUGx1Z2luXENhY2hlXENhY2hlUGx1Z2luOwp1c2UgR3V6emxlXFBsdWdpblxDYWNoZVxDYWxsYmFja0NhbkNhY2hlU3RyYXRlZ3k7CgovKioKICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXENhY2hlXENhbGxiYWNrQ2FuQ2FjaGVTdHJhdGVneQogKi8KY2xhc3MgQ2FsbGJhY2tDYW5DYWNoZVN0cmF0ZWd5VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbnN0cnVjdG9yRW5zdXJlc0NhbGxiYWNrSXNDYWxsYWJsZSgpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgQ2FsbGJhY2tDYW5DYWNoZVN0cmF0ZWd5KG5ldyBcc3RkQ2xhc3MoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzQ2FsbGJhY2soKQogICAgewogICAgICAgICRjID0gbmV3IENhbGxiYWNrQ2FuQ2FjaGVTdHJhdGVneShmdW5jdGlvbiAoJHJlcXVlc3QpIHsgcmV0dXJuIHRydWU7IH0pOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRjLT5jYW5DYWNoZVJlcXVlc3QobmV3IFJlcXVlc3QoJ0RFTEVURScsICdodHRwOi8vd3d3LmZvby5jb20nKSkpOwogICAgfQoKICAgIC8qKgogICAgICogVGhlIGZvbGxvd2luZyBpcyBhIGJpdCBvZiBhbiBpbnRlZ3JhdGlvbiB0ZXN0IHRvIGVuc3VyZSB0aGF0IHRoZSBDYWNoZVBsdWdpbiBob25vcnMgYQogICAgICogY3VzdG9tIGNhbiBjYWNoZSBzdHJhdGVneS4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJbnRlZ3JhdGlvbldpdGhDYWNoZVBsdWdpbigpCiAgICB7CiAgICAgICAgJGMgPSBuZXcgQ2FsbGJhY2tDYW5DYWNoZVN0cmF0ZWd5KAogICAgICAgICAgICBmdW5jdGlvbiAoJHJlcXVlc3QpIHsgcmV0dXJuIHRydWU7IH0sCiAgICAgICAgICAgIGZ1bmN0aW9uICgkcmVzcG9uc2UpIHsgcmV0dXJuIHRydWU7IH0KICAgICAgICApOwoKICAgICAgICAvLyBNYWtlIGEgcmVxdWVzdCBhbmQgcmVzcG9uc2UgdGhhdCBoYXZlIG5vIGJ1c2luZXNzIGJlaW5nIGNhY2hlZAogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0RFTEVURScsICdodHRwOi8vd3d3LmZvby5jb20nKTsKICAgICAgICAkcmVzcG9uc2UgPSBSZXNwb25zZTo6ZnJvbU1lc3NhZ2UoCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuIgogICAgICAgICAgICAuICJFeHBpcmVzOiBNb24sIDI2IEp1bCAxOTk3IDA1OjAwOjAwIEdNVFxyXG4iCiAgICAgICAgICAgIC4gIkxhc3QtTW9kaWZpZWQ6IFdlZCwgMDkgSmFuIDIwMTMgMDg6NDg6NTMgR01UXHJcbiIKICAgICAgICAgICAgLiAiQ29udGVudC1MZW5ndGg6IDJcclxuIgogICAgICAgICAgICAuICJDYWNoZS1Db250cm9sOiBuby1zdG9yZSwgbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZSwgcG9zdC1jaGVjaz0wLCBwcmUtY2hlY2s9MFxyXG5cclxuIgogICAgICAgICAgICAuICJoaSIKICAgICAgICApOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkYy0+Y2FuQ2FjaGVSZXF1ZXN0KCRyZXF1ZXN0KSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGMtPmNhbkNhY2hlUmVzcG9uc2UoJHJlc3BvbnNlKSk7CgogICAgICAgICRzID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcUGx1Z2luXENhY2hlXERlZmF1bHRDYWNoZVN0b3JhZ2UnKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheShuZXcgRG9jdHJpbmVDYWNoZUFkYXB0ZXIobmV3IEFycmF5Q2FjaGUoKSkpKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2ZldGNoJykpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKCiAgICAgICAgJHMtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2ZldGNoJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkcmVzcG9uc2UpKTsKCiAgICAgICAgJHBsdWdpbiA9IG5ldyBDYWNoZVBsdWdpbihhcnJheSgnY2FuX2NhY2hlJyA9PiAkYywgJ3N0b3JhZ2UnID0+ICRzKSk7CiAgICAgICAgJHBsdWdpbi0+b25SZXF1ZXN0QmVmb3JlU2VuZChuZXcgRXZlbnQoYXJyYXkoJ3JlcXVlc3QnID0+ICRyZXF1ZXN0KSkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMCwgJHJlcXVlc3QtPmdldFJlc3BvbnNlKCktPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaGknLCAkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKS0+Z2V0Qm9keSh0cnVlKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultCacheStorageTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxDYWNoZVxEb2N0cmluZUNhY2hlQWRhcHRlcjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEZhY3Rvcnk7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFBsdWdpblxDYWNoZVxEZWZhdWx0Q2FjaGVTdG9yYWdlOwp1c2UgRG9jdHJpbmVcQ29tbW9uXENhY2hlXEFycmF5Q2FjaGU7CgovKioKICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXENhY2hlXERlZmF1bHRDYWNoZVN0b3JhZ2UKICovCmNsYXNzIERlZmF1bHRDYWNoZVN0b3JhZ2VUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0Q2FjaGUoKQogICAgewogICAgICAgICRhID0gbmV3IEFycmF5Q2FjaGUoKTsKICAgICAgICAkYyA9IG5ldyBEb2N0cmluZUNhY2hlQWRhcHRlcigkYSk7CiAgICAgICAgJHMgPSBuZXcgRGVmYXVsdENhY2hlU3RvcmFnZSgkYyk7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9mb28uY29tJywgYXJyYXkoJ0FjY2VwdCcgPT4gJ2FwcGxpY2F0aW9uL2pzb24nKSk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgJ0Nvbm5lY3Rpb24nID0+ICdjbG9zZScsCiAgICAgICAgICAgICdYLUZvbycgPT4gJ0JhcicsCiAgICAgICAgICAgICdWYXJ5JyA9PiAnQWNjZXB0JwogICAgICAgICksICd0ZXN0Jyk7CiAgICAgICAgJHMtPmNhY2hlKCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgICRkYXRhID0gJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGEsICdkYXRhJyk7CgogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgJ2NhY2hlJyA9PiAkYSwKICAgICAgICAgICAgJ2FkYXB0ZXInID0+ICRjLAogICAgICAgICAgICAnc3RvcmFnZScgPT4gJHMsCiAgICAgICAgICAgICdyZXF1ZXN0JyA9PiAkcmVxdWVzdCwKICAgICAgICAgICAgJ3Jlc3BvbnNlJyA9PiAkcmVzcG9uc2UsCiAgICAgICAgICAgICdzZXJpYWxpemVkJyA9PiBlbmQoJGRhdGEpCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNOdWxsRm9yQ2FjaGVNaXNzKCkKICAgIHsKICAgICAgICAkY2FjaGUgPSAkdGhpcy0+Z2V0Q2FjaGUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkY2FjaGVbJ3N0b3JhZ2UnXS0+ZmV0Y2gobmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vdGVzdC5jb20nKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FjaGVzUmVxdWVzdHMoKQogICAgewogICAgICAgICRjYWNoZSA9ICR0aGlzLT5nZXRDYWNoZSgpOwogICAgICAgICRmb3VuZFJlcXVlc3QgPSAkZm91bmRCb2R5ID0gJGJvZHlLZXkgPSBmYWxzZTsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY2FjaGVbJ2NhY2hlJ10sICdkYXRhJykgYXMgJGtleSA9PiAkdikgewogICAgICAgICAgICBpZiAoc3RycG9zKCR2LCAnZm9vLmNvbScpKSB7CiAgICAgICAgICAgICAgICAkZm91bmRSZXF1ZXN0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICRkYXRhID0gdW5zZXJpYWxpemUoJHYpOwogICAgICAgICAgICAgICAgJGJvZHlLZXkgPSAkZGF0YVswXVszXTsKICAgICAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2ludGVnZXInLCAkZGF0YVswXVs0XSk7CiAgICAgICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoaXNzZXQoJGRhdGFbMF1bMF1bJ2Nvbm5lY3Rpb24nXSkpOwogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vLmNvbScsICRkYXRhWzBdWzBdWydob3N0J10pOwogICAgICAgICAgICB9IGVsc2VpZiAoJHYgPT0gJ3Rlc3QnKSB7CiAgICAgICAgICAgICAgICAkZm91bmRCb2R5ID0gJGtleTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJGJvZHlLZXksICRmb3VuZEJvZHkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRmb3VuZFJlcXVlc3QpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmV0Y2hlc1Jlc3BvbnNlKCkKICAgIHsKICAgICAgICAkY2FjaGUgPSAkdGhpcy0+Z2V0Q2FjaGUoKTsKICAgICAgICAkcmVzcG9uc2UgPSAkY2FjaGVbJ3N0b3JhZ2UnXS0+ZmV0Y2goJGNhY2hlWydyZXF1ZXN0J10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAwLCAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRyZXNwb25zZS0+aGFzSGVhZGVyKCdDb25uZWN0aW9uJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0JhcicsIChzdHJpbmcpICRyZXNwb25zZS0+Z2V0SGVhZGVyKCdYLUZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgKHN0cmluZykgJHJlc3BvbnNlLT5nZXRCb2R5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKGluX2FycmF5KCRjYWNoZVsnc2VyaWFsaXplZCddLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY2FjaGVbJ2NhY2hlJ10sICdkYXRhJykpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlbGV0ZXNSZXF1ZXN0SXRlbXNBbmRCb2R5KCkKICAgIHsKICAgICAgICAkY2FjaGUgPSAkdGhpcy0+Z2V0Q2FjaGUoKTsKICAgICAgICAkY2FjaGVbJ3N0b3JhZ2UnXS0+ZGVsZXRlKCRjYWNoZVsncmVxdWVzdCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoaW5fYXJyYXkoJ3Rlc3QnLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY2FjaGVbJ2NhY2hlJ10sICdkYXRhJykpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoaW5fYXJyYXkoJGNhY2hlWydzZXJpYWxpemVkJ10sICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjYWNoZVsnY2FjaGUnXSwgJ2RhdGEnKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FjaGVzTXVsdGlwbGVSZXF1ZXN0c1dpdGhWYXJ5KCkKICAgIHsKICAgICAgICAkY2FjaGUgPSAkdGhpcy0+Z2V0Q2FjaGUoKTsKICAgICAgICAkY2FjaGVbJ3JlcXVlc3QnXS0+c2V0SGVhZGVyKCdBY2NlcHQnLCAnYXBwbGljYXRpb24veG1sJyk7CiAgICAgICAgJHJlc3BvbnNlID0gJGNhY2hlWydyZXNwb25zZSddLT5zZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi94bWwnKTsKICAgICAgICAkcmVzcG9uc2UtPnNldEJvZHkoJzEyMycpOwogICAgICAgICRjYWNoZVsnc3RvcmFnZSddLT5jYWNoZSgkY2FjaGVbJ3JlcXVlc3QnXSwgJHJlc3BvbnNlKTsKICAgICAgICAkZGF0YSA9ICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjYWNoZVsnY2FjaGUnXSwgJ2RhdGEnKTsKICAgICAgICBmb3JlYWNoICgkZGF0YSBhcyAkdikgewogICAgICAgICAgICBpZiAoc3RycG9zKCR2LCAnZm9vLmNvbScpKSB7CiAgICAgICAgICAgICAgICAkdSA9IHVuc2VyaWFsaXplKCR2KTsKICAgICAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJHUpKTsKICAgICAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHVbMF1bMF1bJ2FjY2VwdCddLCAnYXBwbGljYXRpb24veG1sJyk7CiAgICAgICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR1WzBdWzFdWydjb250ZW50LXR5cGUnXSwgJ2FwcGxpY2F0aW9uL3htbCcpOwogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdVsxXVswXVsnYWNjZXB0J10sICdhcHBsaWNhdGlvbi9qc29uJyk7CiAgICAgICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR1WzFdWzFdWydjb250ZW50LXR5cGUnXSwgJ2FwcGxpY2F0aW9uL2pzb24nKTsKICAgICAgICAgICAgICAgICR0aGlzLT5hc3NlcnROb3RTYW1lKCR1WzBdWzNdLCAkdVsxXVszXSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFB1cmdlUmVtb3Zlc0FsbE1ldGhvZENhY2hlcygpCiAgICB7CiAgICAgICAgJGNhY2hlID0gJHRoaXMtPmdldENhY2hlKCk7CiAgICAgICAgZm9yZWFjaCAoYXJyYXkoJ0hFQUQnLCAnUE9TVCcsICdQVVQnLCAnREVMRVRFJykgYXMgJG1ldGhvZCkgewogICAgICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jbG9uZVJlcXVlc3RXaXRoTWV0aG9kKCRjYWNoZVsncmVxdWVzdCddLCAkbWV0aG9kKTsKICAgICAgICAgICAgJGNhY2hlWydzdG9yYWdlJ10tPmNhY2hlKCRyZXF1ZXN0LCAkY2FjaGVbJ3Jlc3BvbnNlJ10pOwogICAgICAgIH0KICAgICAgICAkY2FjaGVbJ3N0b3JhZ2UnXS0+cHVyZ2UoJ2h0dHA6Ly9mb28uY29tJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKGluX2FycmF5KCd0ZXN0JywgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGNhY2hlWydjYWNoZSddLCAnZGF0YScpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKGluX2FycmF5KCRjYWNoZVsnc2VyaWFsaXplZCddLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY2FjaGVbJ2NhY2hlJ10sICdkYXRhJykpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKAogICAgICAgICAgICBhcnJheSgnRG9jdHJpbmVOYW1lc3BhY2VDYWNoZUtleVtdJyksCiAgICAgICAgICAgIGFycmF5X2tleXMoJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGNhY2hlWydjYWNoZSddLCAnZGF0YScpKQogICAgICAgICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZW1vdmVzRXhwaXJlZFJlc3BvbnNlcygpCiAgICB7CiAgICAgICAgJGNhY2hlID0gJHRoaXMtPmdldENhY2hlKCk7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly94eXouY29tJyk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoJ0FnZScgPT4gMTAwMCwgJ0NhY2hlLUNvbnRyb2wnID0+ICdtYXgtYWdlPS0xMDAwMCcpKTsKICAgICAgICAkY2FjaGVbJ3N0b3JhZ2UnXS0+Y2FjaGUoJHJlcXVlc3QsICRyZXNwb25zZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJGNhY2hlWydzdG9yYWdlJ10tPmZldGNoKCRyZXF1ZXN0KSk7CiAgICAgICAgJGRhdGEgPSAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkY2FjaGVbJ2NhY2hlJ10sICdkYXRhJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKGluX2FycmF5KCd4eXouY29tJywgJGRhdGEpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZShpbl9hcnJheSgkY2FjaGVbJ3NlcmlhbGl6ZWQnXSwgJGRhdGEpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVzZXNWYXJ5VG9EZXRlcm1pbmVSZXN1bHQoKQogICAgewogICAgICAgICRjYWNoZSA9ICR0aGlzLT5nZXRDYWNoZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlJywgJGNhY2hlWydzdG9yYWdlJ10tPmZldGNoKCRjYWNoZVsncmVxdWVzdCddKSk7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9mb28uY29tJywgYXJyYXkoJ0FjY2VwdCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkY2FjaGVbJ3N0b3JhZ2UnXS0+ZmV0Y2goJHJlcXVlc3QpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNSZXNwb25zZUlzU3RpbGxQcmVzZW50KCkKICAgIHsKICAgICAgICAkY2FjaGUgPSAkdGhpcy0+Z2V0Q2FjaGUoKTsKICAgICAgICAkZGF0YSA9ICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjYWNoZVsnY2FjaGUnXSwgJ2RhdGEnKTsKICAgICAgICAka2V5ID0gYXJyYXlfc2VhcmNoKCd0ZXN0JywgJGRhdGEpOwogICAgICAgICRjYWNoZVsnY2FjaGUnXS0+ZGVsZXRlKHN1YnN0cigka2V5LCAxLCAtNCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRjYWNoZVsnc3RvcmFnZSddLT5mZXRjaCgkY2FjaGVbJ3JlcXVlc3QnXSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzdGFsZVByb3ZpZGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZm9vLmNvbScsIGFycmF5KCdBY2NlcHQnID0+ICdmb28nKSksCiAgICAgICAgICAgICAgICBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnQ2FjaGUtQ29udHJvbCcgPT4gJ3N0YWxlLWlmLWVycm9yPTEwMCcsICdWYXJ5JyA9PiAnQWNjZXB0JykpCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZm9vLmNvbScsIGFycmF5KCdBY2NlcHQnID0+ICdmb28nKSksCiAgICAgICAgICAgICAgICBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnQ2FjaGUtQ29udHJvbCcgPT4gJ3N0YWxlLWlmLWVycm9yJywgJ1ZhcnknID0+ICdBY2NlcHQnKSkKICAgICAgICAgICAgKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIHN0YWxlUHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzU3RhbGVUaW1lRGlyZWN0aXZlRm9yVHRkKCRyZXF1ZXN0LCAkcmVzcG9uc2UpCiAgICB7CiAgICAgICAgJGNhY2hlID0gJHRoaXMtPmdldENhY2hlKCk7CiAgICAgICAgJGNhY2hlWydzdG9yYWdlJ10tPmNhY2hlKCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgICRkYXRhID0gJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGNhY2hlWydjYWNoZSddLCAnZGF0YScpOwogICAgICAgIGZvcmVhY2ggKCRkYXRhIGFzICR2KSB7CiAgICAgICAgICAgIGlmIChzdHJwb3MoJHYsICdmb28uY29tJykpIHsKICAgICAgICAgICAgICAgICR1ID0gdW5zZXJpYWxpemUoJHYpOwogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydEdyZWF0ZXJUaGFuKCR1WzFdWzRdLCAkdVswXVs0XSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkZpbHRlckNhY2hlS2V5cygpCiAgICB7CiAgICAgICAgJGNhY2hlID0gJHRoaXMtPmdldENhY2hlKCk7CiAgICAgICAgJGNhY2hlWydyZXF1ZXN0J10tPmdldFF1ZXJ5KCktPnNldCgnYXV0aCcsICdmb28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkY2FjaGVbJ3N0b3JhZ2UnXS0+ZmV0Y2goJGNhY2hlWydyZXF1ZXN0J10pKTsKICAgICAgICAkY2FjaGVbJ3JlcXVlc3QnXS0+Z2V0UGFyYW1zKCktPnNldCgnY2FjaGUua2V5X2ZpbHRlcicsICdhdXRoJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdE51bGwoJGNhY2hlWydzdG9yYWdlJ10tPmZldGNoKCRjYWNoZVsncmVxdWVzdCddKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultCanCacheStrategyTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcUGx1Z2luXENhY2hlXERlZmF1bHRDYW5DYWNoZVN0cmF0ZWd5OwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFBsdWdpblxDYWNoZVxEZWZhdWx0Q2FuQ2FjaGVTdHJhdGVneQogKi8KY2xhc3MgRGVmYXVsdENhbkNhY2hlU3RyYXRlZ3lUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNSZXF1ZXN0Y2FuQ2FjaGVSZXF1ZXN0KCkKICAgIHsKICAgICAgICAkc3RyYXRlZ3kgPSBuZXcgRGVmYXVsdENhbkNhY2hlU3RyYXRlZ3koKTsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2Zvby5jb20nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkc3RyYXRlZ3ktPmNhbkNhY2hlUmVxdWVzdCgkcmVxdWVzdCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc05vdENhY2hlTm9TdG9yZSgpCiAgICB7CiAgICAgICAgJHN0cmF0ZWd5ID0gbmV3IERlZmF1bHRDYW5DYWNoZVN0cmF0ZWd5KCk7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9mb28uY29tJywgYXJyYXkoJ2NhY2hlLWNvbnRyb2wnID0+ICduby1zdG9yZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHN0cmF0ZWd5LT5jYW5DYWNoZVJlcXVlc3QoJHJlcXVlc3QpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNhY2hlUmVzcG9uc2UoKQogICAgewogICAgICAgICRyZXNwb25zZSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZScpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnY2FuQ2FjaGUnKSkKICAgICAgICAgICAgLT5zZXRDb25zdHJ1Y3RvckFyZ3MoYXJyYXkoMjAwKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJHJlc3BvbnNlLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdjYW5DYWNoZScpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUodHJ1ZSkpOwogICAgICAgICRzdHJhdGVneSA9IG5ldyBEZWZhdWx0Q2FuQ2FjaGVTdHJhdGVneSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRzdHJhdGVneS0+Y2FuQ2FjaGVSZXNwb25zZSgkcmVzcG9uc2UpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultRevalidationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKdXNlIEd1enpsZVxIdHRwXENsaWVudEludGVyZmFjZTsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxCYWRSZXNwb25zZUV4Y2VwdGlvbjsKdXNlIEd1enpsZVxIdHRwXEV4Y2VwdGlvblxDdXJsRXhjZXB0aW9uOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEZhY3Rvcnk7CnVzZSBHdXp6bGVcUGx1Z2luXENhY2hlXENhY2hlUGx1Z2luOwp1c2UgR3V6emxlXENhY2hlXERvY3RyaW5lQ2FjaGVBZGFwdGVyOwp1c2UgRG9jdHJpbmVcQ29tbW9uXENhY2hlXEFycmF5Q2FjaGU7CnVzZSBHdXp6bGVcUGx1Z2luXENhY2hlXERlZmF1bHRDYWNoZVN0b3JhZ2U7CnVzZSBHdXp6bGVcUGx1Z2luXE1vY2tcTW9ja1BsdWdpbjsKdXNlIEd1enpsZVxUZXN0c1xIdHRwXFNlcnZlcjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxQbHVnaW5cQ2FjaGVcRGVmYXVsdFJldmFsaWRhdGlvbgogKiBAZ3JvdXAgc2VydmVyCiAqLwpjbGFzcyBEZWZhdWx0UmV2YWxpZGF0aW9uVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldEh0dHBEYXRlKCR0aW1lKQogICAgewogICAgICAgIHJldHVybiBnbWRhdGUoQ2xpZW50SW50ZXJmYWNlOjpIVFRQX0RBVEUsIHN0cnRvdGltZSgkdGltZSkpOwogICAgfQoKICAgIC8qKgogICAgICogRGF0YSBwcm92aWRlciB0byB0ZXN0IGNhY2hlIHJldmFsaWRhdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNhY2hlUmV2YWxpZGF0aW9uRGF0YVByb3ZpZGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIC8vIEZvcmNlcyByZXZhbGlkYXRpb24gdGhhdCBwYXNzZXMKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICB0cnVlLAogICAgICAgICAgICAgICAgIlByYWdtYTogbm8tY2FjaGVcclxuXHJcbiIsCiAgICAgICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkRhdGU6ICIgLiAkdGhpcy0+Z2V0SHR0cERhdGUoJy0xMDAgaG91cnMnKSAuICJcclxuQ29udGVudC1MZW5ndGg6IDRcclxuXHJcbkRhdGEiLAogICAgICAgICAgICAgICAgIkhUVFAvMS4xIDMwNCBOT1QgTU9ESUZJRURcclxuQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0yMDAwMDAwXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iLAogICAgICAgICAgICApLAogICAgICAgICAgICAvLyBGb3JjZXMgcmV2YWxpZGF0aW9uIHRoYXQgb3ZlcndyaXRlcyB3aGF0IGlzIGluIGNhY2hlCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgZmFsc2UsCiAgICAgICAgICAgICAgICAiXHJcbiIsCiAgICAgICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNhY2hlLUNvbnRyb2w6IG11c3QtcmV2YWxpZGF0ZSwgbm8tY2FjaGVcclxuRGF0ZTogIiAuICR0aGlzLT5nZXRIdHRwRGF0ZSgnLTEwIGhvdXJzJykgLiAiXHJcbkNvbnRlbnQtTGVuZ3RoOiA0XHJcblxyXG5EYXRhIiwKICAgICAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDVcclxuXHJcbkRhdGFzIiwKICAgICAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDVcclxuRGF0ZTogIiAuICR0aGlzLT5nZXRIdHRwRGF0ZSgnbm93JykgLiAiXHJcblxyXG5EYXRhcyIKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gVGhyb3dzIGFuIGV4Y2VwdGlvbiBkdXJpbmcgcmV2YWxpZGF0aW9uCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgZmFsc2UsCiAgICAgICAgICAgICAgICAiXHJcbiIsCiAgICAgICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNhY2hlLUNvbnRyb2w6IG5vLWNhY2hlXHJcbkRhdGU6ICIgLiAkdGhpcy0+Z2V0SHR0cERhdGUoJy0zIGhvdXJzJykgLiAiXHJcblxyXG5EYXRhIiwKICAgICAgICAgICAgICAgICJIVFRQLzEuMSA1MDAgSU5URVJOQUwgU0VSVkVSIEVSUk9SXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iCiAgICAgICAgICAgICksCiAgICAgICAgICAgIC8vIEVUYWcgbWlzbWF0Y2gKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBmYWxzZSwKICAgICAgICAgICAgICAgICJcclxuIiwKICAgICAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ2FjaGUtQ29udHJvbDogbm8tY2FjaGVcclxuRVRhZzogXCIxMjNcIlxyXG5EYXRlOiAiIC4gJHRoaXMtPmdldEh0dHBEYXRlKCctMTAgaG91cnMnKSAuICJcclxuXHJcbkRhdGEiLAogICAgICAgICAgICAgICAgIkhUVFAvMS4xIDMwNCBOT1QgTU9ESUZJRURcclxuRVRhZzogXCIxMjM0NTZcIlxyXG5cclxuIiwKICAgICAgICAgICAgKSwKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciBjYWNoZVJldmFsaWRhdGlvbkRhdGFQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldmFsaWRhdGVzUmVzcG9uc2VzQWdhaW5zdE9yaWdpblNlcnZlcigkY2FuLCAkcmVxdWVzdCwgJHJlc3BvbnNlLCAkdmFsaWRhdGUgPSBudWxsLCAkcmVzdWx0ID0gbnVsbCkKICAgIHsKICAgICAgICAvLyBTZW5kIHNvbWUgcmVzcG9uc2VzIHRvIHRoZSB0ZXN0IHNlcnZlciBmb3IgY2FjaGUgdmFsaWRhdGlvbgogICAgICAgICRzZXJ2ZXIgPSAkdGhpcy0+Z2V0U2VydmVyKCk7CiAgICAgICAgJHNlcnZlci0+Zmx1c2goKTsKCiAgICAgICAgaWYgKCR2YWxpZGF0ZSkgewogICAgICAgICAgICAkc2VydmVyLT5lbnF1ZXVlKCR2YWxpZGF0ZSk7CiAgICAgICAgfQoKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5mcm9tTWVzc2FnZSgiR0VUIC8gSFRUUC8xLjFcclxuSG9zdDogMTI3LjAuMC4xOiIgLiAkc2VydmVyLT5nZXRQb3J0KCkgLiAiXHJcbiIgLiAkcmVxdWVzdCk7CiAgICAgICAgJHJlc3BvbnNlID0gUmVzcG9uc2U6OmZyb21NZXNzYWdlKCRyZXNwb25zZSk7CiAgICAgICAgJHJlcXVlc3QtPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwoKICAgICAgICAkcGx1Z2luID0gbmV3IENhY2hlUGx1Z2luKG5ldyBEb2N0cmluZUNhY2hlQWRhcHRlcihuZXcgQXJyYXlDYWNoZSgpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygKICAgICAgICAgICAgJGNhbiwKICAgICAgICAgICAgJHBsdWdpbi0+Y2FuUmVzcG9uc2VTYXRpc2Z5UmVxdWVzdCgkcmVxdWVzdCwgJHJlc3BvbnNlKSwKICAgICAgICAgICAgJy0+ICcgLiAkcmVxdWVzdCAuICJcbiIgLiAkcmVzcG9uc2UKICAgICAgICApOwoKICAgICAgICBpZiAoJHJlc3VsdCkgewogICAgICAgICAgICAkcmVzdWx0ID0gUmVzcG9uc2U6OmZyb21NZXNzYWdlKCRyZXN1bHQpOwogICAgICAgICAgICAkcmVzdWx0LT5yZW1vdmVIZWFkZXIoJ0RhdGUnKTsKICAgICAgICAgICAgJHJlcXVlc3QtPmdldFJlc3BvbnNlKCktPnJlbW92ZUhlYWRlcignRGF0ZScpOwogICAgICAgICAgICAkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKS0+cmVtb3ZlSGVhZGVyKCdDb25uZWN0aW9uJyk7CiAgICAgICAgICAgIC8vIEdldCByaWQgb2YgZGF0ZXMKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygoc3RyaW5nKSAkcmVzdWx0LCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0UmVzcG9uc2UoKSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHZhbGlkYXRlKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJHNlcnZlci0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cygpKSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFuZGxlczQwNFJldmFsaWRhdGlvblJlc3BvbnNlcygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9mb28uY29tJyk7CiAgICAgICAgJHJlcXVlc3QtPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRiYWRSZXNwb25zZSA9IG5ldyBSZXNwb25zZSg0MDQsIGFycmF5KCksICdPaCBubyEnKTsKICAgICAgICAkYmFkUmVxdWVzdCA9IGNsb25lICRyZXF1ZXN0OwogICAgICAgICRiYWRSZXF1ZXN0LT5zZXRSZXNwb25zZSgkYmFkUmVzcG9uc2UsIHRydWUpOwogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KCksICdmb28nKTsKCiAgICAgICAgLy8gU2VlZCB0aGUgY2FjaGUKICAgICAgICAkcyA9IG5ldyBEZWZhdWx0Q2FjaGVTdG9yYWdlKG5ldyBEb2N0cmluZUNhY2hlQWRhcHRlcihuZXcgQXJyYXlDYWNoZSgpKSk7CiAgICAgICAgJHMtPmNhY2hlKCRyZXF1ZXN0LCAkcmVzcG9uc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3ROdWxsKCRzLT5mZXRjaCgkcmVxdWVzdCkpOwoKICAgICAgICAkcmV2ID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcUGx1Z2luXENhY2hlXERlZmF1bHRSZXZhbGlkYXRpb24nKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheSgkcykpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnY3JlYXRlUmV2YWxpZGF0aW9uUmVxdWVzdCcpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJHJldi0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnY3JlYXRlUmV2YWxpZGF0aW9uUmVxdWVzdCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJGJhZFJlcXVlc3QpKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHJldi0+cmV2YWxpZGF0ZSgkcmVxdWVzdCwgJHJlc3BvbnNlKTsKICAgICAgICAgICAgJHRoaXMtPmZhaWwoJ1Nob3VsZCBoYXZlIHRocm93biBhbiBleGNlcHRpb24nKTsKICAgICAgICB9IGNhdGNoIChCYWRSZXNwb25zZUV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkYmFkUmVzcG9uc2UsICRlLT5nZXRSZXNwb25zZSgpKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHMtPmZldGNoKCRyZXF1ZXN0KSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuUmV2YWxpZGF0ZVdpdGhQbHVnaW4oKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuIiAuCiAgICAgICAgICAgICJEYXRlOiBNb24sIDEyIE5vdiAyMDEyIDAzOjA2OjM3IEdNVFxyXG4iIC4KICAgICAgICAgICAgIkNhY2hlLUNvbnRyb2w6IHByaXZhdGUsIHMtbWF4YWdlPTAsIG1heC1hZ2U9MCwgbXVzdC1yZXZhbGlkYXRlXHJcbiIgLgogICAgICAgICAgICAiTGFzdC1Nb2RpZmllZDogTW9uLCAxMiBOb3YgMjAxMiAwMjo1MzozOCBHTVRcclxuIiAuCiAgICAgICAgICAgICJDb250ZW50LUxlbmd0aDogMlxyXG5cclxuaGkiLAogICAgICAgICAgICAiSFRUUC8xLjAgMzA0IE5vdCBNb2RpZmllZFxyXG4iIC4KICAgICAgICAgICAgIkRhdGU6IE1vbiwgMTIgTm92IDIwMTIgMDM6MDY6MzggR01UXHJcbiIgLgogICAgICAgICAgICAiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLThcclxuIiAuCiAgICAgICAgICAgICJMYXN0LU1vZGlmaWVkOiBNb24sIDEyIE5vdiAyMDEyIDAyOjUzOjM4IEdNVFxyXG4iIC4KICAgICAgICAgICAgIkFnZTogNjMwMlxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4wIDMwNCBOb3QgTW9kaWZpZWRcclxuIiAuCiAgICAgICAgICAgICJEYXRlOiBNb24sIDEyIE5vdiAyMDEyIDAzOjA2OjM4IEdNVFxyXG4iIC4KICAgICAgICAgICAgIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PVVURi04XHJcbiIgLgogICAgICAgICAgICAiTGFzdC1Nb2RpZmllZDogTW9uLCAxMiBOb3YgMjAxMiAwMjo1MzozOCBHTVRcclxuIiAuCiAgICAgICAgICAgICJBZ2U6IDYzMDJcclxuXHJcbiIsCiAgICAgICAgKSk7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgQ2FjaGVQbHVnaW4oKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyMDAsICRjbGllbnQtPmdldCgpLT5zZW5kKCktPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyMDAsICRjbGllbnQtPmdldCgpLT5zZW5kKCktPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyMDAsICRjbGllbnQtPmdldCgpLT5zZW5kKCktPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCBjb3VudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHMoKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuSGFuZGxlUmV2YWxpZGF0aW9uRmFpbHVyZXMoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRsbSA9IGdtZGF0ZSgnYycsIHRpbWUoKSAtIDYwKTsKICAgICAgICAkbW9jayA9IG5ldyBNb2NrUGx1Z2luKGFycmF5KAogICAgICAgICAgICBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgKICAgICAgICAgICAgICAgICdEYXRlJyAgICAgICAgICAgPT4gJGxtLAogICAgICAgICAgICAgICAgJ0NhY2hlLUNvbnRyb2wnICA9PiAnbWF4LWFnZT0xMDAsIG11c3QtcmV2YWxpZGF0ZSwgc3RhbGUtaWYtZXJyb3I9OTk5OScsCiAgICAgICAgICAgICAgICAnTGFzdC1Nb2RpZmllZCcgID0+ICRsbSwKICAgICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgPT4gMgogICAgICAgICAgICApLCAnaGknKSwKICAgICAgICAgICAgbmV3IEN1cmxFeGNlcHRpb24oJ0JsZWgnKQogICAgICAgICkpOwogICAgICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIobmV3IENhY2hlUGx1Z2luKCkpOwogICAgICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIoJG1vY2spOwogICAgICAgICRjbGllbnQtPmdldCgpLT5zZW5kKCk7CiAgICAgICAgJHJlc3BvbnNlID0gJGNsaWVudC0+Z2V0KCktPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMCwgJHJlc3BvbnNlLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2hpJywgJHJlc3BvbnNlLT5nZXRCb2R5KHRydWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCRtb2NrLT5nZXRSZWNlaXZlZFJlcXVlc3RzKCkpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsIGNvdW50KCRtb2NrLT5nZXRRdWV1ZSgpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5IYW5kbGVTdGFsZUlmRXJyb3JXaGVuUmV2YWxpZGF0aW5nKCkKICAgIHsKICAgICAgICAkbG0gPSBnbWRhdGUoJ2MnLCB0aW1lKCkgLSA2MCk7CiAgICAgICAgJG1vY2sgPSBuZXcgTW9ja1BsdWdpbihhcnJheSgKICAgICAgICAgICAgbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICAgICAnRGF0ZScgPT4gJGxtLAogICAgICAgICAgICAgICAgJ0NhY2hlLUNvbnRyb2wnID0+ICdtdXN0LXJldmFsaWRhdGUsIG1heC1hZ2U9MCwgc3RhbGUtaWYtZXJyb3I9MTIwMCcsCiAgICAgICAgICAgICAgICAnTGFzdC1Nb2RpZmllZCcgPT4gJGxtLAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoJyA9PiAyCiAgICAgICAgICAgICksICdoaScpLAogICAgICAgICAgICBuZXcgQ3VybEV4Y2VwdGlvbignT2ggbm8hJykKICAgICAgICApKTsKICAgICAgICAkY2FjaGUgPSBuZXcgQ2FjaGVQbHVnaW4oKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cDovL3d3dy5leGFtcGxlLmNvbScpOwogICAgICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIoJGNhY2hlKTsKICAgICAgICAkY2xpZW50LT5hZGRTdWJzY3JpYmVyKCRtb2NrKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMCwgJGNsaWVudC0+Z2V0KCktPnNlbmQoKS0+Z2V0U3RhdHVzQ29kZSgpKTsKICAgICAgICAkcmVzcG9uc2UgPSAkY2xpZW50LT5nZXQoKS0+c2VuZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAwLCAkcmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvdW50KDAsICRtb2NrKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdISVQgZnJvbSBHdXp6bGVDYWNoZScsIChzdHJpbmcpICRyZXNwb25zZS0+Z2V0SGVhZGVyKCdYLUNhY2hlLUxvb2t1cCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdISVRfRVJST1IgZnJvbSBHdXp6bGVDYWNoZScsIChzdHJpbmcpICRyZXNwb25zZS0+Z2V0SGVhZGVyKCdYLUNhY2hlJykpOwogICAgfQoKICAgIC8qKgogICAgICogQGdyb3VwIGlzc3VlLTQzNwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvZXNOb3RUb3VjaENsb3N1cmVMaXN0ZW5lcnMoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuIiAuCiAgICAgICAgICAgICJEYXRlOiBNb24sIDEyIE5vdiAyMDEyIDAzOjA2OjM3IEdNVFxyXG4iIC4KICAgICAgICAgICAgIkNhY2hlLUNvbnRyb2w6IHByaXZhdGUsIHMtbWF4YWdlPTAsIG1heC1hZ2U9MCwgbXVzdC1yZXZhbGlkYXRlXHJcbiIgLgogICAgICAgICAgICAiTGFzdC1Nb2RpZmllZDogTW9uLCAxMiBOb3YgMjAxMiAwMjo1MzozOCBHTVRcclxuIiAuCiAgICAgICAgICAgICJDb250ZW50LUxlbmd0aDogMlxyXG5cclxuaGkiLAogICAgICAgICAgICAiSFRUUC8xLjAgMzA0IE5vdCBNb2RpZmllZFxyXG4iIC4KICAgICAgICAgICAgIkRhdGU6IE1vbiwgMTIgTm92IDIwMTIgMDM6MDY6MzggR01UXHJcbiIgLgogICAgICAgICAgICAiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLThcclxuIiAuCiAgICAgICAgICAgICJMYXN0LU1vZGlmaWVkOiBNb24sIDEyIE5vdiAyMDEyIDAyOjUzOjM4IEdNVFxyXG4iIC4KICAgICAgICAgICAgIkFnZTogNjMwMlxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4wIDMwNCBOb3QgTW9kaWZpZWRcclxuIiAuCiAgICAgICAgICAgICJEYXRlOiBNb24sIDEyIE5vdiAyMDEyIDAzOjA2OjM4IEdNVFxyXG4iIC4KICAgICAgICAgICAgIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PVVURi04XHJcbiIgLgogICAgICAgICAgICAiTGFzdC1Nb2RpZmllZDogTW9uLCAxMiBOb3YgMjAxMiAwMjo1MzozOCBHTVRcclxuIiAuCiAgICAgICAgICAgICJBZ2U6IDYzMDJcclxuXHJcbiIsCiAgICAgICAgKSk7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgQ2FjaGVQbHVnaW4oKSk7CiAgICAgICAgJGNsaWVudC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCdjb21tYW5kLmFmdGVyX3NlbmQnLCBmdW5jdGlvbigpe30pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAwLCAkY2xpZW50LT5nZXQoKS0+c2VuZCgpLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAwLCAkY2xpZW50LT5nZXQoKS0+c2VuZCgpLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAwLCAkY2xpZW50LT5nZXQoKS0+c2VuZCgpLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgfQoKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DenyRevalidationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcUGx1Z2luXENhY2hlXERlbnlSZXZhbGlkYXRpb247CgovKioKICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXENhY2hlXERlbnlSZXZhbGlkYXRpb24KICovCmNsYXNzIERlbnlSZXZhbGlkYXRpb25UZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlbmllc1JlcXVlc3RSZXZhbGlkYXRpb24oKQogICAgewogICAgICAgICRkZW55ID0gbmV3IERlbnlSZXZhbGlkYXRpb24oKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGRlbnktPnJldmFsaWRhdGUobmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZm9vLmNvbScpLCBuZXcgUmVzcG9uc2UoMjAwKSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/SkipRevalidationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXENhY2hlOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcUGx1Z2luXENhY2hlXFNraXBSZXZhbGlkYXRpb247CgovKioKICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXENhY2hlXFNraXBSZXZhbGlkYXRpb24KICovCmNsYXNzIFNraXBSZXZhbGlkYXRpb25UZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNraXBzUmVxdWVzdFJldmFsaWRhdGlvbigpCiAgICB7CiAgICAgICAgJHNraXAgPSBuZXcgU2tpcFJldmFsaWRhdGlvbigpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRza2lwLT5yZXZhbGlkYXRlKG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2Zvby5jb20nKSwgbmV3IFJlc3BvbnNlKDIwMCkpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieJar/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieJar/ArrayCookieJarTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXENvb2tpZVxDb29raWVKYXI7Cgp1c2UgR3V6emxlXFBsdWdpblxDb29raWVcQ29va2llOwp1c2UgR3V6emxlXFBsdWdpblxDb29raWVcQ29va2llSmFyXEFycmF5Q29va2llSmFyOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxQbHVnaW5cQ29va2llXENvb2tpZUphclxBcnJheUNvb2tpZUphcgogKi8KY2xhc3MgQXJyYXlDb29raWVKYXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEB2YXIgQXJyYXlDb29raWVKYXIKICAgICAqLwogICAgcHJpdmF0ZSAkamFyOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmphciA9IG5ldyBBcnJheUNvb2tpZUphcigpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRUZXN0Q29va2llcygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBuZXcgQ29va2llKGFycmF5KCduYW1lJyA9PiAnZm9vJywgICd2YWx1ZScgPT4gJ2JhcicsICdkb21haW4nID0+ICdmb28uY29tJywgJ3BhdGgnID0+ICcvJywgICAgJ2Rpc2NhcmQnID0+IHRydWUpKSwKICAgICAgICAgICAgbmV3IENvb2tpZShhcnJheSgnbmFtZScgPT4gJ3Rlc3QnLCAndmFsdWUnID0+ICcxMjMnLCAnZG9tYWluJyA9PiAnYmF6LmNvbScsICdwYXRoJyA9PiAnL2ZvbycsICdleHBpcmVzJyA9PiAyKSksCiAgICAgICAgICAgIG5ldyBDb29raWUoYXJyYXkoJ25hbWUnID0+ICd5b3UnLCAgJ3ZhbHVlJyA9PiAnMTIzJywgJ2RvbWFpbicgPT4gJ2Jhci5jb20nLCAncGF0aCcgPT4gJy9ib28nLCAnZXhwaXJlcycgPT4gdGltZSgpICsgMTAwMCkpCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFByb3ZpZGVzIHRlc3QgZGF0YSBmb3IgY29va2llIGNvb2tpZUphciByZXRyaWV2YWwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENvb2tpZXNEYXRhUHJvdmlkZXIoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoYXJyYXkoJ2ZvbycsICdiYXonLCAndGVzdCcsICdtdXBwZXQnLCAnZ29vZ29vJyksICcnLCAnJywgJycsIGZhbHNlKSwKICAgICAgICAgICAgYXJyYXkoYXJyYXkoJ2ZvbycsICdiYXonLCAnbXVwcGV0JywgJ2dvb2dvbycpLCAnJywgJycsICcnLCB0cnVlKSwKICAgICAgICAgICAgYXJyYXkoYXJyYXkoJ2dvb2dvbycpLCAnd3d3LmV4YW1wbGUuY29tJywgJycsICcnLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KGFycmF5KCdtdXBwZXQnLCAnZ29vZ29vJyksICd0ZXN0LnkuZXhhbXBsZS5jb20nLCAnJywgJycsIGZhbHNlKSwKICAgICAgICAgICAgYXJyYXkoYXJyYXkoJ2ZvbycsICdiYXonKSwgJ2V4YW1wbGUuY29tJywgJycsICcnLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KGFycmF5KCdtdXBwZXQnKSwgJ3gueS5leGFtcGxlLmNvbScsICcvYWNtZS8nLCAnJywgZmFsc2UpLAogICAgICAgICAgICBhcnJheShhcnJheSgnbXVwcGV0JyksICd4LnkuZXhhbXBsZS5jb20nLCAnL2FjbWUvdGVzdC8nLCAnJywgZmFsc2UpLAogICAgICAgICAgICBhcnJheShhcnJheSgnZ29vZ29vJyksICd4LnkuZXhhbXBsZS5jb20nLCAnL3Rlc3QvYWNtZS90ZXN0LycsICcnLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KGFycmF5KCdmb28nLCAnYmF6JyksICdleGFtcGxlLmNvbScsICcnLCAnJywgZmFsc2UpLAogICAgICAgICAgICBhcnJheShhcnJheSgnYmF6JyksICdleGFtcGxlLmNvbScsICcnLCAnYmF6JywgZmFsc2UpLAogICAgICAgICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdG9yZXNBbmRSZXRyaWV2ZXNDb29raWVzKCkKICAgIHsKICAgICAgICAkY29va2llcyA9ICR0aGlzLT5nZXRUZXN0Q29va2llcygpOwogICAgICAgIGZvcmVhY2ggKCRjb29raWVzIGFzICRjb29raWUpIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmphci0+YWRkKCRjb29raWUpKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgY291bnQoJHRoaXMtPmphcikpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgY291bnQoJHRoaXMtPmphci0+Z2V0SXRlcmF0b3IoKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGNvb2tpZXMsICR0aGlzLT5qYXItPmFsbChudWxsLCBudWxsLCBudWxsLCBmYWxzZSwgZmFsc2UpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlbW92ZXNFeHBpcmVkQ29va2llcygpCiAgICB7CiAgICAgICAgJGNvb2tpZXMgPSAkdGhpcy0+Z2V0VGVzdENvb2tpZXMoKTsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+Z2V0VGVzdENvb2tpZXMoKSBhcyAkY29va2llKSB7CiAgICAgICAgICAgICR0aGlzLT5qYXItPmFkZCgkY29va2llKTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmphci0+cmVtb3ZlRXhwaXJlZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJGNvb2tpZXNbMF0sICRjb29raWVzWzJdKSwgJHRoaXMtPmphci0+YWxsKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVtb3Zlc1RlbXBvcmFyeUNvb2tpZXMoKQogICAgewogICAgICAgICRjb29raWVzID0gJHRoaXMtPmdldFRlc3RDb29raWVzKCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmdldFRlc3RDb29raWVzKCkgYXMgJGNvb2tpZSkgewogICAgICAgICAgICAkdGhpcy0+amFyLT5hZGQoJGNvb2tpZSk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5qYXItPnJlbW92ZVRlbXBvcmFyeSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJGNvb2tpZXNbMl0pLCAkdGhpcy0+amFyLT5hbGwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJc1NlcmlhbGl6YWJsZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnW10nLCAkdGhpcy0+amFyLT5zZXJpYWxpemUoKSk7CiAgICAgICAgJHRoaXMtPmphci0+dW5zZXJpYWxpemUoJ1tdJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgpLCAkdGhpcy0+amFyLT5hbGwoKSk7CgogICAgICAgICRjb29raWVzID0gJHRoaXMtPmdldFRlc3RDb29raWVzKCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmdldFRlc3RDb29raWVzKCkgYXMgJGNvb2tpZSkgewogICAgICAgICAgICAkdGhpcy0+amFyLT5hZGQoJGNvb2tpZSk7CiAgICAgICAgfQoKICAgICAgICAvLyBSZW1vdmUgZGlzY2FyZCBhbmQgZXhwaXJlZCBjb29raWVzCiAgICAgICAgJHNlcmlhbGl6ZWQgPSAkdGhpcy0+amFyLT5zZXJpYWxpemUoKTsKICAgICAgICAkZGF0YSA9IGpzb25fZGVjb2RlKCRzZXJpYWxpemVkLCB0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRkYXRhKSk7CgogICAgICAgICRhID0gbmV3IEFycmF5Q29va2llSmFyKCk7CiAgICAgICAgJGEtPnVuc2VyaWFsaXplKCRzZXJpYWxpemVkKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRhKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZW1vdmVzU2VsZWN0aXZlbHkoKQogICAgewogICAgICAgICRjb29raWVzID0gJHRoaXMtPmdldFRlc3RDb29raWVzKCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmdldFRlc3RDb29raWVzKCkgYXMgJGNvb2tpZSkgewogICAgICAgICAgICAkdGhpcy0+amFyLT5hZGQoJGNvb2tpZSk7CiAgICAgICAgfQoKICAgICAgICAvLyBSZW1vdmUgZm9vLmNvbSBjb29raWVzCiAgICAgICAgJHRoaXMtPmphci0+cmVtb3ZlKCdmb28uY29tJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkdGhpcy0+amFyKSk7CiAgICAgICAgLy8gVHJ5IGFnYWluLCByZW1vdmluZyBubyBmdXJ0aGVyIGNvb2tpZXMKICAgICAgICAkdGhpcy0+amFyLT5yZW1vdmUoJ2Zvby5jb20nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCR0aGlzLT5qYXIpKTsKCiAgICAgICAgLy8gUmVtb3ZlIGJhci5jb20gY29va2llcyB3aXRoIHBhdGggb2YgL2JvbwogICAgICAgICR0aGlzLT5qYXItPnJlbW92ZSgnYmFyLmNvbScsICcvYm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkdGhpcy0+amFyKSk7CgogICAgICAgIC8vIFJlbW92ZSBjb29raWUgYnkgbmFtZQogICAgICAgICR0aGlzLT5qYXItPnJlbW92ZShudWxsLCBudWxsLCAndGVzdCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMCwgY291bnQoJHRoaXMtPmphcikpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc05vdEFkZEluY29tcGxldGVDb29raWVzKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGZhbHNlLCAkdGhpcy0+amFyLT5hZGQobmV3IENvb2tpZSgpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT5qYXItPmFkZChuZXcgQ29va2llKGFycmF5KAogICAgICAgICAgICAnbmFtZScgPT4gJ2ZvbycKICAgICAgICApKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+amFyLT5hZGQobmV3IENvb2tpZShhcnJheSgKICAgICAgICAgICAgJ25hbWUnID0+IGZhbHNlCiAgICAgICAgKSkpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHRoaXMtPmphci0+YWRkKG5ldyBDb29raWUoYXJyYXkoCiAgICAgICAgICAgICduYW1lJyA9PiB0cnVlCiAgICAgICAgKSkpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHRoaXMtPmphci0+YWRkKG5ldyBDb29raWUoYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgID0+ICdmb28nLAogICAgICAgICAgICAnZG9tYWluJyA9PiAnZm9vLmNvbScKICAgICAgICApKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc0FkZFZhbGlkQ29va2llcygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmphci0+YWRkKG5ldyBDb29raWUoYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgID0+ICdmb28nLAogICAgICAgICAgICAnZG9tYWluJyA9PiAnZm9vLmNvbScsCiAgICAgICAgICAgICd2YWx1ZScgID0+IDAKICAgICAgICApKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5qYXItPmFkZChuZXcgQ29va2llKGFycmF5KAogICAgICAgICAgICAnbmFtZScgICA9PiAnZm9vJywKICAgICAgICAgICAgJ2RvbWFpbicgPT4gJ2Zvby5jb20nLAogICAgICAgICAgICAndmFsdWUnICA9PiAwLjAKICAgICAgICApKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5qYXItPmFkZChuZXcgQ29va2llKGFycmF5KAogICAgICAgICAgICAnbmFtZScgICA9PiAnZm9vJywKICAgICAgICAgICAgJ2RvbWFpbicgPT4gJ2Zvby5jb20nLAogICAgICAgICAgICAndmFsdWUnICA9PiAnMCcKICAgICAgICApKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0T3ZlcndyaXRlc0Nvb2tpZXNUaGF0QXJlT2xkZXJPckRpc2NhcmRhYmxlKCkKICAgIHsKICAgICAgICAkdCA9IHRpbWUoKSArIDEwMDA7CiAgICAgICAgJGRhdGEgPSBhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgID0+ICdmb28nLAogICAgICAgICAgICAndmFsdWUnICAgPT4gJ2JhcicsCiAgICAgICAgICAgICdkb21haW4nICA9PiAnLmV4YW1wbGUuY29tJywKICAgICAgICAgICAgJ3BhdGgnICAgID0+ICcvJywKICAgICAgICAgICAgJ21heF9hZ2UnID0+ICc4NjQwMCcsCiAgICAgICAgICAgICdwb3J0JyAgICA9PiBhcnJheSg4MCwgODA4MCksCiAgICAgICAgICAgICd2ZXJzaW9uJyA9PiAnMScsCiAgICAgICAgICAgICdzZWN1cmUnICA9PiB0cnVlLAogICAgICAgICAgICAnZGlzY2FyZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2V4cGlyZXMnID0+ICR0CiAgICAgICAgKTsKCiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIGRpc2NhcmQgY29va2llIGlzIG92ZXJyaWRkZW4gd2l0aCB0aGUgbm9uLWRpc2NhcmQKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+amFyLT5hZGQobmV3IENvb2tpZSgkZGF0YSkpKTsKCiAgICAgICAgdW5zZXQoJGRhdGFbJ2Rpc2NhcmQnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmphci0+YWRkKG5ldyBDb29raWUoJGRhdGEpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkdGhpcy0+amFyKSk7CgogICAgICAgICRjID0gJHRoaXMtPmphci0+YWxsKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhmYWxzZSwgJGNbMF0tPmdldERpc2NhcmQoKSk7CgogICAgICAgIC8vIE1ha2Ugc3VyZSBpdCBkb2Vzbid0IGR1cGxpY2F0ZSB0aGUgY29va2llCiAgICAgICAgJHRoaXMtPmphci0+YWRkKG5ldyBDb29raWUoJGRhdGEpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCR0aGlzLT5qYXIpKTsKCiAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBtb3JlIGZ1dHVyZS1mdWwgZXhwaXJhdGlvbiBkYXRlIHN1cGVyc2VkZSB0aGUgb3RoZXIKICAgICAgICAkZGF0YVsnZXhwaXJlcyddID0gdGltZSgpICsgMjAwMDsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+amFyLT5hZGQobmV3IENvb2tpZSgkZGF0YSkpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCR0aGlzLT5qYXIpKTsKICAgICAgICAkYyA9ICR0aGlzLT5qYXItPmFsbCgpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RFcXVhbHMoJHQsICRjWzBdLT5nZXRFeHBpcmVzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0T3ZlcndyaXRlc0Nvb2tpZXNUaGF0SGF2ZUNoYW5nZWQoKQogICAgewogICAgICAgICR0ID0gdGltZSgpICsgMTAwMDsKICAgICAgICAkZGF0YSA9IGFycmF5KAogICAgICAgICAgICAnbmFtZScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICd2YWx1ZScgICA9PiAnYmFyJywKICAgICAgICAgICAgJ2RvbWFpbicgID0+ICcuZXhhbXBsZS5jb20nLAogICAgICAgICAgICAncGF0aCcgICAgPT4gJy8nLAogICAgICAgICAgICAnbWF4X2FnZScgPT4gJzg2NDAwJywKICAgICAgICAgICAgJ3BvcnQnICAgID0+IGFycmF5KDgwLCA4MDgwKSwKICAgICAgICAgICAgJ3ZlcnNpb24nID0+ICcxJywKICAgICAgICAgICAgJ3NlY3VyZScgID0+IHRydWUsCiAgICAgICAgICAgICdkaXNjYXJkJyA9PiB0cnVlLAogICAgICAgICAgICAnZXhwaXJlcycgPT4gJHQKICAgICAgICApOwoKICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgZGlzY2FyZCBjb29raWUgaXMgb3ZlcnJpZGRlbiB3aXRoIHRoZSBub24tZGlzY2FyZAogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5qYXItPmFkZChuZXcgQ29va2llKCRkYXRhKSkpOwoKICAgICAgICAkZGF0YVsndmFsdWUnXSA9ICdib28nOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5qYXItPmFkZChuZXcgQ29va2llKCRkYXRhKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJHRoaXMtPmphcikpOwoKICAgICAgICAvLyBDaGFuZ2luZyB0aGUgdmFsdWUgcGx1cyBhIHBhcmFtZXRlciBhbHNvIG11c3Qgb3ZlcndyaXRlIHRoZSBleGlzdGluZyBvbmUKICAgICAgICAkZGF0YVsndmFsdWUnXSA9ICd6b28nOwogICAgICAgICRkYXRhWydzZWN1cmUnXSA9IGZhbHNlOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5qYXItPmFkZChuZXcgQ29va2llKCRkYXRhKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJHRoaXMtPmphcikpOwoKICAgICAgICAkYyA9ICR0aGlzLT5qYXItPmFsbCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3pvbycsICRjWzBdLT5nZXRWYWx1ZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNDb29raWVzRnJvbVJlc3BvbnNlV2l0aE5vUmVxdWVzdCgpCiAgICB7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICdTZXQtQ29va2llJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICJmcGM9ZD0uSG0ueWg0LjFYbUpXakpmczRvckxRekt6UElteGtsUW94WFNIT1pBVEhVU0VGY2lSdWVXXzc3MDRpWVV0c1hORVhxME05MlB4MmdsTWRXeXBtSjdISVFsNlhJVXZyWmltV2pRM3ZJZGV1UmJJLkZOUU1BZmN4dV9YTjF6U3g3bC5BY1BkS0w2Z3VIYzJWN2hJUUZobmpSVzByeG0yb0hZMVA0YkdReEZOejdmLnRIbTEyWkQzRGJkTURpRHk3VEJYc3VQNERNLSZ2PTI7IGV4cGlyZXM9RnJpLCAwMi1NYXItMjAxOSAwMjoxNzo0MCBHTVQ7IHBhdGg9LzsgZG9tYWluPTEyNy4wLjAuMSIsCiAgICAgICAgICAgICAgICAiRlBDSzM9QWdCTmJ2b1FBR3BHRUFCWkxSQUFiRnNRQUYxdEVBQmtEaEFBZU8wPTsgZXhwaXJlcz1TYXQsIDAyLUFwci0yMDE5IDAyOjE3OjQwIEdNVDsgcGF0aD0vOyBkb21haW49MTI3LjAuMC4xIiwKICAgICAgICAgICAgICAgICJDSD1kZWxldGVkOyBleHBpcmVzPVdlZCwgMDMtTWFyLTIwMTAgMDI6MTc6MzkgR01UOyBwYXRoPS87IGRvbWFpbj0xMjcuMC4wLjEiLAogICAgICAgICAgICAgICAgIkNIPUFnQk5idm9RQUFFY0VBQXB1aEFBTUpjUUFEUXZFQUF2R3hBQUxlMFFBRDZ1RUFBVHdoQUFDMUFRQUM4dDsgZXhwaXJlcz1TYXQsIDAyLUFwci0yMDE5IDAyOjE3OjQwIEdNVDsgcGF0aD0vOyBkb21haW49MTI3LjAuMC4xIgogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5qYXItPmFkZENvb2tpZXNGcm9tUmVzcG9uc2UoJHJlc3BvbnNlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCR0aGlzLT5qYXIpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCR0aGlzLT5qYXItPmFsbChudWxsLCBudWxsLCAnZnBjJykpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCR0aGlzLT5qYXItPmFsbChudWxsLCBudWxsLCAnRlBDSzMnKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgY291bnQoJHRoaXMtPmphci0+YWxsKG51bGwsIG51bGwsICdDSCcpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzQ29va2llc0Zyb21SZXNwb25zZVdpdGhSZXF1ZXN0KCkKICAgIHsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgKICAgICAgICAgICAgJ1NldC1Db29raWUnID0+ICJmcGM9ZD0uSG0ueWg0LjFYbUpXakpmczRvckxRekt6UElteGtsUW94WFNIT1pBVEhVU0VGY2lSdWVXXzc3MDRpWVV0c1hORVhxME05MlB4MmdsTWRXeXBtSjdISVFsNlhJVXZyWmltV2pRM3ZJZGV1UmJJLkZOUU1BZmN4dV9YTjF6U3g3bC5BY1BkS0w2Z3VIYzJWN2hJUUZobmpSVzByeG0yb0hZMVA0YkdReEZOejdmLnRIbTEyWkQzRGJkTURpRHk3VEJYc3VQNERNLSZ2PTI7IGV4cGlyZXM9RnJpLCAwMi1NYXItMjAxOSAwMjoxNzo0MCBHTVQ7IgogICAgICAgICkpOwogICAgICAgICRyZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tJyk7CiAgICAgICAgJHRoaXMtPmphci0+YWRkQ29va2llc0Zyb21SZXNwb25zZSgkcmVzcG9uc2UsICRyZXF1ZXN0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCR0aGlzLT5qYXIpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWF0Y2hpbmdDb29raWVzRGF0YVByb3ZpZGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KCdodHRwczovL2V4YW1wbGUuY29tJywgYXJyYXkoMCkpLAogICAgICAgICAgICBhcnJheSgnaHR0cDovL2V4YW1wbGUuY29tJywgYXJyYXkoKSksCiAgICAgICAgICAgIGFycmF5KCdodHRwczovL2V4YW1wbGUuY29tOjg5MTInLCBhcnJheSgpKSwKICAgICAgICAgICAgYXJyYXkoJ2h0dHBzOi8vZm9vLmV4YW1wbGUuY29tJywgYXJyYXkoMCkpLAogICAgICAgICAgICBhcnJheSgnaHR0cDovL2Zvby5leGFtcGxlLmNvbS90ZXN0L2FjbWUvJywgYXJyYXkoNCkpCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgZ2V0TWF0Y2hpbmdDb29raWVzRGF0YVByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc0Nvb2tpZXNNYXRjaGluZ1JlcXVlc3RzKCR1cmwsICRjb29raWVzKQogICAgewogICAgICAgICRiYWcgPSBhcnJheSgKICAgICAgICAgICAgbmV3IENvb2tpZShhcnJheSgKICAgICAgICAgICAgICAgICduYW1lJyAgICA9PiAnZm9vJywKICAgICAgICAgICAgICAgICd2YWx1ZScgICA9PiAnYmFyJywKICAgICAgICAgICAgICAgICdkb21haW4nICA9PiAnZXhhbXBsZS5jb20nLAogICAgICAgICAgICAgICAgJ3BhdGgnICAgID0+ICcvJywKICAgICAgICAgICAgICAgICdtYXhfYWdlJyA9PiAnODY0MDAnLAogICAgICAgICAgICAgICAgJ3BvcnQnICAgID0+IGFycmF5KDQ0MywgODA4MCksCiAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gJzEnLAogICAgICAgICAgICAgICAgJ3NlY3VyZScgID0+IHRydWUKICAgICAgICAgICAgKSksCiAgICAgICAgICAgIG5ldyBDb29raWUoYXJyYXkoCiAgICAgICAgICAgICAgICAnbmFtZScgICAgPT4gJ2JheicsCiAgICAgICAgICAgICAgICAndmFsdWUnICAgPT4gJ2Zvb2JhcicsCiAgICAgICAgICAgICAgICAnZG9tYWluJyAgPT4gJ2V4YW1wbGUuY29tJywKICAgICAgICAgICAgICAgICdwYXRoJyAgICA9PiAnLycsCiAgICAgICAgICAgICAgICAnbWF4X2FnZScgPT4gJzg2NDAwJywKICAgICAgICAgICAgICAgICdwb3J0JyAgICA9PiBhcnJheSg4MCwgODA4MCksCiAgICAgICAgICAgICAgICAndmVyc2lvbicgPT4gJzEnLAogICAgICAgICAgICAgICAgJ3NlY3VyZScgID0+IHRydWUKICAgICAgICAgICAgKSksCiAgICAgICAgICAgIG5ldyBDb29raWUoYXJyYXkoCiAgICAgICAgICAgICAgICAnbmFtZScgICAgPT4gJ3Rlc3QnLAogICAgICAgICAgICAgICAgJ3ZhbHVlJyAgID0+ICcxMjMnLAogICAgICAgICAgICAgICAgJ2RvbWFpbicgID0+ICd3d3cuZm9vYmFyLmNvbScsCiAgICAgICAgICAgICAgICAncGF0aCcgICAgPT4gJy9wYXRoLycsCiAgICAgICAgICAgICAgICAnZGlzY2FyZCcgPT4gdHJ1ZQogICAgICAgICAgICApKSwKICAgICAgICAgICAgbmV3IENvb2tpZShhcnJheSgKICAgICAgICAgICAgICAgICduYW1lJyAgICA9PiAnbXVwcGV0JywKICAgICAgICAgICAgICAgICd2YWx1ZScgICA9PiAnY29va2llX21vbnN0ZXInLAogICAgICAgICAgICAgICAgJ2RvbWFpbicgID0+ICcueS5leGFtcGxlLmNvbScsCiAgICAgICAgICAgICAgICAncGF0aCcgICAgPT4gJy9hY21lLycsCiAgICAgICAgICAgICAgICAnY29tbWVudCcgPT4gJ0NvbW1lbnQgZ29lcyBoZXJlLi4uJywKICAgICAgICAgICAgICAgICdleHBpcmVzJyA9PiB0aW1lKCkgKyA4NjQwMAogICAgICAgICAgICApKSwKICAgICAgICAgICAgbmV3IENvb2tpZShhcnJheSgKICAgICAgICAgICAgICAgICduYW1lJyAgICA9PiAnZ29vZ29vJywKICAgICAgICAgICAgICAgICd2YWx1ZScgICA9PiAnZ2FnYScsCiAgICAgICAgICAgICAgICAnZG9tYWluJyAgPT4gJy5leGFtcGxlLmNvbScsCiAgICAgICAgICAgICAgICAncGF0aCcgICAgPT4gJy90ZXN0L2FjbWUvJywKICAgICAgICAgICAgICAgICdtYXhfYWdlJyA9PiAxNTAwLAogICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+IDIKICAgICAgICAgICAgKSkKICAgICAgICApOwoKICAgICAgICBmb3JlYWNoICgkYmFnIGFzICRjb29raWUpIHsKICAgICAgICAgICAgJHRoaXMtPmphci0+YWRkKCRjb29raWUpOwogICAgICAgIH0KCiAgICAgICAgJHJlcXVlc3QgPSBuZXcgUmVxdWVzdCgnR0VUJywgJHVybCk7CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+amFyLT5nZXRNYXRjaGluZ0Nvb2tpZXMoJHJlcXVlc3QpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoY291bnQoJGNvb2tpZXMpLCBjb3VudCgkcmVzdWx0cykpOwogICAgICAgIGZvcmVhY2ggKCRjb29raWVzIGFzICRpKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygkYmFnWyRpXSwgJHJlc3VsdHMpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXFBsdWdpblxDb29raWVcRXhjZXB0aW9uXEludmFsaWRDb29raWVFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgVGhlIGNvb2tpZSBuYW1lIG11c3Qgbm90IGNvbnRhaW4gaW52YWxpZCBjaGFyYWN0ZXJzOiBhYmM6QDEyMwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRocm93c0V4Y2VwdGlvbldpdGhTdHJpY3RNb2RlKCkKICAgIHsKICAgICAgICAkYSA9IG5ldyBBcnJheUNvb2tpZUphcigpOwogICAgICAgICRhLT5zZXRTdHJpY3RNb2RlKHRydWUpOwogICAgICAgICRhLT5hZGQobmV3IENvb2tpZShhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgPT4gJ2FiYzpAMTIzJywKICAgICAgICAgICAgJ3ZhbHVlJyAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdkb21haW4nID0+ICdiYXInCiAgICAgICAgKSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieJar/FileCookieJarTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXENvb2tpZVxDb29raWVKYXI7Cgp1c2UgR3V6emxlXFBsdWdpblxDb29raWVcQ29va2llOwp1c2UgR3V6emxlXFBsdWdpblxDb29raWVcQ29va2llSmFyXEZpbGVDb29raWVKYXI7CgovKioKICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXENvb2tpZVxDb29raWVKYXJcRmlsZUNvb2tpZUphcgogKi8KY2xhc3MgRmlsZUNvb2tpZUphclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByaXZhdGUgJGZpbGU7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+ZmlsZSA9IHRlbXBuYW0oJy90bXAnLCAnZmlsZS1jb29raWVzJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RMb2Fkc0Zyb21GaWxlRmlsZSgpCiAgICB7CiAgICAgICAgJGphciA9IG5ldyBGaWxlQ29va2llSmFyKCR0aGlzLT5maWxlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCksICRqYXItPmFsbCgpKTsKICAgICAgICB1bmxpbmsoJHRoaXMtPmZpbGUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGVyc2lzdHNUb0ZpbGVGaWxlKCkKICAgIHsKICAgICAgICAkamFyID0gbmV3IEZpbGVDb29raWVKYXIoJHRoaXMtPmZpbGUpOwogICAgICAgICRqYXItPmFkZChuZXcgQ29va2llKGFycmF5KAogICAgICAgICAgICAnbmFtZScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICd2YWx1ZScgICA9PiAnYmFyJywKICAgICAgICAgICAgJ2RvbWFpbicgID0+ICdmb28uY29tJywKICAgICAgICAgICAgJ2V4cGlyZXMnID0+IHRpbWUoKSArIDEwMDAKICAgICAgICApKSk7CiAgICAgICAgJGphci0+YWRkKG5ldyBDb29raWUoYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgICA9PiAnYmF6JywKICAgICAgICAgICAgJ3ZhbHVlJyAgID0+ICdiYXInLAogICAgICAgICAgICAnZG9tYWluJyAgPT4gJ2Zvby5jb20nLAogICAgICAgICAgICAnZXhwaXJlcycgPT4gdGltZSgpICsgMTAwMAogICAgICAgICkpKTsKICAgICAgICAkamFyLT5hZGQobmV3IENvb2tpZShhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgID0+ICdib28nLAogICAgICAgICAgICAndmFsdWUnICAgPT4gJ2JhcicsCiAgICAgICAgICAgICdkb21haW4nICA9PiAnZm9vLmNvbScsCiAgICAgICAgKSkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCRqYXIpKTsKICAgICAgICB1bnNldCgkamFyKTsKCiAgICAgICAgLy8gTWFrZSBzdXJlIGl0IHdyb3RlIHRvIHRoZSBmaWxlCiAgICAgICAgJGNvbnRlbnRzID0gZmlsZV9nZXRfY29udGVudHMoJHRoaXMtPmZpbGUpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RFbXB0eSgkY29udGVudHMpOwoKICAgICAgICAvLyBMb2FkIHRoZSBjb29raWVKYXIgZnJvbSB0aGUgZmlsZQogICAgICAgICRqYXIgPSBuZXcgRmlsZUNvb2tpZUphcigkdGhpcy0+ZmlsZSk7CgogICAgICAgIC8vIFdlZWRzIG91dCB0ZW1wb3JhcnkgYW5kIHNlc3Npb24gY29va2llcwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJGphcikpOwogICAgICAgIHVuc2V0KCRqYXIpOwogICAgICAgIHVubGluaygkdGhpcy0+ZmlsZSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookiePluginTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXENvb2tpZTsKCnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgR3V6emxlXFBsdWdpblxDb29raWVcQ29va2llOwp1c2UgR3V6emxlXFBsdWdpblxDb29raWVcQ29va2llSmFyXEFycmF5Q29va2llSmFyOwp1c2UgR3V6emxlXEh0dHBcQ2xpZW50Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxQbHVnaW5cQ29va2llXENvb2tpZVBsdWdpbjsKCi8qKgogKiBAZ3JvdXAgc2VydmVyCiAqIEBjb3ZlcnMgR3V6emxlXFBsdWdpblxDb29raWVcQ29va2llUGx1Z2luCiAqLwpjbGFzcyBDb29raWVQbHVnaW5UZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEV4dHJhY3RzQW5kU3RvcmVzQ29va2llcygpCiAgICB7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCk7CiAgICAgICAgJG1vY2sgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxQbHVnaW5cQ29va2llXENvb2tpZUphclxBcnJheUNvb2tpZUphcicpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnYWRkQ29va2llc0Zyb21SZXNwb25zZScpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJG1vY2stPmV4cGVjdHMoJHRoaXMtPmV4YWN0bHkoMSkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdhZGRDb29raWVzRnJvbVJlc3BvbnNlJykKICAgICAgICAgICAgLT53aXRoKCRyZXNwb25zZSk7CgogICAgICAgICRwbHVnaW4gPSBuZXcgQ29va2llUGx1Z2luKCRtb2NrKTsKICAgICAgICAkcGx1Z2luLT5vblJlcXVlc3RTZW50KG5ldyBFdmVudChhcnJheSgKICAgICAgICAgICAgJ3Jlc3BvbnNlJyA9PiAkcmVzcG9uc2UKICAgICAgICApKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzQ29va2llc1RvUmVxdWVzdHMoKQogICAgewogICAgICAgICRjb29raWUgPSBuZXcgQ29va2llKGFycmF5KAogICAgICAgICAgICAnbmFtZScgID0+ICdmb28nLAogICAgICAgICAgICAndmFsdWUnID0+ICdiYXInCiAgICAgICAgKSk7CgogICAgICAgICRtb2NrID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcUGx1Z2luXENvb2tpZVxDb29raWVKYXJcQXJyYXlDb29raWVKYXInKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2dldE1hdGNoaW5nQ29va2llcycpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKCiAgICAgICAgJG1vY2stPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldE1hdGNoaW5nQ29va2llcycpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoYXJyYXkoJGNvb2tpZSkpKTsKCiAgICAgICAgJHBsdWdpbiA9IG5ldyBDb29raWVQbHVnaW4oJG1vY2spOwoKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKCRwbHVnaW4pOwoKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnaHR0cDovL3d3dy5leGFtcGxlLmNvbScpOwogICAgICAgICRwbHVnaW4tPm9uUmVxdWVzdEJlZm9yZVNlbmQobmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAncmVxdWVzdCcgPT4gJHJlcXVlc3QKICAgICAgICApKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRyZXF1ZXN0LT5nZXRDb29raWUoJ2ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvb2tpZXNBcmVFeHRyYWN0ZWRGcm9tUmVkaXJlY3RSZXNwb25zZXMoKQogICAgewogICAgICAgICRwbHVnaW4gPSBuZXcgQ29va2llUGx1Z2luKG5ldyBBcnJheUNvb2tpZUphcigpKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgMzAyIE1vdmVkIFRlbXBvcmFyaWx5XHJcbiIgLgogICAgICAgICAgICAiU2V0LUNvb2tpZTogdGVzdD01ODM1NTE7IGV4cGlyZXM9V2VkbmVzZGF5LCAyMy1NYXItMjA1MCAxOTo0OTo0NSBHTVQ7IHBhdGg9L1xyXG4iIC4KICAgICAgICAgICAgIkxvY2F0aW9uOiAvcmVkaXJlY3RcclxuXHJcbiIsCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuIiAuCiAgICAgICAgICAgICJDb250ZW50LUxlbmd0aDogMFxyXG5cclxuIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG4iIC4KICAgICAgICAgICAgIkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iCiAgICAgICAgKSk7CgogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKCRwbHVnaW4pOwoKICAgICAgICAkY2xpZW50LT5nZXQoKS0+c2VuZCgpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0PTU4MzU1MScsICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0Nvb2tpZScpKTsKCiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKHRydWUpOwogICAgICAgIC8vIENvbmZpcm0gc3Vic2VxdWVudCByZXF1ZXN0cyBoYXZlIHRoZSBjb29raWUuCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdD01ODM1NTEnLCAkcmVxdWVzdHNbMl0tPmdldEhlYWRlcignQ29va2llJykpOwogICAgICAgIC8vIENvbmZpcm0gdGhlIHJlZGlyZWN0ZWQgcmVxdWVzdCBoYXMgdGhlIGNvb2tpZS4KICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0PTU4MzU1MScsICRyZXF1ZXN0c1sxXS0+Z2V0SGVhZGVyKCdDb29raWUnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb29raWVzQXJlTm90QWRkZWRXaGVuUGFyYW1Jc1NldCgpCiAgICB7CiAgICAgICAgJGphciA9IG5ldyBBcnJheUNvb2tpZUphcigpOwogICAgICAgICRwbHVnaW4gPSBuZXcgQ29va2llUGx1Z2luKCRqYXIpOwoKICAgICAgICAkamFyLT5hZGQobmV3IENvb2tpZShhcnJheSgKICAgICAgICAgICAgJ2RvbWFpbicgID0+ICdleGFtcGxlLmNvbScsCiAgICAgICAgICAgICdwYXRoJyAgICA9PiAnLycsCiAgICAgICAgICAgICduYW1lJyAgICA9PiAndGVzdCcsCiAgICAgICAgICAgICd2YWx1ZScgICA9PiAnaGknLAogICAgICAgICAgICAnZXhwaXJlcycgPT4gdGltZSgpICsgMzYwMAogICAgICAgICkpKTsKCiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHA6Ly9leGFtcGxlLmNvbScpOwogICAgICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKCRwbHVnaW4pOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCBpdCBpcyBub3JtYWxseSBhZGRlZAogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCk7CiAgICAgICAgJHJlcXVlc3QtPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDApLCB0cnVlKTsKICAgICAgICAkcmVxdWVzdC0+c2VuZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2hpJywgJHJlcXVlc3QtPmdldENvb2tpZSgndGVzdCcpKTsKCiAgICAgICAgLy8gTm93IGVuc3VyZSB0aGF0IGl0IGlzIG5vdCBhZGRlZAogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCk7CiAgICAgICAgJHJlcXVlc3QtPmdldFBhcmFtcygpLT5zZXQoJ2Nvb2tpZXMuZGlzYWJsZScsIHRydWUpOwogICAgICAgICRyZXF1ZXN0LT5zZXRSZXNwb25zZShuZXcgUmVzcG9uc2UoMjAwKSwgdHJ1ZSk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkcmVxdWVzdC0+Z2V0Q29va2llKCd0ZXN0JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UHJvdmlkZXNDb29raWVKYXIoKQogICAgewogICAgICAgICRqYXIgPSBuZXcgQXJyYXlDb29raWVKYXIoKTsKICAgICAgICAkcGx1Z2luID0gbmV3IENvb2tpZVBsdWdpbigkamFyKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkamFyLCAkcGx1Z2luLT5nZXRDb29raWVKYXIoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFc2NhcGVzQ29va2llRG9tYWlucygpCiAgICB7CiAgICAgICAgJGNvb2tpZSA9IG5ldyBDb29raWUoYXJyYXkoJ2RvbWFpbicgPT4gJy9mb28vXiRbQS1aXSsvJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkY29va2llLT5tYXRjaGVzRG9tYWluKCdmb28nKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXENvb2tpZTsKCnVzZSBHdXp6bGVcUGx1Z2luXENvb2tpZVxDb29raWU7CgovKioKICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXENvb2tpZVxDb29raWUKICovCmNsYXNzIENvb2tpZVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SW5pdGlhbGl6ZXNEZWZhdWx0VmFsdWVzKCkKICAgIHsKICAgICAgICAkY29va2llID0gbmV3IENvb2tpZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy8nLCAkY29va2llLT5nZXRQYXRoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoKSwgJGNvb2tpZS0+Z2V0UG9ydHMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb252ZXJ0c0RhdGVUaW1lTWF4QWdlVG9Vbml4VGltZXN0YW1wKCkKICAgIHsKICAgICAgICAkY29va2llID0gbmV3IENvb2tpZShhcnJheSgKICAgICAgICAgICAnZXhwaXJlcycgPT4gJ05vdmVtYmVyIDIwLCAxOTg0JwogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKGlzX251bWVyaWMoJGNvb2tpZS0+Z2V0RXhwaXJlcygpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzRXhwaXJlc0Jhc2VkT25NYXhBZ2UoKQogICAgewogICAgICAgICR0ID0gdGltZSgpOwogICAgICAgICRjb29raWUgPSBuZXcgQ29va2llKGFycmF5KAogICAgICAgICAgICAnbWF4X2FnZScgPT4gMTAwCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdCArIDEwMCwgJGNvb2tpZS0+Z2V0RXhwaXJlcygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhvbGRzVmFsdWVzKCkKICAgIHsKICAgICAgICAkdCA9IHRpbWUoKTsKICAgICAgICAkZGF0YSA9IGFycmF5KAogICAgICAgICAgICAnbmFtZScgICAgICAgID0+ICdmb28nLAogICAgICAgICAgICAndmFsdWUnICAgICAgID0+ICdiYXonLAogICAgICAgICAgICAncGF0aCcgICAgICAgID0+ICcvYmFyJywKICAgICAgICAgICAgJ2RvbWFpbicgICAgICA9PiAnYmF6LmNvbScsCiAgICAgICAgICAgICdleHBpcmVzJyAgICAgPT4gJHQsCiAgICAgICAgICAgICdtYXhfYWdlJyAgICAgPT4gMTAwLAogICAgICAgICAgICAnY29tbWVudCcgICAgID0+ICdIaScsCiAgICAgICAgICAgICdjb21tZW50X3VybCcgPT4gJ2Zvby5jb20nLAogICAgICAgICAgICAncG9ydCcgICAgICAgID0+IGFycmF5KDEsIDIpLAogICAgICAgICAgICAndmVyc2lvbicgICAgID0+IDIsCiAgICAgICAgICAgICdzZWN1cmUnICAgICAgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2Rpc2NhcmQnICAgICA9PiB0cnVlLAogICAgICAgICAgICAnaHR0cF9vbmx5JyAgID0+IHRydWUsCiAgICAgICAgICAgICdkYXRhJyAgICAgICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZm9vJyA9PiAnYmF6JywKICAgICAgICAgICAgICAgICdiYXInID0+ICdiYW0nCiAgICAgICAgICAgICkKICAgICAgICApOwoKICAgICAgICAkY29va2llID0gbmV3IENvb2tpZSgkZGF0YSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZGF0YSwgJGNvb2tpZS0+dG9BcnJheSgpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJGNvb2tpZS0+Z2V0TmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXonLCAkY29va2llLT5nZXRWYWx1ZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXouY29tJywgJGNvb2tpZS0+Z2V0RG9tYWluKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9iYXInLCAkY29va2llLT5nZXRQYXRoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHQsICRjb29raWUtPmdldEV4cGlyZXMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxMDAsICRjb29raWUtPmdldE1heEFnZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdIaScsICRjb29raWUtPmdldENvbW1lbnQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vLmNvbScsICRjb29raWUtPmdldENvbW1lbnRVcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgxLCAyKSwgJGNvb2tpZS0+Z2V0UG9ydHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCAkY29va2llLT5nZXRWZXJzaW9uKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRjb29raWUtPmdldFNlY3VyZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkY29va2llLT5nZXREaXNjYXJkKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRjb29raWUtPmdldEh0dHBPbmx5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JheicsICRjb29raWUtPmdldEF0dHJpYnV0ZSgnZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhbScsICRjb29raWUtPmdldEF0dHJpYnV0ZSgnYmFyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdmb28nID0+ICdiYXonLAogICAgICAgICAgICAnYmFyJyA9PiAnYmFtJwogICAgICAgICksICRjb29raWUtPmdldEF0dHJpYnV0ZXMoKSk7CgogICAgICAgICRjb29raWUtPnNldE5hbWUoJ2EnKQogICAgICAgICAgICAtPnNldFZhbHVlKCdiJykKICAgICAgICAgICAgLT5zZXRQYXRoKCdjJykKICAgICAgICAgICAgLT5zZXREb21haW4oJ2Jhci5jb20nKQogICAgICAgICAgICAtPnNldEV4cGlyZXMoMTApCiAgICAgICAgICAgIC0+c2V0TWF4QWdlKDIwMCkKICAgICAgICAgICAgLT5zZXRDb21tZW50KCdlJykKICAgICAgICAgICAgLT5zZXRDb21tZW50VXJsKCdmJykKICAgICAgICAgICAgLT5zZXRQb3J0cyhhcnJheSg4MCkpCiAgICAgICAgICAgIC0+c2V0VmVyc2lvbigzKQogICAgICAgICAgICAtPnNldFNlY3VyZShmYWxzZSkKICAgICAgICAgICAgLT5zZXRIdHRwT25seShmYWxzZSkKICAgICAgICAgICAgLT5zZXREaXNjYXJkKGZhbHNlKQogICAgICAgICAgICAtPnNldEF0dHJpYnV0ZSgnc25vb3AnLCAnZG9nJyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2EnLCAkY29va2llLT5nZXROYW1lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2InLCAkY29va2llLT5nZXRWYWx1ZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdjJywgJGNvb2tpZS0+Z2V0UGF0aCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXIuY29tJywgJGNvb2tpZS0+Z2V0RG9tYWluKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTAsICRjb29raWUtPmdldEV4cGlyZXMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyMDAsICRjb29raWUtPmdldE1heEFnZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdlJywgJGNvb2tpZS0+Z2V0Q29tbWVudCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmJywgJGNvb2tpZS0+Z2V0Q29tbWVudFVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KDgwKSwgJGNvb2tpZS0+Z2V0UG9ydHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCAkY29va2llLT5nZXRWZXJzaW9uKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkY29va2llLT5nZXRTZWN1cmUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjb29raWUtPmdldERpc2NhcmQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjb29raWUtPmdldEh0dHBPbmx5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2RvZycsICRjb29raWUtPmdldEF0dHJpYnV0ZSgnc25vb3AnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZXRlcm1pbmVzSWZFeHBpcmVkKCkKICAgIHsKICAgICAgICAkYyA9IG5ldyBDb29raWUoKTsKICAgICAgICAkYy0+c2V0RXhwaXJlcygxMCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGMtPmlzRXhwaXJlZCgpKTsKICAgICAgICAkYy0+c2V0RXhwaXJlcyh0aW1lKCkgKyAxMDAwMCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjLT5pc0V4cGlyZWQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RNYXRjaGVzUG9ydHMoKQogICAgewogICAgICAgICRjb29raWUgPSBuZXcgQ29va2llKCk7CiAgICAgICAgLy8gQWx3YXlzIG1hdGNoZXMgd2hlbiBub3RoaW5nIGlzIHNldAogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRjb29raWUtPm1hdGNoZXNQb3J0KDIpKTsKCiAgICAgICAgJGNvb2tpZS0+c2V0UG9ydHMoYXJyYXkoMSwgMikpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRjb29raWUtPm1hdGNoZXNQb3J0KDIpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNvb2tpZS0+bWF0Y2hlc1BvcnQoMTAwKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RNYXRjaGVzRG9tYWluKCkKICAgIHsKICAgICAgICAkY29va2llID0gbmV3IENvb2tpZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRjb29raWUtPm1hdGNoZXNEb21haW4oJ2Jhei5jb20nKSk7CgogICAgICAgICRjb29raWUtPnNldERvbWFpbignYmF6LmNvbScpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRjb29raWUtPm1hdGNoZXNEb21haW4oJ2Jhei5jb20nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjb29raWUtPm1hdGNoZXNEb21haW4oJ2Jhci5jb20nKSk7CgogICAgICAgICRjb29raWUtPnNldERvbWFpbignLmJhei5jb20nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkY29va2llLT5tYXRjaGVzRG9tYWluKCcuYmF6LmNvbScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkY29va2llLT5tYXRjaGVzRG9tYWluKCdmb28uYmF6LmNvbScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNvb2tpZS0+bWF0Y2hlc0RvbWFpbignYmF6LmJhci5jb20nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGNvb2tpZS0+bWF0Y2hlc0RvbWFpbignYmF6LmNvbScpKTsKCiAgICAgICAgJGNvb2tpZS0+c2V0RG9tYWluKCcuMTI3LjAuMC4xJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGNvb2tpZS0+bWF0Y2hlc0RvbWFpbignMTI3LjAuMC4xJykpOwoKICAgICAgICAkY29va2llLT5zZXREb21haW4oJzEyNy4wLjAuMScpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRjb29raWUtPm1hdGNoZXNEb21haW4oJzEyNy4wLjAuMScpKTsKCiAgICAgICAgJGNvb2tpZS0+c2V0RG9tYWluKCcuY29tLicpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkY29va2llLT5tYXRjaGVzRG9tYWluKCdiYXouY29tJykpOwoKICAgICAgICAkY29va2llLT5zZXREb21haW4oJy5sb2NhbCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRjb29raWUtPm1hdGNoZXNEb21haW4oJ2V4YW1wbGUubG9jYWwnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RNYXRjaGVzUGF0aCgpCiAgICB7CiAgICAgICAgJGNvb2tpZSA9IG5ldyBDb29raWUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkY29va2llLT5tYXRjaGVzUGF0aCgnL2ZvbycpKTsKCiAgICAgICAgJGNvb2tpZS0+c2V0UGF0aCgnL2ZvbycpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRjb29raWUtPm1hdGNoZXNQYXRoKCcvZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRjb29raWUtPm1hdGNoZXNQYXRoKCcvZm9vL2JhcicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNvb2tpZS0+bWF0Y2hlc1BhdGgoJy9iYXInKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNvb2tpZVZhbGlkYXRlUHJvdmlkZXIoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoJ2ZvbycsICdiYXonLCAnYmFyJywgdHJ1ZSksCiAgICAgICAgICAgIGFycmF5KCcwJywgJzAnLCAnMCcsIHRydWUpLAogICAgICAgICAgICBhcnJheSgnJywgJ2JheicsICdiYXInLCAnVGhlIGNvb2tpZSBuYW1lIG11c3Qgbm90IGJlIGVtcHR5JyksCiAgICAgICAgICAgIGFycmF5KCdmb28nLCAnJywgJ2JhcicsICdUaGUgY29va2llIHZhbHVlIG11c3Qgbm90IGJlIGVtcHR5JyksCiAgICAgICAgICAgIGFycmF5KCdmb28nLCAnYmF6JywgJycsICdUaGUgY29va2llIGRvbWFpbiBtdXN0IG5vdCBiZSBlbXB0eScpLAogICAgICAgICAgICBhcnJheSgnZm9vXFwnLCAnYmF6JywgJzAnLCAnVGhlIGNvb2tpZSBuYW1lIG11c3Qgbm90IGNvbnRhaW4gaW52YWxpZCBjaGFyYWN0ZXJzOiBmb29cXCcpLAogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGNvb2tpZVZhbGlkYXRlUHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNDb29raWVzKCRuYW1lLCAkdmFsdWUsICRkb21haW4sICRyZXN1bHQpCiAgICB7CiAgICAgICAgJGNvb2tpZSA9IG5ldyBDb29raWUoYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgID0+ICRuYW1lLAogICAgICAgICAgICAndmFsdWUnICA9PiAkdmFsdWUsCiAgICAgICAgICAgICdkb21haW4nID0+ICRkb21haW4KICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkcmVzdWx0LCAkY29va2llLT52YWxpZGF0ZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNJbnZhbGlkQ2hhcmFjdGVyU3RyaW5nKCkKICAgIHsKICAgICAgICAkbSA9IG5ldyBcUmVmbGVjdGlvbk1ldGhvZCgnR3V6emxlXFBsdWdpblxDb29raWVcQ29va2llJywgJ2dldEludmFsaWRDaGFyYWN0ZXJzJyk7CiAgICAgICAgJG0tPnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgJHAgPSBuZXcgXFJlZmxlY3Rpb25Qcm9wZXJ0eSgnR3V6emxlXFBsdWdpblxDb29raWVcQ29va2llJywgJ2ludmFsaWRDaGFyU3RyaW5nJyk7CiAgICAgICAgJHAtPnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgJHAtPnNldFZhbHVlKCcnKTsKICAgICAgICAvLyBFeHBlY3RzIGEgc3RyaW5nIGNvbnRhaW5pbmcgNTEgaW52YWxpZCBjaGFyYWN0ZXJzCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyg1MSwgc3RybGVuKCRtLT5pbnZva2UoJG0pKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdAJywgJG0tPmludm9rZSgkbSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/CurlAuth/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/CurlAuth/CurlAuthPluginTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEN1cmxBdXRoOwoKdXNlIEd1enpsZVxDb21tb25cVmVyc2lvbjsKdXNlIEd1enpsZVxQbHVnaW5cQ3VybEF1dGhcQ3VybEF1dGhQbHVnaW47CnVzZSBHdXp6bGVcSHR0cFxDbGllbnQ7CgovKioKICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXEN1cmxBdXRoXEN1cmxBdXRoUGx1Z2luCiAqLwpjbGFzcyBDdXJsQXV0aFBsdWdpblRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkc0Jhc2ljQXV0aGVudGljYXRpb24oKQogICAgewogICAgICAgIFZlcnNpb246OiRlbWl0V2FybmluZ3MgPSBmYWxzZTsKICAgICAgICAkcGx1Z2luID0gbmV3IEN1cmxBdXRoUGx1Z2luKCdtaWNoYWVsJywgJ3Rlc3QnKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cDovL3d3dy50ZXN0LmNvbS8nKTsKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkU3Vic2NyaWJlcigkcGx1Z2luKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnLycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ21pY2hhZWwnLCAkcmVxdWVzdC0+Z2V0VXNlcm5hbWUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsICRyZXF1ZXN0LT5nZXRQYXNzd29yZCgpKTsKICAgICAgICBWZXJzaW9uOjokZW1pdFdhcm5pbmdzID0gdHJ1ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNEaWdlc3RBdXRoZW50aWNhdGlvbigpCiAgICB7CiAgICAgICAgVmVyc2lvbjo6JGVtaXRXYXJuaW5ncyA9IGZhbHNlOwogICAgICAgICRwbHVnaW4gPSBuZXcgQ3VybEF1dGhQbHVnaW4oJ2p1bGlhbicsICd0ZXN0JywgQ1VSTEFVVEhfRElHRVNUKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cDovL3d3dy50ZXN0LmNvbS8nKTsKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkU3Vic2NyaWJlcigkcGx1Z2luKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnLycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2p1bGlhbicsICRyZXF1ZXN0LT5nZXRVc2VybmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgJHJlcXVlc3QtPmdldFBhc3N3b3JkKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2p1bGlhbjp0ZXN0JywgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPmdldChDVVJMT1BUX1VTRVJQV0QpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKENVUkxBVVRIX0RJR0VTVCwgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPmdldChDVVJMT1BUX0hUVFBBVVRIKSk7CiAgICAgICAgVmVyc2lvbjo6JGVtaXRXYXJuaW5ncyA9IHRydWU7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/ErrorResponse/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/ErrorResponse/ErrorResponsePluginTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEVycm9yUmVzcG9uc2U7Cgp1c2UgR3V6emxlXFNlcnZpY2VcQ2xpZW50Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxQbHVnaW5cRXJyb3JSZXNwb25zZVxFcnJvclJlc3BvbnNlUGx1Z2luOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cU2VydmljZURlc2NyaXB0aW9uOwp1c2UgR3V6emxlXFRlc3RzXE1vY2tcRXJyb3JSZXNwb25zZU1vY2s7CgovKioKICogQGNvdmVycyBcR3V6emxlXFBsdWdpblxFcnJvclJlc3BvbnNlXEVycm9yUmVzcG9uc2VQbHVnaW4KICovCmNsYXNzIEVycm9yUmVzcG9uc2VQbHVnaW5UZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHRlYXJEb3duQWZ0ZXJDbGFzcygpCiAgICB7CiAgICAgICAgc2VsZjo6Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkbW9ja0Vycm9yID0gJ0d1enpsZVxUZXN0c1xNb2NrXEVycm9yUmVzcG9uc2VNb2NrJzsKICAgICAgICAkZGVzY3JpcHRpb24gPSBTZXJ2aWNlRGVzY3JpcHRpb246OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd3b3JrcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdjb2RlJyA9PiA1MDAsICdjbGFzcycgPT4gJG1vY2tFcnJvciksCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdjb2RlJyA9PiA1MDMsICdyZWFzb24nID0+ICdmb28nLCAnY2xhc3MnID0+ICRtb2NrRXJyb3IpLAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnY29kZScgPT4gMjAwLCAncmVhc29uJyA9PiAnRXJyb3IhJywgJ2NsYXNzJyA9PiAkbW9ja0Vycm9yKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnYmFkX2NsYXNzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ0dFVCcsCiAgICAgICAgICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2NvZGUnID0+IDUwMCwgJ2NsYXNzJyA9PiAnRG9lc1xcTm90XFxFeGlzdCcpCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdkb2VzX25vdF9pbXBsZW1lbnQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgICAgICAgICAnZXJyb3JSZXNwb25zZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnY29kZScgPT4gNTAwLCAnY2xhc3MnID0+IF9fQ0xBU1NfXykKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ25vX2Vycm9ycycgPT4gYXJyYXkoJ2h0dHBNZXRob2QnID0+ICdHRVQnKSwKICAgICAgICAgICAgICAgICdub19jbGFzcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdHRVQnLAogICAgICAgICAgICAgICAgICAgICdlcnJvclJlc3BvbnNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdjb2RlJyA9PiA1MDApCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgICAgICR0aGlzLT5jbGllbnQgPSBuZXcgQ2xpZW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0VXJsKCkpOwogICAgICAgICR0aGlzLT5jbGllbnQtPnNldERlc2NyaXB0aW9uKCRkZXNjcmlwdGlvbik7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxIdHRwXEV4Y2VwdGlvblxTZXJ2ZXJFcnJvclJlc3BvbnNlRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2tpcHNXaGVuRXJyb3JSZXNwb25zZXNJc05vdFNldCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSA1MDAgRm9vXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5hZGRTdWJzY3JpYmVyKG5ldyBFcnJvclJlc3BvbnNlUGx1Z2luKCkpOwogICAgICAgICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ25vX2Vycm9ycycpLT5leGVjdXRlKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTa2lwc1doZW5FcnJvclJlc3BvbnNlc0lzTm90U2V0QW5kQWxsb3dzU3VjY2VzcygpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIpOwogICAgICAgICR0aGlzLT5jbGllbnQtPmFkZFN1YnNjcmliZXIobmV3IEVycm9yUmVzcG9uc2VQbHVnaW4oKSk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnbm9fZXJyb3JzJyktPmV4ZWN1dGUoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXFBsdWdpblxFcnJvclJlc3BvbnNlXEV4Y2VwdGlvblxFcnJvclJlc3BvbnNlRXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIERvZXNcTm90XEV4aXN0IGRvZXMgbm90IGV4aXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc0Vycm9yUmVzcG9uc2VFeGlzdHMoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgNTAwIEZvb1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIik7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgRXJyb3JSZXNwb25zZVBsdWdpbigpKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdiYWRfY2xhc3MnKS0+ZXhlY3V0ZSgpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxHdXp6bGVcUGx1Z2luXEVycm9yUmVzcG9uc2VcRXhjZXB0aW9uXEVycm9yUmVzcG9uc2VFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgbXVzdCBpbXBsZW1lbnQgR3V6emxlXFBsdWdpblxFcnJvclJlc3BvbnNlXEVycm9yUmVzcG9uc2VFeGNlcHRpb25JbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzRXJyb3JSZXNwb25zZUltcGxlbWVudHNJbnRlcmZhY2UoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgNTAwIEZvb1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIik7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgRXJyb3JSZXNwb25zZVBsdWdpbigpKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCdkb2VzX25vdF9pbXBsZW1lbnQnKS0+ZXhlY3V0ZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VGhyb3dzU3BlY2lmaWNFcnJvclJlc3BvbnNlT25NYXRjaCgpCiAgICB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSA1MDAgRm9vXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKICAgICAgICAgICAgJHRoaXMtPmNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgRXJyb3JSZXNwb25zZVBsdWdpbigpKTsKICAgICAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCd3b3JrcycpOwogICAgICAgICAgICAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgICAgICAkdGhpcy0+ZmFpbCgnRXhjZXB0aW9uIG5vdCB0aHJvd24nKTsKICAgICAgICB9IGNhdGNoIChFcnJvclJlc3BvbnNlTW9jayAkZSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkY29tbWFuZCwgJGUtPmNvbW1hbmQpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDUwMCwgJGUtPnJlc3BvbnNlLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXFRlc3RzXE1vY2tcRXJyb3JSZXNwb25zZU1vY2sKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NXaGVuQ29kZUFuZFBocmFzZU1hdGNoKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoIkhUVFAvMS4xIDIwMCBFcnJvciFcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIpOwogICAgICAgICR0aGlzLT5jbGllbnQtPmFkZFN1YnNjcmliZXIobmV3IEVycm9yUmVzcG9uc2VQbHVnaW4oKSk7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+Z2V0Q29tbWFuZCgnd29ya3MnKS0+ZXhlY3V0ZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2tpcHNXaGVuUmVhc29uRG9lc05vdE1hdGNoKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIik7CiAgICAgICAgJHRoaXMtPmNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgRXJyb3JSZXNwb25zZVBsdWdpbigpKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5nZXRDb21tYW5kKCd3b3JrcycpLT5leGVjdXRlKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTa2lwc1doZW5Ob0NsYXNzSXNTZXQoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5hZGRTdWJzY3JpYmVyKG5ldyBFcnJvclJlc3BvbnNlUGx1Z2luKCkpOwogICAgICAgICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJ25vX2NsYXNzJyktPmV4ZWN1dGUoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/History/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/History/HistoryPluginTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXEhpc3Rvcnk7Cgp1c2UgR3V6emxlXEh0dHBcQ2xpZW50Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZTsKdXNlIEd1enpsZVxQbHVnaW5cSGlzdG9yeVxIaXN0b3J5UGx1Z2luOwp1c2UgR3V6emxlXFBsdWdpblxNb2NrXE1vY2tQbHVnaW47CgovKioKICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXEhpc3RvcnlcSGlzdG9yeVBsdWdpbgogKi8KY2xhc3MgSGlzdG9yeVBsdWdpblRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQWRkcyBtdWx0aXBsZSByZXF1ZXN0cyB0byBhIHBsdWdpbgogICAgICoKICAgICAqIEBwYXJhbSBIaXN0b3J5UGx1Z2luICRoIFBsdWdpbgogICAgICogQHBhcmFtIGludCAkbnVtIE51bWJlciBvZiByZXF1ZXN0cyB0byBhZGQKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBhZGRSZXF1ZXN0cyhIaXN0b3J5UGx1Z2luICRoLCAkbnVtKQogICAgewogICAgICAgICRyZXF1ZXN0cyA9IGFycmF5KCk7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHA6Ly9sb2NhbGhvc3QvJyk7CiAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgJG51bTsgJGkrKykgewogICAgICAgICAgICAkcmVxdWVzdHNbJGldID0gJGNsaWVudC0+Z2V0KCk7CiAgICAgICAgICAgICRyZXF1ZXN0c1skaV0tPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDApLCB0cnVlKTsKICAgICAgICAgICAgJHJlcXVlc3RzWyRpXS0+c2VuZCgpOwogICAgICAgICAgICAkaC0+YWRkKCRyZXF1ZXN0c1skaV0pOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRyZXF1ZXN0czsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERlc2NyaWJlc1N1YnNjcmliZWRFdmVudHMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgSGlzdG9yeVBsdWdpbjo6Z2V0U3Vic2NyaWJlZEV2ZW50cygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE1haW50YWluc0xpbWl0VmFsdWUoKQogICAgewogICAgICAgICRoID0gbmV3IEhpc3RvcnlQbHVnaW4oKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkaCwgJGgtPnNldExpbWl0KDEwKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxMCwgJGgtPmdldExpbWl0KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkc1JlcXVlc3RzKCkKICAgIHsKICAgICAgICAkaCA9IG5ldyBIaXN0b3J5UGx1Z2luKCk7CiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmFkZFJlcXVlc3RzKCRoLCAxKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRoKSk7CiAgICAgICAgJGkgPSAkaC0+Z2V0SXRlcmF0b3IoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcmVxdWVzdHNbMF0sICRpWzBdKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RBZGRzUmVxdWVzdHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RNYWludGFpbnNMaW1pdCgpCiAgICB7CiAgICAgICAgJGggPSBuZXcgSGlzdG9yeVBsdWdpbigpOwogICAgICAgICRoLT5zZXRMaW1pdCgyKTsKICAgICAgICAkcmVxdWVzdHMgPSAkdGhpcy0+YWRkUmVxdWVzdHMoJGgsIDMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJGgpKTsKICAgICAgICAkaSA9IDA7CiAgICAgICAgZm9yZWFjaCAoJGggYXMgJHJlcXVlc3QpIHsKICAgICAgICAgICAgaWYgKCRpID4gMCkgewogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHJlcXVlc3RzWyRpXSwgJHJlcXVlc3QpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc0xhc3RSZXF1ZXN0KCkKICAgIHsKICAgICAgICAkaCA9IG5ldyBIaXN0b3J5UGx1Z2luKCk7CiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmFkZFJlcXVlc3RzKCRoLCA1KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZShlbmQoJHJlcXVlc3RzKSwgJGgtPmdldExhc3RSZXF1ZXN0KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmV0dXJuc0xhc3RSZXNwb25zZSgpCiAgICB7CiAgICAgICAgJGggPSBuZXcgSGlzdG9yeVBsdWdpbigpOwogICAgICAgICRyZXF1ZXN0cyA9ICR0aGlzLT5hZGRSZXF1ZXN0cygkaCwgNSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoZW5kKCRyZXF1ZXN0cyktPmdldFJlc3BvbnNlKCksICRoLT5nZXRMYXN0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGVhcnNIaXN0b3J5KCkKICAgIHsKICAgICAgICAkaCA9IG5ldyBIaXN0b3J5UGx1Z2luKCk7CiAgICAgICAgJHJlcXVlc3RzID0gJHRoaXMtPmFkZFJlcXVlc3RzKCRoLCA1KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDUsIGNvdW50KCRoKSk7CiAgICAgICAgJGgtPmNsZWFyKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCBjb3VudCgkaCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdEFkZHNSZXF1ZXN0cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVwZGF0ZXNBZGRSZXF1ZXN0cygpCiAgICB7CiAgICAgICAgJGggPSBuZXcgSGlzdG9yeVBsdWdpbigpOwogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vbG9jYWxob3N0LycpOwogICAgICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKCRoKTsKCiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoKTsKICAgICAgICAkcmVxdWVzdC0+c2V0UmVzcG9uc2UobmV3IFJlc3BvbnNlKDIwMCksIHRydWUpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CgogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRyZXF1ZXN0LCAkaC0+Z2V0TGFzdFJlcXVlc3QoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5DYXN0VG9TdHJpbmcoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vbG9jYWxob3N0LycpOwogICAgICAgICRoID0gbmV3IEhpc3RvcnlQbHVnaW4oKTsKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkU3Vic2NyaWJlcigkaCk7CgogICAgICAgICRtb2NrID0gbmV3IE1vY2tQbHVnaW4oYXJyYXkoCiAgICAgICAgICAgIG5ldyBSZXNwb25zZSgzMDEsIGFycmF5KCdMb2NhdGlvbicgPT4gJy9yZWRpcmVjdDEnLCAnQ29udGVudC1MZW5ndGgnID0+IDApKSwKICAgICAgICAgICAgbmV3IFJlc3BvbnNlKDMwNywgYXJyYXkoJ0xvY2F0aW9uJyA9PiAnL3JlZGlyZWN0MicsICdDb250ZW50LUxlbmd0aCcgPT4gMCkpLAogICAgICAgICAgICBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnQ29udGVudC1MZW5ndGgnID0+ICcyJyksICdISScpCiAgICAgICAgKSk7CgogICAgICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKCRtb2NrKTsKICAgICAgICAkcmVxdWVzdCA9ICRjbGllbnQtPmdldCgpOwogICAgICAgICRyZXF1ZXN0LT5zZW5kKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCBjb3VudCgkaCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgY291bnQoJG1vY2stPmdldFJlY2VpdmVkUmVxdWVzdHMoKSkpOwoKICAgICAgICAkaCA9IHN0cl9yZXBsYWNlKCJcciIsICcnLCAkaCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCI+IEdFVCAvIEhUVFAvMS4xXG5Ib3N0OiBsb2NhbGhvc3RcblVzZXItQWdlbnQ6IiwgJGgpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygiPCBIVFRQLzEuMSAzMDEgTW92ZWQgUGVybWFuZW50bHlcbkxvY2F0aW9uOiAvcmVkaXJlY3QxIiwgJGgpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygiPCBIVFRQLzEuMSAzMDcgVGVtcG9yYXJ5IFJlZGlyZWN0XG5Mb2NhdGlvbjogL3JlZGlyZWN0MiIsICRoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoIjwgSFRUUC8xLjEgMjAwIE9LXG5Db250ZW50LUxlbmd0aDogMlxuXG5ISSIsICRoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Log/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Log/LogPluginTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXExvZzsKCnVzZSBHdXp6bGVcTG9nXENsb3N1cmVMb2dBZGFwdGVyOwp1c2UgR3V6emxlXEh0dHBcQ2xpZW50Owp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcUGx1Z2luXExvZ1xMb2dQbHVnaW47CnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50OwoKLyoqCiAqIEBncm91cCBzZXJ2ZXIKICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXExvZ1xMb2dQbHVnaW4KICovCmNsYXNzIExvZ1BsdWdpblRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCAkYWRhcHRlcjsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5hZGFwdGVyID0gbmV3IENsb3N1cmVMb2dBZGFwdGVyKGZ1bmN0aW9uICgkbWVzc2FnZSkgewogICAgICAgICAgICBlY2hvICRtZXNzYWdlOwogICAgICAgIH0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SWdub3Jlc0N1cmxFdmVudHNXaGVuTm90V2lyaW5nQm9kaWVzKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBMb2dQbHVnaW4oJHRoaXMtPmFkYXB0ZXIpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RFbXB0eSgkcC0+Z2V0U3Vic2NyaWJlZEV2ZW50cygpKTsKICAgICAgICAkZXZlbnQgPSBuZXcgRXZlbnQoYXJyYXkoJ3JlcXVlc3QnID0+IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2Zvby5jb20nKSkpOwogICAgICAgICRwLT5vbkN1cmxSZWFkKCRldmVudCk7CiAgICAgICAgJHAtPm9uQ3VybFdyaXRlKCRldmVudCk7CiAgICAgICAgJHAtPm9uUmVxdWVzdEJlZm9yZVNlbmQoJGV2ZW50KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExvZ3NXaGVuQ29tcGxldGUoKQogICAgewogICAgICAgICRvdXRwdXQgPSAnJzsKICAgICAgICAkcCA9IG5ldyBMb2dQbHVnaW4obmV3IENsb3N1cmVMb2dBZGFwdGVyKGZ1bmN0aW9uICgkbWVzc2FnZSkgdXNlICgmJG91dHB1dCkgewogICAgICAgICAgICAkb3V0cHV0ID0gJG1lc3NhZ2U7CiAgICAgICAgfSksICd7bWV0aG9kfSB7cmVzb3VyY2V9IHwge2NvZGV9IHtyZXNfYm9keX0nKTsKCiAgICAgICAgJHAtPm9uUmVxdWVzdFNlbnQobmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAncmVxdWVzdCcgID0+IG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2Zvby5jb20nKSwKICAgICAgICAgICAgJ3Jlc3BvbnNlJyA9PiBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgpLCAnRm9vJykKICAgICAgICApKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0dFVCAvIHwgMjAwIEZvbycsICRvdXRwdXQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0V2lyZXNCb2RpZXNXaGVuTmVlZGVkKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkcGx1Z2luID0gbmV3IExvZ1BsdWdpbigkdGhpcy0+YWRhcHRlciwgJ3tyZXFfYm9keX0gfCB7cmVzX2JvZHl9JywgdHJ1ZSk7CiAgICAgICAgJGNsaWVudC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZFN1YnNjcmliZXIoJHBsdWdpbik7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wdXQoKTsKCiAgICAgICAgLy8gU2VuZCB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgZHVtbXkgc2VydmVyIGFzIHRoZSByZXF1ZXN0IGJvZHkKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogNFxyXG5cclxuc2VuZCIpOwogICAgICAgICRzdHJlYW0gPSBmb3BlbigkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpLCAncicpOwogICAgICAgICRyZXF1ZXN0LT5zZXRCb2R5KEVudGl0eUJvZHk6OmZhY3RvcnkoJHN0cmVhbSwgNCkpOwoKICAgICAgICAkdG1wRmlsZSA9IHRlbXBuYW0oc3lzX2dldF90ZW1wX2RpcigpLCAnbm9uX3JlcGVhdGFibGUnKTsKICAgICAgICAkcmVxdWVzdC0+c2V0UmVzcG9uc2VCb2R5KEVudGl0eUJvZHk6OmZhY3RvcnkoZm9wZW4oJHRtcEZpbGUsICd3JykpKTsKCiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDhcclxuXHJcbnJlc3BvbnNlIik7CgogICAgICAgIG9iX3N0YXJ0KCk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkbWVzc2FnZSA9IG9iX2dldF9jbGVhbigpOwoKICAgICAgICB1bmxpbmsoJHRtcEZpbGUpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygic2VuZCIsICRtZXNzYWdlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoInJlc3BvbnNlIiwgJG1lc3NhZ2UpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzSGVscGZ1bFN0YXRpY0ZhY3RvcnlNZXRob2QoKQogICAgewogICAgICAgICRzID0gZm9wZW4oJ3BocDovL3RlbXAnLCAncisnKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIoTG9nUGx1Z2luOjpnZXREZWJ1Z1BsdWdpbih0cnVlLCAkcykpOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+cHV0KCdodHRwOi8vZm9vLmNvbScsIGFycmF5KCdDb250ZW50LVR5cGUnID0+ICdGb28nKSwgJ0JhcicpOwogICAgICAgICRyZXF1ZXN0LT5zZXRyZXNwb25zZShuZXcgUmVzcG9uc2UoMjAwKSwgdHJ1ZSk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICByZXdpbmQoJHMpOwogICAgICAgICRjb250ZW50cyA9IHN0cmVhbV9nZXRfY29udGVudHMoJHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnIyBSZXF1ZXN0OicsICRjb250ZW50cyk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zSW5zKCdQVVQgLyBIVFRQLzEuMScsICRjb250ZW50cyk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCcjIFJlc3BvbnNlOicsICRjb250ZW50cyk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zSW5zKCdIVFRQLzEuMSAyMDAgT0snLCAkY29udGVudHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnIyBFcnJvcnM6JywgJGNvbnRlbnRzKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Md5/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Md5/CommandContentMd5PluginTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXE1kNTsKCnVzZSBHdXp6bGVcQ29tbW9uXEV2ZW50Owp1c2UgR3V6emxlXFBsdWdpblxNZDVcQ29tbWFuZENvbnRlbnRNZDVQbHVnaW47CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTZXJ2aWNlRGVzY3JpcHRpb247CnVzZSBHdXp6bGVcU2VydmljZVxDbGllbnQ7CgovKioKICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXE1kNVxDb21tYW5kQ29udGVudE1kNVBsdWdpbgogKi8KY2xhc3MgQ29tbWFuZENvbnRlbnRNZDVQbHVnaW5UZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0Q2xpZW50KCkKICAgIHsKICAgICAgICAkZGVzY3JpcHRpb24gPSBuZXcgU2VydmljZURlc2NyaXB0aW9uKGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndGVzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQVVQnLAogICAgICAgICAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnRNRDUnID0+IGFycmF5KCksCiAgICAgICAgICAgICAgICAgICAgICAgICdCb2R5JyAgICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2JvZHknCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkY2xpZW50LT5zZXREZXNjcmlwdGlvbigkZGVzY3JpcHRpb24pOwoKICAgICAgICByZXR1cm4gJGNsaWVudDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc0V2ZW50cygpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdEVtcHR5KENvbW1hbmRDb250ZW50TWQ1UGx1Z2luOjpnZXRTdWJzY3JpYmVkRXZlbnRzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVzTWQ1V2hlblBhcmFtRXhpc3RzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldENsaWVudCgpOwogICAgICAgICRjb21tYW5kID0gJGNsaWVudC0+Z2V0Q29tbWFuZCgndGVzdCcsIGFycmF5KAogICAgICAgICAgICAnQm9keScgICAgICAgPT4gJ0ZvbycsCiAgICAgICAgICAgICdDb250ZW50TUQ1JyA9PiB0cnVlCiAgICAgICAgKSk7CiAgICAgICAgJGV2ZW50ID0gbmV3IEV2ZW50KGFycmF5KCdjb21tYW5kJyA9PiAkY29tbWFuZCkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgICAgICAkcGx1Z2luID0gbmV3IENvbW1hbmRDb250ZW50TWQ1UGx1Z2luKCk7CiAgICAgICAgJHBsdWdpbi0+b25Db21tYW5kQmVmb3JlU2VuZCgkZXZlbnQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0UxYkdmWHJSWTQyQmEvdUNMZExDWFE9PScsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0NvbnRlbnQtTUQ1JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc05vdGhpbmdXaGVuTm9QYXlsb2FkRXhpc3RzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldENsaWVudCgpOwogICAgICAgICRjbGllbnQtPmdldERlc2NyaXB0aW9uKCktPmdldE9wZXJhdGlvbigndGVzdCcpLT5zZXRIdHRwTWV0aG9kKCdHRVQnKTsKICAgICAgICAkY29tbWFuZCA9ICRjbGllbnQtPmdldENvbW1hbmQoJ3Rlc3QnKTsKICAgICAgICAkZXZlbnQgPSBuZXcgRXZlbnQoYXJyYXkoJ2NvbW1hbmQnID0+ICRjb21tYW5kKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgICRwbHVnaW4gPSBuZXcgQ29tbWFuZENvbnRlbnRNZDVQbHVnaW4oKTsKICAgICAgICAkcGx1Z2luLT5vbkNvbW1hbmRCZWZvcmVTZW5kKCRldmVudCk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHJlcXVlc3QtPmdldEhlYWRlcignQ29udGVudC1NRDUnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzVmFsaWRhdGlvblRvUmVzcG9uc2VzT2ZDb250ZW50TWQ1KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldENsaWVudCgpOwogICAgICAgICRjbGllbnQtPmdldERlc2NyaXB0aW9uKCktPmdldE9wZXJhdGlvbigndGVzdCcpLT5zZXRIdHRwTWV0aG9kKCdHRVQnKTsKICAgICAgICAkY29tbWFuZCA9ICRjbGllbnQtPmdldENvbW1hbmQoJ3Rlc3QnLCBhcnJheSgKICAgICAgICAgICAgJ1ZhbGlkYXRlTUQ1JyA9PiB0cnVlCiAgICAgICAgKSk7CiAgICAgICAgJGV2ZW50ID0gbmV3IEV2ZW50KGFycmF5KCdjb21tYW5kJyA9PiAkY29tbWFuZCkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgICAgICAkcGx1Z2luID0gbmV3IENvbW1hbmRDb250ZW50TWQ1UGx1Z2luKCk7CiAgICAgICAgJHBsdWdpbi0+b25Db21tYW5kQmVmb3JlU2VuZCgkZXZlbnQpOwogICAgICAgICRsaXN0ZW5lcnMgPSAkcmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmdldExpc3RlbmVycygncmVxdWVzdC5jb21wbGV0ZScpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RFbXB0eSgkbGlzdGVuZXJzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdElnbm9yZXNWYWxpZGF0aW9uV2hlbkRpc2FibGVkKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldENsaWVudCgpOwogICAgICAgICRjbGllbnQtPmdldERlc2NyaXB0aW9uKCktPmdldE9wZXJhdGlvbigndGVzdCcpLT5zZXRIdHRwTWV0aG9kKCdHRVQnKTsKICAgICAgICAkY29tbWFuZCA9ICRjbGllbnQtPmdldENvbW1hbmQoJ3Rlc3QnLCBhcnJheSgKICAgICAgICAgICAgJ1ZhbGlkYXRlTUQ1JyA9PiBmYWxzZQogICAgICAgICkpOwogICAgICAgICRldmVudCA9IG5ldyBFdmVudChhcnJheSgnY29tbWFuZCcgPT4gJGNvbW1hbmQpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjb21tYW5kLT5wcmVwYXJlKCk7CiAgICAgICAgJHBsdWdpbiA9IG5ldyBDb21tYW5kQ29udGVudE1kNVBsdWdpbigpOwogICAgICAgICRwbHVnaW4tPm9uQ29tbWFuZEJlZm9yZVNlbmQoJGV2ZW50KTsKICAgICAgICAkbGlzdGVuZXJzID0gJHJlcXVlc3QtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5nZXRMaXN0ZW5lcnMoJ3JlcXVlc3QuY29tcGxldGUnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RW1wdHkoJGxpc3RlbmVycyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Md5/Md5ValidatorPluginTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXE1kNTsKCnVzZSBHdXp6bGVcSHR0cFxFbnRpdHlCb2R5Owp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0RmFjdG9yeTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcUGx1Z2luXE1kNVxNZDVWYWxpZGF0b3JQbHVnaW47CgovKioKICogQGNvdmVycyBHdXp6bGVcUGx1Z2luXE1kNVxNZDVWYWxpZGF0b3JQbHVnaW4KICovCmNsYXNzIE1kNVZhbGlkYXRvclBsdWdpblRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVzTWQ1KCkKICAgIHsKICAgICAgICAkcGx1Z2luID0gbmV3IE1kNVZhbGlkYXRvclBsdWdpbigpOwogICAgICAgICRyZXF1ZXN0ID0gUmVxdWVzdEZhY3Rvcnk6OmdldEluc3RhbmNlKCktPmNyZWF0ZSgnR0VUJywgJ2h0dHA6Ly93d3cudGVzdC5jb20vJyk7CiAgICAgICAgJHJlcXVlc3QtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKCRwbHVnaW4pOwoKICAgICAgICAkYm9keSA9ICdhYmMnOwogICAgICAgICRoYXNoID0gbWQ1KCRib2R5KTsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgKICAgICAgICAgICAgJ0NvbnRlbnQtTUQ1JyA9PiAkaGFzaCwKICAgICAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoJyA9PiAzCiAgICAgICAgKSwgJ2FiYycpOwoKICAgICAgICAkcmVxdWVzdC0+ZGlzcGF0Y2goJ3JlcXVlc3QuY29tcGxldGUnLCBhcnJheSgKICAgICAgICAgICAgJ3Jlc3BvbnNlJyA9PiAkcmVzcG9uc2UKICAgICAgICApKTsKCiAgICAgICAgLy8gVHJ5IGFnYWluIHdpdGggbm8gQ29udGVudC1NRDUKICAgICAgICAkcmVzcG9uc2UtPnJlbW92ZUhlYWRlcignQ29udGVudC1NRDUnKTsKICAgICAgICAkcmVxdWVzdC0+ZGlzcGF0Y2goJ3JlcXVlc3QuY29tcGxldGUnLCBhcnJheSgKICAgICAgICAgICAgJ3Jlc3BvbnNlJyA9PiAkcmVzcG9uc2UKICAgICAgICApKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBVbmV4cGVjdGVkVmFsdWVFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25PbkludmFsaWRNZDUoKQogICAgewogICAgICAgICRwbHVnaW4gPSBuZXcgTWQ1VmFsaWRhdG9yUGx1Z2luKCk7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdHRVQnLCAnaHR0cDovL3d3dy50ZXN0LmNvbS8nKTsKICAgICAgICAkcmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZFN1YnNjcmliZXIoJHBsdWdpbik7CgogICAgICAgICRyZXF1ZXN0LT5kaXNwYXRjaCgncmVxdWVzdC5jb21wbGV0ZScsIGFycmF5KAogICAgICAgICAgICAncmVzcG9uc2UnID0+IG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtTUQ1JyA9PiAnZm9vYmFyJywKICAgICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgPT4gMwogICAgICAgICAgICApLCAnYWJjJykKICAgICAgICApKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNraXBzV2hlbkNvbnRlbnRMZW5ndGhJc1Rvb0xhcmdlKCkKICAgIHsKICAgICAgICAkcGx1Z2luID0gbmV3IE1kNVZhbGlkYXRvclBsdWdpbihmYWxzZSwgMSk7CiAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdHRVQnLCAnaHR0cDovL3d3dy50ZXN0LmNvbS8nKTsKICAgICAgICAkcmVxdWVzdC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZFN1YnNjcmliZXIoJHBsdWdpbik7CgogICAgICAgICRyZXF1ZXN0LT5kaXNwYXRjaCgncmVxdWVzdC5jb21wbGV0ZScsIGFycmF5KAogICAgICAgICAgICAncmVzcG9uc2UnID0+IG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtTUQ1JyA9PiAnZm9vYmFyJywKICAgICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCcgPT4gMwogICAgICAgICAgICApLCAnYWJjJykKICAgICAgICApKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByb3Blcmx5VmFsaWRhdGVzV2hlblVzaW5nQ29udGVudEVuY29kaW5nKCkKICAgIHsKICAgICAgICAkcGx1Z2luID0gbmV3IE1kNVZhbGlkYXRvclBsdWdpbih0cnVlKTsKICAgICAgICAkcmVxdWVzdCA9IFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ0dFVCcsICdodHRwOi8vd3d3LnRlc3QuY29tLycpOwogICAgICAgICRyZXF1ZXN0LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkU3Vic2NyaWJlcigkcGx1Z2luKTsKCiAgICAgICAgLy8gQ29udGVudC1NRDUgaXMgdGhlIE1ENSBoYXNoIG9mIHRoZSBjYW5vbmljYWwgY29udGVudCBhZnRlciBhbGwKICAgICAgICAvLyBjb250ZW50LWVuY29kaW5nIGhhcyBiZWVuIGFwcGxpZWQuICBCZWNhdXNlIGNVUkwgd2lsbCBhdXRvbWF0aWNhbGx5CiAgICAgICAgLy8gZGVjb21wcmVzcyBlbnRpdHkgYm9kaWVzLCB3ZSBuZWVkIHRvIHJlLWNvbXByZXNzIGl0IHRvIGNhbGN1bGF0ZS4KICAgICAgICAkYm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJ2FiYycpOwogICAgICAgICRib2R5LT5jb21wcmVzcygpOwogICAgICAgICRoYXNoID0gJGJvZHktPmdldENvbnRlbnRNZDUoKTsKICAgICAgICAkYm9keS0+dW5jb21wcmVzcygpOwoKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgKICAgICAgICAgICAgJ0NvbnRlbnQtTUQ1JyA9PiAkaGFzaCwKICAgICAgICAgICAgJ0NvbnRlbnQtRW5jb2RpbmcnID0+ICdnemlwJwogICAgICAgICksICdhYmMnKTsKICAgICAgICAkcmVxdWVzdC0+ZGlzcGF0Y2goJ3JlcXVlc3QuY29tcGxldGUnLCBhcnJheSgKICAgICAgICAgICAgJ3Jlc3BvbnNlJyA9PiAkcmVzcG9uc2UKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhYmMnLCAkcmVzcG9uc2UtPmdldEJvZHkodHJ1ZSkpOwoKICAgICAgICAvLyBUcnkgYWdhaW4gd2l0aCBhbiB1bmtub3duIGVuY29kaW5nCiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICdDb250ZW50LU1ENScgPT4gJGhhc2gsCiAgICAgICAgICAgICdDb250ZW50LUVuY29kaW5nJyA9PiAnZm9vYmFyJwogICAgICAgICksICdhYmMnKTsKICAgICAgICAkcmVxdWVzdC0+ZGlzcGF0Y2goJ3JlcXVlc3QuY29tcGxldGUnLCBhcnJheSgKICAgICAgICAgICAgJ3Jlc3BvbnNlJyA9PiAkcmVzcG9uc2UKICAgICAgICApKTsKCiAgICAgICAgLy8gVHJ5IGFnYWluIHdpdGggY29tcHJlc3MKICAgICAgICAkYm9keS0+Y29tcHJlc3MoJ2J6aXAyLmNvbXByZXNzJyk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICdDb250ZW50LU1ENScgPT4gJGJvZHktPmdldENvbnRlbnRNZDUoKSwKICAgICAgICAgICAgJ0NvbnRlbnQtRW5jb2RpbmcnID0+ICdjb21wcmVzcycKICAgICAgICApLCAnYWJjJyk7CiAgICAgICAgJHJlcXVlc3QtPmRpc3BhdGNoKCdyZXF1ZXN0LmNvbXBsZXRlJywgYXJyYXkoCiAgICAgICAgICAgICdyZXNwb25zZScgPT4gJHJlc3BvbnNlCiAgICAgICAgKSk7CgogICAgICAgIC8vIFRyeSBhZ2FpbiB3aXRoIGVuY29kaW5nIGFuZCBkaXNhYmxlZCBjb250ZW50LWVuY29kaW5nIGNoZWNrcwogICAgICAgICRyZXF1ZXN0LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+cmVtb3ZlU3Vic2NyaWJlcigkcGx1Z2luKTsKICAgICAgICAkcGx1Z2luID0gbmV3IE1kNVZhbGlkYXRvclBsdWdpbihmYWxzZSk7CiAgICAgICAgJHJlcXVlc3QtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKCRwbHVnaW4pOwogICAgICAgICRyZXF1ZXN0LT5kaXNwYXRjaCgncmVxdWVzdC5jb21wbGV0ZScsIGFycmF5KAogICAgICAgICAgICAncmVzcG9uc2UnID0+ICRyZXNwb25zZQogICAgICAgICkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Mock/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Mock/MockPluginTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXE1vY2s7Cgp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFBsdWdpblxNb2NrXE1vY2tQbHVnaW47CnVzZSBHdXp6bGVcSHR0cFxDbGllbnQ7CnVzZSBHdXp6bGVcSHR0cFxFeGNlcHRpb25cQ3VybEV4Y2VwdGlvbjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxQbHVnaW5cTW9ja1xNb2NrUGx1Z2luCiAqLwpjbGFzcyBNb2NrUGx1Z2luVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZXNjcmliZXNTdWJzY3JpYmVkRXZlbnRzKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdhcnJheScsIE1vY2tQbHVnaW46OmdldFN1YnNjcmliZWRFdmVudHMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZXNjcmliZXNFdmVudHMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgTW9ja1BsdWdpbjo6Z2V0QWxsRXZlbnRzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQmVUZW1wb3JhcnkoKQogICAgewogICAgICAgICRwbHVnaW4gPSBuZXcgTW9ja1BsdWdpbigpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkcGx1Z2luLT5pc1RlbXBvcmFyeSgpKTsKICAgICAgICAkcGx1Z2luID0gbmV3IE1vY2tQbHVnaW4obnVsbCwgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHBsdWdpbi0+aXNUZW1wb3JhcnkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJc0NvdW50YWJsZSgpCiAgICB7CiAgICAgICAgJHBsdWdpbiA9IG5ldyBNb2NrUGx1Z2luKCk7CiAgICAgICAgJHBsdWdpbi0+YWRkUmVzcG9uc2UoUmVzcG9uc2U6OmZyb21NZXNzYWdlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRwbHVnaW4pKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RJc0NvdW50YWJsZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNsZWFyUXVldWUoKQogICAgewogICAgICAgICRwbHVnaW4gPSBuZXcgTW9ja1BsdWdpbigpOwogICAgICAgICRwbHVnaW4tPmFkZFJlc3BvbnNlKFJlc3BvbnNlOjpmcm9tTWVzc2FnZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKSk7CiAgICAgICAgJHBsdWdpbi0+Y2xlYXJRdWV1ZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMCwgY291bnQoJHBsdWdpbikpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuSW5zcGVjdFF1ZXVlKCkKICAgIHsKICAgICAgICAkcGx1Z2luID0gbmV3IE1vY2tQbHVnaW4oKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdhcnJheScsICRwbHVnaW4tPmdldFF1ZXVlKCkpOwogICAgICAgICRwbHVnaW4tPmFkZFJlc3BvbnNlKFJlc3BvbnNlOjpmcm9tTWVzc2FnZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKSk7CiAgICAgICAgJHF1ZXVlID0gJHBsdWdpbi0+Z2V0UXVldWUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdhcnJheScsICRxdWV1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkcXVldWUpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHJpZXZlc1Jlc3BvbnNlc0Zyb21GaWxlcygpCiAgICB7CiAgICAgICAgJHJlc3BvbnNlID0gTW9ja1BsdWdpbjo6Z2V0TW9ja0ZpbGUoX19ESVJfXyAuICcvLi4vLi4vVGVzdERhdGEvbW9ja19yZXNwb25zZScpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcXEh0dHBcXE1lc3NhZ2VcXFJlc3BvbnNlJywgJHJlc3BvbnNlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIwMCwgJHJlc3BvbnNlLT5nZXRTdGF0dXNDb2RlKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRocm93c0V4Y2VwdGlvbldoZW5SZXNwb25zZUZpbGVJc05vdEZvdW5kKCkKICAgIHsKICAgICAgICBNb2NrUGx1Z2luOjpnZXRNb2NrRmlsZSgnbWlzc2luZy9maWxlbmFtZScpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEludmFsaWRSZXNwb25zZXNUaHJvd0FuRXhjZXB0aW9uKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBNb2NrUGx1Z2luKCk7CiAgICAgICAgJHAtPmFkZFJlc3BvbnNlKCR0aGlzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNSZXNwb25zZU9iamVjdHNUb1F1ZXVlKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBNb2NrUGx1Z2luKCk7CiAgICAgICAgJHJlc3BvbnNlID0gUmVzcG9uc2U6OmZyb21NZXNzYWdlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIpOwogICAgICAgICRwLT5hZGRSZXNwb25zZSgkcmVzcG9uc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJHJlc3BvbnNlKSwgJHAtPmdldFF1ZXVlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkc1Jlc3BvbnNlRmlsZXNUb1F1ZXVlKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBNb2NrUGx1Z2luKCk7CiAgICAgICAgJHAtPmFkZFJlc3BvbnNlKF9fRElSX18gLiAnLy4uLy4uL1Rlc3REYXRhL21vY2tfcmVzcG9uc2UnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRwKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0QWRkc1Jlc3BvbnNlRmlsZXNUb1F1ZXVlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkc01vY2tSZXNwb25zZVRvUmVxdWVzdEZyb21DbGllbnQoKQogICAgewogICAgICAgICRwID0gbmV3IE1vY2tQbHVnaW4oKTsKICAgICAgICAkcmVzcG9uc2UgPSBNb2NrUGx1Z2luOjpnZXRNb2NrRmlsZShfX0RJUl9fIC4gJy8uLi8uLi9UZXN0RGF0YS9tb2NrX3Jlc3BvbnNlJyk7CiAgICAgICAgJHAtPmFkZFJlc3BvbnNlKCRyZXNwb25zZSk7CgogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vbG9jYWxob3N0OjEyMy8nKTsKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkU3Vic2NyaWJlcigkcCwgOTk5OSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoKTsKICAgICAgICAkcmVxdWVzdC0+c2VuZCgpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkcmVzcG9uc2UsICRyZXF1ZXN0LT5nZXRSZXNwb25zZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsIGNvdW50KCRwKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwZW5kcyB0ZXN0QWRkc1Jlc3BvbnNlRmlsZXNUb1F1ZXVlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXBkYXRlSWdub3Jlc1doZW5FbXB0eSgpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgTW9ja1BsdWdpbigpOwogICAgICAgICRwLT5vblJlcXVlc3RCZWZvcmVTZW5kKG5ldyBFdmVudCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RBZGRzTW9ja1Jlc3BvbnNlVG9SZXF1ZXN0RnJvbUNsaWVudAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERldGFjaGVzVGVtcG9yYXJ5V2hlbkVtcHR5KCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBNb2NrUGx1Z2luKG51bGwsIHRydWUpOwogICAgICAgICRwLT5hZGRSZXNwb25zZShNb2NrUGx1Z2luOjpnZXRNb2NrRmlsZShfX0RJUl9fIC4gJy8uLi8uLi9UZXN0RGF0YS9tb2NrX3Jlc3BvbnNlJykpOwogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vbG9jYWxob3N0OjEyMy8nKTsKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkU3Vic2NyaWJlcigkcCwgOTk5OSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5nZXQoKTsKICAgICAgICAkcmVxdWVzdC0+c2VuZCgpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHRoaXMtPmhhc1N1YnNjcmliZXIoJGNsaWVudCwgJHApKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExvYWRzUmVzcG9uc2VzRnJvbUNvbnN0cnVjdG9yKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBNb2NrUGx1Z2luKGFycmF5KG5ldyBSZXNwb25zZSgyMDApKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCAkcC0+Y291bnQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdG9yZXNNb2NrZWRSZXF1ZXN0cygpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgTW9ja1BsdWdpbihhcnJheShuZXcgUmVzcG9uc2UoMjAwKSwgbmV3IFJlc3BvbnNlKDIwMCkpKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgnaHR0cDovL2xvY2FsaG9zdDoxMjMvJyk7CiAgICAgICAgJGNsaWVudC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZFN1YnNjcmliZXIoJHAsIDk5OTkpOwoKICAgICAgICAkcmVxdWVzdDEgPSAkY2xpZW50LT5nZXQoKTsKICAgICAgICAkcmVxdWVzdDEtPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCRyZXF1ZXN0MSksICRwLT5nZXRSZWNlaXZlZFJlcXVlc3RzKCkpOwoKICAgICAgICAkcmVxdWVzdDIgPSAkY2xpZW50LT5nZXQoKTsKICAgICAgICAkcmVxdWVzdDItPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCRyZXF1ZXN0MSwgJHJlcXVlc3QyKSwgJHAtPmdldFJlY2VpdmVkUmVxdWVzdHMoKSk7CgogICAgICAgICRwLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoKSwgJHAtPmdldFJlY2VpdmVkUmVxdWVzdHMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZWFkc0JvZGllc0Zyb21Nb2NrZWRSZXF1ZXN0cygpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgTW9ja1BsdWdpbihhcnJheShuZXcgUmVzcG9uc2UoMjAwKSkpOwogICAgICAgICRwLT5yZWFkQm9kaWVzKHRydWUpOwogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vbG9jYWxob3N0OjEyMy8nKTsKICAgICAgICAkY2xpZW50LT5nZXRFdmVudERpc3BhdGNoZXIoKS0+YWRkU3Vic2NyaWJlcigkcCwgOTk5OSk7CgogICAgICAgICRib2R5ID0gRW50aXR5Qm9keTo6ZmFjdG9yeSgnZm9vJyk7CiAgICAgICAgJHJlcXVlc3QgPSAkY2xpZW50LT5wdXQoKTsKICAgICAgICAkcmVxdWVzdC0+c2V0Qm9keSgkYm9keSk7CiAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsICRib2R5LT5mdGVsbCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbk1vY2tCYWRSZXF1ZXN0RXhjZXB0aW9ucygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHA6Ly9sb2NhbGhvc3Q6MTIzLycpOwogICAgICAgICRleCA9IG5ldyBDdXJsRXhjZXB0aW9uKCdGb28nKTsKICAgICAgICAkbW9jayA9IG5ldyBNb2NrUGx1Z2luKGFycmF5KCRleCkpOwogICAgICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIoJG1vY2spOwogICAgICAgICRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCdmb28nKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHJlcXVlc3QtPnNlbmQoKTsKICAgICAgICAgICAgJHRoaXMtPmZhaWwoJ0RpZCBub3QgZGVxdWV1ZSBhbiBleGNlcHRpb24nKTsKICAgICAgICB9IGNhdGNoIChDdXJsRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRlLCAkZXgpOwogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkcmVxdWVzdCwgJGV4LT5nZXRSZXF1ZXN0KCkpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Oauth/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Oauth/OauthPluginTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcUGx1Z2luXE9hdXRoOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEZhY3Rvcnk7CnVzZSBHdXp6bGVcUGx1Z2luXE9hdXRoXE9hdXRoUGx1Z2luOwp1c2UgR3V6emxlXENvbW1vblxFdmVudDsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxQbHVnaW5cT2F1dGhcT2F1dGhQbHVnaW4KICovCmNsYXNzIE9hdXRoUGx1Z2luVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgY29uc3QgVElNRVNUQU1QID0gJzEzMjcyNzQyOTAnOwogICAgY29uc3QgTk9OQ0UgPSAnZTdhYTExMTk1Y2E1ODM0OWJlYzhiNWViZTM1MWQzNDk3ZWI5ZTYwMyc7CgogICAgcHJvdGVjdGVkICRjb25maWcgPSBhcnJheSgKICAgICAgICAnY29uc3VtZXJfa2V5JyAgICA9PiAnZm9vJywKICAgICAgICAnY29uc3VtZXJfc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICAndG9rZW4nICAgICAgICAgICA9PiAnY291bnQnLAogICAgICAgICd0b2tlbl9zZWNyZXQnICAgID0+ICdkcmFjdWxhJwogICAgKTsKCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0UmVxdWVzdCgpCiAgICB7CiAgICAgICAgcmV0dXJuIFJlcXVlc3RGYWN0b3J5OjpnZXRJbnN0YW5jZSgpLT5jcmVhdGUoJ1BPU1QnLCAnaHR0cDovL3d3dy50ZXN0LmNvbS9wYXRoP2E9YiZjPWQnLCBudWxsLCBhcnJheSgKICAgICAgICAgICAgJ2UnID0+ICdmJwogICAgICAgICkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U3Vic2NyaWJlc1RvRXZlbnRzKCkKICAgIHsKICAgICAgICAkZXZlbnRzID0gT2F1dGhQbHVnaW46OmdldFN1YnNjcmliZWRFdmVudHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ3JlcXVlc3QuYmVmb3JlX3NlbmQnLCAkZXZlbnRzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFjY2VwdHNDb25maWd1cmF0aW9uRGF0YSgpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgT2F1dGhQbHVnaW4oJHRoaXMtPmNvbmZpZyk7CgogICAgICAgIC8vIEFjY2VzcyB0aGUgY29uZmlnIG9iamVjdAogICAgICAgICRjbGFzcyA9IG5ldyBcUmVmbGVjdGlvbkNsYXNzKCRwKTsKICAgICAgICAkcHJvcGVydHkgPSAkY2xhc3MtPmdldFByb3BlcnR5KCdjb25maWcnKTsKICAgICAgICAkcHJvcGVydHktPnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgJGNvbmZpZyA9ICRwcm9wZXJ0eS0+Z2V0VmFsdWUoJHApOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkY29uZmlnWydjb25zdW1lcl9rZXknXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmFyJywgJGNvbmZpZ1snY29uc3VtZXJfc2VjcmV0J10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2NvdW50JywgJGNvbmZpZ1sndG9rZW4nXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZHJhY3VsYScsICRjb25maWdbJ3Rva2VuX3NlY3JldCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxLjAnLCAkY29uZmlnWyd2ZXJzaW9uJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0hNQUMtU0hBMScsICRjb25maWdbJ3NpZ25hdHVyZV9tZXRob2QnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaGVhZGVyJywgJGNvbmZpZ1sncmVxdWVzdF9tZXRob2QnXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzU3RyaW5nVG9TaWduRnJvbVBvc3RSZXF1ZXN0KCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBPYXV0aFBsdWdpbigkdGhpcy0+Y29uZmlnKTsKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5nZXRSZXF1ZXN0KCk7CiAgICAgICAgJHNpZ25TdHJpbmcgPSAkcC0+Z2V0U3RyaW5nVG9TaWduKCRyZXF1ZXN0LCBzZWxmOjpUSU1FU1RBTVAsIHNlbGY6Ok5PTkNFKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCcmZT1mJywgcmF3dXJsZGVjb2RlKCRzaWduU3RyaW5nKSk7CgogICAgICAgICRleHBlY3RlZFNpZ25TdHJpbmcgPQogICAgICAgICAgICAvLyBNZXRob2QgYW5kIFVSTAogICAgICAgICAgICAnUE9TVCZodHRwJTNBJTJGJTJGd3d3LnRlc3QuY29tJTJGcGF0aCcgLgogICAgICAgICAgICAvLyBTb3J0ZWQgcGFyYW1ldGVycyBmcm9tIHF1ZXJ5IHN0cmluZyBhbmQgYm9keQogICAgICAgICAgICAnJmElM0RiJTI2YyUzRGQlMjZlJTNEZiUyNm9hdXRoX2NvbnN1bWVyX2tleSUzRGZvbycgLgogICAgICAgICAgICAnJTI2b2F1dGhfbm9uY2UlM0RlN2FhMTExOTVjYTU4MzQ5YmVjOGI1ZWJlMzUxZDM0OTdlYjllNjAzJTI2JyAuCiAgICAgICAgICAgICdvYXV0aF9zaWduYXR1cmVfbWV0aG9kJTNESE1BQy1TSEExJyAuCiAgICAgICAgICAgICclMjZvYXV0aF90aW1lc3RhbXAlM0QnIC4gc2VsZjo6VElNRVNUQU1QIC4gJyUyNm9hdXRoX3Rva2VuJTNEY291bnQlMjZvYXV0aF92ZXJzaW9uJTNEMS4wJzsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZXhwZWN0ZWRTaWduU3RyaW5nLCAkc2lnblN0cmluZyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzU3RyaW5nVG9TaWduSWdub3JpbmdQb3N0RmllbGRzKCkKICAgIHsKICAgICAgICAkY29uZmlnID0gJHRoaXMtPmNvbmZpZzsKICAgICAgICAkY29uZmlnWydkaXNhYmxlX3Bvc3RfcGFyYW1zJ10gPSB0cnVlOwogICAgICAgICRwID0gbmV3IE9hdXRoUGx1Z2luKCRjb25maWcpOwogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmdldFJlcXVlc3QoKTsKICAgICAgICAkc3RzID0gcmF3dXJsZGVjb2RlKCRwLT5nZXRTdHJpbmdUb1NpZ24oJHJlcXVlc3QsIHNlbGY6OlRJTUVTVEFNUCwgc2VsZjo6Tk9OQ0UpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90Q29udGFpbnMoJyZlPWYnLCAkc3RzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNTdHJpbmdUb1NpZ25Gcm9tUG9zdFJlcXVlc3RXaXRoQ3VzdG9tQ29udGVudFR5cGUoKQogICAgewogICAgICAgICRwID0gbmV3IE9hdXRoUGx1Z2luKCR0aGlzLT5jb25maWcpOwogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmdldFJlcXVlc3QoKTsKICAgICAgICAkcmVxdWVzdC0+c2V0SGVhZGVyKCdDb250ZW50LVR5cGUnLCAnRm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygKICAgICAgICAgICAgLy8gTWV0aG9kIGFuZCBVUkwKICAgICAgICAgICAgJ1BPU1QmaHR0cCUzQSUyRiUyRnd3dy50ZXN0LmNvbSUyRnBhdGgnIC4KICAgICAgICAgICAgLy8gU29ydGVkIHBhcmFtZXRlcnMgZnJvbSBxdWVyeSBzdHJpbmcgYW5kIGJvZHkKICAgICAgICAgICAgJyZhJTNEYiUyNmMlM0RkJTI2b2F1dGhfY29uc3VtZXJfa2V5JTNEZm9vJyAuCiAgICAgICAgICAgICclMjZvYXV0aF9ub25jZSUzRCcuIHNlbGY6Ok5PTkNFIC4nJTI2JyAuCiAgICAgICAgICAgICdvYXV0aF9zaWduYXR1cmVfbWV0aG9kJTNESE1BQy1TSEExJyAuCiAgICAgICAgICAgICclMjZvYXV0aF90aW1lc3RhbXAlM0QnIC4gc2VsZjo6VElNRVNUQU1QIC4gJyUyNm9hdXRoX3Rva2VuJTNEY291bnQlMjZvYXV0aF92ZXJzaW9uJTNEMS4wJywKICAgICAgICAgICAgJHAtPmdldFN0cmluZ1RvU2lnbigkcmVxdWVzdCwgc2VsZjo6VElNRVNUQU1QLCBzZWxmOjpOT05DRSkKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcGVuZHMgdGVzdENyZWF0ZXNTdHJpbmdUb1NpZ25Gcm9tUG9zdFJlcXVlc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb252ZXJ0c0Jvb2xlYW5zVG9TdHJpbmdzKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBPYXV0aFBsdWdpbigkdGhpcy0+Y29uZmlnKTsKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5nZXRSZXF1ZXN0KCk7CiAgICAgICAgJHJlcXVlc3QtPmdldFF1ZXJ5KCktPnNldCgnYScsIHRydWUpOwogICAgICAgICRyZXF1ZXN0LT5nZXRRdWVyeSgpLT5zZXQoJ2MnLCBmYWxzZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCcmYSUzRHRydWUlMjZjJTNEZmFsc2UnLCAkcC0+Z2V0U3RyaW5nVG9TaWduKCRyZXF1ZXN0LCBzZWxmOjpUSU1FU1RBTVAsIHNlbGY6Ok5PTkNFKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzU3RyaW5nVG9TaWduRnJvbVBvc3RSZXF1ZXN0V2l0aE51bGxWYWx1ZXMoKQogICAgewogICAgICAgICRjb25maWcgPSBhcnJheSgKICAgICAgICAgICAgJ2NvbnN1bWVyX2tleScgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICdjb25zdW1lcl9zZWNyZXQnID0+ICdiYXInLAogICAgICAgICAgICAndG9rZW4nICAgICAgICAgICA9PiBudWxsLAogICAgICAgICAgICAndG9rZW5fc2VjcmV0JyAgICA9PiAnZHJhY3VsYScKICAgICAgICApOwoKICAgICAgICAkcCAgICAgICAgICA9IG5ldyBPYXV0aFBsdWdpbigkY29uZmlnKTsKICAgICAgICAkcmVxdWVzdCAgICA9ICR0aGlzLT5nZXRSZXF1ZXN0KCk7CiAgICAgICAgJHNpZ25TdHJpbmcgPSAkcC0+Z2V0U3RyaW5nVG9TaWduKCRyZXF1ZXN0LCBzZWxmOjpUSU1FU1RBTVAsIHNlbGY6Ok5PTkNFKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCcmZT1mJywgcmF3dXJsZGVjb2RlKCRzaWduU3RyaW5nKSk7CgogICAgICAgICRleHBlY3RlZFNpZ25TdHJpbmcgPSAvLyBNZXRob2QgYW5kIFVSTAogICAgICAgICAgICAgICAgJ1BPU1QmaHR0cCUzQSUyRiUyRnd3dy50ZXN0LmNvbSUyRnBhdGgnIC4KICAgICAgICAgICAgICAgIC8vIFNvcnRlZCBwYXJhbWV0ZXJzIGZyb20gcXVlcnkgc3RyaW5nIGFuZCBib2R5CiAgICAgICAgICAgICAgICAnJmElM0RiJTI2YyUzRGQlMjZlJTNEZiUyNm9hdXRoX2NvbnN1bWVyX2tleSUzRGZvbycgLgogICAgICAgICAgICAgICAgJyUyNm9hdXRoX25vbmNlJTNEZTdhYTExMTk1Y2E1ODM0OWJlYzhiNWViZTM1MWQzNDk3ZWI5ZTYwMyUyNicgLgogICAgICAgICAgICAgICAgJ29hdXRoX3NpZ25hdHVyZV9tZXRob2QlM0RITUFDLVNIQTEnIC4KICAgICAgICAgICAgICAgICclMjZvYXV0aF90aW1lc3RhbXAlM0QnIC4gc2VsZjo6VElNRVNUQU1QIC4gJyUyNm9hdXRoX3ZlcnNpb24lM0QxLjAnOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRleHBlY3RlZFNpZ25TdHJpbmcsICRzaWduU3RyaW5nKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RDcmVhdGVzU3RyaW5nVG9TaWduRnJvbVBvc3RSZXF1ZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TXVsdGlEaW1lbnNpb25hbEFycmF5KCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBPYXV0aFBsdWdpbigkdGhpcy0+Y29uZmlnKTsKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5nZXRSZXF1ZXN0KCk7CiAgICAgICAgJHJlcXVlc3QtPmdldFF1ZXJ5KCktPnNldCgnYScsIGFycmF5KCdiJyA9PiBhcnJheSgnZScgPT4gJ2YnLCAnYycgPT4gJ2QnKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnYSUyNTVCYiUyNTVEJTI1NUJjJTI1NUQlM0RkJTI2YSUyNTVCYiUyNTVEJTI1NUJlJTI1NUQlM0RmJTI2YyUzRGQlMjZlJTNEZiUyNicsICRwLT5nZXRTdHJpbmdUb1NpZ24oJHJlcXVlc3QsIHNlbGY6OlRJTUVTVEFNUCwgc2VsZjo6Tk9OQ0UpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXBlbmRzIHRlc3RDcmVhdGVzU3RyaW5nVG9TaWduRnJvbVBvc3RSZXF1ZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2lnbnNTdHJpbmdzKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBPYXV0aFBsdWdpbihhcnJheV9tZXJnZSgkdGhpcy0+Y29uZmlnLCBhcnJheSgKICAgICAgICAgICAgJ3NpZ25hdHVyZV9jYWxsYmFjaycgPT4gZnVuY3Rpb24oJHN0cmluZywgJGtleSkgewogICAgICAgICAgICAgICAgcmV0dXJuICJfeyRzdHJpbmd9fHska2V5fV8iOwogICAgICAgICAgICB9CiAgICAgICAgKSkpOwogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmdldFJlcXVlc3QoKTsKICAgICAgICAkc2lnID0gJHAtPmdldFNpZ25hdHVyZSgkcmVxdWVzdCwgc2VsZjo6VElNRVNUQU1QLCBzZWxmOjpOT05DRSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygKICAgICAgICAgICAgJ19QT1NUJmh0dHAlM0ElMkYlMkZ3d3cudGVzdC5jb20lMkZwYXRoJmElM0RiJTI2YyUzRGQlMjZlJTNEZiUyNm9hdXRoX2NvbnN1bWVyX2tleSUzRGZvbycgLgogICAgICAgICAgICAnJTI2b2F1dGhfbm9uY2UlM0QnLiBzZWxmOjpOT05DRSAuJyUyNm9hdXRoX3NpZ25hdHVyZV9tZXRob2QlM0RITUFDLVNIQTEnIC4KICAgICAgICAgICAgJyUyNm9hdXRoX3RpbWVzdGFtcCUzRCcgLiBzZWxmOjpUSU1FU1RBTVAgLiAnJTI2b2F1dGhfdG9rZW4lM0Rjb3VudCUyNm9hdXRoX3ZlcnNpb24lM0QxLjB8JyAuCiAgICAgICAgICAgICdiYXImZHJhY3VsYV8nLAogICAgICAgICAgICBiYXNlNjRfZGVjb2RlKCRzaWcpCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFRlc3QgdGhhdCB0aGUgT2F1dGggaXMgc2lnbmVkIGNvcnJlY3RseSBhbmQgdGhhdCBleHRyYSBzdHJpbmdzIGhhdmVuJ3QgYmVlbiBhZGRlZAogICAgICogdG8gdGhlIGF1dGhvcml6YXRpb24gaGVhZGVyLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNpZ25zT2F1dGhSZXF1ZXN0cygpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgT2F1dGhQbHVnaW4oJHRoaXMtPmNvbmZpZyk7CiAgICAgICAgJGV2ZW50ID0gbmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAncmVxdWVzdCcgPT4gJHRoaXMtPmdldFJlcXVlc3QoKSwKICAgICAgICAgICAgJ3RpbWVzdGFtcCcgPT4gc2VsZjo6VElNRVNUQU1QCiAgICAgICAgKSk7CiAgICAgICAgJHBhcmFtcyA9ICRwLT5vblJlcXVlc3RCZWZvcmVTZW5kKCRldmVudCk7CgogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRldmVudFsncmVxdWVzdCddLT5oYXNIZWFkZXIoJ0F1dGhvcml6YXRpb24nKSk7CgogICAgICAgICRhdXRob3JpemF0aW9uSGVhZGVyID0gKHN0cmluZykkZXZlbnRbJ3JlcXVlc3QnXS0+Z2V0SGVhZGVyKCdBdXRob3JpemF0aW9uJyk7CgogICAgICAgICR0aGlzLT5hc3NlcnRTdHJpbmdTdGFydHNXaXRoKCdPQXV0aCAnLCAkYXV0aG9yaXphdGlvbkhlYWRlcik7CgogICAgICAgICRzdHJpbmdzVG9DaGVjayA9IGFycmF5KAogICAgICAgICAgICAnb2F1dGhfY29uc3VtZXJfa2V5PSJmb28iJywKICAgICAgICAgICAgJ29hdXRoX25vbmNlPSInLnVybGVuY29kZSgkcGFyYW1zWydvYXV0aF9ub25jZSddKS4nIicsCiAgICAgICAgICAgICdvYXV0aF9zaWduYXR1cmU9IicudXJsZW5jb2RlKCRwYXJhbXNbJ29hdXRoX3NpZ25hdHVyZSddKS4nIicsCiAgICAgICAgICAgICdvYXV0aF9zaWduYXR1cmVfbWV0aG9kPSJITUFDLVNIQTEiJywKICAgICAgICAgICAgJ29hdXRoX3RpbWVzdGFtcD0iJyAuIHNlbGY6OlRJTUVTVEFNUCAuICciJywKICAgICAgICAgICAgJ29hdXRoX3Rva2VuPSJjb3VudCInLAogICAgICAgICAgICAnb2F1dGhfdmVyc2lvbj0iMS4wIicsCiAgICAgICAgKTsKCiAgICAgICAgJHRvdGFsTGVuZ3RoID0gc3RybGVuKCdPQXV0aCAnKTsKCiAgICAgICAgLy9TZXBhcmF0b3IgaXMgbm90IHVzZWQgYmVmb3JlIGZpcnN0IHBhcmFtZXRlci4KICAgICAgICAkc2VwYXJhdG9yID0gJyc7CgogICAgICAgIGZvcmVhY2ggKCRzdHJpbmdzVG9DaGVjayBhcyAkc3RyaW5nVG9DaGVjaykgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJHN0cmluZ1RvQ2hlY2ssICRhdXRob3JpemF0aW9uSGVhZGVyKTsKICAgICAgICAgICAgJHRvdGFsTGVuZ3RoICs9IHN0cmxlbigkc2VwYXJhdG9yKTsKICAgICAgICAgICAgJHRvdGFsTGVuZ3RoICs9IHN0cmxlbigkc3RyaW5nVG9DaGVjayk7CiAgICAgICAgICAgICRzZXBhcmF0b3IgPSAnLCAnOwogICAgICAgIH0KCiAgICAgICAgLy8gVGVjaG5pY2FsbHkgdGhpcyB0ZXN0IGlzIG5vdCB1bml2ZXJzYWxseSB2YWxpZC4gSXQgd291bGQgYmUgYWxsb3dhYmxlIHRvIGhhdmUgZXh0cmEgXG4gY2hhcmFjdGVycwogICAgICAgIC8vIGluIHRoZSBBdXRob3JpemF0aW9uIGhlYWRlci4gSG93ZXZlciBHdXp6bGUgZG9lcyBub3QgZG8gdGhpcywgc28gd2UganVzdCBwZXJmb3JtIGEgc2ltcGxlIGNoZWNrCiAgICAgICAgLy8gb24gbGVuZ3RoIHRvIHZhbGlkYXRlIHRoZSBBdXRob3JpemF0aW9uIGhlYWRlciBpcyBjb21wb3NlZCBvZiBvbmx5IHRoZSBzdHJpbmdzIGFib3ZlLgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHRvdGFsTGVuZ3RoLCBzdHJsZW4oJGF1dGhvcml6YXRpb25IZWFkZXIpLCAnQXV0aG9yaXphdGlvbiBoYXMgZXh0cmEgY2hhcmFjdGVycyBpLmUuIGNvbnRhaW5zIGV4dHJhIGVsZW1lbnRzIGNvbXBhcmVkIHRvIHN0cmluZ3NUb0NoZWNrLicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2lnbnNPYXV0aFF1ZXJ5U3RyaW5nUmVxdWVzdCgpCiAgICB7CiAgICAgICAgJGNvbmZpZyA9IGFycmF5X21lcmdlKAogICAgICAgICAgICAkdGhpcy0+Y29uZmlnLAogICAgICAgICAgICBhcnJheSgncmVxdWVzdF9tZXRob2QnID0+IE9hdXRoUGx1Z2luOjpSRVFVRVNUX01FVEhPRF9RVUVSWSkKICAgICAgICApOwoKICAgICAgICAkcCA9IG5ldyBPYXV0aFBsdWdpbigkY29uZmlnKTsKICAgICAgICAkZXZlbnQgPSBuZXcgRXZlbnQoYXJyYXkoCiAgICAgICAgICAgICdyZXF1ZXN0JyA9PiAkdGhpcy0+Z2V0UmVxdWVzdCgpLAogICAgICAgICAgICAndGltZXN0YW1wJyA9PiBzZWxmOjpUSU1FU1RBTVAKICAgICAgICApKTsKICAgICAgICAkcGFyYW1zID0gJHAtPm9uUmVxdWVzdEJlZm9yZVNlbmQoJGV2ZW50KTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRldmVudFsncmVxdWVzdCddLT5oYXNIZWFkZXIoJ0F1dGhvcml6YXRpb24nKSk7CgogICAgICAgICRzdHJpbmdzVG9DaGVjayA9IGFycmF5KAogICAgICAgICAgICAnYT1iJywKICAgICAgICAgICAgJ2M9ZCcsCiAgICAgICAgICAgICdvYXV0aF9jb25zdW1lcl9rZXk9Zm9vJywKICAgICAgICAgICAgJ29hdXRoX25vbmNlPScudXJsZW5jb2RlKCRwYXJhbXNbJ29hdXRoX25vbmNlJ10pLAogICAgICAgICAgICAnb2F1dGhfc2lnbmF0dXJlPScudXJsZW5jb2RlKCRwYXJhbXNbJ29hdXRoX3NpZ25hdHVyZSddKSwKICAgICAgICAgICAgJ29hdXRoX3NpZ25hdHVyZV9tZXRob2Q9SE1BQy1TSEExJywKICAgICAgICAgICAgJ29hdXRoX3RpbWVzdGFtcD0nLnNlbGY6OlRJTUVTVEFNUCwKICAgICAgICAgICAgJ29hdXRoX3Rva2VuPWNvdW50JywKICAgICAgICAgICAgJ29hdXRoX3ZlcnNpb249MS4wJywKICAgICAgICApOwoKICAgICAgICAkcXVlcnlTdHJpbmcgPSAoc3RyaW5nKSAkZXZlbnRbJ3JlcXVlc3QnXS0+Z2V0UXVlcnkoKTsKCiAgICAgICAgJHRvdGFsTGVuZ3RoID0gc3RybGVuKCc/Jyk7CgogICAgICAgIC8vU2VwYXJhdG9yIGlzIG5vdCB1c2VkIGJlZm9yZSBmaXJzdCBwYXJhbWV0ZXIuCiAgICAgICAgJHNlcGFyYXRvciA9ICcnOwoKICAgICAgICBmb3JlYWNoICgkc3RyaW5nc1RvQ2hlY2sgYXMgJHN0cmluZ1RvQ2hlY2spIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCRzdHJpbmdUb0NoZWNrLCAkcXVlcnlTdHJpbmcpOwogICAgICAgICAgICAkdG90YWxMZW5ndGggKz0gc3RybGVuKCRzZXBhcmF0b3IpOwogICAgICAgICAgICAkdG90YWxMZW5ndGggKz0gc3RybGVuKCRzdHJpbmdUb0NoZWNrKTsKICAgICAgICAgICAgJHNlcGFyYXRvciA9ICcmJzsKICAgICAgICB9CgogICAgICAgIC8vIFJlbW92ZXMgdGhlIGxhc3QgcXVlcnkgc3RyaW5nIHNlcGFyYXRvciAnJicKICAgICAgICAkdG90YWxMZW5ndGggLT0gMTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdG90YWxMZW5ndGgsIHN0cmxlbigkcXVlcnlTdHJpbmcpLCAnUXVlcnkgc3RyaW5nIGhhcyBleHRyYSBjaGFyYWN0ZXJzIGkuZS4gY29udGFpbnMgZXh0cmEgZWxlbWVudHMgY29tcGFyZWQgdG8gc3RyaW5nc1RvQ2hlY2suJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbk9uTWV0aG9kRXJyb3IoKQogICAgewogICAgICAgICRjb25maWcgPSBhcnJheV9tZXJnZSgKICAgICAgICAgICAgJHRoaXMtPmNvbmZpZywKICAgICAgICAgICAgYXJyYXkoJ3JlcXVlc3RfbWV0aG9kJyA9PiAnRmFrZU1ldGhvZCcpCiAgICAgICAgKTsKCiAgICAgICAgJHAgPSBuZXcgT2F1dGhQbHVnaW4oJGNvbmZpZyk7CiAgICAgICAgJGV2ZW50ID0gbmV3IEV2ZW50KGFycmF5KAogICAgICAgICAgICAncmVxdWVzdCcgPT4gJHRoaXMtPmdldFJlcXVlc3QoKSwKICAgICAgICAgICAgJ3RpbWVzdGFtcCcgPT4gc2VsZjo6VElNRVNUQU1QCiAgICAgICAgKSk7CgogICAgICAgICRwLT5vblJlcXVlc3RCZWZvcmVTZW5kKCRldmVudCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzTm90QWRkRmFsc2V5VmFsdWVzVG9BdXRob3JpemF0aW9uKCkKICAgIHsKICAgICAgICB1bnNldCgkdGhpcy0+Y29uZmlnWyd0b2tlbiddKTsKICAgICAgICAkcCA9IG5ldyBPYXV0aFBsdWdpbigkdGhpcy0+Y29uZmlnKTsKICAgICAgICAkZXZlbnQgPSBuZXcgRXZlbnQoYXJyYXkoJ3JlcXVlc3QnID0+ICR0aGlzLT5nZXRSZXF1ZXN0KCksICd0aW1lc3RhbXAnID0+IHNlbGY6OlRJTUVTVEFNUCkpOwogICAgICAgICRwLT5vblJlcXVlc3RCZWZvcmVTZW5kKCRldmVudCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGV2ZW50WydyZXF1ZXN0J10tPmhhc0hlYWRlcignQXV0aG9yaXphdGlvbicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90Q29udGFpbnMoJ29hdXRoX3Rva2VuPScsIChzdHJpbmcpICRldmVudFsncmVxdWVzdCddLT5nZXRIZWFkZXIoJ0F1dGhvcml6YXRpb24nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RPcHRpb25hbE9hdXRoUGFyYW1ldGVyc0FyZU5vdEF1dG9tYXRpY2FsbHlBZGRlZCgpCiAgICB7CiAgICAgICAgLy8gVGhlIG9ubHkgcmVxdWlyZWQgT2F1dGggcGFyYW1ldGVycyBhcmUgdGhlIGNvbnN1bWVyIGtleSBhbmQgc2VjcmV0LiBUaGF0IGlzIGVub3VnaCBjcmVkZW50aWFscwogICAgICAgIC8vIGZvciBzaWduaW5nIG9hdXRoIHJlcXVlc3RzLgogICAgICAgICAkY29uZmlnID0gYXJyYXkoCiAgICAgICAgICAgICdjb25zdW1lcl9rZXknICAgID0+ICdmb28nLAogICAgICAgICAgICAnY29uc3VtZXJfc2VjcmV0JyA9PiAnYmFyJywKICAgICAgICApOwoKICAgICAgICAkcGx1Z2luID0gbmV3IE9hdXRoUGx1Z2luKCRjb25maWcpOwogICAgICAgICRldmVudCA9IG5ldyBFdmVudChhcnJheSgKICAgICAgICAgICAgJ3JlcXVlc3QnID0+ICR0aGlzLT5nZXRSZXF1ZXN0KCksCiAgICAgICAgICAgICd0aW1lc3RhbXAnID0+IHNlbGY6OlRJTUVTVEFNUAogICAgICAgICkpOwoKICAgICAgICAkdGltZXN0YW1wID0gJHBsdWdpbi0+Z2V0VGltZXN0YW1wKCRldmVudCk7CiAgICAgICAgJHJlcXVlc3QgPSAkZXZlbnRbJ3JlcXVlc3QnXTsKICAgICAgICAkbm9uY2UgPSAkcGx1Z2luLT5nZW5lcmF0ZU5vbmNlKCRyZXF1ZXN0KTsKCiAgICAgICAgJHBhcmFtc1RvU2lnbiA9ICRwbHVnaW4tPmdldFBhcmFtc1RvU2lnbigkcmVxdWVzdCwgJHRpbWVzdGFtcCwgJG5vbmNlKTsKCiAgICAgICAgJG9wdGlvbmFsUGFyYW1zID0gYXJyYXkoCiAgICAgICAgICAgICdjYWxsYmFjaycgICAgICA9PiAnb2F1dGhfY2FsbGJhY2snLAogICAgICAgICAgICAndG9rZW4nICAgICAgICAgPT4gJ29hdXRoX3Rva2VuJywKICAgICAgICAgICAgJ3ZlcmlmaWVyJyAgICAgID0+ICdvYXV0aF92ZXJpZmllcicsCiAgICAgICAgICAgICd0b2tlbl9zZWNyZXQnICA9PiAndG9rZW5fc2VjcmV0JwogICAgICAgICk7CgogICAgICAgIGZvcmVhY2ggKCRvcHRpb25hbFBhcmFtcyBhcyAkb3B0aW9uTmFtZSA9PiAkb2F1dGhOYW1lKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRBcnJheU5vdEhhc0tleSgkb2F1dGhOYW1lLCAkcGFyYW1zVG9TaWduLCAiT3B0aW9uYWwgT2F1dGggcGFyYW0gJyRvYXV0aE5hbWUnIHdhcyBub3Qgc2V0IHZpYSBjb25maWcgdmFyaWFibGUgJyRvcHRpb25OYW1lJywgYnV0IGl0IGlzIGxpc3RlZCBpbiBnZXRQYXJhbXNUb1NpZ24oKS4iKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/AbstractConfigLoaderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZTsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxTZXJ2aWNlXEFic3RyYWN0Q29uZmlnTG9hZGVyCiAqLwpjbGFzcyBBYnN0cmFjdENvbmZpZ0xvYWRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKiBAdmFyIFxHdXp6bGVcU2VydmljZVxBYnN0cmFjdENvbmZpZ0xvYWRlciAqLwogICAgcHJvdGVjdGVkICRsb2FkZXI7CgogICAgLyoqIEB2YXIgYXJyYXkgQW55IGZpbGVzIHRoYXQgbmVlZCB0byBiZSBkZWxldGVkIG9uIHRlYXIgZG93biAqLwogICAgcHJvdGVjdGVkICRjbGVhbnVwID0gYXJyYXkoKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXAoKQogICAgewogICAgICAgICR0aGlzLT5sb2FkZXIgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTZXJ2aWNlXEFic3RyYWN0Q29uZmlnTG9hZGVyJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdidWlsZCcpKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlYXJEb3duKCkKICAgIHsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+Y2xlYW51cCBhcyAkZmlsZSkgewogICAgICAgICAgICB1bmxpbmsoJGZpbGUpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0T25seUxvYWRzU3VwcG9ydGVkVHlwZXMoKQogICAgewogICAgICAgICR0aGlzLT5sb2FkZXItPmxvYWQobmV3IFxzdGRDbGFzcygpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIFVuYWJsZSB0byBvcGVuIGZvb29vb29vLmpzb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGaWxlTXVzdEJlUmVhZGFibGUoKQogICAgewogICAgICAgICR0aGlzLT5sb2FkZXItPmxvYWQoJ2Zvb29vb29vLmpzb24nKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIFVua25vd24gZmlsZSBleHRlbnNpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RNdXN0QmVTdXBwb3J0ZWRFeHRlbnNpb24oKQogICAgewogICAgICAgICR0aGlzLT5sb2FkZXItPmxvYWQoZGlybmFtZShfX0RJUl9fKSAuICcvVGVzdERhdGEvRmlsZUJvZHkudHh0Jyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxDb21tb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgRXJyb3IgbG9hZGluZyBKU09OIGRhdGEgZnJvbQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEpzb25NdXN0QmVWYWx1ZSgpCiAgICB7CiAgICAgICAgJGZpbGVuYW1lID0gdGVtcG5hbShzeXNfZ2V0X3RlbXBfZGlyKCksICdqc29uJykgLiAnLmpzb24nOwogICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlbmFtZSwgJ3svey4ve31mb28nKTsKICAgICAgICAkdGhpcy0+Y2xlYW51cFtdID0gJGZpbGVuYW1lOwogICAgICAgICR0aGlzLT5sb2FkZXItPmxvYWQoJGZpbGVuYW1lKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIFBIUCBmaWxlcyBtdXN0IHJldHVybiBhbiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBocEZpbGVzTXVzdFJldHVybkFuQXJyYXkoKQogICAgewogICAgICAgICRmaWxlbmFtZSA9IHRlbXBuYW0oc3lzX2dldF90ZW1wX2RpcigpLCAncGhwJykgLiAnLnBocCc7CiAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGZpbGVuYW1lLCAnPD9waHAgJGZkciA9IGZhbHNlOycpOwogICAgICAgICR0aGlzLT5jbGVhbnVwW10gPSAkZmlsZW5hbWU7CiAgICAgICAgJHRoaXMtPmxvYWRlci0+bG9hZCgkZmlsZW5hbWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TG9hZHNQaHBGaWxlSW5jbHVkZXMoKQogICAgewogICAgICAgICRmaWxlbmFtZSA9IHRlbXBuYW0oc3lzX2dldF90ZW1wX2RpcigpLCAncGhwJykgLiAnLnBocCc7CiAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGZpbGVuYW1lLCAnPD9waHAgcmV0dXJuIGFycmF5KCJmb28iID0+ICJiYXIiKTsnKTsKICAgICAgICAkdGhpcy0+Y2xlYW51cFtdID0gJGZpbGVuYW1lOwogICAgICAgICR0aGlzLT5sb2FkZXItPmV4cGVjdHMoJHRoaXMtPmV4YWN0bHkoMSkpLT5tZXRob2QoJ2J1aWxkJyktPndpbGwoJHRoaXMtPnJldHVybkFyZ3VtZW50KDApKTsKICAgICAgICAkY29uZmlnID0gJHRoaXMtPmxvYWRlci0+bG9hZCgkZmlsZW5hbWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2ZvbycgPT4gJ2JhcicpLCAkY29uZmlnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNyZWF0ZUZyb21Kc29uKCkKICAgIHsKICAgICAgICAkZmlsZSA9IGRpcm5hbWUoX19ESVJfXykgLiAnL1Rlc3REYXRhL3NlcnZpY2VzL2pzb24xLmpzb24nOwogICAgICAgIC8vIFRoZSBidWlsZCBtZXRob2Qgd2lsbCBqdXN0IHJldHVybiB0aGUgY29uZmlnIGRhdGEKICAgICAgICAkdGhpcy0+bG9hZGVyLT5leHBlY3RzKCR0aGlzLT5leGFjdGx5KDEpKS0+bWV0aG9kKCdidWlsZCcpLT53aWxsKCR0aGlzLT5yZXR1cm5Bcmd1bWVudCgwKSk7CiAgICAgICAgJGRhdGEgPSAkdGhpcy0+bG9hZGVyLT5sb2FkKCRmaWxlKTsKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgY29uZmlnIGZpbGVzIHdlcmUgbWVyZ2VkIHVzaW5nIHRoZSBpbmNsdWRlcyBkaXJlY3RpdmVzCiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdpbmNsdWRlcycsICRkYXRhKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ3NlcnZpY2VzJywgJGRhdGEpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgJGRhdGFbJ3NlcnZpY2VzJ11bJ2ZvbyddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdhcnJheScsICRkYXRhWydzZXJ2aWNlcyddWydhYnN0cmFjdCddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdhcnJheScsICRkYXRhWydzZXJ2aWNlcyddWydtb2NrJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRkYXRhWydzZXJ2aWNlcyddWydmb28nXVsncGFyYW1zJ11bJ2JheiddKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVzZXNBbGlhc2VzKCkKICAgIHsKICAgICAgICAkZmlsZSA9IGRpcm5hbWUoX19ESVJfXykgLiAnL1Rlc3REYXRhL3NlcnZpY2VzL2pzb24xLmpzb24nOwogICAgICAgICR0aGlzLT5sb2FkZXItPmFkZEFsaWFzKCdmb28nLCAkZmlsZSk7CiAgICAgICAgLy8gVGhlIGJ1aWxkIG1ldGhvZCB3aWxsIGp1c3QgcmV0dXJuIHRoZSBjb25maWcgZGF0YQogICAgICAgICR0aGlzLT5sb2FkZXItPmV4cGVjdHMoJHRoaXMtPmV4YWN0bHkoMSkpLT5tZXRob2QoJ2J1aWxkJyktPndpbGwoJHRoaXMtPnJldHVybkFyZ3VtZW50KDApKTsKICAgICAgICAkZGF0YSA9ICR0aGlzLT5sb2FkZXItPmxvYWQoJ2ZvbycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRkYXRhWydzZXJ2aWNlcyddWydmb28nXVsncGFyYW1zJ11bJ2JheiddKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIFVuYWJsZSB0byBvcGVuIGZvby5qc29uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuUmVtb3ZlQWxpYXNlcygpCiAgICB7CiAgICAgICAgJGZpbGUgPSBkaXJuYW1lKF9fRElSX18pIC4gJy9UZXN0RGF0YS9zZXJ2aWNlcy9qc29uMS5qc29uJzsKICAgICAgICAkdGhpcy0+bG9hZGVyLT5hZGRBbGlhcygnZm9vLmpzb24nLCAkZmlsZSk7CiAgICAgICAgJHRoaXMtPmxvYWRlci0+cmVtb3ZlQWxpYXMoJ2Zvby5qc29uJyk7CiAgICAgICAgJHRoaXMtPmxvYWRlci0+bG9hZCgnZm9vLmpzb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkxvYWRBcnJheXNXaXRoSW5jbHVkZXMoKQogICAgewogICAgICAgICRmaWxlID0gZGlybmFtZShfX0RJUl9fKSAuICcvVGVzdERhdGEvc2VydmljZXMvanNvbjEuanNvbic7CiAgICAgICAgJGNvbmZpZyA9IGFycmF5KCdpbmNsdWRlcycgPT4gYXJyYXkoJGZpbGUpKTsKICAgICAgICAvLyBUaGUgYnVpbGQgbWV0aG9kIHdpbGwganVzdCByZXR1cm4gdGhlIGNvbmZpZyBkYXRhCiAgICAgICAgJHRoaXMtPmxvYWRlci0+ZXhwZWN0cygkdGhpcy0+ZXhhY3RseSgxKSktPm1ldGhvZCgnYnVpbGQnKS0+d2lsbCgkdGhpcy0+cmV0dXJuQXJndW1lbnQoMCkpOwogICAgICAgICRkYXRhID0gJHRoaXMtPmxvYWRlci0+bG9hZCgkY29uZmlnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXInLCAkZGF0YVsnc2VydmljZXMnXVsnZm9vJ11bJ3BhcmFtcyddWydiYXonXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzTm90RW50ZXJJbmZpbml0ZUxvb3AoKQogICAgewogICAgICAgICRwcmVmaXggPSAkZmlsZSA9IGRpcm5hbWUoX19ESVJfXykgLiAnL1Rlc3REYXRhL2Rlc2NyaXB0aW9uJzsKICAgICAgICAkdGhpcy0+bG9hZGVyLT5sb2FkKCJ7JHByZWZpeH0vYmF6Lmpzb24iKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoNCwgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHRoaXMtPmxvYWRlciwgJ2xvYWRlZEZpbGVzJykpOwogICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBpbnRlcm5hbCBsaXN0IG9mIGxvYWRlZCBmaWxlcyBpcyByZXNldAogICAgICAgICR0aGlzLT5sb2FkZXItPmxvYWQoInskcHJlZml4fS8uLi90ZXN0X3NlcnZpY2UyLmpzb24iKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoMSwgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHRoaXMtPmxvYWRlciwgJ2xvYWRlZEZpbGVzJykpOwogICAgICAgIC8vIEVuc3VyZSB0aGF0IHByZXZpb3VzbHkgbG9hZGVkIGZpbGVzIHdpbGwgYmUgcmVsb2FkZWQgd2hlbiBzdGFydGluZyBmcmVzaAogICAgICAgICR0aGlzLT5sb2FkZXItPmxvYWQoInskcHJlZml4fS9iYXouanNvbiIpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCg0LCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkdGhpcy0+bG9hZGVyLCAnbG9hZGVkRmlsZXMnKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/ServiceBuilderLoaderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxCdWlsZGVyOwoKdXNlIEd1enpsZVxTZXJ2aWNlXEJ1aWxkZXJcU2VydmljZUJ1aWxkZXJMb2FkZXI7CgovKioKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxCdWlsZGVyXFNlcnZpY2VCdWlsZGVyTG9hZGVyCiAqLwpjbGFzcyBTZXJ2aWNlQnVpbGRlckxvYWRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QnVpbGRzU2VydmljZUJ1aWxkZXJzKCkKICAgIHsKICAgICAgICAkYXJyYXlGYWN0b3J5ID0gbmV3IFNlcnZpY2VCdWlsZGVyTG9hZGVyKCk7CgogICAgICAgICRkYXRhID0gYXJyYXkoCiAgICAgICAgICAgICdzZXJ2aWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnYWJzdHJhY3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdwYXJhbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnYWNjZXNzX2tleScgPT4gJ3h5eicsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZWNyZXQnID0+ICdhYmMnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2ZvbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdhYnN0cmFjdCcsCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdiYXonID0+ICdiYXInLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ21vY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdleHRlbmRzJyA9PiAnYWJzdHJhY3QnLAogICAgICAgICAgICAgICAgICAgICdwYXJhbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndXNlcm5hbWUnID0+ICdmb28nLAogICAgICAgICAgICAgICAgICAgICAgICAncGFzc3dvcmQnID0+ICdiYXonLAogICAgICAgICAgICAgICAgICAgICAgICAnc3ViZG9tYWluJyA9PiAnYmFyJywKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApOwoKICAgICAgICAkYnVpbGRlciA9ICRhcnJheUZhY3RvcnktPmxvYWQoJGRhdGEpOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCBzZXJ2aWNlcyB3ZXJlIHBhcnNlZAogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKGlzc2V0KCRidWlsZGVyWydtb2NrJ10pKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZShpc3NldCgkYnVpbGRlclsnYWJzdHJhY3QnXSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKGlzc2V0KCRidWlsZGVyWydmb28nXSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZShpc3NldCgkYnVpbGRlclsnamltbXknXSkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIEd1enpsZVxTZXJ2aWNlXEV4Y2VwdGlvblxTZXJ2aWNlTm90Rm91bmRFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgZm9vIGlzIHRyeWluZyB0byBleHRlbmQgYSBub24tZXhpc3RlbnQgc2VydmljZTogYWJzdHJhY3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25XaGVuRXh0ZW5kaW5nTm9uRXhpc3RlbnRTZXJ2aWNlKCkKICAgIHsKICAgICAgICAkYXJyYXlGYWN0b3J5ID0gbmV3IFNlcnZpY2VCdWlsZGVyTG9hZGVyKCk7CgogICAgICAgICRkYXRhID0gYXJyYXkoCiAgICAgICAgICAgICdzZXJ2aWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZm9vJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2Fic3RyYWN0JwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKTsKCiAgICAgICAgJGJ1aWxkZXIgPSAkYXJyYXlGYWN0b3J5LT5sb2FkKCRkYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0dsb2JhbFBhcmFtZXRlck92ZXJyaWRlcygpCiAgICB7CiAgICAgICAgJGFycmF5RmFjdG9yeSA9IG5ldyBTZXJ2aWNlQnVpbGRlckxvYWRlcigpOwoKICAgICAgICAkZGF0YSA9IGFycmF5KAogICAgICAgICAgICAnc2VydmljZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2ZvbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdmb28nID0+ICdiYXonLAogICAgICAgICAgICAgICAgICAgICAgICAnYmFyJyA9PiAnYm9vJwogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICk7CgogICAgICAgICRidWlsZGVyID0gJGFycmF5RmFjdG9yeS0+bG9hZCgkZGF0YSwgYXJyYXkoCiAgICAgICAgICAgICdiYXInID0+ICdqYXInLAogICAgICAgICAgICAnZmFyJyA9PiAnY2FyJwogICAgICAgICkpOwoKICAgICAgICAkY29tcGlsZWQgPSBqc29uX2RlY29kZSgkYnVpbGRlci0+c2VyaWFsaXplKCksIHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdmb28nID0+ICdiYXonLAogICAgICAgICAgICAnYmFyJyA9PiAnamFyJywKICAgICAgICAgICAgJ2ZhcicgPT4gJ2NhcicKICAgICAgICApLCAkY29tcGlsZWRbJ2ZvbyddWydwYXJhbXMnXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRzdERvZXNOb3RFcnJvck9uQ2lyY3VsYXJSZWZlcmVuY2VzKCkKICAgIHsKICAgICAgICAkYXJyYXlGYWN0b3J5ID0gbmV3IFNlcnZpY2VCdWlsZGVyTG9hZGVyKCk7CiAgICAgICAgJGFycmF5RmFjdG9yeS0+bG9hZChhcnJheSgKICAgICAgICAgICAgJ3NlcnZpY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0b28nID0+IGFycmF5KCdleHRlbmRzJyA9PiAnYmFsbCcpLAogICAgICAgICAgICAgICAgJ2JhbGwnID0+IGFycmF5KCdleHRlbmRzJyA9PiAndG9vJyksCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY29uZmlnUHJvdmlkZXIoKQogICAgewogICAgICAgICRmb28gPSBhcnJheSgKICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdiYXInLAogICAgICAgICAgICAnY2xhc3MnICAgPT4gJ3N0ZENsYXNzJywKICAgICAgICAgICAgJ3BhcmFtcycgID0+IGFycmF5KCdhJyA9PiAndGVzdCcsICdiJyA9PiAnNDU2JykKICAgICAgICApOwoKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgLy8gRG9lcyBub3QgZXh0ZW5kIHRoZSBleGlzdGluZyBgZm9vYCBzZXJ2aWNlIGJ1dCBvdmVyd3JpdGVzIGl0CiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc2VydmljZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnZm9vJyA9PiAkZm9vLAogICAgICAgICAgICAgICAgICAgICAgICAnYmFyJyA9PiBhcnJheSgncGFyYW1zJyA9PiBhcnJheSgnYmF6JyA9PiAnMTIzJykpCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzZXJ2aWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdmb28nID0+IGFycmF5KCdjbGFzcycgPT4gJ0JheicpCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzZXJ2aWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdmb28nID0+IGFycmF5KCdjbGFzcycgPT4gJ0JheicpLAogICAgICAgICAgICAgICAgICAgICAgICAnYmFyJyA9PiBhcnJheSgncGFyYW1zJyA9PiBhcnJheSgnYmF6JyA9PiAnMTIzJykpCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIC8vIEV4dGVuZHMgdGhlIGV4aXN0aW5nIGBmb29gIHNlcnZpY2UKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdzZXJ2aWNlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdmb28nID0+ICRmb28sCiAgICAgICAgICAgICAgICAgICAgICAgICdiYXInID0+IGFycmF5KCdwYXJhbXMnID0+IGFycmF5KCdiYXonID0+ICcxMjMnKSkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3NlcnZpY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2ZvbycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGFyYW1zJyA9PiBhcnJheSgnYicgPT4gJzEyMycsICdjJyA9PiAnZGVmJykKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnc2VydmljZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnZm9vJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdleHRlbmRzJyA9PiAnYmFyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ3N0ZENsYXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYXJhbXMnID0+IGFycmF5KCdhJyA9PiAndGVzdCcsICdiJyA9PiAnMTIzJywgJ2MnID0+ICdkZWYnKQogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnYmFyJyA9PiBhcnJheSgncGFyYW1zJyA9PiBhcnJheSgnYmF6JyA9PiAnMTIzJykpCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgY29uZmlnUHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb21iaW5lc0NvbmZpZ3MoJGEsICRiLCAkYykKICAgIHsKICAgICAgICAkbCA9IG5ldyBTZXJ2aWNlQnVpbGRlckxvYWRlcigpOwogICAgICAgICRtID0gbmV3IFxSZWZsZWN0aW9uTWV0aG9kKCRsLCAnbWVyZ2VEYXRhJyk7CiAgICAgICAgJG0tPnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkYywgJG0tPmludm9rZSgkbCwgJGEsICRiKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/ServiceBuilderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZTsKCnVzZSBHdXp6bGVcUGx1Z2luXEhpc3RvcnlcSGlzdG9yeVBsdWdpbjsKdXNlIEd1enpsZVxTZXJ2aWNlXEJ1aWxkZXJcU2VydmljZUJ1aWxkZXI7CnVzZSBHdXp6bGVcU2VydmljZVxDbGllbnQ7CgovKioKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxCdWlsZGVyXFNlcnZpY2VCdWlsZGVyCiAqLwpjbGFzcyBTZXJ2aWNlQnVpbGRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCAkYXJyYXlEYXRhID0gYXJyYXkoCiAgICAgICAgJ21pY2hhZWwubW9jaycgPT4gYXJyYXkoCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcTW9ja0NsaWVudCcsCiAgICAgICAgICAgICdwYXJhbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3VzZXJuYW1lJyA9PiAnbWljaGFlbCcsCiAgICAgICAgICAgICAgICAncGFzc3dvcmQnID0+ICd0ZXN0aW5nMTIzJywKICAgICAgICAgICAgICAgICdzdWJkb21haW4nID0+ICdtaWNoYWVsJywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdiaWxseS5tb2NrJyA9PiBhcnJheSgKICAgICAgICAgICAgJ2FsaWFzJyA9PiAnSGVsbG8hJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xNb2NrQ2xpZW50JywKICAgICAgICAgICAgJ3BhcmFtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndXNlcm5hbWUnID0+ICdiaWxseScsCiAgICAgICAgICAgICAgICAncGFzc3dvcmQnID0+ICdwYXNzdzByZCcsCiAgICAgICAgICAgICAgICAnc3ViZG9tYWluJyA9PiAnYmlsbHknLAogICAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ2JpbGx5LnRlc3RpbmcnID0+IGFycmF5KAogICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ2JpbGx5Lm1vY2snLAogICAgICAgICAgICAncGFyYW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdzdWJkb21haW4nID0+ICd0ZXN0LmJpbGx5JywKICAgICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdtaXNzaW5nX3BhcmFtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICdleHRlbmRzJyA9PiAnYmlsbHkubW9jaycKICAgICAgICApCiAgICApOwoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzU2VyaWFsaXphdGlvbigpCiAgICB7CiAgICAgICAgJGJ1aWxkZXIgPSBTZXJ2aWNlQnVpbGRlcjo6ZmFjdG9yeSgkdGhpcy0+YXJyYXlEYXRhKTsKICAgICAgICAkY2FjaGVkID0gdW5zZXJpYWxpemUoc2VyaWFsaXplKCRidWlsZGVyKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkY2FjaGVkLCAkYnVpbGRlcik7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZWxlZ2F0ZXNGYWN0b3J5TWV0aG9kVG9BYnN0cmFjdEZhY3RvcnkoKQogICAgewogICAgICAgICRidWlsZGVyID0gU2VydmljZUJ1aWxkZXI6OmZhY3RvcnkoJHRoaXMtPmFycmF5RGF0YSk7CiAgICAgICAgJGMgPSAkYnVpbGRlci0+Z2V0KCdtaWNoYWVsLm1vY2snKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xNb2NrQ2xpZW50JywgJGMpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIEd1enpsZVxTZXJ2aWNlXEV4Y2VwdGlvblxTZXJ2aWNlTm90Rm91bmRFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgTm8gc2VydmljZSBpcyByZWdpc3RlcmVkIGFzIGZvb2JhcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRocm93c0V4Y2VwdGlvbldoZW5HZXR0aW5nSW52YWxpZENsaWVudCgpCiAgICB7CiAgICAgICAgU2VydmljZUJ1aWxkZXI6OmZhY3RvcnkoJHRoaXMtPmFycmF5RGF0YSktPmdldCgnZm9vYmFyJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdG9yZXNDbGllbnRDb3B5KCkKICAgIHsKICAgICAgICAkYnVpbGRlciA9IFNlcnZpY2VCdWlsZGVyOjpmYWN0b3J5KCR0aGlzLT5hcnJheURhdGEpOwogICAgICAgICRjbGllbnQgPSAkYnVpbGRlci0+Z2V0KCdtaWNoYWVsLm1vY2snKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xNb2NrQ2xpZW50JywgJGNsaWVudCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovLzEyNy4wLjAuMTo4MTI0L3YxL21pY2hhZWwnLCAkY2xpZW50LT5nZXRCYXNlVXJsKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGNsaWVudCwgJGJ1aWxkZXItPmdldCgnbWljaGFlbC5tb2NrJykpOwoKICAgICAgICAvLyBHZXQgYW5vdGhlciBjbGllbnQgYnV0IHRocm93IHRoaXMgb25lIGF3YXkKICAgICAgICAkY2xpZW50MiA9ICRidWlsZGVyLT5nZXQoJ2JpbGx5Lm1vY2snLCB0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xNb2NrQ2xpZW50JywgJGNsaWVudDIpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly8xMjcuMC4wLjE6ODEyNC92MS9iaWxseScsICRjbGllbnQyLT5nZXRCYXNlVXJsKCkpOwoKICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIG9yaWdpbmFsIGNsaWVudCBpcyBzdGlsbCB0aGVyZSBhbmQgc2V0CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGNsaWVudCA9PT0gJGJ1aWxkZXItPmdldCgnbWljaGFlbC5tb2NrJykpOwoKICAgICAgICAvLyBDcmVhdGUgYSBuZXcgYmlsbHkubW9jayBjbGllbnQgdGhhdCBpcyBzdG9yZWQKICAgICAgICAkY2xpZW50MyA9ICRidWlsZGVyLT5nZXQoJ2JpbGx5Lm1vY2snKTsKCiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIHN0b3JlZCBiaWxseS5tb2NrIGNsaWVudCBpcyBlcXVhbCB0byB0aGUgb3RoZXIgc3RvcmVkIGNsaWVudAogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRjbGllbnQzID09PSAkYnVpbGRlci0+Z2V0KCdiaWxseS5tb2NrJykpOwoKICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCB0aGlzIGNsaWVudCBpcyBub3QgZXF1YWwgdG8gdGhlIHByZXZpb3VzIHRocm93YXdheSBjbGllbnQKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNsaWVudDIgPT09ICRidWlsZGVyLT5nZXQoJ2JpbGx5Lm1vY2snKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCdWlsZGVyc1Bhc3NPcHRpb25zVGhyb3VnaFRvQ2xpZW50cygpCiAgICB7CiAgICAgICAgJHMgPSBuZXcgU2VydmljZUJ1aWxkZXIoYXJyYXkoCiAgICAgICAgICAgICdtaWNoYWVsLm1vY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xNb2NrQ2xpZW50JywKICAgICAgICAgICAgICAgICdwYXJhbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdiYXNlX3VybCcgPT4gJ2h0dHA6Ly93d3cudGVzdC5jb20vJywKICAgICAgICAgICAgICAgICAgICAnc3ViZG9tYWluJyA9PiAnbWljaGFlbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Bhc3N3b3JkJyA9PiAndGVzdCcsCiAgICAgICAgICAgICAgICAgICAgJ3VzZXJuYW1lJyA9PiAnbWljaGFlbCcsCiAgICAgICAgICAgICAgICAgICAgJ2N1cmwuY3VybG9wdF9wcm94eXBvcnQnID0+IDgwODAKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkYyA9ICRzLT5nZXQoJ21pY2hhZWwubW9jaycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoODA4MCwgJGMtPmdldENvbmZpZygnY3VybC5jdXJsb3B0X3Byb3h5cG9ydCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVzZXNUaGVEZWZhdWx0QnVpbGRlcldoZW5Ob0J1aWxkZXJJc1NwZWNpZmllZCgpCiAgICB7CiAgICAgICAgJHMgPSBuZXcgU2VydmljZUJ1aWxkZXIoYXJyYXkoCiAgICAgICAgICAgICdtaWNoYWVsLm1vY2snID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xNb2NrQ2xpZW50JywKICAgICAgICAgICAgICAgICdwYXJhbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdiYXNlX3VybCcgPT4gJ2h0dHA6Ly93d3cudGVzdC5jb20vJywKICAgICAgICAgICAgICAgICAgICAnc3ViZG9tYWluJyA9PiAnbWljaGFlbCcsCiAgICAgICAgICAgICAgICAgICAgJ3Bhc3N3b3JkJyA9PiAndGVzdCcsCiAgICAgICAgICAgICAgICAgICAgJ3VzZXJuYW1lJyA9PiAnbWljaGFlbCcsCiAgICAgICAgICAgICAgICAgICAgJ2N1cmwuY3VybG9wdF9wcm94eXBvcnQnID0+IDgwODAKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkYyA9ICRzLT5nZXQoJ21pY2hhZWwubW9jaycpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXE1vY2tDbGllbnQnLCAkYyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VkQXNBcnJheSgpCiAgICB7CiAgICAgICAgJGIgPSBTZXJ2aWNlQnVpbGRlcjo6ZmFjdG9yeSgkdGhpcy0+YXJyYXlEYXRhKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkYi0+b2Zmc2V0RXhpc3RzKCdtaWNoYWVsLm1vY2snKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRiLT5vZmZzZXRFeGlzdHMoJ25vdF90aGVyZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcQ2xpZW50JywgJGJbJ21pY2hhZWwubW9jayddKTsKCiAgICAgICAgdW5zZXQoJGJbJ21pY2hhZWwubW9jayddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGItPm9mZnNldEV4aXN0cygnbWljaGFlbC5tb2NrJykpOwoKICAgICAgICAkYlsnbWljaGFlbC5tb2NrJ10gPSBuZXcgQ2xpZW50KCdodHRwOi8vd3d3LnRlc3QuY29tLycpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcU2VydmljZVxDbGllbnQnLCAkYlsnbWljaGFlbC5tb2NrJ10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUNhbkNyZWF0ZUZyb21Kc29uKCkKICAgIHsKICAgICAgICAkdG1wID0gc3lzX2dldF90ZW1wX2RpcigpIC4gJy90ZXN0LmpzJzsKICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkdG1wLCBqc29uX2VuY29kZSgkdGhpcy0+YXJyYXlEYXRhKSk7CiAgICAgICAgJGIgPSBTZXJ2aWNlQnVpbGRlcjo6ZmFjdG9yeSgkdG1wKTsKICAgICAgICB1bmxpbmsoJHRtcCk7CiAgICAgICAgJHMgPSAkYi0+Z2V0KCdiaWxseS50ZXN0aW5nJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdC5iaWxseScsICRzLT5nZXRDb25maWcoJ3N1YmRvbWFpbicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiaWxseScsICRzLT5nZXRDb25maWcoJ3VzZXJuYW1lJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUNhbkNyZWF0ZUZyb21BcnJheSgpCiAgICB7CiAgICAgICAgJGIgPSBTZXJ2aWNlQnVpbGRlcjo6ZmFjdG9yeSgkdGhpcy0+YXJyYXlEYXRhKTsKICAgICAgICAkcyA9ICRiLT5nZXQoJ2JpbGx5LnRlc3RpbmcnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0LmJpbGx5JywgJHMtPmdldENvbmZpZygnc3ViZG9tYWluJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JpbGx5JywgJHMtPmdldENvbmZpZygndXNlcm5hbWUnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGYWN0b3J5RG9lc05vdFJlcXVpcmVQYXJhbXMoKQogICAgewogICAgICAgICRiID0gU2VydmljZUJ1aWxkZXI6OmZhY3RvcnkoJHRoaXMtPmFycmF5RGF0YSk7CiAgICAgICAgJHMgPSAkYi0+Z2V0KCdtaXNzaW5nX3BhcmFtcycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JpbGx5JywgJHMtPmdldENvbmZpZygndXNlcm5hbWUnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCdWlsZGVyQWxsb3dzUmVmZXJlbmNlc0JldHdlZW5DbGllbnRzKCkKICAgIHsKICAgICAgICAkYnVpbGRlciA9IFNlcnZpY2VCdWlsZGVyOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnYScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXE1vY2tDbGllbnQnLAogICAgICAgICAgICAgICAgJ3BhcmFtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ290aGVyX2NsaWVudCcgPT4gJ3tifScsCiAgICAgICAgICAgICAgICAgICAgJ3VzZXJuYW1lJyAgICAgPT4gJ3gnLAogICAgICAgICAgICAgICAgICAgICdwYXNzd29yZCcgICAgID0+ICd5JywKICAgICAgICAgICAgICAgICAgICAnc3ViZG9tYWluJyAgICA9PiAneicKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2InID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xNb2NrQ2xpZW50JywKICAgICAgICAgICAgICAgICdwYXJhbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd1c2VybmFtZScgID0+ICcxJywKICAgICAgICAgICAgICAgICAgICAncGFzc3dvcmQnICA9PiAnMicsCiAgICAgICAgICAgICAgICAgICAgJ3N1YmRvbWFpbicgPT4gJzMnCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJGNsaWVudCA9ICRidWlsZGVyWydhJ107CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygneCcsICRjbGllbnQtPmdldENvbmZpZygndXNlcm5hbWUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGJ1aWxkZXJbJ2InXSwgJGNsaWVudC0+Z2V0Q29uZmlnKCdvdGhlcl9jbGllbnQnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnMScsICRidWlsZGVyWydiJ10tPmdldENvbmZpZygndXNlcm5hbWUnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbWl0c0V2ZW50c1doZW5DbGllbnRzQXJlQ3JlYXRlZCgpCiAgICB7CiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGNsaWVudCBzaWduYWxzIHRoYXQgaXQgZW1pdHMgYW4gZXZlbnQKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdzZXJ2aWNlX2J1aWxkZXIuY3JlYXRlX2NsaWVudCcpLCBTZXJ2aWNlQnVpbGRlcjo6Z2V0QWxsRXZlbnRzKCkpOwoKICAgICAgICAvLyBDcmVhdGUgYSB0ZXN0IHNlcnZpY2UgYnVpbGRlcgogICAgICAgICRidWlsZGVyID0gU2VydmljZUJ1aWxkZXI6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcTW9ja0NsaWVudCcsCiAgICAgICAgICAgICAgICAncGFyYW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndXNlcm5hbWUnICA9PiAndGVzdCcsCiAgICAgICAgICAgICAgICAgICAgJ3Bhc3N3b3JkJyAgPT4gJzEyMycsCiAgICAgICAgICAgICAgICAgICAgJ3N1YmRvbWFpbicgPT4gJ3onCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgLy8gQWRkIGFuIGV2ZW50IGxpc3RlbmVyIHRvIHBpY2sgdXAgY2xpZW50IGNyZWF0aW9uIGV2ZW50cwogICAgICAgICRlbWl0cyA9IDA7CiAgICAgICAgJGJ1aWxkZXItPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRMaXN0ZW5lcignc2VydmljZV9idWlsZGVyLmNyZWF0ZV9jbGllbnQnLCBmdW5jdGlvbigkZXZlbnQpIHVzZSAoJiRlbWl0cykgewogICAgICAgICAgICAkZW1pdHMrKzsKICAgICAgICB9KTsKCiAgICAgICAgLy8gR2V0IHRoZSAnYScgY2xpZW50IGJ5IG5hbWUKICAgICAgICAkY2xpZW50ID0gJGJ1aWxkZXItPmdldCgnYScpOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgZXZlbnQgd2FzIGVtaXR0ZWQgb25jZSwgYW5kIHRoYXQgdGhlIGNsaWVudCB3YXMgcHJlc2VudAogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgJGVtaXRzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xNb2NrQ2xpZW50JywgJGNsaWVudCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5BZGRHbG9iYWxQYXJhbWV0ZXJzVG9TZXJ2aWNlc09uTG9hZCgpCiAgICB7CiAgICAgICAgJGJ1aWxkZXIgPSBTZXJ2aWNlQnVpbGRlcjo6ZmFjdG9yeSgkdGhpcy0+YXJyYXlEYXRhLCBhcnJheSgKICAgICAgICAgICAgJ3VzZXJuYW1lJyAgPT4gJ2ZyZWQnLAogICAgICAgICAgICAnbmV3X3ZhbHVlJyA9PiAndGVzdCcKICAgICAgICApKTsKCiAgICAgICAgJGRhdGEgPSBqc29uX2RlY29kZSgkYnVpbGRlci0+c2VyaWFsaXplKCksIHRydWUpOwoKICAgICAgICBmb3JlYWNoICgkZGF0YSBhcyAkc2VydmljZSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmcmVkJywgJHNlcnZpY2VbJ3BhcmFtcyddWyd1c2VybmFtZSddKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsICRzZXJ2aWNlWydwYXJhbXMnXVsnbmV3X3ZhbHVlJ10pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNHbG9iYWxQbHVnaW5zKCkKICAgIHsKICAgICAgICAkYiA9IG5ldyBTZXJ2aWNlQnVpbGRlcigkdGhpcy0+YXJyYXlEYXRhKTsKICAgICAgICAkYi0+YWRkR2xvYmFsUGx1Z2luKG5ldyBIaXN0b3J5UGx1Z2luKCkpOwogICAgICAgICRzID0gJGItPmdldCgnbWljaGFlbC5tb2NrJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHMtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5oYXNMaXN0ZW5lcnMoJ3JlcXVlc3Quc2VudCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkdldERhdGEoKQogICAgewogICAgICAgICRiID0gbmV3IFNlcnZpY2VCdWlsZGVyKCR0aGlzLT5hcnJheURhdGEpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHRoaXMtPmFycmF5RGF0YVsnbWljaGFlbC5tb2NrJ10sICRiLT5nZXREYXRhKCdtaWNoYWVsLm1vY2snKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJGItPmdldERhdGEoJ2V3b2Z3ZW93ZW9mZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkdldEJ5QWxpYXMoKQogICAgewogICAgICAgICRiID0gbmV3IFNlcnZpY2VCdWlsZGVyKCR0aGlzLT5hcnJheURhdGEpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRiLT5nZXQoJ2JpbGx5Lm1vY2snKSwgJGItPmdldCgnSGVsbG8hJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuT3ZlcndyaXRlUGFyYW1ldGVyc0ZvclRocm93YXdheUNsaWVudHMoKQogICAgewogICAgICAgICRiID0gbmV3IFNlcnZpY2VCdWlsZGVyKCR0aGlzLT5hcnJheURhdGEpOwoKICAgICAgICAkYzEgPSAkYi0+Z2V0KCdtaWNoYWVsLm1vY2snKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdtaWNoYWVsJywgJGMxLT5nZXRDb25maWcoJ3VzZXJuYW1lJykpOwoKICAgICAgICAkYzIgPSAkYi0+Z2V0KCdtaWNoYWVsLm1vY2snLCBhcnJheSgndXNlcm5hbWUnID0+ICdqZXJlbXknKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnamVyZW15JywgJGMyLT5nZXRDb25maWcoJ3VzZXJuYW1lJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0dGluZ0FUaHJvd2F3YXlDbGllbnRXaXRoUGFyYW1ldGVyc0RvZXNOb3RBZmZlY3RHZXR0aW5nT3RoZXJDbGllbnRzKCkKICAgIHsKICAgICAgICAkYiA9IG5ldyBTZXJ2aWNlQnVpbGRlcigkdGhpcy0+YXJyYXlEYXRhKTsKCiAgICAgICAgJGMxID0gJGItPmdldCgnbWljaGFlbC5tb2NrJywgYXJyYXkoJ3VzZXJuYW1lJyA9PiAnamVyZW15JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2plcmVteScsICRjMS0+Z2V0Q29uZmlnKCd1c2VybmFtZScpKTsKCiAgICAgICAgJGMyID0gJGItPmdldCgnbWljaGFlbC5tb2NrJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnbWljaGFlbCcsICRjMi0+Z2V0Q29uZmlnKCd1c2VybmFtZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblVzZUFyYml0cmFyeURhdGEoKQogICAgewogICAgICAgICRiID0gbmV3IFNlcnZpY2VCdWlsZGVyKCk7CiAgICAgICAgJGJbJ2EnXSA9ICdmb28nOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKGlzc2V0KCRiWydhJ10pKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkYlsnYSddKTsKICAgICAgICB1bnNldCgkYlsnYSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoaXNzZXQoJGJbJ2EnXSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuUmVnaXN0ZXJTZXJ2aWNlRGF0YSgpCiAgICB7CiAgICAgICAgJGIgPSBuZXcgU2VydmljZUJ1aWxkZXIoKTsKICAgICAgICAkYlsnYSddID0gYXJyYXkoCiAgICAgICAgICAgICdjbGFzcycgPT4gJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcTW9ja0NsaWVudCcsCiAgICAgICAgICAgICdwYXJhbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3VzZXJuYW1lJyA9PiAnYmlsbHknLAogICAgICAgICAgICAgICAgJ3Bhc3N3b3JkJyA9PiAncGFzc3cwcmQnLAogICAgICAgICAgICAgICAgJ3N1YmRvbWFpbicgPT4gJ2JpbGx5JywKICAgICAgICAgICAgKQogICAgICAgICk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoaXNzZXQoJGJbJ2EnXSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXE1vY2tDbGllbnQnLCAkYlsnYSddKTsKICAgICAgICAkY2xpZW50ID0gJGJbJ2EnXTsKICAgICAgICB1bnNldCgkYlsnYSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoaXNzZXQoJGJbJ2EnXSkpOwogICAgICAgIC8vIEVuc3VyZSB0aGF0IGluc3RhbnRpYXRlZCBjbGllbnRzIGNhbiBiZSByZWdpc3RlcmVkCiAgICAgICAgJGJbJ21vY2snXSA9ICRjbGllbnQ7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGNsaWVudCwgJGJbJ21vY2snXSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/CachingConfigLoaderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZTsKCnVzZSBHdXp6bGVcQ2FjaGVcRG9jdHJpbmVDYWNoZUFkYXB0ZXI7CnVzZSBHdXp6bGVcU2VydmljZVxDYWNoaW5nQ29uZmlnTG9hZGVyOwp1c2UgRG9jdHJpbmVcQ29tbW9uXENhY2hlXEFycmF5Q2FjaGU7CgovKioKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxDYWNoaW5nQ29uZmlnTG9hZGVyCiAqLwpjbGFzcyBDYWNoaW5nQ29uZmlnTG9hZGVyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RMb2Fkc1BocEZpbGVJbmNsdWRlcygpCiAgICB7CiAgICAgICAgJGNhY2hlID0gbmV3IERvY3RyaW5lQ2FjaGVBZGFwdGVyKG5ldyBBcnJheUNhY2hlKCkpOwogICAgICAgICRsb2FkZXIgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTZXJ2aWNlXENvbmZpZ0xvYWRlckludGVyZmFjZScpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnbG9hZCcpKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CiAgICAgICAgJGRhdGEgPSBhcnJheSgnZm9vJyA9PiAnYmFyJyk7CiAgICAgICAgJGxvYWRlci0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnbG9hZCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJGRhdGEpKTsKICAgICAgICAkY2FjaGUgPSBuZXcgQ2FjaGluZ0NvbmZpZ0xvYWRlcigkbG9hZGVyLCAkY2FjaGUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGRhdGEsICRjYWNoZS0+bG9hZCgnZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGRhdGEsICRjYWNoZS0+bG9hZCgnZm9vJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc05vdENhY2hlQXJyYXlzKCkKICAgIHsKICAgICAgICAkY2FjaGUgPSBuZXcgRG9jdHJpbmVDYWNoZUFkYXB0ZXIobmV3IEFycmF5Q2FjaGUoKSk7CiAgICAgICAgJGxvYWRlciA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFNlcnZpY2VcQ29uZmlnTG9hZGVySW50ZXJmYWNlJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdsb2FkJykpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKICAgICAgICAkZGF0YSA9IGFycmF5KCdmb28nID0+ICdiYXInKTsKICAgICAgICAkbG9hZGVyLT5leHBlY3RzKCR0aGlzLT5leGFjdGx5KDIpKQogICAgICAgICAgICAtPm1ldGhvZCgnbG9hZCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJGRhdGEpKTsKICAgICAgICAkY2FjaGUgPSBuZXcgQ2FjaGluZ0NvbmZpZ0xvYWRlcigkbG9hZGVyLCAkY2FjaGUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGRhdGEsICRjYWNoZS0+bG9hZChhcnJheSgpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZGF0YSwgJGNhY2hlLT5sb2FkKGFycmF5KCkpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/ClientTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZTsKCnVzZSBHdXp6bGVcSW5mbGVjdGlvblxJbmZsZWN0b3I7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFBsdWdpblxNb2NrXE1vY2tQbHVnaW47CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxPcGVyYXRpb247CnVzZSBHdXp6bGVcU2VydmljZVxDbGllbnQ7CnVzZSBHdXp6bGVcU2VydmljZVxFeGNlcHRpb25cQ29tbWFuZFRyYW5zZmVyRXhjZXB0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cU2VydmljZURlc2NyaXB0aW9uOwp1c2UgR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xDb21tYW5kXE1vY2tDb21tYW5kOwp1c2UgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcUmVzb3VyY2VJdGVyYXRvckNsYXNzRmFjdG9yeTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQWJzdHJhY3RDb21tYW5kOwoKLyoqCiAqIEBncm91cCBzZXJ2ZXIKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxDbGllbnQKICovCmNsYXNzIENsaWVudFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCAkc2VydmljZTsKICAgIHByb3RlY3RlZCAkc2VydmljZVRlc3Q7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+c2VydmljZVRlc3QgPSBuZXcgU2VydmljZURlc2NyaXB0aW9uKGFycmF5KAogICAgICAgICAgICAndGVzdF9jb21tYW5kJyA9PiBuZXcgT3BlcmF0aW9uKGFycmF5KAogICAgICAgICAgICAgICAgJ2RvYycgPT4gJ2RvY3VtZW50YXRpb25Gb3JDb21tYW5kJywKICAgICAgICAgICAgICAgICdtZXRob2QnID0+ICdERUxFVEUnLAogICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxUZXN0c1xcU2VydmljZVxcTW9ja1xcQ29tbWFuZFxcTW9ja0NvbW1hbmQnLAogICAgICAgICAgICAgICAgJ2FyZ3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdidWNrZXQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdrZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkpCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5zZXJ2aWNlID0gU2VydmljZURlc2NyaXB0aW9uOjpmYWN0b3J5KF9fRElSX18gLiAnLy4uL1Rlc3REYXRhL3Rlc3Rfc2VydmljZS5qc29uJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NDdXN0b21DbGllbnRQYXJhbWV0ZXJzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IE1vY2tcTW9ja0NsaWVudChudWxsLCBhcnJheSgKICAgICAgICAgICAgQ2xpZW50OjpDT01NQU5EX1BBUkFNUyA9PiBhcnJheShBYnN0cmFjdENvbW1hbmQ6OlJFU1BPTlNFX1BST0NFU1NJTkcgPT4gJ2ZvbycpCiAgICAgICAgKSk7CiAgICAgICAgJGNvbW1hbmQgPSAkY2xpZW50LT5nZXRDb21tYW5kKCdtb2NrX2NvbW1hbmQnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkY29tbWFuZC0+Z2V0KEFic3RyYWN0Q29tbWFuZDo6UkVTUE9OU0VfUFJPQ0VTU0lORykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeUNyZWF0ZXNDbGllbnQoKQogICAgewogICAgICAgICRjbGllbnQgPSBDbGllbnQ6OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdiYXNlX3VybCcgPT4gJ2h0dHA6Ly93d3cudGVzdC5jb20vJywKICAgICAgICAgICAgJ3Rlc3QnID0+ICcxMjMnCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly93d3cudGVzdC5jb20vJywgJGNsaWVudC0+Z2V0QmFzZVVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAkY2xpZW50LT5nZXRDb25maWcoJ3Rlc3QnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGYWN0b3J5RG9lc05vdFJlcXVpcmVCYXNlVXJsKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gQ2xpZW50OjpmYWN0b3J5KCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZXNjcmliZXNFdmVudHMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgQ2xpZW50OjpnZXRBbGxFdmVudHMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFeGVjdXRlc0NvbW1hbmRzKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIpOwoKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgkdGhpcy0+Z2V0U2VydmVyKCktPmdldFVybCgpKTsKICAgICAgICAkY21kID0gbmV3IE1vY2tDb21tYW5kKCk7CiAgICAgICAgJGNsaWVudC0+ZXhlY3V0ZSgkY21kKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcSHR0cFxcTWVzc2FnZVxcUmVzcG9uc2UnLCAkY21kLT5nZXRSZXNwb25zZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFxIdHRwXFxNZXNzYWdlXFxSZXNwb25zZScsICRjbWQtPmdldFJlc3VsdCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cyhmYWxzZSkpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEV4ZWN1dGVzQ29tbWFuZHNXaXRoQXJyYXkoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vd3d3LnRlc3QuY29tLycpOwogICAgICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKG5ldyBNb2NrUGx1Z2luKGFycmF5KAogICAgICAgICAgICBuZXcgUmVzcG9uc2UoMjAwKSwKICAgICAgICAgICAgbmV3IFJlc3BvbnNlKDIwMCkKICAgICAgICApKSk7CgogICAgICAgIC8vIENyZWF0ZSBhIGNvbW1hbmQgc2V0IGFuZCBhIGNvbW1hbmQKICAgICAgICAkc2V0ID0gYXJyYXkobmV3IE1vY2tDb21tYW5kKCksIG5ldyBNb2NrQ29tbWFuZCgpKTsKICAgICAgICAkY2xpZW50LT5leGVjdXRlKCRzZXQpOwoKICAgICAgICAvLyBNYWtlIHN1cmUgaXQgc2VudAogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRzZXRbMF0tPmlzRXhlY3V0ZWQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHNldFsxXS0+aXNFeGVjdXRlZCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25XaGVuSW52YWxpZENvbW1hbmRJc0V4ZWN1dGVkKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICRjbGllbnQtPmV4ZWN1dGUobmV3IFxzdGRDbGFzcygpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25XaGVuTWlzc2luZ0NvbW1hbmQoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CgogICAgICAgICRtb2NrID0gJHRoaXMtPmdldE1vY2soJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcRmFjdG9yeVxcRmFjdG9yeUludGVyZmFjZScpOwogICAgICAgICRtb2NrLT5leHBlY3RzKCR0aGlzLT5hbnkoKSkKICAgICAgICAgICAgIC0+bWV0aG9kKCdmYWN0b3J5JykKICAgICAgICAgICAgIC0+d2l0aCgkdGhpcy0+ZXF1YWxUbygndGVzdCcpKQogICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShudWxsKSk7CgogICAgICAgICRjbGllbnQtPnNldENvbW1hbmRGYWN0b3J5KCRtb2NrKTsKICAgICAgICAkY2xpZW50LT5nZXRDb21tYW5kKCd0ZXN0Jyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzQ29tbWFuZHNVc2luZ0NvbW1hbmRGYWN0b3J5KCkKICAgIHsKICAgICAgICAkbW9ja0NvbW1hbmQgPSBuZXcgTW9ja0NvbW1hbmQoKTsKCiAgICAgICAgJGNsaWVudCA9IG5ldyBNb2NrXE1vY2tDbGllbnQoKTsKICAgICAgICAkbW9jayA9ICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXEZhY3RvcnlcXEZhY3RvcnlJbnRlcmZhY2UnKTsKICAgICAgICAkbW9jay0+ZXhwZWN0cygkdGhpcy0+YW55KCkpCiAgICAgICAgICAgICAtPm1ldGhvZCgnZmFjdG9yeScpCiAgICAgICAgICAgICAtPndpdGgoJHRoaXMtPmVxdWFsVG8oJ2ZvbycpKQogICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkbW9ja0NvbW1hbmQpKTsKCiAgICAgICAgJGNsaWVudC0+c2V0Q29tbWFuZEZhY3RvcnkoJG1vY2spOwoKICAgICAgICAkY29tbWFuZCA9ICRjbGllbnQtPmdldENvbW1hbmQoJ2ZvbycsIGFycmF5KCdhY2wnID0+ICcxMjMnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJG1vY2tDb21tYW5kLCAkY29tbWFuZCk7CiAgICAgICAgJGNvbW1hbmQgPSAkY2xpZW50LT5nZXRDb21tYW5kKCdmb28nLCBhcnJheSgnYWNsJyA9PiAnMTIzJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRtb2NrQ29tbWFuZCwgJGNvbW1hbmQpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRjbGllbnQsICRjb21tYW5kLT5nZXRDbGllbnQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RPd25zU2VydmljZURlc2NyaXB0aW9uKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IE1vY2tcTW9ja0NsaWVudCgpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRjbGllbnQtPmdldERlc2NyaXB0aW9uKCkpOwoKICAgICAgICAkZGVzY3JpcHRpb24gPSAkdGhpcy0+Z2V0TW9jaygnR3V6emxlXFxTZXJ2aWNlXFxEZXNjcmlwdGlvblxcU2VydmljZURlc2NyaXB0aW9uJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGNsaWVudCwgJGNsaWVudC0+c2V0RGVzY3JpcHRpb24oJGRlc2NyaXB0aW9uKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGRlc2NyaXB0aW9uLCAkY2xpZW50LT5nZXREZXNjcmlwdGlvbigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE93bnNSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBNb2NrXE1vY2tDbGllbnQoKTsKCiAgICAgICAgJG1ldGhvZCA9IG5ldyBcUmVmbGVjdGlvbk1ldGhvZCgkY2xpZW50LCAnZ2V0UmVzb3VyY2VJdGVyYXRvckZhY3RvcnknKTsKICAgICAgICAkbWV0aG9kLT5zZXRBY2Nlc3NpYmxlKFRSVUUpOwogICAgICAgICRyZjEgPSAkbWV0aG9kLT5pbnZva2UoJGNsaWVudCk7CgogICAgICAgICRyZiA9ICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjbGllbnQsICdyZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeScpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcXFNlcnZpY2VcXFJlc291cmNlXFxSZXNvdXJjZUl0ZXJhdG9yQ2xhc3NGYWN0b3J5JywgJHJmKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkcmYxLCAkcmYpOwoKICAgICAgICAkcmYgPSBuZXcgUmVzb3VyY2VJdGVyYXRvckNsYXNzRmFjdG9yeSgnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9jaycpOwogICAgICAgICRjbGllbnQtPnNldFJlc291cmNlSXRlcmF0b3JGYWN0b3J5KCRyZik7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdFNhbWUoJHJmMSwgJHJmKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsaWVudFJlc2V0c1JlcXVlc3RzQmVmb3JlRXhlY3V0aW5nQ29tbWFuZHMoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDJcclxuXHJcbkhpIiwKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogMVxyXG5cclxuSSIKICAgICAgICApKTsKCiAgICAgICAgJGNsaWVudCA9IG5ldyBNb2NrXE1vY2tDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CgogICAgICAgICRjb21tYW5kID0gJGNsaWVudC0+Z2V0Q29tbWFuZCgnbW9ja19jb21tYW5kJyk7CiAgICAgICAgJGNsaWVudC0+ZXhlY3V0ZSgkY29tbWFuZCk7CiAgICAgICAgJGNsaWVudC0+ZXhlY3V0ZSgkY29tbWFuZCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnSScsICRjb21tYW5kLT5nZXRSZXNwb25zZSgpLT5nZXRCb2R5KHRydWUpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENsaWVudENyZWF0ZXNJdGVyYXRvcnMoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgTW9ja1xNb2NrQ2xpZW50KCk7CgogICAgICAgICRpdGVyYXRvciA9ICRjbGllbnQtPmdldEl0ZXJhdG9yKCdtb2NrX2NvbW1hbmQnLCBhcnJheSgKICAgICAgICAgICAgJ2ZvbycgPT4gJ2JhcicKICAgICAgICApLCBhcnJheSgKICAgICAgICAgICAgJ2xpbWl0JyA9PiAxMAogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xNb2RlbFxNb2NrQ29tbWFuZEl0ZXJhdG9yJywgJGl0ZXJhdG9yKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEwLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkaXRlcmF0b3IsICdsaW1pdCcpKTsKCiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkaXRlcmF0b3IsICdvcmlnaW5hbENvbW1hbmQnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXInLCAkY29tbWFuZC0+Z2V0KCdmb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGllbnRDcmVhdGVzSXRlcmF0b3JzV2l0aE5vT3B0aW9ucygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBNb2NrXE1vY2tDbGllbnQoKTsKICAgICAgICAkaXRlcmF0b3IgPSAkY2xpZW50LT5nZXRJdGVyYXRvcignbW9ja19jb21tYW5kJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcTW9kZWxcTW9ja0NvbW1hbmRJdGVyYXRvcicsICRpdGVyYXRvcik7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGllbnRDcmVhdGVzSXRlcmF0b3JzV2l0aENvbW1hbmRzKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IE1vY2tcTW9ja0NsaWVudCgpOwogICAgICAgICRjb21tYW5kID0gbmV3IE1vY2tDb21tYW5kKCk7CiAgICAgICAgJGl0ZXJhdG9yID0gJGNsaWVudC0+Z2V0SXRlcmF0b3IoJGNvbW1hbmQpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXE1vZGVsXE1vY2tDb21tYW5kSXRlcmF0b3InLCAkaXRlcmF0b3IpOwogICAgICAgICRpdGVyYXRvckNvbW1hbmQgPSAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkaXRlcmF0b3IsICdvcmlnaW5hbENvbW1hbmQnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkY29tbWFuZCwgJGl0ZXJhdG9yQ29tbWFuZCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGllbnRIb2xkc0luZmxlY3RvcigpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBNb2NrXE1vY2tDbGllbnQoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXEluZmxlY3Rpb25cTWVtb2l6aW5nSW5mbGVjdG9yJywgJGNsaWVudC0+Z2V0SW5mbGVjdG9yKCkpOwoKICAgICAgICAkaW5mbGVjdG9yID0gbmV3IEluZmxlY3RvcigpOwogICAgICAgICRjbGllbnQtPnNldEluZmxlY3RvcigkaW5mbGVjdG9yKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkaW5mbGVjdG9yLCAkY2xpZW50LT5nZXRJbmZsZWN0b3IoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDbGllbnRBZGRzR2xvYmFsQ29tbWFuZE9wdGlvbnMoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgTW9ja1xNb2NrQ2xpZW50KCdodHRwOi8vd3d3LmZvby5jb20nLCBhcnJheSgKICAgICAgICAgICAgQ2xpZW50OjpDT01NQU5EX1BBUkFNUyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdtZXNhJyA9PiAnYmFyJwogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICAgICAgJGNvbW1hbmQgPSAkY2xpZW50LT5nZXRDb21tYW5kKCdtb2NrX2NvbW1hbmQnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXInLCAkY29tbWFuZC0+Z2V0KCdtZXNhJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U3VwcG9ydHNTZXJ2aWNlRGVzY3JpcHRpb25CYXNlVXJscygpCiAgICB7CiAgICAgICAgJGRlc2NyaXB0aW9uID0gbmV3IFNlcnZpY2VEZXNjcmlwdGlvbihhcnJheSgnYmFzZVVybCcgPT4gJ2h0dHA6Ly9mb28uY29tJykpOwogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJGNsaWVudC0+c2V0RGVzY3JpcHRpb24oJGRlc2NyaXB0aW9uKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vZm9vLmNvbScsICRjbGllbnQtPmdldEJhc2VVcmwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RNZXJnZXNEZWZhdWx0Q29tbWFuZFBhcmFtc0NvcnJlY3RseSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBNb2NrXE1vY2tDbGllbnQoJ2h0dHA6Ly93d3cuZm9vLmNvbScsIGFycmF5KAogICAgICAgICAgICBDbGllbnQ6OkNPTU1BTkRfUEFSQU1TID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ21lc2EnID0+ICdiYXInLAogICAgICAgICAgICAgICAgJ2phcicgID0+ICdqYXInCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgICAgICAkY29tbWFuZCA9ICRjbGllbnQtPmdldENvbW1hbmQoJ21vY2tfY29tbWFuZCcsIGFycmF5KCdqYXInID0+ICd0ZXN0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRjb21tYW5kLT5nZXQoJ21lc2EnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsICRjb21tYW5kLT5nZXQoJ2phcicpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXEh0dHBcRXhjZXB0aW9uXEJhZFJlc3BvbnNlRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0V3JhcHNTaW5nbGVDb21tYW5kRXhjZXB0aW9ucygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IG5ldyBNb2NrXE1vY2tDbGllbnQoJ2h0dHA6Ly9mb29iYXouY29tJyk7CiAgICAgICAgJG1vY2sgPSBuZXcgTW9ja1BsdWdpbihhcnJheShuZXcgUmVzcG9uc2UoNDAxKSkpOwogICAgICAgICRjbGllbnQtPmFkZFN1YnNjcmliZXIoJG1vY2spOwogICAgICAgICRjbGllbnQtPmV4ZWN1dGUobmV3IE1vY2tDb21tYW5kKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0V3JhcHNNdWx0aXBsZUNvbW1hbmRFeGNlcHRpb25zKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gbmV3IE1vY2tcTW9ja0NsaWVudCgnaHR0cDovL2Zvb2Jhei5jb20nKTsKICAgICAgICAkbW9jayA9IG5ldyBNb2NrUGx1Z2luKGFycmF5KG5ldyBSZXNwb25zZSgyMDApLCBuZXcgUmVzcG9uc2UoMjAwKSwgbmV3IFJlc3BvbnNlKDQwNCksIG5ldyBSZXNwb25zZSg1MDApKSk7CiAgICAgICAgJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkbW9jayk7CgogICAgICAgICRjbWRzID0gYXJyYXkobmV3IE1vY2tDb21tYW5kKCksIG5ldyBNb2NrQ29tbWFuZCgpLCBuZXcgTW9ja0NvbW1hbmQoKSwgbmV3IE1vY2tDb21tYW5kKCkpOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRjbGllbnQtPmV4ZWN1dGUoJGNtZHMpOwogICAgICAgIH0gY2F0Y2ggKENvbW1hbmRUcmFuc2ZlckV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsIGNvdW50KCRlLT5nZXRGYWlsZWRSZXF1ZXN0cygpKSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJGUtPmdldFN1Y2Nlc3NmdWxSZXF1ZXN0cygpKSk7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoJGUtPmdldEZhaWxlZENvbW1hbmRzKCkpKTsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkZS0+Z2V0U3VjY2Vzc2Z1bENvbW1hbmRzKCkpKTsKCiAgICAgICAgICAgIGZvcmVhY2ggKCRlLT5nZXRTdWNjZXNzZnVsQ29tbWFuZHMoKSBhcyAkYykgewogICAgICAgICAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGMtPmdldFJlc3BvbnNlKCktPmlzU3VjY2Vzc2Z1bCgpKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZm9yZWFjaCAoJGUtPmdldEZhaWxlZENvbW1hbmRzKCkgYXMgJGMpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkYy0+Z2V0UmVxdWVzdCgpLT5nZXRSZXNwb25zZSgpLT5pc1N1Y2Nlc3NmdWwoKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/AbstractCommandTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxTZXJ2aWNlXENsaWVudDsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFNlcnZpY2VEZXNjcmlwdGlvbjsKCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0Q29tbWFuZFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRDbGllbnQoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCdodHRwOi8vd3d3Lmdvb2dsZS5jb20vJyk7CgogICAgICAgIHJldHVybiAkY2xpZW50LT5zZXREZXNjcmlwdGlvbihTZXJ2aWNlRGVzY3JpcHRpb246OmZhY3RvcnkoX19ESVJfXyAuICcvLi4vLi4vVGVzdERhdGEvdGVzdF9zZXJ2aWNlLmpzb24nKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/ClosureCommandTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVxdWVzdEZhY3Rvcnk7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXENsb3N1cmVDb21tYW5kOwp1c2UgR3V6emxlXFNlcnZpY2VcQ2xpZW50OwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDbG9zdXJlQ29tbWFuZAogKi8KY2xhc3MgQ2xvc3VyZUNvbW1hbmRUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgQSBjbG9zdXJlIG11c3QgYmUgcGFzc2VkIGluIHRoZSBwYXJhbWV0ZXJzIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3JWYWxpZGF0ZXNDbG9zdXJlKCkKICAgIHsKICAgICAgICAkYyA9IG5ldyBDbG9zdXJlQ29tbWFuZCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RXhlY3V0ZXNDbG9zdXJlKCkKICAgIHsKICAgICAgICAkYyA9IG5ldyBDbG9zdXJlQ29tbWFuZChhcnJheSgKICAgICAgICAgICAgJ2Nsb3N1cmUnID0+IGZ1bmN0aW9uKCRjb21tYW5kLCAkYXBpKSB7CiAgICAgICAgICAgICAgICAkY29tbWFuZC0+c2V0KCd0ZXN0aW5nJywgJzEyMycpOwogICAgICAgICAgICAgICAgJHJlcXVlc3QgPSBSZXF1ZXN0RmFjdG9yeTo6Z2V0SW5zdGFuY2UoKS0+Y3JlYXRlKCdHRVQnLCAnaHR0cDovL3d3dy50ZXN0LmNvbS8nKTsKICAgICAgICAgICAgICAgIHJldHVybiAkcmVxdWVzdDsKICAgICAgICAgICAgfQogICAgICAgICkpOwoKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnbW9jaycpOwogICAgICAgICRjLT5zZXRDbGllbnQoJGNsaWVudCktPnByZXBhcmUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAkYy0+Z2V0KCd0ZXN0aW5nJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly93d3cudGVzdC5jb20vJywgJGMtPmdldFJlcXVlc3QoKS0+Z2V0VXJsKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFVuZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBDbG9zdXJlIGNvbW1hbmQgZGlkIG5vdCByZXR1cm4gYSBSZXF1ZXN0SW50ZXJmYWNlIG9iamVjdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE11c3RSZXR1cm5SZXF1ZXN0KCkKICAgIHsKICAgICAgICAkYyA9IG5ldyBDbG9zdXJlQ29tbWFuZChhcnJheSgKICAgICAgICAgICAgJ2Nsb3N1cmUnID0+IGZ1bmN0aW9uKCRjb21tYW5kLCAkYXBpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICApKTsKCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ21vY2snKTsKICAgICAgICAkYy0+c2V0Q2xpZW50KCRjbGllbnQpLT5wcmVwYXJlKCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/CommandTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxQbHVnaW5cTW9ja1xNb2NrUGx1Z2luOwp1c2UgR3V6emxlXEh0dHBcRW50aXR5Qm9keTsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcU2VydmljZVxDbGllbnQ7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXEFic3RyYWN0Q29tbWFuZDsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXE9wZXJhdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcjsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFNjaGVtYVZhbGlkYXRvcjsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFNlcnZpY2VEZXNjcmlwdGlvbjsKdXNlIEd1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxNb2NrQ29tbWFuZDsKdXNlIEd1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxTdWJcU3ViOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBYnN0cmFjdENvbW1hbmQKICovCmNsYXNzIENvbW1hbmRUZXN0IGV4dGVuZHMgQWJzdHJhY3RDb21tYW5kVGVzdAp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbnN0cnVjdG9yQWRkc0RlZmF1bHRQYXJhbXMoKQogICAgewogICAgICAgICRjb21tYW5kID0gbmV3IE1vY2tDb21tYW5kKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnMTIzJywgJGNvbW1hbmQtPmdldCgndGVzdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNvbW1hbmQtPmlzUHJlcGFyZWQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRjb21tYW5kLT5pc0V4ZWN1dGVkKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGV0ZXJtaW5lc1Nob3J0TmFtZSgpCiAgICB7CiAgICAgICAgJGFwaSA9IG5ldyBPcGVyYXRpb24oYXJyYXkoJ25hbWUnID0+ICdmb29iYXInKSk7CiAgICAgICAgJGNvbW1hbmQgPSBuZXcgTW9ja0NvbW1hbmQoYXJyYXkoKSwgJGFwaSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vYmFyJywgJGNvbW1hbmQtPmdldE5hbWUoKSk7CgogICAgICAgICRjb21tYW5kID0gbmV3IE1vY2tDb21tYW5kKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnbW9ja19jb21tYW5kJywgJGNvbW1hbmQtPmdldE5hbWUoKSk7CgogICAgICAgICRjb21tYW5kID0gbmV3IFN1YigpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3N1Yi5zdWInLCAkY29tbWFuZC0+Z2V0TmFtZSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0UmVxdWVzdFRocm93c0V4Y2VwdGlvbkJlZm9yZVByZXBhcmF0aW9uKCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZCgpOwogICAgICAgICRjb21tYW5kLT5nZXRSZXF1ZXN0KCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRSZXNwb25zZUV4ZWN1dGVzQ29tbWFuZHNXaGVuTmVlZGVkKCkKICAgIHsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwKTsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldENsaWVudCgpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoJHJlc3BvbnNlKSk7CiAgICAgICAgJGNvbW1hbmQgPSBuZXcgTW9ja0NvbW1hbmQoKTsKICAgICAgICAkY29tbWFuZC0+c2V0Q2xpZW50KCRjbGllbnQpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRyZXNwb25zZSwgJGNvbW1hbmQtPmdldFJlc3BvbnNlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRyZXNwb25zZSwgJGNvbW1hbmQtPmdldFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0UmVzdWx0RXhlY3V0ZXNDb21tYW5kc1doZW5OZWVkZWQoKQogICAgewogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDApOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0Q2xpZW50KCk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgkcmVzcG9uc2UpKTsKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZCgpOwogICAgICAgICRjb21tYW5kLT5zZXRDbGllbnQoJGNsaWVudCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHJlc3BvbnNlLCAkY29tbWFuZC0+Z2V0UmVzdWx0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRyZXNwb25zZSwgJGNvbW1hbmQtPmdldFJlc3VsdCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNldENsaWVudCgpCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSBuZXcgTW9ja0NvbW1hbmQoKTsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldENsaWVudCgpOwoKICAgICAgICAkY29tbWFuZC0+c2V0Q2xpZW50KCRjbGllbnQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGNsaWVudCwgJGNvbW1hbmQtPmdldENsaWVudCgpKTsKCiAgICAgICAgdW5zZXQoJGNsaWVudCk7CiAgICAgICAgdW5zZXQoJGNvbW1hbmQpOwoKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZCgpOwogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0Q2xpZW50KCk7CgogICAgICAgICRjb21tYW5kLT5zZXRDbGllbnQoJGNsaWVudCktPnByZXBhcmUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRjbGllbnQsICRjb21tYW5kLT5nZXRDbGllbnQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGNvbW1hbmQtPmlzUHJlcGFyZWQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFeGVjdXRlKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldENsaWVudCgpOwogICAgICAgICRyZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiAnYXBwbGljYXRpb24veG1sJwogICAgICAgICksICc8eG1sPjxkYXRhPjEyMzwvZGF0YT48L3htbD4nKTsKICAgICAgICAkdGhpcy0+c2V0TW9ja1Jlc3BvbnNlKCRjbGllbnQsIGFycmF5KCRyZXNwb25zZSkpOwogICAgICAgICRjb21tYW5kID0gbmV3IE1vY2tDb21tYW5kKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGNvbW1hbmQsICRjb21tYW5kLT5zZXRDbGllbnQoJGNsaWVudCkpOwoKICAgICAgICAvLyBSZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIGNvbW1hbmQKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignU2ltcGxlWE1MRWxlbWVudCcsICRjb21tYW5kLT5leGVjdXRlKCkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkY29tbWFuZC0+aXNQcmVwYXJlZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkY29tbWFuZC0+aXNFeGVjdXRlZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkcmVzcG9uc2UsICRjb21tYW5kLT5nZXRSZXNwb25zZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFxIdHRwXFxNZXNzYWdlXFxSZXF1ZXN0JywgJGNvbW1hbmQtPmdldFJlcXVlc3QoKSk7CiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIHJlc3VsdCB3YXMgYXV0b21hdGljYWxseSBzZXQgdG8gYSBTaW1wbGVYTUxFbGVtZW50CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ1NpbXBsZVhNTEVsZW1lbnQnLCAkY29tbWFuZC0+Z2V0UmVzdWx0KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyMycsIChzdHJpbmcpICRjb21tYW5kLT5nZXRSZXN1bHQoKS0+ZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb252ZXJ0c0pzb25SZXNwb25zZXNUb0FycmF5KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldENsaWVudCgpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgIG5ldyBcR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gJ2FwcGxpY2F0aW9uL2pzb24nCiAgICAgICAgICAgICAgICApLCAneyAia2V5IjogIkhpISIgfScKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgICAgICRjb21tYW5kID0gbmV3IE1vY2tDb21tYW5kKCk7CiAgICAgICAgJGNvbW1hbmQtPnNldENsaWVudCgkY2xpZW50KTsKICAgICAgICAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdrZXknID0+ICdIaSEnCiAgICAgICAgKSwgJGNvbW1hbmQtPmdldFJlc3VsdCgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbnZlcnRzSW52YWxpZEpzb25SZXNwb25zZXNUb0FycmF5KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldENsaWVudCgpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgIG5ldyBcR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gJ2FwcGxpY2F0aW9uL2pzb24nCiAgICAgICAgICAgICAgICApLCAneyAia2V5IjogIkhpISIgfWludmFsaWQnCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZCgpOwogICAgICAgICRjb21tYW5kLT5zZXRDbGllbnQoJGNsaWVudCk7CiAgICAgICAgJGNvbW1hbmQtPmV4ZWN1dGUoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByb2Nlc3NSZXNwb25zZUlzTm90WG1sKCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldENsaWVudCgpOwogICAgICAgICR0aGlzLT5zZXRNb2NrUmVzcG9uc2UoJGNsaWVudCwgYXJyYXkoCiAgICAgICAgICAgIG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScKICAgICAgICAgICAgKSwgJ2FiYyxkZWYsZ2hpJykKICAgICAgICApKTsKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZCgpOwogICAgICAgICRjbGllbnQtPmV4ZWN1dGUoJGNvbW1hbmQpOwoKICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgcmVzdWx0IHdhcyBub3QgY29udmVydGVkIHRvIFhNTAogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkY29tbWFuZC0+Z2V0UmVzdWx0KCkgaW5zdGFuY2VvZiBcU2ltcGxlWE1MRWxlbWVudCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gUnVudGltZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEV4ZWN1dGVUaHJvd3NFeGNlcHRpb25XaGVuTm9DbGllbnRJc1NldCgpCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSBuZXcgTW9ja0NvbW1hbmQoKTsKICAgICAgICAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFJ1bnRpbWVFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQcmVwYXJlVGhyb3dzRXhjZXB0aW9uV2hlbk5vQ2xpZW50SXNTZXQoKQogICAgewogICAgICAgICRjb21tYW5kID0gbmV3IE1vY2tDb21tYW5kKCk7CiAgICAgICAgJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbW1hbmRzQWxsb3dzQ3VzdG9tUmVxdWVzdEhlYWRlcnMoKQogICAgewogICAgICAgICRjb21tYW5kID0gbmV3IE1vY2tDb21tYW5kKCk7CiAgICAgICAgJGNvbW1hbmQtPmdldFJlcXVlc3RIZWFkZXJzKCktPnNldCgndGVzdCcsICcxMjMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXENvbW1vblxDb2xsZWN0aW9uJywgJGNvbW1hbmQtPmdldFJlcXVlc3RIZWFkZXJzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyMycsICRjb21tYW5kLT5nZXRSZXF1ZXN0SGVhZGVycygpLT5nZXQoJ3Rlc3QnKSk7CgogICAgICAgICRjb21tYW5kLT5zZXRDbGllbnQoJHRoaXMtPmdldENsaWVudCgpKS0+cHJlcGFyZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyMycsIChzdHJpbmcpICRjb21tYW5kLT5nZXRSZXF1ZXN0KCktPmdldEhlYWRlcigndGVzdCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbW1hbmRzQWxsb3dzQ3VzdG9tUmVxdWVzdEhlYWRlcnNBc0FycmF5KCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZChhcnJheShBYnN0cmFjdENvbW1hbmQ6OkhFQURFUlNfT1BUSU9OID0+IGFycmF5KCdGb28nID0+ICdCYXInKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb24nLCAkY29tbWFuZC0+Z2V0UmVxdWVzdEhlYWRlcnMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQmFyJywgJGNvbW1hbmQtPmdldFJlcXVlc3RIZWFkZXJzKCktPmdldCgnRm9vJykpOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IE9wZXJhdGlvbihhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgICAgID0+ICdmb29iYXInLAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAnY2xhc3MnICAgICAgPT4gJ0d1enpsZVxcVGVzdHNcXFNlcnZpY2VcXE1vY2tcXENvbW1hbmRcXE1vY2tDb21tYW5kJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3Rlc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnMTIzJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgICAgPT4gJ3N0cmluZycKICAgICAgICAgICAgICAgICkKICAgICAgICApKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb21tYW5kc1VzZXNPcGVyYXRpb24oKQogICAgewogICAgICAgICRhcGkgPSAkdGhpcy0+Z2V0T3BlcmF0aW9uKCk7CiAgICAgICAgJGNvbW1hbmQgPSBuZXcgTW9ja0NvbW1hbmQoYXJyYXkoKSwgJGFwaSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGFwaSwgJGNvbW1hbmQtPmdldE9wZXJhdGlvbigpKTsKICAgICAgICAkY29tbWFuZC0+c2V0Q2xpZW50KCR0aGlzLT5nZXRDbGllbnQoKSktPnByZXBhcmUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAkY29tbWFuZC0+Z2V0KCd0ZXN0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRhcGksICRjb21tYW5kLT5nZXRPcGVyYXRpb24oJGFwaSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2xvbmVNYWtlc05ld1JlcXVlc3QoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0Q2xpZW50KCk7CiAgICAgICAgJGNvbW1hbmQgPSBuZXcgTW9ja0NvbW1hbmQoYXJyYXkoKSwgJHRoaXMtPmdldE9wZXJhdGlvbigpKTsKICAgICAgICAkY29tbWFuZC0+c2V0Q2xpZW50KCRjbGllbnQpOwoKICAgICAgICAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRjb21tYW5kLT5pc1ByZXBhcmVkKCkpOwoKICAgICAgICAkY29tbWFuZDIgPSBjbG9uZSAkY29tbWFuZDsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNvbW1hbmQyLT5pc1ByZXBhcmVkKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzT25Db21wbGV0ZU1ldGhvZCgpCiAgICB7CiAgICAgICAgJHRoYXQgPSAkdGhpczsKICAgICAgICAkY2FsbGVkID0gMDsKCiAgICAgICAgJHRlc3RGdW5jdGlvbiA9IGZ1bmN0aW9uKCRjb21tYW5kKSB1c2UgKCYkY2FsbGVkLCAkdGhhdCkgewogICAgICAgICAgICAkY2FsbGVkKys7CiAgICAgICAgICAgICR0aGF0LT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2UnLCAkY29tbWFuZCk7CiAgICAgICAgfTsKCiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRDbGllbnQoKTsKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZChhcnJheSgKICAgICAgICAgICAgJ2NvbW1hbmQub25fY29tcGxldGUnID0+ICR0ZXN0RnVuY3Rpb24KICAgICAgICApLCAkdGhpcy0+Z2V0T3BlcmF0aW9uKCkpOwogICAgICAgICRjb21tYW5kLT5zZXRDbGllbnQoJGNsaWVudCk7CgogICAgICAgICRjb21tYW5kLT5wcmVwYXJlKCktPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDApLCB0cnVlKTsKICAgICAgICAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgJGNhbGxlZCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE9uQ29tcGxldGVNdXN0QmVDYWxsYWJsZSgpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRDbGllbnQoKTsKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZCgpOwogICAgICAgICRjb21tYW5kLT5zZXRPbkNvbXBsZXRlKCdmb28nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblNldFJlc3VsdE1hbnVhbGx5KCkKICAgIHsKICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldENsaWVudCgpOwogICAgICAgICRjbGllbnQtPmdldEV2ZW50RGlzcGF0Y2hlcigpLT5hZGRTdWJzY3JpYmVyKG5ldyBNb2NrUGx1Z2luKGFycmF5KAogICAgICAgICAgICBuZXcgUmVzcG9uc2UoMjAwKQogICAgICAgICkpKTsKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZCgpOwogICAgICAgICRjbGllbnQtPmV4ZWN1dGUoJGNvbW1hbmQpOwogICAgICAgICRjb21tYW5kLT5zZXRSZXN1bHQoJ2ZvbyEnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28hJywgJGNvbW1hbmQtPmdldFJlc3VsdCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkluaXRDb25maWcoKQogICAgewogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXEFic3RyYWN0Q29tbWFuZCcpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KGFycmF5KAogICAgICAgICAgICAgICAgJ2ZvbycgPT4gJ2JhcicKICAgICAgICAgICAgKSwgbmV3IE9wZXJhdGlvbihhcnJheSgKICAgICAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnYmF6JyA9PiBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2JhYWFyJwogICAgICAgICAgICAgICAgICAgICkpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkpKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXInLCAkY29tbWFuZFsnZm9vJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhYWFyJywgJGNvbW1hbmRbJ2JheiddKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNDdXJsT3B0aW9uc1RvUmVxdWVzdHNXaGVuUHJlcGFyaW5nKCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZChhcnJheSgKICAgICAgICAgICAgJ2ZvbycgPT4gJ2JhcicsCiAgICAgICAgICAgICdjdXJsLm9wdGlvbnMnID0+IGFycmF5KCdDVVJMT1BUX1BST1hZUE9SVCcgPT4gODA4MCkKICAgICAgICApKTsKICAgICAgICAkY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAgICAgICRjb21tYW5kLT5zZXRDbGllbnQoJGNsaWVudCk7CiAgICAgICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoODA4MCwgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPmdldChDVVJMT1BUX1BST1hZUE9SVCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXNJbnZva2FibGUoKQogICAgewogICAgICAgICRjbGllbnQgPSAkdGhpcy0+Z2V0Q2xpZW50KCk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCk7CiAgICAgICAgJHRoaXMtPnNldE1vY2tSZXNwb25zZSgkY2xpZW50LCBhcnJheSgkcmVzcG9uc2UpKTsKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZCgpOwogICAgICAgICRjb21tYW5kLT5zZXRDbGllbnQoJGNsaWVudCk7CiAgICAgICAgLy8gUmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSBjb21tYW5kCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHJlc3BvbnNlLCAkY29tbWFuZCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNEZWZhdWx0T3BlcmF0aW9uKCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBYnN0cmFjdENvbW1hbmQnKS0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cT3BlcmF0aW9uJywgJGNvbW1hbmQtPmdldE9wZXJhdGlvbigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c1ZhbGlkYXRvclRvQmVJbmplY3RlZCgpCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcQWJzdHJhY3RDb21tYW5kJyktPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CiAgICAgICAgJHYgPSBuZXcgU2NoZW1hVmFsaWRhdG9yKCk7CiAgICAgICAgJGNvbW1hbmQtPnNldFZhbGlkYXRvcigkdik7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHYsICR0aGlzLT5yZWFkQXR0cmlidXRlKCRjb21tYW5kLCAndmFsaWRhdG9yJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuRGlzYWJsZVZhbGlkYXRpb24oKQogICAgewogICAgICAgICRjb21tYW5kID0gbmV3IE1vY2tDb21tYW5kKCk7CiAgICAgICAgJGNvbW1hbmQtPnNldENsaWVudChuZXcgXEd1enpsZVxTZXJ2aWNlXENsaWVudCgpKTsKICAgICAgICAkdiA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cU2NoZW1hVmFsaWRhdG9yJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCd2YWxpZGF0ZScpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkdi0+ZXhwZWN0cygkdGhpcy0+bmV2ZXIoKSktPm1ldGhvZCgndmFsaWRhdGUnKTsKICAgICAgICAkY29tbWFuZC0+c2V0VmFsaWRhdG9yKCR2KTsKICAgICAgICAkY29tbWFuZC0+c2V0KEFic3RyYWN0Q29tbWFuZDo6RElTQUJMRV9WQUxJREFUSU9OLCB0cnVlKTsKICAgICAgICAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdG9yRG9lc05vdFVwZGF0ZU5vbkRlZmF1bHRWYWx1ZXMoKQogICAgewogICAgICAgICRjb21tYW5kID0gbmV3IE1vY2tDb21tYW5kKGFycmF5KCd0ZXN0JyA9PiAxMjMsICdmb28nID0+ICdiYXInKSk7CiAgICAgICAgJGNvbW1hbmQtPnNldENsaWVudChuZXcgXEd1enpsZVxTZXJ2aWNlXENsaWVudCgpKTsKICAgICAgICAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTIzLCAkY29tbWFuZC0+Z2V0KCd0ZXN0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRjb21tYW5kLT5nZXQoJ2ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZhbGlkYXRvclVwZGF0ZXNEZWZhdWx0VmFsdWVzKCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZCgpOwogICAgICAgICRjb21tYW5kLT5zZXRDbGllbnQobmV3IFxHdXp6bGVcU2VydmljZVxDbGllbnQoKSk7CiAgICAgICAgJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEyMywgJGNvbW1hbmQtPmdldCgndGVzdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhYmMnLCAkY29tbWFuZC0+Z2V0KCdfaW50ZXJuYWwnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxTZXJ2aWNlXEV4Y2VwdGlvblxWYWxpZGF0aW9uRXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIFtGb29dIEJhegogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZhbGlkYXRlc0NvbW1hbmRCZWZvcmVTZW5kaW5nKCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZCgpOwogICAgICAgICRjb21tYW5kLT5zZXRDbGllbnQobmV3IFxHdXp6bGVcU2VydmljZVxDbGllbnQoKSk7CiAgICAgICAgJHYgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFNjaGVtYVZhbGlkYXRvcicpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgndmFsaWRhdGUnLCAnZ2V0RXJyb3JzJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICR2LT5leHBlY3RzKCR0aGlzLT5hbnkoKSktPm1ldGhvZCgndmFsaWRhdGUnKS0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoZmFsc2UpKTsKICAgICAgICAkdi0+ZXhwZWN0cygkdGhpcy0+YW55KCkpLT5tZXRob2QoJ2dldEVycm9ycycpLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShhcnJheSgnW0Zvb10gQmF6JywgJ1tCYXJdIEJvbycpKSk7CiAgICAgICAgJGNvbW1hbmQtPnNldFZhbGlkYXRvcigkdik7CiAgICAgICAgJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXFNlcnZpY2VcRXhjZXB0aW9uXFZhbGlkYXRpb25FeGNlcHRpb24KICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbk1lc3NhZ2UgVmFsaWRhdGlvbiBlcnJvcnM6IFthYmNdIG11c3QgYmUgb2YgdHlwZSBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNBZGRpdGlvbmFsUGFyYW1ldGVycygpCiAgICB7CiAgICAgICAgJGRlc2NyaXB0aW9uID0gU2VydmljZURlc2NyaXB0aW9uOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZm9vJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdiYXonID0+IGFycmF5KCd0eXBlJyA9PiAnaW50ZWdlcicpCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFBhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkY2xpZW50LT5zZXREZXNjcmlwdGlvbigkZGVzY3JpcHRpb24pOwogICAgICAgICRjb21tYW5kID0gJGNsaWVudC0+Z2V0Q29tbWFuZCgnZm9vJywgYXJyYXkoCiAgICAgICAgICAgICdhYmMnICAgICAgICAgICAgID0+IGZhbHNlLAogICAgICAgICAgICAnY29tbWFuZC5oZWFkZXJzJyA9PiBhcnJheSgnZm9vJyA9PiAnYmFyJykKICAgICAgICApKTsKICAgICAgICAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQWNjZXNzVmFsaWRhdGlvbkVycm9yc0Zyb21Db21tYW5kKCkKICAgIHsKICAgICAgICAkdmFsaWRhdGlvbkVycm9ycyA9IGFycmF5KCdbRm9vXSBCYXonLCAnW0Jhcl0gQm9vJyk7CiAgICAgICAgJGNvbW1hbmQgPSBuZXcgTW9ja0NvbW1hbmQoKTsKICAgICAgICAkY29tbWFuZC0+c2V0Q2xpZW50KG5ldyBcR3V6emxlXFNlcnZpY2VcQ2xpZW50KCkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGNvbW1hbmQtPmdldFZhbGlkYXRpb25FcnJvcnMoKSk7CgogICAgICAgICR2ID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTY2hlbWFWYWxpZGF0b3InKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ3ZhbGlkYXRlJywgJ2dldEVycm9ycycpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkdi0+ZXhwZWN0cygkdGhpcy0+YW55KCkpLT5tZXRob2QoJ2dldEVycm9ycycpLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkdmFsaWRhdGlvbkVycm9ycykpOwogICAgICAgICRjb21tYW5kLT5zZXRWYWxpZGF0b3IoJHYpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR2YWxpZGF0aW9uRXJyb3JzLCAkY29tbWFuZC0+Z2V0VmFsaWRhdGlvbkVycm9ycygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkNoYW5nZVJlc3BvbnNlQm9keSgpCiAgICB7CiAgICAgICAgJGJvZHkgPSBFbnRpdHlCb2R5OjpmYWN0b3J5KCk7CiAgICAgICAgJGNvbW1hbmQgPSBuZXcgTW9ja0NvbW1hbmQoKTsKICAgICAgICAkY29tbWFuZC0+c2V0Q2xpZW50KG5ldyBcR3V6emxlXFNlcnZpY2VcQ2xpZW50KCkpOwogICAgICAgICRjb21tYW5kLT5zZXQoQWJzdHJhY3RDb21tYW5kOjpSRVNQT05TRV9CT0RZLCAkYm9keSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRib2R5LCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkcmVxdWVzdCwgJ3Jlc3BvbnNlQm9keScpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/DefaultRequestSerializerTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcRGVmYXVsdFJlcXVlc3RTZXJpYWxpemVyOwp1c2UgR3V6emxlXEh0dHBcTWVzc2FnZVxFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0Owp1c2UgR3V6emxlXFNlcnZpY2VcQ2xpZW50Owp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cU2VydmljZURlc2NyaXB0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cT3BlcmF0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVxdWVzdFxIZWFkZXJWaXNpdG9yOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcVmlzaXRvckZseXdlaWdodDsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcRGVmYXVsdFJlcXVlc3RTZXJpYWxpemVyCiAqLwpjbGFzcyBEZWZhdWx0UmVxdWVzdFNlcmlhbGl6ZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKiogQHZhciBFbnRpdHlFbmNsb3NpbmdSZXF1ZXN0ICovCiAgICBwcm90ZWN0ZWQgJHJlcXVlc3Q7CgogICAgLyoqIEB2YXIgXEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQWJzdHJhY3RDb21tYW5kICovCiAgICBwcm90ZWN0ZWQgJGNvbW1hbmQ7CgogICAgLyoqIEB2YXIgQ2xpZW50ICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICAvKiogQHZhciBEZWZhdWx0UmVxdWVzdFNlcmlhbGl6ZXIgKi8KICAgIHByb3RlY3RlZCAkc2VyaWFsaXplcjsKCiAgICAvKiogQHZhciBPcGVyYXRpb24gKi8KICAgIHByb3RlY3RlZCAkb3BlcmF0aW9uOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnNlcmlhbGl6ZXIgPSBEZWZhdWx0UmVxdWVzdFNlcmlhbGl6ZXI6OmdldEluc3RhbmNlKCk7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9IG5ldyBDbGllbnQoJ2h0dHA6Ly9mb28uY29tL2JheicpOwogICAgICAgICR0aGlzLT5vcGVyYXRpb24gPSBuZXcgT3BlcmF0aW9uKGFycmF5KCdodHRwTWV0aG9kJyA9PiAnUE9TVCcpKTsKICAgICAgICAkdGhpcy0+Y29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBYnN0cmFjdENvbW1hbmQnKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheShhcnJheSgpLCAkdGhpcy0+b3BlcmF0aW9uKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICR0aGlzLT5jb21tYW5kLT5zZXRDbGllbnQoJHRoaXMtPmNsaWVudCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NDdXN0b21WaXNpdG9yKCkKICAgIHsKICAgICAgICAkdGhpcy0+c2VyaWFsaXplci0+YWRkVmlzaXRvcignY3VzdG9tJywgbmV3IEhlYWRlclZpc2l0b3IoKSk7CiAgICAgICAgJHRoaXMtPmNvbW1hbmRbJ3Rlc3QnXSA9ICcxMjMnOwogICAgICAgICR0aGlzLT5vcGVyYXRpb24tPmFkZFBhcmFtKG5ldyBQYXJhbWV0ZXIoYXJyYXkoJ25hbWUnID0+ICd0ZXN0JywgJ2xvY2F0aW9uJyA9PiAnY3VzdG9tJykpKTsKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5zZXJpYWxpemVyLT5wcmVwYXJlKCR0aGlzLT5jb21tYW5kKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0SGVhZGVyKCd0ZXN0JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXNlc1JlbGF0aXZlUGF0aCgpCiAgICB7CiAgICAgICAgJHRoaXMtPm9wZXJhdGlvbi0+c2V0VXJpKCdiYXInKTsKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5zZXJpYWxpemVyLT5wcmVwYXJlKCR0aGlzLT5jb21tYW5kKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vZm9vLmNvbS9iYXovYmFyJywgKHN0cmluZykgJHJlcXVlc3QtPmdldFVybCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVzZXNSZWxhdGl2ZVBhdGhXaXRoVXJpTG9jYXRpb25zKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y29tbWFuZFsndGVzdCddID0gJzEyMyc7CiAgICAgICAgJHRoaXMtPm9wZXJhdGlvbi0+c2V0VXJpKCdiYXIve3Rlc3R9Jyk7CiAgICAgICAgJHRoaXMtPm9wZXJhdGlvbi0+YWRkUGFyYW0obmV3IFBhcmFtZXRlcihhcnJheSgnbmFtZScgPT4gJ3Rlc3QnLCAnbG9jYXRpb24nID0+ICd1cmknKSkpOwogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPnNlcmlhbGl6ZXItPnByZXBhcmUoJHRoaXMtPmNvbW1hbmQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly9mb28uY29tL2Jhei9iYXIvMTIzJywgKHN0cmluZykgJHJlcXVlc3QtPmdldFVybCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0N1c3RvbUZhY3RvcnkoKQogICAgewogICAgICAgICRmID0gbmV3IFZpc2l0b3JGbHl3ZWlnaHQoKTsKICAgICAgICAkc2VyaWFsaXplciA9IG5ldyBEZWZhdWx0UmVxdWVzdFNlcmlhbGl6ZXIoJGYpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRmLCAkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkc2VyaWFsaXplciwgJ2ZhY3RvcnknKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RNaXhlZFBhcmFtcygpCiAgICB7CiAgICAgICAgJHRoaXMtPm9wZXJhdGlvbi0+c2V0VXJpKCdiYXJ7P2xpbWl0LGZpZWxkc30nKTsKICAgICAgICAkdGhpcy0+b3BlcmF0aW9uLT5hZGRQYXJhbShuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAnbmFtZScgPT4gJ2xpbWl0JywKICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAndXJpJywKICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiBmYWxzZSwKICAgICAgICApKSk7CiAgICAgICAgJHRoaXMtPm9wZXJhdGlvbi0+YWRkUGFyYW0obmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ25hbWUnID0+ICdmaWVsZHMnLAogICAgICAgICAgICAnbG9jYXRpb24nID0+ICd1cmknLAogICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgKSkpOwoKICAgICAgICAkdGhpcy0+Y29tbWFuZFsnZmllbGRzJ10gPSBhcnJheSgnaWQnLCAnbmFtZScpOwoKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5zZXJpYWxpemVyLT5wcmVwYXJlKCR0aGlzLT5jb21tYW5kKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdodHRwOi8vZm9vLmNvbS9iYXovYmFyP2ZpZWxkcz0nLnVybGVuY29kZSgnaWQsbmFtZScpLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0VXJsKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVzQWRkaXRpb25hbFBhcmFtZXRlcnMoKQogICAgewogICAgICAgICRkZXNjcmlwdGlvbiA9IFNlcnZpY2VEZXNjcmlwdGlvbjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2ZvbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQVVQnLAogICAgICAgICAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2JhcicgPT4gYXJyYXkoJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJykKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJGNsaWVudC0+c2V0RGVzY3JpcHRpb24oJGRlc2NyaXB0aW9uKTsKICAgICAgICAkY29tbWFuZCA9ICRjbGllbnQtPmdldENvbW1hbmQoJ2ZvbycpOwogICAgICAgICRjb21tYW5kWydiYXInXSA9ICd0ZXN0JzsKICAgICAgICAkY29tbWFuZFsnaGVsbG8nXSA9ICdhYmMnOwogICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcignYmFyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3siaGVsbG8iOiJhYmMifScsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRCb2R5KCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/DefaultResponseParserTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcU2VydmljZVxDbGllbnQ7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXERlZmF1bHRSZXNwb25zZVBhcnNlcjsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcT3BlcmF0aW9uQ29tbWFuZDsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXE9wZXJhdGlvbjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcRGVmYXVsdFJlc3BvbnNlUGFyc2VyCiAqLwpjbGFzcyBEZWZhdWx0UmVzcG9uc2VQYXJzZXJUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBhcnNlc1htbFJlc3BvbnNlcygpCiAgICB7CiAgICAgICAgJG9wID0gbmV3IE9wZXJhdGlvbkNvbW1hbmQoYXJyYXkoKSwgbmV3IE9wZXJhdGlvbigpKTsKICAgICAgICAkb3AtPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRyZXF1ZXN0ID0gJG9wLT5wcmVwYXJlKCk7CiAgICAgICAgJHJlcXVlc3QtPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiAnYXBwbGljYXRpb24veG1sJwogICAgICAgICksICc8Rm9vPjxCYXo+QmFyPC9CYXo+PC9Gb28+JyksIHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdTaW1wbGVYTUxFbGVtZW50JywgJG9wLT5leGVjdXRlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGFyc2VzSnNvblJlc3BvbnNlcygpCiAgICB7CiAgICAgICAgJG9wID0gbmV3IE9wZXJhdGlvbkNvbW1hbmQoYXJyYXkoKSwgbmV3IE9wZXJhdGlvbigpKTsKICAgICAgICAkb3AtPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRyZXF1ZXN0ID0gJG9wLT5wcmVwYXJlKCk7CiAgICAgICAgJHJlcXVlc3QtPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiAnYXBwbGljYXRpb24vanNvbicKICAgICAgICApLCAneyJCYXoiOiJCYXIifScpLCB0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdCYXonID0+ICdCYXInKSwgJG9wLT5leGVjdXRlKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxSdW50aW1lRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VGhyb3dzRXhjZXB0aW9uV2hlblBhcnNpbmdKc29uRmFpbHMoKQogICAgewogICAgICAgICRvcCA9IG5ldyBPcGVyYXRpb25Db21tYW5kKGFycmF5KCksIG5ldyBPcGVyYXRpb24oKSk7CiAgICAgICAgJG9wLT5zZXRDbGllbnQobmV3IENsaWVudCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRvcC0+cHJlcGFyZSgpOwogICAgICAgICRyZXF1ZXN0LT5zZXRSZXNwb25zZShuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnQ29udGVudC1UeXBlJyA9PiAnYXBwbGljYXRpb24vanNvbicpLCAneyJCYXoiOmRkd30nKSwgdHJ1ZSk7CiAgICAgICAgJG9wLT5leGVjdXRlKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzQ29udGVudFR5cGVXaGVuRXhwZWN0c0lzU2V0T25Db21tYW5kKCkKICAgIHsKICAgICAgICAkb3AgPSBuZXcgT3BlcmF0aW9uQ29tbWFuZChhcnJheSgpLCBuZXcgT3BlcmF0aW9uKCkpOwogICAgICAgICRvcFsnY29tbWFuZC5leHBlY3RzJ10gPSAnYXBwbGljYXRpb24vanNvbic7CiAgICAgICAgJG9wLT5zZXRDbGllbnQobmV3IENsaWVudCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRvcC0+cHJlcGFyZSgpOwogICAgICAgICRyZXF1ZXN0LT5zZXRSZXNwb25zZShuZXcgUmVzcG9uc2UoMjAwLCBudWxsLCAneyJCYXoiOiJCYXIifScpLCB0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdCYXonID0+ICdCYXInKSwgJG9wLT5leGVjdXRlKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/AliasFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxTZXJ2aWNlXENsaWVudDsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcRmFjdG9yeVxBbGlhc0ZhY3Rvcnk7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXEZhY3RvcnlcTWFwRmFjdG9yeTsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcRmFjdG9yeVxDb21wb3NpdGVGYWN0b3J5OwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxGYWN0b3J5XEFsaWFzRmFjdG9yeQogKi8KY2xhc3MgQWxpYXNGYWN0b3J5VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHJpdmF0ZSAkZmFjdG9yeTsKICAgIHByaXZhdGUgJGNsaWVudDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0dXAoKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQgPSBuZXcgQ2xpZW50KCk7CgogICAgICAgICRtYXAgPSBuZXcgTWFwRmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ3Rlc3QnICA9PiAnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xDb21tYW5kXE1vY2tDb21tYW5kJywKICAgICAgICAgICAgJ3Rlc3QxJyA9PiAnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xDb21tYW5kXE90aGVyQ29tbWFuZCcKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmZhY3RvcnkgPSBuZXcgQWxpYXNGYWN0b3J5KCR0aGlzLT5jbGllbnQsIGFycmF5KAogICAgICAgICAgICAnZm9vJyAgICAgID0+ICd0ZXN0JywKICAgICAgICAgICAgJ2JhcicgICAgICA9PiAnc3ViJywKICAgICAgICAgICAgJ3N1YicgICAgICA9PiAndGVzdDEnLAogICAgICAgICAgICAna3J1bGwnICAgID0+ICd0ZXN0MycsCiAgICAgICAgICAgICdrcnVsbF8yJyAgPT4gJ2tydWxsJywKICAgICAgICAgICAgJ3N1Yl8yJyAgICA9PiAnYmFyJywKICAgICAgICAgICAgJ2JhZF9saW5rJyA9PiAnamFyamFyJwogICAgICAgICkpOwoKICAgICAgICAkbWFwMiA9IG5ldyBNYXBGYWN0b3J5KGFycmF5KAogICAgICAgICAgICAndGVzdDMnICA9PiAnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xDb21tYW5kXFN1YlxTdWInCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5jbGllbnQtPnNldENvbW1hbmRGYWN0b3J5KG5ldyBDb21wb3NpdGVGYWN0b3J5KGFycmF5KCRtYXAsICR0aGlzLT5mYWN0b3J5LCAkbWFwMikpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWxpYXNQcm92aWRlcigpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBhcnJheSgnZm9vJywgJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxNb2NrQ29tbWFuZCcsIGZhbHNlKSwKICAgICAgICAgICAgYXJyYXkoJ2JhcicsICdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcT3RoZXJDb21tYW5kJywgZmFsc2UpLAogICAgICAgICAgICBhcnJheSgnc3ViJywgJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxPdGhlckNvbW1hbmQnLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KCdzdWJfMicsICdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcT3RoZXJDb21tYW5kJywgZmFsc2UpLAogICAgICAgICAgICBhcnJheSgna3J1bGwnLCAnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xDb21tYW5kXFN1YlxTdWInLCBmYWxzZSksCiAgICAgICAgICAgIGFycmF5KCdrcnVsbF8yJywgJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxTdWJcU3ViJywgZmFsc2UpLAogICAgICAgICAgICBhcnJheSgnbWlzc2luZycsIG51bGwsIHRydWUpLAogICAgICAgICAgICBhcnJheSgnYmFkX2xpbmsnLCBudWxsLCB0cnVlKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIGFsaWFzUHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGlhc2VzQ29tbWFuZHMoJGtleSwgJHJlc3VsdCwgJGV4Y2VwdGlvbikKICAgIHsKICAgICAgICB0cnkgewogICAgICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5jbGllbnQtPmdldENvbW1hbmQoJGtleSk7CiAgICAgICAgICAgIGlmIChpc19udWxsKCRyZXN1bHQpKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkY29tbWFuZCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VvZigkcmVzdWx0LCAkY29tbWFuZCk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIGlmICghJGV4Y2VwdGlvbikgewogICAgICAgICAgICAgICAgJHRoaXMtPmZhaWwoJ0dvdCBleGNlcHRpb24gd2hlbiBpdCB3YXMgbm90IGV4cGVjdGVkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/CompositeFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcRmFjdG9yeVxDb21wb3NpdGVGYWN0b3J5OwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxGYWN0b3J5XENvbXBvc2l0ZUZhY3RvcnkKICovCmNsYXNzIENvbXBvc2l0ZUZhY3RvcnlUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldEZhY3RvcnkoJGNsYXNzID0gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcRmFjdG9yeVxcTWFwRmFjdG9yeScpCiAgICB7CiAgICAgICAgcmV0dXJuICRtb2NrID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCRjbGFzcykKICAgICAgICAgICAgLT5kaXNhYmxlT3JpZ2luYWxDb25zdHJ1Y3RvcigpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXNJdGVyYWJsZSgpCiAgICB7CiAgICAgICAgJGZhY3RvcnkgPSBuZXcgQ29tcG9zaXRlRmFjdG9yeShhcnJheSgkdGhpcy0+Z2V0RmFjdG9yeSgpLCAkdGhpcy0+Z2V0RmFjdG9yeSgpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkZmFjdG9yeSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgY291bnQoaXRlcmF0b3JfdG9fYXJyYXkoJGZhY3RvcnktPmdldEl0ZXJhdG9yKCkpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RGaW5kc0ZhY3RvcmllcygpCiAgICB7CiAgICAgICAgJGYxID0gJHRoaXMtPmdldEZhY3RvcnkoKTsKICAgICAgICAkZjIgPSAkdGhpcy0+Z2V0RmFjdG9yeSgnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxGYWN0b3J5XFxDb21wb3NpdGVGYWN0b3J5Jyk7CiAgICAgICAgJGZhY3RvcnkgPSBuZXcgQ29tcG9zaXRlRmFjdG9yeShhcnJheSgkZjEsICRmMikpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRmYWN0b3J5LT5maW5kKCdmb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJGZhY3RvcnktPmZpbmQoJHRoaXMtPmdldEZhY3RvcnkoKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRmMSwgJGZhY3RvcnktPmZpbmQoJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcRmFjdG9yeVxcTWFwRmFjdG9yeScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZjIsICRmYWN0b3J5LT5maW5kKCdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXEZhY3RvcnlcXENvbXBvc2l0ZUZhY3RvcnknKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGYxLCAkZmFjdG9yeS0+ZmluZCgkZjEpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZjIsICRmYWN0b3J5LT5maW5kKCRmMikpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGZhY3RvcnktPmhhcygnZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRmYWN0b3J5LT5oYXMoJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcRmFjdG9yeVxcTWFwRmFjdG9yeScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZmFjdG9yeS0+aGFzKCdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXEZhY3RvcnlcXENvbXBvc2l0ZUZhY3RvcnknKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzQ29tbWFuZHMoKQogICAgewogICAgICAgICRmYWN0b3J5ID0gbmV3IENvbXBvc2l0ZUZhY3RvcnkoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkZmFjdG9yeS0+ZmFjdG9yeSgnZm9vJykpOwoKICAgICAgICAkZjEgPSAkdGhpcy0+Z2V0RmFjdG9yeSgpOwogICAgICAgICRtb2NrQ29tbWFuZDEgPSAkdGhpcy0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcQWJzdHJhY3RDb21tYW5kJyk7CgogICAgICAgICRmMS0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgIC0+bWV0aG9kKCdmYWN0b3J5JykKICAgICAgICAgICAtPndpdGgoJHRoaXMtPmVxdWFsVG8oJ2ZvbycpKQogICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJG1vY2tDb21tYW5kMSkpOwoKICAgICAgICAkZmFjdG9yeSA9IG5ldyBDb21wb3NpdGVGYWN0b3J5KGFycmF5KCRmMSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRtb2NrQ29tbWFuZDEsICRmYWN0b3J5LT5mYWN0b3J5KCdmb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NSZW1vdmFsT2ZGYWN0b3JpZXMoKQogICAgewogICAgICAgICRmMSA9ICR0aGlzLT5nZXRGYWN0b3J5KCk7CiAgICAgICAgJGYyID0gJHRoaXMtPmdldEZhY3RvcnkoKTsKICAgICAgICAkZjMgPSAkdGhpcy0+Z2V0RmFjdG9yeSgnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXFxGYWN0b3J5XFxDb21wb3NpdGVGYWN0b3J5Jyk7CiAgICAgICAgJGZhY3RvcmllcyA9IGFycmF5KCRmMSwgJGYyLCAkZjMpOwogICAgICAgICRmYWN0b3J5ID0gbmV3IENvbXBvc2l0ZUZhY3RvcnkoJGZhY3Rvcmllcyk7CgogICAgICAgICRmYWN0b3J5LT5yZW1vdmUoJ2ZvbycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGZhY3RvcmllcywgJGZhY3RvcnktPmdldEl0ZXJhdG9yKCktPmdldEFycmF5Q29weSgpKTsKCiAgICAgICAgJGZhY3RvcnktPnJlbW92ZSgkZjEpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJGYyLCAkZjMpLCAkZmFjdG9yeS0+Z2V0SXRlcmF0b3IoKS0+Z2V0QXJyYXlDb3B5KCkpOwoKICAgICAgICAkZmFjdG9yeS0+cmVtb3ZlKCdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXEZhY3RvcnlcXE1hcEZhY3RvcnknKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCRmMyksICRmYWN0b3J5LT5nZXRJdGVyYXRvcigpLT5nZXRBcnJheUNvcHkoKSk7CgogICAgICAgICRmYWN0b3J5LT5yZW1vdmUoJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcRmFjdG9yeVxcQ29tcG9zaXRlRmFjdG9yeScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoKSwgJGZhY3RvcnktPmdldEl0ZXJhdG9yKCktPmdldEFycmF5Q29weSgpKTsKCiAgICAgICAgJGZhY3RvcnktPnJlbW92ZSgnZm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgpLCAkZmFjdG9yeS0+Z2V0SXRlcmF0b3IoKS0+Z2V0QXJyYXlDb3B5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkc0ZhY3Rvcmllc0JlZm9yZUFuZEF0RW5kKCkKICAgIHsKICAgICAgICAkZjEgPSAkdGhpcy0+Z2V0RmFjdG9yeSgpOwogICAgICAgICRmMiA9ICR0aGlzLT5nZXRGYWN0b3J5KCk7CiAgICAgICAgJGYzID0gJHRoaXMtPmdldEZhY3RvcnkoJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcRmFjdG9yeVxcQ29tcG9zaXRlRmFjdG9yeScpOwogICAgICAgICRmNCA9ICR0aGlzLT5nZXRGYWN0b3J5KCk7CgogICAgICAgICRmYWN0b3J5ID0gbmV3IENvbXBvc2l0ZUZhY3RvcnkoKTsKCiAgICAgICAgJGZhY3RvcnktPmFkZCgkZjEpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJGYxKSwgJGZhY3RvcnktPmdldEl0ZXJhdG9yKCktPmdldEFycmF5Q29weSgpKTsKCiAgICAgICAgJGZhY3RvcnktPmFkZCgkZjIpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJGYxLCAkZjIpLCAkZmFjdG9yeS0+Z2V0SXRlcmF0b3IoKS0+Z2V0QXJyYXlDb3B5KCkpOwoKICAgICAgICAkZmFjdG9yeS0+YWRkKCRmMywgJGYyKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCRmMSwgJGYzLCAkZjIpLCAkZmFjdG9yeS0+Z2V0SXRlcmF0b3IoKS0+Z2V0QXJyYXlDb3B5KCkpOwoKICAgICAgICAkZmFjdG9yeS0+YWRkKCRmNCwgJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcRmFjdG9yeVxcQ29tcG9zaXRlRmFjdG9yeScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJGYxLCAkZjQsICRmMywgJGYyKSwgJGZhY3RvcnktPmdldEl0ZXJhdG9yKCktPmdldEFycmF5Q29weSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByb3ZpZGVzRGVmYXVsdENoYWluRm9yQ2xpZW50cygpCiAgICB7CiAgICAgICAgJGNsaWVudCA9ICR0aGlzLT5nZXRNb2NrKCdHdXp6bGVcXFNlcnZpY2VcXENsaWVudCcpOwogICAgICAgICRjaGFpbiA9IENvbXBvc2l0ZUZhY3Rvcnk6OmdldERlZmF1bHRDaGFpbigkY2xpZW50KTsKICAgICAgICAkYSA9ICRjaGFpbi0+Z2V0SXRlcmF0b3IoKS0+Z2V0QXJyYXlDb3B5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkYSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXEZhY3RvcnlcXENvbmNyZXRlQ2xhc3NGYWN0b3J5JywgJGFbMF0pOwoKICAgICAgICAkZGVzY3JpcHRpb24gPSAkdGhpcy0+Z2V0TW9jaygnR3V6emxlXFxTZXJ2aWNlXFxEZXNjcmlwdGlvblxcU2VydmljZURlc2NyaXB0aW9uJyk7CiAgICAgICAgJGNsaWVudC0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAgICAtPm1ldGhvZCgnZ2V0RGVzY3JpcHRpb24nKQogICAgICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKCRkZXNjcmlwdGlvbikpOwogICAgICAgICRjaGFpbiA9IENvbXBvc2l0ZUZhY3Rvcnk6OmdldERlZmF1bHRDaGFpbigkY2xpZW50KTsKICAgICAgICAkYSA9ICRjaGFpbi0+Z2V0SXRlcmF0b3IoKS0+Z2V0QXJyYXlDb3B5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkYSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXEZhY3RvcnlcXFNlcnZpY2VEZXNjcmlwdGlvbkZhY3RvcnknLCAkYVswXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxcRmFjdG9yeVxcQ29uY3JldGVDbGFzc0ZhY3RvcnknLCAkYVsxXSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/ConcreteClassFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcTW9ja0NsaWVudDsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcRmFjdG9yeVxDb25jcmV0ZUNsYXNzRmFjdG9yeTsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcRmFjdG9yeVxDb25jcmV0ZUNsYXNzRmFjdG9yeQogKi8KY2xhc3MgQ29uY3JldGVDbGFzc0ZhY3RvcnlUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByb3ZpZGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KCdmb28nLCBudWxsLCAnR3V6emxlXFxUZXN0c1xcU2VydmljZVxcTW9ja1xcQ29tbWFuZFxcJyksCiAgICAgICAgICAgIGFycmF5KCdtb2NrX2NvbW1hbmQnLCAnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xDb21tYW5kXE1vY2tDb21tYW5kJywgJ0d1enpsZVxcVGVzdHNcXFNlcnZpY2VcXE1vY2tcXENvbW1hbmRcXCcpLAogICAgICAgICAgICBhcnJheSgnb3RoZXJfY29tbWFuZCcsICdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcT3RoZXJDb21tYW5kJywgJ0d1enpsZVxcVGVzdHNcXFNlcnZpY2VcXE1vY2tcXENvbW1hbmRcXCcpLAogICAgICAgICAgICBhcnJheSgnc3ViLnN1YicsICdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcU3ViXFN1YicsICdHdXp6bGVcXFRlc3RzXFxTZXJ2aWNlXFxNb2NrXFxDb21tYW5kXFwnKSwKICAgICAgICAgICAgYXJyYXkoJ3N1Yi5zdWInLCBudWxsLCAnR3V6emxlXFxGb29cXCcpLAogICAgICAgICAgICBhcnJheSgnZm9vJywgbnVsbCwgbnVsbCksCiAgICAgICAgICAgIGFycmF5KCdtb2NrX2NvbW1hbmQnLCAnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xDb21tYW5kXE1vY2tDb21tYW5kJywgbnVsbCksCiAgICAgICAgICAgIGFycmF5KCdvdGhlcl9jb21tYW5kJywgJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxPdGhlckNvbW1hbmQnLCBudWxsKSwKICAgICAgICAgICAgYXJyYXkoJ3N1Yi5zdWInLCAnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xDb21tYW5kXFN1YlxTdWInLCBudWxsKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIHRlc3RQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNDb25jcmV0ZUNvbW1hbmRzKCRrZXksICRyZXN1bHQsICRwcmVmaXgpCiAgICB7CiAgICAgICAgaWYgKCEkcHJlZml4KSB7CiAgICAgICAgICAgICRjbGllbnQgPSBuZXcgTW9ja0NsaWVudCgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRjbGllbnQgPSBuZXcgTW9ja0NsaWVudCgnJywgYXJyYXkoCiAgICAgICAgICAgICAgICAnY29tbWFuZC5wcmVmaXgnID0+ICRwcmVmaXgKICAgICAgICAgICAgKSk7CiAgICAgICAgfQoKICAgICAgICAkZmFjdG9yeSA9IG5ldyBDb25jcmV0ZUNsYXNzRmFjdG9yeSgkY2xpZW50KTsKCiAgICAgICAgaWYgKGlzX251bGwoJHJlc3VsdCkpIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJGZhY3RvcnktPmZhY3RvcnkoJGtleSkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZW9mKCRyZXN1bHQsICRmYWN0b3J5LT5mYWN0b3J5KCRrZXkpKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/MapFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcRmFjdG9yeVxNYXBGYWN0b3J5OwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxGYWN0b3J5XE1hcEZhY3RvcnkKICovCmNsYXNzIE1hcEZhY3RvcnlUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gbWFwUHJvdmlkZXIoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoJ2ZvbycsIG51bGwpLAogICAgICAgICAgICBhcnJheSgndGVzdCcsICdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcTW9ja0NvbW1hbmQnKSwKICAgICAgICAgICAgYXJyYXkoJ3Rlc3QxJywgJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxPdGhlckNvbW1hbmQnKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIG1hcFByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q3JlYXRlc0NvbW1hbmRzVXNpbmdNYXBwaW5ncygka2V5LCAkcmVzdWx0KQogICAgewogICAgICAgICRmYWN0b3J5ID0gbmV3IE1hcEZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICd0ZXN0JyAgPT4gJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxNb2NrQ29tbWFuZCcsCiAgICAgICAgICAgICd0ZXN0MScgPT4gJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxPdGhlckNvbW1hbmQnCiAgICAgICAgKSk7CgogICAgICAgIGlmIChpc19udWxsKCRyZXN1bHQpKSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRmYWN0b3J5LT5mYWN0b3J5KCRrZXkpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VvZigkcmVzdWx0LCAkZmFjdG9yeS0+ZmFjdG9yeSgka2V5KSk7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/ServiceDescriptionFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFNlcnZpY2VEZXNjcmlwdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcRmFjdG9yeVxTZXJ2aWNlRGVzY3JpcHRpb25GYWN0b3J5Owp1c2UgR3V6emxlXEluZmxlY3Rpb25cSW5mbGVjdG9yOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxGYWN0b3J5XFNlcnZpY2VEZXNjcmlwdGlvbkZhY3RvcnkKICovCmNsYXNzIFNlcnZpY2VEZXNjcmlwdGlvbkZhY3RvcnlUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByb3ZpZGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KCdmb28nLCBudWxsKSwKICAgICAgICAgICAgYXJyYXkoJ2phcl9qYXInLCAnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xDb21tYW5kXE1vY2tDb21tYW5kJyksCiAgICAgICAgICAgIGFycmF5KCdiaW5rcycsICdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcT3RoZXJDb21tYW5kJykKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciB0ZXN0UHJvdmlkZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDcmVhdGVzQ29tbWFuZHNVc2luZ1NlcnZpY2VEZXNjcmlwdGlvbnMoJGtleSwgJHJlc3VsdCkKICAgIHsKICAgICAgICAkZCA9ICR0aGlzLT5nZXREZXNjcmlwdGlvbigpOwoKICAgICAgICAkZmFjdG9yeSA9IG5ldyBTZXJ2aWNlRGVzY3JpcHRpb25GYWN0b3J5KCRkKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZCwgJGZhY3RvcnktPmdldFNlcnZpY2VEZXNjcmlwdGlvbigpKTsKCiAgICAgICAgaWYgKGlzX251bGwoJHJlc3VsdCkpIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJGZhY3RvcnktPmZhY3RvcnkoJGtleSkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZW9mKCRyZXN1bHQsICRmYWN0b3J5LT5mYWN0b3J5KCRrZXkpKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzVWNGaXJzdElmTm9FeGFjdE1hdGNoKCkKICAgIHsKICAgICAgICAkZCA9ICR0aGlzLT5nZXREZXNjcmlwdGlvbigpOwogICAgICAgICRmYWN0b3J5ID0gbmV3IFNlcnZpY2VEZXNjcmlwdGlvbkZhY3RvcnkoJGQsIG5ldyBJbmZsZWN0b3IoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlb2YoJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxPdGhlckNvbW1hbmQnLCAkZmFjdG9yeS0+ZmFjdG9yeSgnVGVzdCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VvZignR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xDb21tYW5kXE90aGVyQ29tbWFuZCcsICRmYWN0b3J5LT5mYWN0b3J5KCd0ZXN0JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXNlc0luZmxlY3Rpb25JZk5vRXhhY3RNYXRjaCgpCiAgICB7CiAgICAgICAgJGQgPSAkdGhpcy0+Z2V0RGVzY3JpcHRpb24oKTsKICAgICAgICAkZmFjdG9yeSA9IG5ldyBTZXJ2aWNlRGVzY3JpcHRpb25GYWN0b3J5KCRkLCBuZXcgSW5mbGVjdG9yKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZW9mKCdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcT3RoZXJDb21tYW5kJywgJGZhY3RvcnktPmZhY3RvcnkoJ0JpbmtzJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZW9mKCdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcT3RoZXJDb21tYW5kJywgJGZhY3RvcnktPmZhY3RvcnkoJ2JpbmtzJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZW9mKCdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcTW9ja0NvbW1hbmQnLCAkZmFjdG9yeS0+ZmFjdG9yeSgnSmFySmFyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZW9mKCdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcTW9ja0NvbW1hbmQnLCAkZmFjdG9yeS0+ZmFjdG9yeSgnamFyX2phcicpKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RGVzY3JpcHRpb24oKQogICAgewogICAgICAgIHJldHVybiBTZXJ2aWNlRGVzY3JpcHRpb246OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdqYXJfamFyJyA9PiBhcnJheSgnY2xhc3MnID0+ICdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcTW9ja0NvbW1hbmQnKSwKICAgICAgICAgICAgICAgICdiaW5rcycgPT4gYXJyYXkoJ2NsYXNzJyA9PiAnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xDb21tYW5kXE90aGVyQ29tbWFuZCcpLAogICAgICAgICAgICAgICAgJ1Rlc3QnID0+IGFycmF5KCdjbGFzcycgPT4gJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxPdGhlckNvbW1hbmQnKQogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/AbstractVisitorTestCase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcRW50aXR5RW5jbG9zaW5nUmVxdWVzdDsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXE9wZXJhdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcjsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFNjaGVtYVZhbGlkYXRvcjsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcT3BlcmF0aW9uQ29tbWFuZDsKdXNlIEd1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxNb2NrQ29tbWFuZDsKdXNlIEd1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcTW9ja0NsaWVudDsKCmFic3RyYWN0IGNsYXNzIEFic3RyYWN0VmlzaXRvclRlc3RDYXNlIGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwcm90ZWN0ZWQgJGNvbW1hbmQ7CiAgICBwcm90ZWN0ZWQgJHJlcXVlc3Q7CiAgICBwcm90ZWN0ZWQgJHBhcmFtOwogICAgcHJvdGVjdGVkICR2YWxpZGF0b3I7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+Y29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZCgpOwogICAgICAgICR0aGlzLT5yZXF1ZXN0ID0gbmV3IEVudGl0eUVuY2xvc2luZ1JlcXVlc3QoJ1BPU1QnLCAnaHR0cDovL3d3dy50ZXN0LmNvbS9zb21lL3BhdGgucGhwJyk7CiAgICAgICAgJHRoaXMtPnZhbGlkYXRvciA9IG5ldyBTY2hlbWFWYWxpZGF0b3IoKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0Q29tbWFuZCgkbG9jYXRpb24pCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSBuZXcgT3BlcmF0aW9uQ29tbWFuZChhcnJheSgpLCAkdGhpcy0+Z2V0TmVzdGVkQ29tbWFuZCgkbG9jYXRpb24pKTsKICAgICAgICAkY29tbWFuZC0+c2V0Q2xpZW50KG5ldyBNb2NrQ2xpZW50KCkpOwoKICAgICAgICByZXR1cm4gJGNvbW1hbmQ7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldE5lc3RlZENvbW1hbmQoJGxvY2F0aW9uKQogICAgewogICAgICAgIHJldHVybiBuZXcgT3BlcmF0aW9uKGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZm9vJyA9PiBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICAgICAgID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgICAgID0+ICRsb2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyAgICAgICA9PiAnRm9vJywKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnICAgICA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndGVzdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JheicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnamVuZ2EnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgICAgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnaGVsbG8nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyAgPT4gJ0plbmdhX1lhbGwhJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+IGFycmF5KCdzdHJ0b3VwcGVyJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdiYXInID0+IGFycmF5KCdkZWZhdWx0JyA9PiAxMjMpCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgnc3RydG91cHBlcicpLAogICAgICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICRsb2NhdGlvbgogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkpLAogICAgICAgICAgICAgICAgJ2FycicgPT4gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgICAgICAgICA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgICAgID0+ICRsb2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgnc3RydG91cHBlcicpCiAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkpLAogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldENvbW1hbmRXaXRoQXJyYXlQYXJhbUFuZEZpbHRlcnMoKQogICAgewogICAgICAgICRvcGVyYXRpb24gPSBuZXcgT3BlcmF0aW9uKGFycmF5KAogICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZm9vJyA9PiBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdxdWVyeScsCiAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ0ZvbycsCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyA9PiAnYmFyJywKICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gYXJyYXkoJ3N0cnRvdXBwZXInKQogICAgICAgICAgICAgICAgKSksCiAgICAgICAgICAgICAgICAnYXJyJyA9PiBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQXJyJywKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+IGFycmF5KDEyMywgNDU2LCA3ODkpLAogICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheShhcnJheSgnbWV0aG9kJyA9PiAnaW1wbG9kZScsICdhcmdzJyA9PiBhcnJheSgnLCcsICdAdmFsdWUnKSkpCiAgICAgICAgICAgICAgICApKQogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICAgICAgJGNvbW1hbmQgPSBuZXcgT3BlcmF0aW9uQ29tbWFuZChhcnJheSgpLCAkb3BlcmF0aW9uKTsKICAgICAgICAkY29tbWFuZC0+c2V0Q2xpZW50KG5ldyBNb2NrQ2xpZW50KCkpOwoKICAgICAgICByZXR1cm4gJGNvbW1hbmQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/BodyVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxIdHRwXEVudGl0eUJvZHk7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0XEJvZHlWaXNpdG9yIGFzIFZpc2l0b3I7CgovKioKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0XEJvZHlWaXNpdG9yCiAqLwpjbGFzcyBCb2R5VmlzaXRvclRlc3QgZXh0ZW5kcyBBYnN0cmFjdFZpc2l0b3JUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZpc2l0c0xvY2F0aW9uKCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHBhcmFtID0gJHRoaXMtPmdldE5lc3RlZENvbW1hbmQoJ2JvZHknKS0+Z2V0UGFyYW0oJ2ZvbycpLT5zZXRTZW50QXMoJ0ZvbycpOwogICAgICAgICR2aXNpdG9yLT52aXNpdCgkdGhpcy0+Y29tbWFuZCwgJHRoaXMtPnJlcXVlc3QsICRwYXJhbSwgJzEyMycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyMycsIChzdHJpbmcpICR0aGlzLT5yZXF1ZXN0LT5nZXRCb2R5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCR0aGlzLT5yZXF1ZXN0LT5nZXRIZWFkZXIoJ0V4cGVjdCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNFeHBlY3RIZWFkZXJXaGVuU2V0VG9UcnVlKCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHBhcmFtID0gJHRoaXMtPmdldE5lc3RlZENvbW1hbmQoJ2JvZHknKS0+Z2V0UGFyYW0oJ2ZvbycpLT5zZXRTZW50QXMoJ0ZvbycpOwogICAgICAgICRwYXJhbS0+c2V0RGF0YSgnZXhwZWN0X2hlYWRlcicsIHRydWUpOwogICAgICAgICR2aXNpdG9yLT52aXNpdCgkdGhpcy0+Y29tbWFuZCwgJHRoaXMtPnJlcXVlc3QsICRwYXJhbSwgJzEyMycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyMycsIChzdHJpbmcpICR0aGlzLT5yZXF1ZXN0LT5nZXRCb2R5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuRGlzYWJsZUV4cGVjdEhlYWRlcigpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgICRwYXJhbSA9ICR0aGlzLT5nZXROZXN0ZWRDb21tYW5kKCdib2R5JyktPmdldFBhcmFtKCdmb28nKS0+c2V0U2VudEFzKCdGb28nKTsKICAgICAgICAkcGFyYW0tPnNldERhdGEoJ2V4cGVjdF9oZWFkZXInLCBmYWxzZSk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVxdWVzdCwgJHBhcmFtLCAnMTIzJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHRoaXMtPnJlcXVlc3QtPmdldEhlYWRlcignRXhwZWN0JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuU2V0RXhwZWN0SGVhZGVyQmFzZWRPblNpemUoKQogICAgewogICAgICAgICR2aXNpdG9yID0gbmV3IFZpc2l0b3IoKTsKICAgICAgICAkcGFyYW0gPSAkdGhpcy0+Z2V0TmVzdGVkQ29tbWFuZCgnYm9keScpLT5nZXRQYXJhbSgnZm9vJyktPnNldFNlbnRBcygnRm9vJyk7CiAgICAgICAgLy8gVGhlIGJvZHkgaXMgbGVzcyB0aGFuIHRoZSBjdXRvZmYKICAgICAgICAkcGFyYW0tPnNldERhdGEoJ2V4cGVjdF9oZWFkZXInLCA1KTsKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXF1ZXN0LCAkcGFyYW0sICcxMjMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkdGhpcy0+cmVxdWVzdC0+Z2V0SGVhZGVyKCdFeHBlY3QnKSk7CiAgICAgICAgLy8gTm93IGNoZWNrIHdoZW4gdGhlIGJvZHkgaXMgZ3JlYXRlciB0aGFuIHRoZSBjdXRvZmYKICAgICAgICAkcGFyYW0tPnNldERhdGEoJ2V4cGVjdF9oZWFkZXInLCAyKTsKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXF1ZXN0LCAkcGFyYW0sICcxMjMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMDAtQ29udGludWUnLCAoc3RyaW5nKSAkdGhpcy0+cmVxdWVzdC0+Z2V0SGVhZGVyKCdFeHBlY3QnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzQ29udGVudEVuY29kaW5nV2hlblNldE9uQm9keSgpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgICRwYXJhbSA9ICR0aGlzLT5nZXROZXN0ZWRDb21tYW5kKCdib2R5JyktPmdldFBhcmFtKCdmb28nKS0+c2V0U2VudEFzKCdGb28nKTsKICAgICAgICAkYm9keSA9IEVudGl0eUJvZHk6OmZhY3RvcnkoJ2ZvbycpOwogICAgICAgICRib2R5LT5jb21wcmVzcygpOwogICAgICAgICR2aXNpdG9yLT52aXNpdCgkdGhpcy0+Y29tbWFuZCwgJHRoaXMtPnJlcXVlc3QsICRwYXJhbSwgJGJvZHkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2d6aXAnLCAoc3RyaW5nKSAkdGhpcy0+cmVxdWVzdC0+Z2V0SGVhZGVyKCdDb250ZW50LUVuY29kaW5nJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/HeaderVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcjsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlcXVlc3RcSGVhZGVyVmlzaXRvciBhcyBWaXNpdG9yOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVxdWVzdFxIZWFkZXJWaXNpdG9yCiAqLwpjbGFzcyBIZWFkZXJWaXNpdG9yVGVzdCBleHRlbmRzIEFic3RyYWN0VmlzaXRvclRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFxHdXp6bGVcQ29tbW9uXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNIZWFkZXJNYXBzQXJlQXJyYXlzKCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHBhcmFtID0gJHRoaXMtPmdldE5lc3RlZENvbW1hbmQoJ2hlYWRlcicpLT5nZXRQYXJhbSgnZm9vJyktPnNldFNlbnRBcygndGVzdCcpOwogICAgICAgICRwYXJhbS0+c2V0QWRkaXRpb25hbFByb3BlcnRpZXMobmV3IFBhcmFtZXRlcihhcnJheSgpKSk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVxdWVzdCwgJHBhcmFtLCAndGVzdCcpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmlzaXRzTG9jYXRpb24oKQogICAgewogICAgICAgICR2aXNpdG9yID0gbmV3IFZpc2l0b3IoKTsKICAgICAgICAkcGFyYW0gPSAkdGhpcy0+Z2V0TmVzdGVkQ29tbWFuZCgnaGVhZGVyJyktPmdldFBhcmFtKCdmb28nKS0+c2V0U2VudEFzKCd0ZXN0Jyk7CiAgICAgICAgJHBhcmFtLT5zZXRBZGRpdGlvbmFsUHJvcGVydGllcyhmYWxzZSk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVxdWVzdCwgJHBhcmFtLCAnMTIzJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnMTIzJywgKHN0cmluZykgJHRoaXMtPnJlcXVlc3QtPmdldEhlYWRlcigndGVzdCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZpc2l0c01hcHBlZFByZWZpeEhlYWRlcnMoKQogICAgewogICAgICAgICR2aXNpdG9yID0gbmV3IFZpc2l0b3IoKTsKICAgICAgICAkcGFyYW0gPSAkdGhpcy0+Z2V0TmVzdGVkQ29tbWFuZCgnaGVhZGVyJyktPmdldFBhcmFtKCdmb28nKS0+c2V0U2VudEFzKCd0ZXN0Jyk7CiAgICAgICAgJHBhcmFtLT5zZXRTZW50QXMoJ3gtZm9vLScpOwogICAgICAgICRwYXJhbS0+c2V0QWRkaXRpb25hbFByb3BlcnRpZXMobmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnCiAgICAgICAgKSkpOwogICAgICAgICR2aXNpdG9yLT52aXNpdCgkdGhpcy0+Y29tbWFuZCwgJHRoaXMtPnJlcXVlc3QsICRwYXJhbSwgYXJyYXkoCiAgICAgICAgICAgICdiYXInID0+ICd0ZXN0JywKICAgICAgICAgICAgJ2JheicgPT4gJzEyMycKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgKHN0cmluZykgJHRoaXMtPnJlcXVlc3QtPmdldEhlYWRlcigneC1mb28tYmFyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEyMycsIChzdHJpbmcpICR0aGlzLT5yZXF1ZXN0LT5nZXRIZWFkZXIoJ3gtZm9vLWJheicpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/JsonVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlcXVlc3RcSnNvblZpc2l0b3IgYXMgVmlzaXRvcjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlcXVlc3RcSnNvblZpc2l0b3IKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0XEFic3RyYWN0UmVxdWVzdFZpc2l0b3I6OnJlc29sdmVSZWN1cnNpdmVseQogKi8KY2xhc3MgSnNvblZpc2l0b3JUZXN0IGV4dGVuZHMgQWJzdHJhY3RWaXNpdG9yVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWaXNpdHNMb2NhdGlvbigpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgIC8vIFRlc3QgYWZ0ZXIgd2hlbiBubyBib2R5IHF1ZXJ5IHZhbHVlcyB3ZXJlIGZvdW5kCiAgICAgICAgJHZpc2l0b3ItPmFmdGVyKCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVxdWVzdCk7CgogICAgICAgICRwYXJhbSA9ICR0aGlzLT5nZXROZXN0ZWRDb21tYW5kKCdqc29uJyktPmdldFBhcmFtKCdmb28nKTsKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXF1ZXN0LCAkcGFyYW0tPnNldFNlbnRBcygndGVzdCcpLCAnMTIzJyk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVxdWVzdCwgJHBhcmFtLT5zZXRTZW50QXMoJ3Rlc3QyJyksICdhYmMnKTsKICAgICAgICAkdmlzaXRvci0+YWZ0ZXIoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXF1ZXN0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd7InRlc3QiOiIxMjMiLCJ0ZXN0MiI6ImFiYyJ9JywgKHN0cmluZykgJHRoaXMtPnJlcXVlc3QtPmdldEJvZHkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzSnNvbkhlYWRlcigpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgICR2aXNpdG9yLT5zZXRDb250ZW50VHlwZUhlYWRlcignYXBwbGljYXRpb24vanNvbi1mb28nKTsKICAgICAgICAkcGFyYW0gPSAkdGhpcy0+Z2V0TmVzdGVkQ29tbWFuZCgnanNvbicpLT5nZXRQYXJhbSgnZm9vJyk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVxdWVzdCwgJHBhcmFtLT5zZXRTZW50QXMoJ3Rlc3QnKSwgJzEyMycpOwogICAgICAgICR2aXNpdG9yLT5hZnRlcigkdGhpcy0+Y29tbWFuZCwgJHRoaXMtPnJlcXVlc3QpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FwcGxpY2F0aW9uL2pzb24tZm9vJywgKHN0cmluZykgJHRoaXMtPnJlcXVlc3QtPmdldEhlYWRlcignQ29udGVudC1UeXBlJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVjdXJzaXZlbHlCdWlsZHNKc29uQm9kaWVzKCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRDb21tYW5kKCdqc29uJyk7CiAgICAgICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3siRm9vIjp7InRlc3QiOnsiYmF6Ijp0cnVlLCJKZW5nYV9ZYWxsISI6IkhFTExPIn0sImJhciI6MTIzfX0nLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0Qm9keSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFwcGxpZXNGaWx0ZXJzVG9BZGRpdGlvbmFsUHJvcGVydGllcygpCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0Q29tbWFuZCgnanNvbicpOwogICAgICAgICRjb21tYW5kLT5zZXQoJ2ZvbycsIGFycmF5KCdub3Rfc2V0JyA9PiAnYWJjJykpOwogICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgICAgICAkcmVzdWx0ID0ganNvbl9kZWNvZGUoJHJlcXVlc3QtPmdldEJvZHkoKSwgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQUJDJywgJHJlc3VsdFsnRm9vJ11bJ25vdF9zZXQnXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBcHBsaWVzRmlsdGVyc1RvQXJyYXlJdGVtVmFsdWVzKCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRDb21tYW5kKCdqc29uJyk7CiAgICAgICAgJGNvbW1hbmQtPnNldCgnYXJyJywgYXJyYXkoJ2EnLCAnYicpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjb21tYW5kLT5wcmVwYXJlKCk7CiAgICAgICAgJHJlc3VsdCA9IGpzb25fZGVjb2RlKCRyZXF1ZXN0LT5nZXRCb2R5KCksIHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ0EnLCAnQicpLCAkcmVzdWx0WydhcnInXSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/PostFieldVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlcXVlc3RcUG9zdEZpZWxkVmlzaXRvciBhcyBWaXNpdG9yOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVxdWVzdFxQb3N0RmllbGRWaXNpdG9yCiAqLwpjbGFzcyBQb3N0RmllbGRWaXNpdG9yVGVzdCBleHRlbmRzIEFic3RyYWN0VmlzaXRvclRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmlzaXRzTG9jYXRpb24oKQogICAgewogICAgICAgICR2aXNpdG9yID0gbmV3IFZpc2l0b3IoKTsKICAgICAgICAkcGFyYW0gPSAkdGhpcy0+Z2V0TmVzdGVkQ29tbWFuZCgncG9zdEZpZWxkJyktPmdldFBhcmFtKCdmb28nKTsKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXF1ZXN0LCAkcGFyYW0tPnNldFNlbnRBcygndGVzdCcpLCAnMTIzJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnMTIzJywgKHN0cmluZykgJHRoaXMtPnJlcXVlc3QtPmdldFBvc3RGaWVsZCgndGVzdCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlY3Vyc2l2ZWx5QnVpbGRzUG9zdEZpZWxkcygpCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0Q29tbWFuZCgncG9zdEZpZWxkJyk7CiAgICAgICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgICR2aXNpdG9yID0gbmV3IFZpc2l0b3IoKTsKICAgICAgICAkcGFyYW0gPSAkY29tbWFuZC0+Z2V0T3BlcmF0aW9uKCktPmdldFBhcmFtKCdmb28nKTsKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJGNvbW1hbmQsICRyZXF1ZXN0LCAkcGFyYW0sICRjb21tYW5kWydmb28nXSk7CiAgICAgICAgJHZpc2l0b3ItPmFmdGVyKCRjb21tYW5kLCAkcmVxdWVzdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygKICAgICAgICAgICAgJ0Zvb1t0ZXN0XVtiYXpdPTEmRm9vW3Rlc3RdW0plbmdhX1lhbGwhXT1IRUxMTyZGb29bYmFyXT0xMjMnLAogICAgICAgICAgICByYXd1cmxkZWNvZGUoKHN0cmluZykgJHJlcXVlc3QtPmdldFBvc3RGaWVsZHMoKSkKICAgICAgICApOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/PostFileVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxTZXJ2aWNlXENsaWVudDsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFNlcnZpY2VEZXNjcmlwdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUG9zdEZpbGU7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0XFBvc3RGaWxlVmlzaXRvciBhcyBWaXNpdG9yOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVxdWVzdFxQb3N0RmlsZVZpc2l0b3IKICovCmNsYXNzIFBvc3RGaWxlVmlzaXRvclRlc3QgZXh0ZW5kcyBBYnN0cmFjdFZpc2l0b3JUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZpc2l0c0xvY2F0aW9uKCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHBhcmFtID0gJHRoaXMtPmdldE5lc3RlZENvbW1hbmQoJ3Bvc3RGaWxlJyktPmdldFBhcmFtKCdmb28nKTsKCiAgICAgICAgLy8gVGVzdCB1c2luZyBhIHBhdGggdG8gYSBmaWxlCiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVxdWVzdCwgJHBhcmFtLT5zZXRTZW50QXMoJ3Rlc3RfMycpLCBfX0ZJTEVfXyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCAkdGhpcy0+cmVxdWVzdC0+Z2V0UG9zdEZpbGUoJ3Rlc3RfMycpKTsKCiAgICAgICAgLy8gVGVzdCB3aXRoIGEgUG9zdEZpbGUKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXF1ZXN0LCAkcGFyYW0tPnNldFNlbnRBcyhudWxsKSwgbmV3IFBvc3RGaWxlKCdiYXonLCBfX0ZJTEVfXykpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgJHRoaXMtPnJlcXVlc3QtPmdldFBvc3RGaWxlKCdiYXonKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWaXNpdHNMb2NhdGlvbldpdGhNdWx0aXBsZUZpbGVzKCkKICAgIHsKICAgICAgICAkZGVzY3JpcHRpb24gPSBTZXJ2aWNlRGVzY3JpcHRpb246OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdEb1Bvc3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnZm9vJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3Bvc3RGaWxlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiBhcnJheSgnc3RyaW5nJywgJ2FycmF5JykKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDowXHJcblxyXG4iKSk7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJGNsaWVudC0+c2V0RGVzY3JpcHRpb24oJGRlc2NyaXB0aW9uKTsKICAgICAgICAkY29tbWFuZCA9ICRjbGllbnQtPmdldENvbW1hbmQoJ0RvUG9zdCcsIGFycmF5KCdmb28nID0+IGFycmF5KF9fRklMRV9fLCBfX0ZJTEVfXykpKTsKICAgICAgICAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgICRyZWNlaXZlZCA9ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cygpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnbmFtZT0iZm9vWzBdIjsnLCAkcmVjZWl2ZWRbMF0pOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnbmFtZT0iZm9vWzFdIjsnLCAkcmVjZWl2ZWRbMF0pOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/QueryVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlcXVlc3RcUXVlcnlWaXNpdG9yIGFzIFZpc2l0b3I7CgovKioKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0XFF1ZXJ5VmlzaXRvcgogKi8KY2xhc3MgUXVlcnlWaXNpdG9yVGVzdCBleHRlbmRzIEFic3RyYWN0VmlzaXRvclRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmlzaXRzTG9jYXRpb24oKQogICAgewogICAgICAgICR2aXNpdG9yID0gbmV3IFZpc2l0b3IoKTsKICAgICAgICAkcGFyYW0gPSAkdGhpcy0+Z2V0TmVzdGVkQ29tbWFuZCgncXVlcnknKS0+Z2V0UGFyYW0oJ2ZvbycpLT5zZXRTZW50QXMoJ3Rlc3QnKTsKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXF1ZXN0LCAkcGFyYW0sICcxMjMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAkdGhpcy0+cmVxdWVzdC0+Z2V0UXVlcnkoKS0+Z2V0KCd0ZXN0JykpOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0XFF1ZXJ5VmlzaXRvcgogICAgICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0XEFic3RyYWN0UmVxdWVzdFZpc2l0b3I6OnJlc29sdmVSZWN1cnNpdmVseQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlY3Vyc2l2ZWx5QnVpbGRzUXVlcnlTdHJpbmdzKCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRDb21tYW5kKCdxdWVyeScpOwogICAgICAgICRjb21tYW5kLT5nZXRPcGVyYXRpb24oKS0+Z2V0UGFyYW0oJ2ZvbycpLT5zZXRTZW50QXMoJ0ZvbycpOwogICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKAogICAgICAgICAgICAnRm9vW3Rlc3RdW2Jhel09MSZGb29bdGVzdF1bSmVuZ2FfWWFsbCFdPUhFTExPJkZvb1tiYXJdPTEyMycsCiAgICAgICAgICAgIHJhd3VybGRlY29kZSgkcmVxdWVzdC0+Z2V0UXVlcnkoKSkKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0XEFic3RyYWN0UmVxdWVzdFZpc2l0b3I6OnJlc29sdmVSZWN1cnNpdmVseQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZpbHRlcnNBcmVBcHBsaWVkVG9BcnJheVBhcmFtVHlwZSgpCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0Q29tbWFuZFdpdGhBcnJheVBhcmFtQW5kRmlsdGVycygpOwogICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgICAgICAkcXVlcnkgPSAkcmVxdWVzdC0+Z2V0UXVlcnkoKTsKICAgICAgICAvLyBwYXJhbSB0eXBlICdzdHJpbmcnCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQkFSJywgJHF1ZXJ5LT5nZXQoJ0ZvbycpKTsKICAgICAgICAvLyBwYXJhbSB0eXBlICdhcnJheScKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMsNDU2LDc4OScsICRxdWVyeS0+Z2V0KCdBcnInKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/ResponseBodyVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlcXVlc3RcUmVzcG9uc2VCb2R5VmlzaXRvciBhcyBWaXNpdG9yOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVxdWVzdFxSZXNwb25zZUJvZHlWaXNpdG9yCiAqLwpjbGFzcyBSZXNwb25zZUJvZHlWaXNpdG9yVGVzdCBleHRlbmRzIEFic3RyYWN0VmlzaXRvclRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmlzaXRzTG9jYXRpb24oKQogICAgewogICAgICAgICR2aXNpdG9yID0gbmV3IFZpc2l0b3IoKTsKICAgICAgICAkcGFyYW0gPSAkdGhpcy0+Z2V0TmVzdGVkQ29tbWFuZCgncmVzcG9uc2VfYm9keScpLT5nZXRQYXJhbSgnZm9vJyk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVxdWVzdCwgJHBhcmFtLCBzeXNfZ2V0X3RlbXBfZGlyKCkgLiAnL2Zvby50eHQnKTsKICAgICAgICAkYm9keSA9ICR0aGlzLT5yZWFkQXR0cmlidXRlKCR0aGlzLT5yZXF1ZXN0LCAncmVzcG9uc2VCb2R5Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCcvZm9vLnR4dCcsICRib2R5LT5nZXRVcmkoKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/XmlVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0OwoKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlcXVlc3RcWG1sVmlzaXRvcjsKdXNlIEd1enpsZVxTZXJ2aWNlXENsaWVudDsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcjsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXE9wZXJhdGlvbjsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcRW50aXR5RW5jbG9zaW5nUmVxdWVzdDsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlcXVlc3RcWG1sVmlzaXRvcgogKi8KY2xhc3MgWG1sVmlzaXRvclRlc3QgZXh0ZW5kcyBBYnN0cmFjdFZpc2l0b3JUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24geG1sUHJvdmlkZXIoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd4bWxSb290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyAgICAgICA9PiAndGVzdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZXNwYWNlcycgPT4gJ2h0dHA6Ly9mb28uY29tJwogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdGb28nID0+IGFycmF5KCdsb2NhdGlvbicgPT4gJ3htbCcsICd0eXBlJyA9PiAnc3RyaW5nJyksCiAgICAgICAgICAgICAgICAgICAgICAgICdCYXonID0+IGFycmF5KCdsb2NhdGlvbicgPT4gJ3htbCcsICd0eXBlJyA9PiAnc3RyaW5nJykKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoJ0ZvbycgPT4gJ3Rlc3QnLCAnQmF6JyA9PiAnYmFyJyksCiAgICAgICAgICAgICAgICAnPHRlc3QgeG1sbnM9Imh0dHA6Ly9mb28uY29tIj48Rm9vPnRlc3Q8L0Zvbz48QmF6PmJhcjwvQmF6PjwvdGVzdD4nCiAgICAgICAgICAgICksCiAgICAgICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBjb250ZW50LXR5cGUgaXMgbm90IGFkZGVkCiAgICAgICAgICAgIGFycmF5KGFycmF5KCdwYXJhbWV0ZXJzJyA9PiBhcnJheSgnRm9vJyA9PiBhcnJheSgnbG9jYXRpb24nID0+ICd4bWwnLCAndHlwZScgPT4gJ3N0cmluZycpKSksIGFycmF5KCksICcnKSwKICAgICAgICAgICAgLy8gVGVzdCB3aXRoIGFkZGluZyBhdHRyaWJ1dGVzIGFuZCBubyBuYW1lc3BhY2UKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd4bWxSb290JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAndGVzdCcKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRm9vJyA9PiBhcnJheSgnbG9jYXRpb24nID0+ICd4bWwnLCAndHlwZScgPT4gJ3N0cmluZycsICdkYXRhJyA9PiBhcnJheSgneG1sQXR0cmlidXRlJyA9PiB0cnVlKSkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoJ0ZvbycgPT4gJ3Rlc3QnLCAnQmF6JyA9PiAnYmFyJyksCiAgICAgICAgICAgICAgICAnPHRlc3QgRm9vPSJ0ZXN0Ii8+JwogICAgICAgICAgICApLAogICAgICAgICAgICAvLyBUZXN0IGFkZGluZyB3aXRoIGFuIGFycmF5CiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRm9vJyA9PiBhcnJheSgnbG9jYXRpb24nID0+ICd4bWwnLCAndHlwZScgPT4gJ3N0cmluZycpLAogICAgICAgICAgICAgICAgICAgICAgICAnQmF6JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICAgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQmFyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KCdGb28nID0+ICd0ZXN0JywgJ0JheicgPT4gYXJyYXkoMSwgMikpLAogICAgICAgICAgICAgICAgJzxSZXF1ZXN0PjxGb28+dGVzdDwvRm9vPjxCYXo+PEJhcj4xPC9CYXI+PEJhcj4yPC9CYXI+PC9CYXo+PC9SZXF1ZXN0PicKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gVGVzdCBhZGRpbmcgYW4gb2JqZWN0CiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRm9vJyA9PiBhcnJheSgnbG9jYXRpb24nID0+ICd4bWwnLCAndHlwZScgPT4gJ3N0cmluZycpLAogICAgICAgICAgICAgICAgICAgICAgICAnQmF6JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCYXInID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JhbScgPT4gYXJyYXkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KCdGb28nID0+ICd0ZXN0JywgJ0JheicgPT4gYXJyYXkoJ0JhcicgPT4gJ2FiYycsICdCYW0nID0+ICdmb28nKSksCiAgICAgICAgICAgICAgICAnPFJlcXVlc3Q+PEZvbz50ZXN0PC9Gb28+PEJhej48QmFyPmFiYzwvQmFyPjxCYW0+Zm9vPC9CYW0+PC9CYXo+PC9SZXF1ZXN0PicKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gQWRkIGFuIGFycmF5IHRoYXQgY29udGFpbnMgYW4gb2JqZWN0CiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQmF6JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICAgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyAgICAgPT4gJ0JhcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KCdBJyA9PiBhcnJheSgpLCAnQicgPT4gYXJyYXkoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgnQmF6JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICBhcnJheSgnQScgPT4gJzEnLCAnQicgPT4gJzInKSwKICAgICAgICAgICAgICAgICAgICBhcnJheSgnQScgPT4gJzMnLCAnQicgPT4gJzQnKQogICAgICAgICAgICAgICAgKSksCiAgICAgICAgICAgICAgICAnPFJlcXVlc3Q+PEJhej48QmFyPjxBPjE8L0E+PEI+MjwvQj48L0Jhcj48QmFyPjxBPjM8L0E+PEI+NDwvQj48L0Jhcj48L0Jhej48L1JlcXVlc3Q+JwogICAgICAgICAgICApLAogICAgICAgICAgICAvLyBBZGQgYW4gb2JqZWN0IG9mIGF0dHJpYnV0ZXMKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdGb28nID0+IGFycmF5KCdsb2NhdGlvbicgPT4gJ3htbCcsICd0eXBlJyA9PiAnc3RyaW5nJyksCiAgICAgICAgICAgICAgICAgICAgICAgICdCYXonID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JhcicgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnLCAnZGF0YScgPT4gYXJyYXkoJ3htbEF0dHJpYnV0ZScgPT4gdHJ1ZSkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCYW0nID0+IGFycmF5KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgnRm9vJyA9PiAndGVzdCcsICdCYXonID0+IGFycmF5KCdCYXInID0+ICdhYmMnLCAnQmFtJyA9PiAnZm9vJykpLAogICAgICAgICAgICAgICAgJzxSZXF1ZXN0PjxGb28+dGVzdDwvRm9vPjxCYXogQmFyPSJhYmMiPjxCYW0+Zm9vPC9CYW0+PC9CYXo+PC9SZXF1ZXN0PicKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gQ2hlY2sgb3JkZXIgZG9lc24ndCBtYXR0ZXIKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdGb28nID0+IGFycmF5KCdsb2NhdGlvbicgPT4gJ3htbCcsICd0eXBlJyA9PiAnc3RyaW5nJyksCiAgICAgICAgICAgICAgICAgICAgICAgICdCYXonID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JhcicgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnLCAnZGF0YScgPT4gYXJyYXkoJ3htbEF0dHJpYnV0ZScgPT4gdHJ1ZSkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCYW0nID0+IGFycmF5KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgnRm9vJyA9PiAndGVzdCcsICdCYXonID0+IGFycmF5KCdCYW0nID0+ICdmb28nLCAnQmFyJyA9PiAnYWJjJykpLAogICAgICAgICAgICAgICAgJzxSZXF1ZXN0PjxGb28+dGVzdDwvRm9vPjxCYXogQmFyPSJhYmMiPjxCYW0+Zm9vPC9CYW0+PC9CYXo+PC9SZXF1ZXN0PicKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gQWRkIHZhbHVlcyB3aXRoIGN1c3RvbSBuYW1lc3BhY2VzCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRm9vJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbE5hbWVzcGFjZScgPT4gJ2h0dHA6Ly9mb28uY29tJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGFycmF5KCdGb28nID0+ICd0ZXN0JyksCiAgICAgICAgICAgICAgICAnPFJlcXVlc3Q+PEZvbyB4bWxucz0iaHR0cDovL2Zvby5jb20iPnRlc3Q8L0Zvbz48L1JlcXVlc3Q+JwogICAgICAgICAgICApLAogICAgICAgICAgICAvLyBBZGQgYXR0cmlidXRlcyB3aXRoIGN1c3RvbSBuYW1lc3BhY2UgcHJlZml4CiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnV3JhcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb28nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4c2k6YmF6JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbE5hbWVzcGFjZScgPT4gJ2h0dHA6Ly9mb28uY29tJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxBdHRyaWJ1dGUnID0+IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoJ1dyYXAnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdGb28nID0+ICd0ZXN0JwogICAgICAgICAgICAgICAgKSksCiAgICAgICAgICAgICAgICAnPFJlcXVlc3Q+PFdyYXAgeHNpOmJhej0idGVzdCIgeG1sbnM6eHNpPSJodHRwOi8vZm9vLmNvbSIvPjwvUmVxdWVzdD4nCiAgICAgICAgICAgICksCiAgICAgICAgICAgIC8vIEFkZCBub2RlcyB3aXRoIGN1c3RvbSBuYW1lc3BhY2UgcHJlZml4CiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnV3JhcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb28nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICd4c2k6Rm9vJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbE5hbWVzcGFjZScgPT4gJ2h0dHA6Ly9mb29iYXIuY29tJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgnV3JhcCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0ZvbycgPT4gJ3Rlc3QnCiAgICAgICAgICAgICAgICApKSwKICAgICAgICAgICAgICAgICc8UmVxdWVzdD48V3JhcD48eHNpOkZvbyB4bWxuczp4c2k9Imh0dHA6Ly9mb29iYXIuY29tIj50ZXN0PC94c2k6Rm9vPjwvV3JhcD48L1JlcXVlc3Q+JwogICAgICAgICAgICApLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxOYW1lc3BhY2UnID0+ICdodHRwOi8vZm9vLmNvbScKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgnRm9vJyA9PiAnPGgxPlRoaXMgaXMgYSB0aXRsZTwvaDE+JyksCiAgICAgICAgICAgICAgICAnPFJlcXVlc3Q+PEZvbyB4bWxucz0iaHR0cDovL2Zvby5jb20iPjwhW0NEQVRBWzxoMT5UaGlzIGlzIGEgdGl0bGU8L2gxPl1dPjwvRm9vPjwvUmVxdWVzdD4nCiAgICAgICAgICAgICksCiAgICAgICAgICAgIC8vIEZsYXQgYXJyYXkgYXQgdG9wIGxldmVsCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQmFycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgICAgID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgICAgID0+IGFycmF5KCd4bWxGbGF0dGVuZWQnID0+IHRydWUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnICAgICAgID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnICAgICA9PiAnQmFyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBJyA9PiBhcnJheSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQicgPT4gYXJyYXkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ0Jvb3MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnICAgICA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnICAgICA9PiBhcnJheSgneG1sRmxhdHRlbmVkJyA9PiB0cnVlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbXMnICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnQm9vJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQmFycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdBJyA9PiAnMScsICdCJyA9PiAnMicpLAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnQScgPT4gJzMnLCAnQicgPT4gJzQnKQogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ0Jvb3MnID0+IGFycmF5KCd0ZXN0JywgJzEyMycpCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJzxSZXF1ZXN0PjxCYXI+PEE+MTwvQT48Qj4yPC9CPjwvQmFyPjxCYXI+PEE+MzwvQT48Qj40PC9CPjwvQmFyPjxCb28+dGVzdDwvQm9vPjxCb28+MTIzPC9Cb28+PC9SZXF1ZXN0PicKICAgICAgICAgICAgKSwKICAgICAgICAgICAgLy8gTmVzdGVkIGZsYXQgYXJyYXlzCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnRGVsZXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoJ3htbEZsYXR0ZW5lZCcgPT4gdHJ1ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgICAgICAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyAgICAgPT4gJ0l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBJyA9PiBhcnJheSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCJyA9PiBhcnJheSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnQScgPT4gJzEnLCAnQicgPT4gJzInKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdBJyA9PiAnMycsICdCJyA9PiAnNCcpCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJzxSZXF1ZXN0PjxEZWxldGU+PEl0ZW0+PEE+MTwvQT48Qj4yPC9CPjwvSXRlbT48SXRlbT48QT4zPC9BPjxCPjQ8L0I+PC9JdGVtPjwvRGVsZXRlPjwvUmVxdWVzdD4nCiAgICAgICAgICAgICkKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciB4bWxQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNlcmlhbGl6ZXNYbWwoYXJyYXkgJG9wZXJhdGlvbiwgYXJyYXkgJGlucHV0LCAkeG1sKQogICAgewogICAgICAgICRvcGVyYXRpb24gPSBuZXcgT3BlcmF0aW9uKCRvcGVyYXRpb24pOwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcU2VydmljZVxDb21tYW5kXE9wZXJhdGlvbkNvbW1hbmQnKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheSgkaW5wdXQsICRvcGVyYXRpb24pKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CiAgICAgICAgJGNvbW1hbmQtPnNldENsaWVudChuZXcgQ2xpZW50KCdodHRwOi8vd3d3LnRlc3QuY29tL3NvbWUvcGF0aC5waHAnKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgIGlmICghZW1wdHkoJGlucHV0KSkgewogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhcHBsaWNhdGlvbi94bWwnLCAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0SGVhZGVyKCdDb250ZW50LVR5cGUnKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHJlcXVlc3QtPmdldEhlYWRlcignQ29udGVudC1UeXBlJykpOwogICAgICAgIH0KICAgICAgICAkYm9keSA9IHN0cl9yZXBsYWNlKGFycmF5KCJcbiIsICI8P3htbCB2ZXJzaW9uPVwiMS4wXCI/PiIpLCAnJywgKHN0cmluZykgJHJlcXVlc3QtPmdldEJvZHkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkeG1sLCAkYm9keSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzQ29udGVudFR5cGVBbmRUb3BMZXZlbFZhbHVlcygpCiAgICB7CiAgICAgICAgJG9wZXJhdGlvbiA9IG5ldyBPcGVyYXRpb24oYXJyYXkoCiAgICAgICAgICAgICdkYXRhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd4bWxSb290JyAgICAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAndGVzdCcsCiAgICAgICAgICAgICAgICAgICAgJ25hbWVzcGFjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAneHNpJyA9PiAnaHR0cDovL2Zvby5jb20nCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRm9vJyA9PiBhcnJheSgnbG9jYXRpb24nID0+ICd4bWwnLCAndHlwZScgPT4gJ3N0cmluZycpLAogICAgICAgICAgICAgICAgJ0JheicgPT4gYXJyYXkoJ2xvY2F0aW9uJyA9PiAneG1sJywgJ3R5cGUnID0+ICdzdHJpbmcnKQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcU2VydmljZVxDb21tYW5kXE9wZXJhdGlvbkNvbW1hbmQnKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheShhcnJheSgKICAgICAgICAgICAgICAgICdGb28nID0+ICd0ZXN0JywKICAgICAgICAgICAgICAgICdCYXonID0+ICdiYXInCiAgICAgICAgICAgICksICRvcGVyYXRpb24pKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CgogICAgICAgICRjb21tYW5kLT5zZXRDbGllbnQobmV3IENsaWVudCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjb21tYW5kLT5wcmVwYXJlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYXBwbGljYXRpb24veG1sJywgKHN0cmluZykgJHJlcXVlc3QtPmdldEhlYWRlcignQ29udGVudC1UeXBlJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoCiAgICAgICAgICAgICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4nIC4gIlxuIgogICAgICAgICAgICAuICc8dGVzdCB4bWxuczp4c2k9Imh0dHA6Ly9mb28uY29tIj48Rm9vPnRlc3Q8L0Zvbz48QmF6PmJhcjwvQmF6PjwvdGVzdD4nIC4gIlxuIiwKICAgICAgICAgICAgKHN0cmluZykgJHJlcXVlc3QtPmdldEJvZHkoKQogICAgICAgICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5DaGFuZ2VDb250ZW50VHlwZSgpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgWG1sVmlzaXRvcigpOwogICAgICAgICR2aXNpdG9yLT5zZXRDb250ZW50VHlwZUhlYWRlcignYXBwbGljYXRpb24vZm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYXBwbGljYXRpb24vZm9vJywgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHZpc2l0b3IsICdjb250ZW50VHlwZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkFkZEFycmF5T2ZTaW1wbGVUeXBlcygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSBuZXcgRW50aXR5RW5jbG9zaW5nUmVxdWVzdCgnUE9TVCcsICdodHRwOi8vZm9vLmNvbScpOwogICAgICAgICR2aXNpdG9yID0gbmV3IFhtbFZpc2l0b3IoKTsKICAgICAgICAkcGFyYW0gPSBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAndHlwZScgICAgID0+ICdvYmplY3QnLAogICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAnbmFtZScgICAgID0+ICdPdXQnLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnTm9kZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgICAgID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ21pbicgICAgICA9PiAxLAogICAgICAgICAgICAgICAgICAgICdpdGVtcycgICAgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnLCAnc2VudEFzJyA9PiAnTm9kZScpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJHBhcmFtLT5zZXRQYXJlbnQobmV3IE9wZXJhdGlvbihhcnJheSgKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3htbFJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnVGVzdCcsCiAgICAgICAgICAgICAgICAgICAgJ25hbWVzcGFjZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnaHR0cHM6Ly9mb28vJwogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpKTsKCiAgICAgICAgJHZhbHVlID0gYXJyYXkoJ05vZGVzJyA9PiBhcnJheSgnZm9vJywgJ2JheicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+dmFsaWRhdG9yLT52YWxpZGF0ZSgkcGFyYW0sICR2YWx1ZSkpOwogICAgICAgICR2aXNpdG9yLT52aXNpdCgkdGhpcy0+Y29tbWFuZCwgJHJlcXVlc3QsICRwYXJhbSwgJHZhbHVlKTsKICAgICAgICAkdmlzaXRvci0+YWZ0ZXIoJHRoaXMtPmNvbW1hbmQsICRyZXF1ZXN0KTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygKICAgICAgICAgICAgIjw/eG1sIHZlcnNpb249XCIxLjBcIj8+XG4iCiAgICAgICAgICAgIC4gIjxUZXN0IHhtbG5zPVwiaHR0cHM6Ly9mb28vXCI+PE91dD48Tm9kZXM+PE5vZGU+Zm9vPC9Ob2RlPjxOb2RlPmJhejwvTm9kZT48L05vZGVzPjwvT3V0PjwvVGVzdD5cbiIsCiAgICAgICAgICAgIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRCb2R5KCkKICAgICAgICApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQWRkTXVsdGlwbGVOYW1lc3BhY2VzVG9Sb290KCkKICAgIHsKICAgICAgICAkb3BlcmF0aW9uID0gbmV3IE9wZXJhdGlvbihhcnJheSgKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3htbFJvb3QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnSGknLAogICAgICAgICAgICAgICAgICAgICduYW1lc3BhY2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3hzaScgPT4gJ2h0dHA6Ly9mb28uY29tJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbycgPT4gJ2h0dHA6Ly9mb29iYXIuY29tJwogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0ZvbycgPT4gYXJyYXkoJ2xvY2F0aW9uJyA9PiAneG1sJywgJ3R5cGUnID0+ICdzdHJpbmcnKQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcU2VydmljZVxDb21tYW5kXE9wZXJhdGlvbkNvbW1hbmQnKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheShhcnJheSgKICAgICAgICAgICAgICAgICdGb28nID0+ICd0ZXN0JwogICAgICAgICAgICApLCAkb3BlcmF0aW9uKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICAkY29tbWFuZC0+c2V0Q2xpZW50KG5ldyBDbGllbnQoKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FwcGxpY2F0aW9uL3htbCcsIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKAogICAgICAgICAgICAnPD94bWwgdmVyc2lvbj0iMS4wIj8+JyAuICJcbiIKICAgICAgICAgICAgLiAnPEhpIHhtbG5zOnhzaT0iaHR0cDovL2Zvby5jb20iIHhtbG5zOmZvbz0iaHR0cDovL2Zvb2Jhci5jb20iPjxGb28+dGVzdDwvRm9vPjwvSGk+JyAuICJcbiIsCiAgICAgICAgICAgIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRCb2R5KCkKICAgICAgICApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsdWVzQXJlRmlsdGVyZWQoKQogICAgewogICAgICAgICRvcGVyYXRpb24gPSBuZXcgT3BlcmF0aW9uKGFycmF5KAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRm9vJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICAgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnICA9PiBhcnJheSgnc3RydG91cHBlcicpCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0JhcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgICAgICAgICAndHlwZScgICAgID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0JheicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsdGVycycgID0+IGFycmF5KCdzdHJ0b3VwcGVyJykKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxPcGVyYXRpb25Db21tYW5kJykKICAgICAgICAgICAgLT5zZXRDb25zdHJ1Y3RvckFyZ3MoYXJyYXkoYXJyYXkoCiAgICAgICAgICAgICAgICAnRm9vJyA9PiAndGVzdCcsCiAgICAgICAgICAgICAgICAnQmFyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQmF6JyA9PiAnYWJjJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApLCAkb3BlcmF0aW9uKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwoKICAgICAgICAkY29tbWFuZC0+c2V0Q2xpZW50KG5ldyBDbGllbnQoKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoCiAgICAgICAgICAgICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4nIC4gIlxuIgogICAgICAgICAgICAuICc8UmVxdWVzdD48Rm9vPlRFU1Q8L0Zvbz48QmFyPjxCYXo+QUJDPC9CYXo+PC9CYXI+PC9SZXF1ZXN0PicgLiAiXG4iLAogICAgICAgICAgICAoc3RyaW5nKSAkcmVxdWVzdC0+Z2V0Qm9keSgpCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNraXBzTnVsbFZhbHVlcygpCiAgICB7CiAgICAgICAgJG9wZXJhdGlvbiA9IG5ldyBPcGVyYXRpb24oYXJyYXkoCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdGb28nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnICAgICA9PiAnc3RyaW5nJwogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdCYXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdCYXonID0+IGFycmF5KCksCiAgICAgICAgICAgICAgICAgICAgICAgICdCYW0nID0+IGFycmF5KCksCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdBcnInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyAgPT4gJ2FycmF5JywKICAgICAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcT3BlcmF0aW9uQ29tbWFuZCcpCiAgICAgICAgICAgIC0+c2V0Q29uc3RydWN0b3JBcmdzKGFycmF5KGFycmF5KAogICAgICAgICAgICAgICAgJ0ZvbycgPT4gbnVsbCwKICAgICAgICAgICAgICAgICdCYXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdCYXInID0+IG51bGwsCiAgICAgICAgICAgICAgICAgICAgJ0JhbScgPT4gJ3Rlc3QnCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ0FycicgPT4gYXJyYXkobnVsbCkKICAgICAgICAgICAgKSwgJG9wZXJhdGlvbikpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKCiAgICAgICAgJGNvbW1hbmQtPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKAogICAgICAgICAgICAnPD94bWwgdmVyc2lvbj0iMS4wIj8+JyAuICJcbiIKICAgICAgICAgICAgLiAnPFJlcXVlc3Q+PEJhcj48QmFtPnRlc3Q8L0JhbT48L0Jhcj48L1JlcXVlc3Q+JyAuICJcbiIsCiAgICAgICAgICAgIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRCb2R5KCkKICAgICAgICApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzWG1sRW5jb2RpbmcoKQogICAgewogICAgICAgICRvcGVyYXRpb24gPSBuZXcgT3BlcmF0aW9uKGFycmF5KAogICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAneG1sRW5jb2RpbmcnID0+ICdVVEYtOCcKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0ZvbycgPT4gYXJyYXkoJ2xvY2F0aW9uJyA9PiAneG1sJykKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcU2VydmljZVxDb21tYW5kXE9wZXJhdGlvbkNvbW1hbmQnKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheShhcnJheSgnRm9vJyA9PiAndGVzdCcpLCAkb3BlcmF0aW9uKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICRjb21tYW5kLT5zZXRDbGllbnQobmV3IENsaWVudCgpKTsKICAgICAgICAkcmVxdWVzdCA9ICRjb21tYW5kLT5wcmVwYXJlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygKICAgICAgICAgICAgJzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+JyAuICJcbiIKICAgICAgICAgICAgICAgIC4gJzxSZXF1ZXN0PjxGb28+dGVzdDwvRm9vPjwvUmVxdWVzdD4nIC4gIlxuIiwKICAgICAgICAgICAgKHN0cmluZykgJHJlcXVlc3QtPmdldEJvZHkoKQogICAgICAgICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NTZW5kaW5nWG1sUGF5bG9hZElmTm9YbWxQYXJhbXNXZXJlU2V0KCkKICAgIHsKICAgICAgICAkb3BlcmF0aW9uID0gbmV3IE9wZXJhdGlvbihhcnJheSgKICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdQT1NUJywKICAgICAgICAgICAgJ2RhdGEnID0+IGFycmF5KCd4bWxBbGxvd0VtcHR5JyA9PiB0cnVlKSwKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KCdGb28nID0+IGFycmF5KCdsb2NhdGlvbicgPT4gJ3htbCcpKQogICAgICAgICkpOwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcU2VydmljZVxDb21tYW5kXE9wZXJhdGlvbkNvbW1hbmQnKQogICAgICAgICAgICAtPnNldENvbnN0cnVjdG9yQXJncyhhcnJheShhcnJheSgpLCAkb3BlcmF0aW9uKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICRjb21tYW5kLT5zZXRDbGllbnQobmV3IENsaWVudCgnaHR0cDovL2Zvby5jb20nKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkY29tbWFuZC0+cHJlcGFyZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoCiAgICAgICAgICAgICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4nIC4gIlxuIgogICAgICAgICAgICAuICc8UmVxdWVzdC8+JyAuICJcbiIsCiAgICAgICAgICAgIChzdHJpbmcpICRyZXF1ZXN0LT5nZXRCb2R5KCkKICAgICAgICApOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/AbstractResponseVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcTW9ja0NvbW1hbmQ7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwoKYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RSZXNwb25zZVZpc2l0b3JUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKiogQHZhciBSZXNwb25zZSAqLwogICAgcHJvdGVjdGVkICRyZXNwb25zZTsKCiAgICAvKiogQHZhciBNb2NrQ29tbWFuZCAqLwogICAgcHJvdGVjdGVkICRjb21tYW5kOwoKICAgIC8qKiBAdmFyIGFycmF5ICovCiAgICBwcm90ZWN0ZWQgJHZhbHVlOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnZhbHVlID0gYXJyYXkoKTsKICAgICAgICAkdGhpcy0+Y29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZCgpOwogICAgICAgICR0aGlzLT5yZXNwb25zZSA9IG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAnWC1Gb28nICAgICAgICAgID0+ICdiYXInLAogICAgICAgICAgICAnQ29udGVudC1MZW5ndGgnID0+IDMsCiAgICAgICAgICAgICdDb250ZW50LVR5cGUnICAgPT4gJ3RleHQvcGxhaW4nCiAgICAgICAgKSwgJ0ZvbycpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/BodyVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXI7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcQm9keVZpc2l0b3IgYXMgVmlzaXRvcjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlc3BvbnNlXEJvZHlWaXNpdG9yCiAqLwpjbGFzcyBCb2R5VmlzaXRvclRlc3QgZXh0ZW5kcyBBYnN0cmFjdFJlc3BvbnNlVmlzaXRvclRlc3QKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWaXNpdHNMb2NhdGlvbigpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoJ2xvY2F0aW9uJyA9PiAnYm9keScsICduYW1lJyA9PiAnZm9vJykpOwogICAgICAgICR2aXNpdG9yLT52aXNpdCgkdGhpcy0+Y29tbWFuZCwgJHRoaXMtPnJlc3BvbnNlLCAkcGFyYW0sICR0aGlzLT52YWx1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnRm9vJywgKHN0cmluZykgJHRoaXMtPnZhbHVlWydmb28nXSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/HeaderVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXI7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcSGVhZGVyVmlzaXRvciBhcyBWaXNpdG9yOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcSGVhZGVyVmlzaXRvcgogKi8KY2xhc3MgSGVhZGVyVmlzaXRvclRlc3QgZXh0ZW5kcyBBYnN0cmFjdFJlc3BvbnNlVmlzaXRvclRlc3QKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWaXNpdHNMb2NhdGlvbigpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICduYW1lJyAgICAgPT4gJ0NvbnRlbnRUeXBlJywKICAgICAgICAgICAgJ3NlbnRBcycgICA9PiAnQ29udGVudC1UeXBlJwogICAgICAgICkpOwogICAgICAgICR2aXNpdG9yLT52aXNpdCgkdGhpcy0+Y29tbWFuZCwgJHRoaXMtPnJlc3BvbnNlLCAkcGFyYW0sICR0aGlzLT52YWx1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGV4dC9wbGFpbicsICR0aGlzLT52YWx1ZVsnQ29udGVudFR5cGUnXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWaXNpdHNMb2NhdGlvbldpdGhGaWx0ZXJzKCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHBhcmFtID0gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAnaGVhZGVyJywKICAgICAgICAgICAgJ25hbWUnICAgICA9PiAnQ29udGVudC1UeXBlJywKICAgICAgICAgICAgJ2ZpbHRlcnMnICA9PiBhcnJheSgnc3RydG91cHBlcicpCiAgICAgICAgKSk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVzcG9uc2UsICRwYXJhbSwgJHRoaXMtPnZhbHVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdURVhUL1BMQUlOJywgJHRoaXMtPnZhbHVlWydDb250ZW50LVR5cGUnXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWaXNpdHNNYXBwZWRQcmVmaXhIZWFkZXJzKCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHBhcmFtID0gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ2xvY2F0aW9uJyAgICAgICAgICAgICA9PiAnaGVhZGVyJywKICAgICAgICAgICAgJ25hbWUnICAgICAgICAgICAgICAgICA9PiAnTWV0YWRhdGEnLAogICAgICAgICAgICAnc2VudEFzJyAgICAgICAgICAgICAgID0+ICdYLUJhei0nLAogICAgICAgICAgICAndHlwZScgICAgICAgICAgICAgICAgID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgICAgICAkcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgKICAgICAgICAgICAgJ1gtQmF6LVRlc3QnICAgICA9PiAnQUJDJywKICAgICAgICAgICAgJ1gtQmF6LUJhcicgICAgICA9PiBhcnJheSgnMTIzJywgJzQ1NicpLAogICAgICAgICAgICAnQ29udGVudC1MZW5ndGgnID0+IDMKICAgICAgICApLCAnRm9vJyk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkcmVzcG9uc2UsICRwYXJhbSwgJHRoaXMtPnZhbHVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnTWV0YWRhdGEnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1Rlc3QnID0+ICdBQkMnLAogICAgICAgICAgICAgICAgJ0JhcicgID0+IGFycmF5KCcxMjMnLCAnNDU2JykKICAgICAgICAgICAgKQogICAgICAgICksICR0aGlzLT52YWx1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZ3JvdXAgaXNzdWUtMzk5CiAgICAgKiBAbGluayAgaHR0cHM6Ly9naXRodWIuY29tL2d1enpsZS9ndXp6bGUvaXNzdWVzLzM5OQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERpc2NhcmRpbmdVbmtub3duSGVhZGVycygpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICdsb2NhdGlvbicgICAgICAgICAgICAgPT4gJ2hlYWRlcicsCiAgICAgICAgICAgICduYW1lJyAgICAgICAgICAgICAgICAgPT4gJ0NvbnRlbnQtVHlwZScsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUGFyYW1ldGVycycgPT4gZmFsc2UKICAgICAgICApKTsKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXNwb25zZSwgJHBhcmFtLCAkdGhpcy0+dmFsdWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3RleHQvcGxhaW4nLCAkdGhpcy0+dmFsdWVbJ0NvbnRlbnQtVHlwZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlOb3RIYXNLZXkoJ1gtRm9vJywgJHRoaXMtPnZhbHVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBncm91cCBpc3N1ZS0zOTkKICAgICAqIEBsaW5rICBodHRwczovL2dpdGh1Yi5jb20vZ3V6emxlL2d1enpsZS9pc3N1ZXMvMzk5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGlzY2FyZGluZ1Vua25vd25Qcm9wZXJ0aWVzV2l0aEFsaWFzaW5nKCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHBhcmFtID0gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ2xvY2F0aW9uJyAgICAgICAgICAgICA9PiAnaGVhZGVyJywKICAgICAgICAgICAgJ25hbWUnICAgICAgICAgICAgICAgICA9PiAnQ29udGVudFR5cGUnLAogICAgICAgICAgICAnc2VudEFzJyAgICAgICAgICAgICAgID0+ICdDb250ZW50LVR5cGUnLAogICAgICAgICAgICAnYWRkaXRpb25hbFBhcmFtZXRlcnMnID0+IGZhbHNlCiAgICAgICAgKSk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVzcG9uc2UsICRwYXJhbSwgJHRoaXMtPnZhbHVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXh0L3BsYWluJywgJHRoaXMtPnZhbHVlWydDb250ZW50VHlwZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlOb3RIYXNLZXkoJ1gtRm9vJywgJHRoaXMtPnZhbHVlKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/JsonVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXI7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcSnNvblZpc2l0b3IgYXMgVmlzaXRvcjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlc3BvbnNlXEpzb25WaXNpdG9yCiAqLwpjbGFzcyBKc29uVmlzaXRvclRlc3QgZXh0ZW5kcyBBYnN0cmFjdFJlc3BvbnNlVmlzaXRvclRlc3QKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCZWZvcmVNZXRob2RQYXJzZXNYbWwoKQogICAgewogICAgICAgICR2aXNpdG9yID0gbmV3IFZpc2l0b3IoKTsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBYnN0cmFjdENvbW1hbmQnKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2dldFJlc3BvbnNlJykpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKICAgICAgICAkY29tbWFuZC0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0UmVzcG9uc2UnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKG5ldyBSZXNwb25zZSgyMDAsIG51bGwsICd7ImZvbyI6ImJhciJ9JykpKTsKICAgICAgICAkcmVzdWx0ID0gYXJyYXkoKTsKICAgICAgICAkdmlzaXRvci0+YmVmb3JlKCRjb21tYW5kLCAkcmVzdWx0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmb28nID0+ICdiYXInKSwgJHJlc3VsdCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWaXNpdHNMb2NhdGlvbigpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICduYW1lJyA9PiAnZm9vJywKICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZmlsdGVycycgPT4gJ3N0cnRvdXBwZXInLAogICAgICAgICAgICAgICAgJ3R5cGUnICAgID0+ICdzdHJpbmcnCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+dmFsdWUgPSBhcnJheSgnZm9vJyA9PiBhcnJheSgnYScsICdiJywgJ2MnKSk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVzcG9uc2UsICRwYXJhbSwgJHRoaXMtPnZhbHVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdBJywgJ0InLCAnQycpLCAkdGhpcy0+dmFsdWVbJ2ZvbyddKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlbmFtZXNUb3BMZXZlbFZhbHVlcygpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgID0+ICdmb28nLAogICAgICAgICAgICAnc2VudEFzJyA9PiAnQmF6JywKICAgICAgICAgICAgJ3R5cGUnICAgPT4gJ3N0cmluZycsCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPnZhbHVlID0gYXJyYXkoJ0JheicgPT4gJ3Rlc3QnKTsKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXNwb25zZSwgJHBhcmFtLCAkdGhpcy0+dmFsdWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2ZvbycgPT4gJ3Rlc3QnKSwgJHRoaXMtPnZhbHVlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlbmFtZXNEb2VzTm90RmFpbEZvck5vbkV4aXN0ZW50S2V5KCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHBhcmFtID0gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgICAgICAgID0+ICdmb28nLAogICAgICAgICAgICAndHlwZScgICAgICAgICAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdiYXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyAgICAgID0+ICdiYXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnICAgID0+ICdiYXonLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+dmFsdWUgPSBhcnJheSgnZm9vJyA9PiBhcnJheSgndW5rbm93bicgPT4gJ1Vua25vd24nKSk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVzcG9uc2UsICRwYXJhbSwgJHRoaXMtPnZhbHVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmb28nID0+IGFycmF5KCd1bmtub3duJyA9PiAnVW5rbm93bicpKSwgJHRoaXMtPnZhbHVlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRyYXZlcnNlc09iamVjdHNBbmRBcHBsaWVzRmlsdGVycygpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICduYW1lJyA9PiAnZm9vJywKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZm9vJyA9PiBhcnJheSgnZmlsdGVycycgPT4gJ3N0cnRvdXBwZXInKSwKICAgICAgICAgICAgICAgICdiYXInID0+IGFycmF5KCdmaWx0ZXJzJyA9PiAnc3RydG9sb3dlcicpCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+dmFsdWUgPSBhcnJheSgnZm9vJyA9PiBhcnJheSgnZm9vJyA9PiAnaGVsbG8nLCAnYmFyJyA9PiAnVEhFUkUnKSk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVzcG9uc2UsICRwYXJhbSwgJHRoaXMtPnZhbHVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmb28nID0+ICdIRUxMTycsICdiYXInID0+ICd0aGVyZScpLCAkdGhpcy0+dmFsdWVbJ2ZvbyddKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBncm91cCBpc3N1ZS0zOTkKICAgICAqIEBsaW5rICBodHRwczovL2dpdGh1Yi5jb20vZ3V6emxlL2d1enpsZS9pc3N1ZXMvMzk5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGlzY2FyZGluZ1Vua25vd25Qcm9wZXJ0aWVzKCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHBhcmFtID0gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgICAgICAgICAgICAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3R5cGUnICAgICAgICAgICAgICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnICAgICAgICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdiYXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJ2JhcicsCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApLAogICAgICAgICkpOwogICAgICAgICR0aGlzLT52YWx1ZSA9IGFycmF5KCdmb28nID0+IGFycmF5KCdiYXInID0+IDE1LCAndW5rbm93bicgPT4gJ1Vua25vd24nKSk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVzcG9uc2UsICRwYXJhbSwgJHRoaXMtPnZhbHVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmb28nID0+IGFycmF5KCdiYXInID0+IDE1KSksICR0aGlzLT52YWx1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZ3JvdXAgaXNzdWUtMzk5CiAgICAgKiBAbGluayAgaHR0cHM6Ly9naXRodWIuY29tL2d1enpsZS9ndXp6bGUvaXNzdWVzLzM5OQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERpc2NhcmRpbmdVbmtub3duUHJvcGVydGllc1dpdGhBbGlhc2luZygpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgICAgICAgICAgICAgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICd0eXBlJyAgICAgICAgICAgICAgICAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gZmFsc2UsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyAgICAgICAgICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnYmFyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbmFtZScgICA9PiAnYmFyJywKICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnYmF6JywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPnZhbHVlID0gYXJyYXkoJ2ZvbycgPT4gYXJyYXkoJ2JheicgPT4gMTUsICd1bmtub3duJyA9PiAnVW5rbm93bicpKTsKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXNwb25zZSwgJHBhcmFtLCAkdGhpcy0+dmFsdWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2ZvbycgPT4gYXJyYXkoJ2JhcicgPT4gMTUpKSwgJHRoaXMtPnZhbHVlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFdhbGtzQWRkaXRpb25hbFByb3BlcnRpZXMoKQogICAgewogICAgICAgICR2aXNpdG9yID0gbmV3IFZpc2l0b3IoKTsKICAgICAgICAkcGFyYW0gPSBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAnbmFtZScgICAgICAgICAgICAgICAgID0+ICdmb28nLAogICAgICAgICAgICAndHlwZScgICAgICAgICAgICAgICAgID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdiYXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyA9PiBhcnJheSgnYmFzZTY0X2RlY29kZScpCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+dmFsdWUgPSBhcnJheSgnZm9vJyA9PiBhcnJheSgnYmF6JyA9PiBhcnJheSgnYmFyJyA9PiAnWm05dicpKSk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVzcG9uc2UsICRwYXJhbSwgJHRoaXMtPnZhbHVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkdGhpcy0+dmFsdWVbJ2ZvbyddWydiYXonXVsnYmFyJ10pOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/ReasonPhraseVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXI7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcUmVhc29uUGhyYXNlVmlzaXRvciBhcyBWaXNpdG9yOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcUmVhc29uUGhyYXNlVmlzaXRvcgogKi8KY2xhc3MgUmVhc29uUGhyYXNlVmlzaXRvclRlc3QgZXh0ZW5kcyBBYnN0cmFjdFJlc3BvbnNlVmlzaXRvclRlc3QKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWaXNpdHNMb2NhdGlvbigpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoJ2xvY2F0aW9uJyA9PiAncmVhc29uUGhyYXNlJywgJ25hbWUnID0+ICdwaHJhc2UnKSk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVzcG9uc2UsICRwYXJhbSwgJHRoaXMtPnZhbHVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdPSycsICR0aGlzLT52YWx1ZVsncGhyYXNlJ10pOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/StatusCodeVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXI7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcU3RhdHVzQ29kZVZpc2l0b3IgYXMgVmlzaXRvcjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlc3BvbnNlXFN0YXR1c0NvZGVWaXNpdG9yCiAqLwpjbGFzcyBTdGF0dXNDb2RlVmlzaXRvclRlc3QgZXh0ZW5kcyBBYnN0cmFjdFJlc3BvbnNlVmlzaXRvclRlc3QKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWaXNpdHNMb2NhdGlvbigpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoJ2xvY2F0aW9uJyA9PiAnc3RhdHVzQ29kZScsICduYW1lJyA9PiAnY29kZScpKTsKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXNwb25zZSwgJHBhcmFtLCAkdGhpcy0+dmFsdWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMjAwLCAkdGhpcy0+dmFsdWVbJ2NvZGUnXSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/XmlVisitorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZTsKCnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXI7CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlc3BvbnNlOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcWG1sVmlzaXRvciBhcyBWaXNpdG9yOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcWG1sVmlzaXRvcgogKi8KY2xhc3MgWG1sVmlzaXRvclRlc3QgZXh0ZW5kcyBBYnN0cmFjdFJlc3BvbnNlVmlzaXRvclRlc3QKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RCZWZvcmVNZXRob2RQYXJzZXNYbWwoKQogICAgewogICAgICAgICR2aXNpdG9yID0gbmV3IFZpc2l0b3IoKTsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBYnN0cmFjdENvbW1hbmQnKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2dldFJlc3BvbnNlJykpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKICAgICAgICAkY29tbWFuZC0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0UmVzcG9uc2UnKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKG5ldyBSZXNwb25zZSgyMDAsIG51bGwsICc8Zm9vPjxCYXI+dGVzdDwvQmFyPjwvZm9vPicpKSk7CiAgICAgICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICAgICAgJHZpc2l0b3ItPmJlZm9yZSgkY29tbWFuZCwgJHJlc3VsdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnQmFyJyA9PiAndGVzdCcpLCAkcmVzdWx0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEJlZm9yZU1ldGhvZFBhcnNlc1htbFdpdGhOYW1lc3BhY2UoKQogICAgewogICAgICAgICR0aGlzLT5tYXJrVGVzdFNraXBwZWQoIlJlc3BvbnNlL1htbFZpc2l0b3IgY2Fubm90IGFjY2VwdCAneG1sbnMnIGluIHJlc3BvbnNlLCBzZWUgIzM2OCAoaHR0cDovL2dpdC5pby9VU2ExbUEpLiIpOwoKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcQWJzdHJhY3RDb21tYW5kJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdnZXRSZXNwb25zZScpKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CiAgICAgICAgJGNvbW1hbmQtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2dldFJlc3BvbnNlJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShuZXcgUmVzcG9uc2UoMjAwLCBudWxsLCAnPGZvbyB4bWxucz0idXJuOmZvbyI+PGJhcjpCYXIgeG1sbnM6YmFyPSJ1cm46YmFyIj50ZXN0PC9iYXI6QmFyPjwvZm9vPicpKSk7CiAgICAgICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICAgICAgJHZpc2l0b3ItPmJlZm9yZSgkY29tbWFuZCwgJHJlc3VsdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnQmFyJyA9PiAndGVzdCcpLCAkcmVzdWx0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEJlZm9yZU1ldGhvZFBhcnNlc05lc3RlZFhtbCgpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcU2VydmljZVxDb21tYW5kXEFic3RyYWN0Q29tbWFuZCcpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZ2V0UmVzcG9uc2UnKSkKICAgICAgICAgICAgLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygpOwogICAgICAgICRjb21tYW5kLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdnZXRSZXNwb25zZScpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUobmV3IFJlc3BvbnNlKDIwMCwgbnVsbCwgJzxmb28+PEl0ZW1zPjxCYXI+dGVzdDwvQmFyPjwvSXRlbXM+PC9mb28+JykpKTsKICAgICAgICAkcmVzdWx0ID0gYXJyYXkoKTsKICAgICAgICAkdmlzaXRvci0+YmVmb3JlKCRjb21tYW5kLCAkcmVzdWx0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdJdGVtcycgPT4gYXJyYXkoJ0JhcicgPT4gJ3Rlc3QnKSksICRyZXN1bHQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuRXh0cmFjdEFuZFJlbmFtZVRvcExldmVsWG1sVmFsdWVzKCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHBhcmFtID0gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgJ25hbWUnICAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlbnRBcycgICA9PiAnQmFyJwogICAgICAgICkpOwogICAgICAgICR2YWx1ZSA9IGFycmF5KCdCYXInID0+ICd0ZXN0Jyk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVzcG9uc2UsICRwYXJhbSwgJHZhbHVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlIYXNLZXkoJ2ZvbycsICR2YWx1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsICR2YWx1ZVsnZm9vJ10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RW5zdXJlc1JlcGVhdGVkQXJyYXlzQXJlSW5Db3JyZWN0TG9jYXRpb25zKCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHBhcmFtID0gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgJ25hbWUnICAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3NlbnRBcycgICA9PiAnRm9vJywKICAgICAgICAgICAgJ3R5cGUnICAgICA9PiAnYXJyYXknLAogICAgICAgICAgICAnaXRlbXMnICAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdCYXInID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJyksCiAgICAgICAgICAgICAgICAgICAgJ0JheicgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnKSwKICAgICAgICAgICAgICAgICAgICAnQmFtJyA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJHhtbCA9IG5ldyBcU2ltcGxlWE1MRWxlbWVudCgnPFRlc3Q+PEZvbz48QmFyPjE8L0Jhcj48QmF6PjI8L0Jhej48L0Zvbz48L1Rlc3Q+Jyk7CiAgICAgICAgJHZhbHVlID0ganNvbl9kZWNvZGUoanNvbl9lbmNvZGUoJHhtbCksIHRydWUpOwogICAgICAgICR2aXNpdG9yLT52aXNpdCgkdGhpcy0+Y29tbWFuZCwgJHRoaXMtPnJlc3BvbnNlLCAkcGFyYW0sICR2YWx1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ2ZvbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICAgICAgICAgJ0JhcicgPT4gJzEnLAogICAgICAgICAgICAgICAgICAgICdCYXonID0+ICcyJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKSwgJHZhbHVlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNGbGF0QXJyYXlzQXJlRmxhdCgpCiAgICB7CiAgICAgICAgJHZpc2l0b3IgPSBuZXcgVmlzaXRvcigpOwogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICduYW1lJyAgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICd0eXBlJyAgICAgPT4gJ2FycmF5JywKICAgICAgICAgICAgJ2l0ZW1zJyAgICA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycpCiAgICAgICAgKSk7CgogICAgICAgICR2YWx1ZSA9IGFycmF5KCdmb28nID0+IGFycmF5KCdiYXInLCAnYmF6JykpOwogICAgICAgICR2aXNpdG9yLT52aXNpdCgkdGhpcy0+Y29tbWFuZCwgJHRoaXMtPnJlc3BvbnNlLCAkcGFyYW0sICR2YWx1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnZm9vJyA9PiBhcnJheSgnYmFyJywgJ2JheicpKSwgJHZhbHVlKTsKCiAgICAgICAgJHZhbHVlID0gYXJyYXkoJ2ZvbycgPT4gJ2JhcicpOwogICAgICAgICR2aXNpdG9yLT52aXNpdCgkdGhpcy0+Y29tbWFuZCwgJHRoaXMtPnJlc3BvbnNlLCAkcGFyYW0sICR2YWx1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnZm9vJyA9PiBhcnJheSgnYmFyJykpLCAkdmFsdWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB4bWxEYXRhUHJvdmlkZXIoKQogICAgewogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ3htbCcsCiAgICAgICAgICAgICduYW1lJyAgICAgPT4gJ0l0ZW1zJywKICAgICAgICAgICAgJ3R5cGUnICAgICA9PiAnYXJyYXknLAogICAgICAgICAgICAnaXRlbXMnICAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgJ25hbWUnID0+ICdJdGVtJywKICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQmFyJyA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycpLAogICAgICAgICAgICAgICAgICAgICdCYXonID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJykKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgIGFycmF5KCRwYXJhbSwgJzxUZXN0PjxJdGVtcz48SXRlbT48QmFyPjE8L0Jhcj48L0l0ZW0+PEl0ZW0+PEJhcj4yPC9CYXI+PC9JdGVtPjwvSXRlbXM+PC9UZXN0PicsIGFycmF5KAogICAgICAgICAgICAgICAgJ0l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICBhcnJheSgnQmFyJyA9PiAxKSwKICAgICAgICAgICAgICAgICAgICBhcnJheSgnQmFyJyA9PiAyKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKSwKICAgICAgICAgICAgYXJyYXkoJHBhcmFtLCAnPFRlc3Q+PEl0ZW1zPjxJdGVtPjxCYXI+MTwvQmFyPjwvSXRlbT48L0l0ZW1zPjwvVGVzdD4nLCBhcnJheSgKICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ0JhcicgPT4gMSkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKSksCiAgICAgICAgICAgIGFycmF5KCRwYXJhbSwgJzxUZXN0PjxJdGVtcyAvPjwvVGVzdD4nLCBhcnJheSgKICAgICAgICAgICAgICAgICdJdGVtcycgPT4gYXJyYXkoKQogICAgICAgICAgICApKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGF0YVByb3ZpZGVyIHhtbERhdGFQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNXcmFwcGVkQXJyYXlzQXJlSW5Db3JyZWN0TG9jYXRpb25zKCRwYXJhbSwgJHhtbCwgJHJlc3VsdCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHhtbCA9IG5ldyBcU2ltcGxlWE1MRWxlbWVudCgkeG1sKTsKICAgICAgICAkdmFsdWUgPSBqc29uX2RlY29kZShqc29uX2VuY29kZSgkeG1sKSwgdHJ1ZSk7CiAgICAgICAgJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb21tYW5kLCAkdGhpcy0+cmVzcG9uc2UsICRwYXJhbSwgJHZhbHVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRyZXN1bHQsICR2YWx1ZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5SZW5hbWVWYWx1ZXMoKQogICAgewogICAgICAgICR2aXNpdG9yID0gbmV3IFZpc2l0b3IoKTsKICAgICAgICAkcGFyYW0gPSBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAnbmFtZScgICAgID0+ICdUZXJtaW5hdGluZ0luc3RhbmNlcycsCiAgICAgICAgICAgICd0eXBlJyAgICAgPT4gJ2FycmF5JywKICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgJ3NlbnRBcycgICA9PiAnaW5zdGFuY2VzU2V0JywKICAgICAgICAgICAgJ2l0ZW1zJyAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICduYW1lJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnaXRlbScsCiAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgICA9PiAnc3RyaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2luc3RhbmNlSWQnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ0N1cnJlbnRTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY3VycmVudFN0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdQcmV2aW91c1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnICAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdwcmV2aW91c1N0YXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnbnVtZXJpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ2NvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkdmFsdWUgPSBhcnJheSgKICAgICAgICAgICAgJ2luc3RhbmNlc1NldCcgPT4gYXJyYXkgKAogICAgICAgICAgICAgICAgJ2l0ZW0nID0+IGFycmF5ICgKICAgICAgICAgICAgICAgICAgICAnaW5zdGFuY2VJZCcgPT4gJ2ktM2VhNzQyNTcnLAogICAgICAgICAgICAgICAgICAgICdjdXJyZW50U3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnY29kZScgPT4gJzMyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdzaHV0dGluZy1kb3duJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdwcmV2aW91c1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2NvZGUnID0+ICcxNicsCiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAncnVubmluZycsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICkKICAgICAgICApOwoKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXNwb25zZSwgJHBhcmFtLCAkdmFsdWUpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnVGVybWluYXRpbmdJbnN0YW5jZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ0luc3RhbmNlSWQnID0+ICdpLTNlYTc0MjU3JywKICAgICAgICAgICAgICAgICAgICAnQ3VycmVudFN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+ICczMicsCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiAnc2h1dHRpbmctZG93bicsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnUHJldmlvdXNTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdDb2RlJyA9PiAnMTYnLAogICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gJ3J1bm5pbmcnLAogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICksICR2YWx1ZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5SZW5hbWVBdHRyaWJ1dGVzKCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHBhcmFtID0gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgICA9PiAnUnVubmluZ1F1ZXVlcycsCiAgICAgICAgICAgICd0eXBlJyAgICAgPT4gJ2FycmF5JywKICAgICAgICAgICAgJ2xvY2F0aW9uJyA9PiAneG1sJywKICAgICAgICAgICAgJ2l0ZW1zJyAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdpdGVtJywKICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnUXVldWVJZCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAncXVldWVfaWQnLAogICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxBdHRyaWJ1dGUnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnQ3VycmVudFN0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnICAgICAgID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnICAgPT4gJ251bWVyaWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdjb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEF0dHJpYnV0ZScgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnbmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxBdHRyaWJ1dGUnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAnUHJldmlvdXNTdGF0ZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgID0+ICdudW1lcmljJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudEFzJyA9PiAnY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxBdHRyaWJ1dGUnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbnRBcycgPT4gJ25hbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJyAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sQXR0cmlidXRlJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgICR4bWwgPSAnPHdyYXA+PFJ1bm5pbmdRdWV1ZXM+PGl0ZW0gcXVldWVfaWQ9InEtM2VhNzQyNTciPjxDdXJyZW50U3RhdGUgY29kZT0iMzIiIG5hbWU9InByb2Nlc3NpbmciIC8+PFByZXZpb3VzU3RhdGUgY29kZT0iMTYiIG5hbWU9IndhaXQiIC8+PC9pdGVtPjwvUnVubmluZ1F1ZXVlcz48L3dyYXA+JzsKICAgICAgICAkdmFsdWUgPSBqc29uX2RlY29kZShqc29uX2VuY29kZShuZXcgXFNpbXBsZVhNTEVsZW1lbnQoJHhtbCkpLCB0cnVlKTsKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXNwb25zZSwgJHBhcmFtLCAkdmFsdWUpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnUnVubmluZ1F1ZXVlcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnUXVldWVJZCcgPT4gJ3EtM2VhNzQyNTcnLAogICAgICAgICAgICAgICAgICAgICdDdXJyZW50U3RhdGUnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnQ29kZScgPT4gJzMyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ05hbWUnID0+ICdwcm9jZXNzaW5nJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdQcmV2aW91c1N0YXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0NvZGUnID0+ICcxNicsCiAgICAgICAgICAgICAgICAgICAgICAgICdOYW1lJyA9PiAnd2FpdCcsCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICkKICAgICAgICApLCAkdmFsdWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkc0VtcHR5QXJyYXlzV2hlblZhbHVlSXNNaXNzaW5nKCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHBhcmFtID0gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgICA9PiAnRm9vJywKICAgICAgICAgICAgJ3R5cGUnICAgICA9PiAnYXJyYXknLAogICAgICAgICAgICAnbG9jYXRpb24nID0+ICd4bWwnLAogICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdCYXonID0+IGFycmF5KCd0eXBlJyA9PiAnYXJyYXknKSwKICAgICAgICAgICAgICAgICAgICAnQmFyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnICAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCYXonID0+IGFycmF5KCd0eXBlJyA9PiAnYXJyYXknKSwKICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJHZhbHVlID0gYXJyYXkoKTsKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXNwb25zZSwgJHBhcmFtLCAkdmFsdWUpOwoKICAgICAgICAkdmFsdWUgPSBhcnJheSgKICAgICAgICAgICAgJ0ZvbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQmFyJyA9PiBhcnJheSgpCiAgICAgICAgICAgICkKICAgICAgICApOwogICAgICAgICR2aXNpdG9yLT52aXNpdCgkdGhpcy0+Y29tbWFuZCwgJHRoaXMtPnJlc3BvbnNlLCAkcGFyYW0sICR2YWx1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ0ZvbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQmFyJyA9PiBhcnJheSgpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApLCAkdmFsdWUpOwogICAgfQoKICAgIC8qKgogICAgICogQGdyb3VwIGlzc3VlLTM5OQogICAgICogQGxpbmsgIGh0dHBzOi8vZ2l0aHViLmNvbS9ndXp6bGUvZ3V6emxlL2lzc3Vlcy8zOTkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REaXNjYXJkaW5nVW5rbm93blByb3BlcnRpZXMoKQogICAgewogICAgICAgICR2aXNpdG9yID0gbmV3IFZpc2l0b3IoKTsKICAgICAgICAkcGFyYW0gPSBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAnbmFtZScgICAgICAgICAgICAgICAgID0+ICdmb28nLAogICAgICAgICAgICAndHlwZScgICAgICAgICAgICAgICAgID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGZhbHNlLAogICAgICAgICAgICAncHJvcGVydGllcycgICAgICAgICAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2JhcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnYmFyJywKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICksCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPnZhbHVlID0gYXJyYXkoJ2ZvbycgPT4gYXJyYXkoJ2JhcicgPT4gMTUsICd1bmtub3duJyA9PiAnVW5rbm93bicpKTsKICAgICAgICAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmNvbW1hbmQsICR0aGlzLT5yZXNwb25zZSwgJHBhcmFtLCAkdGhpcy0+dmFsdWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2ZvbycgPT4gYXJyYXkoJ2JhcicgPT4gMTUpKSwgJHRoaXMtPnZhbHVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBncm91cCBpc3N1ZS0zOTkKICAgICAqIEBsaW5rICBodHRwczovL2dpdGh1Yi5jb20vZ3V6emxlL2d1enpsZS9pc3N1ZXMvMzk5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGlzY2FyZGluZ1Vua25vd25Qcm9wZXJ0aWVzV2l0aEFsaWFzaW5nKCkKICAgIHsKICAgICAgICAkdmlzaXRvciA9IG5ldyBWaXNpdG9yKCk7CiAgICAgICAgJHBhcmFtID0gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgICAgICAgICAgICAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3R5cGUnICAgICAgICAgICAgICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBmYWxzZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnICAgICAgICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdiYXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICduYW1lJyAgID0+ICdiYXInLAogICAgICAgICAgICAgICAgICAgICdzZW50QXMnID0+ICdiYXonLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSwKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+dmFsdWUgPSBhcnJheSgnZm9vJyA9PiBhcnJheSgnYmF6JyA9PiAxNSwgJ3Vua25vd24nID0+ICdVbmtub3duJykpOwogICAgICAgICR2aXNpdG9yLT52aXNpdCgkdGhpcy0+Y29tbWFuZCwgJHRoaXMtPnJlc3BvbnNlLCAkcGFyYW0sICR0aGlzLT52YWx1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnZm9vJyA9PiBhcnJheSgnYmFyJyA9PiAxNSkpLCAkdGhpcy0+dmFsdWUpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/VisitorFlyweightTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFZpc2l0b3JGbHl3ZWlnaHQ7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXF1ZXN0XEpzb25WaXNpdG9yIGFzIEpzb25SZXF1ZXN0VmlzaXRvcjsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlc3BvbnNlXEpzb25WaXNpdG9yIGFzIEpzb25SZXNwb25zZVZpc2l0b3I7CgovKioKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxWaXNpdG9yRmx5d2VpZ2h0CiAqLwpjbGFzcyBWaXNpdG9yRmx5d2VpZ2h0VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RVc2VzRGVmYXVsdE1hcHBpbmdzV2l0aEdldEluc3RhbmNlKCkKICAgIHsKICAgICAgICAkZiA9IFZpc2l0b3JGbHl3ZWlnaHQ6OmdldEluc3RhbmNlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlcXVlc3RcSnNvblZpc2l0b3InLCAkZi0+Z2V0UmVxdWVzdFZpc2l0b3IoJ2pzb24nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFJlc3BvbnNlXEpzb25WaXNpdG9yJywgJGYtPmdldFJlc3BvbnNlVmlzaXRvcignanNvbicpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblVzZUN1c3RvbU1hcHBpbmdzKCkKICAgIHsKICAgICAgICAkZiA9IG5ldyBWaXNpdG9yRmx5d2VpZ2h0KGFycmF5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoKSwgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJGYsICdtYXBwaW5ncycpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIE5vIHJlcXVlc3QgdmlzaXRvciBoYXMgYmVlbiBtYXBwZWQgZm9yIGZvbwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFRocm93c0V4Y2VwdGlvbldoZW5SZXRyaWV2aW5nVW5rbm93blZpc2l0b3IoKQogICAgewogICAgICAgIFZpc2l0b3JGbHl3ZWlnaHQ6OmdldEluc3RhbmNlKCktPmdldFJlcXVlc3RWaXNpdG9yKCdmb28nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhY2hlc1Zpc2l0b3JzKCkKICAgIHsKICAgICAgICAkZiA9IG5ldyBWaXNpdG9yRmx5d2VpZ2h0KCk7CiAgICAgICAgJHYxID0gJGYtPmdldFJlcXVlc3RWaXNpdG9yKCdqc29uJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHYxLCAkZi0+Z2V0UmVxdWVzdFZpc2l0b3IoJ2pzb24nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NBZGRpbmdWaXNpdG9ycygpCiAgICB7CiAgICAgICAgJGYgPSBuZXcgVmlzaXRvckZseXdlaWdodCgpOwogICAgICAgICRqMSA9IG5ldyBKc29uUmVxdWVzdFZpc2l0b3IoKTsKICAgICAgICAkajIgPSBuZXcgSnNvblJlc3BvbnNlVmlzaXRvcigpOwogICAgICAgICRmLT5hZGRSZXF1ZXN0VmlzaXRvcignanNvbicsICRqMSk7CiAgICAgICAgJGYtPmFkZFJlc3BvbnNlVmlzaXRvcignanNvbicsICRqMik7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGoxLCAkZi0+Z2V0UmVxdWVzdFZpc2l0b3IoJ2pzb24nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGoyLCAkZi0+Z2V0UmVzcG9uc2VWaXNpdG9yKCdqc29uJykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/OperationCommandTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcRW50aXR5RW5jbG9zaW5nUmVxdWVzdDsKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcU2VydmljZVxDbGllbnQ7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXE9wZXJhdGlvbkNvbW1hbmQ7CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxPcGVyYXRpb247CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTZXJ2aWNlRGVzY3JpcHRpb247CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXERlZmF1bHRSZXF1ZXN0U2VyaWFsaXplcjsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcVmlzaXRvckZseXdlaWdodDsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcT3BlcmF0aW9uQ29tbWFuZAogKi8KY2xhc3MgT3BlcmF0aW9uQ29tbWFuZFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzUmVxdWVzdFNlcmlhbGl6ZXIoKQogICAgewogICAgICAgICRvcGVyYXRpb24gPSBuZXcgT3BlcmF0aW9uQ29tbWFuZCgpOwogICAgICAgICRhID0gJG9wZXJhdGlvbi0+Z2V0UmVxdWVzdFNlcmlhbGl6ZXIoKTsKICAgICAgICAkYiA9IG5ldyBEZWZhdWx0UmVxdWVzdFNlcmlhbGl6ZXIoVmlzaXRvckZseXdlaWdodDo6Z2V0SW5zdGFuY2UoKSk7CiAgICAgICAgJG9wZXJhdGlvbi0+c2V0UmVxdWVzdFNlcmlhbGl6ZXIoJGIpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RTYW1lKCRhLCAkb3BlcmF0aW9uLT5nZXRSZXF1ZXN0U2VyaWFsaXplcigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByZXBhcmVzUmVxdWVzdFVzaW5nU2VyaWFsaXplcigpCiAgICB7CiAgICAgICAgJG9wID0gbmV3IE9wZXJhdGlvbkNvbW1hbmQoYXJyYXkoKSwgbmV3IE9wZXJhdGlvbigpKTsKICAgICAgICAkb3AtPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRzID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcU2VydmljZVxDb21tYW5kXFJlcXVlc3RTZXJpYWxpemVySW50ZXJmYWNlJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdwcmVwYXJlJykpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKICAgICAgICAkcy0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgncHJlcGFyZScpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUobmV3IEVudGl0eUVuY2xvc2luZ1JlcXVlc3QoJ1BPU1QnLCAnaHR0cDovL2Zvby5jb20nKSkpOwogICAgICAgICRvcC0+c2V0UmVxdWVzdFNlcmlhbGl6ZXIoJHMpOwogICAgICAgICRvcC0+cHJlcGFyZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGFyc2VzUmVzcG9uc2VzV2l0aFJlc3BvbnNlUGFyc2VyKCkKICAgIHsKICAgICAgICAkb3AgPSBuZXcgT3BlcmF0aW9uQ29tbWFuZChhcnJheSgpLCBuZXcgT3BlcmF0aW9uKCkpOwogICAgICAgICRwID0gJHRoaXMtPmdldE1vY2tCdWlsZGVyKCdHdXp6bGVcU2VydmljZVxDb21tYW5kXFJlc3BvbnNlUGFyc2VySW50ZXJmYWNlJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCdwYXJzZScpKQogICAgICAgICAgICAtPmdldE1vY2tGb3JBYnN0cmFjdENsYXNzKCk7CiAgICAgICAgJHAtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ3BhcnNlJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShhcnJheSgnZm9vJyA9PiAnYmFyJykpKTsKICAgICAgICAkb3AtPnNldFJlc3BvbnNlUGFyc2VyKCRwKTsKICAgICAgICAkb3AtPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRyZXF1ZXN0ID0gJG9wLT5wcmVwYXJlKCk7CiAgICAgICAgJHJlcXVlc3QtPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDApLCB0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmb28nID0+ICdiYXInKSwgJG9wLT5leGVjdXRlKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UGFyc2VzUmVzcG9uc2VzVXNpbmdNb2RlbFBhcnNlcldoZW5NYXRjaGluZ01vZGVsSXNGb3VuZCgpCiAgICB7CiAgICAgICAgJGRlc2NyaXB0aW9uID0gU2VydmljZURlc2NyaXB0aW9uOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZm9vJyA9PiBhcnJheSgncmVzcG9uc2VDbGFzcycgPT4gJ2JhcicsICdyZXNwb25zZVR5cGUnID0+ICdtb2RlbCcpCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2JhcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0JheicgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnLCAnbG9jYXRpb24nID0+ICd4bWwnKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkb3AgPSBuZXcgT3BlcmF0aW9uQ29tbWFuZChhcnJheSgpLCAkZGVzY3JpcHRpb24tPmdldE9wZXJhdGlvbignZm9vJykpOwogICAgICAgICRvcC0+c2V0Q2xpZW50KG5ldyBDbGllbnQoKSk7CiAgICAgICAgJHJlcXVlc3QgPSAkb3AtPnByZXBhcmUoKTsKICAgICAgICAkcmVxdWVzdC0+c2V0UmVzcG9uc2UobmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+ICdhcHBsaWNhdGlvbi94bWwnCiAgICAgICAgKSwgJzxGb28+PEJhej5CYXI8L0Jhej48L0Zvbz4nKSwgdHJ1ZSk7CiAgICAgICAgJHJlc3VsdCA9ICRvcC0+ZXhlY3V0ZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMobmV3IE1vZGVsKGFycmF5KCdCYXonID0+ICdCYXInKSksICRyZXN1bHQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzUmF3UmVzcG9uc2VzKCkKICAgIHsKICAgICAgICAkZGVzY3JpcHRpb24gPSBuZXcgU2VydmljZURlc2NyaXB0aW9uKGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoJ2ZvbycgPT4gYXJyYXkoJ3Jlc3BvbnNlQ2xhc3MnID0+ICdiYXInLCAncmVzcG9uc2VUeXBlJyA9PiAnbW9kZWwnKSksCiAgICAgICAgICAgICdtb2RlbHMnICAgICA9PiBhcnJheSgnYmFyJyA9PiBhcnJheSgpKQogICAgICAgICkpOwogICAgICAgICRvcCA9IG5ldyBPcGVyYXRpb25Db21tYW5kKGFycmF5KAogICAgICAgICAgICBPcGVyYXRpb25Db21tYW5kOjpSRVNQT05TRV9QUk9DRVNTSU5HID0+IE9wZXJhdGlvbkNvbW1hbmQ6OlRZUEVfUkFXCiAgICAgICAgKSwgJGRlc2NyaXB0aW9uLT5nZXRPcGVyYXRpb24oJ2ZvbycpKTsKICAgICAgICAkb3AtPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRyZXF1ZXN0ID0gJG9wLT5wcmVwYXJlKCk7CiAgICAgICAgJHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+ICdhcHBsaWNhdGlvbi94bWwnCiAgICAgICAgKSwgJzxGb28+PEJhej5CYXI8L0Jhej48L0Zvbz4nKTsKICAgICAgICAkcmVxdWVzdC0+c2V0UmVzcG9uc2UoJHJlc3BvbnNlLCB0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkcmVzcG9uc2UsICRvcC0+ZXhlY3V0ZSgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/OperationResponseParserTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxDb21tYW5kOwoKdXNlIEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U7CnVzZSBHdXp6bGVcU2VydmljZVxDbGllbnQ7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXE9wZXJhdGlvblJlc3BvbnNlUGFyc2VyOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxPcGVyYXRpb25Db21tYW5kOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cT3BlcmF0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cU2VydmljZURlc2NyaXB0aW9uOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcU3RhdHVzQ29kZVZpc2l0b3I7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZVxSZWFzb25QaHJhc2VWaXNpdG9yOwp1c2UgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxMb2NhdGlvblZpc2l0b3JcUmVzcG9uc2VcSnNvblZpc2l0b3I7CnVzZSBHdXp6bGVcU2VydmljZVxDb21tYW5kXExvY2F0aW9uVmlzaXRvclxSZXNwb25zZVxCb2R5VmlzaXRvcjsKdXNlIEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcTG9jYXRpb25WaXNpdG9yXFZpc2l0b3JGbHl3ZWlnaHQ7CgovKioKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxDb21tYW5kXE9wZXJhdGlvblJlc3BvbnNlUGFyc2VyCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxDcmVhdGVSZXNwb25zZUNsYXNzRXZlbnQKICovCmNsYXNzIE9wZXJhdGlvblJlc3BvbnNlUGFyc2VyVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNWaXNpdG9ycygpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgT3BlcmF0aW9uUmVzcG9uc2VQYXJzZXIobmV3IFZpc2l0b3JGbHl3ZWlnaHQoYXJyYXkoKSkpOwogICAgICAgICR2aXNpdG9yID0gbmV3IEJvZHlWaXNpdG9yKCk7CiAgICAgICAgJHAtPmFkZFZpc2l0b3IoJ2ZvbycsICR2aXNpdG9yKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkdmlzaXRvciwgJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHAsICdmYWN0b3J5JyktPmdldFJlc3BvbnNlVmlzaXRvcignZm9vJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXNlc1BhcmVudFBhcnNlcigpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgT3BlcmF0aW9uUmVzcG9uc2VQYXJzZXIobmV3IFZpc2l0b3JGbHl3ZWlnaHQoKSk7CiAgICAgICAgJG9wZXJhdGlvbiA9IG5ldyBPcGVyYXRpb24oKTsKICAgICAgICAkb3BlcmF0aW9uLT5zZXRTZXJ2aWNlRGVzY3JpcHRpb24obmV3IFNlcnZpY2VEZXNjcmlwdGlvbigpKTsKICAgICAgICAkb3AgPSBuZXcgT3BlcmF0aW9uQ29tbWFuZChhcnJheSgpLCAkb3BlcmF0aW9uKTsKICAgICAgICAkb3AtPnNldFJlc3BvbnNlUGFyc2VyKCRwKS0+c2V0Q2xpZW50KG5ldyBDbGllbnQoKSk7CiAgICAgICAgJG9wLT5wcmVwYXJlKCktPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KCdDb250ZW50LVR5cGUnID0+ICdhcHBsaWNhdGlvbi94bWwnKSwgJzxGPjxCPkM8L0I+PC9GPicpLCB0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignU2ltcGxlWE1MRWxlbWVudCcsICRvcC0+ZXhlY3V0ZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZpc2l0c0xvY2F0aW9ucygpCiAgICB7CiAgICAgICAgJHBhcnNlciA9IG5ldyBPcGVyYXRpb25SZXNwb25zZVBhcnNlcihuZXcgVmlzaXRvckZseXdlaWdodChhcnJheSgpKSk7CiAgICAgICAgJHBhcnNlci0+YWRkVmlzaXRvcignc3RhdHVzQ29kZScsIG5ldyBTdGF0dXNDb2RlVmlzaXRvcigpKTsKICAgICAgICAkcGFyc2VyLT5hZGRWaXNpdG9yKCdyZWFzb25QaHJhc2UnLCBuZXcgUmVhc29uUGhyYXNlVmlzaXRvcigpKTsKICAgICAgICAkcGFyc2VyLT5hZGRWaXNpdG9yKCdqc29uJywgbmV3IEpzb25WaXNpdG9yKCkpOwogICAgICAgICRvcCA9IG5ldyBPcGVyYXRpb25Db21tYW5kKGFycmF5KCksICR0aGlzLT5nZXREZXNjcmlwdGlvbigpLT5nZXRPcGVyYXRpb24oJ3Rlc3QnKSk7CiAgICAgICAgJG9wLT5zZXRSZXNwb25zZVBhcnNlcigkcGFyc2VyKS0+c2V0Q2xpZW50KG5ldyBDbGllbnQoKSk7CiAgICAgICAgJG9wLT5wcmVwYXJlKCktPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDEpLCB0cnVlKTsKICAgICAgICAkcmVzdWx0ID0gJG9wLT5leGVjdXRlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyMDEsICRyZXN1bHRbJ2NvZGUnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnQ3JlYXRlZCcsICRyZXN1bHRbJ3BocmFzZSddKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZpc2l0c0xvY2F0aW9uc0Zvckpzb25SZXNwb25zZSgpCiAgICB7CiAgICAgICAgJHBhcnNlciA9IE9wZXJhdGlvblJlc3BvbnNlUGFyc2VyOjpnZXRJbnN0YW5jZSgpOwogICAgICAgICRvcGVyYXRpb24gPSAkdGhpcy0+Z2V0RGVzY3JpcHRpb24oKS0+Z2V0T3BlcmF0aW9uKCd0ZXN0Jyk7CiAgICAgICAgJG9wID0gbmV3IE9wZXJhdGlvbkNvbW1hbmQoYXJyYXkoKSwgJG9wZXJhdGlvbik7CiAgICAgICAgJG9wLT5zZXRSZXNwb25zZVBhcnNlcigkcGFyc2VyKS0+c2V0Q2xpZW50KG5ldyBDbGllbnQoKSk7CiAgICAgICAgJG9wLT5wcmVwYXJlKCktPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KAogICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiAnYXBwbGljYXRpb24vanNvbicKICAgICAgICApLCAneyJiYXoiOiJiYXIiLCJlbmlnbWEiOiIxMjMifScpLCB0cnVlKTsKICAgICAgICAkcmVzdWx0ID0gJG9wLT5leGVjdXRlKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ2JheicgICAgPT4gJ2JhcicsCiAgICAgICAgICAgICdlbmlnbWEnID0+ICcxMjMnLAogICAgICAgICAgICAnY29kZScgICA9PiAyMDAsCiAgICAgICAgICAgICdwaHJhc2UnID0+ICdPSycKICAgICAgICApLCAkcmVzdWx0LT50b0FycmF5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2tpcHNVbmtvd25Nb2RlbHMoKQogICAgewogICAgICAgICRwYXJzZXIgPSBPcGVyYXRpb25SZXNwb25zZVBhcnNlcjo6Z2V0SW5zdGFuY2UoKTsKICAgICAgICAkb3BlcmF0aW9uID0gJHRoaXMtPmdldERlc2NyaXB0aW9uKCktPmdldE9wZXJhdGlvbigndGVzdCcpOwogICAgICAgICRvcGVyYXRpb24tPnNldFJlc3BvbnNlQ2xhc3MoJ0JheicpLT5zZXRSZXNwb25zZVR5cGUoJ21vZGVsJyk7CiAgICAgICAgJG9wID0gbmV3IE9wZXJhdGlvbkNvbW1hbmQoYXJyYXkoKSwgJG9wZXJhdGlvbik7CiAgICAgICAgJG9wLT5zZXRSZXNwb25zZVBhcnNlcigkcGFyc2VyKS0+c2V0Q2xpZW50KG5ldyBDbGllbnQoKSk7CiAgICAgICAgJG9wLT5wcmVwYXJlKCktPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDEpLCB0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXEh0dHBcTWVzc2FnZVxSZXNwb25zZScsICRvcC0+ZXhlY3V0ZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c01vZGVsUHJvY2Vzc2luZ1RvQmVEaXNhYmxlZCgpCiAgICB7CiAgICAgICAgJHBhcnNlciA9IE9wZXJhdGlvblJlc3BvbnNlUGFyc2VyOjpnZXRJbnN0YW5jZSgpOwogICAgICAgICRvcGVyYXRpb24gPSAkdGhpcy0+Z2V0RGVzY3JpcHRpb24oKS0+Z2V0T3BlcmF0aW9uKCd0ZXN0Jyk7CiAgICAgICAgJG9wID0gbmV3IE9wZXJhdGlvbkNvbW1hbmQoYXJyYXkoJ2NvbW1hbmQucmVzcG9uc2VfcHJvY2Vzc2luZycgPT4gJ25hdGl2ZScpLCAkb3BlcmF0aW9uKTsKICAgICAgICAkb3AtPnNldFJlc3BvbnNlUGFyc2VyKCRwYXJzZXIpLT5zZXRDbGllbnQobmV3IENsaWVudCgpKTsKICAgICAgICAkb3AtPnByZXBhcmUoKS0+c2V0UmVzcG9uc2UobmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+ICdhcHBsaWNhdGlvbi9qc29uJwogICAgICAgICksICd7ImJheiI6ImJhciIsImVuaWdtYSI6IjEyMyJ9JyksIHRydWUpOwogICAgICAgICRyZXN1bHQgPSAkb3AtPmV4ZWN1dGUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcTW9kZWwnLCAkcmVzdWx0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnYmF6JyAgICA9PiAnYmFyJywKICAgICAgICAgICAgJ2VuaWdtYScgPT4gJzEyMycKICAgICAgICApLCAkcmVzdWx0LT50b0FycmF5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuSW5qZWN0TW9kZWxTY2hlbWFJbnRvTW9kZWxzKCkKICAgIHsKICAgICAgICAkcGFyc2VyID0gbmV3IE9wZXJhdGlvblJlc3BvbnNlUGFyc2VyKFZpc2l0b3JGbHl3ZWlnaHQ6OmdldEluc3RhbmNlKCksIHRydWUpOwogICAgICAgICRkZXNjID0gJHRoaXMtPmdldERlc2NyaXB0aW9uKCk7CiAgICAgICAgJG9wZXJhdGlvbiA9ICRkZXNjLT5nZXRPcGVyYXRpb24oJ3Rlc3QnKTsKICAgICAgICAkb3AgPSBuZXcgT3BlcmF0aW9uQ29tbWFuZChhcnJheSgpLCAkb3BlcmF0aW9uKTsKICAgICAgICAkb3AtPnNldFJlc3BvbnNlUGFyc2VyKCRwYXJzZXIpLT5zZXRDbGllbnQobmV3IENsaWVudCgpKTsKICAgICAgICAkb3AtPnByZXBhcmUoKS0+c2V0UmVzcG9uc2UobmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+ICdhcHBsaWNhdGlvbi9qc29uJwogICAgICAgICksICd7ImJheiI6ImJhciIsImVuaWdtYSI6IjEyMyJ9JyksIHRydWUpOwogICAgICAgICRyZXN1bHQgPSAkb3AtPmV4ZWN1dGUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkcmVzdWx0LT5nZXRTdHJ1Y3R1cmUoKSwgJGRlc2MtPmdldE1vZGVsKCdGb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REb2VzTm90UGFyc2VYbWxXaGVuTm90VXNpbmdYbWxWaXNpdG9yKCkKICAgIHsKICAgICAgICAkcGFyc2VyID0gT3BlcmF0aW9uUmVzcG9uc2VQYXJzZXI6OmdldEluc3RhbmNlKCk7CiAgICAgICAgJGRlc2NyaXB0aW9uID0gU2VydmljZURlc2NyaXB0aW9uOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoJ3Rlc3QnID0+IGFycmF5KCdyZXNwb25zZUNsYXNzJyA9PiAnRm9vJykpLAogICAgICAgICAgICAnbW9kZWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdGb28nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoJ2JheicgPT4gYXJyYXkoJ2xvY2F0aW9uJyA9PiAnYm9keScpKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICAgICAgJG9wZXJhdGlvbiA9ICRkZXNjcmlwdGlvbi0+Z2V0T3BlcmF0aW9uKCd0ZXN0Jyk7CiAgICAgICAgJG9wID0gbmV3IE9wZXJhdGlvbkNvbW1hbmQoYXJyYXkoKSwgJG9wZXJhdGlvbik7CiAgICAgICAgJG9wLT5zZXRSZXNwb25zZVBhcnNlcigkcGFyc2VyKS0+c2V0Q2xpZW50KG5ldyBDbGllbnQoKSk7CiAgICAgICAgJGJyb2tlblhtbCA9ICc8YnJva2VuPjw+PD48PHhtbD4+Pj4+JzsKICAgICAgICAkb3AtPnByZXBhcmUoKS0+c2V0UmVzcG9uc2UobmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoCiAgICAgICAgICAgICdDb250ZW50LVR5cGUnID0+ICdhcHBsaWNhdGlvbi94bWwnCiAgICAgICAgKSwgJGJyb2tlblhtbCksIHRydWUpOwogICAgICAgICRyZXN1bHQgPSAkb3AtPmV4ZWN1dGUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdiYXonKSwgJHJlc3VsdC0+Z2V0S2V5cygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRicm9rZW5YbWwsIChzdHJpbmcpICRyZXN1bHRbJ2JheiddKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZpc2l0c0FkZGl0aW9uYWxQcm9wZXJ0aWVzKCkKICAgIHsKICAgICAgICAkcGFyc2VyID0gT3BlcmF0aW9uUmVzcG9uc2VQYXJzZXI6OmdldEluc3RhbmNlKCk7CiAgICAgICAgJGRlc2NyaXB0aW9uID0gU2VydmljZURlc2NyaXB0aW9uOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoJ3Rlc3QnID0+IGFycmF5KCdyZXNwb25zZUNsYXNzJyA9PiAnRm9vJykpLAogICAgICAgICAgICAnbW9kZWxzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdGb28nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdjb2RlJyA9PiBhcnJheSgnbG9jYXRpb24nID0+ICdzdGF0dXNDb2RlJykKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2pzb24nLAogICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbHRlcnMnID0+ICdzdHJ0b3VwcGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgICRvcGVyYXRpb24gPSAkZGVzY3JpcHRpb24tPmdldE9wZXJhdGlvbigndGVzdCcpOwogICAgICAgICRvcCA9IG5ldyBPcGVyYXRpb25Db21tYW5kKGFycmF5KCksICRvcGVyYXRpb24pOwogICAgICAgICRvcC0+c2V0UmVzcG9uc2VQYXJzZXIoJHBhcnNlciktPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRqc29uID0gJ1t7ImEiOiJ0ZXN0In0seyJhIjoiYmF6In1dJzsKICAgICAgICAkb3AtPnByZXBhcmUoKS0+c2V0UmVzcG9uc2UobmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoJ0NvbnRlbnQtVHlwZScgPT4gJ2FwcGxpY2F0aW9uL2pzb24nKSwgJGpzb24pLCB0cnVlKTsKICAgICAgICAkcmVzdWx0ID0gJG9wLT5leGVjdXRlKCktPnRvQXJyYXkoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnY29kZScgPT4gMjAwLAogICAgICAgICAgICBhcnJheSgnYScgPT4gJ1RFU1QnKSwKICAgICAgICAgICAgYXJyYXkoJ2EnID0+ICdCQVonKQogICAgICAgICksICRyZXN1bHQpOwogICAgfQoKICAgIC8qKgogICAgICogQGdyb3VwIGlzc3VlLTM5OQogICAgICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2d1enpsZS9ndXp6bGUvaXNzdWVzLzM5OQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZGl0aW9uYWxQcm9wZXJ0aWVzRGlzYWJsZWREaXNjYXJkc0RhdGEoKQogICAgewogICAgICAgICRwYXJzZXIgPSBPcGVyYXRpb25SZXNwb25zZVBhcnNlcjo6Z2V0SW5zdGFuY2UoKTsKICAgICAgICAkZGVzY3JpcHRpb24gPSBTZXJ2aWNlRGVzY3JpcHRpb246OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgndGVzdCcgPT4gYXJyYXkoJ3Jlc3BvbnNlQ2xhc3MnID0+ICdGb28nKSksCiAgICAgICAgICAgICdtb2RlbHMnICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdGb28nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9jYXRpb24nID0+ICdqc29uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0eXBlJyAgICAgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICduZXN0ZWQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyAgICAgICAgICAgICA9PiAnanNvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgICAgICAgICAgICAgICAgID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyAgICAgICAgICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdpbnRlZ2VyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgICdjb2RlJyAgID0+IGFycmF5KCdsb2NhdGlvbicgPT4gJ3N0YXR1c0NvZGUnKQogICAgICAgICAgICAgICAgICAgICksCgogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgICRvcGVyYXRpb24gPSAkZGVzY3JpcHRpb24tPmdldE9wZXJhdGlvbigndGVzdCcpOwogICAgICAgICRvcCA9IG5ldyBPcGVyYXRpb25Db21tYW5kKGFycmF5KCksICRvcGVyYXRpb24pOwogICAgICAgICRvcC0+c2V0UmVzcG9uc2VQYXJzZXIoJHBhcnNlciktPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRqc29uID0gJ3sibmFtZSI6InRlc3QiLCAidm9sdW1lIjoyLjAsICJuZXN0ZWQiOnsid2lkdGgiOjEwLCJib2d1cyI6MX19JzsKICAgICAgICAkb3AtPnByZXBhcmUoKS0+c2V0UmVzcG9uc2UobmV3IFJlc3BvbnNlKDIwMCwgYXJyYXkoJ0NvbnRlbnQtVHlwZScgPT4gJ2FwcGxpY2F0aW9uL2pzb24nKSwgJGpzb24pLCB0cnVlKTsKICAgICAgICAkcmVzdWx0ID0gJG9wLT5leGVjdXRlKCktPnRvQXJyYXkoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAnbmFtZScgPT4gJ3Rlc3QnLAogICAgICAgICAgICAnbmVzdGVkJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd3aWR0aCcgPT4gMTAsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdjb2RlJyA9PiAyMDAKICAgICAgICApLCAkcmVzdWx0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNDdXN0b21SZXNwb25zZUNsYXNzSW50ZXJmYWNlKCkKICAgIHsKICAgICAgICAkcGFyc2VyID0gT3BlcmF0aW9uUmVzcG9uc2VQYXJzZXI6OmdldEluc3RhbmNlKCk7CiAgICAgICAgJGRlc2NyaXB0aW9uID0gU2VydmljZURlc2NyaXB0aW9uOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoJ3Rlc3QnID0+IGFycmF5KCdyZXNwb25zZUNsYXNzJyA9PiAnR3V6emxlXFRlc3RzXE1vY2tcQ3VzdG9tUmVzcG9uc2VNb2RlbCcpKQogICAgICAgICkpOwogICAgICAgICRvcGVyYXRpb24gPSAkZGVzY3JpcHRpb24tPmdldE9wZXJhdGlvbigndGVzdCcpOwogICAgICAgICRvcCA9IG5ldyBPcGVyYXRpb25Db21tYW5kKGFycmF5KCksICRvcGVyYXRpb24pOwogICAgICAgICRvcC0+c2V0UmVzcG9uc2VQYXJzZXIoJHBhcnNlciktPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRvcC0+cHJlcGFyZSgpLT5zZXRSZXNwb25zZShuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnQ29udGVudC1UeXBlJyA9PiAnYXBwbGljYXRpb24vanNvbicpLCAnaGkhJyksIHRydWUpOwogICAgICAgICRyZXN1bHQgPSAkb3AtPmV4ZWN1dGUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFRlc3RzXE1vY2tcQ3VzdG9tUmVzcG9uc2VNb2RlbCcsICRyZXN1bHQpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRvcCwgJHJlc3VsdC0+Y29tbWFuZCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxTZXJ2aWNlXEV4Y2VwdGlvblxSZXNwb25zZUNsYXNzRXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIG11c3QgZXhpc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzUmVzcG9uc2VDbGFzc0V4aXN0cygpCiAgICB7CiAgICAgICAgJHBhcnNlciA9IE9wZXJhdGlvblJlc3BvbnNlUGFyc2VyOjpnZXRJbnN0YW5jZSgpOwogICAgICAgICRkZXNjcmlwdGlvbiA9IFNlcnZpY2VEZXNjcmlwdGlvbjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KCd0ZXN0JyA9PiBhcnJheSgncmVzcG9uc2VDbGFzcycgPT4gJ0Zvb1xCYXpcQmFyJykpCiAgICAgICAgKSk7CiAgICAgICAgJG9wZXJhdGlvbiA9ICRkZXNjcmlwdGlvbi0+Z2V0T3BlcmF0aW9uKCd0ZXN0Jyk7CiAgICAgICAgJG9wID0gbmV3IE9wZXJhdGlvbkNvbW1hbmQoYXJyYXkoKSwgJG9wZXJhdGlvbik7CiAgICAgICAgJG9wLT5zZXRSZXNwb25zZVBhcnNlcigkcGFyc2VyKS0+c2V0Q2xpZW50KG5ldyBDbGllbnQoKSk7CiAgICAgICAgJG9wLT5wcmVwYXJlKCktPnNldFJlc3BvbnNlKG5ldyBSZXNwb25zZSgyMDAsIGFycmF5KCdDb250ZW50LVR5cGUnID0+ICdhcHBsaWNhdGlvbi9qc29uJyksICdoaSEnKSwgdHJ1ZSk7CiAgICAgICAgJG9wLT5leGVjdXRlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEd1enpsZVxTZXJ2aWNlXEV4Y2VwdGlvblxSZXNwb25zZUNsYXNzRXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIGFuZCBpbXBsZW1lbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzUmVzcG9uc2VDbGFzc0ltcGxlbWVudHNSZXNwb25zZUNsYXNzSW50ZXJmYWNlKCkKICAgIHsKICAgICAgICAkcGFyc2VyID0gT3BlcmF0aW9uUmVzcG9uc2VQYXJzZXI6OmdldEluc3RhbmNlKCk7CiAgICAgICAgJGRlc2NyaXB0aW9uID0gU2VydmljZURlc2NyaXB0aW9uOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoJ3Rlc3QnID0+IGFycmF5KCdyZXNwb25zZUNsYXNzJyA9PiBfX0NMQVNTX18pKQogICAgICAgICkpOwogICAgICAgICRvcGVyYXRpb24gPSAkZGVzY3JpcHRpb24tPmdldE9wZXJhdGlvbigndGVzdCcpOwogICAgICAgICRvcCA9IG5ldyBPcGVyYXRpb25Db21tYW5kKGFycmF5KCksICRvcGVyYXRpb24pOwogICAgICAgICRvcC0+c2V0UmVzcG9uc2VQYXJzZXIoJHBhcnNlciktPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRvcC0+cHJlcGFyZSgpLT5zZXRSZXNwb25zZShuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnQ29udGVudC1UeXBlJyA9PiAnYXBwbGljYXRpb24vanNvbicpLCAnaGkhJyksIHRydWUpOwogICAgICAgICRvcC0+ZXhlY3V0ZSgpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXREZXNjcmlwdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIFNlcnZpY2VEZXNjcmlwdGlvbjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KCd0ZXN0JyA9PiBhcnJheSgncmVzcG9uc2VDbGFzcycgPT4gJ0ZvbycpKSwKICAgICAgICAgICAgJ21vZGVscycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnRm9vJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgICAgICAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnYmF6JyAgICA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycsICdsb2NhdGlvbicgPT4gJ2pzb24nKSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2NvZGUnICAgPT4gYXJyYXkoJ2xvY2F0aW9uJyA9PiAnc3RhdHVzQ29kZScpLAogICAgICAgICAgICAgICAgICAgICAgICAncGhyYXNlJyA9PiBhcnJheSgnbG9jYXRpb24nID0+ICdyZWFzb25QaHJhc2UnKSwKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkFkZExpc3RlbmVyVG9QYXJzZURvbWFpbk9iamVjdHMoKQogICAgewogICAgICAgICRjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICAgICAgJGNsaWVudC0+c2V0RGVzY3JpcHRpb24oU2VydmljZURlc2NyaXB0aW9uOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoJ3Rlc3QnID0+IGFycmF5KCdyZXNwb25zZUNsYXNzJyA9PiAnRm9vQmF6QmFyJykpCiAgICAgICAgKSkpOwogICAgICAgICRmb28gPSBuZXcgXHN0ZENsYXNzKCk7CiAgICAgICAgJGNsaWVudC0+Z2V0RXZlbnREaXNwYXRjaGVyKCktPmFkZExpc3RlbmVyKCdjb21tYW5kLnBhcnNlX3Jlc3BvbnNlJywgZnVuY3Rpb24gKCRlKSB1c2UgKCRmb28pIHsKICAgICAgICAgICAgICRlWydyZXN1bHQnXSA9ICRmb287CiAgICAgICAgfSk7CiAgICAgICAgJGNvbW1hbmQgPSAkY2xpZW50LT5nZXRDb21tYW5kKCd0ZXN0Jyk7CiAgICAgICAgJGNvbW1hbmQtPnByZXBhcmUoKS0+c2V0UmVzcG9uc2UobmV3IFJlc3BvbnNlKDIwMCksIHRydWUpOwogICAgICAgICRyZXN1bHQgPSAkY29tbWFuZC0+ZXhlY3V0ZSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRyZXN1bHQsICRmb28pOwogICAgfQoKICAgIC8qKgogICAgICogQGdyb3VwIGlzc3VlLTM5OQogICAgICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2d1enpsZS9ndXp6bGUvaXNzdWVzLzUwMQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZGl0aW9uYWxQcm9wZXJ0aWVzV2l0aFJlZkFyZVJlc29sdmVkKCkKICAgIHsKICAgICAgICAkcGFyc2VyID0gT3BlcmF0aW9uUmVzcG9uc2VQYXJzZXI6OmdldEluc3RhbmNlKCk7CiAgICAgICAgJGRlc2NyaXB0aW9uID0gU2VydmljZURlc2NyaXB0aW9uOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoJ3Rlc3QnID0+IGFycmF5KCdyZXNwb25zZUNsYXNzJyA9PiAnRm9vJykpLAogICAgICAgICAgICAnbW9kZWxzJyAgICAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnQmF6JyA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycpLAogICAgICAgICAgICAgICAgJ0ZvbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoJyRyZWYnID0+ICdCYXonLCAnbG9jYXRpb24nID0+ICdqc29uJykKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgICAgICRvcGVyYXRpb24gPSAkZGVzY3JpcHRpb24tPmdldE9wZXJhdGlvbigndGVzdCcpOwogICAgICAgICRvcCA9IG5ldyBPcGVyYXRpb25Db21tYW5kKGFycmF5KCksICRvcGVyYXRpb24pOwogICAgICAgICRvcC0+c2V0UmVzcG9uc2VQYXJzZXIoJHBhcnNlciktPnNldENsaWVudChuZXcgQ2xpZW50KCkpOwogICAgICAgICRqc29uID0gJ3siYSI6ImEiLCJiIjoiYiIsImMiOiJjIn0nOwogICAgICAgICRvcC0+cHJlcGFyZSgpLT5zZXRSZXNwb25zZShuZXcgUmVzcG9uc2UoMjAwLCBhcnJheSgnQ29udGVudC1UeXBlJyA9PiAnYXBwbGljYXRpb24vanNvbicpLCAkanNvbiksIHRydWUpOwogICAgICAgICRyZXN1bHQgPSAkb3AtPmV4ZWN1dGUoKS0+dG9BcnJheSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2EnID0+ICdhJywgJ2InID0+ICdiJywgJ2MnID0+ICdjJyksICRyZXN1bHQpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/OperationTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxEZXNjcmlwdGlvbjsKCnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxPcGVyYXRpb247CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXI7CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTZXJ2aWNlRGVzY3JpcHRpb247CgovKioKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxPcGVyYXRpb24KICovCmNsYXNzIE9wZXJhdGlvblRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc3RydG91cHBlcigkc3RyaW5nKQogICAgewogICAgICAgIHJldHVybiBzdHJ0b3VwcGVyKCRzdHJpbmcpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0T3BlcmF0aW9uSXNEYXRhT2JqZWN0KCkKICAgIHsKICAgICAgICAkYyA9IG5ldyBPcGVyYXRpb24oYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgICAgICAgICAgICAgID0+ICd0ZXN0JywKICAgICAgICAgICAgJ3N1bW1hcnknICAgICAgICAgICAgPT4gJ2RvYycsCiAgICAgICAgICAgICdub3RlcycgICAgICAgICAgICAgID0+ICdub3RlcycsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyAgID0+ICdodHRwOi8vd3d3LmV4YW1wbGUuY29tJywKICAgICAgICAgICAgJ2h0dHBNZXRob2QnICAgICAgICAgPT4gJ1BPU1QnLAogICAgICAgICAgICAndXJpJyAgICAgICAgICAgICAgICA9PiAnL2FwaS92MScsCiAgICAgICAgICAgICdyZXNwb25zZUNsYXNzJyAgICAgID0+ICdhcnJheScsCiAgICAgICAgICAgICdyZXNwb25zZU5vdGVzJyAgICAgID0+ICdyZXR1cm5zIHRoZSBqc29uX2RlY29kZWQgcmVzcG9uc2UnLAogICAgICAgICAgICAnZGVwcmVjYXRlZCcgICAgICAgICA9PiB0cnVlLAogICAgICAgICAgICAncGFyYW1ldGVycycgICAgICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdrZXknID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnICAgICAgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAna2V5XzInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAndHlwZScgICAgID0+ICdpbnRlZ2VyJywKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgID0+IDEwCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygndGVzdCcsICRjLT5nZXROYW1lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2RvYycsICRjLT5nZXRTdW1tYXJ5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20nLCAkYy0+Z2V0RG9jdW1lbnRhdGlvblVybCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdQT1NUJywgJGMtPmdldEh0dHBNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnL2FwaS92MScsICRjLT5nZXRVcmkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYXJyYXknLCAkYy0+Z2V0UmVzcG9uc2VDbGFzcygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdyZXR1cm5zIHRoZSBqc29uX2RlY29kZWQgcmVzcG9uc2UnLCAkYy0+Z2V0UmVzcG9uc2VOb3RlcygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkYy0+Z2V0RGVwcmVjYXRlZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdHdXp6bGVcXFNlcnZpY2VcXENvbW1hbmRcXE9wZXJhdGlvbkNvbW1hbmQnLCAkYy0+Z2V0Q2xhc3MoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ2tleScgPT4gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgICAgICduYW1lJyAgICAgID0+ICdrZXknLAogICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyAgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICd0eXBlJyAgICAgID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgJ21heExlbmd0aCcgPT4gMTAsCiAgICAgICAgICAgICAgICAncGFyZW50JyAgICA9PiAkYwogICAgICAgICAgICApKSwKICAgICAgICAgICAgJ2tleV8yJyA9PiBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAgICAgJ25hbWUnICAgICA9PiAna2V5XzInLAogICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgJ3R5cGUnICAgICA9PiAnaW50ZWdlcicsCiAgICAgICAgICAgICAgICAnZGVmYXVsdCcgID0+IDEwLAogICAgICAgICAgICAgICAgJ3BhcmVudCcgICA9PiAkYwogICAgICAgICAgICApKQogICAgICAgICksICRjLT5nZXRQYXJhbXMoKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMobmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgICA9PiAna2V5XzInLAogICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICd0eXBlJyAgICAgPT4gJ2ludGVnZXInLAogICAgICAgICAgICAnZGVmYXVsdCcgID0+IDEwLAogICAgICAgICAgICAncGFyZW50JyAgID0+ICRjCiAgICAgICAgKSksICRjLT5nZXRQYXJhbSgna2V5XzInKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRjLT5nZXRQYXJhbSgnYWZlZndlZicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0QXJyYXlOb3RIYXNLZXkoJ3BhcmVudCcsICRjLT5nZXRQYXJhbSgna2V5XzInKS0+dG9BcnJheSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0NvbmNyZXRlQ29tbWFuZHMoKQogICAgewogICAgICAgICRjID0gbmV3IE9wZXJhdGlvbihhcnJheSgKICAgICAgICAgICAgJ25hbWUnID0+ICd0ZXN0JywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXENsb3N1cmVDb21tYW5kJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3AnID0+IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdmb28nCiAgICAgICAgICAgICAgICApKQogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnR3V6emxlXFxTZXJ2aWNlXFxDb21tYW5kXENsb3N1cmVDb21tYW5kJywgJGMtPmdldENsYXNzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29udmVydHNUb0FycmF5KCkKICAgIHsKICAgICAgICAkZGF0YSA9IGFycmF5KAogICAgICAgICAgICAnbmFtZScgICAgICAgICAgICAgPT4gJ3Rlc3QnLAogICAgICAgICAgICAnY2xhc3MnICAgICAgICAgICAgPT4gJ0d1enpsZVxcU2VydmljZVxcQ29tbWFuZFxDbG9zdXJlQ29tbWFuZCcsCiAgICAgICAgICAgICdzdW1tYXJ5JyAgICAgICAgICA9PiAndGVzdCcsCiAgICAgICAgICAgICdkb2N1bWVudGF0aW9uVXJsJyA9PiAnaHR0cDovL3d3dy5leGFtcGxlLmNvbScsCiAgICAgICAgICAgICdodHRwTWV0aG9kJyAgICAgICA9PiAnUFVUJywKICAgICAgICAgICAgJ3VyaScgICAgICAgICAgICAgID0+ICcvJywKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnICAgICAgID0+IGFycmF5KCdwJyA9PiBhcnJheSgnbmFtZScgPT4gJ2ZvbycpKQogICAgICAgICk7CiAgICAgICAgJGMgPSBuZXcgT3BlcmF0aW9uKCRkYXRhKTsKICAgICAgICAkdG9BcnJheSA9ICRjLT50b0FycmF5KCk7CiAgICAgICAgdW5zZXQoJGRhdGFbJ25hbWUnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdwYXJhbWV0ZXJzJywgJHRvQXJyYXkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgJHRvQXJyYXlbJ3BhcmFtZXRlcnMnXSk7CgogICAgICAgIC8vIE5vcm1hbGl6ZSB0aGUgYXJyYXkKICAgICAgICB1bnNldCgkZGF0YVsncGFyYW1ldGVycyddKTsKICAgICAgICB1bnNldCgkdG9BcnJheVsncGFyYW1ldGVycyddKTsKCiAgICAgICAgJGRhdGFbJ3Jlc3BvbnNlVHlwZSddID0gJ3ByaW1pdGl2ZSc7CiAgICAgICAgJGRhdGFbJ3Jlc3BvbnNlQ2xhc3MnXSA9ICdhcnJheSc7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZGF0YSwgJHRvQXJyYXkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGV0ZXJtaW5lc0lmSGFzUGFyYW0oKQogICAgewogICAgICAgICRjb21tYW5kID0gJHRoaXMtPmdldFRlc3RDb21tYW5kKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGNvbW1hbmQtPmhhc1BhcmFtKCdkYXRhJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkY29tbWFuZC0+aGFzUGFyYW0oJ2JheicpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNQYXJhbU5hbWVzKCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRUZXN0Q29tbWFuZCgpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2RhdGEnKSwgJGNvbW1hbmQtPmdldFBhcmFtTmFtZXMoKSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldFRlc3RDb21tYW5kKCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IE9wZXJhdGlvbihhcnJheSgKICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2RhdGEnID0+IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnCiAgICAgICAgICAgICAgICApKQogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5CdWlsZFVwQ29tbWFuZHMoKQogICAgewogICAgICAgICRjID0gbmV3IE9wZXJhdGlvbihhcnJheSgpKTsKICAgICAgICAkYy0+c2V0TmFtZSgnZm9vJykKICAgICAgICAgICAgLT5zZXRDbGFzcygnQmF6JykKICAgICAgICAgICAgLT5zZXREZXByZWNhdGVkKGZhbHNlKQogICAgICAgICAgICAtPnNldFN1bW1hcnkoJ3N1bW1hcnknKQogICAgICAgICAgICAtPnNldERvY3VtZW50YXRpb25VcmwoJ2h0dHA6Ly93d3cuZm9vLmNvbScpCiAgICAgICAgICAgIC0+c2V0SHR0cE1ldGhvZCgnUFVUJykKICAgICAgICAgICAgLT5zZXRSZXNwb25zZU5vdGVzKCdvaCcpCiAgICAgICAgICAgIC0+c2V0UmVzcG9uc2VDbGFzcygnc3RyaW5nJykKICAgICAgICAgICAgLT5zZXRVcmkoJy9mb28vYmFyJykKICAgICAgICAgICAgLT5hZGRQYXJhbShuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAgICAgJ25hbWUnID0+ICd0ZXN0JwogICAgICAgICAgICApKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICRjLT5nZXROYW1lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0JheicsICRjLT5nZXRDbGFzcygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGZhbHNlLCAkYy0+Z2V0RGVwcmVjYXRlZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdzdW1tYXJ5JywgJGMtPmdldFN1bW1hcnkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovL3d3dy5mb28uY29tJywgJGMtPmdldERvY3VtZW50YXRpb25VcmwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUFVUJywgJGMtPmdldEh0dHBNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnb2gnLCAkYy0+Z2V0UmVzcG9uc2VOb3RlcygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdzdHJpbmcnLCAkYy0+Z2V0UmVzcG9uc2VDbGFzcygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcvZm9vL2JhcicsICRjLT5nZXRVcmkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgndGVzdCcpLCAkYy0+Z2V0UGFyYW1OYW1lcygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblJlbW92ZVBhcmFtcygpCiAgICB7CiAgICAgICAgJGMgPSBuZXcgT3BlcmF0aW9uKGFycmF5KCkpOwogICAgICAgICRjLT5hZGRQYXJhbShuZXcgUGFyYW1ldGVyKGFycmF5KCduYW1lJyA9PiAnZm9vJykpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkYy0+aGFzUGFyYW0oJ2ZvbycpKTsKICAgICAgICAkYy0+cmVtb3ZlUGFyYW0oJ2ZvbycpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkYy0+aGFzUGFyYW0oJ2ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNOYW1lVG9QYXJhbWV0ZXJzSWZOZWVkZWQoKQogICAgewogICAgICAgICRjb21tYW5kID0gbmV3IE9wZXJhdGlvbihhcnJheSgncGFyYW1ldGVycycgPT4gYXJyYXkoJ2ZvbycgPT4gbmV3IFBhcmFtZXRlcihhcnJheSgpKSkpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkY29tbWFuZC0+Z2V0UGFyYW0oJ2ZvbycpLT5nZXROYW1lKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29udGFpbnNBcGlFcnJvckluZm9ybWF0aW9uKCkKICAgIHsKICAgICAgICAkY29tbWFuZCA9ICR0aGlzLT5nZXRPcGVyYXRpb24oKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRjb21tYW5kLT5nZXRFcnJvclJlc3BvbnNlcygpKSk7CiAgICAgICAgJGFyciA9ICRjb21tYW5kLT50b0FycmF5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkYXJyWydlcnJvclJlc3BvbnNlcyddKSk7CiAgICAgICAgJGNvbW1hbmQtPmFkZEVycm9yUmVzcG9uc2UoNDAwLCAnRm9vJywgJ0JhelxcQmFyJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkY29tbWFuZC0+Z2V0RXJyb3JSZXNwb25zZXMoKSkpOwogICAgICAgICRjb21tYW5kLT5zZXRFcnJvclJlc3BvbnNlcyhhcnJheSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsIGNvdW50KCRjb21tYW5kLT5nZXRFcnJvclJlc3BvbnNlcygpKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNOb3RlcygpCiAgICB7CiAgICAgICAgJG8gPSBuZXcgT3BlcmF0aW9uKGFycmF5KCdub3RlcycgPT4gJ2ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkby0+Z2V0Tm90ZXMoKSk7CiAgICAgICAgJG8tPnNldE5vdGVzKCdiYXInKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXInLCAkby0+Z2V0Tm90ZXMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNEYXRhKCkKICAgIHsKICAgICAgICAkbyA9IG5ldyBPcGVyYXRpb24oYXJyYXkoJ2RhdGEnID0+IGFycmF5KCdmb28nID0+ICdiYXonLCAnYmFyJyA9PiAxMjMpKSk7CiAgICAgICAgJG8tPnNldERhdGEoJ3Rlc3QnLCBmYWxzZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmF6JywgJG8tPmdldERhdGEoJ2ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEyMywgJG8tPmdldERhdGEoJ2JhcicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkby0+Z2V0RGF0YSgnd2ZlZndlJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyAgICA9PiBhcnJheSgpLAogICAgICAgICAgICAnY2xhc3MnICAgICAgICAgPT4gJ0d1enpsZVxTZXJ2aWNlXENvbW1hbmRcT3BlcmF0aW9uQ29tbWFuZCcsCiAgICAgICAgICAgICdkYXRhJyAgICAgICAgICA9PiBhcnJheSgnZm9vJyA9PiAnYmF6JywgJ2JhcicgPT4gMTIzLCAndGVzdCcgPT4gZmFsc2UpLAogICAgICAgICAgICAncmVzcG9uc2VDbGFzcycgPT4gJ2FycmF5JywKICAgICAgICAgICAgJ3Jlc3BvbnNlVHlwZScgID0+ICdwcmltaXRpdmUnCiAgICAgICAgKSwgJG8tPnRvQXJyYXkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNTZXJ2aWNlRGVzY3JpcHRpb24oKQogICAgewogICAgICAgICRzID0gbmV3IFNlcnZpY2VEZXNjcmlwdGlvbigpOwogICAgICAgICRvID0gbmV3IE9wZXJhdGlvbihhcnJheSgpLCAkcyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHMsICRvLT5nZXRTZXJ2aWNlRGVzY3JpcHRpb24oKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVzUmVzcG9uc2VUeXBlKCkKICAgIHsKICAgICAgICAkbyA9IG5ldyBPcGVyYXRpb24oYXJyYXkoJ3Jlc3BvbnNlQ2xhc3MnID0+ICdhcnJheScsICdyZXNwb25zZVR5cGUnID0+ICdmb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJbmZlcnNSZXNwb25zZVR5cGUoKQogICAgewogICAgICAgICRvID0gJHRoaXMtPmdldE9wZXJhdGlvbigpOwogICAgICAgICRvLT5zZXRTZXJ2aWNlRGVzY3JpcHRpb24obmV3IFNlcnZpY2VEZXNjcmlwdGlvbihhcnJheSgnbW9kZWxzJyA9PiBhcnJheSgnRm9vJyA9PiBhcnJheSgpKSkpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdwcmltaXRpdmUnLCAkby0+Z2V0UmVzcG9uc2VUeXBlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3ByaW1pdGl2ZScsICRvLT5zZXRSZXNwb25zZUNsYXNzKCdib29sZWFuJyktPmdldFJlc3BvbnNlVHlwZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdwcmltaXRpdmUnLCAkby0+c2V0UmVzcG9uc2VDbGFzcygnYXJyYXknKS0+Z2V0UmVzcG9uc2VUeXBlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3ByaW1pdGl2ZScsICRvLT5zZXRSZXNwb25zZUNsYXNzKCdpbnRlZ2VyJyktPmdldFJlc3BvbnNlVHlwZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdwcmltaXRpdmUnLCAkby0+c2V0UmVzcG9uc2VDbGFzcygnc3RyaW5nJyktPmdldFJlc3BvbnNlVHlwZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdjbGFzcycsICRvLT5zZXRSZXNwb25zZUNsYXNzKCdmb28nKS0+Z2V0UmVzcG9uc2VUeXBlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2NsYXNzJywgJG8tPnNldFJlc3BvbnNlQ2xhc3MoX19DTEFTU19fKS0+Z2V0UmVzcG9uc2VUeXBlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ21vZGVsJywgJG8tPnNldFJlc3BvbnNlQ2xhc3MoJ0ZvbycpLT5nZXRSZXNwb25zZVR5cGUoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNSZXNwb25zZVR5cGUoKQogICAgewogICAgICAgIC8vIGluZmVycyBpbiB0aGUgY29uc3RydWN0b3IKICAgICAgICAkbyA9IG5ldyBPcGVyYXRpb24oYXJyYXkoJ3Jlc3BvbnNlQ2xhc3MnID0+ICdhcnJheScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdwcmltaXRpdmUnLCAkby0+Z2V0UmVzcG9uc2VUeXBlKCkpOwogICAgICAgIC8vIEluZmVycyB3aGVuIHNldAogICAgICAgICRvID0gbmV3IE9wZXJhdGlvbigpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3ByaW1pdGl2ZScsICRvLT5nZXRSZXNwb25zZVR5cGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnbW9kZWwnLCAkby0+c2V0UmVzcG9uc2VUeXBlKCdtb2RlbCcpLT5nZXRSZXNwb25zZVR5cGUoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNBZGRpdGlvbmFsUGFyYW1ldGVycygpCiAgICB7CiAgICAgICAgJG8gPSBuZXcgT3BlcmF0aW9uKGFycmF5KAogICAgICAgICAgICAnYWRkaXRpb25hbFBhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnLCAnbmFtZScgPT4gJ2JpbmtzJwogICAgICAgICAgICApLAogICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZm9vJyA9PiBhcnJheSgndHlwZScgPT4gJ2ludGVnZXInKQogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnc3RyaW5nJywgJG8tPmdldEFkZGl0aW9uYWxQYXJhbWV0ZXJzKCktPmdldFR5cGUoKSk7CiAgICAgICAgJGFyciA9ICRvLT50b0FycmF5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdzdHJpbmcnCiAgICAgICAgKSwgJGFyclsnYWRkaXRpb25hbFBhcmFtZXRlcnMnXSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIE9wZXJhdGlvbgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IE9wZXJhdGlvbihhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgICAgID0+ICdPcGVyYXRpb25UZXN0JywKICAgICAgICAgICAgJ2NsYXNzJyAgICAgID0+IGdldF9jbGFzcygkdGhpcyksCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0ZXN0JyAgICAgICAgICA9PiBhcnJheSgndHlwZScgPT4gJ29iamVjdCcpLAogICAgICAgICAgICAgICAgJ2Jvb2xfMScgICAgICAgID0+IGFycmF5KCdkZWZhdWx0JyA9PiB0cnVlLCAndHlwZScgPT4gJ2Jvb2xlYW4nKSwKICAgICAgICAgICAgICAgICdib29sXzInICAgICAgICA9PiBhcnJheSgnZGVmYXVsdCcgPT4gZmFsc2UpLAogICAgICAgICAgICAgICAgJ2Zsb2F0JyAgICAgICAgID0+IGFycmF5KCd0eXBlJyA9PiAnbnVtZXJpYycpLAogICAgICAgICAgICAgICAgJ2ludCcgICAgICAgICAgID0+IGFycmF5KCd0eXBlJyA9PiAnaW50ZWdlcicpLAogICAgICAgICAgICAgICAgJ2RhdGUnICAgICAgICAgID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJyksCiAgICAgICAgICAgICAgICAndGltZXN0YW1wJyAgICAgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnKSwKICAgICAgICAgICAgICAgICdzdHJpbmcnICAgICAgICA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycpLAogICAgICAgICAgICAgICAgJ3VzZXJuYW1lJyAgICAgID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJywgJ3JlcXVpcmVkJyA9PiB0cnVlLCAnZmlsdGVycycgPT4gJ3N0cnRvbG93ZXInKSwKICAgICAgICAgICAgICAgICd0ZXN0X2Z1bmN0aW9uJyA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycsICdmaWx0ZXJzJyA9PiBfX0NMQVNTX18gLiAnOjpzdHJ0b3VwcGVyJykKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Vycm9yUmVzcG9uc2VzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KCdjb2RlJyA9PiA1MDMsICdyZWFzb24nID0+ICdJbnN1ZmZpY2llbnRDYXBhY2l0eScsICdjbGFzcycgPT4gJ0d1enpsZVxcRXhjZXB0aW9uXFxSdW50aW1lRXhjZXB0aW9uJykKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ParameterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxEZXNjcmlwdGlvbjsKCnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXI7CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTZXJ2aWNlRGVzY3JpcHRpb247CgovKioKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXIKICovCmNsYXNzIFBhcmFtZXRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCAkZGF0YSA9IGFycmF5KAogICAgICAgICduYW1lJyAgICAgICAgICAgID0+ICdmb28nLAogICAgICAgICd0eXBlJyAgICAgICAgICAgID0+ICdiYXInLAogICAgICAgICdyZXF1aXJlZCcgICAgICAgID0+IHRydWUsCiAgICAgICAgJ2RlZmF1bHQnICAgICAgICAgPT4gJzEyMycsCiAgICAgICAgJ2Rlc2NyaXB0aW9uJyAgICAgPT4gJzQ1NicsCiAgICAgICAgJ21pbkxlbmd0aCcgICAgICAgPT4gMiwKICAgICAgICAnbWF4TGVuZ3RoJyAgICAgICA9PiA1LAogICAgICAgICdsb2NhdGlvbicgICAgICAgID0+ICdib2R5JywKICAgICAgICAnc3RhdGljJyAgICAgICAgICA9PiAnc3RhdGljIScsCiAgICAgICAgJ2ZpbHRlcnMnICAgICAgICAgPT4gYXJyYXkoJ3RyaW0nLCAnanNvbl9lbmNvZGUnKQogICAgKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENyZWF0ZXNQYXJhbUZyb21BcnJheSgpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKCR0aGlzLT5kYXRhKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkcC0+Z2V0TmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXInLCAkcC0+Z2V0VHlwZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKHRydWUsICRwLT5nZXRSZXF1aXJlZCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAkcC0+Z2V0RGVmYXVsdCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCc0NTYnLCAkcC0+Z2V0RGVzY3JpcHRpb24oKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCAkcC0+Z2V0TWluTGVuZ3RoKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNSwgJHAtPmdldE1heExlbmd0aCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdib2R5JywgJHAtPmdldExvY2F0aW9uKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3N0YXRpYyEnLCAkcC0+Z2V0U3RhdGljKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ3RyaW0nLCAnanNvbl9lbmNvZGUnKSwgJHAtPmdldEZpbHRlcnMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5Db252ZXJ0VG9BcnJheSgpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKCR0aGlzLT5kYXRhKTsKICAgICAgICB1bnNldCgkdGhpcy0+ZGF0YVsnbmFtZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR0aGlzLT5kYXRhLCAkcC0+dG9BcnJheSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVzZXNTdGF0aWMoKQogICAgewogICAgICAgICRkID0gJHRoaXMtPmRhdGE7CiAgICAgICAgJGRbJ2RlZmF1bHQnXSA9ICdib29ib28nOwogICAgICAgICRkWydzdGF0aWMnXSA9IHRydWU7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKCRkKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdib29ib28nLCAkcC0+Z2V0VmFsdWUoJ2JhcicpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVzZXNEZWZhdWx0KCkKICAgIHsKICAgICAgICAkZCA9ICR0aGlzLT5kYXRhOwogICAgICAgICRkWydkZWZhdWx0J10gPSAnZm9vJzsKICAgICAgICAkZFsnc3RhdGljJ10gPSBudWxsOwogICAgICAgICRwID0gbmV3IFBhcmFtZXRlcigkZCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJHAtPmdldFZhbHVlKG51bGwpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJldHVybnNZb3VyVmFsdWUoKQogICAgewogICAgICAgICRkID0gJHRoaXMtPmRhdGE7CiAgICAgICAgJGRbJ3N0YXRpYyddID0gbnVsbDsKICAgICAgICAkcCA9IG5ldyBQYXJhbWV0ZXIoJGQpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICRwLT5nZXRWYWx1ZSgnZm9vJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0WmVyb1ZhbHVlRG9lc05vdENhdXNlRGVmYXVsdFRvQmVSZXR1cm5lZCgpCiAgICB7CiAgICAgICAgJGQgPSAkdGhpcy0+ZGF0YTsKICAgICAgICAkZFsnZGVmYXVsdCddID0gJzEnOwogICAgICAgICRkWydzdGF0aWMnXSA9IG51bGw7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKCRkKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcwJywgJHAtPmdldFZhbHVlKCcwJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmlsdGVyc1ZhbHVlcygpCiAgICB7CiAgICAgICAgJGQgPSAkdGhpcy0+ZGF0YTsKICAgICAgICAkZFsnc3RhdGljJ10gPSBudWxsOwogICAgICAgICRkWydmaWx0ZXJzJ10gPSAnc3RydG91cHBlcic7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKCRkKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdGT08nLCAkcC0+ZmlsdGVyKCdmb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb252ZXJ0c0Jvb2xlYW5zKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoJ3R5cGUnID0+ICdib29sZWFuJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHModHJ1ZSwgJHAtPmZpbHRlcigndHJ1ZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGZhbHNlLCAkcC0+ZmlsdGVyKCdmYWxzZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFVzZXNBcnJheUJ5RGVmYXVsdEZvckZpbHRlcnMoKQogICAgewogICAgICAgICRkID0gJHRoaXMtPmRhdGE7CiAgICAgICAgJGRbJ2ZpbHRlcnMnXSA9IG51bGw7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKCRkKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCksICRwLT5nZXRGaWx0ZXJzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzU2ltcGxlTG9jYXRpb25WYWx1ZSgpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKGFycmF5KCduYW1lJyA9PiAnbXluYW1lJywgJ2xvY2F0aW9uJyA9PiAnZm9vJywgJ3NlbnRBcycgPT4gJ0hlbGxvJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2ZvbycsICRwLT5nZXRMb2NhdGlvbigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdIZWxsbycsICRwLT5nZXRTZW50QXMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQYXJzZXNUeXBlVmFsdWVzKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoJ3R5cGUnID0+ICdmb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJHAtPmdldFR5cGUoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIEEgW21ldGhvZF0gdmFsdWUgbXVzdCBiZSBzcGVjaWZpZWQgZm9yIGVhY2ggY29tcGxleCBmaWx0ZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNDb21wbGV4RmlsdGVycygpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKGFycmF5KCdmaWx0ZXJzJyA9PiBhcnJheShhcnJheSgnYXJncycgPT4gJ2ZvbycpKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQnVpbGRVcFBhcmFtcygpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKGFycmF5KCkpOwogICAgICAgICRwLT5zZXROYW1lKCdmb28nKQogICAgICAgICAgICAtPnNldERlc2NyaXB0aW9uKCdjJykKICAgICAgICAgICAgLT5zZXRGaWx0ZXJzKGFycmF5KCdkJykpCiAgICAgICAgICAgIC0+c2V0TG9jYXRpb24oJ2UnKQogICAgICAgICAgICAtPnNldFNlbnRBcygnZicpCiAgICAgICAgICAgIC0+c2V0TWF4TGVuZ3RoKDEpCiAgICAgICAgICAgIC0+c2V0TWluTGVuZ3RoKDEpCiAgICAgICAgICAgIC0+c2V0TWluaW11bSgyKQogICAgICAgICAgICAtPnNldE1heGltdW0oMikKICAgICAgICAgICAgLT5zZXRNaW5JdGVtcygzKQogICAgICAgICAgICAtPnNldE1heEl0ZW1zKDMpCiAgICAgICAgICAgIC0+c2V0UmVxdWlyZWQodHJ1ZSkKICAgICAgICAgICAgLT5zZXRTdGF0aWModHJ1ZSkKICAgICAgICAgICAgLT5zZXREZWZhdWx0KCdoJykKICAgICAgICAgICAgLT5zZXRUeXBlKCdpJyk7CgogICAgICAgICRwLT5hZGRGaWx0ZXIoJ2ZvbycpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkcC0+Z2V0TmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdoJywgJHAtPmdldERlZmF1bHQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYycsICRwLT5nZXREZXNjcmlwdGlvbigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdkJywgJ2ZvbycpLCAkcC0+Z2V0RmlsdGVycygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdlJywgJHAtPmdldExvY2F0aW9uKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2YnLCAkcC0+Z2V0U2VudEFzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMSwgJHAtPmdldE1heExlbmd0aCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsICRwLT5nZXRNaW5MZW5ndGgoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCAkcC0+Z2V0TWF4aW11bSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDIsICRwLT5nZXRNaW5pbXVtKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgJHAtPmdldE1heEl0ZW1zKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgJHAtPmdldE1pbkl0ZW1zKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHModHJ1ZSwgJHAtPmdldFJlcXVpcmVkKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHModHJ1ZSwgJHAtPmdldFN0YXRpYygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdpJywgJHAtPmdldFR5cGUoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NOZXN0ZWRTaGFwZSgpCiAgICB7CiAgICAgICAgJGNvbW1hbmQgPSAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdtb2NrJyktPmdldENvbW1hbmQoJ21vY2tfY29tbWFuZCcpLT5nZXRPcGVyYXRpb24oKTsKICAgICAgICAkcGFyYW0gPSBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAncGFyZW50JyAgICAgPT4gJGNvbW1hbmQsCiAgICAgICAgICAgICduYW1lJyAgICAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3R5cGUnICAgICAgID0+ICdvYmplY3QnLAogICAgICAgICAgICAnbG9jYXRpb24nICAgPT4gJ3F1ZXJ5JywKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2ZvbycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnICAgICAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyAgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdiYXonID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+ICdiYXonLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdib29sJywKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnYmFyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbmFtZScgICAgPT4gJ2JhcicsCiAgICAgICAgICAgICAgICAgICAgJ2RlZmF1bHQnID0+ICcxMjMnCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGNvbW1hbmQsICRwYXJhbS0+Z2V0UGFyZW50KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROb3RFbXB0eSgkcGFyYW0tPmdldFByb3BlcnRpZXMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcicsICRwYXJhbS0+Z2V0UHJvcGVydHkoJ2ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkcGFyYW0sICRwYXJhbS0+Z2V0UHJvcGVydHkoJ2ZvbycpLT5nZXRQYXJlbnQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHBhcmFtLT5nZXRQcm9wZXJ0eSgnZm9vJyksICRwYXJhbS0+Z2V0UHJvcGVydHkoJ2ZvbycpLT5nZXRQcm9wZXJ0eSgnYmF6JyktPmdldFBhcmVudCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyJywgJHBhcmFtLT5nZXRQcm9wZXJ0eSgnYmFyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRwYXJhbSwgJHBhcmFtLT5nZXRQcm9wZXJ0eSgnYmFyJyktPmdldFBhcmVudCgpKTsKCiAgICAgICAgJGFycmF5ID0gJHBhcmFtLT50b0FycmF5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCAkYXJyYXlbJ3Byb3BlcnRpZXMnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdmb28nLCAkYXJyYXlbJ3Byb3BlcnRpZXMnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEFycmF5SGFzS2V5KCdiYXInLCAkYXJyYXlbJ3Byb3BlcnRpZXMnXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NDb21wbGV4RmlsdGVycygpCiAgICB7CiAgICAgICAgJHRoYXQgPSAkdGhpczsKICAgICAgICAkcGFyYW0gPSBuZXcgUGFyYW1ldGVyKGFycmF5KCkpOwogICAgICAgICRwYXJhbS0+c2V0RmlsdGVycyhhcnJheShhcnJheSgnbWV0aG9kJyA9PiBmdW5jdGlvbiAoJGEsICRiLCAkYywgJGQpIHVzZSAoJHRoYXQsICRwYXJhbSkgewogICAgICAgICAgICAkdGhhdC0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgJGEpOwogICAgICAgICAgICAkdGhhdC0+YXNzZXJ0RXF1YWxzKCdteV92YWx1ZSEnLCAkYik7CiAgICAgICAgICAgICR0aGF0LT5hc3NlcnRFcXVhbHMoJ2JhcicsICRjKTsKICAgICAgICAgICAgJHRoYXQtPmFzc2VydFNhbWUoJHBhcmFtLCAkZCk7CiAgICAgICAgICAgIHJldHVybiAnYWJjJyAuICRiOwogICAgICAgIH0sICdhcmdzJyA9PiBhcnJheSgndGVzdCcsICdAdmFsdWUnLCAnYmFyJywgJ0BhcGknKSkpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhYmNteV92YWx1ZSEnLCAkcGFyYW0tPmZpbHRlcignbXlfdmFsdWUhJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQ2hhbmdlUGFyZW50T2ZOZXN0ZWRQYXJhbWV0ZXIoKQogICAgewogICAgICAgICRwYXJhbTEgPSBuZXcgUGFyYW1ldGVyKGFycmF5KCduYW1lJyA9PiAncGFyZW50JykpOwogICAgICAgICRwYXJhbTIgPSBuZXcgUGFyYW1ldGVyKGFycmF5KCduYW1lJyA9PiAnY2hpbGQnKSk7CiAgICAgICAgJHBhcmFtMi0+c2V0UGFyZW50KCRwYXJhbTEpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRwYXJhbTEsICRwYXJhbTItPmdldFBhcmVudCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblJlbW92ZUZyb21OZXN0ZWRTdHJ1Y3R1cmUoKQogICAgewogICAgICAgICRwYXJhbTEgPSBuZXcgUGFyYW1ldGVyKGFycmF5KCduYW1lJyA9PiAncGFyZW50JykpOwogICAgICAgICRwYXJhbTIgPSBuZXcgUGFyYW1ldGVyKGFycmF5KCduYW1lJyA9PiAnY2hpbGQnKSk7CiAgICAgICAgJHBhcmFtMS0+YWRkUHJvcGVydHkoJHBhcmFtMik7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHBhcmFtMSwgJHBhcmFtMi0+Z2V0UGFyZW50KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRwYXJhbTIsICRwYXJhbTEtPmdldFByb3BlcnR5KCdjaGlsZCcpKTsKCiAgICAgICAgLy8gUmVtb3ZlIGEgc2luZ2xlIGNoaWxkIGZyb20gdGhlIHN0cnVjdHVyZQogICAgICAgICRwYXJhbTEtPnJlbW92ZVByb3BlcnR5KCdjaGlsZCcpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRwYXJhbTEtPmdldFByb3BlcnR5KCdjaGlsZCcpKTsKICAgICAgICAvLyBSZW1vdmUgdGhlIGVudGlyZSBzdHJ1Y3R1cmUKICAgICAgICAkcGFyYW0xLT5hZGRQcm9wZXJ0eSgkcGFyYW0yKTsKICAgICAgICAkcGFyYW0xLT5yZW1vdmVQcm9wZXJ0eSgnY2hpbGQnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkcGFyYW0xLT5nZXRQcm9wZXJ0eSgnY2hpbGQnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzQWRkaXRpb25hbFByb3BlcnRpZXMoKQogICAgewogICAgICAgICRwID0gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJykKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyJywgJHAtPmdldEFkZGl0aW9uYWxQcm9wZXJ0aWVzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRwLT5nZXRBZGRpdGlvbmFsUHJvcGVydGllcygpLT5nZXRBZGRpdGlvbmFsUHJvcGVydGllcygpKTsKICAgICAgICAkcCA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoJ3R5cGUnID0+ICdvYmplY3QnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHAtPmdldEFkZGl0aW9uYWxQcm9wZXJ0aWVzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkc0l0ZW1zKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyAgPT4gJ2FycmF5JywKICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycpCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcicsICRwLT5nZXRJdGVtcygpKTsKICAgICAgICAkb3V0ID0gJHAtPnRvQXJyYXkoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhcnJheScsICRvdXRbJ3R5cGUnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCAkb3V0WydpdGVtcyddKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc0V4dHJhUHJvcGVydGllcygpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgpLCAkcC0+Z2V0RGF0YSgpKTsKICAgICAgICAkcC0+c2V0RGF0YShhcnJheSgnZm9vJyA9PiAnYmFyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRwLT5nZXREYXRhKCdmb28nKSk7CiAgICAgICAgJHAtPnNldERhdGEoJ2JheicsICdib28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmb28nID0+ICdiYXInLCAnYmF6JyA9PiAnYm9vJyksICRwLT5nZXREYXRhKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuUmV0cmlldmVLbm93blByb3BlcnRpZXNVc2luZ0RhdGFNZXRob2QoKQogICAgewogICAgICAgICRwID0gbmV3IFBhcmFtZXRlcigpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMobnVsbCwgJHAtPmdldERhdGEoJ2ZvbycpKTsKICAgICAgICAkcC0+c2V0TmFtZSgndGVzdCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3Rlc3QnLCAkcC0+Z2V0RGF0YSgnbmFtZScpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc0luc3RhbmNlT2YoKQogICAgewogICAgICAgICRwID0gbmV3IFBhcmFtZXRlcigpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRwLT5nZXRJbnN0YW5jZU9mKCkpOwogICAgICAgICRwLT5zZXRJbnN0YW5jZU9mKCdGb28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdGb28nLCAkcC0+Z2V0SW5zdGFuY2VPZigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc1BhdHRlcm4oKQogICAgewogICAgICAgICRwID0gbmV3IFBhcmFtZXRlcigpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRwLT5nZXRQYXR0ZXJuKCkpOwogICAgICAgICRwLT5zZXRQYXR0ZXJuKCcvWzAtOV0rLycpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy9bMC05XSsvJywgJHAtPmdldFBhdHRlcm4oKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNFbnVtKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBQYXJhbWV0ZXIoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkcC0+Z2V0RW51bSgpKTsKICAgICAgICAkcC0+c2V0RW51bShhcnJheSgnZm9vJywgJ2JhcicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdmb28nLCAnYmFyJyksICRwLT5nZXRFbnVtKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2VyaWFsaXplc0l0ZW1zKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnKQogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnKQogICAgICAgICksICRwLT50b0FycmF5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVzb2x2ZXNSZWZLZXlzUmVjdXJzaXZlbHkoKQogICAgewogICAgICAgICRkZXNjcmlwdGlvbiA9IG5ldyBTZXJ2aWNlRGVzY3JpcHRpb24oYXJyYXkoCiAgICAgICAgICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0phckphcicgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnLCAnZGVmYXVsdCcgPT4gJ01lc2EgYWRkcmVzcyB0aGEgc2VuYXRlIScpLAogICAgICAgICAgICAgICAgJ0FuYWtpbicgPT4gYXJyYXkoJ3R5cGUnID0+ICdhcnJheScsICdpdGVtcycgPT4gYXJyYXkoJyRyZWYnID0+ICdKYXJKYXInKSkKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgICAgICRwID0gbmV3IFBhcmFtZXRlcihhcnJheSgnJHJlZicgPT4gJ0FuYWtpbicsICdkZXNjcmlwdGlvbicgPT4gJ2FkZGVkJyksICRkZXNjcmlwdGlvbik7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ3R5cGUnID0+ICdhcnJheScsCiAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnLCAnZGVmYXVsdCcgPT4gJ01lc2EgYWRkcmVzcyB0aGEgc2VuYXRlIScpLAogICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdhZGRlZCcKICAgICAgICApLCAkcC0+dG9BcnJheSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlc29sdmVzRXh0ZW5kc1JlY3Vyc2l2ZWx5KCkKICAgIHsKICAgICAgICAkamFySmFyID0gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnLCAnZGVmYXVsdCcgPT4gJ01lc2EgYWRkcmVzcyB0aGEgc2VuYXRlIScsICdkZXNjcmlwdGlvbicgPT4gJ2EnKTsKICAgICAgICAkYW5ha2luID0gYXJyYXkoJ3R5cGUnID0+ICdhcnJheScsICdpdGVtcycgPT4gYXJyYXkoJ2V4dGVuZHMnID0+ICdKYXJKYXInLCAnZGVzY3JpcHRpb24nID0+ICdiJykpOwogICAgICAgICRkZXNjcmlwdGlvbiA9IG5ldyBTZXJ2aWNlRGVzY3JpcHRpb24oYXJyYXkoCiAgICAgICAgICAgICdtb2RlbHMnID0+IGFycmF5KCdKYXJKYXInID0+ICRqYXJKYXIsICdBbmFraW4nID0+ICRhbmFraW4pCiAgICAgICAgKSk7CiAgICAgICAgLy8gRGVzY3JpcHRpb24gYXR0cmlidXRlIHdpbGwgYmUgdXBkYXRlZCwgYW5kIGZvcm1hdCBhZGRlZAogICAgICAgICRwID0gbmV3IFBhcmFtZXRlcihhcnJheSgnZXh0ZW5kcycgPT4gJ0FuYWtpbicsICdmb3JtYXQnID0+ICdkYXRlJyksICRkZXNjcmlwdGlvbik7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgJ3R5cGUnICA9PiAnYXJyYXknLAogICAgICAgICAgICAnZm9ybWF0JyA9PiAnZGF0ZScsCiAgICAgICAgICAgICdpdGVtcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndHlwZScgICAgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ01lc2EgYWRkcmVzcyB0aGEgc2VuYXRlIScsCiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdiJwogICAgICAgICAgICApCiAgICAgICAgKSwgJHAtPnRvQXJyYXkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNLZXlNZXRob2QoKQogICAgewogICAgICAgICRwID0gbmV3IFBhcmFtZXRlcihhcnJheSgnbmFtZScgPT4gJ2ZvbycsICdzZW50QXMnID0+ICdiYXInKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmFyJywgJHAtPmdldFdpcmVOYW1lKCkpOwogICAgICAgICRwLT5zZXRTZW50QXMobnVsbCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJHAtPmdldFdpcmVOYW1lKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SW5jbHVkZXNOYW1lSW5Ub0FycmF5V2hlbkl0ZW1zQXR0cmlidXRlSGFzTmFtZSgpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgJ25hbWUnID0+ICdBYmMnLAogICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ25hbWUnID0+ICdGb28nLAogICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgICAgICAkcmVzdWx0ID0gJHAtPnRvQXJyYXkoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KAogICAgICAgICAgICAndHlwZScgPT4gJ2FycmF5JywKICAgICAgICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICduYW1lJyA9PiAnRm9vJywKICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gdHJ1ZQogICAgICAgICAgICApCiAgICAgICAgKSwgJHJlc3VsdCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRhdGVUaW1lUHJvdmlkZXIoKQogICAgewogICAgICAgICRkID0gJ09jdG9iZXIgMTMsIDIwMTIgMTY6MTU6NDYgVVRDJzsKCiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBhcnJheSgkZCwgJ2RhdGUtdGltZScsICcyMDEyLTEwLTEzVDE2OjE1OjQ2WicpLAogICAgICAgICAgICBhcnJheSgkZCwgJ2RhdGUnLCAnMjAxMi0xMC0xMycpLAogICAgICAgICAgICBhcnJheSgkZCwgJ3RpbWVzdGFtcCcsIHN0cnRvdGltZSgkZCkpLAogICAgICAgICAgICBhcnJheShuZXcgXERhdGVUaW1lKCRkKSwgJ3RpbWVzdGFtcCcsIHN0cnRvdGltZSgkZCkpCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBkYXRhUHJvdmlkZXIgZGF0ZVRpbWVQcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFwcGxpZXNGb3JtYXQoJGQsICRmb3JtYXQsICRyZXN1bHQpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKCk7CiAgICAgICAgJHAtPnNldEZvcm1hdCgkZm9ybWF0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCRmb3JtYXQsICRwLT5nZXRGb3JtYXQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcmVzdWx0LCAkcC0+ZmlsdGVyKCRkKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/SchemaFormatterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxEZXNjcmlwdGlvbjsKCnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTY2hlbWFGb3JtYXR0ZXI7CgovKioKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTY2hlbWFGb3JtYXR0ZXIKICovCmNsYXNzIFNjaGVtYUZvcm1hdHRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBkYXRlVGltZVByb3ZpZGVyKCkKICAgIHsKICAgICAgICAkZGF0ZVV0YyA9ICdPY3RvYmVyIDEzLCAyMDEyIDE2OjE1OjQ2IFVUQyc7CiAgICAgICAgJGRhdGVPZmZzZXQgPSAnT2N0b2JlciAxMywgMjAxMiAxMDoxNTo0NiAtMDY6MDAnOwogICAgICAgICRleHBlY3RlZERhdGVUaW1lID0gJzIwMTItMTAtMTNUMTY6MTU6NDZaJzsKCiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICBhcnJheSgnZm9vJywgJ2RvZXMtbm90LWV4aXN0JywgJ2ZvbycpLAogICAgICAgICAgICBhcnJheSgkZGF0ZVV0YywgJ2RhdGUtdGltZScsICRleHBlY3RlZERhdGVUaW1lKSwKICAgICAgICAgICAgYXJyYXkoJGRhdGVVdGMsICdkYXRlLXRpbWUtaHR0cCcsICdTYXQsIDEzIE9jdCAyMDEyIDE2OjE1OjQ2IEdNVCcpLAogICAgICAgICAgICBhcnJheSgkZGF0ZVV0YywgJ2RhdGUnLCAnMjAxMi0xMC0xMycpLAogICAgICAgICAgICBhcnJheSgkZGF0ZVV0YywgJ3RpbWVzdGFtcCcsIHN0cnRvdGltZSgkZGF0ZVV0YykpLAogICAgICAgICAgICBhcnJheShuZXcgXERhdGVUaW1lKCRkYXRlVXRjKSwgJ3RpbWVzdGFtcCcsIHN0cnRvdGltZSgkZGF0ZVV0YykpLAogICAgICAgICAgICBhcnJheSgkZGF0ZVV0YywgJ3RpbWUnLCAnMTY6MTU6NDYnKSwKICAgICAgICAgICAgYXJyYXkoc3RydG90aW1lKCRkYXRlVXRjKSwgJ3RpbWUnLCAnMTY6MTU6NDYnKSwKICAgICAgICAgICAgYXJyYXkoc3RydG90aW1lKCRkYXRlVXRjKSwgJ3RpbWVzdGFtcCcsIHN0cnRvdGltZSgkZGF0ZVV0YykpLAogICAgICAgICAgICBhcnJheSgndHJ1ZScsICdib29sZWFuLXN0cmluZycsICd0cnVlJyksCiAgICAgICAgICAgIGFycmF5KHRydWUsICdib29sZWFuLXN0cmluZycsICd0cnVlJyksCiAgICAgICAgICAgIGFycmF5KCdmYWxzZScsICdib29sZWFuLXN0cmluZycsICdmYWxzZScpLAogICAgICAgICAgICBhcnJheShmYWxzZSwgJ2Jvb2xlYW4tc3RyaW5nJywgJ2ZhbHNlJyksCiAgICAgICAgICAgIGFycmF5KCcxMzUwMTQ0OTQ2JywgJ2RhdGUtdGltZScsICRleHBlY3RlZERhdGVUaW1lKSwKICAgICAgICAgICAgYXJyYXkoMTM1MDE0NDk0NiwgJ2RhdGUtdGltZScsICRleHBlY3RlZERhdGVUaW1lKSwKICAgICAgICAgICAgYXJyYXkoJGRhdGVPZmZzZXQsICdkYXRlLXRpbWUnLCAkZXhwZWN0ZWREYXRlVGltZSkKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQGRhdGFQcm92aWRlciBkYXRlVGltZVByb3ZpZGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmlsdGVycygkdmFsdWUsICRmb3JtYXQsICRyZXN1bHQpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkcmVzdWx0LCBTY2hlbWFGb3JtYXR0ZXI6OmZvcm1hdCgkZm9ybWF0LCAkdmFsdWUpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcR3V6emxlXENvbW1vblxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVzRGF0ZVRpbWVJbnB1dCgpCiAgICB7CiAgICAgICAgU2NoZW1hRm9ybWF0dGVyOjpmb3JtYXQoJ2RhdGUtdGltZScsIGZhbHNlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNUaW1lc3RhbXBzQXJlSW50ZWdlcnMoKQogICAgewogICAgICAgICR0ID0gdGltZSgpOwogICAgICAgICRyZXN1bHQgPSBTY2hlbWFGb3JtYXR0ZXI6OmZvcm1hdCgndGltZXN0YW1wJywgJHQpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCR0LCAkcmVzdWx0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdpbnQnLCAkcmVzdWx0KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/SchemaValidatorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxEZXNjcmlwdGlvbjsKCnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXI7CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTY2hlbWFWYWxpZGF0b3I7CgovKioKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTY2hlbWFWYWxpZGF0b3IKICovCmNsYXNzIFNjaGVtYVZhbGlkYXRvclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKiBAdmFyIFNjaGVtYVZhbGlkYXRvciAqLwogICAgcHJvdGVjdGVkICR2YWxpZGF0b3I7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+dmFsaWRhdG9yID0gbmV3IFNjaGVtYVZhbGlkYXRvcigpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVzQXJyYXlMaXN0c0FyZU51bWVyaWNhbGx5SW5kZXhlZCgpCiAgICB7CiAgICAgICAgJHZhbHVlID0gYXJyYXkoYXJyYXkoMSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+dmFsaWRhdG9yLT52YWxpZGF0ZSgkdGhpcy0+Z2V0Q29tcGxleFBhcmFtKCksICR2YWx1ZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoCiAgICAgICAgICAgIGFycmF5KCdbRm9vXVswXSBtdXN0IGJlIGFuIGFycmF5IG9mIHByb3BlcnRpZXMuIEdvdCBhIG51bWVyaWNhbGx5IGluZGV4ZWQgYXJyYXkuJyksCiAgICAgICAgICAgICR0aGlzLT52YWxpZGF0b3ItPmdldEVycm9ycygpCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZhbGlkYXRlc0FycmF5TGlzdHNDb250YWluUHJvcGVySXRlbXMoKQogICAgewogICAgICAgICR2YWx1ZSA9IGFycmF5KHRydWUpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+dmFsaWRhdG9yLT52YWxpZGF0ZSgkdGhpcy0+Z2V0Q29tcGxleFBhcmFtKCksICR2YWx1ZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoCiAgICAgICAgICAgIGFycmF5KCdbRm9vXVswXSBtdXN0IGJlIG9mIHR5cGUgb2JqZWN0JyksCiAgICAgICAgICAgICR0aGlzLT52YWxpZGF0b3ItPmdldEVycm9ycygpCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNEZWZhdWx0VmFsdWVzSW5MaXN0cygpCiAgICB7CiAgICAgICAgJHZhbHVlID0gYXJyYXkoYXJyYXkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPnZhbGlkYXRvci0+dmFsaWRhdGUoJHRoaXMtPmdldENvbXBsZXhQYXJhbSgpLCAkdmFsdWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KGFycmF5KCdCYXInID0+IHRydWUpKSwgJHZhbHVlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE1lcmdlc0RlZmF1bHRWYWx1ZXNJbkxpc3RzKCkKICAgIHsKICAgICAgICAkdmFsdWUgPSBhcnJheSgKICAgICAgICAgICAgYXJyYXkoJ0JheicgPT4gJ2hlbGxvIScpLAogICAgICAgICAgICBhcnJheSgnQmFyJyA9PiBmYWxzZSkKICAgICAgICApOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT52YWxpZGF0b3ItPnZhbGlkYXRlKCR0aGlzLT5nZXRDb21wbGV4UGFyYW0oKSwgJHZhbHVlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAnQmF6JyA9PiAnaGVsbG8hJywKICAgICAgICAgICAgICAgICdCYXInID0+IHRydWUKICAgICAgICAgICAgKSwKICAgICAgICAgICAgYXJyYXkoJ0JhcicgPT4gZmFsc2UpCiAgICAgICAgKSwgJHZhbHVlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvcnJlY3RseUNvbnZlcnRzUGFyYW1ldGVyc1RvQXJyYXlXaGVuQXJyYXlzQXJlUHJlc2VudCgpCiAgICB7CiAgICAgICAgJHBhcmFtID0gJHRoaXMtPmdldENvbXBsZXhQYXJhbSgpOwogICAgICAgICRyZXN1bHQgPSAkcGFyYW0tPnRvQXJyYXkoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW50ZXJuYWxUeXBlKCdhcnJheScsICRyZXN1bHRbJ2l0ZW1zJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FycmF5JywgJHJlc3VsdFsndHlwZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyJywgJHBhcmFtLT5nZXRJdGVtcygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0luc3RhbmNlT2YoKQogICAgewogICAgICAgICRwID0gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgICAgID0+ICdmb28nLAogICAgICAgICAgICAndHlwZScgICAgICAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdpbnN0YW5jZU9mJyA9PiBnZXRfY2xhc3MoJHRoaXMpCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPnZhbGlkYXRvci0+dmFsaWRhdGUoJHAsICR0aGlzKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT52YWxpZGF0b3ItPnZhbGlkYXRlKCRwLCAkcCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ1tmb29dIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgJyAuIF9fQ0xBU1NfXyksICR0aGlzLT52YWxpZGF0b3ItPmdldEVycm9ycygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuZm9yY2VzSW5zdGFuY2VPZk9ubHlXaGVuT2JqZWN0KCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgICAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3R5cGUnICAgICAgID0+IGFycmF5KCdvYmplY3QnLCAnc3RyaW5nJyksCiAgICAgICAgICAgICdpbnN0YW5jZU9mJyA9PiBnZXRfY2xhc3MoJHRoaXMpCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPnZhbGlkYXRvci0+dmFsaWRhdGUoJHAsICR0aGlzKSk7CiAgICAgICAgJHMgPSAndGVzdCc7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPnZhbGlkYXRvci0+dmFsaWRhdGUoJHAsICRzKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb252ZXJ0c09iamVjdHNUb0FycmF5c1doZW5Ub0FycmF5SW50ZXJmYWNlKCkKICAgIHsKICAgICAgICAkbyA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXENvbW1vblxUb0FycmF5SW50ZXJmYWNlJykKICAgICAgICAgICAgLT5zZXRNZXRob2RzKGFycmF5KCd0b0FycmF5JykpCiAgICAgICAgICAgIC0+Z2V0TW9ja0ZvckFic3RyYWN0Q2xhc3MoKTsKICAgICAgICAkby0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgndG9BcnJheScpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoYXJyYXkoCiAgICAgICAgICAgICAgICAnZm9vJyA9PiAnYmFyJwogICAgICAgICAgICApKSk7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAnbmFtZScgICAgICAgPT4gJ3Rlc3QnLAogICAgICAgICAgICAndHlwZScgICAgICAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdmb28nID0+IGFycmF5KCdyZXF1aXJlZCcgPT4gJ3RydWUnKQogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPnZhbGlkYXRvci0+dmFsaWRhdGUoJHAsICRvKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RNZXJnZXNWYWxpZGF0aW9uRXJyb3JzSW5Qcm9wZXJ0aWVzV2l0aFBhcmVudCgpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAnbmFtZScgICAgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICd0eXBlJyAgICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2JhcicgICA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycsICdyZXF1aXJlZCcgPT4gdHJ1ZSwgJ2Rlc2NyaXB0aW9uJyA9PiAnVGhpcyBpcyB3aGF0IGl0IGRvZXMnKSwKICAgICAgICAgICAgICAgICd0ZXN0JyAgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnLCAnbWluTGVuZ3RoJyA9PiAyLCAnbWF4TGVuZ3RoJyA9PiA1KSwKICAgICAgICAgICAgICAgICd0ZXN0MicgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnLCAnbWluTGVuZ3RoJyA9PiAyLCAnbWF4TGVuZ3RoJyA9PiAyKSwKICAgICAgICAgICAgICAgICd0ZXN0MycgPT4gYXJyYXkoJ3R5cGUnID0+ICdpbnRlZ2VyJywgJ21pbmltdW0nID0+IDEwMCksCiAgICAgICAgICAgICAgICAndGVzdDQnID0+IGFycmF5KCd0eXBlJyA9PiAnaW50ZWdlcicsICdtYXhpbXVtJyA9PiAxMCksCiAgICAgICAgICAgICAgICAndGVzdDUnID0+IGFycmF5KCd0eXBlJyA9PiAnYXJyYXknLCAnbWF4SXRlbXMnID0+IDIpLAogICAgICAgICAgICAgICAgJ3Rlc3Q2JyA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycsICdlbnVtJyA9PiBhcnJheSgnYScsICdiYycpKSwKICAgICAgICAgICAgICAgICd0ZXN0NycgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnLCAncGF0dGVybicgPT4gJy9bMC05XSsvJyksCiAgICAgICAgICAgICAgICAndGVzdDgnID0+IGFycmF5KCd0eXBlJyA9PiAnbnVtYmVyJyksCiAgICAgICAgICAgICAgICAnYmF6JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgICAgID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAgICAgJ21pbkl0ZW1zJyA9PiAyLAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAiaXRlbXMiICAgID0+IGFycmF5KCJ0eXBlIiA9PiAic3RyaW5nIikKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwoKICAgICAgICAkdmFsdWUgPSBhcnJheSgKICAgICAgICAgICAgJ3Rlc3QnID0+ICdhJywKICAgICAgICAgICAgJ3Rlc3QyJyA9PiAnYWJjJywKICAgICAgICAgICAgJ2JheicgPT4gYXJyYXkoZmFsc2UpLAogICAgICAgICAgICAndGVzdDMnID0+IDEwLAogICAgICAgICAgICAndGVzdDQnID0+IDEwMCwKICAgICAgICAgICAgJ3Rlc3Q1JyA9PiBhcnJheSgxLCAzLCA0KSwKICAgICAgICAgICAgJ3Rlc3Q2JyA9PiAnRm9vJywKICAgICAgICAgICAgJ3Rlc3Q3JyA9PiAnYWJjJywKICAgICAgICAgICAgJ3Rlc3Q4JyA9PiAnYWJjJwogICAgICAgICk7CgogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+dmFsaWRhdG9yLT52YWxpZGF0ZSgkcCwgJHZhbHVlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSAoCiAgICAgICAgICAgICdbZm9vXVtiYXJdIGlzIGEgcmVxdWlyZWQgc3RyaW5nOiBUaGlzIGlzIHdoYXQgaXQgZG9lcycsCiAgICAgICAgICAgICdbZm9vXVtiYXpdIG11c3QgY29udGFpbiAyIG9yIG1vcmUgZWxlbWVudHMnLAogICAgICAgICAgICAnW2Zvb11bYmF6XVswXSBtdXN0IGJlIG9mIHR5cGUgc3RyaW5nJywKICAgICAgICAgICAgJ1tmb29dW3Rlc3QyXSBsZW5ndGggbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMicsCiAgICAgICAgICAgICdbZm9vXVt0ZXN0M10gbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMTAwJywKICAgICAgICAgICAgJ1tmb29dW3Rlc3Q0XSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxMCcsCiAgICAgICAgICAgICdbZm9vXVt0ZXN0NV0gbXVzdCBjb250YWluIDIgb3IgZmV3ZXIgZWxlbWVudHMnLAogICAgICAgICAgICAnW2Zvb11bdGVzdDZdIG11c3QgYmUgb25lIG9mICJhIiBvciAiYmMiJywKICAgICAgICAgICAgJ1tmb29dW3Rlc3Q3XSBtdXN0IG1hdGNoIHRoZSBmb2xsb3dpbmcgcmVndWxhciBleHByZXNzaW9uOiAvWzAtOV0rLycsCiAgICAgICAgICAgICdbZm9vXVt0ZXN0OF0gbXVzdCBiZSBvZiB0eXBlIG51bWJlcicsCiAgICAgICAgICAgICdbZm9vXVt0ZXN0XSBsZW5ndGggbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMicsCiAgICAgICAgKSwgJHRoaXMtPnZhbGlkYXRvci0+Z2V0RXJyb3JzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFuZGxlc051bGxWYWx1ZXNJbkFycmF5c1dpdGhEZWZhdWx0cygpCiAgICB7CiAgICAgICAgJHAgPSBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAnbmFtZScgICAgICAgPT4gJ2ZvbycsCiAgICAgICAgICAgICd0eXBlJyAgICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ3JlcXVpcmVkJyAgID0+IHRydWUsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdiYXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnZm9vJyA9PiBhcnJheSgnZGVmYXVsdCcgPT4gJ2hpJykKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgICAgICAkdmFsdWUgPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT52YWxpZGF0b3ItPnZhbGlkYXRlKCRwLCAkdmFsdWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdiYXInID0+IGFycmF5KCdmb28nID0+ICdoaScpKSwgJHZhbHVlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEZhaWxzV2hlbk51bGxWYWx1ZXNJbkFycmF5c1dpdGhOb0RlZmF1bHRzKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgICAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3R5cGUnICAgICAgID0+ICdvYmplY3QnLAogICAgICAgICAgICAncmVxdWlyZWQnICAgPT4gdHJ1ZSwKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2JhcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnID0+ICdvYmplY3QnLAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcycgPT4gYXJyYXkoJ2ZvbycgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnKSkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgICAgICR2YWx1ZSA9IGFycmF5KCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT52YWxpZGF0b3ItPnZhbGlkYXRlKCRwLCAkdmFsdWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdbZm9vXVtiYXJdIGlzIGEgcmVxdWlyZWQgb2JqZWN0JyksICR0aGlzLT52YWxpZGF0b3ItPmdldEVycm9ycygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENoZWNrc1R5cGVzKCkKICAgIHsKICAgICAgICAkcCA9IG5ldyBTY2hlbWFWYWxpZGF0b3IoKTsKICAgICAgICAkciA9IG5ldyBcUmVmbGVjdGlvbk1ldGhvZCgkcCwgJ2RldGVybWluZVR5cGUnKTsKICAgICAgICAkci0+c2V0QWNjZXNzaWJsZSh0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdhbnknLCAkci0+aW52b2tlKCRwLCAnYW55JywgJ2hlbGxvJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoZmFsc2UsICRyLT5pbnZva2UoJHAsICdmb28nLCAnZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3N0cmluZycsICRyLT5pbnZva2UoJHAsICdzdHJpbmcnLCAnaGVsbG8nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhmYWxzZSwgJHItPmludm9rZSgkcCwgJ3N0cmluZycsIGZhbHNlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaW50ZWdlcicsICRyLT5pbnZva2UoJHAsICdpbnRlZ2VyJywgMSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoZmFsc2UsICRyLT5pbnZva2UoJHAsICdpbnRlZ2VyJywgJ2FiYycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdudW1lcmljJywgJHItPmludm9rZSgkcCwgJ251bWVyaWMnLCAxKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnbnVtZXJpYycsICRyLT5pbnZva2UoJHAsICdudW1lcmljJywgJzEnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnbnVtYmVyJywgJHItPmludm9rZSgkcCwgJ251bWJlcicsIDEpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdudW1iZXInLCAkci0+aW52b2tlKCRwLCAnbnVtYmVyJywgJzEnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhmYWxzZSwgJHItPmludm9rZSgkcCwgJ251bWVyaWMnLCAnYScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdib29sZWFuJywgJHItPmludm9rZSgkcCwgJ2Jvb2xlYW4nLCB0cnVlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYm9vbGVhbicsICRyLT5pbnZva2UoJHAsICdib29sZWFuJywgZmFsc2UpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGZhbHNlLCAkci0+aW52b2tlKCRwLCAnYm9vbGVhbicsICdmYWxzZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdudWxsJywgJHItPmludm9rZSgkcCwgJ251bGwnLCBudWxsKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhmYWxzZSwgJHItPmludm9rZSgkcCwgJ251bGwnLCAnYWJjJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2FycmF5JywgJHItPmludm9rZSgkcCwgJ2FycmF5JywgYXJyYXkoKSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoZmFsc2UsICRyLT5pbnZva2UoJHAsICdhcnJheScsICdmb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNGYWxzZUFkZGl0aW9uYWxQcm9wZXJ0aWVzKCkKICAgIHsKICAgICAgICAkcGFyYW0gPSBuZXcgUGFyYW1ldGVyKGFycmF5KAogICAgICAgICAgICAnbmFtZScgICAgICA9PiAnZm9vJywKICAgICAgICAgICAgJ3R5cGUnICAgICAgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgnYmFyJyA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycpKSwKICAgICAgICAgICAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyA9PiBmYWxzZQogICAgICAgICkpOwogICAgICAgICR2YWx1ZSA9IGFycmF5KCd0ZXN0JyA9PiAnMTIzJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT52YWxpZGF0b3ItPnZhbGlkYXRlKCRwYXJhbSwgJHZhbHVlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnW2Zvb11bdGVzdF0gaXMgbm90IGFuIGFsbG93ZWQgcHJvcGVydHknKSwgJHRoaXMtPnZhbGlkYXRvci0+Z2V0RXJyb3JzKCkpOwogICAgICAgICR2YWx1ZSA9IGFycmF5KCdiYXInID0+ICcxMjMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+dmFsaWRhdG9yLT52YWxpZGF0ZSgkcGFyYW0sICR2YWx1ZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzVW5kZWZpbmVkQWRkaXRpb25hbFByb3BlcnRpZXMoKQogICAgewogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgICAgID0+ICdmb28nLAogICAgICAgICAgICAndHlwZScgICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KCdiYXInID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJykpCiAgICAgICAgKSk7CiAgICAgICAgJHZhbHVlID0gYXJyYXkoJ3Rlc3QnID0+ICcxMjMnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+dmFsaWRhdG9yLT52YWxpZGF0ZSgkcGFyYW0sICR2YWx1ZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VmFsaWRhdGVzQWRkaXRpb25hbFByb3BlcnRpZXMoKQogICAgewogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgICAgID0+ICdmb28nLAogICAgICAgICAgICAndHlwZScgICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KCdiYXInID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJykpLAogICAgICAgICAgICAnYWRkaXRpb25hbFByb3BlcnRpZXMnID0+IGFycmF5KCd0eXBlJyA9PiAnaW50ZWdlcicpCiAgICAgICAgKSk7CiAgICAgICAgJHZhbHVlID0gYXJyYXkoJ3Rlc3QnID0+ICdmb28nKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHRoaXMtPnZhbGlkYXRvci0+dmFsaWRhdGUoJHBhcmFtLCAkdmFsdWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdbZm9vXVt0ZXN0XSBtdXN0IGJlIG9mIHR5cGUgaW50ZWdlcicpLCAkdGhpcy0+dmFsaWRhdG9yLT5nZXRFcnJvcnMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RWYWxpZGF0ZXNBZGRpdGlvbmFsUHJvcGVydGllc1RoYXRBcnJheUFycmF5cygpCiAgICB7CiAgICAgICAgJHBhcmFtID0gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ25hbWUnID0+ICdmb28nLAogICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICdhZGRpdGlvbmFsUHJvcGVydGllcycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndHlwZScgID0+ICdhcnJheScsCiAgICAgICAgICAgICAgICAnaXRlbXMnID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJykKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgICAgICR2YWx1ZSA9IGFycmF5KCd0ZXN0JyA9PiBhcnJheSh0cnVlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT52YWxpZGF0b3ItPnZhbGlkYXRlKCRwYXJhbSwgJHZhbHVlKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnW2Zvb11bdGVzdF1bMF0gbXVzdCBiZSBvZiB0eXBlIHN0cmluZycpLCAkdGhpcy0+dmFsaWRhdG9yLT5nZXRFcnJvcnMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJbnRlZ2Vyc0Nhc3RUb1N0cmluZ1doZW5UeXBlTWlzbWF0Y2goKQogICAgewogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoJ25hbWUnID0+ICd0ZXN0JywgJ3R5cGUnID0+ICdzdHJpbmcnKSk7CiAgICAgICAgJHZhbHVlID0gMTI7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPnZhbGlkYXRvci0+dmFsaWRhdGUoJHBhcmFtLCAkdmFsdWUpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMicsICR2YWx1ZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXF1aXJlZE1lc3NhZ2VJbmNsdWRlc1R5cGUoKQogICAgewogICAgICAgICRwYXJhbSA9IG5ldyBQYXJhbWV0ZXIoYXJyYXkoJ25hbWUnID0+ICd0ZXN0JywgJ3R5cGUnID0+IGFycmF5KCdzdHJpbmcnLCAnYm9vbGVhbicpLCAncmVxdWlyZWQnID0+IHRydWUpKTsKICAgICAgICAkdmFsdWUgPSBudWxsOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+dmFsaWRhdG9yLT52YWxpZGF0ZSgkcGFyYW0sICR2YWx1ZSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ1t0ZXN0XSBpcyBhIHJlcXVpcmVkIHN0cmluZyBvciBib29sZWFuJyksICR0aGlzLT52YWxpZGF0b3ItPmdldEVycm9ycygpKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0Q29tcGxleFBhcmFtKCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IFBhcmFtZXRlcihhcnJheSgKICAgICAgICAgICAgJ25hbWUnICAgICA9PiAnRm9vJywKICAgICAgICAgICAgJ3R5cGUnICAgICA9PiAnYXJyYXknLAogICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICdtaW4nICAgICAgPT4gMSwKICAgICAgICAgICAgJ2l0ZW1zJyAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0eXBlJyAgICAgICA9PiAnb2JqZWN0JywKICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQmF6JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnICAgID0+ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgJ0JhcicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnICAgICA9PiAnYm9vbGVhbicsCiAgICAgICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyAgPT4gdHJ1ZQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ServiceDescriptionLoaderTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxEZXNjcmlwdGlvbjsKCnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTZXJ2aWNlRGVzY3JpcHRpb247CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTZXJ2aWNlRGVzY3JpcHRpb25Mb2FkZXI7CgovKioKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTZXJ2aWNlRGVzY3JpcHRpb25Mb2FkZXIKICovCmNsYXNzIFNlcnZpY2VEZXNjcmlwdGlvbkxvYWRlclRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWxsb3dzRXh0cmFEYXRhKCkKICAgIHsKICAgICAgICAkZCA9IFNlcnZpY2VEZXNjcmlwdGlvbjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ2ZvbycgPT4gdHJ1ZSwKICAgICAgICAgICAgJ2JheicgPT4gYXJyYXkoJ2JhcicpLAogICAgICAgICAgICAnYXBpVmVyc2lvbicgPT4gJzEyMycsCiAgICAgICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgpCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHModHJ1ZSwgJGQtPmdldERhdGEoJ2ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdiYXInKSwgJGQtPmdldERhdGEoJ2JheicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCcxMjMnLCAkZC0+Z2V0QXBpVmVyc2lvbigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0RlZXBOZXN0ZWRJbmhlcml0YW5jZSgpCiAgICB7CiAgICAgICAgJGQgPSBTZXJ2aWNlRGVzY3JpcHRpb246OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdhYnN0cmFjdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2h0dHBNZXRob2QnID0+ICdIRUFEJywKICAgICAgICAgICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0JyA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycsICdyZXF1aXJlZCcgPT4gdHJ1ZSkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2Fic3RyYWN0MicgPT4gYXJyYXkoJ3VyaScgPT4gJy90ZXN0JywgJ2V4dGVuZHMnID0+ICdhYnN0cmFjdCcpLAogICAgICAgICAgICAgICAgJ2NvbmNyZXRlJyAgPT4gYXJyYXkoJ2V4dGVuZHMnID0+ICdhYnN0cmFjdDInKSwKICAgICAgICAgICAgICAgICdvdmVycmlkZScgID0+IGFycmF5KCdleHRlbmRzJyA9PiAnYWJzdHJhY3QnLCAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcpLAogICAgICAgICAgICAgICAgJ292ZXJyaWRlMicgID0+IGFycmF5KCdleHRlbmRzJyA9PiAnb3ZlcnJpZGUnLCAnaHR0cE1ldGhvZCcgPT4gJ1BPU1QnLCAndXJpJyA9PiAnLycpCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJGMgPSAkZC0+Z2V0T3BlcmF0aW9uKCdjb25jcmV0ZScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy90ZXN0JywgJGMtPmdldFVyaSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdIRUFEJywgJGMtPmdldEh0dHBNZXRob2QoKSk7CiAgICAgICAgJHBhcmFtcyA9ICRjLT5nZXRQYXJhbXMoKTsKICAgICAgICAkcGFyYW0gPSAkcGFyYW1zWyd0ZXN0J107CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnc3RyaW5nJywgJHBhcmFtLT5nZXRUeXBlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRwYXJhbS0+Z2V0UmVxdWlyZWQoKSk7CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IG1lcmdpbmcgSFRUUCBtZXRob2QgZG9lcyBub3QgbWFrZSBhbiBhcnJheQogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ1BVVCcsICRkLT5nZXRPcGVyYXRpb24oJ292ZXJyaWRlJyktPmdldEh0dHBNZXRob2QoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUE9TVCcsICRkLT5nZXRPcGVyYXRpb24oJ292ZXJyaWRlMicpLT5nZXRIdHRwTWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJy8nLCAkZC0+Z2V0T3BlcmF0aW9uKCdvdmVycmlkZTInKS0+Z2V0VXJpKCkpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIFJ1bnRpbWVFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RUaHJvd3NFeGNlcHRpb25XaGVuRXh0ZW5kaW5nTWlzc2luZ0NvbW1hbmQoKQogICAgewogICAgICAgIFNlcnZpY2VEZXNjcmlwdGlvbjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2NvbmNyZXRlJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZXh0ZW5kcycgPT4gJ21pc3NpbmcnCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c011bHRpcGxlSW5oZXJpdGFuY2UoKQogICAgewogICAgICAgICRkZXNjcmlwdGlvbiA9IFNlcnZpY2VEZXNjcmlwdGlvbjo6ZmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2EnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnR0VUJywKICAgICAgICAgICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdhMScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgID0+ICdmb28nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ByZXBlbmQnICA9PiAnaGknCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2InID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdleHRlbmRzJyA9PiAnYScsCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnYjInID0+IGFycmF5KCkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2MnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2ExJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWZhdWx0JyAgICAgPT4gJ2JhcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnICAgID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICd0ZXN0JwogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAnYzMnID0+IGFycmF5KCkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJ2QnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnREVMRVRFJywKICAgICAgICAgICAgICAgICAgICAnZXh0ZW5kcycgICAgPT4gYXJyYXkoJ2InLCAnYycpLAogICAgICAgICAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3QnID0+IGFycmF5KCkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICApKTsKCiAgICAgICAgJGNvbW1hbmQgPSAkZGVzY3JpcHRpb24tPmdldE9wZXJhdGlvbignZCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0RFTEVURScsICRjb21tYW5kLT5nZXRIdHRwTWV0aG9kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnYTEnLCAkY29tbWFuZC0+Z2V0UGFyYW1OYW1lcygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ2IyJywgJGNvbW1hbmQtPmdldFBhcmFtTmFtZXMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdjMycsICRjb21tYW5kLT5nZXRQYXJhbU5hbWVzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygndGVzdCcsICRjb21tYW5kLT5nZXRQYXJhbU5hbWVzKCkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkY29tbWFuZC0+Z2V0UGFyYW0oJ2ExJyktPmdldFJlcXVpcmVkKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRjb21tYW5kLT5nZXRQYXJhbSgnYTEnKS0+Z2V0RGVmYXVsdCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgJGNvbW1hbmQtPmdldFBhcmFtKCdhMScpLT5nZXREZXNjcmlwdGlvbigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNPdGhlckZpZWxkcygpCiAgICB7CiAgICAgICAgJGRlc2NyaXB0aW9uID0gU2VydmljZURlc2NyaXB0aW9uOjpmYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9ucycgID0+IGFycmF5KCksCiAgICAgICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ0ZvbycsCiAgICAgICAgICAgICdhcGlWZXJzaW9uJyAgPT4gJ2JhcicKICAgICAgICApKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdGb28nLCAkZGVzY3JpcHRpb24tPmdldERlc2NyaXB0aW9uKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2JhcicsICRkZXNjcmlwdGlvbi0+Z2V0QXBpVmVyc2lvbigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkxvYWROZXN0ZWRFeHRlbmRzKCkKICAgIHsKICAgICAgICAkZGVzY3JpcHRpb24gPSBTZXJ2aWNlRGVzY3JpcHRpb246OmZhY3RvcnkoYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRpb25zJyAgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAncm9vdCcgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiAnZm9vJwogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdmb28nID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdleHRlbmRzJyA9PiAncm9vdCcsCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnYmF6JyA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycpCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdmb29fMicgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2V4dGVuZHMnID0+ICdmb28nLAogICAgICAgICAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ2JhcicgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZm9vXzMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdjbGFzcycgPT4gJ2JhcicsCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnYmFyMicgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZm9vXzQnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdleHRlbmRzJyA9PiBhcnJheSgnZm9vXzInLCAnZm9vXzMnKSwKICAgICAgICAgICAgICAgICAgICAncGFyYW1ldGVycycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICdiYXIzJyA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycpCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRkZXNjcmlwdGlvbi0+aGFzT3BlcmF0aW9uKCdmb29fNCcpKTsKICAgICAgICAkZm9vNCA9ICRkZXNjcmlwdGlvbi0+Z2V0T3BlcmF0aW9uKCdmb29fNCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRmb280LT5oYXNQYXJhbSgnYmF6JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRmb280LT5oYXNQYXJhbSgnYmFyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRmb280LT5oYXNQYXJhbSgnYmFyMicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZm9vNC0+aGFzUGFyYW0oJ2JhcjMnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmFyJywgJGZvbzQtPmdldENsYXNzKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ServiceDescriptionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxEZXNjcmlwdGlvbjsKCnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTZXJ2aWNlRGVzY3JpcHRpb247CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxPcGVyYXRpb247CnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxQYXJhbWV0ZXI7CnVzZSBHdXp6bGVcU2VydmljZVxDbGllbnQ7CgovKioKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTZXJ2aWNlRGVzY3JpcHRpb24KICovCmNsYXNzIFNlcnZpY2VEZXNjcmlwdGlvblRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHByb3RlY3RlZCAkc2VydmljZURhdGE7CgogICAgcHVibGljIGZ1bmN0aW9uIHNldHVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+c2VydmljZURhdGEgPSBhcnJheSgKICAgICAgICAgICAgJ3Rlc3RfY29tbWFuZCcgPT4gbmV3IE9wZXJhdGlvbihhcnJheSgKICAgICAgICAgICAgICAgICduYW1lJyAgICAgICAgPT4gJ3Rlc3RfY29tbWFuZCcsCiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdkb2N1bWVudGF0aW9uRm9yQ29tbWFuZCcsCiAgICAgICAgICAgICAgICAnaHR0cE1ldGhvZCcgID0+ICdERUxFVEUnLAogICAgICAgICAgICAgICAgJ2NsYXNzJyAgICAgICA9PiAnR3V6emxlXFxUZXN0c1xcU2VydmljZVxcTW9ja1xcQ29tbWFuZFxcTW9ja0NvbW1hbmQnLAogICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnYnVja2V0JyAgPT4gYXJyYXkoJ3JlcXVpcmVkJyA9PiB0cnVlKSwKICAgICAgICAgICAgICAgICAgICAna2V5JyAgICAgPT4gYXJyYXkoJ3JlcXVpcmVkJyA9PiB0cnVlKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAY292ZXJzIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFNlcnZpY2VEZXNjcmlwdGlvbjo6ZmFjdG9yeQogICAgICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTZXJ2aWNlRGVzY3JpcHRpb25Mb2FkZXI6OmJ1aWxkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RmFjdG9yeURlbGVnYXRlc1RvQ29uY3JldGVGYWN0b3JpZXMoKQogICAgewogICAgICAgICRqc29uRmlsZSA9IF9fRElSX18gLiAnLy4uLy4uL1Rlc3REYXRhL3Rlc3Rfc2VydmljZS5qc29uJzsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cU2VydmljZURlc2NyaXB0aW9uJywgU2VydmljZURlc2NyaXB0aW9uOjpmYWN0b3J5KCRqc29uRmlsZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3IoKQogICAgewogICAgICAgICRzZXJ2aWNlID0gbmV3IFNlcnZpY2VEZXNjcmlwdGlvbihhcnJheSgnb3BlcmF0aW9ucycgPT4gJHRoaXMtPnNlcnZpY2VEYXRhKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkc2VydmljZS0+Z2V0T3BlcmF0aW9ucygpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRzZXJ2aWNlLT5oYXNPcGVyYXRpb24oJ2Zvb2JhcicpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkc2VydmljZS0+aGFzT3BlcmF0aW9uKCd0ZXN0X2NvbW1hbmQnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJc1NlcmlhbGl6YWJsZSgpCiAgICB7CiAgICAgICAgJHNlcnZpY2UgPSBuZXcgU2VydmljZURlc2NyaXB0aW9uKGFycmF5KCdvcGVyYXRpb25zJyA9PiAkdGhpcy0+c2VydmljZURhdGEpKTsKICAgICAgICAkZGF0YSA9IHNlcmlhbGl6ZSgkc2VydmljZSk7CiAgICAgICAgJGQyID0gdW5zZXJpYWxpemUoJGRhdGEpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoc2VyaWFsaXplKCRzZXJ2aWNlKSwgc2VyaWFsaXplKCRkMikpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U2VyaWFsaXplc1BhcmFtZXRlcnMoKQogICAgewogICAgICAgICRzZXJ2aWNlID0gbmV3IFNlcnZpY2VEZXNjcmlwdGlvbihhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2ZvbycgPT4gbmV3IE9wZXJhdGlvbihhcnJheSgncGFyYW1ldGVycycgPT4gYXJyYXkoJ2ZvbycgPT4gYXJyYXkoJ3R5cGUnID0+ICdzdHJpbmcnKSkpKQogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICAgICAgJHNlcmlhbGl6ZWQgPSBzZXJpYWxpemUoJHNlcnZpY2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnInBhcmFtZXRlcnMiOnsiZm9vIjonLCAkc2VyaWFsaXplZCk7CiAgICAgICAgJHNlcnZpY2UgPSB1bnNlcmlhbGl6ZSgkc2VyaWFsaXplZCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHNlcnZpY2UtPmdldE9wZXJhdGlvbignZm9vJyktPmhhc1BhcmFtKCdmb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NGb3JKc29uQmFzZWRBcnJheVBhcmFtc0Z1bmN0aW9uYWxUZXN0KCkKICAgIHsKICAgICAgICAkZGVzY3JpcHRpb24gPSBuZXcgU2VydmljZURlc2NyaXB0aW9uKGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAndGVzdCcgPT4gbmV3IE9wZXJhdGlvbihhcnJheSgKICAgICAgICAgICAgICAgICAgICAnaHR0cE1ldGhvZCcgPT4gJ1BVVCcsCiAgICAgICAgICAgICAgICAgICAgJ3BhcmFtZXRlcnMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnZGF0YScgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXJzJyAgPT4gJ2pzb25fZW5jb2RlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gJ2JvZHknCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApKQogICAgICAgICAgICApCiAgICAgICAgKSk7CiAgICAgICAgJGNsaWVudCA9IG5ldyBDbGllbnQoKTsKICAgICAgICAkY2xpZW50LT5zZXREZXNjcmlwdGlvbigkZGVzY3JpcHRpb24pOwogICAgICAgICRjb21tYW5kID0gJGNsaWVudC0+Z2V0Q29tbWFuZCgndGVzdCcsIGFycmF5KAogICAgICAgICAgICAnZGF0YScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnZm9vJyA9PiAnYmFyJwogICAgICAgICAgICApCiAgICAgICAgKSk7CgogICAgICAgICRyZXF1ZXN0ID0gJGNvbW1hbmQtPnByZXBhcmUoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd7ImZvbyI6ImJhciJ9JywgKHN0cmluZykgJHJlcXVlc3QtPmdldEJvZHkoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb250YWluc01vZGVscygpCiAgICB7CiAgICAgICAgJGQgPSBuZXcgU2VydmljZURlc2NyaXB0aW9uKGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9ucycgPT4gYXJyYXkoJ2ZvbycgPT4gYXJyYXkoKSksCiAgICAgICAgICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ1RhZycgICAgPT4gYXJyYXkoJ3R5cGUnID0+ICdvYmplY3QnKSwKICAgICAgICAgICAgICAgICdQZXJzb24nID0+IGFycmF5KCd0eXBlJyA9PiAnb2JqZWN0JykKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRkLT5oYXNNb2RlbCgnVGFnJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRkLT5oYXNNb2RlbCgnUGVyc29uJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkZC0+aGFzTW9kZWwoJ0ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cUGFyYW1ldGVyJywgJGQtPmdldE1vZGVsKCdUYWcnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJGQtPmdldE1vZGVsKCdGb28nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCcibW9kZWxzIjp7Jywgc2VyaWFsaXplKCRkKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnVGFnJywgJ1BlcnNvbicpLCBhcnJheV9rZXlzKCRkLT5nZXRNb2RlbHMoKSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQWRkTW9kZWxzKCkKICAgIHsKICAgICAgICAkZCA9IG5ldyBTZXJ2aWNlRGVzY3JpcHRpb24oYXJyYXkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRkLT5oYXNNb2RlbCgnRm9vJykpOwogICAgICAgICRkLT5hZGRNb2RlbChuZXcgUGFyYW1ldGVyKGFycmF5KCduYW1lJyA9PiAnRm9vJykpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZC0+aGFzTW9kZWwoJ0ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc0F0dHJpYnV0ZXMoKQogICAgewogICAgICAgICRkID0gbmV3IFNlcnZpY2VEZXNjcmlwdGlvbihhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbnMnICA9PiBhcnJheSgpLAogICAgICAgICAgICAnbmFtZScgICAgICAgID0+ICdOYW1lJywKICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnRGVzY3JpcHRpb24nLAogICAgICAgICAgICAnYXBpVmVyc2lvbicgID0+ICcxLjI0JwogICAgICAgICkpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdOYW1lJywgJGQtPmdldE5hbWUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnRGVzY3JpcHRpb24nLCAkZC0+Z2V0RGVzY3JpcHRpb24oKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnMS4yNCcsICRkLT5nZXRBcGlWZXJzaW9uKCkpOwoKICAgICAgICAkcyA9IHNlcmlhbGl6ZSgkZCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCcibmFtZSI6Ik5hbWUiJywgJHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnImRlc2NyaXB0aW9uIjoiRGVzY3JpcHRpb24iJywgJHMpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnImFwaVZlcnNpb24iOiIxLjI0IicsICRzKTsKCiAgICAgICAgJGQgPSB1bnNlcmlhbGl6ZSgkcyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnTmFtZScsICRkLT5nZXROYW1lKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0Rlc2NyaXB0aW9uJywgJGQtPmdldERlc2NyaXB0aW9uKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEuMjQnLCAkZC0+Z2V0QXBpVmVyc2lvbigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFBlcnNpc3RzQ3VzdG9tQXR0cmlidXRlcygpCiAgICB7CiAgICAgICAgJGRhdGEgPSBhcnJheSgKICAgICAgICAgICAgJ29wZXJhdGlvbnMnICA9PiBhcnJheSgnZm9vJyA9PiBhcnJheSgnY2xhc3MnID0+ICdmb28nLCAncGFyYW1ldGVycycgPT4gYXJyYXkoKSkpLAogICAgICAgICAgICAnbmFtZScgICAgICAgID0+ICdOYW1lJywKICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnVGVzdCcsCiAgICAgICAgICAgICdhcGlWZXJzaW9uJyAgPT4gJzEuMjQnLAogICAgICAgICAgICAnYXV0aCcgICAgICAgID0+ICdmb28nLAogICAgICAgICAgICAna2V5UGFyYW0nICAgID0+ICdiYXInCiAgICAgICAgKTsKICAgICAgICAkZCA9IG5ldyBTZXJ2aWNlRGVzY3JpcHRpb24oJGRhdGEpOwogICAgICAgICRkLT5zZXREYXRhKCdoZWxsbycsICdiYXonKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdmb28nLCAkZC0+Z2V0RGF0YSgnYXV0aCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXonLCAkZC0+Z2V0RGF0YSgnaGVsbG8nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmFyJywgJGQtPmdldERhdGEoJ2tleVBhcmFtJykpOwogICAgICAgIC8vIHJlc3BvbnNlQ2xhc3MgYW5kIHJlc3BvbnNlVHlwZSBhcmUgYWRkZWQgYnkgZGVmYXVsdAogICAgICAgICRkYXRhWydvcGVyYXRpb25zJ11bJ2ZvbyddWydyZXNwb25zZUNsYXNzJ10gPSAnYXJyYXknOwogICAgICAgICRkYXRhWydvcGVyYXRpb25zJ11bJ2ZvbyddWydyZXNwb25zZVR5cGUnXSA9ICdwcmltaXRpdmUnOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGRhdGEgKyBhcnJheSgnaGVsbG8nID0+ICdiYXonKSwganNvbl9kZWNvZGUoJGQtPnNlcmlhbGl6ZSgpLCB0cnVlKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNUb0FycmF5KCkKICAgIHsKICAgICAgICAkZGF0YSA9IGFycmF5KAogICAgICAgICAgICAnb3BlcmF0aW9ucycgID0+IGFycmF5KCksCiAgICAgICAgICAgICduYW1lJyAgICAgICAgPT4gJ05hbWUnLAogICAgICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdUZXN0JwogICAgICAgICk7CiAgICAgICAgJGQgPSBuZXcgU2VydmljZURlc2NyaXB0aW9uKCRkYXRhKTsKICAgICAgICAkYXJyID0gJGQtPnRvQXJyYXkoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdOYW1lJywgJGFyclsnbmFtZSddKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdUZXN0JywgJGFyclsnZGVzY3JpcHRpb24nXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZXR1cm5zTnVsbFdoZW5SZXRyaWV2aW5nTWlzc2luZ09wZXJhdGlvbigpCiAgICB7CiAgICAgICAgJHMgPSBuZXcgU2VydmljZURlc2NyaXB0aW9uKGFycmF5KCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRzLT5nZXRPcGVyYXRpb24oJ2ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkFkZE9wZXJhdGlvbnMoKQogICAgewogICAgICAgICRzID0gbmV3IFNlcnZpY2VEZXNjcmlwdGlvbihhcnJheSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHMtPmhhc09wZXJhdGlvbignRm9vJykpOwogICAgICAgICRzLT5hZGRPcGVyYXRpb24obmV3IE9wZXJhdGlvbihhcnJheSgnbmFtZScgPT4gJ0ZvbycpKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHMtPmhhc09wZXJhdGlvbignRm9vJykpOwogICAgfQoKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIEd1enpsZVxDb21tb25cRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFZhbGlkYXRlc09wZXJhdGlvblR5cGVzKCkKICAgIHsKICAgICAgICAkcyA9IG5ldyBTZXJ2aWNlRGVzY3JpcHRpb24oYXJyYXkoCiAgICAgICAgICAgICdvcGVyYXRpb25zJyA9PiBhcnJheSgnZm9vJyA9PiBuZXcgXHN0ZENsYXNzKCkpCiAgICAgICAgKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNCYXNlVXJsKCkKICAgIHsKICAgICAgICAkZGVzY3JpcHRpb24gPSBuZXcgU2VydmljZURlc2NyaXB0aW9uKGFycmF5KCdiYXNlVXJsJyA9PiAnaHR0cDovL2Zvby5jb20nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovL2Zvby5jb20nLCAkZGVzY3JpcHRpb24tPmdldEJhc2VVcmwoKSk7CiAgICAgICAgJGRlc2NyaXB0aW9uLT5zZXRCYXNlVXJsKCdodHRwOi8vZm9vYmFyLmNvbScpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2h0dHA6Ly9mb29iYXIuY29tJywgJGRlc2NyaXB0aW9uLT5nZXRCYXNlVXJsKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuVXNlQmFzZVBhdGgoKQogICAgewogICAgICAgICRkZXNjcmlwdGlvbiA9IG5ldyBTZXJ2aWNlRGVzY3JpcHRpb24oYXJyYXkoJ2Jhc2VQYXRoJyA9PiAnaHR0cDovL2Zvby5jb20nKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnaHR0cDovL2Zvby5jb20nLCAkZGVzY3JpcHRpb24tPmdldEJhc2VVcmwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RNb2RlbHNIYXZlTmFtZXMoKQogICAgewogICAgICAgICRkZXNjID0gYXJyYXkoCiAgICAgICAgICAgICdtb2RlbHMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ2RhdGUnID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJyksCiAgICAgICAgICAgICAgICAndXNlcic9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ29iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMnID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnZG9iJyA9PiBhcnJheSgnJHJlZicgPT4gJ2RhdGUnKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICk7CgogICAgICAgICRzID0gU2VydmljZURlc2NyaXB0aW9uOjpmYWN0b3J5KCRkZXNjKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdkYXRlJywgJHMtPmdldE1vZGVsKCdkYXRlJyktPmdldE5hbWUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZG9iJywgJHMtPmdldE1vZGVsKCd1c2VyJyktPmdldFByb3BlcnR5KCdkb2InKS0+Z2V0TmFtZSgpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/CommandTransferExceptionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxFeGNlcHRpb247Cgp1c2UgR3V6emxlXEh0dHBcRXhjZXB0aW9uXE11bHRpVHJhbnNmZXJFeGNlcHRpb247CnVzZSBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q7CnVzZSBHdXp6bGVcU2VydmljZVxFeGNlcHRpb25cQ29tbWFuZFRyYW5zZmVyRXhjZXB0aW9uOwp1c2UgR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xDb21tYW5kXE1vY2tDb21tYW5kOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcRXhjZXB0aW9uXENvbW1hbmRUcmFuc2ZlckV4Y2VwdGlvbgogKi8KY2xhc3MgQ29tbWFuZFRyYW5zZmVyRXhjZXB0aW9uVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdG9yZXNDb21tYW5kcygpCiAgICB7CiAgICAgICAgJGMxID0gbmV3IE1vY2tDb21tYW5kKCk7CiAgICAgICAgJGMyID0gbmV3IE1vY2tDb21tYW5kKCk7CiAgICAgICAgJGUgPSBuZXcgQ29tbWFuZFRyYW5zZmVyRXhjZXB0aW9uKCdUZXN0Jyk7CiAgICAgICAgJGUtPmFkZFN1Y2Nlc3NmdWxDb21tYW5kKCRjMSktPmFkZEZhaWxlZENvbW1hbmQoJGMyKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZShhcnJheSgkYzEpLCAkZS0+Z2V0U3VjY2Vzc2Z1bENvbW1hbmRzKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKGFycmF5KCRjMiksICRlLT5nZXRGYWlsZWRDb21tYW5kcygpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZShhcnJheSgkYzEsICRjMiksICRlLT5nZXRBbGxDb21tYW5kcygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbnZlcnRzTXVsdGlFeGNlcHRpb25JbnRvQ29tbWFuZFRyYW5zZmVyKCkKICAgIHsKICAgICAgICAkcjEgPSBuZXcgUmVxdWVzdCgnR0VUJywgJ2h0dHA6Ly9mb28uY29tJyk7CiAgICAgICAgJHIyID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZm9vYmF6LmNvbScpOwogICAgICAgICRlID0gbmV3IE11bHRpVHJhbnNmZXJFeGNlcHRpb24oJ1Rlc3QnLCAxMjMpOwogICAgICAgICRlLT5hZGRTdWNjZXNzZnVsUmVxdWVzdCgkcjEpLT5hZGRGYWlsZWRSZXF1ZXN0KCRyMik7CiAgICAgICAgJGNlID0gQ29tbWFuZFRyYW5zZmVyRXhjZXB0aW9uOjpmcm9tTXVsdGlUcmFuc2ZlckV4Y2VwdGlvbigkZSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcU2VydmljZVxFeGNlcHRpb25cQ29tbWFuZFRyYW5zZmVyRXhjZXB0aW9uJywgJGNlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdUZXN0JywgJGNlLT5nZXRNZXNzYWdlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTIzLCAkY2UtPmdldENvZGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoYXJyYXkoJHIxKSwgJGNlLT5nZXRTdWNjZXNzZnVsUmVxdWVzdHMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoYXJyYXkoJHIyKSwgJGNlLT5nZXRGYWlsZWRSZXF1ZXN0cygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhblJldHJpZXZlRXhjZXB0aW9uRm9yQ29tbWFuZCgpCiAgICB7CiAgICAgICAgJHIxID0gbmV3IFJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZm9vLmNvbScpOwogICAgICAgICRlMSA9IG5ldyBcRXhjZXB0aW9uKCdmb28nKTsKICAgICAgICAkYzEgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxNb2NrQ29tbWFuZCcpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnZ2V0UmVxdWVzdCcpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkYzEtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSktPm1ldGhvZCgnZ2V0UmVxdWVzdCcpLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgkcjEpKTsKCiAgICAgICAgJGUgPSBuZXcgTXVsdGlUcmFuc2ZlckV4Y2VwdGlvbignVGVzdCcsIDEyMyk7CiAgICAgICAgJGUtPmFkZEZhaWxlZFJlcXVlc3RXaXRoRXhjZXB0aW9uKCRyMSwgJGUxKTsKICAgICAgICAkY2UgPSBDb21tYW5kVHJhbnNmZXJFeGNlcHRpb246OmZyb21NdWx0aVRyYW5zZmVyRXhjZXB0aW9uKCRlKTsKICAgICAgICAkY2UtPmFkZEZhaWxlZENvbW1hbmQoJGMxKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGUxLCAkY2UtPmdldEV4Y2VwdGlvbkZvckZhaWxlZENvbW1hbmQoJGMxKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzTm9uUmVxdWVzdEV4Y2VwdGlvbnMoKQogICAgewogICAgICAgICRlID0gbmV3IE11bHRpVHJhbnNmZXJFeGNlcHRpb24oKTsKICAgICAgICAkZS0+YWRkKG5ldyBcRXhjZXB0aW9uKCdiYXInKSk7CiAgICAgICAgJGUtPmFkZEZhaWxlZFJlcXVlc3RXaXRoRXhjZXB0aW9uKG5ldyBSZXF1ZXN0KCdHRVQnLCAnaHR0cDovL3d3dy5mb28uY29tJyksIG5ldyBcRXhjZXB0aW9uKCdmb28nKSk7CiAgICAgICAgJGNlID0gQ29tbWFuZFRyYW5zZmVyRXhjZXB0aW9uOjpmcm9tTXVsdGlUcmFuc2ZlckV4Y2VwdGlvbigkZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCBjb3VudCgkY2UpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/InconsistentClientTransferExceptionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxFeGNlcHRpb247Cgp1c2UgR3V6emxlXFNlcnZpY2VcRXhjZXB0aW9uXEluY29uc2lzdGVudENsaWVudFRyYW5zZmVyRXhjZXB0aW9uOwoKY2xhc3MgSW5jb25zaXN0ZW50Q2xpZW50VHJhbnNmZXJFeGNlcHRpb25UZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFN0b3Jlc0NvbW1hbmRzKCkKICAgIHsKICAgICAgICAkaXRlbXMgPSBhcnJheSgnZm9vJywgJ2JhcicpOwogICAgICAgICRlID0gbmV3IEluY29uc2lzdGVudENsaWVudFRyYW5zZmVyRXhjZXB0aW9uKCRpdGVtcyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkaXRlbXMsICRlLT5nZXRDb21tYW5kcygpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/ValidationExceptionTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxFeGNlcHRpb247Cgp1c2UgR3V6emxlXFNlcnZpY2VcRXhjZXB0aW9uXFZhbGlkYXRpb25FeGNlcHRpb247CgpjbGFzcyBWYWxpZGF0aW9uRXhjZXB0aW9uVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5TZXRBbmRSZXRyaWV2ZUVycm9ycygpCiAgICB7CiAgICAgICAgJGVycm9ycyA9IGFycmF5KCdmb28nLCAnYmFyJyk7CgogICAgICAgICRlID0gbmV3IFZhbGlkYXRpb25FeGNlcHRpb24oJ0ZvbycpOwogICAgICAgICRlLT5zZXRFcnJvcnMoJGVycm9ycyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkZXJyb3JzLCAkZS0+Z2V0RXJyb3JzKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/IterableCommand.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmQ7Cgp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cT3BlcmF0aW9uOwoKY2xhc3MgSXRlcmFibGVDb21tYW5kIGV4dGVuZHMgTW9ja0NvbW1hbmQKewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNyZWF0ZU9wZXJhdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBPcGVyYXRpb24oYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgICAgICA9PiAnaXRlcmFibGVfY29tbWFuZCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdwYWdlX3NpemUnID0+IGFycmF5KCd0eXBlJyA9PiAnaW50ZWdlcicpLAogICAgICAgICAgICAgICAgJ25leHRfdG9rZW4nID0+IGFycmF5KCd0eXBlJyA9PiAnc3RyaW5nJykKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBidWlsZCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlcXVlc3QgPSAkdGhpcy0+Y2xpZW50LT5jcmVhdGVSZXF1ZXN0KCdHRVQnKTsKCiAgICAgICAgLy8gQWRkIHRoZSBuZXh0IHRva2VuIGFuZCBwYWdlIHNpemUgcXVlcnkgc3RyaW5nIHZhbHVlcwogICAgICAgICR0aGlzLT5yZXF1ZXN0LT5nZXRRdWVyeSgpLT5zZXQoJ25leHRfdG9rZW4nLCAkdGhpcy0+Z2V0KCduZXh0X3Rva2VuJykpOwoKICAgICAgICBpZiAoJHRoaXMtPmdldCgncGFnZV9zaXplJykpIHsKICAgICAgICAgICAgJHRoaXMtPnJlcXVlc3QtPmdldFF1ZXJ5KCktPnNldCgncGFnZV9zaXplJywgJHRoaXMtPmdldCgncGFnZV9zaXplJykpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/MockCommand.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmQ7Cgp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cT3BlcmF0aW9uOwoKY2xhc3MgTW9ja0NvbW1hbmQgZXh0ZW5kcyBcR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBYnN0cmFjdENvbW1hbmQKewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNyZWF0ZU9wZXJhdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBPcGVyYXRpb24oYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgICAgICA9PiBnZXRfY2FsbGVkX2NsYXNzKCkgPT0gX19DTEFTU19fID8gJ21vY2tfY29tbWFuZCcgOiAnc3ViLnN1YicsCiAgICAgICAgICAgICdodHRwTWV0aG9kJyA9PiAnUE9TVCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0ZXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgID0+IDEyMywKICAgICAgICAgICAgICAgICAgICAncmVxdWlyZWQnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ2RvYycgICAgICA9PiAnVGVzdCBhcmd1bWVudCcKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnX2ludGVybmFsJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgPT4gJ2FiYycKICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAnZm9vJyA9PiBhcnJheSgnZmlsdGVycycgPT4gYXJyYXkoJ3N0cnRvdXBwZXInKSkKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBidWlsZCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlcXVlc3QgPSAkdGhpcy0+Y2xpZW50LT5jcmVhdGVSZXF1ZXN0KCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/OtherCommand.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmQ7Cgp1c2UgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cT3BlcmF0aW9uOwoKY2xhc3MgT3RoZXJDb21tYW5kIGV4dGVuZHMgTW9ja0NvbW1hbmQKewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNyZWF0ZU9wZXJhdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBPcGVyYXRpb24oYXJyYXkoCiAgICAgICAgICAgICduYW1lJyAgICAgICA9PiAnb3RoZXJfY29tbWFuZCcsCiAgICAgICAgICAgICdwYXJhbWV0ZXJzJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICd0ZXN0JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZGVmYXVsdCcgID0+ICcxMjMnLAogICAgICAgICAgICAgICAgICAgICdyZXF1aXJlZCcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnZG9jJyAgICAgID0+ICdUZXN0IGFyZ3VtZW50JwogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdvdGhlcicgID0+IGFycmF5KCksCiAgICAgICAgICAgICAgICAnYXJnJyAgICA9PiBhcnJheSgndHlwZScgPT4gJ3N0cmluZycpLAogICAgICAgICAgICAgICAgJ3N0YXRpYycgPT4gYXJyYXkoJ3N0YXRpYycgPT4gdHJ1ZSwgJ2RlZmF1bHQnID0+ICd0aGlzIGlzIHN0YXRpYycpCiAgICAgICAgICAgICkKICAgICAgICApKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYnVpbGQoKQogICAgewogICAgICAgICR0aGlzLT5yZXF1ZXN0ID0gJHRoaXMtPmNsaWVudC0+Z2V0UmVxdWVzdCgnSEVBRCcpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/Sub/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/Sub/Sub.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcU3ViOwoKdXNlIEd1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxNb2NrQ29tbWFuZDsKCmNsYXNzIFN1YiBleHRlbmRzIE1vY2tDb21tYW5kIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/MockClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrOwoKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKdXNlIEd1enpsZVxTZXJ2aWNlXENsaWVudDsKCi8qKgogKiBNb2NrIEd1enpsZSBTZXJ2aWNlCiAqLwpjbGFzcyBNb2NrQ2xpZW50IGV4dGVuZHMgQ2xpZW50CnsKICAgIC8qKgogICAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IG1vY2sgY2xpZW50CiAgICAgKgogICAgICogQHBhcmFtIGFycmF5fENvbGxlY3Rpb24gJGNvbmZpZyBDb25maWd1cmF0aW9uIGRhdGEuIEFycmF5IGtleXM6CiAgICAgKiAgICBiYXNlX3VybCAtIEJhc2UgVVJMIG9mIHdlYiBzZXJ2aWNlCiAgICAgKiAgICBhcGlfdmVyc2lvbiAtIEFQSSB2ZXJzaW9uCiAgICAgKiAgICBzY2hlbWUgLSBVUkkgc2NoZW1lOiBodHRwIG9yIGh0dHBzCiAgICAgKiAgKiB1c2VybmFtZSAtIEFQSSB1c2VybmFtZQogICAgICogICogcGFzc3dvcmQgLSBBUEkgcGFzc3dvcmQKICAgICAqICAqIHN1YmRvbWFpbiAtIFVuZnVkZGxlIGFjY291bnQgc3ViZG9tYWluCiAgICAgKgogICAgICogQHJldHVybiBNb2NrQ2xpZW50CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkY29uZmlnID0gQ29sbGVjdGlvbjo6ZnJvbUNvbmZpZygkY29uZmlnLCBhcnJheSgKICAgICAgICAgICAgJ2Jhc2VfdXJsJyA9PiAne3NjaGVtZX06Ly8xMjcuMC4wLjE6ODEyNC97YXBpX3ZlcnNpb259L3tzdWJkb21haW59JywKICAgICAgICAgICAgJ3NjaGVtZScgPT4gJ2h0dHAnLAogICAgICAgICAgICAnYXBpX3ZlcnNpb24nID0+ICd2MScKICAgICAgICApLCBhcnJheSgndXNlcm5hbWUnLCAncGFzc3dvcmQnLCAnc3ViZG9tYWluJykpOwoKICAgICAgICByZXR1cm4gbmV3IHNlbGYoJGNvbmZpZy0+Z2V0KCdiYXNlX3VybCcpLCAkY29uZmlnKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Model/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Model/MockCommandIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXE1vZGVsOwoKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3I7CgpjbGFzcyBNb2NrQ29tbWFuZEl0ZXJhdG9yIGV4dGVuZHMgUmVzb3VyY2VJdGVyYXRvcgp7CiAgICBwdWJsaWMgJGNhbGxlZE5leHQgPSAwOwoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzZW5kUmVxdWVzdCgpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5uZXh0VG9rZW4pIHsKICAgICAgICAgICAgJHRoaXMtPmNvbW1hbmQtPnNldCgnbmV4dF90b2tlbicsICR0aGlzLT5uZXh0VG9rZW4pOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmNvbW1hbmQtPnNldCgncGFnZV9zaXplJywgKGludCkgJHRoaXMtPmNhbGN1bGF0ZVBhZ2VTaXplKCkpOwogICAgICAgICR0aGlzLT5jb21tYW5kLT5leGVjdXRlKCk7CgogICAgICAgICRkYXRhID0ganNvbl9kZWNvZGUoJHRoaXMtPmNvbW1hbmQtPmdldFJlc3BvbnNlKCktPmdldEJvZHkodHJ1ZSksIHRydWUpOwoKICAgICAgICAkdGhpcy0+bmV4dFRva2VuID0gJGRhdGFbJ25leHRfdG9rZW4nXTsKCiAgICAgICAgcmV0dXJuICRkYXRhWydyZXNvdXJjZXMnXTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gbmV4dCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNhbGxlZE5leHQrKzsKICAgICAgICBwYXJlbnQ6Om5leHQoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzb3VyY2VzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlc291cmNlczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SXRlcmF0ZWRDb3VudCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5pdGVyYXRlZENvdW50OwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/CompositeResourceIteratorFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxSZXNvdXJjZTsKCnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxDb21wb3NpdGVSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeTsKdXNlIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXFJlc291cmNlSXRlcmF0b3JDbGFzc0ZhY3Rvcnk7CnVzZSBHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXENvbW1hbmRcTW9ja0NvbW1hbmQ7CgovKioKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxDb21wb3NpdGVSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeQogKi8KY2xhc3MgQ29tcG9zaXRlUmVzb3VyY2VJdGVyYXRvckZhY3RvcnlUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIEl0ZXJhdG9yIHdhcyBub3QgZm91bmQgZm9yIG1vY2tfY29tbWFuZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNJdGVyYXRvckNsYXNzRXhpc3RzKCkKICAgIHsKICAgICAgICAkZmFjdG9yeSA9IG5ldyBDb21wb3NpdGVSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeShhcnJheSgKICAgICAgICAgICAgbmV3IFJlc291cmNlSXRlcmF0b3JDbGFzc0ZhY3RvcnkoYXJyYXkoJ0ZvbycsICdCYXInKSkKICAgICAgICApKTsKICAgICAgICAkY21kID0gbmV3IE1vY2tDb21tYW5kKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRmYWN0b3J5LT5jYW5CdWlsZCgkY21kKSk7CiAgICAgICAgJGZhY3RvcnktPmJ1aWxkKCRjbWQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QnVpbGRzUmVzb3VyY2VJdGVyYXRvcnMoKQogICAgewogICAgICAgICRmMSA9IG5ldyBSZXNvdXJjZUl0ZXJhdG9yQ2xhc3NGYWN0b3J5KCdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXE1vZGVsJyk7CiAgICAgICAgJGZhY3RvcnkgPSBuZXcgQ29tcG9zaXRlUmVzb3VyY2VJdGVyYXRvckZhY3RvcnkoYXJyYXkoKSk7CiAgICAgICAgJGZhY3RvcnktPmFkZEZhY3RvcnkoJGYxKTsKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZCgpOwogICAgICAgICRpdGVyYXRvciA9ICRmYWN0b3J5LT5idWlsZCgkY29tbWFuZCwgYXJyYXkoJ2NsaWVudC5uYW1lc3BhY2UnID0+ICdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXE1vZGVsXE1vY2tDb21tYW5kSXRlcmF0b3InLCAkaXRlcmF0b3IpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/MapResourceIteratorFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxSZXNvdXJjZTsKCnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNYXBSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeTsKdXNlIEd1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcQ29tbWFuZFxNb2NrQ29tbWFuZDsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1hcFJlc291cmNlSXRlcmF0b3JGYWN0b3J5CiAqLwpjbGFzcyBNYXBSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeVRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIC8qKgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICogQGV4cGVjdGVkRXhjZXB0aW9uTWVzc2FnZSBJdGVyYXRvciB3YXMgbm90IGZvdW5kIGZvciBtb2NrX2NvbW1hbmQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzSXRlcmF0b3JDbGFzc0V4aXN0cygpCiAgICB7CiAgICAgICAgJGZhY3RvcnkgPSBuZXcgTWFwUmVzb3VyY2VJdGVyYXRvckZhY3RvcnkoYXJyYXkoJ0ZvbycsICdCYXInKSk7CiAgICAgICAgJGZhY3RvcnktPmJ1aWxkKG5ldyBNb2NrQ29tbWFuZCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEJ1aWxkc1Jlc291cmNlSXRlcmF0b3JzKCkKICAgIHsKICAgICAgICAkZmFjdG9yeSA9IG5ldyBNYXBSZXNvdXJjZUl0ZXJhdG9yRmFjdG9yeShhcnJheSgKICAgICAgICAgICAgJ21vY2tfY29tbWFuZCcgPT4gJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcTW9kZWxcTW9ja0NvbW1hbmRJdGVyYXRvcicKICAgICAgICApKTsKICAgICAgICAkaXRlcmF0b3IgPSAkZmFjdG9yeS0+YnVpbGQobmV3IE1vY2tDb21tYW5kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXE1vZGVsXE1vY2tDb21tYW5kSXRlcmF0b3InLCAkaXRlcmF0b3IpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXNlc1dpbGRjYXJkTWFwcGluZ3MoKQogICAgewogICAgICAgICRmYWN0b3J5ID0gbmV3IE1hcFJlc291cmNlSXRlcmF0b3JGYWN0b3J5KGFycmF5KAogICAgICAgICAgICAnKicgPT4gJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcTW9kZWxcTW9ja0NvbW1hbmRJdGVyYXRvcicKICAgICAgICApKTsKICAgICAgICAkaXRlcmF0b3IgPSAkZmFjdG9yeS0+YnVpbGQobmV3IE1vY2tDb21tYW5kKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXE1vZGVsXE1vY2tDb21tYW5kSXRlcmF0b3InLCAkaXRlcmF0b3IpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ModelTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxSZXNvdXJjZTsKCnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxNb2RlbDsKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFBhcmFtZXRlcjsKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKCi8qKgogKiBAY292ZXJzIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXE1vZGVsCiAqLwpjbGFzcyBNb2RlbFRlc3QgZXh0ZW5kcyBcR3V6emxlXFRlc3RzXEd1enpsZVRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0T3duc1N0cnVjdHVyZSgpCiAgICB7CiAgICAgICAgJHBhcmFtID0gbmV3IFBhcmFtZXRlcihhcnJheSgndHlwZScgPT4gJ29iamVjdCcpKTsKICAgICAgICAkbW9kZWwgPSBuZXcgTW9kZWwoYXJyYXkoJ2ZvbycgPT4gJ2JhcicpLCAkcGFyYW0pOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRwYXJhbSwgJG1vZGVsLT5nZXRTdHJ1Y3R1cmUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmFyJywgJG1vZGVsLT5nZXQoJ2ZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdiYXInLCAkbW9kZWxbJ2ZvbyddKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbkJlVXNlZFdpdGhvdXRTdHJ1Y3R1cmUoKQogICAgewogICAgICAgICRtb2RlbCA9IG5ldyBNb2RlbChhcnJheSgKICAgICAgICAgICAgJ0ZvbycgPT4gJ2JheicsCiAgICAgICAgICAgICdCYXInID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0JvbycgPT4gJ0JhbScKICAgICAgICAgICAgKQogICAgICAgICkpOwogICAgICAgICR0cmFuc2Zvcm0gPSBmdW5jdGlvbiAoJGtleSwgJHZhbHVlKSB7CiAgICAgICAgICAgIHJldHVybiAoJHZhbHVlICYmIGlzX2FycmF5KCR2YWx1ZSkpID8gbmV3IENvbGxlY3Rpb24oJHZhbHVlKSA6ICR2YWx1ZTsKICAgICAgICB9OwogICAgICAgICRtb2RlbCA9ICRtb2RlbC0+bWFwKCR0cmFuc2Zvcm0pOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb24nLCAkbW9kZWwtPmdldFBhdGgoJ0JhcicpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFsbG93c0ZpbHRlcmluZygpCiAgICB7CiAgICAgICAgJG1vZGVsID0gbmV3IE1vZGVsKGFycmF5KAogICAgICAgICAgICAnRm9vJyA9PiAnYmF6JywKICAgICAgICAgICAgJ0JhcicgPT4gJ2EnCiAgICAgICAgKSk7CiAgICAgICAgJG1vZGVsID0gJG1vZGVsLT5maWx0ZXIoZnVuY3Rpb24gKCRpLCAkdikgewogICAgICAgICAgICByZXR1cm4gJHZbMF0gPT0gJ2EnOwogICAgICAgIH0pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ0JhcicgPT4gJ2EnKSwgJG1vZGVsLT50b0FycmF5KCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RG9lc05vdEluY2x1ZGVFbXB0eVN0cnVjdHVyZUluU3RyaW5nKCkKICAgIHsKICAgICAgICAkbW9kZWwgPSBuZXcgTW9kZWwoYXJyYXkoJ0ZvbycgPT4gJ2JheicpKTsKICAgICAgICAkc3RyID0gKHN0cmluZykgJG1vZGVsOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnRGVidWcgb3V0cHV0IG9mIG1vZGVsJywgJHN0cik7CiAgICAgICAgJHRoaXMtPmFzc2VydE5vdENvbnRhaW5zKCdNb2RlbCBzdHJ1Y3R1cmUnLCAkc3RyKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvZXNJbmNsdWRlTW9kZWxTdHJ1Y3R1cmVJblN0cmluZygpCiAgICB7CiAgICAgICAgJG1vZGVsID0gbmV3IE1vZGVsKGFycmF5KCdGb28nID0+ICdiYXonKSwgbmV3IFBhcmFtZXRlcihhcnJheSgnbmFtZScgPT4gJ0ZvbycpKSk7CiAgICAgICAgJHN0ciA9IChzdHJpbmcpICRtb2RlbDsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ0RlYnVnIG91dHB1dCBvZiBGb28gbW9kZWwnLCAkc3RyKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ01vZGVsIHN0cnVjdHVyZScsICRzdHIpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ResourceIteratorClassFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxSZXNvdXJjZTsKCnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9yQ2xhc3NGYWN0b3J5Owp1c2UgR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xDb21tYW5kXE1vY2tDb21tYW5kOwoKLyoqCiAqIEBjb3ZlcnMgR3V6emxlXFNlcnZpY2VcUmVzb3VyY2VcUmVzb3VyY2VJdGVyYXRvckNsYXNzRmFjdG9yeQogKiBAY292ZXJzIEd1enpsZVxTZXJ2aWNlXFJlc291cmNlXEFic3RyYWN0UmVzb3VyY2VJdGVyYXRvckZhY3RvcnkKICovCmNsYXNzIFJlc291cmNlSXRlcmF0b3JDbGFzc0ZhY3RvcnlUZXN0IGV4dGVuZHMgXEd1enpsZVxUZXN0c1xHdXp6bGVUZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb25NZXNzYWdlIEl0ZXJhdG9yIHdhcyBub3QgZm91bmQgZm9yIG1vY2tfY29tbWFuZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVuc3VyZXNJdGVyYXRvckNsYXNzRXhpc3RzKCkKICAgIHsKICAgICAgICAkZmFjdG9yeSA9IG5ldyBSZXNvdXJjZUl0ZXJhdG9yQ2xhc3NGYWN0b3J5KGFycmF5KCdGb28nLCAnQmFyJykpOwogICAgICAgICRmYWN0b3J5LT5yZWdpc3Rlck5hbWVzcGFjZSgnQmF6Jyk7CiAgICAgICAgJGNvbW1hbmQgPSBuZXcgTW9ja0NvbW1hbmQoKTsKICAgICAgICAkZmFjdG9yeS0+YnVpbGQoJGNvbW1hbmQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QnVpbGRzUmVzb3VyY2VJdGVyYXRvcnMoKQogICAgewogICAgICAgICRmYWN0b3J5ID0gbmV3IFJlc291cmNlSXRlcmF0b3JDbGFzc0ZhY3RvcnkoJ0d1enpsZVxUZXN0c1xTZXJ2aWNlXE1vY2tcTW9kZWwnKTsKICAgICAgICAkY29tbWFuZCA9IG5ldyBNb2NrQ29tbWFuZCgpOwogICAgICAgICRpdGVyYXRvciA9ICRmYWN0b3J5LT5idWlsZCgkY29tbWFuZCwgYXJyYXkoJ2NsaWVudC5uYW1lc3BhY2UnID0+ICdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdHdXp6bGVcVGVzdHNcU2VydmljZVxNb2NrXE1vZGVsXE1vY2tDb21tYW5kSXRlcmF0b3InLCAkaXRlcmF0b3IpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2hlY2tzSWZDYW5CdWlsZCgpCiAgICB7CiAgICAgICAgJGZhY3RvcnkgPSBuZXcgUmVzb3VyY2VJdGVyYXRvckNsYXNzRmFjdG9yeSgnR3V6emxlXFRlc3RzXFNlcnZpY2UnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJGZhY3RvcnktPmNhbkJ1aWxkKG5ldyBNb2NrQ29tbWFuZCgpKSk7CiAgICAgICAgJGZhY3RvcnkgPSBuZXcgUmVzb3VyY2VJdGVyYXRvckNsYXNzRmFjdG9yeSgnR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xNb2RlbCcpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRmYWN0b3J5LT5jYW5CdWlsZChuZXcgTW9ja0NvbW1hbmQoKSkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ResourceIteratorTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU2VydmljZVxSZXNvdXJjZTsKCnVzZSBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9yOwp1c2UgR3V6emxlXFRlc3RzXFNlcnZpY2VcTW9ja1xNb2RlbFxNb2NrQ29tbWFuZEl0ZXJhdG9yOwoKLyoqCiAqIEBncm91cCBzZXJ2ZXIKICogQGNvdmVycyBHdXp6bGVcU2VydmljZVxSZXNvdXJjZVxSZXNvdXJjZUl0ZXJhdG9yCiAqLwpjbGFzcyBSZXNvdXJjZUl0ZXJhdG9yVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REZXNjcmliZXNFdmVudHMoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRJbnRlcm5hbFR5cGUoJ2FycmF5JywgUmVzb3VyY2VJdGVyYXRvcjo6Z2V0QWxsRXZlbnRzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3JDb25maWd1cmVzRGVmYXVsdHMoKQogICAgewogICAgICAgICRyaSA9ICR0aGlzLT5nZXRNb2NrRm9yQWJzdHJhY3RDbGFzcygnR3V6emxlXFxTZXJ2aWNlXFxSZXNvdXJjZVxcUmVzb3VyY2VJdGVyYXRvcicsIGFycmF5KAogICAgICAgICAgICAkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdtb2NrJyktPmdldENvbW1hbmQoJ2l0ZXJhYmxlX2NvbW1hbmQnKSwKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAnbGltaXQnID0+IDEwLAogICAgICAgICAgICAgICAgJ3BhZ2Vfc2l6ZScgPT4gMwogICAgICAgICAgICApCiAgICAgICAgKSwgJ01vY2tJdGVyYXRvcicpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGZhbHNlLCAkcmktPmdldE5leHRUb2tlbigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGZhbHNlLCAkcmktPmN1cnJlbnQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZW5kc1JlcXVlc3RzRm9yTmV4dFNldE9mUmVzb3VyY2VzKCkKICAgIHsKICAgICAgICAvLyBRdWV1ZSB1cCBhbiBhcnJheSBvZiByZXNwb25zZXMgZm9yIGl0ZXJhdGluZwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Zmx1c2goKTsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmVucXVldWUoYXJyYXkoCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDUyXHJcblxyXG57IFwibmV4dF90b2tlblwiOiBcImdcIiwgXCJyZXNvdXJjZXNcIjogW1wiZFwiLCBcImVcIiwgXCJmXCJdIH0iLAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiA1MlxyXG5cclxueyBcIm5leHRfdG9rZW5cIjogXCJqXCIsIFwicmVzb3VyY2VzXCI6IFtcImdcIiwgXCJoXCIsIFwiaVwiXSB9IiwKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogNDFcclxuXHJcbnsgXCJuZXh0X3Rva2VuXCI6IFwiXCIsIFwicmVzb3VyY2VzXCI6IFtcImpcIl0gfSIKICAgICAgICApKTsKCiAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IHJlc291cmNlIGl0ZXJhdG9yIHVzaW5nIHRoZSBJdGVyYWJsZUNvbW1hbmQgbW9jawogICAgICAgICRyaSA9IG5ldyBNb2NrQ29tbWFuZEl0ZXJhdG9yKCR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ21vY2snKS0+Z2V0Q29tbWFuZCgnaXRlcmFibGVfY29tbWFuZCcpLCBhcnJheSgKICAgICAgICAgICAgJ3BhZ2Vfc2l6ZScgPT4gMwogICAgICAgICkpOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCBubyByZXF1ZXN0cyBoYXZlIGJlZW4gc2VudCB5ZXQKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsIGNvdW50KCR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cyhmYWxzZSkpKTsKCiAgICAgICAgLy8kdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdkJywgJ2UnLCAnZicsICdnJywgJ2gnLCAnaScsICdqJyksICRyaS0+dG9BcnJheSgpKTsKICAgICAgICAkcmktPnRvQXJyYXkoKTsKICAgICAgICAkcmVxdWVzdHMgPSAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHModHJ1ZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCBjb3VudCgkcmVxdWVzdHMpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygzLCAkcmVxdWVzdHNbMF0tPmdldFF1ZXJ5KCktPmdldCgncGFnZV9zaXplJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgJHJlcXVlc3RzWzFdLT5nZXRRdWVyeSgpLT5nZXQoJ3BhZ2Vfc2l6ZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsICRyZXF1ZXN0c1syXS0+Z2V0UXVlcnkoKS0+Z2V0KCdwYWdlX3NpemUnKSk7CgogICAgICAgIC8vIFJlc2V0IGFuZCByZXNlbmQKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiA1MlxyXG5cclxueyBcIm5leHRfdG9rZW5cIjogXCJnXCIsIFwicmVzb3VyY2VzXCI6IFtcImRcIiwgXCJlXCIsIFwiZlwiXSB9IiwKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogNTJcclxuXHJcbnsgXCJuZXh0X3Rva2VuXCI6IFwialwiLCBcInJlc291cmNlc1wiOiBbXCJnXCIsIFwiaFwiLCBcImlcIl0gfSIsCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDQxXHJcblxyXG57IFwibmV4dF90b2tlblwiOiBcIlwiLCBcInJlc291cmNlc1wiOiBbXCJqXCJdIH0iLAogICAgICAgICkpOwoKICAgICAgICAkZCA9IGFycmF5KCk7CiAgICAgICAgcmVzZXQoJHJpKTsKICAgICAgICBmb3JlYWNoICgkcmkgYXMgJGRhdGEpIHsKICAgICAgICAgICAgJGRbXSA9ICRkYXRhOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCdkJywgJ2UnLCAnZicsICdnJywgJ2gnLCAnaScsICdqJyksICRkKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENhbGN1bGF0ZXNQYWdlU2l6ZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZShhcnJheSgKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogNTJcclxuXHJcbnsgXCJuZXh0X3Rva2VuXCI6IFwiZ1wiLCBcInJlc291cmNlc1wiOiBbXCJkXCIsIFwiZVwiLCBcImZcIl0gfSIsCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDUyXHJcblxyXG57IFwibmV4dF90b2tlblwiOiBcImpcIiwgXCJyZXNvdXJjZXNcIjogW1wiZ1wiLCBcImhcIiwgXCJpXCJdIH0iLAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiA1MlxyXG5cclxueyBcIm5leHRfdG9rZW5cIjogXCJqXCIsIFwicmVzb3VyY2VzXCI6IFtcImpcIiwgXCJrXCJdIH0iCiAgICAgICAgKSk7CgogICAgICAgICRyaSA9IG5ldyBNb2NrQ29tbWFuZEl0ZXJhdG9yKCR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ21vY2snKS0+Z2V0Q29tbWFuZCgnaXRlcmFibGVfY29tbWFuZCcpLCBhcnJheSgKICAgICAgICAgICAgJ3BhZ2Vfc2l6ZScgPT4gMywKICAgICAgICAgICAgJ2xpbWl0JyA9PiA3CiAgICAgICAgKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2QnLCAnZScsICdmJywgJ2cnLCAnaCcsICdpJywgJ2onKSwgJHJpLT50b0FycmF5KCkpOwogICAgICAgICRyZXF1ZXN0cyA9ICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UmVjZWl2ZWRSZXF1ZXN0cyh0cnVlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCRyZXF1ZXN0cykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgJHJlcXVlc3RzWzBdLT5nZXRRdWVyeSgpLT5nZXQoJ3BhZ2Vfc2l6ZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsICRyZXF1ZXN0c1sxXS0+Z2V0UXVlcnkoKS0+Z2V0KCdwYWdlX3NpemUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCAkcmVxdWVzdHNbMl0tPmdldFF1ZXJ5KCktPmdldCgncGFnZV9zaXplJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXNlQXNBcnJheSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZShhcnJheSgKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LUxlbmd0aDogNTJcclxuXHJcbnsgXCJuZXh0X3Rva2VuXCI6IFwiZ1wiLCBcInJlc291cmNlc1wiOiBbXCJkXCIsIFwiZVwiLCBcImZcIl0gfSIsCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDUyXHJcblxyXG57IFwibmV4dF90b2tlblwiOiBcIlwiLCBcInJlc291cmNlc1wiOiBbXCJnXCIsIFwiaFwiLCBcImlcIl0gfSIKICAgICAgICApKTsKCiAgICAgICAgJHJpID0gbmV3IE1vY2tDb21tYW5kSXRlcmF0b3IoJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnbW9jaycpLT5nZXRDb21tYW5kKCdpdGVyYWJsZV9jb21tYW5kJykpOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUga2V5IGlzIG5ldmVyIDwgMAogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMCwgJHJpLT5rZXkoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygwLCBjb3VudCgkcmkpKTsKCiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGl0ZXJhdG9yIGNhbiBiZSB1c2VkIGFzIEtWUCBhcnJheQogICAgICAgICRkYXRhID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkcmkgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgJGRhdGFbJGtleV0gPSAkdmFsdWU7CiAgICAgICAgfQoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaXRlcmF0ZSBpcyBjb3VudGFibGUKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDYsIGNvdW50KCRyaSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2QnLCAnZScsICdmJywgJ2cnLCAnaCcsICdpJyksICRkYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEJhaWxzV2hlblNlbmRSZXR1cm5zTm9SZXN1bHRzKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcblxyXG57IFwibmV4dF90b2tlblwiOiBcImdcIiwgXCJyZXNvdXJjZXNcIjogW1wiZFwiLCBcImVcIiwgXCJmXCJdIH0iLAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcblxyXG57IFwibmV4dF90b2tlblwiOiBcIlwiLCBcInJlc291cmNlc1wiOiBbXSB9IgogICAgICAgICkpOwoKICAgICAgICAkcmkgPSBuZXcgTW9ja0NvbW1hbmRJdGVyYXRvcigkdGhpcy0+Z2V0U2VydmljZUJ1aWxkZXIoKS0+Z2V0KCdtb2NrJyktPmdldENvbW1hbmQoJ2l0ZXJhYmxlX2NvbW1hbmQnKSk7CgogICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBpdGVyYXRvciBjYW4gYmUgdXNlZCBhcyBLVlAgYXJyYXkKICAgICAgICAkZGF0YSA9ICRyaS0+dG9BcnJheSgpOwoKICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaXRlcmF0ZSBpcyBjb3VudGFibGUKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsIGNvdW50KCRyaSkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoYXJyYXkoJ2QnLCAnZScsICdmJyksICRkYXRhKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCAkcmktPmdldFJlcXVlc3RDb3VudCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhvbGRzRGF0YU9wdGlvbnMoKQogICAgewogICAgICAgICRyaSA9IG5ldyBNb2NrQ29tbWFuZEl0ZXJhdG9yKCR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ21vY2snKS0+Z2V0Q29tbWFuZCgnaXRlcmFibGVfY29tbWFuZCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkcmktPmdldCgnZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRyaSwgJHJpLT5zZXQoJ2ZvbycsICdiYXInKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnYmFyJywgJHJpLT5nZXQoJ2ZvbycpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNldHRpbmdMaW1pdE9yUGFnZVNpemVDbGVhcnNEYXRhKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKGFycmF5KAogICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcblxyXG57IFwibmV4dF90b2tlblwiOiBcIlwiLCBcInJlc291cmNlc1wiOiBbXCJkXCIsIFwiZVwiLCBcImZcIl0gfSIsCiAgICAgICAgICAgICJIVFRQLzEuMSAyMDAgT0tcclxuXHJcbnsgXCJuZXh0X3Rva2VuXCI6IFwiXCIsIFwicmVzb3VyY2VzXCI6IFtcImRcIiwgXCJlXCIsIFwiZlwiXSB9IiwKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5cclxueyBcIm5leHRfdG9rZW5cIjogXCJcIiwgXCJyZXNvdXJjZXNcIjogW1wiZFwiLCBcImVcIiwgXCJmXCJdIH0iCiAgICAgICAgKSk7CgogICAgICAgICRyaSA9IG5ldyBNb2NrQ29tbWFuZEl0ZXJhdG9yKCR0aGlzLT5nZXRTZXJ2aWNlQnVpbGRlcigpLT5nZXQoJ21vY2snKS0+Z2V0Q29tbWFuZCgnaXRlcmFibGVfY29tbWFuZCcpKTsKICAgICAgICAkcmktPnRvQXJyYXkoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHJpLCAncmVzb3VyY2VzJykpOwoKICAgICAgICAkcmktPnNldExpbWl0KDEwKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RW1wdHkoJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHJpLCAncmVzb3VyY2VzJykpOwoKICAgICAgICAkcmktPnRvQXJyYXkoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RW1wdHkoJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHJpLCAncmVzb3VyY2VzJykpOwogICAgICAgICRyaS0+c2V0UGFnZVNpemUoMTApOwogICAgICAgICR0aGlzLT5hc3NlcnRFbXB0eSgkdGhpcy0+cmVhZEF0dHJpYnV0ZSgkcmksICdyZXNvdXJjZXMnKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RXb3Jrc1dpdGhDdXN0b21BcHBlbmRJdGVyYXRvcigpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZShhcnJheSgKICAgICAgICAgICAgIkhUVFAvMS4xIDIwMCBPS1xyXG5cclxueyBcIm5leHRfdG9rZW5cIjogXCJcIiwgXCJyZXNvdXJjZXNcIjogW1wiZFwiLCBcImVcIiwgXCJmXCJdIH0iCiAgICAgICAgKSk7CiAgICAgICAgJHJpID0gbmV3IE1vY2tDb21tYW5kSXRlcmF0b3IoJHRoaXMtPmdldFNlcnZpY2VCdWlsZGVyKCktPmdldCgnbW9jaycpLT5nZXRDb21tYW5kKCdpdGVyYWJsZV9jb21tYW5kJykpOwogICAgICAgICRhID0gbmV3IFxHdXp6bGVcSXRlcmF0b3JcQXBwZW5kSXRlcmF0b3IoKTsKICAgICAgICAkYS0+YXBwZW5kKCRyaSk7CiAgICAgICAgJHJlc3VsdHMgPSBpdGVyYXRvcl90b19hcnJheSgkYSwgZmFsc2UpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoNCwgJHJpLT5jYWxsZWROZXh0KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Stream/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Stream/PhpStreamRequestFactoryTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU3RyZWFtOwoKdXNlIEd1enpsZVxTdHJlYW1cU3RyZWFtOwp1c2UgR3V6emxlXFN0cmVhbVxQaHBTdHJlYW1SZXF1ZXN0RmFjdG9yeTsKdXNlIEd1enpsZVxIdHRwXENsaWVudDsKCi8qKgogKiBAZ3JvdXAgc2VydmVyCiAqIEBjb3ZlcnMgXEd1enpsZVxTdHJlYW1cUGhwU3RyZWFtUmVxdWVzdEZhY3RvcnkKICovCmNsYXNzIFBocFN0cmVhbVJlcXVlc3RGYWN0b3J5VGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqIEB2YXIgQ2xpZW50ICovCiAgICBwcm90ZWN0ZWQgJGNsaWVudDsKCiAgICAvKiogQHZhciBQaHBTdHJlYW1SZXF1ZXN0RmFjdG9yeSAqLwogICAgcHJvdGVjdGVkICRmYWN0b3J5OwoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9IG5ldyBDbGllbnQoJHRoaXMtPmdldFNlcnZlcigpLT5nZXRVcmwoKSk7CiAgICAgICAgJHRoaXMtPmZhY3RvcnkgPSBuZXcgUGhwU3RyZWFtUmVxdWVzdEZhY3RvcnkoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE9wZW5zVmFsaWRTdHJlYW1CeUNyZWF0aW5nQ29udGV4dCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDJcclxuXHJcbmhpIik7CiAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+Y2xpZW50LT5nZXQoJy8nKTsKICAgICAgICAkc3RyZWFtID0gJHRoaXMtPmZhY3RvcnktPmZyb21SZXF1ZXN0KCRyZXF1ZXN0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdoaScsIChzdHJpbmcpICRzdHJlYW0pOwogICAgICAgICRoZWFkZXJzID0gJHRoaXMtPmZhY3RvcnktPmdldExhc3RSZXNwb25zZUhlYWRlcnMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ0hUVFAvMS4xIDIwMCBPSycsICRoZWFkZXJzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ0NvbnRlbnQtTGVuZ3RoOiAyJywgJGhlYWRlcnMpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRoZWFkZXJzLCAkc3RyZWFtLT5nZXRDdXN0b21EYXRhKCdyZXNwb25zZV9oZWFkZXJzJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMiwgJHN0cmVhbS0+Z2V0U2l6ZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE9wZW5zVmFsaWRTdHJlYW1CeVBhc3NpbmdDb250ZXh0QW5kTWVyZ2luZygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+Y2xpZW50LT5nZXQoJy8nKTsKICAgICAgICAkdGhpcy0+ZmFjdG9yeSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFN0cmVhbVxQaHBTdHJlYW1SZXF1ZXN0RmFjdG9yeScpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnY3JlYXRlQ29udGV4dCcsICdjcmVhdGVTdHJlYW0nKSkKICAgICAgICAgICAgLT5nZXRNb2NrKCk7CiAgICAgICAgJHRoaXMtPmZhY3RvcnktPmV4cGVjdHMoJHRoaXMtPm5ldmVyKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdjcmVhdGVDb250ZXh0Jyk7CiAgICAgICAgJHRoaXMtPmZhY3RvcnktPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ2NyZWF0ZVN0cmVhbScpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUobmV3IFN0cmVhbShmb3BlbigncGhwOi8vdGVtcCcsICdyJykpKSk7CgogICAgICAgICRjb250ZXh0ID0gYXJyYXkoJ2h0dHAnID0+IGFycmF5KCdtZXRob2QnID0+ICdIRUFEJywgJ2lnbm9yZV9lcnJvcnMnID0+IGZhbHNlKSk7CiAgICAgICAgJHRoaXMtPmZhY3RvcnktPmZyb21SZXF1ZXN0KCRyZXF1ZXN0LCBzdHJlYW1fY29udGV4dF9jcmVhdGUoJGNvbnRleHQpKTsKICAgICAgICAkb3B0aW9ucyA9IHN0cmVhbV9jb250ZXh0X2dldF9vcHRpb25zKCR0aGlzLT5yZWFkQXR0cmlidXRlKCR0aGlzLT5mYWN0b3J5LCAnY29udGV4dCcpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdIRUFEJywgJG9wdGlvbnNbJ2h0dHAnXVsnbWV0aG9kJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkb3B0aW9uc1snaHR0cCddWydpZ25vcmVfZXJyb3JzJ10pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJzEuMScsICRvcHRpb25zWydodHRwJ11bJ3Byb3RvY29sX3ZlcnNpb24nXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBcHBsaWVzUHJveHlTZXR0aW5ncygpCiAgICB7CiAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+Y2xpZW50LT5nZXQoJy8nKTsKICAgICAgICAkcmVxdWVzdC0+Z2V0Q3VybE9wdGlvbnMoKS0+c2V0KENVUkxPUFRfUFJPWFksICd0Y3A6Ly9mb28uY29tJyk7CiAgICAgICAgJHRoaXMtPmZhY3RvcnkgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTdHJlYW1cUGhwU3RyZWFtUmVxdWVzdEZhY3RvcnknKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2NyZWF0ZVN0cmVhbScpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkdGhpcy0+ZmFjdG9yeS0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnY3JlYXRlU3RyZWFtJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShuZXcgU3RyZWFtKGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3InKSkpKTsKICAgICAgICAkdGhpcy0+ZmFjdG9yeS0+ZnJvbVJlcXVlc3QoJHJlcXVlc3QpOwogICAgICAgICRvcHRpb25zID0gc3RyZWFtX2NvbnRleHRfZ2V0X29wdGlvbnMoJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHRoaXMtPmZhY3RvcnksICdjb250ZXh0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3RjcDovL2Zvby5jb20nLCAkb3B0aW9uc1snaHR0cCddWydwcm94eSddKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZHNQb3N0RmllbGRzKCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0U2VydmVyKCktPmZsdXNoKCk7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5lbnF1ZXVlKCJIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDJcclxuXHJcbmhpIik7CiAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+Y2xpZW50LT5wb3N0KCcvJywgYXJyYXkoJ0ZvbycgPT4gJ0JhcicpLCBhcnJheSgnZm9vJyA9PiAnYmF6IGJhcicpKTsKICAgICAgICAkc3RyZWFtID0gJHRoaXMtPmZhY3RvcnktPmZyb21SZXF1ZXN0KCRyZXF1ZXN0KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdoaScsIChzdHJpbmcpICRzdHJlYW0pOwoKICAgICAgICAkaGVhZGVycyA9ICR0aGlzLT5mYWN0b3J5LT5nZXRMYXN0UmVzcG9uc2VIZWFkZXJzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdIVFRQLzEuMSAyMDAgT0snLCAkaGVhZGVycyk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdDb250ZW50LUxlbmd0aDogMicsICRoZWFkZXJzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkaGVhZGVycywgJHN0cmVhbS0+Z2V0Q3VzdG9tRGF0YSgncmVzcG9uc2VfaGVhZGVycycpKTsKCiAgICAgICAgJHJlY2VpdmVkID0gJHRoaXMtPmdldFNlcnZlcigpLT5nZXRSZWNlaXZlZFJlcXVlc3RzKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCBjb3VudCgkcmVjZWl2ZWQpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ1BPU1QgLyBIVFRQLzEuMScsICRyZWNlaXZlZFswXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdob3N0OiAnLCAkcmVjZWl2ZWRbMF0pOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygndXNlci1hZ2VudDogR3V6emxlLycsICRyZWNlaXZlZFswXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdmb286IEJhcicsICRyZWNlaXZlZFswXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdjb250ZW50LWxlbmd0aDogMTMnLCAkcmVjZWl2ZWRbMF0pOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnZm9vPWJheiUyMGJhcicsICRyZWNlaXZlZFswXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRzQm9keSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmdldFNlcnZlcigpLT5mbHVzaCgpOwogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAyXHJcblxyXG5oaSIpOwogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmNsaWVudC0+cHV0KCcvJywgYXJyYXkoJ0ZvbycgPT4gJ0JhcicpLCAnVGVzdGluZy4uLjEyMycpOwogICAgICAgICRzdHJlYW0gPSAkdGhpcy0+ZmFjdG9yeS0+ZnJvbVJlcXVlc3QoJHJlcXVlc3QpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2hpJywgKHN0cmluZykgJHN0cmVhbSk7CgogICAgICAgICRoZWFkZXJzID0gJHRoaXMtPmZhY3RvcnktPmdldExhc3RSZXNwb25zZUhlYWRlcnMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ0hUVFAvMS4xIDIwMCBPSycsICRoZWFkZXJzKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ0NvbnRlbnQtTGVuZ3RoOiAyJywgJGhlYWRlcnMpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRoZWFkZXJzLCAkc3RyZWFtLT5nZXRDdXN0b21EYXRhKCdyZXNwb25zZV9oZWFkZXJzJykpOwoKICAgICAgICAkcmVjZWl2ZWQgPSAkdGhpcy0+Z2V0U2VydmVyKCktPmdldFJlY2VpdmVkUmVxdWVzdHMoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDEsIGNvdW50KCRyZWNlaXZlZCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnUFVUIC8gSFRUUC8xLjEnLCAkcmVjZWl2ZWRbMF0pOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnaG9zdDogJywgJHJlY2VpdmVkWzBdKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ3VzZXItYWdlbnQ6IEd1enpsZS8nLCAkcmVjZWl2ZWRbMF0pOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnZm9vOiBCYXInLCAkcmVjZWl2ZWRbMF0pOwogICAgICAgICR0aGlzLT5hc3NlcnRDb250YWlucygnY29udGVudC1sZW5ndGg6IDEzJywgJHJlY2VpdmVkWzBdKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q29udGFpbnMoJ1Rlc3RpbmcuLi4xMjMnLCAkcmVjZWl2ZWRbMF0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuRGlzYWJsZVNzbFZhbGlkYXRpb24oKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmNsaWVudC0+Z2V0KCcvJyk7CiAgICAgICAgJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPnNldChDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCBmYWxzZSk7CiAgICAgICAgJHRoaXMtPmZhY3RvcnkgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTdHJlYW1cUGhwU3RyZWFtUmVxdWVzdEZhY3RvcnknKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2NyZWF0ZVN0cmVhbScpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkdGhpcy0+ZmFjdG9yeS0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnY3JlYXRlU3RyZWFtJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShuZXcgU3RyZWFtKGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3InKSkpKTsKICAgICAgICAkdGhpcy0+ZmFjdG9yeS0+ZnJvbVJlcXVlc3QoJHJlcXVlc3QpOwogICAgICAgICRvcHRpb25zID0gc3RyZWFtX2NvbnRleHRfZ2V0X29wdGlvbnMoJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHRoaXMtPmZhY3RvcnksICdjb250ZXh0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkb3B0aW9uc1snc3NsJ11bJ3ZlcmlmeV9wZWVyJ10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VXNlc1NzbFZhbGlkYXRpb25CeURlZmF1bHQoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmNsaWVudC0+Z2V0KCcvJyk7CiAgICAgICAgJHRoaXMtPmZhY3RvcnkgPSAkdGhpcy0+Z2V0TW9ja0J1aWxkZXIoJ0d1enpsZVxTdHJlYW1cUGhwU3RyZWFtUmVxdWVzdEZhY3RvcnknKQogICAgICAgICAgICAtPnNldE1ldGhvZHMoYXJyYXkoJ2NyZWF0ZVN0cmVhbScpKQogICAgICAgICAgICAtPmdldE1vY2soKTsKICAgICAgICAkdGhpcy0+ZmFjdG9yeS0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnY3JlYXRlU3RyZWFtJykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZShuZXcgU3RyZWFtKGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3InKSkpKTsKICAgICAgICAkdGhpcy0+ZmFjdG9yeS0+ZnJvbVJlcXVlc3QoJHJlcXVlc3QpOwogICAgICAgICRvcHRpb25zID0gc3RyZWFtX2NvbnRleHRfZ2V0X29wdGlvbnMoJHRoaXMtPnJlYWRBdHRyaWJ1dGUoJHRoaXMtPmZhY3RvcnksICdjb250ZXh0JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRvcHRpb25zWydzc2wnXVsndmVyaWZ5X3BlZXInXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHJlcXVlc3QtPmdldEN1cmxPcHRpb25zKCktPmdldChDVVJMT1BUX0NBSU5GTyksICRvcHRpb25zWydzc2wnXVsnY2FmaWxlJ10pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QmFzaWNBdXRoQWRkc1VzZXJBbmRQYXNzVG9VcmwoKQogICAgewogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmNsaWVudC0+Z2V0KCcvJyk7CiAgICAgICAgJHJlcXVlc3QtPnNldEF1dGgoJ0ZvbycsICdCYXInKTsKICAgICAgICAkdGhpcy0+ZmFjdG9yeSA9ICR0aGlzLT5nZXRNb2NrQnVpbGRlcignR3V6emxlXFN0cmVhbVxQaHBTdHJlYW1SZXF1ZXN0RmFjdG9yeScpCiAgICAgICAgICAgIC0+c2V0TWV0aG9kcyhhcnJheSgnY3JlYXRlU3RyZWFtJykpCiAgICAgICAgICAgIC0+Z2V0TW9jaygpOwogICAgICAgICR0aGlzLT5mYWN0b3J5LT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdjcmVhdGVTdHJlYW0nKQogICAgICAgICAgICAtPndpbGwoJHRoaXMtPnJldHVyblZhbHVlKG5ldyBTdHJlYW0oZm9wZW4oJ3BocDovL3RlbXAnLCAncicpKSkpOwogICAgICAgICR0aGlzLT5mYWN0b3J5LT5mcm9tUmVxdWVzdCgkcmVxdWVzdCk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvbnRhaW5zKCdGb286QmFyQCcsIChzdHJpbmcpICR0aGlzLT5yZWFkQXR0cmlidXRlKCR0aGlzLT5mYWN0b3J5LCAndXJsJykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuQ3JlYXRlQ3VzdG9tU3RyZWFtQ2xhc3MoKQogICAgewogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAyXHJcblxyXG5oaSIpOwogICAgICAgICRyZXF1ZXN0ID0gJHRoaXMtPmNsaWVudC0+Z2V0KCcvJyk7CiAgICAgICAgJHN0cmVhbSA9ICR0aGlzLT5mYWN0b3J5LT5mcm9tUmVxdWVzdCgkcmVxdWVzdCwgYXJyYXkoKSwgYXJyYXkoJ3N0cmVhbV9jbGFzcycgPT4gJ0d1enpsZVxIdHRwXEVudGl0eUJvZHknKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ0d1enpsZVxIdHRwXEVudGl0eUJvZHknLCAkc3RyZWFtKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/Stream/StreamTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBHdXp6bGVcVGVzdHNcU3RyZWFtOwoKdXNlIEd1enpsZVxTdHJlYW1cU3RyZWFtOwoKLyoqCiAqIEBncm91cCBzZXJ2ZXIKICogQGNvdmVycyBHdXp6bGVcU3RyZWFtXFN0cmVhbQogKi8KY2xhc3MgU3RyZWFtVGVzdCBleHRlbmRzIFxHdXp6bGVcVGVzdHNcR3V6emxlVGVzdENhc2UKewogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbnN0cnVjdG9yVGhyb3dzRXhjZXB0aW9uT25JbnZhbGlkQXJndW1lbnQoKQogICAgewogICAgICAgICRzdHJlYW0gPSBuZXcgU3RyZWFtKHRydWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q29uc3RydWN0b3IoKQogICAgewogICAgICAgICRoYW5kbGUgPSBmb3BlbigncGhwOi8vdGVtcCcsICdyKycpOwogICAgICAgIGZ3cml0ZSgkaGFuZGxlLCAnZGF0YScpOwogICAgICAgICRzdHJlYW0gPSBuZXcgU3RyZWFtKCRoYW5kbGUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGhhbmRsZSwgJHN0cmVhbS0+Z2V0U3RyZWFtKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRzdHJlYW0tPmlzUmVhZGFibGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHN0cmVhbS0+aXNXcml0YWJsZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkc3RyZWFtLT5pc0xvY2FsKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRzdHJlYW0tPmlzU2Vla2FibGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnUEhQJywgJHN0cmVhbS0+Z2V0V3JhcHBlcigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdURU1QJywgJHN0cmVhbS0+Z2V0U3RyZWFtVHlwZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDQsICRzdHJlYW0tPmdldFNpemUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygncGhwOi8vdGVtcCcsICRzdHJlYW0tPmdldFVyaSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCksICRzdHJlYW0tPmdldFdyYXBwZXJEYXRhKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkc3RyZWFtLT5pc0NvbnN1bWVkKCkpOwogICAgICAgIHVuc2V0KCRzdHJlYW0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0Q2FuTW9kaWZ5U3RyZWFtKCkKICAgIHsKICAgICAgICAkaGFuZGxlMSA9IGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3IrJyk7CiAgICAgICAgJGhhbmRsZTIgPSBmb3BlbigncGhwOi8vdGVtcCcsICdyKycpOwogICAgICAgICRzdHJlYW0gPSBuZXcgU3RyZWFtKCRoYW5kbGUxKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkaGFuZGxlMSwgJHN0cmVhbS0+Z2V0U3RyZWFtKCkpOwogICAgICAgICRzdHJlYW0tPnNldFN0cmVhbSgkaGFuZGxlMiwgMTApOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMTAsICRzdHJlYW0tPmdldFNpemUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGhhbmRsZTIsICRzdHJlYW0tPmdldFN0cmVhbSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFN0cmVhbUNsb3Nlc0hhbmRsZU9uRGVzdHJ1Y3QoKQogICAgewogICAgICAgICRoYW5kbGUgPSBmb3BlbigncGhwOi8vdGVtcCcsICdyJyk7CiAgICAgICAgJHN0cmVhbSA9IG5ldyBTdHJlYW0oJGhhbmRsZSk7CiAgICAgICAgdW5zZXQoJHN0cmVhbSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKGlzX3Jlc291cmNlKCRoYW5kbGUpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbnZlcnRzVG9TdHJpbmcoKQogICAgewogICAgICAgICRoYW5kbGUgPSBmb3BlbigncGhwOi8vdGVtcCcsICd3KycpOwogICAgICAgIGZ3cml0ZSgkaGFuZGxlLCAnZGF0YScpOwogICAgICAgICRzdHJlYW0gPSBuZXcgU3RyZWFtKCRoYW5kbGUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2RhdGEnLCAoc3RyaW5nKSAkc3RyZWFtKTsKICAgICAgICB1bnNldCgkc3RyZWFtKTsKCiAgICAgICAgJGhhbmRsZSA9IGZvcGVuKF9fRElSX18gLiAnLy4uL1Rlc3REYXRhL0ZpbGVCb2R5LnR4dCcsICdyJyk7CiAgICAgICAgJHN0cmVhbSA9IG5ldyBTdHJlYW0oJGhhbmRsZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnJywgKHN0cmluZykgJHN0cmVhbSk7CiAgICAgICAgdW5zZXQoJHN0cmVhbSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDb252ZXJ0c1RvU3RyaW5nQW5kUmVzdG9yZXNDdXJzb3JQb3MoKQogICAgewogICAgICAgICRoYW5kbGUgPSBmb3BlbigncGhwOi8vdGVtcCcsICd3KycpOwogICAgICAgICRzdHJlYW0gPSBuZXcgU3RyZWFtKCRoYW5kbGUpOwogICAgICAgICRzdHJlYW0tPndyaXRlKCdmb29iYXpiYXInKTsKICAgICAgICAkc3RyZWFtLT5zZWVrKDMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2Zvb2JhemJhcicsIChzdHJpbmcpICRzdHJlYW0pOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoMywgJHN0cmVhbS0+ZnRlbGwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RJc0NvbnN1bWVkKCkKICAgIHsKICAgICAgICAkaGFuZGxlID0gZm9wZW4oJ3BocDovL3RlbXAnLCAndysnKTsKICAgICAgICBmd3JpdGUoJGhhbmRsZSwgJ2RhdGEnKTsKICAgICAgICAkc3RyZWFtID0gbmV3IFN0cmVhbSgkaGFuZGxlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoJHN0cmVhbS0+aXNDb25zdW1lZCgpKTsKICAgICAgICAkc3RyZWFtLT5yZWFkKDQpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRzdHJlYW0tPmlzQ29uc3VtZWQoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBbGxvd3NTZXR0aW5nTWFudWFsU2l6ZSgpCiAgICB7CiAgICAgICAgJGhhbmRsZSA9IGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3crJyk7CiAgICAgICAgZndyaXRlKCRoYW5kbGUsICdkYXRhJyk7CiAgICAgICAgJHN0cmVhbSA9IG5ldyBTdHJlYW0oJGhhbmRsZSk7CiAgICAgICAgJHN0cmVhbS0+c2V0U2l6ZSgxMCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxMCwgJHN0cmVhbS0+Z2V0U2l6ZSgpKTsKICAgICAgICB1bnNldCgkc3RyZWFtKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFdyYXBzU3RyZWFtKCkKICAgIHsKICAgICAgICAkaGFuZGxlID0gZm9wZW4oJ3BocDovL3RlbXAnLCAndysnKTsKICAgICAgICBmd3JpdGUoJGhhbmRsZSwgJ2RhdGEnKTsKICAgICAgICAkc3RyZWFtID0gbmV3IFN0cmVhbSgkaGFuZGxlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkc3RyZWFtLT5pc1NlZWthYmxlKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRzdHJlYW0tPmlzUmVhZGFibGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHN0cmVhbS0+c2VlaygwKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZGEnLCAkc3RyZWFtLT5yZWFkKDIpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0YScsICRzdHJlYW0tPnJlYWQoMikpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCRzdHJlYW0tPnNlZWsoMCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ2RhdGEnLCAkc3RyZWFtLT5yZWFkKDQpKTsKICAgICAgICAkc3RyZWFtLT53cml0ZSgnX2FwcGVuZGVkJyk7CiAgICAgICAgJHN0cmVhbS0+c2VlaygwKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCdkYXRhX2FwcGVuZGVkJywgJHN0cmVhbS0+cmVhZCgxMykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0U2l6ZSgpCiAgICB7CiAgICAgICAgJHNpemUgPSBmaWxlc2l6ZShfX0RJUl9fIC4gJy8uLi8uLi8uLi9ib290c3RyYXAucGhwJyk7CiAgICAgICAgJGhhbmRsZSA9IGZvcGVuKF9fRElSX18gLiAnLy4uLy4uLy4uL2Jvb3RzdHJhcC5waHAnLCAncicpOwogICAgICAgICRzdHJlYW0gPSBuZXcgU3RyZWFtKCRoYW5kbGUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJGhhbmRsZSwgJHN0cmVhbS0+Z2V0U3RyZWFtKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHNpemUsICRzdHJlYW0tPmdldFNpemUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkc2l6ZSwgJHN0cmVhbS0+Z2V0U2l6ZSgpKTsKICAgICAgICB1bnNldCgkc3RyZWFtKTsKCiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgZmFsc2UgaXMgcmV0dXJuZWQgd2hlbiB0aGUgc2l6ZSBjYW5ub3QgYmUgZGV0ZXJtaW5lZAogICAgICAgICR0aGlzLT5nZXRTZXJ2ZXIoKS0+ZW5xdWV1ZSgiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iKTsKICAgICAgICAkaGFuZGxlID0gZm9wZW4oJ2h0dHA6Ly9sb2NhbGhvc3Q6JyAuICR0aGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0UG9ydCgpLCAncicpOwogICAgICAgICRzdHJlYW0gPSBuZXcgU3RyZWFtKCRoYW5kbGUpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoZmFsc2UsICRzdHJlYW0tPmdldFNpemUoKSk7CiAgICAgICAgdW5zZXQoJHN0cmVhbSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RFbnN1cmVzU2l6ZUlzQ29uc2lzdGVudCgpCiAgICB7CiAgICAgICAgJGggPSBmb3BlbigncGhwOi8vdGVtcCcsICdyKycpOwogICAgICAgIGZ3cml0ZSgkaCwgJ2ZvbycpOwogICAgICAgICRzdHJlYW0gPSBuZXcgU3RyZWFtKCRoKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDMsICRzdHJlYW0tPmdldFNpemUoKSk7CiAgICAgICAgJHN0cmVhbS0+d3JpdGUoJ3Rlc3QnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDcsICRzdHJlYW0tPmdldFNpemUoKSk7CiAgICAgICAgZmNsb3NlKCRoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFic3RyYWN0c01ldGFEYXRhKCkKICAgIHsKICAgICAgICAkaGFuZGxlID0gZm9wZW4oX19ESVJfXyAuICcvLi4vLi4vLi4vYm9vdHN0cmFwLnBocCcsICdyJyk7CiAgICAgICAgJHN0cmVhbSA9IG5ldyBTdHJlYW0oJGhhbmRsZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygncGxhaW5maWxlJywgJHN0cmVhbS0+Z2V0TWV0YURhdGEoJ3dyYXBwZXJfdHlwZScpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKG51bGwsICRzdHJlYW0tPmdldE1ldGFEYXRhKCd3cmFwcGVyX2RhdGEnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEludGVybmFsVHlwZSgnYXJyYXknLCAkc3RyZWFtLT5nZXRNZXRhRGF0YSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdERvZXNOb3RBdHRlbXB0VG9Xcml0ZVRvUmVhZG9ubHlTdHJlYW0oKQogICAgewogICAgICAgICRoYW5kbGUgPSBmb3BlbihfX0RJUl9fIC4gJy8uLi8uLi8uLi9ib290c3RyYXAucGhwJywgJ3InKTsKICAgICAgICAkc3RyZWFtID0gbmV3IFN0cmVhbSgkaGFuZGxlKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKDAsICRzdHJlYW0tPndyaXRlKCdmb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RQcm92aWRlc1N0cmVhbVBvc2l0aW9uKCkKICAgIHsKICAgICAgICAkaGFuZGxlID0gZm9wZW4oX19ESVJfXyAuICcvLi4vLi4vLi4vYm9vdHN0cmFwLnBocCcsICdyJyk7CiAgICAgICAgJHN0cmVhbSA9IG5ldyBTdHJlYW0oJGhhbmRsZSk7CiAgICAgICAgJHN0cmVhbS0+cmVhZCgyKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZShmdGVsbCgkaGFuZGxlKSwgJHN0cmVhbS0+ZnRlbGwoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygyLCAkc3RyZWFtLT5mdGVsbCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJld2luZElzU2Vla1plcm8oKQogICAgewogICAgICAgICRzdHJlYW0gPSBuZXcgU3RyZWFtKGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3crJykpOwogICAgICAgICRzdHJlYW0tPndyaXRlKCdmb29iYXpiYXInKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkc3RyZWFtLT5yZXdpbmQoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vYmF6YmFyJywgJHN0cmVhbS0+cmVhZCg5KSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RDYW5EZXRhY2hTdHJlYW0oKQogICAgewogICAgICAgICRyID0gZm9wZW4oJ3BocDovL3RlbXAnLCAndysnKTsKICAgICAgICAkc3RyZWFtID0gbmV3IFN0cmVhbSgkcik7CiAgICAgICAgJHN0cmVhbS0+ZGV0YWNoU3RyZWFtKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJHN0cmVhbS0+Z2V0U3RyZWFtKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/TestData/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/bar.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgImluY2x1ZGVzIjogWyJmb28uanNvbiJdCn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/baz.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgImluY2x1ZGVzIjogWyJmb28uanNvbiIsICJiYXIuanNvbiJdCn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/foo.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgImluY2x1ZGVzIjogWyJyZWN1cnNpdmUuanNvbiJdLAogICAgIm9wZXJhdGlvbnMiOiB7CiAgICAgICAgImFic3RyYWN0IjogewogICAgICAgICAgICAiaHR0cE1ldGhvZCI6ICJQT1NUIgogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/recursive.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgImluY2x1ZGVzIjogWyJmb28uanNvbiJdCn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/TestData/FileBody.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/TestData/mock_response</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SFRUUC8xLjEgMjAwIE9LCkNvbnRlbnQtTGVuZ3RoOiAwCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/json1.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgImluY2x1ZGVzIjogWyAianNvbjIuanNvbiIgXSwKICAgICJzZXJ2aWNlcyI6IHsKICAgICAgICAiYWJzdHJhY3QiOiB7CiAgICAgICAgICAgICJhY2Nlc3Nfa2V5IjogInh5eiIsCiAgICAgICAgICAgICJzZWNyZXQiOiAiYWJjIgogICAgICAgIH0sCiAgICAgICAgIm1vY2siOiB7CiAgICAgICAgICAgICJjbGFzcyI6ICJHdXp6bGVcXFRlc3RzXFxTZXJ2aWNlXFxNb2NrXFxNb2NrQ2xpZW50IiwKICAgICAgICAgICAgImV4dGVuZHMiOiAiYWJzdHJhY3QiLAogICAgICAgICAgICAicGFyYW1zIjogewogICAgICAgICAgICAgICAgInVzZXJuYW1lIjogImZvbyIsCiAgICAgICAgICAgICAgICAicGFzc3dvcmQiOiAiYmF6IiwKICAgICAgICAgICAgICAgICJzdWJkb21haW4iOiAiYmFyIgogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/json2.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgInNlcnZpY2VzIjogewogICAgICAgICJmb28iOiB7CiAgICAgICAgICAgICJjbGFzcyI6ICJHdXp6bGVcXFRlc3RzXFxTZXJ2aWNlXFxNb2NrXFxNb2NrQ2xpZW50IiwKICAgICAgICAgICAgImV4dGVuZHMiOiAiYWJzdHJhY3QiLAogICAgICAgICAgICAicGFyYW1zIjogewogICAgICAgICAgICAgICAgImJheiI6ICJiYXIiCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/services.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgImFic3RyYWN0IjogewogICAgICAgICJhY2Nlc3Nfa2V5IjogInh5eiIsCiAgICAgICAgInNlY3JldCI6ICJhYmMiCiAgICB9LAogICAgIm1vY2siOiB7CiAgICAgICAgImNsYXNzIjogIkd1enpsZVxcVGVzdHNcXFNlcnZpY2VcXE1vY2tcXE1vY2tDbGllbnQiLAogICAgICAgICJleHRlbmRzIjogImFic3RyYWN0IiwKICAgICAgICAicGFyYW1zIjogewogICAgICAgICAgICAidXNlcm5hbWUiOiAiZm9vIiwKICAgICAgICAgICAgInBhc3N3b3JkIjogImJheiIsCiAgICAgICAgICAgICJzdWJkb21haW4iOiAiYmFyIgogICAgICAgIH0KICAgIH0sCgogICAgInRlc3QuYWJzdHJhY3QuYXdzIjogewogICAgICAgICJwYXJhbXMiOiB7CiAgICAgICAgICAgICJhY2Nlc3Nfa2V5IjogIjEyMzQ1IiwKICAgICAgICAgICAgInNlY3JldF9rZXkiOiAiYWJjZCIKICAgICAgICB9CiAgICB9LAoKICAgICJ0ZXN0LnMzIjogewogICAgICAgICJjbGFzcyI6ICJHdXp6bGVcXFNlcnZpY2VcXEF3c1xcUzNDbGllbnQiLAogICAgICAgICJleHRlbmRzIjogInRlc3QuYWJzdHJhY3QuYXdzIiwKICAgICAgICAicGFyYW1zIjogewogICAgICAgICAgICAiZGV2cGF5X3Byb2R1Y3RfdG9rZW4iOiAiIiwKICAgICAgICAgICAgImRldnBheV91c2VyX3Rva2VuIjogIiIKICAgICAgICB9CiAgICB9LAoKICAgICJ0ZXN0LnNpbXBsZV9kYiI6IHsKICAgICAgICAiY2xhc3MiOiAgICJHdXp6bGVcXFNlcnZpY2VcXEF3c1xcU2ltcGxlRGJcXFNpbXBsZURiQ2xpZW50IiwKICAgICAgICAiZXh0ZW5kcyI6ICJ0ZXN0LmFic3RyYWN0LmF3cyIKICAgIH0sCgogICAgInRlc3Quc3FzIjogewogICAgICAgICJjbGFzcyI6ICAgIkd1enpsZVxcU2VydmljZVxcQXdzXFxTcXNcXFNxc0NsaWVudCIsCiAgICAgICAgImV4dGVuZHMiOiAidGVzdC5hYnN0cmFjdC5hd3MiCiAgICB9LAoKICAgICJ0ZXN0LmNlbnRpbmVsIjogewogICAgICAgICJjbGFzcyI6ICJHdXp6bGVcXFNlcnZpY2VcXENhcmRpbmFsQ29tbWVyY2VcXENlbnRpbmVsLkNlbnRpbmVsQ2xpZW50IiwKICAgICAgICAicGFyYW1zIjogewogICAgICAgICAgICAicGFzc3dvcmQiOiAidGVzdCIsCiAgICAgICAgICAgICJwcm9jZXNzb3JfaWQiOiAiMTIzIiwKICAgICAgICAgICAgIm1lcmNoYW50X2lkIjogIjQ1NiIKICAgICAgICB9CiAgICB9LAoKICAgICJ0ZXN0Lm13cyI6IHsKICAgICAgICAiY2xhc3MiOiAiR3V6emxlXFxTZXJ2aWNlXFxNd3NcXE13c0NsaWVudCIsCiAgICAgICAgImV4dGVuZHMiOiAidGVzdC5hYnN0cmFjdC5hd3MiLAogICAgICAgICJwYXJhbXMiOiB7CiAgICAgICAgICAgICJtZXJjaGFudF9pZCI6ICJBQkNERSIsCiAgICAgICAgICAgICJtYXJrZXRwbGFjZV9pZCI6ICJGR0hJSiIsCiAgICAgICAgICAgICJhcHBsaWNhdGlvbl9uYW1lIjogIkd1enpsZVRlc3QiLAogICAgICAgICAgICAiYXBwbGljYXRpb25fdmVyc2lvbiI6ICIwLjEiLAogICAgICAgICAgICAiYmFzZV91cmwiOiAiaHR0cHM6Ly9td3MuYW1hem9uc2VydmljZXMuY29tIgogICAgICAgIH0KICAgIH0sCgogICAgIm1vY2siOiB7CiAgICAgICAgImNsYXNzIjogIkd1enpsZVxcVGVzdHNcXFNlcnZpY2VcXE1vY2tcXE1vY2tDbGllbnQiLAogICAgICAgICJwYXJhbXMiOiB7CiAgICAgICAgICAgICJ1c2VybmFtZSI6ICJ0ZXN0X3VzZXIiLAogICAgICAgICAgICAicGFzc3dvcmQiOiAiKioqKiIsCiAgICAgICAgICAgICJzdWJkb21haW4iOiAidGVzdCIKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgImluY2x1ZGVzIjogWyAidGVzdF9zZXJ2aWNlMi5qc29uIiBdLAogICAgIm9wZXJhdGlvbnMiOiB7CiAgICAgICAgInRlc3QiOiB7CiAgICAgICAgICAgICJ1cmkiOiAiL3BhdGgiCiAgICAgICAgfSwKICAgICAgICAiY29uY3JldGUiOiB7CiAgICAgICAgICAgICJleHRlbmRzIjogImFic3RyYWN0IgogICAgICAgIH0sCiAgICAgICAgImZvb19iYXIiOiB7CiAgICAgICAgICAgICJ1cmkiOiAiL3Rlc3RpbmciLAogICAgICAgICAgICAicGFyYW1ldGVycyI6IHsKICAgICAgICAgICAgICAgICJvdGhlciI6IHsKICAgICAgICAgICAgICAgICAgICAibG9jYXRpb24iOiAianNvbiIsCiAgICAgICAgICAgICAgICAgICAgImxvY2F0aW9uX2tleSI6ICJPdGhlciIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidGVzdCI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAgICAgICJsb2NhdGlvbiI6ICJqc29uIiwKICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImJheiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJiYXIiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImZpbHRlcnMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWV0aG9kIjogInN0cnRvbG93ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJncyI6IFsidGVzdCIsICJAdmFsdWUiXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cnRvdXBwZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service2.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm9wZXJhdGlvbnMiOiB7CiAgICAgICAgImFic3RyYWN0IjogewogICAgICAgICAgICAidXJpIjogIi9hYnN0cmFjdCIKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/guzzle/guzzle/UPGRADING.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R3V6emxlIFVwZ3JhZGUgR3VpZGUKPT09PT09PT09PT09PT09PT09PT0KCjMuNiB0byAzLjcKLS0tLS0tLS0tLQoKIyMjIERlcHJlY2F0aW9ucwoKLSBZb3UgY2FuIG5vdyBlbmFibGUgRV9VU0VSX0RFUFJFQ0FURUQgd2FybmluZ3MgdG8gc2VlIGlmIHlvdSBhcmUgdXNpbmcgYW55IGRlcHJlY2F0ZWQgbWV0aG9kcy46CgpgYGBwaHAKXEd1enpsZVxDb21tb25cVmVyc2lvbjo6JGVtaXRXYXJuaW5ncyA9IHRydWU7CmBgYAoKVGhlIGZvbGxvd2luZyBBUElzIGFuZCBvcHRpb25zIGhhdmUgYmVlbiBtYXJrZWQgYXMgZGVwcmVjYXRlZDoKCi0gTWFya2VkIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q6OmlzUmVzcG9uc2VCb2R5UmVwZWF0YWJsZSgpYCBhcyBkZXByZWNhdGVkLiBVc2UgYCRyZXF1ZXN0LT5nZXRSZXNwb25zZUJvZHkoKS0+aXNSZXBlYXRhYmxlKClgIGluc3RlYWQuCi0gTWFya2VkIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q6OmNhbkNhY2hlKClgIGFzIGRlcHJlY2F0ZWQuIFVzZSBgR3V6emxlXFBsdWdpblxDYWNoZVxEZWZhdWx0Q2FuQ2FjaGVTdHJhdGVneS0+Y2FuQ2FjaGVSZXF1ZXN0KClgIGluc3RlYWQuCi0gTWFya2VkIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q6OmNhbkNhY2hlKClgIGFzIGRlcHJlY2F0ZWQuIFVzZSBgR3V6emxlXFBsdWdpblxDYWNoZVxEZWZhdWx0Q2FuQ2FjaGVTdHJhdGVneS0+Y2FuQ2FjaGVSZXF1ZXN0KClgIGluc3RlYWQuCi0gTWFya2VkIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q6OnNldElzUmVkaXJlY3QoKWAgYXMgZGVwcmVjYXRlZC4gVXNlIHRoZSBIaXN0b3J5UGx1Z2luIGluc3RlYWQuCi0gTWFya2VkIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q6OmlzUmVkaXJlY3QoKWAgYXMgZGVwcmVjYXRlZC4gVXNlIHRoZSBIaXN0b3J5UGx1Z2luIGluc3RlYWQuCi0gTWFya2VkIGBHdXp6bGVcQ2FjaGVcQ2FjaGVBZGFwdGVyRmFjdG9yeTo6ZmFjdG9yeSgpYCBhcyBkZXByZWNhdGVkCi0gTWFya2VkIGBHdXp6bGVcU2VydmljZVxDbGllbnQ6OmVuYWJsZU1hZ2ljTWV0aG9kcygpYCBhcyBkZXByZWNhdGVkLiBNYWdpYyBtZXRob2RzIGNhbiBubyBsb25nZXIgYmUgZGlzYWJsZWQgb24gYSBHdXp6bGVcU2VydmljZVxDbGllbnQuCi0gTWFya2VkIGBHdXp6bGVcUGFyc2VyXFVybFxVcmxQYXJzZXJgIGFzIGRlcHJlY2F0ZWQuIEp1c3QgdXNlIFBIUCdzIGBwYXJzZV91cmwoKWAgYW5kIHBlcmNlbnQgZW5jb2RlIHlvdXIgVVRGLTguCi0gTWFya2VkIGBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb246OmluamVjdCgpYCBhcyBkZXByZWNhdGVkLgotIE1hcmtlZCBgR3V6emxlXFBsdWdpblxDdXJsQXV0aFxDdXJsQXV0aFBsdWdpbmAgYXMgZGVwcmVjYXRlZC4gVXNlCiAgYCRjbGllbnQtPmdldENvbmZpZygpLT5zZXRQYXRoKCdyZXF1ZXN0Lm9wdGlvbnMvYXV0aCcsIGFycmF5KCd1c2VyJywgJ3Bhc3MnLCAnQmFzaWN8RGlnZXN0fE5UTE18QW55JykpO2Agb3IKICBgJGNsaWVudC0+c2V0RGVmYXVsdE9wdGlvbignYXV0aCcsIGFycmF5KCd1c2VyJywgJ3Bhc3MnLCAnQmFzaWN8RGlnZXN0fE5UTE18QW55JykpO2AKCjMuNyBpbnRyb2R1Y2VzIGByZXF1ZXN0Lm9wdGlvbnNgIGFzIGEgcGFyYW1ldGVyIGZvciBhIGNsaWVudCBjb25maWd1cmF0aW9uIGFuZCBhcyBhbiBvcHRpb25hbCBhcmd1bWVudCB0byBhbGwgY3JlYXRpb25hbApyZXF1ZXN0IG1ldGhvZHMuIFdoZW4gcGFpcmVkIHdpdGggYSBjbGllbnQncyBjb25maWd1cmF0aW9uIHNldHRpbmdzLCB0aGVzZSBvcHRpb25zIGFsbG93IHlvdSB0byBzcGVjaWZ5IGRlZmF1bHQgc2V0dGluZ3MKZm9yIHZhcmlvdXMgYXNwZWN0cyBvZiBhIHJlcXVlc3QuIEJlY2F1c2UgdGhlc2Ugb3B0aW9ucyBtYWtlIG90aGVyIHByZXZpb3VzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWR1bmRhbnQsIHNldmVyYWwKY29uZmlndXJhdGlvbiBvcHRpb25zIGFuZCBtZXRob2RzIG9mIGEgY2xpZW50IGFuZCBBYnN0cmFjdENvbW1hbmQgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQuCgotIE1hcmtlZCBgR3V6emxlXFNlcnZpY2VcQ2xpZW50OjpnZXREZWZhdWx0SGVhZGVycygpYCBhcyBkZXByZWNhdGVkLiBVc2UgYCRjbGllbnQtPmdldERlZmF1bHRPcHRpb24oJ2hlYWRlcnMnKWAuCi0gTWFya2VkIGBHdXp6bGVcU2VydmljZVxDbGllbnQ6OnNldERlZmF1bHRIZWFkZXJzKClgIGFzIGRlcHJlY2F0ZWQuIFVzZSBgJGNsaWVudC0+c2V0RGVmYXVsdE9wdGlvbignaGVhZGVycy97aGVhZGVyX25hbWV9JywgJ3ZhbHVlJylgLgotIE1hcmtlZCAncmVxdWVzdC5wYXJhbXMnIGZvciBgR3V6emxlXEh0dHBcQ2xpZW50YCBhcyBkZXByZWNhdGVkLiBVc2UgYCRjbGllbnQtPnNldERlZmF1bHRPcHRpb24oJ3BhcmFtcy97cGFyYW1fbmFtZX0nLCAndmFsdWUnKWAKLSBNYXJrZWQgJ2NvbW1hbmQuaGVhZGVycycsICdjb21tYW5kLnJlc3BvbnNlX2JvZHknIGFuZCAnY29tbWFuZC5vbl9jb21wbGV0ZScgYXMgZGVwcmVjYXRlZCBmb3IgQWJzdHJhY3RDb21tYW5kLiBUaGVzZSB3aWxsIHdvcmsgdGhyb3VnaCBHdXp6bGUgNC4wCgogICAgICAgICRjb21tYW5kID0gJGNsaWVudC0+Z2V0Q29tbWFuZCgnZm9vJywgYXJyYXkoCiAgICAgICAgICAgICdjb21tYW5kLmhlYWRlcnMnID0+IGFycmF5KCdUZXN0JyA9PiAnMTIzJyksCiAgICAgICAgICAgICdjb21tYW5kLnJlc3BvbnNlX2JvZHknID0+ICcvcGF0aC90by9maWxlJwogICAgICAgICkpOwoKICAgICAgICAvLyBTaG91bGQgYmUgY2hhbmdlZCB0bzoKCiAgICAgICAgJGNvbW1hbmQgPSAkY2xpZW50LT5nZXRDb21tYW5kKCdmb28nLCBhcnJheSgKICAgICAgICAgICAgJ2NvbW1hbmQucmVxdWVzdF9vcHRpb25zJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdoZWFkZXJzJyA9PiBhcnJheSgnVGVzdCcgPT4gJzEyMycpLAogICAgICAgICAgICAgICAgJ3NhdmVfYXMnID0+ICcvcGF0aC90by9maWxlJwogICAgICAgICAgICApCiAgICAgICAgKSk7CgojIyMgSW50ZXJmYWNlIGNoYW5nZXMKCkFkZGl0aW9ucyBhbmQgY2hhbmdlcyAoeW91IHdpbGwgbmVlZCB0byB1cGRhdGUgYW55IGltcGxlbWVudGF0aW9ucyBvciBzdWJjbGFzc2VzIHlvdSBtYXkgaGF2ZSBjcmVhdGVkKToKCi0gQWRkZWQgYW4gYCRvcHRpb25zYCBhcmd1bWVudCB0byB0aGUgZW5kIG9mIHRoZSBmb2xsb3dpbmcgbWV0aG9kcyBvZiBgR3V6emxlXEh0dHBcQ2xpZW50SW50ZXJmYWNlYDoKICBjcmVhdGVSZXF1ZXN0LCBoZWFkLCBkZWxldGUsIHB1dCwgcGF0Y2gsIHBvc3QsIG9wdGlvbnMsIHByZXBhcmVSZXF1ZXN0Ci0gQWRkZWQgYW4gYCRvcHRpb25zYCBhcmd1bWVudCB0byB0aGUgZW5kIG9mIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RcUmVxdWVzdEZhY3RvcnlJbnRlcmZhY2U6OmNyZWF0ZVJlcXVlc3QoKWAKLSBBZGRlZCBhbiBgYXBwbHlPcHRpb25zKClgIG1ldGhvZCB0byBgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0XFJlcXVlc3RGYWN0b3J5SW50ZXJmYWNlYAotIENoYW5nZWQgYEd1enpsZVxIdHRwXENsaWVudEludGVyZmFjZTo6Z2V0KCR1cmkgPSBudWxsLCAkaGVhZGVycyA9IG51bGwsICRib2R5ID0gbnVsbClgIHRvCiAgYEd1enpsZVxIdHRwXENsaWVudEludGVyZmFjZTo6Z2V0KCR1cmkgPSBudWxsLCAkaGVhZGVycyA9IG51bGwsICRvcHRpb25zID0gYXJyYXkoKSlgLiBZb3UgY2FuIHN0aWxsIHBhc3MgaW4gYQogIHJlc291cmNlLCBzdHJpbmcsIG9yIEVudGl0eUJvZHkgaW50byB0aGUgJG9wdGlvbnMgcGFyYW1ldGVyIHRvIHNwZWNpZnkgdGhlIGRvd25sb2FkIGxvY2F0aW9uIG9mIHRoZSByZXNwb25zZS4KLSBDaGFuZ2VkIGBHdXp6bGVcQ29tbW9uXENvbGxlY3Rpb246Ol9fY29uc3RydWN0KCRkYXRhKWAgdG8gbm8gbG9uZ2VyIGFjY2VwdHMgYSBudWxsIHZhbHVlIGZvciBgJGRhdGFgIGJ1dCBhCiAgZGVmYXVsdCBgYXJyYXkoKWAKLSBBZGRlZCBgR3V6emxlXFN0cmVhbVxTdHJlYW1JbnRlcmZhY2U6OmlzUmVwZWF0YWJsZWAKLSBNYWRlIGBHdXp6bGVcSHR0cFxDbGllbnQ6OmV4cGFuZFRlbXBsYXRlYCBhbmQgYGdldFVyaVRlbXBsYXRlYCBwcm90ZWN0ZWQgbWV0aG9kcy4KClRoZSBmb2xsb3dpbmcgbWV0aG9kcyB3ZXJlIHJlbW92ZWQgZnJvbSBpbnRlcmZhY2VzLiBBbGwgb2YgdGhlc2UgbWV0aG9kcyBhcmUgc3RpbGwgYXZhaWxhYmxlIGluIHRoZSBjb25jcmV0ZSBjbGFzc2VzCnRoYXQgaW1wbGVtZW50IHRoZW0sIGJ1dCB5b3Ugc2hvdWxkIHVwZGF0ZSB5b3VyIGNvZGUgdG8gdXNlIGFsdGVybmF0aXZlIG1ldGhvZHM6CgotIFJlbW92ZWQgYEd1enpsZVxIdHRwXENsaWVudEludGVyZmFjZTo6c2V0RGVmYXVsdEhlYWRlcnMoKS4gVXNlCiAgYCRjbGllbnQtPmdldENvbmZpZygpLT5zZXRQYXRoKCdyZXF1ZXN0Lm9wdGlvbnMvaGVhZGVycy97aGVhZGVyX25hbWV9JywgJ3ZhbHVlJylgLiBvcgogIGAkY2xpZW50LT5nZXRDb25maWcoKS0+c2V0UGF0aCgncmVxdWVzdC5vcHRpb25zL2hlYWRlcnMnLCBhcnJheSgnaGVhZGVyX25hbWUnID0+ICd2YWx1ZScpKWAgb3IKICBgJGNsaWVudC0+c2V0RGVmYXVsdE9wdGlvbignaGVhZGVycy97aGVhZGVyX25hbWV9JywgJ3ZhbHVlJylgLiBvcgogIGAkY2xpZW50LT5zZXREZWZhdWx0T3B0aW9uKCdoZWFkZXJzJywgYXJyYXkoJ2hlYWRlcl9uYW1lJyA9PiAndmFsdWUnKSlgLgotIFJlbW92ZWQgYEd1enpsZVxIdHRwXENsaWVudEludGVyZmFjZTo6Z2V0RGVmYXVsdEhlYWRlcnMoKS4gVXNlIGAkY2xpZW50LT5nZXRDb25maWcoKS0+Z2V0UGF0aCgncmVxdWVzdC5vcHRpb25zL2hlYWRlcnMnKWAuCi0gUmVtb3ZlZCBgR3V6emxlXEh0dHBcQ2xpZW50SW50ZXJmYWNlOjpleHBhbmRUZW1wbGF0ZSgpYC4gVGhpcyBpcyBhbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuCi0gUmVtb3ZlZCBgR3V6emxlXEh0dHBcQ2xpZW50SW50ZXJmYWNlOjpzZXRSZXF1ZXN0RmFjdG9yeSgpYC4gVGhpcyBpcyBhbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuCi0gUmVtb3ZlZCBgR3V6emxlXEh0dHBcQ2xpZW50SW50ZXJmYWNlOjpnZXRDdXJsTXVsdGkoKWAuIFRoaXMgaXMgYSB2ZXJ5IHNwZWNpZmljIGltcGxlbWVudGF0aW9uIGRldGFpbC4KLSBSZW1vdmVkIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U6OmNhbkNhY2hlYC4gVXNlIHRoZSBDYWNoZVBsdWdpbi4KLSBSZW1vdmVkIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U6OnNldElzUmVkaXJlY3RgLiBVc2UgdGhlIEhpc3RvcnlQbHVnaW4uCi0gUmVtb3ZlZCBgR3V6emxlXEh0dHBcTWVzc2FnZVxSZXF1ZXN0SW50ZXJmYWNlOjppc1JlZGlyZWN0YC4gVXNlIHRoZSBIaXN0b3J5UGx1Z2luLgoKIyMjIENhY2hlIHBsdWdpbiBicmVha2luZyBjaGFuZ2VzCgotIENhY2hlS2V5UHJvdmlkZXJJbnRlcmZhY2UgYW5kIERlZmF1bHRDYWNoZUtleVByb3ZpZGVyIGFyZSBubyBsb25nZXIgdXNlZC4gQWxsIG9mIHRoaXMgbG9naWMgaXMgaGFuZGxlZCBpbiBhCiAgQ2FjaGVTdG9yYWdlSW50ZXJmYWNlLiBUaGVzZSB0d28gb2JqZWN0cyBhbmQgaW50ZXJmYWNlIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLgotIEFsd2F5cyBzZXR0aW5nIFgtY2FjaGUgaGVhZGVycyBvbiBjYWNoZWQgcmVzcG9uc2VzCi0gRGVmYXVsdCBjYWNoZSBUVExzIGFyZSBub3cgaGFuZGxlZCBieSB0aGUgQ2FjaGVTdG9yYWdlSW50ZXJmYWNlIG9mIGEgQ2FjaGVQbHVnaW4KLSBgQ2FjaGVTdG9yYWdlSW50ZXJmYWNlOjpjYWNoZSgka2V5LCBSZXNwb25zZSAkcmVzcG9uc2UsICR0dGwgPSBudWxsKWAgaGFzIGNoYW5nZWQgdG8gYGNhY2hlKFJlcXVlc3RJbnRlcmZhY2UKICAkcmVxdWVzdCwgUmVzcG9uc2UgJHJlc3BvbnNlKTtgCi0gYENhY2hlU3RvcmFnZUludGVyZmFjZTo6ZmV0Y2goJGtleSlgIGhhcyBjaGFuZ2VkIHRvIGBmZXRjaChSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0KTtgCi0gYENhY2hlU3RvcmFnZUludGVyZmFjZTo6ZGVsZXRlKCRrZXkpYCBoYXMgY2hhbmdlZCB0byBgZGVsZXRlKFJlcXVlc3RJbnRlcmZhY2UgJHJlcXVlc3QpO2AKLSBBZGRlZCBgQ2FjaGVTdG9yYWdlSW50ZXJmYWNlOjpwdXJnZSgkdXJsKWAKLSBgRGVmYXVsdFJldmFsaWRhdGlvbjo6X19jb25zdHJ1Y3QoQ2FjaGVLZXlQcm92aWRlckludGVyZmFjZSAkY2FjaGVLZXksIENhY2hlU3RvcmFnZUludGVyZmFjZSAkY2FjaGUsIENhY2hlUGx1Z2luCiAgJHBsdWdpbilgIGhhcyBjaGFuZ2VkIHRvIGBEZWZhdWx0UmV2YWxpZGF0aW9uOjpfX2NvbnN0cnVjdChDYWNoZVN0b3JhZ2VJbnRlcmZhY2UgJGNhY2hlLAogIENhbkNhY2hlU3RyYXRlZ3lJbnRlcmZhY2UgJGNhbkNhY2hlID0gbnVsbClgCi0gQWRkZWQgYFJldmFsaWRhdGlvbkludGVyZmFjZTo6c2hvdWxkUmV2YWxpZGF0ZShSZXF1ZXN0SW50ZXJmYWNlICRyZXF1ZXN0LCBSZXNwb25zZSAkcmVzcG9uc2UpYAoKMy41IHRvIDMuNgotLS0tLS0tLS0tCgoqIE1peGVkIGNhc2luZyBvZiBoZWFkZXJzIGFyZSBub3cgZm9yY2VkIHRvIGJlIGEgc2luZ2xlIGNvbnNpc3RlbnQgY2FzaW5nIGFjcm9zcyBhbGwgdmFsdWVzIGZvciB0aGF0IGhlYWRlci4KKiBNZXNzYWdlcyBpbnRlcm5hbGx5IHVzZSBhIEhlYWRlckNvbGxlY3Rpb24gb2JqZWN0IHRvIGRlbGVnYXRlIGhhbmRsaW5nIGNhc2UtaW5zZW5zaXRpdmUgaGVhZGVyIHJlc29sdXRpb24KKiBSZW1vdmVkIHRoZSB3aG9sZSBjaGFuZ2VkSGVhZGVyKCkgZnVuY3Rpb24gc3lzdGVtIG9mIG1lc3NhZ2VzIGJlY2F1c2UgYWxsIGhlYWRlciBjaGFuZ2VzIG5vdyBnbyB0aHJvdWdoIGFkZEhlYWRlcigpLgogIEZvciBleGFtcGxlLCBzZXRIZWFkZXIoKSBmaXJzdCByZW1vdmVzIHRoZSBoZWFkZXIgdXNpbmcgdW5zZXQgb24gYSBIZWFkZXJDb2xsZWN0aW9uIGFuZCB0aGVuIGNhbGxzIGFkZEhlYWRlcigpLgogIEtlZXBpbmcgdGhlIEhvc3QgaGVhZGVyIGFuZCBVUkwgaG9zdCBpbiBzeW5jIGlzIG5vdyBoYW5kbGVkIGJ5IG92ZXJyaWRpbmcgdGhlIGFkZEhlYWRlciBtZXRob2QgaW4gUmVxdWVzdC4KKiBTcGVjaWZpYyBoZWFkZXIgaW1wbGVtZW50YXRpb25zIGNhbiBiZSBjcmVhdGVkIGZvciBjb21wbGV4IGhlYWRlcnMuIFdoZW4gYSBtZXNzYWdlIGNyZWF0ZXMgYSBoZWFkZXIsIGl0IHVzZXMgYQogIEhlYWRlckZhY3Rvcnkgd2hpY2ggY2FuIG1hcCBzcGVjaWZpYyBoZWFkZXJzIHRvIHNwZWNpZmljIGhlYWRlciBjbGFzc2VzLiBUaGVyZSBpcyBub3cgYSBMaW5rIGhlYWRlciBhbmQKICBDYWNoZUNvbnRyb2wgaGVhZGVyIGltcGxlbWVudGF0aW9uLgoqIE1vdmVkIGdldExpbmtzKCkgZnJvbSBSZXNwb25zZSB0byBqdXN0IGJlIHVzZWQgb24gYSBMaW5rIGhlYWRlciBvYmplY3QuCgpJZiB5b3UgcHJldmlvdXNseSByZWxpZWQgb24gR3V6emxlXEh0dHBcTWVzc2FnZVxIZWFkZXI6OnJhdygpLCB0aGVuIHlvdSB3aWxsIG5lZWQgdG8gdXBkYXRlIHlvdXIgY29kZSB0byB1c2UgdGhlCkhlYWRlckludGVyZmFjZSAoZS5nLiB0b0FycmF5KCksIGdldEFsbCgpLCBldGMpLgoKIyMjIEludGVyZmFjZSBjaGFuZ2VzCgoqIFJlbW92ZWQgZnJvbSBpbnRlcmZhY2U6IEd1enpsZVxIdHRwXENsaWVudEludGVyZmFjZTo6c2V0VXJpVGVtcGxhdGUKKiBSZW1vdmVkIGZyb20gaW50ZXJmYWNlOiBHdXp6bGVcSHR0cFxDbGllbnRJbnRlcmZhY2U6OnNldEN1cmxNdWx0aSgpCiogUmVtb3ZlZCBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3Q6OnJlY2VpdmVkUmVxdWVzdEhlYWRlcigpIGFuZCBpbXBsZW1lbnRlZCB0aGlzIGZ1bmN0aW9uYWxpdHkgaW4KICBHdXp6bGVcSHR0cFxDdXJsXFJlcXVlc3RNZWRpYXRvcgoqIFJlbW92ZWQgdGhlIG9wdGlvbmFsICRhc1N0cmluZyBwYXJhbWV0ZXIgZnJvbSBNZXNzYWdlSW50ZXJmYWNlOjpnZXRIZWFkZXIoKS4gSnVzdCBjYXN0IHRoZSBoZWFkZXIgdG8gYSBzdHJpbmcuCiogUmVtb3ZlZCB0aGUgb3B0aW9uYWwgJHRyeUNodW5rZWRUcmFuc2ZlciBvcHRpb24gZnJvbSBHdXp6bGVcSHR0cFxNZXNzYWdlXEVudGl0eUVuY2xvc2luZ1JlcXVlc3RJbnRlcmZhY2UKKiBSZW1vdmVkIHRoZSAkYXNPYmplY3RzIGFyZ3VtZW50IGZyb20gR3V6emxlXEh0dHBcTWVzc2FnZVxNZXNzYWdlSW50ZXJmYWNlOjpnZXRIZWFkZXJzKCkKCiMjIyBSZW1vdmVkIGRlcHJlY2F0ZWQgZnVuY3Rpb25zCgoqIFJlbW92ZWQgR3V6emxlXFBhcnNlclxQYXJzZXJSZWdpc3Rlcjo6Z2V0KCkuIFVzZSBnZXRQYXJzZXIoKQoqIFJlbW92ZWQgR3V6emxlXFBhcnNlclxQYXJzZXJSZWdpc3Rlcjo6c2V0KCkuIFVzZSByZWdpc3RlclBhcnNlcigpLgoKIyMjIERlcHJlY2F0aW9ucwoKKiBUaGUgYWJpbGl0eSB0byBjYXNlLWluc2Vuc2l0aXZlbHkgc2VhcmNoIGZvciBoZWFkZXIgdmFsdWVzCiogR3V6emxlXEh0dHBcTWVzc2FnZVxIZWFkZXI6Omhhc0V4YWN0SGVhZGVyCiogR3V6emxlXEh0dHBcTWVzc2FnZVxIZWFkZXI6OnJhdy4gVXNlIGdldEFsbCgpCiogRGVwcmVjYXRlZCBjYWNoZSBjb250cm9sIHNwZWNpZmljIG1ldGhvZHMgb24gR3V6emxlXEh0dHBcTWVzc2FnZVxBYnN0cmFjdE1lc3NhZ2UuIFVzZSB0aGUgQ2FjaGVDb250cm9sIGhlYWRlciBvYmplY3QKICBpbnN0ZWFkLgoKIyMjIE90aGVyIGNoYW5nZXMKCiogQWxsIHJlc3BvbnNlIGhlYWRlciBoZWxwZXIgZnVuY3Rpb25zIHJldHVybiBhIHN0cmluZyByYXRoZXIgdGhhbiBtaXhpbmcgSGVhZGVyIG9iamVjdHMgYW5kIHN0cmluZ3MgaW5jb25zaXN0ZW50bHkKKiBSZW1vdmVkIGNVUkwgYmxhY2tsaXN0IHN1cHBvcnQuIFRoaXMgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSBub3cgdGhhdCBFeHBlY3QsIEFjY2VwdCwgZXRjIGFyZSBtYW5hZ2VkIGJ5IEd1enpsZQogIGRpcmVjdGx5IHZpYSBpbnRlcmZhY2VzCiogUmVtb3ZlZCB0aGUgaW5qZWN0aW5nIG9mIGEgcmVxdWVzdCBvYmplY3Qgb250byBhIHJlc3BvbnNlIG9iamVjdC4gVGhlIG1ldGhvZHMgdG8gZ2V0IGFuZCBzZXQgYSByZXF1ZXN0IHN0aWxsIGV4aXN0CiAgYnV0IGFyZSBhIG5vLW9wIHVudGlsIHJlbW92ZWQuCiogTW9zdCBjbGFzc2VzIHRoYXQgdXNlZCB0byByZXF1aXJlIGEgYGBHdXp6bGVcU2VydmljZVxDb21tYW5kXENvbW1hbmRJbnRlcmZhY2VgIHR5cGVoaW50IG5vdyByZXF1ZXN0IGEKICBgR3V6emxlXFNlcnZpY2VcQ29tbWFuZFxBcnJheUNvbW1hbmRJbnRlcmZhY2VgLgoqIEFkZGVkIGBHdXp6bGVcSHR0cFxNZXNzYWdlXFJlcXVlc3RJbnRlcmZhY2U6OnN0YXJ0UmVzcG9uc2UoKWAgdG8gdGhlIFJlcXVlc3RJbnRlcmZhY2UgdG8gaGFuZGxlIGluamVjdGluZyBhIHJlc3BvbnNlCiAgb24gYSByZXF1ZXN0IHdoaWxlIHRoZSByZXF1ZXN0IGlzIHN0aWxsIGJlaW5nIHRyYW5zZmVycmVkCiogYEd1enpsZVxTZXJ2aWNlXENvbW1hbmRcQ29tbWFuZEludGVyZmFjZWAgbm93IGV4dGVuZHMgZnJvbSBUb0FycmF5SW50ZXJmYWNlIGFuZCBBcnJheUFjY2VzcwoKMy4zIHRvIDMuNAotLS0tLS0tLS0tCgpCYXNlIFVSTHMgb2YgYSBjbGllbnQgbm93IGZvbGxvdyB0aGUgcnVsZXMgb2YgaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTUuMi4yIHdoZW4gbWVyZ2luZyBVUkxzLgoKMy4yIHRvIDMuMwotLS0tLS0tLS0tCgojIyMgUmVzcG9uc2U6OmdldEV0YWcoKSBxdW90ZSBzdHJpcHBpbmcgcmVtb3ZlZAoKYEd1enpsZVxIdHRwXE1lc3NhZ2VcUmVzcG9uc2U6OmdldEV0YWcoKWAgbm8gbG9uZ2VyIHN0cmlwcyBxdW90ZXMgYXJvdW5kIHRoZSBFVGFnIHJlc3BvbnNlIGhlYWRlcgoKIyMjIFJlbW92ZWQgYEd1enpsZVxIdHRwXFV0aWxzYAoKVGhlIGBHdXp6bGVcSHR0cFxVdGlsc2AgY2xhc3Mgd2FzIHJlbW92ZWQuIFRoaXMgY2xhc3Mgd2FzIG9ubHkgdXNlZCBmb3IgdGVzdGluZy4KCiMjIyBTdHJlYW0gd3JhcHBlciBhbmQgdHlwZQoKYEd1enpsZVxTdHJlYW1cU3RyZWFtOjpnZXRXcmFwcGVyKClgIGFuZCBgR3V6emxlXFN0cmVhbVxTdHJlYW06OmdldFN0ZWFtVHlwZSgpYCBhcmUgbm8gbG9uZ2VyIGNvbnZlcnRlZCB0byBsb3dlcmNhc2UuCgojIyMgY3VybC5lbWl0X2lvIGJlY2FtZSBlbWl0X2lvCgpFbWl0dGluZyBJTyBldmVudHMgZnJvbSBhIFJlcXVlc3RNZWRpYXRvciBpcyBub3cgYSBwYXJhbWV0ZXIgdGhhdCBtdXN0IGJlIHNldCBpbiBhIHJlcXVlc3QncyBjdXJsIG9wdGlvbnMgdXNpbmcgdGhlCidlbWl0X2lvJyBrZXkuIFRoaXMgd2FzIHByZXZpb3VzbHkgc2V0IHVuZGVyIGEgcmVxdWVzdCdzIHBhcmFtZXRlcnMgdXNpbmcgJ2N1cmwuZW1pdF9pbycKCjMuMSB0byAzLjIKLS0tLS0tLS0tLQoKIyMjIEN1cmxNdWx0aSBpcyBubyBsb25nZXIgcmV1c2VkIGdsb2JhbGx5CgpCZWZvcmUgMy4yLCB0aGUgc2FtZSBDdXJsTXVsdGkgb2JqZWN0IHdhcyByZXVzZWQgZ2xvYmFsbHkgZm9yIGVhY2ggY2xpZW50LiBUaGlzIGNhbiBjYXVzZSBpc3N1ZSB3aGVyZSBwbHVnaW5zIGFkZGVkCnRvIGEgc2luZ2xlIGNsaWVudCBjYW4gcG9sbHV0ZSByZXF1ZXN0cyBkaXNwYXRjaGVkIGZyb20gb3RoZXIgY2xpZW50cy4KCklmIHlvdSBzdGlsbCB3aXNoIHRvIHJldXNlIHRoZSBzYW1lIEN1cmxNdWx0aSBvYmplY3Qgd2l0aCBlYWNoIGNsaWVudCwgdGhlbiB5b3UgY2FuIGFkZCBhIGxpc3RlbmVyIHRvIHRoZQpTZXJ2aWNlQnVpbGRlcidzIGBzZXJ2aWNlX2J1aWxkZXIuY3JlYXRlX2NsaWVudGAgZXZlbnQgdG8gaW5qZWN0IGEgY3VzdG9tIEN1cmxNdWx0aSBvYmplY3QgaW50byBlYWNoIGNsaWVudCBhcyBpdCBpcwpjcmVhdGVkLgoKYGBgcGhwCiRtdWx0aSA9IG5ldyBHdXp6bGVcSHR0cFxDdXJsXEN1cmxNdWx0aSgpOwokYnVpbGRlciA9IEd1enpsZVxTZXJ2aWNlXEJ1aWxkZXJcU2VydmljZUJ1aWxkZXI6OmZhY3RvcnkoJy9wYXRoL3RvL2NvbmZpZy5qc29uJyk7CiRidWlsZGVyLT5hZGRMaXN0ZW5lcignc2VydmljZV9idWlsZGVyLmNyZWF0ZV9jbGllbnQnLCBmdW5jdGlvbiAoJGV2ZW50KSB1c2UgKCRtdWx0aSkgewogICAgJGV2ZW50WydjbGllbnQnXS0+c2V0Q3VybE11bHRpKCRtdWx0aSk7Cn0KfSk7CmBgYAoKIyMjIE5vIGRlZmF1bHQgcGF0aAoKVVJMcyBubyBsb25nZXIgaGF2ZSBhIGRlZmF1bHQgcGF0aCB2YWx1ZSBvZiAnLycgaWYgbm8gcGF0aCB3YXMgc3BlY2lmaWVkLgoKQmVmb3JlOgoKYGBgcGhwCiRyZXF1ZXN0ID0gJGNsaWVudC0+Z2V0KCdodHRwOi8vd3d3LmZvby5jb20nKTsKZWNobyAkcmVxdWVzdC0+Z2V0VXJsKCk7Ci8vID4+IGh0dHA6Ly93d3cuZm9vLmNvbS8KYGBgCgpBZnRlcjoKCmBgYHBocAokcmVxdWVzdCA9ICRjbGllbnQtPmdldCgnaHR0cDovL3d3dy5mb28uY29tJyk7CmVjaG8gJHJlcXVlc3QtPmdldFVybCgpOwovLyA+PiBodHRwOi8vd3d3LmZvby5jb20KYGBgCgojIyMgTGVzcyB2ZXJib3NlIEJhZFJlc3BvbnNlRXhjZXB0aW9uCgpUaGUgZXhjZXB0aW9uIG1lc3NhZ2UgZm9yIGBHdXp6bGVcSHR0cFxFeGNlcHRpb25cQmFkUmVzcG9uc2VFeGNlcHRpb25gIG5vIGxvbmdlciBjb250YWlucyB0aGUgZnVsbCBIVFRQIHJlcXVlc3QgYW5kCnJlc3BvbnNlIGluZm9ybWF0aW9uLiBZb3UgY2FuLCBob3dldmVyLCBnZXQgYWNjZXNzIHRvIHRoZSByZXF1ZXN0IGFuZCByZXNwb25zZSBvYmplY3QgYnkgY2FsbGluZyBgZ2V0UmVxdWVzdCgpYCBvcgpgZ2V0UmVzcG9uc2UoKWAgb24gdGhlIGV4Y2VwdGlvbiBvYmplY3QuCgojIyMgUXVlcnkgcGFyYW1ldGVyIGFnZ3JlZ2F0aW9uCgpNdWx0aS12YWx1ZWQgcXVlcnkgcGFyYW1ldGVycyBhcmUgbm8gbG9uZ2VyIGFnZ3JlZ2F0ZWQgdXNpbmcgYSBjYWxsYmFjayBmdW5jdGlvbi4gYEd1enpsZVxIdHRwXFF1ZXJ5YCBub3cgaGFzIGEKc2V0QWdncmVnYXRvcigpIG1ldGhvZCB0aGF0IGFjY2VwdHMgYSBgR3V6emxlXEh0dHBcUXVlcnlBZ2dyZWdhdG9yXFF1ZXJ5QWdncmVnYXRvckludGVyZmFjZWAgb2JqZWN0LiBUaGlzIG9iamVjdCBpcwpyZXNwb25zaWJsZSBmb3IgaGFuZGxpbmcgdGhlIGFnZ3JlZ2F0aW9uIG9mIG11bHRpLXZhbHVlZCBxdWVyeSBzdHJpbmcgdmFyaWFibGVzIGludG8gYSBmbGF0dGVuZWQgaGFzaC4KCjIuOCB0byAzLngKLS0tLS0tLS0tLQoKIyMjIEd1enpsZVxTZXJ2aWNlXEluc3BlY3RvcgoKQ2hhbmdlIGBcR3V6emxlXFNlcnZpY2VcSW5zcGVjdG9yOjpmcm9tQ29uZmlnYCB0byBgXEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjo6ZnJvbUNvbmZpZ2AKCioqQmVmb3JlKioKCmBgYHBocAp1c2UgR3V6emxlXFNlcnZpY2VcSW5zcGVjdG9yOwoKY2xhc3MgWW91ckNsaWVudCBleHRlbmRzIFxHdXp6bGVcU2VydmljZVxDbGllbnQKewogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmYWN0b3J5KCRjb25maWcgPSBhcnJheSgpKQogICAgewogICAgICAgICRkZWZhdWx0ID0gYXJyYXkoKTsKICAgICAgICAkcmVxdWlyZWQgPSBhcnJheSgnYmFzZV91cmwnLCAndXNlcm5hbWUnLCAnYXBpX2tleScpOwogICAgICAgICRjb25maWcgPSBJbnNwZWN0b3I6OmZyb21Db25maWcoJGNvbmZpZywgJGRlZmF1bHQsICRyZXF1aXJlZCk7CgogICAgICAgICRjbGllbnQgPSBuZXcgc2VsZigKICAgICAgICAgICAgJGNvbmZpZy0+Z2V0KCdiYXNlX3VybCcpLAogICAgICAgICAgICAkY29uZmlnLT5nZXQoJ3VzZXJuYW1lJyksCiAgICAgICAgICAgICRjb25maWctPmdldCgnYXBpX2tleScpCiAgICAgICAgKTsKICAgICAgICAkY2xpZW50LT5zZXRDb25maWcoJGNvbmZpZyk7CgogICAgICAgICRjbGllbnQtPnNldERlc2NyaXB0aW9uKFNlcnZpY2VEZXNjcmlwdGlvbjo6ZmFjdG9yeShfX0RJUl9fIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdjbGllbnQuanNvbicpKTsKCiAgICAgICAgcmV0dXJuICRjbGllbnQ7CiAgICB9CmBgYAoKKipBZnRlcioqCgpgYGBwaHAKdXNlIEd1enpsZVxDb21tb25cQ29sbGVjdGlvbjsKCmNsYXNzIFlvdXJDbGllbnQgZXh0ZW5kcyBcR3V6emxlXFNlcnZpY2VcQ2xpZW50CnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmFjdG9yeSgkY29uZmlnID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkZGVmYXVsdCA9IGFycmF5KCk7CiAgICAgICAgJHJlcXVpcmVkID0gYXJyYXkoJ2Jhc2VfdXJsJywgJ3VzZXJuYW1lJywgJ2FwaV9rZXknKTsKICAgICAgICAkY29uZmlnID0gQ29sbGVjdGlvbjo6ZnJvbUNvbmZpZygkY29uZmlnLCAkZGVmYXVsdCwgJHJlcXVpcmVkKTsKCiAgICAgICAgJGNsaWVudCA9IG5ldyBzZWxmKAogICAgICAgICAgICAkY29uZmlnLT5nZXQoJ2Jhc2VfdXJsJyksCiAgICAgICAgICAgICRjb25maWctPmdldCgndXNlcm5hbWUnKSwKICAgICAgICAgICAgJGNvbmZpZy0+Z2V0KCdhcGlfa2V5JykKICAgICAgICApOwogICAgICAgICRjbGllbnQtPnNldENvbmZpZygkY29uZmlnKTsKCiAgICAgICAgJGNsaWVudC0+c2V0RGVzY3JpcHRpb24oU2VydmljZURlc2NyaXB0aW9uOjpmYWN0b3J5KF9fRElSX18gLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ2NsaWVudC5qc29uJykpOwoKICAgICAgICByZXR1cm4gJGNsaWVudDsKICAgIH0KYGBgCgojIyMgQ29udmVydCBYTUwgU2VydmljZSBEZXNjcmlwdGlvbnMgdG8gSlNPTgoKKipCZWZvcmUqKgoKYGBgeG1sCjw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CjxjbGllbnQ+CiAgICA8Y29tbWFuZHM+CiAgICAgICAgPCEtLSBHcm91cHMgLS0+CiAgICAgICAgPGNvbW1hbmQgbmFtZT0ibGlzdF9ncm91cHMiIG1ldGhvZD0iR0VUIiB1cmk9Imdyb3Vwcy5qc29uIj4KICAgICAgICAgICAgPGRvYz5HZXQgYSBsaXN0IG9mIGdyb3VwczwvZG9jPgogICAgICAgIDwvY29tbWFuZD4KICAgICAgICA8Y29tbWFuZCBuYW1lPSJzZWFyY2hfZ3JvdXBzIiBtZXRob2Q9IkdFVCIgdXJpPSdzZWFyY2guanNvbj9xdWVyeT0ie3txdWVyeX19IHR5cGU6Z3JvdXAiJz4KICAgICAgICAgICAgPGRvYz5Vc2VzIGEgc2VhcmNoIHF1ZXJ5IHRvIGdldCBhIGxpc3Qgb2YgZ3JvdXBzPC9kb2M+CiAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJxdWVyeSIgdHlwZT0ic3RyaW5nIiByZXF1aXJlZD0idHJ1ZSIgLz4KICAgICAgICA8L2NvbW1hbmQ+CiAgICAgICAgPGNvbW1hbmQgbmFtZT0iY3JlYXRlX2dyb3VwIiBtZXRob2Q9IlBPU1QiIHVyaT0iZ3JvdXBzLmpzb24iPgogICAgICAgICAgICA8ZG9jPkNyZWF0ZSBhIGdyb3VwPC9kb2M+CiAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJkYXRhIiB0eXBlPSJhcnJheSIgbG9jYXRpb249ImJvZHkiIGZpbHRlcnM9Impzb25fZW5jb2RlIiBkb2M9Ikdyb3VwIEpTT04iLz4KICAgICAgICAgICAgPHBhcmFtIG5hbWU9IkNvbnRlbnQtVHlwZSIgbG9jYXRpb249ImhlYWRlciIgc3RhdGljPSJhcHBsaWNhdGlvbi9qc29uIi8+CiAgICAgICAgPC9jb21tYW5kPgogICAgICAgIDxjb21tYW5kIG5hbWU9ImRlbGV0ZV9ncm91cCIgbWV0aG9kPSJERUxFVEUiIHVyaT0iZ3JvdXBzL3t7aWR9fS5qc29uIj4KICAgICAgICAgICAgPGRvYz5EZWxldGUgYSBncm91cCBieSBJRDwvZG9jPgogICAgICAgICAgICA8cGFyYW0gbmFtZT0iaWQiIHR5cGU9ImludGVnZXIiIHJlcXVpcmVkPSJ0cnVlIi8+CiAgICAgICAgPC9jb21tYW5kPgogICAgICAgIDxjb21tYW5kIG5hbWU9ImdldF9ncm91cCIgbWV0aG9kPSJHRVQiIHVyaT0iZ3JvdXBzL3t7aWR9fS5qc29uIj4KICAgICAgICAgICAgPHBhcmFtIG5hbWU9ImlkIiB0eXBlPSJpbnRlZ2VyIiByZXF1aXJlZD0idHJ1ZSIvPgogICAgICAgIDwvY29tbWFuZD4KICAgICAgICA8Y29tbWFuZCBuYW1lPSJ1cGRhdGVfZ3JvdXAiIG1ldGhvZD0iUFVUIiB1cmk9Imdyb3Vwcy97e2lkfX0uanNvbiI+CiAgICAgICAgICAgIDxkb2M+VXBkYXRlIGEgZ3JvdXA8L2RvYz4KICAgICAgICAgICAgPHBhcmFtIG5hbWU9ImlkIiB0eXBlPSJpbnRlZ2VyIiByZXF1aXJlZD0idHJ1ZSIvPgogICAgICAgICAgICA8cGFyYW0gbmFtZT0iZGF0YSIgdHlwZT0iYXJyYXkiIGxvY2F0aW9uPSJib2R5IiBmaWx0ZXJzPSJqc29uX2VuY29kZSIgZG9jPSJHcm91cCBKU09OIi8+CiAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJDb250ZW50LVR5cGUiIGxvY2F0aW9uPSJoZWFkZXIiIHN0YXRpYz0iYXBwbGljYXRpb24vanNvbiIvPgogICAgICAgIDwvY29tbWFuZD4KICAgIDwvY29tbWFuZHM+CjwvY2xpZW50PgpgYGAKCioqQWZ0ZXIqKgoKYGBganNvbgp7CiAgICAibmFtZSI6ICAgICAgICJaZW5kZXNrIFJFU1QgQVBJIHYyIiwKICAgICJhcGlWZXJzaW9uIjogIjIwMTItMTItMzEiLAogICAgImRlc2NyaXB0aW9uIjoiUHJvdmlkZXMgYWNjZXNzIHRvIFplbmRlc2sgdmlld3MsIGdyb3VwcywgdGlja2V0cywgdGlja2V0IGZpZWxkcywgYW5kIHVzZXJzIiwKICAgICJvcGVyYXRpb25zIjogewogICAgICAgICJsaXN0X2dyb3VwcyI6ICB7CiAgICAgICAgICAgICJodHRwTWV0aG9kIjoiR0VUIiwKICAgICAgICAgICAgInVyaSI6ICAgICAgICJncm91cHMuanNvbiIsCiAgICAgICAgICAgICJzdW1tYXJ5IjogICAiR2V0IGEgbGlzdCBvZiBncm91cHMiCiAgICAgICAgfSwKICAgICAgICAic2VhcmNoX2dyb3VwcyI6ewogICAgICAgICAgICAiaHR0cE1ldGhvZCI6IkdFVCIsCiAgICAgICAgICAgICJ1cmkiOiAgICAgICAic2VhcmNoLmpzb24/cXVlcnk9XCJ7cXVlcnl9IHR5cGU6Z3JvdXBcIiIsCiAgICAgICAgICAgICJzdW1tYXJ5IjogICAiVXNlcyBhIHNlYXJjaCBxdWVyeSB0byBnZXQgYSBsaXN0IG9mIGdyb3VwcyIsCiAgICAgICAgICAgICJwYXJhbWV0ZXJzIjp7CiAgICAgICAgICAgICAgICAicXVlcnkiOnsKICAgICAgICAgICAgICAgICAgICAibG9jYXRpb24iOiAgICJ1cmkiLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IlplbmRlc2sgU2VhcmNoIFF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6ICAgdHJ1ZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAiY3JlYXRlX2dyb3VwIjogewogICAgICAgICAgICAiaHR0cE1ldGhvZCI6IlBPU1QiLAogICAgICAgICAgICAidXJpIjogICAgICAgImdyb3Vwcy5qc29uIiwKICAgICAgICAgICAgInN1bW1hcnkiOiAgICJDcmVhdGUgYSBncm91cCIsCiAgICAgICAgICAgICJwYXJhbWV0ZXJzIjp7CiAgICAgICAgICAgICAgICAiZGF0YSI6ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAgICAgICAiYXJyYXkiLAogICAgICAgICAgICAgICAgICAgICJsb2NhdGlvbiI6ICAgImJvZHkiLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ikdyb3VwIEpTT04iLAogICAgICAgICAgICAgICAgICAgICJmaWx0ZXJzIjogICAgImpzb25fZW5jb2RlIiwKICAgICAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiAgIHRydWUKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAiQ29udGVudC1UeXBlIjp7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAibG9jYXRpb24iOiJoZWFkZXIiLAogICAgICAgICAgICAgICAgICAgICJzdGF0aWMiOiAgImFwcGxpY2F0aW9uL2pzb24iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJkZWxldGVfZ3JvdXAiOiB7CiAgICAgICAgICAgICJodHRwTWV0aG9kIjoiREVMRVRFIiwKICAgICAgICAgICAgInVyaSI6ICAgICAgICJncm91cHMve2lkfS5qc29uIiwKICAgICAgICAgICAgInN1bW1hcnkiOiAgICJEZWxldGUgYSBncm91cCIsCiAgICAgICAgICAgICJwYXJhbWV0ZXJzIjp7CiAgICAgICAgICAgICAgICAiaWQiOnsKICAgICAgICAgICAgICAgICAgICAibG9jYXRpb24iOiAgICJ1cmkiLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ikdyb3VwIHRvIGRlbGV0ZSBieSBJRCIsCiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAgICAgICAiaW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgInJlcXVpcmVkIjogICB0cnVlCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJnZXRfZ3JvdXAiOiAgICB7CiAgICAgICAgICAgICJodHRwTWV0aG9kIjoiR0VUIiwKICAgICAgICAgICAgInVyaSI6ICAgICAgICJncm91cHMve2lkfS5qc29uIiwKICAgICAgICAgICAgInN1bW1hcnkiOiAgICJHZXQgYSB0aWNrZXQiLAogICAgICAgICAgICAicGFyYW1ldGVycyI6ewogICAgICAgICAgICAgICAgImlkIjp7CiAgICAgICAgICAgICAgICAgICAgImxvY2F0aW9uIjogICAidXJpIiwKICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJHcm91cCB0byBnZXQgYnkgSUQiLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogICAgICAgImludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6ICAgdHJ1ZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAidXBkYXRlX2dyb3VwIjogewogICAgICAgICAgICAiaHR0cE1ldGhvZCI6IlBVVCIsCiAgICAgICAgICAgICJ1cmkiOiAgICAgICAiZ3JvdXBzL3tpZH0uanNvbiIsCiAgICAgICAgICAgICJzdW1tYXJ5IjogICAiVXBkYXRlIGEgZ3JvdXAiLAogICAgICAgICAgICAicGFyYW1ldGVycyI6ewogICAgICAgICAgICAgICAgImlkIjogICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJsb2NhdGlvbiI6ICAgInVyaSIsCiAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjoiR3JvdXAgdG8gdXBkYXRlIGJ5IElEIiwKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICAgICAgICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiAgIHRydWUKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAiZGF0YSI6ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAgICAgICAiYXJyYXkiLAogICAgICAgICAgICAgICAgICAgICJsb2NhdGlvbiI6ICAgImJvZHkiLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ikdyb3VwIEpTT04iLAogICAgICAgICAgICAgICAgICAgICJmaWx0ZXJzIjogICAgImpzb25fZW5jb2RlIiwKICAgICAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiAgIHRydWUKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAiQ29udGVudC1UeXBlIjp7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAibG9jYXRpb24iOiJoZWFkZXIiLAogICAgICAgICAgICAgICAgICAgICJzdGF0aWMiOiAgImFwcGxpY2F0aW9uL2pzb24iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9Cn0KYGBgCgojIyMgR3V6emxlXFNlcnZpY2VcRGVzY3JpcHRpb25cU2VydmljZURlc2NyaXB0aW9uCgpDb21tYW5kcyBhcmUgbm93IGNhbGxlZCBPcGVyYXRpb25zCgoqKkJlZm9yZSoqCgpgYGBwaHAKdXNlIEd1enpsZVxTZXJ2aWNlXERlc2NyaXB0aW9uXFNlcnZpY2VEZXNjcmlwdGlvbjsKCiRzZCA9IG5ldyBTZXJ2aWNlRGVzY3JpcHRpb24oKTsKJHNkLT5nZXRDb21tYW5kcygpOyAgICAgLy8gQHJldHVybnMgQXBpQ29tbWFuZEludGVyZmFjZVtdCiRzZC0+aGFzQ29tbWFuZCgkbmFtZSk7CiRzZC0+Z2V0Q29tbWFuZCgkbmFtZSk7IC8vIEByZXR1cm5zIEFwaUNvbW1hbmRJbnRlcmZhY2V8bnVsbAokc2QtPmFkZENvbW1hbmQoJGNvbW1hbmQpOyAvLyBAcGFyYW0gQXBpQ29tbWFuZEludGVyZmFjZSAkY29tbWFuZApgYGAKCioqQWZ0ZXIqKgoKYGBgcGhwCnVzZSBHdXp6bGVcU2VydmljZVxEZXNjcmlwdGlvblxTZXJ2aWNlRGVzY3JpcHRpb247Cgokc2QgPSBuZXcgU2VydmljZURlc2NyaXB0aW9uKCk7CiRzZC0+Z2V0T3BlcmF0aW9ucygpOyAgICAgICAgICAgLy8gQHJldHVybnMgT3BlcmF0aW9uSW50ZXJmYWNlW10KJHNkLT5oYXNPcGVyYXRpb24oJG5hbWUpOwokc2QtPmdldE9wZXJhdGlvbigkbmFtZSk7ICAgICAgIC8vIEByZXR1cm5zIE9wZXJhdGlvbkludGVyZmFjZXxudWxsCiRzZC0+YWRkT3BlcmF0aW9uKCRvcGVyYXRpb24pOyAgLy8gQHBhcmFtIE9wZXJhdGlvbkludGVyZmFjZSAkb3BlcmF0aW9uCmBgYAoKIyMjIEd1enpsZVxDb21tb25cSW5mbGVjdGlvblxJbmZsZWN0b3IKCk5hbWVzcGFjZSBpcyBub3cgYEd1enpsZVxJbmZsZWN0aW9uXEluZmxlY3RvcmAKCiMjIyBHdXp6bGVcSHR0cFxQbHVnaW4KCk5hbWVzcGFjZSBpcyBub3cgYEd1enpsZVxQbHVnaW5gLiBNYW55IG90aGVyIGNoYW5nZXMgb2NjdXIgd2l0aGluIHRoaXMgbmFtZXNwYWNlIGFuZCBhcmUgZGV0YWlsZWQgaW4gdGhlaXIgb3duIHNlY3Rpb25zIGJlbG93LgoKIyMjIEd1enpsZVxIdHRwXFBsdWdpblxMb2dQbHVnaW4gYW5kIEd1enpsZVxDb21tb25cTG9nCgpOb3cgYEd1enpsZVxQbHVnaW5cTG9nXExvZ1BsdWdpbmAgYW5kIGBHdXp6bGVcTG9nYCByZXNwZWN0aXZlbHkuCgoqKkJlZm9yZSoqCgpgYGBwaHAKdXNlIEd1enpsZVxDb21tb25cTG9nXENsb3N1cmVMb2dBZGFwdGVyOwp1c2UgR3V6emxlXEh0dHBcUGx1Z2luXExvZ1BsdWdpbjsKCi8qKiBAdmFyIFxHdXp6bGVcSHR0cFxDbGllbnQgKi8KJGNsaWVudDsKCi8vICR2ZXJib3NpdHkgaXMgYW4gaW50ZWdlciBpbmRpY2F0aW5nIGRlc2lyZWQgbWVzc2FnZSB2ZXJib3NpdHkgbGV2ZWwKJGNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgTG9nUGx1Z2luKG5ldyBDbG9zdXJlTG9nQWRhcHRlcihmdW5jdGlvbigkbSkgeyBlY2hvICRtOyB9LCAkdmVyYm9zaXR5ID0gTG9nUGx1Z2luOjpMT0dfVkVSQk9TRSk7CmBgYAoKKipBZnRlcioqCgpgYGBwaHAKdXNlIEd1enpsZVxMb2dcQ2xvc3VyZUxvZ0FkYXB0ZXI7CnVzZSBHdXp6bGVcTG9nXE1lc3NhZ2VGb3JtYXR0ZXI7CnVzZSBHdXp6bGVcUGx1Z2luXExvZ1xMb2dQbHVnaW47CgovKiogQHZhciBcR3V6emxlXEh0dHBcQ2xpZW50ICovCiRjbGllbnQ7CgovLyAkZm9ybWF0IGlzIGEgc3RyaW5nIGluZGljYXRpbmcgZGVzaXJlZCBtZXNzYWdlIGZvcm1hdCAtLSBAc2VlIE1lc3NhZ2VGb3JtYXR0ZXIKJGNsaWVudC0+YWRkU3Vic2NyaWJlcihuZXcgTG9nUGx1Z2luKG5ldyBDbG9zdXJlTG9nQWRhcHRlcihmdW5jdGlvbigkbSkgeyBlY2hvICRtOyB9LCAkZm9ybWF0ID0gTWVzc2FnZUZvcm1hdHRlcjo6REVCVUdfRk9STUFUKTsKYGBgCgojIyMgR3V6emxlXEh0dHBcUGx1Z2luXEN1cmxBdXRoUGx1Z2luCgpOb3cgYEd1enpsZVxQbHVnaW5cQ3VybEF1dGhcQ3VybEF1dGhQbHVnaW5gLgoKIyMjIEd1enpsZVxIdHRwXFBsdWdpblxFeHBvbmVudGlhbEJhY2tvZmZQbHVnaW4KCk5vdyBgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEJhY2tvZmZQbHVnaW5gLCBhbmQgb3RoZXIgY2hhbmdlcy4KCioqQmVmb3JlKioKCmBgYHBocAp1c2UgR3V6emxlXEh0dHBcUGx1Z2luXEV4cG9uZW50aWFsQmFja29mZlBsdWdpbjsKCiRiYWNrb2ZmUGx1Z2luID0gbmV3IEV4cG9uZW50aWFsQmFja29mZlBsdWdpbigkbWF4UmV0cmllcywgYXJyYXlfbWVyZ2UoCiAgICAgICAgRXhwb25lbnRpYWxCYWNrb2ZmUGx1Z2luOjpnZXREZWZhdWx0RmFpbHVyZUNvZGVzKCksIGFycmF5KDQyOSkKICAgICkpOwoKJGNsaWVudC0+YWRkU3Vic2NyaWJlcigkYmFja29mZlBsdWdpbik7CmBgYAoKKipBZnRlcioqCgpgYGBwaHAKdXNlIEd1enpsZVxQbHVnaW5cQmFja29mZlxCYWNrb2ZmUGx1Z2luOwp1c2UgR3V6emxlXFBsdWdpblxCYWNrb2ZmXEh0dHBCYWNrb2ZmU3RyYXRlZ3k7CgovLyBVc2UgY29udmVuaWVudCBmYWN0b3J5IG1ldGhvZCBpbnN0ZWFkIC0tIHNlZSBpbXBsZW1lbnRhdGlvbiBmb3IgaWRlYXMgb2Ygd2hhdAovLyB5b3UgY2FuIGRvIHdpdGggY2hhaW5pbmcgYmFja29mZiBzdHJhdGVnaWVzCiRiYWNrb2ZmUGx1Z2luID0gQmFja29mZlBsdWdpbjo6Z2V0RXhwb25lbnRpYWxCYWNrb2ZmKCRtYXhSZXRyaWVzLCBhcnJheV9tZXJnZSgKICAgICAgICBIdHRwQmFja29mZlN0cmF0ZWd5OjpnZXREZWZhdWx0RmFpbHVyZUNvZGVzKCksIGFycmF5KDQyOSkKICAgICkpOwokY2xpZW50LT5hZGRTdWJzY3JpYmVyKCRiYWNrb2ZmUGx1Z2luKTsKYGBgCgojIyMgS25vd24gSXNzdWVzCgojIyMjIFtCVUddIEFjY2VwdC1FbmNvZGluZyBoZWFkZXIgYmVoYXZpb3IgY2hhbmdlZCB1bmludGVudGlvbmFsbHkuCgooU2VlICMyMTcpIChGaXhlZCBpbiAwOWRhZWI4YzY2NmZiNDQ0OTlhMDY0NmQ2NTVhOGFlMzY0NTY1NzVlKQoKSW4gdmVyc2lvbiAyLjggc2V0dGluZyB0aGUgYEFjY2VwdC1FbmNvZGluZ2AgaGVhZGVyIHdvdWxkIHNldCB0aGUgQ1VSTE9QVF9FTkNPRElORyBvcHRpb24sIHdoaWNoIHBlcm1pdHRlZCBjVVJMIHRvCnByb3Blcmx5IGhhbmRsZSBnemlwL2RlZmxhdGUgY29tcHJlc3NlZCByZXNwb25zZXMgZnJvbSB0aGUgc2VydmVyLiBJbiB2ZXJzaW9ucyBhZmZlY3RlZCBieSB0aGlzIGJ1ZyB0aGlzIGRvZXMgbm90IGhhcHBlbi4KU2VlIGlzc3VlICMyMTcgZm9yIGEgd29ya2Fyb3VuZCwgb3IgdXNlIGEgdmVyc2lvbiBjb250YWluaW5nIHRoZSBmaXguCg==]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/CHANGELOG.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q0hBTkdFTE9HCj09PT09PT09PQoKMi4xLjAKLS0tLS0KCiAqIGFkZGVkIFRyYWNlYWJsZUV2ZW50RGlzcGF0Y2hlckludGVyZmFjZQogKiBhZGRlZCBDb250YWluZXJBd2FyZUV2ZW50RGlzcGF0Y2hlcgogKiBhZGRlZCBhIHJlZmVyZW5jZSB0byB0aGUgRXZlbnREaXNwYXRjaGVyIG9uIHRoZSBFdmVudAogKiBhZGRlZCBhIHJlZmVyZW5jZSB0byB0aGUgRXZlbnQgbmFtZSBvbiB0aGUgZXZlbnQKICogYWRkZWQgZmx1aWQgaW50ZXJmYWNlIHRvIHRoZSBkaXNwYXRjaCgpIG1ldGhvZCB3aGljaCBub3cgcmV0dXJucyB0aGUgRXZlbnQKICAgb2JqZWN0CiAqIGFkZGVkIEdlbmVyaWNFdmVudCBldmVudCBjbGFzcwogKiBhZGRlZCB0aGUgcG9zc2liaWxpdHkgZm9yIHN1YnNjcmliZXJzIHRvIHN1YnNjcmliZSBzZXZlcmFsIHRpbWVzIGZvciB0aGUKICAgc2FtZSBldmVudAogKiBhZGRlZCBJbW11dGFibGVFdmVudERpc3BhdGNoZXIK]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAic3ltZm9ueS9ldmVudC1kaXNwYXRjaGVyIiwKICAgICJ0eXBlIjogImxpYnJhcnkiLAogICAgImRlc2NyaXB0aW9uIjogIlN5bWZvbnkgRXZlbnREaXNwYXRjaGVyIENvbXBvbmVudCIsCiAgICAia2V5d29yZHMiOiBbXSwKICAgICJob21lcGFnZSI6ICJodHRwOi8vc3ltZm9ueS5jb20iLAogICAgImxpY2Vuc2UiOiAiTUlUIiwKICAgICJhdXRob3JzIjogWwogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAiRmFiaWVuIFBvdGVuY2llciIsCiAgICAgICAgICAgICJlbWFpbCI6ICJmYWJpZW5Ac3ltZm9ueS5jb20iCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogIlN5bWZvbnkgQ29tbXVuaXR5IiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHA6Ly9zeW1mb255LmNvbS9jb250cmlidXRvcnMiCiAgICAgICAgfQogICAgXSwKICAgICJyZXF1aXJlIjogewogICAgICAgICJwaHAiOiAiPj01LjMuMyIKICAgIH0sCiAgICAicmVxdWlyZS1kZXYiOiB7CiAgICAgICAgInN5bWZvbnkvZGVwZW5kZW5jeS1pbmplY3Rpb24iOiAifjIuMCIKICAgIH0sCiAgICAic3VnZ2VzdCI6IHsKICAgICAgICAic3ltZm9ueS9kZXBlbmRlbmN5LWluamVjdGlvbiI6ICIiLAogICAgICAgICJzeW1mb255L2h0dHAta2VybmVsIjogIiIKICAgIH0sCiAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgInBzci0wIjogeyAiU3ltZm9ueVxcQ29tcG9uZW50XFxFdmVudERpc3BhdGNoZXJcXCI6ICIiIH0KICAgIH0sCiAgICAidGFyZ2V0LWRpciI6ICJTeW1mb255L0NvbXBvbmVudC9FdmVudERpc3BhdGNoZXIiLAogICAgIm1pbmltdW0tc3RhYmlsaXR5IjogImRldiIsCiAgICAiZXh0cmEiOiB7CiAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMi40LWRldiIKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ContainerAwareEventDispatcher.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBTeW1mb255IHBhY2thZ2UuCiAqCiAqIChjKSBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKi8KCm5hbWVzcGFjZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXI7Cgp1c2UgU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxDb250YWluZXJJbnRlcmZhY2U7CgovKioKICogTGF6aWx5IGxvYWRzIGxpc3RlbmVycyBhbmQgc3Vic2NyaWJlcnMgZnJvbSB0aGUgZGVwZW5kZW5jeSBpbmplY3Rpb24KICogY29udGFpbmVyCiAqCiAqIEBhdXRob3IgRmFiaWVuIFBvdGVuY2llciA8ZmFiaWVuQHN5bWZvbnkuY29tPgogKiBAYXV0aG9yIEJlcm5oYXJkIFNjaHVzc2VrIDxic2NodXNzZWtAZ21haWwuY29tPgogKiBAYXV0aG9yIEpvcmRhbiBBbGxpb3QgPGpvcmRhbi5hbGxpb3RAZ21haWwuY29tPgogKi8KY2xhc3MgQ29udGFpbmVyQXdhcmVFdmVudERpc3BhdGNoZXIgZXh0ZW5kcyBFdmVudERpc3BhdGNoZXIKewogICAgLyoqCiAgICAgKiBUaGUgY29udGFpbmVyIGZyb20gd2hlcmUgc2VydmljZXMgYXJlIGxvYWRlZAogICAgICogQHZhciBDb250YWluZXJJbnRlcmZhY2UKICAgICAqLwogICAgcHJpdmF0ZSAkY29udGFpbmVyOwoKICAgIC8qKgogICAgICogVGhlIHNlcnZpY2UgSURzIG9mIHRoZSBldmVudCBsaXN0ZW5lcnMgYW5kIHN1YnNjcmliZXJzCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKi8KICAgIHByaXZhdGUgJGxpc3RlbmVySWRzID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIFRoZSBzZXJ2aWNlcyByZWdpc3RlcmVkIGFzIGxpc3RlbmVycwogICAgICogQHZhciBhcnJheQogICAgICovCiAgICBwcml2YXRlICRsaXN0ZW5lcnMgPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogQ29uc3RydWN0b3IuCiAgICAgKgogICAgICogQHBhcmFtIENvbnRhaW5lckludGVyZmFjZSAkY29udGFpbmVyIEEgQ29udGFpbmVySW50ZXJmYWNlIGluc3RhbmNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChDb250YWluZXJJbnRlcmZhY2UgJGNvbnRhaW5lcikKICAgIHsKICAgICAgICAkdGhpcy0+Y29udGFpbmVyID0gJGNvbnRhaW5lcjsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZHMgYSBzZXJ2aWNlIGFzIGV2ZW50IGxpc3RlbmVyCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZXZlbnROYW1lIEV2ZW50IGZvciB3aGljaCB0aGUgbGlzdGVuZXIgaXMgYWRkZWQKICAgICAqIEBwYXJhbSBhcnJheSAgJGNhbGxiYWNrICBUaGUgc2VydmljZSBJRCBvZiB0aGUgbGlzdGVuZXIgc2VydmljZSAmIHRoZSBtZXRob2QKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgdGhhdCBoYXMgdG8gYmUgY2FsbGVkCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcHJpb3JpdHkgVGhlIGhpZ2hlciB0aGlzIHZhbHVlLCB0aGUgZWFybGllciBhbiBldmVudCBsaXN0ZW5lcgogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbCBiZSB0cmlnZ2VyZWQgaW4gdGhlIGNoYWluLgogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdHMgdG8gMC4KICAgICAqCiAgICAgKiBAdGhyb3dzIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZExpc3RlbmVyU2VydmljZSgkZXZlbnROYW1lLCAkY2FsbGJhY2ssICRwcmlvcml0eSA9IDApCiAgICB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkY2FsbGJhY2spIHx8IDIgIT09IGNvdW50KCRjYWxsYmFjaykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0V4cGVjdGVkIGFuIGFycmF5KCJzZXJ2aWNlIiwgIm1ldGhvZCIpIGFyZ3VtZW50Jyk7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+bGlzdGVuZXJJZHNbJGV2ZW50TmFtZV1bXSA9IGFycmF5KCRjYWxsYmFja1swXSwgJGNhbGxiYWNrWzFdLCAkcHJpb3JpdHkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVMaXN0ZW5lcigkZXZlbnROYW1lLCAkbGlzdGVuZXIpCiAgICB7CiAgICAgICAgJHRoaXMtPmxhenlMb2FkKCRldmVudE5hbWUpOwoKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPmxpc3RlbmVyc1skZXZlbnROYW1lXSkpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmxpc3RlbmVyc1skZXZlbnROYW1lXSBhcyAka2V5ID0+ICRsKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+bGlzdGVuZXJJZHNbJGV2ZW50TmFtZV0gYXMgJGkgPT4gJGFyZ3MpIHsKICAgICAgICAgICAgICAgICAgICBsaXN0KCRzZXJ2aWNlSWQsICRtZXRob2QsICRwcmlvcml0eSkgPSAkYXJnczsKICAgICAgICAgICAgICAgICAgICBpZiAoJGtleSA9PT0gJHNlcnZpY2VJZC4nLicuJG1ldGhvZCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGxpc3RlbmVyID09PSBhcnJheSgkbCwgJG1ldGhvZCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5saXN0ZW5lcnNbJGV2ZW50TmFtZV1bJGtleV0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVtcHR5KCR0aGlzLT5saXN0ZW5lcnNbJGV2ZW50TmFtZV0pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zZXQoJHRoaXMtPmxpc3RlbmVyc1skZXZlbnROYW1lXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNldCgkdGhpcy0+bGlzdGVuZXJJZHNbJGV2ZW50TmFtZV1bJGldKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbXB0eSgkdGhpcy0+bGlzdGVuZXJJZHNbJGV2ZW50TmFtZV0pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zZXQoJHRoaXMtPmxpc3RlbmVySWRzWyRldmVudE5hbWVdKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcGFyZW50OjpyZW1vdmVMaXN0ZW5lcigkZXZlbnROYW1lLCAkbGlzdGVuZXIpOwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBFdmVudERpc3BhdGNoZXJJbnRlcmZhY2U6Omhhc0xpc3RlbmVycwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzTGlzdGVuZXJzKCRldmVudE5hbWUgPSBudWxsKQogICAgewogICAgICAgIGlmIChudWxsID09PSAkZXZlbnROYW1lKSB7CiAgICAgICAgICAgIHJldHVybiAoQm9vbGVhbikgY291bnQoJHRoaXMtPmxpc3RlbmVySWRzKSB8fCAoQm9vbGVhbikgY291bnQoJHRoaXMtPmxpc3RlbmVycyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPmxpc3RlbmVySWRzWyRldmVudE5hbWVdKSkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBwYXJlbnQ6Omhhc0xpc3RlbmVycygkZXZlbnROYW1lKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlOjpnZXRMaXN0ZW5lcnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldExpc3RlbmVycygkZXZlbnROYW1lID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAobnVsbCA9PT0gJGV2ZW50TmFtZSkgewogICAgICAgICAgICBmb3JlYWNoIChhcnJheV9rZXlzKCR0aGlzLT5saXN0ZW5lcklkcykgYXMgJHNlcnZpY2VFdmVudE5hbWUpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5sYXp5TG9hZCgkc2VydmljZUV2ZW50TmFtZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+bGF6eUxvYWQoJGV2ZW50TmFtZSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gcGFyZW50OjpnZXRMaXN0ZW5lcnMoJGV2ZW50TmFtZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGRzIGEgc2VydmljZSBhcyBldmVudCBzdWJzY3JpYmVyCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkc2VydmljZUlkIFRoZSBzZXJ2aWNlIElEIG9mIHRoZSBzdWJzY3JpYmVyIHNlcnZpY2UKICAgICAqIEBwYXJhbSBzdHJpbmcgJGNsYXNzICAgICBUaGUgc2VydmljZSdzIGNsYXNzIG5hbWUgKHdoaWNoIG11c3QgaW1wbGVtZW50IEV2ZW50U3Vic2NyaWJlckludGVyZmFjZSkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZFN1YnNjcmliZXJTZXJ2aWNlKCRzZXJ2aWNlSWQsICRjbGFzcykKICAgIHsKICAgICAgICBmb3JlYWNoICgkY2xhc3M6OmdldFN1YnNjcmliZWRFdmVudHMoKSBhcyAkZXZlbnROYW1lID0+ICRwYXJhbXMpIHsKICAgICAgICAgICAgaWYgKGlzX3N0cmluZygkcGFyYW1zKSkgewogICAgICAgICAgICAgICAgJHRoaXMtPmxpc3RlbmVySWRzWyRldmVudE5hbWVdW10gPSBhcnJheSgkc2VydmljZUlkLCAkcGFyYW1zLCAwKTsKICAgICAgICAgICAgfSBlbHNlaWYgKGlzX3N0cmluZygkcGFyYW1zWzBdKSkgewogICAgICAgICAgICAgICAgJHRoaXMtPmxpc3RlbmVySWRzWyRldmVudE5hbWVdW10gPSBhcnJheSgkc2VydmljZUlkLCAkcGFyYW1zWzBdLCBpc3NldCgkcGFyYW1zWzFdKSA/ICRwYXJhbXNbMV0gOiAwKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRwYXJhbXMgYXMgJGxpc3RlbmVyKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmxpc3RlbmVySWRzWyRldmVudE5hbWVdW10gPSBhcnJheSgkc2VydmljZUlkLCAkbGlzdGVuZXJbMF0sIGlzc2V0KCRsaXN0ZW5lclsxXSkgPyAkbGlzdGVuZXJbMV0gOiAwKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdERvY30KICAgICAqCiAgICAgKiBMYXppbHkgbG9hZHMgbGlzdGVuZXJzIGZvciB0aGlzIGV2ZW50IGZyb20gdGhlIGRlcGVuZGVuY3kgaW5qZWN0aW9uCiAgICAgKiBjb250YWluZXIuCiAgICAgKgogICAgICogQHRocm93cyBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGlmIHRoZSBzZXJ2aWNlIGlzIG5vdCBkZWZpbmVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBkaXNwYXRjaCgkZXZlbnROYW1lLCBFdmVudCAkZXZlbnQgPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5sYXp5TG9hZCgkZXZlbnROYW1lKTsKCiAgICAgICAgcmV0dXJuIHBhcmVudDo6ZGlzcGF0Y2goJGV2ZW50TmFtZSwgJGV2ZW50KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29udGFpbmVyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNvbnRhaW5lcjsKICAgIH0KCiAgICAvKioKICAgICAqIExhemlseSBsb2FkcyBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnQgZnJvbSB0aGUgZGVwZW5kZW5jeSBpbmplY3Rpb24KICAgICAqIGNvbnRhaW5lci4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRldmVudE5hbWUgVGhlIG5hbWUgb2YgdGhlIGV2ZW50IHRvIGRpc3BhdGNoLiBUaGUgbmFtZSBvZgogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBldmVudCBpcyB0aGUgbmFtZSBvZiB0aGUgbWV0aG9kIHRoYXQgaXMKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICBpbnZva2VkIG9uIGxpc3RlbmVycy4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGxhenlMb2FkKCRldmVudE5hbWUpCiAgICB7CiAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5saXN0ZW5lcklkc1skZXZlbnROYW1lXSkpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmxpc3RlbmVySWRzWyRldmVudE5hbWVdIGFzICRhcmdzKSB7CiAgICAgICAgICAgICAgICBsaXN0KCRzZXJ2aWNlSWQsICRtZXRob2QsICRwcmlvcml0eSkgPSAkYXJnczsKICAgICAgICAgICAgICAgICRsaXN0ZW5lciA9ICR0aGlzLT5jb250YWluZXItPmdldCgkc2VydmljZUlkKTsKCiAgICAgICAgICAgICAgICAka2V5ID0gJHNlcnZpY2VJZC4nLicuJG1ldGhvZDsKICAgICAgICAgICAgICAgIGlmICghaXNzZXQoJHRoaXMtPmxpc3RlbmVyc1skZXZlbnROYW1lXVska2V5XSkpIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+YWRkTGlzdGVuZXIoJGV2ZW50TmFtZSwgYXJyYXkoJGxpc3RlbmVyLCAkbWV0aG9kKSwgJHByaW9yaXR5KTsKICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkbGlzdGVuZXIgIT09ICR0aGlzLT5saXN0ZW5lcnNbJGV2ZW50TmFtZV1bJGtleV0pIHsKICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6OnJlbW92ZUxpc3RlbmVyKCRldmVudE5hbWUsIGFycmF5KCR0aGlzLT5saXN0ZW5lcnNbJGV2ZW50TmFtZV1bJGtleV0sICRtZXRob2QpKTsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+YWRkTGlzdGVuZXIoJGV2ZW50TmFtZSwgYXJyYXkoJGxpc3RlbmVyLCAkbWV0aG9kKSwgJHByaW9yaXR5KTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkdGhpcy0+bGlzdGVuZXJzWyRldmVudE5hbWVdWyRrZXldID0gJGxpc3RlbmVyOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBTeW1mb255IHBhY2thZ2UuCiAqCiAqIChjKSBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKi8KCm5hbWVzcGFjZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRGVidWc7CgovKioKICogQGF1dGhvciBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqLwppbnRlcmZhY2UgVHJhY2VhYmxlRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogR2V0cyB0aGUgY2FsbGVkIGxpc3RlbmVycy4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IEFuIGFycmF5IG9mIGNhbGxlZCBsaXN0ZW5lcnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENhbGxlZExpc3RlbmVycygpOwoKICAgIC8qKgogICAgICogR2V0cyB0aGUgbm90IGNhbGxlZCBsaXN0ZW5lcnMuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheSBBbiBhcnJheSBvZiBub3QgY2FsbGVkIGxpc3RlbmVycwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Tm90Q2FsbGVkTGlzdGVuZXJzKCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Event.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBTeW1mb255IHBhY2thZ2UuCiAqCiAqIChjKSBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKi8KCm5hbWVzcGFjZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXI7CgovKioKICogRXZlbnQgaXMgdGhlIGJhc2UgY2xhc3MgZm9yIGNsYXNzZXMgY29udGFpbmluZyBldmVudCBkYXRhLgogKgogKiBUaGlzIGNsYXNzIGNvbnRhaW5zIG5vIGV2ZW50IGRhdGEuIEl0IGlzIHVzZWQgYnkgZXZlbnRzIHRoYXQgZG8gbm90IHBhc3MKICogc3RhdGUgaW5mb3JtYXRpb24gdG8gYW4gZXZlbnQgaGFuZGxlciB3aGVuIGFuIGV2ZW50IGlzIHJhaXNlZC4KICoKICogWW91IGNhbiBjYWxsIHRoZSBtZXRob2Qgc3RvcFByb3BhZ2F0aW9uKCkgdG8gYWJvcnQgdGhlIGV4ZWN1dGlvbiBvZgogKiBmdXJ0aGVyIGxpc3RlbmVycyBpbiB5b3VyIGV2ZW50IGxpc3RlbmVyLgogKgogKiBAYXV0aG9yICBHdWlsaGVybWUgQmxhbmNvIDxndWlsaGVybWVibGFuY29AaG90bWFpbC5jb20+CiAqIEBhdXRob3IgIEpvbmF0aGFuIFdhZ2UgPGpvbndhZ2VAZ21haWwuY29tPgogKiBAYXV0aG9yICBSb21hbiBCb3JzY2hlbCA8cm9tYW5AY29kZS1mYWN0b3J5Lm9yZz4KICogQGF1dGhvciAgQmVybmhhcmQgU2NodXNzZWsgPGJzY2h1c3Nla0BnbWFpbC5jb20+CiAqCiAqIEBhcGkKICovCmNsYXNzIEV2ZW50CnsKICAgIC8qKgogICAgICogQHZhciBCb29sZWFuIFdoZXRoZXIgbm8gZnVydGhlciBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIGJlIHRyaWdnZXJlZAogICAgICovCiAgICBwcml2YXRlICRwcm9wYWdhdGlvblN0b3BwZWQgPSBmYWxzZTsKCiAgICAvKioKICAgICAqIEB2YXIgRXZlbnREaXNwYXRjaGVyIERpc3BhdGNoZXIgdGhhdCBkaXNwYXRjaGVkIHRoaXMgZXZlbnQKICAgICAqLwogICAgcHJpdmF0ZSAkZGlzcGF0Y2hlcjsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRoaXMgZXZlbnQncyBuYW1lCiAgICAgKi8KICAgIHByaXZhdGUgJG5hbWU7CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgZnVydGhlciBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIGJlIHRyaWdnZXJlZC4KICAgICAqCiAgICAgKiBAc2VlIEV2ZW50OjpzdG9wUHJvcGFnYXRpb24KICAgICAqIEByZXR1cm4gQm9vbGVhbiBXaGV0aGVyIHByb3BhZ2F0aW9uIHdhcyBhbHJlYWR5IHN0b3BwZWQgZm9yIHRoaXMgZXZlbnQuCiAgICAgKgogICAgICogQGFwaQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNQcm9wYWdhdGlvblN0b3BwZWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cHJvcGFnYXRpb25TdG9wcGVkOwogICAgfQoKICAgIC8qKgogICAgICogU3RvcHMgdGhlIHByb3BhZ2F0aW9uIG9mIHRoZSBldmVudCB0byBmdXJ0aGVyIGV2ZW50IGxpc3RlbmVycy4KICAgICAqCiAgICAgKiBJZiBtdWx0aXBsZSBldmVudCBsaXN0ZW5lcnMgYXJlIGNvbm5lY3RlZCB0byB0aGUgc2FtZSBldmVudCwgbm8KICAgICAqIGZ1cnRoZXIgZXZlbnQgbGlzdGVuZXIgd2lsbCBiZSB0cmlnZ2VyZWQgb25jZSBhbnkgdHJpZ2dlciBjYWxscwogICAgICogc3RvcFByb3BhZ2F0aW9uKCkuCiAgICAgKgogICAgICogQGFwaQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc3RvcFByb3BhZ2F0aW9uKCkKICAgIHsKICAgICAgICAkdGhpcy0+cHJvcGFnYXRpb25TdG9wcGVkID0gdHJ1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIFN0b3JlcyB0aGUgRXZlbnREaXNwYXRjaGVyIHRoYXQgZGlzcGF0Y2hlcyB0aGlzIEV2ZW50CiAgICAgKgogICAgICogQHBhcmFtIEV2ZW50RGlzcGF0Y2hlckludGVyZmFjZSAkZGlzcGF0Y2hlcgogICAgICoKICAgICAqIEBkZXByZWNhdGVkIERlcHJlY2F0ZWQgaW4gMi40LCB0byBiZSByZW1vdmVkIGluIDMuMC4gVGhlIGV2ZW50IGRpc3BhdGNoZXIgaXMgcGFzc2VkIHRvIHRoZSBsaXN0ZW5lciBjYWxsLgogICAgICoKICAgICAqIEBhcGkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldERpc3BhdGNoZXIoRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlICRkaXNwYXRjaGVyKQogICAgewogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyID0gJGRpc3BhdGNoZXI7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBFdmVudERpc3BhdGNoZXIgdGhhdCBkaXNwYXRjaGVzIHRoaXMgRXZlbnQKICAgICAqCiAgICAgKiBAcmV0dXJuIEV2ZW50RGlzcGF0Y2hlckludGVyZmFjZQogICAgICoKICAgICAqIEBkZXByZWNhdGVkIERlcHJlY2F0ZWQgaW4gMi40LCB0byBiZSByZW1vdmVkIGluIDMuMC4gVGhlIGV2ZW50IGRpc3BhdGNoZXIgaXMgcGFzc2VkIHRvIHRoZSBsaXN0ZW5lciBjYWxsLgogICAgICoKICAgICAqIEBhcGkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldERpc3BhdGNoZXIoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZGlzcGF0Y2hlcjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldHMgdGhlIGV2ZW50J3MgbmFtZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICoKICAgICAqIEBkZXByZWNhdGVkIERlcHJlY2F0ZWQgaW4gMi40LCB0byBiZSByZW1vdmVkIGluIDMuMC4gVGhlIGV2ZW50IG5hbWUgaXMgcGFzc2VkIHRvIHRoZSBsaXN0ZW5lciBjYWxsLgogICAgICoKICAgICAqIEBhcGkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE5hbWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+bmFtZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldHMgdGhlIGV2ZW50J3MgbmFtZSBwcm9wZXJ0eS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIFRoZSBldmVudCBuYW1lLgogICAgICoKICAgICAqIEBkZXByZWNhdGVkIERlcHJlY2F0ZWQgaW4gMi40LCB0byBiZSByZW1vdmVkIGluIDMuMC4gVGhlIGV2ZW50IG5hbWUgaXMgcGFzc2VkIHRvIHRoZSBsaXN0ZW5lciBjYWxsLgogICAgICoKICAgICAqIEBhcGkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldE5hbWUoJG5hbWUpCiAgICB7CiAgICAgICAgJHRoaXMtPm5hbWUgPSAkbmFtZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBTeW1mb255IHBhY2thZ2UuCiAqCiAqIChjKSBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKi8KCm5hbWVzcGFjZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXI7CgovKioKICogVGhlIEV2ZW50RGlzcGF0Y2hlckludGVyZmFjZSBpcyB0aGUgY2VudHJhbCBwb2ludCBvZiBTeW1mb255J3MgZXZlbnQgbGlzdGVuZXIgc3lzdGVtLgogKgogKiBMaXN0ZW5lcnMgYXJlIHJlZ2lzdGVyZWQgb24gdGhlIG1hbmFnZXIgYW5kIGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCB0aHJvdWdoIHRoZQogKiBtYW5hZ2VyLgogKgogKiBAYXV0aG9yICBHdWlsaGVybWUgQmxhbmNvIDxndWlsaGVybWVibGFuY29AaG90bWFpbC5jb20+CiAqIEBhdXRob3IgIEpvbmF0aGFuIFdhZ2UgPGpvbndhZ2VAZ21haWwuY29tPgogKiBAYXV0aG9yICBSb21hbiBCb3JzY2hlbCA8cm9tYW5AY29kZS1mYWN0b3J5Lm9yZz4KICogQGF1dGhvciAgQmVybmhhcmQgU2NodXNzZWsgPGJzY2h1c3Nla0BnbWFpbC5jb20+CiAqIEBhdXRob3IgIEZhYmllbiBQb3RlbmNpZXIgPGZhYmllbkBzeW1mb255LmNvbT4KICogQGF1dGhvciAgSm9yZGkgQm9nZ2lhbm8gPGouYm9nZ2lhbm9Ac2VsZC5iZT4KICogQGF1dGhvciAgSm9yZGFuIEFsbGlvdCA8am9yZGFuLmFsbGlvdEBnbWFpbC5jb20+CiAqCiAqIEBhcGkKICovCmNsYXNzIEV2ZW50RGlzcGF0Y2hlciBpbXBsZW1lbnRzIEV2ZW50RGlzcGF0Y2hlckludGVyZmFjZQp7CiAgICBwcml2YXRlICRsaXN0ZW5lcnMgPSBhcnJheSgpOwogICAgcHJpdmF0ZSAkc29ydGVkID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIEBzZWUgRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlOjpkaXNwYXRjaAogICAgICoKICAgICAqIEBhcGkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRpc3BhdGNoKCRldmVudE5hbWUsIEV2ZW50ICRldmVudCA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKG51bGwgPT09ICRldmVudCkgewogICAgICAgICAgICAkZXZlbnQgPSBuZXcgRXZlbnQoKTsKICAgICAgICB9CgogICAgICAgICRldmVudC0+c2V0RGlzcGF0Y2hlcigkdGhpcyk7CiAgICAgICAgJGV2ZW50LT5zZXROYW1lKCRldmVudE5hbWUpOwoKICAgICAgICBpZiAoIWlzc2V0KCR0aGlzLT5saXN0ZW5lcnNbJGV2ZW50TmFtZV0pKSB7CiAgICAgICAgICAgIHJldHVybiAkZXZlbnQ7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+ZG9EaXNwYXRjaCgkdGhpcy0+Z2V0TGlzdGVuZXJzKCRldmVudE5hbWUpLCAkZXZlbnROYW1lLCAkZXZlbnQpOwoKICAgICAgICByZXR1cm4gJGV2ZW50OwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBFdmVudERpc3BhdGNoZXJJbnRlcmZhY2U6OmdldExpc3RlbmVycwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGlzdGVuZXJzKCRldmVudE5hbWUgPSBudWxsKQogICAgewogICAgICAgIGlmIChudWxsICE9PSAkZXZlbnROYW1lKSB7CiAgICAgICAgICAgIGlmICghaXNzZXQoJHRoaXMtPnNvcnRlZFskZXZlbnROYW1lXSkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5zb3J0TGlzdGVuZXJzKCRldmVudE5hbWUpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnNvcnRlZFskZXZlbnROYW1lXTsKICAgICAgICB9CgogICAgICAgIGZvcmVhY2ggKGFycmF5X2tleXMoJHRoaXMtPmxpc3RlbmVycykgYXMgJGV2ZW50TmFtZSkgewogICAgICAgICAgICBpZiAoIWlzc2V0KCR0aGlzLT5zb3J0ZWRbJGV2ZW50TmFtZV0pKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+c29ydExpc3RlbmVycygkZXZlbnROYW1lKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5zb3J0ZWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBAc2VlIEV2ZW50RGlzcGF0Y2hlckludGVyZmFjZTo6aGFzTGlzdGVuZXJzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNMaXN0ZW5lcnMoJGV2ZW50TmFtZSA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuIChCb29sZWFuKSBjb3VudCgkdGhpcy0+Z2V0TGlzdGVuZXJzKCRldmVudE5hbWUpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlOjphZGRMaXN0ZW5lcgogICAgICoKICAgICAqIEBhcGkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZExpc3RlbmVyKCRldmVudE5hbWUsICRsaXN0ZW5lciwgJHByaW9yaXR5ID0gMCkKICAgIHsKICAgICAgICAkdGhpcy0+bGlzdGVuZXJzWyRldmVudE5hbWVdWyRwcmlvcml0eV1bXSA9ICRsaXN0ZW5lcjsKICAgICAgICB1bnNldCgkdGhpcy0+c29ydGVkWyRldmVudE5hbWVdKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlOjpyZW1vdmVMaXN0ZW5lcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlTGlzdGVuZXIoJGV2ZW50TmFtZSwgJGxpc3RlbmVyKQogICAgewogICAgICAgIGlmICghaXNzZXQoJHRoaXMtPmxpc3RlbmVyc1skZXZlbnROYW1lXSkpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmxpc3RlbmVyc1skZXZlbnROYW1lXSBhcyAkcHJpb3JpdHkgPT4gJGxpc3RlbmVycykgewogICAgICAgICAgICBpZiAoZmFsc2UgIT09ICgka2V5ID0gYXJyYXlfc2VhcmNoKCRsaXN0ZW5lciwgJGxpc3RlbmVycywgdHJ1ZSkpKSB7CiAgICAgICAgICAgICAgICB1bnNldCgkdGhpcy0+bGlzdGVuZXJzWyRldmVudE5hbWVdWyRwcmlvcml0eV1bJGtleV0sICR0aGlzLT5zb3J0ZWRbJGV2ZW50TmFtZV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBFdmVudERpc3BhdGNoZXJJbnRlcmZhY2U6OmFkZFN1YnNjcmliZXIKICAgICAqCiAgICAgKiBAYXBpCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRTdWJzY3JpYmVyKEV2ZW50U3Vic2NyaWJlckludGVyZmFjZSAkc3Vic2NyaWJlcikKICAgIHsKICAgICAgICBmb3JlYWNoICgkc3Vic2NyaWJlci0+Z2V0U3Vic2NyaWJlZEV2ZW50cygpIGFzICRldmVudE5hbWUgPT4gJHBhcmFtcykgewogICAgICAgICAgICBpZiAoaXNfc3RyaW5nKCRwYXJhbXMpKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+YWRkTGlzdGVuZXIoJGV2ZW50TmFtZSwgYXJyYXkoJHN1YnNjcmliZXIsICRwYXJhbXMpKTsKICAgICAgICAgICAgfSBlbHNlaWYgKGlzX3N0cmluZygkcGFyYW1zWzBdKSkgewogICAgICAgICAgICAgICAgJHRoaXMtPmFkZExpc3RlbmVyKCRldmVudE5hbWUsIGFycmF5KCRzdWJzY3JpYmVyLCAkcGFyYW1zWzBdKSwgaXNzZXQoJHBhcmFtc1sxXSkgPyAkcGFyYW1zWzFdIDogMCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1zIGFzICRsaXN0ZW5lcikgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5hZGRMaXN0ZW5lcigkZXZlbnROYW1lLCBhcnJheSgkc3Vic2NyaWJlciwgJGxpc3RlbmVyWzBdKSwgaXNzZXQoJGxpc3RlbmVyWzFdKSA/ICRsaXN0ZW5lclsxXSA6IDApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBFdmVudERpc3BhdGNoZXJJbnRlcmZhY2U6OnJlbW92ZVN1YnNjcmliZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZVN1YnNjcmliZXIoRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlICRzdWJzY3JpYmVyKQogICAgewogICAgICAgIGZvcmVhY2ggKCRzdWJzY3JpYmVyLT5nZXRTdWJzY3JpYmVkRXZlbnRzKCkgYXMgJGV2ZW50TmFtZSA9PiAkcGFyYW1zKSB7CiAgICAgICAgICAgIGlmIChpc19hcnJheSgkcGFyYW1zKSAmJiBpc19hcnJheSgkcGFyYW1zWzBdKSkgewogICAgICAgICAgICAgICAgZm9yZWFjaCAoJHBhcmFtcyBhcyAkbGlzdGVuZXIpIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cmVtb3ZlTGlzdGVuZXIoJGV2ZW50TmFtZSwgYXJyYXkoJHN1YnNjcmliZXIsICRsaXN0ZW5lclswXSkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJHRoaXMtPnJlbW92ZUxpc3RlbmVyKCRldmVudE5hbWUsIGFycmF5KCRzdWJzY3JpYmVyLCBpc19zdHJpbmcoJHBhcmFtcykgPyAkcGFyYW1zIDogJHBhcmFtc1swXSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogVHJpZ2dlcnMgdGhlIGxpc3RlbmVycyBvZiBhbiBldmVudC4KICAgICAqCiAgICAgKiBUaGlzIG1ldGhvZCBjYW4gYmUgb3ZlcnJpZGRlbiB0byBhZGQgZnVuY3Rpb25hbGl0eSB0aGF0IGlzIGV4ZWN1dGVkCiAgICAgKiBmb3IgZWFjaCBsaXN0ZW5lci4KICAgICAqCiAgICAgKiBAcGFyYW0gY2FsbGFibGVbXSAkbGlzdGVuZXJzIFRoZSBldmVudCBsaXN0ZW5lcnMuCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAkZXZlbnROYW1lIFRoZSBuYW1lIG9mIHRoZSBldmVudCB0byBkaXNwYXRjaC4KICAgICAqIEBwYXJhbSBFdmVudCAgICAgICRldmVudCAgICAgVGhlIGV2ZW50IG9iamVjdCB0byBwYXNzIHRvIHRoZSBldmVudCBoYW5kbGVycy9saXN0ZW5lcnMuCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBkb0Rpc3BhdGNoKCRsaXN0ZW5lcnMsICRldmVudE5hbWUsIEV2ZW50ICRldmVudCkKICAgIHsKICAgICAgICBmb3JlYWNoICgkbGlzdGVuZXJzIGFzICRsaXN0ZW5lcikgewogICAgICAgICAgICBjYWxsX3VzZXJfZnVuYygkbGlzdGVuZXIsICRldmVudCwgJGV2ZW50TmFtZSwgJHRoaXMpOwogICAgICAgICAgICBpZiAoJGV2ZW50LT5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKSB7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFNvcnRzIHRoZSBpbnRlcm5hbCBsaXN0IG9mIGxpc3RlbmVycyBmb3IgdGhlIGdpdmVuIGV2ZW50IGJ5IHByaW9yaXR5LgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGV2ZW50TmFtZSBUaGUgbmFtZSBvZiB0aGUgZXZlbnQuCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gc29ydExpc3RlbmVycygkZXZlbnROYW1lKQogICAgewogICAgICAgICR0aGlzLT5zb3J0ZWRbJGV2ZW50TmFtZV0gPSBhcnJheSgpOwoKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPmxpc3RlbmVyc1skZXZlbnROYW1lXSkpIHsKICAgICAgICAgICAga3Jzb3J0KCR0aGlzLT5saXN0ZW5lcnNbJGV2ZW50TmFtZV0pOwogICAgICAgICAgICAkdGhpcy0+c29ydGVkWyRldmVudE5hbWVdID0gY2FsbF91c2VyX2Z1bmNfYXJyYXkoJ2FycmF5X21lcmdlJywgJHRoaXMtPmxpc3RlbmVyc1skZXZlbnROYW1lXSk7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcherInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBTeW1mb255IHBhY2thZ2UuCiAqCiAqIChjKSBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKi8KCm5hbWVzcGFjZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXI7CgovKioKICogVGhlIEV2ZW50RGlzcGF0Y2hlckludGVyZmFjZSBpcyB0aGUgY2VudHJhbCBwb2ludCBvZiBTeW1mb255J3MgZXZlbnQgbGlzdGVuZXIgc3lzdGVtLgogKiBMaXN0ZW5lcnMgYXJlIHJlZ2lzdGVyZWQgb24gdGhlIG1hbmFnZXIgYW5kIGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCB0aHJvdWdoIHRoZQogKiBtYW5hZ2VyLgogKgogKiBAYXV0aG9yIEJlcm5oYXJkIFNjaHVzc2VrIDxic2NodXNzZWtAZ21haWwuY29tPgogKgogKiBAYXBpCiAqLwppbnRlcmZhY2UgRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogRGlzcGF0Y2hlcyBhbiBldmVudCB0byBhbGwgcmVnaXN0ZXJlZCBsaXN0ZW5lcnMuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZXZlbnROYW1lIFRoZSBuYW1lIG9mIHRoZSBldmVudCB0byBkaXNwYXRjaC4gVGhlIG5hbWUgb2YKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZXZlbnQgaXMgdGhlIG5hbWUgb2YgdGhlIG1ldGhvZCB0aGF0IGlzCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgaW52b2tlZCBvbiBsaXN0ZW5lcnMuCiAgICAgKiBAcGFyYW0gRXZlbnQgJGV2ZW50IFRoZSBldmVudCB0byBwYXNzIHRvIHRoZSBldmVudCBoYW5kbGVycy9saXN0ZW5lcnMuCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgbm90IHN1cHBsaWVkLCBhbiBlbXB0eSBFdmVudCBpbnN0YW5jZSBpcyBjcmVhdGVkLgogICAgICoKICAgICAqIEByZXR1cm4gRXZlbnQKICAgICAqCiAgICAgKiBAYXBpCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBkaXNwYXRjaCgkZXZlbnROYW1lLCBFdmVudCAkZXZlbnQgPSBudWxsKTsKCiAgICAvKioKICAgICAqIEFkZHMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCBsaXN0ZW5zIG9uIHRoZSBzcGVjaWZpZWQgZXZlbnRzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgICAkZXZlbnROYW1lIFRoZSBldmVudCB0byBsaXN0ZW4gb24KICAgICAqIEBwYXJhbSBjYWxsYWJsZSAkbGlzdGVuZXIgIFRoZSBsaXN0ZW5lcgogICAgICogQHBhcmFtIGludGVnZXIgICRwcmlvcml0eSAgVGhlIGhpZ2hlciB0aGlzIHZhbHVlLCB0aGUgZWFybGllciBhbiBldmVudAogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdGVuZXIgd2lsbCBiZSB0cmlnZ2VyZWQgaW4gdGhlIGNoYWluIChkZWZhdWx0cyB0byAwKQogICAgICoKICAgICAqIEBhcGkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZExpc3RlbmVyKCRldmVudE5hbWUsICRsaXN0ZW5lciwgJHByaW9yaXR5ID0gMCk7CgogICAgLyoqCiAgICAgKiBBZGRzIGFuIGV2ZW50IHN1YnNjcmliZXIuCiAgICAgKgogICAgICogVGhlIHN1YnNjcmliZXIgaXMgYXNrZWQgZm9yIGFsbCB0aGUgZXZlbnRzIGhlIGlzCiAgICAgKiBpbnRlcmVzdGVkIGluIGFuZCBhZGRlZCBhcyBhIGxpc3RlbmVyIGZvciB0aGVzZSBldmVudHMuCiAgICAgKgogICAgICogQHBhcmFtIEV2ZW50U3Vic2NyaWJlckludGVyZmFjZSAkc3Vic2NyaWJlciBUaGUgc3Vic2NyaWJlci4KICAgICAqCiAgICAgKiBAYXBpCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRTdWJzY3JpYmVyKEV2ZW50U3Vic2NyaWJlckludGVyZmFjZSAkc3Vic2NyaWJlcik7CgogICAgLyoqCiAgICAgKiBSZW1vdmVzIGFuIGV2ZW50IGxpc3RlbmVyIGZyb20gdGhlIHNwZWNpZmllZCBldmVudHMuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xhcnJheSAkZXZlbnROYW1lIFRoZSBldmVudChzKSB0byByZW1vdmUgYSBsaXN0ZW5lciBmcm9tCiAgICAgKiBAcGFyYW0gY2FsbGFibGUgICAgICRsaXN0ZW5lciAgVGhlIGxpc3RlbmVyIHRvIHJlbW92ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlTGlzdGVuZXIoJGV2ZW50TmFtZSwgJGxpc3RlbmVyKTsKCiAgICAvKioKICAgICAqIFJlbW92ZXMgYW4gZXZlbnQgc3Vic2NyaWJlci4KICAgICAqCiAgICAgKiBAcGFyYW0gRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlICRzdWJzY3JpYmVyIFRoZSBzdWJzY3JpYmVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVTdWJzY3JpYmVyKEV2ZW50U3Vic2NyaWJlckludGVyZmFjZSAkc3Vic2NyaWJlcik7CgogICAgLyoqCiAgICAgKiBHZXRzIHRoZSBsaXN0ZW5lcnMgb2YgYSBzcGVjaWZpYyBldmVudCBvciBhbGwgbGlzdGVuZXJzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGV2ZW50TmFtZSBUaGUgbmFtZSBvZiB0aGUgZXZlbnQKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IFRoZSBldmVudCBsaXN0ZW5lcnMgZm9yIHRoZSBzcGVjaWZpZWQgZXZlbnQsIG9yIGFsbCBldmVudCBsaXN0ZW5lcnMgYnkgZXZlbnQgbmFtZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGlzdGVuZXJzKCRldmVudE5hbWUgPSBudWxsKTsKCiAgICAvKioKICAgICAqIENoZWNrcyB3aGV0aGVyIGFuIGV2ZW50IGhhcyBhbnkgcmVnaXN0ZXJlZCBsaXN0ZW5lcnMuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZXZlbnROYW1lIFRoZSBuYW1lIG9mIHRoZSBldmVudAogICAgICoKICAgICAqIEByZXR1cm4gQm9vbGVhbiB0cnVlIGlmIHRoZSBzcGVjaWZpZWQgZXZlbnQgaGFzIGFueSBsaXN0ZW5lcnMsIGZhbHNlIG90aGVyd2lzZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzTGlzdGVuZXJzKCRldmVudE5hbWUgPSBudWxsKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventSubscriberInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBTeW1mb255IHBhY2thZ2UuCiAqCiAqIChjKSBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKi8KCm5hbWVzcGFjZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXI7CgovKioKICogQW4gRXZlbnRTdWJzY3JpYmVyIGtub3dzIGhpbXNlbGYgd2hhdCBldmVudHMgaGUgaXMgaW50ZXJlc3RlZCBpbi4KICogSWYgYW4gRXZlbnRTdWJzY3JpYmVyIGlzIGFkZGVkIHRvIGFuIEV2ZW50RGlzcGF0Y2hlckludGVyZmFjZSwgdGhlIG1hbmFnZXIgaW52b2tlcwogKiB7QGxpbmsgZ2V0U3Vic2NyaWJlZEV2ZW50c30gYW5kIHJlZ2lzdGVycyB0aGUgc3Vic2NyaWJlciBhcyBhIGxpc3RlbmVyIGZvciBhbGwKICogcmV0dXJuZWQgZXZlbnRzLgogKgogKiBAYXV0aG9yICBHdWlsaGVybWUgQmxhbmNvIDxndWlsaGVybWVibGFuY29AaG90bWFpbC5jb20+CiAqIEBhdXRob3IgIEpvbmF0aGFuIFdhZ2UgPGpvbndhZ2VAZ21haWwuY29tPgogKiBAYXV0aG9yICBSb21hbiBCb3JzY2hlbCA8cm9tYW5AY29kZS1mYWN0b3J5Lm9yZz4KICogQGF1dGhvciAgQmVybmhhcmQgU2NodXNzZWsgPGJzY2h1c3Nla0BnbWFpbC5jb20+CiAqCiAqIEBhcGkKICovCmludGVyZmFjZSBFdmVudFN1YnNjcmliZXJJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIGFycmF5IG9mIGV2ZW50IG5hbWVzIHRoaXMgc3Vic2NyaWJlciB3YW50cyB0byBsaXN0ZW4gdG8uCiAgICAgKgogICAgICogVGhlIGFycmF5IGtleXMgYXJlIGV2ZW50IG5hbWVzIGFuZCB0aGUgdmFsdWUgY2FuIGJlOgogICAgICoKICAgICAqICAqIFRoZSBtZXRob2QgbmFtZSB0byBjYWxsIChwcmlvcml0eSBkZWZhdWx0cyB0byAwKQogICAgICogICogQW4gYXJyYXkgY29tcG9zZWQgb2YgdGhlIG1ldGhvZCBuYW1lIHRvIGNhbGwgYW5kIHRoZSBwcmlvcml0eQogICAgICogICogQW4gYXJyYXkgb2YgYXJyYXlzIGNvbXBvc2VkIG9mIHRoZSBtZXRob2QgbmFtZXMgdG8gY2FsbCBhbmQgcmVzcGVjdGl2ZQogICAgICogICAgcHJpb3JpdGllcywgb3IgMCBpZiB1bnNldAogICAgICoKICAgICAqIEZvciBpbnN0YW5jZToKICAgICAqCiAgICAgKiAgKiBhcnJheSgnZXZlbnROYW1lJyA9PiAnbWV0aG9kTmFtZScpCiAgICAgKiAgKiBhcnJheSgnZXZlbnROYW1lJyA9PiBhcnJheSgnbWV0aG9kTmFtZScsICRwcmlvcml0eSkpCiAgICAgKiAgKiBhcnJheSgnZXZlbnROYW1lJyA9PiBhcnJheShhcnJheSgnbWV0aG9kTmFtZTEnLCAkcHJpb3JpdHkpLCBhcnJheSgnbWV0aG9kTmFtZTInKSkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IFRoZSBldmVudCBuYW1lcyB0byBsaXN0ZW4gdG8KICAgICAqCiAgICAgKiBAYXBpCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/GenericEvent.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBTeW1mb255IHBhY2thZ2UuCiAqCiAqIChjKSBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKi8KCm5hbWVzcGFjZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXI7CgovKioKICogRXZlbnQgZW5jYXBzdWxhdGlvbiBjbGFzcy4KICoKICogRW5jYXBzdWxhdGVzIGV2ZW50cyB0aHVzIGRlY291cGxpbmcgdGhlIG9ic2VydmVyIGZyb20gdGhlIHN1YmplY3QgdGhleSBlbmNhcHN1bGF0ZS4KICoKICogQGF1dGhvciBEcmFrIDxkcmFrQHppa3VsYS5vcmc+CiAqLwpjbGFzcyBHZW5lcmljRXZlbnQgZXh0ZW5kcyBFdmVudCBpbXBsZW1lbnRzIFxBcnJheUFjY2VzcywgXEl0ZXJhdG9yQWdncmVnYXRlCnsKICAgIC8qKgogICAgICogRXZlbnQgc3ViamVjdC4KICAgICAqCiAgICAgKiBAdmFyIG1peGVkIHVzdWFsbHkgb2JqZWN0IG9yIGNhbGxhYmxlCiAgICAgKi8KICAgIHByb3RlY3RlZCAkc3ViamVjdDsKCiAgICAvKioKICAgICAqIEFycmF5IG9mIGFyZ3VtZW50cy4KICAgICAqCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKi8KICAgIHByb3RlY3RlZCAkYXJndW1lbnRzOwoKICAgIC8qKgogICAgICogRW5jYXBzdWxhdGUgYW4gZXZlbnQgd2l0aCAkc3ViamVjdCBhbmQgJGFyZ3MuCiAgICAgKgogICAgICogQHBhcmFtIG1peGVkICRzdWJqZWN0ICAgVGhlIHN1YmplY3Qgb2YgdGhlIGV2ZW50LCB1c3VhbGx5IGFuIG9iamVjdC4KICAgICAqIEBwYXJhbSBhcnJheSAkYXJndW1lbnRzIEFyZ3VtZW50cyB0byBzdG9yZSBpbiB0aGUgZXZlbnQuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkc3ViamVjdCA9IG51bGwsIGFycmF5ICRhcmd1bWVudHMgPSBhcnJheSgpKQogICAgewogICAgICAgICR0aGlzLT5zdWJqZWN0ID0gJHN1YmplY3Q7CiAgICAgICAgJHRoaXMtPmFyZ3VtZW50cyA9ICRhcmd1bWVudHM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXR0ZXIgZm9yIHN1YmplY3QgcHJvcGVydHkuCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZCAkc3ViamVjdCBUaGUgb2JzZXJ2ZXIgc3ViamVjdC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFN1YmplY3QoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c3ViamVjdDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhcmd1bWVudCBieSBrZXkuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5IEtleS4KICAgICAqCiAgICAgKiBAdGhyb3dzIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gSWYga2V5IGlzIG5vdCBmb3VuZC4KICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkIENvbnRlbnRzIG9mIGFycmF5IGtleS4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFyZ3VtZW50KCRrZXkpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5oYXNBcmd1bWVudCgka2V5KSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmFyZ3VtZW50c1ska2V5XTsKICAgICAgICB9CgogICAgICAgIHRocm93IG5ldyBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKHNwcmludGYoJyVzIG5vdCBmb3VuZCBpbiAlcycsICRrZXksICR0aGlzLT5nZXROYW1lKCkpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhcmd1bWVudCB0byBldmVudC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgICBBcmd1bWVudCBuYW1lLgogICAgICogQHBhcmFtIG1peGVkICAkdmFsdWUgVmFsdWUuCiAgICAgKgogICAgICogQHJldHVybiBHZW5lcmljRXZlbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEFyZ3VtZW50KCRrZXksICR2YWx1ZSkKICAgIHsKICAgICAgICAkdGhpcy0+YXJndW1lbnRzWyRrZXldID0gJHZhbHVlOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXR0ZXIgZm9yIGFsbCBhcmd1bWVudHMuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QXJndW1lbnRzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmFyZ3VtZW50czsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBhcmdzIHByb3BlcnR5LgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkYXJncyBBcmd1bWVudHMuCiAgICAgKgogICAgICogQHJldHVybiBHZW5lcmljRXZlbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEFyZ3VtZW50cyhhcnJheSAkYXJncyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJHRoaXMtPmFyZ3VtZW50cyA9ICRhcmdzOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBIYXMgYXJndW1lbnQuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5IEtleSBvZiBhcmd1bWVudHMgYXJyYXkuCiAgICAgKgogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNBcmd1bWVudCgka2V5KQogICAgewogICAgICAgIHJldHVybiBhcnJheV9rZXlfZXhpc3RzKCRrZXksICR0aGlzLT5hcmd1bWVudHMpOwogICAgfQoKICAgIC8qKgogICAgICogQXJyYXlBY2Nlc3MgZm9yIGFyZ3VtZW50IGdldHRlci4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgQXJyYXkga2V5LgogICAgICoKICAgICAqIEB0aHJvd3MgXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBJZiBrZXkgZG9lcyBub3QgZXhpc3QgaW4gJHRoaXMtPmFyZ3MuCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0R2V0KCRrZXkpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRBcmd1bWVudCgka2V5KTsKICAgIH0KCiAgICAvKioKICAgICAqIEFycmF5QWNjZXNzIGZvciBhcmd1bWVudCBzZXR0ZXIuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5ICAgQXJyYXkga2V5IHRvIHNldC4KICAgICAqIEBwYXJhbSBtaXhlZCAgJHZhbHVlIFZhbHVlLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0U2V0KCRrZXksICR2YWx1ZSkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0QXJndW1lbnQoJGtleSwgJHZhbHVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFycmF5QWNjZXNzIGZvciB1bnNldCBhcmd1bWVudC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgQXJyYXkga2V5LgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0VW5zZXQoJGtleSkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPmhhc0FyZ3VtZW50KCRrZXkpKSB7CiAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5hcmd1bWVudHNbJGtleV0pOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEFycmF5QWNjZXNzIGhhcyBhcmd1bWVudC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgQXJyYXkga2V5LgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0RXhpc3RzKCRrZXkpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5oYXNBcmd1bWVudCgka2V5KTsKICAgIH0KCiAgICAvKioKICAgICAqIEl0ZXJhdG9yQWdncmVnYXRlIGZvciBpdGVyYXRpbmcgb3ZlciB0aGUgb2JqZWN0IGxpa2UgYW4gYXJyYXkKICAgICAqCiAgICAgKiBAcmV0dXJuIFxBcnJheUl0ZXJhdG9yCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJdGVyYXRvcigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBcQXJyYXlJdGVyYXRvcigkdGhpcy0+YXJndW1lbnRzKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBTeW1mb255IHBhY2thZ2UuCiAqCiAqIChjKSBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKi8KCm5hbWVzcGFjZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXI7CgovKioKICogQSByZWFkLW9ubHkgcHJveHkgZm9yIGFuIGV2ZW50IGRpc3BhdGNoZXIuCiAqCiAqIEBhdXRob3IgQmVybmhhcmQgU2NodXNzZWsgPGJzY2h1c3Nla0BnbWFpbC5jb20+CiAqLwpjbGFzcyBJbW11dGFibGVFdmVudERpc3BhdGNoZXIgaW1wbGVtZW50cyBFdmVudERpc3BhdGNoZXJJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBUaGUgcHJveGllZCBkaXNwYXRjaGVyLgogICAgICogQHZhciBFdmVudERpc3BhdGNoZXJJbnRlcmZhY2UKICAgICAqLwogICAgcHJpdmF0ZSAkZGlzcGF0Y2hlcjsKCiAgICAvKioKICAgICAqIENyZWF0ZXMgYW4gdW5tb2RpZmlhYmxlIHByb3h5IGZvciBhbiBldmVudCBkaXNwYXRjaGVyLgogICAgICoKICAgICAqIEBwYXJhbSBFdmVudERpc3BhdGNoZXJJbnRlcmZhY2UgJGRpc3BhdGNoZXIgVGhlIHByb3hpZWQgZXZlbnQgZGlzcGF0Y2hlci4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEV2ZW50RGlzcGF0Y2hlckludGVyZmFjZSAkZGlzcGF0Y2hlcikKICAgIHsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlciA9ICRkaXNwYXRjaGVyOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZGlzcGF0Y2goJGV2ZW50TmFtZSwgRXZlbnQgJGV2ZW50ID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRpc3BhdGNoZXItPmRpc3BhdGNoKCRldmVudE5hbWUsICRldmVudCk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRMaXN0ZW5lcigkZXZlbnROYW1lLCAkbGlzdGVuZXIsICRwcmlvcml0eSA9IDApCiAgICB7CiAgICAgICAgdGhyb3cgbmV3IFxCYWRNZXRob2RDYWxsRXhjZXB0aW9uKCdVbm1vZGlmaWFibGUgZXZlbnQgZGlzcGF0Y2hlcnMgbXVzdCBub3QgYmUgbW9kaWZpZWQuJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRTdWJzY3JpYmVyKEV2ZW50U3Vic2NyaWJlckludGVyZmFjZSAkc3Vic2NyaWJlcikKICAgIHsKICAgICAgICB0aHJvdyBuZXcgXEJhZE1ldGhvZENhbGxFeGNlcHRpb24oJ1VubW9kaWZpYWJsZSBldmVudCBkaXNwYXRjaGVycyBtdXN0IG5vdCBiZSBtb2RpZmllZC4nKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZUxpc3RlbmVyKCRldmVudE5hbWUsICRsaXN0ZW5lcikKICAgIHsKICAgICAgICB0aHJvdyBuZXcgXEJhZE1ldGhvZENhbGxFeGNlcHRpb24oJ1VubW9kaWZpYWJsZSBldmVudCBkaXNwYXRjaGVycyBtdXN0IG5vdCBiZSBtb2RpZmllZC4nKTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZVN1YnNjcmliZXIoRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlICRzdWJzY3JpYmVyKQogICAgewogICAgICAgIHRocm93IG5ldyBcQmFkTWV0aG9kQ2FsbEV4Y2VwdGlvbignVW5tb2RpZmlhYmxlIGV2ZW50IGRpc3BhdGNoZXJzIG11c3Qgbm90IGJlIG1vZGlmaWVkLicpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGlzdGVuZXJzKCRldmVudE5hbWUgPSBudWxsKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZGlzcGF0Y2hlci0+Z2V0TGlzdGVuZXJzKCRldmVudE5hbWUpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzTGlzdGVuZXJzKCRldmVudE5hbWUgPSBudWxsKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZGlzcGF0Y2hlci0+aGFzTGlzdGVuZXJzKCRldmVudE5hbWUpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/LICENSE</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q29weXJpZ2h0IChjKSAyMDA0LTIwMTQgRmFiaWVuIFBvdGVuY2llcgoKUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQpvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAppbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzCnRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZAp0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CgpUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KClRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLApGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgpMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLApPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOClRIRSBTT0ZUV0FSRS4K]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/phpunit.xml.dist</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KCjxwaHB1bml0IGJhY2t1cEdsb2JhbHM9ImZhbHNlIgogICAgICAgICBiYWNrdXBTdGF0aWNBdHRyaWJ1dGVzPSJmYWxzZSIKICAgICAgICAgY29sb3JzPSJ0cnVlIgogICAgICAgICBjb252ZXJ0RXJyb3JzVG9FeGNlcHRpb25zPSJ0cnVlIgogICAgICAgICBjb252ZXJ0Tm90aWNlc1RvRXhjZXB0aW9ucz0idHJ1ZSIKICAgICAgICAgY29udmVydFdhcm5pbmdzVG9FeGNlcHRpb25zPSJ0cnVlIgogICAgICAgICBwcm9jZXNzSXNvbGF0aW9uPSJmYWxzZSIKICAgICAgICAgc3RvcE9uRmFpbHVyZT0iZmFsc2UiCiAgICAgICAgIHN5bnRheENoZWNrPSJmYWxzZSIKICAgICAgICAgYm9vdHN0cmFwPSJ2ZW5kb3IvYXV0b2xvYWQucGhwIgo+CiAgICA8dGVzdHN1aXRlcz4KICAgICAgICA8dGVzdHN1aXRlIG5hbWU9IlN5bWZvbnkgRXZlbnREaXNwYXRjaGVyIENvbXBvbmVudCBUZXN0IFN1aXRlIj4KICAgICAgICAgICAgPGRpcmVjdG9yeT4uL1Rlc3RzLzwvZGlyZWN0b3J5PgogICAgICAgIDwvdGVzdHN1aXRlPgogICAgPC90ZXN0c3VpdGVzPgoKICAgIDxmaWx0ZXI+CiAgICAgICAgPHdoaXRlbGlzdD4KICAgICAgICAgICAgPGRpcmVjdG9yeT4uLzwvZGlyZWN0b3J5PgogICAgICAgICAgICA8ZXhjbHVkZT4KICAgICAgICAgICAgICAgIDxkaXJlY3Rvcnk+Li9SZXNvdXJjZXM8L2RpcmVjdG9yeT4KICAgICAgICAgICAgICAgIDxkaXJlY3Rvcnk+Li9UZXN0czwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeT4uL3ZlbmRvcjwvZGlyZWN0b3J5PgogICAgICAgICAgICA8L2V4Y2x1ZGU+CiAgICAgICAgPC93aGl0ZWxpc3Q+CiAgICA8L2ZpbHRlcj4KPC9waHB1bml0Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[RXZlbnREaXNwYXRjaGVyIENvbXBvbmVudAo9PT09PT09PT09PT09PT09PT09PT09PT09CgpUaGUgU3ltZm9ueTIgRXZlbnREaXNwYXRjaGVyIGNvbXBvbmVudCBpbXBsZW1lbnRzIHRoZSBNZWRpYXRvciBwYXR0ZXJuIGluIGEKc2ltcGxlIGFuZCBlZmZlY3RpdmUgd2F5IHRvIG1ha2UgeW91ciBwcm9qZWN0cyB0cnVseSBleHRlbnNpYmxlLgoKICAgIHVzZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnREaXNwYXRjaGVyOwogICAgdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudDsKCiAgICAkZGlzcGF0Y2hlciA9IG5ldyBFdmVudERpc3BhdGNoZXIoKTsKCiAgICAkZGlzcGF0Y2hlci0+YWRkTGlzdGVuZXIoJ2V2ZW50X25hbWUnLCBmdW5jdGlvbiAoRXZlbnQgJGV2ZW50KSB7CiAgICAgICAgLy8gLi4uCiAgICB9KTsKCiAgICAkZGlzcGF0Y2hlci0+ZGlzcGF0Y2goJ2V2ZW50X25hbWUnKTsKClJlc291cmNlcwotLS0tLS0tLS0KCllvdSBjYW4gcnVuIHRoZSB1bml0IHRlc3RzIHdpdGggdGhlIGZvbGxvd2luZyBjb21tYW5kOgoKICAgICQgY2QgcGF0aC90by9TeW1mb255L0NvbXBvbmVudC9FdmVudERpc3BhdGNoZXIvCiAgICAkIGNvbXBvc2VyLnBoYXIgaW5zdGFsbAogICAgJCBwaHB1bml0Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ContainerAwareEventDispatcherTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBTeW1mb255IHBhY2thZ2UuCiAqCiAqIChjKSBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKi8KCm5hbWVzcGFjZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcVGVzdHM7Cgp1c2UgU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxDb250YWluZXI7CnVzZSBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXFNjb3BlOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXENvbnRhaW5lckF3YXJlRXZlbnREaXNwYXRjaGVyOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50Owp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50U3Vic2NyaWJlckludGVyZmFjZTsKCmNsYXNzIENvbnRhaW5lckF3YXJlRXZlbnREaXNwYXRjaGVyVGVzdCBleHRlbmRzIFxQSFBVbml0X0ZyYW1ld29ya19UZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZEFMaXN0ZW5lclNlcnZpY2UoKQogICAgewogICAgICAgICRldmVudCA9IG5ldyBFdmVudCgpOwoKICAgICAgICAkc2VydmljZSA9ICR0aGlzLT5nZXRNb2NrKCdTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcVGVzdHNcU2VydmljZScpOwoKICAgICAgICAkc2VydmljZQogICAgICAgICAgICAtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ29uRXZlbnQnKQogICAgICAgICAgICAtPndpdGgoJGV2ZW50KQogICAgICAgIDsKCiAgICAgICAgJGNvbnRhaW5lciA9IG5ldyBDb250YWluZXIoKTsKICAgICAgICAkY29udGFpbmVyLT5zZXQoJ3NlcnZpY2UubGlzdGVuZXInLCAkc2VydmljZSk7CgogICAgICAgICRkaXNwYXRjaGVyID0gbmV3IENvbnRhaW5lckF3YXJlRXZlbnREaXNwYXRjaGVyKCRjb250YWluZXIpOwogICAgICAgICRkaXNwYXRjaGVyLT5hZGRMaXN0ZW5lclNlcnZpY2UoJ29uRXZlbnQnLCBhcnJheSgnc2VydmljZS5saXN0ZW5lcicsICdvbkV2ZW50JykpOwoKICAgICAgICAkZGlzcGF0Y2hlci0+ZGlzcGF0Y2goJ29uRXZlbnQnLCAkZXZlbnQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkQVN1YnNjcmliZXJTZXJ2aWNlKCkKICAgIHsKICAgICAgICAkZXZlbnQgPSBuZXcgRXZlbnQoKTsKCiAgICAgICAgJHNlcnZpY2UgPSAkdGhpcy0+Z2V0TW9jaygnU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXFRlc3RzXFN1YnNjcmliZXJTZXJ2aWNlJyk7CgogICAgICAgICRzZXJ2aWNlCiAgICAgICAgICAgIC0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnb25FdmVudCcpCiAgICAgICAgICAgIC0+d2l0aCgkZXZlbnQpCiAgICAgICAgOwoKICAgICAgICAkY29udGFpbmVyID0gbmV3IENvbnRhaW5lcigpOwogICAgICAgICRjb250YWluZXItPnNldCgnc2VydmljZS5zdWJzY3JpYmVyJywgJHNlcnZpY2UpOwoKICAgICAgICAkZGlzcGF0Y2hlciA9IG5ldyBDb250YWluZXJBd2FyZUV2ZW50RGlzcGF0Y2hlcigkY29udGFpbmVyKTsKICAgICAgICAkZGlzcGF0Y2hlci0+YWRkU3Vic2NyaWJlclNlcnZpY2UoJ3NlcnZpY2Uuc3Vic2NyaWJlcicsICdTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcVGVzdHNcU3Vic2NyaWJlclNlcnZpY2UnKTsKCiAgICAgICAgJGRpc3BhdGNoZXItPmRpc3BhdGNoKCdvbkV2ZW50JywgJGV2ZW50KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFByZXZlbnREdXBsaWNhdGVMaXN0ZW5lclNlcnZpY2UoKQogICAgewogICAgICAgICRldmVudCA9IG5ldyBFdmVudCgpOwoKICAgICAgICAkc2VydmljZSA9ICR0aGlzLT5nZXRNb2NrKCdTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcVGVzdHNcU2VydmljZScpOwoKICAgICAgICAkc2VydmljZQogICAgICAgICAgICAtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ29uRXZlbnQnKQogICAgICAgICAgICAtPndpdGgoJGV2ZW50KQogICAgICAgIDsKCiAgICAgICAgJGNvbnRhaW5lciA9IG5ldyBDb250YWluZXIoKTsKICAgICAgICAkY29udGFpbmVyLT5zZXQoJ3NlcnZpY2UubGlzdGVuZXInLCAkc2VydmljZSk7CgogICAgICAgICRkaXNwYXRjaGVyID0gbmV3IENvbnRhaW5lckF3YXJlRXZlbnREaXNwYXRjaGVyKCRjb250YWluZXIpOwogICAgICAgICRkaXNwYXRjaGVyLT5hZGRMaXN0ZW5lclNlcnZpY2UoJ29uRXZlbnQnLCBhcnJheSgnc2VydmljZS5saXN0ZW5lcicsICdvbkV2ZW50JyksIDUpOwogICAgICAgICRkaXNwYXRjaGVyLT5hZGRMaXN0ZW5lclNlcnZpY2UoJ29uRXZlbnQnLCBhcnJheSgnc2VydmljZS5saXN0ZW5lcicsICdvbkV2ZW50JyksIDEwKTsKCiAgICAgICAgJGRpc3BhdGNoZXItPmRpc3BhdGNoKCdvbkV2ZW50JywgJGV2ZW50KTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0VHJpZ2dlckFMaXN0ZW5lclNlcnZpY2VPdXRPZlNjb3BlKCkKICAgIHsKICAgICAgICAkc2VydmljZSA9ICR0aGlzLT5nZXRNb2NrKCdTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcVGVzdHNcU2VydmljZScpOwoKICAgICAgICAkc2NvcGUgPSBuZXcgU2NvcGUoJ3Njb3BlJyk7CiAgICAgICAgJGNvbnRhaW5lciA9IG5ldyBDb250YWluZXIoKTsKICAgICAgICAkY29udGFpbmVyLT5hZGRTY29wZSgkc2NvcGUpOwogICAgICAgICRjb250YWluZXItPmVudGVyU2NvcGUoJ3Njb3BlJyk7CgogICAgICAgICRjb250YWluZXItPnNldCgnc2VydmljZS5saXN0ZW5lcicsICRzZXJ2aWNlLCAnc2NvcGUnKTsKCiAgICAgICAgJGRpc3BhdGNoZXIgPSBuZXcgQ29udGFpbmVyQXdhcmVFdmVudERpc3BhdGNoZXIoJGNvbnRhaW5lcik7CiAgICAgICAgJGRpc3BhdGNoZXItPmFkZExpc3RlbmVyU2VydmljZSgnb25FdmVudCcsIGFycmF5KCdzZXJ2aWNlLmxpc3RlbmVyJywgJ29uRXZlbnQnKSk7CgogICAgICAgICRjb250YWluZXItPmxlYXZlU2NvcGUoJ3Njb3BlJyk7CiAgICAgICAgJGRpc3BhdGNoZXItPmRpc3BhdGNoKCdvbkV2ZW50Jyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZUVudGVyaW5nQVNjb3BlKCkKICAgIHsKICAgICAgICAkZXZlbnQgPSBuZXcgRXZlbnQoKTsKCiAgICAgICAgJHNlcnZpY2UxID0gJHRoaXMtPmdldE1vY2soJ1N5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxUZXN0c1xTZXJ2aWNlJyk7CgogICAgICAgICRzZXJ2aWNlMQogICAgICAgICAgICAtPmV4cGVjdHMoJHRoaXMtPmV4YWN0bHkoMikpCiAgICAgICAgICAgIC0+bWV0aG9kKCdvbkV2ZW50JykKICAgICAgICAgICAgLT53aXRoKCRldmVudCkKICAgICAgICA7CgogICAgICAgICRzY29wZSA9IG5ldyBTY29wZSgnc2NvcGUnKTsKICAgICAgICAkY29udGFpbmVyID0gbmV3IENvbnRhaW5lcigpOwogICAgICAgICRjb250YWluZXItPmFkZFNjb3BlKCRzY29wZSk7CiAgICAgICAgJGNvbnRhaW5lci0+ZW50ZXJTY29wZSgnc2NvcGUnKTsKCiAgICAgICAgJGNvbnRhaW5lci0+c2V0KCdzZXJ2aWNlLmxpc3RlbmVyJywgJHNlcnZpY2UxLCAnc2NvcGUnKTsKCiAgICAgICAgJGRpc3BhdGNoZXIgPSBuZXcgQ29udGFpbmVyQXdhcmVFdmVudERpc3BhdGNoZXIoJGNvbnRhaW5lcik7CiAgICAgICAgJGRpc3BhdGNoZXItPmFkZExpc3RlbmVyU2VydmljZSgnb25FdmVudCcsIGFycmF5KCdzZXJ2aWNlLmxpc3RlbmVyJywgJ29uRXZlbnQnKSk7CiAgICAgICAgJGRpc3BhdGNoZXItPmRpc3BhdGNoKCdvbkV2ZW50JywgJGV2ZW50KTsKCiAgICAgICAgJHNlcnZpY2UyID0gJHRoaXMtPmdldE1vY2soJ1N5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxUZXN0c1xTZXJ2aWNlJyk7CgogICAgICAgICRzZXJ2aWNlMgogICAgICAgICAgICAtPmV4cGVjdHMoJHRoaXMtPm9uY2UoKSkKICAgICAgICAgICAgLT5tZXRob2QoJ29uRXZlbnQnKQogICAgICAgICAgICAtPndpdGgoJGV2ZW50KQogICAgICAgIDsKCiAgICAgICAgJGNvbnRhaW5lci0+ZW50ZXJTY29wZSgnc2NvcGUnKTsKICAgICAgICAkY29udGFpbmVyLT5zZXQoJ3NlcnZpY2UubGlzdGVuZXInLCAkc2VydmljZTIsICdzY29wZScpOwoKICAgICAgICAkZGlzcGF0Y2hlci0+ZGlzcGF0Y2goJ29uRXZlbnQnLCAkZXZlbnQpOwoKICAgICAgICAkY29udGFpbmVyLT5sZWF2ZVNjb3BlKCdzY29wZScpOwoKICAgICAgICAkZGlzcGF0Y2hlci0+ZGlzcGF0Y2goJ29uRXZlbnQnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEhhc0xpc3RlbmVyc09uTGF6eUxvYWQoKQogICAgewogICAgICAgICRldmVudCA9IG5ldyBFdmVudCgpOwoKICAgICAgICAkc2VydmljZSA9ICR0aGlzLT5nZXRNb2NrKCdTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcVGVzdHNcU2VydmljZScpOwoKICAgICAgICAkY29udGFpbmVyID0gbmV3IENvbnRhaW5lcigpOwogICAgICAgICRjb250YWluZXItPnNldCgnc2VydmljZS5saXN0ZW5lcicsICRzZXJ2aWNlKTsKCiAgICAgICAgJGRpc3BhdGNoZXIgPSBuZXcgQ29udGFpbmVyQXdhcmVFdmVudERpc3BhdGNoZXIoJGNvbnRhaW5lcik7CiAgICAgICAgJGRpc3BhdGNoZXItPmFkZExpc3RlbmVyU2VydmljZSgnb25FdmVudCcsIGFycmF5KCdzZXJ2aWNlLmxpc3RlbmVyJywgJ29uRXZlbnQnKSk7CgogICAgICAgICRldmVudC0+c2V0RGlzcGF0Y2hlcigkZGlzcGF0Y2hlcik7CiAgICAgICAgJGV2ZW50LT5zZXROYW1lKCdvbkV2ZW50Jyk7CgogICAgICAgICRzZXJ2aWNlCiAgICAgICAgICAgIC0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnb25FdmVudCcpCiAgICAgICAgICAgIC0+d2l0aCgkZXZlbnQpCiAgICAgICAgOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkZGlzcGF0Y2hlci0+aGFzTGlzdGVuZXJzKCkpOwoKICAgICAgICBpZiAoJGRpc3BhdGNoZXItPmhhc0xpc3RlbmVycygnb25FdmVudCcpKSB7CiAgICAgICAgICAgICRkaXNwYXRjaGVyLT5kaXNwYXRjaCgnb25FdmVudCcpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldExpc3RlbmVyc09uTGF6eUxvYWQoKQogICAgewogICAgICAgICRzZXJ2aWNlID0gJHRoaXMtPmdldE1vY2soJ1N5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxUZXN0c1xTZXJ2aWNlJyk7CgogICAgICAgICRjb250YWluZXIgPSBuZXcgQ29udGFpbmVyKCk7CiAgICAgICAgJGNvbnRhaW5lci0+c2V0KCdzZXJ2aWNlLmxpc3RlbmVyJywgJHNlcnZpY2UpOwoKICAgICAgICAkZGlzcGF0Y2hlciA9IG5ldyBDb250YWluZXJBd2FyZUV2ZW50RGlzcGF0Y2hlcigkY29udGFpbmVyKTsKICAgICAgICAkZGlzcGF0Y2hlci0+YWRkTGlzdGVuZXJTZXJ2aWNlKCdvbkV2ZW50JywgYXJyYXkoJ3NlcnZpY2UubGlzdGVuZXInLCAnb25FdmVudCcpKTsKCiAgICAgICAgJGxpc3RlbmVycyA9ICRkaXNwYXRjaGVyLT5nZXRMaXN0ZW5lcnMoKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoaXNzZXQoJGxpc3RlbmVyc1snb25FdmVudCddKSk7CgogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgxLCAkZGlzcGF0Y2hlci0+Z2V0TGlzdGVuZXJzKCdvbkV2ZW50JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVtb3ZlQWZ0ZXJEaXNwYXRjaCgpCiAgICB7CiAgICAgICAgJHNlcnZpY2UgPSAkdGhpcy0+Z2V0TW9jaygnU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXFRlc3RzXFNlcnZpY2UnKTsKCiAgICAgICAgJGNvbnRhaW5lciA9IG5ldyBDb250YWluZXIoKTsKICAgICAgICAkY29udGFpbmVyLT5zZXQoJ3NlcnZpY2UubGlzdGVuZXInLCAkc2VydmljZSk7CgogICAgICAgICRkaXNwYXRjaGVyID0gbmV3IENvbnRhaW5lckF3YXJlRXZlbnREaXNwYXRjaGVyKCRjb250YWluZXIpOwogICAgICAgICRkaXNwYXRjaGVyLT5hZGRMaXN0ZW5lclNlcnZpY2UoJ29uRXZlbnQnLCBhcnJheSgnc2VydmljZS5saXN0ZW5lcicsICdvbkV2ZW50JykpOwoKICAgICAgICAkZGlzcGF0Y2hlci0+ZGlzcGF0Y2goJ29uRXZlbnQnLCBuZXcgRXZlbnQoKSk7CiAgICAgICAgJGRpc3BhdGNoZXItPnJlbW92ZUxpc3RlbmVyKCdvbkV2ZW50JywgYXJyYXkoJGNvbnRhaW5lci0+Z2V0KCdzZXJ2aWNlLmxpc3RlbmVyJyksICdvbkV2ZW50JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkZGlzcGF0Y2hlci0+aGFzTGlzdGVuZXJzKCdvbkV2ZW50JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVtb3ZlQmVmb3JlRGlzcGF0Y2goKQogICAgewogICAgICAgICRzZXJ2aWNlID0gJHRoaXMtPmdldE1vY2soJ1N5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxUZXN0c1xTZXJ2aWNlJyk7CgogICAgICAgICRjb250YWluZXIgPSBuZXcgQ29udGFpbmVyKCk7CiAgICAgICAgJGNvbnRhaW5lci0+c2V0KCdzZXJ2aWNlLmxpc3RlbmVyJywgJHNlcnZpY2UpOwoKICAgICAgICAkZGlzcGF0Y2hlciA9IG5ldyBDb250YWluZXJBd2FyZUV2ZW50RGlzcGF0Y2hlcigkY29udGFpbmVyKTsKICAgICAgICAkZGlzcGF0Y2hlci0+YWRkTGlzdGVuZXJTZXJ2aWNlKCdvbkV2ZW50JywgYXJyYXkoJ3NlcnZpY2UubGlzdGVuZXInLCAnb25FdmVudCcpKTsKCiAgICAgICAgJGRpc3BhdGNoZXItPnJlbW92ZUxpc3RlbmVyKCdvbkV2ZW50JywgYXJyYXkoJGNvbnRhaW5lci0+Z2V0KCdzZXJ2aWNlLmxpc3RlbmVyJyksICdvbkV2ZW50JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkZGlzcGF0Y2hlci0+aGFzTGlzdGVuZXJzKCdvbkV2ZW50JykpOwogICAgfQp9CgpjbGFzcyBTZXJ2aWNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBvbkV2ZW50KEV2ZW50ICRlKQogICAgewogICAgfQp9CgpjbGFzcyBTdWJzY3JpYmVyU2VydmljZSBpbXBsZW1lbnRzIEV2ZW50U3Vic2NyaWJlckludGVyZmFjZQp7CiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFN1YnNjcmliZWRFdmVudHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgJ29uRXZlbnQnID0+ICdvbkV2ZW50JywKICAgICAgICAgICAgJ29uRXZlbnQnID0+IGFycmF5KCdvbkV2ZW50JywgMTApLAogICAgICAgICAgICAnb25FdmVudCcgPT4gYXJyYXkoJ29uRXZlbnQnKSwKICAgICAgICApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBvbkV2ZW50KEV2ZW50ICRlKQogICAgewogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBTeW1mb255IHBhY2thZ2UuCiAqCiAqIChjKSBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKi8KCm5hbWVzcGFjZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcVGVzdHM7Cgp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50Owp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50RGlzcGF0Y2hlcjsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudFN1YnNjcmliZXJJbnRlcmZhY2U7CgpjbGFzcyBFdmVudERpc3BhdGNoZXJUZXN0IGV4dGVuZHMgXFBIUFVuaXRfRnJhbWV3b3JrX1Rlc3RDYXNlCnsKICAgIC8qIFNvbWUgcHNldWRvIGV2ZW50cyAqLwogICAgY29uc3QgcHJlRm9vID0gJ3ByZS5mb28nOwogICAgY29uc3QgcG9zdEZvbyA9ICdwb3N0LmZvbyc7CiAgICBjb25zdCBwcmVCYXIgPSAncHJlLmJhcic7CiAgICBjb25zdCBwb3N0QmFyID0gJ3Bvc3QuYmFyJzsKCiAgICAvKioKICAgICAqIEB2YXIgRXZlbnREaXNwYXRjaGVyCiAgICAgKi8KICAgIHByaXZhdGUgJGRpc3BhdGNoZXI7CgogICAgcHJpdmF0ZSAkbGlzdGVuZXI7CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlciA9IG5ldyBFdmVudERpc3BhdGNoZXIoKTsKICAgICAgICAkdGhpcy0+bGlzdGVuZXIgPSBuZXcgVGVzdEV2ZW50TGlzdGVuZXIoKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdGVhckRvd24oKQogICAgewogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyID0gbnVsbDsKICAgICAgICAkdGhpcy0+bGlzdGVuZXIgPSBudWxsOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SW5pdGlhbFN0YXRlKCkKICAgIHsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCksICR0aGlzLT5kaXNwYXRjaGVyLT5nZXRMaXN0ZW5lcnMoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT5kaXNwYXRjaGVyLT5oYXNMaXN0ZW5lcnMoc2VsZjo6cHJlRm9vKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT5kaXNwYXRjaGVyLT5oYXNMaXN0ZW5lcnMoc2VsZjo6cG9zdEZvbykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkTGlzdGVuZXIoKQogICAgewogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5hZGRMaXN0ZW5lcigncHJlLmZvbycsIGFycmF5KCR0aGlzLT5saXN0ZW5lciwgJ3ByZUZvbycpKTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+YWRkTGlzdGVuZXIoJ3Bvc3QuZm9vJywgYXJyYXkoJHRoaXMtPmxpc3RlbmVyLCAncG9zdEZvbycpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+ZGlzcGF0Y2hlci0+aGFzTGlzdGVuZXJzKHNlbGY6OnByZUZvbykpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5kaXNwYXRjaGVyLT5oYXNMaXN0ZW5lcnMoc2VsZjo6cG9zdEZvbykpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgxLCAkdGhpcy0+ZGlzcGF0Y2hlci0+Z2V0TGlzdGVuZXJzKHNlbGY6OnByZUZvbykpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgxLCAkdGhpcy0+ZGlzcGF0Y2hlci0+Z2V0TGlzdGVuZXJzKHNlbGY6OnBvc3RGb28pKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoMiwgJHRoaXMtPmRpc3BhdGNoZXItPmdldExpc3RlbmVycygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldExpc3RlbmVyc1NvcnRzQnlQcmlvcml0eSgpCiAgICB7CiAgICAgICAgJGxpc3RlbmVyMSA9IG5ldyBUZXN0RXZlbnRMaXN0ZW5lcigpOwogICAgICAgICRsaXN0ZW5lcjIgPSBuZXcgVGVzdEV2ZW50TGlzdGVuZXIoKTsKICAgICAgICAkbGlzdGVuZXIzID0gbmV3IFRlc3RFdmVudExpc3RlbmVyKCk7CiAgICAgICAgJGxpc3RlbmVyMS0+bmFtZSA9ICcxJzsKICAgICAgICAkbGlzdGVuZXIyLT5uYW1lID0gJzInOwogICAgICAgICRsaXN0ZW5lcjMtPm5hbWUgPSAnMyc7CgogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5hZGRMaXN0ZW5lcigncHJlLmZvbycsIGFycmF5KCRsaXN0ZW5lcjEsICdwcmVGb28nKSwgLTEwKTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+YWRkTGlzdGVuZXIoJ3ByZS5mb28nLCBhcnJheSgkbGlzdGVuZXIyLCAncHJlRm9vJyksIDEwKTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+YWRkTGlzdGVuZXIoJ3ByZS5mb28nLCBhcnJheSgkbGlzdGVuZXIzLCAncHJlRm9vJykpOwoKICAgICAgICAkZXhwZWN0ZWQgPSBhcnJheSgKICAgICAgICAgICAgYXJyYXkoJGxpc3RlbmVyMiwgJ3ByZUZvbycpLAogICAgICAgICAgICBhcnJheSgkbGlzdGVuZXIzLCAncHJlRm9vJyksCiAgICAgICAgICAgIGFycmF5KCRsaXN0ZW5lcjEsICdwcmVGb28nKSwKICAgICAgICApOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZXhwZWN0ZWQsICR0aGlzLT5kaXNwYXRjaGVyLT5nZXRMaXN0ZW5lcnMoJ3ByZS5mb28nKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRBbGxMaXN0ZW5lcnNTb3J0c0J5UHJpb3JpdHkoKQogICAgewogICAgICAgICRsaXN0ZW5lcjEgPSBuZXcgVGVzdEV2ZW50TGlzdGVuZXIoKTsKICAgICAgICAkbGlzdGVuZXIyID0gbmV3IFRlc3RFdmVudExpc3RlbmVyKCk7CiAgICAgICAgJGxpc3RlbmVyMyA9IG5ldyBUZXN0RXZlbnRMaXN0ZW5lcigpOwogICAgICAgICRsaXN0ZW5lcjQgPSBuZXcgVGVzdEV2ZW50TGlzdGVuZXIoKTsKICAgICAgICAkbGlzdGVuZXI1ID0gbmV3IFRlc3RFdmVudExpc3RlbmVyKCk7CiAgICAgICAgJGxpc3RlbmVyNiA9IG5ldyBUZXN0RXZlbnRMaXN0ZW5lcigpOwoKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+YWRkTGlzdGVuZXIoJ3ByZS5mb28nLCAkbGlzdGVuZXIxLCAtMTApOwogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5hZGRMaXN0ZW5lcigncHJlLmZvbycsICRsaXN0ZW5lcjIpOwogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5hZGRMaXN0ZW5lcigncHJlLmZvbycsICRsaXN0ZW5lcjMsIDEwKTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+YWRkTGlzdGVuZXIoJ3Bvc3QuZm9vJywgJGxpc3RlbmVyNCwgLTEwKTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+YWRkTGlzdGVuZXIoJ3Bvc3QuZm9vJywgJGxpc3RlbmVyNSk7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXItPmFkZExpc3RlbmVyKCdwb3N0LmZvbycsICRsaXN0ZW5lcjYsIDEwKTsKCiAgICAgICAgJGV4cGVjdGVkID0gYXJyYXkoCiAgICAgICAgICAgICdwcmUuZm9vJyAgPT4gYXJyYXkoJGxpc3RlbmVyMywgJGxpc3RlbmVyMiwgJGxpc3RlbmVyMSksCiAgICAgICAgICAgICdwb3N0LmZvbycgPT4gYXJyYXkoJGxpc3RlbmVyNiwgJGxpc3RlbmVyNSwgJGxpc3RlbmVyNCksCiAgICAgICAgKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGV4cGVjdGVkLCAkdGhpcy0+ZGlzcGF0Y2hlci0+Z2V0TGlzdGVuZXJzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGlzcGF0Y2goKQogICAgewogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5hZGRMaXN0ZW5lcigncHJlLmZvbycsIGFycmF5KCR0aGlzLT5saXN0ZW5lciwgJ3ByZUZvbycpKTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+YWRkTGlzdGVuZXIoJ3Bvc3QuZm9vJywgYXJyYXkoJHRoaXMtPmxpc3RlbmVyLCAncG9zdEZvbycpKTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+ZGlzcGF0Y2goc2VsZjo6cHJlRm9vKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+bGlzdGVuZXItPnByZUZvb0ludm9rZWQpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+bGlzdGVuZXItPnBvc3RGb29JbnZva2VkKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50JywgJHRoaXMtPmRpc3BhdGNoZXItPmRpc3BhdGNoKCdub2V2ZW50JykpOwogICAgICAgICR0aGlzLT5hc3NlcnRJbnN0YW5jZU9mKCdTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnQnLCAkdGhpcy0+ZGlzcGF0Y2hlci0+ZGlzcGF0Y2goc2VsZjo6cHJlRm9vKSk7CiAgICAgICAgJGV2ZW50ID0gbmV3IEV2ZW50KCk7CiAgICAgICAgJHJldHVybiA9ICR0aGlzLT5kaXNwYXRjaGVyLT5kaXNwYXRjaChzZWxmOjpwcmVGb28sICRldmVudCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygncHJlLmZvbycsICRldmVudC0+Z2V0TmFtZSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkZXZlbnQsICRyZXR1cm4pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGlzcGF0Y2hGb3JDbG9zdXJlKCkKICAgIHsKICAgICAgICAkaW52b2tlZCA9IDA7CiAgICAgICAgJGxpc3RlbmVyID0gZnVuY3Rpb24gKCkgdXNlICgmJGludm9rZWQpIHsKICAgICAgICAgICAgJGludm9rZWQrKzsKICAgICAgICB9OwogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5hZGRMaXN0ZW5lcigncHJlLmZvbycsICRsaXN0ZW5lcik7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXItPmFkZExpc3RlbmVyKCdwb3N0LmZvbycsICRsaXN0ZW5lcik7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXItPmRpc3BhdGNoKHNlbGY6OnByZUZvbyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygxLCAkaW52b2tlZCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTdG9wRXZlbnRQcm9wYWdhdGlvbigpCiAgICB7CiAgICAgICAgJG90aGVyTGlzdGVuZXIgPSBuZXcgVGVzdEV2ZW50TGlzdGVuZXIoKTsKCiAgICAgICAgLy8gcG9zdEZvbygpIHN0b3BzIHRoZSBwcm9wYWdhdGlvbiwgc28gb25seSBvbmUgbGlzdGVuZXIgc2hvdWxkCiAgICAgICAgLy8gYmUgZXhlY3V0ZWQKICAgICAgICAvLyBNYW51YWxseSBzZXQgcHJpb3JpdHkgdG8gZW5mb3JjZSAkdGhpcy0+bGlzdGVuZXIgdG8gYmUgY2FsbGVkIGZpcnN0CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXItPmFkZExpc3RlbmVyKCdwb3N0LmZvbycsIGFycmF5KCR0aGlzLT5saXN0ZW5lciwgJ3Bvc3RGb28nKSwgMTApOwogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5hZGRMaXN0ZW5lcigncG9zdC5mb28nLCBhcnJheSgkb3RoZXJMaXN0ZW5lciwgJ3ByZUZvbycpKTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+ZGlzcGF0Y2goc2VsZjo6cG9zdEZvbyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmxpc3RlbmVyLT5wb3N0Rm9vSW52b2tlZCk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCRvdGhlckxpc3RlbmVyLT5wb3N0Rm9vSW52b2tlZCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3REaXNwYXRjaEJ5UHJpb3JpdHkoKQogICAgewogICAgICAgICRpbnZva2VkID0gYXJyYXkoKTsKICAgICAgICAkbGlzdGVuZXIxID0gZnVuY3Rpb24gKCkgdXNlICgmJGludm9rZWQpIHsKICAgICAgICAgICAgJGludm9rZWRbXSA9ICcxJzsKICAgICAgICB9OwogICAgICAgICRsaXN0ZW5lcjIgPSBmdW5jdGlvbiAoKSB1c2UgKCYkaW52b2tlZCkgewogICAgICAgICAgICAkaW52b2tlZFtdID0gJzInOwogICAgICAgIH07CiAgICAgICAgJGxpc3RlbmVyMyA9IGZ1bmN0aW9uICgpIHVzZSAoJiRpbnZva2VkKSB7CiAgICAgICAgICAgICRpbnZva2VkW10gPSAnMyc7CiAgICAgICAgfTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+YWRkTGlzdGVuZXIoJ3ByZS5mb28nLCAkbGlzdGVuZXIxLCAtMTApOwogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5hZGRMaXN0ZW5lcigncHJlLmZvbycsICRsaXN0ZW5lcjIpOwogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5hZGRMaXN0ZW5lcigncHJlLmZvbycsICRsaXN0ZW5lcjMsIDEwKTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+ZGlzcGF0Y2goc2VsZjo6cHJlRm9vKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKGFycmF5KCczJywgJzInLCAnMScpLCAkaW52b2tlZCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZW1vdmVMaXN0ZW5lcigpCiAgICB7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXItPmFkZExpc3RlbmVyKCdwcmUuYmFyJywgJHRoaXMtPmxpc3RlbmVyKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+ZGlzcGF0Y2hlci0+aGFzTGlzdGVuZXJzKHNlbGY6OnByZUJhcikpOwogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5yZW1vdmVMaXN0ZW5lcigncHJlLmJhcicsICR0aGlzLT5saXN0ZW5lcik7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT5kaXNwYXRjaGVyLT5oYXNMaXN0ZW5lcnMoc2VsZjo6cHJlQmFyKSk7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXItPnJlbW92ZUxpc3RlbmVyKCdub3RFeGlzdHMnLCAkdGhpcy0+bGlzdGVuZXIpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0QWRkU3Vic2NyaWJlcigpCiAgICB7CiAgICAgICAgJGV2ZW50U3Vic2NyaWJlciA9IG5ldyBUZXN0RXZlbnRTdWJzY3JpYmVyKCk7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXItPmFkZFN1YnNjcmliZXIoJGV2ZW50U3Vic2NyaWJlcik7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmRpc3BhdGNoZXItPmhhc0xpc3RlbmVycyhzZWxmOjpwcmVGb28pKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+ZGlzcGF0Y2hlci0+aGFzTGlzdGVuZXJzKHNlbGY6OnBvc3RGb28pKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZFN1YnNjcmliZXJXaXRoUHJpb3JpdGllcygpCiAgICB7CiAgICAgICAgJGV2ZW50U3Vic2NyaWJlciA9IG5ldyBUZXN0RXZlbnRTdWJzY3JpYmVyKCk7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXItPmFkZFN1YnNjcmliZXIoJGV2ZW50U3Vic2NyaWJlcik7CgogICAgICAgICRldmVudFN1YnNjcmliZXIgPSBuZXcgVGVzdEV2ZW50U3Vic2NyaWJlcldpdGhQcmlvcml0aWVzKCk7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXItPmFkZFN1YnNjcmliZXIoJGV2ZW50U3Vic2NyaWJlcik7CgogICAgICAgICRsaXN0ZW5lcnMgPSAkdGhpcy0+ZGlzcGF0Y2hlci0+Z2V0TGlzdGVuZXJzKCdwcmUuZm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmRpc3BhdGNoZXItPmhhc0xpc3RlbmVycyhzZWxmOjpwcmVGb28pKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0Q291bnQoMiwgJGxpc3RlbmVycyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEluc3RhbmNlT2YoJ1N5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxUZXN0c1xUZXN0RXZlbnRTdWJzY3JpYmVyV2l0aFByaW9yaXRpZXMnLCAkbGlzdGVuZXJzWzBdWzBdKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEFkZFN1YnNjcmliZXJXaXRoTXVsdGlwbGVMaXN0ZW5lcnMoKQogICAgewogICAgICAgICRldmVudFN1YnNjcmliZXIgPSBuZXcgVGVzdEV2ZW50U3Vic2NyaWJlcldpdGhNdWx0aXBsZUxpc3RlbmVycygpOwogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5hZGRTdWJzY3JpYmVyKCRldmVudFN1YnNjcmliZXIpOwoKICAgICAgICAkbGlzdGVuZXJzID0gJHRoaXMtPmRpc3BhdGNoZXItPmdldExpc3RlbmVycygncHJlLmZvbycpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5kaXNwYXRjaGVyLT5oYXNMaXN0ZW5lcnMoc2VsZjo6cHJlRm9vKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydENvdW50KDIsICRsaXN0ZW5lcnMpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ3ByZUZvbzInLCAkbGlzdGVuZXJzWzBdWzFdKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFJlbW92ZVN1YnNjcmliZXIoKQogICAgewogICAgICAgICRldmVudFN1YnNjcmliZXIgPSBuZXcgVGVzdEV2ZW50U3Vic2NyaWJlcigpOwogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5hZGRTdWJzY3JpYmVyKCRldmVudFN1YnNjcmliZXIpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5kaXNwYXRjaGVyLT5oYXNMaXN0ZW5lcnMoc2VsZjo6cHJlRm9vKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmRpc3BhdGNoZXItPmhhc0xpc3RlbmVycyhzZWxmOjpwb3N0Rm9vKSk7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXItPnJlbW92ZVN1YnNjcmliZXIoJGV2ZW50U3Vic2NyaWJlcik7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT5kaXNwYXRjaGVyLT5oYXNMaXN0ZW5lcnMoc2VsZjo6cHJlRm9vKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT5kaXNwYXRjaGVyLT5oYXNMaXN0ZW5lcnMoc2VsZjo6cG9zdEZvbykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0UmVtb3ZlU3Vic2NyaWJlcldpdGhQcmlvcml0aWVzKCkKICAgIHsKICAgICAgICAkZXZlbnRTdWJzY3JpYmVyID0gbmV3IFRlc3RFdmVudFN1YnNjcmliZXJXaXRoUHJpb3JpdGllcygpOwogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5hZGRTdWJzY3JpYmVyKCRldmVudFN1YnNjcmliZXIpOwogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5kaXNwYXRjaGVyLT5oYXNMaXN0ZW5lcnMoc2VsZjo6cHJlRm9vKSk7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXItPnJlbW92ZVN1YnNjcmliZXIoJGV2ZW50U3Vic2NyaWJlcik7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT5kaXNwYXRjaGVyLT5oYXNMaXN0ZW5lcnMoc2VsZjo6cHJlRm9vKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZW1vdmVTdWJzY3JpYmVyV2l0aE11bHRpcGxlTGlzdGVuZXJzKCkKICAgIHsKICAgICAgICAkZXZlbnRTdWJzY3JpYmVyID0gbmV3IFRlc3RFdmVudFN1YnNjcmliZXJXaXRoTXVsdGlwbGVMaXN0ZW5lcnMoKTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+YWRkU3Vic2NyaWJlcigkZXZlbnRTdWJzY3JpYmVyKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkdGhpcy0+ZGlzcGF0Y2hlci0+aGFzTGlzdGVuZXJzKHNlbGY6OnByZUZvbykpOwogICAgICAgICR0aGlzLT5hc3NlcnRDb3VudCgyLCAkdGhpcy0+ZGlzcGF0Y2hlci0+Z2V0TGlzdGVuZXJzKHNlbGY6OnByZUZvbykpOwogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5yZW1vdmVTdWJzY3JpYmVyKCRldmVudFN1YnNjcmliZXIpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+ZGlzcGF0Y2hlci0+aGFzTGlzdGVuZXJzKHNlbGY6OnByZUZvbykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RXZlbnRSZWNlaXZlc1RoZURpc3BhdGNoZXJJbnN0YW5jZSgpCiAgICB7CiAgICAgICAgJGRpc3BhdGNoZXIgPSBudWxsOwogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5hZGRMaXN0ZW5lcigndGVzdCcsIGZ1bmN0aW9uICgkZXZlbnQpIHVzZSAoJiRkaXNwYXRjaGVyKSB7CiAgICAgICAgICAgICRkaXNwYXRjaGVyID0gJGV2ZW50LT5nZXREaXNwYXRjaGVyKCk7CiAgICAgICAgfSk7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXItPmRpc3BhdGNoKCd0ZXN0Jyk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHRoaXMtPmRpc3BhdGNoZXIsICRkaXNwYXRjaGVyKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEV2ZW50UmVjZWl2ZXNUaGVEaXNwYXRjaGVySW5zdGFuY2VBc0FyZ3VtZW50KCkKICAgIHsKICAgICAgICAkbGlzdGVuZXIgPSBuZXcgVGVzdFdpdGhEaXNwYXRjaGVyKCk7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXItPmFkZExpc3RlbmVyKCd0ZXN0JywgYXJyYXkoJGxpc3RlbmVyLCAnZm9vJykpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRsaXN0ZW5lci0+bmFtZSk7CiAgICAgICAgJHRoaXMtPmFzc2VydE51bGwoJGxpc3RlbmVyLT5kaXNwYXRjaGVyKTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+ZGlzcGF0Y2goJ3Rlc3QnKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCd0ZXN0JywgJGxpc3RlbmVyLT5uYW1lKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgkdGhpcy0+ZGlzcGF0Y2hlciwgJGxpc3RlbmVyLT5kaXNwYXRjaGVyKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgaHR0cHM6Ly9idWdzLnBocC5uZXQvYnVnLnBocD9pZD02Mjk3NgogICAgICoKICAgICAqIFRoaXMgYnVnIGFmZmVjdHM6CiAgICAgKiAgLSBUaGUgUEhQIDUuMyBicmFuY2ggZm9yIHZlcnNpb25zIDwgNS4zLjE4CiAgICAgKiAgLSBUaGUgUEhQIDUuNCBicmFuY2ggZm9yIHZlcnNpb25zIDwgNS40LjgKICAgICAqICAtIFRoZSBQSFAgNS41IGJyYW5jaCBpcyBub3QgYWZmZWN0ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RXb3JrYXJvdW5kRm9yUGhwQnVnNjI5NzYoKQogICAgewogICAgICAgICRkaXNwYXRjaGVyID0gbmV3IEV2ZW50RGlzcGF0Y2hlcigpOwogICAgICAgICRkaXNwYXRjaGVyLT5hZGRMaXN0ZW5lcignYnVnLjYyOTc2JywgbmV3IENhbGxhYmxlQ2xhc3MoKSk7CiAgICAgICAgJGRpc3BhdGNoZXItPnJlbW92ZUxpc3RlbmVyKCdidWcuNjI5NzYnLCBmdW5jdGlvbiAoKSB7fSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJGRpc3BhdGNoZXItPmhhc0xpc3RlbmVycygnYnVnLjYyOTc2JykpOwogICAgfQp9CgpjbGFzcyBDYWxsYWJsZUNsYXNzCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2ludm9rZSgpCiAgICB7CiAgICB9Cn0KCmNsYXNzIFRlc3RFdmVudExpc3RlbmVyCnsKICAgIHB1YmxpYyAkcHJlRm9vSW52b2tlZCA9IGZhbHNlOwogICAgcHVibGljICRwb3N0Rm9vSW52b2tlZCA9IGZhbHNlOwoKICAgIC8qIExpc3RlbmVyIG1ldGhvZHMgKi8KCiAgICBwdWJsaWMgZnVuY3Rpb24gcHJlRm9vKEV2ZW50ICRlKQogICAgewogICAgICAgICR0aGlzLT5wcmVGb29JbnZva2VkID0gdHJ1ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcG9zdEZvbyhFdmVudCAkZSkKICAgIHsKICAgICAgICAkdGhpcy0+cG9zdEZvb0ludm9rZWQgPSB0cnVlOwoKICAgICAgICAkZS0+c3RvcFByb3BhZ2F0aW9uKCk7CiAgICB9Cn0KCmNsYXNzIFRlc3RXaXRoRGlzcGF0Y2hlcgp7CiAgICBwdWJsaWMgJG5hbWU7CiAgICBwdWJsaWMgJGRpc3BhdGNoZXI7CgogICAgcHVibGljIGZ1bmN0aW9uIGZvbyhFdmVudCAkZSwgJG5hbWUsICRkaXNwYXRjaGVyKQogICAgewogICAgICAgICR0aGlzLT5uYW1lID0gJG5hbWU7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXIgPSAkZGlzcGF0Y2hlcjsKICAgIH0KfQoKY2xhc3MgVGVzdEV2ZW50U3Vic2NyaWJlciBpbXBsZW1lbnRzIEV2ZW50U3Vic2NyaWJlckludGVyZmFjZQp7CiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFN1YnNjcmliZWRFdmVudHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgncHJlLmZvbycgPT4gJ3ByZUZvbycsICdwb3N0LmZvbycgPT4gJ3Bvc3RGb28nKTsKICAgIH0KfQoKY2xhc3MgVGVzdEV2ZW50U3Vic2NyaWJlcldpdGhQcmlvcml0aWVzIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAncHJlLmZvbycgPT4gYXJyYXkoJ3ByZUZvbycsIDEwKSwKICAgICAgICAgICAgJ3Bvc3QuZm9vJyA9PiBhcnJheSgncG9zdEZvbycpLAogICAgICAgICAgICApOwogICAgfQp9CgpjbGFzcyBUZXN0RXZlbnRTdWJzY3JpYmVyV2l0aE11bHRpcGxlTGlzdGVuZXJzIGltcGxlbWVudHMgRXZlbnRTdWJzY3JpYmVySW50ZXJmYWNlCnsKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZEV2ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KCdwcmUuZm9vJyA9PiBhcnJheSgKICAgICAgICAgICAgYXJyYXkoJ3ByZUZvbzEnKSwKICAgICAgICAgICAgYXJyYXkoJ3ByZUZvbzInLCAxMCkKICAgICAgICApKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBTeW1mb255IHBhY2thZ2UuCiAqCiAqIChjKSBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKi8KCm5hbWVzcGFjZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcVGVzdHM7Cgp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50Owp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50RGlzcGF0Y2hlcjsKCi8qKgogKiBUZXN0IGNsYXNzIGZvciBFdmVudC4KICovCmNsYXNzIEV2ZW50VGVzdCBleHRlbmRzIFxQSFBVbml0X0ZyYW1ld29ya19UZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEB2YXIgXFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudAogICAgICovCiAgICBwcm90ZWN0ZWQgJGV2ZW50OwoKICAgIC8qKgogICAgICogQHZhciBcU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50RGlzcGF0Y2hlcgogICAgICovCiAgICBwcm90ZWN0ZWQgJGRpc3BhdGNoZXI7CgogICAgLyoqCiAgICAgKiBTZXRzIHVwIHRoZSBmaXh0dXJlLCBmb3IgZXhhbXBsZSwgb3BlbnMgYSBuZXR3b3JrIGNvbm5lY3Rpb24uCiAgICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYmVmb3JlIGEgdGVzdCBpcyBleGVjdXRlZC4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNldFVwKCkKICAgIHsKICAgICAgICAkdGhpcy0+ZXZlbnQgPSBuZXcgRXZlbnQoKTsKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlciA9IG5ldyBFdmVudERpc3BhdGNoZXIoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFRlYXJzIGRvd24gdGhlIGZpeHR1cmUsIGZvciBleGFtcGxlLCBjbG9zZXMgYSBuZXR3b3JrIGNvbm5lY3Rpb24uCiAgICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYWZ0ZXIgYSB0ZXN0IGlzIGV4ZWN1dGVkLgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdGVhckRvd24oKQogICAgewogICAgICAgICR0aGlzLT5ldmVudCA9IG51bGw7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXIgPSBudWxsOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SXNQcm9wYWdhdGlvblN0b3BwZWQoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+ZXZlbnQtPmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0U3RvcFByb3BhZ2F0aW9uQW5kSXNQcm9wYWdhdGlvblN0b3BwZWQoKQogICAgewogICAgICAgICR0aGlzLT5ldmVudC0+c3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHRoaXMtPmV2ZW50LT5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNldERpc3BhdGNoZXIoKQogICAgewogICAgICAgICR0aGlzLT5ldmVudC0+c2V0RGlzcGF0Y2hlcigkdGhpcy0+ZGlzcGF0Y2hlcik7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHRoaXMtPmRpc3BhdGNoZXIsICR0aGlzLT5ldmVudC0+Z2V0RGlzcGF0Y2hlcigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldERpc3BhdGNoZXIoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCR0aGlzLT5ldmVudC0+Z2V0RGlzcGF0Y2hlcigpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldE5hbWUoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCR0aGlzLT5ldmVudC0+Z2V0TmFtZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNldE5hbWUoKQogICAgewogICAgICAgICR0aGlzLT5ldmVudC0+c2V0TmFtZSgnZm9vJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnZm9vJywgJHRoaXMtPmV2ZW50LT5nZXROYW1lKCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBTeW1mb255IHBhY2thZ2UuCiAqCiAqIChjKSBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKi8KCm5hbWVzcGFjZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcVGVzdHM7Cgp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEdlbmVyaWNFdmVudDsKCi8qKgogKiBUZXN0IGNsYXNzIGZvciBFdmVudC4KICovCmNsYXNzIEdlbmVyaWNFdmVudFRlc3QgZXh0ZW5kcyBcUEhQVW5pdF9GcmFtZXdvcmtfVGVzdENhc2UKewoKICAgIC8qKgogICAgICogQHZhciBHZW5lcmljRXZlbnQKICAgICAqLwogICAgcHJpdmF0ZSAkZXZlbnQ7CgogICAgcHJpdmF0ZSAkc3ViamVjdDsKCiAgICAvKioKICAgICAqIFByZXBhcmVzIHRoZSBlbnZpcm9ubWVudCBiZWZvcmUgcnVubmluZyBhIHRlc3QuCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgcGFyZW50OjpzZXRVcCgpOwoKICAgICAgICAkdGhpcy0+c3ViamVjdCA9IG5ldyBcc3RkQ2xhc3MoKTsKICAgICAgICAkdGhpcy0+ZXZlbnQgPSBuZXcgR2VuZXJpY0V2ZW50KCR0aGlzLT5zdWJqZWN0LCBhcnJheSgnbmFtZScgPT4gJ0V2ZW50JyksICdmb28nKTsKICAgIH0KCiAgICAvKioKICAgICAqIENsZWFucyB1cCB0aGUgZW52aXJvbm1lbnQgYWZ0ZXIgcnVubmluZyBhIHRlc3QuCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiB0ZWFyRG93bigpCiAgICB7CiAgICAgICAgJHRoaXMtPnN1YmplY3QgPSBudWxsOwogICAgICAgICR0aGlzLT5ldmVudCA9IG51bGw7CgogICAgICAgIHBhcmVudDo6dGVhckRvd24oKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdENvbnN0cnVjdCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygkdGhpcy0+ZXZlbnQsIG5ldyBHZW5lcmljRXZlbnQoJHRoaXMtPnN1YmplY3QsIGFycmF5KCduYW1lJyA9PiAnRXZlbnQnKSkpOwogICAgfQoKICAgIC8qKgogICAgICogVGVzdHMgRXZlbnQtPmdldEFyZ3MoKQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldEFyZ3VtZW50cygpCiAgICB7CiAgICAgICAgLy8gdGVzdCBnZXR0aW5nIGFsbAogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKGFycmF5KCduYW1lJyA9PiAnRXZlbnQnKSwgJHRoaXMtPmV2ZW50LT5nZXRBcmd1bWVudHMoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RTZXRBcmd1bWVudHMoKQogICAgewogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+ZXZlbnQtPnNldEFyZ3VtZW50cyhhcnJheSgnZm9vJyA9PiAnYmFyJykpOwogICAgICAgICR0aGlzLT5hc3NlcnRBdHRyaWJ1dGVTYW1lKGFycmF5KCdmb28nID0+ICdiYXInKSwgJ2FyZ3VtZW50cycsICR0aGlzLT5ldmVudCk7CiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJHRoaXMtPmV2ZW50LCAkcmVzdWx0KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdFNldEFyZ3VtZW50KCkKICAgIHsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmV2ZW50LT5zZXRBcmd1bWVudCgnZm9vMicsICdiYXIyJyk7CiAgICAgICAgJHRoaXMtPmFzc2VydEF0dHJpYnV0ZVNhbWUoYXJyYXkoJ25hbWUnID0+ICdFdmVudCcsICdmb28yJyA9PiAnYmFyMicpLCAnYXJndW1lbnRzJywgJHRoaXMtPmV2ZW50KTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCR0aGlzLT5ldmVudCwgJHJlc3VsdCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RHZXRBcmd1bWVudCgpCiAgICB7CiAgICAgICAgLy8gdGVzdCBnZXR0aW5nIGtleQogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0V2ZW50JywgJHRoaXMtPmV2ZW50LT5nZXRBcmd1bWVudCgnbmFtZScpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBleHBlY3RlZEV4Y2VwdGlvbiBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0R2V0QXJnRXhjZXB0aW9uKCkKICAgIHsKICAgICAgICAkdGhpcy0+ZXZlbnQtPmdldEFyZ3VtZW50KCduYW1lTm90RXhpc3QnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE9mZnNldEdldCgpCiAgICB7CiAgICAgICAgLy8gdGVzdCBnZXR0aW5nIGtleQogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJ0V2ZW50JywgJHRoaXMtPmV2ZW50WyduYW1lJ10pOwoKICAgICAgICAvLyB0ZXN0IGdldHRpbmcgaW52YWxpZCBhcmcKICAgICAgICAkdGhpcy0+c2V0RXhwZWN0ZWRFeGNlcHRpb24oJ0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicpOwogICAgICAgICR0aGlzLT5hc3NlcnRGYWxzZSgkdGhpcy0+ZXZlbnRbJ25hbWVOb3RFeGlzdCddKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE9mZnNldFNldCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmV2ZW50Wydmb28yJ10gPSAnYmFyMic7CiAgICAgICAgJHRoaXMtPmFzc2VydEF0dHJpYnV0ZVNhbWUoYXJyYXkoJ25hbWUnID0+ICdFdmVudCcsICdmb28yJyA9PiAnYmFyMicpLCAnYXJndW1lbnRzJywgJHRoaXMtPmV2ZW50KTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdE9mZnNldFVuc2V0KCkKICAgIHsKICAgICAgICB1bnNldCgkdGhpcy0+ZXZlbnRbJ25hbWUnXSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEF0dHJpYnV0ZVNhbWUoYXJyYXkoKSwgJ2FyZ3VtZW50cycsICR0aGlzLT5ldmVudCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RPZmZzZXRJc3NldCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoaXNzZXQoJHRoaXMtPmV2ZW50WyduYW1lJ10pKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0RmFsc2UoaXNzZXQoJHRoaXMtPmV2ZW50WyduYW1lTm90RXhpc3QnXSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzQXJndW1lbnQoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRUcnVlKCR0aGlzLT5ldmVudC0+aGFzQXJndW1lbnQoJ25hbWUnKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydEZhbHNlKCR0aGlzLT5ldmVudC0+aGFzQXJndW1lbnQoJ25hbWVOb3RFeGlzdCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldFN1YmplY3QoKQogICAgewogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCR0aGlzLT5zdWJqZWN0LCAkdGhpcy0+ZXZlbnQtPmdldFN1YmplY3QoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RIYXNJdGVyYXRvcigpCiAgICB7CiAgICAgICAgJGRhdGEgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5ldmVudCBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICAkZGF0YVska2V5XSA9ICR2YWx1ZTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscyhhcnJheSgnbmFtZScgPT4gJ0V2ZW50JyksICRkYXRhKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBTeW1mb255IHBhY2thZ2UuCiAqCiAqIChjKSBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqCiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFCiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgogKi8KCm5hbWVzcGFjZSBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcVGVzdHM7Cgp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50Owp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEltbXV0YWJsZUV2ZW50RGlzcGF0Y2hlcjsKCi8qKgogKiBAYXV0aG9yIEJlcm5oYXJkIFNjaHVzc2VrIDxic2NodXNzZWtAZ21haWwuY29tPgogKi8KY2xhc3MgSW1tdXRhYmxlRXZlbnREaXNwYXRjaGVyVGVzdCBleHRlbmRzIFxQSFBVbml0X0ZyYW1ld29ya19UZXN0Q2FzZQp7CiAgICAvKioKICAgICAqIEB2YXIgXFBIUFVuaXRfRnJhbWV3b3JrX01vY2tPYmplY3RfTW9ja09iamVjdAogICAgICovCiAgICBwcml2YXRlICRpbm5lckRpc3BhdGNoZXI7CgogICAgLyoqCiAgICAgKiBAdmFyIEltbXV0YWJsZUV2ZW50RGlzcGF0Y2hlcgogICAgICovCiAgICBwcml2YXRlICRkaXNwYXRjaGVyOwoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzZXRVcCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmlubmVyRGlzcGF0Y2hlciA9ICR0aGlzLT5nZXRNb2NrKCdTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnREaXNwYXRjaGVySW50ZXJmYWNlJyk7CiAgICAgICAgJHRoaXMtPmRpc3BhdGNoZXIgPSBuZXcgSW1tdXRhYmxlRXZlbnREaXNwYXRjaGVyKCR0aGlzLT5pbm5lckRpc3BhdGNoZXIpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0RGlzcGF0Y2hEZWxlZ2F0ZXMoKQogICAgewogICAgICAgICRldmVudCA9IG5ldyBFdmVudCgpOwoKICAgICAgICAkdGhpcy0+aW5uZXJEaXNwYXRjaGVyLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdkaXNwYXRjaCcpCiAgICAgICAgICAgIC0+d2l0aCgnZXZlbnQnLCAkZXZlbnQpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJ3Jlc3VsdCcpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJ3Jlc3VsdCcsICR0aGlzLT5kaXNwYXRjaGVyLT5kaXNwYXRjaCgnZXZlbnQnLCAkZXZlbnQpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEdldExpc3RlbmVyc0RlbGVnYXRlcygpCiAgICB7CiAgICAgICAgJHRoaXMtPmlubmVyRGlzcGF0Y2hlci0+ZXhwZWN0cygkdGhpcy0+b25jZSgpKQogICAgICAgICAgICAtPm1ldGhvZCgnZ2V0TGlzdGVuZXJzJykKICAgICAgICAgICAgLT53aXRoKCdldmVudCcpCiAgICAgICAgICAgIC0+d2lsbCgkdGhpcy0+cmV0dXJuVmFsdWUoJ3Jlc3VsdCcpKTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJ3Jlc3VsdCcsICR0aGlzLT5kaXNwYXRjaGVyLT5nZXRMaXN0ZW5lcnMoJ2V2ZW50JykpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SGFzTGlzdGVuZXJzRGVsZWdhdGVzKCkKICAgIHsKICAgICAgICAkdGhpcy0+aW5uZXJEaXNwYXRjaGVyLT5leHBlY3RzKCR0aGlzLT5vbmNlKCkpCiAgICAgICAgICAgIC0+bWV0aG9kKCdoYXNMaXN0ZW5lcnMnKQogICAgICAgICAgICAtPndpdGgoJ2V2ZW50JykKICAgICAgICAgICAgLT53aWxsKCR0aGlzLT5yZXR1cm5WYWx1ZSgncmVzdWx0JykpOwoKICAgICAgICAkdGhpcy0+YXNzZXJ0U2FtZSgncmVzdWx0JywgJHRoaXMtPmRpc3BhdGNoZXItPmhhc0xpc3RlbmVycygnZXZlbnQnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEJhZE1ldGhvZENhbGxFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRMaXN0ZW5lckRpc2FsbG93ZWQoKQogICAgewogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5hZGRMaXN0ZW5lcignZXZlbnQnLCBmdW5jdGlvbiAoKSB7IHJldHVybiAnZm9vJzsgfSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEJhZE1ldGhvZENhbGxFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RBZGRTdWJzY3JpYmVyRGlzYWxsb3dlZCgpCiAgICB7CiAgICAgICAgJHN1YnNjcmliZXIgPSAkdGhpcy0+Z2V0TW9jaygnU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50U3Vic2NyaWJlckludGVyZmFjZScpOwoKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+YWRkU3Vic2NyaWJlcigkc3Vic2NyaWJlcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEJhZE1ldGhvZENhbGxFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZW1vdmVMaXN0ZW5lckRpc2FsbG93ZWQoKQogICAgewogICAgICAgICR0aGlzLT5kaXNwYXRjaGVyLT5yZW1vdmVMaXN0ZW5lcignZXZlbnQnLCBmdW5jdGlvbiAoKSB7IHJldHVybiAnZm9vJzsgfSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZXhwZWN0ZWRFeGNlcHRpb24gXEJhZE1ldGhvZENhbGxFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZW1vdmVTdWJzY3JpYmVyRGlzYWxsb3dlZCgpCiAgICB7CiAgICAgICAgJHN1YnNjcmliZXIgPSAkdGhpcy0+Z2V0TW9jaygnU3ltZm9ueVxDb21wb25lbnRcRXZlbnREaXNwYXRjaGVyXEV2ZW50U3Vic2NyaWJlckludGVyZmFjZScpOwoKICAgICAgICAkdGhpcy0+ZGlzcGF0Y2hlci0+cmVtb3ZlU3Vic2NyaWJlcigkc3Vic2NyaWJlcik7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Y21zbXMtYXdzCj09PT09PT09PQoKQW1hem9uIFdlYiBTZXJ2aWNlcyBtb2R1bGUgcHJveHkgZm9yIENNUyBNYWRlIFNpbXBsZQo=]]></data>
	</file>
</module>
